PWM mit 500 HZ am Timer 0

Gast #173173
Hallo kann mir mal jemand bitte Helfen. Ich habe versucht eine PWM mit
500 Hz zu erzeugen, jedoch erfolglos. Ich dachte mir bzw. so habe ich
es im Datenblatt verstanden:

prescale factor auf 64;
und TCNT0 auf 0x06; setzten.

==> kommt immer nur 250 Hz heraus;

Dann habe ich noch versucht, TCNT0 ständig neu zu setzten mit dem
output compare interrupt. ==> so geht es auch wenn man den Timer als
normal Timer verwendet also kein PWM aber das geht im PWM Modus nicht.

Kann mir jemand sagen wie das gehen könnte oder kann man das gar
nicht?? ==> gehen nur Frequenzen nach der Formel fclk/(N*510) ??

Besten Dank im Voraus

mfg mathias
Gast #173174
Also ich habe wirklich das Datenblatt gründlich gelesen, und es so
verstanden das man TCNT0 beispielsweise vorladen kann um eine PWM
Frequenz von zum Beispiel 500Hz erreichen zu können, aber es
funktioniert nicht ?

Weis es jemand ob man nur die Teiler verwenden kann oder ob man eine
variable andere Frequenz irgendwie einstellen kann??
Gast #173178
Hi,

so wie ich das sehe, macht Dein Programm schon was es soll, alle 2ms
(500Hz) wird Deine Routine aufgerufen - wenn Du jedoch Dein Port Pin
toggelst, sind es eff. 4ms (250Hz) - Du hast damit die Eigenschaften
eines Flip-Flop erfolgreich programmiert.

... und nicht vergessen den preload Wert immer wieder nachzuladen nach
jedem Interuptus ...

Viele Grüße
Olaf
Gast #173179
Um die Grundfrequenz der PWM zu ändern kann man IMHO nur die Vorteiler
oder die MCU Taktfrequenz verändern. Alle anderen Methoden wie
Registerinhalte ständig umändern sind irgendwie Murks.
Gast #173180
@Mathias & Andreas

Datenblatt lesen bildet!

Auf einem ATMega8 nehme man bspw. Timer 1 im Modus 14. Es kann sowohl
die Frequenz als auch die Pulsweite variiert werden. Nach einmaliger
Initialisierung läuft die PWM in Hardware.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.