« Arduinoでロボゼロのサーボを動かしてみよう!(2) | トップページ | あれこれい〜っぱいで幸せ〜 »

Arduinoでロボゼロのサーボを動かしてみよう!(3)

前回、「コマンド方式のサーボテスタ」を作ってみましたが、サーボをコマンドで動かす為には、パケットというものを受送信します。

そのパケットには

  • ショートパケット:ひとつのサーボに対して送る場合
  • ロングパケット:複数のサーボに送る場合
  • リターンパケット:サーボから返信されてくるパケット

の3種類のタイプがあり、目的に合わせて、このパケットを作り、サーボに送信します。

今回は、
このパケット作成する「RS30xPacketUtil」という簡単なアプリを作ったので紹介したいと思いますhappy01paper(※各自の責任においてご利用下さい)

oneダウンロード
RS30xPacketUtilを以下のリンクをクリックするとダウンロードできます。ダウンロードしたファイルは圧縮されています。適当な所に解凍してお使い下さい。

twoパケットプリセット
Commandのポップアップメニューから以下のタイプのパケットのプリセットを選択できます。複数個のサーボを使う場合、IDの部位にあらかじめサーボのID番号をスペースを空けて16進数で入力して下さい。

●ショートorロングパケット:
目標位置,移動時間,最大トルク,トルクON,トルクOFF,トルクブレーキ,サーボIDを変更,回転方向(正),回転方向(逆),回転リミット,通信速度9600bps,通信速度14400bps,通信速度19200bps,通信速度28800bps,通信速度38400bps,通信速度57600bps,通信速度76800bps,通信速度115200bps,通信速度153600bps,通信速度230400bps,返信ディレイ時間,ROM書き込み,サーボを再起動,ROM書き込み+サーボを再起動,工場出荷時に戻す
●リターン用のショートパケット:
ROM領域,RAM領域,モデル番号,ファームバージョン,サーボID,リバース,通信速度,返信遅延時間,右リミット角,左リミット角,温度リミット,指示位置,指示時間,最大トルク,トルクON/OFF,現在位置,現在時間,現在スピード,現在負荷,現在温度,現在電圧

three使い方
「例:-144度に動かす」

  1. Command:「目標位置」を選択
  2. 角度は0.1度単位なので-1440をDecに入力
  3. Hexボタンをクリック
  4. SInt16の値をDataにペースト
  5. 最下部の赤丸に-144度に動かす為のPacketが出来上がる

20110309014820

fourRS306MDのモデル番号は
リターンに関してはまた別の機会に書きますが、リターンを取得できるように配線とプログラムすると、サーボの情報をいろいろ取得することができるようになります。

それで、RS306MDのモデル番号を見てみたら、以下の図の結果でした。
Arduinoscreensnapz001

これは、FDDF 1 0 0 2 1 40 30 72で、40 30がデータで、RS306MDのモデル番号はRS306MDでなく、RS304MDを示していましたdash [追記]:これはRS306MDとRS304MDのファームは同じものであるため、モデル番号が同じになるようです。

----------------

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

|

« Arduinoでロボゼロのサーボを動かしてみよう!(2) | トップページ | あれこれい〜っぱいで幸せ〜 »

Arduino / Processing」カテゴリの記事

週刊 ロボゼロ」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/221673/51071324

この記事へのトラックバック一覧です: Arduinoでロボゼロのサーボを動かしてみよう!(3):

« Arduinoでロボゼロのサーボを動かしてみよう!(2) | トップページ | あれこれい〜っぱいで幸せ〜 »