USBISO-2WAYはPCのUSBコネクタにDynamixelシリーズ用のTTL I/FとRS-485 I/Fを増設する製品です。
USBとTTL及びRS-485 I/F間は絶縁されており、Dynamixel等の負荷変動による影響がUSB側に及びにくくなっています。また、USB2.0 HSに対応した事により、高いボーレートに設定したDynamixelシリーズとの通信が可能です。
品番 | BTE0xx | |
PCBリビジョン | E159 | |
動作温度範囲 | -40~85℃ 結露なきこと | |
電源 | USBバスパワー | |
コネクタ等 | USB microB x1 JST B3B-EH x1 JST B4B-EH x1 | |
各I/F仕様 | USB | USB 2.0 HS ESD保護 CDM=±1500V, HBM=±2500V |
RS-485 | 複信 半二重 最大通信速度 12Mbps 最大端末数 32台 ESD保護 MM=±15kV, HBM=±15kV 絶対最大定格 -9~14V | |
TTL | 複信 半二重 最大通信速度 12Mbps 最大端末数 32台 ESD保護 ±2kV 絶対最大定格 -0.5~6V | |
絶縁電圧 | 5kV rms 1min | |
寸法 | 外形:約42x13x8mm | |
重量 | ||
環境配慮 | RoHS準拠, 鉛フリー半田 |
端子番号 | 信号名 |
1 | GND |
2 | (未接続) |
3 | RS-485 D+ |
4 | RS-485 D- |
端子番号 | 信号名 |
1 | GND |
2 | (未接続) |
3 | TTL Signal |
FTDI社のUSBシリアル変換ICはチップ内にタイマが内蔵されており、このタイマのタイムアウトにより送受信のイベントが発生します。このタイムアウト時間は提供されるデバイスドライバにて16msに設定されているため、これより短い時間での応答性を得ようとする場合は値を変更しなくてはなりません。
FTDI社のライブラリ等を使用する場合は、専用のAPIで必要に応じて変更する事が可能ですが、WIN32 APIでオープン・クローズ・送受信だけを扱うアプリケーションの場合は、デバイスマネージャの該当COMポートのプロパティから予め任意の値に変更しておく事で対処出来ます。
送信はTTL及びRS-485の両I/Fに対して同時に行われ、選択することはできません。
受信は全I/Fが対象で、内部でOR接続されています。
TTLおよびRS-485は半二重I/Fを介して送受信が排他的に行われます。
無通信状態では常に受信モードとなり、PCから送信がなされると送信モードに切り替わり、送信バッファ内のデータを送信し切ると再度受信モードとなります。
RS-485とTTL I/Fは最大で12M[bps]まで対応します。
なお、FTDIのUSBシリアル変換ICの仕様として、設定可能なボーレートは次式により導かれます。なお、internal divisiorが0の時は12M[bps]、1の時は8M[bps]固定となります。
actual baudrate = 12000000 / internal divisor internal divisor = n + 0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875 (n = 2..16384)
actual baudrate[bps] | internal divisor |
12000000 | 0* |
8000000 | 1* |
6000000 | 2 |
5647059 | 2.125 |
5333333 | 2.250 |
5052632 | 2.375 |
4800000 | 2.500 |
4571429 | 2.625 |
4363636 | 2.750 |
4171913 | 2.875 |
4000000 | 3 |
3840000 | 3.125 |
3692308 | 3.250 |
3555556 | 3.375 |
3428571 | 3.500 |
3310345 | 3.625 |
3200000 | 3.750 |
3096774 | 3.875 |
(中略) | (中略) |
500000 | 24 |
497409 | 24.125 |
494845 | 24.25 |
494308 | 24.375 |
489796 | 24.5 |
487310 | 24.625 |
484848 | 24.75 |
482412 | 24.875 |
480000 | 25 |
477612 | 25.125 |
475248 | 25.25 |
472906 | 25.375 |
470588 | 25.5 |
468293 | 25.625 |
466019 | 25.75 |
463768 | 25.875 |
461538 | 26 |
459330 | 26.125 |
457143 | 26.25 |
454976 | 26.375 |
(中略) | (中略) |
115385 | 25 |
115246 | 25.125 |
115108 | 25.25 |
114970 | 25.375 |
114833 | 25.5 |
114695 | 25.625 |
114558 | 25.75 |
114422 | 25.875 |
(略) | (略) |
*は例外 |
ホストから任意のボーレートを指定すると、デバイスドライバは計算上最も近いボーレートに丸めた値を採用します。
RS-485 I/FのD+とD-端子間にはソフト的(FTDI社のライブラリを介して)に挿抜可能な120Ωのターミネータが装備されています。デフォルトではターミネータがONとなっています。
自作のプログラムから制御する場合は以下のコードを参考にして下さい。
// ターミネータON (ACBUS6->HIGH) FT_SetBitMode (ftHandle, 0x22, 0x20);
// ターミネータOFF (ACBUS6->LOW) FT_SetBitMode (ftHandle, 0x20, 0x20);
WindowsやLinux上で動作する通信プログラムを作る際は、Dynamixel Libraryを併用するとシリアル通信やプロトコルを意識せずにコーディングができます。
APIに対して対象デバイスのID・番地・値といった引数を与えるだけでコントロールテーブルの読み書きが実現でき、マルチスレッド等で複数のデバイスに対して個別にアクセスする様なアプリケーションも容易に構成できます。
デバイスのコントロールテーブルの状態をモニタしたりパラメータの変更や動作確認を簡便に行うソフトウェアとして、Dynamixel Configuratorを提供しています。
公開されているバージョンはWindows版のみとなります。