Тема: CANNY5 nano: Работа с несколькими датчиками DS18B20 на одной шине

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

Пример иллюстрирует решение задачи получения данных от двух цифровых датчиков температуры DS18B20, подключенных к одной шине 1-Wire.
В общем случае решение состоит из 2х этапов:
1. Определение уникального 64-битного ROM-кода (серийного номера) датчиков;
2. Адресный опрос датчиков: последовательное обращение к каждому конкретному датчику по известному ROM-коду для получения от него необходимых данных.

Для реализации этапа 1 необходимо выполнить считывание 64-битного ROM-кода каждого датчика, воспользовавшись диаграммой c5nano_dallas_address_reader.cfd из состава проекта примера. Считанные коды контроллер передает в формате ASCII в терминал персонального компьютера по UART.

Схема подключения:
http://forum.canny.ru/files/c5nano_dallas_address_reader.png

Функциональная диаграмма c5nano_dallas_address_reader.cfd:
http://forum.canny.ru/files/c5nano_address_reader_cfd.png

Окно терминала ПК в процессе работы диаграммы:
http://forum.canny.ru/files/c5nano_reader_terminal.png


Для реализации этапа 2 необходимо воспользоваться диаграммой c5nano_ds18b20x2.cfd из состава проекта примера. Данные температуры, полученные от датчиков, контроллер передает в формате ASCII в терминал персонального компьютера по UART.

Схема подключения:
http://forum.canny.ru/files/c5nano_ds18b20x2.png

Функциональная диаграмма c5nano_ds18b20x2.cfd:
http://forum.canny.ru/files/c5nano_ds18b20x2_cfd.png

Окно терминала ПК в процессе работы диаграммы:
http://forum.canny.ru/files/c5nano_ds18b20x2_terminal.png

Функциональная диаграмма c5nano_ds18b20x2.cfd может быть легко модернизирована для работы с большим количеством датчиков.

Архив с исходными файлами проекта и краткими описаниями диаграмм:
http://forum.canny.ru/files/c5nano_1wire.zip

UPD 31.10.2016: Добавлены диаграммы, актуализированные для CannyLab версии 1.24.

Вложений в сообщении

Иконка вложения c5nano_dallas_address_reader_v124.cfd 8.86 кб, скачивался 50 раз, последний раз 2016-10-31 

Иконка вложения c5nano_ds18b20x2_v124.cfd 3.37 кб, скачивался 58 раз, последний раз 2016-10-31 

2

Re: CANNY5 nano: Работа с несколькими датчиками DS18B20 на одной шине

А как с этой диаграммы получить разные каналы от разных датчиков для исполнительных устройств пробую Комм 1:2 во вход (даллас Т цел) а в индекс № датчика о с каждого выхода жду свои данные каждого датчика при привышении определенной температуры должен загореться светодиод при минимальной температуре он не светится а как дойдет температура он моргает а нужно что бы горел постоянно пока не снизится температура задержка не помогает

Re: CANNY5 nano: Работа с несколькими датчиками DS18B20 на одной шине

gavralex пишет:

А как с этой диаграммы получить разные каналы от разных датчиков для исполнительных устройств...

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

Сохранить данные с каждого датчика в отдельности можно, например, с помощью D-триггеров (смотри вложение).

Вложений в сообщении

c5nano_ds18b20x2_store.png, 18.73 кб, 702 x 148
c5nano_ds18b20x2_store.png 18.73 кб, скачивался 69 раз, последний раз 2016-07-06 

4

Re: CANNY5 nano: Работа с несколькими датчиками DS18B20 на одной шине

Отлично спасибо все получилось.