高速远距离485通信电路设计,115200波特率,距离1500米。附485通信问题解决方案

    实测该电路可以达到这个要求,当降低波特率时,通讯距离还可继续延长,达到1800-2000米,无需接中继。

高速远距离485通信电路设计,115200波特率,距离1500米。附485通信问题解决方案_第1张图片图上是标准的485通信电路,但是该电路的通讯距离往往达不到485的理论值。所以需要采用非常规阻值,解决信号反射的问题。

重点来了,它是能实际解决你的通信速率和距离问题的,一定要认真看,使用屏蔽双绞线可以使用以下阻值,如果是其他线材,则需要调整匹配电阻的阻值。

第一:图中RB2下拉电阻的阻值更换为82欧姆,RB4上拉电阻的阻值更换为150欧姆,主机的RB3匹配电阻更换为60欧姆,使用SP485芯片,RC1和RC2电阻换成0欧姆的电阻或者1欧姆的电阻,如果要求保护性比较强就换成保险丝(使用保险丝有概率存在风险)。

第二:485通信总线上从机不允许有上拉电阻和下拉电阻,一条总线上只能主机有上下拉电阻。

第三:最后一个从机要加一个33欧姆的匹配电阻。中继器的接收端是属于从机,不可以有上拉电阻和下拉电阻,并且是属于第一段485总线的最后一个从机,要加33欧姆匹配电阻。中继器的发送端是属于主机,要采用和主机一样的上下拉电阻和匹配电阻。

第四:使用手拉手的方式进行485通讯级联,布线时信号线和电源线要保持垂直,信号线不允许扎成或者盘成一圈一圈的,信号线不允许堆叠在一起。如果信号线不能和电源线保持垂直,则最好相距半米以上。

第五:电路板的差分线要等长,尽量不要有过孔。

第六:如果你的485通讯时只能单向导通,则排查自动收发电路的问题,一般都是三极管的问题,或者是基级电阻过大,在更高波特率的情况下要考虑三极管选型的问题,要考虑三级管的开关频率是否大于你的通讯频率,如果觉得自己的硬件自动收发电路不好用,可以使用带自动收发的485芯片,比如MAX13487,只要将DE和RE脚接到VCC即可。

第七:长距离时,通讯速率的影响也会被放大,即总线上的数据发送频率,推荐使用20ms一帧的速率,一般能满足大部分对于时间的要求。

第八:说一下保险丝可能导致的风险,就是保险丝在制造过程中,某一小部分的阻值差距过大,比如有的保险丝阻值是七八欧姆,有的10欧姆,极个别甚至有100欧姆,严重导致总线上的阻抗不连续。

第九:485总线的通讯线的材质在中间不允许发生变化,线的粗细不允许发生大的变化,距离越长,这个影响越严重。

第十:如果你的485电路完全无法通讯,可以尝试拆除TVS二极管,某些极端情况下TVS二极管也会影响你的通讯,但大多数时候它和保险丝一起使用可以保护你的电路避免因雷击而损坏,不至于严重干扰到通信。

十一:假如你的485通信,串口到->485可以,但是485->串口不行,在确定不是三极管的原因之后,建议更换485芯片,某些极端情况下,485芯片也会出现故障。更换时要注意,一条485总线要使用同一种类型的485芯片,你的从机数量在硬件上能接多少个,和你的485芯片类型有关,255个的话推荐使用SP485,如果你的通信波特率低速(9600)可以高速(115200)不行,此时你可以检查你的硬件三极管是不是开关速度不够,或者检查软件是不是串口优先级过低,再检查是不是定时器的分频模式设置错误。

十二:不要盲目相信市面上的485转串口,它们也有出现问题的可能,从指示灯的情况不能完全判断它没有问题,因为有些极端情况下,它能发送数据,灯也是在闪的,但是单片机接收到的数据不一定是你发出来的数据。

十三:485的通讯电路就这一些,相当简单,以上都是硬件总结,如果排查了硬件问题还是不能解决问题,则要考虑一下软件是否存在漏洞了,如果软件写的不好,在多机通讯的时候也会出现通讯故障。

十四:当你的485通讯电路和软件怎么检查也没有发现问题的时候,放俩小时就能好了,或者将所有电子元件更换掉,这是我遇见的最极端情况,现在这年头芯片也会累,需要休息一下。

十五:近距离通信测试时,匹配电阻是否存在无关紧要,有没有影响都不大,上下拉电阻的阻值随意更换影响也不大,TVS和保险丝有无也没关系。很多人在办公室或者研发室测试可以,但是一到了工业现场环境就不行,就是因为没有考虑到工业现场存在的各种各样的环境干扰,或者一些不专业的接线(长距离通讯时,接线头的材质,接线端子的材质,都会影响通讯),使用的线材和匹配电阻不匹配等原因,经常出现各种问题。

十六:有些工业现场会使用类似于接线柱这种,假如说你的线是屏蔽双绞线,或者普通的电线,在接线时,加装了接线柱,那种铝制的,或者接线头剪的不平滑,又或者由一个大的接线端子连接485总线的粗线,里面又套一个小的接线端子,里面又是一根线径不一样的,长距离下绝对会影响通信质量。

十七: 该电路在长距离情况下与市面上的并不能通用,除非大家都采用我上面叙述的第一条的阻值,并且该阻值不是严格不变的,可以尝试上下浮动,影响不会很大,如果真的要超长距离,需要现场根据实际情况调试,但是第一条说的,1500米完全足够。

十八:当485通信使用超远距离的高速信号传输通信时,为保证通信系统的可靠性和稳定性,减少EMI辐射以及由于终端匹配不当引起的反射,推荐采用485隔离芯片,或者做隔离电路。

十九:当你使用485转串口连接你自己的485电路时,其485转串口出现RX指示灯常亮的情况,你只需拆掉那个标配的120欧姆匹配电阻即可

二十:有些485转串口存在质量问题,或者说电路设计不当。当你使用过程中,能通信,但是发很多帧才有一帧数据的正常收发,其余都不回,这种诡异直接换一个485转串口就好,不用想太多,确认过不是自己的问题,那么真相只有一个,嘿嘿嘿。

小结:一些常规问题网上都有,本文不再赘述,这里只说罕见的问题的解决方式。另外,我希望看到本文的人,当按照我推荐的阻值去修改电路时,对通信质量有明显改善,可以转发我这篇文章,但是严禁抄袭,甚至盈利。我希望这个电路能被广泛的应用,以改善我国485通信情况。

你可能感兴趣的:(485通信,网络,单片机,嵌入式硬件)