Skocz do zawartości

DUM-E - proste ramię robota oparte na Arduino Uno


ThePawel1211

Pomocna odpowiedź

Witam, przedstawiam wam projekt, nad którym pracowałem przez ostatni rok. Jest to manipulator 5-osiowy zbudowany w oparciu o płytkę Arduino Uno.

Mechanika

Podstawę wykonałem ze sklejki oraz dwóch desek przykręconych wkrętami. Reszta ramienia jest zrobiona z plexi o grubości 3mm. Przy podstawie zamontowałem również trzy małe kółka dla stabilizacji. Serwa jakich użyłem to TowerPro MG946R oraz Redox S90.

Elektronika

Mózgiem robota jest płytka Arduino Uno z napisanym przeze mnie programem. Ramieniem steruje się za pomocą płytki z potencjometrami 1k, którą samodzielnie zaprojektowałem i wykonałem.

W przyszłości planuję na pewno udoskonalić chwytak i być może dodać kolejne serwo, żeby się obracał.

Zdjęcia:

Filmik:

20180804_181842-min.thumb.jpg.84475dc6d55b400e25883df45b0e13d5.jpg

Link do komentarza
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Dnia 6.08.2018 o 17:49, ThePawel1211 napisał:

Dzięki! Niestety nie mam pojęcia co powoduje szarpanie.

Osobiście nie lubię tych kabelków jakich aktualnie używasz (często można się na nich przejechać), ale jak jeszcze się nie rozłączyło gdzieś i działa to ok :)

Co do szarpania, kodu nie ma wstawionego, ale takie zjawisko jest spowodowane tym, że podajesz na serwomechanizm sygnał(rozkaz) zmiany pozycji do następnego położenia wału, ale robisz to zapewne podając następną pozycję docelową do której chcesz przemieścić wał bez podawania w krótkich odstępach czasu kolejnych kroków które doprowadzą do tej pozycji.

Serwomechanizm w swojej budowie to proste urządzenie, które dekoduje położenie zadane z sygnału, a dalej to już jest układ komparatora sprawdzającego położenie aktualne(z potencjometru) i to jakie jest wołane przez użytkownika. W tym momencie gdy podajesz tylko jeden rozkaz który wskazuje pozycje końcową przemieszczenia wału, silnik jest włączany na 100% i wyłączony dopiero po osiągnięciu celu.

Aby złagodzić "dobre intencje" serwomechanizmu polegające na najszybszym jak to możliwe osiągnięciu celu ( i generowaniu szarpań - bo przecież trzeba wystartować z kopyta aby było szybko) proponuję wstawić wysyłanie poleceń przemieszczenia przez ciągłe wysyłanie następnych pozycji, a samo przemieszczenie z punktu A do B podzielić na dostateczną ilość punktów składowych i  wysyłanie ich z lekkim odstępem od siebie. Na moje oko powinieneś uzyskać gładkie i płynne przejścia między A i B.

+                                                    +
+-----------------------------------------------+

Start A                                       Cel B


+  +  +  +  +  +  +  +  +  +  +  +  + +  +  +  +  +
+--+--+--+--+--+--+--+--+--+--+--+--+-+--+--+--+

Start A                                       Cel B

+ <------- to wysyłanie do serwa,

Pozdrawiam.

 

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Gdyby wpiąć się w potencjometr na wale serwa, dodać odpowiednie sterowanie można złagodzić szarpnięcia i nadać dynamikę ruchu. Co prawda jest to raczej zgrubna namiastka enkodera ale zawsze coś 😀

Link do komentarza
Share on other sites

Dnia 6.08.2018 o 17:49, ThePawel1211 napisał:

Dzięki! Niestety nie mam pojęcia co powoduje szarpanie.

Jest kilkanaście przyczyn, jakie przychodzą mi do głowy, ale najważniejsze w Twoim przypadku to IMHO:

  • przeregulowanie w pętli sterowania pozycją (serwo za szybko chce osiągnąć zadaną pozycję, "hamuje" np. dopiero jak osiągnie pozycję - po prostu za późno)
  • szum w informacji o pozycji (potencjometry szumią i to bardzo...)
  • brak profilowania prędkości - w ramionach robotycznych o dużej inercji często stosuje się po prostu filtr na pozycję zadaną, ew. implementuje się profil trapezowy prędkości, czyli w praktyce taki "soft-start" i "soft-stop", o którym pisał MATMIC - tym się na ogół poprawia niedoróbki z punktu pierwszego 😄
  • niska sztywność konstrukcji - wyobraź sobie, ze zamiast plastikowych płytek masz gumowe pręty; w skrócie tak mniej-więcej zachowuje się każdy człon w każdym manipulatorze, tylko na mniejszą skalę; elastyczności uwzględnia się i kompensuje w modelu matematycznym manipulatora

Na pierwszy i drugi punkt nie masz za bardzo wpływu, bo musiałbyś modyfikować samo serwo albo spróbować działać tak, jak radzi Gieneq - swoją drogą, dawno temu napisałem coś, co się może przydać, poczytaj sobie 3-ci punkt kompendium wiedzy o serwach modelarskich 🙂

Ostatni punkt wymagałby przeróbek samej konstrukcji, a ciężko w domowych warunkach poprawić sztywność konstrukcji bez dokładania masy. Nie jesteś też raczej w stanie w domowych warunkach zrobić dokładnego modelu dla tak lekkiego manipulatora...

Profilowanie prędkości jest jak najbardziej do zrobienia i w to bym celował na Twoim miejscu, jeśli w ogóle chcesz ten projekt rozwijać 🙂 Powodzonka!

Edytowano przez Nawyk
  • Pomogłeś! 1
Link do komentarza
Share on other sites

4 godziny temu, Nawyk napisał:

Nie jesteś też raczej w stanie w domowych warunkach zrobić dokładnego modelu dla tak lekkiego manipulatora...

A gdyby faktycznie wpiąć się w potencjometr, ściągnąć odpowiedź skokową serwa i z tego zrobić model. Do tego dodać prosty sterownik PID i byłoby to wystarczające żeby poprawić jakość sterowania. Inercja powinna zmniejszyć wpływ szumu enkoderów z pp 2.

Tylko zrobienie tego bez wiedzy akademickiej raczej się nie uda, ale efekt mógłby być ciekawy.

Link do komentarza
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!

Anonim
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...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.