Robot Evasor de Obstaculos

34
ESCUELA POLITÉCNICA NACIONAL “CAMPUS POLITÉCNICO JOSÉ RUBÉN ORELLANA RICAURTE” FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA “CARRO EVASOR DE OBSTACULOS” PROYECTO DE CONTROL CON MICROPROCESADORES Realizado por: Castro Haro Javier Alexander Chávez Marcelo David Molina Vela Marco Paúl Nono Soto María Belén Rodríguez Borja Mauricio Fernando Quito, Junio 2010

description

CARRO EVASOR DE OBSTACULOS "Escuela Politécnica Nacional"

Transcript of Robot Evasor de Obstaculos

Page 1: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL

“CAMPUS POLITÉCNICO JOSÉ RUBÉN ORELLANA RICAURTE”

FACULTAD DE INGENIERÍA ELÉCTRICA Y

ELECTRÓNICA

“CARRO EVASOR DE OBSTACULOS”

PROYECTO DE CONTROL CON MICROPROCESADORES

Realizado por:

Castro Haro Javier Alexander

Chávez Marcelo David

Molina Vela Marco Paúl

Nono Soto María Belén

Rodríguez Borja Mauricio Fernando

Quito, Junio 2010

Page 2: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 2

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Contenido

INTRODUCCIÓN: ................................................................................................................ 2

PLANTEAMIENTO DEL PROYECTO .............................................................................. 4

CONSTRUCCIÓN DEL “CARRO EVASOR DE OBSTACULOS” .................................. 4

• Nivel físico: ................................................................................................................. 5

• Nivel de inteligencia: .................................................................................................. 5

Construcción e implementación del carrito evasor de obstáculos ..................................... 5

SOLUCION DE PROBLEMAS POR “HARDWARE” ....................................................... 7

Implementación ................................................................................................................. 8

Microcontrolador ATmega16: ........................................................................................... 9

Características ................................................................................................................ 9

Servomotor modelo HS-311 Standard (Truncado) .......................................................... 10

Sensores de distancia ....................................................................................................... 11

Sensor de ultrasonido SRF05 ...................................................................................... 12

Sensor de distancia Analógico GP2Y0A21YK opto electrónico ................................ 17

Pruebas realizadas a los sensores................................................................................. 19

Driver L293D .................................................................................................................. 20

Reguladores de voltaje LM7805: .................................................................................... 22

Diagrama electrónico ....................................................................................................... 22

SOLUCION DE PROBLEMAS POR “SOFTWARE” ....................................................... 24

Programa principal: ......................................................................................................... 24

Subrutinas de los sensores: .......................................................................................... 25

Subrutina del control de los motores: .......................................................................... 26

Código completo para el robot evasor de obstáculos. ..................................................... 26

CONCLUSIONES Y RECOMENDACIONES: ................................................................. 32

BIBLIOGRAFIA: ................................................................................................................ 34

INTRODUCCIÓN:

Los robots son usados en la industria automotriz, médica, plantas fabriles y por

supuesto, en las películas de ciencia-ficción. Construir y programar un robot es

una resolución combinada de problemas, de electrónica y mecánica.

Page 3: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 3

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

La palabra "robot" apareció por primera vez en una revista cómica de

Checoslovaquia llamada Rossum's Universal Robots por Karel Capek en 1920.

Los robots en esta obra, tendían a ser humanoides. De ahí en más se vieron en

muchas historias de ciencia ficción buenas, que los involucraban en revueltas

contra la autoridad humana, lo cual requiere inteligencia. Esto cambió cuando

General Motors instaló el primer robot en su planta de fabricación en 1961. En la

ciencia-ficción o en la fabricación, la inteligencia es solamente instalada en un

robot a través del programa.

Un robot se podría definir como una máquina programable capaz de manipular

objetos y realizar operaciones antes reservadas a los humanos.

Isaas Asimos ha contribuido con varias narraciones a la ciencia ficción con el

tema de los robots y a él se le atribuye el acuñamiento del término robótica.

Además fue él quien propuso las tres leyes de la robótica con las que se garantiza

esté bien diseñada y sea segura; estas leyes son:

1. Un robot no puede actuar contra un ser humano o, mediante la inacción,

permitir que un ser humano sufra daños.

2. Un robot debe obedecer las órdenes dadas por los seres humanos, salvo que

están en conflicto con la Primera Ley.

3. Un robot debe proteger su propia existencia, a no se que esté en conflicto con

las dos primeras leyes.

La estructura mecánica y los motores son factores decisivos del robot, un correcto

diseño de la estructura y una adecuada elección de los motores pueden ahorrar

mucho trabajo y esfuerzo. Es difícil dar una solución única, sobre todo por la

existencia de un sin fin de alternativas.

En este proyecto se implementa un “Carro evasor de obstáculos” usando

microcontroladores de la familia AVR para nuestro caso el ATmega16.

Page 4: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 4

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

En este proyecto tiene como objetivo construir un “robot evasor de obstáculos” el

cual lo denominaremos “LEÓNIDAS”, Leónidas al detectar un obstáculo en su

camino sea capaz de evadirlo.

Este tipo de proyectos tiene dos componentes uno mecánico y electrónico, en

este proyecto se intenta que el lector logre entender de manera sencilla y con

claridad los pasos en la implementación del proyecto y obtenga un panorama de

la programación utilizada para este dispositivo electrónico, el lector puede hacer

mejoras y modificaciones futuras de acuerdo a su conveniencia.

PLANTEAMIENTO DEL PROYECTO

En este proyecto se tiene como objetivo desarrollar un “Robot Evasor de

Obstáculos” que sea controlado por un microcontrolador ATMEGA16, mediante el

uso de diferentes dispositivos electrónicos, tales como sensores, servomotores,

regulador de voltaje etc.

El objetivo principal de “LEÓNIDAS” es evadir obstáculos que se encuentran al

frente de su trayectoria de movimiento. Para ello, el microcontrolador que controla

a LEÓNIDAS, utilizará 3 sensores de donde obtendrá lecturas, los cuales

mediante comparaciones decidirán la trayectoria de movimiento, para decidir el

cambio de la trayectoria para evadir el obstáculo.

La solución a la problemática planteada tiene dos componentes uno mecánico y

otro electrónico el cual se puede dividir en “hardware” y en “software”, cada una

de estas soluciones se mencionara según el avance del proyecto, pero antes se

menciona una descripción general del proceso de solución y construcción de

“LEÓNIDAS”.

CONSTRUCCIÓN DEL “CARRO EVASOR DE

OBSTACULOS”

En la planificación de la construcción de este robot evasor de obstáculos se

consideraron los siguientes puntos:

Page 5: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 5

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

• Nivel físico:

Esta etapa está comprendida de la estructura física del bot, las partes móviles,

las etapas de potencia, el conjunto de sensores y los sistemas básicos para su

manejo.

• Nivel de inteligencia:

Esta etapa abarca la planificación del robot, para que sea completamente

autónomo.

Construcción e implementación del carrito evasor de obstáculos

Para obtener al modelo del robot se inicio desde una etapa de investigación y

experimentación, ya que se probaron con diferentes modelos de carrocerías y

diferentes tipos de motores.

La investigación realizada nos dejo un primer acercamiento tanto en la

programación del ATmega16, como de la utilización de los motores. Este

conocimiento adquirido fue de gran utilidad para llegar a obtener un robot evasor

de obstáculos.

La primera experimentación realizada fue la búsqueda de la carrocería a ser

utilizada, primero se considero utilizar un carro comercial de juguete, con sus

respectivos motores, dicho carro no cumplía con nuestras expectativas

planteadas, debido a la estructura y a la velocidad requerida para nuestro

proyecto.

Por lo cual se considero la compra de motores comerciales, y la construcción

física del robot.

Como nuestro objetivo es llegar a obtener un carro evasor de obstáculos se pensó

en colocar varios sensores alrededor del carro que nos indicarían si el carro podía

seguir hacia adelante o no, pero obtuvimos una limitación que fue la adquisición

de los sensores debido a su alto costo.

Page 6: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 6

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Los sensores deben buscar una salida segura, libre de obstáculos los cuales

obstaculizan el paso de robot si no encuentra dicha salida entonces los sensores

indicaran al sistema de control que debe realizar una acción, el mecanismo de

control seleccionara una orden adecuada la cual debe controlar los motores.

Las primeras pruebas realizadas no fueron satisfactorias, se llego a obtener

muchos inconvenientes, uno de los cuales fue que el carro pesaba mucho y los

motores inicialmente utilizados no tenían el suficiente torque para mover el carro,

lo cual nos llevo a la utilización otro tipo de motores, se pensó en aquellos que

están montados en un mecanismo de engranes y que hace que tengan un mejor

torque. Además los motores debían consumir poca corriente.

Otro inconveniente presentado fue que el consumo de la corriente era muy

elevado, lo que ocasionaba que el tiempo de duración de las baterías sea muy

corto, el factor principal de este problema fue el peso del carro.

Se busco una nueva estructura, la nueva estructura del robot se redujo de un

carro de cuatro llantas a uno de tres. Dos llantas se pusieron en la parte posterior

y una en la parte media del frente, con lo cual obtuvimos que el robot tenga un

movimiento libre, es decir cuando los dos motores se ponen en marcha al mismo

tiempo el carro se debe ir en línea recta y cuando se quiera que gire, la llanta

delantera debe seguir la trayectoria descrita.

Al realizar las pruebas necesarias se presento un nuevo inconveniente con los

nuevos motores, que fue la diferencia de revoluciones por minuto, entre los dos

motores, lo cual provocaría que el robot no avanzara en línea recta. Sin embargo

se logro solucionar este problema mediante software, ya que cada motor tiene su

propio control de velocidad.

El material utilizado para la estructura es de madera ligera, obteniendo así una

mayor estabilidad y una mejor facilidad para trabajar con ella, pues si se requiere

hacer una perforación o poner algún aditamento especial es más sencillo de

realizarlo.

Page 7: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 7

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

El programa que se implemento en el ATmega16 es el encargado de que el robot

detecte los obstáculos y los evada tomando la mejor decisión para dicha acción.

EL ATmega16 se encarga de recibir la información desde los sensores del

exterior y procesarla para poder realizar la acción correcta, sin embargo la forma

como se procesa esta información depende de la lógica que envíen los sensores

en nuestro caso se tendría una combinación de 8 posibles combinaciones para

realizar el control, esta información depende del diseño del programa.

El programa tiene una estructura básica de un programa principal y de

subrutinas que realizan las acciones requeridas y a su vez estas subrutinas

realizan tareas específicas y dan resultados rápidos y concretos.

SOLUCION DE PROBLEMAS POR “HARDWARE”

El proyecto presentado es un carro evasor de obstáculos “Leónidas”, el cual

empieza su funcionamiento al presionar un pulsador de inicio. El carro evasor de

obstáculos se dirigirá en una trayectoria recta mientras no encuentre un

obstáculo. La detección de obstáculos se hace por medio de sensores de

distancia que se encuentran en la parte delantera del carrito. Se utilizo un sensor

ultrasónico y dos sensores con salida analógica. Dependiendo de la señal que

proporcionan los sensores se realiza una lógica de control para el cambio de

dirección en el movimiento del carrito, después del cambio de dirección el carrito,

este se dirigirá en trayectoria recta nuevamente. Para el desplazamiento de carrito

se utilizo dos servomotores truncados para obtener mayor torque en el giro de las

llantas, las llantas son movidas con tracción diferencial. El control de la velocidad

de giro de los servomotores y su sentido de giro es controlado indirectamente por

dos puentes H. El control total del carro evasor se lo realizo por medio de un

microcontrolador ATmega16, debido a las características que presenta. La

alimentación del carro evasor se la hace a través de 2 baterías en serie de celular,

voltaje que se rectifico a 5 voltios fijos. Observar la figura.

Page 8: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 8

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Material utilizado:

- 1 ATmega16

- 2 servomotores modelo HS-311 Standard Truncados

- 2 sensor analógico Sharp modelo GP2Y0A21YK

- 1 Sensor ultrasonido SRF05

- 1 Driver L293D

- 1 Reguladores de voltaje LM7805

- 2 Capacitores (1uF y 330uF)

- Conectores

- 2 led‟s (rojo, verde)

- 2 Pulsadores

- 1 Batería 9V

- Resistencias 330 Ω

Implementación

En el siguiente grafico se observa la estructura del robot evasor de obstaculos

que se implemento, se puede obserbar la ubicación de los principales

componentes utilizado para la construccion del robot, en parte frontal donde se

Page 9: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 9

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

encuentran ubicados los sensores, es donde se coloco la rueda loca para la

estabilidad del robot.

Microcontrolador ATmega16:

Características

- Arquitectura Avanzada RISC

- 131 instrucciones. La mayoría de un solo ciclo de reloj de ejecución.

- 32 registros de trabajo de 8 bits para propósito general.

Page 10: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 10

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

- Capacidad de procesamiento de unos 20 MIPS a 20 MHz.

- Multiplicador por hardware de 2 ciclos

- Memorias de programa y de datos no volátiles de alta duración

- 16 K bytes de FLASH auto programable en sistema

- 512B/ bytes de EEPROM

- ADC de 10 bits y 8 canales

- Un Timer/Contador de 16 bits con prescalamiento separado, modo Comparación

y modo de captura.

Servomotor modelo HS-311 Standard (Truncado)

El HS-311 es el servo perfecto para nuestra aplicación debido a su bajo costo.

Servo, periféricos y accesorios

Una de las mejores características del servo Hitec es su facilidad para ser

modificado para rotación continua, con el fin de usarlo como motor propulsor en

los robots. Este servo tiene unas características técnicas y físicas únicas, por su

mayor facilidad de modificación y su mayor potencia.

.El método de modificación descrito

a continuación es muy sencillo

solamente es necesario un

destornillador y unos alicates para

modificar el servo en sólo unos

minutos

Page 11: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 11

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Aflojar los cuatro tornillos que fijan la carcasa para desmontar con cuidado la

tapadera superior, poniendo atención en no sacar los engranajes de su sitio.

Sacar el engranaje principal, el que tiene el eje estriado, sacando para ello el

engranaje secundario y el cojinete superior.

Retirar la placa de plástico que se encuentra en el interior del engranaje principal.

Esta placa está sujeta por un anillo metálico que actúa a modo de cojinete. La

placa de plástico del interior es la unión entre el eje de salida y el potenciómetro

del servo.

Ahora hay que cortar con cuidado el tope de

plástico que evita que el eje principal pueda

girar más de 180 grados. Para ello lo mejor es

cortar el tope con unos alicates de corte. Es

mejor cortar el tope poco a poco en lugar de

una sola vez, para evitar que un exceso de

presión rompa el eje. Una vez cortado, puede

colocarse en la tapadera para comprobar que gira libremente 360º.

Sensores de distancia

Para la detección de obstáculos se utilizo tres sensores de distancia en la parte

frontal del carro evasor, los sensores se ubicaron de tal manera que el carro no

solo detecte los obstáculos que se encuentren justo al frente sino obstáculos que

estén a los costados de la línea frontal que sigue el carro. Los sensores que se

utilizaron son de dos tipos uno ultrasónico y dos analógicos. El sensor ultrasónico

se coloco justo al frente, ya que este sensor presenta mejores características de

funcionamiento que los otros dos sensores analógicos utilizados, a los costados

del sensor ultrasónico se coloco los sensores de distancia analógicos, para que

detecten obstáculos a 30 grados de la línea frontal en la que se dirige el carro

evasor. La ubicación de los sensores se muestra en la siguiente figura.

Page 12: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 12

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Sensor de ultrasonido SRF05

Descripción.

Consiste en un medidor ultrasónico de distancias de bajo costo desarrollado por la

firma DEVANTECH Ltd. El módulo SRF05 es una evolución del módulo SRF04 y

está diseñado para aumentar la flexibilidad, aumentar el rango de medida y

reducir costes. Es totalmente compatible con el SRF04 y el rango de medida se

incrementa de 3 a 4 metros. Observar la figura.

Figura

Dispone de un nuevo modo de operación que se selecciona simplemente

conectando el pin “Mode” a GND. Dicho modo permite al SRF05 emplear un único

Servomotor 1

Servomotor 2P

laca

Ruedas

Ruedas

Baterias

S

en

so

r

Ultra

so

nic

o

Senso

r analo

gic

o

Senso

r analo

gico 3

30°

Page 13: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 13

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

pin de E/S que sirve tanto para dar la orden de inicio o disparo, como para

obtener la medida realizada (ECO).

Cuando el pin de “Modo” no se emplea y se deja sin conectar, el SRF05 trabaja

de la misma manera que el SRF04. Esto es, la señal de disparo y la salida de

ECO se realizan por pines diferentes.

El SRF05 incluye una pequeña temporización tras el pulso ECO de salida, que

permite que controladores lentos como Basic Stamp y Picaxe puedan ejecutar sus

correspondientes instrucciones.

Modos de operación

Modo 1, Compatibilidad con SRF04

Este modo emplea patillas separadas, una para aplicar el pulso de inicio o Trigger

y otra para leer la anchura del pulso del ECO medido. Todos los programas

realizados para el SRF04 deben funcionar perfectamente en este modo, que se

selecciona simplemente dejando la patilla “Mode” sin conectar (igual que en el

SRF04).

Tal y como se muestra en el diagrama de tiempos de la figura, el modo de empleo

es muy sencillo. Externamente se aplica, por parte del usuario, un pulso de

disparo o trigger de 10 μS de duración mínima. Se inicia la secuencia. El módulo

transmite un tren de pulsos o “burst” de 8 ciclos a 40KHz. En ese momento la

señal de salida ECO pasa a nivel “1”. Cuando la cápsula receptora recibe la señal

transmitida como consecuencia de haber rebotado en un objeto (eco), esta salida

pasa de nuevo a nivel “0”. El usuario debe medir la duración del pulso de esta

señal, es decir, el tiempo en que la señal eco se mantiene a “1”.

Page 14: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 14

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Con objeto de que el módulo se estabilice, se debe dejar un lapsus de tiempo de

unos 20mS mínimo entre el momento en que la señal de eco pasa a “0” y un

nuevo pulso de disparo que inicie el siguiente ciclo o medida. Esto permite realizar

medidas cada 50mS o lo que es igual a 20 medidas por segundo.

La duración del pulso eco de salida varía entre 100μS y 25mS, en función de la

distancia entre las cápsulas del módulo y el objeto. La velocidad del sonido es de

29.15 μS/cm que, como realiza un recorrido de ida y vuelta, queda establecida en

58.30μS/cm. Así pues el rango mínimo que se puede medir es de 1.7 cm

(100μS/58) y el máximo de 431 cm (25mS/58).

Modo 2, Patilla única para trigger y ECO

Este modo permite emplear una única patilla para generar la señal de disparo o

trigger y también para realizar la medida de la anchura del pulso de salida del

ECO, lo que ahorra patillas en el microcontrolador central. Para emplear este

modo basta con conectar la patilla “Mode” con GND. La señal de ECO aparecerá

entonces en la misma patilla por la que se aplicó la señal de trigger. Esa patilla se

debe configurar primero como salida para generar el disparo y luego como

entrada para leer la duración del ECO. La sentencia PULSIN de los controladores

más populares realiza esta reconfiguración de forma automática. Ver la figura.

Page 15: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 15

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Características técnicas

Conexionado

El módulo emplea tan sólo 5 conexiones que se pueden realizar soldando

directamente 5 cables o bien mediante un conector de 5 vías con paso de

2.54mm. Estas se muestran en la figura.

Page 16: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 16

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Aplicaciones

El módulo SRF05 es capaz de generar una señal lógica de salida cuya duración

determina la distancia de un objeto. Las aplicaciones son numerosas, citamos

unas cuantas a modos de ejemplo:

Aplicaciones de control conde se deba actuar en función de la distancia o

tamaño de objetos diversos.

Alarmas activadas cuando el intruso se aproxima a una determinada

distancia

Microbótica en donde es necesario que se actúe en función de la distancia

que separa al robot de cualquier otro objeto.

Page 17: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 17

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Sensor de distancia Analógico GP2Y0A21YK opto electrónico

Descripción

El GP2Y0A21YK es un sensor medidor de distancia de ángulo amplio,

desarrollado por la firma SHARP. Es capaz de medir distancias desde 10 cm a 80

cm. Consta de tres pines dos para la alimentación y uno de salida, el cual entrega

un voltaje analógico que depende directamente de la distancia medida.

Características

- Salida digital

- Pulso de duración del LED por ciclo: 32 ms

- Rango de medida: 10 cm a 80 cm

- Tiempo típico de respuesta: 39 ms

- Retraso típico de encendido: 44ms

- Consumo regular de corriente: 30 mA

- Zona del diámetro de detección @ 80cm: 12 cm

Características técnicas

Parámetro Símbolo Condiciones Min. Tip. Max Unit

Rango de medición L 10 - 80 cm

Voltaje de salida Vo L = 80 cm 0.25 0.4 0.55 V

Page 18: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 18

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Voltaje diferencial Vo L=(80 cm – 10cm) 1.65 1.9 2.15 V

Corriente regular Icc L = 80 cm - 30 40 mA

Notas:

1.- Usando objetos reflectivos: papel blanco (Kodak), tarjetas grises, proporción

reflectiva: 90%

2.- L = Distancia al objeto reflectivo.

Mediciones

Page 19: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 19

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Característica de salida

Pruebas realizadas a los sensores.

Debido a que este sensor es analógico, este presenta una respuesta variable de

voltaje y un punto ciego. El punto ciego se encuentra a distancias menores a 10

cm según las especificaciones. Se realizo pruebas de medición, utilizando para

ello los conversores análogo digital del microcontrolador, una regla y un LCD

donde se podía observar los valores de voltaje que proporciona el sensor. Se

coloco objetos a distancias no mayores a 20cm, ya que no son muy importantes

los valores medidos a distancias mayores. Se acercaban estos objetos hasta

llegar al punto ciego, el cual se pudo apreciar ya que el sensor da voltajes muy

variables y las medidas son totalmente erradas. En la siguiente tabla se muestra

las mediciones realizadas. Las pruebas se realizo con un objeto blanco.

Page 20: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 20

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Sensor 1 Sensor 2

Voltaje Unidad Distancia Unidad Voltaje Unidad Distancia Unidad

1.4 V 14 Cm 1.54 V 14 Cm

1.6 V 13 Cm 1.63 V 13 Cm

1.7 V 12 Cm 1.7 V 12 Cm

1.8 V 11 Cm 1.9 V 11 Cm

1.9 V 10 Cm 2 V 10 Cm

2.1 V 9 Cm 2.2 V 9 Cm

2.3 V 8 Cm 2.4 V 8 Cm

2.6 V 7 Cm 2.7 V 7 Cm

2.7 V 6 Cm 2.8 V 6 Cm

2.8 V 5 Cm 2.8 V 5 Cm

- V 4 Cm - V 4 Cm

Con las pruebas realizadas se determino que el punto ciego es inferior a los 4 cm,

pero se tuvo en cuenta que estos valores dependen del color de la superficie del

objeto. Además se observo que la respuesta de los sensores no son iguales pero

si parecidos. Por lo que se trabajo con rangos de voltaje, al momento de hacer el

algoritmo de control.

Driver L293D

El circuito L293D es un

circuito lineal, su aplicación

principal es el

funcionamiento para

motores, en esta aplicación

se utilizo como etapa de

potencia para los motores,

tiene la característica de que

Page 21: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 21

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

mediante entradas digitales, pueda activar o desactivar el motor que se tiene

conectado a la salida, la configuración de este se muestra en la figura.

A continuación se muestra las combinaciones posibles para realizar el

control de giro de los motores.

Page 22: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 22

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Reguladores de voltaje LM7805:

En nuestra aplicación se requiere una tensión fija y estable a un determinado

valor para la alimentación del Microcontrolador y para el driver L293D.

Los reguladores ideales para este tipo de aplicaciones es la conocida como

LM78XX. Las dos primeras letras y dos números corresponden a la

denominación, mientras que las dos últimas XX deben ser reemplazados por la

tensión de salida requerida, que en nuestro caso es de 5V. Cada uno de estos

dispositivos posee sólo tres terminales, el terminal 1 corresponde a la entrada de

tensión no regulada, el Terminal 2 es tierra y el terminal 3 es la salida regulada.

Diagrama electrónico:

A continuación se muestra el circuito implementado para el proyecto, este circuito

fue simulado en el paquete computacional Proteus el cual contiene al isis y el ares

los cuales son usados para la simulación e implementación de la placa a ser

elaborada.

Page 23: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 23

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

IN12

OUT13

OUT26

OUT311

OUT414

IN27

IN310

IN415

EN11

EN29

VS

8

VSS

16

GND GND

U2

L293D

PB0/T0/XCK1

PB1/T12

PB2/AIN0/INT23

PB3/AIN1/OC04

PB4/SS5

PB5/MOSI6

PB6/MISO7

PB7/SCK8

RESET9

XTAL213

XTAL112

PD0/RXD14

PD1/TXD15

PD2/INT016

PD3/INT117

PD4/OC1B18

PD5/OC1A19

PD6/ICP120

PD7/OC221

PC0/SCL22

PC1/SDA23

PC2/TCK24

PC3/TMS25

PC4/TDO26

PC5/TDI27

PC6/TOSC128

PC7/TOSC229

PA7/ADC733

PA6/ADC634

PA5/ADC535

PA4/ADC436

PA3/ADC337

PA2/ADC238

PA1/ADC139

PA0/ADC040

AREF32

AVCC30

U1

ATMEGA16

1 2

D1SIL-100-02

VI1

VO3

GN

D2

U37805

C1220u

C2330u

1

2

3

4

5

6

7

8

J1

SIL-100-08

1

2

3

4

5

6

7

8

J2

SIL-100-08

1 2

J3SIL-100-02

R1

330k

1 2

J5SIL-100-02

R2330k

1 2

J6SIL-100-02

1

2

J7

SIL-100-02

1

2

J8

SIL-100-021

2

J4

SIL-100-02

1

2

J10

SIL-100-02

123

J11SIL-100-03

Page 24: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 24

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

SOLUCION DE PROBLEMAS POR “SOFTWARE”

La solución por Software del carro evasor fue muy sencillo de realizarlo ya que se

hizo creando subrutinas que son llamadas por el programa principal. A

continuación se presentan tanto el programa principal como sus subrutinas.

Se presenta a continuación el diagrama de flujo correspondiente al programa

principal y sus respectivas subrutinas.

Programa principal:

Page 25: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 25

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Subrutinas de los sensores:

Page 26: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 26

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Subrutina del control de los motores:

CONTROL DE MOTRES

CONDICIÓN

SENSOR

DETECTADO MOVIMIENTO

0 0 Frente

2 Frente Izquierda

4 Izquierda Derecha

5 Derecha Izquierda

6 Frente-Izquierda Derecha

7 Frente-Derecha Izquierda

9 Izq-Der-Cent Retro

11 Izquierda-Derecha Retro

Código completo para el robot evasor de obstáculos.

$regfile "m16def.dat"

$crystal = 4000000

$hwstack = 32

Page 27: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 27

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

$swstack = 10

$framesize = 40

Dim W As Word

Dim W1 As Single

Dim W2 As Single

Dim A As Word

Dim Pwm_c As Byte

Dim Pwm_2 As Byte

Dim B As Single

Dim C As Word

Dim D As Single

Config Single = Scientific , Digits = 2

Dim Control_1 As Byte

Dim Control_2 As Byte

Dim Control_3 As Byte

Dim Motores As Byte

Config Portd = Output

Config Porta = Input

Config Portc = Output

Config Portd.0 = Input

Portc = 0

Portd.0 = 1

Portd.7 = 0

Portd.6 = 0

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B

Pwm = Clear Down , Prescale = 8

Config Adc = Single , Prescaler = Auto , Reference = Avcc

Config Debounce = 15

Page 28: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 28

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Do „Lazo para el pulsador de inicio

Debounce Pind.0 , 0 , Inicio1 , Sub

Portd.7 = 1

Portd.6 = 0

Loop

Inicio1:

Portd.6 = 1

Portd.7 = 0

Pwm_c = 150 „Set point para la Velocidad de los motores

Pwm_2 = 170

Pwm1a = Pwm_2

Pwm1b = Pwm_c

Motores = 0

Inicio:

Do „Lazo principal.

Gosub Sensor1

Gosub Sensor2

Gosub Sensor3

Motores = Control_1 + Control_2

Motores = Control_3 + Motores

Gosub Control_motores

Loop

Sensor1: „Subrutina para el sensor 1

(Ultrasónico)

Control_1 = 0

Waitms 400

Page 29: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 29

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Pulseout Porta , 3 , 10

Set Porta.0

Bitwait Pina.3 , Reset

Pulsein W , Pina , 3 , 1

Reset Porta.0

W1 = W * 20

W2 = W1 / 115

If W2 <= 25 Then

Control_1 = 2

End If

Return

Sensor2: „Subrutina para el sensor 2

Control_2 = 0

Start Adc

A = Getadc(0)

B = A * 5

B = B / 1024

If B <= 2.5 Then

If B >= 1.5 Then

Control_2 = 5

End If

End If

Return

Sensor3: „Subrutina para el sensor 3

Control_3 = 0

Start Adc

C = Getadc(1)

D = C * 5

D = D / 1024

Page 30: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 30

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

If D <= 2.5 Then

If D >= 1.5 Then

Control_3 = 4

End If

End If

Return

Control_motores:

'===================================

If Motores = 0 Then 'Va al frente sin obstaculos

Portc.0 = 1

Portc.1 = 0

Portc.2 = 0

Portc.3 = 1

Goto Inicio

Else

End If

If Motores = 2 Then 'Detecta sensor ultrasonico,gira

izquierda

Portc.0 = 1

Portc.1 = 0

Portc.2 = 1

Portc.3 = 0

Goto Inicio

Else

End If

If Motores = 5 Then ' Detecta sensor_2 der, gira

izquierda

Portc.0 = 1

Page 31: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 31

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Portc.1 = 0

Portc.2 = 1

Portc.3 = 0

Goto Inicio

Else

End If

If Motores = 4 Then ' Detecta sensor_3 izq, gira

derecha

Portc.0 = 0

Portc.1 = 1

Portc.2 = 0

Portc.3 = 1

Goto Inicio

Else

End If

If Motores = 6 Then 'Ultrasonico y sensor izq, gira

derecha

Portc.0 = 0

Portc.1 = 1

Portc.2 = 0

Portc.3 = 1

Goto Inicio

Else

End If

If Motores = 7 Then 'Ultrasonico y sensor der, gira izq

Portc.0 = 1

Portc.1 = 0

Portc.2 = 1

Portc.3 = 0

Goto Inicio

Page 32: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 32

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Else

End If

If Motores = 9 Then ' Detecta sensor izq y der, retro

Portc.0 = 0

Portc.1 = 1

Portc.2 = 1

Portc.3 = 0

Goto Inicio

Else

End If

If Motores = 11 Then ' Detecta 3 sensores ,retro

Portc.0 = 0

Portc.1 = 1

Portc.2 = 1

Portc.3 = 0

Goto Inicio

Else

End If

Return

CONCLUSIONES Y RECOMENDACIONES:

Se concluyó que, debido a la zona muerta de los sensores, en ocasiones el

robot se choca, esto se soluciona comprando sensores del mismo tipo pero

de mejor calidad o utilizando sensores de otro tipo.

Se concluyó que la parte esencial de nuestro proyecto son los sensores por

lo que se debe tener en cuenta los rangos deseados para la detección de

objetos, es importante porque se debe calibrar las distancias de los tres

Page 33: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 33

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

sensores ya que también depende del ángulo en el que están colocados en

el robot.

Se concluyó que el uso de servo motores nos permite tener un mayor

torque en las ruedas del robot, esto es útil en los giros donde se necesita

que el evasor gire sobre su propio eje.

Se concluyó que un sensor ultrasónico es más adecuado que un sensor

fotoeléctrico para la implementación de un proyecto de este tipo debido a

que tiene una menor zona muerta y a que brinda un mayor rango de

detección. La desventaja de un sensor ultrasónico frente a un fotoeléctrico

es el costo económico.

Se recomienda colocar más sensores fotoeléctricos alrededor del robot

para mejorar el problema de la zona muerta de cada uno de los sensores.

Se recomienda colocar algún material con base de goma en las ruedas

para mejorar la tracción de las ruedas y darle un mejor rendimiento en

cuanto a desplazamiento.

Se recomienda trabajar en un rango de distancias un poco alejado del

punto crítico próximo a la zona muerta para evitar problemas en la

detección de los objetos.

Se recomienda utilizar baterías de celular debido a su mayor duración con

respecto a las baterías comunes de 9 voltios, esto permite una mayor

independencia del robot.

Se recomienda utilizar un puente H para obtener un mejor control del

sentido de giro y de la velocidad de los motores.

Page 34: Robot Evasor de Obstaculos

ESCUELA POLITÉCNICA NACIONAL 34

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

Se recomienda regular la velocidad del robot dependiendo de los sensores

conectados para evitar que realice giros muy bruscos y entre en la zona

muerta de los sensores laterales.

BIBLIOGRAFIA:

http://www.monografias.com/trabajos31/robotica/robotica.shtml#concept

http://www.robodacta.com

http://www.solaris-digital.com

http://perso.wanadoo.es/luis_ju/ebasica2/mcc_03.html

http://www.agelectronica.com

http://www.atmel.com

http://www.servocity.com/~servo/html/hs-311_standard.html

Hojas de especificaciones y otros documentos.

Datasheet L293D.

Datasheet ATMEGA16.