基于卡尔曼滤波的动力电池SOC估算

2024-01-13 11:22徐立友杨晴霞宋林涛马小斌
关键词:端电压等效电路卡尔曼滤波

徐立友,马 可,2, 杨晴霞, 宋林涛, 马小斌

(1. 河南科技大学 车辆与交通工程学院, 河南 洛阳 471000; 2. 河南凯瑞车辆检测认证中心有限公司, 河南 焦作 454000; 3. 焦作煤业集团物资供应处, 河南 焦作 454000)

锂离子电池是电动汽车和混合动力电动汽车具有发展潜力的能量来源,三元锂电池具有高能量密度、长循环寿命、良好的工作稳定性和工作温度范围大等特性.良好的电池管理系统(battery mana-gement system, BMS)可以确保电动汽车和混合动力电动汽车储能的安全性和可靠性[1-2].准确估算电池的荷电状态(state of charge,SOC)是BMS中的一项重要功能[3].由于电池的SOC不能直接测得,必须在有限的测量条件下,通过电压、电流、温度等参数的直接测量来进行估算[4].

随着BMS技术的不断完善和发展,估算电池SOC的方法及优缺点如下:开路电压法[5]简单易行,因为获取电池开路电压需要电池长时间静置,所以开路电压法不适合在线计算电池SOC;安时积分法[6]计算简单,易于实现,然而难以确定电池SOC初始值,长时间积分计算会产生累积误差;神经网络法[7]适用于各种电池,对于电池这种非线性系统具有好的SOC估算能力,但是估算结果会陷入局部最小点;卡尔曼滤波法[8]通过建立卡尔曼滤波方程对电池的SOC进行计算,估算电池SOC精度高,但是受电池模型的限制,系统设计困难,计算量大;粒子滤波法[9]对于非线性系统适用性较强,但存在粒子退化问题,导致粒子多样性降低,会降低SOC计算效率.

笔者建立锂电池的二阶RC等效电路模型,针对传统卡尔曼滤波算法估算SOC存在的缺点,提出一种无迹卡尔曼粒子滤波(unscented Kalman particle filter, UKPF)算法,并与无迹卡尔曼滤波(unscented Kalman filter, UKF)算法和粒子滤波(particle filter, PF)算法得出的SOC结果进行比较.

1 电池建模及参数辨识

1.1 锂电池等效电路模型的建立

等效电路模型使用电阻、电容、恒压源等电路元件组成电路网络来描述电池的外特性,且对电池的各种工作状态有较好的适用性,能推导出模型的状态方程,便于分析和应用[10].常见的锂电池等效电路模型包括Rint模型、Thevenin模型、PNGV模型等.二阶RC模型结构简单,对锂电池动态特性和外特性体现良好,应用较广.因此,选取二阶RC模型作为离线辨识模型,二阶RC等效电路模型如图1所示,其中:I为回路电流;Uoc为理想电压源的电压,与SOC存在非线性关系;R0为电池的欧姆内阻;R1、R2为电池的极化电阻;C1、C2为电池的极化电容;U1为R1和C1两端的电压;U2为R2和C2两端的电压;U为电池的端电压.

图1 二阶RC等效电路模型图

定义放电电流方向为正,充电电流方向为负.根据基尔霍夫定律,可以得到系统方程和观测方程:

(1)

1.2 锂电池参数辨识

为辨识锂电池二阶RC等效电路模型参数,采用10节型号为INR18650-30Q的三元锂离子动力电池并联进行试验,该电池单节的额定容量为3 A·h,充电截至电压为4.2 V,放电截至电压为2.5 V,标称电压为3.6 V.

通过对电池脉冲放电来进行参数辨识,试验步骤如下: ① 使用标准电流以恒定电流、恒定电压(CCCV)充电方式将待试验电池充至满电; ② 将电池静置5 h,使电池接近平衡状态; ③ 对电池进行一定时间的恒流放电,至SOC减少5%时停止放电,放电结束后将电池静置2 h; ④ 重复步骤③,直到电池达到其放电截止电压.

试验中电池电压的部分响应曲线如图2所示.当时间ttc时,电池放电结束.

图2 电池电压部分响应曲线

锂电池二阶RC等效电路模型中参数辨识步骤如下:

1) 对R0进行参数辨识.由于电流加载瞬间属于高频信号,高频信号经过RC回路直接从电容通过,R1和R2不起作用,产生的压降为a点到b点的压降,主要由R0产生.当电流撤去的一瞬间,电容C1和C2上的电压不会突变,而R0上的电压发生突变,c点到d点的电压突变由R0产生,R0可表示为

(2)

式中:U(ta)、U(tb)、U(tc)、U(td)分别为ta、tb、tc、td时的电压.

2) 对R1、R2、C1、C2进行参数辨识.电流在持续加载过程中,对C1和C2充电,由于R1、R2的存在,电池端电压逐渐下降,即b点到c点的压降,此过程为零状态响应.当电流撤去后,在RC回路中电容C1和C2上的电压会通过R1和R2产生放电效应,电池的端电压逐渐上升,d点到e点的电压变化,此过程为零输入响应.因此整个放电过程为

(3)

式中:U(t)为t时刻的端电压;U(t0)为初始时刻t0的端电压;τ为时间常数.

当系统为零状态响应时,R1、C1两端的放电电压U1(t)和R2、C2两端的放电电压U2(t)分别为

(4)

(5)

式中:τ1=R1C1;τ2=R2C2.

当系统为零输入响应时,U1(t)和U2(t)分别为

(6)

(7)

由观测方程式(1)得

(8)

因此,R1、R2、C1、C2分别为

(9)

(10)

(11)

(12)

锂电池二阶RC等效电路模型参数辨识结果平均值如下:R0=3.72 mΩ;R1=1.92 mΩ;R2=3.53 mΩ;C1=23 342.405 7 F;C2=501 348.709 8 F.

参数辨识中电池的端电压仿真结果如图3所示.

图3 二阶RC模型端电压仿真结果图

从图3a可以看出:二阶RC等效电路模型电池的端电压追踪效果良好,能够表征电池在工作时的端电压.从图3b可以看出:在放电末期时,二阶RC等效电路模型电池的端电压估算误差较大.这是由于在放电末期时,电池端电压变化剧烈,追踪效果滞后导致模型误差增大,但总体误差仍小于0.05 V.

2 基于卡尔曼滤波的SOC估算

2.1 无迹卡尔曼滤波算法原理

UKF结合无迹变换(unscented transform,UT)和标准卡尔曼滤波,使非线性系统方程适用于线性假设下的标准卡尔曼体系,无迹变换主要是将随机变量的非线性函数线性化,其线性化的结果要比泰勒级数线性化(扩展卡尔曼滤波使用策略)的结果更准确,因此,UKF算法估算系统状态具有更高的精度.无迹卡尔曼滤波算法估算系统状态的主要计算步骤如下:

1) 确定状态初始值x0和后验状态误差协方差初始值P0.

2) 计算采样点,公式为

(13)

(14)

(15)

式中:Wm为系统噪声;Wc为测量噪声;Qk为系统噪声协方差矩阵.

(16)

(17)

式中:Rk为观测方差的协方差矩阵.

5) 更新系统协方差Pxy,计算公式为

(18)

6) 计算卡尔曼滤波增益Kk,公式为

(19)

7) 更新系统状态量与误差方差矩阵:

(20)

(21)

2.2 无迹卡尔曼粒子滤波算法原理

2.2.1粒子滤波算法原理

粒子滤波的基本思路是先提取一些离散随机粒子,然后在状态观测的基础上调节权值的大小和粒子的位置,再使用这些样本来逼近状态后验分布,这些粒子利用概率密度函数来完成对样本中均值的估算.粒子滤波的优点是不用进行积分运算,对电池动态参数能进行很好预测,适合非线性系统.

2.2.2无迹卡尔曼粒子滤波算法流程

UKF算法在估算动力电池SOC时,在处理系统噪声问题中,将系统噪声的统计特性假定服从高斯分布来逼近系统状态的后验概率密度,导致对系统状态估算精度降低.PF算法不受限于系统的噪声分布,对系统状态估算结果准确,但是PF算法估算系统状态时,由于粒子权重不同带来的不平衡现象,导致出现计算效率低及准确性下降的问题.

由于UKF算法与PF算法在估算系统状态时自身都存在优劣势,为提高算法估算精度,将2种算法相结合.核心改进点是在PF算法产生点集后,采用UKF算法将每个点进行计算,而且将UKF算法作为PF算法在估算系统状态时的建议分布函数,之后进行常规的PF算法计算过程.该方法在保证PF算法产生粒子多样性的同时,也进一步提高了PF算法估算系统状态的精度和稳定性,从而解决了PF算法存在的粒子退化问题,有效将2种算法的优势都发挥出来.UKPF算法流程如图4所示.

图4 UKPF算法流程

UKPF算法估算系统状态的主要步骤如下:

1) 初始化.根据先验概率采样产生初始粒子集:

xk(i)~p{xk|xk-1(i)},i=1,2,…,n,

(22)

式中:p{xk|xk-1(i)}为初始粒子集;n为循环次数.

(23)

从建议分布函数中采样粒子,计算粒子的权值,然后进行量纲一处理.

③ 对粒子集进行重采样,重新分配粒子的权值从而得到新的支撑粒子集:

(24)

3) 返回2),直到SOC降为0,算法结束.

3 试验结果与对比分析

3.1 测试平台搭建与试验数据采集

为了使采集的试验数据具有有效性,建立电池充放电测试系统,如图5所示,该系统由上位机、电池测试系统和环境测试箱组成.电池检测系统通过上位机的控制信号对电池进行充放电,并将采集的电池数据上传至上位机.环境测试箱提供合适的电池测试环境,包括温度条件和相对湿度条件.

图5 电池充放电测试系统

试验采用电动汽车城市道路循环工况(urban dynamometer driving schedule, UDDS)进行数据采集,试验温度为25 ℃,相对湿度为40%,试验的初始电压为4.16 V,结束电压为2.50 V,采样时间间隔为0.1 s,放电容量衰减率为100%.UDDS工况是目前应用较多的一种工况,电池电压和电流随时间的变化曲线如图6所示

图6 UDDS工况下电池电压和电流随时间的变化曲线

3.2 算法综合仿真对比

为验证UKPF估算电池SOC的有效性和准确性,在相同初始条件下,利用UDDS工况下测得的数据,在MATLAB中进行仿真,在SOC为0.2~1.0时,3种算法SOC的估算值和误差如图7所示.

图7 SOC仿真曲线图

由图7a可以看出:3种算法都能完成对动力电池SOC的估算,电池SOC估算算法开始运行后,3种算法都能从设定的初始值快速收敛至真实值附近;在高SOC的状态下,动力电池运行时内部参数噪声不明显,UKF算法在估算SOC时对系统噪声长时间的运算处理导致估算结果精度降低;PF算法在估算电池SOC时,需要先产生大量粒子作为样本后再进行运算,同样会降低计算效率并在前期引起计算结果发散,导致在前期的估算结果不佳;UKPF算法在结合了2种算法的优势后,前期需要大量的运算,虽然估算精度有所提高,但是在SOC估算前期效果仍不明显;在电池SOC估算中后期,随着动力电池SOC估算算法运行时间的增加以及电池动态特性变差,UKPF算法的优势逐渐显现出来,其在估算过程中运算结果最贴近SOC的真实值,在3种算法中估算精度最高.从图7b可以看出:动力电池SOC估算误差波动与前文分析的SOC估算结果一致,UKPF算法SOC估算误差除在前期波动较大外,其余估算过程中误差波动幅度较小.因此,UKPF算法相较于其他2种单一的算法,在估算动力电池SOC时具有精度高和稳定性好的优势.

SOC估算误差如表1所示, 3种算法收敛后SOC估算误差都小于5.0%,都较准确地估算电池SOC,其中,UKPF的平均误差和最大误差最小,误差小于2.5%,优于另外2种算法,收敛时间最短.随着算法复杂性的增加,其收敛时间相对增加,但综合性能仍优于其他2种算法,因此UKPF算法估算电池SOC具有估算精度高、收敛速度快的优势.

表1 SOC估算误差

4 结 论

主要对三元锂电池的SOC进行估算,通过分析算法原理及仿真测试分别对 UKF算法、PF算法存在的优劣进行了分析,针对上述算法特点采用多算法融合的方法构建了UKPF算法估算电池SOC,该算法解决了单一算法估算结果稳定性差、精度低等问题,实现了对动力电池SOC的高精度估算.

通过建立锂电池二阶RC等效电路模型进行参数辨识,并通过模拟电动汽车城市道路循环工况采集三元锂电池数据,在MATLAB中对上述几种算法估算电池SOC进行了验证分析.结果表明:UKPF算法精度最高,SOC估算误差小于2.5%,相较于UKF和PF算法,其精确度高、稳定好,具有更好的鲁棒性,对今后估算锂电池SOC具有应用价值.

猜你喜欢
端电压等效电路卡尔曼滤波
磁致伸缩振动能量收集器的全耦合非线性等效电路模型
基于撕裂法的变压器绕组集总参数等效电路频率响应计算方法
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
励磁调节器PT回路故障后机端电压变化分析
人工心脏无位置传感器无刷直流电动机非导通相端电压分析
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制
通信机房不间断电源蓄电池的应用与维护
基于自适应卡尔曼滤波的新船舶试航系统
变频调速异步电动机电磁转矩计算方法