第一章:SOC基础——电池模型与SOC定义

各位同学,欢迎来到《从SOC到SOH:电池管理算法进阶之路》。我是你们的老朋友,一个在BMS领域摸爬滚打了十几年的工程师。

今天咱们聊聊最基础,也最容易被忽视的东西——SOC。说白了,SOC就是电池还剩多少电。但你别小看它,我见过太多项目因为SOC算不准,最后整个系统崩掉的案例。

1.1 电池模型:你总得知道电池长什么样

要算SOC,首先得有个电池模型。模型不对,后面全白费。

我个人习惯把电池模型分成三类:

  • 理想模型:把电池当成一个理想电压源。简单,但误差大到没法用。
  • 内阻模型:在理想模型基础上串个电阻。嗯,比理想模型好点,但动态响应还是差。
  • RC模型:用电阻电容网络模拟电池的极化效应。这是工程中最常用的。

我在项目中遇到过最坑的事,就是有人用内阻模型去做快充策略。结果呢?电压跳变严重,SOC估计直接飘了10%。

核心观点:模型精度决定算法上限。你后面用再牛的卡尔曼滤波,模型本身不准,结果也是白搭。

1.2 SOC定义:别以为这很简单

SOC的全称是State of Charge,荷电状态。公式很简单:

SOC = (剩余容量 / 额定容量) × 100%

但这里有个坑——额定容量怎么定义?

有的厂家用1C放电容量,有的用0.33C,还有的用1/20C。你想想看,同一个电池,不同标准下额定容量能差20%。

注意:SOC定义必须统一。我建议项目一开始就定好:以0.33C(约3小时率)放电容量为基准。否则后面团队吵架都吵不完。

1.3 OCV-SOC曲线标定:这是BMS的命根子

OCV(开路电压)和SOC的关系,说白了就是电池的“身份证”。每款电池都有自己的OCV-SOC曲线。

标定方法通常有两种:

  1. 静置法:充到满,放一点电,静置2小时,测电压。重复直到放空。
  2. 小电流法:用极小的电流(比如0.02C)放电,近似认为端电压≈OCV。

我个人更推荐静置法,虽然慢,但数据可靠。我曾经用静置法标定一款三元锂电池,整整花了3天时间。但换来的是后续SOC估计误差小于2%。

SOC (%) OCV (V) - 磷酸铁锂 OCV (V) - 三元锂
100 3.65 4.20
80 3.40 4.00
50 3.30 3.70
20 3.20 3.50
0 2.50 3.00

看到没?磷酸铁锂的OCV曲线在中间段非常平缓。这意味着什么?意味着你靠电压查SOC,在30%-70%区间基本查不准。嗯,这里要注意,磷酸铁锂的BMS必须用安时积分法做主力。

经验之谈:标定OCV-SOC曲线时,温度一定要控制好。25℃和0℃测出来的曲线能差不少。我建议至少做25℃、0℃、45℃三组数据。

1.4 安时积分法:原理与误差分析

安时积分法,也叫库仑计数法。原理简单到令人发指:

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

说白了,就是电流对时间积分,算出用了多少电量,然后从初始SOC里减掉。

但为什么这么简单的方法,实际用起来却一堆坑?

误差来源主要有三个:

  • 电流测量误差:传感器有偏置和增益误差。0.5%的电流误差,跑1小时就能累积出0.5%的SOC误差。
  • 初始SOC不准:如果初始值就错了,后面再怎么积分也是错的。
  • 容量衰减:电池老化后额定容量会下降,但你的算法还在用新电池的容量算。

我曾经在一个储能项目里,就因为电流传感器温漂太大,导致SOC误差在一天内累积到15%。最后不得不加了个定期校准的机制——每次电池充满时强制把SOC设为100%。

避坑指南:安时积分法必须配合校准机制。我建议至少做到:

  • 每次充满电时重置SOC为100%
  • 每次放空时重置SOC为0%
  • 定期用OCV查表法做修正

好了,第一章的内容就到这里。安时积分法虽然简单,但它是所有高级算法的基础。你想想看,卡尔曼滤波也好,神经网络也罢,本质上都是在安时积分法的基础上做修正。

下一章咱们聊聊卡尔曼滤波——怎么用数学方法把SOC误差压到1%以内。到时候见。