Перейти к содержанию

Почему RS-485 перестаёт работать при подключении нескольких устройств?

Обновлено Редакция GAW

На столе две платы с RS-485 работают, а на объекте с пятью-шестью приборами связь пропадает. Причина почти всегда в том, что каждое устройство нагружает шину чуть больше, чем нужно, и вместе они выходят за то, на что рассчитан передатчик.

Лишние терминаторы

Стандарт предполагает два терминатора по 120 Ом — на концах кабеля (TI SLLA272, разд. 6). Если терминатор встроен в приборы и включён в каждом, резисторы оказываются параллельно. Наш расчёт нагрузки на передатчик:

R=120NR = \frac{120}{N}
Терминаторов на линииНагрузка
2 (норма)60 Ом
340 Ом
430 Ом
524 Ом
815 Ом

Передатчик по стандарту гарантирует не меньше 1,5 В дифференциального напряжения на нагрузке 54 Ом (разд. 4). Наш вывод: при 24 Ом уровень меньше и стандартом не гарантирован, а с потерями в кабеле на дальнем приёмнике он может опуститься ниже порога 200 мВ.

Смещение в каждом узле

Резисторы смещения (failsafe) держат линию в известном состоянии, когда никто не передаёт. Их тоже ставят один раз на линию. Сколько они отбирают из 32 единичных нагрузок, которые выдерживает передатчик, TI оценивает в двух документах по-разному: в SLLA166 смещение резисторами около 1 кОм — 12 единичных нагрузок, в SLLA272 для расчёта предела берётся худший случай — до 20. Это две оценки для разных номиналов, а не противоречие (наш вывод). Если такие резисторы есть в нескольких приборах, бюджет кончается раньше, чем подключены все узлы.

Не электрика

  • Одинаковые адреса. Два прибора с одним адресом Modbus отвечают одновременно, и ответ искажается.
  • Перепутаны A и B у одного прибора — именно он не отвечает, хотя остальные работают.

Как правильно подключить линию, где ставить терминаторы и смещение — в статье «RS-485».

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

Как проверить, сколько терминаторов на линии?

Отключите питание всех устройств и измерьте мультиметром сопротивление между A и B. Два терминатора по 120 Ом дают 60 Ом, один — 120 Ом, а 40 Ом и меньше означают, что лишние включены где-то в середине линии (наш расчёт). Резисторы смещения при выключенном питании тоже немного снижают показание.

Какие устройства должны остаться с терминатором?

Только два — на физических концах кабеля, то есть первое и последнее в цепочке. У остальных встроенный терминатор отключают перемычкой или переключателем; как это сделано у вашего прибора, указано в его документации.

Сколько устройств выдержит линия?

Передатчик рассчитан на 32 единичные нагрузки: это 32 трансивера по 1 UL или до 256 по 1/8 UL. Сколько забирает смещение, зависит от его резисторов: в SLLA166 TI оценивает смещение резисторами около 1 кОм в 12 единичных нагрузок, а в SLLA272 закладывает худший случай — до 20, и тогда с трансиверами на 1/8 UL насчитывает до 96 устройств. Нагрузку своего трансивера берите из его даташита.

Источники

  1. Texas Instruments. The RS-485 Design Guide (SLLA272D, rev. May 2021) — разд. 4: передатчик по стандарту даёт не меньше 1,5 В дифференциального напряжения на нагрузке 54 Ом, приёмник различает 200 мВ; разд. 6: по одному терминатору 120 Ом на каждом конце кабеля; разд. 8: единичная нагрузка — около 12 кОм, передатчик обязан работать на 32 единичные нагрузки, смещение (failsafe) добавляет до 20 единичных нагрузок
  2. Texas Instruments. RS-485 Unit Load and Maximum Number of Bus Connections (SLLA166, 2004) — единичная нагрузка — 1 мА при 12 В; передатчик поддерживает 32 единичные нагрузки; резисторы смещения около 1 кОм потребляют 12 единичных нагрузок (12 мА при 12 В) из 32, оставляя 20 на узлы

Нашли ошибку?