Czym jest serwomechanizm? To silnik z wbudowaną przekładnią i sterownikiem oraz potencjometrem. Dzięki tej przekładni serwomechanizm posiada odpowiednio duży moment co za tym idzie sporą siłę uciągu. Dzięki sterownikowi ruch serwa jest precyzyjny, a potencjometr pozwala ustalić aktualną pozycję. Sterownik przetwarza odbierany sygnał cyfrowy i odpowiednio kontroluje ruch silnika wewnątrz.
Jako popularne zastosowanie serwomechanizmów można wymienić modele samochodów czy samolotów. W modelarstwie odpowiadają one za skręt kołami w samochodach i wychylenie łopat w samolotach.

Serwa można dzielić za względu na to czy są cyfrowe lub analogowe, na ich rozmiar i siłę oraz na to z jakich materiałów są zbudowane.
Przy wyborze serwa należy zwrócić uwagę:
- na jego udźwig i moment obrotowy dla konkretnego napięcia
- kąt obrotu – zazwyczaj jest to 180° ale bywają serwa mogące obracać się o 360°
- szybkość serwa
- materiał z jakiego wykonana jest przekładnia
- masa (ważne w modelach latających)
Co więc oznacza moment 3 kg/cm?
Gdy wyczytamy w specyfikacji serwa oznaczenie np. 3kg/cm oznacza to, że dźwignia serwa o długości 1cm pokona opór lub ciężar 3kg. Moment jest iloczynem siły i długości ramienia M = F * r. Aby równanie zostało zachowane jeżeli coś 2-krotnie zwiększymy inne składowe muszą zmaleć. Wydłużając ramię do 2cm opór jaki pokona zmniejszy się 2-krotnie – w naszym przypadku do 1.5kg
Jak sterować serwem?
Serwomechanizmy sterowane są sygnałem PWM, co jest skrótem od Pulse Width Modulation – modulacja szerokości impulsu. W mikrokontrolerze Arduino wyjścia sygnału PWM zostały oznaczone ~

Sterownik serwa otrzymując odpowiednio wypełniony sygnał PWM z naszego kontrolera ustawia je w odpowiedniej pozycji.
Sygnał podzielony jest na równe okresy zazwyczaj o długości 20ms, sygnał wypełniający mieści się z zakresie od 1ms dla skrajnie lewej pozycji do 2ms dla skrajnie prawej pozycji. Wypełnienie 1.5ms pozwala ustawić serwo idealnie na środku.
Poniższa animacja pokazuje jak wypełnienie sygnału PWM wpływa na ruch serwa.

Jeżeli chcesz dowiedzieć się więcej o sygnale PWM przeczytaj nasz dedykowany artykuł klikając TUTAJ!
Podpięcie serwa pod mikrokontroler
Serwa wyposażone są zazwyczaj w 3 przewody. 2 przewody są zasilające, 1 przewód sygnałowy. Pamiętajmy aby najlepiej NIE zasilać serwa bezpośrednio z mikrokontrolera, ponieważ chwilowy pobór prądu będzie na tyle duży, że spalimy nasze arduino!

Arduino IDE i kod programu
W tym akapicie napiszemy program, który pozwoli nam ustawić wybrany kąt o jaki ruszymy serwomechanizm.
Uruchamiamy środowisko Arduino IDE, aby ułatwić sterowanie naszym serwem wspomożemy się gotową biblioteką Servo, która jest preinstalowana w używanym przez nas środowisku. Aby zobaczyć jakie funkcje oferuje biblioteka odsyłam na stronę specyfikacji:
https://www.arduino.cc/en/reference/servo
#include <Servo.h> // dołączamy bibliotekę odpowiedzialną za obsługę serva
Servo mojeServo; //tworzymy obiekt dzięki, któremu odwołamy się do naszej biblioteki
int kat = 0; //tworzymy zmienną przechowującą aktualny kąt ruchu
void setup()
{
mojeServo.attach(9); //wskazujemy, że serwo podpielismy do 9 pinu
}
void loop()
{
mojeServo.write(kat); //poruszamy serwo o wskazany kat
if(kat<180){ //sprawdzamy zakres
delay(2000); //czekamy 2 sekundy
kat=kat+5; //zwiększamy kąt o 5 stopni
}else
kat=0; //wracamy do pozycji 0
}
Kod programu został wyjaśniony w komentarzach. Nastawia on nasze serwo do pozycji 0 i co 2 sekundy zwiększa kąt o 5 stopni. Główna część programy zawiera pętle, która sprawdza warunek kat<180, dzięki temu jeżeli nasze serwo wyjdzie poza zakres swojej pracy, ustawiamy kat=0 i wraca do pozycji początkowej.
Zarówno arduino jak i serwomechanizmy można nabyć w atrakcyjnych cenach w naszym sklepie internetowym: https://elektroweb.pl
pytania można zadawać w komentarzach pod wpisem, zapraszamy wszystkich na nasz kanał YouTube: Kanał Elektroweb
Linki do polecanych serw:
- Serwo SG90 – popularne serwo ważące zaledwie 9g
- Serwo MG90S Tower Pro – metalowe zębatki 2,2KG
- Serwo TowerPro MG-996R Robot – bardzo solidne 180, 55g, 9,4 kg*cm
4 Comments
Zostaw komentarz
Artur
Witam. Posiadam serwo sg90. Okazało się że zaprogramowane zostało do obrotu 360°. Czy jest możliwość aby przedstawić jego prace do wymaganego kąta dla modeli samolotów RC czyli jakieś 90-120°? Czy pozostaje tylko wymiana na takie ?
admin
Najprościej będzie wymienić serwo na takie o ruchu 180°
Kamil D
Bardzo przydatny wpis, tego mi było trzeba. Nie pomyślałem wcześniej o kącie obrotu, a tu wszystko wyjaśnione. Pozdrawiam autora.
admin
Dziękujemy za komentarz i zachęcamy do śledzenia naszego Facebooka – dzięki temu dowie się Pan o kolejnych przydatnych wpisach. Pozdrawiamy
https://www.facebook.com/elektrowebpl