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

David14 (vitalap | szerkesztései)
David14 (vitalap | szerkesztései)
194. sor: 194. sor:
% Wc_pid(s) = Ap * ( 1 + ------ + ---------- ) = ---- * --------------------------------
% Wc_pid(s) = Ap * ( 1 + ------ + ---------- ) = ---- * --------------------------------
%                  (      s*Ti    s*Tc + 1  )    Ti            s * (s*Tc + 1)
%                  (      s*Ti    s*Tc + 1  )    Ti            s * (s*Tc + 1)
%
%
%                    Aplant                                  Aplant
% Wp(s) = ---------------------------- =  ----------------------------------------------
%        (1+s*Tau1)(1+s*Tau2)(1+s*T3)    (s^2*Tau1*Tau2 + s*(Tau1+Tau2) + 1) * (s*T3+1)


N=10; % Td/Tc arány meghatározása
N=10; % Td/Tc arány meghatározása
202. sor: 208. sor:
% 1. Tau1+Tau2 = Ti+Tc
% 1. Tau1+Tau2 = Ti+Tc
% 2. Tau1*Tau2 = Ti*(Td+Tc) = Ti*(N+1)*Tc
% 2. Tau1*Tau2 = Ti*(Td+Tc) = Ti*(N+1)*Tc
% Az 1. egyenletből Ti-t kifejezve (Ti=Tau1+Tau2-Tc)
 
% és T2-be helyettesítve
% Az 1. egyenletből Ti-t kifejezve (Ti=Tau1+Tau2-Tc) és T2-be helyettesítve,
% egy másodfokú egyenletet kapunk Tc-re, aminek megoldása:
% aztán egy kicsit rendezgetve egy másodfokú egyenletet kapunk Tc-re, aminek megoldása:


Tcs=roots([N+1  -(N+1)*(Tau1+Tau2)    Tau1*Tau2])  
Tcs=roots([N+1  -(N+1)*(Tau1+Tau2)    Tau1*Tau2])  


% Tc mindenképpen pozitív és valós, ha mindkét gyök az lenne, akkor a
% Tc mindenképpen pozitív és valós kell hogy legyen! Ha mindkét gyökre teljesül ez a
% kisebbet választjuk
% feltétel, akkor a kisebbiket választjuk mindig.


Tc=Tcs(2) % Itt a gyökök közül mindkettő valós és pozitív, a 2. a kisebb
Tc=Tcs(2) % Itt a gyökök közül mindkettő valós és pozitív, a 2. a kisebb
% Automatizált megoldás - vájtfülű érdeklődőknek, nem része az anyagnak!
% Automatizált megoldás - vájtfülű érdeklődőknek, nem része az anyagnak!
% A find függvény segítségével megkeressük Tcs nulla
% A find függvény segítségével megkeressük Tcs nulla képzetes részű (imag(Tcs)=0)
% képzetes részű (imag(Tcs)=0) és (&) pozitív valós részű (Tcs>0) elemeit.
% és (&) pozitív valós részű (Tcs>0) elemeit. A find függvény a feltételnek eleget
% A find függvény a feltételnek eleget tevő elemek indexével tér vissza,
% tevő elemek indexével tér vissza, így az értékek maguk a Tcs(find(...)) módon kaphatók meg.
% így az értékek maguk a Tcs(find(...)) módon kaphatók meg. Ezek közül
% Ezek közül pedig a minimálisat választjuk:
% pedig a minimálisat választjuk.
Tc=min(Tcs(find(imag(Tcs)==0 & Tcs>0)))
Tc=min(Tcs(find(imag(Tcs)==0 & Tcs>0)))


224. sor: 229. sor:


wc_pid=tf(1,1)+tf(1,[Ti 0])+tf([Td 0],[Tc 1]) % A szabályozó Ap=1 mellett
wc_pid=tf(1,1)+tf(1,[Ti 0])+tf([Td 0],[Tc 1]) % A szabályozó Ap=1 mellett
w0=minreal(wc_pid*wp) % A felnyitott kör átviteli függvénye
w0=minreal(wc_pid*wp) % A felnyitott kör átviteli függvénye p-z kiejtéssel
figure(1);
figure(1);
pzmap(wp,'b',wc_pid,'r'); % A pólus-zérus kiejtés szemléltetése
pzmap(wp,'b',wc_pid,'r'); % A pólus-zérus kiejtés szemléltetése
232. sor: 237. sor:
% Leolvasva (természetesen a táblázatos módszer is használható):
% Leolvasva (természetesen a táblázatos módszer is használható):
Ap=10^(2.16/20)
Ap=10^(2.16/20)
wc_pid=Ap*wc_pid % A szabályzó átviteli függvénye a megfelelő Ap mellett
wc_pid=Ap*wc_pid % A szabályzó átviteli függvénye a megfelelő Ap mellett
w0=minreal(wc_pid*wp) % A felnyitott kör
w0=minreal(wc_pid*wp) % A felnyitott kör
246. sor: 252. sor:
figure(5);
figure(5);
step(wur_pid); % Az r->u átviteli függvény ugrásválasza
step(wur_pid); % Az r->u átviteli függvény ugrásválasza
pause; % Várakozás gombnyomásra
pause; % Várakozás gombnyomásra
close all; % Az összes nyitva lévő grafikus ablak bezárása
close all; % Az összes nyitva lévő grafikus ablak bezárása