Robot seguidor de línea de velocidad V4
Por: Alexander Masdeu
Este es mi robot seguidor de líneas (Versión 4). A diferencia del anterior, yo he realizado el diseño del circuito impreso (Chasis).
Este kit incluye los siguientes componentes:
1 | |
4 |
LED SMD 1206 Azul |
1 |
LED SMD 1206 Verde |
8 |
Resistencia SMD 1206 220 ohms |
11 |
Resistencia SMD 1206 10k ohms |
5 |
Resistencia SMD 1206 330 ohms |
3 |
Capacitor SMD 1206 0.1 uF |
1 |
Rueda loca 3/8" |
1 | |
2 |
Baterías 14500 3.7V |
1 | |
1 | |
1 |
Destornillador |
Historia
En el siguiente video muestro las pruebas realizadas con el Mini Motor Driver (MX1508).
En el siguiente video muestro las pruebas con los 8 sensores CNY70. Estos sensores se miden analógicamente, a través de los puertos A0 a A7 del Arduino Nano. Utilizo un algoritmo inicial para calibrar los sensores normalizando el rango de 0 a 1000, donde 0 representa el fondo blanco y 1000 la línea negra. Al completar la calibración, ingresa al lazo e inicia el ciclo de lectura, calculando la posición de 0 a 7000, que representa el sensor izquierdo al sensor derecho respectivamente. Este valor de posición se utiliza para calcular el error proporcional P. El rango de P es de -3500 (izquierda) a 3500 (derecha), siendo 0 el valor central. El algoritmo memoriza el valor de la posición del último sensor (izquierdo o derecho) que detectó la línea negra, esto con el propósito de utilizar estos datos para acciones de frenado y recuperación de línea.
La prueba final con el circuito montado al 95%, se muestra en el siguiente video. Una última prueba de amperaje con un consumo máximo de 200 mA.
Esta es la última versión del circuito impreso del robot, lista para ser fabricad.
Este es el unboxing.
Finalmente y con mucho esfuerzo ya tengo el prototipo totalmente construido, a continuación muestro cómo cargar el código (Code Load Mode), cómo se pueden probar los sensores y por supuesto las pruebas en pista. Muy contento con la operación, el código de prueba logra controlar muy bien el código. He utilizado un algoritmo PID (Full) para suavizar las correcciones y recuperar el curso de la línea. Como todo se puede mejorar, seguiré jugando con el código para lograr una versión más eficiente.
Deja un comentario