Story Transcript
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
CONTROL DIGITAL DE LA VELOCIDAD DE UN MOTOR DC PARTE II. IDENTIFICACIÓN DE PARÁMETROS DEL MOTOR
Departamento de Electrónica
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
1
PARTE 2 - IDENTIFICACIÓN DE PARÁMETROS DEL MOTOR Una vez diseñada y comprobada la interfaz hardware que nos permite actuar sobre el motor desde el PC, así como recibir información sobre la velocidad del mismo, debemos centrarnos en el control de dicho motor. Para facilitar el diseño del controlador, es conveniente disponer de un modelo fiable de la planta (motor + interfaz). Podemos obtener dicho modelo de dos formas distintas, aunque complementarias: * A partir de los datos proporcionados por el fabricante. Sin embargo, estos datos suelen referirse al “modelo” del motor, pudiendo existir variaciones de un motor a otro. Además, se requiere un estudio linealizado de la interfaz hardware. * Mediante técnicas de identificación de sistemas. Este método permite la obtención de un modelo más exacto en base a datos de entrada-salida recogidos experimentalmente de la planta real. En esta práctica utilizaremos el segundo método, contrastando los resultados obtenidos con los estimados en base al primero.
1. EL PROCESO DE IDENTIFICACIÓN La obtención de un modelo a partir de datos experimentales se realiza en las siguientes etapas: 1. REGISTRO DE DATOS. Mediante algún tipo de experimento sobre la planta, debemos obtener datos
de entrada - salida, procurando que contengan la máxima información posible sobre la planta. Dependiendo de la calidad del experimento, puede ser necesario realizar un post-tratramiento de los datos ( filtrado, eliminación de niveles de continua, etc. ) 2. ELECCIÓN DE UNA POSIBLE ESTRUCTURA PARA EL MODELO. El conocimiento físico de la planta que vamos a identificar ayuda a realizar una correcta elección de esta estructura. 3. AJUSTE DE LOS PARÁMETROS DEL MODELO EN BASE A LOS DATOS EXPERIMENTALES. Esta tarea se ve facilitada por la existencia en el mercado de paquetes software, como el TOOLBOX DE
IDENTIFICACIÓN de Matlab, que utilizaremos en esta práctica. 4. VALIDACIÓN DEL MODELO mediante la simulación del mismo y la posterior comparación de los
resultados con los obtenidos experimentalmente de la planta real. Si se cuenta con informació de la planta, es conveniente contrastar los resultados obtenidos con los proporcionados por el fabricante. En caso de que el modelo no sea válido, será necesario retroceder a alguno de los pasos anteriores. La siguiente figura muestra el proceso de identificación de sistemas: DEPARTAMENTO DE ELECTRÓNICA - UNIVERSIDAD DE ALCALÁ DE HENARES
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
2
Conocimientos previos sobre la planta
Diseño del experimento de recogida de datos
Tratamiento de los datos
Elección de la estructura del modelo
Elección del criterio de ajuste de parámetros
Datos
Cálculo del modelo
Validación del modelo Modelo no válido: revisar Modelo válido: usar
2. REGISTRO DE DATOS DE ENTRADA - SALIDA Para que el proceso de identificación sea satisfactorio, los datos recogidos deben contener información significativa sobre la planta, en nuestro caso un motor de continua. Para ello, debemos plantearnos las siguientes cuestiones: 1. ¿ Qué señales debemos medir ? 2. ¿ Qué tipo de entrada conviene aplicar ? 3. ¿ Qué periodo de muestreo debemos usar ? 4. ¿ Cuantos datos necesitamos recoger ? Un conocimiento previo aproximado sobre la planta (por ejemplo los datos suministrados por el fabricante) pueden ayudarnos a resolver estas cuestiones. REALIZACIÓN PRÁCTICA - REGISTRO DE DATOS DE ENTRADA - SALIDA
DEPARTAMENTO DE ELECTRÓNICA - UNIVERSIDAD DE ALCALÁ DE HENARES
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
3
Escribir un programa en C que nos permita enviar distintas consignas de velocidad al motor a través del puerto paralelo (código digital entre 0 y 255) y leer a través del mismo la respuesta del motor (código digital proporcional a la velocidad de giro), usando la interfaz hardware diseñada en la práctica anterior. El programa debe permitir: * Seleccionar distintos periodos de muestreo. * Seleccionar distintas entradas ( sucesión de escalones de distinta amplitud y duración). * Almacenar los datos de entrada y salida en ficheros binarios para poder recuperarlos después desde Matlab, para el posterior análisis de los mismos. ¿ Qué factores son determinantes en la elección del periodo de muestreo ? Justificar el valor escogido para realizar el registro de datos y comentar qué sucede al aumentar o disminuir su valor.
3. TRATAMIENTO DE LOS DATOS El siguiente paso es visualizar los datos recogidos, para decidir si son o no adecuados para el proceso de identificación, o si necesitan algún tipo de tratamiento previo, como pude ser el filtrado de ruidos, eliminación de componentes de variación lenta, etc. REALIZACIÓN PRÁCTICA - TRATAMIENTO DE LOS DATOS * Recuperar en Matlab los datos recogidos en la fase anterior mediante el uso de las funciones: Si se guardan los datos en binario - fopen - fread - fclose Si se guardan los datos en ASCII -load * Realizar la representación gráfica de los datos. Utilizar para ello la función del TOOLBOX DE IDENTIFICACIÓN idplot. * Decidir si es necesario realizar un tratamiento de los datos. En caso de que sea necesario, el TOOLBOX DE IDENTIFICACIÓN proporciona las siguientes funciones para la manipulación de datos: - dtrend - idfilt
DEPARTAMENTO DE ELECTRÓNICA - UNIVERSIDAD DE ALCALÁ DE HENARES
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
4
3. ELECCIÓN DE LA ESTRUCTURA DEL MODELO El conocimiento previo de la planta a identificar facilita en gran medida la elección de la estructura del modelo. En nuestro caso, sabemos que la función de transferencia de un motor de continua puede aproximarse a la de un sistema de primer orden del tipo:
W ( s) V ( s)
=
A
τ ⋅s+1
⋅ e − s⋅ L
donde A es la ganancia estática del motor, τ la constante de tiempo del mismo, y L el retardo. Sin embargo, es importante hacer notar que nosotros no actuamos directamente sobre el motor, sino que lo hacemos a través de la interfaz hardware. Los datos de entrada salida que hemos registrado son del conjunto
EXCITADOR ELECTRÓNICO + MOTOR + TACÓMETRO,
y no sólo los del motor. Esto puede
observarse en la siguiente figura, donde VN es la tensión de excitación máxima suministrada al motor por el puente en H, y T el periodo de reseteo del contador del tacómetro. PC INTERFAZ HARDWARE
MATLAB
Vcod
EXCITADOR ELECTRÓNICO
Kee =
TOOLBOX DE IDENTIFICACIÓN
Vm
VN
MOTOR
255
A
⋅e−s⋅ L τ ⋅s+1
TACÓMETRO DIGITAL
Wcod Ktac =
500 ⋅ T
Wm
60
Por tanto, el sistema que estamos identificando realmente es: Wcod ( s) Vcod ( s)
= Kee ⋅
A
τ ⋅ s+1
⋅ e− sL ⋅ Ktac
Puesto que Kee y Ktac son constantes fijadas por el diseñador, la relación entre el modelo identificado y el modelo del motor es inmediata. Existen diferentes métodos de identificación , de entre los cuales podemos destacar los siguientes:
1. MÉTODOS DE IDENTIFICACIÓN NO PARAMÉTRICOS
DEPARTAMENTO DE ELECTRÓNICA - UNIVERSIDAD DE ALCALÁ DE HENARES
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
5
Entre ellos se encuentran el estudio de la respuesta transitoria, correlación de señales, estudio del espectro, de la repuesta en frecuencia, etc. De todos ellos el único que vamos a utilizar nosotros es el estudio de la respuesta transitoria. REALIZACIÓN PRÁCTICA - ESTUDIO DE LA RESPUESTA TRANSITORIA En base a los datos de entrada- salida, hacer una estimación de la constante de tiempo del motor, su ganancia estática y su retardo. Indicar el procedimiento seguido para obtener dichos valores.
2. MÉTODOS DE IDENTIFICACIÓN PARAMÉTRICOS
Estos métodos se basan en la obtención del modelo a partir de una estructura y un número finito de parámetros. Entre las distintas estructuras (AR, ARX, ARMAX, OE, BJ...), nosotros sólo ensayaremos la ARX, por ser una de los más sencillos. Dicha estructura responde a la siguiente ecuación en diferencias para caracterizar el sistema:
A( q ) ⋅ y ( KT ) = B ( q ) ⋅ u( KT − LT ) + e( KT ) Un ejemplo de modelo ARX puede ser el siguiente: y ( KT ) + a1 ⋅ y ( KT − T ) + a2 ⋅ y ( KT − 2 T ) = b0 ⋅ u( KT − 3T ) + b2 ⋅ u( KT − 4 T ) donde T es el periodo de muestreo, o en el dominio transformado: y( z) b0 + b1 ⋅ z −1 −3 =z ⋅ u( z ) 1 + a1 ⋅ z −1 + a2 ⋅ z −2
La obtención de un modelo de este tipo se realiza en dos pasos: 1. Elección de la estructura del modelo. En función de los conocimientos previos sobre el sistema, elegimos el número de parámetros de los polinomios A y B, así como el retardo del sistema. En el ejemplo anterior, el número de parámetros de A(q) es 2, el de B(q) es 2 y el retardo del sistema es 3. 2. Obtención de los parámetros del modelo ( en el ejemplo a1, a2, b0, y b1 ) que ajustan la respuesta del mismo a los datos de entrada salida obtenidos experimentalmente. El primer paso es tarea del diseñador, mientras que el segundo puede realizarse mediante el uso de herramientas software ( TOOLBOX DE IDENTIFICACIÓN).
REALIZACIÓN PRÁCTICA - ELECCIÓN DE LA ESTRUCTURA DEL MODELO
DEPARTAMENTO DE ELECTRÓNICA - UNIVERSIDAD DE ALCALÁ DE HENARES
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
6
Conociendo la función de transferencia teórica del motor (con un polo, sin ceros y un determinado retardo), determinar cuál puede ser la estructura del modelo ARX que mejor se adapte a los datos de entrada-salida obtenidos.
4. AJUSTE DE LOS PARÁMETROS DEL MODELO El TOOLBOX DE IDENTIFICACIÓN proporciona diversas funciones que facilitan el proceso de identificación paramétrica. Un listado de estas funciones se incluye al final de la práctica. Entre ellas, las que más vamos a utilizar son: * Funciones para estimación de parámetros: * Funciones para conversión de modelos:
ARX, ARXSTRUC , SELSTRUC ...
TH2ZP , TH2TF , D2CM ...
* Funciones para presentación de modelos: ZPPLOT , PRESENT , IDPLOT ... REALIZACIÓN PRÁCTICA - OBTENCIÓN DE PARÁMETROS DEL MODELO ARX Utilizar la función ARX para obtener los parámetros del modelo cuya estructura elegimos en el apartado anterior. Dicho modelo pertenece al dominio discreto, pero puede convertirse fácilmente al dominio continuo mediante la función D2CM. Una vez traducido al dominio continuo, comparar los resultados con los obtenidos mediante el estudio de la respuesta transitoria.
5. VALIDACIÓN DEL MODELO Una vez que disponemos del modelo, debemos decidir si éste se ajusta correctamente al comportamiento del motor. Para ello podemos seguir dos pasos: 1. Simulación del modelo. Este método consiste en aplicar nuevas entradas al modelo conseguido y a la planta real, y comprobar que las respuestas obtenidas en ambos casos son prácticamente iguales. Es importante que las entradas que utilicemos para validar el modelo sean distintas que las que utilizamos para hacer la identificación del mismo. La simulación del modelo puede realizarse con la función idsim o filter.
2. Contrastación con los datos proporcionados por el fabricante. Si consideramos que el modelo no se ajusta a la respuesta del motor, debemos retroceder a alguno de los puntos anteriores y repetir el proceso. DEPARTAMENTO DE ELECTRÓNICA - UNIVERSIDAD DE ALCALÁ DE HENARES
LABORATORIO DE SISTEMAS ELECTRÓNICOS DE CONTROL DISCRETO
7
REALIZACIÓN PRÁCTICA - VALIDACIÓN DEL MODELO Utilizar un nuevo conjunto de datos de entrada tanto para excitar a la planta real como para simular el modelo mediante la función IDSIM oFILTER. Probar varias estructuras y decidir cuál de ellas se ajusta mejor a la planta Se puede utilizar la función COMPARE para ver la diferencia entre la planta ideal y la estimada. Indicar cuales son los valores definitivos de los parámetros A, τ y L obtenidos del proceso completo de identificación.
SYSTEM IDENTIFICATION TOOLBOX
DEPARTAMENTO DE ELECTRÓNICA - UNIVERSIDAD DE ALCALÁ DE HENARES