robo8080のブログ

ロボット製作や電子工作など。

XBeeでシリアルコマンドサーボモータを動かしてみた。

2012年04月01日 | 電子工作

MARY-XB基板XBeeシリーズ1XBeeエクスプローラUSBXBeeエクスプローラ5Vマイコン用 入手。

 

 

まず、X-CTUで設定をしてXBeeの単体動作確認。OK。

XBeeの設定はここを参考にさせていただいた。

 

いよいよ、XBee + フタバのシリアルコマンドサーボRS304MDで実験。

サーボ側には、XBeeエクスプローラ5Vマイコン用を使用。

ここの回路を参考にさせていただいた。

PC側(Win7)にはXBeeエクスプローラUSBを使用。

C#で作った動作確認プログラムでRS304MDの制御コマンドを送って動作確認した。

RS304MDのコマンド通信に関してはここを参考にさせていただいた。

【C#プログラム 要点のみ】

//---------途中省略---------------------------------------------------------------

//トルクON
byte[] trqOn = { 0xFA, 0xAF, 0x01, 0x00, 0x24, 0x01, 0x01, 0x01, 0x24 };
//時計回り144度
byte[] cw144 = {0xFA, 0xAF, 0x01, 0x00, 0x1E, 0x02, 0x01, 0xA0, 0x05, 0xB9};
//反時計回り144度
byte[] ccw144 = { 0xFA, 0xAF, 0x01, 0x00, 0x1E, 0x02, 0x01, 0x60, 0xFA, 0x86 };

//---------途中省略---------------------------------------------------------------

private void send_Cmd(int id, byte[] cmd)
{
    cmd[2] = (byte)id;

    byte sum = cmd[2];
    for (int i = 3; i < cmd.Length - 1; i++)
    {
        sum ^= cmd[i];
    }
    cmd[cmd.Length - 1] = sum;

    serialPort1.Write(cmd, 0, cmd.Length);
}

private void button1_Click(object sender, EventArgs e)
{
    if (serialPort1.IsOpen) send_Cmd(1, trqOn);
}

private void button2_Click(object sender, EventArgs e)
{
    if (serialPort1.IsOpen) send_Cmd(1, cw144);
}

private void button3_Click(object sender, EventArgs e)
{
    if (serialPort1.IsOpen) send_Cmd(1, ccw144);
}
//---------以下省略---------------------------------------------------------------

 

XBeeエクスプローラUSBだとなぜか頻繁にXBeeの接続が切れるので、MARY-XB基板に変更。

この組み合わせだと接続が安定した。

 

動画はこちら。

XBee + 双葉のシリアルコマンドサーボRS304MDの実験をしてみた。

 

次は、同じくシリアルコマンド方式のDynamixel AX-12Aを動かしてみた。

回路はRS304MDのときと同じものを使用。

AX-12Aの通信プロトコルはここを参考にさせていただいた。

動画はこちら。

XBee + シリアルコマンドサーボ AX-12Aの実験をしてみた。

 

一通り動作確認ができたので、小型無線LANカメラとXBee+シリアルコマンドサーボで物体追跡をやってみた。
無線LANカメラはPLANEXのCS-W07G-CYを使用。
サーボモータはシリアルコマンド方式のDynamixel AX-12Aを使用。
画像はPC上のProcessingで処理。PCとサーボモータ間はXBee接続。
無線LANカメラ->無線LAN->PC(Processingで画像処理)->XBee(サーボコマンド)->AX-12Aサーボ、という流れ。

 

―以上―

 


3月31日(土)のつぶやき

2012年04月01日 | 日記
07:35 from Janetter (Re: @jxtahara
@jxtahara まぁ、徐々に...(^^;)

07:57 from Tweet Button  [ 1 RT ]
ヤマト2199 冒頭10分間無料。冥王星沖海戦にはそういう意味があったのか。知らなかった。宇宙艦の細部の描きこみがたまらない。 --- 宇宙戦艦ヤマト2199特集│バンダイチャンネル - b-ch.com/contents/feat_…

08:08 from Janetter (Re: @jxtahara
@jxtahara 私も昔Mac使ってました。Macintosh IIcx、Macintosh Quadra700その他。昔のMacは高くてAppleにはいっぱい貢ぎました。(^^;) 今はiPadだけ。

10:51 from Janetter
processing-2.0a4、2.0a5だと、nyar4psg-1.2.0動かないな...

11:33 from Janetter
Processing for Android上ではNyARToolkit for processing動かないな。

11:42 from Janetter (Re: @Processing_Unit
おお、使ってみたい。 RT @Processing_Unit XBee WIFIその3: つながってしまえば、後は簡単ですね。X-CTUでTCPに設定すれば、telnetでもhttpでも、そのままシリアルから文字列でやりとりできます。これは便利かも。

18:48 from Janetter
Android SDK Tools, revision 17のインストールではまり中。SDK Managerが自分が入っているディレクトリ名を自分で変更しようとして失敗している。なんだこれ。

by robo8080 on Twitter