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

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

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

Сообщение rogekam »

Простой пользовательский блок датчика температуры 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
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось rogekam 21 фев 2021, 20:18, всего редактировалось 4 раза.
Аватара пользователя
Rovki
Полковник
Сообщения: 5731
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

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

Сообщение Rovki »

А чем штатный сканер не устраивает ?
Электронщик до мозга костей и не только
rogekam
Рядовой
Сообщения: 82
Зарегистрирован: 24 июн 2020, 21:21
Откуда: RUS31
Имя: Egor
Благодарил (а): 1 раз

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

Сообщение rogekam »

Rovki писал(а): 10 фев 2021, 21:17 А чем штатный сканер не устраивает ?
Даже очень устраивает.
Всё в одном блоке. Может кому пригодиться.
Аватара пользователя
Rovki
Полковник
Сообщения: 5731
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

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

Сообщение Rovki »

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

Отправлено спустя 12 минут 34 секунды:
rogekam писал(а): 10 фев 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
Рядовой
Сообщения: 82
Зарегистрирован: 24 июн 2020, 21:21
Откуда: RUS31
Имя: Egor
Благодарил (а): 1 раз

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

Сообщение rogekam »

Rovki писал(а): 21 фев 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 янв 2021, 16:27
Имя: олег

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

Сообщение oleeg »

rogekam писал(а): 10 фев 2021, 20:23 необходимо шину данных каждого датчика подключить через сопротивление 100-120 Ом
это еще более трудоемкое занятие чем отключать каждый датчик. Хотя если сделать это нужно всего один раз - то решение вполне достойное.
Последний раз редактировалось oleeg 21 фев 2021, 18:28, всего редактировалось 1 раз.
Аватара пользователя
Rovki
Полковник
Сообщения: 5731
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

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

Сообщение Rovki »

rogekam писал(а): 21 фев 2021, 18:07
Rovki писал(а): 21 фев 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
Рядовой
Сообщения: 82
Зарегистрирован: 24 июн 2020, 21:21
Откуда: RUS31
Имя: Egor
Благодарил (а): 1 раз

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

Сообщение rogekam »

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

Это не моя рекомендация, это пожелание разработчика DS18B20, при количестве датчиков более 10 шт. на одном пине.
oleeg
Рядовой
Сообщения: 55
Зарегистрирован: 28 янв 2021, 16:27
Имя: олег

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

Сообщение oleeg »

Rovki писал(а): 10 фев 2021, 21:17 Это не моя рекомендация, это пожелание разработчика DS18B20, при количестве датчиков более 10 шт. на одном пине
ну т.е. получается нет решения на горячую заменить ds18 без беготни к каждому датчику.
К чему этот блок тогда? если проще сделать все вручную с помощью флпрог?
rogekam
Рядовой
Сообщения: 82
Зарегистрирован: 24 июн 2020, 21:21
Откуда: RUS31
Имя: Egor
Благодарил (а): 1 раз

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

Сообщение rogekam »

Rovki писал(а): 21 фев 2021, 18:54
rogekam писал(а): 21 фев 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 фев 2021, 19:39
Rovki писал(а): 10 фев 2021, 21:17 Это не моя рекомендация, это пожелание разработчика DS18B20, при количестве датчиков более 10 шт. на одном пине
ну т.е. получается нет решения на горячую заменить ds18 без беготни к каждому датчику.
К чему этот блок тогда? если проще сделать все вручную с помощью флпрог?
Читай те внимательно, датчики меняются на горячую.

Отправлено спустя 7 минут 18 секунд:
rogekam писал(а): 21 фев 2021, 19:45 К чему этот блок тогда? если проще сделать все вручную с помощью флпрог?
Критика приветствуется, объективная( но без желчи).
Аватара пользователя
Rovki
Полковник
Сообщения: 5731
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

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

Сообщение Rovki »

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

Отправлено спустя 59 минут 34 секунды:
Так же не понятно - если подключить все датчики сразу ,то как узнать где какой ? Придется бежать за 100м и греть датчик ,что бы узнать на каком индикаторе он будет отображаться :smile427: и так со всеми 10 :shok: ???
Электронщик до мозга костей и не только
rogekam
Рядовой
Сообщения: 82
Зарегистрирован: 24 июн 2020, 21:21
Откуда: RUS31
Имя: Egor
Благодарил (а): 1 раз

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

Сообщение rogekam »

Rovki писал(а): 21 фев 2021, 21:55 Так же не понятно - если подключить все датчики сразу ,то как узнать где какой ? Придется бежать за 100м и греть датчик ,что бы узнать на каком индикаторе он будет отображаться и так со всеми 10 ???
Подключать по очереди. Подключили первый, знаем адрес, второй... и т.д. Перед установкой датчика, определяем адрес, как и всегда.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

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

Сообщение AlexCrane »

Rovki писал(а): 21 фев 2021, 21:55 Придется бежать за 100м и греть датчик
Не хочется бегать, ведите журнал адресов датчиков, к примеру, в гугл таблицах. В случае поломки прибора можно прописать вручную. Ну а при монтаже никто не мешает отсканировать и подписать датчики заранее.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
Rovki
Полковник
Сообщения: 5731
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

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

Сообщение Rovki »

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

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

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

Сообщение oleeg »

Rovki писал(а): 22 фев 2021, 10:06 Для такого сканирования нужно продумать не меняя прошивки (на автомате) -
можно и менять ее (флеш) - как сделано с тем же бутлодером.
Аватара пользователя
Rovki
Полковник
Сообщения: 5731
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

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

Сообщение Rovki »

Два дня сижу, колдую с этим способом сканирования . Пока только удалось определять количество подключенных датчиков . Закрепить за датчиками определенные сетевые переменные не получается в случае добавления , замены датчиков . Добавил датчик ,если у него адрес меньше чем был раньше у первого ,то он становится первым и тд..Пожалуй вернусь к своему варианту последовательного подключения датчиков... :smile390:
Электронщик до мозга костей и не только
Аватара пользователя
Di123
Капитан
Сообщения: 828
Зарегистрирован: 03 ноя 2018, 19:38
Имя: Дмитрий

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

Сообщение Di123 »

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

а то в штатном это всё не удобно хоть автор и добавил наконецто в датчик поиск ошибки но нужно адрес руками вписывать от чего всеравно нужно тащить блок скан оневаре где уже и так есть поиск ошибки но с добавлением генератора
rogekam
Рядовой
Сообщения: 82
Зарегистрирован: 24 июн 2020, 21:21
Откуда: RUS31
Имя: Egor
Благодарил (а): 1 раз

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

Сообщение rogekam »

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

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

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя