Проход по ссылкам навигацииГлавная : Статьи :

Термометр на DS18В20 и PIC16F628A

Термометр на DS18В20 и PIC16F628A

Не смотря на простоту конструкции, термометр имеет не плохие характеристики. Достоверность показаний термометра гарантируется применением цифрового датчика DS18B20. Эта микросхема не требует калибровки и позволяет измерять температуру окружающей среды от -55 до +125°С, причем в интервале -10...+85°С производитель гарантирует абсолютную погрешность измерения не хуже ±0,5°С. На границах диапазона измеряемых температур точность ухудшается до ±2°С. Индикация показаний термометра во всем диапазоне измеряемых температур выполняется с точностью ±0.1°C.

Питается данный термометр переменным напряжением от 6В до 16В или постоянным напряжением от 8В до 20В.
Схема представлена на рисунке 1.
Термометр на DS18В20 и PIC16F628A

Рисунок 1. Принципиальная схема цифрового термометра на DS18B20.

В качестве датчика температуры используется микросхема цифрового термометра DS18В20, который опрашивается контроллером на основе микросхемы фирмы Microchip PIC16F628A.

Обмен данными и командами между микроконтроллером D1 и микросхемой цифрового датчика температуры U1 происходит с помощью однопроводного интерфейса 1-Wire.Так как используется всего 1 датчик, протокол 1-Wire упрощается : не требуется адресация датчиков и их предварительная инициализация. Резистор R1 является нагрузочным резистором для линии интерфейса 1-Wire. Выход DQ датчика U1 подключен к выводу 3 микроконтроллера D1 (порт RA3).

Питание +5В на датчик подается через резистор R2 он выполняет функцию защиты от случайного короткого замыкания цепи питания, при использовании выносного датчика. Данный резистор при желании можно из схемы исключить, заменив его перемычкой.

В устройстве реализована динамическая индикация. Обновление изображения каждого индикатора осуществляется с частотой не менее 100Гц, что исключает мерцание индикаторов. Порт RB задействован под динамическую индикацию: RB0..RB7- формируют семисегментный код выводимых цифр.Порты RA0, RA1, RA6, RA7 выбирает индицируемую цифру.

Резисторы R3...R10 ограничиваю ток протекающий через светодиодные сегменты индикаторов.
При включении питания и после инициализации микроконтроллера происходит тест наличия и исправности цифрового датчика температуры. Если датчик не подключен или его неисправность характеризуется наличием на линии DQ постоянного высокого уровня, при обращении к нему микроконтроллера, то на индикаторе будет выводится значение "LInE". А вот если линия DQ имеет замыкание на 0В, либо эту линию сам датчик, при наличии неисправности его внутренней схемы, подтягивает к 0В, то на индикаторе выводится значение "Shot ".

Далее если тест исправности датчика прошел успешно, микроконтроллер выдает датчику команду на измерение температуры. После окончания измерения цифровым датчиком температуры, микроконтроллер считывает значение температуры, обрабатывает его и выводит на индикатор.

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

После подачи питания, при правильном подключении датчика и источника питания, цифровой термометр начинает отображать значение температуры примерно через 1 секунду. Данное время требуется датчику на проведение измерения температуры.

Во время первого измерения температуры датчиком на индикаторе выводится значение "t°С".
Конструкция

Термометр собран на односторонней печатной плате, показанной на рисунке 2.
Термометр на DS18В20 и PIC16F628A

Рисунок 2. Печатная плата цифрового термометра на DS18B20.

Внешний вид готового устройства:
Термометр на DS18В20 и PIC16F628A
Термометр на DS18В20 и PIC16F628A

Термометр на DS18В20 и PIC16F628A


Датчик для измерения температуры подключается к разъему Х1, а к разъему Х2 необходимо подключить источник питания (достаточно подключение трансформатора с необходимым значением напряжения).

Микроконтроллер PIC16F628А можно заменить на PIC16F628-04 в DIP корпусе. При переработке печатной платы можно использовать микроконтроллер и в других корпусах.

В устройстве применены семисегментные светоизлучающие индикаторы с общим анодом SA04-11SRWA фирмы KINGBRIGHT. Их можно заменить на любые импортные сверхяркие индикаторы. Возможно придется подобрать номинал резисторов R3...R10 для обеспечения нужной яркости.

Диодный мост собран на диодах BAV100, которые можно заменить на любые с прямым током не менее 50мА ( например в предыдущих конструкциях были установлены диоды GS1M, которые намного мощнее, но какие попались под руку)


Исходник, прошивка