Messstation Klimadaten mit Arduino

Nachfolgend wird die Funktionsweise der Klimamessstation beschrieben.
Die Station ist in einer wasserfesten Box auf dem Balkon installiert.
Vor Sonneneinstrahlung und Regen geschützt, misst ein Sensor die Temperatur und die relative Luftfeuchte.

Die Messwerte werden über WLAN an eine SQL-Datenbank übermittelt und schliesslich in Form eines Diagrammes auf der Webseite dargestellt.
Die Anlage ist zur Zeit im Testbetrieb und soll später die Bewässerung im Gemüsegarten steuern.

Der Sinn dieser Anlage wird es sein, den Gemüseertrag im Garten durch intelligente Bewässerung zu steigern.

Funktionsweise der Messstation (später Gartensteuerung)

Die Faszination den Pflanzenwachstum im Garten technisch zu unterstützen ist gross. Besonders wenn damit dem Besitzer nicht nur die tägliche Bewässerung abgenommen werden kann, sondern zusätzlich auch der Ertrag der Ernte gesteigert werden kann. Als Nebeneffekt generiert die Anlage einen beachtlichten Anteil an Daten in Form von Messwerten, welche einen Rückblick auf die letzten Monaten und Jahre zulassen.
Dadurch wird es möglich von Jahr zu Jahr immer mehr Daten zu interpretieren, damit die Saat entsprechend den natürlichen, lokalen Gegebenheiten entsprechend angepasst werden kann.

Im Oktober 2009 ist mir die Idee eine Bewässerungsanlage für mein Garten zu bauen gekommen und ich habe mich auf die Suche der passenden Baugruppen für diese Anlage gemacht.
Da ich ein Abonnent von makezine bin, lag es nahe dieses Projekt mit dem Mikrocontroller Arduino umzusetzen. Arduino lässt sich einfach programmieren und unterstütz eine grosse Menge von zusätzlichen Boards. Die grosse Anzahl analoger und digitaler Ein- und Ausgänge beinhaltet genügend Steuer- und Messmöglichkeiten. Mit dem Zusatzboard WiShield kann der Arduino einfach an das WLAN angebunden werden. Aufgrund dieser Eigenschaften von Arduino war die Wahl des Mirkokontroller bald getroffen.

In den nachfolgenden Wochen und Monaten habe ich mich daran gemacht erste Programmierungen vorzunehmen und zusätzliche Hardware anzubinden.
So musste beispielsweise die Bewässerungsfunktions und die Stromversorgung der Anlage konzipiert werden.

Bewässerung:
Ein, in der Erde vergrabenes Kunstofffass (mit 60 Liter Inhalt), dient als Wasserreservoir.
Das Fass ist aus drei Gründen in der Erde vergraben
- Ästhetik des Gartens
- verminderte Verdunstungsrate während des Sommers
- zum Schutz von spielenden Kleinkinder (Ertrinkungsgefahr)
Damit jederzeit der Inhalt des Fasses elektronisch ermittelt werden kann, wird mittels einer Ultraschallmessung die Distanz vom Deckel bis zur Wasseroberfläche gemessen. Der Mikrokontroller rechnet diesen Distanzwert mit den Angaben zum Fass und der Volumenformel in Liter um. Diese Messung ist sehr störunanfällig da der Sensor nicht mit Wasser in Kontakt kommt. Diese berührungsfreie Messung hat gegenüber von mechanischen Messverfahren den Vorteil, dass sich nichts verklemmen oder korrodieren kann.

Nebst dem Ultraschallsensor ist im Deckel das wichtigste Element der Anlage untergebracht, die Wasserpumpe. Damit die Anlage auch spät abends oder sogar nachts betrieben werden kann ohne Nachbarn zu stören, wird auch die Pumpe unterirdisch untergebracht. Der Betrieb der Pumpe wird vom Mikrokontroller aus gesteuert. Vorgesehen ist ein manueller Betrieb auf Wunsch, und eine Automatik nach Zeitplan und Feuchtemessung.

Stromversorgung im Inselbetrieb:
Als Versorgung im Garten eignen sich zwei Systeme, eine Solarzelle oder ein Windgenerator.
Da meine Anlage relativ wenig Leistung braucht, habe ich mich für die Solarzelle entschieden. Es kommt hinzu dass die Hauptanwendung die Bewässerung ist, und diese ist insbesondere an sonnenreichen Tagen nötig. An Tagen mit weniger Sonneneinstrahlung wird weniger Strom produziert, es muss aber auch kein Wasser gepumpt werden.
Um den Bau der Anlage so einfach wie möglich zu halten, habe ich einen Solarladeregler gekauft, welcher nebst dem Laden der Akkus auch die Funktion eines Tiefeentladeschutzes beinhaltet. Sobald die Akkus nicht mehr genügend Spannung haben, trennt der Laderegler alle Lasten bis der Akku wieder genügend nachgeladen werden konnte. Ein solcher Schutz ist nötig um die Bleigelakkus an sonnenarmen Tagen nicht bis zur Zerstörung zu entladen.

Webserver mit Zusatzfunktionen:
Aufgrund des gewählten Stromversorgungskonzept stellte sich das nächste zu lösende Problem: Was sieht der Benutzer im Internet wenn der Controller gerade abgeschaltet ist?
Um dieses Problem zu lösen, habe ich mich entschieden alle bisherigen Daten in eine mySQL Datenbank auf dem Webserver zu laden.
Beim Aufruf der Internetseite werden diese Daten mit PHP zu Diagrammen aufgearbeitet damit der Benutzer sieht wann der Controller das letzte Mal aktiv war.
Aus dem Verlauf der Kurve mit der Akkuspannung kann ausserdem im Fehlerfall interpretiert wann sich die Anlage ausgeschaltet hat.

Diese Problemlösung hat es notwendig gemacht die Anlage mit einem Webserver zu kombinieren, was wiederum mehrere Vorteile brachte:
- die dynamische IP Adresse (von meinem Provider) kann auf dem Webserver zu einer statischen Adresse verlinkt werden
- alle gesammelten Daten können als Historie in Diagrammen dargestellt werden
- der Mikrokontroller wird nicht mit Aufrufen von Usern belastet, diese Aufrufe werden durch den Webserver abgearbeitet
- ich kann diesen Beschrieb der Öffentlichkeit zu Verfügung stellen :-)

Hardware:
Nebst der Elektronik ist auch die Mechanik ein wichtiger Bestandteil der Anlage. Eine optimale Bewässerung muss das Wasser gleichmässig auf das Gartenbeet verteilen. Dies kann mit einem Sprinkler oder einem Schlauch mit Löchern gemacht werden. Der Sprinkler ist teurer, hat aber den Vorteil dass das Wasser gleichmässiger verteilt wird. Konstruiert man selber ein Schlauch mit Löchern, so ist dies relativ schwierig damit vom Schlauchanfang bis zum Schlauchende ungefähr gleich viel Wasser austritt.
Eine andere Herausforderung stellt die unterirdische Unterbringung der Komponenten dar. Nebst dem Wasserfass ist auch die Pumpe, die Akkus und der Ultraschallsensor in der Erde vergraben. Diese müssen aber von Feuchtigkeit geschützt werden damit diese nicht zerstört werden. Das Wasserfass muss einen Zugang zur Oberfläche haben, damit jederzeit Wasser nachgetankt werden kann.

Der Mikrokontroller mit dem WLAN-Chip muss aufgrund der WLAN-Reichweite oberirdisch montiert werden. Ich habe vorgesehen diese in einer wasserdichten Kunstoffbox an der Rückseite der Solarzelle zu montieren.

Feuchtemessung:
Um die Bewässerung optimal zu steuern muss die Feuchte im Gartenbeet gemessen werden können. Die Feuchtemessung muss sehr zuverlässig funktionieren, da ansonsten über die Fernsteuerung die Bewässerung gestartet wird, auch wenn es lokal vor Ort gerade am regnen ist oder noch genügend Feuchtigkeit in der Erde hat. Es muss eine Feuchtemssung gefunden werden, welche sich auf den Mikrokontroller adaptieren lässt. Optimal wäre also ein Sensor, welcher eine Skala von 0-100% mit einem Messwert von 0-5Volt angibt. Ziel ist es auch nicht nur ein kleiner Teil des Gartenbeets zu messen, sondern den Durchschnitt einer möglichst grossen Fläche ermitteln zu können. Schliesslich soll die Bewässerung nicht vorgenommen werden wenn nur ein ganz kleiner Teil des Gartenbeets ausgetrocknet ist.

 

Verwendete Komponenten:

Arduino Mikrokontroller

WLAN-Board zu Arduino

SHT 15 Temperatur- und Feuchtesensor