Skocz do zawartości

[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?

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

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

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

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.