ページへ戻る

− Links

 印刷 

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

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

« Prev[4]  Next »[5]
TITLE:Dynamixel I/O module
#norelated
#contents

**概要 [#c94c0712]

アナログ・デジタル信号の取り込み、デジタル信号の出力をDynamixel I/Fで行う機器です。

**基本仕様 [#b835c174]
|動作電圧範囲|6.3~36V|
|消費電流|40mA|
|アナログ入力電圧範囲|0~5V|
|アナログ入力インピーダンス|100MΩ|
|デジタル入力Lowレベル電圧範囲|-0.5~1.5V|
|デジタル入力Highレベル電圧範囲|3~5.5V|
|デジタル入力漏れ電流|1μA|
|デジタル出力電流|40mA|
|デジタル出力High電圧|5V|
|環境配慮|RoHS準拠,鉛フリー半田|
|ID数 |254 (0~253) |
|通信方式 |1ワイヤ双方向(TTLレベル)又はRS485 |

**端子配置・外形 [#bfd7a11a]
#ref(dxconv_1.png)
CN1は未使用~
~

***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)、&br;カウンタ(16bit)|
|7|PIO5|デジタル入出力、アナログ入力、パルス・PWM信号出力(8bit)|
|8|PIO6|デジタル入出力、アナログ入力、パルス・PWM信号出力(16bit)|
|9|PIO7|デジタル入出力、アナログ入力、パルス・PWM信号出力(16bit)|
|10|GND|グランド|

***CN3 [#t7461d3d]

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

****RS485版 [#t736a731]
#ref(RS485.png)
|No. |端子名 |
|1 |RS485 D- |
|2 |RS485 D+ |
|3 |VIN |
|4 |GND |

****TTL版 [#e4af0b6a]
#ref(TTL.png)
|No. |端子名 |
|1 |TTL RX/TX |
|2 |VIN |
|3 |GND |

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

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

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

|CENTER:BGCOLOR(red):||c
|  :idea:|配線を間違えたり、端子をショートさせたり、半田ごてで熱を加え過ぎたりすると破損しますので十分注意してください。お客様のハンダ作業に起因する故障は保証対象外となります。&br;また本製品の仕様から外れた外部機器を接続すると、正常に動作せず破損に繋がる場合がありますので、事前に十分確認してください。|

***外部機器への電源供給 [#t6aebda8]

CN2のVOUT端子から外部機器へ5Vの電源を供給することが可能です。~
但し、外部機器の消費電流の合計が300mAを超えると本製品自体が正常に動作しなくなる場合があります。

事前に外部機器の電源電圧と消費電流を確認し、電源電圧が異なる場合や消費電流の合計が300mAを超える場合は外部機器へ別途電源を供給してください。

***デジタル信号を出力する外部機器の接続 [#s28db02b]

外部機器から出力されたデジタル信号(High:3~5.5V、Low:-0.5~1.5V)をデジタル入力端子から取り込みます。

#ref(connect.png);

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

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

外部機器のデジタル出力信号が弱かったり、ノイズが乗っていたりすると正常な値が得られない場合がありますので、必要な対処を行ってください。

***デジタル信号を入力とする外部機器の接続 [#sf661d60]

デジタル出力端子から外部機器へデジタル信号(High:5V、Low:0V)を出力します。

#ref(connect2.png);

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

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

デジタル信号の電流が40mAを超えると正常な電圧が出力されません。
~
~

***アナログ信号を出力する外部機器の接続 [#s774cf73]

外部機器から出力されたアナログ信号(0~5V)をアナログ入力端子から取り込み、デジタル値に変換します。

#ref(connect3.png);

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

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

外部機器のアナログ出力信号が弱かったり、ノイズが乗っていたりすると正常な値が得られない場合がありますので、必要な対処を行ってください。

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

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

**コントロールテーブル [#dacc04a9]
内部機能及び設定は次に示すメモリマップとして提供され、インストラクションパケットを使用して操作されます。コントロールテーブルに値を書くことで操作され、状態はコントロールテーブルから値を読むことで確認します。~

|Address|Item|Access|Initial Value|
|0 (0x0)|[[Model Number(L)>#hccba978]]|R|0x40|
|1 (0x1)|[[Model Number(H)>#hccba978]]|R|0x40|
|2 (0x2)|[[Version of Firmware>#f9a4d6ba]]|R|-|
|3 (0x3)|[[ID>#u491c6b8]]|R/W|1 (0x01)|
|4 (0x4)|[[Baudrate>#a99cb9a8]]|R/W|1 (0x22)|
|5 (0x5)|[[Return Delay Time>#nb4da701]]|R/W|250 (0xFA)|
|6 (0x6)|[[PIO0 Config>#e1746883]]|R/W|0 (0x00)|
|7 (0x7)|[[PIO1 Config>#e1746883]]|R/W|0 (0x00)|
|8 (0x8)|[[PIO2 Config>#e1746883]]|R/W|0 (0x00)|
|9 (0x9)|[[PIO3 Config>#e1746883]]|R/W|0 (0x00)|
|10 (0xA)|[[PIO4 Config>#e1746883]]|R/W|0 (0x00)|
|11 (0xB)|[[PIO5 Config>#e1746883]]|R/W|0 (0x00)|
|12 (0xC)|[[PIO6 Config>#e1746883]]|R/W|0 (0x00)|
|13 (0xD)|[[PIO7 Config>#e1746883]]|R/W|0 (0x00)|
|14 (0xE)~15 (0xF)|(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)|[[Clk>#ucdb9eef]]|R/W|0|
|49 (0x31)|[[Duty4>#f64c7360]]|R/W|0|
|50 (0x32)|[[Duty5>#f64c7360]]|R/W|0|
|51 (0x33)|[[Duty6(L)>#f64c7360]]|R/W|0|
|52 (0x34)|[[Duty6(H)>#f64c7360]]|R/W|0|
|53 (0x35)|[[Duty7(L)>#f64c7360]]|R/W|0|
|54 (0x36)|[[Duty7(H)>#f64c7360]]|R/W|0|
|55 (0x37)|[[Count(L)>#f9933919]]|R|0|
|56 (0x38)|[[Count(H)>#f9933919]]|R|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|
注意: ±3%以下の許容誤差が一般に通信可能な範囲です。

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

****PIO0~7 Config [#e1746883]
各端子の機能を設定します。~
設定値と機能は以下の通りです。
|PIO|PIO Config:機能|
|0|''0'':Digital In, ''1'':Digital In+Pullup, ''3'':ADC|
|1|''0'':Digital In, ''1'':Digital In+Pullup, ''3'':ADC|
|2|''0'':Digital In, ''1'':Digital In+Pullup, ''3'':ADC|
|3|''0'':Digital In, ''1'':Digital In+Pullup, ''3'':ADC|
|4|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC, ''4'':PULSE(8bit), ''5'':PWM(8bit), ''6'':Counter(16bit), ''7'':Counter(16bit)+Pullup|
|5|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC, ''4'':PULSE(8bit), ''5'':PWM(8bit)|
|6|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC, ''4'':PULSE(16bit), ''5'':PWM(16bit)|
|7|''0'':Digital In, ''1'':Digital In+Pullup, ''2'':Digital Out, ''3'':ADC, ''4'':PULSE(16bit), ''5'':PWM(16bit)|

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

|Digital In|デジタル信号High/Lowを取り込みアドレス42に反映|
|Digital In+Pullup|Digital Inの機能+入力が不定の時は5Vにプルアップ|
|Digital Out|アドレス43に従いデジタル信号(Low:0V,High;5V)を出力|
|ADC|アナログ信号(0~5V)を取り込みデジタル値(0~1023)に変換してアドレス26~41に反映|
|PULSE|パルス信号を出力|
|PWM|PWM信号を出力|
|Counter|パルス信号を取り込みパルスをカウントしてアドレス55,56に反映|
|Counter+Pullup|Counterの機能+入力が不定の時は5Vにプルアップ|

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

****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×1024/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以外のエリアが書き換え不能となります。ロックを解除する方法は、電源を切る以外にありません。

****Clk [#ucdb9eef]

|Clk|機能|
|0|停止|
|1|前置分周なし|
|2|8分周|
|3|64分周|
|4|256分周|
|5|1024分周|

****Duty4~7 [#f64c7360]
PIO4~7のPWM出力時のデューティーを設定します。PIO4,5は8bit、PIO6,7は16bitです。

****Count [#f9933919]
PIO4 Configを6又は7に設定しPIO4にパルス信号を入力した時、パルスをカウントした値を保存します。

« Prev[4]  Next »[5]