Hallo an die Lesenden, Nach Test testen mit Multimeter und verlöten der Bauteile kam es zum ersten Test der zeigte das das I2C Bussystem nicht richtig Funktioniert. Um das zu erkennen hab ich auf meinen Mega einen I2C scanner geladen welcher ohne Platine einwandfrei funktioniert, mit PLatine aber nicht einmal in den Timeout von wire.endTransmission läuft. Die Platine ist von mir selbst bestückt und kontrolliert worden. Gibt es da mögliche Anfänger Fehler die man bei solchen Platinen gerne übersieht?
Üblicherweise macht man einen DRC und ERC check und prüft die Ausgaben des Layoutprogramms. Bist Du sicher, dass alle Verbindungen erstellt und geroutet wurden? SDA und SCL gehen an P6/P7. Was ist denn daran angeschlossen? GND verbunden zwischen den Platinen?
:
Bearbeitet durch User
An P6/P7 sind die einzelnen Pins Arduino mega angeschlossen, bzw. auf der Rückseite ist der Arduino Mega drauf gesteckt. GND und 5V sind über die platinen verbunden Das bedeutet oben Links bei P7 ist SCL/SDA angeschlossen und auf der anderen seite ist SDA/SCL über jeweils 10kOhm auf 5V angeschlossen.
:
Bearbeitet durch User
Ich bin mir sicher das alles geroutet wurde, problematisch ist für mich leider, dass trotz Einbeziehung der I2C Bus Logik, diese nicht funktioniert.
Jörn schrieb: > Ich bin mir sicher das alles geroutet wurde, problematisch ist für mich > leider, dass trotz Einbeziehung der I2C Bus Logik, diese nicht > funktioniert. Ich bin vielleicht altmodisch: Wo ist der Schaltplan? Du doch erwartest nicht, dass jemand das Layout nachverfolgt, oder? Th.
Hier nochmal der Schaltplan, leider mit Proficad erstellt (grausiges Programm)
Jörn schrieb: > grausiges Programm Sorry, aber auch mit die Besten Programmen kann man auch undeutliche zeichnungen machen, so wie hier. Weiter eine Frage : Woher den Breadboard ? Weist du wie man das nutzt ? zB der rote draht an loch nr 29 - ist NICHT mit etwas verbunden wenn ich das gut sehe. Auch der Rosa draht, wie sind die LEDS ueberhaupt angeschlossen ? Nicht Boese gemeinst, bitte doppelcheck oder ein mehr detailliertes bild von Breadboard zufuegen damit wir das checken koennen. Patrick aus die Niederlande
könnte sein der gesamt wiederstand beläufft sich aber auf insgesammt auf 1,1 kOhm was auch ein problem des zu wenig sein könnte
Kleiner Tip: Masseflächen, fluten schadet nicht. Du ziehst GND mit den dünnen Leitungen von Punkt zu Punkt. Kannst notfalls mit Draht-Brücken etwas verstärken.
Aeh.... normalerweise misst man die gewuenschten Signale im Betrieb nach. Was haelt dich davon ab ? Statische Signale mit einem Multimeter, dynamische mit einem Oszilloskop
Hallo, was ist denn ein "Gesamt-Widerstand"? Die Pullups sind zu klein. 4.7k ist ein guter Richtwert. Womit ist die Platine erstellt worden? Die gerenderten Bilder sehen nach KiCAD aus, woher der Schaltplan kommt, weiß ich nicht. Normalerweise erstellt man von KiCAD aus den Schaltplan und exportiert ihn dann in den PCB Editor. Da werden die entsprechenden Footprints und Nets vorgegeben. Der DRC sorgt dann dafür, dass die Platine nach Schaltplan läuft, und, wenn man die Pins beim Schaltplan richtig spezifiziert, gibt es auch da einen DRC, der viele Fehler erkennt. Wo ist denn der KiCAD Schaltplan und was sagen die DRCs im Schaltplan-Editor und PCB-Editor? Funktionierte die Schaltung der Platine auch so schon einmal in einem Testaufbau bevor die Platine gefertigt worden ist bzw. ist die überhaupt getestet worden?
:
Bearbeitet durch User
Um das Problem auf dem Bus einzugrenzen mal die beiden I2C Slaves einzeln ansprechen (und bei den grad unbenutzen SCL,SDA abklemmen resp. ablöten).
Jörn schrieb: > Hier nochmal der Schaltplan, leider mit Proficad erstellt (grausiges > Programm) Mit dem Schaltplan hast du dich selbst ins Knie geschossen. Ehrlich, fang von Vorne an. Zeichne den Schaltplan sauber und lesbar. Wenn es sein muss von Hand mit Bleistift und Papier. Dann nimmst du den Schaltplan und klingelst anhand von ihm die Platine durch. Leider ist sie schon bestückt, so dass du beim Durchklingeln die vorhandenen Bauteile berücksichtigen musst. Leider kannst du sie deshalb auch nicht schrittweise in Betrieb nehmen. Zur Platine selber, dünner gingen die Leiterbahnen wirklich nicht, oder? Eine Alternative wäre der Einsatz eines LA oder eines Oszilloskops. Ich gehe aber davon aus, dass du so etwas nicht am Start hast.
Hannes J. schrieb: > Eine Alternative wäre der Einsatz eines LA oder eines Oszilloskops. Ich > gehe aber davon aus, dass du so etwas nicht am Start hast. Man könnte mit einem Raspi und Sigrok den LA rudimentär ersetzen. Siehe auch: https://tuxbabe.eu/raspalyzer.html Ansonsten kosten manche 8bit Logikanalysator wenig.
Drago S. schrieb: > Kleiner Tip: Masseflächen, fluten schadet nicht. Immer wieder die gleichen Märchen. Aber hier im Forum für alternative Elektronik wundert das längst nicht mehr. Georg
i2c ist doch gar nicht angeklemmt? Oder verwendet er den falschn i2c port auf Leiste P7? Eventuell im Source falsch konfiguriert?
Georg schrieb: > Drago S. schrieb: >> Kleiner Tip: Masseflächen, fluten schadet nicht. > > Immer wieder die gleichen Märchen. Massefläche als durchgängige ununterbrochene Fläche wäre toll. Das braucht dann aber i.d.R. mehr als 2 Lagen. Die Masse nicht (sauber und kurz!) zu routen und stattdessen einfach nur mit Masseflächen zu fluten, führt zu abenteuerlich schlechten Layouts. Aber die Masseleiterbahnen dürfen schon etwas breiter ausfallen. Die ohne Not unnötig schmal zu machen ergibt keinen Sinn.
Anita H. schrieb: > i2c ist doch gar nicht angeklemmt? Oder verwendet er den falschn i2c > port auf Leiste P7? Eventuell im Source falsch konfiguriert? Stimmt! SCL und SDA sind mit AREF und GND verbunden. Die extra-I2C-Pins (R3 only) liegen darüber! So kann das natürlich nicht funktionieren.
Thosch schrieb: > Anita H. schrieb: >> i2c ist doch gar nicht angeklemmt? Oder verwendet er den falschn i2c >> port auf Leiste P7? Eventuell im Source falsch konfiguriert? > > Stimmt! > SCL und SDA sind mit AREF und GND verbunden. > Die extra-I2C-Pins (R3 only) liegen darüber! > > So kann das natürlich nicht funktionieren. Aber Du hast schon gemerkt, dass der TO einen Arduino MEGA (mit einem ATMega) benutzt hat und sein "Schaltplan" einen Arduino UNO (mit einem '328) benutzt. Daher weiss ich nicht was er tut. Gruesse Th.
Jörn Schröder schrieb: > I2C Bussystem nicht richtig Funktioniert Bisher sehe ich den Fehler noch nicht. Wo geht denn das Adernpaar braun/weiss mit dem I2C-Bus noch hin? LG, Sebastian
Das ist alles völlig konfus, der "Schaltplan" entspricht anscheinend nicht der Platine, auf der ist der I2C wohl doch unten angeschlossen und nicht an den oberen Pins (R3 only im Arduino Mega Pinout-Diagramm) Wo ist denn der Schaltplan, nach dem das Layout erstellt wurde? Ich bin dann raus, solange der nicht auftaucht...
Jörn Schröder schrieb: > Um das zu erkennen hab ich auf meinen Mega einen I2C scanner geladen > welcher ohne Platine einwandfrei funktioniert, mit PLatine aber nicht > einmal in den Timeout von wire.endTransmission läuft. So unsauber, wie Du hier schreibst, scheint auch Dein PCB geroutet zu sein. Da sind doch gar keine SDA/SCL-Verbindungen/Leiterzüge an der Steckerleiste zum Mega. Und wieso machst Du so dünne Leiterzüge? Haben die auch wirklich alle Durchgang?
:
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.