(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、一実施の形態について図面を参照しつつ説明する。
【0012】
図1に、一実施の形態に係るモータ制御装置のシステム構成図を示す。この
図1において、モータ制御装置100は、速度制御部1、電力変換部2、慣性モーメント同定部3、定位置停止制御部4、速度指令切替器5、及び指令入力切替器6を備える。このモータ制御装置100は、位置検出器PGを取り付けたモータMの駆動を制御する。
【0013】
モータMは、例えば、回転型のモータであり、工具を着脱交換可能なマシニングセンタなどの工作機械の主軸を駆動するために用いられる。また、位置検出器PGは、モータMの位置(回転位置)Pfbと、当該位置検出器PGの1回転当たりの基準位置に位置した際にだけ得られるC相信号Dcとを検出する。また、速度制御部内の微分器(後述の
図2参照)を用いて上記モータ位置Pfbを微分することで、モータ速度Vfbが得られる。
【0014】
速度制御部1は、後述する速度指令Vref、位置検出器PGが検出したモータ位置Pfb、後述する定位置停止制御部4からの速度フィードフォワード指令Vff及びトルクフィードフォワード指令Tffに基づいて、入力トルク指令Trefを出力する。
電力変換部2は、上記速度制御部1からの入力トルク指令Trefに基づいて、例えばPWM制御による駆動電流をモータMに出力する。
【0015】
慣性モーメント同定部3は、上記入力トルク指令Tref及び上記モータ速度Vfbに基づいて、モータMの回転子であるロータ、当該ロータ(出力軸)に連動する主軸、及び当該主軸に装着された回転工具を含めた制御対象全体の慣性モーメントJを同定する。なお、本実施形態の例では、図示しない上位制御装置からの停止開始信号DIsの入力を契機に慣性モーメントJの同定を開始する。
【0016】
定位置停止制御部4は、各種パラメータに基づいて、停止時速度指令P−Vref、速度フィードフォワード指令Vff、及びトルクフィードフォワード指令Tffを生成し出力する。上記の各種パラメータは、後述の目標停止位置Pos1、最大逆トルクPosTref、C相検出速度指令Vc、上記慣性モーメント同定部3が同定した慣性モーメントJ、入力トルク指令Tref、及びモータ位置Pfbである。
【0017】
これらのうち、目標停止位置Pos1は、上記工作機械において主軸を工具交換可能な回転位置に位置決めした際に対応するモータM自体の回転位置であり、本実施形態ではモータMの停止時にこの目標停止位置Pos1に位置決め停止(いわゆる割り出し)させるようにする。最大逆トルクPosTrefは、モータMに対してその順回転方向と逆の回転方向に付加できる最大のトルクであり、すなわち当該モータMの順方向の回転を減速させるために付加できる最大の逆トルク(負の値)である。また、位置検出器PGを構成する一般的なロータリエンコーダは、上記C相信号Dcを検出できる上限速度がモータMの定格最高速度より低い場合が多く、C相検出速度指令Vcはその上限速度に設定される。なお、これら目標停止位置Pos1、最大逆トルクPosTref、及びC相検出速度指令Vcは、それぞれ工作機械、モータM、及び位置検出器PGの仕様に応じて予め設定された固定値が与えられる。
【0018】
速度指令切替器5は、上位制御装置からの停止開始信号DIs及び位置検出器PGからのC相信号Dcに基づいて、上位制御装置からの通常時速度指令E−Vref、上記C相検出速度指令Vc、及び上記停止時速度指令P−Vrefのうちのいずれか1つを速度指令Vrefとして切り替えて上記速度制御部1に出力する。モータMがC相検出速度指令Vcより大きい速度で駆動されている間は、当該速度指令切替器5が端子aに接続し通常時速度指令E−Vrefを速度指令Vrefとして速度制御部1に出力する。上位制御装置から停止開始信号DIsが入力された際には、当該速度指令切替器5が端子aから端子bに接続を切り替えC相検出速度指令Vcを速度指令Vrefとして出力する。その後に位置検出器PGからC相信号Dcが検出された際には、当該速度指令切替器5が端子bから端子cに接続を切り替え停止時速度指令P−Vrefを速度指令Vrefとして出力する。なお、上記の通常時速度指令E−Vrefが各請求項記載の第1速度指令に相当し、上記のC相検出速度指令Vcが各請求項記載の第2速度指令に相当し、停止時速度指令P−Vrefが各請求項記載の第3速度指令に相当する。
【0019】
指令入力切替器6は、位置検出器PGからのC相信号Dcに基づいて、定位置停止制御部4から速度制御部1への速度フィードフォワード指令Vff及びトルクフィードフォワード指令Tffのそれぞれの入力の有無を切り替える。モータMがC相検出速度指令Vcより大きい速度で駆動されている間は、速度制御部1に対する速度フィードフォワード指令Vff及びトルクフィードフォワード指令Tffそれぞれの入力を行わない。位置検出器PGからC相信号Dcが検出されている間は、速度制御部1に対して速度フィードフォワード指令Vff及びトルクフィードフォワード指令Tffをそれぞれ入力する。
【0020】
図2は、上記構成の本実施形態のモータ制御装置100において、C相信号Dc検出後の接続状態における制御系全体を伝達関数形式で表している。なお、慣性モーメント同定部3については、上記
図1と同様の簡略的な記載としている。また、制御系の観点で見て上記電力変換部2は信号処理に対する影響がほとんどないため、その記載を省略している。
【0021】
この
図2において、速度制御部1は、第1加減算部11と、積分器12と、フィードフォワードゲインαと、第2加減算部13と、速度ループゲインKvと、ローパスフィルタ14と、第3加減算部15と、トルクリミッタ16と、微分器17とを備えている。
【0022】
第1加減算部11は、定位置停止制御部4から入力された速度指令Vrefと速度フィードフォワード指令Vffとを加算するとともに、そこからモータ位置Pfbを微分器17で微分したモータ速度Vfbを減算してその偏差Evを求める。
【0023】
積分器12は、上記偏差Evを積分時定数Tiを用いて積分して速度Vaを求める。
【0024】
第2加減算部13は、上記速度Vaと、上記速度フィードフォワード指令Vffと、上記速度指令にフィードフォワードゲインαを乗算した値とを加算するとともに、そこから上記モータ速度Vfbを減算してその偏差Evaを求める。
【0025】
速度制御部1は、この偏差Evaに速度ループゲインKvを乗算し、さらにローパスフィルタ14を介して高周波成分を除去して算出トルク指令V−Trefを生成する。このローパスフィルタ14は、トルク指令のサンプリング周波数に起因する振動を抑制するトルク指令フィルタとして機能する。
【0026】
第3加減算部15は、上記算出トルク指令V−Trefと、定位置停止制御部4から入力されたトルクフィードフォワード指令Tffとを加算して加算トルク指令Taを求める。
【0027】
トルクリミッタ16は、上記加算トルク指令Taの上限値と下限値を規制して入力トルク指令Trefを出力する。なお、この入力トルク指令Trefの下限値は上記の最大逆トルクPosTrefに規制される。また、上記の入力トルク指令Trefが各請求項記載の第1トルク指令に相当し、上記の算出トルク指令V−Trefが各請求項記載の第2トルク指令に相当する。
【0028】
そして速度制御部1が出力したこの入力トルク指令Trefに基づいて、モータMを含む制御対象18が回転駆動される。この制御対象18は、モータMのロータ、当該ロータ(出力軸)に連動する主軸、及び当該主軸に装着された回転工具を含めた全体の慣性モーメントJを用いて表される1/Js
2と等価である。なお、本実施形態の例では、モータMのロータと主軸(回転工具)の回転速度比を1:1とする。
【0029】
また、この
図2において、定位置停止制御部4は、定位置停止指令生成部21と、微分器22と、第4加減算部23と、位置ループゲインKpとを備えている。
【0030】
定位置停止指令生成部21は、位置指令算出部24とトルクフィードフォワード指令切替部25とを備えており、本実施形態の例ではこれらの全体が特に図示しないCPUにより実行されるソフトウェアで構成する(後述の
図7のフロー参照)。位置指令算出部24は、C相信号Dcの検出を開始契機として、所定周期のシステムクロックに同期し当該システムクロック毎にモータMの回転位置が到達すべき位置を位置指令Prefとして生成、出力する。トルクフィードフォワード指令切替部25は、後述するトルクスケジュールの切替タイミングに従って、トルクフィードフォワード指令Tffを無出力(0トルク)、最大逆トルクPosTref、及び速度制御部1から入力される入力トルク指令Trefのいずれかに切り替えて出力する(後述の
図5参照)。このとき、切り替えによるノイズをローパスフィルタ26で除去してからトルクフィードフォワード指令Tffを出力する。
【0031】
定位置停止制御部4は、上記位置指令算出部24が出力した位置指令Prefから上記位置検出器PGが出力したモータ位置Pfbを第4加減算部23で減算し、その偏差に位置ループゲインKpを乗算して停止時速度指令P−Vrefを出力する。図示する接続状態では、速度制御部1がこの停止時速度指令P−Vrefを速度指令Vrefとして入力する。また、定位置停止制御部4は、上記位置指令算出部24が出力した位置指令Prefを微分器22で微分して速度フィードフォワード指令Vffを出力する。
【0032】
以上の制御系の構成においては、位置指令Prefの入力に追従する位置制御系のPフィードバックループ(以下、位置制御系ループという)と、速度制御系のIPフィードバックループ(以下、速度制御系ループという)によるP−IPフィードバック制御と併せて、速度フィードフォワード指令Vffとトルクフィードフォワード指令Tffによるフィードフォワード制御も複合的に行う構成となっている。なお、特に図示していないが、電力変換部2においても電流制御系のフィードバックループを備えている。
【0033】
以上のように構成した本実施形態のモータ制御装置100による定位置停止制御のシーケンスを
図3に示す。この
図3では、図示しない上位制御装置から停止開始信号DIsが入力された後に減速し、目標停止位置Pos1に位置決め停止するまでのモータ速度Vfbの経時変化を表すタイムチャートを示している。
【0034】
このタイムチャートにおいて、最初は図示しない上位制御装置からの通常時速度指令E−Vrefに従ってモータMの速度制御を行う通常運転状態となっている。そして、同じ上位制御装置から停止開始信号DIsが入力された際に、定位置停止制御部4による定位置停止制御のシーケンスが開始される。この定位置停止制御のシーケンスは、大別して第1区間ta、第2区間tb、第3区間tc、及び第4区間tdの順の4つの連続する区間を経て実行される。
【0035】
まず第1区間taでは、停止開始信号DIsの入力時に速度指令Vrefをそれまでの通常時速度指令E−VrefからC相検出速度指令Vcに切り替えることで、速度制御部1の速度制御によりモータ速度VfbをC相信号Dcを検出可能な上限速度Vcまで減速する。なお、この第1区間taの減速中において、上記慣性モーメント同定部3が制御対象18全体の慣性モーメントJを同定する。本実施形態の例では、上述したように、停止開始信号DIsが入力された直後に慣性モーメントJの同定を開始し、当該第1区間ta中にその同定処理を完了する。
【0036】
モータ速度VfbがC相検出速度Vcまで減速し、C相信号Dcが最初に検出されるまでの間には、第2区間tbとしてモータ速度VfbをそのC相検出速度Vcに維持する。これまでの第1区間ta及び第2区間tbの間は、速度制御部1の速度制御系ループによる速度フィードバック制御だけで速度指令Vrefに従ったモータMの速度制御が行われる(正確には電力変換部2における電流フィードバック制御も併せて行う)。
【0037】
C相信号Dcが最初に検出された際には、第3区間tcが開始される。この第3区間tcが開始された以降は、上述したように速度制御部1に定位置停止制御部4が接続され、モータMの制御がそれまでの速度制御から位置制御に切り替わる。この際には、上記の速度制御系ループと位置制御系ループ(及び電流制御系ループ)が全て機能して位置フィードバック制御を行うとともに、速度フィードフォワード指令Vff及びトルクフィードフォワード指令Tffの入力によるフィードフォワード制御も併せて行われる。後述するトルクスケジュールに従って第4区間tdが開始されるまでの第3区間tc中においては、モータ速度VfbがC相検出速度Vcに維持され、トルクフィードフォワード指令Tffは出力されない(0トルク)。
【0038】
第4区間tdが開始した後には、基本的に最大逆トルクPosTrefでのモータMの急減速、急停止を行う。モータMが完全に停止した際には、当該モータMのモータ位置Pfbが目標停止位置Pos1となる。つまり、C相信号を検出した第3区間tcの開始時からモータMが停止した第4区間tdの終了時までの間において、モータ速度Vfbの曲線と時間軸との間に形成される面積(図中の斜線部)は、モータMの基準位置であるC相位置から目標停止位置Pos1までの相対的な移動量に相当する。
【0039】
以上のような定位置停止制御のシーケンスを行うことで、任意のモータ速度Vrefでの通常運転状態から停止開始信号DIsの入力後に、最短時間でモータMを目標停止位置Pos1に位置決め停止させることができる。なお、上記の第3区間tcが各請求項記載の第1期間に相当し、上記の第4区間tdが各請求項記載の第2期間に相当する。また、第3区間tcを開始するタイミング(C相信号Dcを検出したタイミング)が各請求項記載の第1タイミングに相当し、第3区間tcを終了するタイミング(=第4区間tdを開始するタイミング)が各請求項記載の第2タイミングに相当し、第4区間tdを終了するタイミングが各請求項記載の第3タイミングに相当する。また、上記の第1区間ta及び第2区間tbが各請求項記載の第1のステップに相当し、上記の第3区間tc及び第4区間tdが各請求項記載の第2のステップに相当する。
【0040】
この定位置停止制御のシーケンスにおける入力トルク指令Tref、トルクフィードフォワード指令Tff、速度指令Vref、速度フィードフォワード指令Vff、及び位置指令Prefの変化の様子を
図4に示す。この
図4において、上述したように速度制御を行う第1区間ta及び第2区間tbでは位置指令Prefが入力されず、速度制御部1に入力される速度指令Vref(C相検出速度Vc)に従って入力トルク指令Trefが生成され、この入力トルク指令TrefでモータMの速度制御が行われる(図中の一点鎖線参照)。またC相信号Dcを検出した後の第3区間tc及び第4区間tdでは、後述するトルクスケジュールに従った位置指令Pref、速度フィードフォワード指令、及びトルクフィードフォワード指令が入力され、これら指令に従って入力トルク指令Trefが生成され、モータMの位置制御が行われる(図中の実線参照)。
【0041】
第1区間taでは、C相検出速度指令Vcが速度指令Vrefとして入力され、それまでの通常運転速度からC相検出速度Vcまで減速させるために入力トルク指令Trefは速度フィードバック制御により負の値の逆トルクで入力トルク指令Trefが生成される。ここで、第1区間taより前のモータ速度VfbがC相検出速度Vcより相当に大きい場合には、上記トルクリミッタ16により入力トルク指令Trefが最大逆トルクPosTrefに規制される。第2区間tbでは、モータ速度VfbがC相検出速度Vcを維持できるよう、入力トルク指令TrefがモータM内の摩擦損失を補填できる程度に低い正の値で生成される。なお、この値は十分小さいため、本実施形態の説明及び図中では0トルクとしている。
【0042】
第3区間tc及び第4区間では、位置指令Pref及び速度フィードフォワード指令Vffがそれぞれ、当該定位置停止制御の実行時ごとに設定されるトルクスケジュールに基づいて生成される。
【0043】
ここでトルクスケジュールについて説明する。上述したように、第3区間tcは最初にC相信号Dcを検出した際に開始して、モータMを目標停止位置Pos1に位置決め停止させた際に第4区間tdを完了させる。そして第3区間tc中ではトルクフィードフォワード指令Tffを0トルクとしてモータ速度VfbをC相検出速度Vcに維持させ、第4区間tdでトルクフィードフォワード指令Tffを最大逆トルクPosTrefに切り替えてモータMを最短時間で急停止させる。
【0044】
しかし、主軸に装着する回転工具が交換される度に制御対象18の慣性モーメントJが変動するため、同じ最大逆トルクPosTrefでC相検出速度Vcから急減速、急停止させるまでにかかる時間、つまり第4区間tdの時間長も変動する。このため、定位置停止制御の実行毎に慣性モーメントJを同定し、この慣性モーメントJに基づいて最大逆トルクPosTrefを出力させる第4区間tdを算出する必要がある。また、C相信号Dc検出時の基準位置から目標停止位置Pos1までのモータMの移動量(回転量)は不変であるため、算出された第4区間tdから第3区間tcを求めることができる。このようにしてトルクフィードフォワード指令Tffを0トルクとする第3区間tcと、トルクフィードフォワード指令Tffを最大逆トルクPosTrefとする第4区間tdで、当該定位置停止制御の実行時におけるトルクスケジュールが設定される。
【0045】
具体的には、第4区間の時間長tdを以下の式で算出できる。
td=J・Vc/PosTref ・・・(1)
ただし、Jは慣性モーメント(同定値)、VcはC相検出速度(固定値)、PosTrefは最大逆トルク(固定値)である。また、上記(1)式を参照して第3区間の時間長tcを以下の式で算出できる。
tc=Pos1/Vc−td/2
=Pos1/Vc−J・Vc/2・PosTref ・・・(2)
ただし、Pos1は目標停止位置(固定値)である。なお、tcが負の値で算出された場合には、2nπ(n:tcを正の値にできる最小の整数)を加算すればよい。
【0046】
このようにして設定された時間長の第3区間tcでは、モータMがC相検出速度Vcで等速移動するよう位置指令Prefが生成、出力される。詳細には、上述したシステムクロック毎に同じ距離分だけ増加させたモータ位置の想定値を順次位置指令Prefとして生成、出力する。また、この第3区間tcでは、速度フィードフォワード指令VffがC相検出速度Vcを維持して出力する(VffはPrefの1階微分値なので等速)。
【0047】
第4区間tdでは、C相検出速度Vcで回転する慣性モーメントJの制御対象18が最大逆トルクPosTrefで当該第4区間tdの終了時に丁度停止できるよう、位置指令Prefが出力される。また、この第4区間tdでは、当該第4区間tdの間にモータ速度が一律に同じ加速度(減速度)でC相検出速度Vcから完全に停止できるよう、速度フィードフォワード指令Vffが生成、出力される。
【0048】
以上のようにして、位置制御を行う第3区間tc及び第4区間tdの間においては、予め設定されたトルクスケジュールに準拠するよう位置指令Prefと速度フィードフォワード指令Vffが生成、出力される。このように本実施形態では、トルクスケジュールにそのまま基づいてトルクフィードフォワード指令Tffを出力する一方で、同じトルクスケジュールに準拠した位置指令Prefと速度フィードフォワード指令Vffを出力する。これにより、速度フィードバック制御、位置フィードバック制御、速度フィードフォワード制御、及びトルクフィードフォワード制御を全て釣り合わせて予定通りに目標停止位置Pos1への位置決め停止を行えるよう位置制御を行う。
【0049】
しかしながら、実際のモータMにおいては、入力するトルク指令と実際に出力するトルクとの間にトルク誤差が生じる場合がある。これは、モータMの製作誤差や経年劣化によるトルク特性の誤差や変動が原因であったり、またはモータMに誘導モータを用いた場合には加速時と減速時でトルク特性が相違することが原因でトルク誤差が生じる。
【0050】
例えば、制御上の入力トルク指令Tref(=最大逆トルクPosTref)に対応する電流をモータMに給電しても、実際には上記トルク誤差により当該モータMがそのトルク指令より低いトルクを出力する場合がある(図中のトルクの点線部参照)。この場合には、第4区間tdが終了する前でモータ位置Pfbが目標停止位置Pos1に到達しないうちにモータ速度Vfbが0となるものの、トルクスケジュールに従ったトルクフィードフォワード指令Tffがさらに最大逆トルクPosTrefを出力し続けるため、モータ速度Vfbがオーバーシュートする。またこれに対応して、モータ位置Pfbもまた位置フィードバック制御及び速度フィードバック制御により目標停止位置Pos1をオーバーシュートする。しかし、その後のトルクスケジュールでトルクフィードフォワード指令Tffが0トルクになるとともに、位置フィードバック制御及び速度フィードバック制御によってモータ速度Vfbが0に、モータ位置Pfbが目標停止位置Pos1にそれぞれ収束する。つまり、モータMにトルク誤差がある場合には、モータ速度Vfb及びモータ位置Pfbにオーバーシュートが発生する(図中の速度と位置の点線部参照)。
【0051】
この現象は、慣性モーメントJの同定に誤差が生じていることを原因とし、減速区間である第4区間tdの時間長を誤算出してその過不足により発生する場合もある。例えば、モータMに誘導モータを用いた場合で、慣性モーメントJの同定演算を当該モータMの加速時に行った場合には、上述したように加速時と減速時でのトルク特性の相違により誤差を含んだ慣性モーメントJで誤った第4区間tdを算出してしまう。このように、第4区間tdで規定される減速区間が過不足となる場合でも、上記のオーバーシュートの現象を生じさせてしまう。
【0052】
そこで本実施形態では、以上のようなオーバーシュートの発生を防ぐために、第4区間td中においてトルクフィードフォワード指令Tffの補正を行う。具体的には、
図5に示すように、第4区間tdの開始から所定時間teだけ経過した際にトルクフィードフォワード指令Tffを最大逆トルクPosTrefから入力トルク指令Trefに切り替えて出力する。この
図5では、上方に太実線でトルクスケジュールを示し、下方に太実線で上記トルクスケジュールに従った速度フィードフォワード指令Vffを示す。トルクフィードフォワード指令Tffは、第3区間tcにおいてトルクスケジュール通りに0トルク(無出力)を出力する。そして第4区間tdの開始時には、初期的にトルクフィードフォワード指令Tffを最大逆トルクPosTrefに切り替えて出力する。
【0053】
しかし、第4区間tdの開始時から所定時間teだけ経過した際には、トルクリミッタ16から出力された入力トルク指令Trefをそのままトルクフィードフォワード指令Tffとして出力するよう切り替える(図中の点線部参照)。一方、速度フィードフォワード指令Vffは、上記トルクフィードフォワード指令Tffの出力切り替えに関係なく、それまでと同様に上記トルクスケジュールに準拠する減速率で減速変化させる。なお、特に図示しないが、位置指令Prefについても上記トルクスケジュールに準拠して変化させる。以上のようにトルクフィードフォワード指令Tff、速度フィードフォワード指令Vff、及び位置指令Prefを出力することにより、モータMにトルク誤差が生じている場合でもモータMがトルクスケジュール通りのトルクを実際に出力できるよう、トルクフィードフォワード指令Tffを補正することができる。以下、この補正の詳細について説明する。
【0054】
図6は、第4区間tdの開始時から所定時間teの経過後における切り替え状態、つまり入力トルク指令Trefをトルクフィードフォワード指令Tffとして出力している状態での、上記
図2の制御系を簡略化して示している。この
図6中に示す位置制御部31は、上記
図2における位置ループゲインKpに相当する。また、
図6中に示す速度制御部1Aは、上記
図2における積分器12、速度ループゲインKv、及びローパスフィルタ14に相当する。なお、説明を簡略化するため、フィードフォワードゲインα及び第2加減算部13は省略している。また、以下において単にトルクTという場合、モータMが直接出力するトルクをいう。
【0055】
この
図6において、第1加減算部11、速度制御部1A、第3加減算部15、トルクリミッタ16、制御対象18(モータM含む)、及び微分器17を介したモータ速度Vfbを第1加減算部11に帰還するループが、速度制御系ループを構成する。また、第4加減算部23、位置制御部31、第1加減算部11、速度制御部1A、第3加減算部15、トルクリミッタ16、制御対象18、及びモータ位置Pfbを第4加減算部23に帰還するループが、位置制御系ループを構成する。これにより、図示する制御系の構成では、速度制御系ループによる速度フィードバック制御と、位置制御系ループによって位置指令Prefに追従する位置フィードバック制御と、速度フィードフォワード指令Vffによる速度フィードフォワード制御と、トルクフィードフォワード指令Tffによるトルクフィードフォワード制御とを複合的に行う状態となっている。
【0056】
速度フィードバック制御の挙動としては、速度フィードフォワード指令Vffが入力された上で、速度制御部1Aが出力する算出トルク指令V−Trefが0となるよう制御する。また位置フィードバック制御の挙動としては、位置指令Prefが入力された上で、位置制御部31が出力する速度指令Vrefが0となるよう制御する。そして、上述したように速度フィードフォワード指令Vff及び位置指令Prefはいずれもトルクスケジュールに準拠して生成、出力されている。
【0057】
ここで、例えば制御対象18にトルク誤差ΔTがない場合(ΔT=0)には、上記所定時間te経過前にトルクフィードフォワード指令Tffもトルクスケジュールに対応して最大逆トルクPosTrefを出力することで、トルクフィードフォワード制御が、その他の位置・速度フィードバック制御及び速度フィードフォワード制御と釣り合う状態となるため、速度制御部1Aが出力する算出トルク指令V−Trefが0となる。この釣り合い状態では、主にトルクフィードフォワード指令Tffで制御対象18を制御している状態となる。この場合には、所定時間te経過後にトルクフィードフォワード指令Tffを最大逆トルクPosTrefから入力トルク指令Trefに切り替えた後も、最大逆トルクPosTrefが循環してそのまま入力トルク指令Trefとなって釣り合い状態が継続し、理想的な定位置停止制御が可能となる。
【0058】
しかし、制御対象18にトルク誤差ΔTが生じている場合(ΔT≠0)には、位置・速度フィードバック制御にその影響が反映される。例えば、入力した入力トルク指令Trefに対し、制御対象18がその入力トルク指令Trefよりもトルク誤差ΔT(>0)だけ高いトルクTを実際に出力した場合、位置・速度フィードバック制御がトルクスケジュールに従うよう算出トルク指令V−Trefを0−ΔTで出力する。このとき、この0より少し低めの0−ΔTで生成された算出トルク指令V−Trefにそれまでのトルクフィードフォワード指令Tff(=最大逆トルクPosTref)を加算した入力トルク指令Tref(=最大逆トルクPosTref−ΔT)をそのまま次のトルクフィードフォワード指令Tffとして循環生成することで、制御対象18はそれまでより少し低めのトルクTを実際に出力する。
【0059】
そして、位置・速度フィードバック制御がトルクスケジュールに従った位置制御を行っているため、制御対象18がトルクスケジュールと同じトルクを実際に出力するよう入力トルク指令Trefが調整される。このとき、トルクフィードフォワード指令Tffはトルクスケジュールより少し低め(=最大逆トルクPosTref−ΔT)を維持するが、位置・速度フィードバック制御との釣り合いが取れるため、算出トルク指令V−Trefが0に戻る。つまり、トルクフィードフォワード制御を主体とした理想的な制御状態に戻る。以上の自動調整機能は、制御対象18が入力された入力トルク指令Trefよりもトルク誤差ΔTだけ低いトルクTを実際に出力した場合にも同様に機能する。
【0060】
以上の自動調整機能は、定位置停止制御部4のトルクフィードフォワード指令切替部25が、トルクスケジュール通りの最大逆トルクPosTrefをそのままトルクフィードフォワード指令Tffとして生成している状態から、それまでの入力トルク指令Trefを新たなトルクフィードフォワード指令Tffとして生成する状態に切り替えたことによって行える。そのような循環生成を行うためには、第4区間tdの開始時において手本となる最大逆トルクPosTrefをトルクフィードフォワード指令Tffとして初期的に出力し、その後の所定時間Te経過後のタイミングで入力トルク指令Trefをそのままトルクフィードフォワード指令Tffとして出力するよう切り替える必要がある。切り替え後には、位置・速度フィードバック制御による算出トルク指令V−Trefの変動を反映して、トルクフィードフォワード指令Tffを適切に補正し、これにより制御対象18にトルクスケジュール通りのトルクTを実際に出力させる動作態様となる。
【0061】
以上のようにして、当該
図6に示す切り替え状態では、モータMにトルク誤差ΔTが生じている場合でもモータMがトルクスケジュール通りのトルクTを実際に出力できるよう、トルクフィードフォワード指令Tffを補正することができる。なお、位置・速度フィードバック制御は反応が遅いため、制御対象18のトルク誤差ΔTの影響が算出トルク指令V−Trefに反映されるまで少し時間を要する。上記の所定時間teは、このように入力トルク指令Trefを変化させてから位置・速度フィードバック制御の応答が確立するまでの時間を稼ぐよう設定すればよい。具体的に本実施形態の例では、上記システムクロックの3クロック分の時間で設定する。なお、この所定時間teの経過時が各請求項記載の所定のタイミングに相当する。
【0062】
また、C相信号Dcを検出して速度制御から位置制御に切り替える際(第3区間tcの開始時)には、上記
図2における速度制御部1の積分器12の値をクリアすることでそれまでの速度制御による積分要素の影響を排除し、それ以降の位置制御を機能的に切り替えることができる。また、トルクリミッタ16により入力トルク指令Trefの値を制限している間には、積分器12による積分動作を停止させることで制限解除後の追従性を向上できる。
【0063】
以上のような機能を実現するために、モータ制御装置100が備えるCPU(図示省略)が定位置停止指令生成部21の機能として実行する定位置停止指令生成処理の内容を、
図7により順を追って説明する。
【0064】
図7において、このフローに示す処理は、C相信号Dcの検出時、すなわち上記第3区間tcの開始時に呼び出されて実行する。なおこの際には、制御対象18の慣性モーメントJがすでに同定されており、また上述した速度制御部1の積分器12の値がすでにクリアされてとする。
【0065】
まずステップS5で、上記(1)式、(2)式により第3区間tcと第4区間tdのそれぞれの時間長を算出する。これにより、第3区間 tc、第4区間tdでそれぞれトルクフィードフォワード指令Tffを0トルク、最大逆トルクPosTrefとするトルクスケジュールが設定される。
【0066】
次にステップS10へ移り、トルクフィードフォワード指令Tffを0トルクに切り替える。
【0067】
次にステップS15へ移り、モータ速度がC相検出速度Vcでの一定速度となるように位置指令Prefを出力し続ける。なお、この位置指令Prefを1階微分した速度フィードフォワード指令Vffは0となる。
【0068】
次にステップS20へ移り、C相信号Dcを検出してから第3区間tcの時間長だけ経過したか否かを判定する。言い換えると、第3区間tcの終了タイミングに到達したか否かを判定する。まだ第3区間tcの時間長を経過していない場合、判定は満たされず、ステップS15に戻って同様の手順を繰り返す。
【0069】
一方、C相信号Dcの検出後から第3区間tcの時間長を経過した場合、判定が満たされ、ステップS25へ移る。なお、この時点で第4区間tdが開始される。
【0070】
ステップS25では、トルクフィードフォワード指令Tffを最大逆トルクPosTrefに切り替えて出力し続ける。
【0071】
次にステップS30へ移り、慣性モーメントJの制御対象18がトルクスケジュール通りの最大逆トルクPosTrefで減速される場合に対応する位置指令Prefを出力し続ける。なお、この位置指令Prefを1階微分した速度フィードフォワード指令Vffは、一定の減速度で減速し続ける。
【0072】
次にステップS35へ移り、第4区間tdを開始してから上記所定時間teが経過したか否かを判定する。言い換えると、上記ステップS25で最大逆トルクPosTrefによるトルクフィードフォワード指令Tffを出力してから、位置・速度フィードバック制御が確立して新たな算出トルク指令V−Trefが生成されたか否かを判定する。まだ所定時間teが経過していない場合、判定は満たされず、ステップS30に戻って同様の手順を繰り返す。
【0073】
一方、第4区間tdを開始してから所定時間teが経過した場合、判定が満たされ、ステップS40へ移る。
【0074】
ステップS40では、トルクフィードフォワード指令Tffを入力トルク指令Trefに切り替えて出力し続ける。
【0075】
次にステップS45へ移り、上記ステップS30と同様にトルクスケジュールに準拠した位置指令Prefを出力し続ける。なお、この位置指令Prefを1階微分した速度フィードフォワード指令Vffも同様に、一定の減速度で減速し続ける。
【0076】
次にステップS50へ移り、トルクフィードフォワード指令Tffを0トルクから最大逆トルクPosTrefに切り替え出力してから第4区間tdの時間長だけ経過したか否かを判定する。言い換えると、第4区間tdの終了タイミングに到達したか否かを判定する。まだ第4区間tdの時間長を経過していない場合、判定は満たされず、ステップS45に戻って同様の手順を繰り返す。
【0077】
一方、第4区間tdの時間長が経過した場合、判定が満たされ、ステップS55へ移る。
【0078】
ステップS55では、トルクフィードフォワード指令Tffを0トルクに切り替える。なお、この際には、トルクスケジュールにおいても0トルクとなるので、対応する位置指令Pref及び速度フィードフォワード指令Vffもまた0となる。そして、このフローを終了する。
【0079】
以上において、ステップS35及びステップS40の手順が、各請求項記載のトルクフィードフォワード指令補正部として機能する。
【0080】
以上説明したように、本実施形態のモータ制御装置100によれば、定位置停止制御部4で実行する上記ステップS35及びステップS40の手順によって、算出トルク指令V−Trefに対してトルクフィードフォワード指令Tffを加算した入力トルク指令Trefに基づき、算出トルク指令V−Trefに対して加算するトルクフィードフォワード指令Tffを補正する。定位置停止制御部4の作動中では、上記トルクスケジュールに従った位置フィードバック制御及び速度フィードバック制御を行っているため、生成される算出トルク指令V−TrefにはモータMにおける上記トルク誤差ΔTが反映される。したがって、上記ステップS35及びステップS40の手順で、算出トルク指令V−Trefに対してトルクフィードフォワード指令Tffを加算した入力トルク指令Trefに基づき、算出トルク指令V−Trefに対して加算するトルクフィードフォワード指令Tffを補正することで、モータMに上記トルクスケジュールに従ったトルクを出力させることができる。この結果、トルク誤差ΔTによるオーバーシュートの発生を防ぐことができる。
【0081】
また、本実施形態によれば、通常速度制御時に停止開始信号DIsが入力されて定位置停止制御に切り替える場合には、まず速度制御部1に入力する速度指令を上位制御装置からの通常時速度指令E−Vrefから基準位置を検出可能なC相検出速度指令Vcに切り替える。そして、基準位置を最初に検出した後に、C相検出速度指令Vcから定位置停止制御部4が生成する停止時速度指令P−Vrefに切り替える。つまり基準位置を最初に検出した際に、速度制御から定位置停止制御部4による位置制御に切り替えられる。そしてこの位置制御時に、それぞれ同一のトルクスケジュールに従った位置フィードバック制御、速度フィードバック制御及びトルクフィードフォワード制御を行うことで、定位置停止制御の時間短縮化が可能となる。
【0082】
また、本実施形態によれば、トルクスケジュールは定位置停止制御中のうちの位置制御を行う期間中においてモータMに実際に出力させるべきトルクの変化を設定する。具体的には、基準位置を最初に検出したタイミングから開始する第3区間tc中はトルクスケジュールの値を0に設定する。つまりこの第3区間tc中では、その時点のモータ速度(上記C相検出速度Vc)を維持させるよう位置指令、C相検出速度指令Vc、入力トルク指令Tref(トルクフィードフォワード指令Tff=0)を生成する。そして、第4区間tdの開始タイミングからモータMが目標停止位置Pos1に停止する定位置停止制御の終了タイミングまでの間の第4区間td中はトルクスケジュールの値が最大逆トルクPosTref、すなわち当該モータMがその時点の回転方向と逆方向に出力し得る最大のトルクとなるよう設定する。つまりこの第4区間td中では、モータMを最短時間で急停止できるよう位置指令、停止時速度指令P−Vref、入力トルク指令Tref(トルクフィードフォワード指令Tff加算済み)を生成する。
【0083】
ここで第4区間tdで急停止させるための最大逆トルクPodTrefを基準とした場合、当該第4区間tdに必要とされる時間長は、C相検出速度Vc、モータMのロータを含めた制御対象18の慣性モーメントJ、及び当該最大逆トルクPosTrefに基づいて算出できる。なお、慣性モーメントJは、別途備えた慣性モーメント同定部3で同定する。また、第3区間tcの時間長は、基準位置から目標停止位置Pos1までの移動距離から第4区間tdの間で移動できる移動距離を差し引いた距離だけ、C相検出速度Vcで等速移動させて到達できる時間長となる。したがって第3区間tcに必要とされる時間長は、(基準位置に対する)目標停止位置Pos1、C相検出速度Vc、及び第4区間tdの時間長に基づいて算出できる。以上のようにしてトルクスケジュールの変化工程を設定することで、定位置停止制御の時間短縮化が可能となる。
【0084】
また、本実施形態によれば、定位置停止制御中に、トルクスケジュールに基づくトルクフィードフォワード指令Tffを加算した入力トルク指令TrefをモータMに入力した際、当該モータMがその入力トルク指令Tref通りのトルクを実際に出力した場合、位置フィードバック制御もまた同じトルクスケジュールに基づく位置指令で位置制御しているため釣り合いが取れ、速度制御部1で生成した算出トルク指令V−Trefの値は0となる。この場合には、主にトルクスケジュールに従ったトルクフィードフォワード制御でモータMを制御している。
【0085】
これに対し、例えばモータMに入力した入力トルク指令Trefに対し、当該モータMがその入力トルク指令Trefに対してトルク誤差ΔT分だけ異なるトルクを実際に出力した場合、位置フィードバック制御によりトルクスケジュールに従うよう速度制御部1が0よりトルク誤差ΔT分だけ戻そうとする値の算出トルク指令V−Trefを生成しようとする。このとき、この0よりトルク誤差ΔT分だけ異なる値に生成された算出トルク指令V−Trefにそれまでのトルクフィードフォワード指令Tffを加算したものをそのまま次のトルクフィードフォワード指令Tffとして生成することで、モータMはそれまでのトルク誤差ΔTを相殺したトルクを実際に出力する。そして、位置フィードバック制御がトルクスケジュールに従った位置制御を行っているため、モータMがトルクスケジュールと同じトルクを実際に出力するようトルクフィードフォワード指令Tffを加算した入力トルク指令Trefが調整される。このとき、トルクフィードフォワード指令Tffはトルクスケジュールよりトルク誤差ΔTだけずれた値を維持するが、位置フィードバック制御における釣り合いが取れるため、速度制御部1で生成した算出トルク指令V−Tref(トルクフィードフォワード指令Tff加算前)の値は0に戻る。
【0086】
以上の自動調整機能は、上記ステップS35及びステップS40の手順で、トルクスケジュールをそのままトルクフィードフォワード指令Tffとして生成している状態から、それまでのトルクフィードフォワード指令Tffを加算した入力トルク指令Trefを新たなトルクフィードフォワード指令Tffとして生成する状態に切り替えたことによって行える。そのためには、トルクフィードフォワード指令Tffの生成開始時において手本となるトルクスケジュールをトルクフィードフォワード指令Tffとして出力し、その後に第4区間tdの開始時から所定時間teが経過した際に上記の入力トルク指令Trefをトルクフィードフォワード指令Tffとして出力するよう切り替える必要がある。切り替え後には、速度制御部1が生成する算出トルク指令V−Trefの変動を反映してトルクフィードフォワード指令Tffを適切に補正し、これによりモータMにトルクスケジュール通りのトルクを実際に出力させるトルクフィードフォワード制御が可能となる。
【0087】
また、本実施形態によれば、第3区間tc中には、トルクスケジュール及びトルクフィードフォワード指令の値が0であることからモータMにおけるトルク誤差ΔTも生じないため、トルクフィードフォワード指令Tffの切り替えを行う必要がない。また、第4区間tdにおいては、初期にトルクスケジュールのトルク(最大逆トルクPosTref)でトルクフィードフォワード指令Tffを出力した後、速やかにトルクフィードフォワード指令Tffの切り替えを行えばよい。しかし、位置フィードバック制御はモータMの出力挙動に基づいて制御を行うため、トルクフィードフォワード制御よりも反応が遅れる。このため上記ステップS35及びステップS40の手順では、トルクスケジュールの値が最大逆トルクPosTrefとなる第4区間tdの開始タイミング後であって、定位置停止制御部4の位置フィードバック制御における位置指令とモータ位置との偏差に基づいて速度制御部1が算出トルク指令V−Trefを生成した以降のタイミング(つまり所定時間te経過時)で切り替えることで、トルクフィードフォワード指令Tffを機能的に補正できる。
【0088】
また、本実施形態によれば、トルクスケジュールに基づく位置指令から生成した速度フィードフォワード指令Vffを速度指令に加算することで、トルクスケジュールの変化に対する速い反応で速度指令を変化させることができる。
【0089】
上記実施形態においては、定位置停止制御部4の位置制御系及び速度制御部1の速度制御系が、位置比例・速度積分比例制御系(P−IP制御系)のフィードバックループで構成されていたが、これに限られない。他にも、位置比例・速度比例積分制御系(P−PI制御系)、位置比例・速度比例制御系(P−P制御系)などのフィードバックループで構成してもよい。
【0090】
以上既に述べた以外にも、上記実施形態や各変形例による手法を適宜組み合わせて利用しても良い。その他、一々例示はしないが、上記実施形態や各変形例は、その趣旨を逸脱しない範囲内において、種々の変更が加えられて実施されるものである。