电池电压检测不准?别只怪分压电阻,看看 ADC 的采样窗口
2026/6/11 20:38:51 网站建设 项目流程

摘要:电池电压检测值偏低、跳变,换了精密分压电阻依旧?不是电阻精度问题,而是ADC 采样窗口(Sampling Time)与输入阻抗不匹配,导致采样电容(Csh)充电不足。本文解析 ADC 采样的底层物理过程。


一、问题描述(现象)

**电池电压 4.2V,分压后给 ADC,读数只有 4.0V;

换用 0.1% 精密电阻,读数依旧偏低;

用手触摸分压电阻,读数突然变准了。**

很多工程师的排查方向是:

  1. 电阻精度不够?

  2. 基准电压(Vref)不稳?

  3. 软件滤波没做好?


二、原理分析

1. 物理模型

ADC 输入不是一个无穷大的阻抗,而是一个开关电容网络。

Vin ──► [Rsource] ──► [Sampling Switch] ──► [Csh (采样电容)]

2. 核心参数

  • Rsource(源阻抗):外部电路的总电阻(分压电阻 + 走线电阻)。

  • Csh(采样电容):ADC 内部的保持电容(通常几 pF 到几十 pF)。

  • Ts(采样时间):采样开关闭合的时间窗口。

3. 反直觉真相

“分压电阻阻值越小越好”是错的。

  • 如果分压电阻太大(如 1MΩ + 1MΩ):

    • Rsource 太大。

    • 在采样时间(Ts)内,Csh 充不满电。

    • ADC 采样的是“半充满的电平”​ → 读数偏低。

  • 如果分压电阻太小(如 1kΩ + 1kΩ):

    • 功耗太大,电池直接被耗干。


三、工程级解决方案

方案 1:计算最小采样时间(公式)

必须确保采样时间足够长。

充电时间常数:

τ = Rsource × Csh

稳定条件:

Ts ≥ k × τ (k 通常为 7~10,保证误差 < 1/2 LSB)

实战经验:

  • 如果 Rsource = 10kΩ,Csh = 10pF:

    • τ = 100ns。

    • Ts 需 > 1µs。

  • 如果 MCU 时钟快,采样周期短,必须软件配置更长的采样时间。

方案 2:增加采样电容(硬件解法)

在 ADC 引脚并联一个小电容(如 10nF ~ 100nF)。

Vin ──► [R] ──► ADC Pin ──► GND │ [Cext]
  • 作用:外部电容作为电荷库,辅助内部 Csh 快速充电。

  • 代价:增加了滤波效果,但也降低了响应速度(不适合快速变化信号)。

方案 3:正确配置 ADC 参数(软件解法)

以 STM32 为例:

ADC_ChannelConfTypeDef sConfig = {0}; sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = 1; sConfig.SamplingTime = ADC_SAMPLETIME_28CYCLES; // 关键!加大采样周期 HAL_ADC_ConfigChannel(&hadc1, &sConfig);

四、选型避坑建议

  1. 不要盲目追求高阻抗

    • 电池检测分压电阻通常选100kΩ ~ 500kΩ​ 级别。

    • 必须配合长采样时间​ 或外部电容

  2. 基准电压(Vref)

    • 如果 Vref 随 VDD 波动(如直接使用 VDD 作为 Vref):

    • 测量结果会是比率度量(Ratiometric),与 VDD 无关。

    • 如果需要绝对电压,必须使用外部基准​ 或内部带隙基准

  3. 漏电流

    • 某些 MCU 在深度睡眠时,IO 会有漏电流。

    • 如果分压电阻太大,漏电流会拉低电压。


五、总结 Checklist

  • [ ] 是否计算了 Rsource × Csh 的时间常数?

  • [ ] ADC 采样时间是否配置得足够长?

  • [ ] 是否在 ADC 引脚并联了外部采样电容?

  • [ ] Vref 是否稳定(或使用了比率度量)?


六、写在最后(关注我,少走弯路)

我是 gqqsherry,一个拒绝调包、专注底层逻辑的嵌入式工程师。

ADC 采样是“模拟与数字世界的握手”,握手时间太短,数据就会“握空”。

关注我的专栏《嵌入式底层避坑指南》,下一篇我们将深入解析《复位与启动(Boot)底层避坑指南》系列开篇

👉下一篇预告:《为什么 Bootloader 跳转 App 会 HardFault?》


原创文章,转载请注明出处。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询