Haga este robot seguidor de línea para el proyecto de la feria de ciencias

Pruebe Nuestro Instrumento Para Eliminar Los Problemas





En esta publicación, aprendemos cómo construir un circuito de robot seguidor de línea usando Arduino, que se ejecutará sobre un diseño de línea dibujado específicamente y lo seguirá fielmente siempre que esté disponible y sea rastreable por sus sensores.

Por navneet sajwan



¿Qué es un robot seguidor de línea?

Un robot autónomo es una máquina que puede realizar una serie de acciones según las instrucciones del programador, sin ser controlado manualmente por un ser humano en tiempo real.

Los seguidores de línea (LFR) también son autos robot autónomos que son guiados por uno o más sensores y una ruta de línea blanca o negra. Forman la base de los coches autónomos modernos.



Como todo robot autónomo, los seguidores de línea tienen una unidad de procesamiento de señales y toma de decisiones, sensores y actuadores. Si eres un principiante en robótica y quieres tomártelo en serio, aquí es donde debes empezar. Comencemos a hacerlo.

He utilizado dos sensores de infrarrojos y tres ruedas motrices para realizar este proyecto. El número mínimo de sensores que se pueden utilizar es uno y un máximo de ocho son suficientes para el seguimiento de línea basado en PID.

Componentes requeridos:

Arduino Uno

Chasis

Dos motores a batería (b.o.) Y neumáticos compatibles

Bola de castor

Dos sensores infrarrojos

Módulo controlador de motor

Fuente de alimentación

Arduino IDE software

Ahora, echemos un vistazo a nuestros componentes:

ARDUINO UNO : Imagínelo como la sala de control de nuestro robot. Ahora, hay muchas placas de desarrollo que se consideraron para este proyecto, pero Arduino UNO simplemente no fue rival para otras. No es que nuestro protagonista fuera superior en cuanto a sus características multidimensionales.

Si ese hubiera sido el caso, Raspberry Pi e Intel Edison lo habrían golpeado entre los ojos. Los argumentos más convincentes que llevaron a la selección de Arduino UNO se formaron por la combinación de características, precio, tamaño y requisitos para el proyecto.

Algunas razones relevantes fueron:

TALLA : Es bastante pequeño en comparación con las placas de desarrollo basadas en Atmega16 o Atmega8, consume un poco de espacio en el chasis, por lo que obtienes un bot compacto y práctico.

Esto realmente importa en las competiciones de robótica. Créeme, odiarías andar con ese robot feo y grande, cambiando de lugar todo el día.

De menor tamaño, más rápido el robot y más eficientes los giros.

MEJOR TABLERO DE PROTOTIPOS : Sin duda, Arduino UNO tiene la mejor combinación de características para prototipos . Una vez que sus circuitos estén en su lugar y su proyecto funcione perfectamente, puede reemplazarlo con algo más pequeño y más barato como Arduino Nano y Attiny85 ic.

Para aquellos que hacen seguidor de línea para proyectos universitarios, sugiero reemplazar UNO con Nano al final.

CHASIS : Es el marco que sostiene todos los componentes en su posición. Hay algunos puntos a considerar al comprar un chasis nuevo,

Debe ser ligero y resistente.

Para proyectos, es mejor comprar uno en el mercado. Pero si se está preparando para la competencia, le sugiero que personalice el suyo, teniendo en cuenta las dimensiones y los requisitos de la competencia.

Elija un chasis de plástico o madera. Cuando los marcos metálicos entran en contacto con Arduino, varios pines se acortan. Este es un factor importante en el que concentrarse mientras se busca el chasis.

Mantenga su chasis lo más bajo posible, esto le da estabilidad al bot.

MOTORES : Utilice corriente continua que funcione con pilas (B.O.) de peso ligero motores.

PELOTA CASTOR : Las ruedas normales proporcionan movimiento de traslación a lo largo de un solo eje, pero una bola giratoria está diseñada para moverse en cualquier dirección en la superficie. Nos da tracción en las tres ruedas.

La razón para preferir la tracción en las tres ruedas a las 4 ruedas se debe a su acción de giro comparativamente más rápida. Es posible que haya notado que los rickshaws atraviesan el tráfico como reptiles. Igual es el caso de nuestro robot.

SENSORES : Es un dispositivo que detecta o mide cualquier parámetro físico de nuestro entorno y lo convierte en señales eléctricas. En este caso, el parámetro detectado son los rayos infrarrojos.

Los sensores son fundamentales para cualquier robot. Bueno, si arduino es el cerebro de nuestro bot, los sensores también podrían desempeñar el papel de ojos. Aquí hay algunas cosas sobre los sensores:

Los sensores deben estar orientados de manera que los LED estén orientados hacia el suelo.

Debe colocarse en la parte frontal de su bot.

El espacio mínimo entre ellos debe ser mayor que el ancho de la línea negra.

TARJETA DE CONDUCTOR DE MOTOR : Los controladores de motor son circuitos de búfer que toman señales de bajo voltaje para encender los motores que requieren un voltaje más alto.

En nuestro caso, Arduino puede proporcionar suficiente voltaje para impulsar los motores, pero no puede proporcionar suficiente corriente. Los pines 5v y GND de Arduino UNO tienen una clasificación de corriente de 200mA, mientras que cualquier pin GPIO tiene una clasificación de 40 mA. Esto es mucho más bajo que los motores de corriente de arranque y parada que necesitamos.

Hay dos controladores de motor que prefiero para este proyecto: L298N y L293D. Ambos son igualmente adecuados para realizar este proyecto.

Aunque, L293D es comparativamente más barato pero tiene una corriente nominal baja. Sus conexiones son casi las mismas. Dado que he dado las conexiones para ambos, depende totalmente de ti cómo haces tu bot.

FUENTE DE ALIMENTACIÓN :

Utilice un adaptador de 12 V o una batería (no más de 12 voltios).

Colocación de componentes (de adelante hacia atrás):

Sensores a la cabeza de tu bot.

Rueda giratoria en el medio.

Motores y neumáticos en una línea en la parte trasera.

Conexiones:

SENSORES a ARDUINO :

Conecte el pin del sensor al pin arduino como se muestra,

Pin del sensorArduino pin
VCC (5 V)5V
TIERRA (G)GND
SENSOR IZQUIERDO FUERA (DO)pin 6
SENSOR DERECHO FUERA (DO)pin 7

Nota: Para verificar si sus sensores están encendidos, apunte la cámara de su teléfono celular al LED del transmisor de infrarrojos. Verá LED brillando en la pantalla que no puede ser visto a simple vista. Algunas cámaras modernas de teléfonos móviles tienen filtro de infrarrojos. Por lo tanto, téngalo en cuenta.

MOTOR a CONDUCTOR DE MOTOR:

Cada motor tiene dos terminales que deben conectarse al controlador del motor. Nunca intente conectarlos directamente a arduino. Mirando desde la parte posterior de su bot, con los motores cerca de usted y los sensores lejos, conéctelos de la siguiente manera:

MOTORL298NL293D
MOTOR IZQUIERDOPIN 1 Y 2PIN 7 Y 8
MOTOR DERECHOPIN 13 Y 14PIN 9 Y 10

MOTOR DRIVER to ARDUINO UNO:

CONDUCTOR DE MOTOR (L298N)ARDUINO UNO
PIN 4VINO
PIN 5GND
PIN 65V
PIN 8 y PIN 9PIN 3 y PIN 9
PIN 10 y PIN 11PIN 5 y PIN 10
PIN 7 y PIN 125V
CONDUCTOR DE MOTOR (L293D)ARDUINO UNO
PIN 3VINO
PIN 2GND
PIN 15V
PIN 5 Y PIN 6PIN 3 y PIN 9
PIN 11 Y PIN 12PIN 5 y PIN 10
PIN 4 Y PIN 55V

NOTA: Los pines 8 y 9 de l298n se utilizan para controlar el motor conectado a 1 y 2. Y, 10 y 11 controlan el motor conectado a los pines 13 y 14. De manera similar, los pines 5 y 6 de l293d se utilizan para controlar el motor conectado a 7 y 8 y, 12 y 11 controlan el motor conectado a los pines 9 y 10.

Aquí estamos chicos, hasta el final de la parte del diseño. Todavía tenemos la codificación por hacer, pero antes de eso, repasaremos los principios que permiten el seguimiento de línea.

Cómo funciona un sensor de infrarrojos:

Los sensores de infrarrojos (sensores de infrarrojos) se pueden utilizar para detectar el contraste de colores y la proximidad de los objetos. El principio que subyace al funcionamiento del sensor de infrarrojos es bastante básico.

Como podemos ver, tiene dos leds, un led emisor de infrarrojos y un fotodiodo. Actúan como par transmisor-receptor. Cuando un obstáculo se acerca a los rayos del emisor, estos se reflejan y el receptor los intercepta.

Esto genera una señal digital que se puede enviar a microcontroladores y actuadores para tomar las medidas necesarias al encontrar un obstáculo.

La física básica nos dice que un cuerpo negro absorbe toda la radiación electromagnética que incide sobre él mientras que un cuerpo blanco la refleja. Este principio es explotado por un seguidor de línea para diferenciar entre superficie blanca y negra.

Cómo funciona un robot seguidor de línea:

DISEÑO DEL SEGUIDOR DE LÍNEA

En condiciones normales, el robot se mueve de tal manera que ambos sensores están sobre blanco y la línea negra está en medio de ambos sensores.

Está programado para rotar ambos motores de modo que el robot se mueva hacia adelante.

Naturalmente, a medida que pasa el tiempo, uno de los dos sensores pasa a la línea negra.

Si el sensor izquierdo pasa la línea, los motores izquierdos se detienen y, como resultado, el robot comienza a girar hacia la izquierda a menos que el sensor izquierdo vuelva a la superficie blanca y se logre la condición normal.

De manera similar, cuando el sensor derecho pasa por una línea negra, los motores derechos se detienen y, en consecuencia, el robot gira ahora hacia la derecha a menos que el sensor regrese sobre una superficie blanca. Este mecanismo de giro se conoce como mecanismo de accionamiento diferencial.

DIAGRAMA DE CIRCUITO:

DETALLES DEL CABLEADO:

PROGRAMACIÓN Y CONCEPTOS:

Habiendo terminado con la parte del circuito, ahora pasaremos a la parte de programación. En esta sección, entenderemos el programa que controla nuestro robot. Aquí está el código: / *
|_+_|

Descripción de las funciones utilizadas:

read_sensors (): Toma las lecturas de ambos sensores y las almacena en las variables izquierda y derecha.

move_forward (): Cuando el arduino ejecuta esta función, ambos motores se mueven en la dirección de avance.

turn_left (): el motor izquierdo se detiene. Bot gira a la izquierda.

turn_right (): El motor derecho se detiene. Bot gira a la derecha.

halt (): Bot se detiene.

print_readings (): muestra las lecturas de los sensores en el monitor en serie. Para ello, debe descomentar 'Serial.begin (9600)' en la configuración vacía.

LECTURAS DEL SENSOR:

SENSOR SOBRE LINEALECTURAS DEL SENSOR
IZQUIERDADERECHO
SENSOR IZQUIERDO01
SENSOR DERECHO10
NINGUNO11
AMBOS00

CONTROL DE VELOCIDAD:

A veces, la velocidad de los motores es tan alta que antes de que arduino interprete las señales del sensor, el robot pierde la línea. En resumen, el bot no sigue la línea debido a la alta velocidad y sigue perdiendo la línea a pesar de que el algoritmo es correcto.

Para evitar tales circunstancias, disminuimos la velocidad del bot usando la técnica PWM. En el código anterior hay una variable denominada valor.

Simplemente disminuya el valor numérico en la función para disminuir la velocidad. En Arduino UNO puede tener valores de pwm entre 0 y 255 únicamente.

analogWrite (pin, valor)

0<= value <=255

Este es el final de mi post en línea seguidor. Espero que sea lo suficientemente detallado para responder a todas sus consultas candentes y si en la realidad más rara no lo es, entonces siempre tenemos la sección de comentarios disponible para usted. Comente sus dudas. ¡Que tengas un feliz retoque!




Artículo anterior: Coche robot controlado por teléfono móvil con módulo DTMF Siguiente: Interruptor de encendido / apagado de red de CA controlado por contraseña