楼主: 1697536565
61 0

[互联网] 锂电池SOC估计基于二阶RC模型的扩展卡尔曼滤波估算SOC 验证工况:HPPC 和 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

学前班

40%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
20 点
帖子
1
精华
0
在线时间
0 小时
注册时间
2018-6-26
最后登录
2018-6-26

楼主
1697536565 发表于 2025-12-8 16:27:24 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

锂电池SOC估计看似简单,但在实际应用中却充满挑战。本文基于二阶RC等效电路模型,结合扩展卡尔曼滤波(EKF)方法,对SOC进行估算,并在HPPC工况与1C恒流放电工况下进行了验证。

首先来看模型结构。采用的二阶RC模型包含两个并联的电阻-电容支路,能够更准确地反映电池在动态过程中的极化行为,相较于一阶模型具有更强的动态响应模拟能力。这种结构尤其适用于捕捉复杂电流变化下的电压响应特性。

为了实现EKF算法,必须将系统的连续状态方程进行离散化处理。核心部分体现在predict_state函数中,其负责更新SOC以及两个极化电压的状态量:

def predict_state(soc, v1, v2, current, dt, R1, C1, R2, C2):
    soc_new = soc - dt/(3600*capacity) * current
    v1_new = np.exp(-dt/(R1*C1)) * v1 + R1*(1 - np.exp(-dt/(R1*C1))) * current
    v2_new = np.exp(-dt/(R2*C2)) * v2 + R2*(1 - np.exp(-dt/(R2*C2))) * current
    return soc_new, v1_new, v2_new

上述代码段虽简洁,但关键在于指数衰减项的时间常数计算。其中R1C1和R2C2作为重要的动态参数,若未经过精确辨识,会导致状态预测失准,进而严重影响整体估计精度。

在EKF算法中,雅可比矩阵的构建至关重要,尤其是OCV-SOC关系曲线的偏导数计算。实践表明,使用样条插值(spline)比传统多项式拟合更能稳定反映非线性变化趋势:

from scipy.interpolate import UnivariateSpline

ocv_spline = UnivariateSpline(soc_data, ocv_data, s=0)
dOCV_dSOC = ocv_spline.derivative()

以某款三元锂电池为例,在SOC约为30%时,dOCV/dSOC斜率可达80mV/%,属于高敏感区域,此时EKF能有效利用电压变化信息提升收敛速度。然而当SOC进入50%附近的电压平台区时,开路电压变化微弱,导致卡尔曼增益显著降低,滤波器对外部观测依赖减弱,此时模型本身的准确性成为决定因素。

在HPPC测试工况下的实验结果揭示了一个反直觉现象:脉冲放电阶段的SOC估计误差反而小于静置阶段。深入分析协方差矩阵演化过程后发现,频繁的电流变动实际上增强了系统可观测性,提供了更多可用于修正状态的信息。相反,在1C恒流放电过程中,由于电流持续且变化小,误差会随时间缓慢累积,呈现出“温水煮青蛙”式的漂移效应。为此,引入自适应调整过程噪声协方差的方法可有效缓解该问题。

最后给出几点工程建议:与其过度纠结EKF内部参数调优,不如优先确保HPPC测试数据的质量。通过建立SOC与模型参数之间的二维查表关系,考虑参数随荷电状态的变化趋势,可使估计精度提升至少3%。此外,测量噪声协方差矩阵不宜设置过小,应预留足够裕度以应对BMS现场采集环境中存在的电流波动和传感器误差,毕竟车载条件远不如实验室理想。

整体方案验证流程如下图所示:

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:扩展卡尔曼滤波 卡尔曼滤波 锂电池 卡尔曼 PPC

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-10 02:44