Sommario:
- Passaggio 1: progettazione dell'hardware
- Passaggio 2: scegliere i motori giusti
- Passaggio 3: costruzione della base
- Passaggio 4: assemblaggio dell'hardware
- Passaggio 5: elettronica
- Passaggio 6: software e interfaccia seriale
- Passaggio 7: conclusione
Video: Q-Bot - il risolutore del cubo di Rubik open source: 7 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:00
Immagina di avere un cubo di Rubik strapazzato, conosci quel puzzle degli anni '80 che tutti hanno ma nessuno sa davvero come risolverlo e vuoi riportarlo nel suo schema originale. Fortunatamente in questi giorni è molto facile trovare istruzioni per la risoluzione. Quindi, vai online guarda un video e impara a girare i lati per portarti gioia. Dopo averlo fatto un paio di volte, però, ti renderai conto che manca qualcosa. Un buco dentro che non può essere riempito. Gli ingegneri/maker/hacker dentro di te semplicemente non possono essere soddisfatti di risolvere qualcosa di così sorprendente in un modo così semplice. Non sarebbe molto più poetico se tu avessi una macchina che risolvesse tutto per te? Se avessi costruito qualcosa di cui tutti i tuoi amici sarebbero rimasti stupiti? Posso garantirti che non c'è niente di meglio che guardare la tua creazione fare miracoli e risolvere un cubo di Rubik. Quindi, vieni e unisciti a me nel meraviglioso viaggio di costruzione di Q-Bot, il risolutore di cubi di Rubik open source che sicuramente non batterà nessun record mondiale, ma ti darà ore di gioia (dopo ovviamente aver attraversato tutte le frustrazioni durante il processo edilizio).
Passaggio 1: progettazione dell'hardware
Il risolutore completo è stato progettato con CAD in Catia. In questo modo è stato possibile trovare e correggere la maggior parte degli errori di progettazione prima di produrre qualsiasi componente fisico. La maggior parte del risolutore è stata stampata in 3D in PLA utilizzando una stampante prusa MK3. Inoltre, è stato utilizzato il seguente hardware:
- 8 pezzi di asta in alluminio da 8 mm (lunghezza 10 cm)
- 8 cuscinetti a sfere lineari (LM8UU)
- poco meno di 2 m di cinghia dentata GT2 da 6 mm + alcune pulegge
- 6 motori passo-passo bipolari NEMA 17
- 6 driver passo-passo Polulu 4988
- un Arudino Mega come controller del progetto
- un alimentatore da 12 V 3A
- un convertitore step-down per alimentare in sicurezza l'arduino
- alcune viti e connettori
- un po' di compensato per la base
Descrizione dell'hardware
Questa sezione descrive brevemente come funziona anche il Q-Bot e dove vengono utilizzati i componenti sopra menzionati. Di seguito puoi vedere un rendering del modello CAD completamente assemblato.
Il Q-bot funziona con quattro motori collegati direttamente al cubo di Rubik con pinze stampate in 3D. Ciò significa che è possibile girare direttamente a sinistra, a destra, davanti e dietro. Se è necessario ruotare il lato superiore o inferiore, l'intero cubo deve essere ruotato e quindi due dei motori devono essere allontanati. Questo viene fatto attaccando ciascuno dei motori di presa su slitte azionate da un altro motore passo-passo e una cinghia di distribuzione lungo un sistema di binari lineari. Il sistema di binari è costituito da due 8 cuscinetti a sfera montati nelle cavità della slitta e l'intera slitta scorre su due alberi in alluminio da 8 mm. Sotto puoi vedere il sottoassieme di un asse del risolutore.
Gli assi x e y sono sostanzialmente identici differiscono solo per l'altezza del punto di montaggio della cinghia, questo in modo che non ci siano collisioni tra le due cinghie quando sono completamente assemblate.
Passaggio 2: scegliere i motori giusti
Naturalmente, la selezione dei motori giusti è molto importante qui. La parte principale è che devono essere abbastanza forti da poter girare un cubo di Rubik. L'unico problema qui è che nessun produttore di cubi di Rubik fornisce una coppia nominale. Quindi, ho dovuto improvvisare e fare le mie misurazioni.
Generalmente la coppia è definita dalla forza diretta perpendicolarmente alla posizione del punto di rotazione alla distanza r:
Quindi, se potessi in qualche modo misurare la forza applicata al cubo, potrei calcolare la coppia. Che è esattamente quello che ho fatto. Ho fissato il mio cubo a uno scaffale in modo che solo un lato potesse muoversi. Che una corda è stata legata attorno al cubo e una borsa attaccata sul fondo. Ora non restava che aumentare lentamente il peso nel sacco fino a far girare il cubo. Per la mancanza di pesi precisi ho usato le patate e le ho misurate in seguito. Non è il metodo più scientifico ma poiché non sto cercando di trovare la coppia minima è abbastanza sufficiente.
Ho fatto le misurazioni tre volte e ho preso il valore più alto solo per essere sicuro. Il peso risultante era di 0,52 kg. Ora, grazie a Sir Isaac Newton, sappiamo che la Forza è uguale alla massa per l'accelerazione.
L'accelerazione, in questo caso, è l'accelerazione gravitazionale. Quindi la coppia richiesta è data da
Inserendo tutti i valori, inclusa metà della diagonale del cubo di Rubik, si scopre finalmente la coppia richiesta.
Sono andato con motori passo-passo in grado di applicare fino a 0,4 Nm, il che è probabilmente eccessivo, ma volevo essere al sicuro.
Passaggio 3: costruzione della base
La base è costituita da una scatola di legno molto semplice e ospita tutta l'elettronica necessaria. È dotato di una spina per accendere e spegnere la macchina, un LED per indicare se è accesa, una porta USB B e una presa per l'alimentazione da collegare. È stato costruito utilizzando compensato da 15 mm, alcune viti e un po' di colla.
Passaggio 4: assemblaggio dell'hardware
Ora con tutte le parti necessarie, inclusa la base, il Q-bot era pronto per essere assemblato. Le parti personalizzate sono state stampate in 3D e adattate dove necessario. È possibile scaricare tutti i file CAD alla fine di questo ible. L'assemblaggio includeva il montaggio di tutte le parti stampate in 3D con le parti acquistate, l'estensione dei cavi del motore e l'avvitamento di tutte le parti alla base. Inoltre, ho messo delle guaine attorno ai cavi del motore, solo per rendere l'aspetto un po' più ordinato, e ho aggiunto connettori JST alle loro estremità.
Per evidenziare l'importanza della base che ho costruito, ecco uno scatto prima e dopo di come appariva l'assemblaggio. Riordinare un po' tutto può fare una grande differenza.
Passaggio 5: elettronica
Per quanto riguarda l'elettronica il progetto è piuttosto semplice. C'è un alimentatore principale da 12V, che può fornire fino a 3A di corrente, che alimenta i motori. Un modulo step-down viene utilizzato per alimentare in sicurezza Arduino ed è stato progettato uno shield personalizzato per Arduino che ospita tutti i driver del motore passo-passo. I driver rendono il controllo dei motori molto più semplice. Guidare un motore passo-passo richiede una sequenza di controllo specifica, ma utilizzando i driver del motore abbiamo solo bisogno di generare un impulso alto per ogni passo che il motore deve girare. Inoltre, allo shield sono stati aggiunti alcuni connettori jst per facilitare il collegamento dei motori. Lo shield per Arduino è stato inizialmente costruito su un pezzo di perfboard e dopo essersi assicurati che tutto funzionasse come doveva è stato prodotto da jlc pcb.
Ecco il prima e il dopo del prototipo e del pcb realizzato.
Passaggio 6: software e interfaccia seriale
Il Q-Bot è diviso in due parti. Da un lato c'è l'hardware che viene controllato da Arduino, dall'altro c'è un software che calcola il percorso di risoluzione del cubo in base allo scramble corrente. Il firmware in esecuzione su Arduino è stato scritto da me, ma per mantenere breve questa guida non entrerò nei dettagli qui. Se desideri dargli un'occhiata e giocarci un po', il link al mio repository git verrà fornito alla fine di questo documento. Il software che calcola la soluzione funziona su una macchina Windows ed è stato scritto da un mio collega, di nuovo i collegamenti al suo codice sorgente si trovano alla fine di questo ible. Le due parti comunicano utilizzando una semplice interfaccia seriale. Calcola la soluzione in base all'algoritmo a due fasi di Kociemba. Il software di risoluzione invia un comando composto da due byte al risolutore e attende che restituisca un "ACK". In questo modo il risolutore può essere testato ed eseguito il debug utilizzando un semplice monitor seriale. Il set di istruzioni completo è disponibile di seguito.
I comandi per far girare ogni motore per un passo sono una soluzione per un problema in cui alcuni degli stepper eseguirebbero casualmente piccoli salti all'accensione. Per compensare ciò, i motori possono essere regolati nella loro posizione iniziale prima del processo di risoluzione.
Passaggio 7: conclusione
Dopo otto mesi di sviluppo, parolacce, pressioni sulla tastiera e balli, il Q-bot è finalmente arrivato a un punto in cui è stato risolto con successo il suo primo cubo di Rubik. Lo scramble del cubo doveva essere inserito manualmente nel software di controllo, ma tutto ha funzionato bene.
Ho aggiunto un supporto per una webcam un paio di settimane dopo e il mio college ha adattato il software per leggere automaticamente il cubo dalle immagini scattate. Tuttavia, questo non è ancora stato testato bene e necessita ancora di alcuni miglioramenti.
Se questa istruzione ha suscitato il tuo interesse, non esitare e inizia a costruire la tua versione personale del Q-bot. All'inizio potrebbe sembrare scoraggiante, ma ne vale davvero la pena e se potessi farlo, puoi farlo anche tu.
Risorse:
Codice sorgente del firmware:
github.com/Axodarap/QBot_firmware
Codice sorgente del software di controllo
github.com/waldhube16/Qbot_SW
Consigliato:
Risolutore bendato del cubo di Rubik in tempo reale utilizzando Raspberry Pi e OpenCV: 4 passaggi
Risolutore bendato del cubo di Rubik in tempo reale utilizzando Raspberry Pi e OpenCV: questa è la seconda versione dello strumento cubo di Rubik realizzato per la risoluzione con gli occhi bendati. La prima versione è stata sviluppata da javascript, puoi vedere il progetto RubiksCubeBlindfolded1 A differenza della precedente, questa versione utilizza la libreria OpenCV per rilevare i colori ed e
Lampada cubo di Rubik wireless con facile inclinazione e cambio colore: 10 passaggi (con immagini)
Lampada cubo di Rubik senza fili che cambia facilmente colore con inclinazione: oggi costruiremo questa fantastica lampada a cubo di Rubik che cambia colore in base a quale lato è rivolto verso l'alto. Il cubo funziona con una piccola batteria LiPo, caricata da un cavo micro-usb standard e, nei miei test, ha una durata della batteria di diversi giorni. Questo
Cubo di Rubik dell'unità flash USB funzionale: 7 passaggi (con immagini)
Chiavetta USB Funzionale Cubo di Rubik: In questo tutorial ti mostrerò come creare la tua chiavetta USB Rubik Puoi vedere il prodotto finito nel seguente video:
Arduino Mega Stepper Shield per un risolutore di cubi di Rubik: 4 passaggi
Arduino Mega Stepper Shield per un risolutore di cubi di Rubik: Tempo fa stavo lavorando su una macchina che risolve automaticamente qualsiasi cubo di Rubik 3x3 criptato. Puoi vedere le mie istruzioni su questo qui. Nel progetto sono stati utilizzati driver passo-passo di polulu per azionare sei motori. Per due fare il collegamento di questi d
Cubo magico o cubo con microcontrollore: 7 passaggi (con immagini)
Cubo magico o cubo microcontrollore: in questo Instructables, ti mostrerò come creare un cubo magico da un microcontrollore difettoso. Questa idea è venuta da quando ho preso il microcontrollore ATmega2560 difettoso da Arduino Mega 2560 e ho creato un cubo .Riguardo all'hardware Magic Cube, ho fatto come