BLDC
Three-winding brushless DC motor with trapezoidal flux distribution
Description
The BLDC block models a permanent magnet synchronous
machine with a three-phase wye-wound stator. The block has four options for defining the
permanent magnet flux distribution as a function of rotor angle. Two options allow for
simple parameterization by assuming a perfect trapezoid for the back emf. For simple
parameterization, you specify either the flux linkage or the rotor-induced back emf. The
other two options give more accurate results using tabulated data that you specify. For
more accurate results, you specify either the flux linkage partial derivative or the
measured back emf constant for a given rotor speed.
The figure shows the equivalent electrical circuit for the stator windings.
Motor Construction
This figure shows the motor construction with a single pole-pair on the rotor.
For the axes convention in the preceding figure, the
a-phase and permanent magnet fluxes are aligned when rotor
angle θr is zero. The block supports a
second rotor-axis definition. For the second definition, the rotor angle is the
angle between the a-phase magnetic axis and the rotor
q-axis.
Trapezoidal Rate of Change of Flux
The rotor magnetic field due to the permanent magnets create a trapezoidal rate of
change of flux with rotor angle. The figure shows this rate of change of
flux.
Back emf is the rate of change of flux, defined by
where:
The height h
of the trapezoidal rate of change of flux profile
is derived from the permanent magnet peak flux.
Integrating over the range 0 to π/2,
where:
Φmax is the permanent magnet
flux linkage.
h is the rate of change of flux profile height.
θF is the rotor angle range over
which the back emf that the permanent magnet flux induces in the stator is
constant.
θW is the rotor angle range over
which back emf increases or decreases linearly when the rotor moves at
constant speed.
Rearranging the preceding equation,
Electrical Defining Equations
Voltages across the stator windings are defined by
where:
va,
vb, and
vc are the external
voltages applied to the three motor electrical connections.
Rs is the equivalent resistance
of each stator winding.
ia,
ib, and
ic are the currents
flowing in the stator windings.
and
are the rates of change of magnetic flux in each stator winding.
The permanent magnet and the three windings contribute to the total flux linking
each winding. The total flux is defined by
where:
ψa,
ψb, and
ψc are the total fluxes
linking each stator winding.
Laa,
Lbb, and
Lcc are the
self-inductances of the stator windings.
Lab,
Lac,
Lba, etc. are the mutual
inductances of the stator windings.
ψam,
ψbm, and
ψcm are the permanent
magnet fluxes linking the stator windings.
The inductances in the stator windings are functions of rotor angle, defined by
and
where:
Ls is the stator
self-inductance per phase — The average self-inductance of each
of the stator windings.
Lm is the stator inductance
fluctuation — The fluctuation in self-inductance and mutual
inductance with changing rotor angle.
Ms is the stator mutual
inductance — The average mutual inductance between the stator
windings.
The permanent magnet flux linking each stator winding follows the
trapezoidal profile shown in the figure. The block implements the trapezoidal
profile using lookup tables to calculate permanent magnet flux values.
Simplified Equations
The defining voltage and torque equations for the block are
and
where:
vd,
vq, and
v0 are the
d-axis, q-axis, and zero-sequence
voltages.
P is Park’s Transformation, defined by
N is the number of rotor permanent magnet pole
pairs.
ω is the rotor mechanical rotational speed.
and
are the partial derivatives of instantaneous permanent magnet flux linking
each phase winding.
id,
iq, and
i0 are the
d-axis, q-axis, and zero-sequence
currents, defined by
Ld =
Ls +
Ms + 3/2
Lm.
Ld is the stator
d-axis inductance.
Lq =
Ls +
Ms − 3/2
Lm.
Lq is the stator
q-axis inductance.
L0 =
Ls –
2Ms.
L0 is the stator
zero-sequence inductance.
T is the rotor torque. Torque flows from the motor case
(block physical port C) to the motor rotor (block physical port R).
Calculating Iron Losses
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 iron losses model, which is based on the work of
Mellor [3].
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.
Ports
Conserving
expand all
~
— Three-phase port
electrical
n
— Neutral phase
electrical
Electrical conserving port associated with the neutral phase
R
— Motor rotor
mechanical
Mechanical rotational conserving port associated with the motor
rotor
C
— Motor case
mechanical
Mechanical rotational conserving port associated with the motor
case
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
Rotor
Winding type
— Windings configuration
Wye-wound
(default) | Delta-wound
Select the configuration for the windings:
Wye-wound
— The windings are
wye-wound.
Delta-wound
— The 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.
Back EMF profile
— Back EMF profile
Perfect trapezoid - specify maximum flux
linkage
(default) | Perfect trapezoid - specify maximum rotor-induced back
emf
| Tabulated - specify flux partial derivative with respect
to rotor angle
| Tabulated - specify rotor-induced back emf as a function
of rotor angle
Parameterization for defining the permanent magnet flux distribution
as a function of rotor angle. Choose:
Perfect trapezoid - specify maximum flux
linkage
to specify the maximum flux linkage
for the permanent magnet and the rotor angle where the back emf
is constant. The block assumes a perfect trapezoid for the back
emf. This is the default value.
Perfect trapezoid - specify maximum rotor-induced
back emf
to specify the maximum rotor-induced
back emf and the corresponding rotor speed. The block assumes a
perfect trapezoid for the back emf.
Tabulated - specify flux partial derivative with
respect to rotor angle
to specify values for
the partial derivative of flux linkage and the corresponding
rotor angles.
Tabulated - specify rotor-induced back emf as a
function of rotor angle
to specify the
measured back emf constant and the corresponding rotor speed and
angles.
Maximum permanent magnet flux linkage
— Maximum permanent magnet flux linkage
0.03
Wb
(default)
Peak permanent magnet flux linkage with any of the stator
windings.
Dependencies
To enable this parameter, set Back EMF
profile to Perfect trapezoid - specify
maximum flux linkage
.
Rotor angle over which back emf is constant
— Rotor angle over which back emf is constant
pi / 12
rad
(default)
Rotor angle range over which the permanent magnet flux linking the
stator winding is constant. This angle is θF in
the figure that shows the Trapezoidal Rate of Change of Flux.
Dependencies
To enable this parameter, set Back EMF
profile to Perfect trapezoid - specify
maximum flux linkage
or Perfect
trapezoid - specify maximum rotor-induced back
emf
.
Maximum rotor-induced back emf
— Maximum rotor-induced back emf
9.6
V
(default)
Peak rotor-induced back emf into the stator
windings.
Dependencies
To enable this parameter, set Back EMF
profile to Perfect trapezoid - specify
maximum rotor-induced back emf
.
Rotor-induced back emf
— Rotor-induced back emf
[0, -9.6, -9.6, 9.6, 9.6, 0]
V
(default)
Vector of values for the rotor-induced back emf as a function of rotor
angle. The first and last values must be the same, and are normally both
zero. For more information, see the Corresponding rotor
angles parameter. First and last values are the same
because flux is cyclic with period , where N is the number of permanent magnet pole
pairs.
Dependencies
To enable this parameter, set Back EMF
profile to Tabulated - specify
rotor-induced back emf as a function of rotor
angle
.
Flux linkage partial derivative with respect to rotor angle
— Flux linkage partial derivative with respect to rotor angle
[0, -.1528, -.1528, .1528, .1528,
0]
Wb/rad
(default)
Vector of values for the partial derivative of flux linkage (where
flux linkage is flux times number of winding turns) with respect to
rotor angle. The first and last values must be the same, and are
normally both zero. For more information, see the
Corresponding rotor angles parameter. First and
last values are the same because flux is cyclic with period , where N is the number of permanent
magnet pole pairs.
Corresponding rotor angles
— Corresponding rotor angles
[0, 7.5, 22.5, 37.5, 52.5, 60]
deg
(default)
Vector of rotor angles where the flux linkage partial derivative or
rotor-induced back emf is defined. Rotor angle is defined as the angle
between the a-phase magnetic axis and the
d-axis. That is, when the angle is zero, the
magnetic fields due to the rotor and the a-phase
winding align. This definition is used regardless of your block setting
for rotor angle definition. The first value is zero, and the last value
is , where N is the number of permanent
magnet pole pairs.
Dependencies
To enable this parameter, set Back EMF
profile to Tabulated - specify flux
partial derivative with respect to rotor angle
or
Tabulated - specify rotor-induced back emf as a
function of rotor angle
.
Rotor speed used for back emf measurement
— Rotor speed used for back emf measurement
600
rpm
(default)
Specify the rotor speed corresponding to the maximum rotor-induced
back emf.
Dependencies
To enable this parameter, set Back EMF
profile to Perfect trapezoid - specify
maximum rotor-induced back emf
or
Tabulated - specify rotor-induced back emf as a
function of rotor angle
.
Number of pole pairs
— Number of pole pairs
6
(default)
Number of permanent magnet pole pairs on the
rotor.
Rotor angle definition
— Reference point for the rotor angle measurement
Angle between the a-phase magnetic axis and
the d-axis
(default) | Angle between the a-phase magnetic axis and the
q-axis
Reference point for the rotor angle measurement. The default value is
Angle between the a-phase magnetic axis and the
d-axis
. This definition is shown in the Motor Construction figure. When you
select this value, the rotor and a-phase fluxes are
aligned when the rotor angle is zero.
The other value you can choose for this parameter is Angle
between the a-phase magnetic axis and the q-axis
. When you
select this value, the a-phase current generates
maximum torque when the rotor angle is zero.
Stator
Modeling fidelity
— Modeling fidelity
Constant Ld and Lq
(default) | Tabulated Ld and Lq
Select the modeling fidelity:
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ld, Lq, and
L0
.
Stator parameterization
— Stator parameterization
Specify Ld, Lq, and
L0
(default) | Specify Ls, Lm, and Ms
Choose Specify Ld, Lq, and L0
or
Specify Ls, Lm, and Ms
.
Stator d-axis inductance, Ld
— Stator d-axis inductance
0.00022
H
(default)
D-axis inductance.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ld, Lq, and
L0
and Modeling fidelity to
Constant Ld and Lq
.
Stator q-axis inductance, Lq
— Stator q-axis inductance
0.00022
H
(default)
Q-axis inductance.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ld, Lq, and
L0
and Modeling fidelity to
Constant Ld and Lq
.
Direct-axis current vector, iD
— Direct-axis current vector
[-200, 0, 200]
A
(default)
Direct-axis current vector, iD.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ld, Lq, and
L0
and Modeling fidelity to
Tabulated Ld and Lq
.
Quadrature-axis current vector, iQ
— Quadrature-axis current vector
[-200, 0, 200]
A
(default)
Quadrature-axis current vector, iQ.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ld, Lq, and
L0
and Modeling fidelity to
Tabulated Ld and Lq
.
Ld matrix, Ld(id,iq)
— Ld matrix
0.00022 * ones(3, 3)
H
(default)
Ld matrix.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ld, Lq, and
L0
and Modeling fidelity to
Tabulated Ld and Lq
.
Lq matrix, Lq(id,iq)
— Lq matrix
0.00022 * ones(3, 3)
H
(default)
Lq matrix.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ld, Lq, and
L0
and Modeling fidelity to
Tabulated Ld and Lq
.
Stator zero-sequence inductance, L0
— Stator zero-sequence inductance
0.00016
H
(default)
Zero-sequence inductance.
Dependencies
To enable this parameter either:
Set Winding Type to
Wye-wound
, Zero
sequence to
Include
, and
Stator parameterization to
Specify Ld, Lq, and L0
.
Set Winding Type to
Delta-wound
and
Stator parameterization to
Specify Ld, Lq, and L0
.
Stator self-inductance per phase, Ls
— Stator self-inductance per phase
0.0002
H
(default)
Average self-inductance of each of the three stator windings.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ls, Lm, and
Ms
.
Stator inductance fluctuation, Lm
— Stator inductance fluctuation
0
H
(default)
Fluctuation in self-inductance and mutual inductance of the stator
windings with rotor angle.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ls, Lm, and
Ms
.
Stator mutual inductance, Ms
— Stator mutual inductance
0.00002
H
(default)
Average mutual inductance between the stator windings.
Dependencies
To enable this parameter, set Stator
parameterization to Specify Ls, Lm, and
Ms
.
Stator resistance per phase, Rs
— Stator resistance per phase
0.013
Ohm
(default)
Resistance of each of the stator windings.
Zero sequence
— Zero sequence option
Include
(default) | Exclude
Option to include or exclude zero-sequence terms.
Include
— Include zero-sequence terms. To prioritize model fidelity, use this default setting. Using this option:
Exclude
— Exclude zero-sequence terms. To prioritize simulation speed for desktop simulation or real-time deployment, select this option.
Dependencies
This parameter is visible only when you set the Winding Type
parameter to Wye-wound
.
Iron Losses
Iron-loss
— Enable Iron losses computation
None
(default) | Empirical
Specify the iron losses computational model.
Open-circuit iron losses, [P_hysteresis P_eddy P_excess]
— Open-circuit iron losses
[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.
Dependencies
To enable this parameter, set Iron-loss to
Empirical
.
Short-circuit iron losses, [P_hysteresis P_eddy P_excess]
— Short-circuit iron losses
[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.
Dependencies
To enable this parameter, set Iron-loss to
Empirical
.
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.
Dependencies
To enable this parameter, set Iron-loss to
Empirical
.
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.
Dependencies
To enable this parameter, set Iron-loss to
Empirical
.
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
1/K
(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.
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.
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.
Dependencies
To enable this parameter, set Iron-loss to
Empirical
.
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.
Dependencies
To enable this parameter, set Iron-loss to
Empirical
.
References
[1] Kundur, P. Power
System Stability and Control. New York, NY: McGraw Hill,
1993.
[2] Anderson, P. M.
Analysis of Faulted Power Systems. Hoboken, NJ: Wiley-IEEE
Press, 1995.
[3] 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™.
See Also
Simscape Blocks
Blocks
Introduced in R2013b