NEWS
Füllstandsmessung per Pegelsonde.
-
Auf diesem Schaltbild
geht der gute Mann mit 5 Volt an den A0 Pin vom Wemos D1 mini. Ich dachte immer, das dort nur max. 3,3 Volt anliegen dürfen.
Grüße
-
@Eisbaeeer sagte in Füllstandsmessung per Pegelsonde.:
@Beowolf
Hi,
Wie versprochen, das Projekt in Github Link Text
Freue mich schon auf Forks und Pull-RequestsHallo Eisbaeeer,
im Sketch steht,
"IPAddress ip(192, 168, 1, 21); // IP Adresse, falls kein DHCP vorhanden ist"
Was muß dort rein, wenn ein DHCP vorhanden ist? Ausklammern?
Grüße
Manfred -
Für die Pegelmessung bei Heizöl muß doch auch noch eine Umrechnung/Anpassung mit eingerechnet werden, richtig?
Die Dichte von Heizöl ist ca. 0,820–0,860 kg/l (15 °C) pro Liter.
-
@Beowolf Ja, gravimetrische Methoden brauchen das. Ich rechne bei meinem pneumatischen Perldruck-Messgerät mit 0.86 und bei der letzte Befüllung hat der Füllstandssensor den Tankwagen exakt bei der Bestellmenge abgeschaltet. Auf den Liter genau, bei einem 10.000 l Erdtank. Gut war sicher etwas Glück dabei; selbst bei 100l Abweichung wäre ich sehr zufrieden gewesen. also mit 0.86 bin ich nicht schlecht gefahren (Erdtank).
-
@Beowolf sagte in Füllstandsmessung per Pegelsonde.:
Habe mal eine Frage zum Pegelsensor. Der darf doch auch im Tank liegen, oder?
Dem Drucksensor ist es egal, ober er liegt oder steht.
mit 5 Volt an den A0 Pin vom Wemos D1 mini. Ich dachte immer, das dort nur max. 3,3 Volt anliegen dürfen.
Wenn er Pech hat, ist der Analog-Eingang irgend wann defekt. Im Datenblatt steht:
A0 Analog input, max 3.3V input A0
Sein eigenes Risiko, ich würde es nicht machen.
"IPAddress ip(192, 168, 1, 21); // IP Adresse, falls kein DHCP vorhanden ist"
Was muß dort rein, wenn ein DHCP vorhanden ist? AusklammernDann lass es einfach so stehen oder wenn du sicher gehen willst, dass du keine doppelte IP-Adresse hast, dann trage dort eine freie IP-Adresse ein. Diese greift nur, falls der Arduino keinen DHCP-Server erreicht. Im Normalfall wird also immer DHCP verwendet. Auf keinen Fall ausklammern, sonst bekommst du einen Compiler-Fehler.
Für die Pegelmessung bei Heizöl muß doch auch noch eine Umrechnung/Anpassung mit eingerechnet werden, richtig?
Davon gehe ich auch aus. Ist ja kein Wasser
Ich schau mal, wo man das im Code einbaut.
Gruß Eisbaeeer -
@Beowolf Hmm, ich glaube ich muss das Projekt jetzt umbenennen, wenn du das für Heizöl nimmst
Das hat ja nix mehr mit einer Zisterne zu tun. Ich bau dir gerade noch die Dichte Berechnung mit ein. -
@Eisbaeeer Zisterne ist schon gut und richtig. Ich weiß nicht,, was der Tank-TÜV sagt, wenn da Drähte aus einem Bastelgehäuse in den Heizöltank gehen...
-
Eine neue Version ist online https://github.com/Eisbaeeer/Arduino.Ethernet.Zisterne
Jetzt kann die Dichte noch mit angegeben werden.// ---- HIER die Anpassungen vornehmen ---- const float max_liter = 6300; // Maximale Füllmenge des Behälters const float dichte = 1.0; // Dichte der Flüssigkeit - Bei Heizöl bitte "1.086" eintragen | Bei Wasser bitte "1.0" eintragen IPAddress mqttserver(192, 168, 1, 200); // IP Adresse des MQTT Servers IPAddress ip(192, 168, 1, 21); // IP Adresse, falls kein DHCP vorhanden ist byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x0A }; // MAC-Addresse bitte anpassen
Grüße Eisbaeeer
-
@klassisch sagte in Füllstandsmessung per Pegelsonde.:
@Eisbaeeer Zisterne ist schon gut und richtig. Ich weiß nicht,, was der Tank-TÜV sagt, wenn da Drähte aus einem Bastelgehäuse in den Heizöltank gehen...
Was für ein Tank-Tüv? Habe ich hier noch nie gehört. Unser Tank ist schon seit ca. 60 Jahren im Keller.
-
Hallo,
@Eisbaeeer sagte in Füllstandsmessung per Pegelsonde.:
Wenn er Pech hat, ist der Analog-Eingang irgend wann defekt. Im Datenblatt steht:
A0 Analog input, max 3.3V input A0Sein eigenes Risiko, ich würde es nicht machen
Ok, danke für den Hinweis, habe das hier geordert: https://www.aliexpress.com/item/32823522400.html?spm=a2g0s.9042311.0.0.755c4c4dfvh43M , damit kann ich 3,3 V einstellen und auch noch den Max- und Minpunkt justieren. Da ändere ich lieber die Schaltung, ist ja nicht weiter schlimm.
Heute ist noch das Display gekommen, habe es mal an den NodeMCU drangehängt.
-
@opossum Genau diesen Wandler verwende ich auch. Das sollte klappen.
-
@Beowolf Habe einen Erdtank. Da kommt alle 5 Jahre der TÜV vorbei. Die Vorschriften waren lang Zeit Ländersache, sind aber wohl seit 2017 bundesweit einheitlich https://www.tuv.com/germany/de/prüfung-von-heizöltanks.html . Bei uns wird das vom Landratsamt überwacht. Reparaturen dürfen nur vom lizenzierten Tankbauer vorgenommen werden. Das gilt selbst für die Power-Kontrollanzeige-Glimmlampe der Tanküberwachung. Kein Witz, habe einen entsprechenden Schriftverkehr mit dem Landratsamt.
-
Dann ist es klar das hier noch keiner da war. 9000 Liter im Keller, kein Schutzgebiet oder so.
-
@Eisbaeeer sagte in Füllstandsmessung per Pegelsonde.:
Eine neue Version ist online https://github.com/Eisbaeeer/Arduino.Ethernet.Zisterne
Jetzt kann die Dichte noch mit angegeben werden.// ---- HIER die Anpassungen vornehmen ---- const float max_liter = 6300; // Maximale Füllmenge des Behälters const float dichte = 1.0; // Dichte der Flüssigkeit - Bei Heizöl bitte "1.086" eintragen | Bei Wasser bitte "1.0" eintragen IPAddress mqttserver(192, 168, 1, 200); // IP Adresse des MQTT Servers IPAddress ip(192, 168, 1, 21); // IP Adresse, falls kein DHCP vorhanden ist byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x0A }; // MAC-Addresse bitte anpassen
Grüße Eisbaeeer
Wieso 1.086 bei Heizöl? Heizöl ist doch leichter als Wasser.
Wäre 0,860 nicht der richtige Wert?
-
@Beowolf
Ähhm ja, muss nochmal drüber nachdenken.
Also 1 Liter Heizöl wiegt also 0.86 Kg.
Da hab ich noch einen Denkfehler drin.
Da meine Basis der maximale AD-Wandler Wert ist, muss ich da ansetzen. Ich korrigiere das noch. -
@Eisbaeeer sagte in Füllstandsmessung per Pegelsonde.:
Also 1 Liter Heizöl wiegt also 0.86 Kg.
Jepp, richtig. (Stichwort "Ölpest" - schwimmt auf dem Wasser)
Zum kalibrieren.
Ich kann ja jetzt schlecht mal eben den Heizöltank voll füllen lassen.
Es sollte doch gehen, PVC Rohr aus dem Baumarkt. Etwas länger als die max Füllhöhe. Unten zu durch Blindstopfen. Wasser rein, mal leer mal voll - fertig, oder?
Grüße
Manfred -
@Beowolf
Also, nachdem die Kinder im Bett sind,
hatte ich nochmals Zeit, eine Version 1.2 zu bauen. Die ist jetzt auf Github verfügbar.Da ich die Füllhöhe bzw. Liter Zahl aus dem maximalen Wert und dem 0 Wert berechne, ist es relativ egal, welches Medium verwendet wird. Die Liter werden immer aus dem tatsächlichen Prozentwert errechnet. Abhängig von dem maximalen Fassungsvermögen des Behälters. Entscheidend ist jetzt nur, welches Medium ich zum Kalibrieren verwende. Es ist jetzt also möglich, z.B. mit Wasser zu kalibrieren und in jeder anderen Flüssigkeit zu benutzen, wenn man den Dichtefaktor kennt.
Für die leichtere Kalibrierung zeige ich jetzt alle 30 Sekunden den tatsächlichen Analog Messwert an (Wert vom AD-Wandler). Dieser Wert muss dann nach der Kalibrierung im Sketch angegeben werden, den Sketch dann nochmals aufspielen und fertig.
Es sollte doch gehen, PVC Rohr aus dem Baumarkt. Etwas länger als die max Füllhöhe. Unten zu durch Blindstopfen. Wasser rein, mal leer mal voll - fertig, oder?
Genau das habe ich jetzt realisiert. Du kalibrierst in deinem Rohr und gibst den Dichte Faktor an.
Bin auf Rückmeldungen gespannt.
Grüße Eisbaeeer -
Mist, der Baumarkt hat zu.
-
@Beowolf Wo ist der nächste Verkaufsoffene Sonntag?
-
Hallo,
habe das jetzt noch einmal neu gebaut und in das Gehäuse des ELV-Aktors (diese kapazitive Füllstandsmessung) eingebaut. Warte jetzt auf den Strom-zu-Spannungs-Converter. Meiner macht ja nur 5V, das ist dann wohl zu viel für den Analogeingang (danke für den Hinweis). Hat denn jemand von Euch eine nette Grafik für eine Zisterne, die man noch bearbeiten kann? Möchte das über die Werteliste in Vis bauen. Die Werte kommen über MQTT in IOBroker an. Dort kann ich sie dann auswerten. Wie nehmt Ihr das Sendeintervall, ich bin mir da noch nicht schlüssig. Zur Zeit lasse ich alle 10 s die Messwerte übermitteln. Erscheint mir aber zu kurz, der Wasserstand ändert sich zur Zeit nicht so dramatisch.