Перейти к содержанию

Подключение к Ардуино термистора NTC 3950

Подключение к Ардуино термистора NTC 3950

Подключение термистора к Arduino позволяет измерять температуру окружающей среды с большой точностью. Рассмотрим подключение этого полупроводникового элемента к микроконтроллеру Ардуино, разберем программу для калибровки датчика на основе термистора ntc 100 кОм и соберем схему с платой Arduino Uno / Nano с автоматическим переключением светодиодов в зависимости от температуры окружающей среды.

Необходимые компоненты:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • termistor ntc 3950 10k
  • светодиоды и резисторы
  • макетная плата
  • коннекторы

Дополнительные материалы на эту тему:

  1. Управление теплым полом от платы Arduino Micro
  2. Как подключить датчик температуры DS18B20
  3. Подключение датчика температуры LM35 к Ардуино

Термистор — это полупроводник, электрическое сопротивление которого изменяется в зависимости от температуры. Этот недорогой электронный компонент изготавливается из материалов с высоким температурным коэффициентом сопротивления. Различают термисторы с отрицательным температурным коэффициентом (NTC termistor 10k) и термисторы с положительным температурным коэффициентом (PTC termistor 10k).

PTC / NTC Arduino термистор характеристики

PTC / NTC Arduino термистор характеристики

Характеристики NTC 3950 100k (datasheet)

  • Напряжение питания: до 36 В
  • Значения сопротивления при 25°С: 100K ± 1%
  • Диапазон рабочих температур: -50°C до +260°C

NTC датчик температуры Arduino имеет сопротивление, которое уменьшается при повышении температуры, а PTC термисторы имеют сопротивление, которое увеличивается при повышении температуры. Номинальное сопротивление (указанное производителем) соответствует сопротивлению термистора при 25°C. Как и датчик температуры LM35 для Ардуино, терморезистор может быть откалиброван по формуле Стейнхарта-Харта.

Как подключить к Ардуино термистор ntc 3950

Как подключить к Ардуино термистор ntc 3950

Для измерения температуры с помощью платы Ардуино необходимо знать номинальное сопротивление термистора (мы использовали 100 кОм), сопротивление резистора в примере (200 кОм) и коэффициент NTC термистора, который равен 3950. После сборки схемы, размещенной на картинке выше, укажите необходимые параметры в программе и загрузите код. Температура воздуха должна отображаться на мониторе порта Arduino IDE.

Скетч для калибровки термистора ntc 3950 100k


#define B 3950 // ntc коэффициент
#define RESISTOR 200000 // сопротивление резистора в омах
#define THERMISTOR 100000 // сопротивление термистора в омах
#define NOMINAL 25 // номинальная температура
 
#define NTC A1 // пин подключения терморезистора
 
void setup() {
   Serial.begin(9600);
   pinMode(NTC, INPUT);
}
 
void loop() {
   int t = analogRead(NTC);
   float tr = 1023.0 / t - 1;
   tr = RESISTOR / tr;
   Serial.print("R = ");
   Serial.print(tr);
   Serial.print(", t = ");
 
   float steinhart;
   steinhart = tr / THERMISTOR;
   steinhart = log(steinhart);
   steinhart /= B;
   steinhart += 1.0 / (NOMINAL + 273.15);
   steinhart = 1.0 / steinhart;
   steinhart -= 273.15; 
   Serial.println(steinhart);
  
   delay(1000);
}

Arduino NTC 3950 терморезистор и светодиод

Arduino NTC 3950 термистор и светодиод

В следующем примере разберем возможность управления светодиодом, в зависимости от температуры измеренное с помощью ntc или ptc термистора. Этот код будет интересен тем, кто решил сделать управление большими нагрузками от микроконтроллера Ардуино, так как к плате Arduino можно подключить реле вместо светодиодов. И вы уже сможете управлять осветительными или обогревательными приборами от 220 Вольт.

Скетч управления светодиодом от термистора

#define B 3950 // ntc коэффициент
#define RESISTOR 200000 // сопротивление резистора в омах
#define THERMISTOR 100000 // сопротивление термистора в омах
#define NOMINAL 25 // номинальная температура
 
#define NTC A1 // пин подключения терморезистора
#define BLU 10
#define RED 12
 
void setup() {
   Serial.begin(9600);
   pinMode(NTC, INPUT);
   pinMode(BLU, OUTPUT);
   pinMode(RED, OUTPUT);
}
 
void loop() {
   int t = analogRead(NTC);
   float tr = 1023.0 / t - 1;
   tr = RESISTOR / tr;
   Serial.print("R = ");
   Serial.print(tr);
   Serial.print(", t = ");
 
   float steinhart;
   steinhart = tr / THERMISTOR;
   steinhart = log(steinhart);
   steinhart /= B;
   steinhart += 1.0 / (NOMINAL + 273.15);
   steinhart = 1.0 / steinhart;
   steinhart -= 273.15; 
   Serial.println(steinhart);

   if (steinhart < 24) {digitalWrite(BLU, HIGH); digitalWrite(RED, LOW);}
   if (steinhart >= 24) {digitalWrite(BLU, LOW); digitalWrite(RED, HIGH);}
  
   delay(1000);
}

Заключение. Использование термистора NTC или PTC Arduino — один из самых простых способов измерения температуры воздуха с помощью микроконтроллера Ардуино. Сопротивление ntc и ptc терморезистора изменяется в зависимости от температуры окружающей среды. Поэтому использование датчиков на основе этого полупроводника оправдано, когда нет экстремальных температур и точность измерения не критична.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

newzaym
➜