第1章:安时积分法(Ah Counting)

各位工程师朋友,咱们今天聊聊SOC估算里最基础、也最常用的方法——安时积分法。说白了,它就是通过电流对时间的积分,来计算电池充进去了多少电、放出了多少电。嗯,这个方法我用了快十年了,虽然简单,但坑也不少。

1.1 基本原理:不就是个积分吗?

安时积分的数学公式特别简单:

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

其中:

  • SOC(t):当前时刻的荷电状态
  • SOC(0):初始SOC值
  • Q_n:电池额定容量(单位:Ah)
  • η:库仑效率(充电时约0.98-0.99,放电时约1.0)
  • i(t):瞬时电流(放电为正,充电为负)

你想想看,这就像你往水池里灌水、放水。初始水位是SOC(0),水龙头流量是电流,水池容量是Q_n。积分就是记录水表走了多少。道理很直白,对吧?

核心要点:安时积分法本质是一个开环累加过程。它不关心电池内部化学状态,只关心「流过了多少电荷」。

1.2 累积误差分析:为什么越算越不准?

我在项目中遇到过最头疼的问题,就是SOC越跑越偏。明明刚校准完还挺准的,跑了两天就差了5%以上。为什么会这样?

误差来源主要有三个:

  1. 电流采样误差:ADC采样有偏移和增益误差。哪怕只有0.1%的误差,在100A的电流下,一小时就能积累0.1Ah的偏差。你想想,一天下来就是2.4Ah,对于50Ah的电池,就是4.8%的SOC误差。
  2. 库仑效率不确定性:η不是常数。低温下充电效率会下降,老化后效率也会变。我习惯在-10°C以下把充电效率设为0.95,但实际可能更低。
  3. 容量衰减:Q_n会随着循环次数增加而减小。如果你一直用出厂额定容量去算,那误差只会越来越大。
误差来源 典型影响 我常用的应对方法
电流采样偏移 每1000秒累积0.1% SOC误差 定期做零电流校准,采样前做偏移补偿
库仑效率偏差 单次充电误差0.5%-1% 根据温度和电流倍率查表修正η
容量老化 循环500次后误差可达5%以上 定期用SOH估算更新Q_n

注意:安时积分法的误差是随时间累积的,不会自动消除。我曾经在一个项目中连续运行了3个月没做校准,SOC误差跑到了12%——那真是血的教训。

1.3 初始SOC校准:从哪里开始?

安时积分法最怕什么?怕初始值不准。如果SOC(0)就错了,后面再怎么积分也是白搭。

我个人习惯用以下几种方式来做初始校准:

  • 开路电压法(OCV):电池静置2小时以上,测量开路电压,查OCV-SOC曲线得到初始值。这是最准的方法,误差可以控制在1%以内。
  • 充电满校准:当检测到充电完成(电流降到C/20以下且电压达到满充电压),强制将SOC设为100%。
  • 放电空校准:当电池电压降到放电截止电压且负载断开,强制将SOC设为0%。

我的小技巧:在BMS上电时,先判断电池是否处于静置状态。如果是,就用OCV法校准;如果不是,就沿用上次下电时的SOC值,同时开启一个计时器,等电池静置够了再自动校准。这样既保证了实时性,又兼顾了精度。

嗯,这里要注意一点:OCV-SOC曲线在中间区域(20%-80%)比较平坦,电压变化很小。这时候查表误差会放大。我建议在中间区域用安时积分法为主,两端区域用OCV法做校准。说白了,就是让两种方法互相补台。

1.4 实际工程中的取舍

做BMS这么多年,我越来越觉得安时积分法就像一把双刃剑。它简单、实时性好,但精度受限于传感器和模型。如果你追求高精度,那就得配合其他方法(比如卡尔曼滤波)一起用。如果只是做低成本的消费电子,纯安时积分法加上定期校准,也够用了。

最后送大家一句话:没有完美的算法,只有合适的方案。安时积分法用得好,能解决80%的SOC估算问题。剩下的20%,靠的是你对电池特性的理解和工程经验的积累。

下一章,咱们聊聊开路电压法(OCV)的实战应用。到时候我会分享一个我踩过的坑——关于OCV静置时间不够导致的误判。敬请期待。