Taula de continguts:

Q-Bot: el solucionador de cubs de codi obert de Rubik: 7 passos (amb imatges)
Q-Bot: el solucionador de cubs de codi obert de Rubik: 7 passos (amb imatges)

Vídeo: Q-Bot: el solucionador de cubs de codi obert de Rubik: 7 passos (amb imatges)

Vídeo: Q-Bot: el solucionador de cubs de codi obert de Rubik: 7 passos (amb imatges)
Vídeo: Происхождение человека: документальный фильм об эволюционном путешествии | ОДИН КУСОЧЕК 2024, De novembre
Anonim
Image
Image
Imatge
Imatge

Imagineu-vos que teniu un cub de Rubik remenat, ja sabeu que el trencaclosques dels anys 80 que tothom té, però ningú no sap resoldre-ho i voleu tornar-lo al patró original. Per sort, en aquests dies és molt fàcil trobar instruccions per resoldre. Per tant, visiteu un vídeo en línia i apreneu a girar els costats per fer-vos goig. Després de fer-ho un parell de vegades, però, us adonareu que hi falta alguna cosa. Un forat a l'interior que no es pot omplir. Els enginyers / creadors / pirates informàtics que teniu dins de vosaltres simplement no poden estar satisfets amb resoldre alguna cosa tan sorprenent d’una manera tan senzilla. No seria molt més poètic si tinguéssiu una màquina que us resolgués tota la solució? Si haguessis construït alguna cosa, tots els teus amics quedarien meravellats? Puc garantir-vos que no serà molt millor que veure la vostra creació fer meravelles i resoldre un cub de Rubik. Vine i uneix-te a mi en el meravellós viatge de la construcció de Q-Bot, el solucionador de cubs de codi obert de Rubik que segurament no superarà els rècords mundials, però que et donarà hores d’alegria (després de passar per suposat totes les frustracions) durant el procés de construcció).

Pas 1: dissenyar el maquinari

El solucionador complet es va dissenyar amb CAD a Catia. D'aquesta manera, la majoria dels errors de disseny es podrien trobar i corregir abans de fabricar components físics. La majoria del solucionari es va imprimir en 3D en PLA mitjançant una impressora prusa MK3. A més, es va utilitzar el següent maquinari:

  • 8 peces de vareta d'alumini de 8 mm (10cm de longitud)
  • 8 coixinets de boles lineals (LM8UU)
  • una mica menys de 2 m de corretja dentada GT2 de 6 mm + algunes politges
  • 6 motors pas a pas bipolars NEMA 17
  • 6 controladors pas a pas Polulu 4988
  • un Arudino Mega com a controlador del projecte
  • una font d'alimentació de 12 V 3A
  • un convertidor de baixada per alimentar amb seguretat l’arduino
  • alguns cargols i connectors
  • una mica de contraxapat per a la base

Descripció del maquinari

En aquesta secció es descriu breument el funcionament fins i tot del Q-Bot i on s’utilitzen els components esmentats anteriorment. A continuació podeu veure una representació del model CAD completament muntat.

El Q-bot funciona tenint quatre motors connectats directament al Rubik's Cube amb pinces impreses en 3D. Això significa que l'esquerra, la dreta, la part davantera i la posterior es poden girar directament. Si cal girar la part superior o inferior, s’haurà de girar tot el cub i, per tant, s’haurà d’allunyar dos dels motors. Això es fa connectant cadascun dels motors d’adherència a trineus accionats per un altre motor pas a pas i una corretja de distribució al llarg d’un sistema de rails lineals. El sistema ferroviari consta de dos coixinets de 8 boles que es munten en cavitats del trineu i tot el trineu circula sobre dos eixos d'alumini de 8 mm. A continuació podeu veure el subconjunt d'un eix del solucionador.

L'eix x i l'eix y són bàsicament idèntics, només difereixen en l'altura del punt de muntatge de la corretja, de manera que no hi hagi col·lisions entre les dues corretges quan estiguin completament muntades.

Imatge
Imatge

Pas 2: escollir els motors adequats

Per descomptat, seleccionar els motors adequats és molt important aquí. La part principal és que han de ser prou forts per poder convertir un cub de Rubik. L'únic problema aquí és que cap fabricant de cubs de Rubik dóna una parella nominal. Per tant, vaig haver d’improvisar i fer les meves pròpies mesures.

En general, el parell es defineix per la força dirigida perpendicularment a la posició del punt de rotació a la distància r:

Imatge
Imatge
Imatge
Imatge

Per tant, si pogués mesurar d'alguna manera la força aplicada al cub, podria calcular el parell. Què és exactament el que vaig fer. Vaig fixar el cub a un prestatge de manera que només es podia moure un costat. Que es va lligar una corda al voltant del cub i una bossa fixada a la part inferior. Ara només faltava augmentar lentament el pes de la bossa fins que girés el cub. Per la manca de pesos exactes, vaig utilitzar patates i les vaig mesurar després. No és el mètode més científic, però perquè no intento trobar el parell mínim és suficient.

Imatge
Imatge

Vaig fer els mesuraments tres vegades i vaig agafar el màxim valor per estar segur. El pes resultant va ser de 0,52 kg. Ara, a causa de Sir Isaac Newton, sabem que la força és igual a l'acceleració de la massa.

Imatge
Imatge

L’acceleració, en aquest cas, és l’acceleració gravitatòria. Per tant, el parell requerit ve donat per

Imatge
Imatge

Connectar tots els valors, inclosa la meitat de la diagonal del cub de Rubik, revela finalment el parell necessari.

Imatge
Imatge

Vaig anar amb motors pas a pas que eren capaços d’aplicar fins a 0,4 Nm, que probablement és un excés, però volia estar segur.

Pas 3: construcció de la base

La base està formada per una caixa de fusta molt senzilla i conté tota l'electrònica necessària. Inclou un endoll per engegar i apagar la màquina, un LED per indicar si està encès, un port USB B i un endoll per connectar la font d'alimentació. Es va construir amb fusta contraxapada de 15 mm, uns cargols i una mica de cola.

Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge
Imatge

Pas 4: Muntatge del maquinari

Ara, amb totes les parts necessàries, inclosa la base, el Q-bot estava preparat per muntar-se. Les peces personalitzades es van imprimir en 3D i es van ajustar on calgués. Podeu descarregar tots els fitxers CAD al final d’aquest ible. El conjunt incloïa encaixar totes les peces impreses en 3D amb les peces comprades, estendre els cables del motor i cargolar totes les peces a la base. A més, he posat mànigues al voltant dels cables del motor, només per fer que sembli una mica més net, i he afegit connectors JST als seus extrems.

Per ressaltar la importància de la base que vaig construir, aquí teniu un pla abans i després de l’aspecte del conjunt. Ordenar tot una mica pot marcar una gran diferència.

Imatge
Imatge
Imatge
Imatge

Pas 5: electrònica

Pel que fa a l'electrònica, el projecte és bastant senzill. Hi ha una font d'alimentació principal de 12V, que pot alimentar fins a 3A de corrent, que alimenta els motors. S’utilitza un mòdul de descens per alimentar l’Arduino de manera segura i es va dissenyar un blindatge personalitzat per a l’Arduino que allotja tots els controladors de motor pas a pas. Els controladors faciliten molt el control dels motors. Conduir un motor pas a pas requereix una seqüència de control específica, però mitjançant l'ús de controladors de motor només necessitem generar un pols elevat per cada pas que giri el motor. A més, es van afegir alguns connectors jst al blindatge per facilitar la connexió dels motors. L'escut de l'Arduino es va construir fortament sobre un tros de perfboard i, després d'assegurar-se que tot funcionés tal com se suposava, va ser fabricat per jlc pcb.

Aquí teniu l’abans i el darrere del prototip i del PCB fabricat.

Imatge
Imatge
Imatge
Imatge

Pas 6: Interfície de programari i sèrie

El Q-Bot es divideix en dues parts. D’una banda, hi ha el maquinari que es controla mitjançant l’Arduino; de l’altra, hi ha un programari que calcula el camí de resolució del cub en funció de l’actual correcció. El microprogramari que s’executa a l’Arduino l’he escrit jo mateix, però per tal de fer breu aquesta guia no entraré en cap detall al respecte. Si voleu fer-hi una ullada i jugar-hi, l’enllaç al meu repositori de git es proporcionarà al final d’aquest document. El programari que calcula la solució s’executa en una màquina de Windows i va ser escrit per un company meu, de nou es poden trobar enllaços al seu codi font al final d’aquest ible. Les dues parts es comuniquen mitjançant una senzilla interfície en sèrie. Calcula la solució basant-se en l'algorisme de dues fases de Kociemba. El programari de resolució envia una ordre que consta de dos bytes al solucionador i espera que torni un 'ACK'. D'aquesta manera, el solucionador es pot provar i depurar mitjançant un senzill monitor en sèrie. El conjunt d’instruccions complet es pot trobar a continuació.

Imatge
Imatge

Les ordres per girar cada motor durant un pas són una solució alternativa per a un problema en què alguns dels passos realitzarien aleatòriament petits salts en engegar-se. Per compensar això, els motors es poden ajustar a la seva posició inicial abans del procés de resolució.

Pas 7: Conclusió

Després de vuit mesos desenvolupant, jurant, colpejant el teclat i ballant el Q-bot, finalment es va arribar a un punt en què es va resoldre amb èxit el seu primer cub de Rubik. La baralla del cub s’havia d’inserir manualment al programari de control, però tot funcionava bé.

Vaig afegir un muntatge per a una càmera web un parell de setmanes després i la meva universitat va ajustar el programari per llegir el cub automàticament a partir de les imatges preses. Tot i això, encara no s’ha provat bé i encara cal millorar algunes.

Imatge
Imatge

Si aquest instructiu va despertar el vostre interès, no ho dubteu i comenceu a construir la vostra pròpia versió del Q-bot. Al principi pot semblar descoratjador, però val molt la pena esforçar-vos i si ho pogués fer, també ho podeu fer vosaltres.

Recursos:

Codi font del firmware:

github.com/Axodarap/QBot_firmware

Codi font del programari de control

github.com/waldhube16/Qbot_SW

Recomanat: