Gast
#73968
Hi Experten, ich nutze am ATmega8 einen 32768Hz Uhrquarz und den Timer2 im asynchronen Modus. Der Prescaler ist auf 64 eingestellt und der Overflow Interrupt aktiviert. D.h. alle halbe Sekunde tritt der Interrupt auf. Soweit so gut, das funktioniert alles. Der ATmega8 ist die meiste Zeit im Sleep Modus, eg. Power Save Mode. Meine Frage: ist es normal das schon nach ca. 6 Stunden eine Gangabweichung von mehreren (>5) Sekunden auftritt ?? Dies passiert nämlich und das kuriose dabei ist das diese Gangabweichung im negativen liegt, d.h. die Uhr geht nach mehreren Stunden vor statt nach !! Ich dachte immer das die Uhrenquarze sehr genau seien. Nach meinen Berechnungen müsste mein 32768Hz Quarz ca. 17 Hertz schneller schwingen als er sollte. Laut Atmel Datenblatt werden ja keine externen Kondensatoren benötigt. Achso, Vcc = 3.2V. Ich frage da ich mir nicht sicher bin ob nun ich einen Fehler in Software oder Hardware gemacht habe oder ob das ein ganz normales Verhalten ist. Wenn das normal ist wären eure Vorschläge was man dagegen softwaretechnisch machen kann sehr willkommen. Eine Ausgleichsberechnung ist wohl logisch, interessanter für mich ist die Frage der effizienten und exakten Kalibrierung. Ich nutze den internen Clock des ATmega8. Sowas wie, warte 10 Jahre und errechne die Gangabweichung ist untauglich. Gruß Hagen PS: kommt mir nicht mit einem Oszilloskop, sowas habe ich nicht. PPS: ein Funkuhrmodul steht derzeit auch nicht zur Diskussion :)