电池建模工作流
Simscape™ Battery™ 包括 MATLAB® 对象、函数、App 和动态电池电芯模型库,可简化和自动化创建参数化和可仿真 Simscape 模型。使用这些工具可自动执行电池模型设计工作流中的多个流程,例如:
估计电池电芯模型参数。
定义您自己的电池设计设定。
在三维空间中可视化您的电池。
在仿真过程中自定义模型分辨率。
生成一个包含自定义动态电池模型模块的 Simulink® 库。您可以使用这些模块来辅助虚拟电池的设计和验证、开发和测试电池管理系统控制算法、探索设计敏感性,以及设计热管理策略。
您可以使用参数估计函数和方法(例如 fitECM 和 fitEISModel)来估计电池电芯模型参数。您可以使用电池管理系统 (BMS) 库中的模块(例如 SOC Estimator (Kalman Filter) 和 Battery CC-CV)对自定义电池模块进行仿真,从而开发和测试电池控制策略。您还可以在 Simulink 中将自定义电池模型与热管理系统库中的模块(例如 Parallel Channels)进行热耦合。此外,您还可以自定义电池控制和冷却系统模块。
该图显示了典型的电池建模工作流。您将电池作为电池系统工程的一部分进行建模,或用于虚拟设计和验证。这是一个迭代过程,会在产品生命周期的不同阶段或针对不同的电池产品和应用场景反复进行。

典型的电池建模工作流包括五个循环步骤:
定义模型要求 - 定义仿真输出、精度目标、电池系统尺寸和系统组件。在此阶段,您还可以选择电池模型的类型,例如等效电路模型 (ECM) 或电化学模型。
定义负载配置文件 - 定义使用案例或负载配置文件,商定通过和失败标准,指定初始电池状态(如荷电状态)以及环境和热边界条件。
电池参数估计 - 从电池电芯和系统中收集数据,并使用不同的技术(包括混合脉冲功率特性 (HPPC)、电化学阻抗谱 (EIS)、恒电流间歇滴定技术 (GITT) 估计其参数。
创建电池模型 - 定义电池设计、架构和模型分辨率,生成动态模型,并将模型模块和子系统链接到参数。
仿真与验证 - 验证和验证模型、运行仿真并可视化结果。
该图显示了 Simscape Battery 如何促进电池建模工作流的这些功能。您可以选择不同的电池模型类型,例如等效电路或电化学模型,根据 HPPC 和 EIS 等测试数据对电池电芯模型进行参数化,将模型从电芯级别扩展到系统级别,并在 Simscape 中运行仿真。

估计电池参数
通过使用 Simscape Battery 中的电池参数估计函数,您可以处理电池测试数据、估计电池等效电路模型的参数,并自动对电池电芯模块进行参数化。
或者,您可以将参数表存储为变量,并将其用作更大电池系统级仿真的一部分。使用 buildBattery 函数生成电池模型和包含仿真所需所有变量的脚本。然后,将这些变量链接到使用 fitECM 函数获得的 ECM 对象中的参数表的值。该 ECM 对象代表一个根据您的要求估计的参数的等效电路模型。
该图展示了 Simscape Battery 中参数估计过程的步骤:

有关电池参数估计的更多信息,请参阅 Hybrid Pulse Power Characterization (HPPC) Parameter Estimation 和 Electrochemical Impedance Spectroscopy (EIS) Parameter Estimation。有关如何从 HPPC 数据估计模型参数的示例,请参阅 Estimate Battery Model Parameters from HPPC Data。
创建电池模型
在 Simscape Battery 中,您可以指定要在电池仿真中建模的多个电热特性。例如,您可以:
在每个并联组件或电芯上添加电芯平衡电路,以实现 BMS 控制。
添加所需的热效应,例如电芯间热传递、冷却板、代表环境散热路径的热电阻器等。
在电池电芯级模型模块中启用电池老化模型。
所有电池模型均由单个电芯模型模块放大而成,默认情况下,该模块定义为 Battery (Table-Based) 模块。或者,您还可以选择其他模块,例如 Battery Equivalent Circuit 和 Battery Single Particle 模块,甚至可以定义自己的自定义电池电芯,只要它符合特定要求即可。
在创建模型之前,您可以自定义模型分辨率,以满足特定工程问题的模型要求。电池的等效电路模型越多,分辨率越高。默认情况下,模型分辨率为集总,这是最低分辨率,可提供最佳的仿真速度和编译时间。该分辨率表明,只有一个“放大”的等效电路模型才能代表您的系统。如果将模型分辨率提高到分组模式,则可以自定义回答特定工程问题所需的电气和热模型数量,同时提高仿真速度。如果您需要非常详细的电池模型,可以选择对电池内的每个电芯进行电气和热仿真。这种分辨率会带来巨大的性能开销。为了支持实时仿真,请将等效电路模型的数量保持在 30 个以下。所有自定义 Simscape Battery 模型都支持 Simscape 可扩展编译功能。
要创建自己的电池模型,请按照以下步骤操作:
无论您是在 MATLAB 命令行窗口中还是使用电池构建器创建电池模型,此工作流均适用。

定义电池设计
创建一个 Simscape Battery 对象并指定其属性。您可以创建以下电池对象:
您可以在 MATLAB 命令行窗口或使用电池构建器创建这些对象。电池构建器允许您交互式地创建、修改、可视化和构建您的 MATLAB 电池对象。
您也可以在不输入任何信息的情况下创建这些对象,并按照所需的详细程度进行定义。您可以创建电池模型,无需定义电池电芯的几何特征和电池拓扑结构。在原型包装的设计初期,通常使用不考虑几何形状的高级模型作为值模型来评估关键性能指标。电池质量和包装体积是相互依赖的属性,可通过查询电池对象的 Mass 和 PackagingVolume 属性获得。使用 CumulativeCellCapacity 和 CumulativeCellEnergy 属性来了解电芯级容量和能量值在系统级如何扩展,而无需考虑非电芯组件损耗或其他工况。要确定电池包的实际能量和容量,必须先对电池模型进行仿真。
可视化电池
batteryChart 对象提供了一个自定义电池可视化函数,用于验证电池的硬件规格,例如电芯尺寸、电芯间距、模组间距、电芯数量、选定的并联组件拓扑结构等。几何形状和电芯布局是使用热管理系统模块(例如将电池模组模块与 Simscape Battery 热库中的冷却板模块之一耦合)进行更详细的热建模所需的属性。
在电池构建器中,所选电池面板会自动显示所选对象的三维图。您可以在电池图选项卡下编辑图形的多个属性,例如轴标签、轴方向、图形标题和灯光。您还可以检查所选电池对象的当前仿真策略和模型分辨率。
定义模型分辨率
通过在 ParallelAssembly 和 Module 级别中指定 ModelResolution 属性,设置合适的模型分辨率或仿真策略。指定电池模型的分辨率时,必须考虑模型分辨率与模型速度之间的权衡。
注意
为了获得最佳性能,请将模型数量保持在 30 个以下。
您可以通过使用分组模型分辨率并指定 SeriesGrouping 和 ParallelGrouping 属性来仿真电池的特定区域或区域。通过这种灵活的方法,您可以仿真电池中温度最高和最低或荷电状态最高和最低的特定子组件。您必须捕获这些电压差,以正确测试和开发电池控制策略。
构建电池模型
使用 buildBattery 函数从 ParallelAssembly、Module、ModuleAssembly 和 Pack 对象创建自定义电池模型。
要在电池构建器中构建电池模型,在工具条的电池构建器选项卡下的库部分中,选择创建库。
此函数在当前工作目录中创建一个或两个库,其中包含仿真电池所需的子系统和变量。函数 buildBattery 为对象层次结构的 Simscape-level 电池模块(ParallelAssembly 和 Module)创建一个库,为 Simulink-level 电池子系统(ModuleAssembly 和 Pack)创建另一个库。如果您还指定了名称-值参量 MaskParameters 和 MaskInitialTargets,则函数 buildBattery 将生成一个参数化脚本,帮助您管理包中的不同模组和并联组件的运行时参数。
可视化仿真结果
使用 Simscape Battery 生成的模块运行电池仿真后,使用 BatterySimulationChart 对象构建 batteryChart 对象的动态版本。使用此动态版本的电池图可视化存储在 BatterySimulationLog 对象中的动态变量的时序数据。该动态变量可以是基于 Simscape 的仿真中存储在 BatterySimulationLog 对象中的任何变量,例如温度、荷电状态和电流。

另请参阅
App
对象
Cell|ParallelAssembly|Module|ModuleAssembly|Pack
函数
buildBattery|ecm|hppcTest|hppcTestSuite|eisModel|eisTest|fitECM|fitEISModel