Beitrag "Uhrenquarz an Atmega324P: Was für Kondensatoren?" Ich möchte diesen Beitrag noch einmal aufgreifen und fragen, ob jemand bezüglich der Genauigkeit mittlerweile Erfahrungswerte nennen kann. Beim meinem 324P erhalte ich eine Frequenzabweichung von +200ppm, die mit 47pF Lastkapazität auf +100ppm reduziert werden kann. Dann schwingt der T2 Oszillator aber nicht mehr zuverlässig an. Sicher freut man sich bei Atmel darüber, daß es überhaupt funktioniert, aber für mich sind 100ppm bei einer Uhr völlig untragbar.
Schau Dir mal den 32Khz von www.maxim-ic.com an. Das ist ein sehr genauer Quarz. Ich verwende auch gerne den DS3231 oder DS3232, die auch sehr genau sind.
Info: Bei einem ATmega48 läßt sich der Oszillator mit 2 x 18pF exakt auf 32768Hz abgleichen. Dieser hat aber eine höhere Stromaufnahme im 'power save' Modus. Und wie es dann beim ATmega48P aussehen wird, kann mangels Verfügbarkeit nicht getestet werden. So werde ich wohl weiter einen separaten Uhrenbaustein verwenden.
Ist der exakte Wert der Oszillatorfrequenz wirklich so entscheidend? Immerhin wird der Timer anders als bei externen RTCs erst passend programmiert und ist folglich gut kalibirierbar.
Die Frequenz gibt die "Tics" an, die die RTC zählen/auswerten soll. Insofern ist eine stabile und genaue Frequenz das A und O. Mit einem kalibrierten Timer solle es auch gehen (Timer liefert dann die Tics). Siehe Beispiel von Peter Dannegger in der Codesammlung.
Pete K. wrote: > Die Frequenz gibt die "Tics" an, die die RTC zählen/auswerten soll. > Insofern ist eine stabile und genaue Frequenz das A und O. Stabil ist wichtig. Genau nicht unbedingt. Denn ob man für den Sekundentakt durch 32768 oder durch 32771 dividiert ist egal, wenn man das per einmaliger Kalibrierung ermitteln kann.
>Ist der exakte Wert der Oszillatorfrequenz wirklich so entscheidend? Für meine Anwendung schon. Geplant war, einen Uhrenbaustein PCF8583 und ein EEPROM ST24C04 und auch noch diverse IO-Schieberegister + Schrittmotorlogik zu ersetzen und über IIC anzusteuern. Im Ruhezustand sollte dann die Uhr im 'power save' Modus weiterlaufen. Wenn diese Uhr innerhalb eines Jahre wenige Minuten von der Sonnenzeit abweicht, ist daß akzeptabel. Aber bei 100ppm ist das fast eine Stunde. Da Meßwerte mit Zeitstempel versehen werden sollen, ist die Abweichung viel zu groß. Programmiert man T2 mit Vorteiler /128 so erhält man alle Sekunde einen Überlauf, der den Sekundentakt erzeugt. Die Stromaufnahme liegt beim 324P bei ca. 1,3µA bei 3V, was völlig in Ordnung ist. Da T2 nur 8Bit breit ist, kann man keinen Teilungsfaktor von 32771 einstellen, wie das bei T1 der Fall ist. Und um T1 mit 32,768kHz zu betreiben, müßte man den kompletten µP Takt auf 32,768kHz einstellen. Damit würde zum einen T1 "vergeudet" und die Prozessorleistung nicht genutzt werden können. Nun kann man sicherlich die Uhr durch tagtäglichen Feinabgleich dazu bringen, über ein Jahr die Zeit genau zu halten. Aber bei den aufgetretenen 200ppm Grundabweichung fürchte ich, daß jeder Prozessor einzeln abgeglichen werden muß. Für eine Serienfertigung ist das zu riskant und aufwendig. Da nehme ich dann doch lieber einen fertigen Uhrenbaustein. Interessanterweise tickt der Mega48 ja ganz anders. Atmel scheint das Problem nicht zu kennen, sonst hätte man den Oszillator doch so aufgebaut, daß er für alle Modelle gleich verwendbar wäre (Quarz+Kondensatoren). Ärgerlich bei AVR ist ja auch schon immer, daß der/die/das UART nicht mit dem internen kalibrierten Oszillator betrieben werden kann. Zum einen ist die Drift zu groß und zum anderen ist der werksseitige Abgleich so ungenau, daß man auch jeden Prozessor nachgleichen muß. Was im Datenblatt so schön aussieht, ist in der Praxis nicht zu gebrauchen.
Es liegt nicht am Quarz! Es liegt am internen Oszillator des AVR. Für eine niedrige Stromaufnahme muß 32Khz verwendet werden.
Ich hab mir bei einem 8031 mal einen Geschlachteten Wecker an den externen Timer Eingang gehängt das ging ganz gut.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.