Seguidor de Línea

PROYECTO FINAL "SEGUIDOR DE LÍNEA"

Daniel Durango (2042892)   Joshua Arango (2042309)   Juan Mendez (2040448)

Universidad del Valle, Facultad de ingeniería

Introducción a la ingeniería electrónica – 710100 M

Asfur Barandica – Julio Urbano

Fase I

Los robots seguidores de líneas son robots que tienen un único objetivo, que es seguir la línea o calle de color negro. Todo el movimiento que tiene este vehículo se debe a los sensores que se encuentran adjuntos para detectar el camino, su funcionamiento consiste en detectar el reflejo de la señal infrarroja, es decir, cuando estos detectan su señal reflejada por la luz, permiten el paso de corriente eléctrica. Nosotros escogimos el sensor CNY70, el protoboard, LEDs y un arduino UNO ya que estos son necesarios y acordes a lo estipulado para nuestro vehículo, las llantas las escogimos con un tamaño adecuado para que alcance mayor velocidad, escogimos un motorreductor ya que gracias a su configuración nos sirve para mover un peso considerable, además si se minimiza los pesos de las estructuras, se llegará a tener un buen funcionamiento en cuanto a potencia, escogimos la batería de 9 voltios ya que por diseño, peso, y capacidad de almacenamiento, es la más adecuada para nuestro prototipo.

Los materiales se escogieron a partir de una investigación sobre proyectos similares, llegando a la conclusión de que estos son los ideales.

Los valores monetarios están dados en Pesos Colombianos, aquellos que no poseen cifra, son elementos que ya se tenían con anterioridad.

(2) sensores CNY70 ($5400) = El sensor permite guiar al vehículo, evitando que se salga del camino.

Resistencias varias = Sirve para oponerse al flujo de corriente.

(4) Transistores 2N2222A ($1200) = Amplifica las señales de corriente que los sensores envían al microcontrolador.

Característica

Símbolo

Valor y unidad

Tensión Colector- Emisor

VCEO

50V DC

Tensión Colector-Base

VCBO

75V DC

Tensión Emisor - Base

VEBO

6V DC

Corriente Colector

IC

800mA DC



(2) LED ($400) = Estos nos brindan una señal lumínica, que sirven para identificar cuando los  sensores se activan.

(2) Motorreductores 110 RPM y llantas ($22000) = Sirven para dar movimiento a la estructura del robot.

-Voltaje: 3v-12v

-Consumo de corriente sin carga: 70 mA

-Velocidad: 110 RPM a 3v

 

(1) Batería 9 Volts (250 mAh) ($28.000)= Sirve para alimentar los circuitos, liberando energía para su funcionamiento. 


(2) Cables para conexiones  ($1000)= Nos permite establecer comunicación eléctrica entre varios puntos, en este caso se usará cable UTP.

(1) Protoboard ($) = Nos permite insertar y conectar algunos componentes para formar un circuito electrónico.

(1)Driver puente H L298n ($16.000) = Sirve para invertir el giro de los motores.

(1) Controlador (Arduino UNO) ($)= Nos permite controlar el hardware de nuestro robot y ejecutar instrucciones.

(1) Interruptor ($1.000) = Sirve para poder encender y apagar el circuito.

(1) Cartón Blanco Moteado ($) = Utilizado como material del chasis, por su característica de rigidez y bajo peso.

(1) Cinta doble faz ($2000) = Utilizado para adherir los elementos del robot al chasis.

La estructura de nuestro robot se definió principalmente en función de la forma de la protoboard, a partir de esto, se diseñó el chasis que fue plasmado en cartón, además se le hizo una especie de bomper en el cual los sensores infrarrojos van a ir protegidos, la batería va en la zona de abajo y en el centro tratando de no afectar la distribución de masa, luego, se buscó posicionar el arduino y el puente H, y se determinó que irían encima de la protoboard. Nuestro robot tiene medidas de 20 cm de largo, 10 cm de ancho y 9 cm de altura.

Planos del robot:


Vista superior:

Vista lateral:

Vista frontal:

Planos de los componentes:

Elementos

Frontal

Lateral

Superior

LED:

Arduino UNO

Pila de 9V

Protoboard










Llanta

  • Informe describiendo el sistema de alimentación, la placa seleccionada y el programa desarrollado. 
  • Plataforma con los nuevos montajes realizados. 
Fase II

Fase 2. Definición, especificación e implementación del sistema de alimentación del robot y primera aproximación a la plataforma Arduino. 

En lo referente al sistema de alimentación, se debe especificar el voltaje, capacidad de almacenamiento de energía, dimensiones, protecciones y demás características que considere de importancia para el diseño. Adicionalmente, se debe presentar la tarjeta Arduino controlando el encendido de dos leds a partir de la interacción con dos pulsadores.

Microcontolador a utilizar: Arduino UNO.

Características de la placa utilizada:

CARACTERSTICAS ARDUINO UNO

CONCEPTO

ESPECIFICACIÓN

Microcontrolador

ATmega328

Voltaje de Operación

5V

Voltaje de entrada (recomendado)

7-12V

Voltaje de entrada (límite)

6-20V

Pines de E/S digitales

14 (de los cuales 6 tienen salida PWM)

Pines de entrada analógica

6

Corriente DC por pin de E/S

40mA

Corriente DC para 3.3V Pin

50mA

Memoria Flash

32KB

SRAM

2KB

EEPROM

1KB (ATmega328)

Velocidad de reloj

16MHz

 
Batería:

CARACTERÍSTICAS BATERÍA

CONCEPTO

ESPECIFICACIÓN

Marca

Beston

Modelo

BST-9V

Voltaje DC

9V

Corriente

250mA

Medidas

4.7 cm x 2.5 cm x 1.5 cm

Peso

35g

Tipo

Ni-Mh - Recargable

Níquel – Metal Hidruro

Con esta batería, nuestro robot tendrá una autonomía  aproximada de 1,6 horas.

Consumo del Arduino UNO= 46 mA

Consumo del puente H L298n= 36 mA

Consumo motores sin carga= 70 mA

Obteniendo un total de consumo de 152 mA.

Autonomía= 250 mA/152 mA=1.6 h, lo que es igual a 96 minutos o 1 hora con 36 minutos.

Algo curioso es que para realizar la carga de la batería se efectuó el empalme de dos cabezales conectores de baterías para que hiciesen la función de extensión. El calibre de estos cables es AWG 26, los cuales soportan como máximo 0.361 A, lo que es igual a 361 mA. El cargador tiene de salida 9V a 35 mA.

Incluyendo estos componentes en nuestro robot, lo presentamos de la siguiente manera:

Vista frontal:

Vista lateral:

Vista superior

Planos:

Control de Leds usando la placa Arduino.

En este punto, se nos asignó la tarea de controlar el encendido de 2 leds mediante 2 pulsadores utilizando el microcontrolador de arduino, para ello se realizó el código en el software de arduino, la simulación en Proteus y por último la simulación en físico.

Código: https://drive.google.com/file/d/19o6liuwdoqKfTTAEfu-POwetP9v9OCIM/view?usp=sharing

Simulación en Proteus: 

https://drive.google.com/file/d/1vZ0y4JQwwv59DDkWeJtjGwUmg-eSlCS4/view?usp=sharing

Montaje físico

Encendido led 1 (rojo)

Encendido led 2 (verde)
Encendido de ambos leds 

Conclusiones de Fase 2:

En esta fase se nos hizo un acercamiento ante las plataformas Arduino y Proteus, además de implementar un montaje físico controlando unos leds. Para la creación del código se utilizó como base los instrumentos brindados por el monitor Julio, donde nos explicó acerca de la estructura de la aplicación y su implementación, en cuanto al circuito de Proteus, tuvimos que insertar la librería de arduino para poder realizar las conexiones. Para el montaje físico se hizo uso de la bateria Beston 250 mA, protoboard, 2 leds (uno verde y uno rojo), cables de arduino para las conexiones, 1 switch y un interruptor, resistencias y el Arduino UNO.

Fase III:

Los sensores usados son los CNY70, este es un sensor óptico por reflejo combinando un led infrarrojo emisor y un fototransistor receptor en un mismo módulo. A continuación, vamos a mostrar como quedo el sensor estabilizado en el robot:

Después de ver la manera como está quedando el robot, le diseñamos un diagrama de bloques para ver su funcionamiento de una forma más organizada y sencilla de entender.

Sensor CNY70:

El dispositivo CNY70 es un sensor óptico infrarrojo, de un rango de corto alcance que se utiliza para detectar colores de objetos y superficies.

Contiene un emisor de radiación infrarroja (fotodiodo) y un receptor (fototransistor). El fotodiodo emite un haz de radiación infrarroja, el fototransistor recibe ese haz de luz cuando se refleja sobre alguna superficie u objeto.

Dependiendo de la cantidad de luz recibida por el fototransistor el dispositivo envía una señal de retorno a una tarjeta controladora como Arduino.

Debido a que el sensor está configurado como un switch, la programación en el software de Arduino sigue siendo la misma a la de la anterior fase.


ESPECIFICACIONES SENSOR CNY70

Tipo de Emisor

Fotodiodo IR

Tipo de detector

Fototransistor

Dimensiones (Largo x Ancho x Alto) en mm

7 x 7 x 6

Distancia de funcionamiento máximo

<0.5mm

Longitud de onda del emisor

950nm

Montaje simulado en Proteus sobre el sensor CNY70 en el Arduino.

https://drive.google.com/file/d/1vr2l8huBIAUKZKEfStB1jhJTJ3dqEkf8/view?usp=sharing

Diagrama de flujo del funcionamiento del sensor CNY70

Esquema CNY70

Este es el esquema que se nos brinda en el datasheet del sensor, donde tenemos 4 pines. Para verlo tal cual como en el esquema, debemos poner la cara del área marcada del sensor en dirección hacia la derecha, siendo el pin superior izquierdo el ánodo, el pin inferior izquierdo el cátodo, el pin superior derecho el emisor y el pin inferior derecho el colector.

Montaje físico:

Funcionamiento del sensor.

El sensor está en funcionamiento, actuando como un switch cerrado, ya que se encuentra en su rango de medición y puede recibir su señal, por lo cual se encienden los leds.

En este montaje, se eleva el seguidor de línea, por lo cual el sensor está fuera de rango y no recibe su señal, lo que conlleva a actuar como un switch abierto, por lo cual los leds no se encienden.

Video Funcionamiento

https://drive.google.com/file/d/1zdgbcDtDkVi0O2jR82xCZOuMEJXKwPBZ/view?usp=sharing

Conclusiones fase 3:

En esta fase pudimos comprender el funcionamiento de nuestro sensor CNY-70, teniendo en cuenta sus características y su rango de funcionamiento para así mismo acoplarlo a nuestro proyecto de Robot Seguidor de Línea, también aprendimos a identificar las diversas partes en que se divide nuestro sistema.

Fase IV:

  • Funcionamiento Puente H

Es usado para controlar motores de corriente continua y de baja tensión, esto permite que el motor eléctrico pueda girar en ambos sentidos, avanzar y retroceder, esto sucede ya que el puente H hace un corto entre las bornas del motor. El puente H tiene 4 interruptores ya puede ser mecánico o transistores y esto puede ocasionar un movimiento como se muestra en la siguiente tabla:


S1

S2

S3

S4

Resultado

1

0

0

1

El motor gira para avanzar

0

1

1

0

El motor gira para retroceder

0

0

0

0

El motor se detiene bajo inercia

1

0

1

0

El motor gira para ir a la derecha

0

1

0

1

El motor gira para ir a la izquierda

1

1

0

0

Cortocircuito

0

0

1

1

Cortocircuito

1

1

1

1

Cortocircuito


Módulo Lh298:

  • Dibujo Planos

Vista frontal:

Vista lateral:

Vista superior:


  • Programación en Arduino:

https://drive.google.com/file/d/1whYd81TdBcM-dVEGd2U5gpFFyfEuUUJM/view?usp=sharing 


En esta fase, se utilizaron nuevos nombres para la asignación de entradas y salidas, pero el código sigue teniendo la misma estructura ya que cumple su función de controlar los motores.


En el plano eléctrico se incluyó el puente h L298N, quien suplanta los leds, recibiendo la señal del arduino y de esta manera activando los motores según el sensor que se encuentre activo.


  • Diagrama de flujo algoritmo 

Con este diagrama de flujo podemos explicar de una manera mas detallada nuestro sistema. Inicialmente tenemos los 2 sensores CNY_70 (S1, siendo el sensor izquierdo, S2, siendo el sensor derecho), quienes captan la señal y transmiten dicho pulso a los pines definidos como entradas del Arduino, éste se encarga de interpretar estos pulsos altos o bajos y dependiendo de estos se envía la señal las entradas del puente h, que para el motor 1 sus entradas son IN1-IN2 y para el motor 2 sus entradas son IN3-IN4, además este elemento tiene los OUT, que para el notor derecho se le asignó OUT 1-OUT 2, y para el motor izquierdo OUT3-OUT4. De esta manera es que se logra tener movimiento en las ruedas del seguidor de línea.

  • Conclusiones:

En esta fase pudimos comprender el funcionamiento de elementos de potencia por medio de un módulo de montaje de un puente en H, donde aprendimos a controlar desde un instrumento de control elementos de potencia como los motores para impulsar nuestro carro teniendo en cuenta las señales que recibimos de nuestros sensores.

Video funcionamiento del robot:

https://drive.google.com/file/d/139SvEQXEgAjJe3e8rRX5FGgQGtZn1HnZ/view?usp=sharing

Fase V

En la fase V se nos pide describir los cambios finales realizados al robot, el diagrama de bloques del robot, y al menos 3 algoritmos implementados en el robot. 

Programas utilizados en el robot:

  1. Programa encendido de leds: https://drive.google.com/file/d/19o6liuwdoqKfTTAEfu-POwetP9v9OCIM/view?usp=sharing

Diagrama de flujo algoritmo:



Simulación en Proteus encendido de leds: https://drive.google.com/file/d/1vZ0y4JQwwv59DDkWeJtjGwUmg-eSlCS4/view?usp=sharing

2.        Programa prueba sensores CNY_70: 

https://drive.google.com/file/d/1qe1KZ0nNT0Ja7l07Ef5n_--y4z_JsPK7/view?usp=sharing 

Diagrama de flujo algoritmo:


Montaje simulado en Proteus sobre el sensor CNY70 en el Arduino. https://drive.google.com/file/d/1vr2l8huBIAUKZKEfStB1jhJTJ3dqEkf8/view?usp=sharing

3.            Programa Puente H (Encendido de motores): https://drive.google.com/file/d/1whYd81TdBcM-dVEGd2U5gpFFyfEuUUJM/view?usp=sharing 

Diagrama de flujo algoritmo:


Planos eléctricos Puente H: https://drive.google.com/file/d/1M6N2RACmoTWspOY7F97OKCkQBt10JJrf/view?usp=sharing 

Planos del robot:

Vista frontal:

Vista lateral:

Vista superior:


Los cambios presentados en esta fase en el robot, son la suplantación de los jumpers que conectaban el Arduino con la protoboard, cambiándose por cable de UTP, siendo más firmes las sujeciones y así evitar averías.

 

 

Vídeo funcionamiento:

https://drive.google.com/file/d/17Z-u2OQ1TUe1G0J2IYTm6EWLYbw_BJM9/view?usp=sharing 

  • Conclusiones:
En esta fase, se realizaron mejoras en la estructura del robot, se recopilaron las programaciones realizadas y se desarrolló un Diagrama de bloques donde podemos observar la interacción de todos los componentes del robot.

Fase VI

En esta fase implementamos una programación PWM para limitar la tensión que reciben los motores, limitándose a 4.5V y se ajustaron los sensores de acuerdo con la medida de la cinta de la pista.

Programación incluyendo PWM para reducir la tensión de los motores: https://drive.google.com/file/d/1B-wEhOJs9Lawj36dJKab32ZGyuvVGUBW/view?usp=sharing 

Pista de prueba #1:


Al ver que en ocasiones desalineaba el robot, se decidió realizar una mejora en su estructura para evitar movimientos en los sensores y así evitar futuros desvíos; además, se realizó una nueva pista debido a que la anterior tenía curvas muy pronunciadas que afectaban en el movimiento del robot.

Pista #2:

 

Vídeo prueba en pista #2: https://drive.google.com/file/d/17tFGTpvGdSsgR-520A1-DredK_N9-Wfn/view?usp=drivesdk 

Toma nueva estructura robot:


Vista frontal

 

Vista superior

Vista lateral

Conclusión:

Para concluir, con el proyecto se implementaron conocimientos básicos de la electrónica, donde se investigó, ensayó, simuló la estructura y circuito eléctrico del robot. 

En cuanto al seguimiento de la línea, nos dimos cuenta que las curvas deben ser suaves, con un amplio recorrido para que el robot no se vea forzado y se detenga o se salga del camino.

Fue interesante su elaboración, ya que al utilizar materiales reciclables, la sujeción de los materiales tuvo que pensarse muy bien, además, pudimos poner en práctica lo que deseamos aprender para nuestras vidas, incrementando nuestra experiencia en el campo.



Comentarios

Entradas más populares de este blog

SENKU: El robot que resuelve laberintos (Fase 5)

Fase 5 -- Robot Seguidor De Línea