Innehållsförteckning:

Q -Bot - Rubiks kublösare med öppen källkod: 7 steg (med bilder)
Q -Bot - Rubiks kublösare med öppen källkod: 7 steg (med bilder)

Video: Q -Bot - Rubiks kublösare med öppen källkod: 7 steg (med bilder)

Video: Q -Bot - Rubiks kublösare med öppen källkod: 7 steg (med bilder)
Video: REALISTIC MINECRAFT IN REAL LIFE! - Minecraft IRL Animations / In Real Life Minecraft Animations 2024, Juli
Anonim
Image
Image
Bild
Bild

Tänk dig att du har en krypterad Rubiks kub, du vet att pusslet från 80 -talet som alla har men ingen riktigt vet hur de ska lösa, och du vill återföra det till sitt ursprungliga mönster. Lyckligtvis nuförtiden är det väldigt enkelt att hitta lösningsinstruktioner. Så gå online och titta på en video. Lär dig hur du vänder sidorna för att ge dig glädje. Efter att ha gjort det ett par gånger kommer du dock att inse att det saknas något. Ett hål inuti som inte kan fyllas. Ingenjörerna/tillverkaren/hackaren inom dig kan helt enkelt inte nöja sig med att lösa något så fantastiskt på ett så enkelt sätt. Skulle det inte vara mycket mer poetiskt om du hade en maskin som klarade allt för dig? Om du hade byggt något skulle alla dina vänner bli förvånade över? Jag kan garantera dig att det inte blir mycket bättre än att se din skapelse göra underverk och lösa en Rubiks kub. Så kom och gå med mig på den underbara resan med att bygga Q-Bot, Rubiks kublösare med öppen källkod som verkligen inte kommer att slå några världsrekord, men kommer att ge dig timmar av glädje (efter att naturligtvis ha gått igenom alla frustrationer under byggprocessen).

Steg 1: Designa hårdvaran

Den kompletta lösaren designades med CAD i Catia. På så sätt kunde de flesta konstruktionsfelen hittas och korrigeras innan några fysiska komponenter tillverkas. Det mesta av lösaren var 3D -tryckt i PLA med en prusa MK3 -skrivare. Dessutom användes följande hårdvara:

  • 8 bitar av 8 mm aluminiumstång (10 cm längd)
  • 8 linjära kullager (LM8UU)
  • lite under 2 m GT2 6 mm tandrem + några remskivor
  • 6 NEMA 17 bipolära stegmotorer
  • 6 Polulu 4988 stepper -drivrutiner
  • en Arudino Mega som controller för projektet
  • en 12 V 3A strömförsörjning
  • en nedgångskonverterare för att driva arduino på ett säkert sätt
  • några skruvar och kontakter
  • lite plywood för basen

Maskinvarubeskrivning

Detta avsnitt tar kort upp hur Q-Bot till och med fungerar och var de ovan nämnda komponenterna används. Nedan kan du se en återgivning av den färdigmonterade CAD -modellen.

Q-bot fungerar genom att ha fyra motorer kopplade direkt till Rubiks kub med 3D-tryckta gripdon. Det betyder att vänster, höger, fram och bak kan vridas direkt. Om ovansidan eller undersidan måste vändas måste hela kuben vridas och två av motorerna måste flyttas bort. Detta görs genom att fästa var och en av gripmotorerna på slädar som drivs av en annan stegmotor och ett kuggrem längs ett linjärt skensystem. Rälssystemet består av två 8 kullager som är monterade i hålrum i släden och hela släden åker på två 8 mm aluminiumaxlar. Nedan kan du se delmonteringen av lösarens axel.

X- och y-axeln är i princip identiska de skiljer sig bara i höjden på bältets fästpunkt, detta är så att det inte blir några kollisioner mellan de två remmarna när de är helt monterade.

Bild
Bild

Steg 2: Välj rätt motor

Naturligtvis är det mycket viktigt att välja rätt motor här. Huvuddelen är att de måste vara tillräckligt starka för att kunna vända en Rubiks kub. Det enda problemet här är att ingen tillverkare av Rubiks kuber ger ett vridmoment. Så jag var tvungen att improvisera och göra mina egna mätningar.

I allmänhet definieras vridmoment av kraften vinkelrätt mot rotationspunktens position på avståndet r:

Bild
Bild
Bild
Bild

Så om jag på något sätt kunde mäta kraften på kuben kunde jag beräkna vridmomentet. Vilket är precis vad jag gjorde. Jag klämde fast min kub på en hylla på ett sätt som bara ena sidan kunde röra sig. Att ett snöre fastgjordes runt kuben och en påse fäst längst ner. Nu var det bara att sakta öka vikten i påsen tills kuben vände. Eftersom det inte fanns några exakta vikter använde jag potatis och mätte dem efteråt. Inte den mest vetenskapliga metoden men eftersom jag inte försöker hitta det minsta vridmomentet är det tillräckligt.

Bild
Bild

Jag gjorde mätningarna tre gånger och tog högsta värde bara för att vara säker. Den resulterande vikten var 0,52 kg. Nu på grund av Sir Isaac Newton vet vi att Force är lika med massa gånger acceleration.

Bild
Bild

Accelerationen, i detta fall, är gravitationell acceleration. Så det erforderliga vridmomentet ges av

Bild
Bild

Att koppla in alla värden, inklusive hälften av diagonalen i Rubiks kub, avslöjar slutligen det erforderliga vridmomentet.

Bild
Bild

Jag gick med stegmotorer som kan applicera upp till 0,4Nm vilket förmodligen är en överkillning, men jag ville vara säker.

Steg 3: Konstruera basen

Basen består av en mycket enkel trälåda och den rymmer all nödvändig elektronik. Den har en kontakt för att slå på och stänga av maskinen, en lysdiod för att indikera om den är påslagen, en USB B -port och ett uttag för strömförsörjningen. Den konstruerades med 15 mm plywood, några skruvar och lite lim.

Bild
Bild
Bild
Bild
Bild
Bild
Bild
Bild

Steg 4: Montering av hårdvaran

Nu med alla nödvändiga delar, inklusive basen, var Q-boten redo att montera. De anpassade delarna trycktes 3D och justerades vid behov. Du kan ladda ner alla CAD -filer i slutet av denna ible. Monteringen inkluderade montering av alla 3D -tryckta delar med de köpta delarna, förlängning av motorkablarna och skruvning av alla delar till basen. Dessutom la jag ärmarna runt motorkablarna, bara för att se lite snyggare ut och lade till JST -anslutningar i deras ändar.

För att framhäva vikten av basen jag byggde, här är en före och efter bild av hur församlingen såg ut. Att tona upp allt lite kan göra en enorm skillnad.

Bild
Bild
Bild
Bild

Steg 5: Elektronik

När det gäller elektronik är projektet ganska enkelt. Det finns en huvudsaklig 12V strömförsörjning som kan leverera upp till 3A ström, som driver motorerna. En step-down-modul används för att driva Arduino på ett säkert sätt och en anpassad skärm för Arduino designades som rymmer alla stegmotordrivrutiner. Förarna gör det mycket lättare att styra motorerna. Att köra en stegmotor kräver en specifik styrsekvens, men med hjälp av motorförare behöver vi bara generera en hög puls för varje steg som motorn ska svänga. Dessutom lades några jst -kontakter till skärmen för att göra anslutningen av motorerna enklare. Skölden för Arduino byggdes fast på en bit av perfektbräda och efter att ha sett till att allt fungerar som det var tänkt, tillverkades det av jlc pcb.

Här är före och efter av prototypen och den tillverkade kretskortet.

Bild
Bild
Bild
Bild

Steg 6: Programvara och seriellt gränssnitt

Q-Bot är uppdelad i två delar. Å ena sidan finns hårdvaran som styrs av Arduino, å andra sidan finns det en mjukvara som beräknar lösningsbanan för kuben baserat på den aktuella krypteringen. Den fasta programvaran som körs på Arduino skrevs av mig själv, men för att hålla den här guiden kort kommer jag inte att gå in på detaljer om det här. Om du vill titta på det och leka med det, kommer länken till mitt git -arkiv att finnas i slutet av detta dokument. Programvaran som beräknar lösningen körs på en Windows -maskin och skrevs av en kollega till mig. Länkar till hans källkod återfinns i slutet av denna ible. De två delarna kommunicerar med ett enkelt seriellt gränssnitt. Den beräknar lösningen baserat på Kociembas tvåfasalgoritm. Lösningsmjukvaran skickar ett kommando bestående av två byte till lösaren och väntar på att den ska returnera en ‘ACK’. På så sätt kan lösaren testas och felsökas med en enkel seriell bildskärm. Den kompletta instruktionsuppsättningen hittar du nedan.

Bild
Bild

Kommandona för att vrida varje motor i ett steg är en lösning på ett problem där några av stegarna slumpmässigt skulle utföra små hopp vid uppstart. För att kompensera för detta kan motorerna justeras till sitt ursprungliga läge före lösningsprocessen.

Steg 7: Slutsats

Efter åtta månaders utveckling, svordom, slag på tangentbordet och dans var Q-boten äntligen på en punkt där den första Rubiks kub lyckades. Kubens kryptering måste sättas in manuellt i kontrollprogramvaran, men allt fungerade bra.

Jag lade till ett fäste för en webbkamera ett par veckor senare och mitt college justerade programvaran för att läsa kuben automatiskt från bilderna som tagits. Detta har dock inte testats bra än och behöver fortfarande förbättras.

Bild
Bild

Om detta instruerbara väckte ditt intresse, tveka inte och börja bygga din helt egen version av Q-bot. Det kan verka skrämmande till en början, men det är mycket värt ansträngningen och om jag kunde göra det kan du också.

Resurser:

Firmware -källkod:

github.com/Axodarap/QBot_firmware

Kontrollkodens källkod

github.com/waldhube16/Qbot_SW

Rekommenderad: