基于无迹卡尔曼滤波的纯电动汽车锂电池SOC 估算
2024-02-06束文强
束文强
(安徽信息工程学院 电子与电气工程学院,安徽 芜湖 241000)
伴随着人们对生活质量的要求越来越高,汽车保有量每年持续增长,然而燃油汽车所需的不可再生资源逐渐减少、环境污染加重等问题的出现极大影响了传统汽车产业的发展,同时也给新能源汽车的发展与繁荣提供了一个极好的机遇,在未来若干年,电动汽车将会越来越受青睐[1]。作为纯电动汽车的动力提供设备,能否准确估算剩余里程是电池管理的一个主要参考依据[2]。现阶段制作电池的原材料发展已取得较大的进步,目前制约其发展的主要因素为能源管理问题,也是亟待解决的关键。
电池的荷电状态是考量电池性能的一项重要参数,对其进行准确估算,可以有效避免因过度充放电而降低电池的使用寿命和工作性能。但与电池的电压、电流以及温度等物理量可进行直接测量不同,电池的荷电状态SOC 估算因其内部较为复杂的电化学反应,以及电池在工作过程中能量的变化具有较强的非线性,会使得对电池的SOC 估算难以准确获取相应的精确值。目前对纯电动汽车的荷电状态SOC 估算,国内外研究者对其研究的方法主要有以下几种。
方法一为放电试验法,该方法在估算过程中需要不间断地对电池进行放电,其放电量为放电时间和电流的乘积,虽可精确地获取SOC 的估算值,但需要中断工作的电池,因此放电试验法无法满足车辆行驶的要求;方法二为安时积分法,该方法采用SOC 的定义,通过电流积分的方式得出电池放出的电量,再通过SOC 的初始值来计算当前时刻的SOC,该方法的不足之处为无法自动确定其初始值,且伴随着时间的累积相应的误差也会随之累加,故无法对其进行精确估算[3];方法三为开路电压法,该方法为当蓄电池的电压和电流为零时可对其进行准确估算,但需对电池进行较长时间的静置处理,因此无法满足实时检测的需求;方法四为神经网络法,该方法是一种智能学习方法,能自适应地应用于非线性系统当中,但是需大量的训练数据和训练算法作支撑,且针对较为复杂的工况易受干扰[4]。无轨迹卡尔曼滤波算法(UKF)利用的是最优状态的无偏估算,其较适用于电流变化较大的场所,同时产出的误差也相对较低[5]。本文基于卡尔曼滤波算法的核心思想为:通过研究控制对象的系统状态来计算出基于最小方差意义的精确估计,该方法能适用于线下系统和非线性系统当中,通过搭建无轨迹卡尔曼滤波算法模型对纯电动汽车锂电池SOC 估算研究。
1 锂离子电池模型
磷酸铁锂电池的结构组成主要包含了正负极材质、隔膜、电解质以及PTC 元件等。作为锂电池的核心部件之一的正负极材料一直是研究人员的研究重点。本文采用的锂电池的正负极材料为LiFePO4和石墨。因无法直接获取SOC,故需搭建电池模型用于研究电池外部特性和电池内部状态之间的关系,从而可为准确估算电池的SOC 提供良好的基础。等效电路模型因其具有表达式简单、易于变换成相应的状态空间表达式和适用于SOC 估算等优点,故得到广泛应用[6]。
本文采用戴维宁模型方法,因其可将电池内部化学反应中的极化现象等效为极化电阻和极化电容,同时可实现对电池的动静态特性的模拟以及考虑了温度、电流和充放电状态等影响因素而得到广泛应用,其电路结构如图1 所示。
图1 戴维宁模型
图1 为构建的锂电池的状态空间模型,Ui、ik和U 分别为系统的状态变量、输入以及输出量。其状态方程为
输出观测方程为
其中,f(SOCk)为通过实际测量的数值对其进行拟合所得到开路电压OCV 与SOC 之间的关系。
针对上述表达式,搭建相应的电池数学模型,通过采用脉冲放电实验的方法,得出锂电池开路电压与荷电状态的关系辨识。在对锂电池放电过程中采用不同的恒定电流对其进行操作,得到电池的荷电状态从1 变为0 的结果,同时每一次放电容量的时间间隔设置为0.1 s,并对静置循环过程的周期设置为60 min。本次实验通过充放电测试仪对电池进行相应的测试,实验对象为10 Ah 的磷酸铁电池,实验过程中对电池以1 C 脉冲进行放电,且每一次对电池放电的容量均为1 Ah,从而得出OCV-SOC 的数据,如表1 所示。
表1 OCV-SOC 数据
将所获取的实验数据加入到Matlab 中,利用拟合工具箱cftool 可以得到SOC 与OCV 的关系曲线,如图2 所示。
图2 OCV 与SOC 关系图
由图2 可知,OCV 与SOC 之间为非线性关系,采用非线性最小二乘拟合方法,得出OCV 与SOC 二者之间的对应关系,将其加入到Matlab 仿真软件中,借助于其中的拟合工具箱cftool 得出相应的曲线,如图3 所示。
图3 OCV 与SOC 拟合结果
2 基于UKF 的锂电池SOC 估算
UKF 算法是将卡尔曼滤波算法(Kalman filter,KF)和无迹变换(Unscented Transform,UT)组合搭建而成的一个非线性的滤波方法。作为UKF 算法的核心与前提,UT 算法是通过对非线性变量统计值进行计算,从而得出符合统计规律的多个变量值。非线性变量的获取是通过利用采样点按照一定概率分布进行模拟得出,利用变量的统计特性,遵循一定的方法选定有限量的采样点,满足所选择的参考点与已知变量的概率分布特性相接近。通过确定所要估计的被估量的均值和方差,以被估算的量为基本数据,利用堆成采样策略得出相应的个数参考点,同时考虑参考点与被估算量有相同的均值和方差,该过程称作被估量的sigma 化。
生成sigma 点是采用UKF 算法估算SOC 的前提条件,本文采用对此策略的sigma 点,将所获得的sigma 经过无迹变换后,加入到卡尔曼滤波框架当中去,从而实现UKF 算法的应用。具体的UKF 算法流程如下:
(1)利用UT 变换获取相应的权值以及sigma 点来计算出相应的sigma 点,即
其中,系数a 的取值为1;单体电池中n 的取值为2,对应的比例系数为λ。
(2)计算sigma 点对应的加权系数,即
其中,比例系数k 的取值为1;高斯白噪声系统中系数β 的取值为2。
(3)计算状态量的下一时刻预测值与协方差阵,即
其中,Qk为系统协方差阵。
(4)计算卡尔曼增益以及搭建出滤波框架。将获取的估算值代入到卡尔曼滤波框架当中,以此替换掉EKF 算法中的数据,从而可更新系统状态和协方差。其推导过程为
在对锂离子电池的SOC 估算过程中,其状态变量为SOC,锂电池两端的端电压作为已知量,端电压作为系统的输出量,通过已建立的Thevenin 模型与相应的表达式结合,得出系统的状态空间模型,将所获取的状态空间模型进行离散化处理,得出相应的表达式为
对UKF 的锂电池SOC 估算由两部分组成,其一为SOC 的预测,其二为SOC 的校正。
(1)SOC 的预测。首先将上一时刻得到的SOC 值和状态方差值进行初始化处理,利用UT 原理得到该时刻状态值附近的sigma 点,即
下一时刻的状态变量点集的获取可通过状态方程得到,即
通过UT 的方法,对下一时刻获取到的所有sigma 点进行加权求均值,便可得出下一时刻状态变量估值的状态均值和状态协方差,即
利用测量方程,将下一时刻状态变量点进行非线性传播处理,可得出下一时刻输出变量的sigma点,即
对下一时刻的输出变量点集,以UT 加权求均值和协方差的方式得到下一时刻的输出预测值,从而得到电池的端电压均值和协方差为
(2)SOC 的校正。与下一时刻的状态变量和输出变量相对应的协方差矩阵为
此时的卡尔曼滤波增益为
将下一时刻的状态进行更新,即
对下一时刻状态变量的协方差进一步更新,即
采用上述方法对锂电池SOC 进行不断地预测和修正,便可实现估计值向实际值的不断收敛,从而可实现实时估算锂电池SOC 的目标。
3 UKF 仿真
为了验证UKF 估计磷酸铁电池荷电状态的性能,本文取SOC=0.95 对电池进行恒流放电实验,通过以安时法估算作为结果的参考值(若可精确掌握SOC 初始值时,锂电池的SOC 可以用安时积分法计算所得的结果来进行表示),在Matlab 中,利用上述锂离子电池模型的状态方程及输出方程,搭建SOC估计算法的仿真模型,仿真中将负载设为5 A 恒流放电模式,初试状态为电池满电情况下进行放电,从而获取不同时间的电压、电流值,利用测量的值进行UKF 估算,结果如图4、5 所示。
图4 SOC 的初始值设置为0.95 时的仿真结果
图5 两种算法的估算误差
由图4、5 可知,EKF 算法在前几分钟还具有较好的跟随性能,但随着时间的增加其误差也在逐渐增大,电池放电的后期误差增加到6.08%;由仿真UKF 算法估算SOC 的结果可知,放电时间在40 min之前能够与参考值保持较好的跟随性能,在放电的后期误差也能保持在4%之内,产生上述误差的原因可能是在对锂电池实际工作过程测量时,受到外界环境因素或测量时误差累积等影响,使得误差不断增加,但是在整体的放电过程中,采用UKF 方法获取的测量值误差控制效果较好,该误差能够满足电动汽车对电池的要求。
4 结语
本文针对磷酸铁电池为一个较为复杂的非线性系统,提出了一种针对磷酸铁电池荷电状态的UKF估算的方法,采用在锂电池二阶等效戴维宁模型的基础上,利用扩展卡尔曼滤波方法适用于非线性系统的特点,建立了UKF 算法的锂电池SOC 估算模型;搭建Matlab 模型并对其进行仿真,通过对模型参数的辨识可得出磷酸铁电池内部的参数会随着SOC 的变化而发生改变,仿真结果表明,采用UFK 算法估算能够将误差控制在4%之内,该控制精度相对较高,可满足电动汽车对锂电池SOC 估算要求,因此适用于纯电动汽车对锂电池的性能需求。在电池的实际工作过程中,电池在不同工况下受到过程噪声和测量噪声不断变化的影响,UKF 算法初试化噪声后噪声矩阵无法实时对其进行调整,该情况会导致UKF 估算的精度降低,此时可以通过对系统加入自适应控制的方法解决噪声的更新,从而实现对电池状态进行更好的估算。