Néhány gondolat a villanymotorokról. Három alapvető típusát említeném meg
- DC Motor
- Szervómotor
- Léptetőmotor
DC Motor
Ez talán a legegyszerűbb, egy sima egyenáramú avagy DC motor.
Két lába van, feszültséget kapcsolunk rá, a polaritástól függően óramutató járásával megegyező vagy ellentétes irányba forogni kezd. A feszültség nagyságával szabályozhatjuk a sebességét.
A DC motor akkor hasznos, ha (meglepő módon) azt szeretnénk, hogy valami forogjon. Addig elég egyszerű dolgunk van, amíg nem akarjuk a sebességét vagy az irányát szabályozni, hanem valamilyen módon előre beállítva csak forgatni. Ezt egy arduino egyetlen digitális lábával vezérelhetjük. A dolog bonyolódik, ha az irányát és a sebességét is akarjuk változtatni. Ebben az esetben már mindenképp szükségünk lesz egy motorvezérlő áramkörre. Építhetünk ilyet, vagy veszünk egy IC-t, mint pl az L293D - Dual Full Bridge MotorDriver. Ezzel meghatározhatjuk a forgás irányt és a forgás sebességét is. Az irányhoz két digitális lábra van szükség, a sebességhez pedig egy harmadikra, ami PWM képes.
A PWM a pulse-width modulation, azaz impulzusszélesség moduláció rövidítése. Ha nem akarsz belemélyedni, annyit kell tudnod, hogy minden arduinónak van néhány digitális lába, amiken képes ezt a jelet összeállítani, neked csak annyi dolgod van, hogy a megfelelő lábakat használd. Ezen a lábon így nem csak 0 és 1 értéket tudsz küldeni, hanem az analogWrite() segítségével 0-255 közötti értéket, ami 0-5V-nak felel meg. Az arduino oldalán találsz egy részletesebb leírást erről.
Szervó motor
Egy szervó motornak 3 kivezetése van. Kettő szolgál a tápellátásra (+5V és GND), a harmadikkal pedig azt adjuk meg, hogy milyen állapotba mozduljon a motor. Ez nem arra való, hogy körbe-körbe forgassunk vele dolgokat, hisz jellemzően 180 fok körül van a maximális elfordulása. Az SG90-es mikro szervó motor pl 5V-os. Ha 5 voltot adunk a jel lábára, akkor maximális kitérésre áll az egyik irányban, 0-nál a másik irányban. Értelemszerűen köztes modulált feszültségeknél százalékosan a megfelelő köztes állapotba. Arduinóval egyszerű vezérelni, van külön Servo könyvtár hozzá, aminek segítségével egyetlen utasítással a kívánt állapotba lehet állítani (itt arra kell figyelni, hogy PWM képes lábát kell használni a boardnak a modulált jel küldéséhez).
Amit még jó tudni róla, hogy ha megkapja a tápfeszültséget, akkor beáll a motor a jel lábon érkező állapotba, ha onnan külső erővel kimozdítod, ellenáll (fékez), illetve visszamozdul azonnal. Ha nem kap tápot, akkor viszont szabadon forgatható (a saját 180fokos elfordulásán belül).
Egy ilyen szervó motor kiválóan alkalmas lehet a fékszárny visszajelző mozgatásához. Ott nagyjából csak 90fokos elfordulásra lesz szükség, és csak egy lábat visz el a vezérléshez.
Stepper vagy léptetőmotor
Ez a motor tud körbe-körbe forogni, igazából mégsem arra lett kitalálva, hogy pörgessünk vele bármit is. Sokkal inkább arra, ha valamit precíziósan akarunk mozgatni. A vezérléséhez célszerű az adott léptetőmotorhoz való motorvezérlőt megvenni, általában ezt a motorral együtt csomagban is rendelheted. Én is így tettem.
Na de hogy is működik? Ami nekem van, az egy unipoláris léptetőmotor. 4 elektromágnes van benne 90 fokonként elhelyezve. A vezérlés abból áll, hogy megmondom melyik mágnes legyen áram alatt, azaz melyik húzzon. Ekkor a motor tengelye, abba az irányba fordul be. Ha azt szeretném, hogy forogjon a motor, akkor ennek megfelelően rövid időközönként sorba kell bekapcsolnom a következő mágnest, kikapcsolni az előzőt. Ez nagyon jó, amikor pontos elmozdulásokat szeretnék elérni anélkül, hogy valami külső eszközzel mérnénk, hogy épp hogy áll a tengely. Ezek a léptetőmotorok a teljesítményhatárukon belül biztosan lépnek egyet. Nyilván, ha sikerül fizikailag megakadályozni a tengely elfordulását, akkor a motor nem biztos, hogy abban az állapotban lesz, ahol azt a vezérlés oldalról gondoljuk. Ezt azért mérlegelni kell mikor egy ilyen vezérlést összerakunk. Ilyen motorokat használnak amúgy 3D nyomtatókban is, hisz ott is a precizitás a fontos. A szimulátorban még nem látom hol lesz ez jó. Ha a forgó mechanikus műszereket le akarnám gyártani ahelyett, hogy monitoron megjelenítem, valószínű ott ez lenne a befutó.
Vezérlése amúgy 4 lábat visz el az arduinóról, a 4 elektromágnesnek megfelelően.
Röviden ennyi a motorok összehasonlításáról. A fékszárnyak állapotjelzéséhez szervó motort fogok használni, az tűnik a leghatékonyabbnak és legegyszerűbbnek erre a feladatra.
10 percben videóban összefoglalva mindez: