Forum: Mikrocontroller und Digitale Elektronik Sensordesign für Giess-O-Mat


von Tim  . (cpldcpu)


Lesenswert?

Im Netz und hier auf dem Board gibt es ja eine Menge Ideen für 
kapazitive Feuchtesensoren zur Messung der Bodenfeuchte von Pflanzen. 
Beispiele:

Beitrag "Giess-o-mat mit AVR Version 2"
Beitrag "[??] Besteht Interesse an Bausatz für Giess-o-mat Sensoren"
http://wemakethings.net/chirp/

Das Design des Sensors scheint dabei immer recht empirisch zu sein. Ich 
habe mir Gedanken um eine vereinfachte Ansteuerung gemacht und würde 
gerne nachrechnen, ob das auch so klappt. (Ich weiss, das ist eine ganz 
ungewöhnliche Designmethodik)

- Hat jemand mal gemessen, welche Kapazität diese Sensoren tatsächlich 
haben?
Gegen Luft? Gegen Erde? Gegen feuchte Erde?

- Wie hoch ist die Permittivität von feuchter und trockener Erde?

- Welches Layout ist das Beste? Das vom Chirp erzeugt auf gleicher Länge 
zwei Kondensatoren, daher ist es sicherlich etwas empfindlicher als vom 
µc-net sensor. Aber warum hat der Chirp eine Massebene auf der 
Rückseite?

: Bearbeitet durch User
von Philipp K. (philipp_k59)


Lesenswert?

Habe auch einen kleinen Langzeittest gestartet..

Der Widerstand macht was er will, von Tag zu Tag und Schaltens 
verschieden.

Ich werde es jetzt mit Untertopf und Untertopf-Kein-Wasser Logik 
ausprobieren!

von Tim  . (cpldcpu)


Lesenswert?

Philipp K. schrieb:
> Der Widerstand macht was er will, von Tag zu Tag und Schaltens
> verschieden.

Aber das ist dann ein resistiver und kein kapazitiver sensor, oder? Ein 
Problem bei den resistiven Sensoren ist die Korrosion der Kontakte.

von Andi (Gast)


Lesenswert?

Kapazitiv kann gehen, hängt aber von der Eintauchtiefe des Sensors 
(Streufeldkondensator) ins Erdreich, vom Druck / Dichte des Erdreiches 
gegen den Sensor und der Temperatur ab.
Wenn einer der genanten Parameter nicht konstant ist, kannst Du kaum
noch auf die Feuchte der Blumenerde schließen.

von Tim  . (cpldcpu)


Lesenswert?

Andi schrieb:
> Kapazitiv kann gehen, hängt aber von der Eintauchtiefe des Sensors
> (Streufeldkondensator) ins Erdreich, vom Druck / Dichte des Erdreiches
> gegen den Sensor und der Temperatur ab.
> Wenn einer der genanten Parameter nicht konstant ist, kannst Du kaum
> noch auf die Feuchte der Blumenerde schließen.

Die Kapazität steigt mit zunehmendem Wassergehalt. Ich vermute dass die 
Temperatur eher nebensächlich ist, und wenn, dann hauptsächlich einen 
Einfluss auf den dielektrischen Verlust hat (Ionenleitung).

Die oben verlinkten Sensoren werden per Knopfdruck auf einen gewissen 
Stand vor dem giessen kalibriert. Wenn dieser Stand wieder erreicht 
wird, geben sie Alarm.

von Tim  . (cpldcpu)


Lesenswert?

Meine Idee war, den Sensor über eine Charge-Sharing Ansatz auszulesen, 
wie man es auch für die Touchbuttons macht. Habe ich vor einer Weile mal 
hier implementiert:

https://github.com/cpldcpu/TinyTouchLib

Der Vorteil wäre, dass man nur einen Eingangspin und keine weiteren 
Bauelemente benötigt. Das wäre eine deutlich einfachere Lösung als die 
bisheringen. Der Nachteil ist, dass die Kapazität nicht viel größer als 
die Interne S&H Kapazität sein darf.

Die Methode funktioniert so:

- Der interne S&H Kondensator, Cint (14 pF bei AVR), wird über einen Pin 
entladen.
- Der zu testende Kondensator, Ctest, wird auf VCC aufgeladen.
- Anschließen werden beide Verbunden.

Die Ladung auf Ctest beträgt Qges=Ctest*Vcc, da Q=C*V. Qint=0. Wenn 
beide Kondensatoren verbunden werden, verteilt sich die Ladung so, dass 
sich über beiden Kondensatoren die gleiche Spannung, Vadc, einstellt.

Qges=Ctest*VCC=Vadc*(Ctest+Cint)

Damit ist:

Ctest=Cint*Vadc/(Vcc-Vadc)

Vadc kann man mit dem ADC-Wandler bestimmen. Da sowieso nur Schwellwerte 
interessieren, sind die genauen Werte von Vcc und Cint egal.

Die Messung ist am genauesten, wenn Ctest~Cint. Daher sollte der Sensor 
"unbelastet" ca. 14 pF haben. Desweiteren sollte die Kapazität des 
Sensors möglichst stark vom Testmedium abhängen.

: Bearbeitet durch User
von Tim  . (cpldcpu)


Angehängte Dateien:

Lesenswert?

Ich habe an diesem Thema mal etwas weiter gemacht.

Zunächst habe ich mir einen Sensor layoutet. Bild anbei. Der Sensor ist 
ca 5 cm lang. Die Leiterbahnen sind komplett mit Lötstopplack bedeckt. 
Die innere Elektrode dient zur Messung, die äußere Elektrode ist 
geerdet.

Der Sensor wird mit einem ATtiny85 angesteuert, indem, wie oben 
beschreiben, der interne S&H Kondensator zunächst aufgeladen und 
anschließend auf die Elektrode des Sensors entladen wird. Danach wird 
mit dem internen ADC die noch über den S&H Kondensator abfallende 
Spannung gemessen.

Um Einflüsse durch dielektrische Verluste abschätzen zu können, habe ich 
die Zeit zwischen dem Kurzschließen der Kondensatoren und dem Beginn der 
ADC-Messung variiert. Wenn der Sensor von einem verlustbehafteten 
Dieelektrium umgeben ist, verliert der Kondensator über die Zeit Ladung.

Anbei ein paar Messwerte. Wie man sehen kann, ist die Messungen 
gegenüber Luft stabil - als Touchsensor eignet sich die Charge Sharing 
Methode also wunderbar. In der Erde und besonders in Wasser wird die 
Messung durch starke Verluste aber sehr zeitabhängig.

Generell kann man schon den Unterschied zwischen trockener und feuchter 
Erde erkennen. Ich werde die Messung aber wohl noch mehr optimieren 
müssen.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.