Mi az a szervomotor-irányító?
Szervomotor-irányító definíció
A szervomotor-irányító (vagy szervomotor-meghajtó) olyan áramkör, amelyet a szervomotor pozíciójának vezérlésére használnak.
Szervomotor-meghajtó áramköre
A szervomotor-meghajtó áramköre tartalmaz egy mikrovezérlőt, tápegységet, potenciometert és csatlakozókat, amelyek pontos motor-irányítást biztosítanak.
Mikrovezérlő szerepe
A mikrovezérlő adott időközönként PWM impulzusokat generál, hogy pontosan irányítsa a szervomotor pozícióját.
Tápegység
A szervomotor-irányító tápegységének tervezése függ a csatlakoztatott motorok számától. A szervomotorok tipikusan 4,8V-tól 6V-ig használnak tápegységet, a 5V a standard. A tápegység feszültségének túllépése károsíthatja a motort. Az áramfelvétel a nyomatékotól függ, alacsonyabb a tétlen állapotban, magasabb a futás közben. A legnagyobb áramfelvétel, a megállási áram, néhány motor esetén elérheti az 1A-ot.
Egyetlen motor irányítása esetén használjon LM317-es feszültségregulátort hűtőlapral. Több motor esetén szükség van egy minőségi, nagyobb áramerősségű tápegységre. Jó választás egy SMPS (Switched Mode Power Supply).
Áramkör-diagram, amely bemutatja a szervomotor-meghajtó összeköttetéseit

Szervomotor irányítása
A szervomotor három csapáttal rendelkezik.
Pozíciós jel (PWM impulzusok)
Vcc (a tápegységből)
Föld

A szervomotor szögpozícióját adott szélességű PWM impulzusok alkalmazásával irányítjuk. Az impulzus időtartama körülbelül 0,5ms-től 0-fokos forgatáshoz, 2,2ms-ig 180-fokos forgatáshoz. Az impulzusokat 50Hz-tól 60Hz-ig terjedő frekvencián kell adni.
A PWM (Pulse Width Modulation) hullámformát a mikrovezérlő belső PWM moduljával vagy a időzítővel generálhatjuk. A PWM blokk használata rugalmasabb, mivel a legtöbb mikrovezérlő család tervezésében ez a PWM blokk jobban illeszkedik a szervomotor-irányításhoz hasonló alkalmazások igényeire. Különböző szélességű PWM impulzusokhoz megfelelően kell programozni a belső regisztereket.
Most pedig meg kell adnunk a mikrovezérlőnek, hogy mennyit kell forognia. E célra egyszerű potenciometert használhatunk, és ADC segítségével kaphatjuk a forgási szöget, vagy bonyolultabb alkalmazások esetén gyorsulásmérőt is használhatunk.

Programalgoritmus
Készítsünk egy programot egyetlen szervomotor irányításához, és a pozíciós bevitelt a potenciometerrel adjuk meg, amely a vezérlő egyik csapáthoz csatlakozik.
Inicializáljuk a port csapátkat bemenet/kimenetként.
Olvassuk be az ADC-t a kívánt szervomotor pozícióért.
Programozzuk a PWM regisztereket a kívánt értékre.
Amint aktiváljuk a PWM modult, a kiválasztott PWM csatorna csapát aktívvá (logikai 1) válik, és a szükséges szélesség elérése után újra inaktívvá (logikai 0) válik. Tehát, miután aktiváltuk a PWM-t, indítsunk egy időzítőt körülbelül 19 ms késéssel, és várjuk, amíg a időzítő túlcsordul. Ugorjunk a 2. lépre.
Különböző PWM módok állnak rendelkezésre, amelyeket a kiválasztott mikrovezérlőtől függően használhatunk. A szervomotor-irányítás controlljához a kódban bizonyos optimalizálás szükséges.
Ha több szervomotorral szeretne dolgozni, akkor annyi PWM csatornát kell rendelkeznie. Minden szervomotor PWM jelet kap sorban. De gondoskodnia kell róla, hogy minden szervomotor PWM impulzusának ismétlődési aránya megtartva legyen. Ellenkező esetben a szervomotorok szinkronizációjából kiesnek.