MCP23017 friert ein, stürzt ab

#7710805
Lesenswert?

Hallo,

nach langem lesen und suchen nach der Lösung für mein Problem versuche ich es mal hier.

Ich habe ein System "Homeassistant" aktuell auf einem Raspi 4 laufen, dort habe ich schon 2 MCP23017 (MCP23017 IO Expansion Board von Waveshare) kabelgebunden am I2C Bus am laufen, diese MCP s laufen als OUTPUTs und schalten Relais für Jalousien, hier gibt es keine Störungen und diese laufen Fehlerfrei. ( ohne Ferritkerne ) Für den Raspi und für die MCPs habe ich eine eigene Spannungsversorgung 5V. 3,0 A

Ich hatte den 3ten MCP für die Eingänge an dem I2C Bus mit einer eigener Adresse, an der 5 V Stromversorgung, hier hatte ich es mit Pullups (10k) extern und auch mit dem dem internen Pullup, oder pulldown (10k) Extern versucht, und dann nochmal nur mit 3,3 V das ganze immer das selbe Bild, erst funktioniert das System 1 Tag mal eine Woche dann sind alle Pine auf ON oder OFF je nachdem, oder schalten wirrwar hin und her, Manuelles abziehen der Kabel bringt keine Veränderung nur ein Neustart des Systems.

Die Eingänge sind 13 Stck. potentialfreie Taster die im haus verteilt sind, diese sind absolut Spannungsfrei. Ich habe Ferritkerne wegen der EMV an den Eingängen an der Spannungsversorgung etc. Nachgerüstet , keine Veränderung.

Ich habe den 3ten MCP getauscht, da ich vermutet hatte das diese defekt ist, aber auch das brachte keinen Erfolg.

Dann habe ich gelesen das die Pine 7 nicht als Eingang benutzt werden sollten, auch das brachte keine Veränderung.

Jetzt hatte ich einen NOdeECU genommen und das ganze über den Nodecu und ESPHOME angebunden um das ganze mal vom I2c Bus zu entkoppeln , auch hier keine Veränderung.

Es läuft 1-6 Tag dann sind alle Pine auf AN und das völlig random.

Jetzt ist das System als Pulldown (10k) Extern an 3,3 V an einem eigenen Nodeecu angebunden. In dem Waveshareboards sind an den I2C BUs schon Wiederstände.

Ich habe die Vermutung das der Zustand bzw. der Hänger oder das Einfrieren erst immer dann kommt wenn ein Taster geschaltet wird ( dieser ist potentialfrei). die Taster habe ich alle mehrfach auf Spannungsfreiheit überprüft. Durch die 10k Wiederstände sollten die Eingänge bei 3,3 V nur 0,33mA beim Schalten bekommen.

Die nicht belegten Pine 7 hatte ich auch mit Pulldown Wiederständen versehen , auch kein Erfolg.

Ich habe mich jetzt dazu entschlossen das System mit Shellys i4 zu realisieren, weil ich bisher keinen Erfolg hatte... Immer diese unverhofften zufälligen Vollasufälle .....

Aber ich würde gerne trotzdem die Lösung für mein Problem wissen. Hat einer das selbe Problem ?

Ich habe die Leitungen nur mit Ferritkernen versehen, noch nicht mit Alufolie oder so.... ich habe schon genug herum experementiert, vieleicht habe ich was entscheidendes übersehen.

#7710815
Lesenswert?

Piotr schrieb:

sind an den I2C BUs schon Wiederstände.

Piotr schrieb:

Durch die 10k Wiederstände

Piotr schrieb:

mit Pulldown Wiederständen

Piotr schrieb:

diese MCP s

Piotr schrieb:

diese laufen Fehlerfrei. ( ohne Ferritkerne )

Piotr schrieb:

einen NOdeECU genommen

Piotr schrieb:

habe ich gelesen das die Pine 7

Piotr schrieb:

ich habe schon genug herum experementiert, vieleicht habe ich was entscheidendes übersehen.

Oh weh, oh weh .... Das lässt auf die allgemeine Gemütslage schliessen, um es einmal neutral auszudrücken.

Gast #7710819
Lesenswert?

Piotr schrieb:

Ich habe Ferritkerne wegen der EMV an den Eingängen an der Spannungsversorgung etc. Nachgerüstet , keine Veränderung.

Veränderung schon, nur keine Verbesserung. So ist das wenn man irgendwas mit irgendwas tut, weil man das eigentliche Problem nicht versteht.

Ein Ablauf der (fast) immer zum Erfolg führt: Messen, verstehen, handeln.

Piotr schrieb:

Die Eingänge sind 13 Stck. potentialfreie Taster die im haus verteilt sind

??? Zeichne mal mit Angabe der ungefähren Kabellängen auf. Klingt abenteuerlich.

#7710838
Lesenswert?

Piotr schrieb:

Manuelles abziehen der Kabel bringt keine Veränderung nur ein Neustart des Systems.

Das heißt also, der MCP23017 hat seine Initialisierung vergessen und muß neu initialisiert werden. Welchen Bankmodus stellst Du denn ein? Vorzugsweise würde ich ihn nicht ändern, also auf Bank 0 belassen. Sonst ändern sich alle Registeradressen, d.h. die Register sind danach bunt durcheinander gewürfelt. Blöderweise wurde der MCP23017 so designed, daß selbst das Register zur Bankumschaltung seine Adresse ändert. Wer denkt sich bloß so einen Unsinn aus.

#7710882
Lesenswert?

Piotr schrieb:

Ich hatte den 3ten MCP für die Eingänge an dem I2C Bus mit einer eigener Adresse, an der 5 V Stromversorgung, hier hatte ich es mit Pullups (10k) extern und auch mit dem dem internen Pullup, oder pulldown (10k) Extern versucht, und dann nochmal nur mit 3,3 V das ganze immer das selbe Bild, erst funktioniert das System 1 Tag mal eine Woche dann sind alle Pine auf ON oder OFF je nachdem, oder schalten wirrwar hin und her, Manuelles abziehen der Kabel bringt keine Veränderung nur ein Neustart des Systems.

Pulldowns sind völlig kontraproduktiv. Pullups von 10k sind viel zu hoch gerade in verseuchten Umgebungen. Die Pullups müssen gegen 3V3 geschaltet werden, nimm mal 1k5, wenn Du die gegen 5 Volt geschaltet hast, ist evtl der Raspi schon hin.

#7710912
Lesenswert?

Also den Schaltplan vom Board gibt es hier:

https://www.waveshare.com/w/upload/5/54/MCP23017-IO-Expansion-Board-Schematic.pdf

Der Raspi hat doch 3,3V an den GPIOs? Dann würde ich die MCP auch mit 3,3V versorgen (und nicht mit 5V)

Und dann sind da (wie immer halt bei den Fertigbausteinen) so grenzdebile Pullups von 10kOhm in SDA/SCL drin. Die würde ich als Erstes aus allen 3 Modulen entfernen. Und dann genau zwei 1k5 Widerstände für einmal SDA und einmal SCL verwenden. Und zwar für alle 3 Module.

Insgesamt aber interessant. 13 im Haus verteilte Taster geben 3,3V oder 5V direkt auf die MCPs? Wie ist denn das verkabelt? Und wie lange sind die Kabel? Und wieviel Spannung kommt da noch an?

Für das High-Signal braucht der MCP mind. 0,8*VDD an Spannung, also 4V bei 5V Versorgung und 2,64V bei 3,3V Versorgung...

Also bei mir werden 10 MCPs an 5V von 2 I2C-Bussen abgefragt. Mit genau zwei 4k7 Pullups am Master. An die Eingänge gehe ich mit 24V - aber mit Spannungsteiler davor und zusätzlich einer Diode in Richtung Eingang.

#7710955
Lesenswert?

3,3V-Elektronik und Taster, die im ganzen Haus verteilt sind, mit schön langen Strippen, fein hochohmig abgeschlossen, und kreuz und quer durch die 230V-Verstrippung gezogen.

Da ist eine super Anwendung für Optokoppler, 24V-Taster und ordentlich 2-stellig mA Kontaktstrom, aber neeee, die Optos müssen immer an die Relais. Eingänge schützen? Wozu? So ein Rpi kost ja nix.

#7711091
Lesenswert?

Obelix X. schrieb:

Jochen D. schrieb:

Also den Schaltplan vom Board gibt es hier:

LOL

Es ist wohl nicht der Schaltplan des MCP-Boards gemeint sondern der von deinem gesamten Aufbau (incl. Leitungslängen).

Dir ist schon klar das ich nicht Piotr bin der den Thread gestartet hat?

Und Dank Leseschwäche ist Dir nicht aufgefallen das ich ohne Probleme 10 MCPs an 5V mit den Eingängen an 24V betreibe. Statt wie Piotr 3 Waveshare-Module an einem Raspi…

Da „LOL“-le ich gleich mehrfach..

#7711476
Lesenswert?

Jochen D. schrieb:

Dir ist schon klar das ich nicht Piotr bin der den Thread gestartet hat?

Das habe ich wohl am Namen erkannt aber aus versehen statt "seinem" "deinen" geschrieben.

Jochen D. schrieb:

Und Dank Leseschwäche ist Dir nicht aufgefallen das ich ohne Probleme 10 MCPs an 5V mit den Eingängen an 24V betreibe. Statt wie Piotr 3 Waveshare-Module an einem Raspi…

Trotzdem kann man anhand deines Schaltplans nicht erkennen, was Piotr bei sich wirklich installiert hat und was für Kabel er neben welchen über welche Entfernung verlegt hat.

Einen 0815 Schaltplan von einem MCP hilft hier nicht weiter.

#7711550
Lesenswert?

Obelix X. schrieb:

Trotzdem kann man anhand deines Schaltplans nicht erkennen, was Piotr bei sich wirklich installiert hat

Wastl schrieb:

Vielleicht sollte man auch mal an einen vorgezogenen Freitag denken, dann ist diese Woche eben Dienstag der neue Freitag.

Das wird auch immer wahrscheinlicher da keine Antworten auf differenzierte Rückfragen kommen. Sehr typisch ...

#7711556
Lesenswert?

Hallo Zusammen,

danke vorab für alle raschen antworten, ich versuche gerade alles für mich erst einmal gedanklich zu sortieren.

Ich fertige gerade eine Zeichnung an, mit Kabellängen Querschnitten, Stromaufnahmen und Spannugsabfällen etc.

Ich denke heute Abend habe ich den Plan fertig.

Gruß

Piotr.

(Firma: Hobbytheoretiker) #7711919
Lesenswert?

Wastl schrieb:

Piotr schrieb:

MCP23017 friert ein, stürzt ab

Ich frage mich immer noch wie ein MCP23017 abstürzen kann.

Vielleicht war es doch keine so gute Idee von mir in einem Thread zu posten:

"Die Lebensdauer halbiert sich jeweils pro 9 °C Temperaturanstieg. Eine Betriebszeit von Jahrzehnten bei niedrigen Temperaturen können bei hohen Temperaturen rasch nur wenige Jahre oder sogar Monate werden. Jedes Grad weniger zählt."

Und der TO hat das gelesen, nun alles ins 4-Sterne Tiefkühlfach gesteckt. ...

#7711932
Lesenswert?

Hallo Piotr,

Deine VCC-Leitung von den langen Leitungen zu den Schaltern wird doch bestimmt auch eine Länge haben und bestimmt mehrfach existieren. Jeder Schalter hat ja einen Hin- und einen Rück-Draht.

Wenn diese Leitungen nicht geschirmt sind, solltest Du verdrillte Leitungen nehmen, wie sie z.B. in LAN-Kabeln eingesetzt werden.

Nimm ein altes LAN- oder ISDN-Kabel für die entfernten Schalter.

Überlege Dir, was passiert, wenn mehrere Schalter gleichzeitig betätigt werden, falls es räumlich möglich ist. Entsprechend dieser Wahrscheinlichkeit sollten Deine 10k Pullup Widerstände dimensioniert sein, je nach dem, wie belastbar Deine VCC ist.

Je größer der Strom in diesen Steuerleitungen, desto weniger kann er von Außen gestört werden, aber desto mehr muss VCC liefern können. Da musst Du die Richtige Dimensionierung finden.

Den Rat Optokoppler für die Schalter am MC einzusetzen hast Du ja schon bekommen, das löst einige Deiner Probleme, die die langen Steuerleitungen mit sich bringen.

Ein Oszilloskop zu verwenden, um die Signale auf den Leitungen zu beobachten, ist auch nicht verkehrt und bringt Dir schneller die Erkenntnis wo das Problem liegt.

Solltest Du solche Projekte öfter in Angriff nehmen, ist das sicherlich eine nützliche und zeitsparenden Investition.

Viel Erfolg.

Markus

Gast #7711935
Lesenswert?

Markus W. schrieb:

Wenn diese Leitungen nicht geschirmt sind, solltest Du verdrillte Leitungen nehmen

Auch das wird nicht helfen. So macht man keine Gebäudeverkabelung. 20m Antennenschleife neben Netzverkabelung legen und sich dann wundern das völlig schutzlose Logigbausteine den Dienst quittieren.

#7711960
Lesenswert?

@Michael,

im Prinzip hast Du Recht, aber wenn dem generell so wäre würde keine ungeschirmte DSL-Leitung funktionieren.

Da wir aber nicht die Verläge-Art und -Technik des TOs kenne kann man nicht genau sagen, was da so passiert.

Zudem scheint es ein Bastelprojekt zu sein, denn wenn Er was ganz ausgereiftes hätte haben wollen, hätte er eine Firma beauftragt, sofern das Geld dafür übrig ist und nicht Vergessen das ist ein Forum in dem auch Unerfahrene ihre Fragen stellen können und sollen.

LG Markus

#7711962
Lesenswert?

Markus W. schrieb:

Deine VCC-Leitung von den langen Leitungen zu den Schaltern wird doch bestimmt auch eine Länge haben und bestimmt mehrfach existieren.

Ich schalte Kontakte grundsätzlich nur low aktiv, d.h. gegen GND. Und alle Kabel nicht direkt auf einen IO-Pin, sondern bei Eingängen 10k in Reihe als ESD-Schutz, möglichst nahe am IO-Pin. Der Pullup (10k) kommt davor.

Nur für Sicherheitskreise werden 24V zum Kontakt geführt, damit ein Masseschluß nicht die Freigabe signalisiert. Diese 24V müssen dann auch strombegrenzt sein (Polyfuse).

#7712031
Lesenswert?

Piotr S. schrieb:

w.o. schon 2x gesagt: mach die Pullups für SDA und SCL nicht mit 10k sondern mit 1k5.

Die Pullups 10K sind in SMD Technik auf der Platine, wenn es wirklich die Lösung sein sollte würde ich diese tauschen. Ist das wirklich mein Problem ?

Lies Dir mal die Spezifikationen von I2C durch, dann weist Du warum.

Angehängte Dateien:
#7712093
Lesenswert?

Markus W. schrieb:

Hallo Piotr,

Deine VCC-Leitung von den langen Leitungen zu den Schaltern wird doch bestimmt auch eine Länge haben und bestimmt mehrfach existieren. Jeder Schalter hat ja einen Hin- und einen Rück-Draht.

Hin- und Rückdraht wurden berücksichtigt.

Wenn diese Leitungen nicht geschirmt sind, solltest Du verdrillte Leitungen nehmen, wie sie z.B. in LAN-Kabeln eingesetzt werden.

Nimm ein altes LAN- oder ISDN-Kabel für die entfernten Schalter.

Die Leitungen sind NYM-J Leitungen, jeder Schalter befindet sich in einem anderen Raum. Die Leitungen sind in Bestand Verlegt, Twisted-Pair Leitungen kann ich nicht mehr nachlegen, dafür ist der Aufwand viel zu hoch.

Überlege Dir, was passiert, wenn mehrere Schalter gleichzeitig betätigt werden, falls es räumlich möglich ist. Entsprechend dieser Wahrscheinlichkeit sollten Deine 10k Pullup Widerstände dimensioniert sein, je nach dem, wie belastbar Deine VCC ist.

Es werden nie Schalter gleichzeitig getastet

Je größer der Strom in diesen Steuerleitungen, desto weniger kann er von Außen gestört werden, aber desto mehr muss VCC liefern können. Da musst Du die Richtige Dimensionierung finden.

Den Rat Optokoppler für die Schalter am MC einzusetzen hast Du ja schon bekommen, das löst einige Deiner Probleme, die die langen Steuerleitungen mit sich bringen.

Das hatte ich auch schon überlegt, hier stellt sich mir nur die Frage wird nicht dann wieder in der Verteilung wo auch Leitungsschutzschalter sind ein Übersprechen zwischen dem MCP23017 und dem Optokoppler stattfinden ?

Ein Oszilloskop zu verwenden, um die Signale auf den Leitungen zu beobachten, ist auch nicht verkehrt und bringt Dir schneller die Erkenntnis wo das Problem liegt.

Solltest Du solche Projekte öfter in Angriff nehmen, ist das sicherlich eine nützliche und zeitsparenden Investition.

Viel Erfolg.

Markus

#7712125
Lesenswert?

Wendels B. schrieb:

Piotr S. schrieb:

Nein, es ist Privat bei mir zuhause, ich habe nur einer CAD von einem alten Projekt gezeichnet.

Na, so alt ist das ja nicht. https://dorsten-online.de/hochmoderne-kita-wennemar-in-holsterhausen-eroeffnet/

Ob das Dein Chef so gern hat, wenn Du sowas veroeffentlichst?

PDF --> Eigenschaften

wie kann ich die Datei hier im Forum löschen oder verändern ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren