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