Arduinoでロボゼロのサーボを動かしてみよう!(11)
これまでプログラミングを示せるArduinoを使ってやってきましたが、今回はタイトルから少しそれますが「USB-TTLコンバータで直結して動かしてみたい」と思います。
USB-TTLコンバータ(5V)
ロボゼロにも何号かで付いてくるのかな???確かじゃないですが、
- FT232RL (秋月):有名どころ
- FTDI Basic Breakout 5V 「5V動作Arduino Pro/Pro Mini向け小型USB-シリアルアダプタ 」(スイッチサイエンス):Arduino用ですが、普通にUSB-TTLのアダプターとして使えます
- USB-TTL変換[USB-TTL2302HX-5PIN] (aitendo)
- USB-UART変換モジュール[USB2UART-CP2102](aitendo)
- USBシリアル変換ボード[ddkit0802](ダイセン電子工業):これはちょっと高いね。
- FTDI Cable 5V(sparkfun):FTDIがどこに隠れてるの!?って思ってしまうくらいのUSB-TTL変換ケーブル。これの3.3V版は、ストロベリーリナックスで扱ってる。5V版を扱ってる代理店は今のところなさそう。
と、いくつか書いておきましたが、いろんなところでいろんなのがあるかと思います。お好みに合わせて選んで下さい。5VのArduino Pro/Pro Miniを使う予定のある人は、FTDI Basic Breakout 5Vも一石二鳥でいいのかもしれませんね。
接続
図はFTDI Basic Breakout 5Vを繋いだ様子の模式図です。USB-TTL/UARTのTxDをサーボのシグナルに繋ぎます。
ターミナルソフト
コマンドがバイナリーなので、バイナリーを送信できるようなターミナルが必要です。WindowsだとBinaryTerminalというのがあるようです。あと、いまいち使い勝手は悪いんですが、ロボザックの時に作った、RZ1Terminalというのでも、とりあえずはバイナリーを送れるようにはしてあります。ウインドウズ版とマック版と両方ありますので、他に良い物が見つからなければ使ってみて下さい(こちら)
とりあえずRZ1Tarminalでやってみますか
- のようにUSB-TTLコンバーターやサーボを繋ぐ
- RZ1Tarminalを起動させる
- ポートとボーレートを設定して「接続」ボタンで接続
- トルクをONにする
「FA AF 01 00 24 01 01 01 24」をHEXの所に書き、「HEX送信」ボタンをクリック
- サーボを100度に回転
「FA AF 01 00 1E 02 01 E8 03 F7」を送信 - サーボを-100度に回転
「FA AF 01 00 1E 02 01 18 FC F8」を送信 - 回転方向を反転
「FA AF 01 00 05 01 01 01 05」を送信
※この時点でサーボの位置も反転
※もし電源を切ってもリバースのままにしておきたい場合は「FA AF 01 60 FF 00 00 9E」で書き換え&再起動。もう一度トルクONにしてから。 - サーボを-100度に回転
「FA AF 01 00 1E 02 01 18 FC F8」を送信
※100度に回転するハズ - 回転方向を正転
「FA AF 01 00 05 01 01 00 04」を送信
てな感じです。どうでしょうか?うまく行きましたか?!
※RS30xPacketUtilの回転方向のパケットが間違っています。アドレス部分が4となってしまいますが、5です。(上記は既に書き換えた正しいパケットです)
RS30xPacketUtilバージョンアップ
RS30xPacketUtilをバージョンアップして、上記不具合の修正と、簡単なコントロール機能を設けました、また別途ブログ記事書きます。
----------------
さて、今回は以上です。また次回をお楽しみに
----------------
- 「週刊 ロボゼロ」 第3号(3)Arduinoでサーボのテスト(PWM)
- Arduinoでロボゼロのサーボを動かしてみよう!(2)
- Arduinoでロボゼロのサーボを動かしてみよう!(3)
- Arduinoでロボゼロのサーボを動かしてみよう!(4)
- Arduinoでロボゼロのサーボを動かしてみよう!(5)
- Arduinoでロボゼロのサーボを動かしてみよう!(6)
- Arduinoでロボゼロのサーボを動かしてみよう!(7)
- Arduinoでロボゼロのサーボを動かしてみよう!(8)
- Arduinoでロボゼロのサーボを動かしてみよう!(9)
- Arduinoでロボゼロのサーボを動かしてみよう!(10)
- Arduinoでロボゼロのサーボを動かしてみよう!(11)
- RS30xPacketUtil
- Arduinoでロボゼロのサーボを動かしてみよう!(1〜10要約)
----------------
にほんブログ村
| 固定リンク
「Arduino / Processing」カテゴリの記事
- Intel Galileo 開発ボード(1)入手(2014.02.24)
- FirmaSBBLE(浜サブレー) 公開(2013.12.30)
- SoftModemインターフェースボード で遊んでみる(5)(2011.10.13)
- SoftModemインターフェースボード で遊んでみる(4)(2011.10.13)
- SoftModemインターフェースボード で遊んでみる(6)(2011.10.21)
「週刊 ロボゼロ」カテゴリの記事
- Xcontroller 0.7.0 公開(2014.02.12)
- JO-ZERO2&ROBOXEROに対応した無線式送受信機JXB-1(2014.02.05)
- RCBController 1.0.0 公開(2013.09.28)
- 「SBDBT BLE for RCB」ファーム更新 (2013/9/23)(2013.09.24)
- 「SBDBT BLE for RCB with techBASIC」更新 (2013/9/23)(2013.09.27)
この記事へのコメントは終了しました。
コメント
早速、USB-TTLコマンドで実験していただき有難うございます。プログラムの丁寧な説明までしていただき、感謝、感激です。
手元にFT232RLがあるのでチャレンジしてみます。USB-TTLコマンド方式はロボゼロを組み立てている方にとっても手軽にサーボを設定変更できるので、朗報ですよね。
今後もよろしくお願いします。
投稿: takuo | 2011年4月22日 (金) 09時14分
お気づかれているかもしれませんが、RS304MDの取扱説明書の最新版ver.1.11では、フラッシュROM書込みとサーボの再起動を同時に指示することはできないように修正されていました。
投稿: takuo | 2011年4月23日 (土) 08時55分
takuoさん。
いえ、できます(双葉さんに確認してます)。
確かにマニュアルには別々にと書いてありますし、問い合わせた答えとしては、メーカー保証無しの動作として、動作することを認めています。
いちおう、そのことは以前、ここ
http://micono.cocolog-nifty.com/blog/2011/03/arduino-1acc.html
の(6)に書いてあります。
投稿: micono | 2011年4月23日 (土) 20時48分