ProyectoCorto1 Hps5130 MODELO MotorCD
ProyectoCorto1 Hps5130 MODELO MotorCD
ProyectoCorto1 Hps5130 MODELO MotorCD
I SEMESTRE 2023
ESCUELA DE INGENIERIA ELECTRÓNICA
CURSO: EL-5409 LABORATORIO DE CONTROL AUTOMÁTICO
MEDIO: Proyecto corto 1
FECHA: 11 de febrero de 2023
PROF: Ing. Eduardo Interiano
PROYECTO CORTO 1
Tema: Obtención del modelo empírico SIMO del sistema motor CD hps5130.
6 5
4
7
3 1
Figura 1: Esquema del sistema de velocidad angular hps5130
Recursos necesarios: Planta hps5130 con motor CD de imán permanente y tacogenerador. Placa
de control basada en kit059. Computador con la aplicación LabControl [7] instalada. Programa
PUTTY instalado. Opcionalmente, Matlab y Excel instalados.
Paso 2) Conecte un cable entre el punto (1) (+/- 12V), salida del amplificador; y el punto (2), +12V,
armadura del motor CD.
Paso 3) Conecte el canal 0 de salida de la placa (conector RCA blanco), el cual se usará para generar
la señal de entrada al motor, al punto (3), la entrada del amplificador. Note que el amplificador
tiene una entrada máxima de +/- 5V y una ganancia de 12V/5V = 2.4. Esto es por cada voltio en la
entrada el motor recibe 2.4 voltios en el devanado de armadura.
Paso 4) Asegúrese de que el interruptor que controla la inercia, punto (4), esté hacia la derecha.
Paso 5) Asegúrese de que el interruptor que controla la carga, punto (5), esté en la posición de
apagado (0).
Paso 6) Conecte el canal 0 de entrada de la placa (conector RCA rojo), el cual se usará para medir
la respuesta de velocidad, a la salida del tacómetro, punto (6), La ganancia de esta salida es de
2V/1000 rpm (aunque las rpm no son unidades adecuadas, sería mejor trabajar en rad/s). En la
placa, se configurará la ganancia de esta entrada a 0.5 para reducir la escala a 1V/1000 rpm.
Paso 7) Conecte el canal 1 de entrada de la placa (conector RCA amarillo), a la salida del sensor
de corriente, punto (7), para obtener la respuesta de corriente. La ganancia de esta salida es de
1V/0.1A. En la placa la ganancia de esta entrada se ajustará a 0.1 para obtener la medida
directamente en amperios.
Paso 8) Conecte la tierra de los cables RCA a un punto de tierra del hps5130 (no se muestra en la
Figura 1).
Paso 10) Abra con Excel el archivo MotorCD.CSV creado por PUTTY y grafique las respuestas.
Repita el experimento tantas veces como crea conveniente hasta obtener un resultado parecido al
de la Figura 4 para las respuestas de velocidad y corriente.
0
-2 0 2 4 6 8 10 12
-1
Figura 4: Captura de señal de excitación, canal 0, en [V] conectado a (3); de la velocidad en el canal 0
de entrada [1V/krpm] conectado a (6) y de la corriente [A] medido en (7); para el sistema motor
hps5130 mostrado en la Figura 1.
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 [1], [2], [3] y [4].
Paso 1) Identifique y estime, con ayuda de ident de Matlab, varios modelos de función de
transferencia para la velocidad y corriente del motor CD (Motor(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 esta parte limpie el encabezado del archivo .CSV guardado por PUTTY,
y elimine las dos primeras filas y renombre, si es necesario, las columnas de datos con
identificadores simbólicos adecuados tales como “Tiempo”, para la primera columna; “Entrada”,
“Velocidad” y “Corriente”, respectivamente. 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
(Matlab, Excel); esto es, el separador decimal debe ser punto (.)
Paso 2) 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 7: Importar datos en
forma de vectores al workspace de Matlab. y luego oprima Finish. Los datos estarán ahora
disponibles como vectores en el workspace de Matlab.
NOTA 4: Antes de crear el objeto de datos, si es necesario filtre el ruido de los datos (un filtro de
media móvil es muy práctico para esto) y también de linealizar los datos si es necesario (restar el
valor inicial), de lo contrario, el ruido y la no linealidad de los datos evitarán que obtenga modelos
apropiados con la exactitud suficiente.
NOTA 5: Asegúrese que el periodo de muestreo sea constante, revisando el vector de Tiempo; y
en Matlab use la orden format shortg para poder ver los datos en formato sin redondeos.
deltaT = Tiempo(2)-Tiempo(1);
Motor = iddata([Velocidad, Corriente], [Entrada], deltaT);
Motor.inputname = {'Entrada'};
Motor.outputname = {'Velocidad';'Corriente'};
Paso 4) 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\Data object …, llene los campos de
la ventana con los datos correspondientes a su experimento: nombre del objeto de datos creado en
el paso anterior, el cual contiene los datos experimentales, como se muestra en la Figura 9 y oprima
Import. Una vez hecho lo anterior puede cerrar esa ventana. Asegúrese que el periodo de muestreo
sea constante en el vector de tiempo del experimento.
En este ejemplo, en la ventana principal del ident, Figura 12, debe tener ahora un objeto, llamado
Motor, debajo de Import data. Este objeto contiene todos los datos del experimento, los cuales
pueden visualizarse en dos partes. Se usará para ello la casilla Time plot, que abrirá una ventana
en la cual se puede seleccionar el canal que se desea ver, (Channel), tal como se muestra en la
Figura 10.
Paso 5) En la ventana del ident, el objeto, llamado Motor en este ejemplo, contiene todos los datos
del experimento, el cual se dividirá en dos partes, una para estimar el modelo ("Motore") y otra
para validar los datos ("Motorv"). La Figura 10 muestra esta selección con los colores verde y rojo
respectivamente. Se usa para la selección de los datos la operación Preprocess\Select range, que
abrirá una ventana en la cual con el ratón se crea un rectángulo alrededor de los datos a seleccionar
y luego se oprime Insert; repitiendo para cada rango a crear. Al terminar de insertar los segmentos
seleccionados puede cerrar esta ventana. Al finalizar se debe tener tres objetos en la ventana del
ident, el objeto original Motor y dos más que llamaremos Motore y Motorv. Figura 10.
Se arrastra y coloca el segundo objeto (Motore, color verde) en la posición llamada Working Data
y el tercer objeto (Motorv, color rojo) en la posición llamada Validation Data.
Paso 6) En la ventana principal del ident seleccione Estimate →\Linear Parametric models… y
en esta ventana, ya que esta planta tiene una entrada y dos salidas (SIMO) se escoge una estructura
de variables de estado y al oprimir el botón Order Selection se buscarán modelos desde orden 1 a
10 como se muestra en la Figura 11a. Una vez hecho lo anterior se oprime el botón Estimate, el
cual hará que se abra la ventana de selección del orden del modelo, como se muestra en la Figura
11b. Aquí se seleccionan los modelos que tengan valores singulares pequeños, sin aumentar
excesivamente el orden del modelo.
Paso 7) Para validar los modelos obtenidos, se puede comparar su salida ante el estímulo original
del experimento seleccionando la opción Model output que presentará el porcentaje de
aproximación entre el modelo y la respuesta original. Como puede observarse en la Figura 13, para
NOTA 6: 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). En este caso, como puede
observarse en la Figura 4, el motor se comporta como un sistema de primer orden, sin sobrepaso;
así que no es conveniente obtener modelos de órdenes altos, por ello después de evaluar las
funciones de transferencia se escoge el modelo Segundo por tener un orden adecuado.
a) b)
Figura 11: Ventanas del proceso de obtención de modelos en variables de estado del ident con:
a) la selección de parámetros y b) los modelos obtenidos para el ejemplo.
NOTA 7: En este caso, al extraer las funciones de transferencia de esta forma, no se contempla el
hecho de que internamente las variables estén acopladas entre sí y debe ser evaluada su
conveniencia como modelos SISO para representar al sistema. Puede ser preferible extraer el
modelo SIMO en variables de estado con M = ss(Segundo).
NOTA 8: 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.
NOTA 9: Los nombres Primero y Segundo no tienen nada que ver con el orden del sistema,
solamente indican la secuencia en la cual fueron obtenidos los modelos y esconden en método
usado para ello, de tal forma que no se polarice el uso de los diferentes métodos de identificación.
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 función
lsim. La Figura 15 muestra esta comparación realizada con las sentencias mostradas en la Figura
14, que además sirven para documentar la gráfica.
y = lsim(modelocorriente,Entrada,Tiempo)
plot(Tiempo, Entrada, Tiempo, Corriente, Tiempo, y)
grid
title('Verificación de la respuesta del modelo de corriente')
xlabel('Tiempo [s]')
ylabel('Corriente')
legend('Entrada','Corriente','Modelo')
Figura 14: Sentencias para verificar la respuesta del modelo de corriente
Referencias
[1] http://www.ie.tec.ac.cr/einteriano/control/Laboratorio/3.Models.pdf
[2] http://www.ie.tec.ac.cr/einteriano/control/Laboratorio/3.6ModeladoEstocastico.pdf
[3] http://www.ie.tec.ac.cr/einteriano/control/Laboratorio/Identificacion de sistemas.PDF
[4] http://www.ie.tec.ac.cr/einteriano/control/Laboratorio/3.6.1EjemploModeladoEstocastico.pdf
[5] http://www.ie.tec.ac.cr/einteriano/control/Laboratorio/3.2hps5130.csv
[6] http://www.ie.tec.ac.cr/einteriano/control/Laboratorio/3.EstimacionServo10ms_720P.mp4
[7] www.ie.tec.ac.cr\einteriano\control\Laboratorio\4.2AppLabControl.zip
EIS/eis
2023
Conecte el kit059 al puerto USB de una PC. Determine con el programa "Administrador
de dispositivos" de Windows, en cuál puerto COM se encuentra conectada la placa. Busque el
objeto "KitProg USB-UART", como se muestra en la Figura 16.
Figura 17: Configuración del saturador a 4.0V Figura 18: Configuración del DAC a +5V
positivo y 0V negativo.
Figura 19: Configuración de la aplicación LabControl para utilizar el puerto COM5 a 115200 bps
Abra el programa PUTTY. Cargue una sesión guardada o haga una nueva sesión y ajuste el puerto
de comunicaciones serie y la velocidad con los valores configurados en la aplicación LabControl.
En la Figura 22 se muestra un ejemplo de la configuración de la sesión. También verifique o haga
los ajustes necesarios para que todos los datos de la sesión sean guardados en un archivo con la
extensión CSV; por ejemplo, en el escritorio de la PC. En la Figura 23 se muestra la configuración
de la captura en PUTTY.