DC Motor
DC Motor
Physical setup
System equations
Design requirements
MATLAB representation
Physical setup
A common actuator in control systems is the DC motor. It directly
provides rotary motion and, coupled with wheels or drums and cables,
can provide translational motion. The electric equivalent circuit of the
armature and the free-body diagram of the rotor are shown in the
following figure.
For this example, we will assume that the input of the system is the
voltage source (V) applied to the motor's armature, while the output is
the rotational speed of the shaft d(theta)/dt. The rotor and shaft are
assumed to be rigid. We further assume a viscous friction model, that is,
the friction torque is proportional to shaft angular velocity.
The physical parameters for our example are:
(J)
kg.m^2
(b)
0.01
0.1 N.m.s
(Ke)
electromotive force constant
V/rad/sec
0.01
(Kt)
N.m/Amp
0.01
(R)
electric resistance
1 Ohm
(L)
electric inductance
0.5 H
System equations
In general, the torque generated by a DC motor is proportional to the
armature current and the strength of the magnetic field. In this example
we will assume that the magnetic field is constant and, therefore, that
the motor torque is proportional to only the armature current i by a
constant factor Kt as shown in the equation below. This is referred to as
an armature-controlled motor.
(1)
The back emf, e, is proportional to the angular velocity of the shaft by a
constant factor Ke.
(2)
In SI units, the motor torque and back emf constants are equal, that
is, Kt = Ke; therefore, we will use K to represent both the motor torque
constant and the back emf constant.
From the figure above, we can derive the following governing equations
based on Newton's 2nd law and Kirchhoff's voltage law.
(3)
(4)
1. Transfer Function
Applying the Laplace transform, the above modeling equations can be
expressed in terms of the Laplace variable s.
(5)
(6)
We arrive at the following open-loop transfer function by eliminating I(s)
between the two above equations, where the rotational speed is
considered the output and the armature voltage is considered the input.
(7)
2. State-Space
In state-space form, the governing equations above can be expressed
by choosing the rotational speed and electric current as the state
variables. Again the armature voltage is treated as the input and the
rotational speed is chosen as the output.
(8)
(9)
Design requirements
First consider that our uncompensated motor rotates at 0.1 rad/sec in
steady state for an input voltage of 1 Volt (this is demonstrated in the DC
Motor Speed: System Analysispage where the system's open-loop
response is simulated). Since the most basic requirement of a motor is
that it should rotate at the desired speed, we will require that the steadystate error of the motor speed be less than 1%. Another performance
requirement for our motor is that it must accelerate to its steady-state
speed as soon as it turns on. In this case, we want it to have a settling
time less than 2 seconds. Also, since a speed faster than the reference
may damage the equipment, we want to have a step response with
overshoot of less than 5%.
In summary, for a unit step command in motor speed, the control
system's output should meet the following requirements.
K = 0.01;
R = 1;
L = 0.5;
s = tf('s');
P_motor = K/((J*s+b)*(L*s+R)+K^2)
P_motor =
0.01
--------------------------0.005 s^2 + 0.06 s + 0.1001
2. State Space
We can also represent the system using the state-space equations. The
following additional MATLAB commands create a state-space model of
the motor and produce the output shown below when run in the MATLAB
command window.
A = [-b/J
-K/L
K/J
-R/L];
B = [0
1/L];
C = [1
0];
D = 0;
motor_ss = ss(A,B,C,D)
motor_ss =
a =
x1
x2
x1
-10
x2
-0.02
-2
b =
u1
x1
x2
c =
y1
d =
x1
x2
u1
y1