цифровая электроника
вычислительная техника
встраиваемые системы

 



Arduino и термистор: принцип работы, схема подключения, код

Автор: Mike(admin) от 21-11-2016, 13:15

Сегодня датчики температуры имеют широкое применение в различных встраиваемых системах от «умных» домов до промышленных компьютеризированных комплексов. Но словосочетание «датчик температуры» представляет собой общее понятие, под которым скрываются различные устройства, отличающиеся друг от друга характеристиками, формой исполнения и ценой.


Arduino и термистор

Одним из простых типов датчиков температуры является термистор. Он довольно дешевый по сравнению с другими типами датчиков и прост в использовании, поэтому в основном его выбирают радиолюбители для создания своих проектов. Поэтому в данном материале рассмотрим, что такое термистор, и как его подключить к Arduino.


Итак, Термистор представляет собой особый тип резистора, сопротивление которого зависит от температуры. Есть два противоположных по своему принципу действия типа термисторов: PTC (с положительным температурным коэффициентом), где сопротивление возрастает с повышением температуры, и NTC (с отрицательным температурным коэффициентом), где сопротивление уменьшается при повышении температуры. В данном примере будем работать с NTC-термистором. Для расчета сопротивления термистора можно воспользоваться простой формулой, которая называется уравнением с параметром B (справедливо только для NTC-термистора).


Arduino и термистор

Здесь е является основание натурального логарифма, R0 является сопротивлением терморезистора, измеренное при температуре T0, а B представляет собой постоянный коэффициент, который зависит от характеристик материала, эта константа выражается в Кельвинах, и ее значение указано производителями в технической документации на конкретную модель термистора.


Для расчета температуры нам нужно знать сопротивление RT, а для этого нужно воспользоваться законом Ома. Рассмотрим типовую схему с участием термистора.


Arduino и термистор

Здесь сопротивление термистора найдем как RT = VRT / (VR/R). Вот теперь у нас есть все данные для расчета температуры.


Arduino и термистор

Вот так будет выглядеть схема подключения термистора к Arduino. В ней мы подключим узел соединения резистора и терморезистора к аналоговому входу A0 платы Arduino, чтобы измерять напряжение в этой точке.


Arduino и термистор

Arduino и термистор

Далее приведем скетч, в котором будет определяться температура в цельсиях, кельвинах и фаренгейтах на основе полученного значения с аналогового входа A0 и параметров подключенного термистора.



//Значения из даташита
#define RT0 10000   // Ом
#define B 3977      // K
//--------------------------------------
#define VCC 5    //Напр-е питания
#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 = (5.00 / 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(500);

}

Вот так будет выглядеть вывод данных на экран через последовательный порт.


Arduino и термистор



© digitrode.ru


Теги: Arduino, термистор, датчик температуры




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий
Цитата
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
Самый лучший сайт целых 5 дней искал нормальный скетч и тодлько этот подошел спасибо большое огромное

wink wink winked спасибо огромное laughing
Цитата
  • Евгений

  • 27 октября 2018 12:31
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
Хороший материал.

К сожалению, совершенно не раскрыта тема номинала резистора в верхнем плече.
Цитата
  • Maksim

  • 30 марта 2020 01:20
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
термистор 10кОм, резистор тоже 10кОм. сначала всё работало хорошо, но после нескольких часов постоянно -273,15С. на какой то промежуток времени опять показывает нормальную температуру, и снова большой минус. В чём может быть причина?
Цитата
  • radmur

  • 7 октября 2020 16:48
  • Группа: Гости
  • ICQ:
  • Регистрация: --
  • Статус:
  • Комментариев: 0
  • Публикаций: 0
^
Спасибо за подробные объяснения