Comunicación Serial Utilizando LabVIEW con un Microcontrolador

Fecha de Publicación: Sep 19, 2008 | 54 Ratings | 3.78 out of 5 |  PDF

Visión General

En este documento se describen los pasos para comunicar un microcontrolador desde el puerto serial de la computadora (COMX) utilizando los drivers de NI VISA para LabView. El microcontrolador debe contener un programa que ejecute alguna acción de acuerdo a la información enviada a través de su entrada serial.

Contenido

Hardware necesario

•         Una computadora con al menos un puerto serial tipo RS232.

•         Un cable de conexión serial (terminales tipo hembra).

•         Un microcontrolador previamente programado para leer y escribir a puerto serial.

Conecte el cable de conexión serial a cualquiera de los puertos tipo serial. La configuración de los pines del cable de conexión serial se muestra adelante en la figura ###. Conecte la terminal de transmisión serial del microcontrolador al pin de recepción del cable (pin 2). Conecte la terminal de recepción serial del microcontrolador al pin de transmisión del cable (pin 3). Dependiendo del microcontrolador que se use, esta terminal se puede identifcar con etiquetas como SERIN y SEROUT, RXD y TXD, Serial In y serial out.

Figura 1.- Configuración de un conector serial hembra.

Un ejemplo se describe utilizando un microcontrolador PICAXE - 18X, en cuyo caso se utiliza la terminal de entrada 6 y terminal de salida 7.

Figura 2.- Conexión al Puerto serial utilizando un microcontrolador PICAXE 18X

 

Programación en LabView

LECTURA DEL PUERTO SERIAL

Para tener acceso al puerto serial usando labview se debe inciar una sesión VISA. La configuración del tipo de comunicación serial se hace con “VISA configure serial port”, que se puede encontrar en Functions >> Instrument I/O >> Serial >> VISA configure serial port.

 

Figura 3.- Paleta de Funciones de VISA

Figura 4.- VISA Configure Serial Port

Una vez inicializada la sesión VISA, se procede a configurar la lectura. Para lo cual se utiliza “VISA Read”

 

Figura 5.- VISA Read

El nodo de “byte count” recibe el tamaño de buffer que se escribió en el puerto. Para identificarlo, se coloca un Property Node ubicado en Functions >> Programming >> Property Node. Su nodo de referencia se conecta a la sesión VISA creada y luego, en property node se da un click para seleccionar Serial Settings >> Number of bytes at serial port.

Figura 6.- Configurando el Propery Node para contar el número de bytes recibidos

Por último se debe cerrar la sesión VISA para liberar el puerto y poderle dar otra función. Esto se logra con “VISA close” en Functions >> Instrument I/O >> Serial >> Visa Close, y, como buena costumbre de programación se coloca un controlador de errores.

Figura 7.- Simple Error Handler

El VI para leer puede ser el siguiente:

Figura 8.- leyendo el Puerto serial con una sesión VISA de LabView

Notas sobre la lectura en puerto serial.

                Es importante sincronizar la velocidad de transferencia de datos del microcontrolador en la terminal de “Baud rate” del Visa Configure serial port, de tal manera que sea la misma para ambos (en este caso 2500 baudios. La estructura “stacked sequence” con la función wait es tan sólo una espera programada para la lectura. Lo único presente en el Panel de control es el indicador “read buffer” donde se escriben los datos adquiridos. También es importante seleccionar el puerto COM adecuado. Con LabView se puede comprobar si el puerto COMX seleccionado es el adecuado. El ejemplo Basic Serial Write and Read.VI

 

ESCRITURA EN EL PUERTO SERIAL

                Escribir en el puerto serial usando LabView es más sencillo, y los pasos se enuncian a continuación.

Primero, se inicializa una sesión VISA de la misma manera que se hizo al leer el puerto, con un “VISA Configure Serial Port”. Luego, se coloca un “VISA Write” que se puede encontrar en Functions >> Programming >> Instrument I/O >> VISA Write.

Figura 9.- VISA Write

Por último se cierra la sesión VISA con un “VISA close” y un “Simple Error Handler. El VI de escritura en puerto serial puede quedar como se muestra a continuación.

Figura 10.- Escribiendo al Puerto serial con una sesión VISA en LabView

Al igual que en la lectura del puerto serial, la velocidad de transferencia es primordial.

                En ambos casos, es importante sincronizar las tareas de escritura y lectura respectivamente, de tal manera que el microcontrolador o la computadora estén listos para enviar o recibir un dato en el puerto serial. Para ello se puede programar un loop que no permita que el programa avance hasta que no se reciba cierto texto. Se recomienda la revisión de los VIs anexos en el documento.

 

Determinando si la conexión COM seleccionada es la correcta

En la pantalla de inicio de LabView abre el buscador de ejemplos “Find examples”. Luego busca la carpeta “Hardware and Input and Output” y posteriormente selecciona la de “serial”. Abre el VI “Basic Serial Write and Read.vi”. Ahora conecta los pines 2 y 3 del cable de conexión serial y escribe texto en la pantalla de write del VI (la superior). Cuando corras el VI, el mismo texto debe aparecer escrito en la ventana Read. Si no es así, debes seleccionar otro puerto COM.

                Para el Picaxe 18x, utilizando el Picaxe Programming editor, carga las siguientes instrucciones.

START:

                SERIN 6, N2400, ("HOLA COMO ESTAS?")

HIGH 3

                SEROUT 7, N2400, ("BIEN Y TU")

GOTO START

END

 

                Ahora abre el Vi de esta sección, y en la ventana de Write, escribe “HOLA COMO ESTAS?”. Cuando corras el VI, el micro deberá contestar “BIEN Y TU”, si las conexiones están hechas como se indica en la figura 2. Esto indica que la comunicación entre el microcontrolador y la computadora es exitosa.

 

Conclusión

Escribir o leer en puerto serial utilizando LabView se logra con una sesión VISA. Se configuran las características de la comunicación con un “VISA Serial Port Configuration” para que concuerden el microcontrolador y la computadora. La lectura se hace con “VISA Read” y un “Property Node” para leer la cantidad de datos recibidos. La escritura se hace con “VISA Write” únicamente. En ambos casos se cierra la sesión con “VISA Close” y “Simple Error Handler.

 

Regresar al Inicio

Bookmark & Share


Descargas


Ratings

Rate this document

Answered Your Question?
Yes No

Submit