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

DC Motor

This document describes modeling the speed control of a DC motor system using transfer functions and state-space representations in MATLAB. It provides the physical setup of a DC motor, the governing system equations, and design requirements for speed, settling time, overshoot, and steady-state error. Key commands like tf and ss are used to represent the open-loop transfer function and state-space model of the motor system in MATLAB for analysis and control system design.

Uploaded by

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

DC Motor

This document describes modeling the speed control of a DC motor system using transfer functions and state-space representations in MATLAB. It provides the physical setup of a DC motor, the governing system equations, and design requirements for speed, settling time, overshoot, and steady-state error. Key commands like tf and ss are used to represent the open-loop transfer function and state-space model of the motor system in MATLAB for analysis and control system design.

Uploaded by

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

DC Motor Speed: System Modeling

Key MATLAB commands used in this tutorial are: tf , ss


Contents

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)

moment of inertia of the rotor

motor viscous friction constant

0.01

0.1 N.m.s

(Ke)
electromotive force constant
V/rad/sec

0.01

(Kt)
N.m/Amp

0.01

motor torque constant

(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.

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;
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/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

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 sscommand as shown below.
motor_ss = ss(P_motor);

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy