Informe Robot Autonomo Con Xbee (1)

27
I. PORTADA UNIVERSIDAD TÉCNICA DE AMBATO Facultad de Ingeniería en Sistemas, Electrónica e Industrial Carrera de Ingeniería en Electrónica y Comunicaciones Título: Diseño e implementación de un Robot Autónomo Controlado por Xbee Carrera: Ingeniería en Electrónica y Comunicaciones Área Académica: Comunicaciones Línea de Investigación: Electrónica Ciclo Académico y Paralelo: Séptimo Electrónica “A” Alumnos participantes: Albán Jhony Guzmán Óscar López Darío Molina Eduardo Moposita Jessica Palate Sabrina Ramón Jaime Vite Luis Módulo y Docente: Microcontroladores, Ing. Patricio Córdova.

description

robot mediante tecnología XBee, Autónomo. Investigación y estructura

Transcript of Informe Robot Autonomo Con Xbee (1)

Page 1: Informe Robot Autonomo Con Xbee (1)

I. PORTADA

UNIVERSIDAD TÉCNICA DE AMBATO

Facultad de Ingeniería en Sistemas, Electrónica e Industrial

Carrera de Ingeniería en Electrónica y Comunicaciones

Título: Diseño e implementación de un Robot Autónomo

Controlado por Xbee

Carrera: Ingeniería en Electrónica y Comunicaciones

Área Académica: Comunicaciones

Línea de Investigación: Electrónica

Ciclo Académico y Paralelo: Séptimo Electrónica “A”

Alumnos participantes:

Albán Jhony

Guzmán Óscar

López Darío

Molina Eduardo

Moposita Jessica

Palate Sabrina

Ramón Jaime

Vite Luis

Módulo y Docente: Microcontroladores, Ing. Patricio Córdova.

Fecha de entrega: 11 de Febrero del 2015

Ambato-Ecuador

2014-2015

1.1 Título:

Page 2: Informe Robot Autonomo Con Xbee (1)

Diseño e implementación de un Robot Autónomo Controlado por Xbee

1.2 Objetivos:

General:

Diseño e implementación de un Robot Autónomo que funcione en forma manual y

automática, a través de la comunicación Xbee y sensores ultrasónicos

respectivamente.

Específicos:

Investigar la forma de trabajo de la comunicación Xbee conjuntamente con la

interacción del PIC 18F4550.

Desarrollar mediante un módulo de reconocimiento de voz e interactuar con el

robot.

Conocer el principio de funcionamiento del servidor de una cámara IP para poder

transmitir en tiempo real.

1.3 Resumen

El presente proyecto es un robot autónomo el mismo que va a ser controlado de forma

automática y manual, para el control del robot se usó 2 módulos Xbee uno para transmisión y

otro para recepción, consta de 4 sensores ultrasónicos colocados en la parte delantera, trasera

y a los lados izquierda y derecha respectivamente, el control del movimiento de las llantas

está controlado mediante dos motores, con el movimiento de una de ellas la otra también se

accionara, es decir un control tipo oruga, la programación se encuentra realizada en

processing el cual es un lenguaje de programación y entorno de desarrollo integrado de

código abierto basado en java de fácil utilización, el robot también cuenta con un

reconocimiento de voz de versión 2 el mismo que mediante palabras cortas interactúa con el

robot dándole ordenes de movimiento. Finalmente el robot también cuenta con un servidor de

cámara IP para android el mismo que está instalado en un celular, este mediante el

movimiento del robot va a transmitir video en tiempo real, se lo puede observar en la PC.

1.4 Palabras clave:

Robot autónomo, Xbee, Sensores

1.5 Introducción

Page 3: Informe Robot Autonomo Con Xbee (1)

El uso de los Microcontroladores tiene una amplia gama de aplicaciones, su gran cantidad de

funciones y usos que se le puede dar nos permite que al asociar diferentes elementos generar

proyectos de gran escala, en este caso utilizando los diferentes puertos que dispone el pic y

los elementos electrónicos como sensores, motores etc. podemos desarrollar un robot con

facilidad. En este caso nos referiremos a un tipo de robot en especial, que es el autónomo

controlado mediante módulos Xbee. Un robot autónomo es un robot que pueden operar con

un alto grado de autonomía, lo que es particularmente deseable en campos como la

exploración espacial, la limpieza de suelos, cortar el césped y el tratamiento de aguas

residuales entre otras aplicaciones.

la gran mayoría de los robots cuentan con tres partes perfectamente diferenciadas la primera

parte son los actuadores en este caso motores, luces, ruedas, y en definitiva cualquier aparato

que permita interactuar con el entorno, la segunda parte es sensores como láser, cámaras,

contactos, micrófonos etc. Como la tercera parte está la inteligencia en la cual se realizan,

algoritmos, métodos, programación, lo que nos van a permitir, a partir de la información de

los sensores, interactuar con el entorno.

Para un robot autónomo que pretende hacer diversas tareas, existe partes indispensables como

por ejemplo el software en el cual se va a programar, el traslado de un lugar hacia otro

sorteando obstáculos es una parte fundamental ya que el robot antes de que pueda movilizarse

debe saber y tener un reconocimiento mediante los sensores para saber dónde está y que debe

hacer.

1.6 Materiales y Metodología

Page 4: Informe Robot Autonomo Con Xbee (1)

1.6.1 Materiales

Materiales Cantidad

Capacitor de 22pf 2

Capacitor de 100 µf 1

Capacitor de 220 pf 1

Diodos leds 2

Xbee shield 2

Zócalos para Xbee Shield 2

Motor de 5v 2

Jumper 3

Resistencias de 10KΩ 5

Microcontrolador 18F4550 1

LM 317T 1

L293D 1

Sensores ultrasónicos SR04 4

Reglas de espadines machos 2

Reglas de espadines hembras 2

Cristal de 20MHz 1

Módulos Xbee 2

Regulador de voltaje 7805 1

Estructura de caja reductora con 4 llantas 1

Estaño 3m 1

Cautín 1

Placa de baquelita 10x5 1

Papel couche 1

Cable UTP 1

Batería polímero de litio de 2,2 A, 2 Cell

7.4v

1

Tabla 1: Lista de Materiales

1.6.2 Marco Teórico

Robot

Page 5: Informe Robot Autonomo Con Xbee (1)

Es una máquina programable que puede manipular objetos y realizar operaciones que antes

sólo podían realizar los seres humanos.

El robot puede ser tanto un mecanismo electromecánico físico como un sistema virtual de

software. Ambos coinciden en brindar la sensación de contar con capacidad de pensamiento o

resolución, aunque en realidad se limitan a ejecutar órdenes dictadas por las personas. [5]

Robot Autónomo

Figura 1: Carrito Robot Autónomo

Un robot autónomo es un robot que pueden operar con un alto grado de autonomía, lo que es

particularmente deseable en campos como la exploración espacial, la limpieza de suelos,

cortar el césped y el tratamiento de aguas residuales.

Algunos modernos robots industriales son "autónomos" dentro de los límites estrictos de su

entorno directo. Puede que no existan todos los grados de libertad en su entorno, pero el lugar

de trabajo del robot industrial es difícil y, a menudo puede contener variables caóticas,

impredecibles. Deberá determinarse la orientación exacta y la posición del siguiente objeto de

trabajo y (en las fábricas más avanzadas) incluso el tipo de objeto y la tarea requerida. Esto

puede variar impredecible (por lo menos desde el punto de vista del robot).

Un área importante de la investigación robótica es permitir que el robot haga frente a su

entorno ya sea en tierra, bajo el agua, en el aire, bajo tierra o en el espacio. [5]

Un robot completamente autónomo tiene la capacidad de:

Obtener información sobre el medio ambiente.

El trabajo durante un período prolongado sin intervención humana.

Moverse todo o parte de sí mismo a través de su entorno operativo, sin ayuda humana.

Page 6: Informe Robot Autonomo Con Xbee (1)

Evitar situaciones que son perjudiciales para las personas, los bienes o sí mismos, a

menos que sean parte de las especificaciones de diseño.

Poder aprender o adquirir nuevos conocimientos, como el ajuste de nuevos métodos

para el cumplimiento de su tarea(s) o la adaptación a los cambios de entorno.

Xbee shield

Figura 1: Xbee shield

El escudo Xbee tiene dos puentes (las pequeñas mangas de plástico extraíble que cada caben

en dos de los tres pines etiquetados Xbee / USB). Estos determinan cómo la comunicación

serie del Xbee se conecta a la comunicación serie entre el microcontrolador (ATmega8 o

ATmega168) y FTDI chip USB a serie de la placa Arduino.

Con los puentes en la posición Xbee (es decir, en los dos pines hacia el interior de la junta), el

pin DOUT del módulo Xbee está conectado al pin RX del microcontrolador; y DIN está

conectado a TX. Tenga en cuenta que los pines RX y TX del microcontrolador todavía están

conectados a los pines TX y RX (respectivamente) del chip FTDI - datos enviados desde el

microcontrolador se transmiten al ordenador a través de USB, así como de ser enviado de

forma inalámbrica mediante el módulo Xbee . El microcontrolador, sin embargo, sólo será

capaz de recibir datos desde el módulo Xbee, no a través de USB del ordenador. [3]

Sensores ultrasónicos SR04

Page 7: Informe Robot Autonomo Con Xbee (1)

Figura 2: Sensores ultrasónicos SR04

El sensor de distancia ultrasónico HC-SR04 es una excelente opción si estás buscando un

módulo ultrasónico potente pero barato y que sea compatible con Arduino y otras plataformas

de microcontroladores.

El sensor de ultrasonidos se enmarca dentro de los sensores para medir distancias o superar

obstáculos, entre otras posibles funciones.

En este caso vamos a utilizarlo para la medición de distancias. Esto lo consigue enviando un

ultrasonido (inaudible para el oído humano por su alta frecuencia) a través de uno de la pareja

de cilindros que compone el sensor (un transductor) y espera a que dicho sonido rebote sobre

un objeto y vuelva, retorno captado por el otro cilindro.

Este sensor en concreto tiene un rango de distancias sensible entre 3cm y 3m con una

precisión de 3mm. [2]

LM 317T

Figura 3: LM 317T

Este circuito integrado monolítico es un ajustable 3 terminal regulador de voltaje positivo,

diseñado para suministrar más de 1,5 A de corriente de carga con un ajuste de la tensión de

salida capaz en un rango de 1,2 V a 37 V. Emplea corriente interna alquilar limitante,

apagado térmico. [3]

Características:

Salida-corriente superior a 1,5 A

Salida ajustable entre 1,2 V y 37 V

Protección de sobrecarga térmica interna

Page 8: Informe Robot Autonomo Con Xbee (1)

L293D

Figura 4: L293D

El integrado L293D incluye cuatro circuitos para manejar cargas de potencia media, en

especial pequeños motores y cargas inductivas, con la capacidad de controlar corriente hasta

600 mA en cada circuito y una tensión entre 4,5 V a 36 V.

Los circuitos individuales se pueden usar de manera independiente para controlar cargas de

todo tipo y, en el caso de ser motores, manejar un único sentido de giro. Pero además,

cualquiera de estos cuatro circuitos sirve para configurar la mitad de un puente H.

El integrado permite formar, entonces, dos puentes H completos, con los que se puede

realizar el manejo de dos motores. En este caso el manejo será bidireccional, con frenado

rápido y con posibilidad de implementar fácilmente el control de velocidad. [4]

Módulo Xbee

Figura 5: Módulo Xbee

Zigbee es un protocolo de comunicaciones inalámbrico basado en el estándar de

comunicaciones para redes inalámbricas IEEE_802.15.4. Creado por Zigbee Alliance, una

organización, teóricamente sin ánimo de lucro, de más de 200 grandes empresas (destacan

Mitsubishi, Honeywell, Philips, _ ODEM_ do, Invensys, entre otras), muchas de ellas

fabricantes de semiconductores. Zigbee permite que dispositivos electrónicos de bajo

consumo puedan realizar sus comunicaciones inalámbricas. Es especialmente útil para redes

de sensores en entornos industriales, médicos y, sobre todo, domóticas.

Page 9: Informe Robot Autonomo Con Xbee (1)

Módulos Xbee PRO de la Serie 1 que se diferencian en la capacidad de alcance, permitiendo

en algunos casos doblar la distancia de transmisión, ya que poseen una mayor potencia en la

señal. Con los módulos Xbee PRO de la Serie 2, es posible crear redes más complejas, como

las llamadas MESH. Estas permiten acceder a un punto remoto, utilizando módulos

intermedios para llegar como routers. [1]

Microcontrolador 18F4550

Figura 6: Microcontrolador 18F4550

Microcontrolador con módulo USB especificación v2.0, hasta 35 pines I/O disponibles,

memoria de programa flash 32kB, SRAM 2048 Bytes, EEPROM de datos 256 Bytes, ADC

de 10 bits y 13 canales, tecnología nanoWatt, 2 módulos captura/comparación/PWM, 4

timers, EUSART, SPP, SPI, I²C. [3]

Regulador de voltaje 7805

Figura 7: Regulador de voltaje 7805

Page 10: Informe Robot Autonomo Con Xbee (1)

El 7805 es el regulador de voltaje más común, y muy usado en diseños empotrados. El 7805

es un regulador lineal hecho por varios fabricantes como “Fairchild”, o “ST

Microelectronics”. Puede venir en varios tipos de encapsulados. Para corrientes de salida

hasta de 1A existen dos tipos de encapsulados: TO-220 (vertical) y D-PAK (horizontal).

Con un disipador apropiado esos tipos de reguladores LM78xx pueden proporcionar

corrientes de más de 1A. Además incluyen protección por sobrecarga térmica, y contra

cortocircuitos. [1]

Ip web cam

IP Webcam convierte su celular en una cámara en red con múltiples opciones de

visualización. Funciona en cualquier plataforma con VLC player o navegador. Emita a través

de una red WiFi sin conexión a internet.

Use IP Webcam con un software MJPG de terceros, incluyendo software de video vigilancia,

monitores de seguridad y la mayoría de reproductores de audio. [8]

Entre sus características se encuentran:

Varios renderizadores web entre los que elegir: Flash, Javascript o integrado

Grabación de video en webm, MOV o MPEG4 (en Android 4.1+)

Transmisión de audio en wav, opus y AAC (AAC requiere Android 4.1+)

Detección de movimiento por sonido, integración Tasker.

Superposición del video a la fecha, hora y nivel de batería.

Adquisición de datos del sensor con un gráfico web en línea.

Soporte de videochat (la transmisión de video para Windows solo es posible a través

de un controlador de transmisión de video universal MJPEG)

Page 11: Informe Robot Autonomo Con Xbee (1)

Figura 8: Ip web cam

Labview

LabVIEW es una plataforma de programación gráfica que ayuda a ingenieros a escalar desde

el diseño hasta pruebas y desde sistemas pequeños hasta grandes sistemas. Ofrece integración

sin precedentes con software legado existente, IP y hardware al aprovechar las últimas

tecnologías de cómputo. LabVIEW ofrece herramientas para resolver los problemas de hoy

en día y la capacidad para la futura innovación, más rápido y de manera más eficiente. [3]

Figura 9: Labview

1.6.3 Procedimiento

Diseño de un algoritmo que permita desarrollar el control de un robot autónomo,

controlado por una comunicación Xbee.

Cálculo del valor del PWM adecuado para definir la velocidad de los motores

instados en el robot autónomo.

Desarrollo de una interfaz gráfica en labview para el control de la comunicación Xbee

Diseño de una placa electrónica para la implementación física

Compilación y programación de un microcontrolador como ejecución de la aplicación

deseada.

Page 12: Informe Robot Autonomo Con Xbee (1)

Desarrollo de una aplicación extra la cual consiste trasmisión de video en tiempo real

mediante un servidor y una interfaz labview.

Desarrollo de una aplicación la cual consiste en el reconocimiento de voz para poder

interactuar con el robot.

Elaboración de una estructura con 4 llantas acoplad con una placa electrónica para el

control de los distintos componentes.

Depuración, calibración y pruebas de funcionamiento

Esquema:

Fig10. Esquema realizado en proteus

Page 13: Informe Robot Autonomo Con Xbee (1)

Fig11. Esquema en vista en opción ARES

Fig12. Esquema en vista 3D

Programa:

//Calculo De La Velocidad Del Sonido//En este ejemplo se trabajara con la velocidad a 20 grados centigrados que es V=343 m/s.//Se aplica el siguiente procedimiento para hallar el tiempo en microsegundos equivalente a un centímetro.//Pasamos la velocidad a centímetros por segundo, esto da V=34300 cm/s//Calculamos el tiempo con la ecuación distancia = velocidad/tiempo, despejamos tiempo y tenemos la ecuación t=d/v, reemplazando por los valores t=1cm/(34300cm/s) luego t = 0,000029155s//Como la señal va y vuelve hace el doble de la distancia que se desea medir, por lo tanto tomara el doble de tiempo, así que mediremos el doble de tiempo luego t=0,000058309s, finalmente pasamos este valor a microsegundos t=58,309us que para efecto practico lo aproximaremos a t=58us en el programa.//Tener en cuenta que la velocidad del sonido es mayor cuando aumenta la temperatura, aproximadamente 0.6m/s por cada grado centigrado.*/

#define Trig1 7 //Trigger delante#define Echo1 6 //Eco delante#define Trig2 5 //trigger derecha#define Echo2 4 //eco derecha#define Trig3 3 //Trigger Atras#define Echo3 2 //Eco atras#define Trig4 1 //Trigger izquierda#define Echo4 0 //Eco izquierda

#define mt11 21 #define mt12 22

Page 14: Informe Robot Autonomo Con Xbee (1)

#define mt21 23#define mt22 24

#define modo 28

int dlt;//Dato sin procesar equivalente a la distancia a medir en centimetrosint der;int atr;int izq;char buffer;int aux=0;int xx=0;

void setup() Serial.init(9600); pinMode(Trig1, OUTPUT);//Disparador como salida pinMode(Echo1, INPUT);//Eco como entrada pinMode(Trig2, OUTPUT);//Disparador como salida pinMode(Echo2, INPUT);//Eco como entrada pinMode(Trig3, OUTPUT);//Disparador como salida pinMode(Echo3, INPUT);//Eco como entrada pinMode(Trig4, OUTPUT);//Disparador como salida pinMode(Echo4, INPUT);//Eco como entrada

pinMode(13, OUTPUT);//led ayuda pinMode(modo, INPUT);//led ayuda pinMode(mt11,OUTPUT); pinMode(mt12,OUTPUT); pinMode(mt21,OUTPUT); pinMode(mt22,OUTPUT);

digitalWrite(mt11,LOW); digitalWrite(mt12,LOW); digitalWrite(mt21,LOW); digitalWrite(mt22,LOW); digitalWrite(modo,LOW); digitalWrite(13,HIGH); delay(500); digitalWrite(13,LOW); dlt=0; der=0;

Page 15: Informe Robot Autonomo Con Xbee (1)

atr=0; izq=0;// Serial.println("sistema cargado"); // delay(2000);// Serial.write(0xAA);// Serial.write(0x37);// delay(1000);// Serial.write(0xAA);// Serial.write(0x21); void loop()

while(digitalRead(modo) == HIGH)

sendel(); //senso distancia delante y a los lados sender(); senizq(); if((dlt>20)&&(der>20)&&(izq>20))

solodelante(); else

stop();if(dlt<=20)

if(der > izq)

giroder();else

if(izq > der)

giroizq();else

girocomp();

else

if(der<=20)

giroizq();

Page 16: Informe Robot Autonomo Con Xbee (1)

else

giroder();

digitalWrite(13,HIGH); delay(1000);//Espera un segundo para visualizar el dato digitalWrite(13,LOW); dlt=0; der=0; atr=0; izq=0;//Reinicio dato a 0

while(digitalRead(modo) != HIGH)

if(Serial.available())

long dato = Serial.read();Serial.printf( "\n\r" ); Serial.print( dato, HEX );delay(500);switch(dato)

case 0x11:solodelante();break;

case 0x12:soloatras();break;

case 0x13:giroder();break;

case 0x14:giroizq();break;

case 0x15:digitalWrite(mt11,LOW);digitalWrite(mt12,LOW);digitalWrite(mt21,LOW);digitalWrite(mt22,LOW);break;

case 0x31:solodelante();

Page 17: Informe Robot Autonomo Con Xbee (1)

break;

case 0x32:soloatras();break;

case 0x33:giroder();break;

case 0x34:giroizq();break;

case 0x35:digitalWrite(mt11,LOW);digitalWrite(mt12,LOW);digitalWrite(mt21,LOW);digitalWrite(mt22,LOW);break;

default:digitalWrite(mt11,LOW);digitalWrite(mt12,LOW);digitalWrite(mt21,LOW);digitalWrite(mt22,LOW);break;

Serial.flush();

1.7 Resultados y Discusión:

1.7.1 Conclusiones:

Un sensor ultrasónico utiliza la velocidad del sonido para poder determinar la

distancia.

La utilización de dos Pics es necesaria para nuestro robot ya que para el módulo Xbee

utilizamos un puerto, pero para poder utilizar el reconocimiento de voz es necesario

usar el mismo puerto y si lo haríamos estaríamos interfiriendo con la comunicación

por lo que se hace una obligación usar otro pic adicional.

Para la programación del módulo de voz debemos utilizar palabras cortas y claras

para un mejor reconocimiento de las instrucciones.

Page 18: Informe Robot Autonomo Con Xbee (1)

Debido a los 4 sensores instalados en el robot este tiene una gran autonomía por lo

que fácilmente se puede trasladar sin ningún tipo de inconveniente.

Para evitar retrasos de tensión y corriente se utilizara un capacitor en la fuente.

La señal PWM saliente del microcontrolador es amplificada con la utilización de 2

L293 colocados en paralelo para abastecer a potencia de consumo de cada motor.

Debido a incoherencias de censado de cada sensor ultrasónico es necesario el reseteo

del microcontrolador mandando un pulso en alto a una de sus entradas.

los módulos de comunicación Zigbee no presentan interferencia con otros artefactos

que trabajan en la misma banda de frecuencias de 2.4Ghz, como los hornos de

microondas, teléfonos inalámbricos y teléfonos celulares con transmisión Bluetooth

Se pudo identificar que los módulos con tecnología Zigbee, son módulos inteligentes

que tienen una funcionalidad variada y amplia, a pesar del tamaño reducido que

presentan; y permiten un ahorro significativo de energía

1.7.2 Recomendaciones:

Utilizar baterías de polímero de litio para obtener mayor corriente y por ende tener

mejor funcionamiento.

Realizar una pequeña fuente que nos brinde 3.3 V para la alimentación de los

módulos Xbee

Debido a la utilización de dos fuentes de tensión para el circuito se recomienda la

utilización de un filtro en la fuente evitando retrasos de tensión referente a la

corriente.

1.8 Referencias bibliográficas

[1]Xbee shield. Disponible en: http://arduino.cc/en/pmwiki.php?n=Main/ArduinoXbeeShield

[2] Sensores ultrasónicos SR04. Disponible en: http://www.techmake.com/sen-00029.html

[3] LM 317T. Disponible en: http://www.ti.com/lit/ds/symlink/lm117.pdf

[4] L293D. Disponible en: http://robots-argentina.com.ar/MotorCC_L293D.htm

[5] Robot Autónomo. Disponible en: http://uea2013.frbb.utn.edu.ar/wp-content/uploads/TE_1.pdf

Page 19: Informe Robot Autonomo Con Xbee (1)

1.11 Anexos

Fotografías de la realización del proyecto.

Page 20: Informe Robot Autonomo Con Xbee (1)
Page 21: Informe Robot Autonomo Con Xbee (1)