RS-485: различия между версиями

Материал из Wiren Board
Строка 16: Строка 16:
|[[Файл:Подлючение RS-485 к WB.jpeg|thumb|300px|Подключение к шин RS-485]]
|[[Файл:Подлючение RS-485 к WB.jpeg|thumb|300px|Подключение к шин RS-485]]
|}
|}
Так как соединение осуществляется общей шиной, следует обратить внимание на качественное соединение всех узлов линии:
*при обрыве линии устройства за обрывом не будут работать
*при коротком замыкании не будут работать все устройства.


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


Для удобства подключения шины на контроллере WB рядом с клеммниками А и В  
Провод A на всех устрйоствах подключается к клеммнику с маркировкой А, провод B - всегда к B. На Wiren Board рядом с клеммниками А и В  
расположены клеммники GND и Vout. Подключаем А к А, В к В.  
расположены клеммники GND и Vout - можно сразу подключить шины питания (сначала проверьте требования ваших устройств!).


Небольшая хитрость: т.к. внутри контроллера стоит растяжка линий, то при отсутствии передачи напряжение на линии A (~2,6V) больше чем на B(~2V). Подключая периферийные устройства вы легко можете определить линии шины вольтметром.
Лайфхак: так как внутри Wiren Board стоит растяжка линий, после подключения его к шине напряжение на линии A будет больше чем на B примерно на 0.5 В. Поэтому подключая периферийные устройства вы легко можете определить линии шины вольтметром.


=== Преимущества RS-485 ===
=== Преимущества RS-485 ===

Версия 22:16, 28 апреля 2015

RS-485 - стандарт коммуникации по двухпроводной шине. По порту RS-485 к Wiren Board можно подключать периферийные устройства.

Краткое описание стандарта

RS-485 - стандарт физического уровня, в котором биты передаются разностью напряжений - смотрите описание в Википедии. Поверх него должен работать логический уровень - стандарт сообщений, которыми обмениваются устройства. Wiren Board из коробки поддерживает стандарт Modbus RTU, но также может работать и с другими - подробнее ниже.

Как подключить устройства

Прокладка шины

Все устройства RS-485 устанавливаются на одну шину. Хотя шина работает по двум проводам, удобно прокладывать четырёхжильным кабелем - дифпара для данных (сигналы А и В) и ещё пара проводов (GND и +12V) для питания периферийных устройств на шине. Можно использовать обычную витую пару CAT5 для Ethernet - тогда одна пара используется для данных, ещё две — для питания (так как по питанию идёт значительный ток, лучше и для 12В, и для земли использовать по два скрученных провода), одна остаётся свободной.

В конце шины нужно установить терминальный резистор (примерно 150 Ом, подробнее в Википедии).

Подключение устройств

Наконечники для шины
Подключение к шин RS-485

Так как соединение осуществляется общей шиной, следует обратить внимание на качественное соединение всех узлов линии:

  • при обрыве линии устройства за обрывом не будут работать
  • при коротком замыкании не будут работать все устройства.

Рекомендуем использовать штыревые наконечники под обжимку. Это позволяет легко подключать-отключать устройства без потери работоспособности остальных устройств на шине.

Провод A на всех устрйоствах подключается к клеммнику с маркировкой А, провод B - всегда к B. На Wiren Board рядом с клеммниками А и В расположены клеммники GND и Vout - можно сразу подключить шины питания (сначала проверьте требования ваших устройств!).

Лайфхак: так как внутри Wiren Board стоит растяжка линий, после подключения его к шине напряжение на линии A будет больше чем на B примерно на 0.5 В. Поэтому подключая периферийные устройства вы легко можете определить линии шины вольтметром.

Преимущества RS-485

  1. Дифференциальная линия дает хорошую помехозащищенность. Длина линии до 1200 метров.
  2. Общая шина - один кабель на все устройства.
  3. При прокладке шины нужно соблюдать определённые правила, но для передачи в одной квартире подойдёт любой кабель и даже возможны ответвления.


Особенности работы Modbus RTU

Обмен информацией по шине осуществляется по принципу запрос-ответ.

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

Как правило, датчики опрашиваются по кругу.

Время цикла опроса зависит от скорости шины, от количества датчиков, от скорости их ответа и т. д. Это время может быть достаточно большим, до десятков секунд. Имейте это ввиду, если вы подключаете датчики требующие быстрого реагирования. Способы решения проблемы - разбиение на несколько линий и ....

Для подключения устройств требуется предварительная настройка (прописывание адреса, указание типа и т.д.). Как правило, она несложная и прописана в документации к ним.

Логические уровни кроме Modbus RTU

Работа с портом RS-485 в Wiren Board

Ознакомьтесь с инструкцией Работа с последовательным портом из Linux.

Последовательные порты RS-485 в Linux на Wiren Board имеют названия /dev/ttyNSC0 и /dev/ttyNSC1.

Детали реализации портов в разных версиях Wiren Board

Wiren Board Smart Home rev. 3.5

Перемычки терминаторов в Wiren Board Smart Home rev. 3.5

Контроллер имеет два полудуплексных порта. Трансивер подключен к чипу SC16IS752.

Порты определяются в системе как:

  • /dev/ttyNSC0 - зелёная пара клеммников
  • /dev/ttyNSC1 - синяя пара клеммников

Для уменьшения эффектов отражения, линии RS-485 должны заканчиваться "терминаторами" - резисторами, равными волновому сопротивлению линии. На плате установлены резисторы по 150 Ом между линиями A и В. Для их отключения распаяйте соответствующие SMD-перемычки (по умолчанию запаяны), см. фото.

Wiren Board rev. 2.8

Wiren Board 2.8 может поставляться с трансивером RS-485. Поддерживается полудуплексный режим работы, линии A и B выведены на клеммники.

Трансивер подключен к чипу SC16IS752. Соответсвующий последовательный порт определяется системой как /dev/ttyNSC0. См. SC16IS752#UART0