Rolladen Steuerung mittels MCP23017 und Taster

Begonnen von IPPhoner2b, 09 November 2014, 15:27:10

Vorheriges Thema - Nächstes Thema

IPPhoner2b

Hallo Slonnet,

Also ein Arbeitskollege,der sich gerne mit so bastelsachen die Zeit vertreibt, sagte mir, dass es wohl ein generelles Problem des I2C Busses gibt, bei mehreren Chips. Was da jetzt dran ist, oder ob es irgendwie gelöst werden kann,weiß ich leider auch nicht.

Mein Hardware Aufbau umfasst nur paar Kleinigkeiten.
Einmal je nen ULN2803 je MCP Ausgangs Bank, danach kommen dann je 2 Ausgänge ein Umschaltrelais, damit eben nicht auf beide Relais Strom gegeben werden kann, falls mal eins kleben bleiben sollte. Und danach dann je ein Relais für hoch und runter. Als Relais wollte ich Solid State Relais einsetzen. Habe damals mit den "normalen" Relais etwas schlechtere Erfahrungen gemacht.

Das ist aber nur der Aufbau für einen Teil der Rollos, die andere Seite wurde damals mit Funkmodulen Ausgerüstet, die jetzt durch Homematic Komponenten ausgetauscht werden.

Das war es eigentlich auch schon. Ist ja bei meinen Eltern, deswegen wollte ich den Aufwand recht gering halten, und wir wollten halt nicht überall alles neu machen, und letztes Jahr haben wir vorsorglich bei den meisten Rollos Steuerleitungen hingelegt, die dann passend mit fhem gesteuert werden können.

Was mich halt echt noch wurmt ist, dass ich die Timer nicht gelöscht bekomme, und jetzt eben die Rollos trotz Abbruch noch weiter runterfahren. Aber das werde ich mir die Tage mal ansehen. Heute sind meine letzten Homematic Komponenten angekommen, diese habe ich wenigstens schonmal zusammengebaut, aber heute hab ich keinen Nerv mehr, mich da noch mit zu beschäftigen.

Schönen Abend noch.

klausw

Zitat von: IPPhoner2b am 09 Dezember 2014, 21:05:41
Also ein Arbeitskollege,der sich gerne mit so bastelsachen die Zeit vertreibt, sagte mir, dass es wohl ein generelles Problem des I2C Busses gibt, bei mehreren Chips. Was da jetzt dran ist, oder ob es irgendwie gelöst werden kann,weiß ich leider auch nicht.
Bezieht sich das aufs Pi? Oder generell den I2C Bus?
Vielleicht lässt sich das im RPII2C Modul lösen, aber ich tappe da komplett im dunkeln.
Derzeit habe ich LCD, MCP27008, MCP3422, PCA9532 und den EEPROM dran...ohne Probleme.

Zitat von: IPPhoner2b am 09 Dezember 2014, 21:05:41
Was mich halt echt noch wurmt ist, dass ich die Timer nicht gelöscht bekomme, und jetzt eben die Rollos trotz Abbruch noch weiter runterfahren. Aber das werde ich mir die Tage mal ansehen. Heute sind meine letzten Homematic Komponenten angekommen, diese habe ich wenigstens schonmal zusammengebaut, aber heute hab ich keinen Nerv mehr, mich da noch mit zu beschäftigen.
Hältst du die Rollos auch an, oder löschst du nur den timer?
Vermutlich bringt es nix den timer zu löschen, wenn die rollos schon laufen (der timer soll ja sowieso nur wieder abschalten)
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

IPPhoner2b

Hi Klaus,

also bzgl der I2C Schnittstelle meinte mein Kollege, dass es ein generelles Problem der I2Cs ist, das bei mehreren Registern sich irgendwann die Abfragen gegenseitig hochschaukeln, spricht ja in dem Sinne dafür, weil je mehr Ports dran waren, um so schlimmer wurde das ganze ja.

Und bzgl der Timer,
es sollte so sein, dass ich für jedes per Fernbedienung gesteuerte Rollo einen eigenen Timer starte, damit das ganze in meiner gewünschten Verzögerung abläuft. Und ganz am Anfang steht eigentlich drin, dass die Timer gelöscht werden sollen.

Mein Problem ist nämlich folgendes.

Ich drücke auf der Fernbedienung die Taste, dass alle Rollos runterfahren, merke dann, oh, das war falsch, die will ich doch nicht runterfahren, also drücke ich auf die Stop Taste. Die Rollos bleiben auch sofort stehen, aber die "noch nicht gestarteten" Rollos fahren nach ihrer Zeit, wenn der Timer es sagt dann los. Mein Gedanke ist noch, dass es daran liegt, weil ich dafür verschiedene Notifys habe. Das habe ich heute morgen mal auf gut Glück umgestellt, auf ein einziges Notify, ähnlich wie du es mir am Anfang dieses Threads erstellt hast. Bin aber noch nicht zum Testen gekommen, weil ich die Config schon soweit verändert habe, dass die zusätzlichen Homematic Komponenten schon eingebunden sind, obwohl ich sie noch nicht angelernt habe ...
Vielleicht mache ich das gleich noch kurz....

slonnet

Moin,

Zitat von: IPPhoner2b am 10 Dezember 2014, 19:30:30
also bzgl der I2C Schnittstelle meinte mein Kollege, dass es ein generelles Problem der I2Cs ist, das bei mehreren Registern sich irgendwann die Abfragen gegenseitig hochschaukeln, spricht ja in dem Sinne dafür, weil je mehr Ports dran waren, um so schlimmer wurde das ganze ja.

kann ich irgendwie nicht so ganz glauben.
Zumal, wenn die weiteren Portexpander nur als Outputs konfiguriert sind, gibt es nicht mehrere Abfragen!

Richtig ist allerdings, das ein I2C Bus problematisch sein KANN!

z.b. - Bus zu lang (länger als 2 Meter)
       - irgend etwas stört den Bus (Stromführende Leitungen paralell?)
       - Spannungsversorgung zu unstabil (bekommen die MCPs Versorgung vom Pi oder extern?)
       - evtl auch noch ein Fehler mit Fhem Modul oder das Modul falsch angesteuert
             
Evtl. Lösungen:

        - Bus möglichst kurz halten und Störungen durch Übersprechen vermeiden
        - 100nF paralell zwischen VCC/GND direkt am MCP und Spannungsversorgung extern
        - evtl mit Bustreibern arbeiten um den Buspegel anzuheben (z.b PCA9600)

     




       

IPPhoner2b

Wie gesagt, ich kenne mich da nicht so besonders aus, deswegen frage ich da lieber Leute, die da mehr Ahnung von haben  ;D

Also Buslänge schließe ich mal aus, die liegt bei knappen 25cm.
Stromversorgung Ok, da könnte ich noch mal nachschauen, der wird mit den 3,3V vom Pi versorgt, aber eigentlich sollte solch ein Chip nicht wirklich was gebrauchen. Den kleinen Pufferkondensator habe ich eingebaut, also der Fall ist auch erledigt  ;) ::)

Also so wüsste ich nicht, was ich noch verändern müsste. Und es ist ja egal, ob die Chips angesteuert werden, oder nicht.  Sobald diese konfiguriert sind, läuft es langsamer, der Stromverbrauch ist der selbe, weil die Chips ja immer in der Platine stecken :o ::)

Mit mehr Abfragen habe ich mich etwas unglücklich ausgedrückt, meinte damit, dass er eben mehr Register durchklappern muss, um das passende zu erwischen...

Na mal abwarten, wenn du deine Chips angeschlossen hast, ob das dann alles schnell läuft, oder ob er sich dann auch ne Gedenkminute nimmt.

slonnet

Schau mal hier:

http://www.pridopia.co.uk/pi-23017-8-lp.html

Wenn die das so fertig anbieten, denke ich das grundsätzlich 8x MCP23017 am I2C auch problemlos laufen sollte, zumindest von der Hardwareseite aus betrachtet!


IPPhoner2b

Ich weiß ja leider auch nicht, woran es liegen kann. Es läuft ja über das Web IF auch alles ohne Probleme, nur sobald ich eine Aktion bzw Notify Auslöse, ist Feierabend, ab da geht die Zeit sofort nach oben. Wäre interessant, ob bei dir eben die gleichen Probleme auftreten. Werde noch mal nen Schaltplan erstellen, und den hier einstellen, evtl findet ja jemand nen Fehler im Aufbau. Das einzig merkwürdige ist ja, solange ich bei 2 Chips bleibe, ist es nicht zu merken, aber ab dem 3 Chip, der nur definiert sein muss, darauf muss sonst nichts weiter laufen, ab dann geht die Verzögerung in die Höhe.

IPPhoner2b

#52
So, habe heute mal einen Schaltplan der kleinen Platine "gemalt", hoffe man kann etwas drauf erkennen, und vor allem, hoffe ich, dass ihr das interpretieren könnt, was ich da gezeichnet habe.

Versuche das mal als Bild anzuhängen, hoffe das klappt.

Also geklappt hat es, und nicht wundern, habe je MCP nur 4 Taster eingezeichnet, damit es den Platz nicht sprengt, und man weis ja, wie es dann abgeklemmt wird.

Wenn da jetzt dicke Fehler im Aufbau zu finden sind, immer her mit Vorschlägen,was ich verändern / verbessern kann.

Habe grade nochmal im EventMonitor mitlaufen lassen, wenn ich einen Schalter betätige, und zwar, mit 2 oder 4 MCPs aktiviert:

Da siehst man eindeutig, dass die Abfragen deutlich länger dauern...
Hier mit 2 MCPs: (Bearbeitung bis zum Kommando innerhalb 1 Sekunde)
Events:
2014-12-14 14:17:37 readingsProxy abadf aus
2014-12-14 14:17:37 readingsProxy abadw aus
2014-12-14 14:17:37 readingsProxy abzf aus
2014-12-14 14:17:37 readingsProxy abzw aus
2014-12-14 14:17:37 readingsProxy aflf aus
2014-12-14 14:17:37 readingsProxy aflw aus
2014-12-14 14:17:37 readingsProxy agwcf aus
2014-12-14 14:17:37 readingsProxy agwcw aus
2014-12-14 14:17:37 readingsProxy aklif aus
2014-12-14 14:17:37 readingsProxy akliw an
2014-12-14 14:17:37 readingsProxy akref aus
2014-12-14 14:17:37 readingsProxy akrew aus
2014-12-14 14:17:37 readingsProxy akzf aus
2014-12-14 14:17:37 readingsProxy akzw aus
2014-12-14 14:17:37 readingsProxy aszf aus
2014-12-14 14:17:37 readingsProxy aszw aus
2014-12-14 14:17:37 Global global DEFINED kli_down
2014-12-14 14:17:37 readingsProxy abadf aus
2014-12-14 14:17:37 readingsProxy abadw aus
2014-12-14 14:17:37 readingsProxy abzf aus
2014-12-14 14:17:37 readingsProxy abzw aus
2014-12-14 14:17:37 readingsProxy aflf aus
2014-12-14 14:17:37 readingsProxy aflw aus
2014-12-14 14:17:37 readingsProxy agwcf aus
2014-12-14 14:17:37 readingsProxy agwcw aus
2014-12-14 14:17:37 readingsProxy aklif aus
2014-12-14 14:17:37 readingsProxy akliw an
2014-12-14 14:17:37 readingsProxy akref aus
2014-12-14 14:17:37 readingsProxy akrew aus
2014-12-14 14:17:37 readingsProxy akzf aus
2014-12-14 14:17:37 readingsProxy akzw aus
2014-12-14 14:17:37 readingsProxy aszf aus
2014-12-14 14:17:37 readingsProxy aszw aus
2014-12-14 14:17:37 Global global DEFINED kli_clos
2014-12-14 14:17:37 dummy Rollokli runter
2014-12-14 14:17:37 dummy Rollokli runterfahren
2014-12-14 14:17:37 readingsProxy sklir off
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 PortB1: on
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 PortA1: on
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 readingsProxy akliw aus
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 PortA1: off
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 RPI_GPIO Interrupt20 Pinlevel: high
2014-12-14 14:17:37 RPI_GPIO Interrupt20 on
2014-12-14 14:17:37 readingsProxy sklir on
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 PortB1: off
2014-12-14 14:17:37 readingsProxy akliw an
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 PortA1: on
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 RPI_GPIO Interrupt20 Pinlevel: high
2014-12-14 14:17:37 RPI_GPIO Interrupt20 on
2014-12-14 14:17:37 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:37 RPI_GPIO Interrupt20 Pinlevel: low
2014-12-14 14:17:37 RPI_GPIO Interrupt20 off
2014-12-14 14:17:37 RPI_GPIO Interrupt20 Longpress: off
2014-12-14 14:17:38 readingsProxy aklif an
2014-12-14 14:17:38 I2C_MCP23017 mcp_20 PortA0: on
2014-12-14 14:17:38 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:38 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:38 readingsProxy abadf aus
2014-12-14 14:17:38 readingsProxy abadw aus
2014-12-14 14:17:38 readingsProxy abzf aus
2014-12-14 14:17:38 readingsProxy abzw aus
2014-12-14 14:17:38 readingsProxy aflf aus
2014-12-14 14:17:38 readingsProxy aflw aus
2014-12-14 14:17:38 readingsProxy agwcf aus
2014-12-14 14:17:38 readingsProxy agwcw aus
2014-12-14 14:17:38 readingsProxy aklif an
2014-12-14 14:17:38 readingsProxy akliw an
2014-12-14 14:17:38 readingsProxy akref aus
2014-12-14 14:17:38 readingsProxy akrew aus
2014-12-14 14:17:38 readingsProxy akzf aus
2014-12-14 14:17:38 readingsProxy akzw aus
2014-12-14 14:17:38 readingsProxy aszf aus
2014-12-14 14:17:38 readingsProxy aszw aus
2014-12-14 14:17:38 Global global DELETED kli_down
2014-12-14 14:17:53 readingsProxy aklif aus
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 PortA0: off
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:53 readingsProxy abadf aus
2014-12-14 14:17:53 readingsProxy abadw aus
2014-12-14 14:17:53 readingsProxy abzf aus
2014-12-14 14:17:53 readingsProxy abzw aus
2014-12-14 14:17:53 readingsProxy aflf aus
2014-12-14 14:17:53 readingsProxy aflw aus
2014-12-14 14:17:53 readingsProxy agwcf aus
2014-12-14 14:17:53 readingsProxy agwcw aus
2014-12-14 14:17:53 readingsProxy aklif aus
2014-12-14 14:17:53 readingsProxy akliw an
2014-12-14 14:17:53 readingsProxy akref aus
2014-12-14 14:17:53 readingsProxy akrew aus
2014-12-14 14:17:53 readingsProxy akzf aus
2014-12-14 14:17:53 readingsProxy akzw aus
2014-12-14 14:17:53 readingsProxy aszf aus
2014-12-14 14:17:53 readingsProxy aszw aus
2014-12-14 14:17:53 Global global DELETED kli_clos
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:53 readingsProxy akliw aus
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 PortA1: off
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:53 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:53 dummy Rollokli geschlossen
2014-12-14 14:17:54 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:17:54 I2C_MCP23017 mcp_20 Ok


Und hier mit 4 MCPs: (Bearbeitung bis zum Kommando in knapp 3 Sekunden)
Events:
2014-12-14 14:13:16 readingsProxy a21a0 aus
2014-12-14 14:13:16 readingsProxy a21a1 aus
2014-12-14 14:13:16 readingsProxy a21a2 aus
2014-12-14 14:13:16 readingsProxy a21a3 aus
2014-12-14 14:13:16 readingsProxy a21a4 aus
2014-12-14 14:13:16 readingsProxy a21a5 aus
2014-12-14 14:13:16 readingsProxy a21a6 aus
2014-12-14 14:13:16 readingsProxy a21a7 aus
2014-12-14 14:13:16 readingsProxy a21b0 aus
2014-12-14 14:13:16 readingsProxy a21b1 aus
2014-12-14 14:13:16 readingsProxy a21b2 aus
2014-12-14 14:13:16 readingsProxy a21b3 aus
2014-12-14 14:13:16 readingsProxy a21b4 aus
2014-12-14 14:13:16 readingsProxy a21b5 aus
2014-12-14 14:13:16 readingsProxy a21b6 aus
2014-12-14 14:13:16 readingsProxy a21b7 aus
2014-12-14 14:13:16 readingsProxy a22a0 aus
2014-12-14 14:13:16 readingsProxy a22a1 aus
2014-12-14 14:13:16 readingsProxy a22a2 aus
2014-12-14 14:13:16 readingsProxy a22a3 aus
2014-12-14 14:13:17 readingsProxy a22a4 aus
2014-12-14 14:13:17 readingsProxy a22a5 aus
2014-12-14 14:13:17 readingsProxy a22a6 aus
2014-12-14 14:13:17 readingsProxy a22a7 aus
2014-12-14 14:13:17 readingsProxy a22b0 aus
2014-12-14 14:13:17 readingsProxy a22b1 aus
2014-12-14 14:13:17 readingsProxy a22b2 aus
2014-12-14 14:13:17 readingsProxy a22b3 aus
2014-12-14 14:13:17 readingsProxy a22b4 aus
2014-12-14 14:13:17 readingsProxy a22b5 aus
2014-12-14 14:13:17 readingsProxy a22b6 aus
2014-12-14 14:13:17 readingsProxy a22b7 aus
2014-12-14 14:13:17 readingsProxy abadf aus
2014-12-14 14:13:17 readingsProxy abadw aus
2014-12-14 14:13:17 readingsProxy abzf aus
2014-12-14 14:13:17 readingsProxy abzw aus
2014-12-14 14:13:17 readingsProxy aflf aus
2014-12-14 14:13:17 readingsProxy aflw aus
2014-12-14 14:13:17 readingsProxy agwcf aus
2014-12-14 14:13:17 readingsProxy agwcw aus
2014-12-14 14:13:17 readingsProxy aklif aus
2014-12-14 14:13:17 readingsProxy akliw an
2014-12-14 14:13:17 readingsProxy akref aus
2014-12-14 14:13:17 readingsProxy akrew aus
2014-12-14 14:13:17 readingsProxy akzf aus
2014-12-14 14:13:17 readingsProxy akzw aus
2014-12-14 14:13:17 readingsProxy aszf aus
2014-12-14 14:13:17 readingsProxy aszw aus
2014-12-14 14:13:17 Global global DEFINED kli_down
2014-12-14 14:13:17 readingsProxy a21a0 aus
2014-12-14 14:13:17 readingsProxy a21a1 aus
2014-12-14 14:13:17 readingsProxy a21a2 aus
2014-12-14 14:13:17 readingsProxy a21a3 aus
2014-12-14 14:13:17 readingsProxy a21a4 aus
2014-12-14 14:13:17 readingsProxy a21a5 aus
2014-12-14 14:13:17 readingsProxy a21a6 aus
2014-12-14 14:13:17 readingsProxy a21a7 aus
2014-12-14 14:13:18 readingsProxy a21b0 aus
2014-12-14 14:13:18 readingsProxy a21b1 aus
2014-12-14 14:13:18 readingsProxy a21b2 aus
2014-12-14 14:13:18 readingsProxy a21b3 aus
2014-12-14 14:13:18 readingsProxy a21b4 aus
2014-12-14 14:13:18 readingsProxy a21b5 aus
2014-12-14 14:13:18 readingsProxy a21b6 aus
2014-12-14 14:13:18 readingsProxy a21b7 aus
2014-12-14 14:13:18 readingsProxy a22a0 aus
2014-12-14 14:13:18 readingsProxy a22a1 aus
2014-12-14 14:13:18 readingsProxy a22a2 aus
2014-12-14 14:13:18 readingsProxy a22a3 aus
2014-12-14 14:13:18 readingsProxy a22a4 aus
2014-12-14 14:13:18 readingsProxy a22a5 aus
2014-12-14 14:13:18 readingsProxy a22a6 aus
2014-12-14 14:13:18 readingsProxy a22a7 aus
2014-12-14 14:13:18 readingsProxy a22b0 aus
2014-12-14 14:13:18 readingsProxy a22b1 aus
2014-12-14 14:13:18 readingsProxy a22b2 aus
2014-12-14 14:13:18 readingsProxy a22b3 aus
2014-12-14 14:13:18 readingsProxy a22b4 aus
2014-12-14 14:13:18 readingsProxy a22b5 aus
2014-12-14 14:13:18 readingsProxy a22b6 aus
2014-12-14 14:13:18 readingsProxy a22b7 aus
2014-12-14 14:13:18 readingsProxy abadf aus
2014-12-14 14:13:18 readingsProxy abadw aus
2014-12-14 14:13:18 readingsProxy abzf aus
2014-12-14 14:13:18 readingsProxy abzw aus
2014-12-14 14:13:18 readingsProxy aflf aus
2014-12-14 14:13:18 readingsProxy aflw aus
2014-12-14 14:13:18 readingsProxy agwcf aus
2014-12-14 14:13:18 readingsProxy agwcw aus
2014-12-14 14:13:18 readingsProxy aklif aus
2014-12-14 14:13:18 readingsProxy akliw an
2014-12-14 14:13:18 readingsProxy akref aus
2014-12-14 14:13:18 readingsProxy akrew aus
2014-12-14 14:13:18 readingsProxy akzf aus
2014-12-14 14:13:18 readingsProxy akzw aus
2014-12-14 14:13:18 readingsProxy aszf aus
2014-12-14 14:13:18 readingsProxy aszw aus
2014-12-14 14:13:19 Global global DEFINED kli_clos
2014-12-14 14:13:19 dummy Rollokli runter
2014-12-14 14:13:19 dummy Rollokli runterfahren
2014-12-14 14:13:19 readingsProxy sklir off
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 PortB1: on
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 PortA1: on
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 readingsProxy akliw aus
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 PortA1: off
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 RPI_GPIO Interrupt20 Pinlevel: high
2014-12-14 14:13:19 RPI_GPIO Interrupt20 on
2014-12-14 14:13:19 readingsProxy sklir on
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 PortB1: off
2014-12-14 14:13:19 readingsProxy akliw an
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 PortA1: on
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 RPI_GPIO Interrupt20 Longpress: on
2014-12-14 14:13:19 readingsProxy aklif an
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 PortA0: on
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:19 readingsProxy a21a0 aus
2014-12-14 14:13:19 readingsProxy a21a1 aus
2014-12-14 14:13:19 readingsProxy a21a2 aus
2014-12-14 14:13:19 readingsProxy a21a3 aus
2014-12-14 14:13:19 readingsProxy a21a4 aus
2014-12-14 14:13:19 readingsProxy a21a5 aus
2014-12-14 14:13:19 readingsProxy a21a6 aus
2014-12-14 14:13:19 readingsProxy a21a7 aus
2014-12-14 14:13:19 readingsProxy a21b0 aus
2014-12-14 14:13:19 readingsProxy a21b1 aus
2014-12-14 14:13:19 readingsProxy a21b2 aus
2014-12-14 14:13:19 readingsProxy a21b3 aus
2014-12-14 14:13:19 readingsProxy a21b4 aus
2014-12-14 14:13:19 readingsProxy a21b5 aus
2014-12-14 14:13:19 readingsProxy a21b6 aus
2014-12-14 14:13:19 readingsProxy a21b7 aus
2014-12-14 14:13:19 readingsProxy a22a0 aus
2014-12-14 14:13:19 readingsProxy a22a1 aus
2014-12-14 14:13:19 readingsProxy a22a2 aus
2014-12-14 14:13:19 readingsProxy a22a3 aus
2014-12-14 14:13:19 readingsProxy a22a4 aus
2014-12-14 14:13:19 readingsProxy a22a5 aus
2014-12-14 14:13:20 readingsProxy a22a6 aus
2014-12-14 14:13:20 readingsProxy a22a7 aus
2014-12-14 14:13:20 readingsProxy a22b0 aus
2014-12-14 14:13:20 readingsProxy a22b1 aus
2014-12-14 14:13:20 readingsProxy a22b2 aus
2014-12-14 14:13:20 readingsProxy a22b3 aus
2014-12-14 14:13:20 readingsProxy a22b4 aus
2014-12-14 14:13:20 readingsProxy a22b5 aus
2014-12-14 14:13:20 readingsProxy a22b6 aus
2014-12-14 14:13:20 readingsProxy a22b7 aus
2014-12-14 14:13:20 readingsProxy abadf aus
2014-12-14 14:13:20 readingsProxy abadw aus
2014-12-14 14:13:20 readingsProxy abzf aus
2014-12-14 14:13:20 readingsProxy abzw aus
2014-12-14 14:13:20 readingsProxy aflf aus
2014-12-14 14:13:20 readingsProxy aflw aus
2014-12-14 14:13:20 readingsProxy agwcf aus
2014-12-14 14:13:20 readingsProxy agwcw aus
2014-12-14 14:13:20 readingsProxy aklif an
2014-12-14 14:13:20 readingsProxy akliw an
2014-12-14 14:13:20 readingsProxy akref aus
2014-12-14 14:13:20 readingsProxy akrew aus
2014-12-14 14:13:20 readingsProxy akzf aus
2014-12-14 14:13:20 readingsProxy akzw aus
2014-12-14 14:13:20 readingsProxy aszf aus
2014-12-14 14:13:20 readingsProxy aszw aus
2014-12-14 14:13:20 Global global DELETED kli_down
2014-12-14 14:13:20 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:20 RPI_GPIO Interrupt20 Pinlevel: low
2014-12-14 14:13:20 RPI_GPIO Interrupt20 off
2014-12-14 14:13:20 RPI_GPIO Interrupt20 Longpress: off
2014-12-14 14:13:33 readingsProxy akliw aus
2014-12-14 14:13:33 I2C_MCP23017 mcp_20 PortA1: off
2014-12-14 14:13:33 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:33 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:33 readingsProxy a21a0 aus
2014-12-14 14:13:33 readingsProxy a21a1 aus
2014-12-14 14:13:33 readingsProxy a21a2 aus
2014-12-14 14:13:33 readingsProxy a21a3 aus
2014-12-14 14:13:33 readingsProxy a21a4 aus
2014-12-14 14:13:33 readingsProxy a21a5 aus
2014-12-14 14:13:33 readingsProxy a21a6 aus
2014-12-14 14:13:33 readingsProxy a21a7 aus
2014-12-14 14:13:33 readingsProxy a21b0 aus
2014-12-14 14:13:34 readingsProxy a21b1 aus
2014-12-14 14:13:34 readingsProxy a21b2 aus
2014-12-14 14:13:34 readingsProxy a21b3 aus
2014-12-14 14:13:34 readingsProxy a21b4 aus
2014-12-14 14:13:34 readingsProxy a21b5 aus
2014-12-14 14:13:34 readingsProxy a21b6 aus
2014-12-14 14:13:34 readingsProxy a21b7 aus
2014-12-14 14:13:34 readingsProxy a22a0 aus
2014-12-14 14:13:34 readingsProxy a22a1 aus
2014-12-14 14:13:34 readingsProxy a22a2 aus
2014-12-14 14:13:34 readingsProxy a22a3 aus
2014-12-14 14:13:34 readingsProxy a22a4 aus
2014-12-14 14:13:34 readingsProxy a22a5 aus
2014-12-14 14:13:34 readingsProxy a22a6 aus
2014-12-14 14:13:34 readingsProxy a22a7 aus
2014-12-14 14:13:34 readingsProxy a22b0 aus
2014-12-14 14:13:34 readingsProxy a22b1 aus
2014-12-14 14:13:34 readingsProxy a22b2 aus
2014-12-14 14:13:34 readingsProxy a22b3 aus
2014-12-14 14:13:34 readingsProxy a22b4 aus
2014-12-14 14:13:34 readingsProxy a22b5 aus
2014-12-14 14:13:34 readingsProxy a22b6 aus
2014-12-14 14:13:34 readingsProxy a22b7 aus
2014-12-14 14:13:34 readingsProxy abadf aus
2014-12-14 14:13:34 readingsProxy abadw aus
2014-12-14 14:13:34 readingsProxy abzf aus
2014-12-14 14:13:34 readingsProxy abzw aus
2014-12-14 14:13:34 readingsProxy aflf aus
2014-12-14 14:13:34 readingsProxy aflw aus
2014-12-14 14:13:34 readingsProxy agwcf aus
2014-12-14 14:13:34 readingsProxy agwcw aus
2014-12-14 14:13:34 readingsProxy aklif an
2014-12-14 14:13:34 readingsProxy akliw aus
2014-12-14 14:13:34 readingsProxy akref aus
2014-12-14 14:13:34 readingsProxy akrew aus
2014-12-14 14:13:34 readingsProxy akzf aus
2014-12-14 14:13:34 readingsProxy akzw aus
2014-12-14 14:13:34 readingsProxy aszf aus
2014-12-14 14:13:34 readingsProxy aszw aus
2014-12-14 14:13:34 Global global DELETED kli_clos
2014-12-14 14:13:35 readingsProxy aklif aus
2014-12-14 14:13:35 I2C_MCP23017 mcp_20 PortA0: off
2014-12-14 14:13:35 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:35 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:35 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:35 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:35 dummy Rollokli geschlossen
2014-12-14 14:13:35 I2C_MCP23017 mcp_20 Ok
2014-12-14 14:13:35 I2C_MCP23017 mcp_20 Ok

slonnet

Der Schaltplan sieht soweit gut aus, meiner sieht auch nicht anders aus ;)

Ich habe mir aber nochmal das Datenblatt vom MCP23017 angeschaut!

Wenn ich das richtig gelesen habe hat der MCP23017 ein Buskapazität von 135pF bei 1k Pullup Widerstand. (der Pi hat 1,8k Pullup)

Die I2C Buskapazität darf laut Specs 400pF nicht überschreiten!

Wenn man mal die Leitungskapazität auser Acht lässt, hast du mit drei MCP23017 schon 405pF

Das würde erklären warum nur zwei ordendlich funktionieren!

Wenn die Buskapazität zu hoch wird, können die MCPs den I2C Bustakt aktiv verlangsamen...

Die Ausgänge schalten mit 4xMCP wahrscheinlich deshalb noch recht schnell, weil da nicht viel übertragen wird!
Ganz anders sieht das aus, wenn die Eingänge abgefragt werden.

Das ist aber alles nur Theorie von mir, müsste man in der Praxis noch beweisen.

Als Lösung fällt mir da momentan nur ein I2C Bustreiber ein!

IPPhoner2b

Frage mich nur, auf der von dir verlinkten Seite mit der aufgebauten Platine, ist da denn für dich so ein bustreiber zu erkennen? Ich kenne mich in der Richtung nicht so gut aus.

Was wäre denn ein i2c bustreiber, und wie müsste der integriert werden?
Also für mich reicht es ja zum Glück mit 2 schnell funktionierenden MCPs, aber wissen würde ich schon gerne, wie es besser und vor allem richtig läuft.

slonnet

Tja, das habe ich mich auch gefragt, warum die Platine auf der verlinkten Seite dann funktionieren soll.
Vielleicht tut sie das ja auch nicht, bzw läuft auch sehr langsam...

Einen Bustreiber kann ich auf der Platine nicht erkennen! Generell ist die Platine sehr übersichtlich.

Schau dir mal das Datenblatt vom PCA9600 an, da sind auch einige Beispielschaltungen abgebildet.

IPPhoner2b

#56
Wow,

das wird hier immer mysteriöser, hatte schon immer das Problem, dass meine LEDs an den Ausgängen die nicht geschaltet werden, leicht anfangen mit zu glimmen, aber ohne dass der Ausgang gesetzt wird.

Aber ich habe riesige Probleme,wenn ich meine 4 Taster benutze (noch sind es nur 4, könnten aber auch 8 werden. Jedenfalls wenn ich diese der Reihe nach einschalte, geht das Teil ab, wie ne Lichtorgel, und die Ausgänge gehen nicht mehr in der jeweiligen Reihenfolge an, wie es sollte.

Also bei nem zeitlichen Abstand größer einer Sekunde klappt alles, aber da 2 Schalter direkt nebeneinander sitzen werden, kann es durchaus passieren, dass diese so gut wie synchron oder leicht zeitlich versetzt gedrückt werden.

Habe auch schon versucht, den Eingang über "debounce_in_ms" mit 50 oder 100 zu entprellen, aber auch das bringt keine Besserung.

z.B. schaltet der mir einfach den "Wechsel" Ausgang aus, obwohl dieser die ganze Zeit an sein sollte. Wenn ich die Schalter längere Zeit nacheinander betätige, habe ich keine Probleme mehr

Hier der kurze Abstand:
Events:
2014-12-16 10:16:07 readingsProxy abadf aus
2014-12-16 10:16:07 readingsProxy abadw aus
2014-12-16 10:16:08 readingsProxy abzf aus
2014-12-16 10:16:08 readingsProxy abzw aus
2014-12-16 10:16:08 readingsProxy aflf aus
2014-12-16 10:16:08 readingsProxy aflw aus
2014-12-16 10:16:08 readingsProxy agwcf aus
2014-12-16 10:16:08 readingsProxy agwcw aus
2014-12-16 10:16:08 readingsProxy aklif aus
2014-12-16 10:16:08 readingsProxy akliw an
2014-12-16 10:16:08 readingsProxy akref aus
2014-12-16 10:16:08 readingsProxy akrew aus
2014-12-16 10:16:08 readingsProxy akzf aus
2014-12-16 10:16:08 readingsProxy akzw aus
2014-12-16 10:16:08 readingsProxy aszf aus
2014-12-16 10:16:08 readingsProxy aszw aus
2014-12-16 10:16:08 Global global DEFINED kli_down
2014-12-16 10:16:08 readingsProxy abadf aus
2014-12-16 10:16:08 readingsProxy abadw aus
2014-12-16 10:16:08 readingsProxy abzf aus
2014-12-16 10:16:08 readingsProxy abzw aus
2014-12-16 10:16:08 readingsProxy aflf aus
2014-12-16 10:16:08 readingsProxy aflw aus
2014-12-16 10:16:08 readingsProxy agwcf aus
2014-12-16 10:16:08 readingsProxy agwcw aus
2014-12-16 10:16:08 readingsProxy aklif aus
2014-12-16 10:16:08 readingsProxy akliw an
2014-12-16 10:16:08 readingsProxy akref aus
2014-12-16 10:16:08 readingsProxy akrew aus
2014-12-16 10:16:08 readingsProxy akzf aus
2014-12-16 10:16:08 readingsProxy akzw aus
2014-12-16 10:16:08 readingsProxy aszf aus
2014-12-16 10:16:08 readingsProxy aszw aus
2014-12-16 10:16:08 Global global DEFINED kli_clos
2014-12-16 10:16:08 dummy Rollokli runter
2014-12-16 10:16:08 dummy Rollokli runterfahren
2014-12-16 10:16:08 readingsProxy sklir off
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 PortB1: on
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 PortA1: on
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:08 readingsProxy akliw aus
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 PortA1: off         <----- Hier wird der Ausgang sofort wieder deaktiviert
2014-12-16 10:16:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:08 RPI_GPIO Interrupt20 Pinlevel: high
2014-12-16 10:16:08 RPI_GPIO Interrupt20 on
2014-12-16 10:16:09 readingsProxy abadf aus
2014-12-16 10:16:09 readingsProxy abadw aus
2014-12-16 10:16:09 readingsProxy abzf aus
2014-12-16 10:16:09 readingsProxy abzw aus
2014-12-16 10:16:09 readingsProxy aflf aus
2014-12-16 10:16:09 readingsProxy aflw aus
2014-12-16 10:16:09 readingsProxy agwcf aus
2014-12-16 10:16:09 readingsProxy agwcw aus
2014-12-16 10:16:09 readingsProxy aklif aus
2014-12-16 10:16:09 readingsProxy akliw aus
2014-12-16 10:16:09 readingsProxy akref aus
2014-12-16 10:16:09 readingsProxy akrew an
2014-12-16 10:16:09 readingsProxy akzf aus
2014-12-16 10:16:09 readingsProxy akzw aus
2014-12-16 10:16:09 readingsProxy aszf aus
2014-12-16 10:16:09 readingsProxy aszw aus
2014-12-16 10:16:09 Global global DEFINED kre_down
2014-12-16 10:16:09 readingsProxy abadf aus
2014-12-16 10:16:09 readingsProxy abadw aus
2014-12-16 10:16:09 readingsProxy abzf aus
2014-12-16 10:16:09 readingsProxy abzw aus
2014-12-16 10:16:09 readingsProxy aflf aus
2014-12-16 10:16:09 readingsProxy aflw aus
2014-12-16 10:16:09 readingsProxy agwcf aus
2014-12-16 10:16:09 readingsProxy agwcw aus
2014-12-16 10:16:09 readingsProxy aklif aus
2014-12-16 10:16:09 readingsProxy akliw aus
2014-12-16 10:16:09 readingsProxy akref aus
2014-12-16 10:16:09 readingsProxy akrew an
2014-12-16 10:16:09 readingsProxy akzf aus
2014-12-16 10:16:09 readingsProxy akzw aus
2014-12-16 10:16:09 readingsProxy aszf aus
2014-12-16 10:16:09 readingsProxy aszw aus
2014-12-16 10:16:09 Global global DEFINED kre_clos
2014-12-16 10:16:09 dummy Rollokre runter
2014-12-16 10:16:09 dummy Rollokre runterfahren
2014-12-16 10:16:09 readingsProxy skrer off
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 PortB3: on
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 PortA3: on
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 readingsProxy akliw an
2014-12-16 10:16:09 readingsProxy akrew aus
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 PortA1: on
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 PortA3: off
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 RPI_GPIO Interrupt20 Pinlevel: high
2014-12-16 10:16:09 RPI_GPIO Interrupt20 on
2014-12-16 10:16:09 readingsProxy aklif an
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 PortA0: on
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:09 readingsProxy abadf aus
2014-12-16 10:16:09 readingsProxy abadw aus
2014-12-16 10:16:09 readingsProxy abzf aus
2014-12-16 10:16:09 readingsProxy abzw aus
2014-12-16 10:16:09 readingsProxy aflf aus
2014-12-16 10:16:09 readingsProxy aflw aus
2014-12-16 10:16:09 readingsProxy agwcf aus
2014-12-16 10:16:09 readingsProxy agwcw aus
2014-12-16 10:16:09 readingsProxy aklif an
2014-12-16 10:16:10 readingsProxy akliw an
2014-12-16 10:16:10 readingsProxy akref aus
2014-12-16 10:16:10 readingsProxy akrew aus
2014-12-16 10:16:10 readingsProxy akzf aus
2014-12-16 10:16:10 readingsProxy akzw aus
2014-12-16 10:16:10 readingsProxy aszf aus
2014-12-16 10:16:10 readingsProxy aszw aus
2014-12-16 10:16:10 Global global DELETED kli_down
2014-12-16 10:16:10 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:10 RPI_GPIO Interrupt20 Pinlevel: low
2014-12-16 10:16:10 RPI_GPIO Interrupt20 off
2014-12-16 10:16:10 RPI_GPIO Interrupt20 Longpress: off
2014-12-16 10:16:10 readingsProxy akref an
2014-12-16 10:16:10 I2C_MCP23017 mcp_20 PortA2: on
2014-12-16 10:16:10 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:10 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:10 readingsProxy abadf aus
2014-12-16 10:16:10 readingsProxy abadw aus
2014-12-16 10:16:10 readingsProxy abzf aus
2014-12-16 10:16:10 readingsProxy abzw aus
2014-12-16 10:16:10 readingsProxy aflf aus
2014-12-16 10:16:10 readingsProxy aflw aus
2014-12-16 10:16:10 readingsProxy agwcf aus
2014-12-16 10:16:10 readingsProxy agwcw aus
2014-12-16 10:16:10 readingsProxy aklif an
2014-12-16 10:16:10 readingsProxy akliw an
2014-12-16 10:16:10 readingsProxy akref an
2014-12-16 10:16:10 readingsProxy akrew aus
2014-12-16 10:16:10 readingsProxy akzf aus
2014-12-16 10:16:10 readingsProxy akzw aus
2014-12-16 10:16:10 readingsProxy aszf aus
2014-12-16 10:16:10 readingsProxy aszw aus
2014-12-16 10:16:10 Global global DELETED kre_down
2014-12-16 10:16:24 readingsProxy abadf aus
2014-12-16 10:16:24 readingsProxy abadw aus
2014-12-16 10:16:24 readingsProxy abzf aus
2014-12-16 10:16:24 readingsProxy abzw aus
2014-12-16 10:16:24 readingsProxy aflf aus
2014-12-16 10:16:24 readingsProxy aflw aus
2014-12-16 10:16:24 readingsProxy agwcf aus
2014-12-16 10:16:24 readingsProxy agwcw aus
2014-12-16 10:16:24 readingsProxy aklif an
2014-12-16 10:16:24 readingsProxy akliw an
2014-12-16 10:16:24 readingsProxy akref an
2014-12-16 10:16:24 readingsProxy akrew aus
2014-12-16 10:16:24 readingsProxy akzf aus
2014-12-16 10:16:24 readingsProxy akzw aus
2014-12-16 10:16:24 readingsProxy aszf aus
2014-12-16 10:16:24 readingsProxy aszw aus
2014-12-16 10:16:24 Global global DELETED kli_clos
2014-12-16 10:16:24 readingsProxy aklif aus
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 PortA0: off
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:24 readingsProxy akliw aus
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 PortA1: off
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:24 dummy Rollokli geschlossen
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:24 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:25 readingsProxy abadf aus
2014-12-16 10:16:25 readingsProxy abadw aus
2014-12-16 10:16:25 readingsProxy abzf aus
2014-12-16 10:16:25 readingsProxy abzw aus
2014-12-16 10:16:25 readingsProxy aflf aus
2014-12-16 10:16:25 readingsProxy aflw aus
2014-12-16 10:16:25 readingsProxy agwcf aus
2014-12-16 10:16:25 readingsProxy agwcw aus
2014-12-16 10:16:25 readingsProxy aklif aus
2014-12-16 10:16:25 readingsProxy akliw aus
2014-12-16 10:16:25 readingsProxy akref an
2014-12-16 10:16:25 readingsProxy akrew aus
2014-12-16 10:16:25 readingsProxy akzf aus
2014-12-16 10:16:25 readingsProxy akzw aus
2014-12-16 10:16:25 readingsProxy aszf aus
2014-12-16 10:16:25 readingsProxy aszw aus
2014-12-16 10:16:25 Global global DELETED kre_clos
2014-12-16 10:16:25 readingsProxy akref aus
2014-12-16 10:16:25 I2C_MCP23017 mcp_20 PortA2: off
2014-12-16 10:16:25 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:25 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:25 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:25 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:25 dummy Rollokre geschlossen
2014-12-16 10:16:25 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:25 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:26 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:16:26 I2C_MCP23017 mcp_20 Ok


Hier der lange Abstand:
Events:
2014-12-16 10:19:52 readingsProxy abadf aus
2014-12-16 10:19:52 readingsProxy abadw aus
2014-12-16 10:19:52 readingsProxy abzf aus
2014-12-16 10:19:52 readingsProxy abzw aus
2014-12-16 10:19:52 readingsProxy aflf aus
2014-12-16 10:19:52 readingsProxy aflw aus
2014-12-16 10:19:52 readingsProxy agwcf aus
2014-12-16 10:19:52 readingsProxy agwcw aus
2014-12-16 10:19:52 readingsProxy aklif aus
2014-12-16 10:19:52 readingsProxy akliw an
2014-12-16 10:19:52 readingsProxy akref aus
2014-12-16 10:19:52 readingsProxy akrew aus
2014-12-16 10:19:52 readingsProxy akzf aus
2014-12-16 10:19:52 readingsProxy akzw aus
2014-12-16 10:19:52 readingsProxy aszf aus
2014-12-16 10:19:52 readingsProxy aszw aus
2014-12-16 10:19:52 Global global DEFINED kli_down
2014-12-16 10:19:52 readingsProxy abadf aus
2014-12-16 10:19:52 readingsProxy abadw aus
2014-12-16 10:19:52 readingsProxy abzf aus
2014-12-16 10:19:52 readingsProxy abzw aus
2014-12-16 10:19:52 readingsProxy aflf aus
2014-12-16 10:19:52 readingsProxy aflw aus
2014-12-16 10:19:52 readingsProxy agwcf aus
2014-12-16 10:19:52 readingsProxy agwcw aus
2014-12-16 10:19:52 readingsProxy aklif aus
2014-12-16 10:19:52 readingsProxy akliw an
2014-12-16 10:19:52 readingsProxy akref aus
2014-12-16 10:19:52 readingsProxy akrew aus
2014-12-16 10:19:52 readingsProxy akzf aus
2014-12-16 10:19:52 readingsProxy akzw aus
2014-12-16 10:19:52 readingsProxy aszf aus
2014-12-16 10:19:52 readingsProxy aszw aus
2014-12-16 10:19:52 Global global DEFINED kli_clos
2014-12-16 10:19:52 dummy Rollokli runter
2014-12-16 10:19:52 dummy Rollokli runterfahren
2014-12-16 10:19:52 readingsProxy sklir off
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 PortB1: on
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 PortA1: on
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:52 readingsProxy akliw aus
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 PortA1: off
2014-12-16 10:19:52 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:52 RPI_GPIO Interrupt20 Pinlevel: high
2014-12-16 10:19:52 RPI_GPIO Interrupt20 on
2014-12-16 10:19:53 readingsProxy akliw an
2014-12-16 10:19:53 I2C_MCP23017 mcp_20 PortA1: on
2014-12-16 10:19:53 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:53 RPI_GPIO Interrupt20 Pinlevel: low
2014-12-16 10:19:53 RPI_GPIO Interrupt20 off
2014-12-16 10:19:53 RPI_GPIO Interrupt20 Longpress: off
2014-12-16 10:19:53 readingsProxy aklif an
2014-12-16 10:19:53 I2C_MCP23017 mcp_20 PortA0: on
2014-12-16 10:19:53 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:53 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:53 readingsProxy abadf aus
2014-12-16 10:19:53 readingsProxy abadw aus
2014-12-16 10:19:53 readingsProxy abzf aus
2014-12-16 10:19:53 readingsProxy abzw aus
2014-12-16 10:19:53 readingsProxy aflf aus
2014-12-16 10:19:53 readingsProxy aflw aus
2014-12-16 10:19:53 readingsProxy agwcf aus
2014-12-16 10:19:53 readingsProxy agwcw aus
2014-12-16 10:19:53 readingsProxy aklif an
2014-12-16 10:19:53 readingsProxy akliw an
2014-12-16 10:19:53 readingsProxy akref aus
2014-12-16 10:19:53 readingsProxy akrew aus
2014-12-16 10:19:53 readingsProxy akzf aus
2014-12-16 10:19:53 readingsProxy akzw aus
2014-12-16 10:19:53 readingsProxy aszf aus
2014-12-16 10:19:53 readingsProxy aszw aus
2014-12-16 10:19:53 Global global DELETED kli_down
2014-12-16 10:19:54 readingsProxy abadf aus
2014-12-16 10:19:54 readingsProxy abadw aus
2014-12-16 10:19:54 readingsProxy abzf aus
2014-12-16 10:19:54 readingsProxy abzw aus
2014-12-16 10:19:54 readingsProxy aflf aus
2014-12-16 10:19:54 readingsProxy aflw aus
2014-12-16 10:19:54 readingsProxy agwcf aus
2014-12-16 10:19:54 readingsProxy agwcw aus
2014-12-16 10:19:54 readingsProxy aklif an
2014-12-16 10:19:54 readingsProxy akliw an
2014-12-16 10:19:54 readingsProxy akref aus
2014-12-16 10:19:54 readingsProxy akrew an
2014-12-16 10:19:54 readingsProxy akzf aus
2014-12-16 10:19:54 readingsProxy akzw aus
2014-12-16 10:19:54 readingsProxy aszf aus
2014-12-16 10:19:54 readingsProxy aszw aus
2014-12-16 10:19:54 Global global DEFINED kre_down
2014-12-16 10:19:54 readingsProxy abadf aus
2014-12-16 10:19:54 readingsProxy abadw aus
2014-12-16 10:19:54 readingsProxy abzf aus
2014-12-16 10:19:54 readingsProxy abzw aus
2014-12-16 10:19:54 readingsProxy aflf aus
2014-12-16 10:19:54 readingsProxy aflw aus
2014-12-16 10:19:54 readingsProxy agwcf aus
2014-12-16 10:19:54 readingsProxy agwcw aus
2014-12-16 10:19:55 readingsProxy aklif an
2014-12-16 10:19:55 readingsProxy akliw an
2014-12-16 10:19:55 readingsProxy akref aus
2014-12-16 10:19:55 readingsProxy akrew an
2014-12-16 10:19:55 readingsProxy akzf aus
2014-12-16 10:19:55 readingsProxy akzw aus
2014-12-16 10:19:55 readingsProxy aszf aus
2014-12-16 10:19:55 readingsProxy aszw aus
2014-12-16 10:19:55 Global global DEFINED kre_clos
2014-12-16 10:19:55 dummy Rollokre runter
2014-12-16 10:19:55 dummy Rollokre runterfahren
2014-12-16 10:19:55 readingsProxy skrer off
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 PortB3: on
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 PortA3: on
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 readingsProxy akrew aus
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 PortA3: off
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 RPI_GPIO Interrupt20 Pinlevel: high
2014-12-16 10:19:55 RPI_GPIO Interrupt20 on
2014-12-16 10:19:55 readingsProxy akrew an
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 PortA3: on
2014-12-16 10:19:55 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:55 RPI_GPIO Interrupt20 Pinlevel: low
2014-12-16 10:19:55 RPI_GPIO Interrupt20 off
2014-12-16 10:19:55 RPI_GPIO Interrupt20 Longpress: off
2014-12-16 10:19:58 readingsProxy akref an
2014-12-16 10:19:58 I2C_MCP23017 mcp_20 PortA2: on
2014-12-16 10:19:58 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:58 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:19:58 readingsProxy abadf aus
2014-12-16 10:19:58 readingsProxy abadw aus
2014-12-16 10:19:58 readingsProxy abzf aus
2014-12-16 10:19:58 readingsProxy abzw aus
2014-12-16 10:19:58 readingsProxy aflf aus
2014-12-16 10:19:58 readingsProxy aflw aus
2014-12-16 10:19:58 readingsProxy agwcf aus
2014-12-16 10:19:58 readingsProxy agwcw aus
2014-12-16 10:19:58 readingsProxy aklif an
2014-12-16 10:19:58 readingsProxy akliw an
2014-12-16 10:19:58 readingsProxy akref an
2014-12-16 10:19:58 readingsProxy akrew an
2014-12-16 10:19:58 readingsProxy akzf aus
2014-12-16 10:19:58 readingsProxy akzw aus
2014-12-16 10:19:58 readingsProxy aszf aus
2014-12-16 10:19:58 readingsProxy aszw aus
2014-12-16 10:19:58 Global global DELETED kre_down
2014-12-16 10:20:08 readingsProxy aklif aus
2014-12-16 10:20:08 I2C_MCP23017 mcp_20 PortA0: off
2014-12-16 10:20:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:08 readingsProxy abadf aus
2014-12-16 10:20:08 readingsProxy abadw aus
2014-12-16 10:20:08 readingsProxy abzf aus
2014-12-16 10:20:08 readingsProxy abzw aus
2014-12-16 10:20:08 readingsProxy aflf aus
2014-12-16 10:20:08 readingsProxy aflw aus
2014-12-16 10:20:08 readingsProxy agwcf aus
2014-12-16 10:20:08 readingsProxy agwcw aus
2014-12-16 10:20:08 readingsProxy aklif aus
2014-12-16 10:20:08 readingsProxy akliw an
2014-12-16 10:20:08 readingsProxy akref an
2014-12-16 10:20:08 readingsProxy akrew an
2014-12-16 10:20:08 readingsProxy akzf aus
2014-12-16 10:20:08 readingsProxy akzw aus
2014-12-16 10:20:08 readingsProxy aszf aus
2014-12-16 10:20:08 readingsProxy aszw aus
2014-12-16 10:20:08 Global global DELETED kli_clos
2014-12-16 10:20:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:08 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:08 readingsProxy akliw aus
2014-12-16 10:20:08 I2C_MCP23017 mcp_20 PortA1: off
2014-12-16 10:20:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:09 dummy Rollokli geschlossen
2014-12-16 10:20:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:09 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:10 readingsProxy abadf aus
2014-12-16 10:20:10 readingsProxy abadw aus
2014-12-16 10:20:10 readingsProxy abzf aus
2014-12-16 10:20:10 readingsProxy abzw aus
2014-12-16 10:20:10 readingsProxy aflf aus
2014-12-16 10:20:10 readingsProxy aflw aus
2014-12-16 10:20:10 readingsProxy agwcf aus
2014-12-16 10:20:10 readingsProxy agwcw aus
2014-12-16 10:20:11 readingsProxy aklif aus
2014-12-16 10:20:11 readingsProxy akliw aus
2014-12-16 10:20:11 readingsProxy akref an
2014-12-16 10:20:11 readingsProxy akrew an
2014-12-16 10:20:11 readingsProxy akzf aus
2014-12-16 10:20:11 readingsProxy akzw aus
2014-12-16 10:20:11 readingsProxy aszf aus
2014-12-16 10:20:11 readingsProxy aszw aus
2014-12-16 10:20:11 Global global DELETED kre_clos
2014-12-16 10:20:11 readingsProxy akref aus
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 PortA2: off
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:11 readingsProxy akrew aus
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 PortA3: off
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:11 dummy Rollokre geschlossen
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:11 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:13 I2C_MCP23017 mcp_20 Ok
2014-12-16 10:20:13 I2C_MCP23017 mcp_20 Ok


Ich denke mal, ich werde das ganze auf einem Pi B+ mal neu konfigurieren, und dann dort mit den einzelnen Eingängen auf die einzelnen GPIO Ports gehen, damit sollte ich diese Abfrageschleife ja umgehen, und es evtl nicht zu verschluckern kommen

klausw

Zitat von: IPPhoner2b am 16 Dezember 2014, 10:20:28
Wow,

das wird hier immer mysteriöser, hatte schon immer das Problem, dass meine LEDs an den Ausgängen die nicht geschaltet werden, leicht anfangen mit zu glimmen, aber ohne dass der Ausgang gesetzt wird.
Ist die Versorgung der MCP's stabil?
Flackern von LEDs an Ausgängen kann auf instabile Versorgung zurückzuführen sein. Wie sind die LED's angeschlossen?
Hast du ein Oszi zum nachmessen?
Natürlich kann auch das I2C_MCP23017 Modul fehlerhaft sein.
Aber dann sollte der Fehler eigentlich immer auftreten und nicht nur manchmal.

Zitat von: IPPhoner2b am 16 Dezember 2014, 10:20:28
Aber ich habe riesige Probleme,wenn ich meine 4 Taster benutze (noch sind es nur 4, könnten aber auch 8 werden. Jedenfalls wenn ich diese der Reihe nach einschalte, geht das Teil ab, wie ne Lichtorgel, und die Ausgänge gehen nicht mehr in der jeweiligen Reihenfolge an, wie es sollte.

Also bei nem zeitlichen Abstand größer einer Sekunde klappt alles, aber da 2 Schalter direkt nebeneinander sitzen werden, kann es durchaus passieren, dass diese so gut wie synchron oder leicht zeitlich versetzt gedrückt werden.
Klar, das kann passieren und sollte auch abgefangen werden.
Baue doch mal eine Logfunktion in dein notify zum hoch runterfahren ein.
Es ist auch möglich, das sich fhem dor verschluckt.

Zitat von: IPPhoner2b am 16 Dezember 2014, 10:20:28
Habe auch schon versucht, den Eingang über "debounce_in_ms" mit 50 oder 100 zu entprellen, aber auch das bringt keine Besserung.
Der debounce ist eher für mechanische Schalter gedacht. In diesem Fall hat der keinen Einfluss

Zitat von: IPPhoner2b am 16 Dezember 2014, 10:20:28
z.B. schaltet der mir einfach den "Wechsel" Ausgang aus, obwohl dieser die ganze Zeit an sein sollte. Wenn ich die Schalter längere Zeit nacheinander betätige, habe ich keine Probleme mehr
mit den Events kann ich nicht viel anfangen, vielleicht brauche ich da mal ne ruhige Minute um das zu verstehen  8)

Zitat von: IPPhoner2b am 16 Dezember 2014, 10:20:28

Ich denke mal, ich werde das ganze auf einem Pi B+ mal neu konfigurieren, und dann dort mit den einzelnen Eingängen auf die einzelnen GPIO Ports gehen, damit sollte ich diese Abfrageschleife ja umgehen, und es evtl nicht zu verschluckern kommen
Evtl. könntest du nur mit den Eingängen am MCP beginnen. Nur diese konfigurieren, ohne notify und so (mit Ausnahme des Interrupt natürlich). Danach in der Weboberfläche schauen, wie sie sich verhalten. Auch bei gleichzeitigem Drücken mehrerer Tasten.
Was du auch noch machen könntest, wäre im Interruptfall etwas zeitverzögert die Taster auszulesen.
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

slonnet

Zitat von: klausw am 16 Dezember 2014, 13:58:50
Ist die Versorgung der MCP's stabil?
Flackern von LEDs an Ausgängen kann auf instabile Versorgung zurückzuführen sein. Wie sind die LED's angeschlossen?
Hast du ein Oszi zum nachmessen?

So langsam glaube ich auch, die Spannungsversorgung ist nicht stabil!
Der Pi kann nur ca. 50mA bei den 3,3V Pins!!!

Im Log habe ich gerade gesehn, das da sehr oft "I2C_MCP23017 mcp_20 Ok" steht.
Das sieht für mich aus, als ob der MCP neu initialisieren würde, vllt nach dem die Spannung wieder stabil anliegt! ;)

Hast du die Möglichkeit 3,3V extern zu erzeugen, um die Fehlerquelle der instabilen Spannungsversorgung auszuschliesen?

IPPhoner2b

#59
Hui, jetzt aber der Reihe nach *g*

Also bzgl Stromversorgung, über den Pi werden die 3,3V für die zwei MCPs von Pin 1 bezogen. (Ne andere Quelle hätte ich jetzt so nicht dafür)
Alles andere läuft über ein extra eingespeistes 5 bzw. 12V Netzteil. War erst auf 12V, aber werde wohl auf 5V Wechseln, da hängen aber wohlgemerkt nur 2 ULN2803 und 16 LEDs dran, und da gehe ich von aus, dass ein 2A Netzteil das schaffen sollte. Wenn die Ausgänge aktiv sind, leuchten diese auch hell und konstant, also sie flackern nicht (war mit der Lichtorgel etwas falsch beschrieben).

Was eben auffällt, wenn ich als Beispiel am MCP 20 3 oder 4 Ausgänge setze, glimmen ein paar andere LEDs an diesem MCP, und an allen anderen MCPs, die "DEFINIERT" sind. Bei in der Software nicht definierten MCPs, glimmen auch keine LEDs ::) :o

Einen Oszi habe ich leider nicht, war gestern abend aber noch bei meinem Arbeitskollegen, der von Elektronik etwas mehr kenne hat, und wir haben alles möglich durchgemessen, aber keinen Fehler im Aufbau finden können, habe an den ULN2803 noch Freilaufdioden und eben die LEDs hinten dran, und selbst wo wir da welche abgekniffen haben, glimmten an den anderen Ausgängen die LEDs mit, und man merkte einen Spannungsabfall an den anderen ULNs, die an einem anderen MCP saßen um 0,2V, wenn die betroffene LED am anderen ULN anging

Der Fehler ist auch jedes mal vorhanden, und nicht nur manchmal.

wie logge ich denn das Notify am einfachsten mit? Dann habt ihr auch gleich die gewünschten Daten  ::) 8)

Das debounce habe ich drin, weil ich ja 4 mechanische Taster dran habe, und mir dort evtl ein flackern eben das Notify doppelt auslöst oder so.

Also ich habe je Rollo 2 Eingänge (hochfahren und runterfahren) und 2 Ausgänge, hier jeweils einmal (F)ahren und (W)echseln, damit eben ein Ausgang für die Fahrbewegung ist, und der andere Ausgang schaltet ein Relais, womit dann die Richtung gewechselt wird, also für hoch bzw runter.

Hatte heute Mittag kurz nen Raspi B+ aufgesetzt, aber als ich die GPIOs definieren wollte, kam da immer die Meldung "file /usr/local/bin/gpio doesnt exist" naja, habe was gelesen, mit nem SM-Bus zeugs, was wohl nicht installiert werden soll, hatte das aus einer alten Anleitung aber noch drin, werde jetzt nochmal neu flashen, und dann mal weiterschauen.

EDIT:
Was mir noch auffällt, das habe ich gestern auch ein paar mal beobachten können, ist, wenn man ALLE Ausgänge schaltet, egal ob übers WEB IF oder sonstwie, gehen alle LEDs aus, macht man einen Ausgang wieder aus, gehen alle bis auf diese wieder an.


Und Spassiger Weise habe ich jetzt das problem, dass er aus on-for-timer ein an-for-timer macht (eventMap), und keine LEDs mehr angehen, wenn ich diese über das Notify ansteuer.

Da ich jetzt alles, was mit den EventMaps zu tun hatte gelöscht hat, was mich eigentlich schon sehr extremst nervt, weil ich meinen Eltern jetzt erklären darf, dass ON OFF ist, und OFF ON, funktioniert das jetzt zwar soweit,

allerdings habe ich eine Frage bzgl meiner angeschlossenen Taster, die ich ja jetzt direkt auf die GPIOs des Pis gebe. Mit welcher Spannung kann ich die Schalter beaufschlagen? Weil vorher am MCP wurden die Schalter auf Masse gelegt, und jetzt gehts andersrum, habe erstmal nur die 3,3V drauf, kann ich da denn mit 5V ausm Netzteil dran gehen, oder grillt es mir dann meine Inputs? Und die "Pud_Resistor" Funktion vom RPI_GPIO der funktioniert nicht mehr, oder? Weil ich da immer nur die Fehlermeldung bekomm, dass er ein Verzeichnis nicht finden kann.

Mit dem Eventmap umändern, was ich hier gefunden habe, das klappt leider auch nicht so
http://forum.fhem.de/index.php/topic,28855.msg219460.html#msg219460
attr aklif eventMap /on:aus/off:an/on-for-timer:on-for-timer/off-for-timer:off-for-timer