INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA
Y ELÉCTRICA
UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS”
INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA
SISTEMA DE MONITOREO REMOTO EMPLEANDO
ESQUEMAS DE COMUNICACIÓN INALÁMBRICA
TESIS
QUE PARA OBTENER EL TITULO DE:
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
PRESENTAN:
Francisco David Ayala Miramón
Alejandro Hernández Polo
ASESORES:
Dr. Alberto Luviano Juárez
M. en C. Pedro Gustavo Magaña del Río
5 | Página
D
edicatorias
A mis padres Socorro y Mateo
por el apoyo incondicional en los
momentos más importantes de mi vida, por su sacrificio,
esfuerzo y confianza puesta en mí para lograr juntos esta
gran meta, porque su simple presencia en mi vida sirve para
darme ánimos de continuar adelante, les agradezco los
sabios consejos y lecciones de vida que han compartido
conmigo y que me acompañarán siempre. Los amo.
A mi tío Antonio a pesar de ya no estar con
nosotros, te llevamos siempre en el corazón.
7 | Página
Dedicatorias
A la mentora de mis sueños (Josefina, Mi Madre),A mi ejemplo a seguir (Mi Padre Raúl),
A mi compañeros de vida (Mis Hermanos Alberto y Raúl),
A mi hermana Bere por creer en mí.
Un logro que, no solamente, les dedico a ellos, sino que también son parte de él. A todos
ellos a los que hicieron y quisieron ser parte de mí, parte de él.
A Mamá Conchita por su efusividad al decirme “¡Felicidades! Ya eres un Ingeniero”.
A Abuelita Lupita por siempre estar con nosotros.
A la Mamá de todas las Abuelitas que, sé, aún nos está cuidando.
A esa niña tan especial que hizo más especial mi último año en mi segunda casa.
9 | Página
A
gradecimientos
A esa persona tan especial
Con quien he compartido años grandiosos
y me ha acompañado en todo momento llenándome
de todo su amor y paciencia, gracias por todo lo que me has dado
y hecho por mí, por cuidarme en los momentos más difíciles.
Gracias por el apoyo incondicional y tus consejos.
Eres alguien increíble y deseo seguir
disfrutando de momentos
inolvidables a tu lado.
Miguel, un gran amigo, compañero y miembro de mi familia,
porque juntos superamos muchos obstáculos y compartimos grandes momentos
durante nuestra formación como profesionistas. Iniciamos juntos
este sueño y juntos lo conseguimos.
Gracias por tu amistad.
A
:Ale
por haber compartido sueños, aventuras y enormes logros.
Gracias.
A mis asesores Dr. Luviano y M. en C. Magaña
por toda su atención, paciencia,
consejos y apoyo en la realización de este trabajo.
11 | Página
Agradecimientos.
Gracias a todos mis compañeros con los que pude tomar alguna de nuestras clases. Gracias a los de primer grado, el grado que difícilmente se olvida. Gracias a los compañeros de otros salones, otros semestres, por compartir sus alegrías y su conocimiento, por sus consejos. Gracias por enseñarme lo que nadie ha hecho.
Gracias a mi compañeros Jorge…. Y Miguel…., quienes seguramente nos estaremos apoyando en el transcurso de los años.
Gracias también a mis compañeros de octavo y noveno semestre que hicieron de esos semestres un año sin igual. Llega el momento de separarnos y les deseo lo mejor a todos.
Especial agradecimiento a David Ayala Miramón por darme la oportunidad de titularme junto con un amigo otro compañero para en el transcurso de los años. Los tres grandes amigos.
Profesor Magaña y Doctor Luviano. También son parte y por eso gracias. Dicen que todo comienza con una gran idea. Pero no sólo se es necesaria una gran idea. Ustedes fueron los que nos impulsaron.
Gracias a mi escuela por dejarme ser parte de la Institución. Gracias por dejarme ser parte de su orgullo, un orgullo Politécnico.
Gracias Dios por lo que has hecho por mí y por lo que no también. Por haberme puesto junto a estas personas que, tú sabías, me darían demasiado. Por eso te pido por ellos, te pido que cuides a ellos. Sé que una palabra no dice nada, pero dice mucho cuando se es con el corazón “Cuídalos”.
Porque el Título es mío, pero este orgullo es de ustedes, por eso
¡GRACIAS!
13 | Página
SISTEMA DE
MONITOREO
REMOTO
EMPLEANDO
ESQUEMAS DE
COMUNICACIÓN
15 | Página
O B J E T I V O
17 | Página
ÍNDICE
OBJETIVO XV
INTRODUCCIÓN XXIII
JUSTIFICACIÓN XXVII
Capítulo 1
Elementos que Integran al Sistema 31
1.1. Plataforma Arduino 33
1.1.1. Memoria 34
1.1.2. Entradas y salidas 34
1.1.3. Programación 35
1.2. Microcontrolador 35
1.2.1. Arquitectura Interna de un Microcontrolador 35
1.2.2. Microcontrolador ATMEL ATmega 2560 36
1.3. Módulos de Comunicación 37
1.3.1. Módulo GSM CellularShield SM5100B 37
1.3.2. Módulo de Comunicación XBee 38
1.4. Sensores 39
1.4.1. Sensor de temperatura TMP 102 40
1.4.2. Sensor de luz de ambiente TEMT 6000 42
1.4.3. Sensor de gas LP MQ-6 43
1.5. Actuadores 44
1.5.1. Servomotores Hitec HS-311 y HS-322 44
1.6. Minirobótica 46
1.6.1. Estructura general de un robot 47
Capítulo 2
Diseño y Entorno del Sistema 49
2.1. Arquitectura del sistema 51
2.2. Conexión de Componentes Principales 52
2.2.1. Placa Arduino Mega 2560 52
2.2.2. Módulo Inalámbrico Xbee 53
2.3. Software X-CTU para comandos 54
2.4. Instalación Xbee Explorer 58
2.5. Configuración del módulo Xbee 60
2.5.1. Usando Hyperterminal 60
2.5.2. Usando X-CTU 62
2.6. Conexión Módulo Xbee con Shield y Arduino 66
2.7. Conexión Módulo Cellular Shield y Arduino 67
18 | Página
2.9. Entorno de desarrollo Arduino 72
2.10. Diseño del Robot Cuadrúpedo 73
2.10.1. Placa para conexión de servomotores 75
2.10.2. Fuente de alimentación 76
2.11. Interfaz de adquisición de datos con X-CTU 77 2.12. Procedimiento de detección de gas 79 2.13. Diagrama a bloques de comunicación 81
Capítulo 3 Pruebas y Resultados 83
3.1 Introducción al Capítulo 85 3.2. Transmisión de caracteres numéricos de 0 a 99 85
3.3. Transmisión de caracteres 0 a 99 mediante módulos Xbee 86 3.4. Comunicación PC-Arduino 1 87 3.5. Comunicación PC-Arduino 2 88 3.6. Rutinas de movimiento del robot mediante Xbee 89 3.6.1. Desplazamiento vertical (lagartijas) 90 3.6.2. Test de Desplazamiento de extremidades 91 3.6.3. Desplazamiento hacia delante 93 3.6.4. Desplazamiento hacia atrás 94 3.6.5. Desplazamiento hacia la derecha 95 3.6.6. Desplazamiento hacia la izquierda 96 3.7. Test de distancia Xbee 97 3.8. Sensor de luminosidad 99 3.9. Sensor de temperatura 100
3.10. Sensor de gas LP 101
3.11. Pruebas de comunicación mediante módulo GSM 103
3.11.1 Comunicación con módulo GSM parte 1 103
3.11.2 Comunicación con módulo GSM parte 2 105
3.11.3 Comunicación con módulo GSM parte 3 106
3.11.4 Comunicación con módulo GSM parte 4 107
3.11.5 Comunicación con módulo GSM parte 5 108
APLICACIÓN DEL SISTEMA 111
CONCLUSIONES Y RECOMENDACIONES 117
ANEXO A 121
ANEXO B 137
ANEXO C 155
19 | Página
GLOSARIO 175
BIBLIOGRAFÍA 183
ÍNDICE DE FIGURAS
CAPÍTULO 1
Figura 1.1. Arduino Mega 2560: 34
Figura 1.2. Dimensiones del Microcontrolador: 36
Figura 1.3. Módulo GSM SM5100B: 37
Figura 1.4. Antena para celular: 38
Figura 1.5. Módulo Xbee Serie 1: 39
Figura 1.6. Sensor de temperatura TMP 102: 41
Figura 1.7. Sensor de luz TEMT 6000: 42
Figura 1.8. Sensor de gas LP MQ-6: 43
Figura 1.9. Estructura interna del servomotor: 45
Figura 1.10. Posicionamiento por pulsos: 45
Figura 1.11. Características Físicas del servomotor: 46
CAPÍTULO 2
Figura 2.1. Diagrama a bloques del sistema de monitoreo: 51
Figura 2.2. Conexión básica del Xbee Serie 1: 53
Figura 2.3. Opción “PC Settings”: 54
Figura 2.4. Opción “Range Test”: 55
Figura 2.5. Opción “Terminal”: 56
Figura 2.6. Opción “Módem Configuration”: 57
Figura 2.7. Placa Xbee Explorer: 58
Figura 2.8. Conexión de placa Xbee USB con el Ordenador: 59
Figura 2.9. Configuración de Conexión: 59
Figura 2.10. Configuración Hyperterminal: 60
Figura 2.11. Comandos AT por Hyperterminal: 61
Figura 2.12. Test para verificar conexión: 62
Figura 2.13. Pestaña Terminal: 63
Figura 2.14. Configuración del Módem: 64
Figura 2.15. Proceso de Configuración Xbee Completado: 65 Figura 2.16. Conexión entre Xbee Shield y Arduino: 66 Figura 2.17. Conexión del GSM Cellular Shield con Arduino: 67 Figura 2.18. Elemento de conexión Arduino con el ordenador: 68
Figura 2.19. Inicialización del Software Arduino: 69
20 | Página
Figura 2.21. Selección de la placa Arduino: 71
Figura 2.22. Herramientas de Arduino: 72
Figura 2.23. Plantilla de diseño de piezas del brazo: 73
Figura 2.24. Plantilla de diseño de piezas del robot: 74
Figura 2.25. Robot Ensamblado: 75
Figura 2.26. Diseño de placa de conexión de servomotores: 75 Figura 2.27. Batería Li-ion: 76 Figura 2.28. Cargador de baterías Li-ion: 77 Figura 2.29. Interfaz de Comunicación de datos para el sistema principal: 78 Figura 2.30. Alarma de detección de gas en X-CTU: 80
Figura 2.31. Muestra de datos de sensores en X-CTU: 80 Figura 2.32. Transmisión-Recepción de la central: 81
Figura 2.33. Transmisión-Recepción del robot móvil: 81
CAPÍTULO 3 Figura 3.1. Transmisión de datos numéricos a través de Serial Monitor: 85
Figura 3.2. Transmisión de datos a X-CTU a través de Xbee: 86 Figura 3.3. Comunicación PC – Arduino 1: 87 Figura 3.4. Comunicación PC – Arduino 2: 88 Figura 3.5. Inicialización y modo en espera del sistema: 89 Figura 3.6. Inicialización de movimiento de lagartijas: 90 Figura 3.7. Movimiento de lagartija del robot: 90
Figura 3.8. Inicialización de Test de movimiento de extremidades: 91
Figura 3.9. Movimiento de extremidades del robot: 92
Figura 3.10. Inicialización del desplazamiento hacia adelante: 93 Figura 3.11. Desplazamiento hacia adelante: 93
Figura 3.12. Inicialización del desplazamiento hacia atrás: 94
Figura 3.13. Desplazamiento hacia atrás: 94 Figura 3.14. Inicialización del movimiento de giro a la derecha: 95 Figura 3.15. Giro a la derecha: 95
Figura 3.16. Inicialización del movimiento de giro a la izquierda: 96
Figura 3.17. Giro a la izquierda: 96
Figura 3.18. Inicialización del Test de distancia de Xbee: 97
Figura 3.19. Test de distancia de módulos Xbee: 98 Figura 3.20. Dato máximo del sensor TEMT6000 con presencia de luz: 99
Figura 3.21. Dato mínimo del sensor TEMT6000 en ausencia de luz: 99 Figura 3.22. Temperatura ambiente detectada por el sensor TMP102: 100
Figura 3.23. Detección mínima de concentración de gas del sensor MQ-6: 101
Figura 3.24. Detección máxima de concentración de gas del sensor MQ-6: 101 Figura 3.25. Posicionamiento del sensor con ayuda del brazo: 102
Figura 3.26. Detección del nivel de concentración de gas: 103
Figura 3.27. Comunicación con módulo GSM parte 1: 104
Figura 3.28. Comunicación con módulo GSM parte 2: 105
Figura 3.29. Comunicación con módulo GSM parte 3: 106
21 | Página
Figura 3.31. Mensaje “Hola Mundo” recibido en teléfono celular: 108
Figura 3.32. Comunicación con módulo GSM parte 5: 108
Figura 3.33. Mensaje “Número Aleatorio” recibido en teléfono celular: 109
CAPÍTULO 4 Figura 4.1. Desplazamiento del robot al lugar de la fuga: 114
Figura 4.2. Recopilación de datos del lugar: 114
Figura 4.3. Concentración de gas en la primera habitación: 115
Figura 4.4. Posicionamiento del robot en el lugar de la fuga: 115
Figura 4.5. Concentración de gas en el lugar de la fuga: 116
ANEXO A Figura A.1. Dimensiones del Arduino Mega 2560: 123
Figura A.2. Vista Superior del Xbee: 126
Figura A.3. Vista lateral del Xbee: 126
Figura A.4 Vista inferior del Xbee: 127
Figura A.5. Vista lateral frontal del Xbee: 127
Figura A.6. Dimensiones de la placa Xbee USB: 128
Figura A.7. Dimensiones de la placa GSM Cellular Shield: 128
Figura A.8. Sensor TMP 102: 129
Figura A.9. Dimensiones del sensor TMP 102: 130
Figura A.10. Encapsulado TEMT 6000: 131
Figura A.11. Dimensiones de la placa del sensor TEMT 6000: 131
Figura A.12. Dimensiones de sensor TEMT 6000: 132
Figura A.13. Dimensiones del sensor MQ-6: 133
Figura A.14. Estructura y configuración del sensor MQ-6: 134
Figura A.15. Sensor catalítico de perla: 135
ANEXO B1 Figura B.1. Comparación de canales GSM 900, DSC 1800 y PSC 1900: 141
Figura B.2. Posiciones complementarias de WLAN’s y WPAN’s: 143
Figura B.3. Dimensiones del Xbee Serie 1: 146
Figura B.4. Configuración módulo 1: 149
Figura B.5. Configuración módulo 2: 149
Figura B.6. Ejemplo de direccionamiento 16 y 64 bits: 150
Figura B.7. Canales disponibles para el protocolo IEEE 802.15.4: 151
22 | Página
ÍNDICE DE TABLAS
CAPÍTULO 3
Tabla 3.1. Prueba de distancia 1: 97
Tabla 3.2. Prueba de distancia 2: 98
ANEXO A
Tabla A.1 Detalles Técnicos de Xbee Serie 1: 125
ANEXO B
23 | Página
25 | Página
INTRODUCCIÓN
Al requerirse un sistema de seguridad para advertir de situaciones anormales que cumpla a la vez con las normas de seguridad que forman parte del diseño de los sistemas de protección se ha diseñado un sistema de monitoreo de comunicación inalámbrica que sirve como elemento de detección frente a problemas como: la intrusión de personas, inicio de fuego o presencia de agentes tóxicos.
Con el desarrollo de las tecnologías inalámbricas, se ha conseguido tener autonomía en los sistemas a grandes distancias, dentro de éstas las de mayor fuerza son las redes de telefonía celular y de área personal que poco a poco se introducen en distintos campos de aplicación y por las cuales se han generado mejores sistemas de transmisión.
En el presente trabajo se muestra el diseño, desarrollo y pruebas a las que fue sometido un sistema de monitoreo basado en robótica móvil que permite extender la funcionalidad de los sistemas de seguridad, representando una fuente de mayor grado de información y permitiendo libertad de exploración en lugares confinados y medios ambientes hostiles al contar con esquemas de comunicación inalámbrica, reforzando los aspectos de seguridad e integridad de la vida humana. Este sistema es guiado a distancia mediante un enlace de red inalámbrica de área personal basado en el estándar IEEE 802.15.4 de ZigBee.
La interfaz que controla el sistema se ubica en una computadora remota y permite al usuario un fácil control de movimientos y monitoreo del ambiente en todo momento al permitir enviar comandos y recibir la información obtenida. El sistema puede ser controlado mediante este enlace inalámbrico en un radio de aproximadamente 100m dependiendo de las variables del entorno donde se encuentre. Gracias al diseño de la estructura mecánica se permite el monitoreo a distancia y desplazamiento a través de entornos que pueden resultar peligrosos para la seguridad humana.
27 | Página
29 | Página
JUSTIFICACIÓN
En México el mercado de los sistemas de seguridad es muy limitado y falto de atención, sin embargo existen empresas apostando a este giro que no deja de ser rentable fomentando una cultura de seguridad. La seguridad en sí misma no es barata, pues se trata de mantener el bienestar de personas y posesiones materiales.
Con la tecnología actual los desastres naturales pueden ser detectables pero no manipulables, mientras que los provocados por el hombre pueden ser detectables y manipulables, al menos con la finalidad de poder llegar a tomar una decisión a su debido tiempo salvando vidas y bienes.
Diferentes sistemas de comunicación y tecnologías han sido diseñados para facilitar el intercambio de datos, consiguiendo trasmitir información en grandes cantidades con gran calidad y velocidad. El desarrollo de dispositivos y tecnologías inalámbricas como Wi-fi, Wi-Max, Bluetooth, Xbee, GSM, GPRS, entre otros, facilitan la implementación de dispositivos con mandos remotos que pueden servir para monitoreo y control. Contar con más de una de estas tecnologías inalámbricas dentro de un solo sistema, asegura un mayor rendimiento así como un amplio campo de aplicaciones.
Los sistemas de monitoreo actuales operan de diferentes formas, sus características los convierten en complementarios en vez de excluyentes. Un modelo de detección móvil inalámbrico contribuye a incrementar la integridad del ambiente de espacios confinados por medio de la exploración gracias a la capacidad de disponer de herramientas necesarias para gestionar la calidad del ambiente donde se encuentra, con lo que se permite la toma de decisiones en caso de presentarse un problema.
31 | Página
C
APÍTULO 1
|
ELEMENTOS
33 | Página
1.1. Plataforma Arduino
Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquier persona interesada en la creación de entornos y objetos interactivos, facilitando el uso de la electrónica en proyectos multidisciplinares. Está basada en una placa con un microcontrolador y un entorno de desarrollo (software).
Arduino puede tomar información del entorno a través de sus pines de entrada de toda una gama de sensores y puede controlar luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing), el cual se puede descargar de forma gratuita de internet. Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar la placa a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software (ej. Flash, Processing, MaxMSP).
Los ficheros de diseño de referencia (CAD) están disponibles bajo una licencia abierta (Open Hardware), así pues, se tiene la libertad de adaptarlos a las necesidades y utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin necesidad de adquirir algún tipo de licencia.
34 | Página
Figura 1.1. Arduino Mega 2560
1.1.1. Memoria
El ATmega2560 tiene 256KB de memoria flash para almacenar código (8KB son usados para el arranque del sistema (bootloader), 8 KB de memoria SRAM, 4KB de EEPROM.
1.1.2. Entradas y Salidas
Cada uno de los 54 pines digitales pueden utilizarse como entradas o salidas. Las E/S operan a 5 volts. Cada pin puede proporcionar o recibir una intensidad máxima de 40mA y tienen una resistencia interna de 20-50kΩ. Además, algunos pines tienen funciones especializadas como:
PWM: en pines 2 a 13 y de 44 a 46. Proporciona una salida PWM (Pulse Wave Modulation; Modulación de onda por pulsos) de 8 bits de resolución (valores de 0 a 255) a través de la función analogWrite().
35 | Página
1.1.3. Programación
El Arduino Mega se puede programar empleando el software Arduino. El microcontrolador ATmega2560 viene precargado con un gestor de arranque (bootloader)que permite cargar un nuevo código sin necesidad de un programador por hardware externo. Se comunica utilizando el protocolo original STK500.
1.2. Microcontrolador
Un microcontrolador es un circuito integrado de alta escala de integración que incorpora la mayor parte de los elementos que configuran un controlador y que contiene todos los componentes fundamentales de una computadora, aunque de limitadas prestaciones. En su memoria sólo reside un programa que controla el funcionamiento de una tarea determinada, sus líneas de entrada y salida se conectan a los sensores y actuadores del dispositivo a controlar, y debido a su pequeño tamaño, suele ir integrado en el propio dispositivo que gobierna.
Los microcontroladores están presentes en nuestra vida diaria en general. Se pueden encontrar en el funcionamiento de computadoras, impresoras, módems, teléfonos, juguetes, etc.
1.2.1 Arquitectura Interna de un Microcontrolador
Partes Principales de un microcontrolador:
Procesador.
Memoria No volátil para almacenamiento del programa.
Memoria de Lectura y escritura para datos.
Líneas de Entrada/Salida para los controladores periféricos.
o Comunicación Paralelo. o Comunicación Serie. o Puertos de Comunicación.
Recursos Auxiliares.
o Circuito de Reloj. o Temporizadores.
36 | Página
o Comparadores Analógicos.
o Protección ante fallos de alimentación. o Estado de reposo o bajo consumo.
1.2.2. Microcontrolador ATMEL ATmega 2560
El ATmega 2560 (Figura 1.2) es un microcontrolador CMOS de 8 bits de bajo consumo basado en la arquitectura RISC AVR mejorada (Harvard Mejorada). Mediante la ejecución de poderosas instrucciones en un ciclo simple de reloj, el ATmega 2560 logra un rendimiento aproximado de 1 MIPS por MHz que permite al diseñador del sistema optimizar el consumo de energía en comparación con la velocidad de procesamiento. La arquitectura resultante es más eficiente en código mientras logra rendimientos de hasta 10 veces más rápidos que los microcontroladores en arquitectura CISC.
El ATmega2560 ofrece las siguientes características: 256K bytes en una memoria flash programable en el sistema con capacidad de lectura y escritura, 4K bytes de EEPROM, 8K bytes de SRAM, de 54 a 86 líneas de entrada/salida de propósito general, 32 registros de propósito general de trabajo.
37 | Página
1.3. Módulos de Comunicación
Los módulos inalámbricos permiten la transmisión de datos de manera flexible y segura sin la necesidad de cableado, envían todos los datos necesarios a través de ondas de radio con baja posibilidad de interferencias en la señal. Proporcionan una plataforma para la interconexión en red local de equipos en constante movimiento, portátiles o en instalaciones meramente temporales.
1.3.1. Módulo GSM Cellular Shield SM5100B
El SM5100B (Figura 1.3) es un módulo miniatura GSM de cuatro bandas para comunicación celular. Emplea las bandas GSM 850 / EGSM 900 / DCS 1800 / PCS 1900, éste puede ser integrado en un gran número de proyectos que requieran comunicación inalámbrica. Este módulo puede llevar a cabo casi cualquier cosa que un teléfono celular normal como llamadas y mensajes de texto, entre otras cosas más.
Figura 1.3. Módulo GSM SM5100B
38 | Página
Figura 1.4. Antena para celular
La placa incluye todo lo necesario para conectar el módulo celular SM5100B con la placa Arduino. Sólo se requiere una tarjeta SIM (prepago-plan) y una antena para celular como la mostrada en la Figura 1.4, con esto se puede empezar a realizar llamadas y enviar mensajes de texto.
Los principales componentes de la placa CellularShield son: un conector de 60-pines para SM5100B, una ranura para tarjeta SIM y un regulador de voltaje SPX29302 configurado para regular el voltaje del Arduino a 3.8V. El LED rojo de la placa indica encendido. El botón de reinicio para el Arduino se encuentra también en la placa CellularShield.
Cuenta también con una cabecera de 5 pines de 0,1” de espaciado, con conexiones para las entradas de micrófono y la salida del altavoz. El módulo SM5100B está preconfigurado para trabajar a 9600bps.
1.3.2. Módulos de Comunicación Inalámbrica XBee
La familia de módulos RF Xbee incorpora plataformas de comunicación como multipunto y topologías Zigbee/Mesh de 2.4GHz y 900MHz.
39 | Página
Maximizan el rendimiento inalámbrico y facilidad de desarrollo amplio de conectividad.
Figura 1.5. Módulo Xbee Serie 1
1.4. Sensores
Los sensores guardan una estrecha relación con la tarea que se va a realizar. Debe planificarse tanto su tipo como su posición, en este caso, posición en el robot para conseguir resultados óptimos. Los sensores se pueden clasificar en digitales, analógicos y especiales.
1. Sensores Digitales: Son los más sencillos de utilizar ya que devuelven un valor lógico binario (0 ó 1). Aun obteniendo el mismo tipo de valores, se pueden clasificar en varios grupos según su funcionamiento, por ejemplo:
Sensores mecánicos: Bajo este nombre se agrupan todos aquellos sensores que se activan por contacto. Ejemplo: conmutador (pulsadores e interruptores).Las aperturas y cierres de carácter electromecánico que
se producen al cambiar de estado se denominan “rebotes” y pueden
ocasionar informaciones erróneas.
40 | Página
2. Sensores Analógicos: La mayoría de los valores que se encuentran en la naturaleza (luz, temperatura, velocidad, etc.) son parámetros analógicos, es decir, parámetros que dentro de un rango poseen un número infinito y continuo de valores. Los sistemas que trabajan con dichos parámetros operan con valores digitales. Esto hace que resulte necesaria la conversión de valores analógicos a digitales. A veces el cambio lo realiza el mismo microcontrolador con el conversor que incorpora en su interior.
3. Sensores Especiales: A medida que va avanzando la tecnología se hace cada vez más importante disponer de sensores avanzados para el reconocimiento del entorno, así como actuadores más sofisticados para responder adecuadamente. Como ejemplo de sensores especiales se tienen los de sonido, ultrasónicos, brújulas, cámaras de visión, etc.
1.4.1. Sensor de Temperatura TMP 102
El sensor de temperatura tiene como función conocer el grado de frio o calor en un lugar determinado. Las variables de dichos sensores vienen dadas por la precisión de temperatura a medir y por el lugar donde se colocará el sensor.
Tipos de sensores de Temperatura:
Termopares: Son componentes capaces de generar un voltaje entre sus pines, proporcionales a la diferencia de temperatura que existe entre ellos. Son sensores relativos, es decir, miden una temperatura respecto a otra.
Termistores: Son resistencias que varían su valor en función de la temperatura a que estén expuestas. Son sensores que miden la temperatura respecto a 0°. De estos los hay PTC y NTC, donde los PTC (Positive Temperature Coeficient) aumentan su valor de temperatura, los NTC (Negative Temperature Coeficient) disminuyen su valor al aumentan la temperatura.
Circuitos Integrados Termo-sensibles: Son sensores de temperatura integrados en un chip. Los hay relativos y absolutos, dan una salida que es proporcional a la temperatura, donde las salidas más comunes son en tensión, corriente o frecuencia. Un ejemplo de estos son el LM34 y LM35.
41 | Página
Figura 1.6. Sensor de temperatura TMP 102
Es ideal para la medición de temperatura en una amplia variedad de dispositivos ambientales, industriales y en aplicaciones de instrumentación. El dispositivo opera entre un rango de temperatura que va desde –40°C a +125°C.
Aplicaciones:
o Aplicaciones portátiles. o Control de temperatura.
o Protección térmica para periférico USB. o Notebooks.
o Máquinas de Oficina. o Controles de termostato.
o Temperatura para dispositivos electromecánicos o Medidas generales de temperatura como:
o Controles Industriales. o Equipos de prueba.
42 | Página
1.4.2. Sensor de Luz de Ambiente TEMT6000
Los sensores de luz se usan para detectar el nivel de luz y producir una señal de salida representativa respecto a la cantidad de luz detectada. Un sensor de luz incluye un transductor fotoeléctrico para convertir la luz a una señal eléctrica y puede incluir electrónica para condicionamiento de la señal, compensación y formateo de la señal de salida.
Tipos de sensores de luminosidad:
Fotodiodo
Fotorresistencia
Fototransistor
Célula Fotoeléctrica
El TEMT6000 (Figura 1.7) es un fototransistor de silicio tipo NPN en un empaque miniatura transparente de montaje superficial sobre una placa de circuito impreso. El dispositivo es sensible al espectro de luz visible.
Figura 1.7. Sensor de luz TEMT 6000
Aplicaciones
Sensor de luz ambiental para oscurecimiento de pantallas en teléfonos móviles.
Notebooks.
PDA’s.
43 | Página
1.4.3. Sensor de Gas LP MQ-6
Se emplean para monitorear y detectar oportunamente la presencia y acumulación de gases tóxicos y/o combustibles en la atmósfera de las instalaciones para evitar riesgos potenciales al personal e instalaciones a través de los sistemas de alarmas audio-visibles (Figura 1.8). Los equipos de detección de gases son productos de tecnología de seguridad y son utilizados principalmente para proteger a los trabajadores y proporcionarles seguridad.
Los equipos para detección de gases pueden ser portátiles (semi-portátiles) o sistemas fijos de detección de gases. Al contrario que los sensores de equipos portátiles, los sensores fijos incluyendo su electrónica están en funcionamiento continuamente, año tras año, las 24 horas del día.
Figura 1.8. Sensor de gas LP MQ-6
Aplicaciones:
44 | Página
1.5. Actuadores
Se les conoce también como periféricos de salida, gracias a estos se puede interactuar con el entorno llevando a cabo alguna acción. Estos pueden ser por ejemplo:
Diodos LED.
Zumbadores Piezoeléctricos.
Displays.
Motores de Corriente Continua.
Motores a Pasos.
Servomotores.
Altavoces.
Relés.
Pantallas LCD.
Emisores y receptores de radiofrecuencia.
Etc.
1.5.1. Servomotores Hitec HS-311 y HS-322
Los servomotores Hitec HS311 y HS322 son ideales para aplicaciones donde el control de la posición es fundamental, por ello se emplean para el radio control, robótica y otras aplicaciones.
Se controlan mediante modulación de ancho de pulso (PWM), se le indica el ángulo que se requiera (Figura 1.10), éste va desde 0° hasta 180° manteniéndose en dicha posición, poseen un torque de 3kg-cm. y funcionan con un voltaje de 4.8v. En su estructura interna (Figura 1.9) se componen de un motor, engranes, y el sistema de control de posicionamiento. El punto de referencia se indica mediante una señal de control cuadrada, el ancho del pulso indica la posición.
45 | Página
Figura 1.9. Estructura interna del servomotor
Un error de posición mayor significa que hay una diferencia mayor entre el valor deseado y el existente, de modo que el motor deberá rotar más rápido para alcanzarlo; uno menor, significa que la posición del motor está cerca de la deseada por el usuario, así que el motor tendrá que rotar más lentamente. Si el servo se encuentra en la posición deseada, el error será cero, y no habrá movimiento.
La duración del pulso alto (en milisegundos) para conseguir un ángulo de posición está dado por la siguiente fórmula:
46 | Página
Los servomotores tienen 3 terminales de conexión: dos para la alimentación eléctrica del circuito y uno para la entrada de la señal de control. El voltaje de alimentación es de 4.8v, pues aunque el motor soporta mayores voltajes de trabajo, el circuito de control no lo hace.
Figura 1.11. Características Físicas del servomotor
El color del cable de cada terminal varía con cada fabricante, el cable del terminal positivo de alimentación siempre es rojo. El cable de la terminal de alimentación negativa es negro, y el de la terminal de entrada de señal suele ser de color blanco, naranja o amarillo en este caso (Figura 1.11).
1.6. Minirobótica
47 | Página
Los nuevos robots son máquinas sencillas, en ocasiones baratas y efectivas para las labores que desempeñan. Se mueven gracias a sus motores y tienen información de su entorno que les rodea por los sensores que dispone. Así mismo todos sus componentes son gobernados por un pequeño computador dentro de un circuito integrado que recibe el nombre de Microcontrolador.
La importancia de estas máquinas en el futuro será tan grande que se integrarán en nuestras vidas lo mismo que lo han hecho la televisión o el teléfono móvil. El robot, puede parecer un simple juguete con forma de criatura articulada, pero tiene una característica muy importante: los elementos necesarios para realizar tareas en un entorno que puede variar y al cual se pretende adaptar.
La minirobótica avanza continuamente debido a la miniaturización y mejora en la precisión de los componentes. Trabajar con robots exige un conocimiento multidisciplinario, como electrónica, informática, mecánica, conocimiento de sensores, comunicaciones, motores, incluso inteligencia artificial. Los robots están dentro del gusto de una gran parte de la gente, construir un robot, elegir sus componentes y hacerlos funcionar en conjunto es una labor estimulante, satisfactoria y gratificante.
1.6.1. Estructura General de un Robot
Se compone de cuatro partes fundamentales, donde la importancia de cada una de ellas dependerá de la tarea concreta para la que fue construido. Estas son:
Armazón o esqueleto.
Sensores o captadores de estímulos.
Motores y otros actuadores.
Tarjeta de control.
Para el desplazamiento se puede hacer uso de ruedas o patas, la elección dependerá de la tarea, no hay unos mejores que otros, sino más o menos adecuados según la circunstancia. La disposición de motores dependerá del tipo de movimiento que se quiera conseguir, como velocidad o potencia.
49 | Página
C
APÍTULO
2
|
DISEÑO Y
51 | Página
2.1. Arquitectura del Sistema
El sistema está integrado por un bloque principal (Arduino Mega 2560) que activa varios módulos secundarios de adquisición y transmisión de datos gestionándolos (Módulos Xbee y GSM). El bloque de adquisición de datos que se propone conecta los sensores con los módulos de procesamiento y comunicación. La pantalla del ordenador y el teléfono móvil actúan como interfaz gráfica para desplegar datos, ya sean almacenados o en tiempo real para su respectivo análisis. La interfaz de control está compuesta por un ordenador que permite la operación general del sistema. La figura 2.1 muestra un diagrama a bloques de esta arquitectura.
52 | Página
2.2. Conexión de Componentes Principales
Son parte esencial del sistema y por lo tanto se debe tener especial cuidado en su conexión entre sí; a continuación se muestran algunas características físicas y de sus entornos de programación correspondientes para su configuración y uso.
2.2.1. Placa Arduino Mega 2560
La placa puede trabajar con una alimentación externa de entre 6 a 20 volts. Si el voltaje suministrado es inferior la placa puede volverse inestable, si se usan más de 12V los reguladores de voltaje se pueden sobrecalentar y dañar la placa. El rango recomendado es de 7 a 12 volts. Para este caso se trabajará con 7.6 volts.
Los pines de alimentación son los siguientes:
VIN. La entrada de voltaje a la placa Arduino cuando se está usando una fuente externa de alimentación (en opuesto a los 5 volts de la conexión USB). Se puede proporcionar voltaje a través de este pin, o si se está alimentado a través de la conexión de 2.1mm acceder a ella a través de este pin.
5V. La fuente de voltaje estabilizado usado para alimentar el microcontrolador y otros componentes de la placa. Esta puede provenir de VIN a través de un regulador integrado en la placa, o proporcionada directamente por el USB u otra fuente estabilizada de 5V.
3V3. Una fuente de voltaje a 3.3 volts generada en el chip FTDI integrado en la placa. La corriente máxima soportada es de 50mA.
53 | Página
2.2.2. Módulo Inalámbrico Xbee
La figura 2.2 muestra las conexiones mínimas que necesita el módulo Xbee para ser utilizado. Luego de esto, se debe configurar según el modo de operación que se desea para la aplicación requerida.
Figura 2.2. Conexión Básica del Xbee Serie 1
54 | Página
2.3. Software X-CTU para comandos
Si bien es posible utilizar Hyperterminal de Windows para configurar un módulo Xbee como se mostrará más adelante, existe un programa llamado X-CTU, el cual permite realizar estas operaciones de manera más natural, fácil y rápida.
El ejecutable se puede encontrar en la página de MCI ingeniería o en la página oficial de XBee. Al ejecutar el programa se observa la ventana mostrada en la figura 2.3.
55 | Página
En la pestaña PC Settings es posible configurar el puerto serial, así como la paridad, entre otras cosas. Además permite configurar opciones para los comandos AT.
56 | Página
En la pestaña “Range Test” (Figura 2.4), es posible enviar una cadena de datos de cualquier tipo para probar alcance de comunicación de los dispositivos. Genera automáticamente datos y los envía por el módulo para luego ser remitidos, de tal forma que permite verificar que los datos lleguen correctamente y a partir de esta estadística determinar la distancia máxima de comunicación sin fallos.
57 | Página
En la pestaña “Terminal” (Figura 2.5), el funcionamiento es idéntico al del Hyperterminal. Todo lo escrito aquí, entra directamente al módulo Xbee como en el modo de comandos.
Figura 2.6. Opción “Módem Configuration”
58 | Página
2.4. Instalación XBee Explorer
La placa Xbee Explorer se conecta por medio del puerto USB (Figura 2.7). Por medio de este puerto se energiza el módem XBEE y se establece comunicación.
Figura 2.7. Placa Xbee Explorer
Para su funcionamiento es necesario instalar drivers llamados VCP (Virtual COM Port), que modifican el puerto USB para simular que el Xbee está conectado a un puerto serial, estos se encuentran en la página de internet de FTDI Chip (http://www.ftdichip.com/FTDrivers.htm).
La placa Xbee Explorer (Figura 2.8) se conecta al puerto USB, y se instalan los drivers en la computadora con la ayuda de un asistente de instalación. Si se presentase algún error se deben instalar los drivers manualmente desde el Administrador de Dispositivos del Panel de Control. El puerto USB indicará la presencia un error que se corrige configurando la ubicación de los drivers e instalándolos por medio del asistente.
59 | Página
Figura 2.8. Conexión de placa Xbee USB con el Ordenador
Para probar la correcta instalación de los dispositivos así como sus respectivas configuraciones, se emplea el Hyperterminal de Windows o el software X-CTU.
La velocidad de conexión por defecto en los módulos es de 9600 Bits por segundo (Figura 2.9).
60 | Página
2.5. Configuración de Módulos XBee
Para la configuración de cada uno de los módulos así como establecimiento de comunicación se puede hacer uso del Hyperterminal de Windows o el software X-CTU. Cada uno se mostrará a continuación.
2.5.1. Usando Hyperterminal
El programa Hyperterminal de Windows se ejecuta desde el menú Inicio en la sección de Programas para comunicación o por medio del buscador. Se crea una nueva conexión utilizando el puerto donde se encuentra el módulo. Por ejemplo: el puerto es el COM31; se configura en 9600 bps, 8N1 y sin control de flujo. Antes de iniciar la conexión, se recomienda ingresar a las propiedades y activar las casillas que permiten ver lo que se envía y se recibe a través del puerto con saltos de línea y espaciados. Lo anterior evita que se sobrescriban los comandos AT que se envían con las respuestas del módem (Figura 2.10).
61 | Página
Se ingresan los comandos indicados en la Figura 2.11:
Figura 2.11. Comandos AT por Hyperterminal
Se inicia tecleando “+++” que indica el modo de comandos. El comando ATMY y ATDL muestran el número de 16 bit del módem host y con el que mantendrá comunicación respectivamente. Este número servirá para diferenciarlos entre ellos en caso de presentarse un error en la configuración, este número se puede modificar.
El comando ATBD3, indica que la comunicación entre el Host y el módem receptor es de 9600 baudios. La dirección del módulo 1 es MY=0xAAAA, mientras que la de destino es DL=0xBBBB. Para el módulo 2, lo anterior es al revés. Al final el comando ATWR guarda todos los parámetros en la memoria. Con el comando ATCN se sale del modo de comandos.
62 | Página
2.5.2. Usando X-CTU
La ventaja de usar este programa es la sencillez para operar y configurar los módulos. Al inicializar el programa X-CTU en la pestaña inicial de PC Settings se configura la velocidad, paridad y control de flujo (Figura 2.12). Se puede verificar la comunicación con el módem al presionar el botón TEST, si la comunicación es correcta se despliega la ventana de confirmación con la información del modelo del módem XBEE y la versión del Firmware.
Figura 2.12. Test para Verificar Conexión
63 | Página
Las letras en azul indican lo que se escribe y envía como paquete RF al módem destino. Sólo cuando se teclea”+++” se ingresa al modo de comandos, apareciendo un “OK” en rojo como respuesta. Con el comando ATMY se despliega la dirección del módulo actual, se entrega como respuesta un 0, es decir, la dirección es 0x0000. Se pregunta por el PAN ID, donde la respuesta es 3332, es decir, la dirección es 0x3332. Si pasa un tiempo sin recibir nada, el módem por si sólo sale del modo de comandos. Al final se pregunta por el número del módulo, donde SL=0x404A1DDD y SH=0x0013A200.
Figura 2.13. Pestaña Terminal
64 | Página
Cuando se modifica algún parámetro, se muestra en amarillo el nuevo valor en el mismo nombre. Por ejemplo: al cambiar la dirección del módem a MY=0xAAAA y la de destino por DL=0xBBBB (Figura 2.14).
Figura 2.14. Configuración del Modem
Los nuevos valores de los parámetros del módem se guardan al presionar “Write”
65 | Página
Si se desea verificar el cambio es posible ingresando en la pestaña “Terminal” y buscar el parámetro deseado.
Figura 2.15. Proceso de Configuración Xbee Completado
Las direcciones se configuran de la siguiente forma: MY=0xBBBB y DL=0xAAAA y con esto se obtiene una configuración Punto a Punto de los módulos Xbee. Las direcciones de origen y destino de los módulos Xbee son diferentes para este ejemplo en comparación con las empleadas en pruebas posteriores así como en
66 | Página
2.6. Conexión Módulo Xbee con Shield y Arduino
Xbee Shield simplifica la interacción entre Xbee y Arduino, funciona con todos los módulos de la serie 1, serie 2, 2.5 y serie PRO. Es un diseño propio de Sparkfun Electronics, se energiza directamente del Arduino en la terminal de 5V regulándolos a 3.3V necesarios para el funcionamiento del módulo Xbee. Cuenta con un led indicador de encendido y un botón de Reset.
La conexión entre el módulo Xbee Shield y la placa Arduino es sumamente sencilla como se observa en la Figura 2.16. El Xbee Shield se sitúa en la parte superior del Arduino, tomando como referencia los nombres de los pines del Shield y el puerto de conexión USB de la placa teniendo especial cuidado en la coincidencia de pines clave como son: alimentación (Vcc, GND), Rx, Tx.
0
Figura 2.16. Conexión entre Xbee Shield y Arduino
67 | Página
En la placa Xbee Shield se encuentra un pequeño switch a la izquierda del módulo Xbee, el cual sirve para establecer una comunicación directa entre módulos y para realizar el cargado de un nuevo programa en Arduino sirviendo para este efecto las opciones UART y DLINE respectivamente.
2.7. Conexión Módulo Cellular Shield y Arduino
La placa Cellular Shield funciona como medio de interacción entre el módulo SM-5100B y la placa Arduino. El módulo viene montado de fábrica sobre el Cellular Shield y es un diseño propio de Sparkfun electronics, se energiza con 5V de la placa Arduino y los regula a 3.8V. Cuenta con un led indicador de encendido y botón de Reset. Al igual que el módulo Xbee Shield, la placa Cellular Shield se monta fácilmente sobre el Arduino (Figura 2.17), se ubica en la parte superior del Xbee Shield montado a su vez sobre Arduino, cuidando de igual manera la correcta conexión entre pines, tomando de referencia los pines de alimentación y Rx - Tx de la placa inferior.
68 | Página
Se debe realizar un pequeño cambio necesario al usar el modelo Mega2560, evitando que los pines Tx y Rx del módulo GSM se encuentren conectados al Arduino y cableando (Jumpers) el Pin D2 del módulo GSM hacia el Pin 19 de Arduino y el Pin D3 hacia el Pin 18 respectivamente.
Por último se necesita una SIM Card de cualquier compañía de telefonía celular (en este caso una SIM Card Telcel) y una antena para celular, ya que sin esta no se establecerá una conexión adecuada a la red e incluso se puede dañar el módulo GSM. Cumplido lo anterior ya se cuenta con una conexión GSM para Arduino y se tiene la capacidad de enlazar llamadas y enviar mensajes de texto, así como otras funciones que posee un teléfono celular convencional.
2.8. Instalación del Software Arduino en Windows
Para la instalación de la plataforma Arduino en el ordenador con sistema operativo Windows se requiere primeramente de un cable estándar USB (conexión A - conexión B), como los empleados para conectar una impresora USB (Figura 2.18).
Figura 2.18. Elemento de conexión Arduino con el ordenador
69 | Página
Al conectar la placa, Windows inicializa la instalación de los drivers (siempre y cuando no se haya utilizado ese ordenador con una placa Arduino anteriormente). En Windows Vista y Windows 7, los drivers se descargan e instalan automáticamente. En Windows XP es necesario instalarlos de forma manual indicando su localización específica navegando en el directorio donde se descargaron y descomprimieron previamente (la versión más reciente de los drivers se encuentra en la página web del fabricante FTDI Chip.).
Se puede comprobar que los drivers se han instalado correctamente ingresando al
“Administrador del Dispositivos” del Panel de control del sistema. Al ejecutar Arduino aparece la pantalla de la Figura 2.19.
70 | Página
Un ejemplo para comenzar a trabajar con Arduino se encuentra en un programa (sketch) llamado “Blink”. El programa (Figura 2.20) sirve para hacer parpadear un
Led de la placa Mega2560 y se ubica en la sección de sketch’s de ejemplo de la
pestaña File.
71 | Página
Se requiere seleccionar el tipo de placa Arduino con la que se trabaja, en la pestaña “Tools” del menú desplegable como se muestra en la Figura 2.21.
Figura 2.21. Selección de la placa Arduino
Se selecciona el puerto donde se encuentra la placa Arduino en el menú “Tools”
(en este caso es COM24). Para asegurarse de la correcta elección se puede desconectar la placa y mirar nuevamente el menú; el puerto de la placa habrá desaparecido de la lista; esto sirve en el caso de haber seleccionado algún otro puerto. Simplemente se reconecta la placa y se selecciona la opción correcta.
Por último simplemente se presiona el botón "Upload" (Figura 2.22) y tras unos segundos se verifica que el sketch se carga de forma exitosa al observar que los led’s RX y TX de la placa empiezan a parpadear y aparece el mensaje "Done Uploading" en la barra de estado.
72 | Página
2.9. Entorno de Desarrollo Arduino
El entorno de Desarrollo Arduino está constituido por un editor de texto para escribir códigos, un área de mensajes, una barra de herramientas con botones para las funciones comunes (Figura 2.22), y una serie de menús. Permite la conexión con el hardware de Arduino para cargar programas y establecer comunicación.
El software se utiliza para escribir una serie de códigos dentro de un programa principal que se denomina "sketch". Dentro de este editor existe la posibilidad de cortar/pegar y buscar/remplazar texto. La consola muestra el texto de salida para el entorno de Arduino incluyendo los mensajes de error completos y otra información. La barra de herramientas permite verificar el proceso de carga, creación, apertura, guardado de programas, y la monitorización.
Verificar (Compilar): Checa el programa en busca de errores.
Cargar: Compila el código y lo carga en la placa.
Nuevo: Crea un Nuevo Sketch.
Abrir: Presenta un menú de los programas disponibles para cargar.
Guardar: Guarda el Sketch.
Serial Monitor: Inicia la Monitorización Serie.
Figura 2.22. Herramientas de Arduino
Se pueden encontrar otros comandos dentro de los cinco menús principales; estos menús son sensibles al contexto, lo que significa que estarán disponibles sólo los elementos relevantes para la tarea que esté realizando en ese momento.
73 | Página
La herramienta “Serial Monitor” (Monitor Serie) muestran los datos enviados y recibidos por el Arduino dependiendo de su programación.
2.10. Diseño del Robot Cuadrúpedo
El cuadrúpedo está fabricado en sintra, éste es un material plástico termodeformable, ligero, rígido y durable con el cual se pueden construir estructuras fácilmente, ya que se puede doblar con calor y cortar con navaja, perforar, pintar, pegar, etc. Para realizar la estructura del cuadrúpedo la sintra se cortó a la medida deseada pieza por pieza, teniendo como plantillas las mostradas en la Figuras 2.23 y 2.24.
74 | Página
75 | Página
Por último en la Figura 2.25 se muestra la estructura principal ensamblada.
Figura 2.25. Robot Ensamblado
2.10.1. Placa para conexión de Servomotores
El circuito impreso de la Figura 2.26 permite la conexión de los 8 servomotores que actúan en el movimiento de las extremidades del robot cuadrúpedo. Fue diseñada a fin de ahorrar espacio en conexiones a los puertos digitales y de alimentación de la placa Arduino Mega y para disponer de un área determinada para la conexión de los servomotores.
76 | Página
2.10.2. Fuente de Alimentación
Para la alimentación se emplean dos baterías recargables Li-ion (Figura 2.27) en conexión serie para elevar el voltaje a 7.4V y suministrar energía a los módulos Arduino, SM5100B, Xbee, sensores y servomotores.
Son baterías muy delgadas y ligeras basadas en la nueva química Polímero de Litio Ion siendo esta la más alta densidad de energía que hay actualmente en producción generando 3.7V a 2000mA.
Estas baterías deben ser recargadas únicamente con cargadores diseñados específicamente para Ion Litio (Figura 2.28).
Dimensiones: 0.25x2.1x2.1" (5.8x54x54mm)
Peso: 36g (1.27oz)
Figura 2.27. Batería Li-ion
77 | Página
Figura 2.28. Cargador de baterías Li-ion
La placa incorpora un circuito de carga, led de estado, jumper para la selección de 500mA ó 100mA de carga, entrada USB, agujeros para montaje y conectores de tipo JST que se conectan directamente a las baterías. También hay un 'SYS Out' que permite conectar el circuito de carga directamente sin necesidad de desconectar el cargador cada vez que se desee utilizarlo.
2.11. Interfaz de Adquisición de Datos con X-CTU
Para la adquisición y manipulación de datos es necesario emplear el software de aplicación X-CTU, que permite el control del robot móvil, sensores y transmisión de información al ordenador y teléfono móvil permitiendo la visualización de los datos, ya sean almacenados o en tiempo real.
78 | Página
En esta interfaz se ingresan instrucciones y reciben notificaciones, por ejemplo, si el sensor GLP detecta concentraciones de gas que rebasen los niveles de explosividad. A través de una interfaz WPAN (Wireless Personal Area Network) se envían los datos al bloque principal para iniciar el sistema y las funciones que interactúan en el ordenador y el teléfono móvil. Los datos se almacenan en la memoria volátil del sistema y se sobre-escribe al ingresar una nuevo dato.
Figura 2.29. Interfaz de Comunicación de datos para el Sistema Principal
79 | Página
2.12. Procedimiento de Detección de Gas
El procedimiento para la detección de gas LP usando el sensor MQ-6 implica diversas consideraciones técnicas y climáticas, en este pequeño apartado se abordan un poco las características del equipo, dejando para un estudio posterior lo referente al tema de las condiciones ambientales del entorno.
1. Considerando un escenario de detección cualquiera, el sensor se mantiene en operación y monitorea constantemente los niveles de gas presentes en el ambiente.
El sistema principal (computadora personal) a través de su conexión WPAN, recibe la emisión de alerta de presencia de gas en caso de presentarse una concentración mayor a las 550 PPM sin necesidad de solicitar dicho dato (Figura 2.30) y puede ser enviado para notificar la presencia de gas hacia el teléfono móvil mediante un SMS.
80 | Página
2. En caso de no presentarse concentraciones de gas LP en el ambiente, el programa de control prosigue su funcionamiento normalmente y permanece en espera de instrucciones. Los datos de los sensores de gas, temperatura y nivel de luz ambiental se pueden solicitar igualmente por medio del ordenador y ser enviados vía SMS al celular.
La Figura 2.31 muestra un ejemplo del software X-CTU en modo de petición de
datos de sensores mediante el comando “5”.
81 | Página
2.13. Diagrama a Bloques de Comunicación
En las Figuras 2.32 y 2.33 se muestra un diagrama a bloques del sistema para establecer la comunicación entre el robot móvil y la estación fija u ordenador.
Figura 2.32. Transmisión-Recepción de la Central
83 | Página
C
APÍTULO
3
|
PRUEBAS Y
85 | Página
3.1. Introducción al Capítulo
En este capítulo se muestra el funcionamiento y datos obtenidos en pruebas realizadas al sistema como movimientos del robot, comunicación WPAN con Xbee y comunicación celular con el módulo SM-5100B en el envío de mensajes SMS y llamadas. Incluye resultados reales obtenidos del sistema a fin de mostrar los objetivos logrados. Los sketch’s se encuentran en la sección de anexos.
3.2. Transmisión de Caracteres Numéricos 0 a 99
En esta primera prueba se carga un sketch (programa) que muestra en pantalla un despliegue de caracteres vía Serial Monitor en Arduino comenzando desde 0 hasta 99 y reiniciándose al término del mismo en un ciclo infinito manteniendo conectado el Arduino con el cable USB a la computadora.
Se inicializa con la selección del Serial Monitor de la barra de herramientas del software Arduino y reseteando la placa principal o cualquiera de las Shield´s de los módulos de comunicación si se encuentran montados. Inmediatamente se despliegan los caracteres en pantalla en un ciclo infinito como se muestra en la Figura 3.1.
86 | Página
3.3. Transmisión de Caracteres 0 a 99 mediante Módulos Xbee
Se emplea el sketch del ejemplo 3.2 y los módulos Xbee previamente configurados como se trató en el capítulo 2 – Diseño y Entorno del Sistema. Las direcciones de los módulos son: 1735 y 6921 para Xbee del ordenador y robot respectivamente en configuración Punto a Punto.
El módulo Xbee Explorer se conecta al ordenador y con X-CTU se verifica si el dispositivo está disponible y funcionando correctamente con la herramienta “Test”. Si el módulo Xbee se encuentra conectado al Shield, el switch debe permanecer en la opción DLINE y cambiarlo a UART al finalizar el cargado del sketch.
La alimentación se efectúa con la fuente externa y el cable USB desconectado para evitar daños a la placa. Arduino reinicia automáticamente el programa al cambiar la fuente e inmediatamente se despliegan los caracteres 0 a 99 en ciclo infinito en la pantalla del X-CTU como se observa en la Figura 3.2.
87 | Página
3.4. Comunicación PC
–
Arduino - 1
Este es un programa que permite la comunicación del ordenador con Arduino utilizando los módulos Xbee. Se envía un número decimal entero cualquiera del ordenador hacia el Arduino través de la pestaña “Terminal” de X-CTU, el programa realiza un desplegado en pantalla donde muestra el dato ingresado y el resultado al multiplicarlo por 2. Es un programa sencillo pero permite el intercambio y manipulación de datos entre computadora y Arduino. En la Figura 3.3 se muestra la captura de pantalla de un ejemplo al ingresar los números 5, 9 y 7 con los resultados de sus productos.
88 | Página
3.5. Comunicación PC
–
Arduino - 2
El sketch permite encender y apagar el led conectado al pin13 del microcontrolador que se ubica directamente en la placa Arduino empleando la comunicación WPAN de Xbee. En la Figura 3.4 se observa el resultado al ingresar el carácter “a” a través de la pestaña Terminal de X-CTU que ordena el encendido del led y el apagado al ingresar el carácter “b”. Este programa demuestra la interacción correcta de intercambio de datos y control de un dispositivo, en este caso un led.
89 | Página
3.6. Rutinas de Movimiento del robot mediante Xbee
Esta prueba demuestra la ejecución de rutinas de movimiento de extremidades del robot explorador, desplazamiento vertical, hacia delante, atrás, izquierda y derecha. Estas rutinas se configuran conociendo el tipo de locomoción que permite la estructura y el ángulo en que se debe ubicar cada servomotor, los cuales permiten un desplazamiento de 0° a 180°. En la Figura 3.5 se muestra la inicialización del sistema y petición de comando para ejecutar los movimientos, los cuales se mostrarán de forma individual con su comando específico en pruebas posteriores.
90 | Página
3.6.1. Desplazamiento Vertical (Lagartijas)
Se realiza un movimiento vertical que simula al de las lagartijas. Se carga el programa correspondiente al Arduino y se energiza empleando la batería, en X-CTU se visualizará inmediatamente el mensaje de la Figura 3.6 que indica la disponibilidad del sistema para la recepción de datos, la rutina de movimiento vertical se inicia con el número “3” y se despliega el nombre del movimiento respectivo como se observa en la Figura 3.7.
Figura 3.6. Inicialización de movimiento de lagartijas
91 | Página
3.6.2. Test de Desplazamiento de Extremidades
El sketch permite que los servomotores se desplacen desde un rango mínimo de 0° a un máximo de 180° para cada extremidad, iniciando por la delantera izquierda, seguida por delantera derecha, trasera izquierda y por último trasera derecha. La alimentación debe realizarse por batería ya que el puerto USB no proporciona la corriente necesaria para hacer funcionar todos los servomotores a la vez. Inmediatamente conectada la batería se visualiza el mensaje que indica que el sistema está disponible para la recepción de datos, iniciando la rutina de test de desplazamiento con el número “7” como se muestra en la Figura 3.8. El movimiento correspondiente se observa en la Figura 3.9
El objetivo del test es verificar el correcto funcionamiento de las cuatro extremidades a fin de detectar y corregir fallas mecánicas antes de iniciar la operación completa del sistema.
92 | Página
93 | Página
3.6.3. Desplazamiento Hacia delante
En esta prueba el sketch permite el desplazamiento continuo hacia delante que se
inicia al ingresar el número “8” a través de X-CTU (Figura 3.10). Del mismo modo que en las pruebas anteriores, se energiza por medio de la batería. En la Figura 3.11 se observa el desplazamiento del robot.
Figura 3.10. Inicialización del Desplazamiento Hacia Adelante
94 | Página
3.6.4. Desplazamiento Hacia Atrás
En esta ocasión el desplazamiento es en reversa y se inicializa con el número “2”
(Figura 3.12), el movimiento que se observa en la Figura 3.13.
Figura 3.12. Inicialización del Desplazamiento Hacia Atrás
95 | Página
3.6.5. Desplazamiento Hacia la Derecha
El desplazamiento hacia la derecha se ejecuta al ingresar el valor “6” (Figura 3.14) que da inicio al movimiento de giro que se observa en la Figura 3.15.
Figura 3.14. Inicialización del Movimiento de Giro a la Derecha