EASY84シリーズその6「プロジェクト・アームジョー」(ハード編)(2003)

EASY84シリーズとは、PIC16F84を使って簡単な電子工作を楽しもうという企画である。



EASY84シリーズは今回で最終回である。
今回はパソコンとの接続その2とモータ制御がテーマである。

このテーマに格好の材料がある。
イーケイジャパンから発売されているロ ボットアーム(MR−999)という電子工作キットである。



ロボットアームは5関節のマニュピレータである。
ぜいたくにも関節全てにそれぞれモータを使っていて、コントローラで独立に動かすことができる。
ステッピングモータではないので、精度のある動きは不可能であるが、玩具としてはよくできている。

このロボットアームをPICを介してコンピュータと接続しようというのが、今回の目的である。
実は、コンピュータインターフェースも同社から発売になっているが(ムー ビットラボIF−99)、それとは全く関係なく独自仕様で実現する。
さらに、動作シーケンスデータをコンピュータからPICへ転送し、コンピュータなしでも動作する機能を搭載する。

名づけて、プロジェクト・アームジョーである。(名前変わってるやん。って、このネーミングが使いたかっただけです。)

さて、まずオリジナルのしくみを見てみよう。

これが本体底面を開けた様子(というかキットなので、完成時の状態で)である。単1電池を4本使用している。



しかし、6Vで動作しているわけではない。
2本ずつ3Vの2組に分けてモータの回転方向によって使用する電池を切り換えるのである。

なるほど、このようにするとモータ1つにつき、スイッチが1つで済む。
私ははじめ、これでは一方向に使用が偏れば電池の消耗具合に差が出てしまうのではと思っていたが、それはありえないことだ。各関節は行き着くとこまでいく と戻るしかないのだから。
とはいえ負荷のかかり具合は方向によって違うから、やはり消耗具合も変わってくるだろう。

では、3V1組、つまり電池2本だけで動作するようにするにはどうすればよいか。
連動するスイッチを2つ用いて図のように接続すればよい。(こちらの方が一般的であろう。)

このスイッ チをPICで制御するわけであるが、実はこのスイッチの代わりをしてくれるICがある。
東芝のモータドライバIC(TA7291)である。


構造は図のようにトランジスタのブリッジ接続になっていて、コントロール信号(IN1、IN2)によって、各トランジスタが ON/OFFし、スイッチと同じ働きをする。

入力 出力 モード
IN1 IN2 OUT1 OUT2
L L ストップ
H L H L CW/CCW
L H L H CCW/CW
H H L L ブレーキ

∞はハイインピーダンス

このコントロール信号をPICから供給する。
モータは5つなので、5×2=10本。アタタ!全部つなげると、PICのI/Oが3本しか残らない。

ここは、ちょっと工夫をして、1本を共通にしよう。そうすれば、1+5=6本で済む。次のような動作になる。

MOTOR1を正転させるには MOTOR1を逆転させるには
  IN1 IN2 モード   IN1 IN2 モード
MOTOR1 H L CW   L H CCW
MOTOR2 L ストップ   H ブレーキ
MOTOR3 L ストップ   H ブレーキ
MOTOR4 L ストップ   H ブレーキ
MOTOR5 L ストップ   H ブレーキ

同時に2つ以上のモータを独立して動かすことはできなくなるが、それはよしとしよう。

次にコンピュータとのインターフェースであるが、今回は、パラレルインターフェースを使用する。
前回のシリアルインターフェースでは、一度に1ビットのデータしか送れなかったが、パラレルインターフェースでは、一度に8ビットのデータ転送ができる。
でも8ビットはいらないし、だいいちそんなにつなげられない。

では、コンピュータからの信号は何ビット必要だろうか?
同時に動かせるモータは1つということであれば、動作状態数は、モータの数5×回転方向2+停止状態1=11であり、これだけ区別できればよい。

従って4ビットあればいい。
その他、データを読み取るタイミングを通知するストローブ信号が要る。

これで、I/Oの数はモータ制御の6本とコンピュータ接続の5本で合計11本。
その他に、状態を示すLEDを点灯させる出力1本と、オート動作スタートの入力1本を加えて、合計13本。
PICのI/Oポートは全て埋まった。

で、回路図である。

電源は回路用には9Vからレギュレータで5Vを作り供給する。
モータ駆動用には、3V・・・のはずであったのだが、モータドライバの出力で1V近く落ちてしまうことが 判明した。(って、あとの祭り。)
これではパワー不足なので、やむなく電池1本増やし4.5Vとした。

オリジナルでは、モータの動作と同時に並列接続された豆電球が点灯するようになっているが、豆電球にはかなり電流が流れるため、モータドライバで駆動する にはつらい。よってアームジョーは、豆電球は非点灯とする。
またこの改造によって、コントローラでの操作はできなくなる。

製作

1.基板の製作
ユニバーサ ルP板上に回路図どおり結線する。
組み立て作業やメンテナンスを考えて、P板上にのらない部品との接続は極力コネクタを使用する。

2.本体の改造
2−1.基板をはずし、モータへのリード線をコネクタにつけかえる。



2−2.各関節の豆電球は結線を切る。



2−3.電池の接点金具の結線を変更する。



当初は電池2本で動かす予定だったので、1列使えばよいはずであったが、3本になってしまった。 これがどうもうまく固定できない。
そこで、こんなものを利用して、中で端子をリード線でショートし、

このダミー電池を含めて直列接続し、モータ駆動用電源とした。



2−4.LEDとスイッチを取り付ける。



3. コネクタ
ケーブルはシールドケーブルか多線のものを使い、シールドや余った線はグランドに接続しておく。


完成である。

次回ソフト編へつづく。

ロボットアームのお求めは
ロボットアーム MR-999ロボットアーム MR-999