ワンチップマイコンPICを用いたRC用サーボモータのコントローラ

8ビットのデジタル信号からRC用サーボモータのPWM信号を生成。
マイコンで小型のロボット等を制御したいときに便利。
SERVO_PH.jpg

注意:本ページの内容については,実際に製作した結果に基づいた記述だが, 全ての機種のRC用サーボモータに共通するかどうかは何の保証もない. 回路を製作して適用する場合には各自の責任において行なってください.


RC用のサーボモータは、一定間隔でパルス信号を送ることにより 制御できる。 パルスとパルスの間隔は 15msec 程度のようである。
このパルスの幅(onになっている時間)は約 1msec-2msec で、 このパルスの幅を変えることでサーボモータの位置を指定する。 パルスの幅が 1.5msecのとき、サーボモータはほぼ中心位置になり、 これより長ければ右寄り、短ければ左寄りという具合である。
SERVOPWM.gif
また、筆者が購入した全てのサーボモータにおいて、 パルス信号が送られなくなると、電源OFFと同じような状態になった。

RC用サーボモータは、 小型ロボットなどを作るときのアクチュエータとして魅力的だが、 上記のようなPWM信号が必要なので、 マイコンで直接コントロールするにはタイマーなどを扱う必要があるため少し厄介だった。
そこで、8ビットのパラレルデジタル信号から上記のPWM信号を生成するような ものがあったら便利だろうなということで、製作した。 電源電圧が4.8〜6.0V用のサーボモータに5Vの電源を供給し, 製作したコントローラの電源と共有させて使う. ここでは以下の3種類のサーボモータについて動作を確認している。
 KO PROPO FET PS-712
 KO PROPO PS-1016FET
 KO PROPO PS-51S
同じKO PROPOでも以下のサーボモータは 正常に動作しなかった
 KO PROPO PDS-947FET
「デジタルサーボ」となっていることから,従来のサーボモータとは制御信号のプロトコルが 違うらしい。8800円も出して購入したのに(怒)定価は11000円だけど…読者の皆さんは注意してほしい。
後にメールでコメントをいただいたのだが,KO PROPO PDS-947FETで動かなかった原因は,コアレスモータによる 突入電流で電源電圧が不安定になるせいだとのことだ。十分な電源容量のもとで動かせばちゃんと動くそうである。

模型店などではFUTABAのサーボモータの方が手に入りやすいが、 電源電圧が7.2Vなので、本コントローラとモータ用で 2系統の電源電圧が必要となる上、 信号レベルのコンバータも必要となる可能性があるため、 KO PROPOを使った。
電源電圧が7.2VのFUTABAのサーボモーターも 5Vで正常に作動するが,パルス幅等については多少異なる. 以下にそれぞれのメーカー別に時定数を設定したソースを示す。

PICを用いたRC用サーボモータコントローラの配線図

FUTABA製RC用サーボモータ用PICコントローラのプログラムソース (シフトJISコードのテキストファイル)
FUTABA製RC用サーボモータ用PICコントローラHEX形式ファイル PIC16F84専用,クロックは8MHz
KO-PROPO製RC用サーボモータ用PICコントローラのプログラムソース (シフトJISコードのテキストファイル)
KO-PROPO製RC用サーボモータ用PICコントローラHEX形式ファイル PIC16F84専用,クロックは8MHz
FUTABA製とKO−PROPO製では信号の幅などが多少違うらしい。
上で示したソースは,FUTABAに関してはFP-S3003を電源電圧6Vで運用した。
KO−PROPOに関しては前述のとおり。

PICマイコンとモータとの結線方法などはコード中のコメントとして記述してある。 秋月通商のPICライタキットを使って、上記のHEX形式ファイルを書き込むべし
割り込み等の高度なことは一切やっていない. nopだらけのみっともないソースだが,要は動けばよいのである.
上記のソースファイル中で使用するヘッダファイル (シフトJISコードのテキストファイル)

注意: 本ソフトを使用したことによって生じたいかなる損害 についても、著作権保有者はその保証義務を一切負わないものとする。

ご意見・ご感想をお待ちしています。また, 本回路やソフトを改良したとか,他のサーボモータで動いたかどうか等のレポートも歓迎します。 お寄せいただいた情報のうち,有用と思われるものは順次本ページに掲載していくつもりです。
メールアドレス: gen@fe.dis.titech.ac.jp


本回路の応用例:強化学習の実験用ロボット
写真左=尺取虫型,写真右=ほふく前進型
REALROBO.jpg
(写真をクリックするとアニメーションgif(65.7KB)が表示される)
強化学習によって試行錯誤しながら 歩き方を自分で見つける
作った本人も忘れてたが, 本サイトはこの「強化学習」を布教することを主目的として存在している。 このページを訪問した人は,ついでに上記の強化学習の説明ページもぜひとも訪問してほしい。
もどる