wiorec Napisano Listopad 23, 2016 Udostępnij Napisano Listopad 23, 2016 Witam Mam dość spory problem. Napisałem program w środowisku LabVIEW który służy do sterowania serwomechanizmem. Program jest dość prosty przynajmniej w początkowej fazie ponieważ odpowiada tylko za samo sterowanie. Wygląda to tak, że posiadam gotowy blok do sterowania serwem w którym musze zadeklarować duty cycle oraz częstotliwość. Robiłem ostatnio kilka testów. Problem polega na tym, że przy poprawnie zadanej częstotliwości oraz duty cycle serwomechanizm ustawia się w położeniach niezgodnych z tym co jest w jego datasheecie. Przykładowo: Pozycja 90 stopni odpowiada impulsowi o szerokości 1,5ms (info z datasheet). W takim razie przyjmuje sobie częstotliwość 50Hz i wyprowadzam wzory za pomocą których wyznaczam duty cycle. Korzystając oczywiście ze wzoru w którym szerokość impulsu dziele przez nasz okres (20ms). Wszystko brzmi spoko. Podłączam oscyloskop i faktycznie na PINie sterującym pojawia się idealny sygnał 1,5ms jednak serwomechanizm wychyla się o jakieś 45stopni. Próbowałem powtórzyć to dla innego serwomechanizmu i problem był jeszcze inny.. Serwomechanizm kręcił się non stop o 180stopni. Czy ktoś może mi powiedzieć co jest grane? Dodam, że korzystam z serwa tower pro sg90. Link do komentarza Share on other sites More sharing options...
marek1707 Listopad 23, 2016 Udostępnij Listopad 23, 2016 Co to znaczy "..jednak serwomechanizm wychyla się o jakieś 45stopni". Stopni od czego? Przecież to właśnie impuls 1.5ms jest tym wzorcowym, przy którym serwo jest w pozycji neutralnej. Dopiero od tego miejsca odchylasz go w lewo i w prawo za pomocą zmian długości impulsów od 1.0 przez 1.5 do 2.0ms. Serwo potrzebuje ciągłej transmisji sygnału, nie możesz przestawać go wysyłać, bo różne elektroniki reagują inaczej. Standardem jest nieprzerwane wysyłanie impulsów co 20ms (50Hz), ale niektóre bardzo szybkie serwa helikopterowe łykają nawet i >300Hz. Natomiast zakresy ruchu to zupełnie inna sprawa. Nigdzie nie jest powiedziane, że serwo będzie obracało się o ±90° gdy będziesz skracał wzorcowy impuls 1.5 od 0.5ms w każdą stronę. Typowo używane w modelarstwie zakresy pracy to zaledwie jakieś 45-60° w każdą stronę i tyle serwa zwykle mają. Czasem - na własną odpowiedzialność możesz spróbować impulsy skrócić lub wydłużyć bardziej, poza granice 1-2ms i niektóre serwa osiągają wtedy zakres 180°. Link do komentarza Share on other sites More sharing options...
wiorec Listopad 23, 2016 Autor tematu Udostępnij Listopad 23, 2016 Trochę źle to opisałem.. Ustawiam serwomechanizm w pozycji neutralnej impulsem 1.5ms. Następnie zmieniam impuls na 2ms co według noty katalogowej ustawia nam położenie orczyka na +90stopni jednak w rzeczywistosci serwomechanizm nie robi obrotu z 0 na 90 stopni tylko z 0 na 45 stopni (połowe tego co jest oczekiwane). Serwomechanizm który ja posiadam pracuje w zakresie 180 stopni. Widziałem to nawet na filmie instruktażowym. Robiłem jeszcze test który polegał na tym, że odbiegłem od not katalogowych tzn. zadałem jakiś losowy impuls i nagle z 0 stopni otrzymałem zamierzone +90. Jednak miało się to z tym co podaj producent.. Także, wychylenie takie jest możliwe z tym, że nie dla wartości katalogowych. Aha dodam że impuls jest generowany co 20ms. Zaobserwowałem to na oscyloskopie. Link do komentarza Share on other sites More sharing options...
marek1707 Listopad 23, 2016 Udostępnij Listopad 23, 2016 No przecież właśnie to napisałem... Tutaj podają, że akurat to serwo wytrzymuje dużo większy zakres czasów: http://www.servodatabase.com/servo/towerpro/sg90 Jeśli chcesz to próbuj - tylko ostrożnie, może wtedy osiągniesz potrzebne ±90° a może nawet więcej. Teoretycznie jeżeli potencjometr jest zamocowany na wale wyjściowym serwa to zwykle ma on zakres ruchu 270° więc ograniczenia są bardziej "elektroniczne", ale w środku może być zamontowany jakiś bardzo nietypowy element i wtedy przejechanie poza zakres pracy może coś mechanicznie zniszczyć lub zakleszczyć. Eksperymenty z losowymi impulsami to raczej głupi pomysł. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
deshipu Listopad 23, 2016 Udostępnij Listopad 23, 2016 W przypadku SG90 zapomnij o notach katalogowych. Najprawdopodobniej nie masz oryginału firmy TowerPro, tylko chińską podróbkę (to jest najczęściej klonowane serwo na świecie), a z tych każde ma zupełnie inne parametry. Sugeruję ustalić zakresy duty cycle eksperymentalnie dla tych serw, które akurat masz (dla każdego mogą być inne). Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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ę »