Sunteți pe pagina 1din 32

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

ar
Ing. Jorge Luis Strack jlstrack@fi.mdp.edu.ar
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Se utilizaran placas ARDUINO UNO, MEGA 2560, DUE e Intel Galileo,
con placas de expansión (SHIELDS) que cuentan con 4 pulsadores, 4
leds, 1 potenciómetro y peines de conexión para acceder a sus
pines.

ARDUINO UNO R3 ARDUINO MEGA 2560 INTEL GALILEO GEN 1

2
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

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


DIGITALES 0-13
GND
COMUNICACIÓN
COMUNICACIÓN COMUNICACIÓN
I2C
ICSP SERIE (RX – TX)
BOTÓN DE
RESET
LED PIN 13
CONECTOR USB
TIPO B HEMBRA LED DE ENCENDIDO

PROGRAMACIÓN ICSP

MICROCONTROLADOR
JACK DE ATMEGA 328
ALIMENTACIÓN
EXTERNA
(7 a 12V)
PIN RESERV.
V REF. I/O GND
RESET
6 ENTRADAS
Vin +7-12V ANALÓGICAS
5V (300 mA máx.)
A0-A5
3.3V (50 mA máx.) 3
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – 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
COMUNICACIÓN
COMUNICACIÓN COMUNICACIÓN
I2C ICSP SERIE (RX – TX)
BOTÓN DE
RESET
LED PIN 13

CONECTOR USB
TIPO B HEMBRA

JACK DE
ALIMENTACIÓN
EXTERNA
(7 a 12V)

PROGRAMACIÓN ICSP

16 ENTRADAS MICROCONTROLADOR
ALIMENTACIÓN
ANALÓGICAS A0-A15 ATMEGA 2560
4
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Placa de expansión: LEDs DE LAS 4 SALIDAS


12 PINES DIGITALES I/O P13 P2 DIGITALES (D0, D1, D2, D3)
(P2-P13)
D3
D0 BOTONES DE LAS
POTENCIÓMETRO 4 ENTRADAS DIGITALES
D7 D4
DE LA ENTRADA (D4, D5, D6, D7)
ANALÓGICA A0
A0 A5 6 ENTRADAS
ANALÓGICAS
(A0…A5)
Configuración 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 Comunicación con
FUNCIÓN Comun. Int. Int. pwm pwm Shields
con la PC Ext. Ext
5
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Características de memoria:
La placa cuenta con tres tipos de memoria:

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

 SRAM: (Memoria Estática de Acceso Aleatorio), allí se crean y manipulan variables durante la ejecución del
sketch.

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

Las memorias Flash y EEPROM son no volátiles, es decir, la información no se pierde o volatiliza con la falta de
energía. Por el contrario, la memoria SRAM es volátil, 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 Expansión que permiten conectar memorias SD y micro SD a la placa Arduino y, leer y escribir
datos en ellas a través de librerías existentes en el Entorno de programación de Arduino. 6
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Conexionado de entradas y salidas

Entrada digital por interruptor o pulsador - Entrada analógica por potenciómetro

- Conexión pullup - Conexión pulldown

http://arduino.cc/ 7
Manual de Arduino. Programación y conceptos básicos. Raul Diosdado – MakerZona.
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Conexionado de entradas y salidas


Salidas digitales

- Salida de baja corriente (< 40 mA - Salida de potencia a través de mosfet o


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

- Salida de potencia a través de relé (salida con contacto móvil)

http://arduino.cc/ 8
Manual de Arduino. Programación y conceptos básicos. Raul Diosdado – MakerZona.
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

Desarrollo de una solución con ARDUINO:


Tendríamos 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 carácter “A” en Que lea un caracter en el buffer de


el puerto COM que actúe de recepción COM virtual
“instrucción” para ARDUINO.
NO
• Seguida a esa instrucción se ¿Es la
podría enviar al COM virtual “instrucción”?
otros cuatro caracteres que SI
sean “1” o “0” según 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

9
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Luego…
Estos programas también deberían permitir LEER las ENTRADAS DIGITALES D4 a D7 desde la PC.

Programa en PC Programa en ARDUINO


• Que escriba el carácter “B” en Que lea un caracter en el buffer de
el puerto COM que actúe de recepción COM virtual
“instrucción” para ARDUINO.
NO
¿Es la
“instrucción”?
SI
Que lea las cuatro entradas digitales

• Que lea los “1” o “0” recibidos


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

10
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Por último…
Los programas también deberían permitir LEER las ENTRADAS ANALÓGICAS A0 a A5 desde la PC.

Programa en PC Programa en ARDUINO


• Que escriba el carácter “C” en Que lea un caracter en el buffer de
el puerto COM que actúe de recepción COM virtual
“instrucción” para ARDUINO.
• A continuación debería escribir NO
el nº de entrada o canal ¿Es la
analógico a consultar. “instrucción”?
SI
Que lea el nº de canal y adquiera el
valor del mismo a través del ADC.
• Que lea un nº de 10 bits
enviado en 2 bytes para conocer
Que envíe a la PC el valor medido.
el valor de la entrada analógica.
11
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Veamos como se programa un microcontrolador de la familia ARDUINO

Generar un
programa en
• Existen varios programas para generar el código.
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
código de proyecto en código de máquina (*****.hex).
máquina
• Una vez creado el archivo .hex se lo graba en el
microcontrolador a través de un cable USB gracias al
bootloader que ya viene grabado en el
Cargar el
microcontrolador de fábrica.
código en la
placa
ARDUINO
12
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


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. La versión 1.6.5-r2
descargada de la web se encuentra en la carpeta
“ARDUINO” del DVD de la Asignatura.

Crear un
código de
máquina

Cargar el
código en la
placa Guardamos la carpeta en la raíz del disco local y
ARDUINO creamos un acceso directo del archivo ejecutable
arduino.exe. 13
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 1 para comunicarnos con ARDUINO: 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
través 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 través de programas
como LabVIEW, Matlab, Python, Visual Basic, etc. 14
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 1 para comunicarnos con ARDUINO : instalamos el driver ARDUINO…
Los drivers de todos los modelos están en la carpeta “ARDUINO”
del DVD de la Asignatura:

15
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 1 para comunicarnos con ARDUINO : instalamos el driver ARDUINO…
Conectamos nuestra placa ARDUINO didáctica. Debería aparecer
la siguiente pantalla….

Luego de unos minutos Windows debería haber encontrado e


instalado los drivers en forma automática.
16
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 1 para comunicarnos con ARDUINO : instalamos el driver ARDUINO…
Podemos comprobar si la
instalación fue exitosa
yendo a “Panel de
control” y localizando la
pestaña “Administrador
de dispositivos”.

Allí podemos detectar el


número de puerto COM
virtual asignado por el
sistema.

17
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 1 para comunicarnos con ARDUINO : instalamos el driver ARDUINO…

18
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 1 para comunicarnos con ARDUINO : instalamos el driver ARDUINO…
Si Windows no pudo instalar los drivers en forma automática, 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…

19
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


¿Cómo funciona el conjunto Bootloader + driver en nuestro ARDUINO?

Cuando conectas la Placa Arduino didáctica al puerto USB se energiza el


microcontrolador

Cuando se energiza el microcontrolador desde la PC o desde el jack de alimentación


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 operación del bootloader ya está
automatizada en el IDE.

20
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 2 para comunicarnos con ARDUINO : abrimos el IDE…

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


por la cátedra.
21
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 2 para comunicarnos con ARDUINO: 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.

22
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 2 para comunicarnos con ARDUINO: abrimos el IDE…
Editamos el programa copiando el código provisto en la Guía de Ejercicios nº 3, lo
compilamos presionando Ctrl + R. Si la compilación 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.

23
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 3 para comunicarnos con ARDUINO: 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.

24
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 4 para comunicarnos con ARDUINO: instalamos el NI-VISA…
(sólo en el caso de no haberlo instalado la clase anterior)

VISA (Virtual Instrument Software Architecture) es una librería


desarrollada por varios fabricantes de equipos que proporciona
un estándar para las operaciones de lectura-escritura en
instrumentación.

NI-VISA es la implementación de National Instrument de este


estándar, y a través de él LabVIEW puede establecer
comunicaciones con dispositivos GPIB, serie o Ethernet.

25
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 4 para comunicarnos con ARDUINO: instalamos el NI-VISA…
NI-VISA está en la carpeta donde se encuentra “LabVIEW2011”
del DVD de la Asignatura

También lo instalamos si es que ya no lo hicimos…

26
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 4 para comunicarnos con ARDUINO : 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

27
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 4 para comunicarnos con ARDUINO : 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”

28
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 4 para comunicarnos con ARDUINO: 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”

29
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 4 para comunicarnos con ARDUINO: instalamos el NI-VISA…

Cierra el puerto COM especificado en


“VISA resource name”

30
INSTRUMENTACIÓN AVANZADA
Departamento de Ingeniería Eléctrica y Electromecánica
Facultad de Ingeniería – Universidad Nacional de Mar del Plata

ARDUINO como una DAQ de bajo costo


Paso 5 para comunicarnos con ARDUINO: programamos la PC…

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


tendrá que:
1. Abrir una comunicación al puerto COM.
2. Enviar el caracter “A” que actúa como instrucción para entrar en la rutina de
escribir salidas digitales según el código programado en ARDUINO.
3. Enviar cuatro caracteres que sean “0” o “1” para encender o apagar los LEDs
respectivos.
4. Enviar el carácter “B” que actúa como instrucción para entrar en la rutina
de leer las entradas digitales según el código programado en ARDUINO.
5. Leer el estado de activación de las entradas (los 4 bits menos significativos).
6. Enviar el carácter “C” que actúa como instrucción para entrar en la rutina
de leer una entrada analógica y enviar el carácter “0” para ordenar el nº de
canal conectado al potenciómetro.
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 comunicación al puerto COM abierto en 1.
31
Guía de
Ejercicios
N° 3

32

S-ar putea să vă placă și