LINUX GNU

68
CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA RESIDENCIA PROFESIONAL CARRERA INGENIERÍA ELECTROMECÁNICA PROYECTO CONTROL DE UN VEHÍCULO TERRESTRE POR RADIOFRECUENCIA EMPRESA INSTITUTO TECNOLÓGICO SUPERIOR DE SAN ANDRÈS TUXTLA RESIDENTE ELÍAS ALVARADO HERNÁNDEZ ASESOR EXTERNO ING. COSME HERNÁNDEZ LINARES ASESOR INTERNO MC. ROBERTO VALENCIA BENITEZ PERIODO AGOSTO 2012 – DICIEMBRE 2012 INSTITUTO TECNOLÓGICO SUPERIOR DE SAN ANDRÉS TUXTLA

description

SISTEMA OPERATIVO

Transcript of LINUX GNU

Page 1: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 1

RESIDENCIA PROFESIONAL

CARRERA

INGENIERÍA ELECTROMECÁNICA

PROYECTO

CONTROL DE UN VEHÍCULO

TERRESTRE POR RADIOFRECUENCIA

EMPRESA

INSTITUTO TECNOLÓGICO SUPERIOR

DE SAN ANDRÈS TUXTLA

RESIDENTE

ELÍAS ALVARADO HERNÁNDEZ

ASESOR EXTERNO

ING. COSME HERNÁNDEZ LINARES

ASESOR INTERNO

MC. ROBERTO VALENCIA BENITEZ

PERIODO

AGOSTO 2012 – DICIEMBRE 2012

INSTITUTO TECNOLÓGICO

SUPERIOR DE SAN ANDRÉS TUXTLA

Page 2: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 2

ÍNDICE

CAPÍTULO I: GENERALIDADES

1.1. Introducción 6

1.2. Justificación 7

1.3. Objetivos 8

1.4. Caracterización del área en la que participó 8

1.5. Problemas a resolver, con su respectiva priorización 9

1.6. Alcances y limitaciones 11

CAPÍTULO II: FUNDAMENTO TEÓRICO

2.1 Fundamento teórico 13

2.2 Microcontroladores 13

2.3 Componentes de los microcontroladores 13

2.4 Algunas aplicaciones de los microcontroladores 14

2.5 Clasificación de los microcontroladores 15

2.5.1 Según la longitud del bus de datos 15

2.5.2 Según sus recursos 15

2.5.3 Según el set de instrucciones 15

2.5.4 Según su arquitectura interna 16

2.5.5 Según el fabricante 16

2.6 Radiofrecuencia 18

2.7 Clasificación 19

2.8 Módulos de radiofrecuencia 21

2.9 Servomotores 22

2.10 Conexión externa del servo 22

2.11 Selección de los materiales para el proyecto 23

2.11.1 Microcontrolador avr 23

2.11.2 Características generales de la placa arduino uno 24

2.11.3 Características generales de la placa arduino mega 26

2.11.4 Escudo para XBee 28

2.11.5 Módulos de transmisión y recepción con tecnología digi. 29

2.12 Circuito básico para el XBee 31

ii

Page 3: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 3

2.13 Modo de operación para los XBee 32

2.13.1 Modo recibir / transmitir 33

2.13.2 Modo de bajo consumo (sleep mode) 33

2.13.3 Modo de comando 33

2.13.4 Modo trasparente 34

2.13.5 Modo de operación api 34

2.14 Configuración del modulo xbee 36

2.14.1 Punto a punto 36

2.14.2 Punto a multipunto 37

2.14.3 Broadcast 37

2.14.4 Cable virtual i/0 37

2.15 Antenas para xbee 40

2.16 Concepto de robótica 42

2.17 Tipos de robots 42

2.18 Modulación por ancho de pulso 43

2.19 Visual Basic 43

CAPÍTULO III PROCEDIMIENTO Y DESCRIPCIÓN DE LAS

ACTIVIDADES REALIZADAS

46

3.1 Desarrollo del hardware 47

3.1.1 Características del vehículo 48

3.2 Etapa de potencia 49

3.3 Desarrollo del software de control 49

3.4 Instalación de los módulos RF 54

3.5 Instalación de la cámara 54

3.6 Instalación del griper 56

3.7 Diseño de la interfaz grafica de usuario 56

iii

Page 4: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 4

CAPÍTULO IV RESULTADOS Y CONCLUSIONES

4.1 Vehículo terrestre a escala 63

4.2 Planos 63

4.3 Programas 63

4.4 Conclusiones 63

4.5 Recomendaciones 64

REFERENCIAS BIBLIOGRÁFICAS

65

ANEXO 66

iv

Page 5: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 5

CAPÍTULO I

GENERALIDADES

Page 6: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 6

1.1 Introducción

El presente proyecto aborda dos temas importantes: control y radiofrecuencia, con

los que al interactuar se logra la comunicación entre hombre y maquina haciendo

uso de microcontroladores, software de programación, actuadores electrónicos y

sistemas de radiofrecuencia.

Por un lado el control en esta área aplica la integración de tecnologías de

vanguardia que son utilizadas en el campo de la automatización y el control

automático industrial, las cuales son complementadas con disciplinas paralelas a

áreas tales como los sistemas de control y supervisión de datos, el control de

procesos y las redes de comunicación industrial.

Por otra parte la radiofrecuencia hace posible las telecomunicaciones

favoreciendo la transferencia de video, voz y datos entre otras, dependiendo del

área de especialización, como los servicios de emergencia, la radio digital tanto

en el ámbito civil como militar y la radionavegación.

Este proyecto se enfoca principalmente al control de un dispositivo

electromecánico mediante la trasferencia de datos vía inalámbrica con lo que se

hace posible la ejecución de los movimientos de un brazo robótico, el avance y

retroceso del móvil y la trasferencia de imágenes desde una pc portátil.

Page 7: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 7

1.2 Justificación

Un trabajo en conjunto conlleva a obtener mayores y mejores resultados, es por

ello que catedrático, escuela y alumno dirige, apoya e investiga respectivamente

un sistema de control inalámbrico donde se fusionan elementos de software,

electrónicos y actuadores que integrados formaran un dispositivo electromecánico

capaz de realizar acciones básicas de manipulación y transporte, además, los

elementos utilizados para elaborar el proyecto serán ejemplo de herramientas

para mejorar la impartición de cátedra generando clases más interactivas y

dinámicas.

El uso de este material contribuirá en el desarrollo de clases en materias de la

especialidad de la carrera de Ingeniería Electromecánica tales como: ingeniería

de control, sensores, procesadores y dispositivos regulados, así también se

puede aplicar a materias de interfaces de la carrera de Ingeniería en Sistemas

Computacionales y en la materia de sistemas electrónicos para informática de la

carrera de Licenciatura en Informática, todo ello para ofrecer una educación de

mayor calidad para los estudiantes.

Otra de las razones de la presente investigación es acercar a los estudiantes y

personal interesado los conocimientos de las nuevas tecnologías de control y de

las comunicaciones inalámbricas que cada día se perfeccionan más y a su vez

son mas utilizadas en diferentes ámbitos de las actividades sociales, entre ellos,

el control en los procesos industriales. Esta última parte es de vital importancia ya

que el dominio de estos conocimientos favorecerá al estudiante a contribuir en la

automatización y optimización de los procesos industriales en el ámbito laboral del

futuro egresado.

Page 8: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 8

1.3 OBJETIVOS

General:

Diseñar y desarrollar el sistema de control de un vehículo terrestre, con la

finalidad de controlar sus movimientos y la trasferencia de información hacia una

PC mediante un sistema de radiofrecuencia.

Específicos:

Instalar en el vehículo terrestre, los motores eléctricos, los sensores y la

electrónica necesaria que permitirán controlar sus movimientos mediante una

PC portátil.

Instalar en el vehículo terrestre, un sistema de radiofrecuencia que controlará

la transferencia de información vía inalámbrica.

Instalar en el vehículo terrestre, una cámara inalámbrica y establecer la

comunicación vía software con una PC portátil.

Instalar sobre el vehículo terrestre y configurar mediante software, un griper

mecánico que permitirá la sujeción de objetos.

1.4 CARACTERIZACIÓN DEL ÁREA EN LA QUE PARTICIPÓ

Con el objeto de participar en proyectos de investigación, desarrollo e integración

de elementos tecnológicos, el presente proyecto de residencia profesional se

integra en la categoría de INVESTIGACIÓN Y DESARROLLO.

Page 9: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 9

1.5 PROBLEMAS A RESOLVER CON SU RESPECTIVA PRIORIZACION

En ingeniería electromecánica.

Sensores, procesadores y dispositivos regulados

En esta materia se pretende que los jóvenes interactúen además de los

controladores existentes en el laboratorio, con un microcontrolador más

económico y versátil para manipular y controlar diferentes actuadores presentes

en el laboratorio.

Ingeniería de control

Propiciar el control y automatización de lámparas, motores y cilindros haciendo

uso de un código de programación y una tarjeta microcontroladora así como el

uso de relevadores y sensores.

Fundamentos de robótica

Análisis de las fuerzas que actúan en los nodos, la fuerza de torque existente en

la base del brazo mecánico, la ubicación en el espacio y el análisis del

movimiento cinemático.

Dibujo asistido por computadora

En el manejo del AutoCAD que normalmente usan en la escuela, se propone que

se aporte conocimientos de solitwork en al menos una unidad del programa de

autcad, para que los jóvenes diseñen y simulen las características del brazo con

diferentes medidas y materiales.

Mecatrónica

Integrar diferentes elementos electrónicos y de control (sensores, servomotores,

microcontroladores y software de programación) para elaborar un robot

teleoperado o automático.

Laboratorio de control

Proveer de conocimientos didácticos al laboratorio para efectos de prácticas.

Page 10: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 10

En ingeniería en sistemas computacionales

Materias de interfaces

Adquisición de conocimientos y usos de interfaces graficas (Labview and Visual

Basic) para la interacción de sistemas de control mediante un ordenador bajo un

entorno grafico.

En licenciatura en informática

Sistemas electrónicos para informática

Apoyarlos a diseñar sistemas y circuitos electrónicos para generar unidades de

mando o de control.

Page 11: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 11

1.6 ALCANCES Y LIMITACIONES

Alcances

Actualmente se cuenta con disposición para realizar los trabajos de investigación,

además, de contar con un asesor para guiar el rumbo de la investigación y

aclarar dudas, por otra parte, se cuenta con acceso al laboratorio de control

donde se disponen de ciertas herramientas para trabajar, con lo anterior se puede

lograr:

Implementar un sistema de control por radiofrecuencia, que aplicado a un

vehículo terrestre, permitirá el control de la transferencia de información

entre el vehículo y una PC portátil.

Controlar los movimientos del vehículo y del brazo mecánico, así mismo se

controlará la transferencia de información proveniente de la cámara

inalámbrica.

Limitaciones

Las limitantes para el desarrollo pleno del proyecto se resumen en dos puntos

importantes:

Ausencia del servicio de internet, necesario para consultar las páginas de

los fabricantes proveedores de los elementos electrónicos y así obtener

información técnica útil para el desarrollo del proyecto.

La falta de recursos económicos para adquirir los elementos electrónicos y

de ensamblaje para elaborar el proyecto físico.

Page 12: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 12

CAPÍTULO II

FUNDAMENTO TEÓRICO

Page 13: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 13

2.1 FUNDAMENTO TEÓRICO

Los elementos principales que integran el proyecto son: dos microcontroladores,

dos módulos de radiofrecuencia, servomotores y elementos de ensamblaje que

integrados, forman un vehículo móvil presentando características que lo

posicionan en la categoría de robot, para saber mas sobre cada uno de los

elementos se da a conocer un enfoque general de cada uno de ellos lo cual ayuda

a guiar el horizonte de la investigación y a seleccionar los elementos mas

pertinentes para lograr el proyecto final con las características enmarcadas en los

objetivos.

2.2 Microcontroladores

Un microcontrolador es un circuito integrado programable, capaz de ejecutar las

órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales,

los cuales cumplen una tarea específica, incluye en su interior las tres principales

unidades funcionales de una computadora: unidad central de procesamiento,

memoria y periféricos de entrada/salida.

Al ser fabricados, la memoria ROM del microcontrolador no posee datos. Para

que pueda controlar algún proceso es necesario generar o crear y luego grabar en

la EEPROM (Electrically Erasable Programmable Read-Only

Memory (ROM programable y borrada eléctricamente)) o equivalente del

microcontrolador algún programa, el cual puede ser escrito en lenguaje

ensamblador u otro lenguaje para éste; sin embargo, para que el programa pueda

ser grabado en la memoria del microcontrolador, debe ser codificado en sistema

numérico hexadecimal que es finalmente el sistema que lo hace trabajar cuando

éste es alimentado con el voltaje adecuado y asociado a dispositivos analógicos y

discretos para su funcionamiento.

2.3 Componentes de los microcontroladores

Un microcontrolador dispone normalmente de los siguientes componentes:

• Procesador o CPU (Unidad Central de Proceso).

• Memoria RAM para contener los datos.

Page 14: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 14

• Memoria para el programa tipo ROM/EPROM/EEPROM/Flash.

• Líneas de E/S para comunicarse con el exterior.

También puede poseer otros bloques de apoyo que flexibilizan aún más su uso,

tales como:

• Módulos para el control de periféricos: temporizadores, puertos serie y paralelo,

CAD: Conversores Analógico/Digital, CDA: Conversores Digital/Analógico, entre

otros.

• Generador de impulsos de reloj que sincronizan el funcionamiento de todo el

sistema.

• Sistemas de protección de sobrecorriente o cortocircuito.

2.4 Algunas aplicaciones de los microcontroladores son:

• En sistemas de comunicación: centrales telefónicas, transmisores, receptores,

teléfonos fijos, celulares, fax, etc.

• En electrodomésticos: lavarropas, hornos de microondas, heladeras, lavavajillas,

televisores, reproductores de DVD, minicomponentes, controles remotos, etc.

• Industria informática: Se encuentran en casi todos los periféricos; ratones,

teclados, impresoras, escáner, etc.

• Domótica: sistemas de alarma y seguridad, control de procesos hogareños a

distancia, etc.

• Automación: climatización, seguridad, etc.

• Industria: Autómatas, control de procesos, etc.

• Otros: Instrumentación, electromedicina, ascensores, calefacción, aire

acondicionado, sistemas de navegación, etc.

A continiacion se muestra una representación gráfica de los porcentajes de las

áreas de mayor uso de los microcontroladores.

Page 15: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 15

Figura 2.1 Los microcontroladores en las áreas de mayor uso

2.5 Clasificación de los microcontroladores

2.5.1 Según la longitud del bus de datos

Microcontroladores de 8 bits, de 16 bits o de 32 bits. A mayor longitud del bus de

datos, mayor será la eficiencia del microcontrolador en operaciones con datos

grandes. Pero al mismo tiempo la complejidad del chip y por ende su costo

también aumentará. Por ejemplo, para los dispositivos multimedia, que procesan

datos de vídeo y audio, un bus de datos de 8 bits sería insuficiente.

2.5.2 Según sus recursos

Los hay desde los que tienen los recursos mínimos hasta los que cuentan con los

periféricos más sofisticados, como módulos CAN (para comunicaciones robustas

entre varios microcontroladores), módulos para conectarse a las computadoras

vía USB o funciones hardware para el procesamiento digital de señales, para

trabajar con datos multimedia. Los microcontroladores con esta última capacidad

se conocen con el nombre de DSP (Digital Signal Processor).

2.5.3 Según el Set de Instrucciones

Con Instrucciones CISC (Complex Instruction Set Computer). El set de

instrucciones CISC es inherente a los primeros microcontroladores que

aparecieron en el mundo, los cuales estaban inspirados en los procesadores de

Page 16: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 16

las grandes computadoras de la época. Es complejo porque consta de muchas

instrucciones, complicadas y difíciles de recordar a la hora de programar en

lenguaje ensamblador. Además, al crecer el número de instrucciones también

crecerán los códigos de las instrucciones, lo que genera que se le reste eficiencia

al microcontrolador.

Con Instrucciones RISC (Reduced Instruction Set Computer). Este tipo de

microcontroladores cuentan con instrucciones sencillas y en un número mínimo.

Ello permite que la programación en ensamblador sea una labor cómoda y esté al

alcance de todos.

Sin embargo, cuando se desarrollan proyectos mucho más complejos, el uso del

lenguaje ensamblador se vuelve cada vez más complicado. Entonces se prefiere

optar por los compiladores de alto nivel, para los cuales un set RISC no es

obstáculo.

2.5.4 Según su Arquitectura Interna

Microcontroladores con Arquitectura de Von Neumann. Los microcontroladores de

este tipo tienen una memoria única que constituye tanto el segmento de memoria

de programa como el de datos. Con un solo bus de comunicación entre dicha

memoria y el procesador no es posible realizar diversos accesos a la vez.

Microcontroladores con Arquitectura Harvard. En esta estructura los

microcontroladores disponen de dos memorias, una que contiene el programa y

otra para almacenar los datos. De este modo el CPU puede tener acceso

simultáneo a ambas memorias utilizando buses diferentes. Más específicamente,

el CPU puede leer la siguiente instrucción de programa mientras está procesando

los datos de la instrucción actual. Actualmente todos los microcontroladores se

inclinan por esta arquitectura.

2.5.5 Según el fabricante

Hay diferentes marcas de microcontroladores en el mercado. De ellas solo se

mencionan las más populares. En ocasiones un mismo tipo de microcontrolador lo

suelen proveer diversos fabricantes, por lo tanto, deja de ser una clasificación

totalmente metódica.

Page 17: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 17

En esta información las descripciones se hacen teniendo en cuenta solo a los

microcontroladores de 8 bits. En este sentido, salvo el caso peculiar de los Basic

Stamp.

Los Microcontroladores PICmicro o PIC de Microchip

Sin lugar a dudas, son los microcontroladores que han fascinado al mundo en los

últimos años. Su facilidad de uso, comodidad y rapidez en el desarrollo de

aplicaciones, abundante información y libre disposición de herramientas software

proporcionada por Microchip le han permitido ganar terreno rápidamente en este

mercado a nivel mundial, hasta convertirse en los microcontroladores más

vendidos en la actualidad.

Los buenos resultados que le dieron a Microchip la estrategia de proveer

libremente a los usuarios de muchas herramientas software para el desarrollo de

proyectos con sus productos hicieron que los otros fabricantes de

microcontroladores también la adoptaran, aunque parece que la ventaja de

Microchip en el mercado está ya marcada y tal vez se acentúe más en el futuro.

Los Microcontroladores AVR de ATMEL

Uno de los productos estrella de Atmel son microcontroladores AVR. Comparado

con otros microcontroladores de 8 bits, en distintos modelos por supuesto, pueden

tener memoria de programa flash reprogramable, capacidad ICSP (In Circuit

Serial Programming), puertos configurables como E/S pin a pin, interfaces de

comunicación serial RS232 e I2C, módulos generadores de onda PWM, etc.

Los Microcontroladores de Freescale

Hasta no hace muchos años Motorola era uno de los fabricantes de

microcontroladores con mayores ventas en el mundo. En esos tiempos el trabajo

con ellos era una actividad casi exclusiva de los considerados gurúes de la

microelectrónica y que contaban con suficientes medios para acceder a las

herramientas necesarias. Lo cierto es que con el tiempo Motorola empezó a

perder su liderazgo y ha preferido ceder la franquicia a Freescale.

Freescale continúa con la producción de microcontroladores basados en la

Page 18: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 18

arquitectura de los viejos productos de Motorola y dotándoles de todo el arsenal

tecnológico de la actualidad. Salvo el prestigio legado no tienen nada nuevo en su

hardware que no se pueda hallar en otros microcontroladores.

Los Módulos Basic Stamp de Parallax

Los Basic Stamp nos son una nueva familia de microcontroladores; son módulos

montados sobre otros microcontroladores. Cuentan con un microcontrolador, un

circuito oscilador, el circuito de interface con el puerto serie de la computadora,

una memoria externa para almacenar el programa y un regulador de tensión; todo

en una pequeña tarjeta directa y/o fácilmente conectable a las computadoras. Una

vez cargado el programa, el módulo está listo para ser insertado en el circuito de

aplicación, incluso si está armado en un simple breadboard.

Los programas se desarrollan íntegramente en un lenguaje Basic adaptado. El

programa se carga en la EEPROM serial y el microcontrolador del Basic Stamp

tiene que interpretarlo.

Los Microcontroladores 8051 de Intel

Intel era otro de los gigantes de los microcontroladores y µPs. Sus productos más

conocidos eran los famosos 8051, 80151 y 80251, pero actualmente ya no tiene

interés en fabricarlos. En su lugar, fueron otras compañías, como Atmel, Philips,

Infineon, Dallas, entre otros, las que tomaron la posta y fabrican algunas partes

compatibles. Cabe mencionar que, salvo raras excepciones (como los PICs), el

resto de los microcontroladores fueron inspirados en la arquitectura de estos

procesadores de Intel.

2.6 Radio frecuencia

El término radiofrecuencia, también se le conoce con el nombre de espectro de

radiofrecuencia o RF, se aplica a la porción menos energética del espectro

electromagnético, situada entre unos 3 kHz y unos 300 GHz. El hercio es la

unidad de medida de la frecuencia de las ondas, y corresponde a un ciclo por

segundo. Las ondas electromagnéticas de esta región del espectro, se pueden

transmitir aplicando la corriente alterna originada en un generador a una antena.

Page 19: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 19

2.7 Clasificación

La radiofrecuencia se puede dividir en las siguientes bandas del espectro:

Nombre Nombre

inglés

Abreviatura

inglesa Banda ITU Frecuencias

Longitud de

onda

< 3 Hz > 100.000 km

Frecuencia

extremadamente

baja

Extremely low

frequency ELF 1 3-30 Hz

100.000–

10.000 km

Super baja

frecuencia

Super low

frequency SLF 2 30-300 Hz

10.000–1.000

km

Ultra baja frecuencia Ultra low

frequency ULF 3

300–3.000

Hz

1.000–100

km

Muy baja frecuencia Very low

frequency VLF 4 3–30 kHz 100–10 km

Baja frecuencia Low

frequency LF 5 30–300 kHz 10–1 km

Media frecuencia Medium

frequency MF 6

300–3.000

kHz 1 km – 100 m

Alta frecuencia High

frequency HF 7 3–30 MHz 100–10 m

Muy alta frecuencia Very high

frequency VHF 8 30–300 MHz 10–1 m

Ultra alta frecuencia Ultra high

frequency UHF 9

300–3.000

MHz

1 m –

100 mm

Super alta frecuencia Super high

frequency SHF 10 3-30 GHz 100–10 mm

Frecuencia

extremadamente alta

Extremely

high

frequency

EHF 11 30-300 GHz 10–1 mm

> 300 GHz < 1 mm

Tabla 2.1: Bandas de frecuencia

Page 20: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 20

A partir de 1 GHz las bandas entran dentro del espectro de las microondas. Por

encima de 300 GHz la absorción de la radiación electromagnética por

la atmósfera terrestre es tan alta que la atmósfera se vuelve opaca a ella, hasta

que, en los denominados rangos de frecuencia infrarrojos y ópticos, vuelve de

nuevo a ser transparente.

Las bandas ELF, SLF, ULF y VLF comparten el espectro de la AF

(audiofrecuencia), que se encuentra entre 20 y 20.000 Hz aproximadamente. Sin

embargo, éstas se tratan de ondas de presión, como el sonido, por lo que se

desplazan a la velocidad del sonido sobre un medio material. Mientras que las

ondas de radiofrecuencia, al ser ondas electromagnéticas, se desplazan a

la velocidad de la luz y sin necesidad de un medio material.

Page 21: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 21

2.8 Módulos de radiofrecuencia

A continuación se muestran algunos módulos y sus características principales

MODULOS RF TWIMO

CARACTERISTICAS

RF: 27 dBm

Sensibilidad: -110 dBm

RF Velocidad de datos: 10/38.4/57.6 kbps

Fuente de alimentación: 3 a 3,6 V

Consumo de energía: 600 mA (TX)-22mA (RX)

Dimensiones (mm) 32 x 16 x 3

Normas: EN300-220 V2010

Rango 6000m – 500mW y 870 MHz

MODULOS BLUETOOTH

Poder RF: 0 dBm

Sensibilidad: -86 dBm

Fuente de alimentación: 3 a 3.6 V

Consumo de energía: 50 mA (RX) -50 mA (TX)

Rango 30 m – 1 mW

MODULO DE BANDA ESTRECHA

Poder RF 27 dBm

Sensivilidad: -120 dBm

Velocidad de datos: 1.3 a 38.4 kbps

Fuente de alimentación: 700mA (TX) -40mA

(RX)

Dimensiones (mm): 32 x 16 x 3

Rango: 15 km – 500 mW – 120 dBm

Tabla 2.2: Módulos de radiofrecuencia

En la actualidad la transmisión de datos mediante enlace inalámbrico está más

extendida y su uso se hace mas frecuente. Existen diferentes modelos y

fabricantes de modulos de radiofrecuencia que hacen posible las

Page 22: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 22

radiocomunicasiones, entre los que podemos mencionar: los módulos RF de

Adeunis, Digi y Sparkfun.

Para este proyecto utilizaremos módulos de transmisión y recepción mediante

radiofrecuencia con tecnología de Digi

2.9 Servomotores

Un servomotor (también llamado Servo) es un dispositivo similar a un motor de

corriente continua, que tiene la capacidad de ubicarse en cualquier posición

dentro de su rango de operación, y mantenerse estable en dicha posición. Está

conformado por un motor, una caja reductora y un circuito de control. Los servos

se utilizan frecuentemente en sistemas de radio control y en robótica, pero su uso

no está limitado a estos. La corriente que requiere depende del tamaño del servo,

normalmente el fabricante indica cual es la corriente que consume.

Hay tres tipos de servomotores:

-Servomotores de CC

-Servomotores de AC

-Servomotores de imanes permanentes o Brushless.

2.10 Conexión externa del servo

Los servomotores tienen 3 terminales:

Terminal positivo: Recibe la alimentación del motor (4 a 8 voltios)

Terminal negativo: Referencia tierra del motor (0 voltios)

Entrada de señal: Recibe la señal de control del motor

Los colores del cable de cada terminal varían con cada fabricante: el cable del

terminal positivo siempre es rojo; el del terminal negativo puede sermarrón o

negro; y el del terminal de entrada de señal suele ser de color blanco, naranja o

amarillo.

Page 23: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 23

Figura 2.2: Conexión externa del servo

2.11 Selección de los materiales para el proyecto

Dado los conocimientos sobre los elementos que integran el proyecto se decide

utilizar los siguientes debido a las características que presentan.

2.11.1 Microcontrolador avr

Los AVR fueron diseñados para un óptimo trabajo con el lenguaje C, la gente del

software libre ha desarrollado el poderoso compilador AVR GCC, el cual está

disponible en sus versiones para Windows y Linux.

La familia de microcontroladores AVR es bastante extensa y todas comparten el

mismo núcleo AVR, pero tienen distintos periféricos y cantidades de RAM y ROM:

desde el microcontrolador de la familia Tiny AVR ATtiny11 con 1kB de memoria

flash y sin RAM (sólo los 32 registros), con un encapsulado de 8 pines, hasta el

microcontrolador de la familia Mega AVRATmega2560. Cada componente de la

familia se ha diseñado para que guarde cierta compatibilidad con el resto.

Para integrar el proyecto, se usa un microcontrolador de la familia AVR

denominado ATMEGA 328 montado sobre una placa arduino uno, que por su

sencillez y bajo costo permite el desarrollo de múltiples diseños, además de ser

una plataforma de hardware libre y un entorno de desarrollo, diseñada para

facilitar el uso de la electrónica. Este primer equipo será utilizado para transmitir

las ordenes al vehículo acompañado de un modulo de radiofrecuencia que mas

adelante se explica.

Page 24: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 24

Figura 2.3: Placa arduino uno con un microcontrolador ATMEGA328

2.11.2 Características generales de la placa arduino uno

CARACTERÍSTICAS GENERALES

Microcontrolador ATmega328

Tensión de funcionamiento 5V

Voltaje de entrada (recomendado) 7-12V

Voltaje de entrada (limites) 6-20V

Digital I / O Pins 14 (de los cuales 6 proporcionan salida

PWM)

Pines de entrada analógica 6

Corriente por I DC / O Pin 40 mA

Corriente DC por Pin 3.3V 50 mA

Memoria Flash 32 KB (ATmega328) de los cuales 0,5

KB utilizado por gestor de arranque

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

Velocidad del reloj 16 MHz

Tabla 2.3: Características generales de la placa arduio uno

Page 25: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 25

El segundo equipo o elemento que integrará el proyecto será un microcontrolador

de la familia AVR del fabricante Atmel denominado ATmega 2560 que cuenta con

256kB de memoria flash, 8kB de memoria RAM, 4kB de memoria EEPROM,

conversor análogo digital de 10 bits y 16 canales, temporizadores y comparador

analógico. Este elemento será utilizado para recibir las ordenes mediante un

modulo de radiofrecuencia y accionar los elementos del vehículo.

Figura 2.4: Placa arduino con microcontrolador ATMEGA 2560

Page 26: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 26

2.11.3 Características generales de la placa arduino mega

Microcontroladores Atmega2560

Tensión de funcionamiento 5V

Voltaje de entrada (recomendado) 7-12V

Voltaje de entrada (limites) 6-20V

Digital I / O Pins 54 (de los cuales 15 proporcionan salida PWM)

Pines de entrada analógica 16

Corriente por I DC / O Pin 40 Ma

Corriente DC por Pin 3.3V 50 mA

Memoria Flash 256 KB de los cuales 8 KB utilizadas por bootloader

SRAM 8 KB

EEPROM 4 KB

Velocidad del reloj 16 MHz

Tabla 2.4: Características generales de la placa arduino mega

Ahora bien, para empezar a trabajar con estos elementos debemos conocer las

partes que integran la placa microcontroladora tales como entradas y salidas

digitales, entradas analógicas, los pines RX y TX, conector USB entre otros,

además de la comunicación con la placa la cual utiliza una librería

SoftwereSerial.h que permite la comunicacion serie en cualquiera de los pines

digitales, también se puede utilizar el monitor de puerto serie incorporado en el

entorno arduino para comunicarte con la placa. Dependiendo de la versión

arduino, puede tener puertos adicionales.

Una vez que contamos con la placa, debemos instalar el software de arduino en

cualquier ordenador que ejecute culquiera de los siguientes sistemas operativos:

Windows, MAC OS X o GNU/Linux.

Page 27: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 27

Para poder descargar la versión más actual se le invita a que visiten

www.arduino.cc/en/Main/Softwere. Una vez efectuada la descarga, se procede a

instalar los drivers, para ello se conecta la placa a la pc, donde se mostrará el

asistente para añadir nuevo hardwere de Windows para estos drivers. Es

importante seleccionar el tipo de placa adecuada con la que se va a trabajar. La

última versión de los drivers se puede encontrar en la siguiente dirección

www.ftdchip.com/Drivers/VCP.htm.

Finalmente la placa se conecta a la fuente de alimentación de 5V via USB a una

pc o a una alimentación externa que puede ser de hasta 12 V.

Es importante también conocer el lenguaje que utiliza para interactuar con el

microcontrolador (lenguaje C) hay tres partes principales que considerar para

elaborar el código y ponerse en comunicación: la estructura, variables y

funciones.

A continuación se muestra un ejemplo sencillo para el encendido de un LED.

// El pin 13 tiene una Resistencia por lo que ya no hay que agregarle una.

int led = 13; En primer lugar se debe declarer la variable a utilizar.

// El setup se utiliza para asignar las condiciones de los pines y es la primera

función a ejecutar en el programa

void setup() {

pinMode(led, OUTPUT); Se inicializa el pin digital como salida

}

// En void loop se incluye el código que se ejecuta continuamente, leyendo

entradas y salidas, es la parte fundamental de los programas ejecutándose

continuamente.

void loop() {

Page 28: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 28

digitalWrite(led, HIGH); // Esta function ejecuta la accion indicada (enciende el

LED)

delay(1000); // Espera un segundo

digitalWrite(led, LOW); // Ejecuta la función (apagar LED)

delay(1000); // Espera un segundo

}

Es importante tener cuidado con la colocación del punto y coma (;) y las laves ({})

de lo contrario habrá errores de compilación y el progama simplemente no se

ejecutará. Ahora bien, la estructura básica de un programa queda de la siguiente

forma:

Variables

Void setup ()

{

Sentencias

}

Void loop ()

{

Sentencias

}

Para ampliar los conocimientos sobre el uso del lenguaje, estructura de control,

sintaxis, operadores aritméticos, variables, constantes, tipos de dados, funciones

analogías, digitales y de tiempo, se le invita a que visite la página de arduino en

www. arduino.cc.

2.11.4 Escudo para xbee

Dado que el modo de operación será transparente y bajo una configuración punto

a punto no utilizaremos el programa X-CTU recomendado, solo nos

Page 29: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 29

aseguraremos que estén con la opción correspondiente tanto para ser utilizado

como emisor o como para ser receptor (usb >>emisor y xbee >>receptor).

Figura 2.5: Escudo para módulo xbee

2.11.5 Módulos de transmisión y recepción con tecnología digi.

Digi antes Max Stream utiliza el protocolo Zigbee, es un fabricante de más de 70

módulos xbee, con diferentes antenas, potencia y capacidades. Los módulos

Xbee proveen 2 formas cómodas de comunicación: Transmisión serial

transparente (modo AT) y el modo API que provee muchas ventajas. Los

módulos Xbee pueden ser configurados desde la PC utilizando el programa X-

CTU o bien desde tu microcontrolador, por lo que para este proyecto se opta por

la segunda. Los Xbee pueden comunicarse en arquitecturas punto a punto, punto

a multi punto o en una red mesh. La elección del módulo XBee correcto pasa por

escoger el tipo de antena (chip, alambre o conector SMA) y la potencia de

transmisión (2mW para 300 pies o 60mW para hasta 1 milla)

Page 30: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 30

Considerando los módulos más populares, se presenta una tabla comparativa

entre los módulos de la serie 1.

XBee 1mW 802.15.4

XBee 1mW 802.15.4

XBee PRO 60mW 802.15.4

XBee PRO 60mW 802.15.4

XBee PRO 900 XSC 100mW 802.15.4

XBee PRO 900 693mW 802.15.4

Digi Part # XB24-ACI-

001 XB24-AWI-001

XBP24-ACI-001

XBP24-AWI001

XBP09-XC009-DK

XBP09-DPSIT-156

Antenna Chip Wire Chip Wire RPSMA Connector RF Data Range

250 kbps/up to 115 kbps 250 kbps/up to 115 kbps (1)

9,6 kbps/up to 57,6 kbps

156 kbps/up to 230 kbps

Indoor Range 100 ft (30 m) (2) 300 ft (100 m) (2) 1200 ft (370m)

450 ft (140m)

Outdoor Range (Line Of Sight)

300 ft (100 m) (2)

1 mile (1.6 km) (2)

15 miles (24 km)

1,8 miles (3 km) or 6 miles (10 km) with high gain antennas

Transmit Power

1 mW (+0 dBm) 60 mW (+18 dBm) 100 mW (+20 dBm)

693 mW (+28,4 dBm)

Configuration Method

API or AT Commands AT Commands

API or AT Commands

Frequency Band

2.4 GHz 910 - 918 MHz

902 - 928 MHz

Topology Peer-to-Peer, Point-to-Point, Point-to-Multipoint

Channels 16 Direct Sequence Channels

12 Direct Sequence Channels

7 hop sequences share 25 frequencies

8 hopping patterns on 12 channels or single channel

Supply Voltage

2.8 - 3.4 VDC (Absolute) / 3.0 - 3.4 (Recommended) 3.0 - 3.6 VDC (Absolute) 3.0 - 3.4 (Recommended)

Transmit Current

45 mA 215 mA 265 mA 210 mA

Receive Current

50 mA 55 mA 65 mA 80 mA

Power-down Current

10 uA 45 uA 60 uA

Tabla 2.5: Características de los módulos mas usuales de la serie 1

Los módulos Xbee utilizan un protocolo de comunicaciones inalámbrico basado

en el estándar de comunicaciones para redes inalámbricas IEEE_802.15.4. Se

realiza en banda libre de 2.4Ghz. La velocidad de transmisión es de hasta 256

Kbps y los módulos normales tienen un alcance entre 30m en interiores y 100m

exteriores, mientras que la versión PRO de la serie 1, ofrece un alcance de 100

Page 31: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 31

m en interiores y hasta 1.5 Km, en exteriores. También están los xbee pro de la

serie 2 que pueden alcanzar los 24 km.

Por su bajo consumo (50mA) cuando esta en funcionamiento y 10mA cuando esta

en modo sleep, interfaz serial, fáciles de integrar y precio accesible, el presente

proyecto se utilizará dos módulo Xbee PRO de la serie 1 y dos escudos para

integrarlos con el microcontrolador.

Figura 2.6: Módulo XBee PRO con antena de la serie 1.

2.12 Circuito básico para el xbee

A continuación se muestra las conexiones mínimas que necesita el módulo Xbee

para poder ser utilizado. Luego de esto, se debe configurar según el modo de

operación que se desea para la aplicación requerida por el usuario.

Page 32: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 32

Figura 2.7: Conexión mínima requerida por el XBee

El módulo requiere una alimentación desde 2.8 a 3.4 V, la conexión a tierra y las

líneas de transmisión de datos por medio del UART (TXD y RXD) para

comunicarse con un microcontrolador, o directamente a un puerto serial utilizando

algún conversor adecuado para los niveles de voltaje.

Esta configuración, no permite el uso de Control de Flujo (RTS & CTS), por lo que

ésta opción debe estar desactivada en el terminal y en el módulo XBEE. En caso

de que se envíe una gran cantidad de información, el buffer del módulo se puede

sobrepasar. Para evitarlo existen dos alternativas:

Bajar la tasa de transmisión

Activar el control de flujo.

2.13 Modo de operación de los xbee

Los módulos xbee pueden operar de seis formas muy particulares dependiendo

de las condiciones en las que se encuentre, a continuación se da a conocer en

que consiste cada uno.

Page 33: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 33

2.13.1 Modo Recibir/Transmitir

Se encuentra en estos modos cuando al módulo le llega algún paquete RF a

través de la antena(modo Receive) o cuando se manda información serial al

buffer del pin 3 (UART Data in) que luego será transmitida (modo Transmit).

La información transmitida puede ser Directa o Indirecta. En el modo directo la

información se envía inmediatamente a la dirección de destino. En el modo

Indirecto la información es retenida durante un período de tiempo y es enviada

sólo cuando la dirección de destino la solicita.

2.13.2 Modo de bajo consumo (Sleep Mode)

El modo de sueño hace posible que el módulo RF entre en un modo de bajo

consumo de energía cuando no se encuentra en uso.

Para poder entrar en modo de sueño, se debe cumplir una de las siguientes

condiciones:

Sleep_RQ(pin 9) está en alto y el módulo está en pin sleep mode (SM=

1,2 o 5)

El módulo está en reposo (no hay transmisión ni recepción de datos) por la

cantidad de tiempo definido por ST (Time before Sleep). [ST sólo está

activado cuando SM=4,5]

2.13.3 Modo de comando

Este modo permite ingresar comandos AT al módulo Xbee, para configurar,

ajustar o modificar parámetros. Permite ajustar parámetros como la dirección

propia o la de destino, así como su modo de operación entre otras cosas. Para

poder ingresar los comandos AT es necesario utilizar el Hyperterminal de

Windows, el programa X-CTU o algún microcontrolador que maneje UART y

tenga los comandos guardados en memoria o los adquiera de alguna otra forma.

El X-CTU es una aplicación basada en Windows proporcionada por Digi. Este

programa fue diseñado para interactuar con archivos de firmware encontrados en

Page 34: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 34

los productos RF de Digi y para proporcionar una fácil interfaz gráfica de usuario.

Dado que no se trabajará bajo el modo comando, la investigación se limita a

informar como obtenerlo y no explicar cada uno de las instrucciones o comandos,

para ello se puede descargar de la página http//www.digi.com.

2.13.4 Modo Transparente

En este modo todo lo que ingresa por el pin 3 (Data in), es guardado en el buffer

de entrada y luego transmitido y todo lo que ingresa como paquete RF, es

guardado en el buffer de salida y luego enviado por el pin 2 (Data out). El modo

Transparente viene por defecto en los módulos Xbee. Este modo está destinado

principalmente a la comunicación punto a punto, donde no es necesario ningún

tipo de control. También se usa para reemplazar alguna conexión serial por cable,

ya que es la configuración más sencilla posible y no requiere una mayor

configuración.

En este modo, la información es recibida por el pin 3 del módulo Xbee, y

guardada en el buffer de entrada. Dependiendo de cómo se configure el comando

RO, se puede transmitir la información apenas llegue un carácter (RO=0) o

después de un tiempo dado sin recibir ningún carácter serial por el pin 3. En ese

momento, se toma lo que se tenga en el buffer de entrada, se empaqueta, es

decir, se integra a un paquete RF, y se transmite. Otra condición que puede

cumplirse para la transmisión es cuando el buffer de entrada se llena, esto es,

más de 100 bytes de información.

2.13.5 Modo de operación API

Este modo es más complejo, pero permite el uso de frames con cabeceras que

aseguran la entrega de los datos, al estilo TCP. Extiende el nivel en el cual la

aplicación del cliente, puede interactuar con las capacidades de red del módulo.

Cuando el módulo XBEE se encuentra en este modo, toda la información que

entra y sale, es empaquetada en frames, que definen operaciones y eventos

dentro del módulo.

Page 35: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 35

Así, un Frame de Transmisión de Información (información recibida por el pin 3 o

DIN) incluye:

3 Frame de información RF transmitida.

4 Frame de comandos (equivalente a comandos AT).

Mientras que un Frame de Recepción de Información incluye:

Frame de información RF recibida.

Comando de respuesta.

Notificaciones de eventos como Reset, Associate, Disassociate, etc.

Esta API, provee alternativas para la configuración del módulo y ruteo de la

información en la capa de aplicación del cliente. Un cliente puede enviar

información al módulo Xbee. Estos datos serán contenidos en un frame cuya

cabecera tendrá información útil referente el módulo.

Esta información además se podrá configurar, esto es, en vez de estar usando el

modo de comandos para modificar las direcciones, la API lo realiza

automáticamente. El módulo así enviará paquetes de datos contenidos en frames

a otros módulos de destino, con información a sus respectivas aplicaciones,

conteniendo paquetes de estado, así como el origen, RSSI (potencia de la señal

de recepción) e información de la carga útil de los paquetes recibidos.

Entre las opciones que permite la API, se tienen:

Transmitir información a múltiples destinatarios, sin entrar al modo de

Comandos.

Recibir estado de éxito/falla de cada paquete RF transmitido.

Identificar la dirección de origen de cada paquete recibido.

Modo IDLE

Cuando el módulo no se está en ninguno de los otros modos, se encuentra en

éste. Es decir, si no está ni transmitiendo ni recibiendo, ni ahorrando energía ni en

Page 36: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 36

el modo de comandos, entonces se dice que se encuentra en un estado al que se

le llama IDLE.

2.14 Configuración del modulo xbee La configuración del módulo en modo de conexión transparente, es la conexión

que viene por defecto y es la más sencilla forma de configurar el módem.

Básicamente todo lo que pasa por el puerto UART (DIN, pin 3), es enviado al

módulo deseado, y lo que llega al módulo, es enviado devuelta por el mismo

puerto UART (DOUT, pin2).

Existen básicamente 4 tipos de conexión transparente. La diferencia principal

radica en el número de nodos o puntos de acceso, y la forma en que éstos

interactúan entre sí.

2.14.1 Punto a punto

En esta red, en un extremo (usuario) entabla comunicación con otro, y la

arquitectura de la red mantiene separados y diferenciados estos flujos de

información.

Es la conexión ideal para reemplazar comunicación serial por un cable. Sólo se

debe configurar la dirección. Para ello se utilizan los comandos MY y el DL. La

idea, es que se define arbitrariamente una dirección para un módulo, usando el

comando MY, el cual se va a comunicar con otro que tiene la dirección DL,

también definida arbitrariamente. Con esto cada módulo define su dirección con

MY, y escribe la dirección del módulo al cual se desea conectar usando DL.

En este modo, el módulo receptor del mensaje envía un paquete al módulo de

origen llamado ACK (viene de Acknowledge) que indica que el mensaje se recibió

correctamente. Sin embargo estos comandos no serán utilizados ya que

recurriremos al apoyo del microcontrolador e interactuar con el módulo.

Page 37: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 37

2.14.2 Punto a multipunto.

Permite transmitir información, desde la entrada serial de un módulo (DIN, pin 3) a

uno o varios módulos conectados a la misma red de manera más controlada, ya

que se necesitan las direcciones de los otros módulos, por lo que existe mayor

seguridad. Para esto se necesitan dos comandos más aparte de MY y DL. Se

utilizará el direccionamiento de 16 bits.

En otra palabras este tipo de red un usuario o terminal mantiene un flujo de

información simultáneamente con otros varios terminales. En caso de que los

“usuarios multipunto” puedan generar información, la información que transmiten

cada uno de ellos es recibida exclusivamente por el “usuario punto”, quién a su

discreción la hará visible al resto de “usuarios multipunto”

2.14.3 Broadcast

Esta configuración permite el envío de información desde un nodo a varios nodos

en una misma red. La información recibida es la misma para todos los nodos.

Para configurar los módulos, es necesario ajustarlos con la dirección de

Broadcast. Cualquier módulo que reciba un paquete con una dirección de destino

de Broadcast será aceptado.

2.14.4 Cable virtual I/0

Esta opción de configuración permite crear los llamados Cables Virtuales. Se

utilizan para crear un canal de comunicación de manera transparente entre los

pines de un módulo y otro.

Cada pin de entrada tiene su propio pin de salida ya definido entre nodos, esto

permite una forma totalmente simple de enviar información, controlar o medir de

manera sencilla y rápida, sin necesidad de complicadas configuraciones. A

continuación se muestra el esquema del módulo xbee.

Page 38: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 38

Figura 2.8: Pines del modulo XBee, vista superior.

Recuérdese que, el envío es totalmente transparente para el usuario, ya que el

paquete recibido, puede o no ser entregado por el pin DOUT (pin 3), lo que

permite utilizar ese pin para el envío de otro tipo de información e incluso seguir

recibiendo desde otros módulos. A continuación se muestra la descripción de los

pines del módulo XBee y XBee PRO.

Page 39: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 39

Tabla 2.6: Descripción de los pines del módulo xbee.

Page 40: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 40

2.15 Antenas para XBee

Para lograr un mayor alcance de recepción-emision de datos es recomendables

equipar al módulo XBee con antenas de alta ganancia, hay modulos que tienen

antena tipo chip, sin embargo el alcance no es suficiente, por lo que se debe optar

por una antena tipo alambre o conector y por supuesto elegir módulos que

cuenten con alta potencia de transmisión, similares a los indicados en la tabla 2.5.

A continuación se muestra el rango de alcance de acuerdo al tipo de antena.

Figura 2.9: Radio de cobertura con una antena dipolo

Page 41: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 41

Figura 2.10: Radio de cobertura con antena Whip

Figura 2.11: Cobertura con antena tipo Chip.

Recuérdese que los módulos XBee normales tienen un alcance de hasta 100 m

en línea vista, mientras que los módulos XBee PRO alcanzan 1.5 Km en línea

vista.

Page 42: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 42

2.16 Concepto de robótica

La robótica es una ciencia encargada de diseñar y construir aparatos capaces de

realizar tareas comunes del ser humano, para ello combina diferentes diciplinas

como: mecánica, electrónica, informática, física, inteligencia artificial e ingeniería

de control.

2.17 Tipos de robots

Los robots pueden clasificarse de diferentes maneras dependiendo el criterio que

se tome en cuenta, ya sea por la época en que se desarrollaron, por las funciones

que realicen o por la arquitectura que presenten, tomando en cuente esta última

consideración estos pueden ser: poliarticulados, móviles, androides, zoomórficos

y híbridos.

En este proyecto se hace mayor énfasis en los robots móviles, estos son robots

que tienen capacidad de desplazamiento, basados en carros o plataformas y

dotados de un sistema locomotor de tipo rodante. Siguen su camino por

telemando o guiándose por la información recibida de su entorno a través de

sensores. Estos Robots aseguran el transporte de piezas de un punto a otro de

una cadena de fabricación. Guiados mediante pistas materializadas a través de la

radiación electromagnética de circuitos empotrados en el suelo, o a través de

bandas detectadas fotoeléctricamente, pueden incluso llegar a sortear obstáculos

y están dotados de un nivel relativamente elevado de inteligencia.

Figura 2.12: Robot móvil de tipo didáctico.

Page 43: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 43

Figura 2.13: Robot móvil de tipo espacial.

2.18 Modulación por ancho de pulso

La modulación por ancho de pulso, o PWM, es una técnica para obtener

resultados análogos con medios digitales. El control digital se utiliza para crear

una onda cuadrada, una señal de conmutación entre encendido y apagado, este

patrón de encendido-apagado puede simular voltajes entre completa de (5 voltios)

y desactivación (0 Volts) cambiando la porción del tiempo de la señal pasa en

frente al tiempo que la señal pasa fuera. La duración de "a tiempo" se llama el

ancho de pulso. Para obtener diferentes valores analógicos, cambiar o modular,

que el ancho de pulso. Si se repite este patrón de encendido-apagado lo

suficientemente rápido con un LED por ejemplo, el resultado es como si la señal

es una tensión constante entre 0 y 5V controlar el brillo del LED.

2.19 Visual basic

Visual basic es un lenguaje de programación dirigido por eventos, aunque es un

programa de propósito general, también ofrece facilidades para el desarrollo de

aplicaciones de base de datos utilizando Data Acces Projects. Visual basic

contiene un entorno de desarrollo integrado o IDE que integra editor de texto para

la edición del código fuente, un depurador, un compilador y un editor de interfaces

graficas o GUI.

El entorno de desarrollo es muy similar a otros lenguajes, en la parte superior

aparece la barra de titulo, que indica el nombre del proyecto actual, le sigue la

Page 44: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 44

barra de menú con 13 opciones desplegables y una barra de herramientas que

facilitan el uso de los comandos del IDE.

En la parte central, cubriendo la franja de mayor área, se encuentra el espacio de

trabajo. Éste incluye y muestra las ventanas del proyecto, las vistas del código

fuente de los módulos, los objetos y los controles que contienen las ventanas de

la aplicación y el panel de controles.

El panel de controles, que aunque es móvil normalmente se encuentra ubicado a

la derecha, por defecto cuenta con los siguientes controles:

PictureBox: Caja de imágenes

Label: Etiqueta

TextBox: Caja de texto

Frame: Marco

CommandButton: Botón de comando

CheckBox: Casilla de verificación

OptionButton: Botón de opción

ComboBox: Lista desplegable

ListBox: Lista

HScrollBar: Barra de desplazamiento horizontal

VScrollBar: Barra de desplazamiento vertical

Timer: Temporizador

DriveListBox: Lista de unidades de disco

DirListBox: Lista de directorios

FileListBox: Lista de archivos

Shape: Figura

Line: Línea

Image: Imagen

Data: Conexión a origen de datos

OLE: Contenedor de documentos embebidos compatibles

con Object Linking and Embedding

Page 45: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 45

Figura 2.14: Ventana de visual basic

Entre las razones para usar este programa se destaca la facilidad de adquirirlo,

facilidad de uso y compatibilidad con Windows, sin embargo, se puede utilizar otro

programa para realizar la interfaz, por ejemplo labview, todo depende la habilidad

de quien realice el programa.

Page 46: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 46

CAPÍTULO III

PROCEDIMIENTO Y DESCRIPCION DE LAS

ACTIVIDADES DESARROLLADAS

Page 47: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 47

3.1 Desarrollo del harwere.

Para esta actividad, se realiza una investigación con ayuda del internet, buscando

las características de diferentes componentes electrónicos que fueran

compatibles entre si y además, fueran los apropiados para ensamblarse en un

vehículo.

Una vez, que se tiene la información necesaria de los elementos entre ellos, el

material del vehículo, los motores y servomotores, la fuente de alimentación y el

programa para realizar una interfaz grafica, se procede a comprar los materiales y

a conseguir el programa de visual basic, a continuación se realizan los trazos para

diseñar la plataforma del vehículo considerando el espacio para los componentes

electrónicos

3.1 Plataforma del vehículo con llantas

Posteriormente, se realiza el diseño completo en autocad, se recomienda que el

diseño se efectúe en solidwork, de esta manera se tiene la opción de simular la

resistencia del material y estimar la carga que puede soportar.

Page 48: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 48

Figura 3.2 Diseño completo del vehículo

Para el diseño en autocad se utilizaron herramientas de dibujo, modelado, malla,

edición de solidos, modificar y vista, destacando las líneas, polilineas, extruccion y

diferencia.

3.1.1 Características del vehículo

El material que principalmente constituye al vehículo es metacrilato (acrílico) de 6

cm de espesor, tiene una longitud de 30 cm y 20 cm de ancho. Para formarlo se

emplean dos bases encimadas y separadas 7 cm una de otra, ambas generan un

peso de 250 g. en el espacio de 7 cm se montaran la fuente de alimentación, el

micro controlador, el módulo de radio frecuencia y un circuito con dos

derivaciones de voltaje generando un peso adicional de 300 g

En la parte inferior delantera contiene dos servomotores paralax de rotación

continua y torque de 3.5 kg. x cm, capaces de mover la carga total que genera el

móvil. Cada servo se encuentra en cada uno de los lados de este sujetados

mediante tornillos, que a su vez sostienen una llanta con centro de plástico y

perímetro de goma, cada llanta tiene un diámetro de 8 cm y 3.8 cm de espesor.

En la parte trasera se apoya de una rueda loca sujetada mediante un tornillo.

En la parte frontal, contiene un griper capaz de sujetar objetos pequeños con

pesos inferiores a los 300 g y 4.5 cm de diámetro. En la parte superior posee una

cámara IP D-Link DCS-930L que opera a 5 V y 1.2 Amp. Con la que se puede

observar lo que haya delante del móvil.

Page 49: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 49

3.2 Etapa de potencia

Hay que recordar que los servomotores trabajan a 5 V en promedio y para un

rendimiento optimo el microcontrolador opera con un voltaje ubicado en el rango

de 6 a 12 V, por tal motivo se diseña un circuito que proporcione la alimentación

requerida por cada elemento cuando se tiene una batería de 9 V.

Figura 3.3 Circuito con dos derivaciones alimentado a 9 V.

3.3 Desarrollo del software de control

A continuación se describe el proceso de codificación de los microcontroladores

para accionar los servomotores del móvil mediante los módulos.

El siguiente código es utilizado para activar el módulo emisor.

int valservo; // VARIABLE PARA ALMACENAR EL VALOR DE LOS SERVOS

void setup(){ //CONFIGURA EL PUERTO SERIE

Serial.begin(9600); //INICIA EL PUERTO SERIE A 9600 BAUDIOS

}

void loop(){ //BUCLE DE CONTROL

if (Serial.available()){ //SI EL PUERTO COM ESTA DISPONIBLE

Page 50: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 50

int valservo=Serial.read(); //LA VARIABLE SERVO ES IGUAL AL VALOR DE

ENTRADA DEL PUERTO SERIE

Serial.write(valservo); //ESCRIBE EN EL PUERTO SERIE LA VARIABLE

VALSERVO

}

}

A continuación se desarrolla el código de programación para el módulo receptor

que va activar cada uno de los servomotores que accionan el avance, retroceso y

giro del vehículo así como la apertura y cierre del griper.

#include <Servo.h> //libreria para control de servomotores

const int servoPin=9; //objeto servo a controlar con sus respectivos pines de

coneccion

const int servoPin2=10;

const int servoPin3=8;

Servo myservo;

Servo myservo2;

Servo myservo3;

int val=0; // variable tipo entero (int)para almacenar el valor que se imprimirá al

servo

void setup(){ //configuración de los servomotores, comunicación con puerto serie

myservo.attach(servoPin); //declaración de los pines a los que se conectaran los

servos en el arduino.

myservo2.attach(servoPin2);

myservo3.attach(servoPin3);

stopMoving(); //comienza el robot configurado en stop(para que no avance cuando

se enciende)

Serial.begin(9600); //se inicia la comunicación con puerto serie a 9600 baudios

Page 51: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 51

pinMode(servoPin,OUTPUT); //se declaran los pines de los servomotores como

salida

pinMode(servoPin2,OUTPUT);

pinMode(servoPin3,OUTPUT);

}

void loop(){ //bucle de control

if ( Serial.available() ) { //si el puerto serie esta disponible

char ch = Serial.read(); // almacena un valor que se ha recibo ya sea un caracter o

string que reciba en el puerto serie proveniente de visual basic

switch (ch) { // maquina de estado con la variable "ch" para almacenar cualquier

caracter o string proveniente del puerto serie

case 'w': // en caso de recibir en el puerto serie una "w" acciona el movimiento

hacia adelante

moveForward();//acción del movimiento hacia adelante

delay(250); //tiempo de espera para refrescar los servos

stopMoving();//paras el robot

break;//pausa

case 'x':// en caso de recibir una "x" se acciona el movimiento de reversa

moveBack();//movimiento de reversa

delay(250);//tiempo de espera

stopMoving();//stop

break;//pausa

case 'd': // en caso de recibir una "D" acciona el movimiento hacia la derecha

turnRight();//derecha

Page 52: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 52

delay(250);// tiempo de espera

stopMoving();//stop

break;

case 'a'://en caso de recibir una a gira a la izq.

turnLeft();//Movimiento a la izq

delay(250);//

stopMoving();

break;

//case '5':

//kick();

//break;

case '0'...'9'://en caso de recibir un valor de 0 a 9 accionaria el gripper y lo

escalara al valor de 180º del servo multiplicando el valor recibido por 10.

gripper();//control del gripper

delay(250);

break;

}

}

}

void moveForward()//movimiento hacia adelante

{

//servoLeft.write(180);

Page 53: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 53

myservo.write(180);// se escribe en el servo 1 un valor 180ºgrados

myservo2.write(0);// se escribe en el servo 1 un valor 0ºgrados

}

void moveBack()//moviento de reversa

{

//servoLeft.write(0);

myservo.write(0);//imprime en el servo un valor de 0º

myservo2.write(180);

}

void turnRight()//movimiento haca la derecha

{

//servoLeft.write(180);

myservo.write(180);

}

void turnLeft()//movimiento hacia la izquierda.

{

//servoLeft.write(0);

myservo2.write(0);

}

void stopMoving()//stop

{

//servoLeft.write(95);

myservo.write(95);

myservo2.write(95);

}

Page 54: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 54

void gripper()//gripper

{

val=Serial.read();//el valor del control del gripper lo envía la interfaz grafica por

puerto serie, esta variable almacena ese valor de entrada

//y lo guarda.

myservo3.write(val);// se imprime el valor de la variable "val"

delay(15);

}

Hay que recordar que lo que se escribe después de // solo es comentario y no

tiene nada que ver con el código de programación.

3.4 Instalación de los módulos RF

En esta actividad la tarea consiste principalmente en seleccionar el sistema de

radiofrecuencia y a solicitarlo vía internet, en este proyecto se utiliza un par de

módulos XBee Pro de la serie uno con protocolo de comunicaciones inalámbricas

de IEEE 802.15.4. Una vez que se cuenta con este elemento, se realizan pruebas

de comunicación entre emisor y receptor, para ello se crea un programa en

lenguaje C con ayuda del programa del microcontrolador de la tarjeta arduino, una

vez que se obtienen los resultados esperados, se procede a instalar el

microcontrolador y el módulo de radio frecuencia en el vehículo apoyándose de un

arreglo electrónico para regularizar el voltaje y mantener a los servomotores

trabajando apropiadamente.

3.5 Instalación de la cámara

El proyecto utiliza una cámara de vigilancia IP DCS-930L de D-Link que

proporciona una solución de vigilancia versátil y única. A diferencia de una

cámara conectada a Internet estándar, la cámara IP DCS-930L es un sistema

completo de seguridad y vigilancia ya que incorpora una CPU interna y un

servidor web que transmite imágenes de vídeo de alta calidad entregando al

usuario la posibilidad de mantener ambientes totalmente vigilados durante las 24

Page 55: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 55

horas del día. La instalación de la cámara es simple y la interfaz de configuración

es intuitiva y basada en WEB, basta con seguir las instrucciones del asistente del

disco de instalación, esto permite la más rápida integración a su red cableada

Ethernet/Fast Ethernet o inalámbrica 802.11n. La cámara DCS-930L también

incorpora funciones de detección de movimiento y control remoto haciendo de la

cámara DCS-930L una completa y rentable solución de seguridad tanto para el

hogar como la pequeña oficina, y ahora para aplicaciones en robótica.

Podremos tener acceso a la cámara desde cualquier lugar siempre y cuando

estemos conectados a internet. El punto a favor de mydlink es que no es

necesario recordar direcciones IP, ni puertos, ni abrir puertos o asignar IP

estáticas en nuestro router. El acceso a mydlink puede ser múltiple y de forma

simultánea, es decir, podemos ver el portal en casa y a la vez, nuestro hermano

en su casa.

Características técnicas

1. WPS: Lleva botón WPS para conectar con el AP de forma fácil, rápida y

segura.

2. Micrófono integrado para grabar todos los sonidos de alrededor.

3. Funcionalidades muy interesantes como E-Mail, FTP y Host DynDNS en el

menú interno de configuración para detectar movimientos.

4. Sensor CMOS de 1,0 lux para condiciones de poca luz.

5. Infrarrojos: Este modelo no incorpora infrarrojos.

6. Fuente de alimentación: Tensión necesaria de 5V con una intensidad de

1,2Amp lo que hace un consumo máximo de 6W

Page 56: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 56

Figura 3.4 Cámara IP D-Link DCS-930L

3.6 Instalación del griper

Para la instalación del griper, se lleva a cabo la adquisición de servomotores

paralax con rotación a 180º y con engranaje metálico debido a que habrá mayor

fuerza cuando el griper sujete ciertos objetos pequeños, una vez elaborado se

procede a realizar la codificación necesaria para coordinarlos entre si, hecho esto

se integrara al vehículo, donde se complementa el código de programación y se

realizan pruebas de funcionamiento para corregir errores.

Hecho esto se procede a instalar el programa de visual basic y crear una interfaz

gráfica con la que instalado en una pc portátil se logra controlar los movimientos

del vehículo y del griper. Después de integrar todos los elementos tanto físicos

como de programación se pasa a realizar las pruebas finales y reparar las

inconsistencias que se presenten.

2.1 Diseño de la interfaz gráfica de usuario

Para crear la interfaz grafica se emplea el programa de visual basic, se crean los

objetos y se realiza el código de programación que a continuación se muestra.

Page 57: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 57

Public Class Form1

Dim StrBufferOut As String 'variable de salida para crear un buffer para el

puerto serie

Dim StrBufferIn As String 'varible de entrada para el buffer del puerto serie

Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown

Refresh() 'evento keyprees para accionar con las flechas up,down,left,raigh

el robot

If e.KeyCode = Keys.Up Then 'si se preciona la flecha up (hacia arriba)

entonces

spPuertos.Write("wwww") 'se manda a escribir en el puerto serie un string

con las letras wwwww

ElseIf e.KeyCode = Keys.Down Then 'si no se presiona la flecha up se

presiona la flecha hacia abajo

spPuertos.Write("xxxx") 'se manda a escribir en el puerto serie un string

con las letra xxxx

ElseIf e.KeyCode = Keys.Left Then

spPuertos.Write("aaaa")

ElseIf e.KeyCode = Keys.Right Then

spPuertos.Write("dddd")

End If ‘termino de la condición si

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles MyBase.Load

StrBufferOut = "" 'variable para el buffer de salida

StrBufferIn = "" 'variable para el buffer de entra

btnConectar.Enabled = False ' botón conectar esta deshabilitado

tmrTimer.Enabled = False 'timer para leer o actualizar los datos de E/S del

puerto serie cada determinado tiempo (10ms)

Page 58: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 58

End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnUP.Click

spPuertos.Write("wwww") 'boton hacia adelante imprime en el puerto serie un

string "WWWW" que recibe arduino

End Sub

Private Sub btnScanear_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnScanear.Click

cboPuertos.Items.Clear() 'botón para escanear y buscar puertos com

disponibles.

For Each PuertoDisponible As String In My.Computer.Ports.SerialPortNames

' si existe algún puerto com disponible, lo enlista y lo muestra en la pestaña

desplegable de la interfaz.

cboPuertos.Items.Add(PuertoDisponible) ' se agrega el puerto com

disponible a la pestaña desplegable

Next ' siguiente acción conectar al puerto

If cboPuertos.Items.Count > 0 Then 'si el puerto com existe, se agrega a la

lista de puertos com

cboPuertos.Text = cboPuertos.Items(0) 'lista de puertos com será igual al

agregado por la sentencia cbpuertos.

MessageBox.Show("SELECCIONE PUERTO COM DEL ROBOT MOVIL

XBEE") 'mensaje de selección de puerto del robot

btnConectar.Enabled = True 'se habilita el botón conectar y se pone visible.

Else 'desconectar puertos com

MessageBox.Show("NUNGUN PUERTO DISPONIBLE") 'si no existe

ningún puerto com disponible, se muestra ese mensaje

Page 59: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 59

btnConectar.Enabled = False 'botón conectar se deshabilita

cboPuertos.Items.Clear() 'se limpia la lista de puertos com disponibles

cboPuertos.Text = (" ") 'se muestra una lista vacía de puertos com

End If

End Sub

Private Sub btnConectar_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnConectar.Click

If btnConectar.Text = "CONECTAR" Then 'acción de conectar otra vez.

spPuertos.PortName = cboPuertos.Text 'se conecta al nombre del puerto

disponible en la lista de puertos com

btnConectar.Text = "DESCONECTAR" ' cuando se conecta la próxima

acción al darle clip al botón será desconectar.

tmrTimer.Enabled = True 'se habilita el timer para la lectura y salida del

buffer del puerto serie

spPuertos.Open() 'se abre el puerto serie

spPuertos.Write("0s") 'se imprime un valor 0s para llevar al home el

gripper y los servo de las ruedas.

ElseIf btnConectar.Text = "DESCONECTAR" Then 'acción de desconectar.

btnConectar.Text = "CONECTAR" 'siguiente acción cambiar botón a

conectar

tmrTimer.Enabled = False 'habilita el timer de nuevo para el buffer

spPuertos.Close() 'cierra el puerto com

End If

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnStop.Click

Page 60: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 60

spPuertos.Write("L95") 'al dar clip al botón stop, envía un valor string ala

salida del puerto serie con valor L95

End Sub

Private Sub btnDown_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnDown.Click

spPuertos.Write("xxxx") 'al dar clip al botón reversa envía por el puerto serie

un string xxxx

End Sub

Private Sub tRACK_Scroll(ByVal sender As System.Object, ByVal e As

System.Windows.Forms.ScrollEventArgs) Handles TrackBar1.Scroll

spPuertos.Write(TrackBar1.Value & "0s") 'barra para controlar la apertura y

cierre del gripper

ProgressBar1.Value = (TrackBar1.Value * 10) 'barra progresiva para

monitorear el estado en que se encuentra el gripper

End Sub

Private Sub btnRight_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnRight.Click

spPuertos.Write("dddd") 'al dar click al botón derecha, se envía por el puerto

serie un string dddd

End Sub

Private Sub btnLeft_Click(ByVal sender As System.Object, ByVal e As

System.EventArgs) Handles btnLeft.Click

spPuertos.Write("aaaa") 'al dar click al botón izquierda, se envía por el puerto

serie un string aaaa

End Sub

Page 61: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 61

Private Sub WebBrowser1_DocumentCompleted(ByVal sender As

System.Object, ByVal e As

System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)

'Este apartado webbrosser (visualizar sitio web, dirección host de la cámara

ip) es para conectarse a la cámara inalámbrica y mostrar el video en el formulario

de la interfaz.

End Sub

End Class

Page 62: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 62

CAPÍTULO IV

RESULTADOS Y CONCLUSIONES

Page 63: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 63

4.1 Vehículo terrestre a escala

Como resultado principal se logra diseñar y construir un vehículo a escala que es

controlado desde una computadora mediante una interfaz grafica, cuenta con una

fuente de alimentación, un módulo RF receptor, un microcontrolador, una cámara

IP y un elemento final para sujetar objetos pequeños. (Ver anexo 1).

4.2 Planos

Otro resultado es el modelado del vehiculo, para ello se crea el plano y se

desarrolla en autocad, (Ver anexo 2)

4.3 Programas

Para interactuar con el vehiculo se desrrollan dos codificaciones obteniendo como

resultado dos programas, uno para el microcontrolador y otro para la interfaz

gráfica. (Ver anexo 3)

4.4 Conclusiones

El control y la automatización en la industria forman parte fundamental para el

desarrollo de procesos que agilizan y perfeccionan los métodos de producción,

generando mayores rendimientos y ganancias notables, sin duda alguna es una

característica de una sociedad mas desarrollada en la que a los nuevos

profesionistas se les demanda eficiencia y calidad por lo que es necesario

aprender y vincularse en un entorno de desarrollo y productivo.

Por otra parte, la tecnología de la radiofrecuencia como forma de comunicación

inalámbrica es un componente fundamental en el desarrollo de la sociedad en

todos los niveles, contribuyendo en gran medida a la conectividad eficiente con el

medio empresarial, militar, marítima, el sector de gas y petróleo y conectividad

aeronáutica así como individual o de grupo.

Por tal motivo resulta de mucha relevancia poder ejecutar acciones que requieran

de estos dos factores, una manera de hacerlo es empezar a trabajar con ellos,

para esto, se les invita a que revisen el contenido de esta investigación además

de visitar los enlaces que aquí se presentan.

Page 64: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 64

4.5 Recomendaciones

Hay que recordar que el dominio de un tema o concepto depende de la práctica y

del interés que se le dedique, por lo que para este caso es muy importante

trabajar en la parte de programación por lo que se requiere conocer la sintaxis

para estructurar un programa.

En cuanto a los módulos que aquí se presentan se sugiere que se aprenda a

trabajar con recursos y elementos de fácil operación, el concepto mas fuerte es la

aplicación de voltaje ya que no aplicar la tensión necesaria podría dañarse el

equipo, es importante mencionar que estos dispositivos no deben ser expuestos a

la humedad y mucho menos mojarse. Para que los módulos tengan un mayor

alcance se les debe dotar de antenas de alta ganancia o antenas bipolares.

En cuanto a los servomotores no se les debe aplicar carga superior a las

especificadas en su ficha de datos, pues puede barrerse el juego de engranes y

dejar de funcionar.

Mientras se esté trabajando con microcontroladores, módulos de radiofrecuencia

y servomotores en un mismo sistema se recomienda utilizar una fuente de

alimentación exclusiva para los servomotores y otra para el resto, esto es debido

a que los servos generan ruido y pueden lesionar la calidad de enlace entre los

módulos.

Page 65: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 65

REFERENCIAS BIBLIOGRAFICAS

Arduino, plataforma de código abierto. Editado por foro de desarrollo de softwere

http://www.arduino.cc/

Microcontrolador bajo Licencia Creative Commons Atribución Compartir Igual 3.0

http://es.wikipedia.org/wiki/Microcontrolador

Partes de un microcontolador

http://www.mikroe.com/chapters/view/79/capitulo-1-el-mundo-de-los-

microcontroladores/

Funcionamiento, tipos y partes de un servo, enviado por Yamid R amirez

http://www.monografias.com/trabajos60/servo-motores/servo-motores.shtml

Escudo XBee

http://www.sacosta.org/rfid_castellano/escudo_xbee.html

Módulos de radiofrecuencia

http://www.olimex.cl/pdf/Tutorial_Telecontrolli.pdf

http://www.bricogeek.com/shop/65-modulos-radiofrecuencia

Antenas e instrucciones para usar XBee

http://www.xbee.cl/ejemplos.html

http://www.xbee.cl/index.html

http://digi.com

Cámara

www.dlink.com

Page 66: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 66

ANEXOS

Anexo 1: Vehículo equipado con griper, cámara, módulo RF y una fuente de

alimentación.

Anexo 2a: Plano del chasis del vehículo con llantas

Page 67: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 67

Anexo 2b: Modelado del vehículo

Anexo 3a: Programa con el asistente arduino para activar el módulo emisor.

Page 68: LINUX GNU

CONTROL DE UN VEHICULO TERRESTRE POR RADIOFRECUNCIA 68

Anexo 3b: Programa desarrollado con el asistente arduino para controlar los

actuadores del vehículo.

Anexo 3c: Interfaz gráfica para el control del vehiculo