Wassersensor Beschaltung

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen,

    ich versuche mich derzeit an der Installation eines Wasseralarmsystems auf Basis eines PI 3.

    Mein Ziel ist es im Keller an 3 verschiedenen Stellen Wassersensoren (Kabellänge 10m) anzubringen und vom PI überwachen zu lassen.

    Sobald einer der Sensoren unter Wasser steht (-> elekt. leitet) soll eine Meldung per Mail rausgehen.

    Nachdem erste Tests zwar erfolgreich waren und auch das Ablaufprogramm in Node-Red wunderbar läuft,

    komme ich nun bei der finalen Beschaltung nicht weiter.

    Den erschreckend simplen Schaltplan habe ich schematisch angehängt, die Idee ist folgende:

    • Ein Wassersensor hat, im Wasser hängend, einen Widerstand von ca. 400kOhm.
    • Mittels 1MOhm Pullup-Widerstand bau ich mir einen Spannungsteiler, dh.
      • Wenn Sensor(/Schalter) offen --> GPIO wird auf 3,3V gezogen -> HIGH
      • Wenn Sensor(/Schalter) geschlossen --> am GPIO liegen 0,95V an -> LOW??

    Nun zeigt sich folgendes Verhalten: Sobald der Sensor mit Wasser in Kontakt kommt, wechselt der GPIO auf LOW, bleibt dort für einige Sekunden und fängt dann an zu flackern.

    Meine Vermutung ist, dass die 0,95V nicht klein genug sind um den GPIO dauerhaft und sicher auf LOW zu ziehen.

    Als mögliche Problembehebung habe ich nun überlegt ein Relais dazwischenzuschalten, sodass ich am GPIO nur einen Pullup-Widerstand + Schalter angeschlossen habe, siehe angehängter Lösungsansatz. Oder reicht bereits ein größer dimensionierter Pullup-Widerstand?

    Sind die Gedanken so korrekt oder bin ich da auf dem Holzweg?

    Ist der angehängte Lösungsansatz die richtige Schaltung diese Problemstellung?

    Über eure Hilfe würde ich mich sehr freuen!!

    Grüße

    Jonas

  • Hallo Jonas,

    ein paar Infos:

    HIGH ist eine Spannung von > 1,3 bis 3,3 V

    LOW ist eine Spannung von 0 bis 0,8 bzw. 0,9 V (je nach Modell)

    Dazwischen ist es undefiniert.

    Wie sieht mit diesen Informationen der Widerstand für den Spannungsteiler aus?

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo Andreas,

    vielen Dank für den Tipp!

    Das heißt wenn ich den Pullup-Widerstand auf 2MOhm erhöhe komme ich auf ein "LOW-Level" von ca. 0,55V.

    Damit müsste ich mit ausreichender Sicherheit unter der Schaltgrenze liegen, so korrekt?

    Bekomme ich bei derart großen Widerständen/kleinen Strömen keine Probleme was Störeinflüsse o.Ä. angeht? Die Kabel der Wassersensoren verlaufen teilweise mit 230V-Leitungen im Kabelkanal.

    Grüße

    Jonas

  • Wäre es nicht einfacher, du legst zwei Drähte dicht nebeneinander. Tocken leiten die nicht, wenn sie nass werden, leiten sie. Zur Sicherheit kannst du sie auch mit einige Körnchen Salz in ein Stück Küchenpapier wicken (du kannst es das Papier auch mit konzentrierter Salzlösung tränken und trocknen...). An die eine Seite schließt du 3,3 V, die andere kommt an den GPIO. Unabhängig vom Widerstand der Salztunke hast du dann 3,3 V am Eingang und sparst dir den Aufwand mit dem Spannungsteiler.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Ja, aber nur am Anfang und ungebraucht.

    Ich fürchte, der Widerstand ändert sich

    - durch Elektrolyse und Oxydation.

    Er hängt ja nicht Jahrelang im Wasser... im Gegenteil... es soll ja trocken sein und nur Alarm schlagen, wenn Wasser auftritt.
    Ein versilberter Draht sollte auch die Luftfeuchtigkeit aushalten.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Danke für euer Feedback!

    Wäre es nicht einfacher, du legst zwei Drähte dicht nebeneinander. Tocken leiten die nicht, wenn sie nass werden, leiten sie. Zur Sicherheit kannst du sie auch mit einige Körnchen Salz in ein Stück Küchenpapier wicken (du kannst es das Papier auch mit konzentrierter Salzlösung tränken und trocknen...). An die eine Seite schließt du 3,3 V, die andere kommt an den GPIO. Unabhängig vom Widerstand der Salztunke hast du dann 3,3 V am Eingang und sparst dir den Aufwand mit dem Spannungsteiler.

    Schaltungstechnisch sah mein erster Testaufbau genau so aus, jedoch hatte ich mehrmals gelesen, dass ein Pullup/down-Widerstand eingesetzt werden soll, gerade bei den langen Leitungen von 10m. Müsste ich mal testen ob das so funktioniert.

    Grundsätzlich ändert das Salzpapier ja aber nur den Leitungswiderstand, müsste es denn dann nicht auch ohne funktionieren?

    Ich meine das schon erfolglos getestet zu haben, werde ich aber nochmal probieren (Sensor direkt zwischen 3,3V und GND).

    Ja, aber nur am Anfang und ungebraucht.

    Ich fürchte, der Widerstand ändert sich

    - durch Elektrolyse und Oxydation.

    Servus !

    Da das explizite Wassersensoren sind, hoffe ich das nicht. Die Kontaktenden sehen korrosionsbeständig aus.

    Deshalb, und wegen des robusten mechanischen Aufbaus der Sensoren würde ich diese auch gerne verwenden. Da sie in Schächten eingebaut werden sollten Sie zuverlässig als Frühwarner funktionieren, auch nach mehrmaligem Wasserkontakt.

    Gnom das ist auch der Grund warum ich die Variante mit Drähten und Salzpapier gerne vermeiden würde.

    Grüße

    Jonas

  • Also das Schaltbild mit dem Relais würde ich mal schnell wegwerfen bevor es einer sieht! ;( ;)

    Das Relais braucht einen gewissen Strom um anzuziehen. Bei 400kOhm und 3,3 Volt bist Du irgendwo im Mikroampere-Bereich. Das klappt nicht.

    Bei Deinem Schaltbild mit dem Pullup-Widerstand musst Du den Eingangsstrom der Raspi mit einberechnen. Somit hast Du dann einen Spannungsteiler. Allerdings würde ich es eher mit Versuchen machen. Mal mehr, mal weniger probieren und gucken was klappt.

    Die 10m Kabellänge spielen an sich keine Rolle. Die Störstrahlung der benachbarten kabel aber bestimmt. Nimm da abgeschirmtes Kabel. Den Schirm entweder auf einer Seite oder auf beiden Seiten auf Masse ( Schutzleiter?) legen. Gucken was besser ist.

    Gruss,

    Achim

  • Also, wenn der Widerstand im Wasser 400 Ohm ist und ohne Wasser ist er ungefähr unendlich, dann brauchst du kein Salz. (Ne Überschwemmung mit destillierte, Wasser wäre aber echt blöd dann. ;- )

    Wenn du einen Pullup verwendest und ein LOW-Signal von höchstens 0,8 V haben willst, dann kannst du den Pullup berechnen. Die Spannungen an den beiden Widerständen stehen im gleichen Verhältnis wie die Widerstände selbst.

    (3,3 - 0,8) / 0,8 < x / 400000

    2,5 / 0,8 * 400000 < x

    1,25 MOhm < x

    1 MOhm ist also zu wenig

    Ein Pulldown mit mindestesn 1,3 V Signal würde so aussehen:

    1,3 / (3,3 - 1,3) < x / 400000

    => 1,3 / 2 * 400000 < x

    => 260000 < x

    Hoffe, ich hab mich nicht verdusselt bei der Rechnerei.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Man könnte die Schaltung auch mit einem Transistors umsetzen, wo der Wassersensor diesen über die Basis steuert. Einfache Schaltungsbeispiele dazu sollten sich eigentlich im Netz finden lassen.

    Macht aber keinen großen Unterschied...

    Einen Pulldown oder Pullup (je nach Beschaltung) brauchst du am Transistor auch und die BE-Spannung (ca. 0,7 V) muss ebenfalls entsprechend unter-/überschritten werden.
    Wenn man allerdings einen Optokoppler einsetzen will, geht das tatsächlich nur über den Transistor. Andererseits frag ich mich, vor was der Optokoppler in dem Fall schützen soll... Es wird ja hoffentlich keiner die Sensorenden in die Steckdose stecken... Naja, Blitzschlag im Abwasserschacht... wer weiß... ;)

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Wow, danke für eure Tipps!

    Ich werde mich morgen mal dransetzen und die Variante mit größerem Pullupwiderstand (+-2MOhm) testen,

    Transistor/Optokoppler müsste ich mir ohnehin erst besorgen... Ich werde berichten!!

    P.S. mit destilliertem Wasser oder Blitzschlag ist nicht zu rechnen, hoffentlich... ^^

    Grüße

    Jonas

  • Du schreibst was von "Schächten"? Wie hoch steigt denn das Wasser dort im Falle des Falles?

    Sehr viel robuster als diese Stromleitkontakte sind Schwimmschalter - es gibt da Varianten mit einem schwimmenden Ringmagnet, der einen Reed-Kontakt schaltet. Da reichen wenige cm Wasser und die sind sehr zuverlässig. Die Schaltmechanik und Elektronik kommt hier mit dem Wasser nicht in Berührung. (Ich hab sowas in einer Klimaanlage gefunden - in Verbindung mit einer Pumpe, die das Kondenswasser wegpumpt.)

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Du schreibst was von "Schächten"? Wie hoch steigt denn das Wasser dort im Falle des Falles?

    Sehr viel robuster als diese Stromleitkontakte sind Schwimmschalter - es gibt da Varianten mit einem schwimmenden Ringmagnet, der einen Reed-Kontakt schaltet. Da reichen wenige cm Wasser und die sind sehr zuverlässig. Die Schaltmechanik und Elektronik kommt hier mit dem Wasser nicht in Berührung. (Ich hab sowas in einer Klimaanlage gefunden - in Verbindung mit einer Pumpe, die das Kondenswasser wegpumpt.)

    Die Schächte sind unterschiedlich, im Schnitt ca. 70cm tief bei 50cm Durchmesser. Am Schachtboden sitzt jeweils eine Pumpe die einlaufendes Grundwasser wegpumpt. Nach Murphys Gesatz fällt so eine Pumpe allerdings auch immer mal wieder aus (schon 2x passiert) was dann erst auffällt wenn das Wasser im Keller steht. :X

    Zum Glück ist es nicht der eigene Keller, aber mein Bekannter hatte eben diese 3 Sensoren gekauft mit dem Kommentar "mach mal" ;)

    Wie gesagt, morgen teste ich mit meinem vorhandenen Equipment ob ich eine funktionierende Schaltung hinbekomme, wegen der Robustheit der Sensoren mache ich mir aktuell die wenigsten Sorgen.

    Grüße

    Jonas

  • So, kleiner Zwischenstand, habe heute leider nur kurz testen können:

    Erster Test mit nur einem angeschlossenen Sensor (mit 2MOhm Pullup) war erfolgreich,

    Sensor hat ohne zu Flackern sauber geschalten.

    Danach die anderen beiden Sensoren dazugeschalten (siehe Schaltplan im Anhang).

    Auch das war zunächst erfolgreich, je länger ich allerdings getestet habe, desto eher haben die Eingänge im geschlossenen Zustand (Sensor im Wasser) wieder geflackert. Grundzustand (Sensor aus dem Wasser) sah weitestgehend stabil aus.

    Bei nächster Gelegenheit werde ich nochmal ausgiebiger testen, ggf. finde ich den Störeinfluss (ggf. umliegende Stromleitungen, schwankender Durchgangswiderstand im Wasser, LOW-Spannung zu nah an 0,8V, ungünstiger Sonnenstand, whatever...).

    Die Schaltung ist so ja grundsätzlich korrekt, oder?

    Anbei auch Fotos von Schacht und Sensor ;)

    Grüße

    Jonas

  • Du kannst es mit noch größeren Widerständen probieren, aber wahrscheinlich ist der Gesamtwiderstand jetzt bereits so groß, dass schon ein bisschen Luftfeuchtigkeit oder Kondenswasser das Ganze wieder stört.

    Ich halte die Sensoren für ungeeignet. Besorg dir ein paar ordentliche Schwimmschalter. Mit der Leitfähigkeit hast du nur Probleme.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo Jonas,

    aus welchem Material bestehen die Sensoren?

    Ich frage deswegen, weil wenn Du dort eine Spannung anlegst, um die Leitfähigkeit zu messen, dann spielen sich an der Elektrodenoberfläche Polarisationseffekte ab, die den Widerstand erhöhen, dem angelegten Feld entgegengesetzt sind, die Spannung verringern - und letztlich (wenn das Material nicht zu edel ist) mit einer Oxidschicht versehen (die dann wieder nicht leitend ist und den Widerstand erhöht).

    Du schriebst ja "je länger".

    Wenn diese von mir geschilderten Effekte eine Rolle spielen, dann solltest Du überlegen, eine Wechselspannung zu überlagern. Über die GPIO würdest Du dann einen Transistor / Relais / Optokoppler schalten, über den die Gleichspannung mit überlagerter Wechselspannung dann geschaltet wird.

    Oder edleres Material verwenden.

    Oder Du verwendest die hier im Forum vorgestellte Lösung von Zentris (Thread irgendwie mit Messung der Feuchtigkeit in Blumentöpfen). Der Sensor ist in Glas und misst kapazitive Änderungen bei wechselndem Feuchtestand. Ich habe die Teile mal in Händen gehalten und damit gemessen. Die Messwerte zwischen trocken / luftfeucht und nass / in Wasser stehend sind sehr reproduzierbar. Für Deinen Zweck sind diese Sensoren wohl die beste Lösung.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo zusammen,

    aus welchem Material bestehen die Sensoren?

    Habe gerade den Sensor im Netz gefunden: H-Tronic Wassersensor WS 10

    Die Elektroden sind laut Webseite aus Edelstahl (chlor- und salzwasserbeständig (Edelstahl AISI 316 / V4A)), zeitabhängige Widerstandschwankungen sollten damit denke ich ausgeschlossen sein.

    In den nächsten Tagen werde ich nochmals prüfen/testen, GPIO-Eingangs-Spannung mit Multimeter überprüfen etc. pp.

    Langsam denke ich, dass die Konstellation so einfach nicht prozesssicher ist (großer Sensorwiderstand --> winziger Messstrom, Störeinflüsse im Kabelkanal..., Regenwasser mit geringer Leitfähigkeit).

    Falls es in der aktuellen Konstellation nicht hinhaut habe ich ein paar Alternativen im Kopf (danke euch!):

    - Schwimmersensoren (--> kleiner Übergangswiderstand, dadurch Probleme hofentlich behoben)

    - Ansteuerung des GPIO indirekt über Transistor

    - Externe Spannungsquelle mit mehr Power für die Sensoren

    Wenn der interne Pulldown Widerstand weggeschaltet wird, wahrscheinlich schon.

    Guter Hinweis, muss ich nochmal checken, bin mir aber fast sicher dass ich die ausgeschalten hatte.


    So Long, am Wochenende gehts weiter :conf:

    Gruß

    Jonas

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!