? как подключить датчик ds18b20 к ардуино

Последствия неисправностей датчиков

Если в работе котла появляются проблемы, причина может скрываться в некорректном функционировании датчиков. Ниже приведены примеры таких отклонений:

  1. Внезапное отключение котла. Есть вероятность, что сгорело реле включения датчика температуры. Реже причина кроется в неисправности блока управления.
  2. Затухание пеллетной/газовой горелки. Сбой в работе датчика иногда вызывает автоматическое выключение основной горелки. Это приводит к тому, что нестандартное оборудование тоже перестает работать.
  3. Видимая неисправность блока управления. К этому может привести залипание реле температурного датчика.

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

Оперирование термометром DS18B20

Так как Ардуино с сенсором нагрева работает по цифровой шине передачи информации 1-Wire, нужно включить в текст скетча библиотеку обслуживающую настоящий протокол. Скачать ее последнюю версию можно на GitHub по адресу:

https://github.com/PaulStoffregen/OneWire

Скетч, использующий только настоящую библиотеку:

https://cloud.mail.ru/public/Fifd/twtiPmtka

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

https://github.com/milesburton/Arduino-Temperature-Control-Library

Перед тем, как писать скетч, использующий возможности OneWire в связке с DallasTemperature, требуется определить адреса всех конечных устройств единой шины. Для этого в составе библиотечного кода есть пример Multipe, который при своем выполнении выводит уникальные идентификационные коды всех сенсоров температуры DS18 расположенных на шине. Используя полученные данные, и подключив настоящую библиотеку, не трудно получать их показания уже для своего кода:

https://cloud.mail.ru/public/ucnZ/4WJByWExo

Замена датчика

Чтобы начать ремонт датчика охлаждающей жидкости, нужно определить его расположение. Чаще всего он установлен возле термостата или радиатора, в некоторых случаях бортовой компьютер использует показания с обоих датчиков или одного из них, в зависимости от марки авто и его модели. Например, так датчик расположен в Рено, Шевроле, Ситроен, Шкода, Чери, КИА, Субару Импреза.

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

Фото — датчик температуры на приборной панели

Зависимо от года выпуска машины, а также её марки, многие автолюбители отмечают возрастание затрат топлива у двигателя. Но при этом нужно понимать, что дизель так не определишь (УАЗ, ПАЗ и прочие). Если у Вас механика, а не компьютерная система управления, то вот сигналы того, что нужно купить новый датчик температуры охлаждающей жидкости:

  1. Автомобиль стал потреблять топлива больше, чем обычно;
  2. Когда машина заводится, и двигатель достигает своей максимальной температуры, он глохнет;
  3. Появились проблемы с запуском;
  4. Из трубы глушителя выходит черный дым.

Рассмотрим, как осуществляется замена датчика температуры охлаждающей жидкости типа G62 на автомобиле Kia Sportage с двигателем объемом 2 литра. Аналогичная инструкция также пригодится при ремонте Acura, BMW, Buick, Chevrolet, Ford, Toyota, Volkswagen, Ваз 2110/2112 инжектор, Рено Гранд Сценик и прочих.

  1. Чтобы добраться к датчику, Вам нужно снять воздуховод, который охлаждает корпус воздушного фильтра и присоединяется к радиатору при помощи двух болтовых соединений и шланга подачи воздуха. Открутите болты и снимите хомут, аккуратно достаньте всю систему. Отключите от датчика электрические провода, чтобы корректно провести замеры сопротивления. Установите мультиметр на режим омметра и задайте значение в 1000 Ом. Подключите контакты устройства к положительному и отрицательному контактам. Нормальное сопротивление должно быть в пределах 2700 Ом при выключенном моторе. Для проверки датчика при включенном движке, нужно убрать тестер подальше от вращающихся частей авто;

    Фото — проверка датчика мультиметром

  2. Убедившись, что датчику температуры необходим ремонт, нужно отсоединить его от двигателя. Чтобы продолжить снятие, Вы должны предварительно слить антифризную жидкость из радиатора при помощи сливного клапана. После проверить еще раз радиатор и контакты датчика и открутить регулирующий болт как на фото;

    Фото — снятие датчика

  3. Сборка производится в обратной форме. Нужно помнить, что практически основная характеристика датчика температуры охлаждающей жидкости – это материал шайбы. Если шайба медная, то резьбу сигнализатора не нужно обрабатывать герметиком, в противном случае обязательно смажьте устройство.

    Фото — медный температурный датчик

Совет от автолюбителей на форумах: если по какой-то причине Вы не можете сразу при поломке понять датчик температуры охлаждающей жидкости, то вместо него можно подключить дополнительный (такое подключение может по показателям температуры немного отличаться от основного).

Проверка датчика температуры является несложной процедурой, с которой может справиться даже начинающий автолюбитель. Датчик температуры охлаждающей жидкости (сокращенно — ДТОЖ) представляет собой термистор, то есть, резистор, изменяющий значение своего внутреннего сопротивления в соответствии с температурой, куда помещен его исполнительный элемент. Чаще всего для этого используют мультиметр (другое название — тестер, «цэшка»), который в состоянии измерять значение электрического сопротивления в цепи.

Как работают современные датчики температуры

Блок-схема датчика температуры типа DS18B20 выглядит следующим образом:

Исходя из вышеприведенной структуры, рассматриваемый датчик состоит из:

  • регистра конфигурации, программируемого пользователем (9–12 разрядов);
  • датчика температуры;
  • верхнего Th и нижнего Tl порога срабатывания сигнала тревоги;
  • 64-битной памяти типа ROM и блока обработки протокола 1-Wire;
  • внутреннего источника питания, способного работать как от внешнего источника, так и от «паразитных» импульсов.

Принцип работы

Основная функция микросхемы DS18B20 — трансформация показаний встроенного датчика температуры в цифровой код. Это преобразование зависит от разрешения преобразования, установленного пользователем, которое варьируется от 9 до 12 бит (0,5°–0,625°С). Если настройки не производились, то установка регистра конфигурации соответствует 12 битам.

В начальном состоянии DS18B20 находится в состоянии покоя или иными словами в низком энергетическом уровне. Для начала измерений микроконтроллер подает сигнал , после чего полученные данные сохраняются в регистр, а сам датчик переходит в режим «покоя».

При работе цифрового датчика температуры DS18B20 от независимого источника питания микроконтроллер способен контролировать процесс выполнения команды , которая осуществляет измерение температуры. Таким образом, датчик температуры DS18B20 сформирует логический «0» во время трансформации показаний температурного режима и логическую «1» в случае окончания процесса преобразования.

Если питание микросхемы осуществляется при помощи «паразитного метода», то контроль логических «0» и «1» невозможен, поскольку на шине будет постоянно дежурить высокий уровень напряжения питания.

После снятия и обработки сигнала с датчика температуры в микросхеме DS18B20 полученные данные в градусах Цельсия сохраняются в виде 16-битного числа с признаком (S), который отвечает за знак «+» или «-» температуры. Структура регистра температуры будет выглядеть так, как показано ниже.

Если показания температуры выше «0», то показатель S=0, если же значение температуры отрицательное, то S=1. Ниже представлена таблица соответствия данных и температуры.

С чем мы имеем дело?

Определения понятия «подделка» разнятся, но согласно документу AIR6273 подделка представляет собой умышленное несанкционированное копирование, имитацию, замену или модификацию подлинного предмета от авторизованного производителя . Начиная с 2019 года основной проблемой являются копии (клоны), имеющие определенную маркировку,  чтобы ввести в заблуждение ничего не подозревающего покупателя. К счастью, клоны DS18B20 почти легко идентифицировать: маркировка на чипе напечатана, а не нанесена лазером? Нет отметки на заднем отступе? Вероятно, подделка. Содержимое памяти (регистра «блокнота», Scratchpad) не соответствует спецификации? Вероятно, подделка. Систематически ведет себя не так, как подлинный датчик? Вероятно, подделка.

Способ 2: чтение датчика DS18B20 по адресу

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

Поиск адресов датчиков DS18B20s на шине

Следующий скетч обнаруживает все DS18B20, присутствующие на шине, и печатает их адреса на 1-Wire в монитор последовательного порта.

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

Теперь откройте монитор последовательного порта. Вы должны получить что-то подобное:

Рисунок 6 – Нахождение адресов 1-Wire всех датчиков DS18B20 на шине

Скопируйте все адреса, так как они нам понадобятся в следующем скетче.

Чтение показаний датчиков DS18B20 по адресу

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

Вывод вышеприведенного эскиза выглядит так

Рисунок 7 – Вывод показаний нескольких датчиков DS18B20 методом адреса

Объяснение кода

Как обычно, скетч начинается с включения библиотек, объявления вывода, к которому подключена шина датчиков, и создания объекта библиотеки .

Далее мы вводим адреса, которые были найдены ранее для каждого датчика температуры. В нашем случае имеем следующее.

Во фрагменте настройки мы инициализируем библиотеку путем вызова функции и инициализируем последовательную связь с ПК.

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

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

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

Информация о сенсоре DS18B20

DS18B20 — это цифровой температурный датчик с интерфейсом 1-Wire от Maxim IC. На выходе мы получаем информацию в Цельсиях с точностью от 9 до 12 бит, от -55 до 125 (+/- 0,5). Каждый датчик имеет уникальный 64-разрядный серийный номер, что позволяет использовать огромное количество датчиков на одной шине данных.

Особенности:

  • Для уникального интерфейса 1-Wire требуется только один порт для связи.
  • Каждое устройство имеет уникальный 64-битный последовательный код, хранящийся в ПЗУ.
  • Многоточечная возможность упрощает использование распределенных температурных зондов.
  • Не требует внешних компонентов.
  • Может питаться от линии передачи данных.
  • Диапазон мощности от 3,0 до 5,5 В.
  • Измеряет температуру от -55°C до + 125°C (от -67 °F до + 257 °F) ± 0,5°C от -10°C до + 85°C.
  • Разрешение термометра выбирается пользователем от 9 до 12 бит.
  • Преобразует температуру в 12-битное цифровую переменную в 750 мс (макс.).
  • Определяемые пользователем энергонезависимые (NV) настройки сигнализации.
  • Команда поиска по тревоге идентифицирует и адресует устройства, температура которых находится за пределами запрограммированных пределов (состояние аварийной сигнализации).
  • Применяется в термостатических устройствах, промышленных системах, потребительских товарах, термометрах или в любых термических чувствительных системах.

Краткий обзор популярных цифровых датчиков температуры

Выбор датчика температуры нужно делать с учетом целого ряда параметров. Речь идет не только о метрологических характеристиках – диапазоне температур, точности, разрядности. Очень часто при поиске оптимального сенсора на первое место ставят такие качества как уровень потребления, габариты, простота подключения, возможность параллельной работы нескольких датчиков в сетевой конфигурации и так далее. Все это приводит к тому, что «идеального» сенсора, подходящего для всех случаев жизни, не существует, и разработчикам приходится искать компромиссные варианты.

Сейчас среди разработчиков популярны датчики температуры, которые работают с одно- или двухпроводными шинными интерфейсами: 1-wire, I²C, SMAART и так далее. Это позволяет использовать микроконтроллеры с малым числом выводов для одновременной работы с множеством датчиков. Рассмотрим достоинства и особенности некоторых популярных сенсоров (таблица 2).

Таблица 2. Характеристики популярных датчиков температуры

Параметр DS18B20 STLM75 TMP107 LMT01
Производитель Maxim Integrated STMicroelectronics Texas Instruments Texas Instruments
Диапазон измеряемых температур, °С -55…125 -55…125 -55…125 -50…150
Разрешение, бит 9/10/11/12 9 14 12
Точность, °С ±0,5…±2 ±0,5…±2 ±0,4…±0,7 ±0,5…±0,6875
Время измерения, мс 93,75…750 150 18 54
Напряжение питания 3…5,5 В 2,7…5,5 В 1,7…5,5 В 2…5,5 В
Ток потребления (активное состояние), мкА 1500 150 400 125
Ток потребления (режим ожидания), мкА 1 1 10 34
Интерфейс 1-Wire I²C/SMBus USART/SMAART Однопроводной с токовым выходом
Корпус SOIC8, uSOP8, TO-92 SOIC8, TSSOP8, SOIC8 TO-92

DS18B20 – популярный датчик температуры, работающий в диапазоне -55…125°С. Его главными преимуществами являются доступность, невысокая стоимость, программируемая разрядность измерений 9/10/11/12 бит, возможность подключения множества датчиков на общую двухпроводную шину 1-Wire, малое потребление в спящем режиме до 1 мкА. Вместе с тем у этого сенсора есть и недостатки, в том числе – достаточно высокое потребление в активном режиме до 1,5 мА, невысокое быстродействие при высокой разрядности измерений, относительно узкий диапазон рабочих напряжений от 3 В.

STLM75 – датчик температуры, который также работает с диапазоном -55…125°С. По сравнению с DS18B20 данный сенсор может похвастаться сверхнизким потреблением как в активном, так и в спящем режиме (150 мкА и 1 мкА соответственно), а также работой с напряжениями питания 2,7…5,5 В. Для связи с STLM75 используется I²C-шина с возможностью одновременного подключения до девяти устройств. Недостатком датчика является малое разрешение – всего 9 бит.

TMP107 производства Texas Instruments имеет максимальную разрядность среди рассматриваемых датчиков – 14 бит, отличную точность – ±0,4…±0,7°С, минимальное время преобразования – 18 мс. Особенностью датчика является интерфейс SMAART, c помощью которого можно подключить до 32 датчиков на 3-проводную шину. Однако уровень потребления TMP107 достаточно высок как в активном режиме (до 400 мкА), так и в режиме сна (10 мкА),. и для работы с ним потребуется один внешний буфер с тремя состояниями, например, SN74LVC1G125. В результате измерительный блок займет больше места на плате.

LMT01 – близкий по идеологии к датчику DS18B20, но превосходит его по ряду параметров: шире диапазон рабочих напряжений (2…5,5 В), меньше потребление и время преобразования (54 мс). Выходная разрядность датчика – 12 бит. LMT01 отличается наиболее широким диапазоном рабочих температур, составляющим -50…150°С, и максимальной точностью – ±0,5…±0,6875°С. В отличие от TMP107, данный сенсор в простейшем случае требует для подключения наличия единственного внешнего резистора, так как работает с токовым интерфейсом.

Что представляет собой DS18B20?

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

Датчик подключается через 3 выхода:

  1. Первый – питание VDD (красный).
  2. Второй – данные DQ (желтый или другой цвет).
  3. Третий – земля GND (черный).

Из-за возможности реализации схемы с фантомным питанием, можно подключить датчик через два провода: DQ и VDD. Но по-хорошему, лучше подобного подключения избегать. Также, к основной плате Arduino можно подключить на один пин выходы DQ с двух сенсоров.

Виды датчика:

  1. 8-Pin SO (150 mils) — DS18B20Z+
  2. 8-Pin µSOP — DS18B20U+
  3. 3-Pin TO-92 — DS18B20+

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

На рисунке изображен даллас DS18B20+ в герметичном корпусе

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

  1. Диапазон измерения температур -55 °С до +125 °С.
  2. Погрешность максимум 0,5 °C, без дополнительной калибровки при t от -10 °С до +85° С).
  3. Питание 3,3-5 В.
  4. Для соединения с Arduino UNO необходимо 3 контакта.
  5. К одной линии связи доступно подключение вплоть до ста двадцати семи датчиков, потому как датчик содержит собственный 64-битный код в постоянной памяти.
  6. Каждый датчик имеет персонализированный серийный номер.
  7. Протокол 1-Wire используется для передачи информации.
  8. Доступно подключение через два провода напрямую к линии связи по схеме фантомного питания. Но такой режим не рекомендуется использовать при температурах от 100° С, так как нет гарантий правильных замеров в таких условиях.
  9. Два вида памяти — статическая память с произвольным доступом или полупроводниковая оперативная память (SRAM) и энергонезависимая память EEPROM.
  10. В EEPROM записываются два однобайтовых регистра контроля TH, TL, по которым можно верхний и нижний предел диапазона температур.

Применение

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

  • 9 бит – 0,5С;
  • 10 бит — 0,25С;
  • 11 бит — 0,125С;
  • 12 бит — 0,0625С.

Порядок работы датчика:

  1. При подключении источника питания, DS18B20 будет находится в начальном состоянии.
  2. Затем, подается команда «преобразование температуры» на Arduino UNO для замера t.
  3. Результат, полученный от датчика, сохранит свое значение в двух байтах регистра t, а сам элемент схемы вернется с начальное состояние.
  4. При работе схемы через внешнее питание, микроконтроллер регулирует состояние конвертации.
  5. При выполнении команды линия находится в низком состоянии, а закончив – переходит в высокое.

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

В оперативную память сохраняются:

  • 1-2 байты – данные измеряемой температуры;
  • 3-4 байты – пределы изменения t;
  • 5-6 байты – резерв;
  • 7-8 байты – нужны для точных замеров t;
  • 9 байт — циклический избыточный код, устойчивый к помехам;

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

Данном примере подключение будет аналогичным, кроме одного, в плату BreadBoard параллельно первому датчику, подключим второй датчик, схему подключения можно посмотреть ниже.

Запускаем среду программирования IDE Arduino, копируем пример кода в в окно программы и загружаем в контроллер.

/*
Тестирование производилось на Arduino IDE 1.6.11
Дата тестирования 12.11.2016г.
*/

#include <OneWire.h> // Подключаем библиотеку OneWire
#include <DallasTemperature.h> // Подключаем библиотеку DallasTempature

#define ONE_WIRE_BUS 2 // Указываем, к какому выводу подключена DQ

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup(void)
{
Serial.begin(9600); // Задаем скорость передачи данных
sensors.begin(); // Запуск библиотеки, по умолчанию 9 бит
}

void loop(void)
{
Serial.print(» Reading Temperature…»);
sensors.requestTemperatures(); // Запрос на считывание температуры
Serial.println(«Read»);
Serial.print(» Sensor Temperature 1: «);
Serial.print(sensors.getTempCByIndex(0)); // Отображение температуры датчика 1
Serial.print(» Reading Temperature…»);
Serial.println(«Read»);
Serial.print(» Sensor Temperature 2: «);
Serial.print(sensors.getTempCByIndex(1)); // Отображение температуры датчика 2
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

/*
Тестирование производилось на Arduino IDE 1.6.11
Дата тестирования 12.11.2016г.

*/

 
 
#include <OneWire.h>                        // Подключаем библиотеку OneWire
#include <DallasTemperature.h>              // Подключаем библиотеку DallasTempature
 
#define ONE_WIRE_BUS 2                      // Указываем, к какому выводу подключена DQ
 

OneWire oneWire(ONE_WIRE_BUS);

DallasTemperature sensors(&oneWire);

voidsetup(void)

{

Serial.begin(9600);// Задаем скорость передачи данных

sensors.begin();// Запуск библиотеки, по умолчанию 9 бит

}

voidloop(void)

{

Serial.print(» Reading Temperature…»);

sensors.requestTemperatures();// Запрос на считывание температуры

Serial.println(«Read»);

Serial.print(» Sensor Temperature 1: «);

Serial.print(sensors.getTempCByIndex());// Отображение температуры датчика 1

Serial.print(» Reading Temperature…»);

Serial.println(«Read»);

Serial.print(» Sensor Temperature 2: «);

Serial.print(sensors.getTempCByIndex(1));// Отображение температуры датчика 2

}

Ссылки  Документация к DS18B20+  Скачать библиотеку DallasTemperature  Скачать библиотеку OneWire v.2.2

Купить на Aliexpress  Контроллер Arduino UNO R3 на CH340G  Контроллер Arduino UNO R3 на Atmega16U2  Провода DuPont, 2,54 мм, 20 см  Датчик температуры DS18b20

Купить в Самаре и области  Контроллер Arduino UNO R3 на CH340G  Контроллер Arduino UNO R3 на Atmega16U2  Провода DuPont, 2,54 мм, 20 см  Датчик температуры DS18b20

Подключение датчика DS18B20

Подключение датчика DS18B20, как правило, происходит двумя-тремя простыми способами. Мы рассмотрим эти способы на примере подключений DS18B20 к плате Arduino и esp8266.

Подключение датчика DS18B20 к Arduino

Начнем с прямого подключения единичного датчика к Arduino:

Для начала необходимо прикрепить устройство непосредственно к плате Arduino: поэтому подаем «5V» к выводу «Vdd» устройства. Таким же способом связываем друг с другом выводной «GND». Затем срединный датчик DS18B20 фиксируем на каком-либо выходном регистре (по желанию). Допустим, это будет регистр «D2».

Подключение вывода данных «DQ» необходимо производить только после того, как вы записали номерной код Arduino на скетч. Кроме того, очень важным аспектом, о котором необходимо сказать, является присутствие номинального резистора «4,7k», который располагается между линиями устройства и блоками питания. Отметим, что данный резистор предназначен для обеспечения полного функционирования (то есть без сбоев) линий термодатчика.

Теперь перейдем к рассмотрению подключения несколькими датчиками DS18B20 к плате Arduino:

Мы возьмем в пример ситуацию с 5-ю датчиками DS18B20. Итак, как мы видим, все 5 датчиков в шине подсоединены параллельным образом, при этом, они стягиваются номинальным резистором «4,7k». Таким образом, действие платы Arduino будет определяться уникальным и точным кодом каждого из этих 5-ти датчиков.

Пришла очередь третьего способа подключения DS18B20 к плате Arduino при помощи паразитного питания:

В данном случае очевидно, что датчик/датчики принимает/принимают импульс линейных данных датчика, которые расположены между блоками «Vdd» и «GNG». А существенную роль и здесь играет все тот же номинальный резистор «4,7k», который не только стягивает линейные данные датчика, но и обеспечивает функционирование всей “буферной” системы и конструкции.

Подключение датчика DS18B20 к esp8266

Теперь перейдем к обсуждению подключения датчика DS18B20 к esp8266. Начнем, пожалуй, с прямого подключения:

Резистор 1 (R1) определяет сопротивление не более 2,2-х КОм. При наличии такого резистора, срединный вывод “DATA” прикрепляется к кабельному блоку, либо «GND», либо «VCC», а также соединяется с центральной трубкой, что и обеспечивает качественное: прочное, герметичное подключение.

Наконец, поговорим о последнем способе подключения датчика DS18B20 к esp8266:


Картинка выше почти идентичная, разница лишь в резисторе

Данный способ осуществляется с помощью номинального резистора «4,7k», который подтягивает всю систему к питанию, и с помощью трех контактов вывода датчика DS18B20, обеспечивающих, в свою очередь, подключение линий «DQ» к срединному «DATA».

ПУВН-10 и ПУБТ-03: основные характеристики

сама производит и предлагает приобрести вместе с отопительными котлами пульты управления. Наиболее востребованными из них являются ПУВН-10 и ПУБТ-03.

Обращаем ваше внимание, что и в случае с пультом решающее значение имеет правильная установка внешнего датчика температуры. Пульт управления водоэлектронагревателями ПУВН-10 совместим с большинством моделей котлов «Куппер»

Сюда относятся серии:

Пульт управления водоэлектронагревателями ПУВН-10 совместим с большинством моделей котлов «Куппер». Сюда относятся серии:

  • ОК (модели 9, 15, 20);
  • ОВК (модели 10, 18);
  • ПРО (модели 22, 28, 36, 42).

Температурный датчик от ПУ устанавливается на трубу подачи и «обратки» (выход / вход в котел). Приспособление также подходит для приборов, на которых установлена пеллетная или газовая горелка. Его использование обеспечивает возможность автоматического отключения котла при перегреве или коротком замыкании.


Универсальный пульт управления для блока ТЭНов в котлах «Куппер» ПУБТ-03.

Пульт управления блоком термоэлектронагревателей ПУБТ-03, помимо ранее названных серий, совместим с котлами «Куппер КАРБО» и «Куппер Практик». Стоимость устройств разнится — у пультов линейки ПУБТ-10 она начинается от 5920 рублей, у ПУБТ-03 — от 10 990 рублей.

Более высокая цена ПУБТ-03 обусловлена тем, что устройство имеет больше функций и считается более универсальным. Так, с его помощью можно регулировать следующие параметры:

  • время включения/отключения ТЭНа;
  • аварийное включение/выключение при охлаждении/перегреве теплоносителя;
  • поддержание заданной температуры ТЭНа.

Также при помощи пульта управления можно настроить дату включения ТЭНа, продолжительность его нагрева и задать нужную цикличность работы.

Монтаж ПУ очень прост. Чуть сложнее, разве что, установка датчика температуры воды на трубы «подачи» и «обратки».

Далее по плану идут электромонтажные работы по подключению датчика к блоку коммутации.

Описание датчика DS18B20 для Arduino

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


Микросхема имеет три выхода, из которых для данных используется только один, два остальных – это земля и питание. Число проводов можно сократить до двух, если использовать схему с паразитным питанием и соединить Vdd с землей. К одному проводу с данными можно подключить сразу несколько датчиков DS18B20 и в плате Ардуино будет задействован всего один пин.

Где купить датчик

Влагозащищенный датчик температуры DS18B20 с длиной провода 1 м от надежного магазина Комплект из 10 микросхем DS18B20 TO92 Модуль DS18B20 для удобного подключения к Ардуино от Keyestudio
Беспроводной модуль DS18B20 на ESP8266 ESP-01 ESP-01S для проектов умного дома Шилд датчика DS18B20 для платы D1 MINI – беспроводная передача данных Датчик DS18B20 с модулем для подключения к Ардуино

Особенности цифрового датчика DS18B20

Погрешность измерения не больше 0,5 С (для температур от -10С до +85С), что позволяет точно определить значение температуры. Не требуется дополнительная калибровка.
Температурный диапазон измерений лежит в пределах от -55 С до +125 С.
Датчик питается напряжением от 3,3В до 5В.
Можно программно задать максимальную разрешающую способность до 0,0625С, наибольшее разрешение 12 бит.
Присутствует функция тревожного сигнала.
Каждое устройство обладает своим уникальным серийным кодом.
Не требуются дополнительные внешние элементы.
Можно подключить сразу до 127 датчиков к одной линии связи.
Информация передается по протоколу 1-Wire.
Для присоединения к микроконтроллеру нужны только 3 провода.
Существует так называемый режим паразитного питания – в нем происходит питание напрямую от линии связи. Для подключения в этом случае нужны только 2 провода

Важно, что в этом режиме не гарантируется корректная работа при температурах выше 100С. Режим паразитного питания удобно обычно применяется для приложений с удаленным температурным датчиком.

Память датчика состоит из двух видов: оперативной и энергонезависимой – SRAM и EEPROM. В последнюю записываются регистры конфигурации и регистры TH, TL, которые могут использоваться как регистры общего назначения, если не используются для указания диапазона допустимых значений температуры.

Основной задачей DS18B20 является определение температуры и преобразование полученного результата в цифровой вид. Мы можем самостоятельно задать необходимое разрешение, установив количество бит точности – 9, 10, 11 и 12. В этих случаях разрешающие способности будут соответственно равны 0,5С, 0,25С, 0,125С и 0,0625С.

Во время включения питания датчик находится в состоянии покоя. Для начала измерения контроллер Ардуино выполняет команду «преобразование температуры». Полученный результат сохранится в 2 байтах регистра температуры, после чего датчик вернется в первоначальное состояние покоя. Если схема подключена в режиме внешнего питания, микроконтроллер регулирует состояние конвертации. Во время выполнения команды линия находится в низком состоянии, после окончания программы линия переходит в высокое состояние. Такой метод не допустим при питании от паразитной емкости, так как на шине постоянно должен сохраняться высокий уровень сигнала.

Полученные температурные измерения сохраняются в SRAM датчика. 1 и 2 байты сохраняют полученное значение температуры, 3 и 4 сохраняют пределы измерения, 5 и 6 зарезервированы, 7 и 8 используются для высокоточного определения температуры, последний 9 байт хранит устойчивый к помехам CRC код.