Project - Speed Control of a Direct Current (DC) motor
Aim :
To develop and test a controller to maintain a desired speed for the motor.
Mathematical model :
w(s)/Vs(s) = Kt/(J * La * s^2 + (J * Ra + B * La) * s +(B * Ra +kt * km))
To plot result :
subplot(321);plot(out.time,out.supply_voltage,'k-');grid;title('Supply voltage');
subplot(322);plot(out.time,out.ia,'k-');grid;title('Armature current');
subplot(323);plot(out.time,out.t,'k-');grid;title('Torque');
subplot(324);plot(out.time,out.W,'k-');grid;title('Angular velocity');
subplot(325);plot(out.time,out.vb,'k-');grid;title('Back EMF');
DC motor model :

Response :

PID parameters case 1 :
kp = 16200;
kd = 1000;
ki = 61700;
PID parameters case 2 :
kp = 1000;
kd = 150;
ki = 2500;
To plot result :
subplot(321);plot(out.time,out.supply_voltage,'k-');grid;title('Supply voltage');
subplot(322);plot(out.time,out.g,'k-');grid;title('Gain');
subplot(323);plot(out.time,out.ia,'k-');grid;title('Armature current');
subplot(324);plot(out.time,out.t,'k-');grid;title('Torque');
subplot(325);plot(out.time,out.W,'k-');grid;title('Angular velocity');
subplot(326);plot(out.time,out.vb,'k-');grid;title('Back EMF');
PID controller model :

Result :
Case 1:

Case 2:

Conclusion :
Using the help of controller the desired speed is gained.