Digital Control of a Three Phase

Induction Motor


By



Michael Filippich


School of Information Technology and Electrical Engineering
University of Queensland, Queensland 4072


This thesis is submitted in fulfillment of
the requirements of the degree of


Electrical Engineering


at


The University of Queensland
October 2002




1
Abstract

Over the past two decades technological advances in power electronics and an increasing
demand for high performance industrial machinery has contributed to rapid developments in
digital motor control. This field of study has numerous applications in the areas of
manufacturing, mining and transportation. Such is the diversity of digital motor control that it
is sometimes difficult to determine which techniques are best suited to a particular application.
The purpose of this thesis was to research, design, simulate and implement the most feasible
induction motor control algorithm for use in an Electric Vehicle Application.

For those readers who are unfamiliar with the practical aspects of induction motor control a
thorough review of electric machinery, power electronics and Pulse Width Modulation
strategies was presented. A number of mathematical techniques that are particularly relevant
to this thesis were also revised. The theory behind Volts per Hertz control, Field Oriented
Control and Direct Torque Control was presented with a particular emphasis on each
algorithms practical implementation on a DSP system. A thorough evaluation of these control
strategies was also performed using criteria that included their computational complexity,
steady state and dynamic performance, resilience to parameter variation and whether or not
they could be operated on existing hardware.

As a result of this comprehensive analysis, the Field Oriented Controller was selected as the
most feasible design option. The performance of this control algorithm was thoroughly tested
using the dynamic system modeling package Simulink. Through these simulations possible
parameters for the controller’s practical implementation were determined. The control
algorithm was then implemented on a Texas Instruments DSP using TI’s Digital Motor
Control Library. A procedure for testing the controller on an induction motor workbench was
also outlined. Unfortunately at the time of writing this thesis document the workbench was
still under construction meaning that results could not be obtained safely. Future work in this
very rewarding field of research was also detailed.
2
1.0 Introduction

Major improvements in modern industrial processes over the past 50 years can be largely
attributed to advances in variable speed motor drives. Prior to the 1950’s most factories used
DC motors because three phase induction motors could only be operated at one frequency [1].
Now thanks to advances in power electronic devices and the advent of DSP technology fast,
reliable and cost effective control of induction motors is now common place.

In 1997 it was estimated that 67% of electrical energy in the UK was converted to mechanical
energy for utilization [2]. At the same time the motor drive market in Europe was in excess of
one billion pounds. The increase in the use of induction motors was largely attributed to
major oil and mining companies converting existing diesel and gas powered machinery to run
off electricity [2]. Over the past five years however, the area of AC motor control has
continued to expand because induction motors are excellent candidates for use in Electric or
Hybrid Electric Vehicles.

In this application high performance control schemes are essential. Over the past two decades
a great deal of work has been done into techniques such as Field Oriented Control, Direct
Torque Control and Space Vector Pulse Width Modulation. Another emerging area of
research involves the application of sensorless control. This differs from conventional
methods because it doesn’t require mechanical speed or position sensors. Removing these
sensors provides a number of advantages such as lower production costs, reduced size and
elimination of excess cabling. Sensorless drives are also more suitable for harsh inaccessible
environments as they require less maintenance. This undergraduate thesis thoroughly
investigated the aforementioned techniques and used them to develop a Field Oriented Control
Scheme for use in an Electric Vehicle.





3
As part of this thesis:
1. Current advances in motor control hardware and Pulse Width Modulation
techniques were investigated.
2. A number of high performance control schemes were evaluated.
3. The feasibility of implementing these control schemes using existing
hardware was considered.
4. Simulink modeling of the chosen controller was carried out to investigate
its dynamic and steady state performance. These simulations also aided in
the selection of controller parameters.
5. A hardware and software design to implement the chosen control
structures was detailed.
6. A testing procedure for the controller was outlined.
7. The future direction of this work was detailed to enable the ideas presented
in this thesis to be further developed.





















4
2.0 Hardware Overview

2.1 The Induction Machine

Three phase induction motors are
rugged, cheap to produce and easy to
maintain. They can be run at a
nearly constant speed from zero to
full load. Their design is relatively
simple and consists of two main
parts, a stationary stator and a
rotating rotor. The two main classes
of induction motor differ in the way
in which their rotors are wound. The
rotor windings in a conventional
wound rotor are similar to the stator windings and are usually connected in a uniformly
distributed Wye [3]. The squirrel cage motor has a very different arrangement to this. A cage
rotor consists of bare aluminium bars that are short circuited together by being welded to two
aluminium end rings. The motor used in this thesis was a three phase squirrel cage motor.
Figure 2.1 - Induction Motor Cross Section [17]

Despite their benefits, induction machines have one major drawback, which is that that their
speed is determined by the frequency of the supply. The reason for this can be better
understood when the operating principle of the motor is studied. Unlike DC motors it is
difficult to obtain decoupled control of the torque and flux producing components of the stator
current. The issue is further complicated because there is no direct access to rotor quantities
such as rotor flux and currents [3]. In an induction machine the alternating currents from the
three phase source flow through the stator windings producing a rotating stator flux. The
speed of rotation of this field is dependent on the number of poles in the motor and the
frequency of supply. The field induces a voltage in the rotor bars, which in turn creates a large
circulating current. Because the induced rotor current is in the presence of the rotating
magnetic field it is subject to Lorentz’s force. The sum of the Lorentz forces on the rotor bars
produces a torque that drives the rotor in the direction of the rotating field.
5
When the field is first generated the rotor is at rest so it rapidly accelerates to keep up with the
rotating flux. As its speed increases the rotor bars are not cut as much by the rotating field so
the voltage decreases. If the rotor speed equals the flux speed it will no longer be cut by the
field and will start to slow down. This is why induction machines are referred to as being
asynchronous because the rotor speed never equals the synchronous speed [3]. The difference
between these two quantities is known as the slip speed and is a very important quantity for
controller designs.
2.2 AC Induction Motor Drives

Power electronic devices known as motor drives are used to operate AC motors at frequencies
other than that of the supply. These consist of two main sections, a controller to set the
operating frequency and a three phase inverter to generate the required sinusoidal three phase
system from a DC bus voltage.

2.3 Three Phase Voltage Source Inverter

The most common three phase inverter topology is that of a switch mode voltage source
inverter. This generates an AC voltage from a DC voltage source when a Pulse Width
Modulated waveform is used to switch the MOSFETs in each of the three converter legs.
Although the power flow through the device is reversible, it is called an inverter because the
predominant power flow is from the DC bus to the three phase AC motor load. Bi-directional
power flow is an important feature for motor drives as it allows regenerative breaking i.e. the
kinetic energy of the motor and its load is recovered and returned to the grid when the motor
slows down [4]. In an AC grid connected motor drive, a second converter is required between
the drive and the utility grid, which acts as a rectifier during the motoring mode and an
inverter during the breaking mode. An additional benefit is unity power factor (sinusoidal)
current flows to or from the grid. In an electric vehicle application, the energy for the DC bus
is supplied directly from the batteries, or primary energy source.

6
3.0 Pulse Width Modulation

Although the basic MOSFET circuitry for an inverter may seem simple, accurately switching
these devices provides a number of challenges for the power electronics engineer. The most
common switching technique is called Pulse Width Modulation (PWM) which involves
applying voltages to the gates of the six MOSFETS at different times for varying durations to
produce the desired output waveform. In Figure 3.1, Q1 to Q6 represents the six MOSFETS
and a,a’,b,b’,c,c’ represent the respective control signals. In practice each switching leg may
consist of more than two MOSFETs in order to reduce switching losses by paralleling the on
resistance.













Figure 3.1 - Basic Three Phase Voltage Source Inverter

In the following equations the control signals are represented by logic values that are equal to
1 when the MOSFET is on and 0 when it is off. In AC induction motor control when the
upper MOSFET is switched on i.e. a,b,c is 1 the corresponding lower MOSFET is switched
off i.e. a’,b’,c’ = 0. Using complementary signals to drive the upper and lower MOSFETS
prevents vertical conduction providing that the control signals don’t overlap. From the states
of a,b,c the phase voltages connected to the motor winding can be calculated using the
following matrix representation:

7

− −
− −
− −
=

c
b
a
V
V
V
V
dc
c
b
a

2 1 1
1 2 1
1 1 2
3
1
(Equation 3.1)
Knowing the phase voltage for a given switching state is important for the technique known as
Space Vector Pulse Width Modulation which will be discussed in detail in section 3.2.
3.1 Sine-Triangle PWM of Three Phase Inverteres

One commonly used PWM scheme is called carrier based modulation. This uses a carrier
frequency usually between 10 to 20 kHz to produce positive and negative pulses of varying
frequency and varying width [5]. The pulse widths and spacings are arranged so that their
weighted average produces a sine wave. Increasing the number of pulse per half cycle reduces
the frequency of the output sine wave whilst, increasing the pulse widths increases the
amplitude [1].

In sine-triangle PWM a triangular carrier waveform of frequency f
s
establishes the inverter
switching frequency. This is compared with three sinusoidal control voltages that comprise
the three phase system. The output of the comparators produces the switching scheme used to
turn particular inverter MOSFETS on or off. These three control voltages have the same
frequency as the desired output sine wave which, is commonly referred to as the modulating
frequency, f1. The modulation ratio is equal to mf = f1/fs. The value of mf should be an odd
integer and preferably a multiple of three in order to cancel out the most dominant harmonics
as these are responsible for converter losses [3]. One limitation of the sine triangle method is
that it only allows for a limited modulation index, so it doesn’t fully use the DC bus. The
modulation index can be increased by using distorted wave forms that contain only triplen
(multiples of three) harmonics. These form zero sequence systems where the harmonics
cancel out resulting in no iron losses [5] [18].
Figure 3.2 – Single Phase Sine-Triangle Modulation [9]
8
3.2 Space Vector PWM

The proliferation of power electronic devices has led to a demand for more effective Pulse
Width Modulation strategies. Problems such as harmonic distortion in the phase currents are
responsible for copper losses in the induction motor. Although the current waveform can be
improved by increasing the frequency of the carrier wave this approach reduces copper losses
at the expense of increased switching losses. To overcome the limitations of existing
switching strategies a new technique known as Space Vector Pulse Width Modulation
(SVPWM) is becoming widely used in industry.

SVPWM is a highly efficient method of generating the six pulsed signals for the inverter stage
of the motor drive. Conventional switching techniques treat each phase as a separately
generated sinusoid that is displaced by 120 degrees. However, a change in the voltage of one
half-bridge due to switching invariably influences the other two phase voltages [6]. SVPWM
evaluates the switching scheme as a whole which results in better use of the DC bus and
generates significantly less harmonic distortion than the sine triangle method [6].

3.2.1 Overview of Space Vectors

Representing three phase quantities as Space Vectors is particularly useful for power
electronic applications. Essentially this methods defines a three phase system with a single
unity vector
u
s
= (1 + a + a
2
) where
3
j
2
e
π
= a (Equation 3.2)
Using this unity vector, a space vector representation of phase voltages v
a
, v
b
, v
c
is therefore
) (
3
2

2
c b a
v v v a a v + + = (Equation 3.3)

The 2/3 scaling factor is necessary to ensure that the system remains power invariant [7].

9
3.2.2 The Space Vector Switching Pattern

There are eight possible combinations of switching patterns for the three upper MOSFETs of
the inverter switching legs. The phase and line to line voltages generated by each of these
combinations can be calculated from equation 3.1 and are expressed as a fraction of V
dc
. The
results of this are presented in Table 3.1.

a b c v
a
v
b
v
c
v
ab
v
bc
v
ca

0 0 0 0 0 0 0 0 0
1 0 0 2/3 -1/3 -1/3 1 0 -1
1 1 0 1/3 1/3 -2/3 0 1 -1
0 1 0 -1/3 2/3 -1/3 -1 1 0
0 1 1 -2/3 1/3 1/3 -1 0 1
0 0 1 -1/3 -1/3 2/3 0 -1 1
1 0 1 1/3 -2/3 1/3 1 -1 0
1 1 1 0 0 0 0 0 0

Table 3.1
For each switching combination a voltage space vector can be constructed using the phase
voltages and equation 3.3. When these space vectors are plotted on a set of real and imaginary
axes the switching diagram in Figure 3.3 is obtained. The switching space vectors divide the
axes into 6 equally sized sectors. The two null vectors 000 and 111 are located at the origin.










10
Figure 3.3 Switching Voltage Space Vectors
3.2.3 Generating a Reference Voltage

The objective of SVPWM is to approximate a
reference space vector V
ref
somewhere within the
transcribed circle of Figure 3.4 using a
combination of the eight switching vectors. One
method is to set the average voltage of the
inverter over a time period T
pwm
to be equal to
the average voltage of the reference space vector
in that period. This is done by time modulating
the two adjacent switching vectors that set the
bounds for the sector the reference vector is
currently in. The binary representation for two adjacent switching vectors differs by one bit so
only one of the upper transistors needs to change. This improves the inverter’s performance
and significantly simplifies the digital implementation of the algorithm [9].
Figure 3.4 – V
ref
Mapped onto the Switching Pattern

If we assume that the switching frequency is high and that the change in V
ref
over this period
is small then the modulation scheme can be represented using the following equation [10]:
T
pwm
V
ref
=
3
2
(T1V
switch x
+ T2 V
switch x + 1
+ T3V
Null
)

(Equation 3.4)


Where V
switch x
and V
switch x + 1
represent the adjacent switching vectors for sector x. V
Null
is the
null switching vector and T1, T2 and T3 are the durations for each switching vector.
The sum of T1 and T2 is less than or equal to V
ref
so the null vector V
Null
is activated for time
T3 to make up the rest of the switching period such that:
T
pwm
= T1 + T2 + T3 (Equation 3.5)

11
The length of the reference vector determines the magnitude
of the output voltage, while the speed with which the vector
rotates around the circle determines the frequency of the
three phase system. In a motor application the direction of
the rotor depends on whether the reference vector is rotating
clockwise or anti-clockwise.
Figure 3.5 – Generating V
ref
in Sector I
3.2.4 Comparison of SVPWM with Sinusoidal PWM

The maximum reference voltage for triangular carrier PWM can be show to equal V
DC
/2.
Using equation 3.1 it can be shown that the length of each of the switching space vectors is
2/3 V
DC
. By connecting the ends of the space vectors a hexagon is formed which is the locus
for the maximum output voltage [11]. The maximum reference voltage for SVPWM traverses
a circular locus within the hexagon which by simple trigonometry can be shown to equal
DC
V 3 / 1 . This means that for a given DC bus voltage, SVPWM can generate a reference
voltage 3 / 2 times larger than triangular carrier PWM [11].

















Figure 3.6 Comparison Between Different PWM Techniques [11]









12
4.0 Mathematic Transforms Used In Motor Control

Before discussing the various motor control schemes a basic understanding of three phase
transforms is essential. The two most common transforms applied to induction motors are
known as Clarke and Park transforms. The Clarke transform matrix and its inverse is given by
Equation 4.1 below [6]:

− −
− =


− −
=
1
2
3
2
1
1
2
3
2
1
1 0 1
T
2
1
2
1
2
1
2
3
2
3
0
2
1
2
1
1
3
2
T
0
1 -
0
αβ
αβ





The Clarke transform is used to convert a three phase system to a two phase time variant
system with fixed α and β axes. An additional zero sequence component is added so that the
transform is bi-directional. In motor control the α and β axes are normally fixed at the stator.
The Clarke transform of a three phase system is directly related to the space vector
representation of a system via the following equation:
where
3
j
2
e a
π
= (Equation 4.2)
2
1 a a ju u + + = −
β α

Most inverter control strategies specify the output reference voltages using the α and β axes.
Using equation 2.1 these values can be directly generated using SVPWM. In fact most motor
control applications label the axes of the switching space vectors as α and β rather than real
and imaginary. The switching vectors themselves however, remain unchanged.

In the analysis of three phase induction motors the Clarke Transform is combined with a
similar technique known as the Park transform. The transform matrices for the combined
Clarke-Park transform are show below in Equation 4.3 [6].

1
3
2
sin
3
2
cos
1
3
2
sin
3
2
cos
1 sin cos
T
2
1
2
1
2
1
3
2
sin
3
2
sin sin
3
2
cos
3
2
cos cos
3
2
T
0
1 -
0

|
.
|

\
|
+ − |
.
|

\
|
+
|
.
|

\
|
− − |
.
|

\
|


=

|
.
|

\
|
+ − |
.
|

\
|
− − −
|
.
|

\
|
+ |
.
|

\
|

=
π
θ
π
θ
π
θ
π
θ
θ θ
π
θ
π
θ θ
π
θ
π
θ θ
d d
d d
d d
dq
d d d
d d d
dq
13
This converts a three phase system to a two coordinate time invariant system that is fixed at a
particular reference angle. Once again a zero sequence component is introduced so that the
conversion is bi-directional. In Field Oriented Control the reference angle is set to the rotor
flux angle and the positive q axis is defined as leading the positive d axis by π / 2. This allows
decoupled control over the rotor flux and torque in a similar way to DC machines. This
control strategy will be discussed in considerable detail in section 2.33.
5.0 The Induction Motor Model

The induction motor model has been in use for some time now and is well characterized both
experimentally and theoretically. It has also been derived in a number of different reference
frames. For control purposes the model is often expressed in an arbitrary two axis rotating
reference frame. This makes it easier for the control designer to fix the reference frame to a
particular motor quantity and adjust the model accordingly. The motor quantities are
calculated as follows:
( )
m lr r
m ls s
ds m dr r dr
qs m qr r qr
dr m ds s ds
qr m qs s qs
ds qs qs ds e
qr r e dr dr r dr
dr r e qr qr r qr
qs e ds ds s ds
ds e qs qs s qs
L L L
L L L
i L i L
i L i L
i L i L
i L i L
i i P T
dt
d
i R v
dt
d
i R v
dt
d
i R v
dt
d
i R v
+ =
+ =
+ =
+ =
+ =
+ =
− =
− − + =
− + + =
− + =
+ + =
λ
λ
λ
λ
λ λ
λ ω ω λ
λ ω ω λ
λ ω λ
λ ω λ
2
3
) (
) (












Figure 5.1 Equivalent Circuit [8]

Where the subscript s corresponds to stator, r corresponds to rotor, d corresponds to direct
axis, q corresponds to quadrature axis and l corresponds to leakage. T
e
represents torque while
P is the number of poles. The equivalent circuit is shown in Figure 5.1.
14
6.0 Motor Control Strategies

6.1 The Evolution of High Performance Motor Drives

To fully appreciate the operation of high performance motor control strategies it is beneficial
to understand the origins of motor control. Until recently induction motors have been plugged
directly into the supply (Direct Online DOL) or operated using the relatively crude Open Loop
Volts per Hertz (V/Hz) control strategy. Both techniques cause problems with efficiency,
reliability and electromagnetic interference. Obviously DOL motors can only be operated at
the supply frequency and are therefore incapable of variable speed control. Although the
V/Hz strategy can provide speed variation it is unable to provide reliable control under
transient conditions and can often cause circuit breakers to trip. Another problem with open
loop control strategies is that they are only suitable when the motor can be operated at steady
torque without speed regulation.

The need for more precise control over torque and speed led to the development of closed loop
V/Hz controllers and other algorithms based on the induction motor model. The problem with
using the machine model is that the electromagnetic characteristics are only valid in steady
state so high peak voltages and currents still occur under transient conditions. These motor
control strategies were also based on sinusoidal PWM which is not suited to closed loop PI
regulation. Replacing the PI regulators with hysteresis controllers can slightly improve
performance at the expense of high bandwidth noise that it hard to filter from the system.
Another problem with early control strategies is that they were unable to consider phase
interaction and could only be operated as synchronous or asynchronous, but not both.

To overcome these limitations a new approach to motor control was required. This was
provided in the early 1970’s by Hasse and Blaschke who developed the theory of Field
Oriented Control (FOC) and later in the mid 1980’s by Takahaski and Dependbrock who
created Direct Torque Control (DTC) [14]. These strategies are the foundation for every high
performance control scheme used today.

15
6.2 Volts per Hertz Control

Although it has been superseded open loop Voltz/Hertz control or Scalar Control as it is
known, is still widely used in applications that don’t require precise speed control such as fans
for Heating Ventilation and Air Condition (HVAC). This method is based on the torque speed
curve for an induction motor. The shape of this curve depends on the voltage and frequency
applied to the stator. By fixing the supply frequency and hence the motor speed, the torque
can be varied as the square of the applied voltage. To maintain the air gap flux at its rated
value the voltage and frequency should be varied in the same proportion i.e. if you double the
frequency you need to double the supply voltage [15]. Providing the ratio between voltage
and frequency remains constant maximum torque can be applied throughout the motors speed
range. At low frequencies the supply voltage is also low so the voltage drop caused by the
stator resistance cannot be neglected. To compensate for this the voltage below a certain
frequency is maintained at a fixed value and the V/Hz relationship is abandoned. Similarly at
high frequencies the voltage is fixed at a maximum value to avoid insulation breakdown.


Figure 6.1 The graph on the left shows the Torque Vs Slip characteristics of an induction
.motor. The graph on the right shows the Volts per Hertz relationship.


16
6.3 Field Oriented Control

In a separately excited DC machine the axes of the armature and field currents are orthogonal
to one another. This means that the magneto motive forces established by the currents in these
windings are also orthogonal. If iron saturation is ignored the developed torque is equal to [6]:

current armature
flux ) (
where
) (
=
=
=
a
f
a f a em
I
I
I I k T
φ
φ
Equation 6.1

This means that the flux is dependent solely on the field winding current. If the flux is fixed
then the torque is varied directly by the armature current. It is for this reason that DC
machines are said to have decoupled or independent control over torque and flux.

Unfortunately the operation of induction machines is much more complicated. Induction
motors are coupled, non linear, multivariable systems whose stator and rotor fields are not
held orthogonal to one another. In order to achieved decoupled control over the torque and
flux producing components of the stator currents a technique known as Field Oriented Control
is used.
6.3.1 The Structure of Field Oriented Control

A block diagram for a Field Oriented Controller can be seen on the following page. This
design uses a more robust structure known as indirect FOC, meaning that the rotor angle isn’t
determined directly by measuring the air gap flux with hall-effect sensors. These sensors are
not particularly suited for use in large industrial motors as they can be fragile and sensitive to
temperature change [6]. Instead the rotor flux angle is calculated from a mechanical speed
sensor or encoder.
17


Figure 6.2 - A Field Oriented Controller Block Diagram

The key component of the FOC strategy is the Clarke and Park transform blocks. As can be
seen in Figure 6.3 these map the three phase stator currents onto a direct and quadrature
rotating reference frame that is aligned with the rotor flux. This decouples the torque and flux
producing components of the stator currents allowing the induction motor to be controlled in
much the same was as a separately excited DC machine. The d-axis component of the stator
current is related to the rotor flux magnitude via Equation 6.2:
ds m
dr
i L = λ
The torque is related to the q axis component
of the stator current and is represented by
Equation 6.3:
qs
dr
r
m
em
i
L
L P
T λ
2 2
3
=
Figure 6.3 - Vector Mapping
18
Instead of directly solving the above equations three PI regulators are used to set the output
reference voltages. The first PI regulator compares the speed set point with the measured
mechanical speed of the rotor and produces the stator current quadrature axis reference, i
sqref
.
The stator current direct axis reference i
sdref
is usually kept constant at the value required to
produce the nominal rotor flux. To operate the motor above its nominal speed a technique
known as Field Weakening is used to reduce the rotor flux. This will be discussed in more
detail in Section 6.3.3. The reference currents are compared with the measured stator currents.
The error is used by the PI regulators to generate the output stator voltages in the direct and
quadrature axes. These are transformed back onto the α and β axes using the inverse park
transform to allow the output voltage to be generated directly using SVPWM.
6.3.2 Determining the rotor flux angle

Knowledge of the rotor flux angle is essential for accurately applying the Clarke and Park
transforms. If this angle is incorrect the flux and torque producing components of the stator
current are not decoupled and true field oriented control is not achieved. Induction motors are
asynchronous machines so the flux speed is not equal to the mechanical speed of the rotor due
to the effect of slip. To determine the rotor flux angle you first need to calculate the slip using
the following equation:
ds
qs
r
r
r e s
i
i
L
r
= − = ω ω ω Equation 6.4
once you have obtained the slip the rotor flux angle is simply equal to

∫ ∫
+ =
m s
ω ω θ Equation 6.5

An alternative method for calculating the rotor flux position that is more suitable for discrete
time implementation is called the current model. This calculates the following two equations
using the measured values for direct and quadrature currents and rotor mechanical speed.
current g magnetizin the i and position flux rotor the is where
mR
θ
ω
b mR
qs
R
R
s
mR
mR
R
R
ds
i
i
R
L
n f
i
dt
di
R
L
i
+ =
+ =
Equation 6.6

Equation 6.7
19

1
1
1
1
) (
: follows as is form discrete The
+
+
+
+ =
− + =
+
k
k
k
k k k k
mR
qs
b R
R
k s
mR ds
R
R
mR mR
i
i
L
R
n f
i i
L
R
T i
ω
i Equations 6.8 and 6.9
The value
R
R
L
R
T is often represented as K
t
and
b R
R
L
R
ω
is often represented as K
r

Once f
s
has been calculated the rotor flux position
cm
θ is computed as
T f
k k k
s b cm cm
ω θ θ + =
+1
Equation 6.10
6.3.3 Field Weakening

Field Weakening is a technique used to operate a motor above its nominal speed. This
requires precise control over rotor flux which makes it an ideal candidate for use with FOC.
At and below the rated speed the rotor flux is maintained at its nominal value to achieve the
maximum level of torque production. Above nominal speed the back EMF generated by the
motor is large enough given DC bus limitations to limit the phase currents. This causes
magnetic saturation and heat dissipation that reduces torque production and drive efficiency.
By reducing the rotor flux the high efficiency operating range of the drive can be extended
beyond the nominal speed. This approach is called Field Weakening and allows the motor
speed to be quadrupled under certain operating conditions.

The best way to understand this technique is to refer to a motor’s torque-speed curve
(Figure 6.4a). Mechanical power is proportional to the product of torque and speed and the
maximum power is reached at rated torque and speed. If the speed is greater than the nominal
value the torque production must be reduced so as not to exceed the power limits of the motor
[17]. In the Constant Power region the torque is inversely related to speed whilst in the
Constant Power x Speed region torque behaves as the inverse function of speed squared. The
break between the Constant Power region and the Constant Power x Speed region is derived
from the maximum steady state torque function which is equal to:
20

Equation 6.11
Figure 6.4 - Torque Characteristics Used in Field Weakening [17]


pairs. pole of number the is and
inductance leakage rotor and stator the are and where
) (
2
3
2
2
max
p
R S
R S
e
p
z
L L
L L
V
z
T
σ σ
σ σ
ω
+
× =

Below rated speed the maximum torque is maintained by increase the phase voltage. Once the
maximum phase voltage is reached it must remain constant meaning that
ariables equation v fixed other the from derived alue constant v a is where
2
max
K
K
T
e
ω
=

When the nominal torque curve crosses the maximum torque curve the constant
Power x Speed region has been entered and the nominal torque follows the maximum torque
as indicated by the solid black line in Figure 6.4b.

The reason the flux is reduced is to allow the maximum phase voltage to be maintained and
the desired speed to be achieved. Using the equation
qs
dr
r
m
em
i
L
L P
λ
2 2
3
= T it can be seen that
reducing the flux reduces the torque. If the power stays constant and the torque is reduced
then by definition the speed increases. Another constraint on field weakening is that the
resistive torque in the extended speed region cannot cause the phase currents to exceed their
nominal value.
21
6.4 Sensorless Control

Sensorless control is another extension to the FOC algorithm that allows induction motors to
operate without the need for mechanical speed sensors. These sensors are notoriously prone
to breakage so removing them not only reduces the cost and size of the motor but improves
the drive’s long term accuracy and reliability [8]. This is particularly important if the motor is
being used in a harsh, inaccessible environment such as an oil well.

Instead of physically measuring certain values control engineers can calculate them from a
system’s state variables. This is known as the state space modeling approach and is a
powerful method for analyzing and controlling complex non-linear systems with multiple
inputs and outputs. In high performance sensorless motor drives the two main control
techniques used are Open Loop Estimators and Closed Loop Observers. In early literature the
terms observer and estimator are often used interchangeably however most recent papers [8]
,[9] define estimators as devices that use a model to predict the speed using the phase currents
and voltages as state variables. Observers also use a model to estimate values however these
estimates are improved by an error feedback compensator that measures the difference
between the estimated and actual values. The predicted value of speed is then used by the
FOC to adjust the PWM waveform in exactly the same way as an actual measured value.

6.5 MRAS Observers

6.5.1 Overview of Control Structure

One type of closed loop observer that has been widely used in sensorless FOC is the Model
Reference Adaptive System, MRAS. Adaptive control modifies its calculations to take into
account changing parameters. Its structure consists of a reference model that doesn’t involve
the variable being estimated and an adjustable model that does. The error between these two
models is proportional to the error in the estimation of the unknown variable. This value is
used to improve the estimation of the adaptive model so that its output is equal to the output of
the reference model.
22
6.5.2 The Reactive Power MRAS Speed Estimator 6.5.2 The Reactive Power MRAS Speed Estimator

The most commonly used MRAS for induction motor control estimates speed based on
instantaneous reactive power rather than the rotor flux vector. The benefit of this MRAS is
that its reference model doesn’t use any integration so it is able to achieve a wider bandwidth
and is immune from problems cause by unknown initial conditions or drift [19]. Unlike most
other observers the calculations don’t require knowledge of the stator resistance which is
prone to thermal variation. This allows the system’s speed estimates to be more tolerant to
parameter variation.
The most commonly used MRAS for induction motor control estimates speed based on
instantaneous reactive power rather than the rotor flux vector. The benefit of this MRAS is
that its reference model doesn’t use any integration so it is able to achieve a wider bandwidth
and is immune from problems cause by unknown initial conditions or drift [19]. Unlike most
other observers the calculations don’t require knowledge of the stator resistance which is
prone to thermal variation. This allows the system’s speed estimates to be more tolerant to
parameter variation.

r MRAS Block Diagram r MRAS Block Diagram
The MRAS consists of two independent observers that estimate the instantaneous reactive
power, q maintaining the magnetizing current, i
mr
. Both models require the α and β
representation of the sampled phase voltages and two of the phase currents. Using these
values the reference model calculates q without the mechanical speed of the rotor,
The MRAS consists of two independent observers that estimate the instantaneous reactive
power, q maintaining the magnetizing current, i
gure 6.5 - Reactive Powe
mr
. Both models require the α and β
representation of the sampled phase voltages and two of the phase currents. Using these
values the reference model calculates q without the mechanical speed of the rotor,
r
ω , whilst
the adaptive model’s approximation of q is based on an estimate of
r
ω . The error between
these two outputs is put through a PI controller which drives the adaptive model to generate
the correct value of
r
ω so that it produces the same reactive power as the reference model.
The reasoning behind this approach is that it allows you to gain closed loop speed control via
the closed loop calculation of reactive power.


23
Figure 6.5 - Reactive Powe
6.5.3 The Mathematics Behind the Reactive Power MRAS

The MRAS approach is necessary because there is no simple relationship between the motor
speed and the measured phase voltages and currents. These values can however be used to
directly calculate the reactive power using two different sets of equations. This is what makes
reactive power such an excellent candidate for implementation in an MRAS.
6.5.4 Continuous Time MRAS

The first set of equations relies on the back (counter) EMF of the induction motor. This can
be obtained using the induction motor model and is expressed as:
dt
di
L i R v e
dt
di
L i R v e
s
s s s s s
s
s s s s s
β
β β β
α
α α α
σ
σ
− − =
− − =


The reactive power is equal to the cross product of stator current and back emf vectors i.e.
q = i
s
× e
s


because i
s
= i

+ i

and e
s
= e

+ e

the equation for reactive power can be rewritten as:

r s
m
s
s
s
s s s s s s
L L
L
dt
di
i
dt
di
i L v i v i q
2
1 where − =
|
|
.
|

\
|
− − − =
σ
σ
α
β
β
α α β β α

As you can see the term that includes the stator resistance cancels out which is why this model
isn’t as sensitive to parameter variation

The equation for the Adaptive Model is also derived from the motor model and is as follows:

( )
( )
β β α
β
β α β
α
β α
β β α β
α α β α
τ τ
ω
τ τ
ω
τ
ω τ
τ
ω τ
τ
s
r
m
r
m r
s
r
m
r
m r
m m
r
r
r
s m m r
r r
m
s
s m m r
r r
m
s
i i i
dt
i i i
dt
i i
R
L
i i i
L
L
e
i i i
L
L
e
1 1
ˆ
di
1 1
ˆ
di
g integratin by calculated are and and constant rotor time the is where
ˆ ˆ
ˆ ˆ
m
m
2
2
+ − − =
+ − − =
=
+ − − =
+ − − =











24
α β β α s s s s
e i e i q ˆ ˆ ˆ
: is model adaptive by the calculated power reactive estimated The
+ =


The PI controller tunes the estimated rotor speed
r
ωˆ such that the reactive power
approximation of the adaptive model q equals the reactive power calculated by the reference
model using only measured values. The speed tuning signal sent to the PI Controller is
ˆ
q q
e
ˆ − =

ε .
When
e ∆
ε = 0 the best approximation for rotor speed as been obtained and this value is sent to
the FOC.

6.5.5 Discrete Time Implementation

For implementation on a DSP the differential equations need to be converted to difference
equations. Due to the high ratio of sampling frequency to bandwidth, approximations of
numerical integration such as forwards, backwards or trapezoidal rules can be used in the
adaptive model [19].

The equivalent discrete time implementation of the reference model is:


( )
r s
m
s s s s
s
s s s s
L L
L
k i k i k i k i
T
L
k v k i k v k i k q
2
1 where
) 1 ( ) ( ) 1 ( ) ( ) ( ) ( ) ( ) ( ) (
− =
− − − − − =
σ
σ
β α α β α β β α





The discrete time equivalent of the adaptive model is implemented as follows:
( )
( )
: follows as are and method n integratio al trapezoid the
using calculated are (k) and (k) and constant rotor time the is where
) ( ) ( ) ( ) ( ˆ ˆ
) ( ) ( ) ( ) ( ˆ ˆ
2
2
β α
β β α β
α α β α
τ
ω τ
τ
ω τ
τ
m m
r
r
r
s m m r r
r r
m
s
s m m r r
r r
m
s
i i
R
L
k i k i k i k
L
L
e
k i k i k i k
L
L
e
=
+ − − =
+ − − =

+ +

− − −

+ − + − − =

+ +

− − −

+ − + − − =
r
r s
r r
s
r
m r
r r
r
m m
r
r s
r r
s
r
m r
r r
r
m m
T
k k i
T T
k i
T
T k i k
T T
k
T
k i k i
T
k k i
T T
k i
T
T i k
T T
k
T
k i k i
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
) ( ˆ ) (
2
) ( ) 1 ( ) ( ˆ 1 ) ( ˆ
2
) 1 ( ) (
2
) ( ˆ ) (
2
) ( ) 1 ( ) ( ˆ 1 ) ( ˆ
2
) 1 ( ) (
τ
ω
τ
τ
τ
ω
τ
τ
ω
τ
ω
τ
τ
τ
ω
τ
τ
ω
α β α β β
β α β α α

k



) ( ˆ ) ( ) ( ˆ ) ( ˆ
: is model adaptive by the calculated power reactive estimated The
k e k i k e k i q
s s s s α β β α
+ =
25
6.6 The Extended Kalman Filter

An alternative approach to the MRAS observer is to use an Extended Kalman Filter, EKF.
This is a well established technique for controlling complicated processes involving noisy
measured signals that are further disturbed by random noise. It does this by working on the
assumption that noise in the measured signal is uncorrelated to the disturbance noise. The
Kalman Filter’s ability to provide an optimum observation in complex non linear
environments means that it could potentially be used for sensorless induction motor control.

The EKF algorithm is based on a mathematical model for estimating a system’s state
variables. Estimated state variable are corrected by a predictor that relies on the state space
model for the process, a state transition matrix, a disturbance covariance matrix Q, a state
covariance matrix P and a measurement covariance matrix R. The state covariance matrix is
calculated from a complex system of equations that approximate the rotor flux over time. An
example of some of the equations that need to be solved can be seen in Figure 6.6. A
thorough explanation of how these equations are derived and solved is beyond the scope of
this thesis. The only reason they are listed is to give the reader an idea of the complexity of
the algorithm. An EKF is far too difficult to run on most DSP controllers as it uses inverse
matrices and a large number of matrix multiplications. Even when it is implemented on a PC
or high power DSP its performance is generally substandard due to its significant reliance on
motor parameters and the difficulty in accurately predicting state variables. It is the opinion of
this thesis that the Reactive Power MRAS observer is the best option for Sensorless FOC.

26

Figure 6.6 - Kalman Flux Equations
6.7 Classical Direct Torque Control

Direct Torque Control DTC is an entirely different approach to induction motor control that
was developed to overcome FOC’s relatively poor transient response and reliance on
induction motor parameters. The standard closed loop FOC structure consists of
1. a number of coordinate transforms to decouple flux and torque
2. a current model to estimate the rotor flux angle
3. two PI controllers for the direct and quadrature currents
4. an additional PI controller to regulate the speed.

In DTC the first three components are removed and replaced by two hysteresis comparators
and a look up table. Another benefit is that it can calculate torque without the need for
complex observer algorithms or mechanical speed sensors. In many variable speed drives
torque control is necessary but precise closed loop control of speed is not. One example of
this is in an Electric Vehicle application where a torque set point is provided from a user input
such as an accelerator. By using DTC instead of FOC the electric vehicle’s motor is able to
closely mimic the operation of an internal combustion engine.

Figure 6.7 - DTC Look Up Table – [15]
In the classical DTC algorithm
proposed by Takahaski and
Depenbrock [14] decoupling
of nonlinear AC motor
characteristics is achieved by
the on-off operation of the
hysteresis controlled PWM. In
a similar method to FOC, flux and
torque are used as feedback signals
for the controller. Instead of using PI controllers to determine the output reference voltages
for the inverter, DTC uses a look up table (Figure 6.7). The errors in torque, stator flux
magnitude and angle are used as the inputs for this table. Each of these variables is discretized
into a specific number of levels using a hysteresis comparator. The error in magnitude of the
stator flux is 1 if it is two low and 0 otherwise. Torque error is represented using three levels
27
with -1 being too high, 0 being acceptable and 1 being too low. Finally the stator flux angle is
discretized into six, 60 degree sectors corresponding to the regions bounded by the PWM
space vectors. Using these inputs Takahasi and Dependbrock constructed the optimal
switching vector selection table in Figure 6.7 [15]. This generates the best output voltage for a
given set of conditions. As you can see the null switching vectors are applied when the
torque is within given hysteresis limits.

Unfortunately the classical DTC algorithm has some significant limitations. Although
removing the stator current PI controllers improves the transient response time, the use of
hysteresis controllers means the algorithm is unable to distinguish between small and large
variations in reference values. Also the variation of flux and torque over one sector is
considerable. Another problem with classical DTC is that it was originally designed using
analog comparators that addressed a ROM chip containing the selection table. In order to
obtain precise estimates of stator flux and torque the algorithm needs to be implemented on a
DSP. Adapting classical DTC to the confines of a DSP’s sampling period can significantly
decrease its performance.
6.8 DTC with Space Vector Pulse Width Modulation

Over the years much research has been done into improving the discrete time implementation
of DTC using complex lookup tables and fuzzy logic. A more effective alternative is to avoid
the use of hysteresis control altogether and implement the DTC algorithm with SVPWM. This
approach substitutes the measured values of current and voltage into the induction motor
model to estimate the instantaneous stator flux vector and torque. These are then used to
calculate the required output voltage to drive the torque to the reference value. Once the
voltage has been determined it can be synthesized using SVPWM.






Figure 6.8 - DTC with SVPWM – [19]
28
The stator flux space vector
s
λ is estimated using the equation
( )dt I r V
s
s
s
s
− = λ
This equation requires the previously applied voltage vector and stator current.
The torque is estimated from the cross product of the stator flux space vector and the current
space vector. As you can see both space vectors are defined using the α and β axes of the
Clarke transform.
( ) ( )
s s s s s s em
I I
P
I
P
T
α β β α
λ λ λ − = × =
2 2
3
2 2
3

Once the magnitude of the stator flux and output torque is known the error between the
measured and reference value can be determined. Using this error the voltage vector V
ref

required to drive the torque and flux to the reference value can be calculated from the
following two equations :
( ) ( ) ( ) ( ) ( )
( ) t V t V t V
E E V V
L
t P
E V
L
t P
T
s
s s s s
s
s
s
em
∆ + ∆ = ∆ = ∆
+ − + −


= − ×


= ∆
β α
α β β α α β β α
λ
λ λ λ λ λ

2 2
3

2 2
3


This is a system of two equations with two unknowns that can be solved using the quadratic
formula. When compared to FOC there is significantly more computation for the enhanced
performance of DTC with SVPWM. It is for this reason that a many commercial DTC motor
drives implement the algorithm using a DSP interfaced to an FPGA. The FPGA does most of
the hardware interaction such as A/D conversion, generation of switching signals via SVPWM
and Quadrature Encoder speed measurements if closed loop speed control is required for the
particular application. This allows the DSP to focus on the high speed mathematical
computation required for a suitable PWM switching period.

Another problem with this algorithm is that because it lacks PI current controllers it can
saturate the PWM outputs under transient conditions. This is because the torque and or flux
error may be so large that the reference value cannot be obtained in one switching period. The
methods for dealing with this introduce further computational complexity and are outside the
scope of this thesis.

29
7.0 Evaluation of Controller Feasibility

The following table summarizes the advantages and disadvantages of the different controller
designs.

Controller Type Advantages Disadvantages
V/Hz Simplest method of obtaining
variable speed control.
Poor transient performance and
steady state inaccuracy due to slip.
FOC Well established technique
that allows precise, decoupled
control over torque and flux.
Can be implemented using
hardware that is already
available.
Sensitive to parameter variation.
Uses PI current regulators that
decrease transient performance.
Requires a mechanical speed sensor.
Sensorless FOC - MRAS Widely used Sensorless
technique that is resistant to
parameter variation. Doesn’t
require a significant increase
in computation compared to
standard FOC.
May be affected by the noisy
environment of the motor.
Mechanical losses are not accounted
for by this model. Accuracy of
estimates reduces at low speeds.
Sensorless FOC - EKF High-performance optimal
observer that is reliable under
noisy, non-linear conditions.
Too complex to implement on a
standard DSP. Has been shown to
have difficulty in predicting
induction motor state variables [21].
Classical DTC Simple, sensorless algorithm
with excellent transient
performance.
More suitable for analog
implementations. Uses hysteresis
control which introduces high
bandwidth noise.
DTC with SVPWM Provides the benefits of
classical DTC with those of
SVPWM. Output reference
voltage isn’t limited by the
discretized levels used in
hysteresis controllers thus
improving performance.
Computationally intensive algorithm
that requires a system of quadratic
equations to be solved. Would
require new hardware to be
developed. It can also have
problems with large changes in
reference values.





30
After carefully considering all the control schemes it was decided that this thesis will further
develop:
1. an Open Loop V/Hz controller. This is a simple algorithm to implement and will
allow the drive hardware to be thoroughly tested. It will also allow software
structures such as interrupts and Event Managers to be configured. These structures
can be reused in more complicated control algorithms.
2. a FOC with speed sensing via an encoder. This will allow the basic FOC structure to
be evaluated and the various PI gains to be tuned using known speed measurements.
3. a Sensorless FOC with speed estimation via a Reactive Power MRAS. This
sensorless control structure provides reliable performance and is suitable for
implementation on a DSP.

The underlying factor in choosing these particular controller designs is that they can all be
used with existing hardware.










31
8.0 Simulink Modelling
8.1 Overview

Simulink is a software package that utilizes the computational tools of Matlab to analyze
complex dynamic systems. The program is capable of solving both linear and non linear
processes so it is perfectly suited to simulating asynchronous induction motors. The first step
in modeling a controller is to create a block diagram representation of its algorithm. This can
be constructed from existing blocks in the Simulink library or from those created by the user.
Although it is possible to incorporate Matlab m-files directly into Simulink this significantly
decreases the performance of the simulation. If it is necessary to use an m-file in the model it
should be structured as an S-function [19] and cross compiled into the standard block format.
Fortunately for the simulations in this thesis no S-Functions were required.

Once the block diagram has been developed it can be simulated using any number of different
solvers. These compute the internal state variables of the blocks by solving their respective
Ordinary Differential Equations. Choosing the appropriate solver can significantly decrease
the computation time and improve the accuracy of the simulation. This decision is largely
dependent on whether the controller model is implemented in discrete time using z variables,
or continuous time using the Laplacian s variable. The main difference between a discrete
and continuous model, is that the discrete time blocks respond to input changes with a fixed
period and hold their outputs constant between successive samples. Although discrete time
models can be solved using any of Simulink’s solvers the fixed step (no continuous states)
setting is usually the fastest. This assumes that the model is entirely discrete and that every
state variable is calculated at the same time.

In a continuous model the state variables can be calculated at any time. This requires a solver
that can operate at a rate that allows it to follow the dynamic behavior of the model. To do
this a variable step solver is used which not only performs the calculations but determines the
step size for how frequently they should occur. Although determining step size increases the
computational time it can improve the overall speed by avoiding unnecessary calculations.
Finally if a system has a mixture of continuous and discrete time blocks it must be solved
using one of the Runge-Kutta variable solvers ODE23 or ODE45.
32
8.2 A Simulink Field Oriented Controller

A Simulink Field Oriented controller was developed using components from the Power
System’s Blockset. This is a particularly useful add-on to Simulink that provides models for a
wide range of power electronic devices and control structures. The inverter hardware design
and asynchronous motor configuration was adapted from an existing Simulink file [23] and
the FOC structure was implemented using the theory outlined in Section 6.3 of this thesis.
The entire model can be seen on the next page.

The controller is simulated in discrete time to better reflect its implementation on a Digital
Signal Processor. Most of the blocks used in the design were already available in the standard
Simulink library. The only block that had to be constructed was the Theta Calculation Block
seen in Figure 8.2. This calculates the rotor flux angle using the Current Model equations
outlined in Section 6.3.2.
Figure 8.1 – Theta Calculation Block
33


Figure 8.2 – Entire Simulink Model For An FOC Controller

34
8.3 Simulation Results

Simulating the Field Oriented Controller with a 400 Volt DC supply provided a number of
worthwhile results. Figure 8.3 shows the pulse width modulated waveform generated by the
inverter using the reference currents obtained from the controller. The three phase supply as
seen by the induction motor is also displayed in Figure 8.4.

Figure 8.3 Switching Waveform


Figure 8.3
35
Figure 8.4 Three Phase Waveform
The control algorithm was evaluated under a number of different operating conditions. Figure
8.5 shows the startup characteristics of the motor with no load. As you can see from the graph
the motor slightly overshoots the speed set point of 50 radians per second before quickly
returning to this value with minimal steady state error. The amount of overshoot is perfectly
acceptable in an Electric Vehicle application as it is similar to revving a combustion engine.

















Figure 8.5 Startup Characteristics


An analysis of the motor’s speed step response was also performed. The initial reference
speed of 30 radians per second was increased to 60 after 1.5 seconds. The controller
algorithm was promptly able to respond to the speed change. The transient and steady state
performance of the controller is very impressive.






36 Figure 8.6 Speed Step Response
Finally the controllers step response to a change in loading torque was investigated. The
motor was started with a torque of 50 N.m. This value was increased to 100 N.m after two
seconds causing a drop in motor speed. The controller took less than a second to respond to
this increase in torque and return the motor to the speed set point.









Figure 8.7 Torque Step Response

8.4 Review of Simulation

On the whole the simulation results were very positive. By evaluating the speed and torque
step responses, the benefits of this algorithm could be easily verified. Modeling in Simulink
also assisted in calculating the controller parameters for a practical implementation of the
drive. The limitations of this algorithm were also examined by increasing the stator resistance
to represent parameter variation. Although this slightly increased the controller’s steady state
error the performance was still more than sufficient for an Electric Vehicle.





37

9.0 Controller Design and Implementation

9.1 Hardware Requirements

9.1.1 Induction Motor Work Bench

An induction motor workbench is required to safely test the steady state and dynamic
performance of the control schemes once they have been implemented on the DSP. The
bench will have a solid steel base upon which to mount an ASEA 0.55 kW, 4 Pole Class F
squirrel cage induction motor and a dynamometer with its own motor controller. The
dynamometer will be used to load the induction motor thus simulating the torque that will be
applied in a real industrial application. A torque / speed meter will be connected between the
induction motor and the dynamometer using flexible couplings. The DC link to the induction
motor controller will most likely be supplied through a Variac however batteries may be used
to simulate the controllers use in an electric vehicle application. A PC equipped with a
National Instruments Data Acquisition Card will be used to sample bus voltage, torque and
phase currents for diagnostic purposes.





Figure 9.1 Induction Motor Workbench
38
9.1.2 Tritium Gold Power Controller

Figure 9.2 Tritium Gold Controller
The Tritium Gold Power Controller is
a fully integrated motor drive
consisting of a three phase inverter that
is controlled by a Texas Instruments
TMS320LF2406A Digital Signal
Processor. Its design makes use of
high speed MOSFET switching
techniques that reduce the switching
losses. When used with an induction
motor running at rated supply voltage
the 200V MOSFETs that come with the board need to be replaced by 400V MOSFETs.
However, for low power testing and verification of control algorithms the 200 Volt MOSFETs
are more than sufficient. The board provides connectors for external sensors such as Hall
Effect current sensors and speed encoders. Communications with the board can be done via
an RS232 to RS485 adapter board or simply through the CAN compliant transceiver.
9.1.3 The TMS320 Family of DSPs

The TMS320 series of DSPs has been designed specifically for signal processing and control
applications. Its hardware is optimized for numeric computation and has the necessary
processing capabilities to meet the bandwidth requirements of high performance systems [23].
Through its internally hardwired logic the DSP can execute most functions in a single clock
cycle. The TMS320 family is based on a fixed point Harvard architecture that uses separate
busses for programs and data, enabling both instructions and operands to be fetched
simultaneously. Arithmetic operations can be quickly performed using the 32 bit Central
Arithmetic Logic Unit and Accumulator. The performance is further enhanced by a hardware
multiplier capable of performing 16 x 16 multiplication in a single instruction cycle. A
product scaling shifter interfaces with the multiplier to prevent overflows.

39
The TMS320LF2406A is a low voltage (3.3 V) member of the TMS320 family. It has 32 kb
of serial programmable flash, 2 kb of single access RAM and 544 bytes of Dual Access Ram.
Although it is capable of running at up to 40 MHz or 40 MIPS, a speed of 24MHz is used on
the Gold Power Controller. This is more than sufficient to run the chosen control algorithms.
The LF2406 interacts with the peripheral hardware via its two Event Mangers. These internal
units are specifically designed for motor control applications. Each unit contains a General
Purpose Timer to set the sampling period, a Quadrature Encoder Pulse (QEP) circuit to
determine the speed and three full compare/PWM units capable of generating the 6 switching
outputs for the inverter. It also has three capture pins which can be configured to respond to
external error signals or used as an alternative to the QEP circuit. The event mangers also
have an emergency PWM channel shutdown pin that can immediately drive the switching
signals to a high impedance state. Only Event Manger A was necessary to implement the
control algorithms in this thesis.
9.1.4 Speed and Postion Measurement

Figure 9.3 Encoder Design [1]
The rotor flux angle required for the
FOC algorithm can be determined using
either the rotor’s mechanical angle or
speed. In this thesis the mechanical
angle was measured using an
incremental encoder attached to the back
of the induction motor. This device
consists of an LED light source, a
rotating encoder disk, a stationary mask,
a photodetector and the necessary
electronics to amplify and condition
the output signal. The encoder disk
usually has between 500 to 2000 equally spaced and precisely machined slots. As it rotates in
front of the mask the slots allow light to pass through to the photodetector. The signal
electronics converts the output of the photodetector into a square wave electrical pulse. The
angle of the rotor can be inferred by counting the number of pulses.
40
In most encoders determining the mechanical angle is made easier by a marking pulse that is
used to clear the count every 360 degrees. The performance of an encoder is entirely
dependent on the quality of the disk. The number of slots is equal to the number of pulses per
revolution and hence determines the resolution. Most encoders used in motor control
applications are known as Quadrature Encoders. These have two channels that are 90 degrees
out of phase. The benefit of having two separate phases is that the direction can also be
determined which is important for four quadrant control. Another advantage of quadrature
encoders is that by counting the rising and falling edges on each channel the resolution can be
increased by four fold. This allows a 500 pulse per revolution encoder to count 2000 pulses
per revolution.

An alternative method of calculating the rotor flux angle is to measure the speed using a low
cost metal sprocket and a Hall Effect sensor. Every time one of the sprocket’s teeth passes
through the Hall Effect sensor a square electric pulse is generated. This pulse can be attached
to one of the DSP’s capture pins which records the time at which the pulse occurs. The speed
in radians per second is calculated by dividing the angle in radians between the sprockets teeth
by the time between pulses.
1 2
1
Teeth of Number
2
t t −
× =
π
ω









Figure 9.4 Sprocket Design [23]
The choice of whether to use a sprocket or an encoder is only dependent on the type of
hardware that is available. Both techniques provide a similar level of performance and
computational difficulty.
41
9.1.5 Phase Current and Bus Voltage Measurement

Accurate measurements of phase currents and bus voltage are desirable in all motor control
algorithms. The bus voltage is particularly important in sensorless algorithms where it is used
to determine the phase voltages. Tritum’s Gold Power controller samples the bus voltage
using Channel 9 of the DSP’s 10 bit Analog to Digital converter. The rated voltage of 415
Volts is scaled down to 3.3 V using a simple resistor voltage divider with a 100 kΩ resistor
and a 1 kΩ resistor. The two phase currents are measured in a similar fashion via channels 5
and 6 of the A/D converter. To convert the current measurement into a voltage two
Honeywell Hall Effect current sensors are used to produce an output voltage between -1.65V
and 1.65V. The polarity depends on the direction of the current so a voltage offset of 1.65
Volts is required for the signal to be in the 0 to 3.3V range of the DSP’s ADC.

9.2 Software Requirements

9.2.1 Code Composer and the DSP Development Board

Texas Instrument’s Code Composer was the chosen development environment for the control
algorithms used in this thesis. Code Composer supports both C and Assembler and provides
the ability to write, compile and link source code all in the one package. The software can be
directly interfaced with the Spectrum Digital 320LF2407 Development Board enabling code
to be debugged online and in real time. This allows the code to be stepped through line by line
and the changes in registers and variables to be monitored using watch windows. In real time
monitoring, probes can be configured to display variables on a graph. This is particularly
useful when dealing with the three phase waveforms used in motor control.


42
9.2.2 Number Formats and the Per Unit System

The TMS320LF2406A is a fixed point DSP meaning that careful consideration needs to be
given to how numbers are represented. This is important to ensure that the sign of variables is
retained and products don’t overflow when two numbers are multiplied. In motor control
most numbers are represented using the per unit system. This expresses variables as a fraction
of there nominal or base value. Referring to quantities using their base values allows the
same controller can to be used for any motor regardless of its parameters. The pu model of the
induction motor defines the stator current and flux to be equal to one when the drive has
reached its nominal speed under nominal load and magnetizing current. Under these
conditions:
b
pu
b
pu
b
pu
V
V
V
I
I
I
λ
λ
λ =
=
=

Providing that the motor isn’t operated above the nominal speed (i.e. field weakening isn’t
used) then the previous values will not exceed 1. In a fixed point DSP a pu value is stored as
a Q15 fraction which is a 16 bit signed number between -1 and 0.99999. This means that
there are 15 numeric bits and one signed bit which gives a resolution of 2
-15
, which is more
than sufficient. Another benefit of this representation is that when two pu numbers are
multiplied together there will be no overflow. For numbers that exceed 1 in the pu scale
another format known as 4.12f or Q12 can be used. This has one sign bit, three integer bits
and 12 fractional bits. It is therefore able to represent values between -8 and 8 with a
resolution of 2
-12
. Finally the standard twos complement representation of an integer is
commonly referred to as the Q0 format in DSP literature. This represents integers between
-32768 to 32767.

43
9.2.3 C-Callable ASM and the Digital Motor Control Library

Control structures are generally described using block diagrams to reflect the way signals
interact. This approach has been extended to the DSP implementation of a control system. C-
Callable ASM is a standard developed by TI for writing a functional block in assembler code
in such a way that it can be accessed directly from C. The use of assembler reduces code size,
improves speed and provides low level control over calculations. This technique is
particularly beneficial if a control structure uses a block more than once. For example the
three PI controllers in the FOC algorithm can be instanced in a C program from one generic PI
controller written in assembler. The advantage of using C to connect the blocks is that being a
higher level language it is well suited to managing variables and controlling program flow.
9.2.4 Code Structure

The code used to implement a motor controller consists of two main modules. A main ()
method (Figure 9.5) is used to create objects for the controller blocks, initialize the peripherals
and to set up the required timers and interrupts. This method then waits in a continuous while
loop that is periodically interrupted at the desired PWM switching frequency. The entire
control algorithm is implemented as a separate module within this interrupt routine.

The first task of any program is to set up the system control registers. This is done by loading
0x0089 into SCSR1 to enable the ADC, Serial Programming Interface and Event Manger A.
None of the control algorithms used in this thesis uses Event Manger B so it is disabled.
SCSR2 is then set to 0x004B which is the default value for standard DSP operation. Finally
the Watch Dog is disabled by loading 0x68 into the Watch Dog Control Register WDCR.

The configuration of interrupts and peripheral devices such as the full compare PWM unit is
done through the control registers of Event Manager A. The switching frequency and hence
interrupt period is set by the General Purpose Timer 1 (GP1) Underflow value. This means
that GP1 counts backwards from a particular value and triggers an interrupt whenever it
reaches zero. After the interrupt routine is complete the timer is reset and the countdown
begins again.
44
To initialize this process the General Purpose Timer
Configuration Register (GPTCONA) is set to 0x00CA to enable
all General Purpose timers and to signify that a GP1 underflow
automatically starts the ADC conversion of bus voltages and
phase currents. The timer 1 period register (T1PR) is set to the
maximum PWM switching period. This is equal to the
maximum clock frequency divided by twice the PWM
frequency. The timer 1 count register (T1CNT) and compare
register (T1CMPR) are both set to 0 for the GP1 underflow
interrupt. The final two registers that need to be setup to enable
the switching interrupt are the timer 1 configuration register
(T1CON) and the event manger A Interrupt Mask Register
EVAIMRA. Loading 0x0842 into T1CON starts the timer in
countdown mode while setting EVAIMRA1 to 0x0081 enables
the underflow interrupt.
Figure 9.5 Main Method

Once the interrupts have been successfully configured the Full
Compare PWM unit can be initialized. This unit automatically
generates the three upper switching signals and the
complementary lower switching signals for the inverter with
appropriate dead time by matching GP1 with the values in
three PWM compare registers CMPR1, CMPR2 and CMPR3. The unit is enabled by loading
0xCA00 into the COMCONA configuration register. The dead band is established by setting
the DBTCONA register to 0x01F4. When initializing the compare registers it is a good idea
to set them equal to the maximum PWM period. The values in these registers will later be
changed by the SVPWM controller block.

The final task of the main method is to enable Global Interrupts by setting the IMR register to
0x0003. A number of other registers need to be configured for the DSP to operate properly
however most of these use null or default values. For a full listing of these register please
consult the source code in Appendix A.
45
9.2.5 TI’s Digital Motor Control Library

One the program structure has been developed the control algorithm can be implemented
using C-Callable ASM blocks as part of the interrupt service routine. Fortunately many of the
blocks required have already been written by TI and stored in their Digital Motor Control
(DMC) Library. To access this library using the TMS320LF2406A the CLIB_010.LIB and
F2407_010.LIB files must be included in Code Composer. A block is instantiated by
#including its appropriate header file and creating an object in the source code. The main
challenge in using the DMC library is ensuring the blocks are properly configured and the
correct number format is used for the inputs and outputs. This requires an in depth knowledge
of how the blocks perform their calculations. The following section summarizes the blocks
used in this thesis.

Hardware Blocks

The following blocks are all contained in the F2407_010 library file.

ILEG2_DCBUS_DRV (F07ILVD.h)

This block initializes the DSP’s
ADC and uses it to sample the bus
voltage and two of the phase
currents. The A/D conversions are
triggered automatically by a GP1
Timer Underflow so that the values are immediately available to the interrupt service routine.
The easiest way to configure the block is to instance an ILEG2_DCBUS_DRV object with the
default values in the F07ILVD.h header file. A per unit model of the controller is used so no
scaling factors need to be specified. The only default value that needs to be changed is the Hall
Effect Voltage offset for measuring the phase currents. This needs to be specified as 0x3FFF
which is the Q15 representation of 1.65V. The outputs of this block are 3 phase currents and a
DC bus voltage which are all in Q15 format.
46
QEP_THETA_DRV (F2407QEP.h)

The QEP_THETA_DRV block
configures the DSP’s Quadrature
Encoder Pulse circuit to determine
the rotor angle. This block takes its
inputs directly from the encoder hardware and provides the rotor’s electrical and mechanical
angle in Q15 format as well as the direction of rotation as a Q0 Boolean value. The electrical
angle is used to calculate the rotor flux angle and is simply equal to the mechanical angle
multiplied by the number of pole pairs specified when the QEP_THETA_DRV object is
initialized.


Controller Blocks

The following blocks are all contained in the CLIB_010.LIB library file.

Open Loop V/Hz Blocks

RAMP_CNTL (RAMP_CNTL.h)

This block is necessary in open loop control to
ensure that the speed set point doesn’t change
too quickly causing the motor currents to exceed
their rated value and trip out. The ramp block
limits the change in speed over a set time period.
It can also restrict output values to be within a specified range. These parameters are set when
the block is initialized. The input of the ramp is the target speed. The intermediate speed set
points are calculated using the ramp.calc function. Once the target has been reached the ramp
output status flag is set.


47
V_HZ_PROFILE (VHZPROF.h)

This block is an integral part of the controller
scheme as it implements the V/Hz profile of
the induction motor in Q15 per unit form.
When the block is initialized the minimum and
maximum voltages and frequency of the
profile should be specified as well as the slope.
The block then generates the characteristic V/Hz equation. This is used to determine the
appropriate output voltage for a particular frequency input. Once again all inputs and outputs
are in Q15 format.



SVGEN_MF (SVGEN_MF.h)

The SVGEN_MF block determines the
three switching duty ratios for the Full
Compare PWM unit using the reference
voltage magnitude and frequency. This
block is used when the motor variables
haven’t been converted to the rotating
direct and quadrature axes. The outputs of this block are sent directly to the CMPR1, CMPR2
and CMPR3 registers of Event Manger A to generate the appropriate PWM waveform. One
drawback of using magnitude and frequency to define the reference space vector is that it
provides no indication of which direction the motor should be rotating. A separate Boolean
variable needs to be defined in the code to represent direction. If this is equal to 1 then the
motor is set to rotate anticlockwise meaning phases b and c need to be switched over. This is
done by simply storing the Tb output of the SVGEN_MF object in CMPR3 and the TC output
in CMPR2.


48
FOC Blocks

CLARK (incorrectly spelt in DMC library)
TI’s CLARK block converts a balanced
three phase system into a two phase
system in the stationary α and β
reference frame using the Clarke
transformation. This block is
implemented as a single C-Callable
ASM function and as such doesn’t require a header file or an object to be instanced. The
function requires two parameters. The first is a pointer to the location of a structure containing
the three phase currents the second is another pointer to a structure in which to store the
output.

PARK
Once the currents have been transformed
using the CLARK block they can be
mapped onto a rotating reference frame
using the PARK block. Once again the
function requires no header or objects to
be defined. It simply takes a structure
containing the output from the CLARK block and the per unit value of the rotor flux angle as
an input and then stores the conversion result in an specified output structure.

I_PARK
The I_PARK block implements the inverse
park transformation. This is used to
convert the controller’s reference voltage
back onto the stationary α and β axes so it
can be directly synthesized using the
SVGEN_DQ block. The operation of the
I_PARK block is used in exactly the same was as the CLARK and PARK blocks.

49
PID_REG1 (PID_REG1.h)

This block implements a standard
Proportional Integral controller that takes
a reference and feedback value as inputs
and uses the error between them to
produce a regulated output. The
proportional and integral gains need to be specified by the user and are dependent on the
particular application. A general rule of thumb is that the proportional gain should be at least
5 to 10 times larger than the integral gain [21]. In this thesis the PI gains were determined
using Simulink Modeling of the controller. To avoid saturating the reference voltage for the
three phase inverter a maximum output value is specified.

SVGEN_DQ (SVGEN.h)

This block calculates the switching
duty ratios for the PWM unit to
generate a reference voltage vector
that is defined using the α and β
axes. The operation of this block
is very similar to the SVGEN_MF
block mentioned previously however because the reference voltage is specified in vector form
rather than by its magnitude and frequency the direction of rotation can be inferred.









50
Sensorless Blocks

PHASE_VOLTAGE_CALC (VOLT_CAL.h)

This useful block allows the phase
voltages to be calculated directly from
the DC bus voltage and the three inverter
duty cycles. DC bus voltage is obtained
from the ILEG2_DCBUS_DRV analog
to digital converter block.
The following simple matrix is used to
determine the phase voltages from the
blocks inputs:

− −
− −
− −
=

2 1 3
3 1 2
3 2 1
2
2
2
3
T T T
T T T
T T T
V
V
V
V
dc
cn
bn
an

The three phase voltages are then mapped on the stationary α and β using the Clarke
transform.

ACI_MRAS (ACI_MRAS.h)

A Reactive Power Model Reference
Adaptive System is included as part of
TI’s DMC library. The theory behind
this sensorless control scheme was
discussed in detail in Section 6.3.3. To
implement the MRAS on a fixed point DSP system, the equations have been divided by the
base power V
b
I
b
to obtain the per unit representation. The pu equations for the reference
model are:
( ) ( )
b
b s
s s s s s s
TV
I L
K
k i K k v k i k i K k v k i k q
σ
α α β β β α
=
− + − − − =
1
1 1
where
) 1 ( ) ( ) ( ) 1 ( ) ( ) ( ) (

51
The following equations are used in the pu representation of the adaptive model
( )
( )
( )
( )
pu ) ( ˆ ) ( ) ( ˆ ) ( ˆ
: is model adaptive by the calculated power reactive estimated The
2
and
2
, , 1 ,
2
where
pu ) ( ˆ ) ( ) ( ) 1 ( ) ( ˆ ) ( ˆ ) 1 ( ) (
pu ) ( ˆ ) ( ) ( ) 1 ( ) ( ˆ ) ( ˆ ) 1 ( ) (
and where
pu ) ( ) ( ) ( ) ( ˆ ˆ
pu ) ( ) ( ) ( ) ( ˆ ˆ
2
2
8
2
2
7
2
2
6
2
2
5
2
4
8 7 6 5
2
4
8 7 6 5
2
4
3
2
2
3 2
3 2
k e k i k e k i q
T
K
T T
K
T
T K
T T
K
T
K
K k k i K k i K k i k K k K k i k i
K k k i K k i K k i k K k K k i k i
R
L
K
V L
I L
K
k i k i k i k K K e
k i k i k i k K K e
s s s s
r r r r r r
r s s m r
r
m m
r s s m r
r
m m
r
b r
b r r
b
m
s m m r s
s m m r s
α β β α
α β α β β
β α β α α
β β α β
α α β α
τ τ
τ
τ τ
τ
ω ω ω
ω ω ω
ω
τ
ω
ω
+ =
= + = − = + − = =
− + − − + − − =
− + − − + − − =
= =
+ − − =
+ − − =

To use this sensorless controller an ACI_MRAS object must be instanced and the values for
K1 through to K8 must be initialized. All values are in Q15 format except K1 which is in Q10
(1 sign; 5 integer; 10 fraction bits) and K3 which is in Q8 (1 sign; 7 integer; 8 fraction bits).
The inputs for the MRAS block are the α and β representation of the pu phase currents and
voltages. The estimated output speed is provided in both pu and RPM. The RPM value is
calculated if a base speed is specified when the object is initialized. This allows the estimated
speed to be compared directly to the user defined speed set point. For more advanced
applications the MRAS’s PI gains can be tuned and internal state variables can be monitored.



52
9.3 Controller Designs
9.3.1 V/Hz Controller

Figure 9.6 V/Hz Controller Using DMC Library Blocks





9.3.2 FOC Controller

Figure 9.7 Field Oriented Controller Design Using DMC Library Blocks
53
9.3.3 FOC Controller with MRAS

Figure 9.8 Sensorless MRAS Controller Design Using DMC Library Blocks










54
10.0 Experimental Procedure
10.1 Open Loop Testing using Code Composer

The controller source code was tested by copying the contents of the Timer 1 interrupt service
routine into the main () method. It was then stepped through on the Spectrum Digital
Development board using Code Composer’s debug feature. This demonstrated that the
program was entering and exiting the controller blocks in the correct order and that the DMC
library was working. Adding the ramp_voltage variable in the Open Loop V/HZ controller to
the Watch Window showed the output voltage steadily increased until it reached its target
value. To test this, a break point was defined after the V_HZ_PROFILE block and the
debugger was set to run. Unfortunately the other two control algorithms couldn’t be tested in
a similar way because they needed feedback from the motor for the variables to change. The
Event Manger was shown to be working by connecting a CRO to the PWM outputs and
varying the duty ratio in the source code. Finally a variable resistor was connected to the
ADC channels and the measure values were viewed in the watch window.

From these simple tests it was concluded that the basic software structure and peripheral setup
was full functional for all three control algorithms

10.2 Testing on the Induction Motor Workbench

Unfortunately at the time of writing this thesis the induction motor had not been secured to the
workbench. For safety reasons the motor could not be tested with the controller hardware.
Not having access to the work bench’s sensory equipment would have also severely limited
the quality of results obtained. It is hoped that the control algorithms can be tested on the
workbench by the Innovation Expo in Week 13.




55
The following testing procedure will be used:

1. Initially all tests will be performed using 60V power supplies as these provide
current limiting and short circuit protection.
2. The open loop V/Hz controller will be tested first to ensure the inverter and
peripheral hardware is working correctly. The quadrature encoder isn’t necessary for
open loop control so its outputs will be attached to the CRO to ensure it has been
wired up correctly. The outputs of the Hall Effect current sensors will also be
monitored with the CRO.
3. Once it has been determined that the hardware is fully operational the closed loop
FOC algorithm will be operated with no load under steady state conditions. Due to
FOC’s reliance on motor parameters the PI gains will require a significant amount of
tuning to reduce the steady state speed error.
4. After the FOC controller has been proven to be stable under no load a torque will be
applied to the motor using the dynamometer. Minor changes may need to be made
to the way in which the controller calculates slip if the steady state error under load
increases significantly.
5. The final two tests for the FOC controller will be to test the transient performance
using a speed step response when the motor is loaded and unloaded. Further
modifications may need to be made to the PI gains to ensure controller stability. It is
quite possible that to improve the transient response a differential term may need to
be added to the existing PI controllers i.e. PID controllers would be used instead.
6. The previous 5 steps will be repeated at the rated voltage of 415 V.
7. After the basic FOC structure has been tested the quadrature encoder will be
disconnected and the MRAS will be used to predict speed. Initially the motor will be
run at speeds greater than 0.6 pu as sensorless controllers are generally more
effective at higher speeds. The minimum speed at which the MRAS can reliably
operate will also be determined.



56
11.0 Conclusion

This thesis thoroughly investigated potential controller designs for an Electric Vehicle. The
Field Oriented Control algorithm was chosen to be the most feasible option for an
undergraduate thesis as it is widely used and could be implemented with existing hardware. A
long term goal should be to design the hardware and software for a Direct Torque Controller
as this is more suitable for an Electric Vehicle. The use of Simulink to model control
strategies was helpful in understanding the algorithms used and determining controller
parameters for practical applications. The availability of hardware was always a factor
throughout this thesis. This is understandable considering the limited resources available to
undergraduate research. In hindsight more would have been achieved if this thesis had
focused on modeling all the potential controller designs in Simulink as opposed to trying to
model and construct a single design.

On the whole I found this thesis to be both personally and academically rewarding. Induction
motor control is a multidisciplinary area of research that combines aspects of power
electronics, electromechanics, signal processing, control theory and embedded system design.
As such this field is relevant to students with a variety of backgrounds. It is hoped that in the
years to come other students can further develop the designs and ideas presented in this thesis.
12.0 Recommendations for Future Work

12.1 Workbench Testing

Although the FOC algorithm should be functional by the innovation expo, precisely tuning the
controller design and studying its dynamic performance will take some time. In fact setting up
the induction motor workbench and carrying out these tests could possibly be a thesis in itself.
A Graphical User Interface to enable the PC to communicate with the motor controller should
be developed for the specific purpose of FOC. This can be adapted from the serial
communications protocols written by James Kennedy and the Brushless DC Controller GUI
developed by David Finn. A comparison between Simulink results and actual measured
results would also provide a valuable insight into the effectiveness of modeling future motor
control algorithms.
57
12.2 Implementing Field Weakening

Once the controller has been shown to work reliably at rated speed, field weakening should be
used to extend the motor’s speed range. The theory behind field weakening was outlined in
detail in section 2.3, however a practical procedure for its implementation was also researched
as part of this thesis. The following technique requires the standard FOC algorithm to be fully
operational so that as the speed is increased the flux can be manually controlled via i
ds
until the
phase voltage is once again equal to the nominal voltage. By recording the i
ds
value for a
number of speeds a relationship between these two quantities can be obtained. Performing a
linear interpolation on this dataset using Matlab’s polyfilt function provides an equation that
expresses i
ds
in terms of speed. This equation can then be implemented in C on the DSP as
part of the FOC algorithm.

12.3 Direct Torque Control

Direct Torque Control has already begun to establish itself as the standard control algorithm
for Electric Vehicle applications. As this area is closely aligned with the interests of the
University of Queensland’s Sustainable Energy Research Group undergraduate theses on this
topic would be worthwhile. Developing the hardware and control algorithms required for
DTC would have to be done over a few years. Although approaches based on look-up tables
could be implemented with existing hardware, high performance algorithms such as DTC with
SVPWM require a motor drive with both an FPGA and a DSP. An added benefit of
implementing generic SVPWM and A/D conversion algorithms on an FPGA chip is that the
same chip can be easily used in other power electronic applications.






58
13.0 References

[1] T. Wildi, Electrical machines, drives and power systems – 5
th
ed., Prentice Hall, New
Jersey 2002
[2] N Moham, T.M. Undeland, W.P. Robbins, Power Electronics: Circuits, Devices and
Applications 2
nd
ed., John Wiley & Sons, 1995
[3] B.K. Bose, Power Electronic and Variable Frequency Drives: Tehcnology and
Applications, IEEE Press, New York, 1996.
[4] B.K. Bose, Microcomputer Control of Power Electronic Devices, IEEE Press, New
York 1987.
[5] B.K. Bose, Modern Power Electronics – Evolution, Technology and Applications,
IEEE Press, New York 1992.
[6] K Rajashekara, A Kawamura, K Matsuse, Sensorless Control of AC Motor Drives –
Speed and Position Sensorless Operation, IEEE Press, New York 1996
[7] C-M Ong, Dynamic Simulation of Electric Machinery Using MATLAB/SIMULINK
Prentice Hall, New Jersey 1998.
[8] G.F. Franklin, J.D. Power, M.L. Workman, Digital Control of Dynamic Systems –
Addison-Wesley Publishing Company, Massachusetts 1990.
[8] S. E Lysherski, Electromechanical Systems, Electric Machines and Applied
Mechatronics, CRC Press, Boca Raton, 2000.
[9] G. R Walker “Modulation and Control of Multilevel Converters” PhD Thesis.
[10] M. Ehsani, K.M. Rahman and H.Toliyat, “Propulsion System Design of Electric and
Hybrid Electric Vehicles,” IEEE Trans. On Ind Elect., vol 44, no. 1, Feb 1997, pp 19
– 27.
[11] R. W. De Doncker and D. W. Novotny, “The Universal Field Oriented Controller,”
IEEE Trans. Ind. App., vol 30 Jan/Feb 1994, pp 92 -100.
[12] J. Holtz, “Pulsewidth Modulation – A Survey,” IEEE Trans. Ind. Elec., vol 39, no. 5,
Oct. 1992, pp 410-420.
[13] F. De Buck, P Gistelinck, and D. De Backer, “A Simple but Reliable Loss Model for
Inverter Supplied Induction Motors,” IEEE Trans. On Ind. Appl., Jan/Feb 1984, pp
190-202.
[14] J. Holtz, “The Representation of AC Machine Dynamics by Complex Signal Flow
Graphs,” IEEE Trans. Ind. Elect., Vol 42, No. 3, June 1995, pp. 263 – 271.
59
[15] H Tajima, Y Hori, “Speed Sensorless Field Orientation Control of the Induction
Machine,” IEEE Trans. Industry Appl., Vol 29, No. 1, 1993 pp 175 – 180.
[16] G Strang, “Introduction to Linear Algebra,” Wellesley Cambridge Press, New York
1998.
[17] K Zhou, D Wang, “Relationship between Space-Vector Modulation and Three-Phase
Carrier-Based PWM: A Comprehensive Analysis”, IEEE Trans. Ind. Elect., Vol 49,
No. 1, Feb 2002, pp. 186 – 196.
[18] Nise, Control Systems Engineering, John Wiley & Sons, New York, 2000.
[19] TI Document BPRA073 – “Digital Motor Control Library Block Reference”
downloaded from http://www.ti.com
[20] TI Document BPRA089 – “Extended Kalman Filters in Induction Motor Control”
downloaded from http://www.ti.com
[21] TI Document ACI32 – “Volts per Hertz Control Using a MRAS approach”
downloaded from http://www.ti.com
[22] TI Document ACI33 – “Field Oriented Control Using Assembler” downloaded from
http://www.ti.com






60

Abstract
Over the past two decades technological advances in power electronics and an increasing demand for high performance industrial machinery has contributed to rapid developments in digital motor control. This field of study has numerous applications in the areas of manufacturing, mining and transportation. Such is the diversity of digital motor control that it is sometimes difficult to determine which techniques are best suited to a particular application. The purpose of this thesis was to research, design, simulate and implement the most feasible induction motor control algorithm for use in an Electric Vehicle Application. For those readers who are unfamiliar with the practical aspects of induction motor control a thorough review of electric machinery, power electronics and Pulse Width Modulation strategies was presented. A number of mathematical techniques that are particularly relevant to this thesis were also revised. The theory behind Volts per Hertz control, Field Oriented Control and Direct Torque Control was presented with a particular emphasis on each algorithms practical implementation on a DSP system. A thorough evaluation of these control strategies was also performed using criteria that included their computational complexity, steady state and dynamic performance, resilience to parameter variation and whether or not they could be operated on existing hardware. As a result of this comprehensive analysis, the Field Oriented Controller was selected as the most feasible design option. The performance of this control algorithm was thoroughly tested using the dynamic system modeling package Simulink. Through these simulations possible parameters for the controller’s practical implementation were determined. The control algorithm was then implemented on a Texas Instruments DSP using TI’s Digital Motor Control Library. A procedure for testing the controller on an induction motor workbench was also outlined. Unfortunately at the time of writing this thesis document the workbench was still under construction meaning that results could not be obtained safely. Future work in this very rewarding field of research was also detailed.

2

1.0 Introduction
Major improvements in modern industrial processes over the past 50 years can be largely attributed to advances in variable speed motor drives. Prior to the 1950’s most factories used DC motors because three phase induction motors could only be operated at one frequency [1]. Now thanks to advances in power electronic devices and the advent of DSP technology fast, reliable and cost effective control of induction motors is now common place. In 1997 it was estimated that 67% of electrical energy in the UK was converted to mechanical energy for utilization [2]. At the same time the motor drive market in Europe was in excess of one billion pounds. The increase in the use of induction motors was largely attributed to major oil and mining companies converting existing diesel and gas powered machinery to run off electricity [2]. Over the past five years however, the area of AC motor control has continued to expand because induction motors are excellent candidates for use in Electric or Hybrid Electric Vehicles. In this application high performance control schemes are essential. Over the past two decades a great deal of work has been done into techniques such as Field Oriented Control, Direct Torque Control and Space Vector Pulse Width Modulation. Another emerging area of research involves the application of sensorless control. This differs from conventional methods because it doesn’t require mechanical speed or position sensors. Removing these sensors provides a number of advantages such as lower production costs, reduced size and elimination of excess cabling. Sensorless drives are also more suitable for harsh inaccessible environments as they require less maintenance. Scheme for use in an Electric Vehicle. This undergraduate thesis thoroughly investigated the aforementioned techniques and used them to develop a Field Oriented Control

3

Current advances in motor control hardware and Pulse Width Modulation techniques were investigated. A hardware and software design to implement the chosen control structures was detailed. 5. 3. A number of high performance control schemes were evaluated. 2. Simulink modeling of the chosen controller was carried out to investigate its dynamic and steady state performance. The future direction of this work was detailed to enable the ideas presented in this thesis to be further developed. 7. 6.As part of this thesis: 1. These simulations also aided in the selection of controller parameters. 4. 4 . The feasibility of implementing these control schemes using existing hardware was considered. A testing procedure for the controller was outlined.

1 .1 The Induction Machine Three phase induction motors are rugged. Their design is relatively simple and consists of two main parts. Unlike DC motors it is difficult to obtain decoupled control of the torque and flux producing components of the stator current. cheap to produce and easy to maintain. Despite their benefits. The issue is further complicated because there is no direct access to rotor quantities such as rotor flux and currents [3]. The reason for this can be better understood when the operating principle of the motor is studied. In an induction machine the alternating currents from the three phase source flow through the stator windings producing a rotating stator flux. The rotor windings in a conventional Figure 2. The field induces a voltage in the rotor bars. which is that that their speed is determined by the frequency of the supply. The squirrel cage motor has a very different arrangement to this. Because the induced rotor current is in the presence of the rotating magnetic field it is subject to Lorentz’s force. The speed of rotation of this field is dependent on the number of poles in the motor and the frequency of supply. A cage rotor consists of bare aluminium bars that are short circuited together by being welded to two aluminium end rings. induction machines have one major drawback. They can be run at a nearly constant speed from zero to full load. a stationary stator and a rotating rotor. 5 . The two main classes of induction motor differ in the way in which their rotors are wound. The sum of the Lorentz forces on the rotor bars produces a torque that drives the rotor in the direction of the rotating field.Induction Motor Cross Section [17] wound rotor are similar to the stator windings and are usually connected in a uniformly distributed Wye [3].0 Hardware Overview 2. The motor used in this thesis was a three phase squirrel cage motor. which in turn creates a large circulating current.2.

Although the power flow through the device is reversible. These consist of two main sections. the energy for the DC bus is supplied directly from the batteries. If the rotor speed equals the flux speed it will no longer be cut by the field and will start to slow down. which acts as a rectifier during the motoring mode and an inverter during the breaking mode.e. the kinetic energy of the motor and its load is recovered and returned to the grid when the motor slows down [4]. or primary energy source.3 Three Phase Voltage Source Inverter The most common three phase inverter topology is that of a switch mode voltage source inverter.When the field is first generated the rotor is at rest so it rapidly accelerates to keep up with the rotating flux.2 AC Induction Motor Drives Power electronic devices known as motor drives are used to operate AC motors at frequencies other than that of the supply. 2. a second converter is required between the drive and the utility grid. The difference between these two quantities is known as the slip speed and is a very important quantity for controller designs. In an electric vehicle application. In an AC grid connected motor drive. As its speed increases the rotor bars are not cut as much by the rotating field so the voltage decreases. a controller to set the operating frequency and a three phase inverter to generate the required sinusoidal three phase system from a DC bus voltage. Bi-directional power flow is an important feature for motor drives as it allows regenerative breaking i. This generates an AC voltage from a DC voltage source when a Pulse Width Modulated waveform is used to switch the MOSFETs in each of the three converter legs. it is called an inverter because the predominant power flow is from the DC bus to the three phase AC motor load. 6 . This is why induction machines are referred to as being asynchronous because the rotor speed never equals the synchronous speed [3]. An additional benefit is unity power factor (sinusoidal) current flows to or from the grid. 2.

c is 1 the corresponding lower MOSFET is switched off i.a’. Q1 to Q6 represents the six MOSFETS and a.c’ = 0.3.1 . In practice each switching leg may consist of more than two MOSFETs in order to reduce switching losses by paralleling the on resistance.1.c’ represent the respective control signals.b’.0 Pulse Width Modulation Although the basic MOSFET circuitry for an inverter may seem simple.e. accurately switching these devices provides a number of challenges for the power electronics engineer.c.b. In Figure 3. a.Basic Three Phase Voltage Source Inverter In the following equations the control signals are represented by logic values that are equal to 1 when the MOSFET is on and 0 when it is off.e.b.b’. The most common switching technique is called Pulse Width Modulation (PWM) which involves applying voltages to the gates of the six MOSFETS at different times for varying durations to produce the desired output waveform. Figure 3.c the phase voltages connected to the motor winding can be calculated using the following matrix representation: 7 . a’. From the states of a. Using complementary signals to drive the upper and lower MOSFETS prevents vertical conduction providing that the control signals don’t overlap. In AC induction motor control when the upper MOSFET is switched on i.b.

This uses a carrier frequency usually between 10 to 20 kHz to produce positive and negative pulses of varying frequency and varying width [5].1 Sine-Triangle PWM of Three Phase Inverteres One commonly used PWM scheme is called carrier based modulation. Figure 3. These form zero sequence systems where the harmonics cancel out resulting in no iron losses [5] [18].2 – Single Phase Sine-Triangle Modulation [9] 8 . f1. The value of mf should be an odd integer and preferably a multiple of three in order to cancel out the most dominant harmonics as these are responsible for converter losses [3]. In sine-triangle PWM a triangular carrier waveform of frequency fs establishes the inverter switching frequency.Va   2 − 1 − 1 a  V  = 1 V − 1 2 − 1 b   b  3 dc     Vc  − 1 − 1 2   c        (Equation 3. The output of the comparators produces the switching scheme used to turn particular inverter MOSFETS on or off. is commonly referred to as the modulating frequency. One limitation of the sine triangle method is that it only allows for a limited modulation index. These three control voltages have the same frequency as the desired output sine wave which.1) Knowing the phase voltage for a given switching state is important for the technique known as Space Vector Pulse Width Modulation which will be discussed in detail in section 3. The modulation index can be increased by using distorted wave forms that contain only triplen (multiples of three) harmonics. The modulation ratio is equal to mf = f1/fs. so it doesn’t fully use the DC bus. Increasing the number of pulse per half cycle reduces the frequency of the output sine wave whilst. 3.2. The pulse widths and spacings are arranged so that their weighted average produces a sine wave. increasing the pulse widths increases the amplitude [1]. This is compared with three sinusoidal control voltages that comprise the three phase system.

2 Space Vector PWM The proliferation of power electronic devices has led to a demand for more effective Pulse Width Modulation strategies. However. Problems such as harmonic distortion in the phase currents are responsible for copper losses in the induction motor. a change in the voltage of one half-bridge due to switching invariably influences the other two phase voltages [6]. vc is therefore v a a 2 = (v a + vb + 2 v c ) 3 (Equation 3. Essentially this methods defines a three phase system with a single unity vector us = (1 + a + a ) where a 2 j2π =e 3 (Equation 3. vb.3. Conventional switching techniques treat each phase as a separately generated sinusoid that is displaced by 120 degrees.2) Using this unity vector. To overcome the limitations of existing switching strategies a new technique known as Space Vector Pulse Width Modulation 3. a space vector representation of phase voltages va. 9 .1 Overview of Space Vectors Representing three phase quantities as Space Vectors is particularly useful for power electronic applications.3) The 2/3 scaling factor is necessary to ensure that the system remains power invariant [7]. (SVPWM) is becoming widely used in industry. Although the current waveform can be improved by increasing the frequency of the carrier wave this approach reduces copper losses at the expense of increased switching losses.2. SVPWM is a highly efficient method of generating the six pulsed signals for the inverter stage of the motor drive. SVPWM evaluates the switching scheme as a whole which results in better use of the DC bus and generates significantly less harmonic distortion than the sine triangle method [6].

2.3. Figure 3. a 0 1 1 0 0 0 1 1 0 0 1 1 1 0 0 1 b 0 0 0 0 1 1 1 1 c 0 va 0 2/3 1/3 -1/3 -2/3 -1/3 1/3 0 vb 0 -1/3 1/3 2/3 1/3 -1/3 -2/3 0 Table 3.1 vc 0 1 0 -1 -1 0 1 0 -1/3 -2/3 -1/3 1/3 2/3 1/3 0 vab 0 0 1 1 0 -1 -1 0 vbc 0 -1 -1 0 1 1 0 0 vca For each switching combination a voltage space vector can be constructed using the phase voltages and equation 3.3. The phase and line to line voltages generated by each of these combinations can be calculated from equation 3. The two null vectors 000 and 111 are located at the origin.3 Switching Voltage Space Vectors 10 . When these space vectors are plotted on a set of real and imaginary axes the switching diagram in Figure 3.1 and are expressed as a fraction of Vdc. The results of this are presented in Table 3.1.3 is obtained. The switching space vectors divide the axes into 6 equally sized sectors.2 The Space Vector Switching Pattern There are eight possible combinations of switching patterns for the three upper MOSFETs of the inverter switching legs.

If we assume that the switching frequency is high and that the change in Vref over this period is small then the modulation scheme can be represented using the following equation [10]: TpwmVref = 2 (T1Vswitch x + T2 V switch x + 1 + T3VNull) 3 (Equation 3. The sum of T1 and T2 is less than or equal to Vref so the null vector VNull is activated for time T3 to make up the rest of the switching period such that: Tpwm = T1 + T2 + T3 (Equation 3.4 – Vref Mapped onto the Switching Pattern currently in. In a motor application the direction of the rotor depends on whether the reference vector is rotating clockwise or anti-clockwise. VNull is the null switching vector and T1. while the speed with which the vector rotates around the circle determines the frequency of the three phase system. The binary representation for two adjacent switching vectors differs by one bit so This improves the inverter’s performance and significantly simplifies the digital implementation of the algorithm [9]. This is done by time modulating the two adjacent switching vectors that set the bounds for the sector the reference vector is only one of the upper transistors needs to change.5 – Generating Vref in Sector I 11 . One method is to set the average voltage of the inverter over a time period Tpwm to be equal to the average voltage of the reference space vector in that period.4) Where Vswitch x and V switch x + 1 represent the adjacent switching vectors for sector x. Figure 3.3 Generating a Reference Voltage The objective of SVPWM is to approximate a reference space vector Vref somewhere within the transcribed circle of Figure 3.5) The length of the reference vector determines the magnitude of the output voltage.3. Figure 3.4 using a combination of the eight switching vectors.2. T2 and T3 are the durations for each switching vector.

6 Comparison Between Different PWM Techniques [11] 12 . The maximum reference voltage for SVPWM traverses a circular locus within the hexagon which by simple trigonometry can be shown to equal 1 / 3VDC . Figure 3. This means that for a given DC bus voltage. Using equation 3. By connecting the ends of the space vectors a hexagon is formed which is the locus for the maximum output voltage [11].4 Comparison of SVPWM with Sinusoidal PWM The maximum reference voltage for triangular carrier PWM can be show to equal VDC/2.2.1 it can be shown that the length of each of the switching space vectors is 2/3 VDC.3. SVPWM can generate a reference voltage 2 / 3 times larger than triangular carrier PWM [11].

The two most common transforms applied to induction motors are known as Clarke and Park transforms.2) Most inverter control strategies specify the output reference voltages using the α and β axes. The switching vectors themselves however. The Clarke transform of a three phase system is directly related to the space vector representation of a system via the following equation: j2π =e 3 uα − ju β = 1 + a + a 2 where a (Equation 4. In motor control the α and β axes are normally fixed at the stator. remain unchanged.1 these values can be directly generated using SVPWM.   cos θ d  2 = − sin θ d 3  1   2  2π  2π     cos θ d − cos θ d +   3  3     2π  2π     − sin  θ d −  − sin θ d +  3  3     1 1  2 2     cos θ d  2π  = cos θ d −   3  2π cosθ d +  3     1  1   1   Tdq 0 T -1 dq 0       − sin θ d 2π  − sin  θ d − 3  2π  − sin θ d + 3        13 . The Clarke transform matrix and its inverse is given by Equation 4. In the analysis of three phase induction motors the Clarke Transform is combined with a similar technique known as the Park transform. Using equation 2.4. The transform matrices for the combined Clarke-Park transform are show below in Equation 4.1 below [6]:  1  2 = 0 3 1  2 − 1 2 3 2 1 2 1  2   3 − 2 1   2  −   1  1 = −  2  1 −  2 0 3 2 3 − 2  1  1   1  Tαβ 0 T -1 αβ 0 The Clarke transform is used to convert a three phase system to a two phase time variant system with fixed α and β axes. An additional zero sequence component is added so that the transform is bi-directional. In fact most motor control applications label the axes of the switching space vectors as α and β rather than real and imaginary.3 [6].0 Mathematic Transforms Used In Motor Control Before discussing the various motor control schemes a basic understanding of three phase transforms is essential.

14 . calculated as follows: d λqs + ω e λds dt d vds = Rs ids + λds − ω e λqs dt d vqr = Rr iqr + λqr + (ω e − ω r )λdr dt d vdr = Rr idr + λdr − (ω e − ω r )λqr dt 3 Te = P λds iqs − λqs ids 2 λqs = Ls iqs + Lm iqr vqs = Rs iqs + The motor quantities are ( ) λds = Ls ids + Lm idr λqr = Lr iqr + Lm iqs λdr = Lr idr + Lm ids Ls = Lls + Lm Lr = Llr + Lm Figure 5.1. This allows decoupled control over the rotor flux and torque in a similar way to DC machines. The equivalent circuit is shown in Figure 5. It has also been derived in a number of different reference frames.This converts a three phase system to a two coordinate time invariant system that is fixed at a particular reference angle.1 Equivalent Circuit [8] Where the subscript s corresponds to stator. Once again a zero sequence component is introduced so that the conversion is bi-directional. In Field Oriented Control the reference angle is set to the rotor flux angle and the positive q axis is defined as leading the positive d axis by π / 2. This control strategy will be discussed in considerable detail in section 2. r corresponds to rotor. d corresponds to direct axis. This makes it easier for the control designer to fix the reference frame to a particular motor quantity and adjust the model accordingly. Te represents torque while P is the number of poles. For control purposes the model is often expressed in an arbitrary two axis rotating reference frame. 5. q corresponds to quadrature axis and l corresponds to leakage.0 The Induction Motor Model The induction motor model has been in use for some time now and is well characterized both experimentally and theoretically.33.

Another problem with early control strategies is that they were unable to consider phase interaction and could only be operated as synchronous or asynchronous. Another problem with open loop control strategies is that they are only suitable when the motor can be operated at steady torque without speed regulation. Both techniques cause problems with efficiency.6. The need for more precise control over torque and speed led to the development of closed loop V/Hz controllers and other algorithms based on the induction motor model.1 The Evolution of High Performance Motor Drives To fully appreciate the operation of high performance motor control strategies it is beneficial to understand the origins of motor control. Until recently induction motors have been plugged directly into the supply (Direct Online DOL) or operated using the relatively crude Open Loop Volts per Hertz (V/Hz) control strategy. 15 . This was provided in the early 1970’s by Hasse and Blaschke who developed the theory of Field Oriented Control (FOC) and later in the mid 1980’s by Takahaski and Dependbrock who created Direct Torque Control (DTC) [14].0 Motor Control Strategies 6. To overcome these limitations a new approach to motor control was required. Replacing the PI regulators with hysteresis controllers can slightly improve performance at the expense of high bandwidth noise that it hard to filter from the system. but not both. The problem with using the machine model is that the electromagnetic characteristics are only valid in steady state so high peak voltages and currents still occur under transient conditions. Obviously DOL motors can only be operated at the supply frequency and are therefore incapable of variable speed control. Although the V/Hz strategy can provide speed variation it is unable to provide reliable control under transient conditions and can often cause circuit breakers to trip. reliability and electromagnetic interference. These motor control strategies were also based on sinusoidal PWM which is not suited to closed loop PI regulation. These strategies are the foundation for every high performance control scheme used today.

This method is based on the torque speed curve for an induction motor. if you double the frequency you need to double the supply voltage [15].motor. Similarly at high frequencies the voltage is fixed at a maximum value to avoid insulation breakdown.1 The graph on the left shows the Torque Vs Slip characteristics of an induction . By fixing the supply frequency and hence the motor speed. The graph on the right shows the Volts per Hertz relationship. To maintain the air gap flux at its rated value the voltage and frequency should be varied in the same proportion i.6. To compensate for this the voltage below a certain frequency is maintained at a fixed value and the V/Hz relationship is abandoned.e. the torque can be varied as the square of the applied voltage. Providing the ratio between voltage and frequency remains constant maximum torque can be applied throughout the motors speed range. 16 . The shape of this curve depends on the voltage and frequency applied to the stator.2 Volts per Hertz Control Although it has been superseded open loop Voltz/Hertz control or Scalar Control as it is known. Figure 6. At low frequencies the supply voltage is also low so the voltage drop caused by the stator resistance cannot be neglected. is still widely used in applications that don’t require precise speed control such as fans for Heating Ventilation and Air Condition (HVAC).

6.3 Field Oriented Control
In a separately excited DC machine the axes of the armature and field currents are orthogonal to one another. This means that the magneto motive forces established by the currents in these windings are also orthogonal. If iron saturation is ignored the developed torque is equal to [6]:

Tem = k aφ ( I f ) I a where φ ( I f ) = flux I a = armature current This means that the flux is dependent solely on the field winding current. If the flux is fixed then the torque is varied directly by the armature current. It is for this reason that DC machines are said to have decoupled or independent control over torque and flux. Unfortunately the operation of induction machines is much more complicated. Induction motors are coupled, non linear, multivariable systems whose stator and rotor fields are not held orthogonal to one another. In order to achieved decoupled control over the torque and flux producing components of the stator currents a technique known as Field Oriented Control is used.
Equation 6.1

6.3.1 The Structure of Field Oriented Control
A block diagram for a Field Oriented Controller can be seen on the following page. This design uses a more robust structure known as indirect FOC, meaning that the rotor angle isn’t determined directly by measuring the air gap flux with hall-effect sensors. These sensors are not particularly suited for use in large industrial motors as they can be fragile and sensitive to temperature change [6]. sensor or encoder. Instead the rotor flux angle is calculated from a mechanical speed

17

Figure 6.2 - A Field Oriented Controller Block Diagram

The key component of the FOC strategy is the Clarke and Park transform blocks. As can be seen in Figure 6.3 these map the three phase stator currents onto a direct and quadrature rotating reference frame that is aligned with the rotor flux. This decouples the torque and flux producing components of the stator currents allowing the induction motor to be controlled in much the same was as a separately excited DC machine. The d-axis component of the stator current is related to the rotor flux magnitude via Equation 6.2:

λdr = Lm ids
The torque is related to the q axis component of the stator current and is represented by Equation 6.3:
Tem = 3 P Lm λ iqs 2 2 Lr dr

Figure 6.3 - Vector Mapping

18

Instead of directly solving the above equations three PI regulators are used to set the output reference voltages. The first PI regulator compares the speed set point with the measured mechanical speed of the rotor and produces the stator current quadrature axis reference, isqref. The stator current direct axis reference isdref is usually kept constant at the value required to produce the nominal rotor flux. To operate the motor above its nominal speed a technique known as Field Weakening is used to reduce the rotor flux. This will be discussed in more detail in Section 6.3.3. The reference currents are compared with the measured stator currents. The error is used by the PI regulators to generate the output stator voltages in the direct and quadrature axes. These are transformed back onto the α and β axes using the inverse park transform to allow the output voltage to be generated directly using SVPWM.

6.3.2 Determining the rotor flux angle
Knowledge of the rotor flux angle is essential for accurately applying the Clarke and Park transforms. If this angle is incorrect the flux and torque producing components of the stator current are not decoupled and true field oriented control is not achieved. Induction motors are asynchronous machines so the flux speed is not equal to the mechanical speed of the rotor due to the effect of slip. To determine the rotor flux angle you first need to calculate the slip using the following equation:
rr iqs Lr ids

ω s = ωe − ωr =

Equation 6.4

once you have obtained the slip the rotor flux angle is simply equal to

θ = ∫ ωs + ∫ ωm

Equation 6.5

An alternative method for calculating the rotor flux position that is more suitable for discrete time implementation is called the current model. This calculates the following two equations using the measured values for direct and quadrature currents and rotor mechanical speed.

ids =

LR dimR + imR RR dt LR iqs RR imRωb

Equation 6.6 Equation 6.7

fs = n +

where θ is the rotor flux position and i mR the magnetizing current
19

Above nominal speed the back EMF generated by the motor is large enough given DC bus limitations to limit the phase currents.10 6.8 and 6.3. At and below the rated speed the rotor flux is maintained at its nominal value to achieve the maximum level of torque production. The best way to understand this technique is to refer to a motor’s torque-speed curve (Figure 6. This causes magnetic saturation and heat dissipation that reduces torque production and drive efficiency. This requires precise control over rotor flux which makes it an ideal candidate for use with FOC. By reducing the rotor flux the high efficiency operating range of the drive can be extended beyond the nominal speed.9 R R iqsk LR ωb imRk +1 The value T and RR is often represented as Kt LR RR is often represented as Kr LRωb Once fs has been calculated the rotor flux position θ cm is computed as θ cm k +1 = θ cmk + ωb f sk T Equation 6.3 Field Weakening Field Weakening is a technique used to operate a motor above its nominal speed. If the speed is greater than the nominal value the torque production must be reduced so as not to exceed the power limits of the motor [17].The discrete form is as follows : imRk +1 = imRk + T f sk +1 = nk +1 + RR (idsk − imRk ) LR Equations 6. In the Constant Power region the torque is inversely related to speed whilst in the Constant Power x Speed region torque behaves as the inverse function of speed squared. The break between the Constant Power region and the Constant Power x Speed region is derived from the maximum steady state torque function which is equal to: 20 .4a). This approach is called Field Weakening and allows the motor speed to be quadrupled under certain operating conditions. Mechanical power is proportional to the product of torque and speed and the maximum power is reached at rated torque and speed.

Tmax = 3z p 2ωe × 2 V2 ( LσS + LσR ) Equation 6. Using the equation Tem = 3 P Lm λ iqs it can be seen that 2 2 Lr dr reducing the flux reduces the torque. nominal value. Below rated speed the maximum torque is maintained by increase the phase voltage.11 where LσS and LσR are the stator and rotor leakage inductance and z p is the number of pole pairs. The reason the flux is reduced is to allow the maximum phase voltage to be maintained and the desired speed to be achieved. Another constraint on field weakening is that the resistive torque in the extended speed region cannot cause the phase currents to exceed their Figure 6.4b.4 .Torque Characteristics Used in Field Weakening [17] 21 . Once the maximum phase voltage is reached it must remain constant meaning that Tmax = K ωe 2 where K is a constant value derived from the other fixed equation variables When the nominal torque curve crosses the maximum torque curve the constant Power x Speed region has been entered and the nominal torque follows the maximum torque as indicated by the solid black line in Figure 6. If the power stays constant and the torque is reduced then by definition the speed increases.

5. Adaptive control modifies its calculations to take into account changing parameters. MRAS. In high performance sensorless motor drives the two main control techniques used are Open Loop Estimators and Closed Loop Observers. 6. This is particularly important if the motor is being used in a harsh.6. 22 .5 MRAS Observers 6. Its structure consists of a reference model that doesn’t involve the variable being estimated and an adjustable model that does. The error between these two models is proportional to the error in the estimation of the unknown variable.[9] define estimators as devices that use a model to predict the speed using the phase currents and voltages as state variables. This value is used to improve the estimation of the adaptive model so that its output is equal to the output of the reference model. This is known as the state space modeling approach and is a powerful method for analyzing and controlling complex non-linear systems with multiple inputs and outputs. These sensors are notoriously prone to breakage so removing them not only reduces the cost and size of the motor but improves the drive’s long term accuracy and reliability [8].1 Overview of Control Structure One type of closed loop observer that has been widely used in sensorless FOC is the Model Reference Adaptive System. The predicted value of speed is then used by the FOC to adjust the PWM waveform in exactly the same way as an actual measured value.4 Sensorless Control Sensorless control is another extension to the FOC algorithm that allows induction motors to operate without the need for mechanical speed sensors. In early literature the terms observer and estimator are often used interchangeably however most recent papers [8] . Instead of physically measuring certain values control engineers can calculate them from a system’s state variables. inaccessible environment such as an oil well. Observers also use a model to estimate values however these estimates are improved by an error feedback compensator that measures the difference between the estimated and actual values.

values the reference model calculates q without the mechanical speed of the rotor.6. The error between these two outputs is put through a PI controller which drives the adaptive model to generate the correct value of ω r so that it produces the same reactive power as the reference model. whilst the adaptive model’s approximation of q is based on an estimate of ω r . The MRAS consists of two independent observers that estimate the instantaneous reactive power. imr. q maintaining the magnetizing current. Both models require the α and β Using these representation of the sampled phase voltages and two of the phase currents.2 The Reactive Power MRAS Speed Estimator The most commonly used MRAS for induction motor control estimates speed based on instantaneous reactive power rather than the rotor flux vector. The reasoning behind this approach is that it allows you to gain closed loop speed control via the closed loop calculation of reactive power. Figure 6. ω r . The benefit of this MRAS is that its reference model doesn’t use any integration so it is able to achieve a wider bandwidth and is immune from problems cause by unknown initial conditions or drift [19].5.Reactive Power MRAS Block Diagram gure 23 .5 . Unlike most other observers the calculations don’t require knowledge of the stator resistance which is prone to thermal variation. This allows the system’s speed estimates to be more tolerant to parameter variation.

This can be obtained using the induction motor model and is expressed as: esα = v sα − Rs isα − σLs esβ = v sβ − Rs isβ − σLs disα dt disβ dt The reactive power is equal to the cross product of stator current and back emf vectors i.5. 6. This is what makes reactive power such an excellent candidate for implementation in an MRAS.6.e. These values can however be used to directly calculate the reactive power using two different sets of equations. q = is × es because is = isα + isβ and es = esα + esβ the equation for reactive power can be rewritten as: di sβ  di q = i sα v sβ − i sβ v sα − σLs  i sα − i sβ sα  dt dt  where σ = 1 −     L2 m L s Lr As you can see the term that includes the stator resistance cancels out which is why this model isn’t as sensitive to parameter variation The equation for the Adaptive Model is also derived from the motor model and is as follows: ˆ e sα = ˆ e sβ = L2 m ˆ − τ r ωimβ − imα + i sα Lr τ r ( ) ) L2 m ˆ − τ r ωimα − imβ + i sβ Lr τ r ( where τ r = Lr is the rotor time constant and imα and imβ are calculated by integratin g Rr di mα 1 1 ˆ = −ω r imβ − imα + i sβ dt τr τr di mβ dt ˆ = −ω r imα − 1 τr i mβ + 1 τr i sβ 24 .3 The Mathematics Behind the Reactive Power MRAS The MRAS approach is necessary because there is no simple relationship between the motor speed and the measured phase voltages and currents.5.4 Continuous Time MRAS The first set of equations relies on the back (counter) EMF of the induction motor.

5 Discrete Time Implementation For implementation on a DSP the differential equations need to be converted to difference equations.5. 6. Due to the high ratio of sampling frequency to bandwidth. The equivalent discrete time implementation of the reference model is: q ( k ) = i sα ( k ) v sβ ( k ) − i sβ ( k ) v sα ( k ) − where σ = 1 − L2 m Ls Lr σ Ls T (isβ (k )isα (k − 1) − isα (k )isβ (k − 1) ) The discrete time equivalent of the adaptive model is implemented as follows: L2 m ˆ ˆ − τ rωr (k )imβ (k ) − imα (k ) + isα (k ) esα = Lrτ r ( ) ˆ esβ = L2 m ˆ − τ rωr (k )imα (k ) − imβ (k ) + isβ (k ) Lrτ r ( ) where τ r = Lr is the rotor time constant and imα (k) and imβ (k) are calculated using Rr the trapezoidal integration method and are as follows :  T2  T  T2  T T2  T2  T2  ˆ ˆ ˆ − ωr (k)imβ (k − 1)T − + isα (k) + imα (k) = imα (k − 1)− ω 2 r (k) + 1 − + − isβ (k)ωr (k)     τ r τ 2r   2  τ 2r  τ r 2τ 2 r   2τ 2 r           T2  T   T2 T T2  T2  T2  ˆ ˆ ˆ imβ (k) = imβ (k − 1)− ω 2 r (k) + 1 − + 2  − ωr (k)imα (k − 1)T − 2  + isβ (k) + 2  − isα (k)ωr (k) 2  τr τ r   2τ r  τ r 2τ r   τ r  2         The estimated reactive power calculated by the adaptive model is : ˆ ˆ ˆ q = isα (k )esβ (k ) + isβ (k )esα (k ) 25 . The speed tuning signal sent to the PI Controller is ˆ ε ∆e = q − q .The estimated reactive power calculated by the adaptive model is : ˆ ˆ ˆ q = isα esβ + isβ esα ˆ The PI controller tunes the estimated rotor speed ωr such that the reactive power ˆ approximation of the adaptive model q equals the reactive power calculated by the reference model using only measured values. approximations of numerical integration such as forwards. When ε ∆e = 0 the best approximation for rotor speed as been obtained and this value is sent to the FOC. backwards or trapezoidal rules can be used in the adaptive model [19].

This is a well established technique for controlling complicated processes involving noisy measured signals that are further disturbed by random noise. The only reason they are listed is to give the reader an idea of the complexity of the algorithm. The EKF algorithm is based on a mathematical model for estimating a system’s state variables.6 The Extended Kalman Filter An alternative approach to the MRAS observer is to use an Extended Kalman Filter. A thorough explanation of how these equations are derived and solved is beyond the scope of this thesis. a state covariance matrix P and a measurement covariance matrix R. An EKF is far too difficult to run on most DSP controllers as it uses inverse matrices and a large number of matrix multiplications. a disturbance covariance matrix Q.6. EKF.Kalman Flux Equations 26 . Estimated state variable are corrected by a predictor that relies on the state space model for the process.6. The Kalman Filter’s ability to provide an optimum observation in complex non linear environments means that it could potentially be used for sensorless induction motor control. The state covariance matrix is calculated from a complex system of equations that approximate the rotor flux over time. a state transition matrix. Even when it is implemented on a PC or high power DSP its performance is generally substandard due to its significant reliance on motor parameters and the difficulty in accurately predicting state variables. It is the opinion of this thesis that the Reactive Power MRAS observer is the best option for Sensorless FOC. Figure 6. An example of some of the equations that need to be solved can be seen in Figure 6.6 . It does this by working on the assumption that noise in the measured signal is uncorrelated to the disturbance noise.

flux and torque are used as feedback signals for the controller. In many variable speed drives torque control is necessary but precise closed loop control of speed is not.7). stator flux magnitude and angle are used as the inputs for this table.7 Classical Direct Torque Control Direct Torque Control DTC is an entirely different approach to induction motor control that was developed to overcome FOC’s relatively poor transient response and reliance on induction motor parameters.6. In the classical DTC algorithm proposed by Takahaski and Depenbrock [14] decoupling of nonlinear AC motor characteristics is achieved by the on-off operation of the hysteresis controlled PWM. a current model to estimate the rotor flux angle 3. Torque error is represented using three levels 27 Figure 6.7 . In DTC the first three components are removed and replaced by two hysteresis comparators and a look up table. two PI controllers for the direct and quadrature currents 4. The error in magnitude of the stator flux is 1 if it is two low and 0 otherwise.DTC Look Up Table – [15] . an additional PI controller to regulate the speed. By using DTC instead of FOC the electric vehicle’s motor is able to closely mimic the operation of an internal combustion engine. The errors in torque. Another benefit is that it can calculate torque without the need for complex observer algorithms or mechanical speed sensors. DTC uses a look up table (Figure 6. In a similar method to FOC. a number of coordinate transforms to decouple flux and torque 2. Instead of using PI controllers to determine the output reference voltages for the inverter. Each of these variables is discretized into a specific number of levels using a hysteresis comparator. The standard closed loop FOC structure consists of 1. One example of this is in an Electric Vehicle application where a torque set point is provided from a user input such as an accelerator.

Unfortunately the classical DTC algorithm has some significant limitations.with -1 being too high. Finally the stator flux angle is discretized into six. Also the variation of flux and torque over one sector is considerable. 6. This approach substitutes the measured values of current and voltage into the induction motor model to estimate the instantaneous stator flux vector and torque. As you can see the null switching vectors are applied when the torque is within given hysteresis limits.7 [15]. Once the voltage has been determined it can be synthesized using SVPWM. Adapting classical DTC to the confines of a DSP’s sampling period can significantly decrease its performance. In order to obtain precise estimates of stator flux and torque the algorithm needs to be implemented on a DSP. 60 degree sectors corresponding to the regions bounded by the PWM space vectors. A more effective alternative is to avoid the use of hysteresis control altogether and implement the DTC algorithm with SVPWM. Figure 6.DTC with SVPWM – [19] 28 .8 DTC with Space Vector Pulse Width Modulation Over the years much research has been done into improving the discrete time implementation of DTC using complex lookup tables and fuzzy logic. This generates the best output voltage for a given set of conditions. the use of hysteresis controllers means the algorithm is unable to distinguish between small and large variations in reference values. Although removing the stator current PI controllers improves the transient response time. These are then used to calculate the required output voltage to drive the torque to the reference value.8 . 0 being acceptable and 1 being too low. Another problem with classical DTC is that it was originally designed using analog comparators that addressed a ROM chip containing the selection table. Using these inputs Takahasi and Dependbrock constructed the optimal switching vector selection table in Figure 6.

Another problem with this algorithm is that because it lacks PI current controllers it can saturate the PWM outputs under transient conditions. 29 . This allows the DSP to focus on the high speed mathematical computation required for a suitable PWM switching period. generation of switching signals via SVPWM and Quadrature Encoder speed measurements if closed loop speed control is required for the particular application. Tem = 3P 3P λs × I s = λαs I βs − λβs Iαs 22 22 ( ) ( ) ( ) Once the magnitude of the stator flux and output torque is known the error between the measured and reference value can be determined. Using this error the voltage vector Vref required to drive the torque and flux to the reference value can be calculated from the following two equations : ∆Tem = 3 P ∆t 3 P ∆t λs × V − E = λ V − λ βsVα + − λαs E β + λ βs Eα ′ ′ αs β 2 2 Ls 2 2 Ls ( ( )) ) (( ) ( )) ∆ λ s = V ∆t = Vα ∆t + Vβ ∆t ( This is a system of two equations with two unknowns that can be solved using the quadratic formula. This is because the torque and or flux error may be so large that the reference value cannot be obtained in one switching period. The torque is estimated from the cross product of the stator flux space vector and the current space vector. When compared to FOC there is significantly more computation for the enhanced performance of DTC with SVPWM. As you can see both space vectors are defined using the α and β axes of the Clarke transform.The stator flux space vector λ s is estimated using the equation λ s = V s − rs I s dt This equation requires the previously applied voltage vector and stator current. The methods for dealing with this introduce further computational complexity and are outside the scope of this thesis. It is for this reason that a many commercial DTC motor drives implement the algorithm using a DSP interfaced to an FPGA. The FPGA does most of the hardware interaction such as A/D conversion.

Has been shown to have difficulty in predicting induction motor state variables [21]. Too complex to implement on a standard DSP. Would require new hardware to be developed. Poor transient performance and steady state inaccuracy due to slip. May be affected by the noisy environment of the motor. Provides the benefits of classical DTC with those of SVPWM. Controller Type Advantages Disadvantages V/Hz FOC Sensorless FOC . Well established technique that allows precise. Requires a mechanical speed sensor.EKF Simplest method of obtaining variable speed control. Mechanical losses are not accounted for by this model.7. More suitable for analog implementations. High-performance optimal observer that is reliable under noisy. Classical DTC DTC with SVPWM 30 . Doesn’t require a significant increase in computation compared to standard FOC. Can be implemented using hardware that is already available. sensorless algorithm with excellent transient performance. It can also have problems with large changes in reference values. Uses PI current regulators that decrease transient performance.0 Evaluation of Controller Feasibility The following table summarizes the advantages and disadvantages of the different controller designs. Accuracy of estimates reduces at low speeds.MRAS Sensorless FOC . Sensitive to parameter variation. Output reference voltage isn’t limited by the discretized levels used in hysteresis controllers thus improving performance. non-linear conditions. Widely used Sensorless technique that is resistant to parameter variation. Simple. Uses hysteresis control which introduces high bandwidth noise. Computationally intensive algorithm that requires a system of quadratic equations to be solved. decoupled control over torque and flux.

3. an Open Loop V/Hz controller. This sensorless control structure provides reliable performance and is suitable for It will also allow software structures such as interrupts and Event Managers to be configured. implementation on a DSP. can be reused in more complicated control algorithms. a Sensorless FOC with speed estimation via a Reactive Power MRAS. a FOC with speed sensing via an encoder. This is a simple algorithm to implement and will allow the drive hardware to be thoroughly tested.After carefully considering all the control schemes it was decided that this thesis will further develop: 1. The underlying factor in choosing these particular controller designs is that they can all be used with existing hardware. These structures 31 . 2. This will allow the basic FOC structure to be evaluated and the various PI gains to be tuned using known speed measurements.

Although determining step size increases the computational time it can improve the overall speed by avoiding unnecessary calculations.1 Overview Simulink is a software package that utilizes the computational tools of Matlab to analyze complex dynamic systems. Finally if a system has a mixture of continuous and discrete time blocks it must be solved using one of the Runge-Kutta variable solvers ODE23 or ODE45. Once the block diagram has been developed it can be simulated using any number of different solvers. is that the discrete time blocks respond to input changes with a fixed period and hold their outputs constant between successive samples. Choosing the appropriate solver can significantly decrease the computation time and improve the accuracy of the simulation. The first step in modeling a controller is to create a block diagram representation of its algorithm. This decision is largely dependent on whether the controller model is implemented in discrete time using z variables. The main difference between a discrete and continuous model. If it is necessary to use an m-file in the model it should be structured as an S-function [19] and cross compiled into the standard block format.0 Simulink Modelling 8. These compute the internal state variables of the blocks by solving their respective Ordinary Differential Equations.8. In a continuous model the state variables can be calculated at any time. This assumes that the model is entirely discrete and that every state variable is calculated at the same time. Although discrete time models can be solved using any of Simulink’s solvers the fixed step (no continuous states) setting is usually the fastest. The program is capable of solving both linear and non linear processes so it is perfectly suited to simulating asynchronous induction motors. This can be constructed from existing blocks in the Simulink library or from those created by the user. or continuous time using the Laplacian s variable. Fortunately for the simulations in this thesis no S-Functions were required. 32 . To do this a variable step solver is used which not only performs the calculations but determines the step size for how frequently they should occur. This requires a solver that can operate at a rate that allows it to follow the dynamic behavior of the model. Although it is possible to incorporate Matlab m-files directly into Simulink this significantly decreases the performance of the simulation.

The controller is simulated in discrete time to better reflect its implementation on a Digital Signal Processor.2.3. This calculates the rotor flux angle using the Current Model equations outlined in Section 6. The entire model can be seen on the next page. The only block that had to be constructed was the Theta Calculation Block seen in Figure 8.8. This is a particularly useful add-on to Simulink that provides models for a wide range of power electronic devices and control structures. The inverter hardware design and asynchronous motor configuration was adapted from an existing Simulink file [23] and the FOC structure was implemented using the theory outlined in Section 6.3 of this thesis.1 – Theta Calculation Block 33 .2. Most of the blocks used in the design were already available in the standard Simulink library.2 A Simulink Field Oriented Controller A Simulink Field Oriented controller was developed using components from the Power System’s Blockset. Figure 8.

2 – Entire Simulink Model For An FOC Controller 34 .Figure 8.

Figure 8.3 Switching Waveform Figure 8. Figure 8.4.3 shows the pulse width modulated waveform generated by the inverter using the reference currents obtained from the controller.8.3 Figure 8.4 Three Phase Waveform 35 . The three phase supply as seen by the induction motor is also displayed in Figure 8.3 Simulation Results Simulating the Field Oriented Controller with a 400 Volt DC supply provided a number of worthwhile results.

The initial reference speed of 30 radians per second was increased to 60 after 1.6 Speed Step Response 36 . The amount of overshoot is perfectly acceptable in an Electric Vehicle application as it is similar to revving a combustion engine.5 Startup Characteristics An analysis of the motor’s speed step response was also performed. As you can see from the graph the motor slightly overshoots the speed set point of 50 radians per second before quickly returning to this value with minimal steady state error.The control algorithm was evaluated under a number of different operating conditions. The transient and steady state performance of the controller is very impressive.5 seconds. Figure 8.5 shows the startup characteristics of the motor with no load. Figure 8. Figure 8. The controller algorithm was promptly able to respond to the speed change.

4 Review of Simulation On the whole the simulation results were very positive. Figure 8.Finally the controllers step response to a change in loading torque was investigated. The motor was started with a torque of 50 N. The limitations of this algorithm were also examined by increasing the stator resistance to represent parameter variation.m. the benefits of this algorithm could be easily verified. Although this slightly increased the controller’s steady state error the performance was still more than sufficient for an Electric Vehicle. 37 . Modeling in Simulink also assisted in calculating the controller parameters for a practical implementation of the drive. This value was increased to 100 N. The controller took less than a second to respond to this increase in torque and return the motor to the speed set point. By evaluating the speed and torque step responses.7 Torque Step Response 8.m after two seconds causing a drop in motor speed.

The bench will have a solid steel base upon which to mount an ASEA 0.9. Figure 9. A PC equipped with a National Instruments Data Acquisition Card will be used to sample bus voltage. The dynamometer will be used to load the induction motor thus simulating the torque that will be applied in a real industrial application.55 kW. 4 Pole Class F squirrel cage induction motor and a dynamometer with its own motor controller.1 Hardware Requirements 9.1 Induction Motor Workbench 38 . A torque / speed meter will be connected between the induction motor and the dynamometer using flexible couplings. torque and phase currents for diagnostic purposes.1 Induction Motor Work Bench An induction motor workbench is required to safely test the steady state and dynamic performance of the control schemes once they have been implemented on the DSP.1. The DC link to the induction motor controller will most likely be supplied through a Variac however batteries may be used to simulate the controllers use in an electric vehicle application.0 Controller Design and Implementation 9.

3 The TMS320 Family of DSPs The TMS320 series of DSPs has been designed specifically for signal processing and control applications. The performance is further enhanced by a hardware multiplier capable of performing 16 x 16 multiplication in a single instruction cycle. 39 . Communications with the board can be done via an RS232 to RS485 adapter board or simply through the CAN compliant transceiver.2 Tritium Gold Controller 9. However. When used with an induction motor running at rated supply voltage the 200V MOSFETs that come with the board need to be replaced by 400V MOSFETs. Figure 9. for low power testing and verification of control algorithms the 200 Volt MOSFETs are more than sufficient. high speed Digital Signal switching Its design makes use of MOSFET techniques that reduce the switching losses.1.1. A product scaling shifter interfaces with the multiplier to prevent overflows. enabling both instructions and operands to be fetched simultaneously. Through its internally hardwired logic the DSP can execute most functions in a single clock cycle. Its hardware is optimized for numeric computation and has the necessary processing capabilities to meet the bandwidth requirements of high performance systems [23]. The TMS320 family is based on a fixed point Harvard architecture that uses separate busses for programs and data.9.2 Tritium Gold Power Controller The Tritium Gold Power Controller is a fully integrated motor drive consisting of a three phase inverter that is controlled by a Texas Instruments TMS320LF2406A Processor. Arithmetic operations can be quickly performed using the 32 bit Central Arithmetic Logic Unit and Accumulator. The board provides connectors for external sensors such as Hall Effect current sensors and speed encoders.

Each unit contains a General Purpose Timer to set the sampling period. This device consists of an LED light source. Only Event Manger A was necessary to implement the control algorithms in this thesis.3 Encoder Design [1] usually has between 500 to 2000 equally spaced and precisely machined slots. The encoder disk Figure 9. This is more than sufficient to run the chosen control algorithms. As it rotates in front of the mask the slots allow light to pass through to the photodetector. It also has three capture pins which can be configured to respond to external error signals or used as an alternative to the QEP circuit. The LF2406 interacts with the peripheral hardware via its two Event Mangers. It has 32 kb of serial programmable flash. The signal electronics converts the output of the photodetector into a square wave electrical pulse.1.The TMS320LF2406A is a low voltage (3.4 Speed and Postion Measurement The rotor flux angle required for the FOC algorithm can be determined using either the rotor’s mechanical angle or speed. angle In this thesis the mechanical was measured using an incremental encoder attached to the back of the induction motor. Although it is capable of running at up to 40 MHz or 40 MIPS. 40 .3 V) member of the TMS320 family. 9. These internal units are specifically designed for motor control applications. The angle of the rotor can be inferred by counting the number of pulses. The event mangers also have an emergency PWM channel shutdown pin that can immediately drive the switching signals to a high impedance state. a stationary mask. a rotating encoder disk. a speed of 24MHz is used on the Gold Power Controller. 2 kb of single access RAM and 544 bytes of Dual Access Ram. a Quadrature Encoder Pulse (QEP) circuit to determine the speed and three full compare/PWM units capable of generating the 6 switching outputs for the inverter. a photodetector and the necessary electronics to amplify and condition the output signal.

The speed in radians per second is calculated by dividing the angle in radians between the sprockets teeth by the time between pulses.In most encoders determining the mechanical angle is made easier by a marking pulse that is used to clear the count every 360 degrees. An alternative method of calculating the rotor flux angle is to measure the speed using a low cost metal sprocket and a Hall Effect sensor. The benefit of having two separate phases is that the direction can also be determined which is important for four quadrant control. 2π 1 × Number of Teeth t 2 − t1 ω= Figure 9. Every time one of the sprocket’s teeth passes through the Hall Effect sensor a square electric pulse is generated. 41 . The performance of an encoder is entirely dependent on the quality of the disk. This pulse can be attached to one of the DSP’s capture pins which records the time at which the pulse occurs. These have two channels that are 90 degrees out of phase. Most encoders used in motor control applications are known as Quadrature Encoders.4 Sprocket Design [23] The choice of whether to use a sprocket or an encoder is only dependent on the type of hardware that is available. Another advantage of quadrature encoders is that by counting the rising and falling edges on each channel the resolution can be increased by four fold. Both techniques provide a similar level of performance and computational difficulty. The number of slots is equal to the number of pulses per revolution and hence determines the resolution. This allows a 500 pulse per revolution encoder to count 2000 pulses per revolution.

The two phase currents are measured in a similar fashion via channels 5 and 6 of the A/D converter. Tritum’s Gold Power controller samples the bus voltage using Channel 9 of the DSP’s 10 bit Analog to Digital converter.65V and 1. The rated voltage of 415 Volts is scaled down to 3.3 V using a simple resistor voltage divider with a 100 kΩ resistor and a 1 kΩ resistor.2 Software Requirements 9. The software can be directly interfaced with the Spectrum Digital 320LF2407 Development Board enabling code to be debugged online and in real time. 42 . The polarity depends on the direction of the current so a voltage offset of 1. This is particularly useful when dealing with the three phase waveforms used in motor control. To convert the current measurement into a voltage two Honeywell Hall Effect current sensors are used to produce an output voltage between -1.5 Phase Current and Bus Voltage Measurement Accurate measurements of phase currents and bus voltage are desirable in all motor control algorithms.2.9. Code Composer supports both C and Assembler and provides the ability to write. 9. The bus voltage is particularly important in sensorless algorithms where it is used to determine the phase voltages. compile and link source code all in the one package.1 Code Composer and the DSP Development Board Texas Instrument’s Code Composer was the chosen development environment for the control algorithms used in this thesis. probes can be configured to display variables on a graph. In real time monitoring.65V.3V range of the DSP’s ADC.1. This allows the code to be stepped through line by line and the changes in registers and variables to be monitored using watch windows.65 Volts is required for the signal to be in the 0 to 3.

three integer bits and 12 fractional bits. It is therefore able to represent values between -8 and 8 with a resolution of 2-12 . Another benefit of this representation is that when two pu numbers are multiplied together there will be no overflow. This represents integers between -32768 to 32767. 43 . This is important to ensure that the sign of variables is retained and products don’t overflow when two numbers are multiplied. This has one sign bit.2.e. In a fixed point DSP a pu value is stored as a Q15 fraction which is a 16 bit signed number between -1 and 0. This expresses variables as a fraction of there nominal or base value.9. field weakening isn’t used) then the previous values will not exceed 1. which is more than sufficient. conditions: I pu = V pu = I Ib V Vb Under these λ pu = λ λb Providing that the motor isn’t operated above the nominal speed (i.2 Number Formats and the Per Unit System The TMS320LF2406A is a fixed point DSP meaning that careful consideration needs to be given to how numbers are represented. For numbers that exceed 1 in the pu scale another format known as 4. This means that there are 15 numeric bits and one signed bit which gives a resolution of 2-15. In motor control most numbers are represented using the per unit system.12f or Q12 can be used. Referring to quantities using their base values allows the same controller can to be used for any motor regardless of its parameters. Finally the standard twos complement representation of an integer is commonly referred to as the Q0 format in DSP literature.99999. The pu model of the induction motor defines the stator current and flux to be equal to one when the drive has reached its nominal speed under nominal load and magnetizing current.

The use of assembler reduces code size. Finally the Watch Dog is disabled by loading 0x68 into the Watch Dog Control Register WDCR. For example the three PI controllers in the FOC algorithm can be instanced in a C program from one generic PI controller written in assembler. This means that GP1 counts backwards from a particular value and triggers an interrupt whenever it reaches zero. 44 .5) is used to create objects for the controller blocks. The switching frequency and hence interrupt period is set by the General Purpose Timer 1 (GP1) Underflow value. Serial Programming Interface and Event Manger A. The configuration of interrupts and peripheral devices such as the full compare PWM unit is done through the control registers of Event Manager A. 9. This technique is particularly beneficial if a control structure uses a block more than once. This is done by loading 0x0089 into SCSR1 to enable the ADC. This approach has been extended to the DSP implementation of a control system. The entire control algorithm is implemented as a separate module within this interrupt routine. After the interrupt routine is complete the timer is reset and the countdown begins again.3 C-Callable ASM and the Digital Motor Control Library Control structures are generally described using block diagrams to reflect the way signals interact. The advantage of using C to connect the blocks is that being a higher level language it is well suited to managing variables and controlling program flow. The first task of any program is to set up the system control registers. improves speed and provides low level control over calculations. CCallable ASM is a standard developed by TI for writing a functional block in assembler code in such a way that it can be accessed directly from C.9.2.2. SCSR2 is then set to 0x004B which is the default value for standard DSP operation.4 Code Structure The code used to implement a motor controller consists of two main modules. A main () method (Figure 9. This method then waits in a continuous while loop that is periodically interrupted at the desired PWM switching frequency. initialize the peripherals and to set up the required timers and interrupts. None of the control algorithms used in this thesis uses Event Manger B so it is disabled.

5 Main Method three PWM compare registers CMPR1. A number of other registers need to be configured for the DSP to operate properly however most of these use null or default values. 45 . When initializing the compare registers it is a good idea to set them equal to the maximum PWM period. CMPR2 and CMPR3. Once the interrupts have been successfully configured the Full Compare PWM unit can be initialized. The final task of the main method is to enable Global Interrupts by setting the IMR register to 0x0003. The timer 1 period register (T1PR) is set to the maximum PWM switching period. This unit automatically generates the three upper switching signals and the complementary lower switching signals for the inverter with appropriate dead time by matching GP1 with the values in Figure 9.To initialize this process the General Purpose Timer Configuration Register (GPTCONA) is set to 0x00CA to enable all General Purpose timers and to signify that a GP1 underflow automatically starts the ADC conversion of bus voltages and phase currents. The final two registers that need to be setup to enable the switching interrupt are the timer 1 configuration register (T1CON) and the event manger A Interrupt Mask Register EVAIMRA. The dead band is established by setting the DBTCONA register to 0x01F4. For a full listing of these register please consult the source code in Appendix A. Loading 0x0842 into T1CON starts the timer in countdown mode while setting EVAIMRA1 to 0x0081 enables the underflow interrupt. The timer 1 count register (T1CNT) and compare register (T1CMPR) are both set to 0 for the GP1 underflow interrupt. The unit is enabled by loading 0xCA00 into the COMCONA configuration register. The values in these registers will later be changed by the SVPWM controller block. This is equal to the maximum clock frequency divided by twice the PWM frequency.

The following section summarizes the blocks used in this thesis.65V. The main challenge in using the DMC library is ensuring the blocks are properly configured and the correct number format is used for the inputs and outputs. ILEG2_DCBUS_DRV (F07ILVD.LIB files must be included in Code Composer. The only default value that needs to be changed is the Hall Effect Voltage offset for measuring the phase currents. The A/D conversions are triggered automatically by a GP1 Timer Underflow so that the values are immediately available to the interrupt service routine.2. This requires an in depth knowledge of how the blocks perform their calculations. Hardware Blocks The following blocks are all contained in the F2407_010 library file. To access this library using the TMS320LF2406A the CLIB_010. A block is instantiated by #including its appropriate header file and creating an object in the source code. 46 . Fortunately many of the blocks required have already been written by TI and stored in their Digital Motor Control (DMC) Library.5 TI’s Digital Motor Control Library One the program structure has been developed the control algorithm can be implemented using C-Callable ASM blocks as part of the interrupt service routine. This needs to be specified as 0x3FFF which is the Q15 representation of 1.h) This block initializes the DSP’s ADC and uses it to sample the bus voltage and two of the phase currents. The outputs of this block are 3 phase currents and a DC bus voltage which are all in Q15 format. The easiest way to configure the block is to instance an ILEG2_DCBUS_DRV object with the default values in the F07ILVD.LIB and F2407_010. A per unit model of the controller is used so no scaling factors need to be specified.h header file.9.

LIB library file. 47 .h) This block is necessary in open loop control to ensure that the speed set point doesn’t change too quickly causing the motor currents to exceed their rated value and trip out. It can also restrict output values to be within a specified range. The input of the ramp is the target speed.h) The QEP_THETA_DRV block configures the DSP’s Quadrature Encoder Pulse circuit to determine the rotor angle. These parameters are set when the block is initialized. The ramp block limits the change in speed over a set time period. The electrical angle is used to calculate the rotor flux angle and is simply equal to the mechanical angle multiplied by the number of pole pairs specified when the QEP_THETA_DRV object is initialized.calc function. Once the target has been reached the ramp output status flag is set. The intermediate speed set points are calculated using the ramp. This block takes its inputs directly from the encoder hardware and provides the rotor’s electrical and mechanical angle in Q15 format as well as the direction of rotation as a Q0 Boolean value. Open Loop V/Hz Blocks RAMP_CNTL (RAMP_CNTL.QEP_THETA_DRV (F2407QEP. Controller Blocks The following blocks are all contained in the CLIB_010.

CMPR2 and CMPR3 registers of Event Manger A to generate the appropriate PWM waveform.V_HZ_PROFILE (VHZPROF. SVGEN_MF (SVGEN_MF. The outputs of this block are sent directly to the CMPR1. The block then generates the characteristic V/Hz equation. This is used to determine the appropriate output voltage for a particular frequency input. A separate Boolean variable needs to be defined in the code to represent direction. This is done by simply storing the Tb output of the SVGEN_MF object in CMPR3 and the TC output in CMPR2.h) This block is an integral part of the controller scheme as it implements the V/Hz profile of the induction motor in Q15 per unit form. 48 . This block is used when the motor variables haven’t been converted to the rotating direct and quadrature axes. When the block is initialized the minimum and maximum voltages and frequency of the profile should be specified as well as the slope. If this is equal to 1 then the motor is set to rotate anticlockwise meaning phases b and c need to be switched over. One drawback of using magnitude and frequency to define the reference space vector is that it provides no indication of which direction the motor should be rotating. Once again all inputs and outputs are in Q15 format.h) The SVGEN_MF block determines the three switching duty ratios for the Full Compare PWM unit using the reference voltage magnitude and frequency.

The first is a pointer to the location of a structure containing the three phase currents the second is another pointer to a structure in which to store the output. The operation of the I_PARK block is used in exactly the same was as the CLARK and PARK blocks. The function requires two parameters. 49 . PARK Once the currents have been transformed using the CLARK block they can be mapped onto a rotating reference frame using the PARK block. It simply takes a structure containing the output from the CLARK block and the per unit value of the rotor flux angle as an input and then stores the conversion result in an specified output structure. This is used to convert the controller’s reference voltage back onto the stationary α and β axes so it can be directly synthesized using the SVGEN_DQ block. Once again the function requires no header or objects to be defined. I_PARK The I_PARK block implements the inverse park transformation. α and β Clarke is block implemented as a single C-Callable ASM function and as such doesn’t require a header file or an object to be instanced.FOC Blocks CLARK (incorrectly spelt in DMC library) TI’s CLARK block converts a balanced three phase system into a two phase system in the stationary reference frame using This the transformation.

PID_REG1 (PID_REG1. A general rule of thumb is that the proportional gain should be at least 5 to 10 times larger than the integral gain [21]. SVGEN_DQ (SVGEN. To avoid saturating the reference voltage for the three phase inverter a maximum output value is specified.h) This block implements a standard Proportional Integral controller that takes a reference and feedback value as inputs and uses the error between them to produce a regulated output. In this thesis the PI gains were determined using Simulink Modeling of the controller. The operation of this block is very similar to the SVGEN_MF block mentioned previously however because the reference voltage is specified in vector form rather than by its magnitude and frequency the direction of rotation can be inferred. 50 .h) This block calculates the switching duty ratios for the PWM unit to generate a reference voltage vector that is defined using the α and β axes. The proportional and integral gains need to be specified by the user and are dependent on the particular application.

The theory behind this sensorless control scheme was discussed in detail in Section 6.Sensorless Blocks PHASE_VOLTAGE_CALC (VOLT_CAL. model are: The pu equations for the reference q(k ) = i sα (k ) v sβ (k ) − K1i sβ (k − 1) − i sβ (k )(v sα (k ) + K1i sα (k − 1) ) where K1 = ( ) σLs I b TVb 51 .h) This useful block allows the phase voltages to be calculated directly from the DC bus voltage and the three inverter duty cycles. the equations have been divided by the base power VbIb to obtain the per unit representation.h) A Reactive Power Model Reference Adaptive System is included as part of TI’s DMC library. DC bus voltage is obtained from the ILEG2_DCBUS_DRV analog to digital converter block. The following simple matrix is used to determine the phase voltages from the blocks inputs: Van  V  = Vdc  bn  3 Vcn    2T1 − T2 − T3  2T − T − T   2 1 3 2T3 − T1 − T2    The three phase voltages are then mapped on the stationary α and β using the Clarke transform.3. To implement the MRAS on a fixed point DSP system. ACI_MRAS (ACI_MRAS.3.

The inputs for the MRAS block are the α and β representation of the pu phase currents and voltages. 7 integer. This allows the estimated speed to be compared directly to the user defined speed set point. K6 = T − 2 . 10 fraction bits) and K3 which is in Q8 (1 sign. 8 fraction bits). The estimated output speed is provided in both pu and RPM. The RPM value is calculated if a base speed is specified when the object is initialized. 5 integer. K5 = 1 − + 2 . All values are in Q15 format except K1 which is in Q10 (1 sign. K7 = + 2 and K8 = 2 τr τ r τ r 2τ r 2 τ r 2τ r Theestimated reactivepowercalculated theadaptive by modelis : ˆ ˆ ˆ q = isα (k )esβ (k ) + isβ (k )esα (k ) pu To use this sensorless controller an ACI_MRAS object must be instanced and the values for K1 through to K8 must be initialized. 52 . For more advanced applications the MRAS’s PI gains can be tuned and internal state variables can be monitored.The following equations are used in the pu representation of the adaptive model ˆ ˆ esα = K2 − K3ωr (k )imβ (k) − imα (k) + isα (k) pu L2 m I b Lω and K3 = r b Lrτ rVb Rr 2 ( ) ˆ ˆ esβ = K2 (− K3ωr (k )imα (k) − imβ (k ) + isβ (k )) pu whereK2 = ( ˆ i β (k) = i β (k − 1)(− K ω m m 4 ˆ ˆ ˆ imα (k ) = imα (k − 1) − K4ω 2 r (k ) + K5 − ωr (k )imβ (k − 1)K6 + isα (k )K7 − isβ (k )ωr (k)K8 pu r 5 r m 6 ) ˆ (k ) + K ) − ω (k)i α (k − 1)K ˆ + isβ (k )K7 − isα (k )ωr (k )K8 pu where K4 = T2 T T2 T2 T T2 T2 .

3.2 FOC Controller Figure 9.7 Field Oriented Controller Design Using DMC Library Blocks 53 .9.3 Controller Designs 9.3.6 V/Hz Controller Using DMC Library Blocks 9.1 V/Hz Controller Figure 9.

3.9.8 Sensorless MRAS Controller Design Using DMC Library Blocks 54 .3 FOC Controller with MRAS Figure 9.

The Event Manger was shown to be working by connecting a CRO to the PWM outputs and varying the duty ratio in the source code. Finally a variable resistor was connected to the ADC channels and the measure values were viewed in the watch window. Not having access to the work bench’s sensory equipment would have also severely limited the quality of results obtained. Unfortunately the other two control algorithms couldn’t be tested in a similar way because they needed feedback from the motor for the variables to change.10.0 Experimental Procedure 10.1 Open Loop Testing using Code Composer The controller source code was tested by copying the contents of the Timer 1 interrupt service routine into the main () method.2 Testing on the Induction Motor Workbench Unfortunately at the time of writing this thesis the induction motor had not been secured to the workbench. 55 . From these simple tests it was concluded that the basic software structure and peripheral setup was full functional for all three control algorithms 10. This demonstrated that the program was entering and exiting the controller blocks in the correct order and that the DMC library was working. a break point was defined after the V_HZ_PROFILE block and the debugger was set to run. It is hoped that the control algorithms can be tested on the workbench by the Innovation Expo in Week 13. For safety reasons the motor could not be tested with the controller hardware. It was then stepped through on the Spectrum Digital Development board using Code Composer’s debug feature. To test this. Adding the ramp_voltage variable in the Open Loop V/HZ controller to the Watch Window showed the output voltage steadily increased until it reached its target value.

5. The previous 5 steps will be repeated at the rated voltage of 415 V. Further modifications may need to be made to the PI gains to ensure controller stability. After the basic FOC structure has been tested the quadrature encoder will be disconnected and the MRAS will be used to predict speed. Due to FOC’s reliance on motor parameters the PI gains will require a significant amount of tuning to reduce the steady state speed error. The final two tests for the FOC controller will be to test the transient performance using a speed step response when the motor is loaded and unloaded.6 pu as sensorless controllers are generally more effective at higher speeds.e. 4. 56 . PID controllers would be used instead. The open loop V/Hz controller will be tested first to ensure the inverter and peripheral hardware is working correctly. 2. Minor changes may need to be made to the way in which the controller calculates slip if the steady state error under load increases significantly.The following testing procedure will be used: 1. It is quite possible that to improve the transient response a differential term may need to be added to the existing PI controllers i. 6. The outputs of the Hall Effect current sensors will also be monitored with the CRO. 3. 7. The quadrature encoder isn’t necessary for open loop control so its outputs will be attached to the CRO to ensure it has been wired up correctly. Once it has been determined that the hardware is fully operational the closed loop FOC algorithm will be operated with no load under steady state conditions. Initially all tests will be performed using 60V power supplies as these provide current limiting and short circuit protection. After the FOC controller has been proven to be stable under no load a torque will be applied to the motor using the dynamometer. Initially the motor will be run at speeds greater than 0. The minimum speed at which the MRAS can reliably operate will also be determined.

precisely tuning the controller design and studying its dynamic performance will take some time. The availability of hardware was always a factor throughout this thesis. electromechanics. In hindsight more would have been achieved if this thesis had focused on modeling all the potential controller designs in Simulink as opposed to trying to model and construct a single design. On the whole I found this thesis to be both personally and academically rewarding.1 Workbench Testing Although the FOC algorithm should be functional by the innovation expo. The Field Oriented Control algorithm was chosen to be the most feasible option for an undergraduate thesis as it is widely used and could be implemented with existing hardware. The use of Simulink to model control strategies was helpful in understanding the algorithms used and determining controller parameters for practical applications. This can be adapted from the serial communications protocols written by James Kennedy and the Brushless DC Controller GUI developed by David Finn.0 Conclusion This thesis thoroughly investigated potential controller designs for an Electric Vehicle. A long term goal should be to design the hardware and software for a Direct Torque Controller as this is more suitable for an Electric Vehicle. This is understandable considering the limited resources available to undergraduate research.11. A Graphical User Interface to enable the PC to communicate with the motor controller should be developed for the specific purpose of FOC. control theory and embedded system design. 12. A comparison between Simulink results and actual measured results would also provide a valuable insight into the effectiveness of modeling future motor control algorithms. Induction motor control is a multidisciplinary area of research that combines aspects of power electronics. In fact setting up the induction motor workbench and carrying out these tests could possibly be a thesis in itself. 57 . signal processing. As such this field is relevant to students with a variety of backgrounds. It is hoped that in the years to come other students can further develop the designs and ideas presented in this thesis.0 Recommendations for Future Work 12.

Performing a linear interpolation on this dataset using Matlab’s polyfilt function provides an equation that expresses ids in terms of speed. By recording the ids value for a number of speeds a relationship between these two quantities can be obtained.2 Implementing Field Weakening Once the controller has been shown to work reliably at rated speed. Although approaches based on look-up tables could be implemented with existing hardware. This equation can then be implemented in C on the DSP as part of the FOC algorithm. The theory behind field weakening was outlined in detail in section 2. 12. An added benefit of implementing generic SVPWM and A/D conversion algorithms on an FPGA chip is that the same chip can be easily used in other power electronic applications.12. Developing the hardware and control algorithms required for DTC would have to be done over a few years. field weakening should be used to extend the motor’s speed range. As this area is closely aligned with the interests of the University of Queensland’s Sustainable Energy Research Group undergraduate theses on this topic would be worthwhile. high performance algorithms such as DTC with SVPWM require a motor drive with both an FPGA and a DSP. 58 . The following technique requires the standard FOC algorithm to be fully operational so that as the speed is increased the flux can be manually controlled via ids until the phase voltage is once again equal to the nominal voltage.3. however a practical procedure for its implementation was also researched as part of this thesis.3 Direct Torque Control Direct Torque Control has already begun to establish itself as the standard control algorithm for Electric Vehicle applications.

K Matsuse. W. “Pulsewidth Modulation – A Survey. “The Universal Field Oriented Controller. pp 92 -100. Robbins. G. Rahman and H. New York 1996 C-M Ong. Ind.. Ehsani. M.. De Backer. 2000. K Rajashekara. Elect. “Propulsion System Design of Electric and Hybrid Electric Vehicles. Digital Control of Dynamic Systems – Addison-Wesley Publishing Company.. Power Electronics: Circuits. “The Representation of AC Machine Dynamics by Complex Signal Flow Graphs. Bose. New York. No. T. IEEE Press. Ind.. S.. Electromechanical Systems. Ind. Massachusetts 1990. R. M. IEEE Press. Electrical machines. On Ind. Holtz.M.M. Holtz. pp. Undeland. B. Novotny. Jan/Feb 1984. Boca Raton. Appl. Wildi. Power Electronic and Variable Frequency Drives: Tehcnology and Applications. CRC Press. Sensorless Control of AC Motor Drives – Speed and Position Sensorless Operation. J. Feb 1997.K..” IEEE Trans. vol 39.K. R Walker “Modulation and Control of Multilevel Converters” PhD Thesis. 1996. 5. pp 410-420. Bose. “A Simple but Reliable Loss Model for Inverter Supplied Induction Motors.” IEEE Trans. Vol 42. J. drives and power systems – 5th ed. G. pp 19 – 27. De Buck. and D. 1.” IEEE Trans. A Kawamura. B. Prentice Hall. 1995 B. Power. On Ind Elect. pp 190-202.P. 1992.F.” IEEE Trans.Toliyat. K. June 1995. Oct. Elec. [11] [12] [13] [14] 59 . Dynamic Simulation of Electric Machinery Using MATLAB/SIMULINK Prentice Hall.D. Devices and Applications 2nd ed. no. no. IEEE Press. New York 1992. F.0 References [1] [2] [3] [4] [5] [6] [7] [8] [8] [9] [10] T. vol 30 Jan/Feb 1994. IEEE Press. 263 – 271.K. De Doncker and D. P Gistelinck. New Jersey 1998.L. New Jersey 2002 N Moham. New York 1987. Microcomputer Control of Power Electronic Devices.13. J. W. John Wiley & Sons. Franklin. Technology and Applications.” IEEE Trans. 3. vol 44. App. W. Modern Power Electronics – Evolution. Bose. Workman. Electric Machines and Applied Mechatronics.. E Lysherski.

Y Hori. Elect.. “Relationship between Space-Vector Modulation and Three-Phase Carrier-Based PWM: A Comprehensive Analysis”. Ind.com TI Document ACI33 – “Field Oriented Control Using Assembler” downloaded from http://www.. Vol 29.[15] [16] [17] H Tajima. pp. K Zhou. G Strang. Control Systems Engineering. Industry Appl. John Wiley & Sons.” IEEE Trans.ti. 1. 2000.” Wellesley Cambridge Press. TI Document BPRA073 – “Digital Motor Control Library Block Reference” downloaded from http://www. No. “Introduction to Linear Algebra. “Speed Sensorless Field Orientation Control of the Induction Machine.ti. 186 – 196.com TI Document ACI32 – “Volts per Hertz Control Using a MRAS approach” downloaded from http://www. 1.ti.com [18] [19] [20] [21] [22] 60 .ti. 1993 pp 175 – 180. New York. IEEE Trans. Feb 2002.com TI Document BPRA089 – “Extended Kalman Filters in Induction Motor Control” downloaded from http://www. New York 1998. No. Nise. D Wang. Vol 49.

Sign up to vote on this title
UsefulNot useful