„SzabtechLabZH” változatai közötti eltérés
kép feltöltve, belinkelve |
feladatsor feltöltése (köszi, Papp Krisztián, hogy elküldted), belinkelése |
||
| (9 közbenső módosítás ugyanattól a felhasználótól nincs mutatva) | |||
| 3. sor: | 3. sor: | ||
{{Vissza|Szabályozástechnika_(info)}} | {{Vissza|Szabályozástechnika_(info)}} | ||
==Gyakorló feladatok a | == Gyakorló feladatok a laborZH-hoz, 2007. ősz == | ||
EREDETI FELADATSOR: [[Média:Szabtech_LaborZH_2007_osz_gyakorlo_feladatok_zh3.pdf|LaborZH 2007. ősz, gyakorló feladatok]] (Megoldása: [[Média:Szabtech_LaborZH_2007_osz_gyakorlo_feladatok_zh3_megoldasok.doc|LaborZH 2007. ősz, gyakorló feladatok - MEGOLDÁS]]) | |||
[ | |||
Itt van pár feladat, amihez tök jó volna ha összehoznánk a megoldásokat, mert pl. az 1. zh-hoz kiadott pdf-ből is válogattak a zh-ba, lehet hogy itt is van erre esély, másrészt meg gyakorolni mindenképp jó. Köszi :) | Itt van pár feladat, amihez tök jó volna ha összehoznánk a megoldásokat, mert pl. az 1. zh-hoz kiadott pdf-ből is válogattak a zh-ba, lehet hogy itt is van erre esély, másrészt meg gyakorolni mindenképp jó. Köszi :) | ||
| 74. sor: | 73. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
t=0:0.05:10; | |||
t=0:0.05:10; | y=step(T,t) %átmeneti függvény kiszámítása | ||
y=step(T,t) %átmeneti függvény kiszámítása | ys=dcgain(T) %állandósult érték kiszámítása | ||
ys=dcgain(T) %állandósult érték kiszámítása | ym=max(y) %maximális érték | ||
ym=max(y) %maximális érték | yt=((ym-ys)/ys)*100 %túllendülés százalékban | ||
yt=((ym-ys)/ys)*100 %túllendülés százalékban | |||
Eredmény: | |||
yt = | yt = | ||
| 103. sor: | 102. sor: | ||
tehát konkrét adatokkal: | tehát konkrét adatokkal: | ||
y(t->inf) = lim(s-> | y(t->inf) = lim(s->0) s*T(s)/s^2 | ||
===2. feladat=== | ===2. feladat=== | ||
| 117. sor: | 116. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
kc=1; | |||
kc=1; | C=kc*((1+2*s)/(1+(2/3)*s)); | ||
C=kc*((1+2*s)/(1+(2/3)*s)); | L=C*P; | ||
L=C*P; | w=logspace(-1,1,500); | ||
w=logspace(-1,1,500); | [mag,phase]=bode(L,w); | ||
[mag,phase]=bode(L,w); | kc=margin(mag,phase-60,w); %60 fokos fázistartalék | ||
kc=margin(mag,phase-60,w); %60 fokos fázistartalék | C=C*kc | ||
C=C*kc | L=C*P; | ||
L=C*P; | L=minreal(L); | ||
L=minreal(L); | figure(1),margin(L); | ||
figure(1),margin(L); | |||
Eredmény: | |||
Zero/pole/gain: | Zero/pole/gain: | ||
| 139. sor: | 138. sor: | ||
==== c/ ==== | ==== c/ ==== | ||
[gt,pm,wg,wc] = margin(L); | |||
[gt,pm,wg,wc] = margin(L); | pm %fázistartalék | ||
pm %fázistartalék | t1=(3/wc) %a beállási (szabályozási) idő e két érték között lesz | ||
t1=(3/wc) %a beállási (szabályozási) idő e két érték között lesz | t2=(10/wc) | ||
t2=(10/wc) | T=L/(1+L); | ||
T=L/(1+L); | figure(2),step(T),grid | ||
figure(2),step(T),grid | y=step(T); %kimeneti jel | ||
y=step(T); %kimeneti jel | ymax = max(y) %kimeneti jel maximuma | ||
ymax = max(y) %kimeneti jel maximuma | ys=dcgain(T) %kimeneti jel állandósult értéke | ||
ys=dcgain(T) %kimeneti jel állandósult értéke | yt=(ymax-ys)/ys*100 %túllendülés százalékban | ||
yt=(ymax-ys)/ys*100 %túllendülés százalékban | es=1-ys %egytől való eltérés | ||
es=1-ys %egytől való eltérés | U=C/(1+L); | ||
U=C/(1+L); | U=minreal(U); | ||
U=minreal(U); | figure(3),step(U),grid | ||
figure(3),step(U),grid | u=step(U); | ||
u=step(U); | umax = max(u) %vezérlő jel maximuma | ||
umax = max(u) %vezérlő jel maximuma | |||
Eredmény: | |||
http://i.imgur.com/cPppq7h.png | http://i.imgur.com/cPppq7h.png | ||
| 327. sor: | 326. sor: | ||
==== c/ ==== | ==== c/ ==== | ||
y=step(Ts); | |||
y=step(Ts); | ymax = max(y) %a kimenet maximális értéke | ||
ymax = max(y) %a kimenet maximális értéke | ys=dcgain(Ts) %állandósult érték | ||
ys=dcgain(Ts) %állandósult érték | yt=(ymax-ys)/ys*100 %túllövés értéke százalékban | ||
yt=(ymax-ys)/ys*100 %túllövés értéke százalékban | es=1-ys %az előírt 1-tól való eltérés | ||
es=1-ys %az előírt 1-tól való eltérés | Uz=Cz/(1+Lz); %zárt rendszer beavatkozó jele | ||
Uz=Cz/(1+Lz); %zárt rendszer beavatkozó jele | Uz=minreal(Uz,0.001); %egyszerűsítések elvégzése | ||
Uz=minreal(Uz,0.001); %egyszerűsítések elvégzése | figure(3),step(Uz),grid %beavatkozó jel kirajzolása | ||
figure(3),step(Uz),grid %beavatkozó jel kirajzolása | u=step(Uz); | ||
u=step(Uz); | umax = max(u) %maximális érték kiírása | ||
umax = max(u) %maximális érték kiírása | |||
Eredmény: | Eredmény: | ||
| 473. sor: | 470. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
num=1 | |||
num=1 | den=[0.64 1.12 1] | ||
den=[0.64 1.12 1] | pk=roots(den) | ||
pk=roots(den) | numk=1; | ||
numk=1; | denk=poly(pk); | ||
denk=poly(pk); | H=tf(numk,denk) | ||
H=tf(numk,denk) | H=zpk(H) | ||
H=zpk(H) | g0=dcgain(H) | ||
g0=dcgain(H) | |||
%Egysegnyi erositest akarunk, ezert normaljuk | |||
Hn=H/g0 | |||
k=acker(A,b,pk) | |||
Tk=ss(A-b*k,b,c,d) | |||
Tk=zpk(Tk) | |||
Javítandó, hiba: | |||
Error using acker (line 38) | |||
Vector P must have SIZE(A) elements | |||
===8. feladat=== | ===8. feladat=== | ||
| 515. sor: | 514. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
s=zpk('s'); | |||
s=zpk('s'); | Ts=0.1; | ||
Ts=0.1; | Thd=1; %holtidő | ||
Thd=1; %holtidő | z=zpk('z',Ts); | ||
z=zpk('z',Ts); | P=0.5*(s+5)/((s+0.1)*(s*s+1.2*s+1)); | ||
P=0.5*(s+5)/((s+0.1)*(s*s+1.2*s+1)); | |||
Gz=c2d(P,Ts,'zoh') | Gz=c2d(P,Ts,'zoh') | ||
Gz = Gz*z^-Thd; %a holtidő miatt | Gz = Gz*z^-Thd; %a holtidő miatt | ||
[zd,pd,kd]=zpkdata(Gz,'v') | [zd,pd,kd]=zpkdata(Gz,'v') | ||
kc=1 | kc=1 | ||
Cz=kc*((z-exp(-Ts/10))*(z-exp(-Ts/1)))/((z-1)*z) | Cz=kc*((z-exp(-Ts/10))*(z-exp(-Ts/1)))/((z-1)*z) | ||
Lz=Cz*Gz | Lz=Cz*Gz | ||
[mag,phase,w]=bode(Lz); | [mag,phase,w]=bode(Lz); | ||
kc=margin(mag,phase-60,w) | kc=margin(mag,phase-60,w) | ||
Cz=kc*Cz | Cz=kc*Cz | ||
Lz=Cz*Gz; | Lz=Cz*Gz; | ||
Yz=feedback(Lz,1); | Yz=feedback(Lz,1); | ||
Uz=feedback(Cz,Gz); | Uz=feedback(Cz,Gz); | ||
==== b/ ==== | ==== b/ ==== | ||
| 545. sor: | 542. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
t=0:0.1:0.4; | |||
t=0:0.1:0.4; | |||
figure(1),step(Yz,t) | figure(1),step(Yz,t) | ||
figure(2),step(Uz,t) | figure(2),step(Uz,t) | ||
==== c/ ==== | ==== c/ ==== | ||
| 556. sor: | 551. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
y_all=dcgain(Yz) | |||
y_all=dcgain(Yz) | u_all=dcgain(Uz) | ||
u_all=dcgain(Uz) | |||
===9. feladat=== | ===9. feladat=== | ||
| 569. sor: | 562. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
W = 2 / ( 1 + 0.4*s + s^2 ); | |||
W = 2 / ( 1 + 0.4*s + s^2 ); | y = step(W); | ||
y = step(W); | max(y) | ||
max(y) | |||
[gm,pm,wg,wc]=margin(W) | |||
beallasi_ido_max=10/wc | |||
beallasi_ido_min=3/wc | |||
beallasi_ido_max= | Eredmény: | ||
beallasi_ido_min= | |||
beallasi_ido_max = | |||
5.8898 | |||
beallasi_ido_min = | |||
1.7669 | |||
===10. feladat=== | ===10. feladat=== | ||
| 584. sor: | 583. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
s=zpk('s'); | |||
s=zpk('s'); | W=1/(s*(s+3)*(s+6)); | ||
W=1/(s*(s+3)*(s+6)); | %Nincs labilis polus, mehet az egysz. Nyquist | ||
%Nincs labilis polus, mehet az egysz. Nyquist | %A Nyquist diagram a valós tengelyt -0.00617-nél | ||
%A Nyquist diagram a valós tengelyt -0.00617-nél | %metszi, ezt ~162-vel kell szorozni, hogy -1 legyen | ||
%metszi, ezt ~162-vel kell szorozni, hogy -1 legyen | figure(1), nyquist(W) | ||
figure(1), nyquist(W) | |||
K=162; | |||
K=162; | W=K*W; | ||
W=K*W; | |||
figure(2), nyquist(W) | |||
http://i.imgur.com/2Auo86Q.png | |||
http://i.imgur.com/GJeBHh6.png | |||
===14. feladat (biztos elírták a pdfben, de ez jön:)=== | ===14. feladat (biztos elírták a pdfben, de ez jön:)=== | ||
| 602. sor: | 602. sor: | ||
'''Matlab:''' | '''Matlab:''' | ||
A=[-17 -80 -100; 1 0 0; 0 1 0] | |||
A=[-17 -80 -100; 1 0 0; 0 1 0] | b=[1;0;0] | ||
b=[1;0;0] | c=[0,0,1] | ||
c=[0,0,1] | d=0 | ||
d=0 | |||
a_zart=s^3+60*s^2+1200*s+8000 | |||
%polusok: -20, -20, -20 | |||
k=acker(A,b,[-20 -20 -20]) | |||
Eredmény: | |||
A = | |||
-17 -80 -100 | |||
1 0 0 | |||
0 1 0 | |||
b = | |||
1 | |||
0 | |||
0 | |||
c = | |||
0 0 1 | |||
d = | |||
0 | |||
Zero/pole/gain: | |||
(s+20)^3 | |||
k = | |||
43 1120 7900 | |||
=== 11. feladat === | === 11. feladat === | ||
| 637. sor: | 663. sor: | ||
margin(Lz) | margin(Lz) | ||
Eredmény: | |||
gm = | |||
8.7017 | |||
pm = | |||
59.9160 | |||
wg = | |||
0.7699 | |||
wc = | |||
0.2219 | |||
-- [[EszenyiViktor|Dög]] - 2007.11.14. | -- [[EszenyiViktor|Dög]] - 2007.11.14. | ||