Forum: Mikrocontroller und Digitale Elektronik Uhrenbaustein an LCD


von Peter D. (peda)


Lesenswert?

Wollte nur mal fragen obs jemand interessiert:

Ich hab jetzt mal den RTC-Baustein DS1994 an den TINY12 gehängt.

Bisher sieht es so aus, als ob der RTC 1s/Tag vorgeht.
Was habt Ihr denn so für Erfahrungen mit kompletten RTCs, d.h.  mit 
Quarz und Batterie mit im Gehäuse ?

Also der 1-Wire-Bus ist wirklich Klasse und super zuverlässig.


Das Umwandeln der 32-Bit in Uhrzeit und Datum habe ich folgendermaßen 
gelöst:

Ich lese nach dem Einschalten die 32Bit-Zahl aus und zähle sie einfach 
runter und gleichzeitig die Uhrenroutine hoch.
2098 dauert das dann etwa 2,5s, bis die richtige Zeit erscheint.

Danach lese ich nur noch das erste Byte aus und immer wenn es 1 Sekunde 
weiter ist, zählt die Uhrenroutine auch 1 Sekunde hoch.
Die Uhrenroutine mach auch die Sommerzeitumstellung.

Mit dem Stellen bin ich noch am Überlegen.
Bisher muß man die Startzeit im Source-File eintragen und dann wird sie 
beim 1. Einschalten in den RTC geladen und der RTC gestartet.


Wenn Interesse besteht, kann ich mir noch einige Erläuterungen aus den 
Fingern saugen und das Ganze dann in die Codesammlung stellen.


Peter

von Steffen (Gast)


Lesenswert?

Hey Peter,

hab den DS1302 für Warmduscher an meinem Atmel dran. Der geht aber schon 
ca. 1 Minute pro Tag nach. Ich denke mal ich muß mal an denn 
Kondensatoren was ändern. Quarz ist aber extern.

Gruß Steffen

von A. Arndt (Gast)


Lesenswert?

Hallo,

ich nutze den DS-1307 (I2C) mit automatisch zuschaltender 
Stützbatterien, leider geht auch sie nicht exakt, aber wenn man weiss, 
wieviele sie zu spät oder zu früh ist kann man das durch eine einfach 
Routine ausgleichen, z.B. wenn die Uhr 3 Sek. vorgeht, kann man sagen:

Wenn die Uhrzeit 23:12.40 dann Uhrzeit = 23:12.37 und weiter gehts.

Bastele gerade mit DCF-77 rum, ist ja einfach simple.... aber so ganz 
richtig auslesen haut noch nicht hin, aber wirklich sehr interessant und 
auch nicht teuer, eine echte Herauforderung, das selber zu erarbeiten, 
und dann soll meine RTC so alle 30 Min. sich abgleichen.

P.S.: Ein Bild der RTC-Baugruppe kann man unter www.artools.de sehen.

Gruss
A. Arndt

von Jens Gerdes (Gast)


Lesenswert?

Hallo Peter,

in meinem letzen Projekt habe ich die RTC8564 von Epson verwendet. 
Abweichung im Schnitt 2 Sekunden in 3 Tagen. Hier ist auch der Quarz 
integriert. Etwas genaueres, vor allem ohne Abgleich, habe ich leider 
noch nicht gefunden.
Zu Deinen 32 Bit:
Ich habe ein Projekt gehabt, das 32 Bit Zeitstempel benutzte. Dies war 
die UTC Zeit, definiert als Anzahl der Sekunden seit dem 01.01.1901 
00:00.00. Hierfür habe ich Routinen geschrieben, die zwischen UTC und 
Echtzeit hin und her konvertieren. Wenn sie Dir weiterhelfen würden, 
könnte ich sie hier mal veröffentlichen.

Gruss Jens

von Peter D. (peda)


Lesenswert?

Vielen Dank,

dann sieht das mit 1 Sekunde ja ganz gut aus.

Ich werde das mal über eine längere Zeit protokollieren, ob man das noch 
kompensieren kann oder ob die Streuung bzw. Temperaturabhängigkeit zu 
groß ist.

Der DS1994 hat ja noch 512 byte SRAM, wo ich dann 2 * pro Tag die 
Abweichung vom DCF-77 mit reinschreiben kann.


@Jens,

ich habe auch eine Maxim Application Note dazu gefunden.
Aber ich fürchte, daß eine Neuberechnung bei jeder Sekunde zu lange 
dauert.
Deshalb habe ich meine Uhrenroutine genommen, die jede Sekunde um 1 
weiterzählt.

Die Application Note sucht man unter DS1994 leider vergeblich. Sie ist 
nur unter DS1371/DS1374 zu finden:

http://www.maxim-ic.com/appnotes.cfm/appnote_number/1941


Peter

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.