Go Down

Topic: Mein Thermostatprojekt (Frage!) (Read 599 times) previous topic - next topic

MindCode

Hallo,

ich habe mir jetzt aus einer alten Digitaluhr einen Thermowiderstand rausgelötet.
Soweit ich das als Neuling einschätzen kann, funktioniert er gut.

Jetzt habe ich durch meinen ersten Thread hier gelernt, dass man
bei Digitalen IN/OUTs einen Pulldown widerstand braucht. Das hat
natürlich super funktioniert.

Das gleiche scheint man bei Analog IN allerdings auch zu brauchen.
Angefangen habe ich, in dem ich den Spannugnsfall an einem Widerstand
messen wollte, jedoch zeigte mein PC immer den Wert 1023 an, bei
egal welchem Widerstand.

Dann habe ich also noch einen Widerstand mir geschnappt, und den zu Analog IN
mit GND verbunden, und siehe da: schon wurde die Spannugn richtig gemessen.

Was mir jetzt bei meinem Thermostatprojekt aufgefallen ist:
Wenn ich diesen Widerstand der zu GND geht, erhöhe, verändern
sich auch die gemessenen Werte am Analog IN.

Gefühlstechnisch würde ich sagen:
Je höher dieser Widerstand (ich weiss nicht wie man ihn in diesem Fall nennt?)
desto höher der Wert und weiter ist der Messbereich, also genauer!

Je kleiner der Widerstand, desto kleiner der Wert und "ungenauer"
(damit meine ich die Reaktion auf veränderung)!

Was hat es damit aufsich?
Wieso ist das so?

Würde mich diesbezüglich über eine
Erklärungen freuen, möchte das verstehen :-)

sth77

Du hast es ganz einfach mit einem Spannungsteiler zu tun. Zwei Widerstände in Serie hängen zwischen Masse und Versorgungsspannung, am Mittelabgriff zwischen den Widerständen kann man eine Spannung abgreifen und mit dem Mikrocontroller auswerten. Das Verhältnis zwischen den Widerständen beeinflusst so die Höhe der Spannung.
Mein Arduino-Blog: http://www.sth77.de/ - letzte Einträge: Teensy 3.0 - Teensyduino unter Window 7 - Teensyduino unter Windows 8

uwefed

Die beste Auflösung mußtest Du haben wenn beide Widerstände gleich groß sind. Ein Termowiderstand (PTC oder NTC) sind nicht linear. Darum eignen sie sich nicht besonders gut für die Temperaturmessun. Du muß die Nichtlinearität durche eine Formel oder Wertetabelle korrigieren.

Grüße Uwe

erni-berni

Weißt du, welche Art Temperaturwiderstand du hast. Bei einem NTC sinkt der Widerstand bei ansteigender Temperatur, bei einem PTC steigt er. Wie hoch ist der Widerstand bei 20°C ? Wie groß ist die Änderung ?
Bei einem NTC kann man den Linearitätsfehler ausgleichen (siehe http://www.sprut.de/electronic/temeratur/temp.htm#ntc).
Ich habe eine Schaltung mit einem KTY81 (R bei 25° = 2000 Ohm) und einem Vorwiderstand von 5,6k aufgebaut und damit eine gute Linearität erreicht.
Die Formel, um aus dem Messwert die Temperatur zu berechnen ist dann:
Code: [Select]

    float temp = (float(analogRead((sensorPin)))/1024*5 -1.127)/0.00759;   // temp ist Temperatur in Celsius

Go Up