Wie RTC DS1307 mit DCF77 stellen?

Da ich nichts dazu finden kann: Wie kann man einmal täglich mit einem DCF77 Modul die RTC DS1307 stellen?

Micky

Hängt natürlich von den verwendeten Libraries ab:

 Wenn seit dem letzten Aktualisieren mindestens 86400 sekunden vergangen sind: 
 {
    DCF Uhr lesen;
    Wenn ok: { RTC setzen; letztes Aktualisieren um 86400 sek. erhöhen; }
    sonst : letztes Aktualisieren um 60 sek. erhöhen; // d.h. nach 1 Minute nochmal probieren
 }

... oder so ähnlich ...
oder verstehe ich deine Frage falsch ?

Das meinte ich auch so, wie Du schreibst.

Micky

Ich arbeite im Moment mit einer RTC für ein Projekt, das nicht sehr zeitkritisch ist. Da kann ich mit manuellem Nachstellen leben. Für ein eventuelles anderes Projekt bräuchte ich aber Genauigkeit.

Ist es generell überhaupt sinnvoll mit DCF77 eine RTC zu verwenden? Man könnte die Zeitfunktion auch einfach in Software nachbilden. Andererseits ist eine RTC billig und sehr einfach anzusteuern und man verbraucht keine Rechenleistung. Außerdem sind 56 Byte batteriegestütztes RAM sehr praktisch um Einstellungswerte zu speichern...

Die Frage ist was Du vorhast. Die RTC Module mit DCF77 zu kombinieren ist so eine Sache. Normalerweise tut man sowas weil man den Prozessor schlafen legen will um Strom zu sparen. Da der Arduino selber aber dank des Längsreglers und der Schnittstellenwandlers eh einen sehr hohen Verbrauch hat bringt das alles nicht viel.

Nett ist die Sache mit den Alarmzeiten. Aber ansonsten verkompliziert das eher das Design. Ich würde einen Arduino nie mit DCF77 und einem 1307 kombinieren. Eher noch mit einem 1322. Auf jeden Fall würde ich DCF77 + RTC mit einem "nakten" Prozessor kombinieren.

Statt dem Batteriegepufferten Ram würde ich erst mal auf den EEPROM losegehen.

Soll ne Heizungssteuerung werden. Die müsste sowieso die ganze Zeit laufen. Außer eventuell Nachts. Ich werde aber wahrscheinlich einen Freaduino nehmen, der einen Schaltregler hat.

Eine andere Möglichkeit, an die ich schonmal gedacht habe ist DS3232. Der funktioniert im Prinzip genauso wie der DS1307, hat aber einen Temperatur-kompensierten Resonator. Das Dumme ist, dass das Ding relativ schwer zu bekommen ist. Das beste was ich gefunden habe ist das:
http://www.ebay.de/itm/Shield-FADICLOCK-based-on-the-Maxim-Ds-3232-Arduino-MEGA-Picaxe-ESP-/150957493576?pt=LH_DefaultDomain_186&hash=item2325c48d48

Oder nur die Platine. Das kann man dann noch selbst löten:
http://www.ebay.de/itm/PCB-FadiclocK-RTC-DS3232-Picaxe-Arduino-shield-Protoboard-Breadboard-UK-/150989844471?pt=LH_DefaultDomain_3&hash=item2327b22ff7

Hallo,
schau doch mal nach DS3231.

Gruss
Kurti

Serenifly:
Ist es generell überhaupt sinnvoll mit DCF77 eine RTC zu verwenden?

ELV sagt ja und bietet inzwischen einen Bausatz für ein Arduino-Shield an, auf dem beides drauf ist:

kurti:
Hallo,
schau doch mal nach DS3231.

Danke, aber das scheint auch nicht besser zu sein als 3232 was die Verfügbarkeit betrifft

Zur Not könnte ich es auch selbst bauen wenn ich eine Platine habe, aber was fertiges wäre nicht schlecht. Und aus Spanien über ebay ist eigentlich auch nicht so kompliziert.

jurs:
ELV sagt ja und bietet inzwischen einen Bausatz für ein Arduino-Shield an, auf dem beides drauf ist

Mhh, das wäre preislich sehr gut und spart Platz :slight_smile:

Der reine RTC Teil der Library sieht übrigens auch gut aus. Hat ne sehr schöne DateTime Klasse.

Ja, das sieht gut aus. Bestell das mal und berichte was es taugt :slight_smile:

jurs:

Serenifly:
Ist es generell überhaupt sinnvoll mit DCF77 eine RTC zu verwenden?

ELV sagt ja und bietet inzwischen einen Bausatz für ein Arduino-Shield an, auf dem beides drauf ist:
http://www.elv.de/real-time-clock-dcf-modul-mit-i2c-spi-u-uart-schnittstelle-rtc-dcf-bausatz.html

Das ist doch was. Mal sehen ob ich das mit deren Code hinbekomme.

Micky

Habe doch noch ein 3231 Modul eines deutschen Versenders gefunden:
http://www.exp-tech.de/Shields/ChronoDot-Ultra-precise-Real-Time-Clock-v2-1.html

Ist inzwischen natürlich etwas OT. Sorry. Wenn man DCF77 hat reicht auch die DS1307, wenn man ab und zu nachstellt. Aber dieser Chip driftet angeblich nur eine Minute im Jahr ohne sonst was zu machen. Und die DS1307 Bibliotheken sind kompatibel. Eventuell muss man nur ein paar Adressen anpassen.