两个Arduino之间的串行通信的最大电线长度是多少?


9

我正在建立一个项目,其中两个Arduino将通过三根导线链接:TX用于串行通信的RX和公共GND。在通信受到影响之前,此处的最大电线长度是多少?

我在一侧使用Arduino Mega R3,在另一侧使用Arduino Mini。

我对波特率没有特殊要求,如果可以以任何方式使用,我可以使用最低的波特率。

Answers:


4

您需要指定

  • 您感兴趣的范围的顺序-是米,数十米,公里还是州际公路的顺序?:-)。只要适当妥协,一切皆有可能。

  • 您打算如何连接到电路-直接Arduino引脚,高/低缓冲器,差分驱动器,...

如果您使用5V / 0V“单极”,那么说9600波特,您可以使用合适的驱动器获得许多仪表。如果直接使用Arduino引脚,则随着范围的增加,线电阻和电感将开始变得重要。

只需300波特,您就可以使用双绞线电缆达到数百米的距离。随着范围的增加,诸如来自其他电路的串扰和外部噪声等方面的重要性也在增加。在更长的范围内,将4根信号线和接地线绞在一起在每种情况下都可以帮助BUT,但有可能在感兴趣的范围内2根导线和地线可以正常工作。

如果您准备使用足够的电压和足够慢的信号发送速度,则可以在数千英里范围内发出信号-就像很早的电报电缆一样。在大多数情况下,所需的数千伏电压和每秒几比特的信号传输速度将是不利的。


我想覆盖的距离是从房屋内部到室外大门大约40-50米。我的意图是将相关的Arduino引脚直接连接到从先前对讲机安装中找到的电缆。
hobie 2015年

2
电缆线较长会给Arduino带来一些危险。感应,泄漏,静电荷。(闪电和地面可能仅因电源故障而上升,但...)。将反向钳位二极管连接到所有线上的电源轨是一个好主意。基本驱动器IC是一个非常好的主意。甚至两端的xx74xx14十六进制施密特逆变器IC也将很有用。(其中xx因家庭而异)。适当的线路驱动器甚至更好,但这只是一个开始。如果您的Arduino有价值,请使用缓冲区。
罗素·麦克马洪

感谢大家的评论和建议。为了确定我是否可以通过简单的连接覆盖给定的距离(约40m),我尝试使用两个分别设置为发送器和接收器的Arduino Uno进行尝试。这些板通过TX / RX线(引脚0和1)以每秒9600位的速度直接连接。在接收方侦听传入数据的同时,发送方每秒发送一个测试字符串。我使用的现有的线(约质量没有资料/该电缆的规格无论如何,发送/接收器对似乎没有工作在这个距离和配置任何问题。
霍比

谢谢,您对集成电路或驱动器芯片有什么特别的建议/链接吗?
hobie

@hobie在50米和9600波特的情况下,几乎可以使用任何5V数字驱动器IC甚至只是数字输出IC都可以达到OK的效果(尝试一下)。施密特触发器CMOS反相器通常是74xxx14,CDxxx14,MM .... 14的一个有用起点。寻找施密特触发的逆变器,避免使用最低驱动功率的逆变器。
罗素·麦克马洪
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.