www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM zu schnell (Modus 9, phasen- und frequenzkorrekt)


Autor: Dirk Wiebel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

bin gerade dabei, einen kleinen Frequenzgenerator auf Basis eines
Tiny2313 zu bauen. Überlegung war, PWM-Mode 9 (phase and frequency
correct mode) des Timers 1 zu nutzen. Dabei ist OCR1A mein TOP-Wert,
mit diesem kann ich also die Frequenz einstellen. OCR1B ist der
Vergleichswert, an dem OC1B umgeschaltet wird. Damit kann ich das
Tastverhältnis bestimmen. Hier die Initialisierung:

TCCR1A |= (1<<COM1B1)|(1<<WGM10);  // Mode9, Phasenkorrekt
TCCR1B |= (1<<WGM13)|(1<<CS11)|(1<<CS10);
                   // 1/1024, TOP=OCR1A, VERH.=OCR1A/OCR1B
freq=1; // 1Hz

OCR1A = (20000000/(2*(1024*freq))); // TOP-Wert, regelt Frequenz
OCR1B = (OCR1A/2);  // regelt Tastverhältnis, hier 1:1

Soweit klappt auch alles, aber mit meinem 20MHz-Quarz (1. Wert in der
Formel bei OCR1A) scheint mir das alles um den Faktor 10 zu schnell zu
laufen. Habe leider kein Oszi, die LED blinkt deutlich zu schnell.

Findet jemand meinen Denkfehler? Bin auch schon mehrmals vom
Schreibtisch aufgestanden, stehe aber immer noch auf der Leitung.


Sommer-Sonntagsgrüße,

Dirk

Autor: Dirk Wiebel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oerks, das war mal wieder ein Zahlendreher:

TCCR1B |= (1<<WGM13)|(1<<CS12)|(1<<CS10);

ist für 1/1024 richtig, ich hatte vorhin

TCCR1B |= (1<<WGM13)|(1<<CS11)|(1<<CS10);

also 1/64 gewählt.

Danke trotzdem an alle sich-den-Kopf-zerbrechenden...

Gruß,
Dirk

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.