You are on page 1of 6

% Birim basamak cevabı

clear all; close all;


t = 0:0.01:30;
r = 5*ones(size(t));
zeta = 0.1;
wn = 2;
pay = wn^2;
payda = [1 2*zeta*wn wn^2];
M = tf(pay,payda)
y = 5*step(M,t);
plot(t,r,'b',t,y,'r','Linewidth',4); grid
% Kalıcı durum hata belirleme
% 7 Nisan 2015
clear all; close all; clc;
t = 0:0.01:200;
t = t';
R = 5;
r = R*ones(size(t));
K = 1;
z = [-3.15];
p = [0 0 -1.5 -0.5];
G = zpk(z,p,K)
H = 1;
M = feedback(G,H)
y = R*step(M,t);
e = r-y;
plot(t,r,'b',t,y,'r',t,e,'g'); grid
%% Rampa giriş için
r2 = t;
y2 = lsim(M,r2,t);
e2 = r2-y2;
figure;
plot(t,r2,'b',t,y2,'r',t,e2,'g'); grid
title('Ramps giriş için Ess')
%% Parabol giriş için
r3 = 0.5*t.^2;
y3 = lsim(M,r3,t);
e3 = r3-y3;
figure;
plot(t,r3,'b',t,y3,'r',t,e3,'g'); grid
title('Parabol giriş için Ess')
xlabel('t (s)')
% Ess
clear all; close all; clc;
t = 0:0.01:100;
t = t';
% r(t) = us(t)
r = ones(size(t));
%Tip = 0; % Tip 0 için
z = [-1 -3];
p = [0 -2 -1+j -1-j];
k = 1;
G = zpk(z,p,k) % ileri yol tr.fn
H = 1;
M = feedback(G,H)
y = step(M,t);
e = r-y;
plot(t,r,'b',t,y,'r',t,e,'g','Linewidth',4); grid
%% Tip 1
p1 = [0 -2 -1+j -1-j];
G1 = zpk(z,p1,k) % ileri yol tr.fn
M1 = feedback(G1,H)
y1 = step(M1,t);
e1 = r-y1;
figure;
plot(t,r,'b',t,y1,'r',t,e1,'g','Linewidth',4); grid;
%% r(t): Rampa giriş
r2 = t;
Tip = 0; % Tip 0 için
z = [-1 -3];
p = [0 0 -2 -1+j -1-j];
k = 1;
G = zpk(z,p,k) % ileri yol tr.fn
H = 1;
M = feedback(G,H)
y2 = lsim(M,r2,t);
e2 = r2-y2;
figure
plot(t,r2,'b',t,y2,'r',t,e2,'g','Linewidth',4); grid
title('Rampa girişiçin Ess');
xlabel('t (s)')
%% r(t): Parabol giriş
r3 = 0.5*t.^2;
z = [-1 -3];
p = [0 0 -2 -1+j -1-j];
k = 1;
G3 = zpk(z,p,k) % ileri yol tr.fn
H = 1;
M3 = feedback(G3,H)
y3 = lsim(M3,r3,t);
e3 = r3-y3;
figure;
plot(t,r3,'b',t,y3,'r',t,e3,'g','Linewidth',4); grid
title('Parabol giriş için Ess');
xlabel('t (s)')
% Bölüm 6 Kararlılık testleri
clear all; close all;
t = 0:0.01:100;
% a
K = 20;
z = [];
p = [-1 -2 -3];
M1 = zpk(z,p,K)
y1 = step(M1,t);
plot(t,y1)
%pause
% b
pay2 = 20*[1 1];
payda2 = conv([1 -1],[1 2 2])
M2 = tf(pay2,payda2)
y2 = step(M2,t);
plot(t,y2)
%pause
% c
pay3 = 20*[1 -1];
payda3 = conv([1 2],[1 0 4])
M3 = tf(pay3,payda3)
y3 = step(M3,t);
plot(t,y3)
%pause
% d
K = 10;
z = [];
p1 = [-2*j -2*j 2*j 2*j -10];
p2 = [-2*j -2*j -2*j 2*j 2*j 2*j -10];
M41 = zpk(z,p1,K)
y41 = step(M41,t);
M42 = zpk(z,p2,K)
y42 = step(M42,t);
plot(t,y41,t,y42,'r'); grid
%pause
% e
pay5 = 10;
payda5 = [1 30 1 10 0 0 0]
M5 = tf(pay5,payda5)
y5 = step(M5,t);
plot(t,y5)
% RH Kararlılık problemi
clear all; close all;
%K = 23.315341561573511;
t = 0:0.01:20;
Pay = [1 1];
Payda = [1 2 2];
system = tf(Pay,Payda);
y =step(system,t);
plot(t,y); grid
clear all; close all;
%K = 0.527525231651947
%K = 0.528
t = 0:0.1:20;
pay = [1 1];
payda = [1 2 2];
roots(payda)
sistem = tf(pay,payda)
y = step(sistem,t);
plot(t,y); grid
%Önce referans sistemi ve mevcut sistemi çizdir

sys=tf(20,[1 2 25]);
step(sys,'black');

hold on;

ref_sys=tf(100,[1 16 100]);
step(ref_sys,'blue');

hold on;

%PD kontrolör ile sistem

Kd=0.7;
Kp=4.75;
num=[20*Kd 20*Kp];
den=[1 20*Kd+2 20*Kp+5];
T_s=tf(num,den);
step(T_s,'red');

%Önce referans sistemi ve mevcut sistemi çizdir

sys=tf(1,[1 2]);
step(sys,'black');

hold on;

ref_sys=tf(100,[1 16 100]);
step(ref_sys,'blue');

hold on;

%PI kontrolör ile sistem

Ki=100;
Kp=15;
num=[Kp Ki];
den=[1 Kp+1 Ki];

T_s=tf(num,den);
step(T_s,'red');

ref_sys=tf(6000,[1 76 1060 6000]);


step(ref_sys,'blue');

hold on;

%PID kontrolör ile sistem

Kd=3.7;
Kp=52.75;
Ki=300;
num=[20*Kd 20*Kp 20*Ki];
den=[1 20*Kd+2 20*Kp+5 20*Ki];

T_s=tf(num,den);
step(T_s,'red');
%Integral Kontrolör Örneği
%Ki 1 ve 10 ile denenebilir

Ki=10;
num=[3*Ki];
den=[1 4 3*Ki];

T_s=tf(num,den);
hold on;
step(T_s,'blue');
%%Oransal Kontrolör Örnek

%%a şıkkı - Kp 10 ve 1 denenebilir

% Kp=100;
% num=[3*Kp];
% den=[1 4+3*Kp];

%%b şıkkı -Kp 5 ve 20 denenebilir

Kp=5;
num=[Kp];
den=[1 4 Kp];

T_s=tf(num,den);
hold on;
step(T_s,'red');