Skocz do zawartości
faxid

Dobór napędów do manipulatora szeregowego

Pomocna odpowiedź

Napisano (edytowany)

Mam w planie zbudować manipulator, prawdopodobnie o 5-6 sterowanych osiach. Rozważyłem już naprawdę całkiem sporo możliwości jeśli chodzi o napędy, ale zawsze były jakieś przeszkody. Tym razem zastanawiam się nad opcją teoretycznie dość prostą i tanią... co myślicie o zastosowaniu takiego serwomechanizmu modelarskiego? Urządzenie ma zostać wykonane w technologii druku 3d i chciałem zastosować jeszcze dodatkowe przekładnie np. 5:1, dlatego też chciałbym użyć serwa o pracy ciągłej. Zastanawiam się, czy będzie to w ogóle dobre rozwiązanie do urządzenia, w którym regulacja pozycji jest kluczowa, tutaj natomiast regulujemy prędkość. Oczywiście nie trudno przejść z prędkości na położenie, tylko że tak naprawdę nie mam żadnej pewności, że mechanizm znajduje się w takim położeniu co chciałem - że nic nie wydarzyło się po drodze co mogłoby wpłynąć na ostateczną pozycję. Zastosowanie enkoderów raczej odpada - za mały budżet i prawdopodobnie mógłbym się w tym zagubić pisząc program sterujący. 

Jeśli zdecydowałbym się na to rozwiązanie to zostaje kwestia zasilania. Czy dobrze rozumiem, że zwykły zasilacz 6V, o wydajności 20A powinien zapewnić bezpieczną i bezproblemową pracę dla sześciu takich serwomechanizmów? 

Produkt:

https://botland.com.pl/pl/serwa-praca-ciagla-360/8405-serwo-powerhd-lf-20mg-360-standard-praca-ciagla-360-stopni-6939670203609.html

Specyfikacja:

http://www.chd.hk/UploadFiles/Att/2019051709293538.pdf

Czy może lepsze byłoby zastosowanie innego napędu do takiego projektu? Coś w cenie do 300zł za sztukę... 

Edytowano przez faxid

Udostępnij ten post


Link to post
Share on other sites

@faxid, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

29 minut temu, faxid napisał:

Mam w planie zbudować manipulator, prawdopodobnie o 5-6 sterowanych osiach.

Masz może już konkretne informacje co do wymiarów (i masy) konstrukcji? Dobieranie napędów bez takich informacji może być mało skuteczne.

31 minut temu, faxid napisał:

Jeśli zdecydowałbym się na to rozwiązanie to zostaje kwestia zasilania. Czy dobrze rozumiem, że zwykły zasilacz 6V, o wydajności 20A powinien zapewnić bezpieczną i bezproblemową pracę dla sześciu takich serwomechanizmów? 

Teoretycznie tak 😉 Warto jednak sprawdzić czy prąd pobierany podczas rozruchu serwa (pod obciążeniem) nie przekracza wartości podanych w nocie katalogowej.

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

@Treker Witam również i dziękuję za szybką odpowiedź!

Co do masy i wymiarów konstrukcji to rzeczywiście kluczowa sprawa. Tak się składa, że przyjąłem trochę inny sposób projektowania, gdzie danymi wejściowymi będą właśnie parametry napędów. Początkowo miała to być konstrukcja, która miała umożliwić udźwig 0.5kg w zasięgu nawet pół metra, ale szybko zrezygnowałem z tak ambitnych planów - ograniczenia finansowe i czasowe, ponieważ projekt musi być gotowy do końca tego roku (będzie to moja praca inżynierska). Teraz myślę o czymś co będzie w stanie podnosić niewielkie elementy, tak do 100g w zasięgu 30-40cm.  Kiedyś robiłem jakieś szacunki potrzebnych momentów, aczkolwiek wziąłem pod uwagę tylko obciążenia statyczne i był to projekt z wykorzystaniem silników krokowych, które są znacznie cięższe i wymagały zastosowania sporych przełożeń (do tego dochodzi spadek momentu i uboga specyfikacja od chińskich producentów, w których często brakuje charakterystyk). 

W każdym razie chciałbym wykorzystać napęd, który umożliwi mi uzyskanie 5-10Nm po zastosowaniu niewielkiego przełożenia (np. 5:1). Byłby to napęd zastosowany na najbardziej obciążonej osi i na tej podstawie zaprojektowałbym konstrukcje manipulatora oraz dobrał napędy/przełożenia dla pozostałych osi. 

Polecone zostały mi kiedyś serwomechanizmy dynamixela, które mają sporo zalet, jak chociażby pamiętanie pozycji po wyłączeniu zasilania co rozwiązuje problem początkowej kalibracji położenia, ale niestety nie są one sterowane w pełnym zakresie (0-300 stopni) co wyklucza zastosowanie przekładni, a to mnie skazuje na moment rzędu 1,5 - 3Nm (przy zastosowaniu przełożenia 2:1). 

Udostępnij ten post


Link to post
Share on other sites

A jaki masz ten budżet? Bo nawet prosty potencjometr za 20 groszy da ci lepsze przybliżenie pozycji niż potrójna całka z sygnału PWM. Nie wspominając nawet o tym, że prędkość obrotowa tych serw zależy od sygnału w sposób nieliniowy, zależny od obciążenia. Jak już musisz oszczędzać, to zmniejsz liczbę osi, a nie pozbywaj się enkoderów.

Druga sprawa, zastanów się nad sposobami przeniesienia napędów tak, aby jak najwięcej ciężaru (i masy) było jak najbliżej podstawy robota, żebyś nie musiał świgać ciężkich serw po całym stole.

Nie napisałeś nic o precyzji i powtarzalności, jakie chcesz uzyskać — to także jest ważne przy dobieraniu napędów (lub dobieraniu wielkości do napędów, jeśli koniecznie chcesz iść w tę stronę).

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
13 godzin temu, deshipu napisał:

A jaki masz ten budżet? Bo nawet prosty potencjometr za 20 groszy da ci lepsze przybliżenie pozycji niż potrójna całka z sygnału PWM. Nie wspominając nawet o tym, że prędkość obrotowa tych serw zależy od sygnału w sposób nieliniowy, zależny od obciążenia. Jak już musisz oszczędzać, to zmniejsz liczbę osi, a nie pozbywaj się enkoderów.

Chciałbym się zamknąć w 2-3 tys. złotych. 

Właśnie o to mi chodziło. Nie mam za dużego doświadczenia w używaniu takich napędów, dlatego nie mam pojęcia o występowaniu niektórych problemów, o których piszesz. Ale byłem raczej świadomy, że tak proste rozwiązanie musi mieć jakiś haczyk, dlatego wolałem napisać na forum niż kupować coś na marne. 

Co do enkoderów... po prostu mam pewne obawy, czy na pewno ogarnę to od strony sterowania, ale byłoby to w sumie fajne wyzwanie. Ogólnie raczej nie chce się zagłębiać mocno w mikrokontrolery, dlatego chcę użyć Arduino, przy czym ma ono służyć tylko do generowania sygnałów sterujących. Cały program sterujący ma znajdować się na komputerze PC. Wychodziłoby na to że przy użyciu enkoderów musiałbym odbierać sygnały przez Arduino i wysyłać je do PC. 

Czemu na PC?  Powiedziano mi, że Arduino mogłoby dostać zadyszki przy kinematyce odwrotnej.

 

13 godzin temu, deshipu napisał:

Druga sprawa, zastanów się nad sposobami przeniesienia napędów tak, aby jak najwięcej ciężaru (i masy) było jak najbliżej podstawy robota, żebyś nie musiał świgać ciężkich serw po całym stole.

Jasna sprawa, myślałem o tym. Choćby zastosowanie przekładni pasowej zębatej na trzeciej osi to dość często spotykane rozwiązanie. 

 

13 godzin temu, deshipu napisał:

Nie napisałeś nic o precyzji i powtarzalności, jakie chcesz uzyskać — to także jest ważne przy dobieraniu napędów (lub dobieraniu wielkości do napędów, jeśli koniecznie chcesz iść w tę stronę).

Co do precyzji i powtarzalności to... też raczej podchodziłem do tego w ten sposób, że będzie to kwestia tego co uda się osiągnąć - wiadomo, że im lepsze będą te parametry tym lepiej. Ale w skrócie to chciałbym, żeby ten manipulator był w stanie np. układać elementy o wymiarze 10x10x10 [mm] na sobie tak żeby się nie przewróciły. Jeśli nie uda się uzyskać takiej precyzji i powtarzalności to nic się nie stanie, ale wiadomo też że jeśli te parametry będą całkiem skopane to też niedobrze. 

Udostępnij ten post


Link to post
Share on other sites

Robiłem roboty kroczące na atmedze, z czterema nogami każda po 3 stawy i jakoś kinematyka odwrotna go nie zabiła — a nawet nie bawiłem się w jakieś wydajne liczenie funkcji trygonometrycznych na liczbach całkowitych, tylko po najmniejszej linii oporu acos i atan2 z biblioteki standardowej. No ale to był prosty wzór w postaci zamkniętej, z wymuszonym wyborem jednego z rozwiązań. Rozumiem, że przy tylu osiach będziesz mieć tych rozwiązań więcej i niekoniecznie prostym wzorem liczonych — może napisz coś więcej o tym jak planujesz do tego podejść?

Jako czujnik pozycji niekoniecznie musi służyć zaraz encoder w postaci licznika impulsów. Może to być zwykły potencjometr, czujnik efektu Halla, enkoder absolutny, etc. — możliwości jest wiele i w zależności od techniki wykonania, można je wbudować w samą konstrukcję robota — na przykład enkoder optyczny może mieć tarczę wyciętą laserem. Można tu dużo ugrać jeśli się to dobrze przemyśli.

Możesz też rozważyć na przykład konfigurację SCARA — tam tylko ostatni człon walczy z grawitacją, reszta napędów obraca ramię tylko w poziomie, więc musi tylko przezwyciężyć opory łożysk i bezwładność.

  • Lubię! 1
  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites
Dnia 7.07.2019 o 19:11, deshipu napisał:

Robiłem roboty kroczące na atmedze, z czterema nogami każda po 3 stawy i jakoś kinematyka odwrotna go nie zabiła — a nawet nie bawiłem się w jakieś wydajne liczenie funkcji trygonometrycznych na liczbach całkowitych, tylko po najmniejszej linii oporu acos i atan2 z biblioteki standardowej. No ale to był prosty wzór w postaci zamkniętej, z wymuszonym wyborem jednego z rozwiązań. Rozumiem, że przy tylu osiach będziesz mieć tych rozwiązań więcej i niekoniecznie prostym wzorem liczonych — może napisz coś więcej o tym jak planujesz do tego podejść?

Muszę się przyznać, że na ten moment nie zagłębiałem się zupełnie w ten temat i niewiele jestem w stanie napisać. Na studiach liczyliśmy jedynie proste zadania z kinematyki prostej i odwrotnej - manipulatora o trzech osiach. Po prostu zapytałem się wykładowcy, który się tym zajmuje jakie rozwiązanie będzie najlepsze i właśnie on polecił, żeby zrobić to na PC, bo arduino może nie ogarnąć. Ale skoro mówisz, że jest szansa to chyba warto to sprawdzić? Raczej za wiele czasu na tym nie stracę, w końcu algorytm sterujący i tak będzie bardzo podobny.

Póki co chciałem się skupić tylko na konstrukcji mechanicznej i doborze elementów, oczywiście uwzględniając sposób sterowania, bo wiadomo, że np. enkodery trzeba jakoś wpasować w konstrukcję, ale w same zagadnienie kinematyki jeszcze nie wchodziłem. Generalnie  chciałbym do końca wakacji skończyć konstrukcję mechaniczną i w semestrze zająć się tylko pisaniem oprogramowania. 

Dnia 7.07.2019 o 19:11, deshipu napisał:

Jako czujnik pozycji niekoniecznie musi służyć zaraz encoder w postaci licznika impulsów. Może to być zwykły potencjometr, czujnik efektu Halla, enkoder absolutny, etc. — możliwości jest wiele i w zależności od techniki wykonania, można je wbudować w samą konstrukcję robota — na przykład enkoder optyczny może mieć tarczę wyciętą laserem. Można tu dużo ugrać jeśli się to dobrze przemyśli.

Hmm... a czy taki potencjometr zapewni odpowiednią dokładność? Ogólnie raczej w jakieś skomplikowane rozwiązania typu wycinanie laserem wolałbym się nie bawić, staram się raczej ograniczyć zakres prac do minimum, bo ten temat podobno i tak jest dość rozległy jak na pracę inżynierską i mogę po prostu się w tym zakopać. 

Dnia 7.07.2019 o 19:11, deshipu napisał:

Możesz też rozważyć na przykład konfigurację SCARA — tam tylko ostatni człon walczy z grawitacją, reszta napędów obraca ramię tylko w poziomie, więc musi tylko przezwyciężyć opory łożysk i bezwładność.

Przyznam, że nie brałem takiego rozwiązania pod uwagę, ale może okazać się to dobrym ratunkiem w przypadku, kiedy aktualny projekt mnie przerośnie. 

 

Zastanawiam się teraz także nad użyciem jakiś mocniejszych serw modelarskich o ograniczonym zakresie ruchu, np. coś takiego: 

https://rcpro.pl/product-pol-9967-Serwo-bezszczotkowe-Savox-SB-2290SG-81g-50kg-0-13sec.html

Udostępnij ten post


Link to post
Share on other sites
Dnia 9.07.2019 o 21:50, faxid napisał:

Póki co chciałem się skupić tylko na konstrukcji mechanicznej i doborze elementów, oczywiście uwzględniając sposób sterowania, bo wiadomo, że np. enkodery trzeba jakoś wpasować w konstrukcję, ale w same zagadnienie kinematyki jeszcze nie wchodziłem. Generalnie  chciałbym do końca wakacji skończyć konstrukcję mechaniczną i w semestrze zająć się tylko pisaniem oprogramowania. 

Z mojego doświadczenia takie podejście kończy się wielokrotnym przebudowywaniem (albo wręcz budowaniem od nowa) projektu, w miarę jak odkrywasz nowe problemy i okazuje się, że najlepszym ich rozwiązaniem jest zmiana konstrukcji. Albo kończysz z czymś wielokrotnie bardziej skomplikowanym niż potrzeba, bo złe decyzje konstrukcyjnie po fakcie próbujesz naprawiać oprogramowaniem. Moim zdaniem (oczywiście zrobisz jak uważasz) najlepiej jest pracować równolegle nad projektem mechanicznym i oprogramowaniem (na przykład na jakimś symulatorze), żeby mogły się nawzajem uzupełniać.

Dnia 9.07.2019 o 21:50, faxid napisał:

Hmm... a czy taki potencjometr zapewni odpowiednią dokładność?

A jaka dokładność jest dla ciebie odpowiednia? Bo jak przed chwilą o to zapytałem, to napisałeś, że wyjdzie co wyjdzie.

Pytanie o konkretne serwa w momencie kiedy nie znasz konstrukcji ani założeń jest moim zdaniem trochę bezcelowe, bo jeśli nie masz wymagań, to każde serwo będzie dobre.

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...