Vous êtes sur la page 1sur 115

REPUBLIC OF IRAQ

MINISTRY OF HIGHER EDUCATION AND SCIENTIFIC RESEARCH


UNIVERSITY OF BAGHDAD
COLLEGE OF ENGINEERING

Torque Ripple Reduction Based


Direct Torque Control for Induction
Motor Drives
A Thesis
Submitted to the College of Engineering University of Baghdad in
Partial Fulfillment of the Requirements for the Degree of Master of
Science in Electrical Engineering

By

Hayder S. Hameed
Supervised by
Prof. Dr. J.H. Alwash

Dr. Hanan M. Habbi

March 2014

Acknowledgement
First of all, I give my thanks forever to Allah Who Have Enabled me to
complete this work.
I would like to express my sincere gratitude to my supervisors

Prof. Dr.J. H.Alwash and Dr.Hanan M.Habbi for their great help,
kind advice, guidance and encouragement during their supervision for this work.
I would like to thank my family who has given me support throughout my
academic years. Without them, I might not be the person I am today.
A special thanks to my wife for her kindness and support and without here
heartening I couldnt finish this work.
Also, I would like to thank the staff of the department of Electrical
Engineering of University of Baghdad for their assistance and support.
Finally ,I would like to acknowledge all kind people who help me to complete
this work .

Hayder Salim

ABSTRACT
Direct Torque Control (DTC) is a control technique used in AC drive systems
to obtain high performance torque control. The conventional DTC drive contains a
pair of hysteresis comparators, a flux and torque estimator and a voltage vector
selection table. The torque and flux are controlled simultaneously by applying
suitable voltage vectors, and by limiting these quantities within their hysteresis
bands, de-coupled control of torque and flux can be achieved. Conventional DTC
drives utilizing hysteresis comparators suffer from high torque ripple and variable
switching frequency.
Several techniques have been developed to improve the torque performance.
In this thesis, Proportional-Integral (PI) controller has been presented to improve
the system performance which gives better torque and flux response and also
reduces the undesirable torque ripple. The most common solution to high torque
ripple and variable switching frequency is to use the space vector pulse width
modulation (SV-PWM) that depends on the reference torque and flux. The
reference voltage vector is then realized by using a voltage vector modulator.
The conventional DTC and DTC with PI controller are implemented using
Xilinx System Generator (XSG) for MATLAB/Simulink environment through
Xilinx blocksets. The design was achieved in VHDL, based on a
MATLAB/Simulink simulation model.
The Hardware-in-the-Loop (HIL) method is used to verify the functionality
of the Xilinx FPGA estimator. The results are obtained and compared with
MATLAB/ Simulink results considering the implementation of the proposed model
on the Xilinx NEXYS2 Spartan 3E1200 FG320 Kit.
The simulations of the DTC-SVPWM
MATLAB/ Simulink simulation package.

were

carried

out

using

The design, implementation and simulation of the overall drive system is


performed using MATLAB/Simulink program version 7.13.0.564 (R2011ba) and
Xilinx ISE Design Suite 14.2.

ii

List of Contents

List of Contents
Title

Page

Acknowledgements ........i
Abstract .........ii
List of Contents ...............iii
List of Abbreviations .....vi
List of Symbols ........vii

Chapter One: Introduction and Literature Survey


U

1.1 General Introduction ...........1


1.2 Speed Control Techniques of Induction Motor ......2
1.3 Literature Survey ........7
1.4 Thesis Objective........12
1.5 Thesis Outline ...........12

Chapter Two: Direct Torque Control Technique and Xilinx System


U

Generator
2.1 Introduction ......13
2.2 The Conventional DTC... .....14
2.3 DTC Development ... ........16
2.3.1 Mathematical Model of Induction Motor.........16
2.3.2 Flux and Torque Estimator.......21
2.3.3 Torque and Flux Hysteresis Comparator .........23
2.3.4 Lookup Table....26
2.3.5 Three-Phase Voltage Source Inverter(VS27
2.4 Modified DTC Scheme .29
2.5 Classic PI Controller......30
2.6 Direct Torque Control With Space Vector Modulation (DTC SVM)........31
iii

List of Contents
2.7 Principle of Space Vector PWM ..33
2.7.1 Step 1: Determining V d , V q , V ref , and Angle () ..36
2.7.2 Step 2: Determining Time Duration T1, T2, T0 .38
2.7.3

Step

Determining

the

Switching

Time

of

Each

Transistor(S1toS6) ..39
2.8 Types of Different Schemes .40
2.9 Field Programmable Gate Array .44
2.10 Hardware in the Loop 44
2.11 Usage of Xilinx System Generator in the Controller Design 44
2.12 System Modeling Using the Xilinx System Generator ..45
2.14 Integration in Xilinx Environment .46

Chapter Three: Simulation Results of DTC and DTC-SVM


3.1 Introduction ..48
3.2 Implementation of DTC in MATLAB/Simulink 48
3.2.1 Induction Motor ..49
3.3.2 Sector ,Flux and Torque estimator ........50
3.2.3 Flux and Torque Hysteresis Controller .50
3.2.4 Lookup Table Using MATLAB/Simulink ..........51
3.2.5 Voltage Source Inverter .51
3.3 Modified DTC Scheme Using MATLAB/Simulink ...53
3.4 Modeling Space Vector PWM Using MATLAB/Simulink .....54
3.5 Implementation DTC Using Xilinx Software ...56
3.5.1 Real Time System Modeling via Simulink......56
3.5.2 Xilinx Software Analysis ........57
3.5.3 The MCode Block............57
3.5.4 Implementation of Sector ,Flux and Torque Estimators Using
Xilinx/SIMULINK .....58
3.5.5 Flux and Torque hysteresis Controller .........61
iv

List of Contents
3.5.6 Switching Table Using Xilinx Mcode Block ...61
3.6 Modified DTC Scheme using Xilinx/SIMULINK ...62
3.7 Hardware/Software Co-Simulation ..63
3.8 Experiment Setup and Instrumentation.66
3.9 Simulation Results for Conventional DTC....67
3.10 Simulation Results of DTC with Conventional PI Controller 71
3.11 Simulation Results of DTC-SVM ..73
3.12 Simulation Results for CDTC Using Hardware/Software

Co-Simulation

Xilinx Blocks ..75


3.13 Simulation Results of DTC-PI Controller Using Hardware/Software CoSimulation .......77
3.14 Comparison among the Presented Controllers ...79

Chapter Four: Conclusions and Suggestions for Future Works


4.1 Conclusions.......83
4.2 Suggestions for Future Work....84
References ......85
Appendix A
Appendix B
Appendix C
Appendix D

List of Abbreviations

List of Abbreviations
Abbreviation

Description

AC

Alternating Current

CLB

Configurable Logic Block

DC

Direct Current

DSP

Digital Signal Processor

DTC

Direct Torque Control

EV

Electric Vehicle

FL

Fuzzy Logic

FOC

Field Oriented Control

FPGA

Field Programmable Gate Array

HDL

Hardware Description Language

HIL

Hardware in the loop

IM

Induction Motor

JTAG

Joint Test Action Group

LUT

Look Up Table

mmf

Magneto motive force

MOSFET

Metal-Oxide Semiconductor Field Effect Transistors

PI

Proportional-Integral

PID

Proportional-Integral-Derivative

PWM

Pulse Width Modulation

SPWM

Sine Pulse Width Modulation

SVM

Space Vector Modulation

SVPWM

Space Vector Pulse Width Modulation

THD

Total Harmonic Distortion

VHDL

Very-high-speed Hardware Description Language

vi

List of Symbols

List of Symbols
Symbol
d,q

Description
Rotating reference frame axes

d s ,q s

Stationary reference frame axes

Frequency of AC Supply (Hz)

ia ,ib ,ic

Stator Phase Currents (A)

i qs , i ds

q and daxis stator currents (A)

i qr , i dr

q and daxis rotor currents (A)

Moment of Inertia (Kg.m2)

Kp

Proportional Gain

Ki

Integral gain

Lm

Mutual inductance

Lr

Rotor Inductance (H)

Ls

Stator Inductance (H)

Modulation index

Number of Poles

Rr

Rotor resistance( )

Rs

Stator Resistance ()

Stator variable

T1, T2, To

Switching Time Intervals (sec)

Te

Electromechanical Torque (Nm)

TL

Load Torque (Nm)

Ts

Sampling Time or Switching Time

V a ,V b ,V c
1T

Stator Phase Voltages (V)

vii

List of Symbols

Symbol
V dc

Description
Supplied DC Voltage (V)

V o .V 7

Space Voltage Vectors

v qs , v ds

q and daxis stator voltages

v qr , v dr

q and daxis rotor voltages

Xs

Stator reactance ( )

Xr

Rotor reactance ( )

Xm

Magnetizing reactance ( )

Mutual flux (Wb)

dr

d-axis Rotor Flux Linkage (Wb)

qr

q-axis Rotor Flux Linkage (Wb)

ds

d-axis Stator Flux Linkage (Wb)

qs

q-axis Stator Flux Linkage (Wb)

Stator flux (wb)

Stator angular electrical frequency (rad/sec)

Rotor angular electrical speed (rad/sec)

Synchronous Speed (rad/sec)

The angle of rotation

The initial angle offset

Rotor angle(deg)

Stator angle (deg)

sr

Angle between the stator and rotor fluxes

viii

Chapter One

Introduction and Literature Survey

Chapter One
Introduction and Literature Survey
1.1 General Introduction
U

Induction Motor (IM) drive is widely used in many residential, commercial


and high performance industry applications due to its compactness, offering many
benefits to industrial users, highest power density, high torque to inertia ratio and
dynamic control, and high efficiency over a wide speed range. There are two main
types of induction motors which are the wounded rotor and squirrel-cage design
and both of them are in widespread use. In the past, squirrel cage induction
machines were limited to constant speed applications, and were operated from a
fixed sinusoidal supply. The development of high power switching devices has
accelerated the growth in the market for variable speed drive systems incorporating
AC induction machines and variable speed drives . [1,2]
The simple control method is volt/hertz control, or scalar control. Vector or
field-oriented control (FOC) and direct torque control (DTC) are basically two
methods of electromagnetic torque controlled a.c. drives. The direct torque control
has been adopted in this thesis.
The concept of the vector control method or so called Field Orientation
method of AC motors was proposed by Hasse in 1969 and Blaschke in 1972, based
on making the well-established separately excited dc machine. Vector control
schemes have allowed the induction machine to achieve torque control
performance similar to that of a separately excited DC machine and have led to the
replacement of the DC machine by the induction machine in many high
performance applications .The torque is defined as the cross vector product of the
magnetic field from the stator poles and the armature current. [1,3]
1

Chapter One

Introduction and Literature Survey

Direct Torque Control concepts were proposed by Takashi and Noguchi in


1986 [4]. The idea of this method is based on comparing the measured stator flux
and torque with the theoretically desired bands. The vector differences will control
the subsequent switching sequence of the SVPWM inverter voltage based on the
switching logic table. That, however, restricts the means of the stator flux and
torque to fall in the pre-established bands.[2]

1.2 Speed Control Techniques of Induction Motor


U

There are different ways to control the speed of a rotational or linear


alternating current (AC) electric motor . The classification of the electrical drives is
depending on the application ; some of them are fixed speed and some are variable
speed. Before the invention of power electronics devices, the variable speed drives
had various limitations such as poor efficiencies, larger space, lower speed ,
etc. But now, variable

speed

drive

are constructed in smaller size,

high

efficiency and high reliability [5]. The effective way of producing variable
induction motor speed drive is to supply the induction motor with three phase
voltages of variable frequency and variable amplitude. A variable frequency is
required because the rotor speed depends on the speed of the rotating magnetic
field provided by the stator. A variable voltage is required because the motor
impedance is reduced at the low frequencies and consequently , the current has to
be limited by means of reducing the supply voltages. A variable-frequency drive
(VFD) is a specific type of adjustable-speed drive .
The control of the speed is achieved by controlling the frequency of the
electrical power supplied to the motor drives. There are three major types of
variable frequency control techniques of IM: scalar control, vector control and
field acceleration method [6,7] as shown in Figure 1.1 .
2

Chapter One

Introduction and Literature Survey

Scalar control: is known as V/f control which acts by imposing a constant


relation between voltage and frequency and it is the most widespread in the
majority of the industrial applications because it has simple structure and it is
normally used without speed feedback. The stator flux and the torque are not
directly controlled ,so this control does not achieve a good accuracy in both speed
and torque responses [8].
Vector Control: In this type of control, the control loops are used for
controlling both the torque and the flux. The controllers of this type use vector
transform such as either Park or Ku. The requirement of huge computational and
the compulsory good identification of the motor parameters

are the main

disadvantages for this type of control [9] .


Field Oriented Control (FOC) was introduced for the first time by Blaschke in
the early 1970s. The main objective of this control method is, as in separately
excited DC machines, to independently control the torque and flux; this is done by
choosing a d-q rotating reference frame synchronously with the rotor flux space
vector [9,10].

Figure.1.1 : Overview of induction motor control methods.[11]


3

Chapter One

Introduction and Literature Survey

FOC is based on maintaining the amplitude and the phase of the stator current
constants, avoiding electromagnetic transients. FOC involves controlling the stator
currents represented by vectors. FOC method is based on projections which
transform a three phase time and speed dependent system into a two co-ordinate
(d and q co-ordinates) time invariant system [12].
DTC main features are as follows:
Direct control of flux and torque by selecting the appropriate inverter state.
Indirect control of stator currents and voltages.
Approximately sinusoidal stator fluxes and stator currents.
High dynamic performance even at stand still.
The main advantages of DTC are:
Absence of co-ordinate transforms.
Absence of voltage modulator block, as well as other controllers such as PID for
motor flux and torque.
Minimal torque response time, even better than the vector controllers.
However, some disadvantages are also present such as:
Possible problems during starting.
Requirement of torque and flux estimators, implying the consequent parameters
identification.
Inherent torque and stator flux ripple.
One of the major applications of DTC is in the Electric Vehicle (EV); electric
vehicles are an important step towards solving the environmental problems
produced by cars with internal combustion engines. Another advantage of the EV
is its devoid of pollution and high energy efficiency. Indeed, an electric motor
4

Chapter One

Introduction and Literature Survey

provides very fast response and can be controlled in a much better way. Therefore,
EV has definite advantages over the Internal Combustion Engine (ICE) driven
vehicles. The input of the IM controller is the reference speed, which is applied by
the vehicle pedal [13].
DTC control technique in its basic construction suffers from two major
problems: 1) variable switching frequency and 2) high torque ripple
The conventional DTC algorithm using the hysteresis-based voltage switching
method has relative merits of simple structure and easy implementation. Some
drawbacks such as large torque ripple in the low speed region and switching
frequency variation according to the change of the motor parameters and the motor
speed are exhibited. If the hysteresis bands of the torque and flux comparators
become relatively wide for high power applications with the low inverter switching
frequency, the resulting torque ripples are enlarged to an undesired level [14] .
In conventional DTC, the voltage vector selection is based on the torque and flux
errors, but small and large errors are not distinguished by the hysteresis controllers.
The voltage vectors are applied for the entire sample period; even for small errors,
resulting large torque overshoots in steady-state regime [15] .
In steady state with constant load, the active switching state causes the torque
to continue to increase past its reference value until the end of the switching
period. Then a zero voltage vector is applied for the next switching period causing
the torque to continue to decrease below its reference value until the end of the
switching period. That results in high torque ripple as shown in Figure 1.2 [16] .

Chapter One

Introduction and Literature Survey

Figure 1.2 Conventional DTC


By removing the hysteresis comparators and performing the switching at
regular intervals is a widely adopted method to reduce the torque ripple and
at the same time maintaining a constant switching frequency. Instead of
applying a single voltage vector for the whole sampling period, two or more
voltage vectors are applied.
Figure 1.3(a) shows the torque waveforms for hysteresis based controller
with the width of the hysteresis marked as T. Due to the delay in the
microprocessor

implementation

or

sensors,

the

torque overshoot

undershoot beyond and below the hysteresis bands will occur.

and

The positive

slope is high at low speed, which will increase the possibility of the torque
touching the upper band. In Figure 1.3(b), fixed switching is employed but
with the whole sampling period applied with a single voltage vector. This
technique will result in a high torque ripple with all additional torque
oscillation [17,18] .

Figure 1.3: Various switching strategies in DTC .(a)Hystresis-based controller


,(b)Fixed switching torque.
6

Chapter One

Introduction and Literature Survey

1.3 Literature Survey


U

During the last decade, many different techniques of control applied to IM


drives. The DTC technique has been recognized as an efficient alternative and
viable solution to get high performance in these drives. A lot of modifications have
been developed to conventional Direct Torque Control scheme. Therefore, a
literature survey for many previously published studies is presented as follows:
Toh, et al., 2003 [18] presented two simple controllers for the torque and flux
loops, which replaced the conventional hysteresis comparators. The controllers
work was based on waveform comparisons and hence retained the simple
control structure of the DTC. Simulations of the proposed controllers were
performed using MATLAB/SIMULINK simulation package. The results show
that the controllers managed to reduce the torque ripple significantly.
Rodriquez, et al , 2004 [19] presented a new method for Direct Torque Control
(DTC) based on load angle control . The use of simple equations to obtain the
control algorithm makes it easy to understand and implement. Fixed switching
frequency and low torque ripple are obtained using space vector modulation.
Buja, and Kazmierkowski , 2004 [11] presented a review of recently used direct
torque and flux control (DTC) techniques for voltage inverter fed induction and
permanent magnet synchronous motors. A variety of techniques and difference in
concept are described as follows: switching-table based hysteresis DTC, direct
self-control, constant switching frequency DTC with space-vector modulation
(DTC-SVM). Also, trends in the DTC-SVM techniques based on neuro-fuzzy logic
controllers are presented.
Garcia, and Arias, 2005 [20] presented a novel controller based on Direct Torque
Control (DTC) strategy. This controller is designed to be applied in the control of
7

Chapter One

Introduction and Literature Survey

Induction Motors (IM) fed with a three-level Voltage Source Inverter (VSI). This
type of inverter has several advantages over the standard two-level VSI, such as a
greater number of levels in the output voltage waveforms, lower dV/dt, less
harmonic distortion in voltage and current waveforms and lower switching
frequencies. In the new controller, torque and stator flux errors are used together
with the stator flux angular frequency to generate a reference voltage vector.
Ismail, 2005 [7] studied, evaluated and compared the various techniques of the
DTC-SVM applied to the induction machines through simulations. The simulations
were carried out using MATLAB/SIMULINK simulation package. Evaluation was
made based on the drive performance, which includes dynamic torque and flux
responses, feasibility and the complexity of the system.
Paturca, et al, 2006 [15] presented a simple solution, which consists in the
modulation of the nonzero voltage vector duration over a sampling period,
according to the instant values of the torque and stator flux errors. The introduced
duty ratio is calculated using a relation containing terms proportional to these
errors. The presented results show the torque, flux and current ripple reduction
obtained by using the proposed method. Its main advantage is that it requires an
insignificant additional computation, preserving the simplicity of the conventional
DTC.
Kostic, et al, 2009 [21] presented different direct torque and flux control of
induction motor schemes (DTC). Classical DTC method, its modifications for
torque and flux ripple reduction, as well as modified DTC method with PI
controllers (PI-DTC) based on space vector modulation (SVPWM) are considered.
For each method, theoretical principles and experimental results, at laboratory
condition using dSPACE development tool realized, are presented.
8

Chapter One

Introduction and Literature Survey

Tsoutsas, 2009 [22] An electromagnetic torque calculator of an induction motor is


designed in the MATLAB/ Simulink environment through XILINX block sets. The
accuracy of the torque estimator is verified using the Field Programmable Gate
Array (FPGA).
Kamble, and Bankar, 2010 [23] presented a Fuzzy Logic Direct Torque Control
(FLOTC) to improve the system performance which gives better torque and flux
response and also reduces the undesirable torque ripple in the conventional DTC.
Aarniovuori, 2010 [24] presented a coupled system simulator, based on analytical
circuit equations and a finite element method (FEM) model of the motor and it is
used to analyze a frequency-converter-fed industrial squirrel-cage induction motor.
Two control systems that emulate the behavior of commercial direct-torquecontrolled (DTC) and vector-controlled industrial frequency converters were
studied, implemented in the simulation software and verified by extensive
laboratory tests.
Zhang , and Zhu,2011 [25] presented a comparison between the performances of
three duty determination methods in detail and then proposed a very simple but
effective method to obtain the duty ratio. By appropriately arranging the sequence
of the vectors, the commutation frequency is reduced effectively without
performance degradation. To further improve the performance of system, a lowpass filter-based voltage model with compensations of amplitude and phase is
employed to acquire accurate stator flux estimation.
Sutikno, et al, 2011 [26] presented an improved FPGA-based torque and stator
flux estimators for direct torque control (DTC) induction motor drives, which
permit very fast calculations. To avoid saturation due to DC offset present in the
sensed currents, the LP Filter is applied. The simulation results of DTC model in
9

Chapter One

Introduction and Literature Survey

MATLAB/ SIMULINK, which performed double-precision calculations, are used


as references to digital computations executed in FPGA implementation. The
Hardware-in-the-loop (HIL) method is used to verify the minimal error between
MATLAB/SIMULINK simulation and the experimental results, and thus the well
functionality of the implemented estimators.
Alwadie, 2012 [27] presented a practical implementation for direct torque
control of induction motor drive. Control system experiment is proposed
using Digital Signal Processor. This control scheme directly determines the
switching states of the inverter and gives optimal characteristics for stator
flux and torque control.
Shah, et al,2012 [28] presented the application of FPGA in Direct Torque
control induction motor drive. Modern AC drives require a fast digital
realization

of

many

mathematical

operations concerning

control

and

estimators algorithms, which are time consuming. Therefore developing of


custom built digital interfaces as well as digital data processing blocks and
sometimes even integration of ADC converters into single integrated circuit is
necessary.
Kumar , and Babu, 2012 [29] presented control method of DTC implementation
and improvement using Space Vector Pulse Width Modulation (SVPWM) to give
constant switching frequency and reduces torque ripple. A d-q coordinate reference
frame locked to the flux space vector is used to achieve decoupling between the
motor flux and torque.
Krishna,et al, 2012 [30] presented the modeling and simulation of induction
motor drive employing SVM-DTC, carried it out using MATLAB/SIMULINK
simulation package and the results were compared with Conventional DTC.
10

Chapter One

Introduction and Literature Survey

Sekhar , and Chandra, 2013 [31] presented a fuzzy logic duty ratio control
(FLDRC) and Space Vector Modulation (SVM) techniques to reduce torque ripple
in conventional DTC using a versatile simulation package, MATLAB/SIMULINK.
Sutikno, et al, 2013 [32] presented a novel direct torque control (DTC) approach
for induction machines, based on an improved torque and stator flux estimator and
its implementation using field-programmable gate arrays (FPGA). The DTC
performance is significantly improved by the use of FPGA, which can execute the
DTC algorithm at higher sampling frequency. The design was achieved in VHDL,
based on a MATLAB/Simulink simulation model. The Hardware-in-the-Loop
method is used to verify the functionality of the FPGA estimator. The design,
which was coded in synthesizable VHDL code for implementation on Altera
APEX20K200EFC484-2x device.
The presented work differs from the foregoing survey by the following:
1) The IM model, CDTC, and DTC- PI controller are designed with
MATLAB/ Simulink environment using m-file blocks which will make the
system design simple when implemented with Xilinx/Simulink because it
does not need to write the code in VHDL language.
2) The Hardware-in-the-Loop method is used to verify the whole system of
DTC algorithm without writing

code for implementation on Xilinx

NEXYS2 Spartan 3E1200 FG320 Kit .


3) Different mechanical tests have been verified for the whole system with
MATLAB/ Simulink model and HIL model.

11

Chapter One

Introduction and Literature Survey

1.4 Thesis Objective


U

Analyzing and proving (DTC) by means of MATLAB/SIMULINK and


Xilinx /SIMULINK .
Reduce the torque and stator flux pulsations, and constant switching
frequency , with PI controllers (PI-DTC),and (DTC) based on Space Vector
Modulation (DTC-SVM)
Implement a practical controller of the conventional direct torque control
(CDTC) method by using field programmable gate array (FPGA) with
Hardware/Software Co-Simulation in Xilinx/SIMULINK .

1.5 Thesis Outline


U

The contents of the chapters are briefly introduced here:


Chapter Two concentrates on the fundamentals of the principle of DTC of
induction motors and Direct Torque Control with Space Vector Modulation
(DTC-SVM) control techniques.
Chapter Three covers the MATLAB /SIMULINK model and Xilinx System
Generator simulation technique and simulation results and discussion of
comparing of conventional DTC ,DTC with PI controller and DTC-SVM . The
simulation results are presented and compared to the theoretical values.
Chapter Four has the conclusions and suggestion for future works

12

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Chapter Two

Direct Torque Control Technique


and Xilinx System Generator
2.1 Introduction
U

The concept of Direct Torque Control (DTC) was developed by Takahashi


and Dpenbrock [4,10].It has become a powerful control scheme for the control of
induction motor drives [27]. The scheme of DTC has good dynamic performance,
precise and quick control of stator flux and electromagnetic torque, robustness
against the motor parameter variations, and the simplicity of the algorithm [15].
The DTC aims to choose the best voltage vector in order to control both stator
flux and electromagnetic torque of machine simultaneously. Similar to hysteresis
band (HB)current control, there will be a ripple in current ,flux ,and torque . The
current ripple will give additional harmonic loss, and the torque ripple will try to
induce speed ripple in a low inertia system and possible problem during starting
.To improve the performance of DTC ,the torque ripple must be reduced[9].
This chapter discusses the mathematical model of the induction motor and the
principles, theories, mathematical equations, and procedures involved for the
software (MATLAB/Simulink package) implementation of the direct torque
control technique using different controllers (Conventional and modified DTC by
PI controller and SVPWM technique).
As field programmable gate array (FPGA) is used to run the algorithm, a
software Xilinx system generator, a toolbox of MATLAB/Simulink can be used.
It will simulate the hardware as well as generate the VHDL code needed for the
implementation in FPGA. It can automatically convert the model into VHDL
13

Chapter Two
code.

In

Direct Torque Control Technique and Xilinx System Generator


this chapter, the

Rapid Control Prototyping tool Xilinx System

Generator that runs from Simulink is here investigated. Implementation of the


Direct Torque Control algorithm for controlling a motor serves as main subject for
the investigation. A library with ready-to-use blocks is created for having the
possibility to implement other control algorithms in the future in a fast, graphical,
intuitive and user friendly way. It shows the advantage of using an FPGA with its
parallelism and re-programmable characteristics when implementing a motor
control algorithm. It provides a high bandwidth and therefore a possibility to
control several motors with one FPGA.
By programming the FPGA with a Rapid Control Prototyping tool like Xilinx
System Generator, the opportunity to an easy way change of different parts
becomes obvious. To use Model Based Design and Rapid Control Prototyping
concepts extensive code writing is avoided. The gap between the software engineer
and the hardware engineer is reduced and the possibility to work in both of the
domains is given[28, 33].

2.2 The Conventional DTC


U

The structure of the conventional DTC was shown in Figure 2.1 which
consists of two hysteresis comparator, torque and flux estimators, voltage vector
selector and voltage source inverter (VSI) [29].In this method, the best voltage
vector should be chosen to maintain the stator flux and torque within a hysteresis
band around the proper flux and torque magnitudes by the selection of proper
inverter switching state. The hysteresis band is used to control the flux

14

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

and torque of the motor directly. So the drive system affected by the range of
hysteresis band control [14].

Torque hysteresis
Te* +

Vdc

ETe

Look up

Sa
Sb

Table
2HBT

Sc

VSI

Flux hysteresis
s*

S(K)

+
-

2HB

Te

ia,ib
Sector, Flux
and Torque
Estimators

V_abc

IM
Figure 2.1: Block diagram of conventional DTC
The configuration is much simpler than the vector control system due to the
absence of coordinate transforms between stationary frame and synchronous
frame and PI regulators. It also does not need a PWM and position encoder,
which introduces delay and requires mechanical transducers respectively [4,34].
DTC based drives are controlled in the manner of a closed loop system without
using the current regulation loop.

15

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

The main advantages offered by DTC are

Decoupled control of torque and stator flux .

Excellent torque dynamics with minimal response time.

Inherent motion-sensorless control method since the motor speed


is not required to achieve the torque control.
Absence of coordinate transform .
Absence of voltage modulator as well as other controllers.
Robust for rotor parameter variation. Only the stator resistance is
needed for torque and flux estimation.
The major drawback of the DTC drive is the steady state ripples in torque and
flux. In case of constant load, when the torque increases the reference value until
the end of the switching period because of the active switching state, then applying
the vector of zero voltage for the next switching period which lead to making the
torque to continue to decrease under its reference value until the end of the
switching period will result in high ripple in flux and torque [35].

2.3 DTC Development


U

2.3.1 Mathematical Model of Induction Motor


U

The mathematical model of an electric machine represents all the equations


that describe the relationships between electromagnetic torque and the main
electrical and mechanical quantities. The mathematical models with concentrated
parameters are the most popular and are consequently employed both in scientific
literature and practice. The equations stand on resistances and inductances, which
can be used further for defining magnetic fluxes, electromagnetic torque, etc.
These models offer results, which are globally acceptable but cannot detect
16

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

important information concerning local effects. The family of mathematical


models with concentrated parameters comprises different approaches but two of
them are more popular: the phase coordinate model and the orthogonal (dq) model.
The first category works with the real machine. The equations include, among
other parameters, the mutual stator-rotor inductances with variable values
according to the rotor position. As a consequence, the model becomes non-linear
and complicates the study of dynamic processes. The orthogonal (dq) model began
with Parks theory nine decades ago. These models use parameters that are often
independent to rotor position [36].
The dynamic equivalent circuit of the induction machine is used to understand
and analyze the transient behavior of the induction machine [3].The following
equivalent circuit is used to simulate a three-phase, P-pole, symmetrical induction
motor in the dqo reference frame which is known in the generalized machine
analysis as arbitrary reference frame.

Figure 2.2: The dynamic or d-q equivalent circuit of an induction machine

17

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

The complexity of the voltage and torque equations can be reduced by


eliminating all time varying inductance [37].
This equivalent circuit model is used to make all the machine variables
controllable and every single equation will be represented in one block [38]. The
following equations can be written for stator:
vqs = R s iqs +

vds = R s ids +

dqs

dt
dds
dt

+ e ds

(2.1)

e qs

(2.2)

The rotor equations:


vqr = R r iqr +

vdr = R r idr +

dqr
dt

ddr
dt

+ ( )dr

(2.3)

(e r )qr

(2.4)

The flux linkage expressions in terms of the currents can be written from figure 2.4
as follows:
qs = Ls iqs + Lm iqs + iqr

(2.5)

qm = Lm (iqs + iqr )

(2.7)

qr = Lr iqr + Lm (iqs + iqr )

(2.6)

ds = Ls ids + Lm (ids + idr )

(2.8)

dr = Lr idr + Lm (ids + idr )

(2.9)

dm = Lm (ids + idr )
(2.10)
Using the two-axis notation and the matrix form, the voltage equations can be
represented by[9]:
R s + pLs
vqs
e Ls
vds
v =
pLm
qr
vdr
(e r )Lm

e Ls
R s + pLs
(e r )Lm
pLm

pLm
e Lm
R r + pLr
(e r )Lr
18

iqs
e Lm

pLm
ids

(e r )Lr iqr
R r + pLr idr

(2.11)

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

The arbitrary reference frame rotates with electrical angle velocity of rotor (r );
therefore, the electrical equation of the squirrel-cage induction motor becomes:

vqs
R s + pLs
vds
r Ls
v =
pLm
qr
vdr
0

r Ls
R s + pLs
0
pLm

pLm
r Lm
R r + pLr
0

iqs
r Lm

pLm
i
ds
0
iqr
R r + pLr idr

(2.12)

In order to have fast simulation, the above equation should be represented in state
space form with currents as state variables as in the following [39]:

p[ ] = [L ]1 ([] + r [ ])[ ] + [L ]1 []

(2.13)

Where,

[ ] = [iqs iqr ids idr ] , [V] = [vqs vqr vds vdr ] ,

Rs
0
[ R] =
0
0

Ls
0
[L] =
Lm
0

0
Lm
0
0

0
Ls
0
Lm

Lm
0
Lr
0

0
Lm
,
0
Lr

0
[ ] = Ls
0
0

Ls
0
0
0

Lm
0

0
0

0
Rs
0
0

0
0
Rr
0

0
0

0
Rr

Now the current equation of an induction motor in the two-axis stator reference
frame can be written as [40]:

19

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

ids
L
s
i
qs = 0
=0
idr
Lm
iqr
0

0
Ls
0
Lm

0 1
Lm

0
Lr

Lm
0
Lr
0

Rs
vds

0
vqs

0
vdr

vqr
P
2 r Lm

P
2

0
Rs

r Lm
0

0
0

Rr

r Lr
2

The electromagnetic torque equation is


P

Te = 1.5 Lm (iqs idr ids iqr )

0
0

ids
i

qs
P
r Lr idr
2

i

R r qr

(2.14)

(2.15)

The speed r cannot be normally treated as a constant .It can be related to the
torques as :
R

Te = TL + J

de

Where

dt

= TL +

dr

(2.16)

dt

d: direct axis
q: quadrature axis
s: stator variable
r: rotor variable
L s :stator inductance
R

L m :mutual inductance
R

L r :rotor inductance
R

Rr: rotor resistance


Rs: stator resistance
v qs , v ds : q and daxis stator voltages
R

20

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

v qr , v dr : q and daxis rotor voltages


R

i qs , i ds : q and daxis stator currents


R

i qr, i dr : q and daxis rotor currents


R

P: number of poles
J: moment of inertia
T e : electrical output torque
R

T L : load torque
R

e : stator angular electrical speed


r : rotor angular electrical speed
R

2.3.2 Flux and Torque Estimator


U

The basic principle of the conventional DTC is to control the torque and the
modulus of the stator flux linkage directly by controlling the inverter switches
using the outputs of the hysteresis comparators and selecting the correct voltage
vector from the optimal switching table. Flux and torque estimators are used to
determine the actual value of torque and flux linkages. The VSI voltage vector
transformed to the d-q stationary reference frame.
The voltage across the stator coil can be expressed as follows [41]:
vqs = R s iqs + Ls

vds = R s ids + Ls

diqs

(2.17)

dt
dids

The terms Ls

dt

dids
dt

(2.18)
, Ls

diqs
dt

represent the change in stator flux in d and q axis ,

respectively. Reforming the above equations yields the following formulas


21

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

vqs = R s iqs +

vds = R s ids +

dqs

(2.19)

dds

(2.20)

dt

dt

The estimate of the stator q and d axis flux linkages are an integral of the
stator EMF which can be written by solving (2.19) and (2.20) for (qs , ds ) to
give the following equations
qs = (vqs R s iqs )

(2.21)

ds = (vds R s ids )

(2.22)

s = qs 2 + ds 2

(2.23)

The stator flux vector can be obtained as follows

s = tan1 (

qs

ds

(2.24)

The developed electric torque is calculated from the estimated flux linkage
components and the measured stator currents in the two-axis stationary reference
frame.
P

Te = 1.5 (iqs ds ids qs )

(2.25)

According to (2.24), the stator flux angle is used to divide the electrical revolution
into six sectors denoted from Sec 1 to Sec 6 as shown in Figure 2.3.
R

These sectors can be distributed as follows in Table 2.1:

22

Chapter Two

Direct Torque Control Technique and Xilinx System Generator


Table 2.1 : Sectors distribution
Sector

Degrees

-30 < s < 30o

30o < s < 90o

90o < s < 150o

150o < s < 210o

210o < s < 270o

270o < s < 330o

2.3.3 Torque and Flux Hysteresis Comparator


U

In the DTC, there is no fixed switching frequency but the average switching
frequency is controlled with flux linkage and torque hysteresis bands. The
hysteresis bands are controlled by the reference switching frequency to achieve the
desired average value. In the DTC, there is no predetermined switching pattern
either, and the frequency component content of the voltages is not known
beforehand [24]. The IM stator voltage equation can be written by:
vs = R s is +

ds

(2.26)

dt

Where v s , i s , and
R

s are the stator voltage, current and stator flux


R

space vectors, respectively. If the stator resistance is small and can be


neglected, the change in stator flux, s will follow the stator voltage; i.e.,

s = vs t

(2.27)

23

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Therefore, variation of stator flux space vector can be achieved by the


application of stator voltage v s for a time interval of t. The stator flux is
R

controllable if a proper selection of the voltage vector is made. In Figure 2.3, the
stator flux plane is divided into six sectors where each one has a set of voltage
vectors.

Figure 2.3 :Six sectors with different set of voltages


The reference stator flux and torque values are compared with the estimated values
in hysteresis flux and torque controllers. The digitized output signals of the flux
(H ) and torque (H Te ) controllers are as follows:
R

H = 1

For

H = 1

For

H = 1
H = 0

H = 1

E + HB

(2.28)

E HB

For

(2.29)

ETe + HBTe

(2.30)

HBTe ETe + HBTe

For
For

(2.31)

ETe HBTe

(2.32)

Where E and E Te are the flux and torque errors, HB and HB Te


R

are the

acceptable predefined flux and torque errors and 2HB and 2HB Te are the total
R

hysteresis band width of the flux and the torque control [31].
24

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

The flux error which is due to the difference between the estimated and
desired stator flux is fed to the 2level hysteresis comparator which in turn
produces the flux error status. The error signal is processed in a comparator. If the
actual flux is smaller than the reference value, the comparator output is at state 1 ,
or else it will be at state -1. The states for Flux are shown in Figure 2.4.
state
1

-1
Figure 2.4: Flux hysteresis states.
The instantaneous electromagnetic torque is a sinusoidal function of the
angle between the stator and rotor fluxes as given in the following equation:

Te =

3 P Lm s r
sin sr
2 2 Ls Lr

(2.33)

The relation between s and r vectors can be illustrated by Figure 2.5

where the angle between them is denoted by sr.


R

Figure 2.5: Space vector of stator and rotor fluxes


25

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Torque is controlled within its 3-level hysteresis band as shown in Figure 2.6
[41,18].
state

0
-1
Figure 2.6: Torque hysteresis states .

2.3.4 Lookup Table


U

The stator flux angle in addition to the torque and flux hysteresis status are
used to determine the suitable stator flux sector in order to apply the correct
voltage vector to the induction motor operating under DTC. The selection of the
appropriate voltage vector is based on the switching table given in Table 2.1. The
input quantities are the stator flux sector and the outputs of the two hysteresis
comparators. [41].
The feedback flux and torque are calculated from the machine terminal
voltages and currents. The signal computation block also calculates the sector
number S(k) in which the flux vector s lies. There are six sectors each

angle

wide. The Look up table block in figure 3.1 receives the input signals H , H Te and
R

S(k) and generates the appropriate control voltage vector for the inverter by a look
up table, which is shown in Table 2.2.

26

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Table (2.2) Lookup table of inverter voltage vectors


H
R

-1

H Te

S(1)

S(2)

S(3)

S(4)

S(5)

S(6)

V2

V3

V4

V5

V6

V1

V0

V7

V0

V7

V0

V7

-1

V6

V1

V2

V3

V4

V5

V3

V4

V5

V6

V1

V2

V7

V0

V7

V0

V7

V0

-1

V5

V6

V1

V2

V3

V4

If the stator flux lies in sector k with the motor rotating in counter clockwise,
active voltage vector V S,k+l is used to increase both the stator flux and torque.
R

Voltage vector V S,k+2 is selected to increase the torque but decrease the stator flux.
R

The two zero voltage vectors (V S,7 and V S,8 ) are used to reduce the torque and at
R

the same time, freezes the stator flux. Reverse voltage vector V S,k-2 is used to
R

decrease the torque and flux in forward braking mode. Whereas V S,k.1 will reduce
R

the torque and increase the flux[23].


2.3.5 Three-Phase Voltage Source Inverter(VSI)
U

The VSI synthesizes the voltage vectors commanded by the switching table.
In DTC, this is quite simple since no pulse width modulation is employed, the
output devices stay in the same state during the entire sample period.

27

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

There are many topologies for the voltage source inverter used in DTC
control of induction motors that give high number of possible output voltage
vectors but the most common one is the six step inverter[8,42]. A six step voltage
inverter provides the variable frequency AC voltage input to the induction motor in
DTC method. The DC supply to the inverter is provided either by a DC source like
a battery, or a rectifier supplied from a three phase (or single phase) AC source.
The switching devices in the voltage source inverter bridge must be capable of
being turned off and on. The power metal-oxide semiconductor field effect
transistors (MOSFETs) are used because they have this ability and in addition they
offer high switching speed with enough power rating. Each MOSFET has an
inverse parallel-connected diode. This diode provides alternate path for the motor
current after the MOSFET is turned off [43,16].
Each leg of the inverter has two switches; one is connected to the high side
(+) of the DC link and the other is connected to the low side (-). Only one of the
two can be on at any instant. When the high side gate signal is on, the phase is
assigned the binary number 1, and assigned the binary number 0 when the low side
gate signal is on. Considering the combinations of status of phases a, b and c, the
inverter has eight switching modes (V a V b V c =000-111): two are zero voltage
R

vectors V 0 (000) and V 7 (111) where the motor terminals is short circuited and the
R

others are nonzero voltage vectors V 1 to V 6 . The waveforms of the branch voltage
R

for 1800 conduction mode will be as shown in Figure 2.7.


P

28

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Figure 2.7: Leg voltage waveform of a three-phase (VSI).


From figure 3.7 for one cycle (360o) the leg voltages will have six distinct and
P

discrete values because every state has been changed after an interval of (60o) [44].
P

2.4 Modified DTC Scheme


U

When we need to regulate the speed of such a drive a speed controller is


needed. The speed controller takes the error signal between the reference and the
actual speed and produces the appropriate reference torque value. In Figure 2.8 we
can see the block diagram of the proposed drive, in speed control mode. A
reference speed signal r * or, in other words, the speed command is given. The
R

actual speed r is estimated or measured with a speed encoder. This depends on


R

the precision requirements of each application. In this theses the classical PI


controller is also used for the comparison between the classic DTC and DTCSVM.
For that, it becomes essential to know the rotor mechanical speed. A
speed controller may be employed and augmented with the classical DTC

29

Chapter Two
scheme.

Direct Torque Control Technique and Xilinx System Generator

The block diagram of the modified DTC scheme is as shown in

Figure 2.8.

Torque Hysteresis

Wr*

PI
Controller

Te*+

ETe

Look
up

Table

2H

Wr

Vdc
Sa
Sb
Sc

VSI

Flux hysteresis

s*

S(K)

ia,ib

2HB

Te

Sector, Flux
and Torque
Estimators
V_abc

IM

Figure 2.8 : The block diagram of the modified DTC scheme

2.5 Classic PI Controller


U

A classic Proportional plus Integral (PI) controller is suitable enough to adjust


the reference torque value T e *. Nevertheless, its response depends on the gains K p
R

RP

and K i , which are responsible for the sensitivity of speed error and for the speed
R

error in steady state. During computer analysis, we use a controller in a discrete

30

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

system in order to simulate a digital signal processor (DSP) drive system. Its block
diagram is shown in Figure 2.9, where T is the sampling time of the controller.

Figure 2.9: Block diagram of a discrete classic PI speed controller.


The response of the PI speed controller, in a wide range area of motor speed,
is very sensitive to gains K p and K i and it needs good tuning for optimal
R

performance. High values of the PI gains are needed for speeding-up the motor and
for rapid load disturbance rejection. This results to an undesired overshoot of
motor speed. A solution is to use a variable gain PI speed controller. However, in
the case of using a variable gain PI speed controller, it is also necessary to know
the behavior of the motor during start up and during load disturbance rejection in
several operation points in order to determine the appropriate time functions for PI
gains. This method is also time-consuming and depends on the control system
philosophy every time [45].

2.6 Direct Torque Control With Space Vector Modulation (DTC


SVM)
U

31

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Direct Torque Control drives utilizing hysteresis comparators suffer from


high torque ripple and variable switching frequency. The most common solution to
this problem is to use the space vector that depends on the reference torque and
flux. Space Vector Modulation is one of the PWM technique in which when the
drive is excited by three phase, balanced currents produces a voltage space
vector which traces a circle with uniform velocity by sampling that rotating
reference voltage space

vector

with

high

sampling

frequency

different

switching can be possible. The reference voltage vector is then realized using a
voltage vector modulator. There are various types of direct torque control-space
vector modulation (DTC-SVM) schemes that have been proposed. Each scheme
will perform the different control technique but its aims are still similar, which are
to attain the constant switching frequency and to reduce the torque ripple. The
differences between various DTC-SVM are on how the reference voltage is
generated the reference voltage is then implemented using SVM. Space Vector
Modulation is used to define the inverter switching state or voltage vector positions
different from six standard positions [7,37].
The SVPWM has been widely used in three phase inverter control system
because it has a higher utility efficiency of DC-side voltage than the sine pulse
width modulation (SPWM). Although the SVPWM has many advantages, it is
difficult to implement. The most difficult factor is calculating the duty cycles for
each power switch, as well as determining the vector sector and pulse sequence in
each switching cycle. The duty cycle calculation for the three phase 2- level
inverter was presented in many papers, and the vector sequence can be determined
in many ways (for example, the center-aligned method, which can be easily
implemented in MCU platform) [46].

32

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

The implementation of the conventional SVPWM is especially difficult


because it requires complicated mathematical operations. In the SVPWM
technique, the duty cycles are computed rather than derived through comparison as
in SPWM. The SVPWM technique provides more efficient use of supply voltage
compared with sinusoidal modulation technique as shown in Figure 2.10 [47].
The fundamental voltage can be increased up to a square wave mode where a
modulation index of unity is reached. Moreover, the utilization of the DC bus
voltage can be further increased when extending into the over-modulation region
of SVPWM .Three-phase voltage source pulse-width modulation inverters have
been widely used for DC to AC power conversion since they can produce outputs
with variable voltage magnitude and variable frequency. For example, modern
power electronics controllers have been rapidly moving toward digital
implementation. Typical solutions employ microcontrollers or DSPs [48].

q
SV PWM

33

Vdc

Vdc
d

Vdc

Sine PWM

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Figure 2.10: Locus comparison of maximum linear control voltage in Sine PWM
and SVPWM.

2.7 Principle of Space Vector PWM


U

The procedure for implementing a two-level space vector PWM can be


summarized as follows:
1. Calculate the angle and reference voltage vector V ref based on the input
voltage components.
R

2. Calculate the modulation index and determine if it is in the over-modulation


region.
3.Find the sector in which V ref lies, and the adjacent space vectors of V k and
+ 1 based on the sector angle .
R

Vk
R

4. Find the time intervals T 1 and T 2 and T 0 based on T z , and the angle .
R

5. Determine the modulation times for the different switching states [47] .
To implement the space vector PWM, the voltage equations in the abc
reference frame can be transformed into the stationary dq reference frame that
consists of the horizontal (d) and vertical (q) axes as depicted in Figure 2.11.
q axis

b
a

d axis

Figure 2.11: The relationship of abc reference frame and stationary dq reference
frame.
From this figure, the relation between these two reference frames is shown as:
34

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

fdq0 = K s fabc

(2.34)
1

1 2 2
2
3
T
T
3
Where, K s = 0
, fdq0=[fd fq f0] , fdq0=[fa fb fc] , and f denoted
3
2
2
1
1
1
2
2
2
either a voltage or a current variable.
P

As described in Figure 2.11, this transformation is equivalent to an orthogonal


projection of [a, b, c]t onto the two-dimensional perpendicular to the vector
P

[1, 1, 1]t (the equivalent d-q plane) in a three-dimensional coordinate system. As a


P

result, six non-zero vectors and two zero vectors are possible. Six nonzero vectors
(V1- V6) shape the axes of a hexagonal as depicted in Figure 2.12,and feed electric
power to the load. The angle between any adjacent two non-zero vectors is 60
degrees.
q axis
V3 (010)

(1/3,1/3)
(2/3)Vdc

V2 (110)
(1/3,1/3)

2
Vref

V0 (000)

V4 (011)

(2/3,0)

V7 (111)

V1 (100)

(2/3,0)

6
5

1
( , 1/3)
3

1
( , 1/3)
3

V5 (001)

V6 (101)

Figure 2.12: Basic switching vectors and sectors.


35

d axis

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Meanwhile, two zero vectors (V0 and V7) are at the origin and apply zero
voltage to the load. The eight vectors are called the basic space vectors and are
denoted by V0, V1,V2, V3, V4, V5, V6, and V7. The same transformation can be
applied to the desired output voltage to get the desired reference voltage vector Vref
in the d-q plane. The objective of space vector PWM technique is to approximate
the reference voltage vector Vref using the eight switching patterns. One simple
method of approximation is to generate the average output of the inverter in a
small period; T is to be the same as that of Vref in the same period. Therefore, space
vector PWM can be implemented by the following steps:
Step 1. Determine Vd, Vq, Vref, and angle ()
Step 2. Determine time duration T1, T2, T0
Step 3. Determine the switching time of each transistor (S1to S6)

2.7.1 Step 1: Determining Vd, Vq, Vref, and Angle ()


U

From Figure 2.13, the Vd, Vq, Vref, and angle () can be determined as
follows:
V = V V 60 V 60

(2.35)

V = 0 + V 30 V 30

(2.36)

= V V V
2

= V +

3
V
2

1
v
2
v =
3
q
0

2
3
2

3
V
2
1

van
2
vbn
3

vcn
2

(2.37)

ref | = V 2 + Vq 2
|V

(2.38)
36

Chapter Two

Direct Torque Control Technique and Xilinx System Generator


V

= tan1 = = 2 f ,

where f= fundamental frequency

q axis

Vq

ref

a, d axis

Vd

Figure 2.13: Voltage Space Vector and its components in (d,q) .


It is necessary to know in which sector the reference output lies in order to
determine the switching time and sequence. The identification of the sector where
the reference vector is located is straightforward. The phase voltages correspond to
eight switching states: six non-zero vectors and two zero vectors at the origin.
Depending on the reference voltages Vd and Vq, the angle of the reference vector
can be used to determine the sector as shown in Table 2.3.
Table 2.3: Sector Definition.
Sector

Degrees

0 < 60o

60o < 120o

120o < 180o

180o < 240o

240o < 300o

300o < 360o

37

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

2.7.2 Step 2: Determining Time Duration T1, T2, T0


U

The duty cycle computation is done for each triangular sector formed by two
state vectors. The magnitude of each switching state vector is 2Vdc/3 and the
magnitude of a vector to the midpoint of the hexagon line from one vertex to
another is Vdc/3 .

From Figure 2.14, the switching time duration can be calculated as follows:
Switching time duration at sector 1
T
T1
T1 +T2
V2 + T Vo
0 Vref = 0 V1 + T
T +T
1

(2.39)

ref is
For sufficiently high switching frequency, the reference space vector V

assumed constant during one switching cycle. Taking into account that the states
V1 and V2 are constant, one finds (see Figure 2.14):
Vref T = V1 T1 + V2 T2
2
3

cos(/3)
2
1
ref | cos()
T1 V + T2 V
= T |V
3
sin(/3)
sin()
0

(2.40)
(2.41)

(where , 0 60o)
P

T1 = T

T2 = T

sin( )

(2.42)

sin()

(2.43)

sin( )

sin( )

T0 = T (T 1 + T2 ), where, T =

and =

Switching time duration at any sector

38

ref |
|V
2
V
3

Chapter Two
T1 =
=

|Vref |

3 T
sin
V
3

ref |

3 T |V
sin
V
3

1
3

|Vref |

3 T
sin(
V
3

. cos .
3

1
|Vref |
3 T
sin

3
V

T2 =
=

Direct Torque Control Technique and Xilinx System Generator

ref |
1
3 T |V
.

V
3

sin

1
3

. cos

(2.44)

(2.45)

T0 = T T 1 T2 where, n=1 through 6 (that is, Sector 1 to 6)


For the sectors II-VI, the same rules apply [49].

Figure 2.14: Reference vector as a combination of adjacent vectors at sector 1.

2.7.3 Step 3: Determining the Switching Time of Each


Transistor (S1to S6)
U

It is necessary to arrange the switching sequence so that the switching


frequency of each inverter leg is minimized. There are many switching patterns
that can be used to implement SVPWM. To minimize the switching losses, only
two adjacent active vectors and two zero vectors are used in a sector [50,51]. To
meet this optimal condition, each switching period starts with one zero vector and
end with another zero vector during the sampling time Tz. This rule applies
39

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

normally to three-phase inverters as a switching sequence. Therefore, the switching


cycle of the output voltage is double the sampling time, and the two output voltage
waveforms become symmetrical during Tz. Table 2.4 presents asymmetric
switching sequence.
Referring to this table, the binary representations of two adjacent basic
vectors differ in only one bit, so that only one of the upper transistors switches is
closed when the switching pattern moves from one vector to an adjacent one. The
two vectors are time-weighted in a sample period Tz to produce the desired output
voltage.
Table 2.4: Seven-Segment Switching Sequence
Sector

1
2
3
4
5
6

1
V0 , [000]
V0 , [000]
0 , [000]
V
0 , [000]
V
V0 , [000]
V0 , [000]

2
V1 , [100]
V3 , [010]
3 , [010]
V
5 , [001]
V
V5 , [001]
V1 , [100]

Switching Segment
3
4
5
V2 , [110] V7 , [111] V2 , [110]
V2 , [110] V7 , [111] V2 , [110]
4 , [011] V
7 , [111] V
4 , [011]
V
4 , [011] V
7 , [111] V
4 , [011]
V
V6 , [101] V7 , [111] V6 , [101]
V6 , [101] V7 , [111] V6 , [101]

6
V1 , [100]
V3 , [010]
3 , [010]
V
5 , [001]
V
V5 , [001]
V1 , [100]

7
V0 , [000]
V0 , [000]
0 , [000]
V
0 , [000]
V
V0 , [000]
V0 , [000]

2.8 Types of Different Schemes


U

There are two modes of operation available for the PWM waveform:
symmetric and asymmetric PWM. The pulse of an asymmetric edge aligned signal
always has the same side aligned with one end of each PWM period. On the other
hand, the pulse of symmetric signals is always symmetric with respect to the center
of each PWM period. The symmetrical PWM signal is often preferred because it
has been shown to have the lowest total harmonic distortion (THD). Output
patterns for each sector are based on a symmetrical sequence. There are different
40

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

schemes in space vector PWM and they are based on their repeating duty
distribution. In order to reduce the switching loss of the power components of the
inverter, it is required that at each time only one bridge arm is switched. After reorganizing the switching sequences, the switching pulse patterns of six different
sectors in Figure 2.15 are shown for the upper and lower switches of a three-phase
inverter.
It is obvious that in the odd sector the active state sequence is in ascendingdescending order; whereas, it is in a descending-ascending order in an even sector.
For example:
1. In an odd sector 1, the state sequence of space vectors is in the order
V0 , V1 , V2 , V7 , V7 , V2 , V1 , V
0 .
2. In an even sector 2, the state sequence of space vectors is:
0 , V
3 , V
2 , V
7 , V
7 , V
2 , V
3 , V
0 .
V

Following the same procedure, we have the switching sequence summarized


in Table 2.5 for all six sectors.
Table 2.5: Switching Sequence for Three-Phase PWM Technique
Sector

Switching Sequence of the Three Phase Modulation

V0 V1 V2 V7 V2 V1 V0

2
3
4
5
6

V0 V3 V2 V7 V2 V3 V0
0 V
3 V
4 V
7 V
4 V
3 V
0
V
0 V
5 V
4 V
7 V
4 V
5 V
0
V
V0 V5 V6 V7 V6 V5 V0
V0 V1 V6 V7 V6 V1 V6

41

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Figure 2.15 shows space vector PWM switching patterns at each sector.

(a)Sector 1

(b)Sector 2

(d)Sector 4

(c)Sector 3

(e)Sector 5

(f)Sector 6
42

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

Figure 2.15 Space Vector PWM switching patterns at each sector.


Based on Figure 2.15 and according to the principle of symmetrical PWM, the
switching sequence in Table 2.6 is shown for the upper and lower switches and it
will be built in Simulink model to implement SVPWM.
Table 2.6 Switching Time Calculation at Each Sector
Sector

Upper switches (S1,S3,S5) Lower switches (S4,S6,S2)

S1=2(T1+T2)+T0
S3=2T2+T0
S5=T0

S4=T0
S6=2T2+T0
S2=2(T1+T2)+T0

S1=2T2+T0
S3=2(T1+T2)+T0
S5=T0

S4=2T2+T0
S6=T0
S2=2(T1+T2)+T0

S1=T0/2
S3=2(T1+T2)+T0
S5=2T2+T0

S4=2(T1+T2)+T0
S6=T0
S2=2T2+T0

S1=T0
S3=2T2+T0
S5=2(T1+T2)+T0

S4=2(T1+T2)+T0
S6=2T2+T0
S2=T0

S1=2T2+T0
S3=T0
S5=2(T1+T2)+T0

S4=2T2+T0
S6=2(T1+T2)+T0
S2=T0

S1=2(T1+T2)+T0
S3=T0
S5=2T2+T0

S4=T0
S6=2(T1+T2)+T0
S2=2T2+T0

43

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

2.9 Field Programmable Gate Array


U

A Field Programmable Gate Array (FPGA) is a silicon device that contains


logic. It is constructed of cells called Configurable Logic Block (CLB); each
configurable logic block contains more or less a Look Up Table (LUT), a Flip-Flop
and a multiplexer. In-between the CLBs, there are interconnections and at the
borders input and output cells. An FPGA is normally programmed with a
Hardware Description Language (HDL) like VHDL or Verilog. An FPGA can be
re-programmable and several tasks can be executed at the same time; in other
words, parallel programming can be applied to it.

2.10 Hardware in the Loop


U

Hardware in the loop (HIL), or FPGA in the loop, is a concept that as


revealed by the name uses the hardware in the simulation loop. This leads to easy
testing and the possibility to see how the actual plant is behaving in hardware. By
having the stimuli in a software on the PC, implementing a part of the loop in
hardware and then receiving the response from hardware back in the software, a
good indication of the designs performance is given [52].

2.11 Usage of Xilinx System Generator in the Controller Design


U

MATLAB SIMULINK software package provides a powerful high level


modeling environment for people who are involved in system modeling and
simulations. Xilinx System Generator Tool developed for MATLAB SIMULINK
package is widely used for algorithm development and verification purposes in
Digital Signal Processors (DSP) and Field Programmable Gate Arrays (FPGAs).
System Generator Tool allows an abstraction level algorithm development while
44

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

keeping the traditional SIMULINK blocksets, but at the same time automatically
translating designs into hardware implementations that are faithful, synthesizable,
and efficient.
Here in this study, a direct field and torque controlled induction machine
driven by a Voltage Source Inverter (VSI) is analyzed by using a MATLAB
SIMULINK model. The control signals for the VSI in the related model are
generated by the Xilinx FPGA chip. But, the FPGA chip needs Very-high-speed
Hardware Description Language (VHDL) codes to generate the control signals for
the related controller. Normally, MATLAB SIMULINK Package does not provide
an interface for the VHDL needed for the controller to be embedded in the FPGA
chip. However, the Xilinx System Generator Tool provides such an interface; i.e., a
control algorithm developed Xilinx System Generator Tool convenient to be used
with traditional Simulink blocksets can be translated to the VHDL codes needed
for the controller to be embedded in the FPGA chip. The following section briefly
introduces system modeling using the Xilinx System Generator Tool.

2.12 System Modeling Using the Xilinx System Generator


U

The formation of a DSP design begins with a mathematical description of the


operations needed for the controller and ends with the hardware realization of the
algorithm. The hardware implementation is rarely faithful to the original functional
description, instead it is faithful enough. The challenge is to make the hardware
area and speed efficient, while still producing acceptable results. In a typical
design flow supported by System Generator, the following steps are followed:
1. Describe the algorithm in mathematical terms;
45

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

2. Realize the algorithm in the design environment, initially using double


precision;
3. Trim double precision arithmetic down to fixed point;
4. Translate the design into efficient hardware .

2.14 Integration in Xilinx Environment


U

The experimental application presents certain problems caused by the external


noise interference and the appearance of constant offsets at the waveforms. The
flux estimation is achieved by the integration of the stationary voltage and the
current waveforms. However, if there is an offset at the input of the integrator, a
ramp error occurs at the output of the integration [53] .
The implementation of the integral operator

+1

in real time application is yet

another problem to be sorted out. In general, the digital implementation includes


several hardware limitations, such as limited memory, finite precision, and limited
speed execution. Operations that require a finite amount of data and make the
algorithm computable are necessary.
According to the Euler approximation technique, a transfer function in the
differential operator (s) can be transformed into a discrete time transfer function in
the time delay operator (z) by substituting :

s=

1z1

(2.46)

Ts

In Equation (2.46) ,Ts is the sampling interval. Let the clock frequency of the

FPGA be 0.2 MHz and consequently the sampling interval be 5* 10-6 sec.
P

46

Chapter Two

Direct Torque Control Technique and Xilinx System Generator

By substituting Equation (2.46) in the integral operator


1

+1

= 1z1
Ts

+1

1z1
+1
5x106

5x106

1.000005z1

+1

, it is obtained:

4.999975x106

10.999995z1

(2.47)

In time domain, Equation (2.47) is implemented by the difference equation:

[] = 0.999995y[n 1] + 4.99x106 []

Equation (2.48) yields the following block diagram realization:

Figure 2.17: Block diagram realization of equation (2.48) [22].

47

(2.48)

Chapter Three

System Implementation and Simulation Results

Chapter Three
System Implementation and Simulation Results
3.1 Introduction
This chapter deals with the implementation of DTC and examination of the
performance of DTC using different controllers (Conventional and modified
DTC by PI controller and SVPWM technique).
In this work, two types of controllers were used to enhance the conventional
DTC system for controlling the speed and torque of IM; these controllers are the
Conventional PI controller (trial and error) and SVPWM techniques.
DTC_SVPWM techniques were carried out using MATLAB/SIMULINK
simulation package only, but the conventional and modified DTC by PI
controller were implemented using both MATLAB/SIMULINK simulation
package and the FPGA by designing the proper software using Xilinx blocks.

3.2 Implementation of DTC in MATLAB/Simulink


The building blocks of conventional DTC drive are as shown in Figure 2.1.
The different blocks which are to be implemented in SIMULINK are:
Induction Motor
Stator, Flux and Torque Estimators
Flux and Torque hysteresis controllers
Switching Table
Voltage Source Inverter

48

Chapter Three

System Implementation and Simulation Results

3.2.1 Induction Motor


In this section, the model for induction motor is implemented by
representing

the

set

of

Equations

(2.14),(2.15),and(2.16)

in

M ATLAB/SIMULINK m-file blocks. The codes of all m-file blocks are


provided in Appendix B. The d-q model requires that all the three-phase
variables be transformed to the two-phase synchronously rotating frame and that
simplifies the flux-based calculations. The transformation and the inverse
transformation are provided in Appendix A. Consequently, the induction
machine model will have blocks transforming the three phase voltages to the d-q
frame and the d-q currents back to three-phase[54].
The block diagram in Figure 3.1 shows the complete SIMULINK scheme of
the described induction machine model.

Figure 3.1: The complete SIMULINK scheme of the described induction


machine model
49

Chapter Three

System Implementation and Simulation Results

3.2.2 Sector ,Flux and Torque estimator


Based on the Equations(2.21)-(2-25) , a SIMULINK models for flux and
torque estimators have been designed as shown in Figure 3.2.

Figure 3.2: MATLAB SIMULINK function model of sector ,flux and torque
estimators

3.2.3 Flux and Torque Hysteresis Controller


The flux hysteresis controller is modeled according to Equations (2.28) and
(2.29).The output of the comparator is -1 or 1 according to the difference
between reference flux and actual value of flux. The SIMULINK model of
the controller and flux hysteresis comparator is as shown in Figure 3.3.

Figure 3.3 : The flux controller using MATLAB SIMULINK function block
50

Chapter Three

System Implementation and Simulation Results

According to (2.30)-(2.32), the output of the torque hysteresis controller


may be -1, 0 or 1. The SIMULINK model of torque comparator and
controller is as shown in Figure 3.4.

Figure 3. 4 :The torque controller using MATLAB SIMULINK function block.

3.2.4 Lookup Table Using MATLAB/Simulink


Based on Table 2.1 a Simulink model has been built to implement the
switching process as shown in Figure 3.5 .

Figure 3.5: Switching Process model

3.2.5 Voltage Source Inverter


The circuit model of typical three-phase voltage source PWM inverter is shown
in Figure 3.6, where V a , V b and V c are the voltages applied to the motor
windings.
51

Chapter Three

System Implementation and Simulation Results

Figure 3.6: Three legs power module.

The complete model of conventional DTC scheme is as shown in


Figure 3.7.

Figure 3.7: Complete MATLAB/SIMULINK model of conventional DTC


scheme.
52

Chapter Three

System Implementation and Simulation Results

3.3 Modified DTC Scheme Using MATLAB/Simulink


In classical DTC scheme, the speed is determined according to the
reference torque input. In modified DTC a classic Proportional plus Integral
(PI) controller is suitable enough to adjust the reference torque value T e *.The
SIMULINK model of the PI speed controller is as shown in Figure 3.8.

Figure 3.8 : The SIMULINK model of the PI speed controller


The SIMULINK model of modified DTC scheme is as shown in Figure 3.9.

Figure 3.9: MATLAB/SIMULINK model of modified DTC scheme.


53

Chapter Three

System Implementation and Simulation Results

3.4 Modeling Space Vector PWM Using MATLAB/Simulink


The use of DTC in conjunction with space vector modulation is supposed to
be one of the solutions to overcome the problems of convention direct torque
control-variable switching frequency, which depend on rotor, load and sample
frequency.
Using the SIMULINK/MATLAB blocks, it will be shown that the method
of DTC-SVM allows the torque response tracking the torque command at the
input with its ripple significantly reduced. The SIMULINK model of DTC-SVM
scheme with closed-loop torque control for induction machine is shown in
Figure 3.10. Instead of induction motor (IM), it can also be applied to the
permanent magnet synchronous motor (PMSM) [55,19,11].

Figure 3.10: MATLAB/SIMULINK model of proposed SVPWM based DTC


54

Chapter Three

System Implementation and Simulation Results

The SIMULINK part responsible for generating and calculating the values
of Vq, Vd, V ref and is shown in Figure 3.11

Figure 3.11: SIMULINK model used to generate V q , V d , V ref and .


Sector selection is achieved when the angle is compared with the limits of
each sector to determine which sector the reference voltage is in. The sampling
time, sector number and the angle are used to find the fundamental time duration
for each sector T 1 , T 2 and T 0 . The upper leg and lower leg in the inverter operate
opposite to each other, therefore three switching signals are needed at any given
moment and the other three can be the exact inverse of the original three. The
next step would be getting PWM signals by using carrier signal. A saw-tooth
signal is a perfect carrier signal and the control signals are obtained by
comparing the switching signals and the carrier signal. When the value of the
switching signal is greater than the value of the carrier signal the output is set to
1; otherwise, it is set to 0 [56].

55

Chapter Three

System Implementation and Simulation Results

The generation of the switching signals is done by using the model shown in
Figure 3.12.

Figure 3.12: Switching signals generation.

3.5 Implementation DTC Using Xilinx Software


3.5.1 Real Time System Modeling via Simulink
In this study, Xilinx FPGA application board is taken as a basis for a real
time application. When the control algorithm design of the controller is
completed in MATLAB SIMULINK environment by using Xilinx System
Generator, it can be translated automatically into VHDL programming language
and then can be embedded into the Xilinx FPGA application board.
The MATLABSIMULINK environment forms the basis for the design of
the controller utilized for the direct torque control of induction machine. The
difference in this design is that it includes not only the realization of the
mathematical model to represent the natural behavior of the system controlled,
56

Chapter Three

System Implementation and Simulation Results

but also the realization of the controller using FPGA. Xilinx blocksets used in
the design obtained by the Xilinx System Generator can be added to the
MATLAB SIMULINK library and used by the Simulink Software. The block
diagram

of

complete

system

model

including

the

controller

in

MATLAB/ SIMULINK developed for the direct torque controlled induction


machine is shown in Figure 3.7.
The tests for the direct torque controlled induction machine using FPGA
based controller are carried out by using a MATLAB /SIMULINK Model. The
system response for the torque and flux references and the loading and unloading
performances are investigated through the simulations using the related model.
Here, all the control blocks and related sub-blocks of the design developed
using Xilinx Blocksets in MATLAB/SIMULINK Environment are shown and
explained. The system model developed for each subblock is explained further in
the following subsections [57].

3.5.2 Xilinx Software Analysis


The MATLAB SIMULINK model in Figure 3.7 needs to be designed in
Xilinx environment. The designing of the Xilinx library is structured in a similar
way to the MATLAB SIMULINK library, though there are some differences in
the block parameters. In fact, the Xilinx library seems to be less extended
compared to the MATLAB SIMULINK library. In addition, its capability is
limited.

3.5.3 The MCode Block


The MCode Block, see Figure 3.13, passes the input values of a MALTAB
function for evaluation in Xilinx fixed-point type. The inputs and outputs of the
57

Chapter Three

System Implementation and Simulation Results

function becomes the input and output ports of the block. The m-code that the
block uses is translated in a straightforward way into equivalent behavioral
VHDL/Verilog when hardware is generated. Some design rules has to be
followed when writing the MCode; for example, all block inputs and outputs
must be of Xilinx fixed-point type and all blocks must at least have one output
port [33].

Figure 3.13: The MCode block with its dialog window.

3.5.4 Implementation of Sector ,Flux and Torque Estimators


Using Xilinx/SIMULINK
The first and second phase currents ( i a and i b ), as well as the line voltages
(v a ,v b and v c ) must be transformed into the stationary reference frame. This
transformation is going to be achieved through the FPGA by designing the
proper software using Xilinx blocks. To achieve a good implementation, several
digital properties need to be considered when designing these estimators.
58

Chapter Three

System Implementation and Simulation Results

Adopted binary format, quantization, and sampling time are amongst the key
factors.
1) Binary Format Representation: In this implementation, twos complement
fixed-point representation is used during all of the operations, except for the
square root calculation. In this particular case, unsigned fixed-point
representation is applied, since its operand and its results are always positive.
2) Quantization: The determination of word size (word length) is one of the
critical parts in FPGA implementation. On one hand ,the use of an insufficient
number of bits may reduce the precision or cause a calculation error, which can
destabilize the whole system. On the other hand, the use of larger words may
increase the hardware implementation area.
3) Sampling Time: The sampling time is limited to 5s . Therefore, all of the
operations involved in this model are performed within this sampling time.
The block diagram in Figure 2.17 represents the operator

+1

with

elementary operations such as the time delay, sum and scaling, which use the
minimum memory storage. It can be used in our real-time application. The
integrator in Xilinx /SIMULINK is shown in Figure 3.14 .

Figure 3.14: Integrator in Xilinx Environment


59

Chapter Three

System Implementation and Simulation Results

All of the equations modeling the motors behavior are implemented in a


two-stage architecture as shown in Figure 3.15. Several mathematical operations
are performed in parallel. At the first stage, stator currents and voltages in
coordinates are calculated in parallel, so that those results can be used to estimate
the stator flux in the same stage. The resulted currents and flux are used to
determine sector number, the flux magnitude and the torque estimation in the
second stage[32].

Figure 3.15 : Sector number, the flux magnitude ,the torque estimators and
Clarks transformation using Xilinx/SIMULINK.
The subsystem block was built to implement the sector, flux and torque

estimators as shown in Figure 3.16.

Figure 3.16 :Sector, Flux and Torque Estimators subsystem.


60

Chapter Three

System Implementation and Simulation Results

3.5.5 Flux and Torque hysteresis Controller


The Xilinx/SIMULINK model of the controller and flux hysteresis
comparator is as shown in Figure 3.17

Figure 3.17 : Flux hysteresis controller and comparator.


The Xilinx/SIMULINK model of torque comparator and controller is
as shown in Figure 3.18 .

Figure 3.18 : Torque hysteresis controller and comparator.

3.5.6 Switching Table Using Xilinx Mcode Block


A Xilinx SIMULINK model was built to implement the switching process
as shown in Figure 3.19 .

Figure 3.19:Look-up table design using Xilinx/SIMULINK.


61

Chapter Three

System Implementation and Simulation Results

The complete model of classical DTC scheme is as shown in Figure 3.20.

Figure 3.20: The complete model of conventional DTC scheme using


Xilinx/SIMULINK

3.6 Modified DTC Scheme using Xilinx/SIMULINK


The model of the PI speed controller is designed with using Xilinx
SIMULINK as shown in Figure 3.21.

Figure 3.21 : The Xilinx SIMULINK model of the PI speed controller

62

Chapter Three

System Implementation and Simulation Results

The SIMULINK model of modified DTC scheme using Xilinx SIMULINK


environment is as shown in Figure 3.22

Figure 3.22: The SIMULINK model of modified DTC scheme using Xilinx
SIMULINK

3.7 Hardware/Software Co-Simulation


The validation of the designed DTC controller was performed by using the
Hardware-in-the-Loop (HiL) simulation. The DTC MATLAB/Simulink model is
simulated and then the same data I a , I b , S a , S b , and S c obtained from the
simulation are copied from the MATLAB workspace to VHDL codes, along
with the inputs for the targeted FPGA. Usually several issues may arise when the
model is transformed into a hardware. System Generator provides several
methods to transform the models built using Simulink into hardware (see
Appendix-D). One of these methods is called Hardware/Software Co-simulation.
Hardware/Software Co-simulation enables building a hardware version of the
model and by using the flexible simulation environment of Simulink we can
63

Chapter Three

System Implementation and Simulation Results

perform several tests to verify the functionality of the system in hardware.


HW/SW Co-simulation supports FPGAs from Xilinx on boards that support
JTAG or Ethernet connectivity. Several boards are predefined on System
Generator for Co-simulation including the NEXYS2 (Spartan-3) board. Figures
3.20 and 3.22 showed the models that use the Xilinx blockset for Conventional
DTC and PI_DTC. These models can be used for co-simulation. Once the design
is verified, a hardware co-simulation block can be generated and then it will be
used to program the FPGA. Figure 3.23 and 3.24 show the model with the
hardware co-simulation block. The bitstream download step is performed using a
JTAG cable.

Figure 3.23 : The conventional DTC model with the hardware Co-simulation
block.

64

Chapter Three

System Implementation and Simulation Results

Figure 3.24 : The PI_DTC model with the hardware co-simulation block.
Now the design is ready for Co-Simulation. Click the Start Simulation
button in the model window toolbar to start the Co-Simulation. The System
Generator will first download the bitstream associated with the block
dtcxilinx1515 hwcosim ,aaDTCXilinx2014 as shown in Figures 5.38 and 5.39.
When the download is complete, System Generators read the inputs from
Simulink simulation environment and send them to the design on the board using
the JTAG connection. System Generator then reads the output back from JTAG
and sends it to Simulink for displayed.

65

Chapter Three

System Implementation and Simulation Results

3.8 Experiment Setup and Instrumentation


As illustrated in Figure 3.25 and Appendix-C, the test instrumentation
consists of a computer, a Xilinx NEXYS2 Spartan 3E1200 FG320 Kit ,three
phase induction motor, and a voltage source inverter. Through a custom
graphical user interface (GUI), the instrumentation computer allows the user
to control the Kit settings. It also strip charts the voltage and current for each
output and maintains a count of discrete pulses, which are connected to error
signals from the device under test . The switching control system is based on
building

switching

(HEF4017BP).The

control

table
system

programed
is

through

connected

to

an
the

integrate
real

motor

(562CHC136D004). The difficulty of design suitable interface circuit between


the FPGA and the inverter due to unavailability of providing

the whole

components from the Iraqi market cause to incomplete the proposed system.

Figure 3.25 : Experiment Setup and Instrumentation and test for VSI with real
three phase IM

66

Chapter Three

System Implementation and Simulation Results

3.9 Simulation Results for Conventional DTC


For the simulations a particular sampling period T S_DTC for torque and flux
was chosen as well as the proper limits and e for the hysteresis
controllers, in order to achieve an average switching frequency which shall be
the same with the constant switching frequency produced by the DTC-PI and
DTC-SVM control. The MATLAB/SIMULINK model of the conventional DTC
was shown in Figure 3.7. The classic DTC flux variation of the hysteresis band
equal to =0.0028 Wb was chosen and for the torque the hysteresis band
controller was chosen to be Te =0.65 Nm and the reference torque is 12 N.m.
The parameters values for the squirrel cage IM used in the simulation are shown
in Appendix-A [58].
The graphs shown later depict the response of the conventional DTC
system for no load at (0-0.1)sec. , a step change in torque from 7.4 N.m. to
3.7 N.m. at (0.1and 0.4 ) sec. ,and 3.7 N.m. at (0.4-0.5)sec.. The speed is
dropped by 12% from the no load speed when the full load is applied at 0.1 sec .
The transient and steady state flux vector in Figure 3.26 shows nearly a
circular path indicating a good flux regulation and the estimated stator flux is
shown in Figure 3.27.The motor speed response is shown in Figure 3.28.The
electromagnetic torque shown in Figure 3.29 is close to the commanded value,
while the time taken for the torque reach its commanded value is about 0.009
sec.. The peak to peak ripple values in the torque response are 2.7 ,2.8,2.65 at no
load, full load,and half load, respectivly, with

T S_DTC =5 sec the sampling time

for discrete implementation. The starting torque is equal to 11.8 N.m which is
depended on the reference torque value . Figure 3.30 shows both the stator
currents in phase a, b and c , which are nearly sinusoidal , and the waveforms

67

Chapter Three

System Implementation and Simulation Results

of stator currents in d-q axis. It is noticed that the phase shift between them
is equal to 900.

Figure 3.26 : Circular path indicating a good flux regulation

Figure 3.27:Estimated stator flux


68

Chapter Three

System Implementation and Simulation Results

Figure 3.28:The motor speed response .

Figure 3.29 :The electromagnetic torque .

69

Chapter Three

System Implementation and Simulation Results

Figure 3.30:d-q axis stator currents and three phase stator currents.

70

Chapter Three

System Implementation and Simulation Results

3.10 Simulation Results of DTC with Conventional PI Controller


The MATLAB/SIMULINK model of the modified DTC was shown in
Figure 3.9.The conventional PI controller is tuned manually by trial and error
method. The obtained gains are k p = 3.2 and k i =0.299. This section studies the
responses of the speed and torque for DTC with PI controller at different load
and rated speed conditions. Where the speeds and load torques values are
selected as (130) rad/sec, for load torques are (0, 7.4 and 3.7) N.m.
Figures (3.31) and (3.32) show the speed and torque responses of IM for
DTC with PI controller. The speed is dropped by 2.43 % from the no load speed
when the full load is applied at 0.1 sec, the speed response is very smooth and
no ripple exists.
The peak to peak ripple values in the torque response are 0.68 N.m. at no
load, 0.68 N.m. at full load and 0.62 N.m. at medium load, and these valuse are
less than those of conventional DTC for the same case. The starting torque is
26.3 N.m. ; i.e. the starting torque is more than the obtained value of the
conventional DTC . Also, the speed respone has less overshoot when compared
with that in the conventional DTC, which has noticeable overshoot .

71

Chapter Three

System Implementation and Simulation Results

Figure 3.31 :Speed response.

Figure 3.32 :Torque response.

72

Chapter Three

System Implementation and Simulation Results

3.11 Simulation Results of DTC-SVM


The MATLAB/SIMULINK model of the DTC SV-PWM was shown in
Figure 3.10 .The scheme is simulated and compared to the classic one. The
conventional PI controllers are tuned manually by trial and error method. The
obtained gains are (k p = 3.4 , k i =1.25) for the speed ,(k p = 5000, k i =0.0004 ) for
the flux, and (k p = 150,k i =0.008) for the torque . This section studies the
responses of the speed and torque for DTC SV-PWM with switching frequency
equal to 1kHz and PI controller at different load and rated speed conditions.
Where the speeds and load torques values are selected as (130) rad/sec, for load
torques, they are (0, 7.4 and 3.7) N.m keeping the flux command constant
(1.22 Wb).
Figures (3.33) and (3.34) show the speed and torque responses of IM for
DTC with SV-PWM controller. The speed is dropped by 2.33% from the no
load speed when the full load is applied at 0.1 sec., the speed response is very
smooth .
The peak to peak ripple values in the torque response are 0.6 ,0.5,0.6 at no
load,7.4 N.m ,and 3.7 N.m respectively.These values are much more less than
those for conventional.The starting torque is equal to 11.4 N.m. and there is no
overshoot.

73

Chapter Three

System Implementation and Simulation Results

Figure 3.33 :Speed response.

Figure 3.34 :Torque response.

74

Chapter Three

System Implementation and Simulation Results

3.12 Simulation Results for CDTC Using Hardware/Software


Co-Simulation Xilinx Blocks
The DTC schemes, that are presented so far, are designed and simulated
using two Xilinx models to examine the different control algorithm. One is used
for the conventional DTC and the other is used for the modified DTC.
Figure 3.23 illustrated the conventional DTC using

Hardware/Software

Co-Simulation by Xilinx blocks. The graphs in Figure 3.36 and 3.37 depict the
response

of

the

conventional DTC system

for no load at

(0-0.1)sec.,

7.4 N.m.at (0.1-0.4)sec., and 3.7N.m. at (0.4-0.5)sec., the reference torque is 12


N.m at speed equal to 148 rad/sec.. The speed is dropped by 13 % from the no
load speed when the full load is applied at 0.1 sec.

Figure 3.35:d-q axis stator currents and three phase stator currents.
75

Chapter Three

System Implementation and Simulation Results

The peak to peak ripple values in the torque response are 3 ,3,2.8 at no load,7.4
N.m ,and 3.7 N.m ,respectively. The starting torque is equal to11.9 N.m.

Figure 3.36 :Speed response of IM for conventional DTC.

Figure 3.37: Torque response of IM for conventional DTC.


76

Chapter Three

System Implementation and Simulation Results

3.13 Simulation Results of DTC-PI Controller Using


Hardware/Software Co-Simulation
The conventional PI controller is tuned manually by trial and error method.
The obtained gains are k p = 3.3 and k i =0.3. This section studies the responses of
the speed and torque for DTC with PI controller at different load and rated speed
conditions. Where the speeds and load torques values are selected as
(130) rad /sec, for load torques they are (0, 7.4 and 3.7) N.m. Figure 3.24 shows
the

DTC

with

conventional

PI

controller

using

Hardware/Software

Co-Simulation and Xilinx blocks.


Figures 3.38 and 3.39 show the speed and torque responses of IM for DTC
with PI controller using Hardware/Software Co-Simulation. The speed is
dropped by 2.35% from the no load speed when the full load is applied at
0.1 sec.. The speed response is very smooth .
The peak to peak ripple values in the torque response are 0.69 ,0.7,0.68 at
no load,7.4 N.m ,and 3.7 N.m, respectivly. These valuse are much more less
than those for conventional.The starting torque is equal to 26.75 N.m. and there
is no overshoot .

77

Chapter Three

System Implementation and Simulation Results

Figure 3.38 :Speed response.

Figure 3.39 :Torque response.


78

Chapter Three

System Implementation and Simulation Results

3.14 Comparison among the Presented Controllers


In this section, a comparison is introduced among the obtained results of the
presented controllers that are used to enhance the conventional DTC technique.
Speed responses of IM are zoomed at different loads (no load, full load, half
load). DTC_PI trial and error with MATLAB/SIMULINK, DTC_SVPWM with
MATLAB/SIMULINK and DTC_PI using Xilinx FPGA controller are shown
together in Figure 3.40.

Figure 3.40 :Zoomed speed responses at = 130 rad/sec.


Figure 3.41 shows the torque response of IM for CDTC using
MATLAB/SIMULINK and Hardware/Software Co-Simulation. Figure 3.42
shows the torque response of IM for DTC-PI using MATLAB/SIMULINK and
Hardware/Software Co-Simulation. The starting torque is more than that in
CDTC because the reference torque is obtained by the speed controller without
saturation block to impose upper and lower limits. The effect of the limitter is
clearly shown in the torque response for DTC-SVM.
79

Chapter Three

System Implementation and Simulation Results

Figure 3.41 :Torque response of conventional DTC with Co-Simulation and


MATLAB/SIMULINK

Figure 3.42 :Torque response comparison.


80

Chapter Three

System Implementation and Simulation Results

Tables (3.1,3.2) demonstrate the values of torque ripple for rated speeds and
different loads.
Table (3.1) Torque responses of conventional DTC
No load

7.4 N.m.

3.7 N.m.

Controller

CDTC
MATLAB/SIM.

CDTC Xilinx
FPGA

CDTC
MATLAB/SIM.

CDTC Xilinx
FPGA

CDTC
MATLAB/SIM.

CDTC Xilinx
FPGA

Torque ripple
N.m.(peak to
peak)

2.7

2.8

2.65

2.8

Table (3.2) Torque responses at = 130 rad/sec.


No load

7.4 N.m.

3.7 N.m.

Controller

PI-DTC
MATLAB/
SIM.

DTCSVPWM

PI-DTC
Xilinx
FPGA

PI-DTC
MATLAB/
SIM.

DTCSVPWM

PI-DTC
Xilinx
FPGA

PI-DTC
MATLAB/
SIM.

DTCSVPWM

PI-DTC
Xilinx
FPGA

Torque
ripple
N.m.(peak
to peak)

0.68

0.6

0.69

0.68

0.5

0.7

0.62

0.6

0.68

Table 3.3 The ripple reduction in the torque at full load condition.

Full Load (7.4 N.m.)


Controller

CDTC MATLAB/SIMULINK

CDTC Xilinx FPGA

2.8

Torque ripple
N.m.(peak to
peak)

Controller

PI-DTC
MATLAB/SIM.

DTC-SVPWM

PI-DTC
Xilinx
FPGA

PI-DTC
MATLAB/SIM.

DTC-SVPWM

PI-DTC
Xilinx
FPGA

Torque ripple
N.m.(peak to
peak)

0.68

0.5

0.7

0.68

0.5

0.7

75%

77.33%

Ripple
75.71%
reduction

82.14%

81

83.33%

76.66%

Chapter Three

System Implementation and Simulation Results

From the obtained results, the DTC_SVPWM showed excellent results in


the steady state error especially at full loads and the low ripple when compared
with the other used techniques such as PI , and the conventional DTC, whereas
the latter showed high ripple, large overshoot and high steady state error at any
load condition.
Figure 3.43 shows the phase of the inverter output which connected to real
IM motor as shown in Figure 3.25.The following results obtained from the tests
in lab. for the stator currents and the voltages.

ia(A)

ib(A)

vb(V

va(V

vac(V)
vbc(V)
Figure 3.43 : The stator currents and voltages.
82

Chapter Four

Conclusions and Future Works

Chapter Four

Conclusions and Future Works


4.1 Conclusions
Direct Torque Control is supposed to be one of the best controllers for driving
any induction motor. Its principles and basic concepts have been introduced and
thoroughly explained. It is also demonstrated in the thesis that the method of direct
torque control also allows the decoupled control of motor torque and motor stator
flux. DTC has simple and robust control structure; however, the performance of
DTC strongly depends on estimation accuracy of the stator flux and motor torque.
DTC strategies have been divided into two groups: hysteresis-based switching
table DTC, and constant switching frequency schemes operating with space vector
modulators (DTC_SVPWM).

Several different methods for improving

conventional DTC can be described here.


The selection of the PI-controller gains by trial and error is inefficient and
consumes a long time. Using PI (trial and error) controller shows the improvement
in the speed and torque responses in terms of less steady state error, less torque
ripple , zero overshoot at different load conditions and less speed drop at the full
load .
From the obtained results, the SVPWM controller showed excellent results in
the steady state error especially at full loads when compared with the other used
techniques such as PI and the conventional DTC, whereas the latter showed high
ripple at the low speeds, large overshoot and high steady state error at any load
condition.

83

Chapter Four

Conclusions and Future Works

The thesis presented an effective way to design, simulate and implement


conventional and PI controller based DTC utilizing Xilinx FPGAs. All modules in
the system have been designed in fully generic VHDL code, which is independent
of the FPGA target implementation technology. All calculations in the modules are
conducted in twos complement fixed-point arithmetic with appropriate word sizes.
The choice of word sizes, the binary format and the sampling time used are very
important in order to achieve a good implementation of the estimators. The
simulation results of the DTC model in MATLAB/SIMULINK, which performed
double-precision calculations, are used as references to digital computations
executed in Xilinx FPGA implementation. The Hardware-in-the-loop (HiL)
method is used to verify the minimal error between MATLAB/ SIMULINK
simulation and the experimental results. The design, which was coded in
synthesizable VHDL code for implementation on Xilinx NEXYS2 Spartan 3E1200
FG320 device, has produced very good estimations, giving minimal errors when
being compared with MATLAB/Simulink double-precision calculations.

4.2 Suggestions for Future Works


This work can be extended and developed in future by using the following ideas:
1)
2)

Developing a completely experimental implementation of the DTC applied to


the induction motor utilizing Field Programmable Gate Arrays (FPGA).
Design a required interface circuit that connect the FPGA with both real
motor and the inverter

3)

Studying the torque ripple reduction with multilevel inverter.

4)

Investigating DTC at low speeds

84

References

References
[1] Andrzej M. Trzynadlowski, Control of induction motors, Academic Press,
San Diego, 2001.
[2] Fathalla Eldali, A comparative study between vector control and direct
torque control of induction motor using matlab Simulink ,thesis, Department
of Electrical and Computer Engineering ,For the Degree of Master of
Science,Colorado State University,Fall 2012.
[3] Altaf Ahmad Syed,Applied fuzzy logic controls for improving dynamic
response of induction machine, Youngstown State University ,Youngtown,
Ohio, August, 2008.
[4] I.Takahashi, T. Noguchi A New quick-response and high efficiency control
strategy of an induction machine , IEEE Trans. Ind. Appl., vol. 22, pp. 830832, 1986.
[5] Mr. Aung Zaw Latt, Dr. Ni Ni Win, Variable Speed Drive of Single Phase
Induction Motor Using Frequency Control Method, International
Conference on Education Technology and Computer, IEEE, 2009.
[6] Ali S. Ba-thunya Rahul Khopkar Kexin Wei Hamid A. Toliyat,Single Phase
Induction Motor Drives - A Literature Survey, Electric Machines & Power
Electronics Laboratory, IEEE, 2001.
[7] Zool Hilmi Ismail, Direct Torque Control of Induction Motor Drives Using
Space Vector Modulation (DTC-SVM), Master thesis, University
Technology Malaysia, 2005.
[8] Takahashi, I and Ohimori, Y., High-Performance Direct Torque Control of
an Induction Motor, IEEE Trans. Industry Applications, Vol. 25, pages 257264, March 1989.
[9] Bimal K. Bose, Modern Power Electronics and AC Drives, Prentice Hall
PTR, 2002.
[10] M. Depenbrock, Direct Self-Control (DSC) of Inverter-Fed Induction
Machine, IEEE Transactions on Power Electronics, Vol. 3, No. 4. October,
1988.
[11] Giuseppe S. Buja, and Marian P. Kazmierkowski, Direct Torque Control of
PWM Inverter-Fed AC Motors - A Survey, IEEE Trans On Ins Electronics,
50(4) 744-577 August , 2004.
85

References
[12] Peter Vas, Sensorless Vector and Direct Torque Control, Oxford University
Press, 1998.
[13] M.R.Hachicha, M.Ghariani, and R. Neji, Induction Machine DTC
Optimization Using Artificial Intelligence for EV's Applications, 8th
International Multi-Conference on Systems, Signals & Devices, IEEE, 2011.
[14] Kyo-Beum Lee, Joong-Ho Song, Ick Choy, and Ji-Yoon Yoo ,Torque Ripple
Reduction in DTC of Induction Motor Driven by Three-Level Inverter With
Low Switching Frequency, IEEE transactions on power electronics, VOL.
17, NO. 2, march 2002.
[15] Sanda Victorinne PATURCA, Aurelian SARCA, Mircea COVRIG A simple
method of torque ripple reduction for direct torque control of PWM inverter
fed induction machine drives ,Annals of the University of Craiova, Electrical
Engineering series, No. 30, 2006.
[16] G.Venkata Rama Krishra , Torque ripple reduction in DTC IM Drive by
using Fuzzy controller, thesis, 2007.
[17] Y, Li, J. Shao,. and B. Si, Direct torque control of induction motors for
low speed drives considering discrete effect of control and dead time of
inverters, in Conf. Rec. IEEE-lAS Annual Meeting, pp. 781-788,1997.
[18] Chuen Ling Toh, Nik Rumzi Nik ldris, Senior Member, IEEE and Abdul
Halim Mohd Yatim, Senior Member, IEEE ,Torque Ripple Reduction in
Direct Torque Control of Induction Motor Drives, IEEE National Power
and Energy Conference (PECon) ,2003 .
[19] J. Rodriquez, Jorge Pontt, C Selva and H. Miranda, A Novel Direct Torque
Control Scheme for Induction Machines With Space Vector Modulation,
IEEE Trans Power Electronic pp 1392-1397, 2004.
[20] X. Garcia, A. Arias, New DTC schemes for induction motors fed with a
three-level inverter, AUTOMATIKA, 46(2005), 1-2, 73-81.
[21] Vojkan Kostic, Milutin Petronijevic, Nebojsa Mitrovic, Bojan Bankovic ,
Experimental verification of direct torque control methods for electric drive
application , Facta Universitatis Series: Automatic Control and Robotics
Vol. 8, NO.1, pp. 111 - 126, 2009.
[22] Tsoutsas , Designing a Sensorless Torque Estimator for Direct Torque
Control of an Induction Motor,Thesis, Naval Postgraduate
School
Monterey, California, September 2009.
86

References
[23] Prof. V. S. Kamble, Prof. D. S. Bankar, Direct Torque Control of Induction
Motor with fuzzy logic for minimization of torque ripple, Proceedings of
International Conference on Energy Optimization and Control (ICEOC-20 I
0) December 28 - 30, 2010, Aurangabad, Moharashtra, India .
[24] Lassi Aarniovuori , Induction motor drive energy efficiency simulation and
analysis, Thesis, Lappeenranta University of Technology,Lappeenranta,
Finland on the 27th of August, 2010, at noon. ISSN 1456-4491
[25] Yongchang Zhang , and Jianguo Zhu , Direct Torque Control of Permanent
Magnet Synchronous Motor With Reduced Torque Ripple and Commutation
Frequency , IEEE Trans. Power Electron., VOL.26, NO. 1, Jan. 2011.
[26] Tole Sutikno, Nik Rumzi Nik Idris, Aiman Zakwan Jidin, Mohd Zaki Daud ,
FPGA Based High Precision Torque and Flux Estimator of Direct Torque
Control Drives, IEEE, Applied Power Electronics Colloquium (IAPEC),
2011.
[27] A. Alwadie,High Performance Predictive Direct Torque Control Of
Induction Motor Drives System, A. Alwadie / International Journal of
Engineering Research and Applications (IJERA) ,Vol. 2, Issue 6, pp.501512,November- December 2012.
[28] Er. H.G.Shah, Er.H.M.Karkar, Er. Mukesh K Kumawat, Induction Motor
Drive DTC Based FPGA , International Journal of advancement in
electronics and computer engineering (IJAECE) ,Volume 1, Issue1, April
2012, pp.51-55, ISSN 2278 1412.
[29] M.Sunil Kumar ,A.V.Naresh Babu , Implementation of Direct Torque
Control based on space vector modulation for induction motor, International
Journal of Emerging trends in Engineering and Development , Issue 2, Vol.6
(September 2012).
[30] K .Gopala Krishna, T. Kranthi Kumar, and P. Venugopal Rao, Better DC
Bus Utilization and Torque Ripple Reduction by using SVPWM for VSI fed
Induction Motor Drive, International Journal of Computer and Electrical
Engineering, Vol.4, No.2, April 2012.
[31] Obbu Chandra Sekhar ,Dr.Koritala Chandra,Torque ripple reduction in direct
Torque control Induction Motor drive using SVM and FLDRC,
SEKHAR,RECENT,Vol.14,no.1(37),March,2013.
[32] Tole Sutikno, Member, IEEE, Nik Rumzi Nik Idris, Senior Member, IEEE,
Auzani Jidin,Member, IEEE,and Marcian N. Cirstea, Senior Member, IEEE,
87

References

[33]

[34]

[35]

[36]
[37]
[38]
[39]
[40]

[41]

[42]
[43]

[44]

An Improved FPGA Implementation of Direct Torque Control for Induction


Machines, IEEE Transaction on Industrial Informatics, VOL. 9, NO. 3,
August 2013.
Maria Borgstrom , Case study of a Rapid Control Prototyping system based
on Xilinx System Generator , Masters Thesis at KTH/ICT and ABB AB,
2010.
C. Lascu, Ion Boldea, F. Blaabjerg, A modified Direct Torque Control
for Induction Motor Sensorless Drive, IEEE Trans. Ind. Appl., vol. 36, no.
1, Jan/Feb 2000.
D. Casadei, F. Profumo, G. Serra, A. Tani, FOC and DTC: Two Viable
Schemes for Induction Motors Torque Control , IEEE Transaction on Power
Electronics, Vol. 17, No. 5, pp. 779 787, Sept. 2002.
Rui Esteves Arajo , Induction Motors Modelling and Control ,
Copyright 2012 InTech.
B. Ozpineci, L. M. Tolbert, Simulink implementation of induction machine
model A Modular approach, IEEE, 2003, pp 728-734.
Adel Aktaibi , Daw Ghanim, M. A. Rahman, Dynamic simulation of three
phase induction motor using matlab , IEEE, Canada,2002.
Okoro, O.I., Dynamic and thermal modeling of induction machine with nonlinear effects, Dissertation, University of Kassel, Germany, September 2002.
K.L. SHI, T.F. CHAN, Y. K.WONG and S.L.HO, Modelling and Simulation
of three-phase induction motor using simulink , Int. J. Engng Ed.Vol. 19, No.
4, pp. 646654, 2003.
Alnasir, Z.A. et al., Design of Direct Torque Controller of Induction Motor
(DTC), International Journal of Engineering and Technology (IJET), ISSN :
0975-4024, Vol 4 No2 Apr-May 2012.
Perelmuter, V. Three level inverters with direct torque control , IEEE Proc.
on Industry Applications, pp. 1368-1373, 2000.
K.Taniguchi, Y. Ogino, H. Irie, PWM Technique for Power MOSFET
Inverter , IEEE Transactions on Power Electronics, Vol. 3, No. 2, p.p.328334, July 1988.
Atif Iqbal, Adoum Lamine, Imtiaz Asharf and Mohibullah,
MATLAB/SIMULINK model of space vector pwm for three-phase
voltage source inverter, IEEE in Proc UPEC, p. 1096-1100, 2006.
88

References
[45] Adamidis Georgios, and Zisis Koutsogiannis , Direct Torque Control using
Space Vector Modulation and Dynamic Performance of the Drive, via a
Fuzzy Logic Controller for Speed Regulation, IEEE, 2001.
[46] Vieri Xue, MCU SAE Team, Center-Aligned SVPWM Realization for 3Phase 3- Level Inverter, Application Report SPRABS6, October 2012.
[47] Phuong Hue Tran, MATLAB_Simulink Implementation and Analysis of
Three Pulse-Width-Modulation (PWM) Techniques , Master thesis, Boise
State University, May 2012.
[48] M. Giesselmann, H. Salehfar, H.A. Toliyat, and T.U. Rahman, Modulation
Strategies, CRC Press LLC, 2002.
[49] Heinz Willi Van Der Broeck, Hans-Christoph Skudelny,and Georg Victor
Stanke, Analysis and Realization of a Pulse width Modulator Based on
Voltage Space Vectors, IEEE Transaction on Industry Applications ,Vol.
24,No.1 ,January/February 1988.
[50] E.Hendawi, F. Khater, and A. Shaltout, Analysis, Simulation and
Implementation of Space Vector Pulse Width Modulation Inverter,
International Conference on Application of Electrical Engineering, pp. 124131, 2010.
[51] B. Wu., High-Power Converters and AC Drives, IEEE Press, John Wiley
and Sons, Inc., 2006.
[52] Ozkan Akin,Irfan Alan, The use of FPGA in field-oriented control of an
induction machine, Turk J Elec Eng & Comp Sci, Vol.18, No.6, 2010.
[53] D. Seyoum, D. McKinnon, M. F. Rahman, & D, Grantham, Offset
Compensation in the Estimation ofFlux in Induction Machines, Industrial
Electronics Society, vol. 2, November 2003, IEEE0-7803-7906/03.
[54] Adam John Wigington , A Comparison of Induction Motor Starting Methods
Being P owered by a Diesel-Generator Set , Electrical Engineering Theses
and Dissertations. Paper 8,(2010).
[55] N. R. N. Idris and A. H. Yatim, Reduced torque ripple and constant torque
switching frequency strategy for induction motors, in Proc. IEEE APEC00,
2000, pp. 154161.
[56] Ibrahim Rakad Nusair, Comparison Between PWM and SVPWM ThreePhase Inverters in Industrial Applications ,Master thesis, Youngstown, Ohio
December, 2012.
89

References
[57] Xilinx
system
generator
user
guide.
Website,December
2009 http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/sys
gen_user.df.
[58] Muhd Zharif Rifqi Zuber Ahmadi, Auzani Jidin, Mohd Razali Mohamad
Sapiee*, Md Nazri Othman, Ravin Nair P.Nagarajan, M.H Jopri*, Digital
Implementation of Direct Torque Control of Induction Machines, IEEE 7th
PEOCO,Langkawi,Malaysia.3-4June 2013.

90

Appendix A

IM design parameters

Appendix-A
A.1 SquirrelCage Induction Motor, 3-phase, 400 volt, 50 Hz, 1.1 KW.
U

Item

Value

Rated power

1.1 Kw

Nominal frequency

50 Hz

Rated voltage (L-L)

400 V

No. of pole pairs

Rated speed

1410 rpm

Stator resistance

9.25

Rotor resistance

4.51

Stator self-inductance

306.6 mH

Rotor self-inductance

306.6 mH

Mutual inductance

290 mH

Moment of inertia

0.01 Kg.m2 /sec

DC voltage

600 V

Rated torque

7.4 N.m

Appendix A

IM design parameters

A.2 Clarks Transformation


U

This can be done by using the following two equations:


1
v
2
v =
3

va
2
vb
3

vc
2

2
3
2

Transforming to a rotating reference frame from a stationary reference can be

done by using the following transformation:


vd

v =
q
sin

sin v

v

is the angle of rotation, and is calculated as the integral of the rotational speed
where 0 is the initial angle offset

: = dt + 0 (rad)
R

The instantaneous values of stator and rotor currents in three-phase system are
estimated by using the following transformation:

i =
sin

sin id

1
0
1 3
ia
i
2
i b = 2
2
i
3
1
3
ic
2 2

Appendix B

Appendix-B
B.1 The IM Parameter code
U

clear;clc;
vdc=600;f=50; wb=2*pi*f;we=wb;Sb =0.055;
rs=9.25;rr=4.51; Ls=306.6e-3;Lr=306.6e-3;Lm=290e-3;P=4;J=0.01;
wbm = 2*wb/P;
Xls=wb*Ls;Xlr=wb*Lr;Xm=wb*Lm;
xM=1/(1/Xm + 1/Xls + 1/Xlr);Rs=rs;Rr=rr;
Xls = wb*Ls; Xlr = wb*Lr; Xm =wb*Lm;
H = J*wbm*wbm/(2*Sb);Domega =0.0025;B=Domega;
a=[rs rr Ls Lr Lm P/2 J];
Ts=5e-6;Ts_DTFC=10*Ts;
kp=2.2;ki=0.001;
fs=1/Ts;kpt=145;kit=0.0008;kpf=5000;kif=0.0004;

B.2.1 Electrical Function Sub-model of Induction Motor for


Figure 3.1
U

The electrical function sub-model of the induction motor is achieved using


the following m-file code:
function Is1=lectric(va,vb,vc,wr,ids,iqs,idr,iqr,a)
% a=[rs rr Ls Lr Lm P/2 J];
vq=(2/3)*[1 -1/2 -1/2]*[va vb vc]';
vd=(2/3)*[0 -sqrt(3)/2 sqrt(3)/2]*[va vb vc]';
v1=[vd,vq,0,0]';
v=[a(1) 0 0 0;0 a(1) 0 0;0 a(6)*wr*a(5) a(2)
a(6)*wr*a(4);-a(6)*wr*a(5) 0 -a(6)*wr*a(4) a(2)]*[ids
iqs idr iqr]';
V=v1-v;
L=[a(3) 0 a(5) 0;0 a(3) 0 a(5);a(5) 0 a(4) 0;0 a(5) 0
a(4)];
Is1=L\V;
end

Appendix B

II

B.2.2 Mechanical Function Sub-model of Induction Motor for


Figure 3.1
U

The mechanical function sub-model of the induction motor is achieved


using the following m-file code:
function[I_abc,Te,wre]=TorqueSpeed(ids,iqs,idr,iqr,TL
,a)
Te=(iqs*idr-ids*iqr)*(3*a(6)*a(5))/2;
wre=(Te-TL)*2*a(6)/a(7);
I_abc=[1 0; -1/2 -sqrt(3)/2; -1/2 sqrt(3)/2]*[iqs
ids]';
end

B.3 Clarks transformation for Figure 3.2


U

The following m-file code of the MATLAB SIMULINK function block is


used for the Clarks transformation
function[vq,iq,vd,id]=Clark_Transformation(va,vb,vc,i
a,ib)
vq=(2/3)*[1 -1/2 -1/2]*[v a v b v c ]';
vd=(2/3)*[0 -sqrt(3)/2 sqrt(3)/2]*[v a v b v c ]';
ic=ia+ib;
iq=(2/3)*[1 -1/2 -1/2]*[i a i b -i c ]';
id=(2/3)*[0 -sqrt(3)/2 sqrt(3)/2]*[i a i b -i c ]';
end
R

B.4 Estimators for Figure 3.2


U

1.The MATLAB function used to generate the sector number ,stator flux
and electromagnetic torque is:
function[sector,Flux,Te]= SFT_estimators(Fq,Iq,Fd,Id)
P=4;
Te=(3*P/4)*(Fd*Iq-Fq*Id);
Flux=sqrt(Fq*Fq+Fd*Fd);
sector = 0;
theta=(180/pi)*atan2(-Fd,Fq);
if theta > -30 && theta <= 30
sector = 1;
end
if theta >30 && theta <=90
sector = 2;
end

Appendix B

III

if theta >90 && theta <=150


sector = 3;
end
if theta > 150 || theta <=-150
sector = 4;
end
if theta > -150 && theta <=-90
sector = 5;
end
if theta > -90 &&theta <= -30
sector = 6;
end
2.The following m-file code of the MATLAB/SIMULINK for Figure 3.3
function dF = FLUX_CONTROLLER(Efe)
F_bw=0.028;a=-1;
if Efe >= F_bw/2
a=1;
end
if Efe<=-F_bw/2
a=-1;
end
dF=a;
end
3.The following m-file code of the MATLAB/SIMULINK for Figure 3.4
function dT

= TORQUE_CONTROLLER(Ete)

d=0;T_bw=0.35;
if Ete >= T_bw/2
d=1;
end
if Ete<= -T_bw/2
d=-1;
end
if Ete<=T_bw/2 && Ete>-T_bw/2
d=0;
end
dT=d;
end

Appendix B

IV

B.5 SWITCHINGTABLE code for Figure 3.5


U

The following m-file code of the MATLAB SIMULINK function block is used
for the look-up table
function [Sa,Sb,Sc]=SWITCHINGTABLE(dT,dF,Sector)
%function
[S1,S2,S3,S4,S5,S6]=SWITCHINGTABLE(dT,dF,Sector)
vector=0;Sa=0;Sb=0;Sc=0;%S2=0;S4=0;S6=0;
switch dF %dF = 1
case 1
switch dT
case 1
switch Sector % dF = 1, dT = 1
case 1
vector = 2;
case 2
vector = 3;
case 3
vector = 4;
case 4
vector = 5;
case 5
vector = 6;
case 6
vector = 1;
end
case 0
switch Sector % dF = 1, dT = 0
case 1
vector = 0;
case 2
vector = 7;
case 3
vector = 0;
case 4
vector = 7;
case 5
vector = 0;
case 6
vector = 7;
end
case -1

Appendix B

V
switch Sector % dF = 1,dT =-1
case 1
vector = 6;
case 2
vector = 1;
case 3
vector = 2;
case 4
vector = 3;
case 5
vector = 4;
case 6
vector =5;
end

end
case -1 %dF =-1
switch dT
case 1
switch Sector % dF =-1, dT = 1
case 1
vector = 3;
case 2
vector = 4;
case 3
vector = 5;
case 4
vector = 6;
case 5
vector = 1;
case 6
vector = 2;
end
case 0
switch Sector % dF =-1, dT = 0
case 1
vector = 7;
case 2
vector = 0;
case 3
vector = 7;
case 4
vector = 0;
case 5
vector = 7;

Appendix B

VI
case 6
vector = 0;

end
case -1
switch Sector % dF =-1,dT =-1
case 1
vector = 5;
case 2
vector = 6;
case 3
vector = 1;
case 4
vector = 2;
case 5
vector = 3;
case 6
vector = 4;
end
end
end
% Select switch positions
switch vector
case 0
Sa=0;Sb=0;Sc=0;%S2=1;S4=1;S6=1;
case 1
Sa=1;Sb=0;Sc=0;%S2=0;S4=1;S6=1;
case 2
Sa=1;Sb=1;Sc=0;%S2=0;S4=0;S6=1;
case 3
Sa=0;Sb=1;Sc=0;%S2=1;S4=0;S6=1;
case 4
Sa=0;Sb=1;Sc=1;%S2=1;S4=0;S6=0;
case 5
Sa=0;Sb=0;Sc=1;%S2=1;S4=1;S6=0;
case 6
Sa=1;Sb=0;Sc=1;%S2=0;S4=1;S6=0;
case 7
Sa=1;Sb=1;Sc=1;%S2=0;S4=0;S6=0;
end

Appendix B

VII

B.6 abc2dq transformation in sv-pwm for Figure 3.11


U

function [Vref,ang] = abc2qd(Vqs ,Vds,teta )


%function [vabc,va,vb,vc] = fcn(vq ,vd,teta )
ia=Vds*cos(teta)-Vqs*sin(teta);
ib=Vds*sin(teta)+Vqs*cos(teta);
va=[2/3 0]*[ia ib]';vb=[-1/3 -sqrt(3)/3]*[ia
ib]';vc=[-1/3 sqrt(3)/3]*[ia ib]';
Vqs=(2/3)*[1 -1/2 -1/2]*[va vb vc]';
Vds=(2/3)*[0 -sqrt(3)/2 sqrt(3)/2]*[va vb vc]';
Vref=sqrt(Vqs^2+Vds^2);
ang=atan2(Vds,Vqs);
end
B.7 sv-pwm code for Figure 3.12
function [Sa,Sb,Sc] = SV_PWM(ramp,Vref,Tz,ang,Vdc)
%Tz=1/(1.2e3);
%Tz=1.333;
fu=sqrt(3)*Tz*Vref/Vdc;
angle=(180/pi)*ang;
sect = 0;
%if theta <=0 theta=360-abs(theta);end
if angle > 0 && angle <= 60
sect = 1;
end
if angle >60 && angle <=120
sect = 2;
end
if angle >120 && angle <=180
sect = 3;
end
if angle > -180 && angle <=-120
sect = 4;
end
if angle > -120 && angle <=-60
sect = 5;
end
if angle > -60 && angle <= 0
sect = 6;
end
Ta=fu*(sin(sect*pi/3)*cos(ang)cos(sect*pi/3)*sin(ang));
Tb=fu*(cos((sect-1)*(pi/3))*sin(ang)-sin((sect1)*(pi/3))*cos(ang));
U

Appendix B

VIII

to=Tz-Ta-Tb;
To=to/2;
T1=(sect==1)*(To+Tb+Ta)+(sect==6)*(To+Tb+Ta)+(sect==2
)*(To+Ta)+(sect==3)*(To)+(sect==4)*(To)+(sect==5)*(To
+Tb);
T2=(sect==6)*(To)+(sect==1)*(To+Tb)+(sect==2)*(To+Tb+
Ta)+(sect==3)*(To+Tb+Ta)+(sect==4)*(To+Ta)+(sect==5)*
(To);
T3=(sect==6)*(To+Ta)+(sect==1)*(To)+(sect==2)*(To)+(s
ect==3)*(To+Tb)+(sect==4)*(To+Tb+Ta)+(sect==5)*(To+Tb
+Ta);
Sa=0;Sb=0;Sc=0;
if T1>=ramp
Sa=1;
end
if T2>=ramp
Sb=1;
end
if T3>=ramp
Sc=1;
end
Sa;
Sb;
Sc;

Appendix C

Appendix-C
C.1 Setup photo
U

Figure C.1: Xilinx NEXYS2 Spartan 3E Kit

(a)

(b)

Figure C.2: Control circuit and induction motor (a)OFF.

(b) ON

Appendix C

II

C.2 Hardware/Software Co-Simulation and (HiL) steps


U

(a)

(b)

(c)

Figure C.3 : (a)HiL steps (b) FPJA running (c)FPGA result

Appendix D

Appendix-D
D.1 Software Co-Simulation
U

The ISE steps to transform the models built using Simulink into hardware
shown below :
1.Step1

2.Step2

Appendix D
3.Step3

4.Step4

II


. DTC ( hysteresis
) comparators ) . ( voltage vector

hysteresis bands .
) (DTC
) .(switching .
) (PI
.
) (space vector
. ) (voltage vector
).(voltage vector modulator
) (DTC
) (FPGA MATLAB/ Simulink XILINX
. blocksets DTC XILINX FPGA
DTC . VHDL
MATLAB/ Simulink.
.XILINX FPGA .
.

XILINX FPGA

DTC
DTC-SVM .MATLAB/ Simulink

.
MATLAB/Simulink

) 7.13.0.564(R2011ba. XILINX ISE Design 14.2

2014

Vous aimerez peut-être aussi