Pegelmessung


Mein Kumpel Guido, auch ein Geocacher, lebt in der Rhön in Thüringen. Wir haben uns zwar noch nie getroffen, trotzdem telefonieren wir fast täglich. Begonnen hat alles mit dem Geocaching, zu dem ich ihn „verführt“ habe. Aber darum geht es hier nicht. 


An seinem Grundstück fliesst das Flüsschen Felda vorbei. Eigentlich ganz idyllisch, wenn sie nicht manchmal spontan ansteigt und alles - inklusive seinem Keller - unter Wasser setzt.


Daher musste nun eine Pegelmessung her. Ähnlich wie meine Wetterstation besteht sie aus 2 Teilen: Einem Sender mit dem Sensor und einem Empfänger mit einem LCD Display, Der Sender befindet sich direkt über der Felda, der Empfänger im Haus.


Der Sender


Mit ihm hatte ich einige Probleme. Zunächst bestand er aus einer nodeMCU ESP8266 und einem üblichen Entfernungssensor auf ToF-Basis. Das Ganze sollte auf ein Rohr montiert werden, in dem sich ein Schwimmer befinden sollte. Die letzte Überschwemmung hätte diese Konstruktion nicht überlebt und so haben wir Monate über eine Alternative nachgedacht. Würde so ein Sensor eine größere Reichweite als die üblichen maximal 2m haben, dann könnten wir ihn höher anbringen und ohne Rohr und Schwimmer direkt die Entfernung zur Wasseroberfläche messen. Schließlich fand ich einen solchen Sensor (TFmini Plus). Er kostet zwar knappe 50€, hat jedoch eine Reichweite bis über 12 Meter. Als ich ihn dann mit dem ESP8266 auslesen wollte, scheiterte das leider. Schließlich stieg ich als Grundhardware auf einen Arduino WiFi MKR 1010 um. Ich musste wieder einiges Neues lernen, aber schließlich funktionierte es. Heute wurde dann alles in ein Gehäuse gebaut, das ich selbst konstruiert und auf meinem 3D-Drucker gedruckt habe.


Links sieht man eine Gehäuseseite mit 3 LEDs, rechts das Gehäuse von unten mit dem Sensor.


Wesentliche Funktionen:


  •     Verbindung über WiFi mit dem Internet
  •     Berechnung des Pegels aus mehreren Messwerten
  •     Senden der Daten zur Empfangseinheit
  •     Senden der Daten auf einen Kanal bei Thingspeak
  •     Diverse Routinen zur Fehlererkennung und -behebung (inkl. Neustart des Systems)
  •     3 LEDs zeigen den Betrieb und Ereignisse wie das Messen des Pegels und Senden der Daten an.
  •     Bei einem normalen Pegel erfolgen Messung und Übertragung alle 30 Minuten, im Warnbereich alle 10 Minuten und ab der Alarmschwelle minütlich.


Der Empfänger


Der Empfänger basiert auf einem ESP8266, einer Real-Time-Clock (RTC), einem 4x20 LCD-Display und 3 LEDs. 


Wesentliche Funktionen:


  •     Verbindung über WiFi mit dem Internet
  •     nachts erfolgt ein Abgleich der Zeit mit einem NTP-Server
  •     automatische Umstellung zwischen Sommer- und Winterzeit
  •     Anzeige des Pegels, dem Abstand bis zur Alarmschwelle, Datum und Uhrzeit der letzten Messung
  •     Die 3 LEDs zeigen den Status (Normal, Warnung und Alarm) an.
  •     Diverse Routinen zur Fehlererkennung und -behebung (inkl. Neustart des Systems)


Weiterentwicklung


Mittlerweile steuert der Empfänger zwei ca. 2m lange Neopixelstreifen an dem Garagentor an, die den Pegel anzeigen. Damit ist das kleine Display am Empfänger eigentlich nicht mehr nötig. Man kann jetzt aus ziemlicher Entfernung den Pegel ablesen.