Sisukord:
- Samm: riistvara kujundamine
- 2. samm: õigete mootorite valimine
- Samm: aluse ehitamine
- Samm: riistvara kokkupanek
- Samm: elektroonika
- 6. samm: tarkvara ja jadaliides
- Samm 7: Järeldus
Video: Q -Bot - avatud lähtekoodiga Rubiku kuubiku lahendaja: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:46
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.
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:
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.
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.
Kiirendus on antud juhul gravitatsioonikiirendus. Seega antakse vajalik pöördemoment
Kõigi väärtuste, sealhulgas poole Rubiku kuubi diagonaali ühendamine näitab lõpuks vajalikku pöördemomenti.
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.
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.
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.
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.
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.
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:
Reaalajas Rubiku kuubi silmside lahendaja, kasutades Raspberry Pi ja OpenCV: 4 sammu
Reaalajas Rubiku kuubiku silmside lahendaja, kasutades Raspberry Pi ja OpenCV: see on Rubiku kuubiku tööriista teine versioon, mis on mõeldud silmadega lahendamiseks. Esimene versioon töötati välja javascripti abil, näete projekti RubiksCubeBlindfolded1 Erinevalt eelmisest kasutab see versioon värvide ja e
Lihtne kallutatav värvivahetus traadita Rubiku kuubiku lamp: 10 sammu (koos piltidega)
Lihtne kallutuspõhine värvimuutmise juhtmevaba Rubiku kuubiklamp: Täna ehitame selle vinge Rubiku kuubikujulise lambi, mis muudab värvi sõltuvalt sellest, kumb pool on üleval. Kuubik töötab väikese LiPo akuga, mida laeb tavaline mikro-usb-kaabel, ja minu testimisel on aku kestvus mitu päeva. See
Funktsionaalne USB -mälupulk Rubiku kuubik: 7 sammu (koos piltidega)
Funktsionaalne USB -mälupulk Rubiku kuubik: selles õpetuses näitan teile, kuidas oma Rubiku USB -mälupulka valmistada. Valmistoodet näete järgmises videos:
Arduino Mega sammukilp Rubiksi kuubiku lahendaja jaoks: 4 sammu
Arduino Mega sammukilp Rubiksi kuubiku lahendaja jaoks: Mõni aeg tagasi töötasin masina kallal, mis lahendab automaatselt kõik 3x3 Rubiku kuubiku segipaisatud. Minu juhiseid selle kohta näete siit. Projektis kasutati kuue mootori juhtimiseks polulu astmelisi draivereid. Selleks, et kaks saaksid need ühendada
ARS - Arduino Rubiku lahendaja: 13 sammu (piltidega)
ARS - Arduino Rubiku lahendaja: ARS on terviklik süsteem Rubiku kuubiku lahendamiseks: jah, teine robot kuubi lahendamiseks! ARS on kolmeaastane kooliprojekt, mis on valmistatud 3D -prinditud osade ja laserlõigatud struktuuridega: Arduino saab õige järjestuse koduse diivani poolt