Anda di halaman 1dari 33

Ing. Guillermo Murcia gjmurcia@fi.mdp.edu.

ar
Ing. Jorge Luis Strack jlstrack@fi.mdp.edu.ar
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Problema a resolver
Gua 3

El objetivo es aprender a comandar una placa ARDUINO desde LabVIEW. En


esta primera clase introductoria se propone realizar un semforo de 1 tiempo
controlado y monitoreado desde la PC. Se eligi el mismo por tratarse de un
ejercicio que rene numerosos comandos, estructuras y funciones.

2
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO


La ctedra suministrar a los alumnos placas ARDUINO UNO, MEGA
2560 e Intel Galileo, con placas de expansin (SHIELDS) que cuentan
con 4 pulsadores, 4 leds, 1 potencimetro y peines de conexin para
acceder a sus pines.

ARDUINO UNO R3 ARDUINO MEGA 2560 INTEL GALILEO GEN 1

3
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Placa ARDUINO UNO: V REF. AN. 14 ENTRADAS SALIDAS


DIGITALES 0-13
GND
COMUNICACIN
COMUNICACIN COMUNICACIN
I2C
ICSP SERIE (RX TX)
BOTN DE
RESET
LED PIN 13
CONECTOR USB
TIPO B HEMBRA LED DE ENCENDIDO

PROGRAMACIN ICSP

MICROCONTROLADOR
JACK DE ATMEGA 328
ALIMENTACIN
EXTERNA
(7 a 12V)
PIN RESERV.
V REF. I/O GND
RESET
6 ENTRADAS
Vin +7-12V ANALGICAS
5V (300 mA mx.)
A0-A5
3.3V (50 mA mx.) 4
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata
55 ENTRADAS SALIDAS LED DE
Placa ARDUINO MEGA 2560: V REF. AN. DIGITALES 0 - 54 ENCENDIDO
GND 4 PUERTOS DE
COMUNICACIN
COMUNICACIN COMUNICACIN
I2C ICSP SERIE (RX TX)
BOTN DE
RESET
LED PIN 13

CONECTOR USB
TIPO B HEMBRA

JACK DE
ALIMENTACIN
EXTERNA
(7 a 12V)

PROGRAMACIN ICSP

16 ENTRADAS MICROCONTROLADOR
ALIMENTACIN
ANALGICAS A0-A15 ATMEGA 2560
5
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Placa de expansin: LEDs DE LAS 4 SALIDAS


12 PINES DIGITALES I/O P13 P2 DIGITALES (D0, D1, D2, D3)
(P2-P13)
D3
D0 BOTONES DE LAS
POTENCIMETRO 4 ENTRADAS DIGITALES
D7 D4
DE LA ENTRADA (D4, D5, D6, D7)
ANALGICA A0
A0 A5 6 ENTRADAS
ANALGICAS
(A0A5)
Configuracin de los pines digitales:
PINES P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13
SETEO - - D4 D5 D0 D1 D6 D2 D7 D3 - - - -
RX TX In In Out Out In Out In Out Comunicacin con
FUNCIN Comun. Int. Int. pwm pwm Shields
con la PC Ext. Ext
6
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Caractersticas de memoria:
La placa cuenta con tres tipos de memoria:

FLASH: en ella se almacenan los programas conocidos como sketchs.

SRAM: (Memoria Esttica de Acceso Aleatorio), all se crean y manipulan variables durante la ejecucin del
sketch.

EEPROM: memoria en la que se pueden almacenar datos a largo plazo.

Las memorias Flash y EEPROM son no voltiles, es decir, la informacin no se pierde o volatiliza con la falta de
energa. Por el contrario, la memoria SRAM es voltil, es decir, sus datos se borran al desenergizar la placa.

Las placas ARDUINO UNO y MEGA 2560 tienen las siguientes capacidades de memoria:

Memoria ARDUINO UNO ARDUINO MEGA 2560


FLASH 32K bytes 256 K bytes
SRAM 2K bytes 8K bytes
EEPROM 1K byte 4K bytes
Para requerimientos mayores de memoria, por ejemplo, para guardar registros de mediciones, existen SHIELDs
o Tarjetas de Expansin que permiten conectar memorias SD y micro SD a la placa Arduino y, leer y escribir
datos en ellas a travs de libreras existentes en el Entorno de programacin de Arduino. 7
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Conexionado de entradas y salidas

Entrada digital por interruptor o pulsador - Entrada analgica por potencimetro

- Conexin pullup - Conexin pulldown

http://arduino.cc/ 8
Manual de Arduino. Programacin y conceptos bsicos. Raul Diosdado MakerZona.
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Conexionado de entradas y salidas


Salidas digitales

- Salida de baja corriente (< 40 mA - Salida de potencia a travs de mosfet o


por pin y < 200 mA en conjunto) transistor (salida de estado solido)

- Salida de potencia a travs de rel (salida con contacto mvil)

http://arduino.cc/ 9
Manual de Arduino. Programacin y conceptos bsicos. Raul Diosdado MakerZona.
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Tendramos que
Construir dos programas que permitan ESCRIBIR las SALIDAS DIGITALES D0 a D3 desde la PC que
sean compatibles con el programa realizado en el PIC la clase anterior.
Programa en PC Programa en ARDUINO

Que escriba el carcter A en Que lea un caracter en el buffer de


el puerto COM que acte de recepcin COM virtual
instruccin para ARDUINO.
NO
Seguida a esa instruccin se Es la
podra enviar al COM virtual instruccin?
otros cuatro caracteres que SI
sean 1 o 0 segn se quiera
Que lea los cuatro caracteres 1 o 0
encender o apagar las salidas
D0 a D3 del ARDUINO.
Que escriba los 1 o 0 en D0 a D3

10
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Luego
Estos programas tambin deberan permitir LEER las ENTRADAS DIGITALES D4 a D7 desde la PC.

Programa en PC Programa en ARDUINO


Que escriba el carcter B en Que lea un caracter en el buffer de
el puerto COM que acte de recepcin COM virtual
instruccin para ARDUINO.
NO
Es la
instruccin?
SI
Que lea las cuatro entradas digitales

Que lea los 1 o 0 recibidos


para conocer el estado de las Que enve a la PC los 1 o 0
entradas digitales. correspondientes a D4, D5, D6 y D7.

11
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Por ltimo
Los programas tambin deberan permitir LEER las ENTRADAS ANALGICAS A0 a A5 desde la PC.

Programa en PC Programa en ARDUINO


Que escriba el carcter C en Que lea un caracter en el buffer de
el puerto COM que acte de recepcin COM virtual
instruccin para ARDUINO.
A continuacin debera escribir NO
el n de entrada o canal Es la
analgico a consultar. instruccin?
SI
Que lea el n de canal y adquiera el
valor del mismo a travs del ADC.
Que lea un n de 10 bits
enviado en 2 bytes para conocer
Que enve a la PC el valor medido.
el valor de la entrada analgica.
12
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Veamos como se programa un microcontrolador de la familia ARDUINO

Generar un
programa en
Existen varios programas para generar el cdigo.
un lenguaje Miniblock, Ardublok, Amici, Mind+, Modkit,
conocido VirtualBreadBoard, VBB Jarvis, Eclipse, IDE ARDUINO,
etc.

Una vez creado el programa (proyecto) en lenguaje


Crear un conocido se genera un archivo que contiene el
cdigo de proyecto en cdigo de mquina (*****.hex).
mquina
Una vez creado el archivo .hex se lo graba en el
microcontrolador a travs de un cable USB gracias al
bootloader que ya viene grabado en el
Cargar el
microcontrolador de fbrica.
cdigo en la
placa
ARDUINO
13
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Veamos como se programa un microcontrolador de la familia ARDUINO

Generar un
programa en
Para estas dos tareas usaremos el propio IDE (Entorno
un lenguaje de Desarrollo Integrado) de ARDUINO.
conocido El IDE es portable, totalmente libre, y su ltima versin
1.6.5-r2 descargada de la web se encuentra en la
carpeta ARDUINO del DVD de la Asignatura.

Crear un
cdigo de
mquina

Cargar el
cdigo en la
placa Guardamos la carpeta en la raz del disco local y
ARDUINO creamos un acceso directo del archivo ejecutable
arduino.exe. 14
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 1 para resolver el ejercicio propuesto: instalamos el driver ARDUINO
Los desarrolladores de ARDUINO ya desarrollaron un driver para
cada modelo ,en nuestro caso UNO y MEGA 2560, que tienen
cargado un BootLoader para que puedan ser conectados al
puerto USB y sean reconocidos como un nuevo dispositivo a
travs de un puerto COM virtual.
De esta forma podemos enviar o recibir caracteres a ese puerto y
as comunicarnos con la placa. Por lo tanto, al igual que con el
PIC:

Programaremos la placa ARDUINO.


Enviaremos y recibiremos caracteres como si fuera una
impresora, mouse, instrumento, etc.
Permitiendo comandar la placa a travs de programas
como LabVIEW, Matlab, Python, Visual Basic, etc. 15
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 1 para resolver el ejercicio propuesto: instalamos el driver ARDUINO
Los drivers de todos los modelos estn en la carpeta ARDUINO
del DVD de la Asignatura:

16
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 1 para resolver el ejercicio propuesto: instalamos el driver ARDUINO
Conectamos nuestra placa ARDUINO didctica. Debera aparecer
la siguiente pantalla.

Luego de unos minutos Windows debera haber encontrado e


instalado los drivers en forma automtica.
17
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 1 para resolver el ejercicio propuesto: instalamos el driver ARDUINO
Podemos comprobar si la
instalacin fue exitosa
yendo a Panel de
control y localizando la
pestaa Administrador
de dispositivos.

All podemos detectar el


nmero de puerto COM
virtual asignado por el
sistema.

18
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 1 para resolver el ejercicio propuesto: instalamos el driver ARDUINO

19
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 1 para resolver el ejercicio propuesto: instalamos el driver ARDUINO
Si Windows no pudo instalar los drivers en forma automtica, se debe ingresar en forma
manual la ruta de la carpeta en la que se encuentran los mismos yendo a Panel de
Control Administrador de dispositivos Puertos (COM y LPT) seleccionar el
puerto y hacer click derecho Propiedades Controlador Actualizar controlador

20
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Cmo funciona el conjunto Bootloader + driver en nuestro ARDUINO?

Cuando conectas la Placa Arduino didctica al puerto USB se energiza el


microcontrolador

Cuando se energiza el microcontrolador desde la PC o desde el jack de alimentacin


externa se ejecuta el programa que le hayamos cargado

Si queremos modificar el programa, vamos al IDE, programamos, compilamos y


cargamos el mismo desde el puerto USB. La operacin del bootloader ya est
automatizada en el IDE.

21
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 2 para resolver el ejercicio propuesto: abrimos el IDE

Aqu editaremos, compilaremos y cargaremos en la placa el programa brindado


por la ctedra.
22
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 2 para resolver el ejercicio propuesto: abrimos el IDE
Una vez conectada la placa a la PC, en primer lugar creamos un archivo nuevo y
configuramos el modelo de placa (UNO o MEGA 2560) y seleccionamos el
correspondiente puerto COM.

23
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 2 para resolver el ejercicio propuesto: abrimos el IDE
Editamos el programa copiando el cdigo provisto en la Gua de Ejercicios n 3, lo
compilamos presionando Ctrl + R. Si la compilacin fue exitosa, lo cargamos
presionando Ctrl + U.
Nuestra placa ya est lista y el programa se est ejecutando esperando a que le
enviemos comandos desde LabVIEW.

24
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 3 para resolver el ejercicio propuesto: probamos los comandos
desde un gestionador de comunicaciones por el puerto serie.
Instalamos el programa Docklight, configuramos el puerto COM y editamos los
comandos que enviaremos a ARDUINO a fin de probar el programa cargado en el
mismo y entender mejor el flujo de datos desde y hacia la PC.

25
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 4 para resolver el ejercicio propuesto: instalamos el NI-VISA
(slo en el caso de no haberlo instalado la clase anterior)

VISA (Virtual Instrument Software Architecture) es una librera


desarrollada por varios fabricantes de equipos que proporciona
un estndar para las operaciones de lectura-escritura en
instrumentacin.

NI-VISA es la implementacin de National Instrument de este


estndar, y a travs de l LabVIEW puede establecer
comunicaciones con dispositivos GPIB, serie o Ethernet.

26
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 4 para resolver el ejercicio propuesto: instalamos el NI-VISA
NI-VISA est en la carpeta donde se encuentra LabVIEW2011
del DVD de la Asignatura

Tambin lo instalamos si es que ya no lo hicimos

27
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 4 para resolver el ejercicio propuesto: instalamos el NI-VISA

Si bien hay muchos VIs dedicados a VISA utilizaremos


en general los siguientes:
Configure Serial Port
Write
Read
Bytes at port
Clear y Close

28
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 4 para resolver el ejercicio propuesto: instalamos el NI-VISA

No es estrictamente necesario su uso


para un COM virtual

Escribe caracteres en el puerto COM


especificado en VISA resource name

29
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 4 para resolver el ejercicio propuesto: instalamos el NI-VISA

Lee caracteres en el puerto COM


especificado en VISA resource name

Limpia los buffers de entrada y salida


del dispositivo conectado al puerto
COM especificado en VISA resource
name

30
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 4 para resolver el ejercicio propuesto: instalamos el NI-VISA

Cierra el puerto COM especificado en


VISA resource name

31
INSTRUMENTACIN AVANZADA
Departamento de Ingeniera Elctrica y Electromecnica
Facultad de Ingeniera Universidad Nacional de Mar del Plata

Desarrollo de una solucin con ARDUINO:


Paso 5 para resolver el ejercicio propuesto: programamos la PC

Una vez que lleguemos al ejercicio 3.4 el programa en la PC realizado en LabVIEW


tendr que:
1. Abrir una comunicacin al puerto COM.
2. Enviar el caracter A que acta como instruccin para entrar en la rutina de
escribir salidas digitales segn el cdigo programado en ARDUINO.
3. Enviar cuatro caracteres que sean 0 o 1 para encender o apagar los LEDs
respectivos.
4. Enviar el carcter B que acta como instruccin para entrar en la rutina
de leer las entradas digitales segn el cdigo programado en ARDUINO.
5. Leer el estado de activacin de las entradas (los 4 bits menos significativos).
6. Enviar el carcter C que acta como instruccin para entrar en la rutina
de leer una entrada analgica y enviar el carcter 0 para ordenar el n de
canal conectado al potencimetro.
7. Leer el valor de 10 bits entregado por el ADC que llega en 2 bytes.
8. Limpiar los buffers de entrada y salida.
9. Cerrar la comunicacin al puerto COM abierto en 1.
32
Gua de
Ejercicios
N 3

33

Anda mungkin juga menyukai