PWM zu schnell (Modus 9, phasen- und frequenzkorrekt)

Gast #353002
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
Gast #353003
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

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.

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.