一种基于改进正余弦算法的多尺度soc/soh估计方法
技术领域
1.本发明涉及锂电池soc/soh估计技术领域,具体涉及一种基于改进正余弦算法的多尺度soc/soh估计方法。
背景技术:2.随着国家对清洁能源的重视。电动汽车(ev)近年来已成为研究热点。锂离子电池已广泛应用于电动汽车中,准确估计充电状态(soc)和健康状态(soh)对电动汽车的使用寿命和耐久性具有重要影响。
3.soc的定义:蓄电池使用一段时间或搁置不用后的剩余容量与其完全充电状态的比值,可用式表示,其范围0到1,soc=0时表示电池放电完全,当soc=1时表示电池完全充满。
[0004][0005]
式中q
remain
为电池的剩余容量,q
rated
为电池的额定容量,q
discharge
为放出的电量,soc估计的意义在于准确的估计soc能够避免电池过充或者过放。
[0006]
现有的方法有三种:安培-小时积分法、黑箱模型、非线性滤波算法。ah积分法是最常用的soc估算方法,黑箱模型在理论上可以达到与真值相同的估计效果,如很少使用的神经网络方法。因为他们对数据的要求很高,而且数据不能获得所有的工作状态。在非线性滤波算法中,扩展卡尔曼滤波(ekf)得到了广泛的应用,但将其应用于soc估计时,需要对状态方程进行线性化,这降低了模型的精度。
[0007]
正弦余弦算法于2016年被mirjalili s提出,该算法与常规的仿生算法的区别主要在于不再采用仿生的思路,模拟自然界中生物的行为来解决优化问题,而是通过正弦、余弦函数构建特定的更新策略迭代解集,最终获得相对最优解。sca算法和其他群智能优化算法在最优解的寻找上都不能保证寻找到的解集是最优解,但是在解集的规模和迭代次数逐步提升,逼近最优解的概率就越大。sca的迭代策略被分为全局搜索和局部开发两部分,通过对解集使用较大的随机扰动用于探索解空间中的未知区域来实现全局搜索。通过对解集使用较弱的随机扰动来完全探索当前的解空间的领域。
技术实现要素:[0008]
本发明为了提高荷电/健康状态(soc/soh)估计的精度,特提出了一种基于改进正余弦算法的多尺度soc/soh估计方法,其特征在于,包括如下步骤:
[0009]
(1)建立电池的二阶rc等效电路模型;
[0010]
(2)利用双扩展卡尔曼滤波在多尺度上估计电池的状态和参数;
[0011]
(3)利用改进的正余弦算法msca对系统状态误差协方差q和测量噪声协方差r进行优化;
[0012]
(4)联合双卡尔曼滤波和改进的正余弦算法进行soc/soh估计。
[0013]
进一步的,所述步骤1中的电池的二阶rc等效电路模型建立及模型参数辨识,连续系统的电路方程可写为:
[0014][0015][0016]
u=u
ocv
+u1+u2+r0i
[0017]
其中,r0表示内电阻,r1、r2表示极化电阻,c1、c2表示极化电容,u表示电压,u
ocv
表示开路电压;
[0018]
对连续系统进行离散化后,电池系统可表示如下:
[0019][0020][0021]
u(k)=g(xk,sk,ik)=u
ocv
(soc)-u1(k)-u2(k)-r0i
[0022]
xk=[u
1,k
,u
2,k
,sock]
t
[0023]
其中,k表示时间步长,δt为k到k+1之间的时间,x表示电池的状态;当x、s为顶部或底部标签时,值表示状态和参数,为状态滤波的噪声矩阵,为参数滤波的噪声矩阵。
[0024]
进一步的,所述步骤2中双卡尔曼滤波由参数滤波及状态滤波组成,参数滤波用于电池模型参数估计,状态滤波用于soc估计,参数滤波与状态滤波在不同时间尺度上;参数滤波状态s包含欧姆内阻和容量两部分,即:s
k+1
=[r0,q]。
[0025]
进一步的,所述步骤3中改进的正余弦算法msca,具体内容如下:
[0026]
(3.1)建立正余弦算法模型:
[0027][0028][0029]
式中,t为迭代次数,为个体i在第t次迭代时的位置在第j维的分量,r1,r2,r3为随机参数,r1为受迭代次数影响,r2~u[0,2π],r3~u(0,∞],pj(t)为候选解集在第t次迭代的最优候选解在第j维度的分量;
[0030]
(3.2)引入随机函数r4~u[0,1]用于判断是正弦更新还是余弦更新,消除迭代步长和方向之间的相关性;
[0031]
[0032]
(3.3)候选解引入惯性权重:
[0033][0034]
其中ω0为迭代初期惯性权重;ωe为迭代末期惯性权重;t为当前迭代次数;t为最大迭代次数;
[0035]
(3.4)r1的非线性改进策略:
[0036][0037]
旨在构造一个兼顾全局搜索和局部搜索,迭代后期收敛速度适中的r1。
[0038]
进一步的,所述步骤4中联合双卡尔曼滤波和改进的正弦余弦算法步骤如下:
[0039]
(4.1)算法初始化
[0040]
状态滤波初始化:
[0041]
参数滤波初始化:
[0042]
(4.2)参数滤波的时间更新方程:
[0043]
(4.3)参数滤波的测量更新方程:
[0044][0045][0046][0047]
(4.4)按步骤3中的msca对qx和rx进行优化;
[0048]
(4.5)状态滤波时间更新方程:
[0049][0050]
(4.6)状态滤波测量更新方程:
[0051][0052][0053][0054]
返回步骤(4.4),直到msca达到最大迭代次数;
[0055]
其中:q
x
,qs是算法的初始值,是估计参数的初始值,是电池状态的初始值,q
x
,qs是噪声矩阵的初始值,带有“^”的变量表示估计值。
[0056]
进一步的,ω0设为0.9;ωe设为0.4;t设为50;m取2或3。
[0057]
进一步的,所述步骤4中的soc/soh估计:通过欧姆内阻估计soh:
[0058]
[0059]
其中r
end
为寿命终止时的欧姆内阻值,r为状态估计值,r
new
为电池出厂时的欧姆内阻值,r
end
=2r
new
。
[0060]
进一步的,所述步骤4中的soc/soh估计:通过容量估计soh:
[0061][0062]
其中q是当前容量,q0是初始容量。
[0063]
本发明的有益效果:
[0064]
本专利所提供技术能够有效的提高soc估计的精度,并且多尺度的在线更新方法能够有效的减少计算成本。在电动汽车bms领域中,电池soc能够为电池组均衡标准提供基础数据与判定依据,同时准确实时监控动力锂电池soc还能够确保电池及时得到相应的维护或更换的准备工作,可以有效地发现和避免电池的不安全行为,为动力电池的稳定性提供保障。
附图说明
[0065]
图1为锂电池二阶rc等效电路模型。
[0066]
图2为ω1的下降曲线。
[0067]
图3为m=2,m=3时,r1的下降曲线。
[0068]
图4为m=2时,r1cos(r2)的波动路径曲线。
[0069]
图5为m=3时,r1cos(r2)的波动路径曲线。
[0070]
图6为msca-dekf流程图。
[0071]
图7为标准sca,两个改进的sca,ekf,dekf,用于无初始误差的soc估计,参考安培小时积分法的仿真结果。
[0072]
图8为标准sca,两个修改的sca,ekf,dekf用于初始soc误差的soc估计,参考安培小时积分法的仿真结果。
[0073]
图9为标准sca,两个改进的sca,dekf用于初始r0和容量误差的soc估计,参考安培小时积分法的仿真结果。
[0074]
图10为ekf用于初始r0和容量误差的soc估计,参考安培小时积分法的仿真结果。
[0075]
图11为算法的迭代收敛图。
[0076]
图12为参数估计仿真结果图。
[0077]
图13为soh估计仿真结果图。
具体实施方式
[0078]
以下结合附图和具体实施例对本发明进行详细说明。
[0079]
本发明中采用二阶rc模型,通过脉冲放电试验和开路电压试验(ocv)得到模型参数。dekf分为状态滤波和参数滤波。提出了正余弦算法(sca)中变换参数r1的非线性减量。将改进的sca(msca)应用于状态滤波中协方差噪声矩阵的优化。采用参数滤波在线估计欧姆内阻和容量,同时将参数在线更新的时间尺度调整为60个时间步长,以降低计算成本,soh也可通过欧姆内阻和容量获得。仿真结果表明,该方法提高了soc估计的精度,并在第一次参数估计中修正了soc和ro的初始误差。具体步骤如下:
[0080]
步骤1:建立电池的二阶rc等效电路模型;
[0081]
该模型利用电阻、电容、恒压源等电路元件形成电路网络来模拟电池的动态特性。这种模型是一次性参数模型,通常包含的参数较少,容易导出状态空间方程。因此,它被广泛应用于系统级仿真分析和实时控制。基于并联电阻和电容器rc网络的等效电路模型得到了广泛的研究。如:一阶rc模型、二阶rc模型和三阶rc模型,采用二阶rc模型,如图1所示:r0表示内电阻,这反映了端子电压的急剧变化。r1、r2表示极化电阻。c1、c2表示极化电容,u表示电压,u
ocv
表示开路电压。连续系统的电路方程可写为:
[0082][0083][0084]
u=u
ocv
+u1+u2+r0i
[0085]
对连续系统进行离散化后,电池系统可表示如下:
[0086][0087][0088]
u(k)=g(xk,sk,ik)=u
ocv
(soc)-u1(k)-u2(k)-r0i
[0089]
xk=[u
1,k
,u
2,k
,sock]
t
[0090]
k表示时间步长,δt为k到k+1之间的时间,x表示电池的状态。当x、s为顶部或底部标签时,值表示状态和参数,例如,为状态滤波的噪声矩阵,为参数滤波的噪声矩阵。
[0091]
特别需要注意的是:soc和ocv之间存在稳定的函数关系,可以表示如下:
[0092]
f(soc)=a1(soc)7+a2(soc)6+a3(soc)5+a4(soc)4+a5(soc)3+a6(soc)2+a7(soc)+a8[0093]
步骤2:利用双扩展卡尔曼滤波在多尺度上估计电池的状态和参数;
[0094]
双卡尔曼滤波由参数滤波及状态滤波组成,参数滤波用于电池模型参数估计,状态滤波用于soc估计,参数滤波与状态滤波在不同时间尺度上;参数滤波状态s包含欧姆内阻和容量两部分,即:s
k+1
=[r0,q]。
[0095]
步骤3:利用改进的正弦余差算法msca对系统状态误差协方差q和测量噪声协方差r进行优化;
[0096]
sca算法和其他智能优化算法在寻找最优解上不能保证所得到的解集是最优解,但是在解集的规模和迭代次数是逐步提升的,就越有可能逼近最优解。sca的迭代策略被分为全局搜索和局部开发两个部分,通过对解集使用较大的随机扰动用于探索解空间中的未知区域来实现全局搜索,以及通过对解集使用较弱的随机扰动来完全探索当前的解空间的领域。
[0097]
sca通过如下方程施加随机扰动来更新解集。
[0098][0099][0100]
式中,t为迭代次数,为个体i在第t次迭代时的位置在第j维的分量,r1,r2,r3为随机参数,r1为受迭代次数影响,r2~u[0,2π],r3~u(0,∞],pj(t)为候选解集在第t次迭代的最优候选解在第j维度的分量。
[0101]
通过引入随机函数r4~u[0,1]来消除式中迭代步长和方向的相关性,得到以下迭代方程:
[0102][0103]
方程为sca算法中依据当前最优解和解集中候选解来更新解的过程,其中参数的设计目的如下,r1为当前解所能拓展范围的极限值,r2为更新解向当前最优解靠近或者远离所允许范围的极值。r3作为随机数为当前最优解对候选解的影响程度。r4作为随机数用于判断是正弦更新还是余弦更新,消除迭代步长和方向之间的相关性。
[0104]
在智能算法中,惯性权重ω1代表候选解对前次迭代的候选解信息的继承能力,在sca中,候选解的惯性权重为常数1,但在以往的经验中,当智能算法中惯性权重为1时,会影响算法的探索能力和开发能力,参考粒子群算法的优化理念,引入如下惯性权重。
[0105][0106]
ω0为迭代初期惯性权重,设为0.9;ωe为迭代末期惯性权重,设为0.4;t为当前迭代次数;t为最大迭代次数,设为50。ω1随迭代次数下降的曲线如图2所示。从图中可以看出ω1随着t的增加而非线性递减,算法在初期可保持较强的随机震荡和搜索能力,后期惯性权重减小加强了算法的开发能力,提高算法的精度。
[0107]
基于改进策略,提出r1的非线性改进策略,原理同等,旨在构造一个兼顾全局搜索和局部搜索,迭代后期收敛速度适中的r1。
[0108][0109]
式中m取2或3。
[0110]
r1在m=2或m=3时,下降曲线如图3所示;当m=2时,r1cos(r2)的波动路径如图4所示:当m=3时,r1cos(r2)的波动路径如图5所示。
[0111]
为了得到准确的噪声协方差矩阵q
x
和r
x
,采用msca对噪声协方差q
x
和r
x
进行了优化。
[0112]
步骤4:联合双卡尔曼滤波和改进的正余弦算法进行soc/soh估计;
[0113]
dekf用于参数自适应和状态估计,通过以下算法流程得到最优结果,优化效果受适应度函数的影响,以测量值yi与估计值xi之间的绝对误差作为适应度函数,可表示为:
[0114]
[0115]
k是当前估计的时间点。
[0116]
如图6所示,用于状态估计的msca-dekf流程如下:
[0117]
(4.1)算法初始化
[0118]
状态滤波初始化:
[0119]
参数滤波初始化:
[0120]
(4.2)参数滤波的时间更新方程:
[0121]
(4.3)参数滤波的测量更新方程:
[0122][0123][0124][0125]
(4.4)按步骤3中的msca算法对qx和rx进行优化;
[0126]
(4.5)状态滤波时间更新方程
[0127][0128]
(4.6)状态滤波测量更新方程
[0129][0130][0131][0132]
返回(4.4),直到msca最大迭代次数;
[0133]
其中:q
x
,qs是算法的初始值,是估计参数的初始值,是电池状态的初始值,q
x
,qs是噪声矩阵的初始值,带有“^”的变量表示估计值,
[0134][0135][0136]
在参数滤波中,估计了欧姆电阻和容量,它们都与soh有关。因此,在对欧姆电阻和容量的准确估计的基础上,建立了欧姆电阻、容量与soh之间的关系,从而实现了对soc和soh的估计。
[0137]
soh估计方法1:
[0138][0139]rend
为寿命终止时的欧姆内阻值,r为状态估计值,r
new
为电池出厂时的欧姆内阻值,r
end
=2r
new
。
[0140]
soh估计方法2:
[0141]
通过容量估计soh
[0142][0143]
q是当前容量,q0是初始容量。
[0144]
下面给出针对本发明算法的验证。
[0145]
一般来说,算法参数直接影响算法的性能,参数s通过参数滤波器进行优化,x0包括soc和两个rc分支的电压。s1包括欧姆内阻和容量。采样时间也被调整,电池模型的参数s变化很小,这使得参数滤波器的采样时间比状态滤波器的采样时间更长。因此,将参数滤波器的采样时间设置为60个时间步长,将状态滤波器的采样时间设置为0.1s。电池测试的参数识别结果见表1。
[0146]
为了证明该算法对参数识别的有效性,将该算法的初始值设置为误差,采用以下误差设置策略。带有错误的初始值在底部用δ标记。
[0147]
策略(1):所有初始值都设置为最佳可用值。
[0148]
策略(2):初始soc设置为1,欧姆内阻初始值扩大到0.037(放大),容量初始值设置为24ah(实际容量80%)。
[0149]
策略(3):初始soc设置为0.8,欧姆内阻和容量的初始值设置为实际值。
[0150]
x0=[0 0 1]
t
[0151][0152][0153]
x0=[0 0 1]
t
[0154][0155][0156]
x0=[0 0 0.8]
t
[0157][0158][0159]
表1电池参数
[0160][0161][0162]
msca的初始化:
[0163]
最大迭代次数50,搜索维度20,参数搜索范围:上限为100,下限为0.00000000001。
[0164]
在设置参数后,估计结果表明对于策略(1)、(2)、(3),该算法显示出不同的精度。
[0165]
如图7所示,在策略(1)中,可以看到图中标准的sca-dekf,msca-dekf:m=3或m=2优于ekf和dekf。
[0166]
如图8所示,在策略(2)中,可以看到与dekf和ekf相比,sca-dekf、msca-dekf:m=3或m=2的估计精度大大提高。同时,在第一个参数估计中对soc误差进行了修正。
[0167]
如图9、图10所示,在策略(3)中,可以看到sca-dekf,msca-dekf,m=3或m=2与dekf和ekf相比也有了很大的改善,ro和容量的初始误差可以迅速恢复到正确的值。
[0168]
如图11所示,在不同的策略下,实现收敛所需的迭代次数也是不同的。
[0169]
在策略(1)中,msca-dekf:m=3只需要6次迭代才能收敛,比其他初始参数正确的迭代要好。
[0170]
在策略(2)中,msca-dekf:m=2只需要11次迭代才能收敛,这优于msca-dekf:m=3和标准的sca-dekf。
[0171]
在策略(3)中,msca-dekf:m=3只需要14次迭代才能收敛,这优于msca-dekf:m=2和标准的sca-dekf。
[0172]
实验电池来自新批次。因此,基于容量的理论soh值被认为是100%。根据方程式soh可分为基于ro的soh和基于容量的soh。仿真结果如图12、图13所示。
[0173]
从图12(a)、(b)、(c)中可以看出,ro估计具有较高的可靠性,从初始误差快速收敛到正确的值。因此,基于ro的soh估计也具有较高的可靠性,如图13中(a),(b),(c)所示。
[0174]
从图12(d)、(e)、(f)中可以看出,容量估计具有较大的抖动,因此基于容量的soh估计也有较大的抖动,如图13中(d),(e),(f)所示。
[0175]
将r1的两种非线性下降策略应用于sca,命名为msca。利用msca对状态滤波的噪声协方差矩阵进行优化,以进行soc估计。参数滤波用于soh估计。该由状态滤波和参数滤波组成的方法被命名为msca-dekf。参数估计和状态估计是基于不同的时间尺度。电池模型的参数在短时间内不会发生显著变化,因此参数更新比状态更新要慢,从而减少了计算量。当初始值矩阵取正确的值时,标准sca-dekf、msca-dekf:m=3或m=2优于ekf和dekf。当初始soc设置为0.8时,与dekf和ekf相比,标准sca-dekf、msca-dekf:m=3或m=2的估计精度有了很大的提高。同时,当参数滤波的时间尺度设置为60个时间步长时,修正了第一个参数估计中的soc误差。当初始ro和容量设置为0.0037
×
10ω和30.24
×
1.05ah时,ekf无法执行接近ref的计算。标准的sca-dekf、msca-dekf:m=3或m=2比dekf和ekf也有了显著的改进。ro和容量的初始误差可以迅速恢复到正确的值。当参数设置为初始soc错误时,msca-dekf:m=2只需要11次迭代即可收敛,优于msca-dekf:m=3和标准sca-dekf。当参数的初始误差设置为ro和容量时,msca-dekf:m=3只需要14次迭代即可收敛,优于msca-dekf:m=2和标准sca-dekf。msca-dekf:m=3只需要6次迭代才能收敛,比其他具有正确初始参数的产品更好。基于ro的soh估计,m=2或3可以快速纠正初始错误,并具有较高的可靠性。基于容量的soh估计可以纠正一些初始误差,但有一定的波动。
[0176]
本方案提出的基于改进的正弦余弦算法优化的多尺度soc估计及参数在线更新的滤波方法具有实际应用价值。
[0177]
最后说明的是,以上实例仅用以说明本发明的技术方案而非对其限制,所属领域的技术人员阅读本技术后,参照上述实施例对本发明进行种种修改或变更的行为,尽在本发明申请待批的权利申请要求保护范围之内。