ラボ

RDO-29BMAの動作テスト

RDO-29BMAにはエンコーダが内蔵されています。このエンコーダからの信号を読み取って回転を制御してみます。

エンコーダからはAとBの2相の信号が出力されています。ONとOFFを繰り返す2つの信号は半位相ずれていて、モータ軸の回転方向によってずれ方が変わります。
実験では1相だけを割り込みポート(CN15)に入力して、割り込みで信号のON/OFFをカウントします。
 ※CN15は出荷時にはコネクタがありません。ピン間が同じピッチの市販のコネクタを増設してあります。3pinのうち、電源ピンは他のコネクタの5V部分からジャンパする必要があります。
CN1など、コネクタのあるポートを使用して条件分岐でポーリングしてもよいでしょう。

「モータ軸1回転あたり12パルス×ギア比」から停止位置を決め、一時停止と回転を繰り返してみます。
ムービーのプログラムでは、アナログ入力で読み込んだ可変抵抗の値に応じて一時停止するまでの回転数を変更しています。


プログラム

interrupt.cで回転数を変数でカウントして、main.cのmain関数ではその変数によって一時停止します。

RDO-29BMAエンコーダ実験 Cソース(zip)


RDO-29BMAとボードを接続する

扱いやすくするため、ロボデザイナー用の3pinコネクタで中継ボードを製作しました。
RDO-29BMAの6pinコネクタのうち、モータに接続する3、4をのぞいて、1を電源(5V)、2をグランド(-)、5と6の信号(A相、B相)を2つのコネクタそれぞれの信号ピンに接続します。電源、グランドは片方のコネクタだけでも動作するように並列に接続してあります。
また、エンコーダの出力はオープンコレクタですので、電源(5V)に適当な抵抗を使ってプルアップします。(実験では10KΩ)