SOC Estimation 电池 SOC 估算
本质与导读
本质 SOC 测不了、只能估:库仑积分误差会累积、OCV 随温度和老化漂、LFP 平台又几乎平坦,单一方法必然失准。所以实操是库仑积分打底、静置时用 OCV 校准、EKF 实时融合三者结合,把精度压到 EV BMS 主流的 ±2-3%——SOC 错 5% 用户就感到"虚标"。
主线坐标:第 2 站 · BMS · ↑ 全景主线
1. 为什么 SOC 不能直接测
电池没有 "SOC pin"——只能通过外部测量量推算:
- 端电压 V (受电流和温度影响,动态变化)
- 电流 I (积分得电荷流)
- 温度 T (影响 OCV 和容量)
关键认知:SOC 是一个内部隐藏状态,只能估算。所有方法都是"用外部测量推内部状态"的不同实现。
2. 4 种主流方法
4 种方法在"准确度 vs 计算量"两轴递增 — 库仑积分简单但漂移,EKF/UKF 准但要 DSP:
2.1 方法 1: 库仑积分 (Coulomb Counting)
公式:
参数:
- = 初始 SOC
- = 电池标称容量 (Ah)
- = 充放电效率 (典型 95-99%)
- = 瞬时电流 (充正,放负)
特点:
- 简单——一个积分器
- 误差累积:电流采样误差 1% → 1 小时累积 1% SOC,1 天累积 24%
- 必须周期性校准 (从 OCV)
2.2 方法 2: OCV (Open Circuit Voltage)
原理:电池静置足够长 (1-2 小时) → 测端电压 = OCV → 查表得 SOC。
OCV(SOC) 曲线:
| 电池类型 | OCV(SOC) 特点 |
|---|---|
| NCA (Tesla / Lucid) | 单调上升,精度好,SOC 0-100% 可推 |
| NCM (大多 EV) | 单调上升,精度好 |
| LFP (比亚迪 / 储能) | 20%-90% SOC 区平坦 (3.2V),只在两端陡 |
| LCO (消费 Li-Po) | 单调,精度好 |
LFP 的痛点: 30 mV 对应 几乎 0% in plateau region → 在 20-90% 区间几乎不能用 OCV 推 SOC。
适用:
- 静置后启动: 初始化 SOC
- 充电完成时: 校准到 100%
- 不能实时——必须静置 1-2 小时
2.3 方法 3: Kalman Filter (EKF/UKF)
原理: 把库仑积分作为"过程模型",把 OCV 测量作为"测量更新",用 Kalman 滤波器融合。
EKF 流程分预测、测量、修正三步,下表给出每步对应的状态更新公式:
| 步骤 | 公式 |
|---|---|
| 1. 预测(Coulomb Counting) | ;(协方差预测) |
| 2. 测量(OCV,经 ECM 等效电路) | |
| 3. 修正(Kalman gain) | ; |
等效电路模型 (ECM):
- (欧姆内阻) + // (短时极化) + // (长时极化)
- 参数随 SOC + T + 老化变化
计算量: 32-bit MCU 每秒 100-1000 次更新,需要专用 BMS MCU。
精度: ±2-3% (常态),±5% (极端工况)。
2.4 方法 4: 数据驱动 / ML
原理: 用大量充放电数据训练神经网络 (LSTM / Transformer),输入 V/I/T → 输出 SOC。
优势:
- 自动适应老化
- 不依赖等效电路模型
- 高精度可能 (±1-2%)
劣势:
- 训练样本量大 (千万 km 行驶数据)
- 不透明 (黑盒)
- 嵌入式部署算力大
现状: 学术热点,部分主机厂 (Tesla / NIO) 量产用 ML 修正传统方法,纯 ML 替代还在试点。
3. 库仑积分误差分析
误差来源:
- 电流采样误差 (Shunt or Hall): ±1% (Hall) 至 ±0.1% (Shunt)
- 电流采样零漂: ADC 偏置 1mV → 100mA shunt 误差
- 库仑效率 η: 实际 95-99%,典型用 97-98%
- 容量退化 : 1 年 -3% 容量
累积误差:
实例: 100 Ah 电池, = 50mA → 1 hr 累积 ≈ 0.05% (很小);1 day 1.2%,1 week 8%——所以每周必须 OCV 校准。
4. ECM 等效电路模型详解
1RC 模型 (最简单):
电压方程:
2RC 模型 (主流): 加 // ,更精确描述极化。
参数 :
- 实验测得 (HPPC test - Hybrid Pulse Power Characterization)
- 二维表 (SOC × T):每 5% SOC × 每 10°C 一组参数
- 老化后逐步更新
5. SOC 估算实操架构
EV BMS 典型 SOC 估算3 层架构,三层自下而上依次校准,下表给出每层的输入处理与输出:
| 层 | 处理与输出 |
|---|---|
| Layer 1 库仑积分 | 每 1 ms 采样 I → 累积 → 输出基础 SOC |
| Layer 2 OCV 校准 | 检测静置(|I| < 0.5 A 持续 > 30 min)→ 测 V → OCV → ;若 则强制校准 |
| Layer 3 EKF 融合 | 实时 V/I/T 输入 → ECM 模型预测 → Kalman gain 修正 → 输出精确 SOC ± 2–3% |
6. 老化补偿 (SOH × SOC)
电池老化 → 容量降 → SOC = "现在电荷 / 当前最大容量",不是标称容量:
其中 , (State of Health) 是另一个估算变量。
SOH 估算:
- 完整充放电循环量 (Coulomb)
- 内阻 变化 (随老化上升)
- ICA / DVA (Incremental Capacity / Differential Voltage Analysis)
实操: SOH 在 BMS 后台每 50-100 充放电循环更新一次,SOC 实时用最新 SOH。
7. 不同电池化学的 SOC 估算差异
不同化学体系 OCV 平台形态差异巨大 — LFP 的 3.2V 平台让 OCV 法在 20-90% 段几乎失效,LFP 必走库仑积分 + 边缘 OCV 校准:
| 电池 | OCV 平台 | SOC 估算难度 | 主流方法 |
|---|---|---|---|
| NCA (Tesla) | 单调,2.7-4.2V | 中等 | OCV + 库仑积分 + EKF |
| NCM (大多 EV) | 单调,3.0-4.2V | 中等 | 同上 |
| LFP (BYD, 储能) | 3.2V 平台 (20-90%) | 难 | 库仑积分主,边缘 OCV 校准 |
| LTO (储能) | 单调 | 容易 | OCV |
| LCO (消费) | 单调 | 容易 | OCV |
LFP 专项技术:
8. SOC 估算应用
8.1 续航预测
续航预测把 SOC × 容量 × 电压 / 实时功率 直接得 km — 任一因子误差都体现为用户感知的"虚标":
精度受 SOC + SOH + 实时功率影响。
8.2 充电终止
充电控制策略:
- SOC = 80%: 切到恒压 (CV)
- SOC = 100%: 充电终止
- 错误 SOC → 充不满或过充
8.3 放电下限
EV 通常保留 5-10% SOC 不让用户用:
- SOC > 15%: 正常使用
- SOC 5-15%: 限功率 + 警告
- SOC < 5%: 关闭
SOC 误差 5% → 用户感受"虚标"。
9. 主流 BMS IC + SOC 算法
主流 BMS IC 内置算法分 2 阵营 — TI 走 Impedance Track 自研模型 / ADI / Maxim 走库仑积分 + ECM:
| IC | 厂家 | 集成 SOC 算法 |
|---|---|---|
| BQ34Z100 | TI | Impedance Track™(电阻轨迹算法) |
| BQ40Z80 | TI | Coulomb Counting + ECM |
| LTC2944 | ADI | Coulomb Counting |
| MAX17320 | Maxim | ModelGauge™(模型驱动) |
| ATA6870 | Microchip | Coulomb + OCV |
实操: 主控 MCU (RH850 / S32K) 实现 EKF,BMS Slave IC 做电压/电流采样。
10. 工程陷阱 G1–G7
SOC 估算失败模式几乎都集中在"只信一种信号"和"忘记老化"两类根因。
G1 — 只用库仑积分,不做 OCV 校准 电流传感器 200 mA 偏置,100 Ah 包 8 h 放电后积累误差 = 0.2 × 8 / 100 = 1.6%,一周五驾次后 > 8%。修复: 持续 30 min 触发 OCV 校准,锚回 ±0.13%。
G2 — OCV 测量未等 RC 极化衰减 停车 5 min 后测 OCV,VC2(t=300s) = = 5.68 V(1C 场景,包级),对应 NCM OCV 斜率 1440 mV/%,SOC 偏差 = 5.68 / 1440 ≈ 3.9%。1C 场景需等 ≥ 18 min 才能把 VC2 压到 < 1.87% 等效 SOC 误差——判"不插电 30 min 后才静置"极易漏标。
G3 — ECM 参数老化不更新 R0 随循环增大:初始 96 mΩ/包,EOL 可至 170 mΩ+。若参数固定为初始值,预测端电压 与实测 系统性偏高,量测残差持续为负 → EKF 把残差误归 SOC 偏低 → SOC 漂移 3–5%。修复:每 50–100 循环跑离线 HPPC 重辨 ECM 参数。
G4 — LFP 用 NCM OCV 表 LFP 20–80% SOC 区 OCV 斜率 –1.5 mV/%,比 NCM 的 12–15 mV/% 低 10× 以上。Kalman 增益 ; 时 ,EKF 退化为纯库仑积分——OCV 校准完全失效。若把 NCM OCV 表用于 LFP,校准方向还会反向拉偏。
G5 — SOH 衰减但 用出厂值 SOH = 75% 时实际容量 75 Ah,而积分分母仍用 100 Ah → 每安时积分缩小 25%,SOC 读数持续虚高 25%。电池显示 20% 时实际可能已空。修复:每 50–100 完整循环用放电法实测 更新分母。
G6 — 初始协方差 P0 设置极端小 若认为初始 SOC 精确(如固件固化 ),Kalman 增益 ,量测更新几乎不起作用,EKF 收敛时间 > 30 min 甚至发散。正确做法:冷启动时 ,让初始量测迅速拉回真值。
G7 — 快充电流超量程未检 200 μΩ 分流 + INA240A2 50 V/V 增益 + 3.3 V ADC 全量程对应 ;超 330 A 后 ADC 饱和截断。大功率 DC 快充峰值可达 350–400 A,饱和期间充入电量漏记 → 快充后 SOC 系统性低估。修复:软件检测 ADC 饱和标志位并报警,或选更小分流/更高量程运放。
11. 端到端 Worked Design — 400 V/100 Ah NCM 包 EKF SOC 估算
本节以与 SOC EKF 深度页一致的 96 串 1 并 NCM 包(400 V 标称,100 Ah)、主控 S32K344 + 从控 BQ76952 为平台,逐步推导 SOC 估算链的精度预算与参数选取。
Step 1 — HPPC 辨 ECM 参数(包级)
脉冲激励(0.5C × 10 s)辨识结果:
| 参数 | 值 | 来源 |
|---|---|---|
| R0 | 96 mΩ | 脉冲即时压降 / 100 A |
| R1 | 48 mΩ, | 快弛豫拟合 |
| R2 | 76.8 mΩ, | 慢弛豫拟合 |
单体折算:96 串 → 每值除以 96;R0/cell = 1 mΩ,R2/cell = 0.8 mΩ,与 EKF 深度页一致。
Step 2 — 电流测量精度
200 μΩ 分流 + INA240A2(50 V/V, ) + S32K344 12-bit ADC(3.3 V 满量程)。
等效电流误差:
项 = ;ADC 量化半 LSB =
,取 ±240 mA(含温漂余量)
库仑积分 SOC 漂移率: ;8 h 最坏 ≈ 1.9%
Step 3 — OCV 初始化精度
BQ76952 ADC 精度 ±2 mV/cell;96 串累加标准差 = ,取 ±20 mV/cell(取最坏单列量)。
NCM OCV 斜率 per 100% SOC(中段近似线性)。
OCV 初始化 SOC 误差: ——极精准。
Step 4 — EKF 稳态精度
初始 ;过程噪声 (每步库仑积分随机误差);量测噪声 (OCV ADC)。
稳态 Kalman 增益 –;量测更新每 OCV 校准点把误差压缩约 5×。
综合精度:SOH 及时更新时 ±2%;SOH 滞后 50 循环时 ±3–5%。
Step 5 — OCV 校准触发策略
触发条件: 持续 30 min(VC2 衰减 > 95%)。两次校准间最坏漂移 = 0.014%(OCV 误差) + 1.9%(8 h 库仑积分)≈ ±1.9%。符合整车 SOC 精度指标 ±3%。
12. 工作极限 C1–C3
C1 — -40°C 冷启动 锂电池内阻在 -40°C 约为室温 4×;R0(cold) ≈ 384 mΩ,R2(cold) ≈ 307 mΩ, 可拉长到 5000 s+。固定室温 ECM 参数的 EKF 误差超 10%。修复:ECM 参数做成 2-D 查找表(SOC × 温度),低温下选温度对应行;冷启时 P0 放宽至 接受更大初始不确定性。
C2 — EOL SOH=75% 但 未更新 SOH=75% 时 ;若积分仍按 100 Ah 为分母,SOC 读 0% 时实际可能剩余负能量(已过放)。极限场景:用户以为 SOC=20% 有 20 Ah 余量,实际余量仅 校正前后差 25 Ah。修复:每完整循环比对放出容量,50 循环内必须刷新 。
C3 — 快充后立即测 OCV 1C 充电(100 A)停止后,包级 。要使 OCV 误差 < 1.87%( 等效包级),需:。2C 快充(200 A)时 ,需等 ≥ 29 min。停车后过早触发 OCV 校准会引入比库仑积分更大的误差——必须检查 VC2 估计值 < 阈值再解锁 OCV 校准。
核心要点
- SOC 不能直接测,只能估算——从 V/I/T 推内部状态。
- 4 种方法:库仑积分(基础)/ OCV(校准)/ EKF(融合,主流)/ ML(前沿)。
- 库仑积分漂移:200 mA 偏置 × 8 h = 1.9%;必须 OCV 周期校准锚回 ±0.014%。
- OCV 校准需等极化衰减:1C 后 ≥ 18 min;2C 后 ≥ 29 min;否则 VC2 残差引入 ≥ 3.9% 偏差。
- EKF 用 ECM () + Kalman 融合;稳态 ±2%(SOH 及时更新)。
- LFP 特殊:OCV 斜率 → Kalman 增益 → EKF 退化为纯积分;须专项处理。
- SOH 老化补偿必做:;50 循环内刷新分母。
- 综合精度目标 ±2%:OCV 初始化 ±0.014% + 8 h 积分漂移 ±1.9% + EKF 融合压误差。
Engineering Objects
引用此页的结构化 Engineeri…
引用此页的结构化 Engineering Object(v2.0 Copilot 自动生成,不要手动编辑此段)。
- diagnostic ·
diagnostic_soc_ekf_estimation— SOC Estimation via EKF - mechanism ·
mechanism_coulomb_counting— Coulomb Counting (库仑积分) - mechanism ·
mechanism_ocv_soc_calibration— OCV-based SOC Calibration - metric ·
metric_soh— SOH — State of Health