PWM Frequenz genau festlegen

Gast #966321
Hallo,

ich habe ein Problem bei der Festlegung der PWM Frequenz beim Mega168. 
Dieser ist auf 20MHz getaktet und ich kann somit nur zwischen 10kHz 
(Prescaler=8) und 78kHz (Prescaler=1) wählen. Wie könnte ich denn 20kHz 
festlegen ?

Grüße

Robert
PWM Frequenz genau festlegen wrote:
> ich habe ein Problem bei der Festlegung der PWM Frequenz beim Mega168.
> Dieser ist auf 20MHz getaktet und ich kann somit nur zwischen 10kHz
> (Prescaler=8) und 78kHz (Prescaler=1) wählen. Wie könnte ich denn 20kHz
> festlegen ?
Welchen Timer willst Du benutzen? Mit Timer 1 kannst Du auch andere 
Frequenzen einstellen, indem Du den TOP-Wert vorgibst. Mit Timer 0 geht 
tatsächlich bei 8-Bit-PWM nur 9,765 oder 78,125 kHz.
Gast
Der 8-Bit Timer zähle ja von 0 bis 255 und setzt bzw. löscht beim 
compare-wert den PWM Pin. Gibt es die Möglichkeit, die obere Grenze, 
also die 255 selber festzulegen ?
PWM Frequenz genau festlegen wrote:
> Der 8-Bit Timer
Aha! Warum nicht gleich?

> zähle ja von 0 bis 255 und setzt bzw. löscht beim
> compare-wert den PWM Pin. Gibt es die Möglichkeit, die obere Grenze,
> also die 255 selber festzulegen ?
Siehe oben: Mit einem 8-Bit-Timer geht es nicht.
Fabs wrote:
> Entweder in dem du im Interrupt das Zählregister vorbelegst (sozusagen
> manuell)
Dann wird's aber mit ner PWM ganz übel...

> oder du schaust dir mal die CompareMatch Modi an.
Richtig, der Mega168 hat ja auch zwei Compare-Einheiten am Timer 0. 
Damit kann man die Periodendauer vorgeben. Allerdings geht dabei die 
Auflösung erheblich den Bach runter. Für 20 kHz wäre das dann nur noch 
eine 7-Bit-PWM.
Johannes M. wrote:

>> zähle ja von 0 bis 255 und setzt bzw. löscht beim
>> compare-wert den PWM Pin. Gibt es die Möglichkeit, die obere Grenze,
>> also die 255 selber festzulegen ?
> Siehe oben: Mit einem 8-Bit-Timer geht es nicht.

Natürlich geht das, siehe Mode 5 und 7. Allerdings nur nach unten.

Antwort schreiben

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