Ds18B20 как подключить: Arduino и цифровой датчик температуры DS18B20||Arduino-diy.com

Содержание

Автоматика управления отоплением дома своими руками, ч.4. Подключение датчиков температуры DS18B20

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

 

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

 

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

 

А вот эта схема — пример последовательного соединения датчиков температуры DS18B20. То есть, к одному непрерывному кабелю, подключенному к NM8036, последовательно подключаются датчик за датчиком на всем протяжении кабеля.

 

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

 

В общем, такой тип соединения, как на рисунке — наиболее правильный, но он не всегда удобен в реальных условиях, когда датчики должны располагаться в разных помещениях, разбросанных вовсе не в соответствии с логикой последовательного подключения датчиков. И что же делать?

 

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

 

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

 

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

 

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

 

У кабеля четыре пары: синий и белосиний, коричневый и белокоричневый, розовый и белорозовый, зеленый и белозеленый. Все провода бело- использую под общий провод. Провод коричневый — Data на входе, синий — питание на входе. На выходе: Data — зеленый, питание — розовый.

 

На другом конце кабеля «с возвратом» подключаю датчик по указанной схеме, т.е., все белые — общий, зеленый и коричневый — Data, синий и розовый — питание.

 

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

 

Но вот кабели раскинуты, датчики подпаяны. Как их закреплять? Вопрос неоднозначен, если задаваться целью измерения температуры с точностью до десятых градусов. Собственно, датчик так и меряет, но он меряет свою температуру. А измерение температуры датчика и температуры воды в трубе — далеко не одно и то же.

 

Казалось бы, чего тут сложного? Приклеил датчик к трубе — и он будет измерять температуру воды в трубе. Разве не логично? Логично. Но неверно. Во-первых, сама поверхность трубы уже дает погрешность, ведь она омывается воздухом, температуру которого не всегда равна температуре воды. Во-вторых, что самое важное, датчик прижат к трубе только одной поверхностью. Остальные — опять же омываются воздухом и температура самого датчика получается вовсе не равной температуре поверхности трубы.

 

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

 

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

 

Я же не термостат собираю для научных экспериментов, у меня просто система управления отоплением частного дома. Да и при программировании системы ничто не мешает мне учитывать эту разницу, что я, собственно и сделал. Например, в прихожке у меня разница показаний датчика и градусника (один от другого в 2-х миллиметрах) — 1,3 градуса. Градусник показывает 24, а датчик — 22,7. Кто из них врет — разве важно? Хотя, я больше все таки цифровому датчику доверяю.

Что еще по датчикам? Вроде все. Ага, вот еще: не спеши датчики сразу все на место прикручивать/приматывать. Определять их потом будет непросто. Пусть пока в воздухе висят, чтобы потом, когда запустишь при настройках «Поиск датчиков» и все они будут определены, можно было ладонями изменять их температуру и давать имена в системе.

Система ведь датчики определит по их серийным номерам и вывалит тебе список этих серийников. Откуда она знает, что вот этот серийник принадлежит датчику возле унитаза, а вот этот — датчику под кроватью? Вот тогда заползешь под кровать, подогреешь датчик ладошками, подышишь на него, а супругу попросишь посмотреть на список датчиков. И узнаешь среди всех, у которого температура поднялась. И узнаешь, какой у него серийный номер, да и название ему присвоишь: Кровать!

Подключение датчиков 1-Wire DS18B20 — Wiren Board 6

Mitya

#1

Подключение датчиков 1-Wire DS18B20

Добрый день.

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

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

Вопрос первый

Правильно ли я понимаю, что возможно подключить 12 датчиков, на шину долинной до 200 метров, при параллельном подключении, с удалением от шины на 2 метра ?

Вопрос второй

Будет ли лучше использовать шину RS-485, подключая датчики DS18B20 через WB-M1W2 ?

Или подключение по шине 1-wire это надежный способ подключения ?

Вопрос третий

Могу ли я организовать вторую шину подключив плюс и минус к тем же клеммам что и первую шину, а провод для DATA подключить к W2 ?

Вопрос четвёртый

Правильно ли я понимаю, что одна пара должна быть VCC + GND, а вторая пара это DATA + свободный провод.
Будет ли лучше, подключить свободный провод который идет в паре с DATA к заземлению вместе с экраном ?

Explorerol

#3

Здравствуйте! Перенес ваше сообщение в новую тему.

Mitya:

Выполнить шину длинной 100м, из экранированной витой пары

Теоретически должно работать. Но это при условии отсутствия сильных электромагнитных помех и не поддельных датчиков.

Mitya:

с удалением от шины на 2м

Вот тут уже сложно что-то гарантировать, нужно проверять. Большое значение начинает играть качество соединений и подключения шины. По возможности лучше разделить одну длинную линию на две, подключив часть датчиков на другой порт 1-Wire. Также для диагностики возможных проблем доступ к соединениям лучше оставить.

Mitya:

Оставить один провод в витой паре не задействованным

Подключение по витой паре следует делать так: сигнал по одной жиле пары (W1), минус питания (GND) по второй и аналогично питание: плюс питания (+5 V) по одной жиле пары, минус (GND) по второй.

Mitya:

Подключить шину напрямую к контроллеру WB, к клеммам [5v out, GND, W1]

Да, такое подключение верно.

Mitya:

Заземлить экран витой пары

Минус питания соединить с сигнальной землёй. Экран с одной стороны соединить с минусом питания.

Mitya:

Могу ли я организовать вторую шину подключив её к [5v out, GND, W2] ?

Да, можно. Все должно работать.

Если датчики находятся далеко от контроллера и нужно много ответвлений, то рекомендую рассмотреть использование модулей WB-M1W2. Сами модули подключаются по помехоустойчивой шине RS-485, к каждому модулю можно подключить 2 датчика 1-wire. Самих модулей на шине может быть до 247.

Explorerol

#4

Mitya:

Вопрос первый

Правильно ли я понимаю, что возможно подключить 12 датчиков, на шину долинной до 200 метров, при параллельном подключении, с удалением от шины на 2 метра ?

200 метров — очень большая длина для шины 1-Wire. Большая вероятность нестабильной работы

Mitya:

Или подключение по шине 1-wire это надежный способ подключения ?

Сама шина не сильно помехозащищенная. При длинных линиях этот вариант не очень надежен.

Mitya

#6

Explorerol:

Если датчики находятся далеко от контроллера и нужно много ответвлений, то рекомендую рассмотреть использование модулей WB-M1W2. Сами модули подключаются по помехоустойчивой шине RS-485, к каждому модулю можно подключить 2 датчика 1-wire. Самих модулей на шине может быть до 247.

Вас понял, это я и хотел узнать. Мне нужен надежный способ, буду использовать способ с WB-M1W2.

Mitya

#7

В завершении этой темы, я бы резюмировал:

Mitya:

Вопрос второй

Будет ли лучше использовать шину RS-485, подключая датчики DS18B20 через WB-M1W2 ?

Или подключение по шине 1-wire это надежный способ подключения ?

Для длинных линий, а именно больше 5 метро, лучше всего использовать DS18B20 через WB-M1W2.

Mitya:

Вопрос третий

Могу ли я организовать вторую шину подключив плюс и минус к тем же клеммам что и первую шину, а провод для DATA подключить к W2 ?

Да.

Mitya:

Вопрос четвёртый

Правильно ли я понимаю, что одна пара должна быть VCC + GND, а вторая пара это DATA + свободный провод.
Будет ли лучше, подключить свободный провод который идет в паре с DATA к заземлению вместе с экраном ?

Первая пара это плюс и минус, вторая пара это DATA и заземление.
На конце соединить провод заземления (из пары DATA и заземление), минус, а так же экран витой пары.

Explorerol

#8

Mitya:

Первая пара это плюс и минус, вторая пара это DATA и заземление.

Сделайте лучше так: первая пара — плюс питания (+5 V) и минус питания (GND), вторая пара — W1 и минус питания (GND). Я не совсем правильно написал в предыдущем сообщении, исправил.

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

Остальное правильно.

system

closed

#9

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.

Как подключить датчик температуры Dallas DS18B20 к ПЛК Arduino

Как подключить датчик температуры Dallas DS18B20 к ПЛК Arduino

Узнайте, как работать с Modbus и контроллером ПЛК автоматизации Arduino

30 июля 2021 г.
по

Boot & Work Corp. SL, Фернандес Керальт Мартинес

Введение

Modbus  – это протокол связи, расположенный на уровнях 1, 2 и 7 модели OSI, основанный на архитектуре ведущий/подчиненный или клиент/сервер.

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

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

Ссылки по теме Даллас DS18B20

Как до

Чтение Далласа Датчик температуры и данные о данных в карте µSD

Читать

Как (Raspberry PLC)

915. Читать  

Как (учебное пособие по Node-RED и Raspberry)

Получить температуру от датчика Dallas

Читать

Как до

Температура управления с датчиком Dallas DS18B20 и PLC ARDUINO


9003 9003


9003 9003


9003


9003


9003 9003

. через Wi-Fi

Чтение

Как получить температуру (датчик Dallas и ПЛК Raspberry)

6

Читать

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

Dallas DS18B20 Sensor

, с Sensor Of -Modling Of -orsor, который использует Arply Arling . и измерения системы сигнализации.

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

Устройство 1-Wire позволяет питать все устройства, подключенные к шине , через линию передачи данных. Для этого у них есть конденсатор, который накапливает энергию, пока линия данных находится в состоянии HIGH. Этот режим называется , паразитный режим . В случае неиспользования паразитного режима, устройства должны питаться напряжением от 3В до 5,5В .

Подключение к Ardbox Analog HF+

На рисунке ниже показано, как подключить датчик температуры к ПЛК Ardbox с открытым исходным кодом. Нам просто нужно подключить желтый провод к PIN2, так как это контакт, который напрямую идет к контакту промышленной платы Arduino, а черный и красный кабели следующие:

Теперь вы готовы считывать температуру с помощью вашего Далласа. Датчик температуры DS18B20 от вашего промышленного контроллера PLC на базе Arduino!

Подробнее

Как получить температуру с помощью датчика Dallas с вашего ПЛК на базе Arduino с помощью Modbus!

в Arduino Industrial

#
Ардуино
Даллас
промышленный
Открытый исходный код
Датчик температуры

Найдите то, что вы ищете

Поиск в нашем блоге

Boot & Work Corp. SL, Фернандес Керальт Мартинес

30 июля, 2021

Поделиться этой публикацией
Наши блоги
  • Ардуино Промышленный
  • Промышленные новости Arduino и Raspberry Pi, Индустрия 4.0, Интернет вещей
  • Raspberry Pi для промышленности

Архив

— Все даты

Декабрь
2022

Октябрь
2022

Сентябрь
2022

февраль
2022

январь
2022

Декабрь
2021

ноябрь
2021

Октябрь
2021

Сентябрь
2021

Июль
2021

Июнь
2021

Май
2021

апреля
2021

Маршировать
2021

Декабрь
2020

ноябрь
2020

Сентябрь
2020

Август
2020

Июль
2020

Июнь
2020

Май
2020

апреля
2020

Маршировать
2020

февраль
2020

январь
2020

Декабрь
2019ноябрь
2019

Октябрь
2019

Сентябрь
2019

Август
2019

Июль
2019

Июнь
2019

Май
2019

апреля
2019

Маршировать
2019

февраль
2019

январь
2019

Декабрь
2018


Читать дальше

Как подключить 7,5-дюймовый дисплей E-Paper и ESP32

Приложения для отображения с использованием Arduino IDE

Хотите быть в курсе?

Подпишитесь на наш блог, чтобы быть в курсе последних новостей.

Оставайтесь с нами

Ищете свой идеальный программируемый логический контроллер?

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

Мы сравниваем входы, выходы, связь и другие функции с соответствующими брендами.

Сравнение промышленных ПЛК >>>


Хотите больше информации?

Просто заполните форму!

Фамилия

Страна

Афганистан

Албания

Алжир

американское Самоа

Андорра

Ангола

Ангилья

Антарктида

Антигуа и Барбуда

Аргентина

Армения

Аруба

Австралия

Австрия

Азербайджан

Багамы

Бахрейн

Бангладеш

Барбадос

Беларусь

Бельгия

Белиз

Бенин

Бермуды

Бутан

Боливия

Бонайре, Синт-Эстатиус и Саба

Босния и Герцеговина

Ботсвана

Остров Буве

Бразилия

Британская территория Индийского океана

Бруней-Даруссалам

Болгария

Буркина-Фасо

Бурунди

Камбоджа

Камерун

Канада

Кабо-Верде

Каймановы острова

Центрально-Африканская Республика

Чад

Чили

Китай

Остров Рождества

Кокосовые (Килинг) острова

Колумбия

Коморы

Конго

Острова Кука

Коста-Рика

Хорватия

Куба

Кюрасао

Кипр

Чешская Республика

Берег Слоновой Кости

Демократическая Республика Конго

Дания

Джибути

Доминика

Доминиканская Респблика

Эквадор

Египет

Эль Сальвадор

Экваториальная Гвинея

Эритрея

Испания

Эстония

Эфиопия

Фолклендские острова

Фарерские острова

Фиджи

Филиппинцы

Финляндия

Франция

Французская Гвиана

Французская Полинезия

Южные Французские Территории

Габон

Гамбия

Грузия

Германия

Гана

Гибралтар

Греция

Гренландия

Гренада

Гваделупа

Гуам

Гватемала

Гернси

Гвинея

Гвинея-Бисау

Гайана

Гаити

Остров Херд и острова Макдональдс

Святой Престол (город-государство Ватикан)

Гондурас

Гонконг

Венгрия

Исландия

Индия

Индонезия

Иран

Ирак

Ирландия

Ислас Маршалл

Остров Мэн

Израиль

Италия

Ямайка

Япония

Джерси

Иордания

Казахстан

Кения

Кирибати

Косово

Кувейт

Кыргызстан

Лаос

Латвия

Ливан

Лесото

Либерия

Ливия

Лихтенштейн

Литва

Люксембург

Макао

Македония, бывшая югославская республика

Мадагаскар

Малави

Малайзия

Мальдивы

Мали

Мальта

Мартиника

Мавритания

Маврикий

Майотта

Микронезия

Молдова

Монако

Монголия

Черногория

Монтсеррат

Марокко

Мозамбик

Мьянма

Мексика

Намибия

Науру

Непал

Нидерланды

Новая Каледония

Новая Зеландия

Никарагуа

Нигер

Нигерия

Ниуэ

Остров Норфолк

Северная Корея

Северные Марианские острова

Норвегия

Оман

Пакистан

Палау

Панама

Папуа — Новая Гвинея

Парагвай

Перу

Острова Питкэрн

Польша

Португалия

Пуэрто-Рико

Катар

Румыния

Российская Федерация

Руанда

Реюньон

Сен-Бартельми

Остров Святой Елены, Вознесение и Тристан-да-Кунья

Сент-Китс и Невис

Сент-Люсия

Сен-Мартен (французская часть)

Сен-Пьер и Микелон

Святой Винсент и Гренадины

Самоа

Сан-Марино

Саудовская Аравия

Сенегал

Сербия

Сейшелы

Сьерра-Леоне

Сингапур

Синт-Мартен (голландская часть)

Словакия

Словения

Соломоновы острова

Сомали

Южная Африка

Южная Георгия и Южные Сандвичевы острова

Южная Корея

южный Судан

Шри-Ланка

Государство Палестина

Судан

Суринам

Шпицберген и Ян-Майен

Свазиленд

Швеция

Швейцария

Сирия

Сан-Томе и Принсипи

Тайвань

Таджикистан

Танзания

Таиланд

Тимор-Лешти

Идти

Токелау

Тонга

Тринидад и Тобаго

Тунис

Турция

Туркменистан

острова Теркс и Кайкос

Тувалу

Малые отдаленные острова США

Уганда

Украина

Объединенные Арабские Эмираты

Соединенное Королевство

Соединенные Штаты

Уругвай

Узбекистан

Вануату

Венесуэла

Вьетнам

Виргинские острова (Британия)

Виргинские острова (США)

Уоллис и Футуна

Западная Сахара

Волшебная страна

Йемен

Замбия

Зимбабве

этип

Аландские острова

Проект для

Мониторинг

Контроль

Автоматизация

Происхождение Из

(*) Я прочитал и принимаю условия политики конфиденциальности

Расскажи мне больше!  

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

Адреса:

  • 1 Список покупок
  • 2 Подключение датчика DS18B20 к ESP32
  • 3 Подготовка Arduino IDE для модуля ESP32
  • 4 Установка соответствующих библиотек Arduino
  • 5 Программирование ESP32
  • 6 Чтение температуры веб-сервера
  • 7 Код для асинхронного веб-сервера DS18B20

Время чтения: 2 мин. Модуль

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

Список покупок

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

Полный список продуктов можно найти ниже:

  • Модуль ESP32
  • Датчик DS18B20
  • Резистор 4,7 кОм
  • Контактная плата
  • Соединительные провода «папа-папа»
  • Кабель MicroUSB

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

Датчик можно подключить к любому цифровому выводу ESP32. Выбранное нами соединение будет вести к контакту D4 модуля ESP. Установите резистор между цифровым выводом датчика температуры (центральный — DQ) и источником питания.

Подготовка Arduino IDE для модуля ESP32

Модуль ESP32 можно легко запрограммировать с помощью среды Arduino IDE. Для этого нужно загрузить соответствующий пакет. Чтобы загрузить платы ESP32, откройте Arduino IDE, затем перейдите в «Файл» -> «Настройки» и в поле «Дополнительные URL-адреса диспетчера плат» в поле диспетчера плат вставьте ссылку:

 https://dl.espressif.com/dl/package_esp32_index.json. 

и нажмите кнопку ОК.

Следующим шагом будет установка платы ESP32. Перейдите в «Инструменты» -> «Доски» -> «Диспетчер плат», в поле введите «ESP32» и нажмите кнопку «Установить».

Иногда в вашей системе могут отсутствовать драйверы для микросхемы преобразователя USB в UART CP210x. Вы должны установить их вручную в диспетчере устройств Windows.

Установка соответствующих библиотек Arduino

Следующим шагом является установка соответствующих библиотек для датчика DS18B20. Датчик использует библиотеки температуры OneWire от Paul Stoffregen и Dallas. Библиотеки должны быть установлены в соответствии со следующими шагами:

1) Откройте среду Arduino IDE и выберите «Черновик» -> «Подключить библиотеку» -> «Управление библиотеками» и введите «onewire», затем найдите библиотеки OneWire by Paul Stroffregen и нажмите «Установить».

2. Следующая необходимая библиотека — DallasTemperature Майлза Бертона. Введите «dallas» в поисковую систему и установите библиотеку Dallas.

После установки библиотек перезапустите среду Arduino IDE.

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

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

После загрузки кода на плату нажмите кнопку Serial Monitor для просмотра результатов измерения температуры:

Последовательный монитор должен отображать результат измерения. Измерение будет повторяться каждые 5 секунд (5000 мс).

Показания температуры веб-сервера

Модуль ESP32 использует Wi-Fi, поэтому температуру можно считывать удаленно с помощью веб-браузера. Для этого необходимо установить дополнительную библиотеку: ESPAsyncWebServer, позволяющую легко создать веб-сервер.

  1. Загрузите библиотеку ESPAsyncWebServer .
  2. Загрузите библиотеку, выбрав «Черновик» -> «Подключить библиотеку» -> «Подключить библиотеку .ZIP» и найдите загруженный пакет ZIP. Затем нажмите кнопку Открыть.

Следующая необходимая библиотека — это библиотека Async TCP. Установите его в соответствии с шагами ниже:

  1. Загрузите библиотеку Async TCP .
  2. Загрузите библиотеку, выбрав «Черновик» -> «Подключить библиотеку» -> «Подключить библиотеку .ZIP» и найдите загруженный пакет ZIP. Затем нажмите кнопку Открыть.

Код для асинхронного веб-сервера DS18B20

Откройте Arduino IDE и вставьте приведенный ниже код. В коде введите SSID вашего домашнего WiFi-роутера и пароль.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *