Sadržaj:
- Korak 1: Dizajniranje hardvera
- Korak 2: Odabir pravih motora
- Korak 3: Konstrukcija baze
- Korak 4: Sklapanje hardvera
- Korak 5: Elektronika
- Korak 6: Softver i serijsko sučelje
- Korak 7: Zaključak
Video: Q -Bot - rješavač Rubikove kocke s otvorenim kodom: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
Zamislite da imate kodiranu Rubikovu kocku, znate onu zagonetku iz 80 -ih godina koju svi imaju, ali zapravo niko ne zna kako je riješiti, i želite je vratiti u njen izvorni obrazac. Na sreću ovih je dana vrlo lako pronaći upute za rješavanje. Zato idite na internet i pogledajte video kako naučiti kako okrenuti strane da vam donesu radost. Nakon što ste to učinili nekoliko puta, shvatit ćete da nešto nedostaje. Unutrašnja rupa koja se ne može popuniti. Inženjeri/proizvođač/haker u vama jednostavno ne mogu biti zadovoljni rješavanjem nečeg tako nevjerojatnog na tako jednostavan način. Zar ne bi bilo mnogo poetičnije da imate mašinu koja je umjesto vas riješila sve te probleme? Da ste izgradili nešto svi vaši prijatelji bi bili zadivljeni? Mogu vam garantirati da ništa nije bolje od gledanja kako vaša kreacija čini čuda i rješava Rubikovu kocku. Dođite i pridružite mi se na prekrasnom putovanju u izgradnji Q-Bota, Rubikovog kockara s otvorenim kodom koji zasigurno neće oboriti svjetske rekorde, ali će vam pružiti sate radosti (nakon što ste naravno prošli kroz sve frustracije tokom procesa izgradnje).
Korak 1: Dizajniranje hardvera
Kompletan rješavač je dizajniran sa CAD -om u Catii. Na ovaj način većina grešaka u dizajnu mogla bi se pronaći i ispraviti prije proizvodnje bilo kakvih fizičkih komponenti. Većina rješavača je 3D štampana u PLA -i pomoću prusa MK3 štampača. Osim toga, korišten je i sljedeći hardver:
- 8 komada aluminijumske šipke 8 mm (dužine 10 cm)
- 8 linearnih kugličnih ležajeva (LM8UU)
- nešto manje od 2 m razvodnog remena GT2 6 mm + nekoliko remenica
- 6 bipolarnih koračnih motora NEMA 17
- 6 pokretačkih programa Polulu 4988
- Arudino Mega kao kontrolor projekta
- napajanje od 12 V 3A
- pretvarač sa stepenicama prema dolje za sigurno napajanje arduina
- nekoliko vijaka i konektora
- malo šperploče za podlogu
Opis hardvera
Ovaj odjeljak ukratko pokriva kako Q-Bot uopće funkcionira i gdje se koriste gore navedene komponente. Ispod možete vidjeti prikaz potpuno sastavljenog CAD modela.
Q-bot radi tako što ima četiri motora pričvršćena direktno na Rubikovu kocku sa 3D štampanim hvataljkama. To znači da se lijevo, desno, sprijeda i straga može direktno okretati. Ako je potrebno okrenuti gornju ili donju stranu, mora se okrenuti cijela kocka, pa se dva motora moraju odmaknuti. To se postiže pričvršćivanjem svakog zahvatnog motora na sanjke koje pokreće drugi koračni motor i razvodni remen duž linearnog šinskog sistema. Šinski sistem se sastoji od dva 8 kuglična ležaja koji su montirani u šupljine u sanjkama, a cijele saonice voze se na dvije aluminijumske osovine od 8 mm. Ispod možete vidjeti podsklop jedne osi rješavača.
Osi x i y u osnovi su identične, razlikuju se samo po visini točke ugradnje pojasa, to je tako da nema sudara između dva pojasa kada su potpuno sastavljeni.
Korak 2: Odabir pravih motora
Naravno, odabir pravih motora ovdje je vrlo važan. Glavni dio je da oni moraju biti dovoljno jaki da mogu okrenuti Rubikovu kocku. Jedini problem ovdje je što nijedan proizvođač Rubikovih kocki ne daje ocjenu zakretnog momenta. Pa sam morao improvizirati i napraviti svoja mjerenja.
Općenito, moment je definiran silom usmjerenom okomito na položaj rotacijske točke na udaljenosti r:
Dakle, ako bih mogao nekako izmjeriti silu primijenjenu na kocku, mogao bih izračunati okretni moment. Što sam i uradio. Pričvrstila sam svoju kocku na policu na način da se samo jedna strana može pomicati. Da je oko kocke bio vezan konopac, a na dnu pričvršćena vrećica. Sada je preostalo samo polako povećavati težinu u vreći dok se kocka ne okrene. Zbog nedostatka tačnih težina koristio sam krompir i nakon toga ga izmjerio. Nije najnaučnija metoda, ali zato što ne pokušavam pronaći minimalni okretni moment sasvim je dovoljan.
Izvršio sam mjerenja tri puta i uzeo najveću vrijednost samo da budem siguran. Dobivena težina bila je 0,52 kg. Zbog Sir Isaaca Newtona znamo da je sila jednaka masi puta ubrzanju.
Ubrzanje je, u ovom slučaju, gravitacijsko ubrzanje. Dakle, potrebni zakretni moment je određen sa
Uključivanjem svih vrijednosti, uključujući polovicu dijagonale Rubikove kocke, konačno se otkriva potrebni okretni moment.
Išao sam sa stepper motorima koji mogu primijeniti do 0,4 Nm što je vjerojatno pretjerano, ali htio sam biti siguran.
Korak 3: Konstrukcija baze
Baza se sastoji od vrlo jednostavne drvene kutije i sadrži svu potrebnu elektroniku. Sadrži utikač za uključivanje i isključivanje uređaja, LED diodu koja pokazuje je li uključen, USB B priključak i utičnicu za napajanje. Izrađen je od šperploče od 15 mm, nekoliko vijaka i malo ljepila.
Korak 4: Sklapanje hardvera
Sada sa svim potrebnim dijelovima, uključujući i bazu, Q-bot je bio spreman za sastavljanje. Prilagođeni dijelovi su 3D štampani i prilagođavani po potrebi. Možete preuzeti sve CAD datoteke na kraju ove tabele. Sklop je uključivao spajanje svih 3D štampanih dijelova sa kupljenim dijelovima, produžavanje kabela motora i pričvršćivanje svih dijelova na podnožje. Osim toga, stavio sam rukave oko kablova motora, samo da izgledaju urednije, i dodao krajeve JST.
Kako bismo istakli važnost baze koju sam izgradio, evo snimka prije i poslije kako je sklop izgledao. Malo sve popraviti može napraviti veliku razliku.
Korak 5: Elektronika
Što se tiče elektronike, projekt je prilično jednostavan. Postoji glavno napajanje od 12 V, koje može isporučiti do 3A struje, a koje napaja motore. Modul za smanjivanje koristi se za sigurno napajanje Arduina, a dizajniran je prilagođeni štit za Arduino koji sadrži sve vozače koračnih motora. Vozači znatno olakšavaju upravljanje motorima. Za upravljanje koračnim motorom potrebna je određena sekvenca upravljanja, ali pomoću upravljačkih programa motora potrebno je samo generirati visoki impuls za svaki korak koji motor okreće. Osim toga, neki jst konektori su dodani u štit za lakše povezivanje motora. Štit za Arduino čvrsto je izgrađen na komadu perfarbona, a nakon što se pobrinuo da sve radi kako je trebalo, proizveo ga je jlc pcb.
Evo prije i poslije prototipa i proizvedene ploče.
Korak 6: Softver i serijsko sučelje
Q-Bot je podijeljen u dva dijela. S jedne strane postoji hardver koji kontrolira Arduino, s druge strane postoji komad softvera koji izračunava put rješavanja kocke na temelju trenutnog kodiranja. Firmver koji radi na Arduinu sam napisao, ali kako bi ovaj vodič bio kratak, ovdje neću ulaziti u detalje o njemu. Ako želite to pogledati i poigrati se s njim, veza na moje git spremište bit će navedena na kraju ovog dokumenta. Softver koji izračunava rješenje radi na Windows mašini i napisao ga je moj kolega, a opet veze do njegovog izvornog koda mogu se pronaći na kraju ove tabele. Dva dijela komuniciraju pomoću jednostavnog serijskog sučelja. Izračunava rješenje na osnovu Kociembinog dvofaznog algoritma. Softver za rješavanje šalje naredbu koja se sastoji od dva bajta rješavaču i čeka da vrati "ACK". Na ovaj način se rješavač može testirati i otkloniti greške pomoću jednostavnog serijskog monitora. Kompletan skup instrukcija možete pronaći ispod.
Naredbe za okretanje svakog motora za jedan korak su zaobilazno rješenje za problem u kojem bi neki steperi nasumično izvodili male skokove nakon uključivanja. Kako bi se to kompenziralo, motori se mogu postaviti u početni položaj prije procesa rješavanja.
Korak 7: Zaključak
Nakon osam mjeseci razvoja, psovanja, udaranja po tastaturi i plesa Q-bot je konačno bio na mjestu gdje je uspješno riješena njegova prva Rubikova kocka. Kockanje kocke moralo se ručno umetnuti u upravljački softver, ali sve je radilo dobro.
Nekoliko sedmica kasnije dodao sam nosač za web kameru i moj fakultet je prilagodio softver za automatsko čitanje kocke sa snimljenih slika. Međutim, ovo još nije dobro testirano i potrebno je još poboljšanja.
Ako vam je ovo uputstvo izazvalo interes, ne ustručavajte se i počnite graditi svoju vlastitu verziju Q-bota. U početku bi moglo izgledati zastrašujuće, ali vrijedno je truda, a ako bih ja to mogao, možete i vi.
Resursi:
Izvorni kod firmvera:
github.com/Axodarap/QBot_firmware
Izvorni kod upravljačkog softvera
github.com/waldhube16/Qbot_SW
Preporučuje se:
E -kocke - Arduino kocka/kocke 1 do 6 kockice + D4, D5, D8, D10, D12, D20, D24 i D30: 6 koraka (sa slikama)
E -kockice - Arduino kocka/kocke 1 do 6 kockice + D4, D5, D8, D10, D12, D20, D24 i D30: Ovo je jednostavan arduino projekt za izradu elektroničke kocke. Moguće je izabrati za 1 do 6 kockica ili 1 od 8 posebnih kockica. Odabir se vrši jednostavnim okretanjem rotacijskog kodera. Ovo su značajke: 1 matrica: prikazuje velike točke 2-6 kockica: prikazuje točke
Mini ITX PC s otvorenim okvirom: 5 koraka (sa slikama)
Open Frame Mini ITX PC: Želeo sam da napravim mali desktop računar već duže vreme. Takođe mi se jako svidjela ideja o otvorenoj šasiji u okviru testnog stola- nešto što bi mi omogućilo jednostavno uklanjanje/zamjenu komponenti. Moji zahtjevi za hardverom bili su prvenstveno
LilyPad Arduino broš s otvorenim srcem: 5 koraka (sa slikama)
Otvoreno srce LilyPad Arduino broš: Evo kako kombinirati komplet otvorenog srca Jimmiea Rogersa s LilyPad Arduino pločom mikrokontrolera za izradu animiranog LED broša u obliku srca
Upozorenje o otvorenim vratima: 11 koraka
Upozorenje o otvorenim vratima: Izgleda li i vaš ljubimac kao da ima raketni paket svaki put kad vidi otvorenu kapiju? Ovaj projekt treba pomoći da se vidi kada su vrata otvorena nakon radnog vremena. Naš mali jazavčar voli izaći na svoju posljednju patrolu oko 22 sata kada je vani već mrak
Sendvič sa pecivom sa otvorenim licem: 5 koraka
Otvoreni sendvič sa pecivom: Odličan sendvič sa pecivom sa paradajzom, sirom, ćuretinom i (naravno) pecivom