ショップページへ

[Upload]

概要 anchor.png

DXSHIELD・Arduino・Dynamixel XL430-W250-T・電源をセットにした入門キットです。 本キットに関する基礎知識、ソフトウェアの導入方法、C言語プログラミングの基礎、ロボット制作ガイドまで、図解で解りやすく解説した学習ガイドを用意しましたので、プログラミング未経験の方でも始められます。 学習ガイドでは実用的な例を用い、目標実現に必要な知識を学んで行くことで、よりイメージしやすくスムーズな学習を助けます。

Page Top

仕様 anchor.png

Page Top

同梱内容 anchor.png

型式等数量備考
DXSHIELD1BTE074B
Arduino1NerO-SP1
Dynamixel2XL430-W250-T
USBケーブル1
電源1 
Page Top

使用方法 anchor.png

Page Top

接続方法 anchor.png

ここでは予めJP1~JP4に同梱のピンソケットが、CN1ないしCN12には電源供給用のコネクタないしジャックが装着されているものとします。

  1. ArduinoにDXSHIELDをスタックさせる。その際に両基板のピンソケット以外が物理的に接触していない事。他のシールドを同時に使用する際は、DXSHIELDが使用している端子に十分配慮する事。
    [Upload]
  2. Dynamixelのコネクタと同じDXSHIELD上のコネクタ同士を接続する。DXSHIELDにはTTL・RS-485 I/F共に各々5個のコネクタが装備されているが、I/Fの種類が一致してさえいればどのコネクタを使用しても構わない。
  3. DXSHIELDのCN1ないしCN12からDynamixelが要求する仕様の電源を供給する。この時絶対に電源の極性を間違えてはならない。
  4. DXSHIELDのJP1がオープンの場合はArduino本体への電源供給が必要なため、別途USBケーブルやACアダプタをArduinoへ接続して電源供給する。
    DXSHIELDのJP1がショートの場合はCN1からの電源がArduinoへも分配されるので、別途ArduinoへACアダプタを使って給電する必要がない。
[Upload]
Page Top

モード選択 anchor.png

Arduinoの種類に依存する部分が多々ありますが、ここではDXSHIELDをArduino UNOに装着して使用する前提として3つのモードを説明します。

Page Top
ソフトウェアシリアルモード anchor.png

ArduinoのIO8・IO9ピンをソフトウェアシリアルで構成しDynamixelと通信するモードです。ArduinoのUSBシリアル通信機能(ハードウェアシリアル)はDynamixelの制御以外の目的に使用できます。
Arduinoには任意の端子をシリアル通信の送受信端子として使用するSoftwareSerialライブラリが用意されています。最大57600bps程度であれば概ね実用レベルです。
JP2JP3はいずれもショートさせ、SW1を図の位置(SOFT)に切り替えます。

[Upload]

本設定によりArduinoのデジタル入出力端子のうちIO8とIO9をソフトウェアシリアル用の端子として使用するため、この2つの端子は他の目的で使用してはなりません。
また、Arduinoにユーザのスケッチを転送する際は、無条件に本モードに変更しておかないと転送に失敗します。

Page Top
ハードウェアシリアルモード anchor.png

ArduinoのIO0・IO1ピンをハードウェアシリアル(Serial0)で構成しDynamixelと通信するモードです。ArduinoのIO0・IO1に接続されたUSBシリアル通信機能を犠牲にしても高速かつ安定した通信を要求する場合にの設定です。
予めソフトウェアシリアルモードにおいてライブラリによる制御の理解が得られ、スケッチの書き込み時以外にUSBシリアルによる通信を必要としない場合に本設定を選択します。
JP2JP3はいずれもショートさせ、SW1を図の位置(HARD)に切り替えます。

[Upload]

本設定を行った場合は、自身のスケッチでSerialライブラリを使用してはなりません。また、IO0・IO1ピンとUSBシリアル通信機能は他の目的で使用する事ができません。
なお、スケッチをコンパイルして描き込む際は、本設定が電気的にUSBシリアル通信機能に影響を及ぼすため、その都度ソフトウェアシリアルモードに切り替える必要があります。

Page Top
USBパススルーモード anchor.png

Arduinoに搭載されたUSBシリアル通信機能を用いてPCなどからDXSHIELDをDXHUBライクに直接使用するモードです。Dynamixelの内部パラメータの変更や制御をPCから行う場合は本設定を行います。
まずArduino IDEにてデフォルトで生成されるコード(コードとしては意味を持たない無限ループするだけのスケッチ)をコンパイルし、予めArduinoに書き込んでおきます。このほぼ空のスケッチはDigital I/Oやシリアル通信を使用しないため、PCとDynamixel間の通信を阻害しません。なお、これに該当する独自スケッチであればこの限りではありません。

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

DXSHIELDをソフトウェアシリアルモードに設定してこの何もしないスケッチを書き込んだ後、USBパススルーモードにします。
JP2JP3はいずれもショートさせ、SW1を図の位置(THROUGH)に切り替えます。

[Upload]

なお、ArduinoのUSBシリアルを担うマイコンに書き込まれているファームウェアの都合で、大きなデータを連続で送受信する事ができません。プロトコルV1を装備するDynamixelシリーズであれば概ね問題はありませんが、プロトコルV2を装備するDynamixelシリーズではコントロールテーブルの拡大に伴いこの問題が露見します。
また、ArduinoのUSBシリアルとRoboPlusとの相性もよろしくないので、本モードを積極的に使用する事は推奨しません。

Page Top

ソフトウェア anchor.png

Page Top
Dynamixel Library for PC anchor.png

DXSHIELDをUSBパススルーにする事で、Dynamixel Libraryを併用してシリアル通信やプロトコルを意識せずにPCから制御する事ができます。

詳細はDYNAMIXEL Protocol 1.0 LibraryDYNAMIXEL Protocol 2.0 Libraryにて。

なお、ArduinoのUSBシリアル通信機能は過度なトラフィックがかかるとデータがドロップするため、運用には予め十分な検証を行っておくべきです。

Page Top

その他 anchor.png

Page Top

注意事項 anchor.png

  • a

Front page   Diff ReloadPrint View   Page list Search Recent changes   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Last-modified: 2018-12-13 (Thu) 14:19:34 (JST) (339d)