szukanie zaawansowane
 [ Posty: 1 ] 
Autor Wiadomość
Mężczyzna Offline
PostNapisane: 28 lip 2017, o 00:23 
Użytkownik
Avatar użytkownika

Posty: 1707
Lokalizacja: Warszawa
W automatyce występuje pojęcie tzw. bloków funkcjonalnych. Pojęcie to pojawia się między innymi w ważnej normie IEC 61131-3. Do poczytania:Standardowe bloki funkcjonalne. Bloki funkcjonalne.

Poniżej przedstawiono przegląd niektórych bloków funkcjonalnych i przykłady modelowania za pomocą tychże bloków funkcjonalnych (np. z dziedziny automatyki napędu elektrycznego, i niekoniecznie za pomocą bloków zdefiniowanych we wspomnianej normie). Jest to jeden z bardziej pożytecznych i ciekawych obszarów zastosowania matematyki w Elektrotechnice/Automatyce.

Bloki funkcjonalne będą opisywane:
a) w przypadku układów ciągłych - za pomocą równań różniczkowych zwyczajnych, w postaci tzw. równań stanu i równań wyjścia;
b) w przypadku układów dyskretnych - za pomocą równań różnicowych, również w postaci tzw. równań stanu i równań wyjścia;
c) albo w przypadku układów cyfrowych - podając odpowiedni automat Moore'a albo automat Mealy'ego - czyli za pomocą podania funkcji przejścia (odpowiednik równania stanu) i funkcji wyjścia (odpowiednik równania wyjścia).
Zaczynamy.

1) Blok proporcjonalny (ang. proportional block).

Sygnały wejściowe:
\blacktriangleright x

Sygnały wyjściowe:
\blacktriangleright y

Parametry:
\blacktriangleright K

Równanie bloku proporcjonalnego:
y=K \cdot x


2) Blok całkujący (integrator, ang. integral block).

a) integrator ciągły

Sygnały wejściowe:
\blacktriangleright x(t)

Sygnały wyjściowe:
\blacktriangleright y(t)

Zmienne stanu:
\blacktriangleright q(t)

Równania stanu integratora ciągłego:
\begin{aligned}\frac{dq}{dt}=x \\ y=q\end{aligned}


b) intergrator dyskretny oparty o regułę trapezów (ang. discrete integrator with Trapezoidal Rule)

Sygnały wejściowe:
\blacktriangleright x(n)

Sygnały wyjściowe:
\blacktriangleright y(n)

Zmienne stanu:
\blacktriangleright q_{1}(n), q_{2}(n)

Parametry:
\blacktriangleright T_{s} - okres próbkowania

Równania stanu integratora dyskretnego:
q_{1}(n+1)=q_{1}(n)+\frac{T_{s}}{2}\left[ x(n)+q_{2}(n)\right]  \\ \\ q_{2}(n+1)=x(n) \\ \\ y(n)=q_{1}(n)+\frac{T_{s}}{2}\left[ x(n)+q_{2}(n)\right]


To samo można przedstawić w postaci jednego równania różnicowego:

y(n)=y(n-1)+\frac{T_{s}}{2}\left[ x(n)+x(n-1)\right]


c) intergrator dyskretny oparty o zamknięty schemat Eulera (ang. discrete integrator with Backward Euler method)

Sygnały wejściowe:
\blacktriangleright x(n)

Sygnały wyjściowe:
\blacktriangleright y(n)

Zmienne stanu:
\blacktriangleright q(n)

Parametry:
\blacktriangleright T_{s} - okres próbkowania

Równania stanu integratora dyskretnego:
q(n+1)=q(n)+T_{s} \cdot x(n) \\ \\  y(n)=q(n)+T_{s}  \cdot x(n)


To samo można przedstawić w postaci jednego równania różnicowego:

y(n)=y(n-1)+T_{s}  \cdot x(n)


d) intergrator dyskretny oparty o otwarty schemat Eulera (ang. discrete integrator with Forward Euler method)

Sygnały wejściowe:
\blacktriangleright x(n)

Sygnały wyjściowe:
\blacktriangleright y(n)

Zmienne stanu:
\blacktriangleright q_{1}(n), q_{2}(n)

Parametry:
\blacktriangleright T_{s} - okres próbkowania

Równania stanu integratora dyskretnego:
q_{1}(n+1)=q_{1}(n)+T_{s} \cdot q_{2}(n) \\ \\ q_{2}(n+1)=x(n) \\ \\  y(n)=q_{1}(n)+T_{s}  \cdot q_{2}(n)


To samo można przedstawić w postaci jednego równania różnicowego:

y(n)=y(n-1)+T_{s}  \cdot x(n-1)


3) Blok opóźniający o jeden okres próbkowania (ang. Unit delay block).

Sygnały wejściowe:
\blacktriangleright x(n)

Sygnały wyjściowe:
\blacktriangleright y(n)

Zmienne stanu:
\blacktriangleright q(n)

Równania stanu:
q(n+1)=x(n) \\ \\  y(n)=q(n)


To samo można przedstawić w postaci jednego równania różnicowego:

y(n)=x(n-1)


4) Blok ograniczający wartość sygnału (ang. limiter/saturation block).

Sygnały wejściowe:
\blacktriangleright x

Sygnały wyjściowe:
\blacktriangleright y

Parametry:
\blacktriangleright y_{\text{min}}, y_{\text{max}}

Równanie:
y=\text{Sat}\left(x,y_{\text{min}}, y_{\text{max}}\right)


gdzie:
\text{Sat}\left(x,y_{\text{min}}, y_{\text{max}}\right)=\max\left( \min\left(x, y_{\text{max}}\right), y_{\text{min}} \right)


Warto zauważyć, że:
\min(a,b)=\frac{a+b-\left| a-b\right| }{2}, \qquad \max(a,b)=\frac{a+b+\left| a-b\right| }{2}


5) Blok ograniczający stromość narastania sygnału (ang. ramp block).

a) układ ciągły
Obrazek

Sygnały wejściowe:
\blacktriangleright x(t)

Sygnały wyjściowe:
\blacktriangleright y(t)

Zmienne stanu:
\blacktriangleright q(t)

Parametry:
\blacktriangleright a, b, K

Równania układu:
\begin{aligned}\frac{dq}{dt}&=\text{Sat}\left( K \cdot \left( x-q\right) ,a,b\right) \\ y&=q \end{aligned}

Przy czym K musi mieć odpowiednio dużą wartość. Parametr a decyduje o maksymalnej stromości opadania sygnału wyjściowego, parametr b decyduje o maksymalnej stromości narastania sygnału wyjściowego.


b) układ dyskretny

Sygnały wejściowe:
\blacktriangleright x(n)

Sygnały wyjściowe:
\blacktriangleright y(n)

Zmienne stanu:
\blacktriangleright q(n)

Parametry:
\blacktriangleright s_{\text{neg}}, s_{\text{pos}}

Równania układu:
\begin{aligned} q(n+1)&=\text{Sat}\left( x(n),q(n)-s_{\text{neg}},q(n)+s_{\text{pos}}\right) \\ y(n)&=q(n) \end{aligned}




6) Przerzutnik SR (ang. Set-Reset Flip Flop ).

Sygnały wejściowe:
\blacktriangleright s(n), r(n) - zmienne binarne

Sygnały wyjściowe:
\blacktriangleright y(n) - zmienna binarna

Zmienne stanu:
\blacktriangleright q(n) - zmienna binarna

Działanie przerzutnika SR definiuje poniższa tabela:

\begin{tabular}{|c|c|c|c|} \hline s(n) & r(n) & y(n-1) & y(n)  \\
 \hline 0 & 0 & 0 & 0 \\
 \hline 0 & 0 & 1 & 1  \\
 \hline 0 & 1 & 0 & 0  \\
 \hline 0 & 1 & 1 & 0  \\
 \hline 1 & 0 & 0 & 1  \\
 \hline 1 & 0 & 1 & 1  \\
 \hline 1 & 1 & 0 & 1  \\
 \hline 1 & 1 & 1 & 1  \\
 \hline s(n) & r(n) & q(n) & q(n+1)  \\
 \hline \end{tabular}


Czyli:
y(n)=s(n)+\overline{r(n)} \cdot y(n-1)


Równania stanu przerzutnika SR:

\begin{aligned} q(n+1)&=s(n)+\overline{r(n)} \cdot q(n)  \\ y(n)&=s(n)+\overline{r(n)} \cdot q(n) \end{aligned}


7) Przerzutnik RS (ang. Reset-Set Flip Flop ).

Sygnały wejściowe:
\blacktriangleright s(n), r(n) - zmienne binarne

Sygnały wyjściowe:
\blacktriangleright y(n) - zmienna binarna

Zmienne stanu:
\blacktriangleright q(n) - zmienna binarna

Działanie przerzutnika RS definiuje poniższa tabela:

\begin{tabular}{|c|c|c|c|} \hline s(n) & r(n) & y(n-1) & y(n)  \\
 \hline 0 & 0 & 0 & 0 \\
 \hline 0 & 0 & 1 & 1  \\
 \hline 0 & 1 & 0 & 0  \\
 \hline 0 & 1 & 1 & 0  \\
 \hline 1 & 0 & 0 & 1  \\
 \hline 1 & 0 & 1 & 1  \\
 \hline 1 & 1 & 0 & 0  \\
 \hline 1 & 1 & 1 & 0  \\
 \hline s(n) & r(n) & q(n) & q(n+1)  \\
 \hline \end{tabular}


Czyli:
y(n)=\overline{r(n)} \cdot  \left( y(n-1)+s(n)\right)


Równania stanu przerzutnika RS:

\begin{aligned} q(n+1)&=\overline{r(n)} \cdot  \left( q(n)+s(n)\right)  \\ y(n)&=\overline{r(n)} \cdot  \left( q(n)+s(n)\right)  \end{aligned}


8) Komparator (ang. comparator).

Sygnały wejściowe:
\blacktriangleright x(n)

Sygnały wyjściowe:
\blacktriangleright y(n)

Zmienne stanu:
\blacktriangleright q(n)

Parametry:
\blacktriangleright a

Równania układu:
\begin{aligned} q(n+1)&=\begin{cases} 1 &\text{dla } x(n) > a \\ 0 &\text{dla } x(n)<a \\ q(n) &\text{dla } x(n)=a\end{cases} \\ \\ y(n)&=\begin{cases} 1 &\text{dla } x(n) > a \\ 0 &\text{dla } x(n)<a \\ q(n) &\text{dla } x(n)=a\end{cases} \end{aligned}


Albo równoważnie:
\begin{aligned} y(n)&=\begin{cases} 1 &\text{dla } x(n) > a \\ 0 &\text{dla } x(n)<a \\ y(n-1) &\text{dla } x(n)=a\end{cases} \end{aligned}


9) Przekaźnik (ang. Relay, switch output between two constants).

Sygnały wejściowe:
\blacktriangleright x(n)

Sygnały wyjściowe:
\blacktriangleright y(n)

Zmienne stanu:
\blacktriangleright q(n)
Parametry:
\blacktriangleright a, b, A, B, przy czym: a<b, A \neq B

Równania układu:
\begin{aligned} q(n+1)&=\begin{cases} B &\text{dla } x(n) > b \\ A &\text{dla } x(n)<a \\ q(n) &\text{dla } a \le x(n) \le b \end{cases} \\ \\ y(n)&=\begin{cases} A &\text{dla } x(n) > a \\ B &\text{dla } x(n)<b \\ q(n) &\text{dla } a \le x(n) \le b \end{cases} \end{aligned}


Albo równoważnie:
\begin{aligned} y(n)&=\begin{cases} B &\text{dla } x(n) > b \\ A &\text{dla } x(n)<a \\ y(n-1) &\text{dla } a \le x(n) \le b \end{cases} \end{aligned}


Dla: A=0  \wedge B=1 otrzymujemy komparator z histerezą.

10) Filtr dolnoprzepustowy/Filtr górnoprzepustowy (Low-pass Filter/High-pass Filter).

Bardzo często w układach sterowania zachodzi konieczność wyodrębnienia z danego sygnału albo składowej stałej, albo składowej przemiennej tego sygnału.

Załóżmy, że mamy idealne źródło prądu okresowo-zmiennego J zasilające dwójnik równoległy RC. Wtedy równanie takiego układu ma postać:

J=i_{R}+\tau \frac{di_{R}}{dt}, \qquad \tau=RC

Zatem prąd źródła został rozłożony na dwa składniki i tylko w jednym z nich może być zawarta składowa stała, tj. w składniku i_{R}. W składniku \tau \frac{di_{R}}{dt} składowej stałej być nie może, z uwagi na występującą tutaj pochodną.

Zatem chcąc wyodrębnić z sygnału x(t) składową stałą rozwiązujemy równanie:

x=x_{1}+\tau\frac{dx_{1}}{dt}


W sygnale x_{1}(t) mamy całą składową stałą zawartą w sygnale x(t), oraz "trochę" składowej przemiennej sygnału x_{1}(t). Ale nic straconego. Możemy przecież powtórzyć taką samą procedurę jeszcze raz dla sygnału x_{1}(t):

x_{1}=x_{2}+\tau\frac{dx_{2}}{dt}


W sygnale x_{2}(t) mamy jeszcze mniej składowej przemiennej sygnału x(t) i całą składową stałą tego sygnału. Procedurę można powtórzyć dowolną ilość razy. Stąd otrzymujemy bardzo ładną procedurę filtracji dolnoprzepustowej.

Sygnały wejściowe:
\blacktriangleright x(t)

Sygnały wyjściowe:
\blacktriangleright y(t)

Zmienne stanu:
\blacktriangleright q_{1}, q_{2}, \ldots, q_{k}

Parametry:
\blacktriangleright \tau, k

Równania stanu układu:

\begin{aligned}\frac{dq_{1}}{dt}&=\frac{1}{\tau}\left( x-q_{1}\right)  \\ \frac{dq_{2}}{dt}&=\frac{1}{\tau}\left( q_{1}-q_{2}\right)\\ \frac{dq_{3}}{dt}&=\frac{1}{\tau}\left( q_{2}-q_{3}\right) \\ \vdots \\ \frac{dq_{k}}{dt}&=\frac{1}{\tau}\left( q_{k-1}-q_{k}\right) \\ y&=q_{k}\end{aligned}


Filtrowi temu odpowiada transmitancja:

G(s)=\frac{1}{\left( 1+\tau s\right)^{k} }


Stąd charakterystyki częstotliwościowe filtru:

\left| G(j\omega)\right| =\frac{1}{\sqrt{\left[ 1+\left( \tau \omega\right)^{2} \right]^{k} }}, \qquad \varphi(\omega)=-k \cdot  \arctg(\tau \omega)


Poniżej mamy charakterystyki amplitudowe filtru dla k=1, 2, 3, 4, 5:
Obrazek


Odpowiedź jednostkowa filtru:

\mathcal{L}^{-1}\left\{ \frac{1}{s\left( 1+\tau s\right)^{k} }  \right\}=\textbf{1}(t) \cdot \left[ 1-e^{-\frac{t}{\tau}}-te^{-\frac{t}{\tau}}-\frac{t^{2}}{2!}e^{-\frac{t}{\tau}}+\ldots -\frac{t^{k}}{k!}e^{-\frac{t}{\tau}}\right]


Jeśli zaś chodzi o filtr górno-przepustowy FGP, to wiemy, że:

FGP(x(t))=x(t)-FDP(x(t))


FDP - filtr dolno-przepustowy.

Filtrowi pierwszego rzędu:
G(s)=\frac{1}{1+\tau s }


odpowiada następujące równanie różnicowe:
y(n)=\frac{T_{s}}{T_{s}+\tau} \ x(n)+\frac{\tau}{T_{s}+\tau} \ y(n-1)

Ukryta treść:    


11) Blok różniczkujący (ang. derivative block).

a) Układ ciągły - człon różniczkujący z inercją

Wiemy z teorii obwodów, że prąd elementu C jest pochodną napięcia tego elementu. Zjawisko to można wykorzystać do budowy układu różniczkującego. Jednak układ taki nie jest idealny pod względem praktycznym, ze względu na wzmacnianie szumów itd. Dlatego lepszym rozwiązaniem jest układ szeregowy RC, w którym sygnałem wyjściowym jest wzmocnione napięcie elementu R. Równania tego układu można przedstawić następująco:

\begin{aligned} \frac{du_{C}}{dt}&=\frac{1}{\tau}\left( u_{we}-u_{C}\right)  \\ u_{wy}&=K \cdot (u_{we}-u_{C}) \end{aligned}


gdzie: \tau=R \cdot C

Transmitancja takiego układu:
G(s)=\frac{U_{wy}(s)}{U_{we}(s)}=\frac{K\tau s}{1+\tau s}=K\left( 1-\frac{1}{1+\tau s}\right)=\frac{T_{d}s}{1+\tau s}


Układ "dobrze" różniczkuje wtedy gdy \tau jest odpowiednio małe.

Taki układ jest w istocie filtrem górnoprzepustowym. Powyższe można przepisać w dziedzinie czasu:

u_{wy}(t)=u_{we}(t)-FDP(u_{we}(t))=FGP(u_{we}(t))



W układach analogowych stosuje się układy różniczkujące zbudowane na bazie wzmacniaczy operacyjnych oraz elementów R,C.

b) Układ dyskretny

W dyskretnym układzie różniczkującym sygnał wyjściowy y(n) jest obliczany na podstawie próbek wartości sygnału wejściowego: x(n), x(n-1), x(n-2),\ldots. Zależność można wyprowadzić na podstawie wielomianu interpolacyjnego np. dla czterech punktów:

W(x)=\\
=y_{1} \frac{(x-x_{2}) (x-x_{3})(x-x_{4})}{(x_{1}-x_{2})(x_{1}-x_{3})(x_{1}-x_{4})}+
y_{2} \frac{(x-x_{1}) (x-x_{3})(x-x_{4})}{(x_{2}-x_{1})(x_{2}-x_{3})(x_{2}-x_{4})}+\\
+y_{3} \frac{(x-x_{1}) (x-x_{2})(x-x_{4})}{(x_{3}-x_{1})(x_{3}-x_{2})(x_{3}-x_{4})}+
y_{4} \frac{(x-x_{1}) (x-x_{2})(x-x_{3})}{(x_{4}-x_{1})(x_{4}-x_{2})(x_{4}-x_{3})}


Ze względu na równoodległe wartości: x_{1}<x_{2}<x_{3}<x_{4}:

x_{2}-x_{1}=x_{3}-x_{2}=x_{4}-x_{3}=h


W(x)=\\=
y_{1} \frac{(x-x_{2}) (x-x_{3})(x-x_{4})} {(-h)(-2h)(-3h)}+y_{2} \frac{(x-x_{1}) (x-x_{3})(x-x_{4})} {(h)(-h)(-2h)}+\\+y_{3} \frac{(x-x_{1}) (x-x_{2})(x-x_{4})} {(2h)(h)(-h)}+
y_{4} \frac{(x-x_{1}) (x-x_{2})(x-x_{3})} {(3h)(2h)(h)}


Ukryta treść:    


W'(x)=\\
=y_{1} \frac{ (x-x_{3})(x-x_{4})+(x-x_{2}) (x-x_{4})+(x-x_{2}) (x-x_{3})} {(-h)(-2h)(-3h)}+\\
+y_{2} \frac{ (x-x_{3})(x-x_{4})+(x-x_{1}) (x-x_{4})+(x-x_{1}) (x-x_{3})} {(h)(-h)(-2h)}+\\
+y_{3} \frac{ (x-x_{2})(x-x_{4})+(x-x_{1}) (x-x_{4})+(x-x_{1}) (x-x_{2})} {(2h)(h)(-h)}+\\
+y_{4} \frac{(x-x_{2})(x-x_{3})+(x-x_{1}) (x-x_{3})+(x-x_{1}) (x-x_{2})} {(3h)(2h)(h)}


Teraz liczymy W'(x_{4}):

W'(x_{4})=\\
=y_{1} \frac{ (x_{4}-x_{2}) (x_{4}-x_{3})} {(-h)(-2h)(-3h)}+\\
+y_{2} \frac{ (x_{4}-x_{1}) (x_{4}-x_{3})} {(h)(-h)(-2h)}+\\
+y_{3} \frac{ (x_{4}-x_{1}) (x_{4}-x_{2})} {(2h)(h)(-h)}+\\
+y_{4} \frac{(x_{4}-x_{2})(x_{4}-x_{3})+(x_{4}-x_{1}) (x_{4}-x_{3})+(x_{4}-x_{1}) (x_{4}-x_{2})} {(3h)(2h)(h)}=\\
=y_{1} \frac{ (2h) (h)} {(-h)(-2h)(-3h)}
+y_{2} \frac{ (3h) (h)} {(h)(-h)(-2h)}
+y_{3} \frac{ (3h) (2h)} {(2h)(h)(-h)}
+y_{4} \frac{(2h)(h)+(3h) (h)+(3h) (2h)} {(3h)(2h)(h)}=\\
=\left( -\frac{1}{3}y_{1}+\frac{3}{2}y_{2}-3y_{3}+\frac{11}{6}y_{4}\right) \frac{1}{h}


Stąd równanie bloku różniczkującego może wyglądać następująco:

y(n)=\left( \frac{11}{6}x(n)-3x(n-1)+\frac{3}{2}x(n-2)-\frac{1}{3}x(n-3)\right) \frac{1}{T_{s}}


Podobne równanie można wyprowadzić dla trzech punktów:

y(n)=\left( \frac{3}{2}x(n)-2x(n-1)+\frac{1}{2}x(n-2)\right) \frac{1}{T_{s}}


T_{s} - okres próbkowania

Oczywiście najprostszy algorytm jest taki:

y(n)=\left[ x(n)-x(n-1)\right]\frac{1}{T_{s}}


W literaturze można znaleźć też taki algorytm:

y(n)=\left[ x(n)+3 \ x(n-1)-3 \ x(n-2)-x(n-3)\right] \frac{1}{6T_{s}}


Można też np. zastosować równanie różnicowe odpowiadające rzeczywistemu obiektowi różniczkującemu:

G(s)=\frac{T_{d}s}{1+\tau s}


y(n)=\frac{T_{d}}{\tau+T_{s}}\left[ x(n)-x(n-1)\right]+\frac{\tau}{\tau+T_{s}} \ y(n-1)

Ukryta treść:    


12) Blok opóźniający, przesuwnik fazowy, opóźnienie transportowe (ang. delay block, phase shift block).

a) układ ciągły

Blok opóźniający można opisać równaniem:
y(t)=x(t-\tau)


Transmitancja bloku opóźniającego:
G(s)=\exp\left( -s\tau\right)


Transmitancję bloku opóźniającego można aproksymować wykorzystując szeregi potęgowe:

\exp\left( -s\tau\right) =  \frac{\exp \left( -s\frac{\tau}{2}\right)}{\exp \left( s\frac{\tau}{2}\right)}


\exp \left( -s\frac{\tau}{2}\right)=1-\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}-\frac{1}{48}\left( \tau s\right)^{3}+\frac{1}{384}\left( \tau s\right)^{4} +\ldots


\exp \left( s\frac{\tau}{2}\right)=1+\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}+\frac{1}{48}\left( \tau s\right)^{3}+\frac{1}{384}\left( \tau s\right)^{4} +\ldots


Stąd mamy pierwsze przybliżenie:
G^{(1)}(s)=\frac{1-\frac{1}{2}\tau s}{1+\frac{1}{2}\tau s}

Układ o powyższej transmitancji można zrealizować na wzmacniaczu operacyjnym:http://www.kmg.ps.pl/to/wzmacniacze/rys12a.gif

...drugie przybliżenie:
G^{(2)}(s)=\frac{1-\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}}{1+\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}}


...trzecie przybliżenie:
G^{(3)}(s)=\frac{1-\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}-\frac{1}{48}\left( \tau s\right)^{3}}{1+\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}+\frac{1}{48}\left( \tau s\right)^{3}}


...czwarte przybliżenie:
G^{(4)}(s)=\frac{1-\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}-\frac{1}{48}\left( \tau s\right)^{3}+\frac{1}{384}\left( \tau s\right)^{4}}{1+\frac{1}{2}\tau s +\frac{1}{8} \left( \tau s\right)^{2}+\frac{1}{48}\left( \tau s\right)^{3}+\frac{1}{384}\left( \tau s\right)^{4}}


itd.

Cechy charakterystyczne powyższych transmitancji:
- stała charakterystyka amplitudowa (niezależnie od rzędu układu);
- niemal liniowa charakterystyka fazowa (im wyższy rząd układu tym mniejsza nieliniowość) w pewnym zakresie częstotliwości.

W związku z powyższym bloki o wyżej wymienionych transmitancjach w pewnym zakresie częstotliwości (w tym zakresie, w którym charakterystyka fazowa jest w miarę liniowa, tj. do pewnej częstotliwości granicznej) niemal nie zniekształcają sygnału wejściowego, a jedynie go przesuwają w fazie. Oczywiście jeśli sygnałem wejściowym będzie sygnał harmoniczny, to zniekształcenia nie będzie w ogóle.

Jeśli chcemy uzyskać większe opóźnienia bez zniekształcania sygnału, to bardziej zasadne jest zastosowanie kaskadowego połączenia kilku przesuwników np. rzędu pierwszego czy drugiego, niż zwiększanie rzędu przesuwnika.

Przesuwnik fazowy zwany jest również filtrem wszechprzepustowym.

b) układ dyskretny

y(n)=x(n-k)



13) Klasyczny regulator PID (ang. Proportional-Integral-Derivative controller).

Struktura szeregowa PID IND (ang. Independent Algorithm):
\begin{aligned} y(t)&=K_{p} \cdot e(t)+K_{i} \cdot \int\limits_{0}^{t}e(\tau)d\tau+K_{d} \cdot \frac{de(t)}{dt}\end{aligned}


G_{\text{PID}}(s)=K_{p}+\frac{K_{i}}{s}+K_{d}s


K_{p} - wzmocnienie członu proporcjonalnego;
K_{i} - wzmocnienie członu całkującego;
K_{d} - wzmocnienie członu różniczkującego;
e(t)=r(t)-y(t) - uchyb regulacji (ang. control error, error value);
r(t) - wielkość zadana (referencyjna, ang. reference albo setpoint);
y(t) - wielkość sterowana (ang. controlled variable) albo zmienna procesowa (ang. process variable)

Struktura równoległa PID ISA (ang. Ideal Standard Algorithm):

y(t)=K_{p} \left(e(t)+\frac{1}{T_{i}} \cdot \int\limits_{0}^{t}e(\tau)d\tau+T_{d} \cdot \frac{de(t)}{dt}\right)


G_{\text{PID}}(s)=K_{p}\left( 1+\frac{1}{T_{i}s}+T_{d} \cdot s\right)



T_{i} - czas zdwojenia (inaczej zwany stałą całkowania lub czasem całkowania);
T_{d} - czas wyprzedzenia, czas różniczkowania.

W związku z tym, że np. człony różniczkujące regulatorów PID budowanych na wzmacniaczach operacyjnych mają transmitancję postaci:

G(s)=\frac{T_{d}s}{1+\tau s}


to transmitancja rzeczywistego regulatora PID o strukturze równoległej będzie miała postać:

G_{\text{PID}}(s)=K_{p}\left( 1+\frac{1}{T_{i}s}+\frac{T_{d}s}{1+\tau s}\right)


przy czym \tau<<T_{d}.


Do ilościowej oceny jakości regulacji wykorzystuje się pewne parametry odpowiedzi na wymuszenie skokowe:
1) czas ustalania t_{s} - czas po którym uchyb wielkości wyjściowej mieści się w granicach \pm 5 \%;
2) czas narastania t_{r} - czas po którym sygnał wyjściowy zmienia się od 10 \% do 90 \% wartości ustalonej;
3) czas opóźnienia t_{d} - czas który upływa od wystąpienia skoku na wejściu do pojawienia się odpowiedzi na wyjściu układu (co odpowiada umownej wartości 10 \% wartości ustalonej);
4) czas do wystąpienia maksimum pierwszego przeregulowania t_{m}.

W związku z tym, że regulator ma za zadanie tak oddziaływać na obiekt regulowany, żeby sygnał wejściowy regulatora (uchyb regulacji) dążył do zera, to do oceny jakości regulacji można stosować też następujące wskaźniki całkowe:

\blacktriangleright ISE (ang. Integral of Squared Error):
I_{\text{ISE}}=\int\limits_{0}^{\infty} e^{2}dt


\blacktriangleright ITSE (ang. Integral of Time and Squared Error):
I_{\text{ITSE}}=\int\limits_{0}^{\infty} e^{2} t \ dt


\blacktriangleright ISTSE (ang. Integral of Squared Time and Squared Error):
I_{\text{ISTSE}}=\int\limits_{0}^{\infty} e^{2} t^{2} \ dt


\blacktriangleright ITAE (ang. Integral of Time multiplied by Absolute value of Error):
I_{\text{ITAE}}=\int\limits_{0}^{ \infty } \left| e\right|  t \ dt



Dobór nastaw regulatorów PI, PID

a) pierwsza metoda Zieglera-Nicholsa (metoda cyklu granicznego)

\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
\hline \text{P} & 0,5  K_{\text{gr}} & --- & --- \\
\hline \text{PI} & 0,45 K_{\text{gr}} & 0,85 T_{\text{osc}} & --- \\ 
\hline \text{PID} & 0,6 K_{\text{gr}} & 0,5 T_{\text{osc}} & 0,125 T_{\text{osc}} \\
 \hline \end{tabular}


Wyjaśnienie: Wielkości K_{\text{gr}}, T_{\text{osc}} są wyznaczane gdy obiekt sterowany jest przez regulator PID, w którym człony I oraz D zostały wyłączone. Zwiększając współczynnik wzmocnienia członu proporcjonalnego do wartości K_{\text{gr}} dochodzimy do granicy stabilności - wtedy wystąpią oscylacje o okresie T_{\text{osc}}.

Modyfikacja Pessena:

\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
\hline \text{P} & 0,2  K_{\text{gr}} & --- & --- \\
\hline \text{PI} & 0,15 K_{\text{gr}} & 0,4 T_{\text{osc}} & --- \\ 
\hline \text{PID} & 0,2 K_{\text{gr}} & 0,33 T_{\text{osc}} & 0,5 T_{\text{osc}} \\
 \hline \end{tabular}



b) metoda QDR (ang. Quarter - Decay Ratio) - zmodyfikowana druga metoda Zieglera-Nicholsa (w oparciu o analizę odpowiedzi obiektu na wymuszenie skokowe)

W metodzie tej przyjmuje się transmitancję obiektu:
G_{o}(s)=\frac{K}{Ts+1}e^{-sT_{o}}


\begin{aligned}\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
\hline \text{P} &  T/(K\cdot T_{o}) & --- & --- \\
\hline \text{PI} & 0,9 T/(K\cdot T_{o})  & 3,33 T_{o} & --- \\ 
\hline \text{PID} & 1,2 T/(K\cdot T_{o}) & 2T_{o}  & 0,5 T_{o}  \\
\hline \end{tabular} \end {aligned}


c) Metoda Chiena-Hronesa-Reswicka

W metodzie tej przyjmuje się transmitancję obiektu:
G_{o}(s)=\frac{K}{Ts+1}e^{-sT_{o}}


Nastawy dla skokowej zmiany wartości zadanej:

Przeregulowanie 0 \ \%
\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
\hline \text{P} & 0,3  T/(K \cdot T_{o}) & --- & --- \\
\hline \text{PI} & 0,35 T/(K \cdot T_{o})  & 1,2 T & --- \\ 
\hline \text{PID} & 0,6 T/(K \cdot T_{o}) & T  & 0,5 T_{o}  \\
\hline \end{tabular}


Przeregulowanie 20 \ \%
\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
\hline \text{P} & 0,7  T/(K \cdot T_{o}) & --- & --- \\
\hline \text{PI} & 0,6 T/(K \cdot T_{o})  &  T & --- \\ 
\hline \text{PID} & 0,95 T/(K \cdot T_{o}) & 1,4 T  & 0,47 T_{o}  \\
\hline \end{tabular}


Nastawy dla skokowej zmiany zakłócenia:

Przeregulowanie 0 \ \%
\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
\hline \text{P} & 0,3  T/(K \cdot T_{o}) & --- & --- \\
\hline \text{PI} & 0,6 T/(K \cdot T_{o})  & 4 T_{o} & --- \\ 
\hline \text{PID} & 0,95 T/(K \cdot T_{o}) & 2,4 T_{o}  & 0,42 T_{o}  \\
\hline \end{tabular}


Przeregulowanie 20 \ \%
\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
\hline \text{P} & 0,7  T/(K \cdot T_{o}) & --- & --- \\
\hline \text{PI} & 0,7 T/(K \cdot T_{o})  &  2,3 T_{o} & --- \\ 
\hline \text{PID} & 1,2 T/(K \cdot T_{o}) & 2 T_{o}  & 0,42 T_{o}  \\
\hline \end{tabular}



d) Metoda Kesslera

Kryterium modułu


Przyjmujemy transmitancję obiektu:
G_{o}(s)=\frac{K}{Ts+1}e^{-sT_{o}}


Przyjmujemy dodatkowe oznaczenie:
d=\frac{T}{T_{o}}>2


\blacktriangleright Parametry optymalnego regulatora P:
K_{p}=\frac{d^{2}}{K\left( 1+2d\right) }


\blacktriangleright Parametry optymalnego regulatora PI:
K_{p}=\frac{1}{K}\left( \frac{d}{2}+\frac{1}{12d}\right) , \qquad T_{i}= T+\frac{{T_{o}}^{3}}{6 T^{2}}



Przyjmujemy transmitancję obiektu z jedną dominującą stałą czasową:

G_{o}(s)=\frac{K}{\left( T_{1}s+1\right) \left( T_{\Sigma}s+1\right) }

T_{1}>>T_{\Sigma}

Obiekt może mieć większą ilość stałych czasowych, jednak zawsze można zrobić uproszczenie:

\frac{K}{\left(1+T_{1}s\right)\left(1+T_{2}s\right)\left(1+T_{3}s\right)\left(1+T_{4}s\right) \cdot \ldots} \approx \frac{K}{\left(1+T_{1}s\right)\left(1+T_{\Sigma}s\right)}


o ile: T_{1}>>T_{\Sigma}=T_{2}+T_{3}+\ldots

\blacktriangleright Parametry optymalnego regulatora P:
K_{p}=\frac{1}{K} \frac{T_{1}}{2T_{\Sigma}}


\blacktriangleright Parametry optymalnego regulatora PI:
K_{p}=\frac{1}{K} \frac{T_{1}}{2T_{\Sigma}} , \qquad T_{i}= T_{1}



Dla obiektu z dwiema dominującymi stałymi czasowymi:

G_{o}(s)=\frac{K}{\left( T_{1}s+1\right) \left( T_{2}s+1\right)\left( T_{\Sigma}s+1\right) }

T_{1},T_{2}>>T_{\Sigma}

\blacktriangleright Parametry optymalnego regulatora P:
K_{p}=\frac{1}{2K} \left( \frac{T_{1}}{T_{2}}+\frac{T_{2}}{T_{1}}\right)


\blacktriangleright Parametry optymalnego regulatora PI:
K_{p}=\frac{1}{2K} \left( \frac{T_{1}}{T_{2}}+\frac{T_{2}}{T_{1}}\right) , \qquad T_{i}= T_{1}+\frac{T_{2}}{1+\frac{T_{1}}{T_{2}}+\left( \frac{T_{1}}{T_{2}}\right)^{2} }


\blacktriangleright Parametry optymalnego regulatora PID:
K_{p}=\frac{T_{1}+T_{2}}{2KT_{\Sigma}}, \qquad T_{i}= T_{1}+T_{2}, \qquad T_{d}=\frac{T_{1}T_{2}}{2T_{\Sigma}}


Inny zapis:
Kryterium modułowego optimum.



Kryterium symetrii


Przyjmujemy transmitancję obiektu z jedną dominującą stałą czasową:

G_{o}(s)=\frac{K}{\left( T_{1}s+1\right) \left( T_{\Sigma}s+1\right) }, \qquad T_{1}>>T_{\Sigma}


\blacktriangleright Parametry optymalnego regulatora PI:
K_{p}= \frac{T_{1}}{2KT_{\Sigma}} , \qquad T_{i}= 4T_{\Sigma}



Dla obiektu z dwiema dominującymi stałymi czasowymi:

G_{o}(s)=\frac{K}{\left( T_{1}s+1\right) \left( T_{2}s+1\right)\left( T_{\Sigma}s+1\right) }, \qquad T_{1},T_{2}>>T_{\Sigma}


\blacktriangleright Parametry optymalnego regulatora PID:

K_{p}=\frac{T_{1}\left( T_{2}+4T_{\Sigma}\right) }{8K{T_{\Sigma}}^{2}}, \qquad T_{i}= T_{2}+4T_{\Sigma}, \qquad T_{d}=\frac{4T_{2}T_{\Sigma}}{T_{2}+4T_{\Sigma}}


Źródło: PID Controllers in Nineties

Zaś inne źródło podaje w tym przypadku nastawy następujące:

K_{p}=\frac{T_{1} T_{2}}{8K{T_{\Sigma}}^{2}}, \qquad T_{i}= 8T_{\Sigma}, \qquad T_{d}=4T_{\Sigma}


Kryterium symetrycznego optimum.



e) Nastawy wg. innych metod doboru:

\begin{aligned}\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
 \hline \text{P} & T/(K\cdot T_{o}) & --- & --- \\ 
\hline \text{PI} & 0,8 T/(K\cdot T_{o}) & 3 T_{o} & --- \\ 
\hline \text{PID} & 1,2 T/(K\cdot T_{o}) & 2T_{o} \ (1,5 T_{o}) & 0,4 T_{o} \\ 
\hline \end{tabular} \end {aligned}



f) Proponowane nastawy w układzie regulacji nadążnej:

Przeregulowanie 2 \ldots 5 \%
\begin{aligned}\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
 \hline \text{P} & 0,3 T/(K\cdot T_{o}) & --- & --- \\ 
\hline \text{PI} & 0,35 T/(K\cdot T_{o}) & 1,2 T_{o} & --- \\ 
\hline \text{PID} & 0,6 T/(K\cdot T_{o}) & T_{o} & 0,5 T_{o} \\ 
\hline \end{tabular} \end {aligned}


Przeregulowanie 20 \%
\begin{aligned}\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
 \hline \text{P} & 0,7 T/(K\cdot T_{o}) & --- & --- \\ 
\hline \text{PI} & 0,6 T/(K\cdot T_{o}) & T_{o} & --- \\ 
\hline \text{PID} & 0,6 T/(K\cdot T_{o}) & 1,35 T_{o} & 0,47 T_{o} \\ 
\hline \end{tabular} \end {aligned}


Źródło: Tadeusz Legierski, Janusz Wyrwał, Jerzy Kasprzyk, Janusz Hajda, Programowanie sterowników PLC Wydawnictwo pracowni komputerowej Jacka Skalmierskiego, Gliwice 1998.

Pierwsza w Polsce książka dotycząca programowania sterowników PLC. Polecam! (nawet jeśli już prawie 20 lat minęło od czasu jej wydania).

g) Proponowane nastawy w układzie tłumienia zakłóceń:

Przeregulowanie 0 \%
\begin{aligned}\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
 \hline \text{P} & 0,35 T/(K\cdot T_{o}) & --- & --- \\ 
\hline \text{PI} & 0,6 T/(K\cdot T_{o}) & 0,8 T_{o}+0,5 T & --- \\ 
\hline \text{PID} &  T/(K\cdot T_{o}) & 2,4 T_{o} & 0,4 T_{o} \\ 
\hline \end{tabular} \end {aligned}


Przeregulowanie 20 \%
\begin{aligned}\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
 \hline \text{P} &  T/(K\cdot T_{o}) & --- & --- \\ 
\hline \text{PI} & 1,2 T/(K\cdot T_{o}) & T_{o}+0,3 T & --- \\ 
\hline \text{PID} & 1,2 T/(K\cdot T_{o}) & 2,0 T_{o} & 0,4 T_{o} \\ 
\hline \end{tabular} \end {aligned}


Przeregulowanie 35 \%
\begin{aligned}\begin{tabular}{|c|c|c|c|} 
\hline \text{Typ regulatora} & K_{p} & T_{i} & T_{d} \\
 \hline \text{PI} & 1,4 T/(K\cdot T_{o}) & T_{o}+0,35 T & --- \\ 
\hline \text{PID} & 1,4 T/(K\cdot T_{o}) & 1,3 T_{o} & 0,5 T_{o} \\ 
\hline \end{tabular} \end {aligned}


Źródło: Tadeusz Legierski, Janusz Wyrwał, Jerzy Kasprzyk, Janusz Hajda, Programowanie sterowników PLC Wydawnictwo pracowni komputerowej Jacka Skalmierskiego, Gliwice 1998.

Comparison of PID Controller Tuning Methods

14) Zmodyfikowane regulatory PID.

a) regulator PI-D, regulator I-PD

PI-D:
y(t)=K_{p} \left(e(t)+\frac{1}{T_{i}} \cdot \int\limits_{0}^{t}e(\tau)d\tau-T_{d} \cdot \frac{dy(t)}{dt}\right)


I-PD:
y(t)=K_{p} \left(-y(t)+\frac{1}{T_{i}} \cdot \int\limits_{0}^{t}e(\tau)d\tau-T_{d} \cdot \frac{dy(t)}{dt}\right)


Oba regulatory PI-D oraz I-PD można połączyć w jednym bardziej ogólnym algorytmie:

y(t)=K_{p} \left(\alpha  \cdot  r(t)-y(t)+\frac{1}{T_{i}} \cdot \int\limits_{0}^{t}e(\tau)d\tau+T_{d} \cdot \left( \beta  \cdot  \frac{dr(t)}{dt}-\frac{dy(t)}{dt}\right) \right)


b) nieliniowy regulator PID

y(t)=K_{p} \left(e(t) \cdot \left| e(t)\right| +\frac{1}{T_{i}} \cdot \int\limits_{0}^{t}e(\tau)d\tau+T_{d} \cdot \frac{de(t)}{dt}\right)


c) interakcyjny regulator PID (ang. interacting PID controller)

y(t)=K_{p} \left[e(t)+T_{d} \cdot \frac{de(t)}{dt}+\frac{1}{T_{i}} \cdot \int\limits_{0}^{t}\left( e(\tau)+T_{d} \cdot \frac{de(\tau)}{dt}\right) d\tau\right]


d) reakcyjno-predykcyjny regulator PID (ang. reactionary-predictive PID controller)

y(t)=K_{p1}  \cdot e(t)+\frac{1}{T_{i}} \cdot \int\limits_{0}^{t} e(\tau) d\tau+K_{p2} \cdot r(t)+T_{d} \cdot \frac{dr(t)}{dt}


e) Regulator PI z ograniczeniem sygnału wyjściowego i dodatkowym sprzężeniem zwrotnym.

Obrazek

Sygnały wejściowe:
\blacktriangleright x(t)

Sygnały wyjściowe:
\blacktriangleright y(t)

Zmienne stanu:
\blacktriangleright q(t)

Parametry:
\blacktriangleright K_{P}, K_{I}, K_{w}

Równania stanu układu:
\begin{aligned} \frac{dq}{dt}&=x-K_{w} \cdot \left[K_{P} \cdot x+K_{I} \cdot q-\text{Sat}\left( K_{P} \cdot x+K_{I} \cdot q,y_{\text{min}}, y_{\text{max}}\right) \right]  \\ y&=\text{Sat}\left( K_{P} \cdot x+K_{I} \cdot q,y_{\text{min}}, y_{\text{max}}\right) \right] \end{aligned}


albo w bardziej czytelnej równoważnej postaci:

\begin{aligned} \frac{dq}{dt}&=x-K_{w} \cdot \left( u-y\right) \\ u&=K_{P} \cdot x+K_{I} \cdot q   \\ y&=\text{Sat}\left( u,y_{\text{min}}, y_{\text{max}}\right) \right] \end{aligned}



Ciąg dalszy nastąpi.
Góra
Utwórz nowy temat Odpowiedz w temacie  [ Posty: 1 ] 


 Zobacz podobne tematy
 Tytuł tematu   Autor   Odpowiedzi 
 Opis obwodu  xXartik10Xx  3
 Opis matematyczny sygnałów trójkątnych i prostokątnych  killermannnnn  10
 Automatyka - kilka pytań  macikiw2  0
 [Automatyka] Kompensacja wpływu skokowego  rosiu93  2
 Inżynieria biomedyczna czy automatyka i robotyka na PG?  szprotulbk  0
 
Atom [Regulamin Forum] [Instrukcja LaTeX-a] [Poradnik] [F.A.Q.] [Reklama] [Kontakt]
Copyright (C) Karpatka.pl