„Szabályozástechnika - Soros kompenzátorok tervezése” változatai közötti eltérés

David14 (vitalap | szerkesztései)
David14 (vitalap | szerkesztései)
27. sor: 27. sor:
<syntaxhighlight lang="matlab" style="font-size: 150%;">
<syntaxhighlight lang="matlab" style="font-size: 150%;">


% Kompenzálási stratégia: Ap segítségével beállítjuk a megfelelő
% Kompenzálási stratégia: Ap segítségével beállítjuk a megfelelő fázistartalékot.
% fázistartalékot.


wc_p=tf(1,1) % A szabályzó átviteli függvénye Ap=1 választás mellett
wc_p=tf(1,1) % A szabályzó átviteli függvénye Ap=1 választás mellett
44. sor: 43. sor:
Ap=10^(-3.62/20) % Ap kiszámítása a dB-es értékből
Ap=10^(-3.62/20) % Ap kiszámítása a dB-es értékből


% Táblázatos módszer: a bode függvényt [mag,phase,w]=bode(w0) módon hívva
% ---------------------------------------------------------------------------------------------
% az nem az ábrával, hanem három oszlopvektorral tér vissza, amik a
% Ugyanez számítható egy mechanikus táblázatos módszerrel is:
% frekvencia (w) - amplitúdó (mag) - fázis (phase) táblázat oszlopait
 
% tartalmazzák. Például a harmadik visszaadott frekvenciaértéken (w(3) - a
% A bode függvényt [mag,phase,w]=bode(w0) módon hívva az nem az ábrával, hanem három
% w vektor harmadik eleme) az abszolút érték mag(3) - figyelem! _nem_
% oszlopvektorral tér vissza, amik a frekvencia (w) - amplitúdó (mag) - fázis (phase)
% dB-ben! - , míg a fázis phase(3) (fokban).
% táblázat oszlopait tartalmazzák. Például a harmadik visszaadott frekvenciaértéken
% (w(3) - a w vektor harmadik eleme) az abszolút érték mag(3), míg a fázis phase(3) (fokban).
% FIGYELEM: A mag oszlopban az magnitúdó értékek NEM dB-ben vannak megadva!!!


[mag,phase,w]=bode(w0);
[mag,phase,w]=bode(w0);
% [mag,phase,w]=bode(w0,0.01:0.00001:10);
% Így növelhető a pontosság, mivel alapból csak néhány 100 pontban számol a bode függvény.
% Azonban ügyelni kell rá, hogy a keresett frekvencia biztosan benne legyen a megadott
% intervallumban (itt: 0.01-10), azonban túl nagyra sem érdemes választani mert kiakad a Matlab.
% Célszerű előtte megnézni az alap bode(w0) diagramon hogy körülbelül milyen intervallumot kell megadni.


% A teendőnk, hogy megkeressük, melyik visszaadott frekvencián van a fázis
% A teendőnk, hogy megkeressük, melyik visszaadott frekvencián van a fázis
% a legközelebb (akár pozitív, akár negatív irányban) a Phit+180 értékhez.  
% a legközelebb (akár pozitív, akár negatív irányban) a Phit+180 értékhez.  
% A [minv,mini]=min(x) függvény nem csak az x vektor legkisebb elemét  
% A [minv,mini]=min(x) függvény nem csak az x vektor legkisebb elemét  
% (minv), hanem annak indexét (mini) is visszaadja. Pl. ha x=[2 1 5], akkor
% (minv), hanem annak indexét (mini) is visszaadja.
% minv=1 és mini=2.
% Például ha x=[2 1 5], akkor minv=1 és mini=2.


[minv,mini]=min(abs(phase+180-Phit))
[minv,mini]=min(abs(phase+180-Phit))


% Az erősítés az adott frekvencián mag[mini], mi pedig ott szeretnénk látni
% Az erősítés az adott frekvencián mag[mini], mi pedig ott szeretnénk látni
% a vágási körfrekvenciát, így Ap-t 1/mag(mini)-nek választjuk (mag elemei
% a vágási körfrekvenciát, így Ap értékét 1/mag(mini)-nek választjuk.
% _nem dB-ben_ értendők!)
% FIGYELEM: A mag oszlopban az magnitúdó értékek NEM dB-ben vannak megadva!!!


Ap=1/mag(mini);
Ap=1/mag(mini);
% ---------------------------------------------------------------------------------------------


wc_p=wc_p*Ap % A szabályozó erősítése Ap
wc_p=wc_p*Ap % A szabályozó erősítése Ap szeresére nőtt
w0=wc_p*wp % A felnyitott kör
w0=wc_p*wp % A felnyitott kör újbóli előállítása a módosult szabályzóval
figure(2); % Rajzolás a 2. grafikus ablakba
figure(2); % Rajzolás a 2. grafikus ablakba
margin(w0); % A felnyitott kör Bode-diagramja fázis- és erősítéstartalékkal
margin(w0); % A felnyitott kör Bode-diagramja fázis- és erősítéstartalékkal
83. sor: 90. sor:


</syntaxhighlight>
</syntaxhighlight>
== PI szabályzó tervezése ==
== PI szabályzó tervezése ==
<syntaxhighlight lang="matlab" style="font-size: 150%;">
<syntaxhighlight lang="matlab" style="font-size: 150%;">