Está en la página 1de 60

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 Figure 2.1 - Induction Motor Cross Section [17]
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.

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
Va   2 − 1 − 1 a 
V  = 1 V − 1 2 − 1 b  (Equation 3.1)
 b  3 dc    
Vc  − 1 − 1 2   c 

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 fs 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
j2π
2
us = (1 + a + a ) where a =e 3 (Equation 3.2)
Using this unity vector, a space vector representation of phase voltages va, vb, vc is therefore
v

2 2
= (v a + vb + vc ) (Equation 3.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 Vdc. The
results of this are presented in Table 3.1.

a b c va vb vc vab vbc vca


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.

Figure 3.3 Switching Voltage Space Vectors


10
3.2.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.4 using a
combination of the eight switching vectors. 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. This is done by time modulating
the two adjacent switching vectors that set the
Figure 3.4 – Vref Mapped onto the Switching Pattern
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].

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]:
2
TpwmVref = (T1Vswitch x + T2 V switch x + 1 + T3VNull) (Equation 3.4)
3

Where Vswitch x and V switch x + 1 represent the adjacent switching vectors for sector x. VNull 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 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.5)

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 Vref in Sector I

11
3.2.4 Comparison of SVPWM with Sinusoidal PWM

The maximum reference voltage for triangular carrier PWM can be show to equal VDC/2.
Using equation 3.1 it can be shown that the length of each of the switching space vectors is
2/3 VDC. 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
1 / 3VDC . This means that for a given DC bus voltage, SVPWM can generate a reference

voltage 2 / 3 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 1   
1 − −  1
2 2  0 1
   
2 3 3 1 3
Tαβ 0 = 0 − T -1
αβ 0 = − 1
3 2 2  2 2 
1 1 1   1 3 
  − − 1
2 2 2   2 2 

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:
j2π
uα − ju β = 1 + a + a 2 where a =e 3 (Equation 4.2)

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].

  2π   2π    
 cos θ d cos θ d − 
3 
cos θ d + 
3    cos θ d − sin θ d 1
    
2  2π   2π    2π   2π 
Tdq 0 = − sin θ d − sin  θ d −  − sin θ d +  T -1 dq 0 = cos θ d −  − sin  θ d −  1
3  3   3    3   3  
 1 1 1   π π 
cosθ d +   
2 2
   − sin θ d +  1
 2 2 2    3   3  
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:
d
vqs = Rs iqs + λ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
λds = Ls ids + Lm idr
λqr = Lr iqr + Lm iqs
λdr = Lr idr + Lm ids
Ls = Lls + Lm
Figure 5.1 Equivalent Circuit [8]
Lr = Llr + Lm

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. Te 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]:

Tem = k aφ ( I f ) I a
where
Equation 6.1
φ ( 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.

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:

λdr = Lm ids
The torque is related to the q axis component
of the stator current and is represented by
Equation 6.3:
3 P Lm
Tem = λ 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
ω s = ωe − ωr = Equation 6.4
Lr ids
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.
LR dimR Equation 6.6
ids = + imR
RR dt
LR iqs
fs = n + Equation 6.7
RR imRωb
where θ is the rotor flux position and i mR the magnetizing current

19
The discrete form is as follows :
RR
imRk +1 = imRk + T (idsk − imRk ) Equations 6.8 and 6.9
LR
R R iqsk
f sk +1 = nk +1 +
LR ωb imRk +1

RR
The value T is often represented as Kt
LR
RR
and 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.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
3z p V2
Tmax = ×
2ωe 2 ( LσS + LσR ) Equation 6.11
where LσS and LσR are the stator and rotor leakage inductance
and z p is the number of pole pairs.

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
K
Tmax =
ω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.4b.

The reason the flux is reduced is to allow the maximum phase voltage to be maintained and
3 P Lm
the desired speed to be achieved. Using the equation Tem = λ iqs it can be seen that
2 2 Lr dr
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.

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

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

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 MRAS consists of two independent observers that estimate the instantaneous reactive
power, q maintaining the magnetizing current, imr. 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.

Figure
gure 6.5 - Reactive Power MRAS Block Diagram

23
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:
disα
esα = v sα − Rs isα − σLs
dt
disβ
esβ = v sβ − Rs isβ − σLs
dt

The reactive power is equal to the cross product of stator current and back emf vectors i.e.
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 
L2 m
where σ = 1 −
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:

L2 m
eˆ sα =
Lr τ r
(− τ r ωˆ imβ − imα + i sα )
L2 m
eˆ sβ =
Lr τ r
(− τ r ωˆ imα − imβ + i sβ )
Lr
where τ r = 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β 1 1
= −ωˆ r imα − i mβ + i sβ
dt τr τr
24
The estimated reactive power calculated by the adaptive model is :
qˆ = isα eˆsβ + isβ eˆsα

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
ε ∆e = q − qˆ .
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:

σ Ls
q ( k ) = i sα ( k ) v sβ ( k ) − i sβ ( k ) v sα ( k ) −
T
(isβ (k )isα (k − 1) − isα (k )isβ (k − 1) )
L2 m
where σ = 1 −
Ls Lr

The discrete time equivalent of the adaptive model is implemented as follows:


L2 m
eˆsα =
Lrτ r
(
− τ rωˆ r (k )imβ (k ) − imα (k ) + isα (k ) )
L2 m
eˆsβ =
Lrτ r
(
− τ rωˆ r (k )imα (k ) − imβ (k ) + isβ (k ) )
Lr
where τ r = 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   T2  T T2   T2 
imα (k) = imα (k − 1)− ωˆ 2 r (k) + 1 − + − ω
ˆ
 r mβ(k )i (k − 1) T − + i
 sα (k ) + −
 sβi (k )ωˆ r (k ) 2 
 2 τ r τ 2 r   τ 2 r  τ r 2τ 2 r   2τ r 
 T2 T T2   T2  T 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 
 2 τ r τ r   τ r  τ r 2τ r   2τ r 
The estimated reactive power calculated by the adaptive model is :
qˆ = isα (k )eˆsβ (k ) + isβ (k )eˆsα (k )

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.

Figure 6.6 - Kalman Flux Equations

26
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.

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 Figure 6.7 - DTC Look Up Table – [15]
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

(
λ s = V s − rs I s dt )
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.

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

Figure 8.4 Three Phase Waveform


35
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.

Figure 8.6 Speed Step Response 36


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

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 Figure 9.2 Tritium Gold Controller
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


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 Figure 9.3 Encoder Design [1]

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.
2π 1
ω= ×
Number of Teeth t 2 − t1

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:
I
I pu =
Ib
V
V pu =
Vb
λ
λ pu =
λb
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.

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 Figure 9.5 Main Method

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:
Van  2T1 − T2 − T3 
V  = Vdc 2T − T − T 
 bn  3  2 1 3
Vcn  2T3 − T1 − T2 

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 VbIb to obtain the per unit representation. The pu equations for the reference
model are:
( )
q(k ) = i sα (k ) v sβ (k ) − K1i sβ (k − 1) − i sβ (k )(v sα (k ) + K1i sα (k − 1) )
σLs I b
where K1 =
TVb

51
The following equations are used in the pu representation of the adaptive model

(
eˆsα = K2 − K3ωˆ r (k )imβ (k) − imα (k) + isα (k) pu)
eˆsβ = K2 (− K3ωˆ r (k )imα (k) − imβ (k ) + isβ (k )) pu
L2 m I b Lω
whereK2 = and K3 = r b
Lrτ rVb Rr
( )
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
i β (k) = i β (k − 1)(− K ωˆ
m m 4
2
r (k ) + K ) − ωˆ (k)i α (k − 1)K
5 r m 6 + isβ (k )K7 − isα (k )ωˆ r (k )K8 pu

T2 T T2 T2 T T2 T2
where K4 = , K5 = 1 − + 2 , K6 = T − 2 , K7 = + 2 and K8 = 2
2 τr τ r τ r τ r 2τ r 2τ r

Theestimatedreactivepowercalculatedby theadaptivemodelis :
qˆ = isα (k )eˆsβ (k ) + isβ (k )eˆsα (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. 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 ids until the
phase voltage is once again equal to the nominal voltage. By recording the ids 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 ids 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 – 5th ed., Prentice Hall, New
Jersey 2002

[2] N Moham, T.M. Undeland, W.P. Robbins, Power Electronics: Circuits, Devices and
Applications 2nd 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

También podría gustarte