Функционал RS485

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем yden, 8 май 2016.

  1. yden

    yden Гик

    Здравствуйте.
    Подскажите пожалуйста, какие данные можно передавать через RS485.
    В проекте будет несколько ардуинок (nano + uno) - периферия, они будут управлять различными устройствами (будут работать автономно), и скорее всего mega, которая будет собирать с них информацию + посылать некоторую контрольную информацию + крутиться веб сервер (больше для простоты отладки).
    Справится ли интерфейс RS485 со следующими задачами:
    1. mega -> периферия: синхронизация времени (раз в сутки), наличие напряжения от сигналки (датчик тока)
    2. периферия ->mega: температура, влажность, СО2, состояние реле

    Спасибо
     
  2. Onkel

    Onkel Гуру

    Cправится. С целыми цехами справляется.
     
  3. Tomasina

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

    а как slave может "затребовать обслуживание" вне графика? Или временно стать master?
     
  4. Onkel

    Onkel Гуру

    никак. Дело мастера - опрашивать, дело слейва - отвечать, а дело разработчика - сделать все так, чтобы все устройство удовлетворяло всем требованиям.
     
  5. Tomasina

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

    ну если телеметрия нужна раз в 10 минут, а знать срабатывание N датчиков - максимум за 0,5 сек - неужто забивать линию постоянной долбежкой "датчик N1...N12 ответь, как состояние?"
     
  6. Onkel

    Onkel Гуру

    да, обычно так и делают. А что в этом плохого?
     
  7. rico

    rico Гик

    И именно это позволяет немедленно (!) обнаружить утрату связи с одним или несколькими датчиками.
     
  8. ostrov

    ostrov Гуру

    Заметил интересную особенность. Вот такие модули:
    [​IMG]
    Имеют встроенный резистор 220Ом между А и В. Не знаю хороши ли это, ведь по правилам такие резисторы следует устанавливать только на концах кабеля. То есть при схеме 1-1 все будет правильно, но если модулей в сети много, то я даже не знаю что будет происходить с сигналом. Наверное, ничего хорошего. Почему производитель не установил джампер? Может быть есть смысл выпаивать резюк из промежуточных модулей?
     
    Последнее редактирование: 23 май 2016
  9. Onkel

    Onkel Гуру

    пропадающий первый байт пропал? Нет, не отсюда. мс - огромное время, 485 чипы переключаются за наносекунды.
     
  10. ostrov

    ostrov Гуру

    С этим понятно. Не понятно что делать с притяжками в каждом модуле если сеть состоит более чем из двух точек.
     
  11. Onkel

    Onkel Гуру

    есть подтяжка - достаточно одной подтяжки на всю сетку, есть терминаторы- надо два на всю сетку, в концах, ну и если сетка длинная и подвержена - сапрессоры.
     
  12. ostrov

    ostrov Гуру

    Про то и речь. В этих же модулях и подтяжка и терминаторы в КАЖДОМ. То есть они созданы будь то на соединение точка-точка без возможности выбора. Хочу обратить на это внимание, чтобы быть готовым к работе напильником паяльником.
     
  13. yden

    yden Гик

    Просветите, плиз.
    Планирую 3 nano и 1 uno. Uno должна собирать данные с нано. Для связи между ними планирую использовать RS485. Сколько нужно таких модулей ( как в посте Ostrov)?
    1. по одному на nano и один на uno
    2. rs485 работают парами. Т.е по одному на nano и 3 на uno?

    Спасибо
     
  14. ostrov

    ostrov Гуру

    На каждую Ардуину по одному 485. Соединяются все одной цепочкой. Терминаторы оставить только на первом и последнем. Вам нужно только продумать протокол обмена данными, чтобы Уно опрашивала каждую Нано по очереди.
     
  15. yden

    yden Гик

    Благодарю.
    А что за девайс - терминатор?
     
  16. ostrov

    ostrov Гуру

    Это не девайс, а резисторы между А и Б. Они ставятся только на первом и последнем модуле в сети, на остальных надо отпаивать.