Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
PORTADA
UNIVERSIDAD TCNICA DE AMBATO
Facultad de Ingeniera en Sistemas, Electrnica e Industrial
Carrera de Ingeniera en Electrnica y Comunicaciones
Ttulo:
Carrera:
rea Acadmica:
Comunicaciones
Lnea de Investigacin:
Electrnica
Sptimo Electrnica A
Alumnos participantes:
Albn Jhony
Guzmn scar
Lpez Daro
Molina Eduardo
Moposita Jessica
Palate Sabrina
Ramn Jaime
Vite Luis
Mdulo y Docente:
Fecha de entrega:
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.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
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:
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
[1]
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]
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 9: Labview
1.6.3
Procedimiento
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
21
22
23
24
#define modo 28
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:
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.