Hallo Forum!
Ich hatte mir bei Ali ein paar RTCs bestellt.
Auf dem Uno Rev.4 läuft auch schön die Laufschrift und die Uhrzeit wird
korrekt angezeigt.
Allerdings läuft die Uhr nicht weiter, wenn nur noch über die Knopfzelle
Strom kommt. Am DS3231 kommt 3.3V an (Pin 13 u. 14 gemessen).
Den Widerstand für die Ladeschaltung habe ich entfernt.
Statt Knopfzelle hatte ich auch das Labornetzteil dran.
Wenn ich mir mit "Serial.println(0xE);" das Register anzeigen lasse,
bekomme ich "14" angezeigt.
Was ist dann dort eingestellt? Vorher wurde dort 20 angezeigt.
Wenn ich das zum umrechnen in einen Rechner eingebe, dann bleibt das MSB
immer 1.
Erstmal wüsste ich gerne was diese "14" für ein Wert ist und kann man
den auch binär ausgeben?
Und weiter wüsste ich gerne, wie ich das auf 0 (Null) einstellen kann?
Alles was ich im Netz gefunden habe, führte nicht zum Ziel.
Seit gestern Abend hatte ich mich damit befasst und wirklich lange
gesucht.
Frank O. schrieb:> Wenn ich mir mit "Serial.println(0xE);" das Register anzeigen lasse,> bekomme ich "14" angezeigt.
Serial.println(0xE) zeigt dir nicht den Registerinhalt an sondern die
Dezimaldarstellung der Hexadezimalzahl "0xE" . Und das ist Dezimal 14.
Nils S. schrieb:> Serial.println(0xE) zeigt dir nicht den Registerinhalt an sondern die> Dezimaldarstellung der Hexadezimalzahl "0xE" . Und das ist Dezimal 14.
Danke erstmal dafür! So einfach konnte ich mir das auch nicht
vorstellen.
Weißt du denn wie man das Register ausliest?
Was ich oben schon an Code eingefügt habe, hatte ich jetzt noch einmal
in binär geschrieben und die 0, für schreiben, angehängt.
Keine Fehlermeldung, aber die Uhr bleibt weiter stehen, sobald die
Spannung weg ist.
Das liest man ganz oft, wenn man nach diesem Thema sucht. Leider liest
man keine anderen Lösungen, als die, die ich schon ausprobiert habe.
Ist aber auch nicht so wichtig.
Habe da eh schon eine Menge Zeit mit verschwendet.
Danke!
Falk, vielleicht magst du ja mal drauf schauen.
Jeder andere selbstverständlich auch.
Das ist im Grunde eine Spielerei mit dem Uno R4 Bord.
Da zeigt die Matrix einmal in Laufschrift im Setup "Foldi" an.
Im Loop kommt dann immer "Ich habe jetzt Pause!", dann der Wochentag,
gefolgt von Datum und Uhrzeit.
Falk B. schrieb:> Siehe Anhang. Es ist das Modul hier, es hängt direkt am Arduino Uno.>
Wo ist denn da die Pufferbatterie?
Pin 13 Als Spannung für die Uhr zu nehmen, ist auch nicht schlecht. :-)
Wäre ich jetzt nicht drauf gekommen. Gute Idee.
Frank O. schrieb:> Falk, vielleicht magst du ja mal drauf schauen.> Jeder andere selbstverständlich auch.
Naja, sooo viel kann man bei dem IC nicht falsch machen. Bestenfalls das
EOSC Bit setzen, dann bleibt der Oszillator stehen, wenn die normale
Versrogung weggeht. Das kann irgendwo aus Versehen passieren. Also mal
Register 0E auslesen und den Wert anzeigen lassen. Er muss kleiner 128
sein, nur das ist das Bit gelöscht und der oszillator läuft im
Batteriebetrieb.
Im einfachsten Fall schreibt man 0 ins Register 0xE.
Du benutzt eine Bibliothek und die muss sich darum kümmern. Man kann
aber auch mal einen "manuellen" Zugriff machen. Wie das geht, steht in
meinem Programm.
writeRegister(0xE, 0);
Mit der im Moment auskommentierten Funktion dump_regs() kann man sich
alle Register anzeigen lassen.
Frank O. schrieb:>> Siehe Anhang. Es ist das Modul hier, es hängt direkt am Arduino Uno.>>> Wo ist denn da die Pufferbatterie?
Unter der Platine, zwischen Lochraster und Träger, sieht man nicht auf
dem Bild.
Frank O. schrieb:> Keine Fehlermeldung, aber die Uhr bleibt weiter stehen, sobald die> Spannung weg ist.
Kommt der 32kHz Takt weiter, wenn du VCC weg nimmst?
Moin!
Gleich muss ich erstmal weg. Ich habe jetzt von den restlichen
DS3231-Modulen den Widerstand für die Ladeschaltung runter gemacht und
werde alle probieren.
Was man so liest und vor allem laut Datenblatt, muss der IC selbst
erkennen welche Spannung anliegt.
Ich werde mir die Module einmal genau ansehen.
Leider habe ich bisher keinen Schaltplan dazu gefunden. Wenn also jemand
einen Schaltplan hat, wäre es schön, wenn er den hier verlinken würde.
Vielen Dank dafür!
Auch wenn ich bisher keine Uhr gebraucht habe und auch jetzt nicht
brauche, nervt es gewaltig, dass das nicht so funktioniert.
Das alles sind eigentlich nur Programmierübungen, weil ich in meinem
eigentlichen Projekt feststecke. Ich muss erstmal wieder besser
programmieren können. Und deshalb schaue ich mir verschiedenen Code an,
nehme diese Sachen als Vorlage für eigenen Code, damit ich das alles
besser verstehe.
Mit anderen Worten, mein Leben hängt nicht von diesem Modul ab.
Aber schön wäre es schon, es in den Griff zu bekommen.
Falk B. schrieb:> writeRegister(0xE, 0);>> Mit der im Moment auskommentierten Funktion dump_regs() kann man sich> alle Register anzeigen lassen.
Vielen Dank! Das werde ich heute Mittag auf jeden Fall versuchen.
Problem gelöst!
Bei der Bundeswehr hatte ich Hubschrauber repariert und wenn die Piloten
zurück kamen, gab es dann immer ein Debriefing. Wenn wir die Fehler, die
uns die Piloten erzählten, nicht nachvollziehen konnten, also nichts
kaputt war,
dann sagten wir immer: "Der Fehler lag zwischen den Kopfhörern!"
In diesem Fall auch.
Die Module funktionieren richtig, aber mein Verständnis für die
Programmierung noch nicht so ganz.
Aber jetzt habe ich den Fehler gefunden.
Vielen Dank an alle!
Frank O. schrieb:> Aber jetzt habe ich den Fehler gefunden.
Nur, falls sich da später mal einer dafür interessiert: was war der
Fehler? Was musstest du ändern?
Ich muss jetzt zum Arzt.
Hätte ich später noch ausführlich geschrieben.
Im Setup habe ich doch die Zeit gesetzt.
Mit jedem neuen Anschließen des Arduinos, setze ich automatisch die
Zeit, da natürlich keine aktuelle Zeit kommt, nimmt er immer die letzte
Zeit, der letzten Einstellung.
Frank O. schrieb:> Leider habe ich bisher keinen Schaltplan dazu gefunden.
Suchmaschinen wurden schon erfunden. Solange hier keiner weiß, welches
Modul genau du besitzt, wirst du wohl selber suchen und ihn dir ggf.
selber zeichnen müssen.
Rainer W. schrieb:> Suchmaschinen wurden schon erfunden. Solange hier keiner weiß, welches> Modul genau du besitzt, wirst du wohl selber suchen und ihn dir ggf.> selber zeichnen müssen.
Das Problem ist längst gelöst.
Wenn ich wüsste wie man die nennt.
Das sind die Teile, die es haufenweise bei eBay, Ali und Amazon für ein
paar Euro gibt. Diese Module mit dem EEPROM drauf.
https://de.aliexpress.com/item/1005006685897934.html
Frank O. schrieb:> Wenn ich wüsste wie man die nennt.> ...> https://de.aliexpress.com/item/1005006685897934.html
Geht doch - und so einfach 😄
Nachteil von so einem Angebotslink ist, dass der schon bald Geschichte
sein kann. Ein Bild hier im Forum hält sich so lange, wie der Thread.
Aber die HW war ja nun doch nicht Schuld ...
Rainer W. schrieb:> Aber die HW war ja nun doch nicht Schuld ...
Nein, war sie nicht.
Ich habe es nicht richtig gemacht.
Ich habe erst ca. Ende Februar wieder angefangen und im Grunde fast bei
Null.
Aber letztlich habe ich den Fehler dann doch alleine gefunden.
Zur Zeit bin ich noch sehr weit weg, von dort wo ich sein will.
Dass ich hier nicht mehr zum Guru werden kann, ist mir klar. Dafür ist
die Lebenszeit wohl nicht mehr ausreichend.
Aber das was ich da jetzt gemacht habe, auch wenn es nur eine Spielerei
ist, sieht schon einmal ganz nett aus und ich bin zufrieden.
Kleine Brötchen schmecken auch, man muss nur mehr davon essen, um satt
zu werden.
Also nochmal vielen Dank euch allen!
Insbesondere Falk, für seinen Code.
Kleiner Nachtrag:
Da ich jetzt einiges gelesen habe, wird dieser Fehler bei vielen der
Grund gewesen sein, dass das nicht richtig funktioniert.
Eigentlich kann man selbst drauf kommen, aber es wäre ein kleiner
Hinweis in dem Sketch sicher nützlich gewesen.
Frank O. schrieb:> Eigentlich kann man selbst drauf kommen, aber es wäre ein kleiner> Hinweis in dem Sketch sicher nützlich gewesen.
Wer lesen kann, ist klar im Vorteil.
1
// When time needs to be set on a new device, or after a power loss, the
2
// following line sets the RTC to the date & time this sketch was compiled
3
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
4
// This line sets the RTC with an explicit date & time, for example to set
Frank O. schrieb:> Moin!> Gleich muss ich erstmal weg. Ich habe jetzt von den restlichen> DS3231-Modulen den Widerstand für die Ladeschaltung runter gemacht und> werde alle probieren.> Was man so liest und vor allem laut Datenblatt, muss der IC selbst> erkennen welche Spannung anliegt.> Ich werde mir die Module einmal genau ansehen.> Leider habe ich bisher keinen Schaltplan dazu gefunden. Wenn also jemand> einen Schaltplan hat, wäre es schön, wenn er den hier verlinken würde.> Vielen Dank dafür!>> Auch wenn ich bisher keine Uhr gebraucht habe und auch jetzt nicht> brauche, nervt es gewaltig, dass das nicht so funktioniert.> Das alles sind eigentlich nur Programmierübungen, weil ich in meinem> eigentlichen Projekt feststecke. Ich muss erstmal wieder besser> programmieren können. Und deshalb schaue ich mir verschiedenen Code an,> nehme diese Sachen als Vorlage für eigenen Code, damit ich das alles> besser verstehe.> Mit anderen Worten, mein Leben hängt nicht von diesem Modul ab.> Aber schön wäre es schon, es in den Griff zu bekommen.
Hallo Frank,
Ich fand diese Seite hier mit nützlicher Information:
https://circuitdigest.com/microcontroller-projects/interfacing-ds3231-rtc-with-arduino-and-diy-digital-clock
Zuusätzlich möchte ich davor warnen, RTC Module mit dem DS3231M zu
bekommen. Man sollte nur die DS3231SN Module wählen. Ich bestellte
letztes Jahr Module mit SN spezifiziert. Erhielt aber die M Versionen.
Alle diese Module hatten grottenschlechte Genauigkeit und konnten auch
mit dem AGO Register nicht kalibriert werden. Ich reklamierte und
erhielt dann die gewünschten Module. Diese funktionierten
aussergewöhnlich gut, mit AGO=0 Genauigkeit von 1s/m.
Also aufpassen
Normalerweise funktioniert die automatische Backup Umschaltung immer
ohne Probleme.
Probier mal das dort gelistete Programm aus zum Vergleich ob das Problem
dann auch dort auftritt.
Auch ein Schaltbild findest Du dort.
Gruß,
Gerhard
Falk B. schrieb:> // When time needs to be set on a new device, or after a power loss,> the> // following line sets the RTC to the date & time this sketch was> compiled
Wer liest schon das Kleingedruckte? :-)
Wie wahr, du hast absolut recht!
Gerhard O. schrieb:> Zuusätzlich möchte ich davor warnen, RTC Module mit dem DS3231M zu> bekommen. Man sollte nur die DS3231SN Module wählen. Ich bestellte> letztes Jahr Module mit SN spezifiziert. Erhielt aber die M Versionen.> Alle diese Module hatten grottenschlechte Genauigkeit und konnten auch> mit dem AGO Register nicht kalibriert werden. Ich reklamierte und> erhielt dann die gewünschten Module. Diese funktionierten> aussergewöhnlich gut, mit AGO=0 Genauigkeit von 1s/m.
Hallo Gerhard!
Schön von dir zu hören.
Zu deiner Mail: Da war ich sicher die falsche Person dafür. Hatte mich
dort einmal eingeklinkt, aber hoffnungslos.
Das was du da gerade schriebst, das stelle ich hier gerade fest.
Die eine Uhr haut ab wie Schmitz Katze. Die nächste bummelt rum.
Aber auch die Atomuhr die ich mir auf dem Laptop anzeigen lies, lief
zwar, war aber erst nach dem Aktualisieren der Seite wieder genau.
Man kann sich da schon einen Wolf dran basteln.
Gibt es bessere Module, von anderen Anbietern?
Frank O. schrieb:> Gerhard O. schrieb:>> Man sollte nur die DS3231SN Module wählen.>> Gerade bestellt.> Danke für den Hinweis!> Vor allem kosten die nicht mehr.
Warte mal ab, was Du bekommst: Ich habe hier ein DS3231N(!) (gibt es
nicht, funktioniert auch nicht).
War billig.
Thomas W. schrieb:> Hast Du die Webseite gelesen?
Ne, weil Gerhard geschrieben hat, dass die gut sind.
Gerhard O. schrieb:> Diese funktionierten> aussergewöhnlich gut, mit AGO=0 Genauigkeit von 1s/m.
Gerhard O. schrieb:> die M Versionen. Alle diese Module hatten grottenschlechte Genauigkeit
Die 'M'-Versionen sind ja auch ganz andere Bausteine, die haben keinen
Quarz-, sondern einen MEMS-Oszillator.
Nachtrag,
Die irrtümlich erhaltenen DS3231M waren allesamt unbrauchbar. Keine
einzige ließ sich kalibrieren.
Ich bekam mal N Versionen. Die waren auch sehr schlecht.
Die als Ersatz geschickten SN Versionen waren dagegen absolut stellar.
Wie es manchmal gehen kann.
Meine Nixie Uhr, die eines der neuen Module drin hat, ist nun nach 9
Monaten nur 15s falsch. Man kann sich nicht beklagen.
Rolf schrieb:> Gerhard O. schrieb:>> die M Versionen. Alle diese Module hatten grottenschlechte Genauigkeit>> Die 'M'-Versionen sind ja auch ganz andere Bausteine, die haben keinen> Quarz-, sondern einen MEMS-Oszillator.
Trotzdem sollten sie am Tag nicht um viele s falsch gehen.
Ich habe zwei Original Maxim Samples im SO-8 Format von den MEMS
Versionen und die laufen beide einwandfrei.
Thomas W. schrieb:> Frank O. schrieb:>> Gerhard O. schrieb:>>> Man sollte nur die DS3231SN Module wählen.>>>> Gerade bestellt.>> Danke für den Hinweis!>> Vor allem kosten die nicht mehr.>> Warte mal ab, was Du bekommst: Ich habe hier ein DS3231N(!) (gibt es> nicht, funktioniert auch nicht).>> War billig.
Ja. Da muß man aufpassen. Obwohl ich nur SN Versionen bestelle, kriegt
man manchmal alles andere. Da muß man reklamieren.
Frank O. schrieb:> Hahaha!> Ich habe die dort bestellt:> https://www.christians-shop.de ...
Ist wohl ein Tippfehler auf der Webseite. Im Text steht dort nämlich
auch:
"DS3231M-Chip mit präziser Echtzeit- und Datumsbestimmung (höchstens
+-0,432 sek. Abweichung pro Tag)"
Die 0,432 s stehen übrigens im M-Datenblatt ...
Gerhard O. schrieb:> Ich bekam mal N Versionen. Die waren auch sehr schlecht.
Da es im Datenblatt kein N gibt, gehe ich mal davon aus, dass das
DS3231N(!) abgeschliffen und neu gelabelte Was-Auch-Immer sein (M oder
N, nur ein Strich, kann nicht so ein grosser Unterschied sein)
Kleines Anekdoetchen:
Segor liefert diese dummen DS3231-Platinen fuer 6.50EUR, mit der
Beschreibung "RTC DS3231+24C32 I2C 5V mit Akku! (LIR2032)". Willst Du
den DS3231SN von Dallas haben, ruft Segor ganz entspannt 15.90EUR auf.
Das ist auch bei BerryBase das gleiche: China-Ware auch ca. 5EUR, DS3231
mit Herkunftsnachweis ca. 15 - 20EUR.
Ist halt leider das Risiko wenn man nicht beim Distributor kauft.
Gibt es bessere Module, von anderen Anbietern?
Naja. Bei Watterott, Sparkfun oder Adafruit und ähnlich renommierte
Händlern, hätte ich keinerlei Bedenken. In der eBucht muß man aber
aufpassen; da ist alles möglich und man hat keine Ahnung was da
tatsächlich geliefert wird.
Vor vielen Jahren bestellte ich für meine Wetterstation in der Bucht
DS3234 SPI RTCs Module. Die waren grottenschlecht und akkumulierten in
zwei Wochen über 90s an Abweichung. Dann bestellte ich von Digikey.
Dieser DS3234 lief seit 2009 mit nur 90s Abweichung und ist Temperaturen
von -48 bis +50C ausgesetzt. Ich habe die RTC absichtlich seit der
Installation in 2009 nie mehr gestellt, weil ich die Langzeit Performanz
beobachten wollte, wenn reale Temperaturschwankungen im Spiel sind. Das
AGO ist auf Null eingestellt.
Rolf schrieb:> "DS3231M-Chip mit präziser Echtzeit- und Datumsbestimmung (höchstens> +-0,432 sek. Abweichung pro Tag)">> Die 0,432 s stehen übrigens im M-Datenblatt ...
Das sind "satte" 5ppm. Macht 13,39s / Monat bzw. 160,7s/Jahr. MAXIMAL!
Andreas S. schrieb:> Allerdings muss man mit LGA umgehen können.
Bisher habe ich immer nur Lochstreifenraster genommen. Bei den Preisen
für die Platinen (hab das in einem Video von Edi's Techlab gesehen) ist
es sicher wieder etwas, das man auch mal selbst machen kann.
Mit Heißluft und Lötpaste sollte MAX31328 aber kein Problem sein.
Btw: Die Uhr läuft seit heute Mittag sekundengenau.
Im Moment habe ich da eigentlich keinen Bock drauf, aber über kurz oder
lang werde ich die interne RTC auch mal testen.
Warum die nicht gleich hinten auch noch einen Batteriehalter drauf
gebaut haben? Kostet doch nur ein paar Cent.
Falk B. schrieb:> Siehe Anhang.
Inspiriert durch deine Schaltung, wollte ich beim Uno R4 WiFi den AREF
und Grnd, neben den I2C Anschlüssen nehmen.
Bei den anderen Arduinos waren die immer mit +5V verbunden. Hier nicht.
Hier sitzt da noch ein 5,1K Widerstand drin und ein Ferrit.
Jedenfalls, wenn man den belastet, dann bleibt der Controller stehen.
Nur mal so am Rande.
Frank O. schrieb:> Frank O. schrieb:>> Ich habe die dort bestellt:>>> https://www.christians-shop.de/DS3231SN-Hochpraezises-Echtzeit-Modul-Real-Time-Clock-mit-I2C-Bus> Die sind jetzt angekommen.> Tatsächlich ist eins dabei, dass ein M hinten dran stehen hat.> Werde ich reklamieren.
Jetzt koennte man sagen: ITYS (I told you so!)
> Also sind diese Module nicht sehr zuverlässig. Auch wenn es zunächst ein> Programmfehler war, sind die vorher festgestellten Unzuverlässigkeiten> doch nicht nur auf mich zurückzuführen.
Das war auch mein Eindruck (aber ich hatte nur ein einziges Modul
gekauft) und es waren die gleichen Fehler (lassen sich schlecht laden,
zuruecksetzen bei Power up [und nein, meine SW hatte kein
Default-Timestamp]).
Gruesse
Th.
Danke Falk!
Der Witz ist, wenn du nach dem Datenblatt zuerst VCC anlegst, soll das
"Enable Oscillator Bit" auf Null gesetzt werden. Dann erst die Batterie
einsetzen. Ich habe das bei mehreren Modulen ausprobiert. Funktioniert
nicht.
Aber auch die Register schreiben, wenn der Code stimmt, den ich schon im
Eingangspost eingefügt hatte, funktioniert nicht. Die Uhren laufen auf
Batterie nicht weiter.
Alles sehr merkwürdig ...
Frank O. schrieb:> Aber auch die Register schreiben, wenn der Code stimmt, den ich schon im> Eingangspost eingefügt hatte, funktioniert nicht. Die Uhren laufen auf> Batterie nicht weiter.> Alles sehr merkwürdig ...
Dann ist es mit hoher Wahrscheinlichkeit ein Softwareproblem.
War es vorher. Dass das Bit nicht geändert wird, was ja durch Anlegen
der Spannung schon geschehen soll, das ist dann doch eher ein
Hardwareproblem.
Für heute habe ich keine Lust mehr.
Aber über kurz oder lang werde ich das Schwein schon töten.
Wenn es ein normaler Ds3231 ist, muss das funktionieren.
Ich habe zig Platinen (mit EEprom) und auch einfach nur das IC (10 Stck.
für 3€ bei Ali) benutzt und noch nie Probleme gehabt, ja sogar
abweichungen bei Zimmertemperatur unter 10 Sekunden im Jahr. (Varta
Industrie Knopfzellen)
Welche Library wird benutzt, auch mal einfach eine DS3231 Library
Standard ausprobiert, ohne eigenen Code?
Die RTClib von Arduino.
Werde jetzt erstmal messen.
Warum das dann mit ein paar anderen Uhren geklappt hat, können im
Datenblatt zum DS3231M stehen. Die reden da von einem Prellen beim
Anschluss an den Strom.
Der DS3231 und der DS3231M sind 2 verschiedene ICs.
Der DS3231 hat einen Quarzoszillator, der DS3231M aber einen
MEMS-Oszillator.
MEMS sind mechanisch unempfindlich.
MEMS benötigen eine PLL, um die gewünschte Frequenz zu erzeugen und
haben daher einen höheren Jitter und Phasenrauschen.
Ab 2% Helium können MEMS Schaden nehmen.
Peter, vielen Dank! Wobei die schreiben, dass die im Wesentlichen gleich
sind. Die, bei denen ich aktuell Probleme habe, sind die SN-Typen, die
Gerhard empfohlen hatte.
Vielleicht solltest du mal besser beschreiben was du vorhast.
Nur über VBatt kann man den nicht benutzen, ab da an läuft dies und das
intern fest bis VCC angelegt ist.
Mir erscheint hier noch irgendetwas unstimmig.
Sodele!
Der Fehler lag zwischen den Kopfhörern.
Zuerst war die Batterie defekt. Die lagen auch schon ewig rum.
Dann war es wohl einfach zu spät. Man sollte nicht nur etwas
auskommentieren, man sollte es dann auch auf den Controller übertragen.
😩
Frank O. schrieb:> Zuerst war die Batterie defekt. Die lagen auch schon ewig rum.
Auch bei mir hat der LiR 2032 (Akku, LiIon, 45mAh) nach mehreren Tagen
laden eine Zellspannung von 0.45V. Die lag sicherlich fuenf Jahre in der
Schaltung, ohne Ladung. Tot.
Werde die "Lade-Elekronik" (eine Diode und ein ganzer Widerstand)
stillegen und eine CR2032 einbauen. Genauso gut oder schlecht.
Gruesse
Thomas W. schrieb:> Frank O. schrieb:>> Zuerst war die Batterie defekt. Die lagen auch schon ewig rum.>> Auch bei mir hat der LiR 2032 (Akku, LiIon, 45mAh) nach mehreren Tagen> laden eine Zellspannung von 0.45V. Die lag sicherlich fuenf Jahre in der> Schaltung, ohne Ladung. Tot.
bei mir 8 Jahre dauerhaft an +5V auch tot.
Ist ja auch klar, jeder Akku hat nur eine begrenzte Lebensdauer, ich
merkte das erst nach einem 3-stündigen Stromausfall.
Joachim B. schrieb:> 8 Jahre dauerhaf
Meine Knopfzellen waren nicht gerade fachgerecht gelagert. Dadurch kann
es schon zu eingen Entladungen gekommen sein und eine gewisse
Selbstentfaltung ist ja auch da.
Die Köpfe lagen alle wild durcheinander und da können einige auch schon
》10 Jahre dabei sein.
Wenn die auch (wie die defekte Batterie) zunächst funktionieren, so
können sie dann, wie in diesen Fall, relativ plötzlich zusammen
brechen.
Werde die Tage mal alle ausgepackten Zellen unter Last messen und dann
aussortieren.
Vielleicht sollte man sich überhaupt einmal einen Tester bauen.
Jetzt lief die Uhr schon eine Weile, da wollte ich das einem Kollegen
auf der Arbeit zeigen.
Ich klemme das Arduinoboard an seinen Rechner und in dem Moment rutscht
der Minus raus. Zack - Uhrzeit weg. Obwohl die Batterie in Ordnung ist.
Komischer Effekt.
Frank O. schrieb:> Obwohl die Batterie in Ordnung ist.> Komischer Effekt.
Meine Nixie in der Werkstatt habe ich 2 Jahre jeden morgen in der
Werkstatt angesteckt und Abends wieder ausgeschaltet.
dann sogar noch nen Jahr ganz aus gelassen und die Uhrzeit war noch da.
Das gleiche mit einer Küchenuhr als Timer, die kann ich heute noch nach
5 Jahren anstecken/benutzen und die Uhrzeit stimmt immernoch. (ist nur
nen küchentimer mit akku der sich von selbst ausschaltet)
Nur so mal das es anscheinend an dem Drahtaufbau liegen könnte,
vielleicht ein kurzschluss auf Masse der die Batterie kurzgeschlossen
hat.
Philipp K. schrieb:> Nur so mal das es anscheinend an dem Drahtaufbau liegen könnte,> vielleicht ein kurzschluss auf Masse der die Batterie kurzgeschlossen> hat.
Bin noch nicht einmal sicher, ob ich schon mit USB verbunden war. Und
sollte auch eigentlich egal sein, ob da Plus oder Minus weg war, denn
sobald die Spannung unter die Grenze fällt, sollte die wieder auf
Batterie umschalten.
Ich habe die wieder gestellt und versucht das zu simulieren. Hier
Zuhause bleibt die Uhrzeit.
Ist natürlich voll blöd, wenn man das gerade vorführen will und das dann
nicht klappt.
Frank O. schrieb:> Philipp K. schrieb:>> Nur so mal das es anscheinend an dem Drahtaufbau liegen könnte,>> vielleicht ein kurzschluss auf Masse der die Batterie kurzgeschlossen>> hat.>> Bin noch nicht einmal sicher, ob ich schon mit USB verbunden war. Und> sollte auch eigentlich egal sein, ob da Plus oder Minus weg war, denn> sobald die Spannung unter die Grenze fällt, sollte die wieder auf> Batterie umschalten.> Ich habe die wieder gestellt und versucht das zu simulieren. Hier> Zuhause bleibt die Uhrzeit.> Ist natürlich voll blöd, wenn man das gerade vorführen will und das dann> nicht klappt.
Das nennt man schlicht den "Vorführeffekt". An diesen kann man seine Uhr
stellen:-)
Ich habe schon viel mit RTCs gemacht. Dein beschriebenes Problem hatte
ich noch nie. Vielleicht gab es einen Statikschlag oder eine schlechte
Batterieverbindung, unbekannte Ursache eines Kurzschluss am kritischer
Stelle.
Gruß,
Gerhard
Ja, so ist das wohl.
Meistens baue ich Sachen, die man nicht so sehen kann. Sie funktionieren
einfach. Da habe ich dann mal etwas Sichtbares, bin voll stolz, dass ich
das zeigen kamm und prompt klappt es nicht.
Das ist wohl tatsächlich Murphy. (lach)
Aber war eh nur eine Spielerei.
Falls es noch jemand interessiert.
Da ich eine unendliche Geduld bei bestimmten Sachen aufbringen kann, so
habe ich natürlich in diesem Fall diese Uhr auch nicht mehr aus den
Augen gelassen.
Das letzte Mal hatte ich sie am 30.07.2024 gestellt. Seit dem habe ich
sie über USB, dann wieder über Batterie, mal kurzzeitig mal über Nacht,
laufen lassen.
Der Arduino steckte neben mir im USB-Tischladegerät.
Gerade wurde wieder das Grunddatum angezeigt.
Und jetzt kommt der absolute Hit und mir völlig unbegreiflich, ich
klemmte den Arduino nun an meinen Laptop, um die Uhr neu zu stellen und
unbegreiflicher Weise zeigte der Arduino nun wieder die richtige Uhrzeit
an.
Wie geht das denn?
Auch wenn es eine Spielerei bleibt und ich nicht wirklich ein Uhrzeit
brauche (obwohl ich mich bei der Arbeit dran gewöhnt habe, dass ich das
Datum und den Tag angezeigt bekomme), so interessiert mich dieses
merkwürdige Verhalten nun aber doch.
Also wenn jemand eine Erklärung hat, ich habe keine mehr und noch viel
weniger als vorher, wo nur die Uhrzeit verloren ging.
Frank O. schrieb:> Wie geht das denn?
Da wird ein Fehler in der RTC-Lib vorliegen.
Ohne VCC werden ja SDA, SCL auf low gezogen. Nach dem Aufwachen ist also
der I2C-Bus in einem undefinierten Zustand. Es sollte also nach einer
Wartezeit zum Stabilisieren der VCC erstmal ein Dummy Zugriff erfolgen,
um den I2C-Bus in einen definierten Zustand zu bringen.
Ohne klappt wohl das Auslesen mal und mal nicht.