www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik nochmal PWM erzeugung


Autor: Ingo Laabs (grobian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für die Erzeugung eines PWM Sigmals gibt es ja beim AVR mehrere 
Möglichkeiten
Der Phase Correct PWM Mode...
...wobei hier der Zähler immer wieder von 0 nach MAX und dann von MAX 
nach 0 zählt.

Im noninverting Compare Output mode, wird beim heraufzählen der Output 
Compare (OC) gelöscht, und beim herunterzählen wird Output Compare 
gesetzt. Ausschlaggebend ist der Vergleich (Compare-Match) zwischen 
TCNTn-Register (hier ist der aktuelle Zählerstand der Timers)  und 
OCRn-Register (hier kommt der PWM-Wert rein).

Im inverting Compare Output-Modus, wird der Vorgang umgekehrt, also beim 
heraufzählen wird das Output Compare (OC) bei Übereinstimmung von 
TCNTn-Register und OCRn-Register (Compare-Match) gesetzt und beim 
herunterzählen (beim Compare-Match) gelöscht.


...und der Fast PWM Mode

Hierbei zählt der Timer immer von Null an aufwärts, bis der Maximalwert 
erreicht ist. Danach fängt er wieder von vorne bei Null an.
Den gewünschten  PWM-Ausgangswert lege ich wieder im OCRn-Register ab.
Beim Compare-Match wird wieder der OC je nach Einstellung gelöscht oder 
gesetzt.

Welche Betriebsart nehme ich jetzt für die Erzeugung einer Wave am 
entsprechendem Ausgang.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast das Prinzip schon richtig verstanden, aber deine Frage macht 
keinen Sinn.

Es kommt auf den Anwendungszweck an, denn der Phase Correct mode 
erzeugte (wie der Name halt sagt) IMMER ein Phasenkorrektes Signal, 
AUCH, wenn man den PWM Wert ändert, ändert sich nicht der Phasenwinkel 
und somit ist die Frequenz dauerhaft konstant.

Beim Fast Mode hast du halt eine höhere Ausgangsfrequenz, aber bei jeder 
PWM Änderung hat man unter Umständen eine Periodendauer lang eine andere 
Frequenz am Ausgang oder sogar starke glitches/spikes.

Ich finde das im Datenblatt eigentlich recht gut erklärt. Muss man halt 
auch mal das Gehirn anschalten und darüber nachdenken ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.