I2C Probleme mit eigenem PCB und DS3231

Heii Leute,

ich arbeite gerade an einem Projekt mit eigenem PCB und dem RTC Modul DS3231. Wenn ich ein DS3231 Modul an einem Arduino Nano anschließe und den I2C Scanner von Nick Gammon laufen lasse, dann findet es zwei Treffer. Das RTC Modul und die Eeprom des Moduls.

I2C scanner. Scanning ...
Found address: 87 (0x57)
Found address: 104 (0x68)
Done.
Found 2 device(s).

Wenn ich jetzt aber den Scanner auf einem zweiten Arduino Nano und mit einem anderen DS3231 auf meinem PCB laufen lasse, findet es keine Treffer mehr. Hat jemand von euch eine Ahnung weshalb? Vielen Dank!

|500x265 Bild 1 |500x326 Bild 2

Evtl. ist eines der beiden Boards defekt.

Warum verwendest du für die RTC 3,3 Volt und nicht 5 Volt ? Ist sicher nicht das Problem, aber verstehe ich nicht. Könnte aber Probleme machen, wenn noch was anderes an I2C ran kommt.

Und weshalb hast du die Farben im Stechkbrett für VCC und GND vertauscht. Das bringt Irritationen mit sich.

Eventuell, ich wüsste aber nicht weshalb. Ja, ich müsste die beiden Boards wohl mal austauschen bzw. ne zweite Platine neu bestücken.

Gute Frage, warum die 3,3V. Ist schon etwas her, dass ich das entworfen habe, wollte das Projekt jetzt aber mal abschließen, da ich es damals nur zur Seite gelegt hatte.

Mein Gedanke war auch schon, dass irgendetwas die I2C Verbindung stört. Aber was könnte das sein?

Oh, du hast recht. Ist mir bisher nicht aufgefallen, danke für den Hinweis!

Hallo,

die beiden Bilder stimmen nicht überein. Nicht nur das Masse und (+) vertauscht sind im ersten Bild auf der Anschlussschiene. Im zweiten Bild fehlt auch die Masse zum Arduino und paar andere Anschlüsse sind auch anders. Prüfe nochmal ganz genau die Verbindungen. Fritzing kann das scheinbar nicht überprüfen bzw. anmeckern.

Vielen Dank für deine Antwort! Die Masse bekommt er tatsächlich nicht auf dem Pin wie in dem Steckplatinen Layout. Jedoch über den GND Pin auf der (von der Zeichnung gesehen) oberen Leiste, der vierte Anschluss von rechts.

Du sprichst von weiteren fehlerhaften Verbindungen. Könntest du mir vielleicht aufzeigen, was dir noch aufgefallen ist? Vielen lieben Dank!

Hi

Es ist keine schlechte Idee, sämtliche GND und Vdd Anschlüsse zu versorgen. Was mir komisch vorkommt - warum versorgst Du die zwei LED (+5V/GND) mit doppeltem +5V? Da sollte sich doch eine Leiterbahn egalisieren lassen.

Ich sehe keine PullUP-Widerstände für I²C - hätte ich optional per Jumper eingefügt. Kann natürlich entfallen, wenn die RTC 'auf jeden Fall' selber Welche hat.

MfG

james_immanuel: ... oberen Leiste, der vierte Anschluss von rechts.

Du gehst von der idealen Vorstellung aus, Leiterbahnen hätten keinen Widerstand. In der Realität stimmt das aber nicht. Der Kondensator soll die Versorgungsspannung stabilisieren, was er aber nur mit möglichst dicken Leiterbahnen kann. Der "Slalom" von GND zum Nano ist da sicher nicht hilfreich.

Wenn Du dann I2C wegen der 3,3 V außerhalb der Spezifikation betreibst, könntest Du unfreiwillig ein Meßgerät für zu dünne Leiterbahnen gebaut haben.

Ziehe mal DS3231 ab und verbinde es mit kurzen Jumperkabeln männlich/weiblich mit der Platine. Verbinde VCC aber mit 5 V. Was sagt der I2C-Scanner?

agmue: Ziehe mal DS3231 ab und verbinde es mit kurzen Jumperkabeln männlich/weiblich mit der Platine. Verbinde VCC aber mit 5 V. Was sagt der I2C-Scanner?

Tatsächlich, er findet wieder die zwei Adresssen! Vielen Dank! Demnach werde ich das DS3231 wieder zurück auf die Platine löten, die ursprüngliche (3,3V) Leiterbahn durchtrennen und stattdessen eine Kabelbrücke zum 5V Pin des Nanos ziehen. Damit müsste mein Problem ja eigentlich gelöst sein.

Vielen Dank für alle Antworten und Vorschläge!

james_immanuel: ....die ursprüngliche (3,3V) Leiterbahn durchtrennen und stattdessen eine Kabelbrücke zum 5V Pin des Nanos ziehen. Damit müsste mein Problem ja eigentlich gelöst sein.

Vielen Dank für alle Antworten und Vorschläge!

Prima, dass es so funktioniert und wir dir helfen konnten.