Простой цифровой термометр VU3CNS / C. V. Niras Это действительно простой, доступный для начинающих цифровой термометр, при этом имеющий достаточную точность. Управляющий узел собран на PIC16F877A; микроконтроллер от фирмы Microchip сейчас легко достать. Он имеет встроенный 10-битный АЦП и много дополнительных возможностей, которые вам понравятся.
Принцип работы
В качестве температурно-чувствительного элемента использована LM35 от National Semiconductor. Эта микросхема аналоговый выход по постоянному напряжению (10 мВ/°C), обладает высокой линейностью и легко подключается к PIC16F877A. Он не требует внешней настройки или калибровки и обеспечивает типичную погрешность +/-0,25°C при комнатной температуре. Он может измерять температуру от +2°C до +150°C, а если устройство немного изменить, то оно может использоваться для измерения температуры от -55°C до +150°C. Поскольку для отображения используются только 3 цифры (одна после десятичной точки), схема может измерять температуру до 99,9 °C. Поскольку имеется 8 каналов АЦП, к микроконтроллеру может быть подключено несколько датчиков LM35, что позволяет использовать устройство, при определенной настройке, для измерения температуры в нескольких местах. Однако, в этом проекте подключены только два датчика. Переключатель подсоединенный к входу RA4 используется для отображения температур измеряемых с помощью этих датчиков.
Программное обеспечение
PIC16F877A имеет встроенный программируемый таймер с 8-разрядным делителем частоты, который обеспечивает периодическую генерацию прерываний при переполнении. Частота системного таймера делится на запрограммированный предделитель таймера0. Частота прерываний таймера определяется значением предделителя. При включении прерывания микропроцессор останавливает все другие действия и выполняет обработку прерываний. Обработка прерывания на самом деле используется чтобы сканировать и обновлять мультиплексированные семисегментные дисплеи. Встроенный АЦП (аналого-цифровой преобразователь) имеет восемь входных каналов. По прямому назначению используются только два из них, остальные аналоговые входы используются как цифровое устройство ввода-вывода. Переключатель на входе RA4 выбирает канал ввода.
Программное считывание написано таким образом, что температура выводится как среднее от четырех последовательных считываний. После преобразования значение преобразования из аналоговой формы в цифровую имеет длину 10 бит и находится в регистрах ADRESH:ADRESL. Фиксированная абсолютная погрешность АЦП < +/- 1 младший значащий бит для VDD = VREF. Для соблюдения такой точности, до начала преобразования заряд конденсатора (внутри микросхемы) должен полностью зарядиться до уровня входного значения напряжения (требуется примерно 20 мкс). Еще 44 микросекунды требуется для завершения аналого-цифрового преобразования если частота АЦП определяется внешним RC-генератором. Поскольку обычно температура резко не изменяется, перед считыванием следующего значения температуры устанавливается задержка в 200 мкс; это также позволяет давать непрерывное отображение температуры на выбранном канале.
Рис.1 Устройство термометра
Сборка
Поскольку этот прибор очень простой, собрать его можно на макетной плате. Для PIC16F877 всегда используйте хорошее гнездо, и для LM35 провод должен иметь минимальную длину. Для питания рекомендуется 9 В источник постоянного напряжения, потребление тока (приблизительно) 160 мА. Модификации Этот прибор можно модифицировать и снабдить его следующими свойствами: 1. Интерфейс с ПК для сохранения данных. 2. Интерфейс для контроля приборов в зависимости от температуры. 3. Звуковой сигнал при достижении заданной температуры. 4. Интерфейс клавиатуры 4х4. Наконец, он также может быть использован чтобы включать/выключать различные приборы в зависимости от температуры, как показано в программе. Программа написана на С и скомпилирована HI-TECH PICC-Lite, свободным программным обеспечением от HI-TECH Softwares.
Эта микросхема может программироваться Fengs Multi PIC программатором и IC Prog. Схема устройства, программа и шестнадцатеричный файл для программирования PIC16F877A можно скачать по ссылке. Заключение Я хочу поблагодарить Prof T.K.Mani (VU2ITI), OM Shaji (VU3WIJ), и Shabeer.K.T за помощь и поддержку. Я надеюсь, эта статья окажется полезной для всех вас.