Страница 1 из 1

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

Добавлено: 10.02.2021{, 20:23}
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
(2.03 МБ) 259 скачиваний

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

Добавлено: 10.02.2021{, 21:17}
Rovki
А чем штатный сканер не устраивает ?

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

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

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

Добавлено: 21.02.2021{, 16:51}
Rovki
Перебором что ли адрес определяете?

Отправлено спустя 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

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

Добавлено: 21.02.2021{, 18:07}
rogekam
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 и ниже.

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

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

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

Добавлено: 21.02.2021{, 18:26}
Rovki
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 в счетчик .При любом сбое счетчика у вас будут меняться местами показания (адрес и значение) датчика в индикаторах в веб интерфейсе (их место на экране).

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

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

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

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

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

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

Добавлено: 21.02.2021{, 19:43}
rogekam
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}
К чему этот блок тогда? если проще сделать все вручную с помощью флпрог?
Критика приветствуется, объективная( но без желчи).

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

Добавлено: 21.02.2021{, 20:56}
Rovki
Интересный блок ,не понятен алгоритм сканирования . Буду пробовать :smile427:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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