一种用于纯电动汽车的电池容量主动估计方法与流程

文档序号:11772051阅读:470来源:国知局
一种用于纯电动汽车的电池容量主动估计方法与流程

本发明涉及汽车电池领域,尤其是涉及一种用于纯电动汽车的电池容量主动估计方法。



背景技术:

在电动汽车上高压电气部件有许多,如高压电池包,高压分线盒,电机控制器,空调控制器,dc/dc,充电器等。动力电池是最关键的部件之一,动力电池的性能通常随使用程度和使用和存储时间增加而变弱。这种变弱有两种表现形式:电池容量变化(变小),和充放电功率能力在同样的储电程度和温度下变化(变小)。行业上,对于电池容量,一般损失20%以上即表明电池不再具有足够的容量。

如果不能有效而精确的估计电池容量的变化,势必影响电池soc(stateofcharge)计算的精确度,进而导致影响sop(stateofpower)计算的精确度。soc和sop的不精确会导致电池使用不当,导致电池寿命缩短,并可能导致行车和充电安全。

行业上已有的决定锂电池容量的方法大致有两个:第一,将电池容量当作一个变量,与soc,及其它模型参数一起学习。这个办法的缺点是,电池容量的可观测性及其低,因此,和其它电池模型参数相比,在一个给定的循环中,电池容量是几乎定常的,和其它快速变化参数一起学习意义不大;第二,通过soc的定义,通过和电流积分独立的方法(比如,电池离线足够长时间后ocv读数再推到soc),得到容量值,并适当的处理(滤波),得到最终的容量值。

用第二种方法实现的算法已经有一些。比如,美国专利us8751086通过对两个soc的精确估计(通过ocv),并将电流,温度,电流总量考虑到算法中,实现了插电式混合动力汽车电池容量计算。由于其对ocv获取有比较苛刻的要求,可能在实际应用中,不能及时的学习电池容量。

目前已有的基于第二种方法的容量计算,没有考虑到纯电动汽车有其特殊的特点:纯电动汽车必须在使用一段时间后充电,因而现有的计算方法,在获取第二个ocv时会受漏电,电流平衡等的影响,进而降低容量计算的精度。更进一步,连续获得电池包稳态值的可能性比较小,因此,必须想办法在非理想的(也就是说,电池没有达到热平衡和电平衡,进而得到soc估计值)情况下,得到所需要的学习电芯容量的相关数据。



技术实现要素:

本发明的目的是针对上述问题提供一种用于纯电动汽车的电池容量主动估计方法。

本发明的目的可以通过以下技术方案来实现:

一种用于纯电动汽车的电池容量主动估计方法,用于对纯电动汽车的电池容量进行周期性主动估计,所述方法包括下列步骤:

1)判断是否到达纯电动汽车的电池容量周期性估计时间,若是则进入步骤2),若否则返回步骤1);

2)判断是否可以准确获取电池的第一soc值,若是则通过读取第一ocv值和当前温度得到第一soc值并进入步骤3),若否则放弃估计;

3)计算纯电动汽车在运行状态下的总电流积分值;

4)根据纯电动汽车的电池离线时间判断是否可以估计第二soc值,若是则估计第二soc值并进入步骤5),若否则放弃估计;

5)根据步骤2)得到的第一soc值、步骤3)得到的总电流积分值和步骤4)得到的第二soc值进行计算,得到纯电动汽车的电池容量估计值。

所述步骤4)具体为:

41)判断纯电动汽车的电池离线时间是否达到第一阈值,若是则直接读取电池端口电压,结合电池的电芯温度得到第二soc值,若否则进入步骤42);

42)判断纯电动汽车的电池离线时间是否达到第二阈值,若是则通过估计计算得到第二soc值,若否则进入步骤43);

43)判断纯电动汽车是否通过慢充充电的方式进入非离线状态,若是则进入步骤44),若否则放弃估计;

44)在慢充充电的时间达到第一阈值时,通过小电流充电计算得到第二soc值。

所述通过估计计算得到第二soc值具体为:

421)读取电池离线时间、电池初始电压和电池后续电压;

422)根据步骤421)读取的结果,得到电池的第二ocv值与电池初始电压、电池后续电压和电池离线时间的关系式;

423)通过最小二乘法对步骤422)中的关系式进行求解,得到电池的第二ocv值;

424)根据电池的第二ocv值与电池当前的温度,得到电池的第二soc值。

所述通过估计计算得到第二soc值还包括:重复步骤421)至423),得到不少于用户要求的组数的电池的第二ocv值,计算所有电池的第二ocv值的投影平均作为最终结果,进入步骤424)。

所述通过小电流充电计算得到第二soc值具体为:

441)读取当前的电池电压和温度;

442)根据当前的电池电压和温度,得到电池的第三ocv值;

443)根据soc-ocv的关系曲线,得到与第三ocv值对应的第三soc值;

444)根据步骤443)得到的第三soc值,结合慢充充电的电流值,计算得到第二soc值,具体为:

其中,soc2为第二soc值,soc3为第三soc值,ismall为慢充充电的电流值,tcal1为慢充充电的时间,η为电池充放电效率,qold为历史估计结果。

总电流积分值具体为:

其中,currint为总电流积分值,η为电池充放电效率,tend为纯电动汽车的运行时间。

所述步骤5)具体为:

51)根据步骤2)得到的第一soc值、步骤3)得到的总电流积分值和步骤4)得到的第二soc值进行计算,得到当前估计容量qlearned;

52)根据电池的估计时间,计算当前容量滤波系数alphanew;

53)根据步骤51)得到的当前估计容量qlearned和步骤52)得到的当前容量滤波系数alphanew,通过计算得到纯电动汽车的电池容量估计值。

所述当前估计容量qlearned具体为:

其中,currint为总电流积分值,soc1为第一soc值,soc2为第二soc值。

所述当前容量滤波系数alphanew具体为:

其中,alpha为标定滤波系数,t为电池实际寿命时钟,t1为标定估计时间,tc为实际估计时间。

所述纯电动汽车的电池容量估计值具体为:

q=qold×alphanew+(1-alphanew)×qlearned

其中,qold为历史估计结果。

与现有技术相比,本发明具有以下有益效果:

(1)在获取第一soc值和第二soc值的过程中,充分考虑了电池由于充电而带来的离线时间的长短问题,避免了漏电或电流平衡等带来的影响,因而得到的第一soc值和第二soc值的结果更为精确,继而也提高了最终容量估计的准确程度,精确度高。

(2)在估计第二soc值的过程中,首先考虑了电池的离线时间,对离线时间足够长的电池直接通过读取端口电压得到第二soc值,避免了繁琐的估计过程,对离线时间达到要求或离线时间不达要求但通过慢充充电的电池,通过估计计算或小电流充电计算得到第二soc值,尽可能的对电池的第二soc值进行估计,从而完成容量估计,只有对离线时间不达要求且充电方式也不达要求的电池才放弃学习,使得估计过程尽可能的完整和可行,降低了电池容量估计的门槛,更适用于实际使用。

(3)对于慢充充电的电池,仍通过估计计算得到第二soc值,既考虑到了常见的通过外界充电桩进行充电的电动汽车,也考虑到了利用家用充电桩进行慢充充电的汽车,适用范围广

(4)利用最小二乘法计算电池的第二ocv值,继而得到电池的第二soc值,这种计算方法更加准确,提高了最终的容量估计精度。

(5)在计算第二soc值的过程中,还包括多次计算第二ocv值求取投影平均值来作为第二soc值的计算基础,进一步提高了容量估计精度。

(6)在进行容量估计的过程中,引入容量滤波系数,该容量滤波系数是根据电池的实际估计时间来进行计算的,因此将容量估计与估计时间进行匹配,更加符合实际情况,精确程度高。

(7)该估计方法由于通过读取ocv值来得到电池的soc值,因而该方法可以跟踪每个电池单元的容量变化,实用性能强。

附图说明

图1为本发明的方法流程图;

图2为本实施例中的电路图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

如图1所示为本发明提供的一种用于纯电动汽车的电池容量主动估计方法,用于对纯电动汽车的电池容量进行周期性主动估计,该方法包括下列步骤:

1)判断是否到达纯电动汽车的电池容量周期性估计时间,若是则进入步骤2),若否则返回步骤1);

2)判断是否可以准确获取电池的第一soc值,若是则获取第一soc值并进入步骤3),若否则放弃估计;

3)计算纯电动汽车在运行状态下的总电流积分值:

其中,currint为总电流积分值,η为电池充放电效率,tend为纯电动汽车的运行时间

对于电池充放电效率η,在放电时记为1,在充电时则为电池温度的函数;

4)根据纯电动汽车的电池离线时间判断是否可以估计第二soc值,若是则估计第二soc值并进入步骤5),若否则放弃估计:

41)判断纯电动汽车的电池离线时间是否达到第一阈值,若是则直接读取电池端口电压,结合电池的电芯温度得到第二soc值,若否则进入步骤42);

42)判断纯电动汽车的电池离线时间是否达到第二阈值,若是则通过估计计算得到第二soc值,若否则进入步骤43),通过估计计算得到第二soc值具体为:

421)读取电池离线时间、电池初始电压和电池后续电压;

422)根据步骤421)读取的结果,得到电池的第二ocv值与电池初始电压、电池后续电压和电池离线时间的关系式;

423)通过最小二乘法对步骤422)中的关系式进行求解,得到电池的第二ocv值;

通过估计计算得到第二soc值还包括:重复步骤421)至423),得到不少于用户要求的组数的电池的第二ocv值,计算所有电池的第二ocv值的投影平均作为最终结果,进入步骤424);

424)根据电池的第二ocv值与电池当前的温度,得到电池的第二soc值;

43)判断纯电动汽车是否通过慢充充电的方式进入非离线状态,若是则进入步骤44),若否则放弃估计;

44)在慢充充电的时间达到第一阈值时,通过小电流充电计算得到第二soc值:

441)读取当前的电池电压和温度;

442)根据当前的电池电压和温度,得到电池的第三ocv值;

443)根据soc-ocv的关系曲线,得到与第三ocv值对应的第三soc值;

444)根据步骤443)得到的第三soc值,结合慢充充电的电流值,计算得到第二soc值,具体为:

其中,soc2为第二soc值,soc3为第三soc值,ismall为慢充充电的电流值,tcal1为慢充充电的时间,η为电池充放电效率,qold为历史估计结果;

5)根据步骤2)得到的第一soc值、步骤3)得到的总电流积分值和步骤4)得到的第二soc值进行计算,得到纯电动汽车的电池容量估计值:

51)根据步骤2)得到的第一soc值、步骤3)得到的总电流积分值和步骤4)得到的第二soc值进行计算,得到当前估计容量qlearned:

其中,currint为总电流积分值,soc1为第一soc值,soc2为第二soc值;

52)根据电池的估计时间,计算当前容量滤波系数alphanew:

其中,alpha为标定滤波系数,t为电池实际寿命时钟,t1为标定估计时间,tc为实际估计时间;

53)根据步骤51)得到的当前估计容量qlearned和步骤52)得到的当前容量滤波系数alphanew,通过计算得到纯电动汽车的电池容量估计值:

q=qold×alphanew+(1-alphanew)×qlearned

其中,qold为历史估计结果。

根据上述步骤,将电池以一个二阶电路表示,如图2所示,进行一次完整的电池容量估计,其中,所有模型参数r0,r1,c1,r2,c2,都是已知的电池温度函数,电池soc是电池平衡时的开路电压的非线性单调增长函数,则估计过程过程如下:

a:依据日历,决定是不是需要学习容量。

在其它因素对等的情况下,锂电池容量变化遵循逆根号时间关系,也就是说,使用的时间越长,对应的容量将会是初始容量除以时间的根号。

根据以上特点,我们在bms软件设计时,首先标定一个最小容量学习时间段。bms全局时钟决定是不是需要学习容量值。

在上述方法中日历时间决定了什么时候必须学习容量,以及学习滤波系数,作为一个另类方法,可以用放电量来代替日历时间。唯一需要改变的是在滤波系数计算时,不再需要开方。

b:决定第一soc值

一旦全局时钟触发了容量学习,第一件事就是通过电池包断电时间,在keyon时,读取每个电池单元的ocv值。这些ocv值决定了每个电池单元的第一soc值。如果电池包断电时间过短,不能获取这些第一soc值,那么放弃本轮容量学习,即如果第一个soc不能可靠获取,等待下一次,这次不学了。

c:决定电流积分

在车辆运行时,把总电流积分,考虑充电效率(在能量再生时)。这个值将用于容量计算。

d:keyoff,等待keyon或充电触发

纯电动车的特点是充电必不可少。因此,一旦keyoff,可以随时检测电池包离线时间。

如果在keyon/充电开始时,这个离线时间足够判断第二个soc,那么可以到第g步。如果离线时间不足以判断第二soc值,那么,需要考虑不同的唤醒方式。如果是keyon,那么可以看看是不是离线时间足以估计最终的soc值,并得到所需要的第二个soc。如果离线时间不足以估计最终得soc值,那么放弃本轮容量学习,并清除相关的变量,等待下一次学习,即进入步骤f。如果是充电唤醒,那么可以看看是不是离线时间足以估计最终的soc值,并得到所需要的第二个soc,即进入步骤e。如果离线时间不足以估计最终的soc值,如果是慢充,选择用小电流充电的方法,以达到获取第二个soc值得目的。

e:不同充电方式–家用充电桩,慢充

如果充电是家用充电桩,那么,用小电流(比如,5a)开始定常充电,充电时间可以是对应电池电芯离线后能够获取电池平衡状态soc的时间。(这和温度有关)

f:不同充电方式-其它

放弃本轮容量学习,并清除相关的变量,等待下一次学习。

g:获取第二soc

不论哪种情况,一旦电池包离线时间超过最小获取电池包离线后获取有效ocv的时间,且没有充电电流,第二soc将可以比较精确获取。

g_1:电芯离线时间容许soc直接从端口电压获取

这是个已知的办法。通常是读取一组端口电压值,并获得rms值,依据电芯温度,倒推出soc值。

g_2:keyon/充电唤醒,且离线时间容许估计最终得soc值

具体过程为:

第一步:获取keyoff时间(n个采样周期,n×ts),初始电压v(i,1),以及后续电压:v(i,1),v(i,2),…,v(i,m)

第二步:列出方程:

第三步:用最小二乘法获取ocv:

用最小二乘法可以得到ocv。这是需要估计的ocv值。通过ocv,和温度(假定和现在读数一致),可以得到soc值。

第五步:如果要更进一步的精度,上述步骤可以重复计算并将得到的ocv投影平均。

g_3:keyon唤醒或其它充电唤醒,且离线时间不容许估计最终的soc值,如前所述,本轮学习停止,等待下一次。

g_4:家用慢充充电机唤醒,且离线时间不容许估计最终的soc值,用小电流ismall充电一定时间,获取soc2,由于电流ismall很小,时间也不长,用过去的容量计算这个小的soc变化带来的误差可以忽略不计。

h:计算本次容量

一旦第一,第二soc决定,并且电流积分已获取,那么可以通过定义,获得本次容量q_learned。

i:容量滤波

在bms开发时,会确定一个滤波系数。这个系数将随每次容量学习间隔而调整:

滤波系数计算

考虑标定容量学习时间是t1,实际间隔是tc,电池包实际寿命时钟是t,那么,实际使用的滤波系数是:

alpha_new=alpha*(sqrt(t+t1)/sqrt(t+tc))

注:使用时间的平方根的意义是,有研究表明电池容量时间上衰减是和时间平方根的逆成正比。alpha_new<=1(如果大于1,那么设为1),alpha本身是个标定值,比如,0.95。

容量计算:

q=q_old*alpha_new+(1-alpha_new)*q_learned

数据存储:

一旦学习结束,bms将把容量,学习时间(更新到现在的全局时钟)存储到eeprom中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1