Empfindlichkeit GPIO am Raspberry PI?

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
duese
Beiträge: 6104
Registriert: So 11. Aug 2013, 17:56

Empfindlichkeit GPIO am Raspberry PI?

Beitrag von duese »

Hallo miteinander,

eigentlich wollte ich das Projekt demnächst unter fertiggestellte Projekte präsentieren, aber jetzt hab ich erst ein Problem damit.

Ich hab einen Raspberry Pi als SMS-Alarmrechner installiert. Zwei Feuerwehr-Piepser (Swissphone Quattro mit Relais in der Ladeschale) sollen den Versand von SMS an Feuerwehrler auslösen (Zusatzinfo, keine Primäralarmierung).
Vorher wurden die Relais der Piepser über den Parallelport eines PCs abgefragt und die SMS verschickt. Hat über fast 10 Jahre gut funktioniert.

Jetzt hab ich umgestellt auf einen RaspPi um Strom zu sparen. Jeder Piepser hängt mit etwa einem Meter ungeschirmter Leitung an einem GPIO-PIN und Masse des RaspPI und zusätzlich von jedem GPIO-Pin ein 10K-Pullup gegen die 3,3V vom RaspPi.

Das System hab ich vergangenen Samstag installiert und hat beim Probealarm funktioniert und seither Ruhe, weil kein Alarm.

Heute während einer Übung haben beide Einänge eine Auslösung registriert (im Abstand von 3 Minuten) und natürlich SMS verschickt.

Jetzt die Frage: Wie empfindlich sind diese Eingänge auf Störungen? Ist das plausibel, dass eine Störung von außen hier ausgelöst hat, sprich den Eingang gegen den 10K PullUp auf low gezogen hat?

Danke und viele Grüße,

Daniel
Benutzeravatar
xoexlepox
Beiträge: 4815
Registriert: So 11. Aug 2013, 19:28
Wohnort: So etwa in der Mitte

Re: Empfindlichkeit GPIO am Raspberry PI?

Beitrag von xoexlepox »

duese hat geschrieben:Wie empfindlich sind diese Eingänge auf Störungen? Ist das plausibel, dass eine Störung von außen hier ausgelöst hat, sprich den Eingang gegen den 10K PullUp auf low gezogen hat?
Schau mal hier, vielleicht hilft es etwas weiter... Dort steht u.a.:

Code: Alles auswählen

GPIO input hysteresis (Schmitt trigger) can be on or off, output slew rate can be fast or limited, and source and sink current is configurable from 2 mA up to 16 mA.
Wie mal das jedoch macht, habe ich auch noch nicht herausgefunden.

Die bereits mit Pullups versehenen Pins haben Pullups von 1.8kOhm. Sind deine Leitungen eigentlich verdrillt, oder gibt es vielleicht noch irgendwo eine Masseschleife?
Benutzeravatar
Fritzler
Beiträge: 12605
Registriert: So 11. Aug 2013, 19:42
Wohnort: D:/Berlin/Adlershof/Technologiepark
Kontaktdaten:

Re: Empfindlichkeit GPIO am Raspberry PI?

Beitrag von Fritzler »

Wenn da genug Säft zum Relais schalten ist, dann kann man doch auf Optokoppler direkt an den GPIOs umschwenken.
Da strahlt dann nichts mehr ein.

Womit versendeste denn die SMS?
GSM Modul oder Internetdienstleister?

Ansonsten hätte ich noch ne Platine für was ähnliches für dich:
http://www.fritzler-avr.de/gallery/main ... _2178k.jpg
Versendet auch SMS wenns soll, momentan ist das für den UART eines Pagers gebaut.
2 Relaiskontakte lassen sich da sicher auch rantackern.
duese
Beiträge: 6104
Registriert: So 11. Aug 2013, 17:56

Re: Empfindlichkeit GPIO am Raspberry PI?

Beitrag von duese »

Hallo miteinander,

Danke schonmal für Eure Antworten.

Die Leitungen sind derzeit nicht verdrillt.
Die Ladeschalen haben eine 5-polige DIN- Buchse, deshalb hab ich ein 2m Kabel mit zwei Steckern von Reichelt genommen und mittig zerschnitten.

Hm Masseschleife ist unwahrscheinlich. Die Piepser hängen an Steckernetzteilen ohne Erdbezug. Die gemeinsame Antenne ist auch ohne Erdbezug und die Relaisausgänge der Piepser an denen der Raspi hängt sollten Potentialfrei sein.

Als das ganze noch bei meinen Eltern stand war ein Relais mit ca. 30 cm unverdrillter Leitung an einem 25-poligen SubD ohne Gehäuse am LPT-Port mit Pullups in Drahtigelmanier.
Vor ein paar Jahren ist das ganze ins Feuerwehrhaus umgezogen. Da wurden es dann 2 Piepser an jeweils ca. 2m ungeschirmter nicht verdrillter Leitung an einem SubD mit ungeschirmtem Gehäuse am Parallelport.

In den ganzen Jahren keine einzige Fehlauslösung.

Der Raspi als Kabelhaufen auf dem Schreibtisch keine Probleme.

SMS verschick ich per Webanbieter und Bashskript (google mal sms alarm linux fme, dann müsstest Du den Thread bei Funkmeldesystem von mir finden).

Ich hab jetzt mal die SMS softwaremäßig abgeklemmt und ein paar mehr Logmeldungen eingebaut. Mal Beobachten.
Morgen mal ein bisschen Gedanken machen, ob ich Software ein bisschen filtern kann (Signal muss 2s anliegen oder so).

Können Ferrite auf den Leitungen was bringen, oder sollte ich die Pullups noch ein bisschen kleiner machen? Oder ein C parallel zum Eingang?

Optokoppler oder Relais direkt am Pi ging dann auch noch, würd ich aber dann aus den 5V vom Pi versorgen. An den Ladeschalen wollte ich nix umbauen...

Danke und viele Grüße,

Daniel
Benutzeravatar
Bastelbruder
Beiträge: 11567
Registriert: Mi 14. Aug 2013, 18:28

Re: Empfindlichkeit GPIO am Raspberry PI?

Beitrag von Bastelbruder »

Wo ist denn die "Masseleitung" am Raspi angeschlossen? Direkt an der Stromversorgung oder auf der anderen Seite der Platine?
Steckernetzteile "ohne Erdbezug" (die besseren) haben gern mal 10nF (2*5nF) zwischen Ausgang und den 230V-Anschlüssen.

Mit nur dem 10k-Pullup kommen so ziemlich alle Schweinereien die auf der Netzleitung sind, bis in die Eingangsregister. Die internen Pullups sind ok, um eine Tastatur abzufragen (die darf auch einen Meter entfernt sein, aber für externe Geräte mit externer Versorgung braucht man externe Widerstände und eine ESD-Beschaltung. Im PC wurden Fehlimpulse nicht zwischengespeichert und nur hochsporadisch abgefragt.

Ich würde 100nF über den Eingang hängen und dann 10k in Reihe. (Oder 10nF und 100k, dann darf der Pullup auch nach 12V gehen.) Von dort gehts zum Pullup und zur langen Leitung. Die Rückleitung wird direkt an der Stromversorgungsmasse angeschlossen. Der GND-Pin im GPIO ist für externe Leitungen keine gute Masse, aber die richtige für den Kondensator.
duese
Beiträge: 6104
Registriert: So 11. Aug 2013, 17:56

Re: Empfindlichkeit GPIO am Raspberry PI?

Beitrag von duese »

Hallo Harald,

vielen Dank für die Rückmeldung. Hardwaremäßig hat sich noch nix getan, aber in Software hab ich ein bisschen gebastelt. Durch ein paar mehr Logmeldungen bei Pegeländerungen hab ich einige Eriegnisse gesehen, die alle kürzer als 5ms waren und immer nur auftraten, wenn jemand im Feuerwehrhaus war. Zwei konnte ich eindeutig aus Lichteinschalten (Leuchtstoffröhre mit KVG) zuordnen. Definitiv ist es Mist auf der Netzleitung.
Mit SW-Filter hätte es bis jetzt funktionier (hab die die SMS momentan sicherheitshalber mal deaktiviert). Aber ich will das verstehen und noch besser machen...
Bastelbruder hat geschrieben:Wo ist denn die "Masseleitung" am Raspi angeschlossen? Direkt an der Stromversorgung oder auf der anderen Seite der Platine?
Ich hab von der 28-poligen Stiftleiste auf dem Raspi eine Flachbandleitung (ca. 20cm, lag fertig so rum) zu einer Hilfsplatine auf der die Pullups, Steckleisten/Klemmen und die Steckleiste zum Display sind.
Bastelbruder hat geschrieben: Steckernetzteile "ohne Erdbezug" (die besseren) haben gern mal 10nF (2*5nF) zwischen Ausgang und den 230V-Anschlüssen.

Mit nur dem 10k-Pullup kommen so ziemlich alle Schweinereien die auf der Netzleitung sind, bis in die Eingangsregister. Die internen Pullups sind ok, um eine Tastatur abzufragen (die darf auch einen Meter entfernt sein, aber für externe Geräte mit externer Versorgung braucht man externe Widerstände und eine ESD-Beschaltung.
Das hab ich noch nicht ganz verstanden. Meine Extrnen Geräte haben ja keine galvanische Verbindung mit meinem Raspi (Relaiskontakte).
Wenn das Steckernetzteil jetzt Cs (von GND?) nach L und N hat und auf der Netzleitung Mist kommt, zieht es natürlich das Potential von GND durch die Gegend. +3,3V/+5V vom Raspi sollten da aber doch parallel mitgehen, oder?
Oder macht die kapazitive Kopplung meiner Leitungen gegen Erde da noch mehr aus als ich mir grad vorstellen kann?
Bastelbruder hat geschrieben:Ich würde 100nF über den Eingang hängen und dann 10k in Reihe. (Oder 10nF und 100k, dann darf der Pullup auch nach 12V gehen.) Von dort gehts zum Pullup und zur langen Leitung. Die Rückleitung wird direkt an der Stromversorgungsmasse angeschlossen. Der GND-Pin im GPIO ist für externe Leitungen keine gute Masse, aber die richtige für den Kondensator.
So wie unten?
Allerdings weiß ich nicht, welcher GND-PIN in der 28-pol Leiste jetzt auf der Platine wohin geht und wo ich mich da am besten anklemmen sollte. (Layout hab ich noch keins gefunden und die Raspiplatine in Augenschein nehmen kann ich grad nicht, da 70km weit weg und eingebaut). Stromversorgung geht derzeit über ein Micro-USB-Netzteil.

Wie nah soll/muss denn die Filterschaltung am Raspi dran sein? Sind da 20 cm Flachbandkabel schon kritisch?

Danke und viele Grüße,

Daniel

Code: Alles auswählen

3,3V ----------------o
                     |
                    10K
                     |
GPIO -----o----10K---o---------------------------------
          |
          = 100nF
          |
GND -----------------------------------------------------
Benutzeravatar
Bastelbruder
Beiträge: 11567
Registriert: Mi 14. Aug 2013, 18:28

Re: Empfindlichkeit GPIO am Raspberry PI?

Beitrag von Bastelbruder »

Die Schaltung ist prinizipiell richtig, aber die GND-Leitung ist zu lang. Die darf nur bis zum Kondensator gehen. Der Schalter wird an der Stromversorgungs-Masse angeschlossen.
duese
Beiträge: 6104
Registriert: So 11. Aug 2013, 17:56

Re: Empfindlichkeit GPIO am Raspberry PI?

Beitrag von duese »

Also besser so?

Code: Alles auswählen

3,3V ----------------o
                     |
                    10K
                     |
GPIO -----o----10K---o---------------------------------
          |
          = 100nF
          |
GND ------o

GND-------------------------------------------------------

Den Effekt der Cs gegen L/N und die damit verbundenen Einstörungen hab ich aber noch nicht verstanden (und auch was die lange Leitung in der ersten Version für einen Unterschied macht). Sind wir hier schon in so großen Frequenzen, dass die Induktivität der Leitungen schon wieder so viel Spannungsfall macht oder sind wir schon im Bereich von Wanderwellen?

Danke und viele Grüße,

Daniel
Antworten