Sisällysluettelo:

Q -Bot - avoimen lähdekoodin Rubikin kuution ratkaisija: 7 vaihetta (kuvilla)
Q -Bot - avoimen lähdekoodin Rubikin kuution ratkaisija: 7 vaihetta (kuvilla)

Video: Q -Bot - avoimen lähdekoodin Rubikin kuution ratkaisija: 7 vaihetta (kuvilla)

Video: Q -Bot - avoimen lähdekoodin Rubikin kuution ratkaisija: 7 vaihetta (kuvilla)
Video: Топ 5 скрытых полезных программ Windows 10 2024, Heinäkuu
Anonim
Image
Image
Kuva
Kuva

Kuvittele, että sinulla on sekoitettu Rubikin kuutio, tiedät sen 80 -luvun palapelin, joka kaikilla on, mutta kukaan ei todellakaan tiedä miten ratkaista, ja haluat palauttaa sen alkuperäiseen malliin. Onneksi nykyään on erittäin helppo löytää ratkaisuohjeita. Joten mene verkossa katsomaan videota ja opi kääntämään sivut tuottamaan sinulle iloa. Kun olet tehnyt sen pari kertaa, huomaat kuitenkin, että jotain puuttuu. Sisällä reikä, jota ei voi täyttää. Insinöörit/valmistaja/hakkeri eivät yksinkertaisesti voi olla tyytyväisiä ratkaisemaan jotain niin hämmästyttävää niin yksinkertaisella tavalla. Eikö olisi paljon runollisempaa, jos sinulla olisi kone, joka ratkaisi kaiken puolestasi? Jos olisit rakentanut jotain, kaikki ystäväsi hämmästyisivät? Voin taata, että se ei parane paljon paremmin kuin katsella luomuksesi tekevän ihmeitä ja ratkaista Rubikin kuutio. Joten tule mukaan kanssani mahtavalle matkalle rakentaa Q-Bot, avoimen lähdekoodin Rubikin kuution ratkaisija, joka ei varmasti ylitä mitään maailmanennätyksiä, mutta antaa sinulle tuntikausia iloa (tietysti kaikkien turhautumisten jälkeen) rakennusprosessin aikana).

Vaihe 1: Laitteiston suunnittelu

Täydellinen ratkaisija on suunniteltu CAD: llä Catiassa. Tällä tavalla suurin osa suunnitteluvirheistä voidaan löytää ja korjata ennen fyysisten komponenttien valmistusta. Suurin osa ratkaisijasta tulostettiin 3D -muodossa PLA: ssa prusa MK3 -tulostimella. Lisäksi käytettiin seuraavia laitteita:

  • 8 kpl 8 mm alumiinitankoa (pituus 10 cm)
  • 8 lineaarista kuulalaakeria (LM8UU)
  • hieman alle 2 m GT2 6 mm jakohihnaa + joitakin hihnapyöriä
  • 6 bipolaarista askelmoottoria NEMA 17
  • 6 Polulu 4988 askelmoottoria
  • Arudino Mega projektin ohjaajana
  • 12 V 3A virtalähde
  • askel alaspäin -muunnin, joka käyttää arduinoa turvallisesti
  • joitakin ruuveja ja liittimiä
  • pohjalle hieman vaneria

Laitteiston kuvaus

Tässä osassa käsitellään lyhyesti, miten Q-Bot jopa toimii ja missä edellä mainittuja komponentteja käytetään. Alla näet renderöinnin täysin kootusta CAD -mallista.

Q-bot toimii siten, että neljä moottoria on kiinnitetty suoraan Rubikin kuutioon 3D-painetuilla tarttujilla. Tämä tarkoittaa, että vasemmalle, oikealle, eteen ja taakse voidaan kääntää suoraan. Jos ylä- tai alaosaa on käännettävä, koko kuutio on käännettävä ja siten kaksi moottoria on siirrettävä pois. Tämä tehdään kiinnittämällä jokainen tartuntamoottori toisen askelmoottorin ja hammashihnan käyttämiin kelkoihin lineaarista kiskojärjestelmää pitkin. Kiskojärjestelmä koostuu kahdesta 8 kuulalaakerista, jotka on asennettu kelkan onteloihin, ja koko kelkka kulkee kahdella 8 mm: n alumiiniakselilla. Alla näet ratkaisijan yhden akselin alikokoonpanon.

X- ja y-akseli ovat pohjimmiltaan identtisiä, ja ne eroavat toisistaan vain hihnan kiinnityspisteen korkeudessa.

Kuva
Kuva

Vaihe 2: Valitse oikeat moottorit

Tietenkin oikeiden moottoreiden valinta on tässä erittäin tärkeää. Pääosa on, että niiden on oltava riittävän vahvoja voidakseen kääntää Rubikin kuution. Ainoa ongelma tässä on se, että kukaan Rubikin kuutioiden valmistaja ei anna vääntömomenttia. Joten minun piti improvisoida ja tehdä omia mittauksia.

Yleensä vääntömomentti määritellään voimalla, joka on suunnattu kohtisuoraan pyörimispisteen asemaan etäisyydellä r:

Kuva
Kuva
Kuva
Kuva

Joten jos voisin jotenkin mitata kuutioon kohdistetun voiman, voisin laskea vääntömomentin. Mikä on juuri se, mitä tein. Puristin kuutioni hyllylle siten, että vain toinen puoli pystyi liikkumaan. Että naru sidottiin kuution ympärille ja pussi kiinnitettiin pohjaan. Nyt ei ollut muuta kuin lisätä hitaasti pussin painoa, kunnes kuutio kääntyi. Tarkkojen painojen puuttuessa käytin perunoita ja mittasin ne jälkeenpäin. Ei kaikkein tieteellisin menetelmä, mutta koska en yritä löytää vähimmäismomenttia, se riittää.

Kuva
Kuva

Tein mittaukset kolme kertaa ja otin suurimman arvon vain varmuuden vuoksi. Tuloksena oleva paino oli 0,52 kg. Nyt Sir Isaac Newtonin takia tiedämme, että Voima on yhtä suuri kuin massa kertaa kiihtyvyys.

Kuva
Kuva

Kiihtyvyys on tässä tapauksessa painovoiman kiihtyvyys. Joten vaadittu vääntömomentti annetaan

Kuva
Kuva

Kaikkien arvojen kytkeminen, mukaan lukien puolet Rubikin kuution diagonaalista, paljastaa lopulta vaaditun vääntömomentin.

Kuva
Kuva

Käytin askelmoottoreita, jotka pystyvät kohdistamaan jopa 0,4 Nm, mikä on luultavasti liikaa, mutta halusin olla turvassa.

Vaihe 3: Pohjan rakentaminen

Pohja koostuu hyvin yksinkertaisesta puulaatikosta ja siinä on kaikki tarvittava elektroniikka. Siinä on pistoke koneen käynnistämiseksi ja sammuttamiseksi, LED -valo, joka ilmoittaa, onko se kytketty päälle, USB B -portti ja pistorasia virtalähteen liittämistä varten. Se rakennettiin käyttämällä 15 mm vaneria, joitain ruuveja ja vähän liimaa.

Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva
Kuva

Vaihe 4: Laitteiston kokoaminen

Nyt kaikki tarvittavat osat, mukaan lukien pohja, Q-bot oli valmis koottavaksi. Mukautetut osat tulostettiin 3D -painikkeilla ja niitä säädettiin tarvittaessa. Voit ladata kaikki CAD -tiedostot tämän kappaleen lopussa. Kokoonpano sisälsi kaikkien 3D -tulostettujen osien sovittamisen ostettuihin osiin, moottorikaapelien jatkamisen ja kaikkien osien kiinnittämisen alustaan. Lisäksi laitoin hihat moottorikaapelien ympärille, jotta ne näyttäisivät hiukan siistimmiltä, ja lisäsin JST -liittimet päihinsä.

Rakennetun tukikohdan tärkeyden korostamiseksi tässä on ennen ja jälkeen kuva siitä, miltä kokoonpano näytti. Kaikkien asioiden hienosäätö voi vaikuttaa suuresti.

Kuva
Kuva
Kuva
Kuva

Vaihe 5: Elektroniikka

Elektroniikan osalta projekti on melko yksinkertainen. Siinä on 12 V: n päävirtalähde, joka voi tuottaa jopa 3A virtaa, joka käyttää moottoreita. Arduinoa käytetään turvallisesti virransyöttölaitteella, ja Arduinoa varten on suunniteltu mukautettu suoja, joka sisältää kaikki askelmoottorin ajurit. Kuljettajat helpottavat moottorien hallintaa. Askelmoottorin käyttäminen vaatii tietyn säätöjakson, mutta käyttämällä moottorinohjaimia tarvitsemme vain suuren pulssin jokaiselle moottorin pyörimisen askeleelle. Lisäksi suojaan lisättiin joitain jst -liittimiä moottorien liittämisen helpottamiseksi. Arduinon kilpi rakennettiin ensisijassa pahvilevylle ja sen jälkeen, kun oli varmistettu, että kaikki toimii niin kuin piti, sai jlc pcb.

Tässä on prototyypin ja valmistetun piirilevyn ennen ja jälkeen.

Kuva
Kuva
Kuva
Kuva

Vaihe 6: Ohjelmisto ja sarjaliitäntä

Q-Bot on jaettu kahteen osaan. Toisaalta on laitteisto, jota Arduino ohjaa, toisaalta on ohjelmisto, joka laskee kuution ratkaisureitin nykyisen sekoituksen perusteella. Arduinon käynnissä oleva laiteohjelmisto on itse kirjoitettu, mutta tämän oppaan pitämiseksi lyhyenä en mene tähän yksityiskohtiin. Jos haluat katsoa sitä ja leikkiä sen kanssa, linkki git -arkistooni on tämän asiakirjan lopussa. Ohjelmisto, joka laskee ratkaisun, toimii Windows -koneella ja on kollegani kirjoittama, jälleen linkit hänen lähdekoodiinsa löytyvät tämän iblen lopussa. Kaksi osaa kommunikoivat yksinkertaisen sarjaliitännän avulla. Se laskee ratkaisun Kociemban kaksivaiheisen algoritmin perusteella. Ratkaisuohjelmisto lähettää kahdesta tavusta koostuvan komennon ratkaisijalle ja odottaa sen palauttavan "ACK". Tällä tavalla ratkaisija voidaan testata ja debuggata yksinkertaisella sarjamonitorilla. Koko ohjepaketti löytyy alta.

Kuva
Kuva

Komennot kääntää jokainen moottori yhdelle askeleelle ovat kiertotie ongelmalle, jossa jotkut askelmat suorittavat satunnaisesti pieniä hyppyjä käynnistyksen yhteydessä. Tämän kompensoimiseksi moottorit voidaan säätää alkuperäiseen asentoonsa ennen ratkaisuprosessia.

Vaihe 7: Johtopäätös

Kahdeksan kuukauden kehityksen, kiroamisen, näppäimistön lyömisen ja Q-botin tanssin jälkeen Q-bot oli vihdoin siinä vaiheessa, jossa ensimmäinen Rubikin kuutio ratkaistiin onnistuneesti. Kuution sekoitus piti lisätä manuaalisesti ohjausohjelmistoon, mutta kaikki toimi hyvin.

Lisäsin verkkokameran kiinnityksen pari viikkoa myöhemmin ja yliopistoni sääteli ohjelmiston lukemaan kuution automaattisesti otetuista kuvista. Tätä ei kuitenkaan ole vielä testattu hyvin ja se vaatii vielä parannuksia.

Kuva
Kuva

Jos tämä opettavainen herätti kiinnostuksesi, älä epäröi ja aloita oman Q-bot-version rakentaminen. Se voi aluksi tuntua pelottavalta, mutta se on vaivan arvoista, ja jos voisin tehdä sen, niin voit sinäkin.

Resurssit:

Laiteohjelmiston lähdekoodi:

github.com/Axodarap/QBot_firmware

Ohjausohjelmiston lähdekoodi

github.com/waldhube16/Qbot_SW

Suositeltava: