Diplomityo Mikko Hamalainen
Diplomityo Mikko Hamalainen
Diplomityo Mikko Hamalainen
Mikko Hämäläinen
In this thesis Direct Torque Control (DTC) of induction machine was studied to an extent
that allowed building a DTC model with the Matlab R Simulink R software. The aim of
the thesis was to create a DTC model that could be used in the education of the electrical
drives.
In the Simulink SimscapeTM ElectricalTM library there are already blocks for the DTC and
the induction machine. The purpose of this thesis, however, was to create corresponding
models using just the basic Simulink blocks. This allows to understand better what hap-
pens withing the DTC.
With the model created the effect of different hysteresis band widths, different sampling
periods, different motor conditions and different inductances were simulated. Increasing
the hysteresis band widths and sampling period lead to lower average switching frequen-
cies, which increases the harmonic content of the motor phase currents. Although lower
switching frequency lowers the switching losses the motor losses increase as a result of
increased harmonics. In addition, it was noticed that different motor load conditions have
a big impact on the switching frequency.
Values of stator and rotor leakage inductances and the magnetizing inductance also had
an impact on the switching frequency. Higher leakage inductances lowered the switching
frequency. Phase currents also changed depending on the inductances. With lower leak-
age inductances the starting currents rised considerably. Steady-state currents got lower
as the magnetizing inductance rose.
Tiivistelmä
Mikko Hämäläinen
Suoravääntösäädetyn induktiokoneen mallintaminen Simulinkillä
Diplomityö 2021
Lappeenrannan-Lahden teknillinen yliopisto LUT
LUT School of Energy Systems
Sähkötekniikka
Lappeenranta
61 sivua, 35 kuvaa, 3 taulukkoa
Työssä tutkittiin, kuinka induktiokoneen suora vääntömomentin säätö (Direct Torque Con-
trol, DTC) toimii, sekä rakennettiin induktiokoneen ja DTC-säätimen simulointimallit
Matlab R Simulink R ohjelmistolla. Tavoitteena oli, että suorasta vääntömomentin säädöstä ja
sen simuloinnista saataisiin yhtenäinen kokonaisuus, jota voitaisiin käyttää apuna sähkökäyttöjen
opetuksessa.
I would like to thank D.Sc. Lassi Aarniovuori for the assistance throughout the process
and the interesting topic that gave my little grey cells a good exercise. Also I would like to
thank my examiner Professor Juha Pyrhönen and supervisor D.Sc. Markku Niemelä for
their invaluable counsel.
In addition, I would like to express my gratitude to my family and friends for their support
throughout the years and especially to Emilia for her immense support. Furthermore, a
big thanks to all the friends I made during the years in the LUT for the unforgettable
memories.
Mikko Hämäläinen
January 30, 2021
Lappeenranta
Contents
Abstract
Tiivistelmä
Preface
Contents
Nomenclature
1 Introduction 10
1.1 Research methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2 Theory 12
2.1 Space vector theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.1 Three-phase system space vectors . . . . . . . . . . . . . . . . . 13
2.1.2 Clarke’s transformation . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 Park’s transformation . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Induction machine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.1 Single-phase phasor T-equivalent circuit . . . . . . . . . . . . . . 17
2.2.2 Equivalent circuit in stator reference frame . . . . . . . . . . . . 17
2.2.3 State space model . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.4 IM mechanical model . . . . . . . . . . . . . . . . . . . . . . . 20
2.2.5 Field weakening . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Variable Frequency Drive (VFD) . . . . . . . . . . . . . . . . . . . . . . 21
2.3.1 Voltage source inverter (VSI) . . . . . . . . . . . . . . . . . . . . 22
2.3.2 VSI non-ideal characteristics . . . . . . . . . . . . . . . . . . . . 22
2.4 Direct Torque Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.4.1 Hysteresis controllers . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.2 Stator flux linkage vector sector table . . . . . . . . . . . . . . . 25
2.4.3 Optimal Switching Table . . . . . . . . . . . . . . . . . . . . . . 26
2.4.4 Switching frequency . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.5 Stator flux linkage drifting . . . . . . . . . . . . . . . . . . . . . 27
2.4.6 Adaptive motor model . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.7 Stator current limitation method . . . . . . . . . . . . . . . . . . 29
2.5 Per-unit system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3 Simulink model 31
4 Simulations 35
4.1 Effects of hysteresis band widths . . . . . . . . . . . . . . . . . . . . . . 35
4.1.1 Average switching frequency . . . . . . . . . . . . . . . . . . . . 35
4.1.2 Phase current harmonic content . . . . . . . . . . . . . . . . . . 39
4.1.3 Stator flux linkage vector . . . . . . . . . . . . . . . . . . . . . . 41
4.1.4 Steady-state torque ripple . . . . . . . . . . . . . . . . . . . . . 42
4.2 Effects of DTC sampling period . . . . . . . . . . . . . . . . . . . . . . 45
4.3 Effects of different motor speed and load conditions . . . . . . . . . . . . 48
4.4 Effects of the different inductances . . . . . . . . . . . . . . . . . . . . . 50
4.4.1 Current characteristics . . . . . . . . . . . . . . . . . . . . . . . 51
4.4.2 Motor startup and torque rise time . . . . . . . . . . . . . . . . . 53
4.4.3 Average switching frequency . . . . . . . . . . . . . . . . . . . . 54
4.5 Current limiting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.6 Torque response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5 Summary 58
References 60
Appendices
Nomenclature
Latin alphabet
A State space model help variable
a Phase operator
B State space model help variable
C State space model help variable
D State space model help variable
E State space model help variable
F State space model help variable
f Frequency
fsw Switching frequency
G State space model help variable
I Current
ir Rotor current vector
irα Rotor current vector α-component
irβ Rotor current vector β-component
is Stator current vector
isα Stator current vector α-component
isβ Stator current vector β-component
J Inertia
L Inductance
Lm Magnetizing inductance
Lr Rotor inductance
Lrσ Rotor leakage inductance
Ls Stator inductance
Lsσ Stator leakage inductance
Nw Number of switching events
n Speed
ns Synchronous speed
nref Speed reference
P Power
Pout Output power
p Pole pairs
R Resistance
RFe Iron loss resistance
Rr Rotor resistance
Rs Stator resistance
S Apparent power
SU,V,W Phase U, V or W switch position
s Slip
T Temperature, Torque
Tb Breakdown torque
8
Te Electromagnetic torque
Te Electromagnetic torque vector
Terr Torque error
Te,est Electromagnetic torque estimate
Te,ref Electromagnetic torque reference
Tload Load torque
Tn Rated torque
t Time
U Voltage
UDC DC voltage
UU,V,W Phase U, V or W voltage
u Voltage vector
urα Rotor voltage vector α-component
urβ Rotor voltage vector β-component
us Stator voltage vector
usα Stator voltage vector α-component
usβ Stator voltage vector β-component
x Variable, axis
y Axis
Z Impedance
Greek alphabet
α α-axis, temperature coefficient
β β-axis
∆ Difference
∆T Torque hysteresis limit
∆t Time frame
∆ψ Stator flux linkage hysteresis limit
θ Angle
κ Sector
σ Leakage
τ Torque control signal
φ Stator flux linkage control signal
ψ Flux linkage
ψerr Stator flux linkage error
ψrα Rotor flux linkage vector α-component
ψrβ Rotor flux linkage vector β-component
ψsα Stator flux linkage vector α-component
ψsβ Stator flux linkage vector β-component
ψs Absolute value of the stator flux linkage
ψs,n Nominal value of the stator flux linkage
ψs,est Absolute value of the stator flux linkage
estimate vector
ψs,est Stator flux linkage estimate vector
ψs,ref Stator flux linkage reference
9
ω Angular velocity
ωs Stator electrical angular velocity
ωr Rotor electrical angular velocity
Ωm Mechanical angular velocity
Subscripts
base Per-unit base value
d Direct axis
e Elecromagnetic
est Estimate
m Mechanical, Magnetizing
max Maximum
n Nominal, Rated
out Output
p Phase
q Quadrature axis
r Rotor
ref Reference
s Stator, Synchronous
U Phase U
V Phase V
W Phase W
Abbreviations
AC Alternating Current
DC Direct Current
DFLC Direct Flux Linkage Control
DTC Direct Torque Control
EMF Electromotive Force
FFT Fast-Fourier Transform
FOC Field Oriented Control
IM Induction Machine
MMF Magnetomotive Force
PWM Pulse-Width Modulation
RMS Root Mean Square
THD Total Harmonic Distortion
VFD Variable Frequency Drive
VSI Voltage Source Inverter
10 1 Introduction
1 Introduction
Rotating electrical machines are used everywhere. Their applications can range from turn-
ing a pump in industrial setting to turning the wheels of an electrical vehicle. Different
Variable Frequency Drives (VFD) have become a viable way to implement a more sophis-
ticated control for different applications and improve the efficiency of drives. There are
two different schools of controlling electrical machines: scalar control or vector control.
Scalar control or commonly known as U/f control is quite a basic machine control topol-
ogy. It is based on changing the motor’s input voltage and frequency in a linear fashion
which leads to a change in the machine’s speed. U/f control is simple and easy to im-
plement and works well with somewhat static loads like pumps and fans but it has its
drawbacks. It is known that induction machine’s speed is a function of the slip. When the
load torque changes so does the machine’s speed. Therefore, without proper sensors and
feedback an U/f driven motor might have issues working in highly dynamic drives.
Vector control allows a more precise control of machine. Vector control is based on con-
stantly calculating the machine’s inner state with the help of the space vectors which
allows a more straightforward presentation of the machine during the transients. The
main problem with the traditional field oriented control (FOC) is that it needs angle mea-
surement from the motor shaft which increases implementation costs. Sensorless FOC
removes the need of a speed measurement as the rotor angle is numerically estimated.
Direct torque control (DTC) can solve the problems regarding rotor angle and the need
of speed measurements as it is based solely on the stator reference frame space vectors.
Motor phase currents and voltages are the only necessary measurements for the control of
the machine. DTC is a further development of the Direct Flux Linkage Control (DFLC).
Although the Simulink itself has a library which has a ready-made DTC block it might not
be easiest to use from the education standpoint. Creating a DTC model with basic blocks
allows breaking the control system into smaller pieces which might allow understanding
the working principles a bit better. There are publications where DTC has been realized in
Simulink, so the created model is not the first of its kind (Alnasir and Almarhoon, 2012).
2 Theory
Direct Torque Control is a type of vector control and the basics of the vector control lies in
the space vector theory and different reference frame transformations. Vector presentation
allows simplified calculations of the machine’s inner state which in turn enables feedback
to be use in control. In practice, vector control is realised with variable frequency drives.
In this section the theory behind the space vectors, different vector transformations, in-
duction machines, voltage source inverter (VSI) and DTC itself are studied.
It is known that the inductance changes when the magnetizing circuit gets closer to the
saturation. With the assumption of the constant magnetizing circuit saturation the induc-
tances are considered as constants and updated with known values in known operating
points. Magnetizing inductance changes also as a function of torque as the magnetomo-
tive force (MMF) calculation needs to be done along longer flux lines than at no load.
R = Rn (1 + α(T − Tn )) (2.1)
The skin effect creates a non-uniform current density in the machine winding which re-
sults in a change of the winding AC resistance (Juha Pyrhönen, 2008). However the
frequency’s effect on resistance and inductance can be neglected if absolute accuracy is
not required.
Problem with ignoring the iron losses of the machine is that it disallows evaluating the
efficiency of the machine. This simplification does not really affect the control of the
electrical machine. The assumption that the machine has only one pole pair also do not
have impact on the usability of the space vectors. The number pole pairs just needs to
be taken into account when working with machine’s electrical and mechanical angular
velocities and the torque equation.
By raising the a into the power of 0,1 and 2 you get three magnetic axes 120◦ apart from
each other. With the help of the phase operator a the general space vector transformation
of three-phase quantities xU,V,W (t) can be done with the following equation.
2
xU,V,W (t) = (a0 xU (t) + a1 xV (t) + a2 xW (t)) (2.3)
3
This equation applies whether working with voltages, currents or other three-phase quan-
tities. Consider a situation where there are three phase voltages uU (t), uV (t) and uW (t)
with amplitudes of 1 and frequency f of 50 Hz.
uU (t) = sin(2πf t)
2π
uV (t) = sin(2πf t − ) (2.4)
3
2π
uW (t) = sin(2πf t + )
3
Voltages uU,V,W (t) as a functions of time and their space vector counterparts at the moment
of observation can be seen in Fig. 2.1.
14 2 Theory
Figure 2.1: Three-phase voltages in time domain and space vector equivalent in the mo-
ment of observation. As the voltage vectors uU,V,W change in respect to time the black
vector sum rotates around the origin.
αβ0-transformation of the three-phase quantities xU,V,W (t) can be done with the following
equations.
2 1 1
xα (t) = xU (t) − xV (t) − xW (t) (2.5)
3 3 3
√ √
3 3
xβ (t) = xV (t) − xW (t) (2.6)
3 3
αβ0-transformation of voltages shown in Eq. (2.4) is shown in Fig. 2.2.
2.1 Space vector theory 15
Figure 2.2: Voltage vectors in stationary reference frame. The moment of observation is
same as with the three-phase space vectors.
Inverse Clarke transformation can be used to transform two-phase quantities from the
stationary reference frame back to the three-phase system. Equations are as follows.
Park’s transformation from the αβ-reference frame to dq-reference frame with generic
variables can be done with the following equations.
θ is the angle between the d-axis and α-axis at the time instant t.
Inverse park transformation can be used to transform two-phase quantities from the rotat-
ing reference frame back to the stationary two-phase reference frame.
n = (1 − s)ns (2.14)
where n is rotor speed, s is the slip and ns synchronous speed. Induction motor speed
goes hand in hand with the value of the slip. As the value of the slip increases the rotor
speed drops down. In general, the purpose of an electrical machine is to produce torque.
Typical curve for an electromagnetic torque as a function of a slip is shown in Fig. 2.3.
In the figure it can be seen that the torque generated by an induction machine depends on
the slip value. The value of the slip increases when more load is introduced to the motor.
If the load torque rises above the breakdown torque Tb motor stall is inevitable. The rated
point of an induction motor is usually achieved with quite small slip values.
Is Ir
Rs Lsσ L rσ Rr
Us ψs R Fe Lm ψr (1-s)R'r
s
Figure 2.4: Induction machine single-phase phasor T-equivalent circuit, where rotor com-
ponents are referred to the stator.
Equivalent circuit of an induction machine contains stator and rotor leakage inductances
Lsσ,rσ and phase resistances Rs,r , voltage source, magnetizing inductance Lm and iron loss
resistance RFe . Usually different equivalent circuit parameters are given by the motor’s
manufacturer. If this is not possible parameters can be extracted with a no-load test and
short-circuit test. These however, does not represent equivalent circuit parameters accu-
rately in the rated point.
i sα i rα
Rs L sσ L rσ ωr ψsβ Rr
i sβ i rβ
Rs L sσ L rσ ωr ψsα Rr
Figure 2.5: Induction machine space vector T-equivalent circuits in stator reference frame.
Iron loss resistance RFe is neglected.
Stator and rotor inductances can be represented with the magnetizing inductance Lm and
stator and rotor leakage inductances.
Ls = Lsσ + Lm (2.15)
Lr = Lrσ + Lm (2.16)
Stator side voltage equations based on the equivalent circuits in Fig. 2.5 are following.
d
usα = Rs isα + ψsα (2.17)
dt
d
usβ = Rs isβ + ψsβ (2.18)
dt
Stator side flux linkage equations are following.
In a similar fashion the rotor side voltage and rotor flux equations can be derived.
d
urα = Rr irα + ψrα − ωr ψrβ (2.21)
dt
d
urβ = Rr irβ + ψrβ + ωr ψrα (2.22)
dt
ψrα = irα Lr + isα Lm (2.23)
ψrβ = irβ Lr + isβ Lm (2.24)
where A, B, C and D are parameters containing the stator and rotor resistances Rs,r and
stator, rotor and magnetizing inductances Ls,r,m . Parameters E, F and G are used in
solving the stator and rotor current equations isα,sβ and irα,rβ .
Rs Lr Rr Ls Rs Lm
A= B= C= (2.25)
Ls Lr − L2m Ls Lr − L2m Ls Lr − L2m
Rr Lm Lr Lm
D= E= F = (2.26)
Ls Lr − L2m Ls Lr − L2m Ls Lr − L2m
Ls
G= (2.27)
Ls Lr − L2m
20 2 Theory
Solving the state space model matrices gives the following equations for the magnetic
flux linkage components.
Z
ψsα = (uα − Aψsα + Cψrα )dt (2.28)
Z
ψsβ = (uβ − Aψsβ + Cψrβ )dt (2.29)
Z
ψrα = (−Bψrα + Dψsα − ωr ψrβ )dt (2.30)
Z
ψrβ = (−Bψrβ + Dψsβ + ωr ψrα )dt (2.31)
Stator and rotor currents can be solved from the following equations.
3
Te = p(ψsα isβ − ψsβ isα ) (2.36)
2
Rotor electrical angular velocity is required in the rotor flux linkage equations (2.30) and
(2.31). It can be solved with a mechanical model which is following.
d
Te = J Ωm + Tload (2.37)
dt
where Te is the electromagnetic torque, J is rotor inertia, Ωm mechanical angular velocity
and Tload is the load torque. Solving the mechanical angular velocity leads to following
equation.
Te − Tload
Z
Ωm = dt (2.38)
J
Rotor electrical angular velocity can be solved with the mechanical angular velocity by
multiplying mechanical velocity with the number of motor pole pairs.
ωr = pΩm (2.39)
where ωr is rotor electrical angular velocity and p is the number of motor pole pairs.
2.3 Variable Frequency Drive (VFD) 21
When running an induction motor over its rated speed, field weakening must be used. The
torque of an induction motor is a function of stator currents and flux linkages as shown
in Eq. (2.36). Without adjusting the stator flux linkage, an induction motor output power
could be quite easily exceeded, which could lead to problems with the thermal limits of
the machine. Output power or shaft power of an electrical machine can be expressed as a
function of rotor angular velocity and electromagnetic torque.
Pout = Te Ωm (2.40)
In other words when increasing the rotor angular velocity Ωm over the rated value the
available torque should be decreased.
It is quite simple to adjust the value of the stator flux linkage as it is one of the controlled
variables with the DTC. Basic concept of the field weakening is that stator flux linkage
is kept constant below the rated frequency and when the field weakening region has been
reached the stator flux linkage value is updated either dynamically or with predetermined
values.
In reality, with a frequency converter with diode-bridge rectifier the inverter modulator
will not be capable of producing the same voltage that is supplied to the diode bridge
unless overmodulation is used. In many converters the maximum output is limited to
about 90 % of the input voltage and therefore the motor goes to field weakening in practice
at 45 Hz in case of a 50 Hz motor. Stator flux linkage can be expressed as a function of
input voltage and its frequency. √
2Up
ψs = (2.41)
2πf
where the Up is root mean square (RMS) phase voltage.
There are many different converter topologies but two quite common ones are voltage
source inverters (VSI) and current source inverters (CSI). Most notable difference be-
tween the two is that a VSI uses capacitor in the DC link while CSI uses an inductor.
DTC modulates inverter a bit differently. Voltage is not modulated by the means of sine-
triangle modulation or space vector modulation, because with DTC switch positions are
22 2 Theory
determined solely by the outputs of hysteresis controllers and stator flux linkage sector
selector. The pulse patterns in DTC still quite much resemble space vector modulated
PWM.
Voltage source inverter circuit is a combination of three different sections. The rectifier
circuit, DC link and inverter circuit. Rectifier circuit is usually made with six diodes to
create a slightly varying DC voltage for the DC link. DC link capacitor is used to fil-
ter possible noises in the input grid voltage waveform and to smooth out the rectified
DC voltage. Inverter circuit uses six semiconductor switches to create output AC volt-
age. Output frequency can be controlled by switching the switches in a suitable manner.
Generic schematic of a VSI is shown in Fig. 2.6.
Grid input
Load
Ideal semiconductor switch would have instantaneous on/off switching, large current con-
ducting ability, zero current when turned off, no voltage drop when turned on and no
power losses. (Ned Mohan, 1995) However, these characteristics are not possible to
achieve in real-life applications.
There are two kinds of losses with the IGBT switches: on-state losses and the switching
losses. On-state losses are created by small voltage drop Uon across the switch when it
is conducting current. Switching losses are generated during the switches turn-on and
turn-off phases as the voltage over the switch does not drop down to Uon and the current
Io through the switch does not rise up instantaneously.
2.4 Direct Torque Control 23
Basic direct torque control concept was originally proposed by Depenbrock in 1985 (De-
penbrock, 1985). Also a year later Takahashi and Noguchi in 1986 published their paper
about the principles of DTC (Isao Takahashi, 1986). The basic concept behind the DTC is
that with the stator current and voltage measurements electrical machine’s stator flux link-
age and torque can be estimated. Machine flux linkage and torque control is performed
with hysteresis controllers and an optimal switching table. As the stator side variables can
be easily solved in the stator reference frame, there is no need of rotor position measure-
ments.
With the DTC electrical machine’s stator flux linkage and torque are estimated atleast
once in every control cycle. Common control cycle or sampling period of a DTC system
is 25 µs. (Tiitinen, 1996) The stator flux linkage ψs can be solved with the ’current model’
or the ’voltage model’. The current model is the following.
ψs = Ls i s + Lm i r (2.42)
where is is stator current space vector, ir rotor current space vector, Ls stator winding total
inductance and Lm magnetizing inductance. A problem with the current model is that
acceptable rotor current approximation can be difficult. Also the accuracy of the current
model is highly depended on inductances which have been assumed to be constants when
working with space vectors. (Kaukonen, 1999) Even though the current model has its
problems it can be effectively used in the stator flux linkage correction. The stator flux
linkage estimate is mainly solved with the voltage model.
Z
ψs = (us − Rs is )dt (2.43)
where us is the stator voltage space vector, Rs is the stator winding resistance and is is the
stator current space vector. Advantage of the voltage model is that it only needs the stator
variables, which can be quite straightforwardly measured from the machine. Though in
real-life problems can arise with the voltage drop −Rs is as the stator resistance Rs is a
function of temperature and frequency.
The electromagnetic torque of the induction machine is the cross product of the magnetic
flux linkage ψs and the stator current is space vectors. Equation for the electromagnetic
torque is the following.
3
Te = pψs × is (2.44)
2
where p is the number of the pole pairs and Te is the electromagnetic torque. In Eq. (2.44)
Te is a vector. However, scalar values of the torque are used in control and positive torque
is assumed to rotate the machine in mathematically positive direction, i.e. counterclock-
wise, and negative torque in negative one, i.e. clockwise.
24 2 Theory
The aim is to keep the value of the stator flux linkage estimate between the hysteresis
limits. The stator flux linkage control scheme is shown in Fig. 2.7.
Figure 2.7: Two-level hysteresis controller for the stator flux linkage
If the error ψerr between the stator flux linkage absolute value reference and its estimated
value is higher than the allowed limit ∆ψ the hysteresis controller outputs 1 and if the
ψerr is smaller than the allowed limit −∆ψ the controller outputs 0. Absolute value of the
stator flux linkage is increased when φ = 1 and decreased when φ = 0.
Torque is controlled with a three-level hysteresis controller. The torque error, or the dif-
ference Terr is calculated with the reference torque Te,ref and estimated torque Te,est .
Based on the estimated torque difference Terr motor’s electromagnetic torque is either
increased, decreased or kept the same. Controller outputs either τ = −1, 0 or 1. τ = 1
is used to increase torque to the positive rotation direction and τ = −1 to the negative
2.4 Direct Torque Control 25
If the controller output is at 0 and the Terr rises above the positive torque limit ∆T the
controller output switches to 1 and when the Terr has been decreased below the zero the
controller outputs zero again. The same principle applies vice versa. If Terr reaches the
lower torque limit −∆T the controller output switches to −1 and stays there until the
torque difference rises back above the zero.
u3 u2
β
u4 u
u0,7 1
u5 u6
κ(3) ω κ(2)
ψs,ref+Δψ
ψs,est
ψ Δψ
s,ref
κ(4) κ (1)
α
κ(5) κ (6)
Figure 2.9: Flux linkage circle is divided into six equal sectors. Stator flux linkage hys-
teresis limits are shown in the figure. In this case the stator flux linkage vector has reached
the upper hysteresis limit which means that the absolute value of stator flux linkage needs
to be decreased. The correct voltage vectors that could decrease the stator flux linkage are
u4 , u6 or zero vectors u0,7 . Selection between these four voltage vectors is done based
on the output of the torque hysteresis controller.
Considering the case in Fig. 2.9 the stator flux linkage vector has reached the upper limit
and lets decide that the torque needs to be increased into the direction of rotation ω. In
2.4 Direct Torque Control 27
this case the stator flux linkage hysteresis controller output is φ = 0, torque hysteresis
controller output is τ = 1 and sector table output is κ = 2. This means that voltage vector
u4 is chosen which corresponds with switch position S(0,1,1).
On high sampling times the stator flux linkage and torque has a longer time to travel based
on the voltage vector used. Combining high sampling time with too tight hysteresis bands
would lead to overshoot of the controlled variable because the inverter switch positions
could not be updated in time. With a lower sampling time voltage vectors can be changed
more often which in turn allows tighter hysteresis bands. However, the lower sampling
time can come with a disadvantage. If the lower sampling time is accompanied by tighter
hysteresis bands the switching losses increase as more switching operations takes place.
These losses can lead to problems regarding the thermal limits of the inverter.
Figure 2.10: Real motor stator flux linkage vector tip path drifts away from an origin
centered path when some error is introduced in the voltage measurement.
Adaptive motor model needs the stator winding resistance Rs value as it is used in the
voltage model equation. Therefore, during the commissioning stator resistance must be
identified since stator resistances vary between the different machines. To achieve a more
accurate stator flux linkage estimate some thermodynamical modeling should be applied
in the motor model since the resistance is a function of a temperature. Also the inductance
values are updated in the adaptive motor model to take the magnetic circuit saturation into
account. Usually adaptive motor model is also used in the speed estimation and current
model stator flux linkage estimation. (Tiitinen, 1996)
2.5 Per-unit system 29
Starting currents of an induction machine can be quite high without any current optimiza-
tion or limiting methods. During the start the DTC inherently supplies a DC voltage for
a short amount of time to the machine so the stator flux linkage can be established. After
this, hysteresis controllers start to output necessary control signals to achieve the desired
flux linkage and torque. In the startup process it means that rated magnetizing current is
needed to magnetize the rotor before the stator flux linkage vector starts rotating. As a
standing motor has no back emf the voltage pulses easily lead to very high starting cur-
rents. A current limit must be established.
Chapuis and Roye present in their conference paper a simple way to limit the startup
currents of a DTC drive (Chapuis and Roye, 1998). Their method of current limitation
involves two parts. First part is that when the absolute value of the stator current vector
is reaches a predetermined upper limit imax zero voltage vector u0,7 is applied and the
default DTC optimal switching logic is overriden. Second part is that during the startup
the torque reference is delayed until the desired stator flux linkage is fully reached. This
allows to properly magnetize the machine before any torque is produced. Torque delaying
can be achieved by applying any non-zero voltage vector u1,6 until the stator flux linkage
reaches the predetermined limit.
The current base value is the peak value of rated RMS current.
√
Ibase = 2In (2.50)
The impedance base value can be calculated by dividing the base voltage value with the
base current value.
Ubase
Zbase = (2.51)
Ibase
30 2 Theory
The inductance base value can be calculated with the base values of the impedance and
electrical angular velocity.
Zbase
Lbase = (2.52)
ωbase
The stator flux linkage base value is calculated with the base values of voltage and elec-
trical angular velocity.
Ubase
ψbase = (2.53)
ωbase
The apparent power base value is calculated with the base values of voltage and current.
Base value of the torque is calculated with the base values of apparent power and electrical
angular velocity.
3 Sbase
Tbase = p( ) (2.55)
2 ωbase
It must be noted that the base value of the torque is not equal to the rated torque. The
base value of motor inertia is calculated with the number of pole pairs and by dividing the
torque base value with the electrical angular velocity squared.
Tbase
Jbase = p 2
(2.56)
ωbase
When converting real valued quantity to per-units the real value is simply divided with
corresponding base value. As an example consider a situation where motor’s rated RMS
current is In = 100 A and some current measurement shows i = 80 A. In the per-unit
conversion first the base value is calculated with Eq. (2.50) which would mean that the
Ibase is about 141 A. After that the current measurement i is simply divided with the base
value and the current measurement in per-units would be about 0.57 pu.
31
3 Simulink model
The Simulink DTC-model system created is made of three main parts: the DTC model,
inverter model and induction motor model in stator reference frame. Each of these are
made of necessary subsystems to further simplify the overall models. The system also
includes step function sources for the speed reference and load torque.
Basically the reference signals are supplied to the DTC model which starts to output
appropriate switch states for the inverter. Then the inverter supplies voltage to the induc-
tion motor model. In real life, voltage and current measurements are the only necessary
measurement feedbacks from the motor to the DTC core as the other variables could be
attained with the adaptive motor model. However, for the simulation purposes the ’real’
motor and adaptive motor model are the same now. This leads to that the rotor currents
and speed are measured too from the motor model. In practice, rotor currents can not be
measured and thus they have to be always estimated if needed.
Some simplifications were done with the model. Stator flux vector drifting is not really a
problem with this Simulink model since the real motor and the adaptive motor model are
the same. The motor ’real’ stator flux linkage and stator flux linkage estimates are essen-
tially calculated with the same parameters in motor model and the DTC model. Conse-
quently, the stator flux linkage correction measures are not necessary. Some error could
be introduced to the current and voltage measurements with simple multiplications. Also
the motor inductances were constant for the whole operating range, so magnetic circuit
saturations were not considered with the simulation model at all. Furthermore, there is no
thermodynamical modeling in the Simulink model, so the resistances also stay constants.
In the Simulink model some features could be toggled on or off through the initialization
m-file. Toggleable features are: stator current limiter, field weakening, per-unit mode,
current model correction, average switching frequency control and speed controller feed-
forward loop. Implementation of these features and different Simulink subsystems are
more extensively explained with figures in the appendices.
Implemented per-unit mode closely resembles the implementation that Aarniovuori pre-
sented in his vector control paper (Lassi Aarniovuori, 2018). In the per-unit mode the base
values Eqs. (2.48)-(2.56) are initialized in the m-file. These base values are then used to
convert different motor and control variables to the per-unit system. With the similar gain
help variables as Aarniovuori presented in his paper switching between the real values
and per-units is quite straightforward.
Block diagram that gives a broad overview of the Simulink model is shown in Fig. 3.1.
32 3 Simulink model
nref
Tload
Speed controller Stator flux linkage reference
PI
DTC model
Tref ψs,ref
Estimators
Δψ, ΔT
τ, ϕ, κ
Optimal switching tables and logic
ϕ τ κ= 1 κ= 2 κ= 3 κ= 4 κ= 5 κ= 6 Switching frequency controller
τ = 1 S (1,1,0) S (0,1,0) S (0,1,1) S (0,0,1) S (1,0,1) S (1,0,0) PI
ϕ = 1 τ = 0 S (0,0,0) S (1,1,1) S (0,0,0) S (1,1,1) S (0,0,0) S (1,1,1)
τ = -1 S (1,0,1) S (1,0,0) S (1,1,0) S (0,1,0) S (0,1,1) S (0,0,1) i sα,sβ f sw,average
τ = 1 S (0,1,0) S (0,1,1) S (0,0,1) S (1,0,1) S (1,0,0) S (1,1,0)
ϕ = 0 τ = 0 S (0,0,0) S (1,1,1) S (0,0,0) S (1,1,1) S (0,0,0) S (1,1,1) Average switching frequency
τ = -1 S (0,0,1) S (1,0,1) S (1,0,0) S (1,1,0) S (0,1,0) S (0,1,1)
S U,V,W
Stator current limiter
S U,V,W
Inverter
UU,V,W
i sα,sβ , i rα,rβ
Figure 3.1: Block diagram of the created Simulink DTC model. Note that all subsystems
are not shown in this block diagram.
33
Stator flux linkage reference block implements Eq. (2.41). Below 45 Hz speed reference
the stator flux linkage reference is kept constant and above 45 Hz speed the motor reaches
the field weakening region and the block input nref is used to create new output stator flux
linkage reference. Further explanation of the block is presented in Appendix D.1, fig. D.1.
Estimators block includes the current model Eq. (2.42), voltage model Eq. (2.43) and the
torque Eq. (2.36) which are used to create the stator flux linkage estimates and torque
estimate, respectively. α- and β-components are estimated separately. Essential block in-
puts are voltage measurements and stator and rotor current measurements. Block outputs
stator flux linkage estimate, stator flux linkage angle and torque estimate. The absolute
value of the stator flux linkage ψs can be calculated from α- and β-components with the
following equation. q
ψs = ψsα 2 + ψsβ 2 (3.1)
Angle of the stator flux linkage vector is calculated with variation of tan function called
atan2 that can give angle between [−π ≤ θ < π].
ψ
arctan( ψsβsα
) if ψsα > 0
ψsβ
arctan( ψsα ) + π if ψsα < 0 and ψsβ ≥ 0
arctan( ψsβ ) − π if ψ < 0 and ψ < 0
ψsα sα sβ
atan2(ψsβ , ψsα ) = π (3.2)
2
if ψsα = 0 and ψsβ > 0
π
2
if ψsα = 0 and ψsβ < 0
undefined if ψsα = 0 and ψsβ = 0
Since the atan2 gives angles from [−π ≤ θ < π] sector limits given in Table 2.1 are
modified to accompany this change. The Simulink implementation is shown in Appendix
C.2, Fig. C.2.
Hysteresis controllers and sector logic block contains the control logic of the DTC. In the
Simulink these subsystems are triggered every 25 µs. Stator flux linkage estimate and
reference, torque reference and estimate and stator flux linkage angle estimate are inputs
of this block. Based on the inputs the controller and sector logic outputs τ, φ and κ are
determined. More detailed information about the Simulink implementations can be found
in Appendices C.3, C.4 and C.5, Figs. C.3 - C.6.
Optimal switching tables and logic contains optimal switching tables for each of the in-
verter switches and a subsystem that contains combinational logic that chooses right table
row based on the hysteresis controller outputs. In Simulink, these blocks are triggered ev-
ery 25 µs. Inputs are τ, φ and κ and block outputs right switch positions to create optimal
voltage vectors. The Simulink implementation can be found in Appendix C.6, Fig C.7.
Stator current limiter block implements current limitation for the DTC. Absolute value
of the stator current measurement is calculated in the stator reference frame with the
34 3 Simulink model
following equation. q
is = isα 2 + isβ 2 (3.3)
Absolute value of the stator current is compared to the maximum current given in the m-
file. If the maximum value is exceeded normal DTC operation is ignored. More detailed
explanation can be found in Appendix C.7 and figure of the Simulink implementation in
Fig. C.8.
Induction motor model in the stator reference frame block contains the motor model and
motor’s mechanical model. Inputs of this block are phase voltages from the inverter. Out-
puts are speed, stator and rotor currents. Equations (2.25) - (2.36) are realized in the motor
model and Eq. (2.38) in the motor’s mechanical model. The Simulink implementation is
presented in Appendix B, Fig. B.1.
Average switching frequency and switching frequency controller blocks are used to con-
trol the inverter switching frequency, because without any control methods the switch-
ing frequency can rise too high. Average switching frequency block takes switch states
SU,V,W as inputs and outputs the value of the average switching frequency every 5 ms. The
Simulink implementation is shown in Appendix C.8, Fig. C.9.
Switching frequency controller block adjusts the hysteresis limits with a PI-controller and
else-if ladder. In short, if switching frequency is higher than desired the hysteresis band
widths are increased and if switching frequency is lower than desired hysteresis band
widths are decreased. More detailed explanation can be found in Appendix C.8 and the
Simulink implementation in Fig. C.10.
35
4 Simulations
Simulations were carried out with a fixed step solver with a time step of 5 µs. One phase
current IU , absolute value of the stator flux linkage ψs,est , angle of stator flux linkage
vector θ, estimated electromagnetic torque Te,est , rotor speed n and switch states SU,V,W
were logged and used to calculate current harmonic content, see how the stator flux link-
age vector behaves, estimate steady-state torque ripple and calculate average switching
frequency, respectively. A Matlab scripts that allowed to run multiple simulations with
different parameters automatically was created. This allowed to do a quite comprehensive
simulations how change of the parameters affected the DTC.
The current limiter and the speed control feedforward loop were disabled during the hys-
teresis band width, sampling period, different speed and load conditions and inductance
simulations. Although disabling the current limiter is quite unrealistic as the real invert-
ers can not output unlimited amount of current, the simulations without the current limiter
and feedforward loop had less changing variables and the effect of the studied parameter
could be more easily identified based on the simulation data.
Simulated machine was a 75 kW 4-pole 400 V induction motor with the rated torque
of 480 Nm. Its rated speed is 1486 rpm and the rated current 133 A. Equivalent circuit
parameters are shown in table 4.1.
Rs Rr Lsσ Lrσ Lm J
0.024 Ω 0.018 Ω 0.64 mH 0.40 mH 14 mH 1.4 kgm2
Figure 4.1: Time frame used to calculate the switching frequency is the whole simulation
time of 3 s. Increasing the ∆ψ and ∆T lowers the average switching frequency.
Basically overall average switching frequency changes in respect to the hysteresis band
widths. A wider hysteresis band gives the stator flux linkage and the torque more time
to move and reach the hysteresis limits. Especially the wider hysteresis bands are more
favourable when considering the losses of the inverter as its switching losses decrease with
lower switching frequencies. Also it must noted that the value of the average switching
frequency is highly depended on the calculation time frame ∆t. This can be quite well
seen in the Fig. 4.2, where the switching frequency is calculated every ∆t = 0.005 s.
4.1 Effects of hysteresis band widths 37
nref
Average switching frequency f sw,average [kHz]
n, T e
4
3 Tn
2
Average switching frequency
1 Speed
Torque
0 0
0 0.5 1 1.5 2 2.5 3
t [s]
Figure 4.2: Hysteresis controller bands are ∆ψ = 1% and ∆T = 1.5%. All of the hysteresis
band simulations were conducted in a similar way. Startup is done without a load and
rated load torque activates at 1.5 s. Speed reference nref was 1200 rpm.
During the startup speed controller and stator flux linkage reference system outputs ref-
erence signals which the DTC controllers starts to respond. The torque estimate rises
quickly to the reference value compared to the the stator flux linkage and this leads to
lower switching frequencies at the start. For a short duration during the startup the volt-
age vectors are changing solely based on the output of the torque hysteresis controller and
sector changes. This behaviour is further shown in Fig. 4.3
When the torque reference settles to somewhat steady acceleration value and the stator
flux linkage estimate gets within its hysteresis band more switching events starts to occur.
Average switching frequency drops down when the steady-state without load has been
reached. Partly the reason for this is that the torque reference stops changing as the
desired speed has been achieved and the rotor stops accelerating. When the load torque is
introduced the motor speed drops down and speed controller starts to output higher torque
reference. However, the speed PI-controller coefficients are rather gentle, so the controller
does not output high enough torque reference that the rotor could accelerate back to or
38 4 Simulations
stay at the desired speed and therefore there is a constant error between the rotor speed
and desired speed when there is a load. When the load torque is introduced the average
switching frequency grows, because the torque hysteresis controller has to ask for more
torque more often as the torque estimate drops down more aggressively.
Figure 4.3: Hysteresis controller bands are ∆ψ = 1% and ∆T = 1.5%. During the startup
the stator flux linkage control bit φ stays at 1 until the estimate reaches the hysteresis band.
The voltage vectors during this time is chosen solely on the torque hysteresis controller
output and sector logic.
4.1 Effects of hysteresis band widths 39
Figure 4.4: Current THD increases as the ∆ψ hysteresis band width increases since lower
switching frequency creates more harmonics in the current.
Lower switching frequency due to growing hysteresis bands ∆ψ and ∆T deteriorates the
current waveform and thus the current THD increases. Increase in the harmonic content
of the phase current increases the motor losses, so from the motors point of view larger
hysteresis band widths are not so favourable as from the inverters point of view. THD
power per harmonic for the first 10 harmonics and single sided FFT spectra are shown in
Fig. 4.5.
40 4 Simulations
Figure 4.5: Phase current single sided FFT spectra and THD with two different stator flux
linkage hysteresis band widths. ∆T is a constant 1.5% Tn .
From the FFT spectra it can be seen that more harmonic frequencies are present with
higher ∆ψ. First two harmonic spikes seen in the FFT with ∆ψ = 4.5 % are 5th and 7th
harmonic frequencies. These harmonics can be clearly seen in THD bar graph. FFTs
were calculated when the load torque was active. In the FFT spectra current amplitude at
the fundamental frequency is about 177 A, which corresponds with RMS current of 125
A.
4.1 Effects of hysteresis band widths 41
Figure 4.6: Only 10 ms time frame is plotted in the αβ-plane figures. As the ∆ψ increases
the ψs,est has more room to move, which leads to choppier waveform. Time domain figures
contain whole simulation data.
The stator flux linkage hysteresis controller tries to keep the absolute value of the stator
flux linkage between the values of ψs,ref + ∆ψ and ψs,ref − ∆ψ which are represented in
the figures with black circles and black parallel lines. Essentially, the increase in the
stator flux linkage hysteresis band width leads to choppier stator flux linkage vector tip
waveform in αβ-plane. This is because the stator flux linkage estimate takes more time to
42 4 Simulations
reach the controller hysteresis limits and the same voltage vector can be held for a longer
time. From the time domain figures it can be seen that the absolute value of the stator
flux linkage estimate ψs,est stays quite well between the hysteresis limits regardless of the
hysteresis band width.
Both hysteresis band widths has an effect on the torque ripple. Torque ripple is a inherent
property of the DTC and its behaviour with different hysteresis bands seems to be quite
coincidental with the chosen hysteresis band widths.
4.1 Effects of hysteresis band widths 43
More deviation in the torque ripple with different hysteresis bands widths can be observed
when the load torque is active. Just like without the load the torque ripple with smaller
torque hysteresis bands shows the highest ripples.
With some of the hysteresis band width combinations horrendous torque ripples were
observed. Reason for this lies in the stator flux linkage hysteresis control and sector logic.
Largest torque ripples happened when the hysteresis limits and the speed reference were
chosen in a way that the stator flux linkage vector changed sector while its length was
decreasing φ = 0 and simultaneously torque had to be increased τ = 1. Even though, the
next chosen voltage vector was the right one according to the optimal switching table this
next voltage vector could not effectively increase the torque until the stator flux linkage
bit φ changed to 1. This problematic behaviour can be seen in the Fig. 4.9.
44 4 Simulations
Figure 4.9: Hysteresis limits used were ∆ψ = 3.5 % and ∆T = 3 %. Torque ripple in this
figure is about 70 Nm. Dashed line parallel to the y-axis represents the time instant that
the stator flux linkage changes sector κ from 3 to 4.
As the stator flux linkage sector changes its sector a new voltage vector is selected. The
new voltage vector starts to decrease the length of the stator flux linkage more aggres-
sively. Meanwhile, the torque hysteresis controller output stays at τ = 1 this new voltage
vector could not increase the torque until the stator flux linkage vector length starts to
increase with φ = 1.
4.2 Effects of DTC sampling period 45
Figure 4.10: Average switching frequency as a functions of ∆T and ∆ψ with the DTC
sampling periods of 25 µs and 50 µs. Time frame ∆t used in the switching frequency
calculation was 3 s. With the 25µs sampling period the average switching frequencies are
the same as in the Fig. 4.1.
46 4 Simulations
Figure 4.11: Average switching frequency as a functions of ∆T and ∆ψ with the DTC
sampling periods of 75 µs and 100 µs. Time frame ∆t used in the switching frequency
calculation was 3 s.
Overall the DTC sampling period had a big impact on the average switching frequency.
When the sampling period got longer the estimates and hysteresis controller states were
updated more seldomly and thus the average switching frequency got lower. On the 100
µs sampling period the switching frequency plummeted even more and the differences
between the different torque hysteresis limits vanished. Torque control was way too slow
and the torque estimate constantly overshot the hysteresis limit regardless of the limit.
Effect of the sampling period to the speed and torque can be seen in Fig. 4.12.
4.2 Effects of DTC sampling period 47
Sampling period = 25 μs
800
600 1000
T e [Nm]
n [rpm]
400
500
200
0 0
0 0.5 1 1.5 2 2.5 3
t [s]
Sampling period = 100 μs
800
600 1000
T e [Nm]
n [rpm]
400
500
200
0 0
0 0.5 1 1.5 2 2.5 3
t [s]
Figure 4.12: Torque and speed data of two simulations with 25 µs and 100 µs sampling
periods. Hysteresis limits were ∆T = 1.5 % and ∆ψ = 1 %.
Even with the usual sampling period of 25 µs there were some torque ripple as the torque
hysteresis controller had some issues to keep the torque estimate within the hysteresis
limits. Raising the DTC sampling period made the torque ripple issue much worse. The
optimal voltage vectors were updated too seldomly and thus the torque constantly over-
shot the hysteresis limits. In addition, with the 100 µs sampling period the system had
problems in achieving acceptable speeds. When the load was introduced the motor speed
started to drop down and it gradually descended to a value of 880 rpm.
48 4 Simulations
8
Tload=120.5 Nm
Tload=241 Nm
7
Tload=361.5 Nm
Tload=482 Nm
6
f sw,average [kHz]
2
375 750 1125 1500 1875 2250 2625 3000
Rotor speed reference n ref [rpm]
It must be noted that in some simulations with the field weakening and higher load torques
4.3 Effects of different motor speed and load conditions 49
the motor could not produce enough torque to maintain stable operation. This was due to
the torque reference output in the Simulink model was saturated to ensure that the motors
output power stays in somewhat realistic levels.
At lower speed references the average switching frequency was quite high. Without any
switching frequency control the inverter could encounter issues in keeping up with the
DTC system. Effect of the field weakening on the stator flux linkage estimate can be seen
in Fig. 4.14.
Figure 4.14: Stator flux linkage estimate ψs,est in a αβ-plane and as a function of time
with the load torque Tload = 241 Nm and the speed reference nref = 2250 rpm.
As the rotor speed increased above the 45 Hz speed the field weakening activated and
the value of the stator flux linkage reference started to decrease. The stator flux linkage
estimate followed the decreasing reference until the desired speed reference had been
reached.
50 4 Simulations
Based on the simulations the phase current RMS characteristics in startup, without a load
and with the rated load torque were analyzed. Also the effects of inductances on the motor
startup times and average switching frequencies were examined.
In the inductance simulations the current limiter and the speed reference ramp were dis-
abled. As the speed reference was given as a step signal a higher torque references could
be reached in the startup. Speed and torque curves with nominal inductances can be seen
in Fig. 4.15.
800
1200
700
600 1000
500 800
T e [Nm]
n [rpm]
400
600
300
400
200
200
100
0 0
0 0.5 1 1.5 2
t [s]
Figure 4.15: All of the inductance simulations were performed in a similar way. First the
motor was started without load and at 1.5 s load torque was introduced.
4.4 Effects of the different inductances 51
750 Lm=80 %
Lm=90 %
Lm=100 %
700 Lm=110 %
Lm=120 %
I U [A]
650
600
550
80
90
100
110 110 120
120 90 100
L rσ in % 80
L sσ in %
Figure 4.16: RMS currents during the startup without current or torque limitations.
Calculated RMS current values are in close proximity to each other with different values
of magnetizing inductance. This shows that the startup currents are mostly affected by the
stator and rotor leakage inductances. Increase in both leakage inductances lead to decrease
in the startup stator currents. The figure also shows that the current drawn during the start
can be 4-5 times the rated current if current limitation methods are not used, which is why
the stator currents must be regulated in practice. In steady-states situation changes and it
can be seen from the simulation results shown in Fig. 4.17.
52 4 Simulations
70 Lm=80 %
65 Lm=90 %
Lm=100 %
60
Lm=110 %
I U [A]
55 Lm=120 %
50
45
40
80
90
100
110
120 100 110 120
80 90
L rσ in %
L sσ in %
140 Lm=80 %
Lm=90 %
135 Lm=100 %
Lm=110 %
I U [A]
130 Lm=120 %
125
120
80
90
100
110
120 100 110 120
80 90
L rσ in %
L sσ in %
Figure 4.17: In a steady-state the leakage inductances do not have a large impact on the
current drawn. Notable differences can be observed with different magnetizing inductance
values.
4.4 Effects of the different inductances 53
L m =80 %
1
L m =90 %
0.9 L m =100 %
Time t [s]
0.8 L m =110 %
0.7 L m =120 %
0.6
80
90
100 110 120
110 90 100
120 80
Lrσ in % Lsσ in %
(a) Startup times.
1 L m =80 %
L m =90 %
0.8 L m =100 %
Time t [s]
0.6 L m =110 %
L m =120 %
0.4
0.2
80
90
100 110 120
110 90 100
120 80
Lrσ in % Lsσ in %
(b) Torque rise times.
Figure 4.18: Motor startup times and torque rise times as a functions of inductances.
With lower leakage inductances motor startup and torque rise takes less time as higher
amount of the created flux participates in torque production. Varying the magnetizing
inductance does not show any significant difference in the motor startup and torque rise
times.
54 4 Simulations
Lm=80 %
3
Lm=90 %
Lm=100 %
2.5
Lm=110 %
Lm=120 %
f sw,average [kHz]
1.5
0.5
0
80
90
100
110 120
110 100
120 80 90
L rσ in %
L sσ in %
Different magnetizing inductances had barely no effect to the average switching fre-
quency. Notable differences comes from the leakage inductances as the switching fre-
quency diminished with higher leakage inductances. Higher switching frequencies with
lower leakage inductances show that with lower leakage inductance values the stator flux
linkage and the torque responds more quickly to the applied voltage vectors.
Reason that the switching frequencies differs so much from the switching frequencies in
the hysteresis band and different speed and load simulations is that there is no speed ramp
for the speed controller. This leads to high torque reference at the startup and the produced
torque does not rise up to the reference instantly from the standstill. Consequently, the
torque hysteresis controller output does not change as often.
4.5 Current limiting 55
600 1000
Te [Nm]
n [rpm]
400
500
200
Torque
Speed
0 0
0 0.5 1 1.5 2
t [s]
(b) Speed and torque with current limiter off.
Figure 4.20: RMS currents and speed and torque curves where the current limiter was
disabled.
In the inductance simulations high startup currents were observed. This was because
the speed reference was a step signal and therefore the torque reference at the startup
was much higher. In this simulation the speed reference was created with a ramp and
consequently PI-controller torque reference output was more restrained. However, phase
V and W startup current peaks still reached almost 800 A which is about four times the
peak amplitude of the rated current. Simulation results with current limiter on are shown
in Fig. 4.21.
56 4 Simulations
600 1000
Te [Nm]
n [rpm]
400
500
200
Torque
Speed
0 0
0 0.5 1 1.5 2
t [s]
(b) Speed and torque with current limiter on.
Figure 4.21: RMS currents and speed and torque curves where the current limiter was
enabled.
With the stator current limiter phase U, V and W startup currents were much lower. Phase
U reached highest amplitude peak which was only a bit over 200 A during the torque
delay. However, this stator current limiter implementation came with a downside of a
longer startup time and therefore a relatively high DC magnetizing currents had to be
supplied for a longer time.
Figure 4.22: Speed, produced torque and phase U current when the speed controller feed-
forward loop was active.
From the figure it can be seen that when the the speed controller feedforwad loop was
enabled the speed did not drop down when the load torque activated. Additionally, the
torque responded really fast to the aggressive torque reference as the torque rise time is
just a few milliseconds. Phase U current rose cleanly and swiftly to respond to a new
torque demand.
58 5 Summary
5 Summary
In this thesis theory of the induction motor, space vectors, inverters and the DTC were
reviewed in chapter two to an extent that was necessary for the creation of Simulink mod-
els. In chapter three a broad overview of the Simulink model was given and more detailed
explanations were gathered to the appendices. With the DTC Simulink model multiple
simulations were carried out to show how different parameters affected the control sys-
tem. Simulations and simulation results were shown in chapter four.
The aim of this thesis was to create a DTC model in the Simulink by utilizing only the
basic Simulink blocks. The motor model was done based on the induction motor state
space model in the stator reference frame, which was supplied with a simplified inverter.
Inverter modulation was done with the DTC subsystem. The DTC subsystem contains
essential parts of the DTC: the two-level hysteresis controller for the stator flux linkage,
three-level hysteresis controller for the torque, stator flux linkage estimator, torque esti-
mator and the optimal switching logic.
On top of the DTC essentials a speed PI-controller, stator flux linkage reference subsys-
tem, average switching frequency controller and stator current limiter were implemented.
The speed PI-controller was used to give a torque reference for the torque hysteresis con-
troller. The stator flux linkage reference subsystem gives a stator flux linkage reference
for the stator flux linkage hysteresis controller. With the stator flux linkage reference sub-
system it was possible to drive the motor in the field weakening region. Average switching
frequency controller was used to adjust the stator flux linkage and torque hysteresis con-
troller limits to achieve the desired switching frequency.
Stator current limiter was used to override the normal control logic if the stator current
amplitude rose too high. Even though, the startup currents were more restrained with this
stator current limiter implementation a better alternatives could have been sought. One
simple way to limit the startup currents would have been more calm torque references at
the startup by using a rate change limiter of the torque reference.
In the simulations, effects of the DTC sampling period, hysteresis limits, inductances and
different speed and load conditions were studied. It was found out that higher sampling
periods had a deteriorating effect on the operability of the DTC as the stator flux linkage
and the torque estimates were updated and controlled more seldomly. Hysteresis band
width simulations showed that the switching frequency is affected by the widths of the
hysteresis bands and that it was highly varying during the simulations. With constant
hysteresis band widths the highest switching frequencies were observed at the startup. In-
ductance simulations showed that with lower leakage inductances the motor reacted faster
to the DTC. This is natural. In DTC control the motor leakage inductances are finally the
limiting factors to torque changes. This makes the DTC the fastest torque controller, in
principle.
59
Inherent property of the DTC as any PWM supply is a torque ripple and it was clearly
shown in the hysteresis band width simulations. The torque ripples were calculated and
it was found out that with some of the hysteresis limit combinations the torque ripple
growed to horrendous proportions. Thus the hysteresis limits should be selected with care
to minimize problems with the torque ripple. Other possible solution could be modifying
the sector and stator flux linkage hysteresis logics in a way that shown problematic be-
haviour could be avoided.
The Simulink model does not take into consideration different operating points of the
machine at all, which means that inductances and resistances are constant through the
whole operating range. Even though the Simulink model had some simplifications it
worked as expected. Future work regarding the models could consist of implementing
realistic errors in the measurements to examine stator flux linkage drifting, modifying the
inverter model further to correspond better with a real counterpart, implementing some
kind of a thermal model to the motor model to take the varying resistances into account
and some saturation modeling for the different inductances.
60 References
References
Alnasir, Z. and Almarhoon, A. (2012). Design of Direct Torque Controller of Induction
Motor (DTC). International Journal of Engineering and Technology, 4, pp. 54–70.
Bose, B. (2001). Modern Power Electronics And AC Drives. Prentice Hall PTR. ISBN
0-13-016743-6.
Chapuis, Y. and Roye, D. (1998). Direct Torque Control and Current Limitation Method
in Start up of an Induction Machine. pp. 451–455.
Isao Takahashi, T.N. (1986). A New Quick-Response and High-Efficiency Control Strat-
egy of an Induction Motor. IEEE Transactions on industry applications, 1A-22(5), pp.
820–827.
Juha Pyrhönen, Valéria Hrabovcová, R.S.S. (2016). Electrical Machine Drives Control -
An Introduction. John Wiley & Sons Ltd. ISBN 9781119260455.
Juha Pyrhönen, Tapani Jokinen, V.H. (2008). Design Of Rotating Electrical Machines.
John Wiley & Sons Ltd. ISBN 978-0-470-69516-6.
Lassi Aarniovuori, Hannu Kärkkäinen, M.N. (2018). Modelling a Vector Controlled In-
duction Motor in Simulink.
Ned Mohan, Tore M. Undeland, W.P.R. (1995). Power Electronics: Converters, Applica-
tions and Design. John Wiley & Sons, inc. ISBN 0-471-58408-8.
Tiitinen, P. (1996). The Next Generation Motor Control Method, DTC Direct Torque
Control.
References 61
Inverter is heavily simplified so it only contains a binary multiplication with the switch
states SU,V,W and DC-link voltage UDC . Induction motor model in stator reference frame
contains motor model derived from the state space model. Load torque is brought to the
base system with a step function. Speed reference and stator flux linkage reference has
their own subsystems and their Simulink implementations are shown in Appendix D. The
Simulink base model is shown in Fig. A.1.
DTC model
Mikko Hämäläinen 2020
Orange is input
Blue is output
Purple blocks are exports to the workspace
Green blocks are editable parameters from the workspace
Phase voltages
I_u
I_s_alpha,beta, meas
I_s_alpha,beta I_s_alpha, beta I_v
I_w
U_u,v,w
U_u,v,w, meas
Inverse Clarke's transformation Phase currents
n
n
n_ref n_ref S_u,v,w S_u,v,w U_u,v,w
T_ref T_ref
T_e
Speed reference n
Estimates
Reference signals
Switching frequency
1
i_s_alpha
2
Psi_s_alpha
1 U_alpha I_s_alpha i_s_beta
Psi_s_alpha Psi_r_alpha with per units
U_s_alpha Psi_r_alpha
I_s_alpha with SI units
Psi_s_alpha
psi_s_alpha
psi_s_beta
2 U_beta
i_s_alpha
Te 3
Psi_s_beta Psi_s_beta
U_s_beta Psi_r_beta I_s_beta i_s_beta T_e
Psi_r_beta
Psi_s_beta Electromagnetic torque
I_s_beta
3 omega, r
Psi_r_alpha
omega, r Psi_r_beta Psi_r_alpha I_r_alpha
Psi_s_alpha
Psi_s_alpha 4
I_r_alpha I_r_alpha,beta
Psi_r_alpha
omega, r
Psi_r_beta
Psi_r_alpha Psi_r_beta I_r_beta
Psi_s_beta
Psi_s_beta
Psi_r_beta I_r_beta
atan2
U_u i_s_alpha
U_alfa U_s_alpha
1
1 U_v i_s_beta
U_beta U_s_beta I_s_alpha,beta
U_u,v,w U_w T_e
Clarke's transformation omega, r I_r_alpha,beta 4
IM state space model I_r_alpha,beta
T_e
omega, m 3
2 T_load
T_e
T_load IM Mechanical model
2
n
rad -> rpm
Mechanical to electrical
angular speed
1
1 1
T_e s
omega, m
2
T_load
This block is used to manipulate torque reference if Optimal switching logic contains Lookup tables and
Speed_control_feedforward is on (= 1). necessary logic to output correct switch positions based I_alpha,beta, meas
Used to correct rotor speed drop due to load conditions. on controller outputs.
Psi_s_est S_u,v,w_out 1
3 n S_u,v,w
DTC control cycle S_u,v,w
n
4 T_ref T_ref_out T_ref
tau tau Stator current limiter
T_ref Psi_s_ref
T_e_est If Current_limit_enable is
Estimates phi phi S_u,v,w on (= 1) and the measured
Load estimation current exceeds the maximum
Speed controller feedforward component delta_psi value the 'normal' DTC
delta_T
sector sector operation is overriden here
Figure C.1: DTC model subsystem holds most of the necessary calculations and logic for
the DTC.
Appendices DTC model subsystem
1
1
U_s_alpha s
2
I_s_alpha
3 1
1
U_s_beta s Psi_su_est
1
4
Psi_s_alpha 1
I_s_beta
T_e_est
3
Psi_s_beta
U_u 2
U_alfa U_s_alpha
1 U_v I_s_alpha
U_beta
U_u,v,w,meas U_w I_s_alpha 4
Clarke's transformation Psi_su_est I_s_beta
U_s_beta
I_s_beta
Psi estimator
'Voltage model'
Psi_s_alpha
I_s_alpha
T_e_est 1
2 Psi_s_beta
I_s_alpha, beta meas I_s_beta T_e_est
Torque estimator
Psi_s_alpha
Psi_su 2
'Current model' I_s_alpha Psi_s_beta Psi_s_est
Enable signal
I_s_beta Psi_s_est
Psi_si_est Psi_si
I_r_alpha Theta_psi_s_est 3
3 Theta_psi_s_est
I_r_beta Stator flux linkage vector correction
I_r_alpha,beta
Psi estimator
'Current model'
1
I_s_alpha
3
I_r_alpha
2
1
I_s_beta
Psi_si_est
4
I_r_beta
Figure C.2: Within the DTC estimators subsystem the torque estimate, the voltage model
and current model equations are realized.
Appendices DTC model subsystem
Depending on the value of the Switching frequency control enable variable the switching
frequency control is either on or off. When switching frequency control is off the hystere-
sis limits are constants which are initialized in the m-file. Switching frequency control is
enabled or disabled in the m-file. DTC controllers Simulink implementation is shown in
Fig. C.3.
5
delta_T >= 1 delta_T
T_e_ref tau 1
1
tau
T_ref T_e_est
3
Estimates Torque hysteresis controller
>= 1 delta_psi
4
delta_psi
Psi_s_ref phi 2
phi
2 Psi_s_est
Psi_s_ref
Stator flux linkage hysteresis controller
Theta Sector, k 3
sector
Sector selector with negative sector limits
Figure C.3: DTC controllers subsystem includes hysteresis controllers and sector logic.
Appendices DTC model subsystem
T_e_ref
T_ref + delta_T
T_ref - delta_T
Two-level hysteresis controller for the stator flux linkage was realized with a controllable
switch, two relational operators and memory block. The error ψerr between the reference
and estimate signal is calculated with a sum block and the difference is compared to the
hysteresis limit. Controllable switch input port is depended on the memory block output.
Stator flux linkage hysteresis controller Simulink implementation is shown in Fig. C.5.
Two level hysteresis controller
2
Psi_s_ref >= 1
3
Psi_s_est
1 1
phi
delta_psi phi
Psi_ref + delta_psi
Psi_ref - delta_psi
Figure C.5: Two-level hysteresis controller subsystem for the stator flux linkage.
If the state stored in the memory block is 0 the switch input port three is active. When
switch input three becomes true as the upper hysteresis limit is reached, the memory block
state changes to 1 and switch input port one activates. Now the output of the hysteresis
controller is the state of the lower relational operator. Output stays at 1 and the input port
one stays active until the error drops below or is equal to the lower hysteresis limit. When
lower hysteresis limit is reached the controller output changes to 0 and input port three
activates.
Appendices DTC model subsystem
This subsystem outputs sector number \kappa Theta is the angle between the alpha-axis
based on the input value Theta. and stator flux linkage vector.
Theta 1
Sector 1
Theta 2
Sector 2
1 Theta 3
Theta
Sector 3
Theta 4
Sector 4
1
Theta 5 Sector, k
Sector 5
Theta 6
Sector 6
<= -2.618
1 >= -3.1416
Theta 1
4
<= 3.1416
> 2.618
2-D T(u)
u1
u2
Switch u
1 tau
tau 2-D T(u)
row u1
1
2 phi
u2 S_u,v,w
phi
Switching logic Switch v
Depending on the hysteresis controller Export switch positions to workspace
2-D T(u)
outputs this subsystem outputs corresponding u1
row of the optimal switching table.
3 u2
Correct table column is chosen
sector
with sector value kappa Switch w
These lookup tables contains
the optimal switching tables.
== 1
1 == 0
tau
== -1
1
2 == 1 row
phi
== 0
Figure C.7: Optimal switching table subsystem contains the row and three lookup tables,
one table for each of the inverter switches.
Simulink lookup table outputs the switch state based on the row and column input sig-
nals. Column input signal comes straight from the sector selector subsystem. Row input
signal has its own logic based on the states of the torque and stator flux linkage hysteresis
controllers. Lookup table used for the switch SU is shown in table C.2 and lookup tables
for switches SV and SW were implemented in a similar way.
Appendices DTC model subsystem
I_s_meas
1 <= I_max
I_alpha,beta, meas
>= 1 1
>= 1 S_u,v,w_out
2
>= 1
Psi_s_est
Zero vector
Torque delaying Magnetizing vector Zero vector is output when current magnitude is
equal or above the maximum current I_max
Fs average
F_s_average
signal
T
Z-1
F >= 1 Z-1
1 T >= 1 Z-1 1
Counter
S_u,v,w f_s_average
F
Z-1
T
Hysteresis limit controller subsystem input is the average switching frequency fs,average .
This is fed to the PI-controller which calculates error between the desired switching fre-
quency value and the current switching frequency value. PI-controller output is supplied
to an else-if ladder which then increases or decreases the hysteresis band widths by adjust-
ing a coefficient used in the calculation of the hysteresis band widths. Hysteresis limits
are adjusted every 5 ms. Hysteresis limit controller Simulink implementation is shown in
Fig. C.10.
Appendices DTC model subsystem
Fs average 1
signal delta_T
1
1 PID_output
f_s_average
1
s
else { }
delta_factor Out2
Hysteresis bands delta_factor is increased/decreased in 0.02 steps. Maximum output is 0.2 and minimum output is 0.01.
Figure C.10: Hysteresis limits controller subsystem controls the average switching fre-
quency by changing the hysteresis band widths.
elseif { }
Action Port
1
1 T_max 1
n_ref T_max
else Tn 1
T_max
elseif(45 < u1 <= 100)
n_ref T_max 2
T_min
else { } Constant power region
T_max
Speed controller saturation limits are controlled dynamically to ensure output power doesn't raise too much when the motor is in field weakening range.
else { }
Maximum torque reference output is saturated dynamically.
Action Port This can make sure that output power or breakdown torque
is not exceeded when the motor is in field weakening range.
1
T_ref
T_max
T_max up
n_ref n_ref u y 1
T_min lo T_ref_out
3
T_e_est
>= 1
1
n
2
T_ref Speed error due to the load conditions is corrected by increasing the torque reference.
Figure C.11: Load estimation subsystem contains the speed controller feedforward loop
and torque reference saturation limits.
Appendices Reference signals
else { }
Action Port
1
Psi_ref
>= 1
1
n_ref
rpm->f
f->omega
else { }
u1 Out1
This else-if ladder creates ramp signal from the n_ref step signal.
Speed controller takes the speed reference and measured speed from the motor model as
inputs and outputs torque reference to the DTC model. Speed PI-controller is shown in
Fig. D.3.
1
n_ref 1
2 T_ref
n
1
s