Skocz do zawartości

Problem z Micro Servo 9g SG90 (0-180-360)


Pomocna odpowiedź

Napisano

Cześć,

zakupiłem ostatnio serwo z BOTLAND. Specyfikacja mówi, że potrafi ono działać zarówno jako zwykły serwomechanizm oraz serwomechanizm z pracą ciągłą. Mój problem jest taki, iż moje serwo wciąż działa w trybie ciągłym. Mimo wielu prób, testów i poszukiwań w internecie nie mogłem znaleźć jak zmusić to serwo do ustawienia się w konkretnej pozycji (np. kąt 45st.). Dla niego instrukcja 'write' zawsze określa prędkość działania.

Czy jest ktoś w stanie pomóc mi zrozumieć temat i jak ustawiać moje serwo w konkretnej pozycji?

Pozdrawiam,

Sokol

Z tego co zrozumiałem wynika, że dopóki sterujesz impulsami w granicach rozsądku (np. o szerokości od 1 do 2ms) to serwo działa normalnie, tj. ustawia się w zadanej pozycji. Gdy jednak wyślesz impulsy przekraczające (niestety nie wiadomo w którą stronę) te granice, serwo zaczyna się obracać bez końca. Dzieje się tak dlatego, że w żadnym położeniu wewnętrznego potecjometru nie może ono znaleźć położenia równowagi miedzy tym co dostaje po kabelku a tym co samo sobie wytwarza z potencjometru. Czym je sterujesz? Jeżeli standardową funkcją servo.write() z biblioteki Arduino, to spróbuj wysłać mu coś sensownego, gdzieś w okolicach położenia środkowego np. 90 +/-10. Jeżeli to zadziała, możesz potem powoli rozszerzać granice sygnału aż znajdziesz pozycję poza którą nie możesz wyjechać bo silnik ruszy z kopyta.

Dziękuję za odpowiedź.

Steruję przy pomocy 'servo.write()' z biblioteki Arduino. Przy wpisaniu wartości 90+/-10 (np. 'servo.write(80)') rozpoczyna się ciągły obrót w lewo lub prawo z niewielką prędkością. Przy wartościach granicznych, tj. 0 oraz 180, obrót ten przybiera maksymalną prędkość w jedną ze stron. I w tym problem, że nie mogę wymusić od serwa przyjęcia konkretnego kąta - tylko chce się obracać wciąż w prawo lub w lewo. Dodatkowo powiem, iż dla wartości 90, dla funkcji write, serwo zazwyczaj stoi w miejscu (zazwyczaj, ponieważ czasem wykonuje bardzo powolne ruchy w jedną ze stron).

Hm, to znaczy, że dostałeś typowe serwo 360 z regulacją prędkości. Skoro nie ma położenia równowagi a regulacja prędkości jest w obie strony, to moim zdaniem w środku jest inna elektronika niż opisywana na stronie sklepu, przykro mi.

 

Też podejrzewałem, że dostałem serwo jednak bez możliwości kontroli pozycji, ale ponieważ jestem początkującym, to chciałem się doradzić.

Dziękuję @mirek1707 bardzo za odpowiedzi i pomoc!

Akurat przez moje ręce przeszło ostatnio sporo tych małych serw i niestety muszę potwierdzić to co doradził Marek. Na 99% dostałeś tradycyjne serwo 360*. Niestety od jakiegoś czasu producenci zaczęli się chyba gubić z tymi serwami i przysyłają je "losowo". Sklepy nie zawsze nadążają z weryfikacją serw. Jeśli miałbyś ten nowy, dziwny "pośredni" model serwa to nie mógłbyś kontrolować jego prędkości. Normalnie ustawiałoby się ono w jednej pozycji, a przy skrajnych zakresach kręciłoby się w koło. Przykład:

 

  • Lubię! 1
  • 6 lat(a) później...

Temat mocno odkopuję, ale również trafiłem na serwo SG90 z tą "przypadłością". Z wierzchu wygląda identycznie jak "typowe" SG90, natomiast w środku brakuje potencjometru (po lewej na zdjeciu).

20250407_191758.thumb.jpg.a5ab41b4e7ce3eddd5ce5539d4016adb.jpg20250407_192006.thumb.jpg.8afcabd9155626d07f3dce415b144256.jpg

  • Lubię! 1
(edytowany)

@orb777

Właśnie oglądam moje SG90 i z tego co widzę z zewnątrz też nie ma potencjometru w środku.

U mnie to wygląda tak:

20250408_085516.thumb.jpg.7a5c5483d7594633d756dd6cfb7b5019.jpg

Edytowano przez miro88

Cóż, sprzedawcy nawet nie widzą, że to inne serwo, bo na pierwszy rzut oka wyglądają identycznie, nie mają żadnych dodatkowych oznaczeń. U mnie 1 na 6 trafiło się.

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