INHOUDSOPGAWE:
- Stap 1: Ontwerp die hardeware
- Stap 2: Kies die regte motors
- Stap 3: Bou die basis
- Stap 4: Monteer die hardeware
- Stap 5: Elektronika
- Stap 6: Sagteware en seriële koppelvlak
- Stap 7: Gevolgtrekking
Video: Q -Bot - die Open Source Rubik's Cube Solver: 7 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
Stel jou voor dat jy 'n deurmekaar Rubik's Cube het, jy weet die legkaart uit die 80's wat almal het, maar niemand weet regtig hoe om dit op te los nie, en jy wil dit weer in sy oorspronklike patroon terugbring. Gelukkig is dit deesdae baie maklik om oplossingsinstruksies te vind. Kyk aanlyn na 'n video, leer hoe u die kante kan draai om vreugde te verskaf. Nadat u dit 'n paar keer gedoen het, sal u egter besef dat daar iets ontbreek. 'N Gat binne wat nie gevul kan word nie. Die ingenieurs/vervaardiger/hacker in u kan eenvoudig nie tevrede wees met die oplossing van iets so wonderliks op so 'n eenvoudige manier nie. Sou dit nie baie meer poëties wees as u 'n masjien gehad het wat al die oplossings vir u gedoen het nie? As jy iets sou bou, sou al jou vriende verbaas wees? Ek kan u verseker dat dit nie veel beter word as om te sien hoe u skepping wondere doen en 'n Rubik's Cube oplos nie. Kom dus saam met my op die wonderlike reis van die bou van Q-Bot, die open source Rubik's Cube Solver wat beslis geen wêreldrekords sal slaan nie, maar u ure se vreugde sal gee (nadat u natuurlik deur al die frustrasies gegaan het) tydens die bouproses).
Stap 1: Ontwerp die hardeware
Die volledige oplossing is ontwerp met CAD in Catia. Op hierdie manier kan die meeste ontwerpfoute gevind en reggestel word voordat enige fisiese komponente vervaardig word. Die grootste deel van die oplossing is 3D gedruk in PLA met 'n prusa MK3 -drukker. Daarbenewens is die volgende hardeware gebruik:
- 8 stukke 8 mm aluminiumstaaf (10 cm lank)
- 8 lineêre kogellagers (LM8UU)
- 'n bietjie minder as 2 m GT2 6 mm -riem + 'n paar katrolle
- 6 NEMA 17 bipolêre stepper motors
- 6 Polulu 4988 stepper bestuurders
- 'n Arudino Mega as die beheerder van die projek
- 'n 12 V 3A kragtoevoer
- 'n afwaartse omskakelaar om die arduino veilig aan te dryf
- 'n paar skroewe en verbindings
- 'n paar laaghout vir die basis
Hardeware beskrywing
Hierdie afdeling dek kortliks hoe die Q-Bot selfs funksioneer en waar bogenoemde komponente gebruik word. Hieronder kan u 'n weergawe van die volledig saamgestelde CAD -model sien.
Die Q-bot werk deurdat vier motors direk met die 3D-gedrukte grypers aan die Rubik's Cube gekoppel is. Dit beteken dat links, regs, voor en agter direk gedraai kan word. As die bokant of onderkant gedraai moet word, moet die hele kubus gedraai word en moet twee van die motors wegbeweeg. Dit word gedoen deur elkeen van die grypmotors aan sleë vas te maak wat deur 'n ander stepper motor aangedryf word en 'n tandriem langs 'n lineêre spoorstelsel. Die spoorstelsel bestaan uit twee 8 kogellagers wat in holtes in die slee gemonteer is en die hele slee ry op twee 8 mm aluminium skagte. Hieronder kan u die sub -samestelling van een as van die oplossing sien.
Die x- en die y-as is basies identies; dit verskil slegs in die hoogte van die monteerpunt van die gordel, dit is sodat daar geen botsings tussen die twee bande is wanneer dit volledig gemonteer is nie.
Stap 2: Kies die regte motors
Natuurlik is die keuse van die regte motors hier baie belangrik. Die belangrikste deel is dat hulle sterk genoeg moet wees om 'n Rubik -kubus te kan draai. Die enigste probleem hier is dat geen vervaardiger van Rubik se blokkies 'n wringkrag -gradering gee nie. Ek moes dus improviseer en my eie metings doen.
In die algemeen word wringkrag gedefinieer deur die krag wat loodreg op die posisie van die rotasiepunt op die afstand r gerig is:
Dus, as ek die krag op die kubus op een of ander manier kon meet, kon ek die wringkrag bereken. Dit is presies wat ek gedoen het. Ek het my kubus op 'n rak vasgemaak sodat slegs een kant kon beweeg. Dat 'n tou om die kubus vasgemaak word en 'n sak aan die onderkant vasgemaak word. Nou was dit net om die gewig in die sak stadig te verhoog totdat die kubus draai. Omdat daar geen akkurate gewigte was nie, het ek aartappels gebruik en dit daarna gemeet. Nie die mees wetenskaplike metode nie, maar omdat ek nie die minimum wringkrag probeer vind nie, is dit redelik voldoende.
Ek het die metings drie keer gedoen en die hoogste waarde geneem net om veilig te wees. Die gevolglike gewig was 0,52 kg. As gevolg van Sir Isaac Newton weet ons dat Force gelyk is aan massa en versnelling.
Die versnelling, in hierdie geval, is die gravitasieversnelling. Die vereiste wringkrag word dus gegee deur
Deur al die waardes in te sluit, insluitend die helfte van die diagonaal van die Rubik -kubus, word uiteindelik die vereiste wringkrag onthul.
Ek het met stapmotors gegaan wat tot 0,4Nm kan toedien, wat waarskynlik 'n oormaat is, maar ek wou veilig wees.
Stap 3: Bou die basis
Die basis bestaan uit 'n baie eenvoudige houtkas en bevat al die nodige elektronika. Dit bevat 'n prop om die masjien aan en uit te skakel, 'n LED om aan te dui of dit aangeskakel is, 'n USB B -poort en 'n aansluiting vir die kragtoevoer. Dit is gebou met laaghout van 15 mm, 'n paar skroewe en 'n bietjie gom.
Stap 4: Monteer die hardeware
Met al die vereiste onderdele, insluitend die basis, was die Q-bot gereed om te monteer. Die pasgemaakte onderdele is 3D gedruk en waar nodig aangepas. U kan al die CAD -lêers aan die einde van hierdie ible aflaai. Die samestelling het ingesluit dat al die 3D -gedrukte onderdele by die gekoopte onderdele gepas is, die motorkabels verleng en al die onderdele aan die voet vasgeskroef is. Boonop het ek moue om die motorkabels gesit, net om 'n bietjie netjieser te lyk, en ek het JST -verbindings aan hul ente aangebring.
Om die belangrikheid van die basis wat ek gebou het, te beklemtoon, is hier 'n voor- en na -opname van hoe die vergadering gelyk het. Om alles 'n bietjie op te tel, kan 'n groot verskil maak.
Stap 5: Elektronika
Wat elektronika betref, is die projek redelik eenvoudig. Daar is 'n 12V -kragtoevoer wat tot 3A stroom kan lewer, wat die motors aandryf. 'N Trap-af-module word gebruik om die Arduino veilig aan te dryf en 'n pasgemaakte skild vir die Arduino is ontwerp wat al die stapmotorbestuurders huisves. Die bestuurders maak die bestuur van die motors baie makliker. Om 'n stappermotor te bestuur, vereis 'n spesifieke kontrolevolgorde, maar deur motorbestuurders te gebruik, hoef ons slegs 'n hoë polsslag te genereer vir elke stap wat die motor moet draai. Boonop is 'n paar jst -aansluitings by die skerm aangebring om die koppeling van die motors makliker te maak. Die skild vir die Arduino is stewig gebou op 'n stuk perfboard en nadat hy seker gemaak het dat alles werk soos dit veronderstel was, word dit vervaardig deur jlc pcb.
Hier is die voor en na die prototipe en die vervaardigde PCB.
Stap 6: Sagteware en seriële koppelvlak
Die Q-Bot is in twee dele verdeel. Aan die een kant is daar die hardeware wat deur die Arduino beheer word, aan die ander kant is daar 'n stuk sagteware wat die oplossing vir die kubus bereken op grond van die huidige skommel. Die firmware wat op die Arduino werk, is deur myself geskryf, maar om hierdie gids kort te hou, sal ek hier geen besonderhede hieroor uitvoer nie. As u daarna wil kyk en daarmee wil speel, word die skakel na my git -bewaarplek aan die einde van hierdie dokument verskaf. Die sagteware wat die oplossing bereken, loop op 'n Windows -masjien en is deur 'n kollega van my geskryf. Daar is weer skakels na sy bronkode aan die einde van hierdie artikel. Die twee dele kommunikeer met behulp van 'n eenvoudige seriële koppelvlak. Dit bereken die oplossing op grond van die twee -fase algoritme van Kociemba. Die oplossingsagteware stuur 'n opdrag bestaande uit twee grepe na die oploser en wag totdat dit 'ACK' terugstuur. Op hierdie manier kan die oplossing getoets en ontfout word met behulp van 'n eenvoudige seriële monitor. Die volledige instruksieset kan hieronder gevind word.
Die opdragte om elke motor vir een stap te draai, is 'n oplossing vir 'n probleem waar sommige van die stappers lukraak klein spronge sal doen wanneer hulle aanskakel. Om dit te vergoed, kan die motors voor die oplosproses in hul oorspronklike posisie aangepas word.
Stap 7: Gevolgtrekking
Na agt maande se ontwikkeling, vloek, klavier slaan en dans, was die Q-bot uiteindelik op 'n punt waar sy eerste Rubik's Cube suksesvol opgelos is. Die skarrel van die kubus moes met die hand in die beheersagteware geplaas word, maar alles het goed gewerk.
Ek het 'n paar weke later 'n houer vir 'n webcam bygevoeg en my kollege het die sagteware aangepas om die kubus outomaties te lees uit die beelde wat geneem is. Dit is egter nog nie goed getoets nie en moet nog verbeter word.
As hierdie opdrag jou belangstelling aangewakker het, moet asseblief nie huiwer nie en begin met die bou van jou eie weergawe van die Q-bot. Dit lyk aanvanklik afskrikwekkend, maar dit is die moeite werd, en as ek dit kon doen, kan u dit ook doen.
Hulpbronne:
Bronkode van die firmware:
github.com/Axodarap/QBot_firmware
Bronkode van die beheersagteware
github.com/waldhube16/Qbot_SW
Aanbeveel:
Arduino -leerderstel (open source): 7 stappe (met foto's)
Arduino-leerderpakket (open source): as u 'n beginner in die Arduino-wêreld is en Arduino gaan leer, het u hierdie praktiese ondervinding en hierdie kit vir u. Hierdie kit is ook 'n goeie keuse vir die onderwysers wat Arduino op 'n maklike manier wil leer
PyonAir - 'n Open Source -lugbesoedelingsmonitor: 10 stappe (met foto's)
PyonAir - 'n Open Source -lugbesoedelingsmonitor: Die PyonAir is 'n goedkoop stelsel vir die monitering van plaaslike lugbesoedelingsvlakke - spesifiek deeltjies. Gebaseer op die Pycom LoPy4-bord en Grove-versoenbare hardeware, kan die stelsel data oordra oor beide LoRa en WiFi. Ek het hierdie p onderneem
The 'Sup - 'n muis vir mense met Quadriplegia - lae koste en open source: 12 stappe (met foto's)
The 'Sup - 'n muis vir mense met Quadriplegia - lae koste en open source: In die lente van 2017 het die familie van my beste vriend my gevra of ek na Denver wil vlieg en hulle met 'n projek wil help. Hulle het 'n vriend, Allen, wat quadriplegia het as gevolg van 'n bergfietsongeluk. Ek en Felix (my vriend) het vinnig gaan kyk
Joy Robot (Robô Da Alegria) - Open Source 3D -gedrukte, Arduino -aangedrewe robot !: 18 stappe (met foto's)
Joy Robot (Robô Da Alegria) - Open Source 3D -gedrukte, Arduino -aangedrewe robot!: Eerste prys in die Instructables Wheels Contest, Tweede prys in die Instructables Arduino Contest, en naaswenner in die Design for Kids Challenge. Dankie aan almal wat op ons gestem het !!! Robotte kom oral oor. Van industriële toepassings tot u
ARS - Arduino Rubik Solver: 13 stappe (met foto's)
ARS - Arduino Rubik Solver: ARS is 'n volledige stelsel om Rubik se kubus op te los: ja, nog 'n robot om die kubus op te los! ARS is 'n drie jaar lange skoolprojek gemaak met 3D -gedrukte onderdele en lasersnitstrukture: 'n Arduino ontvang die korrekte volgorde wat gegenereer word deur 'n tuisgemaakte bank