SzabTechLaborZh2009Tavasz

A VIK Wikiből
A lap korábbi változatát látod, amilyen (vitalap) 2012. október 21., 20:12-kor történt szerkesztése után volt. (Új oldal, tartalma: „{{GlobalTemplate|Infoalap|SzabTechLaborZh2009Tavasz}} Labor zh 2009.05.07 http://kepfeltoltes.hu/view/090511/labzh2009_www.kepfeltoltes.hu_.jpg aki tud megoldásokat…”)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)
Ugrás a navigációhoz Ugrás a kereséshez

Ez az oldal a korábbi SCH wiki-ről lett áthozva. Az eredeti változata itt érhető el.

Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor kérlek javíts rajta egy rövid szerkesztéssel.

Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót


Labor zh 2009.05.07

labzh2009_www.kepfeltoltes.hu_.jpg

aki tud megoldásokat, írja be plz :)

-- TitCar - 2009.05.11.

  • szabtech labzh 2009 tavasz:
Ezen a helyen volt linkelve a szabtech_labZH_2009_tavasz.jpg.jpg nevű kép a régi wiki ezen oldaláról. (Kérlek hozd át ezt a képet ide, különben idővel el fog tűnni a régi wikivel együtt)


Na szóval, én így oldottam meg laborzh-n, aki lát benne hibát (biztos van, pl. 4. feladat vége), az javítsa ki, hiányzó részeket meg pótolja -- PappBal - 2009.05.11.

1. feladat

a)

s = zpk('s');
C = (1+2*s)/s;
P = 1/((1+2*s)*(1+s)*(1+0.1*s));
L = minreal(C * P);
[gm, pm, wg, wc] = margin(L) 

margin() nyitott körrel működik. -- The Grizzly - 2009.12.05.

gm - erősítési tartalék, pm - fázistartalék, wc - vágási körfrekvencia

Stabilitás:

- csak negatív pólusok vannak

- nyquist(L) - ábrán látszik, hogy nem veszi körbe a -1-et

stabil

b)

H = minreal(P/(1+L));
step(H)

itt 1/(1+L) volt, azonban a hiba P elé van bekötve, azon még átcsorog. -- The Grizzly - 2009.12.05.


c)

ys = dcgain(P/(1+L)); % a kimenőjel állandósult értéke
U = minreal(-L/1+L); % fel kell írni a beavatkozójelet
us = dcgain(U); % beavatkozójel állandósult értéke

us = -1 (hiszen azert van a negativ visszacsatolas, hogy a zavarojelet megszuntesse, tehat ennek a zavarojel -1xesenek kell lennie.)

ys = 0

beavatkozojel -L/(1+L), mert: mert.

-- The Grizzly - 2009.12.05.

2. feladat

a)

A = [-0.1, 1; 0, -0.2];
B = [0; 5];
C = [2, 0];
D = 0;

kszi = 0.7; % csillapítási tényező
T0 = 0.5; % időállandó
% meg kell oldani a (T0^2 * s^2) + 2*kszi*T0*s + 1 egyenletet s-re, annak a gyökei lesznek az előírt pólusok
p = roots([T0^2, 2*kszi*T0, 1]); 
% k vektor meghatározása Ackermann formulával
k = acker(A, B, p);
Ak = A - B*k;

% ez már szabályozott folyamat, de még nincs kompenzálva (nem 1-re áll be)
P0 = ss(Ak, B, C, D);

g = dcgain(P0); % állandósult érték
G = 1/g; % kompenzációs tényező
Bk = B * G;

% szabályozott, kompenzált folyamat
P = ss(Ak, Bk, C, D);

k és G értéke a lényeg

b)


itt talaláltam -- Ropi - 2009.05.13.

állapotrajektória: a x2 állapotváltozó az x1 függvényében

x0=[1,-2]
[y,x,t]=initial(Ak,Bk,C,D,x0); 
x1=x(:,1);
x2=x(:,2);
figure(1);plot(t,y,'k');grid
figure(2);plot(x1,x2,'k');grid

3. feladat

s = zpk('s')
P = 1/((1+10*s)*(1+4*s)); % e-ados tagot nem kell megadni!!!
Ts = 0.5; % mintavételi idő

% impulzus átviteli függvény
G1z = c2d(P, Ts, 'zoh');

% a holtidőt még nem vettük figyelembe
% az így kapott impulzusátviteli függvény még el kell osztani z^d-vel
% ahol d a holtidő és mintavételi idő hányadosa

Td = 1.5; % holtidő - e^-1.5s
d = Td/Ts;
z = zpk('z', Ts);
Gz = G1z/(z^d)

A válasz pedig Gz értéke.

stabilitás: pzmap(Gz) - minden pólus az egységsugarú körön belül van, tehát stabil

4. feladat

s = zpk('s');
P = 1/(1+10*s); % szakasz
Ts = 1;
Gm = 1;
Rr0 = 1/(1+2*s); %szűrő
Rn0 = 1/(1+s); %szűrő

% fentiek impulzusátviteli függvényei
Gz = c2d(P, Ts);
Rr = c2d(Rr0, Ts);
Rn = c2d(Rn0, Ts);

a) Gz, Rr, Rn

b)-c)-d)-e)

mivel Gm (G minusz) = 1, és Gp*Gm = Gz, ezért Gp = Gz (Gp = G plusz)

z = zpk('z', Ts);
Gp = Gz;
Q = Rn/Gp; % Youla Paraméter

% c) feladat: szabályozó, válasz a Cz értéke
Cz = minreal(Q*(1/(1-Q*Gz)))

Lz = minreal(Cz * Gz); % felnyitott kör
Tz = feedback(Lz, 1); % zárt rendszer

% d) feladat: Tz ábráját kell lerajzolni
% annyi a különbség, hogy gyorsabban áll be a végleges értékre
figure(1),step(Tz)
figure(2),step(Rr)


% e) feladat
% beavatkozójelet
Uz = Cz/(1+Lz);
[u, t] = step(Uz);
max(u) % ez lesz a válasz

f)

Hz = 1/(1+Lz);
[y, t] = step(Hz);
plot(t, y)

első feladat analógiájára (mondjuk ebben egyáltalán nem vagyok biztos^^)

Délutáni sor

1. feladat

sin(t) azt jelenti, hogy w=1,A=1,fi=0 (A*sin(w*t+fi) -ből kijön)

s=zpk('s');
P=2/((1+s)*(1+10*s));
[A,fi]=bode(P,1)

A az erősítés, fi pedig a fázistolás(ha a gerjesztésben A!=1, akkor azzal szorozni kell, ha fi!=0, akkor azt meg hozzáadni)

2. feladat

s=zpk('s');
C=(1+20*s)/s;
P=20/((1+20*s)*(1+2*s)*(1+0.1*s));

a,

[Gm,Pm,Wcg,Wcp]=margin(C*P/(1+C*P));
Wcp

A rendszer nem stabilis, ezt ki is írja a margin, és látszik, hogy nincs erősítési tartaléka, és step(..)-el ellenőrízve is elszáll.

b,

K=0.02;
step(1/(1+K*C*P))
%kezdeti érték: mivel a zavarás közvetlenül ki van kötve, ezért 1
%végérték:
dcgain(1/(1+K*C*P))

3. feladat

A=[-1 0 1;0 -2 0;2 0 -5];
b=[2;1;2];
c=[2 0 0];
d=0;
zpk(ss(A,b,c,d))
%A pólusok a nevezőben lévő számok *-1 (tehát ahol a teljes tört értéke végtelen)

Nincsenek pozitív pólusai, ezért stabilis(lehet ellenőrízni step(..)-el)

b,

canon(ss(A,b,c,d),'modal')

A kanonikus alakból(nem mindig írható fel, de bármikor előfordult, akkor eddig még lehetett) jól látható, a b és c vektorokból, hogy irányítható, és nem megfigyelhető(b-ben nincs 0, c-ben van)

A mátrix nxn-es:

rank(ctrb(A,b)) %ha megegyezik az n számmal, irányítható

rank(obsv(A,c)) %ha megegyezik az n számmal, megfigyelhető

-- Gery - 2009.12.14.