Escolar Documentos
Profissional Documentos
Cultura Documentos
Junio 2012
JCQS
1 / 25
INTRODUCCIN El presente trabajo describe el procedimiento para instalar todos los programas necesarios para usar la tarjeta Arduino Uno como adquisicin de datos con el programa Labview y controlar procesos, cabe mencionar que este trabajo es una recopilacin de otros trabajos de otros autores y el objetivo principalmente es que el lector y usuario pueda a partir de este trabajo avanzar, librando las dificultades que se me presentaron para hacer realidad el uso de una tarjeta econmica para realizar proyectos sencillos a nivel escolar, que pudieran llegar a ser profesionales, siendo accesibles para poner en practica conocimientos alternos de control mas all de la teora que se presenta en los libros, y de esta forma llegar a un entendimiento practico-terico a travs de la experimentacin. As, finalmente armando un rompecabezas de trabajos, informacin y contribucin de varios autores y personal, este documento es de distribucin libre siempre que se mencione la referencia y su uso sea responsable. Primeramente mencionaremos que es necesario Labview 2009 o superior, an con el programa de evaluacin es posible usar con la tarjeta Arduino, adems supuesto que el usuario tiene instalado Labview y he realizado programas bsicos. La tarjeta Arduino puede ser usada para programacin independiente de microcontroladores con su propia plataforma de programacin (IDE), usaremos la tarjeta Arduino Uno como medio de adquisicin de datos para ser controlados va PC, ya que se puede instalar una serie de herramientas (toolkit) en Labview, para leer y/o escribir hacia la tarjeta configurando en el programa. Para completar todo el proceso de comunicacin, adquisicin y control es necesario tres partes fundamentales Hardware - Software Firmware. En caso de tener experiencia y conocimiento en el manejo de la tarjeta de Arduino entonces se puede ir directo al instalacin de los programas y paquetes necesarios para instalar y manejar el toolkit para Arduino en Labview, captulo 3. Hay que tomar en cuenta que las pginas, as como su contenido se van actualizando tanto con Arduino y Labview y la apariencia, direccin, ruta o pasos a seguir pueden variar, de igual manera depende de la computadora y tipo de Windows, por lo que antes de realizar la instalacin y seguir paso a paso el presente manual, se recomienda leerlo para tener una idea general y poder solucionar cualquier cambio en los pasos particulares.
Junio 2012
JCQS
2 / 25
ndice 1 ARDUINO.. 1.1 La plataforma ARDUINO . 1.2 Por qu ARDUINO? .. 2 HARDWARE . 2.1 Summary (Resumen de caractersticas elctricas) . 2.2 Power (Alimentacin) 2.3 Memory (Memoria) ................................................................................... 2.4 Input and Output (Entradas y Salidas) ..................................................... 2.5 Communication (Comunicacin) 2.6 Programming (programacin) ................................................................. 2.7 Automatic (Software) Reset (Reinicio) ................................................... 2.8 USB Overcurrent Protection (Proteccin USB) ...................................... 2.9 Physical Characteristics (caractersticas fsicas).................................... 4 4 4 5 6 6 7 7 7 8 8 9 9
3 SOFTWARE.... 9 3.1 Labview 2009 o superior. 9 3.2 Instalacin de la plata forma para Arduino y la interfase IDE 9 3.3 Instalacin de driver VISA 5.1.1 16 3.4 Instalacin de toolkit para Arduino en Labview (Labview Interface for Arduino, LIFA) 17 3.5 Cargar el programa (sketch) LIFA_Base.pde para el Arduino (Firmware) 21 4 Prueba final. Bibliografa y referencias. 22 24
Junio 2012
JCQS
3 / 25
1 ARDUINO
1.1 La plataforma ARDUINO
Arduino es una plataforma de prototipos electrnica de cdigo abierto (opensource) basada en hardware y software flexibles y fciles de usar. Est pensado para artistas, diseadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos. Arduino puede percibir el entorno mediante la recepcin de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino Programming Language y el Arduino Development Environment. Los proyectos de Arduino pueden ser autnomos o se pueden comunicar con software en ejecucin en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.). Las placas se pueden ensamblar a mano o encargarlas preensambladas; el software se puede descargar gratuitamente. Los diseos de referencia del hardware (archivos CAD) estn disponibles bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades. Arduino recibi una mencin honorfica en la seccin Digital Communities del Ars Electronica Prix en 2006.
aprendiendo a programar en ese entorno estarn familiarizados con el aspecto y la imagen de Arduino. Cdigo abierto y software extensible: El software Arduino est publicado como herramientas de cdigo abierto, disponible para extensin por programadores experimentados. El lenguaje puede ser expandido mediante librerias C++, y la gente que quiera entender los detalles tcnicos pueden hacer el salto desde Arduino a la programacin en lenguaje AVR C en el cual est basado. De forma similar, puedes aadir cdigo AVR-C directamente en tus programas Arduino si quieres. Cdigo abierto y hardware extensible: El Arduino est basado en microcontroladores ATMEGA8, ATMEGA168 o TAMEGA328 de Atmel. Los planos para los mdulos estn publicados bajo licencia Creative Commons, por lo que diseadores experimentados de circuitos pueden hacer su propia versin del mdulo, extendindolo y mejorndolo. Incluso usuarios relativamente inexpertos pueden construir la versin de la placa del mdulo para entender como funciona y ahorrar dinero.
2 HARDWARE.
La tarjeta utilizada para el presente trabajo es Arduino Uno con las siguientes caractersticas (que se dejan en ingls para conservar conceptos y definiciones):
The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16 MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It contains everything needed to support the microcontroller; simply connect it to a computer with a USB cable or power it with a AC-to-DC adapter or battery to get started. The Uno differs from all preceding boards in that it does not use the FTDI USB-toserial driver chip. Instead, it features the Atmega8U2 programmed as a USB-to-serial converter. "Uno" means one in Italian and is named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the reference versions of Arduno, moving Junio 2012 JCQS 5 / 25
forward. The Uno is the latest in a series of USB Arduino boards, and the reference model for the Arduino platform; for a comparison with previous versions.
2.1 Summary
Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz
2.2 Power
The Arduino Uno can be powered via the USB connection or with an external power supply. The power source is selected automatically. External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a battery can be inserted in the Gnd and Vin pin headers of the POWER connector. The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts. The power pins are as follows:
VIN. The input voltage to the Arduino board when it's using an external power source
(as opposed to 5 volts from the USB connection or other regulated power source). You can supply voltage through this pin, or, if supplying voltage via the power jack, access it through this pin.
5V. The regulated power supply used to power the microcontroller and other
components on the board. This can come either from VIN via an on-board regulator, or be supplied by USB or another regulated 5V supply.
3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is
50 mA.
Junio 2012
JCQS
6 / 25
2.3 Memory
The ATmega328 has 32 KB (with 0.5 KB used for the bootloader). It also has 2 KB of SRAM and 1 KB of EEPROM (which can be read and written with the EEPROM library).
2.5 Communication
The Arduino Uno has a number of facilities for communicating with a computer, another Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega8U2 on the board channels this serial communication over USB and appears as a virtual com port to software on the computer. The '8U2 firmware uses the standard USB COM drivers, and no external driver is needed. However, on Windows, a .inf file is required. The Arduino software includes a serial monitor which allows simple textual data to be sent to and from the Arduino board. The RX and TX LEDs on the board will flash when data is being Junio 2012 JCQS 7 / 25
transmitted via the USB-to-serial chip and USB connection to the computer (but not for serial communication on pins 0 and 1). A SoftwareSerial library allows for serial communication on any of the Uno's digital pins. The ATmega328 also supports I2C (TWI) and SPI communication. The Arduino software includes a Wire library to simplify use of the I2C bus; see the documentation for details. For SPI communication, use the SPI library.
2.6 Programming
The Arduino Uno can be programmed with the Arduino software (download). Select "Arduino Uno from the Tools > Board menu (according to the microcontroller on your board). For details, see the reference and tutorials. The ATmega328 on the Arduino Uno comes preburned with a bootloader that allows you to upload new code to it without the use of an external hardware programmer. It communicates using the original STK500 protocol (reference, C header files). You can also bypass the bootloader and program the microcontroller through the ICSP (In-Circuit Serial Programming) header; see these instructions for details. The ATmega8U2 firmware source code is available . The ATmega8U2 is loaded with a DFU bootloader, which can be activated by connecting the solder jumper on the back of the board (near the map of Italy) and then resetting the 8U2. You can then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X and Linux) to load a new firmware. Or you can use the ISP header with an external programmer (overwriting the DFU bootloader). See this user-contributed tutorial for more information.
Junio 2012
JCQS
8 / 25
You may also be able to disable the autoreset by connecting a 110 ohm resistor from 5V to the reset line; see this forum thread for details.
3 SOFTWARE
3.1 Labview 2009 o superior.
La interfaz de Labview para Arduino es un VI API que fue escrito y distribuido por National Instruments. Este programa que se ejecuta en el Arduino, responde a los comandos enviados en el bus USB desde el programa de Labview. Enva datos al ordenador a travs de la USB. El Labview VIs proporcionado, le permiten leer las entradas analgicas, las lneas de E/S digitales de control y utilizar varias otras caractersticas del hardware Arduino. Gua del proceso paso a paso para la instalacin de los programas.
Los pasos a seguir son: a) Get an Arduino board and USB cable b) Download the Arduino environment Junio 2012 JCQS 9 / 25
c) Select your board d) Connect the board e) Install the drivers f) Select your serial port g) Open the blink example i) Upload the program a) Get an Arduino board and USB cable In this tutorial, we assume you're using an Arduino Uno, Arduino Duemilanove, Nano, or Diecimila. If you have another board, read the corresponding page in this getting started guide. You also need a standard USB cable (A plug to B plug): the kind you would connect to a USB printer, for example. (For the Arduino Nano, you'll need an A to Mini-B cable instead.)
b) Download the Arduino environment, http://arduino.cc/en/Main/Software Se abrir una ventana para descargar un archivo comprimido y seleccionamos un lugar donde guardar.
Junio 2012
JCQS
10 / 25
c) Select your board Verificamos que podamos programar la tarjeta ( Arduino Uno ) que estamos usando.
Antes de escribir o cargar un programa, es necesario verificar que la tarjeta sea reconocida al conectar al puerto USB.
Junio 2012
JCQS
11 / 25
Como podemos ver al entrar a Administrador de Dispositivos, a travs del Panel de control, la tarjeta no es reconocida en los puertos USB.
Seleccionamos el dispositivo sin reconocer, vemos sus propiedades con el men, Actualizar controlador
Junio 2012
JCQS
12 / 25
Los drivers necesarios estn en la misma carpeta que contiene el programa de instalacin del Arduino.
Junio 2012
JCQS
13 / 25
Al terminar verificamos en Administrador de Dispositivos que nos muestra el nombre de la tarjeta y el puerto al cual esta conectada.
Junio 2012
JCQS
14 / 25
En el men del IDE, Tools / Serial Port tenemos dado de alta el COM3. g) Open the blink example Usaremos la tarjeta como medio de adquisicin de datos, pero antes de eso verificamos que la tarjeta y la comunicacin funcionen correctamente, para eso abrimos un programa sencillo que viene incluido como ejemplos y solamente hay que abrir y cargar en la tarjeta, este programa (sketch) hace que parpadee un led que viene incluido en la tarjeta conectado en el pin 13.
i) Upload the program En la opciones del IDE para cargar el programa (sketch) al microcontrolador.
Junio 2012
JCQS
15 / 25
Hasta este punto ya tenemos la tarjeta (Arduino), configurado el puerto serial donde esta conectada la tarjeta y la interfase (IDE), para que pueda comunicarse con Labview hay que cargar el Firmware en la tarjeta, pero antes de eso ocupamos unos paquetes de Labview para la comunicacin serial con Arduino, para cargar el Firmware a la tarjeta en caso de tener lista todos los programas y paquetera ir a la seccin 3.5. Como menciono desde el inicio lo primero que necesitamos instalar es Labview, podemos descargar la versin de evaluacin en caso que no tener el programa de Labview 2009 en adelante, aunque para hacerlo primero tendremos que registrarnos. http://www.ni.com/trylabview/
Este paquete nos permitir seleccionar y configurar el puerto donde esta conectado el Arduino y as usarlo con Labview, esto se hace usando el VISA Resource Name.
Junio 2012
JCQS
16 / 25
Este documento viene acompaado con la paquetera en caso de no tener Internet o instalar en otro equipo, seleccionar visa511full
Al terminar de instalar esta paquetera reiniciar la computadora y conectar la tarjeta a la computadora, verificamos en el Administrador de Dispositivos la conexin y entonces podemos ver en Labview que podemos seleccionar el mismo puerto COM3, en caso de no aparecer en el men del VISA Resource Name ,usar Refresh .
3.4 Instalacin de toolkit para Arduino en Labview (Labview Interface for Arduino, LIFA)
En este momento debemos tener: A) Tarjeta Arduino y la interfase de programacin IDE para cargar programas, verificando la comunicacin, tarjeta y funcionamiento. B) Labview 2009 o superior. C) Driver VISA 5.1.1 Solo no falta instalar el toolkit para Arduino para poder controlar y adquirir datos con Labview, este procedimiento requiere instalar el gestor de paquetes VI (VIPM). Podemos descargar la versin de la comunidad (free) de la siguiente pgina. Este programa ser el que descargue e instale los VI de Arduino en Labview. http://www.jki.net/vipm/download o JKI VI Package Manager.
Junio 2012
JCQS
17 / 25
Tambin se adjunta un flder con este paquete en caso de instalar en otra computadora o reinstalar. Esta carpeta contiene:
Seleccionado Internet.
Junio 2012
JCQS
18 / 25
Si al iniciar esta aplicacin aparece un error respecto a: LabVIEW 2009 SP1 RunTime Engine (Standard) (32-bit) for Windows, entonces pasar manual 2 (Solucin SP1). Si funciona la aplicacin obtendremos la siguiente ventana:
Seleccionar la versin de Labview instalado en la computadora y buscamos Labview Interface for Arduino (LIFA).
Seleccionamos instalar.
Junio 2012
JCQS
19 / 25
Verificando la instalacin.
Junio 2012
JCQS
20 / 25
Al abrir un nuevo VI en Labview, en diagrama a bloques podemos ver en el men de funciones el toolkit para Arduino.
Esta direccin puede cambiar dependiendo del lugar donde se instalo el programa de Labview y el LIFA. Antes de cargar el sketch al Arduino verificar la seleccin de tarjeta y el puerto usado.
Junio 2012
JCQS
21 / 25
4 Prueba final
Al finalizar de cargar este sketch, desconectar la tarjeta (el programa se conservar en la tarjeta), podemos cerrar el IDE de Arduino para ahora realizar un sencillo programa en Labview. Este programa enciende un apaga un led que esta en el panel frontal y de igual forma lo puede hacer un led conectado al pin de la salida digital (Digital I/O Pin(0)), para este ejemplo el led esta conectado en el pin 8 con una resistencia de 330 ohms en sere a tierra (GND)
Junio 2012
JCQS
22 / 25
Junio 2012
JCQS
23 / 25
Junio 2012
JCQS
24 / 25
Bibliografa y referencias.
[1] Gua de Usuario de Arduino, Rafael Enrquez Herrador, 13 de noviembre de 2009
http://www.jameco.com/Jameco/Products/ProdDS/2121105.pdf http://www.atmel.com/Images/doc8161.pdf http://www.uco.es/aulasoftwarelibre/wpcontent/uploads/2010/05/Arduino_user_manual_es.pdf http://arduino.cc/en/Guide/HomePage http://vishots.com/getting-started-with-the-labview-interface-for-arduino/ How Do I Load the LabVIEW Interface for Arduino Firmware Onto My Arduino Uno? http://digital.ni.com/public.nsf/allkb/8C07747189606D148625789C005C2DD6
Junio 2012
JCQS
25 / 25