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
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.
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.
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?
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
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?
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.ä.
alle Eingänge über Optokoppler ansteuern + Softwareentprellung derselben und gut ...
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...)
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.