IMPROVED DYNAMIC PERFORMANCE OF DIRECT TORQUE CONTROL OF INDUCTION MACHINES

advertisement
IMPROVED DYNAMIC PERFORMANCE OF DIRECT TORQUE CONTROL OF
INDUCTION MACHINES
AUZANI BIN JIDIN
UNIVERSITI TEKNOLOGI MALAYSIA
IMPROVED DYNAMIC PERFORMANCE OF DIRECT TORQUE CONTROL OF
INDUCTION MACHINES
AUZANI BIN JIDIN
A thesis submitted in fulfilment of the
requirements for the award of the degree of
Doctor of Philosophy (Electrical Engineering)
Faculty of Electrical Engineering
Universiti Teknologi Malaysia
MAY 2011
iii
To my beloved wife, son, daughters and all my family members
for their enduring love, motivation and support
iv
ACKNOWLEDGEMENT
I would like to express my deep gratitude to my supervisor Associate Prof.
Dr. Nik Rumzi Bin Nik Idris for his invaluable suggestions, guidance and consistent
support towards the completion of this thesis. Special thank to my co supervisors
Prof. Ir. Dr. Halim Mohd. Yatim and Prof. Malik Elbuluk for valuable guidance and
generous encouragement throughout the project duration.
I would like to thank the many people who have contributed to this thesis. In
particular, to the members of academic and technical staff of the Energy Conversion
Department (ENCON), Universiti Teknologi Malaysia for the cooperation and
technical help.
I also wish to express my gratitude to the Universiti Teknikal Malaysia
Melaka (UTeM) and the Ministry of Higher Education for providing the sponsorship
to undertake this study.
Finally, I would like to thank my parents, my wife Nurul Adibah, my son
Amirul Haziq, my daughters ‘Alya Insyirah and Aisyah Humaira for their loves,
encouragement and moral support.
v
ABSTRACT
This thesis proposes simple methods to improve the dynamic performances of
a Direct Torque Control (DTC) of induction machines. The principles of direct
control of torque and flux based on the selection of appropriate voltage vectors are
reviewed. In DTC, the torque is directly controlled by the slip angular frequency
which is determined by the irregular motion of stator flux vector. The stator flux is
always forced to follow its circular reference by the application of active voltage
vectors. During a large torque demand, no zero voltage vector is used. However, the
active voltages are switched more often to increase (or decrease) rapidly the slip and
the output torque as well. Moreover, this method does not give the fastest dynamic
torque response because one of the two possible active voltage vectors switched
during torque dynamic is not optimal. The effect of selecting two different voltages
on torque dynamic response is investigated and evaluated. Based on the
investigation, the most optimized voltage is identified, and it is used to perform a
dynamic overmodulation to produce the fastest torque dynamic control. The
improved torque dynamic control is verified by simulation and experimental results.
Owing to the intrinsic characteristic of DTC switching, it is not possible for stator
voltage to perform a six-step mode. The thesis proposes a simple overmodulation
strategy for hysteresis-based DTC by transforming the flux locus into a hexagonal
shape. This is accomplished by modifying the flux error status before it is being fed
to a look-up table. In this way, a smooth transition of stator voltage from Pulse Width
Modulation to the six-step mode is achieved as the number of application of zero
voltage vectors, i.e. during the motor acceleration, is gradually dropped to zero. With
the six-step voltage operation, it allows the DTC to extend a constant torque region
and hence results in higher torque capability in a field weakening region. To verify
the improvement of the proposed method, simulation and experimentation as well as
comparison with the conventional DTC scheme are carried out. It can be shown that
the improvement about 20% (in terms of extension of constant torque region) can be
achieved through the proposed method. The improvements mentioned above can also
be achieved in the DTC with constant frequency torque controller that offers constant
switching frequency and reduced torque ripple. The improvements are verified by
experimental results.
vi
ABSTRAK
Tesis ini mencadangkan kaedah mudah untuk meningkatkan prestasi dinamik
bagi sebuah Kawalan Dayakilas Terus (DTC) untuk mesin aruhan. Prinsip kawalan
terus dayakilas dan fluks berpandukan pemilihan vektor voltan yang sesuai,
diulangkaji. Dalam DTC, dayakilas dikawal secara langsung oleh frekuensi sudut
gelincir yang ditentukan oleh pergerakan tidak teratur oleh vektor fluks pemegun.
Fluks pemegun sentiasa dipaksa untuk mengikut rujukan membulat dengan aplikasi
vektor voltan aktif. Semasa permintaan daya kilas yang besar, tiada vektor voltan
sifar digunakan. Tetapi, pensuisan voltan-voltan aktif lebih kerap untuk
meningkatkan (atau mengurangkan) dengan pantas gelinciran dan juga keluaran
dayakilas. Tambahan lagi, kaedah ini tidak memberikan sambutan dayakilas dinamik
yang terpantas kerana salah satu daripada dua kemungkinan voltan aktif yang dipilih
semasa dinamik dayakilas adalah tidak optimum. Kesan bagi pemilihan dua voltan
yang berbeza terhadap sambutan dayakilas dinamik, diselidik dan dinilai.
Berdasarkan penyelidikan ini, voltan yang paling optimum dikenalpasti, dan
digunakan untuk operasi dinamik permodulatan lebih bagi menghasilkan kawalan
dayakilas dinamik terpantas. Peningkatan kawalan dayakilas dinamik ini disahkan
oleh keputusan simulasi dan eksperimen. Disebabkan ciri-ciri semulajadi pensuisan
DTC, ianya tidak memungkinkan untuk voltan pemegun untuk beroperasi pada mod
enam langkah. Tesis ini mencadangkan strategi pemodulatan lebih yang ringkas bagi
DTC berasaskan histeresis dengan mengawal lokus fluks kepada bentuk heksagon.
Ini dapat dilakukan dengan mengubahsuai status kesalahan fluks sebelum
dimasukkan ke dalam jadual pemilihan. Melalui cara ini, kelancaran peralihan voltan
pemegun dari Pemodulatan Lebar Denyut ke mod enam langkah dicapai apabila
jumlah aplikasi vektor voltan sifar, iaitu semasa pecutan motor, diturunkan secara
perlahan-lahan kepada sifar. Dengan operasi voltan enam langkah, ia membolehkan
DTC memperluaskan kawasan dayakilas tetap dan seterusnya menghasilkan
keupayaan dayakilas yang lebih tinggi di dalam kawasan pelemahan medan. Untuk
mengesahkan penambahbaikan oleh cadangan kaedah, simulasi dan eksperimen serta
perbandingan dengan skim konvensional DTC dijalankan. Dapat ditunjukkan bahawa
penambahbaikan sekitar 20% (dalam hal memperluaskan kawasan dayakilas tetap)
boleh dicapai melalui kaedah yang dicadangkan. Penambahbaikan yang disebut di
atas juga boleh dicapai dalam DTC dengan pengawal dayakilas frekuensi tetap yang
menawarkan frekuensi pensuisan malar dan pengurangan riak dayakilas.
Penambahbaikan ini disahkan oleh keputusan eksperimen.
vii
TABLE OF CONTENTS
TITLE
CHAPTER
1
PAGE
DECLARATION
ii
DEDICATION
iii
ACKNOWLEDGEMENTS
iv
ABSTRACT
v
ABSTRAK
vi
TABLE OF CONTENTS
vii
LIST OF TABLES
xii
LIST OF FIGURES
xiii
LIST OF SYMBOLS AND ABBREVIATIONS
xxiii
LIST OF APPENDICES
xxvi
INTRODUCTION
1
1.1
1
A Look Back on Development of Vector Control
Induction Machine Drives
1.2
Direct Torque Control of Induction Machines
2
1.2.1
The Control Structure of Basic DTC
2
1.2.2
Improvements of DTC Performance
4
1.2.3
The Popularity Versus The Complexity of
9
DTC-SVM based induction machines
1.3
Thesis Objectives and Contributions
10
1.4
Methodology of Research
12
1.5
Organisation of the Thesis
14
viii
2
OVERVIEW OF CONVENTIONAL DIRECT
16
TORQUE CONTROL OF INDUCTION MACHINES
2.1
Introduction
16
2.2
Mathematical Model of Induction Machine
16
2.2.1
Complex Space Vector Equations
18
2.2.2
d-q Axis Equations
20
2.3
Basic Principles of Direct Torque Control
22
2.3.1
22
3-Phase Voltage Source Inverter Space
Vectors
2.3.2
Direct Flux Control
24
2.3.3
Direct Torque Control
28
2.3.4
De-coupled Control of Torque and Flux in
34
DTC-hysteresis based Induction Machine
2.3.5
Estimations of stator flux and electromagnetic
35
torque
2.4
2.5
3
Major Problems in Hysteresis-Based DTC
37
2.4.1
Variable inverter switching frequency
37
2.4.2
High Torque Ripple
38
2.4.3
The Need of High Speed Processor
39
Chapter Conclusions
ENLARGING SWITCHING FREQUENCY TO
42
43
MINIMIZE TORQUE RIPPLE UTILIZING A
CONSTANT FREQUENCY TORQUE CONTROLLER
3.1
Introduction
43
3.2
DTC with Constant Frequency Torque Controller
44
3.3
Design Procedure of Constant Frequency Torque
46
Controller in DTC
3.4
Experimental Set-up
49
3.5
Experimental Results
52
3.6
Chapter Conclusions
57
ix
4
AN OPTIMIZED SWITCHING STRATEGY FOR
58
QUICK TORQUE DYNAMIC CONTROL
4.1
Introduction
58
4.2
Dynamic Torque Control in the Hysteresis-Based
59
DTC
4.3
Effect of Selecting Different Voltage Vectors on
59
Torque Dynamic Performance in the Hysteresis-Based
DTC
4.4
The Proposed Torque Dynamic Control
63
4.4.1
63
An Optimized Voltage Vector for Quick
Torque Dynamic Control
4.4.2
4.5
The Proposed Control Structure
66
Simulation and Experimental Results
68
4.5.1
69
Simulation of the Proposed Torque Dynamic
Control
4.5.2
Experimental Set-up
73
4.5.3
Improved Torque Dynamic Control for
74
Hysteresis-based DTC
4.5.4
Improved Torque Dynamic Control for
80
Constant Switching Frequency-based DTC
4.5.5
Behavior of Motor Currents during Torque
83
Dynamic Condition
4.6
5
Chapter Conclusions
A WIDE-SPEED HIGH TORQUE CAPABILITY
85
86
UTILIZING OVERMODULATION STRATEGY FOR
DIRECT TORQUE CONTROL OF INDUCTION
MACHINES
5.1
Introduction
86
5.2
Torque Capability in DTC
87
5.3
Improved Torque Capability with the Proposed
90
Overmodulation Strategy
5.3.1
Extending the Stator Voltage Operation to
90
x
Six-Step Mode
5.3.2
Extending the Limit of Stator Flux Angular
93
Frequency
5.3.3
5.4
Flux Weakening with Six-Step Mode
93
The Proposed Hybrid DTC Scheme
95
5.4.1
96
Hexagonal Flux Control in the Proposed
Hybrid Scheme
5.4.2
Definition of Dynamic Condition
5.5 Simulation and Experimental Results
5.5.1
Simulation of the Proposed Overmodulation
102
104
104
and Flux Weakening Strategy in the Hybrid
DTC Scheme
5.5.2
Experimental Set-up mproved Torque
110
Capability for Constant Switching Frequencybased DTC
5.5.3
Improved Torque Capability for Hysteresis-
112
based DTC
5.5.4
Improved Torque Capability for Constant
117
Switching Frequency-based DTC
5.6
6
Chapter Conclusions
121
DESCRIPTION OF THE EXPERIMENTAL SET-UP
122
6.1
Introduction
122
6.2
DS1102 Controller Board
124
6.3
Altera Field Programmable Gate Array – APEX20KE
129
6.4
Gate Drivers and 3-Phase Voltage Source Inverter
132
(VSI)
7
6.5
Induction Machines
135
6.6
Chapter Conclusions
137
CONCLUSION AND FUTURE WORK
138
7.1
Conclusions
138
7.2
Future Work
139
xi
REFERENCES
142
Appendices A-G
151-187
xii
LIST OF TABLES
TABLE NO.
TITLE
PAGE
2.1
Voltage vectors selection table as proposed in [13]
35
3.1
Induction machine parameters
51
3.2
PI controllers gains and crossover frequency
52
4.1
DTC-Hysteresis based system and induction machine
73
parameters
5.1
DTC-Hysteresis Based/Hybrid Systems and Induction
111
Machine Parameters
6.1
Induction machine parameters
136
xiii
LIST OF FIGURES
FIGURE NO.
1.1
TITLE
Control structure of basic DTC-hysteresis based
PAGE
4
induction machine
1.2
Variations of modified reference voltage vectors
7
which is applied during dynamic overmodulation
mode
1.3
A general block diagram of generation of switching in
10
DTC-SVM
2.1
Cross-section of a single pole-pair three-phase
17
machine
2.2
A space vector x in the three-phase symmetric system
19
(based on (2.1))
2.3
Schematic diagram of Voltage Source Inverter (VSI)
23
2.4
Voltage space vectors of a 3-phase inverter with the
24
corresponded switching states
2.5
Control of flux magnitude using a 2-level hysteresis
25
comparator
2.6
Typical waveforms of the stator flux, the flux error
26
xiv
and the flux error status for the two-level hysteresis
flux comparator
2.7
Definition of six sectors of the stator flux plane
27
2.8
Two possible active voltages are switched for each
27
sector to control the stator flux within its hysteresis
band
2.9
The variation of δsr with application of (a) active
29
voltage vector, (b) zero or radial voltage vector, (c)
reverse voltage vector
2.10
The application of voltage vectors in controlling the δsr
31
as well as the output torque for 4-quadrant operation
2.11
Control of torque using a 3-level hysteresis comparator
33
2.12
Typical waveforms of the torque, the torque error and
33
the torque error status for the three-level hysteresis
torque comparator
2.13
A de-coupled control structure of DTC-hysteresis
34
based induction machine
2.14
The waveforms of output torque sampled at DT in the
39
hysteresis comparator for (a) low speed, (b) middle
speed and (c) high speed
2.15
Experimental results of control of output torque
utilizing three-level hysteresis comparator (in
hysteresis based-DTC). (a) Hysteresis band = 2HBTe,
sampling time=2DT, (b) hysteresis band = HBTe,
41
xv
sampling time=2DT and (c) Hysteresis band = HBTe,
sampling time=DT
3.1
Constant frequency torque controller (CFTC)
45
3.2
Typical waveforms of the constant frequency torque
45
controller
3.3
Generated upper triangular waveform using DSP
46
(sampled at DT µs)
3.4
Averaged and linearized torque loop (as proposed in
49
[32])
3.5
Generated upper triangular waveforms sampled at 55
51
µs. (a) DTC-CSF1, (b) DTC-CSF2 and (c) DTC-CSF3
3.6
Bode plot of loop gain with PI controller for (a) DTC-
52
CSF1, (b) DTC-CSF2 and (c) DTC-CSF3
3.7
Experimental results of phase current frequency
54
spectrum and output torque for the basic DTC, DTCCSF1, DTC-CSF2 and DTC-CSF3 at the speed about
(a) 20 rad/s (b) 30 rad/s and (c) 55 rad/s
3.8
Experimental results for step response of torque in (a)
DTC-hysteresis based, (b) DTC-CSF1, (c) DTC-CSF2
and (d) DTC-CSF3. (1) is output torque, (2) is
reference torque, (3) is torque error, (4) is output of PI
controller, (5) is upper triangular waveform, (6) is
torque error status. (x-axis or time scale: 2 ms/div.)
55
xvi
3.9
The zoomed image (zoomed area indicated by '↔’) of
56
the waveforms of upper triangular and output of PI
controller for (a) DTC-CSF1, (b) DTC-CSF2 and (c)
DTC-CSF3, corresponds the results obtained in Figure
3.8 (b),(c) and (d). (Time scale: 1 ms/div.)
3.10
Experimental results of output torque, motor speed and
57
d-axis flux component for a square-wave speed
reference for (a) the basic DTC and (b) DTC-CSF2
based induction machine drives
4.1
The selection of two possible active voltage vectors in
60
controlling the flux in Sector III
4.2
Space vectors of the applied voltage, the stator flux
61
and the rotor flux
4.3
Inconsistent torque slope due to selection of different
62
voltage vectors
4.4
Effects of selecting different switching modes under
64
torque dynamic conditions (a) when the stator flux is
about to enter sector h, (b) when the stator flux is at
the middle of sector h
4.5
Comparison of the load angle, ∆δsr for three different
65
modes of switching under torque dynamic conditions
(a) when the stator flux is about to enter sector h (b)
when the stator flux is at the middle of sector h
4.6
Structure of DTC-hysteresis based induction machine
with the proposed modification of flux error status
67
xvii
4.7
The proposed digital outputs in modified flux error
68
status correspond to the optimized voltage vectors for
every subsector in each sector
4.8
Simulink blocks of the DTC drive with the proposed
70
block of modification of flux error status
4.9
Identification of flux sector and determination of the
71
appropriate flux error status in the block of
modification of flux error status
4.10
Generation of reference torque from 1.5 Nm to 9 Nm
72
at a specific flux positions (i.e. case1 at the middle
Sector II or case2 at the boundary Sector I and II)
4.11
Experimental Set-up (DTC with torque control loop)
74
4.12
Comparison by simulation and experimental of
76
dynamic torque performance between (a) DTC1 and
(b) DTC2, when a dynamic torque control occurs as
the stator flux position at αh=π/24 rad.
4.13
Comparison by simulation and experimental of
77
dynamic torque performance between (a) DTC1 and
(b) DTC2, when a dynamic torque control occurs as
the stator flux position at αh=π/6 rad. (at the middle of
Sector II)
4.14
Comparison of stator flux locus obtained in (a) DTC1
and (b) DTC2 (for one complete flux wave cycle)
when a dynamic torque condition occurs at αh=π/24
rad.
78
xviii
4.15
Comparison of stator flux locus obtained in (a) DTC1
79
and (b) DTC2 (for one complete flux wave cycle)
when a dynamic torque condition occurs at αh=π/6 rad.
4.16
Structure of DTC-constant switching frequency (DTC-
80
CSF) based induction machine with the proposed
modification of flux error status block
4.17
Comparison by experimental of dynamic torque
81
performance for (a) DTC1, (b) DTC2 and (c) DTCCSF2 when a dynamic torque control occurs as the
stator flux position at αh=π/24 rad.. (1) is stator flux
(Wb), (2) is flux error status, (3) is output torque (Nm)
and (4) is torque error status
4.18
Comparison by experimental of dynamic torque
82
performance for (a) DTC1, (b) DTC2 and (c) DTCCSF2 when a dynamic torque control occurs as the
stator flux position at αh=π/6 rad.. (1) is stator flux
(Wb), (2) is flux error status, (3) is output torque (Nm)
and (4) is torque error status
4.19
The behavior of motor currents since the flux
84
magnitude suddenly distorted due to the proposed
switching strategy as the dynamic torque occurs at
αh=π/24 rad. and αh=π/6 rad. The dynamic torque
control is applied at three different speed operations
for (a) at around 100 rpm (b) at around 300 rpm (c) at
around 540 rpm
5.1
Phasor diagrams of vectors of stator voltage, ohmic
voltage drop and back-emf for (a) low speed operation
and (b) base speed operation
88
xix
5.2
The mapping of the voltage vector and the stator flux
92
trajectories
5.3
The comparison of the performances of stator voltage
92
and torque capability for (a) DTC without the
proposed overmodulation and (b) DTC with the
proposed overmodulation (Time scale: 162.5 ms/div.)
5.4
More rapid motor acceleration achieved with the
95
proposed overmodulation and flux weakening strategy
when a step change of reference speed is applied at
time t1
5.5
The structure of hybrid DTC of induction motor drive
97
with the proposed block of ‘modification of flux error
status’
5.6
Ideal case of hexagonal flux control based on Ψs-
98
5.7
Effect of ohmic voltage drop on the trajectory of stator
100
flux vector. (a) stator flux locus (b) phasor diagram of
(5.3)
5.8
Flux keeps the increase as it enters to subsector ii until
it reaches to the point c. (i.e. path b-c) with the Ψs,mod
101
-
=0
5.9
State diagram of finite state machine that establishes
101
the modified flux error status (Ψs,mod-) for proper
hexagonal flux locus operation
5.10
The selection of flux error status in the block of
modification of flux error status. (a) Original flux
103
xx
error status Ψs+ for circular locus (b) Modified flux
error status Ψs,mod- for hexagonal locus
5.11
Block diagram of a PI speed controller and flux
103
weakening algorithm
5.12
Simulink blocks of the DTC drive with the proposed
107
block of modification of flux error status and the block
of a PI speed controller and a flux weakening
algorithm
5.13
Identification of flux sector and determination of the
108
appropriate flux error status Ψs,mod- (based on Figure
5.9), in the block of modification of flux error status
5.14
Generation of references of torque and stator flux from
109
a PI speed controller and flux weakening algorithm
5.15
Experimental Set-up (DTC with speed control loop)
110
5.16
Comparison of capability of torque obtained in (a)
113
DTC-HYS1 and (b) DTC-HYS3 (Time scale:
400ms/div.)
5.17
Comparison of torque control as the speed reaches its
115
target for (a) DTC-HYS2 and (b) DTC-HYS3 (Time
scale: 400ms/div.)
5.18
Stator flux locus correspond to the results obtained in
Figures 5.16 and 5.17 for (a) DTC-HYS1, (b) DTCHYS2 and (c) DTC-HYS3
116
xxi
5.19
Comparison performances of torque capability, current
119
wave shape and torque ripple in (a) DTC-HYS1, (b)
DTC-HYS3, (c) DSC and (d) DTC-CSF2
5.20
Comparison by experimentation of torque capability in
120
flux weakening region obtained in (a) DTC-HYS1, (b)
DTC-HYS3 and (c) DTC-CSF2 (Time scale:
400ms/div.)
5.21
Comparison of torque dynamic performance in a flux
121
weakening region, obtained in (a) DTC-HYS1, (b)
DTC-HYS3 and (c) DTC-CSF2 (which is corresponded
to the results obtained in Figure 5.20) (Time scale:
40ms/div.)
6.1
Complete drive system (a) picture of the experiment
123
set-up, (b) functional block diagram of the experiment
set-up
6.2
Identifying sectors of the stator flux (a) definition of
125
Ψsq,1, (b) determining sector based on threshold values,
i.e. 0 and Ψsq,1
6.3
Identifying sectors of the stator flux (a) definition of
127
Ψsq,1, (b) determining sector using Ψsq,1
6.4
Altera FPGA (APEX20KE)
129
6.5
Block diagram of voltage vectors selection table and
131
blanking time generation
6.6
Block diagram of blanking time generation for a single
leg (i.e. phase a)
131
xxii
6.7
Timing diagram of blanking time generation for a
132
single leg (i.e. phase a)
6.8
Schematic of the gate driver circuit
133
6.9
Schematic of the IGBT module with the capacitor
134
Snubbers
6.10
Gate drivers and VSI
134
6.11
A coupling between induction machine (right) and DC
136
machine (left)
xxiii
LIST OF SYMBOLS AND ABBREVIATIONS
AC
-
Alternating Current
ADC
-
Analog to digital converter
B
-
Viscous friction
CFTC
-
Constant Frequency Torque Controller
Cupper
-
Upper triangular carrier
Clower
-
Lower triangular carrier
Cp-p
-
Peak to peak value of the triangular carrier
d,q
-
Direct and quadrature axis of the stationary reference frame
dΨs, q Ψs
-
Direct and quadrature axis of the estimated stator flux
reference frame
DAC
-
Digital to analog converter
DC
-
Direct Current
DSP
-
Digital Signal Processor
DTC
-
Direct Torque Control
DSC
-
Direct Self Control
emf
-
Electromotive force
fc
-
Carrier frequency
fsw
-
Switching frequency
FOC
-
Field Oriented Control
FPGA
-
Field Programmable Gate Array
I.E
-
Incremental Encoder
I.M
-
Induction Machine
isg, irg
-
Stator and rotor current space vectors in general reference
frame
is, ir
-
Stator and rotor current space vectors in stationary reference
frame
ird, irq
-
d and q components of the rotor current in stationary
xxiv
reference frame
isd, isq
-
d and q components of the stator current in stationary
reference frame
J
-
Moment of inertia
kp
-
Proportional gain of the PI controller for CFTC
kpw
-
Proportional gain of the PI controller for speed controller
ki
-
Integral gain of the PI controller for CFTC
kpw
-
Integral gain of the PI controller for speed controller
Lm
-
Mutual inductance
Ls
-
Stator self-inductance
Lr
-
Rotor self-inductance
P
-
Number of pole pairs
PI
-
Proportional - Integral
p.p.r
-
Pulse per revolution
PWM
-
Pulse Width Modulation
Rs, Rr
-
Stator and rotor resistance
r.m.s
-
Root mean squared
SVM
-
Space Vector Modulation
Sa, Sb, Sc
-
Switching states of phase a, b, c
Te
-
Electromagnetic torque
Te,rated
-
Torque rated
Te,ref
-
Reference torque
TPI
-
Output of PI controller for the CFTC
Tstat
Torque error status
ttri
-
Period of Cupper or Clower
THD
-
Total Harmonic Distortion
VDC
-
DC link voltage
vsg
-
Stator voltage space vector in general reference frame
vs
-
Stator voltage space vector in stationary reference frame
vsd, vsq
-
d and q components of the stator voltage in stationary
reference frame
VHDL
-
VHSIC hardware description language
VSI
-
Voltage Source Inverter
αh
-
Angle within sector h
xxv
θr
-
Angle with respect to rotor axis
θs
-
Angle with respect to stator axis
δsr
-
Difference angle between stator flux linkage and rotor flux
linkage
Ψsg, Ψrg
-
Stator and rotor flux linkage space vectors in general reference
frame
Ψs, Ψr
-
Stator and rotor flux linkage space vectors in stationary
reference frame
Ψs
Ψsd, Ψsq
Ψs
Ψsd , Ψsq
Ψs
-
Estimated stator flux linkage
-
d and q components of stator flux in stationary reference frame
-
d and q components of stator flux in stator flux reference
frame
ωr
-
Rotor electrical speed in rad./s
ωe
-
Steady state synchronous frequency in rad./s
ωm
-
Rotor mechanical speed in rad./s
ωslip
-
Steady state slip frequency in rad./s
σ
-
Total flux leakage factor
τr
-
Rotor time constant
xxvi
LIST OF APPENDICES
APPENDIX
TITLE
PAGE
A
Derivation of torque and flux equations
151
B
Derivation of torque rate equation
153
C
Derivation of the relationship between the
156
angle δsr and the slip angular frequency
D
Simulation of DTC
158
E
DSP source code listings
164
F
VHDL code
178
G
List of Publications
184
CHAPTER 1
INTRODUCTION
1.1
A Look Back on Development of Vector Control Induction Machine
Drives
In the past decades, DC machines have been used extensively in many
applications due to its simplicity and offers high performance torque control. Their
mechanical commutation action forms the torque and flux components that are
always orthogonal, which allows high performance control achieved under optimal
conditions. Despite their excellent performance and simple control structure, the
construction using the mechanical commutator and brush cause some limitations.
For examples, they require regular maintenance and cannot be operated in the dirty
or explosive environment, their speed is limited and they are expensive. Unlike DC
machines, the induction machines are robust, require less maintenance, cheaper and
able to operate at higher speed. The induction machines became popular and
gradually replacing DC machine drives in many industrial applications as the Field
Oriented Control (FOC) introduced by F. Blachke in 1970’s can produce comparable
performance to that obtained in DC machines [1]. Moreover, their popularity is also
assisted by the rapid development in power semiconductor devices and the
emergence of high-speed microprocessor and digital signal processors [2]. FOC of
induction machines can provide a decoupled control of torque and flux using their
respective producing current components, which is similar to the DC machine
control method. This is possible by considering the stator current vector in the
rotating reference frame so that the orthogonal components of the stator current
(represent as torque and flux producing current components) appear as DC
2
quantities. The rotating reference frame refers to the rotating space vector quantity
which can be either rotor flux or stator flux. The one which is based on rotor flux
(referred as Rotor Flux Oriented Control (RFOC)) is sensitive to the parameter
variations, and also it requires the knowledge of rotor speed. The improvements of
the FOC performance were reported in many technical papers; these include the
areas of robust control [3-5], improved flux estimator [6-9] and sensorless speed
control [10-12].
1.2
Direct Torque Control of Induction Machines
Over the past years, Direct Torque Control (DTC) scheme for induction
motor drives [13] has received enormous attention in industrial motor drive
applications. It was also used as the main platform for the ABB inverter technology,
and the first DTC drive was marketed by ABB in 1996 [14-15]. Its popularity
increases since it offers a faster instantaneous dynamic control and its control
structure is simpler compared to the field-oriented control (FOC) scheme [13, 16-17].
In DTC, the torque and flux are controlled independently, in which their demands are
satisfied simultaneously using optimum voltage vectors. Unlike the FOC drives,
where the torque and flux are controlled corresponded to their producing current
components (i.e. d and q axis components of stator current) which requires frame
transformer, knowledge of machine parameters and current regulated Pulse Width
Modulation (PWM).
1.2.1
The Structure of Basic DTC
The simple control structure of DTC proposed by Takahashi [13] is shown in
Figure 1.1. It contains a pair of hysteresis comparators, torque and flux estimators,
switching table for voltage vectors selection and a 3-phaseVoltage Source Inverter
(VSI). A decoupled control structure is provided in the scheme, wherein the
electromagnetic torque and the stator flux can be controlled independently using 3-
3
level and 2-level hysteresis comparators, respectively. To satisfy the torque and flux
demands, the appropriate voltage vector for a particular flux sector should be chosen,
either to increase torque or to reduce torque and at the same time either to increase
stator flux or to decrease stator flux; based on torque error status, flux error status
and flux orientation. In fact, high performance control in DTC drive with proper
selection of voltage vectors can be established if the flux as well as torque is
estimated accurately. A combination of the voltage model and the current model
using a first-order lag network was implemented in [13] to obtain a proper flux
estimator for entire speed range operations. The use of the current model is superior
in estimating the flux at very low speed operations, but it requires the knowledge of
motor speed, which in turns requires an observer or a speed sensor from the motor
shaft. On the other hand, the implementation of the voltage model provides better
flux estimation for high speed operations and requires only stator resistance and
terminal quantities (i.e. stator voltages and stator currents), which leads to the robust
control of DTC. However, the digital implementation of this model utilizing
microprocessor or digital signal processor introduces some problems, i.e. the
integration drift and initial condition problems [18-20].
In hysteresis-based DTC, the switching frequency of VSI is totally
contributed by the switching in the hysteresis comparators. It was highlighted in [2123] that the slopes of torque and flux, which relatively affect the switching in their
hysteresis comparators, vary with the operating conditions (i.e. rotor speed, stator
and rotor fluxes and DC link voltage). This causes the switching frequency of VSI
also varies with the operating conditions. The variation in the switching frequency
as a result produces unpredictable harmonic current flow. For this reason, the
switching devices cannot be fully utilized to its maximum frequency capability for
most operating conditions, since the selection of hysteresis band’s width is based on
the worst condition.
4
Te,ref +
Switching Sa, Sb, Sc
table
Ψs,ref
+
Voltage
source
inverter
(VSI)
IM
Te
Ψs
sector
Stator flux and electromagnetic torque
estimators (i.e. only using the voltage model)
ia,ib,ic
va,vb,vc
Figure 1.1 Control structure of basic DTC-hysteresis based induction machine
1.2.2
Improvements of DTC Performance
Since DTC was first introduced in 1986 [13], several variations to its original
structure (which referred to as DTC hysteresis-based) were proposed to improve the
performance of DTC of induction machines. Noticeably, most researches in last
decades aimed to overcome the inherent disadvantages of hysteresis-based DTC
schemes, such as variable switching frequency and high torque ripple. In addition,
some recent researches interested to facilitate the DTC to be operated in
overmodulation mode that will improve the dynamic performance and the power
output of DTC of induction machines. To relate the study of this thesis, some
reviews on improvements of DTC are concentrated into three following research
areas:
Torque Ripple Reduction or/and Constant Switching Frequency
Basically, the output torque ripple can be reduced by reducing the band width
of hysteresis comparator to the appropriate value. The selection of the appropriate
5
band width is based on the worst operating conditions [24]. This will ensure the
switching frequency of switching devices do not exceed its limit (or thermal
restriction). It is also desirable to use a high speed processor to keep the ripple
within the band, in such a way the discrete hysteresis controller will perform like the
analog one.
Instead of decreasing the hysteresis band and using a high speed processor,
the ripple can be minimized by injecting high-frequency triangular waveforms to the
errors of torque and flux [25]. This method is called dithering technique, which is
simple and effective to minimize the torque ripple even performing DTC at limited
sampling frequency. However, it still produces unpredictable switching frequency
since the torque and flux slopes which are related to the switching frequency, do vary
with operating conditions [23, 26].
Several methods had been proposed to provide a constant switching
frequency as well as reduced output torque ripple [22, 27-38]. In [27], a constant
switching frequency is established in the hysteresis-based DTC by adjusting the band
width of the hysteresis comparators according to the changes in operating conditions.
The adjustable of band width is based on a PI controller and a pulse counter, for each
comparator. This, consequently, increases the complexity of the DTC drive.
Moreover, this technique does not guarantee reduction of torque ripple as it is
inevitable in the implementation of discrete hysteresis controllers. Another approach
to minimize the torque ripple is to control the DTC switching based on optimal
switching instant that satisfies the minimum-torque ripple condition [22, 29-30]. In
this way, the term so called a duty ratio is determined so that the appropriate active
state is switched for some portion of a switching period, and the zero vector is
selected for the rest of the period. It was shown in [24] that the switching frequency
is strongly affected by the torque hysteresis band. Thus, it makes sense that the
almost constant switching frequency as well as reduced torque ripple can be achieved
if the control of torque error is performed at a higher and a constant frequency. As
proposed by [32], the principal operation of torque controller using the hysteresisbased is replaced with a triangular carrier-based. The improvement is achieved and
at the same time retains the simple control structure of DTC. The most common
6
approach to solve the problems is using the space vector modulation [28, 31, 33-35].
In this approach, the switching period is subdivided into three or more states, to
synthesize the desired voltage vector in order to produce the minimum torque ripple.
Recently, predictive control strategy to DTC has gain considerable amount of
attention particularly due to its ability to reduce the torque ripple and switching
frequency [36-39]. In particular model predictive control (MPC) which was applied
in [38] and [36] uses the hysteresis comparators but with the switching table replaced
with online optimization algorithm.
Fast Torque Dynamic Control through Dynamic Overmodulation Strategy
Without the need to use any extra hardware, the torque dynamic performance
can be improved by fully utilizing the available DC link voltage through
overmodulation. To perform the DTC under the overmodulation mode, it is
preferable to use the Space Vector Modulation (SVM) [28, 40-44] rather than other
techniques (for example, [45-46] use the triangular carrier based). This is because,
the SVM is more flexible to be adopted for advanced motor control where only a
single reference voltage vector vs,ref is employed to define the mode of
overmodulation.
During large torque demand, it is inevitable that the reference voltage vs,ref
exceeds the voltage vector limits enclosed by the hexagonal boundary. Under this
condition, the SVM has to be operated in what is termed as dynamic overmodulation
mode. The voltage reference vector vs,ref has to be modified such that it will lie on
the hexagonal boundary.
Several methods [28, 43, 47-49] have been proposed and to some extent,
these methods have managed to minimize the voltage vector error as well as obtained
a fast torque response. Figure 1.2 compares some modified voltage references, v[i]
(e.g. when i =1, proposed in [1]) with respect to the original voltage reference vector,
7
vs,ref, which is beyond the hexagonal boundary of the voltage vectors. Note that,
voltage vector components are not drawn to scale. It can be seen that (from Figure
1.2), [42] and [50] switched only single voltage vector which is vs,h+2 during dynamic
overmodulation. This single selection of vector shows the occurrence of a six-step
operation that produces the fastest dynamic torque control as will be discussed later
in Chapter 4. While the other methods result in slower dynamic torque response
since two active states are alternately switched during the dynamic condition. For
example, [28] used two active states utilizing dead-beat control in order to maintain
the magnitude of stator flux under control for any condition. Later, [43] was
proposed to simplify the complexity control structure in [28], (where it does not
provide a dead beat control of the magnitude flux as a transient torque encountered)
and hence results in a faster dynamic torque control. In this way, the modified
voltage vector, v[43] has the same angle, γ as the original reference voltage, vs,ref but
with a modified magnitude. In [47], the reference voltage, vs,ref was modified to v[47]
such that the error between the magnitude of v[47] and vs,ref is minimized. This means
the modified voltage vector, v[47] should be closest to the original reference vector
vs,ref by ensuring that a line joining the vs,ref and v[47] is orthogonal to the hexagon
boundary.
*Note:
v[i] proposed in [i]
v[42], v[50]
vs,ref
v[47]
vs,h+2
v[43] v[28]
vs,h+1
Hexagonal
boundary
h+1
ΔΨs ≈ v[28].Δt
γ
h+2
h
h+3
Ψs
h+4
h-1
Locus of
flux
reference
Figure 1.2 Variations of modified reference voltage vectors which is applied during
dynamic overmodulation mode
8
Enhanced Torque Capability using Flux Weakening or/and Overmodulation
Strategy
A wide-speed high torque capability is a very important feature in many
electric motor drive applications. In automotive applications, it is usually referred to
as a high ‘Constant Power Speed Range’ (CPSR). The availability of wide range of
speed operations with the maximum capability of torque is of main concern,
especially for the road electric vehicles where multiple gears have to be avoided.
In practice, a flux weakening strategy is normally used to extend the motor
speed operations beyond the base speed and to enhance the capability of torque.
Several papers were published [42, 50-63] proposing the solution of achieving
maximum torque capability in field weakening region. The common approach
adopted is to estimate the optimal flux level of the motor based on the maximum
values of inverter voltage and inverter current. Typically, the algorithms require
frame transformer, knowledge of machine parameters and space-vector modulator.
For examples, [53] used Field Oriented Control-Space Vector Modulation (FOCSVM) while [63] used Direct Torque Control-Space Vector Modulation (DTCSVM), and they consider voltage and current limit conditions to compute the
controllable currents (in stator flux reference frame) in achieving the appropriate flux
level in field weakening region. Besides that, some papers had been reported to
provide a robust field weakening strategy so that any variations of machine
parameters used in calculating the optimal flux can be compensated [55, 59, 61-62].
In order to achieve the fastest torque dynamic response as well as high torque
capability in a flux weakening region, the DTC needs to have the capability to
operate in six-step mode. However, only a few schemes have the ability to perform
this; i.e. [42] used DTC-SVM with the predictive-deadbeat control and [50] used
Direct Self Control with hexagonal flux operation.
9
1.2.3
The Popularity Versus The Complexity of DTC-SVM based induction
machines
The most popular variation of DTC of induction motor drives is the one that
is based on space vector modulation (SVM), which normally referred to as DTCSVM [28, 33, 40, 42, 64-66]. As mentioned previously, the advantages provided by
this scheme not only solve the inherent problems in hysteresis-based DTC but also
facilitate the DTC performs under overmodulation region. Moreover, the study of
the SVM itself in the area of overmodulation strategy improvement for 3-phase VSI
was reported by many researchers [41, 46-47, 49, 66-73]. All these evidences show
that the implementation of SVM to operate under overmodulation region is well
established, and widely adopted for advanced motor control.
The major difference between DTC hysteresis-based and DTC-SVM is the
way the stator voltage is generated. In DTC hysteresis-based the applied stator
voltage depends on voltage vectors, which are selected from a look-up table. The
selections are based on the requirement of the torque and flux demand obtained from
the hysteresis comparators. On the other hand, in DTC-SVM, a stator voltage
reference is calculated or generated within a sampling period, which is then
synthesized using the space vector modulator. The stator voltage reference vector is
calculated based on the requirement of torque and flux demands. Due to the regular
sampling in SVM, the DTC-SVM produces constant switching frequency as opposed
to the variable switching frequency in hysteresis-based DTC however, at the expense
of more complex implementation.
The generation of reference voltage vs,ref often involves complex calculation.
For examples; [28] used dead-beat control with several complicated equations (i.e.
quadratic equations) to generate the reference voltage in real-time and [64] utilized
predictive control of stator flux error vector to estimate the reference voltage and
needed extra calculation on the synchronous angular velocity. While the others
include the use of proportional-integral current controller [40], stator flux vector
error [65, 74-75], proportional-integral torque and flux controllers [33, 76-77],
predictive and dead-beat controllers [42-43]. Moreover, the implementation of DTC-
10
SVM becomes complicated as the reference voltage needs to modify whenever it
passes outside the hexagon (due to the physical constraint of inverter as the vs,ref
defines mode of overmodulation), particularly during a large torque demand. Some
modified reference voltages as mentioned previously are shown in Figure 1.2.
Figure 1.3 shows a general block diagram of generation of switching in DTC-SVM,
which contains three main components and the functional of the two of them are as
mentioned above.
Ultimately, all of the proposed methods [28, 33, 40, 42-43, 64-65, 74-77]
complicate the basic control structure of DTC drive systems as originally proposed in
[13].
Te,ref +
Te
ωΨs
vsd,mod
vsd,ref
Reference
voltage
generation
vsq,ref
Reference
voltage
modification
SVM
modulator
Sa, Sb, Sc
vsq,mod
Ψs,ref +
Ψs
Figure 1.3 A general block diagram of generation of switching in DTC-SVM
1.3
Thesis Objectives and Contributions
The objective of this thesis is to study, implement and improve the
performance of the DTC of induction machines. Despite the improvements, the
proposed methods also aim to preserve the simple control structure of DTC drive.
The thesis proposes a simple, yet significant, method of overmodulation strategy
employed in the DTC-hysteresis based induction machine to improve torque
dynamic control and to enhance torque capability for a wide speed range operation.
11
The thesis also shows that the proposed methods can be implemented using a
constant switching controller [32] (which has a similar control structure with the
hysteresis-based DTC), in order to give extra advantages of providing a constant
switching frequency and reduced torque ripple. While doing the research, the thesis
makes the following contributions:
It shows the reduction of torque ripple in [32] can be further reduced by
enlarging the constant frequency of triangular carriers. This is achieved
without the need of reducing the sampling period which is useful for the DSP
or microprocessor with a limited sampling frequency.
It analyses the effect of different voltage vectors selection on the performance
of torque dynamic control in DTC induction machine drive. Although the
hysteresis-based DTC is well established to give a high performance torque
control, there is still room to further improve the performance based on the
observation of the analysis.
It introduces a modification block of flux error status in the hysteresis-based
DTC drive which is responsible to perform dynamic overmodulation. This
technique is very simple, yet it gives the fastest torque dynamic control. The
introduced block can also be implemented in [32] to verify the improvements.
It justifies the extension of constant torque region and hence improvement of
torque capability can be obtained by controlling the locus of flux into
hexagonal shape. With this method, the stator voltage in the DTC drives (i.e.
in [32] and hysteresis-based DTC) can be transformed with a smooth
transition from PWM to the six-step mode.
It describes the modification of flux error status to establish the control of
hexagonal flux locus, particularly during dynamic conditions (i.e. large
torque demand or motor acceleration). The hybrid DTC is proposed to
operate the control of flux into dual mode, i.e. circular flux locus as
12
performed in DTC during the steady state (that produces lower current’s
THD) and hexagonal flux locus as performed in Direct Self Control (DSC)
when dynamic condition encountered (that gives superior dynamic
performance). The feasibility of the proposed method is verified using the
hysteresis-based DTC and the scheme proposed by [32].
It improves dynamic performances in flux weakening region. With the
proposed overmodulation strategy, the fastest torque dynamic control and
higher torque capability are achieved with the complete six-step voltage.
It introduces a step reduction of reference flux to ensure proper torque control
when a motor speed reaches its target in a flux weakening region. This is to
avoid an inappropriate level of reference flux (i.e. too high flux level) as the
hexagonal flux changes to the circular.
It develops a simulation and experimental set-up to verify the proposed
improvements on the DTC drive. The simulation is based on Matlab and
Simulink program from Mathworks inc.. The experimental set-up consists of
a DS1102 DSP controller board as the main processor and APEX20KE Altera
FPGA. The combined controller board is implemented so that the sampling
period of the DSP can be minimized by distributing some of the tasks to the
FPGA.
1.4
Methodology of Research
A novelty of the overmodulation strategy was developed by investigating
various overmodulation strategies, particularly associated with the SVM approach.
The switching pattern of the voltage vectors in overmodulation region was translated
or mapped onto the stator flux plane since there is no reference voltage vector in the
hysteresis-based DTC. A thorough investigation on the various flux weakening
13
strategies, constant switching frequency and reduced torque ripple strategy was also
carried out.
The development of the overmodulation strategy for the hysteresis-based
DTC is based on the modification of flux error status on the stator flux plane. To
achieve the fastest torque dynamic control, the most optimized voltage vector is
switched and held. The selection of the voltage is determined by the modified flux
error status. To enhance torque capability, the proposed overmodulation and flux
weakening strategies are utilized in the hybrid DTC scheme. This scheme performs
the control of flux in dual mode operations. This is established using the introduced
block named as ‘block of Modification of Flux Error Status’. The improvements
using the proposed methods also can be achieved with the extra advantages, i.e.
reduced torque ripple and constant switching frequency using the scheme proposed
by [32].
Once the algorithm for the overmodulation and field weakening was
developed, it had to be applied to the DTC drive and simulated using large signal
model. The Matlab/SIMULINK simulation package was used for this purpose.
The proposed overmodulation and field weakening strategies utilizing a
hybrid DTC scheme had been verified and evaluated for its feasibility and
effectiveness through hardware implementation. A state-of-the-art digital signal
processor and field programmable gate array devices (DS1102 controller board and
APEX20KE Altera FPGA) were used to implement the DTC controllers including
the overmodulation and field weakening strategies. A standard induction machine
with suitable loads and IGBT-based VSI had been used for this purpose.
14
1.5
Organisation of the Thesis
The rest of the thesis is organised as follows:
Chapter 2 describes the mathematical modeling of induction machine and the basic
principle of DTC of induction machines. The inherent problems in discrete
implementation of hysteresis-based DTC such as variable switching frequency, high
torque ripple and the need of high speed processor are also discussed.
Chapter 3 suggests to use the simple method proposed by [32] to perform a constant
switching frequency and to reduce output torque ripple, instead of using the common
approach that is SVM. A quick guide to design or to obtain a proper controller of the
Constant Frequency Torque Controller (CFTC) is presented. Further improvement in
reducing the torque ripple can be achieved by extending the triangular carrier
frequency to its maximum (which is equal to one-quarter of the maximum sampling
frequency achieved by the DSP).
Chapter 4 proposes a simple dynamic overmodulation to achieve the fastest torque
dynamic control. The effect of selecting two possible voltage vectors on the torque
dynamic performance is analyzed. Based on the observation, the most optimized
voltage vector is identified, and it is used to produce the fastest torque dynamic
response. Simulation and experimental results are presented to show the
effectiveness of the proposed method. Experimental results on the proposed method
implemented in [32] is also presented.
Chapter 5 proposes a simple overmodulation and flux weakening strategy utilizing
hybrid DTC scheme. The hybrid DTC scheme is constructed to facilitate the DTC
drive to operate similar to that of DSC, which is based on hexagonal flux locus. By
controlling the locus flux into hexagonal shape, the limit of stator voltage can be
reached up to the six-step mode as the motor operates in flux weakening region. As
a result, the hybrid DTC performs at higher torque capability and hence gives a lesser
motor acceleration time. Simulation and experimentation as well as comparison with
15
the conventional DTC scheme to verify the feasibility of the proposed method, are
presented. Experimental results on the proposed method implemented in [32] is also
presented.
Chapter 6 describes the experimental set-up used in the thesis. Details information
of each hardware component and the implementation of the tasks are given.
Chapter 7 gives the conclusion of the thesis and possible directions of further
research.
CHAPTER 2
OVERVIEW OF CONVENTIONAL DIRECT TORQUE CONTROL OF
INDUCTION MACHINES
2.1
Introduction
This chapter presents an overview of the conventional DTC of induction
machines. At first, the theory on space vectors and the modeling of induction
machine are presented. Then the principal of DTC of induction machine is given.
The major problems in hysteresis-based DTC such as variable switching frequency,
high torque ripple and the need of high speed processor are also discussed.
2.2
Mathematical Model of Induction Machine
It is desirable to obtain the mathematical model of induction machine in
studying the dynamic behavior of the DTC drives. When describing the DTC
performances of a 3-phase induction machine, the following assumptions are made
[78-80]:
•
The three-phase motor is symmetrical. The stator windings are Y-connected,
and it is electrically isolated to the neutral point. The rotor is assumed to be a
squirrel cage type.
•
The permeability of the iron parts is assumed to be infinity and the effects of
anisotropy, magnetic saturation, iron losses and eddy current are neglected.
17
•
The air-gap between the smooth surfaces of the stator and rotor has a constant
radial length. The flux density is radial in the air-gap.
•
Only the fundamental harmonic is considered, while the higher harmonics of
the flux density and magnetomotive force (mmf) in the air gap are negligible.
•
The rotation of space vector is considered to be positive rotation in the
counterclockwise direction. For any reference frame (i.e. stationary, rotor or
stator flux reference frame), the real axis of the reference winding coincides
with the phase A winding axis.
The cross-section view of the symmetrical two-pole machine with the above
assumptions is illustrated in Figure 2.1. As shown by this figure, it should be noted
that the d and q are the real and imaginary axis of the stationary stator, while the dr
and qr are the real and imaginary axis of the rotor.
q
qr
sA
θr
dr
sC’
sB’
rA’
rB
α
rC
θs
d
rC’
rA
rB’
sB
sC
sA’
Figure 2.1 Cross-section of a single pole-pair three-phase machine
18
2.2.1
Complex Space Vector Equations
The performance analysis of induction machine is easier to describe using the
machine equations in terms of complex space vector or space phasor quantities [7881]. With this method, the number of dynamic equations of three phase variables
(i.e. currents, voltages, mmf or fluxes) can be reduced to a single vector which can be
represented in various rectangular coordinate systems.
In general a space vector quantity can be defined as:
x=
2
2
 x + a xb + a x c 

3 a
(2.1)
where xa, xb, xc are the three phase quantities, a equals to ej2π/3 (complex unit vector),
the coefficient 2/3 in (2.1) corresponds to the non-power invariant definition of the
space phasor [80]. The space vector x and its phase quantities given in (2.1) can be
drawn as illustrated in Figure 2.2.
The space vector x in the coordinate system shown in Figure 2.2 can be
expressed in terms of d-axis and q-axis components by separating the real and
imaginary terms of (2.1), i.e.,
1
1 
2
 2
x d = Re [x ] = Re   x + a x + a 2 x   =  x − x − x 
a
b
c
a
b
 3 
2
2 c
3 
(2.2)
1
2

x q = Im[ x ] = Im   x + a x + a 2 x   =
x −x
a
b
c

3 b c
3 
(2.3)
(
)
19
q
3x/2
a2xc
x
a
2
π rad.
3
axb
1
d
xa
2
π rad.
3
a2
Figure 2.2 A space vector x in the three-phase symmetric system (based on (2.1))
Based on the definition of space vector given above, the induction machine
equations in terms of complex space phasor quantity in the general reference frame
can be expressed as follows [80]:
v sg = R s i sg +
0 = R r i rg +
d Ψ sg
+ jω g Ψ sg
dt
d Ψ rg
+ j (ω g − ω r )Ψ rg
dt
(2.4)
(2.5)
Ψ sg = L s i sg + Lm i rg
(2.6)
Ψ rg = Lr i rg + L m i sg
(2.7)
Te =
3
P Ψ sg × i sg
2
(2.8)
20
J
dωm
2 dωr
=J
= Te − Tload
dt
p dt
(2.9)
where P is the number of pole pairs, ωr is the rotor electric angular speed in rad./s,
ωm is the motor speed in rad./s, J is the total moment of inertia, Ls, Lr and Lm are the
motor inductances, Rs is the stator resistance and Rr is the rotor resistance. Note that,
the superscript ‘g’ in the above equations indicates the quantity is referred to the
general reference frame, which rotates at ωg.
2.2.2
d-q axis Equations
The electrical transient model of induction machine is based on (2.4) to (2.7).
Converting these equations to their equivalent d-q axis forms in the stationary
reference frame (ωg=0), the following equations are obtained:
v sd = Rs isd +
d
Ψ sd
dt
(2.10)
v sq = R s isq +
d
Ψ sq
dt
(2.11)
v rd = Rr ird +
d
Ψ rd + ωrΨ rq
dt
(2.12)
v rq = R r i rq +
d
Ψ rq − ω rΨ rd
dt
(2.13)
Ψ sd = Lsl isd + Lm (isd + ird ) = Ls isd + Lm i rd
(2.14)
Ψ rd = Lrl ird + Lm (isd + ird ) = Lr ird + Lm i sd
(2.15)
Ψ md = Lm (i sd + i rd )
(2.16)
21
Ψ sq = L sl isq + Lm (i sq + irq ) = L s i sq + L m irq
(2.17)
Ψ rq = Lrl irq + Lm (i sq + irq ) = Lr irq + Lm irq
(2.18)
Ψ mq = L m (isq + irq )
(2.19)
These equations ((2.10) to (2.19)) can be re-arranged to obtain a matrix form
as given by (2.20).
v sd 
v 
 sq  =
 v rd 
 
 v rq 
 Rs + sL s
 0

 sLm

 − ω r Lm
0
sL m
R s + sL s
0
ω r Lm
sL m
Rr + sLr
ωr L r
  i sd 
 
sL m   i sq 
ωr Lr   i rd 
 
Rr + sL r   i rq 
0
(2.20)
where ‘s’ is the Laplace operator which represents the d/dt. For the purpose of
simulation, the equations (2.10) to (2.19) should be transformed into state space
forms where the currents are set to be the state vectors while the stator voltages
become the control or input vectors. This is obtained by re-arranging (2.20) and is
given by (2.21) [79,82].
 • 
 i sd 
 • 
 i sq 
1
 • = 2
 i rd  L m − L r L s
 • 
 i rq 
 
 Rs Lr

2
 ω r Lm
 −R L
s m

 − ω r L m L s
- ω r L2m
− R r Lm
Rs Lr
ω r Lm Lr
ω r Lm L s
Rr Ls
− R s Lm
− ωr Lr Ls
− ω r L m L r   i sd 
 
− R r L m   i sq 
1
+
ω r L r L s   i rd  L2m − L r L s
 
R r L s   i rq 
− L r

 0
 Lm

 0
0 

L r   v sd 
.

0   v sq 

L m 
(2.21)
22
From equation (2.8), the torque equation in stationary reference frame can be
expressed as:
Te =
3
3
P Ψ s × i s = P (L s i s + L m i r ) × i s
2
2
(2.22)
In terms of d and q axis components, the torque equation in (2.22) can be written as
Te =
2.3
3
PL m (i rd i sq + i rq i sd )
2
(2.23)
Basic Principles of Direct Torque Control
This section reviews the basic principles of hysteresis-based Direct Torque
Control (DTC) of induction machine. First, the 3-phase VSI and its voltage space
vectors are briefly explained. It will be shown that the direct control of flux and
direct control of torque can be performed by employing the appropriate voltage
vectors of eight possible switch configurations in the 3-phase VSI. A decoupled
control of stator flux and torque is obtained, which allows the DTC to produce fast
instantaneous torque and flux controls, with a simple control structure. The simplest
form of flux estimation known as voltage model is also presented.
2.3.1
3-Phase Voltage Source Inverter Space Vectors
A 3-phase voltage source inverter (VSI) contains six numbers of power
switching devices (i.e. IGBTs, GTOs, etc.) which serves to transform the available
DC link voltage to the desired AC voltage. Figure 2.3 shows the 3-phase VSI that is
connected to the Y windings of induction machine. Note that the selector switch for
23
each leg (or phase) of VSI is the representation of the upper and lower switches
which are complementary to each other. This means the switching state of each
phase, i.e. Sa, Sb or S c equals to 1 when the upper switch of the leg is ON and the
lower switch is OFF, otherwise, the switching state equals to 0.
From Figure 2.3, it can be shown that the combination of switching states in
the VSI can provide eight possible switch configurations, which define the eight
different voltage space vectors. In general, the phase voltage space vectors of the 3phase VSI in terms of switching states are given by (2.24).
v s,k =
2
VDC S a + a S b + a 2 S c
3
(
)
1
+
VDC
-
where a=ej2π/3 and k=0,1,2,….7.
Sa
0
VSI
1
va
Sb
0
(2.24)
1
vb
Sc
0
vc
q
IM
vn
d
Figure 2.3 Schematic diagram of Voltage Source Inverter (VSI)
The phase voltage space vectors are drawn based on (2.24) and are shown in
Figure 2.4. For convenience, the corresponded switching states for each voltage are
given in the square bracket, i.e. [SaSbSc]. There are six non-zero space phasors that
each has the same magnitude (i.e. 2VDC/3) but with a different phase angle, and the
two zero voltage vectors at the origin of the voltage plane.
24
q
vs,4 [010]
vs,3 [110]
vs,0
[000]
vs,5
[011]
vs,7
[111]
vs,6 [001]
vs,2
[100]
d
vs,1 [101]
Figure 2.4 Voltage space vectors of a 3-phase inverter with the corresponded
switching states
2.3.2
Direct Flux Control
The space vectors in the stator voltage equation given in (2.4) can be
represented in the stationary reference frame as given by (2.25).
v s = Rs is +
dΨs
dt
(2.25)
The effect of ohmic drop voltage in (2.25) is too small compared to the
applied voltage. Thus, if the ohmic drop voltage is neglected, over a small period of
time, equation (2.25) can be written as
∆ Ψ s = v s ∆t
(2.26)
25
Equation (2.26) indicates that the variation in the stator flux linkage is
directly controlled by the stator voltage space vector. The control of a trajectory of
stator flux vector to form a desired flux locus can be established by selecting
appropriate voltage vectors according to its demand and orientation.
In DTC, the magnitude of flux space vector is controlled at its reference by
limiting its error within its hysteresis band. As shown by Figure 2.5, the estimated
stator flux is subtracted from the corresponding reference value to obtain the error,
which is then fed to the hysteresis comparator. When the error touches its upper or
lower hysteresis band, an appropriate voltage vector is selected to reduce or to
increase it, respectively. The hysteresis comparator will produce a signal named as
flux error status Ψ+, which can be either 1 or 0. The flux error status is equal to 1
when the stator flux error touches its lower band which means the stator flux needs to
be decreased. Otherwise it is equal to 0 when the stator flux error touches its upper
band which indicates that the flux needs to be increased. The typical waveforms of
stator flux, stator flux error and flux error status for the hysteresis flux controller are
illustrated in Figure 2.6.
Flux
error
Ψs,ref
+
Flux error
status, Ψ+
_
∆HBΨ
Ψs
Figure 2.5 Control of flux magnitude using a 2-level hysteresis comparator
26
Ψs,ref + ∆HBΨ/2
Flux
Ψs,ref
t
Ψs,ref - ∆HBΨ/2
∆HB Ψ/2
Flux
error
0
t
- ∆HBΨ/2
Flux
error
status
1
0
t
Figure 2.6 Typical waveforms of the stator flux, the flux error and the flux error
status for the two-level hysteresis flux comparator
The stator flux space vector is forced to track a circular path reference by
selecting the appropriate voltage vectors according to the flux positions. The
positions of flux are equally divided into six sectors as defined in Figure 2.7. By
definition of the sectors, the circular flux control for each sector can be performed
using two possible active voltage vectors, either to increase or to decrease the flux.
For example, Figure 2.8 illustrates on how the flux is increased and decreased with
the use of voltage vectors vs,2 and vs,3 when it lies in Sector I and the flux is increased
and decreased with the use of voltage vectors vs,3 and vs,4 when it lies in Sector II. It
should note that, the radial voltage vectors (i.e. vs,1 and vs,4 in the case of Sector I or
vs,2 and vs,5 in the case of Sector II) which can be used either to get a very quick
increase or decrease the flux, are normally avoided [83].
27
q
Sector IV
Sector III
60 0 60 0
Sector V 60 0
60 0 Sector II
60
0
60
Sector VI
d
0
Sector I
Figure 2.7 Definition of six sectors of the stator flux plane
vs,4 vs,3
Sector II
Sector I
vs,3
vs,2
Hysteresis
band
Figure 2.8 Two possible active voltages are switched for each sector to control the
stator flux within its hysteresis band
28
2.3.3
Direct Torque Control
The instantaneous torque equation in (2.8) can be written into another
expression, which in terms of stator and rotor flux linkages as given by (2.27). The
derivation of this equation is attached in Appendix A.
L
L
3
3
Te = − P m Ψ sg × Ψ rg = P m Ψ sgΨ rg sinδsr
2 σLs Lr
2 σLs Lr
(2.27)
where δsr is the angle difference between the stator and rotor flux vectors. The
relationship between the rotor flux vector and the stator flux vector in the rotor flux
reference frame (as derived in Appendix A) is given by (2.28).
Ψ rr =
Lm Ls
Ψ sr
1 + pσ τ r
(2.28)
Equation (2.28) indicates that the rotor flux vector lags behind the stator flux
vector with a time constant στr as both vectors are assumed rotates in a same
direction (i.e. forward motoring mode). According to (2.26), it can be noted that the
angular frequency of stator flux is irregular because of the nonlinear switching
behavior in the hysteresis controller. However, the angular frequency of rotor flux
can be assumed continuous due to the low pass filtering action as given in (2.28). In
fact, the effect of filtering action in (2.28) is significant since the time constant value
is much larger than the switching period.
Figure 2.9 shows the space vectors of stator flux and rotor flux at time t1 and
t1+∆t. Both space vectors are drawn in the rotor flux reference frame (where the
rotor flux vector is aligned to the direct- or real-axis dΨr). Taking into account that,
the rotor flux moves continuously, while the stator flux moves irregularly with the
applied voltage vectors as mentioned above. From Figure 2.9(a), it can be noticed
that the δsr will increase as the stator flux rotates advance forward when the active
voltage vector which has the same direction as the rotor flux rotation is applied. This
voltage vector is usually referred as active forward voltage vector. Applying zero (or
29
radial) voltage vectors ideally (or almost) halt the stator flux rotation, thus decreasing
the δsr as the rotor flux rotates continuously as depicted in Figure 2.9(b). Note that,
in the case of application of zero voltage vectors the magnitude of stator flux may
reduce due to the small stator resistance drop. Figure 2.9(c) illustrates that the stator
flux space vector rotates in the opposite direction when a reverse voltage vector is
applied. This causes δsr to decrease rapidly.
qΨr
t = t1+∆t
Ψs
(a)
0
δsr
dΨr
Ψr
t = t1
qΨr
Rotates
continuously
qΨr
t = t1+∆t
(b)
Ψs
0
Ψs
Rotates
continuously
δsr
Ψr
0
Ψr
d
Rotates
continuously
δsr
dΨr
Ψr
qΨr
t = t1+∆t
(c)
Ψs
0
δsr
Ψr
Rotates
continuously
dΨr
Figure 2.9 The variation of δsr with application of (a) active voltage vector, (b) zero
or radial voltage vector, (c) reverse voltage vector
30
The magnitudes of stator flux and rotor flux in (2.27) can be assumed
constant since the control of circular flux locus (as described previously), in practice
performs within a small switching period. Thus, the output torque as given in (2.27)
is mainly affected by the δsr which plays a vital role in controlling the output torque.
The above discussion indicates that the δsr varies accordingly to the selected voltage
vectors. Hence, controlling the δsr to increase or decrease with suitable voltage
vector causes the torque to increase or decrease, respectively.
Figure 2.10 demonstrates the use of appropriate voltage vectors in controlling
the δsr as the stator flux lies in the sector k, for 4-quadrant operation in the DTC
induction machine drives. Note that, the machine is under motoring mode when the
rotor flux lags behind the stator flux, and both fluxes rotate in the counterclockwise
direction. For convenience, the identification of appropriate voltage vectors to
control the δsr as well as the torque is concentrated for the first of two quadrant
operations (i.e. forward motoring and forward braking modes). These voltages as
mentioned previously can be classified as follows:
•
The active forward voltage vector is identified as vs,h+1 or vs,h+2 for
forward motoring (or braking) operation which is used to increase (or
decrease) the δsr as well as the output torque.
•
The active reverse voltage vector is identified as vs,h-1 or vs,h-2 which is
used to decrease rapidly the torque as its reference suddenly changes the
polarity (i.e. the forward motoring mode of the machine is suddenly
switched to the forward braking mode). The application of the voltages
causes the rotor flux vector leads the stator flux vector.
•
The zero voltage vector (vz) can be either v0 or v7, which is used to
decrease the δsr as well as the output torque, when the output torque
satisfies its demand.
31
It should note that, the application of radial voltage vectors can cause rapid
variations in flux which in turns may increase the switching frequency of power
switch devices exceeds to their limit. Due to this reason the selection of radial
voltage vector is normally avoided [13,30,83,84].
ωm
Quadrant II
Forward braking
Tload
Te
Quadrant I
Forward motoring
Te
Tload
ωm
ωm
q
q
Ψr
0
δsr
Sec. h
vs,h+2 vs,h+1
Ψs
vz
d
0
vs,h+2 vs,h+1
Sec. h Ψs
d
δsr
vz
vs,h-2 vs,h-1
Ψr
Te
Quadrant IV
Reverse braking
Te
Tload
Quadrant III
Reverse motoring
Tload
Te
ωm
ωm
q
q
Ψr
vs,h+2 vs,h+1
0
vz
δsr
Sec. h Ψs
vs,h-2 vs,h-1
d
0
Sec. h Ψs
d
vz
δsr
vs,h-2 vs,h-1
Ψr
Figure 2.10 The application of voltage vectors in controlling the δsr as well as the
output torque for 4-quadrant operation
32
In DTC, the output torque is controlled by limiting its error within its
hysteresis band. The three-level hysteresis comparator as shown in Figure 2.11, is
employed to facilitate the DTC performs in motoring mode as well as braking mode
[13]. When the torque error touches its upper or middle hysteresis band (during
motoring mode), an appropriate voltage is selected to reduce or to increase it,
respectively. The occurrence of the torque error to touch its lower band happens
when the torque error is too large, such as during speed reversal or braking. The
output of the comparator which named as torque error status Tstat will generate a
digitized signal which can be either 1, 0 or -1. Concentrating the same quadrant
operations (as mentioned above), the outputs of torque error status Tstat that
determine the appropriate voltage vectors can be classified by the following
conditions.
•
The Tstat = 1 when the actual torque needs to be increased (or when the
torque error touches the upper band). Thus, active forward voltage
vector is selected.
•
The Tstat = 0 when the actual torque needs to be decreased (i.e. when
the torque error touches the middle band which means the torque is
satisfied to its demand). Thus, zero voltage vector is selected.
•
The Tstat = -1 when the actual torque needs to be decreased rapidly
(i.e. when the torque error touches the lower band). Thus, active
reverse voltage vector is selected.
For convenience, the typical waveforms of the output torque, the torque error
and the torque error status under forward motoring and forward braking modes are
shown in Figure 2.12.
33
Torque
Error, ETe
Te,ref
+
Torque error
status, Tstat
1
0
_
-1
2 x ∆HBTe
Te
Figure 2.11 Control of torque using a 3-level hysteresis comparator
Torque
reference
Torque
∆HBTe
t
∆HBTe
Torque
error
2 x ∆HBTe
t
Speed
1
0
t
Torque error
status
t
-1
Figure 2.12 Typical waveforms of the torque, the torque error and the torque error
status for the three-level hysteresis torque comparator
34
2.3.4
De-coupled Control of Torque and Flux in DTC-hysteresis based
Induction Machine
In DTC, a de-coupled control of torque and stator flux is established by
selecting suitable voltage vectors that can simultaneously and independently control
both torque and stator flux. Thus, the de-coupled control in DTC allows a fast
instantaneous control of torque and flux.
Figure 2.13 shows the de-coupled control structure of hysteresis-based DTC
as proposed by [13]. The selection of suitable voltage vectors or switching states [Sa,
Sb, Sc] are obtained from the look-up table as given in Table 2.1. These switching
states are selected based on the requirement as to whether the torque and the stator
flux need to be increased or decreased and also on the stator flux sector. The
decisions as to whether the torque and/or the flux need to be increased or otherwise
comes from the three-level and two-level hysteresis comparators for the torque and
stator flux, respectively.
HBTe
Te,ref +
1
0
-1
ETe
-
Ψs,ref
1
EΨ
+
+ VDC Tstat
Sa
Lookup
Table
Ψs+
Voltage
source
inverter
(VSI)
Sb
Sc
0
HBΨ
i a i b ic
sector
Sector
Voltage
detection calculation
Ψsd
Ψsq
vsd
vsq
Ψs
Te
Stator flux and electromagnetic torque
estimators
IM
isq
isd
d-q current
calculation
Figure 2.13 A de-coupled control structure of DTC-hysteresis based induction
machine
35
Table 2.1 : Voltage vectors selection table as proposed in [13]
Stator
flux error
status,
Ψs+
Torque
error
status,
Tstat
Sector
I
Sector
II
Sector
III
Sector
IV
Sector
V
Sector
VI
1
[100]
[110]
[010]
[011]
[001]
[101]
0
[000]
[111]
[000]
[111]
[000]
[111]
-1
[001]
[101]
[100]
[110]
[010]
[011]
1
[110]
[010]
[011]
[001]
[101]
[100]
0
[111]
[000]
[111]
[000]
[111]
[000]
-1
[011]
[001]
[101]
[100]
[110]
[101]
1
0
2.3.5
Estimations of stator flux and electromagnetic torque
It is very important to accurately estimate the stator flux and motor torque in
high performance DTC drives. The simplest form of a stator flux estimator, referred
as the voltage model [7,84,85] is reviewed as this model is implemented for the DTC
drives described in this thesis. With this model, only stator resistance and terminal
quantities (voltages and currents) are required.
The stator flux vector in (2.4) can be expressed in the stationary reference
frame and is given by (2.29).
Ψ s = ∫ ( v s − i s Rs ) dt
(2.29)
Under sinusoidal steady state condition, Equation (2.29) reduces to
Ψs =
v s − i s Rs
jωe
(2.30)
36
In practice, the pure integrator used in estimating the stator flux is usually
replaced with a low pass filter to avoid the integration drift problem due to the dc
offset or measurement noise. With the added low pass filter, Equation (2.30)
becomes:
Ψs =
v s − i s Rs
jωe + ωc
(2.31)
where ωc is the cut-off frequency of the low pass filter in rad./s which is very small
compared to synchronous angular frequency ωe. The stator flux vector given in
(2.31) is separated into d-axis and q- axis components as given in (2.32) and (2.33),
respectively.
Ψ sd =
Ψ sq =
v sd − i sd R s
jωe + ωc
(2.32)
v sq − i sq R s
(2.33)
jωe + ωc
The voltage components in (2.32) and (2.33) can be obtained from the
switching pattern of the 3-phase voltage source inverter as follows.
1
v sd = VDC (2Sa − S b − S c )
3
v sq =
1
3
VDC (S b − S c )
(2.34)
(2.35)
If two of the three-phase stator currents (i.e. phase a and phase b) are known,
then after applying the Clarke Transformation, the d-axis and q-axis components of
stator current vector are obtained as
isd = ia
(2.36)
37
isq = (ia + 2 ib ) / 3
(2.37)
The calculation of output torque given in (2.8) is then written in the stationary
reference frame and in d-q coordinates. Hence, Equation (2.38) is obtained.
Te =
2.4
3
P(Ψ sd isq − Ψ sqisd )
2
(2.38)
Major Problems in Hysteresis-Based DTC
Despite its simplicity, the DTC based on hysteresis controller causes some
major problems such as variable inverter switching frequency, high torque ripple and
high sampling requirement for digital implementation. Figure 2.14 illustrates the
waveforms of torque at three different speed operations, which can be used to
highlight the problems. Consider the control of torque based on the hysteresis
comparator is implemented in DSP or microprocessor with a sampling period of DT.
Through the observation from this figure, the problems are identified and the reason
of each problem can be briefly described as follows.
•
Variable inverter switching frequency
As briefly mentioned in Chapter 1, the switching frequency of VSI is
influenced by the slopes of torque and flux, which vary with operating
conditions [23,24,27]. Consider the torque slope in a discrete form which was
derived in [23] and is given by (2.39).
Te,n +1 − Te,n
 1
L
1  3
 + P m [(v s,n − jωr Ψ s,n ) • jΨ r,n ]
= − Te,n 
+
∆t
 στ s στ r  2 σLs Lr
(2.39)
38
Equation (2.39) indicates that the torque slope depends on the stator flux,
rotor flux, the speed and the stator voltage. The slopes of torque in Figure 2.14
are drawn based on (2.39) and only consider the effect of operating speed and
the applied voltage. For the positive torque slope, the active voltage vector is
applied, otherwise the zero voltage vector is selected. It can be noticed from this
figure that the slopes of torque (i.e. for positive and negative slopes) varies with
operating speeds. For this reason, the switching frequency of hysteresis
comparator as well as VSI is unpredictable. In fact, the switching frequency will
be more difficult to predict when the other operating conditions are considered.
The unpredictable switching frequency somehow complicates the improvements
of DTC in terms of current THD and optimization of switching devices.
•
High torque ripple:
In digital implementation, the output torque is calculated, and the
appropriate switching states are determined at fixed sampling time (which is
DT). This, however, causes a delay between the instant the variables are
sampled (i.e. the instant torque is calculated) and the instant the corresponded
switching status pass to the inverter. Because of that, the torque ripple cannot be
restricted exactly within the hysteresis band. If the band is set too small, this,
however, does not minimize the torque ripple. This is because, the incidents of
overshoot in the estimated torque above the torque hysteresis band may occur
and hence causes the reverse voltage vector is selected. The selection of the
reverse voltage vector as mentioned previously causes the torque decreases
rapidly and as a result the torque ripple increases. This situation can be
described as illustrated in Figure 2.14(a). Note that, the torque overshoot
conditions normally occur when the motor operates at low speeds at which the
positive slope of the torque is large.
39
•
The need of high speed processor:
Reducing torque ripple by lowering the band width of hysteresis
comparator would be fruitless when the processor used has a limited sampling
frequency. All the constraints which have been mentioned above can be
eliminated if a high-speed processor is utilized, where the discrete hysteresis
controller perform similar to the analog based comparator. As shown in Figure
2.14(a), the rapid decrease of torque due to the selection of reverse voltage can
be avoided if the sampling time (DT) is sufficiently decreased.
Te,ref + ∆HB Te
Te,ref
(a)
Te,ref - ∆HBTe
Te,ref + ∆HB Te
Te,ref
(b)
Te,ref - ∆HBTe
Te,ref + ∆HB Te
Te,ref
(c)
Te,ref - ∆HBTe
DT DT DT DT DT DT DT DT DT DT DT
Figure 2.14 The waveforms of output torque sampled at DT in the hysteresis
comparator for (a) low speed, (b) middle speed and (c) high speed
40
Some experimental results of output torque ripple obtained in hysteresisbased DTC at different applied sampling frequency and/or torque hysteresis band are
presented as shown in Figure 2.15. For each case, the control of torque at 6 Nm was
performed at the same load torque condition so that the rotor speed operated at
around 400 rpm. The nominal level of torque hysteresis band is HBTe (0.9 Nm) and
the minimum sampling time achievable using the DSP is 55µs, i.e. DT = 55µs (more
information on the values of machine and control system parameters are given in
Chapter 6).
From Figure 2.15(a), as expected, the output torque ripple is high when the
torque hysteresis band is set to twice of HBTe. Thus, to reduce the torque ripple of
the DTC hysteresis-based, one can ideally reduce the hysteresis band. Figure 2.15(b)
shows the results of output torque control when the torque hysteresis band reduces to
HBTe. However, due to the sampling time used in Figure 2.15(b) (and also in Figure
2.15(a)) is twice of the nominal DT (i.e. 110µs), practically, this leads to the
incorrect or reverse voltage vector selections (where Tstat = -1) that causes rapid
decreases in output torque and hence increases the torque ripple, as noticed in Figure
2.15(b). Therefore, to eliminate the reverse voltage vector selections, the sampling
time need to be reduced which is demonstrated in Figure 2.15(c) whereby the
sampling is set to DT. Obviously, as seen in Figure 2.15(c), the output torque ripple
decreases and no active voltage vector is selected to reduce the torque.
41
Zoomed image
Te
2DT
Te
4HBTe
ETe
ETe
(a)
Te
2DT
Te
2HBTe
ETe
ETe
(b)
Te
DT
Te
ETe
(c)
2HBTe
ETe
Figure 2.15 Experimental results of control of output torque utilizing three-level
hysteresis comparator (in hysteresis based-DTC). (a) Hysteresis band = 2HBTe,
sampling time=2DT, (b) hysteresis band = HBTe, sampling time=2DT and (c)
Hysteresis band = HBTe, sampling time=DT
42
2.5
Chapter Conclusions
This chapter has presented an overview of the hysteresis-based DTC of
induction machines. The theory of space vectors and the modeling of induction
machine have been presented. It has been shown that, a de-coupled control of torque
and flux is achieved, by limiting the torque and flux errors within their hysteresis
bands. Finally, some major drawbacks associated with the hysteresis-based DTC
have been addressed.
CHAPTER 3
ENLARGING SWITCHING FREQUENCY TO MINIMIZE TORQUE
RIPPLE UTILIZING A CONSTANT FREQUENCY TORQUE
CONTROLLER
3.1
Introduction
This chapter suggests the use of the constant frequency torque controller
(CFTC) in direct torque control (DTC) of induction machines to reduce the output
torque ripple with a constant switching frequency as proposed in [32]. A quick guide
to the design of the CFTC will be presented. Some extensions to the study of
utilizing CFTC in DTC will be highlighted in this chapter to show that;
•
with the suitable PI-controller gains, excellent control of output torque can be
achieved for different triangular carrier frequency,
•
a high switching frequency to further reduce the output torque ripple can be
established with the CFTC, by extending the triangular carrier frequency to
its maximum (which is equal to one-quarter of the maximum sampling
frequency achieved by the DSP).
The extension of a constant switching frequency is particularly useful for a system
which has limited/low sampling frequency. The feasibility of the use of CFTC in
DTC in reducing the torque ripple (at three different carrier frequencies) is verified
through experimentation as well as comparison with the conventional DTC scheme.
44
3.2
DTC with Constant Frequency Torque Controller
An attempt has been made to provide constant switching frequency and
reduced torque ripple in DTC by replacing the torque hysteresis controller with
constant frequency torque controller (CFTC) as depicted in Figure 3.1 [32]. The
constant frequency torque controller (as shown in Figure 3.1) consists of two
triangular generators, two comparators and a proportional-integral (PI) controller. In
principle, the function of torque error status Tstat generated from the CFTC is similar
to that of the three-level hysteresis comparator [13], which can be either of three
states; -1, 0 or 1. Note that, no modification in the original look-up table is required.
In this way, the decouple control structure as well as the simple control structure of
the hysteresis-based DTC can be retained. Figure 3.2 shows the typical waveforms
of the constant frequency torque controller. The torque error status Tstat generated
from the constant frequency torque controller can be described by the following
equation
Tstat
Tc ≥ C upper
 1 for

=  0 for C lower < Tc < C upper
 − 1 for
Tc ≤ C lower

(3.1)
where Tc is output of Proportional-Integral (PI) control, Cupper and Clower are the
upper and lower triangular waveforms, respectively. Note that, the two triangular
waveforms (Cupper and Clower) are 1800 out of phase with each other. In order to
establish a constant switching frequency the frequency and peak to peak of upper and
lower triangular waveforms are set at fixed values. It is desirable to set at high
triangular waveform frequency in minimizing the output torque ripple. For PI torque
controller, the gain values of kp and ki are restricted to ensure the absolute slope of
the output signal, Tc does not exceed the absolute slope of triangular waveform. This
is to ensure proper operation of control of torque at constant switching frequency and
at the same time, avoids the occurrence of selection of reverse voltage vectors, for a
wide range of operating conditions.
45
ttri
Cupper
+
11
0
+
Tc
ETe
Tstat
+
00
PI control
+
-1
-
Clower
Figure 3.1 Constant frequency torque controller (CFTC)
Te
t(s)
0
Cp-p
Cupper
Tc
t(s)
0
-Cp-p
Clower
Tstat
1
0
t(s)
Figure 3.2 Typical waveforms of the constant frequency torque controller
46
3.3
Design Procedure of Constant Frequency Torque Controller in DTC
This section presents a quick guide to design the PI controller for CFTC for
DTC of induction machines. Briefly, there are three steps to obtain the proper
operation of CFTC. Detail explanation on how the related equations (as shown later)
derived and some assumptions made, can be found in [32].
Step 1: Select the appropriate frequency of triangular waveforms
It is desirable to have a large triangular frequency in order to acquire a large
torque loop bandwidth hence faster torque response. Moreover, with a higher
triangular frequency the output torque ripple will be reduced. The triangular
waveforms are generated by the software sampled at the maximum sampling rate to
execute the algorithms (i.e DTC including CFTC) limited by the DSP speed. For
example, the upper triangular waveform produced by the DSP is depicted in Figure
3.3, whereby DT is the sampling period of the DSP. In this particular example, a
complete triangular waveform is completed in eight DSP sampling time.
DT µs
Carrier frequency, ftri = (8xDT)-1 Hz
Cp-p
∆Cp-p
4xDT
Figure 3.3 Generated upper triangular waveform using DSP (sampled at DT µs)
Step 2: Determine the gain value of kp
The absolute slope of Tc must be ensured not to exceed the absolute slope of
the triangular waveforms, which in turns, are mainly determined by the proportional
47
gain (kp) of the PI controller. The absolute slope of the triangular waveform (as
shown in Figure 3.3) can be simply obtained as
< absolute slope of the triangular waveform >
=
C p− p
(3.2)
4DT
According to [32]; for the positive slope of Tc, the following condition must be
satisfied:
< absolute slope of the triangular waveform >
ω slip

 +
≥ − ATe + BVsΨs + K1 (
− ω +r )k p
d


(3.3)
meanwhile, for the negative slope, the following condition must be satisfied:
< absolute slope of the triangular waveform >
≥ − ATe − K 1ω -r k p
−
(3.4)
where,
 1
1 

A = 
+
στ
στ
 s
r 
B=
6PL m
Ψs
4σ L s L r
K1 =
d=
3P L m
(Ψ s Ψ r )
2 σL s L r
ATe − K 1ω slip
BVsΨ s
(3.5)
(3.6)
(3.7)
(3.8)
In (3.5) to (3.7), σ is the total leakage factor, given by (1-Lm2/(LrLs)). τr and τs
is the rotor and stator time constants, respectively. The term VsΨs in (3.3) and (3.8) is
the voltage vector magnitude, given by (2VDC/3).
48
It should be noted that, the occurrence of extreme slope of Tc (either positive
or negative slope) depends on operating conditions. Consider the motor operates at
worst-case conditions, (i.e. torque and flux are operated at rated conditions), it is
therefore, according to (3.3) (or (3.4)), the maximum kp+ (or kp-) that limits the slope
of Tc (or absolute slope of Tc) to its maximum, is assumed to occur at zero rotor
speed (or at base rotor speed) and at rated slip. That is, ωr+ = 0 for (3.3) and ωr- is set
at base speed for (3.4). Thus, to ensure proper operation the proportional gain (kp) is
obtained as
{
k p = min k +p , k −p
}
(3.9)
Step 3: Determine the gain value of ki
Figure 3.4 depicts a block diagram of the linearized torque loop, as proposed
in [32]. The dashed box in Figure 3.4 represents the constant frequency torque
controller (CFTC). To select the gain constants of the PI controller in the torque
loop which results in a phase margin of 65 o (or higher), the zero of the PI controller
is chosen to be the same as the pole of the open-loop gain (or pole in the torque slope
transfer function). Under this condition, the integral gain ki is calculated as
ki = kpA
(3.10)
In this way, an infinite DC gain due to the presence of an integrator in PI
controller will reduce the steady state error to zero. Based on the linear control
theory, the obtained values of kp and ki (from (3.9) and (3.10)), are then, must be
adjusted such that the torque loop gain crossover frequency approximately smaller
than one-half of the carrier frequency. For a clearer picture, the determination of the
PI controller’s gains with numerical values based on the actual motor parameters is
presented in the next section.
49
CFTC
Tref(s) +
ETe(s)
kp
(s + ki/kp)
-
s
PI controller
Tc(s)
1
Cp-p
d(s)
BVsΨs
Te(s)
s+A
Slope of torque
Figure 3.4 Averaged and linearized torque loop (as proposed in [32])
3.4
Experimental Set-up
The feasibility of the CFTC in DTC, in providing constant switching
frequency and reduced torque ripple has been realized with a complete drive system.
The control algorithm is implemented on a DSPACE 1102 and Altera FPGA
(APEX20KE). Some of the main tasks of the DTC (i.e. look-up table and blanking
time) are implemented utilizing a FPGA, in such manner; the DSP (DSPACE 1102)
is able to execute the DTC algorithm including the CFTC operation at the minimum
sampling period which is at 55 µ s. More details description on hardware
components are given in Chapter 6.
Based on the previous discussion, in order to obtain a maximum reduction in
the torque ripple, the switching frequency needs to be increased. Normally this can
be achieved by using a high-speed DSP system. For example, the use of SVM
technique in DTC requires a fast processor to calculate the duty cycles or voltage
vectors for every sampling period. With a small sampling period, the reduction of
output torque ripple is accomplished since more switching states applied within a
switching period. This thesis, on the other hand, suggests a simple method in
utilizing CFTC to extend the switching frequency. By using this method, the
increase of triangular frequency can be established without requiring the reduction of
the sampling period of the DSP.
50
To verify this, the comparison of output torque ripple obtained in three
schemes were carried out; where each of scheme performed at three different
triangular frequencies but at the same sampling period, DT=55µ s. For convenience
of identification, these schemes are referred as;
•
DTC-CSF1 - DTC with CFTC at 2.2727 kHz triangular frequency,
•
DTC-CSF2 - DTC with CFTC at 3.0303 kHz triangular frequency,
•
DTC-CSF3 - DTC with CFTC at 4.5454 kHz triangular frequency.
The generated upper triangular waveforms for each scheme can be illustrated
as depicted in Figure 3.5. For example, if we consider for the case of DTC-CSF1,
eight steps per cycle of the triangular are used, that is for 100 units peak-peak the
corresponding vertical resolution of the triangular waveform is 25 units per step, as
noticed in Figure 3.5(a). From the figure, it can be seen that the frequency of the
triangular waveform is about 2.2727 kHz and the slope of the triangular is equal to
454545.45s-1.
The actual parameters of an induction motor are as shown in Table 3.1. The
DC voltage was limited to 240V, which means that the based speed is reduced to 546
rpm. With the values of machine parameters listed in Table 3.1, the suitable values
of kp and ki for each scheme, were determined as explained previously in the Section
3.3. The open-loop Bode plot with the PI controllers’ gains for each scheme, are
shown in Figure 3.6. The gains for the PI controllers and the approximated crossover
frequency (as noticed in Figure 3.6) for each scheme, are given in Table 3.2.
51
55 µs
∆Cp-p=25
(a)
Cp-p= 100
∆Cp-p=30
Cp-p= 90
(b)
∆Cp-p
=45
Cp-p= 90
(c)
Figure 3.5 Generated upper triangular waveforms sampled at 55 µs. (a) DTC-CSF1,
(b) DTC-CSF2 and (c) DTC-CSF3
Table 3.1 : Induction machine parameters
Stator resistance, Rs
5.5 Ω
Rotor resistance, Rr
4.45 Ω
Stator self inductance, Ls
313.9 mH
Rotor self inductance, Lr
313.9 mH
Mutual inductance, Lm
299 mH
Number of pole pairs, P
4
Stator flux rated, Ψs,rated
0.892 Wb
Torque rated, Te,rated
9 Nm
Voltage vector magnitude, VsΨs
160 V
Slip rated, ωslip
9.42 rad./s
Base speed, ωbase
546 rpm.
52
Table 3.2 : PI controllers gains and crossover frequency
Schemes
PI Controller
gains
kp
ki
Crossover
freq.
fc (kHz)
DTC-CSF1
29
9937.5
0.719
DTC-CSF2
34.9
11925
0.86
DTC-CSF3
52.3
17887
1.3
(c)
(a)
(b)
(b)
(c)
(a)
Figure 3.6 Bode plot of loop gain with PI controller for (a) DTC-CSF1, (b) DTCCSF2 and (c) DTC-CSF3
3.5
Experimental Results
Figure 3.7 depicts the frequency spectrum of the phase current obtained from
the experimental results for the basic DTC (i.e. hysteresis-based DTC scheme), DTCCSF1, DTC-CSF2 and DTC-CSF3 at the speed of 20 rad/s, 30 rad/s and 55 rad/s
while the output torque is controlled at 2 Nm. It can be seen that the phase current in
53
schemes of DTC with CFTC (i.e. DTC-CSF1, DTC-CSF2 and DTC-CSF3) contains
dominant harmonics at their respective triangular frequency regardless of the speed,
as opposed to the DTC hysteresis-based which has a frequency spectrum which is
spread out and depends on the operating speed. From this figure, it can also be
noticed that, a higher capability of torque in the DTC with proper CFTC (DTCCSF1, DTC-CSF2 or DTC-CSF3) is achieved as compared to that obtained in the
basic DTC. Moreover, the output torque ripple in the DTC with proper CFTC can be
reduced further when higher triangular frequency is applied. For example, in the
case of speed about 30 rad./s, the DTC-CSF1 , DTC-CSF2 and DTC-CSF3 give the
percentage reduction of torque ripple of the hysteresis-based DTC about 21%, 26%
and 50%, respectively.
Figure 3.8 shows the comparison by experimental of output torque ripple
when a step change of torque reference is applied, in the basic DTC, DTC-CSF1,
DTC-CSF2 and DTC-CSF3. To make a fair comparison, the step torque change for
each scheme was performed under the same load torque condition so that the rotor
speed operated at around 370 rpm. From the figure, it can be seen that, the largest
torque ripple is produced with the hysteresis-based DTC. To reduce the torque
ripple, the CFTC is utilized, and as mentioned earlier, the output torque can be
reduced further when higher triangular frequency is applied. Obviously, the output
torque ripple in DTC-CSF3 is greatly reduced with a constant and the highest
switching frequency. The generated waveforms of the upper triangular for each
different frequency (as shown in Figure 3.8) can be clearly seen by using a larger
scale as depicted in Figure 3.9.
54
(a)
(b)
(c)
Figure 3.7 Experimental results of phase current frequency spectrum and output
torque for the basic DTC, DTC-CSF1, DTC-CSF2 and DTC-CSF3 at the speed about
(a) 20 rad./s (b) 30 rad./s and (c) 55 rad./s
(2)
(1)
(4)
(5)
(unit)
(unit)
(3)
(Nm)
(1)
(unit)
(2)
(Nm)
(Nm)
55
(6)
(6)
(b)
(4)
(5)
(Nm)
(1)
(unit)
(2)
(unit)
(unit)
(unit)
(Nm)
(a)
(6)
(c)
(2)
(1)
(4)
(5)
(6)
(d)
Figure 3.8 Experimental results for step response of torque in (a) DTC-hysteresis
based, (b) DTC-CSF1, (c) DTC-CSF2 and (d) DTC-CSF3. (1) is output torque, (2) is
reference torque, (3) is torque error, (4) is output of PI controller, (5) is upper
triangular waveform, (6) is torque error status (x-axis or time scale: 2 ms/div.)
56
55µs
Cupper
(unit)
(a)
∆Cp-p
= 25
Tc
55µs
(b)
(unit)
Cupper
∆Cp-p
= 30
Tc
55µs
(c)
(unit)
Cupper
Tc
∆Cp-p
=45
Figure 3.9 The zoomed image (zoomed area indicated by '↔’) of the waveforms of
upper triangular and output of PI controller for (a) DTC-CSF1, (b) DTC-CSF2 and
(c) DTC-CSF3, corresponds the results obtained in Figure 3.8 (b),(c) and (d) (Time
scale: 1 ms/div.)
Finally, to verify the proper operation CFTC in regulating the output torque, a
square-wave speed command is applied in the basic DTC and the DTC-CSF2. The
waveforms of the output torque, rotor speed (measured using a speed sensor) and daxis stator flux for each scheme are as shown in Figure 3.10. From the figure, it can
be seen that, the dynamic torque and speed profiles are comparable to that of the
hysteresis-based DTC, however, with added advantages of a reduced torque ripple
and constant switching frequency.
Motor
speed
(p.u)
(b)
(a)
d-axis flux
component
(Wb)
d-axis flux
component
(Wb)
Motor
speed
(p.u)
Output
torque
(Nm)
Output
torque
(Nm)
57
(b)
Figure 3.10 Experimental results of output torque, motor speed and d-axis flux
component for a square-wave speed reference for (a) the basic DTC and (b) DTCCSF2 based induction machine drives
3.6
Chapter Conclusions
This chapter has suggested the simple way to provide a high constant
switching frequency and hence reduces torque ripple, by replacing the torque
hysteresis controller with the CFTC in the basic DTC structure. It has been shown
that with the limited sampling frequency, the carrier frequency utilized in the CFTC
can be increased further to its maximum (which is at one-quarter of the maximum
sampling frequency). Some experimental results have been presented to show that
the significant reduction of output torque ripple can be established with the proper
PI-controller gains and selection of triangular frequency in CFTC.
CHAPTER 4
AN OPTIMIZED SWITCHING STRATEGY FOR QUICK TORQUE
DYNAMIC CONTROL
4.1
Introduction
In hysteresis-based DTC scheme, the stator flux vector is forced to follow its
circular locus despite under dynamic conditions. For instance, during a large torque
demand, the DTC algorithm maintains the flux control by selecting only active
voltage vectors, owing to its intrinsic characteristic. The selection of voltage vectors
at the same time is used to increase the δsr as well as the torque to reach its demand
(as discussed in Chapter 2). The selection of voltage vectors for some extent
somehow does not produce the quickest flux change or the largest rate of change of
δsr, for achieving the fastest torque dynamic. This chapter will look at the effect of
the selection of possible active voltage vectors on the performance of torque dynamic
of DTC drive. Based on the observation, the most optimized voltage vector that
produces the largest rate of change of δsr, which provides the fastest torque dynamic,
is identified. A simple dynamic overmodulation is proposed that utilizes the most
optimized voltage and improves on the dynamic torque performance of DTC drive.
The feasibility of the proposed dynamic overmodulation strategy is verified through
simulation and experimentation as well as comparison with the conventional DTC
scheme.
59
4.2
Dynamic Torque Control in the Hysteresis-Based DTC
During large torque demand, torque hysteresis comparator will produce only
a single status (i.e. Tstat = 1) that requires an increase of torque to meet its reference.
This means, under this condition, no zero vectors are selected to reduce the torque.
At the same time, the flux hysteresis will regulate the flux to follow the circular path
using two active voltage vectors. This is similar to a condition in DTC-SVM in
which stator voltage reference vector follows the hexagonal boundary in
overmodulation mode, which is the reference voltage v[28] in Figure 1.2, as given in
Chapter 1. Since no zero voltage vectors are applied, rapid changes in the flux vector
position and hence a quick dynamic torque response is achieved. However, this
method does not give the fastest dynamic torque response because one of two
possible active voltage vectors switched during torque dynamic may not be optimum.
4.3
Effect of Selecting Different Voltage Vectors on Torque Dynamic
Performance in the Hysteresis-Based DTC
In DTC, each sector of flux has different set of two active voltage vectors, in
which one is used to increase the flux and the other one to reduce the flux. For
example, in the case of sector III, the two active voltages are vs,4 and vs,5 as shown in
Figure 4.1. vs,4 and vs,5 are used for the flux to increase and to decrease, respectively.
Between these two voltages, there is one voltage gives a faster torque dynamic, and it
is referred as the most optimized voltage.
60
q
vs,4
vs,3
α3 = π/6 rad.
(at t= t2)
vs,5
vs,2
vs,6
Ψs
vs,1
α3 = 0 rad.
Sector
IV
Sector
III
(at t= t1)
ωΨs
Sector
II
d
0
Hysteresis band
Figure 4.1 The selection of two possible active voltage vectors in controlling the
flux in Sector III
To identify the most optimized voltage, an equation of torque rate in terms of
applied voltage vector, which was derived in [86] is used. According to the analysis
in [86], the rate of change of torque at the instant in which a voltage vector is applied
is given by:
dTe
= C Ψ r [Vs sin(θ k − θ r,0 ) − ωΨ s,0 cos(θ s,0 − θ r,0 )]
dt
(4.1)
where C is some constant which depends on the machine parameters and Vs is the
magnitude of the applied voltage. θk, θr,0, and θs,0 are the stator voltage vector angle,
initial rotor flux angle and initial stator flux angle, respectively. Ψ r and Ψ s,0 are rotor
flux magnitude and initial stator flux magnitude respectively. These parameters are
shown in Figure 4.2. The derivation of Equation (4.1) is given in Appendix B. The
second term in (4.1) is independent of the applied voltage vector. Thus, the
maximum rate of change of torque is determined by the first term of (4.1) which can
be written as
 dTe 
{sin(θ k − θ r,0 )}
 dt  = max
k

 max
(4.2)
61
The rotor flux angle in (4.1) can be assumed equivalent to the stator flux angle, since
the slip angular velocity, in practice, is too small.
q
vs,k
Ψs,1
Ψs,0
ωΨr
θk
δsr
Ψr,0
ωrt + θr,0
0
d
Figure 4.2 Space vectors of the applied voltage, the stator flux and the rotor flux
Equation (4.2) indicates that the fastest torque response is achieved when the
voltage angle is 90o with respect to the stator flux angle. In other words, to obtain
the fastest torque response, a voltage vector that has the largest tangential component
has to be selected.
For studying the effect of selection two different voltages, the trajectory of
stator flux vector in the stator flux plane shown in Figure 4.1 is mapped to the output
torque and stator flux magnitude (with respect to time) shown in Figure 4.3. It is
assumed that the space vector of the stator flux linkage moving in the
counterclockwise direction and the variation of the stator flux vector is
approximately proportional to the voltage vector applied (i.e vs,4 and vs,5).
The behavior of torque dynamic in DTC is investigated by applying a step
change of torque reference at the time t=t1, as illustrated in Figure 4.3 or when the
stator flux vector is about to enter Sector III, i.e. at α3 = 0 rad. as defined in Figure
62
4.1. According to (4.2), higher torque rate can be achieved when the vs,4 is switched
during the torque dynamic (as the flux vector moves from angle α3=0 to α3=π/6 rad.).
Thus, as noted in Figure 4.3, the torque slope under dynamic condition is steeper
when the vs,4 is used (or flux increases) than the slope when the vs,5 is switched (or
flux decreases). The figure shows that the basic DTC may not give the fastest torque
dynamic response since vs,5 is switched more often as the flux vector approaches
towards the middle of sector.
Sector III
Stator flux
Hysteresis
band
Ψs
Ψs,ref
0
Time
Applications of the
non-optimized voltage
Torque
Te,ref,2
Te
Te,ref
Hysteresis
band
Te,ref,1
0
Figure 4.3
t1
t2
Time
Inconsistent torque slope due to selection of different voltage vectors
63
It should be noted that, the identification of the optimized voltage vector
(between two possible voltages) to achieve the highest torque rate depends on flux
position. In general, if the sector h is subdivided into subsectors, i and ii based on
(4.3), vector vs,h+1 will result in a higher torque slope throughout subsector i and vs,h+2
will give a higher torque slope throughout subsector ii. Note that the αh in (4.3) is
the angle within a sector h such that 0 ≤ αh < π/3 rad.
0 ≤ αh < π/6 rad.
π/6 ≤ αh < π/3 rad.
4.4
for subsector i
for subsector ii
(4.3)
The Proposed Torque Dynamic Control
Clearly, the above discussion indicates that the highest torque rate is achieved
if the most optimized voltage is selected. In the proposed dynamic overmodulation
method, this voltage is switched and held during the torque dynamic to produce the
fastest torque dynamic control. The improvement of performance of torque dynamic
control in DTC drive utilizing the proposed method is discussed. Then, the
implementation of the proposed method in the DTC drive is briefly discussed.
4.4.1
An Optimized Voltage Vector for Quick Torque Dynamic Control
Figure 4.4 illustrates the space vectors of the stator flux and rotor flux
linkages moving in the counterclockwise direction utilizing three different switching
modes, for two cases of torque dynamic control. Case 1 is when the stator flux is
about to enter sector h (at αh = 0 rad.) while case 2 is when the stator flux is at the
middle of sector h (at αh = π/6 rad.). It is assumed that the variation of stator flux is
proportional to the applied voltages. Under the torque dynamic conditions, the
motions of the stator flux are dictated by the three control modes of switching vs,h+1,
vs,h+2 and vs,DTC. The vs,DTC is the DTC switching operation where two possible
64
active voltages vs,h+1 and vs,h+2 in sector h are alternately switched for the stator flux
to keep track its circular reference. From Figure 4.4, it can be noticed that the vs,h+1
has the largest tangential component to the circular flux locus in case 1, on the other
hand the vs,h+2 in case 2. Based on the previous discussion, the selection of the
voltage is expected to give the fastest torque dynamic response.
Case 1
Case 2
qΨs
q
Ψs
αh≈π/3rad.
αh=π/3 rad.
h+1
h+2
h
vs,h+2 vs,DTC vs,h+1
h+3
δsr
h+4
h-1
ωΨs
Ψr
d
Ψs
δsr h
Ψr
h+3
Ψs
h+4
vs,h+1
ωΨs
dΨs
h-1
Ψs
αh = 0 rad.
αh= 0 rad.
(a)
vs,DTC
h+1 vs,h+2
h+2
(b)
Figure 4.4 Effects of selecting different switching modes under torque dynamic
conditions (a) when the stator flux is about to enter sector h, (b) when the stator flux
is at the middle of sector h
The performance of torque dynamic response can also be evaluated by
looking at the effect of applying different modes of switching on the angle ∆δsr. For
this purpose, the vectors in Figure 4.4 are redrawn as shown in Figure 4.5. To make
the comparisons fair, these vectors are drawn with the assumption that the duration
of application of each switching mode is same. This means, vs,h+1 and vs,h+2 are
drawn at the same magnitude, while, vs,DTC (i.e. the length trajectory on the circular
reference) is drawn by considering the total usage of the two possible voltages (as
indicated by the dotted line with arrowhead shown in Figure 4.5). Note that, ∆δsr,1,
∆δsr,2 and ∆δsr,DTC are the respective angle of vs,h+1, vs,h+2 and vs,DTC. Based on the
continuous rotation of the rotor flux as compared to the irregular rotation of stator
65
flux (as mentioned in Chapter 2), it can be seen that ∆δsr,1 is the largest when vs,h+1 is
switched for case 1 and on the other hand, ∆δsr,2 is the largest when vs,h+2 is switched
for case 2. In fact, if the sector is subdivided into subsectors i and ii based on (4.3),
vector vs,h+1 will result in a larger ∆δsr throughout subsector i and vs,h+2 will give a
larger ∆δsr throughout subsector ii.
qΨs
Case 1
0
∆δsr,2
δsr
vs,h+1
∆δsr,DTC vs,h+2
∆δsr,1
vs,DTC
(a)
ωΨs
Ψs
Ψr
dΨs
vs,h+2
vs,DTC
vs,h+1
Case 2
qΨs
(b)
ωΨs
0
∆δsr,2
∆δsr,DTC
∆δsr,1
dΨs
Ψs
δsr
Ψr
Figure 4.5 Comparison of the load angle, ∆δsr for three different modes of switching
under torque dynamic conditions (a) when the stator flux is about to enter sector h
(b) when the stator flux is at the middle of sector h
66
According to the Equation (2.27), with a larger ∆δsr, vs,h+1 and vs,h+2 will give
a faster dynamic torque response in the subsector i and ii, respectively. Thus, the
proposed dynamic overmodulation method will only use the vs,h+1 when the flux is in
the subsector i, otherwise it will only select the vs,h+2. The selection of the voltage is
similar to that used in [42,50] that actually performs the stator voltage at the six-step
mode. However, [42] uses complex DTC-SVM and [50] gives high current total
harmonic distortion (THD) even operating at steady state conditions, as mentioned in
Chapter 1.
4.4.2
The Proposed Control Structure
In the proposed dynamic overmodulation method, the most optimized voltage
vector that produces the largest tangential to the circular flux locus, is switched and
held (instead of selecting two active voltage vectors) during torque dynamic to
achieve the fastest dynamic torque control. As discuss in the previous section, if
sector hth is considered, this would be vector vs,h+1 in subsector i and vector vs,h+2 in
subsector ii. Figure 4.6 shows the structure of DTC-hysteresis based induction
machine with the proposed modification of flux error status. Notice that all
components of the DTC hysteresis-based scheme are retained, except for the
inclusion of the ‘modification of flux error status’ block which is responsible to
perform the dynamic overmodulation mode. The selection of the optimized voltage
vector to give the fastest torque response can be simply done by modifying the flux
error status (Ψs+) to a new flux status (Ψs-) before it is being fed to the look-up table.
It is activated when the torque error ETe is greater than twice of the hysteresis band of
torque controller, HBTe. On the other hand, the DTC will operate to the normal DTC
switching operation (i.e. Ψs- = Ψs+) when the error of torque ETe reduces to zero. In
doing so, the current distortion can only occur during torque transient which is
relatively in very short period of time.
67
When the ‘modification of flux error status’ block is activated, the output of
this block Ψs- depends on the flux position within a sector as shown in Figure 4.7. If
it is in subsector i (i.e. in sector h), Ψs- = 0 hence vs,h+1 is selected and if it is in
subsector ii Ψs- = 1, vs,h+2 is selected. The border of the sectors and subsectors can be
easily calculated using the threshold values of Ψs,q, denoted as Ψsq,1 and Ψsq,2, which
can be calculated as
( )
= Ψ sin (60 ) = Ψ
( )
tan (60 )
Ψ sq,1 = Ψ s sin 30 0 = Ψ sd tan 30 0
Ψ sq,2
0
s
(4.4)
0
sd
(4.5)
Detail description on the hardware implementation of the modification of flux error
status is presented in Chapter 6.
+ VDC Te,ref +
ETe
-
Ψs,ref
+
EΨ
-
Torque
hysteresis
controller
ΨsFlux
Ψs+ Modification
hysteresis
of flux error sector
controller
status
Ψsd
Ψs
Te
Tstat
Sa
Lookup
Table
Ψsq
Sb
Sc
Voltage
source
inverter
(VSI)
ia ib ic
Voltage
calculation
vsd
vsq
Stator flux and electromagnetic torque
estimators
IM
isq
isd
d-q current
calculation
Figure 4.6 Structure of DTC-hysteresis based induction machine with the proposed
modification of flux error status
68
q
Sector
IV
Sector
III
vs,5
Ψsq,2
Ψsq,1
Sector
V
Ψs- = 0 Ψs- = 1
vs,4
Ψs = 0
Ψ-=1
s
vs,6
Ψs - = 0
Ψs- = 1
Ψs-
Ψs-
=1
Ψs- = 0
vs,1
Sector
II
=0
Ψs - = 1
vs,3
Ψs- = 1 Ψs- = 0
d
Ψsq,1
Ψsq,2
vs,2
Sector
VI
Sector
I
Figure 4.7 The proposed digital outputs in modified flux error status correspond to
the optimized voltage vectors for every subsector in each sector
4.5
Simulation and Experimental Results
A brief description of the simulation method and experimental set up of the
proposed dynamic overmodulation are presented. The simulations of the hysteresisbased DTC of induction motor, including the proposed method were performed using
Matlab/Simulink package. The parameters of the DTC drive and induction machine
used in the actual system are the same as the parameters used for the simulation. The
feasibility of the proposed dynamic overmodulation to produce the fastest torque
dynamic control in the DTC drive system was verified through simulations and
experiments. Details of the simulation method and experimental set-up are given in
Appendix D and Chapter 6, respectively.
69
4.5.1
Simulation of the Proposed Torque Dynamic Control
The Simulink blocks of the DTC drive with the proposed block of
‘modification of flux error status’ are shown in Figure 4.8. The blocks of the DTC
drive can perform into the dual mode of switching operations by toggling the Manual
Switch 1. When the Manual Switch 1 is switched to the position DTC2, it will pass
through the torque error signal ETe to the block of Modification of flux error status
for detection of torque dynamic condition. In this case, the DTC drive works with
the proposed dynamic overmodulation method. When the Manual Switch 1 selects to
the position DTC1, the blocks of the DTC drive will never change the flux error
status since the torque error ETe is assumed always zero, thus, the DTC will operate
as usual.
The block of Modification of flux error status has two main functions, i.e. to
detect flux sectors and to perform dynamic overmodulation. Some block
components inside this block are depicted in Figure 4.9. For identification, the tasks
of the proposed block are grouped into two areas as marked in the Figure 4.9. The
upper group area is responsible to determine the appropriate flux error status
according to the flux sector and the threshold value of Ψsq,2 (as given in Figure 4.7).
The bottom group area is assigned to determine the flux sector and the threshold
values for each sector. The dynamic overmodulation mode is activated when a
sudden large torque error detected by the Relay block (as hysteresis comparator)
requests the Switch2 (as selector) to select the appropriate flux error status (i.e.
Fstatnew = f-), otherwise, the Switch2 will select the original flux error status (i.e.
Fstatnew = f+).
Figure 4.8 Simulink blocks of the DTC drive with the proposed block of modification of flux error status
70
71
f-
Figure 4.9 Identification of flux sector and determination of the appropriate flux
error status in the block of modification of flux error status
In order to set-up a step change of reference torque at a specific flux position,
the quadrature-axis flux component is measured with the threshold value. For
convenience, the evaluation of torque dynamic performance is considered only for
flux positions in Sector II. As noticed in Figure 4.10, a step change of reference
torque (i.e. from 1.5 Nm to 9 Nm) can be performed at two different flux positions
by toggling the Manual Switch2. When the case1 is selected the step torque change
72
will occur as the flux at the middle of Sector II. If the case2 is chosen the step
change of torque will occur as the flux is about to enter the Sector II (i.e. at the
boundary of Sector I and Sector II). For a fair comparison and optimized DTC
performance, the evaluation of torque dynamic performance is carried out as the
control of flux is established at its rated condition (to avoid the test during the flux
build-up or motor start-up). This can be simply done using a Step block where a step
unit is applied to the Switch block so that any change reference torque from the
output of Switch1 block is allowed to be selected by the Switch block as the Step
block produces a signal 1.
Figure 4.10 Generation of reference torque from 1.5 Nm to 9 Nm at a specific flux
positions (i.e. case1 at the middle Sector II or case2 at the boundary Sector I and II)
73
4.5.2
Experimental Set-up
This section briefly describes the experimental set-up used to verify the
feasibility of the proposed dynamic overmodulation in the DTC drive. The detail
description of the experimental set-up is given in Chapter 6. The experimental set-up
as shown Figure 4.11 consists of a DS1102 DSP controller board, an Altera FPGA
(APEX20KE), an IGBT inverter, gate drivers and isolation, an induction machine
with a DC generator as a load. The control algorithm is implemented on a DSPACE
1102 and Altera FPGA (APEX20KE). The sampling period of the DTC scheme,
including the proposed dynamic overmodulation is 55 µs. The DTC hysteresis-based
system and induction machine parameters are given in the Table 4.1.
Table 4.1 : DTC-Hysteresis based system and induction machine parameters
Induction machine
Rated power, P
1.5 kW
Rated voltage, Vline,rated
400 V
Rated current, is,rated
3.39 A
Rated speed, ωm,rated
1410 rpm
Rated torque, Te,rated
9 Nm
Rated flux, Ψs,rated
0.892 Wb
Stator resistance, Rs
5.5 Ω
Rotor resistance, Rr
4.51 Ω
Stator self inductance, Ls
306.5 mH
Rotor self inductance, Lr
306.5 mH
Mutual inductance, Lm
291.9 mH
Number of pole pairs, P
4
DTC-Hysteresis based System
Flux hysteresis band, HBΨ
0.045 Wb
Torque hysteresis band, HBTe
0.9 Nm
DC link voltage, VDC
240 V
74
Torque and flux input
commands
Tstat
DS1102
DSP-Board
Ψs+
sector
ALTERA
FPGA
(APEX20KE)
Oscilloscope
Sa ,Sb,Sc
Gate drive
signals
ia
ib
DC
Gen.
I.M
Sa
IGBTbased
VSI
Sa
Sb
Sb
Sc
Gate driver
&
isolation
Sc
Figure 4.11 Experimental Set-up (DTC with torque control loop)
4.5.3
Improved Torque Dynamic Control for Hysteresis-based DTC
Some tests have been carried out to compare the performance of torque
dynamic control in the basic DTC hysteresis-based with and without the proposed
dynamic overmodulation. For the sake of identification, the DTC without the
proposed overmodulation is referred as DTC1, while the one with the proposed
dynamic overmodulation strategy is referred as DTC2. The dynamic torque control
is performed by applying a step change of torque reference from 1.5 Nm to 9.0 Nm
at two different stator flux positions. Based on Ψsd and Ψsq, a step change in the
reference torque is introduced at α2=π/24 rad. (subsector i within Sector II) and at α2=
π/6 rad. (subsector ii within Sector II). To make a fair comparison, the dynamic
torque control in both DTC schemes were performed under the same load torque
condition so that the rotor speed operated at around 410 rpm. The DTC hysteresisbased system and induction machine parameters are same to the parameters used for
the simulation as given in the Table 4.1.
75
The simulation and experimental results for dynamic torque control
introduced at α2=π/24 rad. and α2= π/6 rad. are shown in Figure 4.12 and Figure 4.13,
respectively. As shown by these figures, the experimental results under these two
conditions are in close agreement with that obtained through simulations. It can also
be seen that for DTC1, two active voltage vectors are selected during the torque
dynamic; this is indicated by the flux error status waveform which switches between
1 and 0. For the proposed overmodulation (DTC2), single flux error status is held
hence only single vector is selected during the torque dynamic. The selected voltage
vector, as discussed in the previous section, provides the fastest torque response.
The effect of the proposed overmodulation on the stator flux locus for the two
different stator flux positions can be seen from the simulation and experimental
results as shown in Figure 4.14 and Figure 4.15. The shape and hence the magnitude
of the stator flux are affected since single voltage vector is switched during the
dynamic overmodulation. When the torque dynamic occurs in subsector i, single
voltage vector that produces the fastest torque response is selected. This vector also
increases the flux causing the flux locus to deviate from the circular locus
momentarily as shown in Figure 4.14. On the other hand, when the torque dynamic
occurs in subsector ii, a single voltage vector that gives the fastest torque response
and at the same time reduces the flux is selected. This is indicated by the stator flux
locus shown in Figure 4.15. For both cases, the deviation in the flux locus from the
circular locus occurs momentarily during the torque dynamic.
76
Simulation results
Experimental results
Figure 4.12 Comparison by simulation and experimental of dynamic torque
performance between (a) DTC1 and (b) DTC2, when a dynamic torque control
occurs as the stator flux position at αh=π/24 rad.
77
Simulation results
Experimental results
Figure 4.13 Comparison by simulation and experimental of dynamic torque
performance between (a) DTC1 and (b) DTC2, when a dynamic torque control
occurs as the stator flux position at αh=π/6 rad. (at the middle of Sector II)
78
Simulation results
Dynamic
overmodulation
Experimental results
Dynamic
overmodulation
Figure 4.14 Comparison of stator flux locus obtained in (a) DTC1 and (b) DTC2
(for one complete flux wave cycle) when a dynamic torque condition occurs at
αh=π/24 rad.
79
Simulation results
Dynamic
overmodulation
Experimental results
Dynamic
overmodulation
Figure 4.15 Comparison of stator flux locus obtained in (a) DTC1 and (b) DTC2
(for one complete flux wave cycle) when a dynamic torque condition occurs at
αh=π/6 rad.
80
4.5.4
Improved Torque Dynamic Control for Constant Switching Frequency-
based DTC
The proposed dynamic overmodulation also can be incorporated in the DTC
with a constant frequency torque controller (DTC-CSF). As discussed in Chapter 3,
this scheme offers a constant switching frequency and reduced torque ripple [32].
Moreover, this scheme has a similar control structure with the hysteresis-based DTC,
where all the components of the DTC are retained except the replacement of the
torque controller. For a clearer picture, the control structure of DTC-CSF with the
proposed block of ‘modification of flux error status’ is shown in Figure 4.16. For
verifying the improvement of the proposed method in the DTC-CSF scheme the type
of DTC-CSF2 as characterized in Chapter 3 is utilized. To make identification easier
for this chapter, consider the DTC-CSF2 works with the proposed method.
+ VDC Te,ref +
ETe
-
Ψs,ref
+
EΨ
-
CFTC
(Figure 3.1)
ΨsFlux
Ψs+ Modification
hysteresis
of flux error sector
controller
status
Ψsd
Ψs
Te
Tstat
Sa
Lookup
Table
Ψsq
Sb
Sc
Voltage
source
inverter
(VSI)
ia ib ic
Voltage
calculation
vsd
vsq
Stator flux and electromagnetic torque
estimators
IM
isq
isd
d-q current
calculation
Figure 4.16 Structure of DTC-constant switching frequency (DTC-CSF) based
induction machine with the proposed modification of flux error status block
81
The experimental results of the DTC-CSF2 for a step change of torque from
1.5 Nm to 9.0 Nm at α2=π/24 rad. (subsector i within Sector II) and at α2= π/6 rad.
(subsector ii within Sector II) are given in Figures 4.17 and 4.18, respectively. Note
that, the step torque change for each case is performed under the same conditions as
done for Figures 4.12 and 4.13. For the purpose of comparison, the experimental
results obtained in the Figures 4.12 and 4.13 are presented again to the Figures 4.17
and 4.18, respectively. From these figures, it can be noticed that the DTC-CSF2
produces fast torque dynamic control, which is comparable to that of the basic DTC
with the proposed method (DTC2). Furthermore, this scheme offers more
advantages such that reduced torque ripple and constant switching frequency.
(1)
(2)
(3)
(4)
(a)
(b)
(c)
Figure 4.17 Comparison by experimental of dynamic torque performance for (a)
DTC1, (b) DTC2 and (c) DTC-CSF2 when a dynamic torque control occurs as the
stator flux position at αh=π/24 rad.. (1) is stator flux (Wb), (2) is flux error status,
(3) is output torque (Nm) and (4) is torque error status
82
(1)
(2)
(3)
(4)
(a)
(b)
(c)
Figure 4.18 Comparison by experimental of dynamic torque performance for (a)
DTC1, (b) DTC2 and (c) DTC-CSF2 when a dynamic torque control occurs as the
stator flux position at αh=π/6 rad.. (1) is stator flux (Wb), (2) is flux error status, (3)
is output torque (Nm) and (4) is torque error status
83
4.5.5
Behavior of Motor Currents during Torque Dynamic Condition
It is quite interesting to observe the behavior of motor currents as the flux
magnitude is suddenly distorted due to the proposed switching strategy during torque
dynamic condition. Figure 4.19 highlights the behavior of motor currents in the
DTC2 when the torque dynamic control is applied at α2=π/24 rad. and α2=π/6 rad., at
three different speed operations. From this figure, it can be seen that the three-phase
stator currents show rapid change during torque dynamic, which relatively occurs in
a very short period of time especially when the motor runs at about 100 rpm. Thus,
the possibility of facing over-current problem is not serious as the sharp increases of
currents occur within a very short period. It can also be noticed that the performance
of dynamic torque control decreases (i.e produces slower torque response) as the
motor speed operation increases. This is due to the fact that the rate of change of
torque depends on operating conditions (i.e DC voltage, load torque, speed) which
has been discussed in [23,26]. Nevertheless, regardless of the speed of operation, the
torque response with the proposed dynamic overmodulation would give faster torque
response when compared with the conventional DTC that uses two voltage vectors
during torque dynamic.
84
Stator flux
(Wb)
Torque
(Nm)
Stator flux
(Wb)
Torque
(Nm)
(a)
Case 2: αh=π/6 rad.
Stator currents
(A)
Stator currents
(A)
Case 1: αh=π/24 rad.
Time-axis 15ms/div
Stator currents
(A)
Stator flux
(Wb)
Torque
(Nm)
Torque
(Nm)
(b)
Stator flux
(Wb)
Stator currents
(A)
Time-axis 15ms/div
Time-axis 15ms/div
Stator currents
(A)
Stator flux
(Wb)
Torque
(Nm)
Torque
(Nm)
(c)
Stator flux
(Wb)
Stator currents
(A)
Time-axis 15ms/div
Time-axis 15ms/div
Time-axis 15ms/div
Figure 4.19 The behavior of motor currents since the flux magnitude suddenly
distorted due to the proposed switching strategy as the dynamic torque occurs at
αh=π/24 rad. and αh=π/6 rad. The dynamic torque control is applied at three
different speed operations for (a) at around 100 rpm (b) at around 300 rpm (c) at
around 540 rpm
85
4.6
Chapter Conclusions
In this chapter, a simple dynamic overmodulation to achieve the fastest
dynamic torque response in DTC hysteresis-based induction machine has been
proposed. It has been shown that the fastest torque response can be achieved by
selecting the most optimized voltage vector that produces the largest tangential to the
circular flux locus. The selection of the optimized voltage vector is simply obtained
by modifying the flux error status before it is being fed to the look-up table. The
effectiveness of the proposed dynamic overmodulation method in the hysteresisbased DTC has been verified by simulation and experimentation as well as
comparison with the conventional DTC. It is shown that the improvement of the
proposed method can also be achieved in the DTC-CSF.
CHAPTER 5
A WIDE-SPEED HIGH TORQUE CAPABILITY UTILIZING
OVERMODULATION STRATEGY FOR DIRECT TORQUE CONTROL OF
INDUCTION MACHINES
5.1
Introduction
Until now, no study has been reported to carry out the overmodulation
strategy in DTC hysteresis-based structure mainly due to the fact that in DTC
hysteresis-based structure, unlike the DTC-SVM, there is voltage reference available.
This chapter presents a simple overmodulation strategy employed in hysteresis-based
DTC for induction machine drives. It is shown that the inverter voltage can be
gradually transformed from PWM to six-step mode by changing the stator flux locus
from circular to hexagonal shapes. In this way, an extension of a constant torque
region can be achieved and hence results in higher torque capability in a field
weakening region. The dual-mode control of flux locus (i.e. circular and hexagonal
locus) is accomplished by modifying the flux error status in the proposed hybrid
DTC. The improvement of the proposed strategy is verified through simulation and
experimental results.
87
5.2
Torque Capability in DTC
In practice, the maximum capability of torque can be achieved by operating
induction machines at rated stator flux and inverter current limit (i.e. 150-200% of
rated current machine). The maximum output torque at these operating conditions
can be retained as long as the motor speed (or the stator flux angular frequency ωs)
does not exceed its base speed (or ωs limit). This operating region is normally
referred to as a constant torque region.
In a constant torque region, the control at the maximum torque is determined
by the slip angular frequency (ωs-ωr). It was shown in [59] that the angle δsr which
plays a vital role in controlling the output torque is highly depending on the slip
angular frequency (ωs-ωr). The relation of the angle δsr and the slip angular
frequency as derived in [59] is given by (5.1).
dδ sr
λ Ψs
+
sin δsr = ωs − ωr
dt
στ r Ψ r
(5.1)
where τr is the rotor time constant, σ is the total leakage factor and λ is the ratio
between mutual and stator inductances. The derivation of (5.1) is also given in
Appendix C. Since the angle δsr mainly depends on the slip angular frequency, to
maintain the output torque to its maximum value, the slip angular frequency must be
always kept to its maximum value. This is typically established for speeds below the
base speed.
Figure 5.1 shows a phasor diagram of stator voltage equation (as given in
(2.25)) under steady state conditions for operations below base speed (Figure 5.1(a))
and at base speed (Figure 5.1(b)). From this figure, it can be seen that the capability
of torque decreases as the motor speed increases approaching the base speed. In the
case of low speed operation, the stator flux angular frequency as well as the backemf, jωsΨs is small enough such that sufficient stator voltage can be generated to
control both stator flux and torque, simultaneously. This means that the stator
88
voltage is sufficient to provide higher stator flux angular frequency for maintaining
the maximum slip at this operating speed. At base speed (Figure 5.1(b)), the stator
voltage vector touches the hexagonal stator voltage boundary limit. In this case, the
stator flux angular velocity also reaches to its limit as the number application of zero
voltages, which is ideally used to halt the flux, is almost zero. In fact, the usage of
active voltage vectors becomes dominant (used to increase the ωs) at higher stator
voltage and at the time the DTC algorithm gives more priority in controlling the flux
compared to the torque at higher speed operations. If the motor speed is allowed to
increase higher than the base speed, the slip will reduce and as a result the torque
capability reduces.
Hexagonal
boundary
limit
Hexagonal
boundary
limit
qΨs
vs,h+1
vs,h+2
Current
limit
qΨs
isRs
vs,h+1
vs,h+1
Current
limit
isRs
vs
jωsΨs
vs
jωsΨs
Ψs
δsr
Ψs
dΨs
δsr
Ψr
(a)
dΨs
Ψr
(b)
Figure 5.1 Phasor diagrams of vectors of stator voltage, ohmic voltage drop and
back-emf for (a) low speed operation and (b) base speed operation
89
Hence, there are two options to further increase the speed beyond the base
and at the same time to maintain the maximum torque capability:
•
Weaken the flux (in normal practice to be inversely proportional with
speed), so that the magnitude of the vector jωsΨs is retained as the
frequency increases. However, the d Ψs component of the stator current
will be reduced. Under this condition, the average stator voltage will stay
on the hexagonal boundary and the stator flux is regulated using two
active voltage vectors. This is what happens in the DTC hysteresis-based
drive where the flux locus is circular and no overmodulation is exploited
in the stator voltage.
•
Operate the inverter in overmodulation mode, thus the average stator
voltage will go beyond the hexagonal boundary limit. In normal practice,
to obtain the maximum voltage vector (i.e. six step mode), the voltage
vector reference of the space vector modulation is modified [40,41,42].
Once the six-step voltage is reached, to further increase the speed, the
flux will have to be weakened. This method can be performed for the
DTC based on space vector modulation. This method cannot be applied
in DTC hysteresis-based drive because no stator voltage reference is
available to implement the overmodulation.
Basically both methods will ensure that (ωs-ωr) is kept to the maximum
value. In the first method, the zero voltage vector is not used hence the angular
speed of the stator flux will be increased. As the speed is increased, a more
tangential voltage vector is selected hence higher stator flux angular speed is
achieved. In the second method, the zero voltage vector is also not used. The
angular speed of the stator flux is increased since instead of alternating between two
vectors, a single voltage vector is gradually applied as the waveform gradually
changed from PWM to six step mode. The flux will only be weakened once the sixstep voltage is reached. This means that in the second method, the constant torque
region is extended since the voltage capability is increased.
90
The discussion above indicates that the control of maximum torque for a
wider speed range is very much related to the ability to extend the limit of stator flux
angular frequency or the stator voltage limit. In this thesis, a method that uses an
overmodulation strategy is proposed. However, unlike other modulation strategies
which used space vector modulation, the proposed method is based on the DTC
hysteresis-based structure, which contains no voltage vector reference.
5.3
Improved Torque Capability with the Proposed Overmodulation
Strategy
This section presents the proposed overmodulation strategy to provide an
extension of a constant torque region and hence improves capability of torque for a
wide speed range operation. The overmodulation is achieved by gradually
transforming the PWM voltage waveform to six-step mode. The method is different
from the SVM based system where the reference stator voltage is available and
overmodulation is achieved by modifying the reference voltage.
5.3.1
Extending the Stator Voltage Operation to Six-Step Mode
In SVM based system, the overmodulation starts when the reference voltage
vector goes beyond the stator voltage hexagonal trajectory. The reference voltage
will be modified whenever it goes outside the hexagonal limits [41]. If the modified
reference voltage moves along the hexagonal trajectory, the synthesized voltage will
have no zero voltage vector. In DTC hysteresis-based drive, zero voltage vectors
will not be selected when the actual (or estimated) torque does not reach the
reference torque. In order to fully utilize the DC voltage, the stator voltage
magnitude has to go beyond this limit and operate in six-step mode. However with
the conventional hysteresis-based structure DTC drive, this is not possible.
91
With regards to the stator flux locus, when the reference voltage is sinusoidal,
i.e. within the hexagon, the locus of the stator flux is circular (Figure 5.2(a)). As a
matter of fact, when the stator voltage vector trajectory moves along the hexagon
without any zero voltage vector application, the stator flux locus is still circular
(Figure 5.2(b)). This is because without the zero vectors, the stator flux is still
regulated by the two active vectors and hence will follow the circular locus
reference, with limited stator voltage and angular flux frequency. To go around this
problem what we need to do is to modify the output of the stator flux hysteresis
comparator so that the selected voltage vector will transform stator voltage to six-step
waveform.
In the proposed overmodulation strategy, the stator flux locus is controlled to
form hexagonal shape during motor acceleration. By doing so, lower harmonic
components in stator current due to the hexagonal flux locus and six-step operations
occur but only during acceleration (or deceleration). The proposed control structure
to establish the hexagonal flux locus utilizing a hybrid DTC scheme will be
explained in Section 5.4. When the motor accelerates, the back-emf increases
therefore larger stator voltage is needed to satisfy the torque demand. The demand
will be naturally fulfilled by the controller which will gradually drop the applications
of zero voltage vectors as the speed increases. As the speed is further increased and
no more zero voltage vector is available, the selection of voltage vector will naturally
transform to six-step mode (Figure 5.2(c)). In other words by transforming the stator
flux locus to the hexagonal shape, we provide the room for the stator voltage to
increase beyond the hexagonal boundary and the torque demand will naturally
transform the stator voltage from PWM to six-step mode.
Figure 5.3 depicts the simulation results to compare the performance of stator
voltage and torque capability for hysteresis-based DTC with and without the
proposed overmodulation strategy. Apparently, a smooth transition of stator voltage
from PWM to six-step mode is achieved with the proposed overmodulation strategy
and hence extending the constant torque region.
92
Circular stator voltage
locus confined within
hexagon with two active
and zero vectors
Stator voltage moves
along the hexagon limits
with or without the zero
voltage application
Six-step mode:
voltage vector stays
momentarily at tips of
hexagon
vs,ref
Controlled by two active
and one zero voltage
vectors
(a)
Ψs
vs,ref
(b)
Ψs
(c)
Controlled by two active
vectors and possibly with
or without zero vector
Stator flux moves from
one tip to another as
single voltage vector is
applied
Ψs
(b)
Phase
voltage (V)
Torque
(p.u)
(a)
Phase
voltage (V)
Torque
(p.u)
Figure 5.2 The mapping of the voltage vector and the stator flux trajectories
Figure 5.3 The comparison of the performances of stator voltage and torque
capability for (a) DTC without the proposed overmodulation and (b) DTC with the
proposed overmodulation (Time scale: 162.5 ms/div.)
93
5.3.2
Extending the Limit of Stator Flux Angular Frequency
In the proposed method, the limit of the stator flux angular velocity is
extended (via overmodulation) once the actual torque does not fulfill the demand.
The overmodulation is initiated by transforming the stator flux locus to hexagonal
shape. The core of the proposed method is to transform the stator flux locus from the
circular to the hexagonal shaped and this is discussed in the next section. Once the
locus is transformed to the hexagonal shape, only two voltage vectors (one active and
one zero vectors) are used to control the stator flux. The zero voltage vectors will be
gradually dropped as the stator flux angular speed need to be increased to maintain
maximum torque capability as the motor accelerates. In other words, by dropping
the zero voltage vectors, the angular speed of the stator flux will be naturally
increased until finally six-step mode is reached.
5.3.3
Flux Weakening with Six-Step Mode
In the flux weakening region, a higher capability of torque can be achieved as
the proposed overmodulation strategy operates stator voltage in the six-step mode by
continuously controlling the flux vector to form hexagonal locus. This thesis uses a
conventional flux-weakening method [87] (in order to retain the simple control
structure) but with a minor modification. Using the proposed method, the magnitude
of the hexagonal stator flux is inversely proportional to the rotor speed when the
motor operates beyond the base speed. However, a step reduction of 13.4% in the
flux magnitude is applied as the hexagonal flux locus is immediately changed back to
the circular locus when the motor speed reaches its target. The percentage of the step
reduction is actually the maximum difference in magnitude of a hexagonal flux
locus. For a clearer picture, the control of stator flux magnitude and its
corresponding locus for a step change of reference speed from ωm,1 to ωm,2 is
illustrated in Figure 5.4. This reduction is to ensure that the output torque can be
well-regulated to its reference. In fact, higher level of flux reference (for this case
which is without a step reduction) particularly at very high speed operations gives
insufficient stator flux angular frequency (or appropriate slip) which may degrade the
94
output torque control, as discussed in [51]. In general, the reference flux in a flux
weakening region can be written as:
Ψ s,ref = Ψ s,rated
ω base
(1 − α.cos(π/6))
ωm
(5.2)
where Ψs,rated is the stator flux rated, ωm is the motor speed, ωbase is the base speed
and α is used to activate the step reduction when α equals to 1 otherwise it is 0. For
circular flux operation, α always equals to 0 and the base speed is denoted as ωbase,cir,
that is ωbase = ωbase,cir. For hexagonal flux operation, the determination of α is based
on motor speed as mentioned above and the base speed is denoted as ωbase,hex, thus
ωbase = ωbase,hex. Taking into account that the base speed for each control method is
defined as the maximum speed at which the maximum torque can be retained at the
rated flux condition. Since the proposed overmodulation strategy (with hexagonal
flux locus) offers an extended constant torque region and a wider speed range, so
ωbase,hex is higher than ωbase,cir.
95
Notes:
*performed/achieved in the proposed
method.
Motor
speed
ωm,2
Basic DTC with the proposed
overmodulation and flux
weakening strategy
*ωbase,hex
ωbase,cir
Basic DTC with the
conventional flux weakening
method
ωm,1
0
Stator flux
reference
t1
Time
*∆trr,2
Stator flux plane
∆trr,1
q
Ψs,rated
(5.2)
∆13.4%
Ψs
α=0
*α=1
0
Time
*Extension of
constant torque
region
*Six-step
mode
Flux
weakening
region
d
Figure 5.4 More rapid motor acceleration achieved with the proposed
overmodulation and flux weakening strategy when a step change of reference speed
is applied at time t1
5.4
The Proposed Hybrid DTC Scheme
The hybrid DTC scheme is proposed to facilitate the hysteresis-based DTC
drive to operate in dual-mode flux control as follows.
•
Hexagonal flux control in which the operation is similar to the DSC
[50]. This operation is utilized to achieve superior dynamic
performance and to allow the DTC performs with the complete sixstep voltage (as mentioned previously).
•
Circular flux control which is the normal operation in DTC. This
operation provides much lower current THD compared to that
obtained in hexagonal flux control (or DSC operation).
96
In the proposed method, the hybrid DTC will only perform the hexagonal flux
control during the dynamic conditions (i.e. motor acceleration or torque dynamic
condition). In doing so, the current distortion due to the hexagonal flux control can
only occur within a very short period. This section will discuss on how the control of
hexagonal locus is established in hysteresis-based DTC. Then, the mechanism and
condition for the transition between the circular and hexagonal stator flux locus is
presented.
5.4.1
Hexagonal Flux Control in the Proposed Hybrid Scheme
In general, it is possible to establish the control of hexagonal flux locus in the
hysteresis-based DTC by modifying the lookup table as well as redefining the stator
flux sector. This means that it is possible to interchangeably operate between DTC
and DSC using the same control hardware. This method however is not suitable,
especially when frequent switching and smooth transitions between the two schemes
is required. To overcome this, the proposed hybrid scheme uses a simple technique
to establish the hexagonal flux locus without the need to modify the lookup table and
redefine the stator flux sector.
Figure 5.5 shows the control structure of the hybrid DTC, which is similar to
the conventional DTC control structure, however with an inclusion of the
‘modification of flux error status’ block. When the ‘modification of flux error status’
block is activated, the output of the hysteresis controller (i.e. the input to the block),
Ψs+ is modified and becomes Ψsnew, thus, the stator flux locus will be transformed to
hexagonal. Otherwise, when the block is not activated, Ψsnew follows the original
flux error status Ψ+ and the flux locus remains circular. The activation of the block is
performed whenever a dynamic condition is encountered and this is discussed further
in Section 5.4.2. It can be shown that the generation of the appropriate flux error
status Ψsnew and detection of six sectors as required in the conventional DTC
operation can be merged in the same block. Hence, the DTC algorithm, including
the modification of flux error status can be simplified to retain the simple algorithm.
97
+ VDC Torque
hysteresis
controller
Te,ref +
-
Tstat
Eω
Ψs,ref
+
EΨ
-
Ψsnew
Flux
Ψs+ Modification
hysteresis
of flux error sector
controller
status
Ψsd
Ψs
Te
Sa
Lookup
Table
Ψsq
Sb
Sc
Voltage
source
inverter
(VSI)
ia ib ic
Voltage
calculation
vsd
vsq
Stator flux and electromagnetic torque
estimators
IM
isq
isd
d-q current
calculation
Figure 5.5 The structure of hybrid DTC of induction motor drive with the proposed
block of ‘modification of flux error status’
Figure 5.6 illustrates the formation of hexagonal locus based on the modified
flux error status Ψs- as proposed in Chapter 4. Each sector in the stator flux plane is
divided into two sub sectors; subsector i (unshaded area) subsector ii (shaded), the
same as defined in Chapter 4. Ideally, to produce a hexagonal flux locus, the new
stator flux error status Ψsnew has to be set according to Ψs- as illustrated in Figure 5.6.
For an example, voltage vector vs,4 should be selected whenever the flux is located
between middle of Sector II and middle of Sector III. From middle of Sector III to
middle of Sector IV, voltage vector vs,5 should be chosen, and so forth.
98
q
Ψs- = 1
Ψs- = 0
Sector
III
Sector
IV
ωs
vs,5
Sector
V
vs,4
Ψs
vs,6
vs,3
Sector
II
d
vs,1
vs,2
Sector
VI
Sector
I
Figure 5.6 Ideal case of hexagonal flux control based on Ψs-
However, in practice the use of Ψs- to attain the desired hexagonal flux locus
as described above will not work. The locus of flux may “shrink” as the speed
increases although the motor should be operated in a constant flux region. This
problem is illustrated by a simulation result as shown in the Figure 5.7(a). In the
simulation, the transition from circular to hexagonal locus starts at a (middle of
Sector II). At point b (middle of Sector III), the flux fails to reach to its reference.
The reduction will continue as the flux moves from one vertex to another, and
eventually, the size of the hexagonal reduces. The shrinking of the hexagonal stator
flux is due to the effect of ohmic voltage drop that causes the trajectory of flux
motion not to align with the direction of the applied voltage vector. To explain this,
consider the motion of flux from the point a (at the middle of Sector II) to the point b
(at the middle of Sector III) as the vector vs,4 employed. A phasor diagram of the
related component vectors (i.e. change of flux vector, applied voltage vector and
ohmic voltage drop) is drawn based on the stator voltage equation (i.e. (2.25)), as
99
depicted in Figure 5.7(b). In this case the change of flux vector from a to b can be
expressed as:
∆Ψ a − b = v s,z ⋅ ∆T z + v s,4 ⋅ ∆T 4 − i s R s ⋅ ∆T
(5.3)
where vs,z is the zero voltage vector (can be either vs,0 or v s,7), ∆Tz and ∆T4 are the
respective switching period of vs,z and vs,4. Hence, the time taken for the flux vector
travels from a to b is given by (5.4).
∆T = ∆T z + ∆T 4
(5.4)
According to (5.3) and (5.4), the effect of ohmic voltage drop (isRs) that
causes the reduction of flux is affected by ∆T, which is the summation of vs,z and vs,4.
This indicates that, the operation described above (the selection of Ψs- as given in
Figure 5.6) still become problematic even in the absence of zero voltage vector. In
fact, no matter how small the deviation angle between the vectors of applied voltage
and flux change (ø), the locus of hexagonal will still shrink (gradually) as the flux
moves from one vertex to another vertex.
100
q-axis flux component, Ψsq(p.u)
q
b
is Rs.∆T
vs,4 .∆T4
a
ø
∆Ψa-b
vs,z .∆Tz
d
d-axis flux component, Ψsd (p.u)
(b)
(a)
Figure 5.7 Effect of ohmic voltage drop on the trajectory of stator flux vector. (a)
stator flux locus (b) phasor diagram of (5.3)
The problem indicated in Figure 5.7(a) can be solved if the applied active
voltage in increasing the flux magnitude in subsector i is maintained until the flux
reaches to the circular reference (i.e. at point c), as illustrated in Figure 5.8. In this
case, the flux travels from the point a to the point b (i.e. ∆Ψa-b) by applying the flux
error status Ψs- as given in Figure 5.6. However, the flux error status as given in
Figure 5.6 is modified to 0 as the flux enters to subsector ii, until the flux reaches to
the point c (i.e. ∆Ψb-c). For convenience, the modification of Ψs- as mentioned above
can be described by the following relations:
Ψ s, mod
−
Ψ s − for
=
 0 for
∆Ψ a − b
∆Ψ b − c
(5.5)
where Ψs,mod- is the modified flux error status of Ψs- which is set as Ψsnew for proper
hexagonal flux locus. In general, the generation of the modified flux error status
Ψs,mod- to overcome the problem can be described by a state diagram of finite state
machine as shown in Figure 5.9.
101
q
Subsector ii
vs,4
Subsector i
c
b
Ψs,ref
Ψs
a
d
Figure 5.8 Flux keeps the increase as it enters to subsector ii until it reaches to the
point c. (i.e. path b-c) with the Ψs,mod- = 0
Ψs,mod- = Ψs(as given in Fig. 5.6)
Dynamic condition
detected
Ψs,mod- = 0
(as proposed in Fig. 5.8)
Ψs always in
subsector i
Ψs in
subsector i
Initial state
Ψs enters to
subsector i
Ψs in
subsector ii
-
Ψs,mod = 0
(Ψs
increases)
Ψs enters to
subsector ii
and Ψs ≥ Ψs,ref
Ψs,mod- = 1
(Ψs
decreases)
Ψs enters to
subsector ii
and Ψs < Ψs,ref
Ψs < Ψs,ref
Ψs,mod- = 0
(Ψs
increases)
Ψs in subsector ii
and Ψs ≥ Ψs,ref
Ψs always in
subsector ii
Figure 5.9 State diagram of finite state machine that establishes the modified flux
error status (Ψs,mod-) for proper hexagonal flux locus operation
102
5.4.2
Definition of Dynamic Condition
The control of hexagonal flux locus in the proposed hybrid DTC is activated
when a sudden change of speed error Eω is greater than 5 rad./s. On the other hand,
the hybrid DTC will operate circular flux locus as the motor under steady state
conditions (i.e. Eω reduces to zero or motor speed satisfies its target).
Figure 5.10 illustrates the selection of flux error status in the block of
‘modification of flux error status’ for hybrid DTC-DSC operation. The sudden
change of speed error is detected using a two-level hysteresis comparator. In this
case, the comparator output signal denoted as dyn is equal to 1, once the error of
speed Eω is greater than 5rad./s. If not, the signal dyn is equal to 0, once the speed
error reduces to zero. The selector will pick up the modified flux error status Ψs,modas Ψsnew, when dyn = 1, otherwise it will pick up the original flux error status Ψs+ as
Ψsnew. Then, the new flux error status Ψsnew along with the sector information is fed
to the lookup table to determine the most optimized voltages for excellent
performance of induction machine drive.
Taking into account that, the proposed hybrid DTC performs with a speed
control loop, in such a way the error of speed can be set up, for activation of the
hexagonal flux control. Thus, the references of torque and stator flux shown in
Figure 5.5 are obtained from a PI speed controller and flux weakening algorithm (as
given in (5.2)), respectively. In general, the block diagram of a PI speed controller
and flux weakening algorithm can be illustrated as shown in Figure 5.11.
103
Block of modification of flux error status
Selector:
DTC or DSC
operation
Ψs+
dyn
dyn
Eω
1
0
(a) Ψs+
5
dyn =0
Ψsnew
dyn =1
Eω
(b) Ψs,modDetermine Ψsaccording to
subsector/sector
(Figure 5.6)
Ψsd
Ψsq
Modification of Ψsfor proper Hexagonal
flux locus.
(Figure 5.9)
Ψs -
sector
Figure 5.10 The selection of flux error status in the block of modification of flux
error status. (a) Original flux error status Ψs+ for circular locus (b) Modified flux
error status Ψs,mod- for hexagonal locus
PI controller & limiter
ωm,ref
Eω
+
kpw,kiw
+Tlim
-Tlim
-
ωm,ref
Te,ref
(to torque controller)
Ψs,ref
Ψs,ref
(to flux controller)
ωm
ωm
Flux weakening operation
(as given in (5.2))
Figure 5.11 Block diagram of a PI speed controller and flux weakening algorithm
104
5.5
Simulation and Experimental Results
The operation of the proposed overmodulation strategy to improve the
capability of torque and hence gives more rapid motor acceleration in the hybrid
DTC scheme was verified through simulations and experiments. A detail simulation
method and experimental set-up are given in Appendix D and Chapter 6,
respectively. This section presents a brief description of the simulation method and
experimental set up of the proposed overmodulation and flux weakening strategy
utilizing a hybrid DTC scheme. The simulations of the DTC hysteresis-based
induction motor drive, including the proposed method were performed using
Matlab/Simulink package at fixed sample rate, i.e. at 55µs. The parameters of the
DTC hysteresis-based system and induction machine used in the actual system are
same to the parameters used for the simulation.
5.5.1
Simulation of the Proposed Overmodulation and Flux Weakening
Strategy in the Hybrid DTC Scheme
The Simulink blocks of the complete DTC drive which consists of the
subsystem blocks of the modification of flux error status and a PI speed controller
including a flux weakening algorithm are shown in Figure 5.12. To perform the
proposed overmodulation method in the DTC drive, the Manual Switch1 needs to
select the position DTC2. This allows the error of speed is fed into the subsystem
block of modification of flux error status for detection of dynamic conditions. On
the other hand, the normal DTC operation is performed in the DTC drive when the
Manual Switch1 selects the position DTC1. In this case, the block of the subsystem
will never change the flux error status as the error Eω is assumed always to be zero.
The block components used to construct the subsystem blocks of the
modification of flux error status and a PI speed controller (including flux weakening
algorithm) are depicted in Figures 5.13 and 5.14, respectively. For convenience, the
105
operations of each subsystem block can be briefly described as follows.
•
The Subsystem Block of Modification of Flux Error Status
Most block components of the subsystem shown in Figure 5.13 are similar to
that used in Chapter 4, which is as depicted in Figure 4.9. This means, the operation
of the blocks such as defines the flux sector or subsector and determines the Ψs- are
same as mentioned in Chapter 4. The only different between them can be noticed as
indicated by the dashed line area in Figure 5.13 that includes some extra blocks to
determine the Ψs,mod- for hexagonal flux operation. According to the operation
described in Figure 5.9, when the flux is increasing, the block of Switch6 will select
and hold the modflx- (i.e. Ψs,mod- ) equals to 0 (taken from Constant6) as long as the
estimated flux (flx) is less than the reference flux (Fref). Note that, the increasing of
flux is identified by comparing the previous output status of the modflx- with 0.
Otherwise, the Switch6 block will pick up the modified flux error status (modflx)
defined in Figure 5.6 as the modflx- (i.e. Ψs,mod- = Ψs-). The dynamic condition can
be detected by measuring any sudden large change of speed error using a hysteresis
comparator (the Relay block). When the dynamic condition is encountered, the
Switch2 block will pick up the modified flux error status modflx- as the new flux
error status Fstatnew (i.e. Ψsnew = Ψs,mod-), otherwise it will pick up the original flux
error status f+ (i.e. Ψsnew = Ψs+).
•
The Subsystem Block of a PI Speed Controller including a flux weakening
algorithm
The block components in the subsystem shown in Figure 5.14 can be divided
into two groups where the one which is enclosed by the dotted line represents the PI
speed controller while the other one that is enclosed by the dashed line represents the
flux weakening algorithm. The PI speed controller is implemented based on a
discrete form using a Unit Delay block and gain blocks to represent the proportional
gain (kpw), the Integral gain (kiw) and the sampling time (DT). To avoid overcurrent
conditions, the reference torque obtained from the PI speed controller is limited at its
rated value using a Saturation block. The Simulink blocks diagram of the flux
weakening algorithm is constructed based on (5.2). For comparing the performance
106
of torque capability between the proposed flux weakening algorithm and the
conventional, the manual switch blocks (i.e. Manual Switch2 and the Manual
Switch3) are used. In this way, the conventional flux weakening algorithm will
operate as the manual switch blocks select the position DTC1. On the other hand, the
proposed flux weakening algorithm will perform as the manual switch blocks select
the position DTC2 . The step flux reduction is applied once the signal α equals to 1
(i.e. when the motor reaches its target) and the signal is sensed using the Switch1
block. The Switch1 block will select the appropriate level of flux reference, which is
based on equation (5.2). Note that, the base speed for the conventional flux
weakening method is denoted as wb1 (or ωbase,cir), while the base speed for the
proposed flux weakening method is designated as wb2 (or ωbase,hex). In order to avoid
the stator flux weakens to very low values, the Saturation1 block is applied so that
the variation of the calculated flux reference (i.e. during the flux weakening) is only
allowed between the 0.892 Wb (at rated flux) and 0.3 Wb.
controller and a flux weakening algorithm
Figure 5.12 Simulink blocks of the DTC drive with the proposed block of modification of flux error status and the block of a PI speed
107
108
Figure 5.13 Identification of flux sector and determination of the appropriate flux
error status Ψs,mod- (based on Figure 5.9), in the block of modification of flux error
status
109
α
Figure 5.14 Generation of references of torque and stator flux from a PI speed
controller and flux weakening algorithm
110
5.5.2
Experimental Set-up
This section briefly describes the experimental set-up to verify the
improvements of the proposed overmodulation and flux weakening strategy in the
hybrid DTC. The detail description of the experimental set-up is given in Chapter 6.
The experimental set-up as shown in Figure 5.15 consists of a DS1102 DSP
controller board, Altera FPGA (APEX20KE), an IGBT inverter, gate drivers and
isolation, an induction machine with a DC generator as a load. The control algorithm
is implemented on a DSPACE 1102 and Altera FPGA (APEX20KE). The sampling
period of the DTC scheme, including the proposed method is 55 µ s. The hybrid
DTC is performed with a speed control loop, where an incremental encoder (I.E)
with 2048 p.p.r is employed for the speed feedback. A PI controller is utilized to
establish the control of speed, and it is design such that the speed-loop bandwidth is
2-decade lower than the speed sampling frequency, i.e. about 62.83 rad./s. In this
case, the bandwidth of the speed-loop is limited by the large sampling period of the
speed which is at 1 ms and the torque loop is assumed as a pure gain. The DTC
hysteresis-based system and induction machine parameters are given in the Table
5.1.
Speed and flux input
commands
Tstat
DS1102
DSP-Board
Ψs+
sector
ALTERA
FPGA
(APEX20KE)
Oscilloscope
Sa ,Sb,Sc
I.E
DC
Gen.
I.M
Gate drive
signals
ia
ib
Sa
IGBTbased
VSI
Sa
Sb
Sb
Sc
Gate driver
&
isolation
Sc
Figure 5.15 Experimental Set-up (DTC with speed control loop)
111
Table 5.1 : DTC-Hysteresis Based/Hybrid Systems and Induction Machine
Parameters
Induction machine
Rated power, P
1.5 kW
Rated voltage, Vs
400 V
Rated current, is,rated
3.39 A
Rated speed, ωm,rated
1410 rpm
Rated torque, Te,rated
9 Nm
Rated flux, Ψs,rated
0.892 Wb
Stator resistance, Rs
5.5 Ω
Rotor resistance, Rr
4.51 Ω
Stator self inductance, Ls
306.5 mH
Rotor self inductance, Lr
306.5 mH
Mutual inductance , Lm
291.9 mH
Combined inertia, J
0.0565 kg-m2
Combined viscous friction, B
0.0245 N.m.s
Number of pole pairs, P
2
DTC-Hysteresis based and DTC Hybrid Systems
Flux hysteresis band, HBΨ
Torque hysteresis band, HBTe
0.045 Wb
1.0 Nm
Proportional gain, kpw
3.548
Integral gain, kiw
1.538
Torque limit, Tlimit
9 Nm
DC link voltage, VDC
240 V
Base speed for the hexagonal flux locus, ωbase,hex
66 rad./s
Base speed for the circular flux locus, ωbase,cir
57 rad./s
112
5.5.3
Improved Torque Capability for Hysteresis-based DTC
The feasibility of the proposed overmodulation or/and flux weakening
strategy in the hysteresis-based DTC is investigated to highlight the improvements.
In this case, three different schemes based on the hysteresis controllers are
introduced, which are referred as;
•
DTC-HYS1 which is the hysteresis-based DTC with the conventional flux
weakening method. The reference flux is based on (5.2), where the α = 0 and
ωbase = ωbase,cir,
•
DTC-HYS2 which is the hysteresis-based DTC with the proposed
overmodulation strategy and the flux weakening method based on (5.2),
where the α = 0 and ωbase = ωbase,hex,
•
DTC-HYS3 which is the hysteresis-based DTC with the proposed
overmodulation strategy and the flux weakening method with the step
reduction. The reference flux is based on (5.2), where ωbase = ωbase,hex and the
step flux reduction is applied by changing the α from 0 to 1, at the instant or
as the motor speed reaches its target.
The performance of torque capability of each scheme, is evaluated by applying a step
change of speed reference from 0.5 p.u to 2.8 p.u..
Figure 5.16 shows the experimental and simulations results of motor torque,
stator flux, motor speed and stator phase voltage when the step change of reference
speed is applied in DTC-HYS1 and DTC-HYS3. As shown by this figure, the
experimental results of the schemes are in close agreement with that obtained
through simulations. From this figure, it can be seen that the capability of output
torque in DTC-HYS3 during the motor acceleration is higher than that obtained in
DTC-HYS1 and hence gives faster motor acceleration. The proposed overmodulation
strategy (utilized in DTC-HYS3 ) as discussed in previous section provides an
extension of constant torque region and allows the stator voltage operates in
complete six-step mode, particularly in flux weakening region. The exploitation of
stator voltage in overmodulation region, i.e. a smooth transition from the PWM to
113
the six-step mode, in DTC-HYS3 can be clearly seen in the zoomed image which is
also shown in Figure 5.16.
Voltage Voltage Current
(V)
(V)
(A)
Speed
(p.u)
Speed
(p.u)
Voltage Voltage Current
(A)
(V)
(V)
Figure 5.16
Tref
Stator flux
(Wb)
Stator flux
(Wb)
Tref
Torque
(Nm)
Torque
(Nm)
Simulation results
Zoomed image
Zoomed image
(a)
(b)
Comparison of capability of torque obtained in (a) DTC-HYS1 and (b)
DTC-HYS3 (Time scale: 400ms/div.)
114
Tref
Speed
(p.u)
Voltage Voltage Current
(V)
(V)
(A)
Voltage Voltage Current
(A)
(V)
(V)
Speed
(p.u)
Stator flux
(Wb)
Stator flux
(Wb)
Tref
Torque
(Nm)
Torque
(Nm)
Experimental results
Zoomed image
Zoomed image
(a)
(b)
Figure 5.16 Continued
Figure 5.17 depicts the simulation and experimental results of motor torque
and stator flux obtained in DTC-HYS2 and DTC-HYS3 under the same test condition.
From this figure, it can be noticed that the capability of torque during motor
acceleration is comparable but the regulation of output torque in DTC-HYS2 is poor
when the stator flux locus returns to the circular shape because of the excessive flux
reference. For this reason, the step reduction of the flux amplitude is applied in
DTC-HYS3 at the instant the stator flux returns to the circular locus, i.e. when the
reference speed is reached. By doing so, the DTC-HYS3 manages to provide better
output torque control and higher capability of torque as depicted in Figure 5.17.
115
Simulation results
(a)
Torque (Nm)
Tref
Stator flux (Wb)
Torque (Nm)
Zoomed image
(b)
Torque (Nm)
Tref
Stator flux (Wb)
Torque (Nm)
Zoomed image
Experimental results
(a)
Torque (Nm)
Tref
Stator flux (Wb)
Torque (Nm)
Zoomed image
(b)
Torque (Nm)
Tref
Stator flux (Wb)
Torque (Nm)
Zoomed image
Figure 5.17 Comparison of torque control as the speed reaches its target for (a)
DTC-HYS2 and (b) DTC-HYS3 (Time scale: 400ms/div.)
116
The simulation and experimental results of stator flux locus for DTC-HYS1 ,
DTC-HYS2 and DTC-HYS3 correspond to the results obtained in Figures 5.16 and
5.17 are depicted in Figure 5.18. Apparently, the step reduction of flux magnitude
proposed in DTC-HYS3 fits into the hexagonal flux locus as the motor speed reaches
its reference. On the other hand, the magnitude of circular flux locus in DTC-HYS2
which is identical to the magnitude of hexagonal flux locus gives a flux reference
which is too high and hence causes poor performance of torque control at very high
speed operation as shown in Figure 5.17(a). From Figure 5.18, it can also be noticed
that the magnitude of the stator flux in DTC-HYS1 and DTC-HYS3 are similar as the
Simulation
results
q-axis flux component
motor speed reaches its reference.
q-axis flux component
q-axis flux component
d-axis flux component
(a)
d-axis flux component
(b)
d-axis flux component
(c)
Figure 5.18 Stator flux locus correspond to the results obtained in Figures 5.16 and
5.17 for (a) DTC-HYS1, (b) DTC-HYS2 and (c) DTC-HYS3
117
q-axis flux component
Experimental
results
q-axis flux component
q-axis flux component
d-axis flux component
(a)
d-axis flux component
(b)
d-axis flux component
(c)
Figure 5.18 Continued
5.5.4
Improved Torque Capability for Constant Switching Frequency-based
DTC
The proposed overmodulation and flux weakening strategy also can be
incorporated in the DTC with a constant frequency torque controller (DTC-CSF)
since the scheme has a similar control structure with the hysteresis-based DTC. For
verifying the improvement of the proposed method in the constant switching
frequency-based DTC, the type of DTC-CSF2 as characterized in Chapter 3 is
utilized. To make identification easier for this chapter, consider the DTC-CSF2
performs with the proposed overmodulation and flux weakening method.
118
Figure 5.19 shows the experimental results of motor torque, stator flux, motor
speed, stator current and stator phase voltage when a step change of reference speed
from 0.5 p.u. to 2.8 p.u. is applied in DTC-HYS1, DTC-HYS3, DSC and DTC-CSF2 .
Note that the DSC scheme is referred to the method proposed in [50], which
introduced the hexagonal flux operation. In this thesis, the DSC can be performed
using the proposed hybrid DTC by controlling the hexagonal flux locus for entire
operating conditions. This can be simply obtained by feeding and holding a dummy
large error signal into the block of modification of flux error status such that the
dynamic condition is detected for any condition. To make a fair comparison, the
DTC-HYS3, DSC and DTC-CSF2 use the same base speed (i.e. ωbase,hex) and all the
schemes were performed under the same load condition. From this figure, it can be
observed that the capabilities of torque obtained in DTC-HYS3, DSC and DTC-CSF2
during the motor accelerations are comparable and higher than that obtained in DTCHYS1. Although the DSC is known to offer superior dynamic performance, but this
scheme produces high currents total harmonic distortions (THD) even operating in
steady state conditions. As it can be seen from the Figure 5.19(c), the stator current
in DSC has higher THD, when the motor speed at 0.5 p.u.. It also can be noticed that
the DTC-CSF2 offers lower output torque ripple when the output torque is regulated
at its reference.
Phase Volt. Current
(V)
(A)
Phase Volt. Current
(V)
(A)
Speed
(p.u)
Speed
(p.u)
Stator flux
(Wb)
Stator flux
(Wb)
Torque
(Nm)
Phase Volt. Current
(V)
(A)
Speed
(p.u)
Speed
(p.u)
Stator flux
(Wb)
Stator flux
(Wb)
Torque
(Nm)
Tref
(c)
Torque
(Nm)
Tref
Torque
(Nm)
Phase Volt. Current
(V)
(A)
119
(a)
Tref
(b)
Tref
(d)
Figure 5.19 Comparison performances of torque capability, current wave shape and
torque ripple in (a) DTC-HYS1, (b) DTC-HYS3, (c) DSC and (d) DTC-CSF2
120
Finally, some experiments on torque dynamic performance in a flux
weakening region were performed utilizing the DTC-HYS1, the DTC-HYS3 and the
DTC-CSF2. The torque dynamic control for each scheme is performed by applying a
step change of reference speed from 1.25 p.u. to 2.35 p.u. under the same load
condition. As shown by Figure 5.20, it can be observed that DTC-HYS3 and DTCCSF2 result in a higher torque capability and hence a lesser acceleration time.
Moreover, as discussed in the Chapter 4, the selection of voltage in the DTC-HYS3
and the DTC-CSF2 produce better torque dynamic response as depicted in Figure
5.21 (which is the zoomed image of Figure 5.20). Note that, a higher torque
capability and a faster torque dynamic are achieved in the DTC-HYS3 and the DTCCSF2 due to the six-step voltage. From these figures, it also can be noticed that
DTC-CSF2 provides more advantage in providing lower output torque ripple (as well
Stator flux
(Wb)
Speed
(p.u)
Speed
(p.u)
(a)
Voltage
(V)
Torque
(Nm)
Stator flux
(Wb)
Torque
(Nm)
Voltage
(V)
Voltage
(V)
Torque
(Nm)
Stator flux
(Wb)
Speed
(p.u)
as constant switching frequency) compared to the DTC-HYS3 scheme.
(b)
(c)
Figure 5.20 Comparison by experimentation of torque capability in flux weakening
region obtained in (a) DTC-HYS1, (b) DTC-HYS3 and (c) DTC-CSF2 (Time scale:
400ms/div.)
121
(a)
Stator flux
(Wb)
Voltage
(V)
Voltage
(V)
Torque
(Nm)
Torque
(Nm)
Torque
(Nm)
Voltage
(V)
Switching of vector
vs,4
Switching of vector
vs,4
Stator flux
(Wb)
Stator flux
(Wb)
Switching of vector
vs,4 and vs,3
(b)
(c)
Figure 5.21 Comparison of torque dynamic performance in a flux weakening region,
obtained in (a) DTC-HYS1, (b) DTC-HYS3 and (c) DTC-CSF2 (which corresponded
to the results obtained in Figure 5.20) (Time scale: 40ms/div.)
5.6
Chapter Conclusions
A hybrid DTC drive with dual-mode control of flux locus for high
performance induction machine has been proposed. It has been shown that the stator
voltage can exploit the overmodulation region until to the six-step mode by
controlling the flux locus into hexagonal shape. In such a way, an extended constant
torque region and a higher torque capability for a wider speed range operation are
achieved. The main benefit of the proposed hybrid scheme is its simplicity, where
overmodulation mode can be performed without the needs to estimate of reference
voltage, contrary to DTC-SVM approach.
CHAPTER 6
DESCRIPTION OF THE EXPERIMENTAL SET-UP
6.1
Introduction
This chapter describes the experimental set-up used for DTC of induction
machine drive used in this thesis. The main components of the set-up consists of a
DS1102 digital signal processor (DSP)-board, a field programmable gate arrays
(FPGA), inverter power circuits and gate driver, and an induction machine with a DC
generator as load. The complete drive system represented by the picture and the
functional block diagram is shown in Figure 6.1. Only two of the three-phase stator
currents (i.e. phase a and phase b) are measured using two Hall Effect current
sensors and no voltage sensor is applied to measure the DC-link voltage VDC. The
DC-link voltage VDC is assumed constant since the capacitor used is quite large to
minimize the ripple of the rectified voltage. As shown by Figure 6.1(b), the 3-phase
bridge rectifier is utilized to rectify the three-phase AC voltage from the variac
transformer. The ratio of the transformer is adjusted appropriately to get the desired
DC voltage which is 240V. Detail description on each component of hardware is
given in the following sections.
123
(a)
Gate
driver
3ø
Gate
driver
Gate
driver
C
I.M
Gate
driver
Gate
driver
sa
sa
sb
D.C
Gen.
I.E
Gate
driver
sb
sc
sc
FPGA (APEX20KE)
Tstat
(2-bit)
0
5V
Dynamic
condition
Ψs(1-bit)
DS1102 DSP-board
ADC
12-bit
4-channel
Sector
(3-bit)
DAC
12-bit
I.E
DSP
interface
TMS320
ADC
C31
16-bit
Oscilloscope
ia
ib
Host computer
(b)
Figure 6.1 Complete drive system (a) picture of the experiment set-up, (b) functional
block diagram of the experiment set-up
124
6.2
DS1102 Controller Board
The DS1102 controller board manufactured by digital signal processing and
control engineering (dSPACE), Gmbh, Germany is ideally suitable for development
of advanced machine control. The hardware platform is composed by a MasterSlave DSP board where a TMS320C31 floating point DSP as the main processor and
a TMS320P14 as the co-processor [88]. The software platform has a friendly user
interface which allows designers to modify algorithms in real-time. The board is
attached to the PC via a standard PC AT interface bus. Some of the core features
available on this board are:
•
Four 12-bit digital to analogue converters (DAC) with ±10V output range.
•
Two 16-bit analogue to digital converters (ADC) and two 12-bit ADCs. All
the ADCs with ±10V input range.
•
Two channels for I.E interface with 8.3MHz maximum count frequency.
Most of the major tasks of the DTC algorithm and the proposed algorithms
are executed using the DS1102, which include:
•
Estimations of stator flux and torque.
The stator flux and torque are estimated as described in Chapter 2. The
discrete form of the estimations sampled at 55 µs. The source code listing for
the estimations are given in Appendix E.
•
Detection of stator flux sector.
The sectors of stator flux as defined in Figure 2.7 of Chapter 2, can be simply
obtained based on the comparison between the estimated d and q flux
components with their respective threshold values (which divide the border of
the sectors). From Figure 6.2(a), it can be noticed that the threshold values
are 0 for Ψsd and Ψsq,1 for Ψsq. The threshold value of Ψsq,1 is given by (4.4)
in Chapter 4. The determination of the sectors based on the threshold values
can be described by the flow chart as shown in Figure 6.2(b). The sector
information is coded using the Gray code to prevent the glitch problem which
may cause incorrect voltage vectors selection and hence the instability to the
125
system. In such a way, only one bit is changed from one sector to another.
For example, the sequence of sector: I-II-III-IV-V-VI- I with the Gray code
the sequence is coded as 100-110-010-011-111-101 instead of using natural
binary code 001-010-011-100-101-110-001. The digitized signal of sector
information is passed to the FPGA (APEX20KE) via 3-pin digital output.
q
Sector
IV
Ψsq,1
Ψsq,1
Sector
III
Ψsq,1
30 0 Sector
II
Sector
V
d
Ψsq,1
Sector
VI
Sector
I
(a)
Figure 6.2 Identifying sectors of the stator flux (a) definition of Ψsq,1, (b)
determining sector based on threshold values, i.e. 0 and Ψsq,1
126
Get the value of
Ψsq,1 using (4.4)
Ψsd ≥ 0
Yes
No
Ψsq ≥ 0
No
Ψsq ≥ -Ψsq,1
Sector
VI
No
No
Sector
V
Yes
No
Yes
Ψsq ≤ Ψsq,1
Yes
Ψsq ≥ 0
Ψsq ≤ -Ψsq,1
Yes
Yes
Sector
VI
Sector
I
Ψsq ≥ Ψsq,1
No
No
Sector
II
Yes
Sector
III
(b)
Figure 6.2 Continued
•
Modification of flux error status.
As mentioned in Chapter 5, the generation of the appropriate flux error status
Ψs- and detection of six sectors as required in the conventional DTC operation
can be merged in the same block. Hence, the DTC algorithm, including the
modification of flux error status can be simplified to retain the simple
algorithm. Figure 6.3 shows the combination of tasks of the detection of
sectors (in dashed line box) and the generation of Ψs-. The generation of the
appropriate Ψs- for every subsector (as defined in Figure 4.7) is obtained
using the threshold values of Ψsq, which are 0 and Ψsq,2 as given in (4.5). For
the hexagonal flux operation, the Ψs- is needed to be modified further to
produce the Ψs,mod- as described in Chapter 5 (given in Figure 5.9). The
modified flux error status Ψs- (for Chapter 4) or Ψs,mod- (for Chapter 5) is then
passed to the FPGA via a single digital output pin (1 bit), to select the
optimized voltages.
127
Get the values of Ψsq,1 and
Ψsq,2 using (4.4) and (4.5)
Ψsd ≥ 0
No
Yes
Ψsq ≥ 0
No
Ψsq ≥ -Ψsq,1
No
No
Yes
Yes
No
Yes
Ψsq ≤ Ψsq,1
Yes
Ψsq ≥ 0
Ψsq ≤ -Ψsq,1
Ψsq ≥ Ψsq,1
No
No
Yes
Yes
Sector
VI
Sector
V
Sector
VI
Sector
I
Sector
II
Sector
III
Ψsq ≥ Ψsq,2
Ψsq ≥ 0
Ψsq ≥ -Ψsq,2
Ψsq ≥ -Ψsq,2
Ψsq ≥ 0
Ψsq ≥ Ψsq,2
No
No
Ψs- = 1
Ψ s- = 1
No
No
Ψs- = 1
Yes
Yes
Ψ s- = 0
Ψs- = 0
Yes
Ψs- = 0
Ψ s- = 0
Yes
Ψs- = 1
No
No
Ψs- = 0
Ψs- = 0
Yes
Yes
Ψs- = 1
Ψs- = 1
Figure 6.3 Identifying sectors of the stator flux (a) definition of Ψsq,1, (b)
determining sector using Ψsq,1
•
Detection of Dynamic Condition.
The dynamic condition can be either a sudden large torque error (for Chapter
4) or a sudden large speed error (for Chapter 5). The implementation of the
detection is made using a two-level hysteresis comparator as mentioned in
both chapters. To prevent any detection of dynamic conditions due to large
error during a motor start-up, an external toggle switch is used (as shown in
Figure 6.1(b)), which is connected to the ADC. Any change of reference
torque or speed (i.e. a unit step change) at the target flux position,
implemented by the software, is disabled when the toggle switch selects 0V.
When the switch selects the 5V, and the flux meets its target position, the
reference changes and holds to its target. The reference will re-operate to its
128
initial value if the switch selects the 0V (i.e. reset mode). The source code
listing of the detection of the dynamic condition is given in Appendix E.
•
Transformation of the currents and voltages from three-phase to two-phase
(d-q).
The d-q equations of stator current and stator voltage are used to estimate the
stator flux and torque. As described in Chapter 2, the d-q equation of stator
current is obtained using a Clark Transformation, while the d-q equation of
stator voltage is constructed based on the switching pattern of VSI.
•
Flux controller.
The two-level hysteresis comparator is implemented totally in software. The
output of the comparator Ψs+ is represented by a single bit since it can only be
either 1 (to decrease flux) or 0 (to increase flux). Thus, the output is passed
to the FPGA (APEX20KE) via 1-pin of digital output.
•
Torque controller.
The implementation of torque controllers such as three-level hysteresis
comparator (for DTC-hysteresis based) and constant frequency torque
controller (DTC-CSF based) are implemented entirely in the software. Two
bits are required to carry the information of the torque error status Tstat which
can be either -1,0 or 1. The digitized signal of Tstat is passed to the FPGA
(APEX20KE) via 2-pin of digital output. For the constant frequency torque
controller implementation, the triangular carrier is constructed based on the
Figure 3.3 as given in Chapter 3, where the carrier frequency is limited by the
sampling frequency.
•
Speed controller.
The train of pulses from incremental encoder (2048 p.p.r.) is fed to the I.E
interface channel on the controller board. The speed is approximately
obtained by scaling the total count of pulses for every 1 ms with the
appropriate gain. The closed-loop speed employs a PI controller which is
entirely performed in the software.
129
•
Flux weakening operation.
The implementation of the reference flux in a flux weakening region is based
on equation (5.2). The speed used in the equations is obtained from the
calculation made in the speed controller.
6.3
Altera Field Programmable Gate Array – APEX20KE
To provide high performance of DTC drive, particularly in reducing the
output torque ripple, it is desirable to minimize the sampling period of DSP by
distributing some of the main tasks of DTC, to be implemented in the FPGA. In this
thesis, an Altera Field Programmable Gate Array (FPGA) from APEX20KE device
family is utilized (as shown in Figure 6.4), which can configure complex integrated
logic circuits or combinational functions such as logic gates, memory elements as
well as the sequential functions like flip-flops and latch. The logic circuits is
constructed based on text models namely VHSIC hardware description language
(VHDL). Using a synthesis program which is Altera Quartus II, the written VHDL
code is compiled to a configuration data, and downloaded to the device.
Figure 6.4 Altera FPGA (APEX20KE)
130
In general, the block diagram of the tasks performed by the Altera FPGA can
be shown in Figure 6.5. The tasks performed by the Altera FPGA are summarized as
follows.
•
Voltage vectors selection table.
The implementation of the voltage vectors selection is based on the Table 2.1
of Chapter 2. As shown by Figure 6.5, the selection voltage vector (SaSbSc)
is accessed by the 6-bit of indextable, which represents the torque error status
(2-bit), the stator flux error status (1 bit) and the stator flux orientation (3-bit).
The selection of voltage vectors (or switching states) is implemented using
three multiplexers. The outputs from multiplexers (i.e. Sa, Sb and Sc) are
passed to the blanking time generator, before they are fed to the gate drivers.
•
Blanking time generation.
To avoid short circuit within a leg of VSI, a blanking time about 2µs is
implemented for each leg. For convenience, the operation of blanking time
generation for the leg of phase a is described, with the aid of the block
diagram and timing diagram as shown in Figure 6.6 and Figure 6.7,
respectively. The signal S1 is the switching state for phase a which is
obtained from the voltage vectors selection table. The block of MOD18 is
assigned to divide the general clock frequency of FPGA to 540ns (i.e. 18 x 30
ns). The signals a and d are the respective output of the upper and lower
counter. The upper counter (or lower counter) will count up by 1 for every
540 ns when the S1 is high (or low), otherwise the counter will be reset to
zero. By comparing signals a and d with a constant value of 4, the blanking
time is approximated to 2µs. Increasing or decreasing the constant value of 4
will enlarge or reduce the blanking time, respectively. Note that, the signals
Supper1 and Slower1 are for the upper and lower devices of the leg of phase
a of VSI. The blanking time generator is duplicated for the other two phases
to perform the same effect. The outputs of six signals from the three-phase
blanking time generators are then fed to the six gate driver circuits.
131
The design of VHDL code to perform all the tasks requires multiple architectures and
configurations. For convenience, the VHDL code for each task or functional block
(as described above) is given in Appendix F.
Blanking time
generation
Voltage vectors
selection table
indextable
Sa
Sb
Sc
j
k
l
address
6-bit
Supper1
Supper2
Supper3
Slower1
Slower2
Slower3
S1
S2
S3
clock
Supper1
Supper2
Supper3
Slower1
Slower2
Slower3
clock
Figure 6.5 Block diagram of voltage vectors selection table and blanking time
generation
h
Clkout
MOD
18
Clock
Clk
Clk
a
Upper
Cin1
uc1
Counter
16-bit
Cout1
Supper1
Clear1
Comparator
S1
 1 if Cin > 4
Cout = 
 0 if Cin ≤ 4
Clear1
d
Lower
Cin4
lc1
Counter
16-bit
Cout4
Slower1
Clk
Figure 6.6 Block diagram of blanking time generation for a single leg (i.e. phase a)
132
540ns
h
S1
4
a
4
d
Supper1
Slower1
Figure 6.7 Timing diagram of blanking time generation for a single leg (i.e. phase a)
6.4
Gate Drivers and 3-Phase Voltage Source Inverter (VSI)
There are two reasons of using the gate driver when working with control
electronic part and power converter. The first is that the signals produce from the
controller board (i.e. FPGA) are not sufficient to drive the power switches, thus, the
gate driver is used to amplify the power signals at the appropriate level. The second
is that for the safety and proper operation in which the six signals used to drive the
power switches must be electrically isolated to each other.
Figure 6.8 shows the schematic diagram of a gate driver circuit for an IGBT
[89]. A gate driver board is powered by 5V DC supply, and it requires only an input
digital signal from the FPGA (which is low power) to drive a single IGBT. The
amplification and isolation are made using two pulse transformers. To switch ON
the IGBT, the signal of 5V from FPGA is stepped up to 15V with sufficient gate
133
current, otherwise the IGBT is OFF when the signal from FPGA is 0V. For threephase VSI, six gate driver circuits are implemented to drive the six IGBTs.
Figure 6.8 Schematic of the gate driver circuit
The implementation of the 3-phase voltage source inverter consists of 3 units
IGBT module, in which each module consists of two IGBT (i.e. upper switch and
lower switch). These IGBT modules are manufactured by SEMIKRON with the part
number SKM 50GB 123D which rated at 1200V and 50A. To avoid any sharp rise
in voltage across the IGBT (which can damage the switching devices and also cause
electromagnetic inference to other circuits) the simplest Snubber circuit is
implemented. A capacitor Snubber is connected across each IGBT module of the 3phase VSI, as shown in Figure 6.9.
134
Finally, the picture of the gate drivers and the 3-phase VSI with capacitor
snubber circuits is shown in Figure 6.10.
+
Upper switch
Upper switch
G
E
VDC
-
G
C
E
G
C
E
b
a
Lower switch
Upper switch
Lower switch
c
Lower switch
G
G
G
E
E
E
Figure 6.9 Schematic of the IGBT module with the capacitor Snubbers
Figure 6.10 Gate drivers and VSI
C
135
6.5
Induction Machine
The induction machine used in the experiment is manufactured by WattEusas Motor. It has 2 pole pairs with three phase stator windings and a squirrel cage
rotor. It has a rated power of 1.5kW, rated voltage of 400V, rated frequency of 50Hz
and with rated speed of 1410 rpm. The motor’s parameters are determined based on
the blocked rotor and no load tests. The induction machine is coupled to a DC
machine which acts as a load. The DC machine is manufactured by Baldor Electric
Company, and it is rated at 2kW. A test is also conducted on the coupling of these
two machines to determine the combined inertia as well as viscous friction [78]. The
actual motor parameters which are obtained from these tests are also used in the
simulations and are given in Table 6.1.
Assuming the expression of r.m.s line-line output voltage of the inverter in
terms of DC link voltage is given by Vline-line = VDC/√2 = 0.7071VDC. The DC link
voltage used in this experiment is limited to 240V, thus the maximum line-line
output voltage that could be supplied to the induction machine is 169.7V. To
maintain rated magnetic flux, the maximum synchronous speed is decreased to 636.3
rpm (66.64 rad./s) in proportion with the reduction of the line-line voltage. At the
rated slip frequency of 89.89 rpm (9.42rad./s), the maximum rotor speed to maintain
rated flux is 546.41 rpm (57.22 rad./s).
136
Table 6.1 : Induction machine parameters
Induction machine
Rated power, P
1.5 kW
Rated voltage, Vs
400 V
Rated current, is,rated
3.39 A
Rated speed, ωm
1410 rpm
Stator resistance, Rs
5.5 Ω
Rotor resistance, Rr
4.51 Ω
Stator self inductance, Ls
306.5 mH
Rotor self inductance, Lr
306.5 mH
Mutual inductance, Lm
291.9 mH
Combined inertia, J
0.0565 kg-m2
Combined viscous friction, B
0.0245 N.m.s
Number of pole pairs, P
2
Figure 6.11 A coupling between induction machine (right) and DC machine (left)
137
6.6
Chapter Conclusions
This chapter has described the main components used in the experimental setup for the conventional and proposed DTC. These include:
•
the controller board DS1102,
•
Altera FPGA,
•
3-phase VSI and gate drivers, and
•
induction machine and DC generator.
Detail descriptions of the tasks performed by the DS1102 controller board and the
FPGA have been presented. The parameters and specifications of each hardware
component in realizing the complete DTC system have also been given.
CHAPTER 7
CONCLUSIONS AND FUTURE WORK
7.1
Conclusions
This thesis has presented dynamic performance improvements through
overmodulation strategy for DTC of induction machine drives. The use of SVM has
been addressed as the well-established approach in facilitating the DTC to perform
overmodulation mode as well as to solve the inherent problems in hysteresis-based
DTC. The use of SVM in DTC, however, complicates the simple control of DTC;
since it requires complex calculation to estimate and hence to modify the reference
voltage. Instead of resolving the problem using SVM, this thesis has introduced
alternative methods.
Two improvements on the DTC drive have been proposed in this thesis,
which are as follows. 1) Improvement on torque dynamic control. 2) Improvement
on torque capability in field weakening region.
The effect of selecting two possible voltage vectors within a sector on torque
dynamic performance has been presented and analyzed. Among them, one of which
is the most optimized voltage (that produces the largest tangential flux component)
has been proposed to be selected to give the fastest torque dynamic control. Without
requiring major modifications on DTC hysteresis based structure, only a block of
modification of flux error status has been introduced to select the voltage. This has
led a simple dynamic overmodulation in the DTC drive. The improvement of the
139
proposed dynamic overmodulation has been verified by simulation and
experimentation as well as the comparison with the conventional DTC.
A simple overmodulation strategy for hysteresis-based DTC has been
proposed to enhance torque capability in a flux weakening region. The control of
hexagonal flux locus during a motor acceleration condition has been proposed to
give superior dynamic performance (i.e. faster motor acceleration). In this way, it
has been shown that a smooth transition of stator voltage from PWM to the six-step
mode is accomplished for extending a constant torque region and hence allows the
six-step operation in a flux weakening region for enhancing torque capability. To
perform a dual-mode flux control, a hybrid DTC drive which is based on
modification of flux error status has been developed. The effectiveness of the
proposed overmodulation strategy in providing higher torque capability as well as
excellent dynamic performance was verified by simulations and experiments.
The two improvements mentioned above can also be achieved by
incorporating the proposed methods in the constant switching frequency based DTC
scheme (DTC-CSF). This thesis also has suggested using the DTC-CSF instead of
using the common approach DTC-SVM, in providing constant switching frequency
and reduced torque ripple. With a limited sampling frequency, it has shown that the
torque ripple can be significantly reduced by enlarging the switching frequency of
the torque controller.
7.2
Future Work
Several recommendations for future work are listed as follows:
(a)
Replacing the conventional flux weakening method with the one that
has estimated the optimized reference flux. A higher torque capability
obtained in this thesis is due to the six-step operation as well as the
higher limit of stator flux angular frequency. With the optimized
140
reference flux plus the six-step operation, the maximum torque
capability can be achieved for the entire speed range of operations.
(b)
Improving the proposed overmodulation strategy. In this thesis, the
proposed overmodulation is activated by immediately changing the
circular flux locus into the hexagonal shape. This may cause
overcurrent condition at the instant the circular locus changes to
hexagonal. To avoid overcurrent problems, the flux locus should be
changed gradually from circular to hexagonal. This is possible by
gradually increasing the ‘holding angle’ from zero to π/6 rad.. The
definition of the ‘holding angle’ is similar to that proposed in [41].
However, [41] applies the holding angle in the stator voltage plane
and uses SVM technique.
(c)
Performing the DTC algorithm calculation totally in FPGA. In this
thesis, the sampling frequency is limited by the speed of DSP, which
is still not sufficient for reducing the torque ripple at least 5% of the
rated torque. The ripple needs to be reduced in order to emphasize the
improvements. Some efforts have been made to reduce the ripple
since the motor has quite low inductance values (that gives sharp
torque slope). These include the use of DTC-CSF, combined DSP and
FPGA and the last option is to limit the DC-link voltage to 240V. By
performing all the DTC algorithms in FPGA (with high sampling
frequency), the torque ripple can be greatly reduced even at the full
rated motor conditions (i.e. rated voltage). It should be noted that
operating at full rated motor would further enhance the improvements
since higher DC voltage will result in a higher rate of change of torque
and a wider speed range operation.
(d)
Replacing the PI control with a fuzzy control for constant frequency
torque controller (CFTC). Currently, the reduction of torque ripple is
achieved with a proper design of PI controller that requires knowledge
of machine parameters. Furthermore, the torque regulation somehow
creates oscillations when the motor operates at the worst conditions
141
(i.e. at a very low speed and at base speed operations). This effect can
be clearly seen in Figure 3.7, particularly in the case of DTC-CSF3
(where a small number of steps per cycle is used to generate the
triangular). With a fuzzy control, the operation becomes robust, thus
it might be possible to establish proper control of torque for the entire
speed range of operations.
REFERENCES
1.
Blaschke, F., The principle of field orientation as applied to the new
Transvektor closed-loop control system for rotating field machines. 1972. 34:
217-220.
2.
Gabriel, R. and Leonhard, W., Microprocessor control if induction motor. Proc.
IEEE-IAS Int Semiconductor Power Conv Conf., 1982. 538-545.
3.
Nordin, K.B., Novotny, D.W., and Zinger, D.S., The influence of motor
parameter deviations in feedforward field orientation drive systems. IEEE
Trans Ind. Appl. , 1985. IA-21(4). 1009-1015.
4.
Krishnan, R. and Doran, F.C., Study of parameter sensitivity in high
performance inverter-fed induction drive system. IEEE Trans Ind. Appl., 1987.
IA-23(4). 623-635.
5.
Sugimoto, H. and Tamai, S., Secondary resistance identification of an
induction motor applied model reference adaptive system and its
characteristics. IEEE Trans Ind. Appl., 1987. IA-23(2). 296-303.
6.
Khater, F.M.H., Lorenz, R.D., and Novotny, D.W., Selection of flux level in
field-oriented induction machine controllers with considerations of magnetic
flux saturation. IEEE Trans Ind. Appl., 1987. IA-23(2). 276-281.
7.
Jansen, P.L. and Lorenz, R.D., A physically insightful approach to the design
and accuracy assessment of flux observers for field oriented induction machine
drives. IEEE Trans Ind. Appl., 1994. 30(1). 101-110.
8.
Jansen, P.L., Lorenz, R.D., and Novotny, D.W., Observer based DFO: Analysis
and comparison of alternative methods. in Proc. IEEE-IAS Annual Meeting,
1993. 536-543.
9.
Habetler, T.G., Profumo, F., Griva, G., Pastorelli, M., and Bettini, A., Stator
resistance tuning in stator flux field-oriented drive using an instantaneous
hybrid flux estimator. IEEE Trans Power Electronics, 1998. 13(1). 125-133.
143
10.
Shauder, C., Adaptive speed indentification for vector control of induction
motors without rotational transducers. IEEE Trans Ind. Appl., 1992. 28(5).
1054-1061.
11.
Kubota, H., Matsuse, K., and Nakano, T., DSP-based speed adaptive flux
observer of induction motor. IEEE Trans Ind. Appl., 1993. 29(2). 344-348.
12.
Tajima, H. and Hori, Y., Speed sensorless field orientation control of the
induction machine. IEEE Trans Ind. Appl., 1993. 29(1). 175-180.
13.
Takahashi, I. and Noguchi, T., A New Quick-Response and High-Efficiency
Control Strategy of an Induction Motor. IEEE Transactions on Industry
Applications, 1986. IA-22(5). 820-827.
14.
Tiitinen, P., The next generation motor control method, direct torque control.
Proc. of Int. Conf. on Power Electronics, Drives and Energt System for
Industrial Growth, N. Delhi, India, 1996. 37-43.
15.
ABB Industry Oy Finland Direct torque control. Tehnical Guide No. 1, 1999.
16.
Abe, T., Habetler, T.G., Profumo, F., and Griva, G., Evaluation of a high
performance induction motor drive using direct torque control. PCC
Yokohama, 1993. 444-449.
17.
Takahashi, I. and Noguchi, T., Take a look back upon the past decade of direct
torque control. 23rd International Conference on Industrial Electronics, Control
and Instrumentation (IECON97), 1997. 456-551.
18.
Hu, J. and Hu, B., New integration algorithms for estimating motor flux over a
wide speed range. IEEE Trans Power Electronics, 1998. 13(5). 969-976.
19.
Bird, I.G. and Zelaya De La Parra, H., Practical evaluation of two stator flux
estimation technique for high performance direct torque control. In Conf. Rec.,
Power Electronics and Variable Speed Drives, No. 429, 1996. 465-470.
20.
Monti, M., Pironi, F., Sartogo, F., and Vas, P., A new state observer for
sensorless DTC control. in Conf. Rec., Power Electronics and Variable Speed
Drives, No. 456, 1998. 311-317.
21.
Li, Y., Shao, J., and Si, B. Direct torque control of induction motor for low
speed drives considering discrete effects of control and dead-time of inverter.
in Industry Applications Conference, 1997. Thirty-Second IAS Annual
Meeting, IAS '97., Conference Record of the 1997 IEEE. 1997.
144
22.
Jun-Koo, K. and Seung-Ki, S. Torque ripple minimization strategy for direct
torque control of production motor. in Industry Applications Conference, 1998.
Thirty-Third IAS Annual Meeting. The 1998 IEEE. 1998.
23.
Casadei, D., Serra, G., and Tani, A. Analytical investigation of torque and flux
ripple in DTC schemes for induction motors. 23rd International Conference on
Industrial Electronics, Control and Instrumentation, 1997. IECON 97. 1997.
24.
Casadei, D., Grandi, G., Serra, G., and Tani, A., Effect of flux and torque
hysteresis band amplitude in direct torque control of induction motor. In Conf.
Rec., IEEE-IECON'94, 1994. 299-304.
25.
Noguchi, T., Yamamoto, M., Kondo, S., and Takahashi, I., Enlarging switching
frequency in direct torque-controlled inverter by means of dithering. IEEE
Transactions on Industry Applications, 1999. 35(6). 1358-1366.
26.
Kang, J.W. and Sul, S.K., Analysis and prediction of inverter switching
frequency in direct torque control of induction machine based on hysteresis
bands and machine parameters. IEEE Transactions on Industrial Electronics,
2001. 48(3). 545-553.
27.
Jun-Koo, K., Dae-Woong, C., and Seung-Ki, S. Direct torque control of
induction machine with variable amplitude control of flux and torque hysteresis
bands. in Electric Machines and Drives, 1999. International Conference IEMD
'99. 1999.
28.
Habetler, T.G., Profumo, F., Pastorelli, M., and Tolbert, L.M., Direct torque
control of induction machines using space vector modulation. IEEE
Transactions on Industry Applications, 1992. 28(5). 1045-1053.
29.
Mir, S. and Elbuluk, M.E. Precision torque control in inverter-fed induction
machines using fuzzy logic. in Power Electronics Specialists Conference, 1995.
PESC '95 Record., 26th Annual IEEE. 1995.
30.
Bird, I.G. and Zelaya De La Parra, H., Fuzzy logic torque ripple reduction for
DTC based AC drives. Electronics Letters, 1997. 33(17). 1501-1502.
31.
Casadei, D., Serra, G., and Tani, A. Improvement of direct torque control
performance by using a discrete SVM technique. in Power Electronics
Specialists Conference, 1998. PESC 98 Record. 29th Annual IEEE. 1998.
32.
Nik Rumzi Nik Idris and A.H.M. Yatim, Direct torque control of induction
machines with constant switching frequency and reduced torque ripple. IEEE
Transactions on Industrial Electronics, 2004. 51(4). 758-767.
145
33.
Lascu, C., Boldea, I., and Blaabjerg, F., A modified direct torque control for
induction motor sensorless drive. IEEE Transactions on Industry Applications,
2000. 36(1). 122-130.
34.
Tripathi, A., Khambadkone, A.M., and Panda, S.K., Torque ripple analysis and
dynamic performance of a space vector modulation based control method for
AC-drives. IEEE Transactions on Power Electronics, 2005. 20(2). 485-492.
35.
Yen-Shin, L. and Jian-Ho, C., A new approach to direct torque control of
induction motor drives for constant inverter switching frequency and torque
ripple reduction. IEEE Transactions on Energy Conversion, 2001. 16(3). 220227.
36.
Papafotiou, G., Kley, J., Papadopoulos, K.G., Bohren, P., and Morari, M.,
Model Predictive Direct Torque Control; Part II: Implementation and
Experimental Evaluation. IEEE Transactions on Industrial Electronics, 2009.
56(6). 1906-1915.
37.
Beerten, J., Verveckken, J., and Driesen, J., Predictive Direct Torque Control
for Flux and Torque Ripple Reduction. IEEE Transactions on Industrial
Electronics. 57(1). 404-412.
38.
Geyer, T., Papafotiou, G., and Morari, M., Model Predictive Direct Torque
Control; Part I: Concept, Algorithm, and Analysis. IEEE Transactions on
Industrial Electronics, 2009. 56(6). 1894-1905.
39.
Correa, P., Pacas, M., and Rodriguez, J., Predictive Torque Control for
Inverter-Fed Induction Machines. IEEE Transactions on Industrial Electronics,
2007. 54(2). 1073-1079.
40.
Khambadkone, A.M. and Holtz, J., Compensated synchronous PI current
controller in overmodulation range and six-step operation of space-vectormodulation-based vector-controlled drives. IEEE Transactions on Industrial
Electronics, 2002. 49(3). 574-580.
41.
Holtz, J., Lotzkat, W., and Khambadkone, A.M., On continuous control of
PWM inverters in the overmodulation range including the six-step mode. IEEE
Transactions on Power Electronics, 1993. 8(4). 546-553.
42.
Tripathi, A., Khambadkone, A.M., and Panda, S.K., Dynamic control of torque
in overmodulation and in the field weakening region. IEEE Transactions on
Power Electronics, 2006. 21(4). 1091-1098.
146
43.
Griva, G., Habetler, T.G., Profumo, F., and Pastorelli, M., Performance
evaluation of a direct torque controlled drive in the continuous PWM-square
wave transition region. IEEE Transactions on Power Electronics, 1995. 10(4).
464-471.
44.
Chung, D.W. and Sul, S.K., A new dynamic overmodulation strategy for high
performance torque control of induction motor drives. 14th Applied Power
Electronics Conference and Exposition (APEC'99), 1999. 1. 264-270.
45.
Hava, A.M., Seung-Ki, S., Kerkman, R.J., and Lipo, T.A., Dynamic
overmodulation characteristics of triangle intersection PWM methods. IEEE
Transactions on Industry Applications, 1999. 35(4). 896-907.
46.
R.J. Kerkman, D. Leggate, T. M. Rowan, and Seibel, B.J., Control of PWM
voltage inverters in the pulse dropping region. in Proc. 9th Annu. Applied
Power Electronics Conf. and Exposition (APEC'94), Orlando FL, 1994. 521528.
47.
Mochikawa, H., Hirose, T., and Umemoto, T., Overmodulation of voltage
source pwm inverter. in Proc. JIEE Int. Soc. Conf., 1991. 466-471.
48.
Jul-Ki, S., Joohn-Sheok, K., and Seung-Ki, S., Overmodulation strategy for
high-performance torque control. IEEE Transactions on Power Electronics,
1998. 13(4). 786-792.
49.
S. Jul-ki and S.K. Sul, A new overmodulation strategy for induction machine
drive using space vector pwm. in Proc. Appl. Power Electron. Conf., 1995.
211-216.
50.
Depenbrock, M., Direct self-control (DSC) of inverter-fed induction machine.
IEEE Transactions on Power Electronics. 1988. 3(4). 420-429.
51.
Xu, X. and Novotny, D.W., Selection of the flux reference for induction
machine drives in the field weakening region. IEEE Transactions on Industry
Applications, 1992. 28(6). 1353-1358.
52.
Wasynczuk, O., Sudhoff, S.D., Corzine, K.A., Tichenor, J.L., Krause, P.C.,
Hansen, I.G., and Taylor, L.M., A maximum torque per ampere control
strategy for induction motor drives. IEEE Transactions on Energy Conversion,
1998. 13(2). 163-169.
53.
Sang-Hoon, K. and Seung-Ki, S., Maximum torque control of an induction
machine in the field weakening region. IEEE Transactions on Industry
Applications, 1995. 31(4). 787-794.
147
54.
Myoung-Ho, S., Dong-Seok, H., and Soon-Bong, C., Maximum torque control
of stator-flux-oriented induction machine drive in the field-weakening region.
IEEE Transactions on Industry Applications, 2002. 38(1). 117-122.
55.
Mengoni, M., Zarri, L., Tani, A., Serra, G., and Casadei, D., Stator Flux Vector
Control of Induction Motor Drive in the Field Weakening Region. IEEE
Transactions on Power Electronics, 2008. 23(2). 941-949.
56.
Jul-Ki, S. and Seung-Ki, S., Optimal flux selection of an induction machine for
maximum torque operation in flux-weakening region. IEEE Transactions on
Power Electronics, 1999. 14(4). 700-708.
57.
Grotstollen, H. and Wiesing, J., Torque capability and control of a saturated
induction motor over a wide range of flux weakening. IEEE Transactions on
Industrial Electronics, 1995. 42(4). 374-381.
58.
Casadei, D., Serra, G., and Tani, A. Direct flux and torque control of induction
machine for electric vehicle applications. in Electrical Machines and Drives,
1995. Seventh International Conference on (Conf. Publ. No. 412). 1995.
59.
Casadei, D., Serra, G., Stefani, A., Tani, A., and Zarri, L., DTC Drives for
Wide Speed Range Applications Using a Robust Flux-Weakening Algorithm.
IEEE Transactions on Industrial Electronics, 2007. 54(5). 2451-2461.
60.
Abu-Rub, H., Schmirgel, H., and Holtz, J. Maximum Torque Production in
Rotor Field Oriented Control of an Induction Motor at Field Weakening. IEEE
International Symposium on Industrial Electronics, 2007. ISIE 2007. 2007.
61.
Abu-Rub, H., Schmirgel, H., and Holtz, J. Sensorless Control of Induction
Motors for Maximum Steady-State Torque and Fast Dynamics at Field
Weakening. in Industry Applications Conference, 2006. 41st IAS Annual
Meeting. Conference Record of the 2006 IEEE. 2006.
62.
Gallegos-Lopez, G., Gunawan, F.S., and Walters, J.E., Current Control of
Induction Machines in the Field-Weakened Region. IEEE Transactions on
Industry Applications, 2007. 43(4). 981-989.
63.
Griva, G., Profumo, F., Abrate, M., Tenconi, A., and Berruti, D., Wide speed
range DTC drive performance with new flux weakening control [for induction
motor drives]. in Proc. 29th Annu. IEEE Power Electron. Spec. Conf.
(PESC'98), 1998. 1599-1604.
148
64.
Tripathi, A., Khambadkone, A.M., and Panda, S.K., Stator flux based spacevector modulation and closed loop control of the stator flux vector in
overmodulation into six-step mode. IEEE Transactions on Power Electronics,
2004. 19(3). 775-782.
65.
Casadei, D., Serra, G., and Tani, K., Implementation of a direct control
algorithm for induction motors based on discrete space vector modulation.
IEEE Transactions on Power Electronics, 2000. 15(4). 769-777.
66.
Bolognani, S. and Zigliotto, M., Novel digital continuous control of SVM
inverters in the overmodulation range. IEEE Transactions on Industry
Applications, 1997. 33(2). 525-530.
67.
S. Bolognani and Zigliotto, M., Space vector Fourrier analysis of SVM
inverters in the overmodulation range. in Proc. Int. Conf. Power Electronics,
Drives and Energy Systems for Industrial Growth (PEDES'96), New Delhi,
India, 1996. 319-323.
68.
R. J. Kerkman, D. Leggate, B.J. Seibel, and Rowan, T.M., An overmodulation
strategy for PWM voltage inverters. in Proc. 19th Annu. Int. Conf. Industrial
Electronics, Control and Instrumentation (IECON'93), Maui, HI, 1993(12151221).
69.
Van Der Broeck, H.W. and Skudelny, H.C., Analysis and realization of a
pulsewidth modulator based on voltage space vector. IEEE Trans Ind. Appl.,
1988. 24. 142-150.
70.
Dong-Choon, L. and Lee, G.M., A novel overmodulation technique for spacevector PWM inverters. IEEE Transactions on Power Electronics, 1998. 13(6).
1144-1151.
71.
Dong-Choon, L. and Lee, G.M., Linear control of inverter output voltage in
overmodulation. IEEE Transactions on Industrial Electronics, 1997. 44(4).
590-592.
72.
Blasko, V., A hybrid PWM strategy combining modified space vector and
triangle comparison methods. in IEEE PESC Conf. Rec. , 1996. 1872-1878.
73.
P. Vas, Electrical Machines and Drives: A Space-vector Theory Approach.
New York, Oxford Science, 1992.
74.
M. Fu and Xu, L., A sensorless direct torque control technique for permanent
magnet synchronous motors. In Conf. Rec., IEEE-IAS Annu. Meeting, 1999. 1.
159-164.
149
75.
Casadei, D., Serra, G., Tani, A., Zarri, L., and Profumo, F., Performance
analysis of a speed-sensorless induction motor drive based on a constantswitching-frequency DTC scheme. IEEE Transactions on Industry
Applications, 2003. 39(2). 476-484.
76.
Y. Xue, X. Xu, Habetler, T.G., and Divan, D.M., A low cost stator flux
oriented source variable speed drive. in Conf. Rec. 1990 IEEE-IAS Annu.
Meeting, 1990. 1. 410-415.
77.
Hoffman, F. and Janecke, M., Fast torque control of an IGBT-inverter fed
three-phase a.c drive in the whole speed range - experimental results. in 6th
European Power Electronic Conference, (Sevilla, Spain) 1995. 399-404.
78.
Leonhard, W., Control of Electrical Drives. Berlin: Springer-Verlag, 1984.
79.
Bose, B.K., Power Electronics and AC Drives. Prentice-Hall, New Jersey,
1986.
80.
Vas, P., Vector Control of AC Machines. Oxford University Press, New York,
1990.
81.
Murphy, J.M.D. and Turnbull, F.G., Power Electronic Control of AC Motors.
Pergamon Press, Oxford, 1987.
82.
Wade, S., Dunnigan, M.W., and Williams, B.M., Simulation of induction
machine vector control and parameter identification. In Conf. Rec. Power
Electronics and Variable Speed Drives, No. 399, 1994. 42-47.
83.
Purcell, A. and Acarnly, P., Devices switching scheme for direct torque
control. Electronics Letters, 1998. 34(4). 412-414.
84.
Casadei, D., Grandi, G., Serra, G., and Tani, A., Switching strategies in direct
torque control of induction machine. In Con. Rec. International Conf. on
Electrical Machines, Paris, France, 1994: p. 204-209.
85.
Elbuluk, M., Langovsky, N., and Kankam, M.D., Design and implementation
of a closed-loop observer and adaptive controller for induction motor drives.
IEEE Trans Ind. Appl., 1998. 34(3). 435-443.
86.
Zaid, S.A., Mahgoub, O.A., and El-Metwally, K.A., Implementation of a new
fast direct torque control algorithm for induction motor drives. Electric Power
Applications, IET. 4(5). 305-313.
87.
Joetten, R. and Schierling, H., Control of the induction machine in the field
weakening range. Proc. IFAC, 1983: p. 297-304.
88.
Gmbh, d., Floating-point Controlller Board. User's Guide, 1996.
150
89.
Yusof Jamil, Laporan Kursus Pendek CHICHE project 629. Universiti
Teknologi Malaysia, 1995.
90.
Mathworks Inc, "Simulink User's Guide," Masachussetts, USA, 1997
APPENDIX A
DERIVATION OF TORQUE AND FLUX EQUATIONS
A.1
Torque equation in terms of stator and rotor fluxes
From (2.8),
Te =
3
P Ψ sg × i sg
2
(A.1)
From (2.6), the stator current can be written as:
i sg =
Ψ sg Lm g
−
ir
Ls
Ls
(A.2)
Substituting (A.2) into (A.1) and considering that Ψ sg × Ψ sg = 0 and the following is
obtained,
3 L
Te = − P m Ψ sg × i rg
2 Ls
(A.3)
Ψ rg Lm g
−
is
Lr
Lr
(A.4)
From (2.7),
i rg =
Substituting (A.4) into (A.3) gives,
Ψ g L

3 L
Te = − P m Ψ sg ×  r − m i sg 
2 Ls
Lr 
 Lr
(A.5)
152
Since that Ψ sg × i sg =
2 Te
, (A.5) becomes
3 P
Te = −
L
3
P m Ψ sg × Ψ rg
2 σLs Lr
(A.6)
where σ is the total leakage factor which is given by:
σ = 1−
A.2
L2m
Ls Lr
(A.7)
Rotor flux in terms of stator flux
From equation (2.5), the rotor current can be written as:
−
i rg =
d Ψ rg
− j (ωg − ωr )Ψ rg
dt
Rr
(A.8)
Substituting (A.2) and (A.8) into (2.7) and after simplifying the rotor flux is
given by (A.9).
Lm
Ls
Ψ rg =
Ψ sg
1 + pτ r + jσσr (ωg − ωr )
(A.9)
The equation (A.9) is written in the rotor reference frame (i.e. ωg = ωr), hence
(A.9) reduces to:
Ψ rr =
Lm Ls
Ψ sr
1 + pσ τ r
(A.10)
APPENDIX B
DERIVATION OF TORQUE RATE EQUATION
Consider the possible applied voltage vector, stator and rotor flux vectors as
depicted in Figure B.1.
q
Ψs,1
vs,k
Ψs,0
ωΨr
θk
δsr
Ψr,0
ωrt + θr,0
0
d
Figure B.1 Space vectors of the applied voltage, the stator flux and the rotor flux
The space voltage vector in (2.24) or the applied voltage can also be written
into polar form as given by (B.1).
v s ,k = Vs ∠ θ k
(B.1)
Assuming that the applied voltage is used to change the initial stator flux
space vector Ψs,0 to Ψs,1. The ohmic drop voltage in equation (2.4) is neglected, then
154
the change in stator flux in the stationary reference frame can be approximated as
(B.2)
dΨ s = v s,k dt
Integrating the (B.2), the instantaneous of stator flux vector is obtained as
Ψ s ,1 = v s,k ⋅ t + Ψ s ,0
(B.3)
Let the rotor flux vector is written in the exponential form
Ψ r,0 = Ψ r e
j (ωr t + θr,0 )
(B.4)
where ωr is the angular velocity of rotor flux in rad./s. From equation (2.27), the
output torque in the stationary reference frame and it can be simply written as.
{
Te = CIm Ψ sΨ *r,0
}
(B.5)
where C is a constant. Then, differentiates (B.5) with respect to time, the rate of
torque is given as
dΨs *
d Ψ *r,0 
dTe
= CIm
Ψ r,0 + Ψ s

dt
dt 
 dt
(B.6)
From (B.2) and (B.4), the derivative terms in (B.6) can be expressed as
dΨs
= v s ,k
dt
d Ψ *r,0
dt
*
= − jω s Ψ r,0
(B.7)
(B.8)
155
Therefore, substituting (B.7) and (B.8) into (B.6), this yields
dTe
*
*
Ψs
= CIm v s ,kΨ r,0
− jω s Ψ r,0
dt
{
}
(B.9)
Substituting (B.3) into (B.9)
dTe
*
= C Ψ r,0
Im{v s ,k − jωs (v s ,k .t + Ψ s,0 )}
dt
(B.10)
The term t in (B.10) is the instant of applying the vs,k, then by letting t=0 and take the
imaginary part, the following is obtained
dTe
= C Ψ r [Vs sin (θ k − θ r,0 ) − ω s Ψ s,0 cos(θ s,0 − θ r,0 )]
dt
(B.11)
APPENDIX C
DERIVATION OF THE RELATIONSHIP BETWEEN THE ANGLE δsr AND
THE SLIP ANGULAR FREQUENCY
Some relevant equations given in Chapter II are used to derive the relation of
the angle δsr and the slip angular frequency (ωs-ωr). These equations, i.e. (2.5), (2.6),
(2.7) and (2.27) can be represented in the stationary reference frame and the
corresponding equations are obtained as follows:
0 = Rr i r + j (ωs − ωr )Ψ r +
dΨr
dt
(C.1)
Ψ s = Ls i s + Lm i r
(C.2)
Ψ r = Lr i r + Lm i s
(C.3)
where ωs is the stator flux angular frequency, ωr is the rotor angular speed, Ls, Lr and
Lm are the motor inductances. To clarify the effect of δsr on the slip angular frequency,
the space vector of rotor flux is written in the exponential form which is as follows:
Ψ r = Ψ r e − jδsr
where the angle δsr can also be defined as the delay angle of the rotor flux with
respect to the stator flux.
(C.4)
157
Solving (C.2) and (C.3) with respect to is and ir and substituting in (C.1) yields
the (C.5):
0=
Ψ r λΨ s
dΨr
−
+ j (ωs − ωr )Ψ r +
στ r
στ r
dt
(C.5)
where τr is the rotor time constant, λ is the ratio between mutual and stator
inductances and σ is the leakage coefficient. Using (C.4), the equation (C.5) is then
separated into real and imaginary components and re-arranged them, the following
equations are obtained:
dΨ r Ψ r
λ
+
=
Ψ s cosδ sr
dt
στ r στ r
(C.6)
dδsr
λ Ψs
+
sinδsr = ωs − ωr
dt
στ r Ψ r
(C.7)
APPENDIX D
SIMULATION OF DTC
D.1
Induction Machine
The induction machine model used for the simulation is based on equations
(2.21) and (2.23). The SIMULINKS blocks used to construct the induction machine
is depicted in Figure D.1. Most electrical part of the machine which is represented
by equation (2.21) is modeled using the S-function [90], with the stator and rotor
currents are assigned as the state variables. To create the S-function, the equation is
written using C-language, and then, it is compiled as a MEX-file using the mex
utility [90]. The block of S-function from the SIMULINK/User-Defined Functions
library is used to interface the function into the SIMULINK model. As shown by
this figure, the d-q voltages and rotor speed are multiplexed into the S-function block
as the inputs, while the output signals from the S-function block are split using the
Demux block to give the electromagnetic torque, stator and rotor currents. The
mechanical dynamics of the machine is based on equation (2.23), and it is totally
modeled using SIMULINK blocks. The simulation is performed in the discrete
mode at constant simulation step size of 55µs, which is the same used for the
sampling period in the experiment.
159
Figure D.1 Induction machine
D.2
Calculations of stator flux and torque
Using equations (2.32) and (2.33), the d-q component of stator flux is
expressed in discrete form (i.e. sampled at DT), which can be modeled using
SIMULINK-blocks as shown in Figure D.2. Note that, a low pass filter with cut-off
frequency 5 rad./s is implemented for the both components. The magnitude of the
flux can be simply obtained as Ψs = √(Ψsd2 + Ψsq2).
The torque calculation is based on equation (2.38), which is in terms of stator
flux and stator current components. The calculated torque is also determined by the
number of poles of the machine.
160
Figure D.2 Stator flux estimation based on low pass filter
Figure D.3 Torque calculation
D.3
Hyteresis Controllers
The two levels hysteresis comparator used for controlling the flux is
simulated using the relay block from the SIMULINK’s discontinuities library, as
depicted in Figure D.4(a). The hysteresis bands and the outputs of a hysteresis
comparator is set by specifying the thresholds and output values in the function relay
parameters windows. The three levels hysteresis comparator used for controlling the
161
torque is simulated by employing two relay blocks which are connected in parallel as
shown in Figure D.4(b).
(a)
(b)
Figure D.4 Hysteresis Controllers (a) stator flux (b) torque
D.4
Voltage vectors selection table
The selection of the appropriate voltage is based on the Table 2.1 which was
proposed by Takahashi [13]. The torque error status (Tstat), flux error status
(Fstatnew) and sector are used to index the selection table to choose suitable voltage
vectors (i.e. Sa, Sb and Sc) as depicted in Figure D.5. The selection table is written
in C-language, and then it is compiled to create a MEX-file, before the created MEXfile is being downloaded to the S-function block to perform the simulation.
Figure D.5 Selection of voltage vectors
162
D.5
3-phaseVoltage Source Inverter
The 3-phase VSI is simulated using the Gain blocks as depicted in Figure
D.6. The input of the VSI is the switching states obtained from the voltage vector
selection which gives either 1 or -1. Each gain block is set to half of the DC-link
voltage, in such a way the output of the VSI represents a voltage with respect to the
center point of the DC-link voltage. The output of the VSI is connected to the
induction machine.
Figure D.6 Voltage source inverter
163
D.6
Complete DTC drive
The overall components of the DTC drive simulated using the SIMULINK
blocks are shown in Figure D.7. The SIMULINK model of the proposed
components, i.e., the modification of flux error status, speed controller and flux
weakening algorithm are described in Chapter IV and Chapter V.
Figure D.7 Complete DTC drive
APPENDIX E
DSP SOURCE CODE LISTINGS
E.1
DSP source code listing for fast torque dynamic control utilizing
dynamic overmodulation strategy in DTC drives
/ * * * * * * dtc1_dtc2_dtc-csf2_dynamicOM.c * * * * * * * * * * * * * * * * * * * * * *
*
*
*
Direct Torque Control – with the Proposed Dynamic
*
*
Overmodulation Strategy for DS1102 controller
*
*
Board from dSPACE, GmbH
*
*
Written by Auzani Bin Jidin
*
*
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <brtenv.h>
#include <math.h>
/* basic real-time environment
*/
/* input via DS1102 on-board ADC channels 1,3 & 4 */
#define input1(u) {
\
ds1102_ad_start();
\
in1 = ds1102_ad(1)*10;
\
/* dynamic detection from ext. toggle switch */
in3 = ds1102_ad(3)*7.083; \
/* from current sensor phase a
*/
in4 = ds1102_ad(4)*7.083;} \
/* from current sensor phase b
*/
/*output via DAC channels ,2,3,4
*/
#define output1 ds1102_da(1, out1*0.1)
#define output2 ds1102_da(2, out2*0.1)
#define output3 ds1102_da(3, out3*0.1)
#define output4 ds1102_da(4, out4*0.1)
/* * * * sampling step size * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
for estimations, torque & flux control, modification of flux error status
*/
#define DT 55e-06
/*
for speed control loop
*/
#define DT2 1e-3
165
/* * * * global variable * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int secint, sector, indextable, tflxstat;
float id=0;
float iq=0;
float vd=0;
float vq=0;
float in3=0.00;
float in4=0.00;
float in3offs=0.00;
float in4offs=0.00;
float dflx=0;
float qflx=0;
float qflx_ =0.0;
float q2flx_, h;
/*variable for sector definition */
int flxstat_y, flxstat_n, modflxstat;
int modflxstat_int,flxstat_y_int, flxstat_n_int;
float flxref=0.892;
float flx=0;
float flxerr=0.0;
float fband = 0.0045;
float upfband, lofband;
int flxstatus= 0xffff;
/*upper & lower band for flux
float Tref = 9.0;
float Te = 0.0;
float terr=0;
/* three-level flux hysteresis
float tband = 0.65;
float uptband, lowtband;
/*upper & lower band for torque
float midtband =0;
/*middle band for torque
float uplevel, downlevel;
int torquestatus=0x7eff;
/*pin 15 and 8 for torque status should be zero
int out_uplevel, out_downlevel;
*/
*/
*/
*/
*/
float w=0.0;
int port_pin_read[3];
int port_pin_read_o;
int timer_count=0;
float ie_count=0.0;
float flxposition;
int dyn = 0;
/* initial value dynamic detector : a step change Tref1 to Tref2 */
float upband = 1.8; /*dynamic condition when torque error larger than 1.8 Nm
*/
float lowband = 0.0;
int status_out = 0;
int newflxstatus= 0xffff;
float terrcheck = 0.0;
int flxstat_int = 1;
int flxstat_int_out = 1;
int preflxstat_int = 1;
166
int ts_int = 0;
int ts_up, ts_down;
float in1 = 0;
float ts1 = 0;
float out1=0.00;
float out2=0.00;
float out3=0.00;
float out4=0.00;
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* error flag for CHKERR at last dual-port memory location
*/
volatile int *error = (int*) (DP_MEM_BASE + DP_MEM_SIZE - 1);
/* timer0 interrupt service routine
sampling step DT
*/
void isr_t0 ()
{
unsigned int IO_port_read;
/* I/O-port status
*/
begin_isr_t0(*error);
/* overload check
*/
service_mtrace("0");
/*starting mtrace for DS1102 board */
input1(u);
in3 = in3-in3offs;
in4 = in4-in4offs;
/* get input value */
/* compensate offset for current input (ia)
/* compensate offset for current input (ib)
/* 3-phase to 2-phase (Clarke transformation)
id = in3;
iq = 1.1547005*in4 + 0.57735027*in3;
*/
*/
*/
/* read I/O-port of the switching pattern from FPGA */
IO_port_read = ds1102_p14_pin_io_in();
port_pin_read[0] = ((IO_port_read & (0x0001)) != 0);
port_pin_read[1] = ((IO_port_read & (0x0010)) != 0);
port_pin_read[2] = ((IO_port_read & (0x0040)) != 0);
/* Sa */
/* Sb */
/* Sc */
/* * * *stator d-q voltages with DC link of 240 Vdc * * * * * * * * * * * * * * * * * * * */
/*
vd = (2*Sa-Sb-Sc)2*Vdc/3/2 vq= 2*1.732*Vdc/3/2(Sb-Sc)
*/
vd = (2*port_pin_read[0] - port_pin_read[1] - port_pin_read[2])*80;
vq = (port_pin_read[1] - port_pin_read[2])*138.564;
/* * * *stator flux estimation using the voltage model with LP filter * * * * * * * * * * */
/*
low pass filter with cut-off frequency, wc = 5rad./s
*/
dflx = (dflx +(vd - id*5.5)*DT)*0.999725;
qflx = (qflx +(vq - iq*5.5)*DT)*0.999725;
flx = sqrt(dflx*dflx + qflx*qflx);
/*calculate the flux magnitude*/
/* * * * torque calculation * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
Te=3.0*(dflx*iq-qflx*id);
/* * * * the target position of flux for a step change of reference torque * * * * * * * */
/* flxposition = -dflx*0.5773; */
/*case1 : boundary of sector */
167
flxposition = 0;
/*case2 : middle of sector */
if(in1 >= 5) {
/*the step change is allowed once it is satisfied
*/
if((sector == 2) && (qflx >= flxposition))
{
dyn = 1;
Tref = 9;
}
}
else
{Tref = 1.5;
dyn = 0;
}
/* * * * determination of stator flux sector & modification of flux error status * * * * */
qflx_ = dflx*0.57735027;
q2flx_ = dflx*1.732;
if(dflx >= 0) {
flxstat_y = 0xffff;
/*flux decreases, flux error status = 1 @ 0xffff
*/
flxstat_y_int = 1;
flxstat_n = 0xdfff;
/*flux increases, flx status = 0 @ 0xdfff
*/
flxstat_n_int = 0;
if (qflx >= 0) {
if(qflx >= qflx_) {secint = 0xbbff; sector = 3; h=q2flx_;}
else {secint = 0xfbff; sector = 2; h=0;} }
else
{if(qflx <= -qflx_) {secint = 0xebff; sector = 1; h=-q2flx_;}
else {secint = 0xfbff; sector = 2; h=0;} }}
else {
flxstat_y = 0xdfff;
/*flux increases, flux error status = 0 @ 0xdfff
*/
flxstat_y_int = 0;
flxstat_n = 0xffff;
/*flux decreases, flux error status = 1 @ 0xffff
*/
flxstat_n_int = 1;
if (qflx >= 0) {
if(qflx >= -qflx_) {secint = 0xbfff; sector = 4; h= -q2flx_;}
else {secint = 0xffff; sector = 5; h=0;} }
else
{if(qflx <= qflx_) {secint = 0xefff; sector = 6; h=q2flx_;}
else {secint = 0xffff; sector = 5; h=0;} }}
/* stator flux orientation to be passed to pin 14(lsb),12,10(msb) dspace's i/o terminal */
if(qflx >= h) {modflxstat = flxstat_y; modflxstat_int = flxstat_y_int;}
else {modflxstat = flxstat_n; modflxstat_int = flxstat_n_int;}
secint = secint | 0x00ff;
/* * * * two-level flux hysteresis (pin 13) * * * * * * * * * * * * * * * * * * * * * * * * * */
flxerr = flx-flxref;
upfband = fband;
lofband = -fband;
if (flxstatus == 0xdfff) {
if(flxerr >= upfband) {flxstatus = 0xffff;
/* flux error status =1, flux dec*/
flxstat_int = 1; }
else {flxstatus = flxstatus; flxstat_int = flxstat_int;} }
else {
if(flxerr <= lofband) { flxstatus = 0xdfff;
/* flux error status =0, flux inc*/
flxstat_int = 0; }
else {flxstatus = flxstatus; flxstat_int = flxstat_int;} }
168
/* * * * three-level torque hysteresis comparator pin 15(msb) & pin 8(lsb)* * * * * * * */
terr = Tref - Te;
uptband = tband;
lowtband = -tband;
if(terr>=0) {
uplevel = uptband;
downlevel = midtband;
out_uplevel = 0x7fff;
/*torque error status= 1
*/
ts_up =1;
out_downlevel = 0x7eff;
/*torque error status= 0
*/
ts_down = 0;
if (torquestatus == 0xfeff){torquestatus = out_downlevel; ts1 = ts_down;}}
else {
uplevel = midtband;
downlevel = lowtband;
out_uplevel = 0x7eff;
/*torque error status= 0
*/
ts_up = 0;
out_downlevel = 0xfeff;
/*torque error status= -1
*/
ts_down = -1;
if (torquestatus == 0x7fff){torquestatus = out_uplevel; ts_int = ts_up;}}
if(torquestatus == out_downlevel) {
if (terr >= uplevel){ torquestatus = out_uplevel; ts_int = ts_up;}
else {torquestatus = torquestatus; ts_int = ts_int;} }
else {
if (terr <= downlevel) {torquestatus = out_downlevel; ts_int = ts_down;}
else {torquestatus = torquestatus; ts_int = ts_int;} }
/* * * * detection of dynamic condition* * * * * * * * * * * * * * * * * * * * * * * * * * */
terrcheck = dyn*terr;
/* large torque error is detected if dyn=1
*/
/* terrcheck = 0
perform this equation for without dynamic overmodulation */
if(status_out == 0) {
if(terrcheck >= upband) status_out = 1;
else status_out = status_out; }
else {
if(terrcheck <= lowband) status_out = 0;
else status_out = status_out; }
if(status_out == 1){
newflxstatus = modflxstat;
flxstat_int_out = modflxstat_int; }
else {
newflxstatus = flxstatus;
flxstat_int_out = flxstat_int; }
/*dynamic condition */
/*steady state cond. */
/*dynamic OM
/* normal DTC algorithm
*/
*/
/* * * * encode the flux error status 1 bit, torque error status 2-bit, sector 3-bit * * * */
tflxstat = torquestatus & newflxstatus;
indextable = tflxstat & secint;
169
/*
define 4-output signal
out1 = flx;
out2 = flxstat_int;
out3 = Te;
out4 = ts_int;
/* stator flux magnitude
/* flux error status
/* output torque
/* torque error status
*/
*/
*/
*/
*/
/* * * * writing to pin i/o FPGA ,sector, torque and flux error status * * * * * * * * * */
ds1102_p14_pin_io_write(indextable);
/*
output to DACs (4-channel oscilloscope)
output1; output2; output3; output4;
end_isr_t0();
/* end of interrupt service routine
}
*/
*/
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * timer 1 interupt service routine - sampling step DT2 * * * * * * * * * * * * * **/
void isr_t1()
{
begin_isr_t1(*error);
/*overload check
*/
/*the count from ds1102_inc() is 4 times => count edge trigger of pulses
ie_count = (ds1102_inc(1)*8388608);
/* scalling :2^23
/*speed in rad/s of the 2048 p.p.r = ie_count*2pi/(2048*DTw*4)
w = ie_count*0.766990393;
/*for DTw=1ms
ds1102_inc_clear_counter(1);
/*clearing the counter
end_isr_t1();
/* end of interupt service routine
}
main()
{
int i;
float ist3=0.0;
float ist4=0.0;
init();
/* initialize hardware system
*error = NO_ERROR;
/* initialize error flag
ds1102_p14_pin_io_init(0xffae);
/* initialize switch status array
for(i=0; i<=2; i++){
port_pin_read[i] = 0;
}
*/
*/
*/
*/
*/
*/
*/
*/
*/
/* * * * calculating the offsets for in1 only * * * * * * * * * * * * * * * * * * * * * * * * */
for(i=0; i<=100000; i++)
{
ds1102_ad_start();
in3 = ds1102_ad(3)* 7.083;
in4 = ds1102_ad(4)*7.083;
ist3=ist3 + in3;
ist4=ist4 + in4;
}
in3offs=ist3/100001;
in4offs=ist4/100001;
start_isr_t0(DT);
/* initialize sampling clock timer
*/
start_isr_t1(DT2);
/* initialize sampling clock timer2
*/
while (*error == NO_ERROR)
/* background process
*/
170
service_cockpit();
}
E.2
/* call cockpit code
*/
DSP source code listing for improvement of torque capability utilizing
overmodulation strategy in hybrid DTC drives
/ * * * * * * dtc-hys1_dtc-hys2_dtc-hys3_dtc-csf2_dsc.OM.c ** * * * * * * * * * * * *
*
*
*
Direct Torque Control – with the Proposed
*
*
Overmodulation Strategy for DS1102 controller
*
*
Board from dSPACE, GmbH
*
*
Written by Auzani Bin Jidin
*
*
*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <brtenv.h>
#include <math.h>
/* basic real-time environment
*/
/* input via DS1102 on-board ADC channels 1,3 & 4 */
#define input1(u) {
\
ds1102_ad_start();
\
in1 = ds1102_ad(1)*10;
\
/* dynamic detection from ext. toggle switch */
in3 = ds1102_ad(3)*7.083; \
/* from current sensor phase a
*/
in4 = ds1102_ad(4)*7.083;} \
/* from current sensor phase b
*/
/*output via DAC channels ,2,3,4
*/
#define output1 ds1102_da(1, out1*0.1)
#define output2 ds1102_da(2, out2*0.1)
#define output3 ds1102_da(3, out3*0.1)
#define output4 ds1102_da(4, out4*0.1)
/* * * * sampling step size * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
for estimations, torque & flux control, modification of flux error status
*/
#define DT 55e-06
/*
for speed control loop
*/
#define DT2 1e-3
/* * * * global variable * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
int secint, sector, indextable, tflxstat;
float id=0;
float iq=0;
float vd=0;
float vq=0;
float in3=0.00;
float in4=0.00;
171
float in3offs=0.00;
float in4offs=0.00;
float dflx=0;
float qflx=0;
float qflx_ =0.0;
float q2flx_, h;
/*variable for sector definition */
int flxstat_y, flxstat_n, modflxstat;
int modflxstat_int,flxstat_y_int, flxstat_n_int;
float flxref=0.892;
float flx=0;
float flxerr=0.0;
float fband = 0.0045;
float upfband, lofband;
int flxstatus= 0xffff;
/*upper & lower band for flux
float Tref = 9.0;
float Te = 0.0;
float terr=0;
/* three-level flux hysteresis
float tband = 1.0;
float uptband, lowtband;
/*upper & lower band for torque
float midtband =0;
/*middle band for torque
float uplevel, downlevel;
int torquestatus=0x7eff;
/*pin 15 and 8 for torque status should be zero
int out_uplevel, out_downlevel;
*/
*/
*/
*/
*/
float w=0.0;
int port_pin_read[3];
int port_pin_read_o;
int timer_count=0;
float ie_count=0.0;
/*speed-loop bandwidth is 2-decade lower than the speed sampling frequency */
float Kpw=3.548;
float Kiw=1.538;
float w_err=0.0;
float w_err_integ=0.0;
float propd=0.0;
float wref=0;
float wref1 = 29;
float wref2 = 160;
float flxposition;
/* initial reference speed
/* target reference speed
*/
*/
int dyn = 0;
/* initial value dynamic detector : a step change Tref1 to Tref2 */
float upband = 5.0; /*dynamic condition when speed error larger than 5 rad./s
*/
float lowband = 0.0;
int status_out = 0;
int newflxstatus= 0xffff;
int status_hys = 1;
/*DSC operation variables
*/
172
int newflxstatus1= 0xffff;
int newflxstatus2= 0xffff;
int hys_status = 0;
int flxstat_int = 1;
int preflxstat_int = 1;
int ts_int = 0;
int ts_up, ts_down;
float in1 = 0;
float ts1 = 0;
float wb = 66;
/* float wb = 57; */
/* base speed for hexagonal flux locus */
/* base speed for circular flux locus */
float out1=0.00;
float out2=0.00;
float out3=0.00;
float out4=0.00;
/ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* error flag for CHKERR at last dual-port memory location
*/
volatile int *error = (int*) (DP_MEM_BASE + DP_MEM_SIZE - 1);
/* timer0 interrupt service routine
sampling step DT
*/
void isr_t0 ()
{
unsigned int IO_port_read;
/* I/O-port status
*/
begin_isr_t0(*error);
/* overload check
*/
service_mtrace("0");
/*starting mtrace for DS1102 board */
input1(u);
in3 = in3-in3offs;
in4 = in4-in4offs;
/* get input value */
/* compensate offset for current input (ia)
/* compensate offset for current input (ib)
/* 3-phase to 2-phase (Clarke transformation)
id = in3;
iq = 1.1547005*in4 + 0.57735027*in3;
*/
*/
*/
/* read I/O-port of the switching pattern from FPGA */
IO_port_read = ds1102_p14_pin_io_in();
port_pin_read[0] = ((IO_port_read & (0x0001)) != 0);
port_pin_read[1] = ((IO_port_read & (0x0010)) != 0);
port_pin_read[2] = ((IO_port_read & (0x0040)) != 0);
/* Sa */
/* Sb */
/* Sc */
/* * * *stator d-q voltages with DC link of 240 Vdc * * * * * * * * * * * * * * * * * * * */
/*
vd = (2*Sa-Sb-Sc)2*Vdc/3/2 vq= 2*1.732*Vdc/3/2(Sb-Sc)
*/
vd = (2*port_pin_read[0] - port_pin_read[1] - port_pin_read[2])*80;
vq = (port_pin_read[1] - port_pin_read[2])*138.564;
/* * * *stator flux estimation using the voltage model with LP filter * * * * * * * * * * */
/*
low pass filter with cut-off frequency, wc = 5rad./s
*/
dflx = (dflx +(vd - id*5.5)*DT)*0.999725;
173
qflx = (qflx +(vq - iq*5.5)*DT)*0.999725;
flx = sqrt(dflx*dflx + qflx*qflx);
/*calculate the flux magnitude*/
/* * * * torque calculation * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
Te=3.0*(dflx*iq-qflx*id);
/* * * * the target position of flux for a step change of reference torque * * * * * * * */
/* flxposition = -dflx*0.5773; */
/*case1 : boundary of sector */
flxposition = 0;
/*case2 : middle of sector */
if(in1 >= 5) {
/*the step change is allowed once it is satisfied
if((sector == 2) && (qflx >= flxposition))
{
wref = wref2;
}}
else
{wref = wref1;}
*/
/* * * * flux weakening method * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
if(w >= wb)
{flxref = 0.892*wb/w;
/*flxref = 0.892*wbase/w
*/
/* either to reduce the flux or not
/* hys_status == 1; */
/*without step reduction
if (hys_status == 0) flxref = 0.77247*wb/w;} /* with the step reduction
*/
*/
*/
else flxref = 0.892;
if(flxref < 0.3) flxref = 0.3;
else flxref = flxref;
/* * * * Closed loop speed control system * * * * * * * * * * * * * * * * * * * * * * * * */
w_err = wref - w;
propd = w_err*Kpw;
w_err_integ = w_err_integ + w_err*DT*Kiw;
Tref= propd + w_err_integ;
/*PI controller output
*/
if(Tref > 9.0)Tref = 9.0;
else if (Tref < -9.0)Tref = -9.0;
else Tref = Tref;
/*to limit the reference torque at +/-9 Nm
*/
/* * * * determination of stator flux sector & modification of flux error status * * * * */
qflx_ = dflx*0.57735027;
q2flx_ = dflx*1.732;
if(dflx >= 0) {
flxstat_y = 0xffff;
/*flux decreases, flux error status = 1 @ 0xffff
*/
flxstat_y_int = 1;
flxstat_n = 0xdfff;
/*flux increases, flx status = 0 @ 0xdfff
*/
flxstat_n_int = 0;
if (qflx >= 0) {
if(qflx >= qflx_) {secint = 0xbbff; sector = 3; h=q2flx_;}
else {secint = 0xfbff; sector = 2; h=0;} }
else
{if(qflx <= -qflx_) {secint = 0xebff; sector = 1; h=-q2flx_;}
else {secint = 0xfbff; sector = 2; h=0;} }}
else {
174
flxstat_y = 0xdfff;
/*flux increases, flux error status = 0 @ 0xdfff
flxstat_y_int = 0;
flxstat_n = 0xffff;
/*flux decreases, flux error status = 1 @ 0xffff
flxstat_n_int = 1;
if (qflx >= 0) {
if(qflx >= -qflx_) {secint = 0xbfff; sector = 4; h= -q2flx_;}
else {secint = 0xffff; sector = 5; h=0;} }
else
{if(qflx <= qflx_) {secint = 0xefff; sector = 6; h=q2flx_;}
else {secint = 0xffff; sector = 5; h=0;} }}
*/
*/
/* stator flux orientation to be passed to pin 14(lsb),12,10(msb) dspace's i/o terminal */
if(qflx >= h) {modflxstat = flxstat_y; modflxstat_int = flxstat_y_int;}
else {modflxstat = flxstat_n; modflxstat_int = flxstat_n_int;}
secint = secint | 0x00ff;
/* * * * two-level flux hysteresis (pin 13) * * * * * * * * * * * * * * * * * * * * * * * * * */
flxerr = flx-flxref;
upfband = fband;
lofband = -fband;
if (flxstatus == 0xdfff) {
if(flxerr >= upfband) {flxstatus = 0xffff;
/* flux error status =1, flux dec*/
flxstat_int = 1; }
else {flxstatus = flxstatus; flxstat_int = flxstat_int;} }
else {
if(flxerr <= lofband) { flxstatus = 0xdfff;
/* flux error status =0, flux inc*/
flxstat_int = 0; }
else {flxstatus = flxstatus; flxstat_int = flxstat_int;} }
newflxstatus1 = flxstatus;
/* original flux error status
*/
/* * * * three-level torque hysteresis comparator pin 15(msb) & pin 8(lsb)* * * * * * * */
terr = Tref - Te;
uptband = tband;
lowtband = -tband;
if(terr>=0) {
uplevel = uptband;
downlevel = midtband;
out_uplevel = 0x7fff;
/*torque error status= 1
*/
ts_up =1;
out_downlevel = 0x7eff;
/*torque error status= 0
*/
ts_down = 0;
if (torquestatus == 0xfeff){torquestatus = out_downlevel; ts1 = ts_down;}}
else {
uplevel = midtband;
downlevel = lowtband;
out_uplevel = 0x7eff;
/*torque error status= 0
*/
ts_up = 0;
out_downlevel = 0xfeff;
/*torque error status= -1
*/
ts_down = -1;
if (torquestatus == 0x7fff){torquestatus = out_uplevel; ts_int = ts_up;}}
if(torquestatus == out_downlevel) {
if (terr >= uplevel){ torquestatus = out_uplevel; ts_int = ts_up;}
else {torquestatus = torquestatus; ts_int = ts_int;} }
175
else {
if (terr <= downlevel) {torquestatus = out_downlevel; ts_int = ts_down;}
else {torquestatus = torquestatus; ts_int = ts_int;} }
/* * * * hexagonal flux control or DSC operation * * * * * * * * * * * * * * * * * * * * */
if (status_hys == 0) {
newflxstatus2 = 0xdfff;
/* flux error status =0, flux keep increases */
flxstat_int = 0;
if (flx >= flxref ) status_hys = 1;
else status_hys = status_hys; }
else {
newflxstatus2 = modflxstat;
/* ideal case for hexagonal operation */
flxstat_int = modflxstat_int;
if (flx <= 0 ) status_hys = 0;
else status_hys = status_hys; }
if ( modflxstat_int == 0)
status_hys = 0;
else status_hys = status_hys;
/* * * * detection of dynamic/motor acceleration condition –DTC to DSC * * * * * */
if (hys_status == 0) {
/* choose DSC, DTC-HYS1 or DTC-HYS3 (DTC <==> DSC)
*/
/* w_err =10; */
/*DSC -always hexagonal locus
*/
/* w_err = 0; */
/*DTC-HYS1 – always circular locus */
if(w_err >= 5) hys_status = 1;
/*DTC operation is switched to DSC */
else {hys_status = hys_status;}}
else {
if(w_err <= 0) hys_status = 0; /*DSC operation is switched back to DTC*/
else {hys_status = hys_status;}}
/* new flux error status
*/
if (hys_status == 1) newflxstatus = newflxstatus2;
/* DSC operation
*/
else {newflxstatus = newflxstatus1; }
/* DTC operation
*/
/* * * * encode the flux error status 1 bit, torque error status 2-bit, sector 3-bit * * * */
tflxstat = torquestatus & newflxstatus;
indextable = tflxstat & secint;
/*
define 4-output signal
out1 = dflx;
out2 = qflx;
out3 = Te;
out4 = w*0.05;
/* d-flux component
/* q-flux component
/* output torque
/* motor speed
*/
*/
*/
*/
*/
/* * * * writing to pin i/o FPGA ,sector, torque and flux error status * * * * * * * * * */
ds1102_p14_pin_io_write(indextable);
/*
output to DACs (4-channel oscilloscope)
output1; output2; output3; output4;
end_isr_t0();
/* end of interrupt service routine
}
*/
*/
176
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* * * * timer 1 interupt service routine - sampling step DT2 * * * * * * * * * * * * * **/
void isr_t1()
{
begin_isr_t1(*error);
/*overload check
*/
/*the count from ds1102_inc() is 4 times => count edge trigger of pulses
ie_count = (ds1102_inc(1)*8388608);
/* scalling :2^23
/*speed in rad/s of the 2048 p.p.r = ie_count*2pi/(2048*DTw*4)
w = ie_count*0.766990393;
/*for DTw=1ms
ds1102_inc_clear_counter(1);
/*clearing the counter
end_isr_t1();
/* end of interupt service routine
}
main()
{
int i;
float ist3=0.0;
float ist4=0.0;
init();
/* initialize hardware system
*error = NO_ERROR;
/* initialize error flag
ds1102_p14_pin_io_init(0xffae);
/* initialize switch status array
for(i=0; i<=2; i++){
port_pin_read[i] = 0;
}
*/
*/
*/
*/
*/
*/
*/
*/
*/
/* * * * calculating the offsets for in1 only * * * * * * * * * * * * * * * * * * * * * * * * */
for(i=0; i<=100000; i++)
{
ds1102_ad_start();
in3 = ds1102_ad(3)* 7.083;
in4 = ds1102_ad(4)*7.083;
ist3=ist3 + in3;
ist4=ist4 + in4;
}
in3offs=ist3/100001;
in4offs=ist4/100001;
start_isr_t0(DT);
/* initialize sampling clock timer
*/
start_isr_t1(DT2);
/* initialize sampling clock timer2
*/
while (*error == NO_ERROR)
/* background process
*/
service_cockpit();
/* call cockpit code
*/
}
177
E.2
Constant frequency torque controller codes
The constant frequency torque controller has the same input and output
numbers as the three-level hysteresis comparator. Therefore to implement it (i.e.
DTC-CSF2), the code of three-level torque hysteresis comparator is replaced with the
following.
/* * * * constant frequency torque controller 15(msb) & pin 8(lsb)* * * * * * * * * * * */
/*make sure the type of variables used are defined and put them as global variable* * */
terr = Tref - Te;
if(gain == 1) {
if (tri1 >= 90) gain = -1;
else gain = gain; }
else {
if (tri1 <= 0) gain = 1;
else gain = gain; }
tri1 = tri1 + gain*30;
/* DTC-CSF2 operation
*/
/* * * * PI for CFTC* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
Terr_int = Terr_int + terr*DT*kit;
Tpi = terr*kpt + Terr_int;
/* kpt = 34.9
/* kit = 11925
*/
*/
/* * * * Comparator * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
Thigh1 = Tpi-tri1;
Thigh2 = Tpi+tri1;
if(Thigh1 >= 0) {tstatus1 = 0x7fff; ts_int = 1;}
if(Thigh1 < 0) { tstatus1 = 0x7eff; ts_int = 0;}
if(Thigh2 >= 0) tstatus2 = 0x7eff;
if(Thigh2 < 0) { tstatus2 = 0xfeff; ts_int = -1;}
torquestatus = tstatus1 | tstatus2;
APPENDIX F
VHDL CODE
F.1
VHDL code for voltage vectors switching table and blanking time
generation
-- dtc_fpga
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.all;
entity dtc_fpgatask is
Port ( clock: in std_logic;
indextable : in STD_LOGIC_VECTOR (5 downto 0);
Supper1,Supper2,Supper3: out std_logic;
Swa,Swb,Swc,Swa2,Swb2,Swc2 : out std_logic;
Slower1,Slower2,Slower3: out std_logic);
-- 6bits from dsp
end dtc_fpgatask;
architecture Behavioral of dtc_fpgatask is
signal Sa, Sb, Sc: std_logic;
-- represents switching status
begin -- begin to index the look-up table
U1: entity work.dtc_lookuptable(Behavioral) port map (address=>indextable(5 downto
0),l=>Sa,k=>Sb,j=>Sc);
U2: entity work.blankingtime_main(Behavioral) port map
(clock=>clock,S1=>Sa,S2=>Sb,S3=>Sc,Supper1=>Supper1,Supper2=>Supper2,Supper3
=>Supper3,Slower1=>Slower1,Slower2=>Slower2,Slower3=>Slower3);
Swa<=Sa;
Swb<=Sb;
Swc<=Sc;
Swa2<=Sa;
Swb2<=Sb;
Swc2<=Sc;
end Behavioral;
179
F.1.1 VHDL code for voltage vectors switching table
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.all;
entity dtc_lookuptable is
Port ( address : in std_logic_vector(5 downto 0);
j,k,l: out std_logic);
end dtc_lookuptable;
architecture Behavioral of dtc_lookuptable is
signal y: std_logic_vector(2 downto 0);
begin
-- for torque error: "10" = -1; "00" = 0; "01" = 1;
-- address = flux_status(1 bit) & torque_status (2 bits) & flux orientation (3 bits)
-- address using gray code
y<= "110" when "101001" | "110111" |"001011" | "010110",
"010" when "101011" | "110101" | "001010" |"010111",
"011" when "101010" | "110001" | "001110" |"010101",
"001" when "101110" | "110011" | "001111" |"010001",
"101" when "101111" | "110010" | "001101" |"010011",
"100" when "101101" |"110110"|"001001"|"010010",
"111" when "100001"
|"100010"|"100111"|"000011"|"000110"|"000101",
"000" when others;
-- the signal j,k,l is used as an input for blanking time generator.
j<=y(0);
k<=y(1);
l<=y(2);
end Behavioral;
180
F.1.2 VHDL code for blanking time generator
--Blanking time generator
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.all;
entity blankingtime_main is
Port ( clock : in STD_LOGIC;
S1,S2,S3 : in STD_LOGIC;
Supper1,Supper2,Supper3 : out STD_LOGIC;
Slower1,Slower2,Slower3 : out STD_LOGIC);
end blankingtime_main;
architecture Behavioral of blankingtime_main is
signal a,b,c,d,e,f: std_logic_vector( 15 downto 0);
signal h: std_logic;
begin
U1: entity work.blanking_Mod13(Behavioral) port map(clk=>clock,clkout=>h);
U2: entity work.blanking_upper_counter(Behavioral) port
map(clk=>h,clear1=>S1,clear2=>S2,clear3=>S3,uc1=>a,uc2=>b,uc3=>c);
U3: entity work.blanking_lower_counter(Behavioral) port
map(clk=>h,clear1=>S1,clear2=>S2,clear3=>S3,lc1=>d,lc2=>e,lc3=>f);
U4: entity work.blanking_comparator(Behavioral) port
map(Cin1=>a,Cin2=>b,Cin3=>c,Cin4=>d,Cin5=>e,Cin6=>f,Cout1=>Supper1,Cou
t2=>Supper2,Cout3=>Supper3,Cout4=>Slower1,Cout5=>Slower2,Cout6=>Slow
er3);
end Behavioral;
F.1.2.1 VHDL code for the block of MOD13 (clock divider)
-- CLOCK DIVIDER
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity blanking_mod13 is
Port ( clk : in STD_LOGIC;
clkout : out STD_LOGIC);
end blanking_mod13;
181
architecture Behavioral of blanking_mod13 is
signal q : std_logic;
signal qint1,qint2 : std_logic_vector ( 4 downto 0);
begin
qint1 <= "00000" when q='1' else std_logic_vector(unsigned(qint2)+1);
qint2 <= qint1 when rising_edge(clk);
q <= '1' when (unsigned(qint2) = 17) else '0';
clkout <= q;
end Behavioral;
F.1.2.2 VHDL code for the block of Upper Counter
-- UPPER COUNTER
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity blanking_upper_counter is
Port ( clear1,clear2,clear3 : in STD_LOGIC;
clk : in STD_LOGIC;
uc1,uc2,uc3 : out STD_LOGIC_VECTOR (15 downto 0));
end blanking_upper_counter;
architecture Behavioral of blanking_upper_counter is
signal qint, q,mint,m,nint,n : std_logic_vector( 15 downto 0);
begin
qint <= (others=>'0') when clear1 ='0' else std_logic_vector(unsigned(q)+1);
q <= qint when rising_edge(clk);
uc1<= q;
mint <= (others=>'0') when clear2 ='0' else std_logic_vector(unsigned(m)+1);
m <= mint when rising_edge(clk);
uc2<= m;
nint <= (others=>'0') when clear3 ='0' else std_logic_vector(unsigned(n)+1);
n <= nint when rising_edge(clk);
uc3<= n;
end Behavioral;
182
F.1.2.3 VHDL code for the block of Lower Counter
--LOWER COUNTER
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity blanking_lower_counter is
Port ( clear1,clear2,clear3 : in STD_LOGIC;
clk : in STD_LOGIC;
lc1,lc2,lc3 : out STD_LOGIC_VECTOR (15 downto 0));
end blanking_lower_counter;
architecture Behavioral of blanking_lower_counter is
signal qint, q,mint,m,nint,n : std_logic_vector( 15 downto 0);
begin
qint <= (others=>'0') when clear1 ='1' else std_logic_vector(unsigned(q)+1);
q <= qint when rising_edge(clk);
lc1<= q;
mint <= (others=>'0') when clear2 ='1' else std_logic_vector(unsigned(m)+1);
m <= mint when rising_edge(clk);
lc2<= m;
nint <= (others=>'0') when clear3 ='1' else std_logic_vector(unsigned(n)+1);
n <= nint when rising_edge(clk);
lc3<= n;
end Behavioral;
F.1.2.4 VHDL code for the block of Comparator
--COMPARATOR
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;
entity blanking_comparator is
Port ( Cin1,Cin2,Cin3 : in STD_LOGIC_VECTOR (15 downto 0);
Cin4,Cin5,Cin6 : in STD_LOGIC_VECTOR (15 downto 0);
Cout1,Cout2,Cout3 : out STD_LOGIC;
183
Cout4,Cout5,Cout6 : out STD_LOGIC);
end blanking_comparator;
architecture Behavioral of blanking_comparator is
begin
Cout1 <= '1' when (unsigned(Cin1) > 4) else '0';
Cout2 <= '1' when (unsigned(Cin2) > 4) else '0';
Cout3 <= '1' when (unsigned(Cin3) > 4) else '0';
Cout4 <= '1' when (unsigned(Cin4) > 4) else '0';
Cout5 <= '1' when (unsigned(Cin5) > 4) else '0';
Cout6 <= '1' when (unsigned(Cin6) > 4) else '0';
end Behavioral;
LIST OF PUBLICATIONS
Some of the published and accepted technical papers:
1.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “Study on Stability and
Performances of DTC Due to Stator Resistance Variation”, IEEE 5th Student
Conference (SCOReD). December 11-12, 2007. 1-6.
2.
Auzani Jidin, Z. Ahmad, N. R. N. Idris, A. H. M. Yatim, “A Simple
Overmodulation Strategy in Direct Torque Control of Induction Machines”,
IEEE 5th Student Conference (SCOReD). December 11-12, 2007. 1-5.
3.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “A fast dynamic torque control
for direct torque control hysteresis-based induction machines”, in Power
Engineering Conference, AUPEC '08. Australasian Universities. December
14-17, 2008. 1-5.
4.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “Improved torque capability
through overmodulation for Direct Torque Control hysteresis-based induction
machines”, in Power Engineering Conference, AUPEC '08. Australasian
Universities. December 14-17, 2008. 1-6.
5.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “A simple overmodulation
strategy in DTC-hysterisis based induction machine drives”, in Power and
Energy Conference (PeCON), IEEE 2nd International. December 1-3, 2008.
722-725.
6.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, “A quick dynamic torque
control for direct torque control hysterisis-based induction machines”, in
185
Power and Energy Conference (PeCON), IEEE 2nd International. December
1-3, 2008. 737-742.
7.
Auzani Jidin, N. Idris, A. Yatim, M. Elbuluk, “A Novel Overmodulation and
Field Weakening Strategy for Direct Torque Control of Induction Machines”,
in Industry Applications Society Annual Meeting, IAS '08. IEEE, October 59, 2008. 1-8.
8.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, M. E. Elbuluk, “A wide-speed
high torque capability utilizing overmodulation strategy for direct torque
control of induction machines”, in Energy Conversion Congress and
Exposition (ECCE) IEEE, September 20-24, 2009. 2757-2762.
9.
Auzani Jidin, M. F. M. Basar, N. R. N. Idris, A. H. M. Yatim, T. Sutikno, “A
simple dynamic overmodulation strategy for fast torque control in DTC of
induction machine with constant switching frequency controller”,
International Conference on Power Electronics and Drive Systems (PEDS).
November 2-5, 2009. 695-700.
10.
Auzani Jidin, M. Basar, A. Noordin, N. R. N. Idris, A. H. M. Yatim, “A
wide-speed high torque capability utilizing overmodulation strategy in DTC
of induction machines with constant switching frequency controller”,
International Conference on Power Electronics and Drive Systems (PEDS).
November 2-5, 2009. 649-654.
11.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, A. Z. Jidin, T. Sutikno, “Torque
ripple minimization in DTC induction motor drive using constant frequency
torque controller”, International Conference on Electrical Machines and
Systems (ICEMS). October 10-13, 2010. 919-924.
12.
Auzani Jidin, N. R. N. Idris, A. R. Abdullah, A. H. M. Yatim, A. Z. Jidin and
T. Sutikno, “A hybrid DTC drive for high performance induction motor
control”,. International Conference on Electrical Machines and Systems
(ICEMS). October 10-13, 2010. 925-930.
186
13.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, M. Elbuluk, T. Sutikno,
“Simple Dynamic Overmodulation Strategy for Fast Torque Control in DTC
of Induction Machines with Constant Switching Frequency Controller”, in
Industry Applications Society Annual Meeting (IAS), IEEE. October 3-7,
2010. 1-8.
14.
Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, M. Elbuluk, “An
Optimized Switching Strategy for Quick Dynamic Torque Control in DTC
Hysteresis-Based Induction Machines”, IEEE Transactions on Industrial
Electronics. 2010.
15.
T. Sutikno, Auzani Jidin, N. R. N. Idris, “New approach FPGA-based
implementation of discontinuous SVPWM”, Turkish Journal of Electrical
Engineering and Computer Sciences. 2010. 18(4): 499-514.
16.
T. Sutikno, W. J. Hwa, Auzani Jidin, N. R. N. Idris, “A Simple Approach of
Space-vector Pulse Width Modulation Realization Based on Field
Programmable Gate Array”, Electric Power Components and Systems. 2010.
38(14): 1546-1557.
17.
Tole Sutikno, Auzani Jidin, Nik Rumzi Nik Idris, “A New Fixed Switching
Frequency Direct Torque Controlled PMSM Drives with Low Ripple in Flux
and Torque”, ITB Journal on Engineering Science. (3rd stage review).
18.
Tole Sutikno, Nik Rumzi Nik Idris, Auzani Jidin, “A New Direct Torque
Control Scheme of Permanent Magnet Synchronous Motor Drives to Reduce
Torque Ripple”, Scientific Journal of Technology, University of Indonesia,
Jakarta, Indonesia. No. 4, XXII. December 2008. 297-308.
19.
Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, M. Elbuluk, “A Hybrid
DTC-DSC Drive for High Performance Induction Motor Control”, Journal
Power Electronics (JPE), The Korean Institute of Power Electronics (KIPE)
(has been accepted for publication in the next issue).
187
20.
Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, A.Z. Jidin, M. Elbuluk,
“Extending Switching Frequency for Torque Ripple Reduction Utilizing a
Constant Frequency Torque Controller in DTC of Induction Motors”, Journal
Power Electronics (JPE), The Korean Institute of Power Electronics (KIPE).
2010, 11(2): 148-155.
21.
Auzani Jidin, N. R. N. Idris, A. H. Yatim, T. Sutikno, M. Elbuluk, “A WideSpeed High Torque Capability utilizing Overmodulation Strategy in DTC of
Induction Machines with Constant Switching Frequency Controller”, IEEE
Transactions on Power Electronics (has been accepted for publication in the
next issue).
22.
Auzani Jidin, N. R. N. Idris, A. H. M. Yatim, M. Elbuluk, T. Sutikno,
“Simple Dynamic Overmodulation Strategy for Fast Torque Control in DTC
of Induction Machines with Constant Switching Frequency Controller”, IEEE
Transactions on Industry Applications (has been accepted for publication in
the next issue).
Download