I SEMESTRE 2014
ESCUELA DE INGENIERIA EN ELECTRNICA
CURSO: EL-5409 LABORATORIO DE CONTROL AUTOMTICO
MEDIO: Proyecto corto 1
FECHA: 26 de febrero de 2014
PROF: Ing. Eduardo Interiano
PROYECTO CORTO 1
Tema: Obtencin del modelo emprico del sistema servo hps5131.
Recursos: Planta hps5131 con motor CD de imn permanente. Computador con Matlab e ident
instalado. Osciloscopio Agilent InfiniiVision 2000X y un generador de seal capaz de
proporcionar seales seudoaleatorias de hasta 5 V de amplitud.
Debe utilizar el osciloscopio para capturar los datos de un experimento para obtener las
respuestas de posicin de un servomotor de CD ante estmulos seudoaleatorios de tensin 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.
Parte I: El experimento
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
tensin de armadura y asegrese de que la perilla del amplificador se encuentra ajustada al valor
mximo de ganancia de 1.2 (totalmente girada hacia la derecha).
Paso 4) Conecte el canal 2 del osciloscopio, el cual se usar para medir la seal de entrada al
amplificador del servomotor, tambin al punto 3. Asegrese de ajustar el umbral de disparo a
unos +2V, flanco positivo del canal 2.
Paso 5) Asegrese de que el interruptor que controla la inercia, punto 4, est hacia la derecha (0).
Paso 6) Conecte una tensin de referencia, Uref, de 5 voltios al sensor de posicin angular
(potencimetro) en el punto 5.
Paso 7) Conecte el canal 1 del osciloscopio, con el que se medir la posicin, a la salida del
amplificador inversor de ganancia unitaria, punto 6. La ganancia del sensor de posicin angular
es K = -Uref/2 [V/rad].
Paso 8) Conecte las tierras del generador de seales, de Uref y del osciloscopio a un punto de
tierra del hps5131, punto 7.
Paso 9) Antes de iniciar cada medicin ajuste la posicin angular del servo a 45.
Paso 10) Con el generador pseudoaleatorio produzca una seal de excitacin 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 (POSICIN) est invertido
para compensar el signo negativo del amplificador del sensor de posicin.
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 opcin
de auto-incremento del osciloscopio, que incrementar el dgito ndice para cada nuevo archivo
almacenado.
Figura 2: Captura de la entrada [V] y la posicin 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 posicin angular (potencimetro).
NOTA 1: Antes de iniciar, opcionalmente puede ejecutar iddemo en Matlab, seleccione el tipo de
demostracin 1 y luego seleccione la demostracin de la interfaz grfica de usuario para
estimacin (opcin 1) o consulte [3], [4].
Identifique y estime, con ayuda de ident de Matlab, varios modelos de funcin 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 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 simblicos
adecuados tales como tiempo, para la primera columna; posicin, 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 crpticos, donde "sat0" es la entrada y "wgpr1" es la
salida de posicin angular del servo. De preferencia use un editor de texto simple para esta
labor, (el Notepad por ejemplo).
Tambin verifique la consistencia del separador decimal de sus datos con las herramientas a usar;
esto es, si las herramientas estn en ingls, el separador decimal debe ser punto (.); si estn en
espaol, 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 estn ahora disponibles como vectores en el workspace de Matlab.
Figura 4: Ventana para importar datos al ident. Ponga los datos de su experimento.
Figura 5: Seleccin de dos rangos del total de datos del experimento ejemplo.
Figura 6: Ventana del ident con los objetos de experimento y los modelos obtenidos para el
ejemplo. Sus resultados sern diferentes!
Para validar nuestros modelos obtenidos, podemos comparar su salida ante el estmulo original
del experimento seleccionando la opcin Model output que nos presenta el porcentaje de
aproximacin 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
aproximacin 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 aproximacin y de complejidad, (la mejor
aproximacin en simulacin a los resultados experimentales; con la menor complejidad del
modelo y que ste llene las expectativas de la dinmica del modelo terico, si este existe).
Para exportar el modelo lo arrastramos hasta la posicin To workspace en la ventana del ident.
Luego en el workspace de Matlab, podemos extraer la funcin de transferencia de entrada-salida.
Para extraer la funcin 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 ms recientes, usamos una variable intermedia, por ejemplo M, as: M =
zpk(P2DU); y luego extraemos el primer elemento del modelo con modelo = M(1).
Una verificacin del modelo obtenido se puede realizar tambin graficando, con la funcin plot
de Matlab, los resultados experimentales junto a resultados de simulacin producidos con la
y=lsim(modelo,sat0,tiempo)
plot(tiempo,sat0,tiempo,wgpr1,'r',tiempo,y,'g','LineWidth',2)
grid
title('Verificacindelarespuestadelmodelo')
xlabel('Tiempo[s]')
ylabel('ngulo')
legend('Entrada','Servo','P2DU')
Entrada
Servo
0.1 P2DU
0.08
0.06
ngulo
0.04
0.02
-0.02
-0.04
0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2
Tiempo [s]
Figura 8: Verificacin del modelo del servo de posicin 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 estticas 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 documentacin debe enviarse a
ms tardar el lunes 3 de marzo 2014, al correo electrnico einteriano@itcr.ac.cr, 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