Перейти к содержимому

04s.ru

Только полезные вещи…

Меню
  • Главная
  • Объявления
    • Добавить объявления
    • Мои объявления
  • Полезные ресурсы
    • Другое
  • Генератор QR
  • Карта сайта
  • Контакты
Меню

Ардуино: терморезистор NTC 100K

Опубликовано в 07.03.202001.03.2021 от Lis

Терморезистор (или термистор) — это такой резистор, который меняет свое электрическое сопротивление в зависимости от температуры.

Существует два вида термисторов: PTC — с положительным температурным коэффициентом, и NTC — с отрицательным. Положительный коэффициент означает, что с повышением температуры сопротивление термистора растёт. NTC-термистор ведет себя противоположным способом.

Также термисторы отличаются номинальным сопротивлением, которое соответствует комнатной температуре — 25 C°. Например, популярными являются термисторы с номиналом 100 кОм и 10 кОм. Такие термисторы часто используют в 3D-принтерах.

В этом уроке мы будет использовать термистор NTC 100K в стеклянном корпусе. Вот такой:

Чтобы измерить сопротивление термистора, подключим его в качестве нижнего плеча делителя напряжения. Среднюю же точку делителя подключим к аналоговому входу Ардуино — A0. 

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

Чтобы измерить сопротивление термистора, подключим его в качестве нижнего плеча делителя напряжения. Среднюю же точку делителя подключим к аналоговому входу Ардуино — A0.

Чтобы измерить сопротивление термистора, подключим его в качестве нижнего плеча делителя напряжения. Среднюю же точку делителя подключим к аналоговому входу Ардуино — A0. 

Принципиальная схема

Внешний вид макета

Какое сопротивление должен иметь резистор в верхнем плече делителя? Как правило, используют резистор с сопротивлением, совпадающим по порядку с номиналом термистора. В нашем уроке мы используем резистор на R1 = 102 кОм, его легко получить последовательным соединением двух резисторов на 51 кОм.

Программа для вычисления сопротивления термистора

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

#define SERIAL_R 102000 // сопротивление последовательного резистора, 102 кОм

const byte tempPin = A0;

void setup() {
    Serial.begin( 9600 );
    pinMode( tempPin, INPUT );
}

void loop() {
    int t = analogRead( tempPin );
    float tr = 1023.0 / t - 1;
    tr = SERIAL_R / tr;
    Serial.println(tr);
    delay(100);
}

Результат работы программы:

Можно заметить, что измеренное сопротивление термистора меньше 100 кОм, значит температура окружающей среды ниже 25 C°. Следующий шаг — вычисление температуры в градусах Цельсия.

Программа для вычисления температуры на термисторе

Чтобы вычислить значение температуры используют формулу Стейнхарта — Харта:

Уравнение имеет параметры A,B и C, которые нужно брать из спецификации к датчику. Так как нам не требуется большой точности, можно воспользоваться модифицированным уравнением (B-уравнение):

В этом уравнении неизвестным остается только параметр B, который для NTC термистора равен 3950. Остальные параметры нам уже известны:

  • T0 — комнатная температура в Кельвинах, для которой указывается номинал термистора; T0 = 25 + 273.15;
  • T — искомая температура, в Кельвинах;
  • R — измеренное сопротивление термистора в Омах;
  • R0 — номинальное сопротивление термистора в Омах.

Модифицируем программу для Ардуино, добавив расчет температуры:

#define B 3950 // B-коэффициент
#define SERIAL_R 102000 // сопротивление последовательного резистора, 102 кОм
#define THERMISTOR_R 100000 // номинальное сопротивления термистора, 100 кОм
#define NOMINAL_T 25 // номинальная температура (при которой TR = 100 кОм)

const byte tempPin = A0;

void setup() {
    Serial.begin( 9600 );
    pinMode( tempPin, INPUT );
}

void loop() {
    int t = analogRead( tempPin );
    float tr = 1023.0 / t - 1;
    tr = SERIAL_R / tr;
    Serial.print("R=");
    Serial.print(tr);
    Serial.print(", t=");

    float steinhart;
    steinhart = tr / THERMISTOR_R; // (R/Ro)
    steinhart = log(steinhart); // ln(R/Ro)
    steinhart /= B; // 1/B * ln(R/Ro)
    steinhart += 1.0 / (NOMINAL_T + 273.15); // + (1/To)
    steinhart = 1.0 / steinhart; // Invert
    steinhart -= 273.15; 
    Serial.println(steinhart);
 
    delay(100);
}

Результат:

Уже лучше! Программа показывает нам температуру в градусах Цельсия. Как и ожидалось, она немного ниже 25 C°.

5/5 - (1 голос)
Просмотров: 7 678


Место для продажи

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

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

Свежие записи

  • Авто выключатель для мультиметра
  • Индикатор разряда аккумулятора
  • Схема индикатора заряда аккумулятора на светодиодах
  • Linux mint восстановление системы с помощью LiveCD/USB
  • Схема стабилизатора тока на LM358

Популярные записи

  • Металлоискатель пират своими руками подробная инструкция (67 722)
  • Авторегулировка диаметра филамента (66 016)
  • A4988 и Arduino (18 846)
  • DT9205a — ремонт мультиметра (15 633)
  • ШИМ-регулятор 220 В ( IGBT ) (14 152)
  • Пробник для проверки оптопар (13 621)
  • ШИМ-регулятор на Arduino (12 027)
  • Шим регулятор на NE555 (11 078)
  • Схема стабилизатора тока на LM358 (10 766)
  • Linux mint восстановление системы с помощью LiveCD/USB (10 423)

Разделы

3D (1) Android (1) Arduino (14) CCleaner (1) Controller (1) DT9205a (2) LG (1) Linux (3) LM339 (1) LM358 (1) NE555 (9) NTC 100K (2) Power Bank (2) Server (4) SSD (1) SSL (1) Ubuntu (3) USB (2) VPS (1) Windows (8) АКБ (6) Авто (18) Асинхронный (3) Вирусы (1) Датчик (2) Двигатель (5) Индикатор (2) Металлоискатель (2) Мультиметр (2) Оптопара (1) Пластик (2) Полезное (18) Примочка (1) Разное (18) Реле (1) Сабвуфер (2) Симистор (1) Система (12) Схемы (36) Телевизоры (1) Телефон (1) Термистор (2) Тиристор (1) Тюнинг (5) Электроника (57)

Коментарии

  • Lis к записи ШИМ-регулятор 220 В ( IGBT )
  • Hdns Klos к записи ШИМ-регулятор 220 В ( IGBT )
  • Lis к записи Схема индикатора заряда аккумулятора на светодиодах
  • Lis к записи Индикатор разряда аккумулятора
  • Lis к записи Авто выключатель для мультиметра

Форма подписки

Подпишитесь на блог и получайте новые статьи!



QR код

QR код

Telegram канал

И смех и Грех — Тут весело и Интересно))
Красиво, но не факт… — Поделки на лазерном гравёре.