You are on page 1of 4

Published by : International Journal of Engineering Research & Technology (IJERT)

http://www.ijert.org ISSN: 2278-0181


Vol. 5 Issue 02, February-2016

Modeling, Analysis and Design of a DC Motor


based on State Space Approach
Debabrata Pal
Aksum University,
College of Engineering and Technology
Department of Electrical and Computer Engineering
Ethiopia, NE Africa

Abstract: This paper presents the generalized dynamic modeling 𝑑Ө2 (𝑡) 𝑑Ɵ(𝑡)
J +B = 𝑇(𝑡) (4)
of dc motor using state space approach. The performance of dc 𝑑𝑡 2 𝑑𝑡
motor under various conditions is simulated using
MATLAB/SIMULINK environment and simulation result Where 𝑒𝑎 (t) = armature voltage, 𝑒𝑚 (t) = back emf, 𝑖𝑎 (t) =
demonstrates the feasibility of the proposed system. A state armature current, 𝑇(𝑡) =developed torque, Ɵ𝛳(𝑡) = motor
feedback gain matrix is designed for the dc motor with the help 𝑑𝛳(𝑡)
shaft angle, = ω(t) Ɵ= shaft speed, J= moment of
of pole-placement technique. Direct substitution method is used 𝑑𝑡
to design state observer matrix for the motor. Both designs are inertia of the rotor, B = viscous frictional constant, 𝐿𝑚 =
verified by Ackerman’s formula in MATLAB environment. inductance of armature windings, 𝑅𝑚 = armature winding
resistance, 𝐾𝑡 = motor torque constant, 𝐾𝑚 = motor constant.
Key words: state space, state observer, pole-placement,
MATLAB/SIMULINK Here the motor speed ω(t) is controlled by varying the
I. INTRODUCTION armature voltage 𝑒𝑎 (t). Hence 𝑒𝑎 (t) is the input variable and
Direct current machines are the most versatile energy ω(t) is the output variable.
𝑑𝛳(𝑡)
conversion devices. Their outstanding advantage is that the We chose as the state variables 𝑥1 (𝑡) = ω(t) =
𝑑𝑡
volt-ampere or speed torque characteristic of these machines and 𝑥2 (𝑡) = 𝑖𝑎 (𝑡) (5)
are very much flexible and easily adaptable for both steady The state equations will now be derived by using above
state and dynamic operations. When a wide range of speed equations.
control and torque output are required dc motor is an obvious
choice[1]. 𝑑𝑥1 (𝑡) 𝐵 𝐾𝑡
The state space approach is a generalized time domain = - 𝑥1 (𝑡) + 𝑥2 (𝑡) (6)
𝑑𝑡 𝐽 𝐽
method for modeling, analyzing and designing a wide range 𝑑𝑥2 (𝑡) 𝐾𝑚 𝑅𝑚 1
=- 𝑥1 (𝑡) - 𝑥2 (𝑡) + 𝑒𝑎 (7)
𝑑𝑡 𝐿𝑚 𝐿𝑚 𝐿𝑚
of control systems and is particularly well suited to digital 𝑑𝛳(𝑡)
computational technique. In this paper armature current and 𝑦(𝑡) = = ω(t) = 𝑥1 (𝑡) . (8)
𝑑𝑡
speed of the dc motor are taken as state variables.
In this section we shall present a design method commonly Hence state model of dc motor is derived from equations (6),
called pole-placement technique. It will be shown that if the (7) and (8) as follows
system considered is completely state controllable then poles
of the closed loop system may be placed at the desired 𝑑𝑥1 (𝑡) 𝐵 𝐾𝑡
location with the help of state feedback gain matrix K. −𝐽 𝑥1 (𝑡) 0
𝐽
In pole-placement approach to the design of control system [𝑑𝑥𝑑𝑡(𝑡)] = [ 𝑅𝑚 ] [ ] + [ 1 ] u (t)
we assumed that all state variables are available for feedback.
2

𝐾𝑚
−𝐿 𝑥2 (𝑡) 𝐿𝑚
𝑑𝑡 𝐿𝑚 𝑚
In practice however all state variables are not available for (9)
feedback. So it is necessary to estimate unavailable state
variables. Estimation of unmeasurable state variable is x1 (t)
commonly called observation. Here we shall see later the y(t) = [1 0] [ ] (10)
x2 (t)
state observer gain matrix Ke can be designed if the system is
completely state observable [2], [3], [4]. III: DC MOTOR STATE MODEL SIMULATION USING
MATLAB
II: DC MOTOR MODELING USING STATE SPACE
ANALYSIS Let, the motor parameters (coefficient of differential
equations) are assigned to be Lm = 0.01 H, K t =0.22 N-m/A,
The different equations related to DC motor are given below K m =0.22 V-sec/rad, J=0.0044 kg-m2, B=0.0011 N-m-sec/rad,
𝑑𝛳(𝑡)
𝑒𝑚 (t) = 𝐾𝑚 (1) 𝑅𝑚 = 4 Ω. The system models given by equations ((6), (7) and
𝑑𝑡
𝑑𝑖 (𝑡) (8)) are solved to compute the instantaneous values of the
𝑒𝑎 (t) = 𝐿𝑚 𝑎 + 𝑅𝑚 𝑖𝑎 (𝑡) + 𝑒𝑚 (𝑡) (2) performance variable of the system. The simulated results are
𝑑𝑡
𝑇(𝑡)= 𝐾𝑡 𝑖𝑎 (t) (3) shown in following figs.

`
IJERTV5IS020332 293
(This work is licensed under a Creative Commons Attribution 4.0 International License.)
Published by : International Journal of Engineering Research & Technology (IJERT)
http://www.ijert.org ISSN: 2278-0181
Vol. 5 Issue 02, February-2016

𝑑𝑥1 (𝑡)
60 −0.25 50 𝑥 (𝑡) 0
[𝑑𝑥𝑑𝑡(𝑡)] = [ ] [ 1 ] +[ ] u(t)
50
2 −22 −400 𝑥2 (𝑡) 100
𝑑𝑡
Speed (rad/sec)

(11)
40
x (t)
y(t) = [1 0] [ 1 ] (12)
30 x2 (t)

20 Using state space block tool in MATLAB SIMULINK, the


modeling of dc motor also can be performed to check the
10
feasibility of the system with initial condition
𝑤𝑟0 𝑥10 10
0 [ 𝑖 ]=[𝑥 ]=[ ]
0 2 4 6 8 10 𝑎0 20 0.1
Time (second)
x' = Ax+Bu
y = Cx+Du
3 Signal State-Space Scope(x1)
Armature current (ampere)

Generator
2.5

2
Fig3: Simulink diagram to simulate motor dynamics
1.5
300
1
200
Speed (rad/sec)

0.5
100
0 0
4 6 0 2 8 10
Time (second) -100
Fig1: Speed and Armature current of dc motor with 12V armature voltage
-200

300 -300
0 2 4 6 8 10
Time (second)
200
Fig4: Motor speed waveform with 𝑒𝑎 (t) = 50 square (t) V
Speed (rad/sec)

100
IV: STATE FEEDBACK GAIN MATRIX K DESIGN FOR
0
DC MOTOR
-100
We shall chose the control signal to be
-200 u = -K x (13)
This means that the control signal u is determined by an
-300
0 2 4 6 8 10 instantaneous state. Such a scheme is called state feedback.
Time (second) The 1×n matrixes K is called the state feedback gain matrix.

Suppose the dc motor is given by


30 𝑑𝑥
= Ax +Bu (14)
𝑑𝑡
Armature current (ampere)

20
The feedback gain matrix K that forces the Eigen values of
10 A-BK to be n1, n2, ……. nN (desired values) can be
determined by the following steps.
0 Step (a) Check the controllability condition for the system.
−0.25 50 0
-10 Here, A=[ ],B=[ ] , C = [1 0]
−22 −400 100
-20
Hence the controllability matrix M is given by M = [𝐵 𝐴𝐵 ]
0 5000
=[ ]
-30 100 −40000
0 2 4 6 8 10
Time (second)
We find |𝑀| ≠ 0 and therefore, rank M = 2. Thus the system
Fig2: Speed and Armature current of dc motor with 𝑒𝑎 (t) = 50 square (t) V
is completely state controllable.
Step (b): By defining the desired state feedback gain matrix K
Thus the state model of dc motor is derived using motor as K = [𝐾1 𝐾2 ] and equating |𝑆𝐼 − 𝐴 + 𝐵𝐾 | with the
parameters and equation (9) and (10) as follows: desired characteristic equation, we obtain
|𝑆𝐼 − 𝐴 + 𝐵𝐾 | =

`
IJERTV5IS020332 294
(This work is licensed under a Creative Commons Attribution 4.0 International License.)
Published by : International Journal of Engineering Research & Technology (IJERT)
http://www.ijert.org ISSN: 2278-0181
Vol. 5 Issue 02, February-2016

We find |𝑁| ≠ 0 and therefore, rank N = 2. Thus the system is


𝑆 0 −0.25 50 0 [𝐾1 completely state observable.
|[ ]− [ ]+ [[ ] 𝐾2]]|
0 𝑆 −22 −400 100 Step (b) By defining the desired state observer gain matrix Ke
= 𝐾
as Ke = [ 𝑒1 ] and equating |𝑆𝐼 − 𝐴 + 𝐾𝑒𝐶 | with the
𝐾𝑒2
𝑆 + 0.25 −50
| | desired characteristic equation, we obtain
100𝐾1 + 22 𝑆 + 400 + 100𝐾2
|𝑆𝐼 − 𝐴 + 𝐾𝑒𝐶 | =
= 𝑆 2 + (400.25 + 100𝐾2 ) S + (1200 𝑆 0 −0.25 50 𝐾𝑒1
|[ ]− [ ]+ [ ] [1 0]|
+25𝐾2 +5000𝐾1) 0 𝑆 −22 −400 𝐾𝑒2
(15)
Step (c) Suppose the desired location of the closed 𝑆 + 0.25 + 𝐾𝑒1 −50
=| |
loop poles are at S = -10 and S = -10. 22 + 𝐾𝑒2 𝑆 + 400
Hence the desired characteristic equation is =𝑆 2 + (400.25 + 𝐾𝑒1 )S + (1200 +
400𝐾𝑒1 +50𝐾𝑒2 )
(S+10)(S+10) = 𝑆 2 + 20S +100 (16) (19)
Step (c) Suppose the desired location of the Eigen values are
Step (d): Comparing equation (15) & (16) we get 𝐾1 = at S = -10 and S = -10.
−0.2010 , 𝐾2 = -3.8025 Hence the desired characteristic equation is
V: STATE FEEDBACK GAIN MATRIX K DESIGN (S+10)(S+10)=𝑆 2 +20S+100 (20)
USING MATLAB
Step (d) comparing equation (19) & (20) we get 𝐾𝑒1 = -
Ackerman’s formula is used to write the program in 380.25, 𝐾𝑒2 = 3020
command window. The program is given below.
>> %State feedback matrix K design using pole-placement VII: STATE OBSERVER GAIN MATRIX Ke DESIGN
technique USING MATLAB
>> A = [-0.25 50;-22 -400]; Ackerman’s formula is used to write the program in
>> B = [0; 100]; command window. The program is given below.
>> J = [-10 -10]; >> %State observer gain matrix Ke design
>> K = acker (A, B, J)
>> A= [-0.25 50;-22 -400];
K = -0.2010 -3.8025 >> B= [0; 100];
>> C= [1 0];
VI: FULL ORDER STATE OBSERVER GAIN MATRIX >> L= [-10 -10];
Ke DESIGN FOR DC MOTOR >> Ke = acker (A',C',L)'
Ke =
A full order state observer estimates all of the system state 1.0e+003 *
variables. In practice this may not happen for a number of -0.3802
reasons including cost or that the state may not physically be 3.0200
measurable. VIII: RESPONSE TO INITIAL CONDITION WITH
We define the mathematical model of the observer to be DESIGNED K AND Ke VALUES
𝑥̌̇ =(A–KeC)𝑥̃+Bu+Key (17)
Where 𝑥̌ is the estimated state and C 𝑥̌ is the estimated Finally, we have derived the response of the system to the
output. The n×1 matrix Ke is called state observer gain given initial conditions; x1(0) =1, x2(0) =0, e1 (0) =1, e2 (0)
matrix. Hence the observer error equation is defined by = 0.
The given program is used to get the response curves for the
𝑥̇ - 𝑥̌̇ = (A – KeC) (𝑥 -𝑥)̇
system.
𝑒̇ =(A–KeC) e (18)
Where (𝑥 -𝑥)̇= e = error vector. Thus the dynamic behavior of A = [-0.25 50;-22 -400];
the error vector depends upon the Eigen values of A – KeC B = [ 0;100];C=[1 0];D=[0];
.The state observer gain matrix is designed by the following K = [-0.201 -3.8025];
steps. Ke = [-380.25; 3020];
AA = [A-B*K B*K ; zeros(2,2) A-Ke*C];
Step (a) Check the observability condition for the system. sys= ss (AA, eye (4), eye(4), eye(4));
The observability matrix N is given by N = [𝐶 𝑇 𝐴𝑇 𝐶 𝑇 ] = t=0:0.01:8;
1 −0.25
[ ] x0 = [1;0;1;0];
0 50 x= initial (sys,x0,t);
x1 = [1 0 0 0]*x';

`
IJERTV5IS020332 295
(This work is licensed under a Creative Commons Attribution 4.0 International License.)
Published by : International Journal of Engineering Research & Technology (IJERT)
http://www.ijert.org ISSN: 2278-0181
Vol. 5 Issue 02, February-2016

x2 = [0 1 0 0]*x'; REFERENCES
e1 = [0 0 1 0]*x';
e2 = [0 0 0 1]*x'; [1] Dr. P.S. Bimbhra, ‘Electrical Machines’, KHANNA PUBLSHER
[2] Katsuhiko Ogata, ‘Modern Control Engineering’, PEARSON
subplot (2,2,1); plot(t,x1);grid
PUBLISHER.
>> xlabel ('t(sec)'); ylabel('x1') [3] Charles L. Philips & Royce D. Harbor, ‘Feedback Control Systems’,
>> subplot(2,2,2); plot(t,x2);grid PRENTICE HALL PUBLISHER
xlabel('t(sec)'); ylabel('x2') [4] Roland S. Burns ‘Advanced Control Engineering’,
BUTTERWORTH HEINENANN, A Division of reed educational
>> subplot (2,2,3); plot(t,e1);grid
and professional publishing limited.
xlabel ('t(sec)'); ylabel('e1') [5] Devendra K. Chaturvedi, Modeling and simulation of system using
>> subplot(2,2,4); plot(t,e2);grid MATLAB and Simulink, CRC Press Taylor and Francis group Boca
xlabel('t(sec)'); ylabel('e2') Raton London New York 2010.
[6] M. S. RUSU, and L. Grama, The Design of a DC Motor Speed
Controller, Fascicle of Management and Tech. Eng., Vol. VII
(XVII), 2008, pp. 1055-1060.
15000 2000

10000 1000
x1

x2

5000 0

0 -1000
0 2 4 6 8 0 2 4 6 8
t(sec) t(sec)

15 0

10 -50
e1

e2

5 -100

0 -150
0 2 4 6 8 0 2 4 6 8
t(sec) t(sec)

Fig5: Response curves to initial condition

IX: CONCLUSION

The state model of dc motor has been developed and


simulation has been carried out for the proposed system. K
and Ke have been determined using direct substitution
method and verified using MATLAB. But It is important to
note that the matrix K is not unique for a given system but
depends on the desired closed loop pole location which
determines the speed and damping of the response whereas
Ke serves as a correction signal to the plant model to account
for the unknowns in the plant. If significant unknowns are
involved, the feedback signal through the matrix Ke should
be relatively large.

`
IJERTV5IS020332 296
(This work is licensed under a Creative Commons Attribution 4.0 International License.)

You might also like