PMXサーボを使ってみよう 製品解説「多彩な制御モード」
KONDOの新しいサーボ合ラインアップとして「PMXサーボ」シリーズをリリースしました。これから「PMXサーボを使ってみよう」と題しまして、PMXサーボを利用するための基本情報や、必要な製品、サンプルプログラムなどを解説します。
今回の記事は、PMXサーボの基本情報としまして、制御面の機能についてご紹介します。
■5つの制御モード
PMXサーボは、5つの制御モードを備えています。また、制御モードを組み合わせて使用することも可能です。
まずは、基本的な5つの制御についてご紹介します。
・位置制御モード
角度(ポジション)を指定し、目標の角度に向けて出力軸が回転し停止する制御方法です。これは一般的なサーボモータと同様の制御モードです。
PMXサーボは、角度で目標位置を指定することができます。単位は[1/100°]です。例えば、125.5度を指定する場合は12550をサーボに送信します。片側最大320°の範囲で指定することができます。
・速度制御モード
軸の回転速度を指定して動作するモードです。位置制御モードと組み合わせていない場合は出力軸が無限回転しますので、車輪やプーリーの動力として使用できます。
PMXの速度制御は速度値で回転速度を指令することができます。単位は[1/10°/S]です。「°/S」とは、1秒間に何度移動できるかを表しています。つまり1000を指定した場合は、1秒間に100°移動する速度になります。
機種の異なるサーボに同じ速度値で指令を出すことができますので、ギヤ比やスペックの異なるサーボであっても、サーボにかかる負荷が同じ場合は同じ速度で回転させることができます。
以下の車輪駆動のロボットは車輪の動力としてサーボを搭載しています。車輪には左右移動もできるメカナムホイールを採用しました。このロボットはデモンストレーション用にギヤ比の異なるサーボを混在して使用しています(PMX-5203 x 3 , PMX-5204 x 1)。通常であれば、回転速度が異なるサーボを使用しているためまっすぐ走ることはできませんが、各サーボが同じ回転数で動作するように指示することができるため、直進、左右移動など指示通り移動することができます。
また下記の動画のように、外からの負荷がかかった場合は、出力を上げて指令された速度を維持するように制御します。
ROBOMECH2024の2日目の展示がスタート!
今回は新たに速度制御のデモ機をご用意しました。30°/秒の速度で回転するように指令していますが、外乱により速度が変わりますと、 #サーボ が30°/秒を保つようにモーター の出力を変化させて速度を維持します。グラフはサーボ の回転速度とPWM出力値です。 pic.twitter.com/xZOnPRU1Pt— KONDO_ROBOT (@KONDO_ROBOT) May 31, 2024
・電流制御、トルク制御モード
指定した電流値、または推定トルク値に従って一定の出力で動作するモードです。位置制御モードと組み合わせていない場合は、サーボの出力軸が無限回転します。電流制御の場合の単位は[mA]、トルク制御の場合は[mN・m]です。
トルク値で指示することにより、異なった機種であっても同じ力で回転させる事ができます。ただし、PMXのトルク制御は電流値から推定トルクを算出して指令値としています。内部にトルクを検出するセンサは搭載していません。そのため、搭載しているモータや機構部品の個体差により出力するトルクと指令値に差が発生する場合があります。
・PWMモード
モータの出力を直接指定して動作するモードです。デューティー比-100.00%(CCW)~+100.00%(CW)の範囲で指定することができます。PWMモードを指定した場合は、指定したデューティー比で軸が無限回転します。
■制御を組み合わせてより便利に
PMXサーボは、5つの制御モードを組み合わせて使用することができます。これにより、組み込み個所や用途に合わせた幅広いニーズに対応することができます。
■組み合わせ対応表
パターン1:サーボが動作する速度を指定して位置制御ができます。サーボに負荷がかかった場合は、速度を維持するためにモータの出力が上がります。
パターン2:サーボが出力する電流を指定して位置制御ができます。サーボに負荷がかかり電流が増えた場合は、動作がその場で停止します。
PMXサーボは、位置制御と電流制御を組み合わせることができます。
動画のデモは90度と0度の位置指令の往復動作に、100mAの電流指令を指定しました。
指で抑えても止まりますので、トルクリミットとしても使用できます。 pic.twitter.com/7jP4UIXE4E— KONDO_ROBOT (@KONDO_ROBOT) September 13, 2023
パターン3:サーボが出力するトルクを指定して位置制御ができます。パターン1の電流制御との組み合わせと同じ動作をします。
パターン4:補間制御による位置制御を実行します。「移動時間」により現在地点から目標地点まで到達する時間を指定することができます。補間制御の種類は、メモリマップの「補間制御軌道生成タイプ指定(アドレス503)」で指定することができます。
PMX #サーボ を搭載した #アームロボット を動かしました!
台座からPMX-SCR-9204HVを3個、PMX-SCR-5204HVを2個使用しています。https://t.co/yJ7KuXHdtF位置制御に移動時間を組み合わせ、補完モードの5次多項式で動いていますので、位置のみを指定するより滑らかに動作しています。 pic.twitter.com/HUeSUtl3gl
— KONDO_ROBOT (@KONDO_ROBOT) April 9, 2024
パターン5:指定した電流値を超えないように、指定した速度で回転します。サーボに負荷がかかった場合は、指定した電流値を超えない範囲で速度を維持します。
パターン6:指定したトルク値を超えないように、指定した速度で回転します。サーボに負荷がかかった場合は、指定したトルク値を超えない範囲で速度を維持します。
パターン7:指定した速度、電流値を超えない出力で、指定した位置に移動します。サーボに負荷がかかった場合は、指定した電流値を超えない範囲で速度を維持し、指定した位置へ移動します。
パターン8:指定した速度、トルク値を超えない出力で、指定した位置に移動します。サーボに負荷がかかった場合は、指定したトルク値を超えない範囲で速度を維持し、指定した位置へ移動します。
パターン9:補間制御による位置制御に、電流値による出力の指定を加えることができます。指定した「移動時間」で動作しつつ、指定した電流値の出力で動作します。
パターン10:補間制御による位置制御に、トルク値による出力の指定を加えることができます。指定した「移動時間」で動作しつつ、指定したトルクの出力で動作します。
※PWM制御は組み合わせに対応していません。単独でのみ使用できます。
制御モードの指定方法
メモリマップの「制御モード」を書き換えることでPMXサーボの制御モードを指定することができます。指定する制御モードのビットを1にすることで指定できます。
Bit0:位置制御モード
Bit1:速度制御モード
Bit2:電流制御モード
Bit3:トルク制御モード
Bit4:PWM制御モード
例えば、位置制御モードのみを指定する場合は、MemWRITEコマンドで「制御モード」に0x01を書き込みます。
組合せをする場合は、組み合わせる制御モードのそれぞれのビットを1にします。位置制御+電流制御の場合は0x05を書き込みます。
MemWRITEコマンドとは、メモリマップのRAM領域のデータを書き換えるコマンドです。PMXの各パラメータはメモリマップのアドレスを指定し、データを書き換えることで反映することができます。今回の「制御モード」のほか、PIDの各ゲインや「入力電圧最小値設定」など各制限値の設定を書き換えることが可能です。
PMXサーボの制御モードに関する解説は以上です。PMXサーボは、多彩な制御モードを使い分けることにより、用途に合った動作を実行することが可能です。まずはサーボ1つから各制御モードをお試しください。
以降の記事では、サンプルプログラムを例に具体的な制御方法を解説します。PMXサーボは、単純な動作指示だけではなく、現在位置などのフィードバックやリミッタの設定変更、PIDゲインを変更して組み込んだ箇所に最適なパラメータに調整することも可能です。
多機能なPMXサーボをぜひご利用ください!
PMX-SCR-9204HVの詳細をみる PMX-SCR-9203HVの詳細をみる PMX-SCR-5204HVの詳細をみる PMX-SCR-5203HVの詳細をみる