Реле температуры.
Дмитрий Никифоров
Аннотация:
С чего всё началось. В суровые русские морозы, у моего товарища начала замерзать в подполе картошка.
Чтобы поддержать необходимую температуру он периодически включал китайский тепловентилятор. Делать это в ручную, довольно нудно. Вот он и попросил сделать ему устройство, которое бы делало это автоматически.
То – есть, имело бы возможность регулировки порогов срабатывания реле, которое в свою очередь включает и отключает вентилятор.
Не так давно у меня уже был проект зарядного (лабораторного) БП из компьютерного источника питания. От него-то у меня и остались 4 готовые печатные платы от блока управления. Китайцы изготавливают до 5 шт за одну и ту же цену.
Это упрощало задачу. Нужно установить на нее только необходимые элементы.
А нам требуются, микроконтроллер с обвязкой, индикатор с обвязкой, 1 энкодер, разъем программатора……. Вообщем всё на схеме.
Схема управления
Как видно некоторые обозначения остались теми, какими они были в источнике питания.
В зависимости от применяемого LCD (алиэкспресс присылает либо - красный либо - синий, а отличаются они подачей напряжения на подсветку), устанавливается либо резистор R7 либо R18.
Энкодер устанавливается один.
Датчик DS18B20 вынесен далеко от устройства (подключается через разъем проводом 2.5 метра), припаян на отдельной маленькой платке. На ней же установлены резистор подтяжки 2кОм и конденсаторы 4.7 мкФ и 0.1 мкФ для защиты от помех.
Плата датчика.
В интернете много информации по этим датчикам. Люди пишут что подключают их витой парой (на довольно больших расстояниях, порядка 20м).
В моём случае расстояние 2.5м, подключено телефонным проводом, связь с датчиком устойчивая.
Для питания сего девайса применяется миниатюрный китайский блочёк, AC-DC 12V 450mA 5 Вт.
Дёшево и сердито.
Блок питания.
Источник выдаёт 12В – это напряжение используется для питания реле. В схеме их 2, просто хотел разрывать обе линии питания нагревателя.
Контакты реле при 250В АС должны выдерживать 10А (во всяком случае, так на них написано). Решил не рисковать, поставил предохранитель на 8А.
Для используемого обогревателя должно хватить. Второй предохранитель защищает цепи питания. Там при помощи линейных стабилизаторов получается +5В, для питания платы управления и датчика и 3,3В для питания LCD.
Плату питания с расположенными на ней стабилизаторами, предохранителями, реле и разъемами не разводил, она выполнена на макетной плате.
Монтаж плат, этажерочный, одна над другой – соединяются стойками.
Немного по работе реле.
При длинном нажатии кнопки энкодера – попадаем в меню.
В меню всего 3 пункта, перемещение по пунктам происходит при коротком нажатии на кнопку энкодера.
Длинное нажатие подтверждает сохранение (если это пункты Температура включения или Температура отключения), в случае с пунктом выход происходит выход из меню без сохранения.
Выставляется температура вращением энкодера. Нажатия сопровождаются звуковыми сигналами разной длительности.
В моём случае температура регулируется до +40 градусов оС.
При желании её можно поменять в программе.
Рабочий экран реле выглядит так.
На нём отображается температура измеренная датчиком (вверху) и уставки, сделанные пользователем (в меню).
Короткое нажатие на кнопку энкодера приведёт к переводу устройства в дежурный режим. На экране появится надпись –ВКЛ–.
Если при этом температура будет в диапазоне включения, сработают реле, а на экране отобразится надпись –НАГРЕВ–.
При достижении заданной температуры, реле отключатся и надпись –НАГРЕВ– пропадёт.
Так же устройство предупредит о неисправности или отсутствии датчика, выводом на экран соответствующей надписи.
Затолкал всё, вот в такой, самопальный корпус.
Внешний вид реле регулятора температуры.
Прикладываю файлы проекта и исходники.
Писалось всё в Microchip Studio.
Некоторые функции при написании программы позаимствовал тут.
https://radioparty.ru/prog-avr/program-c/378-lesson2-ds18b20
Датчик хорошо описан тут.
http://mypractic.ru/ds18b20-datchik-temperatury-s-interfejsom-1-wire-opisanie-na-russkom-yazyke.html
Всем успехов!
Скачать файлы проекта.