NEWS
Füllstandsmessung per Pegelsonde.
-
@Beowolf
Technische Daten meiner Sonde:
Messbereich 0 bis 5 Meter bei 4-20mA.
Das bedeutet, dass die Sonde pro Meter Füllhöhe einen Strom von 3,2mA erzeugt (16mA / 5 Meter = 3,2mA/M). Bei deinen 1,4 Meter maximale Füllhöhe wäre das dann 4mA + 4,48mA = 8,48mA Strom. Jetzt ist die Frage, wie dein Stromwandler das ganze verarbeiten kann. Meiner hat mehrer Möglichkeiten zur Einstellung. Ich wandle jetzt mit dem Modus 4-20mA zu 0-5V. Es gäbe aber auch noch eine Einstellung am Wandler mit 0-3,3V,was für den Nano eigentlich die richtige wäre. Aber ich nutze die 0-5V, weil ich ja schon weiß, dass mein Strom nie die 20mA, also den maximalen Strom erreichen wird, da meine Füllhöhe nie die 5 Meter erreicht. Somit gewinne ich ein wenig mehr "Auflösung" im AD-Wandler des Nano. Bei 1,4 Meter liegst du mit der Sonde (mit Meßbereich 0-5 Meter) sehr ungünstig. Da wäre eine Sonde mit 0-3 Meter die bessere Wahl gewesen. Aber die kosten eben auch ein bischen mehr.
Ich hoffe du konntest folgen?
Da die Wandlungen alle linear sind, spielt die Spannung eigentlich keine Rolle. Es ist eben nur wichtig, die maximale Spannung beim maximalen Füllstand zu bekommen. Und die muss natürlich noch zum AD-Wandler Eingang passen, damit der nicht kaputt geht. Beim Nano sind es am AD-Eingang eben3,3V5V. Meine maximale Füllhöhe und meine Wandlereinstellung erlaubt es mir nun, den eingeschränkten Sondenbereich etwas zu zerren. Da meine Füllhöhe 3,2 Meter sind, erreiche ich dann eben auch "fast" die 3,3V, die der Nano am Eingang verarbeitet.
Gruß EisbaeeerEdit: Ich korrigiere mich. Habe eben nochmals im Datenblatt nachgelesen. Der A0 vom Nano verträgt sogar 5V. Das ändert aber immer noch nichts daran, dass man die maximale Spannung beim maximalen Füllstand nach der Wandlung erreichen sollte. Das sind dann eben 5V im Idealfall, den aber die wenigsten erreichen werden, da dann eben ein Füllstand von 5 Meter vorliegen muss.
-
@Eisbaeeer
hi ich kann nur schätzen aber 2,5-3m tief maximal.
Ich komm halt nicht auf 3,3V oder mehr, hab an dem Poti schon maximal gedreht da wird nicht mehr als die knapp 2V (Zisterne ist am überlaufen).Noch eins hätte ich da, ich wollte dass ganze mal mit Espeasy testen da ich schon 2-3 im Einsatz hab und in skripten nicht fit bin.
Ich bekomm am LCD nichts angezeigt obwohl ich im i2c scan das Display finde.
Kann ich dass hier mit rein posten oder soll ich da lieber was neues auf machen?Edit: Den gestrichenen Teil hab ich nun hin bekommen, dachte erst es lag an dem 5V, aber in Wirklichkeit wars nur Unwissenheit --> böser Kontrast
Egal wieder was gelernt.
Morgen mach ich mich mal an die Verkabelung in die Zisterne, mal schaun was da dann noch so lauert
-
Hab heute alles man angeschlossen:
-NodeMCU 8266 E12 (kann mit 3,3V an A0)
-den Rest würde ich sagen Sonde und so alles wie ihr auch habtDie Spannung die zu A0 geht ist eigentlich Konstant 1,98V, aber die Werte die ich im ESP auslese schwanken 0,685V-0,63V.
Ist das so Normal oder liegt es an meinem ESP? -
Die Schwankung ist normal. Um die zu beruhigen könnte man einen Mittelwert errechnen. Ich übertrage aber eh nur alle halbe Minute mit MQTT.
Mein System läuft jetzt schon 49 Tage ohne Probleme. -
@Eisbaeeer schaut schick aus, echt ne tolle Arbeit.
Ich log die Daten jetzt mal mit history und schau es mir Morgen wieder an.
Wo würdet ihr die Berechnung des Volumens machen?Bei mir greift Volumenberechnung eines liegenden Kreiszylinders (Tank-Problem)
Abbildung
https://de.wikipedia.org/wiki/Zylinder_(Geometrie)In Excel kann ich das Volumen gut berechen, aber wo macht man das in Iobroker am besten?
-
Hallo, @BastelKlaus ,
hast Du den gleichen Node MCU wie bei mir abgebildet?
?
Bei mir sieht das so aus:
Ich habe ESPEasy geflasht, dort macht die Software die Berechnung.
Eingebaut sieht das so aus:
das Gerät klinkt sich in mein WLAN ein und sendet dann via MQTT an den MQTT-Adapter seine Werte.
-
Devices angelegt:
dann
hier die Werte eingestellt. Ich habe einmal den Inhalt meiner vollen Zisterne berechnet, das ergab die 5600 Liter.
Du hättest hier im Feld Formel auch die Möglichkeit, eine Berechnung anzustellen. War aber bei mir nicht notwendig. Ich sende den Wert alle 10 Sekunden an den Controller, den ich im ESP8266 erstellt habe.
Im ESP habe ich noch eine Rule gebaut, die eine Berechnung durchführt, das ist dann der Prozentwert des Füllstandes.
-
Hier der Eintrag des Controllers:
Im Controller dann folgende Einstellungen:
Im IOBroker den MQTT-Adapter installiert und hier User und Passwort eingetragen. Das ist dann auch im ESPEasy hinterlegt. -
Ganz nebenbei fällt auch noch die Ansteuerung der Anzeige mit ab. Ist auch alles sehr gut im WiKi beschrieben.
Einstellungen für das LCD:
-
@opossum für so eine schöne detaillierte Anleitung sollte man die schon fast....
Ohne schmarn ich hab mir das die letzten Wochen nach und nach zusammen gesucht und dachte mir.
Wenns das dann mal funktioniert, kann ich auch mal was positives beisteuern zu spätBekommt man in die Rule auch die Berechnung meiner Zisterne rein?
Ich muss da mal noch aweng was lesen denk ich.Und ja ich hab genau diese ESP Board und die restlichen Komponenten die du und Eisbaeeer vorgeschlagen habt.
Auch die Ama... Sonde die dann doch fast 1 Monat Lieferzeit hatte. -
Hallo, @BastelKlaus ,
Du brauchst das Volumen im ESP nicht berechnen. Da Du das ja schon in Excel gemacht hast, weißt Du ja schon, wie viel Liter bei Dir den Zustand "Voll" bedeuten. Du brauchst ja nur den Wert für leer und voll. Der ESP setzt ja die Spannung am A0 intern in 1024 Schritte um, also 0-1023. Dabei entspricht 0 = leer und 0V am Eingang A0 bzw. 1023=Voll= 3,3V am Eingang A0. Der ESP wandelt also die Eingangsspannung in einen Wert um, der irgendwo zwischen 0 und 1023 liegt. Mit den Angaben für 0=0 und 1023=5600 Liter (bei mir) kann der ESP den Füllstand auf 5,4 Liter genau berechnen. Das ist mehr als ausreichend. Die Berechnung in der Rule mache ich nur, weil ich im ioBroker nicht noch ein Umrechnungsscript laufen lassen will. Da sollen nur noch die absoluten Werte ankommen für Füllstand und Prozent Füllstand, die ich dann in meiner VIS verwurste. Da es ja in letzter Zeit immer geregnet hat, ist meine Zisterne bis zum Überlauf gefüllt, so dass ich bei mir die Höhe der Wassersäule gut messen konnte, dann brauchte ich noch den Durchmesser auf Höhe des Wasserspiegels, damit konnte ich dann das Volumen eines Zylinders recht schnell berechnen. (Betonzisterne als Zylinder mit aufgesetztem Kegel, um das mal geometrisch zu beschreiben.) Herausgekommen ist dann das Ergebnis 5600 Liter.
Sorry, wenn ich jetzt schneller war. Ich bin aber auf Dein Ergebnis und vielleicht auch auf Deine VIS gespannt. -
So ähnlich sieht meine aus das bedeutet, bis zur Mitte steigt das Volumen stärker und nimmt dann weiter zu aber langsamer.
Deine Berechnung gibt das nicht her.Espeasy unterstützt solche komplexen Berechnungen nicht, es ist aber schon eine Pull request erstellt worden.
V = r²l(arccos(r-h/r) - (r-h)√(2r*h - h²)/r²)Mit der Vis bin ich noch ganz am Anfang, die hattest du ja schon fertig als du noch auf die Teile gewartet hast
-
Hallo, @BastelKlaus ,
interessant, das ist das Tankproblem (habe ich erst mal nachlesen müssen). Wenn Du nun platt den Wert h an iobroker überträgst und die Berechnung mit einem Script im iobroker löst? -
Moin so wirds werden, nur hab ich noch keine Ahnung wo und wie ich das umsetzen kann.
Die Suche hat mir noch nichts ausgeworfen das jemand sowas schon in Iobroker gemacht hat. -
Hallo, @BastelKlaus ,
ist in der Tat nicht einfach. Du mußt ja die Variable h ermitteln. Aber die gesamte Berechnung würde ich dann doch auf den iobroker übertragen und dort rechnen.
Ich habe im Netz mal kurz gesucht, habe nur das gefunden. -
Eigentlich nicht die höhe h ist bekannt, die kann ich vom sensor ablesen.
Wie gesagt Berechnung in Excel kein Problem, nur wie ich das wieder umsetzte... -
@BastelKlaus ich würde das im Script erledigen. Den Script Adapter muss man installieren.
-
Hallo, @BastelKlaus ,
hier hat das jemand mit einem Arduinosketch gelöst. Habe das nur überflogen, kannst es Dir ja mal anschauen. Im Post #18 ist wohl der funktionierende Sketch. Dort wird das ja nur im seriellen Monitor ausgegeben. Aber Du könntest ja den von @Eisbaeeer gebauten Sketch etwas umbauen. Dann müßtest Du nur versuchen, auf den ESP8266 den Arduinosketch zum Laufen zu bringen. Ob das geht, keine Ahnung, habe ich nicht getestet.
-
Ist beides reizvoll
Wenn ich sowas über script berechnen könnte, hätte ich weiter die mir bekante Espeasy Oberfläche ( wollte noch Sensoren ran hängen). kenn mich aber mit dem script zeug noch nicht aus.
Ich hab heut schon mal probiert was vom Quellcode eines online Rechners zu klauen, vergeblich.Oder ich versuch mich an der Modifikation des Arduino sketches, evtl möglich hab da schon aweng rein gelesen.
Muss dann aber mit weiteren Sensoren schaun wie das geht.Was raten mir da die Profis?
-
@BastelKlaus
Ich bin für dich da, wenn du Fragen zum Sketch hast. Einfach wird das Projekt als Einstieg aber nicht, kann ich dir sagen. Wenn du in Zukunft noch mehr mit arduino machen willst, dann schreib deinen Code selbst. Falls es ein einmaliges Projekt wird, ESPEasy.
ESPEasy hat halt eine große Community.