一种基于EKF算法的混合动力锂电池的SOC估算方法与流程

文档序号:18407880发布日期:2019-08-10 00:35阅读:308来源:国知局
一种基于EKF算法的混合动力锂电池的SOC估算方法与流程

本发明属于新能源电动汽车的动力电池领域,具体是一种基于ekf算法的混合动力锂电池的soc估算方法。



背景技术:

目前世界各国和政府对环境保护越来越重视,促进了新能源汽车的发展。新能源汽车的优点在于污染少,可以支持人类社会的可持续发展。新能源汽车中三个比较关键的技术分别是电机、电控和电池。

电池是新能源汽车的动力装置,而电池管理系统(batterymanagementsystem,bms)是电池的大脑,能够控制电池,防止出现过充、过放等行为,提高电池的使用寿命,增强电池的使用效率。所以bms是新能源汽车不可缺少的一套系统。

bms中最为核心的就是对电池的荷电状态(stateofcharge,soc),即剩余电量进行估算。目前各个车企都把对soc的估算看作核心技术。soc相当于传统汽车的油表,能够显示出电动车的电池电量状态,让驾驶者根据情况进行充电和驾驶。由于电池的电量不能通过仪器进行测量,所以精确的估算出soc是开发bms必须要解决的问题。目前有四种方法已经得到验证可以估算出soc的方法,分别是安时积分法、开路电压法、卡尔曼滤波算法和神经网络算法。目前市场上基本上采用的是前两种方法,后两种算法由于对芯片的计算能力要求高,目前基本上还存在于理论研究阶段,不过大量的研究结果已经证明,后两种方法的估算精度要高于前两种。目前市场上成熟的bms的估算精度大部分都是在5%以上,5%的精度虽然能够使用,但是对电池的利用率还不够,对电池的充放电管理也有缺陷,所以对估算电池soc的研究还需不断深入。

扩展卡尔曼滤波(ekf)算法是卡尔曼滤波算法的一种扩展,能够对非线性系统进行估算,而电池就是一种非线性系统,所以该算法可以用来对电池的soc进行估算。

王杰在文献《基于扩展卡尔曼滤波的动力锂电池soc估算研究》中采用了离线辨识方法,把辨识出来的时间响应τ=r*c看作是一个常数。实际上电池是一种复杂的非线性系统,时间响应τ=r*c会随着电量的变化而发生变化。



技术实现要素:

针对现有技术的不足,本发明拟解决的技术问题是,提供一种基于ekf算法的混合动力锂电池的soc估算方法。

本发明解决所述技术问题的技术方案是,提供一种基于ekf算法的混合动力锂电池的soc估算方法,其特征在于该方法包括以下步骤:

步骤1、建立混合动力锂电池的二阶rc等效电路模型,得到二阶rc等效电路模型的等效电路方程;

步骤2、进行离线参数辨识,通过hppc试验获得关于电池特性的数据参数,拟合出soc与开路电压ocv的对应关系曲线;通过将零输入响应端电压与等效电路方程中的端电压表达式联立,令u0=u辨别出r0、r1和r2的电阻值以及c1和c2的电容值;

步骤3、根据步骤1得到的等效电路方程和步骤2得到的r0、r1和r2的电阻值以及c1和c2的电容值,建立锂电池的离散状态方程;再结合等效电路方程中以电压形式表示的端电压的表达式,得到状态转移矩阵、系统控制矩阵和系统观测矩阵;

步骤4、根据步骤3得到的锂电池的离散状态方程、状态转移矩阵、系统控制矩阵和系统观测矩阵结合ekf算法对电池的soc进行估算。

与现有技术相比,本发明有益效果在于:

(1)本方法采用离线辨识方法进行估算,可以减少计算量,处理能力不太高的芯片也能满足使用要求,也可以减少芯片的使用量,降低bms的成本(在bms中芯片的成本要占到整个bms的70%左右)。

(2)本方法对离线辨识出的参数进行多项式拟合,避免使用固定的离线参数,减少估算时的误差,提高混合动力锂电池的soc估算精度。并且结合扩展卡尔曼滤波算法,该算法能够精确的估算混合动力锂电池的soc。综合应用能够极大的提高锂电池的soc估算精度。

(3)可以根据开发人员的意图对动力电池模型参数进行更新和优化,避免复杂而繁琐的标定操作。

附图说明

图1为本发明混合动力锂电池的二阶rc等效电路模型;

图2为本发明hppc试验工况图;

图3为本发明得到的混合动力锂电池soc估算值与真实值的对比图;

图4为本发明得到的混合动力锂电池soc估算值的误差图;

具体实施方式

下面给出本发明的具体实施例。具体实施例仅用于进一步详细说明本发明,不限制本申请权利要求的保护范围。

本发明提供了一种基于ekf算法的混合动力锂电池的soc估算方法(简称方法),其特征在于该方法包括以下步骤:

步骤1、建立混合动力锂电池的二阶rc等效电路模型(如图1所示),得到二阶rc等效电路模型的等效电路方程,如式(1)所示:

式1)中,u表示端电压,voc(soc)表示开路电压,i(t)表示随时间变化的电流,τ1=r1c1,τ2=r2c2;r0表示电池内阻,r1表示电化学极化电阻,r2表示浓度差极化电阻,c1表示电化学极化电容,c2表示浓度差极化电容,v1表示极化电压,v2表示浓差极化电压;

步骤2、进行离线参数辨识,通过hppc试验(混合动力脉冲试验)获得关于电池特性的数据参数,拟合出ocv-soc曲线(即得到soc与开路电压ocv的对应关系);通过将零输入响应端电压与等效电路方程中的端电压表达式联立,令u0=u辨别出r0、r1和r2的电阻值以及c1和c2的电容值;

步骤3、根据步骤1得到的等效电路方程和步骤2得到r0、r1和r2的电阻值以及c1和c2的电容值,建立锂电池的离散状态方程;再结合等效电路方程中以电压形式表示的端电压的表达式,得到状态转移矩阵、系统控制矩阵和系统观测矩阵;

yk=voc(soc,k)-r0i(k)-v1(k)-v2(k)(3)

式2)为锂电池的离散状态方程,式3)为等效电路方程中以电压形式表示的端电压的表达式;式3)中yk=u,voc(soc,k)=voc(soc),r0i(k)=i(t)r0,

将式2)和式3)联立,得到:

d=[r0](4)

式4)中,a表示状态转移矩阵,b表示系统控制矩阵,d和h均表示系统观测矩阵;δt表示单位时间,η表示充放电效率,c0表示电池容量;

步骤4、根据步骤3得到的锂电池的离散状态方程、状态转移矩阵、系统控制矩阵和系统观测矩阵结合ekf(扩展卡尔曼滤波)算法对电池的soc进行估算;

启动ekf算法前,由于初始状态矩阵x=[voc(soc)v1v2]t中极化电压非常小,因此v1和v2初始值为0;初始协方差矩阵p的初始值选为单位矩阵;

(1)开始ekf算法,先给迭代前状态矩阵xk-1、迭代前协方差矩阵pk-1和噪音q一个初始值,再带入卡尔曼时间更新方程中得到当前状态矩阵xk和当前协方差矩阵pk值;

(2)再将步骤1)得到的xk和pk值带入卡尔曼状态更新方程中,得到迭代后状态矩阵xk+1和迭代后协方差矩阵pk+1值;

(3)再将步骤2)得到的xk+1和pk+1值再次带入卡尔曼时间更新方程中分别代替xk-1和pk-1,得到新的xk;不停循环迭代更新xk,得到各个采样点的soc估算值,直到电池放电停止,得到整个工况的soc估算。

所述卡尔曼时间更新方程包括状态方程xk=axk-1+bik-1和协方差方程pk=apk-1at+q;所述卡尔曼状态更新方程包括卡尔曼增益方程kk=pkht(hpkht+d)-1、状态更新方程xk+1=xk+kk(yk-hxk)和协方差更新方程pk+1=(1-kkh)pk;其中,ik-1表示电流;1表示单位矩阵;kk表示增益矩阵;at表示a的转置矩阵;

步骤4)具体是:

启动ekf算法前,由于初始状态矩阵x=[voc(soc)v1v2]t中极化电压非常小,因此v1和v2初始值为0;初始协方差矩阵p的初始值选为单位矩阵;

(1)开始ekf算法,先给迭代前状态矩阵xk-1、迭代前协方差矩阵pk-1和噪音q一个初始值,再带入卡尔曼时间更新方程中的状态方程xk=axk-1+bik-1中得到xk值,带入卡尔曼时间更新方程中的协方差方程pk=apk-1at+q中得到pk值;

(2)再将步骤1)得到的pk值带入卡尔曼状态更新方程的卡尔曼增益方程kk=pkht(hpkht+d)-1中,得到kk值;再将得到的kk值和步骤1)得到的xk值带入卡尔曼状态更新方程的状态更新方程xk+1=xk+kk(yk-hxk)中得到xk+1值,将得到的kk值和步骤1)得到的pk值带入卡尔曼状态更新方程的协方差更新方程pk+1=(1-kkh)pk中得到pk+1值;

(3)再将步骤2)得到的xk+1和pk+1值再次带入卡尔曼时间更新方程中分别代替xk-1和pk-1,得到新的xk;不停循环迭代更新xk,得到各个采样点的soc估算值,直到电池放电停止,得到整个工况的soc估算。

实施例1

本实施例中电池采用容量为37ah、标称电压为3.5v的三元锂电池。

步骤1、建立混合动力锂电池的二阶rc等效电路模型(如图1所示),得到二阶rc等效电路模型的等效电路方程;

步骤2、进行离线参数辨识,通过hppc试验获得关于电池特性的数据参数,拟合出soc与开路电压ocv的对应关系曲线;通过将零输入响应端电压与等效电路方程中的端电压表达式联立,令u0=u辨别出r0、r1和r2的电阻值以及c1和c2的电容值;

在hppc试验中共进行9次峰值充放电(如图2所示),分别为0.895soc、0.7965soc、0.6985soc、0.6005soc、0.5035soc、0.402soc、0.2965soc、0.199soc和0.101soc。在峰值充放电中,进行4c放电10s,静置40s;3c充电10s。在图2中,将零输入响应端电压与等效电路方程中的端电压表达式联立,令u0=u,可以在每次充放电中辨别出r0、r1、r2、c1和c2;然后把每个参数9次辨别出来的数值进行多项式拟合。在静置期间可以得到soc与ocv的对应关系。

通过matlab进行多项式拟合为:

r0关于soc的六次多项式为

r0=(101soc6-329.6soc5+426.1soc4-281.4soc3+102.4soc2-20.28soc+2.917)/1000;

r1关于soc的六次多项式为

r1=(79.64soc6-254.9soc5+314soc4-189.3soc3+59.25soc2-9.295soc+0.9976)/1000;

r2关于soc的六次多项式为

r2=(245.1soc6-767.4soc5+957soc4-607.5soc3+208soc2-37.17soc+3.82)/1000;

c1关于soc的四次多项式为

c1=(317.3soc4-544.1soc3+241.3soc2-8.874soc+23.88)*1000;

c2关于soc的三次多项式为

c2=(0.893soc3-1.58soc2-0.997soc+0.98051)*1000;

ocv与soc的五次多项式为

voc(soc)=1.849soc5-7.167soc4+9.617soc3-4.943soc2+1.379soc+3.455;

步骤3、根据步骤1得到的等效电路方程和步骤2得到r0、r1和r2的电阻值以及c1和c2的电容值,建立锂电池的离散状态方程;再结合等效电路方程中以电压形式表示的端电压的表达式,得到状态转移矩阵、系统控制矩阵和系统观测矩阵;

锂电池的离散状态方程如式2)所示:

yk=voc(soc,k)-r0i(k)-v1(k)-v2(k)(3)

式3)为等效电路方程中以电压形式表示的端电压的表达式;式3)中yk=u,voc(soc,k)=voc(soc),r0i(k)=i(t)r0,

将式2)和式3)联立,得到:

d=[r0](4)

式4)中,a表示状态转移矩阵,b表示系统控制矩阵,d和h均表示系统观测矩阵;δt表示单位时间,η表示充放电效率,c0表示电池容量;

步骤4、根据步骤3得到的锂电池的离散状态方程、状态转移矩阵、系统控制矩阵和系统观测矩阵结合ekf算法对电池的soc进行估算;

启动ekf算法前,由于初始状态矩阵x=[voc(soc)v1v2]t中极化电压非常小,因此v1和v2初始值为0;初始协方差矩阵p的初始值选为单位矩阵;

(1)开始ekf算法,先给迭代前状态矩阵xk-1、迭代前协方差矩阵pk-1和噪音q一个初始值,再带入卡尔曼时间更新方程中得到当前状态矩阵xk和当前协方差矩阵pk;

(2)再将步骤1)得到的xk和pk带入卡尔曼状态更新方程中,得到迭代后状态矩阵xk+1和迭代后协方差矩阵pk+1;

(3)再将步骤2)得到的xk+1和pk+1再次带入卡尔曼时间更新方程中分别代替xk-1和pk-1,得到新的xk;不停循环迭代更新xk,得到各个采样点(不同时刻)的soc估算值,直到电池放电停止,得到整个工况的soc估算。

通过本方法预测的混合动力锂电池的soc如图3所示,误差如图4所示,由图3和图4可以看出,soc的估算误差最大在2.5%左右,远远低于市场上的6%左右的精度。

本发明未述及之处适用于现有技术。

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