Project - Speed Control of a Direct Current (DC) motor
Question 1:
Here in this question, I had taken two kind of iNPut signals which are 'STEP' and 'CONSTANT' inputs:
Matlab code :
% assigning motor parameters below
J = 0.01; % interia of the motor system
B = 0.1; % friction parameter of system
Km = 0.01; % back emf of the DC motor
Kt = 0.01; %torque of motor
Ra = 1; % resistance of motor coil
La = 0.5; % inductance of motor
% design of PID controller parameters
% assigning A and B matrixes to get poles and gain
X = [-B/J Kt/J; -Km/La -Ra/La];
Y = [0; 1/La];
Fn = 1; % assigning Frequency
Wn = 2*pi*Fn; % frequency in radians per seconds
zeta = 0.5; % damping parameter
p1 = -zeta*Wn + Wn*sqrt(zeta^2-1); % creating pole P1 using formula
p2 = -zeta*Wn - Wn*sqrt(zeta^2-1); % creating pole P2 using formula
P = [p1;p2]; % P creates both poles
K = place(X,Y,P); % place command gives the Kp and Kd gains where Ki gain must be assumed
Kp = 38.31; Kd = -2.85;
As per 'place' command I got kp and kd gains. Ki is taken "10" , which are implemented in simuink model
Matlab command for obtaining parameters for PID controller:

CASE 1 :
simulink model for DC motor speed control using PID controller using step input:
*** Ki is taken "10" , which are implemented in simulink model ***

scope when Ki is assigned as 10 and using step input(230v) :

CASE 2 :
simulink model for DC motor speed control using PID controller using constant input:

scope when Ki is assigned as 10 and using constant input(230v) :
