Forum: Mikrocontroller und Digitale Elektronik Kapazitive Erdfeuchtemessung


von Peter #. (ich_eben)


Lesenswert?

Hallo,
angelehnt an die anderen Threads, giessomat...habe ich eine frage zur 
kapazitiven Erdfeuchtemessung.
Ich habe einen atmega88 mit folgendem code:
1
DDRC = (1 << DDC0);       //Port auf Ausgang setzten
2
PORTC |= (1 << PINC0);    /* setzt Bit auf 1 */
3
_delay_ms(5);        // kurz warten bis geladen
4
DDRC &= ~(1 << DDC0);                  //Port auf Eingang
5
PORTC &= ~(1<<PINC0);                   //Tristate
6
ADMUX |= (1<<REFS1) | (1<<REFS0); // interne Referenzspannung nutzen
7
ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0);    // Frequenzvorteiler
8
ADCSRA |= (1<<ADSC);              // eine ADC-Wandlung
9
while ( ADCSRA & (1<<ADSC) ) {
10
  ;     // auf Abschluss der Konvertierung warten
11
}
12
result = ADCW;
13
ADCSRA &= ~(1<<ADEN);             // ADC deaktivieren (2)
mit diesem code und einem steckbrettaufbau (Pin mit 250kOhm an masse) 
erzeugt ein 100pf Kondensator einen ausschlag von 0 auf 160 größere 
Kondensatoren dementsprechend mehr.
Als Feuchtigkeitssonde habe ich eine streifenrasterplatine genommen(15cm 
x 6 streifen) drei streifen an masse und drei an den Pin des uc. So 
schwanken die Werte um ca 60 wild herum egal ob die sonde im wasser ist 
oder nicht.
Liegt der Fehler im code oder in der Sonde?

von Tim  . (cpldcpu)


Lesenswert?

Peter ##### schrieb:
> Liegt der Fehler im code oder in der Sonde?

Was passiert denn, wenn die feuchte Erde einen leitfähigen Pfad zwischen 
den Streifen Deiner Platine herstellt?

von Klaus R. (klara)


Lesenswert?

Peter ##### schrieb:
> So
> schwanken die Werte um ca 60 wild herum egal ob die sonde im wasser ist
> oder nicht.
> Liegt der Fehler im code oder in der Sonde?

Mit welcher Frequenz? 50Hz?
mfg klaus.

von Peter #. (ich_eben)


Lesenswert?

kurzschlüsse durch wasser -> wert wird größer
kurzschluss durch metall -> wert =0
?

@klara der Programmteil wird mit der ausgabe auf einem lcd in einer 
schleife ausgeführt, sollte also mit mehr als 50Hz laufen

von Oldie (Gast)


Lesenswert?

Wikipedia:
Ein kapazitiver Feuchtigkeitsmesser wird in den Boden gesteckt und misst 
berührungslos den Wassergehalt. Messprinzip ist der sehr große 
Unterschied der Dielektrizitätszahl ε_r von Erde und Wasser.

Berührungslos heißt natürlich: Deine "streifenrasterplatine" muss
eine dünne, formstabile und robuste Isolierung haben.

Wenn du die dann im Erdreich versenkt hast, musst du eine
Kapazitätsmessung durchführen.
Das geht GANZ BESTIMMT nicht so, wie in diesem Code-Schnipsel!

Wenn du einen funktionierenden Code für die Kapazitätsmessung
hast, musst du deinen Messaufbau "kalibrieren":

Mach eine Messung bei "pupstrockener" Erde und eine nach
reichlicher Wässerung.

Die Bodenfeuchte kann man dann (mehr-oder-weniger) gleich
verteilt zwischen diesen Extremwerten der Kapazitätswerte
ermitteln. Simple Interpolationsarithmetik.

Wenn du das nicht gebacken kriegst:
Kauf was fertiges - wird auch nicht besser sein...

von Peter #. (ich_eben)


Lesenswert?

wie die messung funktionieren sollte weiß ich...
die Streifenrasterplatine ist mit schrumpfschlauch isoliert.
der Code-schnipsel kann kapazitäten messen - 100 pF gibt einen ausschlag 
von 160. wenn du mir aber erklären kannst wie ich den code verbessern 
kann würde ich mich freuen

von Günter R. (guenter-dl7la) Benutzerseite


Lesenswert?

Ich könnte mir vorstellen, dass ein 100-pF-Kondensator 'normaler Güte' 
funktioniert; da aber feuchte Erde wohl einen ziemlichen Verlustfaktor 
haben wird, man das durch einen entsprechenden Widerstand praktisch 
simulieren muss (verhältnismäßig kleiner Serien-R oder verhältnismäßig 
hoher Parallel-R, je nachdem, was die Anschlüsse DC-mäßig nicht 
durcheinanderbringt).

Was passiert denn z.B. mit dem Ergebnis, wenn du zu deinen 100 pF eine 
Kurbelkiste paralleschaltest, bleibt der Messwert dann auch konstant?

Nachtrag: Kannst du die Güte deines Sensors NF-mäßig in der Erde 
bestimmen, also mit einem geeigeneten L-Messgerät?

: Bearbeitet durch User
von Ingo D. (ingo2011)


Angehängte Dateien:

Lesenswert?

Hi Peter,

weißt Du das wirklich ?
Auf dem originalen Sensor ist ein Oszillator, der um so hoeher
schwingt, desto trockener das Medium, also die Erde im Blumentopf, ist.
Ich habe das vor ein paar Monaten auch mal aufgebaut um ein ungefähres 
Gefühl zu bekommen. Wenn die Erde nass ist, schwingt das hier um 120-150 
KHz, Bei relativ trockener Erde fast um 500KHz. Eine Atmega8 habe ich 
als I2C-Slave programmiert der die Werte an eine RasPI schickt. Ein 
Python-Script erzeugt dann die rafiken.
Die Aussetzer kommen davon, das manchmal der Wind , das Ganze von der 
Fensterbank pustet. ;-)

Gruss Ingo



Peter ##### schrieb:
> wie die messung funktionieren sollte weiß ich...
> die Streifenrasterplatine ist mit schrumpfschlauch isoliert.
> der Code-schnipsel kann kapazitäten messen - 100 pF gibt einen ausschlag
> von 160. wenn du mir aber erklären kannst wie ich den code verbessern
> kann würde ich mich freuen

von Oldie (Gast)


Lesenswert?

Interessant ist nur die Messung der Kapazität, die sich durch
das epsilon_r (Wasser / trockene Erde) verändert.
Die Güte des Kondensators ist hier ohne Belang!

Wie verhindert denn ein oben und unten offener Schrumpfschlauch
das Eindringen von Feuchtigkeit?
Wie soll sich das epsilon_r von trockener Erde/Wasser
noch über 2 mm (Abstand der Leiterbahnen) bemerkbar machen,
wenn schon 0,5 mm Schrumpfschlauch dazwischen sind?

Geben denn 220 pF auch einen "Ausschlag" von 2,2 * 160 = 352,
oder ergeben sie einen "Ausschlag" von 160/ 2,2 = 72,
oder tanzen sie auch um 60 ???

ETWAS Eigeninitiative beim Nachdenken kann wirklich nicht
schaden!

@ Günter Richter:
Was ist eine "Kurbelkiste"?
Welche Erkenntnisse liefert die?

von Tim  . (cpldcpu)


Lesenswert?

Oldie schrieb:
> Die Güte des Kondensators ist hier ohne Belang!

Die Güte ist für die Messung relevant. Peter verwendet eine 
quasistatische Charge-sharing Methode zur Messung der Kapazität. Diese 
ist sehr anfällig für Verluste.

von Falko (Gast)


Lesenswert?

Hast du nun solche Sensoren:
Beitrag "[V] Bausatz für Giess-o-mat Sensor"

oder andere?

Die mit dem Oszillator funktionieren super.
Die nur die Ladung über die Zeit messen, funktioniert bei jeden Sensor 
total anders. (Andere Ergebnisse)

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.