Project - Speed Control of a Direct Current (DC) motor
Project 2
Project - Speed Control of a Direct Current (DC) motor
Speed control of a DC motor is intentionally change the Speed of Motor using any system. In case of the DC motor there is two way to regulate speed of the motor. It Possible either manually by the operator or by means of an automatic control device.
Speed control of DC motor can be classified into:
- Armature Control Methods
- Field Control Methods
Although for such systems, the PID controller is usually use to control Speed of DC Motor due to its ease of implementation, ruggedness, and easy tuning. In this Project the classical methods for PID controller design and tuning provide initial workable values and which are further manually fine-tuned for achieving desired performance.
Mathematical Model of DC Motor [1]:
The dynamic behavior of DC motor is given by following set of relations and its block diagram is shown in Figure. A simplified linear model is presented for this work ignoring the nonlinearities like the backlash and dead zones to simplify the application of metaheuristic techniques. Consider
Figure: DC Motor Block Diagram
Figure: DC Motor Modelling in MATLAB
MATLAB Code:
%DC motor Parameters
J = 0.01; %Moment of Inertia of Rotor (Kgm^2)
B = 0.1; %Motor viscous friction constant (Nms)
Km = 0.01; %Back EMF constant (V/rad/s)
Kt = 0.01; %Motor Torque constant (Nm/Ampere)
Ra = 1; %Armature Resistance (ohm)
La = 0.5; %Armature Inductance (H)
%PID design from DC_motor_PID_design.m
%Load the parameters of DC motor
%PD design
A = [-Bm/Jm Kt/Jm; -Km/La -Ra/La];
B = [0; 1/La];
%pole placement design
f = 1;
wn = 2*pi*f;
zeta = 0.5;
p1 = -zeta*wn + wn*sqrt(zeta^2-1);
p2 = -zeta*wn - wn*sqrt(zeta^2-1);
P = [p1;p2];
K = place(A,B,P);
P = K(1);
D = K(2);
P = 2;
D = -0.6;
I= 10;
Figure: Simulink Model
Plotting:
%Plotting the graphs from dc_motor_plot.m
figure(1)
subplot(321);plot(out.time,out.vs);grid;title('Supply Voltage (V)');
subplot(322);plot(out.time,out.emf);grid;title('Back EMF (V)');
subplot(323);plot(out.time,out.Ia);grid;title('Armature Current (A)');
subplot(324);plot(out.time,out.ref_w,'b--');grid;hold;title('Refernce Speed (rad/s)');
subplot(324);plot(out.time,out.w,'m--');
Plots:
References
- M. Sabir and J. Khan, “Optimal Design of PID Controller for the Speed Control of DC Motor by Using Metaheuristic Techniques,” Advances in Artificial Neural Systems, 2014. https://doi.org/10.1155/2014/126317.