Pomysł
Idea zbudowania własnego robota kartezjańskiego pojawiła się podczas przygotowań do jednego z konkursów technicznych. Doszliśmy do wniosku, że robot kartezjański, pomimo dziesiątek lat od wprowadzenia na rynek, nadal jest urządzeniem niezwykle przydatnym i praktycznym. W związku z powyższym niezwłocznie zaczęliśmy pracę nad naszym projektem.
Założenia projektowe oraz cel budowy robota
Projektowanie robota rozpoczęliśmy od analizy dostępnych robotów na rynku, ich zasady działania oraz zadań, jakie spełniają w przemyśle. Wizję naszego automatu oparliśmy na stosunkowo dużym polu roboczym – 1,0×1,0×0,8 m. Celem projektu było poznanie poszczególnych kroków konstrukcji urządzeń: projektowania, budowania, testowania i walidacji działania, a także nauka programowania robota, co szczególnie przydatne okazuje się w zastosowaniach edukacyjnych. Wizualizacje naszej pierwszej wersji robota można zobaczyć na rysunku 1.
Kwestie mechaniczne
Prezentowany robot kartezjański bazuje na profilach aluminiowych V-slot 20×40 mm i 20×20 mm. Profile te charakteryzują się dużą wytrzymałością przy małej masie własnej. Wymiary robota to: 1040×1040×1114 mm (X, Y, Z). Aby zwiększyć sztywność konstrukcji, zastosowaliśmy małe zastrzały 200 mm, a od dołu umieściliśmy przezroczystą płytę z pleksi o grubości 4 mm. Robot ma możliwość poruszania się w trzech osiach i jest wyposażony w serwochwytak, który pozwala chwytać produkty i przenosić je z rolki na rolkę.
Ciekawie rozwiązana została oś Y, która napędzana jest za pomocą tylko jednego silnika krokowego w rozmiarze NEMA 23, napędzającego „nieskończony” pasek zębaty GT2. Z niego z kolei napęd jest przenoszony na wałek o średnicy 8 mm, umocownay na łożyskach kulkowych przytwierdzonych do ramy robota. Po dwóch końcach wałka zostały umieszczone zębatki GT2 T20 (20 zębów), które napędzają oś Y – aby umożliwić takie samo działanie po drugiej stronie robota, został tam zamontowany identyczny zespół, lecz już pozbawiony silnika. Część napędową osi Y pokazano na rysunku 2.
Oś Z została zbudowana w oparciu o koło zębate i listwę zębatą o module 1. Taki układ zamienia ruch obrotowy wału silnika na ruch posuwisto-zwrotny, dzięki któremu można podnosić przedmioty z rolek. Aby unieruchomić ten zespół, połączyliśmy opisywany moduł z prowadnicą liniową i wózkami liniowymi MGN12H – rysunek 3.
Oś X została zrealizowana poprzez użycie paska zębatego GT2 i dwóch kompatybilnych zębatek. Pasek napędza zespół osi X i Z na prowadnicy liniowej i dwóch wózkach liniowych.
Wiele elementów robota zostało wydrukowanych w technologii druku 3D (FDM). Użyliśmy filamentu ASA, który charakteryzuje się dużą wytrzymałością mechaniczną przy relatywnej łatwości drukowania.
Elektronika
Zasilanie i zabezpieczenia
Schemat ideowy układu zaprezentowano na rysunku 4. Układ zasilany jest napięciem sieciowym 230 V AC, dlatego wszelkie prace związane z łączeniem elektroniki w szafie sterowniczej i poza nią należy wykonywać z zachowaniem szczególnej ostrożności. Bardzo ważnym elementem jest wyłącznik bezpieczeństwa – obowiązkowy przy projektowaniu każdego rodzaju maszyny, a w szczególności stanowisk dydaktycznych. Zabezpieczeniem przed przeciążeniem zasilacza w przypadku awarii są bezpieczniki, włączone na liniach zasilających poszczególne moduły sterownika.
Większość bloków funkcjonalnych, poza samymi silnikami, znajduje się w zamykanej szafie sterowniczej, widocznej na fotografii 1. Jedynymi elementami na stałe wystającymi z szafy są: panel dotykowy kontrolera DDCSV oraz puszka z wyłącznikiem bezpieczeństwa.
Skoro kwestie bezpieczeństwa zostały już omówione, warto skupić się na kolejnych elementach – zasilaczach. Pierwszy zasilacz (o napięciu wyjściowym 5 V) jest odpowiedzialny za zasilanie Arduino Uno, chwytaka oraz czujników indukcyjnych NPN NC, które po wykryciu metalu wysyłają sygnał do sterownika (ich rolę w projekcie opiszemy w części artykułu poświęconej działaniu robota).
Zastosowanie dwóch niezależnych zasilaczy, zgodnie z instrukcją kontrolera DDCSV 3.1 wymagającą osobnego zasilania wejść i wyjść, zapewnia poprawne działanie logiki układu, a optoizolacja spełnia funkcję dodatkowej ochrony. Pierwszy zasilacz 24 V małej mocy odpowiada za zasilanie kontrolera oraz przekaźników, natomiast drugi, o tym samym napięciu, ale dużej mocy, odpowiada za zasilanie sterowników silników, taśm transportowych oraz wentylatorów (zastosowaliśmy wentylatory na napięcie 12 V).
Opis działania
Na fotografii otwierającej można zobaczyć ukończony projekt. Za poprawne działanie urządzenia odpowiada kontroler DDCSV, który można nazwać sercem całego układu. Wyjścia panelu kontrolują pracę sterowników silników NEMA 23. Sygnały z czujników indukcyjnych trafiają do poszczególnych wejść kontrolera, dzięki czemu sterownik może automatycznie bazować ramię, jednocześnie nie pozwalając na wysunięcie ramienia poza pole robocze. Sygnały sterujące pracą rolek transportowych (poprzez przekaźniki) pochodzą z wyjścia kontrolera o numerze M10.
Pracę chwytaka kontroluje moduł Arduino Uno, otrzymujący sygnały sterujące/wejściowe z jednokierunkowego konwertera poziomów logicznych z zakresu 5 V...24 V na napięcia z bezpiecznym dla płytki przedziale 3,3 V...5 V. Dzięki temu sygnał z wyjścia sterownika (M03) może bezpiecznie sterować chwytakiem, bez ryzyka uszkodzenia mikrokontrolera.
Instrukcja użytkowania stanowiska edukacyjnego
W ramach projektu napisaliśmy instrukcję, która krok po kroku informuje o kolejnych etapach uruchamiania systemu i właściwej pracy z robotem. Po załączeniu zasilania należy uruchomić robota za pomocą przycisku w szafce sterowniczej. Następnie trzeba poczekać na załączenie systemów i zresetować robota za pomocą przycisku RESET na kontrolerze.
W kolejnym kroku należy dokonać rewizji chłodzenia, naciągnięcia pasów zębatych oraz poprawności działania funkcji manualnej kontroli osi za pomocą poszczególnych przycisków na kontrolerze:
- przycisk Z+: ramię porusza się do góry, Z–: w dół,
- X – lewo/prawo,
- Y – przód/tył.
Za zamykanie i otwieranie chwytaka odpowiada komenda M3, przycisk SPINDLE (naciśnięcie powoduje otwarcie lub zamknięcie chwytaka), zaś do sterowania rolek transportowych służą komendy: M10 (włącz) i M11 (wyłącz), przycisk TOOLPATH.
Kolejnym etapem jest bazowanie, uruchamiane odpowiednią sekwencją przycisków SHIFT Z– ENTER HOME (2-krotne naciśnięcie). Po wykonaniu ostatniej komendy należy odczekać, aż robot wyzeruje wszystkie osie.
Teraz można przejść do programowania. W tym celu do kontrolera (wejście USB DISK) od strony szafy sterowniczej wkładamy pendrive z programem zapisanym w formacie G-code. Kontroler wybiera program i go wykonuje – należy w tym czasie obserwować jego ruchy. Pole robocze robota jest zapisane w sterowniku – jeśli nie zmieniamy niczego za pomocą własnego programu, to robot nie wyjedzie poza ustalone czujnikami pole. Jeśli jednak zauważymy błąd, należy natychmiast wyłączyć robota przyciskiem bezpieczeństwa.
Oprogramowanie robota
Programowanie robota odbywa się za pomocą komend G-code, które programujemy na przykład w Visual Studio Code, Notepad++ lub w zwykłym notatniku systemowym, zapisując plik z rozszerzeniem .nc. Przykładowy kod można zobaczyć na listingu 1.
G1 X 200 Y500 F2000
Z-400
M5
Z-660
M3
Z-400
X400 Y600
Z-660
M5
Z-400
X200 Y500
M10
G4 F3
M11
G0 Z-20 X0 Y0
M30
Listing 1. Przykładowy G-Code
Skrócony opis procesu opracowywania robota kartezjańskiego
- Założenia konstrukcyjne – określenie celów projektowych, wymagań technicznych oraz funkcjonalności robota, z uwzględnieniem specyfiki zastosowań przemysłowych.
- Zebranie odpowiedniej literatury.
- Wykonanie schematów, projektów i wizualizacji: opracowanie szczegółowych schematów elektrycznych, projektów mechanicznych oraz wizualizacji 3D, umożliwiających precyzyjne zaplanowanie budowy i funkcjonalności robota.
- Dobór odpowiedniego sterownika na potrzeby projektu, z uwzględnieniem jego funkcji, kompatybilności z innymi elementami oraz możliwości programowania.
- Wybór zasilaczy, sterowników silników, napędów oraz pozostałych elementów.
- Dobranie odpowiednich elementów mechanicznych, takich jak profile aluminiowe, łożyska, prowadnice czy koła zębate, z uwzględnieniem kluczowych parametrów.
- Przygotowanie elementów montażowych i złożenie konstrukcji zgodnie z zaplanowanym schematem.
- Przeprowadzenie testów oraz ostateczne dostrojenie i kalibracja robota przed przystąpieniem do użytkowania.
- Napisanie programu w kodzie geometrycznym, który będzie sterował pracą robota, a następnie wgranie kodu do sterownika i sprawdzenie poprawności działania w warunkach rzeczywistych.
- Sprawdzenie całej konstrukcji robota oraz testy działania w różnych warunkach i z różnymi obiektami.
- Ostatnie sprawdzenia i testy, drobne zabiegi kosmetyczne.
Rozwiązania techniczne i ich wpływ na użyteczność projektu
Zastosowanie technologii druku 3D
Kluczowe elementy robota, takie jak kątowniki, mocowania łożysk czy uchwyty do silnika, zostały przez nas zaprojektowane i wykonane za pomocą druku 3D. Zapewnia to idealne dopasowanie komponentów, zwiększa stabilność konstrukcji oraz umożliwia szybką i tanią modyfikację projektu.
Taśmociągi jako element systemu
Zastosowanie taśmociągów umożliwia płynny i ciągły transport materiałów, co skraca czas cyklu produkcyjnego. Automatyzacja tego procesu minimalizuje ryzyko błędów, oszczędza czas oraz zasoby ludzkie, a także zwiększa elastyczność systemu.
Czujniki indukcyjne dla większej precyzji
Czujniki indukcyjne zastępują tradycyjne ograniczniki mechaniczne, eliminując ryzyko uszkodzeń oraz zwiększając precyzję i bezpieczeństwo działania. Dzięki temu robot pracuje bardziej niezawodnie, a ograniczników nie trzeba wymieniać, ponieważ się nie zużywają, przez co koszty utrzymania robota są niższe.
Potencjalne zastosowania
Nasz projekt robota kartezjańskiego przynosi liczne korzyści. Po pierwsze, ma szerokie zastosowanie w edukacji, umożliwiając studentom oraz uczniom naukę podstawowych, jak i bardziej zaawansowanych zagadnień związanych z robotyką, automatyką oraz programowaniem. Dzięki jego intuicyjnej obsłudze oraz bezpiecznym funkcjonalnościom użytkownicy mogą efektywnie kształcić się w obszarach związanych z automatyzacją, co w dłuższej perspektywie przyczynia się do wzrostu ich kompetencji jako pracowników oraz zwiększenia ich wartości na rynku pracy.
Pracodawcy, dzięki możliwości szkolenia pracowników na łatwo dostępnym i bezpiecznym sprzęcie, mogą przygotowywać personel do obsługi bardziej zaawansowanych oraz kosztownych maszyn używanych na zakładach produkcyjnych.
Podsumowanie
Roboty kartezjańskie, choć istnieją od kilkudziesięciu lat, nadal są podstawową konstrukcją w wielu aplikacjach przemysłowych. Dlatego stanowiska przygotowujące do pracy z takimi maszynami są wciąż potrzebne i przydatne. Nawet pomijając wszystkie wymienione powyżej powody, budowanie robota od podstaw było dla nas dobrym sprawdzianem umiejętności oraz przyjaźni. Czytelników zainteresowanych prześledzeniem naszych działań, od etapu złożenia kilku aluminiowych profili, aż do ukończenia budowy całego robota, zapraszamy do obejrzenia playlisty kilkunastu filmików na YouTube (https://www.youtube.com/playlist?list=PLhre3KUEv-GmLEBBA1WUI2hrW2pCYwXqj).
Obydwu autorów projektu, wraz z gotowym urządzeniem, można zobaczyć na fotografii 2.
Szymon Kusiński (a)
Hubert Żarnowski (a)
mgr inż. Jarosław Sobczak (a)
dr Paweł Sobczak (a)(b)
a) Zespół Szkół Technicznych im. Waldemara Gostomczyka w Ostrowie Wielkopolskim
b) Akademia Nauk Stosowanych w Koninie
Literatura użyta podczas budowy projektu:
- Chwaleba Augustyn, Moeschke Bogdan, Płoszajski Grzegorz, Elektronika, wyd. 7, WSiP, Warszawa 1999, ISBN 83-02-06221-9
- Horowitz Paul, Hill Winfield, Sztuka elektroniki, t. 1, 2, wyd. 12 zmienione, przeł. Bogusław Kalinowski, Grażyna Kalinowska, Wydawnictwo Komunikacji i Łączności, Warszawa 2023, ISBN 978-83-206-1992-8
- Głocki Wojciech, Układy cyfrowe, wyd. 1, WSiP, Warszawa 1996, ISBN 83-02-06242-1
- Kostro Jerzy, Elementy urządzenia i układy automatyki, WSiP, Warszawa 1983, ISBN 83-02-01284-X