Main Content

Permanent magnet synchronous motor with sinusoidal flux distribution

**Library:**Simscape / Electrical / Electromechanical / Permanent Magnet

The PMSM block models a permanent magnet synchronous motor with a three-phase wye-wound stator. The figure shows the equivalent electrical circuit for the stator windings.

You can choose different built-in parameterizations for this block. For more information, see the Predefined Parameterization section.

This figure shows the motor construction with a single pole-pair on the rotor.

Permanent magnets generate a rotor magnetic field that creates a sinusoidal rate of change of flux with rotor angle.

For the axes convention in the preceding figure, the *a*-phase
and permanent magnet fluxes are aligned when rotor mechanical angle,
*θ _{r}*, is zero. The block supports a
second rotor axis definition in which rotor mechanical angle is defined as the angle
between the

Voltages across the stator windings are defined by:

$$\left[\begin{array}{c}{v}_{a}\\ {v}_{b}\\ {v}_{c}\end{array}\right]=\left[\begin{array}{ccc}{R}_{s}& 0& 0\\ 0& {R}_{s}& 0\\ 0& 0& {R}_{s}\end{array}\right]\left[\begin{array}{c}{i}_{a}\\ {i}_{b}\\ {i}_{c}\end{array}\right]+\left[\begin{array}{c}\frac{d{\psi}_{a}}{dt}\\ \frac{d{\psi}_{b}}{dt}\\ \frac{d{\psi}_{c}}{dt}\end{array}\right],$$

where:

*v*,_{a}*v*, and_{b}*v*are the individual phase voltages across the stator windings._{c}*R*is the equivalent resistance of each stator winding._{s}*i*,_{a}*i*, and_{b}*i*are the currents flowing in the stator windings._{c}$$\frac{d{\psi}_{a}}{dt},$$$$\frac{d{\psi}_{b}}{dt},$$ and $$\frac{d{\psi}_{c}}{dt}$$ 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:

$$\left[\begin{array}{c}{\psi}_{a}\\ {\psi}_{b}\\ {\psi}_{c}\end{array}\right]=\left[\begin{array}{ccc}{L}_{aa}& {L}_{ab}& {L}_{ac}\\ {L}_{ba}& {L}_{bb}& {L}_{bc}\\ {L}_{ca}& {L}_{cb}& {L}_{cc}\end{array}\right]\left[\begin{array}{c}{i}_{a}\\ {i}_{b}\\ {i}_{c}\end{array}\right]+\left[\begin{array}{c}{\psi}_{am}\\ {\psi}_{bm}\\ {\psi}_{cm}\end{array}\right],$$

where:

*ψ*,_{a}*ψ*, and_{b}*ψ*are the total fluxes linking each stator winding._{c}*L*,_{aa}*L*, and_{bb}*L*are the self-inductances of the stator windings._{cc}*L*,_{ab}*L*,_{ac}*L*, and so on, are the mutual inductances of the stator windings._{ba}*ψ*,_{am}*ψ*, and_{bm}*ψ*are the permanent magnet fluxes linking the stator windings._{cm}

The inductances in the stator windings are functions of rotor electrical angle, defined by:

${\theta}_{e}=N{\theta}_{r}+rotor\text{\hspace{0.17em}}offset$

${L}_{aa}={L}_{s}+{L}_{m}\text{cos}(2{\theta}_{e}),$

${L}_{bb}={L}_{s}+{L}_{m}\text{cos}(2\left({\theta}_{e}-2\pi /3\right)),$

${L}_{cc}={L}_{s}+{L}_{m}\text{cos}(2\left({\theta}_{e}+2\pi /3\right)),$

$${L}_{ab}={L}_{ba}=-{M}_{s}-{L}_{m}\mathrm{cos}\left(2\left({\theta}_{e}+\pi /6\right)\right),$$

${L}_{bc}={L}_{cb}=-{M}_{s}-{L}_{m}\mathrm{cos}\left(2\left({\theta}_{e}+\pi /6-2\pi /3\right)\right),$

and

${L}_{ca}={L}_{ac}=-{M}_{s}-{L}_{m}\mathrm{cos}\left(2\left({\theta}_{e}+\pi /6+2\pi /3\right)\right),$

where:

*θ*is the rotor mechanical angle._{r}*θ*is the rotor electrical angle._{e}*rotor offset*is`0`

if you define the rotor electrical angle with respect to the d-axis, or`-pi/2`

if you define the rotor electrical angle with respect to the q-axis.*L*is the stator self-inductance per phase. This value is the average self-inductance of each of the stator windings._{s}*L*is the stator inductance fluctuation. This value is the fluctuation in self-inductance and mutual inductance with changing rotor angle._{m}*M*is the stator mutual inductance. This value is the average mutual inductance between the stator windings._{s}

The permanent magnet flux linking winding *a* is a maximum when
*θ _{e}* = 0° and zero when

$$\left[\begin{array}{c}{\psi}_{am}\\ {\psi}_{bm}\\ {\psi}_{cm}\end{array}\right]=\left[\begin{array}{c}{\psi}_{m}\mathrm{cos}{\theta}_{e}\\ {\psi}_{m}\mathrm{cos}\left({\theta}_{e}-2\pi /3\right)\\ {\psi}_{m}\mathrm{cos}\left({\theta}_{e}+2\pi /3\right)\end{array}\right]$$

where *ψ _{m}* is the permanent magnet flux
linkage.

Applying Park’s transformation to the block electrical equations produces an expression for torque that is independent of the rotor angle.

Park’s transformation is defined by:

$P=2/3\left[\begin{array}{ccc}\mathrm{cos}{\theta}_{e}& \mathrm{cos}\left({\theta}_{e}-2\pi /3\right)& \mathrm{cos}\left({\theta}_{e}+2\pi /3\right)\\ -\mathrm{sin}{\theta}_{e}& -\mathrm{sin}\left({\theta}_{e}-2\pi /3\right)& -\mathrm{sin}\left({\theta}_{e}+2\pi /3\right)\\ 0.5& 0.5& 0.5\end{array}\right]$

where *θ _{e}* is the electrical angle defined
as

Using Park's transformation on the stator winding voltages and currents transforms them to the dq0 frame, which is independent of the rotor angle:

$$\left[\begin{array}{c}{v}_{d}\\ {v}_{q}\\ {v}_{0}\end{array}\right]=P\left[\begin{array}{c}{v}_{a}\\ {v}_{b}\\ {v}_{c}\end{array}\right]$$

and

$\left[\begin{array}{c}{i}_{d}\\ {i}_{q}\\ {i}_{0}\end{array}\right]=P\left[\begin{array}{c}{i}_{a}\\ {i}_{b}\\ {i}_{c}\end{array}\right].$

Applying Park’s transformation to the first two electrical equations produces the following equations that define the block behavior:

${v}_{d}={R}_{s}{i}_{d}+{L}_{d}\frac{d{i}_{d}}{dt}-N\omega {i}_{q}{L}_{q},$

${v}_{q}={R}_{s}{i}_{q}+{L}_{q}\frac{d{i}_{q}}{dt}+N\omega ({i}_{d}{L}_{d}+{\psi}_{m}),$

${v}_{0}={R}_{s}{i}_{0}+{L}_{0}\frac{d{i}_{0}}{dt},$

and

$T=\frac{3}{2}N\left({i}_{q}\left({i}_{d}{L}_{d}+{\psi}_{m}\right)-{i}_{d}{i}_{q}{L}_{q}\right),$

where:

*L*=_{d}*L*+_{s}*M*+ 3/2_{s}*L*._{m}*L*is the stator_{d}*d*-axis inductance.*L*=_{q}*L*+_{s}*M*− 3/2_{s}*L*._{m}*L*is the stator_{q}*q*-axis inductance.*L*=_{0}*L*– 2_{s}*M*._{s}*L*is the stator zero-sequence inductance._{0}*ω*is the rotor mechanical rotational speed.*N*is the number of rotor permanent magnet pole pairs.*T*is the rotor torque. Torque flows from the motor case (block physical port C) to the motor rotor (block physical port R).

The PMSM block uses the original, non-orthogonal implementation of the Park transform. If you try to apply the alternative implementation, you get different results for the dq0 voltage and currents.

You can parameterize the motor using the back EMF or torque constants which are
more commonly given on motor datasheets by using the **Permanent magnet flux
linkage** option.

The back EMF constant is defined as the peak voltage induced by the permanent magnet in each of the phases per unit rotational speed. It is related to peak permanent magnet flux linkage by:

$${k}_{e}=N{\psi}_{m}.$$

From this definition, it follows that the back EMF
*e _{ph}* for one phase is given
by:

$${e}_{ph}={k}_{e}\omega .$$

The torque constant is defined as the peak torque induced by each of the phases per unit current. It is numerically identical in value to the back EMF constant when both are expressed in SI units:

$${k}_{t}=N{\psi}_{m}.$$

When
*L _{d}*=

$$T=\frac{3}{2}{k}_{t}{i}_{q}=\frac{3}{2}{k}_{t}{I}_{pk},$$

where *I _{pk}* is the peak current in any of
the three windings.

The factor 3/2 follows from this being the steady-state sum of the torques from
all phases. Therefore the torque constant
*k _{t}* could also be defined as:

$${k}_{t}=\frac{2}{3}\left(\frac{T}{{I}_{pk}}\right),$$

where *T* is the measured total torque when
testing with a balanced three-phase current with peak line voltage
*I _{pk}*. Writing in terms of RMS line current:

$${k}_{t}=\frac{\sqrt{2}}{3}\frac{T}{{i}_{line,rms}}.$$

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 line-to-neutral stator voltage, $${V}_{{m}_{rms}}^{}$$:

$${P}_{OC}\left({V}_{{m}_{rms}}^{}\right)=\frac{{a}_{h}}{k}{V}_{{m}_{rms}}^{}+\frac{{a}_{j}}{{k}^{2}}{V}_{{m}_{rms}}^{2}+\frac{{a}_{ex}}{{k}^{1.5}}{V}_{{m}_{rms}}^{1.5}$$

This is the dominant term during no-load operation. *k* is the
back emf constant relating RMS volts per Hz. It is defined as $$k={V}_{{m}_{rms}}^{}/f$$, 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, $${V}_{{d}_{rms}}^{*}$$:

$${P}_{SC}\left({V}_{{d}_{rms}}^{*}\right)=\frac{{b}_{h}}{k}{V}_{{d}_{rms}}^{*}+\frac{{b}_{j}}{{k}^{2}}{V}_{{d}_{rms}}^{*2}+\frac{{b}_{ex}}{{k}^{1.5}}{V}_{{d}_{rms}}^{*1.5}$$

The three numerator terms are derived from the values you provide for the short-circuit hysteresis, eddy, and excess losses.

There are multiple available built-in parameterizations for the PMSM block.

This pre-parameterization data allows you to set up the block to represent
components by specific suppliers. The parameterizations of these permanent magnet
synchronous motors match the manufacturer data sheets. To load a predefined
parameterization, click on the **Select a predefined
parameterization** hyperlink in the PMSM block mask and select the part
you want to use from the list of available components.

**Note**

Predefined parameterizations of Simscape components use available data sources for supplying parameter values. Engineering judgement and simplifying assumptions are used to fill in for missing data. As a result, deviations between simulated and actual physical behavior should be expected. To ensure requisite accuracy, you should validate simulated behavior against experimental data and refine component models as necessary.

For more information about pre-parameterization and for a list of the available components, see List of Pre-Parameterized Components.

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 **Simscape** >
**Block choices**, and then select **Show
thermal port**. 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.

Use the **Variables** settings to specify the priority and initial target
values for the block variables before simulation. For more information, see Set Priority and Initial Target for Block Variables.

[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.