24c01硬件电子
认证:VIP会员
作者动态
光电流检测电路 射极跟随器应用
2天前
这让人眼前一黑的锂电池充电器设计
4天前
12块钱招财猫摆件里电路是怎么样的?
2星期前
仪表放大器差分输出电路图分析
2星期前
群友的问题 | 485自收发电路问题解决
2星期前

群友的问题 | 485自收发电路问题解决

今天有群友的RS485的自收发电路测试出现了问题,问该如何解决,群友的电路图如下,问题在于可以正常接收信息,但是发送的数据有问题(下图中VCC为3.3V,单片机为3.3V系统):

群友使用的程序为收到什么数据,就向上位机重新发送这段数据,比如收到0x66,就回复0x66,但是测试数据如下,可以看到接收的数据和发送的数据不一致

然后就问我电路图有没有问题,那么就按照发送低电平0和发送高电平1分别进行分析。首先是串口发送0低电平,UART_TX为0V,三极管Q4导通,三极管饱和电压VCE约等于0.2V左右,三极管的集电极电压等于VCC-VCE≈3V左右,此时485的使能端判断为高电平,MAX3485处于发送状态,A和B管脚均为推挽输出,A和B根据DI管脚数据输入低电平,芯片发送A低B高,此时A-B≈-2.5V,由于120Ω负载电阻,所以|A-B|会小于3.3V

然后是串口发送高电平,此时单片机UART_TX为3.3V,三极管Q4截止,然后是不是就发现了问题点,此时由于485的使能管脚还加了一颗上拉电阻R84,所以说此时使能管脚是一个半高不低的电平大概1.6V左右(R84和R41分压),那么就正是这个半高不低的电平导致芯片使能异常,从而导致芯片工作异常

修改意见去掉R84上拉电阻,那么去掉上拉电阻后的自收发逻辑如下:UART_TX输出3.3V,三极管Q4截止,从而485芯片的使能管脚被R41下拉至低电平。从而芯片处于接收状态,又由于A、B管脚为高阻,所以此时A管脚电压约等于1.67V,B管脚约等于1.63V,此时A-B=0.04V。由于芯片A、B管脚均为高阻,所以说等效电路如下:

那么此时,是否会有疑问,RS485的高低电平判断标准不是±200mV吗?这AB之间的压差才为40mV可以正常判断为高电平吗?其实这个很多485芯片都已经做了优化,判断标准调整为了大于-50mV即为高电平,小于-200mV才为低电平。例如下图ADI的芯片MAX13080:

但是如果接收器用的485芯片是以±200mV为判断阈值的芯片,那这个自收发电路还是要出问题的。例如这个芯片MAX3485就是以±200mV为判断阈值的:

群友在去掉了上拉电阻R84后,RS485数据接收发送恢复正常

问题排查总结先排查原理图是否有误,再排查电路板是否有贴错料或者其他虚焊等;再通过示波器或者万用表工具查看波形或者电压,分析逻辑是否和原理图对应的上。最后结合起来分析具体原因。然后再推荐一个常用的TVS管型号SM712,一般485电路防护用的比较多,这种非对称式的TVS管。然后建议能不使用自收发就不要使用自收发,这个自收发的驱动能力比较弱,而且比较容易出问题。那么你知道电容C30的作用吗?欢迎评论区留言。

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 1
收藏 2
关注 45
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧