Hallo,
ich möchte gerne bei einem neuen Projekt eine Echtzeituhr gepuffert implementieren.
Idealerweise mit einem wartungsfreien Kondensator als Energiespeicher bei Stromausfall.
Gangreserve ca. 4 Wochen wäre gut.
Die meisten 32 Bit MCUs haben ja ein RTC integriert.
Aber ich sehe folgende Unterschiede:
Bei einem Hersteller (ich glaube es war ST) wird ein separater Pin herausgeführt, an dem die Hilfsspannung angeschlossen wird, die dann nur den RTC Schaltungsteil mit wenig Strom am Leben erhält.
Bei Microchip gibt es so etwas wohl nicht. Hier muss bei Stromausfall die gesamte MCU unter Spannung gehalten werden und in des Sleep Modus versetzt werden, mit allen Problemchen die damit verbunden sind....
Sehe ich das so richtig ?
Möchte gerne nicht auf einen externen RTC Chip aus Kostengründen zurückgreifen.
Ich weiss, das die Automobil-Industrie das verlangt (Werksferien), aber ich glaube nicht dass man das mit einem Kondensator garantieren kann. Ich habe immer Akkus oder Lithium-Knopfzellen eingebaut.
Wenn man einen passenden Controller wählt braucht der im Schlafmodus auch nicht mehr als eine getrennte RTC.
Ich weiss, das die Automobil-Industrie das verlangt (Werksferien), aber
ich glaube nicht dass man das mit einem Kondensator garantieren kann.
Ich habe immer Akkus oder Lithium-Knopfzellen eingebaut.
Wenn man einen passenden Controller wählt braucht der im Schlafmodus
auch nicht mehr als eine getrennte RTC.
Georg
Es geht schon mit mit einem C. Vor Jahren baute ich ein Instrument mit einem DS1302 drin. Der RTC Baustein ladet da anstelle eines Akkus einen 0.15F oder 0.47F Goldcap. Es hat sich herausgestellt, daß die RTC mindestens sechs Monate oder noch länger läuft, wenn auch mit verminderter Genauigkeit, was dem großen Spannungsabfall am Supercap über lange Zeit zugrundeliegt. Ein Monat mit typischer DS1302 Genauigkeit ist definitiv möglich. Eine CRxxxx hat halt den Vorteil, daß der Spannungsverlauf über Zeit viel konstanter ist und deshalb bessere Gangergebnisse zu erwarten sind.
Ich verwendete vor Jahren die RTC im STM32F103VET6 und das funktionierte auch sehr gut. Eine CR1225 lief da mit guter Genauigkeit über fünf Jahre im ausgeschalteten Gerätezustand. Der F103 hat einen Vbat Pin dafür.
Bei einem Hersteller (ich glaube es war ST) wird ein separater Pin
herausgeführt, an dem die Hilfsspannung angeschlossen wird, die dann nur
den RTC Schaltungsteil mit wenig Strom am Leben erhält.
Bei ST gibt es den extra VBAT-Pin nur bei größeren Gehäusen. Vielleicht macht Microchip das ähnlich.
Möchte gerne nicht auf einen externen RTC Chip aus Kostengründen
zurückgreifen.
Ja, der hat auch keinen VBAT-Pin und keinen Umschalter. Das stört nicht, solange man den SuperCap aus 5V (oder so) laden kann. Ansonsten hat Micro Crystal auch welche mit Umschalter. Mit der richtigen Ladeschaltung hängt der RTC-Chip nur über einen Widerstand am Kondensator. Der kann dadurch von 3.3V bis runter zu 0.9V genutzt werden, und das mit max. 600nA@85°C (typ. 190nA). Die STM32 z.B. geben bei 1.65V auf.
Der entscheidende Vorteil ist aber der integrierte Quarz, deshalb schwingt der auch auf einer versifften Platine und bei jedem Wetter an. Und er braucht trotzdem weniger Platz als Quarz, 2 Cs und evt. 1 R. Noch kleiner wird's, wenn man auch noch den MHz-Quarz sparen kann, weil der uC aus 32kHz per PLL seine internen MHz machen kann.
Der RTC Baustein ladet da anstelle eines Akkus einen
0.15F oder 0.47F Goldcap.
Und wie lange hat der Goldcap gehalten? Meiner Erfahrung nach sind die nach 5-6 Jahren im Eimer. Die altern wie Sau. Dann musste tauschen, so wie bei einer Batterie, aber mit Lötkolben.
Der RTC Baustein ladet da anstelle eines Akkus einen
0.15F oder 0.47F Goldcap.
Und wie lange hat der Goldcap gehalten? Meiner Erfahrung nach sind die
nach 5-6 Jahren im Eimer. Die altern wie Sau. Dann musste tauschen, so
wie bei einer Batterie, aber mit Lötkolben.
Ich hab vor ein paar Wochen meine Küchenuhr vom Elko-Siff befreien müssen. Dort hatte ich zwei 1F 2.7V in Reihe an 5V über eine rote LED und R geladen. Das ging dann an den VBat Pin eines F103.
Die Gangreserve habe ich so gut wie nie gebraucht, 5 Jahre hat sie gehalten und dann gut 2 Stunden Arbeit, bis die Elkos da raus gefummelt und alles wieder sauber war. Hätte ich mal eine Batterie genommen...
Der RTC Baustein ladet da anstelle eines Akkus einen
0.15F oder 0.47F Goldcap.
Und wie lange hat der Goldcap gehalten? Meiner Erfahrung nach sind die
nach 5-6 Jahren im Eimer. Die altern wie Sau. Dann musste tauschen, so
wie bei einer Batterie, aber mit Lötkolben.
Ich baute das Instrument um 2007 und es funktionierte noch vor ein paar Monaten. Die RTC läuft zumindest noch heute. Ich habe nachgesehen.
Ich hatte allerdings ein Problem im Akai UKW Tuner und bei einem 700F 5V USV. Beim AKAI Tuner kommt nan leider schwer dran. Habe deswegen zwei AA Zellen eingebaut, mit Diode versteht sich:-)
im Wohnraum wären das 30 Jahre. In einer Schaltung wie oben wird der nur bis ca. 3.1V geladen, macht 60 Jahre. Dann hat er den doppelten Innenwiderstand aber immer noch 70% Kapazität. Er überbrückt also immer noch 3 Wochen statt einem Monat. Der Innenwiderstand von dann 1 Ohm sollte für eine RTC gerade noch reichen. Also hält er effektiv noch deutlich länger, sagen wir 100 Jahre. Mit einem Faktor 2 für Werbelügen und einem Faktor 2 für Klimaerwärmung sind wir bei 25 Jahren bei dauernd 35°C.
Allerdings: in einem Gerät, das normal dauernd am Netz hängt, sollte eine 3.6V-Tadiran-Batterie auch so lange halten. Bei der kann man nämlich statt der Schottkydiode eine BAV199 oder einen BC846 nehmen. Das ergibt dann immer noch das 10-fache der empfohlenen Lebensdauer von Mobiltelefonen ;)
Waren das die alten Goldcaps? Heute sollte es doch etwas besseres geben?
Hah, ich konnte noch nachsehen. Die lagen bis grade eben noch im Aschenbecher in der Werkstatt.
Tecate aus Woche 13, Jahr 2009
Am Code-Archive zu meiner Uhr sehe ich, wann die verbaut wurden. 2015. Habe die damals "neu" gekauft.
Womit ich auch schon schlechte Erfahrungen gemacht habe waren "Hy Cap" (mit einem Blitz zwischen den Worten) 10F 2.7V.
Davon hatte ich mal ~20 Stück auf einem Rest Lochraster verlötet und liess die Tagsüber an einer kleinen Solarzelle laden. Nachts war das Flur-Licht und im Bad ein Nachtlicht. Nach 3 Jahren fiel das Licht aus, mehr als die Hälfte der Kondensatoren war am Auslaufen.
Die waren auch frisch gekauft als ich die verbaut habe, keine Schrottverwertung oder so. Die blieben von nem anderen Projekt übrig...
Bei Microchip gibt es so etwas wohl nicht. Hier muss bei Stromausfall
die gesamte MCU unter Spannung gehalten werden und in des Sleep Modus
versetzt werden, mit allen Problemchen die damit verbunden sind....
Sehe ich das so richtig ?
Ja, allerdings ist mir unklar, welche "Problemchen" du meinst. Offenbar haben Leute viel öfter mit dem umgekehrten Fall Probleme, weil sie Spannung an I/O Pins legen, währen der µC keine Stromversorgung hat.
Hallo,
habe beschlossen, diesen externen RTC zu nehmen.
Er hat eine geringe Stromaufnahme von nur 130 nA, aber leider keinen eigenen Anschluss für den Supercap wie der RV-3149-C3 (800 nA).
Würde die gezeigte Schaltung (5V Versorgung) so an einer 3,3V MCU laufen ?
Erstmal fehlt ein Widerstand zur Ladestrombegrenzung. Der gehört direkt in Reihe zum Supercap, sonst erwischt die RTC immer nur die Spannung am Supercap, und die ist zu Anfang Null bis wenig.
Ansonsten könnte es knapp funktionieren, aber es ist ziemlich undefiniert. Der Spannungsabfall an der BAV199 kann schon mal 2V sein, wenn viel Ladestrom fließt, na gut, 0.3V über VDD sind an den RTC-Eingängen ja erlaubt. Wenn der Supercap richtig voll ist, fließen nur noch nA und der Spannungsabfall wird viel kleiner, RTC-VDD wird deutlich größer als 3.3V und der High-Pegel für die RTC-Eingänge (min. 70%) wird langsam knapp.
Dass der Supercap bis auf über 4V aufgeladen wird, ist natürlich gut für die Laufzeit und funktioniert, nur halt die Lebensdauer... Naja, man kann nicht alles auf einmal haben.
Auf jeden Fall besser für den Supercap, aber deutlich weniger Laufzeit. Jetzt wird allerdings RTC-VDD bis zu 0.9V kleiner als die 3.3V. Damit reicht die SDO-Ausgangsspannung nur ganz knapp für den uC (wahrscheinlich 70% von 3.3V). Die RTC-Eingänge werden jetzt "überfahren" und leider widerspricht sich das Datenblatt in dem Punkt selbst: keine Schutzdiode nach VDD, aber Abs.max. VDD+0.5, aber Static characteristics 5.5V. Und ich dachte, Schweizer Uhrmacher wären besonders gewissenhaft :(
Beim STM32 muss man mit der Eingangsspannung auch aufpassen. Die Werbung sagt 5V-tolerant, aber das gilt nicht für jeden Pin und nicht, wenn ein Pull-Up eingeschaltet wird und vor allem nicht, wenn VDD Null ist. Dann sind gerade mal 3.6V erlaubt.
Ich wollte den Supercap als kleines Modul steckbar machen, damit man wahlweise eine CR2032 drauf stecken kann. Außerdem sind meine 5V nicht besonders stabil, deshalb sieht das Bild so kompliziert aus. Deshalb sorgt auch der Transistor V22 dafür, dass die Ladespannung nicht von den 5V abhängt. Nebenbei macht er Temperaturkompensation. V21 spielt auch Diode, und, wenn man den Gerüchten glauben darf, kann er das besser als eine BAV199 (viel konstanterer Spannungsabfall, viel höherer erlaubter Strom und genauso kleiner Leckstrom).
Mit dem Spannungsteiler R82, R77 kann man den Ladeschluss einstellen und damit den Kompromiss zwischen Lebensdauer und Eingangsspannungen der ICs. Ein besonders netter Kompromiss ergibt sich, wenn man den Spannungsteiler weg lässt und den Emitter von V22 direkt an 3.3V legt.
Mal von der Frage der Spannungsversorgung abgesehen. Wenn Du die interne RTC eines Microcontrollers nutzt, mache Dich auf Schmerzen bei der Implementierung gefasst.
Was nämlich fast immer der Fall, aber so gut wie nie dokumentiert: Die RTC läuft in einer anderen Clock Domain.
D.h. nur weil Du in ein Register schreibst bedeutet das nicht, das die Daten übernommen werden. Das passiert häufig erst dann, wenn die nächste Millisekunde des RTC Quarzes abgelaufen ist.
Das gleiche passiert beim Lesen aus Registern: Wenn Du die Uhrzeit ausliest (Tag, Stunde, Sekunde etc) kann es passieren, das zwischen den Zugriffen der Uhrenquarz weiter tickt. Die Daten sind dann unzuverlässig. Und in welcher Reihenfolge die RTC Perepherie die Register updated: Das steht natürlich auch nirgendwo.
D.h. Du solltest beim Lesen der Zeit aus der RTC eine Schleife laufen lassen, die so lange liest, bis Du zwei mal das gleiche Ergebnis bekommst.
(Have learned this the hard way: Kreditkarten Terminal, welches über die RTC die Gültikkeit des Zertifikates prüft und - wenn Zertifikat abgelaufen - das Gerät brickt. Ist schon doof, wenn es während der Entwicklung niemals aufritt, das durch die zwei Clock Domains Race Conditions entstehen, aber im Feld dann die Rückläufer kommen, weil grundlos die Geräte ihre Zertifikate verwerfen)..
Hallo,
habe eben die LIthium Knopfzelle CR2032 in meinem Laptop nach 5 Jahren gewechselt. Hier ist ja auch ein RTC drin.
War erstaunt, dass dise alte immer noch 3.07 V hat.
Wenn ich mir jetzt so die Probleme mit den Supercaps so ansehem übelege ich doch, eine CR2032 als Backup für den RTC zu nehmen...
CR2032 haben sich bewährt. Experimente mit Akkus lasse ich lieber in den
90er Jahren, wo sie her kommen.
Sehe ich ähnlich. Ich verwende die DS1307 und eine stinknormale CR2032 in einer Batteriehalterung als Backup, wenn die Stromversorgung ausfällt.
Bei Computern halten die CR2032 gut und gerne auch mal 10 Jahre. Aber selbst wenn die Computer dauerhaft vom Netz getrennt sind, halten die noch 5 Jahre.
Ich glaube nicht, daß man mit Akkus und Ladeschaltungen eine ähnliche Zuverlässigkeit über 5 Jahre hinbekommt und dann auch noch zu dem Preis.