Kazalo:
- 1. korak: Oblikovanje strojne opreme
- 2. korak: Izbira pravih motorjev
- 3. korak: Konstrukcija baze
- 4. korak: Sestavljanje strojne opreme
- 5. korak: Elektronika
- 6. korak: Programska oprema in serijski vmesnik
- 7. korak: Zaključek
Video: Q -Bot - odprtokodni reševalec Rubikove kocke: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Predstavljajte si, da imate umešano Rubikovo kocko, saj poznate tisto uganko iz 80. let, ki jo imajo vsi, vendar nihče v resnici ne ve, kako jo rešiti, in jo želite vrniti v prvotni vzorec. Na srečo je danes zelo enostavno najti navodila za reševanje. Torej, pojdite na splet in si oglejte videoposnetek, kako se obrniti, da vam prinese veselje. Ko boste to naredili nekajkrat, boste ugotovili, da nekaj manjka. V notranjosti je luknja, ki je ni mogoče zapolniti. Inženirji/izdelovalec/heker v vas preprosto ne morejo biti zadovoljni z reševanjem nečesa tako neverjetnega na tako preprost način. Ali ne bi bilo veliko bolj poetično, če bi imeli stroj, ki bi vse rešil namesto vas? Če bi nekaj zgradili, bi bili vsi vaši prijatelji navdušeni? Zagotavljam vam, da ne bo veliko bolje, kot če opazujete, kako vaše ustvarjanje dela čudeže in rešuje Rubikovo kocko. Pridite in se mi pridružite na čudovitem potovanju pri izgradnji Q-Bota, odprtokodnega Rubikovega kockarskega reševalca, ki zagotovo ne bo premagal nobenega svetovnega rekorda, ampak vam bo prinesel ure veselja (potem ko boste seveda preživeli vse frustracije med gradnjo).
1. korak: Oblikovanje strojne opreme
Celoten reševalec je bil zasnovan s CAD -om v Catii. Tako bi lahko večino konstrukcijskih napak odkrili in odpravili pred izdelavo kakršnih koli fizičnih komponent. Večina reševalcev je bila 3D natisnjena v PLA s tiskalnikom prusa MK3. Poleg tega je bila uporabljena naslednja strojna oprema:
- 8 kosov 8 mm aluminijaste palice (dolžina 10 cm)
- 8 linearnih krogličnih ležajev (LM8UU)
- nekaj manj kot 2 m zobatega jermena GT2 6 mm + nekaj jermenic
- 6 bipolarnih koračnih motorjev NEMA 17
- 6 gonilnikov korakov Polulu 4988
- Arudino Mega kot kontrolor projekta
- 12 V 3A napajalnik
- pretvornik za zniževanje za varno napajanje arduina
- nekaj vijakov in priključkov
- nekaj vezanega lesa za podlago
Opis strojne opreme
Ta razdelek na kratko zajema delovanje Q-Bota in kje se uporabljajo zgoraj navedene komponente. Spodaj si lahko ogledate upodobitev popolnoma sestavljenega CAD modela.
Q-bot deluje tako, da ima štiri motorje, pritrjene neposredno na Rubikovo kocko s 3D natisnjenimi prijemali. To pomeni, da se lahko levo, desno, spredaj in zadaj obrača neposredno. Če je treba obrniti zgornjo ali spodnjo stran, je treba obrniti celotno kocko in tako odmakniti dva motorja. To naredite tako, da vsakega od prijemalnih motorjev pritrdite na sani, ki jih poganja drug koračni motor in zobati jermen vzdolž linearnega tirnega sistema. Tirni sistem je sestavljen iz dveh 8 krogličnih ležajev, ki sta vgrajeni v votline v sani, in celotne sani se vozijo na dveh 8 mm aluminijastih gredih. Spodaj lahko vidite podsklop ene osi reševalca.
Osi x in y sta si v bistvu enaki, razlikujeta se le po višini pritrdilne točke jermena, to je tako, da med polnjima trakoma ni trkov.
2. korak: Izbira pravih motorjev
Seveda je pri tem zelo pomembna izbira ustreznih motorjev. Glavni del je, da morajo biti dovolj močni, da lahko obrnejo Rubikovo kocko. Edina težava tukaj je, da noben proizvajalec Rubikovih kock ne da ocene navora. Zato sem moral improvizirati in narediti svoje meritve.
Na splošno je navor določen s silo, usmerjeno pravokotno na položaj rotacijske točke na razdalji r:
Če bi torej lahko nekako izmeril silo, ki deluje na kocko, bi lahko izračunal navor. Kar sem tudi storil. Kocko sem pritrdila na polico tako, da se je lahko premaknila le ena stran. Da se je okoli kocke privezala vrvica, na dnu pa pritrjena vrečka. Zdaj je ostalo le še počasi povečevati težo v vreči, dokler se kocka ni obrnila. Zaradi pomanjkanja natančnih uteži sem uporabil krompir in ga nato izmeril. Ni najbolj znanstvena metoda, ampak ker ne poskušam najti najmanjšega navora, je povsem dovolj.
Meritve sem naredil trikrat in izmeril najvišjo vrednost samo zato, da sem varen. Dobljena teža je bila 0,52 kg. Zdaj zaradi sira Isaaca Newtona vemo, da je sila enaka masnim časom pospeška.
Pospešek je v tem primeru gravitacijski pospešek. Potreben navor je torej podan z
Vključitev vseh vrednosti, vključno s polovico diagonale Rubikove kocke, končno razkrije potreben navor.
Šel sem s koračnimi motorji, ki lahko uporabljajo do 0,4 Nm, kar je verjetno preveč, vendar sem hotel biti varen.
3. korak: Konstrukcija baze
Podstavek je sestavljen iz zelo preproste lesene škatle in vsebuje vso potrebno elektroniko. Opremljen je z vtičem za vklop in izklop stroja, LED diodo, ki označuje, ali je vklopljen, vhodom USB B in vtičnico za napajanje. Izdelana je bila iz vezanega lesa 15 mm, nekaj vijakov in lepila.
4. korak: Sestavljanje strojne opreme
Zdaj je bil Q-bot z vsemi potrebnimi deli, vključno z bazo, pripravljen za sestavljanje. Deli po meri so bili 3D natisnjeni in po potrebi prilagojeni. Na koncu te številke lahko prenesete vse datoteke CAD. Montaža je vključevala pritrditev vseh 3D tiskanih delov na kupljene dele, podaljšanje kablov motorja in privijanje vseh delov na podlago. Poleg tega sem okoli kablov motorja položil rokave, da bi bil videti nekoliko bolj urejen, in na njihove konce dodal priključke JST.
Da bi poudarili pomen baze, ki sem jo zgradil, je tukaj posnetek pred in po tem, kako je izgledala montaža. Če vse skupaj malo popravite, lahko naredite veliko razliko.
5. korak: Elektronika
Kar zadeva elektroniko, je projekt precej preprost. Obstaja glavni 12V napajalnik, ki lahko odda do 3A toka, ki napaja motorje. Modul za zniževanje se uporablja za varno napajanje Arduina, zasnovan pa je tudi ščit po meri za Arduino, v katerem so nameščeni vsi gonilniki koračnih motorjev. Vozniki močno olajšajo upravljanje motorja. Vožnja koračnega motorja zahteva posebno zaporedje krmiljenja, vendar moramo z uporabo gonilnikov motorja ustvariti le visok impulz za vsak korak, ki ga mora motor obrniti. Poleg tega so ščitniku dodali nekaj priključkov jst za lažje povezovanje motorjev. Ščit za Arduino je bil trdno zgrajen na kosu perfboard -a, potem ko se je prepričal, da vse deluje tako, kot je bilo predvideno, ga je izdelal jlc pcb.
Tukaj je pred in po prototipu in izdelanem tiskanem vezju.
6. korak: Programska oprema in serijski vmesnik
Q-Bot je razdeljen na dva dela. Po eni strani je strojna oprema, ki jo nadzira Arduino, po drugi strani pa del programske opreme, ki izračuna pot reševanja za kocko na podlagi trenutnega šifriranja. Vdelano programsko opremo, ki se izvaja na Arduinu, sem napisal sam, vendar zato, da bi bil ta vodič kratek, tukaj ne bom šel v podrobnosti. Če si ga želite ogledati in se z njim poigrati, bo na koncu tega dokumenta na voljo povezava do mojega git skladišča. Programska oprema, ki izračuna rešitev, deluje na računalniku z operacijskim sistemom Windows in jo je napisal moj kolega. Na koncu te številke so spet povezave do njegove izvorne kode. Oba dela komunicirata s preprostim serijskim vmesnikom. Rešitev izračuna na podlagi dvofaznega algoritma Kociemba. Reševalna programska oprema pošlje ukaz, sestavljen iz dveh bajtov, reševalcu in počaka, da vrne "ACK". Na ta način lahko reševalca preizkusite in odpravite napake s preprostim serijskim monitorjem. Celoten nabor navodil najdete spodaj.
Ukazi za obračanje vsakega motorja za en korak so rešitev za težavo, pri kateri bi nekateri koračniki ob vklopu naključno izvedli majhne skoke. Da bi to kompenzirali, lahko motorje nastavite v začetni položaj pred postopkom reševanja.
7. korak: Zaključek
Po osmih mesecih razvoja, priseganja, udarjanja po tipkovnici in plesa Q-bot je bil končno na točki, ko je uspešno rešena njegova prva Rubikova kocka. Kockanje kocke je bilo treba ročno vstaviti v krmilno programsko opremo, vendar je vse delovalo dobro.
Nekaj tednov kasneje sem dodal nosilec za spletno kamero in moja šola je prilagodila programsko opremo za samodejno branje kocke iz posnetih slik. Vendar to še ni dobro preizkušeno in je še vedno treba izboljšati.
Če vam je ta pouk vzbudil zanimanje, ne oklevajte in začnite graditi svojo lastno različico Q-bota. Morda se na prvi pogled zdi zastrašujoče, vendar je vredno truda in če bi jaz to zmogel, lahko tudi vi.
Viri:
Izvorna koda vdelane programske opreme:
github.com/Axodarap/QBot_firmware
Izvorna koda programske opreme za nadzor
github.com/waldhube16/Qbot_SW
Priporočena:
Mavrične kocke: 6 korakov (s slikami)
Rainbow Dice: To naredi škatlo za igre s kockami s 5 matricami, sestavljeno iz smd LED v 5 barvah. Programska oprema, ki jo poganja, omogoča različne načine igranja z več kockami. Eno glavno stikalo omogoča izbiro igre in metanje kock. Posamezna stikala poleg eac
E -kocke - Arduino kocke/kocke 1 do 6 kock + D4, D5, D8, D10, D12, D20, D24 in D30: 6 korakov (s slikami)
E -kocke - Arduino Die/kocke 1 do 6 Kocke + D4, D5, D8, D10, D12, D20, D24 in D30: To je preprost projekt arduino za izdelavo elektronske matrice. Možno je izbrati za 1 do 6 kock ali 1 od 8 posebnih kock. Izbira je preprosta z obračanjem vrtljivega dajalnika. To so lastnosti: 1 matrica: prikaz velikih pik 2-6 kock: prikaz pik
Šeststranske LED kocke z vezjem PCB z WIFI in žiroskopom - PIKOCUBE: 7 korakov (s slikami)
Šeststranske LED kocke z vezjem PCB z WIFI in žiroskopom - PIKOCUBE: Pozdravljeni izdelovalci, izdelovalec moekoe! Danes vam želim pokazati, kako sestaviti prave LED kocke na podlagi šestih tiskanih vezij in skupaj 54 LED. Kocka poleg notranjega žiroskopskega senzorja, ki zazna gibanje in položaj kock, vsebuje ESP8285-01F, ki je
Mega koračni ščit Arduino za reševalec kock Rubiks: 4 koraki
Arduino Mega koračni ščit za reševalca kock Rubiks: Pred časom sem delal na stroju, ki samodejno reši vse umešane kocke Rubiks 3x3 3x3. Moje napotke o tem si lahko ogledate tukaj. V projektu so bili koračni gonilniki iz polulu uporabljeni za pogon šestih motorjev. Če želite dva povezati ta d
Mehka igračka Bluetooth kocke in razvoj igre za Android z aplikacijo MIT App Inventor: 22 korakov (s slikami)
Soft Toy Bluetooth Dice in razvijte igro Android s programom MIT App Inventor: Igranje kock ima drugačen način 1) Tradicionalno igranje z lesenimi ali medeninastimi kockami.2) Igranje v mobilnem telefonu ali računalniku z naključno vrednostjo kock, ki jo ustvari mobilna naprava ali računalnik na ta drugačen način fizično igrajte kocke in premikajte kovanec v mobilnem telefonu ali računalniku