Forum: Mikrocontroller und Digitale Elektronik Fluktuationen GPIO ESP8266?


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 Dirk J. (dirk_j)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Wie verhalten sich die GPIO Pins bei einem Restart des MCs des ESP8266?

von Dirk J. (dirk_j)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
Dirk J. schrieb:
> Ich habe mal einen Plan skizziert.

Was macht der Reflextaster?

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
1 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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. (stefanus)


Bewertung
1 lesenswert
nicht 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!

: Bearbeitet durch User
von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht 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?

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.

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