Forum: Mikrocontroller und Digitale Elektronik Uhr geht nach


von Mirko (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habe eine Wordclock auf Basis eines Ping-Pong-Spiel aus dem Conrad 
gebaut.

Vorlage: http://emsystech.de/projekte/wordclock-open-source/

Trotz Uhrenquarz und passenden Kondensatoren geht die Uhr ca 5Sek pro 
Tag nach.


Das Programm ist recht simpel, jedoch weiß ich nicht, wo die Zeit 
verloren geht. Hat jemand einen Tipp?

Ich könnte aller 12Stunden 2Sek dazu addieren oder gibt es eine 
elegantere Lösung dies zu kompensieren?

Die angehängte Zip-Datei ist der komplette Programmcode. Er kann auch 
von der oben genannten Homepage heruntergeladen werden

von Stefan F. (Gast)


Lesenswert?

Zuerst mal eine Hausnummer: Bis zu 2 Sekunden Abweichung pro Monat sind 
gut. Mehr als 4 Sekunden pro Monat deuten auf einen Fehler hin.

Wenn der Quarz instabil schwingt, wirst du mit Software-Maßnahmen nicht 
glücklich. Also finde zuerst heraus, ob der Fehler in der Hard- oder 
Software liegt.

Da ich in deinem Programm auf den ersten Blick keinen groben Fehler 
sehe, zeige mal DEINEN Schaltplan und ein Foto vom Aufbau (rund um den 
Quarz).

Ich fürchte, du hast Kondensatoren vergessen oder zu lange Leitungen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mirko schrieb:
> Trotz Uhrenquarz
Welcher denn?
Denn 5 Sekunden von 86400 Sekunden pro Tag sind weniger als 60ppm. Das 
ist für einen üblichen Quarz nicht mal sooo arg schlecht...

: Bearbeitet durch Moderator
von hinz (Gast)


Lesenswert?

Mirko schrieb:
> Trotz Uhrenquarz und passenden Kondensatoren geht die Uhr ca 5Sek pro
> Tag nach.

Was für einen Quarz und was für Kondensatoren hast du genommen?

von Schweizer Uhrmacher (Gast)


Lesenswert?

Mirko schrieb:
> Trotz Uhrenquarz und passenden Kondensatoren

Man kann die Kondensatoren "unpassender" machen damit die
Uhr besser so läuft wie man es will.

von Stefan F. (Gast)


Lesenswert?

Man beachte Figure 11 und die Erklärung dazu im Datenblatt des 
Mikrocontrollers.
https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf

Wobei ich ergänzen möchte dass die internen per CKOPT Fuse zuschaltbaren 
Kondensatoren gemäß Beitrag "ATMega8: Timer-Ozillator und CKOPT-Fuse" nicht 
funktionieren.

von Stefan F. (Gast)


Lesenswert?

Lothar M. schrieb:
> Denn 5 Sekunden von 86400 Sekunden pro Tag sind weniger als 60ppm. Das
> ist für einen üblichen Quarz nicht mal sooo arg schlecht...

Für einen Uhrenquarz sind 5 Sekunden pro Tag völlig inakzeptabel. So 
schlecht laufen nicht einmal die 2€ Kinderuhren von Kik.

von Michael U. (amiga)


Lesenswert?

Hallo,

irgendwas war da mal: wenn die Fuse CKOPT gesetzt ist, schaltet der AVR 
intern Kondensaoren zu wenn ein Uhrenquarz als externer Takt für den 
Timer genutzt wird. Dann braucht der Quarz außen keine.
Beides, CKOPT und externe Cs, würde eine zu langesame Uhr erklären.
Bei den ganz alten Mega8-Chiprevisionen funktionierte diese Zuschaltung 
aber nicht.
Aber das läßt sich ja relativ einfach ausprobieren, Kondensatoren mal 
ab, entweder schwingt er dann nicht an oder auf völlig falscher Frequenz 
oder die Uhr geht etwas schneller.

Gruß aus Berlin
Michael

von Mirko (Gast)


Lesenswert?

Ich habe einen Uhrenquarz ( 32,768 kHz) verwendet. Mit zwei 
Kondensatoren

Die Fotos der Beschaltung kann ich erst heute Abend liefern, ich bin 
momentan unterwegs.

Mit der Aussage, dass es am Takt und nicht am Programm liegt, ist mir 
erst einmal sehr gut geholfen. Ich werde mir heute Abend noch einmal 
meine Verdrahtung anschauen.

Der Quarz ist von Reichelt und hat keinen Aufdruck. Wie finde ich 
heraus, ob er die falsche Frequenz oder Lastkapazität besitzt?
Kann ich mit dem Oszi messen, ob der Quarz sauber schwingt, oder ist da 
sofort Schluss, wenn ich mit dem Tastkopf da ran gehe?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mirko schrieb:
> Mit zwei Kondensatoren
Noch eine Scheibe Salami, bitte: Mit welchen Werten?

> Kann ich mit dem Oszi messen, ob der Quarz sauber schwingt, oder ist da
> sofort Schluss, wenn ich mit dem Tastkopf da ran gehe?
Am Ausgang des Oszillators sollte das problemlos möglich sein...
Was passiert, wenn du es einfach mal ausprobierst?

: Bearbeitet durch Moderator
von Mirko (Gast)


Lesenswert?

Hallo Michael und Stefanus,
an die Fuses hab ich gar nicht mehr gedacht, das prüfe ich auch heute 
abend.

Vielen Dank für die zahlreichen Hilfen

von georg (Gast)


Lesenswert?

Mirko schrieb:
> Trotz Uhrenquarz und passenden Kondensatoren geht die Uhr ca 5Sek pro
> Tag nach

Normalerweise ist für die Genauigkeit, die man von einer Uhr erwartet, 
ein Abgleich mit Trimmkondensator erforderlich. Ich verwende dazu 30 
pF-Trimmer und eine entsprechend präzisen Frequenzzähler, um die Periode 
auf 30,51758 µsec abzugleichen.

Georg

von Stefan F. (Gast)


Lesenswert?

Mirko schrieb:
> Ich habe einen Uhrenquarz ( 32,768 kHz) verwendet.

Welchen genau? Das ist wirklich wichtig, die sind nicht alle gleich, was 
die nötigen Kondensatoren betrifft.

> Mit zwei Kondensatoren

Welche genau?

> Der Quarz ist von Reichelt und hat keinen Aufdruck. Wie finde ich
> heraus, ob er die falsche Frequenz oder Lastkapazität besitzt?

Die falsche Frequenz hast du ja schon ermittelt. Welche Kondensatoren er 
benötigt, sollte im Datenblatt stehen. Berücksichtige, dass die Platine 
und die Leiterbahnen auch ein paar pF haben und die Pins des Mikrochips 
ca 5pF.

> Kann ich mit dem Oszi messen, ob der Quarz sauber schwingt

Eher nicht.

Was hältst du von dem Verdacht, dass dein Mikrocontroller inzwischen 
korrigier wurde und du daher nun doppelt Kondensatoren aktiv hast 
(intern und extern)? Das könntest du doch sehr schnell ausprobieren, 
indem du die externen mal ganz weg machst.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Mirko schrieb:
> an die Fuses hab ich gar nicht mehr gedacht, das prüfe ich auch heute
> abend.
Dann kontrollier auch mal, mit welcher Energie du den Quarz anfährst.

von GoodCounter (Gast)


Lesenswert?

> 30,51758 µsec

Dein Zähler löst 10 ps auf?

von m.n. (Gast)


Lesenswert?

GoodCounter schrieb:
>> 30,51758 µsec
>
> Dein Zähler löst 10 ps auf?

Wieso nicht, wo ist das Problem?

von Jacko (Gast)


Lesenswert?

Der Uhrenquarz könnte auch schon verhunzt sein, wenn der ohne
Vorwiderstand, oder ohne funktionierende LF-Crystal-Einstellung
am µC betrieben wurde.

Über 1 µW vertragen die nicht gut...

von c-hater (Gast)


Lesenswert?

Stefanus F. schrieb:

> Wobei ich ergänzen möchte dass die internen per CKOPT Fuse zuschaltbaren
> Kondensatoren gemäß Beitrag "ATMega8: Timer-Ozillator und CKOPT-Fuse" nicht
> funktionieren.

Doch, das tun sie durchaus. Man muss halt nur den dazu passenden Quarz 
verwenden....

Mein Gott, Quarz und Bürdekapazitäten bilden nunmal eine funktionale 
Einheit. Das kann doch nicht so schwer zu begreifen sein.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

georg schrieb:
> Ich verwende dazu 30
> pF-Trimmer und eine entsprechend präzisen Frequenzzähler, um die Periode
> auf 30,51758 µsec abzugleichen.

Man kann aber auch einfach eine Messperiode von z.B. einem Tag benutzen 
und als Vergleich eine DCF- oder GPS Zeit. So kann man dann am 
Trimmkondensator den Quarz schrittweise auf gute Genaugkeit einstellen.
Aber es braucht entweder eine Softwarekorrektur
https://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC
oder eben den Trimmer.
Das geht besonders gut, wenn man einen Uhrenquarz benutzt, der schon mal 
ein paar Jahre lief.

: Bearbeitet durch User
von Ach Du grüne Neune (Gast)


Lesenswert?

Matthias S. schrieb:
> Aber es braucht entweder eine Softwarekorrektur...

Bitte erst einmal keine Softwarekorrektur! Wichtiger ist, dass der Quarz 
vernünftig auf seiner Resonanzfrequenz einrastet, entweder mit 
Kondensatortrimmer oder Festkapazitäten im Picofaradbereich.

Wie sieht denn die Schaltung des Quarzoszillators aus?

von Huh (Gast)


Lesenswert?

Ach Du grüne Neune schrieb:
> Wie sieht denn die Schaltung des Quarzoszillators aus?

In der Beschreibung steht, daß ein Mega8 verwendet wird...

von georg (Gast)


Lesenswert?

Matthias S. schrieb:
> Man kann aber auch einfach eine Messperiode von z.B. einem Tag benutzen
> und als Vergleich eine DCF- oder GPS Zeit.

Kann man, ist aber wenn man eine Hunderter-Serie abgleichen will eher 
unpraktisch. Ich habe ja auch die Anzeige der Periodendauer deshalb 
gewählt, weil bei Frequenzmessung und entsprechender Genauigkeit das 
Messinterval mehr als eine Sekunde btragen muss und die Anzeige dann zu 
träg wird, um den Trimmer einzustellen. Die Anzeige der Periodendauer 
reagiert sofort.

Klar ist, dass der Zähler besser sein muss als eine übliche Quarzuhr, 
also keine chinesische Billigversion. Und: das betrifft die Genauigkeit, 
nicht nur die Auflösung!

Georg

von Johnny B. (johnnyb)


Lesenswert?

Matthias S. schrieb:
> Trimmkondensator

Finde ich nicht mehr zeitgemäss. Der Quarz muss mit der richtigen 
Beschaltung mit Festkondensatoren und allenfalls einem Seriewiderstand 
(für den richtigen Spannungspegel wegen der Lebensdauer) auf die im 
Datenblatt erwähnte Frequenztoleranz kommen.
Ist dies der Fall und muss es noch genauer sein, macht man die Korrektur 
dann am besten in der Software.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

georg schrieb:
> Kann man, ist aber wenn man eine Hunderter-Serie abgleichen will eher
> unpraktisch.

Aber du vergisst, das nicht jeder so einen Monsterzähler nur für

Mirko schrieb:
> eine Wordclock auf Basis eines Ping-Pong-Spiel

anschaffen wird. Sinds hundert Wordclocks, dann kann man sich so ein 
Dingens schon mieten.

Johnny B. schrieb:
> Der Quarz muss mit der richtigen
> Beschaltung mit Festkondensatoren und allenfalls einem Seriewiderstand
> (für den richtigen Spannungspegel wegen der Lebensdauer) auf die im
> Datenblatt erwähnte Frequenztoleranz kommen.

Niemand verbietet einem, wenn man per Trimmer den richtigen Wert 
gefunden hat, diesen durch einen Festkondensator zu ersetzen.

Ich benutze die Methode in einem Frequenzgenerator, der nur zu 
Prüfzwecken eine Uhr implementiert. Da ist es schon sinnvoll, einfach 
nur den Quarz richtig hinzuziehen, ohne per Software dran rumzufummeln, 
denn dann würde zwar die Uhr richtig gehen, aber der Generator immer 
noch falsch erzeugen.

von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

Ein paar Kilo TNT lösen 10ps auf jeden Fall auf - und den Frequenzzähler 
mit seiner Periode gleich dazu.

Was ich daraus lerne: Sollte ich mal auf die Idee kommen, eine Uhr zu 
bauen, die die Welt nicht braucht, dann wird das definitiv was mit 
DCF-Zeit.

von Huh (Gast)


Lesenswert?

Ben B. schrieb:
> Ein paar Kilo TNT lösen 10ps auf jeden Fall auf

Kapier ich nicht...

von Stefan F. (Gast)


Lesenswert?

Ben B. schrieb:
> Was ich daraus lerne: Sollte ich mal auf die Idee kommen, eine Uhr zu
> bauen, die die Welt nicht braucht, dann wird das definitiv was mit
> DCF-Zeit.

Du hast wohl noch nicht viel Erfahrung mit DCF-77 Empfängern. Die laufen 
nämlich leider nicht in jeder Wohnung an jedem Standort so gut, wie man 
es benötigt.

von Bimbo (Gast)


Lesenswert?

Stefanus F. schrieb:
> Du hast wohl noch nicht viel Erfahrung mit DCF-77 Empfängern. Die laufen
> nämlich leider nicht in jeder Wohnung an jedem Standort so gut, wie man
> es benötigt.

Kann ich bestätigen. Bei uns in Timbuktu ist der DCF-77 Empfang 
ganztägig miserabel!

von Mirko (Gast)



Lesenswert?

So, ich hab die Fuses gecheckt.CKOPT  ist gesetzt.
Ich habe die Cs entfernt und die Uhr läuft - ich schau mal die Tage wie 
genau.

Welchen Quarz und welche Cs ich gekauft habe kann ich leider nicht mehr 
sagen. Ich habe die Uhr vor Jahren zusammengebaut und regelmäßig 
gestellt - jetzt wollte ich dem Fehler auf den Grund gehen.

Zur Not werde ich noch einmal mit neuen Cs und neuem Quarz und 
entsprechenden Fuses rumprobieren.

Gut zu wissen, dass der Code erst einmal nicht das Problem ist.

Vielen Dank für eure Hilfe - wenn ich mehr weiß gebe ich noch einmal 
einen Kommentar

von Jürgen von der Müllkippe (Gast)


Lesenswert?

Bimbo schrieb:
> Bei uns in Timbuktu ist der DCF-77 Empfang
> ganztägig miserabel!

Kann ich auch bestätigen. Bei uns hinter Hintertupfingen ist der DCF-77 
Empfang fast gar nicht zu hören. Wenn ich in meinem Leben mal eine Uhr 
bauen müsste, dann nur mit 4,194304 MHz Quarz und 30pF 
Kondensatortrimmer.

von Mirko (Gast)


Lesenswert?

Jürgen von der Müllkippe schrieb:
> Bimbo schrieb:
>> Bei uns in Timbuktu ist der DCF-77 Empfang
>> ganztägig miserabel!
>
> Kann ich auch bestätigen. Bei uns hinter Hintertupfingen ist der DCF-77
> Empfang fast gar nicht zu hören. Wenn ich in meinem Leben mal eine Uhr
> bauen müsste, dann nur mit 4,194304 MHz Quarz und 30pF
> Kondensatortrimmer.


Wenn man DCF-77 umgehen möchte, dann könnte man sich das Zeitsignal auch 
mittels einem ESP8266 von einem Zeitserver holen

von Michael U. (amiga)


Lesenswert?

Hallo,

Mirko schrieb:
> Wenn man DCF-77 umgehen möchte, dann könnte man sich das Zeitsignal auch
> mittels einem ESP8266 von einem Zeitserver holen

machen meine Selbstbau-Uhren hier inzwischen alle, DCF77 ist im 
selbstgestörten Umfeld hier nur noch nachts von den alten Funkweckern zu 
gebrauchen.

Die beim ESP mitgelieferte time.h POSIX-Lib korrigiert im Rahmen der 
Quarzgenauigkeit auch die Schwankungen durch die Software verblüffend 
gut wenn WLAN mal länger nicht da ist.

Gruß aus Berlin
Michael

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.