Hallo zusammen,
ich versuche aktuell für mein Aquarium einen einfachen Wassermelder zur
Erkennung von Wasseraustritt im Unterschrank zu erkennen. Falls Wasser
austritt wird über MQTT eine Nachricht verschickt und ich so alarmiert.
Ich muss direkt dazu sagen, dass ich eher aus der Informatik-Richtung
komme und Elektrotechnik für mich ein Buch mit 7 Siegeln ist. Daher
verzeiht mir bitte, wenn ich nicht immer die richtigen Ausdrücke
verwende und auch auf sehr detaillierte Hilfe angewiesen bin ;-)
Meine Vorlage für mein Vorhaben war folgende Seite:
https://www.smarthome-tricks.de/iobroker-tutorials/wassermelder-fuer-iobroker-ueber-esp8266-und-mqtt/
Im Grunde ist die Kernidee den ESP01-S in den Deepsleep zu schicken und
2 Drähte so am ESP anzuschließen, dass sie bei Wasserkontakt einen Reset
des ESPs auslösen. Während des Hochfahrens verbindet sich der ESP dann
mit dem WLAN und dem MQTT-Broker und setzt die Nachricht ab und geht
wieder in den Deepsleep.
Die SW-Seite funktioniert soweit auch, d.h. sobald ich den ESP über das
Batteriepack einschalte wird eine MQTT-Nachricht verschickt und kommt
auch bei meiner Hausautomatisierung an.
Was ich nicht hinbekomme ist der Reset. Die Schaltung, wie sie auf der
Seite angegeben ist, scheint bei mir nicht zu funktionieren. Ich habe
bereits sehr viel im Internet recherchiert und bin noch auf ein
ähnliches Projekt gestoßen:
https://esp8266-server.de/Wassermelder.html
Grundsätzlich die gleiche Schaltung. Dort wird auch darauf hingewiesen,
dass es scheinbar unterschiedliche Beschaltungen für den ESP-01s gibt
und der CH_PD PIN normal hochohmig sein sollte (mehrere 100kOhm).
Bei mir scheint der EN-PIN (CH_PD) einen 12kOhm Widerstand zu haben. Das
sagt zumindest die Messung mit einem Multimeter zwischen Vdd und CH_PH.
Die vorgeschlagene Lösung den Widerstand zu entfernen habe ich auch
gemacht. Jetzt messe ich zwischen Vdd und CH_PD 0 Ohm.
Trotzdem wird beim verbinden der beiden losen Kabel in der Schaltung
kein Reset ausgelöst.
Ich habe auch gelesen, dass der CH_PD Pin im DeepSleep eigentlich LOW
sein müsste. Wenn ich den im Betrieb gegen GND messe bekomme ich aber
2,8V also die Spannung der Versorgung.
Ein Reset wird ausgelöst, wenn ich RST und GND verbinde. Allerdings ist
das für meinen Usecase nicht hilfreich, weil der ESP erst hochfährt
sobald ich die Verbindung zwischen GND und RST löse. Solang sie
verbunden sind hänge ich in einem Dauerreset und die SW kommt nicht
hoch.
Ich bin echt ziemlich verzweifelt, weil ich das Ganze "wer zieht welchen
Pin auf High bei welchen Pullup-Widerständen", sprich Elektrotechnik ;-)
einfach nicht verstehe.
Das hier sind die ESPs, die ich gekauft habe (falls es was hilft):
https://www.amazon.de/dp/B074RL7YR3?tag=kmedien-21&linkCode=ogi&th=1&psc=1
Den Sketch habe ich Euch auch angehängt. Wäre super wenn mir jemand
sagen könnte woran es liegt bzw. was ich an der Schaltung ändern muss.
Danke & Gruß,
Flo
Florian schrieb:> Was ich nicht hinbekomme ist der Reset> Bei mir scheint der EN-PIN (CH_PD) einen 12kOhm Widerstand zu haben.
Das ist normal so. Und deswegen funktioniert die Schaltung auch nicht.
Der muss auf jeden Fall weg.
Das ESP-01 Modul (ohne s) hat an dem Pin keinen Pull-Up Widerstand.
> Jetzt messe ich zwischen Vdd und CH_PD 0 Ohm.
Dann hast du einen Kurzschluss gebaut.
Du musst die beiden Eingänge des ESP-01 Moduls so beschalten:
1
1MΩ
2
+----(Wasser)----+----[===]---+
3
| | |
4
| | 100nF |
5
| +-----||-----+
6
| 2,2kΩ | |
7
+--[===]--+ | |
8
| | | |
9
o o o o
10
VCC 3,3V /Reset Enable GND
Außerdem empfehle ich einen 100µF oder 200µF Elko direkt an die
Anschlüsse VCC und GND des Moduls zu löten. Je näher er am Chip, umso
besser. Der Kondensator verringert sporadische Aufhänger ganz erheblich.
Da gibt es noch mehrere Fallstricke:
1) Die meisten ESP Module hängen sich auf, wenn die Batteriespannung
unter 2,8V fällt. Das passiert bei zwei AA Zellen recht schnell.
2) Den Kondensator habe hinzugefügt, damit das Ding nicht auf
Radiowellen reagiert.
3) Du musst den Chip nach dem Einlegen der der Batterien einmal starten,
weil er erst danach in den sparsamen Ruhezustand geht.
Ich würde den Sensor lieber mit einer CMOS Logikschaltung aufbauen, die
den ESP erst bei Alarm mit Strom versorgt. Dazu 4 AA Zellen verwenden
und einen Spannungsregler mit Enable-Eingang.
Dann wird das Ding mehrere Jahre laufen.
> Ich habe auch gelesen, dass der CH_PD Pin im DeepSleep eigentlich LOW> sein müsste.
Das ist falsch.
> Ein Reset wird ausgelöst, wenn ich RST und GND verbinde.> Allerdings ist das für meinen Usecase nicht hilfreich, ...
Es ist aus einem zweiten Grund nicht hilfreich: Solange der Chip im
Reset-Zustand ist, nimmt er 23mA auf.
Lies http://stefanfrings.de/esp8266/index.html
Einen Taster mit Hilfe eines Zuckerwüfels so belasten, dass der
Stromkreis offen ist. Sobald sich der Zuckerwürfel auflöst, wird der ESP
mit Strom versorgt und kann Alarm schlagen.
Danke für die schnelle Antwort.
Das mit dem 12kOhm Widerstand ist mir noch nicht ganz klar.
Dort wo ich den ausgelötet habe muss ich doch die 2 SMD Anschlüsse mit
Lötzinn verbinden, richtig? Sonst ist ja der Stromkreis nicht mehr
geschlossen und es geht gar nix. Ohne diese Lötzinn-Verbindung messe ich
ca 1.600MOhm zwischen Vdd und EN. Sobald ich die Verbindung mit Lötzinn
schließe sind es 0 Ohm und der ESP funktioniert wieder.
Das mit dem Kurzschluss verstehe ich daher nicht. Wie soll ich sonst den
Widerstand "ausbauen"?
Den Rest der Schaltung probiere ich morgen mal aus. Ist schon etwas
spät.
Danke nochmal!
Gruß,
Flo
HI
>Ich muss direkt dazu sagen, dass ich eher aus der Informatik-Richtung>komme und Elektrotechnik für mich ein Buch mit 7 Siegeln ist.
Dann kaufe dir ein ordentliches Aquarium. Meine Eltern und meine
Schwiegereltern hatten vor Jahrzehnten Aquarien die über mehr als 20
Jahre dicht geblieben sind. Gibt es das heutzutage nicht mehr?
MfG Spess
hi Spess,
wem genau hilft dieser "Tipp"?
Wenn ich nach Ratschlägen bei der Aquarienauswahl suche schreib ich in
ein Aquaristikforum.
BTW besitze ich ein Becken der Firma Emmel. Das ist so mit die
renommierteste Firma für Aquarienbau in Deutschland.
Ich möchte trotzdem einen Warnmelder. Sicher is sicher...
Gruß,
Flo
Hallo nochmal,
funktioniert leider immer noch nicht.
Aus deiner Schaltung geht für mich leider auch noch nicht hervor, wo ich
+/- des Batteriepacks anschließen muss.
Ist wahrscheinlich ne echt dumme Frage, aber ich weiß es einfach nicht
;-)
Danke & Gruß,
Flo
Florian schrieb:> Dort wo ich den ausgelötet habe muss ich doch die 2 SMD Anschlüsse mit> Lötzinn verbinden, richtig?
Nein. Du willst doch, dass der Enable Eingang nur dann auf HIGH geht,
wenn Wasser ausläuft.
Mit dem 12kΩ Widerstand hast du folgende Situation:
1
+---(Wasser)---+
2
| |
3
+----[===]-----+ 12k
4
| |
5
o o
6
VCC Enable
Da ist nichts, was den ENABLE Eingang auf LOW (GND) zieht. Er liegt
immer auf HIGH, der CHip ist immer aktiv.
Nun ersetzt du ihn durch Zinn:
1
+---(Wasser)---+
2
| |
3
+--------------+
4
| |
5
o o
6
VCC Enable
Da ist immer noch nichts, was den Eingang auf LOW zieht, zudem hast du
deinen Wassersensor faktisch überbrückt, also wirkungslos gemacht.
Was du brauchst habe ich oben skizziert.
Spess53 schrieb:> Dann kaufe dir ein ordentliches Aquarium. Meine Eltern und meine> Schwiegereltern hatten vor Jahrzehnten Aquarien die über mehr als 20> Jahre dicht geblieben sind. Gibt es das heutzutage nicht mehr?
Sowohl am Becken als auch an den Schläuchen und dem Filter kann immer
mal ein Leck entstehen. Und sei es nur Kondenswasser, dass sich irgendwo
sammelt.
So ein Wassermelder kann helfen, teure Schäden zu vermeiden. Wer ein
Aquarium betreibt, sollte so etwas benutzen. Wenn unsere Waschmaschine
so ein Ding nicht integriert hätte, würde ich auch eins hinter die
Waschmaschine legen.
STK500-Besitzer schrieb:> Wenn das Wasser im Unterschrank steht, ist es doch eh zu spät.
Es macht aber schon einen gewaltigen Unterschied, ob man das Leck (so
wie in meinem Fall) früh nach 200ml bemerkt oder erst nach 100 Litern.
In unserem Haus besteht der Boden aus Holzbalken. Mal abgesehen davon,
dass die Frau unter schon extremst angepisst war, als wir ein Leck in
der Badezimmerwand hatten, möchte mir gar nicht ausmalen, welche Folgen
schimmelnde Balken unter meinen Füßen haben.
Besten Dank Stefan!
Hab's jetzt schlussendlich hinbekommen und es funktioniert wie erwartet.
Im Deepsleep braucht er jetzt 0,18mA was mit dem übereinstimmt, was ich
bisher so gelesen habe.
Eine letzte Frage hätte ich noch... Status-LED zerstören ja/nein?
Die LED leuchtet ja nur kurz beim Booten und wird im deepsleep ja nicht
genutzt. Macht also keinen Sinn die auszulöten oder zu zerstören,
richtig?
Danke und schönes Wochenende noch,
Flo
Florian schrieb:> Im Deepsleep braucht er jetzt 0,18mA was mit dem übereinstimmt, was ich> bisher so gelesen habe.
Das ist aber noch sehr viel! Es sollten ca. 0,025mA sein.
Lass die LED mal lieber drin. Im Vergleich zur Funkschnittstelle
verbraucht sie sehr wenig Strom.
Oh... hmm... woran kann das liegen?
Ich hatte keinen 2,2kOhm Widerstand und hab einen mit 2kOhm genommen.
Problem?
Unsauber gelötet?
Anbei noch ein Foto des hässlichen Entleins :-)
Gruß,
Flo
Florian schrieb:> Oh... hmm... woran kann das liegen?
Woran kann was liegen?
> Ich hatte keinen 2,2kOhm Widerstand und hab einen mit 2kOhm genommen
Sind die vertauscht? An den Reset Pin (links) gehört der (ungefähr)
2,2kΩ Widerstand und an den Enable Pin (rechts) der (ungefähr) 1MΩ
Widerstand mit Kondensator.
Messe die Spannungen nach. Beide müssen auf HIGH liegen, damit das Ding
aktiv wird.
Hi,
also die Widerstände sollten richtig rum sein. Hab sowohl die
Farbcodierungen nochmal verglichen, als auch im verlöteten Zustand
nochmal gemessen.
- Zwischen VDD und RST messe ich ca. 1,7kOhm
- Zwischen GND und EN messe ich ca 0,293MOhm
Wieso eigentlich bei beiden unter den Werten der eingelöteten
Widerstände?
Ich vermute mal ich messe im verlöteten Zustand damit nicht den Weg über
die Widerstände sondern die Schaltung in die andere Richtung, weil dort
der Widerstand jeweils kleiner ist, richtig?
Sehen die Werte plausibel aus?
Spannung hab ich im Betrieb auch nochmal gemessen.
- Nach dem Einschalten, d.h. ohne ersten Wasserkontakt messe ich
zwischen GND und EN 0V
- Wenn die Leitungen im Wasser hängen sind es ~2,5V zwischen GND und EN
Zu guter Letzt nochmal Strom gemessen:
- beim ersten Mal Leitungen ins Wasser hängen ~120mA
- nachdem ich die Leitungen dann aus dem Wasser nehme 18uA...
wahrscheinlich hab ich gestern einfach falsch abgelesen am Multimeter.
Passt damit alles? Schauen alle Werte vernünftig aus? ;-)
Danke nochmal!
Flo
Florian schrieb:> Wieso eigentlich bei beiden unter den Werten der eingelöteten> Widerstände?
Weiß nicht, vielleicht ist dein Messgerät doof.
Solange die Messpannung wie üblich unter 0,3V ist, sollte dabei kein
Messfehler entstehen.
Passt damit alles? Schauen alle Werte vernünftig aus?
Ja, abgesehen von den Widerstandswerten. Aber da Spannungen und Ströme
passen, sind die Widerstände wohl auch in Ordnung.
Hallo!
Ich hänge genau an der gleichen Stelle, wie Florian und mir hilft der
Beitrag sehr zum Verständnis.
Allerdings bin ich fachlich hinter Florian :-)
Ich weiss nicht wo genau der Widerstand ist, den ich auslöten soll.
Kann mir da jemand helfen?
Es geht um den ESP01S.
Danke & Grüße,
Roger
Roger schrieb:> Ich weiss nicht wo genau der Widerstand ist, den ich auslöten soll.> Kann mir da jemand helfen?> Es geht um den ESP01S.
Und es geht um den Pull-Up Widerstand am Enable Eingang.
Das Datenblatt vom ESP Chip sagt dir, welcher Pin am Chip der Enable
Eingang ist. Dann suchst du mit einem Multimeter (Durchgangsprüfer) den
Widerstand, der direkt mit diesem Pin und VCC verbunden ist.
Nach meinem Kenntnisstand hat das ESP-01(S) Modul keinen Pull-Up
Widerstand am Enable Eingang.
Falls doch: überlege dir vorher ob du so fein löten kannst. Die Bauteile
sind brutal klein.
Hallo und Danke für die schnellen Antworten.
Wenn der ESP01S keinen Widerstand hat, dann umso besser. Dann kann ich
mir das sparen.
Allerdings messe ich genau wie Florian im Eingangs Thread die 12kOhm
Widerstand zwischen EN und den 3,3V.
Wie kann ich es dann hinbekommen, dass der Reset ausgelöst wird?
Danke & Grüße,
Roger
Auf manchen Leitungen ist im Schaltplan ein "X". Weiss jemand was das
bedeutet?
Der Schaltplan ist mir suspekt. Demnach ist GPIO16 herausgeführt, aber
weder beim ESP-01 noch beim ESP-01S ist einer der 6 Pins so beschriftet.
Soweit ich weiß gibt es bei beiden Modulen zudem keine interne
Verbindung zwischen GPIO16 und dem Reset Eingang.
Hier ist der Plan vom Hersteller AI-Thinker vom ESP-01 (ohne Pull-Up):
https://www.microchip.ua/wireless/esp01.pdf
AZ-Delivery hat für das ESP8266-01S Modul diesen Plan (mit Pull-Up):
https://www.tutos.eu/vault/3506ESP8266_01S_Modul_Datenblatt.pdf
Offenbar sind ESP8266-01S und ESP-01S identisch.
Da hat der von mir zitierte Artikel offensichtlich ein falsches
Schaltbild eingefügt, sorry....
Im Schaltbild von AZ sind di ja eindeutig vorhanden. Aber da wurde ein
falsches Bild des ESP abgelichtet.
Ich werde meine ESP8266-01S mal nachmessen.
Sollte aber mit Widerstand sein.
Brain 2.0 schrieb:> Aber da wurde ein> falsches Bild des ESP abgelichtet.
Ja ist mir auch aufgefallen.
Schlampige Doku scheint in China Standard zu sein - immer noch.
Stefan ⛄ F. schrieb:> Schlampige Doku scheint in China Standard zu sein - immer noch.
Das ist nicht notwendigerweise schlampig. Sie machen es halt wie die
meisten C&P-Junkies, nur dass sie auch noch mit der völlig bescheuerten
Schrift zurecht kommen müssen...und das klappt doch mittlerweile schon
richtig gut! Wenn ich an die frühen Dokumente aus China (natürlich nicht
nur von dort, aber...), dann ist man heute richtig begeistert :-)
Gruß Rainer
So zieht das Wasser den Enable Eingang auf LOW (disable) und ohne Wasser
hat der Pin nun wahrscheinlich einen undefinierten Zustand. Ich glaube
nicht das das so funktioniert. Hast du mal die Stromaufnahme
kontrolliert?
Du hast doch sicher ein Multimeter mit dem du die Spannung an Reset+GND
sowie Enable+GND messen kannst. Reset muss immer (annähernd) 3,3V haben.
Und bei Enable bewirken 3,3V dass der Chip aktiv ist und 0V dass er
deaktiviert wird.
Eine sichere und bessere Alternative wäre die Verwendung des analogen
Pins mit einem vorgeschalteten Transistor. So lässt sich auch die
Ansprechschwelle über den analogen Wert bestens einstellen.
Boah bist Du immer so schnell :-)
Also es sind bei beiden immer annähernd 3,3V.
Aber die Software versetzt den ESP ja immer beim Hochfahren direkt in
den DeepSleep. Ist dadurch nicht der Zustand definiert?
Und nur wenn Wasser EN und GND verbindet fährt er wieder hoch, meldet
„Wasserschaden“ und geht direkt wieder in den DeepSleep.
Eigentlich so, wie ich es gerne hätte.
Roger schrieb:> Also es sind bei beiden immer annähernd 3,3V.
Dann hast du offenbar den falschen Widerstand entfernt.
> Aber die Software versetzt den ESP ja immer beim Hochfahren> direkt in den DeepSleep. Ist dadurch nicht der Zustand definiert?
Welcher zustand? Ich habe von den Pegeln an den Eingängen geschrieben.
Wenn die nicht in Ordnung sind kann die Software nicht richtig arbeiten.
> Und nur wenn Wasser EN und GND verbindet fährt er wieder hoch,
Das ist falsch herum, kann eigentlich nicht sein. Schau ins Datenblatt
des ESP8266, wie dort der Enable Eingang beschrieben ist.
> Eigentlich so, wie ich es gerne hätte.
Hast du die Stromaufnahme gemessen?
@Brain 2.0
Deine Vorschläge gehen am Sinn der Schaltung vorbei. Sie soll im
Ruhezustand nur 10µA aufnehmen!
Wie den falschen Widerstand entfernt? Ahhh…
War der einzige, den ich mit 12K finden konnte und er war unmittelbar
neben dem EN Pin, wie von Dir vermutet.
Strommessen muss ich am Sonntag probieren.
Aber derzeit ist es so, dass die Software per HTTP den Befehl in der
Haussteuerung auslöst, wenn ich:
- die Batterie einsetze
- die Kontakte ins Wasser halte
Stecke das Modul mal von allem ab und messe dann mit dem Multimeter im
20kΩ bereich zwischen dem Enable Pin und VCC. Was zeigt dein gerät an?
Wenn du den richtigen Widerstand entfernt hast muss es "0L" (unendlich)
anzeigen.
Hallo Stefan,
sorry hat etwas gedauert.
Du hattest Recht! Hab den falschen Widerstand zerstört.
Der hatte zwar 12K aber zwischen EN und VCC messe ich nun immer noch 12K
:-(
Bin so langsam überfragt...
Wäre denn ein anderes Modul für dieses Projekt zu empfehlen?
Obwohl ich ja von diesen ESP01S noch ein paar zum Testen hätte.
Finde nur leider sonst keinen 12K Widerstand.
Danke, Roger
Roger schrieb:> Wäre denn ein anderes Modul für dieses Projekt zu empfehlen?
Ja, das ESP-01 ohne S.
Ich benutze meistens das ESP-12F, bei dem kann ich mit selbst ausdenken
wo ich welche Pull-Widerstände (extern) anschließe. Dafür ist es etwas
größer.
Hi Stefan,
ich dachte der ESP-01(S) wäre gerade für den Batteriebetrieb des
Wassermelders prädestiniert.
Ist der ESP-12F ähnlich gut für den Batteriebetrieb?
Und funktioniert die obige Schaltung genauso?
Danke, Roger
Roger schrieb:> ich dachte der ESP-01(S) wäre gerade für den Batteriebetrieb des> Wassermelders prädestiniert.
Nee, die S Version ist dafür die falsche, wegen dem Pull-Up Widerstand.
> Ist der ESP-12F ähnlich gut für den Batteriebetrieb?
Ja. Der hat gar keine Pull-Widerstände. Man beachte die Hinweise auf
http://stefanfrings.de/esp8266/index.html#esp12> Und funktioniert die obige Schaltung genauso?
Du musst einen zusätzlichen Widerstand an GPIO15 hinzufügen, wie auf der
Webseite gezeichnet.
Hi Stefan,
wow nicht schlecht! Was würde ich ohne Dich tun :-)
Habe jetzt mal dein Bild von der Webseite versucht anzupassen auf den
Wassermelder.
Passt das so?
VIELEN DANK!
Roger
Roger schrieb:> Passt das so?
Nein völlig falsch. Schau dir dein Bild nochmal an.
VCC ist die Stromversorgung, die hast du durch das Wasser unterbrochen.
Außerdem wolltest du nicht einen 1MΩ Widerstand und einen Kondensator
unterbringen?
Hast du dir Gedanken darüber gemacht, wie du dein Programm (Sketch) in
das Modul downloadest?
Mich wundert, warum du ohne Ahnung dein eigenes Ding drehen willst.
Halte dich doch einfach an die ursprüngliche Anleitung, dann
funktioniert das auch!
> Du musst die beiden Eingänge des ESP-01 Moduls so beschalten:
1
1MΩ
2
+----(Wasser)----+----[===]---+
3
| | |
4
| | 100nF |
5
| +-----||-----+
6
| 2,2kΩ | |
7
+--[===]--+ | |
8
| | | |
9
o o o o
10
VCC 3,3V /Reset Enable GND
> Außerdem empfehle ich einen 100µF Elko direkt an die Anschlüsse> VCC und GND des Moduls zu löten. Je näher er am Chip, umso> besser. Der Kondensator verringert sporadische Aufhänger ganz> erheblich.> Die meisten ESP Module hängen sich auf, wenn die Batteriespannung> unter 2,8V fällt. Das passiert bei zwei AA Zellen recht schnell.> Du musst den Chip nach dem Einlegen der der Batterien einmal> starten, weil er erst danach in den sparsamen Ruhezustand geht.
Hallo Stefan,
sorry für meine elektronische Unwissenheit!
Ich möchte auch gar kein "eigenes Ding" drehen.
Aber Du hattest mir noch den Hinweis gegeben, dass ich den GPIO15
ebenfalls mit einem Widerstand verbinden muss.
Das fehlt mir in dem Originalplan:
1
1MΩ
2
+----(Wasser)----+----[===]---+
3
| | |
4
| | 100nF |
5
| +-----||-----+ ???
6
| 2,2kΩ | | |
7
+--[===]--+ | | |
8
| | | | |
9
o o o o o
10
VCC 3,3V /Reset Enable GND GPIO15
Guter Punkt mit der ESP12F Programmierung....
https://www.amazon.de/dp/B083QHJW21
Habe das gefunden. Ist allerdings ziemlich teuer. Wüßte jetzt aber keine
Alternative.
Danke & Grüße,
Roger
Roger schrieb:> Evtl. so?
Ja
Denke daran dass du zum Firmware download den GPIO0 mit GND verbinden
musst. Bestücke deine Platine dazu am Besten mit einem Taster.
Hallo Stefan!
Habe nun umgestellt auf den ESP-12F.
Der Programmer hat einwandfrei funktioniert.
Beim Start kommt auch die Meldung in meiner Haussteuerung an.
Allerdings habe ich das gleiche Problem wie vorher.
Der Reset funktioniert einfach nicht :-(
Schaltung habe ich wie oben beschrieben aufgebaut.
Würde ein Bild meiner Schaltung was bringen?
Danke & Grüße,
Roger
Welche Spannungen misst du zwischen GND und dem CH_PD Eingang in
a) trockenem Zustand
b) mit Wasser?
> Würde ein Bild meiner Schaltung was bringen?
verdrahtung.jpg reicht mir, wenn du es wirklich so aufgebaut hast.
Florian schrieb:> Ich muss direkt dazu sagen, dass ich eher aus der Informatik-Richtung> komme und Elektrotechnik für mich ein Buch mit 7 Siegeln ist.
Das sollte aber nicht so sein. Wurde irgendwann das Grundstudium
abgeschafft?
Hast du nur die kleinen Spitzen der Dupon Kabel in einen Becher Wasser
gehalten? Die haben womöglich zu wenig Kontaktfläche.
Beim meinem letzten Wassermelder habe ich Kupfer-Folie auf den Boden des
Gehäuses geklebt. Zwei Streifen mit jeweils 1 cm x 6 cm.
> Der Reset funktioniert einfach nicht
Dein Sensor betätigt ja auch nicht den Reset Pin, sondern den Enable
Pin. Also wenn da etwas nicht funktioniert, dann der Start bzw.
Power-Down. Das meintest du vermutlich.
Hallo Stefan,
hab nun Zeit gefunden zu testen.
> Welche Spannungen misst du zwischen GND und dem CH_PD Eingang in> a) trockenem Zustand> b) mit Wasser?
a) 3,3V
b) 3,3V
Ist es ein Unterschied, ob die Kabelenden im Wasser sind, oder direkt
verbunden werden?
Habe auf jeden Fall beides ausprobiert und immer das gleiche Ergebnis
und auch jeweils die 3,3V zwischen GND und EN.
Also der ESP geht ja in den deepsleep Modus und das erwünschte Ergebnis
wäre, dass er neu startet, wenn Wasser die beiden Kontakte verbindet.
Habe auch nochmal die Verkabelung geprüft und ich denke (hoffe), dass
das genauso ist, wie im Bild.
Ich vermute aber mal, dass die 3,3V für a und b nicht korrekt sind :-(
Danke & Grüße,
Roger
Roger schrieb:>> a) trockenem Zustand>> b) mit Wasser?> a) 3,3V> b) 3,3V
Das heißt: Dein Wasser Sensor funktioniert nicht.
Irgend etwas zieht dir deinen Enable Eingang immer noch auf HIGH. Deine
Schaltung entspricht nicht dem Plan.
Kann es sein, dass dieses mir unbekannte Board schon wieder 12kΩ Pull-Up
Widerstände enthält, wie zuvor dein ESP-12S?
> Also der ESP geht ja in den deepsleep Modul
Dieser Pin hat nichts mit Deep-Sleep zu tun, sondern er aktiviert den
Power-Down Modus. Aber bei LOW Pegel (also annähernd Null Volt)! Bei
3,3V ist der Chip hingegen enabled.
Du brauchst am Enable (CH_PD) Pin ohne Wasser LOW Pegel und mit Wasser
HIGH.
Hi Stefan,
es ist das ESP-12F Board.
Wenn ich direkt auf dem Board zwischen EN und VCC den Widerstand messe
(siehe ESP12F.jpg), dann habe ich 3,4MΩ und der Wert steigt stetig???
Wenn ich auf dem Prgrammer Board zwischen EN und VCC den Widerstand
messe (siehe ESP12F-Prgrammer.jpg), dann erhalte ich 8,7KΩ.
Grüße, Roger
Roger schrieb:> und der Wert steigt stetig???
Das kann sein, weil der Chip gerade keine Stromversorgung hat. Durch die
ESD Schutzdioden fließt ungewollt Strom, der diverse Kondensatoren
auflädt.
Roger schrieb:> Wenn ich auf dem Prgrammer Board zwischen EN und VCC den Widerstand> messe (siehe ESP12F-Prgrammer.jpg), dann erhalte ich 8,7KΩ.
Also lass dieses Board weg oder fange nochmal ganz vorn vorne an: Suche
den Widerstand und entferne ihn. Täglich grüßt das Murmeltier.
Roger schrieb:> Was meinst Du mit lass dieses Board weg?> Verkabelung ohne das Programmer Board aufbauen?
Langsam wird es anstrengend.
Du hast festgestellt, dass dein Programmer Board einen Widerstand
enthält, der sich in deinem Anwendungsfall störend auswirkt. Also muss
entweder das ganze Programmer Board weg, oder der Widerstand.
Ich würde das Board unverändert lassen, denn wenn du dort den Widerstand
entfernst, wird der ESP (ohne externe Beschaltung) nicht mehr starten
und deswegen nicht programmierbar sein.
Erinnere dich, warum du vom ESP-01S zum ESP-12F gewechselt hast: Weil du
damit den störenden Widerstand los wirst. Nur hast du dich schon wieder
nicht an meine Empfehlung gehalten. Anstatt ein "nacktes" ESP-12F Modul
hast du ein Board mit zusätzlichen Widerständen darunter gelegt.
Dieser ganze Aufbau funktioniert nur ohne Pull-Up Widerstand am Enable
Pin, denn du willst ihn mit 1 Megaohm herunter ziehen können.
Mehr kann ich dir da auch wirklich nicht mehr helfen. Mache das nach
Plan oder gib das Projekt auf.
Hallo Stefan!
Ich kann verstehen, dass das nervt.
Unwissenheit kann sehr anstrengend sein.
Daher werde ich die Diskussion hier auch einstellen.
Es gibt ja inzwischen in diesem Verlauf sehr viel Information und
zusätzlich ist auf deiner Seite noch jede Menge Material.
Sollte ich irgendwann zum Ziel kommen, werde ich hier noch eine
Erfolgsmeldung posten.
Auf jeden Fall möchte ich mich aber bei Dir für deine Geduld und deine
sehr ausführlichen Antworten bedanken!
Selbst wenn ich das Projekt nicht hinbekommen, habe ich hier einiges
dazu gelernt :-)
Danke & viele Grüße,
Roger
Hallo,
wie die Kollegen schon gesagt haben… erst der ESP01S… (das Problem mit
dem Pullup beim „S“ wusste ich auch nicht, dann der D1 (keine
Alternative zum 12F sondern er ist die Basis, hat noch Einiges mehr
dabei.. z. B. hat er 10k Pullup). Wenn du den D1 verwenden willst,
funktioniert das wenn du den Widerstand auslötest und dann !nicht!
brückst. Für die genaue Schaltung kannst du bei Otto nachschauen…
(Google Suche (otto's technik blog wassermelder) Alles gut erklärt und
läuft bei mir aktuell auf einem D1 mit ausgelotetem Pullup…
wahrscheinlich reicht dir die erste Stufe, kannst du per MQTT -> LWT:
connected abfragen. Dann brauchst du den höheren Spike für hören
Wasserstand nicht bei dir.
Viele Grüße, Andy
Hallo,
herzlichen Dank an Stefan. Bin auch Laie, aber habe die Schaltung
nachgebaut und es funktioniert mit dem ESP01S (ESP01 ohne s sind
offenbar nicht mehr erhältlich).
Vielleicht noch mal die Zusammenfassung, was zu tun ist:
- (Pullup)Widerstand von CH_PD am ESP01s suchen (alle Widerstände gegen
CH_PD messen - wo es 0 Ohm sind oder es beept hat man ihn gefunden -
sicherheitshalber gegen alle Widerstände testen, damit man sich nicht
irgendwo vermessen hat)
- Widerstand ausbrechen mit Zange (oder auslöten) (KEINEN DRAHT
EINLÖTEN!)
- Schaltung gemäß Stefan aufbauen
- Coden (beim Einschalten (=Wasser) einfach per Wifi einen Alarm an MQTT
für Home Assistant senden, mit dem ich dann auch eine Telegram
Benachrichtigung erhalte)
Schöne Grüße
Hannes
Moin Hannes,
ich möchte das Thema noch einmal aufgreifen, da ich aktuell eine
komplette Doku erstelle mit Bildern, für alle die hier Probleme haben.
Aktuell stehe ich vor dem Problem, das ich keine Nachricht auf meine
Home Assistant bekomme.
Könntest du eventuell deinen Code (Arduino) sowie (Home Assistant) als
Muster zur Verfügung stellen?
Ich z.B hänge hier state_topic: egal was ich dort eintrage...
es wird kein Sensor gefunden.