Простой цифровой термометр

Простой цифровой термометр 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 за помощь и поддержку. Я надеюсь, эта статья окажется полезной для всех вас.

Перевод: Piyavka, по заказу РадиоЛоцман

На английском языке: A Simple Digital Thermometer

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • Можно применить микросхему с отдельным выходом управления температурой. Если не ошибаюсь, у DS1621(i2c, 8 DIP) программируется температурный гистерезис и выход управления отдельный вывод. Если визуализация температуры повиснет вместе со старым компом, то ничего не случится. Но можно напридумывать много всяких чрезвычайных ситуаций. Да и речь шла о термометре. Скорее бытовом.
  • Тогда уж лучше пойти и просто купить бытовой термометр - сейчас цифровых китайских пруд пруди, причем, почти даром, есть даже с сигнализацией и выходами для управления чем-то.
  • Как-то за точностью датчика температуры LM35 0,25% (и то только в одной точке) никто не обратил внимание на тот факт, что точность термометра получится, как минимум, +/-2,5%, так как точность преобразования АЦП = +/-1 мл. разряд, величина которого равна 2,56/1023=25 мВ (при опоре 2,56 В). Поэтому разговора о термостате не может быть - обычный бытовой термометр.
  • Купить - это слишком просто и даже скучно. Вот я почитал ещё раз статью, и обратил внимание, что верхний предел измеряемой температуры у лм-ки +150С, а у дс-ки вроде +125С. Как никак небольшое преимущество у лм-ки есть.
  • Зато практично до безобразия. Зачем изобретать велосипед ? по-любому в кустарном изготовлении любой девайс обойдется гораздо дороже чем любая серийка, да и по внешнему виду устройства будут вопросы :)
  • Зато изготавливая его можно развить свои мозги. В определенной области. К тому же ты его зделаешь именно с такими функциями и управлением, которое нужно тебе, а не так, как это придумал китайский дяденька. Да и не все купленные устройства правильно осуществляют задекларированные функции. Но, я думаю, первый аргумент самый правильный.
  • Вполне обоснованно, если речь идет о курсовом.... и т.п. проекте..... на практике ситуация обратная....
  • Я об этом чуть выше говорил. В статье говорится, что можно добавить контроль температуры различных объектов, так вот на DS получится намного проще, чем используя LM.
  • Прошу извинить за вкравшуюся неточность по точности...:confused: А для любителей DS18B20 вот аналогичная обсуждаемому термометру конструкция.[URL="http://www.radiokot.ru/circuit/digital/home/24/"]http://www.radiokot.ru/circuit/digital/home/24/[/URL]
  • Прошу извинить публику за вкравшуюся неточность по точности...:confused: А для любителей датчика DS18B20 вот аналогичная обсуждаемой конструкция на DS18B20. [URL="http://www.radiokot.ru/circuit/digital/home/24/"]http://www.radiokot.ru/circuit/digital/home/24/[/URL]
  • Ну не то чтобы любителей именного онного девайса :), схема на PIC сложнее, как мне кажется и по железу и по программе контроллера ИМХО (насколько я себе ее представляю)
  • Схему на ПИКе можно еще чуточку проще сделать, выкинуть кварц с обвязкой, к примеру. А программа - так оно что там, что там все пишется на С и поэтому без разницы
  • Ну это понятно (использовать внутренний RC). Насчет программы: имею в виду используя DS проще - один раз его настроил, затем считал данные и вывел на индикатор, не надо делать расчеты. Подключил больше датчиков - в программе выбрал адрес нужного и считал данные... проще...
  • Зайдите сюда [url]http://startcd.narod.ru/[/url], там человек очень просто решил проблему с термометром.Я его использую в отоплении теплицы уже 2 года.
  • Да решений подобной проблемы есть море, беда в том, что не везде в промышленности можно использовать датчики типа DS и иже с ними.... возникают проблемы с метрологической аттестацией, реестром и т.п. А как для теплицы - вполне нормально
  • А вроде не о промышленной разработке шла речь :), но соглашусь - все это простые решения для дома, быта, для своего хозяйства. И по выложенной ссылке я собирал термометр для парилки - все на "скорую руку" - вот уже три года работает - вполне устраивает.
  • Кстати насчет производства. При ламинировании подоконников необходимо держать т 60 град. в туннели, где походит ламинат. Штатные термопары с блоками заколебали. Чато летели. Поставил на DS проблемы закончились. Парвда это частное производство.
  • Термопары ? на 60 градусов ? - из пушки по воробьям, ИМХО. Тогда уж лучше термометры сопротивления. и еще. а от чего летели термопары ? не от перегрева-же при такой температуре.
  • Конечно не от температуры, а от качества изготовителя.Вместо керамики на спае они чтой- то типа глины ставили. Короче отваливался защитный кожух. Причем их брали вместе с контролерами. Фирма уже не помню, это было в прошлом году. Кстати экструдеры немецкие и термики на них тоже приказывают долго жить после 3-х 3-х разборок фильеры. Но там т до 270 , поэтому прходиться их использовать.
  • Ну, по большому счету, если взять те же термометры сопротивления типа pt100 (да, дороговато) они будут держать диапазон до 600 градусов... а по поводу термопар (у меня, как у человека, пол-жизни занимавшимся температурой и печами) могу посоветовать - берите термопары у нормальных производителей. я сам из Украины, а термопары беру из Обнинска ( Обнинская термоэлектрическая компания ), и все будет в порядке.
Полный вариант обсуждения »