RTC mit PCF8583 mit Batterie Backup

Hallo, nachdem ja in letzter Zeit RTC Anwendungen im Interesse stehen, wollte ich mal meine Schaltung zur Diskussion stellen. https://picasaweb.google.com/lh/photo/md6mEuN9KwVITnOPc6ajt-Y8FFpXEnArDrXfgj7Zm44?feat=directlink Auf dem Steckbrett läuft die Schaltung inzwischen sehr stabil, mit Tuning über den Trim-C beträgt die Zeitabweichung ca. 1-2 sek / Monat. Ich will jetzt eine Platine erstellen und vorher wollte ich folgende Fragen klären: Benötige ich zwingend die Diode D1 ? Die Schaltung läuft auch ohne die Pull-ups auf den i2c Leitungen. Brauche ich die trotzdem oder nur bei langen Leitungen ?

Gruß aus Köln Reinhard

Hallo erni-berni

Die Dioden braucht es da ansonsten sich die Baterie über das Netzteil entläd bzw da das Netzteil einen Strom in die Batterie fließen läßt, den die Litiumbatterie gar nicht mag. Falls eine NiCd, NiMH oder Goldcap-Kondensator als Bufferbatterie eingesetzt wird dann muß die Diode D1 durch einen Widerstand ersetzt werden.

Die wire-Bibliothek aktiviert die Pullupwiderstände des ATmega. Meist genügen die. Es schadet aber auch nicht noch zusätzlich die 2 Widerstände einzulöten.

Platinen Design für den Quarz: Seiten 37 und 38 http://www.nxp.com/documents/user_manual/UM10301.pdf

I2C Bus Spezifikation: http://www.nxp.com/documents/user_manual/UM10204.pdf

Datenblatt RTC: http://www.nxp.com/documents/data_sheet/PCF8583.pdf

Grüße Uwe

würdest du uns auch deinen sketch zeigen? hast du die alarmregister gesetzt und nutzt du den speicher?

der baustein ist ja recht günstig und dürfte auch aufgrund des größeren speichers und der alarmfunktionen für viele sehr interessant sein.

markbee

@Uwe, danke für die Hinweise und die Links auf die Datenblätter, so ausführliche lagen mir bis jetzt nicht vor

@marbee

mein Sketch benutzt die Library von Eric deBill https://github.com/edebill/PCF8583. Hier ist auch ein einfaches Beispielprogramm enthalten. Die Alarmfunktion ist in dieser Library nicht enthalten, es gibt aber eine Library, auf der o.g. aufbauend, die auch das Alarmregister bedient http://arduino.cc/forum/index.php/topic,20580.msg151898.html#msg151898. Ausprobiert habe ich das noch nicht. Den internen Speicher zu nutzen sollte relativ simpel sein. Einfach die Adresse beschreiben, die Speicherbereiche sind im Datenblatt abzulesen, nur Vorsicht: die Library nutzt einen Speicherbereich, um die Jahreszahl abzulegen.

Hi, nur aus Interesse, warum nimmst du nicht einen DS1307ZN+ ? Der hat direkt einen Bat Eingang, benötigt keinen externen Kondensator.

Gruß JKW PS: http://arduino.cc/forum/index.php/topic,63738.0.html zum Thema Platine ;)

Hi jkw,

warum nimmst du nicht einen DS1307ZN+

Der Hauptgrund ist zunächst, dass der 1307 keinen Alarmausgang hat. Deshalb habe ich zunächst mit dem DS1337 rumexperimentiert. Der benötigt allerdings einen Quarz mit 6pF Load Capacitance. Nach mehreren Versuchen mit verschiedenen Quarzen, die alle 6pF haben sollten, kam ich immer noch auf eine Abweichung von ca. 10 sek / Tag (mag sein, dass der 1307 mit einer Quarz Load Capacitance von 12,5pF leichter zu handhaben ist). Da ich aber einen hohen Anspruch an die Ganggenauigkeit habe, wäre als Alternative noch der DS1338C mit eingebautem Quarz in Frage gekommen. Der ist allerdings über meine bevorzugten Distributoren nicht zu bekommen. Wichtig war mir auch, dass der RTC in DIL Ausführung zu bekommen ist, das wäre aber kein Killerkriterium. Unzufrieden bin ich momentan aber noch bei meiner Wahl PCF8583 mit der fehlenden Unterstützung für Schaltjahre, ist aber momentan nicht so wichtig. Gruß Reinhard

hallo

ich hab hier mehrere 1307 mit einem 12.5pF Quarz laufen und einer ganggenauigkeit von ca. 1 sec/ tag.

wenn man es genauer möchte, dann bieten sich DS3232 oder DS3231 an (ca. 9 euro).

oder man bindet einen DS32KHZ and den DS1307 an. allerdings habe ich das noch nicht selber ausprobiert.

markbee

Oder gleich ein Funk-Uhr-Modul anklemmen:

https://ssl-id.de/b-redemann.de/sp-project-dcf77.shtml ( Wieso der da https hat, weiß allein der Webmaster )

3,3 Volt haben wir ja am Arduino, aber die Signalauswertung würde wohl 4-8 kByte erfordern.

MfG

Kann ich nur sehr bedingt empfehlen, sorry wenn ich dagegen spreche. Du musst 60sec Fehlerfrei mitschneiden. Und wenn das Ding etwas schief liegt gehts meist schon nicht mehr. Aber wenns schon genau sein soll GPS wäre eine Möglichkeit ;)

Du musst 60sec Fehlerfrei mitschneiden.

Ja, mindestens 60 sec ist das Empfangs-Fenster.

Und wenn das Ding etwas schief liegt gehts meist schon nicht mehr.

Das Ding hat eine für heutige Verhältnisse monströse Ferrit-Antenne ( die passt in kein ‘Ei-Pad’ ). Und Schieflage ist bei stationärem Betrieb wohl kein Thema. Und GPS-Empfänger sind schon mindestens 10 mal so teuer.

MfG