Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer Controls
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Czteronożny robot kroczący sterowany przez Arduino

ghost666 24 Wrz 2015 15:34 10953 7
  • Czteronożny robot kroczący sterowany przez Arduino
    Opisywany projekt to pierwszy czteronożny robot autora, jego projektowanie i budowa zajęły rok. Jest to robot kroczący, którego ruch opier się na obliczeniach pozycji serwomotorów i preprogramowanej sekwencji ruchów nóg. Jest to bardzo fajny projekt, wykonany własnoręcznie od podstaw. Może być zrealizowany przez każdego kto chciałby nauczyć się podstaw technologii robotów kroczących i ma dostęp do drukarki 3D.

    Prezentowany robot jest czwartą generacją tego projektu, jeśli jesteście zainteresowani poprzednimi wersjami, to na stronie autora - http://regishsu.blogspot.tw/p/blog-page_20.html - obejrzeć można poprzednie wersje.

    Jeśli nie macie możliwości lub umiejętności potrzebnych do montażu tego robota, to podobne rozwiązania występują też w gotowej, komercyjnej formie: http://www.sunfounder.com/index.php?c=showcs&id=99&model=Crawling%20Quadruped%20Robot.



    Krok 1: Elementy elektroniczne

    Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino


    Potrzebne będzie szereg elementów i modułów:
    1x Arduino Pro Mini
    1x Przetwornica DC-DC (12-5v/3A)
    1x Moduł Bluetooth HC-06 (opcjonalnie)
    12x Serwomotorów SG90 (3 stopnie swobody dla 4 nóg)
    1x Bateria litowa 3000 mAh
    1x Gniazdo zasilacza 12 V
    1x Opornik 680 Ω ¼ W 5%
    1x Niebieska dioda LED 3mm
    1x Przełącznik
    1x Płytka prototypowa o wymiarach 5cm x 7 cm
    Żeńskie i męskie gniazda i piny do połączenia elementów
    Kabelek do wykonania połączeń na PCB

    Zasadniczo elementy te nie są drogie i można je łatwo nabyć. Projekt wyniósł autora około 2000 dolarów tajwańskich (około 230 PLN).

    Krok 2: Wykonanie płyty głównej robota

    Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino


    W celu ułatwienia sobie montażu zajrzeć można do schematu (plik PDF poniżej). Płytka z elementami powinna być możliwie mała. Pokazana powyżej płyta główna robot jest najnowszą i najmniejszą jej wersją. Oto kilka wskazówek autora, co do montażu tego elementu:
    1. Upewnij się, że wyjście z przetwornicy ma 5 V przed jej montażem.
    2. Serwomotory potrzebują dużego prądu, pobierają niecałe 3 A w maksimum. Należy się upewnić, że ścieżki masy i ich zasilania są odpowiednio grube
    3. Sprawdzaj wszystkie połączenia i inne fragmenty PCB z pomocą multimetru, szczególnie po lutowaniu, aby ustrzec się zwarć itp.
    4. Wykorzystaj goldpiny i złącza, zamiast lutować moduły (Arduino, przetwornica etc) bezpośrednio w PCB.
    5. Dioda LED jest zapalona, gdy robot jest wyłączony i gaśnie po włączeniu. To proste zabezpieczenie, pozwalające sprawdzić stan baterii przed włączeniem systemu.
    6. Jeśli dioda LED pali się po podłączeniu baterii, to znaczy że zasilanie jest w porządku i można uruchamiać robota.

    Schemat układu znajduje się w pliku PDF - Link

    Krok 3: Testowanie płyty głównej robota

    Czteronożny robot kroczący sterowany przez Arduino


    Procedura testowania:

    1. Nie podłączaj jeszcze przetwornicy i Arduino do płyty głównej.
    2. Podłącz baterię 12 V do gniazdka na PCB
    3. Sprawdź stan diody - powinna być zapalona.
    4. Naciśnij przycisk power - dioda powinna zgasnąć.
    5. Sprawdź czy wszystkie piny +5 V i GND są poprawnie połączone.
    6. Wyłącz system przyciskiem power - dioda powinna się ponownie zapalić
    7. Umieść moduły Arduino i przetwornicy na swoich miejscach.
    8. Włącz system przyciskiem power. Dioda LED zgaśnie, ale powinny uruchomić się diody na module Arduino Pro Mini.

    Jeśli tak się stanie można do układu podłączyć serwonapędy pierwszej z nóg (Leg1) i załadować program servo_test. Powinien on przesunąć serwonapęd od 0° do 180°.

    Kod źródłowy servo_test:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Krok 4: Część mechaniczna - pliki STL elementów do druku 3D

    Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino


    Na tym etapie rozpoczynamy budowę mechanicznej części robota. Można wydrukować je samodzielnie, jeśli ma się dostęp do drukarki 3D, lub zlecić wykonanie tego komuś znajomemu z takim sprzętem lub komercyjnej firmie. Elementy zaprojektowano w Sketchup Make.Pliki STL elementów znajdują się tym linkiem: http://www.thingiverse.com/thing:1009659

    Lista częśći:
    1x body_d.stl
    1x body_u.stl
    2x coxa_l.stl
    2x coxa_r.stl
    2x tibia_l.stl
    2x tibia_r.stl
    4x femur_1.stl
    8x s_hold.stl

    Krok 5: Drukowanie elementów 3D

    Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino


    Autor wydrukował elementy wykorzystując gęstość druku ustawioną na 35% aby otrzymać mocniejsze elementy. Należy sprawdzić ustawienia drukarki przed rozpoczęciem druku, gdyż sama procedura jest bardzo czasochłonna. Wydrukowanie pokazanych tutaj elementów zajęło około 7..8 godzin. Cierpliwości!

    Krok 6: Przygotowanie do montażu

    Czteronożny robot kroczący sterowany przez Arduino


    Teraz musimy porozdzielać elementy wydrukowane na drukarce 3D i sprawdzić czy wszystko jest w porządku. Jeśli tak, to z pomocą papieru ściernego wygładzamy elementy tak aby dobrze wyglądały.

    Krok 7: Montaż 'tułowia' robota

    Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino


    Baterię należy umieścić pomiędzy połówkami tułowia wydrukowanymi na drukarce 3D i skręcić z pomocą 4 śrubek (M3 x 25).

    Krok 8: Montaż nóg robota

    Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino


    Teraz montujemy nogi. W każdej z nich osadzamy 3 serwomotory, montowane na 4 śrubki (M1,6 x 3) dodatkowo wzmocnione klejem.

    Uwaga: Na tym etapie podłączamy wszystkie elementy poza kołyską serwa.
    Należy się upewnić, że kierunek nogi odpowiada temu w projekcie. W razie wątpliwości należy porównać montowane elementy z pokazanymi tutaj.

    Krok 9: Połączenie nóg z tułowiem

    Czteronożny robot kroczący sterowany przez Arduino


    Teraz łączymy wszystkie nogi z tułowiem i sprawdzamy czy wszystkie elementy ruchome chodzą odpowiednio lekko. Jeśli tak, przechodzimy dalej.

    Krok 10: Podłączenie serwomotorów do płyty głównej

    Czteronożny robot kroczący sterowany przez Arduino Czteronożny robot kroczący sterowany przez Arduino


    Umieszczamy płytę główną w tułowiu robota, mocując ją odrobiną np. plasteliny. Następnie podłączmy do niej
    poszczególne serwomotory, pilnując numeracji pinów i odpowiedniego podłączenia zasilania - czerwony do +, brązowy do masy. Jeśli nie podłączymy nóg w odpowiedniej kolejności, to robot nie będzie w stanie odpowiednio się poruszać...

    Krok 11: Ustalenie wstępnej pozycji nóg

    Czteronożny robot kroczący sterowany przez Arduino


    To bardzo ważna procedura, po kolei realizujemy następujące kroki:

    1. Załąduj program "legs_init" do Arduino i go uruchom
    2. Umieść nogi robota jak na powyższej ilustracji.
    3. Dokręć wszystkie śrubki.

    Kod źródłowy dla legs_init:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Krok 12: Uporządkuj kabelki

    Czteronożny robot kroczący sterowany przez Arduino


    Gdy już ustalimy pozycję nóg musimy uporządkować okablowanie robota, nie chcemy żeby wyglądał źle, nie? Teraz całą część sprzętowa jest już gotowa!

    Krok 13: Pokaz możliwości robota

    Załadujmy do Arduino program "spider_open_v1" i [pozwólmy robotowi się poruszać. Wykona on następującą sekwencję ruchów:

    1. Wstań, czekaj 2 sekundy
    2. Zrób 5 krokó do przodu, czekaj 2 sekundy
    3. Zrób 5 kroków do tyłu, czekaj 2 sekundy
    4. Zakręć w prawi, czekaj 2 sekundy
    5. Zakręć w lewo, czekaj 2 sekundy
    6. Pomachaj 'dłonią', czekaj 2 sekundy
    7. Potrząśnij 'dłonią', czekaj 2 sekundy
    8. Usiądź, czekaj 2 sekundy
    9. Powrót do kroku 1.

    Poniżej znajduje się kod źródłowy programu spider_open_v1:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Krok 14: Zrób coś specjalnego!



    Do robota dodać można więcej funkcji, na przykłąd zdalne sterowanie, pozwalające na dynamiczną zmianę prędkości poruszania. Autor na swoim blogu - http://regishsu.blogspot.tw/2015/09/robot-quadruped-robot-remoter.html opisuje jak to zrobić. Można też dodać np. sensory, pozwalające mu omijać przeszkody (http://regishsu.blogspot.tw/2015/08/robot-quadruped-robot-ir-fc-51-ir.html) i wiele innych funkcji - wszystko zależy od wyobraźni i zdolności technicznych.

    Źródło: http://www.instructables.com/id/DIY-Spider-RobotQuad-robot-Quadruped/?ALLSTEPS

    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
    O autorze
    Fizyk z wykształcenia. Po zrobieniu doktoratu i dwóch latach pracy na uczelni, przeszedł do sektora prywatnego, gdzie zajmuje się projektowaniem urządzeń elektronicznych i programowaniem. Od 2003 roku na forum Elektroda.pl, od 2008 roku członek zespołu redakcyjnego.
    ghost666 napisał 9214 postów o ocenie 6769, pomógł 157 razy. Mieszka w mieście Warszawa. Jest z nami od 2003 roku.
  • Computer Controls
  • #2
    pawel-jwe
    Poziom 30  
    Dla zainteresowanych tym projektem zwrócę uwagę na moduł Bluetooth HC06, który jest nieco kłopotliwy w użytkowaniu. Przetwornica daje 5V, co znaczy że logika Arduino jest też na 5V, a HC06 musi linię danych z logiką na 3,3V - w przeciwnym razie uszkodzimy układ (miałem nieprzyjemność przerabiać to). Samo zasilanie HC06 może być na 5V (jest stabilizator do 3,3V), ale już Rx i Tx niestety musi być w standardzie 3,3V.
    Próbowałem zagłębić się w ten projekt ale "chińszczyzna" jest mi zbyt obca ;), na tyle ile mogłem nie zauważyłem tu żadnej translacji linii danych 5V<->3,3V. Widziałem też, że w różnych wersjach były różne moduły bluetooth.
  • Computer Controls
  • #3
    ghost666
    Tłumacz Redaktor
    Wydaje mi się, że jako translator wystarczy dzielnik oporowy (w jedną stronę), a w drugą liczenie że 3,3 V wysteruje 5 VTTL ;)
  • #4
    pawel-jwe
    Poziom 30  
    Ostatecznie, też zastosowałem takie rozwiązanie, tylko dla pewności z 3,3V na 5V dałem tranzystor.
    Zdziwiony jestem jedynie tym, że w źródłach tego DIY nie znalazłem nigdzie wzmianki o tym (tam gdzie stosowano HC06). Być może to efekt wielostopniowych modyfikacji i przeróbek, a w efekcie "zagubił" się taki drobny szczegół ;)
  • #5
    ghost666
    Tłumacz Redaktor
    pawel-jwe napisał:
    Ostatecznie, też zastosowałem takie rozwiązanie, tylko dla pewności z 3,3V na 5V dałem tranzystor.


    I dobrze! Zrobiłeś tak, jak się powinno robić; ja z kolei napisałem powyżej jak się robi ;) i też działa. Widziałem takie rozwiązania w szeregu projektów DIY i nie jestem ich wielkim fanem, no ale działają.
  • #6
    drutek
    Poziom 11  
    Układzik - robot bardzo fajny tylko drukarka 3D ... No właśnie wiekszości elektroników amatorów nie stać na taki sprzęt a żadna firma za darmo nie wydrukuje nam części.
  • #7
    pawel-jwe
    Poziom 30  
    drutek napisał:
    wiekszości elektroników amatorów nie stać na taki sprzęt

    Wystarczy pogadać ze znajomymi studentami ;) praktycznie każda politechnika posiada dziś co najmniej 2-3 egzemplarze (na różnych wydziałach) i często można z nich korzystać w ramach kół naukowych itp.
  • #8
    Rodanek93
    Poziom 5  
    drutek napisał:
    Układzik - robot bardzo fajny tylko drukarka 3D ... No właśnie wiekszości elektroników amatorów nie stać na taki sprzęt a żadna firma za darmo nie wydrukuje nam części.

    Wystarczy mieć dwie ręce, piłkę i pilnik. Drukarka 3D tutaj do tworzenie manualnie nieporadnych ludzi.