Está en la página 1de 4

Espinoza-Saquisili <Levitador Magntico>

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.

I.

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.

Fig1. Entorno Scilab

III.

INSTALACION DE SCILAB EN LINUX

En todas las distribuciones Linux, se puede llevar a cabo desde la consola de comando la instalacin de Scilab/Xcos. Se utilizara el paquete binario descargado de la pgina oficial de Scilab. 1. Descargar del paquete. Wgetbchttp://www.scilab.org/download/5.x.x/scilab5.x.x.bin.linux-i686.tar.gz 2. Se copia el paquete descargado a /usr/local cp scilab-5.x.x.bin.linux-i686.tar.gz /usr/local/

II.

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.

3. Se ingresa previamente al directorio /usr/local y se descomprime el paquete: 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 &

Espinoza-Saquisili <Levitador Magntico>

IV.

INSTALACION DE SCILAB EN LINUX

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.

Para instalar mdulos para Scilab se puede utilizar el administrador de mdulos a travs de la gui Atoms o directamente desde la lnea de comandos. Para ejecutar el administrador de mdulos se debe hacer click en el menu "Application" y seleccionamos "Module Manager - ATOMS". Al hacer click se abrir el administrador de mdulos. Una vez seleccionado el modulo se hace click en el botn install. Luego que se instala el mdulo es necesario reiniciar Scilab para que este pueda cargar los mdulos instalados. Tambin se puede utilizar la lnea de comandos de Scilab para consultar los mdulos e instalarlos. Para instalar y visualizar los mdulos disponibles es necesario que el equipo donde se esta corriendo Scilab tenga una conexin a internet.

VI.

LOS TOOLBOXES

V.

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. 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

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.

VII.

LINUX TIEMPO REAL

Un sistema de tiempo real es aquel en el que para que las operaciones computacionales sean correctas no depende slo de que la lgica e implementacin de los 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.

Espinoza-Saquisili <Levitador Magntico>

Confiabilidad. Operacin a prueba de fallos.

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

VIII.

PROGRAMA REALIZADO EN LINUX

CONSIDERACIONES PARA CORRER EL PROGRAMA EN SCILAB

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. 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 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 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.

IX.

CONCLUSION

Espinoza-Saquisili <Levitador Magntico>

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.