Forum: Mikrocontroller und Digitale Elektronik Quarzabgleich direkt oder in externer RTC


von Egon Lange (Gast)


Lesenswert?

Hallo,
für ein Funkuhrprojekt benötige ich Schaltvorgänge sekundengenau, jedoch 
nur etwa 4-10 Mal pro 24 Stunden. Ich habe also ~ 4 Zeiten, zu denen 
sekundengenau eine kurze Funktion abgearbeitet werden soll. 
DCF77-Abgleich 1x pro Tag.

Meine Testfunkuhr ist mit einem 32,768 kHz Uhrenquarz aufgebaut und die 
ISR wird einige Male pro Sekunde aufgerufen, damit ich nach x Ticks den 
ermittelten Quarzfehler kompensieren kann (ich kompensiere so, dass sich 
kein merkbarer Fehler anhäuft, bis ich einen Korrekturtick ausführe).

Jetzt soll das Ganze im Akkubetrieb laufen, und der sleep-Modus benutzt 
werden. Mit meinem bisherigen Konzept müsste ich den AVR etwa bis zu 10 
Mal pro Sekunde schlafen legen und wieder aufwecken. Wären da 
irgendwelche Hardwareschäden zu erwarten, oder kann man das so machen? 
Sorry für die vielleicht doofe Frage, aber bisher habe ich den 
sleep-Modus nicht ernsthaft angewendet, und vergleiche es vermutlich 
fälschlicherweise mit elektrischen Ein- und Ausschaltvorgängen oder dem 
Standby beim PC......

Ich habe auch schon viel von externen RTCs gelesen. Ist es möglich, 
darin den bekannten Quarzfehler zu hinterlegen, oder muss dann auch in 
meinem AVR kompensiert werden?

von Wolfgang (Gast)


Lesenswert?

Egon Lange schrieb:
> Wären da irgendwelche Hardwareschäden zu erwarten, oder kann man das
> so machen?

Kann man. Hardwareschäden gibt es, wenn du über längere Zeit 10-mal pro 
Sekunde den Korrekturwert in die selbe EEPROM-Zelle schreibst.

von Noch einer (Gast)


Lesenswert?

Natürlich kannst du den Sleep-Modus so aufrufen wie du willst. 
Normalerweise setzt man ein Sleep ans Ende der Hauptschleife, macht den 
nächsten Schleifendurchlauf erst nach einem Interrupt.

von Jakob (Gast)


Lesenswert?

Den Sleep-Mode (wenn du dabei nicht jedesmal was ins EEPROM
schreibst) kannst du so oft aufrufen, wie du willst, damit
kriegst du keinen AVR kaputt!

Wie willst du 4...10 mal pro Sekunde einen Quarz auf DCF
abgleichen?

Der übliche DCF-Empfang ist bei der Polling-Methode auf
100 ms genau.

Das ergibt über eine Stunde 0,1 s / 3600 s = 28 ppm,
also die Genauigkeit eines nicht (!) abgeglichenen Quarzes.
Ein Vergleich in kürzeren Abständen bring schon mal garnix!
Damit hat man pro Tag 2,4 s Unsicherheit.

Vergleicht man DCF und Quarz jeweils nach der täglichen
DCF-Synchronisierung, hat man schon eine 1,15 ppm genaue
Fehlerbestimmung und kann den Quarz viel exakter abgleichen.

Erst damit bekommt man die RTC auf 0,1 s Fehler pro Tag.

von Egon Lange (Gast)


Lesenswert?

Jakob schrieb:
> Wie willst du 4...10 mal pro Sekunde einen Quarz auf DCF
> abgleichen?

gar nicht. Ich meinte, dass ich den bekannten (!) Quarzfehler 
berücksichtigen möchte. Ich könnte x sekunden abwarten und dann +/- 1 
Sekunde kompensieren. Dann hätte ich aber den Fehler immer bis zu 1 
Sekunde aufsummiert, bevor er wieder auf 0 geht. Ich will also häufiger 
kompensieren. Deshalb will ich bspw. 4 Ticks pro Sekunde und nach x 
Ticks dann +/- 1 Tick addieren. Hätte dann also nur 0,25 Sekunden 
maximale Abweichung.

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.