Датчик температуры DS18B20¶
DS18B20 — цифровой температурный датчик, выпускаемый компанией Maxim Integrated (ныне часть Analog Devices). Относится к классу программируемых термометров с однопроводным интерфейсом (1-Wire), разработанным фирмой Dallas Semiconductor. Датчик обеспечивает измерение температуры в диапазоне от −55 до +125 °C с точностью ±0,5 °C в диапазоне от −10 до +85 °C и разрешением, настраиваемым от 9 до 12 бит. Благодаря уникальному 64-битному серийному коду, записанному в ПЗУ, каждый датчик имеет индивидуальный адрес, что позволяет подключать несколько устройств к одной линии данных.
¶История и происхождение
DS18B20 был представлен компанией Dallas Semiconductor в конце 1990-х годов как развитие более ранних моделей DS1820 и DS18S20. После приобретения Dallas Semiconductor корпорацией Maxim Integrated в 2001 году производство и развитие линейки продолжилось под маркой Maxim. Датчик быстро завоевал популярность в сфере встраиваемых систем и любительской электроники благодаря простоте подключения, низкой стоимости и высокой помехоустойчивости. В настоящее время выпускаются как оригинальные микросхемы Maxim, так и многочисленные совместимые аналоги китайского производства, часто продаваемые в герметичном исполнении с проводом и разъёмом.
¶Устройство и принцип работы
Основу DS18B20 составляет кремниевый кристалл, включающий в себя температурный сенсор, аналого-цифровой преобразователь (АЦП), энергонезависимую память и интерфейсный контроллер. Корпус выпускается в трёх вариантах: стандартный транзисторный корпус TO-92, корпус для поверхностного монтажа SOIC-8 и герметичный вариант DS18B20-PAR (паразитное питание). Выводы: GND (земля), DQ (линия данных) и VDD (питание, при использовании паразитного режима замыкается на землю).
¶Однопроводной интерфейс 1-Wire
Датчик использует протокол 1-Wire, разработанный Dallas Semiconductor. Передача данных осуществляется по одной линии с подтягивающим резистором номиналом 4,7 кОм к шине питания. Протокол предусматривает строгую временную синхронизацию импульсов: импульс сброса, присутствие, запись и чтение битов. Каждое устройство на шине имеет уникальный 64-битный идентификатор, состоящий из 8-битного семейства (для DS18B20 — код 0x28), 48-битного серийного номера и 8-битной контрольной суммы CRC. Это позволяет адресовать до нескольких десятков датчиков на одной линии без дополнительных схем.
¶Преобразование температуры
Измерение температуры основано на использовании внутреннего кварцевого генератора и счётчиков, работающих по принципу зависимости частоты колебаний от температуры. Встроенный АЦП преобразует аналоговый сигнал в цифровой код. Результат сохраняется в 16-битном регистре температурного значения в формате дополнительного кода. При разрешении 12 бит младший значащий бит соответствует 0,0625 °C. Время преобразования по умолчанию составляет 750 мс при максимальном разрешении; при понижении разрешения до 9 бит время сокращается до 93,75 мс.
¶Регистры и команды
Память датчика организована в виде оперативной памяти (SRAM) и энергонезависимой памяти (EEPROM). Основные регистры:
- Регистр температуры (2 байта) — хранит результат последнего преобразования.
- Регистры TH и TL (по 1 байту) — задают верхний и нижний пороги срабатывания сигнала тревоги.
- Регистр конфигурации (1 байт) — определяет разрешение преобразования (9–12 бит).
- EEPROM — сохраняет значения TH, TL и конфигурации при отключении питания.
Управление осуществляется набором команд: поиск ROM (0xF0), чтение ROM (0x33), пропуск ROM (0xCC), преобразование температуры (0x44), чтение Scratchpad (0xBE), запись Scratchpad (0x4E), копирование Scratchpad (0x48) и другие. При использовании паразитного питания после команды преобразования мастер должен удерживать линию в высоком уровне для подзарядки конденсатора датчика.
¶Режимы питания
DS18B20 поддерживает два режима питания:
- Внешнее питание — на вывод VDD подаётся напряжение от 3,0 до 5,5 В. Это стандартный режим, обеспечивающий стабильную работу и быстрое преобразование.
- Паразитное питание — вывод VDD соединяется с землёй, а питание датчика осуществляется через линию данных DQ. В этом режиме датчик накапливает энергию во встроенном конденсаторе во время высокого уровня на шине. Режим удобен при использовании всего двух проводов, но требует дополнительной подтяжки линии во время преобразования.
¶Применение
DS18B20 широко используется в системах измерения и контроля температуры благодаря сочетанию цифрового выхода, высокой точности и простоты интеграции. Основные области применения:
- Погодные станции и метеорология — измерение температуры воздуха, почвы и воды.
- Системы отопления, вентиляции и кондиционирования — контроль температуры теплоносителя, комнатных датчиков.
- Промышленная автоматика — мониторинг температуры оборудования, подшипников, обмоток электродвигателей.
- Сельское хозяйство — контроль температуры в теплицах, хранилищах, инкубаторах.
- Домашняя автоматизация и «умный дом» — термостаты, управление котлами и обогревателями.
- Электроника и робототехника — защита от перегрева силовых элементов, контроль температуры аккумуляторов.
- Аквариумистика и террариумистика — поддержание температурного режима.
- Пищевая промышленность — контроль температуры при хранении и транспортировке продуктов.
Датчик активно применяется в проектах на базе платформ Arduino, Raspberry Pi, ESP8266/ESP32 и других микроконтроллеров. Для работы с ним создано множество библиотек, например OneWire и DallasTemperature для Arduino, что упрощает разработку. В промышленности датчик используется в составе модулей сбора данных и программируемых логических контроллеров.
¶Достоинства и недостатки
К достоинствам DS18B20 относятся: цифровой выход, исключающий погрешности аналоговой передачи; возможность параллельного подключения множества датчиков на одну линию; встроенная калибровка и настраиваемое разрешение; низкое энергопотребление; широкий диапазон питающих напряжений; невысокая стоимость. Недостатки: относительно большое время преобразования (до 750 мс); чувствительность к качеству подтягивающего резистора и длине линии при паразитном питании; необходимость строгого соблюдения временных диаграмм протокола 1-Wire; ограниченный верхний предел температуры (+125 °C), что не позволяет использовать датчик для измерения высокотемпературных процессов.
¶Критерии выбора и аналоги
При выборе DS18B20 следует обращать внимание на класс точности (стандартный и премиальный варианты с точностью ±0,5 °C в диапазоне −10…+85 °C), исполнение корпуса и наличие герметизации для влажных сред. Среди аналогов можно выделить датчики DS18S20 (более старая модель с разрешением 9 бит), DS1822 (экономичный вариант), а также цифровые датчики других производителей, например TMP117 от Texas Instruments с интерфейсом I²C, отличающиеся более высокой точностью, но иной схемой подключения. Для измерения отрицательных температур ниже −55 °C или высоких температур свыше +125 °C DS18B20 непригоден, и требуются специализированные термопары или термисторы с соответствующим диапазоном.
¶Интересные факты
- Благодаря 64-битному адресу на одной шине 1-Wire теоретически можно адресовать более 18 квинтиллионов устройств, однако на практике ограничение накладывается ёмкостью линии и временем опроса.
- Датчик DS18B20 часто используется в системах мониторинга серверных помещений и центров обработки данных для контроля температуры воздуха в стойках.
- Существуют модификации датчика во влагозащищённом исполнении с нержавеющим наконечником, предназначенные для погружения в жидкости.
- Внутренний регистр конфигурации позволяет устанавливать разрешение 9, 10, 11 или 12 бит, что даёт возможность балансировать между точностью и скоростью измерения.
¶Источники
- Техническое описание DS18B20, Maxim Integrated / Analog Devices (datasheet).
- Dallas Semiconductor, документация по протоколу 1-Wire.
- Материалы Arduino и Raspberry Pi Wiki по работе с датчиком DS18B20.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →
