Der Temperatursensor besteht aus einem temperaturabhängigen Halbleitermaterial. Je nach Umgebungstemperatur leitet dieser besser oder schlechter. Mit Hilfe von Referenzwerten, welche im dazugehörigem Datenblatt aufgelistet sind, kann daraus die Temperatur abgeleitet werden. Er muss über einen Spannungsteiler an einen analogen Port des Arduinos angeschlossen werden. Würde man dies nicht tun, so könnte im Falle eines hohen Widerstandswertes des Sensors der Eingang des analogen Pins undefiniert sein und undifferenzierte Werte anzeigen.
int MessPin = A0; //analoger Eingang int Messwert = 0; // void setup() { Serial.begin(9600); } void loop() { Messwert = analogRead(MessPin); Serial.println(Messwert); delay(500); // Messung alle 0,5 Sekunden }
Der Widerstand $R_T$ des Sensors ist von der Temperatur abhängig. Der Widerstand wird in Reihe mit einem Hilfswiderstand $R_H=10k\Omega$ angeschlossen. Der Arduino misst die Spannung $U_T$ des Sensors und der 10bit Analog-Digital-Wandler gibt sie als einen Zahlenwert $X$ zwischen 0 und 1023 heraus. Aus $\frac{U_T}{5}=\frac{X}{1023}$ folgt $U_T=\frac{5}{1023}\cdot X$. Da über den analogen Port so gut wie kein Strom abfließt, gilt: $I=\frac{U_T}{R_T}=\frac{U_H}{R_H}$, wobei $U_H=5-U_T$ ist. So erhält man den Widerstand des Sensors aus: $R_T=\frac{U_T}{5-U_T}\cdot R_H$. Die Zuordnung Widerstand zu Temperatur liest man aus dem Datenblatt heraus:
R_T | 1510 | 1646 | 1790 | 1941 | 2022 |
---|---|---|---|---|---|
T | -10 | 0 | 10 | 20 | 25 |
Zwischen zwei Werten wird ein linearer Verlauf angenommen. Die Geradengleichung durch zwei Punkte stellt man mit Hilfe der Zwei-Punkte-Formel auf: $m=\frac{\Delta y}{\Delta x}=\frac{y_1–y_0}{x_1-x_0}=\frac{y–y_0}{x-x_0}$.
Es gilt also:$$y=\frac{y_1–y_0}{x_1-x_0}\cdot (x-x_0)+y_0.$$ Liegt der berechnete Widerstand $R_T$ zwischen zwei Widerständen $R_1$ und $R_0$, so gilt für die Paare $\left(R_1\middle| T_1\right)$ und $\left(R_0\middle| T_0\right)$ die Geradengleichung $T(R_T)=\frac{\left(T_1-T_0\right)}{\left(R_1-R_0\right)}\cdot\left(R_T-R_0\right)+T_0$.
Die Gerade, für Temperaturwerte zwischen 20 °C und 25 °C lautet: $T\left(R\right)=\frac{5}{79}\cdot\left(R-1941\right)+20$
Es wird ein 10$k\Omega$ Widerstand in Reihe mit acht 330 $\Omega$ Widerständen geschalten. In den Versuchen wird jeweils die Spannung am analogen Eingang zwischen den kleineren Widerständen gemessen.
Versuch: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|
Widerstand $R_1$ | 8 *330 = 2640 | 7 *330 =2310 | 6 *330 =1980 | 5 *330 =1650 | 4 *330 =1320 | 3 *330 =990 | 2 *330 =660 | 1 *330 = 330 |
Widerstand $R_H$ | 10$k\Omega$ + 0*330 =10000 | 10 000 + 1*330 =10330 | 10 000 + 2*330 =10660 | 10 000 + 3*330 = 10990 | 10 000 + 4*330 = 11320 | 10 000 + 5*330 = 11650 | 10 000 + 6*330 = 11980 | 10 000 + 7*330 = 12310 |
gemessen | ||||||||
Theorie |