Professional Documents
Culture Documents
I.D: 09711107
AUTHOR:
DATE: SUPERVISOR:
ST
31 MAY 2002 DR W.W.L KEERTHIPALA
DEGREE: OPTION:
ABSTRACT:
This thesis presents the simulation of a Field Orientated Control of a Multi level PWM
Inverter fed induction motor system and its implementation in terms of programming and
code in a real time operating system. Field Orientated Control allows precise
controllability and excellent transient behaviour when used to control an induction motor
by manipulating the angle and amplitude of the torque and speed producing current
vectors. A closed loop feedback control system is employed to give the system stability
and rapid response. The implementation of software code for the vector algorithms
through a rapid phototyping interface will also be investigated in this project.
INDEXING TERMS:
Field Orientated Control, Vector Control, Direct axis, Quadrature axis, Park
transformation, Clarke Transformation, Beta estimation, DSP, Rapid prototyping.
GOOD AVERAGE POOR
TECHINICAL WORK
REPORT PRESENTATION
EXAMINER:
CO-EXAMINER:
Prof. A Zoubir
Head of School
Electrical and Computer Engineering
Curtin University
Please find attached the project thesis titled “Field Oriented Control of a multi-level PWM
Inverter Fed Induction Motor” for the partial completion of the Bachelor Degree of
Electrical Engineering.
Yours Faithfully
Jason Monzu
09711107
Table of Contents
NOMENCLATURE........................................................................................................... IX
CHAPTER 1 ..........................................................................................................................1
1 INTRODUCTION.........................................................................................................1
1.1 BACKGROUND ..........................................................................................................1
1.2 PROJECT OBJECTIVE .................................................................................................2
1.3 PAST INVESTIGATIONS .............................................................................................3
CHAPTER 2 ..........................................................................................................................5
2 THEORY REVIEW......................................................................................................5
2.1 THREE PHASE INDUCTION MOTOR.............................................................................5
2.2 FIELD ORIENTATED CONTROL................................................................................12
2.2.1 Field Orientated Control overview ..................................................................12
2.2.2 Motor Transformation Algorithms...................................................................16
2.2.2.1 Clarke Transformation .............................................................................16
2.2.2.2 Park Transformation ................................................................................17
2.2.2.3 Beta Estimation ........................................................................................20
2.2.3 Field Oriented Control Principal.....................................................................21
2.3 CURRENT FEEDBACK IN AC VARIABLE SPEED DRIVES ...........................................24
2.3.1 Methods of measuring current .........................................................................24
2.3.2 Current feedback in high performance Vector Drives.....................................25
2.4 SPEED FEEDBACK IN AC VARIABLE SPEED DRIVES ................................................26
2.4.1 Analogue Speed Transducer ............................................................................26
2.4.2 Digital Speed Transducer ................................................................................26
2.4.3 Digital Position Transducers ...........................................................................27
2.5 DIGITAL SIGNAL PROCESSORS IN AC VARIABLE SPEED DRIVES .............................28
2.6 PWM 5 LEVEL INVERTER .....................................................................................30
2.6.1 Full Bridge PWM Inverter Topology ...............................................................31
2.6.2 PWM Control ...................................................................................................33
2.6.3 Five Level PWM Inverter .................................................................................34
CHAPTER 3 ........................................................................................................................37
5 PHYSICAL IMPLEMENTATION...........................................................................62
5.1.1 Current Sensing................................................................................................62
5.1.1.1 HCPL-788J Optocoupler..........................................................................63
5.1.2 Speed sensor.....................................................................................................65
CHAPTER 6 ........................................................................................................................66
8 CONCLUSION............................................................................................................94
8.1.1 Summary...........................................................................................................94
8.1.2 Recommendations for future work ...................................................................95
9 REFERENCES............................................................................................................97
10 APPENDICES .......................................................................................................102
10.1 APPENDIX A - PSCAD SYSTEM BLOCK DIAGRAMS .............................................103
10.2 APPENDIX B - PSCAD OUTPUT WAVEFORMS ......................................................104
10.3 APPENDIX C - AUTOCAD SYSTEM PLOTS ............................................................105
10.4 APPENDIX D - TEXAS INSTRUMENTS TMS320C55 DATA SHEETS........................106
10.5 APPENDIX E - C PROGRAM CODE ........................................................................107
10.5.1 PI controller ...............................................................................................108
10.5.2 System routine ............................................................................................108
10.5.3 Convert phase current into i_alpha and i_Beta.........................................109
10.5.4 Transformation into rotating reference frame ...........................................109
10.5.5 rotor model in rotor flux coordinates ........................................................109
10.5.6 calculation of flux.......................................................................................109
10.5.7 Slip .............................................................................................................109
10.5.8 Angle of flux ...............................................................................................110
10.5.9 Speed control..............................................................................................110
10.5.10 Current control ..........................................................................................111
10.5.11 Back transformation into stator coordinates .............................................111
10.5.12 Calculation of u_alpha and u_Beta ...........................................................112
10.5.13 Calculation of times for space vector modulation .....................................112
10.5.14 Transfer data to modulator ........................................................................112
10.6 APPENDIX F - TYPICAL TORQUE CHARACTERISTICS FOR INDUSTRIAL MACHINERY112
List of Figures
Figure 2-8: 2 variable rotating space vector at 60 degrees in the excitation frame ...........18
Figure 2-10: FOC scheme for an AC-motor showing Park and Clarke Transformations ..22
Figure 3-1: Step response (10-25Nm) of torque control loop with ids as reference at 2100
Figure 3-2: Step response (0.34-0.2 Wb) of flux control loop with ids as reference at 2100
Figure 3-3: Step response (0.34-0.2 Wb) of the flux loop for torque and flux loops at 2100
Figure 3-4: Step response (10-25Nm) of the flux loop for torque and flux loops at 2100
Figure 3-5: Step torque modification for both PI and FL controllers. [18]........................48
Figure 5-2: Torque control loop -Rotor Flux and Beta estimations....................................55
Figure 8-5: abc to d-q voltage transformation block diagram (Appendix A).....................77
Figure 8-6: abc to d-q current transformation block diagram (Appendix A)......................78
Figure 8-7: d-q to D-Q current transformation block diagram (Appendix A) ....................79
Figure 8-8: IDSe and IQSe in the excitation frame (Appendix B) .......................................80
Figure 8-9: Dot product of IDSe and IQSe equals zero. (Appendix B) ..................................81
Figure 8-13: New Beta estimation including Theta measurement (Appendix B) ................86
Figure 8-15: Comparison between calculated torque Vs. measure torque over 1 sec
List of Tables
NOMENCLATURE
e - Excitation frame
J - Moment of Inertia
PI controller respectively
ω - Motor Speed
LR - Rotor Inductance
LS - Stator Inductance
RR - Rotor Resistance
RS - Stator Resistance
CHAPTER 1
1 Introduction
1.1 Background
relationship in space of the air gap magnetic flux to the rotor current. From fundamental
mathematics, a vector represents both the magnitude and direction of a variable, such as
voltage or current. This type of AC variable speed drive gets it name from the fact that the
system attempts to separately measure and control the two vector components that make up
the overall stator current of the motor. Specifically, it attempts to measure and control the
commutator determines the position of the armature current in relation to the flux giving
control over the torque of the motor. It is this aspect of the DC motor that makes precise
In an induction motor the rotating flux is responsible for setting up the rotor current and the
relationship between them is a function of the slip and certain other variables. This makes
controllability a more delicate process that requires some form of closed loop control
system to modify the field vectors of the motor. This closed loop system that modifies
vector components of the motor is what is known as Vector Control. Due to the vast
frequently to control the speed and the torque of the induction motor.
In applications with high dynamic requirements, where speed or load change rapidly, a
better form of control is necessary. The dynamic response has to be at least 10 times better
than that provided by standard variable voltage variable frequency drives. In the past, DC
drives have been effectively used for these difficult applications because of their inherent
ability to separately and directly control speed and torque. However, the high maintenance
Control has evolved to provide a level of dynamic performance for AC drives which is
DSP refinement the capabilities and knowledge are now accessible to allow greater control
The primary objective of this thesis was to simulate and test a Vector Control system with
the intent to produce some physical implementation. This thesis is based on the
continuation of past Field Orientated Control projects and provides corrections and
information of all sensors and equipment along with a complete blueprint of the Control
System. This blueprint was constructed in such a way that it allows for the progression of
this project in years to come. A large component of the implementation is the code
associated with the algorithms and the control system. A detailed prototype design of a
Field Orientated Control system was produced in the C programming language but has not
been tested. As a secondary objective the project will also cover areas of Vector Control
This section discusses the problems encountered with precious project and the limitations
Initially the project required a great deal of refinement in terms of motor parameter values
and general system simulation setup. The values of inductance and resistance’s were
determined based on comparison to other similar models as the values obtained from
previous work were inconclusive. This led to the induction motor model and all
transformations being reconstructed to allow for the desired change to generate the
Problems were also encountered in the Beta estimation schematic from the previous
project. A solution to this was the construction of a new rotor flux estimation to conform
with the new design and the respective changes. The value of rotor position angle theta was
discovered to be incorrect also due to the induction motor setup. This problem generated
incorrect values of current and voltage as the value Beta is used in many of the torque and
Considerable consideration into choice of Digital Signal Processors concluded that the use
of the TMS320C40 DSP was not financially viable. The actual DSP chip was but the
problem occurred in the creation of an evaluation board to allow the computer to program
the DSP with the appropriate algorithms. To purchase or built a specific board was not
within the university budget, therefore a financially viable alternative was found that
allowed greater flexibility and reduced costs. The solution was to simulate the Vector
Control system using a real time operating system RTAI in a LINUX environment with the
Therefore on this basis a chapter was added to the project with deals with the real time
control of an induction motor based on a PC rather than a DSP. The Texas instruments
TMS320 DSP will still be an important focus on the project and if budget constraints do
not apply can be implemented in future projects. Therefore data sheets and information is
CHAPTER 2
2 Theory Review
For industrial and mining applications the 3-phase AC induction motor is the prime mover
for the vast majority of machines and processes. The beauty of such a device is that it can
be operated directly from the mains or controlled by adjustable frequency drives such as
PWM inverters. The importance of the AC induction motor to the economy is paramount
as they are used in more than 90% of all motor applications for example driving pumps,
fans, compressors, mixers, mills, conveyors and crushers. The popularity of such a motor
stems to its simplicity, reliability and low cost making it a very economically viable
choice. To clearly understand how a Vector Control system works it is essential to firstly
The stator and rotor are each comprised of an electrical circuit made of insulated copper or
aluminium to carry current and a magnetic circuit usually made of laminated steel to carry
magnetic flux.
The stator the outer stationary part of the motor consists of an outer cylindrical frame, a
magnetic path and insulated electrical windings. The outer cylindrical frame is made of
some metal alloy which incorporates and mountings or support brackets. The magnetic
path is comprised of a set of slotted steel laminations pressed into the cylindrical space
inside the outer frame which is laminated to reduce eddy currents and hence reduce losses.
The insulated electrical windings are placed inside the slots of the laminated magnetic path
The rotor or rotating part of the motor consists of a set of slotted steel laminations pressed
together in the form of a cylindrical magnetic path and the electrical circuit. In the case of
this project specifically the squirrel cage induction motor is used as opposed to the wound
rotor type. This type of AC induction motor is comprised of a set of copper or aluminium
bars installed into the slots which are connected to an end ring at each end of the rotor.
Thus the construction of this type of motor resembles a cage hence the name “squirrel
cage” motor. The aluminium rotor bars are in direct contact with the steel laminations but
the rotor current tends to flow through the aluminium bars not the laminations.
supply induces a 3-Phase alternating current to flow in the stator windings. The presence
of these currents establishes a fluctuating magnetic flux that rotates around inside the
stator. This speed of rotation in synchronization with the frequency is named the
synchronous speed. In its simplest form the induction motor consists of 3 fixed stator
windings spaced 120 degrees apart. The flux completes one rotation for every cycle of the
supply voltage and so on a 50Hz power supply the stator flux rotates at a speed of 50
revolutions per second or equivalently 3000 RPM. Therefore the number of poles of the
motor is inversely proportional to its operating speed. The synchronous speed is a function
of the number of poles of the motor and the supply frequency as shown in the relationship
below,
n0 = f × 120
p
p Number of poles
Initially the voltage supplied from the magnetic field created by the stator current induces a
current flow in the rotor bars. The rotating stator magnetic flux passes from the stator iron
path, across the air-gap between the stator and rotor and penetrates the rotor iron path.
Therefore as the magnetic field rotates the lines of flux cut the rotor conductors and
consistent with Faraday’s law induces a voltage in the rotor windings which is relative to
the rate of change of flux. A magnetic field is set up by the current flow through the rotor
bars which is attributed to the short circuiting of the rotor bars by the end rings. It is this
magnetic field that interacts with the rotating stator flux to produce the rotational force and
in accordance with Lenz’s law the rotor will accelerate to flow in the direction of rotating
flux.
In the case of starting, the rotor is stationary and the magnetic flux cuts the rotor at
synchronous speed therefore inducing the highest rotor voltage and rotor current. As the
motor builds up speed the rate at which the magnetic flux cuts the rotor winding reduces
and therefore the induced rotor voltage decreases proportionally along with the frequency
of the voltage and current. Generally as the rotor speed becomes closer to the synchronous
speed the magnitude and frequency of the rotor voltage decreases showing a directly
proportional relationship. Therefore the closer the relationship between the synchronous
speed and the rotor speed the lesser the induced voltage and current in the rotor would be
and consequently the lower the rotor current the less torque produced by the motor.
Therefore for the motor to produce torque it must rotate at a speed slower or faster than the
synchronous speed. The speed of the rotor is called the slip speed and the difference in the
speed between the synchronous speed and the rotor speed is called the slip. Based on this
information the torque of an AC induction motor is a function of the slip and the amount of
slip is determined by the load torque which is the torque required to turn the rotor shaft.
As the shaft torque increases, the slip increases and more flux lines cut the rotor windings,
which in turn increases the rotor current and consequently the rotor magnetic field and
ultimately the rotor torque. A typical percentage variation for slip is approximately 1% of
(n0 − n)
slip = s =
n0
n0 = 120 f
p
s = Slip in per-unit
f = Frequency
manner that simplifies the system for calculations and observations, hence the equivalent
circuit model was constructed. The model varies in complexity and construction
depending on the type of induction motor and the range of parameters involved.
I1 = Stator current
I2 = Stator current
R2 = Rotor resistance
Xm = Magnetizing inductance
Rc = Core losses
When choosing a motor to suit a certain application or load the primary considerations are
with respect to the torque and speed of the motor. The torque speed curve of an AC
induction motor can be determined using the equivalent circuit model and various
equations.
T=P
ω
ω = 2πn 60
Where T = Torque
P = Mechanical Power
n = speed of shaft
Figure 2-2 [2] is a typical example of a torque Vs. speed curve for an induction motor:
On starting the torque must exceed the load breakaway torque for the induction motor to
pull away and thereafter the motor accelerates providing the motor torque always exceeds
the load torque. As the speed increases the torque will approach maximum level as seen in
the above characteristics then passing this point the torque is reduced as the speed
increases until the motor stalls. In reference to the torque-speed curve the final drive
speed stabilizes at the point where the load torque exactly equals the motor output torque.
In the instance where the load torque was to increase, the motor speed would in turn
decrease creating an increase in slip and stator current, hence the motor torque would
Field orientated control is the process of obtaining precise controllability over an induction
motor fed by a multilevel PWM inverter by manipulating the angle and amplitude
components of the stator field. The actual process involves a number of detailed
and speed dependent system into a two co-ordinate time invariant system. Basically it
and simplifying the necessary variables for torque and speed control. The basis of the
control system is that stator current is referenced with respect to a synchronously rotating
frame and the torque (q) and flux components (d) aligned respectively to give
instantaneous controllability. Below depicts a ideal vector system for Field Orientated
Control [19],
The previous figures display the vector diagrams associated with the division of the stator
current in accordance with the d and q axis. Therefore this approach allows simple and
maintain direct torque control. This is achieved in accordance to the following relationship
m ∝ ψ R i Sq
Where m = Torque
ψR = Rotor flux
In essence the above relationship states that m and ψR iSq are directly proportional to each
other. Consequently maintaining a constant value of rotor flux will give a direct linear
relationship between the torque and torque component (iSq) allowing precise control by
motor, namely the voltage currents and fluxes. Each phase of the stator current is
separated into it relative vector of the form ia, ib and ic. The complex stator current vector
is then determined using these three instantaneous stator currents and is represented as
follows [15],
Where
is = ia + αib + α 2ic
2 4
j π j π
α =e 3
α2 = e 3
The following diagram shows the stator current complex space vector [15],
The system now has to be transformed from the 3-phase rotating current state into a 2-
variable time invariant co-ordinate system, which are equivalent to the armature and field
currents of a DC motor. The transformation from this state is performed using the Clarke
and Park transformations with each step being performed independently with the intention
of reversibility.
The intention of the Clarke Transform is to perform the first phase of the 2-variable
transformation by converting the 3-phase currents ia, ib and ic into an orthogonal reference
frame iqss and idss [15], These components are the in reference to the stator frame. The
diagram is as follows,
This vector can now be represented in terms of a matrix equation to obtain a value for isα
and isβ in terms of the 3-phase phasor currents, this relationship is as follows,
⎡ 1 1 ⎤
⎢1 − 2 −
2 ⎥ ⎡i ⎤
⎡ I ds s ⎤ ⎢ 3
⎥ as
− 3 ⎥⎢ ⎥
⎢ s ⎥ = ⎢0 ibs
⎢⎣ I qs ⎥⎦ ⎢ 2 2 ⎥⎢ ⎥
⎢1 1 1 ⎥ ⎢⎣ics ⎥⎦
⎢ ⎥
⎣ ⎦
The Park transformation is the most integral part of the control algorithm. It is the process
of converting the 2-variable iqss and idss system into another 2-variable D and Q rotating
reference frame. The vector diagram displays the d axis aligned with the motor flux and θ
representing the motor rotor flux angle. The Park transformation system is illustrated on
From the 2 variable stationary frame it is then the responsibility of the Park transformation
to convert the signal into a rotating excitation co ordinate system. A vector diagram of the
Figure 2-8: 2 variable rotating space vector at 60 degrees in the excitation frame
This allows the construction of the torque and flux components of the stator current and the
ability to manipulate these vectors to achieve direct torque control. These torque and flux
components of the stator current can be determined according to the following vector
matrix,
⎡ I DS e ⎤ ⎡ cos θ sin θ ⎤ ⎡ I ds s ⎤
⎢ e⎥ = ⎢ ⎢ ⎥
⎢⎣ I QS ⎥⎦ ⎣− sin θ cos θ ⎥⎦ ⎢⎣ I qs s ⎥⎦
Using the above transformation the stator currents are now in the reference D-Q excitation
frame. These currents are used to control motors torque and flux independently. Similarly
Beta is the angle between the stationary reference frame to the rotating excitation frame. It
is essential in the Park transformation to transfer the signal into a rotational co ordinate
⎡ FDS e ⎤ ⎡ FQS e ⎤ ⎡λ ⎤
β = tan ⎢ e ⎥ = tan ⎢ e ⎥ = tan −1 ⎢ eq ⎥
−1 −1
⎣ FDS ⎦ ⎢⎣ FQS ⎥⎦ ⎣λ d ⎦
The power circuit for a vector converter consists of firstly a diode rectifier to convert 3-
phase AC to a DC voltage with a DC link capacitor filter to provide a smooth and steady
PWM variable voltage variable frequency output suitable for a AC induction motor.
Finally and most importantly a microprocessor based digital control circuit to control the
switching and provide protection and a user interface. This type of Field Orientated
Control uses essentially a cascaded closed loop system with two separate control loops one
for speed and the second for current. The control strategy is similar to that used for the
control of a DC drive where the speed loop controls the output frequency proportional to
the speed and the torque loop controls the motor in-phase current proportional to the
torque. Following is a basic overview of the Field Orientated Control process including
Figure 2-10: FOC scheme for an AC-motor showing Park and Clarke Transformations
Initially the loop begins with the measured values of current from the motor which are fed
into the primary Clarke transformation system converting the 3-phase currents into a 2-
variable stationary reference frame. The currents idsS and iqsS are then transferred into the
secondary Park transform [9] where they are transformed from a stationary system into the
d-q rotating reference frame [9] with rotation angle Beta. The currents iDSe and iQSe in the
excitation frame are then compared to referenced values of torque and flux needed to
produce the required values. The errors are processed and the resulting components
undergo the Inverse Park and Clarke Transformation to be reconverted to a 3-phase voltage
signal that is sent to the Inverter Bridge. The Inverter controls the switching in such a way
that the desired voltage and frequency are generated at the output according to the PWM
algorithm.
From the previously discussed AC motor characteristics the stator current is comprised of
two components, the Magnetizing current and the load current [25]. The magnetizing
current (IM) is approximately constant over speed and lags the voltage by 90 degrees. The
load current is in phase with the voltage and is directly proportional to the torque over all
changes in load. Therefore the major objective of the Vector Controller is to continuously
Under no-load conditions, almost all the no load stator current (IS) comprises the
magnetizing current. Any torque producing current is only required to overcome the
windage and friction losses in the motor [21]. Slip is almost zero, stator current lags the
At low motor loads, the stator current (IS) is the vector sum of the magnetizing current (IM)
with a slightly increased active torque producing current. Stator current lags the voltage
At high motor loads, the stator current is the vector sum of the magnetizing current with a
greatly increased active torque producing current, which increases in proportion to the
increase in load torque. Stator current lags the voltage by the angle φ, so power factor has
improved to be close to full load power factor. Below shows the relationship between the
The central part of the Vector Control system is the Active motor model that continuously
models the conditions inside the motor in order to calculate the active torque producing
Current feedback is required in AC variable speed drives for a number of purposes [28],
Protection - Short circuit, earth fault and thermal overload in motor circuits
Over the years several different methods have been developed to measure current and
convert it into an electronic form suitable for the drive controller. The method chosen
depends on the required accuracy of measurement and cost of implementation. The two
main methods of control are Current Shunt and the Hall effect sensor.
The Current Shunt principal is based on the current flowing through a link of pre-calibrated
resistance. The voltage measured across the link is directly proportional to the current
passing through it therefore according to the relationship V=IR the current can be
determined.
The Hall Effect sensor relies on the output voltage being DC which is directly proportional
to the current flowing through the sensor. High accuracy and stability over a wide current
and frequency range are amongst the main advantages of this device. This device is
High performance drives that employ Field Oriented Control required some kind of current
feedback for the control loop to function correctly. In such cases the motor current varies
according to the load applied to the motor and the torque produced. The stator current for
each phase is used to construct a vector diagram from which requires the current
magnitude of all three phases. This can be achieved preferably with one Hall Effect CT in
each output phase or alternatively two in the output phases and one on the DC bus [29]. In
reality only two phases need to be measured as the final phase can be deduced from the
relationship between the other current readings, however the DC bus current sensor is still
In closed loop speed control of electric motors and positioning systems, the speed and
position feedback from the rotating system is provided by transducers, which convert
mechanical speed into an electrical quantity compatible with the control system [7]. Some
of the more common techniques used today are Analogue speed Transducers, Digital
speed into an electrical voltage, which is proportional to the speed, and transferred to the
Digital Speed Transducers such as Rotary Incremental Encoders [17] that convert speed
into a series of pulses. The pulses are transferred to the control system over one or more
Digital Position Transducers such as Rotary Absolute Encoder [17] that converts position
into a bit code whose value represents an angular position. The code is transferred
digitally to the control system over a screened parallel or serial communications link.
With the advances in microprocessor technology and DSP controllers there has been a host
inverters. Typically the signals and algorithms associated with such a system can be very
complex and lengthy to compute. However through the use of DSP and the digitization of
the signal, calculation of the output, and the output to the D/A converter all must be
completed within the sample clock period. The speed at which this can be done determines
the maximum bandwidth that can be achieved with the system. For adequate dynamic
response or a Vector Control system the calculations associated with Field Orientated
Control completed around 2000 times per second which is less than 1ms [22]. The ability
to continuously model the induction motor at this speed only became viable recently the
development of the 16 bit microprocessor. Initially sufficient processing power was quite
expensive, but over a period of time, the cost of the processors have reduced and
Many different types of microprocessors have been utilized in the implementation of Field
Orientated Control. The MC68040 has been utilized in both field-orientated control and in
the implementation of ANN observer estimation of the rotor flux angle. The system also
includes 4 Mbytes of RAM, two 32-pin EPROM sockets, dual port MC68681 I.C. for
serial port communication, Local Resource Controller (LRC), VSB and VME bus
interfaces. One port of the MC68681 is connected to the 486 PC. The MC68040 operates
at 27.6 MIPS with a clock frequency of 33 MHz and 32-bit address/data bus [16].
The TMS320 is a DSP from Texas instruments that has been specifically designed for
Field Orientated Control. The TMS320's high level of throughput results from the chip's
Harvard Architecture, the TMS320 allows transfer between program and data spaces for
increased device flexibility. Constants can be stored in program memory, and program
branches based on data computations can be performed. Thus, parallel operations can
The TMS320's speed in enhanced by the arithmetic logic unit's (ALU's) 16 x 16-bit
multiplier that uses 16-bit, signed 2's complement numbers to form a 32-bit product in 200
ns. Although the TMS320 accepts 16-bit inputs and has a 16-bit output, it features a 32-bit
ALU/accumulator that carries out all arithmetic operations to 32 places for greater numeric
precision [16].
Early forms of DC to AC conversion are derived from the basic buck converter, where a
power semiconductor is used to switch a DC signal into a square wave (Square Wave
Inverter). With the introduction of power storage components, such as inductors and
capacitors, this square wave will resemble a rough sinusoidal wave. The desired sinusoidal
output can be further refined with the use of logic control on the semiconductors, enabling
the positive and negative peaks of the square wave to be delayed (Phase Shifted Square
Wave inverters), creating a zero level. All these adjustment were made in the aid of
producing a perfect sinusoidal output or in other words decreasing the Total Harmonic
PWM inverters further refine the conversion of the DC input to an AC output. This
advancements, in this particular project the semiconductors must have a high power rating
combined with a high switching frequency. PWM inverters use high-speed semiconductor
switches to switch the DC signal at varied time intervals, this will create varied pulse
The basic construction of a PWM inverter can be understood by using the single-phase full
Figure 2-12: Circuit Diagram of a Full Bridge PWM Inverter [Constructed using PSIM demo]
As you can see the DC input signal is feed into the two legs of the full bridge inverter and
with the aid of the high-speed semiconductor switches converted in to an ac signal. The
semiconductor switches are controlled but he PWM control logic, which switch the DC
input at varied time intervals, creating varied pulse widths. The adjustment function is
called a Modulation function, M(t). The Modulation function is defined as follows [28],
Am
M (t ) =
( N − 1) / 2 Ac
whereA m = magnatude of the modulatingsignal
whereAc = magnatude of the carrier
The Modulation function is used to determine the output, as shown in the equation below.
Vd(t ) = M (t )Vin
The desired output is no longer the dc average value, but is a unique wanted component.
This should be a moving average to denote the variation of the average output with time.
1 t
V (t ) =
T ∫
t −T
f ( s ) ds
The figure below depicts the PWM output and the moving average created by the output.
In order to control the semiconductors of the PWM inverter, a triangular reference signal
along with a sinusoidal reference signal are used to determine the switching times for the
semiconductors. These inputs are compared and will control the ON/OFF states of the
semiconductors. The following diagram depicts the two inputs of the comparator.
The PWM logic is created by comparison of the sinusoidal signal to the triangular signal.
When the reference sinusoidal signal is above the triangular sawtooth signal the PWM
logic is switched on and when the sinusoidal signal falls below the triangular sawtooth
signal the PWM logic switches off. The duration of this switching is dependent on the
length of time from when the sinusoidal signal remains above or below the triangular
sawtooth signal. This process is displayed in the above figure 2-14 [28].
The intent of using the Five Level PWM Inverter is to reduce the THD of the output ac
signal. The Five Level PWM signal involves constructing the ac output with five discrete
voltage levels. However when doing this the design and operation of the inverter will
change. The figure below depicts the desired output of such an inverter, which the five
discrete voltage levels clearly show. It is important to point out that the pulse modulations
Like the progression of the multilevel PWM inverter suggest a five level PWM is
controlled by four triangular reference signals and one sinusoidal reference signal, shown
in the figure below. It can be seen below that the four different triangular references, or
bands, have differing offsets with the same amplitude, this essential for the inverters
operation
The basic circuit design is depicted in the PSCAD diagram below, which clearly shows the
importance of the offset carriers, which control the PWM inverter. This system is not
useful for driving an induction motor as the output will have voltage spikes due to the
inductive currents not being permitted to flow when the IGBT interrupts the current to the
mid levels.
Once the circuitry for a single-phase five level PWM inverter is fully understood, little
effort is needed to expand the circuit into the required three phase five level PWM inverter.
This was easily implemented by duplicating the single-phase inverter three times and
modifying the modulating phase of each respective modulating sine wave signal for each
phase [10]. Although the above circuit is a five level PWM inverter, this circuit is not
load of the motor, causes KCL violations as there is no current path for the reverse current
CHAPTER 3
3 Technical Review
This review presents torque-controlled drives control based on machine flux and torque
estimation. The theory surrounding this review has been credited to the IEEE paper on
Vehicles” [18]. The theoretical aspects of the methods are discussed and a comparative
Problems in the application of these techniques to propulsion systems are also discussed
Many of the methods of Vector Control published require a torque feedback signal.
controllers is presented. For the purpose of comparison, torque controlled methods based
on stator voltage orientation are being studied. The dependence of the system based on
implementation methods, calculation the phase angle and the effects of obtaining the d-q
current references using open loop and closed loop flux and torque observers are
compared.
c) calculation of iqs current from the closed loop torque fuzzy logic based controller.
a) flux coordinates.
The different combinations of the above control techniques influence the performance of
the system. The above techniques are discussed in detail in the following sections.
Different techniques for the estimation of the torque produced by the induction motor are
presented in the literature. Among these, the torque estimation using the integration of
stator voltages depends less on the machine parameter variations. First, the flux
components are computed by integration of the voltages in the stationary reference frame
ϕ sα = ∫ (v − Rs × isα )dt
sα
ϕ sβ = ∫ (v − Rs × isβ )dt
sβ
The accuracy of this calculation depends on the accurate value of the stator resistance as
well as on the integration method. Another aspect of the control is the electromagnetic
Te =
3 Pp
2 2
[ϕsα × isβ − ϕsβ × isα ]
This estimated value of torque can be used for the torque control loop even if the induction
In the above flux equations the currents are obtained using current sensors, and the
voltages are the outputs of the PI controllers after d-q to a-β transformation. This method
though quite reliable introduces errors in flux estimation, these are as follows,
1) A delay between the reference voltages used in estimation and the actual fundamental
2) Measured currents are passed through the A-to-D converter at a given sampling
frequency.
3) Flux integration by a digital low-pass filter introduces errors in phase and gain.
The common solution consists in the use of a low-pass filter that has the input-output
1
y= ×x
s + ωc
where ωc is chosen so that "s +ωc" ~ "s" for all the operating frequencies. If the lowest
stator frequency that should pass properly through filter is 8 Hz, then ωc <2π8 = 50.26.
Choosing a low value of ωc leads to a better integration, but higher dc bias. A higher value
1 Ts
y [k ] = × y[k − 1] + × x[k ]
1 + ωc × Ts 1 + ωc × Ts
The output can be further improved by re-writing the transfer function to introduce a
variable feedback within the low pass filter . This implementation leads to behaviour closer
to l/.s. Also, by saturating the feedback component (y), the dc bias component can be
limited.
1 1
y = ×x⇒ ×y
s s + ωc
1 1 s +ω −ω
= × ×x⇒ ×y
s s + ωc s + ωc
1 ω 1
= ×x⇒ y = ×y+ ×x
s + ωc s + ωc s + ωc
y[k ] = y1[k ] + y2 [k ]
1 ωc × Ts
y1[k ] = × y1[k − 1] + × y sat [k − 1]
1 + ωc × Ts 1 + ωc × Ts
1 Ts
y2 [ k ] = × y2 [k − 1] + × x[k ]
1 + ωc × Ts 1 + ωc × Ts
Several digital integration methods have been tested in and a comparison of the current and
flux waveforms are presented further in the report (limitation of both flux components on
the feedback path, low-pass filter without any feedback and limitation of the flux
magnitude on the flux feedback). Experimental results have shown that the integration
In any Vector Control method, an important item is the calculation or estimation of the
rotational angle or the SIN/COS function corresponding to this angle. The current
To obtain an estimate of stator flux orientation the following calculations can be used:
λsα
sin θ =
λsα 2 + λsβ 2
λsβ
cos θ =
λsα 2 + λsβ 2
Precision of θ depends on the accuracy of ωe that is a small dc value in low speeds (low
ωe. For this reason, using the definition of SIN/COS based on the estimated flux
components in low speeds leads to better results than the calculation of electrical frequency
(ωe). Using electrical frequency estimation at high speeds is better since it is essentially a
dc component that can be easily filtered to remove the inherent noise. Both methods were
implemented and tested and the experimental results confirmed the above statement.
Since the dynamics of the flux regulator is not very important, the flux control loop is a
typical PI control loop based on the estimated flux magnitude signal. A Fuzzy Logic
controller would not introduce any major improvement for the performance of the overall
system. However, the output of the PI controller can be limited to different values. In order
to improve the flux loop dynamics, a negative ids current has been allowed during the
transients. The level of the positive limit at the controller output is a function of the
When the flux orientation is perfect, λqs= 0 and , λds = |λ |. There are two possibilities of
developing the control based on λds or |λ |. The flux magnitude has been calculated and
This review presents three different methods of torque control based on stator or rotor flux
1) Open-loop torque control loop with closed loop stator flux control.
3) PI/Fuzzy torque control loop with closed loop stator flux control based on stator
flux orientation.
The influence of each control loop on the overall system performance is next discussed. In
this study, the current control loop sampling time was at 100 µs, and the outer control
loops (torque and flux) are sampled at 300 µs and, 600 µs, respectively. In this particular
report to achieve better results special caution has been taken in software such that to do
Te
i qs = K
λ
The dynamic results will be affected whether iqs is calculated based upon flux reference or
estimated flux magnitude seen in the figures below. Figures 3-1 to 3-4 are presenting step
modification in flux or torque for the same base system, for different control structures.
Fig. 3-1 presents a control system containing a torque control loop while ids is introduced
as reference without any flux control loop. Fig. 3-2 presents a flux control loop with iqs
command without a torque control loop. Figs. 3-3 and 3-4 are introducing the full system
with both torque and flux control loops for step modification in either flux or torque. It can
also be seen the improved performance of the system containing both torque and flux
control loops.
Figure 3-1: Step response (10-25Nm) of torque control loop with ids as reference at 2100 RPM [18]
Figure 3-2: Step response (0.34-0.2 Wb) of flux control loop with ids as reference at 2100 RPM [18]
Figure 3-3: Step response (0.34-0.2 Wb) of the flux loop for torque and flux loops at 2100 RPM [18]
Figure 3-4: Step response (10-25Nm) of the flux loop for torque and flux loops at 2100 RPM [18]
In propulsion systems, the torque control loop response is important. In order to decrease
the response time of the torque control loop and to minimize the influence of the induction
machine speed on the torque loop transients, a fuzzy logic control loop instead of the
conventional PI controller has been investigated. Fig. 3-5 [18] presents the torque control
loop responses at different speeds (500 RPM, 5000 RPM, and 7500 RPM) for both control
methods. The fuzzy logic controller has been developed in software using a simple
structure with two inputs, with seven triangular membership functions for each input,
linear de-fuzzification (Sugeno controller) [34] and triangular membership functions for
the iqs current (output of the FLC controller). The results are demonstrating that the FLC
has the same transient response at each speed. Measurement of the system efficiency has
been performed for different methods under study. The differences between these methods
Figure 3-5: Step torque modification for both PI and FL controllers. [18]
This paper presents a review of the torque-controlled IM drives based on the current-
controlled PWM voltage source converters and flux control loop. This review was found
they are directed at a propulsion system such as a hybrid vehicle. The review presents
different integration methods of the stator voltage equation and compares them based on
the type of control method and the response of the system to these changes.
The advantages of stator flux control over rotor flux control are reviewed and the results
demonstrate the advantage of a system with two control loops (torque and flux) in terms of
stability and variable ripple despite the higher complexity. The report covers both PI
controllers and Fuzzy logic and focuses on the benefits of each. Essentially the Fuzzy
logic controller is more complex, but is less influenced by the parameter variations and less
dependent on speed.
This review concentrates on the most appropriate methods of control for application in a
hybrid and electric vehicle. The results obtained allow further insight into Field Orientated
Control and allow a greater depth of understanding into the control methods with respect to
CHAPTER 4
The term closed loop feedback control emphasizes the nature of the control system, where
feedback is provided from the output back to the input of the controller. A perfect example
of a closed loop feedback control system is a driver in a motor car. The speed of the car is
assessed by the drivers eye looking at the speedometer (speed transducer). This measured
speed is mentally compared to the desired speed (speed reference), which may be the set
limit for that stretch of road. Depending on the error, the driver (controller) may decide to
increase speed by further depressing the accelerator to adjust the speed reference. The
driver continually measures and re-evaluates the error between measured and desired speed
and adjusts the accelerator accordingly. At the same time the driver might be
simultaneously engaged in several other feedback control closed loop tasks such as
In the Vector Control system employs the use of an AC frequency converter to control the
voltage and frequency fed to the motor to suit the load characteristics . For example when
an operator selects a speed setting on a potentiometer, the system implements this selection
this selection by adjusting the output frequency and voltage to ensure that the motor runs at
its set speed. The accuracy of the control system and its response to the operators
When load torque and load position have to be continuously and accurately controlled the
closed loop control method is the most effective means of control feedback and will be the
method used in this project. The best compromise for accuracy and efficiency is the use
two feedback loops, these being the Speed and Torque control loops.
The first feedback loop controller is know as the speed control loop and uses the speed
error from a speed sensor to calculate the desired current. The primary objective being to
either increase speed or decrease speed. The speed loop therefore controls the output
frequency proportional to speed. The system was based on the knowledge that the speed
was recorded from a speed transducer positioned at the shaft of the motor. Therefore this
reduces the need for complicated calculations used to estimate speed. This is not always a
economically unjustified. The speed error signal becomes the set point for the torque
regulator and is processed by a PID algorithm. This signal is compared to the in-phase
current feedback from the motor circuit and the error signal determines whether the motor
The speed reference signal is derived from the inputs of the controller for the specific
Vector Control application. For example a conveyor is needed to be driven at 0.5m/s, that
speed can then be translated into a shaft speed in RPM depending on the appropriate gear
ratios.
The second feedback loop controller is known as the torque control loop. The loop
compares the set torque with the output of the torque estimation algorithm, with the new
error current calculates the desired output voltages. The measured process variable in this
case is the measured motor current which is proportional to the motor torque. Therefore
In the design of the torque control loop it is assumed that the rate of change of current is
higher than the rate of change of speed or essentially saying that the motor is operating at a
constant speed. The current loop must allow for a time delay between output frequency
and the current. It then determines the desired inverter output frequency and voltage which
is used by the PWM to determine switching logic. The torque estimation algorithm can be
• Implements the speed control loop by comparing the speed feedback with the speed
• Implements the torque control loop by comparing the active torque, calculated from
the current and speed feedback to provide an error output to the PWM switching logic
controller
• Constantly updates this information and maintains tight control over the process.
The advantage of using this type of system is that the Vector Control circuit has provisions
to measure the speed and torque separately which is very similar to what happens in DC
drive. In a DC drive the armature current is directly proportional to the torque, therefore
Once the desired values are determined after comparison with reference current values the
new IDS and IQS direct and quadrature currents in the excitation domain are modified to
produce the desired speed and torque. These direct and quadrature currents are then used
to determine the respective component currents in the stationary reference frame which are
Ids and Iqs. From this point the stationary currents determined are used to evaluate the
corresponding stator voltages which will be sent the inverter to control the AC motor.
The speed control loop is based on the measurement form a speed transducer and the input
of a reference signal from an external source. This stage is simplified due to the speed of
the motor being measured from a sensor as opposed to being estimated. This method is
very accurate but in cases where speed cannot be measured from the shaft another method
the speed reference signal and the actual speed. The difference in speed is then converted
The initial component of the algorithm calculation will involve the calculation of the IDS
and IQS the direct and quadrature currents and is known as the rotor flux and Beta
estimation. The 3S-2R transformation uses the resistance and inductance of the motor,
magnetising flux and stationary current variables to produce the appropriate rotor flux and
Figure 4-2: Torque control loop -Rotor Flux and Beta estimations
From this stage Beta and rotor flux is then used in torque calculations.
Through the completion of the Park and Clarke transformation and the incorporation of the
appropriate value of rotor flux and Beta derived from stage 1, the torque can be estimated.
The appropriate values are fed into the following torque equation:
4 Lm
T= IQse λr
3 Lr
Using the above equation an estimated value of torque is calculated according to the
At this point it is essential to compare the reference torque of the motor to the actual torque
The error signals are critical to the correct calculation of the new values of current and
voltage. The error system takes a speed or torque signal, compares it to a reference speed
or torque signal and then determines the difference based on the following calculation:
The change in speed or torque is then converted into a direct or quadrature current value in
the excitation frame. For the Torque error the equation to convert the change in torque
3∆TLm
I QS err =
e
Where IQSerre is the calculated difference in quadrature current that must be added to the
original estimated quadrature current IQSe . The new current signal IQSex is then determined
For the speed error, the equation to convert the speed signal to a change in torque to a
wr L
I DS err = × r
e
wr ref Rr
The calculated difference in direct current IDSerre is added to the original estimated direct
current IDSe . The new current signal IDSex is then determined and sent to through a series
The next stage of the closed loop process focuses on the conversion of the speed and
Once the speed and torque control loops are complete the error signal determines the new
values of voltage and phase to be fed into the inverter to maintain consistency with the
reference values. The inverse Park and Clarke transformations manipulate the new current
signal into a phase voltage signal that is fed into the inverter.
Initially the new currents determined from the error process are converted form the
excitation frame to the stationary frame. It is then in this frame that the current signals Idssx
and Iqssx are converted to the respective stationary voltages Vds and Vqs, this is acheived
From the above state the voltages then undergo the inverse Park and Clarke
transformations to convert the signal into a three phase Va, Vb and Vc. The design
This sub-system completes the control system. The process is then repeated numerous
times per second to suit the application so that the desired speed and torque are achieved.
CHAPTER 5
5 Physical Implementation
The implementation section to this project restricted due to time limitations and budget
system must be developed and tested before any physical installations are commenced.
Therefore due to the complexity of the implementation the finalization of the project has
resulted in a system blue print and a prototype of the transformation algorithms in C. The
prototype blueprint of the system has been designed and drafted in AutoCAD and is
provided in appendix c. This blueprint shows the total combined system with the
appropriate transformations up to date with the simulations which forms the basis for the
the current sensing techniques that will be employed are discussed but any actual physical
implementation of these devices has been postponed until accurate simulations have been
In order to carry out the Vector Control process the values of the stator currents must be
known. Therefore currents sensors have been employed to sample the stator currents whilst
also isolating the system from the high voltage side. The isolated analogue output signal
from the current sensors would then need to be converted to digital format before being
sent to the digital signal processor. The sensor that was chosen for this project is the
Hewlett Packard HCPL-788J Optocoupler. The output of the Optocoupler is fed to a Burr-
The HCPL-788J isolation amplifier is designed for current sensing in electronic motor
drives. In a typical implementation, motor currents flow through a shunt resistor and the
resulting analogue voltage drop is sensed by the HCPL-788J. A larger analogue output
voltage is created on the other side of the HCPL-788J’s isolation barrier. The output
voltage is proportional to the motor current and can be connected directly to a single
supply analogue to digital converter. A digital over-range output is useful for quick
detection of short circuit conditions on any of the phases. Due to the swings of the
common mode voltage in nanoseconds the HCPL-788J was designed to ignore very high
common node slew rates (10kV/µs). A system diagram is shown on the following page.
The analogue voltage input Vin, shown above, is converted to a digital signal and is
sampled 6 million times per second and then a 1-bit output representing the input very
accurately is generated. This data stream is then transmitted via a light emitting diode
(LED) over the optical barrier after encoding. The detector then converts the optical signal
back to a bit stream which is converted from digital to analogue then put through a low
For speed sensing a simple and effective shaft transducer can be employed. Depending on
the application and the relative access to the shaft of the induction motor this sensor will
CHAPTER 6
Due to the intricacy of the DSP implementation discussed earlier on in the thesis and due
to capital and time constraints the initial programming an alternative method was adopted.
This method involved the application of a Rapid Prototyping System [33] with real time
calculation developed on the basis of a standard PC to model the Vector Control system.
The advantage implementing this system in this manner as opposed to a DSP based system
is that a DSP always requires tools and compilers which in most cases may be purchased
and are licensed by the vendor of the DSP, increasing the cost of the system. This chapter
will present a system based around a standard PC with Pentium processor and a
input/output rack connected to the PC via a interface board. All real time tasks will be
The use of a DSP should not be ruled out in future studies but the necessary preparations
and budget allowances must be made. The TMS 320 line of DSP’s that were discussed
previously on in the project are the DSP of choice. Therefore DSP data sheets and
information will be provided in the appendix to assist in the understanding and future
application of such a DSP. The benefit with modelling the system on a PC based operating
system allows the user to test the Vector Control System rigorously to perfect the program
A real time system can be defined as a system capable of guaranteeing timing requirements
of the processes under its control. It must be fast and predictable. Fast means that it has a
low latency, i.e. it responds to external, asynchronous events in a short time. The lower the
latency, the better the system will respond to events which require immediate attention.
Predictable means that it is able to determine task's completion time with certainty.
Typically a real time system represents the computer controlling system that manages and
coordinates the activities of a controlled system that can be viewed as the environment
with which the computer interacts. The interaction is bidirectional through various sensors
(environment -> computer) and actuators (computer -> environment), and is characterized
It is desirable that time-critical and non time-critical activities coexist in a real time system.
Both are called tasks and a task with a timeliness requirement is called a real time task.
6.2 Hardware
The ideal system is composed of a PC and an extension kit to connect the PC to the
controlled system. The connection system will consists of a 19” rack with several slots for
inputs and outputs. Serial connections are too slow for this type of control therefore a
parallel bus is more appropriate. An interface board inside the board inside the PC
connects the parallel bus to the main board. There are several converters that convert
digital signals into analogue signals and vice versa and also boards that to read an
The use of a 16 bit wide parallel data bus allows fast communications between the main
processor the I/O boards in the 19” rack. To address the correct board in the extension kit
the parallel bus should have 32 port-enable-lines. In addition 4 lines are needed for
interrupts. An IOREAD and the IOWRITE lines transfer the information to the address
boards when they have to read data from the bus or to write to it.
The interface board allows the PC to communicate to the parallel bus. It maps the port
addresses of the PC to the slots of the 19” extension kit. The setup allows the use of the
port addresses of the PC from 0x280h (PE0) up to 0x2BEh (PE31). The allocation of port
addresses and interrupts to the different slots are shown on the following page.
6.3 Software
The software programming in this section has yet to be implemented but is only a
for fast real time processing. The c programming language is used to create the vector
For this section hypothetical names were assigned to variables for the construction of the
code. The total listing of prototype code is provided in appendix E. Following is a routine
The code is divided into the following headings in the order of functionality:
1. PI controller
2. System routine
3. Convert phase current into i_d and i_q (alpha and Beta)
6. Calculation of flux
7. Slip
8. Angle of flux
9. Speed control
Each routine in the code is referred to specific addresses in reference inputs and outputs.
As this code is only in the development stage the addresses are not linked to the code in
any way and must be assigned when the final stage of implementation is performed.
The Code is heavily based on the simulations and vector matrices developed in earlier
CHAPTER 7
7 Simulation Results
Simulation of the Vector Control system was undertaken on PSCAD and all values used
discrepancies. Each sub-system constructed that contributes to the total system will be
As illustrated above for purpose of simulation without a closed loop feedback three
sinusoidal sources feed a current and voltage into the induction motor, refer to Appendix A
Rs 3.34
Rr 2.614
Lm 0.1626
Ls 0.00106
Lr 0.00106
The motor parameters were derived from the model in PSCAD but the actual motor
parameters must be found using the blocked rotor and short circuit test but these values are
To observe how the system responds to a variation in the induction motor model a
frequency ramp function was created and applied to the input into the motor. This had the
effect of varying the frequency with time and in turn the speed and torque to proved a
grounds for comparison between calculated values of torque and actual torque over a
variable speed and torque trajectory. The graphs can then be compared to determine the
accuracy of the calculated values. The frequency map will be discussed further in the
chapter.
The plot displays the voltage and current inputs into the motor and how they are influenced
by the change in frequency. All values are in kV due to the readings that are derived from
the RMS meter that measures voltage and current in kV. The above plots suggest that the
RMS voltage varies little with the variance of frequency and all phases rise accordingly in
conjunction with each other and peaks at approximately 260 V-rms. The RMS current
tends to be more influenced by the change of frequency with the frequency ramp and peaks
at around 9A-rms. These voltages and currents are what dominate the torque and speed
variations of the induction motor and will be the results of the modified control loop into
the inverter.
The frequency map is an mapped input into the induction motor and provides a frequency
variation with time. Due to the induction motor setup having speed directly proportional to
the frequency this map allows direct variations of speed and torque. The concept behind
calculated and actual values of torque and flux before any closed loop signals are setup.
The use of this approach allows for torque and flux calculation refinement through the
frequency ramp block diagram from PSCAD provided in more detail in Appendix A,
The composition of the frequency ramp is the sum of a set of ramp functions with a time
The frequency ramp above shows the variation of the input frequency which dictates the
phase currents and voltages. Each division of the plot represents a 0.1 second time step
and the total running time is 1 second. The trajectory of the ramp increases linearly until
0.3 seconds where it plateaus off for 0.2 seconds then rises until 0.7 seconds where it
again plateaus off for another 0.1 seconds before decreasing linearly until 1 second. Once
the control loop is complete the frequency map will not be necessary it is only used for
7.3 3S – 2R Transformation
The 3S to 2R sub-system is comprised of two parts namely the abc to d-q transformation
and the d-q (stator frame) to D-Q (excitation frame) transformation. Following are block
The above block diagram represents the initial part to the 3S to 2R sub-system where the
phase voltages and currents are transformed into a stationary reference frame using the
The above block diagram represents the secondary section of the 3S to 2R sub-system
which utilizes the matrix relationship seen in the Park transformation. The transformation
uses a series of cos and sin multiplications incorporating the rotor flux position angle Beta
allows the transformation from a stationary frame to a rotating frame where Beta is
imported from the rotor flux estimation sub-system. Ids-out and Iqs-out are derived from the
initial Clarke transformation covered earlier in the chapter. This system produces the
torque and flux components of the current and can be used to calculate torque and speed.
The simulation results of IDSe and IQSe show how the current in the excitation frame vary
with variations in the mechanical torque. This illustrates that the isolation and
From vector diagrams in previous chapters, the D-Q current vectors are known to be
orthogonal to each other. From mathematical theory the dot product of two orthogonal
vector equals zero. So to confirm the accuracy of the above sub-system the D-Q currents
were multiplied together and dot product of IDS and IQS should yield a product. Ideally for
these statements to be satisfied and the simulation to be accurate a result of close to zero
should be expected. The plot below shows the result of the dot product of IDS and IQS,
Figure 7-9: Dot product of IDSe and IQSe equals zero. (Appendix B)
The dot profuct plot above clearly illustrates that the above hypothesis is true as the results
show values close to zero with the product of the current peaking at 140x10-6 A. Therefore
based on the above results, the culmination of the simulations up to and including this sub-
The rotor flux estimation uses the motor parameters such as resistance and inductance to
estimate a value of Beta and rotor flux. Below is a PSCAD block diagram of the complete
The system could be simplified with the use of a magnetic field sensor but this is not
feasible therefore the magnetic air gap flux has to be estimated. The output of this system
Lr
λdr s = λdm s − L1r ids s
Lm
And
Lr
λqr s = λqm s − L1r iqs s
Lm
λdr s + jλqr s → λr ∠β
This provides the output variables of rotor flux and rotor position angle. These variables
can be employed in the calculation of torque for the closed loop feedback.
The above plot represents the rotor flux output from the estimation system. It illustrates
that the rotor flux responds according to the variation in frequency and is used to achieve
Several of the initial problems with the original system were discovered to be related to the
Beta estimation sub-system compiled by the previous project. The above plot located in
appendix B shows the original Beta estimation. As illustrated in the Beta plot that the
magnitude of the estimation lies between -π/2 and π/2 contains spikes and irregularities
which cause errors in the proceeding transformations. The error was rectified by discarding
the existing estimation and construction of a new sub-system called the rotor flux
estimation which determines values of rotor flux and Beta. The new estimation of Beta
was much more acceptable with the correct magnitude free of any spikes. The new Beta2
The torque map sub-system utilizes the motor parameters and values obtained from rotor
flux and the D-Q transform to estimate a torque curve trajectory. The use of an rms. meter
in addition to a low pass filter allows smoothing of the curve to provide increased accuracy
and to adjust such parameters as the gain and time constants. Following is a block diagram
Figure 7-15: Comparison between calculated torque Vs. measure torque over 1 sec (Appendix B).
The estimated torque curve above shows the accuracy of the calculated torque and how it
follows the actual mechanical torque. The variations in the curves are slightly evident in
transient conditions when a sudden change in the torque is introduced. Further fine-tuning
of this system could improve this variation but due to time restrictions a compromise was
met. The torque control loops uses this torque calculation to determine reference values of
IQS and flux to compute new reference phase currents for the inverter.
The error signal is determined from the above PSCAD schematic and the product is then
added to the original IDSe. This new signal is the modified current signal that is sent
The torque error signal is determined in very much a similar way to which the speed error.
The difference between the reference torque and the estimated torque is established and
then added to the original IQS current to achieve a new IQS current. This new IQS is then
processed through the inverse transformations to be sent to the inverter as a voltage signal.
The torque reference map was introduced to provide the estimated torque with a reference
variable to compare against to calculate the torque error. The map used to create the
reference signal is typical of the type of application that the Vector Control system is
working with. It is set by the user and will be developed based on the ideal torque
This particular torque map was kept simple with only a slight change in the P.U. reference
torque with the addition of two step functions. The resultant current will reflect the
respective change in torque map. Typical torque curves used in industry are found in
Appendix F.
7.5.2.4
From the results of figure 8-19, it is clearly shown that the current reflects the change in
reference torque suggesting that the system loop is effectively changing the current to suit
the variation in the reference values. This value of current must be converted into a
voltage signal and sent through the Park and Clarke inverse transformation to achieve a
inverter input voltage with the new values of magnitude, phase and Frequency.
CHAPTER 8
8 Conclusion
8.1.1 Summary
The objectives set at the commencement of the project focused on the completion of speed
and torque closed loop oscillations in simulation form and the commencement of the initial
stage of the implementation process. These objectives were dependent on time and
financial constraints therefore the work undertaken was predominately theoretical and
simulation based to create a solid foundation for the control algorithms code and future
development.
The simulations developed in PSCAD from the objectives were successful displaying a
exceptional compromise between accuracy and reliability in transient and steady states. In
a transient state the torque estimation displayed a slight error of around 3-4% of the torque
As illustrated in the simulation summary results of the excitation current in the quadrature
and direct axis, the dot product of the orthogonal vectors showed a value close to zero
indicating the accuracy and verifying the PSCAD transformation algorithms. Refinements
were made though the modification of integrating and time factors to ensue that there was
The implementation of a closed loop control from this point involved the construction of a
reference torque signal to allow for an external comparison to the estimated torque
achieved through the vector transformations. The new Direct and Quadrature currents
were converted into phase voltage signals which contained the necessary adjustments in
magnitude, phase and frequency for the next closed loop oscillation.
The prototype for the Rapid Prototyping System code has been developed in the C
programming language in conjunction with the PSCAD design algorithms to satisfy the
initial implementation objectives. The code developed is purely a prototype and contains
the necessary transformation algorithms and loop functions. Further refinement of this
code is required. Due to time constraints the code was not tested.
In conclusion, the Field Orientated Control Process was designed and simulated in PSCAD
with the objective of controlling a 3 phase induction motor. All simulations were
undertaken with desirable results achieved. The project objective set out at the beginning
of the project were successfully completed. Work undertaken in this project allows for the
The extensive testing of the control loop and motor algorithms and has provided a basis for
physical implementation using the C code developed. This next process can be performed
using either a Rapid Prototyping System or though the use of a DSP such as the TMS 320.
A focus for Future projects could involve the refined construction of the closed loop
control systems transient behaviour. The addition of protective devices or algorithms for
over current detection can also be developed to provide a safety factor for the motor.
code already developed would allow for real time testing that can possibly lead on to the
9 References
[2] Yamayee Z., Bala J Jr, Electromechanical Energy Devices and Power Systems,
[4] Shepherd, W & Hulley, L.N. & Liang D.T.W. 1995, Power Electronics and Motor
[5] Nasar S.A. & Boldea I. 1992, Electric Machines Dynamics and Control, CRC
Press, USA.
[6] Mohan N., Undeland T. & Robbins W.P. 1995, Power Electronics, Converters,
[7] Fitzgerald A., Kingsley C. Jr & Umans S.D. 1992, Electric Machinery, McGraw-
Hill, Britain.
[8] Wade S., Dunnigan M. & Williams B. 1994, 'Simulation of Induction Machine
[9] Nash J. N. 1996, ‘Direct Torque Control Induction Motor Vector Control Without
[11] Zabaneh E. S. 2000, Field Orientated control of induction motor drives, Curtin.
[12] www.microchip.com
[13] www.analog.com/publications/press/products/ADMC330_100896.html
[14] www.allegromicro.com/prod/sum/2917.htm
[15] www.best.com/~workline/g/23/273g.htm
[16] www.ti.com
[17] www.farnell.com
[18] Bose B.K. 1982, Adjustable Speed AC Drives – A Technology Status Review in
[20] Gabriel R. & Leonard S.M. 1982, Microprocessor Control of Induction Motor – A
[23] Hava A. Kerkman Russel & Lipo T. 1999, ‘Simple Analytical and Graphical
[24] Robyns B. Sente P. Buyse H. & Labrique F. 1999, ‘Influence of Digital Current
Control for induction motor and its experimental evaluation.’ IEE proceeding
[26] B Hopfensperger, D J Atkinson and R A Lakin. 2000, ‘Stator flux oriented control
of a doubly fed induction machine with and without position encoder.’ IEE
[27] K H Chao and C M Liaw. 2000,’Fuzzy robust speed controller for de tuned field
oriented induction motor drive.’ IEE proceeding electrical power app. Vol 147, no
1, January 2000.
[29] Casadei, Serra. 2000, ‘Implementaiton of a direct torque control algorithim for
[30] Congxiao Wang, Syed Nasar, 2000.’Vector Control of three phase flux reversal
machine.’ Electric machines and power systems Vol 28, May 2000.
Controlled Induction motor drives.’ Electric machines and power systems Vol 28,
June 2000.
[32] J. Holtz, The induction motor – a dynamic system, conf. IEEE, Vol 1, pp P1-P6,
Bolongna, 1994.
http://www.realtimelinux.org/articles/linux-expo/montreal/paper/indexe. html,
montreal, 2000.
[34] J Nash, Direct Torque Control induction motor Vector Control without an encoder,
[35] K.S. Huang, Effective Identification of induction motor parameters Based on Fewer
10 Appendices
10.5.1 PI controller
double Y;
Y=V*((1+t1/Ti)*X-Xold)+Yold;
If (Y>Ymax)
Y=Ymax
If (Y>Ymin)
Y=Ymin
return(Y);
double speed_err, Isa, Isb, isa, isb, isalpha, isBeta, isd, isq;
isa=Isa*InK; // standardization
isb=Isb*InK; // standardization
isalpha=isa;
isBeta=0.57735*isa+1.1547*isb;
isd=isBeta*sin(phr)+isalpha*cos(phr);
isq=isBeta*cos(phr)-isalpha*sin(phr);
flux += (lh*isd-flux)*tl/Tr;
flux = tabs(flux);
10.5.7 Slip
slip = (lh*isq)/(Tr*flux);
if ( ref_speed == 0.25 ){
bl = 0;
b2 = 0;
b3 = 0;
} else <
speed_err=(ref_speed/100.0)-speed;
speed_errold=speed_err;
isq_refold=isq_ref;
isd_ref=O.3;
isd_err=isd_ref-isd;
isd_errold=isd_err;
u_qold=u_q;
isq_err=isq_ref-isq;
isq_errold=isq_err;
u_qold=u_q;
u_abs=sqrt(u_d*u_d+u_q*u_q);
if (u_d>0)
phu_dq==atan(u_q/u_d);
else
phu_dq=atan(u_q/u_d)+pi;
phu_s=plu_dq+phr;
u_b=(u_abs * sin(phu_s));
machinery