I2C Bus stoppt ungewollt

  • Ich habe mir den Port-Expander MCP23017 gekauft und diesen erfolgreich an den I2C-Bus meines Raspberry Pi 2 B+ angeschlossen.
    So weit schön und gut. Wenn ich mir diesen mit 'i2cdetect -y 1' anzeigen lasse, erhalte ich auch die richtige Ausgabe:

    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: 20 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --

    Ich kann die Pins des MCP23017 sogar ordnungsgemäß schalten.
    Das alles allerdings nur einmalig (oder zumindest nur für einen kurzen Zeitraum). Dann scheint der I2C-Bus abzustürzen. Jedenfalls ergibt der Befehl 'i2cdetect -y 1' anschließend keine Treffer mehr und ich kann auch nichts mehr schalten.
    An den Pins des MCP23017 messe ich jetzt undefinierbare 0,8V statt den logischen Pegeln 0V oder 3,3V.

    Was könnte mein Fehler sein?
    Wieso funktioniert der I2C-Bus kurzzeitig und stürzt anschließend sofort ab? Liegt es vielleicht auch am Pi selbst?

    Einmal editiert, zuletzt von HerbertTheKing (12. Juni 2017 um 18:04)

  • Wie sieht's mit der Verbindung von GND vom Pi zu MCP aus?
    Was hängt alles noch am MCP?
    Hast Du da mal eine Skizze der gesamten Verschaltung?

    //EDIT: und das ist auch so ein "normaler" Baustein mit 28 Beinchen und nicht irgendein breakout-Board?

    cu,
    -ds-


  • Wie sieht's mit der Verbindung von GND vom Pi zu MCP aus?
    Was hängt alles noch am MCP?
    Hast Du da mal eine Skizze der gesamten Verschaltung?

    //EDIT: und das ist auch so ein "normaler" Baustein mit 28 Beinchen und nicht irgendein breakout-Board?

    cu,
    -ds-

    Ich habe gerade eine ganze Menge dran hängen. unter anderem eine 8-Kanal-Relaiskarte und mehrere Inputs. Ich werde am Wochenende mal sukzessive alle Verbraucher entfernen. Obwohl ich glaube, dass das ganze andere Ursachen hat.

    Im Anhang befindet sich die Grafik, nach der ich meine Schaltgung aufgebaut habe. Ich habe allerdings festgestellt, dass die 3,3V auf dem Reset-Pin des MCP23017 fehlen.

    Könnte dies einer der Gründe sein?
    Zudem habe ich den Pi auf 1MHz hochgetaktet. Das verträgt der Bus eventuell auch nicht... Obwohl im Datenblatt [font="sans-serif"]100 kHz,[/font][font="sans-serif"] 400 kHz und [/font]1.7MHz angegeben sind.


    Ja ich habe einen ganz normalen mit 28 Pins.

    Hier noch mal meine I2C-Verdrahtung:
    MCP23017 Raspberry Pi
    VDD 3,3V
    VSS GND
    SCL SCL
    SDA SDA
    RESET habe ich bisher vergessen
    A0 GND
    A1 GND
    A2 GND

    Geschalten habe ich bereits GPA0. Ging aber wie gesagt nur einmalig..

    Ich bekomme auch so langsam den Eindruck, dass ich einfach ein Kontktproblem habe, da die Adresse immer mal wieder erscheint und dann wieder verschwindet und dann wieder kommt und dann...

    Vielen Dank zumindest schon mal! Ich melde mich ;)
    Automatisch zusammengefügt:


    Vielleicht floatende Eingänge (Reset, A0-A2), zu lange Busleitung, zu hoher Bustakt (eher unwahrscheinlich)... Wie ds schon schrieb - ein Bildchen sagt mehr, als viele Worte.

    Entschuldige, aber was genau versteht man unter "floatenten" Eingängen?
    Meine Busleitungen haben eine Länge von etwa 15cm, aber im direkten Umfeld befinden sich nicht gerade wenig Induktivitäten, was auch noch Probleme verursachen könnte :denker:


  • Entschuldige, aber was genau versteht man unter "floatenten" Eingängen?


    Allgemein - Eingänge, die keinen dedizierten Pegel haben.
    In Deinem Fall z.B. eben genau die vergessene Anbindung der Resetleitung! Das ist tödlich. Bei den digitalen Eingängen würdest Du ggf. "nur" Müll lesen. Ein nicht angeschlossener Reset-Eingang führt jedoch zu den obskursten Butzemannfehlern.


  • Also Leute ich muss mich tausend mal entschuldigen.


    Mußt Du überhaupt nicht! Solche Dinge passieren jedem, der ein wenig bastelt! Aber auch wenn's hier nicht unbedingt notwendig war - vielleicht erkennst Du, warum relativ schnell der Ruf nach "schicke Schaltbild UND Foto vom Aufbau" zu hören ist. Zum einen zeigt das Schaltbild, was man möchte, der Aufbau jedoch zeigt allein, was man getan hat. Das sind mitunter zwei unterschiedliche Dinge. Die Leitung, die vergessen wurde zu stecken sieht man nicht auf dem Schaltplan. Die sieht man (mit etwas Glück) nur auf dem Bild.
    Frag' mal ds, wie oft er sich den Mund schon fusselig geredet hat, weil manche Leute einfach meinten, die Bilder nicht schicken zu wollen.
    Feedback ist ebenfalls wichtig. Garantiert sitzen noch mindestens zwei weitere Leute diese Woche rum und stehen vor dem selben Problem. Die haben dann jetzt schon mal gleich eine Lösung.

    ds: Hab' ich das jetzt nicht schön geschrieben?! Extra für Dich! :)

    PS: Vielleich helfen diese Zeilen ja auch, den einen oder anderen zu überzeugen...

  • Hallo Herbert,

    herzlich Willkommen in unserem Forum!


    Mußt Du überhaupt nicht! Solche Dinge passieren jedem, der ein wenig bastelt! Aber auch wenn's hier nicht unbedingt notwendig war - vielleicht erkennst Du, warum relativ schnell der Ruf nach "schicke Schaltbild UND Foto vom Aufbau" zu hören ist. Zum einen zeigt das Schaltbild, was man möchte, der Aufbau jedoch zeigt allein, was man getan hat. Das sind mitunter zwei unterschiedliche Dinge. Die Leitung, die vergessen wurde zu stecken sieht man nicht auf dem Schaltplan. Die sieht man (mit etwas Glück) nur auf dem Bild.
    Frag' mal ds, wie oft er sich den Mund schon fusselig geredet hat, weil manche Leute einfach meinten, die Bilder nicht schicken zu wollen.
    Feedback ist ebenfalls wichtig. Garantiert sitzen noch mindestens zwei weitere Leute diese Woche rum und stehen vor dem selben Problem. Die haben dann jetzt schon mal gleich eine Lösung.

    ds: Hab' ich das jetzt nicht schön geschrieben?! Extra für Dich! :)

    PS: Vielleich helfen diese Zeilen ja auch, den einen oder anderen zu überzeugen...

    ... Der Schnasseldag ... und der Dreamshader... ;)

    Was meinst Du, wie oft ich eine Schaltung aufgebaut habe oder einen Sensor angeschlossen habe... Hoffnungsvoll ein paar Codezeilen ersonnen. Und dann ...

    Ja, und dann? ... Nix... passierte ... oder nur Müll ...

    Am Code lag es nicht. Der setzte nur stur das Datenblatt um. Und Fehler passieren beim Programmieren immer nur anderen...

    Die Schaltung war auch Klasse... auch von mir.


    Also schrieb ich dann auch einen Hilfeaufruf. Prosa... Code... Schaltung mit Fritzing ... tolle Sache ...

    Alles fein vorbereitet. Kurz vor dem Abschicken entdeckte ich einen GND-Anschluss. Warum steckte da ein Kabel drin? Und warum führte es in keinen anderen GND?

    Nicht lange gezaudert... reingesteckt ... HURRA!

    Spätestens beim Selber-Zeichnen der Schaltung wirst Du offensichtliche Fehler finden. Garantiert!


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (13. Juni 2017 um 21:04)


  • Was meinst Du, wie oft ich eine Schaltung aufgebaut habe oder einen Sensor angeschlossen habe... Hoffnungsvoll ein paar Codezeilen ersonnen. Und dann ...
    Ja, und dann? ... Nix... passierte ... oder nur Müll ...
    Am Code lag es nicht. Der setzte nur stur das Datenblatt um. Und Fehler passieren beim Programmieren immer nur anderen...
    Die Schaltung war auch Klasse... auch von mir.
    Alles fein vorbereitet. Kurz vor dem Abschicken entdeckte ich einen GND-Anschluss. Warum steckte da ein Kabel sein? Und warum führte es in keinen anderen GND?

    Nicht lange geäußert... reingesteckt ... HURRA!

    Spätestens beim Selber-Zeichnen der Schaltung wirst Du offensichtliche Fehler finden. Garantiert!

    es dauerte eine Weile bis ich meinen neuen Kollegen überzeugen konnte nach jeder gelegten und gemessenen Leitung DIESE im Plan mit einem Textmarker nachzuzeichnen!

    Das kann auf einen BLICK 3 Stunden mühsame Fehlersuche sowie abgerauchte Bauteile verhindern!

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!