Forum: Mikrocontroller und Digitale Elektronik Bodenfeuchtesensor am Atmega8535 ADC auswerten


von Christoph G. (booty3009)


Lesenswert?

Hallo!

Ich habe einen Bodenfeuchtesensor, der liefert mir wenn der Boden 
trocken ist 10KOhm und wenn der Boden feucht ist 10KOhm. Wie kann ich 
das mit einem Atmega8535 auswerten? Der Sensorkontakt kann mit max. 12V 
belastet werden, wobei der Strom im Bereich von 10mA liegen sollte.

Ich möchte das Signal vom Sensor abfangen. Wenn der Boden z.B. trocken 
ist soll der Mikrocontroller über RS232 an einem PC einen String 
schicken.

Wie mache ich das am besten?

von Helmut -. (dc3yc)


Lesenswert?

Christoph,

wozu brauchst du überhaupt einen Sensor, wenn der nass den gleichen Wert 
wie trocken liefert? Und wofür ist der Kontakt? Gibt nicht der Sensor 
einen Widerstandswert vor?

Servus,
Helmut.

von Sebastian (Gast)


Lesenswert?

Das wäre eigentlich gar nicht so schwer. Da aber der Widerstand des 
Sensors offensichtlich in feuchtem und in trockenem Zustand gleich ist, 
sehe ich keinen Weg, daraus zu erkennen, ob der Boden trocken oder 
feucht ist.

von Christoph G. (booty3009)


Lesenswert?

Oh sorry, habe mich vertippt feucht = 0KOhm und trocken 10KOhm!
Die Sensor gibt den Widerstandswert vor!

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

du könntest den Sensor an +5V schalten, und die andere "Seite" an den 
ATMEGA.
Ist der Pin HIGH --> Boden Trocken
Pin LOW --> Boden nass

von Ulrich P. (uprinz)


Lesenswert?

Mal abgesehen davon, dass es mit einer kleinen Schaltung ganz ohne 
Microcontroller gehen könnte, bietet der ATmega8535 gleich zwei 
Möglichkeiten:
http://www.atmel.com/dyn/resources/prod_documents/DOC1041.PDF
Sagt, dass der Controller sowohl über einen Comparator, als auch über 
einen ADC verfügt.

Wenn Du den Comparator mit einem Pin an einen Spannungsteiler aus Sensor 
und Festwiderstand legst und den anderen Pin mit einem Poti beschaltest, 
dann löst der Comparator einen Interrupt bei Über- / Unterschreitung 
seiner Spannungsdifferenz einen Interrupt aus. Dieser kann dann das 
Senden des Strings veranlassen.

Die andere Option ist die Verwendung des ADC. Auch hier könnte man aus 
einem Festwiderstand und dem Sensor einen Spannungsteiler aufbauen, 
dessen Mittelpunkt dann dem ATmega über einen ADC-Eingang zugeführt 
wird. Das hat den Vorteil, dass man die Schwellwerte für Bewässerung 
starten und beenden frei programmieren kann. Da der ADC über 8 Kanäle 
verfügt, kann man sogar mehrere Sensoren in unterscchiedlichen 
Blumenkübeln unterbringen oder schattige und sonnige Flächen im Garten 
unterscheiden. ( Sonst wird aus ersteren schnell eine Moorlandschaft, 
wärend letztere im Sommer trotzdem verbrennen.)

Ich errate aus der sehr allgemein gestellten Frage, dass es noch an 
einigen Grundkenntnissen fehlt. Aber ich denke mit ADC und Comparator 
die richtigen Stichworte für das AVR-Tutorial gegeben zu haben.

Viel Erfolg, Ulrich

von Spess53 (Gast)


Lesenswert?

Hi

Es gibt ein generelles Problem: Solche Feuchtesensoren sollten mit 
Wechselspannung betrieben werden. Bei Gleichspannung wird sich früher 
oder später eine Elektrode auflösen ->Elektrolyse.

MfG Spess

von Christoph G. (booty3009)


Lesenswert?

Muss ich denn überhaupt den ADC nutzen? Im AVR-GCC-Tutorial steht drin, 
dass man die Analog-Digital-Wandlung ohne internen ADC machen kann zur 
Messung eines Widerstandes.

Welche Variante ist denn nun die beste?

von STK500-Besitzer (Gast)


Lesenswert?

Du brauchst auf jeden Fall einen Analog zu Digital Wandler.
Ob der intern oder extern ist, sollte egal sein.

von Ulrich P. (uprinz)


Lesenswert?

Christoph G. wrote:
> Muss ich denn überhaupt den ADC nutzen? Im AVR-GCC-Tutorial steht drin,
> dass man die Analog-Digital-Wandlung ohne internen ADC machen kann zur
> Messung eines Widerstandes.
>
Es ist so, dass man über einen kleineren Widerstand einen Kondensator 
aufladen kann. Dies macht man über einen Port-Pin. Über einen anderen 
Port-Pin klemmt man sich zwischen Kondensator und Widerstand.
Ein veränderbarer Widerstand parallel zum Kondensator entlädt diesen 
wieder und je kleiner der Widerstand ist, desto schneller ist der 
Kondensator leer und desto schneller kippt auch der zweite genannte Port 
Pin wieder auf 0.

Aber mal ehrlich, das ganze ist eine ganz schöne Wackelpartie und mit 
diversen Toleranzen behaftet. Daher sollte man, so man ohnehin einen für 
lau mit geliefert bekommt, den ADC verwenden.

Gruß, Ulrich

von Christoph G. (booty3009)


Angehängte Dateien:

Lesenswert?

Hallo!

Im Anhang habe ich jetzt ein Schaltung erstellt. Könnt ihr mal schauen 
ob die so richtig ist oder ob man noch etwas verbessern kann?

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.