Forum: Mikrocontroller und Digitale Elektronik Uhrenquarz ungenau?


von Mathias (Gast)


Lesenswert?

Hallo, ich betreibe meinen uC im Power - Down Mode mit einem Uhrenquarz,
welcher den internen RTC taktet. Nur habe ich das Problem, das die Uhr
am Tag etwa 20min ungenau geht. Kann es sein, dass der Fehler durch die
beiden Kondensatoren am Quarz entsteht? Verwende 2x22pF Kondensatoren,
im Datenblatt des Quarzes ist die Rede von 6 bzw. 12.5pF für CL!

Danke, Mathias

von Detlef _. (detlef_a)


Lesenswert?

20min/Tag sind mehr als 1%, 0.1 Promille wäre schon viel für nen Quarz.
Glaube, da is noch was anderes faul.

Cheers
Detlef

von T-Brox (Gast)


Lesenswert?

Wie verhält sich deine Uhr ohne Power-Down?

von A.K. (Gast)


Lesenswert?

Was für einen µC?

von Lupin (Gast)


Lesenswert?

wenn es ein AVR ist schalte mal den CKOPT (so oder so ähnlich heisst
der) fuse aus

von Patrick (Gast)


Lesenswert?

Hi Mathias,

die ungenauigkeit kannst du kaum mit den Lastkapazitäten ziehen. Aus
diesem Grund schliesse ich die Kondensatoren als Fehlerursache eher aus

von Mathias (Gast)


Lesenswert?

ich verwende den lpc936! naja habe mir schon gedacht, dass es nicht
daran liegen wird... werde jetzt mal schaun ob die uhr ohne power down
auch so viel daneben läuft bzw. ob vielleicht noch ein kleiner
softwarebug vorhanden ist...

von Profi (Gast)


Lesenswert?

Neben der SW immer auch an die HW denken: schwingt die Vdd?
kurze Leitungen zum Quarz und von den Cs nach Gnd?
Kannst Du den (geteilten) Takt an einem extra Pin herausführen, um ihn
mit einem Frequenzzähler zu messen?

Bei einem 32KHz-Quarz muss die Frequenz um 455 Hz danebenliegen, wenn
er täglich um 20 Min. falsch geht. Diese Abweichung wird man mit einem
Oszi gerade nicht mehr messen können.

Evtl. hilft auch, probehalber eine bekannte Frequenz (aus einem
Oszillator und Teiler / µC-Timer) extern einzuspeisen (muss nicht 32KHz
sein).
Der Dallas DS32KHz ist ein temp-komensierter Oszillator mit
32KHz-Ausgang.

von Günther S. (guenther)


Lesenswert?

"Der Dallas DS32KHz ist ein temp-komensierter Oszillator mit
32KHz-Ausgang."

Wenn er sich den noch beschafft, dann kann er den auch gleich richtig
verbauen. Damit bekommt er sogar noch ein I/O-Pin frei.

Günther

von Drei N. (3_newton)


Lesenswert?

RTC heisst das Zauberwort. Oder MOS4042 plus Quarz...
Das spart ne Menge Arbeit und genauer als selbst gute MC Schaltungen
ist es allemal.

3N

von Mathias (Gast)


Lesenswert?

den DS32kHz habe ich schon bei einem anderen projekt verwendet.. werde
ihn aber aus platz und vor allem kostengründen hier nicht verwenden
können...

von Winfried (Gast)


Lesenswert?

Natürlich ist es problemlos möglich, eine recht genaue Uhr mit einem
32KHz Uhrenquarz und einem Mikrocontroller aufzubauen. Dazu braucht es
keinen RTC. Vor allem ist die 1% Abweichung doch kein grundsätzliches
Problem mit Uhren-Quarzen.

Ob ein RTC unabhängig davon in einem Projekt praktischer und sinnvoller
ist, ist ein anderes Thema.

von T.S. (Gast)


Lesenswert?

Habe auch einmal einen 32kHz Uhrenquartz an den Mega8 gehängt und bin
von der Genauigkeit schwer entäuscht. Seit dem nutze ich nur noch
externe RTC's.

von Thorsten (Gast)


Lesenswert?

Hmm...
laut Datenblatt Seite 28 kann man den Uhrenquarz direkt ohne externe
Ladekapazitäten anschliessen, wenn man die CKOPT fuse programmiert.
Vielleicht mal ohne dieexternen Kapazitäten probieren?
Gruss,
Thorsten

von T.S. (Gast)


Lesenswert?

Thorsten,

Du hast recht - danke für den Hinweis. 8-)
Mag sein daß ich an den Fuses nicht so gerne rumspiele.

Torsten

von Profi (Gast)


Lesenswert?

Der Tip mit dem DS32khz war nur gedacht, um herauszufinden, ob es an der
SW oder der HW liegt.
Externe RTC ist Luxus. Wenn der µC schon extra einen 2. Quarzoszillator
hat, würde ich ihn auch nutzen.

Was bei mir auch schon geholfen hat ist ein R von 100k-10M parallel zum
Quarz  und/oder  ein R von 10-100 Ohm in Reihe zum Quarz.

Hast Du schon eine andere Quarz-Sorte probiert (z.B. aus einer alten
Uhr oder Wecker).
Wenn der Quarz stabil daneben schwingt, kannst Du die Abweichung per
SW korrigieren (anderer Teilfaktor...).

von Lupin (Gast)


Lesenswert?

ich würde unbedingt die CKOPT unprogrammiert lassen und zwei
trimmkondensatoren zur abstimmung des quarzes verwenden (dauert nur ein
bischen wenn du keine sehr genaue referenz hast)

von Sebastian (Gast)


Lesenswert?

Also wenn es 24 Minuten an einem Tag wären würd ich ganz stark drauf
tippen, dass er bei jeder vollen Stunde ein Minute verschluckt oder zu
viel zählt. Also ein Softwarebug. Aber nochmal im Code nachschaun kann
ja nie schaden.

Sebastian

von Patrick (Gast)


Lesenswert?

@ Lupin,

Ist das nur ein Bauchgefühl, oder gibt es dafür eine nachvollziehbare
Begründung?

von Günther S. (guenther)


Lesenswert?

abo

von Lupin (Gast)


Lesenswert?

nur eine vermutung... kann auch an der software liegen, vielleicht
irgendwo sowas schlaues wie if(sekunden >= 59){...} eingebaut ;)

von Mathias (Gast)


Lesenswert?

:-) den fehler mit der sekunde verschlucken hab ich schon überprüft

von flyingwolf (Gast)


Lesenswert?

Also ich bringe es auf 14 Minuten in 12 Stunden.
Die Software ist wohl ok, weil sie in den vorigen Versionen am 8Mhz 
Quarz problemlos funktionierte. Eine CKOPT-Fuse habe ich bei meinem 
AT90CAN128 noch nicht gefunden.
Allerdings habe ich den Uhrenquarz zwischendurch auch ein bisschen mit 
Kältespray gequält und da konnte man praktisch zusehen, wie die Sekunden 
verloren gingen.

von .... (Gast)


Lesenswert?

nur mal so:

die "Uhr" geht
[] vor
[] nach
[] Ungenauigkeit variiert

von flyingwolf (Gast)


Angehängte Dateien:

Lesenswert?

Auf der Suche nach der Ursache der Abweichung wollte ich mir mal 
anschauen, wie gut oder schlecht der Uhrenquarz eigentlich arbeitet. 
Dabei kam dieses Bild raus.
Zur Sicherheit habe ich die Kondensatoren noch mal nachgeschaut. Sind 
wie im Daten angeschlossen und eine kalte Lötstelle ist auch nicht im 
Spiel. Die 8MHZ des ebenfalls angeschlossenene Quarz sehen gut aus.
Hat jemand eine Idee was da faul ist, oder muss das so aussehen?
@.... die Uhr geht nach

von Sonic (Gast)


Lesenswert?

Ist die CKOPT-Fuse nicht nur für den System-Clock-Quarz zuständig? Damit 
wird doch nur die Amplitude des Taktgenerators (XTAL2) erhöht, oder?
Dass die Uhrenquarze ungenau sind musste ich auch schon feststellen. 
Deshalb gehen die meisten billigen Quarzuhren auch derb falsch! Ist halt 
immer besser eine hohe Frequenz 'runterzuteilen (RTC mit Systemtakt), 
das wird genauer und man kann's zur not per Software korrigieren.

von Winfried (Gast)


Lesenswert?

Prozentuale Fehler sind unabhängig von der Taktfrequenz und man kann 
beliebig runterteilen, es bleiben x Prozent Fehler. Nur mal so als 
Anregung. Da besteht oft ein Irrtum.

Ein Uhrenquarz, der bei mir mit einem AVR läuft, läuft jetzt schon ein 
halbes Jahr und hat unter 3 Minuten Abweichung. Dabei ist der nicht 
einmal abgeglichen. Und Quarzarmbanduhren gehen mitunter verdammt genau, 
unter 1 Minute in einem halben Jahr. Technologisch geht es also.

von Sonic (Gast)


Lesenswert?

Ist richtig, ich habe einen Datenlogger mit unabgeglichenem Uhrenquarz 
dran, der ist auch sehr genau. Aber das ist auch die einzige Schaltung 
die genau ist. Das mit den Prozentualen Fehlern ist richtig. Wenn ich 
eine Frequenz teile (z.B. durch 1024), dann habe ich aber die 
möglichkeit zm Softwaremäßigen Feinabgleich. Das geht beim Uhrenquarz 
nicht.
Ich sprach übrigens von Billiguhren aus Fernost, die gehen teilweise 
15..30 Minuten am Tag falsch!

von flyingwolf (Gast)


Lesenswert?

Also wenn ich den Uhrenquarz nicht gar zu sehr mit frostigen 
Temperaturen aus der Eis-Spray-Dose ärgere tut er sein Werk ... nun 
sagen wir mal passabel. Es sind zwar immer noch ein zwei Sekunden aber 
das geht schon. Ich werde einfach das Software-konzept etwas ändern.

von Dicky (Gast)


Lesenswert?

ich habe mal mehrere 100 32 KHz Uhrenquarze bei ebay ersteigert. das 
ergebnis war dass bei jeder etwa 10 quarz es erhebliche abweichungen 
gab. offenbar war ich auf ausschussware reingefallen. ich musste dann in 
einem jeweils std langen test die ''kranken'' aussortieren.

ein paar mal fiel mir auf dass uhrenquarze zu langes ''bruzeln'' (von 
einem kollegen) nicht vertragen und sich dann ebenfalls abweichungen von 
10-20 Minuten/Tag ergaben.

von Falk (Gast)


Lesenswert?

Man sollte wissen was man tut. 32.768 kHz Quarze sind anders als 0815 
Quarze zwischen 1..20 MHz. Die vertragen meist nur 100uW (Microwatt) 
Leistung und werden mit normalen Oszillatorschaltungen meist überfahren. 
Deshalb sollte man GENAU ins Datenblatt der jeweiligen Schaltung 
schauen, ob 32kHz Uhrenqurze EXPLIZIT anschliessbar sind. Meist brauch 
man einen recht hohen Vorwiderstand, eben um den Quarz nicht zu 
überlasten.

Ausserdem zu den "Experten" mit RTC etc.

A) einen Quarz kann man prinzipbedingt kaum mehr als +/- 200ppm (=0.02%) 
von seinem Nennwert betreiben.

b) Auch 0815 Quarze sind schon recht genau, mit Abgleich (Sei es per 
Software oder per Trimmer) kommt man locker auf +/- 1ppm (=2,6 s 
Abweichung /Monat)

Beitrag "AVR Timer mit 32 Bit"

MfG
Falk

von Falk (Gast)


Lesenswert?

uups, falscher Link.

Beitrag "Die genaue Sekunde / RTC"

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.