クモ、手足を得る (1)準備編
STATUS: 故障中x2
マイコンでメカを制御しようとするときは、ラジコンのサーボを使うのが一番簡単なようです。
サーボへの信号については、以下のページの解説がわかりやすいです。
ワンチップマイコンPICを用いたRC用サーボモータのコントローラ
15〜20ミリ秒間隔でパルス信号を送り、そのパルスの時間でサーボの切れ角が制御できるようです(PWMってこと)。
実際のところどうなのかオシロスコープで測定してみました。
ラジコンは、以前組み立てたスウィフトを利用しました。受信機は、タミヤのTRU-02です。
受信機からステアリング用サーボへの信号をとりだしオシロに繋ぎました。(近藤科学のサーボ延長コードを途中で切断してオシロの接続しています)
オシロのほうは、とても古い機種かつ数年ぶりにひっぱりだしてきたので測定の精度はまったくあてになりませんが、だいたい20ミリ秒弱の間隔でパルスがきているのがわかりました。
パルスの幅は、だいたい1.5ミリ秒くらいかなあ。
送信機のステアリングを回すと、長さが変動します。
ステアリングセンターで1.5ミリ秒くらい。右に回しきると、1.7ミリ秒くらい。左に回しきると、1.3ミリ秒くらい。…と、アナログ的に変化します。※秒数はテキトーな感覚です
マイコンからも同じような信号をだしてやれば、サーボの制御ができそうですね。
ステアリング使っているサーボは、フタバのS-3003という製品です。
詳細な仕様は、ココに載ってました。
「Direction: Counter Clockwise/Pulse Traveling 1520-1900usec」と、あるので、パルス幅を、1.530ミリ秒から1.900ミリ秒の間で変化させればサーボホーンを左右いっぱいにふれるのでしょう。
パルス間隔については特に載ってなかったので、こちらはそんなに厳密じゃなくてもいいのかな。
パルス幅の制御は厳密にやらないといけないけど、タイマー機能でPWM出力を直接だせるので、CPUの負荷なく出来るはず。CPU占有してもいいなら、もっと簡単にできそうだし。
次回は、実際にサーボを制御してみようと思います。
/
ところで、サーボの信号って信号自体はデジタルだけど、値はアナログ(パルス幅の時間)なのね。だからアナログサーボっていうんだ…と、思ったらそうではなくて、デジタルサーボも制御信号は同じらしい。何が違うんだろう?
それにしても20ミリ秒間隔というのは意外と長いと思いました。たったの秒間50サンプルでしょ?
僕がラジコンカーの運転下手なのは、サンプリング間隔が長すぎて僕の繊細な操作についてこれないからに違いない!(絶対違う)