FEM-Parameterized PMSM
Permanent magnet synchronous motor defined in terms of magnetic flux
linkage
Description
The FEM-Parameterized PMSM block implements a model of
a permanent magnet synchronous motor (PMSM) defined in terms of magnetic flux linkage.
You parameterize the block by providing tabulated data of motor magnetic flux as a
function of current and rotor angle. This is the way third-party magnetic finite-element
method (FEM) packages usually export flux information. Because of the tabulated form,
the flux can vary in a nonlinear way on both rotor angle and current. You can therefore
use this block to model PMSM with trapezoidal back-emf profile, sometimes called
brushless DC motor, as well as regular PMSM.
The figure shows the equivalent circuit for a wye-connected PMSM. The rotor angle is
zero when the permanent magnet flux aligns with the A-phase magnetic axis.
In practice, the flux linking each of the three windings depends on all three currents
and rotor angle. Tabulating flux as a function of four independent variables might lead
to simulation inefficiency and significant memory requirements to manage the data. The
block, therefore, lets you select between the following parameterization methods for
flux and torque:
— 2-D table lookup,
with options to tabulate in terms of current and rotor angle, or in terms of
d
-axis and q
-axis
currents. The first option assumes constant mutual inductance and supports
nonsinusoidal back emf profiles. The second option assumes a sinusoidal back emf
and captures saturation effects for interior PMSMs (IPMSMs).
— 3-D table lookup,
based on direct current, quadrature current, and rotor angle. You provide the
flux lookup data for the a phase. The block uses Park
transform to map the three stator winding currents to direct and quadrature
currents. This method reduces the data complexity, as compared to the 4-D table
lookup, and therefore results in improved simulation performance.
— 4-D table lookup,
based on the three stator winding currents and the rotor angle. You provide the
flux lookup data for the a phase. This model has the best
fidelity of the three, but also is the most costly in terms of simulation
performance and memory requirements.
— 3-D table lookup, based on
the flux linkage data. You can provide the flux linkage data in a variety of
formats. The block uses Park transform to map the three stator winding currents
to direct and quadrature currents. This method reduces the data complexity, as
compared to the 4-D table lookup, and therefore results in improved simulation
performance.
By default, all of the block variants implement a wye-wound configuration for the
stator windings. However, it is possible to switch to a delta-wound configuration,
selectable using the Winding type parameter. When in the
delta-wound configuration, the a phase is connected between ports
a and b, the b phase
between ports b and c and the
c phase between ports c and
a.
To access these parameterization methods, right-click the block in your model, select
> ,
and then select the desired block variant, with or without thermal ports. By default,
the thermal ports are not exposed. For more information, see Thermal Ports.
2-D Data Model with Constant Mutual Inductance
In this 2-D flux data model, the flux linking each winding is assumed to depend
nonlinearly only on the current in that same winding, plus the rotor angle. In
practice, this is a reasonable assumption for many permanent magnet synchronous
motors; however, it is less accurate for switched reluctance motors. Given this
assumption, the fluxes in the three windings are:
where is the flux linkage for the A-phase winding as a function of rotor
angle and A-phase current. Θr = 0 corresponds to the rotor d
-axis
aligning with the A-phase positive magnetic flux direction.
Ms is the stator-stator mutual
inductance.
For improved numerical performance, the equations implemented in the block
actually work with the partial derivatives of flux linkage with respect to current, , and rotor angle, , rather than the flux directly. If your FEM package does not
export these partial derivatives, you can determine them using a MATLAB® script. See the Solenoid
Parameterized with FEM Data example model and its supporting MATLAB script for an example of how to do this.
The electrical equations for the block, defined in terms of flux partial
derivatives, are:
where
va,
vb,
vc are the voltages applied to
the A, B, and C stator windings.
ia,
ib,
ic are the stator currents in
each of the three windings.
Rs is the resistance of each of
the stator windings.
Ms is the stator-stator mutual
inductance.
are the partial derivatives of flux linkage with respect
to stator current in each of the three windings.
is the partial derivative of flux linkage with respect to
rotor angle.
The block can automatically calculate the torque matrix from the flux information
that you provide. Alternatively, you can set the Calculate torque
matrix? parameter to No
and directly
specify the torque as a function of current and rotor angle. See the FEM-Parameterized Rotary Actuator block reference page for more
information.
2-D Data Model with Sinusoidal Back EMF
In this 2-D flux data model, the flux linking each winding is assumed to depend
nonlinearly on all stator winding currents, plus it is assumed that the permanent
magnet flux linkage is sinusoidal. Interior magnet PMSMs (or IPMSMs) usually fit
this assumption well. The equations are:
where
id and
iq are the
d
-axis and q
-axis
currents, respectively.
ϕd and
ϕq are the
d
-axis and q
-axis
flux linkages, respectively.
ϕm is the permanent magnet flux
linkage.
Ld and
Lq are the
d
-axis and q
-axis
inductances, respectively. They are assumed to depend on the
d
-axis and q
-axis
currents.
N is the number of pole pairs.
T is the electrical torque.
3-D Partial Derivative Data Model Using Park Transform
Working with four-dimensional data has both a simulation performance cost and a
memory cost. To reduce the table dimension to three-dimensional, the 3-D data model
uses Park transform to map the three currents to direct and quadrature
currents:
In the general case, Park transform maps to direct, quadrature, and zero-sequence
currents. However, the zero-sequence current is typically small under normal
operating conditions. Therefore, the model neglects the dependence of the flux
linkage terms on zero-sequence current, and determines the flux linkage in terms of
just direct and quadrature currents plus rotor angle. The flux equation for the 3-D
data model is:
The electrical equations for the block are also defined in terms of flux partial
derivatives, similar to the 4-D data model. You can calculate 3-D flux linkage
partial derivative data from 4-D flux linkage data using ee_calculateFluxPartialDerivatives
.
4-D Partial Derivative Data Model
The flux linking each of the windings is a function of the current in that
winding, the currents in the other two windings, and the rotor angle. For full
accuracy, the 4-D flux data model assumes that the flux linkage is a function of the
three currents and the rotor angle, therefore performing four-dimensional table
lookups. The flux equation is:
where
ϕa,
ϕb,
ϕc are the flux linkages for
the A, B, and C stator windings.
ia,
ib,
ic are the stator currents in
each of the three windings.
Θr is the rotor angle. Θr =
0 corresponds to the case where the permanent magnet flux is
aligned with the A-phase stator winding flux.
N is the number of pole pairs.
Flux linkage data is assumed cyclic with
Θr. If, for example, the motor has six
pole pairs, then the range for the data is 0 ≤ Θr ≤
60°. You must provide data both at 0 and 60 degrees, and because the
data is cyclic, the flux linkage partial derivatives must be the same at these two
end points.
The torque equation is:
The 4-D data model does not have an option for the block to determine torque from
flux linkage. Because of the increased numerical overhead in the 4-D case, it is
better to precalculate the torque just once, rather than calculate it every time you
run the simulation.
For improved numerical performance, the equations implemented in the block
actually work with the partial derivatives of flux linkage with respect to the three
currents and the rotor angle, rather than the flux directly. If your FEM package
does not export these partial derivatives, you can determine them using ee_calculateFluxPartialDerivatives
.
The electrical equations for the block, defined in terms of flux partial
derivatives, are:
where
va,
vb,
vc are the voltages applied to
the A, B, and C stator windings.
ia,
ib,
ic are the stator currents in
each of the three windings.
Rs is the resistance of each of
the stator windings.
3-D Flux Linkage Data Models
The 3-D flux linkage data options let you work with raw flux linkage data exported
from your finite-element (FE) motor design tool. This is in contrast to the 3-D
partial derivative data options, for which you need to determine the partial
derivatives. You can provide flux linkage data in a variety of formats, to support
different FE tool conventions:
Tabulate DQ-axes flux linkage data or A-phase flux linkage data — Some
tools support working with flux linkage resolved into direct (D) and
quadrature (Q) axes. An advantage of this approach is that data for rotor
angles in the range 0 to 360/N/3 degrees is required
(where N is the number of pole pairs). Other tools work
directly with A-, B-, and C-phase flux linkages, and for this you can import
just the A-phase flux linkage, for which the rotor angle range must be in
the range 0 to 360/N degrees. The implicit assumption of
importing just the A-phase data is that the B and C phase data is the same
except shifted in phase.
Tabulate using cartesian or polar current coordinates — Cartesian
tabulation implies the flux linkage is tabulated in terms of D-axis current
and Q-axis current (plus rotor angle). Alternatively, polar tabulation
involves tabulating flux linkages in terms of current magnitude, current
advance angle relative to the Q-axis, and rotor angle. The advantage of
polar coordinates is that it more naturally reflects the permitted operating
currents, thereby avoiding unused table data points.
These conventions result in four Flux linkage data format
parameterization options:
D and Q axes flux linkages as a function of D-axis current
(iD), Q-axis current (iQ), and rotor angle (theta)
D and Q axes flux linkages as a function of peak current
magnitude (I), current advance angle (B), and rotor angle
(theta)
A-phase flux linkage as a function of D-axis current (iD),
Q-axis current (iQ), and rotor angle (theta)
A-phase flux linkage as a function of peak current magnitude
(I), current advance angle (B), and rotor angle
(theta)
Besides selecting the flux linkage data format used by your FE tool, you have to
select the version of Park transform used by the tool. The four conventions are
described below and correspond to the four options for the Park’s
convention for tabulated data drop-down menu.
Note
When looking at logged values for D- and Q-axis currents, keep in mind that
for each of these options, the format is converted, as needed, so that
internally the FEM-Parameterized PMSM block
consistently uses Option 1.
Option 1. Q leads D, rotor angle measured from A-phase to D-axisThis is the Park’s convention used internally by Simscape™
Electrical™ motor and machine blocks. All other options are converted into
this format.
N: number of pole pairs
θr: rotor angle
id,
iq: D-axis and Q-axis
currents
ip: Current magnitude =
β: Current advance angle =
Corresponding Park transform is
where ia,
ib, and
ic are the A-phase, B-phase, and
C-phase currents, respectively.
Option 2. Q leads D, rotor angle measured from A-phase to Q-axisN: number of pole pairs
θr: rotor angle
id,
iq: D-axis and Q-axis
currents
ip: Current magnitude =
β: Current advance angle =
Corresponding Park transform is
where ia,
ib, and
ic are the A-phase, B-phase, and
C-phase currents, respectively.
Option 3. D leads Q, rotor angle measured from A-phase to D-axisN: number of pole pairs
θr: rotor angle
id,
iq: D-axis and Q-axis
currents
ip: Current magnitude =
β: Current advance angle =
Corresponding Park transform is
where ia,
ib, and
ic are the A-phase, B-phase, and
C-phase currents, respectively.
Option 4. D leads Q, rotor angle measured from A-phase to Q-axisN: number of pole pairs
θr: rotor angle
id,
iq: D-axis and Q-axis
currents
ip: Current magnitude =
β: Current advance angle =
Corresponding Park transform is
where ia,
ib, and
ic are the A-phase, B-phase, and
C-phase currents, respectively.
Calculating Iron Losses
Regardless of the parameterization methods for flux and torque, all block variants
use the same iron losses model, which is based on the work of Mellor [1]. Iron losses are divided into two terms, one representing the main magnetizing
path, and the other representing the cross-tooth tip path that becomes active during
field weakened operation.
The term representing the main magnetizing path depends on the induced RMS stator
voltage, :
This is the dominant term during no-load operation. k is the
back emf constant relating RMS volts per Hz. It is defined as , where f is the electrical frequency. The first
term on the right-hand side is the magnetic hysteresis loss, the second is the eddy
current loss and the third is the excess loss. The three coefficients appearing on
the numerators are derived from the values that you provide for the open-circuit
hysteresis, eddy, and excess losses.
The term representing the cross-tooth tip path becomes important when a
demagnetizing field is set up and can be determined from a finite element analysis
short-circuit test. It depends on the RMS emf associated with the cross-tooth tip
flux, :
The three numerator terms are derived from the values you provide for the
short-circuit hysteresis, eddy, and excess losses.
Thermal Ports
The block has four optional thermal ports, one for each of the three windings and one for the
rotor. These ports are hidden by default. To expose the thermal ports, right-click the block
in your model, select > , and then select the desired block variant with thermal ports:
, , , or . This
action displays the thermal ports on the block icon, and exposes the Temperature
Dependence and Thermal Port parameters. These parameters
are described further on this reference page.
Use the thermal ports to simulate the effects of copper resistance
and iron losses that convert electrical power to heat. For more information
on using thermal ports in actuator blocks, see Simulating Thermal Effects in Rotational and Translational Actuators.
Assumptions and Limitations
This block has the following limitations:
For the 2-D data model, the stator-stator mutual inductance, defined by the
Stator mutual inductance, Ms parameter value, is
constant during simulation and does not vary with rotor angle. This means that
the block is suitable for modeling most PMSM and brushless DC motors, but not
switched reluctance motors.
The 3-D and 4-D data models assume symmetry, so that the flux linkage
dependency on currents and rotor angle for windings B and C can be determined
from that for winding A.
For the 4-D data model, consider memory requirements when fixing the
independent parameter values (three currents and rotor angles). The linear
interpolation option uses less memory, but the smooth interpolation option is
more accurate for a given independent parameter spacing.
The iron losses model assumes sinusoidal currents.
Ports
Conserving
expand all
a
— A-phase connection
electrical
Electrical conserving port associated with the A-phase
connection.
b
— B-phase connection
electrical
Electrical conserving port associated with the B-phase
connection.
c
— C-phase connection
electrical
Electrical conserving port associated with the C-phase
connection.
n
— Neutral phase
electrical
Electrical conserving port associated with the neutral phase.
C
— Motor case
mechanical
Mechanical rotational conserving port associated with the motor
case.
R
— Motor rotor
mechanical
Mechanical rotational conserving port associated with the motor
rotor.
HA
— Winding A thermal port
thermal
Thermal conserving port associated with winding A. For more
information, see Thermal Ports.
HB
— Winding B thermal port
thermal
Thermal conserving port associated with winding B. For more
information, see Thermal Ports.
HC
— Winding C thermal port
thermal
Thermal conserving port associated with winding C. For more
information, see Thermal Ports.
HR
— Rotor thermal port
thermal
Thermal conserving port associated with the rotor. For more
information, see Thermal Ports.
Parameters
expand all
Electrical (2-D Partial Derivative Data Variant)
This configuration of the Electrical parameters corresponds
to the 2-D Partial Derivative Data block variants, with or without thermal ports. If
you are using the 3-D Partial Derivative Data, 4-D Partial Derivative Data, or 3-D
Flux Linkage Data variant of the block, see Electrical (3-D Partial Derivative Data Variant), Electrical (4-D Partial Derivative Data Variant), or Electrical (3-D Flux Linkage Data Variant) respectively.
Parameterization
— Parameterization method
Assume constant mutual inductance - tabulate with phase
current and rotor angle
(default) | Assume sinusoidal back emf - tabulate with d- and q-axis
currents
Select the parameterization method:
Assume constant mutual inductance - tabulate
with phase current and rotor angle
— This method assumes that the flux linking each
winding depends nonlinearly only on the current in that same
winding, plus the rotor angle.
Assume sinusoidal back emf - tabulate with d-
and q-axis currents
— This method
assumes that the flux linking each winding depends
nonlinearly on all stator winding currents. It also assumes
that the permanent magnet flux linkage is sinusoidal. This
option is usually a good fit for interior magnet PMSMs (or
IPMSMs).
Winding type
— Stator windings configuration
Wye-wound
(default) | Delta-wound
Select the configuration for the stator windings:
Wye-wound
— The stator windings
are wye-wound.
Delta-wound
— The stator
windings are delta-wound. The a-phase is
connected between ports a and
b, the b-phase
between ports b and
c and the
c-phase between ports
c and
a.
Current vector, i
— Vector of currents
[-2, 0, 2]
A
(default)
Vector of currents corresponding to the provided flux linkage partial
derivatives. The current vector must be two-sided (have positive and
negative values).
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume constant mutual inductance - tabulate with
phase current and rotor angle
.
Rotor angle vector, theta
— Vector of rotor angles
[0, 20, 40, 60]
deg
(default)
Vector of rotor angles corresponding to the provided flux linkage
partial derivatives. The vector must start at zero. This value
corresponds to the angle where the A-phase magnetic flux aligns with the
rotor permanent magnetic peak flux direction (the direct-axis, or
d
-axis). The last value,
Θmax, must be the rotor
angle where the flux linkage pattern peaks again. Therefore, the number
of pole pairs is 360/Θmax if Θmax is
expressed in degrees. The default value corresponds to a 6 pole-pair
motor.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume constant mutual inductance - tabulate with
phase current and rotor angle
.
Flux linkage partial derivative wrt current, dPhi(i,theta)/di
— Flux linkage partial derivative with respect to current
0.0002*ones(3,4)
Wb/A
(default)
Matrix of the flux linkage partial derivatives with respect to
current, defined as a function of current vector and rotor angle vector.
Flux linkage is the flux multiplied by the number of winding turns. The
default value corresponds to the special case where stator inductance
does not depend on stator current or on rotor angle.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume constant mutual inductance - tabulate with
phase current and rotor angle
.
Flux linkage partial derivative wrt angle, dPhi(i,theta)/dtheta
— Flux linkage partial derivative with respect to angle
[0, -0.16, 0.16, 0; 0, -0.16, 0.16, 0; 0,
-0.16, 0.16, 0]
Wb/rad
(default)
Matrix of the flux linkage partial derivatives with respect to rotor
angle, defined as a function of current vector and rotor angle vector.
Flux linkage is the flux multiplied by the number of winding turns. The
default value is [0, -0.16, 0.16, 0; 0, -0.16, 0.16, 0; 0,
-0.16, 0.16, 0]
Wb/rad, which corresponds to the special
case where stator inductance does not depend on stator current.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume constant mutual inductance - tabulate with
phase current and rotor angle
.
Direct axis current vector, id
— Direct axis current vector
[-200, 0, 200]
A
(default)
Vector of d
-axis currents corresponding to
the provided inductances. The current vector must be two-sided (have
positive and negative values).
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume sinusoidal back emf - tabulate with d- and
q-axis currents
.
Quadrature axis current vector, iq
— Quadrature axis current vector
[-200, 0, 200]
A
(default)
Vector of q
-axis currents corresponding to
the provided inductances. The current vector must be two-sided (have
positive and negative values).
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume sinusoidal back emf - tabulate with d- and
q-axis currents
.
Ld matrix, Ld(id,iq)
— Ld matrix
0.0002*ones(3,3)
H
(default)
Matrix of the d
-axis inductances with
respect to current, defined as a function of
d
-axis and
q
-axis current vectors.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume sinusoidal back emf - tabulate with d- and
q-axis currents
.
Lq matrix, Lq(id,iq)
— Lq matrix
0.0002*ones(3,3)
H
(default)
Matrix of the q
-axis inductances with
respect to current, defined as a function of
d
-axis and
q
-axis current vectors.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume sinusoidal back emf - tabulate with d- and
q-axis currents
.
Permanent magnet flux linkage, PM(id,iq)
— Permanent magnet flux linkage
0.1*ones(3,3)
Wb
(default)
Matrix of the permanent magnet flux linkages with respect to current,
defined as a function of d
-axis and
q
-axis current vectors. Flux linkage is
the flux multiplied by the number of winding turns.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume sinusoidal back emf - tabulate with d- and
q-axis currents
.
Number of pole pairs
— Number of pole pairs
6
(default)
Number of the permanent magnet motor pole pairs.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume sinusoidal back emf - tabulate with d- and
q-axis currents
.
Calculate torque matrix?
— Electromagnetic torque data specification
Yes
(default) | No — specify directly
Specify the way of providing the electromagnetic torque data:
Yes — The block calculates the torque from the flux
linkage information, as a function of current and rotor
angle.
No — specify directly
— Enter the electromagnetic torque data directly, by
using the Torque matrix, T(i,theta)
parameter.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume constant mutual inductance - tabulate with
phase current and rotor angle
. If you set the
Parameterization parameter to
Assume sinusoidal back emf - tabulate with d- and
q-axis currents
, the equation for torque is
explicit in terms of the provided matrices.
Torque matrix, T(i,theta)
— Torque matrix
zeros(3, 3, 3, 4)
N*m
(default)
Specify a matrix of the electromagnetic torque applied to the rotor,
as a function of current and rotor angle. This parameter is visible only
if Calculate torque matrix? is set to
No — specify directly
.
Dependencies
This parameter is visible only when you set the
Calculate torque matrix? parameter to
No — specify directly
.
Interpolation method
— Interpolation method
Linear
Smooth
(default)
Select one of the following interpolation methods for approximating
the output value when the input value is between two consecutive grid
points:
Linear
— Uses an extension
of linear algorithm for multidimensional interpolation. Select
this option to get the best performance.
Smooth
— Uses a modified
Akima interpolation algorithm. Select this option to produce a
continuous surface with continuous first-order
derivatives.
For more information on interpolation methods, see the PS Lookup Table (2D)
block reference page.
Stator resistance per phase, Rs
— Stator resistance per phase
0.013
Ohm
(default)
Resistance of each of the stator windings.
Stator mutual inductance, Ms
— Stator mutual inductance
0.00002
H
(default)
Stator-stator mutual inductance, which is assumed to be independent of
both current and rotor angle.
Dependencies
This parameter is visible only when you set the
Parameterization parameter to
Assume constant mutual inductance - tabulate with
phase current and rotor angle
.
Stator zero-sequence inductance, L0
— Stator zero-sequence inductance
0.00016
H
(default)
Zero-sequence inductance.
Dependencies
To enable this parameter, set
Parameterization to Assume
sinusoidal back emf - tabulate with d- and q-axis
currents
.
Electrical (3-D Partial Derivative Data Variant)
This configuration of the Electrical parameters corresponds
to the 3-D Partial Derivative Data block variants, with or without thermal ports. If
you are using the 2-D Partial Derivative Data, 4-D Partial Derivative Data, or 3-D
Flux Linkage Data variant of the block, see Electrical (2-D Partial Derivative Data Variant), Electrical (4-D Partial Derivative Data Variant), or Electrical (3-D Flux Linkage Data Variant) respectively.
Winding type
— Stator windings configuration
Wye-wound
(default) | Delta-wound
Select the configuration for the stator windings:
Wye-wound
— The stator windings
are wye-wound.
Delta-wound
— The stator
windings are delta-wound. The a-phase is
connected between ports a and
b, the b-phase
between ports b and
c and the
c-phase between ports
c and
a.
Direct-axis current vector, iD
— Direct-axis current vector
[-200, 0, 200]
A
(default)
Vector of direct-axis currents corresponding to the provided flux
linkage partial derivatives. The current vector must be two-sided (have
positive and negative values).
Quadrature-axis current vector, iQ
— Quadrature-axis current vector
[-200, 0, 200]
A
(default)
Vector of quadrature-axis currents corresponding to the provided flux
linkage partial derivatives. The current vector must be two-sided (have
positive and negative values).
Rotor angle vector, theta
— Rotor angle vector
[0, 20, 40, 60]
deg
(default)
Vector of rotor angles corresponding to the provided flux linkage
partial derivatives. The vector must start at zero. This value
corresponds to the angle where the A-phase magnetic flux aligns with the
rotor permanent magnetic peak flux direction (the direct-axis, or
d
-axis). The last value,
Θmax, must be the rotor
angle where the flux linkage pattern peaks again. Therefore, the number
of pole pairs is 360/Θmax if Θmax is
expressed in degrees. The default value corresponds to a 6 pole-pair
motor.
A-phase flux linkage partial derivative wrt iA, dPhiA(iD,iQ,theta)/diA
— A-phase flux linkage partial derivative with respect to iA
zeros(3, 3, 4)
Wb/A
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
current in winding A, defined as a function of the two current vectors
and the rotor angle vector. Flux linkage is the flux multiplied by the
number of winding turns.
A-phase flux linkage partial derivative wrt iB, dPhiA(iD,iQ,theta)/diB
— A-phase flux linkage partial derivative with respect to iB
zeros(3, 3, 4)
Wb/A
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
current in winding B, defined as a function of the two current vectors
and the rotor angle vector. Flux linkage is the flux multiplied by the
number of winding turns.
A-phase flux linkage partial derivative wrt iC, dPhiA(iD,iQ,theta)/diC
— A-phase flux linkage partial derivative with respect to iC
zeros(3, 3, 4)
Wb/A
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
current in winding C, defined as a function of the two current vectors
and the rotor angle vector. Flux linkage is the flux multiplied by the
number of winding turns.
A-phase flux linkage partial derivative wrt angle, dPhiA(iD,iQ,theta)/dtheta
— A-phase flux linkage partial derivative with respect to angle
zeros(3, 3, 4)
Wb/rad
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
rotor angle, defined as a function of the two current vectors and the
rotor angle vector. Flux linkage is the flux multiplied by the number of
winding turns.
Torque matrix, T(iD,iQ,theta)
— Torque matrix
zeros(3, 3, 4)
N*m
(default)
Specify a matrix of the electromagnetic torque applied to the rotor,
as a function of the two currents and the rotor angle.
Interpolation method
— Interpolation method
Linear
(default) | Smooth
Select one of the following interpolation methods for approximating
the output value when the input value is between two consecutive grid
points:
Linear
— Uses an extension
of linear algorithm for multidimensional interpolation. Select
this option to get the best performance.
Smooth
— Uses a modified
Akima interpolation algorithm. Select this option to produce a
continuous surface with continuous first-order
derivatives.
For more information on interpolation methods, see the PS Lookup Table (3D)
block reference page.
Stator resistance per phase, Rs
— Stator resistance per phase
0.013
Ohm
(default)
Resistance of each of the stator windings.
Electrical (4-D Partial Derivative Data Variant)
This configuration of the Electrical parameters corresponds
to the 4-D Partial Derivative Data block variants, with or without thermal ports. If
you are using the 2-D Partial Derivative Data, 3-D Partial Derivative Data, or 3-D
Flux Linkage Data variant of the block, see Electrical (2-D Partial Derivative Data Variant), Electrical (3-D Partial Derivative Data Variant), or Electrical (3-D Flux Linkage Data Variant) respectively.
Winding type
— Stator windings configuration
Wye-wound
(default) | Delta-wound
Select the configuration for the stator windings:
Wye-wound
— The stator windings
are wye-wound.
Delta-wound
— The stator
windings are delta-wound. The a-phase is
connected between ports a and
b, the b-phase
between ports b and
c and the
c-phase between ports
c and
a.
A-phase current vector, iA
— A-phase current vector
[-200, 0, 200]
A
(default)
Vector of A-phase currents corresponding to the provided flux linkage
partial derivatives. The current vector must be two-sided (have positive
and negative values).
B-phase current vector, iB
— B-phase current vector
[-200, 0, 200]
A
(default)
Vector of B-phase currents corresponding to the provided flux linkage
partial derivatives. The current vector must be two-sided (have positive
and negative values).
C-phase current vector, iC
— C-phase current vector
[-200, 0, 200]
A
(default)
Vector of C-phase currents corresponding to the provided flux linkage
partial derivatives. The current vector must be two-sided (have positive
and negative values).
Rotor angle vector, theta
— Rotor angle vector
[0, 20, 40, 60]
deg
(default)
Vector of rotor angles corresponding to the provided flux linkage
partial derivatives. The vector must start at zero. This value
corresponds to the angle where the A-phase magnetic flux aligns with the
rotor permanent magnetic peak flux direction (the direct-axis, or
d
-axis). The last value,
Θmax, must be the rotor
angle where the flux linkage pattern peaks again. Therefore, the number
of pole pairs is 360/Θmax if Θmax is
expressed in degrees. The default value corresponds to a 6 pole-pair
motor.
A-phase flux linkage partial derivative wrt iA, dPhiA(iA,iB,iC,theta)/diA
— A-phase flux linkage partial derivative with respect to iA
zeros(3, 3, 3, 4)
Wb/A
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
current in winding A, defined as a function of the three current vectors
and the rotor angle vector. Flux linkage is the flux multiplied by the
number of winding turns.
A-phase flux linkage partial derivative wrt iB, dPhiA(iA,iB,iC,theta)/diB
— A-phase flux linkage partial derivative with respect to iB
zeros(3, 3, 3, 4)
Wb/A
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
current in winding B, defined as a function of the three current vectors
and the rotor angle vector. Flux linkage is the flux multiplied by the
number of winding turns.
A-phase flux linkage partial derivative wrt iC, dPhiA(iA,iB,iC,theta)/diC
— A-phase flux linkage partial derivative with respect to iC
zeros(3, 3, 3, 4)
Wb/A
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
current in winding C, defined as a function of the three current vectors
and the rotor angle vector. Flux linkage is the flux multiplied by the
number of winding turns.
A-phase flux linkage partial derivative wrt angle, dPhiAiA,iB,iC,theta)/dtheta
— A-phase flux linkage partial derivative with respect to angle
zeros(3, 3, 3, 4)
Wb/rad
(default)
Matrix of the A-phase flux linkage partial derivatives with respect to
rotor angle, defined as a function of the three current vectors and the
rotor angle vector. Flux linkage is the flux multiplied by the number of
winding turns.
Torque matrix, T(iA,iB,iC,theta)
— Torque matrix
zeros(3, 3, 3, 4)
N*m
(default)
Specify a matrix of the electromagnetic torque applied to the rotor,
as a function of the three currents and the rotor angle.
Interpolation method
— Interpolation method
Linear
(default) | Smooth
Select one of the following interpolation methods for approximating
the output value when the input value is between two consecutive grid
points:
Linear
— Uses an extension
of linear algorithm for multidimensional interpolation. Select
this option to get the best performance.
Smooth
— Uses a modified
Akima interpolation algorithm. Select this option to produce a
continuous surface with continuous first-order
derivatives.
For more information on interpolation methods, see the PS Lookup Table (3D)
block reference page.
Stator resistance per phase, Rs
— Stator resistance per phase
0.013
Ohm
(default)
Resistance of each of the stator windings.
Electrical (3-D Flux Linkage Data Variant)
This configuration of the Electrical parameters corresponds
to the 3-D Flux Linkage Data block variants, with or without thermal ports. If you
are using the 2-D Partial Derivative Data, 3-D Partial Derivative Data, or 4-D
Partial Derivative Data variant of the block, see Electrical (2-D Partial Derivative Data Variant), Electrical (3-D Partial Derivative Data Variant), or Electrical (4-D Partial Derivative Data Variant), respectively.
Flux linkage data format
— Flux linkage data format
D and Q axes flux linkages as a function of D-axis current
(iD), Q-axis current (iQ), and rotor angle
(theta)
(default) | D and Q axes flux linkages as a function of peak current
magnitude (I), current advance angle (B), and rotor angle
(theta)
| A-phase flux linkage as a function of D-axis current
(iD), Q-axis current (iQ), and rotor angle
(theta)
| A-phase flux linkage as a function of peak current
magnitude (I), current advance angle (B), and rotor angle
(theta)
Select the flux linkage data format used by your FE tool:
D and Q axes flux linkages as a function of
D-axis current (iD), Q-axis current (iQ), and rotor
angle (theta)
D and Q axes flux linkages as a function of
peak current magnitude (I), current advance angle (B),
and rotor angle (theta)
A-phase flux linkage as a function of D-axis
current (iD), Q-axis current (iQ), and rotor angle
(theta)
A-phase flux linkage as a function of peak
current magnitude (I), current advance angle (B), and
rotor angle (theta)
Winding type
— Stator windings configuration
Wye-wound
(default) | Delta-wound
Select the configuration for the stator windings:
Wye-wound
— The stator windings
are wye-wound.
Delta-wound
— The stator
windings are delta-wound. The a-phase is
connected between ports a and
b, the b-phase
between ports b and
c and the
c-phase between ports
c and
a.
Number of pole pairs
— Number of pole pairs
4
(default)
Number of the permanent magnet motor pole pairs. The default value is
4
.
Park's convention for tabulated data
— Park's convention for tabulated data
Q leads D, rotor angle measured from A-phase to
D-axis
(default) | Q leads D, rotor angle measured from A-phase to
Q-axis
| D leads Q, rotor angle measured from A-phase to
D-axis
| D leads Q, rotor angle measured from A-phase to
Q-axis
Select the order and reference angle for the Park transform mapping
the given dq data to the three windings.
Q leads D, rotor angle measured from A-phase
to D-axis
— Quadrature-direct
transformation with angle measured with respect to
d axis.
Q leads D, rotor angle measured from A-phase
to Q-axis
— Quadrature-direct
transformation with angle measured with respect to
q axis.
D leads Q, rotor angle measured from A-phase
to D-axis
— Direct-quadrature
transformation with angle measured with respect to
d axis.
D leads Q, rotor angle measured from A-phase
to Q-axis
— Direct-quadrature
transformation with angle measured with respect to
q axis.
Direct-axis current vector, iD
— Direct-axis current vector
[-200, 0, 200]
A
(default)
Vector of direct-axis currents at which the flux linkage is tabulated.
The current vector must be two-sided (have positive and negative
values).
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
or
A-phase flux linkage as a function of D-axis
current (iD), Q-axis current (iQ), and rotor angle
(theta)
.
Quadrature-axis current vector, iQ
— Quadrature-axis current vector
[-200, 0, 200]
A
(default)
Vector of quadrature-axis currents at which the flux linkage is
tabulated. The current vector must be two-sided (have positive and
negative values).
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
or
A-phase flux linkage as a function of D-axis
current (iD), Q-axis current (iQ), and rotor angle
(theta)
.
Peak current magnitude vector, I
— Peak current magnitude vector
[0, 100, 200]
A
(default)
Row vector of current magnitudes at which the flux linkage is
tabulated. The first element must be zero. The adjacent current value
should be small relative to the current values at which magnetic
saturation begins to occur. This is because derived flux partial
derivatives are ill-defined at zero current, and so are calculated at
this first nonzero current instead.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of peak current magnitude (I),
current advance angle (B), and rotor angle (theta)
or A-phase flux linkage as a function of peak current
magnitude (I), current advance angle (B), and rotor angle
(theta)
.
Current advance angle, B
— Current advance angle
[-180, -90, 0, 90, 180]
deg
(default)
Row vector of current advance angle values at which the flux linkage
is tabulated. Current advance angle is defined as the angle by which the
current leads the quadrature (Q) axis.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of peak current magnitude (I),
current advance angle (B), and rotor angle (theta)
or A-phase flux linkage as a function of peak current
magnitude (I), current advance angle (B), and rotor angle
(theta)
.
Rotor angle vector, theta
— Rotor angle vector
[[0, 5, 10, 15, 20, 25, 30]
deg
(default)
Vector of rotor angles at which the flux linkage is tabulated. The
vector must start at zero. This value corresponds to the angle where the
A-phase magnetic flux aligns with the rotor permanent magnetic peak flux
direction (the direct-axis, or d
-axis). The
last value, Θmax, must be the
rotor angle where the flux linkage pattern peaks again. Therefore, the
number of pole pairs is 360/Θmax if Θmax is
expressed in degrees. The default value corresponds to a 4 pole-pair
motor.
If Flux linkage data format is D and
Q axes flux linkages as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
or
D and Q axes flux linkages as a function of peak
current magnitude (I), current advance angle (B), and rotor angle
(theta)
(that is, if you tabulate D and Q flux linkage
data), then the rotor angle vector must have four or more points and a
range from 0 to 120/N degrees, where
N is the number of pole pairs. If Flux
linkage data format is A-phase flux linkage
as a function of D-axis current (iD), Q-axis current (iQ), and rotor
angle (theta)
or A-phase flux linkage as
a function of peak current magnitude (I), current advance angle (B),
and rotor angle (theta)
(that is, if you tabulate
A-phase flux linkage data), then the rotor angle vector must have
3n+1 points, where n>=2, and
the range must be from 0 to 360/3/N degrees.
D-axis flux linkage, Fd(iD,iQ,theta)
— D-axis flux linkage
zeros(3, 3, 7)
Wb
(default)
Matrix of the d-axis flux linkage, defined as a
function of the dq currents, and the rotor angle
vector. Flux linkage is the flux multiplied by the number of winding
turns.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
.
Q-axis flux linkage, Fq(iD,iQ,theta)
— Q-axis flux linkage
zeros(3, 3, 7)
Wb
(default)
Matrix of the q-axis flux linkage, defined as a
function of the dq currents, and the rotor angle
vector. Flux linkage is the flux multiplied by the number of winding
turns.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
.
D-axis flux linkage, Fd(I,B,theta)
— D-axis flux linkage
zeros(3, 5, 7)
Wb
(default)
3-D matrix of d-axis flux linkage values as a
function of Peak current magnitude vector, I,
Current advance angle, B, and Rotor
angle vector, theta.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of peak current magnitude (I),
current advance angle (B), and rotor angle
(theta)
.
Q-axis flux linkage, Fq(I,B,theta)
— Q-axis flux linkage
zeros(3, 5, 7)
Wb
(default)
3-D matrix of q-axis flux linkage values as a
function of Peak current magnitude vector, I,
Current advance angle, B, and Rotor
angle vector, theta.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of peak current magnitude (I),
current advance angle (B), and rotor angle
(theta)
.
A-phase flux linkage, F(iD,iQ,theta)
— A-phase flux linkage
zeros(3, 3, 7)
Wb
(default)
3-D matrix of A-phase flux linkage values, as a function of the
dq currents and the rotor angle.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to A-phase
flux linkage as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
.
A-phase flux linkage, F(I,B,theta)
— A-phase flux linkage
zeros(3, 5, 7)
Wb
(default)
3-D matrix of A-phase flux linkage values, as a function of
Peak current magnitude vector, I,
Current advance angle, B, and Rotor
angle vector, theta.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to A-phase
flux linkage as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
.
Torque matrix, T(iD,iQ,theta)
— Torque matrix
zeros(3, 3, 7)
N*m
(default)
3-D matrix of the electromagnetic torque applied to the rotor, as a
function of the dq currents and the rotor
angle.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of D-axis current (iD), Q-axis
current (iQ), and rotor angle (theta)
or
A-phase flux linkage as a function of D-axis
current (iD), Q-axis current (iQ), and rotor angle
(theta)
.
Torque matrix, T(I,B,theta)
— Torque matrix
zeros(3, 5, 7)
N*m
(default)
3-D matrix of the electromagnetic torque applied to the rotor, as a
function of Peak current magnitude vector, I,
Current advance angle, B, and Rotor
angle vector, theta.
If your flux data is given in a different order, you can use the
permute
function to
reorder it. For an example of this reordering, see the associated MATLAB
script in Import IPMSM Flux Linkage Data from ANSYS Maxwell.
Dependencies
This parameter is visible only when you set the Flux
linkage data format parameter to D and Q
axes flux linkages as a function of peak current magnitude (I),
current advance angle (B), and rotor angle (theta)
or A-phase flux linkage as a function of peak current
magnitude (I), current advance angle (B), and rotor angle
(theta)
.
Interpolation method
— Interpolation method
Linear
(default) | Smooth
Select one of the following interpolation methods for approximating
the output value when the input value is between two consecutive grid
points:
Linear
— Uses an extension
of linear algorithm for multidimensional interpolation. Select
this option to get the best performance.
Smooth
— Uses a modified
Akima interpolation algorithm. Select this option to produce a
continuous surface with continuous first-order
derivatives.
For more information on interpolation methods, see the PS Lookup Table (4D)
block reference page.
Stator resistance per phase, Rs
— Stator resistance per phase
0.013
Ohm
(default)
Resistance of each of the stator windings.
Stator zero-sequence inductance, L0
— Stator zero-sequence inductance
0.00016
H
(default)
Zero-sequence inductance.
Dependencies
To enable this parameter, set Winding type to
Delta-Wound
.
Iron Losses
Open-circuit iron losses, [P_hysteresis P_eddy P_excess]
— Open-circuit iron losses
[0.0, 0.0, 0.0]
W
(default)
Row vector, of length 3, of the open-circuit iron losses due to
hysteresis, Eddy, and excess losses, respectively, at the frequency
specified by Electrical frequency at which losses
determined.
Short-circuit iron losses, [P_hysteresis P_eddy P_excess]
— Short-circuit iron losses
[0.0, 0.0, 0.0]
W
(default)
Row vector, of length 3, of the short-circuit iron losses due to
hysteresis, Eddy, and excess losses, respectively, at the frequency
specified by Electrical frequency at which losses
determined.
Electrical frequency at which losses determined
— Electrical frequency at which losses determined
60
Hz
(default)
Electrical frequency at which the open-circuit and short-circuit iron
losses were measured.
Short-circuit RMS current for short-circuit iron losses
— Short-circuit RMS current for short-circuit iron losses
95
A
(default)
The resulting short-circuit RMS phase current when measuring the
short-circuit losses.
Mechanical
Rotor inertia
— Rotor inertia
0.01
kg*m^2
(default)
Inertia of the rotor attached to mechanical translational port
R. The value can be zero.
Rotor damping
— Rotor damping
0
N*m/(rad/s)
(default)
Temperature Dependence
These parameters appear only for blocks with exposed thermal ports. For more
information, see Thermal Ports.
Measurement temperature
— Measurement temperature
298.15
K
(default)
The temperature for which motor parameters are quoted.
Resistance temperature coefficient
— Resistance temperature coefficient
3.93e-3
1/K
(default)
Coefficient α in the equation relating resistance to temperature, as
described in Thermal Model for Actuator Blocks. The default value is for
copper.
Permanent magnet flux temperature coefficient
— Permanent magnet flux temperature coefficient
-0.001
(default)
The fractional rate of change of permanent magnet flux density with
temperature. It is used to linearly reduce the torque and the induced
back EMF as temperature rises.
Thermal Port
These parameters appear only for blocks with exposed thermal ports. For more
information, see Thermal Ports.
Thermal mass for each stator winding
— Thermal mass for each stator winding
100
J/K
(default)
The thermal mass value for the A, B, and C windings. The thermal mass
is the energy required to raise the temperature by one degree.
Initial stator winding temperatures
— Initial stator winding temperatures
[298.15, 298.15, 298.15]
K
(default)
A 1-by-3 row vector defining the temperature of the A, B, and C
thermal ports at the start of simulation.
Rotor thermal mass
— Rotor thermal mass
200
J/K
(default)
The thermal mass of the rotor, that is, the energy required to raise
the temperature of the rotor by one degree.
Rotor initial temperature
— Rotor initial temperature
298.15
K
(default)
The temperature of the rotor at the start of simulation.
Percentage of main flux path iron losses associated with the rotor
— Percentage of main flux path iron losses associated with the rotor
90
(default)
The percentage of the main flux path iron losses associated with the
magnetic path through the rotor. It determines how much of the iron loss
heating is attributed to the rotor thermal port HR,
and how much is attributed to the three winding thermal ports
HA, HB, and
HC.
Percentage of cross-tooth flux path iron losses associated with the rotor
— Percentage of cross-tooth flux path iron losses associated with the
rotor
30
(default)
The percentage of the cross-tooth flux path iron losses associated
with the magnetic path through the rotor. It determines how much of the
iron loss heating is attributed to the rotor thermal port
HR, and how much is attributed to the three
winding thermal ports HA, HB,
and HC.
References
[1] Mellor, P.H., R. Wrobel, and D. Holliday. “A
computationally efficient iron loss model for brushless AC machines that caters for
rated flux and field weakened operation.” IEEE Electric Machines and
Drives Conference. May 2009.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2019b