Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Beispiel: Füllstandsmessung mit Pegelsonde

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Beispiel: Füllstandsmessung mit Pegelsonde

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by A Former User

      Hallo,
      viele Wege führen nach Rom, da aber Wege mühselig sein können, möchte ich Interessierten an meiner Umsetzung teilhaben lassen und so auch den Helfern durch aktive Unterstützung oder Ihren Tips in Ihren Berichten danken.

      Also nach einer Ultraschallfüllstandsmessung für einen "Heizöltank" der nur mit Wasser für die Gartenbewässerung genutzt wird, brauchte ich eine Lösung für 2 IBC Container, die im Garten verbuddelt sind. Die Umsetzung mittels Ultraschall hat mich hierfür nicht überzeugt, da zwar extrem günstig (<10€) aber auch Probleme durch Einbauten (Schallreflexionen) oder auch bei Montage an Orten wo der Sensor länger unter Wasser steht, zu erwarten sind. Also habe ich mich entschlossen hier Mittels Pegelsonde die Füllstandsmessung durchzuführen. Da es um Regenwasser/Gartenbewässerung geht war es mir wichtig auch eine möglichst Kosten/Nutzen optimierte Lösung zu wählen und habe entsprechende Bezugsquellen aus Asien gewählt, auch wenn hier lange Lieferzeiten und teils abenteuerliche technische Angaben zu Tage treten. Also generell alles hier nur im Sinn "Jugend forscht" und insbesondere Arbeiten am 230V-Netz nur von entsprechend authorisierten Personen und entsprechendes Equipment.

      Als Übersicht sieht mein Aufbau wie folgt aus:

      5a70b34d-7b6e-4eb8-84e0-1ddd8905f844-grafik.png

      Sonde:
      https://de.aliexpress.com/item/4001031191182.html

      Hierbei war mir wichtig eine 4-20mA Sonde zu verwenden, da dadurch der Kabelweg/Kabellänge die Messung nicht beeinflußt anders als bei einer Sonde in der Spannungsausführung.
      Ergänzend gibt es die Sonde in verschieden Ausführungen (0-1m,0-2m,0-3m,....). Nach meinem Verständnis beschreibt dies die Umsetzung des Sensors auf 4-20mA für den entsprechend zu erwartenden Druck bzw. Differenzdruck. Leider gibt es zu diesen Sonden kein Datenblatt, ich gehe aber davon aus, das sie den normalen Umgebungsluftdruck ermitteln und den Druck der unten an der Sonde anliegt. Diese Differenz spiegelt den Wasserstand wieder. Passt der Hersteller den zu erwartenden Füllstand optimal auf die Umrechnung der 4-20mA an, ist der Fehler hier möglichst gering. Geliefert wird immer 5m Kabel aber wie ist der Sensor justiert 0-1m, 0-2m,0-3m etc etc das macht einen Unterschied und sollte möglichst nah oberhalb dem zu erwartenden Maximum gewählt werden. Wie gerade erwähnt misst die Sonde auch dem normalen Umgebungsdruck. Hierzu sieht man ein kleines rotes Röhrchen am Ende des Kabels. Dieses Röhrchen sollte entsprechend nicht verschlossen werden und in der Lage sein normale Umgebungsbedigungen zu erfassen.

      Konverter 4-20mA zu 0-3,3V:
      https://de.aliexpress.com/item/32823522400.html

      Diese Konvertierung lässt sich natürlich auch über Widerstände realisieren. Ich finde jedoch über diese Potis hat man eine schöne Möglichkeit Feinjustierungen komfortabel vorzunehmen. Insbesondere auch die vollen 3,3V zu verwenden, wenn das Sondenmodell nicht 100% zum Pegelbereich zB 0-2,7m passt. Der Konverter sollte natürlich möglichst nah am ESP-Spannungseingang sitzen.

      Die Sonde braucht 24V dazu ein 5V zu 24V Booster (24VDC über das Poti sind genau einzustellen):
      https://de.aliexpress.com/item/32833505298.html

      Das ganze am D1 Mini mit 0-3,3V Analog Eingang:
      https://de.aliexpress.com/item/32651747570.html

      Ein 5V Netzteil (5V USB Steckernetzteil >1A sollte auch funktionieren)(Das Netzteil hat ein kleines Poti um die 5VDC genau einzustellen):
      https://de.aliexpress.com/item/4000016289453.html

      Mit kleinem Gehäuse landet man also ca. bei 40€ für den gesamten Aufbau. Um hier alles in Betrieb zu nehmen ist ein Multimeter (Spannungsmesser) dringend zu empfehlen. Wüßte nicht wie man sonst genau Feinjustieren sollte.
      Für die Justierung des Nullpunktus lässt sich die Sonde zB einfach neben den Tank/Zisterne legen und die 4mA bzw. 0V am Konvertausgang einstellen.
      Der 100% Füllstand kann bei vollem Tank oder evtl auch per Dreisatz ermittelt werden. Vor der Justierung der 100%/Maximalgrenze würde ich den D1 Mini nicht anschließen um so sicher zu stellen, dass wirklich 3,3V das Maximum sind und der D1 Mini keinen Schaden nimmt.

      Als Software habe ich ESPEasy genutzt und hier den Analogeingang per 2-Punkt Kalibrierung auf die 0-3,3V eingestellt. Sicher man kann auch mit der 0-1024 Auflösung des Speicherbereichs arbeiten. So bin ich aber extrem schnell in der Lage die Spannung am D1 Mini abzulesen und mit dem Multimeter zu prüfen. Da mich im IObroker erstmal nur 0-100% interessieren habe ich dann per Formel in ESPEasy die 0-3,3V in 0-100% umgewandelt und lasse mir dies per MQTT zum IObroker schicken:
      be92caeb-7373-40bc-ba5b-a68cdaa8e48b-grafik.png
      420e94a1-8040-411b-8307-24852ebf3d2b-grafik.png
      a7921f1a-b656-4636-901c-f9e2364a1b56-grafik.png
      Wie auch schon bei der Ultraschallmessung hat sich gezeigt, dass Messfehler durch Komponenten oder auch Spannungsschwankungen das Resultat sehr wechselhaft halten und mich stört es, wenn nichts am Füllstand passiert aber die Messung teilweise im 1/2% Bereich des Füllstandes schwankt je Messung( sind immerhin 40 Liter die hier rauf und runter gehen). Da merkt man wie wenig Sinn es macht hier mit Nachkommastelle zu arbeiten/messen.

      Entsprechend habe ich einen Softwarefilter in ESPEasy hinterlegt der die Differenz 2er Messungen ermittelt und einen Quotienten aus der Differenz als neuen Messwert mit dem alten Messwert berechnet und so einen neuen Messwert bildet. Diesen Messwert schicke ich ebenfalls per MQTT zum IObroker. Der Divisor 16 hat sich bei mir als ausgewogene Größe zur Beruhigung der Messung aber hinreichend sensibel für Füll und Leerungen ergeben. Das sollte je Bedarf angepasst werden. So sieht meine Regel dazu aus:

      On LevelTank2#Analog do
        if [var#1]=0
          Let 1,[LevelTank2#Analog]
        endif
        Let 2,[LevelTank2#Analog]-[var#1] // store difference
        Let 3,%v2%/16           // determines filter speed
        Let 1,%v1%+%v3%     // add fraction of difference
        7dn,[var#1]                 // nur für eine 7 Segmentanzeige sonst löschen 
        Publish %sysname%/LevelTank2/Level,[var#1]    // sent/publish var1 by MQTT
      EndOn
      

      c0f87625-9022-404c-8504-0ffd3a266efa-grafik.png
      Ergänzend noch das Blockly um den MQTT String im IObroker in Prozent zu nutzen und eine Umrechnung des Füllstandes für ein Tankvolumen von 2000Litern:
      312a8224-d83a-4af9-82e5-833e137d8f5d-grafik.png

      Viel Freude und gute Füllstände 🙂

      P.S.: Mit ein Grund für die ESPEasy Auswahl war die einfache Nutzung einer 7 Segment Anzeige um mir lokal am D1 Mini den Füllstand anzeigen zu lassen. Optional und nice to have zB: ein TM1637. Achtung hier gibt es 2 Versionen. Eins für die Anzeige von Uhrzeiten (Doppelpunkt in der Mitte) und eine Version die Kommas darstellen kann. Wobei bei der geschilderten Genauigkeit die Darstellung hinterm Komma sehr fraglich ist....

      1 Reply Last reply Reply Quote 2
      • First post
        Last post

      Support us

      ioBroker
      Community Adapters
      Donate

      931
      Online

      31.9k
      Users

      80.2k
      Topics

      1.3m
      Posts

      1
      1
      1422
      Loading More Posts
      • Oldest to Newest
      • Newest to Oldest
      • Most Votes
      Reply
      • Reply as topic
      Log in to reply
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
      The ioBroker Community 2014-2023
      logo