主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

建立电池模组与电芯间热交换模型

此示例说明了如何在 Simscape™ Battery™ 中创建和构建一个具有电芯间热交换的电池模组的 Simscape™ 系统模型。电池电芯之间的热传递机制与电池系统的设计密切相关,包括分析电池热传播和评估虚拟验证中的电热负荷循环。Simscape™ Battery™ 支持的热传递机制包括传导、对流和辐射。要创建电池模组的系统模型,必须先创建构成电池模组的 CellParallelAssembly 对象,然后使用 buildBattery 函数。buildBattery 函数为以下 Simscape Battery 对象生成 Simscape 模型:

该函数会在工作文件夹中创建一个库,其中包含一个电池模组的系统模型模块。请在仿真中将此模型用作参考。创建模型后,您可以修改此模型模块的运行时参数,例如电池电芯电阻或电池开路电压。要定义运行时参数,可在生成的 Simscape 模型的模块封装中指定,或使用 buildBattery 函数的 MaskParameters 参量。

在 MATLAB 中创建电池 Module 对象

要创建电池模组对象,必须先设计并创建电池模组的基础元素。

下图以自下而上的视图显示电池包对象的层次结构:

电池模组由多个并联组件组成。这些并联组件又由许多电池电芯组成,这些电池电芯在特定的拓扑结构或几何排列下并联连接。

创建 Cell 对象

要创建 Module 对象,首先创建一个具有圆柱体几何形状的 Cell 对象。

CylindricalGeometry 对象定义了电池电芯的圆柱形几何排列。要创建 CylindricalGeometry 对象,请使用 batteryCylindricalGeometry 函数。将电芯高度指定为第一个参量,电芯半径指定为第二个参量。

cylindricalGeometry = batteryCylindricalGeometry(simscape.Value(0.07,"m"),...
    simscape.Value(0.0105,"m"));

有关电池电芯可能的几何排列的更多信息,请参阅 PouchGeometryPrismaticGeometry 文档页。

现在,使用此 CylindricalGeometry 对象创建一个圆柱形电池电芯。

cylindricalCell = batteryCell(cylindricalGeometry)
cylindricalCell = 
  Cell with properties:

            Geometry: [1×1 simscape.battery.builder.CylindricalGeometry]
    CellModelOptions: [1×1 simscape.battery.builder.CellModelBlock]
                Mass: 0.1000 (kg)
            Capacity: 5 (A*hr)
              Energy: 50 (W*hr)

Show all properties

通过 Cell 对象,可以使用简单的一维模型仿真电池电芯的热效应。要仿真电池电芯的热效应,请在 Cell 对象的 CellModelOptions 属性的 BlockParameters 属性中,将 thermal_port 属性设置为 "model"

cylindricalCell.CellModelOptions.BlockParameters.thermal_port = "model";

创建 ParallelAssembly 对象

并联组件包括多个电池电芯,这些电池电芯在特定的拓扑配置或几何排列下电连接成并联。在此示例中,您将创建一个并联组件,该组件由三个圆柱形电芯以方形拓扑结构堆叠成三行。

要创建 ParallelAssembly 对象,请使用 batteryParallelAssembly 函数。将 Cell 对象定义为第一个参量,并将并联电芯数定义为第二个参量。要指定其他属性,请使用名称-值参量 StackingAxisTopology

parallelAssembly = batteryParallelAssembly(cylindricalCell,3,...
    StackingAxis="X", ...
    Topology="Square");

创建 Module 对象

现在,您已经拥有创建电池模组的所有基本元素。电池模组由多个串联的并联组件组成。在此示例中,您将创建一个由六个并联组件组成的电池模组。您还可以定义模组的模型分辨率。

要创建 Module 对象,请使用 batteryModule 函数。将 ParallelAssembly 对象定义为第一个参量,并将串联的并联组件数定义为第二个参量。要指定其他属性,请使用名称-值参量 InterParallelAssemblyGapModelResolution

module = batteryModule(parallelAssembly,6,...
    InterParallelAssemblyGap=simscape.Value(2e-3,'m'),...
    ModelResolution="Detailed");

启用电芯间热路径

要启用电芯之间的热传导路径,请将 batteryModule 对象的 InterCellThermalPath 属性设置为 "on"。电池电芯模型模块必须启用至少一个热域端口的有效热模型。

module.InterCellThermalPath = "on";

ModuleParallelAssembly 对象通过创建热域网络来仿真相邻电池电芯之间的热交互。在这个热域网络中,每个电池电芯的热模型与相邻的每个电芯相互连接。启用 InterCellThermalPath 属性可通过使用 Simscape™ 热阻模块将相邻电芯热连接。在构建 Simscape™ 电池模块后,您可以设置热阻参数。您可以为两个相邻电芯之间的每个热连接设置不同的值。

查看电芯间热路径连接信息

要查看 Module 对象中的电芯间热连接总数,请使用 NumInterCellThermalConnections 属性。该属性是模组中每个并联组件内所有电芯之间的热连接之和。

disp(module.NumInterCellThermalConnections)
    12

要查看相邻 ParallelAssemblies 对象之间的热连接数量,请使用 NumInterParallelAssemblyThermalConnections 属性。

disp(module.NumInterParallelAssemblyThermalConnections)
    35

要可视化电芯之间的热连接,请使用 InterCellConnectionsMapping 属性。InterCellConnectionsMapping 是一个二维矩阵,显示相邻电池电芯模型之间的连接。对于每列,InterCellConnectionsMapping 属性的第一行显示了热连接源自的特定并联组件中的电芯索引。第二行包含相应目标电芯的索引。此热连接为双向连接,与 Simscape™ 中的所有热域连接一致。对于 Module 对象,索引仅基于并联组件中并联连接的电芯数量。

disp(module.InterCellConnectionsMapping)
     1     2     1     2     1     2     1     2     1     2     1     2
     2     3     2     3     2     3     2     3     2     3     2     3

要可视化 parallelAssembly 到 parallelAssembly 的热连接,请使用 InterParallelAssemblyConnectionsMapping 属性。InterParallelAssemblyConnectionsMapping 是一个二维矩阵,显示模组内相邻并联组件中相邻电池电芯模型之间的连接。对于每一列,InterParallelAssemblyConnectionsMapping 的第一行显示了热连接起源的 Module 中的 ParallelAssembly 索引。第二行包含对应目标 ParallelAssembly 的索引。

disp(module.InterParallelAssemblyConnectionsMapping)
     1     1     1     1     1     1     1     2     2     2     2     2     2     2     3     3     3     3     3     3     3     4     4     4     4     4     4     4     5     5     5     5     5     5     5
     2     2     2     2     2     2     2     3     3     3     3     3     3     3     4     4     4     4     4     4     4     5     5     5     5     5     5     5     6     6     6     6     6     6     6

Simscape Battery 中的电池制造商还支持电芯之间的辐射热交换。启用 InterCellRadiativeThermalPath 属性可通过使用 Simscape™ 辐射模块在热上连接相邻的电芯模型。该图展示了两种方法的比较:

可视化电池模组并检查模型分辨率

要获得用于模组仿真的 Simscape Battery(Table-based) 模块的数量,请使用 Module 对象的 NumModels 属性。

disp(module.NumModels)
    18

要在构建系统模型之前可视化电池模组并查看其模型分辨率,请在要可视化模组的位置创建图形,然后使用 batteryChart 函数。要查看模组的模型分辨率,请将 SimulationStrategyVisible 名称-值参量指定为 "On"

f = figure(Color="w");
tl = tiledlayout(1,2,"Parent",f,"TileSpacing","Compact");
nexttile(tl)
moduleChart1 = batteryChart(tl,module);
nexttile(tl)
moduleChart2 = batteryChart(tl,module,SimulationStrategyVisible="On");

Figure contains objects of type simscape.battery.builder.batterychart.

构建 Module 对象的 Simscape 模型

创建电池对象后,需要将其转换为 Simscape 模型,以便在模块图中使用。然后,您可以将这些模型作为参考,用于系统集成和需求评估、冷却系统设计、控制策略开发、硬件在环等许多应用。

要创建一个包含 Module 对象的 Simscape Battery 模型的库,请使用 buildBattery 函数。

buildBattery(module,LibraryName="interCellHeatExchangeModule",Verbose="off");

此函数在您的工作文件夹中创建一个名为 interCellHeatExchangeModule_lib 的库。打开此模型,以将电池对象作为 Simscape 模块进行访问。

另请参阅

主题