Hallo Forum Gemeinde,
es geht mir hier eher um allgemeines Verständnis meiner Beobachtung, Kritisch für mein Projekt ist die Abweichung nicht, jedoch möchte ich sie gern verstehen.
Ich habe einen Atmega8 mit einem externen Quarz (12.000Mhz) laufen, fusebits stehen auf external chrystal High frequenz. (001111 in Bascom) und im Programm steht auch $crystal = 12000000
Die Arbeitsfrequenz sollte noch auch bei 12.000'MHz liegen. (Schaltung steckt übrigens noch auf experemtierboard).
Ich habe 2 pwms laufen, beide auf Timer 1, pwm = 8 und prescale = 1
Die frequenz sollte sich ergeben aus der Taktfrequenz geteilt durch prescale und geteilt durch die bittiefe * 2
f = (12000000/1) / (256*2)
Ergibt also eine theoretische Pwm Frequenz von 23,437 KHz.
An meinem Oszi zähle ich aber 12 Perioden in 9,4 cm bei 50 mikrosekunden (bei beiden pwm Ausgängen selbes Ergebnis)
Ich rechne nun T = 9,4 * 50 und f = 12/T
Ich komme also tatsächlich auf 25,531 kHz, das ist eine Abweichung von immerhin 2,1 kHz.
Wo liegt der Fehler ?
Wenn in der Theorie meine Berechnungen korrekt sind würd dies bedeuten das mein Atmega tatsächlich mit rund 13.072 MHz liefe anstatt mit 12.000 um die gemessene frequenz zu erzeugen, das kann aber kaum stimmen oder?
Hat schonmal jemand ähnlich Beobachtungen gemacht oder habe ich unterwegs einen Fehler gemacht?
MfG Stefan
Lesezeichen