Verständnisfrage zur Änderung der PWM-Frequenz

Hallo an alle,

ich möchte gern wissen, warum sich die PWM-Spanne von 0-255 auf 0-511 bzw. auf 0-1023 vergrößert, wenn die PWW-Frequenz vergrößert wird.
Was passiert da bei der Programmierung bzw. Umsetzung?

Ich gestehe ich verstehe die Frage nicht so richtig.
Ich vermute Du woltest wissen wie sich die Spannung (Pulsweite) auf Grund der Programmierung ändert, oder ???

Wenn nicht wäre einer Neuformulierung Deiner Frage vielleicht hilfreich

Hallo syntec
Soweit ich weiß, ist das PWM-Signal immer 8 Bit-ig (also Werte vom 0 bis 255), unabhängig von der Frequenz.
Woher hast Du die Information, daß das nicht so ist?
Grüße Uwe

Er meint damit wohl den PWM-Art Fast PWM der AVR-Controller.

Siehe dieses Tutorial:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM#Fast_PWM

ja genau, das meinte ich @Webmeister
Also wird das vom Mega8 durch das Register vorgegeben. Wenn ich die PWM-Frequenz über einen Wert hochsetzte, der als Fast-PWM-Wert definiert ist, dann wird/muss zwangsläufig die Genauigkeit (Bit) geändert werden?

Hallo syntec und Webmeister

Ist FastPWM aber im IDE vom Arduino implementiert?
Ich glaube analogWrite() wird immer nur einen 8Bit-Wert akzeptieren.

Wenn man nicht die Programmierumgebung Arduino verwenden will, ist man frei von der Limitierung durch diese und kann so alle Möglichkeiten des Kontrollers ausschöpfen. Man muß dann aber sich genauer mit dem Kontroller auskennen.

Die Idee hinter Arduino ist ja eine Programmier-Umgebung zu schaffen um auch Nicht-Informatikern, Nicht- Elektronikern, Nicht-Technikern die Möglichkeit zu bietet, Projekte mit einem Kontroller zu verwirklichen, die sie ohne Arduino mit anderen Plattformen nicht könnten.

Grüße Uwe

Hallo Uwe,

ja das ist richtig, deswegen arbeite ich ja mit Arduino, damit ich einen Einstieg in die Materie habe... und ich möchte noch tiefer einsteigen, da es mir richtig Spaß macht :slight_smile:

In meinem derzeitgen Projekt benötige ich eine möglichst hohe PWM-Frequenz, damit ich ein möglichst gleichmäßiges Ausgangssignal erhalte. Beim Rumspielen mit meinem Mega habe ich festgestellt, dass ich eben das Register für den Zähler, der bis 255 bzw 1023 zählt auch anpassen muss, damit das Ausgangssignal richtig ausgegeben wird. In der Propierphase ohne das Register anzufassen hatte ich zwar eine höhere Frequenz (15,6 KHz) aber bei 0, 256 und 512 immer wieder 0 V am Ausgang...
Ich will jetzt nur verstehen, ob das Register geändert werden muss und wie das kommt, dass ich auf einmal aus 8Bit 10Bit am Pin7 habe. Weil dann könnte man da öfters zugreifen, denn besseres Ausgangssignal mit besserer Auflösung?! oder gibt es da einen Haken?

@uwefed

Das hast du natürlich recht.
Das Thema Umkonfiguration des PWM ist nur etwas für den erfahrenen Anwender, da hier direkt Register des ATmega angesprochen werden. Kenntnisse der AVR-Controller müssen hier natürlich vorhanden sein.

Mit den Boardmittels der IDE, also analogWrite() kann am PWM nichts verändert werden.

Ganz aufführlich wird diese fortgeschrittene Thema hier beschrieben:

Buchtip:
Ich kann das Buch "AVR Hardware und C-Programmierung in der Praxis" von F.Schäffler empfehlen, wenn man sich tiefer mit diesen Controllern beschäftigen will.

Also ich würde nicht in Tutorials oder Büchern schauen sondern zu allerest im Datenblatt. So schwierig ist das nicht. Und wer an der Quelle zapft wird in der Regel ungefilterte Erkenntnisse sammeln :wink: Davon abgesehen gibt's auch noch gute Erklärung bei mikrocontroller.net

http://www.mikrocontroller.net/articles/AVR-Tutorial:_PWM
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#PWM_.28Pulsweitenmodulation.29

Gruß, Udo