基于EKF的锂离子电池SOC估计

您所在的位置:网站首页 matlab结课论文simulink 基于EKF的锂离子电池SOC估计

基于EKF的锂离子电池SOC估计

2024-01-17 17:52| 来源: 网络整理| 查看: 265

基于EKF的锂离子电池SOC估计——Simulink建模仿真——2RC模型(续)

很多人私信问2RC的模型能不能也这样搭建,答案是可以的。花了一点儿时间在1RC模型的基础上搭建了“基于EKF的2RC模型锂离子电池SOC估计Simulink仿真模型”,1RC模型电池SOC估计可以看我写的另外一篇博客:1RC-EKF-SOC估计 版本:MATLAB R2021b 模型:2RC模型,基本结构如下: 在这里插入图片描述

1. 总体框图

在这里插入图片描述

在这里插入图片描述

EKF算法模块分为五个部分:(X_pre, Ut_pre, Ut_error, A, H)计算部分,(P_pre)计算部分,(KalmanGain)计算部分,(Xk)计算部分,(Pk)计算部分。此时误差协方差矩阵P是3行3列的,过程噪声误差协方差矩阵Q是3行3列的,测量噪声误差协方差矩阵R是1行1列的。

2. (X_pre, Ut_pre, Ut_error, A, H)计算部分

该部分需要用到以下几个公式: 在这里插入图片描述

A和B矩阵组成了状态空间方程的状态方程,H矩阵则是根据EKF算法性质计算的一阶线性化输出矩阵,具体的状态空间方程形式可以查阅相关文献。由于此时模型是2RC模型,因此A和B矩阵维度会变为3行3列和3行1列矩阵。其中,R1和C1代表第一个RC网络的电阻和电容,R2和C2代表第二个RC网络的电阻和电容,R0代表电池内阻,Ce代表库伦效率,T代表采样间隔时间,Qn代表当前最大可用电池容量(Ah),I代表电池电流(A),OCV代表开路电压,Ut_pre代表估计的端电压,U1_pre代表第一个RC网络两端的估计电压,U1_pre代表第二个RC网络两端的估计电压。

在此之前,需要提前知道OCV-SOC拟合函数关系以及其一阶导(dOCV)。 在这里插入图片描述

3. (P_pre)计算部分

该部分需要用到以下公式: 在这里插入图片描述 其中,P_pre代表误差协方差矩阵先验估计,Pk_1代表k时刻的误差协方差矩阵,Q_x代表过程噪声协方差矩阵。这部分和1RC模型仿真一样,不用修改。 在这里插入图片描述

4. (KalmanGain)计算部分

该部分需要用到的公式: 在这里插入图片描述 其中,R_x为测量噪声协方差矩阵。这部分也和1RC仿真一样不用修改。 在这里插入图片描述

5. (Xk)计算部分

需要用到的公式: 在这里插入图片描述 由于状态量有三个,因此[1 0]u需要修改为[1 0 0]u,其余部分保持不变。 图1

6. (Pk)计算部分

需要用到的公式: 在这里插入图片描述

需要注意的是各个矩阵的维度大小,防止计算出错。该部分也需要修改,注意该公式中的矩阵维度变成3维。 在这里插入图片描述

7. 实验和总结

考虑到2阶模型会稍微比1RC模型复杂一些,这里偷个懒,2RC模型参数用一组固定值作为模型参数,一般可以通过查表法或者参数在线辨识的方法更新模型参数。各状态初始值为[SOC_Init; U1_Init; U2_Init]=[0.1; 0; 0]。同样的是,协方差矩阵初始值需要经过多次试凑找到比较合适的一组值。

下图为1RC和2RC模型SOC估计结果和估计误差。其中,绿色曲线为2RC模型估计结果;蓝色曲线为1RC模型估计结果;红色为SOC参考值。 在这里插入图片描述 下图为1RC和2RC模型SOC估计结果和估计误差局部放大图。 在这里插入图片描述 从结果可以看出,2RC模型SOC估计精度会高于1RC模型,且都有比较好的收敛速度。但由于EKF算法精度和收敛性与协方差矩阵初始值密切相关,因此当协防差矩阵选择不当时,会出现2RC模型估计精度低于1RC。在这个实验中,两个模型都是在独立情况下试凑出来的最佳一组协方差矩阵初始参数。

注:创作不易,若有转载烦请注明出处。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3