Универсальный цифровой термометр

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

  В качестве датчиков контроля температуры, применены широко распространенные DS18B20. Один датчик устанавливается внутри помещения, другой — снаружи. Принципиальная схема представляет собой микроконтроллер, который управляет 4-х строчным символьным ЖКИ — индикатором и часами реального времени DS1307. Часы реального времени включены по типовой схеме — стабилизация частоты осуществляется кварцевым резонатором 32768 Гц, в качестве резервного источника питания применён литиевый элемент напряжением 3В. Управление от микроконтроллера проводится по шине I2C, реализация данного интерфейса в микроконтроллере — программная. Питание устройство получает от внешнего источника 7-14В через стабилизатор LM7805. С этого же стабилизатора напряжение подаётся на датчики температуры DS18B20. Управление подсветкой индикатора производится кнопкой S4. По умолчанию (после включения устройства) подсветка включена. 
Внимание! Проверяйте назначение выводов 1 (общий) и 2 (+5В) используемого ЖКИ. У некоторых производителей индикаторов они могут располагаться наоборот! Неправильное подключение источника питания может вывести ЖКИ из строя!

В принципе, для измерения двух каналов температуры и вывода на дисплей времени и даты, можно было бы использовать и более простой микроконтроллер, например, 16F628A. Однако, в дальнейшем планировалось дополнить устройство датчиками контроля влажности, давления и т.д . Исходя из этого, выбор микроконтроллера и разработка печатной платы выполнялись с «запасом» под новые версии прошивок и введение дополнительных функций. 
  Настройка режима часы/дата: Нажать и удерживать более трёх секунд кнопку S1.После звукового сигнала отпустить кнопку, на дисплее в позиции часов появится курсор. Кнопкой S2 устанавливается нужное значение, а кнопкой S1 осуществляется переход часы-минуты-число-месяц-день. 
 

 В следующей версии (Версия 1.1) прошивки была добавлена функция измерения влажности в помещении. Переключение в режим влажности осуществляется при помощи кнопки S3. Вводимые в схему новые элементы выделены красным цветом. В микроконтроллер для работы с данной функцией необходимо залить версию прошивки 1.1.

 В большинстве случаев для измерения влажности применяют емкостные датчики, например, HIH-4000. Однако в основу измерения влажности в данном устройстве положен несколько иной принцип — психрометрический метод. 
Данный метод основан на измерении разности двух температур. Прибор, который работает на этом принципе, называется психрометр и состоят из двух термометров. Один термометр «сухой», другой — «влажный». Для того, что бы второй термометр был влажным, он оборачивается в хлопчатобумажную ткань, которая опускается в воду и является постоянно влажной за счёт капиллярного эффекта. Испаряясь, вода охлаждает влажный термометр. В результате этого получается разница между показаниями «сухого» и «влажного» термометров. Исходя из разницы температур «влажного» и «сухого термометров», и температуры «сухого» термометра — т.е. температуры в помещении, по специальным таблицам, которые называются психометрическими (табл.1) определяют относительную влажность воздуха.
  В основе нашего самодельного датчика остаётся тот же принцип психрометра — измерить температуру «сухого» и «влажного» датчиков и на основании их показаний извлечь из таблицы нужное значение. Такую обработку можно выполнить на микроконтроллере, что собственно мы и будем делать, модернизировав универсальный термометр, снабдив его функцией измерения влажности — психрометром. 
  Итак, первая «часть» психрометра у нас уже есть — как Вы видите, в термометре применяются датчики температуры DS18B20, один из которых измеряет температуру внутри помещения. Он как раз и будет «сухим» термометром. Второй (влажный) термометр, необходимо добавить в схему. Он подключается к выводу 5 микроконтроллера. Этот датчик необходимо обернуть тканью, которая постоянно должна быть во влажном состоянии. Для обеспечения надёжной влагозащиты, необходимо на каждый вывод датчика, а затем на его корпус, одеть термоусаживающую трубку. 
  В микроконтроллере запрограммированы значения, занесенные в таблицу 1. — диапазон температур сухого термометра 15:.30 градусов и разность показаний между сухим и влажным термометром 0:9 градусов. При желании, корректировкой таблицы, прошитой в микроконтроллере, этот диапазон рабочих температур градусов можно сдвинуть в ту или иную сторону. 
  При выходе за пределы 15:.30 градусов и при разности температур свыше 9 градусов, на дисплей выводится сообщение об ошибке. Так же показывается ошибка, если температура «влажного» датчика становится больше температуры «сухого» датчика. 
  В режиме психрометра, на дисплей постоянно выводится значения «сухого» и «влажного» датчиков и в случае, если температура выйдет за указанные пределы и будет выведено сообщение об ошибке, всё равно исходя из этих значений по расширенной психометрической таблице можно вычислить значение влажности. Если, разумеется, она лежит в области определения таблицы. А вообще планируется расширить таблицу значений влажности в микроконтроллере на диапазон 1:30 градусов. 
  Может получиться ситуация, когда показания «сухого» и «влажного» датчиков одинаковы. А это возможно в двух случаях — когда влажность воздуха 100% или отсутствует вода в емкости «влажного» датчика. Поэтому, при показаниях влажности 100% нужно проверить, что «влажный» датчик действительно смочен водой. 
Конструктивное исполнение психрометрического датчика может быть любым. Главное условие, что бы «сухой» и «влажный» датчики находились в одной температурной зоне и в тоже время нужно избежать влияния влаги на «сухой» датчик. Некоторые варианты конструктивной реализации датчиков, построенных на психрометрическом методе, можно посмотреть на сайте автора. 
  Несмотря на то, что использование подобного датчика не очень удобно (нужно следить за наличием воды), тем не менее, его вполне можно использовать при отсутствии емкостных датчиков влажности для построения домашней метеостанции. 
  Проект универсального термометра на этом не завершён, сейчас ведётся его дальнейшая доработка по расширению функционала. 
Скачать прошивки и печатку
Прошивки:
meteo_10.HEX — версия 1.0 (WS1604)
meteo_11.HEX — версия 1.1 (WS1604)
     LCD20.HEX — версия 1.0 под 4-х строчный 20-символьный ЖКИ (WH2004L)
       2_16.HEX — версия 1.1 под 2-х строчный 16-ти символьный ЖКИ (SC1602). Отсутствует функция часов и календаря. В связи с этим на печатную плату не устанавливаются следующие элементы: 
 DD2 — микросхема DS1307 
 Q2 — кварцевый резонатор 32762 Гц 
 S1, S2 — кнопки управления 
 R1, R2, R11, R12, R14 — резисторы 4,7К 
 Batt 3B — литиевый элемент питания

3 комментария