Проблемы с подчиненными узлами MAX485 при использовании MAX487 для подчиненных узлов RS485?

Я разработал несколько узлов на базе ATMEGA328p с использованием MAX485, это базовая схема:

ш

Единственным отличием от схемы является то, что номинал резисторов смещения АБ (R13-R12) составляет 680 Ом, а резистор R12 применяется вручную на ведущем и последнем узле.

Я изготовил 15 печатных плат, чтобы протестировать их, я соединяю их в гирляндную цепочку с помощью кабеля Belden 7200A , они работают на скорости 9600 бод, каждый узел подключается с помощью кабеля длиной 30 м, адресуется уникальным идентификатором ведомого устройства в прошивке и питается от него. внешний источник питания 12 В постоянного тока (каждая плата использует LM1117S-5.0 для регулирования 12 В до 5 В).

Я сделал несколько тестов... и я очень запутался в том, что происходит... когда я запускаю 10 узлов (плюс мастер), все работает, как и ожидалось: никаких ошибок, никаких проблем.

Когда я подключаю больше узлов, например еще 1 узел, ничего не работает: кажется, что шина перестает обмениваться данными, как ожидалось.

Если узел №12 занимает место узла №1/2/5 (удалив соответствующий узел №1/2/5), начинает работать узел №12.

Похоже, что есть своего рода ограничение на количество узлов, которые я могу подключить к шине RS485... возможно ли это?

Во всяком случае, я начал искать эту проблему, и я столкнулся с этой темой форума , автор, ссылаясь на MAX485, сообщает это предложение:

Вы можете использовать до шести приемопередающих модулей MAX485 (т. е. до пяти ведомых устройств) на шину RS-485.

И рекомендует использовать MAX487, чтобы иметь возможность подключать к одной и той же шине RS485 больше ведомых устройств и заставить их работать без каких-либо проблем.

Итак, на данный момент мои вопросы:

  1. Почему моя шина перестает работать с 12 подчиненными узлами, но без проблем работает с 11 подчиненными узлами?
  2. Почему автор говорит о максимальном количестве пяти подчиненных узлов MAX485?
  3. Является ли MAX487 хорошей заменой MAX485 для подключения большего количества ведомых узлов к одной и той же шине RS485? (обратите внимание, что я хочу подключить максимум 20/25 узлов к одной и той же шине RS485)
На скольких ведомых установлены их R12?
Только конечный узел и мастер, тоже пробовал ставить R12 только на конечный узел.
Будьте абсолютно ясны в этом. Я не знаю, где мастер сидит на кабеле. Итак, сколько подчиненных узлов установлено на R12? Кроме того..... Вы читали, что парень на форуме сказал о резисторах на 470 Ом?
Я могу подтвердить, что единственный узел, на котором установлен R12, — это последний узел в конце шины. Мастер сидит на другом конце автобуса
Хорошо, это ясно.
На это, вероятно, можно было бы ответить графически с помощью осциллограмм переходных процессов шины с одним, десятью и 13 подключенными ведомыми устройствами.
Вы показываете 2-контактный разъем для вашей шины RS-485 — это единственные провода, соединяющие все ваши узлы? Если это так, то это проблема - узлы RS-485 должны иметь общую землю . RS-485 не является токовой петлей - напряжение на обеих линиях положительно по отношению к земле, и вам нужен этот общий провод заземления, чтобы гарантировать, что вы не получите синфазное напряжение, которое нарушает спецификации приемопередатчики.

Ответы (2)

схематический

смоделируйте эту схему - схема, созданная с помощью CircuitLab

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

РЕДАКТИРОВАТЬ:

схематический

смоделируйте эту схему

р Т "=" 2 р Б Z 0 2 р Б Z 0 "=" 2 680 120 2 680 120 132 Ом

Основное различие между MAX485 и MAX487 заключается в скорости нарастания драйвера. Не должно быть никакой разницы в количестве узлов, которые вы можете запустить с любым из них. Я сделал сотни установок с MAX485/487 примерно с 16 узлами на расстоянии более 1 км. Вы должны убедиться, что 0V подключен между всеми узлами.

Также ваши резисторы смещения 680 Ом слишком малы. С двумя узлами сопротивление становится 340 Ом, с 4 узлами 170 Ом и так далее. Я использовал 20k в своих проектах. MAX485/487 на самом деле не нуждаются в резисторах смещения шины, и мне также не понадобилась оконечная нагрузка.

Вы думаете, что резисторы 680 Ом слишком малы? что они могут вызвать?
У вас есть R11,13 на каждом узле? Если вы это сделаете, то я попытался проиллюстрировать, что параллельные резисторы будут слишком низкими. Подключен ли 0V к каждому узлу?
Да, R11 и R13 есть на каждом узле, и да, 0v подключен к каждому узлу.
для десяти узлов параллельно мастеру приходится 68 Ом. Это глупо. Если вы собираетесь использовать резисторы смещения, имейте только один набор на шину.
Так вы рекомендуете их удалить? или заменить их на 20к, как вы сообщили? пожалуйста, объясни это
Извините за это, возможно, я неправильно истолковал спецификации RS485! резисторы смещения должны быть только на первом узле/мастере??
у вас есть три варианта: 1. удалить их. 2. Используйте 20k (или около того) на каждом узле. 3. Только 680 Ом на одном узле. Выберите один вариант.
Пожалуйста, объясните, в чем преимущество наличия резисторов смещения 20k вместо ничего и как они взаимодействуют в сценарии с узлами 20/25. каково минимальное/максимальное сопротивление, которое может управлять мастером?
@VirtApp смещающие резисторы только на одном узле на шине (обычно на ведущем). Согласующие резисторы только на каждом конце шины и ни одного в середине (не обязательно должен быть мастер, особенно если мастер находится посередине).