1. 双卡尔曼滤波在电池SOC估计中的工程实践
电池管理系统(BMS)中最关键的指标莫过于荷电状态(SOC)估计精度。传统单一扩展卡尔曼滤波(EKF)方案在实验室静态工况下表现尚可,但一旦遇到电动车实际运行中的动态工况,参数时变特性就会导致估计误差急剧增大。我在某车企BMS开发项目中,实测传统方法在-10℃低温+城市拥堵工况下,SOC误差最高可达8.2%,这直接影响了剩余续航里程预测的可靠性。
经过多次方案迭代,最终采用双EKF架构(DEKF)解决了这一问题。这个方案的精妙之处在于:用第一个EKF专门追踪电池参数变化,第二个EKF则利用更新后的参数实时计算SOC,两个滤波器形成级联闭环。这就好比给系统配备了两个专业团队——参数辨识组负责实时绘制地图,状态估计组则根据最新地图导航,二者协同工作使得系统在动态环境下仍能保持稳定跟踪。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计与实现原理
2.1 整体方案拓扑结构
在Simulink中搭建的模型采用清晰的模块化设计(如图1所示),主要包含三个功能单元:
- 电池参数辨识EKF:基于二阶RC等效电路模型,实时更新R0(欧姆内阻)、R1(极化电阻)、C1(极化电容)等关键参数
- SOC估计EKF:接收参数EKF的输出,结合安时积分法进行SOC计算
- 工况激励模块:生成UDDS+FUDS混合动态工况电流曲线,模拟真实行车场景
关键设计要点:两个EKF模块必须采用异步更新策略,参数EKF的更新频率设置为SOC EKF的1/2,这样既能保证参数跟踪的实时性,又可避免计算资源浪费。
2.2 电池模型精细化处理
采用改进的二阶RC模型(图2子模块),在传统模型基础上做了三项优化:
-
OCV-SOC曲线分段线性化:通过实验获取不同温度下的OCV-SOC关系,在Simulink中用Lookup Table模块实现。实测表明,将曲线分为5段(SOC区间:0-10%、10-30%、30-70%、70-90%、90-100%)线性拟合,既能保证精度又可减少计算量。
-
动态参数耦合设计:将极化电压V1作为状态变量,通过端电压测量值反推参数变化。状态方程实现代码如下:
matlab复制function [A,B] = fcn(R0, R1, C1, Ts)
