ページへ戻る

− Links

 印刷 

BTE068B DXHUB のバックアップソース(No.9) :: Besttechnology

knowledge:BTE068B DXHUB のバックアップソース(No.9)

« Prev[4]  Next »[5]
#norelated
#contents
[[ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=xxx]]
**概要 [#i9b1c92f]
本製品はインターフェースにRS485、又はTTLを利用する機器とPCを簡潔に接続し、通信するためのものです。~
通信手段は提供していますが、通信方法はユーザアプリケーションにより提供されるものとします。[[Dynamixelシリーズ>Dynamixelシリーズ 他#m101b537]]に限り、ユーザアプリケーションである[[DynamixelConfigurator>#w7bb99b0]]をご利用頂けます。

**仕様 [#w1fc9eab]
***同梱内容 [#t8074694]
| 型式 | 数量 | 備考 |
|本体 | 1|E075, E104 |
|電源コネクタキット | 1|ハウジング [[JST VHR-2N>http://www.jst-mfg.com/product/pdf/jpn/VH.pdf]] x1 &br;コンタクト [[JST SVH-21T-P1.1>http://www.jst-mfg.com/product/pdf/jpn/VH.pdf]] x2|
''※microUSBケーブルは付属しません''

***基本仕様 [#k2975a33]
|品番|BTE068B|
|PCBリビジョン|E075 & E104|
|動作温度範囲|-10~60℃ 結露なきこと|
|寸法|外径:50.8x32.4mm(±0.5mm) &br;取り付け穴:45.1x26.7mm 4-φ2.2|
|重量| |
|電源|入力:DC4~40V(絶対最大定格電圧:60V) &br;出力:23A(最大定格電流:100A)|
|コネクタ|ホストPC間:USB(USB microB)x1 &br;RS485:MOLEX 22-03-5045x6 &br;TTL:MOLEX 22-03-5035x6|
|通信仕様|RS485:半二重、ESD ±15kV、最大ノード数 256台、終端抵抗付 &br;TTL:半二重、最大通信速度 3Mbps &br;電源:USBバスパワー|
|環境配慮|Rohs未対応|

***内部簡略ブロック [#nc25bd85]
#ref(Block.png)
全ての電源においてGNDは内部で接続されています。

***外観 [#x91f711e]
|TOP|BOTTOM|
|#ref(top.png)|#ref(bottom.png)|
|SIDE|
|#ref(side.png)|

***端子配置 [#ecd049d1]
#ref(layout.pdf)
※括弧付の数値は参考値となり、最大±1mm程度の誤差を含みます。

****PWR [#f7942cf7]
|基板側ヘッダ|JST B2P-VH|
|ハウジング|VHR-2N|
|コンタクト|SVH-41T-P1.1|
#ref(PWR_connector.png)
PWRより供給される電源は、RS485・TTLの電源出力用としてのみ供給されます。

****SW [#b46002f7]
PWRに供給された電源をRS485・TTLのVDD端子に接続ないし切断します。USBや通信回路はUSBバスパワーで動作するため、SWとは連動しません。~
又、PWRに電源が供給された状態でSWをONにするとLEDが点灯し、通電状態を目視にて確認できます。

****USB [#s26ba183]
|CENTER:BGCOLOR(red):||c
|&nbsp; :idea:|microUSBケーブルは同梱されませんので、市販のUSB[micro-B]<->USB[A]を別途お買い求めの上ご利用下さい。|
PCのUSBバスパワーで通信回路の電源供給を行う他に、RS485・TTLに接続した各種機器との通信手段を提供します。~
RS485・TTLへの電源供給は行いません。

****TX・RX [#m8f616d5]
USBバスパワーより通信回路に電源が供給され、PWRよりRS485・TTLに電源が供給された状態で通信が行われると明滅します。無通信状態では消灯します。~
ボーレートが一致しない応答にはRXは点灯しません。

****RS485 [#w10db024]
MOLEX 22-03-5045
#ref(RS485_connector.png)
RS485 I/F及び電源を兼ね備えたコネクタです。6つのコネクタは内部で並列接続していますので、どのコネクタを使用しても違いはありません。~
VDD(端子番号3)・GND(端子番号4)はPWRより供給される電源を接続しており、本コネクタに接続する機器へ電源を供給します。この端子へ直接外部より電源を供給しないで下さい。

****TTL [#m2b754d5]
MOLEX 22-03-5035
#ref(TTL_connector.png)
TTL I/F及び電源を兼ね備えたコネクタです。6つのコネクタは内部で並列接続していますので、どのコネクタを使用しても違いはありません。~
VDD(端子番号2)・GND(端子番号3)はPWRより供給される電源を接続しており、本コネクタに接続する機器へ電源を供給します。この端子へ直接外部より電源を供給しないで下さい。~
尚、SIGNAL(端子番号1)は内部の5Vへ4.7kΩでプルアップしています。

**機能詳細 [#c66a2597]
***電源 [#mb1b4845]
外部の電源装置からPWRに電源を接続すると、全てのRS485・TTLに電源が供給されますが、通信回路へ電源は供給されません。通信回路へはUSBバスパワーからのみ電源が供給されます。~
PWRに電源を接続し、SWをONにしたままRS485・TTLへの接続、切断はしないで下さい。RS485・TTLへの接続、切断は必ずSWをOFFにして行って下さい。

***USB [#mbfb8adc]
PCのUSBバスパワーで通信回路の電源供給を行う他に、RS485・TTLに接続した各種機器との通信手段を提供します。

***シリアル通信 [#y0dab8a0]
USBからの信号は全てのRS485・TTLへ送信されます。RS485からの返信は他のRS485及びUSBへ返信され、TTLからの返信は他のTTL及びUSBへ返信されます。~
RS485とTTL間は直接通信することはできません。~

**ユーザアプリケーション [#r41303a5]

***Dynamixel Library [#x91df052]
Dynamixel製品を接続していた場合[[Dynamixel Library>DXLIB2]]を使用して簡単にユーザアプリケーションを作成することが可能です。

****サンプルプログラム [#ccd4be79]
ライブラリが用意されていない場合は電文作成と電文解析を行う必要があります。以下はDynamixel製品へPINGを行った際の電文作成と電文解析のサンプルとなります。
#html{{
<pre class="brush:c">
#include &lt;winsock2.h&gt;
#include &lt;windows.h&gt;
#include &lt;stdio.h&gt;
#include &lt;stdint.h&gt;
#include &lt;stdbool.h&gt;

#define COMPORT   "\\\\.\\COM6" // 環境に合わせて変更して下さい
#define BAUDRATE  (1000000)
#define TIMEOUT   (1000)
#define TARGETID  (2)           // DynamixelのID

void main (void) {
  HANDLE hd;
  COMMTIMEOUTS  timeouts = { 0, 0, TIMEOUT, 0, 0 };
  DCB           cDcb;
  COMSTAT       comStat;
  DWORD         dwErrors;
  uint8_t       buf[10];
  uint32_t      wlen, len, rlen;
  int           i, cksum;
  // 通信の設定
  memset (&cDcb,0,sizeof(cDcb));
  cDcb.BaudRate           = BAUDRATE;
  cDcb.ByteSize           = 8;
  cDcb.fParity            = false;
  cDcb.Parity             = NOPARITY;
  cDcb.StopBits           = ONESTOPBIT;
  cDcb.fOutX              = false;
  cDcb.fInX               = false;
  cDcb.fTXContinueOnXoff  = true;
  cDcb.XonLim             = 512;
  cDcb.XoffLim            = 512;
  cDcb.XonChar            = 0x11;
  cDcb.XoffChar           = 0x13;
  cDcb.fOutxDsrFlow       = false;
  cDcb.fOutxCtsFlow       = false;
  cDcb.fRtsControl        = RTS_CONTROL_DISABLE;
  cDcb.fDtrControl        = DTR_CONTROL_ENABLE;
  cDcb.fErrorChar         = 0;
  cDcb.fBinary            = true;
  cDcb.fNull              = 0;
  cDcb.fAbortOnError      = false;
  cDcb.wReserved          = 0;
  cDcb.EofChar            = 0x03;
  cDcb.EvtChar            = 0;
  if ((hd = CreateFileA (COMPORT, (GENERIC_READ | GENERIC_WRITE), 0, NULL, OPEN_EXISTING, 0, NULL)) != INVALID_HANDLE_VALUE) {
    if ((SetCommMask (hd, 0) != 0) && SetCommState (hd, &cDcb) != 0) {
      PurgeComm (hd, (PURGE_TXCLEAR | PURGE_RXCLEAR));
      // 機器に合った送信データの作成を記述
      // テスト用にDynamixel製品へのpingパケット作成
      buf[0] = buf[1] = 0xff;
      buf[2] = cksum = TARGETID;
      buf[3] = 0x2;
      buf[4] = 0x1;
      cksum += (buf[3] + buf[4]);
      buf[5] = (uint8_t)(~(cksum) & 0xff);
      len = 6;
      // 送信処理
      ClearCommError (hd, &dwErrors, &comStat);
      PurgeComm (hd, (PURGE_RXCLEAR));
      if (WriteFile (hd, buf, len, (LPDWORD)&wlen, NULL)) {
        // 受信処理
        SetCommTimeouts (hd, &timeouts);
        if (ReadFile (hd, buf, len, (LPDWORD)&rlen, NULL)) {
          // 電文解析処理を記述
          // テスト用にDynamixel製品のpingステータスを解析
          for (i = 2, cksum = 0; i < rlen - 1; i++) cksum += buf[i];
          if (buf[0] == 0xff && buf[1] == 0xff && buf[2] == TARGETID && buf[3] == 0x2 && buf[5] == ((~cksum) & 0xff)) {
            printf ("%d is Alive.\n", TARGETID);
          } else printf ("check failed\n");
        } else printf ("read failed\n");
      } else printf ("write failed\n");
    } else printf ("comm failed\n");
    PurgeComm (hd, (PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR));
    CloseHandle (hd);
  }
}
</pre>
}}

**デバイスドライバ [#xd623de9]
PCとDXハブをmicroUSBケーブルで接続する前に、デバイスドライバを準備します。~
DXハブにはFTDI社のUSBシリアル変換ICが使用されています。詳細は[[こちら>ftdi]]をご覧下さい。~

PCに本装置のデバイスドライバをインストールしたら、通信のパフォーマンスを向上させるために、デバイスマネージャ等から該当するCOMポートのプロパティを開き、以下の設定を行っておきます。~

+ポートの設定タブにある「詳細設定...(A)」ボタンを押す。
#ref(COM_property.png)
+詳細設定ダイアログボックスの「待ち時間(msec)」をデフォルトである16から1に変更。
#ref(COM_detail.png)
+すべてのダイアログボックスの「OK」ボタンを押して該当ポートのプロパティダイアログボックスを閉じる。

**Dynamixel Configurator [#w7bb99b0]
PCからDynamixel製品と通信しパラメータをモニタリングしたり変更するアプリケーションです。本アプリケーションはリアルタイムに検出距離をグラフ表示する機能を持っていますので、実際の検出状況を把握しながらパラメータを微調整を行う事ができます。~
なおUSS3のパラメータ調整には、別途[[こちらのソフトウェア>BTE082#ya455a85]]を使用します。

***対応するOS [#ub62da51]
-Windows2000(SP4)
-WindowsXP(SP3)
-WindowsVISTA(SP2)
-Windows7(SP1)
-Windows8

***対応するI/F [#eeed3897]
-[[BTE083 FDIII-HC]]
-[[BTE068 Dynamixelコンフィギュレータ]]
-[[BTE082 USS3コンフィギュレータ]]
-[[BTE061D USBシリアル変換ケーブル]] + [[BTE062 Dynamixel DX/RX用接続ケーブル]]

***インストール [#y87d7007]

****パッケージ入手 [#se5450fe]
#ref(http://www.besttechnology.co.jp/download/...)
公開日: 2013/09/??~
サイズ: 999,999,999 byte~
MD5チェックサム: ~
更新内容: 機能追加・コンポーネント更新に伴う再構築

ダウンロード後のファイルサイズとチェックサムを確認して下さい。~
どちらかが一致しない場合、ダウンロードが正常終了していませんので、再度ダウンロードを実施して下さい。

****インストール方法 [#wf017073]
ダウンロードしたインストールプログラムを実行し、メッセージに従いインストールして下さい。
#ref(install.png)

***各機能 [#yfeb9578]
#ref(dxconf.png)
+通信ポート
本アプリケーションで検出した(仮想)COMポートが一覧されます。Dynamixel製品が接続されているポートを選択して下さい。
+通信速度
接続先のDynamixel製品の通信速度を指定して下さい。
+ポート開閉
通信ポートと通信速度を選択した後、「Port Open」と表示されている状態で押下すると「Port Close」と表示され通信ポートが開いて通信可能となる。~
「Port Close」と表示されている状態で押下すると「Port Open」の表示となり開いていたポートが閉じられ、通信不可となる。
+通信状態
諸々の通信を行っている間の状態を表示する。~
CommunicationのLEDが赤色の場合は何かしらのエラーが発生している状態。~
ERRORのLEDはDynamixel製品の[[エラーフラグ>Dynamixel通信プロトコル#a1058504]]の状態を表示する。
+対象ID
対象となるDynamixel製品のIDを指定。それ以外のIDを持つDynamixel製品は対象外となる。
+制御ボタン
いずれもポートが開いている状態でのみ機能する。~
::AUTO UPDATE | 対象IDを持ったDynamixel製品と常時通信を行い、[[コントロールテーブル>Dynamixelコントロールテーブル(DX,RX,AXシリーズ用)]]の表示を最新に保つ。
::Scan Start | IDやボーレートが不明なDynamixel製品を見つける。現在開いているポートのボーレートを基準に順に値を下げながら検索するため、Scan Startを押す前に予め1Mbpsを選択しておくことを推奨する。~
また、全て正常にもかかわらず見つからない場合は、[[こちら>#ac1c088b]]の待ち時間を設定し直す事。
::Read All | 対象IDを持ったDynamixel製品と通信を行い、[[コントロールテーブル>Dynamixelコントロールテーブル(DX,RX,AXシリーズ用)]]の表示を更新する。
::Reset | 対象IDを持ったDynamixel製品を出荷時設定に初期化する。
+コントロールテーブル~
対象IDを持ったDynamixel製品との通信が正常に行われる状態で[[コントロールテーブル>Dynamixelコントロールテーブル(DX,RX,AXシリーズ用)]]の各アイテムを読み出して表示したり、値を変更するといった操作を行う。アイテムによって編集方法が異なる。

« Prev[4]  Next »[5]