Translate

viernes, 7 de diciembre de 2012

Nuevos tutoriales próximamente!!

Estamos preparando algunos tutoriales cuando por fin tengamos lista nuestra web: www.opiron.com. Queremos compartir uno de ellos, ¿Qué opináis? ;)

Configuración de transceptores Xbee de Digi


Licencia: Licencia Creative Commons



Categoría
x Des. Software   ¨ Des. Hardware  ¨ Des. Soft+Hard   
Grado de dificultad
x Novato   ¨ Intermedio  ¨ Alto   ¨ Maestro  
Alcance y Objetivos
El presente documento tiene como objetivo la explicación de cómo configurar los módulos Xbee de Digi de forma correcta.
Para la correcta realización del proyecto, será necesario comunicarse con ellos con un PC y enviarle comandos vía Hyperterminal o X-CTU.
Hardware necesario
Asegúrate de tener:
-          Al menos un tranceptor Xbee. Link a la tienda:
-          Xbee Shield. Link a la tienda:
-          Placa Arduino: Link a la tienda:
-          Pc.
-          Cable USB.
Software necesario
Los siguientes programas son necesarios antes de la realización del proyecto:
-          Sistema Operativo Windows XP o W7.
-          X-CTU de Digi. Link a descarga del programa:
http://www.digi.com/support/productdetail?pid=3352, entrar donde pone drivers y seleccionar alguno de ellos según tu S.O.
Otras consideraciones antes de empezar
Ten en cuenta las siguientes consideraciones antes de empezar:
-          X-CTU es el software oficial para programar radios Xbee. Este software permite al usuario la posibilidad de bajar nuevo firmware de la página de Digi, programar parámetros a la radio o testear la comunicación fácilmente.
-          Tener precaución en el manejo de los diferentes dispositivos, por ejemplo, evitar ralladuras, largas exposiciones al sol o verter agua.
-          Pines de módulo Xbee:


Prevención de riesgos y salud
Los siguientes riesgos están relacionados con este proyecto:
-          Cortes en las manos. La placa Xbee Shield está provista de conectores que podrían producir cortes, extremar la precaución en su manejo.
Por favor, trabaja con precaución durante la realización de tu proyecto.


Instrucciones paso por paso
Paso
Instalación de X-CTU – Versión Windows-.
1
Ir al link de descarga del software:
Ir al apartado General Diagnostics, Utilities and MIBs y seleccionar el el software disponible en la página. Nosotros hemos usado el:
XCTU 32-bit ver.  5.2.7.5 installer.
2
Una vez finalice la descarga ejecutar el archivo:


            
Le  damos a Next y luego aceptamos el contrato de licencia seleccionando la opción “I Agree”.
3
Nos aparecerá una pantalla en la que tendremos que especificar la ruta dónde queremos hacer la instalación:


Finalmente nos aparecerá una pantalla indicándonos que la instalación ya ha sido completada.



4
Una vez instalemos el programa, cuando lo ejecutemos por primera vez el programa nos preguntará si queremos actualizar nuevas versiones de firmware. Es recomendable decirle que sí cada cierto tiempo:
5
Si todo ha ido bien, nos aparecerá un mensaje conforme la instalación se ha hecho con éxito.

Uso y Manejo de X-CTU
1
Primero de todo ejecutamos el programa – doble clic sobre el icono .exe del programa-.
2
Nos aparecerá la siguiente pantalla:

Básicamente, el programa se compone de una serie de funciones muy útiles que repasamos a continuación
3
PC Settings: Ofrece la posibilidad de seleccionar el puerto COM a través del que irá conectada nuestra radio, así como los ajustes típicos de la comunicación serie (Baudrate, Flow Control, Data Bits, Parity y Stop Bits). Ofrece también la posibilidad de habilitar el modo API y el response timeout.
4
Range Test: Tras establecer los parámetros de comunicación en la pestaña PC Settings y que el Xbee está comunicando con otro, la opción del Range Test puede dar idea de cuan fuerte llega la señal y la tasa de fiabilidad en la comunicación visualizando el número de paquetes correctos y erróneos que llegan.
5
Terminal: Esta pestaña permite leer y escribir las tramas que llegan al módulo Xbee. Permite leerlas en modo hexadecimal para poderlas interpretar.


En la figura de este punto se visualizan las tramas “crudas” y en Hexadecimal. Se recomienda visualizarlas de esta manera para poder interpretarlas correctamente.
6
Modem Configuration: Esta es la interfaz para leer / escribir parámetros de un Xbee. Desde esta pestaña también es posible actualizar el firmware disponible desde la página de Digi.
Para descargar nuevo firmware clicamos sobre el botón Download new versions.

Descripción del Hardware
1
Para comunicarnos con el módulo tranceptor Xbee usaremos la placa Arduino Uno, la cual nos aportará la interfaz USB y una Xbee Shield la cual hará de interfaz entre el módulo Arduino y el transceptor Xbee.
2
Esta placa, creada por la empresa Libelium permite la comunicación de los módulos Xbee con el micro de Arduino, tanto para aplicaciones remotas (por ejemplo si queremos montar un router inalámbrico con microcontrolador)  como para aplicaciones locales con PC (que es nuestro caso, ya que la queremos usar para el Coordinador). Dispone además de pines digitales (pin 2 a 7) y pines analógicos. En la figura destacamos el Jumper de dos posiciones: Xbee y USB.
La posición Xbee conecta el pin DOUT del módulo Xbee al pin Rx del microcontrolador del Arduino, y el pin DIN está conectado al TX. Notar que los pines RX y TX del microcontrolador están todavía conectados a los pines TX y RX respectivamente. Sin embargo, en esta posición el microcontrolador sólo será capaz de recibir datos desde el módulo Xbee y no desde el USB del ordenador.
La posición USB conecta el pin DOUT del módulo Xbee al pin RX del chip FTDI, y el pin DIN del módulo Xbee al pin TX del chip FTDI. Por lo tanto, en esta posición podemos conectar directamente el módulo Xbee al ordenador. Un punto importante es que deberá quitarse el microcontrolador del módulo Arduino.
3
Los módulos Xbee son fabricados por la empresa Digi, proporcionan conectividad inalámbrica con otro dispositivo de la misma serie. Sin embargo, no podremos comunicar dispositivos de versiones diferentes –S1 y S2.

Montaje del Hardware
1
Antes de nada, desconectar el microcontrolador de la placa Arduino. Esto se puede hacer fácilmente con un destornillador.
2
Montar la Xbee Shield en el zócalo de Arduino y Xbee en el zócalo de Xbee Shield.
3
La Xbee Shield tiene dos jumpers que determinan como se conecta el módulo Xbee a la placa Arduino. Existen dos posiciones posibles, la posición Xbee y la posición USB.
Colocar los jumpers de la Xbee Shield en la posición USB para poder establecer comunicación con el PC.
4
El esquema debería quedar como se muestra en la siguiente figura:



Una vez tengamos completado el montaje, conectamos el cable USB entre un puerto del PC y el conector de Arduino Uno –ver figura de arriba-. Ahora ya podremos establecer la comunicación con el PC.

Establecer comunicación con el PC
1
Iniciamos el programa X-CTU y seleccionamos nuestro dispositivo de la ventana Select Com Port.
Si aparece el texto Unable Com Port lo cambiamos al valor Baud 9600.
Ahora ya podremos configurar los módulos, podemos hacerlo de dos maneras: Usando la ventana Terminal y usando la ventana Modem Configuration (recomendada por Opiron)

Configuración de los módulos usando Modem Configuration
-          Suponemos que queremos hacer una comunicación punto a punto entre dos transceptores Xbee-.
1
Primero de todo, seleccionar la opción Read para leer la configuración actual del Xbee.

2
Para cambiar cualquiera de los parámetros modificar alguna de las opciones del desplegable:
En los siguientes pasos vemos qué opciones hay que modificar.
3
En la pestaña function Set seleccionar el tipo de nodo para nuestro Xbee:

En la red debe haber almenos un coordinador y un router o End Device AT.
4
Hay que seleccionar el direccionamiento ya que ambos módulos tienen que tener el mismo PAN ID:
-          Coordinador: Configurar las destination address - DH y DL- con las SH y SL – Serial Number- del dispositivo con el que queramos comunicarnos –Router o End Device-.
-          Router / End device: Hacemos lo mismo que hemos hecho con el coordinador. Configuramos las DH y DL con las SH y SL del Coordinador.

La destination address la podemos ver en el reverso de nuestros transceptores Xbee.
5
Cuando hayamos finalizado la configuración del módulo, le damos al botón Write y esperamos a que se escriban los parámetros sobre el módulo. Cuando finalice ya tendremos el módulo listo para comunicar.



Configuración de los módulos vía la ventana Terminal
1
Abrir la ventana terminal o abrir el programa Hyperterminal de Windows.
2
Escribir sobre el cuadro de diálogo que nos aparece “+++”. Si recibimos respuesta del transceptor, éste nos devolverá un “OK”.
3
Seleccionar el Baud Rate mediante ATBBD[BAUDRATE], habiendo las siguientes posibilidades 1 = 1200 baud,  2 = 4800 baud, 3 = 9600 baud, 4 = 19200 baud, 5 = 38400 baud, 6 = 57600 baud, 7 = 115200 baud. Por ejemplo, haciendo ATBD7, configuraremos el Xbee a 115200 bps.
4
Comprobar la versión de firmware del Xbee escribiendo “ATVR”. Comprobar que la versión devuelta por el Xbee es la misma que la instalada.
5
Para hacer que dos Xbee se hablen configuramos como antes las direcciones de cada Xbee con la que queramos que se hable, por ejemplo, supongamos que la Xbee 1 se tiene que hablar con la Xbee 2, haremos:
-          Para la Xbee 1:
XBee #1 ATDL 02 [Enter] (Habla a la XBee cuya dirección es 02 solamente) ATMY 01 [Enter] (Configura mi XBee 1 como 01). Luego guardar haciendo ATWR.
-          Para la Xbee 2:
XBee #2 ATDL 01 [Enter] (Habla a la XBee cuya dirección es 01 solamente) ATMY 02 [Enter] (Configuro mi Xbee 2 como 02). Luego guardar haciendo ATWR.
6
Escribir ATWR para guardar los parámetros a la Xbee.
7
Finalmente, escribir ATCN para salir del modo comando del Xbee. Si el Xbee nos responde “OK”, habremos configurado el Xbee correctamente.

Ejemplo: Interpretación de tramas datos I/O.
1
Aquí ponemos algunos ejemplos de tramas para que podamos interpretarlas si lo necesitamos:
En un proyecto trato de monitorizar la temperatura y la tensión de alimentación de un nodo remoto y recibo de mi sensor remoto la siguiente trama:
7E 00 14 92 00 13 A2 00 40 6C 52 65 7C D0 01 01 00 00 81 01 BD 09 58 67
Ejemplo
Descripción
0x7E
start of frame
0X00
number of bytes (MSB between length and checksum)
0X14
number of bytes (LSB)
0x92
frame type (IO sample RX indicator)
0x00-0x65
64-bits address sender
0x7C-0xD0
16 bits address sender
0×01
receive option (packet acknowledge)
0×01
number of samples (1 sample)
0×00-0×00:
digital channel mask
0×81
analog channel mask
0×01-0xBD:
analog samples: Temperatura
0×09-0×58:
analog samples: Tensión
0×67:
checksum
Aplicando la fórumla de conversiones AD: (VALOR AD * 1200 mV)/1024
Tenemos que:
Valor temperatura: (0x01BD) 0.52V (convertir a temperatura según rango y sensor).
Valor tensión batería: (0 x 0958) 2.8V

 Código
Copia y pega el siguiente código en el IDE de Arduino. Luego compila y asegúrate que no tiene errores. Finalmente transfiérelo a la placa Arduino.
NA



Enlaces y teoría relacionada.
Puedes consultar la teoría relacionada con el proyecto en los siguientes links:
-          Fundamentos de radio:
-          Wireless sensor networks: http://en.wikipedia.org/wiki/Wireless_sensor_network
-          Manual de Xbee:
Proyectos relacionados
En la web tienes otros proyectos relacionados, entra en:
-  Pendiente a desarrollo de Web- www.opiron.com
Algunos proyectos que te interesan son:
-          Establecer comunicación entre transceptores Xbee.
-          Desarrollo de sensores con Xbee.
Feedback y comentarios
En Opiron tenemos como meta que cualquier usuario pueda darnos su punto de vista. Anímate y participa en nuestro foro si tienes alguna duda o iniciativa respecto a este proyecto o cualquier otro en:
-          Pendiente a desarrollo de Web- www.opiron.com
Autores
Este proyecto ha sido realizado por:
Antón Girod (Ing de Desarrollo)                Dic’2012
(Nombre/Rol)                                   (Fecha).
Licencia
Esta obra está sujeta a la licencia Reconocimiento-CompartirIgual 3.0 Unported de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/3.0/ o envie una carta a Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.

Licencia Licencia Creative Commons



No hay comentarios:

Publicar un comentario en la entrada