Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
Sistema de control de posición de bola y barra empleando Labview® Por: Abraham Jaime Origel
Resumen. Es muy común encontrarse con sistemas de control en casi cualquier parte, es decir, todo el medio en el que nos desarrollamos contiene al menos un sistema de control. Existen dos tipos de realizar sistemas de control, tanto en tiempo continuo como en tiempo discreto, actualmente es más común trabajar en sistemas de control digital (sistemas de control en tiempo discreto, con palabras digitales) puesto que es una tecnología accesible para casi cualquier usuario.
una esfera metálica sobre una barra, mediante el movimiento de la barra en cierto ángulo con respecto de la horizontal. Para construir el sistema es necesario tomar las siguientes consideraciones para poder determinar su función de transferencia y así partir a la implementación de manera real.
Labview® es una herramienta que nos permite programar sistemas de control digital de manera sencilla y altamente efectiva. Marco teórico. Para el aprendizaje de sistemas de control, es necesario realizar modelos físicos a controlar para esto se necesita conocer la función de transferencia del sistema. El sistema de bola y barra es muy empleado para análisis didáctico en los textos de control, puesto que es un sistema de segundo orden relativamente sencillo de explicar, con esto se ilustra cómo implementar el sistema de forma real. En este prototipo se tienen como variable física a controlar, la posición de
La bola sólo se desplaza a través de un eje, con esto se tiene sólo un grado de libertad. Al modificar el ángulo de la barra es posible cambiar la posición de la bola, si el ángulo de la barra permanece constante se incrementa la velocidad de desplazamiento de la bola. La bola rota libremente, esto despreciando la fricción de la bola sobre la barra.
El sistema de bola y barra construido en el laboratorio de electrónica “Luis García Reyes” por: Félix Jiménez Pérez, Israel Luna Reyes y Abraham Jaime Origel está construido mediante la comunicación de dos microcontroladores, siendo ambos fabricados por Microchip® el microcontrolador principal es el PIC18F4550, este es el encargado de la comunicación con todos los dispositivos, tales como controles de ganancia (modo
Página 1
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
local), entrada analógica para variar el ángulo de posición (modo externo), pantalla Nokia, Entradas analógicas, comunicación con el microcontrolador PIC16F818 mediante el protocolo SPI, este segundo microcontrolador tiene la tarea de controlar el ángulo de posición del servomotor mediante la variación del ciclo de trabajo utilizando modulación PWM. [1]
R, radio de la bola. d, desplazamiento del brazo. g, aceleración de la gravedad. L, longitud de la barra. J, momento de inercia de la bola.
Así como también las variables físicas.
r, posición de la bola. , ángulo del servomotor. , ángulo de la barra.
Ecuaciones del sistema. El material empleado para la realización de prototipo consiste en:
Base de madera adecuada para el libre movimiento de la barra. Barra construida a partir de un perfil de aluminio de
(
pulgada
Servomotor, éste es quien genera una variación en el ángulo de la barra. Sensor de posición, resistencia variable flexible (lineal) de 50cm de largo. Pantalla gráfica Nokia controlada mediante el protocolo SPI para ilustrar la posición de la bola en la barra. Interruptores de selección de modo de operación, modo local, modo demo y modo externo el cual se utilizará en este desarrollo.
Memoria de cálculo. Para la obtención de la función de transferencia es necesario considerar las constantes físicas involucradas en el sistema:
La ecuación de movimiento del sistema puede obtenerse a partir de las leyes de Newton o de la formulación del Lagrange del sistema y está dada por: ( )
) ̈
( ̇)
Linealizando la ecuación 1, respecto al ángulo de la barra, ésta a su vez referenciada a la posición horizontal, es decir, suponiendo , quedando: (
) ̈
La ecuación que relaciona el ángulo de la barra con respecto al ángulo del servomotor, está presente en la siguiente ecuación.
Sustituyendo: (
) ̈
Aplicando la transformada de Laplace a la ecuación anterior, considerando condiciones iniciales cero se obtiene:
m, masa de la bola.
Página 2
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
) ( )
(
( )
Al ser la posición de la bola sobre la barra nuestra variable de salida y nuestra variable de entrada el ángulo, la función de transferencia puede ser escrita de la siguiente manera.
Controlar un sistema de segundo orden no es siempre posible con un sistema proporcional, para este caso se tiene que si sólo existe una ganancia proporcional, la respuesta del sistema oscilará de manera permanente. Step Response 0.5 0.45
( ) ( )
0.4
(
)
0.35
Amplitude
0.3
Las constantes físicas pueden ser sustituidas, para éste modelo en particular:
0.25 0.2 0.15 0.1 0.05 0
0
1
2
3
4
5
6
7
8
9
10
Time (sec)
⁄
Figura 2: Respuesta con un controlador proporcional
Si se implementa un control proporcional derivativo se tiene una respuesta ante una entrada escalón como la mostrada en la figura 2, esto con una ganancia proporcional de 1 y una ganancia derivativa de 10.
Con estos valores se obtiene:
(
)
Step Response
Sustituyendo en la función de transferencia:
0.35
0.3
( ) ( ) Amplitude
0.25
La simulación del sistema en lazo abierto es presentada en la figura 1.
0.2
0.15
0.1
3
x 10
8
0.05
Step Response
0 2.5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Time (sec)
Figura 3: Respuesta con un controlador proporcional derivativo
Amplitude
2
1.5
1
0.5
0
0
0.5
1
1.5 Time (sec)
Figura 1: respuesta en lazo abierto
2
2.5
3 x 10
4
En este modelo se implementa un controlador proporcional integral derivativo, en las simulaciones mostradas en las figuras anteriores no se realiza la simulación del controlador PID, puesto que con un
Página 3
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
controlador PD es suficiente para alcanzar el estado estable, de forma práctica se implementa el controlador con parte integral para reducir el error en estado estable.
Cálculo de ganancias. El objetivo del desarrollo del controlador proporcional integral derivativo implementado en Labview® para el controlar la posición de la bola sobre la barra, no es el calcular las ganancias óptimas, sino más bien mostrar la simplicidad de programación en Labview® es por ello que el usuario es capaz de modificar las ganancias PID para observar el resultado dependiendo de las ganancias. Las ganancias máximas mostradas en el panel frontal, están aproximadas a las ganancias óptimas del sistema, si estas superan el valor máximo de la ganancia, el sistema puede ser inestable.
Desarrollo del instrumento virtual. Para implementar un controlador PID en Labview® existen diversos métodos o incluso un bloque disponible. Para este desarrollo se creó un controlador PID partiendo de su explicación más sencilla, es decir, siendo en forma de diferencias y sumas algebraicas. Error. El error es descrito como la diferencia existente entre la entrada al sistema y la salida del sistema. [2] Acción proporcional La parte proporcional del sistema puede ser explicada como el error del sistema multiplicado por la ganancia proporcional asignada. Es decir, si se tiene una ganancia proporcional „Kp‟ y un error „e‟, la salida del sistema será expresada como:
( ) La figura 4 ilustra la acción proporcional, se puede apreciar, el error en color azul y la salida del sistema en color verde, donde la salida del sistema es el producto del error por la ganancia proporcional asignada al sistema
[3].
Figura 4: Acción proporcional
En lenguaje de bajo implementado como:
nivel
puede
ser
Error = entrada - salida; salida = Error * gananciaProporcional; Acción integral La acción integral del sistema puede ser definida como la sumatoria algebraica del error actual con el error anterior, es decir, el error actual es sumado con el error acumulado anterior, multiplicado por la ganancia asignada a la acción integral, ésta reduce el error en estado estable. Para ejemplificar el funcionamiento de la acción integral se presenta la figura 5. La figura 5 ilustra el error que será multiplicado por la ganancia asignada a la acción integral, si se tuviese un error constante de 1, el error en el primer instante de la acción integral es 1, en el segundo instante se tendría un 2 y así sucesivamente, con esto la única forma de tener un error en
Página 4
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
la parte integral igual a cero, es si la salida del sistema es mayor a la entrada, con esto se tiene un error negativo y el error se aproxima a cero al hacer la suma algebraica. [3]
error es tres. De la misma manera es posible obtener el valor del error en cada muestra, considerando la muestra cuatro, se tiene que la muestra cuatro tiene el mismo error que la muestra tres, por lo tanto 4-4 = 0, el error en la muestra cuatro es cero. [3]
Figura 5: Acción integral
En la Figura 5 se puede apreciar la sumatoria del error (presentado en azul) siendo la línea verde la salida del error acumulado. En lenguaje de bajo implementado como:
nivel
puede
Figura 6: Acción derivativa en tiempo continuo.
ser
Error[n] = Error[n] + Error[n-1]; Salida = Error[n] * gananciaIntegral; Acción derivativa. La acción derivativa puede ser representada como la diferencia del error actual con respecto al error anterior, con lo cual se vuelve muy sensible a las pequeñas variaciones del sistema. Para entender la acción derivativa de una mejor manera se ilustran las figuras 6 y 7. Tomando el ejemplo de la acción derivativa en tiempo discreto, se puede apreciar el error existente en cada intervalo de tiempo, para la muestra uno se tiene un error cero (esto será explicado más adelante), para la muestra número dos se tiene un error igual a tres, puesto que error en la muestra uno es cero y en la muestra dos es tres, se tiene que 3-0 = 3, por lo tanto el
Figura 7: Acción derivativa en tiempo discreto.
Tomando el ejemplo de la acción derivativa en tiempo discreto, se puede apreciar el error existente en cada intervalo de tiempo, para la muestra uno se tiene un error cero (esto será explicado más adelante), para la muestra número dos se tiene un error igual a tres, puesto que error en la muestra uno es cero y en la muestra dos es tres, se tiene que 3-0 = 3, por lo tanto el error es tres. De la misma manera es posible obtener el valor del error en cada muestra, considerando la muestra cuatro, se tiene que la muestra cuatro tiene el mismo error que la
Página 5
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
muestra tres, por lo tanto 4-4 = 0, el error en la muestra cuatro es cero. [3] En lenguaje de bajo implementado como:
nivel
puede
ser
Error[n] = Error[n]-Error[n-1]; Salida = Error[n]*ganancia Derivativa; Programación en Labview®
Figura 8: Cálculo del error actual
Para implementar el control proporcional integral derivativo, antes mencionado, en Labview® se utilizarán los métodos de bajo nivel antes explicados. Para digitalizar la salida del sistema es necesario contar con una tarjeta de adquisición de datos (Para este prototipo se emplea la tarjeta NI USB6008) ésta se encarga de tomar los datos del sistema real y convertirlos a una palabra digital la cual será fácilmente procesada por Labview® es importante la frecuencia de muestreo y el número de muestras que toma la tarjeta antes de entregar el resultado al software. Se utilizaron sistemas matemáticos de adición, sustracción, producto y división, controles e indicadores seleccionados en el panel frontal, entradas y salidas del sistema a través de la tarjeta de adquisición de datos, además de un nodo de fórmula. Para calcular el error sólo es necesario obtener la discrepancia entre la posición deseada del sistema y la posición actual.
Figura 9: Implementación de las acciones de control
La implementación de las tres acciones de control, proporcional integral y derivativa, se muestran en la figura 9. Para obtener el valor del error anterior se utiliza la función de Labview “Feedback node”, mostrado en la figura 10.
Figura 10: Feedback node
Página 6
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
Figura 11: Salida de datos del sistema
Figura 13: Diagrama de bloques
Figura 12: Nodo fórmula
En la figura 11 se muestra, la programación para la salida de la tarjeta la cual controla al sistema mediante voltaje, lo que entra es multiplicado por 0.025 ya que se considera un error máximo de 200, ya que el servomotor encargado de controlar el ángulo de la barra tiene una velocidad aproximada de 10ms por 60°, por lo tanto para recorrer un ángulo de 180°, necesita 30ms, lo cual es bastante tiempo. Después del acondicionamiento del error se tiene un punto de suma con 2.5, para que siempre que el error sea cero, la salida esté posicionada a 2.5v con esto se tiene un ángulo formado entre la barra y la horizontal igual a 0°.
Figura 14: panel frontal
A continuación se tiene un nodo de fórmula (figura 12), el cual se utiliza para limitar los datos de la tarjeta, ya que Labview® presentará un mensaje de error si la entrada de datos a la tarjeta no está dentro del rango de 0 a 5. El diagrama de bloques y el panel frontal se muestran en las figuras 13 y 14 respectivamente. La figuras 15 y 16 muestran el sistema implementado de manera real.
Figura 15: Implementación del sistema real.
Página 7
Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Laboratorio de control digital I Abraham Jaime Origel
Otro problema importante fue la salida de datos hacia la tarjeta, puesto que como se utilizó una salida digital sólo admite valores entre 0 y 5. No encontré una función que limite a un valor determinado. Debido a ello se aplicó el nodo fórmula para demostrar la facilidad de programación de Labview®, se implementó también con estructuras “case” y con entradas booleanas, sólo que se decidió dejar el nodo fórmula para que fuese mayor entendible el código. Figura 16: Implementación real del sistema.
Comentarios y conclusiones. El sistema no es lo más óptimo posible puesto que el fin no es para aplicación real, sino más bien como desarrollo demostrativo/didáctico, debido a ello las ganancias no están calculadas de manera adecuada. El sistema está estimado en tiempo discreto ya que si se quiere implementar el sistema en tiempo discreto es necesario hacer muchas más consideraciones tales como frecuencia de muestreo, estabilidad dentro del círculo unitario, mas sin en cambio el cambio más significativo es que no se puede tatar el sistema como continuo, es decir el control PID debe ser hecho mediante ecuaciones de diferencias para poder aplicarlo al sistema. Una gran venta que presenta Labview® es poder tratar un sistema continuo en forma digital haciendo el control digital como si fuese continuo.
La salida del sistema está al revés de la entrada ya que el sistema entrega 5 v viendo el sistema de bola y barra desde el frente, mientras que el panel frontal de Labview® se considera cero en la parte izquierda, debido a ello se hizo un ajuste restando la entrada a una constante de valor 50 con lo cual se invierte el valor entregado, es decir en la parte izquierda es cero y en la parte derecha es 50, con esto está puesto de la misma manera que en el panel frontal. Bibliografía.
[1] José Juan Rincón Pasaye, Félix Jiménez Pérez, Abraham Jaime Origel, Practicas de “sistema de control estabilizante de bola y barra basado en microcontrolador”. Concurso estatal de ciencia y tecnología modalidad didáctica COECyT 2010.
[2] “Ingeniería de sistemas de control continuo” primera edición, Isidro I Lázaro castillo. [3] “PID control intro with the basic stamp”
Problemas presentados El principal problema presentado fue el entender el funcionamiento del controlador PID en bajo nivel, una vez comprendido la implementación el Labview® fue muy sencilla.
http://forums.parallaxinc.com/forums/default. aspx?f=6&m=66982, primer día de Junio, 2011.
Página 8