Spisu treści:
Wideo: Rubics Cube Solver Bot: 5 kroków (ze zdjęciami)
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Stworzenie autonomicznego robota, który rozwiązuje fizyczną kostkę Rubika. Jest to projekt w ramach Klubu Robotyki, IIT Guwahati.
Wykonany jest z prostego materiału, który można łatwo znaleźć. Głównie używaliśmy serwosilników i Arduino do ich sterowania, arkuszy akrylowych, zepsutego Mini Draftera, zacisków L i podwójnych taśm!
Do uzyskania algorytmu rozwiązywania kostki wykorzystaliśmy bibliotekę cubejs z github.
Krok 1: Użyte materiały
- 6 serwosilników
- Arduino Uno
- 3-ogniwowy akumulator LiPo
- Arkusz akrylowy (grubość 8 mm i 5 mm)
- Opalarka(
- Wiertarka
- Brzeszczot
- zaciski L
- Listwy aluminiowe
- Mini Drafter / metalowe pręty
- Podwójna taśma
- Fevi Szybki
- Śruby nakrętkowe
- Przewody połączeniowe
Krok 2: Przygotowanie konstrukcji mechanicznej
Rama podstawowa
- Weź arkusz akrylowy o grubości 8 mm, około 50 cm * 50 cm i zaznacz środek wszystkich boków (będzie to podstawa twojego robota).
- Weź zepsuty rysownik i wyjmij z niego 4 stalowe pręty (te pręty będą służyć jako ścieżka dla twojego suwaka).
- Na dwóch prostokątnych kawałkach akrylu (dowolnego rozmiaru) przymocuj dwa pręty równolegle do siebie i stwórz dwie pary tego zestawu.
- Następnie, aby wykonać suwak, ułóż dwa małe kawałki akrylu jeden na drugim z przekładkami między nimi w czterech rogach i przymocuj je śrubami w przekładkach. Będziesz potrzebował 4 takich suwaków.
- Przed zamocowaniem dwóch części suwaka, przełóż między nimi wcześniej zamocowane równoległe pręty tak, aby przekładki dotykały zewnętrznej powierzchni prętów.
- Dla każdej pary równoległych prętów przełóż na nich dwa suwaki.
- Gdy to będzie gotowe, ułóż parę prętów w formie krzyża 90 stopni. Upewnij się, że na każdym końcu krzyża jest jeden suwak.
-
Teraz wszystko, co musisz zrobić, to przymocować tę skrzyżowaną ścieżkę do podstawy swojego robota, na pewnej wysokości od podstawy. (Upewnij się, że wysokość jest większa niż wysokość serwomotoru)
W tym celu możesz użyć akrylowych mocowań z zaciskami typu L, tak jak my to zrobiliśmy, lub wystarczy każda inna metoda
Po tym twoja struktura powinna wyglądać jak obraz.
Mocowanie serw bazowych
- Dwa podstawowe serwa powinny być przymocowane w taki sposób, aby serwo było poniżej ramienia krzyża i przesunięte od środka.
- Serwa mocowane są w pozycji poziomej do perforowanej płytki silikonowej za pomocą długich śrub, która z kolei mocowana jest do podstawy za pomocą zacisku L i taśmy dwukierunkowej.
Wykonywanie prętów push-pull
- Ustaw kąt serwomechanizmu na zero i przymocuj ramię wahacza serwomechanizmu w odpowiedniej pozycji.
- Umieść sześcian w środku krzyża, aby oszacować odległość suwaka w najbliższej pozycji i umieść suwaki w tych pozycjach.
- Przymocuj aluminiowe paski w kształcie litery L na dole każdego suwaka za pomocą podwójnej taśmy.
- Teraz, aby zmierzyć odległość każdego aluminiowego paska od góry lub dołu serwomechanizmu, który leży w jego płaszczyźnie, będzie to długość twojego drążka push-pull.
- Po ustaleniu długości popychacz można zamocować, wiercąc w aluminiowym pasku lub czymś podobnym.
Montaż górnych serw
- Zdecyduj, na jakiej wysokości Twój sześcian zostanie ułożony. Oś serwomotoru powinna znajdować się na tej wysokości.
- Przymocuj cztery serwomotory, każdy do perforowanej płytki silikonowej za pomocą śrub w pozycji pionowej.
- Wafel jest teraz zamontowany na aluminiowej listwie w kształcie litery L, której podstawa jest przymocowana do suwaka na odpowiedniej wysokości, tak aby oś serwa znajdowała się na środku sześcianu.
Pazury C
- Pazury powinny być takie, aby dokładnie pasowały do boku sześcianu, a długość górnej i dolnej części nie może przekraczać boku sześcianu.
- W tym celu weź pasek akrylu o odpowiedniej grubości i podgrzej go. Gdy się roztopi, uformuj zacisk w kształcie litery C, tak aby dokładnie owijał bok sześcianu.
- Zaznacz środek pazura C i przymocuj ten zacisk do wahacza serwomechanizmu w jego środku.
W razie potrzeby dokonaj drobnych korekt, aby każdy zacisk znajdował się na tej samej wysokości.
To kończy mechaniczną strukturę twojego robota, przejdźmy do połączeń obwodów……..
Krok 3: Połączenia obwodu
Do sterowania Botem wykorzystaliśmy Arduino, regulator napięcia oraz 3-ogniwowy (12v) akumulator LiPo.
Ponieważ serwosilniki pobierają dużo mocy, użyliśmy 6 regulatorów napięcia, po jednym dla każdego silnika.
Wejścia sygnałowe silników (najjaśniejszy kolor przewodu z trzech) zostały podłączone do cyfrowych pinów PWM 3, 5, 6, 9, 10, 11 Arduino.
Regulator napięcia został podłączony na płytce stykowej i zasilany baterią 12 V. Napięcie wyjściowe (5V) było podawane bezpośrednio do silników. Do płytki stykowej podłączono również masę silników. Do Arduino dołączono również wspólną masę.
Krok 4:
Krok 5: Kod:
Dwa podane pliki pokazują kod napisany w celu wydawania poleceń silnikom dla poszczególnych kroków za pomocą Arduino.
Pierwszy plik zawiera główną funkcję i inne definicje zmiennych. Drugi plik zawiera funkcje dla każdego ruchu użytego przy rozwiązywaniu sześcianu (np. U dla „obrotu w górę ściany zgodnie z ruchem wskazówek zegara”; R1 dla „ruchu prawej ściany przeciwnie do ruchu wskazówek zegara” itp.)
Do uzyskania algorytmu rozwiązywania kostki wykorzystaliśmy bibliotekę cubejs z github.
Algorytm bezpośrednio daje wynik w postaci „ruchów twarzą”, które uzupełnia kod Arduino.