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