Термометр (індикатор температури) на мікроконтролері pic16f628a

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

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

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

Термометр (індикатор температури) на мікроконтролері pic16f628a


Потім на індикатор виводяться самі показники температури.

Термометр (індикатор температури) на мікроконтролері pic16f628a


Вид виведення показань следущий:

Термометр (індикатор температури) на мікроконтролері pic16f628a

Термометр (індикатор температури) на мікроконтролері pic16f628a

Термометр (індикатор температури) на мікроконтролері pic16f628a

Термометр (індикатор температури) на мікроконтролері pic16f628a

Відмінність форми виведення є тільки для низьких позитивних температур. При індикації такої температури до символу "градус" доданий знак "C". Тобто градуси цельсія.Сімвол "градус" присутній на індикаторі при будь вимірюваної температурі.

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

Показання присутні на індикаторі протягом 30 секунд. Потім прилад знову йде в сплячий режим і індикатор вимикається.

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


Модель в протеус дозволила відпрацювати програмну частину термометра не збираючи сам прилад в залозі. Всі режими відтестували. Збоїв при моделюванні в програмі немає.

Термометр (індикатор температури) на мікроконтролері pic16f628a


Саму модель можна завантажити за посиланням: termo_i_v2.DSN

Принципова схема термометра


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

Термометр (індикатор температури) на мікроконтролері pic16f628a

Друкована плата термометра

Термометр (індикатор температури) на мікроконтролері pic16f628a


Друкована плата зроблена в програмі SprintLayout 5.0. Завантажити файл друкованої плати в форматі lay можна за посиланням: Termoi_v2.lay Плата розроблена під PIC16F628A в SOIC корпусі.

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


Прошивку можна завантажити за посиланням: termo_i2.hex


Прошивка, в якій індикація включена постійно. Кнопка не задіяна, її можна не встановлювати на друковану плату. Друкована плата та-ж сама, як і схема і ніяких інших змін не потрібно. На відміну від програми, розрахованої на батарейне харчування, немає переходу в режим SLEEP: termo_i_5.hex