Tabla de contenido:

Q-Bot: el solucionador de cubos de Rubik de código abierto: 7 pasos (con imágenes)
Q-Bot: el solucionador de cubos de Rubik de código abierto: 7 pasos (con imágenes)

Video: Q-Bot: el solucionador de cubos de Rubik de código abierto: 7 pasos (con imágenes)

Video: Q-Bot: el solucionador de cubos de Rubik de código abierto: 7 pasos (con imágenes)
Video: how i made my Rubik's cube solving robot , for less than 30$ ! 2024, Noviembre
Anonim
Image
Image
Imagen
Imagen

Imagina que tienes un cubo de Rubik revuelto, conoces ese rompecabezas de los 80 que todo el mundo tiene pero que nadie sabe realmente cómo resolverlo y quieres devolverlo a su patrón original. Afortunadamente en estos días es muy fácil encontrar instrucciones de resolución. Por lo tanto, conéctese a Internet, mire un video y aprenda cómo girar los lados para brindarle alegría. Sin embargo, después de hacerlo un par de veces, se dará cuenta de que falta algo. Un agujero en el interior que no se puede llenar. Los ingenieros / creadores / hackers que hay dentro de ti simplemente no pueden estar satisfechos con resolver algo tan asombroso de una manera tan simple. ¿No sería mucho más poético si tuvieras una máquina que hiciera todo el trabajo por ti? ¿Si hubieras construido algo que sorprendería a todos tus amigos? Puedo garantizarle que no hay nada mejor que ver su creación hacer maravillas y resolver un cubo de Rubik. Entonces, ven y únete a mí en el maravilloso viaje de construir Q-Bot, el solucionador de cubos de Rubik de código abierto que seguramente no batirá ningún récord mundial, pero te dará horas de alegría (después de pasar por todas las frustraciones durante el proceso de construcción).

Paso 1: diseño del hardware

El solucionador completo fue diseñado con CAD en Catia. De esta forma, la mayoría de los errores de diseño se pueden encontrar y corregir antes de fabricar cualquier componente físico. La mayor parte del solucionador se imprimió en 3D en PLA utilizando una impresora prusa MK3. Además, se utilizó el siguiente hardware:

  • 8 piezas de varilla de aluminio de 8 mm (10 cm de longitud)
  • 8 rodamientos lineales de bolas (LM8UU)
  • un poco menos de 2 m de correa de distribución GT2 de 6 mm + algunas poleas
  • 6 motores paso a paso bipolares NEMA 17
  • 6 controladores paso a paso Polulu 4988
  • un Arudino Mega como controlador del proyecto
  • una fuente de alimentación de 12 V 3A
  • un convertidor reductor para alimentar de forma segura el arduino
  • algunos tornillos y conectores
  • un poco de madera contrachapada para la base

Descripción del hardware

Esta sección cubre brevemente cómo funciona el Q-Bot y dónde se utilizan los componentes mencionados anteriormente. A continuación puede ver una representación del modelo CAD completamente ensamblado.

El Q-bot funciona con cuatro motores conectados directamente al cubo de Rubik con pinzas impresas en 3D. Esto significa que se pueden girar directamente hacia la izquierda, derecha, adelante y atrás. Si es necesario girar el lado superior o el inferior, se debe girar todo el cubo y, por lo tanto, se deben alejar dos de los motores. Esto se hace conectando cada uno de los motores de agarre en trineos impulsados por otro motor paso a paso y una correa de distribución a lo largo de un sistema de riel lineal. El sistema de rieles consta de dos rodamientos de 8 bolas que se montan en las cavidades del trineo y todo el trineo se desplaza sobre dos ejes de aluminio de 8 mm. A continuación puede ver el subensamblaje de un eje del solucionador.

El eje xy el eje y son básicamente idénticos, solo difieren en la altura del punto de montaje del cinturón, esto es para que no haya colisiones entre los dos cinturones cuando están completamente ensamblados.

Imagen
Imagen

Paso 2: elegir los motores adecuados

Por supuesto, aquí es muy importante seleccionar los motores adecuados. La parte principal es que deben ser lo suficientemente fuertes para poder girar un cubo de Rubik. El único problema aquí es que ningún fabricante de cubos de Rubik da una clasificación de torque. Entonces, tuve que improvisar y hacer mis propias medidas.

Generalmente, el par se define por la fuerza dirigida perpendicularmente a la posición del punto de rotación a la distancia r:

Imagen
Imagen
Imagen
Imagen

Entonces, si pudiera medir de alguna manera la fuerza aplicada al cubo, podría calcular el torque. Que es exactamente lo que hice. Sujete mi cubo a un estante de una manera que solo un lado pudiera moverse. Que se ató una cuerda alrededor del cubo y una bolsa en la parte inferior. Ahora todo lo que quedaba por hacer era aumentar lentamente el peso de la bolsa hasta que el cubo girara. Por la falta de pesos precisos, usé papas y las medí después. No es el método más científico, pero como no estoy tratando de encontrar el par mínimo, es suficiente.

Imagen
Imagen

Hice las mediciones tres veces y tomé el valor más alto solo para estar seguro. El peso resultante fue de 0,52 kg. Ahora, gracias a Sir Isaac Newton, sabemos que la Fuerza es igual a la masa por la aceleración.

Imagen
Imagen

La aceleración, en este caso, es la aceleración gravitacional. Entonces el par requerido viene dado por

Imagen
Imagen

Al conectar todos los valores, incluida la mitad de la diagonal del cubo de Rubik, finalmente se revela el par requerido.

Imagen
Imagen

Fui con motores paso a paso que pueden aplicar hasta 0,4 Nm, lo que probablemente sea una exageración, pero quería estar seguro.

Paso 3: construcción de la base

La base consta de una caja de madera muy sencilla y alberga toda la electrónica necesaria. Cuenta con un enchufe para encender y apagar la máquina, un LED para indicar si está encendida, un puerto USB B y una toma de corriente para enchufar la fuente de alimentación. Se construyó con madera contrachapada de 15 mm, algunos tornillos y un poco de pegamento.

Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen
Imagen

Paso 4: Montaje del hardware

Ahora, con todas las piezas necesarias, incluida la base, el Q-bot estaba listo para ensamblar. Las piezas personalizadas se imprimieron en 3D y se ajustaron donde fue necesario. Puede descargar todos los archivos CAD al final de este ible. El montaje incluyó ajustar todas las piezas impresas en 3D con las piezas compradas, extender los cables del motor y atornillar todas las piezas a la base. Además, coloqué fundas alrededor de los cables del motor, solo para que se vieran un poco más ordenadas, y agregué conectores JST en sus extremos.

Para resaltar la importancia de la base que construí, aquí hay una toma de antes y después de cómo se veía el ensamblaje. Poner todo un poco en orden puede marcar una gran diferencia.

Imagen
Imagen
Imagen
Imagen

Paso 5: Electrónica

En cuanto a la electrónica, el proyecto es bastante sencillo. Hay una fuente de alimentación principal de 12 V, que puede entregar hasta 3 A de corriente, que alimenta los motores. Se utiliza un módulo reductor para alimentar de forma segura el Arduino y se diseñó un escudo personalizado para el Arduino que alberga todos los controladores del motor paso a paso. Los controladores facilitan mucho el control de los motores. Conducir un motor paso a paso requiere una secuencia de control específica, pero al usar controladores de motor solo necesitamos generar un pulso alto para cada paso que gire el motor. Además, se agregaron algunos conectores jst al blindaje para facilitar la conexión de los motores. El escudo para Arduino se construyó por primera vez en una pieza de perfboard y después de asegurarse de que todo funciona como se suponía, fue fabricado por jlc pcb.

Aquí está el antes y el después del prototipo y la PCB fabricada.

Imagen
Imagen
Imagen
Imagen

Paso 6: Software e interfaz serial

El Q-Bot se divide en dos partes. Por un lado, está el hardware que es controlado por Arduino, por otro lado, hay una pieza de software que calcula la ruta de resolución del cubo en función de la codificación actual. El firmware que se ejecuta en Arduino fue escrito por mí mismo, pero para que esta guía sea breve, no entraré en detalles al respecto aquí. Si desea echarle un vistazo y jugar con él, el enlace a mi repositorio de git se proporcionará al final de este documento. El software que calcula la solución se ejecuta en una máquina con Windows y fue escrito por un colega mío; de nuevo, se pueden encontrar enlaces a su código fuente al final de este ible. Las dos partes se comunican mediante una sencilla interfaz en serie. Calcula la solución con base en el algoritmo de dos fases de Kociemba. El software de resolución envía un comando que consta de dos bytes al solucionador y espera a que devuelva un "ACK". De esta manera, el solucionador se puede probar y depurar utilizando un monitor en serie simple. El conjunto de instrucciones completo se puede encontrar a continuación.

Imagen
Imagen

Los comandos para hacer girar cada motor en un paso son una solución para un problema en el que algunos de los motores paso a paso realizarían pequeños saltos aleatoriamente al encenderse. Para compensar esto, los motores se pueden ajustar a su posición inicial antes del proceso de resolución.

Paso 7: Conclusión

Después de ocho meses de desarrollar, maldecir, tocar el teclado y bailar, el Q-bot finalmente llegó a un punto en el que se resolvió con éxito su primer Cubo de Rubik. La mezcla del cubo tuvo que insertarse manualmente en el software de control, pero todo funcionó bien.

Agregué un soporte para una cámara web un par de semanas después y mi universidad ajustó el software para leer el cubo automáticamente a partir de las imágenes tomadas. Sin embargo, esto aún no se ha probado bien y todavía necesita algunas mejoras.

Imagen
Imagen

Si este instructivo despertó su interés, no lo dude y comience a construir su propia versión del Q-bot. Puede parecer abrumador al principio, pero vale la pena el esfuerzo y, si yo puedo hacerlo, tú también puedes.

Recursos:

Código fuente del firmware:

github.com/Axodarap/QBot_firmware

Código fuente del software de control

github.com/waldhube16/Qbot_SW

Recomendado: