Mensaje de error

  • Deprecated function: The each() function is deprecated. This message will be suppressed on further calls en book_prev() (línea 775 de /home1/montes/public_html/drupal/modules/book/book.module).
  • Notice: Trying to access array offset on value of type int en element_children() (línea 6422 de /home1/montes/public_html/drupal/includes/common.inc).
  • Notice: Trying to access array offset on value of type int en element_children() (línea 6422 de /home1/montes/public_html/drupal/includes/common.inc).
  • Notice: Trying to access array offset on value of type int en element_children() (línea 6422 de /home1/montes/public_html/drupal/includes/common.inc).
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters en drupal_get_feeds() (línea 394 de /home1/montes/public_html/drupal/includes/common.inc).

Cuestion 3 (Sistemas Discretos, regulador)

Solapas principales

Image 2008Jun2C3

 

El retenedor siendo

$z=e^{T\cdot s}$

\begin{displaymath}G_{regulador}(s)=\frac{(1-e^{-T\cdot s})}{s}\end{displaymath}


 

El sistema nos quedaria:

\begin{displaymath}G_{t}(z)=(1-z^{-1})\cdot Z\left(\frac{2}{s\cdot (s+1)\cdot (s+2)} \right)\end{displaymath}


 

Vamos a descomponer la parte en s de la funcion de transferencia

\begin{displaymath}\frac{2}{s\cdot (s+1)\cdot (s+2)}=\frac{a}{s}+\frac{b}{s+1}+\frac{c}{s+2}\end{displaymath}


\begin{displaymath}a=\left\lfloor \frac{2\cdot s}{s\cdot (s+1)\cdot (s+2)} \right\rfloor_{s=0}=1\end{displaymath}


 

\begin{displaymath}b=\left\lfloor \frac{2\cdot (s+1)}{s\cdot (s+1)\cdot (s+2)}\right\rfloor_{s=-1}=-2\end{displaymath}


 

\begin{displaymath}c=\left\lfloor \frac{2\cdot (s+2)}{s\cdot (s+1)\cdot (s+2)}\right\rfloor_{s=-2}=1\end{displaymath}


 

\begin{displaymath}\frac{2}{s\cdot (s+1)\cdot (s+2)}=\frac{1}{s}-\frac{2}{s+1}+\frac{1}{s+2}\end{displaymath}


 

Ahora hacemos la transformada Z de estas funciones:


 

Con lo que nos queda la funcion $G_{t}(z)$

\begin{displaymath}G_{t}(z)=(1-z^{-1})\cdot \frac{8.19E-3\cdot z+9.05E-3\cdot z^{2}}{(z-1)\cdot (z-0.9)\cdot (z-0.81)}=\end{displaymath}

 


 

Ahora vamos a calcular el polo dominante:

\begin{displaymath}t_{s}=\frac{4}{\sigma}=5\; ; \sigma=\frac{4}{5}\end{displaymath}


 

\begin{displaymath}M_{p}=e^{-\frac{\sigma\cdot \pi}{w_{d}}}=0.1\end{displaymath}


 

\begin{displaymath}-\frac{\sigma\cdot \pi}{w_{d}}=ln(0.1)\end{displaymath}

 

\begin{displaymath}w_{d}=-\frac{\sigma\cdot \pi}{ln(0.1)}=-\frac{4 \cdot \pi}{ln(0.1)\cdot 5}=1.09\end{displaymath}


\begin{displaymath}z1=e^{-\frac{4\cdot T}{5}}\cdot e^{j\frac{360\cdot w_{d}\cdot T}{2\cdot \pi}}=0.92+ 0.1j \end{displaymath}


 

El angulo que tiene que tener el regulador:

\begin{displaymath}\lfloor{G_{t}(z1)}=-125\end{displaymath}


 

\begin{displaymath}-180+125=-55\end{displaymath}


 

Vamos a necesitar un regulador de atraso

\begin{displaymath}\frac{s+a}{s+b}\; ; a>b\end{displaymath}


 

Vamos a situar el polo del regulador en $z=0.92$. Con lo que ahora tendremos que calcular el cero.

 

\begin{displaymath}d\cdot cos(55)=0.1\end{displaymath}


 

\begin{displaymath}d\cdot sen(55)=b\end{displaymath}


 

\begin{displaymath}b=0.1\cdot tg(55)=0.14\end{displaymath}


 

\begin{displaymath}cero=0.92-b=0.77\end{displaymath}


 

\begin{displaymath}G_{c}(z)=K_{c}\cdot \frac{z-0.77}{z-0.92}\end{displaymath}


 

Vamos a calcular la $K_{c}$ del compensador.

\begin{displaymath}\left\vert K_{c}\cdot \frac{z-0.77}{z-0.92}\cdot \frac{8.19E-3+9.05E-3\cdot z1}{(z1-0.9)\cdot (z1-0.81)} \right\vert=1\end{displaymath}


 

\begin{displaymath}K_{c}=0.5\end{displaymath}


 

\begin{displaymath}G_{c}(z)=0.5\cdot \frac{z-0.77}{z-0.92}\end{displaymath}


 

Calculos y comprobaciones con el Scilab

//Descomposicion en fracciones simples
s=%s;
g=2/(s*(s+1)*(s+2));
T=0.1;
gs=syslin('c',g)
gf=tf2ss(gs);
se=pfss(gf)
//Calculo de la transformada Z
a=numer(se(1))
b=numer(se(2))
c=numer(se(3))
z=%z;
gr=(z-1)/z;
aux=(z/(z-1))-(2*z/(z-exp(-T)))+(z/(z-exp(-2*T)))
auxs=syslin('d',aux);
gz=gr*aux
gzs=syslin('d',gz);
r=roots(denom(auxs))
//Vamos a comprobar la funcion de transferencia resultante
gz1=ss2tf(dscr(tf2ss(gs*s),T))
//Polo dominante
sig=4/5;
wd=-(4*%pi)/(5*log(0.1))
z1=exp(-sig*T)*(cos(wd*T)+%i*sin(wd*T))
//Angulo de Gt en z1
aux2=horner(gzs,z1);
aux3=atan(imag(aux2),real(aux2));
aux4=360*aux3/(2*%pi)
//Angulo que debe tener el regulador
aux5=-180-aux4
//Vamos a calcular el cero del regulador;
aux6=-(2*%pi*aux5)/360;
aux7=imag(z1)*tan(aux6)
aux8=real(z1)-aux7
//Parte del regulador
gc=(z-aux8)/(z-real(z1))
gcs=syslin('d',gc)
aux11=horner(gcs,z1)
aux12=atan(imag(aux11),real(aux11));
aux13=360*aux12/(2*%pi)
//vamos a calcular al Kc del regulador
gt=gc*gz;
gts=syslin('d',gt)
aux9=horner(gts,z1);
aux10=abs(aux9)
kc=1/abs(aux10)
//vamos a comprobar los resultados
gt1=kc*gt;
gt1s=syslin('d',gt1)
aux14=horner(gt1s,z1)
aux15=atan(imag(aux14),real(aux14));
aux16=360*aux15/(2*%pi)
aux17=abs(aux14)
clf;
subplot(2,1,1)
evans(gzs)
plot(real(z1),imag(z1),'*');
plot(real(z1),-imag(z1),'*');
mtlb_axis([-3 1.5 -2 2])
subplot(2,1,2)
evans(gt1s)
plot(real(z1),imag(z1),'*');
plot(real(z1),-imag(z1),'*');
mtlb_axis([-3 1.5 -2 2])
 

 

 

Image P3jun2008ss

 

Español

Añadir nuevo comentario

Plain text

  • No se permiten etiquetas HTML.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Saltos automáticos de líneas y de párrafos.
Pin It