打印
[STM32F1]

STM32F103 ADC 采样不稳定问题

[复制链接]
533|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
灰色与青|  楼主 | 2025-7-1 18:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 灰色与青 于 2025-7-3 19:13 编辑

在一个使用STM32F103 的项目中,ADC 采样值波动很大,即使输入电压稳定,采样结果也会有 ±5 个 LSB 的跳动。

排查过程:

检查电源和地,发现 ADC 参考电压 VREF + 有轻微波动
查看 ADC 配置,发现采样时间设置过短 (55.5 周期)
检查 PCB 布局,发现模拟地和数字地没有分开

解决方案:

在 VREF + 和 GND 之间添加 10μF 和 0.1μF 去耦电容
增加 ADC 采样时间到 239.5 周期
改进 PCB 布局,将模拟地和数字地分开,最后单点连接

同时软件也增加滤波
// 原来的ADC初始化代码
ADC_InitStructure.ADC_SampleTime = ADC_SampleTime_55Cycles5;

// 修改后的ADC初始化代码
ADC_InitStructure.ADC_SampleTime = ADC_SampleTime_239Cycles5;

// 增加软件滤波
#define ADC_FILTER_N  8
uint16_t ADC_Filter(uint8_t channel)
{
    uint32_t sum = 0;
    uint8_t i;

    for(i = 0; i < ADC_FILTER_N; i++)
    {
        sum += ADC_GetConversionValue(ADC1);
        delay_ms(1);
    }

    return (uint16_t)(sum / ADC_FILTER_N);
}

使用特权

评论回复
沙发
albertaabbot| | 2025-7-3 17:18 | 只看该作者
模拟电源不稳定或存在噪声              

使用特权

评论回复
板凳
jackcat| | 2025-7-3 19:23 | 只看该作者
输入信号走线较长或靠近数字信号线,引入高频噪声

使用特权

评论回复
地板
lihuami| | 2025-7-3 20:12 | 只看该作者
如果信号源内阻较大,ADC采样电容充电不足,也会导致读数跳变。可以根据信号源阻抗调整采样时间。

使用特权

评论回复
5
wangdezhi| | 2025-7-3 21:25 | 只看该作者
VDDA或VREF+存在轻微波动,影响ADC的基准电压。

使用特权

评论回复
6
nomomy| | 2025-7-4 10:17 | 只看该作者
若使用外部参考源,增加 LC 滤波

使用特权

评论回复
7
mattlincoln| | 2025-7-4 11:20 | 只看该作者
STM32F103 的 ADC 模块对供电质量非常敏感。

使用特权

评论回复
8
iyoum| | 2025-7-4 12:14 | 只看该作者
输入阻抗不匹配              

使用特权

评论回复
9
ulystronglll| | 2025-7-4 13:17 | 只看该作者
地线噪声耦合到模拟信号中,影响采样值。

使用特权

评论回复
10
macpherson| | 2025-7-4 14:16 | 只看该作者
优化PCB布局,将模拟部分与数字部分分离,避免高频信号线靠近ADC信号线

使用特权

评论回复
11
febgxu| | 2025-7-4 15:11 | 只看该作者
可以在软件中增加滤波算法,例如使用滑动平均滤波或中值滤波来平滑采样值。

使用特权

评论回复
12
plsbackup| | 2025-7-4 16:00 | 只看该作者
对比信号源输出与 ADC 输入引脚,排查 PCB 走线是否引入噪声。

使用特权

评论回复
13
zerorobert| | 2025-7-4 18:33 | 只看该作者
ADC信号走线应远离高频数字信号

使用特权

评论回复
14
geraldbetty| | 2025-7-4 21:08 | 只看该作者
定期对ADC进行校准,以补偿长期漂移和温度变化带来的误差

使用特权

评论回复
15
macpherson| | 2025-7-5 20:15 | 只看该作者
VDD的波动会直接影响ADC基准,导致采样误差。

使用特权

评论回复
16
lihuami| | 2025-7-5 21:03 | 只看该作者
在PCB上将AGND和DGND通过0Ω电阻或磁珠在电源入口处单点连接。

使用特权

评论回复
17
ingramward| | 2025-7-5 22:00 | 只看该作者
在电源和地之间增加去耦电容,以减少电源噪声。

使用特权

评论回复
18
kkzz| | 2025-7-6 10:06 | 只看该作者
过高的采样频率可能会导致ADC无法稳定采样,尤其是在低阻抗信号源的情况下。

使用特权

评论回复
19
hilahope| | 2025-7-6 15:13 | 只看该作者
在 VREF + 与 GND 间并联 10μF 钽电容 + 0.1μF 陶瓷电容,靠近 ADC 引脚

使用特权

评论回复
20
hilahope| | 2025-7-10 15:16 | 只看该作者
使用去耦电容和稳压电路来减少电源噪声

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

27

帖子

0

粉丝