mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM Frequenz genau festlegen


Autor: PWM Frequenz genau festlegen (Gast)
Datum:

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

Autor: 3374 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Prescaler ist eine Sache, der Zaehler eine andere. Schau die den 
Zaehler nochmals an.

Autor: Johannes M. (johnny-m)
Datum:

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

Autor: PWM Frequenz genau festlegen (Gast)
Datum:

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

Autor: Johannes M. (johnny-m)
Datum:

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

Autor: Fabs (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entweder in dem du im Interrupt das Zählregister vorbelegst (sozusagen 
manuell) oder du schaust dir mal die CompareMatch Modi an.

Gruß
Fabian

Autor: Johannes M. (johnny-m)
Datum:

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

Autor: Benedikt K. (benedikt) (Moderator)
Datum:

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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benedikt K. wrote:
> Natürlich geht das, siehe Mode 5 und 7. Allerdings nur nach unten.
Siehe mein Posting von 11:20...

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.