instrukcja nr 3 - identyfikacja obiektu sterowania
Transkrypt
instrukcja nr 3 - identyfikacja obiektu sterowania
POLITECHNIKA BIAŁOSTOCKA
Wydział Elektryczny
Katedra Automatyki i Elektroniki
ĆWICZENIE Nr. 3
Identyfikacja obiektu sterowania
Laboratorium z przedmiotu
AUTOMATYKA
Kod: ENS1C300 023
BIAŁYSTOK 2013
OPRACOWANIE: DR INŻ.
ZBIGNIEW PRAJS
Identyfikacja obiektu sterowania
Cel ćwiczenia
Zapoznanie z prostą, praktyczną metodą identyfikacji parametrów obiektu sterowania za pomocą przybliżenia członem inercyjnym pierwszego rzędu z opóźnieniem.
Przed ćwiczeniem
Należy zapoznać się na podstawie Dodatku A, wykładów lub odpowiednich pozycji
literaturowych z problemem identyfikacji obiektu sterowania i sposobem wyznaczania jego parametrów.
Stanowisko laboratoryjne
Komputer PC z zainstalowaną kartą akwizycji danych PCI-1711 oraz oprogramowaniem ADAQView,
Terminal PCLD-8710 z kablem połączeniowym,
Zestaw modelu analogowego obiektu (MAO),
Przebieg ćwiczenia
1. Należy zarejestrować w środowisku ADAQView charakterystykę skokową członu
wieloinercyjnego utworzonego za pomocą zestawu MAO. Parametry członu dynamicznego podaje prowadzący. Dane pomiarowe powinny być zapisywane do pliku
tekstowego.
2. Dane z pliku tekstowego należy przenieść do środowiska MATLAB (tworząc m-plik)
i wykreślić charakterystykę skokową (należy zwrócić uwagę na prawidłowy opis
oraz zwymiarowanie osi współrzędnych).
3. Wykorzystując jedną z metod identyfikacji należy człon wieloinercyjny zastąpić
członem inercyjnym pierwszego rzędu z opóźnieniem.
4. Należy porównać graficznie (można skorzystać przy tym z gotowego programu przytoczonego w Dodatku B) na jednym wykresie:
− charakterystykę skokową członu wieloinercyjnego
− charakterystykę obiektu zamodelowaną w środowisku programu Matlab (Dodatek B) przy parametrach nastawionych w zestawie MAO
Sprawozdanie powinno zawierać
1. Schematy blokowe stosowanych układów pomiarowych oraz zarejestrowane charakterystyki skokowe.
2. Wnioski i komentarze do uzyskanych wyników oraz przebiegu doświadczeń.
Kod: ENS1C300 023
AUTOMATYKA
2
Ćwiczenie 3
Identyfikacja obiektu sterowania
Literatura
1. Kaczorek T., Dzieliński A., Dąbrowski W., Łopatka R.: Podstawy teorii sterowania.
WNT, Warszawa 2005.
2. Gessing R.: Podstawy automatyki. Wydawnictwo Politechniki Śląskiej, Gliwice 2001.
3. Jędrzykiewicz Z.: Teoria sterowania układów jednowymiarowych. Wydawnictwo
AGH, Kraków 2004.
4. Luft M., Łukasik Z.: Podstawy teorii sterowania. Wydawnictwo Politechniki Radomskiej, Radom 1999.
5. Sawicki J., Królikowski A., Florek A.: Dynamika i identyfikacja obiektów sterowania,
PWN, Warszawa, 1986.
Kod: ENS1C300 023
AUTOMATYKA
3
Ćwiczenie 3
Dodatek A
Identyfikacja – podstawowe wiadomości
Znajomość modelu matematycznego opisującego proces dynamiczny posiada dużą
wartość poznawczą pozwalając m.in. na konstruowanie efektywnych zasad sterowania
tym procesem, a także na predykcję sygnałów wyjściowych. Przy konstruowaniu modelu matematycznego istotne znaczenie ma znajomość praw fizycznych (mechaniki, elektrotechniki, chemii), szczególnie, gdy analizowane zjawiska są proste i już poznane. Często jednak okazuje się, że odzwierciedlenie matematyczne wszystkich praw rządzących
złożonym procesem nie jest możliwe. Z drugiej strony, dla potrzeb sterowania, często
istotne są tylko zależności między sygnałami wejściowymi (sygnałami sterującymi) i
wyjściowymi obiektu (zmiennymi sterowanymi). Zbudowanie modelu obiektu na podstawie obserwacji sygnałów wejściowych i wyjściowych jest nazywane identyfikacją.
Otrzymany w ten sposób model jest nazywany modelem typu wejście-wyjście lub modelem funkcjonalnym i najczęściej wystarcza do syntezy układu sterowania automatycznego. Wyznaczenie modelu w pewnych przypadkach jest operacją stosunkowo prostą. W
sytuacjach bardziej złożonych, niezbędne jest wspomaganie komputerowe przy użyciu
gotowych do tego algorytmów.
Zagadnienie identyfikacji, polegające na wyznaczeniu adekwatnego do danego procesu modelu matematycznego, można podzielić na następujące etapy:
1. Wybór struktury modelu
2. Wyznaczenie wartości współczynników modelu
3. Weryfikacja modelu matematycznego
Struktura modelu wiąże się z określeniem typu modelu (liniowy, stacjonarny, itp.),
rzędu modelu (np. równania różniczkowego, transmitancji) oraz liczby wejść i wyjść.
Struktura modelu może być znana w wyniku uprzedniego modelowania matematycznego lub informacji początkowej o obiekcie. Jeżeli struktura nie jest znana, wówczas
przyjmuje się pewną alternatywę strukturę modelu matematycznego obiektu.
Wartości współczynników modelu w przypadku gdy mają sens fizyczny są określane
przez odpowiednie pomiary. Gdy wyznaczenia wartości współczynników nie można dokonać poprzez pomiary, wówczas ich wartości określa się w wyniku przetwarzania informacji z pomiarów sygnałów wejściowych i wyjściowych obiektu. W przypadku przyjęcia kilku wariantów struktur, wyznaczenie wartości przeprowadza się dla wszystkich
struktur a następnie wybiera się strukturę optymalną.
Weryfikacja ma na celu stwierdzenie czy model właściwie opisuje obiekt, np. poprzez analizę odpowiedzi czasowej. Poprawę właściwości modelu (jeżeli przyczyna nie
leży w sferze pomiarów lub metodzie identyfikacji) uzyskuje się przez zmianę struktury.
OPRACOWANIE: DR INŻ.
ZBIGNIEW PRAJS
Identyfikacja obiektu sterowania
W przypadku liniowych obiektów stacjonarnych zmiana struktury sprowadza się zwiększenia lub zmniejszenia liczby wejść lub wyjść oraz zmiany rzędu.
Wyróżnia się następujące kryteria klasyfikacji i metody identyfikacji:
1. Ze względu na rodzaj identyfikowanej charakterystyki:
•
metody identyfikacji charakterystyk statycznych
•
metody identyfikacji charakterystyk dynamicznych
2. Ze względu na charakter mierzonych sygnałów:
•
metody deterministyczne
•
metody statystyczne
3. Ze względu na sposób organizacji eksperymentu:
•
metody identyfikacji czynnej
•
metody identyfikacji biernej
4. Ze względu na typ identyfikowanych modeli:
•
metody identyfikacji modeli ciągłych
•
metody identyfikacji modeli dyskretnych
Wyznaczanie parametrów obiektu statycznego
na podstawie charakterystyki skokowej
W praktyce regulacji automatycznej dla obiektów wieloinercyjnych, statycznych,
aperiodycznych wystarczy przyjąć aproksymację przez człon inercyjny z opóźnieniem
ܩሺݏሻ = ܭ
݁ ି௦ఛ
,
ܶݏ+ 1
który charakteryzuje się tylko trzema parametrami: wzmocnieniem ܭ, stałą czasową ܶ
i czasem opóźnienia ߬. Parametry te mogą być wyznaczone metodą graficzną i analityczną.
Współczynnik wzmocnienia K statycznego wyznaczany jest zależności teoretycznej:
ℎሺݐሻ
= ܭlim
௧→ஶ )ݐ(ݑ
zastępując, występujące tu graniczne wartości wejścia u( )ݐi wyjścia ℎ( )ݐobiektu ich
wartościami mierzonymi w chwilach czasowych dostatecznie odległych od momentu
rozpoczęcia procesu przejściowego.
Sposób graficzny określenia stałej czasowej inercji ܶ wynika z podstawowej własno-
ści stycznej do charakterystyki ℎሺݐሻ, która z założenia ma charakter inercyjny. Odcinek
na osi czasowej określany, z jednej strony, jej punktem styczności ܲ a z drugiej punktem
przecięcia tej stycznej z asymptotą ℎ(∞) = ( ܷܭU jest wymuszeniem) jest równy ܶ
Kod: ENS1C300 023
AUTOMATYKA
5
Ćwiczenie 3
Identyfikacja obiektu sterowania
Wyznaczenie stałych czasowych polega na poprowadzeniu stycznej do charakterystyki rzeczywistej w punkcie przegięcia, po czym styczna ta odcina na
ℎሺ∞ሻ = ܷܭ
ℎ()ݐ
osi odciętych wartość ߬ oraz po-
średnio wartość ܶ. Warto zauważyć,
że zastąpienie krzywej odpowiedzi
rzeczywistej przez krzywą odpo-
P
wiedzi członu zastępczego nie jest
dokonywane optymalnie, lecz na
ݐ
zasadzie arbitralnej konstrukcji gra-
߬
ficznej. Nie popełnia się tutaj błędu,
ܶ
gdyż aproksymacja charakterystyki obiektu przez charakterystykę zastępczą ma służyć
do obliczeń całego układu regulacji, który na etapie analizy nie jest jeszcze znany.
W dodatku B zamieszczono program o nazwie ID_graf.m ułatwiający wyznaczanie parametrów obiektu zastępczego metodą graficzną.
W metodzie analitycznej przyjmuje się, że odpowiedź układu rzeczywistego, może
być aproksymowana odpowiedzią
członu inercyjnego z opóźnieniem
௧ିఛ
் ൰ ܷሺݐ
ℎሺݐሻ = ܭ൬1 − ݁ ି
ℎሺ∞ሻ = ܷܭ
ℎ()ݐ
− ߬ሻ
ℎ(ݐଶ )
Z charakterystyki skokowej na-
ℎ(ݐଵ )
leży odczytać wartości chwilowe dla
dwóch chwil czasowych ݐଵ, ݐଶ . Mając
ustaloną wartość wzmocnienia K
oraz wartości ℎሺݐଵ ሻ , ℎሺݐଶ ሻ należy
ݐଵ
ݐଶ
ݐ
rozwiązać układu dwóch równań z dwiema niewiadomymi (ܶ, ߬ ):
௧భ ିఛ
் ൰ܷ
ℎሺݐଵ ሻ = ܭ൬1 − ݁ ି
௧మ ିఛ
் ൰ܷ
ℎሺݐଶ ሻ = ܭ൬1 − ݁ ି
Zalecanym jest wybór momentów próbkowania przy których:
ሺ௧భ ሻ
= 0,33,
ሺ௧భ ሻ
= 0,7.
Rozwiązanie równań przybiera wówczas prostą postać:
ܶ = 1,25ሺݐଶ − ݐଵ ሻ,
߬ = 0,5ሺ3ݐ1 − ݐ2 ሻ
W dodatku B zamieszczono program o nazwie ID_anal.m ułatwiający wyznaczanie parametrów obiektu zastępczego metodą graficzną.
Kod: ENS1C300 023
AUTOMATYKA
6
Ćwiczenie 3
Identyfikacja obiektu sterowania
Dodatek B
Wykreślanie charakterystyki na podstawie danych pomiarowych zarejestrowanych programem ADAQView
Czas próbkowania i rejestracji charakterystyki skokowej (danych pomiarowych),
przyjmowany w ADAQView, dobieramy w ten sposób, aby część wykresu, przenoszona
następnie do pliku danych, zawierała po około 30-40 pomiarów wielkości wejściowej i
wyjściowej. Plik ten przenosimy, następnie do środowiska MATLAB, np. jako tzw. m-plik
nazwa_pliku.m (pamiętając o obowiązującej tu formie zapisu wielkości wektorowej). Po-
równanie wyniku z postacią teoretyczną tej charakterystyki uzyskujemy w wyniku realizacji krótkiego programu o nazwie ID_anal.m.
% Program ID_anal.m
clc
% Wyznaczanie parametrów charakterystyki skokowej członu inercyjnego
% pierwszego rzędu z opóźnieniem metodą analityczną
disp(' ')
disp(' ')
H=input(' Podaj nazwę kolumny danych pomiarowych .....');
T=input(' Podaj okres próbkowania zarejestrowanego przebiegu
disp(' ')
nn=length(H); % liczba próbek zarejestrowanego przebiegu
Ts = ');
if H(1,1)~=H(nn,1)
hp=H(:,1);, u=H(:,2);
else
hp=H(:,2);, u=H(:,1);
end
Ap=max(u);
% Amplituda sygnału zadanego
ht1=0.33*hp(nn); % 33% wartości ustalonej;
ht2=0.7*hp(nn);
% 70% wartości ustalonej;;
t1=T*min(find(hp>=ht1)); % odczyt chwil czasowych
t2=T*min(find(hp>=ht2)); % dla zadanych wartości chwilowych odpowiedzi
Ka=hp(nn)/u(nn);
T0a=0.5*(3*t1-t2);
% Wyznaczone:
% wzmocnienie obiektu
% opóźnienie obiektu
T1a=1.25*(t2-t1); % stała czasowa inercji obiektu
Kod: ENS1C300 023
AUTOMATYKA
7
Ćwiczenie 3
Identyfikacja obiektu sterowania
l=1:nn;
t=T*l;
% tablica numerów próbek
% wartości chwilowe czasu
% Charakterystyka skokowa na podstawie wyznaczonych analitycznie parametrów
La=Ap*Ka; Ma=[T1a 1];
opóźnienia)
[h,x] = step (La, Ma, t);
tz= 0:T:T0a;
ntz=length(tz);
h=[zeros(ntz-1,1);h];
ha= h(1:length(hp));
% licznik i mianownik transmitancji (bez
% charakterystyka skokowa (bez opóźnienia)
% charakterystyka skokowa (z opóźnieniem)
% równa długość obu ciągów
Ko=input('Podaj wzmocnienie obiektu (MAO) k = ');
T1o=input('Podaj stałą czasową członu inercyjnego (MAO) T1 = ');
T0o=input('Podaj opóźnienie obiektu (MAO) T0 = ');
% Charakterystyka skokowa na podstawie parametrów odczytanych z nastaw
% modelu
Lo=Ko*Ap; Mo=[T1o 1];
nienia)
[h,x] = step (Lo, Mo, t);
tz= 0:T:T0o;
ntz=length(tz);
h=[zeros(ntz-1,1);h];
ho= h(1:length(hp));
% licznik i mianownik transmitancji (bez opóź% charakterystyka skokowa (bez opóźnienia)
% charakterystyka skokowa (z opóźnieniem)
%======= Grafika ========= %
% Prezentacja wyników analizy
k1=t1/T; k2=t2/T; j1=0:1:k1; j2=0:1:k2;
S = sprintf('t1 = %5.2f',t1); S1 = sprintf('t2 = %5.2f',t2);
S2 = sprintf('T0a = %5.2f',T0a); S3 = sprintf('T1a = %5.2f',T1a); S4 =
sprintf('Ka = %5.2f',Ka);
figure(1), legend off
plot(t,H), legend('wymuszenie','odp. skokowa',4)
hold on
plot(t1,ht1,'+b'),
plot(j1*T,ht1*ones(k1+1,1),'b:',t1*ones(k1+1),j1*ht1/k1,':b'),
plot(t2,ht2,'+b'),
plot(j2*T,ht2*ones(k2+1,1),'b:',t2*ones(k2+1),j2*ht2/k2,':b'),
axis([0 max(t) 0 max(max(H))*1.1])
text(t1*1.2,ht1,S), text(t2*1.2,ht2,S1)
text(T0a*0.5,max(max(H))*1.02,S2),
text(T1a*2.5,max(max(H))*1.02,S3),
text(max(t)/2,max(max(H))*1.02,S4)
Kod: ENS1C300 023
AUTOMATYKA
8
Ćwiczenie 3
Identyfikacja obiektu sterowania
xlabel('t
[
s
]'),
ylabel('h(t)'),
title('Identyfikacja
metoda
analityczna')
hold off
% Porównanie charakterystyk skokowych
figure(2), hold on, legend off, axis([0 max(t) 0 max(max(H))*1.1])
plot(t,[H,ha,ho]), % plot(t,ho,'-.y') % ,plot(t,ha,'g-')
legend('wymuszenie','odp. z pomiaru ','odp.wyznaczona','odp. z nastaw
MAO',4)
grid, xlabel('t [ s ]'), ylabel('h(t)'),title('Porównanie odp. skokowych
(met.analityczna)')
hold off
Program wspomagający wyznaczanie parametrów obiektu zastępczego metodą graficzną.
% Program ID_graf.m
% Wyznaczanie parametrów charakterystyki skokowej metodą graficzną
clc
disp(' ')
disp(' ')
H=input(' Podaj nazwę tablicy danych pomiarowych .....');
T=input(' Podaj okres próbkowania zarejestrowanego przebiegu
disp(' ')
nn=length(H); % liczba próbek zarejestrowanego przebiegu
Ts = ');
if H(1,1)~=H(nn,1)
hp=H(:,1);, u=H(:,2);
else
hp=H(:,2);, u=H(:,1);
end
Ap=max(u);
% Amplituda sygnału zadanego
nn=length(hp);
l=1:nn-1;
dh(l)=hp(l+1)-hp(l); % wyznaczanie różnic
[dhn,n]=max(dh);
l=1:1:nn;
t=T*l;
N=dhn*(l-n)+hp(n);
(hp(n),n)
% "n" numer próbki w punkcie przegięcia krzywej, tzn.
% tam gdzie różnice dh osiągają mkasimum dhn
% ciąg numerów próbek
% ciąg wartości chwil czasowych
% równanie stycznej w punkcie
o
współrzędnych
p0=min(find(N>=min(hp)));
Kod: ENS1C300 023
AUTOMATYKA
9
Ćwiczenie 3
Identyfikacja obiektu sterowania
p1=max(find(N<=hp(nn)))+1;
Kg=hp(nn)/Ap;
T0g=p0*T;
T1g=(p1-p0)*T;
tn=n*T;, t1=p1*T;
%======= Grafika ========= %
legend off
Max=max(Ap, max(hp)); hu=hp(nn)*ones(nn);
S = sprintf('T0g = %5.2f',T0g); S1 = sprintf('T1g = %5.2f',T1g); S2 =
sprintf('Kg = %5.2f',Kg);
plot(t,H)
hold on
plot(t,hu,'b:'), plot(t,N,'b--'),
plot(tn,hp(n-1),'+c'), plot(t1,N(p1),'+c'),
axis([0 max(t) 0 Max*1.1])
text(T0g*0.5,Max*1.05,S),
text(5*T1g,Max*1.05,S2),
grid,
hold off
Kod: ENS1C300 023
AUTOMATYKA
text(2.5*T1g,Max*1.05,S1),
10
Ćwiczenie 3