You are on page 1of 6

On Applying Parallel Processing to a Versatile Induction Motor Drive System

Patrick Chi Kwong Luk


School of Electronic and Electrical Engineering,
The Robert Gordon University,
Schoolhill, Aberdeen AB9 lFR, United Kingdom.
Abstract - Parallel processing is becoming a key approach to
realise cost-effectively themany features found in a modeminduction
drive systemcomprising advanced real-time control, diagnostics and
the like. The proposed drive systemhas been implemented by the
application of medium-to-coarse grain parallel processing, through
exploiting the novel features of the transputer. Salient features of the
drive include real-time generation of pulse-width modulated (FWM)
waveforms, programmable soft-starting, on-line user input for PWM
parameters, dynamic braking and open loop vector control.
Experimental results confirming such features are presented. The low
cost, high flexibility and extendability of the drive systemprove
superior to systems developed by conventional methods.
Introduction
With therecent advent of microelectronics and power electronics, the
emphasis on a.c. variable speed drive systemdesign has already
shifted from the maturing technology of achieving efficient and
reliable power conversion to the challenging discipline of improving
the dynamic response of the drive. The search for high performance
and versatile electrical drives, impelled ina market-pull, technology-
push manner, is therefore becoming more evident in many
engineering applications. It is anticipated, for example, that electrical
drives will be rapidly replacing internal combustion engines in the
automobile industry due to environmental factors in the near future.
The inherent advantages of the induction motor in variable speed
drive applications such as electric vehicles (EV) have been identified
some time ago by pioneers such as Chan [l] and others. The
advanced control functions required by such systems as EV, when
implemented digitally, often call for the computational power of a
multi-processor system[2]. Onthe other hand, it has been envisaged
that integrated drive systems which comprise such features as
simulation study, real time control, expert systemfor monitoring and
diagnostics will emerge in the near future. The philosophy behind the
integrated drive appears to be that implementation particulars such
as sampling rate and control algorithms of the controller to the drive,
can be traded off and an optimisation of the entire drive systemcan
be established at the design stage.
One key approach to realise such versatile drives is by means of
parallel processing. Although parallel processing in induction motor
drive systems has been implemented in multi-processor systems, the
available literature usually considers only the verification aspect of
the system [2,3]. The implementation complexity in terms of
hardware and software in such systems has seldombeen addressed,
and little design guidelines are offered. For example, it has been
argued in other applications such as image processing that it is
important to balance the computational load of each processor in
order to reap thebenefits of parallel processing. There appears no
similar debate among researchers in electric drive application [4]. It
is hoped that this paper will initiate further discussions and motivate
more research activities in parallel processing applications for motor
drive systems, and in particular to draw attention to formulating
design rules.
The illustrative example used in this paper is an induction motor
drive systemusing a multi-transputer network to handle real-time
control, signal processing, house keeping and diagnostics functions.
0-7803-0891-3/93$03.00 81993IEEE
In particular, experimental results of vector control and soft-starting
are illustrated. For reawns of simplicity in implementation, the motor
drive was derated and only light load tests were performed. The
transputer was used mainly because of its direct relevance to the
concept of parallel processing, particularly when used in conjunction
with its programming language OCCAM.
The paper is organised as follows. The basic theory of parallel
processing and the notations used are outlined, with particular
emphasis on parallelism in drive systems. The method of
implementation, by means of transputer and OCCAM, is then
discussed. Theimplementation of two features of the system, the
on-line user-interface and the soft-start process, is illustrated in more
detail. Experimental results are presented, and then followed by
concluding remarks.
Theoretical Methodology
The basic principle of parallel processing is simple and yet powerful.
If a processor can execute 1 million instructions per second, then 100
of such processors operating in concert can execute 100 million
instructions in a second. It also offers notional elegance since in the
real world processes are predominantly concurrent. However,
problems of coordination between processors could pose serious
penalty in performance and the consequence could become counter-
productive. The benefits of parallel processing have been recaptured
by the introduction of the Communicating Sequential Processes
(CSP) [ 5] where each process uses message passing approach to
achieve synchronism. The proposed systemis based on CSP and one
to two communications per cycle is assumed.
Terminology
Recently, a design methodology which involves the defining of
different templates as building blocks for a generalised parallel
systemhas been proposed [6]. An alternative method, which exploits
the well-entrenched flowchart representation of program flow, is
adopted here. This notation has the obvious advantage over the
former in its familiarity to many users. Fig.1 summarizes the basic
notations. The rectangular box denotes a sequential process, the
arrowed box denotes an output or input communication, and the loop
composed of arrows represents infinite message circulation. Since
the notation used here is an extension of the conventional flowchart,
one can express theprogram flow in more detail by breaking the
process into smaller blocks as in a conventional flowchart. Different
templates such as manager-worker, worker-assistant and mailbox-
receiver [6] can beconstructed accordingly. This flowchart notation
can also serve as a timing diagram. If the timing of individual
processes is determined, and the simple rule that processes involving
communication can proceed only Vthe sending end and receiving end
are both ready is observed, the program timing can be calculated
accordingly.
Task level parallelism in drive systems
The practical implementation of parallel processing usually entails
mapping a problem onto a parallel architecture. The level of
parallelismselected for the task must closely map to that of the target
computer system for optimised performance and effective use of
907
c 3 process
Cl I aui t system (power off)
11
High priority
process
(a) Input Process (b) Output Process (c) Multi- input Process (c) Priorised Process
Fig. 1 Basic Notations used in the Flowchart for Programs in Parallel Processing
silicorl. The transputer, armed with on-silicon communications links The transputer and OCCAM
and protocols, lends itseli as an ideal processing unit for building up Although i t has beeil argued by many that the transputer is far from
medium-to-coarse grain or M IMD ( Multi-Instruction, Multi-Data) enjoying an unrivalled position in parallel processing, it is
parallel processor arrays. A typical drive system, shown in Fig.2, nonetheless the authors view that the transputer and its programming
exhibits a task-oriented parallelism, i n which each process is language OCCAM remain a very useful tool in illustrating the elegant
responsible for a different task. The tasks are classified according to concept of parallel processing, and the relative ease of implementing
their priority and execution time, and are depicted by different i t in the control of electrical drives. Since the transputer can be
shades. The tasks requiring very high speed and high priority consist programmed in OC(IAM with virtually no loss of coding efficiency,
mainly of signal processing and conditioning required for the power the hardware-software semantic gap is narrowed. This also results in
converter and have been conventionally relegated to hardware. Tasks a reduction of program development time when compared with
of mediumspeed and priority s.rethose of transformation of frame of conventional methocs.
reference and vector control algorithm. The low speed and priority
tasks Are those of rotor speed and position measurement and the
handliqg of user input/ouiput where large mechanical time constants
and sli)w response are i n\ olved
low speed -
low priorlty
medium sp,e@ -
medium prcorlty
high speed ~
high prioriiy
Fig.2 Task-oriented Parallelismin a Typical Vector Control
Induction Motor Dnve
Pr ogr m level purullelisni
Programlevel parallelismis a lower level parallelismwhen compared
with task level parallelism. Procedures or subroutines executing in
parallel are examples. The internal hardware timer of the transputer
and the OCCAM protocol to access to this Timer allows program
level parallelism. In the generation of the PWM waveform, the high
priority Timer was used in generating a communication signal at
carrier frequency of the PWM waveforms. The transputer
automatically deschedules thc timer process while waiting for the
hardware timer to time out, and reschedules the timer process upon
liming out. This feature enables a conceptually novel method of
generating PWM waveforms. However, the relatively slow
coinmimication transputer link speed may limit the carrier frequency
to several kHz in practice.
Implementation Methodology
The drive systempr3posed in this paper was designed to achieve a
high front-end flexinility by providing an on-line user interactive
environment. I t was aimed to accommodate a highly comprehensive
range of functions bv means of parallel processing.
Speci$cations ( f pr o, r system
The salient feature.; of the proposed system include real-time
generation of 3-phase PWM waveforms (1Hz to 7SHz), open loop
vector control, programmable soft-start procedure, forward and
reverse mode of operation, dynamic braking, and speed and current
measurement/monitoring. Table I and Table 2 highlight the flexibility
and user-friendlines i of the system.
Table 1 : On-line PWM parameters available for user input
11 P WM Parameters 11 Resolution Der 1 Kevs for execution 11
e r +
i t
Table 2 : On line control parameters available for user input
Vector control (on/off)
Dvnarnic braking
908
System Overview
Fig.3 shows thebloch diagramof the drive system. One main criteria
for the choice of the transputer systemwas the ease it offered to
illustrate and perform parallel processing. The INMOS B008 and
BO03boards were used, which constituted a host transputer mounted
inside a personal computer and four external transputers connected
in a network respectively. The interface consists of the 3-phase timer
for PWM waveform generation, a counter for position and speed
measurements, and A-to-D converter for current monitoring. The
power conditioning I S a 3-phase MOSFET inverter with the gate
driver. The transputer defelopment system(TDS) provided a very
user-friendly environment for programs to be edited, compiled and
Operatio!ial taqs full.speed.tag
acknowledge.tag
executed.
__
L
I
meed ref
transputer network
INT.REAL32
REAL32
iiiterface power conditioning
machine.data - R1 ;R2;L1 :LZ;Lo;Lm
startuD.data - f;MO:M;N
Fig.3 Block Diagramof the Drive System
REAL32;REAL32;REAL32;REAL32;REAL32;REAL32
REAL32;REAL32;REAL32;l NT
The communicution proti~~:ols
Several types of data were required to be communicated between the
transputers within thch multi-transputer network for the control of the
induction motor drive system. A simple stop the motor command
fromthe host coinpuler to thenetwork, for example, is nothing more
than a tag. Howevei, themeasurement of rotor speed used in vector
control will require floating point data type for the necessary
accuracy. The operational parameters for the PWM generator that
consist of such parameters as carrier frequency, frequency ratio and
modulation index, are best to be transmitted as a packet of data.
Table 3 shows the details of the PROTOCOL MOTOR, defined in
OCCAM, used in the system. PROTOCOL is a OCCAM command
to construct protocols. It is a variant protocol that specifies a number
of data types including simple tags, INT (integer), REAL32 (32-bit
real number) and a combination of INT and REAL32. The
PROTOCOL MOTOR consists of several groups of message tags and
protocols with specific format for each protocol. For example, in the
second column of Table 3, the machine.data protocol has a data
format of six REAL32 numbers in sequence for the resistances and
inductances of the machine. Incorrect data format used in the
protocol will result i n error message. The tag has no data format.
The links connecting the transputers were all assigned with the
PROTOCOL MOTOR.
Allocating procmes to proceJsors
The initial stage of software development of the present systemwas
reported earlier elsewhere [7].The method of software development
was based on the concept of OCCAM model. The logical model of
the final systemwas first developed and tested onthe host transputer,
then different processes were allocated to the processors. Instead of
observing rigidly to the basic rule of keeping every processor as
busy as possible, it was found convenient for instance to allocate a
processor dedicated to low level PWM waveformgenerations. Fig.4
shows the five processes allocated to thefive processors linked by the
channels and the corresponding top level view of the OCCAM
programs, or the pwudo-codc of the program. The symbol . . .
represents a program(s) folded underneath.
Tnt User Interiictiw Process and the Soft-start Process
The user interface to the drive systemis facilitated by the User
Interactive Process which provides the on-line user inputs and outputs
via the keyboard and monitor of the host personal computer. The
process is described i n the flowchart of Fig.5. The PWM waveform
was generated on-line by the asymmetric regular sampling method.
The user can input voltage boost and the number of increments to full
speed prior starting the motor, whereas PWM parameters and other
systemparameters can be changed when the motor is running. For
example, suppose N is the number of steps required to start the
PWM waveformfrom1 Hz (note that 0 Hz corresponds to an infinite
value loaded to the timer) to the reference frequency,$ ref, MO is the
required voltage boost, and M is the required modulation index at
reference frequency, then the processor would be required to
Table 3 : PROTOCOL MOTOR
II Classification I1 Name of taasl orotocol s - data format I Data tvDe
change.reference.speed.tag
change.carrier.freq.tag
change. pwm.parameter.tag
forward.tag
reverse.tag
I --
lr ~
i / I b . . i f ]REAL32
Control i,rotoc3(s speedmeasure \REAL32
position
labc - 1a:lb:lc 2:REAL32
REAL32
REAL32:REAL2.
II IIvector control.Darameters - Dh1;R.M IINT:INT:REAL32
909
Monitoring - I - Real Time Control
I
I I
I BOO8 board in I
I Intel 386 AT I
-----_-
Key : a denotes Process P running on T1
(a) Transputer Network (b) Main
Fig.4. Configuration of the transputer system
compute in real-time the frequency, J: rump, and modulation index,
M. rump, at each incremental step of frequency. The required values
of$ rump and M. rump are therefore determined as follows:
J: rump : =J: rump +$step
M.rump : =M.rump +M.step
;wherejstep =( f rcf - l . O) / N
;where M,step =(M.ref- MO)IN
Fig.6. shows the flowchart for the PWM process with soft-starting.
Some Experimental Results
The normal operating icon of the drive systemprovided by the
monitor of a personal computer is shown is Fig.7. In the soft-start,
the transputer computes on-line the switching angles between each
frequency increment by keeping the voltage-to-frequency ratio
constant. Programmable voltage boost is introduced as a fraction of
the modulation index at steady state. The results of the soft-start
process with two voltage boosts are shown in Fig.8. The smaller
boost (MO=O.O5) is found not enough to overcome the stator voltage
drop, resulting in a rather sluggish start. The higher boost (MO=O. 1)
is more optimal and a roughly constant current with a steady ramp
is observed during the startup period. Anon-line keystroke V was
used to enable/disable a open-loop V-type vector control algorithm
so that its effect to the motors dynamic response could readily be
studied. Fig.9 shows the speed transients and the phase currents of
the motor for a step increase of 240 rpmin reference speed with and
without vector control. Marked improvement in dynamic response is
shown as a result of vector control.
Conclusion
The proposed drive systemdemonstrates the potential of parallel
processing to motor drive systemwhich is still a relatively uncharted
field. The comprehensive range of functions of the drive would only
be realised cost-effectively by means of parallel processing. The
present systemallows the implementation of other control strategies
EXE interface
PROGRAM network
network
channel protocol declarat
SC control
sc PWM
SC speed
SC current
sc condition monitoring
configuration statements
OCCAM Program- Pseudo Code
.ions
with minimummodification in the systemhardware. The modularity
of transputers also ensures the enhancement of processing power to
the systemby adding more processors a straight-forward task. The
proposed systemforms an ideal platformfor the development of an
integrated drive systemcomprising advanced real-time controls and
a comprehensive range of programs oncondition monitoring, where
there is no need to compromise performances. The software
development time was remarkably short when compared with
conventional development methods. Moreover, the software
maintenance of the systemdeveloped was also greatly simplified
under the integrated environment supported by the TDS. However,
the commercial pressure has been very strong against the OCCAM
and TDS. It is expected that other languages such as Parallel C will
replace OCCAM. Consequently a part of the programcodes used in
this project has now been rewritten in Parallel C.
References
Chan,C.C. and LO,W., Control Strategy of PWM Inverter
Drive System for Electric Vehicles, IEEE Transactions on
Industrial Electronics, Vol.IE-34, No4, Nov. 1987.
Chan,C.C. and Ng,C.W.,Adaptive AC Propulsion Systemfor
Electric Vehicles, Electric Vehicle Association of Canada,
Harbour Castle Westin Toronto, Ontario, Canada.
Harashima,F.; Dondo,S.; Ohnishi,K.; Kajita,M. and Susono.M.,
Multimicroprocessor-Based Control Systemfor Quick Response
Induction Motor Drive, IEEE Trans. Ind. App., Vol.IA-21, No
4, May/J une 1985, pp.602-609.
Asher,G.M. and Sumner, M.; Parallelismand the Transputer
for Real Time Control of AC Induction Motor, IEE Proc,
Vol. 137, pt.D, No.4, July 1990.
Hoare,C.A.R., Communicating sequential processes, Prentice-
Hall International, 1985.
Chang,Y.-Z., Danie1,R.W. ,Parallel processing network for
adaptive controllers, IEE Proceedings-D, Vol. 140, No. 1,
J anuary, 1993.
Luk,C.K.P. ,J ayne,M.G. ,Rees,D., The transputer control of
variable speed induction drives, Proceedings EPE 91,4th
European Conference on Power Electronics, Vol. 1, p.574-579.
910
set PROTOCOL MOTOR
open Occamuser libranes
L
I declare variable and constank I
1 set up operating menu
I
1
user inputs:
I
Performthe selected procedure
Chanae frea. DrOces
Chanae m w
LxQ!zss
1 displayoperabng InStrucbonS I
1 I : fonvord I
send finish.tag to TO
+
I
I set dyamic brake HagI
send control data to TO
w
1 display message 7
wait lor timer setup signal 7
-
i Fig.6 Flowchart for User Interactive Process Providing On-line User Inputs
,
formsine table
I
get start-up data fromTO 7
Calculate parameters for softstart
process fromthe recievad start-up data
high pnority
IS f ramp c f ref
process
f- I I
(iti) Quit system
IS J <soft.start.time
(i) vector control (11)PWM parameten
I
1
clock ? time.now
3
Vector control algrothm
I?
load 1, to register of timer 1 of 8254 I
load b to register of timer 2 of 8254 i
load 1, to reqister of timer 3 of 8254 I
, , I
Fig.7 Flowchart for PWM Process with Soft-start
1
i
91 1
Fig.7 Operating Icon of the Drive System
(a) Voltage Boost MO =0.05
(b) Voltage Boost MO =0.1
Fig.8 Soft-start Process with a Programmable Voltage Boost
(2) Vector Control AlgorithmDisabled
(b) Vector Control AlgorithmEnabled
Fig.9 Dynamic Response for a Step Increase of 240 rpmi n Reference Speed
912

You might also like