Integrador, realimentación y control

Anuncio
Prctica 1
Integrador, realimentación y control
El programa Simulink es un programa incluido dentro de Matlab que sirve para realizar la
integración numérica de ecuaciones diferenciales a efectos de simular el comportamiento de
sistemas dinámicos. Dicho de otro modo, Simulink permite realizar simulaciones.
El programa se usa mediante un entorno gráfico con ratón, menús y botones. El modelo del
sistema dinámico se construye agregando bloques a un diagrama en una ventana del programa
Matlab. El diagrama contiene bloques que producen señales de entrada, bloques que representan
funciones de transferencia y visores para observar la evolución de las señales de salida.
En esta práctica se va a estudiar el uso de los bloques integrador, sumador, ganancia y función
de transferencia. Se construirán modelos simples de sistemas lineales continuos en Simulink y
se observarán que los resultados de las simulaciones se corresponden con lo que se ha estudiado
en las clases teóricas.
1.1
Realización
Se recomienda al alumno que siga estos pasos:
• Antes de la práctica lea detenidamente estas notas y repase los conceptos y desarrollos
teóricos 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áctica 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 última sección).
• La práctica contiene material abundante para que nadie quede ocioso. No tenga prisa
por llegar al final. En lugar de eso observe adecuadamente cada simulación y extraiga
conclusiones que le sirvan para afianzar los conocimientos teóricos.
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án una ventana conteniendo varias subventanas.
Sólo se va a utilizar la que tiene por nombre Command Window, ventana de órdenes por lo que
pueden cerrar las otras subventanas.
El programa Matlab permite realizar cálculos matemáticos de manera parecida a una calculadora. Se utiliza escribiendo operaciones en la ventana de órdenes. Por ejemplo, si se escribe:
sqrt(16)
1
2
PRCTICA 1. INTEGRADOR, REALIMENTACIÓN Y CONTROL
Figura 1.1: Ventana de herramientas de Simulink (izquierda) y ventana de órdenes de Matlab
(derecha).
el programa realiza la operación indicada y responde en la pantalla con el resultado que es
la raı́z cuadrada (SQuare RooT) de 16.
Para realizar simulaciones de sistemas dinámicos hay que poner en marcha una componente
de Matlab llamada Simulink. Para ello basta con escribir simulink en la ventana de órdenes.
Se abre con ello una nueva ventana que contiene las herramientas con las que se trabajará en
esta práctica.
La figura 1.1 muestra el aspecto de la ventana de órdenes de Matlab y la ventana de herramientas de Simulink llamada también 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 menú File → New → Model.
Aparece una nueva ventana que contendrá el modelo del sistema que se quiere simular. Esta
ventana recibe el nombre de ventana del modelo o ventana del diagrama del modelo.
Para construir un diagrama se arrastrarán elementos desde la ventana de herramientas hasta
la ventana de diagrama. Los elementos se unirán luego con flechas, dando lugar a un diagrama
de bloques. Cada flecha representa una señal diferente de la cual podremos obtener, al realizar
una simulación, su valor a lo largo del tiempo. El aspecto de los bloques en la pantalla puede
diferir de unas versiones a otras de Matlab por lo que deberá poner atención a los nombres que
aparecen debajo de cada bloque.
1.2
Integradores
Los integradores nos permiten modelar sistemas dinámicos lineales y no lineales descritos mediante un modelo en espacio de estados. El hecho de que los sistemas sean representados mediante
ecuaciones diferenciales implica que será necesario integrar dichas ecuaciones para poder simular cual será la evolución temporal del sistema. Simulink ofrece una herramienta de integración
numérica que incluye varios métodos de integración. Esto permite integrar señales temporales,
independientemente de que el sistema sea lineal o no.
Figura 1.2: Integral de un escalón.
Para integrar directamente señales temporales Simulink incluye un bloque llamado “integrador” (integrator), el cual puede obtenerse de la biblioteca de elementos de tiempo continuo
(continuous). EsteR componente proporciona una salida y igual a la integración temporal de su
entrada u (y(t) = 0t u(τ )dτ ).
En la figura 1.2 se propone un pequeño modelo para ilustrar cómo funciona el bloque integrador. Se introduce a su entrada un escalón y se observa que la salida del integrador es una
rampa.
La señal de entrada del integrador proviene en este ejemplo de un bloque escalón (step)
sacado de la biblioteca de fuentes (sources). La salida del bloque integrador se reúne con la
entrada en el bloque multiplexador (mux) para que ambas sean mostradas en la gráfica dibujada
con el bloque visor (scope).
Trabajo en el laboratorio:
• Crear el diagrama de la figura 1.2 utilizando el ratón para arrastrar los bloques necesarios
a la ventana de trabajo y para conectarlos mediante lı́neas.
• Poner en marcha la simulación y observar que el resultado obtenido en la gráfica es el
esperado.
• Medir el valor de y(t) en t = 8 segundos frente a u(t) = 3 ∗ escalon(t − 3) [p1] y frente a
u(t) = −escalon(t − 5) [p2].
• Pulsar dos veces sobre el bloque escalón para acceder a sus propiedades. Cambiar las
opciones del escalón para cambiar el tiempo en el que el escalón cambia de valor y la
amplitud del mismo. Rehacer la simulación (pulsando el botón ⊲) y observar los cambios
en la gráfica.
• 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 parámetros que podemos cambiar pulsando dos veces
con el ratón en el diagrama.
• La bifurcación de señales se consigue mediante el botón secundario del ratón.
4
PRCTICA 1. INTEGRADOR, REALIMENTACIÓN Y CONTROL
Figura 1.3: Realimentando un integrador se obtiene un sistema de primer orden.
• Para cambiar el instante final de la simulación acceder a: Menu-Simulation-Simulation
parameters-Stop time.
• Las condiciones iniciales del integrador se cambian pulsando dos veces con el ratón sobre
el bloque.
1.3
Realimentación
A partir del diagrama del punto anterior se puede crear el mostrado en la figura 1.3. Se observa
que la salida del integrador ha sido realimentada. Este modelo representa la siguiente ecuación
diferencial:
dy(t)
= u(t) − y(t)
dt
Este sistema dinámico tiene la siguiente función de transferencia:
1
(1.1)
1+s
Es decir, el bloque es un sistema lineal de primer orden con ganancia estática igual a uno y
constante de tiempo igual a un segundo.
G(s) =
Trabajo en el laboratorio:
• Crear el diagrama de la figura 1.3.
• Poner en marcha la simulación.
• Observar que el resultado obtenido en la gráfica 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 señales 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 número de
entradas accediendo a las propiedades del mismo.
• La entrada al sistema realimentado se denomina r(t). La señal u(t) es la entrada al
integrador.
Figura 1.4: El bloque “función de transferencia” de Simulink.
1.4
Función de transferencia
Para utilizar funciones de transferencia dentro de Simulink basta con incluir un bloque de la
biblioteca de bloques de tiempo continuo tal y como se presenta en la figura 1.4.
Para lograr que el bloque “función de transferencia” de Simulink se corresponda con una
función de transferencia dada, por ejemplo
G(s) =
1.5
2s2 + s
basta con modificar los parámetros del mismo. Para ello se ha de arrastrar el bloque hasta la
ventana de trabajo y se ha de pulsar dos veces sobre el mismo. Aparece un cuadro de diálogo
en el que se introducen los coeficientes del numerador y denominador de G(s). El numerador es
el polinomio N (s) = 1.5, mientras que el denominador es D(s) = 2s2 + s + 0, lo cual se indica
mediante los dos vectores siguientes: [1.5] y [2 1 0], como se muestra en la figura 1.4.
Para realizar un caso práctico se va a utilizar la función de transferencia correspondiente a
un motor de corriente continua (caso simplificado). Tomando como salida la posición del eje de
la carga θ [rad] y como entrada la tensión aplicada sobre el mismo u [V], la ecuación diferencial
del modelo es
d2 θ
dθ
τm 2 + b
= Km u
dt
dt
Los parámetros del modelo se obtienen a partir de las dos últimas cifras del DNI (D7 y D8),
según la siguientes expresiones.
Km = 0.5(D7 + 1)
τm = (D8 + 1)
b = 1
Por ejemplo, para un número de DNI 48.324.263, D7 = 6 y D8 = 3, por lo que Km = 3.5 y
τm = 4.
6
PRCTICA 1. INTEGRADOR, REALIMENTACIÓN Y CONTROL
Trabajo previo:
• Calcule la función de transferencia Gv (s) que relaciona la velocidad de giro del motor θ̇
con la tensión u. Almacene el numerador en [p6] y el denominador en [p7] utilizando el
mismo formato usado para definir el bloque función de transferencia.
• Determine θ̇(t) en t = 2 frente a u(t) = 5∗ escalon(t) V [p8].
• Calcule la función de transferencia Gp (s) tomando como salida θ. Almacene el numerador
en [p9] y el denominador en [p10] utilizando el mismo formato usado para definir el
bloque función 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 función de transferencia para simular la respuesta
de la velocidad del motor frente a una entrada escalón, ver figura 1.7. Incluir un bloque
función de transferencia para modelar Gv (s), una entrada en escalón, un multiplexor y un
visor.
• Poner en marcha la simulación y observar que el resultado obtenido en la gráfica es el
esperado.
• Medir el valor de la velocidad 2 segundos después de un escalón a la entrada de amplitud
u(t) = 5V [p12].
• Crear un diagrama usando un bloque función de transferencia para simular la respuesta
de la posición del motor frente a una entrada escalón. Incluir un bloque función de transferencia para modelar Gp (s), una entrada en escalón, un multiplexor y un visor.
• Poner en marcha la simulación y observar que el resultado obtenido en la gráfica es el
esperado.
• Medir el valor de la posición 3 segundos después de un escalón a la entrada de amplitud
u(t) = 5V [p13].
Notas:
• No definir el denominador o el numerador de una función de transferencia con un vector
que comience con un “0”. Simulink devuelve un error en ese caso.
• Un sistema descrito mediante una función de transferencia parte de condiciones iniciales
nulas, mientras que un sistema descrito mediante una ecuación diferencial (usando integradores) puede partir de cualquier condición inicial (modificando el valor inicial de los
integradores).
1.5
Realimentación del motor
Mediante la realimentación se puede lograr el control de la salida de un sistema. En este ejercicio
se va a partir del diagrama anterior correspondiente al sistema dado por Gp (s) y se va a añadir
la realimentación de la salida (posición o ángulo girado). El diagrama que resulta se muestra en
la figura 1.6.
Figura 1.5: Ejemplo de modelo para simular un sistema descrito mediante una función de
transferencia.
Figura 1.6: Diagrama para el control de la posición de un motor de corriente continua.
Obsérvese que la señal en escalón no es el voltaje, sino el ángulo deseado o ángulo de referencia. Esta señal (a la que denotaremos con r(t) = θd (t)) indica cuál es el valor que se
quiere que tome la salida del sistema como resultado del control. El voltaje u(t) = Va (t) es
ahora una variable intermedia que se obtiene como resultado de multiplicar el error de posición
r(t) − y(t) = θd (t) − θ(t) por la ganancia A. La ganancia A es un parámetro del sistema que
puede tomar diferentes valores.
Trabajo previo:
θ(s)
• Calcule la función de transferencia del sistema realimentado Gbc (s) = R(s)
cuya salida es
θ(t) y cuya entrada es r(t) para A = 1. Almacene el numerador en [p14] y el denominador
en [p15] utilizando el mismo formato usado para definir el bloque función 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 entrada
escalón.
• Poner en marcha la simulación y observar que el resultado obtenido en la gráfica es el
esperado.
8
PRCTICA 1. INTEGRADOR, REALIMENTACIÓN Y CONTROL
• Calcule experimentalmente el mayor valor de la ganancia A que hace que el sistema no
presente sobreoscilaciones ante frente r(t) = 0.5∗escalon(t) [p17]. Un sistema no presenta
sobreoscilaciones si la señal no supera nunca el valor de régimen permanente durante el
transitorio.
• Calcule experimentalmente el mayor valor de la ganancia A que hace que θ(t) ≤ 0.6 rad
para todo instante de tiempo t frente r(t) = 0.5 ∗ escalon(t) [p18].
• Compruebe que con la función de transferencia del sistema realimentado se obtienen
idénticos resultados. Para ello crear un diagrama usando un bloque función de transferencia para simular la respuesta de la posición del motor en bucle cerrado. Incluir un
bloque función de transferencia para modelar Gbc (s), una entrada en escalón, un multiplexor y un visor. Es un modelo de Simulink diferente pero que simula el comportamiento
del mismo sistema.
• Modificar el diagrama 1.6 para realizar una simulación del motor realimentado con A = 1
cuando se excita con una onda sinusoidal r(t) = sen(Ωt). Ω es un parámetro que puede
tomar diferentes valores. Para hacer el diagrama hay que sustituir el bloque escalón por
un bloque de señal sinusoidal.
• Medir la amplitud de la posición en régimen permanente cuando se excita con una onda
sinusoidal de Ω = 1 [p19], con una onda sinusoidal de Ω = 10 [p20], con una onda
sinusoidal de Ω = 50 [p21] y con una onda sinusoidal de Ω = 0.1 [p22].
Notas:
• Para realizar la simulación con entradas senoidales, cambiar el método numérico de integración de Simulink Menu-Simulation-Simulation parameters-Solver-Ode23.
Figura 1.7: Menu para cambiar el método de integración de Simulink.
1.6
Instrucciones para entregar las respuestas en Goodle
Las respuestas del módulo entregarán en Goodle. La página web del servidor es:
http://bono.us.es/sdocencia
Para entregar el proyecto hay que darse de alta en Goodle siguiendo las instrucciones del
fichero “guia.pdf” disponible en la página web de la asigntura. La entrega de los resultados
consiste en rellenar el formulario de texto siguiendo las siguientes instrucciones:
• Cada respuesta correspondiente a una cuestión de trabajo en el centro de cálculo tiene
asignado un nombre. En el enunciado de la práctica se indica con una etiqueta entre
corchetes cada respuesta que hay que entregar.
Ejemplo: A la primera respuesta (valor de la salida del integrador en t = 8 segundos frente
a u(t) = 3 ∗ escalon(t − 3)) le corresponde el nombre p1 y a la última respuesta (amplitud
de la posición del sistema realimentado en régimen 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 frente
a u(t) = 3 ∗ escalon(t − 3) es 65 y que la amplitud de la posición del sistema realimentado
en régimen permanente frente a r(t) = sen(0.1t) es de 0.45 hay que escribir las siguiente
lı́neas:
p1 = 65;
p22 = 0.45;
• Para las respuestas p6, p7, p9, p10, p14 y p15 hay que utilizar el formato usado para
definir un bloque función 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 los
corchetes. Por ejemplo para indicar que
Gbc(s) =
hay que escribir las siguiente lı́neas:
p14 = 7;
p15 = [3 0 0.45];
3s2
7
+ 0.45
10
PRCTICA 1. INTEGRADOR, REALIMENTACIÓN 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, por
ejemplo utilizando el bloc de notas de Windows.
Ejemplo de formulario relleno
(los números 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;
Descargar