Top Banner
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
60
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Digital Control of a Three Phase Induction Motor

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

Page 2: Digital Control of a Three Phase Induction Motor

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

Page 3: Digital Control of a Three Phase Induction Motor

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

Page 4: Digital Control of a Three Phase Induction Motor

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

Page 5: Digital Control of a Three Phase Induction Motor

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 w

distributed Wye [3]. The squirrel cage mo

rotor consists of bare aluminium bars that

aluminium end rings. The motor used in t

Despite their benefits, induction machine

speed is determined by the frequency o

understood when the operating principle

difficult to obtain decoupled control of the

current. The issue is further complicated

such as rotor flux and currents [3]. In an

three phase source flow through the stat

speed of rotation of this field is depend

frequency of supply. The field induces a v

circulating current. Because the induc

magnetic field it is subject to Lorentz’s fo

produces a torque that drives the rotor in t

Figure 2.1 - Induction Motor Cross Section [17]

indings and are usually connected in a uniformly

tor has a very different arrangement to this. A cage

are short circuited together by being welded to two

his thesis was a three phase squirrel cage motor.

s have one major drawback, which is that that their

f the supply. The reason for this can be better

of the motor is studied. Unlike DC motors it is

torque and flux producing components of the stator

because there is no direct access to rotor quantities

induction machine the alternating currents from the

or windings producing a rotating stator flux. The

ent on the number of poles in the motor and the

oltage in the rotor bars, which in turn creates a large

ed rotor current is in the presence of the rotating

rce. The sum of the Lorentz forces on the rotor bars

he direction of the rotating field.

5

Page 6: Digital Control of a Three Phase Induction Motor

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

Page 7: Digital Control of a Three Phase Induction Motor

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.

In the following e

1 when the MOSF

upper MOSFET i

off i.e. a’,b’,c’ =

prevents vertical c

of a,b,c the phas

following matrix r

Figure 3.1 - Basic Three Phase Voltage Source Inverter

quations the control signals are represented by logic values that are equal to

ET is on and 0 when it is off. In AC induction motor control when the

s switched on i.e. a,b,c is 1 the corresponding lower MOSFET is switched

0. Using complementary signals to drive the upper and lower MOSFETS

onduction providing that the control signals don’t overlap. From the states

e voltages connected to the motor winding can be calculated using the

epresentation:

7

Page 8: Digital Control of a Three Phase Induction Motor

−−−−−−

=

cba

VVVV

dc

c

b

a

211121112

31 (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 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

Page 9: Digital Control of a Three Phase Induction Motor

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

us = (1 + a + a2) where 3j2

e π

=a (Equation 3.2)

Using this unity vector, a space vector representation of phase voltages va, vb, vc is therefore

)(32 2

cba vvv aav ++= (Equation 3.3)

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

9

Page 10: Digital Control of a Three Phase Induction Motor

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

Page 11: Digital Control of a Three Phase Induction Motor

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

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 – Vref Mapped onto the Switching Pattern

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 = 32 (T1Vswitch x + T2 V switch x + 1 + T3VNull) (Equation 3.4)

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)

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

Page 12: Digital Control of a Three Phase Induction Motor

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

DCV3/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

Page 13: Digital Control of a Three Phase Induction Motor

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

−−

−=

−−

=

123

21

123

21

101

T

21

21

21

23

230

21

211

32T 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 3j2

e aπ

= (Equation 4.2) 21 aajuu ++=− βα

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

13

2sin3

2cos

13

2sin3

2cos

1sincos

T

21

21

21

32sin

32sinsin

32cos

32coscos

32T 0

1-0

+−

+

−−

=

+−

−−−

+

=

πθπθ

πθπθ

θθπθπθθ

πθπθθ

dd

dd

dd

dqddd

ddd

dq

13

Page 14: Digital Control of a Three Phase Induction Motor

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:

( )

mlrr

mlss

dsmdrrdr

qsmqrrqr

drmdssds

qrmqssqs

dsqsqsdse

qrredrdrrdr

drreqrqrrqr

qsedsdssds

dseqsqssqs

LLLLLL

iLiL

iLiLiLiL

iLiL

iiPT

dtdiRv

dtdiRv

dtdiRv

dtdiRv

+=+=

+=

+=+=

+=

−=

−−+=

−++=

−+=

++=

λ

λλ

λ

λλ

λωωλ

λωωλ

λωλ

λωλ

23

)(

)(

Where the subscript s corresponds to stator, r cor

axis, q corresponds to quadrature axis and l corresp

P is the number of poles. The equivalent circuit is s

Figure 5.1 Equivalent Circuit [8]

responds to rotor, d corresponds to direct

onds to leakage. Te represents torque while

hown in Figure 5.1.

14

Page 15: Digital Control of a Three Phase Induction Motor

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

Page 16: Digital Control of a Three Phase Induction Motor

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

Page 17: Digital Control of a Three Phase Induction Motor

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

afaem

I

I

IIkT

φ

φ

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

Page 18: Digital Control of a Three Phase Induction Motor

The key compon

seen in Figure 6

rotating referenc

producing comp

much the same w

current is related

dsmdr iL=λ

The torque is rel

of the stator cu

Equation 6.3:

r

mem L

LPT λ22

3=

Figure 6.2 - A Field Oriented Controller Block Diagram

ent of the FOC strategy is the Clarke and Park transform blocks. As can be

.3 these map the three phase stator currents onto a direct and quadrature

e frame that is aligned with the rotor flux. This decouples the torque and flux

onents of the stator currents allowing the induction motor to be controlled in

as as a separately excited DC machine. The d-axis component of the stator

to the rotor flux magnitude via Equation 6.2:

ated to the q axis component

rrent and is represented by

qsdr i

Figure 6.3 - Vector Mapping

18

Page 19: Digital Control of a Three Phase Induction Motor

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:

ds

qs

r

rres i

iLr

=−= ωωω Equation 6.4

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

∫∫ += ms ωωθ 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 gmagnetizin thei andposition flux rotor theis where mRθωbmR

qs

R

Rs

mRmR

R

Rds

ii

RLnf

idt

diRLi

+=

+= Equation 6.6

Equation 6.7

19

Page 20: Digital Control of a Three Phase Induction Motor

1

1

1

1

)(

:follows as is form discrete The

+

+

+

+=

−+=

+k

k

k

kkkk

mR

qs

bR

Rks

mRdsR

RmRmR

ii

LR

nf

iiLR

Ti

ω

i Equations 6.8 and 6.9

The value R

RLRT is often represented as Kt

and bR

RLRω

is often represented as Kr

Once fs has been calculated the rotor flux position cmθ is computed as

Tfkkk sbcmcm ωθθ +=

+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

Page 21: Digital Control of a Three Phase Induction Motor

Equation 6.11

pairs. pole ofnumber theis andinductance leakagerotor andstator theare and where

)(2

3 2

2max

p

RS

RSe

p

zLL

LLVz

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

ariablesequation v fixedother thefrom derived alueconstant v a is where

2max

K

KTeω

=

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 qsdrr

mem i

LLP λ

223

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

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

21

Page 22: Digital Control of a Three Phase Induction Motor

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

Page 23: Digital Control of a Three Phase Induction Motor

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.

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,

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.

r MRAS Block Diagram r MRAS Block Diagram gure 6.5 - Reactive PoweFigure 6.5 - Reactive Powe

23

Page 24: Digital Control of a Three Phase Induction Motor

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:

dtdi

LiRve

dtdiLiRve

ssssss

ssssss

ββββ

αααα

σ

σ

−−=

−−=

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:

rs

m

ss

sssssss

LLL

dtdi

idt

diiLviviq

21 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:

( )

( )

ββαβ

βαβα

βα

ββαβ

ααβα

ττω

ττω

τ

ωττ

ωττ

sr

mr

mr

sr

mr

mr

mmr

rr

smmrrr

ms

smmrrr

ms

iiidt

iiidt

iiRL

iiiLLe

iiiLLe

11ˆdi

11ˆdi

gintegratinby calculated are and andconstant rotor time theis where

ˆˆ

ˆˆ

m

m

2

2

+−−=

+−−=

=

+−−=

+−−=

24

Page 25: Digital Control of a Three Phase Induction Motor

αββα ssss eiei q ˆˆ ˆ:is model adaptive by the calculatedpower 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

ˆ

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

( )

rs

m

sssss

ssss

LLL

kikikikiTLkvkikvkikq

21 where

)1()()1()()()()()()(

−=

−−−−−=

σ

σβααβαββα

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

( )

( )

:follows as are and methodn integratio al trapezoidthe

using calculated are (k) and (k) andconstant rotor time theis where

)()()()(ˆˆ

)()()()(ˆˆ

2

2

βα

ββαβ

ααβα

τ

ωττ

ωττ

mmr

rr

smmrrrr

ms

smmrrrr

ms

iiRL

kikikikLLe

kikikikLLe

=

+−−=

+−−=

++

−−−

+−+−−=

++

−−−

+−+−−=

rrs

rrs

rmr

rrrmm

rrs

rrs

rmr

rrrmm

TkkiTTkiTTkikTTkTkiki

TkkiTTkiTTikTTkTkiki

2

2

2

2

2

2

2

22

2

2

2

2

2

2

2

2

22

2

2)(ˆ)(

2)()1()(ˆ1)(ˆ

2)1()(

2)(ˆ)(

2)()1()(ˆ1)(ˆ

2)1()(

τω

τττω

ττω

τω

τττω

ττω

αβαββ

βαβαα

k

)(ˆ)()(ˆ)( ˆ:is model adaptive by the calculatedpower reactive estimated The

kekikeki q ssss αββα +=

25

Page 26: Digital Control of a Three Phase Induction Motor

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

Page 27: Digital Control of a Three Phase Induction Motor

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

Page 28: Digital Control of a Three Phase Induction Motor

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

Page 29: Digital Control of a Three Phase Induction Motor

The stator flux space vector sλ is estimated using the equation

( )dtIrV ssss −=λ

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.

( ) ( )ssssssem IIPIPT αββα λλλ −=×=22

322

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 Vref

required to drive the torque and flux to the reference value can be calculated from the

following two equations :

( )( ) ( ) ( )( )

( )tVtVtV

EEVVL

tPEVL

tPT

s

sssss

ss

em

∆+∆=∆=∆

+−+−′

∆=−×

′∆

=∆

βα

αββααββα

λ

λλλλλ

223

223

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

Page 30: Digital Control of a Three Phase Induction Motor

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

Page 31: Digital Control of a Three Phase Induction Motor

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

Page 32: Digital Control of a Three Phase Induction Motor

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

Page 33: Digital Control of a Three Phase Induction Motor

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

Page 34: Digital Control of a Three Phase Induction Motor

Figure 8.2 – Entire Simulink Model For An FOC Controller

34
Page 35: Digital Control of a Three Phase Induction Motor

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

35Figure 8.4 Three Phase Waveform

Page 36: Digital Control of a Three Phase Induction Motor

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.

36Figure 8.6 Speed Step Response

Page 37: Digital Control of a Three Phase Induction Motor

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

Page 38: Digital Control of a Three Phase Induction Motor

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

Page 39: Digital Control of a Three Phase Induction Motor

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

Page 40: Digital Control of a Three Phase Induction Motor

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

Page 41: Digital Control of a Three Phase Induction Motor

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.

12

1Teeth ofNumber

2tt −

×=πω

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

Page 42: Digital Control of a Three Phase Induction Motor

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

Page 43: Digital Control of a Three Phase Induction Motor

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:

bpu

bpu

bpu

VVV

III

λλλ =

=

=

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

Page 44: Digital Control of a Three Phase Induction Motor

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

Page 45: Digital Control of a Three Phase Induction Motor

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

three PWM compare registers CMPR1, CMPR2 and CMPR3. The u

0xCA00 into the COMCONA configuration register. The dead band

the DBTCONA register to 0x01F4. When initializing the compare r

to set them equal to the maximum PWM period. The values in the

changed by the SVPWM controller block.

The final task of the main method is to enable Global Interrupts by se

0x0003. A number of other registers need to be configured for the D

however most of these use null or default values. For a full listing

consult the source code in Appendix A.

Figure 9.5 Main Method

nit is enabled by loading

is established by setting

egisters it is a good idea

se registers will later be

tting the IMR register to

SP to operate properly

of these register please

45

Page 46: Digital Control of a Three Phase Induction Motor

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

Page 47: Digital Control of a Three Phase Induction Motor

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

Page 48: Digital Control of a Three Phase Induction Motor

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

Page 49: Digital Control of a Three Phase Induction Motor

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

Page 50: Digital Control of a Three Phase Induction Motor

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

Page 51: Digital Control of a Three Phase Induction Motor

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:

−−−−−−

=

213

312

321

222

3TTTTTTTTT

V

VVV

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 VbIb to obtain the per unit representation. The pu equations for the reference

model are:

( ) ( )

b

bs

ssssss

TVIL

K

kiKkvkikiKkvkikq

σααβββα

=

−+−−−=

1

11

where

)1()()()1()()()(

51

Page 52: Digital Control of a Three Phase Induction Motor

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

( )( )

( )( )

pu )(ˆ)()(ˆ)( ˆ:is model adaptive by the calculatedpower reactive estimated The

2 and

2 , ,1 ,

2 where

pu )(ˆ)()()1()(ˆ)(ˆ)1()(

pu )(ˆ)()()1()(ˆ)(ˆ)1()(

and where

pu )()()()(ˆˆpu )()()()(ˆˆ

2

2

82

2

72

2

62

2

5

2

4

87652

4

87652

4

3

2

2

32

32

kekikeki q

TKTTKTTKTTKTK

KkkiKkiKkikKkKkiki

KkkiKkiKkikKkKkiki

RL

KVLIL

K

kikikikKKe

kikikikKKe

ssss

rrrrrr

rssmrrmm

rssmrrmm

r

br

brr

bm

smmrs

smmrs

αββα

αβαββ

βαβαα

ββαβ

ααβα

ττττττ

ωωω

ωωω

ωτ

ω

ω

+=

=+=−=+−==

−+−−+−−=

−+−−+−−=

==

+−−=

+−−=

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

Page 53: Digital Control of a Three Phase Induction Motor

9.3 Controller Designs

9.3.1 V/Hz Controller

9.3.2 FOC C

Figure 9.6 V/Hz Controller Using DMC Library Blocks

ontroller

Figure 9.7 Field Oriented Controller Design Using DMC Library Blocks

53

Page 54: Digital Control of a Three Phase Induction Motor

9.3.3 FOC Controller with MRAS

Figure 9.8 Sensorless MRAS Controller Design Using DMC Library Blocks

54

Page 55: Digital Control of a Three Phase Induction Motor

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

Page 56: Digital Control of a Three Phase Induction Motor

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

Page 57: Digital Control of a Three Phase Induction Motor

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

Page 58: Digital Control of a Three Phase Induction Motor

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

Page 59: Digital Control of a Three Phase Induction Motor

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

Page 60: Digital Control of a Three Phase Induction Motor

[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