Co je servo motorový řadič?
Definice servo motorového řadiče
Servo motorový řadič (nebo také servo motorový ovladač) je definován jako obvod používaný k ovládání polohy servo motoru.
Obvod ovladače servo motoru
Obvod ovladače servo motoru zahrnuje mikrokontrolér, zdroj napájení, potenciometr a konektory, což zajistí přesné ovládání motoru.
Role mikrokontroléru
Mikrokontrolér generuje PWM pulze v určitých intervalech, aby přesně ovládal polohu servo motoru.
Zdroj napájení
Návrh zdroje napájení pro ovladač servo motoru závisí na počtu připojených motorů. Servo motory obvykle používají zdroj napájení 4,8V až 6V, přičemž 5V je standardní. Překročení napětí může poškodit motor. Spotřeba proudu se liší podle točivého momentu a je nižší ve státu nečinnosti a vyšší při chodu. Maximální spotřeba proudu, známá jako blokovací proud, může dosahovat až 1A u některých motorů.
Pro ovládání jednoho motoru použijte napájecí regulátor jako LM317 s tepelným článkem. Pro více motorů je nutné použít vysokokvalitní zdroj napájení s vyšším proudovým stupněm. SMPS (Switched Mode Power Supply) je dobrým výběrem.
Schematický diagram níže ukazuje propojení v ovladači servo motoru

Ovládání servo motoru
Servo motor má tři terminály.
Signál polohy (PWM pulzy)
Vcc (zdroj napájení)
Zem

Úhlová poloha servo motoru je ovládána aplikací PWM pulzů specifické šířky. Doba trvání pulzu se pohybuje od přibližně 0,5 ms pro 0 stupňů otáčení až po 2,2 ms pro 180 stupňů otáčení. Pulzy by měly být podávány s frekvencí okolo 50 Hz až 60 Hz.
Pro generování PWM (Pulse Width Modulation) vlny, jak je ukázáno na obrázku níže, lze použít buď interní PWM modul mikrokontroléru, nebo časovače. Použití PWM bloku je flexibilnější, jelikož většina rodin mikrokontrolérů je navržena tak, aby tento PWM blok lépe odpovídal potřebám aplikací, jako je servo motor. Pro různé šířky PWM pulzů je třeba programovat interní registry podle potřeby.
Nyní musíme také informovat mikrokontrolér, jak moc se má otáčet. Pro tento účel můžeme použít jednoduchý potenciometr a ADC pro získání úhlu otáčení, nebo pro složitější aplikace lze použít akcelerometr.

Algoritmus programu
Navrhněme program pro ovládání jednoho servo motoru, kde vstupní poloha je zadána pomocí potenciometru připojeného k pinu kontroléru.
Inicializujte porty pro vstup/výstup.
Přečtěte ADC pro požadovanou polohu servo motoru.
Programujte PWM registry pro požadovanou hodnotu.
Jakmile spustíte PWM modul, vybraný pin PWM kanálu se nastaví na vysokou (logickou 1) a po dosažení požadované šířky se opět nastaví na nízkou (logickou 0). Po spuštění PWM musíte spustit časovač s prodlevou přibližně 19 ms a čekat, až dojde k přetečení časovače. Přejděte k kroku 2.
Existuje mnoho režimů PWM, které můžete použít v závislosti na vybraném mikrokontroléru. V kódu by měla být provedena jistá míra optimalizace pro ovládání servo motoru.
Pokud plánujete použít více než jeden servo motor, budete potřebovat tolik PWM kanálů. Každý servo motor může dostávat PWM signál postupně. Musíte však dbát na to, aby se udržovala opakovací frekvence pulzů pro každý servo motor. Jinak se servo motory rozsynchronizují.