wangdezhi 发表于 2025-9-30 08:21

MCU技术分享

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



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



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



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


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

kkzz 发表于 2025-10-4 08:51

无需外部方向控制电路。            

51xlf 发表于 2025-10-4 16:03

在A/B总线间添加TVS二极管,防止静电或过压损坏芯片。

averyleigh 发表于 2025-10-4 18:55

去除 上拉电阻的效果            

wilhelmina2 发表于 2025-10-4 21:10

使用支持自动方向控制的RS485芯片

rosemoore 发表于 2025-10-4 22:36

120Ω 终端电阻会分压,降低 A-B 差分电压幅值。

macpherson 发表于 2025-10-6 19:02

替换为内置失效保护功能的 RS485 芯片

ulystronglll 发表于 2025-10-6 22:09

核心问题是​​接收状态下A/B管脚的电平异常​

lzmm 发表于 2025-10-7 07:52

在A/B总线间添加偏置电阻            

wangdezhi 发表于 2025-10-7 21:30

芯片始终处于发送状态,无法切换到接收状态。

gygp 发表于 2025-10-8 08:37

增加 A、B 端上下拉电阻            

benjaminka 发表于 2025-10-8 10:37

替换三极管为逻辑门控制            

olivem55arlowe 发表于 2025-10-8 14:58

RE/DE引脚在发送时为高电平,接收时为低电平,避免竞争。

backlugin 发表于 2025-10-8 18:10

120Ω负载电阻,实际差分电压被分压

fengm 发表于 2025-10-8 21:15

在接收状态下,A和B管脚为高阻态

elsaflower 发表于 2025-10-10 11:55

消除接收状态下A/B管脚的固定上拉电平,使A/B电平由总线负载决定

febgxu 发表于 2025-10-10 13:54

上拉电阻使得485芯片的使能端 保持高电平

sdlls 发表于 2025-10-10 16:28

总线两端120Ω终端电阻是否正确安装,减少反射干扰。

janewood 发表于 2025-10-11 12:48

接收状态下,A/B管脚不再被R84上拉,而是由总线负载决定电平。

jonas222 发表于 2025-10-11 14:36

配置RS485总线终端匹配​            
页: [1] 2
查看完整版本: MCU技术分享