MENU
Главная » Статьи » УСТРОЙСТВА НА МК

Термоконтроллер -55°...125°C±0,1°C, совмещённый с контроллером двунаправленного двигателя [w3].
Это устройство в принципе тоже можно назвать в некотором роде моим первым опытом... нет-нет, не в создании приборов на платформе AVR, к тому времени я уже кой-чего умел, а в плане пайки SMD-компонентов. О том, чем и как я паял эту плату, я расскажу в другой раз - это тема отдельной статьи, пока же остановимся на самом термометре.
Его принципиальная электрическая схема довольно проста:

Собственно, эта схема не является каким-либо откровением - интернет пестрит подобными устройствами, но я решил изобрести велосипед и разработал ее сам: и аппаратную, и программную часть. Единственным требованием к разработке была миниатюрность, у меня в наличии был корпус типа "спичечный коробок" и я решил во что бы то ни стало запихнуть туда этот самый термометр. Забегая вперед, скажу, что мне это таки удалось :)
Итак, что мы имеем на схеме: довольно распространенный и относительно недорогой микроконтроллер DD1 ATTiny2313-20SU (в SOIC-корпусе для поверхностного монтажа), светодиодный трехразрядный семисегментный индикатор HG1 типа RL-T3610RCAW (но можно применить любой с общим катодом или при соответствующей переделке прошивки с общим анодом), цифровой датчик температуры DS18B20 фирмы Dallas Semiconductor (успешно выкупленной фирмой Maxim), позволяющий измерять температуру с точностью 0,5 градусов, а индицировать ее с точностью 0,1 градус (вот такой вот парадокс жизни). Остальные детали - это пассивные компоненты - конденсаторы C1 (10...33 мкФ) и С2 (0,1 мкФ) предназначены для фильтрации помех, резисторы R1-R8 (100...270 Ом) - токоограничительные, предназначены для защиты светодиодов индикатора HG1, резистор R9 (4,7 кОм) нужен по спецификации протокола 1-Wire, по которому датчик передает измеренную температуру на микроконтроллер, и изменять его номинал не рекомендуется. GB1 - литиевая батарейка типоразмера CR2032 на 3 В (такие используются в материнских платах, так что вещь не дефицитная). SB1 - кнопка подачи питания. ХР1 - штекерная часть разъема для подключения программатора с интерфейсом ISP.
В таблице для удобства приведен перечень используемых деталей
 Обозначение Номинал
 R1, R2, R3, R4, R5, R6, R7, R8
 100...270 Ом, 0,125 Вт
 R9
 4,7 кОм, 0,125 Вт
 С1 0,068...0,15 мкФ
 С2 10...33 мкФ х 6,3В
 DD1 ATTiny2313-20SU
 DD2 DS18B20
 HG1
 RL-T3610RCAW (или аналогичный
 с общим катодом)
 GB1 CR2032
 SB1
 Тактовая типоразмера 301
 ХР1
 Разъем-штекер IDC5x2М

Собственно, в обычном состоянии термометр обесточен. Для того, чтобы посмотреть температуру, необходимо нажать кнопку SB1. При этом первые полсекунды ничего не произойдет - не переживайте, все работает, просто датчику нужно время для пересчета температуры в цифровой код. После получения данных от датчика контроллер немедленно выводит температуру на экран. Диапазон измерения термометра (теоретически) от -55 до 100 градусов Цельсия, он разбит на два поддиапазона:
1) от -55 до 0 градусов с точностью индикации 1 градус (надо ж куда-то выводить знак минус :))
2) от 0 до 99,9 градусов с точностью индикации 0,1 градус (тут используются все три разряда).
Вот в общем и все - устройство крайне простое в эксплуатации. Внешний вид платы со стороны монтажа и с лицевой стороны приведен ниже



Готовое устройство в сборе выглядит так

Если вы спросите, что это такое болтается на проводке, отвечу - это тот самый датчик DS18B20. Уже упомянутый в прошлой статье внимательный читатель может возмутиться и сказать, что он ни разу не похож на датчик, а похож скорее на старый советский электролитический конденсатор. Тут мы вспомним замечательную сказку Антуана де Сент Эклюпери "Маленький принц", когда главный герой безуспешно рисовал барашка, и плюнув в итоге, нарисовал прямоугольник, сказал, что это ящик, и барашек внутри. Собственно, к чему я веду. Для защиты датчика от внешних воздействий я действительно засунул его в корпус от старого советского электролитического конденсатора (коих у меня довольно много), предварительно высверлив и удалив все внутренности, а затем залил все внутри эпоксидной смолой. После этого, я измерял этим датчиком и температуру воды, и температуру воздуха в морозилке - датчику хоть бы хны, работает себе, не зная горя.
Фотография прибора в работе приведена ниже

Вот такая вот жара сейчас у меня в комнате - 28,9 градусов, поэтому если что, не судите строго за вольный стиль написания - мозги плавятся...
Вот, в принципе, и все. Схему, печатную плату в формате DipTrace, прошивку с подробно комментированными исходниками можно скачать здесь. Если у вас возникнут вопросы, задавайте их на форуме или здесь в виде комментариев к статье :)
Удачного конструирования!

Источник: http://sokolsp.at.ua/publ/cifrovoj_termometr/1-1-0-6
Категория: УСТРОЙСТВА НА МК | (03.03.2015)
Просмотров: 2951 | Теги: 74HC595D, Схема, микроконтролер, термоконтроллер, 74HC595, PIC 12F676, прошивка | Рейтинг: 5.0/1
Похожие материалы
Всего комментариев: 0
avatar

Copyright MyCorp © 2024    Бесплатный конструктор сайтов - uCoz                               Яндекс.Метрика