Pwm Modes verständnis Problem

Gast #1706002
Diese schöne "Rampenzeichnung" gibt an, wie der Counter zählt.

- Sägezahn:
Einmal rauf und dann nach Overflow (bzw. TOP) fängt er wieder bei 0 an.

- Dreieck:
Einmal rauf bis TOP, dann wieder runter, usw.

Interessant ist dabei:
----------------------

Wann ein Wert, der in die CMP-Register geschrieben wird, von der Logik
übernommen wird. Beim PFC PWM wird das (glaub ich) bei BOTTOM (0x00) 
gemacht.
Bei anderen Modi sofort, was zu einer "Verzerrung" bzw. zu einem 
Phasensprung
führen kann, der bei einigen Anwendungen u.U. störend ist.

Dann gibt es noch die schönen Formeln, wie groß die PWM Frequenz und die 
Auflösung ist.

Und natürlich wie die TOP Value spezifiziert wird. Entweder der 
Maximalwert
0xFF oder 0xFFFF oder über ICRn-Register oder eines der CMP Register. Je 
nachdem welches Timer-Modul benutzt wird (8-Bit  16-Bit oder Timer 0  
Timer 2).
#1706007
Auch nicht anhand der Bilder im DB?

Im Fast-PWM-Mode wird der Zähler einfach ab 0 bis zum Höchstwert
gezählt.
Bis er den Vergleichswert erreicht hat, ist der Output-Pin an, danach
aus (oder umgekehrt, je nachdem ob man invertiert haben will oder 
nicht).
Weil der Wert nur in einer Richtung zählt, heiß es single slope.

Ändert man jetzt den Vergleichswert, dann bleibt eine Flanke stehen
(die aus dem Overflow resultiert, wenn der Zähler wieder bei 0 beginnt),
und die andere verschiebt sich (wegen des geänderten Vergleichswertes).
D.h. der Mittelpunkt zwischen zwei Flanken verschiebt sich auch etwas.
Damit ist das PWM-Signal nicht phasenrichtig.

Im phase correct mode dagegen hat man einen dual-slope Betrieb.
Dabei läuft der Zähler erst rauf, dann runter.
Jeweils beim Passieren des Vergleichswertes wird umgeschaltet.
Ändert man den Vergleichswert, geht die steigende Flanke nach vorn
und die fallende nach hinten, oder umgekehrt. Die Mitte
des PWM-Signals bleibt damit gleich -> phasenkorrekt.
(Außer bei dem einen Mal, wenn man nach dem Anstieg den Vergleichswert
ändert und er beim Abfallen den neuen Wert sieht).

Bilder siehe DB...
#1706022
PS: Noch zur Frequenz...
Weil bei single slope der Zähler nur in eine Richtung zählt,
bekommt man die doppelte Frequenz im Vergleich zu dual slope.
Daher Fast.

Bis hierher sind beide "frequency correct".
Das ändert sich, wenn man den TOP-Wert ändert.
Senkt man ihn, erhöht sich natürlich die Frequenz.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.