基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序

完整资源请查看主页置顶博客(专享优惠)

该项目的目的是估计锂电池的荷电状态(SOC)。主要完成了扩展卡尔曼滤波(EKF)的实验、参数辨识和仿真。

项目中包括锂电池模型建立、参数辨识与验证、SOC估计采用扩展卡尔曼滤波(EKF),使用了两种方式实现:

1. Simulinks(EKF)

2. 脚本(包含EKF和UKF)

## 第一次尝试

该模型的输入包括电流和电压来自于HPPC(混合脉冲功率特性)测试的电池数据。

文件EKFSim_R2016中使用了Thevenin等效电路模型和扩展卡尔曼滤波器,结构如下。

基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第1张图片

估计曲线在电流脉冲区域有明显的发散,在恒流放电区域逐渐收敛到真实值。

SOC和Up(RC元件在Thevenin ECM中的电压)的估计值同步变化,这是由于它们处于相同的状态向量中而,这可以在功能块“EKF”中看到。

卡尔曼滤波根据UL(负载电压)的观测值与预测值的差,对包括SOC和Up在内的状态组进行更新。代码表达如下。 

Matlab代码:

X_upd = X_pre + K*(UL_obs-UL_pre);

仿真输出如下图所示

基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第2张图片基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第3张图片

## 改进

在改进之后,模块之间的I/O关系变得更加清晰,相应的Simulink文件命名为:Improved_EKFSim。

基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第4张图片

基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第5张图片

基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第6张图片

这里使用BBDST(北京公交车动态街道测试)工况作为输入电流。

基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第7张图片

仿真结果:

基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第8张图片基于卡尔曼滤波的锂电池状态估计MATLAB仿真及程序_第9张图片

你可能感兴趣的:(电气仿真,matlab,SOC状态估计,卡尔曼滤波)