Cuprins:
- Pasul 1: Proiectarea hardware-ului
- Pasul 2: Alegerea motoarelor potrivite
- Pasul 3: Construirea bazei
- Pasul 4: Asamblarea hardware-ului
- Pasul 5: Electronică
- Pasul 6: Software și interfață serială
- Pasul 7: Concluzie
Video: Q-Bot - Open Source Rubik's Cube Solver: 7 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:42
Imaginați-vă că aveți un cub Rubik amestecat, știți că puzzle-ul din anii 80 pe care îl are toată lumea, dar nimeni nu știe cu adevărat cum să rezolve și doriți să îl readuceți în modelul său original. Din fericire în aceste zile este foarte ușor să găsiți instrucțiuni de rezolvare. Deci, mergeți online uitați-vă la un videoclip învățați cum să întoarceți părțile laterale pentru a vă aduce bucurie. Cu toate acestea, după ce o faci de câteva ori, îți vei da seama că lipsește ceva. O gaură în interior care nu poate fi umplută. Inginerii / producătorul / hackerul din voi pur și simplu nu pot fi mulțumiți să rezolve ceva atât de uimitor într-un mod atât de simplu. Nu ar fi mult mai poetic dacă ai avea o mașinărie care să rezolve toate problemele pentru tine? Dacă ai fi construit ceva, toți prietenii tăi ar fi uimiți? Vă pot garanta că nu devine mult mai bun decât să vă uitați la creația dvs. făcând minuni și rezolvând un cub Rubik. Așadar, vino și alătură-te mie în minunata călătorie a construirii Q-Bot, soluția open source Rubik's Cube Solver care, cu siguranță, nu va bate niciun record mondial, dar îți va oferi ore de bucurie (după ce, desigur, ai trecut prin toate frustrările în timpul procesului de construire).
Pasul 1: Proiectarea hardware-ului
Solverul complet a fost proiectat cu CAD în Catia. În acest fel, majoritatea erorilor de proiectare ar putea fi găsite și corectate înainte de fabricarea oricăror componente fizice. Majoritatea solverului a fost tipărit 3D în PLA utilizând o imprimantă prusa MK3. În plus, a fost utilizat următorul hardware:
- 8 bucăți de tijă de aluminiu de 8 mm (lungime 10cm)
- 8 rulmenți liniari cu bile (LM8UU)
- puțin sub 2 m de curea de distribuție GT2 6mm + niște scripete
- 6 motoare pas cu pas bipolare NEMA 17
- 6 drivere pas cu pas Polulu 4988
- un Arudino Mega ca controlor al proiectului
- o sursă de alimentare de 12 V 3A
- un convertor step down pentru a alimenta în siguranță arduino
- niște șuruburi și conectori
- niște placaj pentru bază
Descrierea hardware-ului
Această secțiune prezintă pe scurt modul în care funcționează Q-Bot și unde sunt utilizate componentele menționate mai sus. Mai jos puteți vedea o redare a modelului CAD complet asamblat.
Q-botul funcționează având patru motoare atașate direct la Rubik's Cube cu grappere imprimate 3D. Aceasta înseamnă că stânga, dreapta, fața și spatele pot fi rotite direct. Dacă partea superioară sau inferioară trebuie să fie rotită, întregul cub trebuie să fie rotit, astfel încât două dintre motoare trebuie să fie îndepărtate. Acest lucru se face prin atașarea fiecăruia dintre motoarele de prindere pe sanii acționate de un alt motor pas cu pas și o curea de distribuție de-a lungul unui sistem liniar de șine. Sistemul de șine este format din doi rulmenți cu 8 bile care sunt montați în cavități în sanie și întreaga sanie se deplasează pe doi arbori de aluminiu de 8 mm. Mai jos puteți vedea subansamblul unei axe a solverului.
Axa x și axa y sunt practic identice, diferă doar în înălțimea punctului de montare al curelei, astfel încât să nu existe coliziuni între cele două curele atunci când sunt complet asamblate.
Pasul 2: Alegerea motoarelor potrivite
Desigur, selectarea motoarelor potrivite este foarte importantă aici. Partea principală este că trebuie să fie suficient de puternici pentru a putea transforma un cub Rubik. Singura problemă aici este că niciun producător de cuburi Rubik nu acordă un cuplu nominal. Așadar, a trebuit să improvizez și să-mi fac propriile măsurători.
În general, cuplul este definit de forța direcționată perpendicular pe poziția punctului de rotație la distanța r:
Deci, dacă aș putea cumva măsura forța aplicată cubului aș putea calcula cuplul. Ceea ce am făcut exact. Mi-am prins cubul de un raft într-un mod în care numai o parte ar putea să se miște. Că un șir s-a legat în jurul cubului și o pungă atașată în partea de jos. Acum nu mai rămânea decât să mărească încet greutatea pungii până când cubul se întoarse. Pentru lipsa unor greutăți precise, am folosit cartofi și i-am măsurat după aceea. Nu este cea mai științifică metodă, dar pentru că nu încerc să găsesc cuplul minim, este suficient.
Am făcut măsurătorile de trei ori și am luat cea mai mare valoare doar pentru a fi în siguranță. Greutatea rezultată a fost de 0,52 kg. Acum, datorită lui Sir Isaac Newton, știm că forța este egală cu accelerarea masei.
Accelerația, în acest caz, este accelerația gravitațională. Deci cuplul necesar este dat de
Conectarea tuturor valorilor, inclusiv jumătate din diagonala cubului Rubik, dezvăluie în sfârșit cuplul necesar.
Am mers cu motoare pas cu pas care pot aplica până la 0,4 Nm, ceea ce este probabil un exces, dar am vrut să fiu în siguranță.
Pasul 3: Construirea bazei
Baza constă dintr-o cutie de lemn foarte simplă și găzduiește toate componentele electronice necesare. Dispune de o priză pentru a porni și opri aparatul, un LED pentru a indica dacă este pornit, un port USB B și o priză pentru conectarea sursei de alimentare. A fost construit folosind placaj de 15 mm, niște șuruburi și un pic de lipici.
Pasul 4: Asamblarea hardware-ului
Acum, cu toate piesele necesare, inclusiv baza, Q-botul era gata de asamblare. Părțile personalizate au fost tipărite 3D și ajustate acolo unde este necesar. Puteți descărca toate fișierele CAD la sfârșitul acestui ible. Ansamblul a inclus montarea tuturor pieselor imprimate 3D cu piesele cumpărate, extinderea cablurilor motorului și înșurubarea tuturor pieselor la bază. În plus, am pus manșoane în jurul cablurilor motorului, doar pentru a da un aspect mai îngrijit și am adăugat conectori JST la capetele lor.
Pentru a evidenția importanța bazei pe care am construit-o, iată o imagine înainte și după cum arăta ansamblul. Îmbinarea unui pic totul poate face o mare diferență.
Pasul 5: Electronică
În ceea ce privește electronica, proiectul este destul de simplu. Există o sursă principală de alimentare de 12V, care poate furniza până la 3A din curent, care alimentează motoarele. Un modul step-down este utilizat pentru a alimenta în siguranță Arduino și a fost proiectat un scut personalizat pentru Arduino care găzduiește toți driverele motorului pas cu pas. Driverele facilitează controlul motoarelor. Conducerea unui motor pas cu pas necesită o secvență de control specifică, dar prin utilizarea driverelor motorului trebuie să generăm doar un impuls mare pentru fiecare pas pe care motorul îl va roti. În plus, niște conectori JST au fost adăugați la ecran pentru a facilita conectarea motoarelor. Scutul pentru Arduino a fost construit foarte repede pe o bucată de perfboard și după ce ne-am asigurat că totul funcționează așa cum trebuia, a fost fabricat de jlc pcb.
Iată înainte și după prototip și PCB-ul fabricat.
Pasul 6: Software și interfață serială
Q-Bot-ul este împărțit în două părți. Pe de o parte, există hardware-ul care este controlat de Arduino, pe de altă parte, există o bucată de software care calculează calea de rezolvare a cubului pe baza actualului cod. Firmware-ul care rulează pe Arduino a fost scris de mine, dar pentru a păstra scurt acest ghid nu voi intra în niciun detaliu despre el aici. Dacă doriți să aruncați o privire și să vă jucați cu el, linkul către depozitul meu git va fi furnizat la sfârșitul acestui document. Software-ul care calculează soluția rulează pe o mașină Windows și a fost scris de un coleg de-al meu, iar linkurile către codul său sursă pot fi găsite la sfârșitul acestui ible. Cele două părți comunică folosind o interfață serială simplă. Calculează soluția pe baza algoritmului cu două faze al lui Kociemba. Software-ul de rezolvare trimite o comandă constând din doi octeți către rezolvator și așteaptă ca acesta să returneze un „ACK”. În acest fel, solverul poate fi testat și depanat folosind un monitor serial simplu. Setul de instrucțiuni complet poate fi găsit mai jos.
Comenzile pentru rotirea fiecărui motor pentru un pas reprezintă o soluție pentru o problemă în care unii dintre stepperi ar efectua în mod aleatoriu mici salturi la pornire. Pentru a compensa acest lucru, motoarele pot fi ajustate la poziția lor inițială înainte de procesul de rezolvare.
Pasul 7: Concluzie
După opt luni de dezvoltare, înjurături, lovirea tastaturii și dansul Q-botului a fost în cele din urmă într-un punct în care este rezolvat cu succes primul său cub Rubik. Scramble-ul cubului trebuia introdus manual în software-ul de control, dar totul a funcționat bine.
Am adăugat o montură pentru o cameră web câteva săptămâni mai târziu, iar facultatea mea a adaptat software-ul pentru a citi cubul automat din imaginile luate. Cu toate acestea, acest lucru nu este testat încă bine și are nevoie de unele îmbunătățiri.
Dacă acest lucru instructabil v-a stârnit interesul, nu ezitați și începeți să vă construiți propria versiune a Q-bot-ului. S-ar putea să pară descurajator la început, dar merită mult efortul și dacă aș putea face acest lucru, puteți și dumneavoastră.
Resurse:
Codul sursă al firmware-ului:
github.com/Axodarap/QBot_firmware
Codul sursă al software-ului de control
github.com/waldhube16/Qbot_SW
Recomandat:
Solver Rubik’s Cube Blindfolded în timp real folosind Raspberry Pi și OpenCV: 4 pași
Solver Rubik’s Cube Blindfolded în timp real folosind Raspberry Pi și OpenCV: Aceasta este a doua versiune a instrumentului cub Rubik’s cub făcut pentru rezolvarea în legături la ochi. Prima versiune a fost dezvoltată de javascript, puteți vedea proiectul RubiksCubeBlindfolded1 Spre deosebire de versiunea anterioară, această versiune folosește biblioteca OpenCV pentru a detecta culorile și e
Lampă fără fir Rubik’s Cube cu schimbare de culoare, ușor de înclinat: 10 pași (cu imagini)
Lămpi wireless Rubik’s Cube fără fir care se schimbă în culori: astăzi vom construi această minunată lampă Rubik’s Cube-esque, care schimbă culoarea în funcție de partea în care este ridicată. Cubul rulează pe o baterie mică LiPo, încărcată de un cablu micro-usb standard și, în testarea mea, are o durată de viață a bateriei de câteva zile. Acest
Scutul Arduino Mega Stepper pentru un Solver Rubiks Cube: 4 pași
Arduino Mega Stepper Shield pentru un Rubiks Cube Solver: Acum ceva timp lucram la o mașină care rezolva automat orice Rubiks Cube 3x3 amestecat. Puteți vedea instructabile despre asta aici. În proiect, driverele pas cu pas de la polulu au fost utilizate pentru a conduce șase motoare. Pentru a face două, conectați aceste d
ARS - Arduino Rubik Solver: 13 pași (cu imagini)
ARS - Arduino Rubik Solver: ARS este un sistem complet pentru a rezolva cubul lui Rubik: da, un alt robot pentru a rezolva cubul! de un sofat de casă
Apple G4 Cube Case Mod Rubik Style Hackintosh: 15 pași (cu imagini)
Apple G4 Cube Case Mod Rubik Style Hackintosh: Cubul original G4 deținea un procesor PowerPC de 450Mhz și maxim 1,5 gb RAM. Apple a fabricat cubul G4 din 2000 până în 2001 la un preț de aproximativ 1600 USD. A rulat Mac OS 9.04 până la OS X 10.4 (PowerPC, nu Intel). Are aproximativ 7,5 x 7,5 x 10 țoli, fără