Forum: Mikrocontroller und Digitale Elektronik Wasserstand - Voll und Leer detektieren


von Christoph S. (christoph_s205)


Lesenswert?

Hallo zusammen,

ich hab ein Problem und finde einfach keine passende Lösung! Ich freu 
mich über alle hilfreichen Kommentare.

Folgendes Projekt liegt vor:

Ich habe mir mit dem 3D Drucker ein Gehäuse gedruckt (20x20x20), welches 
mit Wasser befüllt und wieder leergepumpt werden kann.

Voll-Pumpen: Ich nehme eine Pumpe und Pumpe solange Wasser rein bis mein 
Schwimmer (der oben verbaut ist) meldet: Okay, Becken ist voll.

Leer-Pumpen: Hier kommt das Problem - ich kann zwar leerpumpen, erkenne 
aber nicht wann das Becken wirklich leer ist.

Folgende Ideen hatte ich bereits:
- Einen zweiten Schwimmer verbauen kann ich (und will ich aus 
dichtheitsgründen) nicht.

- Über das "Kondensator"-Prinzip, Kabel ins Wasser hängen - es wird 
nicht nur Wasser sein, das fällt auch raus.

- UltraschallSensor - damit könnte ich theoreitsch voll und leer 
detektieren, finde ich aber ebenfalls keine saubere Lösung, mehr als 
"letze Lösung" wenn wirklich nichts anderes zum Erfolg führt

- kapazitiven Füllstandsensor (schon vorhanden, XKC-Y25-V) könnte die 
Lösung sein, aber ich bin mir noch nicht sicher ob der durch das PLastik 
durchreicht

- Wasserdruck messen (könnt ihr mir hierfür Tipps geben wie das am 
besten realisiert wird und mit welchem Sensor?)

Ich hab wirklich schon viel gelesen und recherchiert, aber irgendwie 
fehlt mir die Erfahrung was davon jetzt das "richtige" und robusteste 
ist.

Danke für eure Erfahrungen

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Christoph S. schrieb:
> - Einen zweiten Schwimmer verbauen kann ich (und will ich aus
> dichtheitsgründen) nicht.

Wo soll da das Problem liegen, das der erste Schwimmer nicht hat?

von Fred R. (Firma: www.ramser-elektro.at/shop) (fred_ram)


Lesenswert?

Könntest den Giesomat Sensor ! Testen ! ob der dafür geeignet ist.

von eieiei (Gast)


Lesenswert?

Löschpapier und Zigarettenfolie

von Ingo L. (corrtexx)


Lesenswert?

Kannst du deinen Würfel wiegen? Du gibst ja leider keine Dimension an 
(20x20x20) bzw. wie viel Aufwand willst du treiben?

von Walt N. (belayason)


Lesenswert?

Lösung 1
Den Strom deiner Pumpe messen. Sollte ja ein unterschied zwischen Wasser 
und Luft pumpen sein.

Lösung 2
Flussschalter/sensor in deinem schlauch.

von Fassesnicht (Gast)


Lesenswert?

Drucksensor nach der Pumpe?

von H. K. (spearfish)


Lesenswert?

Christoph S. schrieb:
> - UltraschallSensor - damit könnte ich theoreitsch voll und leer
> detektieren, finde ich aber ebenfalls keine saubere Lösung, mehr als
> "letze Lösung" wenn wirklich nichts anderes zum Erfolg führt

Was ist an einem US-Sensor unsauber? Wird in der Industrie tausendfach 
verwendet. Probleme hat er nur bei Schaumbildung, aber die ist bei 
Wasser kein großes Ding.
Ein US-Sensor ist robust, leicht auszuwerten, leicht einzubauen und 
nicht-invasiv.

von Christoph S. (christoph_s205)



Lesenswert?

Rufus Τ. F. schrieb:
> Christoph S. schrieb:
>> - Einen zweiten Schwimmer verbauen kann ich (und will ich aus
>> dichtheitsgründen) nicht.
>
> Wo soll da das Problem liegen, das der erste Schwimmer nicht hat?

Das Problem liegt daran, dass ich den Füllstandsensor oben-drauf bauen 
will - ich ihn aber nicht "unten rein" bauen kann, weil ja dort alles 
mit wasser geflutet ist und ich ungern ein Loch reinmachen würde, nur 
für den Sensor.
Aus Dichtheitsgründen, wie gesagt. Hab damit im Dauerlauf keine guten 
Erfahrungen gemacht.

@eieiei:
aja. okay.

@Ingo Less:
Daran hab ich auch schon gedacht, Problem ist dass in dem Wasser später 
noch etwas rein soll, dessen Gewicht nicht konstant ist. Da müsste ich 
denke oft nachkalibrieren- Wiegesensor fällt leider aus :-(

Sorry wegen den Maßen, 200mm x 200mm x 200mm
So ist es korrekt.

@ H. K.
ich hab mal ne Zeichnung angehängt, nicht die besten aber hab keine 
anderen zur Hand aktuell.
Du meinst quasi den Schwimmersensor ersetzen durch einen 
Ultraschallsensor und damit voll und leer detektieren??

@Walt Nus
Puh, Strom messen, gute Idee. Aber die Umsetzung mit der 12V Pumpe :-/
Hab evtl. vor nen ESP8266 zu nehmen, der hat keinen ADWandler.
Was haltet ihr anderen von der Idee? Könnte das funktionieren?

Aber die Idee mit dem Durchflusssensor ist spannend - aber ich bin mir 
nicht sicher ob so ein Durchflussensor sich bei Luft auch bewegt? Die 
Pumpe pumpt ja womöglich - wenn kein Wasser mehr da ist - Luft und 
erzeugt so einen Luftstrom der das keine Windrädchen im Sensor bewegt?


@Fassesnicht
Drucksensor könnte ich auch direkt anbringen, aber hab keinen günstigen, 
wasserdichten gefunden der so nen kleinen Druckbereich hat dass er das 
detektieren könnte :-(
Kennst du zufällig einen?

von Der Andere (Gast)


Lesenswert?

Man kann auch "unten" einen Schwimmer einbauen, der über ein kleines 
Gestänge den Mikroschalter "oben" über dem Wassserstand auslöst.
Dazu muss man keinerlei Loch in das Gefäß bohren, oben ist esd ja offen.
1
G
2
G    Schalter
3
GX      |
4
GX      |
5
GX      |
6
GX      |
7
GX      |
8
GX      |   
9
GO--SSSSSSSSS
10
GX
11
GGGGGGGGGGGGGGGGGGGGG

Mit
G = Behälterwand
X = Halterahmen für den Schwimmer, steht in Behälter, schwer genug dass 
Schimmer untertaucht
O = Scharnier von Schwimmer an Halterahmen
| = kleines Gestänge

von Christoph S. (christoph_s205)


Lesenswert?

Der Andere schrieb:
> Man kann auch "unten" einen Schwimmer einbauen, der über ein
> kleines
> Gestänge den Mikroschalter "oben" über dem Wassserstand auslöst.
> Dazu muss man keinerlei Loch in das Gefäß bohren, oben ist esd ja offen.

Coole Idee. Den Anschluss kann ich ja direkt ins Gehäuse mitrein 
drucken.
Das lass ich mir nochmal genauer durch den Kopf gehen!

von Ralf S. (Gast)


Lesenswert?

Vielleicht wäre es eine Lösung, an den Schwimmer (also reiner 
Auftriebskörper ohne Schalter etc.) einen Magneten zu kleben. 
Positions-Detektion dann am Gehäuse außen über zwei Reed-Kontakte für 
Min/Max bzw. Voll/Leer.

von Der Andere (Gast)


Lesenswert?

Noch eine Idee:
Schau dir mal die Wasserbehälter bei Kaffevollautomaten von De Longhi an 
(Geh dazu z.B. in den Mediamarkt).
Die haben meist an einer Ecke innen eine Art Rohr in dem ein Schwimmer 
mit einem Magnet sich ca. 1cm auf und ab bewegen kann. Der Schwimmer 
löst damit durch die Kunststoffwand aussen ein Reedrelais aus.

von Christoph S. (christoph_s205)


Lesenswert?

Ralf S. schrieb:
> Vielleicht wäre es eine Lösung, an den Schwimmer (also reiner
> Auftriebskörper ohne Schalter etc.) einen Magneten zu kleben.
> Positions-Detektion dann am Gehäuse außen über zwei Reed-Kontakte für
> Min/Max bzw. Voll/Leer.

ich muss mir erstmal bisschen zu "Reed-Kontakte" durchlesen aber danke 
für den Anreiz!

@der andere:
Das könnte ich mir ja auch ziemlich leicht selber drucken, damit könnte 
ich mir sogar den schwimmer sparen! Coole Idee schau ich mir gleich 
heute mal an, danke

: Bearbeitet durch User
von Daniel F. (df311)


Lesenswert?

leg/kleb einen sensor auf den boden des behälters und verlg das kabel im 
schacht für den voll-sensor?

z.b. reichelt GRV-WATER-SENS

und überleg dir was bei einer unterbrechung der sensorleitungen passiert 
(einzelfall unterscheidung oben/unten)

von Der Andere (Gast)


Lesenswert?

@ Christoph Sagnix
Es wäre schön, wenn du dann deine Lösung dann hier noch mal kurz posten 
würdest.
Viel Erfolg

von Christoph S. (christoph_s205)


Lesenswert?

Daniel F. schrieb:
> GRV-WATER-SENS
Hab ich leider nicht ganz verstanden wie ich den Sensor ohne kurzschluss 
verbauen soll


Der Andere schrieb:
> @ Christoph Sagnix
> Es wäre schön, wenn du dann deine Lösung dann hier noch mal kurz posten
> würdest.
Gerne, mach ich.

von Mick (Gast)


Lesenswert?

Eine ganz andere Idee wäre ein Infrarot Abstandsensor.
Das hier wäre ein fertiges Modul, das du über I2C ansteuern kannst: 
https://www.sparkfun.com/products/12787
(Da gäbe es aber noch günstigere Module)
Der Messbereich liegt genau in deinen Anforderungen. Evtl. benötigst du 
doch noch eine Schwimmerkapsel, damit die Messungen sauber ausgeführt 
werden können.

von Christoph S. (christoph_s205)


Lesenswert?

Mick schrieb:
> Eine ganz andere Idee wäre ein Infrarot Abstandsensor.
> Das hier wäre ein fertiges Modul, das du über I2C ansteuern kannst:
> https://www.sparkfun.com/products/12787
> (Da gäbe es aber noch günstigere Module)
> Der Messbereich liegt genau in deinen Anforderungen. Evtl. benötigst du
> doch noch eine Schwimmerkapsel, damit die Messungen sauber ausgeführt
> werden können.

Die Infrarot Abstandssensor-Idee geht ja auch mehr in die 
UltraschallAbstandssensor-Idee, gefällt mir aber auch sehr gut, vorallem 
ist der Sensor schön klein :-)

Ich wollte bei diesem Projekt eigentlich das erste mal mit Interrupts 
ordentlich arbeiten um eine Statusänderung der Sensoren so schnell wie 
möglich zu detektieren.

Ich schau mir den Sensor aber später mal genauer an, vielleicht ist das 
auch genau was ich suche :-) Danke für den Tipp!!

von georg (Gast)


Lesenswert?

Christoph S. schrieb:
> das erste mal mit Interrupts
> ordentlich arbeiten um eine Statusänderung der Sensoren so schnell wie
> möglich zu detektieren.

Ändert sich dein Wasserstand innerhalb von µSekunden?

Georg

von H. K. (spearfish)


Lesenswert?

Christoph S. schrieb:
> @ H. K.
> ich hab mal ne Zeichnung angehängt, nicht die besten aber hab keine
> anderen zur Hand aktuell.
> Du meinst quasi den Schwimmersensor ersetzen durch einen
> Ultraschallsensor und damit voll und leer detektieren??

https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf

Oben montieren und auf die Wasseroberfläche "schauen" lassen. Laufzeit 
des Signals = Abstand der Wasseroberfläche.

von Christoph S. (christoph_s205)


Lesenswert?

georg schrieb:
> Christoph S. schrieb:
>> das erste mal mit Interrupts
>> ordentlich arbeiten um eine Statusänderung der Sensoren so schnell wie
>> möglich zu detektieren.
>
> Ändert sich dein Wasserstand innerhalb von µSekunden?
>
> Georg
Ne, das nicht. Aber mein Ziel bei meinen Projekten ist immer auch etwas 
neues dazu lernen, deshalb wollte ich mit Interrupts arbeiten.

H. K. schrieb:
> ben montieren und auf die Wasseroberfläche "schauen" lassen. Laufzeit
> des Signals = Abstand der Wasseroberfläche.
Den Sensor hab ich sogar noch paar mal daheim liegen - könnte defintiv 
die Lösung sein :-) aber der Infrarotsensor wäre kleiner.

von Mr. Ahnungslos (Gast)


Lesenswert?

Wenn da ohnehin schon ein Schwimmer in einem Kanal ist der bis zum Boden 
reicht... warum misst du dann nicht auch die Position unten und nicht 
nur oben? Mach den Schwimmer aus Metall, und du kannst ihn Berührungslos 
von außen detektieren.

von Gerhard O. (gerhard_)


Lesenswert?

Hier ist ein Link zu einem ähnlichen Beitrag von mir:

Beitrag "Re: Zeigt her eure Kunstwerke (2015)"

Funktioniert schon drei Jahre einwandfrei. Eine programmierbare
Nachlaufverzögerung ermöglicht praktisch fast komplettes Leerpumpen des 
Behälters.

: Bearbeitet durch User
von Harald W. (wilhelms)


Lesenswert?

Christoph S. schrieb:

> Das Problem liegt daran, dass ich den Füllstandsensor oben-drauf bauen
> will

Und wieso kannst Du Deinen Schwimmerschalter für "Leer" nicht
von oben einbauen? Ich denke da an eine Ausführung mit Plastik-
Rohr und eingebautem Reedschalter auf dem ein schwimmfähiger
Toroid mit eingebautem Magnet auf und abgleitet.

von HildeK (Gast)


Lesenswert?

Ich hab mal einen kleinen Versuch gemacht mit QTouch.
Ein zweiadriges Kabel (0.5mm²) als Schleife gebogen, um keine Probleme 
mit der Dichtheit zu haben, einen Leiter als GND, den andern als Sense.
Geht mit Wasser ganz gut, Auflösung je nach Kabelausführung <1cm.
Das kann aber problematisch sein, wenn unterschiedliche Flüssigkeiten 
behandelt werden sollen, weil das eps_r vom Medium abhängig ist.

von Gerhard O. (gerhard_)


Lesenswert?

Harald W. schrieb:
> Und wieso kannst Du Deinen Schwimmerschalter für "Leer" nicht
> von oben einbauen? Ich denke da an eine Ausführung mit Plastik-
> Rohr und eingebautem Reedschalter auf dem ein schwimmfähiger
> Toroid mit eingebautem Magnet auf und abgleitet.

Es gibt auch Dual Ausführungen. Hier ist ein Beispiel:

https://www.ebay.com/itm/150mm-AC110V-Stainless-Steel-Liquid-Level-Sensor-Dual-Ball-Float-Switch/162956632821?epid=28016918248&hash=item25f0f8e2f5:g:UgEAAOSw2Ptasa~S

von Gerhard O. (gerhard_)


Lesenswert?

HildeK schrieb:
> Ich hab mal einen kleinen Versuch gemacht mit QTouch.
> Ein zweiadriges Kabel (0.5mm²) als Schleife gebogen, um keine Probleme
> mit der Dichtheit zu haben, einen Leiter als GND, den andern als Sense.
> Geht mit Wasser ganz gut, Auflösung je nach Kabelausführung <1cm.
> Das kann aber problematisch sein, wenn unterschiedliche Flüssigkeiten
> behandelt werden sollen, weil das eps_r vom Medium abhängig ist.

Das könnte diesbezüglich von Interesse sein:

http://researchrepository.murdoch.edu.au/id/eprint/21673/

von Christoph S. (christoph_s205)


Lesenswert?

Gerhard O. schrieb:
> Es gibt auch Dual Ausführungen. Hier ist ein Beispiel:
Hab ich noch gar nicht gewusst, danke für den Tip & Danke für den Link!

Erstmal danke an alle die sich die Mühe gemacht haben mir zu antworten, 
waren wirklich viele neue Ideen dabei!! DANKE!

Die Lösungen, welche ein höheres Maß an mechanischen Bauteilen benötigen 
habe ich erstmal verworfen, der Teil hier ist nur ein kleiner Teil des 
Gesamtprojektes und ich denke der Mehraufwand kostet mich zuviel Zeit.
Keep it as simple as possible ist hier mein Motto.

Ich hab mich jetzt für eine optische Abstandsmessung entschieden, damit 
kann ich mir den oberen Schwimmersensor sparen und kann mit einem Sensor 
direkt beide Zustände detektieren (VOLL und LEER) und hab noch die 
Möglichkeit die Füll- und Entleervorgänge zu überwachen - perfekt!

Interrupts fallen damit zwar weg, aber :-) dann mach ich das eben im 
nächsten Projekt.

Soweit ich das Recherchieren konnte gibt es für mich folgende Sensoren 
(in meinem Preisbereich + Verfügbarkeit):

Ultraschall:
- HC-SR04 
(https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf)
- SRF05 
(http://www.embedded.arch.ethz.ch/uploads/Examples/ExampleSensorboardSupersonic2/SRF05Datasheet.pdf)
- SRF10 (http://www.robotikhardware.de/download/srf10doku.pdf)
- SRF02 
(http://www.mikrocontroller-elektronik.de/entfernung-messen-mit-ultraschallsensor-srf02/)

Infrarot:
- GP2Y0A710K0F von Sharp 
(https://www.parallax.com/sites/default/files/downloads/28998-Sharp-Datasheet-gp2y0a710k_e.pdf)
- APDS-9960 
(https://cdn.sparkfun.com/assets/learn_tutorials/3/2/1/Avago-APDS-9960-datasheet.pdf)
- IS471 Infrarot Distanzsensor 
(http://www.mikrocontroller-elektronik.de/is471-infrarot-distanzsensor/)

Welcher es wird, weiß ich noch nicht, ich tendiere aber aktuell eher zu 
Infrarot Sensorik, weil ich mir nicht sicher bin ob Ultraschall 
fokusiert genug ist um genaue Ergebnisse zu bringen.
Muss aber erstnoch bezüglich Reichweite und Genauigkeit weiter schauen.

Ich halte euch gerne aufm laufenden was ich (meine) rausgefunden hab - 
vielleicht hilft es ja später jemand.

Falls ich einen Sensor vergessen habe freu ich mich natürlich über einen 
Hinweis.

: Bearbeitet durch User
von Christoph S. (christoph_s205)


Angehängte Dateien:

Lesenswert?

Kann meinen Beitrag leider nicht mehr editieren, wollte nur der 
vollständigkeit schreiben:

Ich hab mir jetzt diesen Sensor hier gekauft:

GP2Y0A41SK0F
https://www.pololu.com/file/0J713/GP2Y0A41SK0F.pdf

von Lothar M. (Gast)


Angehängte Dateien:

Lesenswert?

Ich verstehe nicht, warum man zum Erkennen, voll oder leer, einen 
Schwimmer, Ultraschall oder IR-Sensor benutzen sollte.

Einfach nur voll oder leer zu erkennen, ist mit ein paar Bauteilen 
bewerkstelligt.

Ich benutze dazu gezeigtes Gerätchen. Damit fülle ich einen Kessel und 
wenn der Wasserstand den Fühler erreicht, schaltet ein Magnetventil die 
Wasserzufuhr ab.
Das Dingelchen funzt schon seit Jahren einwandfrei.

Genau dasselbe kann man für den Zustand leer nehmen.

von Christoph S. (christoph_s205)


Lesenswert?

Und wie empfiehlst du mir den Fühler (was ist denn genau dein Fühler?) 
anzubringen?

von Lothar M. (Gast)


Lesenswert?

Der Fühler ist einfach nur ein Stück Metall aus Edelstahl.

Wenn der Wasserstand "yoll" immer an der gleichen Stelle ist, dann 
kannst du dort einfach eine Schraube anbringen.

Ebenso beim Wasserstand leer.

Wenn der Behälter aus Plastik ist, dann  musst du noch eine Masse/Erde 
am Boden anbringen.
Das kann ebenfalls eine Schraube sein.

Bei mir sieht das so aus: Der Behälter ist ein 100l-Kochtopf mit 
Auslaufhahn.
Selbiger ist natürlich geerdet, sodass ich nur den eigentlichen Sensor 
brauche. Dieser besteht aus einem Stäbchen Edelstahl welches mit 
Schrumpfschlauch isoliert wurde, bis auf die Spitze.
Durch ein Loch im Deckel kann ich das Stäbchen auf verschiedene Höhen 
schieben, somit verschiedene Wasserstände einstellen.
Sobald das Wasser, welches über den Auslaufhahn zugeführt wird, die 
Spitze des Stäbchens erreicht, schaltet das Magnetventil die 
Wasserzufuhr ab.

Bei dir ist es aber noch einfacher, du brauchst eben nur eine Schraube 
als Sensor.

von Daniel F. (df311)


Lesenswert?

Lothar M. schrieb:
> Genau dasselbe kann man für den Zustand leer nehmen.

eine "voll"-erkennung sollte man so aber m.e. nicht als schließer 
machen:
wenn der "voll" sensor ein schließer-kontakt ist, dann wird bei einem 
problem mit der verbindung (abgesteckt, kabelbruch, ...) niemals "voll" 
erkannt und die zufuhr bleibt offen.

von Der Andere (Gast)


Lesenswert?

Lothar M. schrieb:
> Einfach nur voll oder leer zu erkennen, ist mit ein paar Bauteilen
> bewerkstelligt.

Ein mit DC gespeiste Elektrode die dauerhaft in der Flüssigkeit hängt 
wird korrodieren. Selbst Edelstahl korrodiert weil durch das Salz im 
Wasser elementares Chlor entsteht. Ausserdem elementarer Sauerstoff.

Bei sowas nimmt mal Wechselstrom

von Lothar M. (Gast)


Lesenswert?

Daniel F. schrieb:
> eine "voll"-erkennung sollte man so aber m.e. nicht als schließer
> machen:
> wenn der "voll" sensor ein schließer-kontakt ist, dann wird bei einem
> problem mit der verbindung (abgesteckt, kabelbruch, ...) niemals "voll"
> erkannt und die zufuhr bleibt offen.

Hier geht es zunächst nur um die Erkennung voll oder leer.

Mit meiner Schaltung wird ein Relais geschaltet, welches wiederum das 
Magnetventil schaltet. Solche Relais haben naturgemäss Umschaltkontakte.
Da kannst du dir aussuchen, ob im Schaltzustand ein Schliesskontakt oder 
ein Öffner aktiviert wird.
Ich habe die Schaltung so ausgelegt, dass bei Inaktivität (stromlos) das 
Magnetventil (NC) geschlossen ist.

Will ich den Kessel füllen, gebe ich der Schaltung einfach ihre 
Versorgungsspannung. Ein leerer Kessel lässt sofort das Relais anziehen 
welches wiederum das Magnetventil aktiviert.
Erreicht der Wasserstand den Fühler, fällt das Relai wieder ab und das 
Magnetventil schliesst. Genau das geschieht auch z.B. bei Stromausfall.

von Lothar M. (Gast)


Lesenswert?

Der Andere schrieb:
> Ein mit DC gespeiste Elektrode die dauerhaft in der Flüssigkeit hängt
> wird korrodieren. Selbst Edelstahl korrodiert weil durch das Salz im
> Wasser elementares Chlor entsteht. Ausserdem elementarer Sauerstoff.

Da kannst du bei meiner Schaltung aber lange warten.

Der Sensor bekommt über einen 470k Widerstand eine Spannung von ~1,5V.
Die 1,5V brechen sofort weg, wenn Wasser ansteht und es fliesst nurnoch 
der Strom über einen 470k Widerstand.
Die Schaltung funzt auchnoch mit einem 1Meg Widerstand, dank des 
Darlington.

Da kannst jetzt mal ausrechnen wieviele Jahrzehte es braucht bis eine 
Edelstahlschraube korrodiert ist.

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.