12/14/2017 Control Tutorials for MATLAB and Simulink - Motor Speed: System Modeling
Tips Effects Search Control Tutorials
TIPS ABOUT BASICS HARDWARE INDEX NEXT ►
INTRODUCTION CRUISE CONTROL MOTOR SPEED
SYSTEM
MODELING DC Motor Speed: System
ANALYSIS Modeling
Key MATLAB commands used in this tutorial are: tf ,
CONTROL
ss
PID
ROOT LOCUS
Related
FREQUENCY
Tutorial
Links
STATE-SPACE
Intro to
DIGITAL
Modeling
DC Motor
SIMULINK Activity
MODELING
Related
External
CONTROL
Links
System
Rep in
MATLAB
Video
Modeling
Intro Video
DC Motor
Video
Contents
Physical setup
System equations
http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed§ion=SystemModeling 1/6
12/14/2017 Control Tutorials for MATLAB and Simulink - Motor Speed: System Modeling
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 ( ) applied to the motor's armature, while the output is the rotational
speed of the shaft . 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) moment of inertia of the rotor 0.01 kg.m^2
(b) motor viscous friction constant 0.1 N.m.s
(Ke) electromotive force constant 0.01 V/rad/sec
(Kt) motor torque constant 0.01 N.m/Amp
(R) electric resistance 1 Ohm
(L) electric inductance 0.5 H
http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed§ion=SystemModeling 2/6
12/14/2017 Control Tutorials for MATLAB and Simulink - Motor Speed: System Modeling
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 by a constant factor as shown in
the equation below. This is referred to as an armature-controlled motor.
(1)
The back emf, , is proportional to the angular velocity of the shaft by a constant
factor .
(2)
In SI units, the motor torque and back emf constants are equal, that is,
; therefore, we will use 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
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
http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed§ion=SystemModeling 3/6
12/14/2017 Control Tutorials for MATLAB and Simulink - Motor Speed: System Modeling
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 Analysis page 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 steady-state 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.
Settling time less than 2 seconds
Overshoot less than 5%
Steady-state error less than 1%
MATLAB representation
1. Transfer Function
We can represent the above open-loop transfer function of the motor in
MATLAB by defining the parameters and transfer function as follows. Running
this code in the command window produces the output shown below.
J = 0.01;
b = 0.1;
K = 0.01;
R = 1;
L = 0.5;
http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed§ion=SystemModeling 4/6
12/14/2017 Control Tutorials for MATLAB and Simulink - Motor Speed: System Modeling
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
Continuous-time transfer function.
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/J
-K/L -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 1
x2 -0.02 -2
B =
u1
x1 0
x2 2
http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed§ion=SystemModeling 5/6
12/14/2017 Control Tutorials for MATLAB and Simulink - Motor Speed: System Modeling
C =
x1 x2
y1 1 0
D =
u1
y1 0
Continuous-time state-space model.
The above state-space model can also be generated by converting your existing
transfer function model into state-space form. This is again accomplished with
the ss command as shown below.
motor_ss = ss(P_motor);
Published with MATLAB® 9.2
All contents licensed under a Creative Commons Attribution-ShareAlike 4.0
International License.
http://ctms.engin.umich.edu/CTMS/index.php?example=MotorSpeed§ion=SystemModeling 6/6