mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RTC mit ATMega8


Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Moritz -E- (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht so'n Frequenznormal aus und woher bekommt man sowas ?

Gruß Hagen

Autor: Fritz Ganter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.frequenznormal.de.vu/

Als Bausatz kostet der 35 Euronen. Man schliesst ihn an die
Scart-Buchse  am Fernseher an, und schaltet auf ZDF (man muss ja nicht
hinsehen).

Das Ding gibt nach ein paar Sekunden ein hochgenauses 1 und 10 MHz
Signal aus, damit kann man den Frequenzzähler kalibrieren.

Autor: Hagen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, jetzt läuft die Uhr seit 12 Stunden und hat scheinbar keine bis
jetzt sichtbaren Gandabweichungen mehr. Der Tipp mit der CKOPT Fuse war
goldrichtig, danke nochmal.

Gruß Hagen

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.