主要内容

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

电池构建器

定义电池系统并自动生成动态模型

自 R2023a 起

说明

使用电池构建器 App,通过交互式地创建、修改和可视化 MATLAB® 电池对象,来创建 Simscape™ 电池模型。您可以使用这些 MATLAB 对象来定义自己的电池设计规范,在三维图中可视化电池,在仿真过程中自定义建模分辨率,并生成一个包含自定义电池模块的 Simulink® 库。您可以使用此模块辅助虚拟电池设计与验证,利用 Simulink 开发电池控制算法,探索设计敏感性,并设计热管理策略。

使用电池构建器 App,您可以:

  • 从您的工作区或 MAT 文件中导入现有的电池对象。

  • 创建新的 CellParallelAssemblyModuleModuleAssemblyPack 对象。每个电池对象都有其自身的属性及参数。有关电池对象属性的信息,请参阅 CellParallelAssemblyModuleModuleAssemblyPack 文档页面。

  • 生成电池对象的三维图,编辑绘图选项,并将图导出为文件。

  • 检查电池对象的层级结构,并可视化其所有子组件。

  • 编辑电池对象的属性,例如几何数据和热边界条件。

  • 将您在 App 中创建的对象导出到工作区、MAT 文件或 STL 文件。

  • 根据一个对象创建一个 Simscape 电池模型。

Battery Builder app

打开 电池构建器 App

  • MATLAB 工具条:在 App 选项卡的 Simscape 下,点击电池构建器图标。

  • MATLAB 命令提示符:输入 batteryBuilder

示例

全部展开

要从工作区或 MAT 文件导入电池对象,请在工具条的电池构建器选项卡下,点击导入区域中的导入按钮。然后点击从工作区导入从 MAT 文件导入

注意

当您导入一个对象时,App 也会自动导入其所有子组件电池对象。

要创建新的电池对象,请在工具条的电池构建器选项卡下,点击创建区域中的电芯并联组件模组模组组件Pack 按钮。此操作将创建具有默认属性值的对应电池对象。

App 左侧的电池浏览器面板现已包含新对象。您可以选中该对象,在所选电池选项卡中查看其可视化效果,通过电池层次结构面板检查其层级结构及子对象,并在应用程序右侧的属性面板中编辑其属性。

要可视化电池对象,请在电池构建器选项卡下的电池浏览器面板中,选择您要可视化的对象。所选电池选项卡现可显示该对象的 3D 图形。

电池图选项卡下,您可以编辑图形的多个属性,例如坐标轴标签、坐标轴方向、图形标题以及灯光设置。您还可以检查所选电池对象的当前仿真策略和模型分辨率。要在图中可视化仿真策略,请在工具条的仿真策略部分选中可见框。

要编辑电池对象,请在 App 左侧的电池浏览器面板中选中它。App 右侧的属性面板现已显示该对象的所有可编辑属性。

要应用任何更改,您必须通过点击应用来刷新该对象。

每个电池对象都有其自身的属性及参数。有关电池对象属性的信息,请参阅 CellParallelAssemblyModuleModuleAssemblyPack 文档页面。

注意

要显示相关属性的对应单位(包括类型为 Simscape.Value 的属性),请将光标悬停在该属性的编辑字段上。

该 App 的属性面板包含 ParallelAssemblyModuleModuleAssemblyPack 对象的属性,这些属性被划分为六个部分。

  • 只读属性 - 关于电池总质量、体积、能量和容量的数据。您无法修改这些属性。

  • 标识符 - 对象的名称。修改此属性可更改对象在 App 左侧电池浏览器面板中显示的名称。

  • 几何形状 - 关于对象的几何形状信息,例如在图中的位置以及电池的堆叠轴。

  • 属性 - 对象的结构信息,包括父对象创建所依据的子组件对象、这些子对象的堆叠方式以及对象之间的间隙。

  • 模型选项 - 用于配置对象的建模信息,例如启用非电芯电阻或平衡策略的选项。

  • 热模型选项 - 定义对象热边界条件的信息。

创建 ParallelAssemblyModuleModuleAssemblyPack 对象时,必须同时指定其并联和/或串联的定义子组件,并进行缩放以生成更大的电池系统模型。

例如,电池模组由多个并联组件串联组成。创建 Module 对象时,必须将构成父模组的关联 ParallelAssembly 子组件对象赋值给该 Module 对象。

要将子组件分配给其父组件,请先在电池浏览器面板中选择要分配子组件的父组件。然后,在 App 右侧的属性面板中,进入属性部分,搜索名称与您要分配的子组件相同的属性,并点击选择

在新窗口中,选中所有子组件并点击添加

您可以通过点击窗口右侧的相应按钮,对添加的组件进行复制、删除或移动操作。

添加子组件后,请点击确定。此操作将子组件的副本赋值给父组件。您可以在 App 左下角的电池层次结构面板中可视化电池对象的层级结构。

注意

当您将子组件分配给父组件时,父组件会在内部创建一个实例,该实例与电池浏览器面板中的原始子组件没有任何关联。若在电池浏览器面板中修改了原始子组件,且希望将这些更改应用到父组件,则必须重新分配该组件。

您可以在 App 的电池层次结构面板中可视化特定电池对象的所有子组件。在电池层次结构面板中选择一个子组件,即可在 App 右侧的所选电池面板中显示该对象的 3D 图,并在属性面板中显示其属性。

您无法修改在电池层次结构面板中选定的子组件对象的任何属性。要修改对象,请先在电池浏览器面板中选中它们。

自 R2026a 起

电池构建器 应用程序可帮助您轻松识别电池对象中电芯模型模块或特定子组件的索引。

电池中的电芯模型模块数量取决于您为电池建模时选择的模型分辨率。默认情况下,模型的分辨率为集总。该分辨率表明,只有一个“放大”的等效电路模型才能代表您的系统。如果将模型分辨率提高到分组,您可以自定义电气和热模型的数量。如果您需要一个非常详细的电池模型,可以选择对电池内的每一节电芯进行仿真,但这会带来更大的性能开销。

要可视化电池中的电芯模型模块数量,请在电池层次结构电池浏览器 面板中选择要可视化的对象。然后,在电池图选项卡下,在工具条的仿真策略部分中,点击电芯模型编号并选择以下选项之一:

  • 独立 - 将电池层次结构面板中每个电池对象的电芯模型模块的编号重置为 1。

  • 累积 - 保持电池层次结构面板中所有电池对象的电芯模型模块的顺序编号。

下表展示了当您选择独立Cumulative 时,电池构建器 应用程序如何将包含两个模组的模组组件上的电芯模型编号可视化,且采用 "Lumped" 模块分辨率。

在电池层次结构中选定的电池对象电芯模型编号
独立累积

模组组件

电芯模型模块的编号从 1 开始。

模组 1

电芯模型模块的编号从 1 开始。

模组 2

电芯模型模块的编号从 1 开始。

电芯模型模块的编号延续自前面的第 1 模块,从 2 开始。

要可视化电池对象中某个特定子组件的索引,请在电池层次结构电池浏览器 面板中选择要可视化的对象。然后,在电池图选项卡下,在工具条的仿真策略部分中,点击电池编号,并选择以下选项之一:

  • 独立 - 对所选父电池对象的每个子组件中的电芯从 1 重新开始编号。

  • 局部累积 - 仅在当前显示的子组件内保持连续编号。

  • 全局累积 - 在最高层父电池对象的所有子组件中保持连续编号。

下表展示了当您选择独立局部累积全局累积 时,电池构建器 应用程序如何将包含两个模组的模组组件上的电池编号可视化。每个模组由三个并联的组件组成,每个组件包含六个电芯。

注意

在显示的对象中,C 代表电芯,P 代表并行总成,M 代表模组,MA 代表模组组件。

在电池层次结构中选定的电池对象电池编号
独立局部累积全局累积

模组组件

对于模组组件中的第一和第二模组,电池构建器 App 将 P 的编号从 1 开始,将 C 的编号从 1 开始。

电池编号在模组组件中采用累积方式,并对每个模组、电池并联组件和电池电芯进行单独计数。由于这是最高级父级电池对象,因此局部累积全局累积 选项是相同的。

模组 1

电池编号独立于直接父对象。对于模块内的每个并联组件,该 App 会将 C 的编号从 1 开始重新计数。

在显示的电池对象内部,无论是电池并联组件还是电芯,其编号均按顺序排列。

电池编号在模组组件中均采用连续编号。这是模组组件中的第一个模组,因此显示的编号与局部累积选项中的编号完全一致。

模组 2

电池编号独立于直接父对象。对于模块内的每个并联组件,该 App 会将 C 的编号从 1 开始重新计数。

在显示的电池对象内部,无论是电池并联组件还是电芯,其编号均按顺序排列。

电池编号在模组组件中均采用连续编号。这是模组组件中的第二个模组,因此编号将从上一个模组的编号继续起算。

从电芯模型模块和电池编号中获取的信息对于在电池对象上执行各项任务至关重要,包括故障注入以及热模型和热边界建模。下表列出了执行特定任务所需的信息,以及如何在电池构建器 App 中获取这些信息。

任务必填信息电池构建器相关示例
热建模电芯模型模块的累积数量。在“电池图”选项卡下,工具条的“仿真策略”部分中,点击“电芯模型编号”,然后选择“"Cumulative"”。
热边界节点该特定电池内部的累积电芯数量
  1. 电池层次结构 面板中,选择要可视化的电池对象。

  2. 在“电池图”选项卡下,工具条的“仿真策略”部分中,点击“电池编号”,然后选择“"Local Cumulative"”。

故障注入 ModelResolution = "Detailed"
  1. 电池层次结构 面板中,选择要可视化的电池对象。

  2. 在“电池图”选项卡下,工具条的“仿真策略”部分中,点击“电池编号”,然后选择“"Independent"”。

特定电池内单个电芯的独立编号
ModelResolution = "Lumped""Grouped"
  1. 电池层次结构 面板中,选择要可视化的电池对象。

  2. 在“电池图”选项卡下,工具条的“仿真策略”部分中,点击“电芯模型编号”,然后选择“"Independent"”。

独立的电芯模型模块数量
被动式电芯平衡并联组件的全局累积数量。生成的电池模块的 CB 端口尺寸等于该模块内部并联组件的数量(无论模型分辨率如何)。在“电池图”选项卡下,工具条的“仿真策略”部分中,点击“电池编号”,然后选择“"Global Cumulative"”。

电池构建器 App 允许您通过复制、删除或恢复电池对象来管理工作。

  • 要复制电池对象,请先在应用程序左侧的电池浏览器面板中选中该对象。然后,在工具条的电池构建器选项卡下,点击浏览器区域中的复制。此操作将在电池浏览器中创建所选对象的完全相同副本。此重复对象未与原始对象的任何父对象建立关联。

    或者,在应用程序左侧的电池层次结构面板中,右键点击要复制的对象,然后点击复制到浏览器

  • 要删除电池对象,请先在应用程序左侧的电池浏览器面板中选中该对象。然后,在工具条的电池构建器选项卡下,点击浏览器区域中的删除。此操作将该对象从电池浏览器中删除,但不会解除该对象与其任何父对象的关联关系。

  • 若您在电池浏览器中删除的对象是现有父对象的子组件,则可恢复该对象。要恢复一个已被删除但仍在另一个父对象内部关联的电池对象,请先在应用程序左侧的电池浏览器面板中选择仍包含此已删除子组件的父对象。然后,在电池层次结构面板中,右键点击要恢复的对象,并点击复制到浏览器

要将电池对象导出到工作区、MAT 文件或 STL 文件,请先在应用程序左侧的电池浏览器面板中选中该对象。然后,在工具条的电池构建器选项卡下,点击导出区域中的导出。最后,点击导出到工作区导出为 MAT 文件Export to STL file。您无法将冷却板导出为 STL 文件。

当您为电池对象创建库模型时,电池构建器 App 也会自动将指定的电池对象导出为 MAT 文件。

注意

在 App 中编辑的电池对象不会自动保存到工作区中。若关闭 App,您将丢失当前会话及创建的对象。

要将电池对象的电池图导出为文件(例如 FIG、JPG 或 PNG 文件),请先在电池浏览器面板中选中该电池对象。然后,在电池图选项卡下工具条的导出部分中,点击导出图

要从 ParallelAssemblyModuleModuleAssemblyPack 对象创建库模型,请在工具条的部分下,点击电池构建器选项卡中的创建库

在新窗口中,请指定要保存库的文件夹、库名称、是否使用数字值或变量名作为掩码参数和掩码初始目标,以及是否显示命令行输出。有关这些字段的更多信息,请参阅 buildBattery 文档页面。

点击创建库按钮,即可在指定文件夹中同时生成电池对象的库模型和 MAT 文件。

打开此模型,即可访问电池对象(作为 Simscape 模块),您可以在早期开发阶段、软件和硬件开发、系统集成和需求评估、冷却系统设计、控制策略开发、硬件在环等许多应用中,将其作为架构评估的起点。

相关示例

版本历史记录

在 R2023a 中推出

全部展开