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 promjena: 2024-01-30 09:33
Zamislite da imate kodiranu Rubikovu kocku, znate onu zagonetku iz 80 -ih godina koju svi imaju, ali nitko zapravo ne zna riješiti, a vi je želite vratiti u izvorni obrazac. Srećom, ovih je dana vrlo lako pronaći upute za rješavanje. Dakle, idite na internet i pogledajte video kako naučiti okrenuti strane kako bi vam donijeli 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. Ne bi li bilo mnogo poetičnije da imate stroj koji je umjesto vas riješio sve te probleme? Da ste nešto izgradili svi bi vaši prijatelji bili zadivljeni? Mogu vam jamčiti da ne može biti mnogo bolje od promatranja vašeg stvaranja kako čini čuda i rješava Rubikovu kocku. Dođite i pridružite mi se na prekrasnom putovanju izgradnje Q-Bota, Rubikovog kockara s otvorenim kodom koji zasigurno neće oboriti svjetske rekorde, ali pružit će vam sate radosti (nakon što naravno prođete kroz sve frustracije tijekom procesa izgradnje).
Korak 1: Dizajniranje hardvera
Kompletan rješavač dizajniran je s CAD -om u Catii. Na taj način većina grešaka u projektiranju mogla bi se pronaći i ispraviti prije proizvodnje bilo kakvih fizičkih komponenti. Većina rješavača je 3D ispisana u PLA -i pomoću prusa MK3 pisača. Osim toga, korišten je i sljedeći hardver:
- 8 komada aluminijske šipke 8 mm (duljine 10 cm)
- 8 linearnih kugličnih ležajeva (LM8UU)
- nešto manje od 2 m razvodnog remena GT2 6 mm + nekoliko remenica
- 6 NEMA 17 bipolarnih koračnih motora
- 6 vozača koraka Polulu 4988
- Arudino Mega kao kontrolor projekta
- napajanje od 12 V 3A
- pretvarač s stepenicama prema dolje za sigurno napajanje arduina
- nekoliko vijaka i priključaka
- nešto š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 izravno na Rubikovu kocku s 3D tiskanim hvataljkama. To znači da se lijevo, desno, sprijeda i straga može izravno 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 uz linearni sustav tračnica. Sustav tračnica sastoji se od dva 8 kuglična ležaja koji su ugrađeni u šupljine u sanjkama, a cijele saonice voze se na dvije aluminijske osovine od 8 mm. Ispod možete vidjeti podsklop jedne osi rješavača.
Os x i y su u osnovi 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 odgovarajućih motora ovdje je vrlo važan. Glavni dio je da moraju biti dovoljno jaki da mogu okrenuti Rubikovu kocku. Ovdje je jedini problem što nijedan proizvođač Rubikovih kockica ne daje ocjenu zakretnog momenta. Dakle, morao sam improvizirati i napraviti svoja mjerenja.
Općenito, moment je definiran silom usmjerenom okomito na položaj rotacijske točke na udaljenosti r:
Dakle, kad bih mogao nekako izmjeriti silu primijenjenu na kocku, mogao bih izračunati okretni moment. Što sam upravo i učinio. Pričvrstila sam svoju kocku na policu na način da se samo jedna strana može pomicati. Da se oko kocke vezao niz, 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 točne težine koristio sam krumpir i nakon toga ga izmjerio. Nije najznanstvenija metoda, ali zato što ne pokušavam pronaći minimalni okretni moment sasvim je dovoljna.
Izvršio sam mjerenja tri puta i uzeo najveću vrijednost samo kako bih bio 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 dobiva se s
Uključivanjem svih vrijednosti, uključujući polovicu dijagonale Rubikove kocke, konačno se otkriva potrebni okretni moment.
Otišao sam s koračnim 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 u kojoj se nalazi sva potrebna elektronika. 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đena 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 ispisani i prilagođeni po potrebi. Možete preuzeti sve CAD datoteke na kraju ove datoteke. Sklop je uključivao uklapanje svih 3D ispisanih dijelova s kupljenim dijelovima, produžavanje kabela motora i pričvršćivanje svih dijelova na podnožje. Osim toga, stavio sam rukave oko kabela motora, samo da izgledaju urednije, te na njihove krajeve dodao JST konektore.
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 smanjenje snage koristi se za sigurno napajanje Arduina, a prilagođen je štit za Arduino koji je dizajniran za sve vozače koračnih motora. Vozači znatno olakšavaju upravljanje motorima. Za upravljanje koračnim motorom potreban je određeni kontrolni slijed, ali pomoću upravljačkih programa motora samo moramo generirati visoki impuls za svaki korak koji motor okreće. Osim toga, neki jst konektori dodani su na štit kako bi se lakše povezivali motori. Štit za Arduino čvrsto je izgrađen na komadu perfarbona, a nakon što se uvjerio 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 ga želite 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 stroju, a napisao ga je moj kolega, opet se veze na njegov izvorni kod mogu pronaći na kraju ove tabele. Dva dijela komuniciraju pomoću jednostavnog serijskog sučelja. Izračunava rješenje na temelju 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 pogreške pomoću jednostavnog serijskog monitora. Cjeloviti skup uputa nalazi se u nastavku.
Naredbe za okretanje svakog motora za jedan korak zaobilazno su 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 tipkovnici 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 dobro funkcioniralo.
Dodao sam nosač za web kameru nekoliko tjedana kasnije i moj fakultet je prilagodio softver za automatsko čitanje kocke sa snimljenih slika. Međutim, ovo još nije dobro testirano i još uvijek treba poboljšati.
Ako je ovo uputstvo izazvalo vaš 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 ja to mogu, možete i vi.
Resursi:
Izvorni kod firmvera:
github.com/Axodarap/QBot_firmware
Izvorni kod upravljačkog softvera
github.com/waldhube16/Qbot_SW
Preporučeni:
PyonAir - monitor zagađenja zraka s otvorenim kodom: 10 koraka (sa slikama)
PyonAir - monitor zagađenja zraka otvorenog koda: PyonAir je jeftin sustav za praćenje lokalnih razina onečišćenja zraka - konkretno, čestica. Temeljen na ploči Pycom LoPy4 i hardveru kompatibilnom s Groveom, sustav može prenositi podatke i preko LoRa-e i WiFi-a. Poduzeo sam ovaj p
Mini ITX računalo s otvorenim okvirom: 5 koraka (sa slikama)
Mini Frame ITX s otvorenim okvirom: Već neko vrijeme želim izgraditi malo stolno računalo. Također mi se jako svidjela ideja o kućištu u stilu testne klupe s otvorenim okvirom- 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 pločom mikrokontrolera LilyPad Arduino za izradu animiranog LED broša u obliku srca
Joy Robot (Robô Da Alegria) - 3D ispis s otvorenim kodom, Arduino pogonski robot!: 18 koraka (sa slikama)
Joy Robot (Robô Da Alegria) - Otvoreni izvorni 3D ispis, Arduino pogonski robot !: Prva nagrada na natjecanju s kotačima s instrukcijama, Druga nagrada na natjecanju Instructables Arduino i Drugoplasirana u izazovu Dizajn za djecu. Hvala svima koji su glasali za nas !!! Roboti stižu posvuda. Od industrijske primjene do vas
DIY profesionalna sigurnosna kamera za noćni vid s otvorenim kodom: 10 koraka (sa slikama)
DIY profesionalna sigurnosna kamera za noćni vid s otvorenim kodom: U ovom novom vodiču zajedno ćemo napraviti našu Raspberry Pi kameru za video nadzor s otvorenim kodom. Da, ovdje govorimo o pravoj vanjskoj nadzornoj kameri otvorenog koda, sposobnoj za noćni vid i detekciju pokreta, svi povezani s našim Jeedom