Hi. Ich möchte bei meinem Gerät eine möglichst genaue Uhrzeit haben, und zwar über einen Zeitraum von ca 1 Jahr. Die Zeit soll auch erhalten bleiben, wenn das Gerät nicht am Strom ist. Daher suche ich nach einem RTC Chip, der die Uhrzeitfunktion übernimmt und mit einer CR2032 Knopfzelle mindestens mehrere Monate bis 2 Jahre betrieben werden kann. Schön wäre es, wenn das RTC Modul auch einen kleinen SRAM Speicher hätte, um Daten zu speichern, die nach einem Verlust der Uhrzeit (CR2032 entfernt oder leer) nicht mehr weiter verwendet werden sollen / dürfen. Wenn die Uhrzeit wegen entfernter oder leerer Batterie defintiv nicht mehr stimmt, muss das Gerät durch den Anwender auf jeden Fall neu eingestellt werden, in dem es an den PC angeschlossen und neu synchronisiert wird.
Wie wäre es mit dem Urvater aller CMOS Uhr-RAM Bausteine: DS1287. Ähnliches gibt es von anderen Herstellern auch. Stichworte: PC, CMOS, Clock, NVRAM
Marc Vesely schrieb: > DS1307 (RTC) + 24C32 (I2C) > 56Byt RAM + 4KB EEP > > Weniger als 1 EUR bei AliExpress. Edit geht nicht mehr, also: 5 Stuck bestellt, Abweichung von 1.5s/Tag bis 6s/Tag. Habe eine kleine Tabelle im 24C32, Zeit wird mithilfe dieser Tabelle korrigiert, bei Raumtemperatur habe ich einen Fehler von max. 1s/Monat.
Ungenügende Angaben! Geht es um ein paar zusätzliche Bytes oder gleich um ein paar Kilo davon?
56 Byte reicht. Die Kombi mit DS1307 und 24C32 gefällt mir. Die beiden Chips können dann zusammen mit der Batterie auf eine Platine gepackt werden, die dann im Zielsystem eingelötet wird. Ich brauch ja nur das Einrichtungsdatum im RTC und im EEPROM zu speichern. Wenn beides nicht übereinstimmt, bzw die aktuelle Zeit keinen Sinn macht (Vergangenheit, mehr als 3-4 Jahre nach Einrichtungsatum) wird die gesamte Config als nicht zulässig gewertet.
Der DS3232 hat ein eingebautes SRAM und eine Genauigkeit von +/- 2 min im Jahr und sollte bei einem mittleren Strom von 3uA und einer CR2032 mindesten ein paar Jahre laufen. I2C Schnittstelle. Es gibt auch noch eine MEMS Resonator Version, den DS3232M, im 8-Pin Gehäuse. Mike schrieb: > Hi. > > Ich möchte bei meinem Gerät eine möglichst genaue Uhrzeit haben, und > zwar über einen Zeitraum von ca 1 Jahr. > > Die Zeit soll auch erhalten bleiben, wenn das Gerät nicht am Strom ist. > > Daher suche ich nach einem RTC Chip, der die Uhrzeitfunktion übernimmt > und mit einer CR2032 Knopfzelle mindestens mehrere Monate bis 2 Jahre > betrieben werden kann. > > Schön wäre es, wenn das RTC Modul auch einen kleinen SRAM Speicher > hätte, um Daten zu speichern, die nach einem Verlust der Uhrzeit (CR2032 > entfernt oder leer) nicht mehr weiter verwendet werden sollen / dürfen. > > Wenn die Uhrzeit wegen entfernter oder leerer Batterie defintiv nicht > mehr stimmt, muss das Gerät durch den Anwender auf jeden Fall neu > eingestellt werden, in dem es an den PC angeschlossen und neu > synchronisiert wird.
Mike schrieb: > Die Kombi mit DS1307 und 24C32 gefällt mir. mir nicht mehr, externer Quarz, relativ ungenau, ich verwende nur noch DS3231 mit externem i2c EEPROM http://www.ebay.de/itm/1x-DS3231-AT24C32-IIC-Modul-Prazision-Echtzeituhr-Time-Speichermodul-Fur-Arduino-/171366856553?pt=LH_DefaultDomain_77&hash=item27e642b769 Achtung, die werden mal mit mal ohne Akku! ausgeliefert, genau lesen und/oder Händler befragen, die LiR hier nachkaufen wird teurer als das komplette Modul. Akku Version hat Ladediode und R bestückt und braucht 5V und verbietet CR2032 wegen der Ladeschaltung, es gibt auch welche die werden ohne Diode und R geliefert für den CR2032 Betrieb. Akku ist besser wenn selten stromlos geschaltet wird, LR oder LiR 2032 50mAh Batterie ist besser wenn wenn eher oft stromlos geschaltet wird, CR 2032 200mAh hält also min. 4x länger. Den 3232 muss ich mir mal ansehen
Mike schrieb: > Die beiden Chips können dann zusammen mit der Batterie auf eine Platine > gepackt werden, die dann im Zielsystem eingelötet wird. Brauchst du gar nicht, die befinden sind schon auf einer Platine, zusammen mit CR2032 Batterie.
Und falls ein EEPROM dabei sein soll: MCP79410 http://www.reichelt.de/MCP-79410-I-SN/3/index.html?&ACTION=3&LA=446&ARTICLE=109808&artnr=MCP+79410-I%2FSN&SEARCH=mcp79410
Joachim B. schrieb: > mir nicht mehr, externer Quarz, relativ ungenau, ich verwende nur noch > DS3231 mit externem i2c EEPROM Ja, die sind schon genauer, haben aber kein SRAM.
Marc Vesely schrieb: > Joachim B. schrieb: >> mir nicht mehr, externer Quarz, relativ ungenau, ich verwende nur noch >> DS3231 mit externem i2c EEPROM > > Ja, die sind schon genauer, haben aber kein SRAM. Wer SRAM will, nimmt den DS3232. fchk
Marc Vesely schrieb: > Ja, die sind schon genauer, haben aber kein SRAM. wenns nötig ist, EEPROM geht ja auch, kommt immer drauf an. ohne Akku und teurer: http://www.ebay.de/itm/INBOARD-RTC-DS3232-Real-Time-Clock-and-Temperature-Sensor-I2C-BUS-PIC-AVR-ARM-/120841157983?pt=LH_DefaultDomain_0&hash=item1c22b1bd5f
:
Bearbeitet durch User
Ich habe mal die Datenblätter der verschiedenen IC gelesen. Der PCF8583, der DS3232 oder DS3232M wären momentan meine Kandidaten. Wobei DS3232 irgendwie schwer zu bekommen sind als Bastler. Reichelt bietet ehr noch die DS1307 Der DS3231 hat zwar kein SRAM, aber mit einem Trick könnte ich ihn nehmen. Ich könnte die System-Setup Zeit einfach in das Alarmregister 2 schreiben. Oder sonstige Registerbits setzen, die nach einem Power+Battery Failure mit Uhrzeitverlust dann wieder auf 0 stehen.
Der SRAM wird ja nur dafür gebraucht, sicherzustellen, dass das System nach einem kompletten Spannungsausfall nicht mit einer nicht gestellten Uhr benutzt wird.
Mike schrieb: > Der SRAM wird ja nur dafür gebraucht, sicherzustellen, dass das System > nach einem kompletten Spannungsausfall nicht mit einer nicht gestellten > Uhr benutzt wird. Da mußt Du nur ein Register abfragen, was bei einem Spannungsabfall gelöscht wird. Manche Bausteine haben dafür ein extra Statusbit.
m.n. schrieb: > Da mußt Du nur ein Register abfragen, was bei einem Spannungsabfall > gelöscht wird. Manche Bausteine haben dafür ein extra Statusbit. entweder das oder ob RTC Time < Compile Time ich schreibe die Compiletime in den Source wird neu gestartet wird mit der RTC verglichen, ist die RTC leer dürfte die RTC Time < Compiletime sein Mit RAM kann man einen time is set setzen mit EEPROM auch
Mein derzeitiger Plan ist folgender: Jedes Mal, wenn das System konfiguriert wird, wird die Zeit über den PC neu gestellt, und der Zeitwert auch im Config EEPROM gespeichert. Außerdem wird im Alarmregister eine Zeit eingetragen, die 2 Jahre in der Zunkunft liegt. Anschließend wird bei jedem Systemstart geprüft, ob die Zeit im RTC vor dem letzten Config Zeitpunkt liegt, und ob das Alarmregister leer ist oder der Wert überschritten ist. Falls ja, wird der User dazu aufgefordert, die Zeit neu zu stellen, weil davon auszugehen ist, dass die Zeit ungenau oder falsch ist.
m.n. schrieb: > Dann darf die Uhr aber keine Sekunde nachgehen ;-) doch kann sie, das wird nicht verhindert ich wunderte mich gerade nach Neustart das ich die Uhr nicht zurückdrehen kann hatte nur hh und mm zugelassen und frührere Stunde als Compiletime geht halt nicht :-)
:
Bearbeitet durch User
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.