PWM

Hallo,

ich versuche herauszubekommen, mit welcher Frequenz das PWM-Signal arbeitet.

Ich finde bei den 8bit Ausgängen die Frequenz 490 Hz.
Wie kommt man da drauf?

Ich schließe extern eine 16 MHz an.

ich komme auf 62,5 kHz.
f= 16MHz / 8bit= 16 MHz/2^8 = 62,5 kHz

Steht dazu etwas im Datenblatt? Ich habe dies bereits mehrfach durchsucht, aber nichts hilfreiches gefunden. Über Hilfe würde ich mich freuen.
Danke

Schaue mal hier. Da bekommst du eine umfassende Antwort dazu.

Franz

Hallo Franz,

danke für den Link, leider finde ich auch da nicht woher nun bekannt ist, " dass die PWM Ausgänge bei Arduino standardmäßig mit 490Hz oder 980Hz laufen."

Könntest du mir das vielleicht noch etwas genauer erklären? Woher kenne ich die 490Hz? Sind die im Datenblatt zu finden, oder anderswo herzuleiten?

Du vergisst den Prescaler. Der Prozessortakt wird durch 64 geteilt.

16 MHz / 64 / 256 = 976 Hz

Timer0 läuft im Fast PWM Modus. Die anderen machen Phase Correct PWM, wodurch sie nur den halben Takt haben. Also 490 Hz. Der Unterschied wird hier erklärt:

Um die PWM Frequenz zu ändern muss man dann einfach nur den Prescaler ändern und kann weiterhin analogWrite() verwenden