Posteado por: miguelio | abril 4, 2009

Esquemático de conexionado y montaje de módulos XBee

O también: ¿Cómo conextar un módulo XBee?

Introducción

Los módulos XBee/XBee-PRO ZNet 2.5 OEM fueron diseñados para operar dentro del protocolo ZigBee soportando las necesidades particulares de las redes de sensores de bajo costo y consumo, requiriendo alimentación mínima y a la vez permitiendo el transporte confiable de datos entre dispositivos remotos.

El módulo opera dentro de la banda ISM (Industrial, Scientific and Medical) utilizando una frecuencia de 2.4 GHz.

Los requerimientos mínimos de conexionado consisten en proveer alimentación mediantes dos terminales (VCC y GND) y dos de datos (Vin y Vout). Para la actualización de firmwares es necesario agregar las conexiones de los pines RTS y DTR.

Los módulos XBee fueron diseñados para ser montados en un zócalo, no requiriendo ningún soldado. Para ello disponen dos hileras de 10 pines separadas entre ellas por 22 mm La separación entre pines es de 2mm (ver figura).

xbee-mech-drawings

Características Eléctricas

caracteristicas-electricas

En el resto del documento se hace una presentación de los diagramas de conexionado y montaje de los distintos dispositivos de hardware utilizados en el presente trabajo. Para cada uno se hace un breve resumen de las características del mismo, se presenta el esquemático y las consideraciones para el montaje.

Alimentación

Materiales:

  • Regulador de voltaje LM317L
  • Resistencia 240 Ohms
  • Resistencia variable 5KOhm
  • 3 pilas AA recargables
  • 2 porta-pilas AA de dos elementos

El regulador de voltaje utilizado requiere que la diferencia entre tensión de entrada y salida sea de al menos 3 V. Como la salida es de 3,3V, la tensión de entrada debe ser de al menos 6,3 V. Una opción es utilizar baterias de 9 V.

El circuito no incluye capacitores de filtro porque supone que la tensión de entrada de las baterias es muy estable. De ser necesario se pueden incluir a la entrada y la salida del LM317L (ver datasheet).

Esquemático de conexiones

esquematico-alimentacion

Módulo XBee con conexión a PC

Materiales:

  • 1 protoboard
  • 1 XBee ZNet 2.5 OEM (WRL-08691)
  • 1 XBee Breakout Board (BOB-08276)
  • 2 sockets de 10 pines para XBee
  • 1 pinera para el módulo USB-SERIE y la placa adaptadora de XBee (2,5 mm de separación)
  • 1 FT232RL Breakout Board (módulo USB-SERIE)
  • 2 Leds
  • Cables
  • Cable USB miniB

Algunos ítems difíciles de conseguir se compraron en Sparkfun.com (www.sparkfun.com). Los códigos de las partes son los indicados entre paréntesis.

Características

Este es módulo es el encargado de conectar la red ZigBee a la computadora y por lo tanto incluye una interfaz para conectarse a la misma. Las opciones de comunicación que se presentaron durante la etapa de diseño fueron la de utilizar una comunicación serie estándar (RS-232) o mediante puertos USB. La segunda opción, que fue la elegida, tiene la ventaja de que prácticamente todas las computadoras actuales disponen de varios puertos USB para conectar dispositivos, mientras que muy pocas disponen de puertos de comunicación en serie. Esta diferencia es aún más marcadas si nos referimos estrictamente a las computadoras portátiles, cuyos diseños rara vez incluyen puertos seriales.

La placa “FT232RL Breakout Board “ es una interfaz entre la comunicación en serie utilizada por el módulo XBee y la implementada de acuerdo a la norma USB.

Esquemático de conexiones

esquematico-modulo-xbee-usb

Montaje

La XBee Breakout Board es una placa necesaria para adaptar los pines de 2 mm de separación del módulo XBee a los 2,5 mm de separación del protoboard. Se deben montar los zócalos y las pineras correspondientes a los puntos de conexión de esta placa. El montaje debería quedar como el de la figura.


xbee-breakout-board xbee-en-breakout-board

Ambos Breakout Boards pueden se pueden colocar en un protoboard cómo el de la figura, agregando las conexiones necesarias de acuerdo al diagrama esquemático.

xbee-en-protoboard

Módulo XBee independiente (baliza)

Materiales:

  • 1 XBee ZNet 2.5 OEM (WRL-08691)
  • Fuente de alimentación de 3.3V

Características

Para que el módulo XBee funcione alcanza con proveerle una alimentación dentro del rango y conectar los pines de entrada y salida de la comunicación serie. Como nuestros módulos independientes sólo necesitan reenviar la información recibida se instrumenta un loopback por hardware, uniendo la salida de datos con la entrada (en el módulo, los pines 2 y 3 respectivamente).

Esquemático

esquematico-modulo-xbee-independiente

Montaje

Como única indicación para el montaje, cuidar que la antena del módulo XBee quede visible y libre de obstáculos para tener una línea de vista directa con los demás dispositivos.

Comprobación de funcionamiento

Para comprobar el funcionamiento de los módulos es necesario utilizar el módulo XBee con conexión USB descripto anteriormente. Mediante el software X-CTU, provisto por Digi es posible programar los módulos XBee, actualizar sus firmwares y realizar todas las pruebas necesarias para verificar el buen funcionamiento de los mismos.

xctu1

El software X-CTU (http://www.digi.com/support/productdetl.jsp?pid=3352&osvid=57&tp=4&s=316).

La comunicación USB está basada en el circuito integrado FT232R. El fabricante del chip provee un driver que instala un puerto serie virtual en Windows (http://www.ftdichip.com/Drivers/VCP.htm). Una vez está instalado el driver, se debe conectar el módulo XBee utilizando el cable USB MiniB e iniciar X-CTU (Nota: si X-CTU se inicia con anterioridad a la conexión, el puerto virtual podría no aparecer). Con el botón “Test / Query” se puede verificar la conexión; si esta es correcta, debe aparecer el nombre del modem del dispostivo XBee y la versión del firmware instalado. Para el módulo XBee utlizado el nombre del modem es X24-B.

xctu2

Seguidamente se debe programar el firmware en cada uno de los dispositivos XBee que se van a utilizar. Es importante tener actualizadas las versiones de los firmwares; para esto se debe presionar el botón “Download new versions…”. Una vez finalizada la actualización, se debe seleccionar el firmware a grabar y presionar el botón “Write”. Las versiones utilizadas en este trabajo son “ZNET 2.5 COORDINATOR AT” y “ZNET 2.5 ROUTER/END DEVICE AT”, que permiten la comunicación mediante comandos AT a través del puerto serie.

Es necesario configurar un nodo como coordinador y dejar los demás como routers o end devices para que la red funcione apropiadamente.

Por default los nodos vienen configurados para enviar la información al coordinador por lo que es muy fácil probar los dos dispositivos usando la solapa terminal de X-CTU. Si uno de los dispositivos se lo conecta como módulo XBee independiente (con loopback por hardware), todo mensaje enviado por la terminal debería ser repetido por el receptor.


Respuestas

  1. Por favor si me puedes ayudar con una duda.
    si tengo tres modulos y necesito que se comuniquen entre si, es necesario tener alguno como router o no?. o meor aun si me puedes explicar como hacerlo.
    de antemano muchas gracias.

  2. Depende en gran medida de que módulos tenés. Lo que necesitas seguro es que uno de ellos sea coordinador. Para eso tenes que seleccionar el Firmware en el X-CTU y programar cada uno de ellos.
    A uno le ponés el ZNET 2.5 COORDINATOR AT y a los demás ZNET 2.5 ROUTER/END DEVICE AT. Luego para comunicarte podés usar comandos AT, por ejemplo «ATDN nombre» para indicar que te vas a comunicar con el nodo que tiene un determinado nombre (NI, lo configuras también desde el X-CTU). Luego empezás a enviar la información.

  3. muchas gracias

  4. Yo acabo de adquiri un kit de desarrollo pero no logro comunicar el modulo con la PC, en el software X-CTU cuando le doy al boton test me dice unable comunication o algo asi. Que puede estar pasando?

    Saludos

    • Si usas conexión USB quizás necesites un driver. Si la comunicación es serial asgurate que estés seleccionando el puerto de comunicación correcto en el X-CTU (esto tambien es valido para comunicación USB).
      Te podría ayudar mejor si me dices cual es el kit que compraste (el nombre).

      Saludos y gracias por el comentario

  5. Buenas miguelito:
    Estoy haciedo una red punto a punto con una Xbee ZB conectada a un sensor SHT15, y otra conectada a una base Xbee Explore Usb qie va a un computador. Quisiera saber como se puede conectar esta tarjeta Xbee a un microcontrolador (del tipo MSP430), para que quede de la siguiente forma Sensor MSP430 XBee ZB. Desde ya muchas gracias y muy bueno el tutorial

    • Para conectar el módulo XBee a cualquier cosa, sea un microcontrolador, la computadora o lo que sea, tenés que comunicarte por las patas de entrada y salida del módulo XBee; creo que son la 2 y la 3.
      La comunicación es en serie asíncrona, tenés que configurar el la comunicación serie en tu dispositivo de la misma manera que lo hiciste en el XBee. Normalmente viene en 8 N 1 con control por hardware de errores.
      Lo que si o si tenés que tener en cuenta es el tema de las tensiones. XBee funciona con 3.3V con algún margen, por lo que tu micro debería trabajar a esa tensión o necesitarás adaptarla. Lo mejor es siempre recurrir al manual para sacarte todas las dudas.

      Gracias por el comentario!

  6. Hola buen dia Miguel

    Tengo una duda, conecte los modulos a la PC mediante dos hyperterminales y no tuve mayor problema al transmitir, mi pregunta como es que los modulos se comunican si no ingrese ninguna configuracion.

    • No entiendo mucho a que te referis con lo de «dos hyperterminales». Lo que si te puedo decir es que los módulos XBee vienen con un firmware pre-instalado así que deberían funcionar de todas formas. Igual es mejor ponerles la versión más actualizada.

  7. hola amigo sabes yo no logro establecer una «funcion set» diferente a la que trae por default, ya que si la cambio y le doy al boton «write» a la configuracion que seleccione me dice que la comunicacion con el modem se pierde y la escritura de los parametros nuevos fallo, en cambio si le asigno la «funcion set» que traia por default y le doy «write» entonces se completa satisfactoriamente el proceso. Y una cosa mas es k en el modelo del modem de mi modulo (XB24) no aparecen las funciones de ZNET 2.5 router AT ni ZNET 2.5 end device AT, ayuda porfa 😉

    • Hola Leo.
      Respecto al primer error me suena a que estas en modo AT grabando un firmware API o al revez. Cuando el módulo XBee tiene un firmware AT cargado y le cargas uno API lo graba bien pero cuando quiere escribir los parámetros se los manda comunicando en modo AT y el seteo falla. Por lo tanto hay que programarlo de nuevo marcando primero la casilla «Enable API» en la solapa «PC Settings» del X-CTU.
      Si el caso es el inverso, es decir lo tenés en API y querés grabar AT, luego de grabar la primera vez (que falla) desmarcás la casilla «Enable API» y lo volvés a programar.

      Si no te aparecen todos los firmwares (y tu modem es efectivamente el XB24, lo puedes chequear con el botón «Test / Query» en la solapa «PC Settings») te recomendaría que hagas una actualización completa del X-CTU haciendo click en «Download new versions…» y luego en «WEB».
      Puede que necesites hacerlo varias veces. Continua intentando hasta que el status muestre el mensaje de «No updates found».

  8. Gracias amigo aora estoy probando, oyes si no es mucha molestisa me podrias pasar un manual del x-ctu (Digi), he estado buscando pero no encuentro ninguno 😦 y como voy empezando a desarrollar proyectitos con estos dispositivos tengo un mar de dudas todavia, gracias x la pronta respuesta y saludos desde Sinaloa, Mexico.

  9. hola miguel, Buen dia

    Estoy intentando programar los modulos mediante un microcontrolador ATMEGA164p mediante un conexion USART pero no logra ingresar al comando +++ para su configuración AT, pero datos si transmito mi pregunta es si se requiere una configuracion especial al momento de mandar los comandos.

    Agradeceria tu respuesta.

    • Primero debes estar seguro de que el módulo tiene un firmware AT.

      Para entrar a modo de comandos AT o «modo AT» debes esperar 1 segundo, luego enviar «+++» (tres signos +) en menos de 1 segundo, luego esperar otro segundo y el módulo debería responder un mensaje de OK («OK\r»).
      A partir de ese momento podés enviar comandos AT como los descriptos en el manual.

      Todo esto que te explico está en el manual, los tiempos (de 1 segundo, por ej.) se pueden setear distintos al programar el módulo en el X-CTU.

      Te recomiendo que consultes el manual cada vez que surja una duda, porque la mayoría de los problemas están resueltos allí.

      Saludos

      Miguel

  10. Hola miguelio, primero que nada muy buen post y se nota que sabes bastante sobre los dispositivos xBee. Te cuento cual es mi problema, estoy desarrollando con un grupo un sistema (software) de domotica y averiguando e investigando sobre que usar nos topamos con estos dispositivos que son muy buenos.
    Lo que te quiero consultar es si nos podes orientar sobre que es lo que tenemos que comprar, porque sabemos que tenemos que usar un dispositivo cordinador y los end device para lo que queramos controlar, los routers que no se para que sirven mas que aumentar el radio de cobertura.
    Por ejemplo, para controlar una simple luz vimos que se usaban unos interruptores zigBee pero no sabemos bien como funcionan o si ademas es necesario colocar algun otro dispositivo donde va el portalampara. Porque la idea es guardar los datos cada vez que un disposivo se prende y apaga, por eso es importante que nos devuelva el estado cuando es apagado o prendido directamente del interruptor en vez de usar el software que creamos nosotros.

    Otro tema seria para poder manejar un televisor, por decirte cambiar de canal, que dispositivos vienen para ese tipo de cosas y como se usan?

    La idea es conocer la arquitectura de este tipo de cosas para que podamos programarlas, porque hasta donde entiendo un dispositivo para una lampara es distinto al de un televisor (para cambiar de canal y demas) o para controlar un aire acondicionado (esto tambien me interesa).

    Como veras de electronica no tengo mucha idea, he visto bastante cosas diferentes sobre como se manejan asique no me queda claro y creo que debe ser porque son muy flexibles en su uso.

    Bueno, no quiero hacer tan largo el mensaje, cualquier cosa despues te sigo contando bien lo que estamos haciendo.

    Saludos y muchas gracias!

  11. quiero hacer un proyecto en el cual envie informacion de varios sensores tengo modulos xbee me podrias ayudar en eso ando perdido
    entiendo que se necesita usar un micro procesador

  12. Hola Miguelio, no se si se borro el post anterior que puse o que paso. Te habia dejado un comentario bastante largo, sobre el problema que estaba teniendo.

    Estoy haciendo un sistema de domotica y quiero utilizar estos dispositivos xBee para manejar los distintos artefactos electronicos. Se que tengo que usar un cordinador y los end device que son los dispositivos finales, pero busque mucho y la verdad que me marie un poco asique te queria preguntar que es lo que me conviene usar para manejar luces, un televisor, un aire acondicionado y demas.

    Bueno espero que me puedas ayudar. Muy bueno el post, saludos.

  13. Hola Miguelio sabes, este blog me ha sido de gran utilidad solo kiero hacer un comentario, es k en ninguna parte del documento aclaras que los modulos con los que trabajas son de la serie 2 por lo que en la instalacion de los firmware por mas k los actualises nunca podremos instalarle el ZNET 2.5 xxx AT.
    Espero y este comentario sirva de algo
    Saludos

  14. me refiero a los que trabajamos con los modulos de la serie 1

  15. lo q pasa es que estoy trabajando con modulos xbee a la maxima potencia de transmision y estoy caracterizando los niveles de RSSI vs distancia y en 45 metros hay una atenuacion mayor, ya probe en varios escenarios y pasa lo mismo alguien sabe cual es el problema??

  16. hola con todos..
    estoy haciendo un proyecto de comunicacion entre modulos con pics, mi pregunta es como puedo leer el numero de serie de los modulos..
    gracias

  17. hola estoy realizando un proyecto con series 2 ya recibo del 2 end device al coordinador pero quiero enviar atraves del adc un dato (un voltaje) pero no envia nada me podrias orientar

  18. buenos dias amigo. tengo una duda instale los modulo xbee, ellos responden a los comandos correctamente, pero cuando trato de establecer comunicacion entre ellos, sale este mens en el range «test Timeout waiting for data», no se que podria estar pasando..

  19. Hola miguel! Muy bueno tu post. Estoy haciendo un proyecto de monitoreo con los módulos xbee de la serie 2 pero no he podido hacerlos comunicar porque tengo muchas dudas al respecto. Cuando probé los modulos con el software x-ctu me respondieron ok, pero a uno de ellos traté de programarle un set znet como router y desde entonces ya no me quiere comunicar con el software. Ya no se que hacer para que funcione. Por favor necesito tu ayuda, una orientación de como poder recuperarlo asi sea a su estado de fabrica, el cual era como zigbee router end divice at. El modem que adquiri es XB24-B con un firmware 1220. Las unicas conexiones que estoy utilizando son la de vcc (1), gnd (10), din (3), dout (2). No se como hacer la conexion de las patitas que faltan para actualizar el firmware. Sólo estoy empleando estos pines y un max232 para comunicarme con la PC. El esquema que tienes arriba no se entiende porque está como borroso. Ayudame por favor porque estoy haciendo tesis y el tiempo se me acaba. Espero impaciente tu respuesta. Gracias.

  20. Saludos! compre dos modulos xbee modelo xb24-b y cuando trato de configurarle el canal no puedo. Cuando solicito por el xctu que canal tiene cada modulo me dice 0. Como le puedo cambiar el canal al modulo con el xctu. He intentado y me sale como deshabilitado.

  21. Adquiri un kit de desarrollo pero no logro comunicar el modulo con la PC, en el software X-CTU cuando le doy al boton test me dice unable comunication o algo asi.
    El kit que compre es de Digi y si recooce puerto es por medio de USB
    Que puedo hacer?

  22. hola quisiera hacerte una pregunta como puedo hacer para alimentar el xbee si tengo una salida de un pic de 5volt y el xbee opera con 3,3 volt segun tengo entendido.

    • mirá, yo quise hacer lo mismo en algún momento, y me puse a trabajar en un circuito para adaptar tensiones, al final no necesité usar el pic, por eso no lo terminé. Venía bastante difícil la cosa, porque bajar de 5V a 3.3V es bastante fácil, podes usar hasta un divisor resistivo, peor al levantar tenías que usar un transistor como switch o algo parecido con lo que tenías delay por el tiempo de conmutación del transistor.
      Eso podía ser vital a la hora de adaptar la tensión del clock de SPI.
      Al final tiré todo porque eran demasiadas líneas que había que adaptar. Después vi este aparatito en sparkfun (el lugar donde compro los XBee) que hace exactamente lo que necesitás. Cuesta unos 10 dólares, pero en la página del fabricante está el esquemático así que podrías construirlo vos mismo. En los comentarios de la misma página tenés aclaraciones sobre el esquemático: http://www.sparkfun.com/commerce/product_info.php?products_id=9132

      • Mas facil que eso amigo! Utiliza un LM317 para bajar la tension de 5v a 3.3v. El circuito es sencillo y hay calculadoras como estas que te calculan los valores de las resistencias necesarias! http://www.electronics-lab.com/articles/LM317/ Yo lo hice asi y me funciono!

      • Eso sirve para la ida del PIC al XBee, pero no para las señales que vienen desde el módulo XBee. Si 3.3V son suficientes para poner un 1 en el pic va a funcionar pero si no, no…

  23. Hola, vaya hilo mas bueno. Yo he adquirido estos componentes:Código artículo: XB24-BPDK Digis
    2 Cables USB AM/BM
    3 Cables RS-232
    3 XBIB-R M100385
    2 XBIB-U M100386
    Módulos transmisores, modelo y PN:
    XBEE-PRO Series2 30009722-01 Antena Externa
    XBEE-PRO Series2 30009712-01
    XBEE Series 2 30009582-01–XB24-BCIT004-REVA.
    XBEE Series 2 30009582-02 –XB24-BCIT004-REV.C
    XBEE Series 2 30009582-02 XB24-BWIT002-REV.B1
    X-CTU Software
    Estoy haciendo el proyecto fin de carrera y quiero hacer en resumen que presionando un boton(supongo de los que vienen en los modulos 4sw +1reset)u otro, hacer que envie un valor u otro a un dispositivo remoto a 10 metros del pc general y este en su monitor me ponga un numero.Es decir si presiono el boton 3 veces en el dispositivo remoto me aparece un 3 en la pantalla y si doy al otro boton o sw en el dispositivo remoto me resta uno, apareceria un dos.
    ¿Se puede hacer con estos modulos? Por lo leido tengo que poner uno como cordinador en un pc y en el pc remoto otro de los modulos como dispositivo final y ahi me quede.¿alguien me puede orientar como seguir?Gracias a todos.
    Aprovecho para saludar a mis tios de Buenos Aires 🙂

  24. disculpa la molestia. keria saber si me podrias decir dond konseguir las bases para xbee ke tienes en este sitio.. las ke vas de 2mm a 2.5mm para konectarlo al protoboard.. te lo agraderia mucho.. saludos..

  25. de donde puedo descargar el sofware xctu, ya que no pude estableser el hyper terminal

  26. Si tengo puesto el cordiandor como API en vez de At como puedo ponerle el sleeper para que no me consuma batería?,veo un campo que dice sleep modes y dentro Cyclicn sleep periodic y el valor 20,luego si hago eso lo hago solo en el coordiandor,como puedo cambiar los end devices ya que xctu me muestra solo el que esta conectado por el usb y no los demas que se conectan a el por wifi.
    Se puede hacer todo sin ponerlo en modo AT?
    Gracias.

  27. hola yo actualmente ago un proyecto de un robot explorador y tengo pocos conociemientos de esto mi pregunta como puedo poner una conexion seria entre un mikro y xbee le agradeserias si me ayudar asta luego

    • sí, solamente tenés que resolver la adaptación de tensiones, porque xBee trabaja a 3,3V y los micros normalmente a 5V.
      Sparkfun vende un dispositivo que hace esta traducción de tensiones.

      Una muy buena opción es usar una placa Arduino que usa un micro Atmel. Es totalmente compatible y podés agregarle un xBee shield que es una placa que te permite conectar el módulo xBee.

  28. saludos señor miguel le agrade-seria si me puede ayudar con la siguiente cuestión es posible conectar un lm35 directamente a un xbee como lo hago y que parámetros se deben tener en cuenta

    • El XBee funciona a 3.3V, esa es la tensión de alimentación que necesita. Tendrías que buscar un ejemplo de aplicación de LM35 y verificar en su datasheet si puede dar esta tensión en la salida. También tendrías que comparar las caracteristicas electricas de esta salida con las de la entrada del XBee (en su datasheet)

  29. Gracias Miguel, muy bueno tu trabajo, me gustaría incorporar estos módulos en mis cursos de microcontroladores dado que parece sencillos de utilizar. Sabrías decirme donde conseguirlos aquí en Argentina ? y si hay algún tipo de instructivo además de los datasheet. Gracias desde ya por tu información.

    • Hola Jorge, te cuento que yo los compré afuera en este sitio: http://www.sparkfun.com
      Creo que acá los distribuía DICOMSE o algún otro, pero salían el doble.
      Hice 2 pedidos a Sparkfun, los dos llegaron sin problemas a mi casa en una cajita. El segundo llego contra pago de un arancel del 50% en aduana, que se lo pagás al tipo que te trae el paquete y te da una boleta.

  30. hola tengo arduino uno+ xbeesheild+xbee p2 pra trasnmitir pero no puedo mi maquina no lo reconoce

  31. Hola yo tengo un problema con mi xbee pro, resulta que al inserarlo con el puerto serie, no me lo detecta, y klo quiero resetear, como se hace? ya probe otro xbee en el mismo puerto y anda perfectamente. gracias

  32. Hola, estoy comenzando con un proyecto zigbee, ya tengo los modulos, lo que nose es como comunicar varios sensores a un solo modulo xbee, y luego recoger la medición de los sensores un laptop, los sensores que tengo son de temperatura del tipo DS18B20

  33. Hola estoy haciendo un proyecto en el cual estoy utilizando XBee xb24c y necesito enviar datos a otra XBee colo cada en otro equipo de computo. Mi pregunta es Necesito programas ambos dispositivos y tenerlos instalados para saber que funcionan o puedo comprobarlo uno por uno??? Y cual es la diferencia entre el modo AT y API??? . Gracias por la ayuda


Replica a Jorge Miguel Dhios Cancelar la respuesta

Categorías