INSTITUTO TECNOLÓGICO SUPERIOR DE TEPEACA. Sistema de Control de Posición de un mini-auto usando LabView. Sánchez A. (BUAP ITS Tepeaca) e-mail: armando_sac@ece.buap.mx Volumen 1. Número 2. Recibido: Mayo2010. Revisado: Junio 2010. Publicado: Julio 2010. 74
Sistema de Control de Posición de un mini-auto usando LabView. Sánchez A. (BUAP ITS Tepeaca) e-mail: armando_sac@ece.buap.mx Volumen 1. Número 2. Resumen. En este artículo se emplea una GUI que sirve para controlar un mini-auto eléctrico empleando un modulo transmisor de radio frecuencia conectando al puerto paralelo de la computadora. En este proyecto se ha utilizado un lenguaje de programación Visual distribuido por National Instruments. Este lenguaje de programación recibe el nombre de LabView y es muy utilizado en procesos de automatización y control. Palabras clave: Puerto Paralelo, GUI, Programación Visual, LabView. 75
1. Motivación y justificación. Recientemente los sistemas de mando y control de tipo inalámbrico están causando un gran impacto en nuestras vidas. No debemos olvidar que también el uso de una computadora dedicada a controlar dispositivos electro-mecánicos es muy importante especialmente porque se deben de diseñar interfaces de tipo gráfico para los usuarios (GUI) [1]. Estas GUI pueden ser diseñadas empleando lenguajes de programación de alto nivel orientados a la programación de objetos tales como: Visual C++, Visual C#, Java, etc. [2]. De igual manera podemos emplear lenguajes de programación gráficos como es LabView que es distribuido por National Instruments [2]. Este proyecto se ha diseñado con la finalidad de mostrar a los alumnos de nuestra institución ITS Tepeaca de las carreras de Ingeniería en Sistemas Computacionales y Licenciatura en Informática un campo de aplicación relacionado con la ingeniería de software, la electrónica y los sistemas de comunicación inalámbricas. Este sistema ha sido puesto al alcance de todos nuestros estudiantes con fines experimentales. 2. Descripción del sistema El sistema encargado de controlar la posición del mini-auto se describe a manera de bloques a continuación. COMPUTADORA SISTEMA WIRELESS DISPOSITIVO A CONTROLAR Mediante la computadora nos encargaremos de proporcionar las instrucciones de control a un pequeño auto de juguete al cual le daremos órdenes de avanzar hacia adelante, atrás, izquierda o derecha. Estas instrucciones serán proporcionadas al auto de forma inalámbrica empleando una tarjeta conectada al puerto paralelo de la computadora. Dicha tarjeta a sido diseñada utilizando lógica digital para el manejo de los datos de salida del puerto paralelo [3]. La figura 1 muestra la Interfaz Gráfica de Usuario (GUI) del sistema de control empleado. Como puede observarse de la figura 1 nuestro sistema de control consta de cuatro botones que se emplean para indicar la dirección del movimiento del carrito esta interfaz es de fácil construcción y programación empleando software como LabView. Empleando este lenguaje gráfico de programación permite crear controles empleados en un ambiente de trabajo virtual [4]. Empleando LabView se puede realizar el manejo de dispositivos electrónicos mediante tarjetas de adquisición de datos o bien empleando algunos de los puertos de la computadora. El interés particular de emplear el puerto paralelo de la computadora se da debido a que es un puerto que requiere de la configuración de pocos elementos en el momento de programar, además de que se requiere lógica de control externa sencilla con la facilidad de poder emplear el puerto paralelo en forma bidireccional [5]. 76
Figura 1. Interfaz Gráfica de Usuario (GUI) para el control de nuestro mini-auto. La figura 2 muestra el diagrama de un puerto paralelo estándar. El dibujo muestra la salida del puerto al ver a la computadora desde la parte de atrás se observa que el número de los pines está grabado en la misma conexión. Figura 2. Descripción de pines del puerto paralelo. Este es el diagrama que se encuentra en la mayoría de los manuales técnicos. Como puede verse, está específicamente diseñado para la impresora. Las flechas que salen del puerto son los comandos que se envían a ésta (salto de hoja, inicialización, selección, habilitación), y tiene una entrada para cada señal que la impresora puede mandar: error, impresora no seleccionada, impresora ocupada, sin papel, y "reconocimiento" (ACK). Los 12 bits de salida y 5 bits de entrada están agrupados en 3 bytes, conocidos ampliamente en la literatura computacional como los bytes "Data, Status y Control". Esto proviene del diseño original del puerto que, como ya se mencionó, fue hecho pensando en la impresora solamente. El byte llamado "Data" consiste de los 8 bits de datos de salida hacia la impresora. El byte de "Control" es para darle órdenes, y está formado por los 4 bits de salida solamente (los otro cuatro bits del byte no se utilizan). Y finalmente, el byte "Status" está formado por 5 bits de entrada que leen la condición de la impresora (los otros bits tampoco se usan) Las siguientes figuras muestran cómo están distribuidos estos bits en sus respectivos bytes. 77
Cada puerto paralelo que exista en la PC estará caracterizado por estos tres bytes, aunque (obviamente) cada uno los tendrá localizados en direcciones diferentes, según el fabricante de la PC (ver figura 3) [6] Figura 3. Bytes "Data", "Status" y "Control". Otro punto importante a considerar que cuando se realicen proyectos electrónicos que involucren este puerto, es el hecho de que el puerto paralelo estándar tiene muy poca capacidad de corriente, aunque sus voltajes son perfectamente compatibles con TTL. Debido a esto, siempre es conveniente colocar un buffer a la salida del puerto para dar mayor corriente a la señal de salida. 3. Pruebas y resultados Esquemáticamente este sistema se muestra en la figura 4. De aquí se puede apreciar cada una de las partes que lo componen; se muestra la computadora encargada de proporcionar las órdenes para controlar el mini-auto, además podemos ver el sistema inalámbrico conectado a al PC por medio del puerto paralelo y nuestro mini-auto. Figura 4. Vista real del sistema de control 78
Al realizar ciertas pruebas se pudieron obtener los resultados mostrados en la tabla 1: Características del sistema Voltaje de alimentación 6V cd (4 AA X del carrito 1.5V cd) Voltaje de alimentación del 9V cd (1 tipo D módulo transmisor Batería cd) Distancia de alcance máximo 7 metros Frecuencia de trabajo del transmisor de RF 27 MHz Bits de transmisión de datos 6 bits (D0-D5) 4. Conclusión Tabla 1: Características principales de nuestro sistema Podemos afirmar que nuestro sistema está listo para cumplir con el objetivo de ser empleado como sistema de experimentación para alumnos de nuestra institución, aunque es de fácil construcción se pueden realizar múltiples prácticas con el. El siguiente paso consiste en agregar una etapa de retroalimentación visual mediante una cámara. De esta manera se podrá implementar un sistema de control mediante visión por computadora [7]. Es posible también programar una GUI empleando algún otro lenguaje de programación de alto nivel, como por ejemplo C# de la familia Visual Studio 2005 [8,9]. 5. Bibliografía [1] Eck David J. Introduction to Programming Using Java [2] http://www.ni.com [3] J. Tocci. Sistemas Digitales. Prentice Hall Hisponoamericana. Sexta edición. México 1996. [4] Sánchez A. Tutorial Labview, BUAP, 2006 [5]http://www.beyondlogic.org/pp/parallel.htm,http://www.beyondlogic.org/epp/epp.htm [6]http://www.beyondlogic.org/interrupts/interupt.htm [7] De la Escalera A. Visión por Computadora (Fundamentos y Métodos) Prentice Hall. Madrid 2001 [8] Ceballos Fco. Javier, Microsoft C#, Curso de Programación, Alfaomega Ra-Ma, México, 2007. [9] Deitel H. M. Visual C# 2005: How to Program, Deitel & Associates, Inc, 2005. 79