ModuleAssembly
Create assembly of battery modules
Description
Use ModuleAssembly
to create a module assembly object that
represents a number of Module
objects
connected electrically in series or in parallel. You can use this object as an input to the
Pack
object to
create larger battery models.
To generate a Simscape™ model of your ModuleAssembly
object, use the buildBattery
function.
The ModuleAssembly
object only supports the definition of structural or
design parameters. You can modify the run-time parameters for this object and its constituent
module models after you create the model. The ModuleAssembly
object keeps
track of its unique constituent module models and generates parameters for these models
instead of doing it for every model instance. You can generate a script that contains all the
parameters of the ModuleAssembly
object by specifying the
MaskParameters
argument in the buildBattery
function. A unique module model is characterized by having the same properties (such as
NumSeriesAssemblies
and ModelResolution
) and the
same constituent cell properties (such as name, format, and weight).
The ModuleAssembly
object is the fourth element stage of a battery pack
system model in a bottom-up approach. Pack models are required for architecture evaluation in
early development stages, software and hardware development, system integration and
requirement evaluation, cooling system design, control strategy development
hardware-in-the-loop, and many more applications.
To specify the number and attributes of the modules, use the Module
property.
This figure shows a module assembly that comprises two modules made of four parallel assemblies of 48 parallel cylindrical cells each.
Creation
Syntax
Description
creates a battery module assembly that comprises modules with default property
values.import simscape.battery.builder.*;
batteryModuleAssembly
= ModuleAssembly
sets Properties using one or more name-value
arguments. For example, create a battery module assembly with two default modules that are
connected in series and stacked along the y-axis, with a gap of 0.05 m
between each
module.import simscape.battery.builder.*;
batteryModuleAssembly
= ModuleAssembly(Name=Value
)
batteryModuleAssembly = ModuleAssembly(... Module=repmat(Module,1,2), ... StackingAxis="Y",... InterModuleGap=simscape.Value(0.005,"m"));
You can define the number and types of modules in the Module
property. If your module assembly comprises many modules with the same property values,
you can use the repmat function to specify the Module
property.
Otherwise, specify an array of distinct modules.
Properties
Examples
Version History
Introduced in R2022b
See Also
Objects
Cell
|ParallelAssembly
|Module
|Pack
|CylindricalGeometry
|PouchGeometry
|PrismaticGeometry
|BatteryChart