Seguidor de linea con arduino

13

Click here to load reader

description

Reporte seguidor de linea

Transcript of Seguidor de linea con arduino

Page 1: Seguidor de linea con arduino

1

Robot Sigue-líneas Hipócrates 1

Reporte de diseño, elaboración y construcción

Universidad Hipócrates

Facultad de Ingeniería en Electrónica y Cibernética

Alumno: Braulio Emiliano Vazquez Valdez

Profesor: Carlos Arturo Alarcón

16/12/2013

RSGH-1

Page 2: Seguidor de linea con arduino

2

Introducción

Con motivo del proyecto final de la materia electrónica 1 segundo parcial, se planteó un proyecto

mesclador de químicos, al encontrar una limitante en su funcionamiento se optó por buscar otro

proyecto, de esta manera se adoptó la idea de diseñar un robot sigue-líneas denominado ahora

como RSGH-1

La finalidad del proyecto además de aprobar la materia electrónica 1 impartida por el profesor

Carlos Arturo Alarcón, es iniciarse en la robótica y abrir un panorama para la facultad para abrir

futuras participaciones en competencias y eventos en el ámbito de la robótica, no es seguro con

este robot en sí, pero si se puede comenzar a desarrollar un proyecto más competente y

sofisticado, además se logró un interés en los alumnos de preparatoria Hipócrates en la carrera de

ingeniería en Electrónica y Cibernética

El resultado del proyecto fue convincente y en opinión del desarrollador gratificante no solo por su

buen funcionamiento, sino porque es su primer robot

Pero antes que nada ¿qué es un robot sigue-líneas?

Según Wikipedia

“Los robots seguidores de línea son robots muy sencillos, que cumplen una única misión: seguir una

línea marcada en el suelo normalmente de color negro sobre un tablero blanco (normalmente una línea

negra sobre un fondo blanco). ”

Con esto queda entendido que son, ahora que lo conforman?

Partes que lo conforman:

1.- Sensores

Son los encargados de referenciar la posición del robot con respecto a la línea negra o blanca

2.- Microcontrolador

Se encarga de recoger los datos otorgados por los sensores y usarlos para decidir como

administrar los pulso de control para los motores

3.- Motores con Motorreductor

Son los encargados de darle movimiento al robot siendo estos acoplados a unas llantas la tracción

Page 3: Seguidor de linea con arduino

3

Primeros pasos

Al plantear la idea del robot sigue-líneas surgieron 2 preguntas

¿Qué tipo de robot queríamos?

¿Cómo conseguiríamos las piezas necesarias?

Se optó por un robot microcontrolado ya que se puede modificar su programación en cualquier

momento y porque son mucho más versátiles que un robot puramente electrónico, además de

que se pueden usar más sensores y configurar el comportamiento independiente de cada uno de

ellos en resumen la versatilidad es mucho mayor

Se investigaron las piezas necesarias para su elaboración

El 60% de las piezas usadas no se encontraron en guerrero, se tuvieron que pedir por tiendas en

línea resultando encontrar las piezas en una llamada MICROSIDE que se ubica en Tlaxcala

Una vez teniendo todas las piezas se procedió a construir el robot

Page 4: Seguidor de linea con arduino

4

Detalles sobre la investigación

Siendo este el primer sigue-líneas desarrollado se fue investigando en un orden

¿Como obtendremos las señales?

Mediante a sensores

¿Qué sensores necesitamos?

Sensores Emisor-Receptor

¿Cuáles hay disponibles?

QRD1114 y CNY70

Optamos por los QRD1114 ya que tienen un mayor rango de acción y son más precisos

¿Qué tipo de señales emiten?

Emiten señales analógicas en función a la reflexión del material que este frente a su emisor-

receptor

¿Qué señales necesitamos?

Necesitamos señales digitales para nuestro robot

¿Cómo convertimos la señal analógica de los sensores en digital?

Buscando en la red se encontró el diagrama de la figura 1

Figura 1

Page 5: Seguidor de linea con arduino

5

Probándolo en la práctica se comprobó su funcionamiento, devolviendo señales de entre 0 y 5

volts siendo estos valores, señales digitales.

Se procedió diseñar el circuito impreso y estos fueron los resultados

Figura 1.1 (Panel de sensores)

Figura 1.2 (Convertidor analógico-digital)

Page 6: Seguidor de linea con arduino

6

Ahora ¿Qué hacemos con esas señales?

Toco investigar de qué manera podíamos procesar estas señales, sin duda podíamos procesarlas

mediante un sistema electrónico con un puente h pero se tiene el inconveniente que si se quieren

usar más de 2 sensores se necesitarían muchos componentes y además sería un funcionamiento

fijo sin posibilidad de ser modificado fácilmente

Entonces se optó por el uso de un Microcontrolador

Se puede fabricar uno pero por falta de tiempo las opciones eran comprar uno

Existen diferentes marcas, Arduino, Chipkit, Genius, entre otros, la mejor opción fue el Chipkit

Uno32

Figura 2

tanto por su velocidad de procesamiento como por su cantidad de puertos además de ser

compatible con toda la gama de productos Arduino y la programación es mediante ensamblador

siendo relativamente sencilla y fácil de aprender

Para realizar el programa se visitaron muchas paginas entre ellas las mas destacadas por la calidad

y veracidad de sus artículos fueron

http://www.arduino.cc/es/

http://www.forosdeelectronica.com/

http://www.taringa.net/

Después de revisar programas hechos por terceros y tutoriales en las paginas antes mencionadas

se realizó con éxito este programa para seguir línea blanca mediante al programa MP-IDE

//Pines de los sensores

const int sensor1 =8 ;

const int sensor2 =9 ;

const int sensor3 =11 ;

Page 7: Seguidor de linea con arduino

7

const int sensor4 =12 ;

const int sensor5 =13 ;

//Pines Motores

const int motor1 = 7;

const int motor2 = 4;

const int rmotor1 = 5;

const int rmotor2 = 6;

void setup() {

//Incializacion de los pines de los motores como salidas

pinMode(motor1, OUTPUT);

pinMode(motor2, OUTPUT);

//Incializacion de los pines de las reversas de los motores

pinMode(rmotor1, OUTPUT);

pinMode(rmotor2, OUTPUT);

//Incializacion de los pines de los sensoeres como entradas

pinMode(sensor1, INPUT);

pinMode(sensor2, INPUT);

pinMode(sensor3, INPUT);

pinMode(sensor4, INPUT);

pinMode(sensor5, INPUT);

}

void loop(){

//Comprovacion del estado del sensor 3

Page 8: Seguidor de linea con arduino

8

if (digitalRead(sensor3)) {

digitalWrite(motor1, LOW);

digitalWrite(motor2, LOW);

}

else {

digitalWrite(motor1, HIGH);

digitalWrite(motor2, HIGH);

}

//Comprovacion del estado del sensor 2

if (digitalRead(sensor2)) {

digitalWrite(motor2, LOW);

}

else {

digitalWrite(motor2, HIGH);

}

//Comprovacion del estado del sensor 4

if (digitalRead(sensor4)) {

digitalWrite(motor1, LOW);

}

else {

digitalWrite(motor1, HIGH);

}

//Comprovacion del estado del sensor 1

if (digitalRead(sensor1)) {

digitalWrite(rmotor1, LOW);

digitalWrite(motor2, LOW);

}

else {

Page 9: Seguidor de linea con arduino

9

digitalWrite(rmotor1, HIGH);

digitalWrite(motor2, HIGH);

}

//Comprovacion del estado del sensor 5

if (digitalRead(sensor5)) {

digitalWrite(motor1, LOW);

digitalWrite(rmotor2, LOW);

}

else {

digitalWrite(motor1, HIGH);

digitalWrite(rmotor2, HIGH);

}

}

Donde los puertos 8, 9, 11, 12, 13 son las entradas donde se recogen las señales de los sensores y

los puertos 4, 5, 6, 7 son las salidas de control para los motores

Ya con esto resuelto

¿Cómo alimentaremos los Motores?

El Microcontrolador emite una señal de 3.3 volts 18ma, mientras que los motores necesitan un

voltaje de 8 volts 1000ma

Investigando se encontró que esto se podía realizar mediante un puente H

Según Wikipedia

“Un Puente H o Puente en H es un circuito electrónico que permite a un motor eléctrico DC girar en

ambos sentidos, avance y retroceso. Son ampliamente usados enrobótica y como convertidores de

potencia. Los puentes H están disponibles como circuitos integrados, pero también pueden construirse a

partir de componentes discretos.”

El circuito que se encontró activa el avance y retroceso mediante un pulso de control de entre 3.2 volts

hasta 5 volts, con una entrada/salida de potencia de 5volts 500ma hasta 8.3volts 4000ma, quedando

perfecto para nuestro robot, el diagrama en la figura 3

Page 10: Seguidor de linea con arduino

10

Figura 3

Una vez probado su funcionamiento en la práctica se procedió a diseñar una el circuito impreso a

partir de este diagrama. Véase figura 3.1

Figura 3.1

Page 11: Seguidor de linea con arduino

11

La vista previa tridimensional en la figura 3.2

Figura 3.2

Y el resultado final en la figura 3.3

Figura 3.3

Ya con todo esto solo faltaban los motores, se compró un kit de chasis y motorreductores 4x4 de

la marca DFRobot

Figura 4

Page 12: Seguidor de linea con arduino

12

Ahora ¿Cómo alimentaremos el robot?

Se necesitaba una fuente de energía que proveyera 8 volts 4000ma, la solución fue crear un pack

de baterías a partir de batería viejas de laptop

Figura 5

Al final se procedió a cablear y armar todo los componentes elaborados mediante a extensores y

tornillos

Y este fue el resultado final

Figura 6

Page 13: Seguidor de linea con arduino

13

Figura 6.1

Figura 6.2

Después de realizar pruebas los resultados fueron satisfactorios