You are on page 1of 10

ERRORES EN ESTADO ESTACIONARIO USANDO MATLAB

Matlab es una de las herramientas de software más

importante para el análisis de sistemas de control.

Presenta diferentes opciones para simular tales como

Simulink

Error de estado estacionario y tipo de sistema.

Si recordamos las clases teóricas, y las ecuaciones para calcular errores de estado

estacionario para sistemas de realimentación unitaria, hemos definido ciertas constant es

(conocidas como las constantes de error estáticas). Estas constantes son: la constante de

posición (Kp), la constante de velocidad (K v), y la constante de aceleración (K a). Sabiendo

el valor de estas constantes así como el tipo del sistema, podemos predecir si nuestro

sistema va a tener un error de estado estacionario finito, cero o infinito.

Primero, hablemos sobre el tipo del sistema. El tipo del sistema se define como el número

de integradores puros en un sistema. Es decir, el tipo del sistema es igual al valor de n

cuando el sistema se representa como en la figura siguiente:

Por consiguiente, un sistema puede ser tipo 0, tipo 1, etc. Ahora, veamos cómo se relaciona el

error estacionario con los tipos de sistema:


Dado el sistema siguiente:

donde G(s) es:

K*(s + 3)(s + 5)

--------------------------

s (s + 7)(s + 8)

encuentre el valor de K para que se tenga un 10% de error estacionario en sistema de lazo

abierto. Puesto que este sistema es de tipo 1, no habrá ningún error de estado estacionario

para una entrada escalón y un error infinito para una entrada parabólica. La única entrada

a la cual se tendrá un error de estado estacionario finito en este sistema, es la señal

rampa. Observemos la res puesta del sistema a la entrada rampa para una ganancia de 1:
num = conv([15],13]); -- multiplicación de los ceros de G(s ).

den = conv([1 7],[1 8]);-- multiplicación de los polos de G(s ) sin el polo en cero.

den = conv(den,[1 0]); -- multiplicación del resultado ant erior con el polo en cero.

[clnum,clden] = cloop(num,den); -- se realiza la realimentación del sistema.

t =0:0.1:50;-- tiempo de trabajo.

u = t; -- señal de entrada.

[y,x] = lsim(clnum,clden,u,t);-- evalua los datos en el tiempo con la señal de entrada

presente.

plot(t,y,t,u) -- dibuja los resultados ant eriores

xlabel (' Tiempo(seg) ') -- coloca label en el eje horizontal.

ylabel ('Amplitud ') -- coloca label en el eje vertical.

title ('Entrada-verde, Salida-azul') -- coloca titulo final de la gráfica.

El error de estado estacionario para este sistema es muy grande. Como podemos ver en 20

segundos, la entrada es igual a 20 mientras la salida en amplitud es aproximadamente 16.


Sabemos que necesitamos tener un error estacionario de 0.1. Por consiguiente, debemos

resolver el problema realizando los siguientes pasos:

De tal manera que se obtiene el valor de K igual a 37. 33 para cumplir la especificación

señalada:

K =37.33;

num =K*conv ([1 5], [1 3]);

den =conv([1 7],[1 8]);

den = conv(den,[1 0]);

[clnum,clden] = cloop(num,den);

t = 0:0.1:50;

u = t;

[ y,x] = lsim(clnum,clden,u,t);

plot(t,y,t,u)

xlabel (' Tiempo(seg) ')

ylabel ('Amplitud ')

title('entrada-verde, salida-azul ')


Para conseguir una vista mejor, debemos hacer un zoom en la respuesta. Escogemos un

rango entre 40 y 41 para asegurarnos de que el sistema ha alcanzado su estado

estacionario y observar con mayor precisión la diferencia entre la ent rada y la salida.

axis([40,41,40,41])
La amplit ud = 40 a t = 40 para nuestra entrada, y tiempo = 40.1 para nuestra salida. Sin

embargo, como son líneas paralelas en estado estacionario, nosotros también podemos

decir que cuando estamos en t = 40 nuestra respuesta tiene una amplitud de 39.9,

dándonos un error de error estacionario de 10%. Realicemos un acercamiento mayor para

confirmar lo anterior:

axis([39.9,40. 1,39.9,40.1])

Ahora modifiquemos el problema un poco y digamos que nuestro sistema es el siguiente:

Nuestro G(s) es el mismo, pero ahora nosotros queremos tener un error de estado estacionario

igual a cero para una señal rampa unitaria.


Según nuestros conocimientos, sabemos que un sistema de tipo 2 nos da cero error

estacionario para una entrada rampa. Por consiguient e, podemos conseguir un error

estacionario igual a cero simplemente agregando un integrador (un polo al origen). Veamos

la respuesta a la ent rada rampa si agregamos un integrador y usando una ganancia de

uno:

num =conv ([1 5], [1 3]);

den =conv([1 7],[1 8]);

den = conv(den,[1 0]);

den = conv(den,[1,0]);

[clnum,clden] = cloop(num,den);

t = 0:0.1:250;

u = t;

[ y,x] = lsim(clnum,clden,u,t);

plot(t,y,t,u)

xlabel (' Time(secs) ')

ylabel ('Amplitud ')

title (' Entrada-verde, Salida-azul ')


Como se puede ver, parece que en estado estable tenemos un error cero. Hagamos un zoom

para observar las señales cerca de los 240 segundos:

axis([239.9,240.1,239.9, 240. 1])

Esto indica que, el error de estado estacionario realmente es cero


NOTA: Sabemos que la función de transferencia para el siguient e sistema:

Si restamos y sumamos G(s) a la expresión del denominador de la función de trans ferencia:

Y dividimos todo ent re la expresión 1 + G(s)H(s) - G(s) tenemos:

Podemos observar que el mismo sistema podría ser representado de la siguiente forma:

Con retroalimentación unitaria. Utilizando la fórmula para hallar la función de transferencia de

lazo cerrado se obtiene la misma expresión original.

Adicionalmente, hay que notar que con la función escalón, el comando lsim no tiene

sentido porque la función step guarda los datos obtenidos cuando se aplica al sistema. La

señal rampa u=t, si necesita lsim para obtener los datos cuando se aplica al sistema. Lo
mismo sucede con la señal parabólica u=0. 5*t.*t que también necesita obtener y almacenar

los datos cuando se aplica al sistema.

Sugerencias y/o coment arios

Espero sus coment arios y sugerencias para mejorar esta página.

Ing. Juan Manuel Chaparro

Bogotá, Colombia

http://jchafon.galeon.com/