打印
[STM32L0]

用ADC测电压怎么总是偏高一点点?

[复制链接]
楼主: 公羊子丹
手机看帖
扫描二维码
随时随地手机跟帖
61
claretttt| | 2025-5-16 11:24 | 只看该作者 回帖奖励 |倒序浏览
温度变化会影响 ADC 的性能和电路中元件的参数。

使用特权

评论回复
62
plsbackup| | 2025-5-16 11:46 | 只看该作者
ADC参考电压和输入阻抗随温度变化,导致读数漂移。

使用特权

评论回复
63
loutin| | 2025-5-16 12:11 | 只看该作者
延长采样时间、降低时钟频率、关闭扫描模式。

使用特权

评论回复
64
saservice| | 2025-5-16 12:44 | 只看该作者
实施零点/增益校准、平均滤波或过采样。

使用特权

评论回复
65
bestwell| | 2025-5-16 13:06 | 只看该作者
STM32 的 ADC 通常需要进行校准操作,以提高测量的准确性。

使用特权

评论回复
66
lzmm| | 2025-5-16 13:30 | 只看该作者
将单端输入误配置为差分输入,或未正确连接参考地。

使用特权

评论回复
67
nomomy| | 2025-5-16 13:50 | 只看该作者
电源上的高频噪声(如开关电源纹波)通过ADC输入路径耦合,导致读数波动或偏高。

使用特权

评论回复
68
tabmone| | 2025-5-16 14:10 | 只看该作者
采样时间过短会导致输入电容未充分充电,尤其在高阻抗信号源时,读数可能偏高

使用特权

评论回复
69
loutin| | 2025-5-16 14:33 | 只看该作者
在分压电阻后并联一个10nF~100nF的陶瓷电容,降低阻抗对采样结果的影响。

使用特权

评论回复
70
rosemoore| | 2025-5-16 15:05 | 只看该作者
ADC在上电或唤醒后未执行校准,导致内部偏移误差未被修正。

使用特权

评论回复
71
lzbf| | 2025-5-16 15:31 | 只看该作者
若使用内部参考电压,其实际值可能因芯片个体差异存在±1%~2%的偏差。

使用特权

评论回复
72
jackcat| | 2025-5-16 15:49 | 只看该作者
引脚焊接不良、PCB 板布线不合理等。需要检查引脚连接是否牢固,排查 PCB 板上是否存在短路、断路等问题。

使用特权

评论回复
73
mikewalpole| | 2025-5-16 16:12 | 只看该作者
#define SAMPLE_COUNT 16
uint32_t adc_sum = 0;
for (int i = 0; i < SAMPLE_COUNT; i++) {
    ADC_SoftwareStartConvCmd(ADC1, ENABLE);
    while (!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
    adc_sum += ADC_GetConversionValue(ADC1);
}
uint32_t adc_avg = adc_sum / SAMPLE_COUNT;

使用特权

评论回复
74
mnynt121| | 2025-5-16 16:35 | 只看该作者
在ADC输入端添加电压跟随器(如OPA333等低功耗运放),将输入阻抗降至1MΩ以下。

使用特权

评论回复
75
benjaminka| | 2025-5-16 16:55 | 只看该作者
输入信号源阻抗过高​              

使用特权

评论回复
76
dspmana| | 2025-5-16 17:14 | 只看该作者
参考电压 不稳定或偏差​              

使用特权

评论回复
77
primojones| | 2025-5-16 17:33 | 只看该作者
电源噪声或PCB布线问题可能使VREF+波动,导致ADC读数不稳定

使用特权

评论回复
78
PreWorld| | 2025-5-17 08:37 | 只看该作者
外部电阻会影响IO脚的输入电平,可能造成信号不稳定。

使用特权

评论回复
79
wex1002| | 2025-5-18 16:39 | 只看该作者
手动校准就是调整零点和斜率,这样调整后数据更精确。

使用特权

评论回复
80
不想打补丁| | 2025-5-19 11:27 | 只看该作者
并联电容可滤除高频噪声,提高ADC读数稳定性

使用特权

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

本版积分规则