POLITECHNIKA ŚWITOKRZYSKA
w Kielcach
WYDZIAA MECHATRONIKI I BUDOWY MASZYN
ZAKAAD MECHATRONIKI
LABORATORIUM PODSTAW AUTOMATYKI
INSTRUKCJA
ĆWICZENIE LABORATORYJNE NR 1
Temat: Badania symulacyjne podstawowych członów automatyki
(wyznaczanie odpowiedzi na wymuszenie skokowe). Zapoznanie się z
programem Matlab-Simulink. cz.1
Opracował:
dr inż. Paweł Aaski
Kielce 2006
Zasady pracy w Simulinku
Pracę z Simulinkiem można rozpocząć z okna poleceń Matlaba podając komendę:
simulink
Wykonanie tego polecenia powoduje pojawienie się okna z tytułem simulink, którego
zawartość przedstawia rysunek:
Okno Simulinka
Okno to zawiera następujące biblioteki programowe:
Sources - bloki do generowania różnych sygnałów. Bloki tej biblioteki posiadają tylko
sygnały wyjściowe. Jej zawartość ilustruje rysunek.
Bloki biblioteki Sources
Funkcje realizowane przez poszczególne bloki:
" Clock - podaje czas symulacji i wyprowadza go jako zmienną;
" Signal Generator - generator sygnałowy fali sinusoidalnej, prostokątnej, pół-kształtnej
i przebiegu losowego;
" Sine Wave - generator fali sinusoidalnej;
" From File - odczyt danych z mat-pliku;
" Random Number - generator szumu białego z rozkładem Gaussa;
" Digital Clock - zegar cyfrowy;
" Constant - zadaje wartość stałą niezależną od czasu;
" Step Input - sygnał skoku jednostkowego;
" From Workspace - pobiera dane z przestrzeni roboczych;
" Band-Limited White Noise - generator szumu białego z ograniczonym pasmem;
" Repeating Sequence - generator dowolnego sygnału o zadanym okresie powtarzania;
" Pulse Generator - generator fali prostokątnej;
" Chirp Signal - generator sygnału z liniową rosnącą częstotliwością.
Sinks zawiera bloki przeznaczone do wizualizacji wyników, a także do sterowania
przebiegiem symulacji. Rodzaje bloków występujących w tej bibliotece ilustruje rysunek.
Bloki biblioteki Sinks
Bloki umieszczone w bibliotece Sinks zawierają jedynie wejścia i realizują następujące
funkcje:
" Scope - oscyloskop";
" Graph - okno graficzne Matlaba do wykresów czasowych;
" Auto-Scale Graph - okno graficzne z automatycznym przesuwaniem skali;
" XY Graph - okno graficzne Matlaba do wykonywania wykresów XY;
" To Workspace - przesyła przebiegi czasowe do przestrzeni roboczej programu Matlab;
" To File - zapamiętuje przebiegi czasowe w mat-pliku;
" Stop Simulation - zatrzymuje symulację;
" Hit Crossing - automatycznie zwiększa dokładność obliczeń w otoczeniu punktów
nieciągłości.
Discrete - biblioteka bloków dyskretnych. Każdy z tych bloków zawiera na wejściu
impulsator oraz ekstrapolator zerowego rzędu (zero-order hołd) na wyjściu. Czas
próbkowania może być określony oddzielnie dla każdego bloku. Podaje się go w polu okna
dialogowego danego bloku. Wartości wyjściowe bloków dyskretnych są aktualizowane tylko
w momentach czasu t odpowiadających całkowitej wielokrotności czasu
próbkowania Ts(t=nT). Czas próbkowania Ts może być wartością skalarną lub wektorową.
Bloki umieszczone w bibliotece Discrete realizują następujące funkcje:
Bloki biblioteki Discrete
" Unit Delay - opóznienie sygnału wyjściowego (o jeden cykl okresu próbkowania);
" Discrete Zero-Pole - transmitancja dyskretna; dla zdefiniowania tej transmi-tancji
należy podać wartości zer, biegunów i współczynnik wzmocnienia;
" Filter - transmitancja filtru dyskretnego; jest określona wektorami współczynników
licznika i mianownika; współczynniki są podawane według malejących potęg
operatora l/z;
" Discrete Transfer Fen - transmitancja dyskretna opisana przez podanie wektorów
współczynników licznika i mianownika uszeregowanych według malejących potęg
operatora z;
" Discrete State-Space - model układu zapisany w postaci dyskretnego równania stanu i
wyjścia;
" Zero-Order Hołd, First-Order Hołd - ekstrapolatory odpowiednio zerowego i
pierwszego rzędu;
" Discrete-Time Integrator - dyskretny element całkujący;
" Discrete-Time Limited Integrator - element całkujący dyskretny z ograniczeniem
sygnału wyjściowego w zadanym zakresie.
Linear jest biblioteką bloków liniowych, której zawartość przedstawia rysunek:
Bloki biblioteki Linear
Biblioteka ta zawiera bloki:
" Sum - element sumujący; liczbę i rodzaj znaków (+-) określa użytkownik;
" Inner Product - iloczyn skalarny wektorów wejściowych;
" Integrator - element całkujący;
" Derivative - element różniczkujący;
" Gain - element wzmacniający (wyjście = Gain * wejście);
" Matrix Gain - macierzowy element całkujący;
" Slider Gain - wzmacniacz z nastawianiem wzmocnienia za pomocą suwaka;
" Transfer Fcn - transmitancja ciągła; dla określenia jej należy podać wektor
współczynników wielomianów licznika i mianownika; współczynniki są podawane w
kolejności malejących potęg s;
" Zero-Pole - transmitancja ciągła określona przez podanie biegunów, zer oraz
współczynnika wzmocnienia;
" State-Space - równanie stanu i wyjścia modelu ciągłego. Należy podać macierze A, B,
C, D oraz warunki początkowe.
Nonlinear zawiera bibliotekę bloków nieliniowych. Jej zawartość przedstawia rysunek:
W bibliotece tej występują bloki:
" Sign - realizuje zależność y = sign(x);
" Relay - przekaznik dwupołożeniowy; należy podać: wartość, przy której zachodzi
załączenie i wyłączenie oraz wartość, jaka wystąpi na wyjściu po włączeniu i
wyłączeniu;
" Backlash - strefa histerezy;
" Saturation - element typu nasycenie; powoduje ograniczenie sygnału wyjściowego w
określonym zakresie;
Bloki biblioteki Nonlinear
" Quantizer - przekształca sygnał wejściowy w funkcję schodkową; wymaga podania
wartości przedziału kwantyzacji;
" Dead Zone - element typu strefa nieczułości; należy podać początkową i końcową
wartość strefy nieczułości;
" Coulombic Friction - element typu tarcie kulombowskie; realizuje zależność y =
sign(x) * (Gain * abs(x) + offset); w celu zdefiniowania elementu należy podać dwa
parametry: Gain i offset;
" Rate Limiter - ogranicznik szybkości zmian sygnału; należy podać współczynnik
nachylenia prostej dla dodatnich i ujemnych wartości sygnału wejściowego;
" Product - iloczyn wartości wejściowych; użytkownik musi podać liczbę wejść;
" Abs - wartość bezwzględna sygnału wejściowego (y = I u |);
" Look Up Table - określa funkcję odcinkowo-liniową na podstawie zadanej tablicy
(look up table);
" 2-D Look-Up Table - dwuwymiarowa tablica zależności;
" Relational Operator - operator relacji: <,<=,>=, = = , ~ = ;
" Logical Operator - realizuje operację logiczną na wartościach wejściowych.
Użytkownik podaje nazwę operatora logicznego (AND, OR, NAND, NOR, XOR,
NOT) oraz liczbę wejść;
" Combinatorial Logic - tablica logiki kombinatorycznej (tzw. tablica prawdy, tnie
table);
" Switch - służy do przełączania sygnałów wejściowych. Działanie bloku ilustrują
rysunki:
gdzie Xl, X3 są sygnałami wejściowymi, a X2 jest sygnałem sterującym;
" Fen - blok wyrażenia definiowanego przez użytkownika. Jako nazwę zmiennej
wejściowej należy używać u, np. cos([l]*exp(3.2-M[2]));
" S-Function - tzw. funkcja systemowa. Definicją S-funkcji może być schemat graficzny
utworzony w Simulinku, m- lub mex-plik. Nazwę S-funkcji podaje się w oknie
dialogowym (podobnie jak inne parametry);
" MATLAB Fen - blok zwracający funkcję Matlaba. Funkcja może być również
zdefiniowana w m-pliku funkcyjnym, którego nazwę podaje się w oknie dialogowym;
" Reset Integrator - blok całkujący z resetowaniem. Jego działanie polega na tym, że
zachodzi całkowanie sygnału z pierwszego wejścia (gdy na wejściu drugim jest sygnał
zero). Kiedy wejście 2 jest niezerowe, zachodzi przełączenie na wejście trzecie;
" Memory - blok używany do usuwania pętli algebraicznych. Jest wykorzystywany
łącznie z blokiem Clock dla określenia kroku całkowania poprzez spowodowanie
opóznienia o jeden krok całkowania. W oknie dialogowym należy podać warunek
początkowy;
" Transport Delay - blok realizujący tzw. czyste" opóznienie. Należy podać trzy
parametry: początkową wartość odliczania czasu opóznienia, czas trwania opóznienia
i wielkość bufora startowego;
" Variable Transport Delay - blok zmiennego opóznienia transportowego. Definicja
bloku wymaga podania maksymalnej wartości czasu opóznienia, początkowej
wartości odliczania czasu oraz rozmiaru bufora. Sygnał na drugim wejściu reguluje
wartość czasu opóznienia;
" Limited Integrator - integrator z ograniczeniem górnej (Upper bound) i dolnej (Lower
bound) granicy całkowania. Wartości te wprowadzane są przez użytkownika,
podobnie jak warunek początkowy. Dostępny jest rozmaskowany schemat tego bloku.
Connections zawiera bibliotekę połączeń. Należą do niej:
" Inport - port wejściowy; służy do wprowadzania zewnętrznych sygnałów wejściowych
do podsystemu;
" Outport - port wyjściowy; służy do wyprowadzania sygnałów wyjściowych
podsystemu do bloków zewnętrznych;
" Mux - dokonuje przekształcenia skalarnych sygnałów wejściowych w sygnał
wektorowy. Użytkownik podaje liczbę wejść;
" Demux - demultiplekser; dokonuje przekształcenia sygnału wektorowego na sygnały
skalarne. Użytkownik podaje liczbę wyjść.
Bloki biblioteki Connections
Extras zawiera dodatkowe biblioteki.
Biblioteka Demos zawiera dodatkowe toolbox-y jako rozszerzenia możliwości pakietu
SIMULINK.
Tworzenie modelu graficznego w Simulinku
Definiowanie nowego modelu w formie schematu blokowego (graficznie) odbywa się
po wywołaniu programu Simulink z okna poleceń Matlaba (MATLAB Command Window),
wyborze z menu File i opcji New. Powoduje to otwarcie nowego okna dla tego modelu, a
następnie umieszczenie w nim ikon bloków zawartych w bibliotekach Simulinka i połączenie
tych bloków liniami reprezentującymi ich wzajemne powiązania.
Konstruowanie modelu odbywa się w tzw. edytorze graficznym Simulinka, do którego
przenoszone są ikony bloków zawartych w bibliotekach standardowych lub własnych. Każdy
blok posiada swój symbol graficzny - ikonę. Przykłady standardowych i własnych ikon
bloków przedstawia rysunek:
Przykłady różnych ikon występujących w Simulinku
Maskowanie bloku umożliwia zmianę ikony bloku (oraz zawartości jego okna dialogowego).
Każdy blok ma unikalną (w danym modelu) nazwę, którą można edytować i zmieniać po
wskazaniu i kliknięciu jej pola kursorem myszy. Nazwa bloku jest umieszczona na zewnątrz
jego symbolu graficznego. Usytuowanie nazwy zależy od orientacji bloku.
Położenie nazwy bloku w zależności od orientacji bloku
Bloki mogą mieć wejścia (>) i wyjścia (>), a każdy blok ma swoje okienko dialogowe, które
otwiera się po wskazaniu ikony bloku kursorem myszy i podwójnym kliknięciu jej lewym
klawiszem. Wybór przycisku Help otwiera okienko pomocy dla danego bloku.
Działania na blokach w Simulinku
Na blokach mogą być wykonywane takie operacje, jak:
" zmiana położenia
" zmiana rozmiaru
" kopiowanie bloku
" usuwanie bloku.
Każda czynność wykonywana na bloku (blokach) powinna być poprzedzona wyborem bloku
(bloków). Wybór ten jest realizowany w następujący sposób:
" wybór jednego bloku lub napisu - wskazanie bloku lub napisu kursorem myszy i
jednokrotne kliknięcie lewym klawiszem;
" wybór fragmentu modelu - ustawić kursor myszy w lewym górnym rogu obszaru, na
którym znajduje się określony fragment modelu, a następnie wcisnąć lewy klawisz
myszy i trzymając go przeciągnąć kursor do dolnego prawego rogu zaznaczonego
fragmentu.
Dwa oddalone od siebie elementy schematu można zaznaczyć też w ten sposób, ale po
wskazaniu każdego z elementów należy kliknąć jednocześnie lewym i prawym klawiszem
myszy;
" wybór wszystkich elementów modelu - należy wykonać polecenie
Edit|Select All w oknie Simulinka.
" Zaznaczony blok lub zestaw bloków może być:
" usunięty przez naciśnięcie klawisza Del (lub przez wybór z menu okna Simulink
Edit|Clear);
" usunięty z jednoczesnym przekopiowaniem do pamięci podręcznej przez wybór Edit |
Cut z menu okna Simulink;
" przekopiowany do pamięci podręcznej poprzez wybór Edit|Copy z menu okna
Simulink. Zawartość pamięci podręcznej może być przekopiowana do okna
graficznego Matlaba w miejsce wskazane kursorem myszy, poprzez wybór Edit |
Paste.
" przesunięty w obrębie okna jednego modelu lub przekopiowany do innego okna; jest
tu wykorzystana tzw. technika ciągnij i upuść, która jak wiadomo polega na tym, że
należy wskazać zaznaczony element kursorem myszy, wcisnąć jej lewy klawisz i
trzymając go przesunąć zaznaczony element w nowe miejsce (w obrębie tego samego
okna). Jeśli przemieszczenie przeprowadza się w obrębie dwóch różnych okien, to
zachodzi kopiowanie zaznaczonego (wybranego) elementu;
" przekopiowany w obrębie jednego okna modelu również przez wykorzystanie techniki
ciągnij i upuść, ale przy dodatkowo wciśniętym klawiszu Ctrl podczas trwania tej
operacji.
W zaznaczonym bloku można zmieniać jego rozmiary przez wskazanie kursorem myszy
wybranego wierzchołka, wciśnięcie lewego klawisza myszy, a następnie zmianę wymiarów.
Zmiana kroju, wielkości i koloru czcionek napisów, koloru tła, symbolu graficznego bloku
(np. z cieniowaniem lub bez) odbywa się po wyborze odpowiedniej opcji z menu Style w
oknie Simulink.
Tworzenie połączeń między blokami
Połączenia między blokami wykonuje się za pomocą myszy. Po wskazaniu początku
połączenia należy wcisnąć i przytrzymać lewy klawisz myszy, a następnie rozpocząć
ciągnięcie linii (przez ruch myszą) do punktu końcowego. W przypadku gdy połączenie jest
już wykonane, ale trzeba wykonać na nim dodatkowe odgałęzienie, należy wcisnąć prawy
klawisz myszy i rozpocząć rysowanie linii. Jednoczesne naciśnięcie prawego i lewego
przycisku myszy prowadzi do utworzenia nowego wierzchołka we wskazanym punkcie.
Przemieszczanie bloków powoduje zachowanie ciągłości połączeń (z wyjątkiem przypadku,
kiedy przesuwanie zachodzi przy jednoczesnym wciśnięciu lewego i prawego klawisza
myszy). Połączenia między blokami można usuwać. W tym celu należy zaznaczyć dane
połączenie przez kliknięcie na nim lewym klawiszem myszy, a następnie usunąć je przez
naciśnięcie klawisza Del lub wybór opcji Clear z menu Edit w oknie Simulink (Edit|CIear).
Cel Ćwiczenia
Wyznaczyć:
1. Odpowiedz skokową.
2. Charakterystykę amplitudowo częstotliwościową.
3. Charakterystykę fazowo częstotliwościową.
4. Charakterystykę amplitudowo fazową (wykres Nyquista).
5. Składowe rzeczywistą i urojoną transmitancji.
6. Logarytmiczną charakterystykę amplitudowo częstotliwościową.
7. Logarytmiczną charakterystykę fazowo częstotliwościową.
8. Logarytmiczną charakterystykę amplitudowo fazową (wykres Blacka)
dla następujących członów automatyki:
- inercyjnego I-go rzędu,
Wyznaczenie odpowiedzi y(t) na wymuszenie skokowe.
Zadanie rozwiązać dla następujących danych: T=0,01[s], k=2, x(t) = Xst "1(t) , Xst = 1
Transmitancja operatorowa członu inercyjnego I-go rzędu
Y (s) k
G(s) = =
X (s) T " s +1
Pierwszy sposób: rozwiązanie numeryczne:
(T " s + s)"Y(s) = k " X(s)
dy
T " + y = k " x(t)
dt
dy 1 k
= - " y + " x(t)
dt T T
Rozwiązując numerycznie powyższe równanie wyznaczamy odpowiedz członu inercyjnego I-
go rzędu na skok jednostkowy.
Schemat blokowy w Matlab-Simulink
Wykresy x(t) i y=f(t)
Drugi sposób: rozwiązanie analityczne:
k
Y (s) = G(s) " X (s) = " X (s)
T " s +1
1
x(t) = xst "1(t) ! X (s) = xst "
s
k k 1 k " xst
Y (s) = G(s) " X (s) = " X (s) = " xst " =
T " s +1 T " s +1 s s "(T " s +1)
Po przejściu od transformaty Laplace a Y (s) do postaci czasowej y(t) otrzymujemy zależność
opisującą odpowiedz skokową członu inercyjnego I-go rzędu
-t
# ś#
Ą# k " xst ń#
ś#1- T ź#
y(t) = L-1[Y(s)] = L-1ó# = y0 + k " xst " e
ś# ź#
s "(T " s +1)Ą#
Ł# Ś#
# #
Wstawić wykres y=f(t)
Charakterystyka amplitudowo częstotliwościowa A().
Transmitancja widmowa członu inercyjnego I-go rzędu
k k T " j -1 - k
G( j) = G(s) = = = +
s = j
2 2
T " j +1 T " j +1 T " j -1 - T " -1
k "T " k - k "T "
+ j " = + j " = P() + j " Q()
2 2 2 2
- T " -1 T "2 +1 T "2 +1
gdzie:
k
P() = składowa rzeczywista transmitancji widmowej
2 2
T " +1
- k "T "
Q() = składowa urojona transmitancji widmowej
2
T "2 +1
A() = f () = G( j) = P() + j " Q() = P2() + Q2() =
moduł transmitancji
2 2
k
# ś# # - k "T " k
ś#
= + =
ś# ź# ś# ź#
2 2
T "2 +1 # # T "2 +1 # T 2 +1
#
"2
widmowej
2,0
1,5
A [dB] 1,0
0,5
0,0
0 200 400 600 800 1000
2.1
2.1
1.8
1.5
1.2
A()
0.9
0.6
0.3
0
0
0 1000 2000 3000 4000 5000
0 5000
Charakterystyka fazowo częstotliwościowa ().
Argument transmitancji widmowej
Q()
() = f () = arg[G( j)] = arc tg = arc tg(-T ") = -arc tg(T ")
P()
0,0
0
0
-0,4
0.4
Ć[rad] -0,8
-1,2
0.8
Ć ()
-1,6
0 200 400 600 800 1000
1.2
1.6
1.6
0 1000 2000 3000 4000 5000
0 5000
Charakterystyka amplitudowo fazowa (wykres Nyquista).
Składowa urojona transmitancji widmowej
- k "T "
Q() =
2
T "2 +1
Składowa rzeczywista transmitancji widmowej
k
P() =
2
T "2 +1
0,0 0,5 1,0 1,5 2,0
0,0
-0,2
-0,4
Q()
-0,6
-0,8
-1,0
P()
Składowe rzeczywista i urojona transmitancji.
Składowa rzeczywista transmitancji widmowej
k
P() =
2
T "2 +1
Składowa urojona transmitancji widmowej
- k "T "
Q() =
2
T "2 +1
0 1000 2000 3000 4000 5000
0,0
2,0
-0,2
1,5
-0,4
p() 1,0
Q()
-0,6
0,5
-0,8
0,0
-1,0
0 1000 2000 3000 4000 5000
Logarytmiczna charakterystyka amplitudowo częstotliwościowa.
Lm() = f1 lg() = M () = 20lg A() = 20lg G( j) = 20lg P() + j " Q() =
2 2
k
# ś# # - k "T " k
ś#
= 20lg P2() + Q2() = 20lg + = 20lg
ś# ź# ś# ź#
2 2 2 2
2 2
T " +1 # # T " +1 #
#
T " +1
Logarytmiczna charakterystyka fazowo częstotliwościowa.
Q()
() = f2(lg) = arg[G( j)] = arc tg = arc tg(- T ") = -arc tg(T ")
P()
Logarytmiczna charakterystyka amplitudowo fazowa (wykres Blacka).
Logarytmiczna charakterystyka modułu
Lm() = f1(lg) = M () = 20lg() = 20lg G( j) = 20lg P() + j " Q() =
2 2
k
# ś# # - k "T " k
ś#
= 20lg P2() + Q2() = 20lg + = 20lg
ś# ź# ś# ź#
2 2 2
2
T "2 +1 # # T " +1 #
#
T "2 +1
Logarytmiczna charakterystyka fazy
Q(
() = f2(lg) = argG( j) = arc tg = arc tg(- T ") = -arc tg(T ")
P()
Wyszukiwarka
Podobne podstrony:
Podstawy automatyki nr 2podstawy automatyki ćwiczenia lista nr+podstawy automatyki ćwiczenia lista nr:podstawy automatyki ćwiczenia lista nr=Sprawozdanie z laboratorium nr 2 z Podstaw Automatykipodstawy automatyki ćwiczenia lista nr,podstawy automatyki ćwiczenia lista nr*podstawy automatyki ćwiczenia lista nr;podstawy automatyki ćwiczenia lista nr[podstawy automatyki ćwiczenia lista nrpodstawy automatyki ćwiczenia lista nrpodstawy automatyki ćwiczenia lista nrpodstawy automatyki ćwiczenia lista nrpodstawy automatyki ćwiczenia lista nr<podstawy automatyki ćwiczenia lista nrszafran,podstawy automatyki, elementy wykonawczeKurs podstawowy Test Nr 1 Pwięcej podobnych podstron