Forum: Mikrocontroller und Digitale Elektronik PWM an ATmega16 @ 4MHz


von Meier (Gast)


Lesenswert?

Hallo,

ich möchte mit einem ATmega16 der mit 4MHz läuft den OC1A Ausgang nutzen 
um über ein 50% Tastverhältnis eine PWM zu erzeugen. Hab mir die Dinge 
dazu durchgelesen. Zunächst einmal - ist fast PWM das richtige?
Hier ein Auszug aus dem Tutorial:

    * Modus 5: 8 Bit Fast PWM - Der Timer zählt bis 255
    * Modus 6: 9 Bit Fast PWM - Der Timer zählt bis 511
    * Modus 7: 10 Bit Fast PWM - Der Timer zählt bis 1023
    * Modus 14: Fast PWM mit beliebiger Schrittzahl (festgelegt durch 
ICR1)
    * Modus 15: Fast PWM mit beliebiger Schrittzahl (festgelegt durch 
OCR1A)

Ein Verständnisproblem: Wozu gibt es den Mode 5,6,7 ? Dort kann man also 
nicht festlegen, wann der Pegel umschaltet? Aber genau das ist doch der 
Sinn einer PWM - einen Umschaltvorgang (bevorzugt Bottom=1, Userwert=0)

Viele Grüße
Meier

von Peter D. (pdiener) Benutzerseite


Lesenswert?

Was angegeben ist, sind die Werte, auf die der Timer nach Ablauf wieder 
aufgezogen wird, das hat nichts mit dem Comparewert zu tun. Bei den 
Modes 5,6,7 sind die Reloadwerte fest eingestellt, bei 14 und 15 durch 
Register auch während dem Betrieb veränderbar.

Für deine Anwendung ist Mode 14 sinnvoll, der Reloadwert kommt dann in 
ICR1 und der Comparewert z.B. in OCR1A, wobei der Comparewert dem halben 
Reloadwert entspricht, dann ergibt sich 50% Pulsweite.

Grüße,

Peter

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.