Indholdsfortegnelse:
- Trin 1: Design af hardware
- Trin 2: Vælg de rigtige motorer
- Trin 3: Konstruktion af basen
- Trin 4: Samling af hardware
- Trin 5: Elektronik
- Trin 6: Software og serielt interface
- Trin 7: Konklusion
Video: Q -Bot - Open Source Rubiks kubeløser: 7 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
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.
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:
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.
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.
Accelerationen er i dette tilfælde gravitationsacceleration. Så det krævede drejningsmoment er givet ved
Tilslutning af alle værdierne, herunder halvdelen af diagonalen af Rubiks terning, afslører endelig det nødvendige moment.
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.
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.
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.
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.
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.
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:
Let tilt-baseret farveændrende trådløs Rubiks kubelampe: 10 trin (med billeder)
Let tilt-baseret farveændring af trådløs Rubiks kubelampe: I dag skal vi bygge denne fantastiske Rubiks kube-lignende lampe, der skifter farve baseret på hvilken side der er opad. Terningen kører på et lille LiPo-batteri, opladet af et standard mikro-usb-kabel, og har i min test en batterilevetid på flere dage. Det her
Funktionelt USB -flashdrev Rubiks Cube: 7 trin (med billeder)
Funktionelt USB Flash Drive Rubiks Cube: I denne vejledning vil jeg vise dig, hvordan du laver dit eget Rubik USB Flash Drive Du kan se det færdige produkt i følgende video:
Camouflaged Power-Source Liberator: 8 trin (med billeder)
Camouflaged Power-Source Liberator: En enkel løsning til at tænde for lavspændings DC-enheder i offentlige rum. Når du tilslutter dette, driver et af stikket en stikkontakt på en lokkekasse, og det andet stik leverer en konstant strømkilde til en lavspændings DC-enhed. Dette
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
BricKuber Project - en Raspberry Pi Rubiks Cube Solving Robot: 5 trin (med billeder)
BricKuber Project - en Raspberry Pi Rubiks Cube Solving Robot: BricKuber kan løse en Rubiks kube på cirka mindre end 2 minutter. BricKuber er en open source Rubiks kubeopløsningsrobot, du kan bygge selv. Vi ville bygge en Rubiks kubeopløsningsrobot med Raspberry Pi. Frem for at gå til