Датчик температуры на термисторе MF52

Когда говорят о замере температуры в промышленности или судоходстве, как правило имеют в виду термодатчики на базе термосопротивления Pt100 и термопары типа К. Преобразователи к ним довольно сложные и дорогостоящие устройства, рассчитанные на большие диапазоны измерения и высокую точность. Но если нужно произвести замер в относительно узком интервале, например, температуру в помещении, то можно обойтись недорогим термистором. Самым распространенным и дешевым можно назвать MF52. Его пределы измерения : от -30ºС до +110ºС.

Фото. Датчик температуры на термисторе MF52

Датчик температуры на термисторе MF52

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

На рисунке ниже представлена электросхема датчика температуры. Еще ниже приведены пояснения, которые помогут лучше понять принцип работы устройства.

ЭЛЕКТРОСХЕМА

Как можно видеть, схема очень простая. Стабильное напряжение 1,1 вольта с пина Arduino UNO AREF подается на делитель напряжения POTI1 - MF52. C общей точки делителя напряжение, проходя через RC-фильтр (резистор R1 и конденсатор С1), поступает на аналоговый вход микроконтроллера, где пересчитывается в температуру.

Электросхема датчика температуры на термисторе MF52

Электросхема датчика температуры на термисторе MF52

Рассмотрим назначение элементов схемы подробней.

  • В данной схеме использовано опорное напряжение 1,1 В, которое нужно активировать в скетче командой analogReference (INTERNAL). Эта команда не только установит опорное напряжение 1,1 В для замеров входных сигналов на аналоговых пинах контроллера, но и подаст 1,1 В на пин AREF, что можно применить в своих целях. Естественно, вы можете задействовать в качестве опорного 5 вольт по умолчанию.
  • 1,1 В с пина AREF подается на разъем 1 клеммницы термодатчика.
  • Коэффициент усиления (ослабления) определяется потенциометром POTI1. Его рабочую зону нужно подбирать как можно ближе к номиналу термистора. В данном случае при номинале MF52 50K выбран потенциометр 100K, выставленный на 50К. Если вы решите заменить потенциометр на резистор, замерьте его реальное сопротивление перед пайкой, чтобы внести данные в скетч.
  • Сигнал с термодатчика (разъем 3 клеммницы) нужно подать на один из аналоговых входов Arduino.
  • Землю от микроконтроллера подсоединяем к разъему 2 клеммницы.
  • Конденсатор С1 на схеме - керамический. Его номинал 4,7 мкФ.

Немного математики

Ниже приведен пример расчета температуры термистора по результатам замеров.

Во-первых, нам надо рассчитать текущее сопротивление термистора. Для этого воспользуемся формулой делителя напряжения :

Uвых = Uвход * Rmf / (Rpoti + Rmf)

где :
Uвых - напряжение на выходе с делителя (оно идет в Arduino)
Uвход - напряжение на входе в делитель (здесь 1,1 В)
Rmf - искомое сопротивление термистора, Ом
Rpoti - сопротивление потенциометра POTI1, Ом. Его нужно замерить на плате.

Напряжения входа и выхода не обязательно брать в вольтах. Опорное 1,1 В в цифре - 1024, а входящее сразу будет переведено в цифровой вид.

Следующий этап - рассчитать температуру термистора. Есть несколько методов : уравнение Штейнхарта-Харта, табличный, но самый простой и распространенный - модифицированное уравнение Штейнхарта-Харта с использованием константы В.

Формула расчета температуры

где :
t - искомая температура в ºС.
To - номинальная температура термистора в ºС (берется из datasheet). Обычно 25ºС.
Ro - сопротивление при номинальной температуре, Ом (берем из datasheet). В данном случае 50000 Ом.
Rmf - посчитанное выше сопротивление термистора, Ом
В - константа (берем из марки или datasheet). Если вы не смогли узнать полную марку термистора, а в datasheet для вашего номинала сопротивлений есть несколько коэффициентов В, то берите самый первый. Если показания датчика неудовлетворительные, попробуйте другие.
273,15 - служит для перевода градусов Цельсия в градусы Кельвина.

Как подобрать термистор

  1. Определитесь с типом термистора : NTC или PTC. У NTC (Negative Temperature Coefficient) - сопротивление уменьшается при росте температуры, а у PTC (Positive Temperature Coefficient) - увеличивается. Из-за определенных проблем с характеристикой термисторы типа PTC получили меньшее распространение, лучше взять NTC.
  2. Выберите номинальное сопротивление. Обычно это сопротивление термистора при 25ºС. Самый распространенный номинал 10К.
  3. Желательно узнать коэффициент В для расчетной формулы. Он есть в марке термистора.
  4. Все остальные параметры (точность, покрытие, исполнение), а также коэффициент В, большинство продавцов и сами не знают. Тем не менее, попытайтесь выяснить полную марку MF52 - по ней вы сможете определить все необходимые параметры.

СБОРКА ПЛАТЫ

Схема пайки элементов датчика температуры представлена на рисунке ниже. За базу взята макетная плата 35х25 мм. Конечно вы можете расположить элементы по другому и более компактно. Данное устройство выполнено в виде отдельного модуля, естественно, его можно встраивать в готовые изделия.

Схема пайки датчика температуры на макетной плате

Схема пайки датчика температуры на макетной плате

Примечания :

  1. Все подводы и отводы выполнены в трех вариантах : клеммница, штыревой соединитель "папа" и "мама" для проводов Dupont.
  2. Мощность резистора 0,25 ватт.

ТЕСТОВЫЙ СТЕНД

Для проверки работы датчика температуры вы можете собрать тестовый стенд, схема которого представлена ниже.

Схема подключения датчика температуры

Схема подключения датчика температуры

Управлять системой можно с помощью трех кнопок : НАСТРОЙКИ, ВВЕРХ, ВНИЗ. Рассмотрим их функции подробно :

Кнопка НАСТРОЙКИ

При нажатии этой кнопки вы будете циклично переходить по пунктам меню. Изменение параметров осуществляется кнопками ВВЕРХ и ВНИЗ. Изменение цифровых параметров сразу принимается системой, подтверждение не нужно.

Пройдемся по пунктам меню Настройки.

  • To=XX.XºС : номинальная температура термистора в ºС (берется из datasheet). Обычно 25ºС.
  • Ro=XXXXX.X Om : сопротивление при номинальной температуре, Ом (берем из datasheet).
  • B=XXXX.X : константа (берем из марки или datasheet).
  • Rdiv=XXXXX.X Om : сопротивление потенциометра POTI1, Ом. Его нужно замерить на плате.
  • SaveSet. (UP) : нажав кнопку ВВЕРХ, вы сохраните настройки программы в память контроллера. При перезагрузке контроллера (выключение - включение) именно эти настройки загрузятся в программу.
  • ReadSet. (UP) : нажав кнопку ВВЕРХ, вы перенесете настройки из памяти контроллера в программу.
  • Default (UP) : загрузка значений по умолчанию. При нажатии кнопки ВВЕРХ параметры, определенные в начале скетча, загрузятся в оперативную память PLC (в текущие настройки). Эта функция может быть полезна, когда вы запутались в регулировках и хотите все вернуть в исходное положение. Но есть и еще одна причина ее использования. Если вы на одну и ту же плату Arduino постоянно записываете скетчи разных проектов, возможна ситуация, когда параметры одного проекта запишутся в настройки другого. Конечно, это можно исправить, но представьте, что в параметре, где должно быть, например, число 10, стоит 32000. Вручную кнопками ВВЕРХ или ВНИЗ корректировать это очень долго, проще сбросить настройки к заводским, а уже затем их подправить.

Кнопки ВВЕРХ-ВНИЗ

Этими кнопками меняются значения параметров.

Индикация LCD

Верхняя строчка
"T=XX.XºС" (XXX) - расчетная температура в ºС. В скобках - входной сигнал с делителя напряжения, переведенный в цифровой вид (0...1023).

Нижняя строчка
Пункты меню настроек.

ЧТО НУЖНО ДЛЯ ПРОЕКТА

Датчик температуры

  • макетная плата под пайку 35х25 мм - 1 шт
  • клеммница тройная - 1 шт
  • резистор 10K (0,25 Вт) - 1 шт
  • резистор подстроечный многооборотный типа 3296 на 100К - 1 шт
  • конденсатор керамический 4,7 мкФ - 1 шт
  • термистор MF52 - 1 шт
  • провод типа AWG - 5 см
  • штыревой соединитель - 6 шт
  • разъем PBS - 6 шт

Тестовый стенд

  • PLC Arduino UNO - 1 шт
  • Sensor Shield v 5.0 - 1 шт
  • понижающий DC-DC преобразователь типа LM2596 (не менее 2А) - 1 шт
  • LCD-дисплей 1602 + модуль I2C - 1 шт
  • кнопка тактовая с колпачком - 3 шт
  • макетная плата под пайку 35х50 - 1 шт (для монтажа кнопок)
  • резистор 10 кОм (0,25 Вт) - 3 шт
  • стойка мама-мама М3х15 - 8 шт (для монтажа LCD-дисплея и самодельного термопреобразователя)
  • стойка мама-мама М3х10 - 3 шт (для монтажа модуля термистора)
  • гайка М3 - 50 шт и более в зависимости от способа крепления вышеуказанных элементов
  • болт М3х15, М3х10 - 20 шт и более
  • провод Dupont мама-мама или папа-мама (20 см) - 5 шт и более в зависимости от типа пинов соединяемых элементов
  • провод типа AWG - 50 см (соединение штекер - DC-DC преобразователь - Sensor Shield)
  • штекер питания DC 2.1 мм с клеммной колодкой папа и мама - 1 пара (для подключения шилда)