Está en la página 1de 16

Edgar Alvarado Morales

Construccin de un
carrito seguidor de
lnea velocista con
INSTITUTO TECNOLGICO DE
control PID
DELICIAS
PROFESOR.-ING. DAVID URITA ECHEVERRA

MICROCONTROLADOR
UNIDAD
ES 4

NDICE

Contenido
INTRODUCCION.................................................................................................... 2
MATERIAL A UTILIZAR.......................................................................................... 3
CONSTRUCCIN Y DISEO.................................................................................... 6
PLACA, PCB ROBOT........................................................................................... 6
SOLDAR COMPONENTES A TU PLACA.................................................................6
SOLDAR Y COLOCAR MOTORES..........................................................................6
TROMPA DEL ROBOT.......................................................................................... 6
SENSORES Y CABLES......................................................................................... 7
RUEDAS............................................................................................................ 8
PROGRAMACION.................................................................................................. 9
PROGRAMA....................................................................................................... 9
AJUSTE DEL CONTROL..................................................................................... 13
Bibliografa.......................................................................................................... 13

Instituto Tecnologico
de Delicias

INTRODUCCION
Los robots seguidores de lnea son robots muy sencillos, que cumplen una nica misin:
seguir una lnea marcada en el suelo normalmente de color negro sobre un tablero blanco
(normalmente una lnea negra sobre un fondo blanco). Son considerados los "Hola mundo"
de la robtica.Estos robots pueden variar desde los ms bsicos (van tras una lnea nica)
hasta los robots que recorren laberintos. Todos ellos, sin embargo, poseen (por lo general)
ciertas partes bsicas comunes entre todos:
Sensores: Un rastreador detecta la lnea a seguir por medio de sensores. Hay muchos tipos
de sensores que se pueden usar para este fin; sin embargo, por razones de costos y
practicidad los ms comunes son los sensores infrarrojos (IR), que normalmente constan de
un LED infrarrojo y un fototransistor.
Motores: El robot se mueve utilizando motores. Dependiendo del tamao, el peso, la
precisin del motor, entre otros factores, stos pueden ser de varias clases: motores de
corriente continua, motores paso a paso o servomotores.
Ruedas: Las ruedas del robot son movidas por los motores. Normalmente se usan ruedas
de materiales anti-deslizantes para evitar fallas de traccin. Su tamao es otro factor a tener
en cuenta a la hora de armar el robot.
Fuente de energa: El robot obtiene la energa que necesita para su funcionamiento de
bateras o de una fuente de corriente alterna, siendo esta ltima menos utilizada debido a
que le resta independencia al robot.
Tarjeta de control: La toma de decisiones y el control de los motores estn generalmente a
cargo de un microcontrolador. La tarjeta de control contiene dicho elemento, junto a otros
componentes electrnicos bsicos que requiere el microcontrolador para funcionar.
Los rastreadores ms simples utilizan 2 sensores, ubicados en la parte inferior de la
estructura, uno junto al otro. Cuando uno de los dos sensores detecta el color blanco,
significa que el robot est saliendo de la lnea negra por ese lado. En ese momento, el robot
gira hacia el lado contrario hasta que vuelve a estar sobre la lnea. Esto en el caso de los
seguidores de lnea negra, ya que tambin hay seguidores de lnea blanca.
Las dos maneras ms comunes de armar los rastreadores son: OPAMPS (Amplificadores
Operacionales), o con simples transistores trabajados en su zona de saturacin. Esto
dependiendo de la complejidad con la que se quiera armar el circuito. Podemos utilizar un
2

microcontrolador para realizar las funciones de control o guardar en l la forma del


recorrido por una pista.

MATERIAL A UTILIZAR
Para empezar crearemos una lista de todos los materiales que necesitas, aparte de esto te
har falta herramientas bsicas como destornilladores, pinzas, cautn, estao, etc.
2 Motores Pololu 10:1: Gracias a las caractersticas de reduccin y el diseo del robot este
motor acopla perfectamente con las necesidades requeridas. IMPORTANTE: Si se quiere
un robot ms grande o pesado recomendamos usar motores Pololu 30:1.

Soporte para micro motores: Este soporte te permite fijar el motor a la base del robot con
mucha seguridad, especializado para micromotores pololu.
Regleta Sensores QTR 8A: Estos sensores ya ensamblados te permiten ahorrar mucho
tiempo y dinero, son 8 sensores ya arreglados para una deteccin de lnea ptima. Entre
mayor nmero de sensores tienes mayor es la velocidad a la cual el robot puede ir ya que
siempre puede encontrar la lnea que debe de seguir. Hemos visto robot seguidor de lnea
con hasta 24 sensores!!!

Regulador Ajustable 2.5-9V: Es absolutamente indispensable para no daar los sensores,


ya que funcionan con 5v. El regulador lo puedes ajustar desde una entrada de 2.5V hasta 9V
para que te entrege el voltaje de salida a 5V y puedas alimentar tus circuitos.

Instituto Tecnologico
de Delicias

Trompa Robot: Este componente es de acrlico,este es el plano para que lo puedas fabricar.

Placa Baby Orangutn: Esta pequea placa agrupa un puente H para controlar los motores
y un microcontrolador conectados previamente ahorrndote prcticamente toda la parte
electrnica y ser nuestro controlador. Definitivamente es la mejor opcin que puedes tener
para tu robot basados en las caractersticas de tamao, precio, potencia y fcilidad de
programacin.

Programador AVR Pololu: Para programar el Baby Orangutan es necesario usar este
programador de AVR, puedes programarlo ya sea desde el AVR Studio o la interfaz de
programacin de Arduino como ser este caso.
Ruedas para Sumo 1K: Son indispensables este tipo de ruedas ya que aunque el robot es
un seguidor de lnea, al alcanzar velocidades de ms de 2 mts segundo necesita un agarre
optimo en cada curva.

Placa, PCB Robot: Esta placa ser la estructura del robot, donde se soldaran y acoplaran
todos los componentes.

Batera 7.4v 500mAH: Las bateras de LiPo son la mejor opcin en robtica el da de hoy,
est en particular es excelente opcin para el robot ya que su tamao y peso en relacin a su
eficiencia es muy buena. Ten en cuenta que ests bateras no se puede cargar con cualquier
cargador, sino que se necesita un cargador especial

2 Cables de 5 Pines: Lo usaras para conectar los sensores a la placa del robot.
Regleta 40 Pines: Esto lo usaras en conjunto con los cables de 5 pines, igualmente para
conectar la batera a la placa.
Regleta Hembra: Esta se usara para conectar la baby orangutn a la placa principal.
Cable Delgado 1mts: Sera necesario para conectar el motor a la placa.
2 Leds 3mm: Te indicara el estado del robot, y ser una buena decoracin.
1 Interruptor: Permite el paso de energa para programar, o usar el robot.
1 Pulsador: Te permitir activar el robot para que empiece a funcionar.
Resistencias Superficiales 1k: Resistencias para los leds y el pulsador, su funcin es no
daar los leds

Instituto Tecnologico
de Delicias

1 Pegamento instantneo: Para hacer los ajustes.

CONSTRUCCIN Y DISEO
PLACA, PCB ROBOT
En este caso el chasis del robot es la misma placa PCB, se ha realizado as para minimizar
el peso del robot y hacer que la potencia de los motores se aproveche de la mejor manera.
Adicionalmente es uno de los principales componentes del robot. Puedes fabricar esta placa
manualmente o mandarla fabricar segn sea tu experiencia.

SOLDAR COMPONENTES A TU PLACA


Cuando ya tengas la placa lista debes ahora soldar todos los componentes a ella, te
explicaremos de forma grafica y sencilla en donde debe ir cada uno de los componentes y
su orden especifico.

SOLDAR Y COLOCAR MOTORES


El siguiente paso es soldar a cada una de las terminales del motor un cable corto de 5 cm,
los otros extremos del cable debern ser soldados a la placa teniendo en cuenta la imagen
anterior.
Siguiente a esto, se debe con los soportes para motores, ajustar los motores uno en cada
lado, siguiendo los agujeros de referencia en la placa.

TROMPA DEL ROBOT


Como antes especificamos en la lista de materiales necesitas una trompa para el robot
donde colocaras los sensores para que detecten la lnea.

Cuando tengas ya tu trompa debes pegar la parte nmero uno, a la placa principal del
robot. Seguidamente con 2 pequeos tornillos ajustar a la parte numero uno la nmero dos

Instituto Tecnologico
de Delicias

que ira abajo, encajando los agujeros perfectamente, con esto podras cambiar el largo del
robot.

SENSORES Y CABLES
Ahora el siguiente paso es soldar la regleta que tiene incluida los sensores, de esta manera:

IMPORTANTE: No soldar nada en el By Pass


Seguidamente colocar los sensores en la base numero 2 de la trompa del robot, entran
perfectamente, y para ajustarlos debes tener 2 pequeos tornillos.
Cuanto ya tengas todo esto armado el siguiente paso es usar los 2 cables de 5 pines y
conectar un extremo de ambos cables a la regleta de sensores, y el otro extremo a la regleta
de 11 pines que soldamos en nuestro robot.
Si hiciste correctamente todos los pasos todo debera verse algo as:

RUEDAS
Tu seguidor necesita colocarle sus respectivas ruedas, aunque estas ruedas sean de sumo,
son excelentes para el seguidor de lnea velocista ya que tienen un agarre increble.
Para colocar las ruedas de tu robot debes insertar el eje del motor en el rin, verificando que
la parte plana del eje este contra el tornillo, seguidamente pasar ajustarlo.

Instituto Tecnologico
de Delicias

PROGRAMACION
PROGRAMA
Para programar la placa debes conectarla el programador de AVR Al Baby Orangutan.
Abrir el entorno Arduino y pegar el siguiente Cdigo
#include <QTRSensors.h>
#include <OrangutanMotors.h>
//Sensores de Linea PD
#define NUM_SENSORS

6 // Numero de sensores que usa

#define NUM_SAMPLES_PER_SENSOR 5 // Muestras por sensor


#define EMITTER_PIN

2 // emitter is controlled by digital pin 2

// sensors 0 through 5 are connected to analog inputs 0 through 5, respectively


QTRSensorsAnalog qtra((unsigned char[]) {0, 1, 2, 3, 4, 5},
NUM_SENSORS, NUM_SAMPLES_PER_SENSOR, EMITTER_PIN);
unsigned int sensorValues[NUM_SENSORS];
OrangutanMotors motors;
//Velocidad Maxima Robot//--------------------------//----------------------------------/
const int maximum = 80
//VALORES PD//----------//VALORES PD//--------------------------------------------------//
int VPropocional = 1.45;
int VDerivarivo = 16;
//Velocidad de Calibracion
int velcalibrate = 20;
void setup() {
10

int inPin = 10;


int val = 0;
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(inPin,INPUT);
val = digitalRead(inPin);
while (val == HIGH) {
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
val = digitalRead(inPin);
if (val == LOW)

};

digitalWrite(9, LOW);
digitalWrite(8, LOW);

};

motors.setSpeeds(0,0);// Motores detenidos


//-------------Instrucciones para Empezar a hacer la Calibracion de
Sensores------------------------------delay(1500);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);// Enciende el leds para indicar que se esta calibrando.
for (int counter=0; counter<21; counter++) {
if (counter < 6 || counter >= 15)
OrangutanMotors::setSpeeds(-velcalibrate, velcalibrate);
else
OrangutanMotors::setSpeeds(velcalibrate, -velcalibrate);
qtra.calibrate();
delay(20); }
digitalWrite(9, LOW);

// Apaga el led para indicar que se termino la calibracion.

Instituto Tecnologico
de Delicias
digitalWrite(8, LOW);
OrangutanMotors::setSpeeds(0, 0);
delay(200);
digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
delay(200);
digitalWrite(9, LOW);

// Parpadeo para indicar que el robot esta listo.

digitalWrite(8, LOW);
delay(200);

// Parpadeo para indicar que el robot esta listo.

digitalWrite(9, HIGH);
digitalWrite(8, HIGH); // Parpadeo para indicar que el robot esta listo.
delay(200);
digitalWrite(9, LOW);

// Parpadeo para indicar que el robot esta listo.

digitalWrite(8, LOW);
delay(200);
//---------------------------Fin Calibracion de Sensores----------------------------------------------------//
pinMode(inPin,INPUT);
val = digitalRead(inPin);
while (val == HIGH)

digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
val = digitalRead(inPin);
if (val == LOW)

};

digitalWrite(9, LOW);

12

digitalWrite(8, LOW);
delay(1000); // Retardo X segundos antes de Empezar a andar }; }
unsigned int last_proportional = 0;
long integral = 0;
void loop() {
unsigned int position = qtra.readLine(sensorValues); // leemos posicion de la linea en la variable
position
// Referencia donde seguira la linea, mitad sensores.
int proportional = (int)position - 2500;
// Calculos PD
int derivative = proportional - last_proportional;
integral += proportional;
last_proportional = proportional;
int power_difference = proportional/VProporcional + integral*0 + derivative*VDerivativo;
if (power_difference > maximum)
power_difference = maximum;
if (power_difference < -maximum)
power_difference = -maximum;
if (power_difference < 0)
OrangutanMotors::setSpeeds(maximum, maximum + power_difference);
else
OrangutanMotors::setSpeeds(maximum - power_difference,maximum); };

Instituto Tecnologico
de Delicias
Seleccin Baby Orangutan:

Seleccin Programador:

AJUSTE DEL CONTROL


El programa tiene un control llamado PD (Proporcional Derivativo), este control tiene 2
variables que cambian la respuesta del robot en cada situacin, literalmente son 2 numero
que pueden cambiar todo.
Esto quiz es la parte ms compleja del robot ajustar esos dos nmeros mediante muchas
pruebas.

14

Bibliografa
Agudelo, S. (28 de Mayo de 2015). tdrobotica.co. Obtenido de
http://tdrobotica.co/noticias/robotica/373

También podría gustarte