Pizarra blanca para el aula de Wallrides del seguidor de línea de Arduino: 8 pasos (con imágenes)
Pizarra blanca para el aula de Wallrides del seguidor de línea de Arduino: 8 pasos (con imágenes)
Anonim
Image
Image

¡Seguir la línea en el suelo es demasiado aburrido!

Hemos intentado mirar desde un ángulo diferente a los seguidores de línea y llevarlos a otro plano: a la pizarra de la escuela.

¡Mira lo que salió de eso!

Paso 1: ¿Qué necesitas?

¿Cómo ensamblar? Ensamble el chasis
¿Cómo ensamblar? Ensamble el chasis

Para un robot de carreras:

Mecánica:

1 x chasis de robot miniQ 2WD; Es una plataforma multifuncional para crear robots simples de dos ruedas

Micro motorreductor de 2 x 6V con relación de reducción 1: 150; Los motorreductores incluidos con la plataforma del robot miniQ tienen una relación de transmisión de 1:50 y son demasiado rápidos. Deben ser reemplazados por motores más fuertes, por ejemplo, con una relación de transmisión de 1: 150 o superior. Cuanto mayor sea la relación de transmisión, más lento se desplazará el robot sobre la pizarra, pero menor será la posibilidad de que las ruedas patinen

4 x imán de neodimio; Necesita imanes pequeños de 3 mm de grosor con 12 mm de diámetro (para aquellos con forma redonda) o con el lado de 12 mm (para aquellos con forma cuadrada). Además, los imanes deben tener un orificio para el tornillo de la máquina con una cabeza avellanada, generalmente para el M3. A veces, los fabricantes especifican la fuerza del acoplamiento magnético. Debe estar en el rango de 2 kg a 2,4 kg

Electrónica:

1 x Arduino UNO; La computadora de a bordo. La plataforma de creación de prototipos más popular

1 x módulo Octoliner; Ojos y faros de tu robot de carreras. Octoliner es un sensor de línea fría que consta de 8 sensores infrarrojos separados controlados a través de una interfaz I2C

1 x protector de motor; Casi cualquier módulo le conviene. Usé este analógico basado en el chip L298p

1 x batería LiPo de 7,4 V de 2 celdas; Puede dar una gran corriente que los motores necesitan para superar la atracción de los imanes. La batería de 2 celdas tiene un voltaje en el rango de 7,4 V a 8,4 V. Es suficiente para motores de 6 V y el regulador de voltaje incorporado en la placa Arduino. Se puede seleccionar cualquier capacidad. Cuanto más amplia es la batería, más tiempo conduce el robot, pero tenga en cuenta que una batería demasiado potente puede resultar pesada. La capacidad en el rango de 800 mAh a 1300 mAh es óptima

Diverso:

4 x cable macho-hembra;

4 x espaciador M3 o separador macho-hembra con una longitud de 10 mm;

3 espaciadores M3 o separadores macho-hembra con una longitud de 25 mm o más;

4 tornillos de cabeza plana avellanada M3x8;

1 x tornillo de nailon M3;

1 x tuerca hexagonal de nailon M3;

Cualquier tornillo M3 y tuerca hexagonal

Para un salón de clases:

Pizarra magnética colgada en la pared;

Marcadores de pizarra magnéticos negros gruesos;

Cargador de batería especial LiPo o cargadores múltiples si quieres hacer muchos robots y cargarlos por separado

Paso 2: ¿Cómo ensamblar? Ensamble el chasis

Al principio, debe ensamblar los motores de reemplazo previo de la plataforma del chasis miniQ del kit por otros más potentes con una relación de transmisión de 1: 150. ¡No olvides soldar los cables a los contactos del motor!

Paso 3: ¿Cómo ensamblar? Instale imanes

¿Cómo ensamblar? Instale imanes
¿Cómo ensamblar? Instale imanes

Instale los imanes en la plataforma miniQ. Utilice separadores M3x10, tornillos avellanados planos M3x8 o M3x6 y tuercas M3. Los orificios de instalación necesarios se muestran en la imagen.

¡Eso es importante!

La longitud de los separadores debe ser exactamente de 10 mm. Después de instalar los imanes, pruebe la plataforma en la pizarra. Los cuatro imanes deben estar adyacentes al tablero magnético y los neumáticos de goma de las ruedas de la plataforma miniQ deben estar precargados y proporcionar algo de fricción con la superficie del tablero.

Mueva manualmente el robot por el tablero. Durante el viaje, los imanes no deben salirse de la tabla. Si se desprende algún imán, significa que los neumáticos de goma de las ruedas se cargan al máximo. En este caso, aumente la distancia de 10 mm de todos los separadores en 1 o 2 mm agregando un par de arandelas M3 y vuelva a intentarlo.

Paso 4: ¿Cómo ensamblar? Agregue Electrónica

¿Cómo ensamblar? Agregue Electrónica
¿Cómo ensamblar? Agregue Electrónica

Monte la placa Arduino UNO en la plataforma utilizando separadores M3x25, tornillos M3 y tuercas M3. No use separadores cortos, deje algo de espacio debajo de la placa Arduino para cables y batería.

Instale el protector del motor en la placa Arduino UNO.

Instale el módulo Octoliner. Presiónelo contra la plataforma con un tornillo y una tuerca de nailon M3.

¡Eso es importante!

No utilice sujetadores de metal para montar el Octoliner. Algunos orificios de montaje en la placa de conexión están soldados y se utilizan como pines IO. Para evitar cortocircuitos, utilice sujetadores de plástico, por ejemplo, nailon.

Paso 5: ¿Cómo ensamblar? Alambrado

¿Cómo ensamblar? Alambrado
¿Cómo ensamblar? Alambrado

Conecte todos los componentes electrónicos como se muestra en el diagrama. El módulo Octoliner está conectado a través de 4 cables (GND, 5V, SDA, SCL) al Arduino UNO. Conecte los motores al blindaje del motor. La batería LiPo está vinculada a las almohadillas de contacto de la fuente de alimentación externa en el protector del motor, así como al pin VIN en la placa Arduino. En lugar de utilizar el pin VIN, puede utilizar el enchufe de alimentación de 5,5 mm x 2,1 mm en la placa.

¡Eso es importante!

Cuando se utiliza el blindaje del motor, no se necesitan cables. Dos canales de motor están controlados por 4 pines. 2 pines PWM son responsables de la velocidad de rotación mientras que 2 pines DIR de la dirección de rotación. Por lo general, ya están vinculados con pines específicos de la placa Arduino y sus números de índice pueden diferir según el fabricante del escudo. Por ejemplo, para mi escudo de motor, los números son D4 D5 (DIR y PWM para el primer canal) y D7 D6 (DIR y PWM para el segundo canal). Para el escudo del motor Arduino original, los números de pines corresponden a D12 D3 (DIR y PWM para el primer canal) y D13 D11 (DIR y PWM para el segundo canal).

¡Eso es importante!

¡Las baterías Hobby LiPo no tienen una placa de protección de polaridad inversa! Un cortocircuito accidental de los contactos positivo y negativo provocará una falla permanente de la batería o un incendio.

Paso 6: ¿Cómo programar? XOD

Hacer un programa para un robot de carreras de este tipo es incluso más fácil que ensamblarlo.

En todos mis proyectos utilizo el entorno de programación visual XOD que me permite crear programas Arduino gráficamente sin escribir código. Este entorno es ideal para la creación rápida de prototipos de dispositivos o el aprendizaje de algoritmos de programación. Siga la página web de documentación de XOD para leer más.

Para programar este robot, debe agregar solo una biblioteca amperka / octoliner en su espacio de trabajo XOD. Es necesario para trabajar con un sensor de línea de ocho canales.

Paso 7: ¿Cómo programar? Parche

¿Cómo programar? Parche
¿Cómo programar? Parche

El programa se basa en el principio de funcionamiento del controlador PID. Si desea saber qué es el controlador PID y cómo funciona, puede leer otro artículo sobre este tema.

Eche un vistazo al parche con el programa del robot. Veamos qué nodos están presentes en él y cómo funciona todo.

octoliner-line

Es un nodo de inicio rápido de la biblioteca XOD amperka / octoliner que representa el módulo Octoliner que rastrea la línea. Emite el "valor de seguimiento de línea" que se encuentra en el rango de -1 a 1. El valor 0 muestra que la línea está en la posición central en relación con los sensores infrarrojos en la placa Octoliner (entre CH3 y CH4). El valor -1 corresponde a la posición extrema izquierda (CH0) mientras que el 1 al extremo derecho (CH1). El nodo de arranque inicializa los sensores del optoacoplador y configura sus parámetros predeterminados de brillo y sensibilidad. Las entradas para este nodo son la dirección I2C del dispositivo (ADDR para la placa Octoliner es 0x1A) y la tasa de actualización del valor de seguimiento de línea (UPD), la configuro de forma continua.

Los valores de seguimiento de línea se envían directamente al nodo controlador pid.

controlador pid

Este nodo implementa el trabajo del controlador PID en XOD. El valor objetivo (TARG) es 0. Es el estado en el que la línea está exactamente en el centro debajo del robot. Si el valor de seguimiento de línea es 0, el controlador PID se restablece mediante el pin RST. Si el valor de seguimiento de línea es diferente de 0, el controlador PID lo convierte usando los coeficientes Kp, Ki, Kd en los valores de velocidad del motor. Los valores de los coeficientes se seleccionaron experimentalmente e iguales a 1, 0,2 y 0,5, respectivamente. La tasa de actualización (UPD) del controlador PID se establece en continuo.

El valor procesado del controlador PID se resta del 1 y se suma al 1. Se hace para desincronizar los motores, para hacerlos girar en direcciones opuestas cuando se pierde la línea. El valor 1 en estos nodos representa la velocidad máxima de los motores. Puede reducir la velocidad ingresando el valor más bajo.

h-bridge-dc-motor

Un par de estos nodos son responsables de controlar los motores de robot izquierdo y derecho. Aquí configure los valores de los pines PWM y DIR a través de los cuales opera el escudo de su motor.

Actualiza el parche y prueba tu robot de carreras. Si sigue exactamente las instrucciones de montaje, no necesita cambiar el parche ni ajustar el controlador PID. La configuración especificada es bastante óptima.

El programa terminado se puede encontrar en la biblioteca gabbapeople / whiteboard-carreras

Paso 8: escaparate y consejos