Четырехканальный цифровой термометр

Представленная система может использоваться везде, где вам нужно контролировать температуру сразу в нескольких точках в широком диапазоне температур. Используя цифровой датчик DS18B20 с разрешением до 12 бит, схема может измерять температуру в диапазоне от -55 до 125 ° C с разрешением 0,1C. Устройство считывает температуру с датчиков за один цикл, что значительно увеличивает скорость измерения. Система может обнаружить отсутствующий или поврежденный датчик, что будет видно на дисплее.
 Принципиальная схема термометра представлена на рис.1:

                                                    

Сердцем схемы является микроконтроллер ATmega8, работающий на внутреннем RC-генераторе с частотой 1 МГц. Резистор R1 со значением 10 кОм подтягивает выход Reset до напряжения Vcc, чтобы микроконтроллер не сбрасывался из-за помех во время работы. Конденсаторы C1 и C2 фильтруют напряжение для микроконтроллера.
ЖК-дисплей подключен к микроконтроллеру в 4-битном режиме. Потенциометр PRI регулирует контрастность дисплея. Сигнал R/W постоянно подключен к земле, потому что он не используется. Для измерения температуры использовались цифровые датчики DS18B20 с высоким разрешением и точностью измерения (на рисунке 2 представлены характеристики, показывающие точность датчиков).

                                             

Датчики подключены параллельно к портам микроконтроллера, потому что эта конфигурация увеличивает скорость измерения температуры и обеспечивает беспроблемную замену данного датчика без необходимости калибровки (сохранение адреса нового датчика).

                                                         Программа

Программа управления микроконтроллером написана в среде BASCOM AVR. Полный текст программы находится в архиве.В порядке ускорения процесса измерения температуры, считывание производится со всех датчиков одновременно. 
 Для начала программа цикла сбрасывает все датчики и отправляет команду считывания температуры. После 750 мс программа цикла считывает и рассчитывает температуру от всех датчиков. Все расчеты, связанные с преобразованием температуры, были сделаны на целые числа. 
В начале значение самого старшего байта температуры MSB умножается на 256 (сдвиг битов на 8 позиций влево) и к нему добавляется значение самого младшего байта LSB. Затем полученное значение делится без остатка на 16 (битовый сдвиг 0 на 4 позиции вправо), а остальное получается с помощью операции деления по модулю и считывания округления из фиксированной таблицы.
В случае отрицательных температур процесс аналогичен. Перед делением вычисленное значение отменяется и увеличивается.

                                          Изготовление устройства...

не должно вызвать больших затруднении. Расположение элементов показано на рис.3, а вид собранного устройства на фото1. Печатная плата в формате Sprint-Layout 6.0 находится в архиве.

                                                     

 Прошивка для микроконтроллера находится в архиве. Фьюзы трогать не надо-используются заводские по умолчанию.

                                                      Особенности эксплуатации                           

 Устройство не требует калибровки или настройки, после включения оно готово к работе. Термометр  питатется от 5 В постоянного тока. Фото 2 показывает устройство во время нормальной работы.

                                              

Для отключенных или поврежденных датчиков отображаются прочерки - фото 3:

                                              

Датчик лучше  заменять  после выключения устройства. Делая это во время работы термометра, можно ожидать появления значения 85C на дисплее (это значение вводится в регистры после подачи питания).

Материал взят из журнала Elektronika dla Wszystkich за №1 2014

                   
 

[ Скачать файлы (13.2 Kb) ]
 
Просмотров: 1688 | Добавил: viktorovich57 | 19.12.2019
Теги: DS18B20
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
авторизация