Reporte Seguidor de Linea

UNIVERSIDAD TECNOLÓGICA DE LA REGIÓN DE LA REGIÓN CARBONÍFERA NIVEL SUPERIOR MATERIA: Máquinas Eléctricas ALUMNO: Jai

Views 93 Downloads 7 File size 857KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

UNIVERSIDAD TECNOLÓGICA DE LA REGIÓN DE LA REGIÓN CARBONÍFERA

NIVEL SUPERIOR

MATERIA: Máquinas Eléctricas

ALUMNO: Jaime Limones Martínez

DOCENTE: José Francisco Mona Guajardo

GRADO Y ESPECIALIDAD: 5 “M”

MATRICULA: 17005039

NOMBRE DE TRABAJO: Seguidor de Línea

CARRERA: Técnico Superior Universitario en Mecatrónica Área Instalaciones Eléctricas Eficientes San Juan de Sabinas, Coah.

05 de abril del 2019

INTRODUCCIÓN Los robots seguidores son interesantes, ya que son un punto de entrada a la robótica, y además permiten a la persona que los realiza tener la libertad de poderlo diseñar utilizando una variada gama de tecnología. Este reporte pretende adentrarnos un poco en los pasos son necesarios para la construcción de un robot seguidor de línea. En el mundo de la robótica, cuando hablamos de un robot seguidor de línea se piensa en un dispositivo que, utilizando unos fotodiodos, va siguiendo una línea negra sobre un fondo blanco. La reacción de estos fotodiodos es muy rápida y, por tanto, si se dispone de un buen dispositivo de control, el robot se mueve rápidamente por el mapa siguiendo ágilmente la línea. Este reporte pretende adentrarnos un poco en los pasos son necesarios para la construcción de un robot seguidor de línea desde su concepción hasta el proceso de armado del mismo.

MARCO TEORICO

ROBOTICA. La robótica es la ciencia y la tecnología de los robots. Se ocupa del diseño, manufactura y aplicaciones de los robots. La robótica combina diversas disciplinas como son: la mecánica, la electrónica, la informática, la inteligencia artificial y la ingeniería de control. Otras áreas importantes en robótica son el álgebra, los autómatas programables y las máquinas de estados. PROGRAMACIÓN ARDUINO La programación de Arduino es la programación de un microcontrolador. El lenguaje de programación de Arduino es C++. No es un C++ puro sino que es una adaptación que proveniente de avr-libc que provee de una librería de C de alta calidad para usar con GCC (compilador de C y C++) en los microcontroladores AVR de Atmel y muchas utilidades específicas para las MCU AVR de Atmel. ELECTRONICA. Es el campo de la ingeniería y de la física aplicada relativo al diseño y aplicación de dispositivos, por lo general circuitos electrónicos, cuyo funcionamiento depende del flujo de electrones para la generación, transmisión, recepción, almacenamiento de información, entre otros. Esta información puede consistir en voz o música como en un receptor de radio, en una imagen en una pantalla de televisión, o en números u otros datos en un ordenador o computadora.

COMPONENTES BASICOS DE UN ROBOT. Los robots seguidores de línea (o robots rastreadores) cumplen una única misión: seguir una línea marcada en el suelo (normalmente una línea negra sobre un fondo blanco o línea blanca en fondo negro). Sensores. Un seguidor detecta la línea a seguir por medio de sensores. Hay muchos tipos de sensores que se pueden usar para este fin; sin embargo, por razones de costos los más comunes son los sensores infrarrojos (IR), que normalmente constan de un LED infrarrojo y un fototransistor. Sensor QTR-8A. El sensor de reflectancia de QTR-8A está pensado como sensor de línea. El módulo es un portador de ocho pares emisores y recibidores (fototransistor) de IR uniformemente espaciados, Cada fototransistor está conectado a una resistencia pull-up para formar un divisor de voltaje que produce una salida de voltaje análogo entre 0 V y VIN Motor Pololu 10:1 . Son los encargados del trabajo mecánico del robot, estos motores son de bajo consumo y encienden con un voltaje de 5 Volts. Placa Arduino UNO. Arduino Uno es una placa electrónica basada en el microcontrolador ATmega328. Cuenta con 14 entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM (Modulación por ancho de pulsos) y otras 6 son entradas analógicas. Driver TB6612FNG. El controlador de motor TB6612FNG puede controlar hasta dos motores de corriente continua a una corriente constante de 1,2 A (3.2A pico). Dos señales de entrada (IN1 e IN2) se puede utilizar para controlar el motor en uno de los cuatro modos de funcionamiento. Es la responsable de lo lograr la variación de velocidad en los motores.

Objetivo General

Como objetivo se ha buscado el desarrollo de una idea teniendo en cuenta la importancia de la aplicación de conceptos que tienen relación con la ingeniería para lograr buenas bases y junto con la investigación crear un robot seguidor de línea implementando la programación de Arduino para poder lograr la lógica de control y la autonomía del robot de la mejor manera posible.

Objetivos Específicos

Enfocarse hacia la parte de investigación de tal manera que sirva como punto de partida para analizar opciones que ayuden a lograr el mejor resultado. Lograr tener una visión de los factores que afecten el desempeño. La aplicación y la práctica de los conocimientos adquiridos a través de toda la carrera que han sido recopilados y que hoy son materia principal para el logro de nuestros objetivos. Poder desarrollar un robot seguidor de línea rápido y eficiente que cumpla el circuito establecido en el menor tiempo posible.

Desarrollo

A continuación, se muestra una tabla de los materiales utilizados en la construcción del robot seguidor de línea111 MATERIAL ARDUINO UNO SENSOR QTR-8A DRIVER TB6612FNG MOTOREDUCTOR POLOLU 10:1 BASE LLANTASPOLOLU 3MM SEGUIDO LLANTA LOCA POLOLU 1/2 BRACKET SUJETADOR POLOLU

CANTIDAD 1 1 1 2 1 2 1 2

El procedimiento que se siguió fue el siguiente 1-. Diseño de la base. El primer paso que se realizo fue el diseño de una base sobre la cual se montarían los componentes necesarios, el diseño se realizó en un programa de CAD 3D el cual sirve para crear modelados de piezas en 3D, el software elegido para tal fin fue Solidworks en su versión 2016.

2-. Impresión de la base. Una vez obtenido el diseño con las medidas correspondientes se procedió cargar el diseño en una impresora 3D para su posterior impresión en material plástico

3-. Organizar componentes. Después de haber terminado la impresión de la base se procedió a organizar los componentes en sus respectivos lugares buscando la mejor posición para ellos.

4-. Conexión de Componentes. Como siguiente paso se realizó la conexión de todos los componentes de acuerdo con los diagramas correspondientes.

5-. Cargar el código del seguidor. Como penúltimo paso se cargó el código correspondiente al arduino, el código es el encargado de hacer funcionar al robot seguidor pues es el encargado de mandar las señales a los sensores, así como también interpreta las señales provenientes de los mismos.

Código

#include // En esta parte del código agregamos la librería para los sensores

//Mapeo de pines #define STBY 9 #define AIN1 3 #define AIN2 4 #define PWMB 5 #define PWMA 6 #define BIN1 8 #define BIN2 7 #define NUM_SENSORS

6

#define NUM_SAMPLES_PER_SENSOR 4 #define EMITTER_PIN #define LED

13

11

//

// Constantes para PID float KP = 0.01; float KD = 1.0; float Ki = 0.006;

// Regulación de la velocidad Máxima int Velmax = 80;

// Data para intrgal int error1=0;

int error2=0; int error3=0; int error4=0; int error5=0; int error6=0;

// Configuración de la librería QTR-8A QTRSensorsAnalog qtra((unsigned char[]) {A0, A1, A2, A3, A4, A5} , NUM_SENSORS, NUM_SAMPLES_PER_SENSOR, EMITTER_PIN);

unsigned int sensorValues[NUM_SENSORS];

// Función accionamiento motor izquierdo void Motoriz(int value) { if ( value >= 0 ) { digitalWrite(BIN1,HIGH); digitalWrite(BIN2,LOW); } else { digitalWrite(BIN1,LOW); digitalWrite(BIN2,HIGH); value *= -1; } analogWrite(PWMB,value); }

// Función accionamiento motor derecho void Motorde(int value) { if ( value >= 0 ) { digitalWrite(AIN1,HIGH); digitalWrite(AIN2,LOW); } else { digitalWrite(AIN1,LOW); digitalWrite(AIN2,HIGH); value *= -1; } analogWrite(PWMA,value); }

//Accionamiento de motores void Motor(int left, int righ) { digitalWrite(STBY,HIGH); Motoriz(left); Motorde(righ); }

//función de freno void freno(boolean left, boolean righ, int value) { digitalWrite(STBY,HIGH); if ( left ) { digitalWrite(BIN1,HIGH); digitalWrite(BIN2,HIGH); analogWrite (PWMB, value); } if ( righ ) { digitalWrite(AIN1,HIGH); digitalWrite(AIN2,HIGH); analogWrite (PWMA, value); } }

void setup() { // Declaramos como salida los pines utilizados pinMode(LED ,OUTPUT);

pinMode(BIN2 ,OUTPUT); pinMode(STBY ,OUTPUT); pinMode(BIN1 ,OUTPUT); pinMode(PWMB ,OUTPUT); pinMode(AIN1 ,OUTPUT); pinMode(AIN2 ,OUTPUT); pinMode(PWMA ,OUTPUT);

// Calibramos con la función qtra.calibrate();, y dejamos parpadeando el led, mientras se produce la calibración.

for ( int i=0; i Velmax ) diferencial = Velmax; else if ( diferencial < -Velmax ) diferencial = -Velmax;

( diferencial < 0 ) ? Motor(Velmax+diferencial, Velmax) : Motor(Velmax, Velmax-diferencial); }

Costos

MATERIAL ARDUINO UNO SENSOR QTR-8A DRIVER TB6612FNG MOTOREDUCTOR POLOLU 10:1 BASE LLANTASPOLOLU 3MM SEGUIDO LLANTA LOCA POLOLU 1/2 BRACKET SUJETADOR POLOLU

CANTIDAD 1 1 1 2

PRECIO $140.00 $225.00 $74.99 $249.98

1 2

$0 $125.00

1 2

$45.00 $39.00

BATERIA LIPO 7,4V 1000mA CABLES DUPONT 20CM PQ.

1 1 TOTAL

$284.99 $64.99 $1123.45

ANALISIS DE RESULTADOS

Una vez concluido el prototipo se puso a prueba en dos circuitos con línea blanca para verificar el funcionamiento del seguidor, el primer circuito constaba de con pocas curvas aun así en la primera prueba se notó que el seguidor no recorría de manera eficiente el circuito por lo tanto se llevó a revisión teniendo en cuenta diferentes hipótesis:  

El seguidor no recibe la señal de los sensores por lo tanto el microcontrolador no responde adecuadamente La alimentación de voltaje no llega de manera adecuada a una parte del circuito

Una vez terminada la inspección se pudo encontrar el problema, éste consistía en que los sensores no estaban bien conectados en el microcontrolador por lo tanto no recibía la señal de éstos. Después se procedió a realizar una segunda prueba en el circuito numero dos el cual consistía de mas curvas que el primero. En este nuevo circuito se pudo notar que ahora surgía otro problema y este era que nuestro seguidor perdía la línea en algunas partes del circuito, se hizo evidente que el diseño del seguidor tiene varios errores que se pueden mejorar, para que de esta manera pueda recorrer el circuito con mayor velocidad.

CONCLUSIONES

Se diseñó e implementó, un robot seguidor de línea. El funcionamiento del robot fue adecuado a la meta propuesta. Se demostró que a pesar de que se usaron componentes básicos de electrónica son suficientes para realizar un proyecto interesante y vistoso. El robot cumple las expectativas esperadas a demás este sirve como base para adentrarse en el campo de la electrónica y robótica. Gracias a este proyecto se ha tenido la oportunidad de observar como un proyecto tecnológico, aunque sea sencillo puede mejorarse constantemente a fin de perfeccionarlo, hasta lograr obtener resultados más óptimos.

BIBLIOGRAFIA

https://www.arduino.cc/reference/en/language/structure/further-syntax/define/ https://store.robodacta.mx/ http://brettbeauregard.com/blog/wp-content/uploads/2012/07/Gu%C3%ADa-de-uso-PIDpara-Arduino.pdf http://robots-argentina.com.ar/didactica/sensores-reflectivos-qtr-para-siguelineas/ http://aprendiendofacilelectronica.blogspot.com/2014/12/robot-velocista-decompetencia_3.html