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.
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.
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.
Funcionamiento:
El funcionamiento del robot se basa en la siguiente
secuencia:
- 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.
- El Arduino recibe
la señal de los sensores, y envía señales al driver para mover los motores.
- El driver recibe
las señales del Arduino y mueve los motores según se indique.
- El movimiento o dirección que debe tomar el robot se explica en este diagrama:
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:
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:
Comentarios
Publicar un comentario