RTC mit ATMega8

Gast #73968
Lesenswert?

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 :)
Gast #73969
Lesenswert?

Schalte auf jeden Fall die internen Kondensatoren ein, das steht auch im
Datenblatt so drin.
Ich hab mit meinem Quarz 4 Sekunden Abweichung pro Tag, was auch mein
Frequenzzähler bestätigt.
Gast #73970
Lesenswert?

Hi Fritz,

lange gesucht im Datenblatt, schlußendlich an einer Stelle gefunden wo
ich nie gesucht hätte (den Fuses :), und gleich aktiviert. Ich hatte
somit den Uhrquarz ohne Kondensatoren betrieben. Nun auf zum nächsten
Testlauf.

Danke nochmal für diese schnelle Antwort.

Für alle die's auch nicht wussten, die CKOPT Fuse aktiviert diese
internen Kondensatoren an TOSC1/TOSC2.

Wenn aber bei dir ebenfalls pro Tag 4 Sekunden falsch gehen benötige
ich trotzdem eine Kalibrierung und Ausgleichsberechnung :(

Gruß Hagen
Gast #73971
Lesenswert?

Hallo Hagen.
Wenn dus genau haben willst nimm doch ein Temperatur-kompensierten
Oszillator statt eines reinen Quarzes. Von Dallas gibs einen mit ner
Abweichung von 1 Minute / Jahr. Softwarekompensation dürfte schwierig
sein, da die Abweichungen stark von der Temperatur abhängen dürften und
nicht konstant sind. Also müsstest du die Temperatur messen und die
Temp-Abhängigkeit kennen und so den Fehler errechnen. (Siehe auch
Datenblatt)

Mfg Moritz
Angehängte Dateien:
Gast #73972
Lesenswert?

Hm, in dem Fall kann ich ja gleich ein Funkuhrmodul einbauen oder einen
RTC Chip das bringt mir dann mehr. Aber genau auf all diese extra
Hardware will ich im ersten Schritt verzichten.

Mal schauen wie groß jetzt die Abweichung wird. Da meine Clock eh nicht
die Sekunden anzeigt, und diese eher irrelevant sind, könnte ich mit
einer täglichen Synchronisation erstmal leben.

Später wird es wohl ein Funkuhrmodul geben, da es eben den Vorteil hat
die Uhrzeit immer selber korrekt zu halten. Wobei hier schon wieder
ineressant ist welches Modul ihr mir denn empfehlen würdet. Es sollte
so klein wie möglich sein, besonders die Ferritantenne und mit 3.0-3.4
Volt laufen.

Gruß Hagen
Gast #73973
Lesenswert?

Man kann den Quarz auch mit einem Trimmkondensator nachziehen, wobei ich
noch keine Klarheit habe, welche Werte ich da brauche. Ich werd das
dann in den nächsten Tagen testen und berichten. Ich hab mir ja extra
dafür ein geniales und billiges Frequenznormal (1x10-10 Abweichung)
zugelegt.
Gast #73974
Lesenswert?

Wenn ich das alles richtig verstanden habe dann werde ich so oder so
immer Frequenzabweichungen haben, alleine schon wegen der
Temperaturschwankungen. Deshalb wäre es für mich als erstes am besten
wenn ich den Korrekturwert bei einer bestimmten Kalibrierungs-
Umgebungstemperatur ermitteln könnte. In meinem Schlafzimmer treten
normalerweise keine so großen Schwankungen auf, lebe ja nicht in der
Antarktis oder Sahara :) Dies sollte möglichst schnell gehen, höchstens
10-60 Minuten dauern.

Hat irgend jemand hier eine Idee wie man das machen könnte ??

Gruß Hagen

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren