mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bodenfeuchtesensor am Atmega8535 ADC auswerten


Autor: Christoph G. (booty3009)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Helmut -dc3yc (dc3yc)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Christoph G. (booty3009)
Datum:

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

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht 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/...
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

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph G. (booty3009)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: STK500-Besitzer (Gast)
Datum:

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

Autor: Ulrich P. (uprinz)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christoph G. (booty3009)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.