Понадобился мне для дома простейший термометр для измерения, так сказать, "забортной" температуры. Наружного термометра за окном у меня нет, поэтому решил собрать простую схему с выносным датчиком для измерения уличной температуры, чтобы не выглядывая в окно и не рассматривая деления на наружном спиртовом термометре (если он имеется), сразу видеть уличную температуру на цифровом табло в помещении.
Схему долго не искал, сразу попался на глаза термометр на PIC-контроллере, автор которого Ondrej Slovak, и так как имеется нормальный программатор, решил собрать эту схему.
Чем она мне понравилась, ну довольно простая, мало деталей и возможность подключать к этому термометру несколько датчиков температуры, которые можно установить в разных местах. Например один в помещении, другой на улице.
Датчики температуры в этом термометре самые обычные, DS18B20. Термометр позволяет подключить к себе от одного, до пятнадцати подобных датчиков, для контроля за температурой в пятнадцати различных мест (может кому-то и понадобится).
Диапазон измерения температуры этого термометра от -55 до +125 ° C, разрешение 0,1 ° C, то есть хватит на все случаи жизни, только если не на крайнем Севере, где температура может опускать и ниже 55-ти градусов.
Температуры ниже -9,9 или выше +99,9 ° C, отображаются с разрешением в 1 ° C. Отрицательные температуры отображаются со знаком "-", а положительные без знака.
В качестве цифрового индикатора температуры, применён 3-х разрядный светодиодный индикатор с общим анодом.
Отображение температуры различных датчиков происходит автоматически. Сначала анимацией отображается номер температурного датчика в шестнадцатеричном формате (цифры от 1 до 9 и буквы A,B,C,D,E,F) в течении 3 секунд, затем индикация температуры этого датчика (10 секунд).
Как это всё отображается на цифровом индикаторе, видно на анимационном рисунке ниже. Рисунок отображает температуру и номера всех пятнадцати (если они будут) подключенных к термометру датчиков.
Поиск подключенных датчиков происходит после включения питания термометра.
Если к термометру подключён только один датчик, то его номер не отображается и на индикатор выводится только температура этого датчика без всякой анимации.
Термометр собран на микроконтроллере PIC16F88, его так-же можно собрать и на микроконтроллере PIC16F628A. В прикреплённом архиве в конце статьи, имеются прошивки для этих двух микроконтроллеров.
Ниже приведена схема термометра в авторском варианте.
Все температурные датчики подключаются параллельно к одному шлейфу.
Если в процессе эксплуатации какой нибудь датчик выйдет из строя, или с ним нарушится электрический контакт, на индикаторе отобразится неисправность в следующем формате - Er.x. где х = номер неисправного датчика (смотри рисунок ниже).
Повреждение датчика или ошибка связи с датчиком, не сразу выводятся на индикатор, а после того, как до него дойдёт очередь.
Если при включении термометра ни один датчик не будет найден, на дисплее отображается ошибка - E.00. Поиск датчиков при этом по-прежнему повторяется.
При включении термометра и первоначальном поиске датчиков, их серийные номера (первые 8 бит) загружаются и сохраняются в памяти микроконтроллера, и датчикам присваиваются номера (1- самому маленькому номеру и далее по возрастанию до F, если датчиков 15), и может случиться так, что два или более датчиков, которые подключены к термометру, могут иметь один и тот же байт (номер). В этом случае на индикаторе будет отображаться ошибка [E.02] и поиск датчиков будет повторяться.
Если будет отображаться такая ошибка, то нужно будет поочередным изъятием датчиков из термометра, определить, какие из них имеют одни и те же коды (ошибка пропадёт) и заменить этот датчик на другой.
В авторском варианте термометр собран на двухсторонней печатной плате, а если убрать ICSP разъем для внутрисхемного программирования, то на односторонней печатной плате (смотри на рисунке ниже).
Красным цветом на рисунке обозначены проводники на другой стороне платы, которые относятся только к ICSP разъему для внутрисхемного программирования.
Трёх-разрядный светодиодный индикатор, припаивается на противоположную сторону от установки панельки микроконтроллера.
Я особо заморачиваться не стал, и собрал термометр на макетной плате. Индикатор поставил зелёного цвета, такой индикатор более приятен для глаз, особенно в тёмное время суток.
Поставил ещё стабилизатор на пять вольт. Наружный датчик подсоединил к термометру гибкими проводами, длинной три метра, свитыми между собой наподобие витой пары.
Провода припаял к датчику, потом закрыл место пайки и частично сам датчик термо-усадочной трубкой, и потом сами выводы проводов залил ещё клеем для герметизации, так как датчик будет находиться на улице, и это необходимо для защиты его от воздействия всевозможных атмосферных осадков.
С обратной стороны монтаж сделал обычными проводами, в качестве резисторов 300 Ом, поставил резисторы SMD.
Естественно разъём для внутрисхемного программирования устанавливать не стал, он мне тан не нужен.
В качестве блока питания здесь можно использовать любую зарядку для сотового телефона (смартфона).
Я поставил вот такую зарядку, которая давно валялась дома без дела после замены телефона.
Можно поставить в термометр и второй датчик, для контроля температуры, например в помещении, в котором установлен термометр, но мне пока это без надобности, а если понадобится - так поставить второй датчик, дело пяти минут.
Комментарии
Чтобы оставить комментарий, Вам нужно авторизоваться.