基于联合EKF-UKF算法的锂电池SOC预估研究

2023-11-29 02:59:58范攀龙
电源技术 2023年11期
关键词:状态变量卡尔曼滤波预估

海 涛,范攀龙,王 钧

(1.广西大学电气工程学院,广西南宁 530004;2.华蓝设计(集团)有限公司,广西南宁 530004)

实现“碳达峰、碳中和”的目标是我国未来发展的主要基调之一,光伏发电、风力发电等绿色无污染的发电方式得到人们的重视,尤其是光伏发电的发展十分迅速[1]。光伏发电极易受环境影响导致其发电不稳定,在直接与参与并网时极易对电网造成损害,因此光伏发电系统中需要加入蓄电池储能增强并网的可控性进而提升其电能质量[2]。蓄电池作为一个电能的中转站对光伏发电有着至关重要的作用,其工作状态监测以及充放电模式的选择等都需要通过SOC的预测进行判断[3]。

常用的电池SOC预估方法有直接测量法和模型驱动法,其中直接测量法通常使用开路电压法和安时积分法,开路电压法需要将电池静置一段时间之后才能准确得出其SOC值,不能进行实时的SOC预估,安时积分法则会有较大的累积误差产生[4-6]。模型驱动法则是通过搭建电池的等效电路模型模拟电池的状态,采用滤波的方法进行SOC预估,通常经过卡尔曼滤波来实现电池SOC的估值[7],该方法具有较好的实时性并且误差较低,但是对系统要求较高,系统需是线性系统否则将会存在系统发散的问题。在卡尔曼滤波的基础上逐步完善,提出了EKF 算法[8-9],通过将非线性系统线性化的方式,实现了非线性系统中也能进行SOC预估且系统稳定运行。此外,也有通过神经网络算法进行SOC的预估[10],该方式可用于SOC的实时预估不过存在运算复杂且容易受到训练数据的影响,对不同类型和型号的电池预测误差较大。

本文针对电池SOC预估首先对EKF 算法进行了建模的仿真与分析,同时对UKF 算法进行了建模与仿真,结合两种算法的仿真结果分析,提出了联合EKF-UKF 算法进行SOC预估的方法。针对三种算法的仿真结果进行了对比分析,验证了联合EKF-UKF 算法可以有效降低SOC预估的误差。

1 Thevenin电池模型及开路电压与SOC的关系

电池的等效电路模型可以将电池的基础参数转换为数值表示出来,通过等效模型更加方便对电池进行数学分析。常见的电池模型有等效电路模型、电化学模型等,其中等效电路模型的应用较为普遍,常见的等效电路模型有Thevenin模型、PNGV 模型等,Thevenin 模型根据电池内部的性质进行搭建,在此以其为对象进行研究。Thevenin 模型如图1 所示。

图1 Thevenin电池模型

结合该模型可得电流、电压之间的关系并给出了电池SOC与其电流之间的关系如式(1):

式中:Uoc为电池的开路电压;Ro为电池内阻;Cp为极化电容;Rp为极化电阻;I为输出电流;Up为极化电容两端电压;UL为输出电压。

Thevenin 模型内各项电池基础参数辨识参考文献[11]的试验方法,以充电电压4.2 V,标称充电电流为0.25C~1C的18650 锂电池进行HPPC 测试实验,并在不同SOC下进行测试与记录,从而得出仿真模型中电池基础参数与SOC的关系。另外,开路电压与SOC之间具有一定的函数关系,通过实验获得静置一段时间之后处于稳定状态时刻电池的开路电压与SOC状态,经过多次重复测量并进行数据记录同时对所得数据进行拟合,可得SOC与开路电压之间函数关系。SOCOCV 曲线如图2 所示。

图2 SOC-OCV曲线

SOC-OCV 曲线的函数关系式如下:

各项系数分别为a0=3.177、a1=0.146 2、a2=-1.214 e-2、a3=5.28 e-4、a4=-1.267 e-5、a5=1.689 e-7。

2 扩展卡尔曼滤波估算SOC

通过开路电压法可以获得电池的SOC初始值,但是在测量时需要将电池静置较长时间才能获得准确值,不适合实时SOC获取,一般通过EKF 算法来实现电池的实时SOC估计。EKF 算法实际上是一个非线性系统线性化的过程,通过将非线性函数的泰勒展开式进行一阶线性化处理并忽略高阶项,从而将卡尔曼滤波算法应用到非线性系统中[11]。对非线性函数f和h在x=处进行一阶泰勒级数展开,以此实现非线性函数的线性化,可得线性化过后的函数展开式为:

可得此时的卡尔曼增益Kk+1:

通过卡尔曼增益对状态变量和均方误差的估计值进行更新,修正获得k+1 时刻的状态变量以及均方误差的最优估计值,其中E是n×m的单位矩阵,n是状态向量的维数,m是观测向量的维数;过程噪声w与测量噪声v是相互独立的高斯白噪声,它们的取值受电池类型的影响,Q和R分别是其方差。

结合式(1)将其电流、电压关系联合并进行离散化,得其状态方程:

此时的观测方程如式(8)所示:

将初始值代入上述计算过程中,即可开始对SOC值进行一系列循环迭代,其循环过程如下述的五个步骤,通过不断循环计算使得SOC估计值不断逼近真实值。

第一步是对k时刻的状态进行预测:

第二步是通过计算x(k|k-1) 的估计误差求取对应x(k|k-1) 的协方差矩阵:

第三步是求取k时刻的卡尔曼增益:

第四步是依据实时测量开路电压Uoc,估计现有状态的最优估计值:

第五步是更新噪声协方差:

依照上述步骤进行仿真模型的搭建,其整体EKF 估算SOC模型如图3 所示,其中包括模拟电流输入、电池仿真模型、EKF 预测模型、误差输入四个主要部分。

图3 EKF估算SOC仿真模型

其中动态应力测试输入模块参考模拟北京公交工况下动力电池组测试工况(Beijing bus dynamic stress test,BBDST),其电流输入曲线如图4 所示。通过BBDST 工况电流输入模拟电池在复杂工况下的频繁充、放电过程,以此验证EKF 模型在复杂工况下进行SOC预测的实时性和准确性。

图4 BBDST工况电流输入曲线

在BBDST 工况下,通过EKF 算法获得的SOC估计值与真实值输出曲线如图5(a)所示,其误差曲线如图5(b)所示。由误差曲线可知在EKF 算法预估电池SOC时准确性较高,尤其是当系统趋于稳定后系统误差始终保持在3%以内,在整个仿真过程中SOC估算误差大多维持在2%以内,但是会出现SOC局部误差较大(2%~3%之间)的现象,其中最大误差为7.2%,出现在系统工作开始阶段。

图5 EKF算法下SOC预测曲线与误差曲线

3 无迹卡尔曼滤波估算SOC

无迹卡尔曼滤波(UKF)摒弃了非线性函数线性化的做法,基于卡尔曼滤波框架采用无迹变换(unscented transform,UT)处理均值和协方差的非线性传递问题。该算法使用系统状态变量的概率分布替代EKF 算法中忽略高阶项的方法降低计算误差,同时不需要重复计算Jacobian 矩阵可以降低计算复杂度。基于UKF 的SOC计算当中,无迹变换有着非常重要的作用,而无迹变换的关键就是采样点(即Sigma 点)的获取及其对应权重的确定。设状态变量x的维数为n,和P分别为其均值和协方差矩阵,y为观测变量,假设在非线性系统中获取2n+1 个采样点,即:

此时对应的权值如式(15),其中β>0,一般取0.2≤α≤1,λ均为缩放比例参数。

UKF 算法计算过程示意图如图6 所示。在实现过程上类似EKF 算法,其大致过程分为预测和更新两个阶段,与EKF算法的不同点在于该算法需要进行Sigma 点的选择,在此则通过对称采样策略选出与原状态具有相同均值与协方差的Sigma 点,然后开始通过循环迭代对SOC值进行求解。

图6 UKF算法计算过程示意图

首先是预测过程,对k+1 时刻的系统状态变量进行预测:

联立式(15)~(17)进行Sigma 点更新,将采样点k+1 时刻的预测值代入观测方程得到k+1 时刻观测预测值,从而加权得到k+1 时刻测量值的均值。

计算k+1 时刻测量值的方差矩阵以及状态量与观测量的协方差,如式(19):

然后就是部分数据的更新过程,对下一时刻的卡尔曼增益与相关状态变量进行更新,其中k+1 时刻的卡尔曼增益如式(20):

通过式(21)进行系统状态变量和误差矩阵的更新:

依据UKF 算法的思想重新搭建仿真模型,对SOC进行估算,观察其仿真结果如图7。其中图7(a)为UKF 算法下实时SOC与真实SOC输出曲线,图7(b)为UKF 算法下预估SOC与真实SOC的误差曲线。由误差曲线可知,在误差趋于稳定后,其值稳定在2%以内,并且误差基本趋于稳定不会出现较大的突变误差,从系统开始工作到误差收缩趋于稳定的时间略长于EKF 算法,且在初始状态的误差较大。

图7 UKF算法下SOC预测曲线与误差曲线

4 联合EKF-UKF 算法的提出与验证分析

通过仿真曲线可知在UKF 算法下初始状态误差过大、EKF 算法则是在稳定运行阶段时误差较大且存在局部误差过大的特点,其对应缺点导致了在估值SOC时的误差较大。与EKF 的截断高阶分量相比,UKF 是对非线性函数的概率密度分布进行近似而没有线性化忽略高阶项的算法,其每次迭代过程中需要进行两次矩阵分解和多次的Sigma 点计算,在其精度提升的同时收敛速度也变慢了。在此提出EKF-UKF算法预估SOC,通过结合两种算法的优点进一步提高SOC估值的准确性。

联合EKF-UKF 算法基于二者基础原理,通过分时段处理的策略估值SOC,在模型中进行分界值tc的设定,在不同时段采取不同算法对SOC估值,由以上仿真曲线可将tc设定在50~100 s 之间,在此将tc设为80 s。此时UKF 的误差已经收敛到一个较小的值,不再大于EKF 算法。并且UKF 算法因为计算精度更高将会持续保持较低的预估误差,在该策略下将会提升SOC预估值的准确度与稳定性。在实际应用中,算法的切换点针对不同类型的电池分别进行设定,其具体阈值根据多次实验来求取误差最小的时间点作为算法切换点。此外,电池类型、工作工况、所处工作环境等因素都会对电池SOC的预测产生影响,所述因素是相互耦合对模型产生影响的,该部分需要通过大量的实验数据进行对比分析并搭建新的模型,这是本文的不足之处也是后续的研究重点。

仿真时间0~tc阶段由EKF 算法完成SOC值估算;tc至仿真结束期间则通过UKF 算法完成接下来的估值,其中EKF 算法结束时状态变量的值即为UKF 算法状态变量的初始值。通过分时段处理的方法完成EKF-UKF 算法的仿真模型,在该模型下进行SOC估值,联合上述EKF、UKF 仿真模型得出三者之间的误差曲线对比如图8 所示。对EKF、UKF、EKF-UKF三个模型下的仿真数据进行记录,并通过整理分析对比三种算法的特点。

图8 EKF-UKF算法下的误差曲线对比图

平均绝对误差(mean absolute error,MAE)和均方根误差(root mean square error,RMSE)是较为典型的性能衡量指标,前者可以对三种算法预测值与观测值之间绝对误差的平均值进行比较,通过式(22)计算得到;后者可以更好地反映出三种算法的误差离散程度即预测值的稳定性,计算如式(23)所示。通过比较三种算法下误差的MAE和RMSE来观测其优缺点。

式中:Yi为观测值;f(xi)为预测值;n为数据集中实例的数量。将所记录的数据代入公式进行处理,分别得出仿真全过程以及稳定后三种算法的MAE和RMSE,如表1 所示。

表1 EKF、UKF和EKF-UKF误差曲线分析

通过表1 的误差曲线分析可知,在EKF 和UKF 预估SOC的整个过程中各有优缺点:EKF 算法的MAE略高于UKF,说明UKF 算法下进行SOC预估时的整体误差均值更低;但是前者的RMSE要小于后者,说明EKF 算法估算SOC时误差的波动性更小。但是,在稳定阶段的误差分析中,UKF 算法的MAE和RMSE均低于EKF,由此可见在两种算法稳定运行时UKF 算法在误差和稳定性上均优于EKF 算法。联合EKFUKF 算法则通过结合二者的优点,在整个仿真过程中对MAE和RMSE进行了改善,其稳定运行阶段的效果基本与UKF 算法保持一致。

5 结论

通过实时准确地预估电池SOC可以提高蓄电池管理系统的工作效率以及电池本身的使用寿命,本文通过在MATLAB/Simulink 中搭建电池的Thevenin 模型,并采用EKF、UKF、联合EKF-UKF 三种方法进行了SOC的预估,结合仿真结果可以得出以下结论:

(1)使用UKF 预估SOC的稳定误差不超过2%,略优于EKF 算法,但前者的收敛速度不如后者;通过对误差曲线进行分析可知,EKF 算法的整体稳定性优于UKF 算法,但是稳定运行阶段则是UKF 算法更好。

(2)通过对UKF 和EKF 算法分析提出了联合EKF-UKF 算法,由仿真结果可知该算法稳定误差基本与UKF 算法保持一致,但是RMSE较前两种算法有非常大的改善,有效提高了SOC预估值的稳定性。

猜你喜欢
状态变量卡尔曼滤波预估
一阶动态电路零状态响应公式的通用拓展
基于TwinCAT3控制系统的YB518型小盒透明纸包装机运行速度的控制分析
美国银行下调今明两年基本金属价格预估
基于嵌套思路的饱和孔隙-裂隙介质本构理论
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
史密斯预估控制在排焦控制中的应用
基于模糊卡尔曼滤波算法的动力电池SOC估计
电源技术(2016年9期)2016-02-27 09:05:39
基于扩展卡尔曼滤波的PMSM无位置传感器控制
电源技术(2015年1期)2015-08-22 11:16:28
Recent Development and Emerged Technologies of High-Tc Superconducting Coated Conductors
基于自适应卡尔曼滤波的新船舶试航系统