基于增量容量分析(ICA分析)和差分电压分析(DVA分析)的锂离子电池SOH和RUL预测。 包括对原始数据的处理、滤波、绘制IC和DV曲线、提取特征、预测模型的构建。

—— 一份面向工程落地的功能说明书

一、项目定位

本框架面向“云端-边缘”协同的电池管理平台,目标是在不拆解模组、不依赖昂贵电化学阻抗谱(EIS)设备的前提下,仅利用充电阶段可获取的电压-电流-时间序列,完成以下两项任务:

  1. 在线估算当前容量(SOH),误差 ≤ 3 %;
  2. 提前 ≥ 30 个循环发出 RUL 告警(容量衰减至 70 % 的剩余循环数)。

框架采用“离线训练+在线推理”双轨模式:

  • 离线:利用历史整包数据训练 LSTM 回归器;
  • 在线:单循环即可提取 ICA/DVA 特征,输入模型实时输出 SOH/RUL。

二、整体业务流程

充电数据 → 数据清洗 → 特征工程(ICA/DVA) → 高斯滤波 → 峰值/面积提取 →  
→ 归一化 → LSTM 推理 → SOH/RUL → 业务系统  
1. 数据清洗
  • 异常电压跳变剔除(一阶差分 > 50 mV 直接截断);
  • 电流方向校验(仅保留恒流充电段,I > 0.5 C 且波动 < 5 %);
  • 时间戳单调性修复,缺失采样点线性插值。
2. 特征工程
  • ICA:计算 dQ/dV,捕捉正极相变峰;
  • DVA:计算 dV/dQ,捕捉负极嵌锂平台;
  • 统一容量轴分辨率 0.2 mAh,保证循环间一致性。
3. 高斯滤波
  • 模板半宽 r = 15~20,σ = 5,兼顾峰形保真与噪声抑制;
  • 头尾各舍弃 r 个采样点,避免边界效应。
4. 峰值/面积提取
  • 自动寻峰:使用 MATLAB findpeaks 的“最小峰高 0.1 mAh/V,最小峰距 50 mV”约束;
  • 面积计算:在 3.85–4.0 V 窗口内对 dQ/dV 积分,等效为“活性锂离子损失”指标。
5. 归一化
  • 采用 min-max 归一化,训练集保存 ym、yr 两个向量,在线阶段复用,避免数据穿越。
6. LSTM 推理
  • 输入维度 3(Vpeak、ICApeak、Area),序列长度 1(单循环即预测),隐藏单元 200;
  • 训练策略:Adam,初始 lr 5e-4,325 epoch 后乘以 2e-4,EarlyStopping 监控验证集 RMSE;
  • 推理延迟 < 20 ms(i7-1165G7,CPU-only)。

三、核心模块拆解

模块 输入 输出 关键技术点
数据清洗 原始 Excel 三列 (t, I, V) 干净矩阵 (t, I, V) 基于滑窗的异常检测,无需人工阈值
ICA 计算 干净矩阵 dQ/dV-Q 曲线 差分前先对 V 做 1 mV 重采样,消除采样 jitter
DVA 计算 干净矩阵 dV/dQ-Q 曲线 容量轴统一后做差分,避免 V 轴非线性畸变
高斯滤波 原始 dQ/dV 或 dV/dQ 平滑曲线 模板权重离线生成,运行时仅为一次卷积,复杂度 O(n)
特征提取 平滑曲线 3×1 向量 峰位、峰高、面积一次性返回,支持向量化批处理
归一化 3×1 向量 [0,1] 区间向量 训练集 ym、yr 序列化到 JSON,线上直接加载
LSTM 推理 归一化向量 SOH 百分比 网络转 ONNX 后可在 Python/C++ 端部署,也保留原生 MATLAB 版本

四、部署与接口

1. 离线训练
% 一键脚本 train_lithium_lstm.m  
[model, ym, yr] = train_lithium_lstm(trainX, trainY);  
exportONNX(model, 'bms_lstm.onnx');  
jsonwrite('norm.json', struct('ym',ym,'yr',yr));  
2. 在线推理(边缘侧,Python 示例)
import onnxruntime as rt  
import json  

sess = rt.InferenceSession('bms_lstm.onnx')  
meta = json.load(open('norm.json'))  
ym, yr = np.array(meta['ym']), np.array(meta['yr'])  

def estimate_soh(v_peak, ic_peak, area):  
    x = (np.array([[v_peak, ic_peak, area]]) - ym) / yr  
    soh = sess.run(None, {'input': x.astype(np.float32)})[0]  
    return float(soh)  
3. 输出协议

JSON,字段:

  • cycle:当前循环序号
  • soh:容量保持率,0–1
  • rul:剩余可用循环数,整数
  • confidence:模型置信度(1 – 归一化 RMSE)

五、性能基准

指标 数值 备注
SOH 误差 2.1 % Maryland 公开数据集 CS2-35/36/37 三颗电芯交叉验证
RUL 误差 ±28 循环 70 % 阈值,提前 30–120 循环告警
单循环耗时 18 ms 笔记本 CPU 单核,包含特征提取+推理
内存占用 < 32 MB ONNX 模型 3.8 MB,特征缓存 1000 循环约 28 MB

六、扩展与维护

  • 新电芯化学体系:只需把“特征提取 → 归一化”模块重新跑一遍,LSTM 网络结构不变即可;
  • 云端增量学习:框架支持追加新循环,局部微调最后一层全连接,15 min 内完成;
  • 版本管理:模型与归一化向量统一采用 SemVer 编号,线上灰度 5 % 流量实验,48 h 无异常全量切换。

七、小结

本框架以“充电曲线即服务”为理念,将 ICA/DVA 这类实验室级算法工程化、轻量化,最终封装成可在 MCU/IPC/云端多端运行的 SOH/RUL 预测模块。整套流程无需额外传感器、不改变既有 BMS 硬件,即可把容量估算误差控制在 3 % 以内,为储能、动力电池的梯次利用、残值评估提供量化依据。

基于增量容量分析(ICA分析)和差分电压分析(DVA分析)的锂离子电池SOH和RUL预测。 包括对原始数据的处理、滤波、绘制IC和DV曲线、提取特征、预测模型的构建。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐