Integrador, Realimentación y Control

10
Prctica 1 Integrador, realimentaci´ on y control El programa Simulink es un programa incluido dentro de Matlab que sirve para realizar la integraci´ on num´ erica de ecuaciones diferenciales a efectos de simular el comportamiento de sistemas din´ amicos. Dicho de otro modo, Simulink permite realizar simulaciones. El programa se usa mediante un entorno gr´ afico con rat´ on, men´ us y botones. El modelo del sistema din´ amico se construye agregando bloques a un diagrama en una ventana del programa Matlab. El diagrama contiene bloques que producen se˜ nales de entrada, bloques que representan funciones de transferencia y visores para observar la evoluci´ on de las se˜ nales de salida. En esta pr´ actica se va a estudiar el uso de los bloques integrador, sumador, ganancia y funci´ on de transferencia. Se construir´ an modelos simples de sistemas lineales continuos en Simulink y se observar´ an que los resultados de las simulaciones se corresponden con lo que se ha estudiado en las clases te´ oricas. 1.1 Realizaci´ on Se recomienda al alumno que siga estos pasos: Antes de la pr´ actica lea detenidamente estas notas y repase los conceptos y desarrollos te´ oricos de los temas 1 al 5. En base a esto, debe realizar el trabajo previo para obtener las respuestas correspondientes a dicho trabajo. Durante la pr´ actica vaya realizando los ejercicios que se proponen y tome nota en una hoja aparte de los resultados obtenidos. Una vez terminada, rellene el formulario de repuestas en Goodle (ver la ´ ultima secci´ on). La pr´ actica contiene material abundante para que nadie quede ocioso. No tenga prisa por llegar al final. En lugar de eso observe adecuadamente cada simulaci´ on y extraiga conclusiones que le sirvan para afianzar los conocimientos te´ oricos. 1.1.1 Matlab y Simulink Para poner en marcha el programa Matlab se ha de pulsar el icono correspondiente en el escritorio de Windows. Al arrancar el programa aparecer´ an una ventana conteniendo varias subventanas. olo se va a utilizar la que tiene por nombre Command Window, ventana de ´ ordenes por lo que pueden cerrar las otras subventanas. El programa Matlab permite realizar c´ alculos matem´ aticos de manera parecida a una calcu- ladora. Se utiliza escribiendo operaciones en la ventana de ´ ordenes. Por ejemplo, si se escribe: sqrt(16) 1

Transcript of Integrador, Realimentación y Control

Page 1: Integrador, Realimentación y Control

Prctica 1

Integrador, realimentacion y control

El programa Simulink es un programa incluido dentro de Matlab que sirve para realizar laintegracion numerica de ecuaciones diferenciales a efectos de simular el comportamiento desistemas dinamicos. Dicho de otro modo, Simulink permite realizar simulaciones.

El programa se usa mediante un entorno grafico con raton, menus y botones. El modelo delsistema dinamico se construye agregando bloques a un diagrama en una ventana del programaMatlab. El diagrama contiene bloques que producen senales de entrada, bloques que representanfunciones de transferencia y visores para observar la evolucion de las senales de salida.

En esta practica se va a estudiar el uso de los bloques integrador, sumador, ganancia y funcionde transferencia. Se construiran modelos simples de sistemas lineales continuos en Simulink yse observaran que los resultados de las simulaciones se corresponden con lo que se ha estudiadoen las clases teoricas.

1.1 Realizacion

Se recomienda al alumno que siga estos pasos:

• Antes de la practica lea detenidamente estas notas y repase los conceptos y desarrollosteoricos de los temas 1 al 5. En base a esto, debe realizar el trabajo previo para obtenerlas respuestas correspondientes a dicho trabajo.

• Durante la practica vaya realizando los ejercicios que se proponen y tome nota en una hojaaparte de los resultados obtenidos.

• Una vez terminada, rellene el formulario de repuestas en Goodle (ver la ultima seccion).

• La practica contiene material abundante para que nadie quede ocioso. No tenga prisapor llegar al final. En lugar de eso observe adecuadamente cada simulacion y extraigaconclusiones que le sirvan para afianzar los conocimientos teoricos.

1.1.1 Matlab y Simulink

Para poner en marcha el programa Matlab se ha de pulsar el icono correspondiente en el escritoriode Windows. Al arrancar el programa apareceran una ventana conteniendo varias subventanas.Solo se va a utilizar la que tiene por nombre Command Window, ventana de ordenes por lo quepueden cerrar las otras subventanas.

El programa Matlab permite realizar calculos matematicos de manera parecida a una calcu-ladora. Se utiliza escribiendo operaciones en la ventana de ordenes. Por ejemplo, si se escribe:

sqrt(16)

1

Page 2: Integrador, Realimentación y Control

2 PRCTICA 1. INTEGRADOR, REALIMENTACION Y CONTROL

Figura 1.1: Ventana de herramientas de Simulink (izquierda) y ventana de ordenes de Matlab(derecha).

el programa realiza la operacion indicada y responde en la pantalla con el resultado que esla raız cuadrada (SQuare RooT) de 16.

Para realizar simulaciones de sistemas dinamicos hay que poner en marcha una componentede Matlab llamada Simulink. Para ello basta con escribir simulink en la ventana de ordenes.Se abre con ello una nueva ventana que contiene las herramientas con las que se trabajara enesta practica.

La figura 1.1 muestra el aspecto de la ventana de ordenes de Matlab y la ventana de her-ramientas de Simulink llamada tambien biblioteca de bloques.

Para comenzar a usar Simulink es preciso abrir un nuevo diagrama. Para ello se puede pulsar

sobre el icono: de la ventana de herramientas o bien en el menu File → New → Model.Aparece una nueva ventana que contendra el modelo del sistema que se quiere simular. Estaventana recibe el nombre de ventana del modelo o ventana del diagrama del modelo.

Para construir un diagrama se arrastraran elementos desde la ventana de herramientas hastala ventana de diagrama. Los elementos se uniran luego con flechas, dando lugar a un diagramade bloques. Cada flecha representa una senal diferente de la cual podremos obtener, al realizaruna simulacion, su valor a lo largo del tiempo. El aspecto de los bloques en la pantalla puedediferir de unas versiones a otras de Matlab por lo que debera poner atencion a los nombres queaparecen debajo de cada bloque.

1.2 Integradores

Los integradores nos permiten modelar sistemas dinamicos lineales y no lineales descritos medi-ante un modelo en espacio de estados. El hecho de que los sistemas sean representados medianteecuaciones diferenciales implica que sera necesario integrar dichas ecuaciones para poder simu-lar cual sera la evolucion temporal del sistema. Simulink ofrece una herramienta de integracionnumerica que incluye varios metodos de integracion. Esto permite integrar senales temporales,independientemente de que el sistema sea lineal o no.

Page 3: Integrador, Realimentación y Control

Figura 1.2: Integral de un escalon.

Para integrar directamente senales temporales Simulink incluye un bloque llamado “inte-grador” (integrator), el cual puede obtenerse de la biblioteca de elementos de tiempo continuo(continuous). Este componente proporciona una salida y igual a la integracion temporal de suentrada u (y(t) =

∫ t0 u(τ)dτ).

En la figura 1.2 se propone un pequeno modelo para ilustrar como funciona el bloque inte-grador. Se introduce a su entrada un escalon y se observa que la salida del integrador es unarampa.

La senal de entrada del integrador proviene en este ejemplo de un bloque escalon (step)sacado de la biblioteca de fuentes (sources). La salida del bloque integrador se reune con laentrada en el bloque multiplexador (mux) para que ambas sean mostradas en la grafica dibujadacon el bloque visor (scope).

Trabajo en el laboratorio:

• Crear el diagrama de la figura 1.2 utilizando el raton para arrastrar los bloques necesariosa la ventana de trabajo y para conectarlos mediante lıneas.

• Poner en marcha la simulacion y observar que el resultado obtenido en la grafica es elesperado.

• Medir el valor de y(t) en t = 8 segundos frente a u(t) = 3 ∗ escalon(t− 3) [p1] y frente au(t) = −escalon(t− 5) [p2].

• Pulsar dos veces sobre el bloque escalon para acceder a sus propiedades. Cambiar lasopciones del escalon para cambiar el tiempo en el que el escalon cambia de valor y laamplitud del mismo. Rehacer la simulacion (pulsando el boton ⊲) y observar los cambiosen la grafica.

• Medir el valor de y(t) en t = 14 segundos frente a u(t) = 0.5 ∗ escalon(t − 1) y y(0) = 5[p3].

Notas:

• Todos los bloques de Simulink tienen parametros que podemos cambiar pulsando dos vecescon el raton en el diagrama.

• La bifurcacion de senales se consigue mediante el boton secundario del raton.

Page 4: Integrador, Realimentación y Control

4 PRCTICA 1. INTEGRADOR, REALIMENTACION Y CONTROL

Figura 1.3: Realimentando un integrador se obtiene un sistema de primer orden.

• Para cambiar el instante final de la simulacion acceder a: Menu-Simulation-Simulationparameters-Stop time.

• Las condiciones iniciales del integrador se cambian pulsando dos veces con el raton sobreel bloque.

1.3 Realimentacion

A partir del diagrama del punto anterior se puede crear el mostrado en la figura 1.3. Se observaque la salida del integrador ha sido realimentada. Este modelo representa la siguiente ecuaciondiferencial:

dy(t)

dt= u(t)− y(t)

Este sistema dinamico tiene la siguiente funcion de transferencia:

G(s) =1

1 + s(1.1)

Es decir, el bloque es un sistema lineal de primer orden con ganancia estatica igual a uno yconstante de tiempo igual a un segundo.

Trabajo en el laboratorio:

• Crear el diagrama de la figura 1.3.

• Poner en marcha la simulacion.

• Observar que el resultado obtenido en la grafica de la pantalla es el correcto.

• Medir el valor de y(t) en t = 5 segundos frente a r(t) = 3 ∗ escalon(t − 3) con y(0) = 0[p4] y el valor de y(t) en t = 4 segundos frente a r(t) = −2 ∗ escalon(t− 2) con y(0) = 1[p5].

Notas:

• El bloque para sumar senales se encuentra en la librerıa Math Operations (bloque Sum

o Add). El bloque es redondo y se puede cambiar el signo de la suma y el numero deentradas accediendo a las propiedades del mismo.

• La entrada al sistema realimentado se denomina r(t). La senal u(t) es la entrada alintegrador.

Page 5: Integrador, Realimentación y Control

Figura 1.4: El bloque “funcion de transferencia” de Simulink.

1.4 Funcion de transferencia

Para utilizar funciones de transferencia dentro de Simulink basta con incluir un bloque de labiblioteca de bloques de tiempo continuo tal y como se presenta en la figura 1.4.

Para lograr que el bloque “funcion de transferencia” de Simulink se corresponda con unafuncion de transferencia dada, por ejemplo

G(s) =1.5

2s2 + s

basta con modificar los parametros del mismo. Para ello se ha de arrastrar el bloque hasta laventana de trabajo y se ha de pulsar dos veces sobre el mismo. Aparece un cuadro de dialogoen el que se introducen los coeficientes del numerador y denominador de G(s). El numerador esel polinomio N(s) = 1.5, mientras que el denominador es D(s) = 2s2 + s + 0, lo cual se indicamediante los dos vectores siguientes: [1.5] y [2 1 0], como se muestra en la figura 1.4.

Para realizar un caso practico se va a utilizar la funcion de transferencia correspondiente aun motor de corriente continua (caso simplificado). Tomando como salida la posicion del eje dela carga θ [rad] y como entrada la tension aplicada sobre el mismo u [V], la ecuacion diferencialdel modelo es

τmd2θ

dt2+ b

dt= Kmu

Los parametros del modelo se obtienen a partir de las dos ultimas cifras del DNI (D7 y D8),segun la siguientes expresiones.

Km = 0.5(D7 + 1)

τm = (D8 + 1)

b = 1

Por ejemplo, para un numero de DNI 48.324.263, D7 = 6 y D8 = 3, por lo que Km = 3.5 yτm = 4.

Page 6: Integrador, Realimentación y Control

6 PRCTICA 1. INTEGRADOR, REALIMENTACION Y CONTROL

Trabajo previo:

• Calcule la funcion de transferencia Gv(s) que relaciona la velocidad de giro del motor θ

con la tension u. Almacene el numerador en [p6] y el denominador en [p7] utilizando elmismo formato usado para definir el bloque funcion de transferencia.

• Determine θ(t) en t = 2 frente a u(t) = 5∗escalon(t) V [p8].

• Calcule la funcion de transferencia Gp(s) tomando como salida θ. Almacene el numeradoren [p9] y el denominador en [p10] utilizando el mismo formato usado para definir elbloque funcion de transferencia.

• Determine θ(t) en t = 3 frente a u(t) = 5∗escalon(t) V [p11].

Trabajo en el laboratorio:

• Crear un diagrama usando un bloque funcion de transferencia para simular la respuestade la velocidad del motor frente a una entrada escalon, ver figura 1.7. Incluir un bloquefuncion de transferencia para modelar Gv(s), una entrada en escalon, un multiplexor y unvisor.

• Poner en marcha la simulacion y observar que el resultado obtenido en la grafica es elesperado.

• Medir el valor de la velocidad 2 segundos despues de un escalon a la entrada de amplitudu(t) = 5V [p12].

• Crear un diagrama usando un bloque funcion de transferencia para simular la respuestade la posicion del motor frente a una entrada escalon. Incluir un bloque funcion de trans-ferencia para modelar Gp(s), una entrada en escalon, un multiplexor y un visor.

• Poner en marcha la simulacion y observar que el resultado obtenido en la grafica es elesperado.

• Medir el valor de la posicion 3 segundos despues de un escalon a la entrada de amplitudu(t) = 5V [p13].

Notas:

• No definir el denominador o el numerador de una funcion de transferencia con un vectorque comience con un “0”. Simulink devuelve un error en ese caso.

• Un sistema descrito mediante una funcion de transferencia parte de condiciones inicialesnulas, mientras que un sistema descrito mediante una ecuacion diferencial (usando inte-gradores) puede partir de cualquier condicion inicial (modificando el valor inicial de losintegradores).

1.5 Realimentacion del motor

Mediante la realimentacion se puede lograr el control de la salida de un sistema. En este ejerciciose va a partir del diagrama anterior correspondiente al sistema dado por Gp(s) y se va a anadirla realimentacion de la salida (posicion o angulo girado). El diagrama que resulta se muestra enla figura 1.6.

Page 7: Integrador, Realimentación y Control

Figura 1.5: Ejemplo de modelo para simular un sistema descrito mediante una funcion detransferencia.

Figura 1.6: Diagrama para el control de la posicion de un motor de corriente continua.

Observese que la senal en escalon no es el voltaje, sino el angulo deseado o angulo de ref-erencia. Esta senal (a la que denotaremos con r(t) = θd(t)) indica cual es el valor que sequiere que tome la salida del sistema como resultado del control. El voltaje u(t) = Va(t) esahora una variable intermedia que se obtiene como resultado de multiplicar el error de posicionr(t) − y(t) = θd(t) − θ(t) por la ganancia A. La ganancia A es un parametro del sistema quepuede tomar diferentes valores.

Trabajo previo:

• Calcule la funcion de transferencia del sistema realimentado Gbc(s) =θ(s)R(s) cuya salida es

θ(t) y cuya entrada es r(t) para A = 1. Almacene el numerador en [p14] y el denominadoren [p15] utilizando el mismo formato usado para definir el bloque funcion de transferencia.

• Determine θ(t) en t = 5s cuando r(t) = 0.5 ∗ escalon(t) rad para A = 1 [p16].

Trabajo en el laboratorio:

• Crear el diagrama de la figura 1.6 para simular el motor realimentado ante una entradaescalon.

• Poner en marcha la simulacion y observar que el resultado obtenido en la grafica es elesperado.

Page 8: Integrador, Realimentación y Control

8 PRCTICA 1. INTEGRADOR, REALIMENTACION Y CONTROL

• Calcule experimentalmente el mayor valor de la ganancia A que hace que el sistema nopresente sobreoscilaciones ante frente r(t) = 0.5∗escalon(t) [p17]. Un sistema no presentasobreoscilaciones si la senal no supera nunca el valor de regimen permanente durante eltransitorio.

• Calcule experimentalmente el mayor valor de la ganancia A que hace que θ(t) ≤ 0.6 radpara todo instante de tiempo t frente r(t) = 0.5 ∗ escalon(t) [p18].

• Compruebe que con la funcion de transferencia del sistema realimentado se obtienenidenticos resultados. Para ello crear un diagrama usando un bloque funcion de trans-ferencia para simular la respuesta de la posicion del motor en bucle cerrado. Incluir unbloque funcion de transferencia para modelar Gbc(s), una entrada en escalon, un multi-plexor y un visor. Es un modelo de Simulink diferente pero que simula el comportamientodel mismo sistema.

• Modificar el diagrama 1.6 para realizar una simulacion del motor realimentado con A = 1cuando se excita con una onda sinusoidal r(t) = sen(Ωt). Ω es un parametro que puedetomar diferentes valores. Para hacer el diagrama hay que sustituir el bloque escalon porun bloque de senal sinusoidal.

• Medir la amplitud de la posicion en regimen permanente cuando se excita con una ondasinusoidal de Ω = 1 [p19], con una onda sinusoidal de Ω = 10 [p20], con una ondasinusoidal de Ω = 50 [p21] y con una onda sinusoidal de Ω = 0.1 [p22].

Notas:

• Para realizar la simulacion con entradas senoidales, cambiar el metodo numerico de inte-gracion de Simulink Menu-Simulation-Simulation parameters-Solver-Ode23.

Figura 1.7: Menu para cambiar el metodo de integracion de Simulink.

Page 9: Integrador, Realimentación y Control

1.6 Instrucciones para entregar las respuestas en Goodle

Las respuestas del modulo entregaran en Goodle. La pagina web del servidor es:

http://bono.us.es/sdocencia

Para entregar el proyecto hay que darse de alta en Goodle siguiendo las instrucciones delfichero “guia.pdf” disponible en la pagina web de la asigntura. La entrega de los resultadosconsiste en rellenar el formulario de texto siguiendo las siguientes instrucciones:

• Cada respuesta correspondiente a una cuestion de trabajo en el centro de calculo tieneasignado un nombre. En el enunciado de la practica se indica con una etiqueta entrecorchetes cada respuesta que hay que entregar.

Ejemplo: A la primera respuesta (valor de la salida del integrador en t = 8 segundos frentea u(t) = 3 ∗ escalon(t− 3)) le corresponde el nombre p1 y a la ultima respuesta (amplitudde la posicion del sistema realimentado en regimen permanente frente a r(t) = sen(0.1t))le corresponde el nombre p22.

• Para cada respuesta hay que escribir una lınea con el siguiente formato:

nombre = valor;

Ejemplo: Para responder que el valor de la salida del integrador en t = 8 segundos frentea u(t) = 3 ∗ escalon(t− 3) es 65 y que la amplitud de la posicion del sistema realimentadoen regimen permanente frente a r(t) = sen(0.1t) es de 0.45 hay que escribir las siguientelıneas:

p1 = 65;

p22 = 0.45;

• Para las respuestas p6, p7, p9, p10, p14 y p15 hay que utilizar el formato usado paradefinir un bloque funcion de transferencia. Por ejemplo para indicar que

Gbc(s) =2.4s + 1

3s2 + 0.45

hay que escribir las siguiente lıneas:

p14 = [2.4 1];

p15 = [3 0 0.45];

Nota: En el caso de que alguno de los polinomios sea una constante, no utilizar loscorchetes. Por ejemplo para indicar que

Gbc(s) =7

3s2 + 0.45

hay que escribir las siguiente lıneas:

p14 = 7;

p15 = [3 0 0.45];

Page 10: Integrador, Realimentación y Control

10 PRCTICA 1. INTEGRADOR, REALIMENTACION Y CONTROL

• Los decimales se separan utilizando el punto, no la coma:

p7 = 0.5;

• Goodle rechaza los envıos con errores de sintaxis.

• Es recomendable guardar la respuesta en un fichero de texto plano antes de enviarla, porejemplo utilizando el bloc de notas de Windows.

Ejemplo de formulario relleno(los numeros son aleatorios)

p1 = 3;

p2 = 4.3;

p3 = 0.65;

p4 = 23.4;

p5 = 34;

p6 = [9 0 2];

p7 = [7 3 2 1];

p8 = 12;

p9 = [1];

p10 = [9 3];

p11 = 43.5;

p12 = 34.1;

p13 = 5.2;

p14 = [2.4 1];

p15 = [3 0 0.45];

p16 = 4.5;

p17 = 0.001;

p18 = 0.03;

p19 = 45.3;

p20 = 2;

p21 = 4.5;

p22 = 32;