DXHUBはPCのUSBコネクタにDynamixelシリーズ用のI/F(RS-485・TTL)を増設する製品です。
各I/F用のコネクタに電源を分配する機能も合わせ持ちます。
型式 | 数量 | 備考 |
本体 | 1 | - |
電源コネクタキット | 1 | ハウジング JST VHR-2N[5] x1 コンタクト JST SVH-21T-P1.1[5] x2 |
※microUSBケーブルは付属しません
品番 | BTE068B | |
PCBリビジョン | E075D & E104 | |
動作温度範囲 | 0~60℃ 結露なきこと | |
寸法 | 外形:約51x33mm 取り付け穴:45.1x26.7mm 4-φ2.2 | |
重量 | 15g | |
電源 | 入力電圧:DC4~40V (絶対最大定格電圧:60V) 逆入力保護付 定格電流:23A (最大 100A) | |
コネクタ等 | 電源スイッチ x1(E075D以降) USB microB x1 MOLEX 22-03-5045 x6 MOLEX 22-03-5035 x6 | |
各I/F仕様 | RS-485 | 複信 半二重 最大通信速度 3Mbps 最大ノード数 256台 ESD保護 ±15kV |
TTL | 複信 半二重 最大通信速度 3Mbps ESD保護 ±2kV |
microUSBケーブルは同梱されませんので、市販のUSB[micro-B]<->USB[A]を別途お買い求めの上ご利用下さい。 |
Pats Name | Molex Parts Number |
基板用ヘッダー | molex 22-03-5045[21] |
ハウジング | molex 50-37-5043[22] |
ターミナル | molex 08-70-1040[23] |
端子番号 | 信号名 |
1 | RS-485 D- |
2 | RS-485 D+ |
3 | VDD |
4 | GND |
Pats Name | Molex Parts Number |
基板用ヘッダー | molex 22-03-5035[25] |
ハウジング | molex 50-37-5033[26] |
ターミナル | molex 08-70-1040[23] |
端子番号 | 信号名 |
1 | TTL Signal |
2 | VDD |
3 | GND |
ソフトウェア及びデバイスドライバについては、PCのOSにWindowsがインストールされている場合の説明となります。
FTDI社のUSBシリアル変換ICはチップ内にタイマが内蔵されており、このタイマのタイムアウトにより送受信のイベントが発生します。このタイムアウト時間は提供されるデバイスドライバにて16msに設定されているため、これより短い時間での応答性を得ようとする場合は値を変更しなくてはなりません。
FTDI社のライブラリ等を使用する場合は、専用のAPIで必要に応じて変更する事が可能ですが、WIN32 APIでオープン・クローズ・送受信だけを扱うアプリケーションの場合は、デバイスマネージャの該当COMポートのプロパティから予め任意の値に変更しておく事で対処出来ます。
送信はRS232C・RS-485の両I/Fに対して同時に行われ、選択することはできません。
受信は全I/Fが対象で、内部でOR接続されています。
TTLおよびRS-485は半二重I/Fを介して送受信が排他的に行われます。
無通信状態では常に受信モードとなり、PCから送信がなされると送信モードに切り替わり、送信バッファ内のデータを送信し切ると再度受信モードとなります。
RS-485とTTL I/Fは最大で3M[bps]まで対応します。
なお、FTDI社のUSBシリアル変換ICの仕様として1.5Mbps以下であれば次式により導かれます。なお、1.5Mbpsを超えたボーレートは2Mbps及び3Mbpsのみに対応します。
real baudrate = 3000000 / internal divisor internal divisor = n + 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875 (n = 0..16384)
real baudrate[bps] | internal divisor |
3000000 | 0* |
2000000 | 1* |
1500000 | 2 |
1411765 | 2.125 |
1333333 | 2.25 |
1263158 | 2.375 |
1200000 | 2.5 |
1142857 | 2.625 |
1090909 | 2.75 |
1043478 | 2.875 |
1000000 | 3 |
960000 | 3.125 |
923077 | 3.25 |
888889 | 3.375 |
857143 | 3.5 |
827586 | 3.625 |
800000 | 3.75 |
774194 | 3.875 |
750000 | 4 |
727272 | 4.125 |
705882 | 4.25 |
685714 | 4.375 |
(中略) | (中略) |
183 | 16384.625 |
183 | 16384.75 |
183 | 16384.875 |
183 | 16384 |
*は例外 |
ホストから任意のボーレートを指定するとデバイスドライバは数式上の最も近いボーレートに丸められた値を採用するため、誤差が生じる場合があります。そのため、できるだけこの数式にあてはまるボーレートを採用する事を推奨します。
I/F | Device Name |
TTL | Dynamixel DX・AX・MXシリーズ全般, DXMIO |
RS-485 | Dynamixel DX・RX・EX・MX・XM・XH・PROシリーズ全般, UD3, UD3.5, USS3, DXMIO |
I/Fを問わず同時に使用することが可能ですが、電源は全て共通となります。
RS-485のD+とD-端子間にはソフト的(FTDI社のライブラリを介して)に活性化可能な120Ωの終端抵抗が装備されています。デフォルトでは終端抵抗がONとなっています。
最新のDynamixel Configurator[37]には終端抵抗を任意にON/OFFさせるためのチェックボックスが新設されていますが、自作のプログラムから制御する場合は以下のコードを参考にして下さい(ftdi社のプログラミングガイド[38]参照の事)。
// ターミネータON (CBUS3->HIGH) FT_SetBitMode (ftHandle, 0x88, 0x20);
// ターミネータOFF (CBUS3->LOW) FT_SetBitMode (ftHandle, 0x80, 0x20);
WindowsやLinux上で動作する通信プログラムを作る際は、別途用意したライブラリを用いる事でシリアル通信やプロトコルを意識せずにコーディングができます。
APIに対して対象デバイスのID・番地・値といった引数を与えるだけでコントロールテーブルの読み書きが実現でき、マルチスレッド等で複数のデバイスに対して個別にアクセスする様なアプリケーションも容易に構成できます。
なお、Dynaimxelには2種類のプロトコルが存在し相互非互換であるため、ライブラリは以下の2種類用意しています。
デバイスのコントロールテーブルの状態をモニタしたりパラメータの変更や動作確認を簡便に行うソフトウェアとして、Dynamixel Configurator[37]を提供しています。
公開されているバージョンはWindows版のみとなります。
ROBOTIS社よりRoboPlusというツールが提供されています。サポートする製品により2種類存在し、インターネット回線を使ったツールの更新やDynamixelのファームウェアを更新する機能を持っています。
(This host) = http://www.besttechnology.co.jp