Project - Speed Control of a Direct Current (DC) motor
Q1
-->>
%design parameter for dc motor
clc
clear all
J=0.01;%moi of motor kg*m^2
Ba=0.1;%motor viscuous force N-m-s
km=0.01;%back EMF V/rad/s
kt=0.01; %motor torque constant N-m/amp
Ra=1;%resistance of the armature ohm
La=0.5;%inductance of the armature circuit in Henrywh
% for joccobian matrices
A=[-Ba/J kt/J;-km/La -Ra/La]
B=[0;1/La]
zeta=0.5;
fn=1
wn=2*pi*fn
p1=-zeta*wn+wn*sqrt(zeta^2-1);
p2=-zeta*wn-wn*sqrt(zeta^2-1);
p=[p1;p2]
K=place(A,B,p)
kp=K(1)
kd=K(2)
ki=200
% % %
%end
to plot graph
figure(1)
%at ki=200,kp=k(1)&kd=K(2)
subplot(411);
plot(out.time,out.w);hold on;grid;
plot(out.time,out.x1ref);
stepinfo(out.w,out.time)
%stepinfo Computes step response characteristics.
subplot(412);
plot(out.time,out.Ia)
subplot(413)
plot(out.time,out.torque)
subplot(414)
plot(out.time,out.Vb)
explainnation
PID control method, there are three pieces of gain that work to correct or reduce the error, which consists of Kp, Ki and Kd. Kp
is a proportional component, Ki is an integral component, Kd is a derivative component.
Kp is used to improve the transient response rise time and settling time of course.
Ki works to improve steady-state response.
Kd is used to improve the transient response by way of predicting errorwill occur in the future.
Optimization of PID system depends on upon the value of Kp, Ki, and Kd. When all three components are not exact, the
resulting response will deviate from the desired results. That requires tuning value of Kp, Ki, and Kd is accurate to obtain a
component value which is appropriate to support the response of the system to be.
now from graphs
(i) at ki=0,kd=K(2) & kp=K(1) (ref fig(1) & g(1))
from graph its seen that the responce signal not even near to the refernce signal within the simulation time it can be seen using stepinfo matlab function
RiseTime: 0.1752
SettlingTime: 0.4792
SettlingMin: 2.2672
SettlingMax: 2.5918
Overshoot: 0
Undershoot: 0
Peak: 2.5918
PeakTime: 0.3600
(ii) at ki=100,kd=K(2) & kp=K(1) (ref fig(2) & g(2))
from graph its seen that the responce signal is not reached to the refernce signal within the simulation time. but it is close to the refernce signal it can be seen using stepinfo matlab function
RiseTime: 0.9642
SettlingTime: 2.0535
SettlingMin: 4.5039
SettlingMax: 4.9990
Overshoot: 0
Undershoot: 0
Peak: 4.9990
PeakTime: 5
(iii) at ki=500,kd=K(2) & kp=K(1) (ref fig(3) & g(3))
from graph its seen that the responce signal is overshooting and undershooting refrence signal.it can be seen using stepinfo matlab function
RiseTime: 0.1517
SettlingTime: 1.2197
SettlingMin: 4.4256
SettlingMax: 6.6507
Overshoot: 33.0133
Undershoot: 0
Peak: 6.6507
PeakTime: 0.3700
(iv) at ki=00,kd=K(2) & kp=K(1) (ref fig(4) & g(4))
from previous two graph it seen that at ki=100 the responce is slow where as at ki =500 the responce is very fast but it is over shooting the refrence signal. so from obesrvation it can be said that the ideal ki value lies in b/w 100 & 500
so ki=200 is taken
from graph its seen that the responce signal is reaching refrence signal fast and the overshooting is also negligible.
it can be seen using stepinfo matlab function
RiseTime: 0.2776
SettlingTime: 0.4771
SettlingMin: 4.5269
SettlingMax: 5.0300
Overshoot: 0.1
Undershoot: 0
Peak: 5.0000
PeakTime: 5