(57)【特許請求の範囲】
【請求項１】
連結軸を介して駆動対象の負荷と結合したモータと、前記モータを駆動する電力変換器と、トルク電流指令値と前記モータに供給されるトルク電流検出値との偏差に応じて電力変換器の出力電流を調整する電流制御器、前記モータの速度を検出し、速度検出値として出力する速度検出器と、前記速度検出値を微分することにより加速度検出値を出力する加速度演算器と、前記負荷の慣性モーメントを推定する負荷パラメータ推定部と、前記トルク電流指令値を出力する速度制御器を備えたモータ制御装置であって、
前記負荷パラメータ推定部は、前記トルク電流指令値にトルク定数を乗じて算出したトルク指令値、前記速度検出値及び前記加速度検出値を入力して、前記加速度検出値が等しく、且つ速度検出値が相違なる２点の条件でのトルク指令値の差を前記速度検出値の差で除することにより粘性摩擦係数推定値を算出し、該粘性摩擦係数推定値を用いて前記慣性モーメントを推定し、
前記速度制御器は、推定された前記慣性モーメントにより制御定数を自動修正して前記トルク電流指令値を調整することを特徴とするモータ制御装置。
【請求項２】
請求項１において、前記トルク指令値と、前記加速度検出値と、前記速度検出値とをそれぞれ同一特性のローパスフィルタに入力し、前記ローパスフィルタの出力として得られるフィルタ後トルク指令値と、フィルタ後加速度検出値と、フィルタ後速度検出値を前記負荷パラメータ推定部に入力することを特徴とするモータ制御装置。
【請求項３】
請求項１において、前記負荷パラメータ推定部は、所定の加速度検出値における速度検出値とトルク指令値を、前記加速度検出値が増加傾向の場合と、減少傾向の場合について、それぞれ取得する手段を有することを特徴とするモータ制御装置。
【請求項４】
請求項１において、前記負荷パラメータ推定部は、前記トルク指令値と同時に取得した前記速度検出値と前記粘性摩擦係数推定値との積として算出した粘性摩擦トルク推定値を前記トルク指令値から減算することにより、粘性摩擦の影響を除去したトルク指令値を算出することを特徴とするモータ制御装置。
【請求項５】
請求項４において、前記負荷パラメータ推定部は、複数の前記加速度検出値における前記速度検出値と前記トルク指令値を取得し、横軸を前記加速度検出値、縦軸を前記粘性摩擦の影響を除去したトルク指令値としてグラフ上に各取得データをプロットしたと仮定した場合の近似直線の傾きとして慣性モーメント推定値を算出し、更に、グラフの切片として負荷トルク推定値を算出することを特徴とするモータ制御装置。
【請求項６】
請求項３において、前記負荷パラメータ推定部は、前記所定の加速度検出値よりも小さい加速度検出値における速度検出値とトルク指令値と、前記所定の加速度検出値よりも大きい加速度検出値における速度検出値とトルク指令値をそれぞれ取得し、求めたい所定の前記加速度検出値における速度検出値とトルク指令値を前記２点の条件の取得データからの線形推定値として算出することを特徴とするモータ制御装置。
【請求項７】
請求項５において、前記負荷パラメータ推定部は、前記モータの回転方向が正方向の時に求めた負荷トルク推定値と、前記モータの回転方向が負方向の時に求めた負荷トルク推定値との平均値として、重力トルク推定値を算出することを特徴とするモータ制御装置。
【請求項８】
請求項３において、前記負荷パラメータ推定部は、未知の最大加速度に対して、可能な限り隣接する加速度検出値差の大きなデータを取得する為に、ｎを正整数とするとき、隣接する加速度検出値差が２のｎ乗倍となる系列を前記所定の加速度検出値としてデータ取得することを特徴とするモータ制御装置。
【請求項９】
連結軸を介して駆動対象の負荷と結合したモータと、前記モータを駆動する電力変換器と、トルク電流指令値と前記モータに供給されるトルク電流検出値との偏差に応じて電力変換器の出力電流を調整する電流制御器と、前記モータの速度を検出し、速度検出値として出力する速度検出器と、前記速度検出値を微分することにより加速度検出値を出力する加速度演算器と、前記負荷の慣性モーメントを推定する負荷パラメータ推定部と、前記トルク電流指令値を出力する速度制御器を備えたモータ制御装置であって、
前記負荷パラメータ推定部は、前記トルク電流検出値にトルク定数を乗じて算出したトルク検出値、前記速度検出値及び前記加速度検出値を入力し、前記加速度検出値が等しく、且つ速度検出値が相違なる２点の条件でのトルク検出値の差を前記速度検出値の差で除することにより粘性摩擦係数推定値を算出し、該粘性摩擦係数推定値を用いて前記慣性モーメントを推定し、
前記速度制御器は、推定された前記慣性モーメントにより制御定数を自動修正して前記トルク電流指令値を調整することを特徴とするモータ制御装置。
【請求項１０】
請求項９において、前記トルク検出値、前記加速度検出値及び前記速度検出値を、それぞれ同一特性のローパスフィルタに入力し、前記ローパスフィルタの出力として得られるフィルタ後トルク検出値、フィルタ後加速度検出値及びフィルタ後速度検出値を前記負荷パラメータ推定部に入力することを特徴とするモータ制御装置。
【請求項１１】
請求項９において、前記負荷パラメータ推定部は、所定の加速度検出値における速度検出値とトルク検出値を、前記加速度検出値が増加傾向の場合と、減少傾向の場合について、それぞれ取得する手段を有することを特徴とするモータ制御装置。
【請求項１２】
請求項９において、前記負荷パラメータ推定部は、前記トルク検出値と同時に取得した速度検出値と粘性摩擦係数推定値との積として算出した粘性摩擦トルク推定値を前記トルク検出値から減算することにより、粘性摩擦の影響を除去したトルク検出値を算出することを特徴とするモータ制御装置。
【請求項１３】
請求項12において、前記負荷パラメータ推定部は、複数の加速度検出値における速度検出値とトルク検出値を取得し、横軸を加速度検出値、縦軸を前記粘性摩擦の影響を除去したトルク検出値とするグラフ上に各取得データをプロットしたと仮定した場合の近似直線の傾きとして慣性モーメント推定値を算出し、更に、グラフの切片として負荷トルク推定値を算出することを特徴とするモータ制御装置。
【請求項１４】
請求項９において、前記負荷パラメータ推定部は、前記所定の加速度検出値よりも小さい加速度検出値における速度検出値とトルク検出値と、前記所定の加速度検出値よりも大きい加速度検出値における速度検出値とトルク検出値をそれぞれ取得し、求めたい前記所定の加速度検出値における速度検出値とトルク検出値を前記２点の条件の取得データからの線形推定値として算出することを特徴とするモータ制御装置。
【請求項１５】
請求項13において、前記負荷パラメータ推定部は、前記モータの回転方向が正方向の時に求めた負荷トルク推定値と、前記モータの回転方向が負方向の時に求めた負荷トルク推定値との平均値として、重力トルク推定値を算出することを特徴とするモータ制御装置。
【請求項１６】
請求項11において、前記負荷パラメータ推定部は、未知の最大加速度に対して、可能な限り隣接する加速度検出値差の大きなデータを取得する為に、ｎを正整数とするとき、隣接する加速度検出値差が２のｎ乗倍となる系列を前記所定の加速度検出値としてデータ取得することを特徴とするモータ制御装置。
【請求項１７】
連結軸を介して駆動対象の負荷と結合したモータを駆動する電力変換器と、トルク電流指令値と前記モータに供給されるトルク電流検出値との偏差に応じて電力変換器の出力電流を調整する電流制御器と、前記負荷の慣性モーメントを推定する負荷パラメータ推定部と、前記トルク電流指令値を出力する速度制御器を備えたモータ制御方法であって、
前記負荷パラメータ推定部は、前記トルク電流指令値にトルク定数を乗じて算出したトルク指令値またはトルク検出値、前記モータの速度を検出した速度検出値及び前記速度検出値を微分した加速度検出値を前記モータの動作中に入力し、前記加速度検出値が等しく、且つ速度検出値が相違なる２条件でのトルク指令値またはトルク検出値の差を前記速度検出値の差で除することにより粘性摩擦係数推定値を算出し、該粘性摩擦係数推定値を用いて前記慣性モーメントを推定し、
前記速度制御器は、推定された前記慣性モーメントにより制御定数を自動修正して前記トルク電流指令値を調整することを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、産業用機械（半導体製造装置、工作機械、射出成形機）などのモータ制御装置に係り、特にオンライン負荷パラメータを推定し制御性能の向上を図る方式に関する。
【背景技術】
【０００２】
半導体製造装置、工作機械、射出成形機などの産業機械におけるモータの制御装置において、実運転中に機械の慣性モーメントおよび重力トルクを推定し、推定結果を速度制御部の制御定数の自動修正に用いることが提案されている。
【０００３】
特許文献１の技術は、加減速運転時のトルク指令値を、そのときの加速度検出値で除することにより慣性モーメントを推定する。
【０００４】
特許文献２の技術は、モータを複数の異なる一定速度で駆動することにより、各速度に対応した摩擦トルク（粘性摩擦トルク＋動摩擦トルク相当）を直接測定する。この取得した摩擦トルクをモータの加減速時に必要なトルクから減算することによって、慣性モーメント分を加減速するために必要なトルクを求め、該トルクを加速度で除することによって慣性モーメントを推定している。また、重力の影響を受ける垂直軸の場合には、各速度に対応した摩擦トルクを、「速度の大きさが同じで回転方向のみ異なる一定速度で駆動した時に必要となるトルク」の平均値として求める。更に、各速度に対応した重力分を補償するためのトルクを「速度の大きさが同じで回転方向のみ異なる一定速度で駆動した時に必要となるトルク」の差の二分の一により求める。こうして得られた摩擦トルクと重力分を補償するためのトルクを、モータの加減速時に必要なトルクから減算することによって、慣性モーメント分を加減速するために必要なトルクを求め、該トルクを加速度で除することによって慣性モーメントを推定する。
【０００５】
【特許文献１】特開2001−352773号公報
【特許文献２】特開平6−298074号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１の技術では、モータ速度に比例して増大する粘性摩擦トルクの影響を無視している為、粘性摩擦係数の大きな装置や、高速運転時における慣性モーメントの推定結果が実際よりも大きめに算出される問題があった。
【０００７】
特許文献２の技術は、モータの加減速時に必要なトルクから一定速度運転時に必要なトルクを減算することによって、慣性モーメント分を加減速するために必要なトルクを求め、該トルクを加速度で除することによって慣性モーメントを推定する。このため、特許文献1の技術とは異なり、粘性摩擦トルクの大きな装置でも、高精度な慣性モーメント推定が可能である。しかしながら、モータを実際に複数の異なる一定速度で駆動する必要があり、特に垂直軸の場合には運転方向を反転する必要性から、運転回数が２倍に増大する。このため、推定に時間が掛かる。また、実運転中の任意のモータ運転パターンでの慣性モーメント推定には適さないという問題があった。
【０００８】
本発明の目的は、上記従来技術の問題点に鑑み、実運転中の任意のモータ運転パターンに適用可能で、速度制御部の制御定数の自動修正により制御性能の向上を図るモータ制御装置および方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決する為の本発明の特徴は、モータの加速度が同一で、速度だけが異なる２つの条件におけるトルク指令値差、もしくは、トルク検出値差を、そのときの速度検出値差で除することにより、粘性摩擦係数を算出する。次に前記粘性摩擦係数と速度検出値を乗ずることにより間接的に粘性摩擦トルクを推定し、推定した前記粘性摩擦トルクをモータの加減速時に必要なトルクから減算することによって、粘性摩擦の影響のみ排除したモータの加減速時に必要なトルクを算出する。こうして、前記粘性摩擦の影響を排除したモータの加減速時に必要なトルクを複数の異なる加速度について求め、加速度の変化量に対する前記粘性摩擦の影響のみ排除したモータの加減速時に必要なトルクの変化量の比として、慣性モーメントを推定するものである。
【００１０】
すなわち、本発明のモータ制御装置は、連結軸を介して駆動対象の負荷と結合したモータと、前記モータを駆動する電力変換器と、トルク電流指令値と前記モータに供給されるトルク電流検出値との偏差に応じて電力変換器の出力電流を調整する電流制御器、前記モータの速度を検出し、速度検出値として出力する速度検出器と、前記速度検出値を微分することにより加速度検出値を出力する加速度演算器と、前記負荷の慣性モーメントを推定する負荷パラメータ推定部と、前記トルク電流指令値を出力する速度制御器を備えたものであって、前記負荷パラメータ推定部は、前記トルク電流指令値にトルク定数を乗じて算出したトルク指令値、前記速度検出値及び前記加速度検出値を入力して、前記加速度検出値が等しく、且つ速度検出値が相違なる２点の条件でのトルク指令値の差を前記速度検出値の差で除することにより粘性摩擦係数推定値を算出し、該粘性摩擦推定値を用いて前記慣性モーメントを推定し、前記速度制御器は、推定された前記慣性モーメントにより制御定数を自動修正して前記トルク電流指令値を調整することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、粘性摩擦係数が大きな産業用機械などの装置であっても、粘性摩擦力の影響を受けることなく、慣性モーメントの推定が可能となる。また、一定速度区間のない運転パターンや、単一方向のみの運転パターンに対しても慣性モーメントの推定が可能となる。これにより、従来技術では推定困難であった装置においても、実運転中に慣性モーメント、粘性摩擦係数、負荷トルクを精度良く推定し、速度制御部の制御定数の自動修正による制御性能の向上が実現できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の複数の実施形態について図面を用いながら詳細に説明する。
【実施例１】
【００１３】
図１は本発明の一実施例によるモータ制御装置の構成を示すブロック線図である。実施例１は、オンライン負荷パラメータ推定手段を利用して、時々刻々と変動する負荷の慣性モーメント値に応じて、最適な速度制御器のゲイン設定を実現するモータ制御装置である。
【００１４】
通常、負荷の慣性モーメント値がN倍に変動した場合、慣性モーメント変動前と同等の制御特性を実現する為には、速度制御器の出力をN倍に増幅する必要がある。しかしながら、こうした補正の実現には、実時間で、高精度に負荷の合計慣性モーメント値を推定する手段が不可欠である。
【００１５】
本実施例では、位置決め動作中のモータの加速度検出値、トルク指令値、速度検出値を入力値として、オンライン負荷パラメータ推定部14において、負荷の合計慣性モーメント値の推定演算を行い、推定結果を直ちに速度制御器のゲイン設定に反映する構成としている。また、オンライン負荷パラメータ推定部14への入力信号に含まれるノイズ成分を除去し、且つ、推定精度への影響を最小化する為に、同一特性のローパスフィルタを用いている。これにより、フィルタ追加による振幅・位相の変化を全入力信号に対して揃えることができ、最終的に、推定結果への悪影響をキャンセルしている。以下、本実施例の詳細な説明を行う。
【００１６】
図1において、１はモータ、２はモータ１により駆動される駆動対象の負荷、３はモータ１と負荷２を連結する連結軸、４はモータ１を駆動する電力変換器、５はモータ１の回転軸に取り付けられ、モータ１の回転軸の速度検出値ωMを出力する速度検出器である。６はモータ１に供給されるトルク電流検出値Iqを検出する電流検出器、７はトルク電流指令値Iq*とモータ１に供給されるトルク電流検出値Iqとの電流偏差Ieを演算する減算器、８は電流偏差Ieに応じて電力変換器４の出力電流を調整する電流制御器である。
【００１７】
501はトルク電流指令値Iq*を出力する速度制御器であり、後述するモータと負荷の合計慣性モーメント推定値J^を用いて制御ゲインを可変としている。502は速度指令値ωM*と速度検出値ωMとの速度偏差ωeを演算する減算器である。
【００１８】
９はトルク電流指令値Iq*をトルク定数kt倍して、トルク指令値τM*を得る乗算器、10はトルク指令値τM*を入力し、フィルタ後トルク指令値τMF*を出力するノイズ除去用のローパスフィルタである。11は速度検出値ωMを入力し、加速度検出値αMを出力する微分演算器、12は加速度検出値αMを入力し、フィルタ後加速度検出値αMFを出力するノイズ除去用のローパスフィルタ、13は速度検出値ωMを入力し、フィルタ後速度検出値ωMFを出力するノイズ除去用のローパスフィルタである。
【００１９】
オンライン負荷パラメータ推定部14は、フィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、フィルタ後速度検出値ωMFを入力する。そして、モータと負荷の合計慣性モーメント推定値J^、粘性摩擦係数推定値D^、負荷トルク推定値τL^、重力トルク推定値τG^、動摩擦トルクの大きさの推定値τkC^を出力する。後述する予め定めたルールに従い、フィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、フィルタ後速度検出値ωMFを同時に取得するデータ取得部15を有している。また、データ取得部15が取得したデータを基に、モータと負荷の合計慣性モーメント推定値J^、粘性摩擦係数推定値D^、負荷トルク推定値τL^、重力トルク推定値τG^、動摩擦トルクの大きさの推定値τkC^を算出するデータ解析部16を有している。
【００２０】
また、データ取得部15からデータ解析部16に対しては、データ取得部15における取得データを格納した取得データ配列data_atv[][]が与えられる。この他、後述する加速度状態の最大値を記録した変数であるstate_acc_MaxhoLd、データ取得完了後にデータ解析部16にデータ解析を要求する為のフラグであるデータ解析要求フラグID_REQが与えられる。これに対して、データ解析部16からデータ取得部15に対しては、データ解析が完了したことを通知する為のフラグであるデータ解析完了フラグID_DONEが与えられる。これにより、データ取得部15はデータ解析の完了を待って、既に取得したデータをクリアし、新たなデータ取得を開始することが可能となる。
【００２１】
次に、推定対象となる負荷について説明する。図２は推定対象の負荷をモデル化したブロック線図である。ブロック線図を構成する各要素のパラメータは、モータトルクτMとモータ速度ωMを利用して推定する。
【００２２】
図２において、ブロック40はモータと負荷の合計慣性モーメントJの挙動を表現するブロックであり、加減速トルクτaを入力値として、これを積分し、更にモータと負荷の合計慣性モーメントJで除算した値をモータ速度ωMとして出力する。積分器41はモータ速度ωMを入力とし、モータ位置θMを出力する。ブロック42はモータ速度ωMを入力し、モータ速度ωMに粘性摩擦係数Dを乗じた値を粘性摩擦トルクτDとして出力する粘性摩擦係数ゲインである。
【００２３】
動摩擦トルクブロック43はモータ速度ωMを入力し、モータ速度ωMの回転方向が正ならば、動摩擦トルクの大きさを表す一定値τkCを動摩擦トルクτkとして出力する。モータ速度ωMの回転方向が負ならば、動摩擦トルクの大きさを表す一定値τkCを符号反転した−τkCを動摩擦トルクτkとして出力する。加算器44は負荷の駆動方向が垂直成分を持つ場合に、負荷に作用する重力トルクτGと動摩擦トルクτkとを加算し、負荷トルクτLとして出力する。減算器45はモータトルクτMから負荷トルクτLと粘性摩擦トルクτDを減算し、加減速トルクτaを出力する。
【００２４】
本実施例では、図２におけるモータと負荷の合計慣性モーメントJ、粘性摩擦係数D、負荷トルクτL、重力トルクτG、動摩擦トルクの大きさを表す一定値τkCで表現されたパラメータおよび状態変数を推定する。また、推定に利用するモータトルクτMには、トルク電流指令値Iq*をトルク定数kt倍して得られるトルク指令値τM*や、トルク電流検出値Iqをトルク定数kt倍して得られるトルク検出値τMを等価な値として用いる。
【００２５】
図３はモータ加速時におけるモータ速度や位置、及び各パラメータの推移を示す。図２のブロック線図と図３の波形を用いて、粘性摩擦係数推定値D^の導出原理を説明する。
【００２６】
図３において、最上部のグラフはモータ加速運転時のモータ位置θMを表し、最上部から２番目のグラフはモータ加速運転時のモータ速度ωMを表し、最上部から３番目のグラフはモータ加速運転時のモータトルクτM、加減速トルクτa、粘性摩擦トルクτD、負荷トルクτLを表す。最下部のグラフはモータ加速運転時のモータ加速度αMを表す。
【００２７】
オンライン負荷パラメータ推定部14は、これら波形の内、モータ速度ωMは速度検出器５の出力する速度検出値ωMとして観測し、モータ加速度αMはモータ速度ωMの微分値として算出する。モータトルクτMはトルク電流指令値Iq*をトルク定数kt倍して得られるトルク指令値τM*や、トルク電流検出値Iqをトルク定数kt倍して得られるトルク検出値τMを等価な値として用いる。また、加減速トルクτa、粘性摩擦トルクτD、負荷トルクτLおよびモータ位置θMは、粘性摩擦係数推定値D^の導出に関して検出すべき状態量ではないが、説明の便宜上記載した。
【００２８】
図２における減算器45の入出力から、モータトルクτMを加減速トルクτaと負荷トルクτLと粘性摩擦トルクτDとの和で表現した（１）式の関係が導ける。
【００２９】
【数１】
0004602921.tif 000002
【００３０】
また、モータと負荷の合計慣性モーメントJの挙動を表現するブロック40の入出力から、（２）式の関係が成立し、粘性摩擦係数ゲイン42の入出力から（３）式の関係が成立する。
【００３１】
【数２】
0004602921.tif 000003
【００３２】
上記（２）式、（３）式を（１）式に代入すると、（４）式の関係が得られる。
【００３３】
【数３】
0004602921.tif 000004
【００３４】
（４）式において、左辺は前記モータトルクτM、右辺第一項は未知の「モータと負荷の合計慣性モーメントJ」をモータ加速度αMに乗じた値、右辺第二項は重力トルクτGと動摩擦トルクτkとの加算値に等しく、モータの回転方向が一定ならば、一定値となる。また、右辺第三項は、未知の粘性摩擦係数Dをモータ速度ωMに乗じた値である。
【００３５】
このことから、モータ加速度αMが等しくモータ速度ωMが相違する２条件でのモータトルクτMの差異は、右辺第一項および第二項が等しいことにより、モータ速度ωMの差異に粘性摩擦係数Dを乗じた値に等しいことが分かる。
【００３６】
次に、以上の内容を図３の波形と数式により説明する。図３のモータ加速度αMの波形に着目すると、加速時には増加の後、必ず減少に転じている。このことから、増加時と減少時とで、モータ加速度αMが等しくなる状態が存在する。例えば、51は粘性摩擦測定加速度αM1であり、このようなモータ加速度αM1に対応する状態は、破線52で示した時刻と、破線53で示した時刻の２箇所に存在する。
【００３７】
次に、両時刻での加減速トルクτaと、負荷トルクτLがそれぞれ等しいことを確認した上で、両時刻におけるモータトルクτMおよびモータ速度ωMに着目する。破線52で示した時刻でのモータトルクτM1L、同時刻でのモータ速度ωM1L、破線53で示した時刻でのモータトルクτM1H、同時刻でのモータ速度ωM1Hとするとき、それぞれを（４）式に代入すると、以下の（５）式、（６）式が得られる。
【００３８】
【数４】
0004602921.tif 000005
【００３９】
次に、（５）式、（６）式の両辺の差をとって、粘性摩擦係数Dについて解くと、（７）式が得られる。
【００４０】
【数５】
0004602921.tif 000006
【００４１】
（７）式は、モータ加速度αMが等しく、且つ、モータ速度ωMが相違する２条件でのモータトルクτMおよびモータ速度ωMを観測できれば、粘性摩擦係数Dの推定が可能であることを示している。本実施例によるオンライン負荷パラメータ推定装置では、粘性摩擦係数推定値D^を（７）式により算出する。
【００４２】
次に、モータと負荷の合計慣性モーメント推定値J^の導出原理を説明する。図４は加速度とモータ速度、および加速度とモータトルクの関係を示すグラフである。（a）はモータ加速時のモータ加速度αMとモータ速度ωMの関係を表している。波形70は、図３におけるモータ加速度αMの値を横軸に、モータ速度ωMの値を縦軸に取り直したものである。また、（ｂ）はモータ加速時のモータ加速度αMとモータトルクτMの関係を表しており、波形72は図３におけるモータ加速度αMの値を横軸に、モータトルクτMの値を縦軸に取り直したものである。
【００４３】
ここで、（４）式を参照しながら、図４のグラフを説明する。まず、簡単の為に、粘性摩擦係数Dが０の特殊な場合を考える。この場合、（４）式の第三項がゼロとなり、（８）式で表すことができる。
【００４４】
【数６】
0004602921.tif 000007
【００４５】
（８）式は、傾きがモータと負荷の合計慣性モーメントJで、切片が負荷トルクτLの直線を表す式であり、この直線を図４（ｂ）に破線71で示す。（８）式および破線71から明らかなように、粘性摩擦係数Dがゼロの場合には、モータ加速度αMとモータトルクτMの観測データを２点以上取得できれば、観測データに関する近似直線の傾きおよび切片が算出可能となる。すなわち、モータと負荷の合計慣性モーメント推定値J^および負荷トルク推定値τL^を算出できる。
【００４６】
一方、粘性摩擦係数Dが０でない一般的な場合には、（４）式の粘性摩擦項を左辺に移項した（９）式を考える。
【００４７】
【数７】
0004602921.tif 000008
【００４８】
（９）式の左辺は粘性摩擦の影響を除去したモータトルクに相当し、これをτCとおいて（10）式で表す。
【００４９】
【数８】
0004602921.tif 000009
【００５０】
これにより（９）式は（11）式で表すことができる。
【００５１】
【数９】
0004602921.tif 000010
【００５２】
（11）式は、（８）式と同様、傾きがモータと負荷の合計慣性モーメントJで切片が負荷トルクτLの直線を表す式である。このことから、モータ加速度αMと粘性摩擦の影響を除去したモータトルクτCのデータを２点以上取得できれば、取得データに関する近似直線の傾き、および切片として、モータと負荷の合計慣性モーメント推定値J^および、負荷トルク推定値τL^を算出できる。
【００５３】
そこで、粘性摩擦の影響を除去したモータトルクτCの推定値τC^を、（12）式から算出する。（10）式の右辺第二項の粘性摩擦係数Dは、粘性摩擦係数推定値D^で置換して得られる。
【００５４】
【数１０】
0004602921.tif 000011
【００５５】
次に、粘性摩擦係数Dがゼロでない場合について、モータ加速度αMと粘性摩擦の影響を除去したモータトルクτCの推定値τC^のデータ２点から、モータと負荷の合計慣性モーメント推定値J^および、負荷トルク推定値τL^を算出する具体例を示す。但し、以下では、同時刻に取得したモータ加速度αM、モータトルクτM、モータ速度ωMのセットを（αM、τM、ωM）の形で表現する。
【００５６】
２点データのモータ加速度αMをそれぞれαM1、αM2（αM1≠αM2）とするとき、各モータ加速度αMについて、モータ速度ωMが相違する２条件で取得すると、全部で４点のデータを取得できる。これらデータを、（αM1、τM1L、ωM1L）、（αM1、τM1H、ωM1H）および（αM2、τM2L、ωM2L）、（αM2、τM2H、ωM2H）とする。このとき、粘性摩擦係数推定値D^は（13）式もしくは（14）式、または（13）式と（14）式の平均値として算出する。
【００５７】
【数１１】
0004602921.tif 000012
【００５８】
次に、粘性摩擦の影響を除去したモータトルクτCの推定値τC^をモータ加速度αM1、αM2の場合について、それぞれτC1^およびτC2^として算出する。τC1^を（15）式もしくは（16）式、または（15）式と（16）式の平均値として、D^を利用して算出する。
【００５９】
【数１２】
0004602921.tif 000013
【００６０】
同様に、τC2^を（17）式もしくは（18）式、または（17）式と（18）式の平均値として、D^を利用して算出する。
【００６１】
【数１３】
0004602921.tif 000014
【００６２】
このとき、(αM1、τC1^)、(αM2、τC2^)の2点を通る直線の式は（19）式で表される。
【００６３】
【数１４】
0004602921.tif 000015
【００６４】
よって、（19）式の傾きとして、モータと負荷の合計慣性モーメント推定値J^を（20）式により算出する。また、（19）式の切片として、負荷トルク推定値τL^を（21）式より算出する。
【００６５】
【数１５】
0004602921.tif 000016
【００６６】
次に、重力トルク推定値τG^および、動摩擦トルクの大きさの推定値τkC^を算出する方法を示す。図２に示すように、負荷トルクτLは重力トルクτGと動摩擦トルクτkの和で表される。更に、動摩擦トルクτkはモータの回転方向により符号のみ反転する性質を持ち、動摩擦トルクの大きさを表す一定値τkCを用いて、モータ正回転時の負荷トルクτL+およびモータ負回転時の負荷トルクτL−はそれぞれ、（22）式、（23）式で表される。
【００６７】
【数１６】
0004602921.tif 000017
【００６８】
（22）式、（23）式から、重力トルクτGは（24）式で表現され、動摩擦トルクの大きさを表す一定値τkCは（25）式で表現される。
【００６９】
【数１７】
0004602921.tif 000018
【００７０】
重力トルク推定値τG^および、動摩擦トルクの大きさの推定値τkC^は、（24）式および（25）式において、モータ正回転時の負荷トルクτL+およびモータ負回転時の負荷トルクτL-をそれぞれ置換する。すなわち、モータ正回転時の負荷トルク推定値τL^+およびモータ負回転時の負荷トルク推定値τL^-に置換して得られる（26）式および（27）式から算出する。
【００７１】
【数１８】
0004602921.tif 000019
【００７２】
以上のように、本実施例によれば、粘性摩擦係数の大きな装置であっても、粘性摩擦の影響を受けることなく、慣性モーメントの推定が可能となる。また、正回転時の負荷トルク推定値と負回転時の負荷トルク推定値から、動摩擦の大きさや、重力トルクを推定可能である。
【００７３】
次に、図1において、符号10、12、13で表したローパスフィルタの推定精度に及ぼす影響が小さいことを説明する。使用する３つのローパスフィルタの伝達関数が、全て等しく、G(s)で表現できるとすると、フィルタ後トルク指令値τMF*はトルク指令値τM*を用いて、τMF*＝G(s)・τM*と表すことができる。同様に、フィルタ後加速度検出値αMFは加速度検出値αMを用いて、αMF＝G(s)・αMと表すことができ、フィルタ後速度検出値ωMFは速度検出値ωMを用いて、ωMF＝G(s)・ωMと表すことができる。また、（4）式の両辺にG(s)を乗ずると、（28）式が得られる。
【００７４】
【数１９】
0004602921.tif 000020
【００７５】
また、本発明では、トルク指令値τM*はモータトルクτMに等しいと近似するため、（28）式は（29）式で表すことができる。
【００７６】
【数２０】
0004602921.tif 000021
【００７７】
（29）式において、右辺第二項は、負荷トルクτLをローパスフィルタに入力した出力結果を意味するが、負荷トルクτLが推定動作中にほぼ一定と仮定すると、τL＝G(s)・τLが成立する。よって、（29）式は（30）式で表すことができる。
【００７８】
【数２１】
0004602921.tif 000022
【００７９】
（30）式は、（4）式に比較して、モータトルクτM、モータ加速度αM、モータ速度ωMがフィルタ後の値に変わっただけで、同一形である。このことから、負荷トルクτLが推定動作中にほぼ一定と見なせるならば、各検出部に使用するフィルタが全て同一特性である限りは、フィルタの有無に関わりなく以下の各値を推定できる。すなわち、モータと負荷の合計慣性モーメント推定値J^、粘性摩擦係数推定値D^、負荷トルク推定値τL^、重力トルク推定値τG^、動摩擦トルクの大きさの推定値τkC^等を、これまで述べてきた手法により推定できると言える。
【００８０】
次に、データ取得部15におけるデータ取得方法について説明する。以上の説明では、フィルタ後加速度検出値αMFが所望の値（以下、ターゲット加速度と呼ぶ）におけるフィルタ後トルク指令値τMF*、および、フィルタ後速度検出値ωMFが取得できることを前提としてきた。しかし、実際には、データ取得部15は計算機上に構成される為、あるサンプリング周期毎にしかデータ取得が行われない。このため、本発明が取り扱う、変化するフィルタ後加速度検出値αMFに対しては、ターゲット加速度におけるフィルタ後トルク指令値τMF*、および、フィルタ後速度検出値ωMFを取得することが不可能である。
【００８１】
そこで、本発明では、ターゲット加速度近傍におけるターゲット加速度未満とターゲット加速度以上のフィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、および、フィルタ後速度検出値ωMFを同時に取得する。そして、線形補間により、ターゲット加速度におけるフィルタ後トルク指令値τMF*、および、フィルタ後速度検出値ωMFの算出を行う。
【００８２】
次に、粘性摩擦係数推定値D^の算出に用いる、フィルタ後加速度検出値αMFが等しく、且つフィルタ後速度検出値ωMFが相違なる２条件でのデータを取得する手段を説明する。本実施例では、フィルタ後加速度検出値αMFが増加傾向の場合と減少傾向の場合について、以下のように取得する。それぞれターゲット加速度近傍におけるターゲット加速度未満とターゲット加速度以上のフィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、およびフィルタ後速度検出値ωMFを同時に取得する。
【００８３】
具体的には、図６に示す状態遷移図に従う。図６では、フィルタ後加速度検出値αMFの大きさで状態遷移する12個のデータ取得状態を定義している。各データ取得状態において、担当するターゲット加速度未満とターゲット加速度以上のデータ取得を行う。
【００８４】
図５は、各データ取得状態において担当するターゲット加速度値と、取得データの格納場所を示す。図５は図１のブロック線図に記載した取得データ配列data_atv[][]のデータフォーマットそのもので、10行６列の２次元配列である。また、データ配列data_atv[][]の参照は、１つめの[]内に行を、２つ目の[]内に列を対応させることで実現する。
【００８５】
例えば、データ取得状態UP_ACC_3におけるターゲット加速度は、８×WT_ACCである。その格納場所は、ターゲット加速度８×WT_ACC未満におけるフィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、フィルタ後速度検出値ωMFがそれぞれdata_atv[3][0]、data_atv[3][1]、data_atv[3][2]である。ターゲット加速度８×WT_ACC以上におけるフィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、フィルタ後速度検出値ωMFの格納場所は、それぞれdata_atv[3][3]、data_atv[3][4]、data_atv[3][5]である。同様に、図５によれば、各データ取得状態におけるターゲット加速度値と、取得データの内容および、その格納場所を知ることができる。
【００８６】
ここで、WT_ACCは取得するフィルタ後加速度検出値αMFの間隔の最小値を定義する定数であり、最大加速度の大きい装置では大きめに、最大加速度の小さい装置では、小さめに設定している。また、ターゲット加速度を図５のように、ｎを整数とするとき、フィルタ後加速度検出値αMFの間隔が２のｎ乗倍となるように取得することにより、取り扱えるフィルタ後加速度検出値αMFのダイナミックレンジを確保している。
【００８７】
次に、図６の状態遷移をSTARTから順を追って見ていくことにする。100のデータ取得状態UP_ACC_0からデータ取得を開始し、フィルタ後加速度検出値αMFが1.5×WT_ACC以上になると、101の状態UP_ACC_1に遷移する。状態UP_ACC_1では、フィルタ後加速度検出値αMFが３×WT_ACC以上になると、102の状態UP_ACC_2に遷移し、フィルタ後加速度検出値αMFが1.5×WT_ACC未満になると、110の状態DN_ACC_0に遷移する。状態UP_ACC_2では、フィルタ後加速度検出値αMFが６×WT_ACC以上になると103の状態UP_ACC_3に遷移し、フィルタ後加速度検出値αMFが３×WT_ACC未満になると、109の状態DN_ACC_1に遷移する。状態UP_ACC_3では、フィルタ後加速度検出値αMFが12×WT_ACC以上になると104の状態UP_ACC_4に遷移し、フィルタ後加速度検出値αMFが６×WT_ACC未満になると、108の状態DN_ACC_2に遷移する。状態UP_ACC_4では、フィルタ後加速度検出値αMFが24×WT_ACC以上になると105の状態ACC_5に遷移し、フィルタ後加速度検出値αMFが12×WT_ACC未満になると、107の状態DN_ACC_3に遷移する。
【００８８】
状態ACC_5は、データ取得を行わない状態であり、フィルタ後加速度検出値αMFが24×WT_ACC未満になると、106の状態DN_ACC_4に遷移する。状態DN_ACC_4では、フィルタ後加速度検出値αMFが24×WT_ACC以上になると状態ACC_5に遷移し、フィルタ後加速度検出値αMFが12×WT_ACC未満になると、状態DN_ACC_3に遷移する。状態DN_ACC_3では、フィルタ後加速度検出値αMFが12×WT_ACC以上になると状態UP_ACC_4に遷移し、フィルタ後加速度検出値αMFが6×WT_ACC未満になると、状態DN_ACC_2に遷移する。状態DN_ACC_2では、フィルタ後加速度検出値αMFが６×WT_ACC以上になると状態UP_ACC_3に遷移し、フィルタ後加速度検出値αMFが３×WT_ACC未満になると、状態DN_ACC_1に遷移する。状態DN_ACC_1では、フィルタ後加速度検出値αMFが３×WT_ACC以上になると状態UP_ACC_2に遷移し、フィルタ後加速度検出値αMFが1.5×WT_ACC未満になると、状態DN_ACC_0に遷移する。状態DN_ACC_0では、フィルタ後加速度検出値αMFが1.5×WT_ACC以上になると状態UP_ACC_1に遷移する。
【００８９】
フィルタ後加速度検出値αMFが0.5×WT_ACC未満で、且つ、後述するデータ取得状態番号の最大ホールド値であるstate_acc_MaxhoLdが２未満の場合には、推定に必要なデータが取得できていないことから、状態UP_ACC_0に遷移する。一方、フィルタ後加速度検出値αMFが0.5×WT_ACC未満で、且つ、state_acc_MaxhoLdが２以上の場合には、推定に必要な情報が取得できていることから、111の状態ACC_ENDに遷移し、データ取得を終了する。
【００９０】
次に、データ取得部15の処理手順を説明する。図７はデータ取得部のフローチャートを示す。一例として、状態UP_ACC_1におけるターゲット加速度未満とターゲット加速度以上のフィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、および、フィルタ後速度検出値ωMFを同時に取得する方法を説明する。
【００９１】
STARTからフローチャートを開始し、判定部でフィルタ後加速度検出値αMFが1.5×WT_ACC未満か否かを判定する（161）。Yesならば、データ取得状態を保存する状態変数state_accに、DN_ACC_0を代入し、DN_ACC_0への状態遷移を行う（162）。判定部161でNoの場合には、判定部164に移行し、フィルタ後加速度検出値αMFが２×WT_ACC未満か否かを判定する（164）。
【００９２】
判定部164においてYesならば、判定部165に移行し、フィルタ後加速度検出値αMFが取得済みのターゲット加速度が２×WT_ACC未満におけるフィルタ後加速度検出値αMFの値data_atv[1][0]よりも大きいか否かを判定する（165）。判定部165において、Yesの場合には、フィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、および、フィルタ後速度検出値ωMF全てをターゲット加速度が２×WT_ACC未満における取得済みのデータに上書きする（166）。これにより、一層ターゲット加速度近傍のデータに更新することができる。一方、判定部165において、Noの場合にはENDに移行し（163）、処理を終了する。
【００９３】
判定部164においてNoの場合には、判定部167に移行し、フィルタ後加速度検出値αMFが３×WT_ACC未満か否かを判定する（167）。Yesならば、判定部168に移行し、フィルタ後加速度検出値αMFが取得済みのターゲット加速度が２×WT_ACC以上におけるフィルタ後加速度検出値αMFの値data_atv[1][3]よりも小さいか否かを判定する（168）。
【００９４】
判定部168においてYesの場合には、処理169に移行し、フィルタ後加速度検出値αMF、フィルタ後トルク指令値τMF*、および、フィルタ後速度検出値ωMF全てをターゲット加速度が２×WT_ACC以上における取得済みのデータに上書きする。これにより、一層ターゲット加速度近傍のデータに更新することができる。一方、判定部168において、Noの場合には、ENDに移行し、処理を終了する。
【００９５】
判定部167において、Noの場合には、処理175に移行し、データ取得状態を保存する状態変数state_accにUP_ACC_2を代入し、UP_ACC_2への状態遷移を行い、処理176に移行する。処理176では、データ取得状態番号の最大ホールド値state_acc_MaxhoLdに遷移先状態名の末尾番号である２を代入し、ENDに移行して処理を終了する。他のデータ取得状態においても、同様な処理を実施する。
【００９６】
この結果、最終的にデータ取得状態名の末尾番号が等しい状態において、ターゲット加速度が同一のデータが取得されることとなるが、これが、フィルタ後加速度検出値が等しく、且つフィルタ後速度検出値が相違なる２条件でのデータに対応する。
【００９７】
以上のデータ取得法によれば、フィルタ後加速度検出値αMFが正の場合に限り、負荷パラメータの推定に必要なデータを取得可能である。そこで、フィルタ後加速度検出値αMFの代わりにフィルタ後加速度検出値αMFの絶対値|αMF|を用いることで、フィルタ後加速度検出値αMFが負の場合にも、負荷パラメータの推定に必要なデータを取得できる。但し、フィルタ後加速度検出値αMFが負の場合には、算出されるモータと負荷の合計慣性モーメント推定値J^が負値になる為、この場合、符号反転を実施する。
【００９８】
図８はデータ取得部の全体動作を示すフローチャートである。STARTからフローチャートを開始し、処理121で変数の初期化を行う。ここで、取得データ配列data_atv[][]の各要素、データ取得状態を保持する状態変数state_acc、データ取得状態番号の最大ホールド値state_acc_MaxhoLdのゼロクリアを実施する。特に、data_atv[][]の０列目から数えて３列目のデータには全て24×WT_ACCのデータを書き込んでおく。これにより、図７のフローチャートにおける判定部168が常に非成立となる問題を防止する。
【００９９】
初期化が完了すると、処理122に移行する。ここでは、データ解析要求フラグID_REQのゼロクリアを実施し、判定部123に移行する。判定部123では、データ解析部16が出力するデータ解析完了フラグID_DONEが０か否かを判定し、Yesならば、判定処理124に移行し、Noならば判定部123をYesになるまで繰り返し実施する。
【０１００】
判定部124では、フィルタ後加速度検出値αMFが0.5×WT_ACC未満まで低下しているか否かを判定し、Yesならば処理125に移行し、データ取得を開始し、Noならば判定部124をYesになるまで繰り返し実施する。処理125の内容は図６の状態遷移をデータ取得状態UP_ACC_0から開始することであり、開始後、判定部126に移行する。判定部126では、データ取得状態がACC_ENDならば処理127に移行し、ACC_ENDでないならば、判定部126をACC_ENDになるまで繰り返し実施する。
【０１０１】
処理127ではデータ解析要求フラグID_REQに1をセットし、判定部128に移行する。判定部128において、データ解析完了フラグID_DONEが1ならば、データ初期化処理121に移行し、新たなデータ取得に備える。判定部128において、データ解析完了フラグID_DONEが１でない場合には、１になるまで判定部128を繰り返し実施する。以上が、データ取得部15の全体処理内容である。
【０１０２】
次にデータ解析部16の動作を説明する。図９はデータ解析部の全体動作を示すフローチャートである。STARTからフローチャートを開始し、処理141で変数の初期化を行う。ここで、前回の解析時に用いた変数の初期化を行い、判定部142に移行する。判定部142では、データ解析要求フラグがゼロか否かを判定し、Yesならば、処理143に移行し、Noならば判定部142をYesになるまで繰り返し実施する。処理143では、データ解析完了フラグID_DONEをゼロクリアし、判定部144に移行する。
【０１０３】
判定部144では、データ解析要求フラグID_REQが１か否かを判定し、１ならば処理145に移行する。判定部144でID_REQが１でないならば、１になるまで判定部144を繰り返し実施する。処理145では、データ解析を開始し、判定部146に移行する。
【０１０４】
判定部146では、データ解析の完了を判定し、完了していれば、処理147に移行し、完了していない場合には、判定部146をデータ解析が完了するまで繰り返し実施する。処理147では、データ解析完了フラグに１をセットし、処理141に移行する。以上が、データ解析部16の全体処理内容である。
【０１０５】
次にデータ解析部16において、処理145で開始されるデータ解析処理の詳細を、図１０に示すフローチャートを用いて説明する。STARTからフローチャートを開始し、処理201でターゲット加速度２点αM1、αM2の決定を行う。これは、データ取得用配列data_atv[][]に実際に取得できたターゲット加速度の内、大きい方から２点選択すると良い。例えば、データ取得状態番号の最大ホールド値state_acc_MaxhoLdの値が５の場合、ターゲット加速度αM2には16×WT_ACCを選択し、ターゲット加速度αM1には８×WT_ACCを選択する。
【０１０６】
次に、処理202において、ターゲット加速度αM1における加速度増加時のωMF、τMF*をターゲット加速度未満のデータとターゲット加速度以上のデータの２点から線形補間により算出し、それぞれωM1L、τM1Lに代入する。次に、処理203において、ターゲット加速度αM1における加速度減少時のωMF、τMF*をターゲット加速度未満のデータとターゲット加速度以上のデータの２点から線形補間により算出し、それぞれωM1H、τM1Hに代入する。
【０１０７】
次に、処理204において、ターゲット加速度αM2における加速度増加時のωMF、τMF*をターゲット加速度未満のデータとターゲット加速度以上のデータの２点から線形補間により算出し、それぞれωM2L、τM2Lに代入する。次に、処理205において、ターゲット加速度αM2における加速度減少時のωMF、τMF*をターゲット加速度未満のデータとターゲット加速度以上のデータの２点から線形補間により算出し、それぞれωM2H、τM2Hに代入する。
【０１０８】
次に処理206において、式（13）または、式（14）により、粘性摩擦係数推定値D^を算出する。次に処理207において、ターゲット加速度αM1における粘性摩擦の影響を除去したモータトルクの推定値τC1^を（15）式または、（16）式により算出する。次に処理208において、ターゲット加速度αM2における粘性摩擦の影響を除去したモータトルクの推定値τC2^を（17）式または、（18）式により算出する。次に処理209において、モータと負荷の合計慣性モーメント推定値J^を（20）式により算出する。
【０１０９】
次に処理210において、負荷トルク推定値τL^を（21）式により算出し、判定処理211に移行する。判定処理211では、速度データωM2Hの符号を判定し、正であれば処理213に遷移する。処理213では、モータ正回転時の負荷トルク推定値τL^+に前記処理210で算出した負荷トルク推定値τL^を代入し処理214に遷移する。一方、速度データωM2Hの符号が負であったならば、処理212に遷移する。処理212では、モータ負回転時の負荷トルク推定値τL^-に処理210で算出した負荷トルク推定値τL^を代入し処理214に遷移する。処理214では、重力トルク推定値τG^を（26）式により算出し、動摩擦トルクの大きさの推定値τkC^を（27）式により算出し、215に移行しデータ解析を完了する。
【０１１０】
以上のように、負荷パラメータ推定部14はデータ取得部15とデータ解析部16が、データ解析要求フラグID_REQとデータ解析完了フラグID_DONEを用いて、互いの進捗状態を把握しながら処理を進めることで実現される。また、以上説明した実施例では、２点のデータから直線近似を実施したが、データ取得部において、複数の等間隔データを取得することも可能であり。その場合には、最小二乗法を用いて、直線近似を行う。この場合の最小二乗法の適用法については、例えば、飯國洋二著の文献「適応信号処理アルゴリズム」培風館に詳しく記載されているので参照されたい。
【実施例２】
【０１１１】
次に、本発明の第２の実施形態を説明する。図１１は実施例２によるモータ制御装置の構成を示すブロック線図である。実施例２の実施例１と異なる点は、フィルタ後加速度検出値αMFの作成法である。
【０１１２】
図１１のように、フィルタ後加速度検出値αMFは、フィルタ後速度検出値ωMFを微分演算器17で微分することで得て、データ取得部15に入力している。これによれば、ローパスフィルタを１個省略できる。
【実施例３】
【０１１３】
次に、本発明の第３の実施形態を説明する。図１２は実施例３によるモータ制御装置の構成を示すブロック線図である。実施例３と実施例１の異なる点は、トルク電流指令値Iq*の代わりにトルク電流検出値Iqを利用する点である。
【０１１４】
図１２では、まず、トルク電流検出値Iqを乗算器18においてトルク定数kt倍したトルク検出値τMを算出する。更に、トルク検出値τMをローパスフィルタ19に入力して得られたフィルタ後トルク検出値τMFをデータ取得部15に入力する。これによれば、トルク電流検出値Iqを利用しても、トルク電流指令値を利用するのと同等の効果がある。
【実施例４】
【０１１５】
次に、本発明の第４の実施形態を説明する。図１３は実施例４によるモータ制御装置の構成を示すブロック線図である。実施例４と実施例３の異なる点は、フィルタ後加速度検出値αMFの作成法である。
【０１１６】
図１３では、フィルタ後加速度検出値αMFは、フィルタ後速度検出値ωMFを微分演算器17で微分することで得てデータ取得部15に入力する。これによれば、実施例３に比べローパスフィルタを１個省略できる。
【図面の簡単な説明】
【０１１７】
【図１】本発明の実施例１によるモータ制御装置の構成を示すブロック線図。
【図２】本発明の推定対象である負荷を表すブロック線図。
【図３】モータ加速時の加速度、速度、トルクなどの波形図。
【図４】加速度とモータ速度の関係、加速度とモータトルクの関係を示すグラフ。
【図５】取得データ配列のデータフォーマット図。
【図６】データ取得部の状態遷移図。
【図７】データ取得部の処理を示すフローチャート。
【図８】データ取得部の全体処理を示すフローチャート。
【図９】データ解析部の全体処理を示すフローチャート。
【図１０】データ解析部のデータ解析処理の詳細を示すフローチャート。
【図１１】本発明の実施例２によるモータ制御装置の構成を示すブロック線図。
【図１２】本発明の実施例３によるモータ制御装置の構成を示すブロック線図。
【図１３】本発明の実施例４によるモータ制御装置の構成を示すブロック線図。
【符号の説明】
【０１１８】
１…電動機、２…負荷、３…連結軸、４…電力変換器、５…速度検出器、６…電流検出器、７…減算器、８…電流制御器、９…乗算器、10…ローパスフィルタ、11…微分演算器、12…ローパスフィルタ、13…ローパスフィルタ、14…オンライン負荷パラメータ推定部、15…データ取得部、16…データ解析部、501…速度制御器、502…減算器、Iq*…トルク電流指令値、Iq…トルク電流検出値、Ie…電流偏差、ωM…速度検出値、τM*…トルク指令値、αM…加速度検出値、τMF*…フィルタ後トルク指令値、ωMF…フィルタ後速度検出値、αMF…フィルタ後加速度検出値、data_atv[][]…取得データ配列、ID_REQ…データ解析要求フラグ、ID_DONE…データ解析完了フラグ、J^…モータと負荷の合計慣性モーメント推定値、D^…粘性摩擦係数推定値、τL^…負荷トルク推定値、τG^…重力トルク推定値、ωM*…速度指令値、ωe…速度偏差。
【図１】
0004602921.tif 000023
【図２】
0004602921.tif 000024
【図３】
0004602921.tif 000025
【図４】
0004602921.tif 000026
【図５】
0004602921.tif 000027
【図６】
0004602921.tif 000028
【図７】
0004602921.tif 000029
【図８】
0004602921.tif 000030
【図９】
0004602921.tif 000031
【図１０】
0004602921.tif 000032
【図１１】
0004602921.tif 000033
【図１２】
0004602921.tif 000034
【図１３】
0004602921.tif 000035