DS18B20 подключение: советы по работе с популярным датчиком температуры

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

Микросхема датчика температуры DS18B20.

Общие сведения о DS18B20

DS18B20 - цифровой датчик температуры, выпускаемый компанией Maxim Integrated (ранее Dallas Semiconductor). Он появился в конце 90-х годов как замена менее точным аналоговым датчикам.

Принцип действия DS18B20 основан на измерении напряжения на p-n переходе, зависящего от температуры. Встроенный АЦП преобразует это напряжение в цифровой код, который и считывается микроконтроллером.

К достоинствам DS18B20 можно отнести:

  • Высокая точность измерения - до 0.5°C
  • Широкий диапазон рабочих температур - от -55 до +125°C
  • Наличие уникального 64-битного кода, позволяющего подключать несколько датчиков к одной шине
  • Простота подключения - используется всего 1 вывод микроконтроллера
  • Низкое энергопотребление

К недостаткам можно отнести довольно большую задержку измерения - от 500 до 750 мс.

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

Рассмотрим типовые схемы подключения DS18B20 к популярным платформам.

Умный дом будущего.

Подключение к Arduino

Для подключения DS18B20 к Arduino используется всего один цифровой пин. Контакты датчика подключаются следующим образом:

  • VCC — к +5В
  • GND — к GND
  • DATA - к цифровому пину (например, D2)

Также необходимо подтянуть линию DATA к +5В через резистор 4.7 кОм.

Подключение к Raspberry Pi

Для подключения датчика DS18B20 к Raspberry Pi потребуется дополнительный модуль для работы по протоколу 1-Wire. Он подключается к GPIO пинам следующим образом:

  • VCC - к пину 1 (3V3)
  • GND - к пину 6 (GND)
  • DATA - к пину 7 (GPIO4)

Подробнее о подключении 1-Wire устройств к Raspberry Pi можно прочитать в соответствующих руководствах.

Подключение нескольких датчиков DS18B20

Благодаря наличию уникальных 64-битных адресов, к одному вводу микроконтроллера можно подключить множество датчиков DS18B20. При этом все они будут подключены параллельно к одной шине данных. Опрос каждого датчика осуществляется по его уникальному адресу.

Программирование DS18B20

Для программной работы с DS18B20 обычно используются следующие библиотеки:

  • OneWire
  • DallasTemperature
  • Adafruit_Python_DHT

Рассмотрим основные функции на примере библиотеки OneWire для Arduino.

Получение адреса датчика

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

Для считывания данных с DS18B20 используется последовательность из двух функций - requestTemp() и getTemp(): Сначала отправляется запрос командой requestTemp(), затем, дождавшись окончания измерения, считывается результат функцией getTemp().

Настройка разрешения

В DS18B20 можно программно изменить разрешение, влияющее на точность измерения. Это делается с помощью функции setResolution(). Доступные значения: 9, 10, 11, 12. Чем выше разрешение, тем выше точность, но и больше время измерения. Рассмотрим примеры использования датчика DS18B20 в различных проектах.

Метеостанция

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

DS18B20 часто используется в системах климат-контроля теплиц, живых уголков, герпетариев. C помощью датчиков контролируется температура воздуха и грунта, включается подогрев или вентиляция.

Мониторинг холодильника

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

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

Нет связи с датчиком

Причины могут быть следующие: неправильная схема подключения, обрыв или короткое замыкание в линии связи, отсутствие подтягивающего резистора на линии DATA. Решение - проверить схему, целостность линии и наличие резистора.

Возможные причины: ошибка при подключении, неверные настройки в коде, сбой чтения адреса датчика. Решение - проверить правильность подключения, настроек и кода опроса датчика по адресу.

Перегрев датчика

Датчик DS18B20 может выйти из строя при длительном превышении максимальной температуры +125°C. Чтобы этого избежать, полезно использовать датчик с более широким температурным диапазоном и добавить оповещение о достижении критической температуры.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.