Flackernde Signale an GPIO-Eingängen an esp32 Modul

Hallo zusammen,

ich bin noch Neuling im Bereich ESP32 und ESPHome und stehe vor folgendem Problem:

Ich bau mir gerade eine Füllstandüberwachung für unsere Zisterne.
Hierzu werden 6 Schwimmersensoren an die GPIO-Pins eines AZDelivery ESP32 NodeMCU Modul angeschlossen und über ESPHome mit Home Assistent verbunden. Das Ganze hat im Test mit kurzen Kabellängen hervorragend funktioniert.

Nun, nachdem ich das Kabel anschlossen habe welches in die Zisterne führt, habe ich ständig wechselnde Signale, obwohl das Kabel noch nicht an die Schwimmerschalter in der Zisterne angeschlossen ist.

Folgende Randbedingungen:

  • Verbautes Modul: AZDelivery ESP32 NodeMCU Module
  • Belegte GPIO-Pins: 16, 17, 18, 19, 22, 23
  • Kabel: Telefonleitung JY(ST)Y 4x2x0,8 mm,
    Länge ca. 35m, unterirdisch in Kabuflex Rohr verlegt.
  • ESPHome Code, Bsp. für einen Sensor:
binary_sensor:
 - platform: status
   name: "Zisternenfullstand Status"
   id: zisternenfullstandstatus
 
 - platform: gpio
   name: Zisterne0
   pin:
     number: GPIO16
     mode: INPUT_PULLUP  
     inverted: true

An was kann das Flackern aller Sensoren liegen? Kabellänge? Kabel Art?

Danke für Eure Unterstützung!

:crayon:by HarryP: Codezeilen formatiert (bitte immer in </> einbinden)

Kabellänge: ja, möglich
Kabel Art: denke ich eher nicht, das Telefonkabel geschirmt, sollte o.k. sein

Was liefern die Sensoren den für Signale ?

Wenn das Digitalsignale sind, hast du mal die Spannung an den Pins gemessen, ob die im Toleranzbereich des ESP liegen ( Datenblatt ).
Denke dran, der ESP arbeitet mit 3,3V, höher darf die Spannung am GPIO auch nicht sein.

Dann würde ich mal die internen PullUp-Widerstände deaktivieren und externe Widerstände nutzen, ggf. mit unterschiedlichen Widerstandwerte testen.

Ansonsten würde mir noch einfallen, mal kleine Kondensatoren parallen zwischen GPIO und Masse zu schalten, der ggf. Störungen rausfiltert, müsste man aber probieren.

Ich tippe eher drauf, das die Pegel nicht stimmen.

Die Schwimmer-Sensoren sind potentielfrei und schalten nur Durchgang IO.
Aber wie da gesagt, die Sensoren in der Zisterne sind noch nicht angeschlossen.
Die Enden der einzelnen Adern liegen frei und haben keinen Kontakt zueinander.

Was hat du den zum testen an Potential drauf gelegt, weil wenn die frei in der Luft hängen würde mich das nicht wundern, das die flattern.

Ich habe zum testen einen Kontakt geschlossen, also GND mit GPIO 15 verbunden. Dieser Kanal wird auch dauerhaft als geschlossen angezeigt.

Ich habe gerade mit meinem Elektriker gesprochen. Er meint, dass durch das ausgelegte Kabel mit parallel laufenden Adern ein Übersprechen möglich bzw. wahrscheinlich ist und dies zu diesem Flattern der anderen Kanäle führen kann.

Ich werde als erstes die dünne Kupferleitung der Schirmung erden. Wenn das nicht hilft, soll ich ein CAT 7 Kabel versuchen, da sind alle Paare separat geschirmt.

Ich werde berichten…

was ich befürchtet habe - 35m Kabel sind eine hervorragende Antenne. Stromkabel in der Nähe und dein ESP dreht durch.

Ich habe nun die dünne Kupferleitung der Abschirmung des Telefonkabels an einen GND-Pin des ESP32 Moduls angeschlossen und siehe da, da Flackern der anderen Kanäle war umgehend beseitigt. :grinning: :+1:t4:

Vielen Dank für die Unterstützung!

2 „Gefällt mir“