SOC(state of charge)算法一直是电池管理系统(BMS)开发应用的关键技术之一。因此讨论 SOC 算法的技术文章很常见,企业对 SOC 估算的高精度也往往是宣传的亮点。而关于 SOC 详尽的解释和定义却不常被考虑,从而导致了 SOC 算法结果的参考价值大打折扣。显而易见若 SOC 的概念都是模糊的,又何来精确的 SOC 呢?因此作者希望通过本文分析几种维度下的 SOC 值,以及这些 SOC 值的作用。

 

粗率的说,SOC=剩余容量 / 额定容量,而要准确表述 SOC 的意义就要对计算的分母——额定容量(Total Capacity)和分子——剩余容量(Residual Capacity)进行更为严谨的定义。以下是某些企业和组织关于 SOC 的定义:

(1)美国先进电池联合会(USABC)在其《电动汽车电池实验手册》中定义 SOC 为:电池在一定放电倍率下, 剩余电量与相同条件下额定电量(Ah)的比值。

 

(2)韩国起亚汽车公司定义 SOC 为:SOC= 剩余可用能量 / 总的可用能量(Wh)。

 

(3)日本本田公司电动汽车 EV Plus 定义 SOC 为:SOC = 剩余电量 / (额定电量 - 电量衰减);剩余电量(Ah)= 额定电量 - 净放电量 - 自放电量 - 温度补偿电量。

 

SOC 算法首要的难点便是针对不同的“功能需求”进行额定容量和剩余容量的定义,同时这两个参数一旦从不同的性质维度、温度维度、电池生命周期维度去观察,则可能计算出不同的 SOC 值。首先解释什么是“功能需求”。在计算出电池组系统的 SOC 值后,有多个功能模块将调用 SOC 值作为其的输入,同时不同的功能模块调用 SOC 值的需求也不尽相同。大致可以将“功能需求”分为三类:

 

1. 用户参考需求:

第一类是最常见的需求,即用户需要对电池系统剩余的可用能量进行评估,从而决策对产品的使用方式。因此用户更为在意的是与运行距离或使用时间对应的 SOC 关系。

 

2. 整车控制策略参考需求:

第二类是整车控制策略需要参考的 SOC 值,从而对行驶策略进行管理。尤其是混动汽车需要将 SOC 值始终控制在适合的区域内,从而实现节能减排(SOC 不能太高,确保刹车能量能尽可能多的回收),提升性能(SOC 不能太低,确保加速过程的大功率输出),提高能量效率(保持在低内阻 SOC 区间运行),延长电池寿命(保持长期运行浅充浅放)的作用。因此整车控制器更为在意的是功率特性和寿命衰减对应的 SOC 关系。

 

3. 电池管理算法参考需求:

第三类是电池管理算法中需要参考的 SOC 值,由于电池组系统将随着使用和搁置从 BOL 状态向 EOL 状态过渡,而 BMS 则需要对电池系统全生命周期进行管理。因此电池管理算法更为在意的是在内部有一个基准,使算法在 BOL 和 EOL 之间的任一状态找到可以互相等价的 SOC 关系。类似于工程经济学中利用时间价值模型将不同阶段的资金通过折现率算法(discount rate) 计算,从而进行转化或比较。

由此可见要满足不同“功能模块”对 SOC 值的参考需求,SOC 值的含义需要更多元,对不同功能输出的 SOC 值要更精准。接下来我们就需要讨论该从哪几个维度去定义 SOC 值:

 

1. 容量性质维度

进行容量积分运算的时候我们可以根据电荷守恒定律选择以安时(Ah)为单位,也可以根据能量守恒定律选择以瓦时(Wh)为单位。如下图所示,以容量 C 为 X 轴,以电压 V 为 Y 轴。不同温度下 1C 放电截止在 X 轴上的点为当前温度下电池的电量(mAh),而各个放电曲线与 X、Y 轴形成的面积为当前温度下电池的能量(wh)。从图中可以看出在低温环境下电池电压平台显著下降,因此在低温下即使总电量损失不明显,但总能量将大大降低。因此当 SOC 值被用于衡量续航的时候,显然用能量(Wh)这个维度表征更加适合。举例:如果用电量(Ah)的维度来计算,将会出现 100%至 50%的过程比 50%至 0%所释放的能量(wh)多的情况,用户可能会因此对续航做出过于乐观的判断,导致半路抛锚。这就是第一个要考虑的定义容量性质的维度。

 

 

2. 温度状态维度

讨论温度维度之前,首先需要了解温度变化对于电量变化的影响。为了便于理解和想象我提出了一种用于描述电池状态的几何模型。如下图所示:为一个 60Ah 电池的模型。横坐标为电流(A),纵坐标为时间(S)。因此 X=60 (A),Y=3600 (S)与坐标轴一同封闭的面积即使电池的电量 60(Ah)。然后运用电流积分运算,就可以基于这个简单的模型计算 SOC 值,SOC= S2 /(S1 + S2)。

 

接下去我们来做一个可以完全凭借想象的实验。假设有一颗单体电池 A 在 25℃环境下满电状态容量为 60Ah;将其在 25℃满充,然后在 0℃充分搁置再放空,共放出 50Ah。那么请想象:如果将该颗电池 A 在 25℃调整 SOC 为 50%(即剩余容量为 30Ah),再将其放置于 0℃充分搁置并放空。请问能放出的容量应该是多少?建议大家先不要往下看,先凭借想象力估算一下。

 

通常情况下我们可能会推测出以下几种情况。推测 A 认为 60Ah 的电池在 SOC 为 50%的情况下可以放出 30Ah,即温度对电量没有影响。推测 B 认为电池在 0℃电量衰减至了 50Ah,同时初始剩余了 30Ah 的电量,因此还能放出 20Ah。推测 C 认为电池电量和温度是等比变化关系,满电状态下 0℃与 25℃比例关系为 5:6,则目前 50%状态下因保持该比例,则可放出的电量为 25Ah。上述三个推测你认为哪一个是正确的呢?我通过实验来回答。

 

 

我采用航天 LFP8000(mAh)电池进行了温度与电量的关系试验。选取了 6 颗同批次生产的电池,BOL(25℃)状态下电量约 8500mAh。将这 6 颗电池在常温下调整 SOC 在四个状态,分别为 100%,100%,75%,50%,50%,25%(为了确保试验的有效性,测试方案在 100%和 50%这两个关键状态上分别都设计了两颗电池便于参照和容错)。然后分别在 -5℃,5℃,15℃,25℃,35℃,45℃这六个温度环境下充分搁置后放空,记录放出电量。

 

 

将该试验结果绘制成曲线图(如下)。从图中可见除 35℃以外,其他温度环境下均能找到温度与电量变化的关系,即电池放电电量=额定电量*SOC*温度系数。初步证明假设 C 的结论。而 35℃的"异常"却是我在试验前未曾预料到的。

 

 

通过进一步的试验数据分析可见,无论电池 SOC 处于何种状态,电池在 35℃下的放电电量始终较 25℃有着约 400mAh 的增长,从而导致 SOC 越低温度系数比例就越高的现象。

 

 

由此我又设计了另一个试验。试验采用航天 LFP 60(Ah)的电池,将其在 25℃充满(测定实际容量为 64.8Ah),然后在 0℃充分搁置后先放出 25Ah,然后在室温 25℃充分搁置,再将电池放空,共放出 39.5Ah。通过试验可见,该电池并未因为曾在低温环境下搁置和放电导致总电量明显下降,即温度变化可改变当前可用电量,使部分电量被“冻结”,但总电量不变。因此我们可将最初的电池几何模型进一步优化,将温度对容量的影响添加到模型当中,得到如下 V2.0 版本。(需要注意的是几何模型的构建是通过试验获得电池外特性从而找到温度与电量的某种简单却并不一定精确的数学关系。若从化学反应的建模方式着手可以采用能斯特模型 Nernst model。考虑到电池管理系统的运算能力以及对 SOC 值的精度要求,几何模型能较好的满足实际算法的要求。)

 

 

找到了温度变化和电量的关系,再回到 SOC 的问题上。我们在实时计算 SOC 的时候应该始终以常温 25℃为基准,还是需要根据当前的实际温度求得剩余可用电量和总容量呢?这就是第二个要考虑的温度状态的维度。