Innehållsförteckning:
- Steg 1: Designa hårdvaran
- Steg 2: Välj rätt motor
- Steg 3: Konstruera basen
- Steg 4: Montering av hårdvaran
- Steg 5: Elektronik
- Steg 6: Programvara och seriellt gränssnitt
- Steg 7: Slutsats
Video: Q -Bot - Rubiks kublösare med öppen källkod: 7 steg (med bilder)
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:38
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.
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:
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.
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.
Accelerationen, i detta fall, är gravitationell acceleration. Så det erforderliga vridmomentet ges av
Att koppla in alla värden, inklusive hälften av diagonalen i Rubiks kub, avslöjar slutligen det erforderliga vridmomentet.
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.
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.
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.
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.
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.
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:
Arduino Learner Kit (öppen källkod): 7 steg (med bilder)
Arduino Learner Kit (öppen källkod): Om du är nybörjare i Arduino World och kommer att lära dig Arduino med lite praktisk erfarenhet av denna Instructables och detta Kit är för dig. Detta kit är också ett bra val för lärare som gillar att lära Arduino till sina elever på ett enkelt sätt.
PyonAir - en öppen källkod för luftföroreningar: 10 steg (med bilder)
PyonAir - en öppen källkod för luftföroreningar: PyonAir är ett billigt system för övervakning av lokala luftföroreningsnivåer - särskilt partiklar. Baserat på Pycom LoPy4-kortet och Grove-kompatibel hårdvara kan systemet överföra data över både LoRa och WiFi. Jag åtog mig denna sida
K -Ability V2 - Öppen källkod tillgängligt tangentbord för pekskärmar: 6 steg (med bilder)
K-Ability V2-Öppen källkod, tillgängligt tangentbord för pekskärmar: Denna prototyp är den andra versionen av K-Ability. som underlättar användningen av beräkningar
The 'Sup - en mus för personer med Quadriplegia - Låg kostnad och öppen källkod: 12 steg (med bilder)
The 'Sup - a Mouse for People With Quadriplegia - Low Cost and Open Source: Under våren 2017 frågade min bästa väns familj mig om jag ville flyga till Denver och hjälpa dem med ett projekt. De har en vän, Allen, som har quadriplegia till följd av en mountainbike-olycka. Felix (min vän) och jag gjorde några snabba reser
Att göra en EOS 1 Spectrometer med öppen källkod: 10 steg (med bilder)
Att göra en EOS 1-öppen källkodspektrometer: EOS 1 (Erie Open Spec v1.0) är en enkel, öppen källkod, smartphone-baserad spektrometer utformad för att användas av alla miljömedvetna personer för att mäta näringskoncentrationer i vatten. Hoppa till steg 5 om du har den officiella EOS 1 -satsen. De