„Szabályozástechnika - Laborjegyzetek” változatai közötti eltérés
4.labor anyagának feltöltése Wiki-szintaktikával |
aNincs szerkesztési összefoglaló |
||
| (2 közbenső módosítás, amit egy másik szerkesztő végzett, nincs mutatva) | |||
| 197. sor: | 197. sor: | ||
D (deriváló) tag csinálás: | D (deriváló) tag csinálás: | ||
Y(s) = H(s)*U(s) | Y(s) = H(s)*U(s) | ||
D(s)=(s-Kd)/1 <-- ilyet nem tudunk csinálni, mert a számlálónak legalább annyinak kéne lennie mint a nevezőnek | D(s)=(s-Kd)/1 <-- ilyet nem tudunk csinálni, mert a számlálónak legalább annyinak kéne lennie mint a nevezőnek | ||
s*Kd | |||
D(s)=-------- <-- közelítő deriváló tag | D(s)=-------- <-- közelítő deriváló tag | ||
1+s*Tn | |||
Matlab: | Matlab: | ||
| 356. sor: | 356. sor: | ||
100 s^7 + 920 s^6 + 2681 s^5 + 3209 s^4 + 1565 s^3 + 227 s^2 + 10 s | 100 s^7 + 920 s^6 + 2681 s^5 + 3209 s^4 + 1565 s^3 + 227 s^2 + 10 s | ||
------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------- | ||
100 s^10 + 1620 s^9 + 10121 s^8 + 31276 s^7 + 51758 s^6 + 45953 s^5 | 100 s^10 + 1620 s^9 + 10121 s^8 + 31276 s^7 + 51758 s^6 + 45953 s^5 + 20458 s^4 + 3905 s^3 + 327 s^2 + 10 s | ||
[gr,pm,wg,wc]=margin(L) | [gr,pm,wg,wc]=margin(L) | ||
| 461. sor: | 459. sor: | ||
Pk = | Pk = | ||
-6.0000 | -6.0000 | ||
-4.0000 + 4.0000i | -4.0000 + 4.0000i | ||
| 569. sor: | 567. sor: | ||
== 5. labor == | == 5. labor == | ||
2010.11.03 | |||
Nulladrendű tartószerv: két mintavételezés között konstansnak vesszük a jelet (a félév során mindenhol nulladrendű tartószervekkel fogunk dolgozni) | |||
z-(Laplace-) transzformáltja egy jelnek: | |||
int 0..inf y(t)*e^(-st)dt ahol z:= e^(-s) | |||
így már ez sum k=0..inf y[k]*z^(-k) lett. | |||
impulzus: sum k=0..inf y[k]*z^(-k) = y[0]*1 = 1 | |||
Y(s) = H(s) * U(s) | |||
g(z): mintavételes ekvivalense a rendszernek | |||
Y(z)=G(z)*U(z) | |||
Y(z)=G(t)*1 ha impulzus gerjesztés van | |||
A mintavételi idő változásával együtt változik majd a rendszer modellje is. | |||
y(0) = lim k->0 y(k*Ts) = lim z->inf k=inf vv(z) | |||
y(inf)=lim k=inf y(k*Ts)=lim z->1 (1-z^(-1))*vv(z) | |||
Mathlabban: | |||
h(1) ==> c2d(H,Ts, 'zoh') %zoh = zero order... | |||
() () () | |||
H(s) = -------------------- | |||
(s-p1)(s-p2)... | |||
p1~>z1=e^(p1*Ts) | |||
z=e^(p*Ts) = e^((a9i*n)Ts) = e^(a*Ts) * e^(i*b*Ts) | |||
<=1 |..|=1 | |||
Stabilitási kritériumok: | |||
FI: a pólusok legyenek negatívak | |||
DI-stabilitás: a pólusok absz. értéke legyen negatív | |||
e^(-s) | |||
P(s) = ------------------ | |||
(1+10s)(1+5s) | |||
z=e^(s*Ts) => y^(-k) | |||
Matlabbal hogyan kell megetetni: | |||
s=tf('s') | |||
% Transfer function: | |||
% s | |||
Pp=1/((1+10*s)*(1+5*s)) | |||
% Transfer function: | |||
% 1 | |||
% ----------------- | |||
% 50 s^2 + 15 s + 1 | |||
Gp=c2d(Pp,1) % 1 a mintavételi idő | |||
% Transfer function: | |||
% 0.009056 z + 0.008194 | |||
% ---------------------- | |||
% z^2 - 1.724 z + 0.7408 | |||
% | |||
% Sampling time: 1 | |||
Gp=zpk(Gp) % hogy lássuk a zérusokat és pólusokat | |||
% Zero/pole/gain: | |||
% 0.0090559 (z+0.9048) | |||
% --------------------- | |||
% (z-0.9048) (z-0.8187) | |||
% | |||
% Sampling time: 1 | |||
z=tf('z',1) % ez egy 1 mintavételi idejű diszkrét átviteli fv | |||
% Transfer function: | |||
% z | |||
% | |||
% Sampling time: 1 | |||
G=Gp/z | |||
% Zero/pole/gain: | |||
% 0.0090559 (z+0.9048) | |||
% ----------------------- | |||
% z (z-0.9048) (z-0.8187) | |||
% | |||
% Sampling time: 1 | |||
step(Pp,Gp) % legyen egy rajzon a két ugrásválasz | |||
step(Pp,Gp,G) % nézzük meg a holtidőt is | |||
: a holtidőt bele tudtuk tenni a folyamatba, úgy hogy majd szépen tudjuk kezelni is | |||
z-e^(-Ts/Ti) | |||
PI: A * ------------------ | |||
z-1 | |||
z - e^(-Ts/Td) z - e^(-Ts/Td) | |||
PD: A * --------------------- = ----------------- | |||
z-e^(u*(-Ts/Td)) z | |||
z-e^(-Ts/Ti) z-e^(-eTs/Td) | |||
PID: A * ------------------ * ------------------ | |||
z-1 z | |||
C1=(z-0.9048)*(z-0.8187)/(z-1)/z % a két konstans az előző zpk-ból van | |||
% Transfer function: | |||
% z^2 - 1.724 z + 0.7408 | |||
% ---------------------- | |||
% z^2 - z | |||
% | |||
% Sampling time: 1 | |||
L1=C1*G % a felnyitott kör átvitele | |||
% Zero/pole/gain: | |||
% 0.0090559 (z-0.9048) (z-0.8187) (z+0.9048) | |||
% ------------------------------------------ | |||
% z^2 (z-1) (z-0.9048) (z-0.8187) | |||
% | |||
% Sampling time: 1 | |||
[mag,phase,w] = bode(L1); % megnézzük mennyi a fázis | |||
k=margin(mag,phase-60,w) % lecsalunk a fázisból 60-at, mert kell nekünk | |||
k = | |||
15.4261 | |||
C=k*C1 | |||
% Transfer function: | |||
% 15.43 z^2 - 26.59 z + 11.43 | |||
% --------------------------- | |||
% z^2 - z | |||
% | |||
% Sampling time: 1 | |||
T=(C*G)/(1+C*G) % a zárt kör átvitele | |||
% Zero/pole/gain: | |||
% | |||
% 0.1397 z^2 (z-0.9048) (z-0.9048) (z-0.8187) (z-0.8187) (z-1) (z+0.9048) | |||
% ------------------------------------------------------------------------ | |||
% z^2 (z-1) (z-0.9048) (z-0.9048) (z-0.8187) (z-0.8187) (z+0.2656) | |||
% | |||
% (z^2 - 1.266z + 0.4759) | |||
% | |||
% | |||
% Sampling time: 1 | |||
step(T) | |||
==== SMITH-prediktor ==== | |||
két átviteli fv. egyenlőségéből (C hullám és C...): | |||
C~ | |||
C = -------------------- | |||
1+(1-e^(-sTh))*C~*P+ | |||
ez a Smith-prediktor tervezési képlete. | |||
C~ | |||
C=-------------------- | |||
1+(1-z^(-k))*C~*G+ | |||
Példa: | |||
1 1 | |||
P+ = ------- * ------- | |||
1+10s 1+5s | |||
Gp=... | |||
C1=... | |||
L2=C1*Gp | |||
% Zero/pole/gain: | |||
% 0.0090559 (z-0.9048) (z-0.8187) (z+0.9048) | |||
% ------------------------------------------ | |||
% z (z-1) (z-0.9048) (z-0.8187) | |||
% | |||
% Sampling time: 1 | |||
[mag,phase,w]=bode(L2); | |||
k2=margin(mag,phase-60,w) | |||
% k2 = | |||
% 31.8911 | |||
Ct=k2*C1 | |||
% Transfer function: | |||
% 31.89 z^2 - 54.96 z + 23.62 | |||
% --------------------------- | |||
% z^2 - z | |||
% Sampling time: 1 | |||
margin(Ct*Gp) % a diagrammot egyszercsak levágja. Itt van a határ frekvencia | |||
CS= Ct/(1+(1-z^(-1))*Ct*Gp) % Smith-prediktoros szabályzó | |||
% Zero/pole/gain: | |||
% 31.8911 z^2 (z-0.9048) (z-0.9048) (z-0.8187) (z-0.8187) (z-1) | |||
% ------------------------------------------------------------- | |||
% z (z-1)^2 (z-0.9048) (z-0.8187) (z^2 + 0.2888z + 0.2613) | |||
% | |||
% Sampling time: 1 | |||
TS=CS*G/(1+CS*G) | |||
% Zero/pole/gain: | |||
% | |||
% 0.2888 z^4 (z-0.9048)^4 (z-0.8187)^4 (z-1)^3 (z+0.9048) (z^2 + 0.2888z + 0.2613) | |||
% | |||
% --------------------------------------------------------------------------------- | |||
% z^3 (z-1)^3 (z-0.9048)^4 (z-0.8187)^4 (z-3.648e-008) (z+3.648e-008) | |||
% | |||
% (z^2 - 0.7113z + 0.2613) (z^2 + 0.2888z + 0.2613) | |||
% | |||
% | |||
% Sampling time: 1 | |||
step(TS,T) % ennek a kettőnek ugyanannak kéne lennie. Valszeg azért nem lett jó, mert egy helyen kézzel írtunk be egy számot 4 tizedesig, ami pontatlan. => majd küld egy mathlab szkriptet | |||
Itt végeztünk az órai anyaggal, nézünk a házihoz egy kis szimulinket. | |||
>> simulink | |||
[[Category:Infoalap]] | |||