メモリマップ anchor.png

Dynamixelの内部機能及び設定は次に示すメモリマップとして提供され、インストラクションパケットを使用して操作されます。Dynamixelはコントロールテーブルに値を書くことで操作され、状態はコントロールテーブルから値を読むことで確認します。
16ビットデータレジスタは(L)と(H)の2バイトで表されます。両方のバイトが1つのインストラクションパケットにおいて同時に書き込まれる必要があります。

Control Table
AddressItemAccessInitial Value
0 (0x0)Model Number(L)R13 (0x0D)
1 (0x1)Model Number(H)R0 (0x00)
2 (0x2)Version of FirmwareR?
3 (0x3)IDR/W100 (0x64)
4 (0x4)BaudrateR/W1 (0x01)
5 (0x5)Return Delay TimeR/W250 (0xFA)
6 (0x6)(Reserved)--
7 (0x7)(Reserved)--
8 (0x8)(Reserved)--
9 (0x9)(Reserved)--
10 (0xA)(Reserved)--
11 (0xB)Highest Limit TemperatureR/W100 (0x64)
12 (0xC)Lowest Limit VoltageR/W60 (0x3C)
13 (0xD)Highest Limit VoltageR/W190 (0xBE)
14 (0xE)(Reserved)--
15 (0xF)(Reserved)--
16 (0x10)Status Return LevelR/W2 (0x02)
17 (0x11)(Reserved)--
18 (0x12)(Reserved)--
19 (0x13)(Reserved)--
20 (0x14)IR Obstacle Detect Compare ValueR/W32 (0x20)
21 (0x15)Light Detect Compare ValueR/W32 (0x20)
22 (0x16)(Reserved)--
23 (0x17)(Reserved)--
24 (0x18)(Reserved)--
25 (0x19)(Reserved)--
26 (0x1A)IR Left Fire DataR?
27 (0x1B)IR Center Fire DataR?
28 (0x1C)IR Right Fire DataR?
29 (0x1D)Light Left DataR?
30 (0x1E)Light Center DataR?
31 (0x1F)Light Right DataR?
32 (0x20)IR Obstacle DetectedR?
33 (0x21)Light DetectedR?
34 (0x22)(Reserved)--
35 (0x23)Sound DataR/W?
36 (0x24)Sound Data Max HoldR/W?
37 (0x25)Sound Detected CountR/W?
38 (0x26)Sound Detected Time (L)R/W?
39 (0x27)Sound Detected Time(H)R/W?
40 (0x28)Buzzer Data 0R/W?
41 (0x29)Buzzer Data 1R/W?
42 (0x2A)Present VoltageR?
43 (0x2B)Present TemperatureR?
44 (0x2C)Registered InstructionR/W0 (0x00)
45 (0x2D)(Reserved)--
46 (0x2E)Remocon ArrivedR0 (0x00)
47 (0x2F)LockR/W0 (0x00)
48 (0x30)Remocon RX Data 0R?
49 (0x31)Remocon RX Data 1R?
50 (0x32)Remocon TX Data 0R/W?
51 (0x33)Remocon TX Data 1R/W?
52 (0x34)IR Obstacle Detect CompareR/W?
53 (0x35)Light Detect CompareR/W?
Page Top

各アイテムの詳細 anchor.png

Page Top

Model Number anchor.png

モデルナンバーです。

Page Top

Version of Firmware anchor.png

ファームウェアのバージョンです。

Page Top

ID anchor.png

各Dynamixelを特定するための固有のIDナンバーです。同じネットワークの各Dynamixelは異なるIDでなければなりません。

Page Top

Baudrate anchor.png

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

主なBaudrateのデータ値

Set value(Dec.)Set value(Hex.)Baudrate[BPS]Target Baudrate[BPS]Error※[%]
10X011000000.010000000.000
30X03500000.05000000.000
40X04400000.04000000.000
70X07250000.02500000.000
90X09200000.02000000.000
160X10117647.1115200-2.124
340X2257142.9576000.794
1030X6719230.819200-0.160
2070XCF9615.49600-0.160

注意: ±3%以下の許容誤差が一般に通信可能な範囲です。

Page Top

Return Delay Time anchor.png

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

Page Top

Highest Limit Temperature anchor.png

Dynamixelの動作温度の上限です。Dynamixelの内部温度(Present Temperature)がこの値より高くなるとOverheating Errorが起こります。値は℃です。

Page Top

Lowest Limit Voltage, Highest Limit Voltage anchor.png

Dynamixelの動作電圧の上限と下限です。現在の電圧(Present Voltage)が指定した範囲から出ると、Input Voltage Errorが起こります。値は実際の電圧の10倍です。例えばLowest Limit Voltageが80なら、電圧の下限は8Vに設定されます。

Page Top

Status Return Level anchor.png

インストラクションパケットを受けた後にステータスパケットを返すか否かを決定します。

Adress16ステータスパケット
0PING以外のインストラクションには応答しない
1READ_DATAだけに応答する
2すべてのインストラクションに応答する

Broadcast ID(0xFE)を使ったインストラクションの場合は、Status Return Levelの値に関わらずステータスパケットを返しません。

Page Top

IR Obstacle Detect Compare Value anchor.png

赤外線センサの方向に物体があるか否かを判断するための基準値です。赤外線センサの値がこの基準値より高ければ物体が判定距離内にあると判断し、赤外線センサの方向に対応した物体感知値(IR Obstacle Detected)のビットに1が設定され、基準値より低ければ判定距離内にはないと判断し0が設定されます。
物体感知基準値(IR Obstacle Detect Compare Value)は、EEPROM(Address0x14)とRAM(Address0x34)の2箇所に割り当てられており、電源が入れられるとEEPROMの値がRAMにコピーされます

Page Top

Light Detect Compare Value anchor.png

輝度センサで明るいと判断する基準値です。輝度センサの値がこの基準値より高ければ明るいと判断し、輝度センサの方向に対応した輝度感知値(Light Detected)のビットが1に設定され、基準値より低ければ暗いと判断し0が設定されます。照明感知基準値(Light Detect Compare Value)はEEPROM(Address0x15)とRAM(Address0x35)の2箇所に割り当てられていて、電源が入れられるとEEPROMの値がRAMにコピーされます。

Page Top

IR Left Fire Data, Light Center Data, IR Right Fire Data anchor.png

赤外線センサの距離検出値です。3方向へ赤外線を放射し、壁や物体に反射して戻ってきた赤外線の量を測定します。壁や物体が近くにあるほど高い値になります。測定値は0~255です。赤外線による測定なので壁や物体の色相や表面の質感によって反射率が変わり測定値に差が生じる場合があります。

Page Top

Light Left Data, Light Center Data, Light Right Data anchor.png

赤外線を放射せずに、照明から放射される赤外線を3方向から測定する輝度検出値です。白熱電球のような赤外線を強く放射する照明の輝度を測定できます。またライターやロウソクのようなものとの距離の測定が可能です。測定値は0~255です。

Page Top

IR Obstacle Detected anchor.png

赤外線センサの距離検出値(IR Left Fire Data, Light Center Data, IR Right Fire Data)が物体感知基準値(IR Obstacle Detect Compare Value)より高くなると、物体を感知したと判断し対応するビットを1に設定します。各センサのビットは下表です。

Bit内容
Bit2右側センサの物体感知
Bit1前方センサの物体感知
Bit0左側センサの物体感知
Page Top

Light Detected anchor.png

輝度センサの輝度検出値(Light Left Data, Light Center Data, Light Right Data)が照明感知基準値(Light Detect Compare Value)より高くなると、明るいと判断し対応するビットを1に設定します。各センサのビットは下表です。

Bit内容
Bit2右側センサの照明感知
Bit1前方センサの照明感知
Bit0左側センサの照明感知
Page Top

Sound Data anchor.png

マイクから入力される音量を測定し数値で表した値です。音量は下図のように上下に大きさが変化し無音時がおよそ127~128(0x7F~0x80)となり、音が大きいほど0又は225(0xFF)に近づきます。
AX-s1_1.png

Page Top

Sound Data Max Hold anchor.png

音量計測値(Sound Data)の最大値を保存した値です。現在の音量が最大音量に保存されている値より大きい場合は、その音量を最大音量に保存します。下図のように128より低い音量計測値は無視され、128より高い値の中で最大の音量計測値が逐次保存されます。
AX-s1_2.png

最大音量が255(0xFF)になると、これ以上大きい値がないため更新されません。改めて最大音量を測定したい場合は、この値を一度0に設定してから再度測定する必要があります。

Page Top

Sound Detected Count anchor.png

あるレベル以上の音量の音をカウントした値です。例えば拍手の回数をカウントするといったことが可能です。下図のように1回の拍手の音を複数回と誤認識することを避けるために、1回カウントすると約80msecの間はカウントしません。また最後にカウントしてから800msecが経つとカウントした値が保存されます。
AX-s1_3.png

Page Top

Sound Detected Time anchor.png

音の発生時刻です。Sound Detected Countがカウントされるたびにその時の時刻を保存します。この機能は音源の方向を検知するために使用します。音の発生時刻は、内部でカウントしている値(0~65535を繰り返してカウント)を基に、Sound Detected Countが増加する時のカウント値を保存します。2個のAX-S1を適当な位置に置き、Sound Detected TimeをBroadcast命令で同時に0に初期化させた後に音を発生させると、2つのAX-S1は音源の方向による時間差が発生します。正面に置いた場合はほぼ同じ時刻に感知されますが、横方向に音源がある場合、AX-S1の置いた距離に比例する時間差が生じます。この時間差を利用して大凡の音源の方向を把握することができます。
AX-s1_4.png
音の発生時刻の基になるカウンタは約4.096msecで0~65535をカウントし、65535までカウントしたら再び0からカウントします。音速を基に計算すると、音は1カウント当たり0.02mm程度の距離を移動するので、2つのAX-S1間の距離は70cm以下でなければなりません。例えば2つのAX-S1が10cm離れている場合、2つのAX-S1の音の発生時刻は最大で5000の差が生じます。5000の差が生じるのは音源が完全に90度左または右にあるときです。

Page Top

Buzzer Data 0 anchor.png

値を書き込むことでビット音を再生します。ブザーの音階は52段階あります。ブザーの音階値は下表のように割り当てられています。

ブザー値音階ブザー値音階ブザー値音階ブザー値音階
013ラ#2639
1ラ#142740ド#
21528ド#41
316ド#2942レ#
4ド#1730レ#43
518レ#3144ファ
6レ#1932ファ45ファ#
720ファ33ファ#46
8ファ21ファ#3447ソ#
9ファ#2235ソ#48
1023ソ#3649ラ#
11ソ#2437ラ#50
1225ラ#3851
Page Top

Buzzer Data 1 anchor.png

値を書き込むことでブザーを鳴らす長さを調節します。0.1秒単位で調節が可能で、最小は0.3秒、最大で5秒まで再生することができます。0~3の値を入れると0.3秒間ブザーが鳴り、50以上の値を入れると5秒ブザーが鳴ります。ブザーが鳴り終わると自動で0に初期化されます。
この他にも2つ機能があります。1つ目はブザーを鳴らし続ける機能で、Buzzer Data 1に254を設定し、Buzzer Data 0に音階値を設定するとブザーが鳴り続けます。止めるにはBuzzer Data 1に0を設定します。
2つ目はメロディーの再生です。Buzzer Data 1に255を設定し、Buzzer Data 0に0~26を設定すると、各値に対応したメロディーを再生します。メロディーの再生が終わるとBuzzer Data 1が自動で0に初期化されます。

Page Top

Present Voltage anchor.png

現在のDynamixelに供給されている電圧です。値は実際の電圧の10倍です。例えば、10Vは100(0x64)と表します。

Page Top

Present Temperature anchor.png

Dynamixelの内部温度(℃)です。

Page Top

Registered Instruction anchor.png

REG_WRITEコマンドでインストラクションが格納されたとき1が設定され、ACTIONコマンドによって格納されたインストラクションが完了したら0が設定されます。

Page Top

Remocon Arrived anchor.png

本体前方に赤外線リモートコントロールセンサモジュールが搭載されており、AX-S1同士の赤外線リモートコントロール通信ができます。2バイト単位の送信が可能です。赤外線送信部は前/左/右の3方向に装着されており、どの方向からでもデータを送信できますが、受信部は前方のみ装備されているためデータの受信は限定された角度のみ可能となります。データがセンサに受信されるとRemocon Arrivedは2になります。これは2バイト受信したという意味です。

Page Top

Lock anchor.png

1が設定されるとAddress24(0x18)からAddress35(0x23)以外のエリアが書き換え不能となります。ロックを解除する方法は、電源を切る以外にありません。

Page Top

Remocon RX Data anchor.png

赤外線リモートコントロールセンサで受信したデータを保存します。この値が読みだされるとRemocon Arrivedは自動で初期化され0になります。

Page Top

Remocon TX Data anchor.png

赤外線で送信するデータをここへ書き込みます。2バイトの値を書き込んだ直後にリモートコントロールデータが送信されます。

Page Top

IR Obstacle Detect Compare anchor.png

IR Obstacle Detect Compare ValueをメモリマップのRAM領域に保存するための場所です。

Page Top

Light Detect Compare anchor.png

Light Detect Compare ValueをメモリマップのRAM領域に保存するための場所です。

Page Top

Range anchor.png

各データには有効な最小値、最大値があります。この有効値外に書き込まれたインストラクションはエラーを返します。下表に各レジスタのデータ範囲と長さをまとめています。16ビットデータレジスタは(L)と(H)の2バイトで表されます。両方のバイトが1つのインストラクションパケットで同時に書き込まれる必要があります。

Write AddressWriting ItemLength(bytes)MinMax
3 (0x03)ID10253(0xFD)
4 (0x04)Baudrate10254(0xFE)
5 (0x05)Return Delay Time10254(0xFE)
11 (0x0B)Highest Limit Temperature110(0x10)99(0x63)
12 (0x0C)Lowest Limit Voltage150(0x32)250(0xFA)
13 (0x0D)Highest Limit Voltage150(0x32)250(0xFA)
16 (0x10)Status Return Level102
20 (0x14)IR Obstacle Detect Compare10255(0XFF)
21 (0x15)Light Detect Compare10255(0XFF)
36 (0x24)Sound Data Max Hold10255(0XFF)
37 (0x25)Sound Detected Count10255(0XFF)
38 (0x26)Sound Detected Time2065535(0xffff)
40 (0x28)Buzzer Data 010255(0xff)
41 (0x29)Buzzer Data 110255(0xff)
44 (0x2C)Registered Instruction101
47 (0x2F)Lock111
50 (0X32)Remocon TX Data2065535(0xffff)
Page Top

RAM EEPROM anchor.png

Address0から23はEEPROMエリア、Address24から53まではRAMエリアです。RAMエリアのデータは電源を入れたときに常に初期値に設定されます。EEPROMのデータは電源を切ってもその時の値が残ります。
コントロールテーブルの右側のInitial ValueはEEPROMエリアデータの製造時の初期値と、RAMエリアデータの電源を入れた時の初期値です。
EEPROMエリアデータの書き換え回数には制限があります。必要な時のみ書き換えられるような運用を行う必要があります。


トップ   差分 リロード印刷に適した表示   全ページ一覧 単語検索 最新ページの一覧   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
最終更新: 2010-11-29 (月) 19:56:20 (JST) (4888d)