这个小项目来自于我大学毕业设计的放着模拟部分,目的是估计锂电池的荷电状态(SOC)。主要完成了扩展卡尔曼滤波(EKF)的实验、参数辨识和仿真。完成无迹卡尔曼滤波(UKF)仿真需要感谢我的朋友顾鹏程的贡献。BBDST的工作环境也得益于我的师兄蒋聪的帮助。谢谢我的小伙伴们
项目中包括锂电池模型建立、参数辨识与验证、SOC估计采用扩展卡尔曼滤波(EKF),使用了两种方式实现:
1 Simulinks(EKF only)
2 脚本(包含EKF和UKF)
该模型的输入包括电流和电压来自于HPPC(混合脉冲功率特性)测试的电池数据。
文件EKFSim_R2016中使用了Thevenin等效电路模型和扩展卡尔曼滤波器,结构如下。
估计曲线在电流脉冲区域有明显的发散,在恒流放电区域逐渐收敛到真实值。
SOC和Up(RC元件在Thevenin ECM中的电压)的估计值同步变化,这是由于它们处于相同的状态向量中而,这可以在功能块“EKF”中看到。
卡尔曼滤波根据UL(负载电压)的观测值与预测值的差,对包括SOC和Up在内的状态组进行更新。代码表达如下。
在改进之后,模块之间的I/O关系变得更加清晰
脚本文件可以仿真在BBDST(北京公交车动态街道测试)工况和带有观测噪声的恒流工况下的锂离子电池放电过程,利用EKF/UKF方法估算电池荷电状态。