DS18B20 с автоматическим определением адреса.

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

Пользовательские блоки расширяющие базовый функуионал программы по работе с различными датчиками и энкодерами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ответить
rogekam
Рядовой
Сообщения: 76
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

DS18B20 с автоматическим определением адреса.

#1

Сообщение rogekam » 10.02.2021{, 20:23}

Простой пользовательский блок датчика температуры DS18B20 для нескольких датчиков на одном пине, с автоматическим определением адреса и последовательным синхронным выводом температуры и адресов датчиков соответственно с выходов «temp» и «add». Входы: «En»-разрешение опроса, «timeot»- период опроса в мили секундах. При количестве датчиков от 10 и выше, необходимо шину данных каждого датчика подключить через сопротивление 100-120 Ом(Рекомендация производителя). Автоматическое определение типа датчика DS18x2x. . Пин контроллера устанавливается в параметрах пользовательского блока. Библиотека на борту. Позволяет замену датчика на "горячую". Подключение- стандартное. Блок собирался в FLPROG 6.3.1. Проверялся в FLPROG 7.3.2.
ds18b20 01.jpg
ds18b20.jpg
ds18b20_TimeOut_En_master_(CODE).ubi
(2.03 МБ) 253 скачивания
Вложения
DS18B20_MASTER_01_(Code_-_Basic).ubi
(3.93 МБ) 264 скачивания
Последний раз редактировалось rogekam 21.02.2021{, 20:18}, всего редактировалось 4 раза.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

DS18B20 с автоматическим определением адреса.

#2

Сообщение Rovki » 10.02.2021{, 21:17}

А чем штатный сканер не устраивает ?
Электронщик до мозга костей и не только

rogekam
Рядовой
Сообщения: 76
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

DS18B20 с автоматическим определением адреса.

#3

Сообщение rogekam » 10.02.2021{, 21:40}

Rovki писал(а):
10.02.2021{, 21:17}
А чем штатный сканер не устраивает ?
Даже очень устраивает.
Всё в одном блоке. Может кому пригодиться.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

DS18B20 с автоматическим определением адреса.

#4

Сообщение Rovki » 21.02.2021{, 16:51}

Перебором что ли адрес определяете?

Отправлено спустя 12 минут 34 секунды:
rogekam писал(а):
10.02.2021{, 20:23}
Простой пользовательский блок датчика температуры DS18B20 с автоматическим определением адреса. Пин контроллера устанавливается в параметрах пользовательского блока. Библиотека на борту. Позволяет замену датчика на "горячую". Подключение- стандартное.
DS18B20_MASTER_01_(Code_-_Basic).ubi

Добавил пользовательский блок датчика температуры DS18B20 для нескольких датчиков на одном пине с автоматическим определением адреса и последовательным синхронным выводом температуры и адресов датчиков соответственно с выходов «temp» и «add». Входы: «En»-разрешение опроса,
«timeot»- период опроса в мили секундах. При количестве датчиков от 10 и выше, необходимо шину данных каждого датчика подключить через сопротивление 100-120 Ом. Автоматическое определение типа датчика DS18x2x.
ds18b20 01.jpg
ds18b20.jpg
ds18b20_TimeOut_En_master_(CODE).ubi
Не хочет в бибку заходить в версии ФЛ 6.3
Электронщик до мозга костей и не только

rogekam
Рядовой
Сообщения: 76
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

DS18B20 с автоматическим определением адреса.

#5

Сообщение rogekam » 21.02.2021{, 18:07}

Rovki писал(а):
21.02.2021{, 17:04}
Не хочет в бибку заходить в версии ФЛ 6.3
Rovki, верхний(DS18B20_MASTER_01_(Code_-_Basic).ubi) собирал в 7.3.2 ФЛ, а нижний(ds18b20_TimeOut_En_master_(CODE).ubi) -в 6.3.1 ФЛ.- этот работает и на 6.3.1 и на 7.3.2. Да... 7.3.2 мне тут на компе создает проблемы из за обратной несовместимости. Надо на одном оставить только 7.3, а на другом 6.3.1 и ниже.

oleeg
Рядовой
Сообщения: 55
Зарегистрирован: 28.01.2021{, 16:27}
Репутация: 0
Имя: олег

DS18B20 с автоматическим определением адреса.

#6

Сообщение oleeg » 21.02.2021{, 18:22}

rogekam писал(а):
10.02.2021{, 20:23}
необходимо шину данных каждого датчика подключить через сопротивление 100-120 Ом
это еще более трудоемкое занятие чем отключать каждый датчик. Хотя если сделать это нужно всего один раз - то решение вполне достойное.
Последний раз редактировалось oleeg 21.02.2021{, 18:28}, всего редактировалось 1 раз.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

DS18B20 с автоматическим определением адреса.

#7

Сообщение Rovki » 21.02.2021{, 18:26}

rogekam писал(а):
21.02.2021{, 18:07}
Rovki писал(а):
21.02.2021{, 17:04}
Не хочет в бибку заходить в версии ФЛ 6.3
Rovki, верхний(DS18B20_MASTER_01_(Code_-_Basic).ubi) собирал в 7.3.2 ФЛ, а нижний(ds18b20_TimeOut_En_master_(CODE).ubi) -в 6.3.1 ФЛ.- этот работает и на 6.3.1 и на 7.3.2. Да... 7.3.2 мне тут на компе создает проблемы из за обратной несовместимости. Надо на одном оставить только 7.3, а на другом 6.3.1 и ниже.
Так это одинаковые блоки?

Отправлено спустя 28 минут 10 секунд:
НЕ совсем понятна логика работы схемы ,точнее понятно ,что так не пойдет- у вас при смене адреса +1 в счетчик .При любом сбое счетчика у вас будут меняться местами показания (адрес и значение) датчика в индикаторах в веб интерфейсе (их место на экране).
Электронщик до мозга костей и не только

rogekam
Рядовой
Сообщения: 76
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

DS18B20 с автоматическим определением адреса.

#8

Сообщение rogekam » 21.02.2021{, 19:35}

oleeg писал(а):
21.02.2021{, 18:22}
rogekam писал(а):
10.02.2021{, 20:23}
необходимо шину данных каждого датчика подключить через сопротивление 100-120 Ом
это еще более трудоемкое занятие чем отключать каждый датчик. Хотя если сделать это нужно всего один раз - то решение вполне достойное.

Это не моя рекомендация, это пожелание разработчика DS18B20, при количестве датчиков более 10 шт. на одном пине.

oleeg
Рядовой
Сообщения: 55
Зарегистрирован: 28.01.2021{, 16:27}
Репутация: 0
Имя: олег

DS18B20 с автоматическим определением адреса.

#9

Сообщение oleeg » 21.02.2021{, 19:39}

Rovki писал(а):
10.02.2021{, 21:17}
Это не моя рекомендация, это пожелание разработчика DS18B20, при количестве датчиков более 10 шт. на одном пине
ну т.е. получается нет решения на горячую заменить ds18 без беготни к каждому датчику.
К чему этот блок тогда? если проще сделать все вручную с помощью флпрог?

rogekam
Рядовой
Сообщения: 76
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

DS18B20 с автоматическим определением адреса.

#10

Сообщение rogekam » 21.02.2021{, 19:43}

Rovki писал(а):
21.02.2021{, 18:54}
rogekam писал(а):
21.02.2021{, 18:07}

Rovki, верхний(DS18B20_MASTER_01_(Code_-_Basic).ubi) собирал в 7.3.2 ФЛ, а нижний(ds18b20_TimeOut_En_master_(CODE).ubi) -в 6.3.1 ФЛ.- этот работает и на 6.3.1 и на 7.3.2. Да... 7.3.2 мне тут на компе создает проблемы из за обратной несовместимости. Надо на одном оставить только 7.3, а на другом 6.3.1 и ниже.
Так это одинаковые блоки?

Отправлено спустя 28 минут 10 секунд:
НЕ совсем понятна логика работы схемы ,точнее понятно ,что так не пойдет- у вас при смене адреса +1 в счетчик .При любом сбое счетчика у вас будут меняться местами показания (адрес и значение) датчика в индикаторах в веб интерфейсе (их место на экране).
Адрес и значение привязаны жестко. А место, привязать по адресу не сложно. Будет время, выложу видео.

Отправлено спустя 2 минуты 24 секунды:
oleeg писал(а):
21.02.2021{, 19:39}
Rovki писал(а):
10.02.2021{, 21:17}
Это не моя рекомендация, это пожелание разработчика DS18B20, при количестве датчиков более 10 шт. на одном пине
ну т.е. получается нет решения на горячую заменить ds18 без беготни к каждому датчику.
К чему этот блок тогда? если проще сделать все вручную с помощью флпрог?
Читай те внимательно, датчики меняются на горячую.

Отправлено спустя 7 минут 18 секунд:
rogekam писал(а):
21.02.2021{, 19:45}
К чему этот блок тогда? если проще сделать все вручную с помощью флпрог?
Критика приветствуется, объективная( но без желчи).

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

DS18B20 с автоматическим определением адреса.

#11

Сообщение Rovki » 21.02.2021{, 20:56}

Интересный блок ,не понятен алгоритм сканирования . Буду пробовать :smile427:

Отправлено спустя 59 минут 34 секунды:
Так же не понятно - если подключить все датчики сразу ,то как узнать где какой ? Придется бежать за 100м и греть датчик ,что бы узнать на каком индикаторе он будет отображаться :smile427: и так со всеми 10 :shok: ???
Электронщик до мозга костей и не только

rogekam
Рядовой
Сообщения: 76
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

DS18B20 с автоматическим определением адреса.

#12

Сообщение rogekam » 21.02.2021{, 23:47}

Rovki писал(а):
21.02.2021{, 21:55}
Так же не понятно - если подключить все датчики сразу ,то как узнать где какой ? Придется бежать за 100м и греть датчик ,что бы узнать на каком индикаторе он будет отображаться и так со всеми 10 ???
Подключать по очереди. Подключили первый, знаем адрес, второй... и т.д. Перед установкой датчика, определяем адрес, как и всегда.

Аватара пользователя
AlexCrane
Капитан
Сообщения: 895
Зарегистрирован: 20.10.2017{, 13:22}
Репутация: 294
Откуда: Ульяновск
Имя: Александр

DS18B20 с автоматическим определением адреса.

#13

Сообщение AlexCrane » 22.02.2021{, 08:20}

Rovki писал(а):
21.02.2021{, 21:55}
Придется бежать за 100м и греть датчик
Не хочется бегать, ведите журнал адресов датчиков, к примеру, в гугл таблицах. В случае поломки прибора можно прописать вручную. Ну а при монтаже никто не мешает отсканировать и подписать датчики заранее.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

DS18B20 с автоматическим определением адреса.

#14

Сообщение Rovki » 22.02.2021{, 10:00}

AlexCrane писал(а):
22.02.2021{, 08:20}
Rovki писал(а):
21.02.2021{, 21:55}
Придется бежать за 100м и греть датчик
Не хочется бегать, ведите журнал адресов датчиков, к примеру, в гугл таблицах. В случае поломки прибора можно прописать вручную. Ну а при монтаже никто не мешает отсканировать и подписать датчики заранее.
Журнал это не вариант ,тем более в ручную прописывать адрес ...в наш век автоматики и цифровизации .

Отправлено спустя 6 минут 34 секунды:
Для такого сканирования нужно продумать не меняя прошивки (на автомате) -
1. как сопоставлять датчики и подключать, думаю все же последовательно (один раз)
2. как добавлять и удалять датчики
3. как заменять датчики
При этом датчики не должны менять свое положение на индикаторе веб интерфейса и адрес модбаса во всех 3х случаях :smile37:
Электронщик до мозга костей и не только

oleeg
Рядовой
Сообщения: 55
Зарегистрирован: 28.01.2021{, 16:27}
Репутация: 0
Имя: олег

DS18B20 с автоматическим определением адреса.

#15

Сообщение oleeg » 22.02.2021{, 16:40}

Rovki писал(а):
22.02.2021{, 10:06}
Для такого сканирования нужно продумать не меняя прошивки (на автомате) -
можно и менять ее (флеш) - как сделано с тем же бутлодером.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

DS18B20 с автоматическим определением адреса.

#16

Сообщение Rovki » 22.02.2021{, 21:44}

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

Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03.11.2018{, 19:38}
Репутация: 29
Имя: Дмитрий

DS18B20 с автоматическим определением адреса.

#17

Сообщение Di123 » 01.03.2021{, 05:14}

rogekam, DS18B20_MASTER_01_(Code_-_Basic).ubi есть такой же от какого то пользователя
можете ли добавить в свой выход на вывод ошибки в болеан и вход на опрос датчика в болеан ?
к примеру если пропадёт сигнал на выходе датчика то ардуина воспринимает это как 0 градусов

а то в штатном это всё не удобно хоть автор и добавил наконецто в датчик поиск ошибки но нужно адрес руками вписывать от чего всеравно нужно тащить блок скан оневаре где уже и так есть поиск ошибки но с добавлением генератора

rogekam
Рядовой
Сообщения: 76
Зарегистрирован: 24.06.2020{, 21:21}
Репутация: 28
Откуда: RUS31
Имя: Egor

DS18B20 с автоматическим определением адреса.

#18

Сообщение rogekam » 01.03.2021{, 08:55}

Di123 писал(а):
01.03.2021{, 05:14}
rogekam, DS18B20_MASTER_01_(Code_-_Basic).ubi есть такой же от какого то пользователя
можете ли добавить в свой выход на вывод ошибки в болеан и вход на опрос датчика в болеан ?
к примеру если пропадёт сигнал на выходе датчика то ардуина воспринимает это как 0 градусов

а то в штатном это всё не удобно хоть автор и добавил наконецто в датчик поиск ошибки но нужно адрес руками вписывать от чего всеравно нужно тащить блок скан оневаре где уже и так есть поиск ошибки но с добавлением генератора
Этот блок "в корзине". Здесь: viewtopic.php?f=74&t=4442 у RedSky исправленный, работает и в ESP.

Ответить

Вернуться в «Датчики и энкодеры»