Charakterystyki regulatorów
Celem ćwiczenia jest zapoznanie się z charakterystykami czasowymi i częstotliwościowymi podstawowych typów regulatorów ciągłych. Podczas ćwiczenia należy zbadać następujące regulatory:
1. Regulator PI o transmitancji:
2. Regulator PD rzeczywisty o transmitancji: , T < 0.1Td
3. Regulator PID rzeczywisty o transmitancji: ,T < 0.1Td
Wykonanie ćwiczenia:
Dla każdego rozważanego regulatora:
· Zdefiniować w głównym oknie MATLAB - a parametry regulatora: k , Ti , Td oraz T.
· Zapisać licznik i mianownik transmitancji w postaci wektora zawierającego współczynniki wielomianu zgodnie z notacją używaną w MATLAB – ie.
· Wyznaczyć charakterystyki skokowe regulatora przy użyciu funkcji step ze zdefiniowanym wektorem czasu, przy czym wektor czasu zdefiniować używając instrukcji linspace. Po pojawieniu się rysunku wykonać instrukcję hold on zatrzymującą rysunek i powtórzyć w/w czynności dla innego zestawu parametrów regulatora różniącego się jednym wybranym parametrem. Rysunek z co najmniej dwoma wykresami opisać używając instrukcji: title . W opisie zamieścić: typ regulatora i jego parametry.
· Wyznaczyć charakterystyki częstotliwościowe regulatora używając funkcji: bode oraz nyquist. UWAGA: W przypadku użycia funkcji nyquist może zajść konieczność przeskalowania rysunku z wykorzystaniem funkcji axis. Charakterystyki narysować dla kilku zestawów parametrów, używając instrukcji hold on .
· Otrzymane wykresy umieścić w dokumencie WORD PAD – a, a następnie wydrukować, analogicznie, jak podczas poprzednich ćwiczeń. ( jeden komplet wykresów: ch-ki czasowe + częstotliwościowe dla jednego typu regulatora ).
N UWAGA: Nie zabierać tej instrukcji !!! N
Stabilność zamkniętego układu regulacji.
Celem ćwiczenia jest zapoznanie się z badaniem stabilności zamkniętego układu regulacji automatycznej z wykorzystaniem: kryterium Nyquista oraz kryterium Hurwitza. Rozważmy zamknięty układ regulacji składający się z obiektu o transmitancji oraz regulatora PID o transmitancji: . Nastawy regulatora należy przyjąć na początku następujące:
k = 2 , Ti = 1 [s] , Td = 0.5 [s] , T = 0.01 [s] ( UWAGA : wartości T nie zmieniać w trakcie - nie jest to nastawa, tylko stała cecha konstrukcyjna regulatora )
UWAGA: W celu ułatwienia wykonania zadania można zbudować krótkie procedury np. wyznaczające transmitancję układu otwartego i rysujące wykres Nyquista lub wyznaczające transmitancję układu zamkniętego i sprawdzające spełnienie kryterium Hurwitza. Argumentami wejściowymi procedur powinny być nastawy regulatora. W MATLAB-ie są dostępne instrukcje warunkowe: np. if ... else ... end ; ( zob. help ) . Do wyprowadzania komunikatów można użyć instrukcji msgbox , np. msgbox ( ‘układ stabilny!’ ). Pierwsza znacząca linia procedury typu „function” w MATLAB - ie musi mieć następującą postać: function[ lista argumentów wyjściowych ] = nazwa ( lista argumentów wejściowych ) . Argumenty we/wy są opcjonalne. Przykładowo: pierwsza linia procedury do badania stabilności metodą Hurwitza może mieć postać: function[] = hurwitz ( k , Ti , Td ) .
Wykonanie ćwiczenia.
1. zapisać transmitancję obiektu.
2. zapisać transmitancję regulatora ze zdefiniowaniem jego parametrów.
3. wyznaczyć transmitancję układu otwartego przy pomocy funkcji series.
· Badanie stabilności z wykorzystaniem kryterium Nyquista:
1. wyznaczyć wykres Nyquista dla układu otwartego: przy pomocy instrukcji nyquist . W razie potrzeby przeskalować.
2. Jeśli układ jest niestabilny, opisać wykres używając title i charakterystykę układu niestabilnego zapisać do wydrukowania. Następnie przyjąć nowe nastawy regulatora, które będą mogły zapewnić stabilność i powtórzyć czynności 2 - 5 aż do uzyskania stabilności układu zamkniętego. Po uzyskaniu stabilnego układu zamkniętego wykres Nyquista zapisać. Stabilizować należy zmieniając tylko jedną nastawę regulatora, i nie zmieniając pozostałych. Przy zmianie nastaw kierować się przebiegiem ch-ki Nyquista układu otwartego. Łącznie mają być trzy przykłady ustabilizowania , po 1 przykładzie dla każdego parametru.
· Badanie stabilności z wykorzystaniem kryterium Hurwitza:
1. Wyznaczyć transmitancję układu zamkniętego przy pomocy funkcji cloop: [ lz , mz ] = cloop ( lotw , motw , -1 );
2. Mając zdefiniowaną transmitancję układu zamkniętego zdefiniować wszystkie podwyznaczniki Hurwitza: h1= [ ... ] , h2 = [ ... ] , h3 = [ ... ]. Zapis tablicy dwuwymiarowej w MATLAB-ie ma następującą postać: elementy wiersza oddzielamy spacją lub przecinkiem, przejście do nowego wiersza: średnik „ ; „ .
3. Wyliczyć wartości podwyznaczników przy pomocy instrukcji det. Sprawdzić ich znak ( można użyć instrukcji sign ). W razie stwierdzenia niestabilności kolejność postępowania jest analogiczna jak w przypadku kryterium Nyquista. ( tak zmieniamy nastawy regulatora, aby otrzymać układ stabilny ).
UWAGA: W sprawozdaniu zamieścić też dwa przykłady odpowiedzi skokowej układu zamkniętego: dla układu stabilnego i dla układu niestabilnego.
Charakterystyki czasowe podstawowych obiektów dynamicznych.
Cel ćwiczenia.
Celem ćwiczenia jest zapoznanie się z charakterystykami czasowymi ( odpowiedziami czasowymi obiektu na określone wymuszenie ) podstawowych obiektów dynamicznych. Ćwiczenie zostanie wykonane symulacyjnie z wykorzystaniem pakietu MATLAB. W czasie ćwiczenia będą badane odpowiedzi obiektów na następujące typy wymuszeń:
· skok jednostkowy ( charakterystyki skokowe )
· delta Diraca ( charakterystyki impulsowe )
Podczas ćwiczenia należy zbadać oba typy charakterystyk dla podstawowych obiektów omówionych we wprowdzeniu. Są one następujące:
1. obiekt inercyjny I rzędu o transmitancji:
2. obiekt inercyjny II rzędu o transmitancji:
3. obiekt oscylacyjny II rzędu o transmitancji:
4. obiekt całkujący z inercją I rzędu o transmitancji:
5. obiekt różniczkujący rzeczywisty o transmitancji:
6. obiekt inercyjny I rzędu z opóźnieniem o transmitancji:
Zapis transmitancji w MATLAB-ie.
Transmitancja w MATLAB-ie jest reprezentowana przez 2 wektory, zawierające współczynniki jej licznika i mianownika. Sposób zapisu w MATLAB-ie obiektów wymienionych powyżej jest podany w poniższej tabeli.
Transmitancja obiektu
Zapis licznika transmitancji
Zapis mianownika transmitancji
[ k ]
[ T , 1 ]
[ T1T2 , T1 + T2 , 1 ]
[ T20 , 2zT0 , 1 ]
[ TTi , Ti , 0 ]
[ Td , 0 ]
zob. poniżej
UWAGA: Składnia jest istotna! Tu muszą być nawiasy [ ] , pomiędzy parametrami spacja lub przecinek. Jako wartości k i T podstawiamy konkretne liczby, lub dajemy symbole, po wcześniejszym nadaniu im wartości, np. nadanie parametrowi k wartości 5 odbywa się następująco: piszemy: k = 5; .
Zapis transmitancji z opóźnieniem w MATLAB-ie.
W celu modelowania w MATLAB-ie członu opóźniającego należy zastosować aproksymację PADE' go. Kolejność postępowania jest następująca:
- Wyznaczamy transmitancję członu opóźniającego przy pomocy instrukcji PADE w sposób następujący:
[ del_l,del_m] = pade ( T , n ); , gdzie: T - opóźnienie w [s], n -rząd aproksymacji ( np n = 5 ). Po wykonaniu tej instrukcji otrzymujemy licznik i mianownik transmitancji członu opóźniającego zapisany pod zmiennymi del_l oraz del_m.
- Zapisujemy transmitancję obiektu bez opóźnienia jako: licz = [ k ];, mian = [ T , 1 ];
- Łączymy obie transmitancje szeregowo przy użyciu instrukcji series i otrzymujemy transmitancję obiektu z opóźnieniem: [licz_d,mian_d] = series( del_l , del_m , licz , mian ); Ta transmitancja może być używana dalej tak , jak wszystkie inne.
Wyznaczanie charakterystyk czasowych.
Do wyznaczania charakterystyk czasowych w/w podstawowych obiektów zostaną wykorzystane instrukcje:
· Instrukcja step ( licz , mian ); - do wyznaczania charakterystyk skokowych układu,
· Instrukcja impulse ( licz , mian ); - do wyznaczania charakterystyk impulsowych układu.
Jeśli instrukcje te nie mają argumentów wyjściowych ( sytuacja powyżej ) to w rezultacie ich działania otrzymuje się wykres odpowiedniej charakterystyki. Jeżeli mają one argumenty wyjściowe w postaci np. :
[ y , x , czas ] = step ( licz , mian ); lub ( * )
[ y , x , czas ] = impulse ( licz , mian ); ( * )
to wtedy otrzymuje się wektory zawierające składowe odpowiedniej charakterystyki.
Rysowanie wykresów.
Wykresy są generowane automatycznie w przypadkach omówionych powyżej. Mogą one też być narysowane za pomocą instrukcji plot, np. plot ( czas , y ). Za pomocą tej instrukcji można też narysować kilka charakterystyk na wspólnym wykresie, np. plot ( czas1 , y1 , czas2 , y2 ); ( ilość wykresów jest w tym wypadku dowolna ). Kilka wykresów można też narysować we wspólnym układzie współrzędnych używając instrukcję hold on. Siatkę na wykresie...
bartek8809