Цифровой термометр.



Категория: Микроконтроллеры


Введение

Последнее время мне приходилось изготавливать приборы для тех или иных целей измеряющих температуру. И со временем зародилась идея создания изящного уличного термометра без лишних наворотов. Позднее, идея приняла очертания простого, и вместе с тем удобного и полезного прибора. Представляемый вниманию термометр был несколько раз повторен, и, кроме того, прошел жесткие испытания сибирскою зимой.

Представляемое устройство, несмотря на множество альтернативных решений, предлагаемых другими разработчиками, имеет ряд существенных преимуществ. Основа термометра – почти классическая – датчик от Dallas DS1821 и микроконтроллер от Atmel AT89C2051. В качестве индикатора применен 4-х циферный светодиодный «динамический» дисплей (14мм с общ анодом) YFD-056AO. Данный индикатор имеет отчетливое свечение даже при ярком дневном свете, не говоря о вечернем времени. Изюминкой устройства является измерение температуры с высокой точностью (до сотых долей градуса)! Метод такого измерения описан в документации на датчик, однако, основной сложностью для этого – манипуляции с 16 битными числами (см. формулу ниже). Данная сложность легко решается путем написания программы для микроконтроллера на С.


 

 

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

К порту P1 через токозадающие резисторы подключены катоды индикатора к порту P3 через транзисторные ключи (КТ3107) – аноды. Термодатчик подключен через P3.0. Стабилизатор напряжения – на КР142ЕН5А. Прибор запитывается от БП как от Денди или подобного (7-12В/150мА). В качестве резонатора применен миниатюрный керамический на 12МГц со встроенными конденсаторами. Все резисторы – SMD. У КР142ЕН5А спилена металлическая часть (для миниатюрности). Разъем для датчика – 3.5мм jack, питания – миниатюрный круглый (марки не знаю).

При включении питания происходит чтение регистра режима работы датчика и, если необходимо, режим перепрограммирутся на требуемый Опрос датчика осуществляется в циклическом режиме (из датчика считывается температура, значения регистра счетчика и регистра калибровки). Динамическое обновление индикатора осуществляется с частотой 100Гц на каждую цифру. После сборки прибор работает сразу без настройки.

 

Заключение

Устройство получилось очень простое для повторения. Термометр не обременен никакими дополнительными функциями, хотя соблазн был велик (часы-будильник, термостат и пр.). Вместо этого все усилия были направлены на «качество» самого термометра. Сотые доли, конечно, не очень полезны, да и точность их без калибровки под большим сомнением, однако... Показания термометра – стабильные и, даже в сотых долях нет скачков, температура изменяется очень плавно и «приятно для глаз».

Основные технические характеристики:

Параметр мин. тип. макс. Единицы измерения Диапазон температур -55   +125 Градусы цельсия Напряжение питания 7   12 Прямое, В Длина кабеля 0   ? м. Размеры платы   82*34   X(мм)*Y(мм)


Прилагаются схема и PCB в формате PCAD 2001 и они же – в pdf (схема, описание) прошивка в hex
Исходный текст программы по личному запросу.

P.S. Если есть необходимость доработки данной схемы для пониженного напряжения питания (3.3В) – датчик позволяет до 2.7В. Для этого достаточно лишь заменить токозадающие резисторы на индикацию, установить 3.3В-стабилизатор и применить микроконтроллер с буквами LV. Внешнй БП должен быть на 5-6В. Это в 2 - 3 раза сократит потребление электроэнергии.
О замене комплектующих: контроллер может быть AT89C1051 или AT89C2051 или AT89C4051. Индикатор – любой с током на сегмент не более 20мА (при соответствующем изменении ПП и резисторов). Резонатор может быть и кварцевый на ту же частоту.

Автор проекта: Александр Квашин
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript



[






Рекомендуемый контент




Copyright © 2010-2017 housea.ru. Контакты: info@housea.ru При использовании материалов веб-сайта Домашнее Радио, гиперссылка на источник обязательна.