Forum: Mikrocontroller und Digitale Elektronik richtig "gehende" Uhr mit Atmega168


von Peter (Gast)


Lesenswert?

Hi,

ich möchte mir eine Schaltuhr mit einem Atmega168 bauen.

Meine Frage:

Wie bekomme ich eine genau "gehende" Uhr mit dem Atmega168 möglichst 
einfach ohne DCF77 hin?

Mir fällt da eigentlich nur eine RTC ein. Wenn wirklich nur eine RTC in 
frage kommt dann möglichts:

einfach beschaffbar
schnell implementierbar

Ich möchte schnell zum Ziel kommen.
Habt Ihr einen tip?

Danke,
Peter

von Peter (Gast)


Lesenswert?


von Volker S. (volkerschulz)


Lesenswert?

Vermutlich steht das in dem Artikel schon drin: Du koenntest Deinen µC 
mit einem Uhrenquarz takten. Evtl. noch ein bisschen kalibrieren und 
dann bist Du auch nicht ungenauer als eine externe RTC (oder jede andere 
Quarzuhr in Deinem Haushalt). ;)

Wenn Du DCF77 wegen der relativ teuren Module ausschliesst: Hier ist 
gerade letztens wieder ein Thread aufgetaucht, der das Modul eines 
fertigen Funk-Weckers zur Verwendung mit dem µC erklaerte.


Volker

von Lehrmann M. (ubimbo)


Lesenswert?

Peter schrieb:
> Wie bekomme ich eine genau "gehende" Uhr mit dem Atmega168 möglichst
> einfach ohne DCF77 hin?
>
> Mir fällt da eigentlich nur eine RTC ein. Wenn wirklich nur eine RTC in
> frage kommt dann möglichts:

DS3232 ist sehr genau

sonst gibt es noch  DS1337 (Reichelt 2,10€ glaub ich)
Allerdings soll die nicht so doll sein. Hab ich gehört - ich kann da 
aber nichts dazu sagen. Habs das Ding noch nie selbst verbaut.

Volker Schulz schrieb:
> Vermutlich steht das in dem Artikel schon drin: Du koenntest Deinen µC
> mit einem Uhrenquarz takten. Evtl. noch ein bisschen kalibrieren und
> dann bist Du auch nicht ungenauer als eine externe RTC (oder jede andere
> Quarzuhr in Deinem Haushalt). ;)

Das ist nicht so toll - ich empfehle trotzdem eine RTC - so spart man 
sich viel Mühe und Frust.

> Wenn Du DCF77 wegen der relativ teuren Module ausschliesst: Hier ist
> gerade letztens wieder ein Thread aufgetaucht, der das Modul eines
> fertigen Funk-Weckers zur Verwendung mit dem µC erklaerte.

ein DCF Modul sollte so 5€ kosten.

Es gibt allerdings auch PICs mit RTC nur so als Hinweis nebenbei.

von Wolfgang H. (Firma: AknF) (wolfgang_horn)


Lesenswert?

Hi, Peter,

> Wie bekomme ich eine genau "gehende" Uhr mit dem Atmega168 möglichst
> einfach ohne DCF77 hin?

1. Stabilisiere die Versorgungsspannung.

2. Wähle die niedrigstmögliche Ansteuerung für den Quarz, befreie ihn 
von fremden Lasten, denn je freier er schwingt, je weniger Energie der 
Transistor nachführen muss, desto präziser schwingt er.

3. Packe ihn rundum ein in Styropor, eine Kupferhaube darum herum und um 
diese noch mal luftdichtes Styropor.

4. Gleiche ihn ab durch einen Trimmer. Mit einem Temperaturfühler neben 
dem Quarz erkennst Du dann, wann sich seine Temperatur stabilisiert hat 
dafür.

Je genauer Du es haben willst, umso länger musst Du warten, beste 
Ergebnisse wären mit einer Zeitkonstante > 1 Jahr zu erwarten ;-)

5. Wenn Du es noch stabiler haben willst, dann ersetze die äußere Hülle 
Styropor durch einen temperaturgeregelten Ofen, heize den auf etwa 75° 
und nimm einen Quarz, der bei 75° gerade den Wendepunkt der 
Temperaturabhängigkeit hat. Aber dafür gibt`s OVXO schon handelsüblich 
für ein Mittagessen.

Ciao
Wolfgang Horn

von Matthias (Gast)


Lesenswert?

Wolfgang Horn schrieb:
> 4. Gleiche ihn ab durch einen Trimmer.

Was ist daran besser, als das von Peter beschriebene Verfahren, außer 
dass Trimmer- und Platinenhersteller am Aufwand für den Abgleich 
beteiligt sind?
http://www.mikrocontroller.net/articles/AVR_-_Die_genaue_Sekunde_/_RTC

von Chris (Gast)


Lesenswert?

Peter schrieb:
> Wie bekomme ich eine genau "gehende" Uhr mit dem Atmega168 möglichst
> einfach ohne DCF77 hin?
Das setzt jedoch auch voraus, dass am späteren Einsatzort DCF Empfang 
möglich ist. Mein Funkwecker hat z.B. genau neben meinem Bett keinen 
Empfang (warum auch immer).

Wenn es unbedingt eine RTC sein soll, schau mal hier:
http://www.maxim-ic.com/products/timers/ds3234.cfm
Ist jedoch nicht ganz billig und für Privatpersonen wahrscheinlich auch 
nicht so einfach erhältlich in DE. Hier im Forum gibt es ja öfter 
Sammelbestellungen bei Mouser oder Digikey. Das wäre dann eine 
Alternative.

von Karlo (Gast)


Lesenswert?

Peter schrieb:
> Wie bekomme ich eine genau "gehende" Uhr mit dem Atmega168 möglichst
> einfach ohne DCF77 hin?

Wie genau solls denn sein?
Mit einem externen Quarz kommst du ohne besondere Maßnahmen auf etwa 
eine Sekunde Abweichung pro Tag, mit entsprechenden Maßnahmen (Die genUe 
Sekunde hast du ja schon entdeckt) wirds sogar noch wesentlich genauer. 
Eine extra RTC ist überflüssig.

von Peter (Gast)


Lesenswert?

Hallo,

"genau" ist immer relativ - ist schon klar. Also wenn ich eine 
Armbanduhr kaufe, eine günstige digitale oder eine Zeitschaltuhr bei 
Lidl, dann muss ich die vielleicht einmal im Jahr stellen. Ich denke im 
Schnitt haben diese Art Uhren 1Minute pro Jahr, also ca. eine Sekunde in 
der Woche.

Da ich keine oder wenig Zeit in das Abgleichen oder die Gangenauigkeit 
investieren wollte, hoffe ich hier auf den einen oder anderen guten Tip.

Weiterlauf im Stromausfall Fall ist nicht nötig aber auch nicht schlecht 
:-)

Ich würde gern etwas nehmen und nutzen, und gerade bei so einem 
beliebten Projekt wie dem Uhrenbau muss es doch eine einfache 
Universallösung geben.

Die Netzfrequenz würde ich auch nehmen können, fällt mir gerade ein, 
aber es wäre mir lieber das nicht zu machen.

Gruß,
Peter

von Peter (Gast)


Lesenswert?

...als externen Quarz nutze ich meist 16Mhz - soetwas:

http://www.reichelt.de/Quarze/16-0000-HC49U-S/index.html?;ACTION=3;LA=444;GROUP=B41;GROUPID=3173;ARTICLE=32852;START=0;SORT=artnr;OFFSET=500;SID=11TZm53X8AAAIAAA5G1O0a84449dde95f1dba7189557beed97bd0

wenn ich überhaupt einen nutze. Das meiste geht mit dem internen 8Mhz 
Oszi. Der ist jedoch für eine Uhr denkbar ungeeignet...

Der Tip mit dem Pic ist gut, aber ich denke ich bleibe jetzt bei den 
Atmels. Pic habe ich nur in asm gemacht und damit will ich nicht wieder 
anfangen...

Peter

von Peter (Gast)


Lesenswert?


von Peter (Gast)


Lesenswert?


von Heiko B. (heiko_b)


Lesenswert?

Wenn deine Schaltuhr ohnehin Kontakt zur Netzspannung hat, dann nimm 
doch die Netzfrequenz als Takt. Die ist wenigstens langzeitstabil. Eine 
Diode und ein einfacher Spannungsteiler hinterm Trafo reichen da schon.

von Christian B. (casandro)


Lesenswert?

Ich würde auch die Netzspannung vorschlagen. Eventuell kannst Du die 
auch über eine Spule holen. Die Abweichung der Netzzeit ist ungefähr 
+-20 Sekunden, sie driftet aber nicht, sprich wenn Du damit leben 
kannst, dass Deine Uhr um bis zu 40 Sekunden falsch geht, ist das ideal. 
Der Vorteil ist, dass auch in 10 Jahren, das nur maximal 40 Sekunden 
sind.

Willst Du noch das noch billiger haben, nimm einen ungeglätteten 
Halbwellengleichrichter und lass den Brown-Out Detektor deinen µC 100 
mal pro Sekunde resetten.

von Bernhard M. (boregard)


Lesenswert?

Peter schrieb:
> Da ich keine oder wenig Zeit in das Abgleichen oder die Gangenauigkeit
> investieren wollte, hoffe ich hier auf den einen oder anderen guten Tip.

Ich hab das für eine Schaltuhr nach "der genauen Sekunde" so gemacht, 
daß beim manuellen Stellen der Uhr ein automatischer Abgleich gemacht 
wird. D.h. die Uhr wird erstmalig gestellt. Nach einiger Zeit (wenn die 
Abweichung ein paar Sekunden ist) wird die Uhr wieder gestellt. Jetzt 
wird der für "die genaue Sekunde" notwendige Korrekturfaktor berechnet 
und im EEPROM gespeichert.
Damit läuft die Uhr jetzt mit einer Abweichung von < 1sec. pro Monat.

von Peter (Gast)


Lesenswert?

geile Idee!

Ich habe bisher immer einen offsetfaktor in einem Untermenue zum stellen 
des Drifts angegeben.

Was für einen Quarz nimmst du? Ich habe noch nie einen Trimmer 
eingesetzt...

Gibts was zu beachten? besondere Spannungsversorgung? nehme meist einen 
7805 Low drop typ o.ä. (Elko vor und hinter ...) und natürlich 100nF am 
Controller - klassich.

Gruß,
Dennis

von Karlo (Gast)


Lesenswert?

Peter schrieb:
>Also wenn ich eine
> Armbanduhr kaufe, eine günstige digitale oder eine Zeitschaltuhr bei
> Lidl, dann muss ich die vielleicht einmal im Jahr stellen. Ich denke im
> Schnitt haben diese Art Uhren 1Minute pro Jahr, also ca. eine Sekunde in
> der Woche.

Das sollte mit der "genauen Sekunde" machbar sein. Ist allerdings mit 
etwas Aufwand für die Kalibrierung verbunden.

von Michael (Gast)


Lesenswert?

Karlo schrieb:
> Das sollte mit der "genauen Sekunde" machbar sein. Ist allerdings mit
> etwas Aufwand für die Kalibrierung verbunden.

Mit Trimmer hat man mindestens den gleichen Kalibrieraufwand.
Es läßt sich natürlich auch ein einfaches GPS-Modul als Zeitempfänger 
verwenden, der für den Hausgebrauch die NMEA-Daten über die serielle 
Schnittstelle liefert. Für genauere Zeitpulse oder natürlich für die 
Kalibrierung einer autarken Uhr, ist ein Modul mit 1PPS-Ausgang (genauer 
Sekundenpuls) eine gute Möglichkeit.

von Bingo (Gast)


Lesenswert?

Guck mahl am
Peter D's genaue sekunde

Oder diser (speciel ob temperatur verandert sich)
http://www.maxim-ic.com/datasheet/index.mvp/id/4627
Einer rekommendation von PKH @ time-nuts , sind nicht schlect.
http://www.febo.com/pipermail/time-nuts/2011-April/056180.html

mfg
Bingo Dänemark

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.