Стабильность сети RS485

Тема в разделе "Проводная и беспроводная связь", создана пользователем ostrov, 26 май 2016.

  1. ostrov

    ostrov Гуру

    Нахожусь в затруднении. После 5 точек в сети начались проблемы с пропуском данных некоторыми модулями. Эксперименты показали, что в шину передают все, а вот принимают не все. То есть сигнал не выходит в UART-виде. Сигнал мощный, шумов нет, сегменты из витой пары короткие, по полметра примерно.

    Использую вот такие модули:
    [​IMG]
    У них есть минимальная обвязка, в том числе притяжка А и В к + и -, терминаторы и прочее. Для эксперимента выпаял терминаторы со всех модулей кроме концевых, не помогло.
    Схема модуля:
    [​IMG]

    В даташите MAX485 вообще никакой обвязки нет кроме терминаторов:
    [​IMG]

    Просьбе к тем, кто делал сеть на несколько точек: поделитесь опытом, нарисуйте схему что вы использовали и как разводили. Чувствую, что решение где то рядом, но не могу его поймать.

    ПС: ссылки на сторонние статьи прошу не давать, я их начитался достаточно. Вариантов такая масса, что голова пухнет. Интересует именно личный удачный опыт.
     
    Последнее редактирование: 26 май 2016
  2. ostrov

    ostrov Гуру

    У всех всегда работало с первого раза?
     
  3. joman

    joman Гик

    На рс485 не собирал, а 5 девайсов на uart длина до 50 метров работают без проблем.
     
  4. ostrov

    ostrov Гуру

    Собрал на макетке прототип этих моих пяти модулей, соединил той же витой парой, все работает отлично, прием на всех приемниках отличный:
    [​IMG]
    Осциллограф даже на дальнем показывает идеальную картинку без намека на искажения.

    Этим озадачен еще больше, что за проклятие лежит на рабочей сборке?

    Это как они соединены, интересно?
     
    Последнее редактирование: 27 май 2016
  5. joman

    joman Гик

    Один - сервер. Остальные подключены к нему в паралель и развязаны диодами.
    Примерная схема есть тут:
    http://bigbarrel.ru/arduino_serial_uart_net/
     
  6. Megakoteyka

    Megakoteyka Оракул Модератор

    А что показывает осциллограф на рабочей сборке? Вы именно осциллографом смотрите или логическим анализатором?
     
  7. ostrov

    ostrov Гуру

    И тем и другим. Анализатором со стороны МК, осциллографом со стороны шины. Есть подозрения, что max485 паленая партия попалась, сейчас меняем их на другие. А были странные вещи, например второй видит первого, третий видит второго, третий не видит первого, но видит второго, а если второго отключить от питания, то видит он первого. В общем чушь какая то, видеть то должны все всех, тем более что условия более чем мягкие и шина короткая и модулей мало. Проблема явно аппаратная, разбираюсь.
     
  8. ostrov

    ostrov Гуру

    Да ну нафиг, это изврат какой то. Неудобные костыли. Экономия на max485?
     
  9. joman

    joman Гик

    А собственно где костыли? В случае, если длина проводов устраивает, зачем покупать что то лишнее?
     
  10. ostrov

    ostrov Гуру

    Это "лишнее" стоит 40 рублей. И получается полноценная сеть на двух проводках, понятная, простая и надежная (если чипы не паленые как у меня). Причем с обменом данными "все со всеми" в любом порядке, который определяется только программой.
     
  11. joman

    joman Гик

    Большинство задач не подразумевает обмена всех со всеми, а как раз, подразумевают обмен с сервером, который собирает информацию, обрабатывает её и раздаёт команды.
    Ну, и если так рассуждать, то можно и ethernet шилды покупать, ну а чего, всего 500-1000 рублей.

    Моё мнение таково:
    Все зависит от задач. Если хватает возможностей UART, то зачем изобретать/покупать что то? Соединяй и получаешь систему.
    Если UART не хватает, то, несомненно, нужно что то думать. Либо использовать Вашу схему, либо придумывать что то другое, т.к. и Вашей схемы может не хватить в некоторых случаях.
     
  12. ostrov

    ostrov Гуру

    Вас понесло не туда куда мне надо. Я задал вопрос по сети RS485, вы меня начали агитировать за прямое подключение UART. Даже если это мне и понравилось бы, то все равно не подошло, т.к. модулей будет больше 20, длина шины метров 150 и довольно сложный обмен данным между модулями. Так что я рад за вашу сеть, но это тема для отдельного поста.

    Кстати, все у меня заработало. Как и подозревал, дело было в паленой партии Max485. Про само подключение и простую но важную доработку стандартных модулей могу написать, если кому интересно.
     
  13. Igor68

    Igor68 Гуру

    Как вы смотрите в сторону Modbus RTU? Как раз по RS485.
    Протокол стандартный для промышленных устройств, не нагружает связь, с контролем передачи (ответ от ведомого при получении команды) - применяется для взаимодействия c различными устройствами:
    - частотные преобразователи;
    - индикаторы и панели оператора;
    - устройства дискретного и аналогового ввода-вывода;
    - различные приборы и др.
    в сети параллелно могут быть подключено более сотни устройств. лёгок в применении(освоении). с открытой документацией.
     
  14. Onkel

    Onkel Гуру

    uart имеет нулевую помехоустойчивость, поэтому если речь о передаче далее чем внутриплатная - о uart следует не вспоминать и делать 485, 422 или CAN. Помехоустойчивость их выше на 4 порядка, чем у голого uart.
     
  15. casius

    casius Нуб

    Попробуйте сделать так называемую "дренажную" линию (можно узнать в Интернете про этот способ соединения). Мне помогло. Расстояние 40-50 м.
     
  16. Tomasina

    Tomasina Сушитель лампочек Модератор

    оба-на... Откуда два проводка? Сеть RS-485 - это ТРИ провода: A, B, GND.
    [​IMG]

    Топология - линейная, терминаторы - только на крайних концах.
     
    Последнее редактирование: 4 июл 2016
  17. Onkel

    Onkel Гуру

    Скрипач земляной провод не нужен обязателен
     
  18. Tomasina

    Tomasina Сушитель лампочек Модератор

    а относительно чего тогда сличать уровни двух линий?
     
  19. Onkel

    Onkel Гуру

    относительно друг друга. Исключительно относительно друг друга.
     
  20. b121708

    b121708 Нуб

    Мне интересно.Напишите пожалуйста.