本製品はSAM7S I/Oボードの後継としてデザインされ、従来オプションとなっていた無線やマンマシンI/FさらにmicroSDカードスロット、RS485とTTL I/Fによるラインナップの分離といった煩わしさを解消し、更に加速度センサを装備する事で移動検出といったアプリケーションに適用しやすくしたハイパフォーマンスコントローラです。
FREEDOMシリーズにも使用されるDynamixel AX-12+やRX-28を制御するためのAPIが提供され、複雑な多軸ロボットを構成する事が簡便に行う事ができます。
また、単体でDynamixelシリーズとPC間のI/F変換としても機能しますので、PCからUSBないしBluetooth経由でIDの変更やその他パラメータの調整等にも使用できます。
商品番号 | BTE083 |
リビジョン | E092 E092B E092C (現行) E092D |
動作温度 | 0~+50℃ |
外部電源 | 電源電圧範囲:DC7.2V~DC26V 絶対最大定格電圧:DC30V 最大スイッチング電流:60A(E092D), 50A(E092C), 30A(E092, E092B) |
搭載主要機能 | E092,E092B:AT91SAM7S512(48MHz) E092C:AT91SAM7S256C(48MHz) E092D:AT91SAM7S256D(48MHz) 3軸加速度センサ, Bluetooth(ZEAL-C01), ブザー, プッシュスイッチ, DIPスイッチ, microSDスロット, Dynamixel RS485 I/F x4, Dynamixel TTL I/F x5, モニタLED x3, JTAGコネクタ, 電源スイッチ, 電源コネクタ, USB miniBコネクタ |
寸法 | W74×D40×H14mm (±0.5mm) |
環境配慮 | RoHS準拠, 鉛フリー半田 |
付属品 | USBケーブル 電源コネクタセット ・ハウジング JST VHR-2N x1 ・コンタクト JST SVH-21T-P1.1 x2 |
電源供給用コネクタで、電源スイッチ回路を介してCN4~CN12と5V DCDCコンバータに供給されます。SW1にてそれらデバイスへの電源供給をON/OFFできます。
なお、CN1に何も接続せずUSBコネクタにPCを接続した場合、CN4~CN12へは電源が供給されず、搭載されたマイコンとその周辺回路のみが動作します。
E092,E092Bに限りBTE067B TINY JTAG-ICE2をBTE066 JTAG ICE変換ケーブルを介して接続します。E092C以降からは装備されません。
マイコンに予め搭載されたブートローダを使用せず、ユーザ自身により全ての制御プログラムを作成したり、ICE等によりデバッグを行う場合に使用します。
CN1からの電源供給をON/OFFします。
なお、CN13(USBコネクタ)とPCをUSBケーブルで接続した場合は、CN4~CN12への電源供給以外はSW1と連動せず、搭載されたマイコンは動作し続けます。
E092,E092Bは4ビットの鍵盤型DIPスイッチ、E092C以降はロータリーDIPスイッチが装備されます。
ブートローダでは使用されず、アプリケーションプログラムにて入力状態を取得できます。
E092,E092Bの一部に装着されます。E092C以降からは装備されません。2ビットのDIPスイッチで、ZEAL-C01のモードを設定します。なお、本製品においてはZEAL-C01のモードをマイコンから直接制御するため、本ディップスイッチは両ビット共にOFFにしておく必要があります。
電源の入力方法は3つあり、各々目的が異なります。
PCのUSBバスパワーでボード内の電源供給を行う他に、PCとマイコンとの有線による唯一の通信手段を提供します。
PCとUSBケーブルで接続し、予め書き込まれたブートローダのコマンドモードが起動すると、PCからは増設シリアルポートとして見えます。
ブートローダのコマンドモードに確実に遷移させるには、USBケーブルが抜かれた状態かつ電源がOFFの状態で、PB1を押しながらUSBケーブルを接続ないし電源をONします。ブートローダがコマンドモードに入ると、ピロッ♪とブザーが短く鳴りLED2が一瞬点灯しますので、この時点でPB1を放します。
また、ユーザプログラムが実行されている間は、APIにてPB1の状態を取得する事ができるだけで、ブートローダのコマンドモードとの相関はありません。
本ドキュメントではブートローダのバージョンが2.3であることを前提に記述しています。異なるバージョンが適用されている場合は、次の手順に従ってブートローダを最新のバージョンに更新してください。
--< FDIII Ver.2.1 by BestTechnology >-- >w START UPLOAD... ARE YOU SURE? (Y/N) y
<SUCCESS> >
Push space key to update FDIII-HC bootloader v2.3
Push space key to update FDIII-HC bootloader v2.3 Start to burn ....success Verifying ...........................................succcess Please unplug USB cable ...
--< FDIII Ver.2.3 by BestTechnology >-- >
更新内容:
V2.3 (2011/07/14)
V2.2 (2011/04/13 未リリース)
V2.1 (2011/3/23)
V2.0 (2010/12/13)
USBないしBluetooth経由で本装置を操作するための専用プログラムが予め搭載されており、ユーザプログラムの転送やDynamixel用ハブ、Bluetoothの設定等をシリアルターミナル経由で行う事が出来ます。
ユーザプログラムが書き込まれていないFDIII-HCであれば、SIMPLE TERMで該当のポートを開き、ブートローダのコマンドモードに入ると以下のメッセージ及びプロンプトが表示されます。
--< FDIII Ver.2.3 by BestTechnology >-- >
もしこのメッセージが表示されない場合は、コマンドモードではなくユーザプログラムに実行が遷移していると思われますので、こちらのPB1を押しながらという手順でコマンドモードに入ります。
コマンドモードで使用できるコマンドは'?'を入力すると表示されます。
>? --< FDIII Ver.2.3 by BestTechnology >-- [w]:HOST FILE UPLOAD [g]:BOOT [i]:FLASH INFO [e]:ERASE [b]:BLUETOOTH [p]:SD FILE LIST [m]:SD FILE UPLOAD [d]:BT TO DX BAUD >
その他にDynamixelコンフィギュレータとして動作するパケットスルーモードを持っています。SIMPLE TERMではなくDynamixel ConfiguratorやUSS3 Configurator、自作のPC上のアプリケーションでポートを開きパケット通信を開始すると自動的にパケットスルーモードへ遷移します。詳細はこちら。
Bluetoothによるコンソールや無線コントローラに対応しています。出荷時の設定は以下の通りです。
このうち、ユーザ自ら変更できるのは接続モード・PINコード・認証の有無・検出の可否で、ブートローダから選択及び変更ができます。ブートローダからBluetoothの設定を行う場合は、コマンドモードのプロンプトが'>'の状態で'b'を入力します。Bluetoothの設定モードに入ると、プロンプトは'BT'に変わります。この状態で使用できるコマンドは'?'を入力すると表示されます。
--< FDIII Ver2.3 by BestTechnology >-- >b CONNECTING TO BLUETOOTH MODULE ....... BT>? -- BLUETOOTH CONFIGURATION -- [o]:SLEEP [w]:MASTER [c]:SLAVE [s]:SIXAXIS [a]:AUTHENTICATION [p]:PIN CODE [h]:INQUIRY [i]:info [ESC]:exit BT>
BT>c SEARCHING... 0: INPUT MAC 1: 001122334455 (RC100B) 2: 5566778899AA (HOGEHOGE) 3: BBCCDDEEFF00 () OTHER: exit NO =
GCC Developer Liteの詳細についてはこちら。
フルインストールないしFreedom IIIで使用を選択する事で必要なコンポーネントが自動的にインストールされます。
主要なコンポーネントを簡単に紹介します。
ソースプログラムを編集するためのテキストエディタとその他のツールを起動するためのランチャ機能を有する。
ターゲットのフラッシュROM等へコンパイルされたプログラムをSAM-BAないしCOMポート経由で書き込む。
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
汎用シリアルターミナル。簡易的なTELNETクライアントとしても機能する。
USB等で提供されるCOMポートの動的な検出と、COMポートを使用する弊社ツールとの排他制御機能を持つ。
ARMコア向けC/C++言語向けのコンパイラ。出来る限り最新のパッチを適用しているため、時に互換性を失う。
Atmel社提供のSAM-BA用USBドライバと、弊社提供のUSB CDCエミュレーションドライバ。
TINY JTAG-ICE2の制御を行うデーモン。JTAGを使用する場合は全て本デーモンを仲介する。
マイコンの内蔵ペリフェラルを定義したヘッダファイルやUARTを簡便に使うためのAPI、USBをシリアルポートとして使用するためのAPI、GDBにてデバッグする際に使用する初期化ファイル、シリーズ毎に異なるメモリマップを定義したリンカスクリプトファイル、スタートアップルーチンを含む。基本的にコンパイル済みライブラリとしてソースとリンクして使用する。
GCC Developer LiteではFDIII-HC用の設定を備えています。
以下にFDIII-HCに対応した設定リストの一覧とその設定における機能を紹介します。
FREEDOMとして複数のアクチュエータを取りまとめるモーションAPI・非同期にDynamixelとの通信を行うインストラクションAPI・簡易タスク管理API・モーションデータ管理API等がライブラリとして提供される。
ビルドするとブートローダにてマイコンのフラッシュROMへ転送するための.bin(バイナリ)ファイルが作られる。
ビルドが成功すると、STERM.exe(SIMPLE TERM)の起動を促される。
ブートローダはJTAGやその他の特殊なI/Fを使用せずとも、USBないしBluetoothを使用してマイコンのプログラム書き換えや操作を行う事が出来ます。
ブートローダを使用して動作するプログラムが構成できる設定リストは以下の通りで、これ以外の設定リストで構成されたプログラムをブートローダで転送しても動作しません。
マイコンボードは出荷時にUSBをコンソールとして構成されたブートローダが書き込まれており、PCとマイコンボードをUSBケーブルで接続する事で使用可能となります。
USBを仮想シリアルポートとして認識させるためのPC用デバイスドライバは、GCC Developer Liteをインストールした際にWindowsのシステムフォルダにコピーされます。USBケーブルでFDIII-HCとPCを接続するとデバイスドライバを要求されますが、自動検索させる事で自動的にインストールが行われます。
インストール後、新しいCOMポートがWindowsのデバイスとして追加され、SIMPLE TERMから該当するCOMポートを選択(COMポート番号はPCの環境によって変わるが、デバイス名に「AT91 USB to Serial Converter」が表示されたポートを選択)しオープンするとブートローダの各種コマンドが使用可能となります。その他の設定は以下の通りです。
Baudrate:ここでは意味を持たないので何でも構わない Databits:8 Stopbits:1 Parity:Non Flow Control:Non Protocol:Xmodem
Bluetoothで接続する場合は、予めPCとFDIII-HCをペアリングしておく必要があります。PCのBluetoothに関してはWindowsのバージョンやアプリケーションに大きく依存する部分がありますので詳細は割愛しますが、PCとFDIII-HCをペアリングする事でPC上に仮想COMポートが増設されますので、そのポートをSIMPLE TERMで開く事でブートローダのコンソールへ同様にアクセスする事が可能です。
先の設定リストでソースプログラムをコンパイルし成功するとSTERM.exe(SIMPLE TERM)の起動を促されます。「OK」を押してSIMPLE TERMを起動すると、特殊な設定が追加されてSIMPLE TERMが起動します。
FDIII-HCがブートローダのコマンドモードであれば、「スクリプト実行[STERM FDIII]」をクリックするだけで転送するファイルを手動で選択する事無く転送にかかる処理が全て自動的に行われます。
本機能により、手動で間違ったファイルを選択して転送してしまったり、転送不可能な状態で転送をしてしまうといったミスを軽減する事ができます。
既にユーザープログラムが書き込まれているFDIII-HCを、デバイスドライバがインストールされていないPCのUSBポートに接続してもCOMポートが活性化しない事があります。 ブートローダを確実にコマンドモードにさせCOMポートとして認識させるには、SW1をOFFにした状態でPB1を押しながらUSBケーブルを接続します。 |
GCC Developer Liteでは1つのソースプログラムのみを対象とするため、機能別にソースを分割して編集やコンパイルするといった使い方は出来ません(完全にできないという訳でもありません)。だからと言って全ての機能を一つのソースに記述する事は、プログラムの見通しが悪くなりバグの温床になりかねません。
そこで、複数のソースに分割する事無くある程度のソースプログラムサイズでコーディングするために、頻繁に使用されるであろう一部の機能が専用のライブラリとして提供されます。
GCC Developer Liteを標準的な環境のPCへインストールすると、「C:\Program Files\BestTech\GCC Developer Lite\TARGET」フォルダに必要なファイルがコピーされます。必要に応じて本フォルダを参照できますし、ユーザがソースを修正しライブラリを再構築する事も可能です。
FDIII-HCは複数のライブラリを組み合わせて使用するため、実体はかなり複雑になっています。
GCC Developer Lite Ver.2.4.0.13以降からライブラリの構成が大幅に見直されました。それに伴い旧来DXLIBと称していたライブラリは廃止されましたので、今後それらに依存したサンプルプログラムはFREEDOM III Libraryを使用したものに変更されます。
なお、実行するにあたり必要な情報はソース中のコメントを参照してください。
FDIII-HCを使用したアセンブリ製品用のサンプルプログラムは各製品のページにて公開しています。
PCから直接DynamixelやUSS3へインストラクションパケットを送信して制御する場合は、DynamixelコンフィギュレータないしUSS3コンフィギュレータを使用する事を推奨しています。これらのコンフィギュレータはPCのUSBポートを介してRS485ないしTTLのDynamixel用のシリアルI/Fへ変換する製品ですが、FDIII-HCも同様の目的で使用する事が可能です。
本モードは、ブートローダがコマンドモードで起動している際にPCからインストラクションパケットを受信すると自動的に遷移するものです。本モードに遷移した後にブートローダのコマンドモードに戻るには、FDIII-HCを電源リセットするか、USB接続している場合はポートを閉じるか、PB1を押す必要があります。
PCとの接続形態はFDIII-HCのUSBないしBluetoothいずれかを選択できますが、接続形態によって使用できる機能に制限があります。