单片机充电的时候电池电压会被拉高,如何检测电压?

在单片机充电过程中检测电池电压时,若充电导致电压被拉高,可采用以下方法实现准确测量:


1. 分时检测法(推荐)

  • 原理:在充电暂停的间隙(如PWM充电的关断周期)快速测量电池电压,避免充电电流干扰。

  • 实现步骤

    1. 控制充电MOSFET/开关短暂关闭(如10ms)。

    2. 立即通过ADC读取电池电压(利用外部或单片机内置ADC)。

    3. 重新开启充电。

  • 优点:无需额外电路,成本低。

  • 注意:需确保充电暂停时间足够短,避免影响充电效率。


2. 硬件滤波 + 电压补偿

  • 低通滤波电路

    • 在电池电压检测路径上添加RC低通滤波(如10kΩ + 1μF,截止频率~16Hz),衰减充电纹波。

    • 滤波后电压接近真实电池电压(因电池内阻导致的压降较小)。

  • 动态补偿

    • 通过实验测量充电电流与电压抬升的关系(如0.1V/A),在代码中补偿修正:
      真实电压 = 测得电压 - (充电电流 × 补偿系数)

3. 差分检测法

  • 检测电池内阻压降

    1. 使用两个ADC通道分别测量电池正极电压(V_CHG)和负载端电压(V_BAT)。

    2. 计算压差:ΔV = V_CHG - V_BAT,通过已知充电电流估算内阻(R_internal = ΔV / I_CHG)。

    3. 真实电压:V_BAT = V_CHG - (I_CHG × R_internal)

  • 适用场景:需已知充电电流(如通过电流传感器或恒流充电设定值)。


4. 专用电池管理IC

  • 芯片示例:TI的BQ系列(如BQ25601)、MAXIM的MAX8903等。

  • 功能

    • 集成高精度电压/电流检测。

    • 自动补偿充电内阻影响。

    • 通过I²C/SPI直接读取处理后的数据。

  • 优点:简化设计,提高精度,适合高端应用。


5. 软件处理技巧

  • 数字滤波

    • 对ADC采样值进行滑动平均或中值滤波,抑制噪声。
  • 充电状态判断

    • 若检测到电压持续上升且无负载,可判定为充电状态,启用补偿算法。

选择建议

  • 低成本方案:分时检测法 + 软件滤波。

  • 高精度需求:专用电池管理IC。

  • 动态电流场景:差分检测 + 电流传感器。

通过上述方法,可有效消除充电过程中的电压抬升影响,获得准确的电池电压。