Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Descripcion Del Programa en Linux
Descripcion Del Programa en Linux
Implementacin de un Sistema de Control en Tiempo Real bajo una Plataforma Linux aplicado a un Levitador Magntico
Espinoza Efrn Saquisili Milton UNIVERSIDAD POLITECNICA SALESIANA Facultad de Ingenieras, Ingeniera Electrnica eespinozat@est.ups.edu.ec msaquisili@est.ups.edu.ec Abstract.- Al desenvolver el proyecto en el entorno de Linux, software Libre, se debe dar un breve resumen de cmo usar el Scilab, su respectiva instalacin y la forma de programacin del entorno de control que fue realizado con anterioridad en Matlab.
INTRODUCCION
SCILAB.- Es un software libre para clculo numrico que proporciona un entorno de computacin poderoso, para aplicaciones de ingeniera y cientficas. Scilab cubre un amplio espectro de reas: Aeroespacial. Automocin. Energa. Defensa. Finanzas. Qumica. Biologa. Medicina.
FUNCIONES DE SCILAB
Un gran nmero de funcionalidades se incluye en Scilab: control, simulacin, optimizacin, procesamiento de seales, Xcos para simular sistemas dinmicos (similar a Simulink), etc. Fig1.
Espinoza-Saquisili <Levitador Magntico> tar -zxvf scilab-5.x.x.bin.linux-i686.tar.gz 4. Ejecucin de Scilab desde la lnea de comandos: /usr/local/scilab-5.x.x/bin/scilab & Existen tres clases de programas que pueden ejecutarse en el entorno: Macros y funciones. Las macros y las funciones permiten realizar nuestras propias utilidades y reutilizarlas siempre que queramos. El procedimiento consiste en escribir con un editor de texto la funcin deseada (debe tener extensin .sci), cargarla desde el programa y finalmente ejecutarla. Programas. Los programas Scilab tambin son ficheros de rdenes con extensin .sci, que se ejecutan con el comando --> exec ordenes.sci El programa busca el fichero "ordenes.sci" y lo ejecuta secuencialmente hasta que encuentre alguna sentencia de control de flujo. Interfaces. Una subrrutina en cdigo C o Fortran se puede utilizar como una funcin de Scilab, a este cdigo se le denomina una Interface. Evidentemente esta posibilidad permite codificar programas muy exigentes en trminos de complejidad o velocidad de clculo, adems de la reutilizacin de cdigo ya existente en estos lenguajes.
LOS TOOLBOXES
Scilab dispone en la actualidad de un amplio abanico de libreras adicionales que amplan el software, estos programas denominados "toolboxes" cubren reas especficas en los campos de la matemtica, la ingeniera, simulacin, etc.
XCOS
Scilab tiene un entorno similar a Simulink de Matlab para simulacin de sistemas dinmicos y resolucin de sistemas de ecuaciones diferenciales. Este entorno posee varios paquetes que incluye algunas herramientas para simulacin sencilla de circuitos elctricos, sistemas de control, termo hidrulica, etc. Para iniciar Xcos solo basta con tipear <xcos> desde Scilab y dar aceptar.
Espinoza-Saquisili <Levitador Magntico> programas computacionales sea correcto, sino tambin en el tiempo en el que dicha operacin entregue el resultado. Determinismo. Tiempo de respuesta. Control de los procesos sobre el sistema. Confiabilidad. Operacin a prueba de fallos. SCICOS es un ambiente de programacin grfica parecida a simulink. La realizacin del programa en si ya dentro de la plataforma es de una forma muy parecida a simulink, en donde basta con arrastrar los bloques que se requieran hasta la ventana de programacin, la diferencia es que la interconexin se realiza dando click derecho y tomando la opcin de unir los elementos. Se debe indicar que para que el programa identifique que se est trabajando en tiempo real se debe de tomar un bloque de RT_SYNC y este bloque al igual que todos los dems debe de estar entrelazado con el reloj que pondremos para establecer el tiempo de swicheo del controlador. FUNCIONAMIENTO DEL PROYECTO Se est trabajando con la versin 10.04 de UBUNTU. 1. La clave: rtai 2. Se debe arrancar el microKernel de RTAI con sus modulos, para eso procedemos de la siguiente manera: - AplicacionesAccesoriosTerminal - sudo su Al hacer esto tenemos permiso de sper usuario y podemos activar los modulos: - start_rtai 3. Procedemos a cargar los drivers de la PCI 1711: - load daq 4. Procedemos entonces a abrir el programa de SCILAB. 5. Una vez dentro de SCILAB: - Toolboxes Hard Al hacer esto estamos activando las herramientas de RTAI para SCILAB. 6. Escribimos SCICOS y cargamos el programa. En forma resumida funcionamiento del proyecto: explicamos el
Los sensores que estn en la planta, mandan los datos a travs de AI0 y AI3 para esta seal hacerla diferencial dentro de SCILAB, aqu procedemos a aplicar un filtro digital para encontrar los mximos de la seal diferencial encontrando as ya el dato de la posicin del objeto a levitar. Despus esta seal obtenida la restamos del set point para encontrar el error y aplicar ya el controlador de tipo PD que se tiene en el programa. Esta seal sale hasta la tarjeta PCI para que mande un valor analgico de mximo 5V hasta el micro controlador arduino que es encargado de traducir esta seal analgica para pasarla a PWM y as poder mandar la referencia hasta el driver del electroimn, con un valor mximo de voltaje de 5V. El driver se encarga de recibir el PWM y de mandar la correccin necesaria de tensin hasta el electroimn para as repetir el proceso en forma cclica una y otra vez.
CONCLUSION
Espinoza-Saquisili <Levitador Magntico> Con las caractersticas que se acaban de describir anteriormente se debe indicar que los sensores estaban presentando demasiado nivel de ruido por lo que se procedi a cambiarlos por sensores infrarrojos los cuales mostraron mayor estabilidad, e incluso se procedi a cambiar de electroimn el cual alimentndolo de manera independiente mostr mayores ventajas y el funcionamiento que se tuvo fue de caractersticas mucho ms aceptable que en el primer caso con los sensores tipo hall. El reloj o tiempo de swicheo que se incluyo es de 1kHz ya que en pruebas realizadas el funcionamiento con una frecuencia menor era demasiado pobre es decir no se cumpla con el objetivo de levitacin magntica. Las constantes dentro del bloque del controlador se obtuvieron al discretizar el controlador que se tena anteriormente, esta discretizacin se la realiz en matlab con el mtodo de tustin. De igual manera con el mtodo de prueba error estas variables pueden ser seteadas hasta encontrar el mejor funcionamiento del levitador.