Änderungen

KY-013 Temperatur-Sensor Modul

523 Byte hinzugefügt, 09:20, 7. Apr. 2016
Dieses Modul beinhaltet einen NTC Thermistor—dieser hat bei höherer Temperatur einen immer weniger werdenden Widerstandswert.
[[Datei:KY-013_NTC-Kurve.png|610x390px|none|610x390px]]
Diese Änderung des Widerstands lässt sich mathematisch annähern und in einen linearen Verlauf umrechnen und den Temperaturkoeffizienten (Abhängigkeit von Widerstandsänderung zur Temperaturänderung) bestimmen. Mittels diesen lässt sich somit dann immer die aktuelle Temperatur errechnen, wenn man den aktuellen Widerstand kennt.
<br />Dieser Widerstand lässt sich mit Hilfe eines Spannungsteilers bestimmen, wo sich eine bekannte Spannung über einen bekannten und einen unbekannten (veränderlichen) Widerstand aufteilt. Mittels dieser gemessenen Spannung lässt sich dann der Widerstand berechnen - die genaue Berechnung ist in den unten stehenden Codebeispielen enthalten.
[[Datei:KY-013_VoltDivide.jpg|486x498px|none|486x498px]]
==Codebeispiel Arduino==
<pre class="brush:cpp">#include Das Programm misst den aktuellen Spannungswert am NTC, berechnet die Temperatur und übersetzt das Ergebnis in °C für die serielle Ausgabe
int sensorPin <pre class= A5; // select the input pin for the potentiometer"brush:cpp">
#include <math.h> int sensorPin = A5; // Hier wird der Eingangs-Pin deklariert // Diese Funktion übersetzt den aufgenommenen analogen Messwert// in die entsprechende Temperatur in °C und gibt diesen ausdouble Thermistor(int RawADC) { double Temp; Temp = log(10000.0*((1024.0/RawADC-1))); Temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * Temp * Temp ))* Temp ); Temp = Temp - 273.15; // Convert Konvertierung von Kelvin to Celcius //Temp = (Temp * 9.0)/ 5.0 + 32.0; // Convert Celcius to Fahrenheitin Celsius return Temp;
}
// Serielle Ausgabe in 9600 Baudvoid setup() { Serial.begin(9600);
}
// Das Programm misst den aktuellen Spannungswert am NTC// und übersetzt das Ergebnis in °C für die serielle Ausgabevoid loop() { int readVal=analogRead(sensorPin); double temp = Thermistor(readVal);
// Ausgabe auf die serielle Schnittstelle Serial.printlnprint("Aktuelle Temperatur ist:"); Serial.print(temp); // display tempature Serial.print(char(186)); //Ausgabe <°> Symbol Serial.println(readVal"C"); Serial.println("---------------------------------------"); // display tempature
delay(500);
}
 
 
 
</pre>
Bürokrat, Administrator
611
Bearbeitungen