+ All Categories
Home > Documents > PROYECTO CORTO 1 - browse · 2016. 3. 14. · Laboratorio de Control Automático Pág. 4 Proyecto...

PROYECTO CORTO 1 - browse · 2016. 3. 14. · Laboratorio de Control Automático Pág. 4 Proyecto...

Date post: 27-Jan-2021
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
8
INSTITUTO TECNOLÓGICO DE COSTA RICA I SEMESTRE 2014 ESCUELA DE INGENIERIA EN ELECTRÓNICA CURSO: EL-5409 LABORATORIO DE CONTROL AUTOMÁTICO MEDIO: Proyecto corto 1 FECHA: 26 de febrero de 2014 PROF: Ing. Eduardo Interiano PROYECTO CORTO 1 Tema: Obtención del modelo empírico del sistema servo hps5131. Figura 1: Esquema del sistema de posición angular hps5131 Recursos: Planta hps5131 con motor CD de imán permanente. Computador con Matlab e ident instalado. Osciloscopio Agilent InfiniiVision 2000X y un generador de señal capaz de proporcionar señales seudoaleatorias de hasta 5 V de amplitud. Descripción del trabajo: Debe utilizar el osciloscopio para capturar los datos de un experimento para obtener las respuestas de posición de un servomotor de CD ante estímulos seudoaleatorios de tensión de armadura. Posteriormente debe utilizar la herramienta ident de Matlab para identificar y estimar modelos adecuados para el motor y finalmente debe verificar los modelos así obtenidos.
Transcript
  • INSTITUTO TECNOLÓGICO DE COSTA RICA I SEMESTRE 2014 ESCUELA DE INGENIERIA EN ELECTRÓNICA CURSO: EL-5409 LABORATORIO DE CONTROL AUTOMÁTICO MEDIO: Proyecto corto 1 FECHA: 26 de febrero de 2014 PROF: Ing. Eduardo Interiano

    PROYECTO CORTO 1 Tema: Obtención del modelo empírico del sistema servo hps5131.

    Figura 1: Esquema del sistema de posición angular hps5131 Recursos: Planta hps5131 con motor CD de imán permanente. Computador con Matlab e ident instalado. Osciloscopio Agilent InfiniiVision 2000X y un generador de señal capaz de proporcionar señales seudoaleatorias de hasta 5 V de amplitud. Descripción del trabajo: Debe utilizar el osciloscopio para capturar los datos de un experimento para obtener las respuestas de posición de un servomotor de CD ante estímulos seudoaleatorios de tensión de armadura. Posteriormente debe utilizar la herramienta ident de Matlab para identificar y estimar modelos adecuados para el motor y finalmente debe verificar los modelos así obtenidos.

  • Laboratorio de Control Automático Pág. 2 Proyecto corto 1

    Parte I: El experimento Usando como referencia la figura 1: Paso 1) Se sugiere ajustar las propiedades del osciloscopio como se muestra en la tabla 1. Ud. puede modificar estos ajustes para adecuarlos a su experimento si es necesario. Paso 2) Conecte un cable o puente entre el punto 1 y el punto 2, entrada del amplificador de tensión de armadura y asegúrese de que la perilla del amplificador se encuentra ajustada al valor máximo de ganancia de 1.2 (totalmente girada hacia la derecha). Paso 3) Conecte un generador de señales psudoaleatorias al punto 3. Note que el amplificador acepta una entrada máxima de +/- 10V, aunque se utilizará una señal de solo +5V. Paso 4) Conecte el canal 2 del osciloscopio, el cual se usará para medir la señal de entrada al amplificador del servomotor, también al punto 3. Asegúrese de ajustar el umbral de disparo a unos +2V, flanco positivo del canal 2. Paso 5) Asegúrese de que el interruptor que controla la inercia, punto 4, esté hacia la derecha (0). Paso 6) Conecte una tensión de referencia, Uref, de 5 voltios al sensor de posición angular (potenciómetro) en el punto 5. Paso 7) Conecte el canal 1 del osciloscopio, con el que se medirá la posición, a la salida del amplificador inversor de ganancia unitaria, punto 6. La ganancia del sensor de posición angular es K = -Uref/2 [V/rad]. Paso 8) Conecte las tierras del generador de señales, de Uref y del osciloscopio a un punto de tierra del hps5131, punto 7. Paso 9) Antes de iniciar cada medición ajuste la posición angular del servo a 45°. Paso 10) Con el generador pseudoaleatorio produzca una señal de excitación de entrada, con amplitud constante (5V) y duraciones en alto y en bajo variables, tal como se muestra en la figura 2 y mida con el osciloscopio. Repita el experimento tantas veces como crea conveniente hasta obtener un oscilograma parecido al de la figura 2. Note que el canal 1 (POSICIÓN) está invertido para compensar el signo negativo del amplificador del sensor de posición. Paso 11) Guarde los datos de su experimento en formato .CSV en una memoria flash USB y dele un nombre descriptivo al archivo. NOTA: Si almacena varias mediciones puede utilizar la opción de auto-incremento del osciloscopio, que incrementará el dígito índice para cada nuevo archivo almacenado.

  • Laboratorio de Control Automático Pág. 3 Proyecto corto 1

    Tabla 1: Ajustes del osciloscopio Función Propiedades Comentario Ajustes

    del canal 1

    2 voltios por división. Punta de prueba 10:1

    La señal de entrada (punto 3) puede variar entre +/- 10V.

    Ajustes del canal

    2

    2 voltios por división. Punta de prueba 10:1

    La señal de salida tiene una ganancia K = -Uref/2 [V/rad] y puede alcanzar el valor de -Uref [V].

    Barrido horizontal 0.25 segundo por división

    Para una duración máxima de unos 2.5 segundos de experimento.

    Retardo del

    disparo 1 segundo Para lograr que el disparo se produzca al inicio de la pantalla.

    Disparo Modo único, canal 2, flanco de subida.

    La excitación del servo es un evento único.

    Parte II: Estimación y verificación del modelo del servomotor Objetivo: Estimar, a partir de los resultados experimentales de entrada-salida de la planta, el modelo numérico de posición de un servomotor de CD.

    Figura 2: Captura de la entrada [V] y la posición angular [rad] del sistema servomotor hps5131. Note que el canal 1 está escalado por la ganancia K [V/rad] e invertido para contrarrestar el signo

    negativo del amplificador del sensor de posición angular (potenciómetro).

  • Laboratorio de Control Automático Pág. 4 Proyecto corto 1

    Procedimiento: NOTA 1: Antes de iniciar, opcionalmente puede ejecutar iddemo en Matlab, seleccione el tipo de demostración 1 y luego seleccione la demostración de la interfaz gráfica de usuario para estimación (opción 1) o consulte [3], [4]. Identifique y estime, con ayuda de ident de Matlab, varios modelos de función de transferencia para el servomotor CD (Servo(s)), seleccione el modelo con el mejor ajuste a los datos y valide ese modelo seleccionado contra los datos experimentales. NOTA 2: En el ejemplo aquí mostrado en las figuras 3 a 8 se utilizan y procesan datos experimentales contenidos en el archivo llamado Servo10ms_lim_.1_pos.csv, que se encuentra en la carpeta de la clase de laboratorio, www.ie.itcr.ac.cr/einteriano/control, además allí se encuentra el video llamado EstimacionServo10ms_720P.mp4, el cual ejemplifica el procedimiento seguido. Ud. debe utilizar los datos de su experimento. NOTA 3: Antes de iniciar el procesamiento de los datos limpie el encabezado del archivo .CSV, eliminando la fila de las unidades y renombrando las columnas con identificadores simbólicos adecuados tales como tiempo, para la primera columna; posición, para la segunda columna y entrada, para la tercera columna, si usa los canales como se indica en la tabla 1. En el ejemplo mostrado se usaron unos nombres bastante crípticos, donde "sat0" es la entrada y "wgpr1" es la salida de posición angular del servo. De preferencia use un editor de texto simple para esta labor, (el Notepad por ejemplo). También verifique la consistencia del separador decimal de sus datos con las herramientas a usar; esto es, si las herramientas están en inglés, el separador decimal debe ser punto (.); si están en español, el separador decimal debe ser coma (,). Importe a Matlab los datos contenidos en el archivo .CSV guardado en la parte I; para ello, inicie Matlab y en vaya al menú File\Import Data…, y luego oprima Open y luego Next, en la siguiente ventana seleccione Create vectors …, como se muestra en la figura 3 y luego oprima Finish. Los datos están ahora disponibles como vectores en el workspace de Matlab.

    Figura 3: Importar datos en forma de vectores al workspace de Matlab.

  • Laboratorio de Control Automático Pág. 5 Proyecto corto 1

    Luego en el workspace de Matlab ejecute la orden ident; espere unos segundos y se abrirá la ventana del ident, en la cual debe seleccionar Import data\Time domain data …, llene los campos de la ventana con los datos correspondientes a su experimento: nombres de las variables de entrada y salida , tiempo de inicio (0), tiempo de muestreo y otros como se muestra en la figura 4 y oprima Import. Una vez hecho lo anterior puede cerrar esa ventana. NOTA: En su caso, debe determinar el periodo de muestreo del vector de tiempo de su experimento, por ejemplo: deltaT = tiempo(2) - tiempo(1). Asegúrese que este periodo de muestreo sea constante, y en Matlab use la orden format shortg para poder ver los datos en formato sin redondeos.

    Figura 4: Ventana para importar datos al ident. Ponga los datos de su experimento.

    Figura 5: Selección de dos rangos del total de datos del experimento ejemplo.

  • Laboratorio de Control Automático Pág. 6 Proyecto corto 1

    En este ejemplo, en la ventana del ident, figura 6, debe tener ahora un objeto, llamado Servo10ms. Este objeto contiene todos los datos del experimento, el cual seccionaremos en dos partes, una para estimar el modelo y otra para validar los datos. Usaremos para ello la operación Preprocess\Select range, que abrirá una ventana en la cual con el ratón podemos crear un rectángulo alrededor de los datos a seleccionar y luego oprimimos Insert; repitiendo para cada rango a crear, como se muestra en la figura 5; al terminar de insertar los segmentos seleccionados podemos cerrar esta ventana. Al finalizar debemos tener tres objetos en la ventana del ident, el objeto original Servo10ms y dos más que llamaremos Servo10mse y Servo10msv. Figura 6. Arrastraremos y colocaremos el segundo objeto (Servo10mse, color verde) en la posición llamada Working Data y el tercer objeto (Servo10msv, color rojo) en la posición llamada Validation Data. Finalmente en la ventana del ident seleccionamos Estimate \Process models… y en esta ventana, ya que nuestro modelo presenta un comportamiento subamortiguado, seleccionaremos la opción de 2 polos subamortiguados y dejaremos la selección de retardo (Delay) activada. Una vez hecho lo anterior oprimimos el botón Estimate, el cual hará que se calcule un modelo de segundo orden llamado P2DU que aparecerá en la ventana del ident como se muestra en la figura 6. NOTA 4: En su caso, como puede observarse en la figura 2, el servomotor se comporta como un sistema integrador, sin sobreimpulso y tal vez posee un pequeño retardo, lo que no es apreciable a ojo en la imagen; así que es conveniente que pruebe modelos con y sin retardo; para ver cual modelo se ajusta mejor. Note además que la señal de posición de la fig. 2 tiene un valor inicial, además está escalada y negada, (se ajustó a 45° el sistema antes de iniciar el experimento y existe una ganancia K = -Uref/2), por lo que es conveniente antes de procesar estos datos, eliminar el valor inicial restando a todos los datos el promedio de varias muestras iniciales y al final tomar en cuenta el factor de escala y el signo en la función de transferencia obtenida como modelo.

    Figura 6: Ventana del ident con los objetos de experimento y los modelos obtenidos para el

    ejemplo. Sus resultados serán diferentes!

  • Laboratorio de Control Automático Pág. 7 Proyecto corto 1

    Podemos también seleccionar otra forma de estimación para nuestro modelo; por ejemplo Estimate \Linear parametric models…, en cuya ventana oprimimos Order selection, para que calcule 10 modelos desde orden 1 a 10, y luego oprimimos Estimate. En la ventana de resultados del estimador paramétrico ARX [1], [2] y [3], seleccionamos el segundo y tercer modelo, cuyas varianzas de salida no explicada están sumamente reducidas respecto al primer modelo y luego oprimimos Insert, una vez para cada modelo. El resultado se muestra en la figura 6, donde estos últimos modelos, arx212 y arx221, aparecen al lado del modelo P2DU estimado antes. Para validar nuestros modelos obtenidos, podemos comparar su salida ante el estímulo original del experimento seleccionando la opción Model output que nos presenta el porcentaje de aproximación entre nuestro modelo y la respuesta original como se muestra en la figura 7. Como puede observarse en la figura 7, el modelo P2DU posee, para este caso, la mejor aproximación a los datos experimentales (97.53%), por lo que lo seleccionamos como nuestro modelo. NOTA: En su experimento, para seleccionar su modelo final de entre los diferentes modelos obtenidos, debe utilizar criterios de aproximación y de complejidad, (la mejor aproximación en simulación a los resultados experimentales; con la menor complejidad del modelo y que éste llene las expectativas de la dinámica del modelo teórico, si este existe). Para exportar el modelo lo arrastramos hasta la posición To workspace en la ventana del ident. Luego en el workspace de Matlab, podemos extraer la función de transferencia de entrada-salida. Para extraer la función de transferencia en versiones de Matlab anteriores a la v2008b, usamos la sentencia modelo = zpk(P2DU,1); donde "modelo" es el nombre que le asignamos al resultado; en versiones de Matlab más recientes, usamos una variable intermedia, por ejemplo M, así: M = zpk(P2DU); y luego extraemos el primer elemento del modelo con modelo = M(1).

    Figura 7: Comparación de modelos con Model output para el ejemplo. Sus resultados serán diferentes!

    Una verificación del modelo obtenido se puede realizar también graficando, con la función plot de Matlab, los resultados experimentales junto a resultados de simulación producidos con la

  • Laboratorio de Control Automático Pág. 8 Proyecto corto 1

    función lsim. La figura 8 muestra esta comparación realizada con las sentencias mostradas en el recuadro a continuación, que además sirven para documentar la gráfica: y = lsim(modelo,sat0,tiempo) plot(tiempo, sat0, tiempo, wgpr1, 'r', tiempo, y, 'g', 'LineWidth', 2) grid title('Verificación de la respuesta del modelo') xlabel('Tiempo [s]') ylabel('Ángulo') legend('Entrada','Servo','P2DU') 

    Figura 8: Verificación del modelo del servo de posición angular utilizado en este ejemplo.

    (Solo se muestran el primer segundo) En otros casos, eventualmente, si el orden estimado para la planta es muy grande, será necesario reducirlo [4], cambiando polos y ceros no dominantes por sus ganancias estáticas u otra forma adecuada; por ejemplo con las funciones balreal y modred de Matlab. Los resultados deben mostrarse al profesor durante la clase y la documentación debe enviarse a más tardar el lunes 3 de marzo 2014, al correo electrónico [email protected], con todos los documentos y archivos creados para resolver el problema. Referencias [1] http://www.ie.itcr.ac.cr/einteriano/control/Laboratorio/3.Models.pdf [2] http://www.ie.itcr.ac.cr/einteriano/control/Laboratorio/3.6ModeladoEstocastico.pdf [3] http://www.ie.itcr.ac.cr/einteriano/control/Laboratorio/Identificacion de sistemas.PDF [4] http://www.ie.itcr.ac.cr/einteriano/control/Laboratorio/3.6.1EjemploModeladoEstocastico.pdf EIS/eis 2014

    0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2-0.04

    -0.02

    0

    0.02

    0.04

    0.06

    0.08

    0.1

    Tiempo [s]

    Áng

    ulo

    Verificación de la respuesta del modelo

    EntradaServoP2DU


Recommended