SEGUIDOR DE lINEA FASE #4

PROYECTO FINAL

Robot seguidor de línea. Fase IV

Asfur Barandica López, Introducción a la ingeniería electrónica.

Daniel Valderrama Cuevas 202040071

Juan Esteban Rodríguez 202042282

Luis Fernando Bonilla 202041276


Desarrollo Fase IV:

En esta fase se implementó el driver utilizado para controlar los motores, en este caso el L298N, que permite controlar los dos motores reductores encargados de la aceleración del robot, siendo capaz de variar la velocidad y dirección con la que se mueven.

Driver L298N:

Este driver posee dos canales de Puente H, que permiten controlar dos motores DC, por lo que nos de mucha utilidad, ya que utilizamos dos motores DC con reductores 48:1.

Este módulo contiene tres conectores para el voltaje, uno que permite 5V o menos, otro que permite entre 6V y 12V, y la conexión a tierra. También tiene espacio para 6 pines que van conectados al Arduino, dos de ellos se encargan de controlar la velocidad de los motores; además, contiene dos borneras de dos pines para las salidas de estos.

Imágen 1
Imágen 2

Motores reductores:

Este tipo de motores, como su nombre lo indica, permiten reducir la velocidad de las máquinas, y junto con el driver L298N, nos permite también controlar la dirección hacia la que giran.

Para este robot se están utilizando dos motores reductores con un voltaje de funcionamiento de 3V a 6V.

 

Imágen 3

Conexiones:

Para esta fase se conectó una batería de 9V para alimentar al driver y los motores.

Los sensores, ya anteriormente conectados, se ubican en los pines analógicos A0 y A1 de la tarjeta Arduino UNO.

Para cada uno de los motores se definieron 3 conexiones de salida:

  •  Para el motor izquierdo, se definieron IN1 e IN2, conectadas a los pines 2 y 4 del Arduino, respectivamente, y al driver en las entradas correspondientes. Estas se encargan de la dirección hacia la que debe girar el motor. También se creó la variable ENA para controlar su velocidad, conectada al driver y al Arduino en el pin PWM 5.
  •  Para el motor derecho, se definieron IN3 e IN4, conectadas a los pines 7 y 8 del Arduino y en los espacios disponibles del driver, que cumplen la misma función que IN1 e IN2 pero en el motor correspondiente. Para el control de la velocidad, se definió la variable ENB, conectada al pin PWM 6 del Arduino y en el driver.

 

Imágen 4

Imágen 5

Funcionamiento:

El funcionamiento del robot se basa en la siguiente secuencia:

  1.   Los sensores leen el color en el que se encuentran. Para valores menores o iguales a 85, el sensor está sobre una línea negra, para mayores a esta cifra, se encuentra sobre otro color.
  2. El Arduino recibe la señal de los sensores, y envía señales al driver para mover los motores.
  3.  El driver recibe las señales del Arduino y mueve los motores según se indique.
  4. El movimiento o dirección que debe tomar el robot se explica en este diagrama:

 

Imágen 6

La interpretación del diagrama es la siguiente:

  •        Si ambos sensores están sobre la línea negra (SL<=85 y SR<=85), ambos motores deben avanzar. Para eso, las variables IN1 e IN3 adquieren el valor de HIGH, y las variables IN2 e IN4, LOW. ENA y ENB obtienen el mismo valor, para que las velocidades de ambos motores sean iguales.
  •         Si solo el sensor izquierdo está sobre la línea negra (SL<=85 y SR>85), el motor izquierdo disminuye su velocidad, para que se corrija el trayecto o gire hacia la derecha. En este caso las variables IN1, IN2, IN3, IN4 y ENB mantienen sus valores, pero ENA se vuelve menor, para así frenar un poco este motor.
  •         Si solo el sensor derecho está sobre la línea negra (SL>85 y SR<=85), el motor derecho disminuye su velocidad, para corregir el trayecto o girar hacia la izquierda. Por lo tanto, IN1, IN2, IN3 e IN4 mantienen sus valores, ENA adquiere 200 y ENB baja a 100, para así reducir la velocidad del motor derecho.
  •         Si ningún sensor está sobre la línea negra (SL>85 y SR>85), ambos motores deben ir hacia atrás, para así volver al recorrido. Para esto, IN1 e IN3 cambian sus valores a LOW, e IN2 e IN4 a HIGH. ENA y ENB mantienen el mismo valor, para asegurar que se retroceda en línea recta.

Todo esto está definido en el código de Arduino realizado, el cual se puede encontrar en el siguiente enlace:

https://drive.google.com/file/d/1k5fVbvG2I-mkX-6SuAVZkqr0jRphajhh/view?usp=sharing

Para explicar la relación de todos los componentes se realizó este diagrama:

 

Imágen 7

En este se indica que una fuente de 9V alimenta al Arduino, el cual envía parte del voltaje a los sensores, que devolverán dos señales (SL y SR), que determinarán qué valores deben ser enviados al driver mediante las variables IN1, IN2, IN3, IN4, ENA y ENB. El driver está alimentado por otra fuente de 9V, que se encargará de repartir a ambos motores y de enviar las señales que recibió del Arduino para controlar su movimiento.


Cambios realizados en esta fase:

  •         Implementación del driver H L298N.
  •         Se añadió una batería de 9V para alimentar el driver y los motores.

 

Imágenes adicionales del montaje del robot:

 

Imágen 8

Imágen 9

Imágen 10

Imágen 11


Video del robot en funcionamiento:




Bibliografía:

https://naylampmechatronics.com/blog/11_Tutorial-de-Uso-del-M%C3%B3dulo-L298N.html


Comentarios

Entradas más populares de este blog

Seguidor de Línea

SENKU: El robot que resuelve laberintos (Fase 4)

SENKU: El robot que resuelve laberintos (Fase 2)