Задать вопрос
@gmg

Arduino как реализовать прием данных, чтобы они не смешивались по RS485?

Добрый день. Подключаю 5 ардуин по RS485, 1 мастер, 4 слейва. Нужно реализовать следующию вещь. По однократному запросу мастера, чтобы слейвы выслали свои статусы (в сети). Сейчас происходит смешивание данных. В дальнейшем планирую сделать около 30 слейвов на одного мастера.

Что посоветуете, может rs485 вообще не подходит для таких вещей?
  • Вопрос задан
  • 641 просмотр
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 4
gbg
@gbg Куратор тега Arduino
Любые ответы на любые вопросы
С 08 февраля ничего не изменилось - по прежнему рулит Modbus

"одновременно" у вас не получится, только поочередно.
Ответ написан
Комментировать
@AlexSku
не буду отвечать из-за модератора
Одновременно можно через другие сети, напр., CAN.
Ответ написан
@Vasilii_B2
Разрабатываю ПО и электронику
Есть такая вещь как адресация! В этой статье https://geektimes.ru/post/282176/#first_unread частично описывается Ваш случай
Ответ написан
Комментировать
nava2002
@nava2002
Инженер
Я кажется разобрался.
Modbus хорошее решение. Вот это мне здорово помогло там простой листинг.
https://habr.com/ru/post/249043/
Очень понадобится USB-RS485 для связи с ПК.
Вот библиотека на которой собственно у меня все получилось. В архиве отличный примеры все просто и понятно.
https://github.com/smarmengol/Modbus-Master-Slave-...

Идея такая: Есть массив как правило 16 ячеек (но я так понял его можно сделать значительно больше). В каждой можно положить число 2 байта длинной.
Адресация такая: Мастер ВСЕГДА номер "0". Все остальные - Слейвы с адресами от 1 до 247. (тоесть слейвов можно сделать 247 - максимум) . Адреса 248-255 - резерв системы.
Писать в ячейки массива, может как Слейв так и Мастер тут надо следить чтоб у каждого была СВОЯ ячейка.
Инициатором опроса ВСЕГДА выступает - Мастер. Каждый Слейв кладет в нужную ячейку свои данные и берет из другой ячейки необходимые ему данные. Мастер по запросу забирает у слейва его массив и актуализирует свой (центральный массив с учетом новых данных). Так по кругу мастер опрашивает всех участников сети. Работает все достаточно медленно (у меня).
И будет вам счастье.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы