Spisu treści:

ICBob - dwunożny robot inspirowany Bobem: 10 kroków (ze zdjęciami)
ICBob - dwunożny robot inspirowany Bobem: 10 kroków (ze zdjęciami)

Wideo: ICBob - dwunożny robot inspirowany Bobem: 10 kroków (ze zdjęciami)

Wideo: ICBob - dwunożny robot inspirowany Bobem: 10 kroków (ze zdjęciami)
Wideo: Dwunożny robot kroczący Biped Walking Robot 2024, Lipiec
Anonim
Image
Image
ICBob – dwunożny robot inspirowany Bobem
ICBob – dwunożny robot inspirowany Bobem

Jesteśmy Teen Imaginineering Club z Biblioteki Publicznej Bridgeville Delaware. Wykonujemy fajne projekty, ucząc się elektroniki, kodowania komputerowego, projektowania 3D i druku 3D.

Ten projekt jest naszą adaptacją BoB the BiPed, robota opartego na Arduino. Przeprojektowaliśmy obudowę, aby wykorzystać nasze ulubione źródło zasilania Arduino, powerbank do telefonu Powerbot. To niedrogie 5-woltowe źródło zasilania jest doskonałe do zasilania naszych projektów Arduino i można je ładować za pomocą dowolnej ściennej ładowarki USB. Zaadaptowaliśmy również 3 stopki z dwunożnego robota Arduped tylko dlatego, że wyglądają NIESAMOWITE. Pokażemy Ci, gdzie zdobyć potrzebne części, jak złożyć robota, a nawet podamy prosty kod Arduino, aby go uruchomić. Świetnie się bawiliśmy, tworząc jedenaście robotów ICBob. Czytaj dalej, jeśli chcesz dowiedzieć się, jak zrobić to dla siebie.

Krok 1: Części i narzędzia, których będziesz potrzebować

Części i narzędzia, których będziesz potrzebować
Części i narzędzia, których będziesz potrzebować
Części i narzędzia, których będziesz potrzebować
Części i narzędzia, których będziesz potrzebować

ICBob jest przeznaczony do następującego zestawu części. Chociaż substytucje są możliwe, może być konieczne zmodyfikowanie ciała, aby działały. Naszym ulubionym dostawcą jest Yourduino.com, ale w przypadku niektórych produktów musisz udać się do Amazon lub Ebay.

Aktualizacja dostępności produktu - Yourduino nie nosi już Micro Magician i twierdzi, że są one wycofywane przez Dagu. Na stronie Dagu nadal są dostępne https://www.dagurobot.com/goods.php?id=137 a jeśli nie są dostępne to sterownik S4A EDU jest zamiennikiem spadku i działa na 5 woltach.

Części

  • 1x-kontroler MICRO Magician
  • 4x-SG 90 serwo
  • 1x-Czujnik ultradźwiękowy HC-SR04
  • 1x- Powerbot power bank 2600mAh (Powerbot 3000mAh ma większą średnicę i nie pasuje)
  • 1x-żeński MICRO USB do DIP 5-pinowa tablica korkowa
  • 1x-20 cm 40-pinowe końcówki żeńskie kabla płaskiego
  • Rezystor 1x-10k
  • 4x- 2-56x3/8 wkręty samogwintujące (alternatywny klej na gorąco)

Wydruki 3D - Pliki stl są dostępne na Thingiverse: 1313344

  • 1x-ciało
  • 1x-powłoka
  • 2x-kolano
  • 1x-lewa stopa
  • 1x-prawa stopa

Narzędzia

  • komputer z Arduino IDE
  • Dodatkowa biblioteka Arduino VarSpeedServo
  • MICRO Magician Driver (wymagany w niektórych systemach operacyjnych)
  • Drukarka 3D (lub zleć wykonanie części)
  • Narzędzia do czyszczenia części 3D
  • Zestaw do lutowania (tylko do pinów na adapterze USB)
  • Pistolet na gorący klej
  • Mały śrubokręt Philips
  • ładowarka USB

Ta instrukcja zakłada, że masz podstawową wiedzę na temat korzystania z Arduino. Jeśli jesteś nowy w Arduino, możesz dowiedzieć się więcej na

Dla MICRO Magician wybierz płytkę - Arduino Pro lub Pro Mini (3.3V, 8MHz) z ATmega328

Aby korzystać z naszych szkiców, będziesz potrzebować biblioteki VarSpeedServo Kormana. Możesz dowiedzieć się więcej o jego bibliotece tutaj, ale skorzystaj z naszego pliku do pobrania poniżej, który jest kompatybilny z nowszym IDE. Pobierz poniższy plik VarSpeedServo.zip i rozpakuj go do folderu arduino/libraries.

Może być konieczne zainstalowanie sterownika MICRO Magician CP210x, jeśli system nie rozpoznaje kontrolera. Ta strona może pomóc w instalacji sterownika

Krok 2: Zacznijmy budować - złóż nogi

Zacznijmy budować - złóż nogi
Zacznijmy budować - złóż nogi
Zacznijmy budować - złóż nogi
Zacznijmy budować - złóż nogi
Zacznijmy budować - złóż nogi
Zacznijmy budować - złóż nogi

Do tego kroku potrzebne będą kolana wydrukowane w 2 - 3D i 4 pakiety serwomechanizmów.

Zacznij od oczyszczenia kolan. 2 otwory klaksonu serwomechanizmu muszą pasować do jednostronnych rogów serwomechanizmu. Wyczyściliśmy je wiertłem wielkości litery L (.290). Jeden otwór na oś musi pasować do stopy. Wyczyściliśmy je wiertłem o rozmiarze 2 (.220).

Dopasuj 4 serwo rogi do kolan. Przymocuj klakson za pomocą jednej z większych śrub dostarczonych z pakietem serwomechanizmu. Wkręć śrubę od strony kolana i dokręć w jeden z małych otworów w serwomechanizmie. Dla jednej śruby będziesz musiał dokręcić śrubokrętem pod kątem, ale jest to wykonalne. Jeśli chcesz, możesz przypiąć wystające punkty śrubowe za pomocą szczypiec do cięcia bocznego.

4 serwowrzeciona muszą być wycentrowane, zanim zostaną przymocowane do kolan. Możesz to zrobić ręcznie, delikatnie przesuwając wrzeciono przez jego obrót, aby znaleźć punkt połowy. Lepszym sposobem jest dołączenie serwa do pinu 12. Pobierz poniższy plik icbob_servo_center.zip. Rozpakuj do katalogu Arduino. Następnie uruchom ten szkic Arduino dla każdego serwomechanizmu.

Zacznij od montażu serw biodrowych (górnych) do kolan. Bez przesuwania wrzeciona przymocuj serwo biodrowe równolegle do kolana z przewodami skierowanymi w stronę drugiego serwomechanizmu (przód). Zabezpiecz jedną małą śrubą z pakietu serwomechanizmu. Powtórz dla drugiego kolana.

Teraz dla serwomechanizmów do kostek. PAMIĘTAJ, że będziesz mieć prawą i lewą kostkę, więc nogi będą swoimi lustrzanymi odbiciami. Będziesz musiał lekko rozchylić kolano, aby złożyć serwo w kostce, więc przed wciśnięciem zorientuj serwo jak na zdjęciu. Pamiętaj, aby nie obracać wrzeciona. Zabezpiecz małą śrubą. Powtórz z drugim kolanem, aby zakończyć prawą i lewą nogą.

Krok 3: Budowanie - Przymocuj nogi do ciała

Budowanie - Przymocuj nogi do ciała
Budowanie - Przymocuj nogi do ciała
Budowanie - Przymocuj nogi do ciała
Budowanie - Przymocuj nogi do ciała
Budowanie - Przymocuj nogi do ciała
Budowanie - Przymocuj nogi do ciała

Do tego kroku potrzebne będą 2 zespoły nóg i wydrukowana w 3D podstawa. Potrzebne będą również (4) wkręty samogwintujące 2-56x3/8 lub klej na gorąco.

Zespół nóg mocuje się do podstawy za pomocą serwomechanizmów biodrowych. Najpierw poprowadź 2 przewody serwa w górę przez spód podstawy. Uważaj na prawa i lewice. Jak pokazano na rysunku, przewód kostki kończy się w wycięciu półksiężyca, ale musisz mieć przewód kostki przed zamocowaniem serwomechanizmu. Musisz przechylić serwo tak, aby linka biodrowa (tam, gdzie wchodzi do serwa) przechodziła najpierw przez prostokątny otwór (do przodu). Jest ciasno dopasowany, ale tylny koniec powinien się po prostu wsunąć. Teraz odwróć podstawę i zabezpiecz serwo 2 śrubami lub alternatywnie gorący klej powinien działać. Powtórz ten proces dla drugiej nogi.

Krok 4: Budowanie - przymocuj stopy

Budowanie - Dołącz stopy
Budowanie - Dołącz stopy
Budowanie - Dołącz stopy
Budowanie - Dołącz stopy

Na tym etapie będziesz potrzebować lewej i prawej stopy, aby dodać do swojego zespołu. Są przyklejone na gorąco, więc odpal pistolet do klejenia.

Upewnij się, że dobrze wyczyściłeś szczeliny w stopach. Po czyszczeniu delikatnie przetestuj dopasowanie serwa do stopy. Upewnij się, że otwór w kolanie pasuje do sworznia w stopie. Najlepiej jest użyć cienkiego śrubokręta między serwomechanizmem a stopą, aby podważyć stopę, jeśli jest napięta. Po uzyskaniu dobrego dopasowania testowego umieść kulkę gorącego kleju o wielkości dziesięciocentówki na stopę, a następnie dociśnij serwo do stopy. Unikaj dostania się kleju w pobliżu obszaru obrotu. Powtórz dla drugiej strony, aby twój bot mógł stanąć na własnych nogach.

Krok 5: Okablowanie - serwa i zasilanie

Okablowanie - serwa i zasilanie
Okablowanie - serwa i zasilanie
Okablowanie - serwa i zasilanie
Okablowanie - serwa i zasilanie
Okablowanie - serwa i zasilanie
Okablowanie - serwa i zasilanie

W tym kroku będziesz potrzebować kontrolera MICRO Magician, płytki adaptera micro USB z pinami nagłówka, płaskiego kabla i stojącego bota. Na tym etapie będziesz lutować i sklejać na gorąco, więc przygotuj te narzędzia.

Powerbank Powerbot jest dostarczany z krótkim kablem USB na micro USB. Aby naładować baterię, micro USB jest podłączany do gniazda ładowania na baterii, a USB idzie do ładowarki ściennej. Użyjesz tego kabla do zasilania ICBob. Wyjście baterii jest przez USB, więc łączymy się przez płytkę adaptera micro USB, aby zapewnić zasilanie botowi.

Najpierw zmontujmy adapter. Dalsze kroki znajdują się na zdjęciu. Do zasilania bota użyjesz tylko 2 zewnętrznych pinów (gnd i V+). Ostrożnie wsuń 2 zewnętrzne szpilki w głowicę, tak aby krótszy bok wystawał około 3/16 cala. Za pomocą szczypiec wygnij 2 długie szpilki o około 60 stopni. Zegnij przed lutowaniem, ponieważ płytki są kruche. Włóż nagłówek, jak pokazano, i przylutuj wszystkie szpilki z tyłu, aby uzyskać wytrzymałość. Przypnij wszystkie nieużywane szpilki tak krótko, jak to możliwe, zarówno z przodu, jak i z tyłu. Zanim przykleimy adapter do lufy, podłącz kabel micro USB, aby uzyskać wystarczający luz. Umieść dużą kroplę gorącego kleju z tyłu adaptera, a następnie umieść go w pozycji pokazanej na lufie. Trzymaj, aż stwardnieje.

Następnie podłącz 4 złącza serwo do kontrolera. Podoba nam się MICRO Magician, ponieważ ma na pokładzie 3-pinowe złącza do łatwego okablowania serwomechanizmu. Drut o ciemniejszym kolorze (brązowy?) biegnie w kierunku krawędzi deski. Dołączone szkice Arduino wykorzystują następujące piny.

  • Prawe biodro (RH) - pin 9
  • Prawa kostka (RA) - trzpień 10
  • Lewe biodro (LH) - trzpień 11
  • Lewa kostka (LA) - trzpień 12

Aby podłączyć zasilanie do płytki, należy wyciągnąć parę przewodów z płaskiego kabla. Będziesz używać więcej tego płaskiego kabla do okablowania sonaru. Podłącz jeden koniec pary do adaptera micro USB. Pin, który jest bliżej przodu bota jest uziemiony, a drugi V+. Drugi koniec podłącza się do kontrolera w pobliżu przełącznika. Przewód V+ łączy się z pinem oznaczonym „Battery IN” w dokumentacji. Podłącz przewód uziemiający do styku „gnd” nieco powyżej styku „Battery IN”.

WAŻNY! - Tuż nad zestawem styków D1 znajduje się zworka „V+ select”. Ta zworka musi być na INSIDE zestaw pinów, inaczej serwa nie będą działać.

Na koniec wyczyść gniazdo kontrolera w podstawie, aby kontroler był dobrze dopasowany. Możesz podłączyć baterię i włączyć kontroler, aby upewnić się, że działa.

Krok 6: Programowanie - Kod kalibracji domowej

Kilka słów o naszych wyborach programistycznych

Kiedy zbudowaliśmy prototyp dla tego projektu, skorzystaliśmy z samouczka Jak nauczyć swojego BoB Biped, aby przenieść w Let's Make Robots. Oprogramowanie Boba Posera było fajne i bawiliśmy się dobrze. Problem polegał na tym, że ponad 600 linijek kodu w szkicu nawigacji znacznie przekraczało poziom wiedzy nastolatków. Aby ten projekt był dla nich bardziej nauką, postanowiliśmy zebrać kilka pomysłów z kodu Posera, a następnie zacząć od nowa z pustą stroną. Nastolatki korzystały już z biblioteki VarSpeedServo podczas nauki o serwach w naszych laboratoriach Arduino. Postanowiliśmy sprawdzić, czy VarSpeedServo poradzi sobie z synchronizacją i szybkością serw, abyśmy mogli po prostu skoncentrować się na pozycjach. Wynikowy kod działa świetnie, a pełny szkic walk_avoid_turn zawiera mniej niż 100 linii kodu. Jedyne nowe koncepcje, których nastolatkowie musieli się nauczyć, to tablice dwuwymiarowe i sposób uzyskiwania dostępu do tych danych za pomocą kodu. Cieszyć się!

Kalibracja domowa

Wycentrowałeś serwowrzeciona podczas ich montażu. Teraz zobaczysz, jak blisko się zbliżyłeś i dostosuj ich pozycje wyjściowe. Upewnij się, że masz zainstalowaną bibliotekę VarSpeedServo z kroku 1. Pobierz poniższy plik icbob_home_calibration.zip i rozpakuj go do katalogu Arduino. Otwórz szkic w Arduino IDE. Zasil MICRO Magician baterią. Podłącz komputer do płytki i wgraj kod. Są szanse, że pozycje startowe serwomechanizmu nie będą idealne. Znajdź następującą sekcję w kodzie. Kontynuuj dostosowywanie i przesyłanie, aż wszystko będzie dobrze.

//…………………………………………………….

// Zacznij od elementów tablicy 4 hm ustawionych na 90 stopni. następnie dostosuj // te ustawienia tak, aby kolana były wyprostowane, a stopy płaskie int hm[4] = {90, 90, 90, 90}; //tablica do utrzymania pozycji wyjściowej dla każdego serwa RH, RA, LH, LA //……………………………………………………….

Jeśli którakolwiek z twoich liczb jest mniejsza niż 50 lub większa niż 130, musisz cofnąć i zdemontować nogi i zbliżyć wrzeciona do środka.

Po uzyskaniu dobrej pozycji wyjściowej zapisz liczby. Liczby te będą potrzebne do pozostałych szkiców.

Krok 7: Programowanie - Przenieś kod generatora

Programowanie - Przenieś kod generatora
Programowanie - Przenieś kod generatora

Teraz wpraw bota w ruch. Pobierz poniższy plik icbob_move_generator.zip i rozpakuj go do katalogu Arduino. Otwórz szkic w Arduino IDE. Znajdź następującą sekcję kodu. Umieść w szkicu pozycje startowe, które zarejestrowałeś dla swojego bota.

//ustaw elementy tablicy hm na pozycje startowe dla twojego robota

//można je znaleźć za pomocą szkicu icbob_home_calibration const int hm[4] = {95, 95, 85, 90}; //tablica do utrzymania pozycji wyjściowej dla każdego serwa RH, RA, LH, LA

Poniższa sekcja kodu to miejsce, w którym wprowadza się sekwencje ruchów. Każda linia ma pozycje dla 4 serwomechanizmów (RH, RA, LH, LA) w stosunku do pozycji wyjściowej.

//dane tablicy mv. Każda linia to „ramka” lub pozycja ustawiona dla 4 serw

//Wiele linii tworzy grupę ruchów, które można zapętlić //w celu stworzenia chodzenia, obracania, tańca lub innych ruchów const int mvct = 6; //Uczyń tę liczbę równą liczbie wierszy w tablicy const int mv[mvct][4] = { {0, -40, 0, -20}, //Te wstępnie załadowane liczby powinny dać przejście do przodu {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0}, };

To jest kod, który zamienia dane tablicy mv w servo slowmoves

void loop() //pętla powtarza się w nieskończoność

{ // Wykonaj sekwencję ruchów for(int x=0; x<mvct; x++) { //przejdź przez numer RH.slowmove (hm[0] + mv[x][0], svsp); //wypełnia 'ramki' w tablicy RA.slowmove (hm[1] + mv[x][1], svsp); LH.slowmove (hm[2] + mv[x][2], svsp); LA.slowmove (hm[3] + mv[x][3], svsp); opóźnienie (opóźnienie ramki); } }

Prześlij do bota. Bot przejdzie do pozycji wyjściowej na 2 sekundy, a następnie rozpocznie pętlę marszu do przodu. Najlepiej, jeśli stół nie jest zbyt śliski.

Gdy znudzi Ci się chodzenie, możesz spróbować swoich ruchów. Użyj „zapisz jako”, aby zmienić nazwę szkicu. Następnie pobaw się liczbami i zobacz, co możesz zrobić. Utrzymuj wartości między +50 a -50 lub możesz przeciążyć serwa. Pamiętaj, że jeśli dodajesz lub odejmujesz linie, musisz zmienić wartość mvct, aby odzwierciedlić zmianę. Baw się dobrze!

Krok 8: Okablowanie - czujnik sonaru HC-SR04 (oczy)

Okablowanie - czujnik sonaru HC-SR04 (oczy)
Okablowanie - czujnik sonaru HC-SR04 (oczy)
Okablowanie - czujnik sonaru HC-SR04 (oczy)
Okablowanie - czujnik sonaru HC-SR04 (oczy)

Do tego kroku potrzebny jest wydruk 3D icbob_shell, czujnik ultradźwiękowy HC-SR04, płaski kabel żeński i jeden rezystor 10 kΩ. To powinno zakończyć części na naszej liście. Tak!

Najpierw wyczyść otwory czujnika w obudowie, aby uzyskać średnio ciasne dopasowanie. Nie wywieraj zbyt dużego nacisku na czujnik podczas testowania dopasowania. Wyjmij z obudowy w celu okablowania.

Następnie ściągnij 4 pasma z płaskiego kabla. Podłącz 4 przewody do styków czujnika HC-SR04.

MICRO Magician wewnętrznie działa na 3,3 V, a piny mogą przyjmować tylko sygnał 3,3 V. Problem polega na tym, że HC-SR04 działa przy 5 woltach. Może używać wejścia 3,3 V jako sygnału „wyzwalającego”, ale gdy wysyła sygnał „echa”, wynosi 5 V i spowoduje uszkodzenie wejścia kontrolera, jeśli zostanie podłączone bezpośrednio. Musimy umieścić rezystor ograniczający prąd 10 kΩ na przewodzie „echa”, aby chronić wejście.

AKTUALIZACJA: Chociaż nie mieliśmy żadnych problemów tylko z wbudowanym rezystorem 10K, w komentarzach wskazano, że najlepsze praktyki wskazują, że należy tutaj zastosować obwód dzielnika napięcia. Oprócz rezystora 10K pomiędzy „echem” a „masą” należy umieścić rezystor 15K.

Przytnij przewody rezystora do 0,5 cala. Rezystor wchodzi do przewodu „echa” w twoim płaskim kablu. Na połączenie nakładamy kroplę super kleju, aby pozostało na miejscu.

Szkic wykorzystuje pin 13 do wyzwalania i pin 3 do echa. Użyj grupy pinów 13 na kontrolerze dla „gnd”, „vcc”, „trig” w tej kolejności, zaczynając od krawędzi w kierunku środka. Aby to zrobić, będziesz musiał przeciąć kilka przewodów. Przewód „echa” z rezystorem podłącza się do gniazda żeńskiego pin 3.

Jeśli chcesz sprawdzić czujnik przed przejściem do następnego kroku, możesz użyć pierwszego szkicu na tej stronie https://arduino-info.wikispaces.com/UltraSonicDistance, aby go przetestować. Będziesz potrzebować podłączonej baterii. Możesz zobaczyć odczyt odległości na monitorze szeregowym. Upewnij się, że ustawiłeś 'trigger_pin' na 13, a 'echo_pin' na 3 w szkicu.

Najlepszym sposobem zainstalowania czujnika w obudowie jest ustawienie styków skierowanych do góry oraz złożenie przewodów i poprowadzenie ich między „oczkami” czujnika a osłoną.

Krok 9: Programowanie - kod Walk_Avoid_Turn

Kładąc wszystko razem. Wszystkie części są zmontowane. Jesteśmy gotowi załadować cały kod, założyć powłokę i patrzeć, jak robi swoje.

Znasz rutynę. Pobierz poniższy plik icbob_walk_avoid_turn.zip i rozpakuj go do katalogu Arduino. Otwórz szkic w Arduino IDE. Znajdź następującą sekcję kodu. Umieść w szkicu pozycje startowe, które zarejestrowałeś dla swojego bota.

//ustaw elementy tablicy hm na pozycje startowe dla twojego robota

//można je znaleźć za pomocą szkicu icbob_home_calibration const int hm[4] = {95, 95, 85, 90}; //tablica do utrzymania pozycji wyjściowej dla każdego serwa RH, RA, LH, LA

Ten szkic dodaje drugą tablicę ruchu i drugi zestaw kodu powolnego ruchu dla ruchu „turn”.

//prześlij dane tablicy

const int fwdmvct = 6; //Uczyń tę liczbę równą liczbie wierszy w tablicy const int fwdmv[fwdmvct][4] = { {0, -40, 0, -20}, //walk forward move move {30, -40, 30, -20}, {30, 0, 30, 0}, {0, 20, 0, 40}, {-30, 20, -30, 40}, {-30, 0, -30, 0}, }; //włącz dane tablicy const int trnmvct = 5; //Uczyń tę liczbę równą liczbie wierszy w tablicy const int trnmv[trnmvct][4] = { {-40, 0, -20, 0}, //turn przesuń klatki {-40, 30, -20, 30}, {0, 30, 0, 30}, {30, 0, 30, 0}, {0, 0, 0, 0}, };

Dodaliśmy sonarowy kod wykrywania przeszkód, a także instrukcję „jeśli” „inaczej”, aby zdecydować, czy jedziemy prosto, czy skręcamy.

Montaż końcowy i uruchomienie

Pozostaw baterię odłączoną i prześlij szkic. Odłącz przewód do programowania. Upewnij się, że przełącznik zasilania na kontrolerze znajduje się w dolnej pozycji włączonej. Ostrożnie wsuń obudowę na podstawę, tak aby przewód zasilający USB wystawał przez górny otwór. Włóż baterię. Podłącz go. Twój ICBob powinien zacząć się poruszać i skręcać, aby uniknąć przeszkód bliższych niż 7 cali.

Krok 10: Podsumowanie

Mamy nadzieję, że budowanie ICBoba sprawia ci tyle samo radości, co my podczas budowania naszego. Daj nam znać, jeśli masz jakieś pytania lub komentarze. Jeśli ją zbudujesz, daj nam znać tutaj lub w Thingiverse.

Zalecana: