wersja mobilna

Robot klasy SCARA "Mustang"

Numer: Maj/2019

Pierwszy robot klasy SCARA, opracowany przez Sankyo Seiki (Japonia) w 1981 r., był odpowiedzią na coraz większe zapotrzebowanie przemysłu na automatyzację takich czynności, jak: przekładanie, wkładanie przedmiotów do opakowania, układanie itd. Cel projektu stanowiła budowa robota właśnie tej klasy - dwuosiowego ramienia robotycznego manipulującego efektorem w płaszczyźnie XY, z funkcjami grawerowania laserem lub niewielkim wrzecionem modelarskim, rysowania mazakiem i pick & place za pomocą ssawki.

Pobierz PDF
Autor projektu jest finalistą i laureatem ogólnopolskiego konkursu "Elektronika, by żyło się łatwiej" organizowanego przez Politechnikę Śląską.

SCARA to akronim słów Selective Compliance Articulated Robot Arm. Manipulator robota tej klasy przemieszcza się obrotowo w płaszczyźnie XY względem środka obrotu i liniowo w osi Z. Dzięki temu roboty tej klasy są szybsze niż pracujące w układzie kartezjańskim. Pozwala to na osiągnięcie zadanego w obszarze roboczym punktu dwoma trajektoriami, co ogranicza przestrzeń wymaganą do pracy manipulatora, upraszcza jego budowę i ułatwia montaż. Z drugiej strony, manipulator nie może przenosić dużych sił, a samo sterowanie wymaga zastosowania równań trygonometrycznych oraz interpolowania w momencie, kiedy końcówka ma wykonać ruch po linii prostej. Ponadto roboty tej klasy charakteryzują się mniejszą sztywnością. Wszystko to sprawia, że ramiona robotyczne tego typu są idealne do aplikacji służących do manipulowania lekkimi przedmiotami, w których jest wymagana szybkość, małe natężenie hałasu oraz łatwość instalacji połączona z niewielką zajętością miejsca, a więc w zastosowaniach "podnieś i przenieś" lub operacjach montażowych. Robota można też z powodzeniem wyposażyć w narzędzie typowe dla maszyn CNC.

Fotografia 1. Robot w układzie kartezjańskim realizujący zadanie pick & place

Fotografia 2. Robot klasy SCARA realizujący zadanie pick & place

Rysunek 3. Schemat blokowy robota

Rysunek 4. Uproszczony schemat kinematyki robota

Rysunek 5. Schemat blokowy systemu zasilania

Rysunek 6. Komponenty sterownika robota

Fotografia 7. Wygląd gotowego sterownika

Rysunek 8. Sposób łożyskowania przegubów obrotowych pierwszego i drugiego stopnia swobody (przekrój poprzeczny)

Fotografia 9. Przekładnia planetarna wykonana za pomocą drukarki 3D

Rysunek 10. Projekt koła pasowego

Fotografia 11. Widok zmontowanego robota

Fotografia 12. Szczegóły budowy ramienia robota

Rysunek 13. Sposób zerowania położenia ramion

Fotografia 14. Znacznik przeznaczony do zerowania położenia ramienia

Rysunek 15. Interpolacja ruchu ramienia: A) punkty przemieszczenia, B) przemieszczenie z interpolacją, C) przemieszczenie bez interpolacji

Fotografia 16. Przykładowa grafika wypalona laserem na kartce papieru

Fotografia 17. Uchwyt dla frezarki modelarskiej

Fotografia 18. Przykład pracy grawerki

Fotografia 19. Przykładowy rysunek wykonany pisakiem

Fotografia 20. Moduł generujący podciśnienie

Fotografia 21. Robot realizujący aplikację pick & place

Dla porównania, na fotografii 1 pokazano robota realizującego zadania pick & place w układzie kartezjańskim, natomiast na fotografii 2 robota klasy SCARA. Już na pierwszy rzut oka widać mniejszą przestrzeń wymaganą przez robota z fotografii 2.

Bardzo zainteresował mnie sposób, w jaki funkcjonuje takie ramię. Wyznaczenie przemieszczenia nie jest trywialne, ponieważ przy 2 stopniach swobody ramienia może wymagać jednoczesnej pracy wszystkich silników napędzających ramię. Jak je zsynchronizować, aby, na przykład, zamocowane na końcu ramienia narzędzie przemieszczało się po linii prostej? Postanowiłem zmierzyć się z tematem.

Podczas budowy robota przyjęto następujące założenia projektowe:

  • Uniwersalność urządzenia, co wiązało się z możliwością zastosowania wielu typów efektorów.
  • Możliwość łatwej rozbudowy, budowa modułowa.
  • Wykorzystanie łatwo dostępnych podzespołów elektronicznych, własnoręcznie wykonanego sterownika robota oraz elementów mechanicznych.
  • Jak najmniejszy koszt budowy.
  • Wartość edukacyjna oraz ocena przydatności pod kątem produkcyjno-przemysłowym.
  • Możliwość pracy w nieprzyjaznym środowisku (zapylenie, podwyższona temperatura).
Elektronika

Na rysunku 3 pokazano schemat blokowy robota. Jak można zauważyć, funkcję kontrolera pełni popularny mikrokomputer Arduino. Na rysunku 4 zilustrowano schemat kinematyki projektowanego robota klasy SCARA. Wynika z niego, że dwa pierwsze stopnie swobody są obrotowe, a trzeci - pryzmatyczny. Ponadto taki łańcuch jest otwarty i szeregowy.

Na rysunku 5 pokazano schemat blokowy systemu zasilania. Wszystkie bloki są zasilane napięciem +12 V DC dostarczanym przez zasilacz o obciążalności 5 A. Dodatkowo, w razie pracy ze ssawką i dla potrzeb oświetlenia LED do robota jest dodawane jeszcze jedno źródło zasilania, zasilacz napięcia +12 V o obciążalności 3 A. Zasilanie dla płytki Arduino i serwomechanizmu modelarskiego jest obniżane za pomocą typowego stabilizatora 7805.

Na rysunku 6 zamieszczono sterownik robota oraz ponumerowano poszczególne jego komponenty. Wśród nich znajdują się: 1) zasilacz DC 12 V/5 A; 2) i 3) sterowniki silników krokowych; 4) wentylator wymuszający obieg powietrza chłodzącego; 5) płytka rozprowadzająca napięcie zasilające z bezpiecznikiem i sygnalizacyjną diodą LED; 6) mikrokomputer Arduino Uno; 7) moduł przekaźnika; 8) stabilizator napięcia +5 V; 9) woltomierz.

Połączenia z urządzeniami zewnętrznymi (silniki krokowe oraz efektor) zrealizowano za pomocą złączy JST-BEC (bądź 3-pinowym złączem 0,1", jeżeli efektorem jest serwomechanizm modelarski). Do zasilacza sterownika (1) jest doprowadzony sieciowy przewód zasilający. Dla potrzeb sterowania robotem (kiedy nie jest wgrana zaprogramowana sekwencja ruchów) należy połączyć przewodem USB typu B z komputerem PC płytkę Arduino UNO (6) będącą mózgiem sterownika. Generuje ona i podaje sygnały sterujące pracą silników krokowych (drivery - 2 i 3), serwomechanizmu i/lub przekaźnika (7), który może załączać palnik laserowy lub elektrozawór. Płytkę (5) wyposażono w bezpiecznik, diodę - wskaźnik napięcia (na płycie znajduje się również woltomierz (9)), kondensatory chroniące przed chwilowym spadkiem napięcia zasilania. Zadaniem wentylatora (4) jest chłodzenie sterowników silników krokowych.

Sterownik jest osłonięty pokrywą wykonaną z pleksi. Elementy sterownika również zostały przymocowane do płyty wyfrezowanej z pleksi o grubości 8 mm. Ostateczną, testową wersję sterownika pokazano na fotografii 7.

Mechanika

Prostokątną podstawę robota o wymiarach 320 mm×240 mm wyfrezowano z plexi o grubości 16 mm na obrabiarce CNC. Otwory, służące do zamocowania silnika oraz dysku łożyskującego pierwszy stopień swobody, zostały nagwintowane gwintem M5. Podstawa ta, podobnie jak wszystkie inne elementy z pleksi i poliwęglanu, została przeze mnie wyfrezowane na frezarce numerycznej Megaplot XMD32. Projekt wykonano w programie Solid Edge.

Na rysunku 8 zilustrowano sposób łożyskowania przegubów obrotowych pierwszego i drugiego stopnia swobody (przekrój poprzeczny). Czarny prostokąt to podstawa, właściwe ramię (1) jest przymocowane do koła zębatego (2), które jest łożyskowane przez dysk z poliamidu (przeniesienie sił osiowych (5)) oraz wciskane łożyska 6008RS (przeniesienie sił promieniowych (4)). Oś koła stanowi imbusowa śruba M10 (3), przykręcona nakrętką samohamowną z podkładką (niebieski prostokąt). Początkowo planowałem zastosowanie bezluzowych przekładni ślimakowych przeznaczonych do zastosowania w urządzeniach automatyki przemysłowej, jednak okazały się one zbyt drogie. Postanowiłem rozwiązać ten problem przy użyciu drukarki Zortrax M200 pozwalającej na precyzyjne wydruki z ABS.

Próby rozpocząłem od przekładni planetarnych (fotografia 9). Wyniki były zadowalające, ale przekładnia taka miała zbyt duży luz oraz była, w porównaniu do długości i szerokości, zbyt wysoka (a odległość pomiędzy poszczególnymi ramionami robota powinna być jak najmniejsza). Najlepszym rozwiązaniem okazały się przekładnie pasowe. Zapewniają one płynny, cichy ruch, mają zdolność łagodzenia gwałtownych zmian obciążenia i tłumienia drgań, umożliwiają dużą swobodę w doborze przełożenia. Są przy tym niewrażliwe na dokładność wzajemnego ustawienia osi wałów oraz nie wymagają smarowania. Przekładnia złożona z kół pasowych oraz paska jest przy tym bardzo niska - praktycznie ma szerokość paska.

W robocie wykorzystałem zamknięte paski HTD o module 3 mm i obwodzie 531 mm (dla przekładni pierwszego stopnia swobody) i 390 mm (dla drugiego). Po obliczeniu przełożeń, a co za tym idzie liczby zębów, odległości między środkami kół zębatych, momentów obrotowych i maksymalnych prędkości obrotowych, przystąpiłem do drukowaniu kół zębatych, zaprojektowanych za pomocą specjalnej aplikacji webowej o nazwie Customizer. Za jej pomocą można łatwo generować projekty kół zębatych o zadanym module, liczbie zębów, wysokości i średnicy. Tak zaprojektowane koła obrabiałem za pomocą Google SketchUp i przygotowywałem do druku programem Z-Suite (rysunek 10). Wykonane przeze mnie przekładnie pasowe, mające możliwość regulowania luzów poprzez naprężenie pasków (można nieznacznie zmieniać pozycje silników, dzięki podłużnym otworom w ich uchwytach, tzw. fasolkom), okazały się idealnym i stosunkowo niedrogim rozwiązaniem.

Drugi stopień swobody działa i jest łożyskowany identycznie jak pierwszy, z tą różnicą, że użyto jednego łożyska kulkowego, a dysk wykonano z ABS. Wykorzystanie przekładni pasowych pozwoliło na zwiększenie momentu obrotowego (odpowiednio 6,33- oraz 4,44-krotnie) i zwiększenie rozdzielczości ruchów, kosztem stosunkowo dużych prędkości obrotowych (rzędu kilku obr./s), które nie miałyby zastosowania w robocie. Ponadto, dzięki wykorzystaniu mikrokroków (1/16), możliwe było dalsze zwiększenie precyzji i płynności ruchów.

Na fotografii 11 i fotografii 12 pokazano zmontowane oba ramiona. Na pierwszej z nich można zobaczyć drugą wieżę z silnikiem krokowym NEMA17. Średnice osi silników krokowych to odpowiednio 6,35 mm oraz 5 mm. Niezawodne połączenie małych zębatek z gładkim wałem uzyskano poprzez wcisk na gorąco oraz ściśnięcie dwoma śrubami imbusowymi M3. Drugie z ramion można łatwo zmienić, w zależności od tego, jaką funkcję ma pełnić robot (na fotografii 11 pokazano końcówkę z modułem lasera IR o mocy 500 mW). Każde z ramion ma długość 200 mm, zatem maksymalny obszar roboczy konstrukcji (bez uwzględnienia faktu ograniczenia go przez wieże silników i podstawę) to koło o średnicy 800 mm. W robocie nie zastosowano czujników krańcowych, pozycję zerową ustawia operator, ustalając wzajemne pozycje ramion, jak pokazano to na rysunku 13. W precyzyjnym ustawieniu pozycji zerowej pomocne są specjalne znaczniki (fotografia 14), zakładane tylko podczas zerowania.

Oprogramowanie

Dla funkcji rysowania, wypalania laserowego oraz grawerowania wykorzystano udostępniane na zasadach open-source oprogramowanie firmy Makeblock - mDraw, rozszerzone o funkcję sterowania przekaźnikiem. Ten open-source'owy program po zmodyfikowaniu ustawień charakterystycznych dla mojej SCARAy pozwala na wgranie wektorowego pliku SVG lub zwektoryzowanie graficznej bitmapy, ich przeskalowanie, obrót i odbicie lustrzane oraz pakietowe przesłanie poleceń sterujących, zatrzymanie lub wstrzymanie pracy. Ponadto użytkownik może ustawić ramiona do pozycji domowej (początkowej). Program wizualizuje w czasie rzeczywistym aktualne położenie ramion i informuje o pozycji końcówki w układzie XY. Dla aplikacja pick & place napisałem własny program, z funkcją odwrotnego liczenia kinematyki oraz zamykania/otwierania elektrozaworu, co pozwala na zaprogramowanie pełnego cyklu podnieś i przenieś. Przykładowa sekwencja czynności zapisana w programie może wyglądać następująco:

scaraInverseKinect(35,0);
os_Z.write(120);
delay(500);
chwyc();
os_Z.write(0);
delay(500);

Użyto w niej funkcji:

  • os_Z.write() - zadanie pozycji dla siłownika osi Z,
  • delay() - wstrzymanie programu,
  • chwyc() / pusc() - sterowanie elektrozaworem,
  • scaraInverseKinect() - funkcja realizująca obliczenie kinematyki odwrotnej, na podstawie współrzędnych XY w układzie współrzędnych (w cm lub mm), która zwraca wartości kątów dla ramion oraz zadaje je sterownikom silników krokowych, z wykorzystaniem biblioteki AccelStepper()

Funkcja scaraInverseKinect() pracuje z wykorzystaniem twierdzeń cosinusów i Pitagorasa. Wewnątrz niej są rozwiązywane kąty na podstawie danych zawierających długość boków (które wynikają z podanych argumentów x oraz y). Następnie te wartości są przeliczane na liczbę kroków (zaokrąglone do jedności), o które musi przesunąć się silnik, a w pętli while() są wywoływane funkcje motor_A.run() oraz motor_B.run() tak długo, aż zostaną osiągnięte zadane wartości.

W open-source'owym wsadzie firmy Makeblock, który obsługuje pozostałe trzy funkcje robota, zaimplementowano komunikację PC-Arduino poprzez SerialPort, a aplikacja mDraw pozwala na interpolację ruchów. Problem zilustrowano na rysunku 15:

  1. ruch zadany; przemieszczenie końcówki roboczej wzdłuż prostej przechodzącej przez punkt aktualnego położenia i zadany,
  2. ruch interpolowany; interpolacja polega na rozłożeniu zadanego ruchu na krótsze odcinki, na przykład co milimetr; problem ten nie występuje w robotach kartezjańskich,
  3. ruch nieinterpolowany.
Podsumowanie

Założenia projektu zostały spełnione w 100%, budowa robota trwała 8 miesięcy. Będąc w pełni świadomym edukacyjno-prototypowego charakteru konstrukcji, mogę stwierdzić, że umożliwiłaby automatyzację niewielkim kosztem (na tle dostępnych rozwiązań na rynku automatyki).

Solid Edge 2019 pozwolił na zaprojektowanie wszystkich elementów dwuwymiarowych, a następnie wyeksportowanie ich do formatu DXF i wyfrezowanie numeryczne. W programach Google SketchUp i Autodesk Fusion 360 projektowano wszystkie elementy 3D i modyfikowano te wygenerowane za pomocą aplikacji Customizer. Ostatni z programów CAD wspomagających budowę, Fritzing, umożliwił narysowanie schematu ideowego celem dokumentacji.

Wykonany robot realizuje następujące funkcjonalności:

  1. Grawerowanie laserowe z wykorzystaniem modułu diody laserowej 500 mW, generującej wiązkę o długości fali 808 nm (podczerwień). Przykładową grafikę wykonaną na szarej kartce papieru (celem lepszego pochłaniania energii wiązki) pokazano na fotografii 16.
  2. Grawerowanie i wiercenie miniwrzecionem modelarskim. Na końcu ramiona zamontowano prowadnicę firmy Igus. Ruch wózka w górę wymusza serwomechanizm modelarski, natomiast w dół wózek opada pod własnym ciężarem (fotografia 17). Zastosowany silnik z uchwytem dla wiertła lub frezu o średnicy do 3 mm pochodzi z miniwiertarki modelarskiej. Pozwala on na grawerowanie w materiałach miękkich, takich jak depron czy balsa. Przykład pracy grawerki pokazano na fotografii 18.
  3. Rysowanie przy użyciu ramienia funkcji drugiej, z tą różnicą, że do wózka zamiast silnika przymocowany jest mazak. Przykładowy rysunek pokazano na fotografii 19.
  4. Pick & place, który wymaga dodatkowego modułu, generującego podciśnienie (fotografia 20). Składa się on z pompy próżniowej i trójnika, do którego jest dołączony elektrozawór. W momencie zamknięcia na wyjściu pojawia się podciśnienie, a kiedy zostaje otwarty, następuje odcięcie próżni. Robot może przenosić małe, płaskie przedmioty (o gładkiej powierzchni) i ciężarze nieprzekraczającym 100 gramów. Mogą to być, na przykład: cukierki, czekoladki, wizytówki, karty RFID i tym podobne (fotografia 21).

Wiktor Nowacki
opiekunem projektu jest mgr inż. Stanisław Sitek

Bibliografia:

  1. Film podsumowujący projekt http://bit.ly/2PgnrnY
  2. http://bit.ly/2VbolaJ
  3. http://bit.ly/2GkmzuD
  4. http://bit.ly/2ZmE3zg
  5. http://bit.ly/2ItSa07
  6. http://bit.ly/2VRy577
  7. http://bit.ly/2va0No3

Pozostałe artykuły

Projektowanie aplikacji dla przekaźnika programowalnego Zelio metodą tablic Karnaugh

Numer: Kwiecień/2019

Przekaźniki programowane, na przykład Zelio, stanowią doskonałe narzędzie do bardzo szybkiej implementacji prostych aplikacji automatyki przemysłowej, systemów centralnego ogrzewania, sterowania klimatyzacją, nawadnianiem itd. itp. W artykule przedstawiono jedną z metod projektowania przykładowej aplikacji sterującej specyficznym mieszalnikiem.

Przemysł 4.0 w praktyce

Numer: Kwiecień/2019

Rittal to producent szaf sterowniczych i systemów klimatyzacji do instalacji elektrycznych i automatyki przemysłowej. Dzięki temu, że jest firmą rodzinną, może śmiało planować przyszłość, a jego najnowszy zakład produkcyjny jest tego wzorcowym przykładem. Jeśli więc interesuje Was czym jest Przemysł 4.0 w praktyce, warto zapoznać się z niniejszym artykułem.

LOGO! 8. Personalizowane menu w LOGO! TDE

Numer: Wrzesień/2018

Budując nasze rozwiązania z użyciem LOGO! 8, niejednokrotnie stawaliśmy przed pytaniem: ?czy jest możliwe zmienianie parametrów pracy mojego programu już po jego napisaniu??. Odpowiedź brzmi: tak, jest możliwe. I to bez użycia komputera! Firma Siemens zaplanowała bardzo wygodny mechanizm modyfikowania wartości różnych parametrów w tym wszystkich użytych liczników i układów czasowych oraz kluczy programowych a nawet parametrów bloków ...

Frezarka sterowana numerycznie

Numer: Lipiec/2018

Prezentowana frezarka CNC jest przeznaczona głównie do obróbki tworzyw sztucznych, stopów aluminium, oraz miękkiej stali. Sterowanie odbywa się za pomocą standardowych kodów ISO oraz cykli automatycznych programu sterującego Mach3. Maszyna powstała z mojego zamiłowania do automatyki oraz obróbki mechanicznej. Chciałem pokazać, że maszyna, która nie kosztuje tyle, co przemysłowa również ma duże możliwości dydaktyczne, jak i przy ...

LOGO! 8: możliwości nowego wyświetlacza

Numer: Czerwiec/2018

Wyświetlacz LCD wbudowany w sterownik Siemens LOGO! wyposażony w wiele funkcjonalności ułatwiających zbudowanie dosyć zaawansowanego mechanizmu wyświetlania informacji. W niniejszym artykule omówimy główne funkcjonalności ekranu wbudowanego w sterownik LOGO! w wersji 8.

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Czerwiec 2019

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym