next up previous contents
: A/D入力 : プロトコルの決定 : プロトコルの決定   目次

モータ制御

先頭の4bit: (0001)$_{2}$

モータ制御のコマンドは、正転、逆転などモータの動作ごとのコマンドと、レスクロを簡単に動かすための、前進や右折・左折などの専用コマンドに分ける。モータの動作ごとのコマンドは、2byte目にどのモータに対する命令であるかを示す引数をとる。具体的には、各モータに対応するbitが1であれば処理の対象となるようにした。割り当ては次のとおりである。なお、2byte目が0であれば全てのモータが対象となる。

b2 b1 b0
モータ3(アーム) モータ2(右クローラー) モータ1(左クローラー)

もし接続するモータの数を増やしたい場合は、このプロトコルを拡張し、プログラムを変更する事で、8つまでサポートすることが可能である(ただしマイコンから制御信号を伝える線路があることが前提である)。 モータ制御のコマンドを表6.1と表6.2に示す。表中で、16進表示で「X」と書かれた部分は引数に該当し、「-」と書かれた部分はどのような値が入っても良いことを表す。


表 6.1: モータ制御(モータの動作の違いで分けたコマンド)
1byte目 2byte目 16進表示 機能
上位4bit 下位4bit 上位4bit 下位4bit 上位 下位
0001 0001 モータの指定 0x11 0xXX 正転
0001 0010 0x12 0xXX 逆転
0001 0011 0x13 0xXX ブレーキ
0001 0100 0x14 0xXX 停止


表 6.2: モータ制御(レスクロ専用のコマンド)
1byte目 2byte目 16進表示 機能
上位4bit 下位4bit 上位4bit 下位4bit 上位 下位
0001 0101 - 0x15 0x-- 前進
0001 0110 - 0x16 0x-- 後退
0001 0111 - 0x17 0x-- 右折
0001 1000 - 0x18 0x-- 左折
0001 1001 - 0x19 0x-- 右回転
0001 1010 - 0x1A 0x-- 左回転
0001 1011 - 0x1B 0x-- 右後ろ
0001 1100 - 0x1C 0x-- 左後ろ


next up previous contents
: A/D入力 : プロトコルの決定 : プロトコルの決定   目次
Deguchi Lab. 平成20年3月4日