Forum: Mikrocontroller und Digitale Elektronik PWM Frquenz


von Frank (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

habe mit dem 16-Bit Timer am Atmega88 ein PWM Signal erzeugt.

Folgende Einstellungen habe ich vorgenommen:

TCCR1A = (1<<COM1A1)|(1<<COM1A0)|(1<<WGM10);

TCCR1B = (1<<CS12) | (1 << WGM12);

Laut Datenblatt ist so der 8-Bit Fast-PWM Modus eingestellt mit einem 
Vorteiler von 256 eingestellt.

Nach dieser Formel aus dem Datenblatt für die Frequenz des PWM-Signals:

f_PWM = f_CLK /( N * (1+TOP)) = 1475600 / (256 * (1+255)) = 225

müsste das PWM Signal eine Frequenz vvon 225 Hz besitzen.

Jedoch besitzt das PWM Signal nach der Messung am Oszilloskop (siehe 
Anhang) ca. 900 Hz.

Woran könnte das liegen?

von remo (Gast)


Lesenswert?

1) du scheinst eine 0 bei F_clk vergessen zu haben,
   das betrifft aber wohl nur das Posting
2) Häng mal einen Piezopiepser an den PWM Ausgang und hör was rauskommt.
   200Hz sind auch mit wenig musischem Gehör deutlich von 900 zu 
unterscheiden und so weisst du schon mal, ob du richtig gemessen hast.
3) der Faktor zwischen erwartetem und gemessenem Ergebis ist genau 4
4) am Clk kanns also nicht liegen, denn mit 60Mhz arbeitet der AVR nicht 
mehr
5) Prüfe im Debugger mal die Timerregister nach, dort wird der Fehler 
vermutlich liegen.

ciao
Remo

von Frank (Gast)


Lesenswert?

Hallo remo, leider konnte ich auch mit dem Debugger keinen Fehler im 
Timer-Register feststellen.

Wenn ich einen Vorteiler von 64 verwendet hätte, würde die Frequenz ja 
passen. Jedoch ist laut Datenblatt ein vorteiler von 256 eingestellt.

Wo kann der Fehler noch liegen?


Gruß

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.