Simulink Informe Final

29
1 1. INTRODUCCIÓN El siguiente laboratorio se enfoca en presentar los resultados obtenidos a partir de la creación de un modelo y análisis del mismo, en las plataformas de MATLAB y SIMULINK, para tres casos de interés, como son control de crucero, suspensión y el movimiento de cabeceo de una aeronave. Se presentarán los pasos a seguir para construir cada uno de los modelos, el código y/o diagrama de bloques para cada caso, así como un análisis de cada uno de los resultados obtenidos. 2. OBJETIVOS 2.1 Objetivo General Modelar y analizar tres casos de estudio, crucero, suspensión y cabeceo de una aeronave, en la plataforma de Matlab y Simulink. 2.2 Objetivos Específicos Identificar las distintas herramientas del entorno de Simulink. Modelar en Matlab las ecuaciones que describen cada uno de los casos. Interpretar cada uno de los casos de estudio. 3. MARCO CONCEPTUAL Matlab y Simulink son plataformas que permiten diseñar, modelar y analizar sistemas y códigos a partir de una serie de herramientas. Matlab es un software que permite visualizar y computar sistemas numéricos de alto rendimiento. Provee un ambiente interactivo con cientos de funciones de un lenguaje de programación [4]. Simulink es un ambiente de diagramas para simulaciones en múltiples dominios y un diseñador de modelos base. Simulink provee un editor gráfico, librerías de bloques y solucionadores para modelar y simular sistemas dinámicos, está incorporado a Matlab, por lo que se pueden importar algoritmos de Matlab dentro de los modelos, y así mismo exportar estos para análisis posteriores en Matlab [5]. Existe una gran variedad de éstas disponibles, a continuación se hará mención de alguna de ellas con el fin de entender el desarrollo del laboratorio. State-space: Es un bloque que modela un sistema que se comporta de acuerdo: ̇ UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE CIENCIAS BÁSICAS E INGENIERIA INGENIERIA AERONAUTICA DINÁMICA DE VUELO INFORME DE LABORATORIO MATLAB & SIMULINK MAYRA GERALDINE BOGOTÁ ANZOLA SEBASTIAN OCAMPO JARAMILLO

description

ffrrerf

Transcript of Simulink Informe Final

Page 1: Simulink Informe Final

1

1. INTRODUCCIÓN

El siguiente laboratorio se enfoca en presentar los resultados obtenidos a partir de la creación de un modelo y

análisis del mismo, en las plataformas de MATLAB y SIMULINK, para tres casos de interés, como son control

de crucero, suspensión y el movimiento de cabeceo de una aeronave. Se presentarán los pasos a seguir para

construir cada uno de los modelos, el código y/o diagrama de bloques para cada caso, así como un análisis

de cada uno de los resultados obtenidos.

2. OBJETIVOS

2.1 Objetivo General

Modelar y analizar tres casos de estudio, crucero, suspensión y cabeceo de una aeronave, en la plataforma

de Matlab y Simulink.

2.2 Objetivos Específicos

Identificar las distintas herramientas del entorno de Simulink.

Modelar en Matlab las ecuaciones que describen cada uno de los casos.

Interpretar cada uno de los casos de estudio.

3. MARCO CONCEPTUAL

Matlab y Simulink son plataformas que permiten diseñar, modelar y analizar sistemas y códigos a partir de

una serie de herramientas. Matlab es un software que permite visualizar y computar sistemas numéricos de

alto rendimiento. Provee un ambiente interactivo con cientos de funciones de un lenguaje de programación

[4]. Simulink es un ambiente de diagramas para simulaciones en múltiples dominios y un diseñador de

modelos base. Simulink provee un editor gráfico, librerías de bloques y solucionadores para modelar y simular

sistemas dinámicos, está incorporado a Matlab, por lo que se pueden importar algoritmos de Matlab dentro de

los modelos, y así mismo exportar estos para análisis posteriores en Matlab [5].

Existe una gran variedad de éstas disponibles, a continuación se hará mención de alguna de ellas con el fin

de entender el desarrollo del laboratorio.

State-space: Es un bloque que modela un sistema que se comporta de acuerdo:

UNIVERSIDAD DE SAN BUENAVENTURA FACULTAD DE CIENCIAS BÁSICAS E INGENIERIA

INGENIERIA AERONAUTICA DINÁMICA DE VUELO

INFORME DE LABORATORIO – MATLAB & SIMULINK

MAYRA GERALDINE BOGOTÁ ANZOLA SEBASTIAN OCAMPO JARAMILLO

Page 2: Simulink Informe Final

2

Donde x es el vector de estado, y es el vector de salida, u es el vector de entrada. Finalmente lo que se

ingresara en el bloque son 4 matrices que deberán tener las siguientes características:

La matriz A debe ser una matriz cuadrada N x N, donde n es el número de estados.

La matriz B debe ser una matriz de N x M, donde m es el número de entradas.

La matriz C deber ser una matriz de R x N, donde r es el número de salidas.

La matriz D será la multiplicación de la matriz R x M.

Un bloque de state-space es un bloque que utiliza variables de estado que describen un sistema por un

conjunto de ecuaciones diferenciales de primer orden. Estas variables de estado pueden reconstruirse a partir

de la información medida de entrada y salida, sin embargo estas variables encontradas no son medidas en el

sistema en sí.

Terminator: Este bloque sirve para limitar los bloques cuyos puertos de salida no se conecten a otros, si no

se utiliza Simulink suele mostrar un error.

Gain: Este bloque multiplica la señal de entrada por un valor constante, esta puede ser un escalar, un vector

o una matriz. En caso de que sea una matriz, Simulink permite indicar el orden en que deben multiplicarse los

valores.

Controlador PID: Es un mecanismo de control utilizado para la realimentación de los sistemas. Es un

controlador realimentado cuyo propósito es hacer que el error en estado estacionario, entre la señal de

referencia y la señal de salida de la planta, sea cero de manera asintótica en el tiempo, lo que se logra

mediante el uso de la acción integral. Además el controlador tiene la capacidad de anticipar el futuro a través

de la acción derivativa que tiene un efecto predictivo sobre la salida del proceso [3]. Se caracteriza por seguir

tres acciones:

La salida del controlador es proporcional al error del sistema. Un controlador proporcional puede

controlar cualquier sistema estable, pero posee un desempeño limitado y error en régimen

permanente [1].

La salida del controlador que es proporcional al error acumulado del sistema, deberá ante una

perturbación, presentar un error en régimen permanente igual a cero, por lo que es necesario

encontrar una constante que permita esto, a partir de la integral de la señal error.

La derivativa del sistema será una dependiente de alguna de las anteriores para estar presente.

Dicho esto un controlador PID, reúne las ventajas de cada una de las tres acciones de control individuales [1].

El diseño de este tipo de controladores requiere de un análisis profundo, es por ello que para el desarrollo de

este laboratorio, se utilizaran los valores por defecto del programa. Básicamente, el bloque del controlador en

Simulink realiza la suma, la integral y la derivada de la señal de entrada, a partir de unos valores de ganancia

determinados y/o estipulados por el diseñador.

Page 3: Simulink Informe Final

3

4. DESARROLLO DE LOS PROBLEMAS

4.1 CONTROL DE CRUCERO

Por medio del siguiente ejemplo se puede establecer un modelo simple de dinámica para el entendimiento de

un sistema de control de crucero con retroalimentación.

Primero se deben establecer las ecuaciones del sistema con el diagrama de cuerpo libre. Se puede identificar

que este modelo es de primer orden y también se comporta como un sistema masa- amortiguador. Haciendo

una sumatoria de fuerzas en x y aplicando la segunda ley de newton se establece la siguiente ecuación.

Donde los valores de cada una de las variables son masa de 1000 kg, coeficiente de amortiguamiento 50

Ns/m y fuerza de 500 N.

4.1.1 MODELADO EN MATLAB

Como se ha establecido anteriormente las ecuaciones de primer orden controlan una variable de estado, en

este caso la velocidad del vehículo, de esa forma la representación del modelo es:

[

] , - [

] , -

Luego por medio de Laplace se procede a establecer la función de transferencia de la ecuación diferencial

que rige al sistema, teniendo cuenta que la velocidad es la salida y la fuerza es la entrada.

( )

( )

Es importante tener en cuenta algunos criterios de diseño que el sistema debe lograr para que se encuentre

compensado. Se establece que con la fuerza de 500 N este vehículo alcanzara una velocidad máxima de 10

m/s, por lo tanto los criterios de diseño propuestos para este sistema serán los siguientes:

Rise time menor a 5 segundos.

Overshoot menor al 10%.

Steady-state error menor al 2%.

Ya con estos criterios se puede analizar el sistema por medio de MATLAB y poder presentar la información

plateada. El código se muestra en el Anexo 1.

4.1.2 ANALISIS EN MATLAB

Para esta primera parte se analizará el sistema como un sistema de lazo abierto, sin un control de

retroalimentación. Teniendo en cuenta los parámetros previamente establecidos.

Page 4: Simulink Informe Final

4

Figura 1. Sistema abierto para el control de crucero.

Figura 2. Diagrama de polos y ceros para el control de crucero.

En la figura 1 se puede observar que no se presentan

oscilaciones en el sistema y que aunque alcanza la

velocidad en estado estacionario de 10 m/s, el tiempo

de subida es demasiado lento, por lo tanto es

necesario crear un sistema retroalimentado y ver

como se comparta la señal escalonada de entrada

con el fin de conseguir un aumento del tiempo de

subida o de respuesta sin afectar los otros

parámetros del rendimiento dinámico.

Ceros y polos del sistema

Con la función de transferencia del sistema se puede

identificar que esta solo tiene un polo al igualar su

denominador a cero. En la figura 2 se muestra el

mapa de polos y ceros.

Como se observa en la figura 2, al analizar el

sistema como uno de lazo abierto se puede afirmar

que este es estable y además que cuando mayor

sea la magnitud más rápido el sistema se acercara a

ser estacionario. Por lo tanto se debe diseñar un

controlador que pueda alterar los polos y ceros para

satisfacer los criterios previamente establecidos.

Es importante conocer la respuesta en frecuencia

del sistema, en este caso se utiliza el diagrama de

Bode para un sistema abierto, el resultado se

muestra en la figura 3.

4.1.3 MODELADO EN SIMULINK

Como se dedujo anteriormente, este sistema está modelado por medio de la sumatoria de fuerzas. Para

realizar el modelado de este vehículo, se siguieron los siguientes pasos:

1. Como primer paso, se procede a modelar la integración de la aceleración ya que se quiere encontrar

la variación de velocidad respecto a la entrada que en este caso sería la fuerza de 500 N.

2. Se ubica una ganancia antes del proceso de integración debido a que es necesario dividir en cada

componente de la ecuación la inercia, como se puede ver en la ecuación número 2.

Page 5: Simulink Informe Final

5

Figura 3. Diagrama de Bode para el control de crucero.

Figura 4. Señal de salida para el control de crucero con retroalimentación.

3. Como se sabe que la entrada es

u=500 en el tiempo igual a cero, se

procede a colocar una señal tipo Step con

un valor final igual a u y un tiempo inicial de

cero, ya que cómo se vio anteriormente las

variables ya fueron nombradas en el

comand window de MATLAB.

4. Para realizar el controlador de

retro alimentación se pone un elemento de

comparación entre la entrada y la salida del

proceso, y entre este la constante de

amortiguamiento. Con el fin, de saber el

comportamiento de la velocidad respecto al

tiempo.

La respuesta del diagrama de bloques del anexo 1 ilustración 1, se muestra en la figura 4.

Luego de establecer la señal de velocidad respecto al tiempo en MATLAB y en Simulink se puede afirmar que

se comportan igual, sin embargo se debe diseñar un controlador PI con el fin de que el tiempo de respuesta

aumente y mejorar la respuesta del sistema de control de crucero.

Page 6: Simulink Informe Final

6

Figura 5. Proceso para diseñar el control PI para control de crucero.

a) b)

4.1.4 DISEÑAR UN CONTROLADOR EN SIMULINK

Para este caso se diseñara un control PI, la implementación de este control ayudara a tener la respuesta

deseada de crucero para satisfacer las especificaciones de rendimiento del sistema. Se deben establecer los

siguientes pasos:

1. Para regular la respuesta deseada se diseñan dos ganancias una de Kp=800 y Ki=40. Para aplicar

esto en Simulink se debe contener el procedimiento anterior como un subsistema que será el

proceso o el modelo del sistema.

2. Luego de tener el subsistema, se pondrá un comparador, un integrador y las dos ganancias

previamente nombradas como se verá a continuación. La salida del bloque de suma brindará la

señal de error y a partir de esto se podrá generar componentes proporcional e integral. (Figura 5a)

3. Para generar los componentes proporcional e integrar se inserta otro comparador entre las

ganancias Ki y Kp, la salida del bloque del comparador se conecta a la entrada del bloque del

proceso. (Figura 5b)

4. Finalmente, se aplicará una señal Step de entrada para ver la salida con un bloque de alcance. El

diagrama de bloques se presenta en el anexo 1 ilustración 2.

La respuesta del sistema al diagrama de bloques planteado se muestra en la figura 6.

Page 7: Simulink Informe Final

7

Figura 7. Diagrama de cuerpo libre para un sistema de suspensión.

Figura 6. Señal de salida para el control de crucero con controlador PI.

4.2 SUSPENSIÓN

El diseño de un sistema de suspensión de un automóvil, se puede simplificar por medio de un modelo masa-

amortiguador analizando una sola rueda. Este modelo caracteriza la suspensión del sistema donde hay un

actuador que genera una fuerza de control con el fin de controlar el movimiento del bus. En la figura 7 se

muestra está simplificación del modelo con sus respectivos componentes de control.

Para modelar y analizar este sistema se requiere establecer ciertos parámetros iniciales:

(

)

( )

Page 8: Simulink Informe Final

8

( )

( )

( )

( )

4.2.1 MODELADO EN MATLAB

Según el diagrama del cuerpo libre del sistema y las leyes de newton, se pueden establecer una sumatoria de

fuerzas y conocer las ecuaciones de equilibrio dinámico. Sin embargo al tener en cuenta la masa del bus y

de la suspensión, se deben encontrar dos ecuaciones que satisfagan el comportamiento dinámico de cada

masa. A continuación se muestran las dos ecuaciones dinámicas que representan el comportamiento del

sistema a partir de los parámetros anteriormente mencionados.

( ) ( )

( ) ( ) ( ) ( )

El siguiente paso a seguir es encontrar la función de transferencia expresándolas las ecuaciones dinámicas

anteriores en forma de la transformada de Laplace, y así poder obtener ( ) y ( ) que están en función

de las entradas U y W.

( ) ( ) ( ) ( ) ( )

( ) ( ) ( ( ) ( )) ( ) ( ) ( ) ( )

Ya obtenidas las transformadas de Laplace y teniendo en cuenta que este sistema tiene múltiples entradas y

salidas, se resuelve el problema por medio de matrices. Como se ven en las siguientes ecuaciones se

establece que para obtener ( ) se declara W(s) como cero, mientras que para ( ) se declara U(s)

igual a cero.

( ) ( ) ( )

( ) ( )

( ) ( ) ( )

( )

Donde es el determinante de la matriz.

Page 9: Simulink Informe Final

9

Figura 8. Respuesta de un sistema de suspensión.

a) Sistema de suspensión sin perturbación. b) Sistema de suspensión con perturbación.

( )(

( ) ( )) ( )( )

4.2.2 ANALISIS EN MATLAB

Cuando el vehículo este experimentando cualquier perturbación en la carretera (W), el cuerpo no debe ser

sensible a estas perturbaciones o si lo es las oscilaciones en el sistema se deberán disipar rápidamente.

Teniendo en cuenta que esta solución es una estimación se utilizaran la distancia X1-X2-X1 como la salida

del sistema.

Debido a que W es la perturbación que puede ocurrir cuando el vehículo esté operando o en funcionamiento,

se podrá representar como una entrada escalón para poder simular cuando el vehiculó sale de algún bache.

Los primeros criterios de diseño para la salida X1-X2 son los siguientes:

Overshoot menor que 5%.

Setting time menor de 5 segundos.

Ahora ya se ingresan los comandos en MATLAB que comprenden paramentos y herramientas necesarias

para solucionar el problema teniendo en cuenta que se analizará por medio de un sistema de lazo abierto. Los

comandos anteriormente mencionados se encuentran en el anexo 2. En la figura 8 se muestra la respuesta

del sistema abierto diseñado y la respuesta del mismo ante una perturbación.

Page 10: Simulink Informe Final

10

Figura 5. Respuesta del sistema de suspensión en Simulink.

4.2.3 MODELADO EN SIMULINK

Este sistema se modelara sumando las fuerzas que actúan sobre ambas masas, además de integrar las

aceleraciones para obtener las salidas del sistema, en este caso las velocidades y las posiciones. El

diagrama de bloques del modelamiento por medio de Simulink se puede observar en el anexo 2 ilustración 3.

Luego de establecer la sumatoria de fuerzas se procede a modelar la segunda ley de newton para cada una

de las masas del cuerpo y de la suspensión, expresándolas de la siguiente manera:

Luego se establece la respectiva sumatoria de fuerzas por medio de comparadores teniendo en cuenta las

constantes de amortiguamiento y de resorte que se ubican en el diagrama de bloques como ganancias del

sistema, esto se puede apreciar en el anexo 2.

Page 11: Simulink Informe Final

11

Para la simulación es necesario declarar las variables en la plataforma de Matlab para no generar ningún

error. Los valores necesarios son:

M1= 2500

M2= 320

K1= 80000

K2=500000

B1= 350

B2=15020

Como se está considerando la perturbación del suelo (W), se adiciona al sistema por medio de una señal

escalonada la cual es derivada para representar y generar la fuerza de amortiguamiento de la rueda por

medio de una señal. Por último se ubicar una señal tipo escalón para simular la fuerza de control U en la

entrada conectándola a los elementos comparadores que hacen todo el desarrollo del respectivo

modelamiento (anexo 2). Como se puede apreciar en la figura 9, la señal se considera sub amortiguada.

4.2.4 DISEÑAR UN CONTROLADOR EN SIMULINK

Además de encontrar una respuesta del sistema de suspensión respecto a una fuerza de control U, Se debe

emplear un diseño de un controlador con el fin de encontrar la respuesta en el tiempo del sistema de una

forma adecuada, ya que los requerimientos de diseño se establece que el modelo debe tener un tiempo de

asentamiento de 5 segundos sin embargo con la fuerza de control que el problema establece se estabiliza en

un tiempo aproximado de 50 segundos.

Para iniciar con el controlador se pasa de Simulink a Matlab, extrayendo el código. A partir de cambiar la

señal de entrada por un bloque ln, y el scope por un out, como se muestra en la ilustración 4 del anexo 2, se

inserta en la plataforma de Matlab el siguiente código.

[A,B,C,D]=linmod(' ') suspenscontrol

[num,den]=ss2tf(A,B,C,D)

Es importante que dentro del parentisis y las comillas este el nombre con el que se ha guardado el archivo. Al

ingresar esto se generara un código en donde se tiene el state-space y la función de transferencia del modelo.

Ahora bien, se crea un subsistema en un nuevo archivo cambiando el bloque de la señal step que tiene el

valor de W por un bloque ln 1. Seguidamente se insertan una serie de bloques Out1, uno se conecta con la

ganancia de damper 1, el segundo se conecta a la línea en donde esta x1, el tercero se conectara a la línea

de v1. Lo anterior se evidencia en el diagrama de bloques de la ilustración 5 en el anexo 2.

El siguiente paso es generar el sistema de integral para Y1. Para ello se siguen los pasos:

Se inserta un bloque de integración y se conecta antes del bloque out 1 nombrado como y1.

Se inserta un bloque Out y se conecta a la línea de salida del bloque puesto en el paso anterior.

Siguiendo esto se ha creado el subsistema del modelo de suspensión. Ya en la ventana del nuevo archivo

creado se inserta un mux en el cual se conecta cada entrada con una de las salidas del subsistema.

Page 12: Simulink Informe Final

12

Seguidamente se inserta una señal tipo step con un step time y un final value de Cero. El resultado final del

sistema con controlador se muestra en la ilustración 6 del anexo 2.

4.3 AIRCRAFT PITCH

Es claro que una aeronave tiene seis grados de libertad, por lo que las ecuaciones que modelaran su

comportamiento son seis ecuaciones diferenciales no lineales. Sin embargo, bajo ciertas condiciones es

posible reducir el sistema a unas ecuaciones que describan el movimiento de cabeceo del avión, el cual está

gobernado por el eje longitudinal como se explicó anteriormente.

Teniendo esto claro, se tendrán las siguientes dos condiciones para el desarrollo del ejercicio que modelará

un sistema en donde la entrada es la deflexión del elevador y la salida será el ángulo de pitch de la

aeronave.

La aeronave está en vuelo recto y nivelado.

El cambio en el ángulo de pitch no producirá ningún cambio en la velocidad de la aeronave.

Una vez se tiene planteado lo anterior, se escogen unos criterios de diseño, de tal forma que la respuesta del

sistema a una señal escalonada sea la siguiente:

Overshoot menor al 10%

Rise time menor a 2 segundos.

Setting time menor a 10 segundos.

Steady-state error menor al 2%.

4.3.1 MODELADO EN MATLAB

Se establecen las ecuaciones de movimiento para la aeronave bajo las condiciones establecidas.

[ ( )

( ) ( ) ]

*, ( )- , ( )- ( ) -+

Para encontrar la función de transferencia del modelo, se utilizan las ecuaciones anteriores pero con los

valores de una aeronave comercial de Boeing.

Page 13: Simulink Informe Final

13

El siguiente paso que se debe seguir es encontrar la función de transferencia encontrando la transformada de

Laplace.

( )

El sistema que se modelará pretende tener una respuesta de 11° en la deflexión del elevador en un tiempo de

10 s. Ahora se tienen las herramientas necesarias para generar un código en Matlab y un sistema de bloques

en Simulink, que presente la información planteada.

4.3.2 MODELADO EN SIMULINK

El modelamiento del sistema se hace como un sistema abierto. La entrada al igual que en el numeral 4.3.1 es

una señal step, con un final value de 0.2 como se indicó anteriormente. El sistema de bloques se muestra en

el anexo 3. Para este sistema se utiliza un state-space en donde se escriben las ecuaciones de movimiento

pero reescritas en forma de matriz, así:

[

] [

] [ ] [

] , -

De igual forma puede escribirse la ecuación para la salida del sistema.

, - [ ]

Para configurar el bloque se tiene en cuenta lo anterior haciendo uso del comando eye(3), que permite asumir

que todas las variables van a ser medidas y no solo la de salida.

El resultado de este primer modelamiento no es estable y tiende a seguir aumentando, como se mostrará en

el numeral 4.3.3, por lo que es necesario utilizar un sistema de retroalimentación.

Ahora bien, para modelar un sistema que cumpla con los criterios establecidos inicialmente, se plantea un

diagrama de bloques cerrado como el mostrado en el anexo 3 ilustración 7. El cual tendrá una ganancia K,

con un valor que deberá ser calculado.

A partir de una serie de cálculos y códigos es posible encontrar el valor de K que compensara el sistema.

Finalmente, el resultado de K es , -. El valor encontrado se pone en el bloque

de ganancia como se muestra en la figura 12, es importante que se ponga multiplicación de matrices, ya que

como se muestra en el anexo 3 en el diagrama de bloques, esta ganancia se multiplicará con la salida del

state-space.

Page 14: Simulink Informe Final

14

Figura 12. Configuración de la ganancia en el sistema de pitch de una aeronave.

Los resultados se discuten en el numeral 4.3.3, haciendo la comparación entre los resultados obtenidos con

Matlab y con Simulink.

4.3.3 ANALISIS EN MATLAB

Como se describió en el numeral 4.3.1 la función de transferencia que modela el sistema es

( )

( )

Esta se evaluará bajo la condición de un sistema abierto y uno cerrado.

Evaluación en un sistema abierto

La figura 13 muestra el resultado obtenido a partir de Matlab y Simulink al sistema abierto planteado en lo

mostrado en el anexo 3.

De la figura 13 es posible concluir que en 10 segundos el sistema no es estable, y sigue aumentando, por lo

que no cumple con los parámetros establecidos en el numeral 4.3.1. Para evaluar las características de

estabilidad del sistema se encuentran los polos de la función de transferencia, siendo estos -0.3695 + 0.8857 i

y -0.3605 – 0.8857 i. Este resultado permite saber que a partir de una señal de entrada escalonada, la

respuesta del sistema seguirá aumentando ya que uno de los polos está en el eje imaginario.

Page 15: Simulink Informe Final

15

0 1 2 3 4 5 6 7 8 9 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Open-loop Step Response

Time (seconds)

pitc

h a

ngle

(ra

d)

Figura 13. Respuesta del sistema de abierto para el movimiento de cabeceo de una aeronave. Matlab (Izquierda) Simulink (Derecha)

Evaluación en un sistema cerrado

Esta evaluación se realiza para estabilizar el sistema, a partir del comparador y un elemento de monitoreo. El

modelamiento de este en Matlab y en Simulink variará, pero se pretende llegar a la misma respuesta. Para

Matlab, se debe encontrar la función de transferencia en tiempo continuo para el sistema, con el comando:

sys_cl = feedback(P_pitch,1)

La función de transferencia es:

A partir del código del Anexo 3, se encuentra la respuesta del sistema. Comparando la figura 13 y la figura 14,

se nota que a partir de un sistema cerrado es posible establecer el sistema. A partir de éste se encuentra que

el error del sistema es prácticamente cero. El setting time es de 35.1 s con un error de menos del 2%, el

steady state es de 0.2 rad y el rise time es de 1.79 s

Page 16: Simulink Informe Final

16

Closed-loop Step Response

Time (seconds)

pitc

h a

ngle

(ra

d)

0 10 20 30 40 50 60 70 80 90 1000

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

System: untitled1

Settling time (seconds): 35.1

De igual forma, se encuentran los polos y ceros de la función de transferencia, a partir de Matlab, siendo

estos los resultados:

poles = -0.3255 + 1.3816i -0.3255 - 1.3816i -0.0881

zeros = -0.1541

Para saber cómo afectan los polos y los ceros la respuesta del sistema cerrado, se transforma la señal de salida al

tiempo de dominio, generando una función que dependa del tiempo. La siguiente ecuación, puede reescribirse así:

( )

( )

Sabiendo que R(s) es la señal escalonada con una magnitud de 0.2. Por tanto la ecuación queda:

( ) ( )

Para pasar del espacio de Laplace al de tiempo, es necesario aplicar fracciones parciales a la ecuación anterior,

sabiendo esto se encuentran los coeficientes por medio de Matlab.

( )

Figura 14. Respuesta del sistema de cerrado para el movimiento de cabeceo de una aeronave.

Page 17: Simulink Informe Final

17

A= 0.2

B= -0.0881

C= -0.1121

D= -0.08071

Entonces,

( )

Teniendo la función como se muestra en la ecuación anterior, se puede encontrar la transformada de Laplace

inversa partir de Matlab con el código del anexo 3.

( ) ( )

Ahora bien, para el sistema cerrado en Simulink,

se describió que debería asociarse al sistema una

ganancia además de un controlador, como se

muestra en el diagrama de bloques del anexo 3,

la señal obtenida del nuevo sistema se muestra

en la figura 15. Si se compara la figura 14 con la

figura 15, se encuentra que en el caso de

Simulink, el sistema se estabiliza pero no en el

valor deseado, por lo que será necesario utilizar

un controlador que permita tener el valor que se

quiere, por tanto se agregará otra ganancia al

diagrama de bloques.

Figura 15. Respuesta del sistema retroalimentado para el movimiento de cabeceo de una aeronave.

Page 18: Simulink Informe Final

18

4.3.4 DISEÑAR UN CONTROLADOR EN SIMULINK

El valor de la ganancia que se utiliza para que la respuesta del sistema sea la deseada, es de 7.0711. Esta se inserta

después de la señal de entrada y antes del comparador. El resultado de este nuevo modelo se muestra en la figura

16.

Si bien este modelo permite obtener la respuesta deseada, la compensación utilizada no está dentro del lazo de

retroalimentación, por lo que el sistema ante una perturbación no responderá correctamente.. Para observar esto se

añade una perturbación tipo step, con las siguientes características:

Final value: 0.2

Step time: 3

Figura 16. Respuesta del sistema para el movimiento de cabeceo de una aeronave con controlador PID.

Page 19: Simulink Informe Final

19

Figura 17. (Arriba) Control de entrada del sistema. (Abajo) Señal de respuesta del sistema.

De la figura 17 se puede decir que a pesar del sistema tener un compensador, después de 3 segundos, éste deja de

dar la respuesta deseada, debido a la presencia de una perturbación.

Por otro lado, otra forma de controlar la respuesta del sistema es por medio de un controlador PID, en este caso se

dejaran los valores que por defecto utiliza Simulink, y lo único que se encontrara es la velocidad de la respuesta que

debería tener el controlador para obtener los parámetros deseados inicialmente. En este caso la velocidad de

respuesta fue de 0.0894 s como se muestra en la figura 18. El diagrama de bloques para este caso se muestra en la

ilustración 10 del anexo 3.

Figura 16. Respuesta del sistema con un controlador PID y una velocidad de respuesta estabilizante.

Page 20: Simulink Informe Final

20

5. CONCLUSIONES

A partir del desarrollo del laboratorio es posible concluir:

El uso de herramientas como Simulink y Matlab, facilita el diseño y análisis de sistemas de control, a partir

de la amplia cantidad de herramientas de las que dispone cada uno de los softwares.

El diseño de controladores para cualquier sistema es de gran importancia, ya que a partir de estos será que

podrán alcanzarse ciertos parámetros de diseño establecidos preliminarmente.

Es importante tener consistencia en el modelado de Simulink, ya que en sistemas complejos pueden llegar

a presentarse confusiones con las salidas y/o entradas de cada bloque.

Es necesario, conocer todas las herramientas que ofrece tanto Matlab como Simulink, para ser capaces de

generar códigos y sistemas a partir de ellas.

Page 21: Simulink Informe Final

21

REFERENCIAS

[1] Mazzone, V. (2002). Controladores PID. Control Automatico. Recuperado Marzo 14, 2015, de

http://www.eng.newcastle.edu.au/~jhb519/teaching/caut1/Apuntes/PID.pdf

[2] MATLAB HELP BROWSER.

[3] Amastegui, M. (2001). Apuntes de control PID. La Paz: Universidad Mayor de San Andres.

[4] MathWorks, I. (2004). Simulink response optimization: For use with Simulink : Getting started. (Version 2. ed.).

Natwick, MA: MathWorks.

[5] Pratap, R. (2002). Getting started with MATLAB: A quick introduction for scientists and engineers. New York:

Oxford University Press.

Page 22: Simulink Informe Final

22

ANEXO 1

SISTEMA PARA CONTROL DE CRUCERO

MATLAB

Comandos en MATLAB para conocer la respuesta en el tiempo analizando el sistema como un lazo abierto. Además

de conocer el diagrama de Bode y de polos-ceros.

m=1000; b=50; u=500; A=-b/m; B=1/m; C=1; D=0; cruise_ss=ss(A,B,C,D); s=tf('s'); pcruise=1/(m*s+b) step(pcruise*u) pzmap(pcruise)

axis([-1 1 -1 1])

bode(pcruise)

SIMULINK

Ilustración 1. Sistema cerrado para el control de crucero.

Page 23: Simulink Informe Final

23

Ilustración 2. Sistema con controlador PI para el control de crucero.

Page 24: Simulink Informe Final

24

Ilustración 3. Diagrama de bloques para un caso de suspensión.

ANEXO 2

SISTEMA DE SUSPENSIÓN

MATLAB

Comandos en MATLAB desarrollados, para el análisis de la suspensión de un vehículo. Donde se establecieron dos

ecuaciones de equilibrio dinámico debido a la masa del cuerpo del vehículo y a la de la suspensión para conocer

sus respectivas funciones de transferencia.

SISTEMA ABIERTO

M2=320;

>> k1=80000;

>> k2=500000;

>> b1=350;

>> b2=15020;

>> M1=2500;

>> s=tf('s');

>> G1=((M1+M2)*s^2+b2*s+k2)/((M1*s^2+b1*s+k1)*(M2*s^2+(b1+b2)*s+(k1+k2))-

(b1*s+k1)*(b1*s+k1));

>> step(G1)

SISTEMA ABIERTO CON PERTURBACIÓN

G2=(-M1*b2*s^3-M1*k2*s^2)/((M1*s^2+b1*s+k1)*(M2*s^2+(b1+b2)*s+(k1+k2))-

(b1*s+k1)*(b1*s+k1));

>> step(0.1*G2)

SIMULINK

Page 25: Simulink Informe Final

25

Ilustración 4. Diagrama de bloques para extraer código para Matlab.

CODIGO EXTRAIDO DE SIMULINK PARA MATLAB

A =

1.0e+03 *

0 0 0.0010 0

0 0 0 0.0010

-0.0320 0.0320 -0.0001 0.0001

0.2500 -1.8125 0.0011 -0.0480

B =

0

0

0.0004

-0.0031

C =

Page 26: Simulink Informe Final

26

Ilustración 6. Diagrama de bloques del subsistema de suspensión.

1 -1 0 0

D =

0

num =

0 0 0.0035 0.0188 0.6250

den =

1.0e+04 *

0.0001 0.0048 0.1851 0.1721 5.0000

Ilustración 5. Sistema de suspensión con controlador.

Page 27: Simulink Informe Final

27

ANEXO 3

AIRCRAFT PITCH

Para el entorno de trabajo.

s = tf ('s');

P_pitch = (1.151*s+0.1774)/(s^3+0.739*s^2+0.921*s)

A = [-0.313 56.7 0; -0.0139 -0.426 0; 0 56.7 0];

B = [0.232; 0.0203; 0];

C = [0 0 1];

D = [0];

pitch_ss = ss (A,B,C,D)

Respuesta del sistema en sistema abierto.

s = tf('s'); P_pitch = (1.151*s+0.1774)/(s^3+0.739*s^2+0.921*s); t = [0:0.01:10]; step(0.2*P_pitch,t); axis([0 10 0 0.8]); ylabel('pitch angle (rad)'); title('Open-loop Step Response');

Respuesta del sistema a un sistema cerrado sys_cl = feedback(P_pitch,1) step(0.2*sys_cl); axis([0 100 0 0.215]); ylabel('pitch angle (rad)'); title('Closed-loop Step Response'); grid on poles = pole(sys_cl) zeros = zero(sys_cl) R = 0.2/s; Y = zpk(sys_cl*R) [r,p,k] = residue(0.2*[1.151 0.1774],[1 0.739 2.072 0.1774 0]) [num,den] = residue(r(1:2),p(1:2),k); tf(num,den)

Para la inversa de Laplace

syms s; A=0.2/s ft=ilaplace(A) B=-0.0881/(s+0.08805) ft1=ilaplace(B)

Page 28: Simulink Informe Final

28

simplify(ft1) C=-(0.1121*s+0.08071)/(s^2+0.6509*s+2.015) ft2=ilaplace(C)

Grafica de tiempo continuo

t = [0:0.1:75]; y = 0.2 - 0.0881*exp(-0.08805*t) - exp(-

0.3255*t).*(0.1121*cos(1.3816*t)+0.0320*sin(1.3816*t)); plot(t,y) xlabel('time (sec)'); ylabel('pitch angle (rad)'); title('Closed-loop Step Response'); grid on

SIMULINK

Ilustración 7. Sistema de bloques para el ángulo de pitch sin retroalimentación.

Ilustración 8. Sistema de bloques para el ángulo de pitch con retroalimentación.

Page 29: Simulink Informe Final

29

Ilustración 9. Sistema de bloques para el ángulo de pitch con controlador.

Ilustración 11. Sistema de bloques para el ángulo de pitch con perturbación.

Ilustración 10. Sistema de bloques para el angulo de pitch con una controlador PID.