Sensoren für Bodenfeuchte

Das stand-alone-Teil hatte ich mir damals auch mitbestellt:

Es ist vermutlich eine frühe Version / clon des schon oben verlinkten Chirp-boards https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/

Ich bekomme es nicht recht ausgelesen, verwendete lib:

Der Sensor Wert für die Feuchte ist immer konstant und ändert sich nicht. Entweder ich habe noch einen Fehler drin oder der code ist nicht abwärtskompatibel (das aktuelle Chirp board hab einen Licht- und Temperatursensor zusätzlich) bzw. das Gerät doch anders als das Original.

Für meinen Bedarf ist es mit dem buzzer, Knopfzellenhalter und dem seitlichen 2x3 I2C-pins eh unpraktisch und unhandlich.

Habe jetzt den Gravity: Analog Waterproof Capacitive Soil Moisture Sensor - DFRobot hier liegen. Auf dem Foto im DFRobot-Shop steht noch V0.3, von Mouser habe ich die Tage einen mit der aufgedruchten Versionsnummer V1.0 bekommen. Das Kabel ist etwas starr und unflexibel. Der Sensor wird mit um die 15 EUR als waterproof beworben. Dachte von den Fotos her, das sei oben vergossen. Tatsächlich ist ein Gehäuse um die Elektronik herum, ob das tatsächlich wasserdicht ist?

Momentan ist der Sensor an einem 3,3 V-Arduino Nano 33 IoT angeschlossen und liefert im trockenen Zustand, d.h. an der Luft ca. 2,8 V und in einem Glas Wasser 0 V. Ich wollte wissen was die maximale output voltage ist, da der olle CubeCell ja nur 2,4 V maximal abkann. Das ist laut Nachfrage im Heltec-Forum übrigens die maximale Spannung, die der pin verträgt und nicht nur die, die er messen kann! Sonst hätte ich gesagt, 2,8 -2,4 V vom Sensor, d.h. sehr sehr trocken bis sehr trocken interessiert mich eh nicht und ich schließen den auch als 3,3 V-Sensor direkt an, ist wohl nicht so gesund! :frowning:

Jetzt überlege ich, ob ich beim Heltec bleiben soll oder ein anderes Board dafür verwende. Problem ist hierbei, dass der Sensor 5,6 mA verbraucht, d.h. ohne switched source wird das mit deep sleep nichts, da wäre der Heltec schon ok. Bleibt vermutlich nur einen ADS1115 zu verwenden, hätte den Vorteil, dass ich dann auch 4 Analog-Eingänge hätte, der Heltec hat nur drei und einer ist von der Batterie belegt.

Hast Du noch einen 100- und einen 470Ω-Widerstand rumliegen? [Edit: Spannungsteiler allein ist keine gute Idee, siehe Folgepost von @weef.]
https://www.digikey.de/de/resources/conversion-calculators/conversion-calculator-voltage-divider

Aber ja, vielleicht lieber über nen ADS1115 … der eine ADC-Wandler is ja schon vmtl. schön mit dem Akku verdrahtet …

neenee, dat geht nich so einfach.

Wir wissen noch nichts über die maximale Last, die das Ding zu speisen in der Lage ist (ich habe kein Datenblatt oder gar Schaltbild davon gesehen), das ist ein analoger Ausgang, der gewiß nicht 570 Ω (die Summe Deiner Widerstände Richtung GND) treiben kann, d.h. dessen Ausgansspannung bricht zusammen. Könnte aber passieren, daß dies nur bei max.Strom so ist (also “trocken”), und bei kleinen Ausgangsspannungen sogar noch klappt (da Laststrom kleiner). Damit wäre das Ausganssignal durch diesen ‘Signal-Konditionierer’ verfälscht, da nicht mehr linear, das kannste nich machen.

Dafür braucht es einen Impedanzwandler a.k.a. Einser-Verstärker, oder auch Spannungsfolger genannt, der den Ausgang ‘enkoppelt’ und niederohmig bereitstellt. An den Ausgang dieses OPAmps würde man den von Dir beschriebenen Widerstandsteiler dann anschließen (und das dann an den ADC führen). - Über diesen Teiler fließen außerdem ständig fast 3mA nach Masse (im Falle von “trocken”), auch dies nicht im Sinne der Energieeinsparung.

Wenn man die gennanten Widerstandwerte proportional vergößert und am Ende bei 100k und 470k ankommt, dann könnte es vielleicht klappen (dadurch schlechtere SNR ist bei dieser Anwendung egal).

3 Likes

Hier ist noch der Schaltplan des DFRobot-Sensors (PDF) von oben, falls es interessiert:

Seeed’s Variante:

Danke, OK, - hätte ich finden können! ;)
Das ist wieder so ein Schaltplan… die nehmen alle Altium, aber besser lesbare Schaltpläne kommen nicht automatisch dabei heraus…Vor allem haben sie glatt den eigentlichen Bodensensor in ihrem Plan weggelassen… (welchen A.Spiess in seinem Video noch in den Schaltplan eingezeichnet hat; ca. 7’20’') m(

Ich bevorzuge dann die Zeichnung von TheCavePearlProject:
https://edwardmallon.files.wordpress.com/2020/10/2021-03-04_updatedsoilsensorschematic-2.jpg?w=625&h=300

Genau das macht Seeed bei seiner Version (Einfärbungen von mir nach Funktionsgruppen wie bei TheCavePearlProject). Der Sensor ist hier nur eine Box, daß sie einen Kondensator darstellt, der einseitig an GND ist, kann man auch hier nicht erkennen (und R7 haben sie komplett vermurkst: ein Kondensator namens “R7” mit “1M”?!?):

Aber immerhin nutzen sie einen Spannungsfolger (U2A + Außenschaltung), um den Sensor hochohmig abzunehmen. Der OPAmp treibt außerdem den Tiefpaß R6/C7. - Bei dieser Schaltung verändert immerhin das unterschiedliche Belasten des Ausgangs nicht mehr die Ladung des Kondensators “R7” und damit den Sensorwert…

Allerdings auch widersinnig, daß sie einen NE555 verwenden, aber einen LMV358 (die low-voltage-Variante des LM358, die perfekt zum TLC555 passen würde). - Der Umbau auf 3V3-Betrieb für den DFRobot-Sensor ist hier beschrieben, das könnte eine Lösung sein, @clemens - natürlich nur für PCBAs mit dem TLC555.

2 Likes

DFRobot Capacitive Soil Moisture Sensors

Aktuell hat DFRobot zwei kapazitive Sensoren im Angebot, die ich vor einer Zeit mal bestellt habe. Man könnte nun meinen, die eine Version sei nur wasserdicht, die andere nicht, ansonsten sind die Sensoren gleich. So ist es aber nicht. Sie unterscheiden sich auch in diversen Punkten (Größe, output voltage) und ihrem Verhalten.

Gravity: Analog Waterproof Capacitive Soil Moisture Sensor

Artikel-ID: SEN0308, https://www.dfrobot.com/product-2054.html

Supply Voltage: 3.3 - 5.5 V
Output Voltage: 0 - 3 V

SEN0308-detail-002_564x376

Gravity: Analog Capacitive Soil Moisture Sensor

Artikel-ID: SEN0193, https://www.dfrobot.com/product-1385.html

Supply Voltage: 3.3 - 5.5 V
Output Voltage: 1.2 - 2.5 V

Vergleich

Der Wasserdichte ist ca. 1 1/2x so groß wie der untere. Output voltage ist beim günstigeren nur 1,2 bis 2,5 V, der wasserdichte deckt mit 0 bis ca. 3 V einen weiteren Bereich ab, was erst mal nicht tragisch wäre wenn …

Bei meinem Test mit einem Glas Wasser war beim günstigen Sensor der maximale Wert für “feucht” allerdings schon bei Sensor ist 3 cm im Wasser erreicht, d.h. bei 3 oder 4 oder 5 oder 7 cm (maximale) Eintauchtiefe liefert der Sensor immer den Maximalwert!

Anders bei der wasserdichten Version. Hier ändert sich der analog ausgelesene Wert linear mit der Eintauchtiefe ab ca. 3 cm bis 10 cm (empfohlene Tiefe).

Mein Fazit ist daher, dass die wasserdichte Version von DFRobot deuchtlich besser performed als das günstige Modell. Und das hat vermutlich nichts mit der Wasserdichtigkeit zu tun.

Nun ist Wasser keine feuchte Erde, die beiden Sensoren werden sich dennoch in Erde unterscheiden. Auch unter Testing Capacitive soil moisture sensors ist ja schon aufgefallen, dass einige Sensoren weniger linear auf Feuchte-Änderungen reagieren als andere.

OT: Weshalb ich den eigentlich attraktiven (mit I2C-Schnittstelle und günstig) Sensor von Adafruit (Stemma / SeeSaw) auch nicht bestellt habe, er hat darüber hinaus noch Probleme, wenn mehr als ein Sensor an das gleiche Board angeschlossen ist.

Prototype mit ESP32 und OLED (Heltec Wifi kit 32):

2 Likes

Noch was cooles entdeckt, etwas OT weil es bisher nur ums sensing ging:

M5Stack Bewässerungseinheit mit Feuchtesensor und Pumpe
https://docs.m5stack.com/en/unit/watering

Bei berrybase nicht mal 14 EUR! Allerdings 5 V, vermutlich wegen Pumpe.

ich frage mich, ob die bodenfeuchte hier widerstands- oder kondensatorbasiert gemessen wird. denn eigentlich müsste das set ja vom anspruch her auf die bessere technologie setzen (“To briefly summarize, the capacitive sensor wins in all aspects: precision (linearity), repeatability, and fast response.” quelle). ein anderer vergleich bezieht auch noch die korrosionsthematik mit ein:

Comparing the resistive and capacitive sensors reveals that the resistive sensor is unreliable for measuring soil moisture since its response varies from one experiment to another. Another discovery from the response analysis is that the soil-exposed resistive sensor probes are sensitive to corrosion, so after 5-6 short-duration measurements, the sensor loses its functionality. For the capacitive sensor, however, the probes are coated with a polymer that resists electrolysis and oxidation. Consequently, the capacitive sensor is suitable for long-duration measurements, whereas the resistive sensor is ideal for instant measurement. quelle

hier wird kapazitativ gemessen, oder? das kann ich aber nicht in den beschreibungen ausdrücklich finden. und aus den angegebenen empfindlichkeiten kann ich das nicht ableiten. ich finde auch keinen hinweis auf das verwendete bodenfeuchtesensorbauteil.

die zweizinkige ausführung zum in den boden stecken ist zwar üblich für die weniger guten resistiven sensoren, aber wahrscheinlich darf ich nicht von der bauform auf die messweise schließen, oder?

Genau so ist es! :-) Das Ding kann nicht nur Bodenfeuchte messen, sondern auch Bodentemperatur und Elektrische Leitfähigkeit (electric conductivity, EC). Daher hat es wohl zwei Zinken für die unterschiedlichen Sensor-Messungen, aber nicht weil es ein resistives Zeugs ist:

2023-11-28 19_54_04-SenseCAP S2105 - LoRaWAN® Soil Moisture, Temperature and EC Sensor - Seeed Studi

Interessanterweise hatte die alte / erste Version des SenseCAP Bodenfeuchte tatsächlich einen resistiven Messfühler, da hatte ich auch schon gedacht “Profigerät”!?

Allerdings soll der letzte heiße Sch… Goldstandard ja eh Saugspannungs-Sensoren sein. Das Team von QTree setzt welche von ARBOR revital ein. Funktionsprinzip ist hier ganz gut beschreiben. Ich weiß nicht, ob der Sensor von Gardena auch so arbeitet (schaut ähnlich aus) und ist bei mir im Garten eine Katastrophe, da er nur “feucht” anzeigt wenn das Beet unter Wasser ist.

Jedenfalls werden für das gleiche Szenario (Wasserbedarf von Bäumen) auch kapazitive Sensoren eingesetzt, wie der von plantobelly (1/3 teurer als der SenseCAP), daher denke ich, dass die Technologie nicht soooo schlecht ist, auch die für die Wetterstationen von froggit.de zugekauften Bodenfeuchtesensoren sind kapazitiv und die Messwerte der letzten Monate sind ganz plausibel.