An adaptive neural network speed controller for permanent magnet

0 downloads 0 Views 408KB Size Report
speed at present time instant K (U&) 1, the reference speed at instant ~ - 1 (o&-l) ), and the error between the reference speed and the actual motor speed (u(K) ) ...
An Adaptive Neural Network Speed Controller for Permanent Magnet DC Motor Drives F. M. EL-KHOULY, A.M. SHARAF Department of Elec. Engineering University of New Brunswick Fredericton, CANADA, E3B 2Y 1

A. S. ABDEL-GHAFFAR, and A.A. MOHAMMED Department of Elec. Eng., Menoufia University, Shebin El-Kom, EGYPT.

Abstract

controllers are effective in compensating for the influence of these structured uncertainties, it is not clear that the adaptive means can overcome any model unstructured uncertainties. In addition, conventional adaptive control schemes require the full information about the plant structure and may not guarantee the stability of tlie system in the presence of unmodeled dynamics 141. Moreover, most of these adaptive control algorithms are rather complicated and, thus, need excessive computation effort for real-time implementation. Several schemes have been proposed to design a controller using ANN’S.One of them is training an ANN to learn the system’s inverse, and then the desired system output is achieved using the control input produced by the system’s inverse[5].If the system is a non-minimum phase system, then the resulting design is not internally stable and the inverse control scheme is not acceptable. Also, the system is not robust under the controlled plant parametric variations and any load excursion. Sharkawi[6] used the reference model with the ANN inverse model controller. Other examples of ANN controllers are references[7,8], which used reference models to train the ANN. Narendra[9] proposed a scheme of an indirect adaptive control. However, most of the networks mentioned above are in the form of indirect adaptive control or have the problems of complex training methods and system structures. This paper proposes a simple algorithm based on the back propagation technique (BP) for a class of nonlinear systems. The proposed ANN controller is trained by using the actual system’soutput error directly, with little a priori knowledge of the controlled plant.

The paper presents an adaptive speed controller for pennanent magnet DC riwtor using an Artijicial Neural Network (A”). The development of an efJicient training algorithm is one of the key problems in designing such ANN. The output error vector of the Neural Network is usually used in training, instead of the actual process output error. Since the desired control action is usually unknown, the output error of the ANN controller is also unknown. A simple on-line training algorithm, which enables the neural Network to be trained with the actual output error of the controlled drive planl is used. The direction of the controlled plant output response is the only a priori knowledge needed. The ANN based controller is eflective, robust, and result in high performance permanent magnet DC motor drives.

Introduction High performance permanent magnet(PM) DC motor drives are used in multitude of industrial and process applications. In such applications, it is required that the motor speed closely follows a specified reference speed trajectory regardless of any load excursions, parameter variations and any model uncertainties. In case of DC motor drives the uncertainties come from the load side where the load usually has unknown nonlinear mechanical characteristics. This poses a challengefor classical on-line tuning of the conventional PI controllers. Several control techniques are evolving such as the slidingmode[ 11, variable smcture[2], and model reference adaptive controls[31. The sliding mode and variable structure control systems require a valid model andor dynamics of the plant being controlled. Thus they are not robust in the sense that the controller is, mainly due to the suuctured uncertainty of the controlled plant, sensitive to large parameter variation and noise. Although adaptive

Problem statement and the ANN control structure The permanent magnet DC motor is fed by type-B MOSFET chopper as shown in Fig. 1. The motor load comprises a fan load, as an example of the nonlinear load,

416 0-8186-5320-5/94 $03.00 0 1994 IEEE

and an additional DC genentor to insure possible load excursion capability (motor and load parameters values are given in appendix). A current feedback signal is used to ensure limited motor inrush current during starting and sudden load increasing conditions. ’Ibe complete system state space model is given by the following formula [lo]: [

1 = [ A 1 [ X 1 + [ B 1 [ U1 +

f(X) 1

(1)

where, X and U are the state variables and the controlled input, respectively. This nonlinear model is difficult to be controlled adaptively over a wide range of operating conditions, particulary in case of any unknown nonlinear load characteristic, so the need for intelligent control arise. The object is to design an ANN based controller which will replace a conventional controller. In other words, the ANN controller is cascaded with the controlled plant as shown in Fig. 2. The inputs to the ANN are the reference speed at present time instant K (U&) 1, the reference speed at instant ~ - (o&-l) 1 ), and the error between the reference speed and the actual motor speed (u(K) ) at instants K, K-1, K-2 (namely e(K), e(K-11, e(~-2). respectively). There are only one hidden layer with nine neurons and one neuron in the output layer. The neurons in hidden and output layers have a logsigmoid activation functions. The controller output V,,(K) is required to produce the desired plant output U,&). ?be system output error and the ANN output error are defined ,respectively, by:

. Fig. 1. System Configuration. where V(K) is the actual control output. However, if the ANN controller is cascaded in series with the controlled plant, e,,@) is not known, since the desired controller output Vd(K) is unknown. So, the immediate problem in designing such an ANN controller is how to train the ANN. Computation of the ANN output and updating of the ANN weights are summarized in the following steps: Step I- Compute the output of the hidden layer, neurons ( 0,(K)

1 as:

where hi = &=,”Wij (K) X, (K)

(5)

where Wij (K) and bi (K) are the weights between the i& input ( X , (K) ) and $&neuron in the hidden layer, and the

WI

+

Fig. 2. System block diagram.

417

bias of the j& neuron in the hidden layer, respectively, at instant K. N is the number of the inputs to the ANN (N=5

in this case ). Step 2- Compute the output of the output layer ( Oou,(K) ) as: O, (K) = 1.0 / (1.0 + exp( h'(K)

- b'(K)

)

and ql > 0.0 is a gain factor. The only unknown in Eqn (16) is { a m (K) / aO,, (K) ). As ql is an adjustable

a0

(K) / ao,,, scaling factor, then the absolute value of { (K) ) is not important and another gain factor qz can be used as:

(6)

where W'j (K) and b'(K) are weights between the j& neuron in the hidden layer and the output layer, the bias of the output layer neuron ,respectively, at time instant K. N1 is the number of neuron in the hidden layer (Nl=9 in this case). Step 3- Compute the actual control signal to the controlled plant, V(K). Since the logsigmoid function used in the neurons forces the ANN output to be within the range ( 0, l), although the control input is limited by the range of actuator (Vh=O , V, =lo). Therefor the actual control signal is computed by:

In the gradient algorithm, the solution converges to minimum of the cost function if and only if the search is made along the negative direction of the gradient of cost function. So, it is necessary and sufficient condition for the convergence of the training algorithm is:

Step 4- The BP algorithm is used to train the ANN by

If the system output monotonically increases ( decreases) as the control input to the controlled plant increases, then (K) / ao,,, (K) ) is defined by D =1.0 the sign of ( (D = - 1.O),for the system under study D=l .O. Therefor the corresponding algorithm for updating the weights from hidden to output kyer is:

a0

minimizing the cost function, in terms of the system output error, defined as: E(K) = ( I n ) (e(K)}' = (1/2) {Oref

(K) -0 (K))'

(9)

w'j (K+1) = w'j (K) + q2 6(K) oj(K)

(20)

Using the gradient algorithm, the weights from the hidden to the output layer are modified by: Step 5- Update the weights from input to hidden layer, Wij (K), using the same procedure as:

where, tij (K) = 8 ( ~WSj ) (K) hj (K) (1.0 - hj (K))

(23)

Step 6- Update the bias of the output layer as:

Step 7- Update the bias of the hidden layer as:

bi ( K + 1 ) =

4 (K) +

'llz sj(K)

(25)

Step 8- A current limiter is used to prevent the inrush current under starting and load changing as:

Substituting Eqn (15) into Eqn (11) gives : AWsj (K) = Tl1 6 oj(K)

v (K) = v (K) v (K) = v (K -1) (16)

418

if if

&