Ir al contenido principal

Comunicación Arduino-LabVIEW a través de Linx



ResumenEn el siguiente documento presento la comunicación entre las plataformas Arduino y LabVIEW a través del uso de la herramienta LINX. Se explica la instalación del controlador (CH340), la instalación de “VI Package Manager”, la descarga de los drivers necesarios, la preparación de la tarjeta y finalmente se indican enlaces donde encontramos tutoriales muy prácticos acerca de la temática planteada.

Palabras Clave— Arduino, LabVIEW, Linx.



ARDUINO - LABVIEW COMMUNICATION THROUGH LINX

AbstractIn the following document I present the communication between the Arduino and LabVIEW platforms through the use of the LINX tool. It explains the installation of the driver (CH340), the installation of "VI Package Manager", the download of the necessary drivers, the preparation of the card and finally it indicates links where we can find very practical tutorials about the subject matter.

Keywords— Arduino, LabVIEW, Linx.

1      Introducción

 “Lifa” es un driver usado por Labview para establecer comunicación con la tarjeta Arduino. Luego de 2014 y después de varias sugerencias hechas al desarrollador debido a algunas deficiencias que Lifa presentaba, este decide crear una herramienta que supliera dichas necesidades con menos deficiencias.

Linx es el sucesor de Lifa, pero es un conjunto de herramientas completamente nuevo construido desde cero. Linx está diseñado para ser una capa de abstracción de hardware más genérica para dispositivos incrustados como chipKIT, Arduino, myRIO, etc, en lugar de estar diseñados para una plataforma de microcontrolador específica. Esto significa que LINX proporciona la infraestructura para agregar soporte para prácticamente cualquier dispositivo. Además, Linx ofrece muchas mejoras sobre LIFA, como un mejor manejo de errores, más soporte de sensores, soporte Ethernet y Wifi. Linx también elimina la necesidad de que el usuario construya el firmware desde el origen proporcionando una interfaz de asistente con el firmware pre-compilado.

Por sugerencia del desarrollador de Lifa y Linx todo el mundo debe empezar a migrar a Linx ya que es una herramienta muy eficiente y que estará en constante evolución de acuerdo a las necesidades que el avance tecnológico vaya presentando.

Linx es un proyecto de fuente abierta de Digilent y está diseñado para facilitar el desarrollo de aplicaciones embebidas usando LabVIEW. Linx incluye VIs para más de 30 de los sensores embebidos más comunes, así como APIs de hardware agnóstico para tener acceso a periféricos como E/S digitales, E/S analógicas, PWM, I2C, SPI y UART.

Ya sea que usted esté controlando de manera remota un chipKIT o Arduino por USB/Serial, Ethernet o Wi-Fi o implementando VIs para ejecutar en BeagleBone Black o Raspberry Pi 2/3, Linx y LabVIEW hacen más fácil visualizar los datos con los que está trabajando, depurar su código y crear aplicaciones embebidas avanzadas más rápido que antes.

2      Controlador CH340

 Algunos fabricantes de Arduino reemplazan el tracional FT232RL o el ATMEGA16u2 por un circuito integrado de origen chino conocido como CH340. El driver CH340 es el controlador necesario para que el circuito integrado de la interfaz USB pueda ser operado.

Esto hace que las tarjetas sean más económicas, pero suple las necesidades de muchos proyectos. Por tal motivo es el más usado por estudiantes. Pero para que este pueda ser reconocido por el Software de Arduino para programación se debe instalar el Driver CH340. A continuación, presento el proceso que se debe llevar a cabo para establecer la comunicación entre Labview (versiones superiores a 2014) y el Arduino Uno (chino) usando la herramienta Linx.

Con tarjetas Arduino que no tengan el CH340 sino uno de los integrados tradicionales el proceso es el mismo, simplemente se omite el paso 1 del procedimiento explicado a continuación.

3      Procedimiento 

3.1      Paso 1: Descargar e Instalar el Driver CH340 de libre adquisición en la red.


Tutorial de Instalación:
(Si se posee el Arduino Uno no genérico, se puede obviar la instalación de este Driver)

3.2      Paso 2: Instalar VI Package Manager


Para instalar los driver que permiten la comunicación entre Ardunio y Labview, deben ser descargador por medio de la herramienta “VI Package Manager” ofrecida por National Instruments y de descarga gratuita en su página oficial:


3.3      Paso 3: Descarga de los drivers




Esto se hace escribiendo “LabVIEW interface for arduino” en el buscador del Package Manager de National Instruments para lo cual la corporación tiene un tutorial institucional encontrado en la página: http://digital.ni.com/public.nsf/allkb/A20FBBD36820669086257886004D5F4D

3.4      Paso 4: Driver NI-VISA 14.0


Es un driver ofrecido gratuitamente por National Instruments en la página: http://www.ni.com/download/ni-visa-14.0/4722/en/
3.5 Paso 5: Buscar “Linx” en el VI Package Manager e instalarlo

Abrir la herramienta Vi Package Manager



Escribir en el buscador “Linx”




Aparece en la lista como “Digilent LINX (control Arduino…”



3.5      Paso 5: Preparar la tarjeta mediando el software Arduino para que pueda comunicarse con LabVIEW




Esto se hace, abriendo el software Arduino (cualquier versión que se posea) y cargando en la tarjeta el  código Lifa_base descargado de la página

Donde encontramos además del código, un tutorial hecho por National Instruments para dicho proceso.

*Hasta este momento ya la tarjeta está preparada para recibir el código que se ha creado en LabVIEW, esto se hace a través de la interfaz de “Linx” llamada “MakeHUB”



3.6      Paso 6: Makerhub utiliza períféricos los cuales encontramos en el menú de funciones de LabVIEW, en el iteral “MakerHUB”



“Open” y “close” deben ir siempre en el código creado para abrir y cerrar el proceso cada vez que sea ejecutado.




Este es un ejemplo de un código creado en LABVIEW para usar en Arduino. Todo el código debe ir dentro de una estructura case antecedida de “open” y seguida de “close”, como se dijo antes, estas herramientas son obligatorias y siempre deben ir en cualquier código que se cree.

Las variables de entrada y salida se consiguen mediante los periféricos encontrados en el mismo menú de funciones.




Para una mejor comprensión se adjuntan los siguientes enlaces donde se encuentra un curso de dicho proceso en 3 videos sencillos.

Parte 1

Parte 2

Parte 3


4      Conclusiones

Arduino es una herramienta muy útil para elaborar proyectos sencillos y desarrollar habilidades de programación y control electrónico en el ámbito académico.

El uso de herramientas genéricas que proporcionen capacidades básicas para llevar a cabo proyectos sencillos ha venido tomando popularidad en el ámbito académico, pero se sugiere para proyectos de mayor responsabilidad, usar las herramientas de marcas reconocidas.

Se debe estar al tanto de los avances tecnológicos y actualizaciones de software que se presenten en el mercado para que no hayan limitaciones de compatibilidad en los proyectos que se deseen realizar.

Comentarios

Entradas más populares de este blog

PERFIL

Mi nombre es Luis Eduardo Ramírez Carvajal, profeso la fe cristiana, evangélica. Creo en la vida después de la muerte y en Jesucristo como Dios y salvador. Pertenezco a la Denominación Evangélica Alianza de Colombia y tengo principios y valores morales, familiares y sociales definidos, además de un gran respeto por la vida y el medio ambiente. Soy bachiller académico egresado del Colegio Cooperativo Calasanz de Cúcuta (Actual Peralta de la sal). Técnico laboral en diseño gráfico egresado del instituto para la formación y desarrollo Comfaoriente con una amplia experiencia en el ámbito publicitario trabajando de manera independiente. En Octubre de 2020 fundo la empresa  Seven  que inicia como una empresa de servicios publicitarios y tecnológicos de carácter virtual. Soy Ingeniero electrónico egresado de la Universidad Francisco de Paula Santander con el proyecto Objeto Virtual de Aprendizaje para diseño de amplificadores multi-etapa con transistores bipolar y efecto de campo. Tra

Análisis del punto Q y potencia desperdiciada en el diseño de amplificadores bipolares

El pasado 13 de Marzo del año 2020, justo antes de que iniciara el aislamiento provocado por la crisis del COVID-19 tuve la oportunidad de participar como ponente en un congreso de educación matemática. Las conferencias eran sobre educación y aplicación de las matemáticas en diferentes ramas del conocimiento. Allí expuse un trabajo de investigación sobre diseño de amplificadores bipolares, tema que vengo investigando desde hace algunos años.  Dicha conferencia tuvo un enfoque ingenieril y su respectivo artículo que se encuentra en revisión para publicación. En este post se muestra el desarrollo de dicha investigación desde un punto de vista matemático, específicamente el procedimiento de diseño desarrollado. AUTORES Luis Eduardo Ramírez Carvajal M.Sc . Karla Puerto López Ing. Jhon Jairo Ramírez Mateus Grupo de investigación y desarrollo en microelectrónica aplicada y control GIDMAC, Universidad Francisco de Paula Santander, San José de Cúcuta,  Colombia E-mail: luiseduardorc@ufps.