NEWS
Erfahrungen mit ELV Bodenfeuchte Sensor SoMo1
-
Ich will die Bodenfeuchte im Garten messen. Dazu gabe ich den "Standard-Moisture-Sensor Version 2.0" erworben.
Der war kaum 2 Wochen im Einsatz und liefert schon falsche Werte.
Jetzt habe ich gesehen, dass es von ELV einen neuen Bodenfeuchte Sensor gibt: SoMo1 mit I2C-Schnittstelle.
Hat schon mal jemand den Scensor verbaut? Wie ist die Erfahrung damit?
Vielen Dank! -
@andreas-9 sagte in Erfahrungen mit ELV Bodenfeuchte Sensor SoMo1:
SoMo1
Düfte ein kapazitiver Sensor sein. Ob der genauer ist als die analogen auf Amazon (5 Stk. um 7,- Euro) weiß ich nicht. Ich habe so einen im Einsatz. Zusammen mit einem ESP32C3 der einmal in der Stunde aus dem Deepsleep aufwacht und den Wert mittels MQTT über WLAN an den ioBroker liefert. Zusätzlich messe ich die Spannung des Akkus. Der hält ca. 6 Monate. Wichtig ist, dass man den Sensor über einen Ausgang des ESP versorgt. Andernfalls saugt der den Akku deutlich schneller leer. Mittels Spannungsregler wird die Spannung für den ESP auf 3,3V begrenzt.
Das ganze in ein wasserdichtes Gehäuse eingebaut und im Garten platziert. Für eine höhere Stabilität habe ich mir noch zwei Erdspieße gedruckt und am Gehäuse angeschraubt.
Das mit der Genauigkeit ist aber so eine Sache. Wenn er ein paar Tage im Boden steckt, kann man zumindest den Verlauf gut erkennen. Beim nächsten Einstecken zeigt er meist andere Werte an. Die Bewässerung passe ich dann nach Bedarf an.
Hier ein Foto. Allerdings noch mit einem anderen ESP (der zu viel Strom gebraucht hat.

-
@andreas-9, die im Internet angebotenen "Standard-Moisture-Sensor Version 2.0" haben unterschiedliche Qualität. Teilweise ist ein Spannungsregler mit verbaut, teilweise nicht. Der für den Oszillator verwendete Timerbaustein "xx555" wird oft mit einer Betriebsspannung unterhalb der "Recommended min. VDD Supplyvoltage" betrieben, d.h. es ist keine für den Betrieb mit 3,3V spezifizierte Version wie z.B. TLC555I oder TLC555C verwendet.
Gemäß dem auf der Seite https://de.elv.com/p/elv-universeller-bodenfeuchtesensor-somo1-ic-P157930 verfügbaren Datenblatt https://media.elv.com/file/157930_fdc2112_sensor_data.pdf verwendet der SoMo1 mit dem FDC2112-Baustein eine wesentlich hochwertigere Schaltung die bessere Genauigkeit erwarten läßt. Ein schwarzer Lack und das übliche Platinenmaterial sind ja nur begrenzt wasserdicht.
Ob das "Schwert" des Sensors, d.h. die Platine im in den Boden zu steckenden Teil, an allen Seiten (oben, unten, Kante) beim ELV-Sensor ausreichend gegen Feuchtigkeit abgedichtet ist, kann ich nicht sagen.
-
@horst-0 sagte in Erfahrungen mit ELV Bodenfeuchte Sensor SoMo1:
Ein schwarzer Lack und das übliche Platinenmaterial sind ja nur begrenzt wasserdicht.
Aus diesem Grund habe ich die Kanten mit Superkleber behandelt nachdem ein Sensor defekt wurde. Seit letztem Jahr läuft er nun ohne Probleme.
-
So, ich habe jetzt mal den Somo1 von ELV getestet:
der Somo1 hat einen FDC2214 für die kapazitive Bodenfeuchtemessung mit der Adresse 0x2B und einen SHT4x für die Temperatur und Luftfeuchtemessung eingebaut. Diese können über Bibliotheken vom ESP über den I2C-Bus ausgelesen werden.
Bei mit hat's folgendermaßen funktioniert:- für den FDC2112:
#include <FDC2214.h> // von GitHub: zharijs/FDC2214, funktioniert auch mit FDC2112
#define FDC2112_ADDR 0x2B
FDC2214 capsense(FDC2112_ADDR);
die Initialisierung FDC2112 geschieht mit:
capOk = capsense.begin(0x3, 0x4, 0x5, true);
Die Werte in capOk = capsense.begin(0x3, 0x4, 0x5, true); haben gemäß der gängigen FDC2214 Arduino-Bibliothek folgende Bedeutung:- 0x3 — Kanalmaske (chanMask): Aktiviert die Kanäle 0 und 1 (Binär 0011), d.h. die ersten zwei Kanäle des Sensors werden genutzt.
- 0x4 — Auto-Scan Sequenz (autoscanSeq): Legt die Auto-Scan-Konfiguration fest; mit diesem Wert wird festgelegt, wie viele Kanäle im Sequenzmodus automatisch durchlaufen werden (hier typischerweise zwei Kanäle).
- 0x5 — Entprell-Frequenz (deglitchFreq): Bestimmt die Filterfrequenz des Entprell-Filters für das Sensorsignal. Werte wie 0x3, 0x5 entsprechen unterschiedlichen Frequenzen (z.B. 5 MHz), um Störungen auszufiltern.
- true — Nutzung des internen Oszillators (intOsc): Boolescher Wert, der angibt, ob der interne Oszillator des FDC2214 genutzt wird (true) oder ein externer Takt (false).
Man erhält dann mit capa = capsense.getReading28(0); die Rohwerte, bei mir waren das 11534335 für den Nullwert (trocken) und 9043967 für komplett im Wasser. Das muss man dann eben auf 0 - 100% umrechnen.
- Für den SHT4x:
#include <Adafruit_SHT4x.h>
Adafruit_SHT4x sht4 = Adafruit_SHT4x();
sht4.begin()
Beim SHT4x kann man noch mit:
sht40.setPrecision(SHT4X_HIGH_PRECISION); // höchste Genauigkeit optional
auf höhere Auflösung schalten und mit:
sht4.setHeater(SHT4X_NO_HEATER) eine potenzielle Heizung abschalten.Mit
sensors_event_t humidity, temp;
sht4.getEvent(&humidity, &temp);
die Luftfeuchte und Temperatur auslesen.Die Werte können dann per MQTT oder ähnlich weiterverarbeitet werden.
Fazit:
Der Somo1 misst sehr verlässlich seit August im Garten. Der eigentliche Meßfühler (in der Erde) sieht noch aus wie am 1. Tag. Keine Aufweicherscheinungen oder Blasenbildung wie bei dem NoName "Capacitive Soil Moisture Sensor v2.0", den ich davor ausprobiert hatte.
Aus meiner Sicht hat sich der Mehrpreis bei der Beschaffung ausgezahlt. - für den FDC2112: