+ All Categories
Home > Documents > A simple digital control scheme for a DC motor

A simple digital control scheme for a DC motor

Date post: 19-Sep-2016
Category:
Upload: ar
View: 214 times
Download: 1 times
Share this document with a friend
5
A simple digital control scheme for a DC motor B.A. White, Ph.D., R.T. Lipczynski, Ph.D., and A.R. Daniels, M.Sc, C.Eng., M.I.E.E. Indexing terms: • Control equipment and applications, Mathematical techniques, Microprocessors, Motors Abstract: A simple control algorithm, based on a conditional branch-and-jump instruction set, for the speed control of a separately excited DC motor, is described. The proposed scheme incorporates direct digital control of the firing angle of the thyristors in the power amplifier and a new hybrid tachogenerator with a low ripple content. The very simple realisation of the control law allows sufficient time during the sampling period for an on-line health monitoring role to be incorporated in the total scheme. 1 Introduction The design of closed-loop analogue controllers with a given static accuracy and a specified transient behaviour is well established. More recent developments in large power thyristors and transistors have introduced a new dimension into the subject, and semiconductor power amplifiers are now widely used in closed-loop systems [7,8]. Parallel developments in transistor technology have led to the introduction of small inexpensive digital microcomputing systems which can readily perform the role of a direct digital controller [10]. However, the replacement of analogue control elements by their digital equivalents will, in general, introduce unnecessary design constraints and could lead to the pro- duction of a more complex system without necessarily improving the performance of a well proven analogue system. Control strategies which utilise the structure of a micro- computing system should, therefore, be examined and, in the present study, one such method, based on Bellman's dynamic programming approach [1, 6, 11] will be considered. It is in such an application, desirable to avoid the use of the more complex arithmetic operations, such as multiply and divide, and to highly utilise the simple logical operations, such as shift and compare/branch, using simple integer rather than floating-point arithmetic. If a simple realisation of the control strategy is possible, then sufficient time during the sampling period can be made available to allow the microcomputer to perform an on-line health monitoring role. This will allow faults to be identified so that appropriate action can be taken to ensure safe operation. The monitoring role will obviously also provide data logging facilities [9]. 2 System description The particular system chosen in this study is that of the speed control of a separately excited DC motor, whose armature circuit is controlled using a fully controlled single-phase thyristor bridge, operating in a digital control mode. The control program is contained in a Motorola 6800 processor system with less than one kbyte of dynamic RAM, using one serial and several parallel digital input/output ports. Firing- angle information to the thyristors is supplied in digital form [2] as a 10-bit digital word, thereby allowing 1024 firing- angle increments (0.176° over one half cycle of 50 Hz mains frequency). This resolution was found sufficient to maintain the motor speed at a constant level within the measurement accuracy of the tacho. A block diagram representing the complete system is shown in Fig. 1. Speed measurement is obtained using a hybrid analogue/digital tachogenerator with high ripple rejection [3] Paper 231 IB, (P6, PI, C4, C6) first received 22nd June and in revised form 29th October 1982 The authors are with the School of Electrical Engineering, University of Bath, Claverton Down, Bath BA2 7AY, England over a very wide speed range. This tacho ensures that any ripple which has a frequency of one or more cycles/revolution is ignored in the measurement. Hence tacho ripple is eliminated. Both the armature and field currents are fed back into the microcomputer and additional health monitoring signals can be fed back as necessary. A phase-lock signal is taken from the thyristor bridge to ensure that thyristor firing is synchronised with the mains frequency and a zero crossing detection circuit is used to indicate that the zero voltage transition of the mains supply has been successfully identified. input demand armature current signal firing angle microcomputer phase-lock signal thyristor controller tacho field-current signal motor -speed signal Fig. 1 Schematic of motor and controller All these feedback signals are converted into digital form. The tachogenerator signal is processed by a tracking analogue- to-digital convertor (ADC), whose quantisation level depends on the word length used with the ADC. All other feedback signals are converted to single-bit level and memory mapped into the microcomputer in the form of a system status register. Table 1 shows the contents and functions of this status register. When the status register is loaded into the condition code register of the microcomputer, the complete control system can be effectively monitored using a series of simple conditional branch instructions. Each bit, with the exception of the armature current status bit, will cause the micro- computer to branch to a fail-safe routine, if it is set to a fail mode. The armature current bit can be used to send the program into an overcurrent control routine which will increment the thyristor firing angle. If, however, the over- current condition persists for a preset number of sample intervals, the program will go into its fail safe mode. Armature-current transients that operate with very fast time constants compared to the 10 ms sampling period will not be controlled, as the thyristors operate on a rectified 50 Hz signal and cannot be turned off until a zero crossing occurs. The main flow chart for the microcomputer program is shown in Fig. 2. The system, after initialisation, is interrupt driven from the mains zero crossing detector. The complete program consists of a collection of subroutines with the IEEPROC, Vol. 130, Pt. B, No. 2, MARCH 1983 0143-7038/83/020143 + 05 $01.50/0 143
Transcript
Page 1: A simple digital control scheme for a DC motor

A simple digital control scheme for a DC motorB.A. White, Ph.D., R.T. Lipczynski, Ph.D., and A.R. Daniels, M.Sc, C.Eng., M.I.E.E.

Indexing terms: • Control equipment and applications, Mathematical techniques, Microprocessors, Motors

Abstract: A simple control algorithm, based on a conditional branch-and-jump instruction set, for the speedcontrol of a separately excited DC motor, is described. The proposed scheme incorporates direct digitalcontrol of the firing angle of the thyristors in the power amplifier and a new hybrid tachogenerator with alow ripple content. The very simple realisation of the control law allows sufficient time during the samplingperiod for an on-line health monitoring role to be incorporated in the total scheme.

1 Introduction

The design of closed-loop analogue controllers with a givenstatic accuracy and a specified transient behaviour is wellestablished. More recent developments in large powerthyristors and transistors have introduced a new dimensioninto the subject, and semiconductor power amplifiers are nowwidely used in closed-loop systems [7,8] .

Parallel developments in transistor technology have led tothe introduction of small inexpensive digital microcomputingsystems which can readily perform the role of a direct digitalcontroller [10]. However, the replacement of analogue controlelements by their digital equivalents will, in general, introduceunnecessary design constraints and could lead to the pro-duction of a more complex system without necessarilyimproving the performance of a well proven analogue system.

Control strategies which utilise the structure of a micro-computing system should, therefore, be examined and, in thepresent study, one such method, based on Bellman's dynamicprogramming approach [1, 6, 11] will be considered. It is insuch an application, desirable to avoid the use of the morecomplex arithmetic operations, such as multiply and divide,and to highly utilise the simple logical operations, such asshift and compare/branch, using simple integer rather thanfloating-point arithmetic.

If a simple realisation of the control strategy is possible,then sufficient time during the sampling period can be madeavailable to allow the microcomputer to perform an on-linehealth monitoring role. This will allow faults to be identifiedso that appropriate action can be taken to ensure safeoperation. The monitoring role will obviously also providedata logging facilities [9].

2 System description

The particular system chosen in this study is that of the speedcontrol of a separately excited DC motor, whose armaturecircuit is controlled using a fully controlled single-phasethyristor bridge, operating in a digital control mode. Thecontrol program is contained in a Motorola 6800 processorsystem with less than one kbyte of dynamic RAM, using oneserial and several parallel digital input/output ports. Firing-angle information to the thyristors is supplied in digital form[2] as a 10-bit digital word, thereby allowing 1024 firing-angle increments (0.176° over one half cycle of 50 Hz mainsfrequency). This resolution was found sufficient to maintainthe motor speed at a constant level within the measurementaccuracy of the tacho.

A block diagram representing the complete system is shownin Fig. 1. Speed measurement is obtained using a hybridanalogue/digital tachogenerator with high ripple rejection [3]

Paper 231 IB, (P6, PI, C4, C6) first received 22nd June and in revisedform 29th October 1982The authors are with the School of Electrical Engineering, Universityof Bath, Claverton Down, Bath BA2 7AY, England

over a very wide speed range. This tacho ensures that anyripple which has a frequency of one or more cycles/revolution isignored in the measurement. Hence tacho ripple is eliminated.Both the armature and field currents are fed back into themicrocomputer and additional health monitoring signals canbe fed back as necessary. A phase-lock signal is taken from thethyristor bridge to ensure that thyristor firing is synchronisedwith the mains frequency and a zero crossing detection circuitis used to indicate that the zero voltage transition of the mainssupply has been successfully identified.

inputdemand

armature current signal

firing angle

microcomputerphase-locksignal

thyristorcontroller

tacho

field-current signal

motor -speed signal

Fig. 1 Schematic of motor and controller

All these feedback signals are converted into digital form.The tachogenerator signal is processed by a tracking analogue-to-digital convertor (ADC), whose quantisation level dependson the word length used with the ADC. All other feedbacksignals are converted to single-bit level and memory mappedinto the microcomputer in the form of a system status register.Table 1 shows the contents and functions of this statusregister. When the status register is loaded into the conditioncode register of the microcomputer, the complete controlsystem can be effectively monitored using a series of simpleconditional branch instructions. Each bit, with the exceptionof the armature current status bit, will cause the micro-computer to branch to a fail-safe routine, if it is set to a failmode. The armature current bit can be used to send theprogram into an overcurrent control routine which willincrement the thyristor firing angle. If, however, the over-current condition persists for a preset number of sampleintervals, the program will go into its fail safe mode.

Armature-current transients that operate with very fasttime constants compared to the 10 ms sampling period will notbe controlled, as the thyristors operate on a rectified 50 Hzsignal and cannot be turned off until a zero crossing occurs.

The main flow chart for the microcomputer program isshown in Fig. 2. The system, after initialisation, is interruptdriven from the mains zero crossing detector. The completeprogram consists of a collection of subroutines with the

IEEPROC, Vol. 130, Pt. B, No. 2, MARCH 1983 0143-7038/83/020143 + 05 $01.50/0 143

Page 2: A simple digital control scheme for a DC motor

Table 1: Health monitoring status word definitions

Bit value

Bit number

0

1

2

3

Bit = O

Thyristor firing inphase-lock loopArmature circuitover currentZero crossing ofmains detectionfunctionalLoss of fieldcurrent

Bit = 1

Thyristor firing lossof phase lockArmature current atsafe levelMains zero crossingdetection failure

Field currentdetected

interrupt entry point"from zero crossingdetector

1 —overcurrentcontrol routine

yes• </over >v

\current/'

j no

controlalgorithm

firing-anglerange checkand output

speed error,accelerationroutine

vsait forinterrupt

Fig. 2 Flow chart for software

control algorithm subroutine as the main element. In additionto the overcurrent control and firing-angle range check, aspeed error and acceleration subroutine is used to compare themeasured speed with the demanded speed stored in thememory. It also provides a simple filtering function on thetachogenerator signal by monitoring that signal during thesampling time and obtaining an average over the sample time,obtained by adding 2" consecutive readings of speed andshifting the resulting sum by n places. In this manner, all thefunctions performed in the speed subroutine are simpleadditions, subtractions and shifts.

3 Modelling and control of motor

3.1 Development of linear modelA simplified model of the system is shown by the blockdiagram of Fig. 3. The model represents a fixed-field,armature-controlled DC motor. The time constant of thearmature is considered to be much faster than the mechanicaltime constant, and hence the armature is treated as a pureresistance. The integrator in the forward path is introduced bythe sampling effect of the digital controller, and Fig. 3 hasbeen drawn for a 10 ms sample interval. The presence of thechopped sinewave of voltage produced by the rectifying

action of the thyristors is modelled by the inclusion of the twogain parameters, K and a, whose values are dependent onoperation conditions. These were obtained by averaging thechopped sinewave applied to the armature model circuit undervarious loading conditions [4].

setspeed control

algorithm

digitisedspeed

firingangleincrement

100firingangleU(s)

>r

iR

ex

Km

Km

Y(S)

ADC

Fig. 3 Block diagram of control system

The system can be represented in state-space form with thetwo states xx and x2 chosen to be the speed error and theacceleration error, respectively. Then, for a constant speeddemand cjd:

*i = cod — co

x2 = % = -co

with

JCj = — CO

(1)

(2)

(3)

The open-loop transfer function G(s) can be obtained directlyfrom Fig. 3 as

G(s) =lOOKKm

U(s) s[(Js+B)R+km2a]

where

R = armature resistance, 12

Km = motor gain, rad/s v

B = motor friction, N s/rad

J8 = inertia of moving parts, -/Vs2/rad

which rearranges to give

Then, from eqns. 3 and 4,

1 / Km2 ar lOOKKm

(4)

(5)

Eqns. 2 and 5 can then be used to obtain the state equation inthe form

x2

100 # tonJR

^

U

144 IEEPROC, Vol. 130, Pt. B, No. 2, MARCH 1983

Page 3: A simple digital control scheme for a DC motor

and discrete form of this equation with a sample period Tbecomes

xa(*+l)r| |0 e2

x2 (kT) hU(kT) (6)

where

ex =-(l-e-aT)a

t o ~~~ ^ (7 8)

(9 10)

b =JR

(1112)

3.2 Dynamic programming control algorithmWhen using a form of dynamic programming to produce asuitable control algorithm, it is convenient to consider thesystem response as being divided into two zones: a large-speed-error region and a small-speed-error region. When thespeed error is large, the control strategy used must reduce theerror as quickly as possible and the system performance can,therefore, be measured using only the speed error corres-ponding to the system state JC x (kT). In the small error region,the shaft acceleration must be restricted if a very oscillatoryresponse is to be avoided and both the system states must beused. Thus, a simple form of dual mode control is appropriate,with a general performance index Jn over n samples, of theform:

(13)i = 0

with j3 = 0 for the large-error region.In addition, a constraint must be placed on the maximum

permissible value Im of the armature current ia, such that

0 < * « < / m (14)

An expression for the armature current in terms of the systemstates can be readily obtained from Fig. 3, such that

In Z=

BTJ

(15)

and eqns. 14 and 15 can be represented by lines in state spacein the manner illustrated by Fig. 4. The typical trajectory instate space, shown in Fig. 4, illustrates the operation of thecurrent overload programme, whereby the trajectory is pushedback into the unsaturated region each time eqn. 12 is violated.

Upper and lower constraints must also be placed on thevalue of the firing-angle increment u(kT) to avoid the intro-duction of large oscillations about the overcurrent constraint.When close to an overcurrent condition, the control system

will be continually trying to impose large firing-angleincrements to eliminate speed errors. Once in overcurrent, theovercurrent .algorithm takes over and decrements the firingangle until the current reduces below the maximum. If noconstraints on maximum increment are imposed, the controlsystem could take the firing angle well past its maximum andset up large-limit cycle conditions about maximum current. Byintroducing the limits, this amplitude of the limit cycle is keptdown in magnitude. These limits can be simply expressed interms of upper and lower limits with

Umin<U(kT)<Un (16)

Consider then the operation of the system at time t within asingle sample period, such that

(n-l)T<t<nT

Then, from eqn. 13,

J\ = *\ (n-\)T+&x\ (n- (nT)

+ frl(nT) (17)The value of the firing angle increment at t = (n — 1)T mustbe chosen to minimise Jx, to give

Jt = H ( » - l ) r { / , }

and, since U(n — Y)T will only depend on informationavailable at the sample instant the dynamic system equation,eqn. 6, must be used to obtainx1(nT) andx2{nT) as functionsof *i(« — 1)T, x2(n — \)T andu(n— l)Tin the usual manner.Under these constraints, eqn. 17 can be written as

x\(n- l)T+fal ( n - \)T

J, =1 + [*! (n- \)T+elXl (n- 1)T + fxU(n - l ) r ] 2

+ [e2x2 (n- l)T + f U(n- 1)7] 2

The minimum value can be obtained by equating to zero thederivative of Jt with respect to U(n - l)T and, under thiscondition:

U(n - \)T =

fi+PA(18)

In the particular case of the large error region, 0 = 0, and eqn.18 reduces to

u(n _ (19)

3.3 Control algorithm implementationThe control strategies for the small and large error regions,defined by eqns. 18 and 19, respectively, must now beimplemented within the microcomputer. Both can be repre-sented by straight lines in state space whose positions aredefined by the quantities ex, e2, f\, f2 and /3. Althoughcertain of these quantities have values which are plantdependent, the practical form of eqn. 19 for the large-errorzone is a line of high negative slope close to the y-axis, and thisline can be taken as the y -axis itself.

The boundary between the two error regions can now bechosen as some position ± V of the speed demand. The fullsituation is illustrated in Fig. 5, where the small error regionhas initially been represented by four equal and quantisedlevels of speed error. The method used to obtain the necessary

IEEPROC, Vol. 130, Pt. B, No. 2, MARCH 1983 145

Page 4: A simple digital control scheme for a DC motor

error-rate signal in the small-error region has been chosen to beas simple as possible and takes the form of a lst-order differ-ence equation of the speed-error signal. Thus, the scaledestimate e of the error rate e is given by

e= nTe(kT) = e(kT) -e(k-n)T

with delay of n samples introduced to allow sufficient filtering.In practice, using the hybrid tachogenerator, a value of n = 6gave a good estimation of acceleration.

Table 2: Firing-angle increment zones

= l A

Fig. 4 State-trajectory and current-saturation constraints

large-errorregion

speed-quant isationlevel

0.65

large-errorregion

1.3 1.96 2.6

small-error regions

Fig. 5 Definition of error regions

Although it is possible to calculate the value of the requiredfiring-angle increment at any point within the small-errorregion, the resulting equation solution time is quite long andthe final control law used introduced nine particular zoneswithin the small error region. These nine zones are defined inFig. 6, where the zone Z\ corresponds to the desired steady-state operating condition when no firing increment is required.Is is bounded by limiting values ±xy and ±x2 for the errorand error-rate signals, such that*! represents the quantisationlevel in the hybrid tachogenerator. The boundary value x2 forthe error-rate signal is taken as that value of acceleration whichwould change the speed output by one bit over n samples, suchthat, for example, with an 8-bit ADC, n = 6 and a 10 mssampling period, x2 = 10.8. Once the positions of these zoneshave been fixed, increment values for the firing angle can becalculated using eqn. 18 with a given value for the weightingfactor (i. The general form of the result of these calculationsis given in Table 2, where the constants 5 1 } 5 2 , 63, and 54

represent those integer numbers for the firing angle incrementclosest to the actual noninteger calculated values.

Thus, the form chosen for the small-error-region-controllaw can be realised by simple compare and branch instructions,such that, with simple testing for the sign of the two system

146

+ 82

- 6 . 0

~ « 4

+ «3

+ 61

x2=10.8

x2=-10.8

Z8

Z7

Z9

11

Z1X 2l

Isteadystate

Z3

Z5

zu

Z6

x1 = -2.6 x1 = -0.65 x1=0.65

Fig. 6 Definition of small error zones

x1=2.6

states, an increment value for the firing angle can be obtainedfrom a very simple control program.

4 Experimental investigation

An experimental study has been performed on a 4kWseparately excited DC motor using a Motorola 6800 processorsystem with an 8-bit tracking ADC connected to the outputfrom the hybrid tachogenerator, thereby producing a quantis-ation level of 0.654 rads"1 per bit. The reported investigationused a sampling rate of 10 ms with a speed demand of500 rev/min.

Although certain of the plant parameters are load depen-dent, the control algorithm determined by integer rounding ofthe necessary firing-angle increments was the same for boththe loaded and the unloaded machine cases. This algorithm isgiven in Table 3 for four different values (ji = 1,0.75,0.5 and0.25) of the weighting factor 0.

Experimental results, corresponding to a step change inspeed demand, for the two extreme cases of j3 = 1 and |3 =0.25, are shown in Fig. 7 for both the loaded and unloadedcases. Much of the output speed trajectory is spent in thearmature-current saturation mode and the trajectory only

500-

1 2 3 Utime, s

F ig. 7 Speed response for ex treme values of 0

IEEPROC, Vol. 130, Pt. B, No. 2, MARCH 1983

Page 5: A simple digital control scheme for a DC motor

Table 3: Firing-angle increment zones for four values of weightingfactor 0

-

-

0

-

1

3

= 1

1

1

.0

0

- 4

2

0

1

- 5

3

1

2

- 1

- 4

0 = 0.75

0

- 1

3

0

- 3

1

0

4

- 1

- 2

2

1

- 3

0=0.5

- 2 - 1 2 - 1

= 0.25

500

400

cE>300

200

100

noload

3time ,s

1 2

Fig. 8 Speed response for 0 = 0.75

500

5 6

Fig. 9 Speed response for switched load with 0 = 0.75

enters the small error zone close to the demand speed. Theeffect of using a large value for the weighting factor 0 can beseen as increasing the system damping. This result is expected,since the use of a large value of 0 in eqn. 13 must penaliseacceleration, thereby leading to a well damped response. Thisexpected conclusion is further confirmed by the fact that thesystem response for the low value of 0 = 0.25 shown in Fig. 7is quite oscillatory. The presence of load on the machine,taken as proportional to speed in this study, also gave theexpected result of increasing the damping in the system.

A more suitable choice of the weighting factor j3 corres-ponding to P = 0.75 gave the experimental results shown in

Fig. 8, and this value of 0 represents a good compromisebetween the different requirements of the no-load and loadcases.

The final configuration reported is that of initial accelerationon no-load, with the load then switched in and out around theset speed. The results of this study, with 0 = 0.75, are shownin Fig. 9 and the system algorithm appears to react well todisturbances.

5 Conclusions

The microprocessor-based speed-control scheme for a DCmotor described leads to a very simple realisation of thenecessary control algorithm, which consists of conditionalbranch-and-jump instructions to establish the necessary large-error and small-error control regions. Although variation ofplant parameters under different operating conditions meantthat there was no unique solution to the control algorithm, theuse of nine defined areas within the small-error region and asuitable choice for the error-rate weighting factor led to quiteacceptable responses for the motor speed in both the unloadedand the loaded cases. This very simple control scheme is, there-fore, relatively insensitive to parameter changes and can, inparticular, take account of the system gain change associatedwith the movement from discontinuous to continuousconduction in the thyristor power amplifier.

Since the control algorithm has been designed to be verysimple in form, a considerable portion of processor time isavailable to perform an online health monitoring role, therebyproviding fail-safe and logging functions in addition to thecontrol strategy.

6 Acknowledgments

The authors wish to thank Professor J.F. Eastham for thefacilities placed at their disposal in the School of ElectricalEngineering at the University of Bath. They also wish toexpress their gratitude to the SERC for the provision offunding for this investigation.

7 References

1 TOU, J.T: 'Modern Control Theory' (McGraw-Hill, 1964)2 DANIELS, A.R., and LIPCZYNSKI, R.T.: ' Digital firing-angle

circuit for thyristor motor controller', Proc. IEE, 1978, 125, (3),pp. 245-246

3 LIPCZYNSKI, R.T., and DANIELS, A.R.: 'Speed indicators'.British Patent 8217250,15th June 1982

4 MASLEN, S.P.: 'Adaptive and optimal variable structure systems'.PhD thesis, University of Bath, 1981

5 COURTIOL, B., and LANDAU, I.D.: 'High speed adaption systemsfor controlled electric drives', Automatica, 1975,11, pp. 119-127

6 TOROK, V., and HIBNER, W.: 'Time-optimal control of convertor-fed D.C.-drives', IEE Conf. Publ. 179, 1979, pp 131-135

7 VON ZWIKLITZ, A.P., and McLAREN, S.G.: 'Direct digital controlof DC machines', Trans. S. Afr. Inst. Electr. Eng., 1974, 65, pp.22-24

8 KAMIYAMA, K., AZUSAWA, N., MIYAHARA, Y., OHMAE, T.,and KIRISAWA, T.: 'Microprocessor controlled fast response speedregulator for thyristorized reversible regenerative DCM drives'.Proceedings IEEE-IECI, 1978, pp. 216-222

9 LOUIS, J.P., and EL-HEFNAWY, A.A.: 'Stability analysis of asecond order thyristor device control system', IEEE Trans., 1978,IECI-3, pp. 270-277

10 HUSSON, R., IUNG, C, and AUBRY, J.F.: 'Digital and analoguetechniques — a comparitive study of an electromechanised system',Mes. Regul. Autom., 1979,44, pp. 69-80

11 BOR-RAMENSKII, A.E., and SHUN CHIEN: 'Optimum servo-drivewith two control parameters', Autom. & Remote Control, 1961,22, pp. 134-145

IEE PROC, Vol. 130, Pt. B, No. 2, MARCH 1983 147


Recommended