主要内容

降低电池的非线性状态估计系统

这个例子展示了如何估计的状态非线性系统使用一个无味卡尔曼滤波仿真软件®。金宝app这个例子还说明如何开发一个基于事件的卡尔曼滤波更新系统参数更精确的状态估计。示例运行与控制系统工具箱™或系统辨识工具箱™。这个例子不需要预测维修工具箱™。

概述

考虑一个电池使用以下等效电路模型[1]

模型由一个电压源E_m美元,一系列电阻R_0美元和一个钢筋混凝土块R_1美元c₁美元。电池充电和放电周期之间交替。在本例中,您估计电荷状态(SOC)的电池模型使用测量电流、电压和温度的电池。你认为电池是一个非线性系统,使用一种无味卡尔曼滤波器估计SOC。电池的容量会降低每排放收费周期,提供一个不准确的SOC估算。使用一个基于事件的线性卡尔曼滤波器来估计电池容量,当电池充电和放电之间的转换。估计能力反过来可以用来指示电池的健康状况。

仿真软件金宝app模型包含三个主要组件:一个电池模型,一个无味卡尔曼滤波块和一个基于事件的卡尔曼滤波器。在以下部分中给出进一步的解释。

open_system (“BatteryExampleUKF /”)

电池模型

热影响的电池模型是实现使用Simscape™语言。

电池模型的状态转移方程给出:

$ $ \压裂{d} {dt} \离开(& # xA; \开始{数组}{cc} & # xA;SOC \ \ & # xA;U_ {1} & # xA; \结束数组{}\右)= \左(& # xA; \开始{数组}{cc} & # xA;0 xA \ \ & #;- \压裂{1}{R_1 (SOC T_b) * c₁(SOC T_b)} U_1& # xA; \结束数组{}\右)+ \左(& # xA; \开始{数组}{cc} & # xA;- - - - - - \压裂{1}{3600 * C_q} \ \ & # xA;\压裂{1}{c₁(SOC T_b)} \结束数组{}\右)我# xA; + w # xA; $ $

在哪里T_b R_1美元(SOC)美元$ c₁(SOC, T_b)美元热且依赖于SOC的电阻和电容的钢筋混凝土块,U_1美元美元电容器的电压吗c₁美元,我美元输入电流,T_b美元电池温度,C_q美元是电池容量(单位:啊),然后呢W美元噪音是一个过程。

输入电流是随机生成的脉冲,当电池放电和持续充电电池时,如下图所示。

的测量方程:

数组$ $ \开始{}{你}& # xA; E = E_m (SOC T_b) - U_1 IR_0 (SOC T_b) + v # xA; \{数组}$ $

在哪里E美元是测量的电压输出,T_b R_0美元(SOC)美元串联电阻,T_b E_m美元= E_m (SOC)美元是电压源的电动势,五美元是测量噪声。

在模型中,R_0 R_1, c₁$美元E_m美元二维查找表依赖SOC和电池温度。查找表中的参数识别使用实验数据[1]。

估计电荷状态(SOC)

使用无味卡尔曼滤波块,MATLAB®或仿真软件功能为国家需要定义和测量方程。金宝app这个例子演示了模型的使用功能。金宝app因为无味卡尔曼滤波器是离散时间过滤器,首先使离散状态方程。在本例中,采用欧拉离散化。让采样时间Ts美元美元。对于一般的非线性系统$ \点{x} = f (x, u)美元,系统可以离散美元间{T + 1} =间{T} + f(间{T}, u_ {T}) * Ts美元

电池的非线性系统的状态向量

$ $ x_T = \离开(\{数组}{cc}开始SOC_T \ \ U_ {1 _t} \结束数组{}\右)$ $

应用欧拉离散化给以下方程:

$ $ & # xA; \离开(& # xA; \开始{数组}{cc} & # xA;SOC_ {T + 1} \ \ & # xA;U_ {1 _ {T + 1}} & # xA; \结束数组{}\右)= \左(& # xA; \开始{数组}{cc} & # xA;SOC_ {T} \ \ & # xA;U_ {1 _ {T}} & # xA; \结束数组{}\右)+ \左(& # xA; \开始{数组}{cc} & # xA;- - - - - - \压裂{1}{3600 * C_q}我\ \ & # xA;- \压裂{1}{R_1 (SOC_T T_b) * c₁(SOC_T T_b)} U_1 + \压裂{1}{c₁(SOC_T T_b)}我# xA; \结束数组{}\右)ts # xA; + W_T& # xA; $ $

离散状态转换方程作为一个仿真软件实现函数命名“batteryStateFcn”所示。金宝app函数的输入x状态向量,而函数输出xNext下一个步骤的状态向量,计算使用离散状态转换方程。您需要指定信号的维度和数据类型xxNext。在这个例子中,信号的维度xxNext2,数据类型是双。额外的输入温度,估计能力,电流。注意额外输入输入所需的状态转移方程,而不是UKF块。

测量功能也实现为一个仿真软件功能命名为“batteryMeasurementFcn”如下所示。金宝app

配置块参数如下:

系统模型选项卡中,指定块参数如图所示:

你指定以下参数:

  • 在状态转换函数:batteryStateFcn

仿真软件的名称前面定义函数,实现金宝app了离散状态转换方程。

  • 过程噪声:添加剂与协方差时变,数组$左\[开始\ {}{cc} 2 e-8 & # 38;\ \ 0 & # 38;3 e \结束数组{}\]美元。的添加剂意味着噪音项添加到最后直接信号。

噪声对SOC和过程U_1美元估计基于电池系统的动态特性。电池的额定容量30啊,经历了放电/充电周期平均电流振幅15。因此,一个放电或充电过程需要大约2小时(7200秒)。最大的变化是100%对SOC和4伏左右U_1美元

最大的变化在SOC和每一步U_1美元马克斯(| dSOC |) \大约\压裂{100 \ %}{3600 * 2}* Ts美元马克斯(| dU_1 |) \大约\压裂{4}{3600 * 2}* Ts美元,在那里T_s美元滤波器的采样时间。在这个例子中,T_s美元将1秒。

过程噪声W美元是:

$ $ W =左\[开始\{数组}{cc} (max (| dSOC |)) ^ 2 & # 38;\ \ 0 & # 38;(max (| dU_1 |)) ^ 2 \结束数组{}\]\大约\离开[\{数组}{cc} 2开始e-8 & # 38;\ \ 0 & # 38;3 e \结束数组{}\]$ $

  • 初始状态:$ $ \离开(\开始{数组}{cc} 1 \ \ 0 \结束数组{}\右)$ $

SOC的初始值是假定为100%(完全充电电池),而初始值U_1美元被设置为0,因为我们没有任何先验信息的U_1美元

  • 最初的协方差:

最初的协方差表示有多准确和可靠的初始猜测。假设SOC的最大初始估计误差是10%和1 vU_1美元。最初的协方差矩阵设置左$ $ \[0.01 \{数组}{cc}开始& # 38;\ \ 0 & # 38;1 \结束数组{}\]$ $

  • 无香味的转换参数:设置基于[2]

-α:1。确定sigma x点周围的传播。设置α1更大的传播。-β:2。用于将分布的先验知识。β的名义值是2。卡帕:0。中等尺度参数。卡帕的名义值是0。
  • 测量功能:batteryMeasurementFcn

仿真软件的名称前面定义函数,实现金宝app了测量功能。

  • 测量噪声:添加剂协方差,定常1 e - 3。

基于测量设备的测量噪声估计的准确性。电压对电池电压测量计约1%的准确率。电池电压4 v左右。同样,我们有马克斯(dE_m)美元\大约4 * 1 \ % = 0.04美元。因此,设置V =美元(max (dE_m)) ^ 2 \大约1 e - 3美元

  • 样品时间:Ts美元

估计电池退化

电池退化建模通过减少产能C_q美元。在这个例子中,电池容量将减少1啊/排放收费周期说明降解的影响。自降解能力是无法提前知道,设置的状态方程C_q美元美元是一个随机游走:

$ C_ {q_ {k + 1}} = C_ {q_k} + W_ {C_q} $

在哪里k美元排放收费周期和数量吗美元W_ {C_q} $噪音是一个过程。

电池配置为自动充电电池电荷状态时为30%,切换到放电电荷状态时为90%。使用此信息来测量电池容量通过整合当前我美元在充电或放电周期(库仑数)。

测量方程C_q美元是:

$ $ C_ {q_k} ^{测量}= C_ {q_k} + V_ {C_q} = & # xA; \压裂{\ int_ {t_ {k - 1}识别}^ {t_k}{我}dt}{(\三角洲SOC) _{名义}}& # xA; = \压裂{\ int_ {t_ {k - 1}识别}^ {t_k}{我}dt} {0.9 | -0.3 |} = & # xA; \压裂{\ int_ {t_ {k - 1}识别}^ {t_k}{我}dt} {0.6} $ $

在哪里美元V_ {C_q} $是测量噪声。

电池的状态和测量方程退化可以放在下面的状态空间形式:

$ $ C_ {q_ {k + 1}} =现代{C_q} C_ {q_k} + W_ {C_q} $ $

$ $ C_ {q_k} ^{测量}= C_ {C_q} C_ {q_k} + V_ {C_q} $ $

在哪里美元现代{C_q} $美元C_ {C_q} $等于1。

对于上面的线性系统,使用卡尔曼滤波器来估计电池容量。估计C_q美元从线性卡尔曼滤波器用于提高SOC估计。在这个例子中,使用一个基于事件的线性卡尔曼滤波器来估计C_q美元。自C_q美元测量一次充电和放电周期,启用了线性卡尔曼滤波器只有在充电或放电结束。

配置块参数和选项如下:

点击模型参数指定工厂模型和噪声特点:

  • 模型来源:输入端口

实现一个基于事件的卡尔曼滤波器,启用了状态方程只有当事件发生。换句话说,状态方程是基于事件的。对于线性系统美元间{t + 1} = Ax_t + Bu_t + w_t美元,设置状态方程

$ $间{t + 1} = \左\{\{数组}{cc}开始Ax_t + Bu_t + w_t, t = t_{启用}\ \ x_t识别,t \ neq t_{启用}\结束数组{}\识别正确的。$ $

  • 一个:左$ $ \ \{\{数组}{cc}开始现代{C_q}, t = t_{启用}\ \ 1识别,t \ neq t_{启用}\结束数组{}\识别正确的。$ $。在这个例子中,美元现代{C_q} = 1美元。作为一个结果,一个美元= 1。

  • C:1、从美元C_ {q_k} ^{测量}= C_ {q_k} + V_ {C_q} = \压裂{\ int_ {t_ {k - 1}识别}^ {t_k}{我}dt} {0.6} $

  • 初步估计源:对话框。您指定的初始状态初始状态x [0]

  • 初始状态x [0]:30。它是电池的额定容量(30啊)。

  • :左$ $ \ \{\{数组}{cc} 1开始,t = t_{启用}\ \识别0,t \ neq t_{启用}\结束数组{}\识别正确的。$ $

这是过程噪声的协方差美元W_ {C_q} $。自降解率的能力每排放收费周期大约是1啊,设置过程噪声是1。

  • R:0.1。这是测量噪声的协方差美元V_ {C_q} $。假设的能力测量误差小于1%。30啊,电池容量的测量噪声美元V_ {C_q} \约(0.3)^ 2 \大约0.1美元

  • 样品时间:Ts。

点击选项添加输入端口启用控制测量更新。启用端口用于更新电池容量估计充电/放电事件而不断更新。

注意,设置启用0没有禁用使用状态方程预测。状态方程的原因是配置为基于事件。通过设置一个基于事件和Q的卡尔曼滤波器,使用时禁用状态方程预测启用设置为0。

结果

模拟系统,负载电池参数。包括文件包含电池参数美元$ E_m (SOC, T),美元$ R_0 (SOC, T),美元$ R_1 (SOC, T)等。

负载BatteryParameters.mat

模拟系统。

sim卡(“BatteryExampleUKF”)

在每一个时间步,SOC的无味卡尔曼滤波提供了一种估计基于电压测量E_m美元。真正的SOC估计SOC的阴谋,以及它们之间的区别。

%同步两个时间序列[RealSOC, EstimatedSOC] =同步(RealSOC EstimatedSOC,“十字路口”);图;次要情节(2,1,1)情节(100 * RealSOC,“b”,“线宽”,1.5);持有情节(100 * EstimatedSOC,“r——”,“线宽”1);标题(“电荷状态”);包含(“时间(s)”);ylabel (“SOC (%)”);传奇(“实际”,“UKF估计”,“位置”,“最佳”,“定位”,“水平”);轴次要情节(2,1,2)DiffSOC = 100 * (RealSOC - EstimatedSOC);情节(DiffSOC。时间、DiffSOC.Data“线宽”,1.5);包含(“时间(s)”);ylabel (' \δSOC (%) ',“翻译”,“泰克斯”);传奇(“真正的SOC和SOC估计的区别”,“位置”,“最佳”)轴

一个初始估计误差后,真正的SOC的SOC收敛迅速。最后的估计误差在0.5%的误差。SOC的无味卡尔曼滤波给出一个准确的估计。

在每一个排放收费过渡,电池容量估计提高SOC估计。电池系统输出指示器信号通知过程电池是什么。放电过程是由1充电时指示信号过程中由1。在这个例子中,指标的变化信号是用来确定何时启用或禁用卡尔曼滤波器的估计能力。我们把真正的估计能力以及充放电指示信号。

图;次要情节(2,1,1);情节(RealCapacity“b”,“线宽”,1.5);持有情节(EstimatedCapacity“r——”,“线宽”,1.5);包含(“时间(s)”);ylabel (的能力(啊));传奇(“实际”,“KF估计”,“位置”,“最佳”);次要情节(2,1,2);情节(DischargeChargeIndicator.Time DischargeChargeIndicator.Data,“b”,“线宽”,1.5);包含(“时间(s)”);ylabel (的指示信号);

在一般情况下,卡尔曼滤波器是能够跟踪真正的能力。之间存在半周期延迟估计能力和实际能力。这延迟是由于测量的时间。电池容量降低计算一个完整的排放收费周期结束的时候发生。库仑计算给出了容量测量基于前面的放电或充电周期。

总结

这个例子展示了如何使用仿真软件无味卡尔曼滤波块锂电池进行非线性状态估金宝app计。此外,步骤开发一个基于事件的卡尔曼滤波器对电池容量估计。新估计的能力用于提高SOC无味卡尔曼滤波估计。

参考

[1]Huria,塔伦等。“失恋电与热的依赖模型描述和仿真的高功率锂电池。”Electric Vehicle Conference (IEVC), 2012 IEEE International. IEEE, 2012.

[2]Wan,埃里克。,和Rudolph Van Der Merwe. "The unscented Kalman filter for nonlinear estimation." Adaptive Systems for Signal Processing, Communications, and Control Symposium 2000. AS-SPCC. IEEE, 2000.

相关的话题