MeArm zachwycił mnie od samego początku.
Tego właśnie szukałem – proste do realizacji ramię robotyczne o 3 stopniach swobody. Projekt wystartował na kickstarterze odnosząc spektakularny sukces. Urzekł mnie swoją prostotą i – co tu dużo ukrywać – niskimi kosztami. No i Open Source:)
Ta strona będzie rodzajem dziennika z budowy. Będę uzupełniał ja z każdym wykonanym krokiem.
Uwaga: nowsza wersja instrukcji do budowy znajduje się na podstronie: Budowa czarnego MeArm.
14.01.2015
Tym razem w LNT:)
29.05.2015
Zaparkowany na chwilę projekt meArm wraca – tym razem sterowany przez Raspberry Pi i rozszerzenie do generowania PWM.




14.04.2015
Dzisiaj dotarł do mnie Sensor Shield v5.0. Moduł ten ma mi pomóc w podłączeniu serw do Arduino. Jego rozszerzony opis znajdziecie w tym wpisie.

Przemyślmy chwilę, gdzie by tu te serwa podłączyć:
Pin | PWM? | Przeznaczenie | Zastosowanie |
---|---|---|---|
0 | Nie | UART/RXD | |
1 | Nie | UART/TXD | |
2 | Nie | ||
3 | Tak | <serwo 1 : roll> | |
4 | Nie | ||
5 | Tak | <serwo 2: pitch> | |
6 | Tak | <serwo 3: yaw> | |
7 | Nie | ||
8 | Nie | OLED/DC (dane/komendy) | |
9 | Tak | <serwo 4: szczęki> | |
10 | Tak | SPI/CS | OLED/CS (wybór czipa) |
11 | Tak | SPI/MOSI | OLED/D1 (MOSI dane) |
12 | Nie | SPI/MISO | OLED/RES (reset) |
13 | Nie | SPI/CLK | OLED/D0 (zegar) |
Zamiast możemy odwołać się do znanego m.in. sposobu orientowania się w przestrzeni trójwymiarowej za pomocą współrzędnych lokalnych prędkości kątowych roll-pitch-yaw podczas obracania się względem osi x, y i z (kąty RPY).
8.04.2015
Przy okazji pierwszych uruchomień z testerem serw okazało się, że trochę źle nałożyłem ramię na prawe serwo. Skutkiem tego był jego ograniczony zasięg do przodu. W gąszczu elementów niełatwo było wypiąć orczyk ramienia z zębatki serwa. Dobra rada: zanim złożycie kastę, warto wypróbować jak naprawdę chodzą serwa.
Zanim złożycie kastę, wypróbujcie jak chodzą serwa. Łatwo to zrobić mając do dyspozycji tester serw. Wystarczy:
- Zasilić znajdujące się na podstawce Arduino
- Do testera podłączyć kabelek z serwa: 3 żyły, najczęściej środkowa jest czerwona (+), jedna z zewnętrznych czarna lub brązowa (-) a druga biała lub żółta – sterowanie S. Upewnijcie się, że podłączyliście wtyczkę w dobrą stronę.
- Za pomocą 2 kabelków męsko-żeńskich:
- Połączcie '5V’ z Arduino do '+’ testera
- Połączcie 'GND’ z Arduino do ’-’ testera
- Większość testerów ma przycisk wybierający między 3-ma trybami:
- Pozycja neutralna
- Sterowanie zamontowanym potencjometrem
- Tryb automatyczny – 'wycieraczki’
- Sprawdźcie wszystkie 3 tryby!
Do uruchomienia ramienia nie potrzebuję wcale wybranego przeze mnie Sensor Shield v5. Wystarczy połączyć wszystko kabelkami do odpowiednich pinów Arduino – choć trochę ich będzie potrzeba… Cały kod znajduje się na githubie projektu. Kod jest raczej mało skomplikowany. Składa się z powtarzających się dla każdego serwa bloków:
//Odczytaj wartość z potencjometru/joystika val = analogRead(potpin); //Przeskaluj do zakresu 0..179 stopni rozumianego przez serwo val = map(val, 0, 1023, 0, 179); //Ustaw serwo myservo.write(val);
Ciekawszy jest projekt 'MeArmIK’. 'IK’ pochodzi od 'inverse kinematics’. Minęło tyle lat, a dalej robi mi się gorąco na myśl o podobnych zadaniach rozwiązywanych na studiach:) Generalnie w pierwszym projekcie (za pomocą potencjometrów lub wychyleń joysticka) mówimy poszczególnym serwom, jakie mają ustawić sobie kąty. W drugim przypadku mówimy systemowi, jaki pynkt w przestrzeni ma osiągnąć chwytak. Zadanie odwrotnej kinematyki polega na przeliczeniu tych współrzędnych na kąty serw. Podejście jest więc zasadniczo różne. IK abstrahuje nas od budowy robota (ile ma serw – czy fachowo stopni swobody) i pozwala na bardziej naturalne sterowanie.
05.04.2015
Serwo chwytaka wkładamy w prostokątny kołnierz:

Ta dźwignia będzie służyła do pozycjonowania chwytaka w poziomie:

Zwróćcie uwagę, że przednie śruby mocujące serwo nie mogą wystawać poza kołnierze. W przeciwnym razie będą blokować ramiona chwytaka. Użyłem tutaj śrub 8mm bez nakrętek.

Przed zamontowaniem ramion chwytaka proponuję przeszlifować wgłębienia między zębami tak, aby swobodnie mogły razem pracować. Tak będzie wyglądał chwytak po zmontowaniu:

Zauważcie, że montaż ramienia popychacza będzie wymagał dodania 2 dystansów:

Podobnie sprawa ma się z prawym górnym ramieniem pozycjonującym chwytak w poziomie:

Mechanika gotowa:

4.04.2015
Boczne serwa przykręcamy do ścian kasty przez kołnierze śrubkami 12mm (i nakrętki z drugiej strony) – podobnie jak w przypadku serwa dolnego.
Zwróćcie teraz uwagę na przykręcanie ramion do orczyków serw. Z każdym serwem dostarczane są zazwyczaj dwa rodzaje śrubek: 2 większe i jedna mniejsza. Te większe przeznaczone są do zamocowania serwa przez jego boczne uszka. Mniejszą śrubkę wkręca się przez orczyk w zębatkę serwa blokując orczyk, żeby nie wypadł. Zgodnie z krokiem 8 instrukcji, wkręty do mocowania serwa mają być użyte do przykręcenia orczyków do ramion. Jest to wykonalne, pod warunkiem wcześniejszego rozwiercenia dziurek w orczykach wiertłem 1.5mm. Jeżeli pominiecie tą operację ryzykujecie pęknięcie orczyka podczas wkręcania śrubek, a macie tylko jedną szansę.

Potem idzie już łatwo:

Ramiona składające się z dwóch elementów przykręcałem na śrubki 8mm – te z trzech a 12mm. Po nałożeniu ramienia z orczykiem na serwo nie zapomnijcie zablokować go wkrętem (tym mniejszym):

Budowanie nie powinno sprawić Wam żadnych problemów. Instrukcja jest dość przejrzysta i niewiele w niej pułapek. Zwróćcie jednak uwagę na montaż przedniej i tylnej ścianki kasty – łatwo można włożyć je odwrotnie:

Innymi słowy ten środkowy wspornik powinien być bliżej lewej strony (patrząc z kierunku tylnej ściany):

I dwa boki kasty razem:

Złóżcie boki kasty razem. W dalszej kolejności podłączcie ramiona:


Zwróćcie uwagę na dystans na szczycie prawego ramienia:
Kilka uwag:
- Uważnie obserwujcie rysunki w instrukcji, które elementy w jaki sposób powinny na siebie nachodzić;
- Przed przykręceniem ramion do serwa sprawdźcie, jak mają chodzić. Instrukcja mówi np. o maksymalnym cofnięciu serwa tak, aby ramię znalazło się w odpowiedniej pozycji;
- Nakrętki na śrubach nie są konieczne. Otwory są tak spasowane, że śruby wchodzą bardzo ciasno. Na razie dodaję je dla pewności – nie wiem, czy później nie usunę;
- Ostre końce wkrętów serw są bezpiecznie skierowane do środka kasty; nie ma możliwości poranienia się nimi podczas zabawy;
- Zabejcowanie/polakierowanie sprawia, że większość elementów wchodzi dość ciasno. Czasami trzeba użyć pilnika i papieru ściernego, żeby usunąć zalewy lakieru.
No, to pozostaje dodać chwytak:
31.03.2015
Dolne serwo jest odpowiedzialne za obracanie całego ramienia. Przykręciłem je do platformy poprzez kołnierz za pomocą 2 śrubek fi3mm/12mm (10 mm były trochę za krótkie).


Ponieważ model jest z drewna zrezygnowałem z podanego w instrukcji sposobu przykręcenia tej platformy do podstawy za pomocą śrub. Użyłem do tego fi3mm/15mm dystansów wew-zew. Dystanse od góry przykręciłem śrubkami fi3/8mm (10mm były za długie). Od dołu dystanse przykręciłem za pomocą odpowiednich nakrętek.
Może na to za wcześnie, ale przymierzyłem samo Arduino. Przykręciłem je za pomocą fi2/16mm śrubek poprez fi3/8mm dystanse (polyamid). Ponieważ śrubki były trochę za długie, dodałem po 2 podkładki na każdą.

W roli Arduino – żółte Visduino z portem microUSB.

I taki jeszcze gadżecik – świetnie znany wielu modelarzom: tester serw.

Do wyjścia podłączamy serwo (wtyczka poziomo); wejście zasilamy 4.5v – 6v np. z Arduino lub zasobnika z 4 bateriami AA. Kręcąc potencjometrem możecie zmieniać położenie serwa. Dostępne są też tryby automatyczne (wycieraczki) i ustawienie w pozycji neutralnej.

30.03.2015
Najniższy poziom to właściwie podstawka pod Arduino i montaż serwa obracającego ramieniem. Pracę zacząłem jednak od przyklejenia nóżek (h=4mm). Nie kupowałem nic specjalnego – użyłem starych uszczelek od kranów. Przykleiłem je do podstawki klejem polimerowym.
Jeżeli chodzi o montaż serwa, zamiast śrub (jak w projekcie) postanowiłem użyć dystansów zew-wew 3mm i śrubek 3mm. Tego typu dystanse mają z jednej strony gwint zewnętrzny na nakrętkę, a z drugiej – wewnętrzny na śrubkę.
Ze względy na wybrane przeze mnie nóżki, przy 12mm dystansach serwo leżało praktycznie na ziemi- zdecydowałem się więc na 15mm.
Jeżeli chodzi o Arduino użyłem dystansów 8mm wew-wew poliamid i śrubek fi2mm/16mm. otwory montażowe mają 3mm, ale niektóre są położone tak blisko gniazd, że łebki 3mm śrubek nie mieszczą się. Dlatego użyłem 2mm, 2.5m powinny również pasować. Jeżeli chodzi o długość to:
L> 3mm (płytka arduino) + 3mm (płyta podstawy) + 8mm (dystans - możecie mieć inny) + 2mm (żeby chwycił gwint) ~ 16mm
Dojechały również zamówione serwa:

29.03.2015
Pomalowane części schną:
W miejscach, gdzie rozlał się CA powstały jaśniejsze odbarwienia. Nie szkodzi – jak dla mnie wygląda bardziej naturalnie.
W tle kombinuję nad sterowaniem. Ponieważ wszystko będę pewnie ściągał ze wschodu, zakupy trzeba zaplanować odrobinę wcześniej. Starając się unikać niepotrzebnych kosztów, kupiłem tani shield w wyprowadzeniami na serwa:
I dwa małe joysticki:
Razem niecałe 6 dolarów (24 PLN). Teraz myślę nad samym panelem sterowniczym. Chciałbym na niego zmieścić jeszcze mały OLED… Może tak:
Zobaczymy:)
28.03.2015
Dzisiaj wziąłem się za porządki. Wypiąłem wszystkie elementy z ramek. I tu uwaga – niektóre ważne części mogą wyglądać jak odpady:
Te niewielki kółka to np. dystanse:
W kolejnym kroku oszlifowałem wszystkie elementy (papier ścierny 360).
Oryginalne ramiona wypalane są z pleksi – tutaj mam drewno i to nie najgrubsze. Bojąc się o pewne połączenia zaimpregnowałem je klejem cyjano-akrylowym – szczególnie otwory pod śrubki. To stary numer modelarski – nasączanie klejem wzmacnia drewno. Mam nadzieję, że to wystarczy.
Kolejny etap to zabezpieczenie drewna. Ponieważ lakier wyszedł, użyłem lakiero-bejcy.
Trzeba będzie położyć kilka warstw przeszlifowując elementy między nimi.
27.03.2015
Właśnie odebrałem 2 komplety elementów do budowy MeArm.

Elegancko wypalone laserem w 3mm sklejce. Wcześniej zaopatrzyłem się już w pół kilo 3mm śrubek o różnych długościach i nakrętek. Równocześnie zamówiłem 4 serwa TowerPro SG90. Tyle powinno 'teoretycznie’ wystarczyć do skończenia części mechanicznej. Wiem, że pewnie się na tym nie skończy. Oryginalny projekt – chociaż drewno też było przewidziane – celował głównie w pleksi. Widzę w planach, że wiele połączeń jest wkręcanych. O ile w przypadku pleksi jest to możliwe, o tyle dla drewna pewnie będę musiał użyć kombinacji śrubek, nakrętek, podkładek i dystansów.
Jeszcze nie zdecydowałem, co będzie kontrolować robota. Ciekawiej będzie chyba z Arduino – dzięki dużym możliwości generowania PWM do sterowania serwami. Raspberry z jakimś shieldem też by pasowała…
BOM
Element | Skąd | Cena | Uwagi |
---|---|---|---|
Ogólne | |||
Elementy wypalone laserowo | PD | 3mm sklejka | |
Serwa TowerPro sg90 x 4 | Internet | 40 | Niektóre elementy są dopasowane do rozmiarów tego serwa |
Joystick breakout | Chiny | $2,86 | |
Arduino serwo shield | Chiny | $2,80 | |
Podstawa | |||
Śrubki fi 3mm/12mm x 2 + nakrętki | Sklep | ?? | Mocowanie dolnego serwa |
Śrubki fi 3mm/8mm x 4 | Sklep | ?? | Mocowanie dystansów dolnego serwa od góry |
Dystanse zew-wew fi 3mm/15mm x 4 (metal) | Sklep | 4x.68 | Mocowanie platformy dolnego serwa |
Montaż Arduino | |||
Dystanse wew-wew fi 3mm/8mm x 4 (poliamid) | Sklep | 4x.68 | Mocowanie Arduino |
Śrubki fi 2mm/16mm x 4 + nakrętki | Sklep | ?? | Mocowanie Arduino |
Podkładki fi 2mm x 8 | Sklep | ?? | Pod dystanse do montażu Arduino – dopasowanie śrub |
Główna kolumna | |||
Śruby fi3/12 mm x 4 + nakrętki | Sklep | Montaż bocznych serw | |
Śruby fi3/8 mm x 2 + nakrętki | Sklep | Montaż ramion | |
Kasta (kolumna główna) i ramiona | |||
Śruby fi3/10 mm x 4 + nakrętki | Sklep | Skręcenie boków kasty | |
Śruby fi3/8 mm x 4 + nakrętki | Sklep | Lewe ramię i wspornik środkowy | |
Śruby fi3/10 mm x 2 + nakrętki | Sklep | Łącznik między ramionami dolnymi | |
Śruby fi3/12 mm x 2 + nakrętki | Sklep | Prawe ramię | |
Śruby fi3/8 mm x 2 + nakrętki | Sklep | Prawe ramię | |
Budowa chwytaka | |||
Śruby fi3/12 mm + nakrętki x 2 | Sklep | Montaż tyłu serwa chwytaka | |
Śruby fi3/8 mm x 2 | Sklep | Montaż przodu serwa chwytaka | |
Śruby fi3/8 mm x 2 | Sklep | Montaż osi ramion chwytaka | |
Śruba fi3/12 mm | Sklep | Montaż srzęgła chwytaka | |
Montaż chwytaka | |||
Śruby fi3/8 mm x 2 | Sklep | Ramiona do kiści | |
Śruba fi3/10 mm x 2 | Sklep | Górne prawe ramię do kiści | |
Razem |
Narzędzia
Co | Skąd | Cena |
---|---|---|
Papier ścierny 360 | Sklep narzędziowy | 1.5 |
Klej cyjano-akrylowy | Sklep narzędziowy | 7 |
Klej polimerowy | Sklep narzędziowy | 4 |
Lakier, lakiero-bejca | Sklep narzędziowy | 15 |
Stare uszczelki od kranów x4 na nóżki podstawki | Szafa | ?? |
Mały śrubokręt krzyżakowy | Sklep narzędziowy | 3 |
Pilniczek półokrągły | Sklep narzędziowy | 8 |
Wiertło 1.5mm + uchwyt ręczny | Do rozwiercania orczyków | 1.5+10 |
Tester serw | Do testowania położeń serw | 25 |
Witam ,
Chciałbym się spytać , jakiego długości i szerokości sklejki użyłeś do wycięcia laserowego tych elementów?
Z tego co pamiętam, wszystko mieści się na A4.