By
Dr. Ungku Anisa Ungku Amirulddin
Department of Electrical Power Engineering
College of Engineering
Dr. Ungku Anisa, July 2008 1 EEEB443  Control & Drives
Outline
Introduction
Switching Control
Space Vector Pulse Width Modulation (PWM)
Principles of Direct Torque Control (DTC)
Direct Torque Control (DTC) Rules
Direct Torque Control (DTC) Implementation
References
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 2
Introduction
High performance Induction Motor drives consists of:
Field Orientation Control (FOC)
Direct Torque Control (DTC)
Direct Torque Control is IM control achieved through
direct selection of consecutive inverter states
This requires understanding the concepts of:
Switching control (Bangbang or Hysteresis control)
Space Vector PWM for Voltage Source Inverters
(VSI)
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 3
Switching Control
A subset of sliding mode control
Advantages:
Robust since knowledge of plant G(s) is not necessary
Very good transient performance (maximum actuation even
for small errors)
Disadvantage: Noisy, unless switching frequency is very
high
Feeding bangbang (PWM) signal into a linear amplifier is
not advisable. But it is OK if the amplifier contains
switches (eg. inverters)
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 4
Switching Control
Amplifier
Plant
G(s)
Switching
Controller
Continuous Control
Amplifier
Plant
G(s)
PI
Continuous
Controller Limiter
Switching Control
PWM Voltage Source Inverter
single phase
Reference current compared with actual
current
Current error is fed to a PI controller
Output of PI controller (v
c
) compared with
triangular waveform (v
tri
) to determine
duty ratio of switches
v
tri
V
dc
q
v
c
Pulse width
modulator
PI
Controller
i
ref
Dr. Ungku Anisa, July 2008 6 EEEB443  Control & Drives
Same concept is extended to threephase VSI
v
a
*, v
b
* and v
c
* are the
outputs from closedloop
current controllers
In each leg, only 1 switch is on
at a certain time
Leads to 3 switching variables
Pulse width
modulator
V
a
*
Pulse width
modulator
V
b
*
Pulse width
modulator
V
c
*
Sinusoidal PWM Voltage
Source Inverter
Dr. Ungku Anisa, July 2008 7 EEEB443  Control & Drives
S
a
S
b
S
c
+ v
c

+ v
b

+ v
a

n
N
V
dc
a
b
c
S1
S2
S3
S4
S5
S6
S1, S2, .S6
v
a
*
v
b
*
v
c
*
Pulse Width
Modulation
Sinusoidal PWM Voltage Source
Inverter
Dr. Ungku Anisa, July 2008 8 EEEB443  Control & Drives
Switching signals
for the
SPWM VSI
Sinusoidal PWM Voltage Source
Inverter
Three switching variables are S
a
, S
b
and S
c
(i.e. one per phase)
One switch is on in each inverter leg at a time
If both on at same time dc supply will be shorted
If both off at same time  voltage at output is undetermined
Each inverter leg can assume two states only, eg:
S
a
= 1 if S1 ON and S4 OFF
S
a
= 0 if S1 OFF and S4 ON
Total number of states = 8
An inverter state is denoted as [S
a
S
b
S
c
]
2
, eg:
If S
a
= 1, S
b
= 0 and S
c
= 1, inverter is in State 5 since [101]
2
= 5
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 9
Space Vector PWM
Space vector representation of a threephase quantities
x
a
(t), x
b
(t) and x
c
(t) with space distribution of 120
o
apart
is given by:
where:
a = e
j2t/3
= cos(2t/3) + jsin(2t/3)
a
2
= e
j4t/3
= cos(4t/3) + jsin(4t/3)
x can be a voltage, current or flux and does not
necessarily has to be sinusoidal
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 10
( ) ) ( ) ( ) (
3
2
2
t x a t ax t x
c b a
+ + = x
(1)
Space Vector PWM
Space vector of the threephase stator voltage is:
where v
a
, v
b
and v
c
are the phase voltages.
If v
a
, v
b
and v
c
are balanced 3phase sinusoidal voltage with
frequency f, then the locus of v
s
:
circular with radius equal to the peak amplitude of the phase
voltage
rotates with a speed of 2tf
Dr. Ungku Anisa, July 2008 11 EEEB443  Control & Drives
(2)
( ) ) ( ) ( ) (
3
2
2
t v a t av t v
c b a
+ + =
s
v
+ v
c

+ v
b

+ v
a

n
N
V
dc
a
b
c
S1
S2
S3
S4
S5
S6
S1, S2, .S6
v
a
*
v
b
*
v
c
*
We want v
a
, v
b
and
v
c
to follow v
a
*, v
b
*
and v
c
*
Space Vector PWM
Dr. Ungku Anisa, July 2008 12 EEEB443  Control & Drives
These voltages
will be the voltages
applied to the
terminals of the
induction motor
Space Vector PWM
From the inverter circuit diagram:
v
an
= v
aN
+ v
Nn
v
bn
= v
bN
+ v
Nn
v
cn
= v
cN
+ v
Nn
v
aN
= V
dc
S
a
, v
bN
= V
dc
S
b
, v
cN
= V
dc
S
c
where S
a
, S
b
, S
c
= 1 or 0 and V
dc
= dc link voltage
Substituting (3) (6) into (2):
( ) ( )
c b a dc cn bn an
S a aS S V v a av v
2 2
3
2
3
2
+ + = + + =
s
v
(3)
(4)
(5)
(6)
(7)
Dr. Ungku Anisa, July 2008 13 EEEB443  Control & Drives
Space Vector PWM
Stator voltage space vector can also be expressed in
twophase (d
s
q
s
frame).
Hence for each of the 8 inverter states, a space vector
relative to the d
s
axis is produced.
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives
( )
s
sq
s
sd c b a dc
v v S a aS S V j
3
2
2
+ = + + =
s
v
(8)
14
Space Vector PWM
Example: For State 6, i.e. [110]
2
(S
a
= 1, S
b
= 1 and S
c
= 0)
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives
( )
( )
( )
s
sq
s
sd dc dc
dc
dc
c b a dc
v v V V
V
a a V
S a aS S V
j
3
1
j
3
1
sin j cos 1
3
2
0 1 1
3
2
3
2
3
2
3
2
2
2
+ = + =
+ + =
+ + =
+ + =
t t
s
v
v
S
d
s
q
s
dc
V
3
1
dc
V
3
1
15
Therefore, the voltage vectors for all the 8 inverter states can be
obtained.
Note for states [000] and [111], voltage vector is equal to zero.
Space Vector PWM
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 16
[100] V1
[110] V2
[010] V3
[011] V4
[001] V5
[101] V6
(2/3)V
dc
(1/\3)V
dc
[000] V0 = 0
[111] V7 = 0
d
s
q
s
Voltage
Vector
Inverter state
[S
a
S
b
S
c
]
2
V0 State 0 = [000]
2
V1 State 4 = [100]
2
V2 State 6 = [110]
2
V3 State 2 = [010]
2
V4 State 3 = [011]
2
V5 State 1 = [001]
2
V6 State 5 = [101]
2
V7 State 7 = [111]
2
The d
s
q
s
plane can be divided into six 60wide sectors, i.e. S1 to
S6 as shown below( 30 from each voltage vectors)
Space Vector PWM
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 17
[100] V1
[110] V2
[010] V3
[011] V4
[001] V5 [101] V6
[000] V0 = 0
[111] V7 = 0
d
s
q
s
S1
S2
S3
S4
S5 S6
Space Vector PWM
Definition of Space Vector Pulse Width Modulation
(PWM):
modulation technique which exploits space vectors to
synthesize the command or reference voltage v
s
* within
a sampling period
Reference voltage v
s
* is synthesized by selecting 2
adjacent voltage vectors and zero voltage vectors
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 18
In general:
Within a sampling period T, to synthesize reference voltage v
s
*, it is
assembled from:
vector V
x
(to the right)
vector V
y
(to the left) and
a zero vector V
z
(either V0 or V7)
Since T is sampling
period of v
s
*:
V
x
is applied for time T
x
V
y
is applied for time T
y
V
z
is applied for the rest
of the time, T
z
Space Vector PWM
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 19
[100] V1
[110] V2
[010] V3
[011] V4
[001] V5
[101] V6
Note:
[000] V0 = 0
[111] V7 = 0
d
s
q
s
v
s
*
u
= v
x
= v
y
T
T
V
x
x
T
T
V
y
y
In general:
Total sampling time:
If u close to 0 : T
x
> T
y
If u close to 60 : T
x
< T
y
If v
s
* is large: more time
spent at V
x
, V
y
compared
to V
z
i.e. T
x
+ T
y
> T
z
If v
s
* is small: more time
spent at V
z
compared
to V
x
, V
y
, i.e. . T
x
+ T
y
< T
z
Space Vector PWM
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 20
[100] V1
[110] V2
[010] V3
[011] V4
[001] V5
[101] V6
Note:
[000] V0 = 0
[111] V7 = 0
d
s
q
s
v
s
*
u
= v
x
= v
y
T= T
x
+ T
y
+ T
z
(9)
T
T
V
x
x
T
T
V
y
y
Space Vector PWM
In general, if u is the angle
between the reference
voltage v
s
* and V
x
(vector to
its right), then:
where
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 21
[100] V1
[110] V2 [010] V3
[011] V4
[001] V5
[101] V6
Note:
[000] V0 = 0
[111] V7 = 0
d
s
v
s
*
u
( ) u =
60 sin mT T
x
u sin mT T
y
=
(10)
q
s
(11)
T
z
= T T
x
T
y
(12)
Vector V
x
to the
right of v
s
*
( ) 3
*
dc
V
m
s
v
=
Space Vector PWM
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 22
[100] V1
[110] V2
[010] V3
[011] V4
[001] V5
[101] V6
Note:
[000] V0 = 0
[111] V7 = 0
d
s
q
s
Example:
v
s
* is in sector S1
V
x
= V1 is applied for time T
x
V
y
= V2 is applied for time T
y
V
z
is applied for rest
of the time, T
z
= v
x
= v
y
( )
T
T
V
x
1
( )
T
T
V
y
2
v
s
*
u
T T
V
ref
is sampled
V
ref
is sampled
V1
T
x
V2
T
y
T
z
/2
V0
T
z
/2
V7
v
a
v
b
v
c
Space Vector PWM
Example: v
s
* in sector S1
Reference voltage v
s
* is
sampled at regular
intervals T, i.e. T is
sampling period:
V1 [100]
2
is applied for T
x
V2 [110]
2
is applied for T
y
Zero voltage V0 [000]
2
and V7 [111]
2
is applied
for the rest of the time,
i.e. T
z
T= T
x
+ T
y
+ T
z
Dr. Ungku Anisa, July 2008 23 EEEB443  Control & Drives
V7 V2 V1 V0
Space Vector PWM
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 24
[100] V1
[110] V2
[010] V3
[011] V4
[001] V5
[101] V6
Note:
[000] V0 = 0
[111] V7 = 0
d
s
q
s
Example:
A Space Vector PWM VSI, having a DC supply of 430 V and a switching
frequency of 2kHz, is required to synthesize voltage v
s
* = 240Z170 V.
Calculate the time T
x
, T
y
and T
z
required.
V
x
= ____ is applied for time T
x
V
y
= ___ is applied for time T
y
V
z
is applied for time T
z
Since u = ______,
v
s
* is in sector _______
( ) u =
60 sin mT T
x
u sin mT T
y
=
T
z
= T T
x
T
y
S1
S2
S3
S4
S5
S6
Space Vector Equations of IM
The twophase dynamic model of IM in the stationary
d
s
q
s
frame:
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 25
( )
s
sdq
s
sdq
s
sdq
i v
dt
d
R
s
+ =
( )
s
rdq
s
rdq
s
rdq
s
rdq
i v
r r
dt
d
R e j 0
'
+ = =
s
rdq
s
sdq
s
sdq
i i
m s
L L + =
s
rdq
s
sdq
s
rdq
i i
'
r m
L L + =
(13)
(14)
(15)
(16)
Direct Torque Control (DTC)
Basic Principles
1. Derivative of stator flux is equal to the stator EMF.
Therefore, stator flux magnitude strongly depends on stator
voltage.
If voltage drop across R
s
ignored, change in stator flux can be
obtained from stator voltage applied :
Stator voltage can be changed using
the space vectors of the
Voltage Source Inverter (VSI).
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 26
( )
s
sdq s
s
sdq
s
dq
s
sdq
R
dt
d
i v e = =
( ) t
s
sdq
s
sdq
A = A v
[100]V1
[110]V2 [010]V3
[011]V4
[101]V6 [001]V5
(17)
(18)
Direct Torque Control (DTC)
Basic Principles
2. Developed torque is proportional to the sine of angle
between stator and rotor flux vectors u
sr
.
Angle of+
s
is also dependant on stator voltage. Hence,
T
e
can also be controlled using the stator voltage
through u
sr
.
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 27
( )
sr r s
r s
m
e
r s
r s
m
e
L L
L P
T
L L
L P
T
u
o
o
sin
2 2
3
2 2
3
'
'
=
=
(19)
(20)
Direct Torque Control (DTC)
Basic Principles
3. Reactions of rotor flux to changes in stator voltage is
slower than that of stator flux.
Assume +
r
remains constant within short time At
that stator voltage is changed.
Summary DTC Basic Principles:
Magnitude of stator flux and torque directly controlled
by proper selection of stator voltage space vector (i.e.
through selection of consecutive VSI states)
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 28
Direct Torque Control (DTC)
Basic Principles (example)
Assuming at time t,
Initial stator and rotor flux are denoted as
+
s
(t)
and +
r
the VSI switches to state [100] stator
voltage vector V1 generated
After short time interval At,
New stator flux vector +
s
(t+ At) differs
from +
s
(t)
in terms of :
Magnitude (increased by A+
s
=V1(At))
Position (reduced by Au
sr
)
Assumption: Negligible change in rotor
flux vector +
r
within At
Stator flux and torque changed by voltage
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 29
[100]V1
[110]V2 [010]V3
[011]V4
[101]V6 [001]V5
A+
s
=V1(At)
+
s
(t)
+
s
(t+At)
+
r
d
s
q
s
u
sr
Direct Torque Control (DTC)
Rules for Flux Control
To increase flux magnitude:
select nonzero voltage vectors
with misalignment with +
s
(t)
not
exceeding 90
To decrease flux magnitude:
select nonzero voltage vectors
with misalignment with +
s
(t)
that
exceeds 90
V0 and V7 (zero states) do not
affect +
s
(t)
, i.e. stator flux stops
moving
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 30
[100]V1
[110]V2 [010]V3
[011]V4
[101]V6
[001]V5
+
s
(t)
+
r
d
s
q
s
u
sr
Direct Torque Control (DTC)
Rules for Torque Control
To increase torque:
select nonzero voltage vectors
which accelerates+
s
(t)
To decrease torque:
select nonzero voltage vectors
which decelerates+
s
(t)
To maintain torque:
select V0 or V7 (zero states) which
causes +
s
(t)
to stop moving
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 31
[100]V1
[110]V2 [010]V3
[011]V4
[101]V6
[001]V5
+
s
(t)
+
r
d
s
q
s
u
sr
Direct Torque Control (DTC)
Rules for Flux and Torque Control
The d
s
q
s
plane can be
divided into six 60wide
sectors (S1 to S6)
If+
s
is in sector Sk
k+1 voltage vector
(Vk+1) increases +
s
k+2 voltage vector
(Vk+2) decreases +
s
Example: here+
s
is in
sector 2 (S2)
V3 increases +
s
V4 decreases +
s
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 32
[100] V1
[110] V2
[010] V3
[011] V4
[001] V5 [101] V6
Note:
[000] V0 = 0
[111] V7 = 0
d
s
q
s
S1
S2
S3
S4
S5 S6
+
s
(t)
Direct Torque Control (DTC)
Rules for Flux and Torque Control
Stator flux vector +
s
is associated with a voltage vector VK
when it passes through sector K (SK)
Impact of all individual voltage vectors on +
s
and T
e
is
summarized in table below:
Impact of VK and VK+3 on T
e
is ambiguous, it depends on
whether +
s
leading or lagging the voltage vector
Zero vector Vz (i.e. V0 or V7) doesnt affect +
s
but reduces T
e
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 33
VK VK+1 VK+2 VK+3 VK+4 VK+5 Vz (V0 or V7)
+
s
  + ++ +  
T
e
?   ? + + +
Direct Torque Control (DTC)
Implementation
1. DC voltage V
dc
and three phase stator currents i
abcs
are
measured
2. v
sdq
s
and current i
sdq
s
are determined in Voltage and Current
Vector Synthesizer by the following equations:
where S
a
, S
b
,S
c
= switching variables of VSI and
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 34
( )
s
sq
s
sd c b a dc
s
sdq
v v S a aS S V j
3
2
2
+ = + + = v
abcs
s
sdq
i T i
abc
=
(
=
3
1
3
1
0 0
0
1
abc
T
(21)
(22)
Direct Torque Control (DTC)
Implementation
3. Flux vector +
s
and torque T
e
are calculated in the Torque
and Flux Calculator using the following equations:
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 35
( )
}
= dt
s
sd s
s
sd
s
sd
R i v
( )
}
= dt
s
sq s
s
sq
s
sq
R i v
( )
s
sq
s
sd
s
sd
s
sq e
i i
P
T =
2 2
3
2 2
s
sq
s
sd s
+ =
(23)
(24)
(25)
(26)
Direct Torque Control (DTC)
Implementation
4. Magnitude of +
s
is compared with +
s
* in the flux control
loop.
5. T
e
is compared with T
e
* in the torque control loop.
6. The flux and torque errors, A+
s
and AT
e
are fed to
respective bangbang controllers, with characteristics shown
below.
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 36
Note:
A
s
=A+
s
AT
m
= AT
e
b
= b
+
Direct Torque Control (DTC)
Implementation
7. Selection of voltage vector (i.e. inverter state) is based on:
values of b
+
and b
T
(i.e. output of the flux and torque bang
bang controllers )
angle of flux vector u
s
direction of motor rotation (clockwise or counter clockwise)
Specifics of voltage vector selection are provided based on
Tables in Slide 37 (counterclockwise rotation) and Slide 38
(clockwise rotation) and applied in the State Selector block.
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 37


.

\

= Z =
s
sd
s
sq
s s
1
tan u (27)
Direct Torque Control (DTC)
Implementation
Selection of voltage vector in DTC scheme:
Counterclockwise Rotation
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 38
b
+
1 0
b
T
1 0 1 1 0 1
S1 V2 V7 V6 V3 V0 V5
S2 V3 V0 V1 V4 V7 V6
S3 V4 V7 V2 V5 V0 V1
S4 V5 V0 V3 V6 V7 V2
S5 V6 V7 V4 V1 V0 V3
S6 V1 V0 V5 V2 V7 V4
[100]V1
[110]V2 [010]V3
[011]V4
[101]V6 [001]V5
To minimize
number of
switching:
V0 always
follows V1, V3
and V5
V7 always
follows V2, V4
and V6
Direct Torque Control (DTC)
Implementation
Selection of voltage vector in DTC scheme:
Clockwise Rotation
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 39
b
+
1 0
b
T
1 0 1 1 0 1
S1 V6 V7 V2 V5 V0 V3
S2 V5 V0 V1 V4 V7 V2
S3 V4 V7 V6 V3 V0 V1
S4 V3 V0 V5 V2 V7 V6
S5 V2 V7 V4 Vv1 V0 V5
S6 V1 V0 V3 V6 V7 V4
[100]V1
[110]V2 [010]V3
[011]V4
[101]V6 [001]V5
To minimize
number of
switching:
V0 always
follows V1, V3
and V5
V7 always
follows V2, V4
and V6
b
+
1 0
b
T
1 0 1 1 0 1
S2 V3 V0 V1 V4 V7 V6
Direct Torque Control (DTC)
Implementation (Example)
+
s
is in sector S2 (assuming
counterclockwise rotation)
Both flux and torque to be
increased (b
+
= 1 and b
T
= 1)
apply V3 (State = [010])
Flux decreased and torque
increased (b
+
= 0 and b
T
= 1)
apply V4 (State = [011])
Dr. Ungku Anisa, July 2008 EEEB443  Control & Drives 40
[100]V1
[110]V2 [010]V3
[011]V4
[101]V6
[001]V5
+
s
+
r
d
s
q
s
u
sr
Direct Torque Control (DTC)
Implementation
EEEB443  Control & Drives 41
Flux
control
loop
Torque
control
loop
Eq. (21) &(22)
Eq. (23) , (24)
&(26)
Eq. (25)
Eq. (27)
Note:
s
=+
s
T
m
= T
e
b
= b
+
a = S
a
b = S
b
c = S
c
v
i
= V
dc
v
s
= v
sdq
s
i
is
= i
sdq
s
ds
=+
sd
s
qs
= +
sq
s
Based on
Table in
Slides 37 or 38
References
Trzynadlowski, A. M., Control of Induction Motors, Academic
Press, San Diego, 2001.
Asher, G.M, Vector Control of Induction Motor Course Notes,
University of Nottingham, UK, 2002.
Dr. Ungku Anisa, July 2008 42 EEEB443  Control & Drives