[综合信息] MCU技术分享

[复制链接]
181|1
wangdezhi 发表于 2025-9-30 08:21 | 显示全部楼层 |阅读模式
RS485的自收发电路测试出现了问题,问该如何解决,群友的电路图如下,问题在于可以正常接收信息,但是发送的数据有问题(下图中VCC为3.3V,单片机为3.3V系统):

cb703d4c18b7b9b39990117a477c3779443608838.png@1192w.webp

然后就问我电路图有没有问题,那么就按照发送低电平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:

7fcd68e5ad37596ba32522df342cd770443608838.png@1192w.webp

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

2b177ad5d64c47ebc1aaf41334689516443608838.png@1192w.webp

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

121bd10ef5a4c94d2c3ab342257907d6443608838.png@1192w.webp
在去掉了上拉电阻R84后,RS485数据接收发送恢复正常。

kkzz 发表于 2025-10-4 08:51 | 显示全部楼层
无需外部方向控制电路。              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

208

主题

7573

帖子

8

粉丝
快速回复 在线客服 返回列表 返回顶部