Feuchtigkeitssensoren für Gießanlagen
über
Von Peter Tschulik (Österreich) und Christof Hübner (Deutschland)
Schon seit vielen Jahren setze ich automatische Gießanlagen ein, um nicht Sklave meines Grünraums zu sein. Meine erste Anlage bestand aus einer simplen Zeitschaltuhr mit preiswerten Magnetventilen, wie sie beispielsweise in Waschmaschinen eingesetzt werden. Die nächste Generation war schon mit einem Arduino samt Display bestückt, informierte sich über einfache, kapazitive Feuchtigkeitssensoren und führte schon ein Gieß-Log. Meine aktuelle Gießanlage basiert auf einem ESP32 und ist vollständig in mein Hausautomatisierungssystem eingebunden. So kann ich manuelle Gießvorgänge starten, die letzten Gießzeiten abfragen sowie diese Zeiten plus andere Parameter einstellen und anderes mehr. Lassen Sie sich durch meine Erfahrungen anregen!
Die obige Beschreibung ist natürlich noch nicht vollständig: Es ist auch eine Alarmfunktion enthalten. Sie meldet ob z.B. ein Gießvorgang wegen eines gebrochenen Schlauches nicht erfolgreich war. Außerdem kann die Anlage auch via Webbrowser bedient werden und ein Softwareupdate ist zeitgemäß „Over the air“ möglich.
Meine Gießanlage ist jedoch nicht der Schwerpunkt dieses Artikels, da sie sehr auf meine speziellen Bedürfnisse (meine Terrasse) ausgelegt ist. Stattdessen schildere ich meine Erfahrungen bei der Auswahl von Feuchtigkeitssensoren, da ich in etlichen Jahren viel darüber gelernt habe.
Feuchtigkeitssensoren haben bei einer Gießanlage zwei Aufgaben: Sie informieren die Anlage über den aktuellen Bewässerungsstatus und verhelfen so zur Sparsamkeit bezüglich der Ressource Wasser. Etliche Pflanzen vertragen Staunässe so wenig wie Trockenheit. Obwohl es enorm viele Feuchtesensoren gibt, scheinen nur wenige wirklich gut zu funktionieren.
Nach einem kurzen Überblick über die Funktionsweise der gängigsten Feuchtesensoren geht es um die Einbindung von Sensoren mit Hilfe der Arduino-IDE für gängige Boards wie Arduino oder ESP. Falls Sie also eine Gießanlage ohne Sensoren betreiben oder mit Ihren Feuchtigkeitssensoren unzufrieden sind, sind Sie hier genau richtig.
Bodenfeuchte messen
Für die Bodenfeuchte sind unterschiedliche Definitionen gebräuchlich. Meist ist man am volumetrischen Wassergehalt interessiert, dem Volumenanteil des Wassers im Boden. Wenn alle Luftporen im Boden mit Wasser gefüllt sind, beträgt er in natürlichen Böden maximal etwa 50…60%. Bei Torf und anderen organischen Materialien können höhere Werte vorkommen.
Der gravimetrische Wassergehalt bezieht sich die relative Masse des Wassers im Boden und kann z.B. durch Wiegen vor und nach der Trocknung einer Bodenprobe bestimmt werden. Die Erfassung dieses Parameters benötigt ein Labor; er eignet sich daher nicht gut für eine kontinuierliche Überwachung der Bodenfeuchte.
Elektrische Bodenfeuchtesensoren basieren auf unterschiedlichen physikalischen Messprinzipien. Die Messung der elektrischen Leitfähigkeit ist zwar sehr preiswert, aber dafür auch unzuverlässig. Die Leitfähigkeit wird nämlich auch durch die Menge der gelösten Ionen beeinflusst. Bei gleichem Wassergehalt kann es in Abhängigkeit von Bodenart, Salzgehalt und Dünger zu völlig unterschiedlichen Messwerten kommen. Außerdem ist die Leitfähigkeit stark temperaturabhängig und eine Kompensation praktisch nicht möglich. Das größte Problem der verwendeten Elektroden ist jedoch ihre Korrosion - ihre Haltbarkeit beträgt oft nur Tage bis Wochen.
Viel besser sind kapazitive Sensoren, da hier die Elektroden durch eine isolierende Schicht geschützt sind. Der Messeffekt beruht auf einer Wechselwirkung der Wassermoleküle mit einem elektrischen Feld, da H2O ein Dipol mit einem positiven und einem negativen Ende ist. Bringt man einen Dipol in einen Plattenkondensator und legt eine Spannung an die metallischen Plattenelektroden an, so kommt es zu einer Ausrichtung der Dipole im elektrischen Feld (siehe Bild 1).
Die Polarisationsfähigkeit wird durch die Dielektrizitätszahl εr beschrieben. Sie reicht von εr◦=◦1 bei Luft über εr◦=◦3…8 bei mineralischen Bodenkörnern bis zu εr◦=◦80 bei Wasser. Die effektive Dielektrizitätszahl eines Bodens als Mischung aus Luft, Wasser und Bodenkörnern wird deshalb weitgehend durch den Wassergehalt bestimmt. Bringt man eine Bodenprobe zwischen die Elektroden eines Kondensators, so kann man dessen Kapazität messen und daraus die dazugehörige Dielektrizitätszahl und so den Wassergehalt errechnen. In der Praxis legt man eine Wechselspannung an, um Elektrolyse an den Kondensatorelektroden, Störungen durch Oberflächenpolarisation sowie den Einfluss der Leitfähigkeit des Bodens zu reduzieren. Je höher die Messfrequenz, desto genauer und störunempfindlicher ist die Bestimmung. Ideal wären Frequenzen über 100 MHz, was jedoch die Elektronik deutlich verteuern würde.
Verschiedene Sensortypen
LeitfähigkeitssensorenMessprinzip: Die Bestimmung der Bodenfeuchte erfolgt über die Messung der elektrischen Leitfähigkeit des Bodens zwischen zwei Elektroden. Zum Sensor wird meistens eine analogen Auswerteschaltung zur Einstellung eines Schwellwerts mitgeliefert (siehe Bild 2).
Nachteile: Die elektrische Leitfähigkeit des Bodens ist nicht nur vom Wassergehalt, sondern stark vom Salzgehalt, Dünger und Bodentyp abhängig und daher ein unzuverlässiges Maß für die Bodenfeuchte. Der Sensor ist im Boden starker Korrosion ausgesetzt und hat daher nur eine geringe Lebensdauer. Dies gilt übrigens auch für Elektroden mit dünner Goldbeschichtung. Außerdem sind die Anschlüsse gewöhnlich nicht vor Wasser geschützt.
Vorteil: Sehr günstig.
Niederfrequente kapazitive Sensoren
Messprinzip: Die Bodenfeuchte wird über eine Kapazitätsmessung ermittelt. Die elektronische Schaltung arbeitet bei niedrigen Frequenzen vom kHz-Bereich bis etwa 1 MHz. Im Internet finden sich zahlreiche Varianten, die oft mit dem Timer NE555 arbeiten (siehe Bild 3).
Nachteile: Aufgrund der niedrigen Frequenz ist die Feuchtemessung stärker von Störgrößen wie der elektrischen Leitfähigkeit und Temperatur des Bodens beeinflusst, so dass nur eine eingeschränkte Genauigkeit möglich ist. Die Elektroden werden häufig nur durch den dünnen Lötstoplack geschützt, der im Boden nicht langzeitbeständig ist. Schaltung und Anschlüsse sind oft nicht wasserdicht versiegelt.
Vorteil: Recht günstig.
Weitere Sensoren
Hochfrequenter kapazitiver Sensor VH400
Messprinzip: Die Bodenfeuchte wird über eine Kapazitätsbestimmung ermittelt.
Nachteile: Mittlere Preisklasse. Der Einfluss des Bodentyps auf den Messwert ist noch bemerkbar. Die Elektroden liegen sehr eng beieinander, so dass das elektrische Messfeld kaum aus der Platine hinausreicht und der Sensor für grobkörnige Böden nur eingeschränkt geeignet ist (siehe Bild 4). Die Messwerte sind temperaturabhängig und ändern sich bei Berührung des Zuleitungskabels mit der Hand.
Vorteil: Ausreichend genaue Feuchtemessung in vielen Böden.
CWT-SOIL-H-S
Messprinzip: Keine Informationen zum Messprinzip und zur Messfrequenz verfügbar.
Nachteil: Mittlere Preisklasse. Nach kurzer Zeit im Boden gehäufte Ausfälle.
Vorteile: Verspricht eine zusätzliche Messung der elektrischen Leitfähigkeit; verschiedene Ausführungen (siehe Bild 5).
Hochfrequenter kapazitiver Sensor SMT◦50
Messprinzip: Die Bodenfeuchte wird über einen kapazitiven Spannungsteiler ermittelt. Die Elektronik arbeitet ab 16 MHz.
Nachteile: Mittlere Preisklasse. Einfluss des Bodentyps auf den Messwert noch bemerkbar.
Vorteile: Die Messfrequenz ist hoch genug für eine zuverlässige Feuchtemessung in vielen Böden. Dank Einbettung der Elektroden in einer mehrlagigen Platine optimaler mechanischer Schutz und eine hohe Lebensdauer im Boden. Die Elektronik ist vollständig wasserdicht mit Epoxydharz vergossen (siehe Bild 6). Das 10 m lange Anschlusskabel mit PU-Mantel ist für Bodenverlegung geeignet (mikroben- und hydrolysebeständig).
Tensiometer DAV-6440
Messprinzip: Dieser Watermark-Sensor ist ein Beispiel für ein Tensiometer, das die Saugspannung des Bodens ermittelt, die mit dem Wassergehalt des Bodens korreliert. Dazu wird der elektrische Widerstand eines Materials bestimmt, das in hydraulischen Kontakt mit dem Boden steht (siehe Bild 7). Andere tensiometrische Messkonzepte nutzen ein Vlies im Kontakt mit dem Boden, dessen Wassergehalt durch elektrisches Aufheizen und Temperaturbeobachtung ermittelt wird (z.B. bei Gardena).
Nachteile: Tensiometer sind träge und reagieren nur langsam auf sich ändernde Bodenfeuchtigkeit. Es tritt eine Hysterese auf, d.h. die Messwerte sind bei gleicher Saugspannung unterschiedlich (bei steigendem vs. sinkendem Wassergehalt). Bei starker Austrocknung kann der Sensor den hydraulischen Kontakt mit dem Boden verlieren. Als Lebensdauer im Boden werden für diesen Sensor nur mindestens 5◦Jahre angegeben.
Vorteil: Die Saugspannung gibt das den Pflanzen zur Verfügung stehende Wasser im Boden an.
TDT-Sensor SMT 100
Messprinzip: Dieser Time Domain Transmission Sensor besteht aus Leiterschleifen, die eine hochfrequente Übertragungsleitung bilden und mit Impulsen angeregt werden (siehe Bilder 8 und 9).
Über eine Rückkopplung mit einem Verstärker wird ein Ringoszillator realisiert, dessen Frequenz von einem Mikrocontroller gemessen wird. Die Kapazität zwischen den Elektroden wird von der Bodenfeuchte beeinflusst. Je höher der Wassergehalt, desto größer die Impulslaufzeit und desto geringer die Frequenz des Ringoszillators.
Nachteil: Gehobene Preisklasse.
Vorteile: Die Messfrequenz von über 150 MHz ermöglicht eine hohe Genauigkeit mit guter Auflösung bei gleichzeitig minimaler Beeinflussung der Messwerte durch den Bodentyp. Als mehrlagige Platine mit Epoxydharzverguss und hochwertigem Kabel wird eine lange Lebensdauer im Boden erreicht. Es gibt eine große Auswahl an Schnittstellen wie analoger Ausgang, RS-485 (TBUS/ASCII und Modbus), SDI-12 und eine 4-20-mA-Stromschnittstelle.
Der SMT 100 wird oft für professionelle Anwendungen eingesetzt (Präzisionslandwirtschaft, wissenschaftliche Anwendungen in der Hydrologie und Bodenkunde).
Einbindung von Sensoren in Gießanlagen
Wie schon erwähnt, verfügen billige Sensoren über analoge Schnittstellen und nur höherwertige Sensoren über digitale Schnittstellen. Einfache analoge Sensoren kann man in der Arduino-IDE leicht ohne zusätzliche Bibliotheken einbinden. Nötig ist lediglich ein Analogeingang. Im folgenden Programmbeispiel wird Pin A0 eines Arduino Uno verwendet:
int SENSOR_PIN = A0; /* select analog pin */
int SENSOR_VAL = 0; /* variable storing sensor value */
void setup()
{
Serial.begin(9600); /* setup serial connection */
}
void loop()
{
/* read value */
SENSOR_VAL = analogRead(SENSOR_PIN);
Serial.println(SENSOR_VAL); /* output value */
}
Höherwertige Exemplare wie der Sensor CWT-SOIL-H-S oder der SMT 100 bieten digitale Schnittstellen. In meiner Anlage sind beide Sensoren per Modbus-RS485-Schnittstelle angebunden. Die Vorteile dieser Verbindung liegen klar auf der Hand: Lange Kabelverbindungen bis zu 100 m vom Sensor zur Steuerung sind unbedenklich und die Datenübertragung ist unempfindlich gegen Störungen. Außerdem können viele Sensoren über die gleiche Schnittstelle bedient werden.
Der CWT-SOIL-H-S funktioniert prinzipiell nicht schlecht, doch haben bei mir schon zwei Sensoren nach einem Jahr einfach aufgehört zu funktionieren oder unrealistische Werte angezeigt. Außerdem wird zwar eine verständliche Anleitung mitgeliefert, jedoch ist das darin beschriebene Konfigurationstool nur schwer im Internet zu finden und dann nur in chinesisch. Aus diesem Grund wird nachfolgend lediglich auf die Integration des Sensors SMT 100 eingegangen.
Noch etwas zu den Begriffen RS485 und Modbus: RS485 ist eine differentielle serielle Schnittstelle, deren zwei Leitungen Daten im Gegentakt übertragen, was Gleichtaktstörungen unterdrückt und das SN-Verhältnis gegenüber RS232 verbessert. Mit einfachen, verdrillten und ungeschirmten Leitungen sind leicht stabile Verbindungen bis 100 m machbar. Modbus ist ein Client/Server-Kommunikationsprotokoll, das schon 1979 für die Kommunikation bei speicherprogrammierbaren Steuerungen entwickelt wurde. Dieses offene Protokoll hat sich zum De-facto-Industrie-Standard entwickelt. Alle technischen Dokumente sind unter [10] frei verfügbar. Prinzipiell verfügt jeder Knoten über eine eindeutige Adresse, über die er adressierbar ist.
Sensor konfigurieren
Für erste Experimente mit dem SMT 100 empfiehlt sich eine USB-RS485-Bridge oder eine PCIe-RS485-Karte, mit der der Sensor direkt mit einem Laptop oder PC kommunizieren kann. Ich verwende einen gut dokumentierten Stick auf der Basis eines FTDI-Chips.
Auf der Webseite des Sensorherstellers kann man ein sehr komfortables Modbus-Konfigurationsprogramm herunterladen. Nach dem Entpacken und der Installation verbindet man den die RS485-Variante des Sensors wie folgt mit der RS485-Schnittstelle: Die weiße Leitung des Sensorkabels ist Masse, die grüne Leitung RS485-A und die gelbe Leitung RS485-B. An die braune Leitung muss dann noch eine Versorgungsspannung von +4…+24 V (gegen Masse) gelegt werden.
Nach dem Start des Modbus-Tools muss man nur noch den korrekten COM-Port auswählen. Erscheint bei einem USB-Stick kein Port, so muss noch der passende USB-Treiber installiert werden. Ist alles gut, erscheint das Fenster von Bild 10.
Man kann nun die einzelnen Parameter auslesen oder die Modbus-Adresse ändern. Standardmäßig ist der Sensor unter der Adresse 253 (Broadcast) erreichbar. Sollen mehrere Sensoren eingebunden werden, so muss jeder Sensor eine eindeutige Adresse haben. Im Programmbespiel wird die Modbus-Adresse mittels◦Set new MODBUS Address auf 1 gesetzt. Anschließend testet man zur Sicherheit die Kommunikation über Adresse 1 (dafür◦MODBUS Address◦links auf 1 setzen). Zum Einstellen der Adresse darf immer nur ein Sensor am Bus angeschlossen sein!
Ein Testprogramm
Nun wird demonstriert, wie so ein Sensor in eine Gießanlage eingebunden wird. Bild 11 zeigt den Testaufbau.
Zum Einsatz kommt neben einem leicht erhältlichen ESP32-DEV-Kit ein kleines Konverter-Board, das die RS485-Signale des Sensors in computergerechte TTL-Pegel umsetzt. Das Pad DI ist ein Eingang, über den der ESP32 Daten seriell an den Sensor übertragen kann. Via RO kann der ESP32 Daten vom Sensor empfangen. DE und RE sind hier miteinander verbunden. Werden diese Pins auf „low” gelegt, wird der Empfänger im MAX485 freigegeben - bei „high” ist dann der Sender des MAX485 aktiv.
Nun zum Testprogramm: Vor der Setup-Routine werden Definitionen für die Pins vorgenommen und die Variablen für den Sensor definiert. In der Setup-Routine wird der Pin zum Umschalten des Senders/Empfängers initialisiert, die serielle Standard-Schnittstelle als Debug-Schnittstelle definiert, das serielle Interface zum Sensor als „Hardware Serial Interface 2“ initialisiert und über eine Subroutine geprüft, ob der Sensor korrekt angeschlossen ist.
In der Hauptschleife wird durch Aufruf der Subroutine SUB_RECEIVE_HUMIDITY alle 3◦s der Sensor abgefragt und das Ergebnis ausgegeben. Drei Subroutinen regeln die Abfrage der Sensorwerte: SUB_CHECK_HUMIDITY testet über eine korrekt empfangene Sensoradresse, ob ein Sensor angeschlossen ist. SUB_RECEIVE_HUMIDITY fragt den Sensorwert ab und SUB_CALCULATE_CRC berechnet die CRC-Checksumme. Den kompletten, gut kommentierten Beispielcode kann man kostenlos unter [12] herunterladen. Wenn im Serial Monitor der Arduino-IDE dann eine Ausgabe wie in Bild 12 erscheint, ist alles gut gegangen.
Bewässerungsstrategie
Zeit- und sensorgesteuerte Bewässerung im Vergleich.xt
Die klassische zeitgesteuerte Bewässerung beregnet in festen Zeitintervallen unabhängig vom tatsächlichen Bewässerungsbedarf. Deshalb kann es je nach Wetter zur Überversorgung der Pflanzen mit schädlicher Staunässe oder Unterversorgung und Trockenstress kommen. Abmildern kann man dies mit einem Regensensor oder Wetterinformationen aus dem Internet. Weitaus besser ist aber eine sensorgeführte Bewässerungssteuerung. Damit kann nicht nur die Wasserversorgung der Pflanzen optimiert, sondern auch Wasser eingespart werden. Die Unterschiede sind in der Grafik zu sehen.
Für die Einstellung der Schwellwerte gibt es unterschiedliche Strategien. Der erfahrene Gärtner kennt durch Beobachtung der Pflanzen (leichte Welke, Einrollen der Blätter) den Beginn von Trockenstress. Bei zu starker Bewässerung kommt es zu Sättigung und die Bodenfeuchte steigt nicht weiter an. Wartet man dann eine Weile (etwa 24 h), so drainiert der Boden das Wasser in den Untergrund. Eine Faustregel ist, davon 60 % für die untere Schwelle anzusetzen. Während einer Einlernphase beobachtet man die Pflanzen in Kombination mit dem Feuchteverlauf und korrigiert gegebenenfalls die Schwellwerte, um damit langfristig eine optimale und sparsame automatisierte Bewässerung zu erzielen. Wichtig ist dabei auch die richtige Platzierung des Sensors im Wurzelbereich der Pflanzen. Bei Tropfbewässerung sollte der Sensor weder zu nah noch zu weit von der Tropfstelle eingebaut werden, damit der Zeitverlauf der Bodenfeuchte eine gute Dynamik aufweist.
Sie haben Fragen oder Kommentare?
Sie haben Fragen oder Kommentare? Bei technischen Fragen können Sie sich gern an den Autor wenden unter peter.tschulik@chello.at oder an die Elektor-Redaktion unter der E-Mail-Adresse redaktion@elektor.de.
Diskussion (6 Kommentare)