二足歩行ロボット研修二足歩行ロボット研修(kora編)

二足歩行ロボット研修(kora編)[10] DYNAMIXEL XM540の動作確認

3Dプリンタによるフレームの出力 二足歩行ロボット研修

こんにちは。koraです。

今回はハードウェアの製作を一旦脇に置いて、サーボモーターの動作確認をしたいと思います。

XM540の通信方法

本ロボットに使用するサーボモーターは、最初の投稿で述べたとおり、DYNAMIXEL XM540-W150-R です。シリアル通信でコマンドを送ることで、動作させたり状態を取得したりすることができます。

PCやRasbperry Piから動かす場合、U2D2 というUSB通信コンバータを使うとUSBポートからサーボモーターと通信することが可能です。私も当初はこの製品を使おうと考えていたのですが、ハードウェアの設計を進めていくうちに、ロボットの背中にU2D2を搭載するのは収まりが悪いのではないかと気になってしまいました。そこで基板上に実装できる電子部品でXM540を動かす方法を試します。

DYNAMIXELのサーボモーターはコネクタが3ピンのものと4ピンのものがありますが、XM540は4ピンです。4ピンのDYNAMIXELサーボモーターはシリアル通信にRS485という規格が使われてます。4ピンのうち2本が信号線で、差動信号によってデータを送受信するので、信号線が1本の場合より耐ノイズ性が高く高速通信に向いています。

Dynamixel Wizardで動作確認

まずはU2D2の代わりにUSBシリアル変換モジュールRS485変換IC SN75176BPを使って、PC上でDinamixel Wizard 2.0が機能するか確認します。

※XM540の動作電圧は10.0 ~ 14.8Vです。場合によっては接続した電子部品、サーボモーター、PCが損傷する可能性があります。ここに示す方法を試す場合は自己責任でお願いします。

USBシリアル変換モジュールはTXピンから信号が出力しRXピンで信号を受け取ります。これをSN75176BPでRS485に変換するのですが、送信中はこのICのDEピンとREピンをHIGHに、受信中はLOWにする必要があります。サーボを動かすだけなら送信しかしないので常にHIGHでもいいのですが、Dinamixel Wizardはサーボと送受信するので切り替えが必要です。実はここで使用するUSBシリアル変換モジュールには、デフォルトの設定ではCB2ピンからその切り替え信号が出ているのでそのまま利用することができます。

ブレッドボード上で接続するとこのようになります。
ブレッドボード上で接続

それぞれのパーツを接続し、サーボに電源を供給すると、Dynmixel Wizard 2.0からXM540の認識に成功しました。実際に動かしてみるとこのようになりました。

ちなみに、本来RS485の規格では終端で信号の反射を防ぐために終端抵抗が組み込まれるそうですが、U2D2のマニュアル曰くDYNAMIXELサーボで使われるような小規模の信号線ではあまり必要ないそうです。もし通信が安定しなくなるようであれば、追加したいと思います。

次回

次は、Raspberry Pi 4のGPIOヘッダーからシリアル信号を出力してXM540を動かしてみたいです。

タイトルとURLをコピーしました