Arduino. Скетч для измерение температуры с помощью термистора NTC
09.02.2019
Электроника
Термистор представляет собой особый вид датчика температуры, сопротивление которого зависит от температуры. Есть два противоположных по своему принципу действия типа термисторов: PTC (с положительным температурным коэффициентом), где сопротивление возрастает с повышением температуры, и NTC (с отрицательным температурным коэффициентом), где сопротивление уменьшается при повышении температуры.
Для измерения температуры подключаем NTC термистор к выводу A0. Смотри схему ниже:
Пример скетча для измерения температуры
Скетч для среды разработки Arduino IDE:
//Значения из даташита
#define RT0 10000 // Ом
#define B 3977 // K
//--------------------------------------
#define VCC 5.0 //Напр-е питания
#define R 10000 //R=10 КОм
//переменные
float RT, VR, ln, TX, T0, VRT;
void setup() {
Serial.begin(9600);
T0 = 25 + 273.15; //Температура T0 из даташита, преобразуем из цельсиев в кельвины
}
void loop() {
VRT = analogRead(A0); //Считываем аналоговое значение VRT
VRT = (VCC / 1023.00) * VRT; //Преобразуем в напряжение
VR = VCC - VRT;
RT = VRT / (VR / R); //Сопротивление RT
ln = log(RT / RT0);
TX = (1 / ((ln / B) + (1 / T0))); //Температура с термистора
TX = TX - 273.15; //Преобразуем в цельсии
Serial.print("Temperature:");
Serial.print("\t");
Serial.print(TX);
Serial.print("C\t\t");
Serial.print(TX + 273.15); //Преобразуем в кельвины
Serial.print("K\t\t");
Serial.print((TX * 1.8) + 32); //Преобразуем в фаренгейты
Serial.println("F");
delay(1000);
}
Данный скетч будет измерять температуру и выводить ее раз секунду в COM порт
Таблица значений сопротивлений NTC термистора: