Термометр на PIC16F628 + TC77Такой термометр подходит для большинства потребностей измерения температуры в быту. Но не смотря на то, что он очень прост и дешев, имеет не плохие характеристики. Диапазон температур от -55°C до +125°C, питание - 2 пальчиковые батарейки, имеет функцию автовыключения. О точности, вообще термодатчик (микросхема TC77 выпускаемая фирмой Microchip) обеспечивает точность не хуже ±1°C в диапазоне температур +25°C - +65°C, ±2°C в диапазоне -40°C - +85°C, и ±3°C в диапазоне -55°C to +125°C. В данном приборе, термодатчик калиброван в точке +36.6°C с точностью 0.1°C, тем самым достигается точность необходимая для измерения температуры тела человека в нужном диапазоне температур. Кроме того в этой точке проще провести калибровку по обычному (а лучше нескольким) медицинскому термометру.

Термометр собран на микроконтроллере PIC16F628, термодатчике TC77-3.3 и двух спаренных светодиодных семисегментных индикаторах с общим анодом. Резисторы - для ограничения тока сегментов индикатора. Конденсатор - блокировка по питанию. Кнопка Sa1 - включение/выключение прибора. Подтягивающий резистор к ней не нужен, так как контроллер имеет внутренний.

Термометр на PIC16F628 + TC77

Алгоритм работы микроконтроллера следующий. При включении питания происходит инициализация всех переферийных модулей, настраиваются прерывания и микроконтроллер засыпает - переходит в режим пониженного энергопотребления (менее 1мкА). При нажатии на кнопку происходит прерывание по которому контроллер выходит из режима сна и начинает выполнять основной цикл. В котором осуществляется динамическая индикация и реакция на нажатую кнопку. Индикация происходит следующим образом, на выводах порта RA логическими "0" формируется отображаемая цифра на аноде нужного разряда формируется логическая "1", потом происходит задержка около 2 мС. Далее, для предотвращения мерцания, с анода снимается логическая "1", на порт RA выводится цифра следующего разряда, на его анод подается логическая "1" и опять формируется пауза. И так по кругу.

Каждые 10 мc от таймера TMR0 формируется прерывание, в котором осуществляется опрос и антидребезг кнопки, и формирование временных интервалов - 3 минуты, по достижению которого термометр выключится, и 320 мc - периода измерения. Которое проходит так - по последовательному интерфейсу из микросхемы термодатчика осуществляется чтение значения температуры ее корпуса. Производится пересчет в градусы, калибровочная коррекция, гашение не значащих нулей и преобразование в семисегментный код.

Сам термодатчик TC77 расположен на конце 5-жильного шнура длиной около метра. Шнур - самодельный, в тонкой трубке от медицинской капельницы пропущены 5 жил провода МГТФ. Концы проводов припаяны непосредственно к выводам микросхемы. Она покрыта слоем эпоксидного клея для герметизации. Это можно сделать, обмакнув припаянную микросхему в разведенную эпоксидку и непрерывно вращая в разных плоскостях, дать застыть клею ровной каплей. Для быстрейшего затвердевания, вращение можно производить над работающей лампочкой или разогретым паяльником. Для предотвращения попадания влаги под трубку обмакнуть нужно так, что-бы клей затек на ее край.

Автор: А.Бывших


Архив для статьи "Термометр на PIC16F628 + TC77"
Описание: Исходник с подробными комментариями, прошивка и файл проекта MPLAB
Размер файла: 7.13 KB Количество загрузок: 1 337 Скачать