Sei sulla pagina 1di 20

I.

PORTADA
UNIVERSIDAD TCNICA DE AMBATO
Facultad de Ingeniera en Sistemas, Electrnica e Industrial
Carrera de Ingeniera en Electrnica y Comunicaciones

Ttulo:

Diseo e implementacin de un Robot Autnomo


Controlado por Xbee

Carrera:

Ingeniera en Electrnica y Comunicaciones

rea Acadmica:

Comunicaciones

Lnea de Investigacin:

Electrnica

Ciclo Acadmico y Paralelo:

Sptimo Electrnica A

Alumnos participantes:

Albn Jhony

Guzmn scar

Lpez Daro

Molina Eduardo

Moposita Jessica

Palate Sabrina

Ramn Jaime

Vite Luis

Mdulo y Docente:

Microcontroladores, Ing. Patricio Crdova.

Fecha de entrega:

11 de Febrero del 2015


Ambato-Ecuador
2014-2015

1.1 Ttulo:
Diseo e implementacin de un Robot Autnomo Controlado por Xbee
1.2 Objetivos:
General:
Diseo e implementacin de un Robot Autnomo que funcione en forma manual y
automtica,

travs

de

la

comunicacin

Xbee

sensores

ultrasnicos

respectivamente.
Especficos:
Investigar la forma de trabajo de la comunicacin Xbee conjuntamente con la
interaccin del PIC 18F4550.
Desarrollar mediante un mdulo de reconocimiento de voz e interactuar con el
robot.
Conocer el principio de funcionamiento del servidor de una cmara IP para poder
transmitir en tiempo real.
1.3 Resumen
El presente proyecto es un robot autnomo el mismo que va a ser controlado de forma
automtica y manual, para el control del robot se us 2 mdulos Xbee uno para transmisin y
otro para recepcin, consta de 4 sensores ultrasnicos 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 tambin se
accionara, es decir un control tipo oruga, la programacin se encuentra realizada en
processing el cual es un lenguaje de programacin y entorno de desarrollo integrado de
cdigo abierto basado en java de fcil utilizacin, el robot tambin cuenta con un
reconocimiento de voz de versin 2 el mismo que mediante palabras cortas interacta con el
robot dndole ordenes de movimiento. Finalmente el robot tambin cuenta con un servidor de
cmara 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 autnomo, Xbee, Sensores
1.5 Introduccin

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 electrnicos 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 autnomo
controlado mediante mdulos Xbee. Un robot autnomo es un robot que pueden operar con
un alto grado de autonoma, lo que es particularmente deseable en campos como la
exploracin espacial, la limpieza de suelos, cortar el csped y el tratamiento de aguas
residuales entre otras aplicaciones.
la gran mayora 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 lser, cmaras,
contactos, micrfonos etc. Como la tercera parte est la inteligencia en la cual se realizan,
algoritmos, mtodos, programacin, lo que nos van a permitir, a partir de la informacin de
los sensores, interactuar con el entorno.
Para un robot autnomo 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 obstculos es una parte fundamental ya que el robot antes de que pueda movilizarse
debe saber y tener un reconocimiento mediante los sensores para saber dnde est y que debe
hacer.

1.6 Materiales y Metodologa

1.6.1

Materiales
Materiales
Capacitor de 22pf
Capacitor de 100 f
Capacitor de 220 pf
Diodos leds
Xbee shield
Zcalos para Xbee Shield
Motor de 5v
Jumper
Resistencias de 10K
Microcontrolador 18F4550
LM 317T
L293D
Sensores ultrasnicos SR04
Reglas de espadines machos
Reglas de espadines hembras
Cristal de 20MHz
Mdulos Xbee
Regulador de voltaje 7805
Estructura de caja reductora con 4 llantas
Estao 3m
Cautn
Placa de baquelita 10x5
Papel couche
Cable UTP
Batera polmero de litio de 2,2 A, 2 Cell

Cantidad
2
1
1
2
2
2
2
3
5
1
1
1
4
2
2
1
2
1
1
1
1
1
1
1
1

7.4v
Tabla 1: Lista de Materiales

1.6.2 Marco Terico


Robot
Es una mquina programable que puede manipular objetos y realizar operaciones que antes
slo podan realizar los seres humanos.
El robot puede ser tanto un mecanismo electromecnico fsico como un sistema virtual de
software. Ambos coinciden en brindar la sensacin de contar con capacidad de pensamiento o
resolucin, aunque en realidad se limitan a ejecutar rdenes dictadas por las personas. [5]
Robot Autnomo

Figura 1: Carrito Robot Autnomo


Un robot autnomo es un robot que pueden operar con un alto grado de autonoma, lo que es
particularmente deseable en campos como la exploracin espacial, la limpieza de suelos,
cortar el csped y el tratamiento de aguas residuales.
Algunos modernos robots industriales son "autnomos" dentro de los lmites 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 difcil y, a menudo puede contener variables caticas,
impredecibles. Deber determinarse la orientacin exacta y la posicin del siguiente objeto de
trabajo y (en las fbricas ms 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 investigacin robtica 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 autnomo tiene la capacidad de:

Obtener informacin sobre el medio ambiente.


El trabajo durante un perodo prolongado sin intervencin humana.
Moverse todo o parte de s mismo a travs de su entorno operativo, sin ayuda humana.
Evitar situaciones que son perjudiciales para las personas, los bienes o s mismos, a

menos que sean parte de las especificaciones de diseo.


Poder aprender o adquirir nuevos conocimientos, como el ajuste de nuevos mtodos
para el cumplimiento de su tarea(s) o la adaptacin a los cambios de entorno.
Xbee shield

Figura 1: Xbee shield


El escudo Xbee tiene dos puentes (las pequeas mangas de plstico extrable que cada caben
en dos de los tres pines etiquetados Xbee / USB). Estos determinan cmo la comunicacin
serie del Xbee se conecta a la comunicacin serie entre el microcontrolador (ATmega8 o
ATmega168) y FTDI chip USB a serie de la placa Arduino.
Con los puentes en la posicin Xbee (es decir, en los dos pines hacia el interior de la junta), el
pin DOUT del mdulo 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 todava estn
conectados a los pines TX y RX (respectivamente) del chip FTDI - datos enviados desde el
microcontrolador se transmiten al ordenador a travs de USB, as como de ser enviado de
forma inalmbrica mediante el mdulo Xbee . El microcontrolador, sin embargo, slo ser
capaz de recibir datos desde el mdulo Xbee, no a travs de USB del ordenador. [3]

Sensores ultrasnicos SR04

Figura 2: Sensores ultrasnicos SR04


El sensor de distancia ultrasnico HC-SR04 es una excelente opcin si ests buscando un
mdulo ultrasnico 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
obstculos, entre otras posibles funciones.
En este caso vamos a utilizarlo para la medicin de distancias. Esto lo consigue enviando un
ultrasonido (inaudible para el odo humano por su alta frecuencia) a travs 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
precisin de 3mm. [2]
LM 317T

Figura 3: LM 317T
Este circuito integrado monoltico es un ajustable 3 terminal regulador de voltaje positivo,
diseado para suministrar ms de 1,5 A de corriente de carga con un ajuste de la tensin de
salida capaz en un rango de 1,2 V a 37 V. Emplea corriente interna alquilar limitante, apagado
trmico. [3]
Caractersticas:

Salida-corriente superior a 1,5 A


Salida ajustable entre 1,2 V y 37 V
Proteccin de sobrecarga trmica interna

L293D

Figura 4: L293D
El integrado L293D incluye cuatro circuitos para manejar cargas de potencia media, en
especial pequeos motores y cargas inductivas, con la capacidad de controlar corriente hasta
600 mA en cada circuito y una tensin 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 adems,
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
rpido y con posibilidad de implementar fcilmente el control de velocidad. [4]
Mdulo Xbee

Figura 5: Mdulo Xbee


Zigbee es un protocolo de comunicaciones inalmbrico basado en el estndar de
comunicaciones para redes inalmbricas IEEE_802.15.4. Creado por Zigbee Alliance, una
organizacin, tericamente sin nimo de lucro, de ms de 200 grandes empresas (destacan
Mitsubishi, Honeywell, Philips, _ ODEM_ do, Invensys, entre otras), muchas de ellas
fabricantes de semiconductores. Zigbee permite que dispositivos electrnicos de bajo
consumo puedan realizar sus comunicaciones inalmbricas. Es especialmente til para redes
de sensores en entornos industriales, mdicos y, sobre todo, domticas.
Mdulos Xbee PRO de la Serie 1 que se diferencian en la capacidad de alcance, permitiendo
en algunos casos doblar la distancia de transmisin, ya que poseen una mayor potencia en la
seal. Con los mdulos Xbee PRO de la Serie 2, es posible crear redes ms complejas, como
las llamadas MESH. Estas permiten acceder a un punto remoto, utilizando mdulos
intermedios para llegar como routers.
Microcontrolador 18F4550

[1]

Figura 6: Microcontrolador 18F4550

Microcontrolador con mdulo USB especificacin 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, tecnologa nanoWatt, 2 mdulos captura/comparacin/PWM, 4
timers, EUSART, SPP, SPI, IC. [3]

Regulador de voltaje 7805

Figura 7: Regulador de voltaje 7805


El 7805 es el regulador de voltaje ms comn, y muy usado en diseos 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 ms de 1A. Adems incluyen proteccin por sobrecarga trmica, y contra
cortocircuitos. [1]

Ip web cam
IP Webcam convierte su celular en una cmara en red con mltiples opciones de
visualizacin. Funciona en cualquier plataforma con VLC player o navegador. Emita a travs
de una red WiFi sin conexin a internet.
Use IP Webcam con un software MJPG de terceros, incluyendo software de video vigilancia,
monitores de seguridad y la mayora de reproductores de audio. [8]
Entre sus caractersticas se encuentran:

Varios renderizadores web entre los que elegir: Flash, Javascript o integrado
Grabacin de video en webm, MOV o MPEG4 (en Android 4.1+)
Transmisin de audio en wav, opus y AAC (AAC requiere Android 4.1+)
Deteccin de movimiento por sonido, integracin Tasker.
Superposicin del video a la fecha, hora y nivel de batera.
Adquisicin de datos del sensor con un grfico web en lnea.
Soporte de videochat (la transmisin de video para Windows solo es posible a travs
de un controlador de transmisin de video universal MJPEG)

Figura 8: Ip web cam


Labview
LabVIEW es una plataforma de programacin grfica que ayuda a ingenieros a escalar desde
el diseo hasta pruebas y desde sistemas pequeos hasta grandes sistemas. Ofrece integracin
sin precedentes con software legado existente, IP y hardware al aprovechar las ltimas
tecnologas de cmputo. LabVIEW ofrece herramientas para resolver los problemas de hoy
en da y la capacidad para la futura innovacin, ms rpido y de manera ms eficiente. [3]

Figura 9: Labview

1.6.3

Procedimiento

Diseo de un algoritmo que permita desarrollar el control de un robot autnomo,


controlado por una comunicacin Xbee.
Clculo del valor del PWM adecuado para definir la velocidad de los motores
instados en el robot autnomo.
Desarrollo de una interfaz grfica en labview para el control de la comunicacin Xbee
Diseo de una placa electrnica para la implementacin fsica
Compilacin y programacin de un microcontrolador como ejecucin de la aplicacin
deseada.
Desarrollo de una aplicacin extra la cual consiste trasmisin de video en tiempo real
mediante un servidor y una interfaz labview.
Desarrollo de una aplicacin la cual consiste en el reconocimiento de voz para poder
interactuar con el robot.
Elaboracin de una estructura con 4 llantas acoplad con una placa electrnica para el
control de los distintos componentes.
Depuracin, calibracin y pruebas de funcionamiento
Esquema:

Fig10. Esquema realizado en proteus

Fig11. Esquema en vista en opcin 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 centmetro.
//Pasamos la velocidad a centmetros por segundo, esto da V=34300 cm/s
//Calculamos el tiempo con la ecuacin distancia = velocidad/tiempo,
despejamos tiempo y tenemos la ecuacin t=d/v, reemplazando por los valores
t=1cm/(34300cm/s) luego t = 0,000029155s
//Como la seal 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
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define

Trig1 7 //Trigger delante


Echo1 6 //Eco delante
Trig2 5 //trigger derecha
Echo2 4 //eco derecha
Trig3 3 //Trigger Atras
Echo3 2 //Eco atras
Trig4 1 //Trigger izquierda
Echo4 0 //Eco izquierda
mt11
mt12
mt21
mt22

21
22
23
24

#define modo 28

int dlt;//Dato sin procesar equivalente a la distancia a medir en centimetros

int 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;
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();
}
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();
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 Discusin:

1.7.1

Conclusiones:

Un sensor ultrasnico utiliza la velocidad del sonido para poder determinar la


distancia.
La utilizacin de dos Pics es necesaria para nuestro robot ya que para el mdulo Xbee
utilizamos un puerto, pero para poder utilizar el reconocimiento de voz es necesario
usar el mismo puerto y si lo haramos estaramos interfiriendo con la comunicacin
por lo que se hace una obligacin usar otro pic adicional.
Para la programacin del mdulo de voz debemos utilizar palabras cortas y claras
para un mejor reconocimiento de las instrucciones.
Debido a los 4 sensores instalados en el robot este tiene una gran autonoma por lo
que fcilmente se puede trasladar sin ningn tipo de inconveniente.
Para evitar retrasos de tensin y corriente se utilizara un capacitor en la fuente.
La seal PWM saliente del microcontrolador es amplificada con la utilizacin de 2
L293 colocados en paralelo para abastecer a potencia de consumo de cada motor.
Debido a incoherencias de censado de cada sensor ultrasnico es necesario el reseteo
del microcontrolador mandando un pulso en alto a una de sus entradas.
los mdulos de comunicacin Zigbee no presentan interferencia con otros artefactos
que trabajan en la misma banda de frecuencias de 2.4Ghz, como los hornos de
microondas, telfonos inalmbricos y telfonos celulares con transmisin Bluetooth
Se pudo identificar que los mdulos con tecnologa Zigbee, son mdulos inteligentes
que tienen una funcionalidad variada y amplia, a pesar del tamao reducido que
presentan; y permiten un ahorro significativo de energa
1.7.2

Recomendaciones:

Utilizar bateras de polmero de litio para obtener mayor corriente y por ende tener
mejor funcionamiento.
Realizar una pequea fuente que nos brinde 3.3 V para la alimentacin de los mdulos
Xbee
Debido a la utilizacin de dos fuentes de tensin para el circuito se recomienda la
utilizacin de un filtro en la fuente evitando retrasos de tensin referente a la
corriente.
1.8 Referencias bibliogrficas
[1]Xbee

shield.

Disponible

en:

http://arduino.cc/en/pmwiki.php?

n=Main/ArduinoXbeeShield
[2] Sensores ultrasnicos 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 Autnomo. Disponible en: http://uea2013.frbb.utn.edu.ar/wp-content/uploads/TE_1.pdf

1.11 Anexos
Fotografas de la realizacin del proyecto.

Potrebbero piacerti anche