You are on page 1of 7

Speed control of DC Motor based on an adaptive feed

forward neural IMC controller


Ben Mabrouk Zaineb* Abid Aicha
National Engineering School of Gabes National Engineering School of Gabes line 2-name of
Photovoltaic, Wind, Geothermal Systems Research Unit, Photovoltaic, Wind, Geothermal Systems Research Unit,
ENIG ENIG
Gabes, Tunisia Gabes, Tunisia
benmabroukza@gmail.com Aicha.abid@gmail.com

Ben Hamed Mouna Sbita Lassaad

Abstract— This paper deals with the performance analysis of back-propagation algorithm [10]–[11]. It is standard and most
a robust neural controller applied to the DC motor for speed popular procedure used to design an ANN. The input and
control. The robustness is guaranteed by the use of the Internal output data used for training are obtained when the DC motor
Model Controller (IMC). The IMC is based on the artificial is working in closed loop at various values of speed and loads.
Neural Network (ANN) principle. This paper proposes an
adaptive neural controller methodology in the dc motor control In this work an internal model controller is established for
and the results are compared with the performance of the feed- speed control of DC motor. The IMC controller has the benefit
forward neural controller. Simulations results and experimental of robustness ease of design and good speed responses.
set up are presented to demonstrate the robustness of the speed
controller under a wide range of load of the proposed schemes in A mathematical model of the process has been developed
a closed loop control. The effective results show that the using real plant data and then neural controller has been
performance of neural network control dc motor is improved by designed. The proposed adaptive control structure is applied to
using adaptive neural network than the feed-forward neural control the speed and suppress the disturbances of the system.
network. A comparative analysis of performance evaluation of static
and adaptive neural controllers has been done. Performances
Keywords—Internal Model Controller IMC; Artificial neural of the developed speed neural IMC controller and accuracy are
network; feed-forward neural network. verified via simulation results. The adaptive neural IMC
controller offers a number of potential advantages over the use
I. INTRODUCTION of feed-forward layered networks. Adaptive feedback
controllers may be less sensitive and more robust than feed-
DC motors are usually used in many industrial applications forward controllers to changes in plant dynamics and
such as robot manipulators and home appliances, because of parameters.
their high reliability, low cost and flexibility. The speed and
position control of DC motor are necessary[1]-[4]. This paper The different sections of this paper are organized as
proposes the performance evaluation of intelligent controller follows: in Section 2 we present the dynamic model of the DC
implemented to control the speed of separately excited DC motor. The description of the feed-forward and adaptive
motor. neural network, used for identification and adaptive control, is
presented in Section 3. The neural identification and the
Artificial neural networks led to a new intelligent control inverse model are presented. Simulation results and an
method called neural control. One of the important advantages experimental set up of the identification and control system are
of neural control is their ability to learn and adapt themselves illustrated in section 4. Section 5 drew a conclusion.
to the behavior of any real systems. So, it can be successfully
used to control complex plant without any knowledge of a
mathematical model of the plant [5]-[6]. It can be used to II. MODELING OF DC MOTOR
control and identify the systems [7]. The neural networks can The system considered for our analysis is a dc motor. The
be classified as static feed-forward and adaptive neural complete system can be represented by the schematic diagram
networks [8]. ANN can be trained using data taken from the shown in Figure 1 [8].
system or when directly connected to the system. The ANN
controller would remain robust despite parameter deviations
and noise measurements. We used an ANN with three layers.
The training is offline. The adaptive ANN used in this paper
have a feed-forward neural network structure trained with the
978-1-5090-6287-4/17/$31.00 ©2017 IEEE
Ω( p ) K
= (11)
U a ( p ) ( Ra + La p )( f + jp ) + K 2

The DC motor is given by equation (12):


K
y( p) = U ( p) (12)
( Ra + La p )( f + Jp ) + K 2

Fig. 1. Electrical schematic of a DC Motor. Consider the following physical parameters of DC motor
The dc motor can be described by the loop equation as first table 1.
order differential equations
di
ua = Ra ia + La a + E (1) TABLE I. DC MOTOR PARAMETER
dt
Ra Resistance 8Ω
Equation for back emf of motor will be
E = KΩ (2) La Inductance 0.129 H
Where ua is the armature winding input voltage; E is the Rf Resistance 100 Ω
back-electromotive-force (EMF) voltage, La is the armature Lf Inductance 0.2 H
winding inductance; ia is the armature winding current; Ra is
the armature winding resistance; K is the back-EMF constant J Moment of Inertia 0.02 Kg-m2
and Ω is the rotor angular speed. F damping coefficient 0.0218 Nm-sec/rad

By replacing (2) in (1), we get: ke torque constant 0.7745 Nm/A


kt Back EMF constant 0.7745 Vsec/rad
dia
ua = Ra ia + La + KΩ (3) The transfer function of the DC motor is obtained by
dt
substituting the values of the DC motor parameters in equation
The mechanical-torque equation is (12) and is given as
dΩ 0.7745
j = Cem − Cr − Cv (4) y( p) = 2
U ( p)
dt 0.00258 p + 0.1628 p +0.7743
(13)
j is the system moment of inertia; Cv is the load torque; Cr Recurrent equation is:
is the torque constant and Cem .
y(k) =1.51y(k −1) −0.532y(k −2) +0.0126U(k −1) +0.009942U(k −2) (14)
Cem = Kia (5)
The input vector for excitation of process, for the basic training
K is the torque constant data, described by equation (15)
Cv = f Ω (6) U= [u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11] (15)

dΩ For determination of direct and inverse model, we excited


j = Kia − f Ω − Cr the process with input vector u described by equation (15) and
dt (7) we recorded the output vector, then we used the measures for
The Laplace transform of the above equation is training of direct and inverse neural model.

U a ( p ) = Ra I a ( p ) + L a pI a ( p ) + K Ω( p ) III. NEURAL IMC CONTROLLER



 The implementation of a neural control system involves
 jpΩ( p ) = KI ( p ) − f Ω ( p ) two phases, a preliminary training phase during which the
 a
(8) coefficients of the neural controller are estimated, and a phase
U a ( p) K of implemented with the process, wherein the controller,
I a ( p) = − Ω( p) whose coefficients are fixed. The use of artificial neural
Ra + La p Ra + La p (9) networks to internal model controller replaces the model of the
Ω( p) =
K
Ia ( p)
process by direct neural model and the controller also replaced
f + jp (10) by the inverse neural model.
Substituting equation (9) into equation (10) gives the The main feedback signal here is the difference between
the output of the direct neural model and that of the process.
Ω( p ) This difference represents the faults of modeling and
difference equation of armature
U a ( p) disturbances effect, and its consideration makes the robust
control system against these defaults.
Equation (11) gives the transfer function of the DC motor.
A. The static IMC neural controller 1

The direct neural model obtained after simulation testing.

Speed standardised (rad/s)


0.8
It has three inputs {u (k) ; y (k-1) ; y (k-2)}, two hidden layers
and an output layer containing one neuron. Every hidden layer 0.6
is constituted of four neurons, whose activation function is the
hyperbolic tangent and the training function is "trainlm". The 0.4
training of ANN was performed for 2000 iterations. The
weights are initialized with small random values and are 0.2

adjusted then by retro propagation algorithm. The training


0
criterion is given by equation (16): 0 0.5 1 1.5
epochs
2 2.5
4
3
x 10

J ( k ) =  ( y ( k ) − y m (k )) 2 (16) Fig. 3. Evolution of output of directed neural model speed and output of
k process.

With ym is the output of direct model and y the output of


process.
We find after several iterations the learning coefficient η =
0.3 gives the lowest value criterion J (J = 10-9). Figure 2
shows the evolution of learning criterion in terms of the
epochs. The evolution of the output of direct neural model and
the output of process are represented by Figure 3.
Determining an inverse neural model is more difficult than
direct model: We determine the appropriate control signal Fig. 4. Evolution of Training criterion of invers model.
from the output signals of process and those commands to
previous times. The ANN has three inputs {y (k) ; y (k-1) ; u
(k-1)}, two hidden layers and an output layer containing one
neuron. Every hidden layer is constituted of four neurons,
whose activation function is the hyperbolic tangent and the
training function is "trainlm". The training of ANN was
performed for 2000 iterations. The weights are initialized with
small random values and are adjusted then by retro
propagation algorithm. The training criterion is given by
equation (17):
J ( k ) =  (u ( k ) − u m ( k )) 2
Fig. 5. Evolution of control of neural inverse model and desired control
k (17) of process.
With um is the output of inverse model and u the control signal The neural controller of DC Motor is shown in the figure
of process. The learning coefficient η = 0.3 gives the lowest 6.
value criterion J (J = 10-5.5). Figure 4 shows the evolution of
learning criterion in terms of the epochs. The evolution of the
output of invers neural model and the desired control signal
are represented by Figure 5.

Fig. 6. Internal model control (IMC) scheme.

B. The adaptive IMC neural controller


The direct neural model as shown in figure 7 obtained after
Fig. 2. Evolution of Training criterion of direct model. simulation testing. It has three layers, the input layer
containing four neurons, one hidden layer containing seven
neurons and an output layer containing one neuron.
1
∇Ek / z = ∇[okT ok − 2okT Tk ] / z (24)
2
If f ≡ g
ok = f [ Zhk + z 0] (25)

∂Ek ∂Ek ∂ok ∂ ( Zhk + z 0)


∇ Ek / z = = (26)
∂Z ∂ok ∂ ( Zhk + z 0) ∂Z

∂Ek
= ok − Tk (27)
Fig. 7. The direct neural model of process. ∂ok
The inverse neural model as shown in figure 8 has three
∂ok (28)
layers, the input layer containing six neurons, one hidden layer = f ( Zhk + z 0).[1 − f ( Zhk + z 0)] = ok .(1 − ok )
containing seven neurons and an output layer containing one ∂( Zhk + z 0)
neuron. We find after several iterations the best learning
∂ ( Zhk + z 0)
coefficient η=0.02. = hkT (29)
∂Z
Using equations (26), (27), (28) and (29), the updating of the
weight value Z and biases z0 of future step (k + 1) is:
Z (k + 1) = Z (k ) −η∇Ek / z = Z (k ) + η (Tk − ok ).ok .(1 − ok )hkT (30)
= Z (k ) + η ∂s hkT

z 0( k + 1) = z 0( k ) − η∇Ek / z 0 = z 0( k ) + η (Tk − ok ).ok .(1 − ok ) (31)


= z 0( k ) + η ∂s

The weight update W of future step (k + 1) and w0 is:

Fig. 8. The inverse neural model of process.


W ( k + 1) = W ( k ) − η∇Ek / W = W ( k ) + η Z ( k )T ∂s.hk .(1 − hk ) xkT (32)
= W ( k ) + η ∂h x T

The mathematical equations that led to construct the ANN are


given by the equation (18)-(20). w0( k + 1) = w0( k ) − η∇Ek / w0 = w0( k ) + η Z ( k )T ∂s.hk .(1 − hk ) (33)
h _ in = Wx + w0 (18) = w0(k ) + ∂h

h = f ( h _ in) = f (Wx + w0) (19) Tk is the target.


o = g ( Zh + z 0) (20) The propagation algorithm can be summarized by six steps as
follows
Step 1: Initialization of all the weights and bias with small
h_in: the hidden layer inputs.
random values.
h: Every cell in the hidden layer answered through a transfer
Step 2: Applying the input signal X (k) = [x1, ..., xn] at the
function h.
neural network input.
o: the response of the output layer
Step 3: calculate the output of neuron until the output layer.
Or W and w0, represent respectively, weight matrix (L, I) and Step 4: calculate the error ∂s and ∂h of the output layer and
biases vectors. x the input vector (J, 1). Z and z0, represent hidden layer.
respectively, weight matrix and biases vectors. Step 5: Calculate the new weights and biases.
Step 6: Return to step 2 as the function to be minimized is
The gradient back propagation algorithm is a method that greater than a threshold set.
calculates the error gradient for each neuron of the last layer The neural controller of DC Motor is shown in the figure
then to the first layer as described by the given equations (21)- 9.
(33).
ok = g [ Z ( f (Wxk + w0)) ] (21)

ek = Tk − ok (22)

1
Ek = ekT ek = (TkT Tk + okT ok − 2okT Tk ) (23)
2
Fig. 9. The internal model control (IMC) scheme. (b)

IV. SIMULATION AND EXPERIMENTAL RESULTS 15

tz
10

The dc Motor control system is simulated using

nofwh
ig
Matlab/Simulink. Output responses of the system are obtained
5

v
Eo tio
lu
for controllers used in this paper. A load is applied at t =10s.
0

The control signal evolution is shown in Figure 10. The


-5
0 5 10 15 20 25 30 35 40
Time (s)

evolution of the DC machine output and the static neural


controller output are shown in figure 11. (c)

2.5

200
2

sz
ia 0
1.5

ofb
150

n
1

tio
Voltage(v)

lu
o
0.5

v
E
100 0

-0.5
0 5 10 15 20 25 30 35 40
Time (s)
50

(d)
0
0 5 10 15 20 25 30 35 40
Time (s) Fig. 12. Evolutions neural weights and biases of neural inverse model (w,
Fig. 10. Static neural control: control signal. w 0, z, z 0).
200

180
200
160
disturbance 140

Voltage(v)
150 120
Speed(rad/s)

100

100 80

60

Target 40
50
DC motor output
20
0 5 10 15 20 25 30 35 40
Time (s)
0
0 5 10 15 20 25 30 35 40
Time (s) Fig. 13. Adaptive neural control: control signal.

Fig. 11. Feed-forward neural control: target and Dc motor outputs. 200

Figures (12.a, 12b, 12.c, 12.d) show the adjustment of 150


disturbance
different weights and biases of the network of adaptive neural
Speed (rad/s)

controller under the effect of the disturbance and the variation 100

of the input signal which is in form a bearing. W and w0


weights and biases between the input layer and the hidden 50

layer of the corrector. Z and z0 weights and biases between DC motor output
Target
the hidden layer and the output layer of the corrector. The 0
0 5 10 15 20 25 30 35 40
control signal evolution of the adaptive neural control is Time (s)

shown in Figure 13. The evolution of the DC machine output Fig. 14. Adaptive neural control: target and Dc motor outputs.
and the adaptive neural controller output are shown in figure
14. Figure 15 shows the evolution of static neural IMC control
and the adaptive neural control.
7

6
120
5
tw

100
iegh

4
volutionofW

2 80
Speed (rad/s)

1
E

0
60
-1

-2
0 5 10 15 20 25 30 35 40
Time (s) 40
Adaptive neural IMC output
20 Target
Static neural IMC output
(a)
0
0 5 10 15 20
Time (s)
2

1.5

Fig. 15. Speed evolution by Static neural IMC control and Adaptive neural
volutionofbiasw0

1
control under disturbances.
0.5

The comparison of performance of the static neural and


0
E

-0.5

-1
adaptive IMC control of DC Motor is shown in table 2.
0 5 10 15 20 25 30 35 40
Time (s)
10

5
TABLE II. COMPARAISON OF PERFORMANCE OF STATIC NEURAL AND
ADAPTIVE CONTROLLER OF DC MOTOR 0

Error (rad/s)
Static error Response time overtaking -5
(s)
-10

Static neural 0.8% 4.7 0%


-15
IMC
Adaptive 0 2.78 15% -20
0 100 200 300 400 500
neural IMC Time (s)
Fig. 18. Evolution error between DC machine output and target.

The simulation results approve the efficiency of the


100
proposed adaptive control schema. The proposed control
method is able to provide a control low for the DC machine 80
speed robust toward disturbances such as load insertion and

Speed (rad/s)
the variable evolution of the target. The response time has a 60
application of load of 600W
feeble value equal to 2.78 s. the overtaking is equal to 15%. elimination of load of 400W
40 application of load of 400W
The proposed adaptive neural control is compared to the
static neural IMC control. The comparison approves the 20 DC machine outpout
efficiency of the IMC adaptive neural controller method than target

the IMC static neural network control. 0


0 50 100 150 200 250 300 350 400
Time (s)
Experimental results: The block diagram of control
Fig. 19. Speed response under different constants loads.
system, that is realized experimentally, is given in figure 16.
10

0
Error (rad/s)

-5

-10

-15

-20

-25
0 100 200 300 400 500
Time (s)
Fig. 20. Evolution error between DC machine output and target.

Many experiments were carried out under various operating


Fig. 16. A photo of experimental set up. conditions to verify the performance of the proposed adaptive
neural IMC controller under both unloads and loaded
100
condition. Some selected results are presented in this section.
80
In fig. 19, a wide range of selected resistive lodes is
considered and applied in order to test the robustness of the
60
95
adaptive neural controller. In this test, both dynamic and static
Speed (rad/s)

90 74
85
72 75 states are considered. In fig. 20 the static error is equal to zero.
80 100 120
40
70
70
65
These results justify the robustness of the overall control
360 380 400
system under load disturbances. The IMC speed controller
20 242244246248250252
application of achieves better performance in speed regulation and tracking.
0
load of 600 W
DC machine output
Target V. CONCLUSION
-20
0 50 100 150 200 250 300 350 400 In this paper, an IMC adaptive neural network control
Time (s)
approach is proposed to control the DC machine speed under
Fig. 17. Speed response under constant load of 600 w.
disturbances as load insertion and variable target evolution.
The proposed controller is compared to the static neural IMC
controller. In general, the neural IMC controller consists of
two neural models, A ANNI and ANNC. The ANNI consist in
modeling the DC machine while the ANNC permit to
represent the controller. From simulation and experimental
results obtained, it is shown that the adaptive neural IMC
controller has a good performance in speed regulation and
tracking. The static error is equal to zero under a wide range of
loads insertion. The adaptive neural IMC controller is more
efficient than the static neural IMC controller. To improve the
performance of the neural control approach an application in
Networked Control Systems is to be performed in the future.

REFERENCES
[1] Santosh Kumar Suman ; Vinod Kumar Giri, “Speed control of DC
motor using optimization techniques based PID Controller” 2016 IEEE
International Conference on Engineering and Technology (ICETECH),
17-18 March 2016.
[2] Emre Hasan Dursun, Akif Durdu, “Speed Control of a DC Motor with
Variable Load Using Sliding Mode Control”, IJCEE 2016 Vol.8, pp.
219-226, 2016.
[3] Z. Benmabrouk , A. Abid , M. Ben Hamed , L. Sbita, “Speed control of
DC machine using adaptive neural IMC controller based on recurrent
neural network”, 2016 5th International Conference on Systems and
Control (ICSC), 25-27 May 2016.
[4] Speed Control of DC Motor using Chopper (MATLAB Simulation)”,
International Journal on Recent Technologies in Mechanical and
Electrical Engineering (IJRMEE), vol. 3,pp. 025 – 028, 2016.
[5] Neerparaj Rai, Bijay Rai, “Neural Network based Closed loop Speed
Control of DC Motor using Arduino Uno”, International Journal of
Engineering Trends and Technology, vo. 4 no. 2, pp. 137-140, 2013.
[6] Dinesh L. Mute, Khushal Chaudhari, Ramesh Khamari , Abhijit Singare,
“System Identification Using Neural Network Model for Speed Control
of DC Motor”, International Research Journal of Engineering and
Technology (IRJET), vo. 02, Issue: 03, June-2015.
[7] Ujjwal kumar and Devendra Dohare, “A Review Study Speed Control
Of Dc Motor With Classical Controller and Softcomputing Technique”,
International Journal of modern Trends in Engineering and Research,
Vol. 03, Issue 04, 2016.
[8] Tsai-Jiun Ren, Tien-Chi Chen, “Robust speed-controlled induction
motor drive based on recurrent neural network ’’, Electric Power
Systems Research, vo.76, pp. 1064-1074, 2006.
[9] Md. Akram Ahmad, P. Rai “Speed control of a DC motor using
Controllers”, Automation, Control and Intelligent Systems, vo. 2 no. 6-1,
pp. 1-9, 2014.
[10] Sh. Bhushan Kumar, M. Hasmat Ali, A. Sinha, “Design and Simulation
of Speed Control of DC Motor by Artificial Neural Network Techniqu “,
International Journal of Scientific and Research Publications, vo. 4,
Issue 7, July 2014.
[11] L. Sbita M. Ben Hamed,”Internal Model Controller for Scalar
Controlled Induction Motor Drive: Design and Experiments”, J.
Electrical Systems vo. 3, no.2, pp. 73-87, 2007.

You might also like