0% found this document useful (0 votes)
3 views6 pages

Control Tutorials for MATLAB and Simulink - Motor Speed_ System Modeling

This document provides a tutorial on modeling the speed of a DC motor using MATLAB and Simulink, detailing the physical setup, system equations, and design requirements. It outlines the key parameters and equations governing the motor's behavior, including transfer function and state-space representations. The tutorial emphasizes performance criteria such as settling time, overshoot, and steady-state error for effective motor control.

Uploaded by

202370151
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views6 pages

Control Tutorials for MATLAB and Simulink - Motor Speed_ System Modeling

This document provides a tutorial on modeling the speed of a DC motor using MATLAB and Simulink, detailing the physical setup, system equations, and design requirements. It outlines the key parameters and equations governing the motor's behavior, including transfer function and state-space representations. The tutorial emphasizes performance criteria such as settling time, overshoot, and steady-state error for effective motor control.

Uploaded by

202370151
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

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&section=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&section=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&section=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&section=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&section=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&section=SystemModeling 6/6

You might also like