Forum: Mikrocontroller und Digitale Elektronik Reed-Kontakte an langer Leitung


von Kalle K. (brommi)


Lesenswert?

Hallo zusammen,

ich habe mir mit ein paar ESP8266 eine Alarmanlage gebaut, die u.a. 
Reed-Fensterkontakte überwachen.  Das hat jetzt im mehrwöchigem 
Probebetrieb gut und störungsfrei funktioniert. Dann habe ich letzten 
Samstag die Aussensirene angeschlossen und das Haus verlassen. Prompt 
gab es nach 10 Minuten einen Fehlalarm, die Aussensirene war wohl an - 
wie peinlich!
Die Log-Dateien zeigen, dass ein Fensterkontakt spontan ausgelöst hat, 
für einen Zeitraum < 2 Sekunden. Mechanisch war mit den Kontakten alles 
in Ordnung, sie haben danach wieder einwandfrei funktioniert und tun es 
bis heute.
Die Reed-Kontakte sind über ca. 6m Zwillingslitze 2x0,14mm2 (nicht 
verdrillt, nicht abgeschirmt) über einen 10k-Pullup-Widerstand am GPIO 
des 8266 angeschlossen. Muss ich da mit Störeinstrahlungen rechnen? oder 
liefert der GPIO des 8266 manchmal Mist? Ist die Zwillingslitze eine 
geeignete Verkabelung? Oder ...?
Derzeit versuche ich den GPIO 3x im Abstand von 100ms abzufragen, um 
irgendwelche kurzzeitigen Effekte auszuschließen. Bislang ist nichts 
mehr aufgetreten, aber auch ein Fehlalarm im Monat wäre zuviel ...

Da ich nicht so der große Elektroniker bin frage ich mal hier in die 
Runde was ich falsch gemacht haben könnte bzw. in welche Richtung ich 
denken/suchen soll?

Herzlichen Dank
Kalle

von Harry M. (harry4516)


Lesenswert?

auch kommerzielle Anlagen haben öfters Fehlalarme. Sehe ich bei unseren 
Nachbarn, der hat ein richtig teures Teil und trotzdem trötet es 1x im 
Monat grundlos.

Aber das hilft dir auch nicht weiter.

Zu deiner Frage: bei solchen meterlangen Leitungen brauchst du am GPIO 
Eingang unbedingt ein RC Filter. Also z.B. 1kOhm in Reihe und parallel 
zum Eingang 100nF, oder in der Größenordnung. Damit sollte man die 
Störungen wegbekommen.

von Hp M. (nachtmix)


Lesenswert?

Kalle K. schrieb:
> Die Reed-Kontakte sind über ca. 6m Zwillingslitze 2x0,14mm2 (nicht
> verdrillt, nicht abgeschirmt) über einen 10k-Pullup-Widerstand am GPIO
> des 8266 angeschlossen. Muss ich da mit Störeinstrahlungen rechnen?

Ja, und  ohne weitere Schutzmaßnahmen kann solch eine Störung, z.B. ein 
naher Blitzeinschlag, den Port oder sogar den ganzen Prozessor 
zerstören.

von oszi40 (Gast)


Lesenswert?

Kalle K. schrieb:
> Runde was ich falsch gemacht haben könnte bzw. in welche Richtung ich
> denken/suchen soll?

1. Je nach Ort könnte jeder Draht auch eine schöne Antenne sein.
2. Fenster verziehen sich und klappern je nach Luftdruck!

Kalle K. schrieb:
> 3x im Abstand von 100ms abzufragen
Bringt nix bei z.B. durch Nässe verzogenem Fenster! Bei HF-Problem 
könnte ein 47 nF Kondensator am Eingang als Tiefpass helfen?

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Kalle K. schrieb:
> Muss ich da mit Störeinstrahlungen rechnen?

Ja, natürlich! Die Anschlussleitung ist eine hervorragende Antenne für 
irgendwelche HF-Einkopplungen. Ebenso wird darüber natürlich auch der 
"Dreck" aus Deiner Schaltung abgestrahlt, z.B. der(*) Prozessortakt und 
seine Oberwellen.

Neben den HF-Einkopplungen sollte man natürlich auch mit Überspannungen, 
z.B. auf Grund statischer Entladungen, rechnen. Für solch langsame, 
unkritische Eingangssignale sollte man daher einen recht 
niederfrequenten Tiefpass am Eingang einsetzen. Achtung, man sollte mit 
einem empfindlichen Reedkontakt niemals einen Kondensator direkt 
kurzschließen, sondern immer über einen hinreichend hohen Vorwiderstand.

Weiterhin kann es ratsam sein, sich ein paar Gedanken über die 
Signalpegel zu machen, insbesondere die Schaltschwellen, ggf. verbotene 
Spannungsbereiche und eine gewünschte Hysteresis. Nicht ohne Grund setzt 
man in der Automatisierungstechnik bei diskreten Sensorsignalen auf 24V 
mit einer Schaltschwelle bei ca. 12V.

Zu (*): Heutige Prozessoren erzeugen intern häufig eine Vielzahl von 
Takten. Ein Kunde schaute mich ziemlich blöd an, als ich ein 
Softwareproblem in seinem Gerät mit Hilfe eines Spektrumanalysators 
untersuchte, den ich über ein Stück Kupferfolie auf dem Prozessor 
ankoppelte. Anhand des Spektrums konnte ich dann ganz genau sehen, wo 
der Prozessor im Zuge seines Bootvorganges hängengeblieben war. Für die 
späteren EMV-Konformitätsmessungen hatte ich dann mehrere 
Firmwareversionen vorbereitet, anhand derer die Störungen der einzelnen 
Peripherieblöcke untersucht werden konnten. Besonders markant waren 
dabei die Oberwellen des Ethernet-PHYs, deren Maximum nicht etwa bei den 
50MHz des Oszillators lag, sondern bei 350MHz. Dann sah mein Kunde auch 
ein, warum ich es schon die ganze Zeit eine ausgesprochen schlechte Idee 
fand, die 50 MHz ohne ordentlichen Ausgleichpfad nicht nur auf der 
Hauptleiterplatte, sondern auch noch auf einer HF-mäßig mittelprächtig 
angebundenen Aufsteckplatine zu verteilen.

: Bearbeitet durch User
von Kalle K. (brommi)


Angehängte Dateien:

Lesenswert?

Vielen Dank für eure Hinweise. Ich werde nun mal versuchen, ob's mit 
RC-Glied besser funktioniert. Das müsste ja dann so aussehen - oder?

von c-hater (Gast)


Lesenswert?

Kalle K. schrieb:

> Die Reed-Kontakte sind über ca. 6m Zwillingslitze 2x0,14mm2 (nicht
> verdrillt, nicht abgeschirmt)

Genau das ist das Problem.

> Muss ich da mit Störeinstrahlungen rechnen?

Blöde Frage, natürlich musst du damit rechnen.

> Derzeit versuche ich den GPIO 3x im Abstand von 100ms abzufragen, um
> irgendwelche kurzzeitigen Effekte auszuschließen.

Falscher Ansatz. Du brauchst einen Tiefpass. Seltener Samplen alleine 
macht noch keinen...

> Da ich nicht so der große Elektroniker bin frage ich mal hier in die
> Runde was ich falsch gemacht haben könnte bzw. in welche Richtung ich
> denken/suchen soll?

Bessere Kabel und/oder symmetrische Signale wären mögliche Ansätze zur 
Verbesserung der Hardware. Der Rest ist Software, z.B. Majoritätslogik 
o.ä.

von Denis (Gast)


Lesenswert?

alle Eingänge über Optokoppler ansteuern + Softwareentprellung derselben 
und gut ...

von Kalle K. (brommi)


Lesenswert?

Aber 3 x abfragen mit 100ms Abstand sollte doch auch wie ein Tiefpass 
wirken. Das lässt nur Signale durch die länger als 200ms sind, oder 
Frequenz < 5Hz. Ich muss natürlich auch den Aufwand im Auge behalten, 
dass die Schaltung so nicht für den Einsatz in einer Industrieumgebung 
oder im Flugzeug geeignet ist, ist mir schon klar.
Meine Frage nach den Störeinstrahlungen war auch eher pragmatisch 
gemeint: Womit muss ich denn im häuslichen Bereich wirklich rechnen? 
Würde der zusätzliche RC-Tiefpass nicht für das meiste, was da passiert 
reichen? (Wenn der Blitz ins Haus schlägt, habe ich ganz andere 
Probleme...)

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Kalle K. schrieb:
> Aber 3 x abfragen mit 100ms Abstand sollte doch auch wie ein Tiefpass
> wirken. Das lässt nur Signale durch die länger als 200ms sind, oder
> Frequenz < 5Hz.

Nein, es werden beliebige Signale durchgelassen, die während der drei 
Abtastzeitpunkte den erwarteten Signalpegel aufweisen.

> Meine Frage nach den Störeinstrahlungen war auch eher pragmatisch
> gemeint: Womit muss ich denn im häuslichen Bereich wirklich rechnen?

Mobilfunksignale (GSM, UMTS, DECT), starke UKW-Radio- und Fernsehsender, 
Funkfernbedienungen, Mikrowellengeräte, usw..

> Würde der zusätzliche RC-Tiefpass nicht für das meiste, was da passiert
> reichen?

Ja, er dürfte die meisten Signale hinreichend gut unterdrücken, sofern 
er ordentlich aufgebaut ist, d.h. induktionsarmer Anschluss des 
Kondensators, usw.. Dennoch ist das Problem der Schaltschwelle nicht 
gelöst.

> (Wenn der Blitz ins Haus schlägt, habe ich ganz andere Probleme...)

Es geht nicht um einen direkten Blitzeinschlag, sondern einen in zwei 
Kilometern Entfernung, dessen Felder durch die Luft und kabelgebunden 
(Strom, Telefon, Kabelfernsehen) übertragen werden.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Der ESP8266 selber ist auch eine Ursache für Fehlfunktionen, vor allem, 
wenn seine Versorgung nicht mit den immer wieder auftretenden 
Stromspitzen von 500mA klarkommt und die sauber ausbügelt:

https://learn.adafruit.com/downloads/pdf/adafruit-huzzah-esp8266-breakout.pdf

Hier schreibt Ada ein bisschen was dazu. Ein 1A Netzteil ist da gar 
nicht so dumm - oder ein Puffer mit 'ner LiIon Zelle.

: Bearbeitet durch User
von Thomas B. (thombde)


Lesenswert?

Meine Reed-Kontakte habe ich hochohmiger angebunden.
Der 1k ist zu wenig. (bei mir 100k)
Zenerdiode, VDR oder Suppressordiode kann man auch verwenden.
Der Kondensator ist Pflicht.

Ich habe die Reed-Kontakte aber noch über die CMOS-Serie am laufen.
Da gehe ich dann mit max. 13,8V Betriebsspannung (AkkuPB) drauf und dann 
über Spannungsteiler (5V)an die µC. (2xPIC16F877, 1xPIC16F876)
Dadurch habe ich eine höhere Störsicherheit
Habe im Keller und Erdgeschoß teilweise auch ungeschirmtes Kabel
verwendet.
Sogar bis 20m. Hatte nie Probleme.


Ich kenne mich jetzt nicht mit dem  ESP8266 aus.
Aber ich frage die Reedkontakte auch alle 100ms ab.
Nur ich darf nicht bei dem ersten Highsignal an dem µC
einen Alarm ausgeben.
Die Alarmfreigabe ist erst nach 500-1000ms.

Gruß
Thomas

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.