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


9

Я строю проект, в котором два Arduino будут связаны тремя проводами: TX и RX для последовательной связи и общий GND. Какова будет максимальная длина проводов здесь до того, как связь будет затронута?

Я использую Arduino Mega R3 с одной стороны и Arduino Mini с другой.

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

Ответы:


4

Вам необходимо указать

  • Порядок дальности, который вас интересует - это порядка метров, десятков метров, километров или межгосударственных? :-). ВСЕ возможно с подходящим компромиссом.

  • Как вы собираетесь подключаться к цепи - прямые контакты Arduino, высокий / низкий буфер, дифференциальные драйверы, ...

Если вы используете однополярный 5V / 0V, то, скажем, 9600 бод, вы можете получить много метров с подходящими драйверами. Если вы используете контакт Arduino напрямую, сопротивление провода и индуктивность начнут иметь значение при увеличении дальности.

На скорости 300 бод вы можете достичь сотен метров с помощью витой пары. По мере увеличения дальности важность таких аспектов, как перекрестные помехи от другой цепи и внешний шум, возрастает. На более длинных диапазонах 4 провода с сигналом + заземление, скрученные вместе в каждом случае, помогают, НО вероятно, что в интересующих диапазонах 2 провода плюс земля будут работать нормально.

Если вы готовы использовать достаточное напряжение и достаточно медленную сигнализацию, вы можете передать сигнал за тысячи миль - как это было с очень ранними телеграфными кабелями. Необходимые тысячи вольт и скорость передачи сигналов, возможно, несколько бит в секунду, будут препятствовать в большинстве случаев.


Расстояние, которое я хотел бы преодолеть, составляет приблизительно 40-50 метров от нашего дома до ворот снаружи. Мое намерение состояло в том, чтобы соединить соответствующие контакты Arduino напрямую с помощью кабеля, который я нашел в предыдущей установке внутренней связи.
Хоби

2
Некоторая опасность для Arduino с длинными кабельными трассами. Индукция, утечка, электростатический заряд. (Молния и земля поднимаются только из-за сбоя питания, но ...). Обратный зажим диодов к силовым рельсам на всех линиях хорошая идея. Базовый драйвер IC ОЧЕНЬ хорошая идея. Даже шестнадцатеричная шестнадцатеричная ИС инвертора Шмитта на каждом конце была бы полезна. (где хх зависит от семьи). Правильная линия водителей еще лучше, но это только начало. Если ваш Arduino является ценным, используйте буфер.
Рассел МакМахон

Спасибо всем за комментарии и предложения. Чтобы выяснить, могу ли я преодолеть данное расстояние (около 40 м) с помощью простого соединения, я попробовал два Arduino Uno, соответственно настроенных как отправитель и получатель. Платы подключаются напрямую через линии TX / RX (контакты 0 и 1) со скоростью 9600 бит в секунду. Отправитель отправляет тестовую строку каждую секунду, пока получатель ожидает входящие данные. Я использую существующую линию (нет информации о качестве / характеристиках этого кабеля. В любом случае, пара отправитель / получатель, кажется, без проблем работает на этом расстоянии и конфигурации.
Хоби

Спасибо, есть ли у вас какие-либо конкретные предложения / ссылки на микросхему или микросхему драйвера?
Хобби

@hobie На скорости 50 м и 9600 бод вы, вероятно, сможете добиться хороших результатов (попробуйте и посмотрите) практически с любой ИС 5 В на цифровом драйвере и даже только с ИС с цифровым выходом. Полезной отправной точкой являются КМОП-преобразователи триггера Шмитта, обычно 74xxx14, CDxxx14, MM ..... 14. Ищите инверторы, запускаемые Шмиттом, избегайте приводов с наименьшей мощностью.
Рассел МакМахон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.