NEWS
Füllstandsmessung per Pegelsonde.
-
@eisbaeeer Klar, sorry hier die Komplette YAML. Ich mache das ganze über ESPHOME.
esphome: name: aussenbereich-zisterne friendly_name: aussenbereich-zisterne esp8266: board: d1_mini_pro # Enable logging logger: # Enable Home Assistant API api: password: !secret api_password # OTA ota: password: "1234" # Enable WIFI wifi: ssid: !secret wifi_ssid password: !secret wifi_password fast_connect: True # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "aussenbereich-zisterne" password: "1234" ############## captive_portal: # i2c Bus auf D1 und D2 konfigurieren i2c: id: bus_a sda: D2 scl: D1 scan: True # ADC einrichten, ADDR-Pin ist auf VCC gelegt, daher Adresse 0x49 ads1115: - address: 0x49 id: ads1115_49 # ADC Kanal A0 zur Messwerterfassung sensor: - platform: ads1115 multiplexer: 'A0_GND' gain: 4.096 name: "Wasserstand Zisterne cm" update_interval: 2s unit_of_measurement: cm accuracy_decimals: 1 # Messwerte glätten: filters: - sliding_window_moving_average: window_size: 10 send_every: 10 # Spannungen nach Messreihe in Füllhöhe umrechnen - calibrate_linear: - 0.0 -> 0.0 - 0.28 -> 8 - 0.69 -> 18 - 1.00 -> 28 - 1.35 -> 38 - 1.70 -> 53
Im Log kommt aber das raus, obwohl er ja 1,715 misst.
[14:59:26][D][ads1115:186]: 'Wasserstand Zisterne cm': Got Voltage=1.715875V [14:59:26][D][sensor:109]: 'Wasserstand Zisterne cm': Sending state 50.56017 cm with 1 decimals of accuracy
-
Hallo zusammen,
ich habe nun alles zusammengelötet und gestartet nach Anleitung @ElseKling
Im ESPEASY Webinterface alles so eingestellt. Die Füllstandsanzeige funktioniert nun auch. Nur die Umrechnungsrule will nicht funktionieren.
Gibt es da etwas neues im ESPeasy. Habe die neueste Mega geflasht. Es steht aber immer 0 Liter drin obwohl zurzeit die 100% erreicht sind. -
Niemand eine Idee? Will jetzt nicht mein Blockly manipulieren nur damit es passt. Hat ja sicher auch Auswirkung auf die restlichen Berechnungen.
-
Hi all,
hilfe ich komme nicht weiter ... sorry
ich habe die Schaltung wie von @ElseKling nachgebaut. Und Ziel ist die Spannungswerte ohne Umrechnung via MQTT zu senden. (Umrechnung kann ich dann in Node Red machen ..).
Problem ist der Strom-Spannungs-Wandlermodul (von Amazon Eujgoov 0/4-20mA Signalumwandlungsplatine 0-3,3V/5V/10V Spannungssender) wird heiss und und beginnt zu "fiiepen".
Ich bin mir sicher die Verschaltung ist korrekt, und ich habe die Spannung schon auf 15V reduziert ... es wird etwas langsamer heiss ...was mache ich falsch ? hat schon jemand das Problem ? ist das Bauteil womöglich defekt?
Danke....
-
@draexler said in Füllstandsmessung per Pegelsonde.:
ESPHOME
Frage zu ESPHOME in Kombination mit dem D1_mini sowie dem ADS1115:
ESPHOME kompiliert den YAML-Code und beschreibt den D1_mini. Soweit verstanden.
Aber wie wird der ADS1115 "konfiguriert"?
Ferner frage ich mich, was die Adresse 0x49 zu bedeuten hat.
In welchen Fällen muss ich den ADS1115 auf 0x48 stellen, und in welchen Fällen auf 0x49?
Welchen Zweck erfüllen die unterschiedlichen Adressen? -
@muellerk Ich habe das Projekt auch nur nachgebaut. Das mit dem dem 0x49 und 0x48 kann ich dir nicht erklären.
Aber im Endeffekt misst du ja nur die Spannung die an einen GPIO wieder ankommen und dieses Wert rechnest du im. Entweder direkt in der YAML oder halt im einen Skript (Blockly z.B.).
Natürlich muss du vorher das ganze Einmessen. ich habs in 10cm Schritten gemacht.
-
@draexler said in Füllstandsmessung per Pegelsonde.:
Er sollte ja eigentlich mindest 53cm auswerfen?! Wo ist mein Denkfehler?
Ich glaube, ich habe eine passende Antwort gefunden:
Zuerst sagst du, die Spannung 1.35 bekommt den Wert 38.
Anhand dieser Referenz entspricht die Spannung 1.715875 den Wert 48,2987037037037 (Dreisatz!)Dann sagst du, die Spannung 1.70 bekommt den Wert 53.
Anhand dieser Referenz entspricht die Spannung 1.715875 den Wert 53,49492647058824 (Dreisatz!)Wenn du nun die beiden Werte (mit den vielen Nachkommastellen) addierst, bekommst du den Wert 101,7936301742919.
Und wenn du diesen dann durch 2 teilst, um den Mittelwert zu bilden, dann kommt man auf den Wert 50,89681508714597, also fast genau den Wert, den auch dein Log ausgeworfen hat.Die leichte Abweichung zu deinem Log-Wert 50.56017 hat wohl damit zu tun, da du noch weitere Referenzen angegeben hast.
Fazit: Es wird wohl immer ein "Mittelwert" gebildet.
-
Hallo,
ich habe unter https://www.thingiverse.com/thing:6177829 mal meine Variante geladen. Ist vllt. eine Hilfe für Leute die ESP easy verwenden möchten. Danke @saeft_2003 für dein Bild, das hat mir auch geholfen.
-
grandios wie der Therad hier "ausgeartet" ist.
nach 5 Jahren melde ich mich mit einem Erfahrungsbericht
Das Setup war jetzt 5 Jahre im betrieb. vor paar wochen traten sehr starke schwankungen auf. Hab daraufhin eine neue sonde bestellt. Jetzt hab ich noch bessere messungen wie vorher
Bestellte sonde:
(https://de.aliexpress.com/item/1005002655746818.html?spm=a2g0o.order_list.order_list_main.5.73765c5fWq4ffG&gatewayAdapt=glo2deu)Vorher:
Nachher:
-
Hallo!
Gibt es denn Nachteile wenn man die Sensoren nimmt wo der Spannungsbereich gleich auf 3,3 oder 5 Volt ausgegeben wird?
Etwa in der Auflösung?Man könnte so ja ohne "offene" Bauteile auskommen.
-
@opossum Hallo, Die View ist das dann nur der Tank ? Hab es mal Importiert finde das Widget nicht wie kann ich es finden? VG Frank
-
Moin allerseits,
sehr spannendes Projekt.Ich habe nicht alle Beiträge gelesen, anfangs (2019) gab es wohl Probleme mit Messwertschwankungen mit D1-Mini durch WLAN.
Kann mir einer einen Tipp geben, welche Lösung sich mit WLAN als tauglich herausgestellt hat?
D1-Mini, Raspi, Arduino, oder doch was Anderes?
Ich möchte die Daten gerne per MQTT an ioBroker schicken. Da bietet sich ESPEasy natürlich an.Wird diese Lösung irgendwo im Thread beschrieben, idealerweise sogar mit einer Liste der benötigten Komponenten?
Ich danke euch.
-
ich verwende auch einen wemos mit tasmota der natürlich über wlan die Daten übermittelt und habe keine Messschankungen. Das ganze läuft bei mir schon 1,5-2 Jahre...
-
@arni_banone
Hi,
ich habe seit einem Jahr einen ESP32-Wroom DevKit an meinen Sonden (3 Stück in verschiedenen Zisternen / IBC Tanks) und spiele die in mein ioB ohne Probleme. Auf dem EPS läuft bei mir ebenfalls EspEasy mit einer individuellen, spezifischen Kalibrierung für jede Sonde.
VG! -
Moin, ich habe nun auch nach diesem oben genannten Schema meine Füllstandsanzeige aufgebaut.
Verwendete Komponenten:
ESP32 WROOM Development Kit V4
1,8" TFT Display 128x160 ST7735 (war vorhanden)
Netzteil: Vorhandenes 5V Steckernetzteil
DC/DC converter 5V->24V
I->U Converter: 0 mA ... 20 mA -> 0V ... 3.3V (wird noch angepasst)
Sonde bis 1,7 m, da meine Zisterne nur 1,6m tief ist mit 4mA...20mA SignalSignale werden erfolgreich gelesen und auf dem Display angezeigt, sowie per MQTT an ioBroker gesendet. Soweit alles ok.
Ich möchte nun den Display Button aktivieren, damit das TFT nicht einbrennt.
Der Button funktioniert auch hardware-technisch. GPIO4 mit Input Pullup wird per Taster auf GND gezogen. PEgel sind 3,3V und 0V, passt.
Jedoch funktioniert er nicht mehr, wenn mein Rules Skript läuft. Dieses sieht folgendermaßen aus und ich bin wirklich Amateur auf dem Gebiet:
Wenn das Skript läuft, dann ist das Display dauerhaft an und flackert alle zwei Sekunden entsprechend dem Timer einmal kurz, bleibt aber an. Der Timer scheint es ständig zu aktivieren, sodass der Button overruled wird.
Hat jemand eine Idee?Nachtrag:
Habe nun die Berechnung und Ausgabe auch auf den Button-Trigger gelegt, sodass kein Timer mehr aktiv ist. Damit funktioniert es. Die Werte werden dann per Knopfdruck aktualisiert.
-
Nun läuft soweit alles, aber die Werte schwanken extrem.
Habe die 5V mit einem 50µF Elko stabilisiert, das half aber nichts.
Ich nutze ESP32 Wroom V4 mit externer Antenne.Kann es am Wlan liegen und müsste das besser werden, wenn ich die Antenne abschraube?
Die Ausschläge sind mir doch etwas zu groß.
Werte in Digits (Analog In) während der Entnahme von Wasser.
-
@arni_banone bei mir kamen die Schwankungen daher, dass die Sonde für einen viel größeren Messbereich ausgelegt war. Dann führen kleinste Veränderungen zu einem größeren Rauschen. Mit der passenden Sonde passte es dann.
-
@elsekling
Okay. Ich habe die 0 m ... 1,7 m Sonde bestellt bei max. 1,63 m Wasserstand, das sollte also passen.
Werde mal versuchen, den Analogeingang mit einem Kondensator zu bedämpfen und mal ein anderes Netzteil testen.
Wenn ich die Antenne abschraube, dann wird der Wert nicht stabiler. -
@arni_banone Ich habe exakt dieselbe Pegelsonde bestellt.
Bei mir pendelt der Wert auf dem Testaufbau so gering, dass ich die Höhe auf 0,3mm genau bestimmen kann. Das wäre in meiner Zisterne eine Genaugkeit die gar nicht notwendig wäre. Das wäre auf den Liter genau. Ich habe allerdings einen ADS1115 verwendet mit Gain auf 1 (bis 4V). Ich messe 200 mal (Der ADS ist relativ langsam und benötigt für eine Messung 1,2 ms) und errechne mir den Durschnitt. So ab 100 Messreihen bleibt der Wert damit schon erschreckend ruhig. Die Standardabweichung ist gering. Der Wert pendelt ca. 0,0-0,3 mm wenn überhaupt. Ähnlich wie bei @rostnagel. Verwendet habe ich ein D1 Mini per MQTT an iobroker mit Webinterface und OTA Update MöglichkeitOb der Sensor komplett linear ist konnte ich noch nicht genau ermitteln. Hatte ein HT rohr auf 2m und die Sonde hat 22,x mA Ausgegeben (Sonde geht bis 1,7m = 20mA normal). eigentlich Wollte ich die Sonde in verschiedene Höhen kalibrieren aber da bin ich mir noch nicht sicher wieviel Sinn das macht da die Sonde auch das Wasser verdrängt mit dem Kabel und die Höhe mit verändert. (in kleinen Gefäßen merkt man das dann). Vermutlich besser wäre wenn die Sonde auf Grund ist und man dann Wasser dazugibt und die Höhe ermittelt. Aber man sieht dann den Stand nicht. Eigentliche sollte es reichen ein Minimal Wert und einen Maximal wert zu haben (sofern die sonde sich wirklich linear verhält was sie eigentlich tun sollte). Die Genauigkeit in der Eintauchtiefe waren jedenfalls gegeben.
@Arni_Banone hast du denn mal mit einem Multimeter gemessen ob die Spannung so stark springt?
-
Moin Moin,
Danke ersteinaml an alle die das Ganze hier ans Laufen gebracht haben und die Feinheiten ausgearbeitet haben, an dene wir uns alle erfreuen dürfen. Top!
Da ich derweil auch an der Thematik dran bin, um die Zisterne von einem Freund smart zu machen, mich aber die Tatsache bzgl. eines geeigneten Gehäuses für die Elektronik genervt hat, hab ich heute einfach Eines entworfen und möchte euch dieses natürlich nicht vorenthalten (hab mich extra angemeldet, um alles zu posten).
Lange Rede kurzer Sinn, beim Kollegen ist folgende Situation:Der Anschluss der Pegelsonde kann in der Zisterne über bestehende Verdrahtung direkt in den trockenen Keller weitergeleitet werden, dass die Elektronik keinerlei Nässe ausgesetzt ist.
Dazu habe ich ein Gehäuse mit Deckel für die Wandmontage erstellt, indem die Bauteile fest (teils verschraubt, teils geklemmt) sind.Folgende Bauteile wurden verwendet:
-
ESP8266
-
Strom-Spannungs-Wandlermodul
-
DC-DC Netzteil Adapter Step up Modul
-
DC Power Connector
Bei dem Gehäuse werden lediglich der DC-Anschluss (für die Pegelsonde) und der MicroUSB-Anschluss (sollte auch für USB-C klappen; zur Stromversorgung) nach Außen geführt.
Vielleicht kann der ein oder andere damit etwas anfangen, für mich, bzw. den Freund, langt es.
Achja, bin nicht so affin mit CAD-Zeichnungen, also bitte etwas Nachsicht oder im besten Fall natürlich ein paar Tips zur VerbesserungHier die STL-Dateien aus Fusion360...
ZisternenBox.stl
Zisterne_Deckel.stl -