NEWS
Füllstandsmessung per Pegelsonde.
-
@zptxt sagte in Füllstandsmessung per Pegelsonde.:
Bin auf der Suche nach einer Bezugsquelle für die 5V-Sonde.
Schau mal hier: https://github.com/Eisbaeeer/MQTT.PressureProbe.ESP32.Cistern
Dort findest du ganz unten ein Bild mit der Bezeichnung QDY30A. Genau das was du suchst.
Gruß Lars -
Hi, meine Zisterne ist nun voll. Aber mein Code funktioniert irgendwie nicht...
Das sind meine Messreihen.
# 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:
[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
Er sollte ja eigentlich mindest 53cm auswerfen?! Wo ist mein Denkfehler?
-
@draexler Homeassistant ist jetzt nicht mein Gebiet.
Du solltest aber die ganze Config posten, dann kann dir sicher jemand sagen, ob es passen sollte bzw. was falsch ist. Hast du auch Filter gesetzt?
Und hier ist auch noch der fehlende Link zum beschriebenen Projekt oben: nachbelichtet.com
Grüße Lars -
@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.