(57)【特許請求の範囲】
【請求項１】
速度指令値とモータの速度とに基づいて生成される平均トルク指令値と、前記平均トルク指令値を補正するための今回の機械角周期における補正トルク指令値とを加算した合計トルク指令値に基づいて電流指令値を算出する電流指令値算出器と、
前記補正トルク指令値がゼロでなく、かつ、前記電流指令値の最大値が所定の電流リミット値以上のときに、前記補正トルク指令値に制限を与える補正トルク制限値生成器と、を具備し、
前記補正トルク制限値生成器は、前記電流リミット値に対する前記電流指令値の最大値の偏差と、前回の機械角周期における補正トルク振幅とに基づいて、前記補正トルク指令値に対する補正トルク制限値を生成する、
モータ制御装置。
【請求項２】
速度指令値とモータの速度とに基づいて生成される平均トルク指令値と、前記平均トルク指令値を補正するための今回の機械角周期における補正トルク指令値とを加算した合計トルク指令値に基づいて電流指令値を算出する電流指令値算出器と、
前記補正トルク指令値がゼロでなく、かつ、前記モータの電流の最大値が所定の電流リミット値以上のときに、前記補正トルク指令値に制限を与える補正トルク制限値生成器と、を具備し、
前記補正トルク制限値生成器は、前記電流リミット値に対する前記モータの電流の最大値の偏差と、前回の機械角周期における補正トルク振幅とに基づいて、前記補正トルク指令値に対する補正トルク制限値を生成する、
モータ制御装置。
【請求項３】
前記補正トルク制限値生成器は、前記モータの回転速度の変動幅が許容値より小さいときに、前記補正トルク指令値に与えられている前記制限を解除する、
請求項１または２に記載のモータ制御装置。
【請求項４】
前記補正トルク制限値生成器は、前記モータの過電流保護機能が作動する電流閾値よりも所定値だけ小さい値を前記電流リミット値として用いる、
請求項１または２に記載のモータ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モータ制御装置に関する。
【背景技術】
【０００２】
空気調和装置に用いられる圧縮機では、圧縮機を駆動するモータのロータの１回転中において負荷トルクが周期的に変動する。この周期的な負荷トルク変動は、吸入、圧縮、吐出の各行程間における冷媒ガスの圧力変化に起因して発生し、モータの回転速度の変動（以下では単に「速度変動」と呼ぶことがある）によるモータの振動の発生要因となる。このような負荷トルク変動が発生する圧縮機を用いる場合、モータの回転速度の変動（以下では「速度変動」と呼ぶことがある）を抑えるために「トルク制御（周期的外乱抑制制御）」が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１９−１１８２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、モータのイナーシャ（慣性モーメント）が小さい場合は速度変動が大きくなるため、速度変動を抑制するためのトルク制御による電流が増加する。また、モータの鎖交磁束が小さい場合においても、電流量に対する出力トルクが小さくなるため、速度変動を抑制するためのトルク制御による電流が増加する。このため、イナーシャが小さいモータや鎖交磁束が小さいモータにおいて過負荷状態でトルク制御を行うと、モータのピーク電流が過大となってしまうことがある。モータのピーク電流が過大になると、モータの減磁を防止するための過電流保護機能が作動してモータが停止に至ってしまう。この過電流保護機能の作動によるモータの停止は「電流トリップ」と呼ばれることがある。
【０００５】
そこで、本開示では、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる技術を提案する。
【課題を解決するための手段】
【０００６】
本開示のモータ制御装置は、電流指令値算出器と、補正トルク制限値生成器とを有する。電流指令値算出器は、速度指令値とモータの速度とに基づいて生成される平均トルク指令値とトルク指令値を補正するための補正トルク指令値とを加算した合計補正トルク指令値とに基づいて電流指令値を算出する。補正トルク制限値生成器は、補正トルク指令値がゼロでなく、かつ、モータの電流の最大値が所定の電流リミット値以上のときに、補正トルク指令値に制限を与える。
【発明の効果】
【０００７】
本開示によれば、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる。
【図面の簡単な説明】
【０００８】
【図１】図１は、本開示の実施例１のモータ制御装置の構成例を示す図である。
【図２】図２は、本開示の実施例１の電流誤差補正値生成器の構成例を示す図である。
【図３】図３は、本開示の実施例１の補正トルク制限値生成器の構成例を示す図である。
【図４】図４は、本開示の実施例１のピークホールド算出器の動作例の説明に供する図である。
【図５】図５は、本開示の実施例１の補正トルク生成器の構成例を示す図である。
【図６Ａ】図６Ａは、本開示の実施例１のモータ制御装置の動作例の説明に供する図である。
【図６Ｂ】図６Ｂは、本開示の実施例１のモータ制御装置の動作例の説明に供する図である。
【図６Ｃ】図６Ｃは、本開示の実施例１のモータ制御装置の動作例の説明に供する図である。
【図７】図７は、本開示の実施例１のモータ制御装置の動作例の説明に供する図である。
【図８】図８は、本開示の実施例１のモータ制御装置の動作例の説明に供する図である。
【図９】図９は、本開示の実施例２のモータ制御装置の構成例を示す図である。
【図１０】図１０は、本開示の実施例２の補正トルク制限値生成器の構成例を示す図である。
【図１１】図１１は、本開示の実施例２のピークホールド算出器の動作例の説明に供する図である。
【図１２Ａ】図１２Ａは、本開示の実施例２のモータ制御装置の動作例の説明に供する図である。
【図１２Ｂ】図１２Ｂは、本開示の実施例２のモータ制御装置の動作例の説明に供する図である。
【図１２Ｃ】図１２Ｃは、本開示の実施例２のモータ制御装置の動作例の説明に供する図である。
【図１３】図１３は、本開示の実施例２のモータ制御装置の動作例の説明に供する図である。
【図１４】図１４は、本開示の実施例２のモータ制御装置の動作例の説明に供する図である。
【図１５】図１５は、本開示の実施例１の電流リミット動作の一例を示す図である。
【図１６】図１６は、本開示の実施例２の電流リミット動作の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本開示の実施例を図面に基づいて説明する。以下の実施例において同一の構成には同一の符号を付す。
【００１０】
本開示では、周期的な負荷トルク変動を有する圧縮機を駆動する永久磁石同期モータ（ＰＭＳＭ（Permanent  Magnet  Synchronous  Motor））のトルク制御を位置センサレスベクトル制御により行うモータ制御装置を一例に挙げて説明する。しかし、開示の技術は、周期的な負荷トルク変動を有する圧縮機を駆動するモータのトルク制御を行うモータ制御装置に広く適用可能である。
【００１１】
[実施例１]
＜モータ制御装置の構成＞
図１は、本開示の実施例１のモータ制御装置の構成例を示す図である。図１において、モータ制御装置１００は、減算器１１，１８，１９，４０と、速度制御器１２と、加算器１３，１６，１７，２１，２２と、電流指令値算出器１４と、電圧指令値算出器２０と、ｄ−ｑ／ｕ，ｖ，ｗ変換器２３と、ＰＷＭ（Pulse  Width  Modulation）変調器２４と、ＩＰＭ（Intelligent  Power  Module）２５とを有する。ＩＰＭ２５は、モータＭに接続される。モータＭの一例としてＰＭＳＭが挙げられる。
【００１２】
また、モータ制御装置１００は、シャント抵抗２６と、電流センサ２７ａ，２７ｂと、３φ電流算出器２８とを有する。なお、モータ制御装置１００は、シャント抵抗２６、または、電流センサ２７ａ，２７ｂの何れか一方を有していれば良い。
【００１３】
また、モータ制御装置１００は、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９と、軸誤差演算器３０と、ＰＬＬ（Phase  Locked  Loop）制御器３１と、位置推定器３２と、１／Ｐｎ処理器３３と、補正トルク生成器３４と、ＩＩＲフィルタ（Infinite  Impulse  Response  Filter）３５ａ，３５ｂと、非干渉化制御器３６と、電流誤差補正値生成器３７と、補正トルク制限値生成器３８とを有する。
【００１４】
減算器１１は、モータ制御装置１００の外部（例えば、上位のコントローラ）からモータ制御装置１００へ入力された機械角速度指令値ωｍ＊から、１／Ｐｎ処理器３３より出力された現在の推定角速度である機械角推定角速度ωｍを減算することにより角速度誤差Δωを算出する。
【００１５】
速度制御器１２は、減算器１１より出力された角速度誤差Δωの平均がゼロに近づくような平均トルク指令値Ｔo＊を生成する。
【００１６】
加算器１３は、速度制御器１２より出力された平均トルク指令値Ｔo＊と、補正トルク生成器３４より出力された補正トルク指令値ΔＴとを加算することにより合計トルク指令値Ｔ＊を算出する。
【００１７】
電流指令値算出器１４は、合計トルク指令値Ｔ＊によって示される定トルク曲線とＭＴＰＩ（最大トルク／電流制御）曲線との交点に基づいて、ｑ軸電流指令値Ｉｑ＊及びｄ軸電流指令値Ｉｄ＊を算出する。
【００１８】
ここで、定トルク曲線とＭＴＰＩ曲線との交点は、例えば、式（１）に示すモータトルク式と、ＭＴＰＩ曲線におけるｄ軸電流Ｉｄとｑ軸電流Ｉｑとの関係を示す式（２）とを用いて算出できる。式（１）の右辺において、第１項がマグネットトルクを表し、第２項がリラクタンストルクを表し、マグネットトルクはｑ軸電流Ｉｑのみを含み、リラクタンストルクはｑ軸電流Ｉｑとｄ軸電流Ｉｄとの双方を含む。従って、ｑ軸電流Ｉｑとｄ軸電流Ｉｄとを適切に制御することにより、モータＭに適正なトルクを発生させることができる。式（１）及び式（２）において、“Ｐｎ”はモータＭの極対数、“Ψａ”はモータＭの鎖交磁束、“Ｌｄ”はモータＭのｄ軸インダクタンス、“Ｌｑ”はモータＭのｑ軸インダクタンスを示す。
【数１】
0006984672.tif 000002
【数２】
0006984672.tif 000003
【００１９】
式（１）及び式（２）よりｄ軸電流Ｉｄを消去すると、ｑ軸電流Ｉｑに関する４次方程式である式（３）を得ることができる。
【数３】
0006984672.tif 000004
【００２０】
式（３）に示す４次方程式は、例えばニュートン法等を用いて、合計トルク指令値Ｔ＊の定トルク曲線とＭＴＰＩ曲線との交点でのｑ軸電流指令値Ｉｑ＊に相当する解を導出することができる。また、電流指令値算出器１４は、式（３）に従って算出したｑ軸電流指令値Ｉｑ＊に基づいて、式（２）に従って、ｄ軸電流指令値Ｉｄ＊を算出する。
【００２１】
図１において、加算器１７は、式（４．１）に従って、電流指令値算出器１４より出力されたｑ軸電流指令値Ｉｑ＊と電流誤差補正値生成器３７より出力されたｑ軸電流誤差補正値ΔＩｑとを加算することによりｑ軸電流補正指令値Ｉｑ_ＦＦ＊を算出する。加算器１６は、式（４．２）に従って、電流指令値算出器１４より出力されたｄ軸電流指令値Ｉｄ＊と電流誤差補正値生成器３７より出力されたｄ軸電流誤差補正値ΔＩｄとを加算することによりｄ軸電流補正指令値Ｉｄ_ＦＦ＊を算出する。
【数４】
0006984672.tif 000005
【００２２】
減算器１９は、加算器１７より出力されたｑ軸電流補正指令値Ｉｑ_ＦＦ＊から、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９より出力されたｑ軸電流Ｉｑを減算することにより、ｑ軸電流補正指令値Ｉｑ_ＦＦ＊とｑ軸電流Ｉｑとの誤差であるｑ軸電流誤差Ｉｑ_ｄｉｆｆを算出する。減算器１８は、加算器１６より出力されたｄ軸電流補正指令値Ｉｄ_ＦＦ＊から、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９より出力されたｄ軸電流Ｉｄを減算することにより、ｄ軸電流補正指令値Ｉｄ_ＦＦ＊とｄ軸電流Ｉｄとの誤差であるｄ軸電流誤差Ｉｄ_ｄｉｆｆを算出する。
【００２３】
電圧指令値算出器２０は、式（５．１）に従って、ｑ軸電流誤差Ｉｑ_ｄｉｆｆ（Ｉｑ_ＦＦ＊−Ｉｑ）に基づいてＰＩ（Proportional  Integral）制御を行うことにより非干渉化前ｑ軸電圧指令値Ｖｑｔを算出する。また、電圧指令値算出器２０は、式（５．２）に従って、ｄ軸電流誤差Ｉｄ_ｄｉｆｆ（Ｉｄ_ＦＦ＊−Ｉｄ）に基づいてＰＩ制御を行うことにより非干渉化前ｄ軸電圧指令値Ｖｄｔを算出する。なお、式（５．１）のｋｐ_ｑ及び式（５．２）のｋｐ_ｄは比例定数であり、式（５．１）のｋｉ_ｑ及び式（５．２）のｋｉ_ｄは積分定数である。
【数５】
0006984672.tif 000006
【００２４】
加算器２２は、式（６．１）で表されるｑ軸非干渉化補正値Ｖｑａを、式（６．３）に従って、非干渉化前ｑ軸電圧指令値Ｖｑｔに加算することにより、ｑ軸電圧指令値Ｖｑ＊を算出する。加算器２１は、式（６．２）で表されるｄ軸非干渉化補正値Ｖｄａを、式（６．４）に従って、非干渉化前ｄ軸電圧指令値Ｖｄｔに加算することにより、ｄ軸電圧指令値Ｖｄ＊を算出する。これにより、ｄｑ軸間の干渉がフィードフォワードでキャンセルされたｑ軸電圧指令値Ｖｑ＊及びｄ軸電圧指令値Ｖｄ＊が算出される。
【数６】
0006984672.tif 000007
【００２５】
ＩＩＲフィルタ３５ａは、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９より出力されたｄ軸電流Ｉｄのノイズを除去し、ノイズ除去後のｄ軸応答電流Ｉｄ_ｉｉｒを出力する。ＩＩＲフィルタ３５ｂは、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９より出力されたｑ軸電流Ｉｑのノイズを除去し、ノイズ除去後のｑ軸応答電流Ｉｑ_ｉｉｒを出力する。ＩＩＲフィルタ３５ａ，３５ｂはノイズ除去フィルタの一例である。
【００２６】
非干渉化制御器３６は、モータ制御装置１００の外部（例えば、上位のコントローラ）からの電気角速度指令値ωｅ＊とｑ軸応答電流Ｉｑ_ｉｉｒとに基づいて、式（６．２）に従って、非干渉化前ｄ軸電圧指令値Ｖｄｔを補正するためのｄ軸非干渉化補正値Ｖｄａを生成する。また、非干渉化制御器３６は、電気角速度指令値ωｅ＊とｄ軸応答電流Ｉｄ_ｉｉｒとに基づいて、式（６．１）に従って、非干渉化前ｑ軸電圧指令値Ｖｑｔを補正するためのｑ軸非干渉化補正値Ｖｑａを生成する。ｄ軸非干渉化補正値Ｖｄａ及びｑ軸非干渉化補正値Ｖｑａは、ｄｑ軸間の干渉項をフィードフォワードでキャンセルするための補正値である。ここで、安定制御を図るために、非干渉化補正値は直流化された値であることが望ましい。このため、非干渉化補正値の生成にあたっては、速度については電気角速度指令値ωｅ＊が用いられ、ｄ軸電流Ｉｄ及びｑ軸電流Ｉｑについては、ＩＩＲフィルタ３５ａ，３５ｂにより変動成分が除去されたｄ軸応答電流Ｉｄ_ｉｉｒ及びｑ軸応答電流Ｉｑ_ｉｉｒが用いられる。
【００２７】
電流誤差補正値生成器３７は、電流指令値算出器１４より出力されたｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊と、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９より出力されたｄ軸電流Ｉｄ及びｑ軸電流Ｉｑと、位置推定器３２より出力された機械角位相θｍとに基づいて、ｄ軸電流誤差補正値ΔＩｄ及びｑ軸電流誤差補正値ΔＩｑを生成する。
【００２８】
電流誤差補正値生成器３７は、電流指令値算出器１４の応答遅延やｄｑ軸の干渉により、ｄｑ軸電流が電流指令値に追従し切れずに生じる変動誤差（位相誤差及び振幅誤差）を積算し、積算値の反転出力を電流誤差補正値（ｄ軸電流誤差補正値ΔＩｄ及びｑ軸電流誤差補正値ΔＩｑ）として生成する。ここで、ｄ軸電流誤差補正値ΔＩｄは、ｄ軸電流指令値Ｉ＊とｄ軸電流Ｉｄとの変動誤差を補正するためのフィードフォワード成分であり、ｑ軸電流誤差補正値ΔＩｑは、ｑ軸電流指令値Ｉｑ＊とｑ軸電流Ｉｑとの変動誤差を補正するためのフィードフォワード成分である。
【００２９】
ｄ−ｑ／ｕ，ｖ，ｗ変換器２３は、加算器２１，２２より出力された２相のｄ軸電圧指令値Ｖｄ＊及びｑ軸電圧指令値Ｖｑ＊を、位置推定器３２より出力された電気角位相（ｄｑ軸位相）θｅに基づいて、３相のＵ相出力電圧指令値Ｖｕ＊、Ｖ相出力電圧指令値Ｖｖ＊及びＷ相出力電圧指令値Ｖｗ＊へ変換する。位置推定器３２より出力される電気角位相θｅは、モータＭの現在のロータ位置を示す。
【００３０】
ＰＷＭ変調器２４は、Ｕ相出力電圧指令値Ｖｕ＊、Ｖ相出力電圧指令値Ｖｖ＊、Ｗ相出力電圧指令値Ｖｗ＊と、ＰＷＭキャリア信号とに基づいて、６相のＰＷＭ信号を生成し、生成した６相のＰＷＭ信号をＩＰＭ２５へ出力する。
【００３１】
ＩＰＭ２５は、ＰＷＭ変調器２４より出力された６相のＰＷＭ信号に基づいて、外部から供給される直流電圧Ｖｄｃを変換して、モータＭのＵ相、Ｖ相、Ｗ相のそれぞれへ印可される交流電圧を生成し、生成したそれぞれの交流電圧をモータＭのＵ相、Ｖ相、Ｗ相へ印加する。
【００３２】
３φ電流算出器２８は、シャント抵抗２６を用いた１シャント方式で母線電流が検出される場合、ＰＷＭ変調器２４より出力される６相のＰＷＭスイッチング情報と、検出された母線電流とから、モータＭのＵ相電流値Ｉｕ、Ｖ相電流値Ｉｖ、Ｗ相電流値Ｉｗを算出する。または、３φ電流算出器２８は、電流センサ２７ａ，２７ｂでＵ相電流及びＶ相電流が検出される場合、残りのＷ相電流値Ｉｗを“Ｉｕ＋Ｉｖ＋Ｉｗ＝０”のキルヒホッフの法則に基づいて算出する。３φ電流算出器２８は、各相の相電流値Ｉｕ，Ｉｖ，Ｉｗをｕ，ｖ，ｗ／ｄ−ｑ変換器２９へ出力する。
【００３３】
ｕ，ｖ，ｗ／ｄ−ｑ変換器２９は、位置推定器３２より出力された電気角位相θｅに基づいて、３φ電流算出器２８より出力された３相のＵ相電流値Ｉｕ、Ｖ相電流値Ｉｖ、Ｗ相電流値Ｉｗを、２相のｄ軸電流Ｉｄ及びｑ軸電流Ｉｑへ変換する。
【００３４】
軸誤差演算器３０は、加算器２１，２２より出力されたｄ軸電圧指令値Ｖｄ＊及びｑ軸電圧指令値Ｖｑ＊と、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９より出力されたｄ軸電流Ｉｄ及びｑ軸電流Ｉｑを用いて軸誤差Δθ（推定した回転軸と実際の回転軸との差）を算出する。
【００３５】
ＰＬＬ制御器３１は、軸誤差演算器３０より出力された軸誤差Δθに基づいて、モータＭの現在の推定角速度である電気角推定角速度ωｅを算出する。
【００３６】
位置推定器３２は、ＰＬＬ制御器３１より出力された電気角推定角速度ωｅに基づいて電気角位相θｅ及び機械角位相θｍを推定する。
【００３７】
１／Ｐｎ処理器３３は、ＰＬＬ制御器３１より出力された電気角推定角速度ωｅをモータＭの極対数Ｐｎで除算することにより機械角推定角速度ωｍを算出する。
【００３８】
減算器４０は、１／Ｐｎ処理器３３より出力された機械角推定角速度ωｍから機械角速度指令値ωｍ＊を減算することにより機械角推定角速度変動Δωｍを算出する。
【００３９】
補正トルク生成器３４は、モータＭの振動が許容できる速度変動範囲である速度変動許容値|Δωｍ|＊、減算器４０より出力された機械角推定角速度変動Δωｍ、及び、位置推定器３２より出力された機械角位相θｍに基づいて、周期的な速度変動である機械角推定角速度変動Δωｍを速度変動許容値|Δωｍ|＊以下に抑制するための補正トルク指令値ΔＴを生成する。なお、速度変動許容値|Δωｍ|＊は、モータ制御装置１００内に記憶されている。また、機械角推定角速度変動（速度変動）Δωｍは、上記の角速度誤差Δωの値と正負の符号が異なるだけである。
【００４０】
補正トルク制限値生成器３８は、電流リミット値Ｉａ_ｌｉｍｉｔと、電流指令値算出器１４より出力されたｄ軸電流指令値Ｉｄ＊，ｑ軸電流指令値Ｉｑ＊とに基づいて、補正トルク指令値ΔＴの振幅である補正トルク振幅｜ΔＴ｜に制限を与える補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを生成する。
【００４１】
＜電流誤差補正値生成器の構成＞
図２は、本開示の実施例１の電流誤差補正値生成器の構成例を示す図である。図２において、電流誤差補正値生成器３７は、減算器３７ａ，３７ｅと、ｑ軸電流誤差成分分離器３７ｂと、ｑ軸電流誤差積算器３７ｃと、ｑ軸電流誤差補正値復調器３７ｄと、ｄ軸電流誤差成分分離器３７ｆと、ｄ軸電流誤差積算器３７ｇと、ｄ軸電流誤差補正値復調器３７ｈとを有する。
【００４２】
減算器３７ａは、式（７）に従って、ｑ軸電流Ｉｑとｑ軸電流指令値Ｉｑ＊との誤差であるｑ軸電流変動誤差Ｉｑ_ｅｒｒを算出する。
【数７】
0006984672.tif 000008
【００４３】
ｑ軸電流誤差成分分離器３７ｂは、式（８．１）及び式（８．２）に従って、ｑ軸電流変動誤差Ｉｑ_ｅｒｒの基本波成分である２つのフーリエ係数Ｉｑ_ｅｒｒ_ｓｉｎ（ｓｉｎ成分），Ｉｑ_ｅｒｒ_ｃｏｓ（ｃｏｓ成分）を機械角周期毎に算出する。
【数８】
0006984672.tif 000009
【００４４】
ｑ軸電流誤差積算器３７ｃは、式（９．１）及び式（９．２）に従って、ｑ軸電流変動誤差Ｉｑ_ｅｒｒのｓｉｎ成分Ｉｑ_ｅｒｒ_ｓｉｎと、ｑ軸電流変動誤差Ｉｑ_ｅｒｒのｃｏｓ成分Ｉｑ_ｅｒｒ_ｃｏｓとのそれぞれに補正ゲインｋを乗算し、それぞれの乗算結果をＩｑ_ｅｒｒ_ｓｉｎ_ｉ_ｏｌｄ，Ｉｑ_ｅｒｒ_ｃｏｓ_ｉ_ｏｌｄに加算する。式（９．１）におけるＩｑ_ｅｒｒ_ｓｉｎ_ｉは、今回の機械角周期までのＩｑ_ｅｒｒ_ｓｉｎの積分値であり、式（９．２）におけるＩｑ_ｅｒｒ_ｃｏｓ_ｉは、今回の機械角周期までのＩｑ_ｅｒｒ_ｃｏｓの積分値である。また、式（９．１）におけるＩｑ_ｅｒｒ_ｓｉｎ_ｉ_ｏｌｄは、前回の機械角周期までのＩｑ_ｅｒｒ_ｓｉｎ_ｉであり、式（９．２）におけるＩｑ_ｅｒｒ_ｃｏｓ_ｉ_ｏｌｄは、前回の機械角周期までのＩｑ_ｅｒｒ_ｃｏｓ_ｉである。
【数９】
0006984672.tif 000010
【００４５】
ｑ軸電流誤差補正値復調器３７ｄは、式（１０．１）及び式（１０．２）に従って、ｑ軸電流誤差補正値ΔＩｑを算出する。これにより、ｑ軸電流変動誤差の位相が反転して、機械角位相θｍでのｑ軸電流誤差補正値ΔＩｑの瞬時値が算出される。
【数１０】
0006984672.tif 000011
【００４６】
減算器３７ｅは、式（１１）に従って、ｄ軸電流Ｉｄとｄ軸電流指令値Ｉｄ＊との誤差であるｄ軸電流変動誤差Ｉｄ_ｅｒｒを算出する。
【数１１】
0006984672.tif 000012
【００４７】
ｄ軸電流誤差成分分離器３７ｆは、式（１２．１）及び式（１２．２）に従って、ｄ軸電流変動誤差Ｉｄ_ｅｒｒの基本波成分である２つのフーリエ係数Ｉｄ_ｅｒｒ_ｓｉｎ（ｓｉｎ成分），Ｉｄ_ｅｒｒ_ｃｏｓ（ｃｏｓ成分）を機械角周期毎に算出する。
【数１２】
0006984672.tif 000013
【００４８】
ｄ軸電流誤差積算器３７ｇは、式（１３．１）及び式（１３．２）に従って、ｄ軸電流変動誤差Ｉｄ_ｅｒｒのｓｉｎ成分Ｉｄ_ｅｒｒ_ｓｉｎと、ｄ軸電流変動誤差Ｉｄ_ｅｒｒのｃｏｓ成分Ｉｄ_ｅｒｒ_ｃｏｓとのそれぞれに補正ゲインｋを乗算し、それぞれの乗算結果にＩｄ_ｅｒｒ_ｓｉｎ_ｉ_ｏｌｄ，Ｉｄ_ｅｒｒ_ｃｏｓ_ｉ_ｏｌｄを加算する。式（１３．１）におけるＩｄ_ｅｒｒ_ｓｉｎ_ｉは、今回の機械角周期までのＩｄ_ｅｒｒ_ｓｉｎの積分値であり、式（１３．２）におけるＩｄ_ｅｒｒ_ｃｏｓ_ｉは、今回の機械角周期におけるＩｄ_ｅｒｒ_ｃｏｓの積分値である。また、式（１３．１）におけるＩｄ_ｅｒｒ_ｓｉｎ_ｉ_ｏｌｄは、前回の機械角周期までのＩｄ_ｅｒｒ_ｓｉｎ_ｉであり、式（１３．２）におけるＩｄ_ｅｒｒ_ｃｏｓ_ｉ_ｏｌｄは、前回の機械角周期におけるＩｄ_ｅｒｒ_ｃｏｓ_ｉである。
【数１３】
0006984672.tif 000014
【００４９】
ｄ軸電流誤差補正値復調器３７ｈは、式（１４．１）及び式（１４．２）に従って、ｄ軸電流誤差補正値ΔＩｄを算出する。これにより、ｄ軸電流変動誤差の位相が反転して、機械角位相θｍでのｄ軸電流誤差補正値ΔＩｄの瞬時値が生成される。
【数１４】
0006984672.tif 000015
【００５０】
＜補正トルク制限値生成器の構成＞
図３は、本開示の実施例１の補正トルク制限値生成器の構成例を示す図である。図３において、補正トルク制限値生成器３８は、電流振幅算出器３８ａと、ピークホールド算出器３８ｂと、減算器３８ｃと、ΔＴ制限値生成器３８ｄとを有する。
【００５１】
電流振幅算出器３８ａは、ｄ軸電流指令値Ｉｄ＊とｑ軸電流指令値Ｉｑ＊とに基づいて、式（１５）に従って、電流指令値振幅Ｉａ＊を算出し、算出した電流指令値振幅Ｉａ＊をピークホールド算出器３８ｂへ出力する。
【数１５】
0006984672.tif 000016
【００５２】
ピークホールド算出器３８ｂは、所定の取得期間Ｔｍ毎に、各取得期間Ｔｍにおいて電流指令値振幅Ｉａ＊の最大値を電流指令ピーク値Ｉａ＊_ｐｅａｋとして取得し、取得した電流指令ピーク値Ｉａ＊_ｐｅａｋを減算器３８ｃへ出力する。例えば、所定の取得期間Ｔｍは、モータＭの機械角周期に相当する。
【００５３】
図４は、本開示の実施例１のピークホールド算出器の動作例の説明に供する図である。
【００５４】
図４に示すように、ピークホールド算出器３８ｂは、取得期間Ｔｍ１（機械角位相θｍ＝０〜２π）において、式（１６）に従って、時間の経過に伴って変化する電流指令値振幅Ｉａ＊と、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐ（対象取得期間Ｔｍにおいて時間の経過に伴って変化する電流指令値振幅Ｉａ＊のピークホールド値）とを比較し、電流指令値振幅Ｉａ＊が仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐよりも大きくなったときに、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐを電流指令値振幅Ｉａ＊によって更新する。
【数１６】
0006984672.tif 000017
【００５５】
また、ピークホールド算出器３８ｂは、取得期間Ｔｍ１の終了時点で、式（１７）に従って、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐを電流指令ピーク値Ｉａ＊_ｐｅａｋに設定するとともに、式（１８）に従って、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐをゼロに初期化する。つまり、取得期間Ｔｍ１の終了時点での仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐが、取得期間Ｔｍ１の次の取得期間である取得期間Ｔｍ２における電流指令ピーク値Ｉａ＊_ｐｅａｋとして取得される。
【数１７】
0006984672.tif 000018
【数１８】
0006984672.tif 000019
【００５６】
また、図４に示すように、ピークホールド算出器３８ｂは、取得期間Ｔｍ２（機械角位相θｍ＝２π〜４π）において、式（１６）に従って、時間の経過に伴って変化する電流指令値振幅Ｉａ＊と、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐとを比較し、電流指令値振幅Ｉａ＊が仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐよりも大きくなったときに、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐを電流指令値振幅Ｉａ＊によって更新する。つまり、取得期間Ｔｍ２でも、取得期間Ｔｍ１と同様に、電流指令値振幅Ｉａ＊の最大値を随時トレースするように仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐが更新される。
【００５７】
また、ピークホールド算出器３８ｂは、取得期間Ｔｍ２の終了時点で、式（１７）に従って、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐを電流指令ピーク値Ｉａ＊_ｐｅａｋに設定するとともに、式（１８）に従って、仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐをゼロに初期化する。つまり、取得期間Ｔｍ２の終了時点での仮電流指令ピーク値Ｉａ＊_ｐｅａｋ_ｔｅｍｐが、取得期間Ｔｍ２の次の取得期間である取得期間Ｔｍ３における電流指令ピーク値Ｉａ＊_ｐｅａｋとして取得される。
【００５８】
取得期間Ｔｍ３（機械角位相θｍ＝４π〜６π）以降の各取得期間Ｔｍにおいても、ピークホールド算出器３８ｂは上記と同様に動作する。
【００５９】
図３において、減算器３８ｃは、電流指令ピーク値Ｉａ＊_ｐｅａｋから所定の電流リミット値Ｉａ_ｌｉｍｉｔを減算することにより、式（１９）に従って、電流リミット値Ｉａ_ｌｉｍｉｔに対する電流指令ピーク値Ｉａ＊_ｐｅａｋの偏差Ｉａ＊_ｅｒｒを算出する。なお、所定の電流リミット値Ｉａ_ｌｉｍｉｔは、モータＭの過電流保護機能が作動する電流閾値である電流トリップ値Ｉａ_ｔｒｉｐから所定のマージンＭＡを減算した値として設定されるのが好ましい。
【数１９】
0006984672.tif 000020
【００６０】
ここで、補正トルク指令値ΔＴの増加に伴い、電流ピーク値も増加し、モータＭが電流トリップに至る場合がある。そこで、ΔＴ制限値生成器３８ｄは、モータＭが電流トリップに至らないように、以下のようにして設定するΔＴ振幅制限フラグに従って補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを生成する。ΔＴ振幅制限フラグが“オン”に設定されているときは補正トルク指令値ΔＴに制限が与えられ、ΔＴ振幅制限フラグが“オフ”に設定されているときは、補正トルク指令値ΔＴに制限が与えられない。
【００６１】
ΔＴ制限値生成器３８ｄは、補正トルク生成器３４より出力された補正トルク指令値ΔＴが０（ゼロ）でないとき（つまり、トルク制御が実行中のとき）で、かつ、偏差Ｉａ＊_ｅｒｒが正の値であるときに、ΔＴ振幅制限フラグを“オン”に設定する。つまり、ΔＴ制限値生成器３８ｄは、“ΔＴ≠０”かつ“Ｉａ＊_ｅｒｒ≧０”のときに、ΔＴ振幅制限フラグを“オン”に設定する。“ΔＴ≠０”かつ“Ｉａ＊_ｅｒｒ≧０”のときは、モータＭが電流トリップに至らないように補正トルク指令値ΔＴに制限を与えたいときに相当する。
【００６２】
一方で、ΔＴ制限値生成器３８ｄは、補正トルク指令値ΔＴに制限を与える必要がないときに、ΔＴ振幅制限フラグを“オフ”に設定する。ここで、偏差Ｉａ＊_ｅｒｒが負の値であるときにΔＴ振幅制限フラグが“オフ”に設定されてしまうと、補正トルク指令値ΔＴに制限が与えられることと、補正トルク指令値ΔＴに与えられた制限が解除されることとの短い周期での繰り返し（以下では「トルク制限ハンチング」と呼ぶことがある）が発生してしまう可能性がある。すなわち、ΔＴ振幅制限フラグが“オフ”に設定されると、速度変動振幅|Δωｍ|が速度変動許容値|Δωｍ|＊より大きい場合、補正トルク指令値ΔＴが大きくなる方向へ制御されるため、電流トリップが発生しないように、再び、補正トルク指令値ΔＴに制限を与える必要が生じてしまう。
【００６３】
そこで、ΔＴ制限値生成器３８ｄは、速度変動振幅|Δωｍ|が速度変動許容値|Δωｍ|＊より小さいとき、つまり、“|Δωｍ|＜|Δωｍ|＊”のときに、ΔＴ振幅制限フラグを“オフ”に設定する。
【００６４】
ΔＴ制限値生成器３８ｄは、ΔＴ振幅制限フラグの設定後、ΔＴ振幅制限フラグに従って補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを生成する。
【００６５】
ΔＴ制限値生成器３８ｄは、上記のようにしてΔＴ振幅制限フラグを“オン”に設定したときは、前回の機械角周期における補正トルク振幅｜ΔＴ｜である｜ΔＴ｜_ｏｌｄと、偏差Ｉａ＊_ｅｒｒとに基づいて、式（２０）に従って、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを生成する。式（２０）における“ｇ”は、偏差Ｉａ＊_ｅｒｒに乗算される所定のゲイン値である。つまり、ΔＴ振幅制限フラグが“オン”であるときは、ΔＴ制限値生成器３８ｄは、前回の機械角周期の補正トルク振幅｜ΔＴ｜_ｏｌｄを積分項に見立てた積分制御を行う。こうすることで、モータＭが電流トリップに至りそうな場合に、偏差Ｉａ＊_ｅｒｒが正の値となるため、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔが減少し、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔの減少に伴って電流指令値振幅Ｉａ＊が減少する。
【数２０】
0006984672.tif 000021
【００６６】
一方で、ΔＴ制限値生成器３８ｄは、上記のようにしてΔＴ振幅制限フラグを“オフ”に設定したときは、補正トルク指令値ΔＴに制限がかからないような大きい値に補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを設定する。例えば、ΔＴ制限値生成器３８ｄは、式（２１）に従って、平均トルク指令値Ｔo＊の３倍の値を補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔに設定する。平均トルク指令値Ｔo＊の３倍の値という大きい値が補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔとして設定されることで、補正トルク指令値ΔＴには、実質上、制限が与えられなくなる。
【数２１】
0006984672.tif 000022
【００６７】
ΔＴ制限値生成器３８ｄは、以上のようにして生成した補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを補正トルク生成器３４へ出力する。
【００６８】
＜補正トルク生成器の構成＞
図５は、本開示の実施例１の補正トルク生成器の構成例を示す図である。図５において、補正トルク生成器３４は、速度変動成分分離器３４ａと、速度変動振幅算出器３４ｂと、減算器３４ｃと、補正トルク振幅算出器３４ｄと、速度変動位相修正器３４ｅと、直交成分分離器３４ｆと、補正トルク復調器３４ｇと、補正トルク振幅制限器３４ｈとを有する。
【００６９】
図５において、速度変動成分分離器３４ａは、機械角周期毎に、機械角位相θｍに基づいて、式（２２．１）及び式（２２．２）に従って、機械角推定角速度変動Δωｍを、Δωｍの基本波成分である２つのフーリエ係数ωｓｉｎ（ｓｉｎ成分）とωｃｏｓ（ｃｏｓ成分）とへ分離する。機械角推定角速度変動Δωｍの基本波成分のフーリエ係数が機械角周期毎に算出されることで、機械角推定角速度変動Δωｍの高調波成分が除去されて機械角推定角速度変動Δωｍの基本波成分を精度よく抽出することができる。ωｓｉｎ及びωｃｏｓは、機械角周期毎に更新される値である。
【数２２】
0006984672.tif 000023
【００７０】
速度変動振幅算出器３４ｂは、フーリエ係数ωｓｉｎ，ωｃｏｓに基づいて、式（２３）に従って、速度変動振幅|Δωｍ|を算出する。ωｓｉｎ及びωｃｏｓは機械角周期毎に更新される値であるため、速度変動振幅|Δωｍ|も機械角周期毎に更新される。
【数２３】
0006984672.tif 000024
【００７１】
減算器３４ｃは、速度変動振幅算出器３４ｂより出力された速度変動振幅|Δωｍ|から速度変動許容値|Δωｍ|＊を減算することにより速度変動誤差|Δωｍ|ｅｒｒを算出する。速度変動許容値|Δωｍ|＊は、モータＭの振動が許容できる範囲での速度変動振幅|Δωｍ|を規定したものである。
【００７２】
補正トルク振幅算出器３４ｄは、速度変動振幅|Δωｍ|と速度変動許容値|Δωｍ|＊との誤差に応じて補正トルク振幅|ΔＴ|を機械角周期毎に調整する。例えば、補正トルク振幅算出器３４ｄは、式（２４）に従って、速度変動振幅|Δωｍ|と速度変動許容値|Δωｍ|＊との誤差である速度変動誤差|Δωｍ|ｅｒｒに補正ゲインｋを乗算し、乗算結果と|ΔＴ|_ｏｌｄとを加算することにより補正トルク振幅|ΔＴ|を算出する。式（２４）における|ΔＴ|_ｏｌｄは、前回の機械角周期における補正トルク振幅|ΔＴ|である。補正ゲインｋを適切に設定することで、速度変動|Δω|が速度変動許容値|Δωｍ|＊の境界でハンチングすることや、急激な負荷トルク変化によって速度変動|Δω|が速度変動許容値|Δωｍ|＊よりも大きくなって振動が発生することを抑制できる。
【数２４】
0006984672.tif 000025
【００７３】
補正トルク振幅制限器３４ｈは、補正トルク振幅算出器３４ｄより出力された補正トルク振幅|ΔＴ|が、補正トルク制限値生成器３８より出力された補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔより大きいときは、補正トルク振幅|ΔＴ|の値を補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔによって書き換え、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔに書き換え後の補正トルク振幅|ΔＴ|を直交成分分離器３４ｆへ出力する。つまり、補正トルク振幅|ΔＴ|が補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔより大きいときは、補正トルク振幅|ΔＴ|の値が補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔに設定される。補正トルク振幅|ΔＴ|の値が補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔに設定されることでモータＭの電流振幅の変動量が制限され、モータＭに電流トリップが発生することを防止できる。
【００７４】
一方で、補正トルク振幅|ΔＴ|が補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔ以下のときは、補正トルク振幅制限器３４ｈは、補正トルク振幅算出器３４ｄより出力された補正トルク振幅|ΔＴ|をそのまま直交成分分離器３４ｆへ出力する。
【００７５】
速度変動位相修正器３４ｅは、機械角周期毎に取得される機械角推定角速度変動Δωｍの位相を修正する。例えば、速度変動位相修正器３４ｅは、式（２５．１）及び式（２５．２）に従って、フーリエ係数ωｓｉｎ，ωｃｏｓのそれぞれに補正ゲインｋを乗算し、それぞれの乗算結果にωｓｉｎ_ｉ_ｏｌｄ，ωｃｏｓ_ｉ_ｏｌｄを加算する。式（２５．１）におけるωｓｉｎ_ｉ_ｏｌｄは、前回の機械角周期におけるωｓｉｎ_ｉであり、式（２５．２）におけるωｃｏｓ_ｉ_ｏｌｄは、前回の機械角周期におけるωｃｏｓ_ｉである。そして、速度変動位相修正器３４ｅは、式（２５．３）に従って、ωｓｉｎ_ｉ及びωｃｏｓ_ｉの逆正接（Arctangent）を速度変動修正位相φωｉとして算出する。この速度変動修正位相φωｉが、トルク制御を行う際の位相の基準になり、この基準に対してπ／２遅角した位相が補正トルク指令値ΔＴの位相（補正トルク位相）となる。
【数２５】
0006984672.tif 000026
【００７６】
直交成分分離器３４ｆは、補正トルク振幅制限器３４ｈより出力された補正トルク振幅|ΔＴ|と、速度変動位相修正器３４ｅより出力された速度変動修正位相φωｉとに基づいて、式（２６．１）及び式（２６．２）に従って、速度変動修正位相φωｉのｓｉｎ成分（ωｓｉｎ_ｉ）とｃｏｓ成分（ωｃｏｓ_ｉ）とを算出する。この処理は、式（２５．１）及び式（２５．２）の演算による位相修正時の発散を防止する役割も有する。
【数２６】
0006984672.tif 000027
【００７７】
補正トルク復調器３４ｇは、速度変動修正位相φωｉのｓｉｎ成分（ωｓｉｎ_ｉ）とｃｏｓ成分（ωｃｏｓ_ｉ）とに基づいて、式（２７．１）及び式（２７．２）に従って、補正トルク指令値ΔＴを算出する。この処理により速度変動修正位相φωｉからπ／２だけ遅角した補正トルク位相へ変換され、機械角位相θｍでの補正トルク指令値ΔＴの瞬時値が生成される。
【数２７】
0006984672.tif 000028
【００７８】
なお、補正トルク復調器３４ｇは、式（２７．１）及び式（２７．２）に代えて式（２８）に従って補正トルク指令値ΔＴの瞬時値を算出しても良い。
【数２８】
0006984672.tif 000029
【００７９】
そして、図１に示す加算器１３は、式（２９）に従って、補正トルク復調器３４ｇより出力された補正トルク指令値ΔＴを、速度制御器１２より出力された平均トルク指令値Ｔo＊に加算することにより合計トルク指令値Ｔ＊を算出する。
【数２９】
0006984672.tif 000030
【００８０】
＜モータ制御装置の動作＞
図６Ａ、図６Ｂ、図６Ｃ、図７及び図８は、本開示の実施例１のモータ制御装置の動作例の説明に供する図である。
【００８１】
図６Ａ、図６Ｂ及び図６Ｃに、モータ制御装置１００における電流ベクトルの挙動を示す。図６Ａに示すように、電流指令ピーク値Ｉａ＊_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔより大きい場合は、ΔＴ振幅制限フラグが“オン”に設定され、補正トルク振幅｜ΔＴ｜に制限が与えられる。補正トルク振幅｜ΔＴ｜に制限が与えられても、図６Ｂに示すように、未だ電流指令ピーク値Ｉａ＊_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔより大きい場合は、補正トルク振幅｜ΔＴ｜がさらに制限され、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔは小さくなる。これにより、図６Ｃに示すように、電流指令ピーク値Ｉａ＊_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔまで抑制される。
【００８２】
また、図７に、電流指令値振幅Ｉａ＊と電流指令ピーク値Ｉａ＊_ｐｅａｋとの時間変化を示す。図７において、電流リミット値Ｉａ_ｌｉｍｉｔは、電流トリップ値Ｉａ_ｔｒｉｐから所定のマージンＭＡを減算した値として設定されている。モータＭの負荷の増大によりトルク制御量が増大する区間ａ１１では、電流指令ピーク値Ｉａ＊_ｐｅａｋが増大する。区間ａ１１の次の区間ｂ１１では、ΔＴ振幅制限フラグが“オン”に設定されて補正トルク振幅｜ΔＴ｜に制限が与えられる。区間ｂ１１の次の区間ｃ１１では、ΔＴ振幅制限フラグが“オフ”に設定されて、モータＭの負荷の減少につれて、電流指令ピーク値Ｉａ＊_ｐｅａｋが減少する。
【００８３】
また、図８では、図７に対し、速度変動振幅|Δωｍ|の時間変化が追加されている。図８において、モータＭの負荷が増大するにつれてトルク制御量が増大する区間ａ１２では、トルク制御量の増大より電流指令ピーク値Ｉａ＊_ｐｅａｋが増大する。このとき、ΔＴ振幅制限フラグは“オフ”になっているため、速度変動振幅|Δωｍ|は速度変動許容値|Δωｍ|＊に追従する。区間ａ１２の次の区間ｂ１２では、区間ａ１２における電流指令ピーク値Ｉａ＊_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔより大きいため、ΔＴ振幅制限フラグが“オン”に設定されて補正トルク振幅｜ΔＴ｜に制限が与えられる。補正トルク振幅｜ΔＴ｜に制限が与えられることにより、速度動振振幅|Δωｍ|は速度変動許容値|Δωｍ|＊に追従しなくなる。区間ｂ１２の次の区間ｃ１２では、モータＭの負荷が減少するにつれて速度変動振幅|Δωｍ|及び電流指令ピーク値Ｉａ＊_ｐｅａｋが減少する。また、区間ｃ１２では、速度変動許容値|Δωｍ|＊が速度変動振幅|Δωｍ|より大きいため、ΔＴ振幅制限フラグが“オフ”に設定されて補正トルク振幅｜ΔＴ｜の制限が解除される。補正トルク振幅｜ΔＴ｜の制限が解除されることにより、速度変動振幅|Δωｍ|が速度変動許容値|Δωｍ|＊に追従するようになる。
【００８４】
以上、本開示の実施例１について説明した。
【００８５】
[実施例２]
＜モータ制御装置の構成＞
図９は、本開示の実施例２のモータ制御装置の構成例を示す図である。
【００８６】
図９示すモータ制御装置２００は、図１に示すモータ制御装置１００が有する補正トルク制限値生成器３８に代えて補正トルク制限値生成器３９を有する。また、図１に示すモータ制御装置１００では、電流指令値算出器１４より出力されたｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊が補正トルク制限値生成器３８に入力されていたのに対し、図９に示すモータ制御装置２００では、ｕ，ｖ，ｗ／ｄ−ｑ変換器２９より出力されたｄ軸電流Ｉｄ及びｑ軸電流Ｉｑが補正トルク制限値生成器３９に入力される。
【００８７】
＜補正トルク制限値生成器の構成＞
図１０は、本開示の実施例２の補正トルク制限値生成器の構成例を示す図である。図１０において、補正トルク制限値生成器３９は、電流振幅算出器３９ａと、ピークホールド算出器３９ｂと、減算器３９ｃと、ΔＴ制限値生成器３９ｄとを有する。
【００８８】
電流振幅算出器３９ａは、ｄ軸電流Ｉｄとｑ軸電流Ｉｑとに基づいて、式（３０）に従って、検出電流値振幅Ｉａを算出し、算出した検出電流値振幅Ｉａをピークホールド算出器３９ｂへ出力する。
【数３０】
0006984672.tif 000031
【００８９】
ピークホールド算出器３９ｂは、所定の取得期間Ｔｍ毎に、各取得期間Ｔｍにおける検出電流値振幅Ｉａの最大値を電流ピーク値Ｉａ_ｐｅａｋとして取得し、取得した電流ピーク値Ｉａ_ｐｅａｋを減算器３９ｃへ出力する。例えば、所定の取得期間Ｔｍは、モータＭの機械角周期に相当する。図１１は、本開示の実施例２のピークホールド算出器の動作例の説明に供する図である。
【００９０】
図１１に示すように、ピークホールド算出器３９ｂは、取得期間Ｔｍ１（機械角位相θｍ＝０〜２π）において、式（３１）に従って、時間の経過に伴って変化する検出電流値振幅Ｉａと、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐ（対象取得期間Ｔｍにおいて時間の経過に伴って変化する電流指令値振幅Ｉａのピークホールド値）とを比較し、検出電流値振幅Ｉａが仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐよりも大きくなったときに、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐを検出電流値振幅Ｉａによって更新する。
【数３１】
0006984672.tif 000032
【００９１】
また、ピークホールド算出器３９ｂは、取得期間Ｔｍ１の終了時点で、式（３２）に従って、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐを電流ピーク値Ｉａ_ｐｅａｋに設定するとともに、式（３３）に従って、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐをゼロに初期化する。つまり、取得期間Ｔｍ１の終了時点での仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐが、取得期間Ｔｍ１の次の取得期間である取得期間Ｔｍ２における電流ピーク値Ｉａ_ｐｅａｋとして取得される。
【数３２】
0006984672.tif 000033
【数３３】
0006984672.tif 000034
【００９２】
また、図１１に示すように、ピークホールド算出器３９ｂは、取得期間Ｔｍ２（機械角位相θｍ＝２π〜４π）において、式（３１）に従って、時間の経過に伴って変化する検出電流値振幅Ｉａと、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐとを比較し、検出電流値振幅Ｉａが仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐよりも大きくなったときに、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐを検出電流値振幅Ｉａによって更新する。つまり、取得期間Ｔｍ２でも、取得期間Ｔｍ１と同様に、検出電流値振幅Ｉａの最大値を随時トレースするように仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐが更新される。
【００９３】
また、ピークホールド算出器３９ｂは、取得期間Ｔｍ２の終了時点で、式（３２）に従って、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐを電流ピーク値Ｉａ_ｐｅａｋに設定するとともに、式（３３）に従って、仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐをゼロに初期化する。つまり、取得期間Ｔｍ２の終了時点での仮電流ピーク値Ｉａ_ｐｅａｋ_ｔｅｍｐが、取得期間Ｔｍ２の次の取得期間である取得期間Ｔｍ３における電流ピーク値Ｉａ_ｐｅａｋとして取得される。
【００９４】
取得期間Ｔｍ３（機械角位相θｍ＝４π〜６π）以降の各取得期間Ｔｍにおいても、ピークホールド算出器３９ｂは上記と同様に動作する。
【００９５】
図１０において、減算器３９ｃは、電流ピーク値Ｉａ_ｐｅａｋから所定の電流リミット値Ｉａ_ｌｉｍｉｔを減算することにより、式（３４）に従って、電流リミット値Ｉａ_ｌｉｍｉｔに対する電流ピーク値Ｉａ_ｐｅａｋの偏差Ｉａ_ｅｒｒを算出する。なお、所定の電流リミット値Ｉａ_ｌｉｍｉｔは、モータＭの過電流保護機能が作動する電流閾値である電流トリップ値Ｉａ_ｔｒｉｐから所定のマージンＭＡを減算した値として設定されるのが好ましい。
【数３４】
0006984672.tif 000035
【００９６】
ここで、補正トルク指令値ΔＴの増加に伴い、電流ピーク値も増加し、モータＭが電流トリップに至る場合がある。そこで、ΔＴ制限値生成器３９ｄは、モータＭが電流トリップに至らないように、以下のようにして設定するΔＴ振幅制限フラグに従って補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを生成する。ΔＴ振幅制限フラグが“オン”に設定されているときは補正トルク指令値ΔＴに制限が与えられ、ΔＴ振幅制限フラグが“オフ”に設定されているときは、補正トルク指令値ΔＴに制限が与えられない。
【００９７】
ΔＴ制限値生成器３９ｄは、補正トルク生成器３４より出力された補正トルク指令値ΔＴが０（ゼロ）でないとき（つまり、トルク制御が実行中のとき）で、かつ、偏差Ｉａ_ｅｒｒが正の値であるときに、ΔＴ振幅制限フラグを“オン”に設定する。つまり、ΔＴ制限値生成器３９ｄは、“ΔＴ≠０”かつ“Ｉａ_ｅｒｒ≧０”のときに、ΔＴ振幅制限フラグを“オン”に設定する。“ΔＴ≠０”かつ“Ｉａ_ｅｒｒ≧０”のときは、モータＭが電流トリップに至らないように補正トルク指令値ΔＴに制限を与えたいときに相当する。
【００９８】
一方で、ΔＴ制限値生成器３９ｄは、補正トルク指令値ΔＴに制限を与える必要がないときに、ΔＴ振幅制限フラグを“オフ”に設定する。ここで、偏差Ｉａ_ｅｒｒが負の値であるときにΔＴ振幅制限フラグが“オフ”に設定されてしまうと、トルク制限ハンチングが発生してしまう可能性がある。すなわち、ΔＴ振幅制限フラグが“オフ”に設定されると、速度変動振幅|Δωｍ|が速度変動許容値|Δωｍ|＊より大きい場合、補正トルク指令値ΔＴが大きくなる方向へ制御されるため、電流トリップが発生しないように、再び、補正トルク指令値ΔＴに制限を与える必要が生じてしまう。
【００９９】
そこで、ΔＴ制限値生成器３９ｄは、速度変動振幅|Δωｍ|が速度変動許容値|Δωｍ|＊より小さいとき、つまり、“|Δωｍ|＜|Δωｍ|＊”のときに、ΔＴ振幅制限フラグを“オフ”に設定する。
【０１００】
ΔＴ制限値生成器３９ｄは、ΔＴ振幅制限フラグの設定後、ΔＴ振幅制限フラグに従って補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを生成する。
【０１０１】
ΔＴ制限値生成器３９ｄは、上記のようにしてΔＴ振幅制限フラグを“オン”に設定したときは、前回の機械角周期における補正トルク振幅｜ΔＴ｜である｜ΔＴ｜_ｏｌｄと、偏差Ｉａ_ｅｒｒとに基づいて、式（３５）に従って、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを生成する。式（３５）における“ｇ”は、偏差Ｉａ_ｅｒｒに乗算される所定のゲイン値である。つまり、ΔＴ振幅制限フラグが“オン”であるときは、ΔＴ制限値生成器３９ｄは、前回の機械角周期の補正トルク振幅｜ΔＴ｜_ｏｌｄを積分項に見立てた積分制御を行う。こうすることで、モータＭが電流トリップに至りそうな場合に、偏差Ｉａ_ｅｒｒが正の値となるため、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔが減少し、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔの減少に伴って検出電流値振幅Ｉａが減少する。
【数３５】
0006984672.tif 000036
【０１０２】
一方で、ΔＴ制限値生成器３９ｄは、上記のようにしてΔＴ振幅制限フラグを“オフ”に設定したときは、補正トルク指令値ΔＴに制限がかからないような大きい値に補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを設定する。例えば、ΔＴ制限値生成器３９ｄは、式（２１）に従って、平均トルク指令値Ｔo＊の３倍の値を補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔに設定する。平均トルク指令値Ｔo＊の３倍の値という大きい値が補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔとして設定されることで、補正トルク指令値ΔＴには、実質上、制限が与えられなくなる。
【０１０３】
ΔＴ制限値生成器３９ｄは、以上のようにして生成した補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔを補正トルク生成器３４へ出力する。
【０１０４】
＜モータ制御装置の動作＞
図１２Ａ、図１２Ｂ、図１２Ｃ、図１３、図１４及び図１５は、本開示の実施例２のモータ制御装置の動作例の説明に供する図である。
【０１０５】
図１２Ａ、図１２Ｂ及び図１２Ｃに、モータ制御装置２００における電流ベクトルの挙動を示す。図１２Ａに示すように、電流ピーク値Ｉａ_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔより大きい場合は、ΔＴ振幅制限フラグが“オン”に設定され、補正トルク振幅｜ΔＴ｜に制限が与えられる。補正トルク振幅｜ΔＴ｜に制限が与えられても、図１２Ｂに示すように、未だ電流ピーク値Ｉａ_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔより大きい場合は、補正トルク振幅｜ΔＴ｜がさらに制限され、補正トルク制限値｜ΔＴ｜_ｌｉｍｉｔは小さくなる。これにより、図１２Ｃに示すように、電流ピーク値Ｉａ_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔまで抑制される。
【０１０６】
また、図１３に、電流指令値振幅Ｉａと電流指令ピーク値Ｉａ_ｐｅａｋとの時間変化を示す。図１３において、電流リミット値Ｉａ_ｌｉｍｉｔは、電流トリップ値Ｉａ_ｔｒｉｐから所定のマージンＭＡを減算した値として設定されている。モータＭの負荷の増大によりトルク制御量が増大する区間ａ２１では、電流ピーク値Ｉａ_ｐｅａｋが増大する。区間ａ２１の次の区間ｂ２１では、ΔＴ振幅制限フラグが“オン”に設定されて補正トルク振幅｜ΔＴ｜に制限が与えられる。区間ｂ２１の次の区間ｃ２１では、ΔＴ振幅制限フラグが“オフ”に設定されて、モータＭの負荷の減少につれて、電流ピーク値Ｉａ_ｐｅａｋが減少する。
【０１０７】
また、図１４では、図１３に対し、速度変動振幅|Δωｍ|の時間変化が追加されている。図１４において、モータＭの負荷が増大するにつれてトルク制御量が増大する区間ａ２２では、トルク制御量の増大より電流ピーク値Ｉａ_ｐｅａｋが増大する。このとき、ΔＴ振幅制限フラグは“オフ”になっているため、速度変動振幅|Δωｍ|は速度変動許容値|Δωｍ|＊に追従する。区間ａ２２の次の区間ｂ２２では、区間ａ２２における電流ピーク値Ｉａ_ｐｅａｋが電流リミット値Ｉａ_ｌｉｍｉｔより大きいため、ΔＴ振幅制限フラグが“オン”に設定されて補正トルク振幅｜ΔＴ｜に制限が与えられる。補正トルク振幅｜ΔＴ｜に制限が与えられることにより、速度変動振幅|Δωｍ|は速度変動許容値|Δωｍ|＊に追従しなくなる。区間ｂ２２の次の区間ｃ２２では、モータＭの負荷が減少するにつれて速度変動振幅|Δωｍ|及び電流ピーク値Ｉａ_ｐｅａｋが減少する。また、区間ｃ２２では、速度変動許容値|Δωｍ|＊が速度変動振幅|Δωｍ|より大きいため、ΔＴ振幅制限フラグが“オフ”に設定されて補正トルク振幅｜ΔＴ｜の制限が解除される。補正トルク振幅｜ΔＴ｜の制限が解除されることにより、速度変動振幅|Δωｍ|が速度変動許容値|Δωｍ|＊に追従するようになる。
【０１０８】
図１５に実施例１における電流リミット動作の一例を示し、図１６に実施例２における電流リミット動作の一例を示す。図１５には、実施例１のように電流指令値によってリミットをかける場合の電流ノイズの有無による比較例を示し、図１６には、実施例２のように電流検出値でリミットをかける場合の電流ノイズの有無による比較例を示す。
【０１０９】
実施例１では、ｄ軸電流指令値Ｉｄ＊とｑ軸電流指令値Ｉｑ＊とに基づいて算出される電流指令ピーク値Ｉａ＊_ｐｅａｋと、電流リミット値Ｉａ_ｌｉｍｉｔとの比較結果に基づいてΔＴ振幅制限フラグが設定される。このため、図１５に示すように、電流リミット値Ｉａ_ｌｉｍｉｔが適切でないと、検出電流のノイズ成分が大きい場合に電流指令値振幅Ｉａ＊が電流トリップ値Ｉａ_ｔｒｉｐに到達する恐れがある。電流指令値振幅Ｉａ＊が電流トリップ値Ｉａ_ｔｒｉｐに到達することを回避するためには、電流リミット値Ｉａ_ｌｉｍｉｔを小さくするなどのチューニングを要する。
【０１１０】
これに対し、実施例２では、ｄ軸電流Ｉｄとｑ軸電流Ｉｑとに基づいて算出される検出電流ピーク値Ｉａ_ｐｅａｋと、電流リミット値Ｉａ_ｌｉｍｉｔとの比較結果に基づいてΔＴ振幅制限フラグが設定される。これにより、実施例２では、図１６に示すように、制御状態によって検出電流振幅Ｉａにノイズがあるような場合でも、検出電流に電流リミットをかけるため、ノイズの有無にかかわらず、同一の電流リミット値Ｉａ_ｌｉｍｉｔを用いることができる。よって、電流トリップ値Ｉａ_ｔｒｉｐに対する電流リミット値Ｉａ_ｌｉｍｉｔのチューニングが不要となるため、電流リミット値Ｉａ_ｌｉｍｉｔのチューニングにかかる工数を削減することができる。
【０１１１】
以上、本開示の実施例２について説明した。
【０１１２】
以上のように、本開示のモータ制御装置（実施例１のモータ制御装置１００）は、電流指令値算出器（実施例１の電流指令値算出器１４）と、補正トルク制限値生成器（実施例１の補正トルク制限値生成器３８）とを有する。電流指令値算出器は、速度指令値（実施例１の機械角速度指令値ωｍ＊）とモータの速度（実施例１の機械角推定角速度ωｍ）とに基づいて生成される平均トルク指令値（実施例１の平均トルク指令値Ｔo＊）と、トルク指令値を補正するための補正トルク指令値（実施例１の補正トルク指令値ΔＴ）とを加算した合計トルク指令値（実施例１の合計トルク指令値Ｔ＊）とに基づいて電流指令値（ｑ軸電流指令値Ｉｑ＊，ｄ軸電流指令値Ｉｄ＊）を算出する。補正トルク制限値生成器は、補正トルク指令値がゼロでなく、かつ、電流指令値の最大値（実施例１の電流指令ピーク値Ｉａ＊_ｐｅａｋ）が所定の電流リミット値（実施例１の電流リミット値Ｉａ_ｌｉｍｉｔ）以上のときに、補正トルク指令値に制限を与える。
【０１１３】
このようにして補正トルク指令値に制限を与えることで、補正トルク指令値の増大による電流トリップを防止することができるため、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる。
【０１１４】
また、補正トルク制限値生成器（実施例２の補正トルク制限値生成器３９）は、補正トルク指令値がゼロでなく、かつ、モータの電流（ｄ軸電流Ｉｄ，ｑ軸電流Ｉｑ）の最大値（実施例２の電流ピーク値Ｉａ_ｐｅａｋ）が所定の電流リミット値（実施例２の電流リミット値Ｉａ_ｌｉｍｉｔ）以上のときに、補正トルク指令値に制限を与える。
【０１１５】
このようにして補正トルク指令値に制限を与えても、補正トルク指令値の増大による電流トリップを防止することができるため、過電流保護機能の作動によるモータの停止に至らずに安定してモータを動作させることができる。また、モータの電流の振幅値のノイズレベルが制御状態によって異なるような場合でも、同一の電流リミット値を用いることができるため、電流トリップ値に対する電流リミット値のマージンの設定にあたりチューニングが不要となる。
【０１１６】
また、補正トルク制限値生成器は、モータの回転速度の変動幅（実施例１，２の速度変動振幅|Δωｍ|）が許容値（実施例１，２の速度変動許容値|Δωｍ|＊）より小さいときに、補正トルク指令値に与えられている制限を解除する。
【０１１７】
こうすることで、トルク制限ハンチングが発生することを防止できる。
【０１１８】
また、補正トルク制限値生成器は、モータの過電流保護機能が作動する電流閾値（実施例１，２の電流トリップ値Ｉａ_ｔｒｉｐ）よりも所定値（実施例１，２のマージンＭＡ）だけ小さい値を電流リミット値として用いる。
【０１１９】
こうすることで、補正トルク指令値の増大による電流トリップを確実に防止することができる。
【符号の説明】
【０１２０】
１００，２００  モータ制御装置
１４  電流指令値算出器
３４  補正トルク生成器
３８，３９  補正トルク制限値生成器
【図１】
0006984672.tif 000037
【図２】
0006984672.tif 000038
【図３】
0006984672.tif 000039
【図４】
0006984672.tif 000040
【図５】
0006984672.tif 000041
【図６Ａ】
0006984672.tif 000042
【図６Ｂ】
0006984672.tif 000043
【図６Ｃ】
0006984672.tif 000044
【図７】
0006984672.tif 000045
【図８】
0006984672.tif 000046
【図９】
0006984672.tif 000047
【図１０】
0006984672.tif 000048
【図１１】
0006984672.tif 000049
【図１２Ａ】
0006984672.tif 000050
【図１２Ｂ】
0006984672.tif 000051
【図１２Ｃ】
0006984672.tif 000052
【図１３】
0006984672.tif 000053
【図１４】
0006984672.tif 000054
【図１５】
0006984672.tif 000055
【図１６】
0006984672.tif 000056