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

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

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

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

Сердцем устройства является микроконтроллер 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. Исходный код вы найдете в архиве в конце статьи.

Фьюз-биты

Фотографии

Список радиоэлементовОбозначение
Тип
Номинал
Количество
ПримечаниеМагазинМой блокнот

U2
МК AVR 8-битAT89C20511
Или ATtiny2313U3
Датчик температурыDS18B201
T1-T3
Биполярный транзисторBC557B3
W1
Светодиодный 7-сегментный индикаторAT5636BG-B1
Или с аналогичной распиновкойX1
Кварц12 МГц1
R1-R6
Резистор3.3 кОм6
R9-R16
Резистор330 Ом8
С1
Электролитический конденсатор220 мкФ1
С3
Конденсатор1 мкФ1
C4, C5
Конденсатор33 пФ2
В случае с Attiny2313 — 22 пФ
Резистор4.7 кОм1
SMD. На схеме не указан
ПанельDIP-401
Для индикатора
ПанельDIP-201
Для контроллера
Кнопка тактовая2
Только для термостата (на схеме не обозначены)Добавить все

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

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

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

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

Ваш адрес email не будет опубликован.