Der hydrostatische Druck am Boden einer Flüssigkeit ist das Produkt aus Dichte der Flüssigkeit x Erdbeschleunigung x Höhe der Flüssigkeitssäule + Luftdruck über der Flüssigkeit. Das sollte sich zum Messen eignen, vor allem, weil keine Elektrik in den Tankdeckel eingebaut werden muß. Der Raum über dem Öl ist (wenn nicht belüftete etc. div Richtlinien) Ex-Bereich, der Heizöllageraum aber nicht.
Also habe ich eine kleine Luftpumpe aus China gekauft für 2,5 €, und einen Teflonschlauch 1/8" ( Fa. Techlab) sowie einen BMP180. Der wird als Device in FHEM angelegt, die Pumpe über einen GPIO und Optokoppler/Transistor wie üblich angesteuert.
Da der BMP180 einen fest verlöteten Sensor ohne Nippel hat, habe ich die ganze Platine in ein Gehäuse mit 2 Nippeln für die Schläuche geklebt.
Das wars schon, Kosten um 10 €. Wenn man nun Luft für 2-3 Sekunden pumpt (der Schlauch muß natürlich zum Boden des Tanks reichen) hat man den ersten Meßwert: Druck am Boden der Flüssigkeitssäule. Nach dem Abschalten der Pumpe und 1 Sekunde warten hat man den Druck über der Flüssigkeit.
Der erste Test war soweit erfolgreich, ich erhalte 2 Werte, z.B. 991, 7 unten und 1039,3 hPa oben. Erdbeschleunigung setzen wir mit 9,81 an und Dichte vom Öl mit 0,9 ( Wasser wäre 1,0) . Pascal'sche Formel nach h umstellen ergibt die Flüssigkeitssäule in cm.
Allerdings bin ich ziemlicher Anfänger in FHEM und brauche an dieser Stelle Hilfe: wie lege ich ein Device an, welches mir nach dem Einschalten der Luftpumpe ca2 Sekunden später die genannten Werte automatisch verrechnet, so daß ich die Füllhöhe bekomme, die ich mir dann einfach per text2speech ansagen lasse. ( text2speech funktioniert schon für andere Sensoren, aber da mußte nichts gerechnet werden, war also ganz einfach )
Es geht also nur noch um einen automatisierten Rechenvorgang für die beiden Meßwerte.
Das Gehäuse für den Drucksensor gibt es auf dem Markt nicht zu kaufen, da müßte man was passendes drucken.
Hi,
bei deinem Schlauchaufbau bin ich zwar ausgestiegen aber für das Nachfolgende hier mal ne erste Idee für ein DOIF
Trigger auf den ersten Wert den reinkommt, den Wert in ein Reading im DOIF wegschreiben, 1 Sekunde warten dann mit dem neuen Wert und dem weggeschriebenen deine Berechnungen machen.
Bin gerade mit dem Handy online, sonst hätte ich dir noch etwas Code dazu geschrieben.
Grüße
Achim
... ich habe das mit einem zweiten BMP gelöst, zwar für Wasser, sollte aber keine Rolle spielen ...
https://forum.fhem.de/index.php/topic,100029.msg934327.html#msg934327
LG
Papa Romeo
Hier eine Skizze zur besseren Verständlichkeit. Wenn jemand ein Codeschnipsel hätte, wäre das sehr schön. Ich bin zwar recht gut in Physik, arbeite mich aber eher mühsam in Programmierung ein, stand nicht auf dem Stundenplan. Bei Schulabschluß hatte Hewlet Packard gerade den HP 2116 A vorgestellt....
Hier eine Skizze zur besseren Verständlichkeit. Wenn jemand ein Codeschnipsel hätte, wäre das sehr schön. Ich bin zwar recht gut in Physik, arbeite mich aber eher mühsam in Programmierung ein, stand nicht auf dem Stundenplan. Bei Schulabschluß hatte Hewlet Packard gerade den HP 2116 A vorgestellt....
Ich hab ja jetzt nicht alles im Detail gelesen aber nachdem du einen Schaltplan gepostet hast wo noch nicht wirklich viel drauf ist:
suchst du noch eine Integration des BMP in fhem?
Anseuerung der Pumpe?
Evtl. ein ESP mit Tasmota...
Da muss man nix programmieren, nur flashen ;)
EDIT: man kann aber auch einiges per rule auf dem Tasmota machen (läuft halt dann autark und zeitlich zuverlässig / fhem für wirkliche "Echtzeit" oder zumindest nahe dran würde ich nicht nehmen)
Beispiel mit anderem Sensor (aber auch Füllstand ;) ): https://forum.fhem.de/index.php/topic,93645.msg863079.html#msg863079
Wenn ich falsch liege: einfach ignorieren 8)
EDIT: ja ich weiß du hast schon (fast) alles beisammen und auch gut drüber nachgedacht, evtl. aber trotzdem einen Blick wert ;) https://forum.fhem.de/index.php/topic,93645.msg863079.html#msg863079
Viel Spaß, Joachim
Eine Frage zu deinem Aufbau,
Wie verhindert du dass Öl in deinen Schlauch eindringt?
Der Schlauch ist ja quasi durch das bmp Gehäuse bis zum anderen Schlauchende offen verbunden, es läuft also von unten Öl rein bis zur Füllhöhe.
Oder hab ich was falsch verstanden?
Joachim: ich suche nur einen Codeschnipsel für die Auswertung, alles andere läuft schon. Ich habe noch nie eine Berechnung in einem reading gemacht.
Die Sache mit der Tauchsonde ist interessant, wenngleich ich nichts "elektrisches" in den Tank hängen wollte. 4-20mA Schleife dürfte den Ex-Richtlinien für diesen Fall aber entsprechen.
Frank: Das Öl steht im Schlauch, wenn der Tank voll ist bis oben. Der Drucksensor ist höher angebracht, da läuft dann nichts rein.
Joachim: ich suche nur einen Codeschnipsel für die Auswertung, alles andere läuft schon. Ich habe noch nie eine Berechnung in einem reading gemacht.
Die Sache mit der Tauchsonde ist interessant, wenngleich ich nichts "elektrisches" in den Tank hängen wollte. 4-20mA Schleife dürfte den Ex-Richtlinien für diesen Fall aber entsprechen.
Frank: Das Öl steht im Schlauch, wenn der Tank voll ist bis oben. Der Drucksensor ist höher angebracht, da läuft dann nichts rein.
Zitat von: Werner am 15 September 2021, 20:35:26Frank: Das Öl steht im Schlauch, wenn der Tank voll ist bis oben. Der Drucksensor ist höher angebracht, da läuft dann nichts rein.
Und damit hast doch den gleichen Druck wie die Umgebung.
Diese Messmethode kann doch dann gar nicht funktionieren.
Frank: ich messe 2x: einmal ohne Pumpe und einmal mit pumpe, dann habe ich beide Druckwerte
Hallo Werner,
... warum der Umweg über die Pumpe. Ein zweiter Sensor der den Druck "ausserhalb" des Öl´s misst hat doch den gleichen Effekt um auf den Differenzdruck zu kommen.
Wäre zudem auch einfacher in den Sketch einzubinden als eine Pumpensteuerung.
LG
Papa Romeo
Zitat von: Werner am 15 September 2021, 20:58:47
Frank: ich messe 2x: einmal ohne Pumpe und einmal mit pumpe, dann habe ich beide Druckwerte
D. H. Du pumpst erstmal Luft in den Schlauch um das Öl zu verdrängen?
Dann würde ich auch eher zu 2 x bmp raten.
Zitat von: Frank_Huber am 15 September 2021, 20:42:01
Und damit hast doch den gleichen Druck wie die Umgebung.
Diese Messmethode kann doch dann gar nicht funktionieren.
Doch Frank funktioniert schon. Er muss halt gewährleisten, dass so lange Luft in den Schlauch gepresst wird, bis das Öl aus dem Schlauch verdrängt ist. Umso mehr Öl im Tank ist umso größer ist der erforderliche Druck der benötigt wird um das zu tun. Wird nur noch Luft aus dem Schlauch gedrückt, erhöht sich auch der Druck nicht mehr. Diesen erhöhten Druck misst er dann. Wenn er die Pumpe ausschaltet, strömt das Öl zurück in den Schlauch bis der Ölstand im Schlauch dem des Füllstandes des Tanks entspricht. Der Schlauch ist drucklos und der Druck entspricht dann dem Umgebungsdruck. Diesen misst er auch und erhält einen Differenzdruck, den er dann in cm umrechnet.
LG
Papa Romeo
Hallo Frank,
sorry, hat sich irgendwie überschnitten ...
LG
Papa Romeo
Ja, das mit der Pumpe hab ich nicht gleich verstanden.
Klar, wenn die Luft raus ist geht es natürlich.