Podstawowe człony dynamiczne – symulacja w pakiecie Matlab I.
Logowanie i uruchomienie aplikacji Matlab: 1. Logowanie na serwer KROKUS:
login: salwnumer stanowiska np. salw9
hasło: (brak hasła) 2. logowanie do windows’ów :
login: user
hasło: student2000
3. Na pulpicie znaleźć i uruchomić aplikację Matlab II.
Wprowadzenie zadanej transmitancji obiektu Sposób kodowania w programie dowolnej transmitancji : m + ... + 2 2 + 1 + 0
G( s) bm s
b s
b s b
=
i m ≤ n
an sm + ... + a 2 s 2 + a 1 s + a 0
Osobno kodujemy wielomian występujący w liczniku a osobno wielomian występujący w mianowniku transmitancji. W Matlabie muszą być one zapisane w postaci wektorów.
Każdy wielomian typu: bm sm + ...+ b 2 2
s + 1
b s + b 0 zapisujemy w Matlabie jako wektor współczynników występujących przy kolejnych potęgach w wielomianie zaczynając od prawej strony od współczynnika b0 (przy najniższej potędze).
Dla podanego wielomianu wektor będzie wyglądał następująco:
[bm,…,b2,b1,b0].
Wszystkie instrukcje wpisujemy w nowootwartym skrypcie (biała kartka na górnym pasku w oknie).
Symbolem L oznaczać będziemy wektory dotyczące licznika, symbolem M – dotyczące mianownika.
W Matlabie przecinek dziesiętny musi być zastąpiony kropką.
Użyte funkcje:
L
Funkcja step(L,M,’k’) – wykreśla odpowiedz układu o transmitancji G( s) =
na skok
M
jednostkowy w kolorze k.
Funkcja bode(L,M,’k’) – wykreśla charakterystykę amplitudową częstotliwościową oraz charakterystykę fazową częstotliwościową.
Funkcja nyquist(L,M,’k’) – wykreśla charakterystykę amplitudowo-fazową.
L
Funkcja [L,M]= pade(τ,n) – generuje obiekt z opóźnieniem o transmitancji G( s) =
M
odpowiadający opóźnieniu τ (n- stopień wielomianu aproksymującego opóźnienie) Funkcja [Ls,Ms]= series(L1,M1,L2,M2)- wyznacza transmitancję połączenia szeregowego 1
L
L 2
obiektów o transmitancji G( s) =
oraz G( s) =
M 1
M 2
Funkcja grid – wykreślenie siatki
Funkcja hold on – włączenie opcji wykreślania w jednym oknie Funkcja figure(n) – otwiera n-te okno 1. Chcemy zasymulować działanie (wyznaczyć odpowiedzi obiektu na wymuszenie skokowe oraz wyznaczyć charakterystyki częstotliwościowe) obiektu inercyjnego I rzędu o transmitancji:
G( ) = K
s
dla K=3 i T=4 , dla K=3 i T=2 oraz dla K=2 i T=2
Ts +1
Instrukcje realizujące podane zadanie:
%wyznaczanie odpowiedzi na skok jednostkowy figure(1)
L1=3
M1=[4 1]
L2=3
M2=[2 1]
L3=2
M3=[2 1]
step(L1,M1,’r’)
grid
hold on
step(L2,M2,’y’)
step(L3,M3,’b’)
%wyznaczanie charakterystyk amplitudowych i fazowych częstotliwościowych figure(2)
bode(L1,M1,’r’)
hold on
bode(L2,M2,’y’)
bode(L3,M3,’b’)
grid
%wyznaczanie charakterystyk amplitudowo-fazowych częstotliwościowych figure(3)
hold on
nyquist(L1,M1,’r’)
nyquist(L2,M2,’y’)
nyquist(L3,M3,’b’)
grid
Skrypt uruchamia się naciskając klawisz F5
2. Chcemy zasymulować działanie (wyznaczyć odpowiedzi obiektu na wymuszenie skokowe oraz wyznaczyć charakterystyki częstotliwościowe) następujących obiektów: K
- obiekt drugiego rzędu o transmitancji : G( s) =
dla następujących
2 2
T s + 2 T s
ξ +1
parametrów:
K=3, T=4, ξ=0.1
K=3, T=4, ξ=2
K=3, T=1, ξ=1
Tworzymy nowy skrypt
M=[T*T, 2*T* ξ, 1]
Ts
- obiekt różniczkujący rzeczywisty: G( s) =
dla następujących parametrów:
T s +1
k
T=4, k=3
T=2, k=3
Tworzymy nowy skrypt
L=[T, 0]
M=[T/k, 1]
1
-obiekt całkujący idealny G( s) =
dla:
Ts
T=4
T=2
Tworzymy nowy skrypt
L=1
M=[T, 1]
K
-obiekt całkujący rzeczywisty (z inercją I rzędu) G( s) =
dla parametrów:
s( Ts + )
1 )
K=4, T=4
K=4, T=2
Tworzymy nowy skrypt
L=K
M=[T, 1, 0]
Ke sτ
-obiekt inercyjny I rzędu z opóźnieniem G( s) =
Ts +1
K=3, T=3, τ=3
K=3, T=3, τ=2
Tworzymy nowy skrypt
Instrukcje realizujące podane zadanie:
%wyznaczanie odpowiedzi na skok jednostkowy tau1=3
tau2=2
K=3
T=3
[Ltau1,Mtau1]=pade(tau1,30);
[Ls1,Ms1]=series([K],[T 1],Ltau1,Mtau1);
figure(1)
step(Ls1,Ms1,’r’)
grid
hold on
[Ltau2,Mtau2]=pade(tau2,30);
[Ls2,Ms2]=series([K],[T 1],Ltau2,Mtau2);
%wyznaczanie charakterystyk amplitudowych i fazowych częstotliwościowych figure(2)
bode(Ls1,Ms1,’r’)
hold on
bode(Ls2,Ms2,’b’)
grid
%wyznaczanie charakterystyk amplitudowo-fazowych częstotliwościowych figure(3)
hold on
nyquist(Ls1,Ms1,’r’)
nyquist(Ls2,Ms2,’b’)
grid