Wasserstand in der Zisterne mit Arduino

Etwas Technik im Garten darf schon sein. Unser Wasservorrat zu Hause bezieht sich aus diversen Fässern und aus einer Zisterne, welche an zwei Dachflächen vom Haus angeschlossen ist. Sie fasst einige Kubikmeter und lässt sich aber schwer einschauen, da sie ebenerdig und nur mit einer kleinen Öffnung versehen ist.
 

 
Mitunter rätselt man dann, wieviel Wasser noch zur Verfügung steht. Also sollte eine Füllstandsanzeige realisiert werden, die den Füllstand auch noch in Liter Wasser umrechnet. Die Rechenaufgaben soll ein Arduino Nano übernehmen, die Anzeige ein OLED-Display. Unser OLED-Display ist recht klein, reicht uns aber aus. Softwaremäßig angebunden ist es über die Adafruit-Library für den SSD1306-Controller. Da wir hier schon einige Erfahrungen haben, setzen wir einen Ultraschallsensor zur Bestimmung des Abstands zur Wasseroberfläche ein. Der funktioniert gut in Ölbehältern, bei Wasser müsste er eigentlich etwas gegen Luftfeuchte geschützt werden…
 

 
Aber Messungen mittels Schwimmer und Seilzug oder Rohrkondensator (Wasser als Dielektrikum) haben wir schnell wieder verworfen, weil entweder zu kompliziert zu realisieren oder auf Dauer auch nicht korrosionsfest. Bleibt unsere Distanzmethode per US-Sensor als Alternative. Einfach auch in’s eigene Arduino-Sketch zu integrieren. Zur Mathematik: Der Behälter ist kreisrund, und da Durchmesser, Abstand des Überlaufs zum Boden und Einbauhöhe des Sensors bekannt sind, lässt sich alles recht leicht ausrechnen. Ich habe mir überlegt, den Ultraschallsensor mittels einer Spange am Betondeckel zu befestigen, dadurch kann er im Winter und für Wartungsaufgaben leicht wieder entfernt werden.
 

 
Der Sensor sitzt in einer Miniverteilerdose (aus dem Handel), die Platine im Inneren ist dank Heißkleber und Lack recht gut geschützt. Die offenen Sender und Empfänger sind nicht wasserdicht, mal sehen, inwieweit die Luftfeuchte in der Zisterne das Ganze angreift. Dann soll auf einen abgedichteten Sensor (wie u.a. in PKWs) ausgewichen werden. Die restliche Elektronik (Nano, Display, Batterie) ist im Gehäuse einer LED-Leuchte verbaut. Dadurch war alles regensicher (mit Silikon nachgeholfen) und preiswert zu realisieren (2,79 Euro für eine Leuchte im Sonderangebot).
 

 
Wir haben inmitten des Gartens keine Möglichkeit ans Stromnetz zu gehen. Die Stromversorgung übernimmt deshalb ein 9V-Block und ja, die Anzeige ist nicht permanent in Betrieb. Der Verbrauch ist zwar moderat, aber für einen Dauerbetrieb hätten wir einen Akku tagsüber aufladen müssen. Die Zelle der Solarleuchte erschien dazu nicht ausreichend. Vielleicht entwerfen wir später eine entsprechende Ladeelektronik zur Versorgung mit mindestens 5V Betriebsspannung und die Anlage funkt dann etwa seine Messwerte ins Netzwerk. Das soll die nächste Ausbaustufe sein. Jetzt trennt erstmal ein Schalter. Das ist wenig Aufwand im laufenden Betrieb, man darf nur nicht vergessen, wieder auszuschalten.
 

 
Die Anzeige hat nun zwei Modi, im Abstand von 10 Sekunden wechselnd, zeigt sie entweder die Füllmenge in Litern und eine kleine Füllstandsgrafik oder aber klassisch den Füllstand in Zentimetern an. Erreicht dieser den Überlauf, wird zusätzlich mit dem Label „voll“ quittiert. Im Fehlerfall gibt es einen entsprechenden Hinweis im Display und es wird im Sekundenabstand die letzte Messung wiederholt. Ist bisher nicht aufgetreten, keine unerwünschten Reflektionen im Inneren also. Aber zum Debugging ganz hilfreich. Außerdem haben wir unsere Software recht tolerant aufgebaut. So dürfen Messungen, die über die Grenzwerte hinausgehen, auch auf ein einstellbares Maß (z.B. 5cm) scheitern, dann wird auf- oder abgerundet. Recht günstig, wenn man sich mit den Zisternenmaßen beim Einbau des Sensors etwas verschätzt.

Wenn ihr das noch genauer nachlesen wollt, dann gerne auf unserer Website unter http://www.smartewelt.de/sw4/?q=zisterne . Und echt, das Ganze hat sich schon bewährt, wenn ich bedenke, dass sogar der Vater regelmäßig nachschaut, wieviel Vorrat denn noch da ist…
 

Swen Hopfe

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert