ラジコン用サーボモータ
ラジコン用サーボモータは飛行機のラダー・エルロン・エレベータなどの操作や自動車のステアリング操作を行う目的で設計されています。
この為に”60度のスイングスピード”がいかに速いかが性能指標になっています。
電動ラジコンカー用のステアリングサーボの様にトルクの必要な場合は必要電流が大きくてもトルクとスピードの両立を目指しています。
1個使いの場合が殆どですし、動力に使用する電流が比較にならないくらい大きいのでサーボの仕様としては、ある程度必要電流が大きいのは問題になりません。
これをロボカップジュニアのロボットに使用するとサーボの要求する電流によってマイコンがリセットする不具合が発生します。
中立点やフルスイング範囲は送信機で調整可能ですので、サーボ自体の中立点の絶対位置はあまり気になりませんが、プログラムで制御するとなると問題があります。
ロボット用シリアルサーボモータ
自立歩行ロボットの脚部を中立点で直立する様に設計して組み立てた時に、中立点が左右で異なったり、フルスイングの範囲が異なるとプログラム以前の問題です。
この為、ロボット用サーボではエンコーダを内蔵して中立点やフルスイング範囲のバラツキが非常に小さくなる様に設計されています。
基本的に自重を支える場所に使われる前提なので高トルクです。
また多軸使用(12軸とか)前提ですので電流も控えめです。
何がおいしいのか?
レスキューラインの被災者救出の際に用いるアーム機構の待機位置や操作中の位置を決めるのにサーボ制御プログラムを作ってカット&トライで希望の位置に来るようにチューニングしますが、結構手間暇がかかります。
前回・前々回で紹介したKRS-3301の場合はDual USBアダプターHSとZH接続ケーブル2B(ArduioとKRS-3301を繋ぐケーブルなので別途用意しないで繋ぎ変えるのもありです)を準備、"ICS3.5Manager.exe"を起動して”FREE”ボタンを押すとリアルタイムにサーボホーンの位置をエンコーダで読み込んで表示してくれます。
この値を使ってプログラムすれば一発で機構位置が決まります。
KRS-3301は指示された値に近づく様に動くので再現性良く指定位置に機構が動きます。
デイジーチェーン接続時が可能ですのでサーボの数が増えてもArduinoのポートは1セット分でOKです。
この際、サーボ全体の必要電流には気を付けて下さい。