Práctica 4 CONTROL POR COMPUTADOR DE SERVOMECANISMOS 4.1 Introducción Como es sabido, un sistema dinámico, ante la acción de unas señales de entrada, evoluciona a lo largo del tiempo variando su estado, y en consecuencia una serie de señales de salida. En esta práctica se va a introducir el computador como un sistema dinámico que interactúa con otros sistemas dinámicos. Para ello debe tener un dispositivo capaz de tomar valores de señales de entrada a lo largo del tiempo, y debe ser capaz de generar señales externas para influir sobre otros sistemas. Este dispositivo es la tarjeta de adquisición de datos. El comportamiento que tiene el computador viene dado por un programa que se diseña al efecto. Este programa tiene la misión de muestrear (leer) las señales de entrada, calcular el valor de las salidas en ese instante y transmitirlos a la tarjeta de adquisición de datos para que genere la señal de salida. Esta propiedad hace que el computador sea una herramienta adecuada para la simulación y/o el control de sistemas dinámicos. El programa es el encargado de determinar el comportamiento dinámico del sistema mediante la implementación de una determinada ecuación en diferencias que controla el sistema en tiempo discreto. 1 2 PRÁCTICA 4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS u PC Sistema dinámico D/A A/D y Programa (Ley de control) Figura 4.1: Diagrama de bloques de un esquema de realimentación usando un computador. 4.2 Objetivos Esta práctica es una introducción a la utilización del ordenador como sistema dinámico y como elemento de control. Ası́, ésta se organiza en tres tareas: 1. Observar los problemas de muestreo y reconstrucción de señales continuas incluyendo el fenómeno de enmascaramiento o ”aliasing”. 2. Estudio estático y dinámico del sistema y comparación con los resultados de la práctica 3. Identificación de los parámetros caracterı́sticos del sistema. 4. Introducir el computador como elemento de control. 4.3 Equipo necesario • Ordenador PC. • Tarjeta de adquisición de datos, capaz de muestrear señales (A/D) y generar señales continuas (D/A) mediante un mantenedor de orden 0. La tarjeta se halla instalada en el interior de los ordenadores y se accede a ella a través de un tablero de conexiones. A través de la tarjeta el ordenador lee las salidas del sistema (tı́picamente la posición y/o velocidad del eje del motor) y actúa sobre el sistema (la señal de mando será en este caso un voltaje que excita al motor). Importante: Todas las señales que entran o salen de la tarjeta deben estar en el rango de -5 a 5V. Debido a que el equipo FeedBack opera entre +15V y -15V es necesario usar un divisor de tensión para las entradas a la tarjeta y un amplificador para las salidas de ésta. Laboratorio de Control Automático 3 • LabVIEW (para implementar el programa de adquisición y control) • Compilador Visual C++. • Osciloscopio. • Generador de onda. • Equipo de control de motor de corriente continua de Feedback Ldt. Ya ha sido ampliamente comentado en la práctica de control analógico de los servomecanismos. Se incluye a continuación una breve reseña a modo de recordatorio: – Motor de corriente continua excitación serie (MT 150F): Se utilizará la conexión por armadura, para lo cual han de estar unidos los terminales de la siguiente forma: 3 con 6, 4 con 5 y 7 con 8. Para modificar la velocidad del motor se varı́a la excitación del mismo, la cual (terminales 1 y 2) admite de +15 a -15 V, que serán suministrados por un amplificador, puesto que la tarjeta A/D no proporciona bastante tensión. – Potenciómetro (OP 150K): Se acopla al eje del motor para obtener su posición angular. Está alimentado a ±15V, por lo que proporciona un voltaje (entre dichos valores) proporcional al ángulo girado. – Tacómetro: Está incluido en el motor. Suministra una tensión aproximadamente proporcional a la velocidad de giro. Esta tensión va de +15 a -15 V. – Freno Magnético: Permitirá introducir perturbaciones durante los experimentos de control digital directo. – Amplificador (PA 150C): Permite amplificar la señal de mando que es proporcionada por la tarjeta A/D (rango ±5V) hasta el rango del equipo FeedBack (±15V). Precisa ajustar el ”cero”. La entrada al amplificador no debiera ser tan alta como los ±5V que da la tarjeta, por ello se usa un atenuador delante del mismo. – Atenuador (AU 150B): Consigue bajar el rango de la señal que ataca al amplificador. Si fuera necesario, se ajustarı́a el mando de modo que cuando la tarjeta mande al sistema la señal de mando máxima (±5V), el motor alcance una velocidad aceptable, no muy alta. Tras de este ajuste (que corresponde a una posición cercana a la marca 9) no se volverá a mover. • Divisores de tensión : para adecuar los valores de los sensores al rango admitido por la tarjeta de adquisición de datos. Consiste en tres resistencias iguales, de varios Momhs. Su misión es la de pasar las señales que proporciona el equipo FeedBack del rango (±15V) al rango (±5V) que es el que admite la tarjeta de conversión A/D (ver Fig. 4.2). Las resistencias se hallan incorporadas a los cables de medida, estando éstos debidamente marcados. 4 PRÁCTICA 4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS -15 a -15 V señal de entrada -5 a -5 V a tarjeta A/D R R R Figura 4.2: Esquema del divisor de tensión. 4.4 El ordenador como sistema de adquisición y control El computador es el encargado de determinar el comportamiento dinámico del sistema mediante la implementación de una determinada ecuación en diferencias que controla el sistema en tiempo discreto. Este programa implementado en el SCADA (sistema de control y adquisición de datos) LabVIEW que se describirá a continuación presenta la siguiente pantalla de explotación: Figura 4.3: Pantalla de explotación de LabVIEW. Laboratorio de Control Automático 5 En la pantalla de explotación pueden distinguirse varias partes diferenciadas: • Recuadro de tiempo: En este recuadro se puede fijar el tiempo de muestreo (en ms), se muestra el tiempo transcurrido y hay un botón para poner en marcha o para el funcionamiento del programa. • Recuadro de Referencia: Aquı́ se fija el tipo de referencia para el sistema controlado (escalón o frecuencia) y su valor. • Recuadro de Controlador PID: En el se introducen los valores de las constates del PID que se le pasan a la función que implementa el bucle de control. • Gráfica de actuación: En ella se muestra el valor de la actuación (salida de la tarjeta de A/D) del controlador. • Gráfica de velocidad y Ref : Muestra el valor de la variable conectada al canal 0 de la tarjeta de adquisición de datos (que según el esquema de conexiones que se verá posteriormente se corresponde con la velocidad del motor). En esta gráfica se muestra también el valor de la referencia fijada en el recuadro correspondiente. • Gráfica de posición y Ref : Idem que la anterior pero para el canal 1 de la tarjeta. 4.4.1 Descripción del programa La parte del programa que implementa el bucle de control se realiza mediante una función con prototipo: double WINAPI control (double rk, double c0k, double c1k, double kp, double Ti, double Td) que recibe: • el valor de la referencia fijada en la pantalla de explotación rk, • la lectura de los canales 0 y 1 de la tarjeta de adquisición de datos en el instante actual c0k y c1k, • los valores de los parámetros del PID fijados en la pantalla de explotación kp, Ti y Td. y devuelve el valor de la actuación. La función (programada en Visual C y con nombre labdll.dsw), ası́ como el modo de modificarla y compilarla para que pueda ser usada por el programa LabVIEW será descrita en el laboratorio por el profesor durante el desarrollo de la práctica. 6 4.5 4.5.1 PRÁCTICA 4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS Desarrollo de la práctica Muestreo y reconstrucción de señales continuas. En primer lugar se realizará el muestreo de una señal analógica mediante la tarjeta de adquisición y se reconstruirá esta señal utilizando un mantenedor de orden 0 (incluido en el convertidor D/A). Para ello se conectarán los distintos elementos como muestra la Figura 4.4. En ella se observa que el generador de ondas produce la señal de entrada (una senoide) que es muestreada por el ordenador gracias a la tarjeta de conversión analógica-digital (tarjeta A/D) (canal A/D 0). El computador calcula la señal de salida a partir de la entrada (en este caso la salida se hace igual a la entrada) y la devuelve al exterior tras la debida conversión de digital a analógica utilizando un mantenedor de orden 0 (canal D/A 0). Un osciloscopio permite visualizar las señales de entrada y salida gracias a sus dos canales. Figura 4.4: Esquema de conexiones. Elegir el tiempo de muestreo T= 0.01 segundos. Se observará la variación de la señal de salida al cambiar la frecuencia de la senoide de entrada. Para frecuencias muy altas se observará el fenómeno de enmascaramiento de frecuencias (”aliasing”). 4.5.2 Identificación y control del motor de CC La dinámica del computador se fija mediante una ecuación en diferencias que se implementa en un programa que se ejecuta en el computador. Con este fin se ha desarrollado un programa que permite de una forma sencilla realizar esta tarea. En práctica 3 se presentó un sistema de laboratorio formado por un motor de corriente continua sobre el cual se realizó un ensayo en escalón y un control elemental. Esta práctica se centra en el control del motor de corriente continua utilizado anteriormente 7 Laboratorio de Control Automático usando un computador. Para ello es necesario disponer de un modelo dinámico del sistema, para lo cual se realizan ensayos en escalón sobre el mismo. Posteriormente se lleva a cabo el diseño de un controlador PI para controlar la velocidad del motor y, opcionalmente, un controlador PID para la posición del mismo. Es importante resaltar que previamente a la realización de la práctica resulta necesario haber repasado el diseño de controladores en discreto. Para la realización de esta parte se conectará el sistema del motor de corriente continua a la tarjeta de adquisición de datos de la forma hecha en la práctica anterior y que se detalla en la figura 4.5. Para el control del mismo se usará el programa de control, modificando la función que implementa el bucle de control. yv GN D AI1 GND AI0 AO0 y Figura 4.5: Conexión del sistema de control del motor de corriente continua. Esta parte puede dividirse en tres partes: 8 PRÁCTICA 4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS Identificación del motor En la figura 4.6 se muestra el diagrama de bloques del modelo dinámico del motor. Los parámetros que definen el modelo se pueden determinar mediante un ensayo en escalón. Realizar ensayos para varios valores de u (tı́picamente alto, medio y bajo) . Obsérvese la existencia de una zona muerta y de la saturación de la señal de control . u k1 τ s+1 yyv k2 s y Figura 4.6: Diagrama de bloques del motor. Se pretende aquı́ observar el comportamiento del motor ante cambios en el voltaje de entrada al mismo. Se usará el ordenador como monitor para dicha observación en bucle abierto. Cálculo de parámetros La salida de la planta yv (velocidad) ante una entrada en escalón se asemeja a la de un sistema de primer orden. Tales sistemas quedan caracterizados por una ganancia estática y una constante de tiempo. Aunque el sistema objeto de estudio no es de primer orden, se puede hacer tal aproximación. La posición angular del eje y resulta de integrar la velocidad multiplicada por cierta constante (debido a la conversión de grados a voltios). La dinámica de la planta completa se aproxima, por tanto, a: k2 k1 → yv → →y u→ 1 + τs s donde las variables son: u yv y Señal de mando en Voltios. Velocidad de giro, expresada en Voltios tras del atenuador. Posición angular, expresada en Voltios tras del atenuador. Se obtendrán los parámetros del sistema k1 , τ y k2 , haciendo uso de los datos obtenidos en los experimentos (por ejemplo de forma gráfica). Los valores serán diferentes en las zonas baja, media y alta de u, por lo que se hará una media. 4.5.3 Diseño de controladores para el control de velocidad Se pretende controlar la velocidad del motor de CC (MT150F), para lo cual se utilizará la información obtenida sobre el sistema en apartados anteriores. 9 Laboratorio de Control Automático Trabajo preliminar: diseño de un PI Con los parámetros k1 y τ obtenidos en la práctica anterior, se pueden diseñar controladores para el control de velocidad en bucle cerrado. Se recuerda que la forma tı́pica en que viene dado un PID en forma de función de transferencia en transformada s es: GP ID (s) = Kp (1 + 1 + Td s) Ti s que en tiempo discreto se puede representar por la ecuación en diferencias: uk = kp (ek + j=k X j=0 ej Td Tm + (ek − ek−1 ) ) Ti Tm donde las constantes del PID son kp , Ti y Td ; Tm es el tiempo de muestreo y la variable k indica el muestreo en curso. Nótese que en la codificación de un PID que aparece en el listado de la descripción de esta práctica aparece la expresión anterior. La ecuación en diferencias y las actualizaciones correspondientes están descritas en el siguiente fragmento de código: /* Ca’lculo de la senal de mando u */ ek=rk-yk; uk=kp*(ek+sum*tm/Ti+(ek-ek1)*Td/tm); /* Actualizacio’n */ sum=sum+ek; ek1=ek; Especificaciones del controlador PI Se utilizará la transformada z para obtener un PI que cumpla: 1. El cero del PI cancelará el polo del sistema. 2. La constante de tiempo del bucle cerrado será la mitad de la del sistema sin compensar. Trabajo en el laboratorio Conexión del equipo 10 PRÁCTICA 4. CONTROL POR COMPUTADOR DE SERVOMECANISMOS Canal 1 A/D medirá yv (velocidad). Canal 0 A/D se conectará a masa. Canal 0 D/A proporcionará la señal u. Programa Incluir en el programa una rutina que calcula la señal de control del PI, compilándola y enlazándola con el resto de ficheros del proyecto. Es importante asegurarse que los canales de lectura en el programa correspondan a la conexión fı́sica realizada. Experimentos Se probará la eficacia del controlador diseñado mediante una serie de experimentos en los cuales la referencia del sistema en bucle cerrado sufrirá escalones en distintas zonas. Los resultados se archivarán en ficheros *.m. Se modificarán los parámetros del PI de su punto de diseño, y se verá como afecta a la respuesta en bucle cerrado. 4.5.4 Diseño de un regulador PID para el control de posición (opcional) Se pretende controlar la posición angular del motor de CC (MT150F), para lo cual de nuevo se utilizará la información obtenida de apartados anteriores. Trabajo preliminar Especificaciones PID Usando los parámetros k1 , k2 y τ de la descripción del sistema obtenidos en apartados anteriores se usará la transformada en s para obtener los parámetros del PID sabiendo que se desea que en bucle cerrado el sistema tenga un polo real en s = −1 y los otros dos polos estarán en s = −0.1 + 2j y s = −0.1 − 2j. Trabajo en el laboratorio Conexión del equipo Canal 0 A/D medirá y. Canal 0 D/A proporcionará la señal u. Laboratorio de Control Automático 11 Programa Incluir en el programa una rutina que calcula la señal de control del PID, compilándola y enlazándola con el resto de ficheros del proyecto. Asegurarse de que los canales de lectura en el programa corresponden con la conexión fı́sica realizada y de que el programa no ha sido alterado. Experimentos Se probará la eficacia del PID diseñado mediante una serie de experimentos en los cuales la referencia del sistema en bucle cerrado sufrirá escalones en distintas zonas. Los resultados se archivarán. Se observará el efecto de cada uno de los términos del PID (proporcional, integral y derivativo) sobre el comportamiento del bucle cerrado, modificando los parámetros kp , Ti y Td . Se efectuarán diversos experimentos correspondientes a distintos valores de los parámetros. Para ello se procederá como sigue: 1. Elegir (a base de prueba y error) un valor de kp que haga que no haya mucha sobreoscilación ni tampoco oscilaciones. Los efectos integral y derivativo aquı́ serán nulos. 2. Bajar algo kp y añadir término integral para anular el error en régimen permanente (producido por la zona muerta). 3. Añadir ahora término derivativo con objeto de suavizar la sobreoscilación que puede haber aparecido en el punto anterior. Se tomará nota de los valores de cada prueba. 4.6 Memoria de la práctica Se detallará en la memoria aquellos puntos que se indicaron más arriba como importantes para la observación. Asimismo se incluirá en la memoria todo trabajo desarrollado por el alumno, como: rutinas de control, ecuaciones, análisis, etc... y todo fichero de resultados (en forma gráfica si se puede). Se preferirá una redacción breve y concisa, pero que no omita puntos o resultados fundamentales.