Simulation of a DC Motor
Speed Control using MATLAB
(Control Engineering)
Group Members
C
Ahmed Faraz 21ME04
Abdullah Sani 21ME24
Faizan 21ME38
Unaib 21ME 76
Abdul Samad 21ME121
DC Motor Speed Control using MATLAB
and PID Controller
Objective
To model and simulate a practical DC motor speed control system using MATLAB, and
analyze the performance of the system with and without a PID controller.
System Description
The system under consideration is a simplified DC motor model. DC motors are widely used
in various industrial and robotic applications where precise control of motor speed is
required. The motor is modeled using a transfer function derived from its mechanical
parameters.
Transfer Function Model
The simplified transfer function of a DC motor (neglecting electrical dynamics) is given by:
G(s) = K / (Js + b)
Where:
- J: Moment of inertia (kg.m^2)
- b: Damping coefficient (N.m.s)
- K: Motor constant (N.m/A)
MATLAB Simulation Code
Define motor parameters and simulate step response without PID:
J = 0.01;
b = 0.1;
K = 0.01;
num = [K];
den = [J b];
motor_tf = tf(num, den);
figure;
step(motor_tf)
title('DC Motor Speed Response Without PID')
grid on
Define and apply a PID controller:
Kp = 1;
Ki = 2;
Kd = 0.01;
C = pid(Kp, Ki, Kd);
T = feedback(C * motor_tf, 1);
figure;
step(T)
title('DC Motor Speed Response With PID Controller')
grid on
Analysis and Observations
The simulation demonstrates how a PID controller significantly improves the step response
of a DC motor. Without the controller, the motor responds slowly and may not reach the
desired speed efficiently. With the PID controller, the motor achieves faster rise time,
reduced overshoot, and minimal steady-state error.
Conclusion
This practical simulation shows the importance of PID controllers in real-world applications
like DC motor speed control. Using MATLAB, engineers can easily model, simulate, and tune
controllers to achieve desired performance.