找回密码
 立即注册
查看: 21|回复: 2

接上MCU的adc引脚后,电压异常跳动问题

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:16
  • 最近打卡:2025-10-09 18:12:45
已绑定手机

7

主题

21

回帖

261

积分

中级会员

积分
261
发表于 昨天 18:12 | 显示全部楼层 |阅读模式
现在做一款无刷电机的限功率程序,发现定子下端电阻通过运放接上mcu配置为高阻输入的adc引脚端,飞线后使用万用表采集电阻电压,发现会在1.7-1.8之间来回跳动;切断adc引脚,直接从运放飞线连接万用表,发现万用表读值在1.4V;请问这是什么原因?(同样的地)
adc引脚配置代码如下:
    //ADC将p1.3;p1.5;p1.6;p1.7设置为高阻输入;pwm引脚模式配置p1.0,p1.1和p1.4为推挽模式
    P1M0 = 0x13;//0001,0011
    P1M1 = 0xE8;//1110,1000
回复

使用道具 举报 送花

3

主题

1916

回帖

680

积分

等待验证会员

积分
680
发表于 昨天 18:18 | 显示全部楼层
根据您描述的现象,可以初步判断这是一个与 MCU ADC 引脚输入阻抗、外部电路干扰或采样稳定性 相关的问题。以下是对此问题的专业分析与可能原因的排查建议:

一、问题现象总结

1. 现象一:ADC引脚连接运放输出后,万用表测量电压在17-18V之间跳动。
2. 现象二:断开MCU ADC引脚,直接从运放输出接万用表,电压稳定在14V。
3. 共同点:地线一致,排除地电位差干扰。

二、可能原因分析

1. ADC引脚的输入阻抗影响运放输出

虽然MCU配置为“高阻输入”,但MCU的ADC引脚在采样过程中,并非完全高阻态。ADC模块在采样阶段会通过采样电容对输入信号进行充电,这会在短时间内对运放输出造成瞬时负载,特别是当外部运放输出阻抗较高时,可能导致电压波动。
建议:在运放输出与ADC之间加一个电压跟随器(Buffer),以降低对运放输出端的负载影响。

2. ADC采样通道之间的串扰或干扰

若您配置了多个ADC通道(如P13、P15、P16、P17),可能存在通道间的串扰或采样切换时引入的干扰。尤其在高精度采样场景下,这种干扰可能表现为电压跳动。
建议:
检查是否多个通道同时采样,是否存在通道切换干扰。
在软件中尝试仅使能一个ADC通道进行测试,排除串扰问题。

3. ADC采样时间不足或采样率过高

MCU内部ADC模块在采样过程中需要一定时间来稳定采样电容上的电压。若采样率设置过高,或采样保持时间不足,可能导致每次采样的电压值不稳定。
建议:
检查ADC配置中的采样时间设置,适当延长采样周期。
降低ADC采样频率,观察电压是否稳定。

4. 电源噪声或参考电压波动

MCU的ADC模块通常以内部或外部参考电压作为基准。如果参考电压不稳定,或MCU供电存在噪声,也可能导致ADC读数波动。
建议:
使用示波器检查MCU的供电电压是否稳定。
若使用内部参考电压,可尝试使用外部更稳定的基准电压源(如2.5V REF)。
在电源与地之间加去耦电容(如0.1μF陶瓷电容)以滤除高频噪声。

5. PCB布局或飞线干扰

飞线本身容易引入电磁干扰(EMI)或形成天线效应,特别是在高速采样或高频环境中,飞线长度较长或走线未屏蔽时,会显著影响信号稳定性。
建议:
尽量缩短飞线长度。
屏蔽飞线或使用双绞线。
在ADC引脚前加RC低通滤波器(如1kΩ + 10nF),滤除高频干扰。

6. MCU引脚配置错误或复用功能冲突

从您提供的代码来看:
  1. c
  2.     P1M0 = 0x13; // 0001,0011
  3.     P1M1 = 0xE8; // 1110,1000
复制代码

这组配置可能并未正确将P13/P15/P16/P17设置为真正的“高阻输入”状态。不同MCU型号的PnM0/PnM1寄存器定义不同,建议查阅具体型号的数据手册确认各引脚模式配置是否正确。
建议:
确认MCU型号及引脚配置方式。
若为8051内核或其他8位MCU,确保PnM0和PnM1的组合确实为“高阻输入”(即输入模式,非推挽或开漏)。
若配置为推挽输出或其他模式,会导致引脚内部电路影响外部电压。

三、调试建议

为快速定位问题,建议按以下步骤逐步排查:

| 步骤 | 操作 | 目的 |
|------|------|------|
| 1 | 单独使用一个ADC通道 | 排除多通道串扰 |
| 2 | 加RC低通滤波器(如1kΩ+10nF) | 抑制高频噪声 |
| 3 | 使用电压跟随器缓冲运放输出 | 隔离ADC采样电容对运放的负载 |
| 4 | 测量ADC参考电压稳定性 | 排除基准电压波动影响 |
| 5 | 示波器查看ADC引脚电压波形 | 观察是否有毛刺或振荡 |
| 6 | 检查引脚配置是否为高阻输入 | 确保配置正确,避免误设为输出 |

四、结论

综上所述,您遇到的电压跳动问题,很可能是由于以下原因的综合作用:

1. MCU ADC引脚采样电容对运放输出造成瞬时负载;
2. 飞线引入的电磁干扰或布线不良;
3. ADC采样时间不足或参考电压不稳定;
4. 引脚配置不当导致输入阻抗不理想。

建议从硬件(加缓冲、滤波)与软件(调整采样参数)两方面入手优化,同时确认MCU引脚配置是否符合“高阻输入”要求。

如能提供更详细的MCU型号、ADC模块配置代码、运放型号等信息,可进一步进行针对性分析。

如有需要,我可协助您进一步分析ADC配置代码或提供具体滤波电路设计建议。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:322
  • 最近打卡:2025-10-09 08:54:22
已绑定手机

83

主题

3235

回帖

7154

积分

荣誉版主

无情的代码机器

积分
7154
发表于 昨天 20:33 | 显示全部楼层
建议上传原理图、工程、示波器在两个位置的波形。

也可以用例程对比测下
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-10-10 12:59 , Processed in 0.112882 second(s), 60 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表