简介:面向电动汽车BMS学习与研发人员,围绕SOH健康状态与SOP功率状态估算这一核心问题,梳理可落地的策略框架与工程思路。压缩包仅含1个docx文档,约787KB,便于集中查阅与二次整理。内容从SOH定义与更换阈值切入,分类讨论耐久性模型开环、电池模型闭环、开路电压及内阻等估算路径,并延伸到SOP的复合脉冲法、HPPC测试与基于内阻的估计;同时给出SOH/SOC双时间尺度与多时间尺度卡尔曼联合估算、优缺点比较,以及内阻与SOH关系模型和加速老化测试流程示例。已有3674人学习下载,适合希望系统建立BMS状态估算知识图谱、对照实验方法与模型选型的读者参考。
1. SOH 与 SOP 不是两个孤立数字:一份 BMS 估算文档的复现路线
很多团队把 SOH 和 SOP 当成两个独立仪表盘:一个看容量衰减,一个看 10 秒峰值功率。真正拆过 BMS 估算链路的人会先问一句:它们是不是共享同一套老化参数?这份《电动汽车BMS中SOH和SOP估算策略总结》把容量定义、OCV 区间法、内阻法、HPPC 复合脉冲、多约束二分查找和双时间尺度卡尔曼滤波串在一起,适合做 BMS 软件、台架测试、标定和电池数据分析的人当复现底稿。它不教你从零推公式,而是把“哪些参数能测、哪些假设会翻车、先做哪一步”摆到桌面上:先统一容量口径,再决定用 OCV 还是内阻做 SOH 观测,最后用 10 秒脉冲把 SOP 约束边界压出来。读的时候别急着抄模型,先把测试条件对齐。
2. SOH 估算落地:容量定义、OCV 区间法与内阻线性模型怎么选
2.1 先把 SOH 定义钉死:容量衰减、80% 阈值和标称容量的口径
SOH 的第一行不是算法,是口径。常见标准里把动力电池容量能力下降到 80% 作为更换参考,纯电动汽车一般先看容量衰减,表述为当前容量与初始容量的比值。文档里给的式子是 SOH=(C_standard-C_fade)/C_standard×100%,其中 C_fade 是已损失容量,C_standard 是标称容量。这个式子等价于 C_current/C_standard,但工程上最容易错的是 C_standard 到底取哪个数:是出厂标称容量、额定容量,还是某一温度、某一倍率下实测的可用容量。三个口径混用,SOH 就会超过 100%,或者在同一台车上跳变。
我一般先把下面这张参数表填满,再谈模型。表里任何一个空着,后面的 OCV 法、内阻法都会变成玄学。
| 符号 | 含义 | 工程口径与注意点 |
|---|---|---|
| C_standard | 标称容量 | 同一批次、同一温度、同一倍率下的基准,不要混用额定值与实测值 |
| C_fade | 已损失容量 | 由当前最大可用容量反推,避免用单次放电安时直接减 |
| C_current | 当前最大可用容量 | 满充到截止、再放到截止的可用安时,测试温度固定 25 ℃ |
| SOH | 健康状态 | 先按容量定义,内阻法只作为观测补充 |
| 80% | 更换参考 | 不是保护动作阈值,BMS 里还要分告警、降额、限功率 |
可执行步骤不复杂,但每一步都要留记录:第一步,选定基准容量并写进标定文档;第二步,用同一套充放电流程做满充满放标定,记录温度、倍率、截止电压;第三步,每 5 个加速老化循环复测一次容量和内阻;第四步,按上式算 SOH,同时保留原始安时数据,方便后面回查。测试流程里常见做法是 1C 恒流放电到厂家截止电压,静置 1 h,再 1C 恒流充电到上限电压,转恒压到 0.05C 截止,静置 1 h。这里的 2.7 V、4.2 V 要按电芯体系取,不能把不同体系的截止电压混在一张表里。
注意:SOH 的 80% 是更换参考,不是直接切断功率的理由;BMS 里要把它映射成告警、降额和限功率三层策略。
2.2 开环耐久性模型:什么时候只能做趋势判断
开环方法靠耐久性机理或者耐久性外特性,描述固体电解质膜电阻增加、电池端子电压增加,分析内部物理化学反应特性,直接预测容量衰减和内阻变化。它适合早期选型、寿命趋势判断、没有在线激励条件的场景,比如台架加速老化前期,或者只想回答“这组电芯在 45 ℃、90% SOC 窗口下大概能撑多少循环”。它的边界也很清楚:个体差异、工况差异、温度分布都会让开环曲线偏离,而且没有闭环修正,误差会一路累下去。
我一般把开环结果当先验,不当最终 SOH。做法是建一张老化因子表:温度、SOC 窗口、充放电倍率、放电深度各占一列,用加速老化数据拟合趋势,输出的是“趋势区间”而不是单点值。温度影响常见做法是用 Arrhenius 型加速关系,倍率影响用幂函数或经验表,但没有数据时不要拍系数。文档里提到耐久性模型开环方法对内部反应特性分析较深,这句话的落地含义是:它适合解释“为什么衰减”,不适合单独承担“现在 SOH 是多少”的在线任务。
可执行步骤:先固定测试矩阵,至少覆盖 25 ℃、45 ℃ 两个温度点和 10%~90% 三个 SOC 窗口;再按每 5 个循环记录容量、内阻、端电压;然后用归一化后的容量衰减曲线拟合趋势;最后把开环输出接入 BMS 时只作为 SOH 的初始值或上限约束,等闭环观测器收敛后再接管。这样做的原因是开环模型没有观测反馈,一旦电芯批次差异偏大,SOH 会整段偏移,后面 SOP 的峰值功率也会跟着偏大。
2.3 OCV 区间法:固定 OCV 与变化 OCV 的差别
文档里有一个很关键的实验结论:电池在不同老化程度下,OCV 曲线形状受影响并不明显,OCV 与 SOC 的对应关系在整个老化过程相对稳定。基于这个结论,可以在相同 OCV 区间内计算电池电量的变化,从而估计当前容量和 SOH。这个思路适合静置条件好、温度可控的场合,比如充电桩端、停车后的慢充窗口,或者台架标定。它不是随时可用的在线算法,因为要等 OCV 稳定。
基于 OCV 的 SOH 估计大致分两类:固定 OCV 法和变化 OCV 法。固定 OCV 法用某个 OCV 点查表推 SOC,再结合安时积分算容量;变化 OCV 法用一段 OCV 区间内的电量变化算当前容量,对单点电压误差没那么敏感。两者差别可以用下表说清。
| 方法 | 输入 | 优点 | 边界 |
|---|---|---|---|
| 固定 OCV | 单个 OCV 点、温度、静置时间 | 实现简单,计算量小 | 平台区电压斜率小,微小误差会放大 |
| 变化 OCV | 一段 OCV 区间、进出区间安时积分 | 抗单点误差,适合区间电量法 | 区间要选斜率大、线性明显的段 |
理论边界也要记住:只有 OCV 曲线斜率较大、SOC 与 OCV 呈明显线性关系时,才能忽略老化对 OCV 曲线的影响,近似认为它恒定;文档特别提到 SOC 高端部分。温度对 OCV-SOC 影响明显,所以实际做法是建温度分区的 OCV-SOC 表,至少覆盖低温、常温、高温三档,中间用插值。可执行步骤:第一步,静置到 OCV 稳定,常见做法是静置 1~2 h 或直到电压变化率低于设定阈值;第二步,选落在斜率较大段的 OCV 区间,避开平台区;第三步,记录进出区间的时间、电流、温度,做安时积分;第四步,用区间电量除以对应 SOC 变化算当前容量,再算 SOH;第五步,把温度、静置时间、区间宽度写进结果,方便复现。
提示:OCV 区间法最怕“没静置够就取电压”,尤其是刚充放电结束后的极化电压还没退,算出来的容量会偏。
2.4 内阻法:把 R-SOH 一次线性关系做成可查表
容量衰减过程中一般伴随内阻增加,所以内阻可以作为 SOH 的观测入口。文档里的例子是从电池能量损耗角度出发,对同一批次不同单体做归一化处理,得到线性度很高的一次线性关系:内阻值与 SOH 近似线性。这个模型的好处是测试方法简单、参数识别快,适合台架和产线抽检;缺点是内阻受温度、SOC、脉冲方向影响很大,不固定测试条件就会散。
文档给的测试流程可以整理成下面这张步骤表。设备名用代称,实际落地时换成实验室现有的高低温交变湿热试验箱和电池测试系统即可。
| 步骤 | 操作 | 关键参数 |
|---|---|---|
| Step1 | 1C 恒流放电至截止电压 | 截止电压按体系取,常见 2.7 V |
| Step2 | 静置 | 1 h |
| Step3 | 1C 恒流充电至上限,转恒压至 0.05C 截止 | 上限常见 4.2 V |
| Step4 | 静置 | 1 h |
| Step5 | 1C 恒流放电 0.1 h,调整 SOC 到 90% | 用于确定起点 |
| Step6 | 静置 | 30 min |
| Step7 | 0.2C 充电 10 min,每 1 s 记录电压 | 充电方向内阻 |
| Step8 | 0.2C 放电 10 min,每 1 s 记录电压 | 放电方向内阻 |
| Step9 | 1C 恒流放电 0.1 h,调整 SOC 到 80%,重复到 10% | SOC 步长 10% |
计算时不要把充电内阻和放电内阻混成一个数。常见做法是用脉冲前后电压差除以电流得到直流内阻,或者按文档里的充放电能量公式折算,核心是同一套口径:同一温度、同一 SOC 点、同一脉冲方向、同一静置时间。当前最大可充电量由 Step3 得到,再按容量定义算 SOH,就能建立“内阻 R—SOH”对应表。温度要作为独立维度,宽温度范围下最好做 R-SOH-SOC-T 三维查表,至少先把 25 ℃ 的线性关系跑通,再扩到低温和高温。
注意:内阻法不要在不同 SOC 点之间直接比较 R 值;SOC 变了,内阻本身就会变,看起来像 SOH 漂移。
2.5 闭环 RLS/KF:观测器怎么接进 BMS
基于电池模型的闭环方法常见做法是递推最小二乘法 RLS 辨识参数,再用卡尔曼滤波 KF 或扩展卡尔曼滤波 EKF 估状态。SOH 不是直接可测量,要靠容量衰减或内阻变化作为观测入口。落地时先把一阶或二阶 RC 模型建起来,状态量至少包含 SOC 和极化电压,参数包含 R0、R1、C1;二阶模型再加 R2、C2。RLS 负责在线辨识欧姆内阻和极化参数,EKF 负责在电流波动中估 SOC,SOH 用慢时间尺度更新。
可执行步骤:第一步,确定模型阶数,乘用车 BMS 里一阶 RC 加 OCV 表已经能跑,二阶适合对动态精度要求更高的场景;第二步,用带遗忘因子的 RLS 辨识参数,遗忘因子常见取 0.95~0.99,电流激励不足时暂停更新;第三步,建 EKF 状态方程和观测方程,观测量用端电压;第四步,用容量衰减模型或内阻模型更新 SOH,更新周期比 SOC 慢;第五步,检查新息是否接近白噪声,新息有偏说明模型参数或 OCV 表有问题。
| 环节 | 输入 | 输出 | 常见问题 |
|---|---|---|---|
| RLS | 电流、端电压、温度 | R0、R1、C1 | 电流太平,参数不可辨 |
| EKF | 电流、端电压、OCV-SOC 表 | SOC、极化电压 | OCV 表温度分区不足 |
| SOH 更新 | 容量标定、内阻观测 | SOH | 容量口径不统一 |
闭环方法的价值是能在线修正,但它不是“接上就准”。RLS 需要足够激励,EKF 需要合理的 Q/R 矩阵,SOH 更新需要可靠的容量或内阻观测。文档里把 RLS、KF 归到基于电池模型的闭环方法,落地时要把“参数辨识”和“状态估计”分开看:参数辨错了,EKF 只是在错误模型上跑得更平滑。
3. SOP 估算落地:HPPC 的 10 秒峰值功率与多约束二分查找
3.1 复合脉冲法为什么简单:内阻模型与瞬时功率
SOP 描述电池功率状态,通常用短时峰值功率表示。车辆起步、加速、刹车都在要瞬时大功率,BMS 必须在线估出峰值功率,才能做功率分配和能量控制。复合脉冲法是最广泛也最简单的做法:基于内阻模型,用当前 SOC 下的开路电压和内阻估瞬时 SOP。它的优点是模型简单、计算量小;缺点是车辆实际电流变化剧烈时误差大,而且没有考虑充放电电流阈值和 SOC 限制,估出来的峰值功率偏大。
文档里给了一个很实用的工况依据:急加速持续时间在城市工况和高速工况下分别约 10 s 和 25 s,紧急制动持续时间约 5~10 s 和 33 s。考虑实际应用,选 t=10 s,测 10 s 放电峰值功率作为 SOP。这个选择不是拍脑袋,是把城市工况的加速窗口作为主要约束。落地时要把 t 写进模型参数,不要今天 10 s、明天 30 s 混着用。
| 工况 | 持续时间 | 对 SOP 的含义 |
|---|---|---|
| 城市急加速 | 约 10 s | 10 s 放电峰值功率是常用口径 |
| 高速急加速 | 约 25 s | 长时功率要单独约束,不能只看 10 s |
| 城市紧急制动 | 约 5~10 s | 充电峰值功率要覆盖回馈窗口 |
| 高速紧急制动 | 约 33 s | 长时回馈受电压上限和 SOC 上限约束 |
3.2 HPPC 测试流程:10 秒脉冲、40 秒静置、10% SOC 间隔
HPPC 的思想是给电池加 t 秒脉冲电流,分析电压变化,基于给定公式算峰值功率。脉冲电流值要通过多次测试数据拟合推断;恒功率测试法则是在某一恒定功率下持续充放电 t 秒,恰好达到工作电压上限或下限,通过调整功率设定值让测试时间逼近 t 秒。两条路都行,关键是记录完整的电压、电流、温度。
文档里的 HPPC 流程可以整理成下面这张表,按 90% 到 10% 的 SOC 点循环。
| 顺序 | 操作 | 参数 |
|---|---|---|
| 1 | CCCV 充电至满电 | 按体系上限电压,截止电流 0.05C |
| 2 | CC 放电至某一 SOC 点 | 从 90% 开始,步长 10% |
| 3 | 静置 | 1 h |
| 4 | 脉冲放电 10 s,静置 40 s,脉冲充电 10 s | 记录 1 s 采样 |
| 5 | SOC 从 90% 降到 10%,间隔 10% | 重复步骤 2~4 共九次 |
测试时最容易忽略的是静置时间和采样率。静置 1 h 是为了让极化电压退下去,40 s 中间静置是为了把放电脉冲和充电脉冲分开;采样 1 s 是为了抓住脉冲开始和结束的电压跳变。温度要固定,常见做法是 25 ℃ 恒温箱,至少记录箱体温度和电芯表面温度。脉冲电流方向要固定,放电内阻和充电内阻分开存表,不要用一个平均值糊过去。
提示:HPPC 的 SOC 点不要只做 90% 和 10%,中间点才是 BMS 日常工作的区间;10% 间隔是最低要求,功率边界紧的车型可以加密到 5%。
3.3 峰值功率计算:放电/充电公式与温度修正
基于脉冲放电过程的电压变化,可以先算放电内阻,再算放电功率。常见写法是 R_dis=(OCV_dis-V_dis_end)/I_dis,P_dis=V_min×(OCV_dis-V_min)/R_dis;充电侧同理,P_chg=V_max×(V_max-OCV_chg)/R_chg。V_min 是被测电池下限电压,OCV_dis 是放电脉冲开始前的 OCV,V_max 是上限电压。文档里还提到结合温度影响的推算形式,把 SOC、内阻 R_adj 和温度 T 作为模型输入,峰值功率 P_adj 作为输出。落地时不要把一个温度点的内阻直接套到全温度范围,温度修正表要单独标定。
| 符号 | 含义 | 取值注意 |
|---|---|---|
| V_min | 放电下限电压 | 按体系取 2.7 V 或 3.0 V,不要混用 |
| V_max | 充电上限电压 | 常见 4.2 V,按电芯规格 |
| OCV_dis | 放电脉冲前 OCV | 静置后取,不用带极化电压的端电压 |
| OCV_chg | 充电脉冲前 OCV | 与放电侧分开记录 |
| R_dis / R_chg | 放电/充电内阻 | 同一脉冲时长、同一温度 |
| t | 峰值功率持续时间 | 常用 10 s,写进模型 |
计算步骤:第一步,取脉冲前静置末端的 OCV;第二步,取脉冲结束前的端电压,算内阻;第三步,代入功率公式,分别算放电和充电峰值功率;第四步,按温度、SOC 做二维修正;第五步,把结果和实测恒功率逼近值对比,偏差大就回查脉冲时长和截止电压。这里最常见的翻车是拿错截止电压:同一批数据里既有 2.7 V 又有 3.0 V,功率会差出一截,后面多约束法再准也救不回来。
3.4 多参数约束:SOC、电压、电流三大约束与二分查找
多参数联合约束 SOP 估计的思想是同时考虑电压、电流、SOC 的共同限制,预测电池 10 s 持续峰值功率输出能力。步骤分四层:第一层,考虑 SOC 约束估最大充放电电流;第二层,考虑电池电压约束估最大充放电电流;第三层,用二分查找在电流区间里找满足端电压边界的最大电流;第四层,按多参数约束法算峰值功率。这个思路比复合脉冲法保守,但更接近 BMS 真正能放出去的功率。
可执行流程可以写成下面这样:
- 读入当前 SOC、温度、OCV-SOC 表、R0/R1/C1 参数。
- 按 SOC 下限和上限算电流边界,例如放电侧受 SOC_min 约束,充电侧受 SOC_max 约束,时间窗口取 10 s。
- 按电压下限和上限算电流边界,用 RC 模型递推 10 s 末端电压,超过 V_min 或 V_max 的电流剔除。
- 取 SOC 约束、电压约束、电流硬件限值的交集,得到初始搜索区间 [0, I_max]。
- 在区间内二分查找最大可行电流,收敛条件可以设 1 A 或功率 0.1%。
- 用 P=V×I 或 P=OCV×I-I²R 算峰值功率,放电和充电分别输出。
二分查找的好处是不用解复杂方程,坏处是每次迭代都要递推模型,计算量比复合脉冲法大。BMS 里常见做法是 10 ms 或 100 ms 周期里只做一次轻量查表,二分查找放在功率分配前或降额计算里,不一定要每个控制周期都跑。约束参数要写死:SOC_min、SOC_max、V_min、V_max、I_min、I_max、t=10 s。SOC 上下限不要直接取 0 和 100,常见做法留 10% 和 90% 的窗口,具体看电芯策略。
3.5 非参数模型:支持向量机/机器学习什么时候值得上
文档把 SOP 估计的非参数模型归为黑箱理论、支持向量机、机器学习算法。这类方法适合有大量覆盖工况的数据、离线训练在线推理的场景,比如车队数据足够多、温度区间和老化区间都覆盖到。它不适合小样本、解释性要求高、功能安全审查严格的场合,因为黑箱模型一旦输出异常,很难像内阻模型那样逐项排查。
我一般把非参数模型当“查表加速器”,不当唯一模型。可执行步骤:第一步,特征工程用 SOC、温度、内阻、电压、电流、历史功率窗口;第二步,标签用 HPPC 实测 10 s 峰值功率,别用复合脉冲法算出来的值当标签,否则学到的只是旧模型的偏差;第三步,按批次、温度、老化区间分组划分训练集和验证集,不要随机打乱,否则数据泄漏会让指标虚高;第四步,部署时优先用查表或轻量模型,保留内阻模型做兜底;第五步,在线监控输入分布,温度或 SOC 超出训练覆盖就切回物理模型。这样做的原因是 SOP 直接关系功率安全,黑箱模型必须有边界。
4. 联合估算:双时间尺度卡尔曼滤波在 BMS 里的拆解
4.1 双时间尺度:SOC 快、SOH 慢,为什么不能同频
SOH 和 SOC 的变化速度差一个量级以上。SOC 随电流秒级变化,SOH 随老化在小时、天、月尺度缓慢变化。把两者放在同一个时间尺度上估,会出现两个问题:一是 SOH 观测器被 SOC 误差带偏,二是计算量全花在慢状态上。双时间尺度卡尔曼滤波的思路是:一个时间尺度的观测器实时估 SOC,另一个时间尺度估 SOH,用 SOH 的模型退化信息去修正 SOC 观测器。
文档里给了两条途径。第一条是构建基于卡尔曼滤波的双时间尺度,确定一阶或二阶 RC 模型的标称参数对 SOC 的依赖性,用递推最小二乘法识别参数,在 SOH 基础上量化模型性能退化;一个观测器实时估 SOC,另一个离线估 SOH,用量化后的模型精度退化确定 SOH 观测器的时间尺度,最后用大量测试数据验证。第二条是把等效电路模型与可用容量变化联系起来,建立 SOC 与 SOH 联合估算的集总参数模型,用多尺度扩展卡尔曼滤波,宏观尺度估 SOH,微观尺度估 SOC,在多工况下完成联合估算。
| 时间尺度 | 状态 | 更新周期 | 主要观测 |
|---|---|---|---|
| 微观 | SOC、极化电压 | 秒级到 10 秒级 | 端电压、电流、温度 |
| 宏观 | SOH、可用容量 | 分钟级到小时级 | 容量标定、内阻变化、长时间电流积分 |
4.2 基于 RLS+EKF 的双时间尺度实现步骤
这条路线适合已经有 RC 模型和 OCV-SOC 表的团队。核心是把参数辨识和状态估计分开:RLS 在线辨识 R0、R1、C1,EKF 在微观尺度估 SOC,宏观尺度用容量衰减或内阻变化估 SOH,再用 SOH 修正模型参数。文档里强调“在电池 SOH 的基础上对标称模型的性能退化进行量化”,落地含义是:SOH 不是估完就存着,它要反馈到 R0、R1、C1 和可用容量上。
可执行步骤:第一步,建一阶或二阶 RC 模型,OCV-SOC 表按温度分区;第二步,用带遗忘因子的 RLS 辨识参数,电流激励不足时冻结更新,避免参数漂;第三步,建微观 EKF,状态量取 SOC 和极化电压,观测量取端电压,采样周期常见 1 s;第四步,建宏观 SOH 观测器,用容量标定值或内阻观测值更新,更新周期取微观的几十到几百倍,具体看采样率和老化速率;第五步,用 SOH 修正可用容量和欧姆内阻,再回到微观 EKF;第六步,用台架数据检查 SOC 误差、SOH 误差和新息白噪声特性。
参数上要写清楚:遗忘因子常见 0.95~0.99,过程噪声 Q 和观测噪声 R 不能拍脑袋,先用离线数据调,再上台架。SOH 观测器的时间尺度不是越慢越好,太慢会跟不上老化,太快会被 SOC 误差污染。我一般先把微观 SOC 跑稳,再开宏观 SOH 更新,两步分开看曲线,否则一起调的时候根本分不清是谁带偏了谁。
4.3 多尺度 EKF:把等效电路模型和可用容量绑在一起
第二条路线是把等效电路模型与可用容量变化绑定,建立 SOC 与 SOH 联合估算的集总参数模型,再用多尺度 EKF 融合不同时间尺度的测量信息。状态量可以取 SOC、极化电压和可用容量或 SOH,微观尺度更新 SOC 和极化电压,宏观尺度更新 SOH。观测方程还是端电压,但模型里的可用容量随 SOH 变,SOC 的安时积分分母也跟着变,这样 SOH 误差不会只停留在 SOH 通道,而会通过模型反馈到 SOC。
可执行步骤:第一步,把可用容量写成 C_available=C_standard×SOH,SOC 更新里用 C_available 做分母;第二步,状态方程里 SOH 用缓慢随机游走建模,过程噪声设小;第三步,微观 EKF 每步更新 SOC 和极化电压,宏观 EKF 每 N 步更新 SOH;第四步,观测量用端电压,必要时加容量标定作为慢观测;第五步,加约束,SOC 限制在 0~1,SOH 限制在合理区间,防止滤波发散发负;第六步,在典型工况下验证收敛速度和精度。
文档提到在 NEDC 工况下完成 SOC 与 SOH 联合估算,估算精度高、收敛速度快。落地时不要把“NEDC 工况”当成唯一验证,城市走走停停、长时间高速、低温快充都要补。多尺度 EKF 的优点是融合了不同时间尺度的信息,缺点是标定工作量大,Q/R 矩阵、初始协方差、宏观更新周期都要调。常用做法是先用离线数据跑一遍,看 SOH 收敛到 80% 附近需要几个宏观周期,再决定在线更新频率。
4.4 NEDC 工况验证:精度、收敛速度看哪些指标
联合估算的验证不能只看一条 SOH 曲线。至少要分三组:SOC 精度、SOH 精度、SOP 精度,再加收敛时间和新息特性。SOC 看 RMSE 和最大误差,SOH 看 RMSE 和收敛到稳定值的时间,SOP 看 10 s 峰值功率误差。初始 SOC 和初始 SOH 都要故意设偏,看看滤波器能不能拉回来。温度要覆盖常温、低温和高温,至少常温加一个极端点。
| 指标 | 建议观察值 | 说明 |
|---|---|---|
| SOC RMSE | 按车型定,先看是否随温度恶化 | 低温段容易偏大 |
| SOH RMSE | 看相对误差,不只看绝对值 | 80% 附近最关心 |
| SOP RMSE | 放电、充电分开统计 | 峰值功率偏大更危险 |
| 收敛时间 | 宏观周期数 | 初始 SOH 设偏后能否拉回 |
| 新息 | 是否接近零均值白噪声 | 有偏说明模型或 OCV 表有问题 |
验证步骤:第一步,准备 NEDC 工况数据和对应的电流、电压、温度;第二步,把初始 SOC 设偏 5%~10%,初始 SOH 设偏 3%~5%;第三步,跑微观 SOC 和宏观 SOH,记录每次更新后的误差;第四步,用 HPPC 实测 10 s 功率做 SOP 对照;第五步,换一批电芯数据重复,检查批次适应性。这里最容易忽略的是“初始协方差”,P0 设得太小,滤波器会过度自信,收敛慢还以为是算法不行。
4.5 联合估算的边界:计算复杂度与标定工作量
双时间尺度能降低计算复杂度、提高估算精度,但它不是免费午餐。宏观 SOH 观测器要容量标定或内阻观测,微观 EKF 要 OCV-SOC 表和 RC 参数,多尺度 EKF 还要处理两个滤波器的耦合。MCU 资源紧、温度分区少、没有台架数据的项目,硬上联合估算很容易变成“参数调不完”。我的判断标准是:如果连 25 ℃ 的 OCV-SOC 表都没标定干净,先别碰多尺度 EKF;如果连 10 s HPPC 数据都没有,SOP 约束边界就是空的。
适用边界可以这么看:有完整台架数据、有温度分区、有批次一致性数据的团队,联合估算值得做;只有实车数据、没有容量标定点的团队,先做开环趋势加内阻观测,再逐步上闭环。文档里两种途径都强调用大量测试数据验证,这句话的落地含义是:联合估算的精度不是算法单独给的,是数据覆盖和标定质量给的。
5. 避坑与排查:SOH/SOP 复现时最容易翻车的五件事
5.1 坑一:OCV-SOC 曲线当常数用,温度一漂全乱
现象:同一台车在常温下 SOH 还算稳,到了低温或高温,SOH 突然跳变,SOC 也跟着偏。原因:把 25 ℃ 的 OCV-SOC 表套到全温度范围,忽略了温度对 OCV 的明显影响;再加上静置时间不够,极化电压没退,取到的 OCV 本身就不干净。解决:建温度分区的 OCV-SOC 表,至少覆盖低温、常温、高温,中间插值;静置时间按电压变化率判断,不要固定 30 min 就取;OCV 区间法选斜率大、线性明显的段,避开平台区。血泪经验是:OCV 表没标定好,后面 RLS 和 EKF 调得再细,也只是在错误基础上修修补补。
5.2 坑二:内阻测试没统一 SOC 和温度,R
本文还有配套的精品资源,点击获取