mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM mit 500 HZ am Timer 0


Autor: Mathias Giacomuzzi (Gast)
Datum:

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

Autor: mathias giacomuzzi (Gast)
Datum:

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

Autor: plitzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die verwendete Quarzfrequenz und der AVR-Typ wären vielleicht noch
interessant.

Jörg

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wofür gibt es die PWM-Modi?

- Damit man nicht nachträglich noch an den Zählregistern
rumkonfigurieren muss.

Autor: Mathias Giacomuzzi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ATmega8535 bzw. ATmega32 mit 8 oder 16 MHz

@ Alex versteh nich was du meinst?? ich will die Grundfrequenz der PWM
einstellen!!

Autor: ope (Gast)
Datum:

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

Autor: Andreas (Gast)
Datum:

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

Autor: Alex (Gast)
Datum:

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

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.