Sisukord:

Q -Bot - avatud lähtekoodiga Rubiku kuubiku lahendaja: 7 sammu (piltidega)
Q -Bot - avatud lähtekoodiga Rubiku kuubiku lahendaja: 7 sammu (piltidega)

Video: Q -Bot - avatud lähtekoodiga Rubiku kuubiku lahendaja: 7 sammu (piltidega)

Video: Q -Bot - avatud lähtekoodiga Rubiku kuubiku lahendaja: 7 sammu (piltidega)
Video: The mind behind Linux | Linus Torvalds | TED 2024, November
Anonim
Image
Image
Pilt
Pilt

Kujutage ette, et teil on rikutud Rubiku kuubik, teate, et see 80ndate aastate mõistatus on kõigil olemas, kuid keegi ei tea, kuidas seda lahendada, ja soovite selle algupärase mustri tagasi tuua. Tänapäeval on õnneks lahenduste leidmine väga lihtne. Niisiis, vaadake videot veebis ja õppige, kuidas külgi pöörata, et teile rõõmu pakkuda. Paar korda seda tehes saate aga aru, et midagi on puudu. Sees auk, mida ei saa täita. Teie sees olevad insenerid/tegijad/häkkerid lihtsalt ei saa olla rahul sellega, et lahendavad midagi nii hämmastavat nii lihtsal viisil. Kas poleks palju poeetilisem, kui teil oleks masin, mis lahendaks kõik teie eest? Kui oleksite midagi ehitanud, oleksid kõik teie sõbrad üllatunud? Võin teile garanteerida, et see ei lähe palju paremaks kui vaadata, kuidas teie looming teeb imet ja lahendab Rubiku kuubi. Niisiis, tulge minuga kaasa imelisele teekonnale, milleks on Q-Boti, avatud lähtekoodiga Rubiku kuubiku lahendaja, ehitamine, mis kindlasti ei lüüa ühtegi maailmarekordit, kuid pakub teile tunde rõõmu (pärast muidugi kõigi pettumuste läbimist) ehitusprotsessi ajal).

Samm: riistvara kujundamine

Täielik lahendaja on disainitud CAD -ga Catias. Sel moel suudeti enamik füüsilisi komponente enne füüsiliste komponentide tootmist leida ja parandada. Enamik lahendajatest prinditi 3D -vormingus PLA -s, kasutades prusa MK3 printerit. Lisaks kasutati järgmist riistvara:

  • 8 tükki 8 mm alumiiniumvarrast (pikkus 10 cm)
  • 8 lineaarset kuullaagrit (LM8UU)
  • natuke alla 2 m GT2 6mm hammasrihma + mõned rihmarattad
  • 6 NEMA 17 bipolaarset samm -mootorit
  • 6 Polulu 4988 samm -juhti
  • Arudino Mega projekti kontrollerina
  • 12 V 3A toiteallikas
  • astme muundur arduino turvaliseks toiteks
  • mõned kruvid ja pistikud
  • aluseks mõni vineer

Riistvara kirjeldus

Selles osas käsitletakse lühidalt, kuidas Q-Bot isegi toimib ja kus kasutatakse ülalnimetatud komponente. Allpool näete täielikult kokkupandud CAD -mudeli renderdust.

Q-bot töötab nii, et neli mootorit on 3D-trükitud haaratsitega otse Rubiku kuubi külge kinnitatud. See tähendab, et vasakule, paremale, ette ja taha saab otse pöörata. Kui ülemist või alumist külge on vaja pöörata, tuleb kogu kuubik pöörata ja seega tuleb kaks mootorit eemale viia. Selleks kinnitatakse kõik haardemootorid teise astmemootori ja hammasrihmaga liikuvate kelkude külge mööda lineaarset rööpasüsteemi. Rööpasüsteem koosneb kahest 8 kuullaagrist, mis on paigaldatud kelgu õõnsustesse, ja kogu kelk sõidab kahe 8 mm alumiiniumvõlli abil. Allpool näete lahendaja ühe telje alamkomplekti.

X- ja y-telg on põhimõtteliselt identsed, need erinevad ainult turvavöö kinnituspunkti kõrguse poolest, nii et täielikult kokkupanduna ei esine kahe rihma vahel kokkupõrkeid.

Pilt
Pilt

2. samm: õigete mootorite valimine

Loomulikult on siin õigete mootorite valimine väga oluline. Peamine osa on see, et nad peavad olema piisavalt tugevad, et nad saaksid Rubiku kuubi pöörata. Ainus probleem on see, et ükski Rubiku kuubikute tootja ei anna pöördemomenti. Niisiis, ma pidin improviseerima ja oma mõõtmisi tegema.

Üldiselt on pöördemoment määratletud jõuga, mis on risti pöörlemispunkti asukohaga r kaugusel:

Pilt
Pilt
Pilt
Pilt

Seega, kui saaksin kuubikule rakendatavat jõudu kuidagi mõõta, saaksin pöördemomendi arvutada. Mida ma täpselt tegin. Kinnitasin oma kuubi riiuli külge nii, et ainult üks külg saaks liikuda. Et kuubiku ümber seoti nöör ja selle alla kinnitati kott. Nüüd ei jäänud muud üle kui aeglaselt kotis raskust suurendada, kuni kuubik pöördus. Täpsete kaalude puudumise tõttu kasutasin kartuleid ja mõõtsin neid hiljem. Mitte kõige teaduslikum meetod, kuid kuna ma ei ürita leida minimaalset pöördemomenti, on see täiesti piisav.

Pilt
Pilt

Tegin mõõtmisi kolm korda ja võtsin kõrgeima väärtuse lihtsalt turvalisuse huvides. Saadud kaal oli 0,52 kg. Sir Isaac Newtoni tõttu teame, et jõud võrdub massi ja kiirendusega.

Pilt
Pilt

Kiirendus on antud juhul gravitatsioonikiirendus. Seega antakse vajalik pöördemoment

Pilt
Pilt

Kõigi väärtuste, sealhulgas poole Rubiku kuubi diagonaali ühendamine näitab lõpuks vajalikku pöördemomenti.

Pilt
Pilt

Ma valisin samm -mootoritega, mis suudavad rakendada kuni 0,4 Nm, mis on ilmselt üleliigne, kuid tahtsin olla ohutu.

Samm: aluse ehitamine

Alus koosneb väga lihtsast puidust kastist ja selles on kogu vajalik elektroonika. Sellel on pistik masina sisse- ja väljalülitamiseks, LED, mis näitab selle sisselülitamist, USB B -port ja pistikupesa toiteallika ühendamiseks. Selle ehitamiseks kasutati 15 mm vineeri, mõningaid kruvisid ja natuke liimi.

Pilt
Pilt
Pilt
Pilt
Pilt
Pilt
Pilt
Pilt

Samm: riistvara kokkupanek

Nüüd koos kõigi vajalike osadega, sealhulgas alusega, oli Q-bot kokkupanekuks valmis. Kohandatud osad trükiti 3D -ga ja vajadusel kohandati. Selle ible lõpus saate alla laadida kõik CAD -failid. Kokkupanek hõlmas kõigi 3D -prinditud osade ühendamist ostetud osadega, mootorikaablite pikendamist ja kõigi osade kruvimist aluse külge. Lisaks panin mootorikaablite ümber varrukad, et need näeksid veidi korralikumad välja, ja lisasin nende otstesse JST -pistikud.

Ehitatud aluse tähtsuse rõhutamiseks on siin enne ja pärast pilti, kuidas koost välja nägi. Kõike veidi paika pannes võib olla tohutu erinevus.

Pilt
Pilt
Pilt
Pilt

Samm: elektroonika

Elektroonika osas on projekt üsna lihtne. Seal on peamine 12 V toiteallikas, mis võib toita kuni 3A voolu, mis toidab mootoreid. Arduino turvaliseks toiteks kasutatakse astmemoodulit ja Arduino jaoks kohandatud kilp, mis sisaldab kõiki samm-mootoriga draivereid. Juhid muudavad mootorite juhtimise palju lihtsamaks. Sammumootori juhtimine nõuab kindlat juhtimisjärjestust, kuid mootori draivereid kasutades on meil vaja genereerida ainult kõrge impulss iga mootori pöörde jaoks. Lisaks lisati kilbile mõned jst -pistikud, et lihtsustada mootorite ühendamist. Arduino kilp ehitati esmalt parfüüritükile ja pärast seda, kui oli veendunud, et kõik töötab nii, nagu pidi, sai jlc pcb.

Siin on prototüübi ja toodetud trükkplaadi enne ja pärast.

Pilt
Pilt
Pilt
Pilt

6. samm: tarkvara ja jadaliides

Q-Bot on jagatud kaheks osaks. Ühest küljest on riistvara, mida Arduino kontrollib, teisest küljest on tarkvara, mis arvutab kuubi lahendustee praeguse rüseluse põhjal. Arduino peal töötava püsivara olen ise kirjutanud, kuid selle juhendi lühikeseks jätmiseks ei hakka ma siin selle üksikasju käsitlema. Kui soovite seda vaadata ja sellega mängida, leiate selle dokumendi lõpus lingi minu giti hoidlale. Tarkvara, mis arvutab välja lahenduse, töötab Windowsi masinal ja selle kirjutas minu kolleeg, jällegi lingid tema lähtekoodile leiate selle ible'i lõpus. Mõlemad osad suhtlevad lihtsa jadaliidese abil. See arvutab lahenduse Kociemba kahefaasilise algoritmi alusel. Lahendustarkvara saadab lahendajale kahest baidist koosneva käsu ja ootab, kuni see tagastab „ACK”. Nii saab lahendajat testida ja siluda lihtsa jadamonitori abil. Täieliku juhendi leiate allpool.

Pilt
Pilt

Käsud iga mootori ühe sammu pööramiseks on lahendus probleemile, kus mõned sammud sooritavad sisselülitamisel juhuslikult väikeseid hüppeid. Selle kompenseerimiseks saab mootorid enne lahendamisprotsessi reguleerida oma algasendisse.

Samm 7: Järeldus

Pärast kaheksa kuud kestnud arendamist, sõimamist, klaviatuuri löömist ja Q-boti tantsimist jõudis lõpuks punkti, kus selle esimene Rubiku kuup on edukalt lahendatud. Kuubi rüselus tuli juhtimistarkvarasse käsitsi sisestada, kuid kõik toimis hästi.

Lisasin paar nädalat hiljem veebikaamerale kinnituse ja mu kolledž kohandas tarkvara nii, et tehtud piltidelt kuup automaatselt välja loeks. Seda pole aga veel hästi testitud ja see vajab veel parandusi.

Pilt
Pilt

Kui see juhis tekitas teie huvi, ärge kartke ja hakake ehitama oma Q-bot versiooni. Esmapilgul võib see tunduda hirmutav, kuid see on vaeva väärt ja kui mina saaksin seda teha, saaksite ka teie.

Ressursid:

Püsivara lähtekood:

github.com/Axodarap/QBot_firmware

Juhtimistarkvara lähtekood

github.com/waldhube16/Qbot_SW

Soovitan: