Sensor Inalámbrico de Gas LP - The Time Traveler's … · Espere un segundo para enviar la cadena...

14
Sensor Inalámbrico de Gas LP DISPOSITIVOS:Sensor: Figaro TGS-2610 Módulos Inalámbricos: OEM-XB24 / OEM –XBP24 Microcontrolador (μC) : MC9S08QG8 Nota de Aplicación Descripción Esta nota de aplicación describe la implementación de un sensor de gas LP (y componentes) utilizando dos módulos inalámbricos Xbee 1 controlados por un μC MC9S08QG8 2 c/u. Gracias a los elementos utilizados se logra una enorme flexibilidad y facilidad de implementación sin necesidad de realizar cambios a la infraestructura donde se vaya medir la variable a sensar. La aplicación no tiene implementado un sistema de alarmado o realiza acción alguna al momento de rebasar cierto nivel de Gas, se deja a consideración y creatividad del usuario el implementar dicha parte. La aplicación no tiene la finalidad de ser un producto terminal, por lo que la calibración del sensor a niveles de concentración de Gas (definibles por el usuario) debe ser realizada bajo las condiciones que marca el fabricante. Módulos OEM de RF Xbee/Xbee-PRO http://www.maxstream.net Especificaciones XBee Xbee-PRO Desempeño Indoor / Rango Urbano Hasta 100 ft (30m) Hasta 300ft (100m) Outdoor RF línea de Vista Hasta 300ft (100m) Hasta 1 milla (1500m) Potencia de Transmisión 1mW (0 dBm) 60mW (18 dBm) guiado, 100mW (20 dBm) EIRP Vel de Datos RF 250,000 bps 250,000 bps Vel de Datos con la Interfaz (elegible por Software) 1,200-115,200 bps (también soporta velocidades de baudios no estándares 1,200-115,200 bps (también soporta velocidades de baudios no estándares Sensibilidad del Receptor -92 dBm (1% de promedio de error) -100 dBm (1% de promedio de error) Requerimientos de Energía 1 Xbee es una marca registrada de MaxStream Inc. Los logos de Xbee y MaxStream son propiedad de MaxStream Inc. Todos los derechos están reservados. 2 MC9S08QG8 es una marca Registrada de Freescale Inc. El logo de Freescale es Propiedad de Freescale Inc. Todos los derechos están reservados.

Transcript of Sensor Inalámbrico de Gas LP - The Time Traveler's … · Espere un segundo para enviar la cadena...

Sensor Inalámbrico de Gas LP

DISPOSITIVOS:Sensor: Figaro TGS-2610 Módulos Inalámbricos: OEM-XB24 / OEM –XBP24 Microcontrolador (µC) : MC9S08QG8

Nota de Aplicación

Descripción

Esta nota de aplicación describe la implementación de un sensor de gas LP (y componentes) utilizando dos módulos inalámbricos Xbee1 controlados por un µC MC9S08QG82 c/u. Gracias a los elementos utilizados se logra una enorme flexibilidad y facilidad de implementación sin necesidad de realizar cambios a la infraestructura donde se vaya medir la variable a sensar. La aplicación no tiene implementado un sistema de alarmado o realiza acción alguna al momento de rebasar cierto nivel de Gas, se deja a consideración y creatividad del usuario el implementar dicha parte.

La aplicación no tiene la finalidad de ser un producto terminal, por lo que la calibración del sensor a niveles de concentración de Gas (definibles por el usuario) debe ser realizada bajo las condiciones que marca el fabricante.

Módulos OEM de RF Xbee/Xbee-PRO http://www.maxstream.net

Especificaciones XBee Xbee-PRO Desempeño Indoor / Rango Urbano Hasta 100 ft (30m) Hasta 300ft (100m) Outdoor RF línea de Vista Hasta 300ft (100m) Hasta 1 milla (1500m) Potencia de Transmisión 1mW (0 dBm) 60mW (18 dBm) guiado, 100mW (20

dBm) EIRP Vel de Datos RF 250,000 bps 250,000 bps Vel de Datos con la Interfaz (elegible por Software)

1,200-115,200 bps (también soporta velocidades de baudios no estándares

1,200-115,200 bps (también soporta velocidades de baudios no estándares

Sensibilidad del Receptor -92 dBm (1% de promedio de error) -100 dBm (1% de promedio de error) Requerimientos de Energía

1 Xbee es una marca registrada de MaxStream Inc. Los logos de Xbee y MaxStream son propiedad de

MaxStream Inc. Todos los derechos están reservados. 2 MC9S08QG8 es una marca Registrada de Freescale Inc. El logo de Freescale es Propiedad de Freescale Inc.

Todos los derechos están reservados.

Voltaje de Alimentación 2.8 ~ 3.4V 2.8 ~ 3.4V Corriente (típica) del Transmisor

45mA (@3.3V) 270 mA (@3.3V)

Corriente (típica) del Receptor

50 mA (@3.3V) 55 mA (@3.3V)

Corriente de Apagado < 10 µA < 10 µA General Frecuencia de Operación ISM 2.4 GHz ISM 2.4 GHz Dimensiones 0.960” x 1.087” (2.438cm x 2.761cm) 0.960” x 1.297” (2.438cm x 3.294cm) Temperatura de Operación -40° a 85 °C (industrial) -40° a 85 °C (industrial) Opciones de Antena Conector U. FL , antena de circuito o

antena Whip. Conector U. FL , antena de circuito o antena Whip.

Red y Seguridad Topologías de red soportadas

Punto a punto, punto a Multipunto, Peer-to-.peer, y Malla (próximamente)

Punto a punto, punto a Multipunto, Peer-to-.peer, y Malla (próximamente)

Número de Canales (elegibles por software)

16 Canales de Secuencia Directa 13 Canales de Secuencia Directa

Opciones de Filtrado PAN ID; Canal y Fuente / Dirección Destino

PAN ID; Canal y Fuente / Dirección Destino

Ver Apéndice C (Patrón de Radiación de las antenas)

* Fuciones no soportadas con el release 1.06

• Las conexiones mínimas son: Vcc, GND, DOUT y DIN

• La dirección de las señales es respecto al módulo.

• El módulo incluye una resistencia pull-up de 50k ligada al RESET

Nota : El “footprint” del Xbee y la figura que se muestra del lado izquierdo están disponibles en los archivos PCB y Esquematico respectivamente, totalmente disponibles para tus diseños

Para modificar o Leer los parámetros del MODEM de RF, el MODEM debe entrar primero en un modo de comando, un estado en el cual los caracteres que reciba son interpretados como comandos. Los módulos soportan dos Modos de Comando: Modo Comando AT y Modo Comando API, en nuestro caso, solo abordamos el modo AT. Para entrar al modo comando se requiere de cumplir con la siguiente secuencia (GT + CC + GT) donde GT se refiere a un tiempo de guarda desde el último carácter recibido en forma serial, CC se refiere a una cadena de caracteres que el MODEM reconoce como secuencia para entrar a modo comando (modificable por el usuario con el comando ATCC, por defecto, la secuencia de comando es “+++”. Nota: Tanto en la nota de Aplicación como en el programa se especifica que para que

funcione, se requiere que GT = 50 Hex, esto se puede solucionar de dos maneras, si se tiene el Kit de desarrollo lea el apéndice A. En caso contrario, lea el Apéndice B.

El manual del Xbee indica que se puede cambiar la velocidad de los baudios de la transmisión serial, esto sirve por ejemplo cuando los datos transmitidos de forma inalámbrica son más lentos que el procesamiento con el µC y el buffer de recepción del MODEM se llena, por lo que puedes disminuir la velocidad Serial (también se puede modificar el caso contrario), con el MODEM es muy sencillo solo tendrías que utilizar el comando adecuado. Con el µC también es muy sencillo, y se debe seguir el siguiente procedimiento. Abre el Programa de la Aplicación, ahora deja que se ejecute el Processor Expert, en la ventana del proyecto selecciona la pestaña Processor Expert debe aparecer la siguiente figura:

Ahora solo debes dar Doble clic en el “Bean” AS1:AsynchroSerial, localizado en la carpeta Beans. Se desplegará una ventana con las características del Bean, como se muestra en la siguiente Figura.

a un clic en la opción Settings, se desplegará el siguiente menú:

D

En la opción Baud Rate, aparece el 9600, puedes dar un clic en el ícono marcado como “...” y

se desplegará la ventana siguiente:

n la parte inferior, puede observar que te indica Posible in all speed modes: 31-250000 baud,

or último solo debe dar OK en la ventana, compilar el programa y programar al µC.

l abrir el Bean de la comunicación Serial, el usuario puede notar que la interrupción está

Elo cual quiere decir que puedes seleccionar prácticamente cualquier velocidad de baudios entre esos valores, solo debes colocar el valor en el cuadro de Requested baud rate y el programa te mostrará el valor más cercano que puede generar, esto depende de la velocidad del cristal interno, por lo que si quieres obtener un valor más exacto al baudaje que requieres, puedes variar la velocidad del cristal del micro (para más información acerca de estas propiedades lea las secciones Internal Clock Source, y Serial Communications Interface del manual del MC9S08QG8). P Adeshabilitada, esto quiere decir que no se utilizan las señales RTS ni CTS tanto del micro como del XBEE esto se debe a que la versión de Firmware V 1.06 de los primeros Xbee no soportan las señales RTS ni CTS, la nueva versión de firmware (V1.08) ya soporta estas interrupciones, por lo que si el usuario desea manejar la comunicación serial con señales de control debe como primeros pasos descargar la versión 1.08 de firmware en los Xbee (solo se puede descargar por medio del software X-CTU v. 4.9.8 u obtenerlo en AG Electronica) y en el micro debe habilitar la interrupción del Bean y colocar CTS en el puerto PTA5 y RTS en PTB7 (en la tarjeta también se deben habilitar los jumpers que marcados como CTS y RTS).

¿Cómo puedo saber qué versión de firmware tiene mi Xbee? apéndices A y B) y utilizando el

Existen dos formas, una es utilizando el comando ATVR (verSoftware X-CTU V. 4.9.8 (leer apéndice A en sus últimas partes) y en la pestaña “Modem Configuration” presionar el botón Read, el software te desplegará varios datos acerca del MODEM incluyendo la versión de Firmware. Por medio de esta ventana también se descargan nuevas versiones. Para mayor información lea el manual del fabricante acerca de este producto.

APÉNDICE A I.- CAMBIAR EL TIEMPO DE GUARDA DEL MODEM XBEE A TRAVÉS DEL

SOFTWARE PROPIEDAD DE MAXSTREAM X-CTU. Primero conecte el módulo a la PC a través de la tarjeta del kit (USB o RS-232) y ejecute el software X-CTU. Por defecto, el X-CTU viene configurado con 9600 bps, 8 bits de datos, sin paridad y con un bit de paro, si no se ha alterado la configuración del MODEM, este se debe poder comunicar sin problemas. Ahora Seleccione el puerto correspondiente donde esté conectado el MODEM y de un clic en la pestaña Terminal

Espere un segundo para enviar la cadena “+++”(sin teclear ENTER), el programa regresará un OK, en caso contrario, espere un segundo antes de intentar re-enviar la cadena. Una vez recibido el Ok, puede escribir cualquier comando AT del módulo Xbee, en nuestro caso, escriba ATGT↵

El MODEM retornará el valor en Hexadecimal del tiempo de guarda en milisegundos, por defecto, regresa un 3E8(Hex) que corresponde al 1000 decimal (x 1ms= 1 seg.)

Ahora escriba nuevamente ATGT pero antes del ENTER escriba un 50 y después presione ENTER.

Esto lo interpretará el MODEM como 50 Hex (= 80 decimal x 1ms = 80ms) es decir, ahora antes de enviar la cadena de comando solo hay que esperar 80ms y no un segundo. Para grabar el cambio en el MODEM en su memoria no-volátil, escriba el comando ATWR↵, de lo contrario, el MODEM reiniciará con las características por defecto cada vez que lo reencienda.

Por último, para salir de modo comando teclee la cadena ATCN, el MODEM regresará un OK como respuesta si no hubo problema. Nota: Después de cierto tiempo de no recibir caracteres, el MODEM sale de modo comando

automáticamente, por defecto el tiempo de espera es de 3 segundos, transcurrido este tiempo, los caracteres siguientes no los tomará como comandos, sino como caracteres que transmitirá de forma inalámbrica.

¿Puedo cambiar la cadena para entrar a modo comando? Si, utilizando el comando ATCC. ¿Cómo puedo regresar al MODEM a su configuración de fábrica? Hay dos maneras, una es con el comando ATRE y la otra es a través del software X-CTU, en la Pestaña “MODEM Configuration” dé un clic en el botón Read, una vez que el software haya identificado el MODEM, presione el botón RESTORE. NOTA: Para restaurar por medio del software X-CTU se requiere como mínimo la versión

4.9.8 de lo contrario, el software no reconocerá al MODEM. ¿Puedo Usar la Hyperterminal? Si, el MODEM es transparente a cualquier comunicación serial por lo que solo debes configurar el puerto donde conectes la tarjeta con la velocidad y bits de datos Por defecto, el MODEM viene configurado con 9600 bps, 8 bits de datos, sin paridad y con un bit de paro, se recomienda que para que se te sea más sencillo el ver los comandos actives el ECO de los caracteres escritos.

¿Cómo puedo saber la versión de X-CTU que tengo? Solo tienes que dar un clic derecho sobre la barra azul superior de la ventana del Software y aparecerá un menú desplegable, selecciona la opción About y listo.

¿Puedo cambiar más parámetros del Xbee? Claro, puedes cambiar la dirección destino, la dirección del MODEM, la velocidad de recepción serial, etc. Para más información acerca de los parámetros que puedes cambiar lee el manual del Producto. He cambiado el tiempo de guarda pero ahora ya no puedo entrar a modo comando ¿a qué se debe? Si el tiempo de guarda es muy pequeño es posible que no te de tiempo enviar la cadena de comando de forma seguida por lo que entre carácter y carácter el MODEM cree que hay un tiempo de guarda, es por ello que se escogió la velocidad de 80milisegundos, si estás solo haciendo pruebas, en el X-CTU y pusiste GT = 50 (hex) para volver a entrar a modo comando, solo presiona la tecla + y déjala presionada, de tal manera que la PC enviará seguidos los próximos “+++” automáticamente, verás que el MODEM te regresa un OK después de recibir los “+++”.

APÉNDICE B I.- CAMBIAR EL TIEMPO DE GUARDA DEL MODEM SIN CONTAR CON EL KIT DE

DESARROLLO. Para este paso tienes dos opciones, una es armar una tarjeta con un MAX 232 conectado a los pines Dout y Din del MODEM y ejecutar la Hyperterminal tal y como lo dice el apéndice A. La opción 2, es utilizando la tarjeta de la APLICACIÓN, el Micro y El PROGRAMA de la aplicación. Existe una subrutina llamada retardoGT, la cual se ocupa como el tiempo de Guarda, por lo que lo único que tiene que hacer el usuario es aumentar el tiempo de este retardo a 1 segundo (solo la primera vez, para que acepte las configuraciones por default) y utilizando el mismo procedimiento del programa para leer los decibeles, el usuario solo debe enviar los comandos que requiera creando cadenas al inicio del programa.

En la parte superior del Programa, están los comandos y cadenas que se envían al Xbee, por ejemplo, la cadena “+++” es la que se ocupa para entrar a modo comando, si el usuario modifica la secuencia de comandos en el MODEM, solo tendría que modificar esta cadena. Otro ejemplo es la cadena “ATDB\r” (\r es un ENTER) la cual es un comando, el usuario solo deberá crear las cadenas “ATGT 50\r” y ATWR y llamarlas de la misma forma que se manda a llamar ATDB en el programa (lea el apéndice A).

Las cadenas se mandan a llamar por medio de un puntero, por lo que la misma subrutina “Sendmsg” se puede ocupar para todos los mensajes y no importa la longitud de la cadena, esta subrutina envía los caracteres que se encuentren en la cadena que se le indique hasta que encuentre un carácter nulo, solo debe escribirle el “&” seguido del nombre de la cadena y entre corchetes a partir de qué carácter. Por ejemplo la cadena const byte msgdB [] =”atdb\r” Se manda a llamar como SendMsg (&msgdB[0])

Sencillo ¿No? Solo debes revisar ahora si el comando que utilizas te regresa o no algún valor para que lo almacenes en algunos registros, en la figura anterior, es aprecia que se usa la subrutina GetMsg (&MESSAGE[0],3) esta subrutina también utiliza un puntero por lo que el usuario puede definir en dónde guardar estos datos, el “3” indica el número de caracteres que esperas recibir, en este caso fueron 3, porque el MODEM regresa dos ASCIIS y un ENTER (ver manual del producto). La subrutina GetMsg requiere de los siguientes parámetros: GetMsg (& <nombre de la cadena donde se almacenarán los datos>[localidad a partir de cual se almacenarán los datos],<longitud de los datos que espera recibir el µC>. ¿Puedo usar más comandos? Por supuesto, no hay restricción, solo debes crear las cadenas de los comandos y mandarlas a llamar con la subrutina SendMsg y recibir lo que te devuelva el MODEM con la subrutina GetMsg, solo debes recordar el ingresar a Modo comando, el guardar los cambios y el salir de modo comando. ¿Cómo puedo regresar al MODEM a su configuración original? Usando el mismo procedimiento descrito en el Apéndice B utilizando el comando ATRE.

APÉNDICE C Patrones de Radiación de las Antenas.