[STM32L0] L0开ADC采电池电压,一直比真实值低不少

[复制链接]
 楼主| 帛灿灿 发表于 2025-6-21 07:30 | 显示全部楼层 |阅读模式
查了参考电压也换了多个板子,ADC读值就是偏低一截。
Clyde011 发表于 2025-6-21 07:34 | 显示全部楼层
ADC转换完马上取值容易不准,建议延迟下。
Clyde011 发表于 2025-6-21 07:35 | 显示全部楼层
L0的Vref必须调校,不然ADC偏差大。
周半梅 发表于 2025-6-21 07:36 | 显示全部楼层
看看是不是用了内部参考电压?
 楼主| 帛灿灿 发表于 2025-6-21 07:37 | 显示全部楼层
建议你用VBAT脚,精度会好点。
童雨竹 发表于 2025-6-21 07:38 | 显示全部楼层
电源分压电阻有没有老化?
万图 发表于 2025-6-21 07:39 | 显示全部楼层
L0内部通道采样时间要设得足够长。
Wordsworth 发表于 2025-6-21 07:40 | 显示全部楼层
用multisample再取平均,我是这么干的。
Bblythe 发表于 2025-6-21 07:41 | 显示全部楼层
把电压源接示波器看看是不是稳的。
Pulitzer 发表于 2025-6-21 07:42 | 显示全部楼层
用校准函数HAL_ADCEx_Calibration_Start试试看。
Uriah 发表于 2025-6-21 07:43 | 显示全部楼层
我也遇到过,后来加了电容稳压效果明显。
wangtaohui 发表于 2025-6-23 19:03 来自手机 | 显示全部楼层
查了参考电压也换了多个板子,ADC读值就是偏低一截。
onlycook 发表于 2025-6-24 11:17 | 显示全部楼层
如果电池电压超过STM32L0的最大ADC输入电压,需要使用分压电阻来降低电压。要确认分压电阻阻值是否合适,外部分压电阻阻值过大可能导致带载能力不够,单片机输入阻抗相对较小,使用ADC连续转换持续对采样电容充放电,会使输入阻抗进一步降低,进而影响采样值。例如,可尝试将ADC连续转换改为单次转换,使用定时器或其他方式周期启动ADC转换,降低采样频率。同时,要检查分压电阻精度,建议使用1%精度的电阻,并测量实际分压比,在代码中进行修正。
flycamelaaa 发表于 2025-6-24 11:20 | 显示全部楼层
内部参考电压值与STM32L0是否相匹配
classroom 发表于 2025-6-24 11:23 | 显示全部楼层
可能是ADC模块硬件故障,可尝试更换芯片。
duo点 发表于 2025-6-24 13:18 | 显示全部楼层
若信号源阻抗过高,会导致电压被分压。可在ADC输入引脚与信号源之间串联电阻,并添加对地滤波电容,或使用运放缓冲器隔离高阻抗信号源。
powerantone 发表于 2025-6-24 15:20 | 显示全部楼层
采样时间不足?
probedog 发表于 2025-6-24 15:23 | 显示全部楼层
通过软件滤波减少噪声影响。
laocuo1142 发表于 2025-6-24 19:19 | 显示全部楼层
检查前级电路,如传感器输出等是否正常。
stormwind123 发表于 2025-6-24 20:22 | 显示全部楼层
STM32L0的ADC需要上电后校准,否则可能出现偏移误差。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

149

主题

5848

帖子

0

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