автор Ondrej Slovak
Термометр T15DS.
Вашему вниманию предлагается простой цифровой термометр, который позволяет контролировать температуру от одного - до пятнадцати различных мест, в которых установлены датчики температуры DS18B20.
Диапазон измерения температуры от -55 до +125 ° C, разрешение 0,1 ° C.
Температуры ниже -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 разъему для внутрисхемного программирования.
Трёх-разрядный светодиодный индикатор, припаивается на противоположную сторону от установки панельки микроконтроллера.
Если для программирования микроконтроллера не использовать ICSP разъем, то будет достаточно односторонней печатной платы.
Печатная плата. Вид со стороны установки светодиодного индикатора.
Скачать архив;
Архив
Источник: https://s-o.webnode.cz/teplomer-t15ds/verze-2/
|