Co to jest sterownik silnika serwomechanizmu?
Definicja sterownika silnika serwomechanizmu
Sterownik silnika serwomechanizmu (lub sterownik silnika serwomechanizmu) to obwód służący do sterowania położeniem silnika serwomechanizmu.
Obwód sterownika silnika serwomechanizmu
Obwód sterownika silnika serwomechanizmu zawiera mikrokontroler, zasilanie, potencjometr i konektory, zapewniając precyzyjne sterowanie silnikiem.
Rola mikrokontrolera
Mikrokontroler generuje impulsy PWM w określonych odstępach czasu, aby precyzyjnie kontrolować położenie silnika serwomechanizmu.
Zasilanie
Projekt zasilania dla sterownika silnika serwomechanizmu zależy od liczby podłączonych silników. Silniki serwomechanizmów zazwyczaj używają zasilania 4,8V do 6V, przy czym 5V jest standardowe. Przekroczenie napięcia zasilania może uszkodzić silnik. Pobór prądu zmienia się w zależności od momentu obrotowego i jest niższy w trybie bezczynności, a wyższy podczas działania. Maksymalny pobór prądu, znany jako prąd zatrzymania, może sięgać 1A dla niektórych silników.
Dla sterowania jednym silnikiem należy użyć regulatora napięcia, takiego jak LM317, z chłodzeniem. Dla wielu silników konieczne jest wysokiej jakości zasilanie o wyższym natężeniu prądu. Dobrym wyborem jest SMPS (Switched Mode Power Supply).
Schemat blokowy poniżej pokazujący połączenia w sterowniku silnika serwomechanizmu

Sterowanie silnikiem serwomechanizmu
Silnik serwomechanizmu ma trzy zakończenia.
Sygnał pozycyjny (impulsy PWM)
Vcc (z zasilania)
GND (masa)

Kąt położenia silnika serwomechanizmu jest kontrolowany poprzez zastosowanie impulsów PWM o określonych szerokościach. Czas trwania impulsu wynosi od około 0,5 ms dla obrotu 0 stopni do 2,2 ms dla obrotu 180 stopni. Impulsy powinny być podawane z częstotliwością około 50 Hz do 60 Hz.
Aby wygenerować formę fali PWM, jak pokazano na rysunku poniżej, można użyć wewnętrznego modułu PWM mikrokontrolera lub użyć timera. Używanie bloku PWM jest bardziej elastyczne, ponieważ większość rodzin mikrokontrolerów projektuje ten blok PWM, który lepiej nadaje się do potrzeb aplikacji, takich jak silnik serwomechanizmu. Dla różnych szerokości impulsów PWM należy odpowiednio programować wewnętrzne rejestry.
Musimy również powiedzieć mikrokontrolerowi, o ile ma obrócić. W tym celu możemy użyć prostego potencjometru i ADC, aby uzyskać kąt obrotu, lub dla bardziej skomplikowanych aplikacji można użyć akcelerometru.

Algorytm programu
Przejdźmy do projektowania Programu do sterowania pojedynczym silnikiem serwomechanizmu, a sygnał pozycji jest podawany przez potencjometr podłączony do pinu kontrolera.
Zainicjalizuj porty wejścia/wyjścia.
Odczytaj ADC dla pożądanego położenia silnika serwomechanizmu.
Programuj rejestry PWM dla pożądanego wartości.
Jak tylko uruchomisz moduł PWM, wybrany pin kanału PWM przełączy się na wysoki (logika 1) i po osiągnięciu wymaganej szerokości ponownie przełączy się na niski (logika 0). Po uruchomieniu PWM musisz uruchomić timer z opóźnieniem około 19 ms i czekać, aż timer przepłynie. Wróć do kroku 2.
Istnieje wiele dostępnych trybów PWM, które można używać w zależności od wybranego mikrokontrolera. Powinna być wykonana pewna optymalizacja kodu, aby kontrolować silnik serwomechanizmu.
Jeśli planujesz użyć więcej niż jednego silnika serwomechanizmu, będziesz potrzebował tylu kanałów PWM. Każdy silnik może otrzymać sygnał PWM sekwencyjnie. Musisz jednak zadbać o to, aby częstotliwość powtarzania impulsów dla każdego silnika była utrzymana. W przeciwnym razie silniki stracą synchronizację.