Bodenfeuchtesensor SoMo1
Bodenfeuchte kapazitiv messen und ins LoRaWAN®-Netzwerk integrieren
Enthusiasten mit Gewächshaus, interessierte Landwirte und Agronomen, aufgepasst! Der preiswerte Bodenfeuchtesensor SoMo1 ermöglicht die Messdatenerfassung von Bodenfeuchte und Temperatur im Gewächshaus, Gemüsegarten oder auf dem viele Kilometer entfernten Acker.
Infos zum Bausatz


Innovative Messung der Bodenfeuchte
Das „Internet of Things“ bietet immer mehr Möglichkeiten für Anwender, die im Bereich des Anbaus von Nutzpflanzen beschäftigt sind oder sich dafür interessieren. Die Anzahl der ermittelbaren Umweltfaktoren, die in die smarte Landwirtschaft einbezogen werden, ist umfangreich, nützlich und geht mit messbaren Erfolgen einher. Rahmenbedingungen wie Temperatur, Boden- oder Luftfeuchtigkeit, Niederschlag, Windgeschwindigkeit und Bodenwerte (wie Stickstoff, Kalium und Phosphor) können sensorisch erfasst und digital über weite Distanzen ausgewertet werden. An dieser Stelle kommt der Bodenfeuchtesensor SoMo1 ins Spiel. Er ermöglicht die Messdatenerfassung von zwei der genannten Rahmenbedingungen und kann daher nicht nur die Bodenfeuchte, sondern auch die Temperatur am Eingrabungsort messen. Durch die Unterbringung der Sensorflächen im Inneren einer Multilayer-Platine und den Verguss der Elektronik in einem robusten Gehäuse sind alle Komponenten des SoMo1 besonders gut vor Umwelteinflüssen und mechanischer Belastung geschützt. Dank der Kombination mit dem Interface ELV-LW-INT1 ist eine einfache Integration in das LoRaWAN®-Netzwerk realisierbar und somit eine Überwachung über große Distanzen möglich.
Messverfahren zur Bestimmung der Bodenfeuchte
Überall, wo Pflanzen bewässert werden, braucht es Informationen zum Flüssigkeitsbedarf derselben und zu der aktuell im Boden für die Pflanzen zur Verfügung stehenden Menge an Wasser, damit diese in möglichst passender Menge mit zusätzlichem Wasser versorgt werden. Dies dient einerseits der Schonung der immer wertvoller werdenden Ressource Wasser, andererseits aber auch dem optimalen Gesundheitszustand und Wachstum der Pflanzen.
Ist der Boden noch durch einen kräftigen oder lang anhaltenden Regen ausreichend mit Wasser gesättigt, würde ein weiteres künstliches Bewässern zu Staunässe und damit zu Luftmangel und Fäulnis im Wurzelbereich führen. Bei starker Hitze und Sonneneinstrahlung muss die Bewässerungsmenge hingegen gesteigert werden, um den erhöhten Bedarf der Pflanzen und die höhere Verdunstungsmenge aus dem Boden auszugleichen.
Je nach Beschaffenheit des Bodens ist dessen Fähigkeit, Wasser aufzunehmen, zu speichern und dieses an Pflanzen abzugeben, stark unterschiedlich. In einigen Böden kann der letzte Regen z. B. für mehrere Wochen ausreichend Feuchtigkeit liefern, während ein anderer Boden dies nur wenige Tage kann. Einige Böden binden insbesondere die letzten Wasserreserven sehr fest im Boden, sodass die Saugspannung der Pflanzen nicht ausreicht, um sich an diesem Wasser bedienen zu können.
Wie funktioniert ein Bodenfeuchtesensor?
Für die Messung der Wassermenge im Boden und ihrer Verfügbarkeit für die Pflanzen gibt es eine Vielzahl unterschiedlicher Messverfahren und Sensoren. Die einfachsten Sensoren arbeiten mit einer Widerstandsmessung des Bodens über zwei elektrisch leitende Sonden.
Bei Gleichspannung führt dies nicht nur zur Korrosion der Sonden und zur Ablagerung von Material daran, sondern auch zu chemischen Prozessen im Boden, die dort unerwünschte Stoffe freigeben. Bei Wechselspannung werden diese Probleme zwar etwas gemindert, jedoch bleibt die sehr starke Abhängigkeit von im Boden gelösten Salzen und Nährstoffen erhalten. Aufwendigere und bessere Sensoren verwenden daher ein Messprinzip, das die dielektrische Konstante des Bodens misst, da diese sich für Wasser und alle anderen im Boden enthaltenen Stoffe stark unterscheidet (Bild 1).

Die Dielektrizitätskonstante für Luft hat dabei den Wert 1 und Wasser einen ungefähren Wert von 80. Trockene Bodenpartikel haben typische Werte im Bereich von 2 bis 5. Eis hat je nach verwendeter Messfrequenz einen Wert im Bereich von etwa 3 bis 100. Ton hat im Gegensatz zu anderen Böden eine sehr hohe Dielektrizitätskonstante, weshalb genaue Feuchtemessungen dieses Bodentyps sehr schwierig sind.
Der typische Wertebereich von trockenen bis feuchten Böden liegt aufgrund der gemischten Zusammensetzung meist zwischen 3 und 40 (Bild 2), sodass üblicherweise weniger als die Hälfte der Messauflösung eines Sensors im Bereich Luft/Wasser genutzt wird.

Bei der Messung der Bodenfeuchte bedient man sich unterschiedlicher kapazitiver Messverfahren, wie der einfachen Kapazitätsmessung oder TDR- und FDR-Messungen, bei denen Laufzeiten von Impulsen oder Frequenzveränderungen von ausgesendeten Wellen gemessen werden. Um Einflüsse von Salzen und tonhaltigen Böden zu minimieren, sollten die dabei verwendeten Frequenzen möglichst hoch sein. Weiterhin gibt es Kombinationen und Abwandlungen dieser kapazitiven Verfahren. Eine ganz andere Messmethode nutzen Tensiometer, die die Saugspannung des Bodens erfassen. Dies sind wassergefüllte und luftdicht verschlossene Röhrchen, die unten mit einem Keramikelement umgeben sind. Bei austrocknendem Boden ziehen die Kapillarkräfte des Bodens Wasser über dieses Keramikelement aus dem Röhrchen, in dem dann ein mess- und auswertbarer Unterdruck entsteht.
Bodenfeuchte- und Temperaturmessung mit dem Bodenfeuchtesensor SoMo1
Das Blockschaltbild in Bild 3 zeigt den prinzipiellen Aufbau des SoMo1. Er beinhaltet zwei digitale Sensoren zur Messung der Bodenfeuchte und der Temperatur. Beide Sensoren bieten eine I2C-Schnittstelle, die über das Zuleitungskabel für den Anschluss an ein passendes Interface herausgeführt ist.

Zur Spannungsversorgung des Sensors wird eine stabilisierte Gleichspannung von 3,3 V benötigt. Bei dem Interface ELV-LW-INT1 ist diese bereits in schaltbarer Form integriert.
Zur Messung der Bodenfeuchte wird ein kapazitives Verfahren angewendet, bei dem eine Induktivität und die Kapazität der Sensorfläche einen Schwingkreis bilden. Ein Teil dieser Sensorkapazität wird durch die nähere Umgebung der Sensorflächen bestimmt, wodurch sich in Luft und in Wasser bzw. in trockenem und feuchtem Boden unterschiedliche Schwingfrequenzen ergeben. Der für die Messung eingesetzte Baustein FDC2112 bietet zwei Messkanäle, von denen der SoMo1 aber nur den Kanal 0 nutzt.
Zur Bestimmung der Bodentemperatur ist ein digitaler Sensor für Luftfeuchte und Temperatur des Typs SHT40 verbaut, wobei die Auswertung des vergossenen Luftfeuchtesensors natürlich nicht sinnvoll ist. Über die I2C-Schnittstelle können bei beiden Sensoren Messungen gestartet und anschließend deren Ergebnisse ausgelesen werden. Soll der Bodenfeuchtesensor in eigenen Projekten ohne das Interface ELV-LW-INT1 eingesetzt werden, können die dazu nötigen Informationen aus den beim Sensor hinterlegten Datenblättern der Sensor-ICs FDC2112 und SHT40-AD1B entnommen werden.
Bodenfeuchtemessung mit dem SoMo1 am ELV-LW-INT1
Das ELV-LW-INT1 bietet für den SoMo1 zwei unabhängig konfigurierbare Sensorkanäle für die beiden Messgrößen Bodenfeuchte und Temperatur. Die kapazitive Messung der Bodenfeuchte hat bereits eine sehr geringe Abhängigkeit von der Bodentemperatur, die sich durch die integrierte Temperaturmessung aber noch weiter ausgleichen lässt. Neben einer Filterfunktion für Messwerte bietet das Interface die Möglichkeit, den angezeigten prozentualen Bodenfeuchtewert durch individuelles Setzen der Referenzwerte für 0 % und 100 % auf die eigenen Bedürfnisse anzupassen. Die Übertragung der Messwerte kann sowohl zyklisch erfolgen als auch durch das Erreichen konfigurierbarer Schwellwerte ausgelöst werden. Dabei stehen zwei einstellbare absolute Schwellen und eine einstellbare Deltaschwelle inklusive Filter-Timern zur Verfügung.
Die grundsätzliche Kommunikation mit dem Interface ELV-LW-INT1 und dessen Konfigurationsmöglichkeiten sind in dem zugehörigen Fachbeitrag beschrieben. Hier sollen im Folgenden daher nur die erweiterten Funktionen im Zusammenspiel mit dem Bodenfeuchtesensor aufgezeigt werden.
In der Grundeinstellung ist der Sensorkanal so konfiguriert, dass keine Messungen stattfinden und auch keine Statusmeldungen versendet werden. Durch Anpassung der Kanalparameter können zyklische Messungen oder ereignisbasierte Messungen durch einen der Digitaleingänge des Interface aktiviert werden. Statusmeldungen können ebenfalls zyklisch oder ereignisbasiert versendet werden. Da sich diese und sämtliche weitere Kanalfunktionen des Bodenfeuchtesensors über diese Kanalparameter individuell einstellen lassen, schauen wir uns dazu die einzelnen Parameter für diesen Sensor genauer an und
erläutern dabei die Gerätefunktionen.
Die Kanalparameter des SoMo1 sind in den Tabellenblättern „config parameters SoMo1-H“ und „config parameters SoMo1-T“ zusammen mit weiteren Tabellen zum ELV-LW-INT1 in einem Tabellendokument zusammengefasst, das im Downloadbereich unten verfügbar ist. Für das Umwandeln der hexadezimal dargestellten Werte in die binäre oder dezimale Schreibweise und umgekehrt eignet sich besonders das Online-Tool Types converter. Die Parameter für die beiden Sensorkanäle sind fast identisch, sie werden daher gemeinsam anhand des Feuchtekanals beschrieben, dabei wird auf Abweichungen des Temperaturkanals hingewiesen. Die Parameter mit ID 0 und ID 1 für das zyklische Sendeintervall und den Statusmode sind bereits beim Gerätekanal des ELV-LW-INT1 ausführlich beschrieben, daher ist dort deren Definition zu lesen.
ID 2: filter config
Bit 7 (nur Feuchtekanal) bietet die Möglichkeit, bei einer Feuchtemessung immer auch eine Temperaturmessung durchzuführen. Auf diese Weise sind die beiden Werte miteinander synchronisiert. Beim Temperaturkanal sollten dann das zyklische Messintervall und andere Trigger deaktiviert werden, wenn keine zusätzlichen Temperaturmessungen nötig sind. Bit 6 (nur Feuchtekanal) aktiviert die Kompensation der Temperaturabhängigkeit des Feuchtesensors. Damit bei einer Feuchtemessung ein aktueller Temperaturwert für diese Kompensation vorliegt, sollte idealerweise auch Bit 7 gesetzt sein. Die Kompensation wirkt sich sowohl auf den übermittelten prozentualen Bodenfeuchtewert als auch auf die gemeldeten Rohdaten des Sensors aus.
Über die restlichen sechs Bits bieten die Sensorkanäle eine Funktion zur Filterung der Messergebnisse über einen Puffer mit Mehrfachmessungen. So kann man über Bit 5 und Bit 4 entscheiden, ob der Mittelwert über alle im Puffer enthaltenen Messwerte oder ohne die beiden Extrema gebildet werden soll oder ob immer der Minimalwert oder der Maximalwert des Puffers als Ergebnis geliefert werden soll. Die verwendete Puffergröße und damit die Anzahl der Einzelmessungen kann dabei über Bit 3 bis Bit 0 auf die Werte 0 bis 15 eingestellt werden, was einer Puffergröße von 1 bis 16 Messwerten entspricht. Das Füllen des Puffers mit dieser Anzahl an Werten geschieht dabei in jedem zyklischen Messintervall nach dem Aktivieren des Sensors in kurzen Abständen von jeweils 100 ms zwischen den einzelnen Messwerten. Der Sensor bleibt dabei für die Gesamtdauer der Messung aller Werte durchgängig aktiviert und wird erst wieder abgeschaltet, wenn alle nötigen Messwerte vorliegen. Für eine möglichst lange Batterielaufzeit sollte man also eine möglichst kleine Puffergröße wählen, wenn die Messwerte nicht besonders stark gefiltert werden müssen.
ID 3: measurement interval
Dieses Intervall legt das Raster für die zyklischen Einfach- oder Mehrfachmessungen fest. Das oberste Bit entscheidet, ob der restliche Zahlenwert von 1 bis 127 in Sekunden oder Minuten gilt. Wird der Zahlenwert auf null gesetzt, so ist die zyklische Messung deaktiviert.
ID 4: measurement triggers
Neben dem zyklischen Intervall können auch die Eingänge IN1 und IN2 Messungen auslösen oder die zyklischen Messungen nur bei bestimmtem Pegel erlauben. Hier wird für beide Eingänge getrennt eingestellt, wie sich die jeweiligen Eingangspegel auswirken sollen:
- Keine Beeinflussung der Messung
- Eine (zusätzliche) Messung beim Wechsel von Pegel High zu Low
- Eine (zusätzliche) Messung beim Wechsel von Pegel Low zu High
- Eine (zusätzliche) Messung bei jedem Pegelwechsel
- Freigabe der zyklischen Messung nur bei Pegel Low
- Freigabe der zyklischen Messung nur bei Pegel High
- Fortlaufende Messungen (im Abstand von 10 Sekunden), solange Pegel Low
- Fortlaufende Messungen (im Abstand von 10 Sekunden), solange Pegel High
ID 5, ID 6: threshold level 1/2
Neben der Möglichkeit, die ermittelten Messwerte zyklisch (Parameter ID 0) mitzuteilen, kann parallel oder alternativ auch das Senden von außerzyklischen Telegrammen bei Über- oder Unterschreiten von einstellbaren Grenzen genutzt werden. Wird eine der beiden hier definierten Schwellen über- oder unterschritten, startet ein zugehöriger Filter-Timer (Parameter ID 8 und ID 9), nach dessen Ablauf dann eine außerzyklische Statusmeldung erfolgt. Defaultmäßig ist diese Funktion durch die voreingestellten Schwellwerte deaktiviert. Beim Feuchtekanal beziehen sich die Schwellwerte auf die prozentuale
Bodenfeuchtigkeit und werden mit nur einem Byte im Bereich 0 bis 100 eingestellt. Beim Temperaturkanal sind die Schwellwerte hingegen als 16-bit-Signed-Werte in 0,1-°C-Auflösung ausgeführt, um auch negative Temperaturen abdecken zu können.
ID 7: threshold delta
Ähnlich wie die beiden anderen Schwellwertparameter (ID 5 und ID 6) erlaubt dieser Parameter das Auslösen außerzyklischer Telegramme. Anstatt statische Referenzschwellen zu vergleichen, erfolgt hier der Vergleich des aktuellen Messwerts gegen den zuletzt gesendeten Messwert. Ist die Differenz zwischen beiden Werten größer oder gleich dem hier definierten Delta, wird der zugehörige Filter-Timer (ID 10) gestartet, nach dessen Ablauf dann eine außerzyklische Statusmeldung erfolgt. Defaultmäßig ist diese Funktion durch den eingestellten Wert von 0xff (Feuchte) bzw. 0xffff (Temperatur) deaktiviert. Wird die Deltaschwelle auf Null gesetzt, löst jeder neue Messwert ein Ereignis aus.
ID 8, ID 9, ID 10: event filter time level 1/level 2/delta
Wurde bei einer Messung eine durch ID 5 bis ID 7 definierte Schwellwertbedingung ausgelöst, startet der zugehörige Filter-Timer mit dem hier definierten Zeitwert. Jedes weitere Ereignis, das während der Laufzeit des Timers auftritt, startet den zugehörigen Timer neu. Erst nach ungestörtem Ablauf des Timers erfolgt die Aussendung einer Statusmeldung mit den zuletzt ermittelten Messwerten. Die Filter-Timer sorgen damit dafür, dass kurzzeitige Threshold-Auslösungen nicht zu unnötigen Sendungen führen. Hierfür muss die Filterzeit jedoch sinnvollerweise größer als das einfache oder mehrfache des Messintervalls eingestellt werden.
ID 11, ID 12: ref value 0 %/100 % (nur Feuchtekanal)
Für die Mitteilung einer prozentualen Bodenfeuchte ist die Definition der 0-%- und 100-%-Referenzwerte erforderlich. Liegt der Sensormesswert später zwischen diesen beiden Grenzen, wird die gemessene Feuchte als Prozentwert zwischen 0 und 100 übertragen. Verlässt der Messwert den definierten Bereich, werden die jeweiligen Endanschläge von 0 bzw. 100 übertragen. Die einzustellenden Referenzwerte sind die Sensorrohwerte für diese beiden Werte. Am sinnvollsten werden sie in einer getrockneten und feuchtigkeitsgesättigten Bodenprobe durch Auslesen der Rohwerte aus den Statusmeldungen ermittelt. Ein Abgleich auf die Messdaten des Sensors in Luft und in Wasser ist zwar deutlich weniger aufwendig, liefert aber auch praxisfernere Ergebnisse.
Die Zusammenstellung und Übertragung einer sinnvollen Konfiguration für den Bodenfeuchtekanal des SoMo1 soll nachfolgend an einem konkreten Beispiel (Bild 4) gezeigt werden.

Die nötigen Informationen zum Aufbau der Konfigurationstelegramme und der Parameter sind der Tabellensammlung zu entnehmen, die beim ELV-LW-INT1 im Downloadbereich hinterlegt ist. Da nur wenige Parameter abweichend zum Defaultwert verändert werden sollen, wählen wir als Rahmentyp „set single parameters“. Das zyklische Sendeintervall für die Bodenfeuchte (channel 2) wollen wir auf 60 Minuten (0x3C) und das Messintervall auf 5 Minuten (0x85) setzen. Zusätzlich soll eine außerzyklische Meldung bei Über- und Unterschreiten der 20-%-Marke (0x14) erfolgen. Diese Werte sind als hexadezimale Zahlenfolge in das Payload-Feld des Downlink mit gewähltem FPort 10 einzutragen und an das ELV-LW-INT1 zu senden (Schedule downlink). Sobald sich das Interface das nächste Mal beim Gateway meldet, werden die Daten an das Gerät übertragen. Für eine unmittelbare Übertragung empfiehlt sich eine kurze Betätigung der Gerätetaste.
Statusdaten
Einen Gesamtüberblick über die Statusdaten von Geräte- und Sensorkanälen gibt das Tabellenblatt status data der ELV-LW-INT1-Tabellen. Die Mitteilung über die Statusdaten der Sensorkanäle erfolgt nahtlos und in aufsteigender Weise, beginnend mit ID 0. Der Inhalt der SoMo1-Daten soll hier nun detailliert betrachtet werden (Tabelle 1).

Statusdaten des Feuchtekanals
ID 0: eventflags
In den Eventflags werden die Auslöser für die jeweilige Statusmeldung mitgeteilt. Treten mehrere Ereignisse schnell hintereinander auf, können auch mehrere Bits gleichzeitig gesetzt sein. Bit 7 informiert über das Auftreten oder Verschwinden eines Fehlerzustands. Ursache kann hier z. B. eine Unterbrechung der Sensorzuleitung sein. Bit 6 zeigt an, dass sich der Messwert gegenüber der vorherigen Übertragung um mindestens den konfigurierten Deltawert geändert hat. Sind Bit 5 oder Bit 4 gesetzt, wurden die zugehörigen Threshold-Werte über- oder unterschritten. Bit 1 signalisiert die erste Mitteilung nach einem Neustart des Gerätes und Bit 0 informiert über das Vorliegen einer zyklischen Mitteilung für diesen Kanal.
ID 1: humidity %
Die berechnete Bodenfeuchte wird als Prozentwert von 0 bis 100 übertragen. Grundlage für diesen Wert sind die konfigurierten Rohdaten-Referenzwerte des Sensors für 0 % und 100 % und der aktuelle Rohdaten-Messwert in ID 2.
ID 2: humidity raw
Dieser 16-bit-Wert gibt den Rohdaten-Messwert des Bodenfeuchtesensors aus. Eine gegebenenfalls aktive Temperaturkompensation oder Filterfunktion ist dabei bereits berücksichtigt.
Statusdaten des Temperaturkanals
ID 0: eventflags
Die Codierung ist identisch mit der Codierung der Eventflags des Feuchtekanals.
ID 1: temperature
Der ggf. gefilterte Temperaturwert wird als 16-bit-Signed-Wert mit einer Auflösung von 0,1 °C ausgegeben. Die drei Sonderwerte 8000, 1201 und -401 informieren über einen Fehler, eine Überschreitung und eine Unterschreitung des Messbereichs.
Montage und Inbetriebnahme
Der Sensor ist werkseitig mit einem 4-poligen Kabel versehen. In Bild 5 und Tabelle 2 sind dessen Pinbelegung und die Zuordnung der Kabelfarben sowie der Klemmen des ELV-LW-INT1 zu sehen.
| Kabelfarbe | Funktion | Klemme ELV-LW-INT1 |
| Braun | +UB (3,3 VDC) | +UB2 |
| Schwarz | GND | GND |
| Blau | SDA | SDA |
| Weiß | SCL | SCL |

Wird als Gehäuse für das Interface die empfohlene Abox 040 eingesetzt, kann die Kabeleinführung des Gehäuses mit einem Schraubendreher mittig durchstochen werden, um sie zur Durchführung des Sensorkabels zu öffnen. Alternativ kann die Gummi-Membrandurchführung mit einer Schraubdurchführung professioneller gestaltet werden. Vor dem Anschluss des Sensorkabels sollten eventuell eingelegte Batterien aus dem Interface entfernt werden. Nun wird die Sensorzuleitung in das Gehäuse eingeführt und die Einzeladern des Kabels werden gemäß Tabelle 2 an die zugehörigen Klemmen des Interface angeschlossen (Bild 6). Abschließend sind zwei Mignon-AA-Batterien polrichtig in die Halter des Interface einzulegen.

Informationen zur Einbindung in ein LoRaWAN®-Netzwerk und die Konfiguration sowie Auswertung der übertragenen Daten sind in dem Fachbeitrag des ELV-LW-INT1 zu finden. Ein Beispiel für eine decodierte Payload des Bodenfeuchtesensors ist in Bild 7 zu sehen. Zu beachten ist hierbei, dass der Inhalt von Bitfeldern wie Eventflags oder InputStates dezimal erfolgt und nicht in hexdezimaler oder binärer Schreibweise.

Technische Daten
| Geräte-Kurzbezeichnung: | SoMo1 |
| Versorgungsspannung: | 3,3 VDC |
| Stromaufnahme: | 8 mA max. |
| Leistungsaufnahme: | 30 mW max. |
| Bodenfeuchte: | 0 bis 100 %, ± 3 % @ Luft/Wasser 15 °C |
| Bodentemperatur: | -20 bis +55 °C, ± 0,7 °C |
| Schutzart: | IP67 |
| Länge der Anschlussleitung: | 2 m |
| Leitungsart: | flexible Leitung |
| Leitungsquerschnitt: | 4x 0,34 mm² |
| Umgebungstemperatur: | -20 bis +55 ° C |
| Abmessungen (B x H x T) : | 111 x 33 x 15 mm |
| Gewicht: | 61 g |