POLITECHNIKA GDAŃSKA
WYDZIAŁ MECHANICZNY
Materiały pomocnicze do zajęć laboratoryjnych z Podstaw Automatyki
Temat: Matlab i Simulink
Daniel Karaś
Jakub Kościelnik
Marcin Waszkiewicz
PROWADZĄCY:
mgr inż. Grzegorz Banaszek
Gdańsk 2008/2009
I. MODELOWANIE
Dla układu przedstawionego na rysunku określić transmitancję operatorową
y(t)wy
k1=5000 k2=10000
m=2kg
b1=5 b2=10
x(t) we
Dla dalszych obliczeń przyjąć :
m=2 kg
k1=5000 N/m
k2=10000 N/m
b1=5 N s/m
b2=10 N s/m
2. Wprowadzenie transmitancji układu w Matlabie
Dla (**) mamy: Licznik L=[k1]
Mianownik
s2 (b1+b2)s (k1 + k2)]
wyświetlenie K(s): printsys (L,M) ,, tf (L, M)
wykresy Bode'a: bode (L, M)
wykres Nyquista: nyquist (L, M)
odpowiedz skokowa: step (L, M)
odpowiedz impulsowa: impulse (L, M)
podział ekranu na podwykresy: subplot(i, j, k)
opis tytułu: title(` tekst')
% plik w Matlabie
% DANE
m=2;
k1=5000;
k2=10000;
b1=5;
b2=10;
L=[k2]; % LICZNIK
M=[m b (k1+k2)]; % MIANOWNIK
printsys(L,M) % WYSWIETLENIE TRANSM. OPERAT. UKL.
subplot(2,2,1)
bode(L,M) % WYKRESY BODE'A
grid
subplot(2,2,2)
nyquist(L,M) % WYKRES NYQUIST
subplot(2,2,3)
step(L,M) % ODPOWIEDZ SKOKOWA
grid
subplot(2,2,4)
impulse(L,M) % ODPOWIEDZ IMPULSOWA
grid
3. Simulink
Zamodelować działanie układu o transmitancji operatorowej (**) w programie „SIMULINK”. Zadać wymuszenie skokowe i sygnałem harmonicznym o częstotliwości
. Korzystając z członów całkujących
zamodelować układ opisany różniczkowym równaniem (
)
a) Uruchomić pakiet Matlab.
b) Z menu wybrać ikonę pakietu SIMULINK.
c) Otworzyć okno tworzenia nowego modelu.
d) Otwierając grupy z elementami schematów blokowych ( continuous, math operations,…,sinks, itd.)
utworzyć model analizowanego układu.
UWAGA!!! Poszczególne elementy „przeciągamy” z okna źródłowego ( np. „Continuous”) do okna modelu ( np. „Untitled”) lewym przyciskiem myszy.
e) Zmiany ustawień:
parametry i nastawy
2x klikając myszką na dany obiekt,
wygląd, kierunek, kolor bloków
najechać na obiekt, nacisnąć prawy przycisk muszy, zmienić
opcję,
np.
Format
│
Flip Block (obrót o 180°)
│
Rotate Blok (obrót o określony kąt
)
UWAGA!!! Dodatkowe informacje o zmianach parametrów i ustawień - wg instrukcji zamieszczonej w punkcie ksero.
f) Opisy obiektów i sygnałów:
obiekt
1x kliknąć na nazwę, np. Gs zmienić opis na właściwy,
sygnał (linie)
2x kliknąć na linię, wpisać nazwę lub symbol np. y'' ,y', y, wyjście, itd.,
g) Okna wykresów
2x dwa razy kliknąć na okno.
Z równania (*)
II. DOBÓR NASTAW REGULATORA PID
Dla układu opisanego transmitacją K(S) dobrać optymalne nastawy regulatora PID metodą Zieglera-Nicholsa. Posłużyć się przykład em 9-13 , str. 212 oraz tablicą - str. 210.
W. Próchnicki, M. Dzida, Lub wg. C. Orlikowski, E. Wittbrodt
„Zbiór zadań z Podstaw Automatyki” „Laboratorium z Automatyki i Sterowania”
wyd. PG, Gdańsk 1993 str. 142
Nastawy optymalne:
1. Ustawić regulator PID na działanie tylko proporcjonalne, tzn.
z warunków stabilności wg. Hurwitza:
30 + 0.5Kkr > 0
oraz
Na granicy stabilności układ znajduje się dla:
2. Wprowadzając Kkr uzyskamy odpowiedź dla granicy stabilności w postaci:
z wykresu odczytać
3. Wyznaczyć nastawy regulatora PID wg:
4. Tworzenie schematów blokowych w Matlabie
sprzężenie zwrotne
znak =
[L , M] = feedback (L1, M2, L2, M2, znak)
sztywne sprzężenie zwrotne
[L , M] = cloop (L1, M1, znak)
człony szeregowe
[L , M] = series (L1, M2, L2, M2)
człony równoległe
[L , M] = parallel ( (-)L1, M2, (-)L2, M2)
odpowiedź skokowa
odpowiedź impulsowa
5. Listing programu w Matlabie do wyznaczania nastaw regulatora PID
clear all;
clc;
clf;
L1=[1]
M1=[1 30 15 50]
clc;
disp('transmitancja operatorowa obiektu')
tf(L1,M1)
% TRANSM. UKL. BEZ REGULATORA
[L2,M2]=cloop(L1,M1,-1);
subplot(4,1,1)
impulse(L2,M2);
legend('uklad bez regulatora')
t=[0:0.01:20];
[y1,x,t]=impulse(L2,M2,t);
grid
% ODPOWIEDZ UKLADU Z WZMOCNIENIEM Kkr
Kkr=400;
[L3,M3]=cloop(Kkr*L1,M1,-1);
subplot(4,1,2)
impulse(L3,M3)
LEGEND
grid
Tkr=1.7;
kp=0.2*Kkr;
Ti=0.33*Tkr;
Td=0.5*Tkr;
[Lr,Mr]=parallel([0 1],[Ti 0],[Td 0],[0 1]);
[L_pid,M_pid]=parallel(kp*Lr,Mr,kp*[1],[1]);
disp('')
tf(L_pid,M_pid)
[L4,M4]=series(L_pid,M_pid,L1,M1);
[L_z_reg,M_z_reg]=cloop(L4,M4,-1);
subplot(4,1,3)
impulse(L_z_reg,M_z_reg)
[y2,x,t]=impulse(L_z_reg,M_z_reg,t);
grid
legend
subplot(4,1,4)
plotyy(t,y1,t,y2)
title('zarwa')
xlabel('t[s]')
grid
6. Okno wykresów - ”Figure 1”
7. Realizacja układu z regulatorem PID w programie SIMULINK
4