Я разработал несколько узлов на базе 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 больше ведомых устройств и заставить их работать без каких-либо проблем.
Итак, на данный момент мои вопросы:
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Это было бы правильнее. Вы не можете смещать все узлы с 680 Ом, только на обоих концах, где также подключен согласующий резистор. Если вы хотите согласование с импедансом 120 Ом, вы должны рассчитать эквивалент всех резисторов, включая резисторы смещения.
РЕДАКТИРОВАТЬ:
Основное различие между MAX485 и MAX487 заключается в скорости нарастания драйвера. Не должно быть никакой разницы в количестве узлов, которые вы можете запустить с любым из них. Я сделал сотни установок с MAX485/487 примерно с 16 узлами на расстоянии более 1 км. Вы должны убедиться, что 0V подключен между всеми узлами.
Также ваши резисторы смещения 680 Ом слишком малы. С двумя узлами сопротивление становится 340 Ом, с 4 узлами 170 Ом и так далее. Я использовал 20k в своих проектах. MAX485/487 на самом деле не нуждаются в резисторах смещения шины, и мне также не понадобилась оконечная нагрузка.
Энди ака
VirtApp
Энди ака
VirtApp
Энди ака
РДЦК
браханы