Задать вопрос
@errogaht
PHP developer

Почему по-отдельности 2 устройства работают а вместе нет?

Есть модуль управления насосом Elhart EMD-MINI с RS-485 и Raspberry pi с USB -> RS-485 свистком.
Работают прекрасно - малинка считывает нужные мне параметры или меняет нужные регистры в EMD-MINI.

Есть третье устройство - самодельный датчик уровня воды на основе датчика давления воздуха и arduino с самым простым модулем RS-485 -> RS-232 (MAX485)
Датчик работает прекрасно с малинкой, даже через 40 метров витой пары.

Длинна линии 20 метров, витая пара без экрана.

Проблема - когда я подключаю датчик в линию где успешно работает насос с малинкой - датчик не работает по MODBUS ни как, а насос начинает плохо работать по MODBUS, только 50% пакетов доходит.

Пробовал подключать даже 3й провод - минус питания всех трёх устройств - насос, малинка, датчик. Не помогает.
Единственный вариант когда датчик отвечает на 20% запросов (будучи подключенным на общую линию)- это если его
запитать от аккумулятора, причем если присоединить третий провод - минус питания то работать перестаёт.

Полярность точно правильная, потому что по отдельности они работают прекрасно с малинкой, но когда на линии оба устройства - всё плохо. Во время тестирования датчика я выключаю весь софт опрашивающий насос, так что в линии нет одновременно 2х клиентов.

Наблюдения:
- На клеммах RS-485 насоса всегда около 5В, при прохождении пакетов немного проседает
- На клеммах датчика всегда почти ноль...
- На клеммах датчика и так уже есть резистор 120 ом, он встроен в модуль.

Что за протокол такой ужасный? я думал из коробки подключил и всё будет работать, а тут столько геммороя...
Решение есть, но мне не нравится - провести для каждогго устройства свою линию до малинки и подключить в неё 2 юсб свистка... но это же конкретные костыли! Где хвалёный промышленный супернадёжный RS-485 где могут работать одновременно десятки устройств всего по 2м проводам?
  • Вопрос задан
  • 275 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg Куратор тега Электроника
Любые ответы на любые вопросы
Для выяснения причин нужен осциллограф и навык его использования, без него остается только гадать.

На правах гадания - любой трансивер RS485 имеет у себя логически вход, который включает/выключает передачу.

Вероятно, что в каком-то из устройств, трансивер не выключает передачу и мешает передавать остальным соседям по шине.
Ответ написан
Комментировать
@VT100
Embedded hardware & software.
самодельный датчик уровня воды на основе датчика давления воздуха

Есть ли электрическая связь корпуса датчика давления с водой? (давление подаётся по трубке)
Если есть - то, очевидно, есть и связь всего датчика уровня с "землёй".

Длина линии 20 метров, витая пара без экрана.

Только 3 провода, остальное - от лукавого.

Наблюдения:
......
- На клеммах датчика всегда почти ноль...

Что значит "на клеммах"? "А минус Бэ", "Бэ минус A", "А минус общий провод датчика", etc.

Приложите эскиз систем[ы] питания всего хозяйства с указанием наличия заземлений и третьего провода питающих сетей. Для малинки и дуринки - типы блоков питания.

И, без обид, "PHP developer" и "Что за протокол такой ужасный?" - это сильно разные специальности.

P.S. Если не вдаваться в подробности, то, думаю, гальванически развязанный преобразователь RS-485 на датчике или малинке - поможет.
В EMD-mini, 145%, она уже есть.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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