На главную           Статьи              Ссылки                Схемы                Форум               Все новости    


 

Термометр (индикатор температуры) 

на микроконтроллере PIC16F628A






Термометр со скроллингом дисплея

Описание работы термометра

Назначение этого термометра всего лишь показывать температуру. Небольшие отличия от других подобных схем только в формате вывода температуры на LED индикатор, который представляет из себя 4-х разрядный сверхяркий  CA04-41SRWA. В качестве датчика температуры применён DS18B20 в обычном включении с отдельным проводом питания.

Схема расчитана на питание от батареек, поэтму при включении питания индикатор не показывает ничего. Программа термометра при этом проходит инициализацию и сразу уходит в спящий режим. Спящий режим микроконтроллера позволяет экономить энергию источника питания. При нажатии на кнопку, подключенную к PORTB0, включается индикация.
На индикатор выводится подсказка:
термометр_старт

Затем на индикатор выводятся сами показания температуры.
термометр показания температуры

Вид вывода показаний следущий:
термометр показания температуры
термометр показания температуры
термометр показания температуры
термометр показания температуры
Отличие формы вывода есть только для низких положительных температур. При индикации такой температуры к символу "градус" добавлен знак "C". То есть градусы цельсия.Символ "градус" присутствует на индикаторе при любой измеряемой температуре.

Датчик температуры DS18B20 измеряет температуру с разрешением 0,0625 градусов цельсия. Термометр считывает показания из датчика и округляет их до десятых долей градуса. Десятые доли градуса выводятся на индикацию во всех режимах индикации, кроме режима температур меньших, чем -10 градусов цельсия. Это сделано для того, чтобы на показаниях отрицательных температур всегда присутствовал знак "минус".

Показания присутствуют на индикаторе в течение 30 секунд. Затем прибор снова уходит в спящий режим и индикатор выключается.

Моделирование термометра в протеусе

Модель в протеусе позволила отработать программную часть термометра не собирая сам прибор в железе. Все режимы оттестированы. Сбоев при моделировании в программе нет.
моделирование в протеусе

Саму модель можно загрузить по ссылке: termo_i_v2.DSN

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

Схема нарисована отталкиваясь от рисунка печатной платы. Сначала была сделана разводка проводников печатной платы, таким образом, чтобы длина проводников и расположениен деталей было оптимальным и только после того, как на печатной плате было получено соответствие портов микроконтроллера PIC16F628A выводам индикатора CA04-41SRWA была составлена точная принципиальная схема.

схема термометра на микроконтроллере PIC16F628A


Печатная плата термометра

печатная плата термометра

Печатная плата сделана в программе SprintLayout 5.0.  Скачать файл печатной платы в формате lay можно по ссылке:  Termoi_v2.lay  Плата разработана под PIC16F628A в SOIC корпусе.

Прошивка для микроконтроллера 

Прошивку можно скачать по ссылке: termo_i2.hex


Прошивка, в которой индикация включена постоянно. Кнопка не задействована, её можно не устанавливать на печатную плату. Печатная плата та-же самая, как и схема и никаких других изменений не требуется. В отличие от программы, расчитанной на батарейное питание, нет перехода в режим SLEEP:                    termo_i_5.hex


Термометр со скроллингом дисплея

Прошивка, в которой реализован скроллинг 7-ми сегментного 4-х разрядного дисплея. Весь процесс индикации температуры выглядит так, как показано на рисунке. Для просмотра в браузере должна быть разрешена GIF анимация:    termoscr_0.HEX