Witam, chciałbym przedstawić swojego robocika, którego skonstruowałem niedawno.
Napęd to serwa Tower Pro 8g, sterownik serwomechanizmów kupiłem gotowy z firmy nord elektronik. Serwa są troche za słabe, ale bardzo szybkie gdyż nie mogę sterować prędkością serw przez program ponieważ nie ma takiej opcji. I tu mam pytanie do szanownych kolegów czy mając ten sterownik link można jakoś sterować prędkością serw?
Miałem do czynienia zarówno z tymi serwami jak i sterownikiem Jedno z takich serw otwiera u mnie barek. U Ciebie pewnie z racji ich niewielkiego momentu pewnie nie podniesiesz cięższych rzeczy. Ale ramię podoba mi się, podobnego rozwiązania użyłem w konstrukcji mojego manipulatora. Apropo programu do sterownika serw, zajrzyj do tematu http://www.dioda.com.pl/f...vt821-vt934.htm Z tym sterownikiem długo się bawiłem i jak zapewne przyznasz program nie jest zbyt rozbudowany a zapis i odczyt danych z EEPROMU nie działa jak powinien. To czego mu bardzo brakuje to uważam możliwość przypisania do kolejnych kanałów klawiszy klawiatury/joysticka. Niedawno jak pisze w temacie powyżej napisałem własny program sterujący w którym właśnie steruje za pomoca joysticka sześcioma(bo tyle akurat wykorzystuje) kanałami. Można również zmieniać szybkość takiego sterowania. Mozna by się teraz pokusić o nagrywanie sekwencji ruchów, co było by dużo prostsze od przestawiania suwaków myszką oraz możliwośc elastycznego przypisywania klawiszy do kanałów(np A ramie wyżej Z ramie niżej). Ostatecznie ruchami można by nawet sterować myszką. Jeśli masz joystick/joypad lub byłbyś zainteresowany innym programem napisz do mnie PW.
Napisz jeszcze z czego zasilasz sterownik, stabilizator 7805 przy tych serwach pewnie sie tak nie grzeje. W moim modelu zdemontowałem go i zasilam wszystko z zasilacza ATX 5V lub mozna by ew. z aku żelowego 6V(zwiększa sie moment obrotowy serw). Pokaż też jak zrealizowałeś chwytak gdyż nie bardzo widze czy obydwa elementy chwytowe są ruchome czy jeden z nich i jak wygląda obrotnica, czyli obrotowa podstawa ramienia.
Wiem, że udźwig robota jest mały, ale jest to mój pierwszy robot i tylko takie serwa miałem, a nie chciałem tracić pieniędzy na większe serwa ponieważ nie byłem pewny czy to wszystko będzie działać. Teraz zależy mi na tym, aby sterować prędkością serw co jest dla mnie bardzo trudne.
Pomógł: 12 razy Posty: 492 Otrzymał 26 piw(a) Skąd: Gdynia
Wysłany: 13 Maj 08 04:41
Duża prędkość serwomechanizmów nie jest w żadnym przypadku wadą, która zmuszałaby do wymiany napędu. Ja proponuję poczytać trochę o PWM i napisać własny program/sterownik do tego modułu.
Ale PWM to chyba kolega pomylił troche... Tutaj się nie będzie potrzebny. Programu w mikrokontrolerze niema co zmieniać , prosciej zrobić tak jak ja czyli napisac własny program(np. Delphi). W swoim mam możliwosć sterowania szybkością zmian. W tym dostarczonym z kitem nie ma za bardzo takiej możliwości, jedynie dzielenie ruchów na kilka kroków...
Pomógł: 12 razy Posty: 492 Otrzymał 26 piw(a) Skąd: Gdynia
Wysłany: 13 Maj 08 05:09
No tak, ale jak ktoś nie zna żadnego języka programowania na PC, to może sprobować się dobrać do serw jako zwykłych silników i sterować PWM lub wykonać sterownik swój, ale oczywiście łatwiej i lepiej jak kolega wyżej psiał
Pozdrawiam
Gwli ścisłości zasilanie serw sygnałem PWM jest niedopuszczalne, mają one miec stałe zasilanie napięciem 4,8-6V(w zasadzie większośc pracuje do 7,2V) i sterowanie serwem jak zwyklym silnikiem DC to nieporozumienie. Chyba że po usunięciu elektroniki wewnątrz serwa, ale wówczas otrzymujemy silnik DC z przekładnią i nie mamy zapewnionego sprzężenia wału serwa z elektroniką. Ale tak czy siak zmniejszając napiecie zasilające serwo nie uzyskamy zmiany szybkości, tzn zmiana będzie ale wręcz niezauważalna az przy pewnym napięciu nagle wszystko przestanie dzialać. Najprosciej jak już nie program sterujący na PC napisać coś na mikrokontroler ale chociazby polecenie Bascomowe do sterowania serwami nie ma takiej możliwości. Naprawde najlepiej użyć platformy PC.
abxyz Expert programowanie Pomógł: 16 razy Posty: 158 Otrzymał 26 piw(a) Skąd: zza winkla
Wysłany: 13 Maj 08 08:15
pawel17 napisał/a:
Serwa są troche za słabe, ale bardzo szybkie gdyż nie mogę sterować prędkością serw przez program ponieważ nie ma takiej opcji. I tu mam pytanie do szanownych kolegów czy mając ten sterownik link można jakoś sterować prędkością serw?
Czyli ten sterownik nie jest zbyt rewelacyjny, więc najlepiej wykonać nowy sterownik. Jeśli nie masz doświadczenia w tym temacie, możesz poszukać w internecie jakiś gotowy projektu sterownika, żeby nie zaczynać od zera.
_________________ Nie powie ci nawet wiedźma Pleple, czego się dowiesz wprost z Google_
Sterownik jest OK, sama cześc programowa(mikrokontroler) jest dość przemyślana, jest nawet sprawdzanie sumy kontrolnej CRC podczas transmisji. Jedyne czego można by sie czepić to rozwiązanie zasilania sterownika i serw(stabilizator 7805 grzeje sie przy większych serwach) i układ pamięci zewnętrznej EEPROM który za bardzo nie współpracuje z resztą...
Problemem w tym sterowniku jest program PC, tzn spełnia swoją funkcje ale mógłby być bardziej rozbudowany, a w żadnej tego typu kontrukcji nie widziałem możliwości sterowania z klawiatury czy joysticka co powinno być na porządku, a nie tylko te suwaki... Ale autor udostępnia protokół transmisji więc można zbudować własny program.
Jeśli już całkiem inny sterownik tego typu konstrukcji to polecam serwokontroler SK18 od Sommertech. Ten jest już dosyć ciekawy zwłaszcza program.
abxyz Expert programowanie Pomógł: 16 razy Posty: 158 Otrzymał 26 piw(a) Skąd: zza winkla
Wysłany: 14 Maj 08 11:38
Raczej nie ma możliwości zmniejszenia prędkości działania serwomechanizmu, chyba że jest to jakieś cyfrowe serwo, z możliwością programowania swoich parametrów.
Chyba jedynie co można zrobić, to małymi krokami zmieniać wychylenie orczyka serwo. Aby ruchy ramienia były w miarę płynie, można by wprowadzić fazę rozpędzania i fazę hamowania. Np zmiana wychylenia z 0 do 40 stopni przebiegałaby krokami: 0 1 2 5 10 20 30 35 38 39 40 stopni.
_________________ Nie powie ci nawet wiedźma Pleple, czego się dowiesz wprost z Google_
Z serwami cyfrowymi się zgodze, one mają możliwość własnej konfiguracji. Natomiast tu napawde potrzeba tylko programu który umożliwi zmanę szybkości. W mikrokontroleerze nie ma zaaplikowanej takiej funkcji więc pozostaje to zrobić drogą programową w programie PC.
Przykładowy program napisany w około godzine załączam poniżej.
Kaytec Pomógł: 2 razy Posty: 37 Otrzymał 3 piw(a) Skąd: Olsztyn
Wysłany: 14 Maj 08 06:55
JStan dla mnie jesteś wzorem do naśladowania - mistrz. Program działa elegancko na tym kicie. Jednak na serwach dalej widać troszkę nierównomierne ruchy - nie wiem czy to wina serwa czy programu (serwa sg 5010) mam ten sam problem co autor tematu, ale chyba tez napisze własny program bo widzę że się da
Narazie jeszcze się nie sprawuje bo mi wyskakuje błąd "unable to open co port(win error code: 5)" i nie wiem dlaczego, jeśli ktoś wie to proszę napisać.
Już odpowiadam na pytania, mianowicie jeśli wyskakuje problem z otwarciem portu COM1 to znaczy że jest on zajęty przez inną aplikacje, pewnie masz dwa porty COM i na pierwszym pracuje np. myszka. Nie dawałem okna wyboru portu bo mam tylko jeden w systemie, więc jeśli masz problem to spróbuj przelączyć myszke lub co tam masz na port 2 tym samem zwolnisz 1 i do niego podłącz sterownik. Jeśli będziecie chcieli to w miare możliwosci iczasu napiszę bardziej rozbudowany program.
Nierównomierne ruchy to widocznie musi być wina serw, u mnie wszystko chodzilo elegancko. Niech kolega paweł17 jeszcze sprawdzi jak u niego to zadziala i da znać.
Istnieje tez możliwosć jeśli macie joystick/joypad podłączany przez USB sterowania zamiast z klawiatury to z joypada. Jest to o wiele wygodniejsze. Tylko oczywiscie trzeba napisac program pod konkretny model lub co planuje zrobić okno konfiguracyjne tak aby ręcznie samemu przypisać do każdego klawisza wybrany kanał.
Kaytec Pomógł: 2 razy Posty: 37 Otrzymał 3 piw(a) Skąd: Olsztyn
Wysłany: 14 Maj 08 10:43
No co do tego przycinania się serw, to mam dwa mikro serwa i te chodzą dobrze na twoim programie w przeciwieństwie do tych sg5010, ale na oryginalnym programie serwa chodzą bez przycięć, tyle że z v-max.
Pomysł z joystickiem bardzo trafny. jeżeli byś mógł to ja prosiłbym o bardziej rozbudowany program, brakuje tylko nagrywania ruchu, no i wspomnianego sterowanie joyem. Nawet w obecnej wersji programu da się sterować joyem - program "joy to key".
** Dodano: 2008-05-14, 23:56 **
Co do przycinania to faktycznie wady serw chyba, bo tylko 2 z ośmiu wykazują jakieś nierównomierne prace - jedno potrafi się zaciąć w pewnym momencie i drgać, im dłużej sie bawię to u mnie pracują lepiej. Nierozruszane serwa?
Pozdrawiam
Po dłuższych próbach konfiguracji portu com udało mi się uruchomić program. I jestem bardzo zadowolony z jego działania, sterowanie prędkością serw odbywa się bardzo dobrze.
Wielkie dzięki JStan, odwaliłeś kawał dobrej roboty. Dałeś propozycje napisania bardziej rozbudowanego programu, ja jestem za. Teraz mam w planie dokupić mocniejsze serwa więc program przydał by się jak najbardziej. A może była by możliwość zmodyfikować program producenta i dodać do niego opcje sterowania prędkością? Jeszcze raz dziękuje i pozdrawiam.
_________________ Pozdrawiam
Kaytec Pomógł: 2 razy Posty: 37 Otrzymał 3 piw(a) Skąd: Olsztyn
Wysłany: 22 Maj 08 04:24
A da się jakoś zmniejszyć prędkość "na stałe" w oryginalnym programie? (z maxymalnej na np 20%)
** Dodano: 2008-05-26, 15:10 **
pidpawel pisałeś żeby pokazać filmik, nie wiem czy to do mnie czy do autora tematu, tak czy siak mój sprawuje sie tak: (brakuje jeszcze tylko chwytaka)
Zastosowałem wcześniej wspomniane sterowanie joyem, program jest dalej JStan'a. Brakuje jeszcze nagrywania ruchów
Najfajniej działa sterowanie padem od xboxa 360 (bezprzewodowy) za pomocą modułu na blue.
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum