WYDZIAŁ ELEKTRYCZNY
TEMAT SPRAWOZDANIA: DOBÓR REGULATORA PI, PD, PID DO OBIEKTU W
ZADANIU OPTYMALIZACJI Z OGRANICZENIAMI
.
WYKONAŁ:
MICHAŁ MANIA
DATA:
16.05.2011
PUNKTY:
Zadanie jakie nam postawiono na laboratoriach było znalezienie optymalnych nastaw
regulatorów PI, PD, PID przy użyciu dostępnych narzędzi w środowisku matlaba, takich jak
funkcja pso czy finshearch. Głównym kryterium pod wpływem którego poszukiwane były
nastawy regulatorów był jak najmniejszy czas stabilizacji sygnału wyjściowego (setlingtime).
I. Informacje wstępne:
a) funkcja przejścia obiektu:
-40 s + 5
-----------------------------------------------
756 s^4 + 633 s^3 + 187 s^2 + 23 s + 1
b) funkcja przejścia dla regulatora PID, gdzie: x = [Kr Ti Td]
Kr + Ti * 1/s + Td * s
II. Optymalne nastawy regulatorów PID, PI, PD znalezione przy pomocy funkcji pso i
fminsearch, wraz z najważniejszymi parametrami dla odpowiedzi skokowej zostały
zgrupowane w poniższej tabeli.
pso
Kr
Ti
Td
tu (J)
tn
p
ε
u [%]
PID
15.0044
0.7771
66,2916 38.6520 46.7067
0.0220
0
14.9752
PI
8,884
0,5643 ------------- 56.2071 68.2003
0.0215
0
7.3012
PD
1,3076 -------------- 14,6445 26.5867 35.1488
0
0,937
33.2038
fminshearch
Kr
Ti
Td
tu (J)
tn
p
ε
u [%]
PID
1,9028
0,5373
0
109.0231 147.2980 0.0205
0
2.3348
PI
1,5866
0,3466
----------- 112.5043 151.9761 0.0204
0
2.1538
PD
3,8967
--------
20,7269 32.9479 43.4885
0
0,8329
22.9614
III. Odpowiedzi na skok jednostkowy dla poszczególnych regulatorów:
1)PID:
a) nastawy regulatora zostały dobrane przy użyciu funkcji pso,
b) nastawy regulatora zostały dobrane przy użyciu funkcji fminsearch,
2) PI:
a) nastawy regulatora zostały dobrane przy użyciu funkcji pso,
b) nastawy regulatora zostały dobrane przy użyciu funkcji fminsearch,
3) PD:
a) nastawy regulatora zostały dobrane przy użyciu funkcji pso,
b) nastawy regulatora zostały dobrane przy użyciu funkcji fminsearch,
IV. Wykresy 3D ilustrujące zależności czasu ustalenia sygnału wyjściowego od nastawów
regulatorów PI oraz PD:
1) Wykres J(Kr,Ti)
2) Wykres J(Kr,Td)
Wnioski:
Wykorzystując dostępne metody w środowisku madlaba udało się znaleźć optymalne nastawy
dla różnego typu regulatorów. Przebieg doświadczenia potwierdził kilka znanych tez takich
jak: regulator typu PID do regulacji większości obiektów jest najskuteczniejszy, czy takich że
użycie regulatora PD do regulacji obiektem bez całkowania prowadzi do generowania uchybu
statycznego. Ponadto poszukiwanie optymalnych nastawów regulatora PD tylko pod kątem
szybkiego ustalania się sygnału wyjściowego powodowało że regulator nie spełniał swojego
zadania, a sygnał wyjściowy nawet nie był bliski wartości zadanej. Natomiast jeżeli chodzi o
skuteczność w poszukiwaniu optymalnych nastaw dla regulatorów, lepsza w wykorzystaniu
okazała się w każdym przypadku funkcja pso, co niestety odzwierciedlało się w dłuższym
oczekiwaniu na wyniki. Powodem lepszych osiągów funkcji pso mógł być fakt, że funkcja
fminsearch zatrzymuje się po wyszukani minimum lokalnego które nie koniecznie musi
pokrywać się z minimum globalnym. Funkcja pso w dużej mierze likwiduje ten problem,
gdyż z tego co mi wiadomo poszukiwanie przez nią minimum opiera się na elementach
losowości.
Skrypt:
function
[j]=pid(x)
if
x(1)<=0
j=100000000000000;
else
if
x(2)<=0
j=100000000000000;
else
if
x(3)<=0
j=100000000000000;
else
s=tf(
's'
);
x=x/100;
o=5*(-8*s+1)/(4*s+1)/(7*s+1)/(3*s+1)/(9*s+1);
r=x(1)+x(2)/s+x(3)*s;
g=feedback(r*o,1);
step(g);
m=stepinfo(g);
j=m.SettlingTime;
end
end
end