Forum: Mikrocontroller und Digitale Elektronik Wie spät ist es


von Martin (Gast)


Lesenswert?

Hallo Leute!

Ich verwende in einem Projekt den ATMEGA256. Dieser Prozessor soll neben 
anderen Funktionen auch die Uhrzeit und Datum anzeigen können. Es wird 
sich später um ein Stand-Alone-Gerät handeln.
Soweit ich schon bemerkt habe, geht der 16MHZ-Quarz zu ungenau, um eine 
korrekte Uhrzeit über Monate hinweg zu garantieren.

Aus diesem Grund soll ein Uhrenbaustein her.
Das eine, was mir Sorgen macht, sind die Treiber, die man schreiben 
muss, um so einen Baustein anzusprechen. Je einfacher diser Baustein 
nämlich anzusprechen ist, desto früher bin ich mit den Treibern fertig, 
es sei denn, es gibt schon fertige C-Quellcodes, was ich vermute. Es ist 
egal, ob der Bautein über I2C oder SPI entsprechend abgefragt werden 
kann.

Das Zweite sind die Eagle-Bibliotheken. Es wäre total großartig, wenn 
hier schon ein Device exisiteren würde.


Ich freue mich schon auf eure Anworten.
Danke im Voraus.

Tschüss
Martin

von Marko (Gast)


Lesenswert?

Treiber? Hast du Windows auf dem Atmel laufen?
für gewöhnlich schickt man den RTC-Bausteinen
die Registerinhalte rüber und liest wann immer man
will die aktuelle Zeit wieder aus, that's ist.

von Sven P. (Gast)


Lesenswert?

Oder schaff dir so nen DCF-Empfänger an, dann hastes ein für alle Mal 
genau.

von AVR und mehr (Gast)


Lesenswert?

Zum Betreff:

> Wie spät ist es

Es ist gerade 10:29 Uhr.

> Soweit ich schon bemerkt habe, geht der 16MHZ-Quarz zu ungenau, um eine
> korrekte Uhrzeit über Monate hinweg zu garantieren.

Wenn es ein Zimmergerät ist, so ist die Betriebstemperatur ausreichend 
konstant und somit auch die Abweichung des Quarzes. Er hat dann eben 
einfach nur nicht genau 16MHz. Durch einen Versuch liese sich aber ein 
Korrekturfaktor ermitteln, um die Zeitberechnung ausreichend genau zu 
bekommen.

MfG:AVR und mehr

von Mano W. (Firma: ---) (manow)


Lesenswert?

Martin wrote:
> Soweit ich schon bemerkt habe, geht der 16MHZ-Quarz zu ungenau, um eine
> korrekte Uhrzeit über Monate hinweg zu garantieren.

Lies dir mal den Beitrag "Die genaue Sekunde / RTC" durch. 
Es geht auch ohne RTC ziemlich genau (unter bestimmten Umständen).

von Tom (Gast)


Lesenswert?

Hat der ATMega256 nicht einen zweiten Oszillator, an den man einen 
Uhrenquarz dranhängen kann?

von gast (Gast)


Lesenswert?

Bei mir sind es gerade 10:52.

Als RTC könntest du z.B. PCF8583 nehmen (Einer von Vielen ...)

von Pete K. (pete77)


Lesenswert?

Die RTCs sind üblicherweise auf einen Quarz angewiesen. Die normalen 
32Khz Quarze sind nicht sehr genau.
Schau Dir mal den DS32Khz Baustein von maxim-ic.com an, der ist 
stabilisiert und den kannst Du dann an eine I2C (z.B. DS1307 DS1305 von 
maxim) RTC oder direkt an den ATMega256 hängen.

Wenn Du einen Vbat Eingang hast, kannst Du sogar die Uhr zeitweise von 
Netz trennen. Hauptsache Quarz und RTC laufen weiter.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Martin wrote:

> Ich verwende in einem Projekt den ATMEGA256.

Interessant.  Wo hast du den gekauft?  Meines Wissens hat der das
Atmel-Entwicklungszentrum in Trondheim nie verlassen...

von Ulrich P. (uprinz)


Lesenswert?

Habe beide Lösungen laufen, beide gehen für Quarz-Systeme genau. 
Unterscheiden tun sie sich in vielen anderen Dingen, die nix mit der 
Uhrzeit zu tunn haben:
ATmega mit 32kHz Quarz:
Vorteil: System behält alle Daten und kann aus dem Standby geweckt 
werden.
Nachteil: Deep-Sleep geht nicht, da da nur der Reset wieder aufweckt. 
Ergo etwas höhere Stromaufnahme, damit größeres Backup ( Akku, GoldCap) 
erforderlich.

PCF85xx Serie:
Vorteil: Bringt je nach Variante noch EEPROM oder Backup-RAM mit. Kann 
vorprogrammiert werden und dann einen Interrupt jede Sekunde oder nur 
bei Alarm auslösen. Interrupt kann ATmega auch aus Deep-Sleep wecken ( 
INT auf Reset legen).
Extrem niedriger Strom. Kleiner GoldCap reicht schon für Wochen.
Nachteil: Zusätzliche Bauteile, zusätzlicher Platz

Software musst Du für jede der Lösungen schreiben:
Beim 32kHz Quarz musst Du Dir erst etwas programmieren, dass aus dem 
periodischen Interrupt eine Uhr macht. Diese Informationen musst Du dann 
auch noch in lesbare Form verwandeln.
Der PCF verfordert eine I2C Software, die aber bereits fertig zum 
Abpinnen verfügbar ist. Dafür belohnt er dich mit Vorteilen:
1. liegen die Daten je nach Baustein bereits als BCD oder Binär vor ( 
kann man bei einigen Bausteinen auch programmieren)
2. Führt er einen Kalender mit Wochentag und Schaltjahr
3. Kann man mit einem I2C Treiber gleich ganz viele andere Bausteine 
ansprechen.

Nun ist es an Dir zu entscheiden, was einfacher oder zweckdienlicher 
ist. Wie Du dem Anfang meines textes entnehmen kannst, habe ich es je 
nach Anwendungsfall mal so und mal so gemacht.

Gruß, Ulrich

von Martin (Gast)


Lesenswert?

Hallo Leute!

Danke für eure großartigen Antworten und vielen Hinweisen.
Zugegeben, der Titel meines Beitrags ist etwas gewagt.
Ich meinte den ATMEGA2561 und nicht den ATMEGA256. Wusste gar nicht, 
dass dieser auch mal geplant war. Danke, habe ich wieder was gelernt.
Windows wäre für den ATMEGA etwas übertrieben. Möchte mir bei einem 
Stand-Alone-Gerät nicht künstlich zusätzliche Probleme aufhalsen, zudem 
der Bootvorgang von Windows mit einem ATMEGA mit Sicherheit mehrere 
Jahre benötigen würde :-)

Ich verwende den Codevision-AVR-Compiler.
Aus diesem Grund habe ich mich für den DS32KHZ als Quarz und
den DS1307 als Uhrenbaustein entschieden.
Weiß allerdings nicht was passiert, wenn ich den DS1307 als Quarz und 
den DS32KHZ als Uhrenbaustein laufen lassen würde, kleiner Scherz.

Tolle Sache, bin schon gespannt.

Eine Frage habe ich aber noch zum DS1307.

Wenn ich z.B. keinen Batteriebetrieb benötige, was mache ich dann beim 
DS1307 mit dem BAT-Pin? Lasse ich den offen oder muss ich den an GND 
hängen? Ich habe leider hierzu keine Information im Datenblatt gefunden.
Mit VCC kann ich ihn mit Sicherheit nicht verbinden, weil VCC mit 5V 
versorgt wird und VBAT mit 3V?


Danke Leute für eure Hilfen.

Tschüss
Martin

von Sascha W. (sascha-w)


Lesenswert?

keine Batterie:

Datenblatt: Seite 6
"If a backup supply is not required, VBAT must be grounded."

Sascha

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.