Forum: Mikrocontroller und Digitale Elektronik ESP8266 Wassermelder ESPHome Homeassistant


von Edgar D. (lewis_t94)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
einen ESP-01S von ai thinker möchte ich als Wassermelder verwenden.
Die Sonde, die das Wasser detektieren soll, habe ich aus zwei 
vergoldeten Kontaktstiften gebaut und zwischen PIN2 (GPIO2) und GND 
angeschlossen. Gemäß Datenblatt ist der GPIO2 intern mit einen 
Pullup-Widerstand beschaltet.

Das Problem: Stecke ich die Sonde ins Wasser, dann wechselt der ESP-01S 
nicht zuverlässig seinen Zustand. Die Zustandsänderung wird durch die 
blaue LED, die an PIN2 hängt, angezeigt. Schließe ich die Sondenkontakte 
galvanisch kurz, leuchtet die LED und in Homeassistant wird der Zustand 
"nass" angezeigt, so wie es sein soll. Ein leichtes Eintauchen der Sonde 
führt aber meistens nicht zu der gewünschten Zustandsänderung, erst nach 
"tiefem" Eintauchen der Sonde reagiert der ESP-01S.

Offensichtlich ist der Widerstand des Wassers zwischen den beiden 
Kontaktstiften zu hoch, um den PIN2 zuverlässig auf low-Pegel zu ziehen. 
Meine Spannungsmessungen zwischen PIN2 und GND ergaben, dass der Zustand 
erst bei einer Spannung unterhalb von 1,54 V wechselt. Ein einfaches 
Eintauchen der Sonde ins Wasser führt aber oft nur zu einer Spannung von 
1,7 V.

Die Details zu dem Projekt (Aufbau und Code) habe ich in der Datei 
beigefügt.

Hat jemand eine Idee, was ich hier machen kann? Danke für Eure Hilfe!

von Salz (Gast)


Lesenswert?

Man verwende Salz und füge es dem Wasser bei

von Wolfgang (Gast)


Lesenswert?

Edgar D. schrieb:
> Offensichtlich ist der Widerstand des Wassers zwischen den beiden
> Kontaktstiften zu hoch, um den PIN2 zuverlässig auf low-Pegel zu ziehen.
> Meine Spannungsmessungen zwischen PIN2 und GND ergaben, dass der Zustand
> erst bei einer Spannung unterhalb von 1,54 V wechselt.

Man kann es auch anders formulieren: Offensichtlich ist der Pull-Up zu 
klein, um bei gegebenem Widerstand deiner Messstrecke zu einem Low-Pegel 
zu führen.

p.s. Bei Dauerstrom durch die Elektroden gammeln die durch Elektrolyse 
weg.

von Stefan F. (Gast)


Lesenswert?

Das geht so nicht. Du hast dein "Wasser" an GPIO2 angeschlossen. Dieser 
Pin darf beim Start des Moduls aber nicht auf LOW gezogen werden (sonst 
startet es nicht). Zudem fehlt ein 1MΩ Pull-Up Widerstand, der für einen 
sauberen High-Pegel sorgt, wenn kein Wasser anliegt.

Im Gegensatz zum ESP-01 hängt beim neueren ESP-01S an diesem Pin die 
blaue LED. Deswegen muss da bei dir sehr viel mehr Strom fließen, um 
einen sauberen LOW Pegel zu erreichen.

Ich weiß nicht groß deine zwei vergoldeten Kontaktstifte sind, aber ich 
nutze für so etwas Klebeband aus Kupfer, das tausendfach mehr 
Kontaktfläche zum Wasser hat und entsprechend besser funktioniert. Wobei 
in meinem Fall normalerweise alles Trocken ist, deswegen brauche ich mir 
um Oxidation keine Sorgen zu machen.

Es gibt bessere Anleitungen, wo der Sensor an den Enable-Eingang 
angeschlossen wird. Orientiere dich daran. Vorteil: viel geringere 
Ruhestromaufnahme.

Das ESP-01S Modul hat im Gegensatz zum ESP-01 einen 12kΩ Pull-Up 
Widerstand am Enable Pin. Du musst diesen Widerstand durch 1MΩ ersetzen.

Parallel zum 1MΩ Widerstand empfehle ich einen 100nF Kondensator um 
Radiowellen abzublocken, damit er nicht darauf falsch reagiert.

Siehe dazu die Hinweise auf 
http://stefanfrings.de/esp8266/index.html#esp01

Wir hatten dazu vor kurzem eine relevante Diskussion: 
Beitrag "ESP01-S Wassermelder"

von Edgar D. (lewis_t94)


Angehängte Dateien:

Lesenswert?

Stefan ⛄ F. schrieb:
> Das geht so nicht. Du hast dein "Wasser" an GPIO2 angeschlossen. Dieser
> Pin darf beim Start des Moduls aber nicht auf LOW gezogen werden (sonst
> startet es nicht). Zudem fehlt ein 1MΩ Pull-Up Widerstand, der für einen
> sauberen High-Pegel sorgt, wenn kein Wasser anliegt.

Damit könnte ich leben, da der Melder zu hoffentlich 99,99% kein Wasser 
"sieht". Eine kleine Notiz am Melder, dass er beim Starten trocken sein 
muss, reicht mir da. Den vorhandenen Pullup-Widerstand gegen einen 
anderen auszutauschen traue ich mir nicht zu wegen der 
Platzverhältnisse.
>
> Im Gegensatz zum ESP-01 hängt beim neueren ESP-01S an diesem Pin die
> blaue LED. Deswegen muss da bei dir sehr viel mehr Strom fließen, um
> einen sauberen LOW Pegel zu erreichen.

Ja genau, das bestätigt meine Messungen.
>
> Ich weiß nicht groß deine zwei vergoldeten Kontaktstifte sind, aber ich
> nutze für so etwas Klebeband aus Kupfer, das tausendfach mehr
> Kontaktfläche zum Wasser hat und entsprechend besser funktioniert. Wobei
> in meinem Fall normalerweise alles Trocken ist, deswegen brauche ich mir
> um Oxidation keine Sorgen zu machen.

Danke für den Tipp mit dem Kupferband, das kannte ich noch nicht! Ein 
Bild der Sonde habe ich beigefügt. Ich hatte schon überlegt, mehrere 
dieser Stifte pro Elektrode parallel zuschalten, das vergrößert auch die 
Oberfläche.
>
> Es gibt bessere Anleitungen, wo der Sensor an den Enable-Eingang
> angeschlossen wird. Orientiere dich daran. Vorteil: viel geringere
> Ruhestromaufnahme.

Ich kenne diese Anleitung und habe den Wassermelder genau so in Betrieb 
(zusammen mit einem push-Dienst). Zunächst wollte ich den zum zweiten 
mal bauen. Wenn man ihn aber in homeassistant einbinden will (Ziel: Die 
Meldung eines Wassereinbruchs möchte ich ohne die Beteiligung eines 
externen Push-Service realisieren, nämlich mit meinem eigenen 
homeassistant auf dem pi4), dann wird der Sensor in homeassistant immer 
als "nicht verfügbar" angezeigt, wenn er kein Wasser sieht. Ist ja auch 
klar, weil das Wasser den ESP-01 erst "enabled".
>
> Das ESP-01S Modul hat im Gegensatz zum ESP-01 einen 12kΩ Pull-Up
> Widerstand am Enable Pin. Du musst diesen Widerstand durch 1MΩ ersetzen.
>
> Parallel zum 1MΩ Widerstand empfehle ich einen 100nF Kondensator um
> Radiowellen abzublocken, damit er nicht darauf falsch reagiert.
>
> Siehe dazu die Hinweise auf
> http://stefanfrings.de/esp8266/index.html#esp01
>
> Wir hatten dazu vor kurzem eine relevante Diskussion:
> Beitrag "ESP01-S Wassermelder"

Beitrag #6960582 wurde von einem Moderator gelöscht.
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.