Forum: Mikrocontroller und Digitale Elektronik ATmega324p: T2 als 'Echtzeituhr'


von Gast (Gast)


Lesenswert?

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.

von Pete K. (pete77)


Lesenswert?

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.

von Gast (Gast)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Pete K. (pete77)


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Gast (Gast)


Lesenswert?

>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.

von Skua C. (skua)


Lesenswert?

Es gibt auch 4,194304 MHz Uhrenquarze die sind meist genauer.

von Gast (Gast)


Lesenswert?

Es liegt nicht am Quarz! Es liegt am internen Oszillator des AVR.
Für eine niedrige Stromaufnahme muß 32Khz verwendet werden.

von Skua C. (skua)


Lesenswert?

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
Noch kein Account? Hier anmelden.