Термометр на AT89C2051 и DS18B20

Применение термометра на микроконтроллере AT89C2051 и датчике DS18B20. Измерение температуры в аквариуме или других целях. Проект с открытым исходным кодом.

Этот термометр работает в диапазоне температур от -50,0 до 99,9 градусов или в другой версии программного обеспечения до +125 градусов. Проект разрабатывался для измерения температуры в аквариуме, но может успешно найти множество других применений. На плате так же предусмотрено место для 2-х дополнительных кнопок и дополнительного разъема. При изменении программного обеспечения устройство можно использовать в качестве обычного термостата или более сложного регулятора температуры. Система построена на микроконтроллере AT89C2051 и популярном, широко известном датчике DS18B20, что значительно упростило разработку и уменьшило размеры устройства. Также без особых трудностей может быть использован микроконтроллер ATtiny2313, в этом случае понадобится внесение небольших изменении в схему и программу.

Описание схемы

Принципиальная схема термометра приведена ниже:

Термометр на AT89C2051 и DS18B20

Сердцем устройства является микроконтроллер U2 (AT89C2051) с кварцевым резонатором X1 (12 МГц) с обвязкой из 2-х конденсаторов C4 (33 пФ) и C5 (33 пФ). Конденсатор C3 (1 мкФ) необходим для дополнительной защиты линии RESET от внешних помех, а C1 (220 мкФ) фильтрует напряжение питания. Разъем Zas предназначен для подключения питания 5В . Резисторы R9-R16 (330 Ом) ограничивают ток через сегменты дисплея. Транзисторы T1 — T3 (BC557B) с резисторами R1-R6 (3,3 кОм) управляют анодами дисплея.

Изготовление

Все материалы для создания термометра вы найдете в архиве в конце статьи. Монтаж элементов производится от маленьких до самых больших. Для крепления дисплея хорошо бы припаять кусочек панельки DIP40, а так же панельку DIP20 для микроконтроллера. Со стороны меди припаивается SMD резистор 4.7 кОм для 1-Wire (9 ножка U2 ) к положительному выводу источника питания. Разъем GP1 в базовой версии используется для подключения светодиодной сигнализации отрицательной температуры (катод к МК, анод к VCC), если вы хотите использовать эту ножку в других целях то уберите в программе строчку:

P3.7 = Not Minus

Корпус может быть сделан из кусочка ламината. Плата термометра крепится к передней панели с помощью 2-х винтов.
Для того, чтобы применить в проекте микроконтроллер ATtiny2313, не устанавливайте конденсатор C3, а конденсаторы C4 и C5 должны иметь значение 22 пФ.

Программное обеспечение

Программное обеспечение было написано в демо-версии среды BASCOM 8051 от MCS electronics. Исходный код вы найдете в архиве в конце статьи.

Фьюз-биты

Термометр на AT89C2051 и DS18B20

Фотографии

Термометр на AT89C2051 и DS18B20

Термометр на AT89C2051 и DS18B20

Термометр на AT89C2051 и DS18B20

Скачать список элементов (PDF)

Оригинал статьи

Прикрепленные файлы:

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

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