Wasserstandmessung über Pegelrohr

OP #5384280
Hallo,

ich habe bei meinem Pool ein Pegelrohr eingebaut, was den Wasserstand im 
Pool anzeigt: 0..1500mm. Das Pegelrohr hat einen Aussendurchmesser von 
20mm, Innen 16mm und befindet sich im Keller womit es keine 
Feuchtigkeitsprobleme geben sollte.

Nun stehe ich vor dem Rätsel wie am besten das Analog/Digital 
auszuwerten.

Ich habe probiert:
10-Gang Poti mit Seil, Schwimmer und Gegengewicht.
Hier ist das Problem, dass der Schwimmer recht schwer sein muss (>100g) 
um das Poti vernünftig anzutreiben. Das bedeutet auch das die 100g 
schwimmen müssen und das ist in einem 16mm Rohr schon fast unmöglich da 
die Oberfläche so klein ist.
Zusätzlich gibt es das Problem, dass zwar das Poti Absolut messen würde 
die Schnur aber durchrutschen könnte und die Messung dann nicht mehr 
passt.

Dann bin ich auf die Differnezdruckmessung ausgewichen.
Doch hier gibt es mehr Probleme wegen benötigter Pumpe für die 
Einperltechnik, Temperaturunterschiede usw. Auch war die Auflösung bei 
+-15mm.
Da kann ich mir den Aufwand sparen.

Dann habe ich mir die Kapazitive Messung angesehen.
Diese geht eigentlich recht genau, von Toleranzen abgesehen...
Jedoch habe ich einen Salzwasserpool und der Salzgehalt ist nicht 
konstant. Somit würde mir die Messung einen falschen Pegel bei 
fallenden/steigenden Salzgehalt anzeigen.

Nun bin ich mit meinen Ideen ziemlich am Ende.
Ich denke nun daran eine Styropor Kugel mit einem Magneten drinnen im 
Rohr schwimmen zu lassen. Aussen im trockenen könnte ich an bestimmten 
Punkten Reedswitches anbringen um zumindest ein paar Arbeitspunkte für 
die Nachspeisung zu haben.

Würde das mit Hall-Sensoren auch gehen? Oder kennt jemand ein 
"magnetisches linear Encoder Band" mit dem ich die Position des Magneten 
bestimmen kann!?
Gast
Hugo P. schrieb:
> Das Pegelrohr hat einen Aussendurchmesser von
> 20mm, Innen 16mm und befindet sich im Keller womit es keine
> Feuchtigkeitsprobleme geben sollte.

Mal ne blöde Frage: Was passiert wenn du da einen Defekt hast und sich 
der Pool über NAcht komplett in deinen Keller entleert?
Je nachdem kann der Schaden immens werden. Ich habe bekannte da ist bei 
einem ähnlich massiven Wasserschaden der Estrich wegen der 
Isolationsschicht darunter komplett aufgeschwommen. Schaden irgendwo 
zwischen 20000-40000 Euro.

Prüfe mal ob deine Versicherung so einen Schaden übernimmt.

Hugo P. schrieb:
> Auch war die Auflösung bei
> +-15mm. Da kann ich mir den Aufwand sparen.

Warum? Wozu brauchst du die Pegelhöhe genauer als 1%?

Da gabs doch schon einen oder sogar mehrere Threads dazu? Warum fängst 
du einen neuen an oder verlinkst nicht wenigstens die Threads, so 
schreibt man nur das Gleiche mehrmals.
Gast
Hugo P. schrieb:
> Dann habe ich mir die Kapazitive Messung angesehen.
> Diese geht eigentlich recht genau, von Toleranzen abgesehen...

Dazu fällt mir noch ein. Musst du wirklich den gesamten Bereich von 0 
bis 1500mm Pegelhöhe messen?
Oder genügt dir eventuell der Bereich von z.B. 1400 - 1550mm.
Dann mach die Messelektroden nur 15cm lang in diesen Bereich, dann ist 
die relative Änderung der Kapazität pro cm Pegel deutlich stärker und 
deine Genauigkeit steigt.
Gast
Ich stelle es mir schwierig vor, die üblichen Ultraschall-Sensoren (z.B. 
https://de.aliexpress.com/item/Ultrasonic-Module-HC-SR04-Distance-Measuring-Transducer-Sensor-for-Arduino-Samples-Best-prices/32586297458.html 
) zu montieren.

Dann kenne ich noch den SRF-01 (z.B. 
https://www.robot-electronics.co.uk/htm/srf01tech.htm ), der 
funktioniert aber erst ab 20cm Distanz zuverlässig. Dazu müsste man das 
Rohr eventuell durch ein längeres ersetzen.
OP
Ich habe bei den 3 Hauptleitungen vom Pool in dem Keller automatische 
Ventile die innerhalb 2,5 Sekunden zu machen. Die ganze Technik sitzt in 
einer 1,5x0,5x0,5m Wanne. Ein Wassermelder schaltet ein Flip-Flop das 
mir die 3 Ventile falls Wasser erkannt wird. Nur durch einen manuellen 
Reset kann man wieder aufmachen.

An Ultraschall habe ich auch schon gedacht. Jedoch habe ich bei diesem 
kleinen Rohrdurchmesser keinen Sensor gefunden. Auch steht da meistens 
was von einem Winkel von 15°. Bei 1500mm ist das schon ganz schön breit. 
Somit würden sich die Schallwellen an den Rohrwänden reflektieren und 
ich habe keine Ahnung wie sich das Auswirkt. Gibt es zu dem SRF-01 
Abmessungen?

Die 20cm Distanz zur Wasseroberfläche habe ich im Rohr. Soll ja nicht 
oben rauslaufen falls der Wasserpegel im Pool mal steigt.
OP
Tom schrieb:
> Wie wäre es mit kleinem Schwimmer und Laserentfernungsmesser?

Auch daran habe ich schon gedacht - habe nur noch keinen Sensor 
gefunden.
Ich kann ja einen kleinen Spiegel in einen Schwimmer einbauen.

> US stelle ich mir im schmalen Rohr schwierig vor (Reflexionen).
Genau das denke ich auch.
Gast
Die Seitenwende reflektieren kaum zum Empfänger  zurück
aber der beruhigte Wasserspiegel hat eine sehr kräftige Reflektion.
Siehe: Wellen auf Leitungen, Reflektometer...
Gast
Servus,

ich habe zum Wasserstandmessen zwei Pegelsonden im Einsatz. Ich will 
jetzt keine Werbung machen(falls es stört bitte löschen), aber meine 
sind von IFM Serie PS einfach mal suchen. Vllt gibt es noch 
alternativen. Diese messen in der tiefe den Druck. Im Kabel ist ein 
Kapillarröhrchen mit drinen zum Druckausgleich.

mfg Michl
OP
Tom schrieb:
> Evt. sowas:
> http://www.st.com/en/imaging-and-photonics-solutions/vl53l0x.html
> Ich glaube ich habe auch schon irgendwo gesehen, wie ein Bosch
> Entfernungsmesser gehackt wurde.

Den habe ich gerade angeshen. Da steht was von +-3% auf 120cm. Das sind 
ja +-36mm Toleranz, oder habe ich das falsch verstanden?

Michl schrieb:
> ervus,
>
> ich habe zum Wasserstandmessen zwei Pegelsonden im Einsatz. Ich will
> jetzt keine Werbung machen(falls es stört bitte löschen), aber meine
> sind von IFM Serie PS einfach mal suchen. Vllt gibt es noch
> alternativen. Diese messen in der tiefe den Druck. Im Kabel ist ein
> Kapillarröhrchen mit drinen zum Druckausgleich.
>
> mfg Michl

Zu dick... habe maximal 16mm. Auch gibt es bei der Druckmessung wieder 
das Problem der unterschiedlichen Dichte des Mediums.
Hallo,

ich werde bei mir im Teich die Pegelmessung kapazitiv aufgebauen: Als 
"Sensor" verwende ich 300 Ohm Antennenleitung, da macht das Wassesr 
einen großteil des Dielektrikums aus. Wichtig dabei ist vor allem den 
Pegel nicht absolut, sondern die Differenz zu messen. Dazu habe ich auf 
halber Tiefe einen zweiten Sensor befestigt, jedoch horizontal. 
Ausgewertet wird letztendlich nur die Differenz zwischen beiden Werten 
(Frequenzen).

Ultraschall habe ich bereits probiert, jedoch ist bei mir bereits nach 
wenigen Wochen der Sensor ausgefallen (war ein HC-SR04 in einer 
Verteilerdose).
Gast
Der Demker schrieb:
> Blas das Rohr wie eine Flöte an und ermittle die sich ergebende
> Frequenz.

Und du meinst, die Frequenz hängt dann nicht von der Lufttemperatur ab?
Die sollte man dann schon mit messen.

Gegenüber einem US-Abstandssensor ergibt sich kein wirklicher Vorteil.
Hugo P. schrieb:
> Das Pegelrohr hat einen Aussendurchmesser von
> 20mm, Innen 16mm und befindet sich im Keller womit es keine
> Feuchtigkeitsprobleme geben sollte.

Warum nicht das Rohr abschneiden und eines mit mehr Durchmesser
daran bauen?

Da wäre die erste Lösung mit 10 Gang Pot sicher machbar,
weil die Auftriebsfläche größer wird...

Hugo P. schrieb:
> Das bedeutet auch das die 100g
> schwimmen müssen und das ist in einem 16mm Rohr schon fast unmöglich da
> die Oberfläche so klein ist.

Also, anderes Schaurohr nutzen wäre die einfachste Möglichkeit...
OP
Hugo P. schrieb:
> Habe mir jetzt einmal den GY-530 VL53L0X bestellt. Werde diesen bis zum
> Wochenende erhalten und dann testen. Mal sehen wie das Teil
> funktioniert.

Nun bin ich dabei den Source von STM für einen Atmega328p anzupassen.
Geht auch ohne Probleme, aber:

> AVR Memory Usage
> ----------------
> Device: atmega328p
> Program:   33848 bytes (103.3% Full)
> (.text + .data + .bootloader)
> Data:        698 bytes (34.1% Full)
> (.data + .bss + .noinit)

Habe den ganzen Teil mit den String schon rausgeschmissen, denoch passt 
es nicht in den AVR. anbei mal der umgearbeitete Soruce
Angehängte Dateien:
Gast
Ich würde einfach die unbenutzten Funktionen raus löschen oder das durch 
den Compiler tun lassen.

In meinem Makefile geht das über die beiden Zeolen:
1
FLAGS += -ffunction-sections -fdata-sections
2
LDFLAGS += -Wl,--gc-sections

Sicher kannst du das in deiner IDE auch irgendwo einstellen.
OP
Anbei der Source um einen VL53L0X am Atmega Nativ zu betreiben.
Die Vorlage war dieses Projekt:
https://github.com/pololu/vl53l0x-arduino

Das ganze ist ein AVR Studio 5.1 Projekt für den Atmega328p.

Leider kann ich aber sagen, dass die Wasseroberfläche nicht erkannt 
wird. Es wird also ein Schwimmer nötig der für die Messungen den Laser 
reflektiert. Das muss ich erst noch testen.
Angehängte Dateien:
OP
Habe den VL53L0X nun im Pegelrohr getestet. Geht leider nicht.
Anscheinend gibt es zu viele Reflektionen das man maximal bis zu 20-40cm 
messen kann. Außerhalb des Rohres gegen die Wand funktioniert der Sensor 
ohne Probleme.

Werde jetzt einmal den SRF-02 testen...
OP
Ich habe nun den SRF02 genauer getestet. Prinzipiell funktioniert die 
Messung in dem Rohr. Wenn Wassertropfen im Rohr sind werden diese statt 
der Wasseroberfläche erkannt. Wahrscheinlich von den Reinfektionen.

Aber das größere Problem ist, dass der Messwert nicht stabil ist.
Ich nehme die Ausgabe in Mikrosekunden und rechne mir dann mm aus.

Unter Laborbedingungen im Dauerbetrieb schwankt der Messwert um ca. 
10mm.
Aber nur alle ~30-60 Minuten. Dann ist der Messwert wieder stabil und 
nach dieser Zeit gibt es wieder einen Sprung. Ich tippe auf die 
Autokalibrierung in der Firmware des SRF02. Diese kann man aber nicht 
abschalten.

Nun möchte ich einen anderen Sensor Testen.
Er braucht I2C und die Ausgabe soll in Mikrosekunden sein. Der Sensor 
muss in ein Rohr mit Innendurchmesser 17mm passen.

Ich brauche keine absoluten Messwerte, da der Wert dann mit einem Offset 
abgeglichen wird.
OP
Als Abschluss:
Ich habe nun einen JSN-SR04T seit ~3 Monate im Betrieb. Dieser kann in 
einem Modus betrieben werden wo die Entfernung in einem µs Impuls 
ausgegeben wird.
Die Auswertung des Impulses + Temperaturstabilisierung + Filter der 
analogen Werte übernimmt ein Atmega328.

Der Sensorkopf ist Wasserdicht und funktioniert auch bei Salzwasser 
bisher ohne Probleme.

Genaugkeit +-1mm
Messbereich: 200mm-1500mm (mehr habe ich nicht getestet)
Stabilität über 24h: +-1mm
Angehängte Dateien:
Gast
Die "Entfernung" sollte sich mit fast jedem Ultraschallsensor problemlos 
messen lassen, ich bezweifle aber, dass das in einem so engen Rohr 
funktioniert!
Gast
Hugo P. schrieb:
> Ich habe nun einen JSN-SR04T seit ~3 Monate im Betrieb. Dieser kann in
> einem Modus betrieben werden wo die Entfernung in einem µs Impuls
> ausgegeben wird.
> Die Auswertung des Impulses + Temperaturstabilisierung + Filter der
> analogen Werte übernimmt ein Atmega328.
>
> Der Sensorkopf ist Wasserdicht und funktioniert auch bei Salzwasser
> bisher ohne Probleme.
>
> Genaugkeit +-1mm
> Messbereich: 200mm-1500mm (mehr habe ich nicht getestet)
> Stabilität über 24h: +-1mm

Danke für die Rückmeldung.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 8 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.