Minimální střída PWM u ATtiny13A

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
JirkaZ
Moderátor
Moderátor
Příspěvky: 1429
Registrován: 26 úno 2021, 01:00

Minimální střída PWM u ATtiny13A

#1 Příspěvek od JirkaZ »

Zdravím přítomné,

navazuji na svůj příspěvek na http://www.ebastlirna.cz/modules.php?na ... ic&t=97862 a přidávám jedno zjištění, resp. dotaz:

ani při nulovém napětí na vstupu ADC není střída PWM na výstupu ATtiny13A nulová, ale zůstávají tam jakési dost nepravidelné jehly. Čili ani ss napětí za RC dolní propustí není pak zcela nulové...

Je to vlastnost tohoto způsobu generování PWM, nebo něco jiného? Jinými slovy: umí PWM generovaná pomocí timeru v ATtiny13A střídu 0 až 100%?

Díky za vysvětlení, popř. návrh úpravy kódu v původním příspěvku.

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#2 Příspěvek od lesana87 »

S Fast PWM nejde generovat 0-100%. Buď nejde 0% u normální PWM, je tam úzká jehla, nebo nejde 100% u invertované PWM, je tam zoubek. 0-100% umí Phase Correct PWM.

Uživatelský avatar
JirkaZ
Moderátor
Moderátor
Příspěvky: 1429
Registrován: 26 úno 2021, 01:00

#3 Příspěvek od JirkaZ »

lesana87 píše:S Fast PWM nejde generovat 0-100%. Buď nejde 0% u normální PWM, je tam úzká jehla, nebo nejde 100% u invertované PWM, je tam zoubek. 0-100% umí Phase Correct PWM.
Aha, díky... Čili jinak nastavit definiční registr? Stačí to, nebo je třeba něco víc?

Teď mi to funguje na více než 35 kHz výstupní frekvence (díky příslušnému nastavení prescaleru). Bude to možné i s Phase Correct PWM?

Uživatelský avatar
lesana87
Příspěvky: 3296
Registrován: 20 zář 2014, 02:00

#4 Příspěvek od lesana87 »

S Phase Correct PWM je frekvence poloviční oproti Fast PWM.

Uživatelský avatar
JirkaZ
Moderátor
Moderátor
Příspěvky: 1429
Registrován: 26 úno 2021, 01:00

#5 Příspěvek od JirkaZ »

lesana87 píše:S Phase Correct PWM je frekvence poloviční oproti Fast PWM.
To by stačilo...

Tedy mám pouze změnit typ PWM a prescaler nechat, jak je?

Uživatelský avatar
JirkaZ
Moderátor
Moderátor
Příspěvky: 1429
Registrován: 26 úno 2021, 01:00

#6 Příspěvek od JirkaZ »

JirkaZ píše:
lesana87 píše:S Phase Correct PWM je frekvence poloviční oproti Fast PWM.
To by stačilo...

Tedy mám pouze změnit typ PWM a prescaler nechat, jak je?
Odpovím si sám, neodolal jsem a vyzkoušel to ;-) :

ano, stačí pouze změnit typ PWM na phase correct (konkrétně typ 1 podle DS, neboli WGM02 = 0 (default/není třeba nastavovat), WGM01 = 0 (default/není třeba nastavovat), WGM00 = 1 (je třeba nastavit)).

Výsledná frekvence PWM při prescaleru nastaveném na 1 (tedy nedělí) a fclk 9,6 MHz je pak cca 18 kHz a střídu je možné nastavit mezi 0 až 100%.

Díky za expresní pomoc. Upravím v tomto smyslu ještě kód v původním příspěvku, třeba to někomu pomůže...

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“