CATEGORII DOCUMENTE |
Bulgara | Ceha slovaca | Croata | Engleza | Estona | Finlandeza | Franceza |
Germana | Italiana | Letona | Lituaniana | Maghiara | Olandeza | Poloneza |
Sarba | Slovena | Spaniola | Suedeza | Turca | Ucraineana |
DOCUMENTE SIMILARE |
|
SYMULACJA Z LINII PROGRAMU
Przebieg ćwiczenia
Zamodelowano dynamikę silnika prądu stałego i na tym modelu przeprowadzono symulację z menu oraz symulację z lini.
Budowa modelu
Model ten zbudowano w postaci schematu z bloków SIMULINK-a. Występujące na rysunku bloki bram wejścia i wyjścia można nie wprowadzać.
Uproszczony model dynamiki silnika elektrycznego opisują dwa równania :
gdzie:
x1 - kąt obrotu wału silnika
x2 - prędkość kątowa wału silnika
a - współczynnik tłumienia
k - współczynnik wzmocnienia
u - sygnał sterujący
Aby przetestować model należy go najpierw zgrupować i zamaskować wywołując odpowiednie funkcje z menu SIMULINK-a. ( Funkcje te poznano na wcześniejszych laboratoriach).
Symulacja z menu
Na wejście podano dowolne żródło sygnału ( np. Step Input ) ,następnie ustawiono parametry symulacji ( Simulation - Parameters ). Do przestrzeni roboczej MATLAB-a wprowadzono wartości parametrów a, k, x_ini ( x_ini - wektor stanów początkowych ). Symulacja startuje przez wybranie opcji Start.
W ćwiczeniu zadano: wartości parametrów a, k, x_ini następująco :
a=0; k=1; x_ini=[10 0];
parametry symulacji następująco :
Start Time: 0.0
Stop Time: 20
Min Step Size: 0.0001
Max Step Size: 0.5
Tolerance: 1e-3
Return Variables: t
Symulacja z lini
Symulacja modelu silnika może być wykonana przez wpisanie w lini okna poleceń MATLAB-a komenndy:
>>linsim(silnik,40);
W wyniku tego otrzymujemy automatyczną wizualizację wyjść modelu lub trajektorji stanów (przy braku wyjść w modelu).
Gdy po lewej stronie komendy wystąpią argumenty np. (jak w ćwiczeniu):
>>[tt,x,y]=linsim(silnik,40);
wówczas do przestrzeni roboczej MATLAB-a zostaną zwrócone wektory czasu, stanu i wyjścia.
Jeżeli w modelu nie uwzględnimy bloków wyjścia, wtedy w wyniku powyższej komendy otrzymamy wektor wyjść zerowy.
Bardzo ważne przy symulacji z lini jest sprawdzenie kolejności stanów w modelu. W przeciwnym wypadku może się okazać, że współrzędne wektora stanów początkowych mogą nie odpowiadać właściwym współrzędnym wektora x_ini występującego w s_funkcji.
Do tego sprawdzenia korzystamy z komendy :
>>[sizes,x0,xstr] = silnik;
Otrzymujemy informację :
SIZES =
2 liczba stanów ciągłych
0 liczba stanów dyskretnych
2 liczba wyjść
0 liczba wejść
0 liczba pierwiastków nieciągłych
0 wskaźnik pokazujący bezpośrednie połączeniewyjść z wejściami
1 liczba czasów próbkowania
X0 =
10
0
XSTR =
/silnik/kąt
/silnik/pędkość kątowa
Symulacja z lini pozwala też na zmianę parametrów symulacji, np. wpisując komendę :
>>linsim(silnik,10,[8,-7]);
zmieniamy czas trwania symulacji oraz wartości początkowe (wektor x_ini). Wartości początkowe zadane w blokach zostają zastąpione warunkami wprowadzanymi z lini programu.
Możemy także ustalić minimalny i maxymalny krok całkowania :
>>linsim(silnik,10,[ ],[1 1 1e-4]);
Wówczas obserwujemy, że wyświetlona graficznie odpowiedź składa się z kroków.
Uwagi
W ćwiczeniu do całkowania modelu silnika użyto procedury linsim. Dla modeli nieliniowych przeważnie stosuje się procedurę rk45 (lub rk23 - mniej dokładną). Istnieje możliwość ingerowania w metodę całkowania używając procedury ode45, do której mamy plik źródłowy.
Model symulacyjny możemy także zadać w postaci mex-pliku, który powstaje po kompilacji programu symulacyjnego napisanego w języku źródłowym: C lub Fortran.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2185
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved