Forum: Mikrocontroller und Digitale Elektronik Fluktuationen GPIO ESP8266?


von Dirk J. (dirk_j)


Lesenswert?

Hallo Experten,

Seit drei Tagen steuere ich mein Novoferm Garagentor 
(https://www.novoferm.de/fileadmin/novoferm_de/Dateien/tech-dok-PDFs/NovoPort-mit-LED.pdf) 
mit einen NodeMCU ESP8266 Board. Dabei hat sich mindestens 2mal schon 
das Tor ohne geplanten Steuerbefehl geöffnet. Mindestens einmal davon 
nur teilweise. Ich suche jetzt die Ursache für dieses Verhalten bzw. 
würde es gerne fixen.

Am GPIO04 des ESP8266 ist direkt ein Relaismodul angeschlossen (ähnlich 
https://de.banggood.com/BESTEP-1-Channel-3_3V-Low-Level-Trigger-Relay-Module-Optocoupler-Isolation-Terminal-p-1355736.html). 
Der Ausgang des Relais ist mit dem Eingang des Schlüsselschalters am 
Garagentor verbunden (Abbildung 12b in der Novoferm Dokumentation. Wenn 
der Stromkreis kurz geschlossen wird, dann fährt das Tor in die andere 
Endposition. Wenn während der Fahrt einer Impuls kommt, dann bleibt das 
Tor stehen).

Der ESP8266 ist mit dem Wifi verbunden und erhält den Steuerbefehl über 
MQTT (Mosquitto auf einen Ubuntu Server).

Kann mir jemand Tipps geben, wie ich diesen "Geisterschaltungen" auf die 
Spur komme. Kann das Problem auf der Hardwareseite liegen oder muss ich 
auf der Softwareseite suchen? Provoziert mein Anschluss des Relais 
vielleicht zufällige Fluktuationen oder ähnliches?

PS: Ich bin Bastler ohne jeden theoretischen Ballast :-)

von Helmut -. (dc3yc)


Lesenswert?

Dann hilft zuerst mal ein genauer Schaltplan, damit wir wissen, wie die 
Module zusammengeschaltet sind. Und auch mit Angabe der Stromversorgung 
deines Aufbaus. Kann das alles in meiner Glaskugel nicht erkennen, da 
sie schon leicht trüb ist vom vielen reinschauen. Und das Programm darf 
gerne weiterhin unter Verschluß bleiben. Das muß erst veröffentlicht 
werden, wenn meine schwarze Katze mit dem Schwanz wedelt. Hat sie bisher 
nicht.

: Bearbeitet durch User
von Moskito (Gast)


Lesenswert?

Ich würde Mal mit den Steuerkommandos anfangen. Einfach mal loggen, was 
der mosquitto so macht, ggf. einfach mal durch einen weiteren subscriber 
die Kommandos prüfen. Vielleicht kommen ja unerwarteterweise 
Anweisungen.

Wer/was published die Kommandos denn im Normalbetrieb?

von Dirk J. (dirk_j)


Lesenswert?

Beim schreiben des Beitrags ist mir einen Idee gekommen:

Beim publishen des Werts auf dem MQTT Server könnte das Retain Flag 
gesetzt sein. Wenn der ESP8266 kurz die Verbindung zum Server verliert 
und danach wiederherstellt, dann würde er wohl noch mal den letzten 
Schaltbefehl bekommen und die Tür öffnen. Wenn eine Hardware Ursache 
unwahrscheinlich ist, dann wäre das jetzt meine Vermutung...

von Dirk J. (dirk_j)


Lesenswert?

Moskito schrieb:
> Wer/was published die Kommandos denn im Normalbetrieb?

Im Normalbetrieb kommt der Steuerbefehl nach Tastendruck aus meiner 
privaten Installation von www.iobroker.net

von Sven B. (sb2048)


Lesenswert?

Gedanken / Fragen:
- Welche Software ist auf dem ESP8266 geflasht?
- Läuft er stabil?
- Was passiert, wenn du den ESP8266 ein neustartest, ein Stormausfall 
simulierst oder IOBroker inkl. Hostsystem neustartest? Bleibt das Tor 
zu?
- Hast du schon mal probiert, was passiert, wenn du IOB
- Ist sichergestellt, dass bei einem Neustart des ESP8266 der GPIO4 (und 
hoffentlich nicht D4) der Ausgang auf Low bliebt? (Pull-Down?)

von Dirk J. (dirk_j)


Lesenswert?

Dirk J. schrieb:
> Beim publishen des Werts auf dem MQTT Server könnte das Retain Flag
> gesetzt sein. Wenn der ESP8266 kurz die Verbindung zum Server verliert
> und danach wiederherstellt, dann würde er wohl noch mal den letzten
> Schaltbefehl bekommen und die Tür öffnen. Wenn eine Hardware Ursache
> unwahrscheinlich ist, dann wäre das jetzt meine Vermutung...

Ich konnte mich selbst widerlegen: der letzte Befehl wird zwar bei einer 
neuen Subscription gesendet (wie auch immer ich das ausschalte), ABER es 
ist immer ein "false" und dann bewegt sich das Tor nicht.

von Gerald K. (geku)


Lesenswert?

Wie verhalten sich die GPIO Pins bei einem Restart des MCs des ESP8266?

von Dirk J. (dirk_j)


Lesenswert?

Gerald K. schrieb:
> Wie verhalten sich die GPIO Pins bei einem Restart des MCs des ESP8266?

Den Pin GPIO04 habe extra ausgesucht, weil er bei einem Neustart auf 
High bleibt und das Tor sich nicht bewegt. Meine erste Wahl (GPIO15, D8) 
ging bei jeden Neustart auf Low und ich hatte eine Torfahrt.

Auch wenn ich mir relativ sicher bin, werde ich nachher noch mal das 
Verhalten bei einem Neustart testen.

von Dirk J. (dirk_j)


Angehängte Dateien:

Lesenswert?

Helmut -. schrieb:
> Dann hilft zuerst mal ein genauer Schaltplan, damit wir wissen, wie die
> Module zusammengeschaltet sind. Und auch mit Angabe der Stromversorgung
> deines Aufbaus.

Ich habe mal einen Plan skizziert. Stromversorgung ist über den Mirco 
USB Port mit einen 2.1A USB Netzteil.

von Wolfgang (Gast)


Lesenswert?

Dirk J. schrieb:
> Kann mir jemand Tipps geben, wie ich diesen "Geisterschaltungen" auf die
> Spur komme.

Die Steuerung mit nur einem Taster/Relais für alle Bewegungen (hoch/ 
runter/stop) birgt die Gefahr, dass das Tor nicht synchron zu deiner 
Steuerung läuft oder hast du noch irgendwelche Sensoren, damit dein 
IOBroker den Zustand des Tores erkennen kann?
So eine Einkontaktsteuerung ist darauf ausgelegt, dass der Benutzer Teil 
der Positionsregelung ist, indem er guckt, was das Tor macht und 
entsprechend auf dem Steuerknopf rumdrückt.

von Dirk J. (dirk_j)


Lesenswert?

Wolfgang schrieb:
> Die Steuerung mit nur einem Taster/Relais für alle Bewegungen (hoch/
> runter/stop) birgt die Gefahr, dass das Tor nicht synchron zu deiner
> Steuerung läuft oder hast du noch irgendwelche Sensoren, damit dein
> IOBroker den Zustand des Tores erkennen kann?

Bisher nicht erwähnt habe ich den Sharp IR Sensor, der am Ende des Tors 
überwacht ob da ein Tor reflektiert oder nicht (siehe auch Zeichnung 
oben). Ich hatte ihn für mein Problem für unwichtig gehalten, kann mich 
da aber auch gründlich täuschen...

von Wolfgang (Gast)


Lesenswert?

Dirk J. schrieb:
> Ich habe mal einen Plan skizziert.

Was macht der Reflextaster?

von Wolfgang (Gast)


Lesenswert?

Dirk J. schrieb:
> Bisher nicht erwähnt habe ich den Sharp IR Sensor, der am Ende des Tors
> überwacht ob da ein Tor reflektiert oder nicht (siehe auch Zeichnung
> oben).

Dein Tor hat 5 Zustände, die du irgendwie sensor- und/oder 
programmtechnisch in den Griff bekommen musst:
1 Tor offen
2 Tor geschlossen
3 Tor steht irgendwo
4 Tor fährt runter
5 Tor fährt hoch
Das muss dein ESP8266 managen und z.B. entsprechen mit dem Relais 
rumklackern.
Was hat es mit den in Abb. 12b gezeigten Tastern (+180Ω) auf sich. Und 
was ist mit der in Abb. 12g gezeigten Beschaltung.

von Gerald K. (geku)


Angehängte Dateien:

Lesenswert?

Ist der Relaismodul SRD-05VDC-SL-C überhaupt für die 3,3V des ESP 
geeignet?

Wie sieht im Modul die Ansteuerung des Relais aus (Pullup Widerstand am 
Eingang?)
Wie sieht die Ruhelage am Eingang aus?

von Dirk J. (dirk_j)


Lesenswert?

Wolfgang schrieb:
> Dein Tor hat 5 Zustände, die du irgendwie sensor- und/oder
> programmtechnisch in den Griff bekommen musst:
> 1 Tor offen
> 2 Tor geschlossen
> 3 Tor steht irgendwo
> 4 Tor fährt runter
> 5 Tor fährt hoch

Ich habe nur 2 Zustände:
1) Tor ist geschlossen
2) Tor ist steht irgendwo/ist offen

Toll wären natürlich alle Zustände, aber für meinen Bedarf sollte das 
reichen. Der Sensor ist nur eine Warnung, wenn das Tor nicht geschlossen 
ist (was sich gerade als sehr relevant erweist).

von Dirk J. (dirk_j)


Lesenswert?

Gerald K. schrieb:
> Ist der Relaismodul SRD-05VDC-SL-C überhaupt für die 3,3V des ESP
> geeignet?
>
> Wie sieht im Modul die Ansteuerung des Relais aus (Pullup Widerstand am
> Eingang?)
> Wie sieht die Ruhelage am Eingang aus?

Sorry. Ich war zu ungenau. Für meine Zeichnung habe ich ein Bild von 
einen ähnlichen Modul verwendet.

Dies ist mein Modul:

https://de.aliexpress.com/item/32849672414.html?spm=a2g0o.productlist.0.0.29a46ef6Oz0KXy&algo_pvid=1ed16630-3052-498d-a04f-0da9311d4eec&algo_expid=1ed16630-3052-498d-a04f-0da9311d4eec-2&btsid=2100bddf16115892216694180ed793&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

Ich habe die 3.3V Version gekauft.

von Dirk J. (dirk_j)


Lesenswert?

Wolfgang schrieb:
> Was hat es mit den in Abb. 12b gezeigten Tastern (+180Ω) auf sich. Und
> was ist mit der in Abb. 12g gezeigten Beschaltung.

Das weiß ich leider nicht. Die Zeichnung ist aus dieser 
Montageanleitung:
https://www.novoferm.de/fileadmin/novoferm_de/Dateien/tech-dok-PDFs/NovoPort-mit-LED.pdf

Am Steuerungsgerät von Novoferm ist ein Taster angebracht, außerdem habe 
ich noch einen Schlüsselschalter eingebaut und das Tor lässt sich per 
Fernbedienung öffnen. Ohne ESP8266 hat sich das Tor nie selbständig 
geöffnet...

von Wolfgang (Gast)


Lesenswert?

Dirk J. schrieb:
> Der Sensor ist nur eine Warnung, wenn das Tor nicht geschlossen
> ist (was sich gerade als sehr relevant erweist).

Dann stell erstmal fest, ob deine Hardware, dein MQTT-Server oder ein 
Spaßvogel mit Funkausrüstung zu den ungewollten Fahrbewegungen führt.
Da hilft nur Loggen und Triggern auf unerwünschte Torfahrten.

Wie ist dein System gegen Störungen/Fremdeinwirkungen auf dem Funkkanal 
abgesichert?

von Stefan F. (Gast)


Lesenswert?

Ich würde mal die 3,3V Versorgung des ESP Moduls mit einem Oszilloskop 
überprüfen. Vielleicht ist sie instabil.

von Gerald K. (geku)


Lesenswert?

Dirk J. schrieb:
> Ich habe die 3.3V Version gekauft.

Gibt es da eine Spezifikation und Schaltung dazu?

Die Klemmen sind sehr gut gegen Berührung abgesichert, aber auf der 
Unterseite sind die PINs blank. Also Vorsicht bei 230V !!!

von Dirk J. (dirk_j)


Lesenswert?

Wolfgang schrieb:
> Dann stell erstmal fest, ob deine Hardware, dein MQTT-Server oder ein
> Spaßvogel mit Funkausrüstung zu den ungewollten Fahrbewegungen führt.
> Da hilft nur Loggen und Triggern auf unerwünschte Torfahrten.
>
> Wie ist dein System gegen Störungen/Fremdeinwirkungen auf dem Funkkanal
> abgesichert?

Der Funkkanal ist Wifi. Da die Probleme gleich nach der Installation 
aufgetreten sind, würde ich erst mal bewusste Fremdeinwirkung 
ausschließen. Das wäre schon ein großer Zufall, wenn jemand am Tag 1 
meiner Installation eine erfolgreiche Attacke gegen mich fahren würde. 
Da gäbe es noch mehr, bei dem er schon lange an meinen Haus hätte 
rumspielen können und mir ist noch nie was aufgefallen.

Ich überlege mal, was mein ESP8266 alles noch aufzeichnen und über MQTT 
loggen könnte (z.B. verlorene Verbindungen und Neustarts fallen mir da 
nun ein)...

von Dirk J. (dirk_j)


Lesenswert?

Gerald K. schrieb:
> Gibt es da eine Spezifikation und Schaltung dazu?
>
> Die Klemmen sind sehr gut gegen Berührung abgesichert, aber auf der
> Unterseite sind die PINs blank. Also Vorsicht bei 230V !!!

Danke für den Hinweis. Ich habe die Unterseite mit Isolierband 
abgeklebt, immer nur stromlos am Gerät gearbeitet und auch schön dicke 
Kabel verwendet, obwohl ich davon ausgehe, dass über die Leitung nur ein 
Steuersignal gegeben wird, aber kein Strom fließt. Aber lieber 
vorsichtig...

von Gerald K. (geku)


Lesenswert?

Ich habe mir kurz die Bedienungsanleiung durchgesehen.

Das Garagentor wird über kurze Impulse gesteuert. Da ist es, wie schon 
erwähnt wurde, wichtig in welchem Zustand sich das Garagentor befindet.

Geschlossen - in Bewegung - gestoppt - offen

Je nach Zustand wird beim Tastendruck der nächste Zustand angefahren.

Frage : ist vielleicht das Relais im Ruhezustand angesteuert 
(Dauerimpuls)?

Dirk J. schrieb:
> Den Pin GPIO04 habe extra ausgesucht, weil er bei einem Neustart auf
> High bleibt und das Tor sich nicht bewegt.

daher vermute ich, dass das Relais immer angesteuert ist und ein 
Dauerimpuls an die Garagentorsteuerung weiter gegeben wird. Anscheinend 
arbeitet deine Steuerung invers Unterbrechungen statt Impulse.

Ist das Relais auch angesteuert, wenn die Steuerleitung zwischen ESP und 
Rlaismodul aufgetrennt ist. Es könnte sein, dass der Modul einen Pullup 
am Eingang hat.

von Dirk J. (dirk_j)


Lesenswert?

Stefan ⛄ F. schrieb:
> Ich würde mal die 3,3V Versorgung des ESP Moduls mit einem Oszilloskop
> überprüfen. Vielleicht ist sie instabil.

Du meinst nicht das 5V Netzteil, sondern den Voltage Regulator auf dem 
Model, der die 3.3V erzeugt? Ich habe nur einen "Multitester", der auch 
eine Oszilloskop Funktion eingebaut hat. Damit habe ich allerdings keine 
Erfahrung und ich weiß auch nicht wie aussagekräftig die Messwerte sind.

Kann ich noch anders dieses Problem ausschließen? Könnte Probleme in der 
Stromversorgung sich nur auf den einen Pin auswirken oder würde ich dann 
z.B. auch einen Neustart des ESP8266 sehen? Würde es Sinn machen einen 
kleinen Kondensator an den GPIO zu hängen um Schwankungen auszugleichen?

von Gerald K. (geku)


Lesenswert?

Dirk J. schrieb:
> ich habe die Unterseite mit Isolierband
> abgeklebt

Vorsicht, ein Isolierband wird durch die spitzen PINs leicht 
durchstochen,
Ich habe mit eine Heißklebepistole eine dicke Schichte im 230V 
aufgetragen.

von Gerald K. (geku)


Lesenswert?

Dirk J. schrieb:
> z.B. auch einen Neustart des ESP8266 sehen? Würde es Sinn machen einen
> kleinen Kondensator an den GPIO zu hängen um Schwankungen auszugleichen?

Ich würde zunächst untersuchen, ob ein Neustart die Ursache für den 
Impuls an die Garagensteuerung ist.

Primär ist es wichtig, die Auswirkung eine Restarts auf die 
Garagentorsteuerung zu verhindern. Gleiches gilt auch für einen kurzen 
Spannungsfall. Schließlich sollte das Garagentor niemals seinen Zustand 
durch Spannungsausfall oder Restart ändern, geschweige von selbst 
aufgehen (absolutes NoGo).

Einen Restart sollte man bei einem guten Embedded System immer 
berücksichtigen sein und dabei die sichere Lage einnehmen. Ein 
restartfreies System kann niemand garantieren.

Ich habe Telefonsysteme entwickelt, dabei gibt es nichts schlimmeres als 
wenn alle Gesprächsverbindungen durch einen Restart unterbrochen werden. 
Auch habe ich Alarmanlagen entworfen, da dürfen durch Restarts keine 
Sirenen ausgelöst werden und Brandabschnittstüren von selbst schließen.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Dirk J. schrieb:
>> Ich würde mal die 3,3V Versorgung des ESP Moduls mit einem Oszilloskop
>> überprüfen. Vielleicht ist sie instabil.
>
> Du meinst nicht das 5V Netzteil, sondern den Voltage Regulator auf dem
> Model, der die 3.3V erzeugt?

Ja

> Kann ich noch anders dieses Problem ausschließen?

Ohne Messen kannst du nur raten. Meiner Erfahrung nach werden 90% aller 
Fehlfunktionen durch mangelhafte Stromversorgung ausgelöst. Der ESP8266 
ist da aufgrund extrem stark schwankenden Stromaufnahme sehr 
anspruchsvoll.

> Würde es Sinn machen einen kleinen Kondensator an den
> GPIO zu hängen um Schwankungen auszugleichen?

Das wäre ungefähr so, als wenn du einen Sack Zement an dein Garagentor 
hängen würdest. Probleme löst man bei der Ursache!

von Wolfgang (Gast)


Lesenswert?

Dirk J. schrieb:
> Würde es Sinn machen einen kleinen Kondensator an den GPIO zu hängen
> um Schwankungen auszugleichen?

Nein, so ein Filter muss dein Schlüsselschaltereingang von der 
Garagentorsteuerung sowieso schon besitzen. Und an einem Ausgang willst 
du nie direkt einen Glättungskondensator haben. Beim Umschalten des 
Ausgangs müsste so ein Kondensator vollständig umgeladen werden. Hast du 
mal drüber nachgedacht, was das für den fließenden Strom bedeutet?

von John (Gast)


Lesenswert?

Ich habs nocht nicht eingebaut. Bin aber am testen.
Im Prinzip gleiche Hardware. Ich steuer aber über eine HTML Seite im 
Lokalem Netz.

Das 5V Relais wollte bei mir nicht mit 3V . Ich hab einen Transistor 
zwischengschaltet und das Relais läuft jetzt an 5V.

Den GPIO an dem das Relais hängt habe ich mit einem 10K auf Ground 
gezogen damit das Relais nur anzieht wenn es soll.

Zu mindestens den Zustand "Offen" werde ich mir über einen Readkontakt 
holen.

Die Software gefällt mir noch nicht. Aber ich habe noch eine Sohn und 
einen Schwiegersohn mit dem ich das wohl noch eleganter hinbekommen 
werde.

Schau mer mal ob ich nächste Woche mehr weiss, oder ob wir uns mal 
direkt austauschen sollten.

von Armin X. (werweiswas)


Lesenswert?

Das erinnert mich ein wenig an meine vermeintlichen Probleme mit einem 
an die Torsteuerung hinzugebastelten Funkempfänger von Banggood.
In der Folge öffnete sporadisch immer mal wieder das Garagentor. 
Unabhängig von der Tageszeit, auch mitten in der Nacht. Es lief dann 
aber immer auch ganz auf.
Das passierte dann aber auch nachdem ich testweise die separate 
Funksteuerung entfernt hatte.
Ursache war ein Krümel in dem Knackfrosch(Taster) für Tor auf/zu an der 
Torsteuerung. Wie der da reinkam bzw wodurch der dort gebildet wurde 
kann ich nicht sagen. Er führte aber gelegentlich dazu dass der Status 
des Eingangs kurz kippte und das Tor auffuhr.
Der Torantrieb ist allerdings ein mittlerweile 30 Jahre alter Bosch. Typ 
habe ich leider gerade nicht zur Hand.

: Bearbeitet durch User
von Dirk J. (dirk_j)


Lesenswert?

Kurze Rückmeldung zum ursprünglichen Problem: es ist seit mehr als 3 
Monaten nicht mehr aufgetreten. Die einzigen Änderungen, die ich 
vorgenommen habe sind in Software. Bei mir funktioniert es also 
zuverlässig mit Relais direkt am Pin.

von Stefan F. (Gast)


Lesenswert?

Dirk J. schrieb:
> Bei mir funktioniert es also zuverlässig mit Relais direkt am Pin.

Du meinst dein "3.3V Low Level Trigger Relay Modul", richtig? Da ist 
einiges mehr drauf, als nur ein Relais.

Das Relais, das man direkt an den ESP8266 anschließen kann würde ich 
gerne mal sehen.

von Dirk J. (dirk_j)


Lesenswert?


von Stefan F. (Gast)


Lesenswert?

Dirk J. schrieb:
>> Das Relais, das man direkt an den ESP8266 anschließen kann würde ich
>> gerne mal sehen.

> https://de.aliexpress.com/item/32849672414.html

Das ist wie gesagt kein Relais, sondern ein Modul mit Relais.

Du kannst doch auch PKW von Motoren unterscheiden, warum hier nicht?

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.