Ultraschallmessung - Korrekturen bei ESPEasy möglich?

Begonnen von Tedious, 07 Dezember 2017, 09:41:52

Vorheriges Thema - Nächstes Thema

Tedious

Guten Morgen,

ich bastele grade an einer Ultraschallmessung um das Restöl in meinen Tanks zu berechnen (Rechnen in FHEM muss ich erst mal verstehen - aber das ist ein anderes Problem :))

Am ESP hängen ein HC-SR04 und ein DTH11 und liefern mit die Werte für Temperatur, Luftfeuchte und Distanz im Tank bzw im Tankraum. Soweit, so gut, das funktioniert schon mal. Ich messe alle 3 Stunden die Distanz (Temperatur nur alle 6, die ist eh recht konstant) und bilde bei der Füllhöhe ein Mittel über 12 Stunden um Messungenauigkeiten zu minimieren. Ich bekomme also beispielsweise einen Wert von 98, der Sensor hängt auf 158cm Höhe, bleiben also 60cm Füllhöhe im Tank. Fein, ich habe noch rund 2400l Öl (wie gesagt, momentan berechne ich das noch händisch, zum Thema Berechnungen in FHEM muss ich mich noch einfuchsen, das hatte ich noch nicht auf dem Radar).

Die Frage ist aber die folgende: ich habe gelesen dass die Schallgeschwindigkeit von Temperatur und Luftfeuchte abhängen. Nun liefert mir ESPEasy aber nicht die gemessene Zeit, sondern die Distanz. Insofern kann ich nur schwerlich eine Korrekturberechnung durchführen. Weiß jemand ob ich

a) das umstellen kann? Also mir von ESPEasy nur den Zeitwert statt der Distanz liefern lassen?

oder

b) welchen Wert (Schallgeschwingigkeit) ESPEasy default für die Berechnung benutzt? 20°C? Denn könnte ich das zumindest rückrechnen und mit den gemessenen Parametern korrigieren - ist zwar umständlich, aber zumindest ein Workaround...

Oder geht das noch einfacher und ich habe mal wieder einen Knoten im Hirn....

Bin für jeden Tip dankbar,

Grüße Sascha
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

Bapt. Reverend Magersuppe

Ich kann mir nicht vorstellen das Temperaturschwankungen so viel ausmachen das du signifikante Abweichungen bekommst. Ob der Aufwand lohnt?
Vor allem hat man in so einem Ölkeller auch wenig Temperaturänderungen, die Temperatur misst du doch auch.
--
If I was born in 1453, Leonardo da Vinci would be jealous of me.
Reverend Paul Egon Magersuppe
Aus versicherungstechnischen Gründen sind sämtliche Beiträge von mir rein spekulativer und theoretischer Natur und sollten nicht in die Tat umgesetzt werden!
Bin hier selten DRIN. AUS GRÜNDEN!

Morgennebel

Zitat von: Tedious am 07 Dezember 2017, 09:41:52
Soweit, so gut, das funktioniert schon mal. Ich messe alle 3 Stunden die Distanz (Temperatur nur alle 6, die ist eh recht konstant) und bilde bei
[...]
Die Frage ist aber die folgende: ich habe gelesen dass die Schallgeschwindigkeit von Temperatur und Luftfeuchte abhängen. Nun liefert mir

Wenn die Temperatur so konstant ist, daß sie nur alle 6h gemessen werden muß, wofür der Aufwand?

Du fährst den Tank ja nicht auf 0.01% runter...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Tedious

Hi,

natürlich sind die Schwankungen der Temperatur marginal. Aber wenn als Referenz beispielsweise 20°C benutzt wird um die Distanz zu berechnen, und ich im Bereich 12-14°C real messe tritt eine Differenz auf. Und die würde ich gerne korrigieren. Es sind zwei Tanks, zusammen 6000l. 1cm entspricht ~20l Öl, bei 2 Tanks also 40l. Liefert die Messung also falsche Werte wird das Ganze also ungenau, bei 3cm sind das schnell mal 180l. Natürlich, ich denke mal das dürfte auch nicht ungenauer sein als die alte "Lampe auf den Tank und mit dem Zollstock messen"-Variante, aber wenn man schon mal dabei ist... ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

automatisierer

dann solltest du auch noch den Wärmeausdehnungskoeffizient des Heizoels und des Oeltanks mit einbeziehen...

Morgennebel

Zitat von: Tedious am 07 Dezember 2017, 10:03:15
natürlich sind die Schwankungen der Temperatur marginal. Aber wenn als Referenz beispielsweise 20°C benutzt wird um die Distanz zu berechnen, und ich im Bereich 12-14°C real messe tritt eine Differenz auf. Und die würde ich gerne korrigieren. Es sind zwei Tanks, zusammen 6000l. 1cm

Laut https://www.pepperl-fuchs.com/global/de/25518.htm pro Grad Kelvin 0.17% Abweichung.

Dann hast Du gnadenlose 1.36% auf der gemessenen Distanz (8 Grad Kelvin). Bei 60cm Füllhöhe sind dies 0.00816cm. D.h. die Meßungenauigkeit ist in etwa 0.5L  bei Deinen beiden Tanks.

Da würd ich doch KISS nehmen und das ganze ignorieren...

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Tedious

Hi,

danke für die Hinweise. nun, denn ist das ja doch eher marginal was die Abweichung betrifft. Fein, denn bleibt es einfach so ;)
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

automatisierer

wenn mich meine Mathekenntnisse nicht im stich lassen, dann ergibt sich bei 3000L Tankinhalt und einem Grad Temperaturveränderung eine Änderung vom 2,5L Volumen... Dasd haut dann schon eher rein... aber immer noch irrelevant - würde ich sagen...

Die Messgenauigkeit von dem Ultraschallsensor liegt übrigends bei :
ZitatSpecifications:
power supply :5V DC
quiescent current : <2mA
effectual angle: <15°
ranging distance : 2cm–500 cm
resolution : 0.3 cm

0,3cm...

Tedious

#8
Danke, Ihr habt mich überzeugt. Ist manchmal so - man latscht alle zwei Wochen in den Keller und misst mit einem Zollstock, trägt das in Excel ein und freut sich über Statistiken und Kurven die sich aktualisieren. Denn will man sich das sparen und macht sich über Messungenauigkeiten einen Kopf - irgendwie paradox :D Ich lass das erst mal so und schau mal wie sich das Ganze so entwickelt.

Aber vielleicht darf ich grade noch einmal nachfragen. FHEM und rechnen, das ist nicht meine Welt. Ich generiere meine Daten und will die jetzt auch auswerten. So weit, so gut... Manuell kann ich das alles berechnen, in FHEM klemmt es noch, vielleicht hat ja jemand noch einen Schubs für mich ;)

Ich berechne einen 12-Stunden Mittelwert mit

{myAverage("43200", "myDbLog", "ESPEasy_Oeltank_Sensor_Distanz:Distance::")}

Das würde ich gerne in einen Dummy schreiben

set Restfuellstand_Oel_Average12h {myAverage("43200", "myDbLog", "ESPEasy_Oeltank_Sensor_Distanz:Distance::"}

Das State ist bei dem Aufrauf aber

{myAverage("43200", "myDbLog", "ESPEasy_Oeltank_Sensor_Distanz:Distance::")}

statt einer Zahl. Muss an meiner Klammerung liegen, aber mir ist nicht ganz klar warum. Mit Set dummy mache ich ihm klar was ich will, mit { rufe ich die Funktion auf - dachte ich zumindest, ist aber offensichtlich nicht der Fall... wo liegt mein Denkfehler?

FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

automatisierer

die entsprechende sub hast du in die 99_myUtils eingefügt?

Tedious

Ja. Rufe ich die Funktion aus FHEM heraus direkt auf liefert er mir auch den Wert.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

automatisierer

set Restfuellstand_Oel_Average12h {(myAverage("43200", "myDbLog", "ESPEasy_Oeltank_Sensor_Distanz:Distance::"))}

try this

justme1968

die temperatur hat einen ziemlichen einfluss. je nach keller sind hier tag und nacht schwankungen deutlich zu sehen.

die luft feuchte ist aber tatsächlich zu verbachlässigen. zum einen ist der einfluss viel kleiner als dabei der temperatur, zum anderen ist dir genauigkeit der messung so schlecht das es die abweichung eher noch vergrößert.

da die zu findenden formeln auch alle für luft ohne heizöl anteil sind ist auch noch ein grund die feuchte zu ignorieren.

ansonsten kannst du ja einfach mal ausrechnen ob die temperatur schwankungen in deinem keller relevant sind.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Tedious

@automatisierer:

Besten Dank, das funktioniert - Klammern und ich, wir stehen auf Kriegsfuß ;)

Ich werde das jetzt mal ne Weile laufen lassen und parallel ab und an "klassisch" mit dem Zollstock kontrollieren. Sollte ich eine signifikante Differenz feststellen schau ich mla ob ich eine Analogie sehe und eine Korrektur einrechne. Wenns halbwegs passt und die Differenz nicht grade ein paar huntert Liter sind kann ich damit an sich gut leben.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

automatisierer

Würde mich freuen von den Ergebnissen zu hören, dieses Projekt liegt auch noch vor mit.