RTC DS1307 5V PC Netzteil

Moin,

ich habe folgendes Problem (Zusammenfassung):

Mein RTC Modul von DFRobot läft mit USB Stromversorgung des Ardunios ohne Probleme. Sobald ich aber die RTC und den Arduino über ein PC-Netzteil mit 5V versorge, werden keine Daten mehr ausgelesen. Alles andere funktioniert ohne Probleme; Sensoren, LCD, SD-Modul.

Verwendete Hardware:

  • Ardunio UNO rev.3
  • RTC DS1307 breakout DFRobot
  • SD-Modul breakout
  • LCD breakout DFRobot (Blacklight, 4x20)
  • DHT22
  • 250V Relais breakout
  • 300W ATX Netzteil BeQuit (Neu)

USB Versorgung:

In der Bastelphase wurde der Arduino ganz normal über die USB Verbindung und die anderen Teile direkt über den 5V Pin versorgt. Nur die beiden I2C Module, also LCD und RTC, waren natürlich in Reihe geschaltet (Reihenfolge ARDUINO - RTC - LCD). Auch die Stromversorgung!

PC-Netzteil:

Hierbei habe ich die Sensoren, Taster, RTC, Relais, Arduino, und das SD Modul direkt über die 5V des Netzteils versorgt. Nur das LCD ist wie bei der USB variante wieder über die RTC geschaltet.

Falls links zu den Teilen benötigt werden kann ich die gerne nachliefern. Auch einen Schaltplan kann ich erstellen falls das der Fehleranalyse hilft.

Problemverhalten im Detail:

Währen der USB Versorgung klappt alles wunderbar. DIe RTC wird gestellt, läuft und ist nach dem ein und auschalten weiterhin erreichbar. Alles so wie es sein soll. Sobald ich nun aber die Stromversorgung über mein neues NT herstelle, bekomme ich keine Werte mehr übermittelt. Alle anderen angeschlossenen Teile weisen kein Fehlverhalten oder sonstige Auffälligkeiten auf, außer der LCD, der ein wenig heller leuchtet. Die RTC scheint auch weiter erreichbar zu sein; In meiner RTC Lib gibt es eine .isRunning funktion, welche weiterhin den Wert true liefert. Einzig und allein die Daten kommen nicht an.
Nachdem ich ein bischen im Internet nach änhlichen Problemen gesucht hatte und auch teilweise fündig wurde habe ich ein bischen was ausprobiert. Als erstes hab ich die Batterie entfernt, dann im Setup eine .isRunning Abfrage, die bei false die Uhr neu stellt, eingebaut. Und siehe da, es fukntioniert. Natürlich wird die Uhr jetzt bei jedem unterbrechen der Stromversorgung neu gestellt, aber die Daten können nun zumindest ausgelesen werden. Sobald ich die Batterie wieder einlege, gibts wieder die gleichen Probleme. Weisst für mich auf Batterie als Ursache hin, nur warum genau weiss ich leider nicht. Dafür reichen meine Elektronik kentnisse noch nicht aus.
Nach dem Test mit der Knopfzelle kaufte ich mir heute eine neue im Baumarkt. In einem Beitrag zu einem ähnlichen Thema war das die Lösung. Klang zwar für mich nicht logisch aber bei 1,49€ kann man das ja mal ausprobieren.
Heute nach der Arbeit habe ich dann die neue Batterie, bevor ich das erste mal die gesammte Schaltung in betriebt nahm, eingelegt. Danach schaltete ich das NT ein und überprüfte die RTC ausgaben. Und tatsächlich wurden nun mit eingelegter BAtterie daten ausgelesen. Die Uhrzeit die ich am vorabend in das Setup geschrieben hab, wurde so wie es sein soll angezeigt. Zum überprüfen des Ergebnisses schaltete ich nochmals alles aus und wieder ein und wieso auch immer, fukntionierte es jetzt nicht mehr. Wie kann das sein? Neue BAtterie, einmal funktionierts und dann nicht mehr? :astonished: Das ergibt für mich alles keinen Sinn.

Gibt es da irgendwelche spannungspeaks beim einschalten des NT's die der Batterie schaden? Oder ist es problematisch das ich das LCD über die RTC mit Strom versorge?
Ich bin verwirrt und komme hier irgendwie nicht weiter.

Ich weiss das es hier immer schwierig ist bei Problemen zu helfen wo wichtige Infos fehlen und hier auch keiner eine gut funktionierende Glaskugel sein eigen nennt. Daher bitte ich mir zu sagen falls ich irgendwas vergessen hab, oder die Problematik irgendwie unverständlich ist. Wenn ihr Schaltpläne, Code, links zur Hardware Fotos oder was auch immer braucht, bitte sagt es. Nur wäre ich euch wirklich sehr Dankbar wenn ihr mir helfen könntet.

Viele GRüße,

Christian

Hast Du die Spannung des PC-Netzteils mal überprüft? Alternativ kannst Du mal versuchen, den ganzen Arduino mit den 12V über die runde Strombuchse zu versorgen (dann wird der interne Spannungsregler zur Generierung der 5V benutzt).

Laut Datenblatt muss die Spannung Vcc grösser als 1.25 mal die Batterispannung sein, ansonsten wird schreiben und lesen gesperrt. Wenn die Batterie eine etwas höhere Spannung abgibt, als sie nominal hätte und die Versorgungsspannung tiefer als 5V ist, könnte der Lese-/Schreibschutz aktiv werden.

Die USB-Spannung ist meist etwas über 5V, bei PC-Netzteilen habe ich sehr unterschiedliche Erfahrungen gemacht.

Eben gemessen:

USB = 4,97V
neue Batterie = 3,17V
alte Batterie = 4,26V
NT = 5,0V

Demnach müsste es mit der alten Batterie und USB Versorgung NICHT funktionieren weil 4,26*1,25=5,325 > 4,97 - tut es aber
Mit der alten Bat. und NT natürlich auch nicht, was ja auch leider so ist :smiley:

Aber mit der neuen Batterie und NT schon 3,17*1,25=3,96 < 5,0. Jetzt bin ich noch verwirrter :smiley:

Die Sache mit den 12V probier ich mal aus, geht ja auch über den VIN pin oder? Hab grad kein Stecker hier.

Du hast ein PC AT- Netzteil und versorgst nur den Arduino mit 5V?
Da läuft das Netzteil nicht stabiel. Das braucht einen Mindestbelastung. Schalt mal eine alte Harddisk an das Netzteil zusätzlich zum Arduino an.
Miß mal in Wechselstrombereich die 5V Versorgungspannung. Du müßtest eine Restwelligkeit unter 100mV messen, dann ist es ok.

Viele Grüße Uwe

Ne ich hab ein ganz neues ATX Netzteil. Und als grundlast reicht doch der Lüfter vom NT selbst oder?
Hab leider kein Oszilloskop um die Restwelligkeit zu messen. Laut Hersteller ist das Modell aber bei 5V besonders Spannungsstabil.

Ne ich hab ein ganz neues ATX Netzteil. Und als grundlast reicht doch der Lüfter vom NT selbst oder?

Würde ich nicht so sehen. Schließ an einen der Stecker mal eine alte Harddisk an und schau was der Arduino macht.
Grüße Uwe

Ich hab jetzt den Arduino mal über Vin mit 12V vom NT und die RTC über die 5V vom Arduino. Das haut hin. Find ich erstmal klasse, allerdings nervt es mich das ich immer noch nicht weiss wo der Fehler liegt.

Wenn die 5V aus dem NT nicht stabil genug währen, wieso laufen dann alle anderen Teile problemlos und nur die RTC nicht? Ist die da irgendwie sensibler? Denn scheinbar ist das ja das Problem gewesen. Jetzt wo die 12V vom Arduino gewandelt und stabilisert läuft die RTC.

Ich werd das mal mit der HDD testen. Falls ich keine finde, wieviel Leistung brauch das NT denn so ungefähr damit es stabil läuft?

Ich würde so sagen 1A an 5V

Der ATmega ist von 1,8 bis 5V spezifiziert (aber nicht bei jeder Spannung mit der vollen Clockrate). Der Arduino UNO wird nicht auf dem ganze Spannungsbereich funktionieren aber mit 4V hat er sicher keine Probleme.

Das Display funktioniert wahrscheinlich auch noch mit 3,3V aber dann braucht es wahrscheinlich eine negative Kontrastspannung. Kurze Einbrüche im kontrast siehst Du aber wahrscheinlich nicht. Die SD-Karte funktioniert sowieso mit 3,3V es ist nur zu schauen ob der Spannungstabilisator mitspielt.

Grüße Uwe

Ich habe mal so ein ähnliches Verhalten gehabt. Aufbau
Ein Arduino Nano
RTC DS1307
8 Schieberegister.
Habe ich das alles über ein externe 5V eingespeist funktionierte nach aus und wieder einschalten gelegentlich die RTC nicht (weder schreiben noch lesen) oder die Zeit lief trotz Batt nicht weiter. Über extern Versorgung via VIN über Nano oder USB kein Problem. Bei mir war der Fehler da ich die 5V Versorgung via draht auf die Rails im Breadboard steckt hatte ich sowas wie ein Schalterprellen auf der Versogungsspannung und das mochte die RTC nicht. Ich habe eine 220µF Kondensator zum testen direkt an die Verogung der RTC gesteckt und es war weg.
Nur mal als Tip vielleicht ein ähnliches Problem:-)
Gruß
Der Dani

Mal 'ne dumme Frage, weil es nicht explizit erwähnt wurde.
Gehst du mit den 5V vom Computer Netzteil über die Strombuchse oder über die Buchsenleiste am Pin 5V auf die Arduino Platine?

Bei einer RTC kann es einige Zeit dauern, bis sie wieder korrekt sendet, nachdem der Strom ausgeschaltet war.
Vielleicht haben die mir bekannten RTC-Breakoutboards deshalb die Lithium-Knopfzelle als Dauerstromversorgung an Bord?

Nur die beiden I2C Module, also LCD und RTC, waren natürlich in Reihe geschaltet (Reihenfolge ARDUINO - RTC - LCD). Auch die Stromversorgung!

Mit dem I2C Bus habe ich noch keine Erfahrung: ist es normal, daß man die Versorgungsspannung in Reihe schaltet?
Klingt für mich wie ein Spannungsteiler...

Mit dem I2C Bus habe ich noch keine Erfahrung: ist es normal, daß man die Versorgungsspannung in Reihe schaltet?

Das war nicht wirklich als in Reihe geschaltet gemeint, das geht gar nicht. Er meinte wahrscheinlich einfach, dass er mit der Versorgungsspannung vom Pin des Arduinos auf das RTC-Breakout geht und von dort mit einem Kabel auf das LCD. Somit hat er nicht ein Kabel vom Arduino direkt zu LCD gezogen sondern den Hop über den RTC gemacht. Elektrisch ist das aber beinahe identisch.

Das war nicht wirklich als in Reihe geschaltet gemeint, das geht gar nicht.

Geht nicht gibts nicht :wink:

Bis wir es nicht genauer wissen, kann man es nicht ausschliessen. Denn er hat ja sogar extra ein Ausrufezeichen dahintergesetzt...

@ lampe
Ich hab das wohl etwas Laienhaft formuliert, ich habs genau so gemeint wie pylon es verstanden hat :slight_smile:

@ Erni-berni
Ich bin direkt an den 5V Pin auf der Buchsenleiste gegangen.

@volvodani
Muss für ein Schalterprellen nicht auch ein Schalter oder Taster dazwischen geschaltet sein? Oder kann auch das Netzteil beim einschalten so ein verhalten hervorrufen?

Bei mir war das nur so das ich die Versorgung aufs Breadboard einfach ein/abgesteckt habe und dann hatte ich das Verhalten. u.U. Kann aber auch das PC-Netteil ohne Last auch ein ähnliches Schwingverhalten haben. Die RTCs mögen absolut keine Spannungsschwankungen habe ich gemerkt, das hat was mit der Umschaltung zwischen der Baterrie fürs Backup zu tun.
Gruß
Der Dani

Das würde erklären warum die RTC bei 5V direktversorgung OHNE Batterie erreichbar war. Sobald ich das aber mit Batterie versuchte, also die Spannung umgeschaltet wird, konnte ich nichts schreiben bzw. lesen. Klingt wirklich alles sehr ähnlich. Hab leider grad kein "dicken" verbraucher hier den ich zu testzwecken als Grundlast missbrauchen könnte.

Danke an alle beteiligten für die hilfe, war für mich sehr lehrreich.

Gruß,

der Peda

Als Grundlast könntest Du ein 6V Halogen-Lämpchen nehmen ( 10W) . Zur Not auch ein 12V, 10 bis 20W , immer auf die 5V Schiene geschaltet.
Grüße Uwe