mbed NXP LPC1768 と Wii 応用第二弾!!
本業がかなりヤバクなってきましたが、スキルは維持向上しておかなければなりません。と言う事で、今日のお題は冒頭にありますようにmbedの第二弾です。
1990年代後半に潟Cーケイジャパン社が発売していた「ROBOT ARM:MR-999」と言うものを
超格安で入手できたのですが、なかなか触る機会が無く、仕事が暇なこの機にWiiのリモコンで操作できる物を作ろうと思い立ちました。
ROBOT ARMを入手した時にはすでに組立済みで、なぜか組立マニュアルが添付されていました。ところがそれとは別に、ロボットアームを
パソコンで制御するキットが一緒に添付されていました。「MOVIT-LAB ムービット・ラボ IF-99」と言うのがそれで、
CD-ROMと制御基板、マニュアルが一緒にありました。超ラッキーでした!!
MR-999の詳しい情報は、http://www.elekit.co.jp/product/4d522d393939 で見ることが出来ます。
↑ PC制御キット IF-99 ↑ ロボットアーム MR-999
上の左の写真にもあります様に、MR-999には専用のリモコンが別売であります。またこのロボットアームは
シリーズ化されていて、現在は制御機器もいくつか用意され小型なものになって販売されています。価格がリーズナブルなので、ちょっとしたゲームなどに使うのも良いかもしれません。
さて、このMR-999は基本的には乾電池で動作します。電池は単一型の大きなタイプで、2本×2本で
合計4本必要になります。ロボットの底の部分に収納するようになっています。今回、Wiiリモコンで動かすためにはちょっとしたインターフェースが必要になります。
従って取扱説明書や現物を眺め内部の構造を調べましたところ、簡単に言うと、電池2個を1組とし、+3Vと
−3Vのグル-プを作ります。二つのグループは片方をつなぎ合わせ、コモンとします。モータの方端はコモンに接続されていて、
もう片方のモータ端子に+3Vを与えるか、−3Vを与えるかにより、モータの回転方向を切り替えている事が分かりました。
本体の底の部分の背面側に、IF-99と接続するための8Pinのコネクタが付いていました。組立マニュアルにはこのコネクタの絵はありますが
ピンアサインが載っていませんので、自分で調べました所、5個のモータの片方の端子と+3Vと−3Vの電源がありました。
コモンについては4Pin目がそうでしたが、内部の基板内でジャンパーパターンを半田しないと接続されないみたいだったので、半田処理してコモン端子を割りつけました。それ以外は何もしておりません。
さて、インターフェースですが、単純に言うとモータに+3Vか−3Vかを与えるだけなので、
半導体スイッチを検討ましたが、極性が気になります。色々思いつきましたが、結局FETを使う事にしました。Nch-MOSと
Pch-MOSの二つを使い、それぞれ正転/逆転をさせる事にしました。FETのゲートには逆バイアスをかけるため、
5V→±5VのDC-DCコンバータを使い、フォトカプラでON/OFFを行いました。後はロジックレベルだけなので
フォトカプララを駆動してやれば、mbedでの制御が可能になると言う構成です。そうして出来たのが下記の物です。
← 左側 mbed、右に行くにつれて、トランジスタアレイ、フォトカプラ、FET
と言った配置です。基板の大きさは95×72mmを使っています。mbedの真下にあるものはBluetoothのドングル
です。長くはみ出ていますが、当初の物(短いもの)と変えています。左の赤黒線は外部電源+5Vの直流です。右の黄色い8本の線は、MR-999に接続するケーブルです。
ハードウェアはこれだけですので、その気になれば1日〜2日で組立が出来ます。FETはNch-MOSとPch-MOSが
1パッケージに入った物を使いました。秋月電子さんでは、VISHAY社のSi6544DQなどが使えますがDIP変換基板が必要になります。
5個のモータなので、正転と逆転で10本の信号が必要になりますが、8回路のトランジスタアレイでは2個足らないので、別に2個、抵抗入りトランジスタを使いました。
ソフトウェアについて
今回大変参考にさせて頂きましたのは、「じぇーけーそふとこーなー:うおーるぼっと
」のサイトで載っていた情報です。改めてお礼を申し上げます。ありがとうございました。
結構おもしろいことが色々出来そうで、アイデアがいっぱい出てきそうです。さてソフトウェアですが、基本は「BlueUSB」のライブラリィです。この中にある「
TestShell.ccp」ファイルの中の一部に、自分のアプリケーションプログラムを組み込みます。そのやり方は「うおーるぼっと
」のサイトにあるBluetoorh関連の情報のところに載っていますので、詳細はそちらに譲ります。なお回路図とソフトウェアはご要望があれば掲載致します。
実際に動作させた動画をアップしておきます。人形を持ち上げ、位置を変えるだけの動作をしたかったのですが、操作に不慣れな事もあって、ボタンを間違える事がしばし・・・お許しを!!・・・・使っているボタンはジョグ4方向ボタンの他に、
裏にある「Bボタン」と「マイナスボタン」、「プラスボタン」です。マイナスとプラスはロボットアームの先端にあるフィンガー開閉に使います。4方向ジョグボタンはそのまま押すと動作する機能と、Bボタンを押しながらジョグボタンを押す機能の二つを持たせています。
動画ではそのあたりが見にくいですが、動きを見て下さい。