![]() |
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Instytut Politechniczny |
---|---|
Komputerowe Układy Sterowania - Laboratorium |
|
Temat ćwiczenia: Układy ciągłe |
|
Michał Zegar Daniel Dymon Łukasz Sterkowiec |
Data: |
26.02.2013r. |
Cel ćwiczenia
Celem ćwiczenia jest przypomnienie zagadnień związanych z ciągłymi układami regulacji ćwiczeniu
użyteczne będą funkcje środowiska MATLAB: step, bode, nyquist lub ltiview.
W ramach ćwiczenia dla zadanych elementów automatyki należy wyznaczyć charakterystyki:
1. skokowe,
2. częstotliwościowe,
a) Bodego,
b) amplitudowo-fazowa.
Zadanymi elementami są:
Charakterystyki:
Skokowa:
Bodego:
Nyquista:
Odpowiedź skokowa na podstawie znormalizowanego wielomianu Bessela:
Opis elementu:
Obiekt inercyjny I- rzędu
Obiekt inercyjny II-rzędu
Obiekt różniczkujący I-rzędu
Obiekt różniczkujący I-rzędu
Obiekt różniczkujący I-rzędu
Obiekt inercyjny II-rzędu
Obiekt z opóźnieniem
Treść programu
clc
clear
s=tf('s')
G1=4/(2*s+1);
G2=5/((0.2*s+1)*(0.8*s+1));
G3=(5*s)/((0.2*s+1)*(0.8*s+1));
G4=(5*s+2)/((0.2*s+1)*(0.8*s+1));
G5=(-5*s+2)/((0.2*s+1)*(0.8*s+1));
G6=5/(s^2+0.3*s+1);
G7=(exp(-0.3*s))/((0.2*s+1)*(0.8*s+1));
figure(1)
step(G1,'r',G2,'k',G3,'b',G4,'m',G5,'g',G6,'y',G7,'c'),grid on
leg=legend('$G(s)=\frac{4}{2s+1}$',...
'$G(s)=\frac{5}{(0.2s+1)(0.8s+1)}$','$G(s)=\frac{5s}{(0.2s+1)(0.8s+1)}$',...
'$G(s)=\frac{5s+2}{(0.2s+1)(0.8s+1)}$','$G(s)=\frac{-5s+2}{(0.2s+1)(0.8s+1)}$',...
'$G(s)=\frac{5}{s^2+0.3s+1}$','$G(s)=\frac{exp(-0.3s)}{(0.2s+1)(0.8s+1)}$')
set(leg,'Interpreter','latex','FontSize',11)
figure(2)
bode(G1,'r',G2,'k',G3,'b',G4,'m',G5,'g',G6,'y',G7,'c'),grid
figure(3)
nyquist(G1,'r',G2,'k',G3,'b',G4,'m',G5,'g',G6,'y',G7,'c')
%roots
a1=[-4.6200];
a2=[-4.0530+2.3400i -4.0530-2.3400i];
a3=[-5.0093 -3.9668+3.7845i -3.9668-3.7845i];
a4=[-4.0156+5.0723i -4.0156-5.0723i -5.5281+1.6553i -5.5281-1.6553i];
%calculation
W1=poly(a1);
L1=W1(2);
L11=[W1(2) 0];
W2=poly(a2);
L2=W2(3);
L21=[W2(3) 0];
W3=poly(a3);
L3=W3(4);
L31=[W3(4) 0];
W4=poly(a4);
L4=W4(5);
L41=[W4(5) 0];
T=0:0.002:1.5;
[Y1, X1, T1]=step(L1,W1,T);
[Y2, X2, T2]=step(L2,W2,T);
[Y3, X3, T3]=step(L3,W3,T);
[Y4, X4, T4]=step(L4,W4,T);
[Y11, X11, T11]=step(L11,W1,T);
[Y21, X21, T21]=step(L21,W1,T);
[Y31, X31, T31]=step(L31,W1,T);
[Y41, X41, T41]=step(L41,W1,T);
figure(7)
clf
lw=1.2; %lines width
subplot(211)
plot(T1,Y1,'k','Linew',lw)
hold on
plot(T2,Y2,'k--','Linew',lw)
plot(T3,Y3,'k:','Linew',lw)
plot(T4,Y4,'k-.','Linew',lw)
grid on;
axis ([ 0 1.5 0 1.1])
set(gca, 'FontSize',13,'Fontname','NewCenturySchlbk')
xlabel('t[s]','Fontname','NewCenturySchlbk', 'FontSize',17)
ylabel('y','Fontname','NewCenturySchlbk', 'FontSize',17)
legend('n=1','n=2','n=3','n=4')
subplot(212)
plot(T11,Y11,'k','Linew',lw)
hold on
plot(T21,Y21,'k--','Linew',lw)
plot(T31,Y31,'k:','Linew',lw)
plot(T41,Y41,'k-.','Linew',lw)
grid on;
axis([0 1.5 -0.1 3.0])
set(gca,'FontSize',13,'Fontname','NewCenturySchlbk')
xlabel('t [s]','Fontname','NewCenturySchlbk','Fontsize',17);
ylabel('dy/dt','Fontname','NewCenturySchlbk','Fontsize',17);
Wnioski
We wszystkich obiektach możemy stwierdzić na podstawie charakterystyki skokowej, że dążą do stanu stabilności.