UE村工房 本文へジャンプ

Visual Basic Express Editiron
コマンド方式サーボを動かしてみる


もういい加減発売から結構な時間が経っているにもかかわらず、依然としてコマンド方式サーボは難しいとか言われています。実際のところ、PCから制御する分には全然難しくない、というかPWM方式サーボ動かす方が余程面倒なんですが・・・

というわけで自作プログラムでコマンド方式サーボを動かす過程を書いてみます。


当初2008版でやっていましたが、新しいバージョンも出てるのでタイトルからそこんとこ削除します。


<本筋>
  1. 参考資料に目を通す
  2. システム構成
  3. Visual Basic 2008 Express Editionをインストールする
  4. 起動からシリアルポートの設定まで
  5. トルクのON/OFF
  6. サーボの動作
  7. コンプライアンス設定
  8. データの取得

0.参考資料に目を通す

コマンド方式サーボの取扱説明書
パケットの書式の部分、ここが判らないとちと困ります(というか動かせません)。
実際に動かすサーボが決まっているのならもちろんその機種の取説参照ですが、パケットに関する仕様は基本的に同じなので決まってない方はどれ読んでもいいです。
RSC-U485用のサンプルプログラム
動作確認とかID変更とか、HSP版のexeが色々便利です
アールティ様のブログのシリアル通信自作講座
シリアル通信に関しては必読です。
特に1-5あたりまでの概念的な話とかは、私には説明できない(できるほど判ってない)部分なのでそちらを推奨します。

1.システム構成

ハードウェアの準備については、特に重要なポイントはありません。
とりあえず必要となる部品と接続方法の例を以下に紹介しておきます。



サーボは双葉のRS485コマンド方式ならどれでもいいですが、個人的にはRS601CRを推奨します。
とにかくひたすらにタフなので、ギヤが壊れるだのモータや回路が燃えるだのというトラブルとは無縁です。
バックドライバビリティも高いので、トルクON状態で出力軸回しても大丈夫。
また電源、エラー状況がLEDで表示されるので、異常があるとすぐに判ります。


2.Visual Basic Express Editionをインストールする

http://www.microsoft.com/ja-jp/dev/default.aspx

Visual Basic Express Editiron をインストールします。
同じページにVisual何ちゃらが数種類あると思いますが、Visual Basicですのでお間違いなく。

ダウンロードが完了したら、インストール。
サイズの都合だかなんだか知りませんが、結構時間がかかるので暇つぶしの用意を推奨します。

あとインストール後、初めて起動するとライセンス登録とかが必要になります。
面倒ですが無料ですので地道に入力してください。



3.起動からシリアルポートの設定まで

★参考資料(アールティのブログ)との併読を推奨します。
というか、この章については内容同じです。

3.1.Visual Basic Express Editionを起動する。

ごくふつーにWindowsのスタートメニューからVisual Basic 2008 Express Editironを選択します。

3.2.新規プロジェクト作成

なんかゴチャゴチャ書かれた画面が出ますが、特に気にする必要は無いと思います。
メニューの【ファイル】から【新規プロジェクト】を選択してください。次のようなダイアログが開きます。



上段左端にある【Windowsフォームアプリケーション】を選択してください。
さらに画面下にある【プロジェクト名】欄に、プロジェクトの名称を入力してください。
プロジェクト名は適当でいいですが、後で自分で判るものにした方がいいでしょう。

必要事項入力して【OK】をクリックすると、次のような画面が表示されます。
この画面上にあるForm1のウィンドウが実際に作るアプリケーションの画面の枠になります。


3.3.シリアルポートの設定

参考資料に倣って、シリアルポートの設定をします。
使用するポートがわからないとマズイので、事前にデバイスマネージャで確認しておいてください。

画面左上、細く表示されている【ツールボックス】というタブにカーソルを合わせるとメニューがウニョッと出てきます。
その中の【コンポーネント】から下の方にある【Serial Port】を選択、これをForm上にドラッグ&ドロップします。

 
 

Formの上にドロップしても、Form上には特に変化はありません。
その代わり画面左下の欄外のあたりにSerial Port1という表示が出て、さらに画面右下のプロパティ欄にそのSerial Portの詳細が表示されます。

ここでシリアルポートの内容を設定します。
正直良く判らない項目もあるので、とりあえず次のところだけ設定しておいてください。

PortName  :  使用するポートの名前を入力します。
Baud Rate  :  サーボの通信速度に設定します。通常は115,200kbpsです。
Data Bit    :   8に設定します。
Parity      :   Noneに設定します。
StopBit     :    Oneに設定します。

以上で最低限の設定は完了です。
COMポートは後々アプリ上で変更できるようにしますが、とりあえず設定されたポートに固定です。


[COMポートを変更できるようにする場合]

COMポートはシリアルポートのプロパティで設定していましたが、
後々の都合を考えると設定変更できた方が便利です。

COMポートの指定にはComboBoxを使用します。
ツールボックスのコモンコントロールからドラッグ&ドロップします。



ComboBoxのプロパティでは、ItemとTextを編集します。
Itemは”(コレクション)”となっていますが、その欄の右端に出るアイコンをクリックするとコレクションエディタが開きます。



一行ずつ地道にCOM1から入力して、OKを選択してください。
通常はCOM1~COM10くらい、多くてもCOM20くらいまであれば用が足りると思います。

また、Textは設定しなくても平気ですが、ここで内容を入力しておくと、それが起動時の値になります。



これでCOMポートの選択が多少は楽になりました、ということで。


以上!