Почему RS-485 перестаёт работать при подключении нескольких устройств?
Обновлено Редакция GAW
На столе две платы с RS-485 работают, а на объекте с пятью-шестью приборами связь пропадает. Причина почти всегда в том, что каждое устройство нагружает шину чуть больше, чем нужно, и вместе они выходят за то, на что рассчитан передатчик.
Лишние терминаторы
Стандарт предполагает два терминатора по 120 Ом — на концах кабеля (TI SLLA272, разд. 6). Если терминатор встроен в приборы и включён в каждом, резисторы оказываются параллельно. Наш расчёт нагрузки на передатчик:
| Терминаторов на линии | Нагрузка |
|---|---|
| 2 (норма) | 60 Ом |
| 3 | 40 Ом |
| 4 | 30 Ом |
| 5 | 24 Ом |
| 8 | 15 Ом |
Передатчик по стандарту гарантирует не меньше 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 устройств. Нагрузку своего трансивера берите из его даташита.
Источники
- Texas Instruments. The RS-485 Design Guide (SLLA272D, rev. May 2021) — разд. 4: передатчик по стандарту даёт не меньше 1,5 В дифференциального напряжения на нагрузке 54 Ом, приёмник различает 200 мВ; разд. 6: по одному терминатору 120 Ом на каждом конце кабеля; разд. 8: единичная нагрузка — около 12 кОм, передатчик обязан работать на 32 единичные нагрузки, смещение (failsafe) добавляет до 20 единичных нагрузок
- Texas Instruments. RS-485 Unit Load and Maximum Number of Bus Connections (SLLA166, 2004) — единичная нагрузка — 1 мА при 12 В; передатчик поддерживает 32 единичные нагрузки; резисторы смещения около 1 кОм потребляют 12 единичных нагрузок (12 мА при 12 В) из 32, оставляя 20 на узлы
Нашли ошибку?
Смотрите также
- RS-485Уровни, длина линии, терминаторы, смещение, MAX485, Modbus RTU
- Терминатор линииСогласующий резистор 120 Ом на концах шин RS-485 и CAN
- Единичная нагрузка RS-485UL: сколько трансиверов выдержит шина RS-485
- Смещение шины (failsafe)Резисторы смещения RS-485 для уверенной единицы в простое
- Дифференциальное выходное напряжениеРазмах сигнала передатчика на дифференциальной паре