Indholdsfortegnelse:

Q -Bot - Open Source Rubiks kubeløser: 7 trin (med billeder)
Q -Bot - Open Source Rubiks kubeløser: 7 trin (med billeder)

Video: Q -Bot - Open Source Rubiks kubeløser: 7 trin (med billeder)

Video: Q -Bot - Open Source Rubiks kubeløser: 7 trin (med billeder)
Video: "Remove This Tiny Chip Before Using The Phone!" Edward Snowden 2024, Juli
Anonim
Image
Image
Billede
Billede

Forestil dig, at du har en krypteret Rubiks kube, du kender det puslespil fra 80'erne, som alle har, men ingen ved virkelig, hvordan de skal løse, og du vil bringe det tilbage i sit originale mønster. Heldigvis er det i disse dage meget let at finde løsningsinstruktioner. Så gå online se en video, lær hvordan du vender siderne for at bringe dig glæde. Efter at have gjort det et par gange, vil du dog indse, at der mangler noget. Et hul indeni, der ikke kan fyldes. Ingeniører/maker/hacker i dig kan simpelthen ikke være tilfredse med at løse noget så fantastisk på en så enkel måde. Ville det ikke være meget mere poetisk, hvis du havde en maskine, der klarede alt for dig? Hvis du havde bygget noget, ville alle dine venner blive overrasket over? Jeg kan garantere dig, at det ikke bliver meget bedre end at se din skabelse gøre underværker og løse en Rubiks terning. Så kom og vær med mig på den vidunderlige rejse med at bygge Q-Bot, open source Rubiks Cube Solver, der helt sikkert ikke vil slå nogen verdensrekorder, men vil give dig timers glæde (efter naturligvis at have været igennem alle frustrationerne under byggeprocessen).

Trin 1: Design af hardware

Den komplette løsning blev designet med CAD i Catia. På den måde kunne de fleste designfejl findes og rettes, før der fremstilles fysiske komponenter. Det meste af løsningen blev 3D -printet i PLA ved hjælp af en prusa MK3 -printer. Derudover blev følgende hardware brugt:

  • 8 stykker 8 mm aluminiumsstang (10 cm længde)
  • 8 lineære kuglelejer (LM8UU)
  • lidt under 2 m GT2 6mm tandrem + nogle remskiver
  • 6 NEMA 17 bipolære steppermotorer
  • 6 Polulu 4988 stepper -drivere
  • en Arudino Mega som controller for projektet
  • en 12 V 3A strømforsyning
  • en trin ned -konverter til sikkert at drive arduinoen
  • nogle skruer og stik
  • lidt krydsfiner til basen

Hardware beskrivelse

Dette afsnit dækker kort, hvordan Q-Bot selv fungerer, og hvor ovennævnte komponenter bruges. Nedenfor kan du se en gengivelse af den færdigmonterede CAD -model.

Q-bot fungerer ved at have fire motorer tilsluttet direkte til Rubiks kube med 3D-trykte gribere. Det betyder, at venstre, højre, forreste og bageste kan drejes direkte. Hvis toppen eller undersiden skal drejes, skal hele terningen drejes, og derfor skal to af motorerne bevæge sig væk. Dette gøres ved at fastgøre hver af grebsmotorerne på slæder, der drives af en anden trinmotor og et tandrem langs et lineært skinnesystem. Skinnesystemet består af to 8 kuglelejer, der er monteret i hulrum i slæden og hele slæden kører på to 8 mm aluminiumsaksler. Nedenfor kan du se undersamlingen for en akse af opløseren.

X- og y-aksen er stort set identiske de adskiller sig kun i højden på bæltets monteringspunkt, dette er så der ikke er kollisioner mellem de to seler når de er samlet fuldstændigt.

Billede
Billede

Trin 2: Vælg de rigtige motorer

Selvfølgelig er det meget vigtigt at vælge de rigtige motorer her. Hoveddelen er, at de skal være stærke nok til at kunne vende en Rubiks terning. Det eneste problem her er, at ingen producent af Rubiks terninger giver en momentvurdering. Så jeg var nødt til at improvisere og lave mine egne målinger.

Generelt defineres drejningsmoment af kraften vendt vinkelret på positionen af drejepunktet i afstanden r:

Billede
Billede
Billede
Billede

Så hvis jeg på en eller anden måde kunne måle kraften på kuben, kunne jeg beregne drejningsmomentet. Hvilket er præcis, hvad jeg gjorde. Jeg spændte min terning til en hylde på en måde, så kun den ene side kunne bevæge sig. At en snor blev bundet om terningen og en pose fastgjort i bunden. Nu var det bare at øge vægten i posen langsomt, indtil terningen drejede. I mangel af nøjagtige vægte brugte jeg kartofler og målte dem bagefter. Ikke den mest videnskabelige metode, men fordi jeg ikke forsøger at finde det mindste drejningsmoment, er det helt tilstrækkeligt.

Billede
Billede

Jeg foretog målingerne tre gange og tog den højeste værdi bare for at være sikker. Den resulterende vægt var 0,52 kg. På grund af Sir Isaac Newton ved vi, at Kraft er lig med masse gange acceleration.

Billede
Billede

Accelerationen er i dette tilfælde gravitationsacceleration. Så det krævede drejningsmoment er givet ved

Billede
Billede

Tilslutning af alle værdierne, herunder halvdelen af diagonalen af Rubiks terning, afslører endelig det nødvendige moment.

Billede
Billede

Jeg gik med steppermotorer, der er i stand til at anvende op til 0.4Nm, hvilket sandsynligvis er en overkill, men jeg ville være sikker.

Trin 3: Konstruktion af basen

Basen består af en meget enkel trækasse, og den rummer al den nødvendige elektronik. Den har et stik til at tænde og slukke for maskinen, en LED, der angiver, om den er tændt, en USB B -port og en stikkontakt til strømforsyningen. Det blev konstrueret ved hjælp af 15 mm krydsfiner, nogle skruer og en smule lim.

Billede
Billede
Billede
Billede
Billede
Billede
Billede
Billede

Trin 4: Samling af hardware

Nu med alle de nødvendige dele, inklusive basen, var Q-boten klar til at samle. De brugerdefinerede dele blev 3D -printet og justeret, hvor det var nødvendigt. Du kan downloade alle CAD -filer i slutningen af denne ible. Samlingen inkluderede montering af alle de 3D -printede dele med de købte dele, forlængelse af motorkablerne og skruing af alle delene til basen. Derudover lagde jeg ærmer rundt om motorkablerne, bare for at se lidt pænere ud, og tilføjede JST -stik til deres ender.

For at fremhæve vigtigheden af basen, jeg byggede, er her et før og efter skud af, hvordan forsamlingen så ud. At tide alt lidt op kan gøre en kæmpe forskel.

Billede
Billede
Billede
Billede

Trin 5: Elektronik

Hvad angår elektronikken er projektet ret simpelt. Der er en hoved 12V strømforsyning, der kan levere op til 3A strøm, som driver motorerne. Et nedtrapningsmodul bruges til sikkert at drive Arduino, og et brugerdefineret skjold til Arduino blev designet, der huser alle trinmotordrivere. Driverne gør styringen af motorerne meget lettere. Kørsel af en steppermotor kræver en bestemt kontrolsekvens, men ved at bruge motordrivere behøver vi kun at generere en høj puls for hvert trin, motoren skal dreje. Derudover blev der tilføjet nogle jst -stik til skærmen for at gøre tilslutning af motorerne lettere. Skærmen til Arduino var solidt bygget på et stykke perfboard og efter at have sørget for, at alt fungerer, som det skulle, blev det fremstillet af jlc pcb.

Her er før og efter af prototypen og den fremstillede pcb.

Billede
Billede
Billede
Billede

Trin 6: Software og serielt interface

Q-Bot er opdelt i to dele. På den ene side er der den hardware, der bliver styret af Arduino, på den anden side er der et stykke software, der beregner løsningsvejen for terningen baseret på den aktuelle scramble. Firmwaren, der kører på Arduino, blev skrevet af mig selv, men for at holde denne vejledning kort vil jeg ikke gå ind på detaljer om det her. Hvis du ønsker at kigge på det og lege med det, vil linket til mit git -lager blive vist i slutningen af dette dokument. Softwaren, der beregner løsningen, kører på en Windows -maskine og er skrevet af en af mine kollegaer, der kan igen findes links til hans kildekode i slutningen af denne ible. De to dele kommunikerer ved hjælp af en simpel seriel grænseflade. Det beregner løsningen baseret på Kociembas tofasealgoritme. Løsningssoftwaren sender en kommando bestående af to bytes til opløseren og venter på, at den returnerer en 'ACK'. På denne måde kan løseren testes og debugges ved hjælp af en simpel seriel skærm. Det komplette instruktionssæt findes herunder.

Billede
Billede

Kommandoerne til at dreje hver motor i et trin er en løsning på et problem, hvor nogle af stepperne tilfældigt ville udføre små spring ved opstart. For at kompensere for dette kan motorerne justeres til deres oprindelige position før løsningsprocessen.

Trin 7: Konklusion

Efter otte måneder med at udvikle, bande, slå på tastaturet og danse var Q-boten endelig på et tidspunkt, hvor det med succes blev løst sin første Rubiks terning. Kubens forvirring skulle indsættes manuelt i kontrolsoftwaren, men alt fungerede godt.

Jeg tilføjede en holder til et webcam et par uger senere, og mit college justerede softwaren til automatisk at læse terningen fra de billeder, der blev taget. Dette er dog ikke testet godt endnu og har stadig brug for nogle forbedringer.

Billede
Billede

Hvis dette instruktive udløste din interesse, skal du ikke tøve og begynde at bygge din helt egen version af Q-bot. Det kan virke skræmmende i starten, men det er umagen værd, og hvis jeg kunne gøre det, kan du også.

Ressourcer:

Firmwareens kildekode:

github.com/Axodarap/QBot_firmware

Kildekode til kontrolsoftwaren

github.com/waldhube16/Qbot_SW

Anbefalede: