基于改进型PNGV的锂电池等效电路模型【MATLAB】

你有没有想过,工程师是怎么在电脑里"模拟"一块电池的?本文带你从零认识电池等效电路模型,理解 PNGV 与改进型 PNGV 模型的原理与区别。


一、为什么需要给电池"建模"?

电动汽车的核心是电池。但电池是一个复杂的电化学系统------它的电压会随着充放电变化,内部有极化效应,温度也会影响性能。

工程师不可能每次设计都去做真实的充放电实验,那样既费时又费钱。于是,他们用**等效电路模型(Equivalent Circuit Model,ECM)**来"数学化"地描述电池的行为。

简单来说,就是用电阻、电容等基本电路元件,搭出一个和真实电池"行为相似"的电路,然后在计算机里仿真。


二、从最简单的模型说起

最基础的电池模型只有两个元件:

  • 开路电压 UocU_{oc}Uoc:电池不接负载时两端的电压,代表电池储存的能量状态。
  • 内阻 R0R_0R0:电流流过时产生的欧姆压降。

这个模型极其简单,但忽略了一个重要现象------极化效应

什么是极化效应?

当电流流过电池时,内部的离子来不及"跑到位",会在电极表面积累,导致电压出现一个额外的、随时间变化的偏差。这就是极化,它让电池的响应有了"惯性"。


三、PNGV 模型:加入极化的经典方案

PNGV 模型(Partnership for a New Generation of Vehicles,源自美国新一代汽车伙伴计划)是电动汽车领域广泛使用的电池模型之一。

它在基础模型上增加了一个 RC 并联支路 (一个电阻 RpR_pRp 和电容 CpC_pCp 并联),用来描述极化效应:

复制代码
         R0          Rp
  ┌──────┤├──────┬──┤├──┐
  │              │       │
Uoc            Cp       负载
  │              │       │
  └──────────────┴───────┘
参数 含义
UocU_{oc}Uoc 开路电压(随 SOC 变化)
R0R_0R0 欧姆内阻(即时压降)
RpR_pRp 极化电阻
CpC_pCp 极化电容(描述极化的"惯性")

其中,SOC(State of Charge,荷电状态) 是描述电池剩余电量的核心变量,范围从 0(空)到 1(满)。

这四个参数都不是固定值,而是 SOC 的函数------电量不同,电池的内阻和极化特性也不同。在仿真模型中,它们被拟合为 SOC 的 7 阶多项式,例如:

Uoc(SOC)=3.772−7.884⋅SOC+60.21⋅SOC2−⋯U_{oc}(\text{SOC}) = 3.772 - 7.884 \cdot \text{SOC} + 60.21 \cdot \text{SOC}^2 - \cdotsUoc(SOC)=3.772−7.884⋅SOC+60.21⋅SOC2−⋯


四、问题来了:一个 RC 支路够用吗?

PNGV 模型已经相当实用,但它只有一个时间常数 (由 Rp⋅CpR_p \cdot C_pRp⋅Cp 决定)。

然而,真实锂电池的极化过程有两个时间尺度

  • 短时极化(毫秒~秒级):与电荷双层效应有关,响应快。
  • 长时极化(秒~分钟级):与锂离子在电极材料中的扩散有关,响应慢。

用一个 RC 支路只能捕捉其中一种,另一种就被"忽略"了,导致模型在动态工况下误差偏大。


五、改进型 PNGV 模型:双 RC 网络

改进型 PNGV 模型的思路很直接:再加一个 RC 支路,分别捕捉两种时间尺度的极化。

复制代码
         R0       Rs          RL
  ┌──────┤├───┬──┤├──┐──┬──┤├──┐
  │           │       │   │       │
Uoc          Cs      │  CL      负载
  │           │       │   │       │
  └───────────┴───────┴───┴───────┘
新增参数 含义
RsR_sRs, CsC_sCs 短时极化支路(快动态)
RLR_LRL, CLC_LCL 长时极化支路(慢动态)

参数从 4 个增加到 6 个,每个同样是 SOC 的多项式函数。代价是计算量略有增加,但换来了更高的电压预测精度,尤其在快速充放电、工况变化频繁的场景下优势明显。


本文介绍的 Simulink 模型(Improved PNGV)在同一个模型文件中并行运行两套模型,方便对比。其核心结构如下:

复制代码
输入电流 (Current)
      │
      ├──────────────────────────────┐
      ▼                              ▼
 [SOC 更新模块]               [SOC 更新模块]
      │                              │
      ▼                              ▼
 [Parameter_Update]       [Improved_Parameter_Update]
 (计算 R0, Rp, Cp, Uoc)   (计算 R0, Rs, Cs, RL, CL, Uoc)
      │                              │
      ▼                              ▼
 [Voltage_Update]          [Improved_Voltage_Update]
 (Simscape 单RC电路)        (Simscape 双RC电路)
      │                              │
      ▼                              ▼
  PNGV 端电压 UL          Improved PNGV 端电压 UL

两条支路接受相同的输入电流,最终通过示波器(Scope)输出各自预测的端电压,直观展示两种模型的差异。


七、关键概念速查

术语 解释
SOC 荷电状态,电池剩余电量的百分比
开路电压 UocU_{oc}Uoc 无电流时的电池端电压
欧姆内阻 R0R_0R0 电流流过时即时产生的压降来源
极化效应 电流引起的、随时间变化的额外电压偏差
RC 支路 电阻与电容并联,用于模拟极化的动态过程
时间常数 τ=RC\tau = RCτ=RC 描述极化建立/消散速度的参数
Simscape MATLAB/Simulink 的物理建模工具箱
7 阶多项式拟合 用高阶多项式将参数表达为 SOC 的连续函数

八、运行结果

八、总结

对比维度 PNGV 模型 改进型 PNGV 模型
RC 支路数 1 个 2 个
参数数量 4 个(R0, Rp, Cp, Uoc) 6 个(R0, Rs, Cs, RL, CL, Uoc)
时间常数 单一 快、慢两个
精度 一般工况足够 动态工况更精准
复杂度

电池建模是电动汽车 BMS(电池管理系统)的核心技术之一。从简单的 Rint 模型,到 PNGV,再到改进型 PNGV,每一步进化背后都是对真实物理现象更深刻的理解。

如果你对电池建模感兴趣,不妨从这个 Simulink 模型出发,亲手调整参数、观察波形变化------那将是比读文章更直接的理解方式。


模型下载

https://mbd.pub/o/bread/YZWcl5lqbQ==

相关推荐
沅_Yuan3 小时前
CALCE锂电池老化数据集处理与健康因子提取【MATLAB】
matlab·数据集·健康因子·calce·锂电池soh
神仙别闹4 小时前
基于 MATLAB 实现的流载体的LSB隐藏项目
开发语言·matlab
Matlab程序猿小助手7 小时前
【MATLAB源码-第315期】基于matlab的䲟鱼优化算法(ROA)无人机三维路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab
gihigo19988 小时前
分布式发电的配电网有功-无功综合优化 MATLAB 实现
开发语言·分布式·matlab
guygg889 小时前
NSGA-II自定义优化函数MATLAB实现
开发语言·matlab
沅_Yuan1 天前
基于LSTM神经网络的锂电池SOH估算模型(NASA数据集)【MATLAB】
神经网络·机器学习·matlab·锂电池·nasa·soh
沅_Yuan1 天前
基于KAN神经网络的锂电池SOH估算模型(NASA数据集)【MATLAB】
神经网络·机器学习·matlab·锂电池·nasa·soh
简简单单做算法1 天前
基于PSO粒子群优化的Transformer-BiLSTM网络模型的时间序列预测算法matlab性能仿真
matlab·transformer·时间序列预测·bilstm·pso粒子群优化
ueotek1 天前
Ansys Zemax | 在 MATLAB 或 Python 中使用 ZOS-API 进行光线追迹的批次处理
python·matlab·ansys·zemax·光学软件