Hallo,
angeregt durch 66er möchte ich Euch mein Projekt "Füllstandsmesser mit Drucksensor" vorstellen. Das ganze ist relativ leicht nach zu bauen, sehr zuverlässig und auch noch ziemlich genau gegenüber den Ultraschallsensoren etc. Nachteil ist, ist etwas teurer. Wenn man sich aber den Hydrosensor z.B bei Aliexpress bestellt Hydrodrucksensor 4 20mA 24 Volt 5 Meter kann man ihn für ca.40 € bekommen. Den Shelly Uni kann man z.B. hier im Shop, oder eine andere günstige Bezugsquelle ist auch Shelly Uni und bei Bedarf mit Gehäuse kaufen. Zusätzlich werden noch paar Widerstände 1kΩ 1 kΩ benötigt. Eventuell noch ein passendes, Wassergeschütztes Gehäuse wo dann alles verbaut wird (wie z.B. sowas > Gehäuse Wassergeschützt und wenn man nicht Löten will/kann noch paar Vagoklemmen (Sortiment Vagoklemmen) kaufen. Zum Schluss noch ein passendes 24 Volt 2A Netzteil. (Netzteil 24 Volt 2A)
Das war es aber auch schon
So nun zum eigentlichen Aufbau/Anschluss. Der Hydrodrucksensor wird an den Shelly Uni wie unten abgebildet angeschlossen. Die Widerstände ebenfalls wie auf der Zeichnung abgebildet mit anschließen. Wenn man diese nicht verlöten möchte /will, kann man diese auch in den Vagoklemmen befestigen.
Auf die gleiche Weise kann man auch das Netzteil verbinden oder man verlötet das ganze (was ich auch empfehlen möchte) und baut es anschließend in das Gehäuse ein.
Ich habe bei mir das ganze in Homematic (eine CCU3, Raspberry 3 oder 4 wo Homematic läuft) laut dieser Anleitung vom 66er SHELLY UNI ZUR BATTERIEÜBERWACHUNG IN HOMEMATIC EINBINDEN - MIT DER ORIGINALFIRMWARE eingebunden und kann nun ganz Kompfortabel die Füllhöhe in mm, den Füllstand in % und den Füllinhalt in Liter anzeigen lassen.
In Homematic legen wir uns dazu noch ein Programm an und nennen es z.B. Shelly Uni Brunnenfüllstand (kann man beliebig benennen) siehe dazu unten das Bild. Als Zeitintervall habe ich bei mir 2 min eingestellt. Das kann man aber natürlich auf seine Bedürfnisse anpassen und den Zeitabstand auch verlängern etc. Verkürzen würde ich ihn aber nicht. Erstens ist es nicht Sinnvoll und zweitens kann dann der Duty Cycle hoch gehen. Unter Aktivität:Dann werden noch 2 Scripte gebraucht.
Als erstes das vom 66er aus oben verlinkter Anleitung Anleitung 66er und noch ein Script vom User Baxxy aus den Homematicforum (an dieser Stelle noch mal meinen Dank an Ihn)
Das Script sieht dann folgendermaßen aus
! configuration
real volt_in = 7.7; ! theoretischer Wert in V des Sensors
real rangeBegin = 0.0; ! minimaler Füllstand, Boden bei 0V
real rangeEnd = 5000.0; ! maximaler Füllstand, Höhe [mm] bei 10V
real area = 785398.2; ! Bodenfläche [mm²], 1m Durchmesser
string SV_Name_Fuellstand = "Zisternenfüllstand"; !- Füllstand in mm
string SV_Name_Inhalt = "Zisterneninhalt"; !- Volumen in l
string SV_Name_Level = "Zisternen-Level"; !- Füllstand in %
! read device data point and update system variable
real volume; real fuellstand; string fuell_prozent;
object src = dom.GetObject("$src$");
if (src) { volt_in = src.Value(); }
fuellstand = (((rangeEnd - rangeBegin)*volt_in) / 10.0) + rangeBegin; !- Füllstand in mm
volume = ((fuellstand * area) / 1000000); !- Inhalt in Liter
fuell_prozent = ((fuellstand * 100) / rangeEnd).ToString(0);
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Name_Fuellstand)) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Name_Fuellstand).State(fuellstand); } ! Füllstand in mm in SysVar
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Name_Inhalt)) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Name_Inhalt).State(volume.ToString(0)); } ! Volumen in l in SysVar
if (dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Name_Level)) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(SV_Name_Level).State(fuell_prozent); } ! Füllstand in % in SysVar
WriteLine("Ergebnis: bei "# volt_in.ToString(1) #" V | " # fuellstand.ToString(0) # " mm | "# fuell_prozent #" % | "# volume.ToString(0) #" l" );
Alles anzeigen
Dieses Script ist aber auf meinen Brunnen angepasst. nicht Wundern über den real_volt_in =7,7; Eintrag. Dieser ist nur da um das Script zu testen.
@Baxxy hat eine Logik eingebaut; wird das Script als Bestandteil des Programmes verwendet (also nicht im "Script testen"), dann wird der Wert der SysVar "Fuellstandmessung-Brunnen-Spannung" verwendet, ansonsten der manuell eingetragene Spannungswert (real volt_in = 7.7;).
Er ist 1 Meter im Durchmesser und 5 Meter tief. Man kann es aber bei Bedarf auch noch anpassen wenn man andere Gegebenheiten hat. Die 3 Systemvariablen muss man aber selbst Neu anlegen und so Bezeichnen wie im Script angegeben. Wenn man unbedingt andere Namen vergeben möchte, ist das natürlich möglich, aber man muss dann das Script dementsprechend anpassen an die Neu vergeben Namen.
Dank den genialen Script vom 66er und den anpassbaren Offset im Script (hier auch mein besonderer Dank an Ihm) ist dann die Genauigkeit bis auf ca. 10 - 20 Liter genau was auch in den allermeisten Fällen ausreichen dürfte. Vorteil des ganzen ist die enorme Zuverlässigkeit, Nachteil ist der relativ hohe Preis und man braucht einen 220 Volt Anschluss in der Nähe. Man kann aber auch Bedenkenlos das Anschlusskabel des Hydrosensors bis etwa 20 Meter verlängern um das ganze dann z.B. in einen Trockenen Raum/Nebengebäude etc. ein zu bauen. Man sollte aber darauf achten wenn man es verlängern möchte, das das Luftröhrchen, was im Kabel des Sensors eingebaut ist) nicht verschlossen oder beschädigt wird. Dies dient nämlich zum Druckausgleich.
Um nun das ganze noch Grafisch und Bedienbar am Handy oder Tablet zu machen, verwende ich die SmarthaApp. Aussehen tut das ganze dann in etwa so wie unten auf den Foto. Vorteil in der SmarthaApp ist, man kann sich eigene Icons erstellen, die Farben und Größe anpassen, Werte vergleichen oder ändern und noch viel mehr.
Wer jedoch kein Homematic etc. verwenden möchte, so geht es auch ohne und nur mit der ShellyApp. Nachteil ist aber hier das man "nur" Spannungswerte angezeigt bekommt. Das ist bei einen Füllstandsensor aber eher unpraktisch und nicht unbedingt zu empfehlen.
Um die ganze Umrechnerei etc. eventuell auch noch auf andere Gegebenheiten anzupassen, hat mir ein anderer User von einen anderen Board das hier zugesendet. Es ging um meinen Brunnen und wie man auf die 4,7 Volt kommt, das hatte ich nicht verstanden. Vielleicht hilft das ja anderen Usern die ähnliches vorhaben mit einen Hydrosensor 4 - 20 mA.
"
Da der Shelly UNI in dem o.g. Fall bei einem Füllstand von 0 % bereits eine Spannung von 0.6 V ausgibt, müssen diese 0.6 V berücksichtigt bzw. verrechnet werden.
0 % Füllstand = 0.6 V
100 % Füllstand = 5.3 V
5.3 V (100 % Füllstand) - 0.6 V (0 % Füllstand) = 4.7 V Füllstandsbereich (0 - 100 %)
Die 4.7 (V) spiegeln also den tatsächlichen Füllstandsbereich zwischen 0 und 100 % dar.
In diesem Fall spielt die Dimension der Zisterne also gar keine Rolle, sondern einfach nur der Füllstand.
In Deinem Fall fehlt also noch die Spannung vom Shelly UNI, wenn der Brunnen voll ist.
0 % Füllstand = 1.34 V
100 % Füllstand = x V
x V (100 % Füllstand) - 1.34 V (0 % Füllstand) = x V Füllstandsbereich
Um einen 2. Spannungswert zu bekommen, muss der Brunnen ja nicht zwingend vollständig gefüllt sein. Dieser Spannungswert kann ja entweder auf 5 Meter bzw. 3.927 Liter hochgerechnet werden. Dazu müsstest Du aber entweder den aktuellen Füllstand (in mm/cm/m) oder das Volumen (in l) kennen.
Beispiel
Der Füllstand liegt bei 1.29 m und der Shelly UNI zeigt eine Spannung von 2.23 V an.
1.29 m bzw. 2.23 V (ohne Abzug des 0 % Wertes) entsprechen demnach einem Füllstand von 25.8 % bezogen auf 5 m Höhe.
Wieviel V entsprechen demnach 100 %?
Berechnung des Faktors
100 : 25.8 = 3.876
Berechnung der Spannung
3.876 * 2.23 V = 8.6434 V ~ 8.64 V
Die 8.64 V würden also ungefähr einem Füllstand von 100 % entsprechen.
Berechnung des Füllstandsbereiches für die Formel(n)
8.64 V (= 100 %) - 1.34 V (= 0 %) = 7.30 V
Die Formeln müssten also wie folgt aussehen:
- Füllstand in %
(V - 1.34) : 0.073
bzw.
<span style="font-size: 10pt;">{{round((V-1,34)/0.073,1)}}</span>
- Füllstand in l
(V - 1.34) : 7.3 x 3927
<span style="font-size: 10pt;">{{round((V-1,34)/7.3*3927,1)}}</span>
Ich war schon immer schlecht im Erklären, aber ich hoffe, dass es einigermaßen verständlich ist und ich keinen Fehler eingebaut habe… [Blockierte Grafik: https://emoji.discourse-cdn.com/twitter/wink.png?v=12]"
Viel Spaß beim Nachbauen.
PS: Natürlich gibt es auch komplett fertig aufgebaute Pegelmanagment Geräte, kosten aber ein Vielfaches von den hier vorgestellten. Hier z.B. kann man ein solches Gerät fertig kaufen > Digitales Pegelmanagement System - Komplettpaket "starter" mit Wandgerät "PROFI"