Ich habe lange Zeit nicht mehr an meine Zisternen - Pegelstandsmessung gearbeitet, dann kam noch ein bisschen Stress mit Uni und Arbeit hinzu und schwups vergeht die Zeit. (Artikel geschrieben im Jahr 2018 jetzt mal veröffentlicht)
Diesen Sommer aber habe ich mich mal wieder an meine Zisternen-Pegelstandsmessung gesetzt, die ja eigentlich schon fast fertig war, und das Projekt zu 99% finalisiert.
Der letzte Stand der Pegelstandsmessung basierte immer noch auf einem Arduino Leonardo, das ganze habe ich geändert. Immerhin schreiben wir ja jetzt schon das Jahr 2018, in jedem Ding ist "Internet" und somit auch in meiner Zisternen-Pegelstandsmessung. Wie ich das WLAN in die Garage brachte könnt Ihr hier nachlesen.
Als Board benutze ich einen Wemos basierend auf einem ESP8266. Nicht in der kleinen Version sondern wie auf dem obigen Bild in der grossen Version. Ich hatte ja das Gehäuse vorher schon auf das normale Arduino Layout vorbereitet.
Blynk
Nicht nur verwendete ich einen Wemos sondern diesmal auch Blynk. Blynk ist toller Service der eure Projekte sofort Startklar fürs Internetzeitalter macht. Alles was Ihr braucht ist die Blynk-App (http://www.blynk.cc) und falls Ihr es euch zutraut einen eigenen Blynk-Server.
Das ganze schaut dann in der Blynk App ungefähr so aus:
Hinzugekommen ist noch ein kleines Relais, welches sich an der Deckel-Innenseite befindet. Mit dem Relais kann die Pumpe an und aus geschalten werden.
Code
Im Prinzip wird nichts großartiges gemacht. Die Sensoren werden initalisiert. Jede Sekunde wird eine Messung durchgeführt. Das Display wird aktualisiert.
Mithilfe des Ultraschallsensors wird der Abstand zur Wasseroberfläche gemessen. Mit diesem Wert kann dann, wenn man weiss wie groß die Zisterne ist und wie weit der Sensor von der Wasseroberfläche installiert ist den ungefähren Füllstand berechnen.
Den kleinen Schalter vorne toggled den ON/OFF-State des Relais.
Probleme und Bugs
Mit der Zisternen Füllstandsanzeige bekommt man also keine Liter genaue Anzeige. Das funktioniert einfach nicht mit einem relativ ungenauen Ultraschallsensor. Die Oberfläche der Zisterne ist zu groß und eine Änderung des Füllstandes von nur einem Centimeter würde bei meiner Zisterne ca. 60Liter ausmachen. Ich benutze die Anzeige einfach als groben richtwert. Leider zeigt mir mein Ultraschallsensor auch noch relativ "nahe" Werte an, obwohl die Zisterne schon leer ist. Ich denke dies liegt einfach an dem Installationspunkt an dem ich den Sensor installiert habe. Der Schall reflektiert an dem Schacht und gibt mir dann falsche Werte.
Desweiteren schwankt der Messwert immer mal wieder um einige Centimeter. Moving-Average zum glätten der Werte ist schon eingebaut, nur hier müsste man noch ein Average über mehrere Werte machen.
Fazit
Wer nur ungefähr wissen will wie voll die Zisterne ist, für den ist das ein cooles kleines Projekt. Was auf jeden Fall nicht funktioniert ist, die %-genaue Anzeige oder gar Liter genaue Anzeige.
Alternativen zum Ultraschall-Sensor wären Optische-Entferungsmesser-Module. Oder Druck-Sonden hier: (Aliexpress Click) oder auf Amazon hier: Click.
Ich habe zu den Druck-Sonden auch einen Blog Artikel geschrieben, diesen gibt es vorerst nur in Englisch:
If you press this Button it will Load Disqus-Comments. More on Disqus Privacy: Link