721|4

50

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【好书共读——《电子硬件工程师入职图解手册》】——④RS485通信故障案例分享<一> [复制链接]

邀请:@maychang   @chunyang   @okhxyyo   参与回复

本帖最后由 zyb329321151 于 2024-3-24 16:27 编辑

RS485通信故障案例分享<一>

 

    在我分享的《RS485总线讨论》篇章中,主要讨论了RS485总线定义,主要特性、网络拓扑、应用电路以及失效理论分析。这里,我们将在对RS485的失效案例进行实际分享。本文将围绕以下几个异常案例进行分享:

案例一:RS485上拉电阻值、下拉电阻值的影响

问题现象:在某工业应用中, RS485总线上的A厂与B厂主机通信时断时续。在无人干预的情况下,又能自动恢复,以次反复。系统拓扑如图1所示。

 

图 1

验证过程:①实测发现,B厂主机发给A厂主机的数据存在异常,丢失了帧头的E6,异常现象见图二;②问题可能的原因:a. 软件收发时许不匹配;b.RS485总线硬件电路驱动能力不足。③增加B厂主机收到A厂数据后,增加延时再回复。发现异常依然存在,因此排除原因a。④对比A厂和B厂的硬件电路,发现B厂设备的上拉电阻和下拉电阻未焊接,驱动能力不足,导致通信失败。

 

图 2

问题原因:A厂与B厂通信数据异常,导致通信中断。B厂设备未焊接上拉电阻和下拉电阻,设备驱动能力不足,导致通信异常。

解决方案:①B厂设备增加上拉电阻和下拉电阻,以提升通信驱动能力;②A厂主设备减小上拉电阻和下拉电阻阻值,提升A厂主设备驱动能力。综合考虑方案实际可行性,最终选择方案②

问题复盘

①为什么RS485需要上拉电阻和下拉电阻提升驱动能力?

       在RS485通信电路设计中,要求485A、485B点电压压差大于0.2V。实际应用中,485通信距离达到1200m,485A、485B点电压会随着距离边长,压差将减小,信号的波形出现畸变,这将导致通信异常。因此,为提升485通信稳定性,实际产品设计中需要增加上拉电阻和下拉电阻。

②RS485上拉和下拉电阻如何选取?

将上述案例通信故障可以简化为如图3所示拓扑图:

 

图 3

        根据RS485通信协议,要求485A、485B点电压压差大于0.2V。

        则存在公式:

                                             

 

        在本案例中,R­1=10KΩ,R2=10KΩ,R­3=10KΩ。因此,VA-VB=29.8mV

 。

        根据MAX485数据手册,485A、485B的电压压差大于0.2V 为高电平1,小于-0.2V为0。而29.8mV处于-0.2V~0.2V之间,难以判断电平,因此导致通信断断续续。

当主机A的上拉电阻和下拉电阻改为1K时,,VA-VB=283mV

 。此时,压差大于0.2V,RS485通信稳定。

 

 

案例二:RS485线缆的直流电阻影响通信距离

问题现象:在某工业应用中,业主提供RS485通信线缆,厂家提供通信主机和从机。现场总共有16个从机,通信距离达到1Km。测试发现,距离较远的从机无法与主机进行通信,从机与主机距离越近,通信越稳定,距离越远,通信效果越差,1000m位置的主机通信100% Fail。

验证过程:①确认现场主机和从机的拓扑结构、端接匹配电阻、接线方式都符合设计要求;②断开所有从机,逐台进行测试。发现近端从机正常,远端从机通信失败;③测量每处从机的485A、485B波形,发现远端从机的波形发生畸变,不满足485总线通信要求。④测量通信电缆阻抗,发现其直流阻抗远超RS485通信线缆要求。更换新的符合标准的通信线缆,通信成功。

问题原因:通信线缆直流阻抗较大,大致远端从机接收到的信号畸变,电压差不满足RS485通信总线设计标准。

解决方案:更换新的符合标准的通信线缆。

问题复盘:为什么通信线缆阻抗对RS485的通信质量存在影响?

将上述案例通信故障可以简化为如图4所示拓扑图:

 

图 4

       根据RS485通信电气标准可知,当主机输出高电平时,VA-VB>1.5V

 。那么,从机接收到的信号电压差为从机端120Ω两端的压差。因此,存在公式:

                ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    ​​​​​​​    

 

       Ra和Rb分别是线缆阻抗,由于采用双绞线,因此可以认为Ra=Rb。因此,如果要接收端压差>0.2V,就需要Ra=Rb<390Ω。一旦通信线缆阻抗大于390Ω,RS485通信就会出现异常,导致通信失败。

最新回复

很实用,谢谢!   详情 回复 发表于 2024-4-7 11:26
点赞 关注
 
 

回复
举报

6587

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

这部分RS485通信故障案例分享对实际做通信设计很有用的

 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
优秀
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

4
 

很实用,谢谢!

点评

希望可以帮助到大家  详情 回复 发表于 2024-4-7 18:53
 
 
 

回复

50

帖子

0

TA的资源

一粒金砂(中级)

5
 
yypzgmmm2008 发表于 2024-4-7 11:26 很实用,谢谢!

希望可以帮助到大家


 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表