ページへ戻る

− Links

 印刷 

BTE085​/BTE086 Multifunction I​/O module のバックアップソース(No.30) :: Besttechnology

knowledge:BTE085/BTE086 Multifunction I/O module のバックアップソース(No.30)

« Prev[4]  Next »[5]
TITLE:BTE085/BTE086 Dynamixel I/O moduleマニュアル
#norelated
#contents

[[RS485版ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=121]]~
[[TTL版ショップページへ>http://www.besttechnology.co.jp/modules/onlineshop/index.php?fct=photo&p=122]]

**概要 [#c94c0712]

#ref("DxIO485.png",around);
#ref("DxIOTTL.png");

Dynamixel I/Fからの指令に応じ、デジタル入出力・アナログ電圧計測・PWM出力を行う事ができる汎用I/Oモジュールです。

**基本仕様 [#b835c174]
|商品番号|BTE058,BTE059|
|入力電圧範囲|6.3~36V|
|消費電流|40mA|
|アナログ入力電圧範囲|0~5V|
|アナログ入力インピーダンス(PIO0~3)|1MΩ|
|デジタル入力Lowレベル検出電圧範囲|-0.5~1.5V|
|デジタル入力Highレベル検出電圧範囲|3~5.5V|
|ソース電流|30mA|
|デジタル出力High電圧|5V|
|環境配慮|RoHS準拠, 鉛フリー半田|
|ID数 |254 (0~253) |
|通信方式 |1ワイヤ双方向(TTLレベル)又はRS485 |
|マルチファンクションI/O端子 |デジタル入力 x8&br;デジタル出力 x4&br;アナログ入力 x8&br;PWM出力x2&br;※排他機能を含む |
|内容物 |Dynamixel I/Oモジュール(TTL又はRS485) x1&br;Dynamixelケーブル(3Pin又は4Pin) x1&br;[[D89110-0131HK>http://multimedia.3m.com/mws/mediawebserver?mwsId=66666UuZjcFSLXTtnxME5xfaEVuQEcuZgVs6EVs6E666666--]] x2(メーカー:3M、I/O用雌コネクタ、約10cmのケーブル装着済み)&br;[[5103310-1>http://www.tycoelectronics.com/catalog/pn/ja/5103310-1?RQPN=5103310-1]] x1(メーカー:Tyco Electronics、I/O用雄コネクタ) |

**端子配置・外形 [#bfd7a11a]
#ref(dxconv_1.png)
単位:mm

***CN2 [#te885372]
ライトアングルコネクタ装着済み。
PIO0~7は、下表の各機能を切り替えて使用する端子。~
VOUTは外部機器への5V出力端子。

#ref(10pin.png)

|PIN|端子名|機能|
|1|VOUT|5V (最大300mA)|
|2|PIO0|デジタル入力、アナログ入力※|
|3|PIO1|デジタル入力、アナログ入力※|
|4|PIO2|デジタル入力、アナログ入力※|
|5|PIO3|デジタル入力、アナログ入力※|
|6|PIO4|デジタル入出力、アナログ入力、PWM信号出力(8bit)|
|7|PIO5|デジタル入出力、アナログ入力、PWM信号出力(8bit)|
|8|PIO6|デジタル入出力、アナログ入力|
|9|PIO7|デジタル入出力、アナログ入力|
|10|GND|グランド|
※バッファアンプ内蔵

***CN3 [#t7461d3d]

Dynamixel I/F対応機器と通信するためのコネクタ。~
VIN端子より本機器に電源を供給する。~

※CN4も同機能。コネクタ未装着。

****BTE085(RS485版) [#t736a731]
CN4にTTL用のコネクタを装着して使用することはできません。
#ref(RS485.png)
|No. |端子名 |
|1 |RS485 D- |
|2 |RS485 D+ |
|3 |VIN |
|4 |GND |

|Pats Name |Molex Parts Number |
|基板用ヘッダー |[[22-03-5045>http://www.molex.com/molex/products/datasheet.jsp?part=active/0022035045_PCB_HEADERS.xml&channel=Products&Lang=ja-jp]] |
|ハウジング |[[50-37-5043>http://www.molex.com/molex/products/datasheet.jsp?part=active/0050375043_CRIMP_HOUSINGS.xml&channel=Products&Lang=ja-jp]] |
|ターミナル |[[08-70-1040>http://www.molex.com/molex/products/datasheet.jsp?part=active/0008701040_CRIMP_TERMINALS.xml&channel=Products&Lang=ja-jp]] |

****BTE086(TTL版) [#e4af0b6a]
CN4にRS485用のコネクタを装着して使用することはできません。
#ref(TTL.png)
|No. |端子名 |
|1 |TTL RX/TX |
|2 |VIN |
|3 |GND |

|Pats Name |Molex Parts Number |
|基板用ヘッダー |[[22-03-5035>http://www.molex.com/molex/products/datasheet.jsp?part=active/0022035035_PCB_HEADERS.xml&channel=Products&Lang=ja-JP&lang=ja-JP]] |
|ハウジング |[[50-37-5033>http://www.molex.com/molex/products/datasheet.jsp?part=active/0050375033_CRIMP_HOUSINGS.xml&channel=Products&Lang=ja-jp]] |
|ターミナル |[[08-70-1040>http://www.molex.com/molex/products/datasheet.jsp?part=active/0008701040_CRIMP_TERMINALS.xml&channel=Products&Lang=ja-jp]] |

***PB1 [#se085138]
プッシュボタン。
プッシュボタンの状態は[[コントロールテーブル>#dacc04a9]]のアドレス44に反映される。

***LED1~3 [#p2c9a5cf]
[[コントロールテーブル>#dacc04a9]]のアドレス25で点灯・消灯を行う。

**外部機器の接続 [#x412035e]

***外部機器への電源供給 [#t6aebda8]
外部機器を駆動するために、CN2のVOUT端子から5V 約300mAの電源を供給することが可能です。負荷がVOUTの駆動能力を超える場合は、別電源で駆動する必要があります。

***デジタル信号を取りこむ [#s28db02b]
部機器から出力されたデジタル信号をデジタル入力端子から取り込みます。

#ref(connect.png);

外部機器のデジタル出力端子をPIO0~7の何れかに接続します。~
CN2と外部機器のGNDを接続します。~
必要に応じてCN2のVOUT端子を外部機器の5V電源入力端子に接続します。

[[コントロールテーブル>#dacc04a9]]の外部機器を接続した端子に対する[[PIO Config>#e1746883]]を0又は1(PIO4~7のみ)に設定します。

外部機器のデジタル出力信号によっては正常な値が得られない場合がありますので、その場合は外部回路にてバッファ措置等の措置を講じてください。

''[[FDIII-HCに反射型フォトインタラプタの信号を取り込む方法はこちら>FDIII-HCに反射型フォトインタラプタの信号を取り込む]]''

***デジタル信号(High/Low)を出力する [#sf661d60]

デジタル出力端子から外部機器へデジタル信号を出力します。

#ref(connect2.png);

外部機器のデジタル入力端子をPIO4~7の何れかに接続します。~
CN2と外部機器のGNDを接続します。~
必要に応じてCN2のVOUT端子を外部機器の5V入力端子に接続します。

[[コントロールテーブル>#dacc04a9]]の外部機器を接続した端子に対する[[PIO Config>#e1746883]]を2に設定します。

PIOをソース源とする場合は1端子あたり30mA以下に抑え、さらに全端子の電流が50mAを超えないように調整してください。

''[[FDIII-HCで外付けLEDを点灯する方法はこちら>FDIII-HCで外部LEDを駆動する]]''

***アナログ信号を取りこむ [#s774cf73]

外部機器から出力された電圧をアナログ入力端子から取り込み、A/D変換します。

#ref(connect.png);

外部機器のアナログ出力端子をPIO0~7の何れかに接続します。~
CN2と外部機器のGNDを接続します。~
必要に応じてCN2のVOUT端子を外部機器の5V入力端子に接続します。

[[コントロールテーブル>#dacc04a9]]の外部機器を接続した端子に対する[[PIO Config>#e1746883]]を3に設定します。

''[[FDIII-HCにPSD距離センサの信号を取り込む方法はこちら>FDIII-HCにPSD距離センサの信号を取り込む]]''

**通信プロトコル [#o48e77f2]

[[Dynamixel通信プロトコル]]ページ参照。

**コントロールテーブル [#dacc04a9]
内部機能及び設定は次に示すメモリマップとして提供され、インストラクションパケットを使用して操作します。

同じアイテムの名称で(L)及び(H)と書かれたものは、連続した2バイトで1つのデータを表します。(L)がLOWバイト、(H)がHIGHバイトです。

例えばAD1(L) = 0x0A、AD1(H) = 0x02なら~
AD1 = (0x02 × 0x0100) + 0x0A = 0x020A

※頭に0xが付いた数値は16進数を表します。

|Address|Item|Access|Initial Value|
|0 (0x00)|[[Model Number(L)>#hccba978]]|R|0x04|
|1 (0x01)|[[Model Number(H)>#hccba978]]|R|0x40|
|2 (0x02)|[[Version of Firmware>#f9a4d6ba]]|R|-|
|3 (0x03)|[[ID>#u491c6b8]]|R/W|200 (0x01)|
|4 (0x04)|[[Baudrate>#a99cb9a8]]|R/W|1 (0x22)|
|5 (0x05)|[[Return Delay Time>#nb4da701]]|R/W|250 (0xFA)|
|6 (0x06)|[[PIO0 Config>#e1746883]]|R/W|0 (0x00)|
|7 (0x07)|[[PIO1 Config>#e1746883]]|R/W|0 (0x00)|
|8 (0x08)|[[PIO2 Config>#e1746883]]|R/W|0 (0x00)|
|9 (0x09)|[[PIO3 Config>#e1746883]]|R/W|0 (0x00)|
|10 (0x0A)|[[PIO4 Config>#e1746883]]|R/W|0 (0x00)|
|11 (0x0B)|[[PIO5 Config>#e1746883]]|R/W|0 (0x00)|
|12 (0x0C)|[[PIO6 Config>#e1746883]]|R/W|0 (0x00)|
|13 (0x0D)|[[PIO7 Config>#e1746883]]|R/W|0 (0x00)|
|14 (0x0E)~15 (0x0F)|(Reserved)|-|0 (0x00)|
|16 (0x10)|[[Status Return Level>#fc051727]]|R/W|2 (0x02)|
|17 (0x11)~24 (0x18)|(Reserved)|-|0 (0x00)|
|25 (0x19)|[[LED>#a2c213f8]]|R/W|0 (0x00)|
|26 (0x1A)|[[AD0(L)>#i14da434]]|R|?|
|27 (0x1B)|[[AD0(H)>#i14da434]]|R|?|
|28 (0x1C)|[[AD1(L)>#i14da434]]|R|?|
|29 (0x1D)|[[AD1(H)>#i14da434]]|R|?|
|30 (0x1E)|[[AD2(L)>#i14da434]]|R|?|
|31 (0x1F)|[[AD2(H)>#i14da434]]|R|?|
|32 (0x20)|[[AD3(L)>#i14da434]]|R|?|
|33 (0x21)|[[AD3(H)>#i14da434]]|R|?|
|34 (0x22)|[[AD4(L)>#i14da434]]|R|?|
|35 (0x23)|[[AD4(H)>#i14da434]]|R|?|
|36 (0x24)|[[AD5(L)>#i14da434]]|R|?|
|37 (0x25)|[[AD5(H)>#i14da434]]|R|?|
|38 (0x26)|[[AD6(L)>#i14da434]]|R|?|
|39 (0x27)|[[AD6(H)>#i14da434]]|R|?|
|40 (0x28)|[[AD7(L)>#i14da434]]|R|?|
|41 (0x29)|[[AD7(H)>#i14da434]]|R|?|
|42 (0x2A)|[[Digital In>#u093d170]]|R|?|
|43 (0x2B)|[[Digital Out>#kc4b00a4]]|R/W|0|
|44 (0x2C)|[[Push Button>#nfe18ece]]|R|?|
|45 (0x2D)~46 (0x2E)|(Reserved)|-|0 (0x00)|
|47 (0x2F)|[[Lock>#dce9b724]]|R/W|0|
|48 (0x30)|(Reserved)|-|0|
|49 (0x31)|[[Duty4>#f64c7360]]|R/W|0|
|50 (0x32)|[[Duty5>#f64c7360]]|R/W|0|

***各アイテムの詳細 [#hccba978]
****Model Number [#c854a4ce]
モデルナンバーです。

****Version of Firmware [#f9a4d6ba]
ファームウェアのバージョンです。

****ID [#u491c6b8]
各Dynamixelを特定するための固有のIDナンバーです。~
同じネットワークのDynamixelは、それぞれ異なるIDに設定する必要があります。

****Baudrate [#a99cb9a8]
通信速度を決定します。以下の公式で計算します。~
Baudrate[BPS]=2000000 / (value + 1)~

主なBaudrateのデータ値
|Set value(Dec.)|Set value(Hex.)|Baudrate[BPS]|Target Baudrate[BPS]|Error※[%]|
|1|0X01|1000000.0|1000000|0.000|
|3|0X03|500000.0|500000|0.000|
|4|0X04|400000.0|400000|0.000|
|7|0X07|250000.0|250000|0.000|
|9|0X09|200000.0|200000|0.000|
|16|0X10|117647.1|115200|-2.124|
|34|0X22|57142.9|57600|0.794|
|103|0X67|19230.8|19200|-0.160|
|207|0XCF|9615.4|9600|-0.160|

****Return Delay Time [#nb4da701]
インストラクションパケットが送られた後、ステータスパケットが返ってくるまでの時間です。~
遅延時間は2uSec * Address5の値です。

****PIO0~7 Config [#e1746883]
各端子の機能を設定します。~
設定値と機能は以下の通りです。
| PIO | Config可能な範囲 |
|PIO0|''0'':Digital In, ''3'':ADC|
|PIO1|''0'':Digital In, ''3'':ADC|
|PIO2|''0'':Digital In, ''3'':ADC|
|PIO3|''0'':Digital In, ''3'':ADC|
|PIO4|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC, ''4'':PWM(8bit)|
|PIO5|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC, ''4'':PWM(8bit)|
|PIO6|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC|
|PIO7|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC|

各機能の詳細は以下です。

| Config値 | 機能 |
|0 (Digital In)|デジタル入力+内蔵プルアップOFF |
|1 (Digital In+Pullup)|デジタル入力+内蔵プルアップON |
|2 (Digital Out)|デジタル出力端 |
|3 (ADC)|アナログ入力 |
|4 (PWM)|PWM(約977Hz)出力 |

****Status Return Level [#fc051727]
インストラクションパケットを受けた後にDynamixelがステータスパケットを返すかどうかを決定します。
|Status Return Level|ステータスパケット|
|0|PING以外のインストラクションには応答しない|
|1|READ_DATAだけに応答する|
|2|すべてのインストラクションに応答する|
Broadcast ID(0xFE)を使ったインストラクションの場合は、アドレス16の値に関わらずステータスパケットを返しません。

****LED [#a2c213f8]
LED1~3が各ビットに割り当てられ、ビットを1にするとLED点灯、0にすると消灯します。

|ビット|7~3|2|1|0|
|LED|-|LED3|LED2|LED1|

****AD0~7 [#i14da434]
各端子に入力されたアナログ信号をデジタルに変換した値です。~
AD0~7がPIO0~7に対応しています。~
PIO Configが3に設定されている端子のみ値が反映されます。

アナログ入力0~5Vに対し0~1023で表され、以下の式で求められます。

 AD = Vin * 1023 / Vref
 Vin:アナログ入力0~5V, Vref:5V

****Digital In [#u093d170]

各端子のデジタル入力値を各ビットに割り当てた値です。~
PIO Configが0又は1に設定されている端子のみ値が反映されます。~
デジタル入力がLowなら対応するビットが0、Highなら1になります。

| ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 端子 | PIO7 | PIO6 | PIO5 | PIO4 | PIO3 | PIO2 | PIO1 | PIO0 |

****Digital Out [#kc4b00a4]
各端子のデジタル出力値を各ビットに割り当てた値です。~
PIO4~7のうちPIO Configが2に設定されている端子のみ、対応するビットを0に設定するとLow、1に設定するとHighが出力されます。

| ビット | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 端子 | PIO7 | PIO6 | PIO5 | PIO4 | - | - | - | - |

****Push Button [#nfe18ece]
PB1が押されていると1、押されていないと0になります。

****Lock [#dce9b724]
1が設定されるとアドレス0からアドレス23以外のエリアが書き換え不能となります。ロックを解除する方法は、電源を切る以外にありません。

****Duty4, 5 [#f64c7360]
PIO4, 5のPWM出力時のデューティーを設定します。

***Range [#n1c84a87]
各データには有効な最小値、最大値があります。この有効値外に書き込まれたインストラクションはエラーを返します。下表に各レジスタのデータ範囲と長さをまとめています。

|Write Address|Writing Item|Length(bytes)|Min|Max|
|3(0x03)|ID|1|0|253(0xFD)|
|4(0x04)|Baudrate|1|0|254(0xFE)|
|5(0x05)|Return Delay Time|1|0|254(0xFE)|
|6 (0x06)|PIO0 Config※1)|1|0|3(0x03)|
|7 (0x07)|PIO1 Config※1)|1|0|3(0x03)|
|8 (0x08)|PIO2 Config※1)|1|0|3(0x03)|
|9 (0x09)|PIO3 Config※1)|1|0|3(0x03)|
|10 (0x0A)|PIO4 Config|1|0|4(0x04)|
|11 (0x0B)|PIO5 Config|1|0|4(0x04)|
|12 (0x0C)|PIO6 Config|1|0|3(0x03)|
|13 (0x0D)|PIO7 Config|1|0|3(0x03)|
|16(0x10)|Status Return Level|1|0|2(0x02)|
|25 (0x19)|LED|1|0|7(0x07)|
|43 (0x2B)|Digital Out|1|0|255(0xFF)|
|47 (0x2F)|Lock|1|0|1|
|49 (0x31)|Duty4|1|0|255(0xFF)|
|50 (0x32)|Duty5|1|0|255(0xFF)|
※1)設定できるのは0,3のみです。1,2を書き込むとエラーになります。

« Prev[4]  Next »[5]