Forum: Mikrocontroller und Digitale Elektronik A88 - wann PWM-Out gleich Null?


von DMC (Gast)


Lesenswert?

Hallo,

kann mir jemand auf die Sprünge helfen?

Wenn man beim Atmega88 ein PWM-Signal ausgibt (z.B. über OC0A), kann man 
den nichtinvertierenden und den invertierenden Modus benutzen.

Bei einem dieser Modi ist der kleinste mögliche Ausgabewert nicht 0, 
sondern 1, größter möglicher Ausgabewert ist 255 (also Ausgang 
durchgängig auf Vcc).

Bei dem anderen Modus ist zwar der kleinste mögliche Ausgabewert 0, der 
größte mögliche Ausgabewert ist in dem Fall aber nur 254.


Kann mir jemand sagen, bei welchem der beiden Modi der kleinste Wert 
gleich 0 ist?

von Falk B. (falk)


Lesenswert?

@ DMC (Gast)

>Kann mir jemand sagen, bei welchem der beiden Modi der kleinste Wert
>gleich 0 ist?

Phase (Frequency) correct PWM.

von DMC (Gast)


Lesenswert?

Danke für die schnelle Antwort!

Kann man es im fast PWM-Modus irgendwie hinbekommen, dass am OC0A-Pin 
die volle Vcc (also PWM mit 100%) rauskommt, wenn OCR0A auf 0 oder 255 
steht?

(der Controller-Takt liegt bei fest vorgegebenen 8 MHz, die PWM-Frequenz 
soll 31250Hz betragen (8MHz/256) - mit dem Phase Correct PWM-Mode komme 
ich hier also wohl nicht weiter)

von Falk B. (falk)


Lesenswert?

@ DMC (Gast)

>Kann man es im fast PWM-Modus irgendwie hinbekommen, dass am OC0A-Pin
>die volle Vcc (also PWM mit 100%) rauskommt, wenn OCR0A auf 0 oder 255
>steht?

Dann muss man den Fall 0 oder 255 (je noch Modus) gesondert behandeln, 
und die PWM ausschalten und das IO Pin normal auf LOW oder HIGH setzen.

von DMC (Gast)


Lesenswert?

Danke für die Antwort!

Wenn bei Fast PWM
COM0A1 = 1
COM0A0 = 0
und

OCR0A = 255;

dann messe ich mit dem Oszi am OC0A-Pin 100% PWM (also keine kleinen 
Spikes nach Masse oder so).

Das müsste dann meine Anforderungen von oben erfüllen.


Deine Idee mit PWM-Pin ausschalten und auf Hi setzen ist auch gut!

von Falk B. (falk)


Lesenswert?

@ DMC (Gast)

>Wenn bei Fast PWM
>COM0A1 = 1
>COM0A0 = 0
>und

>OCR0A = 255;

>dann messe ich mit dem Oszi am OC0A-Pin 100% PWM (also keine kleinen
>Spikes nach Masse oder so).

UNd was ist bei OCR0A = 0 ?

von DMC (Gast)


Lesenswert?

Falk Brunner schrieb:
> UNd was ist bei OCR0A = 0 ?

Da führt der Ausgangs-Pin 0,39%ige PWM (also 100%/256).

Das ist aber völlig ok, weil ich nie Werte unter 20 in OCR0A eingebe.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.