4. 安时积分法(Ah Counting)

安时积分法,说白了就是给电池的电荷「记账」。你充进去多少,放出来多少,一加一减,剩下的就是当前电量。这个方法在BMS里是最基础、最直觉的SOC估算手段。我入行那会儿,第一个接触的算法就是它。

4.1 原理与公式

原理其实很简单。我们把电池看作一个水桶,电流就是水流。流入为正,流出为负。SOC就是桶里的水位。

核心公式就一个:

SOC(t) = SOC(0) - (1 / Q_n) * ∫ η * I(t) dt

解释一下各个参数:

  • SOC(t):当前时刻的荷电状态
  • SOC(0):初始SOC,也就是起始水位
  • Q_n:电池的额定容量,单位Ah
  • η:库仑效率,充电一般取0.98~1.0,放电取1.0
  • I(t):实时电流,充电为正,放电为负

离散化之后,我们在嵌入式里实际用的是这个形式:

SOC_k = SOC_{k-1} - (η * I_k * Δt) / Q_n

每过一个采样周期Δt,就累加一次。我习惯把Δt设成100ms,这样计算量不大,精度也够用。

关键点:安时积分法本质上是一个开环积分器。没有反馈,没有修正。你给它什么初始值,它就沿着这个值一直算下去。

4.2 初始SOC标定

初始SOC怎么定?这是个大问题。你想想看,如果一开始水位就标错了,后面再怎么算都是错的。

我个人习惯用开路电压法来做初始标定。电池静置足够长时间后,端电压会趋近于开路电压OCV。而OCV和SOC有对应关系,查表就能得到初始值。

具体做法:

  1. 电池静置30分钟以上(我一般要求至少1小时)
  2. 测量端电压,确保没有负载电流
  3. 查OCV-SOC标定表,得到SOC(0)

这里有个坑。我在项目中遇到过,有些电池的OCV-SOC曲线在中间区域很平缓,比如磷酸铁锂。电压变化很小,但SOC变化很大。这时候查表误差会放大。我的建议是:对于这种电池,初始标定后尽快进入闭环修正,别光靠安时积分跑太久。

小技巧:如果系统允许,每次上电时都做一次OCV标定。这样即使上次下电时SOC有误差,这次也能拉回来。

4.3 电流采样误差累积问题

这是安时积分法的「命门」。说白了,积分就是累加。每次采样都有误差,正负偏差一点点,时间一长,误差就滚雪球。

我举个例子。假设电流采样精度是±5mA,采样周期100ms。一天下来:

误差累积 = 5mA * 0.1s * 86400 = 43200 mAs = 12 Ah

如果电池容量是100Ah,那一天的SOC误差就是12%。一周下来,基本就没法看了。

为什么会这样?因为积分器没有「遗忘」机制。误差只增不减。

我在实际项目中遇到过更头疼的情况。有一次,电流传感器的零点漂移没校准好,静态时显示有10mA的偏置。系统以为一直在小电流放电,实际上电池根本没动。结果SOC一路往下掉,用户投诉说「电池虚电」。后来查出来就是零点漂移的问题。

避坑指南:我曾经因为电流传感器温漂问题,导致夏季高温时SOC误差达到15%。后来我强制要求:每次系统上电后,先做电流传感器零点校准。静态电流必须小于±2mA才能开始积分。

减少误差累积的方法:

  • 定期校准:利用充电满充点或放电截止点,把SOC强制拉回100%或0%
  • 使用高精度传感器:比如霍尔传感器或分流器,精度做到±1mA以内
  • 温度补偿:传感器温漂曲线要提前标定,运行时实时补偿
  • 限制积分时间:不要长时间开环运行,定期用其他方法(如卡尔曼滤波)修正

4.4 优缺点与适用场景

安时积分法不是万能的,但也不是一无是处。咱们客观说说。

优点 缺点
实现简单,计算量小 误差会累积,无法自修正
实时性好,适合动态工况 依赖初始SOC精度
对硬件要求低 电流传感器精度直接影响结果
短时间精度高 长时间运行后误差不可控

适用场景

  • 短时应用:比如电动工具、无人机,单次充放电周期短,误差来不及累积
  • 作为辅助算法:在卡尔曼滤波或扩展卡尔曼滤波中,安时积分提供状态预测值
  • 低成本BMS:对SOC精度要求不高(±10%以内)的场景
  • 钠电池:钠电池的OCV-SOC曲线相对平缓,但安时积分法在短时动态工况下依然可用

不适用场景

  • 长期储能系统:运行数月甚至数年,误差累积无法接受
  • 高精度要求:比如电动汽车,要求SOC误差在±3%以内
  • 传感器噪声大的环境:比如强电磁干扰场合

我的建议:安时积分法适合做「短跑选手」,不适合「马拉松」。在实际项目中,我通常把它和开路电压法、卡尔曼滤波结合起来用。安时积分负责短时动态,其他算法负责长期修正。这样既保证了实时性,又控制了误差。

4.5 知识体系图

下面这张图总结了安时积分法的核心逻辑和关键环节:

安时积分法知识体系 核心公式 SOC(t) = SOC(0) - (1/Q_n)∫η·I(t)dt 初始SOC标定 开路电压法查表 静置30分钟以上 电流采样 传感器精度±5mA 零点校准与温漂补偿 误差累积问题 开环积分无反馈 长期运行误差滚雪球 优缺点与适用场景 短时精度高 / 长期误差大 / 适合辅助算法 结论:适合短跑,不适合马拉松

嗯,安时积分法就讲到这里。它简单、直接,但局限性也很明显。在实际项目中,我很少单独用它,都是和其他算法配合。下一节我们会聊到开路电压法,那个方法正好能弥补安时积分的短板。


专注资料整理