Co si vlastně pod pojmem hacknutí servo motoru představit? V principu nejde o nic složitého, jedná se o úpravu servo motoru tak, aby se bez omezení dokázal otáčet kolem své osy. Hlavní výhodou je získání motoru s převodovkou, který lze řídit přímo pomocí Arduina. Upravený motor se otáčí na základě přijímaného signálu. Ukažme si to na na konkrétních příkladech servo řízení. Pokud nahrajeme do Arduina zdrojový kód obsahující příkaz: servo.write(0), znamená to plný chod motoru vpřed. Příkaz servo.write(90), zajistí zastavení motoru a při použití příkazu servo.write(180), se bude motor otáčet plným chodem vzad. Mimo těchto konkrétních čísel lze využít celý rozsah hodnot 0-180, které zajišťují kontrolu nad rychlostí otáčení motoru.
POTŘEBNÝ HW:
- Servo motor
- Dva rezistory (velikost dle naměřených hodnot)
- Arduino (na otestování)
POSTUP
Začneme tím, že odšroubujeme spodní stranu servo motoru. Po vyjmutí šroubků nám půjde snadno sundat i vrchní část. Následně odstraníme povrchová ozubená kola. Nyní se zaměříme na jedno z těchto kol, většinou se jedná o kolečko, které kouká ven ze servo motoru. Nachází se na něm malá zarážka, která brání servo motoru v otočení o více než 180°. Tuto zarážku budeme muset odstranit, někdy je třeba použít trochu „hrubé“ síly.
Nyní se přesuneme na spodní stranu, musíme vyndat řídící destičku, pod kterou je schovaný trimr. Z naší destičky k němu vedou tři červené kabely. Trimr udává servo motoru v jaké poloze se nachází. Tyto kabely musíme odstřihnout.
Dalším krokem je změření odporu trimru. Pomocí multimetru zjistíme odpor mezi prostřední a oběma krajními kolíky. V našem případě nám vyšlo R1 = 2.64 kΩ a R2 = 2.53 kΩ. Ze vzorce:
lze jednoduše vypočítat hodnotu rezistorů, které použijeme. V našem případě nám vyšlo R = 2.58 kΩ. Na místa kam na destičce vedly kabely napájíme dva rezistory přibližně této hodnoty (my zvolili menší rezistory o velikosti 2 kΩ).
Nyní už jen stačí přelepit odpory izolační páskou a sešroubovat servo motor zpátky dohromady. Finálním krokem je otestování správné funkčnosti hacknutého servo motoru.
Na obrázku níže je možné vidět ukázku servo řízení pomocí Arduina a zapojení servo motoru k Arduinu. Pro motor je v našem případě potřeba napětí v rozsahu 6-7 V. Datový kabel ze servo motoru jsme připojili na PWM pin č. 9.
Do Arduina jsme nahráli následující zdrojový kód, který zajišťuje roztočení servo motoru na plný chod.
#include <Servo.h> // Importování knihovny pro servo motor Servo mojeServo; // Vytvoření proměnné mojeServo void setup(){ mojeServo.attach(9); // Připojení k pinu 9 } void loop(){ mojeServo.write(0); // Roztočení serva na plný chod }
Tento článek jsme vytvořili spolu s Honzou Czapkem. Doufáme, že bude návod nápomocný a přejeme Vám mnoho projektů s využitím “hacknutých” servo motorů.