Hallo, ich habe auf einer Platine vier I2C Geräte drauf. Alle haben unterschiedliche Adressen. Alle werden mit 3.3V versorgt. Angeschlossen an einem ESP32 WROOM32 E. Pull Up sind direkt am ESP32 dran. Jeweils 2K für SCA und SCL. Mittels I2C Scanner bekomme ich nur ein Gerät angezeigt. Es ist auch nicht das erste in der Leitung, sondern das 2. Gerät. Jemand eine Idee was das sein kann bzw Ideen wie ich was messen kann um herauszufinden wo das Problem ist?
:
Verschoben durch Moderator
Jurgen H. schrieb: > Ideen wie ich was messen kann um > herauszufinden wo das Problem ist? Mit einem Oszi siehst du die Signalform. Ein LA zeigt dir die Protokollfehler Ansonsten ist es natürlich klug das Testprogramm geheim zu halten.
:
Bearbeitet durch User
Jurgen H. schrieb: > wie ich was messen kann um herauszufinden wo das Problem ist? Du kennst doch die Adressen der Bausteine. Sprich sie einfach mal ganz direkt mit dieser Aderesse an und eben nicht nur über einen generischen Scanner, der tumb eine Adresse nach der anderen abscannt. Ein Tipp: teile und herrsche. 1. Mach erst mal 1 Gerät an den Bus und schau ob du das ansteuern kannst. 2. Dann mach das 1. Gerät wieder weg und mach das 2. dran und steuere es an. 3. Dann mach beide dran und steuere sie an. 4. Und dann mach beide wieder weg und nimm das dritte Gerät in Betrieb. 5. Dann mach alle 3 dran... Usw. usf. du erkennst das Muster? Es funktioniert normalerweise nicht, etwas "fertig" zu entwicklen, das dann komplett aufzubauen und dann "alles auf einmal" in Betrieb zu nehmen.
:
Bearbeitet durch Moderator
Jurgen H. schrieb: > Mittels I2C Scanner bekomme ich nur ein Gerät angezeigt. Es ist auch > nicht das erste in der Leitung, sondern das 2. Gerät. Da es ein Bus ist, sind sie elektrisch (hoffentlich) alle parallel. Wenn Du ein Oszi hast, einen Mitschnitt hier einstellen Wenn Du die Clockrate reduzieren kannst, ausprobieren. Wenn Du einen Typ der Chips hast, hier DB verlinken Ggf. 4k und 1k als pullups probieren (wenn eines funktioniert, kann man sich immer noch um die Gründe kümmern) Wenn Du die Geräte einzeln an den Bus hängen kannst, auch das gerne probieren
Leider lässt du uns im Dunkeln bzgl. des Layouts/Verkabelung und der I2C Geräte, sowie den verwendeten I2C Parametern und des Programmcodes. 2K ist ein ungewöhnlicher Widerstandswert. Es gibt 2k Wiederstände, aber er ist nicht Teil der gebräuchlichen E12 und E24 Reihe (nur von E96 und E192). Ist der Wert korrekt? Der Pullup könnte für deine Anwendung den falschen Wert haben (abhängig von der kapazitiven Buslast und der Geschwindigkeit). Alle deine I2C Geräte sind 3,3V fähig und werden auch mit 3,3V versorgt (nicht mit 5V)? Die I2C Bus-Leitungen sind als Bus ausgeführt und nicht als Stern (keine Stichleitung vom Bus zu den einzelnen Geräten)? Versuch es mal mit einer geringeren Geschwindigkeit und einzelnen Geräten am Bus.
Jurgen H. schrieb: > ich habe auf einer Platine vier I2C Geräte drauf. Alle haben > unterschiedliche Adressen. Das nimmst du an, überprüfen konntest du es ja bisher nicht. Bei den Adressen kann in der Software viel schiefgehen. > Mittels I2C Scanner bekomme ich nur ein Gerät angezeigt. Es ist auch > nicht das erste in der Leitung, sondern das 2. Gerät. Vielleicht zeigt der Scanner das erste Gerät an, das er anzusprechen versucht. Er weiß ja nichts über die Reihenfolge am Bus.
Rolf schrieb: > Vielleicht zeigt der Scanner das erste Gerät an, das er anzusprechen > versucht. Er weiß ja nichts über die Reihenfolge am Bus. Ein I2C Scan zeigt an von welcher Adr eine Antwort kommt. Die Reihenfolge der Geräte ist dabei vollkommen Wurst. Michael H. schrieb: > 2K ist ein ungewöhnlicher Widerstandswert Nö. Ist nur ein weiterer 0,x Cent Artikel in der BOM, den der Bestücker besorgt. Bruno V. schrieb: > Wenn Du ein Oszi hast, einen Mitschnitt hier einstellen > Wenn Du die Clockrate reduzieren kannst, ausprobieren. > Wenn Du einen Typ der Chips hast, hier DB verlinken +1
Michael H. schrieb: > Alle deine I2C Geräte sind 3,3V fähig und werden auch mit 3,3V versorgt > (nicht mit 5V)? Yes Michael H. schrieb: > Die I2C Bus-Leitungen sind als Bus ausgeführt und nicht als Stern (keine > Stichleitung vom Bus zu den einzelnen Geräten)? Ich gehe einmal vom ESP zu allen Geräten. Also eine Leitung vom ESP32 zu Gerät 1 dann zu Gerät 2 usw. Ich habe jedoch bei manchen ein VIA in der SCL / SDA Leitung welcher dann zu einem Gerät geht (auf der Platine einen Weg von <5mm) Auch bei dem Gerät, dass funktioniert (MPU6050)
:
Bearbeitet durch User
Jurgen H. schrieb: > Yes Nach lesen deiner Antwort, gehe ich davon aus, dass du nicht an einer Lösung deiner I2C Probleme interessiert bist.
Jurgen H. schrieb: > Auch bei dem Gerät, dass funktioniert (MPU6050) Viel interessanter als der funktionierende Chip wären die Typen der nicht-funktionierenden...
Habe einmal einen INA219 drauf und zwei TCA9548 (Diese haben unterschiedliche I2C Adressen, bzw sollten Sie haben :) ) habe erst mal alles durchgepresst, dass passt. Sowohl 3.3V als auch GND und SDA und SCL. Habe auch keine Brücken drinnen. Habe die PullUps mal gegen 1K ausgetauscht, leider wir Dimmer noch nur der MPU6050 gefunden (bzw nur den kann ich ansprechen) Einen Oszi habe ich leider nicht
:
Bearbeitet durch User
Jurgen H. schrieb: > Habe die PullUps mal gegen 1K ausgetauscht, leider wir Dimmer noch nur > der MPU6050 gefunden (bzw nur den kann ich ansprechen) 4k? (3k3 oder 4k7) Baudrate auf 100kBaud begrenzt im Scanner? Anschluss geprüft? (Also Vcc/Gnd an den Pins ICs, pullup an SCL und SDA kommt an und geht auch auf z.B. 1.6V wenn Du einen gleich großen Widerstand gegen GND dranhälst?) Dazu reicht ein DMM. Scanner durchläuft wirklich alle 127 Adressen?
Bruno V. schrieb: > Scanner durchläuft wirklich alle 127 Adressen? Der Scanner. Es gibt ja nur einen, deswegen braucht man darüber ja nicht zu spekulieren. SCNR.
Dann erzähl halt mal welche Adressen du an jedem IC eingestellt hast. Es kann doch nicht so schwer sein wichtige Infos schon in der Eröffnungspost darzulegen.
Und die verschiedenen ICs sind nicht nur alle mit der gleichen Masse, sondern auch der gleichen Versorgungsspannung verbunden? Wo bleibt eigentlich das Foto der bestückten Platine?
Jurgen H. schrieb: > Einen Oszi habe ich leider nicht Wie bastelt man dann an Elektronik, wenn man nicht sehen kann was passiert? Messgeräte sind die Augen und Ohren des Elektronikers und das Oszi ist eines der grundlegensten und wichtigsten Werkzeuge. Eher verzichte ich auf ein Multimeter.
Jurgen H. schrieb: > Habe (...) zwei TCA9548 (Diese haben > unterschiedliche I2C Adressen, bzw sollten Sie haben :) Tja, so einen Chip wie diesen wird ein 08/15-Scanner kaum korrekt ansprechen können. Wie, bitteschön, legt er denn die Signale A0, A1 und A2 an den Chip? Die kennt er doch gar nicht. Hast du die etwa fest verdrahtet?
:
Bearbeitet durch User
Rolf schrieb: > Tja, so einen Chip wie diesen wird ein 08/15-Scanner kaum korrekt > ansprechen können. Wie, bitteschön, legt er denn die Signale A0, A1 und > A2 an den Chip? Die kennt er doch gar nicht. Hast du die etwa fest > verdrahtet? Ups, sehe ja jetzt erst, was der Chip macht. Ich hoffe ja mal, dass er die 3 Adressbits fest auf Masse/VCC gelegt hat, mit mindestens einer unterschiedlich. @TO: Wofür brauchst Du 2 von diesen Chips? Bzw. was ist dahinter angeschlossen? Hast Du Pullups am durchgeschalteten "Ausgang"?
> Habe (...) zwei TCA9548
RESET input der TCA9548(A) richtig beschaltet?
Rolf schrieb: > Hast du die etwa fest > verdrahtet? Sollte er eigentlich, macht ja keinen Sinn, die Adresse dynamisch zu ändern.. Adressen ergeben sich dann laut Tabelle aus dem Datenblatt. Einen Hinweis, ob sich zur Laufzeit, also ohne PowerCycle/Reset, geänderte Addresspins direkt auswirken, gibt das Datenblatt nicht. Würde ich also statisch lassen. Devices hinter dem TCA wird der Scanner nicht finden, zumindest nicht ohne diese vorher passend zu konfigurieren. Aber die TCA9548 selber sollten schon ein ACK senden, also vom Scanner erkannt werden können.
:
Bearbeitet durch User
Εrnst B. schrieb: > Adressen ergeben sich dann laut Tabelle aus dem Datenblatt. Ah, ja, richtig. Ich habe das Datenblatt zu hastig überflogen. Sorry. Aber ein 08/15-Scanner kann die Slaves hinter dem Chip tatsächlich nicht einzeln ansprechen. Er weiß ja nichts von dem Multiplexen.
Rolf schrieb: > ein 08/15-Scanner kann die Slaves hinter dem Chip tatsächlich nicht > einzeln ansprechen. Er weiß ja nichts von dem Multiplexen Was stellst Du Dir denn unter dem I2C Scanner vor? Das wird nur ein SW Dreizeiler sein, der eine von Null ansteigende Adresse auf den Bus gibt und jedes Gerät das innerhalb von Zeitspanne X ein ACK sendet in die Liste der vorhandenen Geräte aufnimmt.
Hallo, Danke euch für die ganzen Kommentare. Ich versuche mal alles zu schreiben. Hinter dem Multiplexer sind weitere INA219. Ich möchte nicht von diesen INA219 die Adressen finden sondern vom Multiplexer selbst. Das ich die dahinter mit dem Scanner nicht finde ist mir klar. Aber an jedem Ausgang vom Miultiplexer sind nochmal eigene 4k7 Pull-ups. Es hängen alle I2C Devices am gleichen GND und am gleichen VCC (3.3V) Die Adressen sollen wie folgt sein. Multiplexer einmal 70 und einmal 71 MPU6050 die 68 und der eine einzelnen INA219, der nicht hinter den Multiplexern hängt, soll die 40 haben. Was komisch ist, dass der MPU6050 bei mir die 69 hat obwohl der AD0 PIN auf GND liegt. Laut Datenblatt soll aber bei low an AD0 die 68 sein. Ist aber bei mir die 69. und der MPU funktioniert auch komplett. Als Scanner nutzt ich den ganz normalen simplen der in einer Schleife von 1-127 hochzählt. Hier findet er nur die 69 Ich werde nachher mal Bilder von allem einstellen. Bin gerade unterwegs.
:
Bearbeitet durch User
Jurgen H. schrieb: > Ich werde nachher mal Bilder von allem einstellen. Am besten auch den zugrundeliegenden Schaltplan. Denn die länderübergreifende Sprache der Elektronik sind nun mal Schaltpläne. Michael schrieb: > Jurgen H. schrieb: >> Einen Oszi habe ich leider nicht > Wie bastelt man dann an Elektronik, wenn man nicht sehen kann was passiert? Denn so ein IC antwortet nur dann, wenn es das an seinen Pins das sieht, was in seinem Datenblatt spezifiziert ist. Dabei sind Spannungspegel, Flankensteilheiten und der zeitliche Ablauf wichtig. Eine Inbetriebnahme (samt Fehlersuche) eines seriellen Busses ohne Oszilloskop ist wie "Autofahren nach Gehör": man sieht immer erst hinterher, wenn es wieder nicht geklappt hat. Jurgen H. schrieb: > Habe die PullUps mal gegen 1K ausgetauscht, leider wir Dimmer noch nur > der MPU6050 gefunden Hast du mal meine zigfach erprobte Vorgehensweise mit der schrittweisen Inbetriebnahme versucht?
:
Bearbeitet durch Moderator
Bruno V. schrieb: Michael schrieb: >> Vielleicht zeigt der Scanner das erste Gerät an, das er anzusprechen >> versucht. Er weiß ja nichts über die Reihenfolge am Bus. > > Ein I2C Scan zeigt an von welcher Adr eine Antwort kommt. > Die Reihenfolge der Geräte ist dabei vollkommen Wurst. Wolltest du mich jetzt bestätigen oder mir widersprechen? Ein Scanner durchläuft den ganzen Adressraum und versucht bei jeder Adresse, dahinter ein Gerät zu sehen. Sinnvollerweise benutzt er aber keinen Zufallsgenerator für die Reihenfolge – also ist ein bestimmtes Gerät immer das erste angesprochene. Und es ist vielleicht das einzige erkannte, falls am Ende von oder nach dessen Erkennung etwas nicht klappt.
Jurgen H. schrieb: > Was komisch ist, dass der MPU6050 bei mir die 69 hat obwohl der AD0 PIN > auf GND liegt. Laut Datenblatt soll aber bei low an AD0 die 68 sein. Ist > aber bei mir die 69. Dass es zwei unterschiedliche Schreibweisen für I2C-Adressen (nackte 7-Bit-Adresse oder mitsamt R/W-Bit als LSB) gibt, ist Dir bewusst? Bei der letztgenannten gibt es halt zwei Adressen, eine zum Lesen und eine zum Schreiben.
Hier nun die Bilder... Wegen er Adresse handelt es sich beim MPU6050 um die 0x69, anstatt die 0x68, die es eigentlich laut Datenblatt seins sollte. Der Rest auf der Platine funktioniert. Der OLED ist mit Absicht noch nicht eingelötet.
:
Bearbeitet durch User
Hmmm schrieb: > Dass es zwei unterschiedliche Schreibweisen für I2C-Adressen (nackte > 7-Bit-Adresse oder mitsamt R/W-Bit als LSB) gibt, ist Dir bewusst? > > Bei der letztgenannten gibt es halt zwei Adressen, eine zum Lesen und > eine zum Schreiben. und je nach Library muß beim scannen eben +1 durchgezählt werden <127 oder +2 <256 durchgezählt werden, im letzteren Fall muß sich um R/W also bit0 high oder low gekümmert werden. Dann gibt es noch die Adresserweiterung oberhalb 0x70 und ack/nack also ein bissle mehr Arbeit für die Softwareerstellung tut not.
:
Bearbeitet durch User
Das heißt wenn es im Datenblatt 0x68 sein muss ich in meinem INO Coder die 0x69 als Adresse angeben? Mit der 0x69 kann ich zumindest den MPU6050 auslesen. Mit der 68 nicht.
Jurgen H. schrieb: > Das heißt wenn es im Datenblatt 0x68 sein muss ich in meinem INO Coder > die 0x69 als Adresse angeben? Mit der 0x69 kann ich zumindest den > MPU6050 auslesen. Mit der 68 nicht. Nun Das ist doch offensichtlich oder? wenn das Ding auf 69 antwortet hast du eine kalte Lötstelle an A0. -> A0 hängt in der Luft.... Wo eine kalte Lötstelle ist sind sicher auch noch mehr...
Ich habe aber durchgepiepst und nicht auf dem Pad sondern am kleinen Minibeinchen. Da ist Kontakt.
C26 ist für Gleichspannung hochohmig -> dein INA219 hat keine Stromversorgung. Der CLKIN Anschluss vom MPU6050 gehört an GND (nicht an einen Kondensator), steht so im Datenblatt "Optional external reference clock input. Connect to GND if unused"
Steve van de Grens schrieb: > C26 ist für Gleichspannung hochohmig -> dein INA219 hat keine > Stromversorgung. Dafür hat er +/-5V an den Eingängen. Das muß auch reichen ... ;-)
Die TCA9548 bekommen keinen Reset und setzen deswegen niemals ihre Register zurück und lesen auch nicht ihre Adresse ein. Es fehlt der Kondensator nach GND oder wie in der Appnote der Anschluss an die MCU (empfehlenswert zum Auflösen von Konfliktsituationen am Bus)
Laut Datenblatt soll am Reset ein Widerstand zu VCC. Den habe ich doch drinnen. https://www.ti.com/lit/ds/symlink/tca9548a.pdf#page20
Jurgen H. schrieb: > Laut Datenblatt soll am Reset ein Widerstand zu VCC. Ja, und laut DB macht die MCU dann den Reset. Und bei Dir? Was macht da den Reset zum zurücksetzen der Statemachine?
Michael schrieb: > Was macht da den Reset zum zurücksetzen der Statemachine? Laut Datenblatt der "Power-on reset": Zitat: 8.5.6 Power-On Reset When power (from 0 V) is applied to VCC, an internal power-on reset holds the TCA9548A in a reset condition until VCC has reached VPOR. At that point, the reset condition is released and the TCA9548A registers and I2C state machine initialize to their default states. After that, VCC must be lowered to below VPOR and then back up to the operating voltage for a power-reset cycle. Oder hab ich da etwas falsch verstanden?
So habe ich es auch verstanden gehabt, dass der manuelle redet über den Master optional ist. Aber es kann natürlich sein, dass ich da einen Fehler habe. Aber beim INA219 müsste dann ja auch was falsch sein…
:
Bearbeitet durch User
Bernd S. schrieb: > Laut Datenblatt der "Power-on reset": Wenn man die 10.1 Power-On Reset Requirements einhält, sonst triggert der u.U. nicht.
Jurgen H. schrieb: > beim INA219 müsste dann ja auch was falsch sein… Steve van de Grens schrieb: > C26 ist für Gleichspannung hochohmig -> dein INA219 hat keine > Stromversorgung.
Lothar M. schrieb: > Du kennst doch die Adressen der Bausteine. Sprich sie einfach mal ganz > direkt mit dieser Aderesse an und eben nicht nur über einen generischen > Scanner, Genau das tut ein Scanner gewöhnlich. Er versucht den Baustein auf seiner Adresse anzusprechen und wertet das Acknowledge aus. Dass der Scanner das nacheinander für alle möglichen Adressen versucht, geht den Baustein überhaupt nichts an.
Jurgen H. schrieb: > und zwei TCA9548 (Diese haben unterschiedliche I2C Adressen, bzw sollten Sie haben :) ) Dass sie die nicht nur haben sollten, sondern auch haben müssen, ist doch wohl klar, wenn du sie über den Bus ansprechen möchtest. Woher nimmst du die Zuversicht, dass sie die auch haben?
Weil wie oben im Schema zu sehen ist A0,A1 und A2 unterschiedlich beschaltet sind.
Michael schrieb: > Jurgen H. schrieb: >> beim INA219 müsste dann ja auch was falsch sein… > > Steve van de Grens schrieb: >> C26 ist für Gleichspannung hochohmig -> dein INA219 hat keine >> Stromversorgung. Dass muss mir jemand erklären, welches Bauteil muss ich hier bei C26 nutzen?
Michael schrieb: > Bernd S. schrieb: >> Laut Datenblatt der "Power-on reset": > Wenn man die > 10.1 Power-On Reset Requirements > einhält, sonst triggert der u.U. nicht. Ok, wie müsste ich hier was verbinden, dann kann ich das ggf. Mal mittels Litzen testen. Wobei mich das wundert, denn die fertigen INA219 Devboards sind auch so aufgebaut und ich verbinde die Devboards ganz normal mit dem ESP und nutze hier nicht den Reset Pinout und das funktioniert ja auch. https://wolles-elektronikkiste.de/ina219
Jurgen H. schrieb: > Dass muss mir jemand erklären, welches Bauteil muss ich hier bei C26 > nutzen? Wenn Du nicht erkennst das ein Kondensator eine DC Unterbrechung darstellt, ist jede weitere Hilfe vergebens. Dann müssen wir mit dem kleinen 1x1 der Elektronik anfangen und erstmal die Grundlagen vermitteln und darauf hat hier wohl einer Bock. Jurgen H. schrieb: > wie müsste ich hier was verbinden ??? Verstehst Du das Problem und was das DB da fordert?
Jurgen H. schrieb: > Wobei mich das wundert, denn die fertigen INA219 Devboards sind auch so > aufgebaut Nein, sh. Anhang, Breakout-Board von Adafruit. Kannst auf deiner Platine leicht fixen, Lötzinn-Klecks über C26 platzieren. Der INA hat dann keinen Abblock-Kondensator mehr, und läuft evtl. instabil/ungenau. Aber hat zumindest eine Chance, zu funktionieren.
:
Bearbeitet durch User
Danke dir. Hab es verstanden... Ich werde es testen. Bei dem TCA Multiplexer, sehe ich das Problem noch nicht. Hier wird ein Breakoutboard verwendet als Beispiel mit dem TCA.https://wolles-elektronikkiste.de/tca9548a-i2c-multiplexer als Board wird eines von Adafruit genutzt. hier das Schema dazu: https://learn.adafruit.com/assets/27693 Hier wird auch Reset auf VCC gezogen und nirgends angeschlossen...
Εrnst B. schrieb: > Jurgen H. schrieb: >> Wobei mich das wundert, denn die fertigen INA219 Devboards sind auch so >> aufgebaut > > Nein, sh. Anhang, Breakout-Board von Adafruit. > > Kannst auf deiner Platine leicht fixen, Lötzinn-Klecks über C26 > platzieren. > Der INA hat dann keinen Abblock-Kondensator mehr, und läuft evtl. > instabil/ungenau. > Aber hat zumindest eine Chance, zu funktionieren. Habe den C26 aufgelötet und einen Punkt drüber gemacht - das funktioniert nun schon mal! Vielen Dank dafür. Dann nur noch die TCA9548...
Hmmm schrieb: > Dass es zwei unterschiedliche Schreibweisen für I2C-Adressen (nackte > 7-Bit-Adresse oder mitsamt R/W-Bit als LSB) gibt, ist Dir bewusst? > > Bei der letztgenannten gibt es halt zwei Adressen, eine zum Lesen und > eine zum Schreiben. Nun wirf doch keine Nebelkerzen, sondern lies erstmal das Datenblatt vom MPU6050. Im Datenblatt ist explizit die 7-Bit Adresse angegeben ("The slave address of the MPU-60X0 is b110100X which is 7 bits long."), wobei X das LSB darstellt und durch den Pegel am Pin AD0 festgelegt wird. Wenn dahinter nach Datenblattangabe noch das RW-Bit folgt, sind das ganz klar I2C-Adressen nach I2C-Spezifikation und dort gibt es keine separaten Adressen für Lesen und Schreiben. Jurgen H. schrieb: > Wegen er Adresse handelt es sich beim MPU6050 um die 0x69, anstatt die > 0x68, die es eigentlich laut Datenblatt seins sollte. Hast du an AD0 nachgemessen? Sonst häng einmal einen Pull-Up ans Messgerät und miss den Pegel an AD0 nach. Sind Layout und Lötung ok? Die Chance, dass so ein Fehler über ein dutzend Jahre im Datenblatt überleben soll, ist überschaubar.
:
Bearbeitet durch User
Hallo, ok, ich habe den MPU6050 einmal ausgetauscht. Nun habe ich auch die 68 als Adresse. Habe dann gleichmal einen TCA9548 ausgetauscht, aber den erkenne ich noch immer nicht :(
:
Bearbeitet durch User
Bzgl. der Vcc am INA219. Laut Datenblatt wird für SDA/SCL der High Pegel bei 0.7(Vs) erkannt: 0.7 * 5V = 3,5V Wenn du nun mit deinem 3.3V Signal auf dem I²C Bus ankommst... ich weiß ja nicht so recht.
Mein INA219 und auch der MPU6050 funktionieren nun wie sie sollen. Danke allen dafür! Mein Problem besteht "nur" noch am TCA9548. Dieser will einfach nicht erkannt werden und bei dem Reset Pin ist bei mir eigentlich alles wie auch bei den Breakout Boards von Adafruit. Und diese werden auch einfach an einen ESP32 angeschlossen ohne Verbindung des Reset Pins...
Jurgen H. schrieb: > ok, ich habe den MPU6050 einmal ausgetauscht. Wegen einer schlechten Lötstelle muss man nicht den Chip tauschen. Was war das Problem mit dem alten? Hast du wenigstens vorher am AD0 nachgemessen oder einfach profilaktisch blind getauscht?
:
Bearbeitet durch User
Ich habe es 100 mal gemessen und der Kontakt war immer da. Habe es dann einfach ausgetauscht und dann ging es sofort.
Jurgen H. schrieb: > Mein Problem besteht "nur" noch am TCA9548. Wenn das Teil nicht funktioniert, wird der PwrOn Reset vielleicht nicht ausgeführt. Dann einfach den Reset mal kurz auf GND legen. Wie sieht denn die Stromversorgung aus? (Anstiegs/Abfallzeiten) > Ich habe es 100 mal gemessen statt 100 mal messen hätte einmal nachlöten vermutlich gereicht.
Jurgen H. schrieb: > Ich habe es 100 mal gemessen und der Kontakt war immer da. Wo hast du gemessen und wie groß hast du den Pull-up dabei gewählt? Beim Messen an der kritischen Stelle besteht immer die Gefahr, dass die fehlende Verbindung durch das Aufsetzen der Messspitze hergestellt wird, sei es durch Überbrücken oder durch mechanische Verformung.
:
Bearbeitet durch User
Ja, das kann gut sein. Jetzt funktioniert es, dass ist für mich als Hobby Mensch das wichtigste! Aber mit dem TCA9548 komme ich nicht weiter... Hat hier jemand noch eine Idee wie ich etwas verkabeln könnte um zu probieren ob es geht.
Jurgen H. schrieb: > Hat hier jemand noch eine > Idee wie ich etwas verkabeln könnte um zu probieren ob es geht. erst mal A0 A1 A2 an GND, ich sehe immer noch kein Schaltbild oder aussagekräftige Fotos. Du fragst aber du lieferst keinen Plan, keine Bilder und wir sollen hier Romane schreiben? Fange schon mal an zu lesen https://www.ti.com/product/de-de/TCA9548A#tech-docs https://www.ti.com/lit/ds/symlink/tca9548a.pdf?ts=1714812954218
Joachim B. schrieb: > erst mal A0 A1 A2 an GND, ich sehe immer noch kein Schaltbild oder > aussagekräftige Fotos. > > Du fragst aber du lieferst keinen Plan, keine Bilder und wir sollen hier > Romane schreiben? Beitrag "Re: Es wird nur ein I2C Gerät erkannt" Ok, unter Schaltplan verstehe ich zwar was anderes, aber daß er gar nix geliefert hätte, ist schonmal falsch ...
Jens G. schrieb: > Ok, unter Schaltplan verstehe ich zwar was anderes, aber daß er gar nix > geliefert hätte, ist schonmal falsch ... na gut wenn dir das reicht kannst du ihm ja bestimmt helfen, meine Möglichkeiten sind erschöpft, ich wollte ja aber so......
Hallo, aber hier ist doch ein Schaltplan, oder was meint Ihr? Beitrag "Re: Es wird nur ein I2C Gerät erkannt"
Tue Dir selbst einen Gefallen und investiere 10€ in einen Logic Analyzer. Du wirst dich nach 3h fragen, wie Du vorher ohne leben konntest. Kenne einige dieser Fälle aus missionarischer Tätigkeit.
Jurgen H. schrieb: > aber hier ist doch ein Schaltplan, oder was meint Ihr? Naja, sowas Ähnliches. Aber eines wird klar: dieser Schaltplan passt von der Struktur genau zur Vorgehensweise bei der Inbetriebnahme. In einem gut lesbaren Schaltplan sind keine ICs mit Gehäusen und durchlaufendem Pinout eingezeichnet, sondern funktionale Symbole mit Eingangssignalen links und Ausgangssignalen rechts sowie Versorgung oben und unten. Oder wenigstens so, dass zusammengehörige Signale gruppiert sind. Erst im Layout ist die Geometrie und die Pinreihenfolge wichtig. Sieh dir einfach mal an, wie das Symbol der Bausteine im jeweiligen Datenblatt aussieht. Zudem wird in einem leserlichen Schaltplan das Potential von oben nach unten negativer. Bei einem Pullup ist plus also oben. Und wie gesagt: bringe in die Inbetriebnahme mehr Struktur als in den Schaltplan. Wie es geht, habe ich ganz weit oben schon erwähnt. Der Punkt 0 der Inbetriebnahme lautet: "stelle sicher, dass Versorgungsspannung/en korrekt und störungsfrei ist/sind und deine Signale physikalisch den erforderlichen Signalen im Datenblatt entsprechen." Zur Physik eines Signals gehören Spannungspegel, Flankenverlauf und das Timing. Um das messen zu können, brauchst du ein Oszlloskop. Jurgen H. schrieb: > Einen Oszi habe ich leider nicht Ändere das. Anders wirst du ganz offenbar nicht zum Ziel kommen. Kauf dir das kleinste Picoscope und du hast den Protokollanalyzer für I2C schon mit dabei. Harald A. schrieb: > Tue Dir selbst einen Gefallen und investiere 10€ in einen Logic Analyzer. Das ist leider nur die zweite Hälfte der Wahrheit. Denn der zeigt nur das Timing an, nicht die tatsächlichen Spannungspegel und nicht die Flankensteilheit und -stetigkeit. BTW: mich würde für ein neuentwickeltes Produkt das angekündigte EOL des MPU 6050 nachdenklich stimmen: - https://product.tdk.com/de/search/sensor/mortion-inertial/imu/info?part_no=MPU-6050
:
Bearbeitet durch Moderator
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.