58980339 Teoria y Programacion Modulos XBEE

Embed Size (px)

Citation preview

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    COMUNICACIONES INALMBRICAS

    MODULOS DE RADIO FRECUENCIA VERSION OEM XBEE

    POR: Junior Figueroa Olmedo Pgina 1 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    1. INTRODUCCIN

    MaxStream, que ahora forma parte de Digi International, es una empresa lder mundial en el desarrollo de mdems de conexin a redes inalmbricas para dispositivos electrnicos. MaxStream dispone de mdulos de mdems inalmbricos, mdems por radio independientes, servicios de diseo de radiofrecuencia y el software correspondiente (Para obtener ms informacin sobre los productos y servicios, pngase en contacto con MaxStream en www.maxstream.net, [email protected]).

    Los mdulos XBee y XBee-PRO (fabricados por Maxstream), son los primeros productos resistentes de uso industrial con homologacin ZigBee, se basan en una plataforma compatible con ZigBee, y cuentan con un rango y una fiabilidad lderes en el sector. Conseguir la homologacin como producto ZigBee es todo un logro y sirve para que los consumidores, las empresas y los usuarios de aplicaciones industriales puedan comprar con toda tranquilidad productos homologados ZigBee porque estn garantizados para que funcionen perfectamente en red.

    Figura 1. Mdulo XBEE con homologacin ZigBee

    Los mdulos XBee y XBee-PRO OEM RF presentan una solucin excepcionalmente potente para los numerosos mercados que adoptan la conexin a redes inalmbricas para sus aplicaciones de comunicaciones de datos. La lnea de productos XBee se puede encontrar en diversas aplicaciones industriales y comerciales, como sensores remotos, control y manipulacin de robots, control de equipos y automatizacin.

    Si bien existen bastantes mdulos inalmbricos, estos son los que mantienen la relacin exacta entre precio y calidad, y debido a su pequeo tamao y fcil programacin (slo requiere una conexin serial) son ideales para cualquier proyecto.

    2. GENERALIDADES DE LOS MODULOS XBEE

    Los mdulos XBee son mdulos de radio frecuencia que trabajan en la banda de 2.4 GHz con protocolo de comunicacin 802.15.4 fabricados por Maxstream.

    Son utilizados en automatizacin de casas, sistemas de seguridad, monitoreo de sistemas remotos, aparatos domsticos, alarmas contra incendio, plantas tratadoras de agua, etc,etc.

    POR: Junior Figueroa Olmedo Pgina 2 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    2.1. Modelos, Funcionamiento, Software y Hardware.

    Figura 2. Mdulos RF XBEE

    La figura 2 muestra los mdulos XBEE, con alcance en interiores de hasta 30 mts y en exteriores el alcance es de hasta 100 mts, con antena dipolo; ah tambin se muestran los 3 diferentes tipos de XBEE.

    Dimensiones:Ancho: 24.38 mmLargo: 27.61 mm

    Alto de antena: 25 mm

    En la figura 3 se muestran los mdulos XBEE-PRO, con un alcance en interiores de hasta 100 mts y en exteriores el alcance es de hasta 1500 mts con antena dipolo, en la imagen se muestran los 3 diferentes tipos de XBEE PRO.

    Dimensiones:Ancho: 24.38 mmLargo: 32.94mm

    Alto de antena: 25 mm

    Figura 3. Mdulos RF XBEE-PRO

    Los mdulos tienen 6 convertidores anlogo-digital y 8 entradas digitales adems de Rx y Tx. Trabajan a 2.4 GHz y generan una red propia a la que puedes conectarte o desconectarte. Entre otras caractersticas a tener en cuenta hay que decir que son mdulos microprocesados con lo cual tienes solucionados los problemas de fallo de trama, ruidos, etc. Los mdulos, se comunican con un dispositivo RS232 a niveles TTL con lo cual la comunicacin necesita un adaptador intermedio en el caso de un PC, pero pueden conectarse directamente a una placa de desarrollo (ver ejemplos de placas en el apartado 3) como es Arduino.

    POR: Junior Figueroa Olmedo Pgina 3 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Los mdulos ofrecen una velocidad de comunicacin desde 1200 hasta 115.200 baudios pasando por todos los valores convencionales, tambin disponen de varias I/O que pueden ser configuradas para diferentes funciones.

    Los mdulos XBee pueden ser programados a travs de una hyperterminal y una interfase serial con un MAX3232 y una serie de comandos llamados AT. El fabricante de los mdulos tambin facilita al usuario un software de programacin llamado X-CTU y que puede ser descargado junto con la documentacin necesaria desde la pgina: www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=4&s=31.

    Existen dos tipos de interfases, serial y USB que pueden ser utilizadas para programar los mdulos XBee con un software propietario llamado X-CTU; con este software podemos definir de una forma rpida todos los parmetros que queramos modificar en nuestros mdulos.

    En la figura 4 se puede observar la ventana del software X-CTU, con el cual se programan los mdulos XBee y XBee PRO, basta con hacer click sobre cualquiera de los parmetros para introducir el valor deseado.

    Figura 4. Interfaz Grafica del X-CTU

    POR: Junior Figueroa Olmedo Pgina 4 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Una de las ventajas de utilizar estos mdulos es que podemos tener hasta 65000 combinaciones distintas de red y se pueden hacer redes de punto a punto y punto a multi-punto. El protocolo 802.15.4 pertenece a las redes PAN (Personal Area Network).

    Para utilizar los mdulos con cualquier microcontrolador que incorpore comunicacin serial, basta con configurar unos cuantos parmetros, lo cual los hace muy fcil de manejar. Al comprar los mdulos se te proporciona la informacin para configurarlos y conectarlos a tus microcontroladores.

    El fabricante de los mdulos XBee (Digi Internacional, www.digi.com) ofrece entre sus productos ciertos Kit de Desarrollo para realizar la interfaz con los mdulos. As tenemos el Kit de Desarrollo Profesional XBee, que incluye el hardware y el software necesarios para crear rpidamente la comunicacin inalmbrica para el intercambio de datos entre estos dispositivos (tambin estn disponibles otros Kit de Desarrollos: XBee y XBee-PRO Starter Kits, que contienen un menor nmero de mdulos y accesorios). En la figura 5 se muestra el Kit de Desarrollo, junto con las tarjetas de interfaz USB y serial.

    Figura 5. Kit de desarrollo del fabricante Digi Internacional

    El kit de desarrollo incluye lo siguiente:

    - 1 Tarjeta de Interfaz USB.

    - 1 Tarjeta de Interfaz Serial

    - 2 Mdulos XBee de alcance de hasta 100 mts.

    - 1 Cable USB.

    - 1 Cable Serial RS-232.

    - 1 Convertidor DB9 NULL MODEM.

    - Software X-CTU y Manuales.

    - Broche para pila de 9 volts.

    - Eliminador de Bateras con Adaptadores Universales (USA, Europa, etc )

    POR: Junior Figueroa Olmedo Pgina 5 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    El Kit de Desarrollo incluye una tarjeta de interfaz RS-232 y una tarjeta interfaz de USB. Ambas tarjetas proporcionan una conexin directa a muchos dispositivos seriales y, adems, facilitan el acceso a los registros del mdulo de RF. Con el Kit de Desarrollo es posible ver los datos que se estn mandando de un modulo a otro, de esta forma podemos monitorear de forma independiente nuestra comunicacin inalmbrica.

    Las tarjetas de interfaz de MaxStream proporcionan los medios para conectar el mdulo a cualquier nodo que tiene disponible un puerto RS-232 o USB. Dado que el mdulo requiere entradas de seales de voltajes TTL, una de las principales funciones de la tarjeta de interfaz es la de convertir seales entre niveles TTL y RS-232 y niveles USB.

    Para mayor informacin sobre el funcionamiento y forma de uso de las tarjetas de interfaz USB y serial, revisar el manual de usuario de los mdulos XBee/XBee-PRO, que puede ser descargado desde la pgina de Digi Internacional www.digi.com (paginas 61 hasta la 67).

    Existen dos formas de comunicacin (que son las ms utilizadas) de los mdulos XBEE:

    Una es el modo transparente en la cual se comporta como un "cable wireless" de forma que tu puerto serie puede ser transmitido como si de un cable se tratara. Esta es la forma sencilla donde puedes conectar dos dispositivos cuadrando su velocidad, es decir, si tu aplicacin trabaja a 19200 baudios debers programar esta velocidad a los XBee, para ello MaxStream pone a disposicin una herramienta software gratuita (X-CTU).

    La segunda forma es mas compleja, se trata de utilizar la API que incorpora el microcontrolador de que dispone cada modulo XBee. En esta modalidad puedes generar una red de mdulos XBee, puedes programar un XBee para que trabaje como repetidor de seal (hub) adems de otras funciones que permiten a los desarrolladores tener ventajas en los protocolos de comunicacin... Uno de ellos muy interesante es que el modulo que empleas como emisor/receptor te "dice" si el modulo al que quieres comunicar esta disponible, es decir, te devuelve una respuesta cada vez que intentas comunicar con otro modulo.

    Toda la comunicacin se hace por medio de comandos AT con lo que es necesario leerse bien el manual, por lo dems es mucho ms potente y fiable que muchos mdulos comerciales para comunicacin serie.

    2.2. Caractersticas mecnicas y distribucin de pines.

    La distribucin de los pines de los Mdulos de Radiofrecuencia XBee y XBee-PRO son compatibles entres s, tal y como se muestran en las siguientes imgenes.

    POR: Junior Figueroa Olmedo Pgina 6 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 7. Planos mecnicos de los mdulos de radiofrecuencia OEM XBee/XBee-PRO (las opciones de antenas no se muestran)

    En la tabla 1 se muestra la distribucin de los pines de los mdulos XBee y XBee PRO.

    POR: Junior Figueroa Olmedo Pgina 7 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    * Funcin no es compatible en el momento con esta versin

    Tabla1. Distribucin de pines tanto para los mdulos XBee/XBee-PRO

    Notas de Diseo:

    Conexiones mnimas: VCC, GND, DOUT y DIN.

    Conexiones mnimas para la actualizacin del firmware: VCC, GND, DIN, DOUT, RTS

    y DTR.

    La direccin de la seal es especificada con respecto al mdulo.

    El mdulo incluye una resistencia pull-up de 50 K, adjunta para RESET (activacin

    en bajo L).

    Varias de las entradas pull-ups pueden ser configuradas utilizando el comando PR.

    Los pines libres deben dejarse desconectados.

    2.3. Confusin Zigbee y protocolo 802.15.4 en Mdulos XBee

    Se ha prestado a confusin por parte de los usuarios, sobre el protocolo que soportan los mdulos XBEE. Por una parte mencionan el protocolo 802.15.4 y por otra el protocolo ZigBee. Para aclarar esto se debe indicar que los mdulos XBEE soportan el protocolo 802.15.4, mientras que los mdulos XBEE PRO soportan el protocolo ZigBee.

    La principal diferencia entre estos mdulos es:

    802.15.4 define:

    POR: Junior Figueroa Olmedo Pgina 8 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Capa fsica: tipo de modulacin y frecuencia (2.4 Ghz, 16-QAM, 915 Mhz y 868 Mhz DSSS-BPSK) y el formato del paquete.

    Control de acceso al medio: timing, asociacin con un nodo coordinador, direccionamiento, prevencin de colisiones, retransmisin, encriptacin, ruteo de 2 saltos a travs de un nodo coordinador, etc

    El protocolo ZigBee, construido sobre el protocolo 802.15.4, define:

    Capa de red:Estilo AODV, que permite mltiples saltos utilizando el ruteo por redes MESH.Asociacin a una red (no slo a un nodo coordinador como el caso de 802.15.4)Ms tipos de encriptacin y autentificacin.

    Capa de Aplicacin:Permite a los nodos exponer valores individuales, como sensores, switches o actuadores. Perfiles para varios tipos de dispositivos, etc

    En general los mdulos de la serie 2, y Znet 2.5 y los XBEE PRO permiten todas las ventajas del una red ZigBee. Ojala con esta explicacin se aclare esta situacin.

    3. PLACAS DE DESARROLLO COMPATIBLES CON LOS MODULOS XBEE

    En el apartado 2 se hizo referencia de las tarjetas de interfaz serie y USB suministradas por Digi Internacional que es la empresa fabricante de los mdulos XBee; ahora vamos a hablar de otras tarjetas de interfaz fabricadas por distintas empresas.

    3.1. Tarjeta De Desarrollo Para Mdulos XBee (ZigBee) Basicos y PRO

    POR: Junior Figueroa Olmedo Pgina 9 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 8. Vista superior y lateral de la tarjeta de desarrollo

    Esta tarjeta te permite poner a funcionar los mdulos XBee de inmediato. Solo conctalo a una fuente de datos seriales RS232 como tu PC y de inmediato comienza a transmitir y recibir informacin entre ellos.

    Esta diseado para que pueda emplear los mdulos XBee Bsicos OEM y los XBee PRO intercambindolos fcilmente por medio de la base especial para los mdulos, esta provisto de una interfaz serial completa DTS, RTS, TX, RX, etc, y una fuente regulada con proteccin de inversin de polaridad. Contiene adems una fuente regulada de 3VDC para la alimentacin y proteccin de los mdulos XBee.

    Tabla 2. Ficha tcnica de la tarjeta de desarrolloA continuacin se muestran ciertas aplicaciones desarrolladas con esta tarjeta de desarrollo y haciendo uso de los mdulos XBEE.

    POR: Junior Figueroa Olmedo Pgina 10 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 9. Control Remoto, Rpido y Fcil

    Figura 10. Enlace de datos con solo conectar

    POR: Junior Figueroa Olmedo Pgina 11 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 11. Enlace de datos con solo conectar

    3.2. Placa XBee de Arduino

    Figura 12. Placa XBee

    Esta es una placa para Arduino Diecimila USB que incorpora un mdulo inalmbrico XBee de MaxStream. Usa un protocolo modificado de ZigBee y permite establecer comunicaciones inalmbricas.

    sta placa encaja perfectamente en el Arduino Diecimila USB y se alimenta de ella.

    POR: Junior Figueroa Olmedo Pgina 12 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 13. Arduino Diecimila USB

    Se trata de una nueva placa desarrollada por M. Yarza, como parte del proceso de desarrollo realizado por la empresa Libelium de Zaragoza, Espaa, en estrecha colaboracin con Arduino.cc.

    Figura 14. Placa XBee sobre Arduino GN

    El blindaje (Arduino GN) permite fcilmente montar una placa XBee y todos los componentes para su creacin y funcionamiento. Cuando conectado sobre una placa Arduino GN sin el procesador, este actuar como un convertidor de USB a XBee convirtindose en una interfaz para todos los dispositivos XBee habilitados a un ordenador.

    Figura 15. Es posible adjuntar cualquier tipo de mdulos XBee

    3.3. SFE XBEE EXPLORER USB

    POR: Junior Figueroa Olmedo Pgina 13 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 16. Interfaz SFE XBEE Explorer USB

    Caractersticas:

    Convertidor de USB a Serie

    Compatible con XBee Serie 1, 2.5, Standard y Pro

    El SFE XBee Explorer USB es muy simple de utilizar. Esta unidad trabaja con todos los mdulos incluidos XBee las Series 1 y la Series 2.5, la versin estndar y Pro. Coloque el modulo XBee sobre la unidad del XBEE Explorador USB, conecte un cable mini USB, y usted tendr acceso directo a la programacin serial y a los pines en la unidad XBee.

    Esta unidad tambin permite la configuracin de los mdulos a travs del software Xbee X-CTU.

    3.4. Droids SAS XBee - DTE Serial Board (DB9)

    Figura 17. Interfaz Droids SAS XBee DTE

    La tarjeta de interfaz serial Droids SAS XBee DTE ha sido diseada para permitir una fcil y fiable conexin entre los mdulos Xbee y tus aplicaciones de Robtica. Los mdulos XBee y XBeePRO son totalmente compatibles, incluso la nueva Serie 2 XBee es compatible. La construccin slida y el regulador de tensin de alta potencia garantizan la mxima fiabilidad y el pleno rendimiento de los mdulos XBee. Dos tiles LED

    POR: Junior Figueroa Olmedo Pgina 14 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    permiten un control constante de la actividad de la tarjeta y una rpida solucin de problemas. Tiene una salida de 3.3V, 3 LEDs de estado.

    Caractersticas

    RSSI y LEDs asociados para supervisar la actividad del mdulo Xbee.

    Salida de 3.3V a los dispositivos externos (MCU's, tarjetas, etc)

    Un conector de 9 pines 2.54mm en la parte trasera para una fcil y rpida conexin

    Tamao compacto, solo unos pocos milmetros ms grande que un mdulo XBee Pro.

    NOTA: En el mercado existen muchas otras interfaces compatibles con los mdulos XBEE, el lector puede adquirir y hacer uso de cualquiera de ellas siempre y cuando comprenda su funcionamiento y el modo de manejarlas.

    3.5. Construccin de una Tarjeta de Interfaz Serial

    Para el desarrollo de los proyectos presentes en este documento, se ha hecho uso de la implementacin del circuito de un mdulo comercial (Convertidor RS232/Zigbee) que permite realizar de una forma sencilla y econmica comunicaciones Zigbee en tu ordenador a travs del puerto RS232. Est basado en el famoso mdulo XBee de la firma MAXSTREAM. Admite mdulos XBEE y XBEE-PRO. Para mayor informacin, visite la pgina http://www.ray-ie.com/webray_019.htm.

    El circuito se alimenta con una fuente externa de 5 a 12 voltios y tiene proteccin contra inversin de polaridad, adems su funcionamiento ha sido 100% comprobado. Aqu los elementos a emplear:

    Elementos:

    1 Regleta de Protoboard

    Conectores de alimentacin

    Una fuente variable de 5-15V DC

    1 Regulador de voltaje de 5V: L7805C

    1 Regulador de voltaje de 3.3V: LM1117T (u otro)

    1 Mdulo XBee sobre una PCB (hecha anteriormente), para comprobacin.

    4 LEDs (1 amarillo, 1 verde, 1 rojo, 1 azul)

    2 Capacitores de 10 f

    3 Capacitores de 0.1 f

    2 Resistencias de 120 ohm

    1 Conector DB9 macho, para placas

    POR: Junior Figueroa Olmedo Pgina 15 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    En la figura 18, se muestra la circuitera a emplear.

    Figura 18. Diseo de la tarjeta de interfaz: Convertidor RS232/Zigbee

    Luego de armar el circuito, conecte la fuente de alimentacin (5v a 12v). Cuando el modulo XBee ha sido energizado el LED ROJO debe encenderse indicando que la tarjeta esta funcionando correctamente, el LED VERDE debera permanecer encendido constante indicando que el mdulo XBee est encendido (ON) y no en modo de bajo consumo (sleep mode), el LED AMARILLO parpadea, excepto cuando esta en modo de comando AT. Por ltimo el LED AZUL se debe encender cuando se est enviando o recibiendo datos inalmbricamente.

    Figura 19. Circuito armado en el Protoboard

    Despus de haber comprobado el funcionamiento del circuito en el protoboard, realice la respectiva tarjeta de interfaz (ver figura 20) en baquela o fibra de vidrio, en el cual tiene que usar un cable serial hembra-hembra (ver figura 21) para poder conectar la tarjeta con un puerto serial Windows de la PC. Lo siguiente en hacer, es descargar los instaladores de X-CTU para Windows de MaxStream en este equipo, instalarlo, y poner en marcha el programa X-CTU.

    POR: Junior Figueroa Olmedo Pgina 16 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 20. Circuito implementado en baquela

    Figura 21. El primer cable se usa con el circuito armado en el protoboard y el segundo de ellos directamente con la tarjeta de interfaz Convertidor RS232/Zigbee

    Si su ordenador no cuenta con puerto serial y solo tiene puertos USB para comunicaciones seriales, no se preocupe en que no pueda utilizar la tarjeta RS232/Zigbee, puesto que en el mercado existen cables de interfaz USB-SERIAL, que usted puede adquirir y estn alrededor de unos $12 y hasta ms baratos. En la figura 22 se puede observar un de los tantos modelos que existen, y que tambin se utiliza en este documento.

    Figura 22. Cable de interfaz USB-SERIAL

    POR: Junior Figueroa Olmedo Pgina 17 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    4. CONSTRUCCIN DE UNA SIMPLE PLACA DE CIRCUITO IMPRESO PCB (PRINTED CIRCUIT BOARD) PARA MODULOS XBEE.

    Figura 23. Mdulos XBBE sobre placas PCB

    Debido a que los pines del Modulo XBee no son compatibles con el tamao de las separaciones de los agujeros de los protoboards ni con los zcalos para las placas, se hace indispensable crear una PCB que sirva como medio de comunicacin entre el protoboard y el modulo XBee, y mediante en empleo de esta realizar la circutera necesaria para poner a funcionar los mdulos. Esta placa no es necesaria si cuenta con alguna de las tarjetas o placas de interfaz mencionadas en el apartado 3.

    Las dimensiones de una PCB deben estar en proporcin a las dimensiones del modulo XBee (33.24mm x 24.38mm para un modulo XBee simple y 39.47mm x 24.38mm para el modulo XBee PRO); las dimensiones utilizadas para la construccin de la PCB se muestran mas adelante (usted puede variar en unos cuantos milmetros estas medidas siempre y cuando respete la dimensiones de los mdulos XBee).

    4.1. Partes y Elementos a Utilizar

    1 Baquelita o fibra de vidrio (el tamao depende de la cantidad de PCB a fabricar).

    1 modulo XBee para cada PCB.

    Respacks de espadines (10 espadines en cada uno).

    1 Papel de transferencia trmica Press-n-Peel (o papel de transferencia PCB)

    1 Funda de Cloruro Frrico.

    Impresora Laser.

    Plancha de vapor.

    1 Esponja de acero, de las utilizadas para lavar los platos (lustre, estrella, etc.).

    1 Cautn

    Entre otros que se van mencionando en cada paso

    4.2. Procedimiento

    POR: Junior Figueroa Olmedo Pgina 18 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Paso 1:

    Lo primero que se necesita para hacer la placa de circuito impreso es el dibujo de las pistas para los elementos, esto se consigue con la ayuda de un computador, y del software PROTEUS, o cualquier software de dibujo en el que usted pueda trazar las lneas y partes de circuito, tal y como se muestra a continuacin:

    Figura 24. Diseo en el software Proteus, junto con las medidas implementadas

    Note que el dibujo esta realizado un espejo, esto lo necesitamos para la transferencia trmica. En la figura 24 tambin se muestran en los extremos los pines del 1 al 20, correspondientes al modulo XBee; mientras que en el centro se ha empleado y escogido arbitrariamente uno de los CI integrados (dicho integrado debe contar con 20 pines) con los que cuenta PROTEUS, con el fin de fijar el tamao de separacin de los pines compatibles con los agujeros del protoboard. Se observa adems que cada pin del modulo esta conectado con cada pin del CI.

    De la figura 24 hay que eliminar las franjas del CI que se tomo como referencia (puesto que como se muestran los pines actualmente, se encuentran en cortocircuito), tal y como se muestra a continuacin:

    Figura 25. Diseo final en Proteus

    POR: Junior Figueroa Olmedo Pgina 19 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Paso 2:

    Figura 26. Nmero de circuitos en Proteus para imprimir

    Una vez que se tiene el diseo de la placa, se debe imprimirlo con una impresora lser o copiadora (que tengan los cartuchos toner de polvo en color negro), en un papel de transferencia trmica Press-n.Peel, que lo podemos conseguir en las tiendas electrnicas a un costo de ms o menos 2 USD cada hoja.

    Figura 27. Diseo impreso en papel de transferencia trmica

    Para nuestro caso en particular hemos impreso 3 filas de 5 dibujos en cada una, con lo que tenemos un total de 15 PCBs (en la figura 27 se muestran 18 PCBs, pero en realidad se fabricaron 15). El tamao de la placa debe ser proporcional a la cantidad de PCBs a fabricar, tal y como se puede apreciar en la grafica anterior.

    POR: Junior Figueroa Olmedo Pgina 20 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Paso 3:

    Bueno ahora se debe cortar la placa que puede se de Baquelita o de Fibra de vidrio (el tamao de pende de la cantidad de PCBs) utilizando una sierra o una caladora con sierra de metal (debido a que este posee dientes ms finos). Una vez cortada la placa, se debe limpiar las limallas de cobre que quedan en los filos de la placa, con una lija fina de metal (Nro. 150).

    Figura 28. Proceso para el corte de la placa

    Luego de esto se debe limpiar el lado del cobre donde se va a transferir las pistas con una esponja de acero, notarn que la lmina de cobre cambia de color, esto es porque se est limpiando el xido en la superficie y los rayones que pudiera tener.

    Figura 29. Proceso para limpiar los residuos presentes en la placa

    Paso 4:

    Ahora vamos a realizar la transferencia trmica propiamente dicha de las pistas sobre el lado de la lmina de cobre. Primero coloque el papel de transferencia trmica con el lado de la impresin sobre el lado del cobre, sin moverlo mucho introdzcalo de bajo de un trozo de tela (el uso de la tela puede ser omitida), todo esto sobre una mesa rgida y luego pase la plancha que debe estar al mximo de la temperatura, aplique presin con todo el peso del cuerpo por alrededor de 1 a 2 minutos, luego de esto retire e inmediatamente coloque la placa en otra parte de la mesa que se encuentre fra, con otro trapo aplique presin uniforme frotndolo de un lado a otro hasta que se enfri, con la finalidad de que toda la tinta (toner + barniz) se pegue a la lmina de cobre y as poder retirar el papel sin que se presente partes cortadas o faltantes.

    POR: Junior Figueroa Olmedo Pgina 21 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 30. Proceso para la transferencia trmica

    Paso 5:

    Una vez completado el paso anterior, procedemos a preparar la solucin cida, primero colocamos vaso de agua tibia en un recipiente de plstico, luego colocamos poco a poco si es posible con una cuchara de plstico, todo el contenido de la funda de cloruro frrico, utilizamos un palillo de pincho para revolver el lquido y as ayudar a disolver el cloruro frrico.

    Luego procedemos a introducir la placa que contiene los 15 dibujos en la solucin ya preparada, el tiempo de corrosin por ser la primera vez, puede variar entre 15 y 30 minutos. Tambin podemos ayudar a que el proceso sea ms rpido, moviendo el lquido de un lado a otro.

    Figura 31. Introduciendo la placa en la solucin cida

    Paso 6:

    Una vez que al cido termin de eliminar el cobre expuesto, retiramos la placa del cido y lo lavamos con abundante agua del grifo, las pistas en esa fase se ven de color negro, por tal razn es mejor limpiar con la misma esponja de acero y un poco de agua, el resultado de la limpieza no deja rastro de tinta y se ve muy ntido.

    Figura 32. Pistas finales impresas sobre la placa

    POR: Junior Figueroa Olmedo Pgina 22 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Luego procedemos a cortar cada uno de los dibujos con respecto a los bordes de los mismos y de esta manera obtener los 15 PCBs requeridos.

    Figura 33. Cortando cada uno de los PCB para cada mdulo XBEE

    Lo nico que hace falta para que las placas estn listas (sin los elementos soldados) es realizar los respectivos agujeros con una broca de 1 mm, lo ideal es disponer de un taladro miniatura, ya que estos son de fcil manipulacin

    Figura 34. Haciendo los agujeros en las PCB

    Paso 7:

    Ahora procederemos a soldar los elementos a las placas, mediante el uso del cautn y dems materiales requeridos. Primero soldamos los espadines 10 en cada lado de cada placa, tal y como se observa e las siguientes figuras:

    POR: Junior Figueroa Olmedo Pgina 23 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 35. Espadines soldados a cada lado de las PCBs

    Luego soldamos los pines del mdulo XBee a la placa PCB, como se muestra. Las letras serigrafiadas (impresas) en blanco deben mirar hacia arriba, lejos de la cabecera de la placa. Asegrese de dejar espacio suficiente para que la cabecera de la placa no toque la parte posterior del mdulo XBee (pues si se tocasen, esto provocara un cortocircuito). Una vez soldados todos los pines verificar continuidad.

    Figura 36. Soldando el mdulo XBEE sobre el PCB

    Por ltimo, para limpiar los residuos de la suelda (pasta) que se encuentra en las pistas de la placa, podemos utilizar un cepillo de dientes que ya no se utilice, introducimos las cerdas en un poco de thinner, y cepillamos cuidadosamente.

    POR: Junior Figueroa Olmedo Pgina 24 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 37. Mdulo XBEE sobre el PCB, diseo final, varias vistas.

    5. CIRCUITO BSICO PARA EL XBEE

    La figura 38 muestra las conexiones mnimas que necesita el mdulo Xbee para poder ser utilizado. Luego de esto, se debe configurar segn el modo de operacin adecuado para la aplicacin requerida por el usuario.

    Figura 38. Conexiones mnimas requeridas para el XBEE

    El mdulo requiere una alimentacin desde 2.8 a 3.4 V, la conexin a tierra y las lneas de transmisin de datos por medio del UART (TXD y RXD) para comunicarse con un microcontrolador, o directamente a un puerto serial utilizando algn conversor adecuado para los niveles de voltaje.

    Esta configuracin, no permite el uso de Control de Flujo (RTS & CTS), por lo que sta opcin debe estar desactivada en el mdulo Xbee. En caso de que se enve una gran cantidad de informacin, el buffer del mdulo se puede sobrepasar. Para evitar esto existen dos alternativas:

    bajar la tasa de transmisin

    activar el control de flujo

    POR: Junior Figueroa Olmedo Pgina 25 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    6. CONEXIN DE LOS MODULOS ZIGBEE CON MICROCONTROLADORES

    En las figuras 39 y 40 se muestran los diagramas electrnicos entre el microcontrolador y el mdulo XBEE. La conexin con EL mdulo XBee o XBee-PRO es idntica, el regulador IF33 (o tambin lo puede encontrar como LM1117T) se consigue fcilmente en el mercado. El divisor de voltaje a la salida del microcontrolador es totalmente necesario, ya que el nivel de tensin de entrada del modulo Zigbee no debe exceder los 3.3 voltios, es por eso que se conectan las resistencias en serie para obtener 2/3 del voltaje de salida (5/3*2)= 3.3 voltios. Si nuestro microcontrolador trabaja con niveles de tensin de 3.3 voltios como es el caso del Atmega8535l, no es necesario poner el divisor de voltaje, bastara con aplicar voltaje de 3.3 voltios a todo nuestro circuito.

    Figura 39. Conexin del mdulo XBEE (que hace de transmisor) con el microcontrolador

    Figura 40. Conexin del mdulo XBEE (que hace de receptor) con el microcontrolador

    POR: Junior Figueroa Olmedo Pgina 26 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    NOTA: Las conexiones anteriores son tiles para el caso en que se vaya a realizar una comunicacin inalmbrica simplex. Cuando se pretende realizar una comunicacin de tipo duplex, es necesario que los dos mdulos se encuentren conectados al microcontrolador segn la configuracin mostrada en la figura 39.

    7. MODOS DE OPERACIN

    Los mdulos Xbee, pueden operar en los siguientes 5 modos:

    Figura 41. Modos de operacin del mdulo XBEE

    7.1. Modo Recibir/Transmitir

    Se encuentra en estos modos cuando el mdulo recibe algn paquete RF a travs de la antena(modo Receive) o cuando se enva informacin serial al buffer del pin 3 (UART Data in) que luego ser transmitida (modo Transmit).

    La informacin transmitida puede ser Directa o Indirecta. En el modo directo la informacin se enva inmediatamente a la direccin de destino. En el modo Indirecto la informacin es retenida por el mdulo durante un perodo de tiempo y es enviada slo cuando la direccin de destino la solicita.

    Adems es posible enviar informacin por dos formas diferentes. Unicast y Broadcast. Por la primera, la comunicacin es desde un punto a otro, y es el nico modo que permite respuesta de quien recibe el paquete RF, es decir, quien recibe debe enviar un ACK (paquete llamado as, y que indica que recibi el paquete, el usuario no puede verlo, es interno de los mdulos) a la direccin de origen. Quien envi el paquete, espera

    POR: Junior Figueroa Olmedo Pgina 27 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    recibir un ACK, en caso de que no le llegue, reenviar el paquete hasta 3 veces o hasta que reciba el ACK. Despus de los 3 intentos se incrementa el registro de fallas ACK en uno. Para ver el conteo se utiliza el comando EA (ATEA en el Modo de Comandos ACK Failures), el cual se satura hasta 0xFFFF (65535 decimal). Para resetear el registro se debe ingresar ATEA0. En el modo Broadcast la comunicacin es entre un nodo y a todos los nodos de la red. En este modo, no hay confirmacin por ACK.

    7.2. Modo de Bajo Consumo (Sleep Mode)

    El modo de Bajo Consumo o modo Sleep, corresponde cuando el mdulo entra en un estado de bajo consumo de energa. Esto depende de la configuracin en la que se encuentra. Se debe indicar que el ahorro de energa depende enormemente del voltaje de alimentacin.

    Para entrar a este modo se debe configurar el comando SM (ATSM Sleep Mode). Si SM=4 o SM=5, el mdulo entra al modo SLEEP cuando transcurre un perodo dado por el comando ST (ATST-Time Before Sleeping-tiempo antes de dormir). Donde ST posee un rango entre 0 y 0xFFFF (x 1ms). Si SM=4, el mdem despertar cada cierto tiempo, dado por SP (ATSP Cyclic Sleep Period), cuyo rango es entre 0 y 0x68B0 (x10 ms). Cuando despierte buscar por datos entrantes desde un mdulo configurado como Coordinador (ver ms adelante), en caso de no haber nada, el mdem volver al modo SLEEP. Si SM=5, el mdulo realzar lo mismo que antes, pero despertar de acuerdo al estado del pin SLEEP_RQ (pin 9).

    Cuando el pin pase a LOW (el pin es disparado por deteccin de borde, no por nivel), despertar, buscar por datos entrantes, y si no hay nada volver a cero el timer del comando ST, por lo que slo volver a dormir cuando transcurra el perodo dado por ste. Mientras transcurra ese perodo, cualquier actividad en el pin SPEEL_RQ ser ignorada, hasta que vuelva al modo SLEEP. Si SM=1, el mdulo entrar al estado de hibernacin. En este estado, si el pin SLEEP_RQ est en HIGH, el mdulo cortar cualquier actividad entrante, ya sea de transmisin, recepcin o de asociacin (se ver ms adelante) y entrar al modo SLEEP, y no saldr de ah hasta que el pin SLEEP_RQ vuelva a estar en LOW. Mientras se encuentre en el estado de hibernacin, no responder a ninguna actividad serial ni a ningn paquete RF entrante, simplemente los desechar. En el modo hibernacin el sistema ahorra una gran cantidad de potencia. Si SM=2, el sistema se comporta igual que el modo de hibernacin, pero sin tanto ahorro de energa y adems despierta mucho ms rpido que el modo anterior.

    La siguiente tabla explica lo anterior:

    Tabla 3. Tabla de Modo Sleep y consumos de corriente

    7.3. Modo de Comando

    Este modo permite ingresar comandos AT al mdulo Xbee, para configurar, ajustar o modificar parmetros. Permite ajustar parmetros como la direccin propia o la de destino, as como su modo de operacin entre otras cosas. Para poder ingresar los comandos AT es necesario utilizar el Hyperterminal de Windows, el programa X-CTU o

    POR: Junior Figueroa Olmedo Pgina 28 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    algn microcontrolador que maneje UART y tenga los comandos guardados en memoria o los adquiera de alguna otra forma.

    Para ingresar a este modo se debe esperar un tiempo dado por el comando GT (Guard Time, por defecto ATGT=0x3E8 que equivalen a 1000ms) luego ingresar +++ y luego esperar otro tiempo GT. Como respuesta el mdulo entregar un OK. El mdulo Xbee viene por defecto con una velocidad de 9600bps. En caso de no poder ingresar al modo de comandos, es posible que sea debido a la diferencia de velocidades entre el mdulo y la interfaz que se comunica va serial.

    Figura 42. Ejemplo de Comando AT

    En la figura anterior se muestra la sintaxis de un comando AT. Luego de ingresar a este modo, se debe ingresar el comando deseado para ajustar los parmetros del mdulo Xbee. La lista de comandos se encuentra en las siguientes secciones.

    Por ejemplo si se desea modificar la direccin de origen del mdulo de 16-bit (con el comando MY), se debe ingresar:

    Figura 43. Ejemplo escritura de parmetros

    En el ejemplo anterior, la direccin asignada equivale a 0x3F4F. Se observa que primero se ingresa al modo de comandos AT, recibiendo un OK de respuesta. Luego se ingresa el comando ATMY3F4F y se presiona ENTER o carcter (Carrier Return y LineFeed) si se maneja desde un microcontrolador. Con ello se recibe un OK como respuesta.

    Para salir del modo de Comandos se ingresa ATCN y se presiona ENTER. En caso de que no se ingrese ningn comando AT vlido durante el tiempo determinado por CT (Command Mode Timeout), el mdulo se saldr automticamente del modo de comandos. Para que los cambios realizados tengan efecto se debe ingresar el comando ATCN (sale del modo de comandos) o ATAC (aplica los cambios inmediatamente). Con el comando ATWR, se guardan los cambios en la memoria no voltil del mdulo, pero slo tendrn efecto una vez ingresado el comando AC o CN.

    POR: Junior Figueroa Olmedo Pgina 29 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Para consultar el valor asignado a un comando, ste de debe ingresar directamente sin ningn parmetro. En el ejemplo anterior se ingresara ATMY. La siguiente figura muestra lo anterior:

    Figura 44. Ejemplo lectura de parmetros

    Se observa que se ingresa ATMY, donde el que mdulo responde con un 3F4F, que es la direccin que tiene configurada, y luego con un OK. Otra forma de configurar el mdulo por comandos AT, es ingresando varios comandos separados por coma (,). Esto se muestra a continuacin de las dos formas:

    Figura 45. Forma normal de escribir

    Se observa que luego de ingresar al modo de Comandos (+++), se pregunta por la direccin de destino (ATDL), para lo cual se tiene como respuesta la direccin 0xBB3F. Con ello se modifica esta direccin por 0xCC53 ingresando ATDLCC53, obteniendo un OK como respuesta. Se confirma el correcto ajuste preguntando nuevamente y luego se guarda la configuracin en la memoria no voltil del mdulo usando ATWR, para lo cual se vuelve a obtener un OK. Posteriormente se saldr del modo de comando utilizando

    POR: Junior Figueroa Olmedo Pgina 30 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    ATCN obteniendo otro OK. Otra forma de hacer lo mismo se muestra en la siguiente figura:

    Figura 46. Forma abreviada para varios comandos al mismo tiempo

    Se observa que luego de ingresar al modo de comandos, se ingresa ATDLCC35, WR, CN que indica que se ingresarn tres comandos en uno, y stos sern ATDLCC35, ATWR y ATCN. Luego se obtendr la respuesta para cada comando en el mismo orden en que fueron ingresados.

    Adems de los modos anteriores, existen otros modos referentes a lo que son la forma de transmitir la informacin. Estos modos son: Modo Transparente y Modo API.

    7.4. Modo Transparente

    En este modo todo lo que ingresa por el pin 3 (Data in), es guardado en el buffer de entrada y luego transmitido y todo lo que ingresa como paquete RF, es guardado en el buffer de salida y luego enviado por el pin 2 (Data out), ver figura 47. El modo Transparente viene por defecto en los mdulos Xbee.

    Figura 47. Correspondencia de Buffer

    POR: Junior Figueroa Olmedo Pgina 31 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Este modo est destinado principalmente a la comunicacin punto a punto, donde no es necesario ningn tipo de control. Tambin se usa para reemplazar alguna conexin serial por cable, ya que es la configuracin ms sencilla posible y no requiere una mayor configuracin.

    En este modo, la informacin es recibida por el pin 3 del mdulo Xbee, y guardada en el buffer de entrada. Dependiendo de cmo se configure el comando RO, se puede transmitir la informacin apenas llegue un carcter (RO=0) o despus de un tiempo dado sin recibir ningn carcter serial por el pin 3. En ese momento, se toma lo que se tenga en el buffer de entrada, se empaqueta, es decir, se integra a un paquete RF, y se transmite. Otra condicin que puede cumplirse para la transmisin es cuando el buffer de entrada se llena, esto es, ms de 100 bytes de informacin.

    7.5. Modo de operacin API

    Este modo es ms complejo, pero permite el uso de frames con cabeceras que aseguran la transmisin de los datos, al estilo TCP. Extiende el nivel en el cual la aplicacin del cliente, puede interactuar con las capacidades de red del mdulo.

    Cuando el mdulo Xbee se encuentra en este modo, toda la informacin que entra y sale, es empaquetada en frames, que definen operaciones y eventos dentro del mdulo.

    As, un frame de Transmisin de Informacin (informacin recibida por el pin 3 o DIN) incluye:

    Frame de informacin RF transmitida. Frame de comandos (equivalente a comandos AT).

    Mientras que un Frame de Recepcin de Informacin incluye:

    Frame de informacin RF recibida. Comando de respuesta. Notificaciones de eventos como Reset, Disassociate, etc.

    Esta API, provee alternativas para la configuracin del mdulo y ruteo de la informacin en la capa de aplicacin del cliente. Un cliente puede enviar informacin al mdulo Xbee. Estos datos sern contenidos en un frame cuya cabecera tendr informacin til referente el mdulo.

    Esta informacin adems se podr configurar, esto es, en vez de estar usando el modo de comandos para modificar las direcciones, la API lo realiza automticamente. El mdulo as enviar paquetes de datos contenidos en frames a otros mdulos de destino, con informacin a sus respectivas aplicaciones, conteniendo paquetes de estado, as como el origen, RSSI (potencia de la seal de recepcin) e informacin de la carga til de los paquetes recibidos.

    Entre las opciones que permite la API, se tienen:

    Transmitir informacin a mltiples destinatarios, sin entrar al modo de Comandos. Recibir estado de xito/falla de cada paquete RF transmitido. Identificar la direccin de origen de cada paquete recibido.

    7.6. Modo IDLE

    Cuando el mdulo no se est en ninguno de los otros modos, se encuentra en ste. Es decir, si no est ni transmitiendo ni recibiendo, ni ahorrando energa ni en el modo de comandos, entonces se dice que se encuentra en un estado al que se le llama IDLE.

    POR: Junior Figueroa Olmedo Pgina 32 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    8. CONFIGURACIN DEL MDULO XBEE

    En este apartado se explicar cmo configurar los mdulos para los distintos tipos de redes que soporta Xbee. Adems se mostrarn algunos ejemplos de topologas de redes.Para que los cambios realizados tengan efecto se debe ingresar ATCN (sale del modo de comandos) o ATAC (aplica los cambios inmediatamente).

    8.1. Direccionamiento de los mdulos

    Los mdulos permiten 2 tipos de direccionamiento. La de 16 bit y la de 64 bits. La principal diferencia es que en la de 64 bit, es posible obtener una mayor cantidad de direcciones y por lo tanto, una mayor cantidad de nodos o equipos funcionando en la misma red. Son a travs de estas direcciones que los mdulos se comunican entre s.

    La direccin de origen de 16 bits del mdulo se define arbitrariamente con el comandoMY (ATMY 16 bit Source Address). La de destino con los comandos DL (ATDL Destination Address Low) y DH (ATDH - Destination Address High).

    8.1.1. Direccionamiento de 16 bit

    El comando MY, define un nmero de 16 bit como direccin del mdulo dentro de la red. El rango se encuentra entre 0x0 y 0xFFFE (la direccin 0xFFFF y 0xFFFE son para habilitar la direccin de 64-bit, por lo que si se desea utilizar direccionamiento de 16 bits, estos valores no deben ser usados). Para definirla se ingresa ATMY y el nmero en formato hexadecimal, pero sin el 0x. Por ejemplo si a un mdulo se le quiere asignar la direccin 0x3BF1 (15345 en decimal), entonces se debe ingresar el comando ATMY3BF1.

    El comando DL, permite definir un nmero de 16 bit como direccin del mdulo de destino dentro de la red al cual se va a realizar la comunicacin. El rango debe estar entre 0x0 y 0xFFFE (las direcciones 0xFFFE y 0xFFFF se utilizan para direccionamiento de 64 bits).

    As para habilitar el direccionamiento de 16 bit, se debe utilizar una direccin menor a 0xFFFE con el comando MY, de igual modo para DL y se debe dejar en cero el comando DH=0 (ATDH0). No se permite usar la direccin 0xFFFE ni 0xFFFE para el direccionamiento de 16 bits.

    8.1.2. Direccionamiento de 64 bits

    El nmero 0xFFFF y 0xFFFE del comando MY, se usa cuando se desea desactivar el direccionamiento de 16 bit, y se habilita el uso de la direccin de 64 bit. Con este direccionamiento ya no es posible definir la direccin de origen del mdulo, ya que sta se asigna automticamente. En este caso, la direccin del mdulo corresponde a su nmero serial, que viene de fbrica y el cual es imposible de cambiar. Este nmero se encuentra guardado en dos variables de 32 bit cada una (SL y SH) y es nico. SL lee los 32 bit menos significativos del nmero serial y SH los 32 ms significativos.

    Cuando se utiliza direccionamiento de 64 bit, para asignar una direccin de destino, se utilizan los comandos DL y DH. stos son de 32 bit cada uno (para el direccionamiento de 16 bit, DL se maneja como uno de 16, mientras que DH se mantiene en cero) y juntos (DL+DH) forman el nmero de 64 bit que debe corresponder con el nmero serial de otro mdulo formado por SL+SH. As para algn dato, DL debe ser igual a SL y DH debe ser igual a SH, donde SL+SH corresponden al nmero serial de un mdulo destino configurado para direccionamiento de 64 bits.

    POR: Junior Figueroa Olmedo Pgina 33 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Para el direccionamiento de 64 bit, se debe dejar MY como 0xFFFF (ATMYFFFF) o0xFFFE (ATMYFFFE) y elegir una direccin de destino usando DL+DH, que debe corresponder a una direccin de 64 bit de otro mdulo, indicando su nmero serial dado por SL+SH. Para consultar este nmero se debe ingresar ATSL (32 bit menos significativos) y luego ATSH (32 bit ms significativos), entregando como respuesta los nmeros seriales en formato hexadecimal.

    8.2. Modo de Conexin Transparente

    Esta es la conexin que viene por defecto y es la forma ms sencilla de configurar el mdem. Bsicamente todo lo que pasa por el puerto UART (DIN, pin 3), es enviado al mdulo deseado, y lo recibido en el mdulo, es enviado devuelta por el mismo puerto UART (DOUT, pin2).

    Existen bsicamente 4 tipos de conexin transparente. La diferencia principal radica en el nmero de nodos o puntos de acceso, y la forma en que stos interactan entre s.

    8.2.1. Punto a Punto

    Es la conexin ideal para reemplazar comunicacin serial por un cable. Slo se debe configurar la direccin. Para ello se utilizan los comandos MY y el DL. La idea, es definir arbitrariamente una direccin para un mdulo, usando el comando MY, el cual se va a comunicar con otro que tiene la direccin DL, tambin definida arbitrariamente. Con esto cada mdulo define su direccin con MY, y escribe la direccin del mdulo al cual se desea conectar usando DL.

    En este modo, el mdulo receptor del mensaje enva un paquete al mdulo de origen llamado ACK (viene de Acknowledgment) que indica que el mensaje se recibi correctamente.

    En la siguiente figura se muestra un pequeo ejemplo donde las direcciones se eligieron arbitrariamente:

    Figura 48. Configuracin modulo 1

    Se observa que en el mdulo 1, se ajust la direccin de origen como 0x3BA2 (ATMY3BA2), mientras que la direccin de destino se asign como 0xCC11 (ATDLCC11) que corresponde al mdulo 2. En el otro mdulo se observa lo siguiente:

    POR: Junior Figueroa Olmedo Pgina 34 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 49. Configuracin modulo 2

    En este mdulo se asign como direccin de origen 0xCC11 (ATMYCC11) y como direccin de destino 0x3BA2 (ATDL3BA2) que corresponde al mdulo 1. La siguiente figura muestra un ejemplo grfico de lo anterior.

    Figura 50. Ejemplo direccionamiento 16 y 64 bit

    En la figura 50 se muestra que la primera conexin es una punto a punto utilizando direccionamiento de 16 bit, mientras que la segunda utiliza direccionamiento de 64 bits. Una vez configurado, el mdem se encuentra listo para funcionar. As todo lo que se transmite por el pin DIN de un mdulo, es recibido por el pin DOUT del otro. Para que el modo Punto a Punto funcione, los mdulos deben pertenecer a la misma PAN ID y al mismo canal. Ms adelante se explica cmo configurar la PAN ID y el Canal.

    POR: Junior Figueroa Olmedo Pgina 35 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    8.2.2. Punto a Multipunto

    Esta conexin, permite prestaciones extras. Se diferencia del Broadcast, en que permite transmitir informacin, desde la entrada serial de un mdulo (DIN, pin 3) a uno o varios mdulos conectados a la misma red de manera ms controlada, ya que se necesitan las direcciones de los otros mdulos, por lo que existe mayor seguridad. Para esto se necesitan dos comandos ms aparte de MY y DL. Se utilizar el direccionamiento de 16 bits.

    El primer comando es el ID de la PAN (Personal Area Network- Red de rea Personal). Todos los mdulos que tengan idntico PAN ID, pertenecern a la misma red. El comando para configurar este valor es ID, es decir, ATID, y su rango va entre 0x0 y 0xFFFF. Por ejemplo si queremos ajustar el PAN ID como 0x3332, se debe ingresar ATID3332. Este parmetro tambin es arbitrario, al igual que MY y DL.

    El otro comando corresponde al canal por el cual se va a comunicar. Segn la figura 51, se disponen de 16 canales segn el protocolo IEEE 802.15.4. Este estndar indica que entre cada canal, deben existir 5 MHz de diferencia, partiendo de la frecuencia base 2.405 GHz, se llegan hasta los 2.480 GHz.

    Figura 51. Canales disponibles para el protocolo IEEE 802.15.4

    Se observa que hay 16 canales disponibles, sin embargo, los valores se asignan desde el 11 hasta el 26. Para calcular la frecuencia central se utiliza la siguiente frmula:

    Canal = 2.405 + (CH 11)0.005 [GHz]

    Donde CH equivale al nmero del canal entre 11 y 26. As para cambiar de canal se utiliza el comando CH con el nmero de canal en formato hexadecimal. Es decir, si se desea ocupar el canal 15 (0x10), se ingresa ATCH10. La tabla 4 muestra la frecuencia central de cada canal, as como su lmite inferior y superior.

    La eleccin del canal debe ser cuidadosa, ya que otras tecnologas como WI-FI o Bluetooth utilizan el mismo espectro de frecuencias, por lo que se podra producir interferencia.

    POR: Junior Figueroa Olmedo Pgina 36 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Tabla 4. Frecuencia de Canales y su respectivo Comando AT

    Con todo lo anterior, es posible configurar una PAN y hacer una conexin punto a multipunto. La red se vera como:

    Figura 52. Configuracin punto-a-multipunto

    POR: Junior Figueroa Olmedo Pgina 37 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    As en cada nodo se configura una direccin MY distinta, pero utilizando el mismo canal y el mismo PAN ID, que en la figura corresponden al canal 15 (0x10) y al ID 0x3332 de la PAN.

    Para que cada mdulo reciba la informacin, debe ser estrictamente necesario que tengan tanto el mismo canal, como el mismo PAN ID. Incluso si se trabaja en Broadcast o punto a punto los mdulos deben coincidir en ello. Los mdulos vienen por defecto configurados con el canal 0x0C y el PAN ID 0x3332 por defecto.

    Esta configuracin, permite enviar informacin ms controlada, ya que es necesario pertenecer tanto al mismo canal, como a la misma red. Adems para enviar informacin se debe ingresar la direccin del mdulo de destino, por lo que es necesario el conocimiento completo de la red. En los mdulos ms avanzados, como Xbee PRO, el reconocimiento de la red se realiza automticamente.

    8.2.3 Broadcast

    Esta configuracin permite el envo de informacin desde un nodo a varios nodos en una misma red PAN. La informacin recibida es la misma para todos los nodos. Para que un mdulo entregue datos a todos los nodos, es necesario ajustarlo con la direccin de Broadcast. Cualquier mdulo que reciba un paquete con una direccin de destino de Broadcast ser aceptado. La direccin de Broadcast es:

    DL=0x0000FFFF

    DH=0x00000000

    Esta direccin puede ser configurada en todos los nodos de la red, ya sea que estn en direccionamiento de 16 o 64 bits. As se puede ingresar ATDH0 y ATDL0000FFFF en todos los mdulos para que el modo broadcast est habilitado. Para que este modo funcione, los mdulos deben pertenecer a la misma PAN ID y al mismo canal. La figura 53 muestra una red de Broadcast en cada nodo:

    Figura 53. Red de Broadcast

    POR: Junior Figueroa Olmedo Pgina 38 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Se observa en la figura 53 la configuracin de Broadcast. Si se enva algn dato por el mdulo 0x0001, la informacin enviada ser recibida por igual en el resto de los mdulos(0x0002, 0x0003 y 0x0004). Del mismo modo si se enva algn dato por otro mdulo, por ejemplo por el 0x0004, este dato le llegar al resto, es decir, al 0x0001, 0x0002 y al 0x0003. Cabe mencionar que este tipo de red o de envo de datos, no entrega respuesta de recibo o ACK, por lo que no es posible saber si el paquete fue entregado correctamente o si es que lleg.

    Si se ajusta la direccin PAN ID del mdulo como ID=0xFFFF, se produce Broadcast a todas las redes PAN. Esto es, los datos son transmitidos a las distintas redes PAN, pero no se confirma la entrega de stos (no se recibe ACK). Si se ingresa ID=0xFFFF y adems DL=0xFFFF se realiza doble broadcast, es decir, adems de transmitirse los datos a todas las redes PAN, el mensaje es transmitido a todos los mdulos de cada una de ellas. Si se ingresa ID=0xFFFF y DL=0xAAAA (direccin arbitraria), los datos son transmitidos a todos los mdulos que posean la direccin AAAA, pero que no necesariamente se encuentren en la misma red PAN.

    NOTA: Por el momento, hasta el apartado 8.2.3 vamos a llegar explicando acerca de las configuraciones ms conocidas y utilizadas por los mdulos XBEE. Ahora nos dedicaremos a programar los mdulos con los conocimientos hasta ahora adquiridos, y a realizar algunos ejemplos prcticos. Ms adelante se retomar el tema de las configuraciones faltantes.

    9. MANEJO Y FUNCIONAMIENTO DEL SOFTWARE X-CTU

    Si bien es cierto que es posible utilizar Hyperteminal de Windows para configurar un mdulo Xbee, existe un programa llamado X-CTU, el cual permite realizar estas operaciones de manera ms natural, fcil y rpida.

    El ejecutable se puede encontrar en la pgina oficial de Xbee (www.digi.com). Una vez instalado correctamente el software, este puede ser accedido haciendo clic sobre el icono que se encuentra en el escritorio o desde el men de la pestaa Inicio, ver figura 54.

    Figura 54. Corriendo X-CTU desde el men Inicio

    POR: Junior Figueroa Olmedo Pgina 39 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Al correr el programa, t podrs observar cuatro pestaas que conforman toda ventana del software X-CTU (ver figura 55). Cada una de esas pestaas tiene una funcin diferente, que se explicar a continuacin.

    Figura 55. Ventana que se abre tras hacer clic sobre el icono X-CTU

    PC Settings: Permite al usuario seleccionar el puerto COM y configurar ese puerto para adaptarse a la configuracin realizada sobre el mdulo XBEE.

    Range Test: Permite a un cliente para realizar una serie de pruebas entre dos mdulos.

    Terminal: Permite acceder o no a los puertos COM del computador, mediante un programa de emulacin. Esta pestaa tambin permite la posibilidad de acceder al firmware de los mdulos utilizando comandos AT.

    Modem Configuration: Permite la posibilidad de programar las configuraciones del firmware de los mdulos a travs de una interfaz grfica de usuario. Esta pestaa tambin permite a los clientes la posibilidad de cambiar las versiones de firmware.

    A continuacin se va a profundizar cada una de estas pestaas.

    POR: Junior Figueroa Olmedo Pgina 40 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    9.1. Pestaa PC Settings

    Cuando el programa se inicia, por defecto, la pestaa seleccionada es la "PC Settings". La pestaa PC Settings se divide en tres reas bsicas: Com Port Setup (configuracin del puerto COM), Host Setup (configuracin del Host), y User Com Ports (usuario de los puertos COM).

    9.1.1. COM Port Setup (Configuracin del Puerto COM)

    La pestaa PC Settings permite al usuario seleccionar un puerto COM y configurar dicho puerto una vez seleccionado y accedido. Algunas de esas configuraciones son:

    Baud Rate (Velocidad de Transmisin): Estndar y no estndar

    Flow Control (Control de Flujo): Hardware, Software (Xon/Xoff), None

    Data bits (Bit de Datos): 4, 5, 6, 7, and 8 data bits

    Parity (Paridad): None, Odd, Even, Mark and Space

    Stop bit (Bit de Parada): 1, 1.5, y 2

    Para cambiar cualquiera de las opciones anteriores, seleccione el men desplegable de la izquierda del valor y seleccionar la opcin deseada. Para introducir una velocidad de transmisin no estndar, escriba la velocidad de transmisin a la izquierda del recuadro correspondiente a la etiqueta Baud Rate.

    El botn Test/Query (Prueba/Consulta) se utiliza para probar el puerto COM seleccionado y las configuraciones de la PC. Si las configuraciones y el puerto COM son correctos, usted recibir una respuesta similar a la que se muestra en la Figura 56.

    Figura 56. Ventana que aparece si las configuraciones del puerto estn correctas

    9.1.2. Host Setup (Configuracin del Host)

    La pestaa Host Setup permite al usuario configurar la forma en que el programa X-CTU va hacer interfaz con el firmware del mdulo XBEE. Esto incluye determinar si ser la API o el modo de comando AT que se utilizar para acceder al firmware de los mdulos, as como el carcter de modo comando adecuado y la secuencia.

    Por defecto, las configuraciones del Host son los siguientes:

    API mode (Modo API): not enabled (Not checked)

    Command mode Character (Caracter de Modo Comando): + (ACSII) 2B (Hex)

    POR: Junior Figueroa Olmedo Pgina 41 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Before Guard Time: 1000 (1 Sec)

    After Guard Time: 1000 (1 Sec)

    Este es el valor por defecto de nuestros mdulos XBEE. Si este no es el valor de los comandos AT, BT, o GT del mdulo conectado, ingrese en el valor respectivo aqu.

    9.1.3. User COM Ports (Usuarios de los Puertos COM)

    La opcin User COM Ports permite al usuario "Aadir" o "Borrar" un usuario creado puerto COM. Esto es slo para uso temporal. Una vez que el programa se ha cerrado, el usuario creado puerto COM desaparecer y ya no ser accesible para el programa.

    9.2. Pestaa Range Test

    En la pestaa Range Test (ver figura 57), es posible enviar una cadena de datos de cualquier tipo para probar el rango de alcance de la seal. Esto genera automticamente datos y los enva por el mdulo, de tal forma que permite verificar cuales datos llegan buenos y cuales no y a partir de esa estadstica determinar el rango o alcance de la seal.

    POR: Junior Figueroa Olmedo Pgina 42 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 57. Pestaa Range Test

    Figura 58. Realizando un Range Test entre dos mdulos XBEE

    9.2.1. Paquete de Datos y Tamao

    Por defecto, el tamao del paquete de dato enviado es de 32 bytes. Este paquete de datos especificado puede ser ajustado ya sea en el tamao o el texto enviado

    Para modificar el tamao del paquete enviado, cambie el valor en la casilla que se encuentra a la lado del botn "Create Data" y haga clic en "Create Data" (vase la figura 59). Si desea modificar los datos enviados, elimine el texto que se encuentra en la ventana transmitir y escriba su texto deseado (vase la figura 59). Para comenzar hacer el Range Test de clic en el botn Start.

    Al modificar el texto, el tamao del paquete de datos, el retardo de paquetes y el tiempo de recibir los datos, el usuario ser capaz de simular una amplia gama de escenarios.

    POR: Junior Figueroa Olmedo Pgina 43 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 59. Modificando el tamao del paquete y los datos enviados.

    POR: Junior Figueroa Olmedo Pgina 44 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 60. Realizando un Range Test entre dos mdulos XBEE, con los nuevos parmetros9.2.2. RSSI

    La opcin RSSI del X-CTU permite al usuario ver el RSSI (Received Signal Strength - Indicador de Seal Recibida) de un paquete recibido cuando se realizan una serie de pruebas.

    POR: Junior Figueroa Olmedo Pgina 45 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 60. Realizando un Range Test entre dos mdulos XBEE, con la opcin RSSI habilitada

    9.2.3. Funcin API

    El X-CTU tambin permite al usuario probar la funcin API de un mdulo XBEE durante un Range Test (una serie de pruebas).

    Para llevar a cabo un Range Test con la funcin API del mdulo, siga los pasos que se indican a continuacin:

    1. Configure el mdulo XBEE base con la opcin API habilitada y una nica direccin de origen de 16 bits o 64 bits.

    2. Configure el mdulo XBEE remoto con una nica direccin de origen y establezca la direccin de destino que debe ser igual a la direccin de origen del mdulo XBEE base (ms adelante cuando se haga referencia a la pestaa Modem Configuration se explicar como configurar la direccin de origen y destino).

    3. Habilitar la opcin API del X-CTU, que se encuentra en la pestaa PC Settings (ver figura 61) y conectar el mdulo XBEE base a la PC.

    POR: Junior Figueroa Olmedo Pgina 46 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    4. Conecte el mdulo XBEE remoto con el circuito de acople necesario (ver apartado 6) y colquelo a una distancia apartada.

    5. Introduzca cualquiera de los 16 bits o 64 bits de la direccin destino del mdulo XBEE remoto dentro de la casilla correspondiente a Destination Address en la pestaa Range Test (vase la figura 62).

    6. Cree un paquete de datos de su eleccin escribiendo en la casilla correspondiente a la transmisin (ver figura 62).

    7. Para iniciar un Range Test, haga clic en Stara (ver figura 62).

    Usted notar algunos mensajes de fallas de TX, Purge, CCA, y ACK, mientras que el Range Test se lleva a cabo. Para detener un Range Test, haga clic en el botn Stop.

    Figura 61. Habilitando la opcin API en la Pestaa PC Settings

    POR: Junior Figueroa Olmedo Pgina 47 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 62. Configuracin de un Range Test en modo API

    9.3. Pestaa Terminal

    La pestaa Terminal tiene tres funciones bsicas:

    Terminal Emulador

    Capacidad para enviar y recibir datos predefinidos (Assemble packet)

    Capacidad para enviar y recibir datos en formatos hexadecimal y ASCII (Show/

    Hide hex)

    9.3.1. El espacio principal de la ventana Terminal

    La porcin en blanco de esta pestaa es donde la mayora de las comunicaciones de informacin se producirn, mientras el X-CTU sea usado como un terminal emulador. El texto en azul es lo que se ha escrito y ser enviado hacia el mdulo XBEE mediante el puerto serial, mientras que el texto en rojo es la entrada de datos (respuesta) desde el mdulo XBEE mediante el puerto serial (ver figura 63).

    POR: Junior Figueroa Olmedo Pgina 48 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 63. Algunos parmetros enviados y recibidos por el mdulo XBEE, utilizando la ventana principal de la pestaa Terminal

    9.3.2. Assemble Packet

    La opcin Assemble Packet que se encuentra en la pestaa Terminal est diseada para permitir al usuario ensamblar un paquete de datos en cualquiera de los dos caracteres ASCII o hexadecimal. Esto se logra mediante la seleccin de la ventana Assemble Packet y eligiendo ya sea en ASCII (por defecto) o hexadecimal. Una vez seleccionado, el paquete de datos, es ensamblado escribiendo los caracteres deseados como se ilustra en la figura 64 y haciendo clic en el botn Send Data.

    Figura 64. Utilizando la opcin Assemble Packet, para enviar un paquete de datos tipo ASCII

    POR: Junior Figueroa Olmedo Pgina 49 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Los indicadores de Line Status que se observan en la figura 63, muestran los estados de las lineas del control de flujo del hardware RS-232. El color verde indica que la lnea esta afirmada mientras que el color negro indica por afirmar.

    La opcin Break (ver figura 63) es para realizar el salto de lnea en serie. Esto puede ser logrado chequeando o validando la opcin Break. Validando el Break pondr la lnea DI en alto y evitar que los datos se enven hacia el mdulo XBEE.

    9.4. Pestaa Modem Configuration

    La pestaa Modem Configuration tiene cuatro funciones bsicas:

    1. Proveer una interfaz grfica de usuario con el firmware del mdulo XBEE.

    2. Leer y escribir firmware al microcontrolador interno del XBEE.

    3. Descargar archivos de actualizacin del firmware, ya sea desde el Internet o desde un archivo comprimido.

    4. Guardar o leer el perfil de un mdem

    POR: Junior Figueroa Olmedo Pgina 50 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 65. Ventana principal de la pestaa Modem Configuration9.4.1. Leyendo el firmware del XBEE

    Para leer el firmware del mdulo XBEE, siga los pasos que se indican a continuacin:

    1. Conecte el mdulo XBEE a la tarjeta de interfaz y conctela al puerto correspondiente de la PC (por ejemplo, USB, RS232, Ethernet, etc.)

    2. Establezca en la pestaa PC Settings (vase la figura 55) las configuraciones por defecto del mdulo XBEE (o establecer los parmetros hechos al mdulo en la ltima configuracin).

    3. En la pestaa Modem Configuration, seleccione "Read" que se encuentra en la etiqueta Modem Parameters and Firmware (vase la figura 66).

    Figura 66. Una vez que se ha ledo el Firmware del mdulo XBEE

    9.4.2. Haciendo cambios al Firmware del XBEE

    Una vez que se ha ledo el firmware, los ajustes de configuracin se muestran en tres colores (ver Figura 66):

    POR: Junior Figueroa Olmedo Pgina 51 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Negro - no configurable o slo de lectura

    Verde - Valor por defecto

    Azul parmetros especificados por el usuario

    Para modificar cualquiera de los parmetros configurables por el usuario, haga clic en el comando y tipo asociado, en el nuevo valor para ese parmetro. Para facilitar la comprensin de un comando especfico y una vez que el comando est seleccionado, una breve descripcin junto con sus lmites es presentada en la parte inferior de la pantalla. Una vez que todos los nuevos valores se han introducido, estos valores estn listos para ser guardados en la memoria no voltil del mdulo XBEE.

    9.4.3. Escribiendo nuevos cambios del Firmware en el XBEE

    Para escribir los cambios de parmetros en la memoria no voltil del mdulo XBEE, haga clic en el botn Write situado en seccin Modem Parameters and Firmware (vase la figura 67).

    Figura 67. Respuesta del mdulo XBEE una vez guardados los nuevos parmetros

    POR: Junior Figueroa Olmedo Pgina 52 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    9.4.4. Descargando Archivos de Actualizacion del Firmware.

    Otra funcin de la pestaa Modem Configuration es la que permite al usuario descargar los archivos de actualizacin del firmware, ya sea por Internet o instalarlos desde un disco o CD. Esto se logra mediante el siguiente proceso:

    1. Clic sobre la opcin Download New Versions prevista en la seccin Versions, ver figura 67.

    2. Haga clic sobre Web para descargar los nuevos archivos de firmware de Internet. Caso contrario dar clic sobre File cuando los archivos de instalacin se encuentran comprimidos en algn CD o guardados en un disco (ver figura 68, 69 y 70), entonces busque la ubicacin del archivo guardado y haga clic en Open (ver Figura 71).

    3: Haga clic en OK y Done cuando se le pida.

    Figura 68. Ventana para descargar actualizaciones Figura 69. Descargando las actualizaciones desde internet

    POR: Junior Figueroa Olmedo Pgina 53 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 70. Una vez finalizada la descarga de todos los archivos

    Figura 71. Descargando las actualizaciones desde un CD o un disco.

    9.4.5. Perfiles de Mdem

    El X-CTU tiene la capacidad de guardar y escribir perfiles mdem o la configuracin para los mdulos XBEE. Esta funcin es til en un entorno de produccin cuando los mismos parmetros deben fijarse en varios mdulos XBEE.

    Cmo guardar un perfil:

    1. Establezca la configuracin deseada en el firmware del mdulo XBEE, tal como se describe en la seccin Haciendo cambios al Firmware del XBEE.

    2. Haga clic en Save (guardar) en la seccin Profile (ver figura 67).

    3. Escriba el nombre de este perfil en la casilla Nombre (ver figura 72).

    4. Vaya a la ubicacin donde desea guardar su perfil

    5. Haga clic en Guardar

    POR: Junior Figueroa Olmedo Pgina 54 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 72. Ventana para buscar la ubicacin donde se va a guardar el perfil

    Cmo cargar un perfil guardado:

    1. Haga clic en Load (cargar) en la seccin Profile (ver figura 67).

    2. Vaya a la ubicacin donde se encuentra el archivo deseado y haga clic en dicho archivo (vase la figura 73).

    3. Haga clic en Abrir.

    POR: Junior Figueroa Olmedo Pgina 55 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 73. Ventana para buscar la ubicacin del perfil a utilizar

    Para guardar el perfil al mdulo XBEE una vez que se haya cargado el archivo, siga los pasos descritos en la seccin Escribiendo nuevos cambios del Firmware en el XBEE.

    9.5. Ejemplo de configuracin de dos mdulos XBBE usando X-CTU

    Este ejemplo se va a llevar a cabo, con la ayuda de nuestra tarjeta de evaluacin (serial o USB), para poder comunicar los mdulos XBBE con el software X-CTU. Con el siguiente ejemplo, programamos un par de mdulos XBEE para que nada mas se puedan ver entre ellos, de esta manera evitamos interferencias de otros mdulos que puedan existir en el ambiente areo. Este ser nuestro primer paso para familiarizarnos con la manipulacin de los XBEE.

    Usando la pestaa PC Settings en el programa X-CTU, seleccione el puerto COM con el circuito conectado a este. La mayora de las veces este ser el COM1.

    La configuracin por defecto es 9600, NONE, 8, NONE y 1. A menos que haya cambiado a otra velocidad en baudios u otra configuracin hecha al XBee sobre el cual usted est programando, estos ajustes por defecto deberan estar bien.

    POR: Junior Figueroa Olmedo Pgina 56 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 74. Configuraciones del puerto COM1Para verificar la correcta comunicacin presionar el botn Test/Query (ver figura 74) que esta sobre el panel PC Settings y si la comunicacin est bien aparecer la siguiente ventana con la informacin del modelo del mdulo XBee que se usa y la versin del Firmware. Si esta prueba no se realiz correctamente, verifique cuidadosamente su cableado y conexiones de soldadura antes de continuar.

    Figura 75. Ventana que aparece si las configuraciones del puerto estn correctas

    Luego, basta con programar 3 parmetros bastante sencillos para poder conectar nuestros mdulos. Estos parmetros son:

    MY direccin origen

    DL direccin destino

    BD baud rate (velocidad de transmisin)

    Antes de modificar algn parmetro haz clic en la pestaa Read (que est en Modem Configuration) para obtener la informacin que tiene grabada tu modulo XBEE.

    POR: Junior Figueroa Olmedo Pgina 57 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 76. Configuracin mdulo XBEE transmisorEn la figura 76 se muestra la programacin que deber llevar el transmisor (que coincide con los parmetros ledos con el botn Read). En el parmetro MY introducimos el valor 123 y en el parmetro DL introducimos el valor 321. Esto se traduce de la siguiente manera en trminos generales: nuestro transmisor se llama 123 y le transmite a nuestro receptor que se llama 321, los valores pueden ser cualesquiera, se usaron estos valores solo como un ejemplo.

    Figura 77. Configuracin mdulo XBEE receptor

    En esta imagen se muestra la programacin que deber llevar el receptor.En el parmetro MY introducimos el valor 321 y en el parmetro DL introducimos el valor 123. Esto se traduce de la siguiente manera en trminos generales: nuestro receptor se llama 321 y solo recibe de nuestro transmisor que se llama 123

    El ultimo parmetro a configurar es el de BD (del men Serial Interfacing), aqu introduciremos el valor de la velocidad a la cual nuestro microcontrolador enviara y recibir datos. Por defecto, los mdulos vienen programados a 9600 baudios, basta seleccionar el parmetro al valor deseado (ver figura 78).

    POR: Junior Figueroa Olmedo Pgina 58 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Figura 78. Configuracin de la velocidad de transmisin tanto para el mdulo XBEE transmisor y receptor

    Una vez hecho todo lo anterior, haz click en la pestaa Write (ver figura 78) para que todos los cambios se queden grabados permanentemente en el modulo XBEE. Con la programacin de estos 3 sencillos parmetros, nuestros mdulos estn listos para trabajar.

    NOTA: No olvides que los mdulos se alimentan con 3.3 voltios y no permiten entrada de seal que no sea de ese nivel de tensin, ya que pueden sufrir daos permanentes.

    POR: Junior Figueroa Olmedo Pgina 59 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    10. INSTRUCCIONES DEL SOFTWARE PIB BASIC PRO PARA COMUNICACIONES SERIALES CON MICRONTROLADORES

    En este apartado se mencionarn las instrucciones necesarias para establecer una comunicacin entre dos dispositivos que incorporen comunicacin serial mediante el software PIC BASIC PRO para microcontroladores. Por lo que, no se explicarn todas las instrucciones que se vayan a utilizar en la programacin, es decir, que el lector debe de revisar un manual o libro de programacin de PIC BASIC PRO; en el Internet puede conseguir muchos manuales en espaol, pero le recomiendo un manual completo que lo puede encontrar en la direccin http://www.todopic.com.ar/pbp_sp.htm l , el cual le servir de gua para que comprenda el funcionamientos de los programas que ms adelante se desarrollarn.

    Cabe de mencionar tambin, que el lector no est limitado a solo emplear este software de programacin para microcontroladores, en el mercado existen muchos otros como Assembler, Compilador C CCS, etc. as que el lector puede desarrollar la programacin con el software que mas se le facilite, claro est, utilizando como gua los ejemplos de este documento.

    Ahora s, empecemos con la explicacin de las instrucciones que vamos a emplear, las cuales son: SEROUT, SERIN, SEROUT2 y SERIN2.

    10.1. LA DECLARACIN SEROUT

    Esta declaracin sirve para enviar datos seriales en un formato estndar asincrnico usando 8 bits de dato, sin paridad y 1 bit de parada, (8N1), y para poder utilizarlo debemos incluir al comienzo del programa la siguiente lnea:

    INCLUDE modedefs.bas ; incluir el programa modedefs.bas(modos de comunicacin)

    Esto significa incluir el programa modedefs.bas en esta lnea, aqu se encuentran algunos de los parmetros para las comunicaciones, por ejemplo en nuestro caso las velocidades de transmisin que son: para dato invertido N300, N1200, N2400, N9600, y para dato verdadero: T300, T1200, T2400, T9600. Los datos invertidos por ejemplo el N2400, quiere decir que un 1 lgico vale 0V y un 0 Lgico vale 5V, en cambio para dato verdadero por ejemplo el T2400 el 1 lgico vale 5V y el 0 lgico vale 0V. Ejemplos:

    SEROUT portb.1, N2400,[HOLA]; enviar la palabra ASCII HOLA por el puerto B1 a una velocidad de 2400 8N1, en dato invertido.

    SEROUT portb.1, T2400,[#num,A]; enviar el contenido decimal de la variable num seguido de la letra A, a una velocidad de 2400 baudios, en dato verdadero.

    SEROUT portb.1, T2400,[#123,A]; enviar 1, 2, 3 en formato decimal seguido por la letra A, a una velocidad de 2400 baudios, en dato verdadero.

    10.2. LA DECLARACIN SERIN

    Esta declaracin sirve para recibir datos seriales en un formato estndar asincrnico usando 8 bits de dato, sin paridad y 1 bit de parada, (8N1), y para poder utilizarlo debemos incluirlo igualmente que para el SEROUT la lnea INCLUDE modedefs.bas al inicio del programa, su forma de utilizar es la siguiente:

    SERIN portb.0,N2400,letra ; esperar un dato serial y lo guarda en la variable

    POR: Junior Figueroa Olmedo Pgina 60 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    previamente creada llamada letra

    Es importante saber que esta declaracin detiene el programa esperando a que ingrese un dato, y solamente cuando haya recibido un dato, contina con la siguiente lnea de programa, para hacer que slo espere un determinado tiempo y luego contine con la siguiente lnea debe utilizar Timeout. Ejemplos:

    SERIN portb.0,N2400,Timeout, Label, letra ; esperar un dato serial y lo guarda en la variable previamente creada llamada letra, si el dato no llega hasta el tiempo especificado por Timeout salta a la subrutina especificada por Label.

    Timeout y Label son opciones que pueden ser incluidas para permitir al programa continuar si no se recibe un carcter durante un cierto tiempo. Timeout est especificado en unidades de 1 milisegundo.

    SERIN portb.0,N2400,Timeout, Label, [cadena, #num] ; esperar varios datos seriales: uno correspondiente a una letra o palabra guardarlo en la variable previamente creada llamada cadena y el otro correspondiente a un valor entero guardarlo en la variable previamente creada llamada num, si el dato no llega hasta el tiempo especificado por Timeout saltar a la subrutina especificada por Label.

    10.3. LA DECLARACIN SEROUT2

    Esta declaracin sirve para enviar datos seriales en un formato estndar asincrnico. SEROUT2 es similar al comando SEROUT y para poder utilizarlo debemos incluir al comienzo del programa la siguiente lnea:

    INCLUDE modedefs.bas ; incluir el programa modedefs.bas (modos de comunicacin)

    Esto significa incluir el programa modedefs.bas en esta lnea, aqu se encuentran algunos de los parmetros para las comunicaciones, por ejemplo en nuestro caso las velocidades de transmisin, tal y como se muestran en la tabla 5:

    Tabla 5. Velocidades de transmisin para la instruccin SEROUT2

    Una cadena de constantes es enviada como una cadena de caracteres literales. Un valor numrico (constante variable) va a enviar el correspondiente carcter ASCII .Ms an, 13 es retorno de carro (Carriage Return CR) y 10 es avance de lnea (Line Feed LF).

    POR: Junior Figueroa Olmedo Pgina 61 de 93

  • CLUB DE ROBOTICA DE LA ESPE MODULOS DE RADIOFRECUENCIA XBee/XBee-PRO

    Ejemplos:

    SEROUT2 portc.6, 396, ["HOLA"];enviar la palabra ASCII HOLA por el puerto C6 a una velocidad de 2400. Cada letra de la palabra completa se enva por separado, es decir H, O, L, A.

    SEROUT2 portc.6, 84, [123];enviar el numero 123 por el puerto C6 a una velocidad de 9600.

    SEROUT2 soporta distintos modificadores, que pueden ser combinados entre s, dentro de una declaracin SEROUT2 para obtener distintos formatos, tal y como se observa en la tabla 6:

    Tabla 6. Modificadores soportados por SEROUT2

    Un valor numrico precedido por BIN va a enviar la representacin ASCII de su valor binario. Por ejemplo, si B0=8, entonces BIN B0 va a enviar 1000

    Un valor numrico precedido por DEC va a enviar la representacin ASCII de su valor decimal. Por ejemplo, si B0=123, entonces DEC B0 va a enviar 123.

    Un valor numrico precedido por HEX va a enviar la representacin ASCII de su valor hexadecimal. Por ejemplo, si B0=254, entonces HEX B0 enva FE.

    REP seguido por un carcter y un contador, va a repetir el carcter la cantidad de veces que indique el contador. Por ejemplo, REP 0 4 enviar 0000

    STR seguido por una variable de array, y un contador opcional, va a enviar una cadena de caracteres. La longitud de la cadena est determinada por el contador cuando se encuentre un carcter 0 en la cadena.

    BIN, DEC y HEX pueden estar precedidos, seguidos por varios parmetros opcionales. Si alguno de ellos est precedido por una I (por indicado), la salida estar precedida por alguno de los smbolos %, #, $ para indicar que el valor siguiente es binario, decimal hexadecimal.

    Si alguno est precedido por una S (por signo), la salida estar precedida por -, si el bit de alto orden del dato est alto .Esto permite la transmisin de nmeros negativos. Recuerde que todas las operaciones u comparaciones de PBP son sin signo .Sin embargo, las matemticas sin signo pueden llevar a resultados con signo. Por ejemplo, B0= 9 10. El resultado de DEC B0 ser 255 .Enviando SDEC B0 dara -1, dado que se enva el bit de alto orden.

    POR: Junior Figueroa Olmedo Pgina 62