„Szabályozástechnika - 2DOF szabályzó tervezése” változatai közötti eltérés

David14 (vitalap | szerkesztései)
aNincs szerkesztési összefoglaló
David14 (vitalap | szerkesztései)
45. sor: 45. sor:


==A megoldandó egyenlet levezetése==
==A megoldandó egyenlet levezetése==
[[File:Szabtech_2dof_szabályzó_felépítése.JPG]]
<syntaxhighlight lang="matlab" style="font-size: 150%;">
<syntaxhighlight lang="matlab" style="font-size: 150%;">


c
% A 2DOF szabályzó tervezés alapelve, hogy mi a zárt kör átviteli függvényében
% előre meghatározott pólusokat szeretnénk. Azaz célunk, hogy:
%
%        Bm    A0
% Dcl = ---- * ----  alakú legyen, ahol A0 az úgynevezett observer polinom.
%        Am    A0
%
% Itt Am gyökei lesznek az általunk előírt pólusok.
% A szakasz diszkrétidejű átviteli függvénye: D(z) = B(z) / A(z)
% A zárt kör átviteli függvénye:
%
%        T        B/A              T*B        Bm    A0
% Dcl = --- * --------------- = ----------- == ---- * ----
%        R    1 + B/A * S/R    A*R + B*S      Am    A0
%
% Szeretnénk egyszerűsíteni a B polinommal, így R gyökei közé bevesszük B gyökeit.
% Azonban R gyökei közé csak a B stabilis gyökeit tehetjük, a szabályzó stabilitásának érdekében.
% Így B = Bplus * Bminus felbontásra jutunk, ahol Bplus tartalmazza B kiejthető gyökeit,
% azaz azokat, amelyek az egységkörön belül vannak és NEM tisztán negatív valósak!
% Tehát R gyökei közé bevehetjük Bplus gyökeit: R = R1 * Bplus
% Így le tudunk egyszerűsíteni Bplus-al az egyenlet bal oldalán:
%
%    T*Bminus          Bm    A0
% ----------------- == ---- * ----
%  A*R1 + Bminus*S      Am    A0
%
% Az egyenletből látszik, hogy Bm polinomnak mindenképpen tartalmaznia kell B nem kiejthető gyökeit,
% azaz Bm = Bm' * Bminus alakú kell hogy legyen. Így tovább egyszerűsíthetünk:
%
%        T            Bm'    A0
% ----------------- == ---- * ----
%  A*R1 + Bminus*S      Am    A0
%
% Előírás lehet, hogy a szabályzó "k" darab integrátort tartalmazzon, melyeket az R polinomba
% kell bepakolnunk. Azaz R = R1 * Bplus, ahol R1 = (z-1)^k * R1'
% Így a végleges egyenletünk:
%
%              T                Bm'    A0
% -------------------------- == ---- * ----
%  A*(z-1)^k*R1' + Bminus*S      Am    A0
%
% Ez alapján a szabályzó T polinomja egyszerűen számítható: T = Bm' * A0
% Az egyenlet nevezője pedig egy diophantoszi polinomegyenlet, amiből a lentebb ismertetett
% módszerrel R1' (ebből pedig R) és S már egyszerűen meghatározható.