Está en la página 1de 5

11 Congreso Nacional de Mecatrnica, ISBN: 978-607-95347-7-6. Octubre 4 y 5, 2012. Villahermosa, Tabasco.

Adquisicin de Seales Digitales y Analgicas con LabView por Puerto USB Mediante VISA Serial
Jurez Ramiro Luis, Vergara Betancourt ngel y Hernndez Garca Edgar
Instituto Tecnolgico Superior de Zacapoaxtla. Carretera Acuaco-Zacapoaxtla, Km. 8 Col. Totoltepec, Zacapoaxtla, Puebla Tel: 01 (233) 31 75000, ext. 01, 02 elect_menx@hotmail.com

Resumen
En este trabajo se presenta la interface y configuracin para la adquisicin de seales digitales y analgicas por puerto USB mediante el software de National Instruments LabView. La interfaz externa en este proyecto es el microcontrolador 18f4550 de Microchip con conexin USB. Se programa el microcontrolador para comunicarse va puerto USB con la PC. Posteriormente se instala el driver para que sea reconocido el microcontrolador por el puerto de la PC. Con la herramienta Instrument I/O (VISA Serial) de LabView se obtiene la informacin recibida por el puerto USB. Finalmente se muestra como resultado un prototipo con termmetro virtual. Palabras clave: LabView, USB, microcontrolador, puerto, comunicacin y seales.

Si desea desarrollar un proyecto o prototipo en LabView y quiere utilizar el puerto serial y paralelo, podemos observar que no est disponible en las computadoras ms modernas, lo que nos obliga a emplear el puerto USB. A la vez que comnmente se busca una solucin econmica para realizar el prototipo. Por esta razn es necesario implementar una interface de bajo costo que utilice el puerto de comunicacin USB. El objetivo de este trabajo es emplear un microcontrolador 18f4550 para intercambiar seales digitales y analgicas con LabView. Este software permite la comunicacin fcilmente mediante puerto USB y serial, lo que tenemos que desarrollar es la interfaz externa. Mediante la librera mpusbapi.dll para Windows XP que nos proporciona microchip podemos realizar esta conexin como se explica en [2]. En este proyecto se realiza la configuracin con la herramienta VISA Serial de LabView para Windows 7. Ya con la interface lista, pensemos en todas las aplicaciones que se pueden implementar utilizando el poderoso entorno grfico de LabView y todas las caractersticas especiales del microcontrolador 18f4550 como son los puertos analgicos, control PWM, Timers, entre otras.

1. Introduccin
El software LabView de la empresa National Instrument es una herramienta ampliamente utilizada en el rea de ingeniera. Algunas aplicaciones de este software van desde adquirir datos y procesar seales, control de instrumentos, automatizar sistemas de pruebas y validacin, sistemas embebidos de monitoreo y control entre otras. LabView es el nico software de diseo de sistemas que proporciona a los ingenieros y cientficos todas las herramientas que necesitan para crear aplicaciones de medidas y control. Es tan potente que le inspira a resolver problemas le ayuda a acelerar su productividad y le da la seguridad para innovar continuamente [1].

2. Materiales y mtodos
Para desarrollar este proyecto, utilizamos el laboratorio de electrnica analgica del Instituto Tecnolgico Superior de Zacapoaxtla. El software utilizado es LabView, CCS Compiler, MpLab y simulador ISIS. El material elctrico usado es 1 tarjeta entrenador pic con microcontrolador 18f4550, cable USB, sensor LM35, resistencias de 270 ohms, leds, 1 potencimetro 5 kohms, 2 protoboards, display LCD 2x16 caracteres 2 lneas TM162AD.

Asociacin Mexicana de Mecatrnica A.C.

47

11 Congreso Nacional de Mecatrnica, ISBN: 978-607-95347-7-6. Octubre 4 y 5, 2012. Villahermosa, Tabasco.

2.1 Diseo del circuito elctrico Antes de construir el circuito fsico se realiza la simulacin del circuito elctrico. Vamos a utilizar dos salidas digitales (RB0 y RB1) y una entrada analgica (RA0) del microcontrolador 18f4550, los datos tcnicos puede consultarlos en [3]. Para simular la entrada analgica utilizamos un potencimetro de 5 kohms como se muestra en la figura 1.

2.2 Programacin para conexin USB Para escribir y compilar el programa vamos a utilizar el software CCS Compiler de Custom Computer Services, Inc. [5] El software CCS compiler permite realizar la conexin USB incluyendo el archivo siguiente: #include "usb_cdc.h" Esta librera incluida en el CCS Compiler nos va a generar una comunicacin entre un puerto COM virtual de nuestra computadora sobre la conexin USB usando el Standard Communication Device Class (CDC). Es decir, crea una conexin virtual RS232 entre la PC y el PIC, compatible con el protocolo estndar UART I/O. Las funciones que vamos a utilizar de esta librera son las siguientes: usb_cdc_init(); usb_init(); usb_cdc_connected() usb_task(); usb_enumerated(); usb_cdc_getc(); usb_cdc_putc(); Vamos a incluir estas instrucciones en nuestro programa para que se comunique por el puerto USB. El programa completo se muestra a continuacin: #include "18f4550.h" #device adc=8 #use delay(clock=48000000) #build(reset=0x02000,interrupt=0x02008) #org 0x0000,0x1FFF {} #include "usb_cdc.h" #include <lcd.c> #define PB1 PIN_B0 #define PB2 PIN_B1 void main(void) {lcd_init(); float cal; int8 vint; byte menu; byte voltaje; set_tris_b(0b11111100); set_tris_c(0b11111111); setup_adc_ports(AN0); setup_adc( ADC_CLOCK_INTERNAL ); usb_cdc_init(); usb_init(); while (!usb_cdc_connected()) {} usb_task(); while (!usb_enumerated()) {} do{ dato=usb_cdc_getc(); switch (menu) { 48

Fig. 1 Simulacin del circuito elctrico

Para que la simulacin se efecte, se requiere un programa en Assembler o CCS Compiler. La programacin se ha realizado en CCS Compiler, mas informacin para programar en este lenguaje podr encontrarla en [4]. A continuacin se muestra el programa para detectar la entrada analgica. #include "18f4550.h" #device adc=8 #use delay(clock=48000000) #build(reset=0x02000,interrupt=0x02008) #org 0x0000,0x1FFF {} #include <lcd.c> void main(void) {lcd_init(); int8 voltaje; float p; setup_adc_ports(AN0); setup_adc( ADC_CLOCK_INTERNAL ); do{ set_adc_channel( 0 ); delay_ms(100); voltaje = read_adc(); p=150.0*voltaje/255.0; printf(lcd_putc,"\fTEC ZACAPOAXTLA"); printf(lcd_putc,"\nTemp. = %f C",p); }while (TRUE);} Al momento de escribir nuestro programa hay que considerar el espacio en la memoria flash si se cuenta con bootloader para no sobreescribirlo al momento de grabar el microcontrolador. Asociacin Mexicana de Mecatrnica A.C.

11 Congreso Nacional de Mecatrnica, ISBN: 978-607-95347-7-6. Octubre 4 y 5, 2012. Villahermosa, Tabasco.

case 'a': output_toggle(PB1); break; case 'b': output_toggle(PB2); break; case 'c': set_adc_channel( 0 ); delay_ms(200); voltaje = read_adc(); printf (usb_cdc_putc,"%c",voltaje); vint = read_adc(); cal=180.0*vint/255.0; printf (lcd_putc,"\fTEC ZACAPOAXTLA"); printf (lcd_putc,"\nTemp. = %f C",cal); break;} }while (TRUE);} La funcin de este programa es: - Activar dos salidas digitales del microcontrolador por medio de la PC. - Recibir una entrada digital del microcontrolador y enviarla a la PC - Recibir una entrada analgica del microcontrolador y enviarla a la PC. - Recibir una entrada analgica del microcontrolador y enviarla al puerto D del mismo microcontrolador para mostrar en el LCD TM162AC el resultado del valor analgico convertido a una escala de 0 a 100 C que representan temperatura. El puerto de la PC recibe los datos en formato char listos para ser capturados por algn software, en nuestro caso utilizaremos LabView. 2.3 Instalacin del driver Se requiere de un controlador para que la PC reconozca al microcontrolador conectado al puerto USB y genere un puerto virtual COM. Este driver forma parte de las utilidades del software CCS [5]. Ya instalado genera un puerto virtual como se muestra en la figura 2.

El puerto generado es el COM3, este puerto ser reconocido por el software LabView. 2.4 Programacin en LabView Ahora necesitamos un programa que interprete las seales mandadas por el microcontrolador por medio del puerto COM3 virtual a travs del puerto USB. Elegimos el software LabView de la empresa National Instruments. El primer paso es configurar la comunicacin VISA serial as como los bloques de lectura y escritura del puerto, la explicacin detallada de configuracin puede consultarla en [6].

Fig.3 Configuracin de VISA Serial

Utilizamos dos bloques de lectura y escritura para interactuar con el puerto, as como una estructura de casos y un compuesto aritmtico. Vamos a crear un selector que permita activar la entrada analgica o mandar datos ya sea al puerto RB0 o RB1. El programa de espera quedara en el block diagram de LabView como se muestra en la figura 4.

Fig. 4 Programa selector de casos pantalla 1 Fig. 2 Puerto Virtual COM3

Asociacin Mexicana de Mecatrnica A.C.

49

11 Congreso Nacional de Mecatrnica, ISBN: 978-607-95347-7-6. Octubre 4 y 5, 2012. Villahermosa, Tabasco.

Si cambiamos el selector de casos podemos visualizar la pantalla de control para activar las salidas digitales RB0 y RB1, figura 5 y 6. Los datos los mandamos mediante el bloque VISA Write.

En el diseo del front panel de Lab View incluimos los controladores numricos e indicadores numricos para mandar y recibir datos respectivamente, figura 8.

Fig. 5 Programa selector de casos pantalla 2

Fig. 8 Front panel de control

2.5 Circuito elctrico ya implementado Posteriormente a la simulacin y el diseo del programa en LabView, se programa el circuito fsico. Contamos con una tarjeta con sistema boot, reset con cristal oscilador de 8 Mhz. Podemos ajustar la velocidad de trabajo del microcontrolador mediante la configuracin de los fuses PLL y CPUDIV. Esta tarjeta tambin cuenta con fuente independiente para poder funcionar sin utilizar el voltaje del puerto USB. La figura 9 muestra la tarjeta con microcontrolador 18F4550.

Fig. 6 Programa selector de casos pantalla 3

La parte del programa que se encarga de recibir los datos analgicos corresponde al selector de casos con nmero 3 y se muestra en la figura 7.

Fig. 9 Tarjeta con microcontrolador 18F4550

Esta tarjeta ya cuenta con los puertos incluidos en un solo peine para tomar las salidas e iniciar las pruebas. En la figura 10 se muestra la conexin del LCD as como las salidas digitales y la entrada analgica mediante el sensor LM35 [7].

Fig. 7 Programa selector de casos pantalla 4

Asociacin Mexicana de Mecatrnica A.C.

50

11 Congreso Nacional de Mecatrnica, ISBN: 978-607-95347-7-6. Octubre 4 y 5, 2012. Villahermosa, Tabasco.

Como trabajo a futuro se pretende implementar sistemas de control: PID, Difuso, ONOFF en el control de procesos para controlar temperatura, posicin, flujo, etc. Otra rea de oportunidad es la adquisicin de seales para el anlisis por medio de Matlab por ejemplo. Por otra parte tambin se pretende utilizar otros programas como Visual Basic y SQL de Visual Estudio y por medio del puerto USB seguir trabajando con bases de datos.
Fig. 10 Circuito elctrico de prueba.

3. Anlisis de resultados
Un problema comn presentado al momento de hacer el intercambio de informacin es el formato de las variables. La comunicacin usb_cdc_getc se realiza por medio del formato char y se debe utilizar bloques de conversin para convertir a entero con signo o sin signo de 8, 16 o 32 bits de acuerdo a las necesidades de programacin. Otro punto importante es configurar la accin mecnica de los controles de LabView para evitar el rebote o detectar seales prolongadas e indeseadas.

Referencias
[1] National Instruments Corporation (2012). reas de aplicacin: Cmo puedo usar NI LabView?, Extrado el 20 de Julio, 2012 de; < http://www.ni.com/labview/applications >. [2] Prez J. y Lpez F. Comunicacin USB de Alta Velocidad entre LabView y un microcontrolador para la adquisicin de datos en tiempo real, Congreso Nacional de electrnica del Golfo, CONAGOLFO, 11 pgs, Orizaba, Ver. 2009. [3] Microchip (2012). Microchip PIC18F2455/2550/4455/4550 Datasheets, Extrado el 20 de Junio, 2012 de; < http://www.microchip.com >. [4] Garca E. COMPILADOR C CCS Y SIMULADOR PROTEUS PARA MICROCONTROLADORES PIC, Ed. Alfaomega, Espaa, Primera Edicin, 276 pginas, 2008 [5] CCS (2012). CCS Compiler, USB Drivers, Extrado el 15 de Marzo, 2012 de; < http://www.ccsinfo.com/downloads.php >. [6] National Instrument (2012). Comunicacin Serial Utilizando LabView con un Microcontrolador, Extrado el 15 de Mayo, 2012 de; < http://www.ni.com/whitepaper/7907/es >. [7] National Semiconductor. Precision centigrade Temperature Sensors, Extrado el 17 de Junio, 2012 de; < https://www.national.com/ds/LM/LM35.pdf >.

4. Conclusiones
Finalmente se logra de manera exitosa el intercambio de datos y en lugar de un potencimetro de pruebas se emplea el sensor de temperatura LM35 como entrada analgica. La figura 11 muestra el sistema de comunicacin completo en donde interacta el microcontrolador con la PC por medio del puerto COM3 Virtual y la herramienta VISA Serial.

Fig. 11. Sistema de comunicacin completo

Asociacin Mexicana de Mecatrnica A.C.

51

También podría gustarte