Este documento describe la introducción a la robótica y su historia. En 3 oraciones: Introduce el tema de la robótica y su necesidad para reemplazar al ser humano en trabajos peligrosos o monótonos. Explica la clasificación de los robots según su área de aplicación como robótica industrial, de servicio e inteligente. Describe brevemente la historia de la robótica y algunos robots importantes a través de los años.
Proyecto de Grado: "Diseñar e Implementar un Sistema de Control Cinemático pa...Chao Huang
http://www.youtube.com/watch?v=ukFsntocGvA
Diseñar e Implementar un Sistema de Control Cinemático para el Robot
Industrial Motoman K3S
I.- Introducción; II.- Historia, Estructura y Herramientas matemáticas del robot
industrial; III.- Cinemática y Dinámica del robot industrial; IV.- Análisis del
problema; V.- Diseño del proyecto; VI.- Implementación; VII.- Conclusiones y
Recomendaciones; Bibliografía; Anexos.
LA ROBOTICA
La robótica es la rama de la ingeniería mecánica, de la ingeniería electrónica y de las ciencias de
la computación, que se ocupa del diseño, construcción, operación, estructura, manufactura y
aplicación de los robots.
La robótica combina diversas disciplinas como la mecánica, la electrónica, la informática, la
inteligencia artificial, la ingeniería de control y la física. Otras áreas importantes en robótica son
el álgebra, los autómatas programables, la animatrónica y las máquinas de estados, y se usa
también como ayuda para la enseñanza
Antecedentes y personajes famosos en la Rebotica.
Nos podremos encontrar personajes como:
·Joseph Jacqard
·Jacques de Vauncansos
·Henri Maillardert
·Karel Capek
·Isaac Asimov
La robótica es una ciencia que apareció en los años 60, que estudia el diseño y construcción de máquinas capaces de desempeñar tareas realizadas por el ser humano o que requiere del uso de inteligencia. En sus inicios esta ciencia era solo de expertos, ingenieros y técnicos. Nos encontramos en la Revolución Tecnológica, a partir de invención del transistor semiconductor en 1951, ha provocado cambios trascendentales en los ámbitos sociales, económicos y políticos de orbe mundial.
Una de las definiciones más consideradas a los robots como dispositivos mecánicos capaces de realizar tareas que podrían ser desempeñadas o no por seres humanos. La inteligencia no es requisito para que una máquina o dispositivo sea clasificado como robot.
1. 1
C
CAPITULO I, 4
Clasificación de los Robots, 7
COMUNICACION INALÁMBRICA Y PROTOCOLO XBEE, 23
E
errores, 15
I
Introduccion, 2
INTRODUCCIÓN, 2, Véase
L
LA ROBOTICA, 4
M
metodos, 16
2. -2-
INTRODUCCIÓN
Los avances en robótica indican que en los últimos años se ha presentado la
necesidad de desarrollar tecnología que reemplace al ser humano en ciertas
3. -3-
actividades, especialmente cuando trabaja en áreas de alto riesgo, de difícil acceso o
simplemente para facilitar y agilizar el trabajo monótono.
Darle autonomía a un robot significa dotarle de características que lo hacen
particularmente interesante. Estas tienen que ver con las cualidades del entorno en el
que los robots deben llevar a cabo la tarea, y las características de la tarea en sí
misma: el entorno es altamente dinámico; esto exige obtener respuestas en tiempos
muy cortos, dar solución a un conjunto de limitantes constituye una tarea ardua de
recolección de datos y estimación de la información entregada por diversos
dispositivos, como el uso de sensores.
Surge la necesidad de implementar sistemas que permitan tomar decisiones
inteligentes para realizar las diferentes acciones en un entorno determinado, sin que
esto afecte el desempeño del resto de los dispositivos que componen dicho entorno.
Se pretende diseñar e implementar un sistema prototipo de posicionamiento
odométrico inalámbrico es decir utilizando sensores propioseptivos, para un robot
móvil que permita simplificar el trabajo en varias actividades como: transportación de
materiales peligrosos de un departamento a otro, transportación de documentos,
monitoreo de lugares, etc., sin necesidad de la intervención adicional de un operario
humano, dichas actividades deben cumplir con las siguientes precisiones: el robot
móvil deberá desenvolverse en una superficie regular y plana, tendrá un área de
cobertura limitada (de acuerdo al alcance del módulo transmisor y receptor), deberá
conocer el entorno estructurado en donde se desenvolverá y sin conocimiento de los
posibles obstáculos que se encuentren en el trayecto, enviará constantemente
información referente a su posición, durante el recorrido y hasta culminar su
trayectoria, dicha trayectoria será determinada con anterioridad en un PC, la
4. -4-
demostración del prototipo se realizará en el laboratorios de la Escuela de Ingeniería
Electrónica de la ESPOCH.
La investigación permitirá a cualquier tipo de empresa integrar tecnologías que
permitan tomar decisiones inteligentes en tiempo real minimizando incluso el tiempo
de realización de procesos.
Este tipo de tecnología no es muy compleja de implementar, y los costos son
relativamente bajos comparado con otras tecnologías.
CAPITULO I
LA ROBOTICA
1.1 Generalidades
La historia del ser humano se basa en un proceso de creatividad de algunos seres
anónimos, incomprendidos en su momento, pero que lograron saltos cualitativos en la
historia del conocimiento. La historia de la robótica ha estado unida a la construcción
5. -5-
de aparatos y maquinarias, que trataban de plasmar el deseo humano de crear seres
que lo descargasen del trabajo.
Carlos Chapek un escritor checo, incorporó en 1921 el término "Robot" en su obra
dramática "Rossum's Universal Robots / R.U.R.", a partir de la palabra checa robota,
que significa servidumbre o trabajo forzado.
El término robótica es recalcado por Isaac Asimov, definiendo a la ciencia que estudia
a los robots. Asimov creó también las Tres Leyes de la Robótica. En la ciencia ficción
el hombre ha imaginado a los robots visitando nuevos mundos, haciéndose con el
poder, o simplemente aliviando de las labores caseras.
1.1.1 Historia de la Robótica
A lo largo de la historia el hombre ha sacado provecho de un sinnúmero de
aplicaciones robóticas desde tiempos remotos; a continuación algunos de estos
ejemplos.
Tabla 1 La Robótica en la Historia
Fecha Importancia Nombre Inventor
del robot
Siglo I A. Descripciones de más de 100 Ctesibius de
C. y máquinas y autómatas, incluyendo un Alexandria, Filón de
antes artefacto con fuego, un órgano de Bizancio, Herón de
viento, operado mediante una Alexandria, y otros
moneda y a vapor, en neumática y
Autómata de Herón de Alexandria
1206 Primer robot humanoide programable Barco con Al-Jazari
cuatro
músicos
6. -6-
robotizados
c. 1495 Diseño de un robot humanoide Caballero Leonardo da Vinci
mecánico
1738 Pato mecánico capaz de comer, Digesting Jacques de
agitar sus alas y excretar. Duck Vaucanson
1800s Juguetes mecánicos japoneses que Juguetes Hisashige Tanaka
sirven té, disparan flechas y pintan. Karakuri
1921 Rossum's Karel Čapek
Aparece el primer autómata de ficción
Universal
llamado "robot", aparece en R.U.R.
Robots
1930s Se exhibe un robot humanoide en la Elektro Westinghouse
World's Fairs entre: 1939 y 1940 Electric Corporation
La Robótica en la Historia (Continuación)
1948 Exhibición de un robot con Elsie y Elmer William Grey Walter
comportamiento biológico simple
1956 Primer robot comercial, de la Unimate George Devol
compañía Unimation fundada por
George Devol y Joseph
Engelberger, basada en una
patente de Devol
1961 Se instala el primer robot industrial Unimate George Devol
1963 Primer robot "palletizing" Palletizer Fuji Yusoki Kogyo
1973 Primer robot con seis ejes Famulus
KUKA Robot Group
electromecánicos
1975 Brazo manipulador programable PUMA Victor Scheinman
universal, un producto de
Unimation
Fuente: http://es.wikipedia.org/wiki/Rob%C3%B3tica
7. -7-
1.1.2 Definición de Robótica
La Robótica es la ciencia y la tecnología de los robots, se ocupa del diseño,
manufactura y aplicaciones de los robots. Es un conjunto de métodos y medios
derivados de la informática cuyo objetivo de estudio concierne la concepción, la
programación y la puesta en práctica de mecanismos automáticos que pueden
sustituir al ser humano para efectuar operaciones reguladoras de orden intelectual,
motor y sensorial. La robótica es una tecnología multidisciplinar ya que toma
conceptos provenientes de diversos dominios del conocimiento: Mecánica, Física,
Matemáticas, Cinemática, Geometría, Electrónica, Electricidad, Informática, etc. Otras
áreas importantes en robótica son el álgebra, los autómatas programables y las
máquinas de estados.
1.1.3 Clasificación de los Robots
Según su área o campo de aplicación
Robots Físicos
Robótica Industrial: Es la parte de la Ingeniería que se dedica a la
construcción de máquinas capaces de realizar tareas mecánicas y repetitivas
de una manera muy eficiente y con costes reducidos.
Robótica de Servicio: Es la parte de la Ingeniería que se centra en el diseño y
construcción de máquinas capaces de proporcionar servicios directamente a
los miembros que forman sociedad.
Robótica Inteligente: Son robots capaces de desarrollar tareas que,
desarrolladas en un ser humano, requieren el uso de su capacidad de
razonamiento.
8. -8-
Robótica Humanoide: Es la parte de la ingeniería que se dedica al desarrollo
de sistemas robotizados para imitar determinadas peculiaridades del ser
humano.
Robots Software
Robótica de Exploración: Es la parte de la Ingeniería del Software que se
encarga de desarrollar programas capaces de explorar documentos en busca
de determinados contenidos. Existen diversos servicios en Internet dedicados a
esta parcela de la robótica.
Según su Construcción
Robots Terrestres
Con Ruedas: Ruedas: La rueda es un método altamente probado y muy
eficiente en superficies homogéneas poco inclinadas. Los robots con ruedas
pueden transportar una carga que es relativamente mayor, respecto de sus
contrapartes cuyo sistema de locomoción se basa en patas. La principal
desventaja de las ruedas es su empleo en terrenos irregulares
Fig. 1 Robot Móvil con ruedas
Fuente: www.foxitsoftware.com
9. -9-
Fig. 2 Robot tipo oruga
Fuente: www.foxitsoftware.com
Con Patas: son, evidentemente, un mecanismo producto de un enfoque
biológico, por ello el desarrollo de la biorobótica. Sus ventajas, entre otras, son
la adaptabilidad al terreno y la posibilidad de omnidireccionalidad. Se puede
tener robots de una pata hasta ocho patas en aplicaciones industriales,
comerciales y exploratorias, entre otras.
Fig. 3 Robot de cuatro patas
Fuente: www.foxitsoftware.com
10. - 10 -
Fig. 4 Hexápodo
Fuente: /www.foxitsoftware.com
Fig. 5 El robot ápodo CUBE 2.0
Fuente: /www.foxitsoftware.com
1.1.3.1 Aplicación
Domobot
Los domobots son microbots (robots móviles con micro controlador) domóticos
(conectados a una red de automatización doméstica).
Están conectados a un controlador domótico (un ordenador o un dispositivo autónomo
sin necesidad de ordenador) mediante cable (puerto USB o Firewire) o
inalámbricamente (generalmente un puerto WIFI).
11. - 11 -
Se utilizan principalmente en las tareas del hogar (home care), como aspiradores,
transportadores de objetos dentro de la casa para el lavado, planchado...
No es lo mismo un robot doméstico que un Domobot. ROOMBA es un robot
doméstico, pero no es un Domobot debido a que no tiene un puerto para conectarlo a
la red domótica (p.e. un puerto WIFI o USB ).
En definitiva, la domobótica es un cruce entre la microbótica y la domótica
12. - 12 -
CAPITULO II
LA ODOMETRÍA
2.1 Definición
La posición del robot respecto a un sistema de referencia inicial es uno de los
parámetros más importantes de los que debe disponer un robot móvil.
Se conoce como "Odometría" a las técnicas de posicionamiento que emplean
información de sensores propioceptivos (aquéllos que adquieren datos del propio
sistema), para obtener una aproximación de la posición real a la que se encuentra un
sistema móvil, en un determinado instante, respecto a un sistema de referencia inicial.
Es el método de navegación más usado en el posicionamiento de robots móviles, es la
estimación del movimiento de un vehículo tomando como base la rotación de sus
ruedas. Las mediciones se calculan incrementalmente, lo que involucra la existencia
13. - 13 -
inevitable de un error. Este error incrementa proporcionalmente con la distancia
recorrida por el vehículo.
Se basa en ruedas de medida y modelos de contacto, utilización de sensores
inerciales, como acelerómetros y giróscopos y de mediciones internas del robot. Los
elementos son simples de implementar. Entre los elementos para este tipo de
técnica de posicionamiento, están los encoders, los CIR y potenciómetros lineales.
Estos elementos presentan varios problemas de exactitud ante la presencia de
deslizamiento en sus ruedas y desacople mecánico.
La Odometría es un método muy utilizado por su bajo coste, elevada frecuencia de
cálculo y buena precisión a corto plazo.
En general, como se puede apreciar en la figura siguiente son suficientes tres
parámetros (X, Y, θ) para conocer la posición de un sistema móvil: posición respecto al
eje "x", respecto al eje "y" ángulo respecto al eje "x".
Parámetros de Odometría
Fuente: http://optimus.meleeisland.net/
14. - 14 -
Es capaz de conocer su posición actual a partir de la distancia recorrida por cada una
de sus ruedas. Para ello, accede regularmente a las lecturas de los encoders para
determinar cuál ha sido el desplazamiento lineal de cada una de las ruedas.
La odometría tiene la ventaja que no es capaz de proveer al robot una estimación de
su posición.
2.2 Ecuaciones Utilizadas en la Odometría
Considerando la precisión de los encoders o sensores, P, la distancia entre ruedas, B,
y el valor de los acumuladores de los encoders izquierdo y derecho, Tl y Tr
respectivamente, se calcula el desplazamiento lineal (en mm) realizado por cada
rueda:
Dl = Tl * P
Dr = Tr * P
El desplazamiento realizado por el punto medio del eje imaginario que une las dos
ruedas se calcula como (en mm):
Dc = (Dl + Dr) / 2
El valor del ángulo de giro que se produce cuando las ruedas giran a distintas
velocidades se calcula como (en radianes):
Dθ = (Dr - Dl) / B
A partir de la posición en el instante actual, t, (Xt, Yt, θt) se calcula la posición en el
instante siguiente, t+1, de la siguiente forma:
θt+1 = θt + Dθ
Xt+1 = Xt + Dc * cos(θt+1)
Yt+1 = Yt + Dc * sin(θt+1)
15. - 15 -
2.3 Errores de Odometría sistemáticos y no sistemáticos
2.3.1 Errores Sistemáticos:
Utilizar ruedas con diámetro diferente
El diámetro real de las ruedas difiere del diámetro nominal
Mala alineación de las ruedas
La base de la rueda real difiere de la nominal
Resolución finita del encoger
Frecuencia de muestreo finita
2.3.2 Errores no sistemáticos
Viajar a través de superficies irregulares
Viajar y encontrar objetos inesperados en la superficie
Derrape de las ruedas atribuible a:
Pisos resbaladizos
Sobre-aceleración
Patinar/derrapar
Fuerzas externas (interacción con cuerpos externos)
Fuerzas internas (rodamiento de ruedecillas)
Perder el contacto de las ruedas con el piso
Los errores sistemáticos son realmente importantes, ya que se acumulan
constantemente, entonces, es importante detectar si un error es sistemático o no, para
así lograr reducir el error de odometría que se acumula. Por ejemplo, en muchas
superficies interiores lisas, el error sistemático contribuye mucho más a aumentar el
error de odometría que los errores no sistemáticos.
16. - 16 -
2.4 Métodos de Localización
Método sencillo para estimación de posición basado en sensores de medición de giro
de rueda (≡ longitud de paso en un robot humanoide)
Posición + postura actual = acumulación de desplazamientos (integración de camino)
Robot con tracción diferencial
Robótica móvil (robots con ruedas)
17. - 17 -
Menos grados de libertad [como mucho (x,y, θ)] ⇒ problema más sencillo además:
menor velocidad ⇒ dinámica no es relevante
Robots pueden girar en el sitio (tracción diferencial robot es un punto ⇒ configuración
= (x,y) “hinchar” obstáculos en el radio del robot para compensar
2.5 APLICACIONES
2.5.1 Robótica Autónoma
La Robótica Autónoma es el área de la Robótica que desarrolla robots capaces de
desplazarse y actuar sin intervención humana. Para ello el robot debe percibir su
entorno y actuar de forma adecuada, además de llevar a cabo su tarea.
La Robótica ha tenido grandes avances en entornos estructurados, en los que el
controlador del robot puede tener un mapa detallado de su entorno. Conforme decrece
el grado de estructuración del entorno las tareas se tornan más complejas. Esto ocurre
cuando el robot es móvil y debe tener información de su posición en el mapa interno.
Los mecanismos pueden ser absolutos o relativos, por ejemplo, usando GPS y
odometría, respectivamente.
En entornos no estructurados la solución a través de mapa no es viable, por lo que se
toman caminos en los que no se usa la Inteligencia Artificial clásica, con un control
centralizado, sino la Inteligencia Artificial basada en Multiagentes (originaria en el
trabajo de Rodney Brooks y su arquitectura de subsunción), o en planteamientos
conexionistas usando redes neuronales. La disciplina que usa Algoritmos Genéticos
para evolucionar Redes Neuronales se denomina Robótica Evolutiva.
18. - 18 -
2.5.2 Robótica Móvil
Los robots móviles son una herramienta eficiente para realizar el transporte en los
procesos de fabricación flexible. Los sistemas de posicionamiento y de guiado que
incorporan permiten su funcionamiento autónomo. Los métodos de posicionamiento de
robots móviles se clasifican en dos grupos posicionamiento relativo y posicionamiento
absoluto. Los primeros calculan la posición y la orientación del robot a partir de una
configuración inicial conocida, este es el caso de la Odometría y la navegación inercial.
Los métodos de posicionamiento absoluto utilizan marcas distribuidas en el entorno de
trabajo del robot para determinar su localización absoluta.
Estas técnicas son más fiables pero resultan más lentas. En la mayoría de
aplicaciones se combina la Odometría con un método absoluto para reducir
periódicamente el error. En robótica móvil, es necesario planificar movimientos
concretos y controlarlos para garantizar trayectorias seguras y precisas, lo cual
conllevan a enfrentar diversos problemas entre los que se destaca el seguimiento de
caminos que, para los vehículos con ruedas, se determina teniendo en cuenta la
posición y la orientación actual del vehículo con respecto a un trayecto y coordenadas
a seguir . Definir que dispositivos se pueden utilizar al posicionar un robot en su
entorno, requiere considerar los siguientes aspectos:
Resolución espacial: concebido como el más pequeño incremento del movimiento
en el que el robot puede dividir su volumen de trabajo. Depende fundamentalmente de
dos factores: la resolución de sistema de control y las inexactitudes mecánicas del
robot.
19. - 19 -
Exactitud: Definida como la capacidad del robot para conseguir un punto de destino
determinado.
Los sistemas convencionales utilizan diversas técnicas para obtener la orientación y
posición de un robot, se destacan: La Odometría, el posicionamiento absoluto basado
en marcas o balizas, sistemas radiogoniométricos y GPS; los cuales requieren
conocer tanto los requerimientos del robot móvil como las propiedades del entorno
2.5.2.1 Navegación en Robots Móviles
El robot móvil se caracteriza por realizar una serie de desplazamientos (navegación) y
por llevar a cabo una interacción con distintos elementos de su entorno de trabajo
(operación), que implican el cumplimiento de una serie de objetivos impuestos según
cierta especificación. Así, formalmente el concepto de misión en el ámbito de los
robots móviles (Levi, 1.987) se define como la realización conjunta de una serie de
objetivos de navegación y operación. El robot móvil debe poseer una arquitectura que
coordine los distintos elementos de a bordo.
Sistema sensorial
Control de movimiento y operación de forma correcta y eficaz para la realización de
una misión. El diseño de esta arquitectura depende mucho de su aplicación en
particular, pero un esquema básico de los principales módulos que la componen y la
interacción que existe entre los mismos es el presentado en la figura:
20. - 20 -
Arquitectura necesaria en un robot móvil para realizar una misión.
Fuente: http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf
En la fig. xxxxx, se presenta un módulo de control de misión dedicado a coordinar al
controlador de desplazamientos (control de navegación) con el controlador del
elemento que interacciona con el entorno de trabajo.
Etapas:
Control de Misión
Control de Navegación
Control de Operación
Especificación de la misión
Esta coordinación debe efectuarse de forma perfecta para cumplir los objetivos
impuestos por la misión, definida de acuerdo con ciertas especificaciones de entrada.
Formalmente, el control de misión debe analizar el problema y encontrar una
estrategia para resolverlo.
El problema de la navegación se divide en las siguientes cuatro etapas:
21. - 21 -
Percepción del mundo: Mediante el uso de sensores externos, creación de un mapa
o modelo del entorno donde se desarrollará la tarea de navegación.
Planificación de la ruta: Crea una secuencia ordenada de objetivos o sub metas que
deben ser alcanzadas por el vehículo. Esta secuencia se calcula utilizando el modelo o
mapa de entorno, la descripción de la tarea que debe realizar y algún tipo de
procedimiento estratégico.
Generación del camino: En primer lugar define una función continua que interpola la
secuencia de objetivos construida por el planificador.
Posteriormente procede a la discretización de la misma a fin de generar el camino.
Seguimiento del camino: Efectúa el desplazamiento del vehículo, según el camino
generado mediante el adecuado control de los actuadores del vehículo (Martínez,
1.994).
Las tareas involucradas en la navegación de un robot móvil son:
La percepción del entorno a través de sus sensores, de modo que le permita
crear una abstracción del mundo;
La planificación de una trayectoria libre de obstáculos, para alcanzar el punto
destino seleccionado.
El guiado del vehículo a través de la referencia construida.
De forma simultánea, el vehículo puede interaccionar con ciertos elementos del
entorno. El problema de la navegación para un robot móvil se define como: Dado un
22. - 22 -
punto de partida A alcanzar el (los) punto(s) de destino B (B1,B2,...) utilizando su
conocimiento [el del robot] y la información sensorial que recibe [el robot].
La navegación implica resolver sub problemas a nivel de:
Interpretar los datos que le suministra sus
sensores para extraer información útil.
PERCEPCIÓN
Gestionar sus actuadores para conseguir la
LOCALIZACIÓN
trayectoria deseada.
... el robot debe
ser capaz de ...
PLANIFICACIÓN
Determinar su posición en el entorno.
CONTROL DE
MOVIMIENTO
Decidir cómo actuar para alcanzar el
objetivo
Sub problemas de la navegación móvil
Fuente: http://nsl.csie.nctu.edu.tw/NCTUnsReferences/mv05-georouting.pdf
23. - 23 -
CAPITULO III
COMUNICACION INALÁMBRICA Y PROTOCOLO XBEE
3.1 Transmisión Inalámbrica
La comunicación inalámbrica (inglés wireless, sin cables) es aquella en la que
extremos de la comunicación (emisor/receptor) no se encuentran unidos por un medio
de propagación físico, sino que se utiliza la modulación de ondas electromagnéticas a
través del espacio.
En este sentido, los dispositivos físicos sólo están presentes en los emisores y
receptores de la señal, entre los cuales encontramos: antenas, computadoras
portátiles, PDA, teléfonos móviles, etc.
La comunicación inalámbrica también se denomina transmisión no guiada, estos se
utilizan principalmente en el aire. Hay dos configuraciones para la emisión y recepción
de esta energía: direccional y omnidireccional.
24. - 24 -
Fig. 6 Comunicación Inalámbrica
Fuente:http://www.monografias.com/trabajos16/comunicacioninalamrica/comuicacion.i
nalambrica.shtml
En general, la tecnología inalámbrica utiliza ondas de radiofrecuencia de baja potencia
y una banda específica, de uso libre o privada para transmitir, entre dispositivos.
Estas condiciones de libertad de utilización sin necesidad de licencia, ha propiciado
que el número de equipos, especialmente computadoras, que utilizan las ondas para
conectarse, a través de redes inalámbricas haya crecido notablemente.
La tendencia a la movilidad y la ubicuidad hacen que cada vez sean más utilizados los
sistemas inalámbricos, y el objetivo es ir evitando los cables en todo tipo de
comunicación, no solo en el campo informático sino en televisión, telefonía, seguridad,
domótica, etc. Un fenómeno social que ha adquirido gran importancia en todo el
mundo como consecuencia del uso de la tecnología inalámbrica son las comunidades
inalámbricas que buscan la difusión de redes alternativas a las comerciales.
25. - 25 -
Existen 2 tipos de configuraciones: la direccional y la omnidireccional.
La Direccional: Las antenas de emisión y recepción están perfectamente alineadas
La Omnidireccional: El diagrama de radiación de la antena es mas disperso pudiendo
la señal ser recibida por varias antenas
Rangos:
2Ghz hasta 40Ghz se denomina microondas
30Mhz hasta 1Ghz se denomina ondas de radio
3*10-11 hasta 2*10+14 Mhz se denomina infrarrojos
3.1.1 Métodos de Transmisión
En el método direccional, toda la energía se concentra en un haz que es emitida en
una cierta dirección, por lo que tanto el emisor como el receptor deben estar alineados.
En el método omnidireccional, la energía es dispersada en múltiples direcciones,
por lo que varias antenas pueden captarla. Cuando mayor es la frecuencia de la señal
a transmitir, más factible es la transmisión unidireccional. Por tanto, para enlaces
punto a punto se suelen utilizar microondas (altas frecuencias), para enlaces con
varios receptores posibles se utilizan las ondas de radio (baja frecuencias).
3.1.2 Protocolo Zigbee
ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de
comunicación inalámbrica para su utilización con radios digitales de bajo consumo,
basada en el estándar IEEE 802.15.4 de redes inalámbricas de área personal
(wireless personal area network, WPAN). Su objetivo son las aplicaciones para redes
26. - 26 -
Wireless que requieran comunicaciones seguras y fiables con baja tasa de envío de
datos y maximización de la vida útil de sus baterías.
Ventajas
Ideal para conexiones punto a punto y punto a multipunto.
Diseñado para direccionamiento de información y el refrescamiento de la red.
Opera en la banda libre de ISM 2.4 Ghz para conexiones inalámbricas.
Óptimo para redes de baja tasa de transferencia de datos.
Alojamiento de 16 bits a 64 bits de dirección extendida.
Reduce tiempos de espera en el envío y recepción de paquetes.
Detección de Energía (ED).
Baja ciclo de trabajo - Proporciona larga duración de la batería.
Soporte para múltiples topologías de red: Estática, dinámica, estrella y malla.
Hasta 65.000 nodos en una red.
128-bit AES de cifrado - Provee conexiones seguras entre dispositivos.
Son más baratos y de construcción más sencilla.
Desventajas
La tasa de transferencia es muy baja.
Solo manipula textos pequeños comparados con otras tecnologías.
Zigbee trabaja de manera que no puede ser compatible con bluetooth en todos
sus aspectos porque no llegan a tener las mismas tasas de transferencia, ni la
misma capacidad de soporte para nodos.
Tiene menor cobertura porque pertenece a redes inalámbricas de tipo WPAN.
27. - 27 -
Operación del Módulo Xbee
El módulo Xbee puede soportar una comunicación serial asincrónica, con niveles
lógicos TTL, por medio de una interfaz UART (Universal Asynchronous Receiver-
Transmitter), la velocidad de transmisión puede ser seleccionada por software. El
módulo tiene dos métodos de operación: Operación transparente y operación API
(Application Programming Interface).
En el método de operación transparente el módulo Xbee actúa como reemplazo de
una línea serial, es decir, los datos enviados por un dispositivo al módulo son
transmitidos inalámbricamente a otro módulo, el cual recibe esa información y la envía
por el puerto serial a otro dispositivo, en este proceso los módulos no modifican los
datos, solamente se encargan de tomar los datos que reciben del un dispositivo y lo
hacen llegar al otro dispositivo tal como lo recibieron.
En el método de operación API (Application Programming Interface), todos los datos
que ingresan o dejan el módulo están contenidos en tramas, las cuales definen la
operación o eventos dentro del módulo. Este método permite cambiar la dirección de
destino de un paquete sin tener que entrar al modo de comando (para lo cual sería
necesario usar un ordenador), determinar el estado de los paquetes recibidos, permite
conocer la identidad del módulo que le envía un paquete, entre otras.
De acuerdo al estándar IEEE 802.15.4 dos tipos de redes son soportadas por los
módulos Xbee. Sin balizas (Non Beacon) y con balizas (beacon). Antes de explicar en
que consiste cada tipo de red debemos explicar algunos conceptos relacionados con
éstas. Asociación. Es el establecimiento de relaciones entre un dispositivo final (End
device) y un coordinador.
28. - 28 -
Coordinador. Es un dispositivo central configurado para proveer servicios de
sincronización para la transmisión de balizas.
Dispositivo final (End device). Es un dispositivo dentro de una red, en la cual existe un
coordinador, el mismo que provee la sincronización, para que pueda entrar a un modo
dormido, para efectos de bajo consumo de potencia.
Red de Área Personal (PAN). Comunicación dentro de una red que incluye
dispositivos finales y posiblemente un coordinador. El método sin balizas (non
beacon), es empleado en comunicaciones que no requieren el empleo de un
coordinador. El esquema sin balizas, es empleado en una topología igual a igual, en el
que cada dispositivo comparte el papel de maestro o esclavo. Cualquier dispositivo
puede iniciar una conversación y puede ser interferido por otros dispositivos.
El esquema con baliza (beacon), un dispositivo es configurado como coordinador. Este
mecanismo permite controlar el consumo de potencia en la red. Este modo permite a
todos los dispositivos saber cuando pueden transmitir. El coordinador de la red
controla el canal y dirige las transmisiones. La principal ventaja de este método de
trabajo es reducir el consumo de potencia.
Modos de Operación
Un módulo Xbee opera dentro de cinco modos. Transmisión, recepción, modo libre,
modo dormido y modo de comando.
El módulo se encuentra en modo de transmisión, cuando ingresa datos a éste a través
de la interfaz serial. El módulo se encuentra en modo de recepción, cuando recibe
datos inalámbricamente. El módulo se encuentra en modo libre, cuando no transmite o
29. - 29 -
recibe datos. El módulo ingresa al modo de comando, para modificar o leer
parámetros, como direcciones, el nivel de potencia, la velocidad para una
comunicación serial, entre otros.
30. - 30 -
CAPITULO IV
PROCESAMIENTO DE DATOS Y MANEJO DE PUERTO SERIE CON MATLAB
4.1 Entorno MatLab
Es un programa interactivo para computación numérica y visualización datos. Es
ampliamente usado por Ingenieros de Control en el análisis y diseño, posee además
una extraordinaria versatilidad y capacidad para resolver problemas en matemática
aplicada, física, química, ingeniería, finanzas y muchas otras aplicaciones. Está
basado en un sofisticado software de matrices para análisis de sistemas de
ecuaciones. Permite resolver complicados problemas numéricos sin necesidad de
escribir un programa. MATLAB es un entorno de computación y desarrollo de
aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se
encuentren implicados elevados cálculos matemáticos y la visualización gráfica de los
mismos.
31. - 31 -
MATLAB integra análisis numérico, cálculo matricial, proceso de señal visualización
gráfica en un entorno completo donde los problemas y sus soluciones son expresados
del mismo modo en que se escribirían tradicionalmente, sin necesidad de hacer uso de
la programación tradicional matrices. MATLAB puede almacenar información en
variables tales como : a = 100 " <Ctrl> <ENTER> para evaluar la celda ". El programa
permite realizar de un modo rápido la resolución numérica de problemas en un tiempo
mucho menor que si se quisiesen resolver estos mismos problemas con lenguajes de
programación tradicionales como pueden ser los lenguajes Fortran, Basic o C.
4.1.1 Uso de Matrices
MatLab emplea matrices porque con ellas se puede describir infinidad de cosas de una
forma altamente flexible y matemáticamente eficiente. Una matriz de pixeles puede ser
una imagen o una película. Una matriz de fluctuaciones de una señal puede ser un
sonido o una voz humana. Y tal vez más significativamente, una matriz puede describir
una relación lineal entre los componentes de un modelo matemático.
En este último sentido, una matriz puede describir el comportamiento de un sistema
extremadamente complejo. Por ejemplo una matriz puede representar el vuelo de un
avión a 40.000 pies de altura, o un filtro digital de procesamiento de señales.
A = [ 1 2 3; 4 5 6; 7 8 9 ]
4.1.2 Archivos-M: Comandos y Funciones
Los archivos de disco que contienen instrucciones de MATLAB se llaman archivos-M.
Esto es así porque siempre tienen una extención de ".m" como la última parte de su
nombre de archivo. Un archivo -M consiste de una secuencia de instrucciones
32. - 32 -
normales de MATLAB, que probablemente incluyen referencias a otros archivos-M. Un
archivo -M se puede llamar a sí mismo recursivamente.
Puedes crear archivos-M utilizando un editor de texto ó procesador de palabras. Hay
dos tipos de archivos -M: los de comandos y las funciones. Los archivos de comandos,
automatizan secuencias largas de comandos. Los archivos de funciones, permiten
añadir a MATLAB funciones adicionales expandiendo así la capacidad de este
programa. Ambos, comandos y funciones, son archivos ordinarios de texto ASCII.
Tabla 2 Funciones Trigonométricas
Funciones Ejemplos
Trigonométricas sin - seno
cos - coseno
tan - tangente
asin - seno inverso
acos - coseno inverso
atan - tangente inversa
Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
Tabla 3 Funciones Matriciales
Funciones Ejemplos
Matriciales tril(A) Matriz triangular inferior
triu(A) Matriz triangular superior
pascal Triangulo de Pascal
tocplitz Tocplitz
Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
33. - 33 -
Tabla 4 Funciones Elementales
Funciones Ejemplos
Elementales real(a) Parte real; imag(a) Parte imaginaria
conj(a) Conjugado de a
fft(x) Transformada discreta de Fourier del vector x
fft(x,n) FFT de n puntos muestrales
ifft(x) Transformada inversa de Fourier del vector x
zeros Inicializa a ceros
zeros(n) Matriz de nxn de ceros
zeros(m,n) Matriz de mxn de ceros
y=zeros(size(A) Matriz del tamaño de A, todos ceros
Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
Tabla 5 Operadores Relacionales
OPERADORES
Operadores < menor que Operadores &,y
relacionales <= menor o igual a lógicos |,ó
> mayor que ~, no
>= mayor o igual a
== igual a
=~ no igual a
Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
34. - 34 -
Tabla 6 Operadores Matriciales
Operadores Ejemplos
Matriciales + adición o suma
– sustracción o resta
* multiplicación
' adjunta (transpuesta o transpuesta conjugada)
^ potenciación
división-izquierda, / división-derecha
.* producto elemento a elemento
./ y . división elemento a elemento
.^ elevar a una potencia elemento a elemento
Tabla 7 Caracteres Especiales
Caracteres Especiales
[ ] Se utilizan para formar vectores y matrices.
(gg) Define precedencia en expresiones
aritméticas.
Tabla 8 Estructuras
CONTROL DE FLUJO
Estructuras FOR simple
FOR anidada
WHILE
IF, ELSE, ELSEIF y
BREAK
Fuente: http://www.monografias.com/trabajos5/matlab/matlab.shtml
35. - 35 -
4.1.3 Guide Interfaz Gráfica de Usuario en Matlab
GUIDE es un entorno de programación visual disponible en MATLAB para realizar y
ejecutar programas que necesiten ingreso continuo de datos. Tiene las características
básicas de todos los programas visuales como Visual Basic o Visual C++. Para tener
acceso a esta aplicación se debe teclear el siguiente comando. >> guide.
O haciendo un click en el ícono que muestra la figura:
Fig. 7 Ícono GUIDE.
Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB
Se presenta el siguiente cuadro de diálogo:
Fig. 8 Ventana de inicio de GUI.
Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB
36. - 36 -
Se elige la primera opción, Blank GUI, y se genera un nuevo espacio de trabajo como
se muestra en la fig. 10.
Luego se presenta una nueva ventana que es el área de trabajo para el diseño del
programa, en donde se coloca todos los componentes necesarios para generar el la
interfaz deseada.
Fig. 9 Entorno de diseño de GUI
Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB
La interfaz gráfica cuenta con varias opciones para agregar distintas funciones según
la necesidad del programador, las cuales cuentan con dos partes: La primera en
donde se adicionan los componentes, botones, gráficas, etc. y la segunda en donde se
coloca la programación correspondiente View Callbacks/CreateFCN.
37. - 37 -
Descripción de los componentes:
Tabla 9 Componentes MatLab GUI
Control Valor de estilo Descripción
Check box checkbox’ Indica el estado de una opción o atributo
Editable Text edit’ Caja para editar texto
Pop-up menu popupmenu’ Provee una lista de opciones
List Box listbox’ Muestra una lista deslizable
Push Button pushbutton’ Invoca un evento inmediatamente
Radio Button radio’ Indica una opción que puede ser
seleccionada
Toggle Button togglebutton’ Solo dos estados, “on” o “off”
Slider slider’ Usado para representar un rango de
valores
Static Text text’ Muestra un string de texto en una caja
Panel button Agrupa botones como un grupo
Button Group Permite exclusividad de selección con los
radio button
Fuente: http//www.scribd.com/doc/15532859/MANUAL-DE-GUI-EN-MATLAB
Ahora se dispone de dos entornos de trabajo: el archivo *.m que es donde se escribe
todo el código Matlab de programación y el punto *.fig que es donde se pondrán todos
los componentes necesarios que se van a programar.
38. - 38 -
El archivo .m es el que contiene el código con las correspondencias de los botones de
control de la interfaz y el archivo .fig contiene los elementos gráficos.
Cada vez que se adicione un nuevo elemento en la interfaz gráfica, se genera
automáticamente código en el archivo .m. Para ejecutar una Interfaz Gráfica, si se ha
etiquetado con el nombre curso.fig, simplemente ejecutamos en la ventana de
comandos >> curso. O haciendo click derecho en el m-file y seleccionando la opción
RUN.
4.2 Puerto Serie
Fig. 10 Disposición de los Pines del Conector DB-9
Fuente: Ayuda de Matlab 7.6
Es una interfaz de comunicaciones de datos digitales, frecuentemente utilizada por
computadoras y periféricos, en donde la información es transmitida bit a bit enviando
un solo bit a la vez, en contraste con el puerto paralelo que envía varios bits
simultáneamente. La comparación entre la transmisión en serie y en paralelo se puede
explicar con analogía con las carreteras. Una carretera tradicional de un sólo carril por
sentido sería como la transmisión en serie y una autovía con varios carriles por sentido
sería la transmisión en paralelo, siendo los coches los bits.
Un puerto serie es una interfaz física de comunicación en serie a través de la cual se
transfiere información mandando o recibiendo un bit.
Mientras que otras interfaces como Ethernet, FireWire, y USB mandaban datos como
un flujo en serie, el término "puerto serie" normalmente identifica el hardware más o
39. - 39 -
menos conforme al estándar RS-232, diseñado para interactuar con un módem o con
un dispositivo de comunicación similar.
4.2.1 Tipos de Comunicaciones Seriales
Simplex
En este caso el transmisor y el receptor están perfectamente definidos y la
comunicación es unidireccional. Este tipo de comunicaciones se emplean usualmente
en redes de radiodifusión, donde los receptores no necesitan enviar ningún tipo de
dato al transmisor.
Duplex, half duplex o semi-duplex
En este caso ambos extremos del sistema de comunicación cumplen funciones de
transmisor y receptor y los datos se desplazan en ambos sentidos pero no
simultáneamente. Este tipo de comunicación se utiliza habitualmente en la interacción
entre terminales y un computador central.
Full Duplex
El sistema es similar al duplex, pero los datos se desplazan en ambos sentidos
simultáneamente. Para ello ambos transmisores poseen diferentes frecuencias de
transmisión o dos caminos de comunicación separados, mientras que la comunicación
semi-duplex necesita normalmente uno solo. Para el intercambio de datos entre
computadores este tipo de comunicaciones son más eficientes que las transmisiones
semi-duplex.
40. - 40 -
Fig. 11 Comunicación Full Duplex(Ejm.)
En ocasiones encontramos sistemas que pueden transmitir en los dos sentidos, pero
no de forma simultánea. Puede darse el caso de una comunicación por equipos de
radio, si los equipos no son full dúplex, uno no podría transmitir (hablar) si la otra
persona está también transmitiendo (hablando) porque su equipo estaría recibiendo
(escuchando) en ese momento.
4.2.2 Formato Datos Serie
El formato de los datos serie incluye un bit de inicio, entre cinco y ocho bits de los
datos, y uno de parada. Un bit de paridad y un bit de la parada adicional también
podrían ser incluidos en el formato. El siguiente diagrama ilustra el formato de los
datos de serie.
Fig. 12 Formato Transmisión de los datos serie
Fuente: Ayuda de MatLab 7.6
41. - 41 -
El formato para los datos del puerto de serie, usa a menudo la anotación siguiente:
Numero de los bits de datos, tipo de paridad, número de bits de parada
Por ejemplo, 8-N-1 se interpreta como ocho bits de datos, ninguna paridad, y un bit
de parada, mientras que 7-E-2 como siete bits de los datos, paridad igual, y dos bits
de parada.
Los bits de datos a menudo se refieren a caracteres porque estos bits usualmente
representan caracteres ASCII
4.2.3 Transmisión y Configuración de los Bits Serie
Por definición, los datos seriales son transmitidos un bit a la vez. El orden de
transmisión es el siguiente:
El bit de inicio se transmite con un valor de 0. Los bits de datos se transmiten. El
primer bit de datos corresponde al bit menos significante (LSB), mientras el último bit
de los datos corresponde al bit más significante (MSB). El bit de paridad (si se definió)
se transmite. Se transmiten un o dos bits de la parada, cada uno con un valor de 1.
El número de pedazos transferido por segundo está definido por el baud rate. Los bits
transferidos incluyen el bit de inicio, los bits de los datos, el bit de paridad (si definió),
y los bits de la parada.
Las características seriales importantes son: tasa de baudios, bits de datos, bits de
paro, y paridad. Para que dos puertos se comuniquen, estos parámetros deben
igualarse:
42. - 42 -
La tasa de baudios es una unidad de medición para comunicación que indica el
número de bits transferidos por segundo. Por ejemplo, 300 baudios son 300
bits por segundo. Cuando los ingenieros se refieren a un ciclo de reloj, se
refieren a la tasa en baudios, así que si el protocolo indica una razón en
baudios de 4800, el reloj está ejecutándose a 4800 Hz. Esto quiere decir que el
puerto serial está muestreando la línea de datos a 4800 Hz. Las tasas de
baudios para líneas telefónicas son 14400, 28800, y 33600. Tasas de baudios
mayores a estas son posibles, pero reducen la distancia disponible para la
separación de dispositivos. Utilizan estas tasas de baudios para comunicación
donde los dispositivos están localizados entre sí, como sucede típicamente con
los dispositivos GPIB.
Bits de datos son mediciones de los bits de datos actuales en una transmisión.
Cuando una computadora envía un paquete de información, la cantidad de
datos actuales puede ser que no complete 8 bits. Los valores estándar para los
paquetes de datos son de 5, 7, y 8 bits. El marco que usted elija dependerá de
la información que está transfiriendo. Por ejemplo, el ASCII estándar tiene
valores de 0 a 127 (7 bits). El ASCII extendido utiliza de 0 a 255 (8 bits). Si los
datos que usted está transfiriendo se encuentran en texto simple (ASCII
estándar), enviar 7 bits de datos por paquete, es suficiente para la
comunicación. Un paquete se refiere a la transferencia de un sólo byte,
incluyendo los bits de inicio/paro, bits de datos, y paridad. Debido a que el
número de bits actuales depende del protocolo seleccionado, puede utilizar el
término “paquete” para cubrir todas las instancias.
Los bits de paro son utilizados para señalar el término de comunicaciones en
un paquete sencillo. Los valores típicos son 1, 1.5 y 2 bits. Debido a que los
datos se encuentran sincronizados a través de las líneas y cada dispositivo
43. - 43 -
tiene su propio reloj, es posible que los dos dispositivos pierdan sincronización.
Por lo tanto, los bits de paro no solamente indican el final de una transmisión,
también le da un margen de error a las velocidades de reloj de la computadora.
A medida que se utilizan más bits para bits de paro, mayor oportunidad para
sincronizar los diferentes relojes, pero más lenta la razón de transferencia de
datos.
Paridad es una forma de revisión de error simple utilizada en la comunicación serial.
Existen cuatro tipos de paridad – pares, impares, marcados y espaciados. También
puede utilizar los que excluyen de paridad. Para paridad impar y par, el puerto serial
fija el bit de paridad (el último bit después de los bits de datos) a un valor que asegura
que la transmisión tenga un número par o impar de bits lógicos. Por ejemplo, si el dato
es 011, para paridad par, el bit de paridad es 0 para mantener el número par de bits
altamente lógicos. Si la paridad es impar, el bit de paridad es 1, resultando en 3 bits
altamente lógicos. La paridad marcada y espaciada no revisa específicamente los bits
de datos, simplemente fija la paridad de los bits como alta para la paridad marcada o
baja para la paridad espaciada. Esto permite que el dispositivo receptor conozca el
estado de un bit para así determinar si el ruido esta corrompiendo los datos o si los
relojes del dispositivo de transmisión y recepción se encuentran fuera de
sincronización.
44. - 44 -
CAPITULO V
DESARROLLO DE HARDWARE Y SOFTWARE DEL PROTOTIPO
5.1 Descripción de las características técnicas y mecánicas de los dispositivos
y materiales a utilizar
5.1.1 Servomotores HITEC HS311
Fig. 13 Servomotor Encapsulado
Fuente: http://www.todorobot.com.ar/documentos/servomotor.pdf
45. - 45 -
Fig. 14 Partes del Servomotor
Fuente: http://www.todorobot.com.ar/documentos/servomotor.pdf
Un Servo HITEC HS311 es un dispositivo pequeño que tiene un eje de rendimiento
controlado. Este puede ser llevado a posiciones angulares específicas al enviar una
señal codificada. Con tal de que una señal codificada exista en la línea de entrada, el
servo mantendrá la posición angular del engranaje. Cuando la señal codificada
cambia, la posición angular de los piñones cambia. En la práctica, se usan servos para
posicionar superficies de control como el movimiento de palancas, pequeños
ascensores y timones. Ellos también se usan en radio control, títeres, y por supuesto,
en robots.
Los Servos HITEC HS311 son sumamente útiles en robótica. Los motores son
pequeños, tiene internamente una circuitería de control interna y es sumamente
poderoso para su tamaño. Un servo normal o Standard como el HS311 de HIITECH
tiene 42 onzas por pulgada o mejor 3.7kg por cm. de torque que es bastante fuerte
para su tamaño. También potencia proporcional para cargas mecánicas. Un servo, por
consiguiente, no consume mucha energía. En la composición interna se puede
observar la circuitería de control, el motor, un juego de piñones, y la caja.
46. - 46 -
También los 3 alambres de conexión externa. Uno es para alimentación Vcc (+5volts),
conexión a tierra GND y el alambre blanco es el alambre de control.
El motor del servo tiene algunos circuitos de control y un potenciómetro (una
resistencia variable) esta es conectada al eje central del servo motor. Este
potenciómetro permite a la circuitería de control, supervisar el ángulo actual del servo
motor. Si el eje está en el ángulo correcto, entonces el motor está apagado. Si el
circuito chequea que el ángulo no es el correcto, el motor girará en la dirección
adecuada hasta llegar al ángulo correcto. El eje del servo es capaz de llegar alrededor
de los 180 grados. Normalmente, en algunos llega a los 210 grados, pero varía según
el fabricante. Un servo normal se usa para controlar un movimiento angular de entre 0
y 180 grados. Un servo normal no es mecánicamente capaz de retornar a su lugar, si
hay un mayor peso que el sugerido por las especificaciones del fabricante.
La cantidad de voltaje aplicado al motor es proporcional a la distancia que éste
necesita viajar. Así, si el eje necesita regresar una distancia grande, el motor regresará
a toda velocidad. Si este necesita regresar sólo una pequeña cantidad, el motor
correrá a una velocidad más lenta. A esto se le llama control proporcional.
5.1.2 MAX232
Fig. 15 CI. Max 232
Fuente: http://focus.ti.com/lit/ds/symlink/max232.pdf
47. - 47 -
Fig. 16 Configuración interna del max 232
Fuente: http://focus.ti.com/lit/ds/symlink/max232.pdf
El MAX232 es un circuito integrado que convierte los niveles de las líneas de un puerto
serie RS232 a niveles TTL y viceversa. Lleva internamente 2 conversores de nivel de
TTL a rs232 y otros 2 de rs232 a TTL con lo que en total podremos manejar 4 señales
del puerto serie del PC, por lo general las más usadas son; TX, RX, RTS, CTS, estas
dos últimas son las usadas para el protocolo handshaking pero no es imprescindible
su uso. Para que el max232 funcione correctamente deberemos de poner unos
condensadores externos. El MAX232 soluciona la conexión necesaria para lograr
comunicación entre el puerto serie de una PC y cualquier otro circuito con
funcionamiento en base a señales de nivel TTL/CMOS.
El circuito integrado posee dos conversores de nivel TTL a RS232 y otros dos que, a la
inversa, convierten de RS232 a TTL. Estos conversores son suficientes para manejar
las cuatro señales más utilizadas del puerto serie del PC, que son TX, RX, RTS y CTS.
48. - 48 -
TX es la señal de transmisión de datos, RX es la de recepción, y RTS y CTS se
utilizan para establecer el protocolo para el envío y recepción de los datos.
5.1.3 Xbee Pro
Los módulos XBee Pro tienen una presentación similar a la de un chip, están
compuestos por un microcontrolador, un emisor y un receptor de RF. Estos módulos
tienen la ventaja de poder flashearse y cambiarse de protocolo.
Los módulos XBee permiten enlaces seriales de señales TTL en distancias de 30
metros en interiores, 100 metros en exteriores con línea de vista y hasta 1.5 Km con
los módulos Pro.
Fig. 17 Modulo XBee
Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
Fig. 18 Modulo XBee Pro
Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
49. - 49 -
Fig. 19 Medidas vista frontal XBee Pro
http://www.sebest.com.ar/?q=node/61
Fig. 20 Dimensiones del módulo XBEE PRO
Fuente: http://www.sebest.com.ar/?q=node/61
Especificaciones del módulo XBee
Rendimiento
Alcance (interiores) 30m
Alcance (exteriores) 100m
Potencia de salida en transmisión 1mW(0dBm)
Régimen RF de datos 250kbps
Sensibilidad del receptor -92 dBm(1%PER)
Comunicaciones seriales 1200-115200bps
50. - 50 -
Requerimientos de Potencia
Suministro de voltaje 2.8-3.4V
Corriente de transmisión 45mA (a 3.3V)
Corriente de recepción 50mA (a 3.3V)
Corriente bajo consumo <10uA
INFORMACIÓN GENERAL
Frecuencia ISM 2.4GHz
Dimensiones 24.38x32.94mm
Temperatura de operación -40 a 85 ºC
Opciones de antena Integrated whip, chip o U.FL connector
Redes y Seguridad
Topologías permitidas Punto a punto, punto-multipunto e igual a igual
Número de canales 16 DSSS
Capas de filtración de Red PAN ID y direcciones 64-bit
Certificados de Aprobación
Estados Unidos (FCC) OUR-XBEE
Industry Canada (IC) 4214A-XBEE
Europa (CE) ETSI
51. - 51 -
Tabla 10 Características eléctricas del módulo XBee
Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
Tabla 11 Distribución de pines del módulo XBEE PRO
Pin # Name Direction Description
1 VCC - Power supply
2 DOUT Output UART Data Out
3 DIN / CONFIG Input UART Data In
4 DO8* Output Digital Output 8
5 Input Module Reset (reset pulse must be at
RESET
least 200 ns)
6 Output PWM Output 0 / RX Signal Strength
PWM0 / RSSI
Indicator
7 PWM1 Output PWM Output 1
8 [reserved] - Do not connect
9 DTR / Input Pin Sleep Control Line or Digital Input 8
SLEEP_RQ /
DI8
10 GND - Ground
11 AD4 / DIO4 Either Analog Input 4 or Digital I/O 4
12 Either Clear-to-Send Flow Control or Digital I/O
CTS / DIO7
7
13 ON / SLEEP Output Module Status Indicator
14 VREF Input Voltage Reference for A/D Inputs
15 Associate / AD5 Either Associated Indicator, Analog Input 5 or
/ DIO5 Digital I/O 5
16 RTS / AD6 / Either Request-to-Send Flow Control, Analog
DIO6 Input 6 or Digital I/O 6
17 AD3 / DIO3 Either Analog Input 3 or Digital I/O 3
18 AD2 / DIO2 Either Analog Input 2 or Digital I/O 2
19 AD1 / DIO1 Either Analog Input 1 or Digital I/O 1
20 AD0 / DIO0 Either Analog Input 0 or Digital I/O 0
Fuente: http://www.rev-ed.co.uk/docs/xbe001.pdf
52. - 52 -
Una de las principales características de estos módulos es que pueden usarse para
transmitir datos de un puerto serie inalámbricamente sin tener que configurar nada.
Simplemente conectando el pin RX y TX. Lo único con lo que debemos tener cuidado
es con la alimentación de 3.3v. De este modo es posible conectar un microcontrolador
directamente al modulo XBee mediante dos cables, con lo que dotaremos a las
aplicaciones de comunicación inalámbrica.
Sin embargo para aplicaciones más simples podemos usar otras de las características
del módulo. El mismo dispone de 8 pines de entrada/salida y 6 de estos pines además
podemos usarlos como ADC. Estas características se debemos configurarla mediante
una PC (con una placa adecuada) o mediante un microcontrolador conectado al
módulo.
5.1.4 GP2D12
Fig. 21 CI. Sharp GP2D120X, Vista Frontal
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
Fig. 22 Sensor Sharp GP2D120X, Vista Lateral
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
53. - 53 -
Tabla 12 Predisposición de los PINES del SHARP GP2D12
PIN SIGNAL
NAME
1 Vo
2 GND
3 Vcc
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
El Sharp GP2D120X es un sensor medidor de distancias por infrarrojos que indica
mediante una salida analógica la distancia medida. La tensión de salida varía de forma
no lineal cuando se detecta un objeto en una distancia entre 3 y 40 cm. La salida está
disponible de forma continua y su valor es actualizado cada 32 ms.
Normalmente se conecta esta salida a la entrada de un convertidor analógico digital el
cual convierte la distancia en un número que puede ser usado por el microprocesador.
La salida también puede ser usada directamente en un circuito analógico. Hay que
tener en cuenta que la salida no es lineal. El sensor utiliza solo una línea de salida
para comunicarse con el procesador principal.
En las siguientes figuras podemos ver el propio GP2D120X y el conector de tres pines.
Este dispositivo emplea el método de triangulación utilizando un pequeño Sensor
Detector de Posición (PSD) lineal para determinar la distancia o la presencia de los
objetos dentro de su campo de visión.
54. - 54 -
Su modo de funcionamiento consiste en la emisión de un pulso de luz infrarroja, que
se transmite a través de su campo de visión que se refleja contra un objeto. Si no
encuentra ningún obstáculo, el haz de luz no refleja y en la lectura que se hace indica
que no hay ningún obstáculo. En el caso de encontrar un obstáculo el haz de luz
infrarroja se reflecta y crea un triángulo formado por el emisor, el punto de reflexión (el
obstáculo) y el detector.
La información de la distancia se extrae midiendo el ángulo recibido. Si el ángulo es
grande, entonces el objeto está cerca (el triángulo es ancho). Si el ángulo es pequeño
significa que está lejos (el triángulo es largo y, por tanto, delgado).
5.1.4.1 Concepto de triangularización:
Fig. 23 Funcionamiento del Sensor
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
55. - 55 -
Luego se observa como se lleva a cabo la triangulación en el sensor. El LED infrarrojo
emite el haz de luz a través de una pequeña lente convergente que hace que el haz
emisor llegue de forma paralela al objeto.
Cuando la luz choca con un obstáculo, una cierta cantidad de luz se refleja, si el
obstáculo fuera un espejo perfecto, todos los rayos del haz de luz pasarían y sería
imposible medir la distancia. Sin embargo, casi todas las sustancias tienen un grado
bastante grande de rugosidad de la superficie que produce una dispersión hemisférica
de la luz (reflexión no teórica). Alguno de estos haces de ésta luz rebota hacia el
sensor que es recibida por la lente.
La lente receptora también es una lente convexa, pero ahora sirve para un propósito
diferente, actúa para convertir el ángulo de posición. Si un objeto se pone en el plano
focal de una lente convexa y los otros rayos de luz paralelos en otro lado, el rayo que
pasa por el centro de la lente atraviesa inalterado o marca el lugar focal. Los rayos
restantes también enfocan a este punto.
En el plano focal hay un Sensor Detecto de Posición (PSD). Éste dispositivo
semiconductor entrega una salida cuya intensidad es proporcional a la posición
respecto al centro (eficaz) de la luz que incide en él. El rendimiento del PSD en la
salida es proporcional a la posición del punto focal. Esta señal analógica tratada es la
que se obtiene a la salida del sensor.
56. - 56 -
Fig. 24 Funcionamiento del Sensor
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
Características:
Menor influencia del color de los objetos reflexivos.
Línea indicadora de distancia output/distance: Tipo de salida indicadora de la
distancia analógica (tensión analógica).
Distancia del detector de 10 a 80 cm.
Del circuito del mando externo es innecesario.
Bajo costo.
57. - 57 -
5.1.4.2 Dimensiones y encapsulado:
- Las Dimensiones marcadas con * indican la distancia al centro de la lente. Las
tolerancias no especificadas son de
Fig. 25 Dimensiones Sensor Sharp GP2D120X
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
5.1.4.3 Aplicaciones:
1. En televisiones
2. En computadoras personales
3. Automóviles
4. Fotocopiadoras
5. Sensores en sanitarios
6. Sensores de cuerpo humano para los productos de consumo como
ventiladores eléctricos y aires acondicionados.
7. Sensores de garaje
58. - 58 -
5.1.4.4 Valores máximos Absolutos
Para Ta = 25º C y VCC = 5V
Tabla 13 Valores Máximos Absolutos Sensor Sharp
Parámetro Símbolo Rangos Unidades
Tensión de Alimentación VCC -0.3 a 7 V
Tensión en el terminal de salida VO -0.3 a VCC+0.3 V
Temperatura de trabajo Topr -10 a +60 ºC
Temperatura de almacenamiento Tstg -40 a +70 ºC
Tabla 14 Condiciones de trabajo recomendadas
Parámetro Símbolo Rangos Unidades
Tensión de Vcc 4.5 a +5.5 V
alimentación de trabajo
59. - 59 -
Tabla 15 Características electro-ópticas
Parámetros Símbolo Condiciones MIN. TIP. MAX. Unidad
Rango de medida de L (*1) (*3) 10 - 80 cm
distancia
Tensión en el GP2D12 VO L=80 cm (*1) 0.25 0.4 0.55 V
terminal de salida
GP2D15 VOH Tensión de salida VCC- -- -- V
a nivel alto (*1) 0.3
VOL Tensión de salida -- -- 0.6 V
a nivel bajo (*1)
Incremento de la GP2D12 VO Cambio de salida 1.75 2.0 2.25 V
tensión de salida de L=80 a 10 cm
Tensión de salida GP2D15 VO (*1)(*2)(*4) 21 24 27 cm
en función de la
distancia
Corriente media de ICC L = 80 cm (*1) -- 33 50 mA
dispersión
Fuente: Datasheet Sensor Sharp GP2D120X
*1. Objeto reflexivo usando: Papel blanco (Para el color gris se usa la tarjeta R-27 de
la Cía. de Kodak S.A. · la cara blanca, la proporción reflexiva; 90%).
*2. Utilizamos el dispositivo después del ajuste siguiente: salida al cambiar la
distancia L 24cm 3cm debe medirse por el sensor.
*3. Rango de distancia que mide el sistema del sensor óptico.
*4. La salida de cambio tiene una anchura de la histéresis. La distancia especificada
por Vo desde que la salida a nivel bajo (L) hasta que cambia a nivel alto (H).
60. - 60 -
5.1.4.5 Diagrama de bloques internos
Fig. 26 Diagrama de Bloque Internos del Sensor Sharp GPD2D120X
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
5.1.4.6 Curvas características del GP2D120X
Fig. 27 Tensión de Salida Analógica VS en función de Superficie Iluminada
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
61. - 61 -
Fig. 28 Tensión de Salida Analógica VS en función de la Distancia al objeto reflexivo
Fuente: http://document.sharpsma.com/files/GP2D12-DATA-SHEET.PDF
5.1.5 Micro controlador 16F877A
Fig. 29 PIC 16F877A, disposición de los pines del CI.
Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
62. - 62 -
El micro controlador PIC16F877A de Microchip pertenece a una gran familia de micro
controladores de 8 bits (bus de datos) que tienen las siguientes características
generales que los distinguen de otras familias:
Arquitectura Harvard
Tecnología RISC
Tecnología CMOS
Estas características se conjugan para lograr un dispositivo altamente eficiente en el
uso de la memoria de datos y programa y por lo tanto en la velocidad de ejecución.
Microchip ha dividido su micro controladores en tres grandes subfamilias de acuerdo al
número de bits de su bus de instrucciones:
Tabla 16 Familias de micro controladores
Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
Variantes principales
Los micro controladores que produce Microchip cubren una amplio rango de
dispositivos cuyas características pueden variar como sigue:
Empaquetado (desde 8 patitas hasta 68 patitas)
Tecnología de la memoria incluída (EPROM, ROM, Flash)
Voltajes de operación (desde 2.5 v. Hasta 6v)
Frecuencia de operación (Hasta 20 Mhz)
63. - 63 -
5.1.5.1 Descripción de pines del PIC 16F877A
Tabla 17 Descripción del PIC 16F877A
64. - 64 -
Descripción de pines del PIC 16F877A (Continuación)
Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
5.1.5.2 Oscilador
Los PIC de rango medio permiten hasta 8 diferentes modos para el oscilador. El
usuario puede seleccionar alguno de estos 8 modos programando 3 bits de
configuración del dispositivo denominado:
65. - 65 -
FOSC2, FOSC1 y FOSC0. En algunos de estos modos el usuario puede indicar que
se genere o no una salida del oscilador (CLKOUT) a través de una patita de
Entrada/Salida. Los modos de operación se muestran en la siguiente lista:
LP Baja frecuencia (y bajo consumo de potencia)
XT Cristal / Resonador cerámico externos, (Media frecuencia)
HS Alta velocidad (y alta potencia) Cristal/resonador
RC Resistencia / capacitor externos (mismo que EXTRC con CLKOUT)
EXTRC Resistencia / capacitor externos
EXTRC Resistencia / Capacitor externos con CLCKOUT
INTRC Resistencia / Capacitor internos para 4 MHz
INTRC Resistencia / Capacitor internos para 4 MHz con CLKOUT
Los tres modos LP, XT y HS usan un cristal o resonador externo, la diferencia sin
embargo es la ganancia de los drivers internos, lo cual se ve reflejado en el rango de
frecuencia admitido y la potencia consumida. En la siguiente tabla se muestran los
rangos de frecuencia así como los capacitores recomendados para un oscilador en
base a cristal.
Tabla 18 Configuración de oscilador
Capacitores Recomendados
MODO Frecuencia Típica C1 C2
LP 32khz 68 a 100 pf 68 a 100 pf
200khz 15 a 30 pf 15 a 30 pf
XT 100khz 68 a 150 pf 150 a 200 pf
2Mhz 15 a 30 pf 15 a 30 pf
4Mhz 15 a 30 pf 15 a 30 pf
HS 8Mhz 15 a 30 pf 15 a 30 pf
10Mhz 15 a 30 pf 15 a 30 pf
20Mhz 15 a 30 pf 15 a 30 pf
Fuente: REYES, A. Micro controladores PIC, programación en BASIC
66. - 66 -
Cristal externo: En los tres modos mostrados en la tabla anterior se puede usar un
cristal o resonador cerámico externo. En la siguiente figura se muestra la conexión de
un cristal a las patitas OSC1 y OS2 del PIC.
Fig. 30 Configuración del cristal externo
Fuente: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
Rangos.- La frecuencia de oscilación depende no sólo de los valores de Rext y Cext,
sino también del voltaje de la fuente Vdd. Los rangos admisibles para resistencia y
capacitor son:
Rext: de 3 a 100 Kohms
Cext: mayor de 20 pf
5.1.6 Reguladores de Voltaje
5.1.6.1 LM1117T
Se encarga de fijar a su salida un voltaje de 3.3 voltios DC. Entre las especificaciones
más importantes se tiene:
67. - 67 -
Fig. 31 Disp. Pines del LM1117T
Fuente: www.datasheetcatalog.org/datasheet/nationalsemiconductor/LM1117.pdf
5.1.6.2 Regulador 7805
Se encarga de fijar a su salida un voltaje de 5 voltios DC. Éste alimentará a todos los
dispositivos que requieran de este voltaje.
Fig. 32 Disp. Pines del L7805 C
Fuente: http://www.datasheetcatalog.org/datasheets/228/390068_DS.pdf
Entre las principales especificaciones técnicas se tiene:
68. - 68 -
5.2 DIAGRAMAS DE FLUJO Y ESQUEMAS DEL PROTOTIPO
5.2.1 Diagrama de Bloques
Puerto Max Módulo
Serie 232N Xbee
del PC Pro
TX
Módulo
µC
Xbee Pro Motores
PIC16F877A
RX
Fig. 33 Diagrama de bloques del Sistema
5.2.2 Circuito Transmisor
Fig. 34 Circuito Transmisor
69. - 69 -
5.2.3 Circuito Comunicación Serial
Fig. 35 Circuito Comunicación Serial
5.2.4 Circuito Comunicación Serial Regulador de Voltaje
Fig. 36 Circuito Regulador a 3.3V
70. - 70 -
Fig. 37 Tarjeta TX vista superior
Fig. 38 Tarjeta TX vista lateral
71. - 71 -
5.2.5 Circuito Receptor
Fig. 39 Circuito Receptor
Fig. 40 Tarjeta RX vista superior
72. - 72 -
5.2.6 Conexión de los Motores
Fig. 41 Conexión de los Motores
5.2.7 Circuito Sensor Sharp
Fig. 42 Circuito Sensor Sharp
73. - 73 -
5.2.8 Conexión Regulador de Voltaje de 3.3V
Fig. 43 Regulador de Voltaje
5.2.9 Diseño robot móvil
5.2.9.1 Vista Superior
Fig. 44 Esquema vista superior, Robot Móvil
74. - 74 -
Fig. 45 Robot Móvil, Vista Frontal
Fig. 46 Robot Móvil, Vista Lateral
75. - 75 -
5.2.9.2 Vista Superior Bandeja
Fig. 47 Esquema vista superior, Bandeja de transporte
5.3 DESARROLLO DEL SOFTWARE
5.3.1 Interfaz grafica en MatLab 2008
Se ha realizado un entorno amigable para el usuario utilizando el Guide de Matlab, con
la inclusión de varios botones que se encargarán de realizar varias actividades entre
ellas el salto a la aplicación que permite dibujar la trayectoria algo que se consiguió
realizarla en Paint, esta aplicación permite tener una grafica en blanco y negro que es
una característica importante ya que es innecesario la utilización del color para el
reconocimiento de la trayectoria que va ha realizar el prototipo. Es también posible la
76. - 76 -
obtención de la trayectoria mediante cualquier software que permita dibujar pero se
debe tomar en cuenta que la aplicación paint esta disponible en cualquier PC,
entonces, esto implica que no se requiere de la instalación una nueva aplicación o
programa adicional que implique mas consumo de memoria RAM en el PC.
A continuación se detallarán algunas de las pantallas del proceso de consecución de
la imagen. Matlab es el programa que permitió el manejo de los datos y procesamiento
de imágenes para el desarrollo de este proyecto, mediante la aplicación GUIDE de
MATLAB, cuyo comando de ingreso es el siguiente:
>>guide
Esta pantalla muestra el entorno de trabajo del presente proyecto.
Fig. 48 Formulario Pantalla principal, Interfaz gráfica
77. - 77 -
Utilizando botón Dibujar Trayectoria, accederemos a paint, con la línea de comando:
winopen('C:WINDOWSsystem32mspaint.exe');
Esta línea de comando permite saltar a una ubicación especificada en el pad, en este
caso accederemos a la aplicación paint para en ella dibujar la trayectoria que
necesitamos luego manipular, luego de dibujar la trayectoria se guarda el dibujo
realizado con las respectivas características, es posible también modificar las
características de color en escala de grises del grafico en matlab con la siguiente
instrucción.
A=A(:,:,1);
Mediante el botón Actualizar, se carga a la pantalla la imagen dibujada, antes de
proceder a que el prototipo realice su tarea.
La gráfica dibujada en Paint, se obtiene en Matlab como una matriz de datos con el
siguiente comando: A=double(imread('C:Documents and SettingsFernanda
BolañosEscritorioPROGRAMASfinal matlabmatriz.bmp','bmp'));
Realizamos una consulta a la matriz de modo que podamos obtener solo los datos
menores a uno, esto es solo para obtener las coordenadas de la línea negra de la
trayectoria dibujada, en este caso se almacenarán en los vectores i y j, como se indica
a continuación: [i,j]= find(A<1);
Se procederá inmediatamente a configurar el puerto serial que es por donde se
enviarán los datos, con los siguientes comandos:
s = serial('COM5');
set(s,'BaudRate',9600,'DataBits',8,'Parity','none','StopBits',1,'FlowControl','none')
set(s,'OutputBufferSize',length(y)*8);
78. - 78 -
fopen(s);
fwrite(s,P,'uint8');
fread(s,datos);
fclose(s);
delete(s);
clear s;
Una vez obtenido el gráfico completo y almacenado en la matriz se procederá a el
reconocimiento de la trayectoria dibujada de modo que se pueda de terminar que
movimientos deberá realizar el robot móvil, para esto se ha codificado de modo que se
pueda estar al tanto de las características con respecto a Angulo, distancia y dirección
de cada segmento de la trayectoria dibujada.
for w = 1:1:f
if ((y(p)==y(p+1))&(x(p)<x(p+1))& (x(p)==x(p+1)-1))% cero
p=p+1;
a=p;
a1=a1+1;
elseif ((x(p)==x(p+1))&(y(p)>y(p+1))& (y(p)==y(p+1)+1))% noventa
p=p+1;
b=p;
b1=b1+1;
elseif((x(p)<x(p+1))&(y(p)>y(p+1)))%& (x(p)==x(p+1)-1))%& (y(p)==y(p+1)+1))
p=p+1;
d=p;
d1=d1+1;
79. - 79 -
elseif ((x(p)<x(p+1))&(y(p)<y(p+1)))%& (x(p)==x(p+1)-1))%& (y(p)==y(p+1)-
1))%cuarenta y cinco
p=p+1;
c=p;
c1=c1+1;
end
end
end
Estos datos previamente bien filtrados, se podrán enviar hacia el robot móvil, mismos
que estarán organizados en formatos de tramas, que almacena datos importantes para
el desarrollo de la trayectoria, es en este momento en que se pone a prueba la
comunicación bidireccional que ha sido implementada.
De este modo el Micro controlador debe cumplir las trayectorias transmitidas y además
si existe algún obstáculo, evadirlo con la utilización del sensor Sharp GP2D120X
Que se configuró de la siguiente manera:
5.3.2 Programa Microcode Motores
include "modedefs.bas" ; incluye los modos de comunicación
@ device HS_OSC
@ DEVICE BOD_OFF
@ DEVICE WDT_OFF
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 9600
DEFINE HSER_SPBRG 31
DEFINE OSC 20
80. - 80 -
ADCON1=7 ; digitalice el puerto A
i var byte
j var byte
f var byte
x var byte
k var byte
r var byte
val var byte
;DATOS VAR BYTE [2] ; variable DATOS de tamaño de 255
;DATOS VAR BYTE
DATOS1 var byte
MOTOR_D_ADE VAR PORTB.2
MOTOR_D_TRAS VAR PORTB.6
MOTOR_I_ADE VAR PORTB.3
MOTOR_I_TRAS VAR PORTB.7
datos var byte [20]
;eeprom 0,[ ]
trisb=%0
portb=%00000000
trisc=%10000000
portc=%00000000
inicio:
for k=1 to 20
HSERIN[DATOS[k]]
81. - 81 -
if datos[k]="." then
k=21
endif
next
For r=1 to 6
IF datos[r]="1" THEN
r=r+1
FOR f=1 to datos[r]
gosub adelante
next
endif
if datos[r]="2" then
r=r+1
gosub noventader
FOR f=1 to datos[r]
gosub adelante
next
gosub noventaizq
endif
if datos[r]="3" then
r=r+1
gosub derecha
FOR f=1 to datos[r]
gosub adelante
next
82. - 82 -
gosub izquierda
endif
if datos[r]="4" then
r=r+1
gosub izquierda
FOR f=1 to datos[r]
gosub adelante
next
gosub derecha
endif
if datos[r]="5" then
r=r+1
gosub noventaizq
FOR f=1 to datos[r]
gosub adelante
next
gosub noventader
endif
if datos[r]="6" then
r=r+1
gosub cientocho
FOR f=1 to datos[r]
next
endif
if datos[r]="7" then
r=r+1
gosub dossetenta
83. - 83 -
FOR f=1 to datos[r]
gosub adelante
next
endif
next
gosub cientocho
goto inicio
adelante:
for i=1 to 20000
portb=%01000100
pauseus 2200
portb=%10001000
pauseus 900
portb=%00000000
next
return
izquierda:
for i=1 to 10000
portb=%01000100
pauseus 2200
portb=%10001000
pauseus 2200
portb=%00000000
next
return
atras:
for i=1 to 20000
84. - 84 -
portb=%01000100
pauseus 900
portb=%10001000
pauseus 2200
portb=%00000000
next
return
derecha:
for j=1 to 2
for i=1 to 1000
portb=%01000100
pauseus 900
portb=%10001000
pauseus 900
portb=%00000000
next
next
return
noventaizq:
for i=1 to 1000
portb=%01000100
pauseus 2000
portb=%10001000
pauseus 4000
portb=%00000000
next
return
85. - 85 -
noventader:
for j=1 to 4
for i=1 to 1000
portb=%01000100
pauseus 900
portb=%10001000
pauseus 900
portb=%00000000
next
next
return
cientocho:
for j=1 to 2
for i=1 to 1000
portb=%01000100
pauseus 2000
portb=%10001000
pauseus 4000
portb=%00000000
next
next
return
86. - 86 -
CONCLUSIONES
Al dibujar una trayectoria lineal en la aplicación desarrollada en el PC,
se genera datos que son transmitidos al robot móvil, el cual está en la
capacidad de recorrer dicha trayectoria y además informa su posición
durante la realización del proceso.
Luego de las pruebas realizadas se ha determinado un área de
cobertura de funcionamiento del robot de 20 metros en lugares cerrados.
La utilización de cuatro motores de ejes independientes permite un
mejor control del peso de la estructura y del peso adicional (objeto a
trasladar).
Al realizar un barrido sobre la imagen de la trayectoria dibujada se
obtienen todos los datos necesarios para determinar los pares
ordenados de la ruta que va ha recorrer el prototipo.
No es necesario el uso de gráficos a colores para la obtención de datos
que genera la trayectoria, ya que la imagen luego se la procesa como
escala de grises debido a que solo se requieren los puntos negros de la
misma.
87. - 87 -
Se utilizó el PIC 16F877A, ya que brinda las características de memoria
necesarias para el desarrollo de este prototipo.
La utilización de la Odometría nos permitió la reutilización de datos y
procesos generados, que luego sirvieron para determinar la posición del
robot durante la realización de la trayectoria.
Como sensor propioseptivo se utilizo el encoder ECG3100, mismo que
brinda la posibilidad de determinar la posición del robot, respecto al
número de veces que giro la llanta (rpm).
La transmisión y recepción de datos se debe configurar a 9600 bps,
debido a que el protocolo XBee solo admite esta velocidad de
transmisión.
88. - 88 -
RECOMENDACIONES
Para el mejor funcionamiento del prototipo se recomienda utilizar fuentes
independientes de voltaje (2 juegos de 4 pilas de 2AA recargables), ya
que los motores consumen mayor amperaje que el resto de los
componentes utilizados.
Para aplicaciones posteriores que requieran llevar mayor peso se
recomienda utilizar motores que tengan un mayor torque que el de los
motores HITECH HS 311 que fueron los utilizados
Se recomienda hacer la transmisión y recepción por medio de los
puertos hardware del micro controlador debido a que estos tienen una
menor tasa de errores de envío y recepción de datos.
Se recomienda la creación de una trama propia de datos, esto con la
finalidad de manipular los datos de mejor manera en el microcontrolador.
Es recomendable utilizar un Xtal externo de 20MHZ para una mejor
velocidad en la transmisión y recepción de datos
89. - 89 -
RESUMEN
El prototipo del sistema de posicionamiento odométrico inalámbrico para un robot
móvil mediante PC fue construido con la finalidad de desarrollar tecnología que facilite
el trabajo del ser humano en actividades peligrosas, o simplemente para evitar el
trabajo monótono. El prototipo cuenta con una interfaz gráfica hecha en MATLAB,
amigable para el usuario, en donde dibujando la trayectoria se pueden adquirir los
datos, realizando procesamiento de imágenes. Los datos se envían por el puerto serie
del PC al módulo XBee Pro Transmisor, que transmite las tramas de datos al módulo
XBee Pro receptor estableciendo una comunicación Half Duplex. Receptados los datos
estos son alojados e interpretados por el micro controlador 16F877A, el que se
encarga de entregar a los sensores y motores las órdenes que deberán cumplir cada
uno. El robot móvil indica periódicamente su posición, mediante instrucciones que
vuelven al modulo transmisor, datos que son interpretados y visualizados en la interfaz
gráfica antes mencionada. Con el desarrollo e implementación del prototipo se logró
realizar diferentes trayectorias lineales que proporcionan los movimientos requeridos
para transportarse del punto A al punto B, que es el objetivo principal, dependiendo del
uso que se le quiera dar. Se determina que es sumamente versátil y brinda las
características necesarias para su evolución. Este tipo de implementación no genera
costos excesivos si se lo compara con otro tipo de tecnologías. Se recomienda el uso
90. - 90 -
de fuentes independientes en el robot móvil, una para los motores ya que estos
consumen mucho más rápido la corriente y otra para los demás componentes.
91. - 91 -
BIBLIOGRAFÍA
LIBROS
ANGULO, José M. Microntroladores pic Diseño práctico de aplicaciones.
Madrid-España. Imprenta Gráfica, 2003. Pág. 81 - 82.
CORRALES, S. Electrónica Práctica con Micro controladores PIC, Ecuador.
Imprenta Gráfica. Agosto 2006. Pág. 15 - 23, 5 - 47.
CUENCA, M., ANGULO, J. M y ANGULO Micro controladores PIC. La solución
en un chip, s.I., Paraninfo, 1998, Pág. 20 - 55.
CUENCA, M, BALBOA, Moreno, JM. Fundamentos de Electrónica Moderna.
Teoría y Diseño de Circuitos. s.I, s. e. 1998, Pág. 60 - 75.
REYES, C. Micro controladores PIC programación en Basic. Ecuador.
Rispergraf. 2006. Pág. 15 -30, 55 - 73
INTERNET
MATLAB
(10/07/2009)
http://www.monografias.com/trabajos5/matlab/matlab.shtml
(20/07/2009)