home


 * RESOLUCIÓN PROGRAMADA**

Comenzamos creando la función de transferencia que se nos ha asignado en función del Dni del alumno de menor edad del grupo:

dni = [2 5 3 4 7 7 1 1];

Utilizando la función GeneraParametros obtenemos los polos, zeros y ganancia de nuestra función de transferencia:

[sist,param]= GeneraParametros(dni);

param = 4.7500 2.3750 2.5833 9.7500




 * Programar el sistema obtenido en SIMULINK utilizando la planta original en continua, obteniendo la respuesta escalón y la respuesta rampa, graficandolas ambas para valores de T = 0.1, T = 0.5 y T = 1, comparando las respuestas.**

En el siguiente esquema hemos simulado en simulink el sistema realimentado para un tiempo de muestreo T=0.1, T=0.5 y T=1s respectivamente y por último la planta continua, todas ante entrada escalón.

Hemos graficado cada salida comparando con la entrada escalón.

T=0.1s



T=0.5s



T=1s



Para la planta continua



Como puede observarse, la estabilidad del sistema depende del tiempo de muestreo. Para T = 0.1 segundos el sistema se muestra estable, mientras que para tiempos superiores se vuelve inestable. En el apartado 2.4 veremos la posición de los polos en bucle cerrado dentro del lugar de las raíces y se comprenderán los resultados obtenidos.

Para ver la respuesta ante rampa, hemos hecho el siguiente montaje en simulink.



T=0.1s



T=0.5s



T=1s



Para la planta en continua



Al igual que antes, el sistema se muestra estable en 0.1s e inestable para tiempos superiores.


 * Expresar el sistema discretizado asignado para T = 0.1 en formato tf, zpk y ss y especificar el diagrama de polos y ceros en z.**

Discretizamos la función de nuestra planta con la función c2d que implementa Matlab, con un tiempo de muestreo de T=0.1 s.

T=0.1; Gz=c2d(sist,T)

Se obtiene el siguiente resultado en discreta:

Zero/pole/gain:



Sampling time: 0.1

Pasamos el sistema a formato tf

Gztf=tf(Gz)

Obteniéndose el siguiente resultado:

Transfer function: Sampling time: 0.1

Pasamos el sistema a formato zero/polo/ganancia:

Gzzpk=zpk(Gz)

El resultado obtenido es:

Zero/pole/gain:

Sampling time: 0.1

Pasamos el sistema a formato espacio de estados:

Gzss=ss(Gz)

Obteniéndose como resultado:

Sampling time: 0.1

Discrete-time model.

Se nos pide que representemos el diagrama de polos y ceros en z:

rlocus(Gz)




 * Aplicar //ltiview// al sistema discretizado asignado y especificar las de respuesta transitoria ( t subida, t pico, t establecimiento, Sobreoscilación) ante entrada escalón unitario con T = 0.1 y T = 1 y compararlas.**

T = 0.1 s

ltiview(Gz)



T = 1s

Gz_1 = c2d(sist,1)



Sampling time: 1

ltiview(Gz_1)

Sampling time: 1


 * Trazar el lugar de las raíces discreto con //rltool// y situar los polos en bucle cerrado para K = 2. Repetir el lugar de las raíces para T = 0.5 y T = 1 y compararlas.**

T=0.1

T=0.5

T=1




 * Verificar si es posible compensar el sistema con un controlador proporcional en serie (ganacia K) para que el sistema en bucle cerrado y realimentación negativa unitaria cumpla las especificaciones de sobreoscilación <15% y tiempo de establecimiento t_est < 3s, y error escalón nulo, graficando la respuesta escalón y dibujando asimismo ambas zonas en el plano z.**

Para T = 0.1 s se obtiene el siguiente lugar de las raíces por medio de 'rltool'. Una vez se ha obtenido hemos ido variando la ganancia para intentar compensar el sistema por medio de un controlador proporcional. En la figura se muestran los polos de bucle cerrado del sistema. Los cuales como podemos ver, caen fuera de la zona que Matlab nos delimita como válida para cumplir las especificaciones de nuestro sistema, no obstante hemos de mencionar, que esta zona es puramente orientativa y como veremos en la respuesta ante entrada escalón, colocando los polos fuera de ella conseguimos minimizar el error ante entrada escalón, sin llegar a conseguir que sea nulo, sin embargo si cumplimos con la sobreoscilación menor del 15 % y el tiempo de establecimiento menor que 3s.



En la siguiente figura, se muestra la respuesta ante entrada escalón del sistema, para K=0.6825. Como podemos ver, la sobreoscilación es del 15 %, el tiempo de establecimiento es de 0.778 s y el valor final de la señal de salida es de 0.837. Con este compensador, conseguiríamos cumplir con las dos primeras especificaciones, pero como máximo podemos reducir el error ante entrada escalón, al que se muestra en la figura, no consiguiéndose que sea nulo.



Para un tiempo de muestreo de 0.5s, se tiene el siguiente lugar de las raíces. Para valores de ganancia menores que 0.15082 el sistema cumple las especificaciones. Con un compensador proporcional no conseguimos cumplir que el error ante entrada escalón sea nulo. La señal se estabiliza en un valor de 0.532. Para T=1 s se obtiene el siguiente lugar de las raíces, nuevamente simplemente por mera variación de la ganancia del controlador, no conseguimos cumplir todas las especificaciones, pues conseguimos que la sobreoscilación sea menor que el 15 % y que el tiempo de subida sea menor que 3 s, pero no conseguimos que el error ante entrada escalón sea nulo.

En la siguiente figura podemos ver como para un valor de ganancia 0,0678 la sobreoscilación es del 0,389% y el tiempo de subida es de 1,96 s. El valor final de la señal es de 0,339. Con lo que para valores de ganancia menores que 0,0678 conseguimos al menos cumplir con dos de las especificaciones.




 * En el caso contrario si con la adición de polos y ceros reales es posible cumplir las especificaciones requeridas, expresando el controlador obtenido, graficando el nuevo lugar de las raíces discreto, y comprobando a través de //ltiview// que se cumple ciertamente las especificaciones requeridas.**

Para un tiempo de muestreo de T=0,1 s, y añadiendo un cero en z=0,1. El lugar de las raíces obtenido es el que se muestra en la siguiente figura. Haciendo variar los polos en bucle cerrado, conseguimos encontrar la ganancia adecuada, que nos hace cumplir las especificaciones de diseño dada para el sistema. La ganancia obtenida para el compensador a sido de k=333,33.



En la siguiente gráfica podemos observar la respuesta ante entrada escalón de nuestro sistema. Como vemos la sobreoscilación es del 0,0944%, el tiempo de establecimiento es de 0,399 s, y el error ante entrada escalón, es nulo, tal y como deseábamos.

Para tiempo de muestreo 0.5 segundos, introducimos un cero en z = 0.1 y ajustamos la ganancia hasta minimizar el error ante entrada escalón hasta que sea nulo, siendo esta ganancia 294.5. La función de transferencia del controlador obtenida es: Para un tiempo de muestreo de 1 segundo, obtenemos el siguiente lugar de las raíces. Al igual que antes, introduzco un cero en 0.1 y con una ganancia de 294.5 obtenemos error ante entrada escalón nulo.






 * Verificar el funcionamiento del controlador obtenido mediante el método de Truxal - Ragazzini en SIMULINK, graficando respuesta escalón.**

A continuación introducimos en simulink el controlador obtenido por Truxal-Ragazzini como la planta ya discretizada y observarmos la salida ante entrada escalón. Hemos de esperar una salida que siga al escalón de entrada ya que el controlador ha sido diseñado con esa caracterísitica.

A continuación observamos la salida frente a la entrada escalón.

Vemos como la salida sigue perfectamente el escalón unitario.


 * PARTE ESCRITA:**


 * 1) Obtención de la función de transferencia en z:**

Nuestra función de transferencia es:

Emplearemos para discretizar un Hold cero que en la variable s tiene el formato:

Así:



Ahora aplicamos a el sistema en bucle abierto premultiplicado por el Hold cero la transformada en Z

Ahora vamos a calcular el residuo de:

Transformamos en Z utilizando las tablas, así se tiene:


 * 2) ** **Obtener la descripción en el espacio de estados G,H,C,D:**

Identificamos términos:

El sistema queda como:




 * 3) ** **Hallar la respuesta escalón del sistema y calcular el valor en régimen permanente:**

La planta discretizada viene dada por:

La salida ante entrada escalón vendrá dada por:

La entrada escalón en discreta viene dada por:

Así pues obtendremos la salida de nuestro sistema ante entrada escalón a partir de la siguiente función:

Operando, se llega a la siguiente expresión en valores de z elevado a exponente negativo:

Si desarrollamos:

Descomponiendo en fracciones simples:

Pasando la z a la derecha y antitransformando:

Tomando muestras de uno en uno, es decir, K incrementa unitariamente y graficando:

Como vemos se estabiliza en torno a un valor de 7,6, para un tiempo de alrededor de unos 3 segundos, es decir unas 30 muestras que multiplicadas por el tiempo de muestreo dan esos tres segundos.

Para comprobar que la respuesta es correcta, vamos a calcular el valor en torno al cual se tiene que estabilizar nuestra señal de salida.

El valor de la señal de salida en régimen permanente será:

** 4) Añadir un retardo de t0=0’17 en serie con la planta original y determinar la función de transferencia discreta hallando la respuesta escalón:**

Se tiene la siguiente planta en continua:



Descomponemos el tiempo de muestreo:



Descomponemos la función continua en fracciones simples como en el primer apartado, solamente con la salvedad de que para este caso se va a emplear la transformada z modificada.

De la descomposición en fracciones simples se obtiene:

Y aplicando la transformada Z:

//Aclaración:// //A continuación se muestran en que se transforman las funciones continuas que tenemos tras nuestra descomposición en fracciones simples tras aplicarle la transformada en Z modificada://

En nuestro caso m=0.3 y T=0.1

Aplicando transformada Z modificada y unificando términos se obtiene:

Donde finalmente la expresión más compacta que se obtiene es:



//Para calcular la salida ante escalón://

Si descomponemos en fracciones simples:

Pasando la z a la derecha y antitransformando:

Vemos como la respuesta posee señales impulso. Si representamos gráficamente:

Vemos como se produce un retardo en la señal de salida.

** 5) ** **Determinar el rango de estabilidad del sistema propuesto (sin retardo) cuando se controla el mismo con una ganancia variable //K// en configuración de realimentación negativa unitaria, utilizando para ello el criterio de Routh-Hurwitz por aplicación del la transformación bilineal**

Lo primero será calcular la función de transferencia de pulsos en lazo abierto.

Como ya teníamos discretizada la planta aprovechamos la misma discretización sin mas que añadir la ganancia K.

Realizamos la transformada bilineal:



Por tanto la función de transferencia en w será:

Desarrollando llegamos a:

La ecuación característica será:

A continuación desarrollamos la tabla de Routh.

Siendo los a sub ilos coeficientes de la ecuación característica, α se calculará como:

La tabla quedará por tanto:



Hacemos que los primeros términos de cada fila sean positivos, así no se producirán cambios de signos por lo que no habrá raíces positivas y el sistema será estable.

Cogiendo las más restrictivas el rango de K para asegurar la estabilidad será:


 * 6) ** **Calcular el error en régimen permanente en función de K ante entrada escalón.**

La planta ya discretizada es:

El controlador es :

A partir del diagrama anterior, obtenemos la función en bucle cerrado:

Tenemos una entrada escalón, por tanto:

Sustituyendo en la ecuación de lazo cerrado:

El error en régimen permanente será:


 * 7) Calcular para K = 1.5 la situación de los polos del sistema discretizado en bucle cerrado y ubicarlos sobre el plano z, comprobando la estabilidad del mismo.**

Para k = 1,5, la ecuación característica será:

Sustituyendo el valor de la función de cada bloque:





** 8) ** **Diseñar un compensador aplicando el método de Truxal-Ragazzini ante entrada escalón, y graficar la respuesta.**

El compensador que vamos a buscar tendrá la forma:

Donde:



y con la planta ya discretizada:



Lo primero que vamos a hacer es manipular esta función anterior, para obtener una expresión en función de z elevada a exponentes negativos. Para ello sacamos factor común z en cada uno de los términos y operamos, llegándose a la siguiente expresión:



A continuación el método nos exige cuatro condiciones que han de cumplirse para obtener la función de transferencia que gobernará a nuestro controlador, estas son:

1) Condición de realización física. 2) Condición de estabilidad. 3) Condición de error en régimen permanente nulo. 4) Condición de rizado nulo.

Pasemos a analizar cada una de ellas:

1) Condición de realización física:

Para aplicar esta condición, tendremos que asemejar nuestra planta a una serie numérica de potencias de z elevada a un exponente negativo, así nuestra planta vendrá caracterizada por:

La serie que caracteriza a F(z), habrá de comenzar en el mismo exponente que la serie que caracteriza a la planta, con lo que en la expresión antes mencionada de F(z), se tendrá:

A continuación seguimos con el resto de propiedades que han de cumplirse para poder aplicar mi método.

2) Condición de estabilidad:

Los dos polos que presenta la planta, así como el cero, están dentro de la circunferencia unidad, con lo que esta condición no nos aportará nada.

3) Error en régimen permanente nulo (ante entrada escalón):

Para esta condición emplearemos la siguiente expresión:



Donde por tratarse de una entrada escalón q=0 y por tanto la ecuación que se tiene es:

Esta será nuestra primera condición.

4) Condición de rizado nulo:

La entrada a la planta será de la forma:

Donde U(z) viene dada por:



La función de transferencia de la planta, no presenta ningún integrador, con lo que //un// será distinta de cero, y la serie U(z), será infinita. Para que esto ocurra en la expresión anterior habremos de forzar la no divisibilidad de F(z) por (1-z-1). Con lo que esta condición tampoco nos aportará nada.

Así, una vez expuestas las condiciones del método, vamos a proceder a calcular los términos que nos permitirán obtener el controlador: De la primera condición hemos obtenido donde ha de empezar la serie F(z), de las condiciones segunda y cuarta no hemos obtenido nada, y de la tercerea es de la que si obtenemos una única condición válida para poder calcular F(z), con lo que en la serie de F(z), N=1, y por lo tanto se tiene que:

Y teniendo en cuenta la condición número tres:

Observando la expresión anterior N(z) será una constante. Realizaremos el siguiente cociente para determinar los valores de a sub uno y N(z).

Realizando el cociente anterior se obtiene como cociente N(z)=1 y como resto

Como quiera que el resto ha de ser cero:

Así se tiene:



Con lo que nuestro controlador será:

De donde operando se llega a:




 * A PARTE ESCRITA DEL TRABAJO, PUEDE DESCARGARSE EN EL SIGUIENTE ENLACE:**

https://dl.dropbox.com/u/48053415/Trabajo%20de%20control%20automatico%20%28uni%C3%B3n%20definitiva%29.pdf