主要内容

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

基于自定义电芯组件构建电池模型

自 R2026a 起

本示例演示了如何基于自定义电池单元组件,创建并构建电池并联组件的 Simscape™ 模型。要构建电池系统,您可以使用 Simscape Battery™ 库中的电池模块,也可以使用自定义电池组件。这种方法允许您使用根据自身需求量身定制的电池单元组件来构建电池系统。

创建自定义电芯组件

要创建电池电芯的自定义组件,必须在 SSC 文件中定义一个组件模型类。本示例提供了一个名为“热等效电路电池”的自定义单元组件,该组件模拟了一个容量为 27 A*hr 的热等效电路电池。

open("+BatteryComponents/Battery.ssc");

Battery.ssc 文件通过使用 ThermalModel 枚举类来定义自定义单元组件的热模型。此枚举的可用选项为 "ConstantTemperature""VariableTemperature"

有关如何创建自定义组件的更多信息,请参阅 Creating Custom Components

一个 Simscape Battery 自定义电芯组件必须满足以下所有要求:

  • 该自定义模块必须提供两个名为 np 的电量守恒端口。要包含所需的节点,请在 Battery 组件的声明行中继承 foundation.electrical.branch 组件。

component Battery < foundation.electrical.branch
  • 所有变量必须是标量。

  • 自定义模块中不能包含名为 power_dissipated 的变量或中间变量。

有关 Simscape Battery 自定义电芯组件要求的完整列表,请参阅 CellModelBlock 对象的 CellModelBlockPath 属性。

要为热建模提供一个接口,必须指定一个热节点。本示例中自定义单元组件的热节点名为 H,但该节点没有强制要求的命名规则。

    nodes(ExternalAccess=none)
        H = foundation.thermal.thermal;  % H
    end

要在“电池包模型构建器”中使用该模块,必须为电池电芯组件生成一个自定义模块库。要生成库,首先将组件的 SSC 文件保存到 +BatteryComponents 文件夹中,然后使用 ssc_build 函数创建一个 Simscape 模块。

sscbuild("BatteryComponents");

该命令会在包含您的 +BatteryComponents 命名空间的同一文件夹中生成一个名为 BatteryComponents_lib 的 Simulink® 模型文件。查看库。

open_system("BatteryComponents_lib");

从自定义组件创建 ParallelAssembly 对象

要根据自定义电芯组件创建电池对象,首先需使用 batteryCellModelBlock 函数,在 CellModelBlock 对象的 CellModelBlockPath 属性中指定该自定义单元格组件。

cellModelOptions = batteryCellModelBlock;
cellModelOptions.CellModelBlockPath = "BatteryComponents_lib/Thermal Equivalent Circuit Battery";

为了仿真电池电芯的热效应,请在自定义电池电芯组件中暴露热节点 H。在 cellModelOptions 对象的 BlockParameters 属性中,将 ThermalModel 参数设置为 "VariableTemperature"

cellModelOptions.BlockParameters.ThermalModel = "VariableTemperature";
disp(cellModelOptions.BlockExposesThermalNodes);
   1

使用 cellModelOptions 目标来创建一个电池 Cell 目标。要创建一个 Cell 对象,请使用 batteryCell 函数,并指定单元的几何形状和单元模型选项。

customCell = batteryCell(batteryCylindricalGeometry,cellModelOptions);

要创建并联组件,请使用 batteryParallelAssembly 函数。将您创建的电池电芯指定为第一个参量,将并联电池电芯的数量指定为第二个参量,并将 AmbientThermalPath 名称-值参量设置为 "CellBasedThermalResistance"

parallelAssembly = batteryParallelAssembly(customCell,3,AmbientThermalPath="CellBasedThermalResistance");

构建 ParallelAssembly 对象的 Simscape 模型

创建 ParallelAssembly 对象后,必须将其转换为 Simscape 模型,才能在框图中使用它。

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

buildBattery(parallelAssembly,Verbose="off");

此函数会在您的工作目录中创建 Batteries_lib SLX 库文件。要访问 ParallelAssembly 对象的 Simscape 模型,请打开 Batteries_lib SLX 文件,双击子库,然后将 Simscape 模块拖放到您的模型中。

open_system("Batteries_lib");

您为并联组件生成的模块使用自定义单元组件作为单元模型。该模块还会公开自定义电芯组件的参数和变量。

另请参阅

| | |

主题