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