mikrocontroller.net

Forum: Compiler & IDEs Pwm Modes verständnis Problem


Autor: sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
Habe ein Verständnis Problem!
Worin unterscheiden sich die Pwm Modes  Phase Correct, Phase and 
Frequency Correct und Fast PWM !
Ich werde von den Aussagen im DB nicht schlau!

Vielen Dank

Gruß

sepp

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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).

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Erklärung !!

Gruß
Sepp

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.