„Szabályozástechnika - Laborjegyzetek” változatai közötti eltérés

Harapeti (vitalap | szerkesztései)
4.labor anyagának feltöltése Wiki-szintaktikával
Szikszayl (vitalap | szerkesztései)
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
        s*Kd
D(s)=--------  <-- közelítő deriváló tag
  D(s)=--------  <-- közelítő deriváló tag
      1+s*Tn
        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
                                                                       
:                                + 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]]