Teoria sterowania, laboratorium

Transkrypt

Teoria sterowania, laboratorium
Teoria sterowania, laboratorium
zadania powtórkowe – przykładowe rozwiązania
ad 1.
rown.m – skrypt definiujący równanie różnicowe
function dy=rown_roz(t,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=-y(1)-y(2);
wykres.m – skrypt rozwiązujący równanie i generujący wykres
[T,Y] = ode45(@rown_roz,[0 5],[0 1]);
plot(T,Y(:,1));
axis([0 5 -0.75 0.75]);
Wykres rozwiązania y(t).
0.6
0.4
y(t)->
0.2
0
-0.2
-0.4
-0.6
0
1
2
3
4
5
t->
ad 2.
wykr_tab.m – skrypt generujący tablicę wykresów
t=0:0.05:10;
t=0:0.05:10;
a=[0 pi/2 pi];
b=[1 2];
for k=1:3
for l=1:2
y=b(l).*exp(-0.5.*t).*sin(2.*t-a(k));
n=(k-1)*2+l;
subplot(3,2,n);
plot(t,y);
axis([0 10 -2.5 2.5]);
end
end
J. W. Kłos
1z5
Tablica wykresów.
2
2
0
0
-2
-2
0
5
10
2
2
0
0
-2
0
5
10
0
5
10
0
5
10
-2
0
5
10
2
2
0
0
-2
-2
0
5
10
ad 3.
Schemat maszynowy układu odpowiadający podanym równaniom stanu i wyjścia.
u
Sine Wave
1
s
x1
Integrator
y
Scope
1
s
x2
Integrator1
2
Gain
ad 4.
Równania stanu i równanie wyjścia odpowiadające podanemu schematowi
maszynowemu.
x&1 = Kx1 + x 2
x& 2 = 2Tx2 + u
y = Tx1 + x 2
J. W. Kłos
2z5
ad 5.
Odpowiedz skokowa (żółta krzywa) dla zadanego układu.
ad 6.
ch_amp_faz.m – skrypt generujący charakterystykę amplitudowo fazową
w=0.1:0.01:100;
g=1./(i.*w+2).^2;
x=real(g);
y=imag(g);
plot(x,y);
grid on;
xlabel('P-->');
ylabel('Q-->');
Charakterystyka amplitudowo fazowa.
0
-0.02
-0.04
Q-->
-0.06
-0.08
-0.1
-0.12
-0.14
-0.16
-0.18
-0.05
J. W. Kłos
0
0.05
0.1
0.15
P-->
0.2
0.25
0.3
3z5
ad 7.
ch_bode.m – skrypt generujący charakterystyki Bodego
w=0.1:0.01:100;
g=1./(i.*w+2).^2;
a=abs(g);
f=angle(g);
subplot(2,1,1);
loglog(w,a);
xlabel('w->');
ylabel('A [dB]')
subplot(2,1,2);
semilogx(w,f);
xlabel('w->');
ylabel('phase->')
Charakterystyki Bodego.
0
A [dB]
10
-2
10
-4
10
-1
10
0
1
10
10
2
10
w->
phase->
0
-2
-4
-1
10
0
1
10
10
2
10
w->
Układ jest filtrem dolnoprzepustowym. Dla dużych częstotliwości przesunięcie fazowe
między odpowiedzią a sterowaniem jest bliskie π.
ad 8.
feedback_trans.m – skrypt zawierający funkcję wyznaczającą transmitancję pętli
ujemnego strzeżenia zwrotnego dla funkcji F i G (G- zamyka pętlę).
function funh=feedback_trans(F,G)
global f g;
g=G; f=F;
funh=@fun;
function res=fun(s)
global f g
res=feval(f,s)./(1+feval(f,s).*feval(g,s));
J. W. Kłos
4z5
ad 9.
Odpowiedź impulsowa dla podanego układu.
Rozpatrywany układ jest niestabilny, gdyż jego odpowiedź impulsowa nie dąży do 0
dla t → ∞ .
ad 10.
Odpowiedź układu (żółta krzywa) w nieobecności regulatora.
Odpowiedź układu dla parametrów regulatora: P=10, I=0.75, D=15.
J. W. Kłos
5z5