Skocz do zawartości
greebqmaster

[Worklog][Manipulator/ARM] Kitten-One

Pomocna odpowiedź

MirekCz, przepraszam, zapomniałem wspomnieć, że w przypadku z postu wyżej rozważałem sterowanie serwami z ich fabrycznymi sterownikami. Pomyślałem, że najpierw zrealizuję to w prostszy sposób, a potem nadwyżki czasowe przeznaczę na rozwój projektu - na przykład poprzez wymianę sterowników serw na te z OpenServo.

Czy w związku z tym byłbyś w stanie odpowiedzieć na moje pytania z tej perspektywy?

Udostępnij ten post


Link to post
Share on other sites

Nie przywiązuj się tak do tych sprzętowych wyjść PWM. Proktokół PPM jakiego wymagają serwa modelarskie przewiduje, że impuls o szerokości 1..2ms pojawia się tylko co 20ms po to, by w tym samym kanale transmisji (radiowym lub drutowym) zmieścić jeszcze kilka impulsów przeznaczonych dla innych serw. Dzięki temu jednym sprzętowym wyjściem PWM z procesora możesz spokojnie obsłużyć 8 a nawet i 10 wyjść PPM i wciąż mieć generację impulsów z dokładnością do ułamków µs bez zbytniego obciążenia procesora. Do tego potrzebny jest tylko dekoder np. 4028 po to, by rozdzielać impulsy z wyjścia timera OCx do odpowiednich serw. I tak musisz zrobić jakąś przejściówkę z płytki Arduino na 3-pinowe złącza dla serwomechanizmów. Zamiast wszystkich (i cennych) linii PWM procesora wykorzystaj jedną z najtańszej wersji Arduino, wstaw dekoder za 1.50zł i masz 8 wyjść co starczy nawet na ew. przyszłą rozbudowę manipulatora. Nigdy nie projektuj "na styk".

  • Pomogłeś! 1

Udostępnij ten post


Link to post
Share on other sites

marek1707, dzięki za cenną poradę. Na pewno ją wykorzystam. Eh, no nie obejdzie się bez wytrawiania, nie obejdzie 😃

Udostępnij ten post


Link to post
Share on other sites

Ogólnie to mechanika dla wersji 1.0 została zakończona. Wszystko będę pisał pod MATLABa (dowiedziałem się o fajnej rzeczy, tj. o tym, że mogę wgrać na Arduino specjalny firmware, dzięki któremu mogę sterować płytką przez wymieniony przed chwilą program), przynajmniej do celów pracy inżynierskiej. Po tym zamierzam poświęcić trochę więcej czasu na rozkminienie tego w C.

Udostępnij ten post


Link to post
Share on other sites

greebqmaster, możesz podesłać jakieś namiary na ten dodatek do Arduino, który pozwala na bezpośrednie wykorzystanie Matlaba?

Udostępnij ten post


Link to post
Share on other sites

Zawsze... Ale to zawsze chciałem użyć tego najbardziej forumowego zdania na świecie... Czekałem tyle lat...

Wpisz w google "Matlab Arduino" 😃 :D 😃 :D 😃 :D

Nie no, proszę bardzo:

Wersja nowsza - niby jest napisane, że pliki *.mlpkginstall są obsługiwane przez MATLABa 2013a, ale ja go mam i za żadne skarby nie chciało mi się to uruchomić. Niestety, TPB ostatnio jest offline i nie mogłem zaopatrzyć się w 2014, dlatego troszkę poszperałem iiiii...

Wersja starsza. Z racji, że mogłem użyć tylko tej, trudno mi podać różnice, ale na tej starszej wszystko śmiga bardzo ładnie, także z mojej strony polecam.

Macie jakieś ciekawe źródła do nauki MATLABa, tak swoją drogą? Do tej pory tworzyłem w nim tylko pliki *.m, gdzie każdy był osobą funkcją, a przy Arduino+GUI trzeba używać jakichś dziwnych kropek (np. a.servoAttach(zmienne)) (oh, moja ignorancja nie zna granic 😃) i np. atrybutu global, co zaczęło wykraczać poza moją znajomość tego programu 😃

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Cośtam się dzieje. Okiełznałem pędzące serwa i mogę w miarę ładnie sterować ich prędkością. Oczywiście jest to na zasadzie iteracji co jeden stopień, ale i tak jestem dumny, że ładnie zoptymalizowałem kod i mimo programowego PWM'a nic nie wariuje, a ramię, przy odpowiednich przerwach w iteracjach, może ruszać się w miarę płynnie.

Niestety, drugi stopień swobody dość mocno się grzeje i po zawieszeniu w krytycznej pozycji, kiedy chcę wykonać nim jakiś ruch, zaczyna latać na różne strony i nijak nie chce współpracować... 🙁 Ale myślę, że jak będę uważał i po każdym "pokazie" od razu wrócę ramieniem do bezpiecznej (czyt. "takiej, przy której silnik jest bardzo mało obciążony"), to nie będzie źle.

Tutaj mały filmik z napisanym na sztywno programem. W połowie jest przerwa, to nie koniec - chciałem powtórzyć wszystko od tyłu, żeby zobaczyć, czy powtarzalność daje radę. Niby serwo nie powinno zawieźć, ale jednak powrót kostki na kontur przyjąłem bardzo ciepło 😃

https://www.youtube.com/watch?v=5KqTpu69M7g

Teraz trzeba rozwiązać odwrotne zadanie kinematyki, napisać GUI, wszystko opisać w pracy dyplomowej i może jeszcze w tym roku (hehe 😃) będę inżynierem 😃

Udostępnij ten post


Link to post
Share on other sites

Gratulacje 🙂 Do kiedy masz termin na oddanie inż.?

Udostępnij ten post


Link to post
Share on other sites

Raczej nie dam rady w lutym. Wbrew pozorom czeka mnie jeszcze dużo pracy, zresztą zaliczenie studiów w lutym trochę mija się z moimi planami na przyszłość 😃

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!

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