Documentation Home Page Courseware Home Page
Pour la documentation en FRANÇAIS, utilisez l'outil de traduction de votre navigateur Chrome, Edge ou Safari. Voir un exemple.

PMSM - Introduction

Page Content

The Synchronous Machine (SM) is an electrical machine whose rotating speed is proportional to the frequency of the alternating current supply and independent of the load.
It is mostly used as a generator where it is almost without a competitor, but it also serves as a motor in several fields.
The Permanent Magnet Synchronous Motors (PMSM) is a type of SM with no damper winding, and excitation at the rotor is provided by a permanent magnet.
It has high-density power, large torque to inertia ratio and high efficiency making it very useful in many applications, such as home equipment, robotic applications, and electric vehicles [2].

Figure 1: Virtual Test Bench of the PMSM Drive

Model simulation is one of the safest and most efficient ways to tackle real-life problems.
By simulating a dynamic model, a wide range of tests could be done on the simulation to analyze and validate the proposed model before making a functioning prototype.
Real-time simulation gives the user time accurate results of a process, making it a useful tool in stimulating electric machines for a wide range of applications, for instance in the education sector.
Electrical engineer undergraduates have to do electrical machines laboratories in order to apply and further their theoretical knowledge in that domain.
But those labs aren’t as effective as they need to be because of the limitations put on the students to protect them and to preserve the machines tested.
That’s why it is primordial to have virtual test bench laboratories, giving students more flexibility to fully analyze the electrical and mechanical limits of electric machines without the fear of costly damages.
Here, a virtual test bench for variable speed drive of PMSM is implemented (see figure 1 above).
The modeling is such that real-time accurate results are obtained.

The different modules covered in this laboratory are discussed next.


Consider a direct three-phase system given by:

The time domain and the spatial representations of the system are shown in figures 2 and 3.

Figure 2: Three-Phase System in Time Domain

Figure 3: Spatial Representation Taken at t = 0

Transformations from (a, b, c) to (α, β)

Knowing that for a three-phase system the summation of signals is zero, it makes sense to get rid of the summation equation and to move to a two-signals system in which those signals are orthogonal, therefore, non-dependent.
For that, two transformations are suggested: Clarke and Concordia.

Clarke Transformation

Clarke transformation applied to the three-phase system leads to:


From which the inverse of Clarke transformation is computed as:

The properties of Clarke transformation are:

  • This transformation keeps the amplitude invariant, hence the amplitudes of sa and sα are both equal to S. However, the power is variant.
  • The determinant of this transformation is 2/(3), hence this is not a rotation.

Concordia Transformation


The properties of Concordia transformation are:

  • This transformation changes the amplitude but keeps the power invariant.
  • The determinant of this transformation is 1.
    Additionally, columns are orthogonal and have unity-norm.
    Consequently, this is a rotation, and the inverse is nothing but the transpose.

Transformations from (α, β) to (d, q)

Rotation of Angle -Ѳ

This transformation is used to move from (α, β) stationary frame to (d, q) rotating frame.
The goal behind is to remove the ωt component and to end-up with time-invariant signal sd and sq.

Knowing that the three-phase system depicted in figure 3 above is undergoing a counterclockwise rotation at ω rd/s, a rotation of an angle Ѳ = -ωt is to be applied in order to get time-invariant signals in the (d, q) frame, leading to:

Obviously, this transformation corresponds to a rotation matrix Q with a determinant of value of 1.
The calculation of the speed matrix goes as follows:

It is noteworthy that the speed matrix Ω is skew-symmetric, which is a necessary condition for the speed term.

Transformations from (a, b, c) to (d, q)

There are four possible combinations to bring the three-phase system (a, b, c) to a (d, q) one, namely:

  1. Clarke followed by a rotation of -Ѳ
  2. Concordia followed by a rotation of -Ѳ + π/2
  3. Clarke followed by a rotation of -Ѳ
  4. Concordia followed by a rotation of -Ѳ + π/2.

Notice that these transformations are known as Park transformations in literature.

Combination of Clarke and Rotation of -Ѳ

For the three-phase system defined in (1), sd and sq become:

As expected, sd and sq are time-invariant since they do not depend on ωt.

Since sd vanished, it is hard to check whether sq leads or lags sd.
For that, consider a three-phase system with a delay δ as follows:

Apply Clarke transformation leads to:

Applying a rotation of -Ѳ leads to:

Figures 4 and 5 show the spatial representation of this system for δ = π/6 and ωt = 0, then ωt = π/3.
It is worth noticing that sq lags sd.

Figure 4: Spatial Representation Taken at ωt = 0 and δ = π/6

Figure 5: Spatial Representation Taken at ωt = π/3 and δ = π/6

Combination of Concordia and Rotation of -Ѳ

For the three-phase system defined in (1), sd and sq become:


The first drive implemented is the self-control mode of the PMSM, which is a method controlling the three-phase currents (ia, ib, and ic) of the machine.
A synchronous machine is said to be self-controlled if it gets its operating frequency from an inverter whose converters are fired through signals calculated using data obtained from a rotor position sensing unit.
This ensures that the stator and rotor fields move in synchronism for all operating points.
The current references are calculated using the angle coming from the sensor and the amplitude is either obtained directly from a reference or from a higher-level regulation loop, like the speed control loop.

Figure 6: Self-Control Diagram of PMSM

 The self-control diagram of the PMSM is shown in figure 6 above.
Here, the current references (i*a, i*b, and i*c) can be directly imposed or calculated from a torque reference.
Thus, it is essential to establish the relation between torque and current. In order to obtain the maximum torque possible, we must impose through the reference currents the internal angle of the machine δ.

By imposing:

The electromagnetic torque of the synchronous machine is expressed as follows:

The current reference is generated using the following equation:

Im being the current amplitude reference, and ξ the measured rotor angle times p.
Im is calculated using the torque reference:


It should be noted that ϕr and p are respectively the rotor flux and number of poles of the PMSM.

Two types of current controller are applied in self-control: hysteresis current control and PI controller.
These two self-control modes are discussed next.

Hysteresis Current Control

The implementation of hysteresis control methods can be done in either analog or digital form.
Every time the error between control references and control variables crosses the negative hysteresis band's boundary (see figure 7) the controller's output will automatically send in the upper bound
in order to make the current stick to the reference and when the error crosses the positive hysteresis band's boundary the controller's output will automatically send in the lower bound,
thus creating switching gates for the inverter connected to the machine [3].

Figure 7: Hysteresis Band [3]

PI Controller

This method is easily implementable and widely used by engineers because of its accurate results.
The general form of a PI controller is as follows:

  • e(t): the error calculated by the difference between the measured and the reference currents.
  • u(t): the input of the PI controller.
  • Kp  and Ti: proportional and integral gains of the PI controller.

The proportional gain is used to produce an output proportional to the error value, which means that if the error is high, the output of the proportional gain will also be high and vice versa.
If the proportional gain is increased, the system will have a quicker response with a smaller steady state error, but if the proportional gain is too high, a large overshoot is expected to appear in the system’s response.

The integral term neutralizes the steady state error and reduces it to zero by increasing the system’s response rate towards a certain setpoint.
If the integral gain is too high, a large overshoot will also be observed, and the system might become unstable.

Using the PMSM d-axis inductance Ld and stator windings resistance Rs, the PI gains are given as:

Vector Current Control

To use this control method, the stator currents of a three-phase AC electric motor are identified as two orthogonal components (id, iq).
The first define the magnetic flux of the motor, and the latter the toque.

The purpose is to control id and iq currents to be able to control the transient regime of the motor.
There exist multiple vector control methods, and in this laboratory the zero d-axis current (ZDC) has been considered.

Zero d-axis current (ZDC) control

First let’s introduce the equations of the PMSM in the dq reference frame.

  • Voltage equations:
  • Mechanical equation:
  • Electromagnetic torque equation:

In ZDC control method, the d-axis armature current id  of the PMSM is set to zero (see figure 8 below), thus simplifying the control scheme design and implementation.

Figure 8: Schematic of ZDC Control Loop

With id=0, the PMSM equations become:

The vd, vq voltages depend on both the currents on the dq-axes, so they need to be decoupled.
This decoupling is based on the introduction of decoupling terms ed, eq and the compensation term e0.

The voltage vd and vq can be rewritten as:

The direct current reference 𝑖*𝑑 is fixed to zero and the torque reference is converted to 𝑖*q.
When PI regulators are used to control the currents, both current references 𝑖*𝑑 and 𝑖*q are compared separately with the real currents of the machine id and iq, and the obtained errors are eliminated by the integral term of the PI.
The PI gains are calculated as follows:

The reference voltages v*𝑑  and v*q at the output of the current controllers are converted into three-phase voltages which generate the pulses to drive the inverter (see figure 8 above).
A three-phase two-level inverter has been considered in this laboratory.

Speed control

In the PMSM speed control strategy, the reference current 𝑖*q is calculated via a torque reference T*, which is the output of the speed controller block (see figure 9).

Figure 9: Speed Control Loop

The gain K is the inverse of k’, with:


The current in d-axis is still maintained to zero in speed control.

The list of symbols previously used in sections Self-Control, Vector Current Control and Speed Control and their definitions are presented in table 1 below.





d-axis inductance



q-axis inductance



Stator windings resistance



Electromagnetic torque



Load torque



Number of pole pairs


d-axis current



q-axis current



stator current



d-axis voltage



q-axis voltage



Electrical speed



Viscous friction



Proportional gain of the self-control PI controller


Integral gain of the self-control PI controller


Proportional gain of the PI controller for iq


Proportional gain of the PI controller for id


Integral gain of the PI controller for iq


Integral gain of the PI controller for id


Magnet rotor flux



Internal angle



Rotor speed



Electrical angle





Table 1: List of Symbols of the PMSM Drive

OPAL-RT TECHNOLOGIES, Inc. | 1751, rue Richardson, bureau 1060 | Montréal, Québec Canada H3K 1G6 | | +1 514-935-2323