Цель проекта - разработка цифрового термометра с возможностью вывода показаний температуры на компьютер (рис.1).
Рис.
1. Обобщённая схема цифрового
термометра.
В качестве датчика температуры используется микросхема цифрового термометра DS18S20, который опрашивается контроллером на основе PIC16F84A. Так как используется всего 1 датчик, протокол 1-Wire упрощается : не требуется адресация датчиков и их предварительная инициализация.. Далее показания температуры контроллер подаёт на СОМ порт компьютера. Программа TermoUnit.exe, написанная на Visual Basic 6.0, позволяет считывать и отображать показания термодатчика, а также создаёт LOG файл температуры за последние 12 часов (Data.txt) и показания текущих значений температур (Current.txt), который обновляется каждую секунду.
Для
DS18S20 температура представляется в виде 9-битного
значения. Дискретность представления
температуры составляет 0.5°C. Можно бы было
довести её до 0.1°C, но пока в такой точности
нет необходимости.
Рис.2. Внешний вид контроллера температуры.
Контроллер имеет 2 режима: измерения-отображения температуры и установки порога. Установка порога выбирается нажатием кнопок SW1,SW2, при этом светодиод загорается зелёным. Значение порога сохраняется в энергонезависимой памяти EEPROM микроконтроллера. При превышении температуры порога, светодиод мигает красным.
Рис.3.
Принципиальная схема контроллера
температуры.
Контроллер температуры реализован на микросхеме PIC16F84A, выпускаемой фирмой Microchip. Порт RB задействован под динамическую индикацию на 2 разряда: RB0 выбирает индицируемую цифру, RB1..RB7- семисегментный код выводимых цифр, порт RA0 - предусмотрена возможность управления исполнительными устройствами (например реле), RA1-опрос кнопок SW1 и SW2, RA2- опрос термодатчика, RA3- для индикации режимов устройства на сдвоенном красном-зелёном светодиоде, RA4- выводит информацию на СОМ-порт компьютера.
Рис4. Размещение элементов на печатной плате
Текст
программы на ассемблере и HEX-прошивка
контроллера (5.62кб)
Окна программы TermoUnit показано на рис5
а б.
Рис.5.
Окна программы TermoUnit.
На рис.5.а показано окно отображение температуры, на рис.5.б окно добавления-удаления компьютеров в локальной сети, на которые необходимо посылать предупреждающие сообщения. Если эта опция не нужна- необходимо убрать галочку “Посылать сообщения”(рис.5.а).
Автор
проекта: Гирлин
Андрей, г.Сургут, E-mail: giran@mail15.com