説明 | 写真 |
---|---|
サーボモータの機械可動角度 サーボモータは機械的に定められた範囲を動かすことが出来ます。 写真では全体でほぼ180度になっています。通常、電気的に角度を指示した場合、 きちんとその位置になる範囲は 中心(90度)±60度です。 中心はどうやって求めるのか? 基本的には機械的な動作のほぼ真ん中あたりですが正確にはラジコン受信機に接続して 送信機はニュートラルの状態にします。 後述するHSWB−01を使用して求めることもできます。 |
|
サーボモータの機械可動角度2 サーボモータの仕様上、中心から±60度が制御可能な範囲となりますので 右図の色を付けた所が可動範囲になります。 |
|
サーボモータの仕組み サーボモータのコネクタは3本の線で構成されています。 黄色:信号線 赤:電源+端子 黒:電源−端子 黄色の信号線のパルス幅に応じた角度になるようサーボを回転させます。 信号線の波形はこんな感じです。 |
|
HSWB−01/−01Cとの関係 では、HSWB−01Cでのサーボ数値との関係はどうなるのでしょうか? パルス幅 | 状態 |数値 |中立を90度 0.9ms|反時計回り60度| 30 |30度 1.5ms| 中 立 | 90 |90度 2.1ms| 時計回り60度|150 |150度 図で表すと右のようになります。この数値とサーボの角度との 関係は中立を90度とした場合の角度と良く合います。 |
|
足の設計とサーボ可動角度 サーボがどのように動くか解ってきたところで足の設計です。 わかりやすくするため屈伸用の膝関節で説明します。 サーボ01はサーボ本体をサーボ00のブラケットアームに固定し、ブラケットアームは 下のサーボ02と固定されていることを表しています。 この状態で屈伸をすると膝関節ですので上下の関節角度の倍動きます。 |
|
足の設計とサーボ可動角度2 膝の関節部分を良く見てください。屈伸するだけで90度使用しています。 通常のサーボ中立状態で直立を組んだときには、左右60度までですからここまで 屈伸できなくなります。 どうしたらいいでしょうか? そう、サーボホーンを一度外し、30度中立から使用しない方へずらして直立を組むと 屈伸側の可動範囲が広がるのでうまくいきます。 このとき、ずらした角度だけホームポジションを90度からずらす必要があります。 |
|
足の設計とサーボ可動角度3 実際に可動範囲をずらした状態で組み付けた場合の直立状態を示すと 右図のように必要な方向へサーボの可動角度が割り付けられている事が 解ると思います。 |
|
HSWB−01を使って中立を出す 姫路ソフトワークス社製HSWB−01を持っている人はこれを使用して 中立出ししてみましょう。 HSWB−01マイコンボードにシリアルケーブル、 マイコン用電源、サーボ用電源、サーボを接続します。 サーボはS00ポートを使用します。 試験環境の写真です。上から 全体 マイコンボード電源周り サーボ周り サーボ電源周り |
|
次に、HSWB−01Cを起動します。 |
|
モーション登録ウィンドウを開き、
動作確認ボタンで通信できているか確認します。 きちんと接続し、基板側電源が入っている場合、応答が帰ってきます。 |
|
接続の確認が終わったら、中立を出してみましょう。 00の隣の箱(現在値を入れる)に90と半角で入れ、 ホームポジション登録ボタンを押します。 すると中立に動くはずです。これで、中立セットが出来ました。 ここではわかりやすいようにサーボのファイナルギア側に真上を マーキングしています。 |
|
00の2番目の箱(目標値を入れる)に150と半角で入れ、
目標値にSV設定ボタンを押します。 すると目標値の150にサーボが動きます。 マーキングが右側に動いてます。 |
|
00の2番目の箱(目標値を入れる)に30と半角で入れ、
目標値にSV設定ボタンを押します。 すると目標値の30にサーボが動きます。 マーキングが左側に動いてます。 HSWBの使い方はFantomring様 にもHSWB講座が有りますのでそちらも参考にしてください。 |
|
|
|
モーション モーションの使い方と言うか作り方の説明です。ここでもサーボはS00に接続し1個だけで説明します。 まずは、上の方法で中立の90をホームとして登録しておきましょう。 ポーズ登録ボタンを押すとファイルネームを入れるダイアログが出てきますのでここでは「home1」と登録します。 Win版のファイル名は半角の英数のみですので間違いの無いようにね。 |
|
今回はホームポジション90度から左に5度づつ傾けて40度まで回るパターンを作ってみます。 まず、角度を−方向に動かすのでマイナスにチェックを入れます。 |
|
現在値→目標値ボタンを押して現在値を目標値フィールド(左から2番目)にコピーします。 |
|
ここで、±5変動ボタンを押すとチェックボックスの−方向へ5だけ目標値を変えてくれます。 この機能は便利なので是非使ってみてください。 そして、現在値にSV設定ボタンや目標値にSV設定ボタンを押してみてください。 サーボは設定値に従って動作します。これで,実際の動きを確認できます。 5度ほどの動きなので写真では分りにくいかもしれません。 今回のサーボ君は「hitecデジタル HS−5645MG」 |
|
動きが確認できればプログラムに変換するために設定値PG転送ボタンを押します。 すると、プログラムフィールドにプログラムが出来ます。(うーん便利) |
|
目標値→現在値ボタンを押して目標値を現在値フィールド(左端)にコピーします。 |
|
再び、±5変動ボタン、現在値にSV設定ボタンや目標値にSV設定ボタン、設定値PG転送ボタン、目標値→現在値ボタンの順に使ってプログラムを作ります。 |
|
目的の角度40度まで繰り返しプログラムを作成していきます。 プログラムフィールドには10個の繰り返しがあると思います。 |
|
ここまで来たら、作ったプログラムを登録しましょう。 プログラム登録ボタンを押すとダイアログが出てきますのでここにファイルネームを 入れます。ここではctol1としましょう。 これでモーションの登録が出来ました。 |
|
まずは、ホームポジションへの復帰ボタンを押してホームポジションに戻して実行させましょう。 プログラムの実行はプログラム実行応答あり、プログラム実行応答なしボタンで確認できます。 ダイアログのOKボタンを押すとプログラムを実行します。 |
|
プログラムフィールドは直接変更することも出来ますので、モーションプログラムをある程度作って コマンドを打ち込むことも出来ます。 |
|
プログラムで作ると M00-5 ;MAX=5 W3 を10回繰り返すことの等価プログラム例として C1 :A M00-5 W3 C2 IA9010A@@ E となる。 上記は下記の内容のとおり。 C1はカウンタ初期化命令 :Aはラベル定義 M00-5は相対移動命令 W3は時間調整 C2はカウンタ+1更新 IA9010A@@はカウンタ(アナログポート9)を参照、10未満の場合、ラベルAに 分岐、カウンタ=10で次の命令へ Eはプログラム終了 と言う方法もあります。 |
|
次は、コントロールパネルですがモーション支援を閉じるにはこの×ボタンでウィンドウを閉じて下さい。 そうすると、初期画面が現れるはずです。 |
|
|
|
コントロールパネルを選んでまずホームポジションを設定します。 ▼をクリックすると今まで登録したポーズやモーションプログラムが出てきますのでここで 先ほど設定したhome1を選びます。 |
|
次に、基本動作に先ほどの左に50度動くモーションプログラムを割り付けましょう。 先ほど作ったctol1のプログラムを選びます。 |
|
左側の次頁ボタンを押すと・・・・・ 全面パネルが出てきます。 ホームポジション設定実行してから、ctol1ボタンで左50度動かし、ホームポジション復帰ボタンで で中立位置まで戻します。 |
|
実際の動き 上がプログラムで動かしています。下はホームポジション復帰ボタンで戻しています。 プログラムの場合には時間待ちが入っているので動作が遅くなっています。 プログラムフィールド内のWコマンドで待ち時間を各角度ごとに付けています。ここで動作速度をゆっくりにして 他の関節を待つことが出来ます。 こいつはみんなへの、宿題だ! |
左へ 0.4MB.avi 中立へ 0.2MB.avi |