Forum: Mikrocontroller und Digitale Elektronik mcp23s17 input mit langer Kabelverbindung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Frank K. (plata)


Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe 2 MCP23S17 Bausteinen an einen kleinen SPI-Bus an meinen 
Raspberry angeschlossen, im Testaufbau auf dem Steckboard funktioniert 
alles prima.

Beim produktiven Einsatz übernimmt ein GPIO Port eines MCP23S17 die 
Funktion den Zustand der Fenster im Haus feststellen, die mit 
Reedkontakten ausgestattet sind. Da die Reedkontakte in Reihe geschaltet 
sind, kommt schon eine ganz schöne Kabellänge zusammen, ich schätze es 
sind mehr als 50m, als Verkabelung der Reedkontakte habe ich damals CAT5 
Kabel verwendet.

Der entsprechende GPIO-Port ist als Input mit dem internen 
Pullup-Widerstand definiert. Sind alle Fenster geschlossen liegt GND auf 
diesem Port an.

Nach dem Start meines Überwachungsprogrammes läuft das System zunächst 
stabil, aber nach einer gewissen Zeit erfolgt ein Register-Reset auf dem 
MCP23S17; was einen erneuten INIT der MCP23S17 erforderlich macht. Das 
passiert auch, wenn der Zustand der Fenster nicht verändert wird.

Ich bin mir ziemlich sicher, dass es wohl an der Leitungslänge liegt 
(Impedanz, Wellenlängenwiderstand, .... da kenne ich mich nicht aus ).

Kann mir jemand sagen, ob und wie ich diese Leitung dämpfen oder sonst 
wie verändern muß, damit die Signale zum GPIO-Input eindeutig und stabil 
sind.

Danke in die Runde.

von A. S. (achs)


Bewertung
0 lesenswert
nicht lesenswert
Falls Du sagen willst, dass vom GPIO ein 50m langes Kabel den PIN gegen 
GND schaltet (wenn alle Fenster geschlossen sind), dann nimm zumindest 
nicht den internen Pullup, sondern z.B. 100R gegen VCC. Falls Du auf 
Strom achten musst, dann Schalte die per Transistor ab und messe nur 
alle 500ms oder so.

Es ist aber mir nicht klar, welche VCC Du hast und wie Du die Störungen 
auf den Leitungen (VCC und GND) unterdrückst. Zumindest Climb- und 
Suppressor-Dioden sollten es m.E. schon sein. Zudem >= 1kOhm zwischen 
dem GPIO und den 100R.

: Bearbeitet durch User
von Frank K. (plata)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Achim,
Danke für die schnelle Antwort, und für Dein Engagement.

Der Strom kommt vom Raspberry zum MCP23S17 es ist also eine Spannung von 
3,3 V anliegend, da ich beabsichtige den SPI-Bus auf ca. 4 MCP23S17 
aufzustocken, achte ich schon etwas auf den verwendeten Strom, Kannst Du 
mir nochmals kurz erläutern war Du mit dem 1kOhm Widerstand und den 100R 
meinst, bzw. wie das zu platzieren wäre ?

Altenativ hatte ich gedacht einen ULN2803 zwischen meinen MCP23S17 und 
den Schaltung der Fensterkontakte zu platzieren und dann den Stomkreis 
mit den Reed-Kontakten unter einer höheren Spannung und geringeren 
Widerständen  zu implementierenn. Es stellt sich nur die Frage, ob es 
dieses "Flattern" nicht ggf. über den ULN2803 auf den 3,3 V Stromkreis 
des MCP23S17 überträgt.

Danke und einen schönen Abend, André.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.