USB2DXIF dongleは小形・アイソレーション・シンプルを主眼に置いたPCのUSBコネクタにDynamixel Xシリーズ向けのI/Fを増設する製品です。
USBとRS-485及びTTL I/F間は電気的に絶縁がなされていますので、Dynamixel側で発生したサージ電流の影響がUSB側に波及しにくく、また小形なためRaspberry Pi等の小形なコンピュータにRS-485ないしTTL I/Fを増設する際の省スペース化に寄与します。他に汎用のRS-485ないしTTL I/Fや同種のI/Fで通信できるDynamixel以外のアクチュエータにも適用できます。
商品番号 | BTE096 | |
PCBリビジョン | E160B | |
動作温度範囲 | -40~85℃ 結露なきこと | |
寸法 | 約43.0x13.0x9.5mm | |
重量 | ||
電源 | USBバスパワー | |
コネクタ等 | USB-A x1 JST B4B-EH x1 JST B3B-EH x1 | |
各I/F仕様 | USB | USB 2.0 FS ESD保護 MM=±400V, HBM=±8kV |
RS-485 | 複信 半二重 最大通信速度 3Mbps 最大ノード数 224台 絶対最大定格 -60~60V ESD保護 MM=±8kV, HBM=±40kV | |
TTL | 複信 半二重 最大通信速度 3Mbps 絶対最大定格 -0.5~6.5V ESD保護 ±12k | |
絶縁耐圧 | 5kV rms 1min | |
絶縁型電源容量 | 650mW | |
環境配慮 | RoHS準拠, 鉛フリー半田 |
ここではソフトウェア及びデバイスドライバについては、Windowsを前提とします。
PCのUSBポートに本製品を装着し、CN2にRS-485 I/F、CN3にTTL I/Fを持った機器を接続します。
そもそもCN2とCN3のGND信号は各I/Fの基準電位という位置付けであり、CN2とCN3を仲介して大きな電流を中継する事は想定されていません。実際にはこの図のような各I/Fに個別の電源を装備した環境で常用する事は避けて下さい。
また両電源のGNDが同電位であっても、配線を介して大きなGNDループが構成されてしまう場合がある事を想定しなくてはなりません。
FTDI社のUSBシリアル変換ICはチップ内にタイマが内蔵されており、このタイマのタイムアウトにより送受信のイベントが発生します。このタイムアウト時間は提供されるデバイスドライバにて16msに設定されているため、これより短い時間での応答性を得ようとする場合は値を変更しなくてはなりません。
FTDI社のライブラリ等を使用する場合は、専用のAPIで必要に応じて変更する事が可能ですが、WIN32 APIでオープン・クローズ・送受信だけを扱うアプリケーションの場合は、デバイスマネージャの該当COMポートのプロパティから予め任意の値に変更しておく事で対処出来ます。
TTL及びRS-485 I/Fは最大で3Mpbsまで対応します。
なお、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 = 2..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 |
*は例外 |
ホストから任意のボーレートを指定するとデバイスドライバは数式上の最も近いボーレートに丸められた値を採用するため、誤差が生じる場合があります。そのため、できるだけこの数式にあてはまるボーレートを採用する事を推奨します。
WindowsやLinux上で動作する通信プログラムを作る際は、別途用意したライブラリを用いる事でシリアル通信やプロトコルを意識せずにコーディングができます。
APIに対して対象デバイスのID・番地・値といった引数を与えるだけでコントロールテーブルの読み書きが実現でき、マルチスレッド等で複数のデバイスに対して個別にアクセスする様なアプリケーションも容易に構成できます。
なお、Dynaimxelには2種類のプロトコルが存在し相互非互換であるため、ライブラリは以下の2種類用意しています。
デバイスのコントロールテーブルの状態をモニタしたりパラメータの変更や動作確認を簡便に行うソフトウェアとして、DYNAMIXEL Wizardを提供しています。
モデルやプロトコルにかかわらず全Dynamixelを一様に扱うことができ、ファームウェアの更新も行えます。
Dynamixelの設定や動作確認を行うツールは、今後RoboPlusからDYNAMIXEL Wizardへ移管していくものと思われます。