Термистор на ардуино с выводом на дисплей

Подключение термистора к arduino.

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

Терморезистор был изобретён Самюэлем Рубеном (Samuel Ruben) в 1930 году .

Терморезисторы изготавливаются из материалов с высоким температурным коэффициентом сопротивления (ТКС), который обычно на порядки выше, чем ТКС металлов и металлических сплавов.

По типу зависимости сопротивления от температуры различают терморезисторы с отрицательным (NTC-термисторы, от слов «Negative Temperature Coefficient») и положительным (PTC-термисторы, от слов «Positive Temperature Coefficient» или позисторы) температурным коэффициентом сопротивления (или ТКС). Для позисторов — с ростом температуры растёт их сопротивление; для NTC-термисторов увеличение температуры приводит к падению их сопротивления.

Условно терморезисторы классифицируют как низкотемпературные (предназначенные для работы при температуpax ниже 170 Кельвин), среднетемпературные (от 170 до 510 К) и высокотемпературные (выше 570 К). Выпускаются терморезисторы, предназначенные для работы при температурах от 900 до 1300 К.

Термисторы бывают разных видов вот например:

Конкретно мне интересен термистор по нескольким параметрам. Во первых их используют для измерения температуры в Экструдере 3Д принтеров и они давольно хорошо измеряют температуру необходимую для плавления пластика. Во вторых размер, если посмотреть на 3тий тип термистора на картинке выше, который в эпоксидной смоле, он очень маленький и его можно зацепить за любую поверхность и мерить на ней температуру. Вот по этим параметрам я и собираюсь его использовать так как хочу сделать станок для изготовления прутка для печати на 3Д принтере.

В данном примере будем использовать простейший NTC термистор c номинальным сопротивлением 100 кОм при температуре 25 градусов “С” который используется в 3Д принтерах. Данный термистор имеет маркирову 3950.

Для реализации нам понадобится:

Схема подключения всех элементов будет выглядеть следующим образом:

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

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

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

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

Скетч будет выглядеть следующем образом:

Вот что мы увидим в мониторе порта:

Видим из показаний, что сопротивление побольше чем 100кОм и температура 23 градуса, вполне логично, формула отрабатывает правильно.
Теперь с помощью данной формулы мы уже можем строить разные условия для разных действий.

Источник

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

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

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

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

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

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

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

Подробно об аналоговых входах Ардуино мы говорили на уроке: Аналого-цифровые преобразования — АЦП

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Digitrode

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

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

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

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

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

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

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

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

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

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

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

Источник

Arduino и термистор

Описание

Термистор (терморезистор) – электронный компонент, меняющий своё сопротивление в зависимости от температуры. Термисторы существуют в разных корпусах, имеют разные сопротивления, B (beta) коэффициент, а также бывают NTC и PTC типа (отрицательный и положительный температурный коэффициент сопротивления). В наборе GyverKIT идёт термистор в герметичном исполнении, как на картинке справа:

  • Тип: NTC
  • Сопротивление при 25 °С: 10 кОм
  • B коэффициент: 3950
  • Измеряемый диапазон: -20.. 105 °С
  • Точность: 1%
  • Реальная точность: я сравнивал несколько термисторов с ds18b20, на участке 15.. 80 °С термисторы стабильно показывали на 0.5 °С больше. Между собой термисторы показывали одинаковое значение. Таким образом штука довольно точная и поддаётся простой калибровке.
  • Разрешение (при 10 бит АЦП):

0.1 °С в диапазоне -10.. 60 °С и

0.5 °С в остальных случаях

Подключение

Arduino сама по себе не умеет измерять сопротивление, поэтому термистор подключается фактически так же, как потенциометр: по схеме делителя напряжения центральной точкой на аналоговый пин с дополнительным резистором к VCC. Для этого в наборе идут резисторы на 10 кОм:

Библиотеки

В примерах на этом сайте мы будем использовать библиотеку GyverNTC. Библиотека идёт в архиве к набору GyverKIT, а свежую версию всегда можно установить/обновить из встроенного менеджера библиотек Arduino по названию GyverNTC. Краткая документация находится по ссылке выше, базовые примеры есть в самой библиотеке.

Примеры

Читаем и выводим температуру в порт:

Температура будет немного “шуметь”, несмотря на чтение с усреднением. Для более точных измерений можно использовать простейший фильтр – экспоненциальное скользящее среднее, которое реализуется так: filt_val += (new_val — filt_val) * k , где k – число от 0.0 до 1.0. Фильтр даёт плавное изменение, что позволяет получать максимально точное значение с течением времени. Результат работы данной программы лучше наблюдать во встроенном плоттере графиков:

Термисторы подключаются на разные аналоговые пины, каждый пин подтягивается резистором к VCC. GND у всех общая:

В программе создаём ещё один экземпляр класса и точно так же с ним работаем:

Видео

Источник

Практическое использование термистора с Arduino

Здравствуй, Хабрасообщество. После прочтения нескольких статей на хабе Arduino я загорелся заполучить эту игрушку. И вот недавно получил посылку с платой. Затем побаловался со светодиодами и захотел чего-нибудь посерьёзнее. Решил сделать простейший термометр, используя всего термистор, резистор на 10 кОм и LCD дисплей. Кому интересно что получилось — прошу под кат.

Начало

Термистор — это переменный резистор, меняющий своё сопротивление в зависимости от температуры окружающей среды.

Нам потребуются следующие детали:
Arduino Uno — 1 шт
Термистор — 1 шт
Резистор c сопротивлением 10 кОм — 1 шт
LCD дисплей HJ1602A — 1 шт
Соединительные перемычки — несколько штук

Всё это у меня было, поэтому я сразу начал проектирование на breadboard.

Ножки к экрану я еще припаял в день покупки.

Затем присоединяем экран к выходам Arduino. У моего экрана распиновка такая.

1 (GND) GND — Земля
2 (VDD) 5v — Питание(+)
3 (VO/Contrast) — Управление контрастностью (сюда я подключил переменный резистор)
4 (RS) — 12 — Канал данных
5 (RW) — 11 — Канал данных
6 (E) — 10 — Канал данных
11 (DB4) — 5 — Канал данных
12 (DB5) — 4 — Канал данных
13 (DB6) — 3 — Канал данных
14 (DB7) — 2 — Канал данных
15 (BL1/Backlight1) — 13 — Питание подсветки(+)
16 (BL2/Backlight2) — GND — Земля(-)

Получилась вот такая картина.

Далее подключим одну ногу термистора к аналоговому входу A4 и резистор на 10 кОм в землю, а вторую ногу термистора к 5V.

В общем то и всё. Аппаратная часть готова. Вот схема.

Программирование

С программированием тут всё понятно. Исходный код скетча:

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

Источник

Adblock
detector