Skocz do zawartości

Jak przerobić serwo Turnigy TG9


pablasek

Pomocna odpowiedź

Witam. Mam serwa Turnigy TG9 i potrzebuję je przerobić aby wykonywały pełen obrót. Usunąłem już ogranicznik na zębatce i teraz nie wiem co dalej. Słyszałem że potencjometr ustawić w pozycji środkowej ale ja nie mogę tak zrobić bo jak serwo sie obróci to potencjometr tez zmieni położenie. Gdzieś na jakimś forum wyczytałem żeby odciąć potencjometr i zostawić go tak aby trzymał zębatki a zastąpić go dwoma rezystorami tak dobranymi aby w umyśle serwa było ze jest na środku. Nie mam zielonego pojęcia jakie tam rezystory wlutować. Czy ten pomysł z rezystorami jest dobry? Liczę na waszą pomoc. P.S. Jak się potem nimi steruje z programu. Program ma być w bascomie.

Link do komentarza
Share on other sites

Musisz zrobić, to tak aby ruch serwa nie powodował obrotu potencjometru, jeśli nie wiesz jak to zrobić. Pokaż nam wyraźne zdjęcie wnętrzności, to doradzimy lepiej.

Wysterujesz go później normalnie przez h-bridge.

Link do komentarza
Share on other sites

Dziękuję za odpowiedź. Narazie nie jestem w stanie zrobić zdjęcia. Przekładnia serwa składa się z 4 zębatek. Połowa z nich jest na wale potencjometru. Ten sposób z rezystorami był by dobry albo nie wiem jakoś żeby można było go pominąć. Nie wiem właśnie jak te rezystory dobrać żeby był w na środku.

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

Żeby dobrać rezystory musisz wylutować potencjometr i zmierzyć jego rezystancję (multimetrem) - dwie "skrajne" nóżki. Wynik pomiaru dzielisz na pół i dobierasz dwa rezystory o jak najniższej tolerancji (1%), jak najbardziej zbliżone do tej wartości. Jeśli tak zrobisz, nie będzie trzeba mostka bo będziesz nim sterować tak jak zwykłym serwem (za pomocą impulsów). Możesz też odciąć przewody od potencjometru, przylutować dwa "główne" przewody bezpośrednio do zasilania silnika, przerobić potencjometr na pełny obrót (odgiąć blaszki), ew. wywalić go (jeśli nie jest elementem nośnym konstrukcji) i wtedy sterujesz serwem jak zwykłym silnikiem (przez mostek h).

Link do komentarza
Share on other sites

Dobra a jak będę nimi sterował? Może ktoś mi napisać jakiś przykładowy program w bascomie żeby serwo wykonało 2 obroty?

[ Dodano: 29 Paź 09 07:39 ]

Albo taki program żeby serwo kręciło sie przez 2 sekundy albo coś podobnego bo ja wogole nie wiem jak się zabrać za takie długie obroty.

Link do komentarza
Share on other sites

W pierwszym przypadku tak, jak zwykłym serwem (google się kłania, jak zależy Ci na wiedzy, to wykaż trochę inicjatywy - bascom +serwa), z tym, że zamiast wychylenia o X stopni, wał silnika po prostu zacznie się obracać z określoną prędkością.

W drugim tak, jak zwykłym silnikiem (cztery porty podłączone do mostka, dwa możliwe stany na każdy plus ewentualnie dwa porty jako sterowanie PWM dla płynnej regulacji prędkości).

Link do komentarza
Share on other sites

Czyli tak jak normalnie ustawiam serwo ( Config Servos = 1 , Servo1 = Portc.5 , Reload = 10 ) i potem co mu wysyłam bo normalnie to np Servo(1) = 20 Waitms 500 Servo(1) = 8 Waitms 500 . Ale co wysyłam do takiego przerobionego serwa. Jaki kod sprawi ze serwo będzie się obracało przez 2 sekundy albo 30 sekund?

Link do komentarza
Share on other sites

Jeśli cykl trwa 20ms (dla standardowego serwa), to sobie policz ile razy musisz wykonać taką operację.

Z mojej strony odradzam użycie funkcji "servo" w bascomie dla więcej niż jednego serwa, dużo lepsza moim zdaniem jest pulseout (odpowiednio wykorzystana, poczytaj o sterowaniu serwem na google - materiałów jest od groma).

Link do komentarza
Share on other sites

Zwyczajne dzielenie - czas, przez jaki serwo ma się kręcić, dzielisz na czas trwania jednego cyklu (20ms). Otrzymujesz liczbę, np. 15, a więc umieszczasz instrukcję w pętli wykonywanej 15 razy, np.:

for i = 1 to 15
'instrukcja z pulseout, wysyłająca impuls na pin, do którego 
'podłączone jest sterowanie serwa z odpowiednio długą przerwą - wszystko trwa 20ms
next

Prościej tego opisać się już chyba nie da. Jeśli dalej masz problem, musisz niestety wrócić do podstaw i nauczyć się programować +zrozumieć działanie wymienionych funkcji. No chyba, że znajdzie się jakiś samarytanin, który zrobi wszystko za Ciebie.

Link do komentarza
Share on other sites

Dzięki za wasze wszystkie porady i podpowiedzi. Mam jeszcze pytanie co do kodu. Jeśli chce sterować serwem używam funkcji pulseout w pętli for. Jako 3 parametr - okres - podaje czas obrotu serwa tak? a jak zrobić ten cykl 20ms. No żeby te impulsy były co 20 ms. Wystarczy petla for?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.