【干货】BMS准确定义与SOC高精度之间的关系

 

SOC(stateofcharge)算法一直是电池管理系统(BMS)开发应用的关键技术之一。因此讨论SOC算...





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

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

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

1、用户参考需求:

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

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

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

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

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

由此可见要满足不同“功能模块”对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越低温度系数比例就越高的现象。

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

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

从以前情况可看出,若要准确定义SOC需要考虑容量性质维度和温度状态维度,并得到了V2.0版本的计算模型。通过这个模型我们可以看到若以25℃的可用电量评价SOC,则SOC = (S2 + f2)/(S1 + S2 + f1 + f2)。

若以实时温度的可用电量评价SOC,则SOC = S2 / (S1 + S2 + f1 + f2) 。显然在不同的“功能需求”下我们需要选择不同的定义。本文我们再继续讨论其他需要考虑的维度。



3、电池寿命状态维度

电池在使用的过程中寿命将逐渐衰减,衰减机理主要在于正负极材料晶体的塌陷和电极的钝化导致了有效锂离子的损失。总电量也将从BOL(Beginning of Life)向EOL(End of Life)状态趋近。因此在计算SOC时需要考虑是采用BOL时刻的总容量,还是当前寿命下的实际总容量。

为了进一步完善算法模型可在V2.0模型的基础上增加电池循环寿命对容量的影响。将平面模型拓展成三维模型(如下图所示),新增的Z轴坐标表示电池循环次数。该模型可以根据电池循环次数的累加,相应的减少电量模型在X、Y轴平面的投影面积,即表征电池容量随着循环次数的衰减。当然在实际应用中电池的循环次数并不能直接与总电量对应,电池电量的衰减与电池在使用过程中的充放电倍率C rate、放电深度DOD、使用温度、搁置温度等因素相关。



要解决这个问题首先需要通过电池实验找到在特定基准下的电池循环次数与电量衰减的关系。例如:以70%DOD、25℃、1C倍率充放循环为基准的电量衰减特性。然后仅改变其中的单一因素进行试验(如下表所示):

DOD Factor

Temperature Factor

C Rate Factor

Num

DOD(%)

T(℃)

C Rate

Num

DOD(%)

T(℃)

C Rate

Num

DOD(%)

T(℃)

C Rate

1

50%

25

1

1

70%

-20

1

1

70%

25

0.2

2

60%

25

1

2

70%

-10

1

2

70%

25

0.5

3

70%

25

1

3

70%

0

1

3

70%

25

1

4

80%

25

1

4

70%

15

1

4

70%

25

1.5

5

90%

25

1

5

70%

25

1

5

70%

25

2

6

100%

25

1

6

70%

40

1

7

70%

55

1

通过试验可获得电池电量衰减曲线(如下图示例),从而得到温度因子对总电量与循环次数的关系的影响(利用Arrhenius方程求解)。则BMS可在实际的工况中将影响因子与实时电流一同进行积分运算,从而将实际循环次数折算到特定基准下的循环次数。对于影响因子本身的不精确和积分过程中造成的累计误差可以通过充电工况进行必要的校正以提高电量衰减的估算精度。



当然Z轴坐标除了循环次数以外还可以考虑采用电池内阻来反映容量的衰减。但从模型在BMS软件应用的角度来看循环次数是更为便于采集、运算、比较、参照的参数。现在回到最初的公式:SOC=剩余容量/总容量。再将上述三个维度代进公式:SOC = 剩余容量_(性质_温度)/ 总容量_(性质_温度_寿命)。理论上可能有32种排列组合,当然大多数并没有实际意义,需要结合“功能需求”确定适合的定义,常见有3种。

性质

温度

寿命

电量(Ah)

25℃(N)

BOL

能量(Wh)

实时温度(RT)

实际寿命(Age)

在用以衡量续驶里程、续航时间等与功率相关的场景下可定义为:SOC = 剩余容量_(Wh_RT)/ 总容量_(Wh_N_Age)。首先该定义选择了以能量(Wh)进行比较,同时剩余容量选取了实际温度(RT)下的状态,而总容量选择了25℃(N)的基准,目的在于给用户一个相对稳定的参照坐标系。并且在该定义下总容量可随着电池寿命的衰减及时调整至实际寿命(Age)。需要注意的是在进行能量积分运算时必须将能量效率η系数代入,从而在剩余能量中减去电池运行产生的热能。因此该SOC值可描述为SOE(State of Energy)。

在电池健康状态(SOH)算法中可定义为:SOC = 剩余容量_(Ah_N)/ 总容量_(Ah_N_BOL)。始终以常温下BOL状态为基准,当电池系统满充时刻则可求得SOH(State of Health)= SOC / 100%。

在电池功率边界(SOP)算法中需要输入当前温度和SOC值进行查表,从而确定实时的充放电功率边界。可定义SOC = 剩余容量_(Ah_N)/ 总容量_(Ah_N_Age)。选择该定义方式是由于电池功率边界通常是根据不同温度下的HPPC实验计算和标定的,所以代入的SOC值可忽略温度对剩余容量的影响。

4、电池一致性维度

前三个维度主要讨论了理想情况的SOC定义(电池系统内的电池一致性程度高),但在实际情况下一定需要考虑一致性差异对SOC计算的影响。一致性差异可以分两个方面展开讨论,第一种情况是Charge Mismatch,通常是电池之间自放电差异造成的电池荷电态不同。



第二种情况是Capacity Mismatch,可能是电池本身的差异或是电池使用环境、温度差异等因素造成的容量差异。



正常情况下我们认为电池系统符合短板效应,即应该以Min_Cell(最低荷电态单体)的SOC为准。但在充电过程中当Max_Cell(最高荷电态单体)至100%SOC时充电停止,而此时SOC却不到100%。这对于用户而言就意味着电池无法充满电(想象一下睡前你给手机充上电,第二天一早醒来看到电量还是90%是什么感觉,一定认为手机出什么故障了),显然这是不可接受的。而如果我们以Max_Cell的SOC为准,那么很可能用户在看到还有10%电量的情况下突然失去电池系统的功率输出了。如果以电池系统所有电池的平均SOC为准,那上述两个问题将同时存在。因此可以通过权重系数调节SOC的选取倾向,即当电池系统整体荷电态较高时偏重Max_Cell,反之偏重Min_Cell(举例:SOC=Max_Cell * SOC+Min_Cell *(1 - SOC))。

对于情况一:Charge Mismatch在放电过程中的SOC曲线将如下图变化。



对于情况二:Capacity Mismatch在放电过程中的SOC曲线将如下图变化。



总结:

本文以SOC = 剩余容量/总容量 的公式为出发点,分析了分子和分母在不同维度上的可能性,并设计了几何模型用以描述,从而实现了对SOC更为具体的定义。同时将电池系统的不一致性作为SOC计算的一个重要考虑因素,提出了权重系数计算方法。作者认为只有明确了SOC的定义才能为BMS算法在实际应用中提高SOC精度提供依据和基础。

参考文献一: John Wang, Ping Liua, Jocelyn Hicks-Garnera.Cycle-life model for graphite-LiFePO4 cells [J].Power Sources, 196 (2011) 3942–3948.

参考文献二:2004年10月第34卷第五期《电池》电动汽车SOC估计方法原理与应用,林成涛,王军平,陈全世

转自第一电动汽车网




    关注 汽车技术课程


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册