■ホビーロボット部品の製造・販売 
  モータコントローラ、センサ、音声、画像、無線モジュールなど、
■ホビーロボット制作記事のページ (各種マイコン、PCとの接続事例)
■特殊メイク、特殊材料の販売 ※特殊メイクのコーナーはこちらに移りました。
Top(お知らせ) 製品紹介 使い方とサンプルプログラム通信販売 リンク ロボット掲示板 会社案内
 Easy Robotics for all enthusiastic people!!!  ---HOBBY ROBOT PARTS SHOP ASAKUSAGIKEN---   Since 2003...

インタラクティブインターフェイス iIF12 の紹介




<概要>

■USBバスパワーで12個までのサーボと、4つのセンサーを駆動するボード

PCのUSBポートと接続することにより、12個までの専用サーボと4つまでのアナログセンサーを駆動できます。卓上のPCガジェット作成などが簡単に行えます。

■簡単接続と、サンプルプログラム
本体とPCはUSBケーブルで接続するだけ。サーボやセンサー類もケーブルを用意していますので、加工を一切行わないでも「動くなにか」を作ることができます。また、動作は簡単なシリアル通信で命令するだけで、サンプルプログラムも用意していますので、ハードウェアに詳しい方でなくても作ることができます。


■仮想COMポート接続
サーボとセンサーは仮想COMポートで接続しますので、PC側では簡単なシリアル通信プログラムを書くだけで駆動できます。本ページ下の方に、Microsoftの無償開発環境であるVisualC#2008ExpressEditionでのサンプルプログラムも掲載しています。

■最高12bitの高解像度
センサーデータは8ビット又は12ビットの解像度が選択できます。つまり、12ビットの場合はセンサなどの出力を0〜4095段階で測定することができます。(8ビットの場合は0〜255の数値になる)

■115Kbpsの高速通信
通信は一般的な非同期シリアル通信で行います。

■31x32mmの超小型設計!
ロボットなどに基板を搭載する場合はその大きさがネックになりますが、本製品は極力小さい部品で構成されており、実装面積が小さくて済みます。また、基板の4角には取り付け穴があります。(穴径2.2mm、M2ネジ用)



<仕様>

電源電圧
 +5V (*1)
基板消費電流
 40mA (*2)
サーボ駆動数
 最大12個
センサー入力数
 4ポート
センサ分解能
 8bit/12bit *命令により選択
通信設定
 8ビット、ノンパリ、ストップ1ビット フロー制御なし 非同期通信
通信速度
 115200bps(固定)
寸法/重量
 寸法31x32mm 重量:7g
付属品
 なし (*3)
(*1)USBから電源をとります。
(*2)USBからは500mAまでしか電源が取れません。同時に500mA以上の電流が流れないように注意してください。
(*3)別途USBケーブル(A-miniB)が必要です。


<ピン配列>

   


 ※センサーポート、サーボポートともに2mmピッチのピンヘッダとなっております。サーボは専用サーボのみ使用可能です。一般的なRCサーボはコネクタ形状が違いますので接続できません。センサーは、2mmピッチのセンサーケーブルを用意しています(別売)ますので、他社センサーなどをつなげる場合はこのセンサーケーブルを加工してください。



<価格>
iIF12本体
 税込み 5,040円 (本体価格4,800円)


<サーボオプション>
Ru−12
 
 税込み  3,360円 (本体価格3,200円)
 ■トルク:1.3kg-cm ■サーボホーン径11mm ■コネクタ:2mmピッチコネクタ
 ■寸法:22.9x11.6x24.6mm ■重量:9g
 ※iIF-12専用となっていますが、コネクタを変えれば普通のRCサーボとして使うことができます。
 外寸図、及び取り付け方法はこちらから
 
<センサーオプション>
 3軸加速度センサー AS−3ACC 税込み 4,158円
 感圧センサー AS−FORCE 税込み 6,300円
 曲げセンサー AS−BEND 税込み 2,310円
 温度センサー AS−TM 税込み 3,150円
 電流センサー AS−AM 税込み 4,200円
 近接センサー AS−PROX 税込み 3,360円
 ※その他、5V系のアナログセンサーなら他社製でも接続できます。

 センサーケーブル2mmピッチ3P-3P 20cm 315円(本体価格300円)
 センサーケーブル2mmピッチ3P-3P 20cm 10本セット 2,625円(本体価格2,500円)
 *20cm長の3本ツイストケーブル両端に2mmピッチx3ピンのメスコネクタが付いているもので、センサポートに合います。
 *コネクタはヒロセ製A4B-3S-2Cです。
 PSDセンサーケーブル2mmピッチ3P-3P 20cm 315円(本体価格300円)
 *市販のシャープ製PSD距離センサー用のケーブルです。


<接続例>



<サーボの接続>
・サーボは信号線(白)を基板の内側にくるように差し込んでください。サーボを接続する場合は、220uF以上の電解コンデンサを電源ラインに接続して下さい。(下図参照)

 

<シャープの距離センサの接続> 
 ホビーロボットなどでは、よくシャープ製のPSDセンサが使われています。これは5V動作なのでiIF−12に直接接続することができます。ただし、PSDセンサは仕様よりも大きな電流が流れることがあり、USBバスパワーでは1個しか駆動できませんので注意してください。iIF-12に2個以上接続すると、誤動作したり、Windowsから警報が出てシリアルラインが強制的にクローズされたりします。
 
 ※図はセンサーケーブルとの接続例です。



<3軸加速度センサの接続> 

 3軸加速度センサAS−3ACCは、内部3.3Vで動作しています。但し、3.3Vレギュレータを内蔵しているので、5V電源でも駆動できます。この場合は、基板上のVCCに5Vを加えると、内部に3.3Vが供給されるようになります。電圧出力の幅も0〜3.3V付近になりますので、出力値には注意してください。センサーケーブルを使う場合、GNDと電源+は1つのケーブルだけつながっていればOKです。

 
 ※図はセンサーケーブルとの接続例です。



<曲げセンサの接続> 

 曲げセンサは抵抗変化型のセンサです。抵抗をもう一つ使うことにより、電圧出力が可能となります。

 

 ※図はセンサーケーブルとの接続例です。



<温度センサの接続> 

 温度センサAS−TMは5V動作可能ですので、そのまま直結できます。

 
 ※図はセンサーケーブルとの接続例です。



<電流センサの接続> 

 電流センサAS−AMは5V動作可能ですので、そのまま直結できます。


 
 ※図はセンサーケーブルとの接続例です。
 ※iIF-12自体の消費電流を測定するには、iIf-12の基板上のパターンをカットする必要がありますのでお勧めできません。どうしても測定したい場合は、基板上のF1を取り外すと、その両端が電源ラインになります(USBからの電源は、まずF1を通る。方向は基板外側から内側(C3側)に流れます)。F1はフェライトビーズなので、取り外すと動作が不安定になります。



<近接センサの接続> 

 電流センサAS−PROXは5V動作可能ですので、そのまま直結できます。
 センサーケーブルを使う場合はSIGに白、真ん中に赤、GNDに黒を接続してください。



<センサーとの相性> 

 センサーによっては、電圧出力タイプであっても上手く接続できないセンサーも存在します。もし、センサーの出力が安定しないようであれば、センサーの電源+とGND(どの場所でもOK)に220uF以上の電解コンデンサを挿入してください。たとえば、浅草ギ研の音センサーAS−SSを接続する場合は、このコンデンサが必要です。

 





<無線化> 

 iiF-12の”M"と書かれている5穴のスルーホールはメンテナンス用のポートになっていますが、たまたまこの中に通信ラインに接続されているものがあります。これらを使えば、USBを使っての接続ではなく、他の方法、たとえば無線接続なども可能です。下記は浅草ギ研製のBluetooth無線モジュール「BlueMaster」でPCと接続する場合の接続例です。










<動作説明>


<USBケーブルの接続>

 まず、USBケーブルを接続してください。ケーブルは別売です。A-miniBタイプのケーブルを用意します。長さは、卓上で使うことを考えて短めのものを購入した方が良いでしょう。USBケーブルは家電量販店などでも売ってます。


<USBドライバのインストール>

 iIF−12はUSBを使った仮想シリアルポートでPCと通信します。PC側にはドライバソフトが必要です。まず、下記からドライバソフトを取得してください。

 WindowsXP用USBドライバ
 (右クリックで対象を保存)

 ドライバソフトは圧縮されていますので、あらかじめ解凍しておいて下さい。筆者は、解凍にはフリーのツール、+Lhacaを使っています。

 尚、WindowsXP以外のOSを使っている方は、下記よりそれぞれのドライバをダウンロードし、インストールてください。

 その他ドライバのダウンロードページ (FTDIのページ)


 以下、WinXPの場合のインストールの様子を説明します。

 iIF−12とPCをUSBケーブルで接続すると、下記のウィンドウが開きます。
「いいえ、今回は接続しません」を選択して「次へ」を押します。



「一覧または特定の場所からインストールする」を選択して「次へ」を押します。



「次の場所を含める」にチェックをして「参照」ボタンを押します。



先にダウンロードして解凍しておいたフォルダを選択します。一番上位のフォルダの下に同じ名前のフォルダが作られていますので、下のようにフォルダを選択して「OK」を押します。(下の写真を参照)



もとのウィンドウに戻りますので「次へ」を押します。



インストールが始まります。



インストールはすぐに終わり、次の画面が出ますので「完了」を押してウィンドウを閉じます。



これでインストールは終了です。インストール後、下のようにインストールされたことが表示されます。PCのUSBの構成によっては、USBが2段になっていたりするので、その場合にはもう一度「新しいハードウェアが検出されました」という状態になるので、この節と同じ操作をもう一度します。2回要求されたのに2回目をインストールしないと、USBポートの場所によっては認識したりしなかったりする場合がありますので注意してください。よくわからなくなったら、初めのアンインストールして初めから行ってみてください。



<4、COM番号の確認>

実際に仮想COMポートが実装されたか確認してみます。

「スタート」−>「マイコンピュータ」−>「システム情報を表示する」 −>「ハードウェア」タブ−>「デバイスマネージャー」ボタンを選択するとデバイスマネージャーが開きます。
この中に「ポート(COMとLPT)」というのがありますのでクリックすると、現在のCOMポートの構成が確認できます。
下は私のPC(デスクトップタイプ)の例です。これを見るとCOM7というのが新しく作られたのがわかります。この状態でUSBを抜くと、このCOM7が消えますので間違いなく実装されたのがわかります。一度COM7で実装されたら、次回に接続したときもまたCOM7になります。
尚、COMの番号は、それぞれの環境で番号が違うと思いますのでかならず確認してください。




<シリアルデータ通信による操作>

<データ形式>


 PCからiIF-12への指示は、バイトサイズの数値データで送られます。バイトサイズ(8ビット)なので、表される数値は0〜255の256種類になります。

 尚、以下特に記述がない場合は、数値は10進数で表しています。

 −基本形−

 データの基本形は次の通りになります。[ ]内は1バイトを表します。()内は送りえる数値の範囲を表します。

 [シンクロバイト(255)] [ID(3)] [送信バイト長(1-33)] [命令1] [命令2] [命令3] ...
シンクロバイト データの通信開始を知らせるデータで、常に「255」で始まります。
ID 設定された固有のIDで、3で固定です。(*)
送信バイト長 送信される命令の(バイト)数。シンクロバイト、ID、送信バイト数は数えません。
命令 動作させたい命令。以下で詳しく説明します。
(*)DIPスイッチで120-127の8パターンに設定できます。

−命令一覧−
命令値 動作 方向 フォーマット
全サーボ駆動 送信 [255][ID(3)][長(14)][命令(1)][P0][P1]...[P10][P11][Speed]
個別サーボ駆動 送信 [255][ID(3)][長(4)][命令(2)][サーボ番号][サーボ位置][Speed]
全サーボパルス停止 送信 [255][ID(3)][長(1)][命令(3)]
指定サーボパルス停止 送信 [255][ID(3)][長(2)][命令(4)][サーボ番号]
       
10 全センサ読み取り(8bit) 送信 [255][ID(3)][長(1)][命令(10)]
    受信 [255][ID(3)][長(5)][命令(10)][S1][S2][S3][S4]
11 全センサ読み取り(12bit) 送信 [255][ID(3)][長(1)][命令(11)]
    受信 [255][ID(3)][長(9)][命令(21)][S1上位][S1下位][S2上位][S2下位][S3上位][S3下位][S4上位][S4下位]
上以外 無視されます。    

※方向はマスタ側から見たデータの通信方向を表します。「送信」はマスタ−>コントローラへ送る命令、「受信」はコントローラ−>マスタへ返される結果を表します。
※命令2,3のサーボへの信号パルス停止は、サーボが脱力状態になります。

<フォーマットの説明>
P0,P1...P11 各サーボの位置を表します。
サーボ番号 個別のサーボを指定します。0ならP0の位置のサーボ、1ならP1...となります。
サーボ位置 各サーボの位置を表します。
Speed 回転し終えるまでの時間を設定します。値1は15mS(サーボパルス1周期)に相当します。
S1-S4 サーボポートS1〜S4からの読み取り値を表します。



<サンプルプログラム>

 <C#>

 ■開発環境の設定〜センサの値を読み取る

 ■サーボを動かす

 ■サーボの動きを編集するソフトを作ってみる

 ■センサールールを設定し、条件によりサーボを動かす


 <Flash>

 ■Flash(ActionScript3.0)でiIF-12を動かしてみる

 ■Flash(ActionScript3.0)でセンサーを動かしてみる

 ■Flash(ActionScript3.0)でサーボを動かしてみる


<トラブルシューティングQ&A>

Q:PCと通信できない。
A:ケーブルがつながっているか確認してください。(意外に多い)
A:ドライバソフトをインストールしているか確認してください。
A:指定しているCOMポート番号があっているか確認してください。確認手順は上の動作説明の節にあります。
A:通信速度が115200bpsに指定されているか確認してください。

Q:電流が流れすぎると警告が出た。

A:電流を沢山消費するセンサーを付けた場合は、このような警告が出て通信ができなくなります。たとえば、シャープのPSD距離センサーは消費電流が大きいことで有名ですが、iIF−12の場合は1個しか駆動できません。消費電流に注意してください。
A:沢山のサーボを一度に駆動させたり、サーボをロックさせると大きな電流が流れます。OSから警告が出た場合は、COMポートがクローズされ、通信ができなくなりますので注意してください。
どうしても、沢山の電流を消費するアプリケーションを組みたい場合は、サーボポート又はセンサーポートの、電源+とGNDに、安定した5V電源をつないでください。

Q:専用サーボを使っているが、急に動かすとサーボが振り切れてしまう。
A:専用サーボでも、サーボを急に動かすと突入電流により誤動作します。サーボを動かす場合はスピードを遅めにして下さい。
A:PCによっては、専用サーボを1つだけつないだ場合に、電流が流れすぎてサーボが暴走してしまうことがあります。この場合は、専用サーボを2つ以上接続すると暴走しなくなります。尚、サーボが暴走した場合はサーボのコネクタを抜き差しで元にもどることがあります。

Q:PSD距離センサーを2個以上つなぐと動かなくなる。
A:PSD距離センサーは電流消費が大きいので、1つのiIF12に1つしか接続できません。

Q:センサーの出力が安定しない。センサーの出力が最大値近辺になってしまう。
A:センサーとの相性の問題です。iIF−12の電源ラインに220uF以上のコンデンサを挿入してください。詳しくは上記<接続>のところで説明しています。



<使用上の注意>


・このボードは電子機器です。取扱い、輸送時には静電気対策を行ってください。ICの足や、各ピンを直接手で触ったりすると静電破壊される場合があります。

・バッテリ使用時には電源ラインをショートさせると、バッテリが破裂・発火する可能性があります。作業中にはショートさせないよう十分注意して下さい。また、取り付け後も、あいている電源ラインに導電物質が触らないように注意して下さい。




(C)Copylight 2003. 有限会社浅草ギ研 | 通信販売の法規(訪問販売法第8条)に基づく通信販売業者の表示