Forum: Mikrocontroller und Digitale Elektronik Fast-PWM Periodendauer


von max m. (htlelektroni)


Lesenswert?

hallo :)
bin gerade am lernen für eine wichtige prüfung..
wie ist das mit der periodendauer beim fast PWM-mode (Atmega644P, 
Timer2,8bit)
1.Frage : Kann ich die nur über den Prescaler einstellen?
2.Frage: Ist eine OCR Berechnung erforderlich, oder geht der von 0-255?

z.B.: Periodendauer=20ms  => Prescaler=1024
und wenn ich OCR=127 setze sollte es ja 2,5 V ausgeben oder?
Ich hoffe Ihr könnt mir weiterhelfen :)

von Karl H. (kbuchegg)


Lesenswert?

Nenad Radakovic schrieb:
> hallo :)
> bin gerade am lernen für eine wichtige prüfung..
> wie ist das mit der periodendauer beim fast PWM-mode (Atmega644P,
> Timer2,8bit)

Na ja.
Was macht denn eine Fast-PWM?

Der Timer zählt von 0 bis zum Top-Wert. Bei einigen Varianten der 
Fast-PWM ist der Top Wert fix eingestellt (255). Bei anderen Varianten 
hast du die Möglichkeit, selber einen Top WErt in einem Register 
vorzugeben.
Welche dieser Möglichkeiten in welchen Ausprägungen für einen 
spezifischen Timer zur Verfügung stehen, steht im Datenblatt.

Und weil es ein PWM Modus ist, kann man einen Pin an den Timer koppeln, 
so dass der Timer bei einer 0 im Timer-Register den Pin auf 1 setzt und 
bei Zählerübereinstimmung mit dem Compare Match Register den Pin wieder 
auf 0 zurückstellt.

That's it. Das ist Fast-PWM in 150 Worten oder weniger.

> 1.Frage : Kann ich die nur über den Prescaler einstellen?

Mit dem Prescaler stellst du ein, wie schnell der Timer im Vergleich zum 
CPU-Takt hochzählt. Mit dem Top-Wert kannst du steuern, wie weit er 'in 
einem PWM-Durchgang' zählt. Beides zusammen beeinflusst die Zykluszeit 
(wie lange es dauert, bis der Zähler einmal rum ist) in recht 
naheliegender Art und Weise.

> 2.Frage: Ist eine OCR Berechnung erforderlich, oder geht der von 0-255?

Sieh im Datenblatt nach, welchen Modus du genau benutzen willst.

>
> z.B.: Periodendauer=20ms  => Prescaler=1024
> und wenn ich OCR=127 setze sollte es ja 2,5 V ausgeben oder?

Bei einer PWM werden keine 2.5V ausgegeben.
Auch eine PWM erzeugt nichts anderes als Rechteckpulse, die zwischen 0V 
und Vcc (meistens 5V) hin und her schalten. Aber es steht dir natürlich 
frei, da hinten nach noch einen Tiefpass zu schalten, der dir die 
Rechteckpulse zu einer mehr oder weniger guten Gleichspannung 
verschleift.


FAQ: Timer

von lernender (Gast)


Lesenswert?

Warum wird das *Fast*-PWM genannt? Läuft doch nicht schneller als ? ... 
was eigentlich?

von Karl H. (kbuchegg)


Lesenswert?

lernender schrieb:
> Warum wird das *Fast*-PWM genannt? Läuft doch nicht schneller als ? ...
> was eigentlich?

Weil die anderen beiden PWM-Modi prinzipbedingt mit der Hälfte der 
Zykluszeit arbeiten.

von Falk B. (falk)


Lesenswert?

Weil sie doppelt so schnell ist wie die anderen Phase/Frequency Correct 
PWM Modi.

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.