control remoto con xx ee-31

5
ResumenEl desarrollo de tecnologías crece día a día, otorgándonos al alcance de nuestras manos dispositivos de comunicación que nos permiten desarrollar técnicas de control y supervisión de manera remota, fáciles de adquirir, diseñar y programar. En la búsqueda del aprendizaje de nuevas técnicas se conjuntaron por una parte la plataforma de desarrollo basada en microcontrolador, placa Arduino en conjunto con un Shield de Xbee para proporcionarle comunicación inalámbrica de un rango de 100 metros a 1.5 km en áreas abiertas, la cual a su vez se comunica a un dispositivo móvil con Android mediante Bluetooth para el monitoreo y control de sistemas. Se mencionan algunas aplicaciones industriales en las cuales puede ser de utilidad. Temas clavesControl y Supervisión remota, Xbee, Arduino. I. INTRODUCCIÓN os sistemas control, demandan una constante evolución en métodos y técnicas y/o tecnologías que se requieren para lograrlo. Actualmente en la industria la productividad de los procesos depende en gran medida de la medición y manipulación de las variables físicas, razón por la que constantemente se buscan nuevas tecnologías y métodos enfocados en la adquisición, control y supervisión de dichos procesos [1]. La sinergia entre las tecnologías de la información y la electrónica favorecen el desarrollo de sistemas de control que permitan su manipulación en una forma más amigable, precisa y sencilla. En la universidad Tecnológica de Torreón actualmente se está trabajando con la plataforma Arduino así como con diversos Shields para la creación de aplicaciones industriales y domótica, desarrollando sistemas de control manipulados de forma remota. A. Arduino Arduino es una herramienta y plataforma electrónica de código abierto, flexible y sencillo de utilizar. Con ella es posible crear objetos o entornos interactivos. Esta plataforma puede detectar o afectar el entorno recibiendo entradas de diversos sensores y activando algunos actuadores respectivamente. La tarjeta Arduino (Fig. 1), posee un microcontrolador el cual se programa mediante el lenguaje de programación Arduino y el entorno de desarrollo Arduino [2]. Posee un software open source, los ficheros de diseño de referencia 1 Gloria Mónica Martínez Aguilar ([email protected]), Eduardo Salazar Valle ([email protected]). Universidad Tecnológica de Torreón, Carretera Torreón-Matamoros Km 10 S/N, Ejido el Águila C.P. 27400 Torreón, Coahuila, México. pueden ser adaptables a las necesidades del usuario puesto que se encuentran disponibles bajo una licencia abierta. Otros microcontroladores ofrecen características similares al Arduino, pero éste lleva ventaja en cuanto a asequibilidad, multiplataforma trabajando con Windows, Mac y Linux; entorno de programación simple; software y sobre todo hardware ampliable. Figura 1. Tarjeta Arduino. Para empezar a trabajar con la placa solo es necesario conectarla mediante USB a la computadora y abrir el programa, escribir el código con el cual se trabajará y cargarlo a la placa. B. Xbee Los módulos Xbee son dispositivos que integran un transmisor - receptor de ZigBee y un procesador en un mismo módulo, lo que le permite a los usuarios desarrollar aplicaciones de manera rápida y sencilla. Zigbee es un protocolo de comunicaciones inalámbrico basado en el estándar de comunicaciones para redes inalámbricas IEEE_802.15.4. Creado por Zigbee Alliance, una organización, teóricamente sin ánimo de lucro, de más de 200 grandes empresas (destacan Mitsubishi, Honeywell, Philips, Motorola, Invensys, entre otras), muchas de ellas fabricantes de semiconductores. Zigbee permite que dispositivos electrónicos de bajo consumo puedan realizar sus comunicaciones inalámbricas. Es especialmente útil para redes de sensores en entornos industriales, médicos y, sobre todo, domóticas [3]. C. Android Android (Figura 2) es un sistema operativo orientado a dispositivos portátiles como teléfonos inteligentes, netbooks, tabletas, entre otros. Fue desarrollado inicialmente por la compañía de software Android Inc., absorbida por Google en el 2005. Con una plataforma basada en el kernel de Linux Google promocionó un nuevo sistema flexible y actualizable, llamando la atención de operadores y fabricantes de hardware y software. L Control Remoto Xbee con Arduino y Android G. Martinez 1 , E. Salazar 1

Upload: gabriela-nunez

Post on 31-Jan-2016

216 views

Category:

Documents


0 download

DESCRIPTION

paper

TRANSCRIPT

Page 1: Control Remoto con XX EE-31

Resumen—El desarrollo de tecnologías crece día a día,

otorgándonos al alcance de nuestras manos dispositivos de

comunicación que nos permiten desarrollar técnicas de control y

supervisión de manera remota, fáciles de adquirir, diseñar y

programar.

En la búsqueda del aprendizaje de nuevas técnicas se

conjuntaron por una parte la plataforma de desarrollo basada en

microcontrolador, placa Arduino en conjunto con un Shield de

Xbee para proporcionarle comunicación inalámbrica de un rango

de 100 metros a 1.5 km en áreas abiertas, la cual a su vez se

comunica a un dispositivo móvil con Android mediante Bluetooth

para el monitoreo y control de sistemas. Se mencionan algunas

aplicaciones industriales en las cuales puede ser de utilidad.

Temas claves— Control y Supervisión remota, Xbee, Arduino.

I. INTRODUCCIÓN

os sistemas control, demandan una constante evolución en métodos y técnicas y/o tecnologías que se requieren para lograrlo. Actualmente en la industria la productividad de

los procesos depende en gran medida de la medición y manipulación de las variables físicas, razón por la que constantemente se buscan nuevas tecnologías y métodos enfocados en la adquisición, control y supervisión de dichos procesos [1].

La sinergia entre las tecnologías de la información y la electrónica favorecen el desarrollo de sistemas de control que permitan su manipulación en una forma más amigable, precisa y sencilla.

En la universidad Tecnológica de Torreón actualmente se

está trabajando con la plataforma Arduino así como con

diversos Shields para la creación de aplicaciones industriales y

domótica, desarrollando sistemas de control manipulados de

forma remota.

A. Arduino

Arduino es una herramienta y plataforma electrónica de

código abierto, flexible y sencillo de utilizar. Con ella es

posible crear objetos o entornos interactivos. Esta plataforma

puede detectar o afectar el entorno recibiendo entradas de

diversos sensores y activando algunos actuadores

respectivamente.

La tarjeta Arduino (Fig. 1), posee un microcontrolador el

cual se programa mediante el lenguaje de programación

Arduino y el entorno de desarrollo Arduino [2]. Posee un

software open source, los ficheros de diseño de referencia

1 Gloria Mónica Martínez Aguilar ([email protected]), Eduardo

Salazar Valle ([email protected]). Universidad Tecnológica de

Torreón, Carretera Torreón-Matamoros Km 10 S/N, Ejido el Águila C.P.

27400 Torreón, Coahuila, México.

pueden ser adaptables a las necesidades del usuario puesto que

se encuentran disponibles bajo una licencia abierta.

Otros microcontroladores ofrecen características similares al

Arduino, pero éste lleva ventaja en cuanto a asequibilidad,

multiplataforma trabajando con Windows, Mac y Linux;

entorno de programación simple; software y sobre todo

hardware ampliable.

Figura 1. Tarjeta Arduino.

Para empezar a trabajar con la placa solo es necesario

conectarla mediante USB a la computadora y abrir el

programa, escribir el código con el cual se trabajará y cargarlo

a la placa.

B. Xbee

Los módulos Xbee son dispositivos que integran un

transmisor - receptor de ZigBee y un procesador en un mismo

módulo, lo que le permite a los usuarios desarrollar

aplicaciones de manera rápida y sencilla. Zigbee es un

protocolo de comunicaciones inalámbrico basado en el

estándar de comunicaciones para redes inalámbricas

IEEE_802.15.4. Creado por Zigbee Alliance, una

organización, teóricamente sin ánimo de lucro, de más de 200

grandes empresas (destacan Mitsubishi, Honeywell, Philips,

Motorola, Invensys, entre otras), muchas de ellas fabricantes

de semiconductores. Zigbee permite que dispositivos

electrónicos de bajo consumo puedan realizar sus

comunicaciones inalámbricas. Es especialmente útil para redes

de sensores en entornos industriales, médicos y, sobre todo,

domóticas [3].

C. Android

Android (Figura 2) es un sistema operativo orientado a

dispositivos portátiles como teléfonos inteligentes, netbooks, tabletas, entre otros. Fue desarrollado inicialmente por la compañía de software Android Inc., absorbida por Google en el 2005. Con una plataforma basada en el kernel de Linux Google promocionó un nuevo sistema flexible y actualizable, llamando la atención de operadores y fabricantes de hardware y software.

L Part

e

Téc

nica

del

Artí

culo

Control Remoto Xbee con Arduino y Android

G. Martinez1, E. Salazar

1

Page 2: Control Remoto con XX EE-31

Figura 2. Icono sistema operativo Android.

A diferencia de sistemas operativos para dispositivos

móviles como iOS o Windows Phone, el código fuente de Android se mantiene abierto. Soporta multimedia, interfaz táctil, características basadas en voz y una amplia variedad de componentes de hardware. Si se añade a esto un entorno de desarrollo gratuito que incluye un emulador de dispositivos, herramientas para depuración de memoria y análisis del rendimiento del software, Android constituye una opción interesante para nuevos desarrolladores [4], [5].

D. App Inventor

App Inventor una herramienta muy útil, lanzada a la nube

por Google. Permite desarrollar aplicaciones para los teléfonos Android mediante un navegador web. Es ideal para introducirse al mundo de Android como desarrolladores o por simple curiosidad. El proceso para poder utilizar esta herramienta se empieza con la creación de una cuenta en un dominio de Google. Requerimientos mínimos: Un S.O. Mac OS X 10.5, 10.6, Windows XP, Windows Vista, Windows 7, Ubuntu 8+, Debian 5+ y un Navegador Mozilla Firefox 3.6 o más reciente, Apple Safari 5.0 más reciente, Google Chrome 4.0 más reciente, Microsoft Internet Explorer 7 o más reciente.

E. Módulo Bluetooth

Bluetooth es una especificación industrial para Redes

Inalámbricas de Área Personal (WPAN) que posibilita la

transmisión de voz y datos entre diferentes dispositivos

mediante un enlace por radiofrecuencia en la banda ISM de los

2,4 GHz. Los principales objetivos que se pretenden conseguir

con esta norma son:

Facilitar las comunicaciones entre equipos móviles y

fijos.

Eliminar cables y conectores entre éstos.

Ofrecer la posibilidad de crear pequeñas redes

inalámbricas y facilitar la sincronización de datos

entre equipos personales.

Los dispositivos que con mayor frecuencia utilizan esta

tecnología pertenecen a sectores de las telecomunicaciones y

la informática personal, como PDA, teléfonos móviles,

computadoras portátiles, ordenadores personales, impresoras o

cámaras digitales.

II. TRABAJO REALIZADO

o primero que se realizo fue la configuración de los

módulos Xbee, para lo cual se montan los Shields a sus

respectivos Arduinos. De fábrica cada módulo Xbee viene

configurado con un PAN ID (el identificador de la red

personal) de 3332 y configurados con una tasa de transferencia

de 9600 baudios, con datos de 8 bits, sin paridad y 1 bit de

paro. Cada Xbee Shield tiene un par de jumpers para definir si

la comunicación serial se realiza hacia el puerto USB o hacia

el módulo Xbee. Para configurarlos se debe interactuar con el

puerto USB, esto quiere decir poner ambos jumpers en la

posición externa de los pines, en la figura 3 puede verse la

ubicación de tales jumpers [6].

Figura 3. Ubicación de los jumpers selectores.

Se puede utilizar el programa Hyperterminal en Windows

para comenzar a configurar el módulo Xbee. Otras alternativas

son el Serial Monitor que viene integrado en el entorno de

programación de Arduino o el programa Bray++ Terminal. El

comando necesario para comenzar la interacción es +++.

Tecleando esto se debe recibir como respuesta un OK. Con lo

cual se establece la conexión y sólo tenemos 5 segundos para

interactuar con el módulo. Después de ese tiempo, el módulo

regresa a su estado nativo y para volver a interactuar se debe

teclear +++ nuevamente.

Se usó para la conexión a la computadora la placa Arduino

SIN el microcontrolador ATMEGA168. La razón de esto es

que de esa manera podemos directamente interactuar vía USB

con el módulo Xbee.

Los módulos se configuraron con un PAN ID de 3332, un

módulo con dirección 0 y otro módulo con dirección 1. El

módulo con dirección 0 es el que está conectado a la

dispositivo móvil y el módulo con dirección 1 es el módulo

remoto. Para configurar el primero con la dirección 0,

velocidad 9600 8-n-1 y comunicación con el módulo de ID1 se

usó el siguiente comando:

ATID3332,DH0,DL1,MY0,BD4,WR,CN

Las letras AT le indican al Xbee que le vamos a enviar

comandos. ID3332 le define un PAN ID de 3332, DH0 y DL1

definen la dirección 01 como el Xbee con el que se estará

comunicando, el comando MY0 define la dirección propia

como 0, BD4 define la velocidad en 9600, el comando WR

escribe la configuración a la memoria y el CN cierra la

configuración. El segundo módulo se configuro como:

ATID3332,DH0,DL0,MY1,BD4,WR,CN

Una vez configurados los módulos se les volvió a montar el

microcontrolador y se procedió a conectar el modulo

Bluetooth al primer módulo.

L III. IV. V.

Page 3: Control Remoto con XX EE-31

El modulo Bluetooth utilizado es el HC-05, dicho módulo

trabajo mediante conexión serie con el Arduino, y se comunica

con el exterior mediante Bluetooth, ya sea a través de un

teléfono móvil, ordenador, tabletas, etc.

Este módulo BT solo disponemos de 4 pines que son los

necesarios, por un lado tenemos VCC que se conectó a los 5V

del Arduino, por otro GND que va al pin GND de Arduino,

después tenemos TXD que va conectado al pin RXD del

Arduino y RXD que va al pin TXD de Arduino como se puede

apreciar en la figura 4.

Figura 4. Conexión de módulo BT.

Con la configuración de los módulos Xbee y la conexión del

módulo BT se procedió a la programación de las Arduinos

para el envío y recepción de datos vía serial. Para descargar

los programas a las Arduinos se desmonta primero los

Módulos Xbee. La programación del primer módulo es la

siguiente:

/* Modulo Xbee 1 ============= Este programa se utiliza para enviar un estado alto o bajo remotamente por Xbee, dicho estado lo recibe de un dispositivo móvil mediante BT M.C. G. Mónica Mtz A Diciembre 2012 */ void setup() { Serial.begin(9600); } void loop() { while(Serial.available()); { Char dato=Serial.read(); Serial.print(dato); Serial.println(); delay(1000); } }

La programación del módulo remoto es: /* Modulo Xbee 2 ============= Este programa se utiliza para recibir un estado alto o bajo remotamente por Xbee, y se refleja la recepción en el pin 13 M.C. G. Mónica Mtz A Diciembre 2012 */ void setup() { Serial.begin(9600); } void loop() {

while(Serial.available()); { Char dato=Serial.read(); switch (dato) { Case ‘ON’ { digitalWrite(13,HIGH); break; } Case ‘OFF’ { digitalWrite(13,LOW); break; } } }

Con los módulos programados se procedió a crear la

aplicación para Android, desde App Inventor para esto solo es

necesario acceder a la página del mismo con una cuenta de

google y crear un nuevo proyecto [7], lo primero fue generar el

acomodo visual de la aplicación como se puede apreciar en la

figura 5.

Figura 5. Acomodo visual de la aplicación.

Después se accedió al editor de bloques y se programó el

comportamiento de la aplicación, el primer bloque fue el de la

dirección Mac (Figura 6).

Figura 6. Bloque de texto con la dirección MAC.

La dirección Mac se puede obtener realizando una

búsqueda normal en cualquier aparato con Bluetooth, una vez

encontrado te dirá como se llama el dispositivo y cuál es su

dirección como se muestra en la Figura 7.

Figura 7. Muestra de cómo obtener la dirección Mac de cualquier dispositivo.

Page 4: Control Remoto con XX EE-31

El bloque de inicialización de pantalla se puede apreciar en

la figura 8, en este se declaró “B_conectar”: Color del texto en

blanco, el texto interior que se mostrara y el comportamiento

del botón “Motor” deshabilitado.

Figura 7. Inicio de la pantalla de la aplicación.

El siguiente bloque es del comportamiento del botón

“B_conectar.clik” (Figura 8). Dentro de este bloque se

encuentra un botón que cuando se hace click en el, habilita el

botón de Motor, también entra en una condicional “si” (IF),

donde condiciona a BluetoothClient1.Connected sea igual a

Dirección Mac para cambiar la apariencia del botón

“B_conectar.clik” tanto en color como en texto.

A si mismo se programa el comportamiento de un Click

Largo en el botón “B_conectar.LongClick”, el cual

desconectara la comunicación, devolviendo la apariencia de

éste a su estado original y deshabilitando el botón para

accionar el Motor.

Figura 8. Bloques para declarar el comportamiento del botón “Conectar”, y

botón “Conectar click largo”

Lo siguiente fue programar el comportamiento del botón

“Motor”, para ello, se necesitan declarar dos acciones: un

simple click y un click largo. La Figura 9 muestra el diagrama

de bloques para definir como funcionara el botón. Cuando se

hace un click, realizara la tarea de enviarle un texto al

dispositivo previamente vinculado, el texto enviado es la

palabra en ingles “ON” y el otro comportamiento de click

largo envía una palabra “OFF”.

Figura 9. Definición del comportamiento para el botón “Motor” dependiendo

de si es un click corto o uno sostenido para mandar un Texto.

Y por último para el botón “Salir” se coloca en el diagrama

de bloques el siguiente esquema (Figura 10).

Figura 10. Cerrar aplicación por medio de un click en el botón SALIR.

Con esto se terminó la programación por bloques realizada

para la aplicación, la cual se guardó con el comando “SAVE”

y se descargó a la computadora para posteriormente pasarlo al

dispositivo móvil.

Para la descarga se selecciona “Package for Phone”

(empaquetar para teléfono) y luego del menú que se desprende

se da click en “Download to this Computer” (descargar a esta

computadora) como se puede ver en la Figura 11.

Figura 11. Descargar el instalador de la aplicación para Android (archivo con

extensión “.apk”)

Con la aplicación descargada e instalada en el dispositivo

móvil con Android (en este caso una tableta ViewSonic

VPAD7), se procedió a realizar las pruebas. Para ello se

conectó el primer módulo a una pila y se ubicó en un punto

fijo, con el segundo módulo se procedió de igual manera y se

situó a aproximadamente una distancia del primero de 100

metros en línea recta y en una área abierta, por último se

accedió a la aplicación creada en el dispositivo móvil y desde

una distancia de aproximadamente 10 metros en dirección

contraria al segundo módulo de realizo el envío y recepción de

datos. Un diagrama de ubicaciones se puede apreciar en la

figura 12.

Figura 12. Diagrama de ubicaciones.

Ubicados los módulos se conectó al módulo 1 desde la

aplicación y se mandaron comando los cuales se

retransmitieron al módulo 2 encendiendo y apagando el pin 13

del mismo.

Page 5: Control Remoto con XX EE-31

III. CONCLUSIONES

l resultado de la aplicación expuesta en este artículo es el

control remoto mediante la conjunción de tecnologías

asequibles a cualquier persona, por una parte la tarjeta

Arduino y su Shield Xbee y por otra el S.O. Android, en el

cual se pueden desarrollar aplicaciones de una manera sencilla

mediante software open source.

Siendo Android en la actualidad el sistema operativo más

usado en dispositivos móviles inteligentes, el cual cuenta con

múltiples aplicaciones para distintos usos, dentro de las cuales

la comunicación a dispositivos por medio de distintos

protocolos, para este caso Bluetooth.

Por otro lado la tarjeta Arduino contiene varios Shields con

los que se pueden realizar un sinfín de aplicaciones en varias

áreas de electrónica, instrumentación y control. El enlace de

estas tecnologías se muestra de una manera sencilla en

contraparte de su aplicación en campo, algunas de la

aplicaciones del control mostrado puede ser el control de

motores en la industria, de sistemas neumáticos e hidráulicos,

inmótica y domótica entre otros.

Cabe destacar que otro los puntos favorables de este

control es la capacidad de personalización de la aplicación

realizada para Android, con lo cual se ofrece un enfoque

totalmente profesional. Además de que se pueden realizar

redes de módulos Xbee según sea necesario.

IV. REFERENCIAS

[1] A. Hernández, G. Martínez, E. Salazar, “Instrumentación Virtual

Remota con tecnología CGI”, Memoria Técnica del V Congreso de

Innovación Tecnológica de Eléctrica y Electrónica. Ciudad Obregón,

Sonora, Octubre 19-21,2011.

[2] Brian W. Evans. “Arduino Programming Handbook: A Beginner's

Reference”, Editorial, USA, 2 edición, 2008.

[3] S. Jimenez, “¿Que es Xbee?”, Septiembre 2011. Disponible en:

http://www.tecnologicobj12.blogspot.mx/2011/09/que-es-xbee.html

[4] Kevin Purdy. “The complete Android Guide”, Editorial, USA, 1 ed.

334, 2009. Disponible en:

http://www.completeguides.net/01_The_Complete_Android_Guide.

[5] Bonifaz Kaufman, “Desing and Implementation of a Toolkit for the

Rapid Prototyping of a Mobile Ubiquitous Computing “. Master Thesis,

University of Klagenfurt, Klagenfurt, Austria, August 2010.

[6] ”Arduino + XBee - Primeros Pasos”, Disponible en:

http://www.hangar.org/webnou/wp-content/2012/01/arduino-xbee-

primeros-pasos.pdf

[7] G. Martínez, I. Cabral, “Creación de aplicaciones de comunicación BT

para Android”, Memoria Técnica SOMIXXVII Congreso de

Instrumentación Culiacán, Sinaloa, Octubre 2012.

V. BIOGRAFÍA

Gloria Mónica Martínez Aguilar nació un 18 de

Diciembre de 1981 en Torreón, Coahuila. Obtuvo el título de

Ingeniero Electrónico con especialidad en Instrumentación y

Control en el Instituto Tecnológico de la Laguna en el año

del 2005. Obtuvo el grado de Maestro en ciencias en el año

2008 en Ingeniería Electrónica en la especialidad de

Instrumentación y Control el Instituto Tecnológico de Chihuahua. Labora en

empresas de automatización y control como ingeniero de diseño y

automatización desde 2007, e imparte cátedra en la Universidad Tecnológica

de Torreón desde 2009 en las carreras de Mecatrónica, Procesos de

producción y Tecnologías de la Información y Comunicación. Actualmente es

profesor de tiempo completo en la universidad desarrollando investigaciones

en las áreas de control, automatización y TIC´s.

Eduardo Salazar Valle nació un 18 de Mayo de 1964 en

Torreón, Coahuila. Obtuvo el título de Ingeniero Industrial en

Electrónica en el Instituto Tecnológico de la Laguna en el año

del 2000. Titulo Especialidad Automatización de Procesos

Industriales en el año 2005 en Instituto Tecnológico de

Saltillo Estudios de maestría en el año 2007 en sistemas

Electrónica en el Instituto Tecnológico de estudios superiores

de Monterrey. Imparte cátedra en la Universidad Tecnológica de Torreón

desde 1999 en las carreras de Mecatrónica, Procesos de Producción y

Mantenimiento Industrial. Actualmente es profesor de tiempo completo en la

Universidad desarrollando investigaciones en las áreas de control y

automatización.

EL

IV. V. P

a

r

t

e

T

é

c

n

i

c

a

d

e

l

A

r

t

í

c

u

l

o