Instrumentación Mecatrónica
24-11-2017
UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE CARRERA
: MECATRÓNICA
TEMA
:
ADQUISICIÓN DE SEÑALES USANDO SOFTWARE LABVIEW Y TARJETA ARDUINO
INTEGRANTES :
SAMPEDRO MARCELO PICHUCHO PAÚL
NIVEL
: SÉPTIMO
PARALELO
: A
OCTUBRE 2017 – FEBRERO FEBRERO 2018
ÍNDICE DE CONTENIDO 1. Tema .......................................................................................................................... 2 2. Objetivos ................................................................................................................... 2 3. Marco teórico ............................................................................................................ 2 3.1. Arduino .................................................................................................................. 2 3.2.
LabVIEW............................................................................................................... 4
3.3. 3.4.
VI ........................................................................................................................... 4 Interfaz de LabVIEW para Arduino ...................................................................... 5
3.5. Configuración de una placa Arduino en un “DAQ” mediante LabVIEW ............ 6 4. Equipos y materiales utilizados en la práctica .......................................................... 7 5. Procedimiento y Resultados ...................................................................................... 9 6. Análisis de Resultados ............................................................................................ 12 7. Conclusiones ........................................................................................................... 14 8. Recomendaciones .................................................................................................... 15 9. Bibliografía.............................................................................................................. 15
ÍNDICE DE ILUSTRACIONES Ilustración 1. Componentes de una tarjeta Arduino ........................................................ 4 Ilustración 2. Ventana de panel frontal y diagramas de bloques. (Autor) ...................... 5 Ilustración 3. Tarjeta Arduino UNO. Fuente: (AIVALIOTIS, 2011) ............................ 5 Ilustración 4: paleta de funciones direccionada a los ejemplos de Arduino. (Autor) ..... 9 Ilustración 5: Interfaz y diagrama de bloques extraídos de los ejercicios de Arduino. (Autor) .............................................................................................................................. 9 Ilustración 6: Arduino y elementos a ser controlados. (Autor)..................................... 10 Ilustración 7: Interfaz y diagrama de bloques modificados para una lectura digital. (Autor) ............................................................................................................................ 10 Ilustración 8: Arduino y elemento de control. (Autor) ................................................. 11 Ilustración 9: Interfaz y diagrama de bloques, entrada y salida digital. (Autor) .......... 11 Ilustración 10: Arduino con entrada y salida digital. (Autor) ....................................... 12 Ilustración 11 Circuito en funcionamiento ..................................................................... 14 ÍNDICE DE TABLAS Tabla 1. Equipos y materiales utilizados en la práctica. ........................................................... 7
1
1. Tema ADQUISICIÓN DE SEÑALES USANDO SOFTWARE LABVIEW Y TARJETA ARDUINO
2. Objetivos a. Objetivo general Adquirir una señal análoga proveniente de un potenciómetro y generar una salida digital para encendido de un led, usando mediante una tarjeta Arduino comunicada a LabVIEW.
b. Objetivos específicos
Conocer una herramienta disponible para la comunicación de Arduino y LabVIEW.
Adquirir la señal de un potenciómetro y mostrarla en LabVIEW.
Controlar el encendido de un led desde LabVIEW.
3. Marco teórico Introducción La interfaz de LabVIEW para Arduino (LIFA) es una herramienta gratuita que se puede descargar desde el servidor de NI (National Instruments) y que permite a los usuarios de Arduino adquirir datos del microcontrolador Arduino y procesarlos en el entorno de programación gráfica de LabVIEW. Para utilizar la aplicación LIFA no es necesario disponer de una versión comercial de LabVIEW basta con adquirir el software LabVIEW Student Edition que se distribuye junto con la tarjeta Arduino UNO. (AIVALIOTIS, 2011)
3.1.Arduino Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexib les y fáciles de usar, además puede “percibir” el
2
entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos con una programación muy sencilla. Los proyectos de Arduino pueden ser sencillos, autónomos o pueden estar comunicado entre sí con software cargados a la PC (por ejemplo con Flash, Processing, MaxMSP, etc.). Las placas se pueden ensamblar a mano o adquirir pre ensamblado, el software es gratuito y se puede descargar de igual manera. Todos los diseños del hardware (archivos CAD) son gratuitos al público. Existen diferentes tipos de placas Arduino, cada uno con sus características y funciones en específico, existen alrededor de 5 tipos que son:
Duemilanove
Mega
Nano
Pro
Uno
La mayoría de placas utilizan el microcontrolador ATmega168 de ATMEL mientras que las placas más antiguas utilizan el ATmega8. Arduino también dispone de una plataforma que combina la el Hardware y el Software, con un lenguaje de programación que sirve para controlar los distintos sensores que se encuentran conectados a la placa, por medio de instrucciones y parámetros. El lenguaje que opera dentro de Arduino se llama Wirirng, basado en la plataforma Processing y primordialmente en el lenguaje de programación C/C++, de este lenguaje derivan otros más que son muy utilizados en el ámbito de Ingeniería y desarrollo, como C#, Java, BASIC, Php, Phytom, JavaScript, Perl, entre otros más; por lo tanto, Arduino soporta varios lenguajes de programación de alto nivel derivados de C (Herrador, 2010) Como posee el Wirirnf es muy fácil de aprender, además la comunidad brinda soporte para cualquier necesidad o problema referente a la computación.
3
Ilustración 1. Componentes de una tarjeta Arduino Fuente (Herrador, 2010) 3.2.LabVIEW LabVIEW de National Instruments es un Entorno de desarrollo integrado especializado en informática industrial y científica. Su particularidad es que se basa en el lenguaje G (G por Gráfico), creada por Nacional Instrumentos que es enteramente gráfica. Permite el desarrollo de programas informáticos complejos facilitando al mismo tiempo la programación y en consecuencia disminuir los plazos de desarrollo. Gracias a sus librerías de funciones dedicadas a la adquisición de datos, la instrumentación, al análisis matemático de las mediciones y la visualización, LabVIEW se dedica especialmente a los bancos de pruebas y mediciones. (NI, 2017)
3.3.VI Los programas de LabVIEW son llamados instrumentos virtuales o VIs ya que su apariencia y operación generalmente imitan a los instrumentos físicos, como osciloscopios y multímetros. LabVIEW contiene una extensa variedad de herramientas para adquirir, analizar, visualizar y almacenar datos, así como herramientas para ayudarle a solucionar problemas en el código que escriba. Cuando crea un nuevo VI, ve dos ventanas: la ventana del panel frontal y el diagrama de bloques. (National Instrument, 2017)
4
Ilustración 2. Ventana de panel frontal y diagramas de bloques. (Autor)
3.4.Interfaz de LabVIEW para Arduino La interfaz de LabVIEW para Arduino es una API basada vi que fue escrito y distribuido por los instrumentos nacionales. El código también incluye y Arduino programa que debe ser descargado al dispositivo embebido. Este programa que se ejecuta en el Arduino, responde a órdenes enviadas en el bus USB desde el programa LabVIEW. (Clericus, 2007)
Ilustración 3. Tarjeta Arduino UNO. Fuente: (AIVALIOTIS, 2011)
5
El NI LabVIEW Interface Arduino ayuda a establecer interfaz fácilmente con el microcontrolador Arduino usando LabVIEW. Con este juego de herramientas y LabVIEW, se puede controlar y adquirir datos desde el microcontrolador Arduino. Una vez que la información está en LabVIEW, analice usando los cientos de bibliotecas integradas de LabVIEW, desarrolle algoritmos para controlar el hardware Arduino y presente sus conclusiones en un UI pulido. Un boceto para el microcontrolador Arduino actúa como un motor de E/S que se conecta con el VI de LabVIEW a través de una conexión serial. Esto le ayuda a mover información rápidamente desde pines Arduino a LabVIEW sin ajustar la comunicación, la sincronización o incluso una sola línea de código C. Al usar Open, Read/Write, Close en LabVIEW, usted puede tener acceso a las señales digitales, analógicas, moduladas por ancho de pulso, I2C y SPI del microcontrolador Arduino. El microcontrolador Arduino debe estar conectado a la PC con LabVIEW a través de un enlace USB, serial, Bluetooth o XBee. Este juego de herramientas no hace posible una operación autónoma. (Espol, 2011)
3.5.Configuración de una placa Arduino en un “DAQ” mediante LabVIEW Gracias a National Instruments, han creado componentes para LabVIEW (VI) y el firmware necesario para convertir una placa Arduino en una tarjeta de adquisición de datos y poder manejarla por USB desde LabVIEW. Aquí se presenta un proceso paso a paso para empezar a trabajar con Arduino y LabVIEW 1) 2) 3) 4) 5) 6) 7)
Compra un tablero y accesorios Arduino Asegúrese de que tiene LabVIEW 200X instalado. Instalar NI-VISA Drivers Instale el Arduino IDE y drivers para Windows Instale la LIFA Sube el boceto 'LIFA_Base.pde' a la Arduino Comienza a utilizarlo.
6
4. Equipos y materiales utilizados en la práctica Tabla 1. Equipos y materiales utilizados en la práctica.
Número Nombre
1
Gráfico
Computador
Gráfico 1. Computador
2
Tarjeta Arduino
Gráfico 2. Tarjeta Arduino
3
Protoboard
Gráfico 3. Protoboard
4
Potenciómetro
7
Gráfico 4. Potenciómetro
5
LEDs
Gráfico 5. LED
6
Cables
Gráfico 6. Cables
7
Software: LabVIEW
Gráfico 7. LabVIEW
8
Software: NI-VISA
Gráfico 8. NI-VISA
8
5. Procedimiento y Resultados I) Lectura de una señal analógica. a) Tanto para la interfaz del programa como para el diagrama de bloques nos podemos ayudar con los ejemplos que nos brinda el Arduino dentro del LabVIEW, para esto nos ubicamos en el diagrama de bloques y en la paleta de funciones buscamos la opción Arduino y ejemplos. (ver Ilustración 4)
Ilustración 4: paleta de funciones direccionada a los ejemplos de Arduino. (Autor) b) Esta nos entregara una interfaz y un diagrama de bloques ya predeterminado (ver Ilustración 3) el mismo en el cual trabajaremos para agregar el puerto de control y los valores predeterminados expuestos para la práctica.
Ilustración 5: Interfaz y diagrama de bloques extraídos de los ejercicios de Arduino. (Autor)
c) Por último se conecta en el protoboard los elementos a ser controlados junto con el Arduino (ver Ilustración 4), para hacer enlazada la parte de la
9
adquisición de datos (parte comprendida por el Arduino y los elementos del protoboard) con la pc.
Ilustración 6: Arduino y elementos a ser controlados. (Autor) II) Lectura de una señal digital. a) Para esta práctica podríamos trabajar sobre la interfaz y diagramas de bloques expuestos en el literal 1) ítem b), los mismos que podemos modificar (ver Ilustración 5) de manera que ahora la entrada de los valores sean digitales (valor comprendido entre 0 y 1)
Ilustración 7: Interfaz y diagrama de bloques modificados para una lectura digital. (Autor) b) Se conecta en el protoboard el elemento de control (pulsador) junto con el Arduino (ver Ilustración 6), para hacer enlazada la parte de la adquisición de datos (parte comprendida por el Arduino y los elementos del protoboard) con la pc.
10
Ilustración 8: Arduino y elemento de control. (Autor) III)
Salida de una señal digital a) Así como lo expuesto en el literal 2) ítem a), trabajaremos sobre la interfaz ya creada (ver Ilustración 3) de manera que ahora trabajaremos sobre la entrada y la salida de los valores digitales (valor comprendido entre 0 y 1).
Ilustración 9: Interfaz y diagrama de bloques, entrada y salida digital. (Autor) b) Se conecta en el protoboard el elemento de control (pulsador) y el actuador junto con el Arduino (ver Ilustración 8), para hacer enlazada la parte de la adquisición de datos (parte comprendida por el Arduino y los elementos del protoboard) con la pc.
11
Ilustración 10: Arduino con entrada y salida digital. (Autor) 6. Análisis de Resultados Arduino con entrada digital
Error existente
El error existente en esta VI es nulo debido a que se utilizan valores tipos boolean de “1” y “0”.
¿Qué permite Labview?
Permite visualizar de manera fácil si la entrada digital de mi puerto se encuentra activada o desactivada.
¿Se modificó el programa de ejemplo?
Para mayor facilidad y seguridad se realizó una copia de seguridad del archivo de ejemplo y se trabajó sobre este.
¿Qué proceso existió para el control de los datos?
12
Existieron tres fases cada uno con una transformación de datos, convirtiendo la señal de verdad o falso en bits para que pueda ser procesada por el ordenador y todo esto gracias a Arduino.
Arduino con entrada analógica
Error existente
El error existente en esta VI es calculado por otro medidor de voltaje en este caso un multímetro con dos decimales, suponiendo que el valor real es el tomado con el multímetro se obtiene.
Valor Multímetro (Valor Real) 1.5 2 2.5
Valor Labview (valor calculado) 1.5112 2.0214 2.5345
Error relativo 0.747% 1.07% 1.28%
¿Qué permite Labview?
Permite visualizar de manera fácil el comportamiento del voltaje existente en el potenciómetro.
¿Se modificó el programa de ejemplo?
Se lo modifico las entradas digitales ya que se requiere de una entrada analógica para que arduino pueda adquirir esta señal analógica.
¿Qué proceso existió para el control de los datos?
13
Existieron tres fases dadas por el potenciómetro, arduino y ordenador, la conversión de la señal analógica(física) a bits gracias a la tarjeta arduino y la conversión de bits a las unidades que desee gracias al ordenador pero siendo virtuales.
Ilustración 11 Circuito en funcionamiento
7. Conclusiones
Mediante la práctica realizada pudimos probar y verificar el correcto funcionamiento del programa que comunica Arduino con LabVIEW, MakerHub, el cual permitió la comunicación de estos y la adquisición e datos en tiempo real y a la vez poderlos analizar en la programación grafica de LabVIEW
14
para su implementación en varias aplicaciones. Lo que fue realizar la lectura de los datos transmitidos por el Arduino desde el puerto serie de la tarjeta instalada, procede a leer el puerto COM.
Se puede verificar que el envío de los datos al ordenador es través del USB.
El primer circuito realizado que es la lectura Analógica de un Pin, cuando el sistema arranca en LabVIEW al momento de mover el potenciómetro que se implementó en el circuito conectado por medio del Arduino se pudo verificar el cambio de la señal analógica de 0 a 5 Vdc.
Al realizar la lectura digital se pudo verificar que al dar un pulso en nuestro circuito implementado LabVIEW reconoce el valor de 1 lógico adquirido a través del Arduino.
Mediante
la salida PWM se pudo controlar por medio de la interfaz de
LabVIEW la intensidad luminosa de un led implementado de manera física.
8. Recomendaciones
Tener conocimiento del funcionamiento y estructura del Arduino
Realizar los correspondientes acondicionamientos para que los resultados sean óptimos.
Poseer todas las librerías y programas necesarios para la realización de la comunicación entre LabVIEW y el microcontrolador Arduino.
9. Bibliografía
Herrador, R. (2010). PlayGround.Arduino. http://www.jcarazo.com/tmp/Arduino_user_manual_es.pdf
Obtenido
de
National Instrument. (2017). National Instrument . Obtenido de http://www.ni.com/dataacquisition/what-is/esa/ NI.
(2017). NI. Obtenido de National http://www.ni.com/pdf/manuals/371303n.pdf
Instument,
Guide:
15
AIVALIOTIS, M. (5 de Junio de 2011). 07 VISV Getting Started With the LabVIEW Interface for Arduino. Recuperado el 20 de Mayo de 2015, de http://vishots.com/getting-started-with-the-labview-interface-for-arduino/ Clericus, S. P. (Diciembre de 2007). ANÁLISIS DE SOFTWARE PARA DESARROLLO ENTORNO GRÁFICO LABVIEW Y PROPUESTA DE IMPLEMENTACIÓN PARA LABORATORIO EN EL INSTITUTO DE ELECTRICIDAD Y ELECTRÓNICA EN UNIVERSIDAD AUSTRAL DE CHILE . Recuperado el 28 de Abril de 2015, de http://cybertesis.uach.cl/tesis/uach/2007/bmfcig643a/doc/bmfcig643a.pdf Espol. (2 de Julio de 2011). Electricidad y un poco mas. Recuperado el 19 de Abril de 2014, de http://blog.espol.edu.ec/crielectric/category/instrumentos-electricos/ Gutierrez, J. M. (s.f.). Labview + Arduino. Recuperado el 20 de Mayo de 2015, de http://es.slideshare.net/AlbertoSanchez6/arduino-lab-view Instruments, N. (s.f.). Estructuras de Datos en LabVIEW . Recuperado el 28 de Abril de 2015, de http://www.ni.com/getting-started/labview-basics/esa/data-structures Instruments, N. (s.f.). NI LabVIEW Interface for Arduino Toolkit . Recuperado el 20 de Mayo de 2015, de http://sine.ni.com/nips/cds/view/p/lang/es/nid/209835 saleciana, U. t. (s.f.). Maquinas Electricas . Recuperado el 19 de Abril de 2014, de http://www.ups.edu.ec/laboratorio-de-maquinas-electricas1 Suárez, A. C. (s.f.). Aplicación de LabVIEW en el desarrollo de simuladores para formación profesional . Recuperado el 28 de Abril de 2015, de http://sine.ni.com/cs/app/doc/p/id/cs-15488
ANEXOS
16
17
18