ページへ戻る

− Links

 印刷 

BTE068C DXHUB のソース :: Besttechnology

knowledge:BTE068C DXHUBのソース

  
TITLE:DXHUBマニュアル
#norelated
#contents
[[ショップページへ>https://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=255]]
**概要 [#i9b1c92f]
DXHUBはPCのUSBポートを介してDynamixelシリーズ向けのRS-485とTTL I/Fを増設し、複数備えたDynamixel用のコネクタに電源を分配する機能を持つ製品です。~
また、USBポートとTTL及びRS-485 I/F間は電気的に絶縁されているため、Dynamixel側で発生したサージ電流がUSBポート側に影響するのを軽減できます。

他に汎用のRS-485 I/FやDXHUBに装備されたI/Fで通信できるDynamixel以外のアクチュエータにも適用できます。

なお、[[BTE068B]]の後継機となりますが、USBコネクタ形状・取り付け寸法・Dynamixel用のコネクタ形状に互換性がありません。

**仕様 [#w1fc9eab]
***同梱内容 [#t8074694]
| 型式 | 数量 | 備考 |h
|本体 | 1|- |
|コネクタキット | 1式|ハウジング [[JST VHR-2N>https://www.jst-mfg.com/product/pdf/jpn/VH.pdf]] x1&br;コンタクト [[JST SVH-21T-P1.1>https://www.jst-mfg.com/product/pdf/jpn/VH.pdf]] x2|

***基本仕様 [#k2975a33]
|BGCOLOR(#d0d8e0):CENTER:|LEFT:|LEFT:|c
|商品番号 |BTE068C |<|
|PCBリビジョン |E148 |<|
|動作温度範囲 |-40~70℃ 結露なきこと|<|
|寸法 |52x33x15mm&br;取り付け穴:47x28mm 4-φ2.2 |<|
|重量 |15g |<|
|電源 |RS-485及びTTL I/F:USBバスパワー (5V 最大130mA)&br;Dynamixel:外部電源 (6~24V 最大70A) |<|
|コネクタ等 |USB-C x1 &br;JST B2P-VH x1&br;JST S4B-EH x6 &br;JST S3B-EH x6 |<|
|各I/F仕様 |USB |USB 2.0 HS&br;ESD保護 CDM=±1500V, HBM=±2500V |
|~|RS-485|複信 半二重&br;最大通信速度 12Mbps&br;最大端末数 32台&br;ESD保護 MM=±15kV, HBM=±15kV&br;絶対最大定格 -9~14V |
|~|TTL|複信 半二重&br;最大通信速度 12Mbps&br;最大端末数 32台&br;ESD保護 ±2kV&br;絶対最大定格 -0.5~6V |
|絶縁電圧 |5kV rms 1min |<|
|絶縁型電源容量 |650mW|<|
|環境配慮 |RoHS準拠, 鉛フリー半田 |<|

***外観・レイアウト [#x91f711e]
| top | bottom |h
| 3D |<|h
| #ref(E148_top.png,20%) | #ref(E148_btm.png,20%) |
| [[3D pdf>https://www.besttechnology.co.jp/download/3D/E148_3D.pdf]]&br;※ダウンロードした上でAcrobat Readerで閲覧の事 |<|

#ref(E148_Layout.pdf)

***回路図 [#w04e9c0f]
#ref(E148_SCH.pdf)

***各機能詳細 [#r071b4b9]

****CN1 [#s26ba183]
|CENTER:BGCOLOR(red): :idea:|USBケーブルは同梱されません。|
#ref(E148_CN1.png,88%)
-USB Type-Cコネクタ
-DXHUBに搭載された[[FTDI FT232H>https://www.ftdichip.com/Products/ICs/FT232H.htm]]に接続
-USB 2.0 High Speed対応
-USBのバスパワーはモータの駆動電力として供給されない
-USBのバスパワーは絶縁された後にTTL及びRS-485のトランシーバ用の電源として供給

****CN2 [#gae261cb]
#ref(E168_CN2,png,88%)
-
| Pats Name | JST Parts Number |h
|ベース付ポスト |[[B2P-VH>https://www.jst-mfg.com/product/detail.php?series=262]] |
|ハウジング |[[VHR-2N>https://www.jst-mfg.com/product/detail.php?series=262]] |
|コンタクト |[[SVH-41T-P1.1>https://www.jst-mfg.com/product/detail.php?series=262]] |

-整流回路を介してCN3~14のVDD/GND端子へ接続
#ref(PWR_connector.png)
-[[SW1>#q0c1bd5d]]にてCN3~14へのVDD供給をON/OFF可

****SW1 [#q0c1bd5d]
#ref(E168_SW1,png)
-スライドスイッチ
-OFF側に切り替えると、[[CN2>#gae261cb]]より供給される電源をCN3~14から切断
-ON側に切り替えると、[[CN2>#gae261cb]]より供給される電源をCN3~14へ供給

****LED1 [#wcfac33e]
#ref(E148_LED1-3,png,60%)
-LED (緑色)
-割り当てられたCOMポートへ受信がなされると点灯
-内部バッファがフルになると点灯せず

****LED2 [#b4ff5d88]
-LED (緑色)
-割り当てられたCOMポートへPCから送信がなされると点灯

****LED3 [#t62f2f77]
-LED (青色)
-[[CN2>#gae261cb]]に電源が供給され[[SW1>#q0c1bd5d]]をONにすると点灯

****CN3~8 [#hf182032]
#ref(E168_CN3-8,png,63%)
-RS-485 I/F
#ref(DXLSHARE/RS485_IF.png)
-[[CN1>#s26ba183]]より供給されるUSBのバスパワーは絶縁された後にトランシーバ用の電源として供給
-D+端子とD-端子間にはソフト的に挿抜可能な120Ωのターミネータを装備
-シグナルGNDと通信用信号ラインが接続 
| Pats Name | JST Parts Number |h
|基板用ヘッダー |[[S4B-EH>https://www.jst-mfg.com/product/detail.php?series=58]] |
|ハウジング |[[EHR-4>https://www.jst-mfg.com/product/detail.php?series=58]] |
|ターミナル |[[SEH-00x>https://www.jst-mfg.com/product/detail.php?series=58]] |
#ref(DXLSHARE/jst_B4B-EH.png)
| 端子番号 | 信号名 |h
|CENTER:60|LEFT:|c
|1|GND |
|2|VDD |
|3|RS-485 D+ |
|4|RS-485 D- |

****CN9~14 [#fab3ea7c]
#ref(E168_CN9-14,png,63%)
-TTL I/F
#ref(DXLSHARE/TTL_IF.png)
-[[CN1>#s26ba183]]より供給されるUSBのバスパワーは絶縁された後にトランシーバ用の電源として供給-トランシーバの電源は絶縁されたUSBのバスパワーから供給
-SIGNAL端子は220kΩの抵抗を介して内部の5V電源へウィークプルアップ
-シグナルGNDと通信用信号ラインが接続
| Pats Name | JST Parts Number |h
|基板用ヘッダー |[[S3B-EH>https://www.jst-mfg.com/product/detail.php?series=58]] |
|ハウジング |[[EHR-3>https://www.jst-mfg.com/product/detail.php?series=58]] |
|ターミナル |[[SEH-00x>https://www.jst-mfg.com/product/detail.php?series=58]] |
#ref(DXLSHARE/jst_B3B-EH.png)
| 端子番号 | 信号名 |h
|CENTER:60|LEFT:|c
|1|GND |
|2|VDD |
|3|TTL Signal |

**使用方法 [#c66a2597]

***Dynamixelシリーズの場合 [#kb83ddbf]
#ref(E148_DXL_connect.png, %70)

***デバイスドライバのインストール [#u86863bc]
本製品には[[FTDI社>https://www.ftdichip.com/]]のUSBシリアル変換ICが使用されています。~
Windowsへのデバイスドライバのインストール手順の詳細は[[こちら>How to install FTDI's device driver]]を参照下さい。

***応答の待ち時間 [#vaffe8b2]
****Windows [#yf31db51]
FTDI社のUSBシリアル変換ICはチップ内にタイマが内蔵されており、このタイマのタイムアウトにより送受信のイベントが発生します。このタイムアウト時間は提供されるデバイスドライバにて16msに設定されているため、これより短い時間での応答性を得ようとする場合は値を変更しなくてはなりません。~
FTDI社のライブラリ等を使用する場合は、専用のAPIで必要に応じて変更する事が可能ですが、WIN32 APIでオープン・クローズ・送受信だけを扱うアプリケーションの場合は、デバイスマネージャの該当COMポートのプロパティから予め任意の値に変更しておく事で対処出来ます。
#ref(FTDI_LatencyTime.png,60%)

****Linux(Ubuntu) [#q34680f8]
色々方法はありますが、latency_timerを任意の値へ自動的設定させるには以下の方法が確実です。~
「/etc/udev/rules.d/」ディレクトリの配下に以下のコードを「99-e148.rules」として置きます(管理者権限が必要)。ファイル名のプレフィクスに記述する数字は他と重複しないように。
 ACTION=="add", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="666", RUN+="/bin/sh -c 'echo 1 > /sys/bus/usb-serial/devices/$kernel/latency_timer'"
後は udevadm に更新を知らせてUSBケーブルを抜き差しするか、OSを再起動すればOKです。
 >sudo udevadm control --reload-rules && udevadm trigger

***ボーレート [#r3a408c3]
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 |h
| 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|
| (略) | (略) |
|>| *は例外|
ホストから任意のボーレートを指定すると、デバイスドライバは計算上最も近いボーレートに丸めた値を採用します。

***対応するデバイス [#r3b9fa50]
| Device Name |h
|Dynamixel DX・AX・RX・EX・MX・X・PRO・USS3・DXMIOのRS-485ないしTTL I/Fを装備したバージョン |

Molex社のコネクタが装備されたデバイスを接続する場合は、[[Robot Cable-X3P 180mm (Convertible)>https://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=189]]ないし[[Robot Cable-X4P 180mm (Convertible)>https://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=190]]を使用して下さい。

***RS485 I/Fのターミネータ [#sd18865e]
RS-485 I/FのD+とD-端子間にはFTDI社のライブラリを介してソフト的に挿抜可能な120Ωのターミネータが装備されています。起動直後はACBUS5が入力端子かつプルアップ抵抗がONになっているため、ターミネータはONとなります。~
自作のプログラムからターミネーターのON/OFFを制御する場合は、FTDI社のライブラリを用いて以下の様なコードで対処して下さい。
#html{{
<pre class="brush: c;">
#include "ftd2xx.h"
void foo (void) {
  HANDLE ftHandle;
  FT_STATUS ftStatus;
  ftStatus = FT_Open (0, &ftHandle);
  if (ftStatus == FT_OK) {
    // ターミネータON (ACBUS5->HIGH (Output & High))
    FT_SetBitMode (ftHandle, 0x11, FT_BITMODE_CBUS_BITBANG);

    // ターミネータOFF (ACBUS5->LOW (Output & Low))
    FT_SetBitMode (ftHandle, 0x10, FT_BITMODE_CBUS_BITBANG);

    FT_Close(ftHandle);
  }
}
</pre>
}}

***Dynamixel Library [#x91df052]
WindowsやLinux上で動作する通信プログラムを作る際は、別途用意したライブラリを用いる事でシリアル通信やプロトコルを意識せずにコーディングができます。~
APIに対して対象デバイスのID・番地・値といった引数を与えるだけでコントロールテーブルの読み書きが実現でき、マルチスレッド等で複数のデバイスに対して個別にアクセスする様なアプリケーションも容易に構成できます。

なお、Dynaimxelには2種類のプロトコルが存在しますが相互非互換であるため、プロトコルに応じて2種類のライブラリを用意しています。
-[[Dynamixel Protocol V1用ライブラリ>Dynamixel Library]]
-[[Dynamixel Protocol V2用ライブラリ>Dynamixel Protocol 2 Library]]

***DYNAMIXEL Wizard 2.0 [#va576864]
デバイスのコントロールテーブルの状態をモニタしたりパラメータの変更や動作確認を簡便に行うソフトウェアとして、[[DYNAMIXEL Wizard>https://emanual.robotis.com/docs/en/software/dynamixel/dynamixel_wizard2/]]を提供しています。~
モデルやプロトコルにかかわらず全Dynamixelを一様に扱うことができ、ファームウェアの更新も行えます。
#ref(wizard2_main_001.png,40%)
Dynamixelの設定や動作確認を行うツールは、今後RoboPlusからDYNAMIXEL Wizardへ移管していくものと思われます。

***RoboPlus [#h32525dc]
ROBOTIS社よりRoboPlusというツールが提供されています。サポートする製品により2種類存在し、インターネット回線を使ったツールの更新やDynamixelのファームウェアを更新する機能を持っています。
-[[RoboPlus 1.0]] (主に旧製品)
-[[RoboPlus 2.0]] (主に新製品)

**注意事項 [#o2f97e11]
-TTL及びRS-485 I/Fからの送信は同時に行われ、受信は両I/Fから同時に発生しない事を前提とする。
-USBホストとDynamixelを同じ電源で運用している場合は、DXHUB内の絶縁機能は意味を持たない。
-USBのバスパワーがCN1より供給されないとトランシーバへの絶縁された電源も供給さないため、TTL及びRS-485 I/Fのシグナルラインは常時LOWレベルに張り付く。
-CN2から供給される電源回路は簡易的な逆入力保護機能を有するが、恒久的な逆入力から保護されるものでは無い。
-β版においてはRS-485 I/Fのターミネータは常時ONとなる。

  

  • BTE068C DXHUB のバックアップソース(No. All)