Arduino Soil Moisture Sensor Korrosion verhindern

Einleitung

Nachdem mein Smart Plant Pot nun seit rund zwei Monaten erfolgreich lief, schlichen sich die ersten Fehler ein. Meine Smart Plant Pot App zeigte sein mehreren Tagen nur noch 39% Feuchtigkeit an. Nachdem ich den Plfanzentopf gänzlich unter Wasser setzte, änderte sich der Wert schließlich auf 44%. Irgendwas schien defekt zu sein.

Nachdem ich meine Pflanze zur Seite rückte und den Feuchtigkeitssensor (Soil Moisture Sensor) frei gelegt hatte, war der Fehler schnell klar: Oxidation!

Das Ergebnis nach nur zwei Monaten ist eigentlich erschreckend. Der Pluspol hat sich stark aufgelöst.
Das Ergebnis nach nur zwei Monaten ist eigentlich erschreckend. Der Pluspol hat sich stark aufgelöst.

Dadurch das der Sensor zwei Monate in einem feuchten Boden unter Strom stand, wurde der Oxidationsprozess der metallischen Oberfläche beschleunigt.

Die Lösung gegen die Oxidation

Eine vollständige Lösung gegen die Oxidation konnte ich leider nicht finden, jedoch habe ich einige Tipps entdeckt, wie man den Oxidationsprozess verlangsamen kann.

  • Den Sensor nur für die Messung aktivieren
  • Die Polarität nach der Messung invertieren

Um dieses Konzept umzusetzen, müssen wir die Pins VCC und GND vom Sensor jeweils an einen eigenen Digital Output unseres Arduinos anklemmen. Der Pin SIG bleibt weiterhin an einem Analog Input Pin angeschlossen.

Danach müssen wir unseren Scatch um die folgende Funktion erweitern, um den Feuchtigkeitssensor anzusteuern.

function int readSoilMoisture()
{
   int value; 
   
   pinMode(soilMoisturePin1, OUTPUT);
   pinMode(soilMoisturePin2, OUTPUT);

   digitalWrite(soilMoisturePin1, HIGH);
   digitalWrite(soilMoisturePin2, LOW);
   delay(500);

   value = analogRead(soilMoisturePin3);

   digitalWrite(soilMoisturePin2, HIGH);
   digitalWrite(soilMoisturePin1, LOW);
   delay(500);

   digitalWrite(soilMoisturePin2, LOW);
   return value;

}

Die Funktion liefert als Rückgabewert den gelesen Wert von unserem Feuchtigkeitssensor, zusätzlich vertauscht sie die Polarität der Stromzufuhr des Sensors für eine kurze Seite und schaltet anschließend die Stromzufuhr ab, so können wir dem Oxidationsprozess entgegenwirken.

Ein Langzeittest wird zeigen, wie lange mein nächster Sensor durch diese Änderungen überleben wird. Allein das Abschalten der Stromzufuhr sollte die Lebenszeit um einige Monate verlängern.

Kommentare

2 Gedanken zu „Arduino Soil Moisture Sensor Korrosion verhindern

  • d
    2. Juni 2020 um 08:34
    Permalink

    echt klasse. ist sicher die günstigere lösung. weist du schon wie lange der sensor jetzt hält?

    Antwort
    • P
      2. Juni 2020 um 08:43
      Permalink

      Hi,

      Nicht sonderlich lange. Also keine Jahre.
      Aus diesem Grund bin ich auf die teureren kapazitiven Sensoren umgestiegen.
      Diese sind witterungsbeständiger.

      Grüße
      Patrick

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Notify me of followup comments via e-mail. You can also subscribe without commenting.

Pin It on Pinterest