Главная  /  On-line руководство  /  Подключение датчиков температуры DS18B20

Подключение датчиков температуры DS18B20


Содержание

Датчик температуры DS18B20
Схема подключения
Подготовка модуля к работе
Конфигурация модуля
Заключение



Датчик температуры DS18B20

Смаконт. Датчик температуры DS18B20

DS18B20 цифровой термометр с программируемым разрешением, от 9 до 12–bit, которое может сохраняться в EEPROM памяти прибора. Разрешение датчика влияет на время преобразования и на точность (минимальный шаг измерения температуры):
- 9–bit, время преобр. 93,75мс, точность 0,5˚С;
- 10–bit, время преобр. 187,5мс, точность 0,25˚С;
- 11–bit, время преобр. 375мс, точность 0,125˚С;
- 12–bit, время преобр. 750мс, точность 0,0625˚С;

Время преобразования определяет минимальный период опроса датчика температуры DS18B20.

DS18B20 обменивается данными по 1-Wire шине. Все процессы на шине управляются программой (прошивкой) «Smacont-ESP».

Характеристики

- Питание: 3 - 5.5В;
- Температурный диапазон: от -55 до +125˚С;
- Погрешность измерения: ±0,5˚С;
- Разрешение измерения составляет 0,0625˚С...0,5˚С;
- Максимальный потребляемый ток: 1мА;
- Потребляемый ток в режиме ожидания: 750нА;
- Время отклика: менее 93,75мс...750мс.

Датчик DS18B20 выпускается в двух исполнениях: в корпусе TO-92 и в герметичном исполнении. Последний имеет длину кабеля 1...5 метра и используется для измерения температуры в сложных условиях - под водой, в земле, и т.д.

Описание датчика DS18B20 (datasheet):
- на английском языке;
- на русском языке.



Схема подключения

В схеме используется два датчика в корпусе TO-92 (DA1, DA2) и один датчик в герметичном исполнении (DA3). Причем DA1 и DA3 подключены к напряжению питания +3,3В, а DA2 подключен к напряжению питания +5В. Это сделано для того, чтобы проследить зависимость показаний значений от питающего напряжения.


Смаконт. Схема подключения датчиков температуры DS18B20 к WiFi-контроллеру

Схема подключения датчиков температуры DS18B20 к WiFi-модулю

WiFi-модуль и датчики DS18B20 установлены на макетной плате для проектирования (Breadboard), позволяющей собирать проекты без пайки.

В качестве внешнего источника используется адаптер питания для зарядки сотовых телефонов, смартфонов, планшетов, с выходным током не менее 500мА. Для автономного питания контроллера можно использовать портативные аккумуляторы (Power Bank) емкостью от 2000мА*ч и выше. В качестве соединительного кабеля между макетной платой (Breadboard) и адаптером используется кабель для зарядки сотовых телефонов.



Подготовка модуля к работе

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

Шаг 1. Программирование модуля

Программирование модуля (запись программы (прошивки) «Smacont-ESP») осуществляется в соответствии с инструкцией «Программирование модулей ESP и отладочных плат».

Шаг 2. Настройка сетевого соединения с модулем

Выполнить настройку сетевого соединения с модулем в соответствии с инструкцией «Первое включение».

Шаг 3. Настройка WiFi-сети (при необходимости)

При необходимости выполнить настройку WiFi-сети в соответствии с инструкцией «Настройки WiFi-сети».



Конфигурация модуля

GPIO

Для работы c тремя датчиками температуры DS18B20, сконфигурируем выводы модуля «GPIO5» («D1»), «GPIO4» («D2») и «GPIO14» («D5») как выводы, для работы с 1-Wire шиной.


Smacont. Конфигурирование сенсоров DS18B20     Smacont. Конфигурирование сенсоров DS18B20     Smacont. Конфигурирование сенсоров DS18B20

Конфигурирование сенсоров DS18B20

TIMER

Для периодического опроса датчиков DS18B20 будем использовать «TMR1», так как он по умолчанию уже настроен на работу с периодом 3 сек.

На вкладке «TIMER» необходимо произвести конфигурирование таймера «TMR1»:
• включить таймер (установить «галочку» у параметра «Управление»);
• параметр «При подаче напр. пит.» установить в состояние «ВКЛ.».

Для обеспечения возможности дальнейшей обработки события от таймера, необходимо привязать параметр «Состояние» таймера «TMR1» к одному из «Vx», например, к «V12».


Smacont. Конфигурирование «TIMER»

Конфигурирование «TIMER»

Действия

Создаем действие-функцию «sens_DS18B20()». Устанавливаем параметры функции, как показано на рисунке ниже.

В качестве параметра "Начало выходных данных" указываем переменную «V0». Соответственно, получаем список наших выходных данных:
• «V0» - Значение текущей температуры «T0», ºС;
• «V1» - Значение текущей температуры «T1», ºС;
• «V2» - Значение текущей температуры «T2», ºС.


Smacont. Действие - функция «sens_DS18B20()»     Smacont. Действие - функция «sens_DS18B20()»     Smacont. Действие - функция «sens_DS18B20()»

Действие - функция «sens_DS18B20()»

Сценарии (Задачи)

Создаем сценарий (задачу, триггер) «Сценарий N0», который будет вызываться по событию обновления переменной «V12».

В качестве действия выберем «Действие N0», по которому будет вызываться функция «sens_DS18B20()».


Smacont. Сценарии (Задачи)     Smacont. Сценарии (Задачи)     Smacont. Сценарии (Задачи)

Сценарии (Задачи)

Получаем следующий алгоритм работы:
1. при событии «Обновление статуса TMR1» (формируется каждые 3 секунд), будут выполняться сценарий «Сценарий N0», т.е. вызывается «Действие N0» (функция «sens_DS18B20()»);
2. при выполнении «Действие N0», получаем обновленные значения температуры от датчиков «DA1», «DA2» и «DA3».

Vx map

Значения температуры от датчиков «DA1», «DA2» и «DA3» можно проконтролировать на вкладке переменных «Vx map».


Smacont. Переменные «Vx»

Переменные «Vx»

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



Заключение

При подключенных DA1 к напряжению питания +3,3В, а DA2 к напряжению питания +5В, наблюдается различие в показаниях. Показания сенсора DA1 и DA2 отличаются на 0,5...0,7ºС. Это связано с работой внутреннего стабилизатора напряжения датчика температуры ds18b20. При питании от источника питания +5В, внутри датчика выделяется больше тепла, что и приводит к разнице показаний. Поэтому, предпочтительно датчики температуры ds18b20, питать от источника напряжения +3,3В.

На точность показаний также оказывает влияние период опроса. При частом опросе сенсоров DS18B20, происходит внутренний саморазогрев, что приводит к завышению показаний.

Датчики в корпусе TO-92 (DA1, DA2) отличаются меньшей инерционностью при изменении температуры окружающей среды (быстрее нагреваются/остывают), чем датчики в герметичном исполнении (DA3).

При сравнении показаний температуры нужно учитывать многие факторы. Два одинаковых датчика (в одинаковом корпусе), при одинаковом напряжении питания, расположенные на небольшом расстоянии друг от друга, могут показывать разное значение температуры. Разность показаний зависит от многих условий. Например, при проверке, рука пользователя (работающий монитор, какое-либо включенное силовое устройство или другое устройства, выделяющее тепло) может располагаться ближе к одному из датчиков на несколько сантиметров, чем к другому. Уже данного фактора достаточно для получения разницы в отображении текущего значения температуры.




Программы

Прошивка «Smacont-ESP»:
скачать

«Программа Настройки»:
запусить (только браузер Firefox)
скачать zip-архив

Телеграм канал

Новости

Энергонезависимая память (EEPROM)

Переменные «Vx» (карта переменных «Vx»)

WEB-интерфейс

Действие «wifi_CheckConn()». После подключения к WiFi-сети, выполнить действие с задержкой

Обмен данными. Open Monitoring

Датчики температуры и влажности AHT10/AHT15/AHT20/AHT21/AHT25

Датчик температуры и влажности SHT30 (SHT31/SHT35)

Действие «valueToVx()», «valueToArrVx()». Отслеживание заданного уровня в диапазоне значений

Действие «termostat()». Термостат

ESP-NOW. Датчик температуры и влажности с питанием от батареек

Последовательные интерфейсы (UART, I2C, SPI)

Управление одноканальным модулем реле

Протокол MQTT

Обмен данными. NarodMon

Обмен данными. ioControl



Программы для модулей ESP     Программы     Применения     Справочник         Контакты     SMACONT. Напишите нам smacont@ya.ru