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

[复制链接]
2576|81
claretttt 发表于 2025-5-16 11:24 | 显示全部楼层
温度变化会影响 ADC 的性能和电路中元件的参数。
plsbackup 发表于 2025-5-16 11:46 | 显示全部楼层
ADC参考电压和输入阻抗随温度变化,导致读数漂移。
loutin 发表于 2025-5-16 12:11 | 显示全部楼层
延长采样时间、降低时钟频率、关闭扫描模式。
saservice 发表于 2025-5-16 12:44 | 显示全部楼层
实施零点/增益校准、平均滤波或过采样。
bestwell 发表于 2025-5-16 13:06 | 显示全部楼层
STM32 的 ADC 通常需要进行校准操作,以提高测量的准确性。
lzmm 发表于 2025-5-16 13:30 | 显示全部楼层
将单端输入误配置为差分输入,或未正确连接参考地。
nomomy 发表于 2025-5-16 13:50 | 显示全部楼层
电源上的高频噪声(如开关电源纹波)通过ADC输入路径耦合,导致读数波动或偏高。
tabmone 发表于 2025-5-16 14:10 | 显示全部楼层
采样时间过短会导致输入电容未充分充电,尤其在高阻抗信号源时,读数可能偏高
loutin 发表于 2025-5-16 14:33 | 显示全部楼层
在分压电阻后并联一个10nF~100nF的陶瓷电容,降低阻抗对采样结果的影响。
rosemoore 发表于 2025-5-16 15:05 | 显示全部楼层
ADC在上电或唤醒后未执行校准,导致内部偏移误差未被修正。
lzbf 发表于 2025-5-16 15:31 | 显示全部楼层
若使用内部参考电压,其实际值可能因芯片个体差异存在±1%~2%的偏差。
jackcat 发表于 2025-5-16 15:49 | 显示全部楼层
引脚焊接不良、PCB 板布线不合理等。需要检查引脚连接是否牢固,排查 PCB 板上是否存在短路、断路等问题。
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;
mnynt121 发表于 2025-5-16 16:35 | 显示全部楼层
在ADC输入端添加电压跟随器(如OPA333等低功耗运放),将输入阻抗降至1MΩ以下。
benjaminka 发表于 2025-5-16 16:55 | 显示全部楼层
输入信号源阻抗过高​              
dspmana 发表于 2025-5-16 17:14 | 显示全部楼层
参考电压 不稳定或偏差​              
primojones 发表于 2025-5-16 17:33 | 显示全部楼层
电源噪声或PCB布线问题可能使VREF+波动,导致ADC读数不稳定
PreWorld 发表于 2025-5-17 08:37 | 显示全部楼层
外部电阻会影响IO脚的输入电平,可能造成信号不稳定。
wex1002 发表于 2025-5-18 16:39 | 显示全部楼层
手动校准就是调整零点和斜率,这样调整后数据更精确。
不想打补丁 发表于 2025-5-19 11:27 | 显示全部楼层
并联电容可滤除高频噪声,提高ADC读数稳定性
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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