(57)【要約】【課題】モータ軸位置のずれを適切に補償して、電流歪み、過電流異常、脱調等の不具合を抑制可能なモータ制御装置を提供する。【解決手段】インバータ２を通じてモータＭを制御するモータ制御装置１は、回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部１０と、モータ電流の検出値、及び、インバータ出力電圧の指令値に基づいてモータの検出電力を算出する検出電力演算部１２と、回転数の指令値、モータ電流の検出値、及び、予め規定されたモータ定数に基づいてモータの推定電力を算出する推定電力演算部１１と、推定電力に対する検出電力の比が所定の目標値に一致するようにインバータ出力電圧の位相を調整する出力電圧補償部１５と、目標値を変更する目標値変更部と、を備えている。【選択図】図１
2018088798.tif 000002
【特許請求の範囲】
【請求項１】
インバータを通じてモータを制御するモータ制御装置であって、
回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部と、
前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいてモータの検出電力を算出する検出電力演算部と、
前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいてモータの推定電力を算出する推定電力演算部と、
前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償部と、
前記目標値を変更する目標値変更部と、
を備えるモータ制御装置。
【請求項２】
異常を検出する異常検出部を更に備え、
前記目標値変更部は、前記異常検出部により異常が検出された場合に前記目標値を変更する
請求項１に記載のモータ制御装置。
【請求項３】
前記目標値変更部は、
前記異常が検出された場合に、前記出力電圧補償部が前記インバータ出力電圧の位相を遅らせる程度を示す補償量が大きい場合には前記目標値を大きく変更し、前記補償量が小さい場合には、前記目標値を小さく変更する
請求項２に記載のモータ制御装置。
【請求項４】
前記目標値変更部は、
前記モータ電流の検出値が最小となるように前記目標値を変更する
請求項１に記載のモータ制御装置。
【請求項５】
インバータを通じてモータを制御するモータ制御方法であって、
回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御ステップと、
前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいてモータの検出電力を算出する検出電力演算ステップと、
前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいてモータの推定電力を算出する推定電力演算ステップと、
前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償ステップと、
前記目標値を変更する目標値変更ステップと、
を有するモータ制御方法。
【請求項６】
インバータを通じてモータを制御するモータ制御装置のコンピュータを、
回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部、
前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいてモータの検出電力を算出する検出電力演算部、
前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいてモータの推定電力を算出する推定電力演算部、
前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償部、
前記目標値を変更する目標値変更部、
として機能させるプログラム。
【請求項７】
インバータ出力電圧の位相を調整する位相調整方法であって、
前記インバータ出力電圧が増加する半周期の期間において、前記インバータ出力電圧の指令値に所定の補償量を加算し、前記インバータ出力電圧が減少する半周期の期間において、前記インバータ出力電圧の指令値に前記補償量を減算することで位相を遅らせるステップ、及び、
前記インバータ出力電圧が増加する半周期の期間において、前記インバータ出力電圧の指令値に所定の補償量を減算し、前記インバータ出力電圧が減少する半周期の期間において、前記インバータ出力電圧の指令値に前記補償量を加算することで位相を早めるステップのうち少なくとも何れか一方を有する
位相調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置、モータ制御方法、プログラム及び位相調整方法に関する。
【背景技術】
【０００２】
一般に、インバータを用いたモータのベクトル制御においては、予め求められたモータ定数を用いてインバータの出力電圧を演算し、電流ベクトル（磁束電流成分及びトルク電流成分）を制御する（例えば、特許文献１参照）。
また、モータ軸位置、モータ軸回転数（ロータの回転位置、回転速度）等を検出するためのセンサを搭載しないセンサレスベクトル制御の分野においては、インバータ出力電圧の指令値に対応するモータ電流の検出値から、ロータの回転速度及び回転位置を推定する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３１２５２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述のセンサレスベクトル制御の場合、ＣＰＵ（マイコン）が推定するモータ軸位置と実際のモータ軸位置との間にずれが生じ得る。この現象の要因の一つには、モータが磁束飽和する高負荷運転時にて、モータ定数の一つであるモータインダクタンスが低減し、ＣＰＵ（マイコン）に予め記録されているモータインダクタンスとの間にずれが生じることが挙げられる。
【０００５】
具体的には、磁束飽和により実際のモータインダクタンスが、ベクトル制御演算に用いているモータインダクタンス（ＣＰＵに記録されたモータインダクタンス）よりも小さくなるために、モータから実際に出力されるトルクが、ＣＰＵが想定するトルクよりも小さくなる。そのため、モータ軸位置が、ＣＰＵが推定するモータ軸位置よりも遅れ気味になる。
他方、ＣＰＵは、あくまで自己の推定結果に基づいてインバータ出力電圧の指令を行う。そのため、ＣＰＵが推定するモータ軸位置と実際のモータ軸位置との間のずれが大きくなると、電流歪み、過電流異常、脱調等の不具合が生じ得る。
この課題に対しては、実際のモータ軸位置の遅れの度合いを把握して、当該遅れの度合いに応じてインバータ出力電圧の位相を遅らせる、という対策が考えられる。しかしながら、そもそもモータ軸位置を検出可能なセンサを搭載しない前提では、モータ軸位置が遅れていること、及び、どれだけ遅れているかを認識することができない。
加えて、モータ軸位置の遅れの度合いは、モータの負荷条件や環境条件、特性のバラつきなどで変化する。そのため、インバータ出力電圧の位相を一定量だけずらす、という制御でモータ軸位置のずれを補償するのは難しい。
【０００６】
本発明は、上記課題に鑑みてなされたものであって、その目的は、モータ軸位置のずれを適切に補償して、電流歪み、過電流異常、脱調等の不具合を抑制可能なモータ制御装置、モータ制御方法、プログラム及び位相調整方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、モータ制御装置は、インバータを通じてモータを制御するモータ制御装置であって、回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部と、前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいてモータの検出電力を算出する検出電力演算部と、前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいてモータの推定電力を算出する推定電力演算部と、前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償部と、前記目標値を変更する目標値変更部と、を備える。
【０００８】
また、本発明の第２の態様によれば、モータ制御装置は、異常を検出する異常検出部を更に備え、前記目標値変更部は、前記異常検出部により異常が検出された場合に前記目標値を変更する。
【０００９】
また、本発明の第３の態様によれば、前記目標値変更部は、前記異常が検出された場合に、前記出力電圧補償部が前記インバータ出力電圧の位相を遅らせる程度を示す補償量が大きい場合には前記目標値を大きく変更し、前記補償量が小さい場合には、前記目標値を小さく変更する。
【００１０】
また、本発明の第４の態様によれば、前記目標値変更部は、前記モータ電流の検出値が最小となるように前記目標値を変更する。
【００１１】
また、本発明の第５の態様によれば、モータ制御方法は、インバータを通じてモータを制御するモータ制御方法であって、回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御ステップと、前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいてモータの検出電力を算出する検出電力演算ステップと、前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいてモータの推定電力を算出する推定電力演算ステップと、前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償ステップと、前記目標値を変更する目標値変更ステップと、を有する。
【００１２】
また、本発明の第６の態様によれば、プログラムは、インバータを通じてモータを制御するモータ制御装置のコンピュータを、回転数の指令値と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部、前記モータ電流の検出値、及び、前記インバータ出力電圧の指令値に基づいてモータの検出電力を算出する検出電力演算部、前記回転数の指令値、前記モータ電流の検出値、及び、予め規定されたモータ定数に基づいてモータの推定電力を算出する推定電力演算部、前記推定電力に対する前記検出電力の比が所定の目標値に一致するように前記インバータ出力電圧の位相を調整する出力電圧補償部、前記目標値を変更する目標値変更部、として機能させる。
【００１３】
また、本発明の第６の態様によれば、位相調整方法は、インバータ出力電圧の位相を調整する位相調整方法であって、前記インバータ出力電圧が増加する半周期の期間において、前記インバータ出力電圧の指令値に所定の補償量を加算し、前記インバータ出力電圧が減少する半周期の期間において、前記インバータ出力電圧の指令値に前記補償量を減算することで位相を遅らせるステップ、及び、前記インバータ出力電圧が増加する半周期の期間において、前記インバータ出力電圧の指令値に所定の補償量を減算し、前記インバータ出力電圧が減少する半周期の期間において、前記インバータ出力電圧の指令値に前記補償量を加算することで位相を早めるステップのうち少なくとも何れか一方を有する。
【発明の効果】
【００１４】
上述のモータ制御装置、モータ制御方法、プログラム及び位相調整方法によれば、モータ軸位置のずれを適切に補償して、電流歪み、過電流異常、脱調等の不具合を抑制できる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施形態に係るモータ制御装置の全体構成を示す図である。
【図２】第１の実施形態に係るベクトル制御部の機能構成を示す図である。
【図３】第１の実施形態に係る出力電圧補償部の機能を説明する第１の図である。
【図４】第１の実施形態に係る出力電圧補償部の機能を説明する第２の図である。
【図５】第１の実施形態に係る出力電圧補償部の処理フローを示す図である。
【図６】第１の実施形態に係る出力電圧補償部による位相調整処理を説明する図である。
【図７】第２の実施形態に係るモータ制御装置の全体構成を示す図である。
【図８】第２の実施形態に係る目標値変更部の処理フローを示す図である。
【図９】第３の実施形態に係るモータ制御装置の全体構成を示す図である。
【発明を実施するための形態】
【００１６】
＜第１の実施形態＞
以下、第１の実施形態に係るモータ制御装置について、図１〜図６を参照しながら説明する。
【００１７】
（モータ制御装置の全体構成）
図１は、第１の実施形態に係るモータ制御装置の全体構成を示す図である。
【００１８】
図１に示すように、モータ制御装置１は、インバータ２を通じてモータＭを制御するモータ制御装置である。第１の実施形態においては、モータ制御装置１は、例えばＣＰＵ（マイコン）等であって、予め記録されたプログラムに従って動作することで、以下に説明する各種機能を発揮する。
また、インバータ２は、一般に知られているインバータ回路であって、モータ制御装置１から、ＰＷＭ制御に基づくデューティ指令値を受け付けて、当該デューティ指令値に応じた交流電圧（インバータ出力電圧）をモータＭに出力する。
【００１９】
モータ制御装置１は、ベクトル制御部１０と、推定電力演算部１１と、検出電力演算部１２と、Ｄｕｔｙ出力部１３と、直流電圧検出回路１４と、出力電圧補償部１５と、モータ電流検出回路１６と、Ａ／Ｄ変換器１７とを備えている。
【００２０】
ベクトル制御部１０は、回転数の指令値（以下、「回転数指令値ω＿ｃｍｄ」と表記する。）と、モータ電流の検出値（ｉｕ、ｉｖ、ｉｗ）とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）を出力する。回転数指令値ω＿ｃｍｄは、上位のコントローラから入力される指令値であって、モータＭの単位時間当たりの回転数（回転速度）を示す指令値である。
【００２１】
推定電力演算部１１は、モータＭで消費される電力の推定値である推定電力Ｐｏｗｅｒ＿ｒｅｆを演算する。推定電力演算部１１は、回転数指令値ω＿ｃｍｄ、モータ電流の検出値（ｉｄ、ｉｑ）、及び、予め規定されたモータ定数に基づいてモータの推定電力Ｐｏｗｅｒ＿ｒｅｆを算出する。
より具体的には、推定電力演算部１１は、以下の式（１）に基づいて推定電力Ｐｏｗｅｒ＿ｒｅｆを算出する。
【００２２】
【数１】
2018088798.tif 000003
【００２３】
式（１）において、“α”はトルク定数、“β”は銅損係数であり、いずれもモータ定数である。また、“ｉｄ”はモータ電流のうちｄ軸電流成分（磁束電流成分）であり、“ｉｑ”はモータ電流のうちｑ軸電流成分（トルク電流成分）である。ｄ軸電流成分Ｉｄ及びｑ軸電流成分Ｉｑは、ベクトル制御部１０の処理（ベクトル制御）の過程で算出される二相のモータ電流の検出値であって、モータ電流検出回路１６から直接検出される三相のモータ電流の検出値（ｉｕ、ｉｖ、ｉｗ）に基づいて算出される（詳細は後述する）。
【００２４】
検出電力演算部１２は、モータＭで消費される電力の検出値である検出電力Ｐｏｗｅｒ＿ｓｌを演算する。検出電力演算部１２は、モータ電流の検出値（ｉｕ、ｉｖ、ｉｗ）、及び、インバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）に基づいてモータＭの検出電力を算出する。
より具体的には、検出電力演算部１２は、以下の式（２）に基づいて検出電力Ｐｏｗｅｒ＿ｓｌを算出する。
【００２５】
【数２】
2018088798.tif 000004
【００２６】
式（２）において、“ｖｄ”はモータＭに印加すべき電圧のうちｄ軸電圧成分の指令値であり、“ｖｑ”はモータＭに印加すべき電圧のうちｑ軸電圧成分の指令値である。ｄ軸電圧成分の指令値ｖｄ及びｑ軸電圧成分の指令値ｖｑは、ベクトル制御部１０の処理の過程で算出される二相のインバータ出力電圧の指令値であって、モータＭに直接出力すべき三相のインバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）の基となる電圧の指令値である。
【００２７】
Ｄｕｔｙ出力部１３は、直流電圧検出回路１４が検出した直流電圧Ｖｄｃに基づいて、ベクトル制御部１０が算出したインバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）を、ＰＷＭ制御に基づくＤｕｔｙ指令値（ｄｕｔｙ＿ｕ、ｄｕｔｙ＿ｖ、ｄｕｔｙ＿ｗ）に変換する。
直流電圧検出回路１４は、図示しない直流電源（コンバータ）が出力する直流電圧Ｖｄｃを検出し、検出結果をＤｕｔｙ出力部１３に出力する。
【００２８】
出力電圧補償部１５は、推定電力Ｐｏｗｅｒ＿ｒｅｆに対する検出電力Ｐｏｗｅｒ＿ｓｌの比である位相調整率γ（γ＝Ｐｏｗｅｒ＿ｓｌ／Ｐｏｗｅｒ＿ｒｅｆ）［％］に基づいて、インバータ出力電圧の位相を調整する。出力電圧補償部１５の機能の詳細については後述する。
【００２９】
モータ電流検出回路１６は、モータＭに流れる三相の交流電流（モータ電流）を検出する。モータ電流検出回路１６によって検出されたモータ電流は、Ａ／Ｄ変換器１７を通じて、モータ電流の検出値（ｉｕ、ｉｖ、ｉｗ）としてベクトル制御部１０に入力される。
【００３０】
（ベクトル制御部の機能構成）
図２は、第１の実施形態に係るベクトル制御部の機能構成を示す図である。
第１の実施形態に係るベクトル制御部１０は、モデル規範適応システム（Model Reference Adaptive System）理論に基づくベクトル制御（以下、「ＭＲＡＳフルベクトル制御」とも記載する。）を行う。
【００３１】
図２に示すように、ベクトル制御部１０は、速度ＰＩ制御部１００と、トルク／電流変換部１０１と、電流ＰＩ制御部１０２と、電流推定部１０３と、速度推定部１０４と、ローパスフィルタ１０５と、軸位置推定部１０６と、二相／三相変換部１０７と、三相／二相変換部１０８と、を備えている。
【００３２】
速度ＰＩ制御部１００は、速度推定部１０４によって推定された回転数（回転数推定値ωｅｓ）を、上位から入力された回転数指令値ω＿ｃｍｄに一致させるように比例積分制御を行う。具体的には、速度ＰＩ制御部１００は、回転数指令値ω＿ｃｍｄと回転数推定値ωｅｓとの偏差に応じたトルク指令値ｔ＿ｃｍｄを出力する。
【００３３】
トルク／電流変換部１０１は、速度ＰＩ制御部１００から入力したトルク指令値ｔ＿ｃｍｄをモータ電流指令値（ｉｄ＊、ｉｑ＊）に変換する。ここで、モータ電流指令値（ｉｄ＊、ｉｑ＊）は、トルク指令値ｔ＿ｃｍｄに示されるトルクを達成するためにモータＭに流すべきモータ電流の各成分である。
【００３４】
電流ＰＩ制御部１０２は、モータ電流の検出値（ｉｄ、ｉｑ）を、モータ電流指令値（ｉｄ＊、ｉｑ＊）に一致させるように比例積分制御を行う。具体的には、電流ＰＩ制御部１０２は、回転数指令値ω＿ｃｍｄと回転数推定値ωｅｓとの偏差に応じたインバータ出力電圧の指令値（ｖｄ、ｖｑ）を出力する。
【００３５】
電流推定部１０３は、インバータ出力電圧の指令値（ｖｄ、ｖｑ）を入力して、ルンゲクッタ法に基づく電流推定を行い、モータ電流の推定値（ｉｄ＿ｅｓｔ、ｉｑ＿ｅｓｔ）を出力する。
【００３６】
速度推定部１０４は、電流推定部１０３が推定したモータ電流の推定値（ｉｄ＿ｅｓｔ、ｉｑ＿ｅｓｔ）と、モータ電流の検出値（ｉｄ、ｉｑ）とを入力し、これらの偏差に基づいて、回転数推定値ωｅｓを出力する（ＭＲＡＳフルベクトル制御に基づく電流推定部１０３、速度推定部１０４の機能の詳細については、特許第５４２２４３５号を参照）。
【００３７】
ローパスフィルタ１０５は、フィードバック制御（ＰＩ制御）の安定性を確保するため、回転数推定値ωｅｓの高周波成分を除去する。
【００３８】
軸位置推定部１０６は、速度推定部１０４が算出した回転数推定値ωｅｓを積分して、モータ軸位置の推定値である位相θを出力する。
【００３９】
二相／三相変換部１０７は、軸位置推定部１０６によって推定されたモータ軸位置（位相θ）に基づいて、二相のインバータ出力電圧の指令値（ｖｄ、ｖｑ）を三相のインバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）に変換する。
【００４０】
三相／二相変換部１０８は、軸位置推定部１０６によって推定されたモータ軸位置（位相θ）に基づいて、三相のモータ電流の検出値（ｉｕ、ｉｖ、ｉｗ）を二相のモータ電流の検出値（ｉｄ、ｉｑ）に変換する。
【００４１】
なお、ベクトル制御部１０が実行するベクトル制御は、上述の「ＭＲＡＳフルベクトル制御」に限定されることはない。他の実施形態においては、その他、一般的に知られているセンサレスベクトル制御であってもよい。
【００４２】
（出力電圧補償部の機能）
図３、図４は、それぞれ、第１の実施形態に係る出力電圧補償部の機能を説明する第１の図、第２の図である。
【００４３】
推定電力演算部１１、検出電力演算部１２は、それぞれ、式（１）、式（２）に基づいて推定電力Ｐｏｗｅｒ＿ｒｅｆ及び検出電力Ｐｏｗｅｒ＿ｓｌを算出することを説明した。ここで、実際のモータ軸位置が、ＣＰＵ（モータ制御装置１）が推定するモータ軸位置（位相θ）からずれると、当該軸位置のずれ量の変化に応じて、推定電力Ｐｏｗｅｒ＿ｒｅｆ及び検出電力Ｐｏｗｅｒ＿ｓｌは、それぞれ異なった変化を示す。
【００４４】
具体的に説明すると、推定電力Ｐｏｗｅｒ＿ｒｅｆ及び検出電力Ｐｏｗｅｒ＿ｓｌはＣＰＵ（モータ制御装置１）上での計算結果であり、特に、推定電力Ｐｏｗｅｒ＿ｒｅｆは、トルク係数α、銅損係数βというモータ定数（固定値）に基づく演算値である。また、トルクに寄与する電流は主にｑ軸電流成分Ｉｑであることから、推定電力Ｐｏｗｅｒ＿ｒｅｆは、ｑ軸電流成分Ｉｑが支配的に寄与するものとして算出される（式（１）参照）。
【００４５】
ところで、ｑ軸電流成分の検出値ｉｑは、三相／二相変換部１０８（図２）にて、ＣＰＵ（モータ制御装置１）が認識するｑ軸の位置（即ち、軸位置推定部１０６が推定するモータ軸位置の推定値（位相θ））に基づいて算出される。そうすると、実際のモータ軸位置がその推定値（位相θ）からずれていると、ＣＰＵ（モータ制御装置１）上ではｑ軸電流成分Ｉｑと認識されているものの、当該ｑ軸電流成分Ｉｑの位相は、実際のｑ軸からずれていることになる。
そのため、軸ずれが生じると、ｑ軸電流成分Ｉｑのみが支配的に寄与する推定電力Ｐｏｗｅｒ＿ｒｅｆと、そうでない検出電力Ｐｏｗｅｒ＿ｓｌとの間には差が生じる（一致しなくなる）ことが想定される。
【００４６】
ここで、軸ずれ（特に、モータ軸位置の遅れ）が生じた場合に、推定電力Ｐｏｗｅｒ＿ｒｅｆと検出電力Ｐｏｗｅｒ＿ｓｌとの関係（位相調整率γ）がどのように変化するかを詳細に分析する。
【００４７】
図３に示す電流ベクトル座標には、一般的な定トルク線を示している。また、図３には、定トルク線に基づき、一定のトルクを出すために必要な電流の位相と大きさを示している。
図３において、電流ベクトルＡ１は、ｄ軸電流成分Ｉｄがゼロ（Ｉｄ＝０）となっている場合のモータ電流である。この電流ベクトルＡ１で動作していた状態を基準に、モータ軸位置の遅れが生じた場合、モータ電流の位相は、電流ベクトルＡ２のようにモータ軸位置の遅れに合わせて遅れる（＋Ｉｄ軸側に傾く）。そうすると、図３に示すように、一定のトルクを得るために必要なモータ電流は大きくなる。
他方、電流ベクトルＡ１で動作していたときからモータ軸位置が進むと、モータ電流の位相は、電流ベクトルＡ３のようにモータ軸位置の進みに合わせて進む（−Ｉｄ軸側に傾く）。ここで、電流ベクトルＡ３は、一定のトルクを得るために必要なモータ電流が最小となる最小電流制御の状態を示している。
【００４８】
このように、モータ軸位置のずれに合わせてモータ電流が増減した場合、インバータ出力電圧の指令値（ｖｄ、ｖｑ）の大きさもそれに合わせて増減する。そうすると、最小電流制御となるモータ電流の位相（電流ベクトルＡ３）から位相が遅れるほどモータ電流及びインバータ出力電圧が増加する。このようにモータ電流及びインバータ出力電圧が変化した場合、推定電力Ｐｏｗｅｒ＿ｒｅｆは、ｑ軸電流成分Ｉｑのみが支配的に変動に寄与するのに対し、検出電力Ｐｏｗｅｒ＿ｓｌは、ｄ軸電流成分Ｉｄ、ｑ軸電流成分Ｉｑに加え、更に、ｄ軸電圧成分の指令値ｖｄ及びｑ軸電圧成分の指令値ｖｑも増減に寄与する。そのため、モータ軸位置（電流位相のずれ）に対する変化量は、検出電力Ｐｏｗｅｒ＿ｓｌの方が推定電力Ｐｏｗｅｒ＿ｒｅｆよりも大きい。換言すると、検出電力Ｐｏｗｅｒ＿ｓｌの方が、モータ軸位置（電流位相のずれ）に対しての感度が高い。
この特性を利用することで、推定電力Ｐｏｗｅｒ＿ｒｅｆに対する検出電力Ｐｏｗｅｒ＿ｓｌの比（位相調整率γ）の変化を通じて、モータの軸位置（電流位相）の変動をつかむことができる。具体的には、最小電流制御に近い状態からモータ軸位置（電流位相）が遅れるほど、推定電力Ｐｏｗｅｒ＿ｒｅｆよりも検出電力Ｐｏｗｅｒ＿ｓｌの方が大きく増加するため、位相調整率γは大きくなる。
【００４９】
なお、推定電力Ｐｏｗｅｒ＿ｒｅｆの演算に用いるトルク係数αや銅損係数βが実際と理想的に合っている場合には、位相調整率γは、最小電流制御において１００％となる。しかしながら、実際のモータ軸位置が推定位置からずれていると、ＣＰＵ（モータ制御装置１）が認識（推定）するｑ軸と実際のモータＭのｑ軸とがずれているため、ＣＰＵが検出しているｑ軸電流成分Ｉｑは、実際にはトルクに寄与する成分以外の成分（ｄ軸電流成分Ｉｄ）が含まれている。そのため、（ＣＰＵが認識しない）ｄ軸電流成分による励磁の影響で、見かけ上のトルク係数αが変動し、トルク計算が実際と合わなくなる。
【００５０】
そうすると、位相調整率γは、理想的には１００％で最小電流制御に近い状態であるものの、軸ずれしている場合に最小電流制御に近い状態が何％となるかわからない。同様に、位相調整率γが１００％であった場合であっても、絶対的なモータ軸位置を特定することはできない。できるのは、位相調整率γの増減で、モータ軸位置が、不定の位置から相対的に進んでいるか遅れているかを把握することだけである。
【００５１】
図４は、インバータ出力電圧の位相に対する補償量の度合いと、位相調整率γとの関係を示している。ここで、「補償量」とは、出力電圧補償部１５がインバータ出力電圧の位相を遅らせる程度を示すパラメータである。
上述した通り、実際のモータ軸位置がその推定値（位相θ）からずれることにより、推定電力と検出電力との比率である位相調整率γが１００％となる箇所は条件によって変化し、絶対的なモータ電流の位相（モータ軸位置）を把握することはできない。
ここで、例えば、位相調整率γが１００％のとき、図４の電流ベクトルＢ１の位置（即ち、モータ軸位置が想定よりも遅れている状態）にあったと仮定する。この状態において、出力電圧補償部１５が、インバータ出力電圧の指令値（ｖｄ、ｖｑ）の位相を意図的に遅らせると、インバータ出力電圧の指令値（ｖｄ、ｖｑ）の位相が、遅れているモータ電流の位相に近づく。即ち、電流ベクトルは、モータ電流の位相の遅れが解消される方向に移動する。
例えば、モータ電流が電流ベクトルＢ１となっている状態（位相調整率γ＝１００％の状態）から、出力電圧補償部１５がインバータ出力電圧の指令値（ｖｄ、ｖｑ）の位相をある所定の補償量だけ遅らせると、電流ベクトルＢ１は相対的に位相が進み、電流ベクトルＢ２に移動する。この場合、位相調整率γは、１００％から減少し、例えば８０％となる。
また、モータ電流が電流ベクトルＢ２となっている状態（位相調整率γ＝８０％の状態）から、出力電圧補償部１５がインバータ出力電圧の指令値（ｖｄ、ｖｑ）の位相を更に所定の補償量だけ遅らせると、電流ベクトルＢ２は相対的に更に位相が進み、最小電流制御の状態にある電流ベクトルＢ３に移動する。この場合、位相調整率γは更に減少し、例えば５０％（最小値）となる。
【００５２】
上述した通り、位相調整率γが何パーセントにあったとしても、軸ずれが起こっているか否か、また、どの程度の軸ずれが起こっているか否かは不明である。しかし、その軸ずれの程度が、電流歪み、過電流異常、脱調等の不具合が発生する程度に至っていないものであれば、モータＭの駆動中、常に、その軸ずれの程度が維持されるように制御すれば、軸ずれが一層大きくなることによって引き起こされる上記不具合は回避できるはずである。
そこで、モータＭ及びモータ制御装置１ごとに、事前の試験運転、シミュレーション等を経て、位相調整率γが１００％（若しくは、他の特定の値）となるモータ軸位置を判別する。そして、当該判別したモータ軸位置が電流歪み、過電流異常、脱調等の不具合が発生しない範囲に収まっていることを前提として、当該モータ軸位置に対応する位相調整率γを“目標値γ＿ｔ”として定める。このようにして定めた目標値γ＿ｔをＣＰＵ（モータ制御装置１）に記録しておき、モータＭの実駆動中においては、逐次算出される位相調整率γが当該目標値γ＿ｔに一致するように、インバータ出力電圧の指令値（ｖｄ、ｖｑ）の位相に対する補償量を設定する。
【００５３】
（出力電圧補償部の処理フロー）
図５は、第１の実施形態に係る出力電圧補償部の処理フローを示す図である。
以下、図５を参照しながら、出力電圧補償部１５の具体的な処理フローについて説明する。
図５に示す処理フローは、モータＭの駆動中、出力電圧補償部１５において繰り返し実行される。
出力電圧補償部１５は、推定電力演算部１１によって算出された推定電力Ｐｏｗｅｒ＿ｒｅｆと、検出電力演算部１２によって算出された検出電力Ｐｏｗｅｒ＿ｓｌと、を受け付けて、位相調整率γを演算する。そして、出力電圧補償部１５は、算出した位相調整率γが、予め規定された目標値γ＿ｔよりも大きいか否かを判定する（ステップＳ０１）。
位相調整率γが目標値γ＿ｔよりも大きい場合（ステップＳ０１：ＹＥＳ）、出力電圧補償部１５は、インバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）の位相を所定の補償量ｈだけ遅らせる処理を行う（ステップＳ０２）。
位相調整率γが目標値γ＿ｔよりも大きくない場合（ステップＳ０１：ＮＯ）、出力電圧補償部１５は、算出した位相調整率γが、目標値γ＿ｔよりも小さいか否かを判定する（ステップＳ０３）。
位相調整率γが目標値γ＿ｔよりも小さい場合（ステップＳ０３：ＹＥＳ）、出力電圧補償部１５は、インバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）の位相を所定の補償量ｈだけ早める処理を行う（ステップＳ０４）。
位相調整率γが目標値γ＿ｔよりも小さくない場合（ステップＳ０３：ＮＯ）、位相調整率γは目標値γ＿ｔに一致しているものと判断し、位相の調整を行わない。
【００５４】
（位相調整の機能）
図６は、第１の実施形態に係る出力電圧補償部による位相調整処理を説明する図である。
図６に示す波形Ｃ１は、出力電圧補償部１５による補償が行われる前のインバータ出力電圧とモータ電流とを示している。即ち、波形Ｃ１は、ベクトル制御部１０が算出するインバータ出力電圧の指令値、及び、モータ電流の指令値である。なお、モータＭはインダクタンス成分が支配的であることから、図６では、モータ電流の位相がインバータ出力電圧に対して位相が９０°遅れるものとしている。ただし、実際のモータには若干の抵抗成分、キャパシタンス成分も含まれ得るため、これに限られない。
図６に示す波形Ｃ２は、Ｄｕｔｙ出力部１３が、インバータ出力電圧の指令値（補償前）に応じて出力する補償前のＤｕｔｙ比である。出力電圧補償部１５は、Ｄｕｔｙ出力部１３から、波形Ｃ２に示す補償前のＤｕｔｙ比の入力を受け付ける。
図６に示す波形Ｃ３は、補償前のＤｕｔｙ比に応じて出力電圧補償部１５が出力する補償後のＤｕｔｙ比の波形である。波形Ｃ３に示すように、出力電圧補償部１５は、補償前のＤｕｔｙ比に対して、半周期ごとに所定の補償量ｈ（ｈ＞０）の加算又は減算を行う。出力電圧補償部１５は、補償前のＤｕｔｙ比に対し、補償量ｈが加算、減算された補償後のＤｕｔｙ比（ｄｕｔｙ＿ｕ±ｈ、ｄｕｔｙ＿ｖ±ｈ、ｄｕｔｙ＿ｗ±ｈ）を出力する。
図６に示す波形Ｃ４は、インバータ２がモータＭに出力する実際の電圧（即ち、補償後のインバータ出力電圧）の波形である。インバータ２は、補償後のＤｕｔｙ比（ｄｕｔｙ＿ｕ±ｈ、ｄｕｔｙ＿ｖ±ｈ、ｄｕｔｙ＿ｗ±ｈ）に基づいて、半周期ごとに所定の補償量だけ加算又は減算された、補償後のインバータ出力電圧を出力する。
補償後のインバータ出力電圧は、波形Ｃ４に示すように、見かけ上、補償前のインバータ出力電圧に比べ位相が遅れている。
このように、出力電圧補償部１５は、インバータ出力電圧が増加する半周期の期間において、インバータ出力電圧の指令値に所定の補償量（＞０）を加算し、インバータ出力電圧が減少する半周期の期間において、インバータ出力電圧の指令値に所定の補償量（＞０）を減算することでインバータ出力電圧の位相を遅らせる。
反対に、出力電圧補償部１５は、インバータ出力電圧が増加する半周期の期間において、インバータ出力電圧の指令値に所定の補償量を減算し、インバータ出力電圧が減少する半周期の期間において、インバータ出力電圧の指令値に所定の補償量を加算することでインバータ出力電圧の位相を早めることもできる。
【００５５】
（作用・効果）
以上の通り、第１の実施形態に係るモータ制御装置１は、回転数の指令値（回転数指令値ω＿ｃｍｄ）と、モータ電流の検出値とを入力して、ベクトル制御に基づくインバータ出力電圧の指令値を出力するベクトル制御部１０を備えている。また、モータ制御装置１は、モータ電流の検出値（ｉｄ、ｉｑ）、及び、インバータ出力電圧の指令値（ｖｄ、ｖｑ）に基づいてモータＭの検出電力Ｐｏｗｅｒ＿ｓｌを算出する検出電力演算部１２を備えている。更に、モータ制御装置１は、回転数の指令値、モータ電流の検出値、及び、予め規定されたモータ定数（α、β）に基づいてモータＭの推定電力Ｐｏｗｅｒ＿ｒｅｆを算出する推定電力演算部１１を備えている。更に、モータ制御装置１は、推定電力Ｐｏｗｅｒ＿ｒｅｆに対する検出電力Ｐｏｗｅｒ＿ｓｌの比（位相調整率γ）に基づいて、インバータ出力電圧の位相を調整する出力電圧補償部１５を備えている。
ここで、位相調整率γは、モータ軸位置のずれ量（実際のモータ軸位置とその推定値とのずれ量）の変化に応じて変動するという特性を有している。そこで、上記構成とすることで、出力電圧補償部１５は、位相調整率γに基づいてモータ軸位置のずれ量の変化を把握することができる。これにより、出力電圧補償部１５は、当該モータ軸位置のずれ量に合わせるようにインバータ出力電圧の位相を調整し、モータ軸位置のずれを適切に補償できる。これにより、電流歪み、過電流異常、脱調等の不具合を抑制することができる。
【００５６】
また、第１の実施形態に係る出力電圧補償部１５は、位相調整率γが予め規定された目標値γ＿ｔに一致するように、インバータ出力電圧の位相を調整する。
このようにすることで、位相調整率γが目標値γ＿ｔで一定に保たれるので、モータ軸位置を変動させないようにすることができる。
【００５７】
なお、他の実施形態においては、位相調整率γを目標値γ＿ｔに一致させる態様に限定されない。例えば、他の実施形態に係る出力電圧補償部１５は、過電流や脱調などの不具合が起こらない位相調整率γの目標範囲（例えば、４０％〜１００％等）を事前の試験、シミュレーション等で把握するとともに、位相調整率γが当該目標範囲内となるようにインバータ出力電圧の位相を調整する態様であってもよい。
【００５８】
また、出力電圧補償部１５は、インバータ出力電圧が増加する半周期の期間において、インバータ出力電圧の指令値に所定の補償量を加算し、インバータ出力電圧が減少する半周期の期間において、インバータ出力電圧の指令値に補償量を減算することで位相を遅らせる。
このようにすることで、インバータ出力電圧の指令値に、補償量を加算又は減算する処理のみで、簡易的に位相を遅らせることができる。
【００５９】
なお、他の実施形態においては、出力電圧補償部１５の態様は上記に限定されない。例えば、他の実施形態に係る出力電圧補償部１５は、ベクトル制御部１０が位相調整率γを入力するとともに、当該入力した位相調整率γに基づいて、インバータ出力電圧の指令値（ｖｕ、ｖｖ、ｖｗ）の位相を直接調整するようにしてもよい。
【００６０】
＜第２の実施形態＞
次に、第２の実施形態に係るモータ制御装置について、図７〜図８を参照しながら説明する。
【００６１】
（モータ制御装置の全体構成）
図７は、第２の実施形態に係るモータ制御装置の全体構成を示す図である。
図7に示すように、第２の実施形態に係るモータ制御装置１は、更に、目標値変更部１８と、異常検出部１９と、を備えている。
【００６２】
目標値変更部１８は、所定の条件を満たしたときに位相調整率γの目標値γ＿ｔを変更する。
異常検出部１９は、モータ電流検出回路１６及びＡ／Ｄ変換器１７を介して取得されるモータ電流の検出値（ｉｕ、ｉｖ、ｉｗ）を監視して、過電流異常が発生したことを通知する。具体的には、異常検出部１９は、予め規定された過電流判定閾値を有しており、モータ電流の検出値が当該過電流判定閾値を上回ったときに、過電流異常が発生したと判断して通知を行う。
【００６３】
（目標値変更部の処理フロー）
図８は、第２の実施形態に係る目標値変更部の処理フローを示す図である。
以下、図８を参照しながら、目標値変更部１８の具体的な処理フローについて説明する。
図８に示す処理フローは、モータＭの駆動中、目標値変更部１８において繰り返し実行される。
目標値変更部１８は、異常検出部１９を通じて過電流異常が発生したか否かを判定する（ステップＳ１１）。
過電流異常が発生していない場合（ステップＳ１１：ＮＯ）、目標値変更部１８は、目標値γ＿ｔを変更することなく処理を終了する。
過電流が発生した場合（ステップＳ１１：ＹＥＳ）、目標値変更部１８は、現時点における補償量が大きいか否かを判定する（ステップＳ１２）。具体的には、目標値変更部１８は、Ｄｕｔｙ出力部１３から出力されるＤｕｔｙ指令値（ｄｕｔｙ＿ｕ、ｄｕｔｙ＿ｖ、ｄｕｔｙ＿ｗ）に対する補償量ｈの比率が所定値（例えば５０％）を上回っているか否かで判断する。
過電流異常が起きた際の補償量ｈが大きい場合（ステップＳ１２：ＹＥＳ）、位相調整率γを目標値γ＿ｔに一致させようとすべくインバータ出力電圧の位相を大幅に遅らせた結果、過電流異常になったということが想定される。この場合、モータ電流の位相は、最小電流制御におけるモータ電流の位相（図３の電流ベクトルＡ３）よりも進み過ぎていた可能性が高い。したがって、この場合は、目標値γ＿ｔを既存の値より大きく設定する（ステップＳ１３）。
他方、過電流異常が起きた際の補償量ｈが小さい場合（ステップＳ１２：ＮＯ）、位相調整率γを目標値γ＿ｔに一致させようとすべくインバータ出力電圧の位相をわずかしか遅らせなかった結果、過電流異常になったということが想定される。この場合、モータ電流の位相は、最小電流制御におけるモータ電流の位相（図３の電流ベクトルＡ３）よりも遅れ過ぎていた可能性が高い。したがって、この場合は、目標値γ＿ｔを既存の値より小さく設定する（ステップＳ１４）。
【００６４】
（作用・効果）
以上の通り、第２の実施形態に係るモータ制御装置１は、目標値γ＿ｔを変更する目標値変更部１８を更に備える。
ここで、位相調整率γの目標値γ＿ｔが適切か否かは、環境条件や運転条件によって変化する。例えば、事前の試験運転等で目標値γ＿ｔを適切に設定したとしても、運転環境温度、モータＭの負荷条件（軽負荷高速運転、重負荷低速運転等）によっては、事前に設定した固定値（目標値γ＿ｔ）でも過電流異常、脱調等の不具合が起こり得る。
そこで、第２の実施形態に係るモータ制御装置１のように、自動的に目標値γ＿ｔを変更できるようにすることで、環境条件、運転条件が変化しても不具合の発生を抑制することができる。
【００６５】
また、第２の実施形態に係るモータ制御装置１は、過電流異常を検出する異常検出部１９を更に備え、目標値変更部１８は、異常検出部１９により異常が検出された場合に目標値を変更する。
このようにすることで、過電流異常を検出したタイミングで目標値γ＿ｔが適切に変更される。
【００６６】
また、第２の実施形態に係るモータ制御装置１は、過電流異常が検出された場合に、補償量が大きい場合には目標値γ＿ｔを大きく変更し、補償量が小さい場合には目標値γ＿ｔを小さく変更する。
このようにすることで、安定動作することが見込まれる方向に目標値γ＿ｔが変更されるので、異常状態から迅速に脱することができる。
【００６７】
なお、上記態様は、他の実施形態においては必須の構成ではない。例えば、他の実施形態に係る目標値変更部１８は、目標値γ＿ｔを大きく（又は小さく）した場合に、異常状態から脱することができたか否かを判定し、異常状態から脱していない場合には、反対方向に目標値γ＿ｔを変更する、という態様であってもよい。
また、異常検出部１９が検出する異常の態様は“過電流異常”に限定されず、電流歪み、脱調等の不具合であってもよい。
【００６８】
＜第３の実施形態＞
次に、第３の実施形態に係るモータ制御装置について、図９を参照しながら説明する。
【００６９】
図９は、第３の実施形態に係るモータ制御装置の全体構成を示す図である。
図９に示すように、第３の実施形態に係るモータ制御装置１は、目標値変更部１８を備えている。
第３の実施形態に係る目標値変更部１８は、第２の実施形態と動作の態様が異なる。
【００７０】
具体的には、第３の実施形態に係る目標値変更部１８は、モータ電流検出回路１６及びＡ／Ｄ変換器１７を介して取得されるモータ電流の検出値（ｉｕ、ｉｖ、ｉｗ）を取得して、当該モータ電流の検出値が最小となるように目標値γ＿ｔを変更する。
具体的には、目標値変更部１８は、モータＭが安定的に駆動している間に、目標値γ＿ｔを微小量ずつ変更し、モータ電流の検出値が最小となる目標値γ＿ｔを探索する。
【００７１】
このようにすることで、モータ電流の位相（モータ軸位置）は、最小電流制御が実現される位相に固定されるので、軸ずれによる電流歪み、過電流異常、脱調などの不具合を一層抑制することができる。
【００７２】
なお、モータ電流は、モータＭにおける負荷変動等によって変化する。したがって、上記モータ電流の最小値を探索する際には、まず、モータＭが安定動作している状態（外部要因によりモータ電流が変化しない状態）にあるか否かを判断する必要がある。
そこで、目標値変更部１８は、例えば、上位から入力される回転数指令値ω＿ｃｍｄを監視して、回転数が変化していない時間帯に限り、モータ電流の検出値が最小となる目標値γ＿ｔを探索するようにしてもよい。
また、回転数が変化していなくとも外乱要素で負荷が変動することも想定される。そこで、目標値変更部１８は、モータ電流を一定時間モニタリングし、“上昇し続けている”、“下降し続けている”などの変化の傾向を取得してもよい。そして、目標値変更部１８は、モータ電流が一定となっている時間帯に限り、モータ電流の検出値が最小となる目標値γ＿ｔを探索するようにしてもよい。
【００７３】
また、上述の各実施形態においては、上述したモータ制御装置１の各種処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって上記各種処理が行われる。また、コンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
【００７４】
上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。更に、モータ制御装置１は、１台のコンピュータで構成されていても良いし、通信可能に接続された複数のコンピュータで構成されていてもよい。
【００７５】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７６】
１  モータ制御装置
１０  ベクトル制御部
１１  推定電力演算部
１２  検出電力演算部
１３  Ｄｕｔｙ出力部
１４  直流電圧検出回路
１５  出力電圧補償部
１６  モータ電流検出回路
１７  Ａ／Ｄ変換器
１８  目標値変更部
１９  異常検出部
１００  速度ＰＩ制御部
１０１  トルク／電流変換部
１０２  電流ＰＩ制御部
１０３  電流推定部
１０４  速度推定部
１０５  ローパスフィルタ
１０６  軸位置推定部
１０７  二相／三相変換部
１０８  三相／二相変換部
【図１】
2018088798.tif 000005
【図２】
2018088798.tif 000006
【図３】
2018088798.tif 000007
【図４】
2018088798.tif 000008
【図５】
2018088798.tif 000009
【図６】
2018088798.tif 000010
【図７】
2018088798.tif 000011
【図８】
2018088798.tif 000012
【図９】
2018088798.tif 000013