基于扩展卡尔曼滤波的电动汽车锂电池组SOC估算*
2020-12-07杜玉环商世广
杜玉环 商世广
(西安邮电大学电子工程学院 西安 710121)
1 引言
随着世界经济和交通运输的发展,环境污染和能源短缺等问题日益突出,电动汽车以其零排放、无污染和节能环保等优点逐渐取代了传统燃油汽车被广泛应用到现代生活中[3]。作为电动汽车最关键部分,动力电池组在电动汽车行驶能力和安全性能等方面起到至关重要的作用,锂电池因其容量大、自放电率低、安全性能好和使用寿命长[4]等优点成为电动汽车的首选电源。为了防止汽车锂电池出现过压、欠压和剩余电量不足等问题,管理电动汽车动力锂电池成为必要,管理锂电池的核心是对锂电池荷电状态(State of Charge,SOC)进行估算。
目前,国内外关于SOC的估算方法常见的有开路电压法、负载电压法、内阻法、安时积分法、线性模型法、卡尔曼滤波法和神经网络法等[5],这些估算方法存在估算误差大、降低噪声效果不理想等缺点,难以实现对SOC 的准确估算。文中采用EKF算法实时估算锂电池SOC,并考虑电池内阻对估算精度的影响改进了EKF 算法,通过Matlab/Simulink工具箱构建二阶RC 电池等效电路模型,结合算法进行仿真。结果表明,改进后的EKF算法具有更精确的估算结果,将锂电池SOC 估算误差减小到2%以内。
2 电池模型构建及参数辨识
2.1 锂电池等效模型构建
基于戴维宁等效电路[6]的二阶RC 等效电路模型如图1。
图1 锂电池等效电路模型
图1 中,电池开路电压用VOCV(SOC)表示[7],流过电池的电流用I表示;RΩ表示电池欧姆内阻;R1、R2分别表示电池极化内阻;C1、C2分别表示电池极化电容。
VB表示电池模型的端电压:
V1是R1C1网络的电压:
V2是R2C2网络的电压:
SOC 是电池剩余容量与额定容量在放电倍率一定时的比值[8]:
式(4)中,用SOC0表示SOC 的初始值,电池额定容量用QN表示,库伦效率用η表示。
根据等效电路将式(1)、(2)、(3)和(4)中各部分的数学关系写成状态方程并且离散化:
式(5)中,Δt为采样周期(s)。
2.2 模型参数辨识
锂电池的充放电过程是非线性的,电池模型中各参数很难通过理论分析获得,可对电池模型施加激励信号求其响应获得[9]。文中采用充放电实验仪器对电池进行脉冲充放电,对额定电压为3.7V的三元锂电池采用1C 放电倍率放电60s,然后静止420s,图2为电池端电压响应曲线:
图2 电池端电压响应曲线
图2 中放电时电池端电压先急剧下降然后缓慢下降;停止放电后电池端电压先急剧上升然后缓慢上升。流过电池的电流在停止放电瞬间消失,欧姆内阻RΩ会引起电池端电压变化:
由图2 可知,R1C1和R2C2组成的串联网络放电时端电压输出方程为
式(8)中VOCV(C)表示C 点的开路电压值(V),τ1、τ2为时间常数,且τ1>τ2,τ1=R1C1,τ2=R2C2,导入图2 放电静置阶段的电压响应数据,建立零输入响应数学模型,利用Matlab 工具对模型参数C1、C2、R1、R2进行指数拟合法辨识,辨识结果见表1。
表1 电池等效电路模型参数
3 扩展卡尔曼滤波SOC估算
3.1 卡尔曼(Kalman)滤波算法
Kalman 滤波器能够实现从不准确的输入数据中通过滤波更新获得逐渐趋近于目标数据的输出信息[10],其主要任务是获得最小方差估计,并使用估计误差协方差矩阵P 的值作为评价估算精度的重要参考。Kalman 滤波离散状态空间方程如下:
式(9)为状态方程,式(10)为量测方程;xk为系统状态变量;yk为系统观测变量;uk为系统激励;A 为状态转移矩阵;B 为输入矩阵;C 是测量矩阵,D 是前馈矩阵。
状态方程噪声用wk表示;量测方程噪声用vk表示,假设wk和vk都是零均值的高斯白噪声且互不相关,满足:
式(11)中,Qk表示噪声wk的协方差。
式(12)中,Rk表示噪声vk的协方差。
采用Kalman 滤波算法建立状态空间方程,并利用电池开路电压VOCV(OCV)与SOC 之间的特殊关系来估算SOC 值,估算流程如图3。输入量与观测量分别为电流I与电压V。
图3 Kalman滤波估算流程
Kalman 滤波算法有估算准确、运算方便等优点,但其不能消除随着开路电压误差累计导致的SOC估算误差,在实际应用中存在一定缺陷。
3.2 扩展卡尔曼滤波算法建模
卡尔曼滤波算法中状态变量、系统激励和观测变量之间的关系是线性的,电动汽车锂电池的SOC与放电倍率、容量和温度等诸多因素非线性相关,将Kalman 系统状态空间方程改为函数f(xk-1,uk-1)和g(xk,uk)的状态空间方程[11],在该非线性动态系统中开路电压的误差积累将会被减小,从而得到更加精确的估算结果。将该算法称作扩展卡尔曼滤波算法(Extended Kalman Filte,EKF)[12]。状态空间模型如图4所示。
EKF系统状态空间方程:
式(13)中,f(xk-1,uk-1)为非线性状态函数;g(xk,uk)为非线性测量函数。
图4 EKF状态空间模型
将非线性离散函数f(xk,uk)及g(xk,uk)进行泰勒一阶展开[13]。设两个函数在各点均可导,则:
定义:
公式线性化之后,表达式与状态向量xk的关系:
EKF算法的流程具体的操作步骤如下。
1)初始化
2)预测过程
状态预测方程:
状态预测协方差方程:
3)校正过程
反馈增益方程:
滤波方程:
协方差更新方程为
3.3 改进扩展卡尔曼滤波算法
电池充放电过程中内组RΩ会产生轻微的变动会影响SOC 估算精度[14],本文在EKF 估算过程中考虑内阻的状态更新:
状态方程:
观测方程:
利用EKF 算法对内阻RΩ和SOC 值进行同时估计,优化内阻参数,形成新的扩展卡尔曼滤波算法,改进后的EKF算法估算流程如图5所示。
图5 改进EKF算法估算流程
4 锂电池仿真实验结果
本文的实验对象是3.7V/40Ah 的三元锂电池,实验环境温度为20℃。实验平台由电池测试仪和计算机组成,分别在恒流放电和动态测试工况下对算法精度进行验证。
图6 恒流放电工况下的估算结果以及估算误差
电池恒流放电倍率为0.75C,实验结果如图6所示。图6(a)为SOC真实值、EKF估算值和改进后的EKF 估算结果对比,可以看出改进后的EKF 算法估算结果更接近真实值;图6(b)显示了EKF 算法和改进后的EKF算法估算误差,可以看出改进后的EKF 估算误差最大值为1.57%,验证了该算法的精确度。
图7 DST的工作条件及SOC估算结果和估算误差
动态应力测试(Dynamic Stress Test,DST)是USABC电池测试手册中对联邦城市驾驶计划(Fed⁃eral Urban Driving Schedule,FUDS)的简称[15]。图7为DST 工况下三元锂电池的电流值、电压值、SOC估算结果和估算误差。电流曲线如图7(a)所示,在每个放电周期内设置不同的放电倍率,每360s 为一个放电周期;电压曲线如图7(b)所示,从图中可以看出放电过程中电池电压从4.3V 下降到3V 左右;DST 工况下的SOC 真实值、EKF 估算值和改进后的EKF 估算值如图7(c)所示,从图中可以看出改进后的EKF估算结果更接近真实值;误差对比如图7(d)所示,可以看出在DST工况下改进后的EKF误差保持在2%以内,提高了SOC估计的精度,收敛性更好。
5 结语
电池管理系统的核心技术是SOC 估算[16]。本文在EKF 算法基础上考虑内阻对SOC 估算精度的影响,提出了一种新的估算方法。为了描述电池的外部特性,建立了二阶RC 等效电路模型并且对模型参数进行辨识。与EKF算法相比,改进后的EKF算法具有更高的估计精度。最后分别在恒流放电工况下和DST工况下验证了该算法的有效性。