(57)【要約】【課題】電流制御の安定性を向上させる。【解決手段】モータ制御装置の制御器は、ｄ（ｑ）軸電流偏差ΔＩｄ（ΔＩｑ）に対する積分制御によりｄ（ｑ）軸積分値Ｉｄ＊＊（Ｉｑ＊＊）を演算する積分演算部６０６Ａ（６０８Ａ）を含み、３相ブラシレスモータのインバータの出力電圧を制御するためのｄ（ｑ）軸電圧指令値を演算するように構成されている。制御器は、インバータの電源電圧などに基づいてｄ（ｑ）軸積分上下限値Ｉｄｍａｘ（Ｉｑｍａｘ）、Ｉｄｍｉｎ（Ｉｑｍｉｎ）を演算する制限値演算部６０６Ｃ（６０８Ｃ）と、Ｉｄ＊＊（Ｉｑ＊＊）をＩｄｍａｘ（Ｉｑｍａｘ）とＩｄｍｉｎ（Ｉｑｍｉｎ）とで規定される所定の範囲内に制限する積分制限部６０６Ｄ（６０８Ｅ）と、を更に含む。【選択図】図８
2020156243.tif 000002
【特許請求の範囲】
【請求項１】
直流を交流に変換して３相ブラシレスモータに供給する電力変換器と、
前記３相ブラシレスモータのｄ、ｑ軸の電流検出値と電流指令値との電流偏差に対する積分制御を含むフィードバック制御によりｄ、ｑ軸の電圧指令値を演算し、当該電圧指令値に基づいて前記電力変換器を制御する制御器と、を備えたモータ制御装置であって、
前記制御器は、前記積分制御の積分値を所定の範囲内に制限する、モータ制御装置。
【請求項２】
前記制御器は、前記電流偏差と、前記積分値と、前記３相ブラシレスモータの電動機定数と、前記３相ブラシレスモータの角速度検出値と、ｄ、ｑ軸の制御応答角周波数と、前記電力変換器の電源電圧に基づいて設定されるｄ、ｑ軸の電圧上限値及び電圧下限値と、に応じて前記所定の範囲を演算する、請求項１に記載のモータ制御装置。
【請求項３】
前記制御器が、演算した電圧指令値が過変調制御領域にあるときに当該電圧指令値に基づいて前記電力変換器の過変調制御を実行可能なように構成されている場合において、前記制御器は、
前記積分値の時間変化を平滑化するフィルタ処理を実行する、請求項２に記載のモータ制御装置。
【請求項４】
前記制御器が、演算した電圧指令値が過変調制御領域にあるときに当該電圧指令値に基づいて前記電力変換器の過変調制御を実行可能なように構成されている場合において、前記制御器は、
前記所定の範囲を規定する積分上下限値の時間変化を平滑化するフィルタ処理を実行する、請求項２又は請求項３に記載のモータ制御装置。
【請求項５】
前記制御器が、演算した電圧指令値が過変調制御領域にあるときに当該電圧指令値に基づいて前記電力変換器の過変調制御を実行可能なように構成されている場合において、前記制御器は、
前記所定の範囲内に制限された積分値の時間変化を平滑化するフィルタ処理を実行する、請求項２〜請求項４のいずれか１つに記載のモータ制御装置。
【請求項６】
前記制御器が、演算した電圧指令値が過変調制御領域にあるときに当該電圧指令値に基づいて前記電力変換器の過変調制御を実行可能なように構成されている場合において、前記制御器は、
演算した電圧指令値が前記電圧上限値を超えたときは当該電圧上限値に基づいて前記電力変換器を制御し、演算した電圧指令値が前記電圧下限値を下回ったときは当該電圧下限値に基づいて前記電力変換器を制御し、
前記電圧上限値又は前記電圧下限値と演算した電圧指令値との差を考慮して、前記演算した所定の範囲を広げるように補正する、請求項２に記載のモータ制御装置。
【請求項７】
前記制御器が、演算した電圧指令値が過変調制御領域にあるときに当該電圧指令値に基づいて前記電力変換器の過変調制御を実行可能なように構成されている場合において、前記制御器は、
演算した電圧指令値が前記電圧上限値を超えるたびに又は演算した電圧指令値が前記電圧下限値を下回るたびに、前記電圧上限値と、前記電圧下限値の絶対値とを、前記過変調制御領域の下限値よりも小さい第１制限値を初期値として、前記過変調制御領域の上限値である第２制限値に向けて所定値だけ増大させ、
演算した電圧指令値が前記電圧上限値を超えたときは当該電圧上限値に基づいて前記電力変換器を制御し、演算した電圧指令値が前記電圧下限値を下回ったときは当該電圧下限値に基づいて前記電力変換器を制御する、請求項２〜請求項６のいずれか１つに記載のモータ制御装置。
【請求項８】
３相ブラシレスモータのｄ、ｑ軸の電流検出値と電流指令値との電流偏差に対する積分制御を含むフィードバック制御によりｄ、ｑ軸の電圧指令値を演算し、直流を交流に変換して前記３相ブラシレスモータに供給する電力変換器を前記電圧指令値に基づいて制御する制御器が、
前記電圧指令値を演算する際に前記積分制御の積分値を所定の範囲内に制限する、モータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを制御するモータ制御装置及びモータ制御方法に関する。
【背景技術】
【０００２】
特許文献１には、直流を交流に変換してモータに供給する電力変換器と、モータのｄ、ｑ軸の電流検出値と電流指令値との電流偏差に対する積分制御を含むフィードバック制御により電流検出値を電流指令値に近付けるようなｄ、ｑ軸の電圧指令値を演算し、当該電圧指令値に基づいて電力変換器を制御する制御器と、を備えたモータ制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１７３００６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、モータの制御では、一般に、電力変換器の出力電圧が電力変換器の電源電圧（直流電圧）で飽和する電圧飽和状態が生じ得る。この電圧飽和状態では、演算した電圧指令値とは異なる電圧値によりモータの駆動が制御されることになる。そのため、電流検出値と電流指令値との電流偏差が０にならない、いわゆるワインドアップ現象が発生する。このようなワインドアップ現象の発生中に積分制御を実行し続けると、電流偏差を０にすべく過剰に増大又は減少するような積分値が演算される。その後、例えば、電流指令値が変更された場合、ワインドアップ現象が終了するものの過剰に変化した積分値を減少又は増大させて電流偏差を０にするまでに時間がかかってしまう。したがって、例えば、ワインドアップ現象の発生後に電流指令値を変更した場合などの過渡状態において電流検出値の電流指令値への収束性が悪化するなど、電流制御の安定性が悪化するおそれがあった。
【０００５】
そこで、本発明は、電流制御の安定性を向上させることのできるモータ制御装置及びモータ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、モータ制御装置は、直流を交流に変換して３相ブラシレスモータに供給する電力変換器と、３相ブラシレスモータのｄ、ｑ軸の電流検出値と電流指令値との電流偏差に対する積分制御を含むフィードバック制御によりｄ、ｑ軸の電圧指令値を演算し、当該電圧指令値に基づいて電力変換器を制御する制御器と、を備え、制御器は、積分制御の積分値を所定の範囲内に制限する。
【０００７】
また、モータ制御方法では、３相ブラシレスモータのｄ、ｑ軸の電流検出値と電流指令値との電流偏差に対する積分制御を含むフィードバック制御によりｄ、ｑ軸の電圧指令値を演算し、直流を交流に変換して３相ブラシレスモータに供給する電力変換器を電圧指令値に基づいて制御する制御器が、電圧指令値を演算する際に積分制御の積分値を所定の範囲内に制限する。
【発明の効果】
【０００８】
モータ制御装置及びモータ制御方法によれば、電流制御の安定性を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】モータ制御装置を適用した車両用内燃機関の一例を示す構成図である。
【図２】車両用内燃機関におけるＶＣＲ機構のためのストッパ機構の一例を示す部分拡大図である。
【図３】ＶＣＲ機構のモータ及びモータ制御装置の一例を示す構成図である。
【図４】モータ制御装置の制御器の内部構成の一例を示す構成図である。
【図５】制御器のベクトル制御部の内部構成の一例を示す構成図である。
【図６】従来のモータ制御装置による制御結果を示すタイムチャートである。
【図７】図６の制御結果における積分値の時間変化を示すタイムチャートである。
【図８】第１実施形態による第２のｄ（ｑ）軸電流指令値演算部の内部構成の一例を示す構成図である。
【図９】第１実施形態によるベクトル制御処理の一例を示すフローチャートである。
【図１０】第１実施形態による積分値決定処理の一例を示すフローチャートである。
【図１１】第１実施形態による制御結果の一例を示すタイムチャートである。
【図１２】図１１の制御結果における積分値の時間変化の一例を示すタイムチャートである。
【図１３】過変調制御を実行した場合に生じる問題を説明するための図である。
【図１４】第２実施形態に係るモータ制御装置のベクトル制御部の内部構成の一例を示す構成図である。
【図１５】第２実施形態による第２の指令電流演算部の内部構成の一例を示す構成図である。
【図１６】第２実施形態の第１変形例を説明するための図である。
【図１７】第２実施形態の第２変形例を説明するための図である。
【図１８】第２実施形態の第３変形例を説明するための図である。
【図１９】積分制限値変更前の制御結果の一例を示すタイムチャートである。
【図２０】積分制限値変更後の制御結果の一例を示すタイムチャートである。
【図２１】第３実施形態による第２のｄ（ｑ）軸電流演算部の内部構成の一例を示す構成図である。
【図２２】第３実施形態による電圧制限値の時間変化の一例を示すタイムチャートである。
【図２３】同上電圧制限値の時間変化の他の例を示すタイムチャートである。
【図２４】第３実施形態による制御結果の一例を示すタイムチャートである。
【図２５】同上制御結果と図１３に示す制御結果とを比較するための図である。
【図２６】第４実施形態によるベクトル制御処理の一例を示すフローチャートである。
【図２７】第４実施形態による電圧制限値決定処理の一例を示すフローチャートである。
【図２８】第４実施形態による積分値決定処理の一例を示すフローチャートである。
【図２９】第４実施形態による電圧指令値決定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しつつ本発明を実施するための実施形態について説明する。
図１は、モータ制御装置を適用した車両用内燃機関（エンジン）の一例を示す構成図である。
【００１１】
エンジン１は、シリンダブロック１０と、シリンダブロック１０のシリンダボア１０Ａに往復動可能に挿入されたピストン１２と、シリンダブロック１０の上部に取り付けられたシリンダヘッド１４と、を備えている。ピストン１２の冠面１２Ａとシリンダヘッド１４の下面との間には、燃焼室Ｓが形成されている。
【００１２】
ピストン１２は、コネクティングロッド（コンロッド（conn-rod））１６を介してクランクシャフト１８に連結されている。シリンダヘッド１４には、それぞれ、燃焼室Ｓに向かって開口する吸気ポート１４Ａ及び排気ポート１４Ｂが設けられている。また、シリンダヘッド１４には、吸気ポート１４Ａの開口を開閉する吸気バルブ２０Ａと、排気ポート１４Ｂの開口を開閉する排気バルブ２０Ｂとが取り付けられている。さらに、シリンダヘッド１４には、燃焼室Ｓに燃料を噴射する燃料噴射装置２２と、燃料と空気との混合気を着火する点火装置２４とが取り付けられている。
【００１３】
また、エンジン１は、例えば、特開２００２−２７６４４６号公報に開示されるような複リンク機構によって、燃焼室Ｓの容積を変更することで、圧縮比を可変とする可変圧縮比（ＶＣＲ：Variable Compression Ratio）機構２６を備えている。
【００１４】
ＶＣＲ機構２６の複リンク機構は、例えば、以下のように構成されている。
コンロッド１６は、ロアリンク１６Ａ及びアッパリンク１６Ｂを有する。ロアリンク１６Ａは、略三角形状の２つの部材で構成されている。ロアリンク１６Ａの略中央部には、クランクシャフト１８に連結するための連結孔が形成されている。アッパリンク１６Ｂは、下端側が第１の連結ピン２８によりロアリンク１６Ａの一端に回動可能に連結され、上端側がピストンピン３０によりピストン１２に回動可能に連結されている。クランクシャフト１８は、複数のジャーナル部１８Ａ及びクランクピン部１８Ｂを有する。ジャーナル部１８Ａは、シリンダブロック１０の主軸受（図示省略）に回転自在に支持されている。クランクピン部１８Ｂは、ロアリンク１６Ａの連結孔に挿入されている。これにより、ロアリンク１６Ａがクランクピン部１８Ｂに回転自在に連結される。また、クランクピン部１８Ｂは、ジャーナル部１８Ａから所定量偏心している。シリンダブロック１０の下部には、コントロールシャフト３２が回転可能に支持されている。コントロールシャフト３２は、その回転中心から偏心している偏心カム部３２Ａを有する。このコントロールシャフト３２とロアリンク１６Ａの他端とは、コントロールリンク３４を介して連結されている。コントロールリンク３４は、上端側が第２の連結ピン３６によりロアリンク１６Ａの他端に回動可能に連結され、下端側がコントロールシャフト３２を介してシリンダブロック１０の下部に回動可能に連結されている。より詳細には、コントロールリンク３４の下端側は、偏心カム部３２Ａに回転可能に嵌合している。
【００１５】
このような複リンク機構を用いたＶＣＲ機構２６では、コントロールシャフト３２の回動位置が電動アクチュエータ３８によって制御される。電動アクチュエータ３８は、詳細を後述するモータと、減速機３８Ａと、出力軸３８Ｂと、を含む。モータの回転出力は、まず、減速機３８Ａによって減速されて出力軸３８Ｂに伝達される。回転出力は、出力軸３８Ｂに伝達された後、出力軸３８Ｂに形成されたギア（例えば、ウォームギア）３８Ｂ１とコントロールシャフト３２に形成されたギア（例えば、ウォームホイール）３２Ｂとの噛合によって、コントロールシャフト３２に伝達される。出力軸３８Ｂの回転角度（実際の角度）βは、例えば、出力軸３８Ｂにロータが取り付けられたレゾルバなどの回転角度センサ４０によって検出される。回転角度センサ４０は、実際の角度βに対応した実角度信号を出力する。
【００１６】
そして、ＶＣＲ機構２６では、電動アクチュエータ３８の出力軸３８Ｂを正転又は逆転させることでコントロールシャフト３２が回動すると、偏心カム部３２Ａの中心位置が変化する。つまり、シリンダブロック１０に対する偏心カム部３２Ａの相対位置が変化する。これにより、コントロールリンク３４の下端の揺動支持位置が変化すると、ピストン上死点（ＴＤＣ）におけるピストン１２の位置が高くなったり低くなったりして、燃焼室Ｓの容積が増減する。したがって、エンジン１の圧縮比が低圧縮比又は高圧縮比に変更される。すなわち、エンジン１の圧縮比は、出力軸３８Ｂの回転角度に応じて変化する。
【００１７】
ＶＣＲ機構２６には、図２に示すように、コントロールシャフト３２が通常の制御範囲を超えて回動しようとするときに、通常の制御範囲以上の回動を規制するストッパ機構４２が取り付けられている。ストッパ機構４２は、コントロールシャフト３２に要の部分が固定された第１の部材４２Ａと、シリンダブロック１０に固定された板形状の第２の部材４２Ｂとを有する。
【００１８】
第１の部材４２Ａは、コントロールシャフト３２と一体回転する。第２の部材４２Ｂは、通常の制御範囲である最高圧縮比（又は最低圧縮比）を超えてコントロールシャフト３２が回動したときに、第１の部材４２Ａの中心角を規定する２辺の一方に当接する。これにより、コントロールシャフト３２の変位が規制される。ここで、ストッパ機構４２は、コントロールシャフト３２が通常の制御範囲を超えようとするときに機能する。そのため、通常制御では、第１の部材４２Ａが第２の部材４２Ｂに当接しないので、例えば、異音発生などを抑制することができる。
【００１９】
エンジン１の燃焼制御は、マイクロコンピュータを内蔵したエンジンコントローラ４４が、燃料噴射装置２２の噴射量及び噴射時期、並びに、点火装置２４の点火時期などを電子制御することで行われる。エンジンコントローラ４４には、例えば、車載ネットワークの一例であるＣＡＮ（Controller Area Network）を介して、ＶＣＲ機構２６を電子制御するＶＣＲコントローラ４６が接続されている。したがって、エンジンコントローラ４４とＶＣＲコントローラ４６との間では、ＣＡＮを介して任意のデータを送受信できる。尚、車載ネットワークとしては、ＣＡＮに限らず、ＦｌｅｘＲａｙ（登録商標）などの公知のネットワークを使用することができる。
【００２０】
エンジンコントローラ４４には、例えば、図示省略の入出力ポート又は入出力回路を介して、回転速度センサ４８及び負荷センサ５０の各出力信号が入力される。回転速度センサ４８は、エンジン１の回転速度Ｎｅを検出する。負荷センサ５０は、エンジン１の負荷Ｑを検出する。ここで、エンジン１の負荷Ｑとしては、例えば、吸気負圧、吸気流量、過給圧力、アクセル開度、スロットル開度など、トルクと密接に関連する状態量を使用することができる。
【００２１】
エンジンコントローラ４４は、例えば、回転速度及び負荷に適合した目標値が設定されたマップを参照し、回転速度Ｎｅ及び負荷Ｑに応じた目標圧縮比を求める。また、エンジンコントローラ４４は、求めた目標圧縮比に応じた出力軸３８Ｂの回転角度（目標角度）βｔを演算する。そして、エンジンコントローラ４４は、ＣＡＮを介して、目標角度βｔに対応する目標角度信号をＶＣＲコントローラ４６に出力する。
【００２２】
ＶＣＲコントローラ４６は、エンジンコントローラ４４から出力された目標角度信号、回転角度センサ４０から出力された実角度信号に基づいて、電動アクチュエータ３８のモータの駆動を制御する。したがって、ＶＣＲコントローラ４６がモータ制御装置の一例として挙げられる。モータの駆動が制御されることにより、出力軸３８Ｂの正逆回転駆動が制御され、エンジン１の圧縮比が変更される。
【００２３】
図３は、電動アクチュエータ３８のモータ及びＶＣＲコントローラ４６の内部構成を示す構成図である。電動アクチュエータ３８のモータの一例としては、３相ブラシレスモータ６０などが挙げられる。３相ブラシレスモータ６０（以下、単に「モータ６０」という）は、Ｕ相コイル６０ｕ、Ｖ相コイル６０ｖ及びＷ相コイル６０ｗがスター結線された３相コイルを巻き回してなる略円筒状のステータ（図示省略）と、このステータの中央部に形成されている空間においてステータの軸線を中心として回転可能に配置されたロータ（永久磁石回転子）６０Ｒと、を備えている。
【００２４】
モータ６０には、例えば、ロータ６０Ｒの回転に伴う磁界変化を検出し、ロータ６０Ｒの回転角度θに応じた磁界検出信号を出力するホール素子又はエンコーダなどのロータ角度センサ６０Ｓが内蔵されている。但し、これに限るものではなく、ロータ角度センサ６０Ｓは、例えば、ロータ６０Ｒの回転角度θに応じた信号を検出するレゾルバであってもよい。
【００２５】
ＶＣＲコントローラ４６は、インバータ７０及び制御器８０を有する。インバータ７０は、車載バッテリＢの直流（電圧）を交流（電圧）に変換して当該交流電力をモータ６０（その３相コイル）に供給することでモータ６０を駆動する電力変換器である。
【００２６】
インバータ７０は、スイッチング素子７０Ａ、７０Ｂを直列接続したＵ相アームと、スイッチング素子７０Ｃ、７０Ｄを直列接続したＶ相アームと、スイッチング素子７０Ｅ、７０Ｆを直列接続したＷ相アームと、を有する。これらＵ、Ｖ、Ｗ相アームは、車載バッテリＢの正極側の母線と車載バッテリＢの負極側の母線との間において、それぞれ並列に接続されている。Ｕ、Ｖ、Ｗ相アームの２つのスイッチング素子間がモータ６０における対応相のコイルに接続されていることにより、３相ブリッジ回路が構成されている。
【００２７】
図３では、スイッチング素子７０Ａ〜７０Ｆをダイオードが逆並列に接続されたＩＧＢＴとして示している。但し、これに限るものではなく、スイッチング素子７０Ａ〜７０Ｆは、ダイオードが逆並列に接続されたＦＥＴなど、他の電力制御用の半導体素子であってもよい。スイッチング素子７０Ａ〜７０Ｆの制御端子（例えば、ゲート端子）は、制御器８０の出力ポートに接続されている。
【００２８】
Ｕ、Ｖ、Ｗ相アームには、例えば、シャント抵抗により各相電流Ｉｕ、Ｉｖ、Ｉｗを検出するための電流検出手段（Ｕ相電流検出部７２ｕ、Ｖ相電流検出部７２ｖ、Ｗ相電流検出部７２ｗ）が設けられている。これら電流検出手段７２ｕ、７２ｖ、７２ｗは、例えば、各シャント抵抗の両端電位差をオペアアンプなどによって検出し、各シャント抵抗における両端電位差Ｖｉｕ、Ｖｉｖ、Ｖｉｗに対応した電位差信号を制御器８０に出力する。
【００２９】
制御器８０は、プロセッサ８０Ａと、不揮発性メモリ８０Ｂと、揮発性メモリ８０Ｃと、入出力回路８０Ｄと、通信回路８０Ｅと、これらを相互に接続するバス８０Ｆと、を含むマイクロコンピュータを備えている。
【００３０】
プロセッサ８０Ａは、ソフトウエアプログラムに記述された命令セットを実行することで各種制御プログラムを実行するハードウエアであって、例えば、ＣＰＵ（Central Processing Unit）などからなる。不揮発性メモリ８０Ｂは、制御プログラムなどが格納されると共に各種データを保存可能な半導体メモリであって、例えば、ＥＥＰＲＯＭ（Electrical Erasable Programmable Read Only Memory）及びフラッシュＲＯＭ（Read Only Memory）を含む。揮発性メモリ８０Ｃは、一時的な記憶領域となる半導体メモリであって、例えば、ＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）などからなる。
【００３１】
入出力回路８０Ｄは、各種センサなどからアナログ信号又はデジタル信号を読み込むと共にアクチュエータなどにアナログ又はデジタルの駆動信号を出力するデバイスであって、例えば、Ａ／Ｄコンバータ、Ｄ／Ｄコンバータなどからなる。通信回路８０Ｅは、ＣＡＮなどのネットワークを介して、他の制御器及び車載機器（図示省略）などと通信するためのデバイスであって、例えば、ＣＡＮトランシーバなどからなる。
【００３２】
制御器８０のプロセッサ８０Ａは、エンジンコントローラ４４から出力された目標角度信号、及び、回転角度センサ４０から出力された実角度信号に加えて、電流検出手段から出力された電位差信号と、ロータ角度センサ６０Ｓから出力された磁界検出信号とに基づいて所定の制御信号を生成する。この制御信号は、スイッチング素子７０Ａ〜７０Ｆの各制御端子に出力され、スイッチング素子７０Ａ〜７０Ｆのオン・オフ状態の切り換えが制御される。これにより、電動アクチュエータ３８の出力軸３８Ｂが回転し、ピストン１２の上死点位置が変更される。したがって、エンジン１の圧縮比が、低圧縮比化される方向又は高圧縮比化される方向に変更される。
【００３３】
制御器８０は、図４に示すように、機能ブロックとして、回転角度演算部１００、回転速度演算部２００、相電流検出部３００、３相−２軸変換部４００、目標電流設定部５００、ベクトル制御部６００、２軸−３相変換部７００及び信号生成部８００を有する。
【００３４】
回転角度演算部１００は、ロータ角度センサ６０Ｓから出力された磁界検出信号に基づいて、ロータ６０Ｒの回転角度θを演算する。
【００３５】
回転速度演算部２００は、回転角度演算部１００が演算した回転角度θの時間変化からモータ６０の角速度（実際の回転速度）ωｒを演算することで検出する。尚、ωｒが負の値の場合、圧縮比が高くなる方向にモータ６０が回転しているものとする一方、ωｒが正の値である場合、圧縮比が低くなる方向にモータ６０が回転しているものとする。
【００３６】
相電流検出部３００は、Ｕ、Ｖ、Ｗ相電流検出部７２ｕ、７２ｖ、７２ｗから出力された電位差信号をそれぞれＡ／Ｄ（Analog to Digital）変換し、変換後の値に基づいて各相の相電流Ｉｕ、Ｉｖ、Ｉｗを検出する。
【００３７】
３相−２軸変換部４００は、回転角度θを用いて相電流検出値Ｉｕ、Ｉｖ、Ｉｗをｄｑ回転座標におけるｄ軸電流検出値Ｉｄ及びｑ軸電流検出値Ｉｑに変換する。ｄｑ回転座標は、モータ６０のロータ６０Ｒ（永久磁石回転子）に同期して回転する界磁方向をｄ軸とし、このｄ軸に直交するトルク生成方向をｑ軸とした回転座標である。
【００３８】
目標電流設定部５００は、エンジンコントローラ４４から出力された目標角度信号（目標角度βｔ）、回転角度センサ４０から出力された実角度信号（実際の角度β）、回転速度演算部２００が検出した角速度検出値ωｒ及び３相−２軸変換部４００で得られるｑ軸電流検出値Ｉｑに基づいて、目標電流値である第１のｄ軸電流指令値Ｉｄ＊及び第１のｑ軸電流指令値Ｉｑ＊を設定する。
【００３９】
より詳細には、目標電流設定部５００は、まず、目標角度βｔと実際の角度βとの角度偏差を演算する。そして、目標電流設定部５００は、例えば、演算した角度偏差に基づく比例積分制御（ＰＩ制御）などのフィードバック制御処理を実行する。これにより、実際の角度βが目標角度βｔに近付くようにモータ６０の駆動を制御するための指令トルクが演算され、この指令トルクに応じた第１のｑ軸電流指令値Ｉｑ＊が演算される。尚、角度偏差が負の値であることは、βをβｔに近付けるべく圧縮比が高くなる方向にモータ６０を駆動させる必要があることを意味するものとする。また、角度偏差が正の値であることは、βをβｔに近付けるべく圧縮比が低くなる方向にモータ６０を駆動させる必要があることを意味するものとする。
【００４０】
一方、目標電流設定部５００は、第１のｄ軸電流指令値Ｉｄ＊を負の値（例えば、−２０Ａ）又は０Ａに設定する。Ｉｄ＊が負の値に設定されるのは、ＶＣＲ機構２６を用いてピストン１２の上死点位置を圧縮比が低くなる方向に変更するときである。すなわち、エンジン１の燃焼圧力によりモータ６０の回転方向と同一方向にトルクが加わるときに、Ｉｄ＊が負の値に設定される。Ｉｄ＊を負の値に設定して、モータ６０の界磁磁束を意図的に弱めるように３相コイル６０ｕ、６０ｖ、６０ｗに電流を流す、いわゆる弱め磁束制御が実行される。これにより、ピストン１２の上死点位置を圧縮比が高くなる方向に変更する場合と比較してモータ６０の回転速度が上昇しやすくなる。したがって、弱め磁束制御を実行することでＶＣＲ機構２６の応答性を向上させることができる。
【００４１】
第１のｄ軸電流指令値Ｉｄ＊が０Ａに設定されるのは、ピストン１２の上死点位置を圧縮比が高くなる方向に変更するとき、すなわち、エンジン１の燃焼圧力によりモータ６０の回転方向と反対方向にトルクが加わるときである。このときに、弱め磁束制御を実行すると、上述したモータ６０の回転方向と反対方向のトルクに加えて、界磁磁束の減少によるモータ６０の発生トルクが低下する。そのため、ＶＣＲ機構２６の応答性が低下してしまうおそれがある。したがって、ピストン１２の上死点位置を圧縮比が高くなる方向に変更するときは、Ｉｄ＊は０Ａに設定され、弱め磁束制御が実行されない。これにより、ピストン１２の上死点位置を圧縮比が高くなる方向に変更する際のＶＣＲ機構２６の応答性の低下を抑制している。このように、目標電流設定部５００は、モータ６０の駆動を制御するための電流指令値（第１のｄ、ｑ軸電圧指令値Ｉｄ＊、Ｉｄ＊）を演算する。
【００４２】
ベクトル制御部６００は、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑと、第１のｄ、ｑ軸電流指令値Ｉｄ＊、Ｉｑ＊と、角速度検出値ωｒとに基づいて所定周期毎にｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑを演算するベクトル制御を実行する。ベクトル制御部６００の詳細については後述する。
【００４３】
２軸−３相変換部７００は、回転角度θを用いてベクトル制御部６００で演算されたｄ、ｑ軸電圧指令値Ｖｄ、ＶｑをＵ相電圧指令値Ｖｕ、Ｖ相電圧指令値Ｖｖ及びＷ相電圧指令値Ｖｗの３相電圧指令値に変換する。
【００４４】
信号生成部８００は、３相電圧指令値Ｖｕ、Ｖｖ、Ｖｗと、例えば、三角波キャリアであるキャリア波（搬送波）と、に基づいてスイッチング素子７０Ａ〜７０Ｆに出力するための信号を生成する。より詳細には、信号生成部８００は、例えば、スイッチング素子７０Ａ〜７０Ｆを駆動するためのＰＷＭ（Pulse Width Modulation）パルス幅を、Ｖｕ、Ｖｖ、Ｖｗに基づいて生成される変調波（例えば、正弦波）と搬送波との比較に基づいて決定することで、上記信号としてのＰＷＭパルスを生成する。そして、信号生成部８００は、生成したＰＷＭパルスをスイッチング素子７０Ａ〜７０Ｆに出力する。
【００４５】
以下、ベクトル制御部６００の詳細について説明する。図５は、ベクトル制御部６００の内部構成を示す構成図である。
【００４６】
ベクトル制御部６００は、ｄ（ｑ）軸電流偏差演算部６０２（６０４）、第２のｄ（ｑ）軸電流演算部６０６（６０８）、ｄ（ｑ）軸コイル分電圧演算部６１０（６１２）、非干渉制御部６１４及びｄ（ｑ）軸電圧演算部６１６（６１８）を含む。
【００４７】
ｄ（ｑ）軸電流偏差演算部６０２（６０４）は、ｄ（ｑ）軸電流検出値Ｉｄ（Ｉｑ）と第１のｄ（ｑ）軸電流指令値Ｉｄ＊（Ｉｑ＊）とのｄ（ｑ）軸電流偏差ΔＩｄ（ΔＩｑ）を演算し、ΔＩｄ（ΔＩｑ）を第２のｄ（ｑ）軸電流演算部６０６（６０８）に出力する。
【００４８】
第２のｄ（ｑ）軸電流演算部６０６（６０８）は、例えば、ｄ（ｑ）軸電流偏差ΔＩｄ（ΔＩｑ）に対するＰＩ（比例積分）制御を実行して第２のｄ（ｑ）軸電流指令値を演算する。第２のｄ（ｑ）軸電流指令値は、Ｐ（比例）制御により演算されるｄ（ｑ）軸の比例値Ｘｄ（Ｘｑ）と、Ｉ（積分）制御により演算されるｄ（ｑ）軸の積分値Ｉｄ＊＊（Ｉｑ＊＊）とを含む。
【００４９】
比例制御では、ｄ（ｑ）軸電流偏差ΔＩｄ（ΔＩｑ）に、電流制御のｄ（ｑ）軸制御応答角周波数ωｃｄＡＣＲ（ωｃｑＡＣＲ）を乗じることでｄ（ｑ）軸の比例値Ｘｄ＝ΔＩｄωｃｄＡＣＲ（Ｘｑ＝ΔＩｑωｃｑＡＣＲ）が演算される。積分制御では、ΔＩｄ（ΔＩｑ）に積分ゲインとしてのｄ（ｑ）軸制御応答角周波数ωｃｄＡＣＲ（ωｃｑＡＣＲ）を乗じて積分することで積分値Ｉｄ＊＊（Ｉｑ＊＊）が演算される。ここで、積分は、所定時間間隔における偏差を累積するものといえる。したがって、積分制御により、ΔＩｄ（ΔＩｑ）を０にするようなＩｄ＊＊（Ｉｑ＊＊）が演算される。すなわち、Ｉｄ＊＊（Ｉｑ＊＊）は、ｄ（ｑ）軸電流検出値（ｄ、ｑ軸実電流）Ｉｄ（Ｉｑ）を第１のｄ（ｑ）軸電流指令値Ｉｄ＊（Ｉｑ＊）に近付けるためのものである。
【００５０】
そして、第２のｄ（ｑ）軸電流演算部６０６（６０８）は、ｄ（ｑ）軸積分値Ｉｄ＊＊（Ｉｑ＊＊）をｄ（ｑ）軸コイル分電圧演算部６１０（６１２）及び非干渉制御部６１４に出力し、ｄ（ｑ）軸比例値Ｘｄ（Ｘｑ）をｄ（ｑ）軸コイル分電圧演算部６１０（６１２）に出力する。また、第２のｄ（ｑ）軸電流演算部６０６（６０８）は、ｄ（ｑ）軸積分値Ｉｄ＊＊（Ｉｑ＊＊）を第２のｑ（ｄ）軸電流演算部６０８（６０６）に出力するようになっている。
【００５１】
ｄ（ｑ）軸コイル分電圧演算部６１０（６１２）は、ｄ（ｑ）軸積分値Ｉｄ＊＊（Ｉｑ＊＊）にモータ６０の電動機定数である抵抗設定値Ｒを乗算してＲＩｄ＊＊（ＲＩｑ＊＊）を演算する。また、ｄ（ｑ）軸コイル分電圧演算部６１０（６１２）は、ｄ（ｑ）軸比例値Ｘｄ（Ｘｑ）にモータ６０の電動機定数であるｄ（ｑ）軸インダクタンスの設定値Ｌｄ（Ｌｑ）を乗算してＸｄＬｄ＝ΔＩｄωｃｄＡＣＲＬｄ（ＸｑＬｑ＝ΔＩｑωｃｑＡＣＲＬｑ）を演算する。ここで、ＸｄＬｄ（ＸｑＬｑ）はΔＩｄωｃｄＡＣＲＬｄ／Ｒ（ΔＩｑωｃｑＡＣＲＬｑ／Ｒ）にＲを乗じて得られた値に相当する。したがって、ωｃｄＡＣＲＬｄ／Ｒ（ωｃｑＡＣＲＬｑ／Ｒ）という項は比例制御の比例ゲインと等価となっている。そして、ｄ（ｑ）軸コイル分電圧演算部６１０（６１２）は、ＲＩｄ＊＊（ＲＩｑ＊＊）にＸｄＬｄ（ＸｑＬｑ）を加算した値ＲＩｄ＊＊＋ＸｄＬｄ（ＲＩｑ＊＊＋ＸｑＬｑ）をｄ（ｑ）軸電圧演算部６１６（６１８）に出力する。
【００５２】
非干渉制御部６１４は、非干渉項を演算する。モータ６０が回転すると誘起電圧が発生し、ｄ軸電圧がｑ軸電流による影響を受け、ｑ軸電圧がｄ軸電流及び界磁磁束による影響を受けるような相互干渉が生じる。非干渉項は、このような相互干渉を予め打ち消すためのものである。
【００５３】
より詳細には、非干渉制御部６１４は、ｑ軸積分値Ｉｑ＊＊に角速度検出値ωｒ及びｑ軸インダクタンスの設定値Ｌｑを乗じることで第１の非干渉項Ｉｑ＊＊ωｒＬｑを演算する。また、非干渉制御部６１４は、ｄ軸積分値Ｉｄ＊＊にωｒ及びｄ軸インダクタンスの設定値Ｌｄを乗じて得た値に、モータ６０の電動機定数である誘起電圧定数Ｋｅをωｒに乗じて得た値を加算することで、第２の非干渉項Ｉｄ＊＊ωｒＬｄ＋Ｋｅωｒを演算する。そして、非干渉制御部６１４は、第１の非干渉項Ｉｑ＊＊ωｒＬｑをｄ軸電圧演算部６１６に出力し、第２の非干渉項Ｉｄ＊＊ωｒＬｄ＋Ｋｅωｒをｑ軸電圧演算部６１８に出力する。
【００５４】
ｄ軸電圧演算部６１６は、ＲＩｄ＊＊＋ＸｄＬｄから第１の非干渉項Ｉｑ＊＊ωｒＬｑを減算することでｄ軸電圧Ｖｄ（＝ＲＩｄ＊＊＋ＸｄＬｄ−Ｉｑ＊＊ωｒＬｑ）を演算する。
【００５５】
ｑ軸電圧演算部６１８は、ＲＩｑ＊＊＋ＸｑＬｑに第２の非干渉項Ｉｄ＊＊ωｒＬｄ＋Ｋｅωｒを加算することでｑ軸電圧Ｖｑ（＝ＲＩｑ＊＊＋ＸｑＬｑ＋Ｉｄ＊＊ωｒＬｄ＋Ｋｅωｒ）を演算する。
【００５６】
以下、ｄ、ｑ軸電圧演算部６１６、６１８が演算したｄ、ｑ軸電圧Ｖｄ、Ｖｑをｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑという。尚、ｄ、ｑ軸電圧指令値の今回値をＶｄ，ｔ、Ｖｑ，ｔとし、ｄ、ｑ軸電流偏差の今回値をΔＩｄ，ｔ、ΔＩｑ，ｔとし、ｄ、ｑ軸積分値の今回値をＩｄ，ｔ＊＊、Ｉｑ，ｔ＊＊とし、角速度検出値の今回値をωｒ，ｔとすると、Ｖｄ，ｔ、Ｖｑ，ｔは、それぞれ、以下の（数１）、（数２）で表される。
【００５７】
【数１】
2020156243.tif 000003
【００５８】
【数２】
2020156243.tif 000004
【００５９】
そして、ｄ（ｑ）軸電圧演算部６１６（６１８）は、ｄ（ｑ）軸電圧演算値Ｖｄ（Ｖｑ）を２軸−３相変換部７００に出力する。
【００６０】
このように、ベクトル制御部６００からはｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑが出力される。そして、このＶｄ、Ｖｑが２軸−３相変換部７００により３相電圧指令値Ｖｕ、Ｖｖ、Ｖｗに変換されるので、信号生成部８００は、Ｖｄ、Ｖｑに応じたＰＷＭパルスを生成することになる。したがって、制御器８０は、ｄ、ｑ軸の電流偏差に対する積分制御を含むフィードバック制御によりｄ、ｑ軸の電流検出値をｄ、ｑ軸の電流指令値に近付けるようなＶｄ、Ｖｑを演算する。そして、制御器８０は、演算したＶｄ、Ｖｑに基づいてインバータ７０（その出力電圧）を制御することでモータ６０の駆動を制御する。
【００６１】
ここで、上述のベクトル制御部６００では、ｄ、ｑ軸電流検出値をｄ、ｑ軸電流指令値とのｄ、ｑ軸電流偏差として第２のｄ、ｑ軸電流演算部６０６、６０８に通過させるフィードバック経路が形成されている。これに対し、従来において、ｄ、ｑ軸電流検出値をｄ、ｑ軸電流指令値とのｄ、ｑ軸電流偏差として第２のｄ、ｑ軸電流演算部に入力すると共にｄ、ｑ軸電流検出値を非干渉制御部に直接入力するベクトル制御部が知られている。つまり、このような従来のベクトル制御部には、ｄ、ｑ軸電流検出値を非干渉制御部に直接入力するフィードバック経路が存在している。一方、上述のベクトル制御部６００では、ｄ、ｑ軸電流検出値を非干渉制御部に直接入力するフィードバック経路を省略することで、特に、モータ回転数が高回転領域にあるときの電流制御の安定性を高めている。ｄ、ｑ軸電流検出値を非干渉制御部に直接入力するフィードバック経路を省略したベクトル制御部６００は、カスケード型ベクトル制御部として知られている。例えば、コスト削減のために制御器８０を構成するマイクロコンピュータを演算周期の長いものに変更したとしても、このカスケード型ベクトル制御部を採用することでｄ、ｑ軸電流検出値の振動が抑制されるなど安定した電流制御を行うことが可能である。
【００６２】
ところで、インバータ７０の出力電圧は、車載バッテリＢの直流電圧（以下、単に「電源電圧Ｅｄ」という。）以下に制限される。信号生成部８００が変調波として正弦波を用いた場合のＰＷＭ制御、すなわち、正弦波ＰＷＭ制御では、３相電圧指令値の絶対値が取り得る最大値は直流電圧Ｅｄの１／２倍（Ｅｄ／２）となる。したがって、正弦波ＰＷＭ制御では、２軸−３相変換部７００においてＥｄ／２を超えるような３相電圧指令値Ｖｕ、Ｖｖ、Ｖｗが演算されると、インバータ７０の出力電圧が電源電圧Ｅｄに制限される。これは、ベクトル制御部６００において、＋Ｅｄ／２を超えるか又は−Ｅｄ／２未満となるようなｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）が演算されたことに相当する。すなわち、正弦波ＰＷＭ制御では、ベクトル制御部６００が演算したＶｄ（Ｖｑ）の絶対値がＥｄ／２を超えたとき、インバータ７０の出力電圧が飽和する電圧飽和状態が生じる。したがって、電圧飽和状態が生じている間、モータ６０には＋Ｅｄ／２又は−Ｅｄ／２と略等しいｄ軸電圧又はｑ軸電圧が印加されることになる。
【００６３】
以下、制御器８０が正弦波ＰＷＭ制御を実行する場合において、上述のＥｄ／２をｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔという。すなわち、＋Ｅｄ／２をｄ、ｑ軸電圧上限値Ｖｄｍａｘ、Ｖｑｍａｘといい、−Ｅｄ／２をｄ、ｑ軸電圧下限値Ｖｄｍｉｎ、Ｖｑｍｉｎという。また、モータ６０に印加されることになるｄ、ｑ軸電圧を、ｄ、ｑ軸印加電圧Ｖｄ＊、Ｖｑ＊という。
【００６４】
上述の問題、すなわち、従来の制御器による電圧飽和状態で生じる問題について、図６、７を参照して説明する。尚、図６、７は、例えば、ｑ軸電圧上限値Ｖｑｍａｘを超えるｑ軸電圧指令値Ｖｑが演算されて電圧飽和状態が生じた場合を示している。但し、ｑ軸電圧下限値Ｖｑｍｉｎ未満のＶｑが演算された場合やｄ軸電圧上限値Ｖｄｍａｘを超えるｄ軸電圧指令値Ｖｄ又はｄ軸電圧下限値Ｖｄｍｉｎ未満のｄ軸電圧指令値Ｖｄが演算された場合も同様である。
【００６５】
図６では、時刻ｔ１においてｑ軸印加電圧Ｖｑ＊がｑ軸電圧上限値Ｖｑｍａｘで飽和する電圧飽和状態となっている。すなわち、時刻ｔ１では、Ｖｑｍａｘを超えるｑ軸電圧指令値Ｖｑが演算されている（図示省略）。したがって、時刻ｔ１では、演算されたＶｑとは異なるＶｑｍａｘによるモータ６０の駆動制御が開始される。このため、例えば、ｑ軸電流検出値Ｉｑが第１のｑ軸電流指令値Ｉｑ＊を下回るなど（図６を参照）、ＩｑがＩｑ＊に追従せず、ｑ軸電流偏差ΔＩｑが大きくなり始める。
【００６６】
一般に、積分制御が実行され続けると、ｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊は、ｄ、ｑ軸電流偏差ΔＩｄ、ΔＩｑが０にならない限り、これらΔＩｄ、ΔＩｑを０にしようとして増大する方向又は減少する方向に変化し続ける。したがって、図６に示すようにΔＩｑが大きくなり始めると、時刻ｔ１よりも後にｑ軸電流検出値Ｉｑを第１のｑ軸電流指令値Ｉｑ＊に近付けるための積分制御が実行され、Ｉｑ＊＊が増大し始める（図７を参照）。（数２）から明らかなように、ｑ軸電圧指令値Ｖｑは、ΔＩｑ及びＩｑ＊＊が増大するほど大きくなる。すなわち、Ｉｑを大きくしてＩｑをＩｑ＊に近付けるようなＶｑが演算される。より詳細には、時刻ｔ１よりも後に演算されるＶｑは、電圧飽和状態が生じた時刻ｔ１において演算されたｑ軸電圧指令値Ｖｑよりも大きく、当然、Ｖｑｍａｘよりも大きい。しかしながら、Ｖｑｍａｘよりも大きいｑ軸電圧はモータ６０に印加されないため、時刻ｔ１よりも後のｑ軸印加電圧Ｖｑ＊はＶｑｍａｘに飽和し続けて変化しない。すなわち、時刻ｔ１よりも後では、増大したＩｑ＊＊がＶｑ＊に反映されないので、ΔＩｑが０にならずＩｑがＩｑ＊に到達できない、いわゆるワインドアップ現象が発生する。
【００６７】
また、電圧飽和状態では、時刻ｔ１から所定時間経過後にモータ６０の回転数も所定の回転数（例えば、最大回転数）に制限される。要するに、図６に示す電圧飽和状態では、モータ６０の最大回転数に対して第１のｑ軸電流指令値Ｉｑ＊が大き過ぎるため、制御器８０はモータ６０の最大回転数以上を要求するようなｑ軸電圧指令値Ｖｑを演算し続けてしまう。
【００６８】
上述したように、ワインドアップ現象の発生中、ｑ軸電流偏差ΔＩｑを０にするための積分制御を実行することで得られたｑ軸電圧指令値Ｖｑが反映されず、ｑ軸印加電圧Ｖｑ＊は変化しない。そのため、ワインドアップ現象の発生中、積分制御によりｑ軸積分値Ｉｑ＊＊が増大し続け、ΔＩｑが過剰に累積されてしまう。一方、図６に示すように、ｄ軸印加電圧Ｖｄ＊はｄ軸電圧制限値Ｖｄｌｍｔで飽和していない。しかしながら、（数１）から明らかなように、ｄ軸電圧指令値ＶｄはＩｑ＊＊の影響を受けるので、時刻ｔ１以後、Ｖｄ＊は、Ｉｑ＊＊が増大するほど小さくなる。そのため、ｄ軸電流検出値Ｉｄが第１のｄ軸電流指令値Ｉｄ＊を下回り始めるので、ｄ軸電流偏差ΔＩｄが増大する。したがって、ｄ軸積分値Ｉｄ＊＊も増大してしまう（図７を参照）。
【００６９】
積分制御によりｄ、ｑ軸電流偏差ΔＩｄ、ΔＩｑが過剰に累積されてしまうと、以下の問題が生じるおそれがあった。例えば、図６では、モータ６０をそれまでの回転方向とは逆の回転方向に運転すべく、時刻ｔ２において第１のｑ軸電流指令値Ｉｑ＊が変更されている（指令変更）。この場合、指令変更後の第１のｄ、ｑ軸電流指令値Ｉｄ＊、Ｉｑ＊に対するｄ、ｑ軸電流検出値Ｉｄ、Ｉｑの収束性（応答性）が悪化するなど、過渡状態における電流制御の安定性が悪化するおそれがあった。その結果、モータ６０のトルクを制御できないのでモータ６０の回転数を望み通りに下げることができなくなる。したがって、ＶＣＲ機構２６の目標圧縮比に対してオーバーシュートするなど、ストッパ機構４２において第１の部材４２Ａが第２の部材４２Ｂに不要に衝突してしまうおそれがあった。
【００７０】
このような過渡状態における電流制御の安定性の悪化は、ワインドアップ現象の発生中にｄ、ｑ軸印加電圧Ｖｄ＊、Ｖｑ＊に影響を与えない積分制御が実行され続けていることが原因となって生じる。より詳細には、指令変更後はワインドアップ現象が終了し、ｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑを反映したモータ６０の駆動制御が可能となる。しかしながら、ワインドアップ現象の発生中に過剰に変化したｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊の影響を指令変更後に取り除くのに時間がかかってしまう。例えば、図７では、時刻ｔ１から時刻ｔ２までの間に過剰に増大したＩｄ＊＊、Ｉｑ＊＊を減少させるのに時間がかかる。そのため、時刻ｔ２以後、過剰に増大したＩｄ＊＊、Ｉｑ＊＊を減少させるまでの間にＶｄ、Ｖｑに悪影響が及び、Ｖｄ＊、Ｖｑ＊が不安定になる。したがって、ｄ、ｑ軸電流偏差ΔＩｄ、ΔＩｑが０になるまでに時間がかかるので応答性が悪化するおそれがあった。
【００７１】
そこで、第１実施形態に係る制御器８０は、過渡状態における電流制御の安定性を向上させるべく、積分制御のｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊についての所定の範囲を設定する。そして、制御器８０は、Ｉｄ＊＊、Ｉｑ＊＊が所定の範囲外となったとき、これらＩｄ＊＊、Ｉｑ＊＊を所定の範囲内に制限する。要するに、Ｉｄ＊＊、Ｉｑ＊＊はワインドアップ現象の発生中に過剰に変化し得るので、これらＩｄ＊＊、Ｉｑ＊＊を所定の範囲内に制限することで過剰に変化しないようにする。そのために、第１実施形態による第２のｄ（ｑ）軸電流演算部６０６（６０８）は、Ｉｄ＊＊、Ｉｑ＊＊などを演算することに加えて上述の所定の範囲を規定する積分上下限値を演算するように構成されている。
【００７２】
より詳細には、第２のｄ（ｑ）軸電流演算部６０６（６０８）は、図８に示すように、積分演算部６０６Ａ（６０８Ａ）、Ｘｄ（Ｘｑ）演算部６０６Ｂ（６０８Ｂ）、制限値演算部６０６Ｃ（６０８Ｃ）及び積分制限部６０６Ｄ（６０８Ｄ）を有する。尚、第２のｄ軸電流演算部６０６と第２のｑ軸電流演算部６０８とは同一の構成を有しているため、以下では、主に、第２のｄ軸電流演算部６０６について説明する。
【００７３】
積分演算部６０６Ａは、図８において積分を意味する１／ｓという記号で表され、上述したように、ｄ軸電流偏差ΔＩｄに積分ゲイン（ωｃｄＡＣＲ）を乗じて積分する。積分演算部６０６Ａが演算したｄ軸積分値Ｉｄ＊＊は、積分制限部６０６Ｄに出力される。また、積分演算部６０６Ａは、演算したＩｄ＊＊を第１のｑ軸電流演算部６０８の制限値演算部６０８Ｃに出力する。
【００７４】
Ｘｄ演算部６０６Ｂは、上述したように、ｄ軸電流偏差ΔＩｄにｄ軸制御応答角周波数ωｃｄＡＣＲを乗じてｄ軸比例値Ｘｄ（＝ΔＩｄωｃｄＡＣＲ）を演算すると共にＸｄをｄ軸コイル分電圧演算部６１０及び制限値演算部６０６Ｃに出力する。
【００７５】
制限値演算部６０６Ｃは、ｄ軸比例値Ｘｄと、第２のｑ軸電流演算部６０８の積分演算部６０８Ａが演算したｑ軸積分値Ｉｑ＊＊と、角速度検出値ωｒと、を入力し、これらを記憶するようになっている。そして、制限値演算部６０６Ｃは、詳細を後述するように、所定の範囲を規定するｄ軸積分上下限値（上限値Ｉｄｍａｘ及び下限値Ｉｄｍｉｎ）を演算し、演算したＩｄｍａｘ、Ｉｄｍｉｎを積分制限部６０６Ｄに出力する。
【００７６】
積分制限部６０６Ｄは、ｄ軸積分値Ｉｄ＊＊、ｄ軸積分上限値Ｉｄｍａｘ及びｄ軸積分下限値Ｉｄｍｉｎを入力する。そして、積分制限部６０６Ｄは、入力したＩｄ＊＊とＩｄｍａｘ及びＩｄｍｉｎとを比較し、比較結果に基づいてｄ軸コイル分電圧演算部６１０及び非干渉制御部６１４への出力を決定する。より詳細には、Ｉｄ＊＊がＩｄｍａｘを超えているときは、Ｉｄｍａｘが出力される。また、Ｉｄ＊＊がＩｄｍｉｎ未満のときは、Ｉｄｍｉｎが出力される。
【００７７】
要するに、入力したｄ軸積分値Ｉｄ＊＊がｄ軸積分上限値Ｉｄｍａｘとｄ軸積分下限値Ｉｄｍｉｎとで規定される所定の範囲外（すなわち、Ｉｄ＊＊＞Ｉｄｍａｘ又はＩｄ＊＊＜Ｉｄｍｉｎ）となったとき、実際に出力されるｄ軸積分値がこの所定の範囲内に制限される。また、第２のｑ軸電流演算部６０８においても同様に、ｑ軸積分値Ｉｑ＊＊がｑ軸積分上限値Ｉｑｍａｘとｑ軸積分下限値Ｉｑｍｉｎとで規定される所定の範囲外となったとき、ｑ軸積分値が所定の範囲内に制限される。したがって、制限値演算部６０６Ｃ（６０８Ｃ）と積分制限部６０６Ｄ（６０８Ｄ）が協働することでｄ（ｑ）軸積分値Ｉｄ＊＊（Ｉｑ＊＊）が所定の範囲内に制限される。
【００７８】
一方、積分制限部６０６Ｄは、入力したｄ軸積分値Ｉｄ＊＊が所定の範囲内（すなわち、Ｉｄｍｉｎ≦Ｉｄ＊＊≦Ｉｄｍａｘ）であれば、ｄ軸コイル分電圧演算部６１０及び非干渉制御部６１４にｄ軸積分値Ｉｄ＊＊をそのまま出力する。
【００７９】
より詳細には、制限値演算部６０６Ｃは、ｄ軸電圧上限値Ｖｄｍａｘと、抵抗設定値Ｒと、ｄ、ｑ軸インダクタンスの設定値Ｌｄ、Ｌｑと、記憶しておいた入力値、すなわち、Ｘｄ（＝ΔＩｄωｃｄＡＣＲ）の前回値、ｑ軸積分値Ｉｑ＊＊の前回値及び角速度検出値ωｒの前回値と、を用いて、ｄ軸積分上限値Ｉｄｍａｘの今回値を演算する。より詳細には、ｄ軸積分上限値の今回値をＩｄｍａｘ，ｔとし、ｄ軸電流偏差の前回値をΔＩｄ，ｔ−１とし、ｑ軸積分値の前回値をＩｑ，ｔ−１＊＊とし、角速度検出値の前回値をωｒ，ｔ−１とすると、Ｉｄｍａｘ，ｔは以下の（数３）で表される。
【００８０】
【数３】
2020156243.tif 000005
【００８１】
（数３）で表されるように、ｄ軸積分上限値の今回値Ｉｄｍａｘ，ｔは、（数１）のＶｄ，ｔ、ΔＩｄ，ｔ、Ｉｑ，ｔ＊＊、ωｒ，ｔに、それぞれ、Ｖｄｍａｘ、ΔＩｄ，ｔ−１、Ｉｑ，ｔ−１＊＊、ωｒ，ｔ−１を代入して変形することで得られるｄ軸積分値を意味している。すなわち、ｄ軸積分値の今回値をＩｄ，ｔ＊＊とすると、Ｉｄｍａｘ，ｔは、このＩｄ，ｔ＊＊についての所定の範囲の上限値を規定している。
【００８２】
ｄ軸積分下限値の今回値Ｉｄｍｉｎ，ｔは、（数１）のＶｄ，ｔにｄ軸電圧下限値Ｖｄｍｉｎを代入すること以外は（数３）と同様であり、以下の（数４）で表される。したがって、Ｉｄｍｉｎ，ｔは、Ｉｄ，ｔ＊＊についての所定の範囲の下限値を規定している。
【００８３】
【数４】
2020156243.tif 000006
【００８４】
また、制限値演算部６０８Ｃは、ｑ軸電圧上限値Ｖｑｍａｘと、抵抗設定値Ｒと、ｄ、ｑ軸インダクタンスの設定値Ｌｄ、Ｌｑと、誘起電圧定数Ｋｅと、記憶しておいた入力値、すなわち、Ｘｑ（＝ΔＩｑωｃｑＡＣＲ）の前回値、ｄ軸積分値Ｉｄ＊＊の前回値及び角速度検出値ωｒの前回値と、を用いて、ｑ軸積分上限値Ｉｑｍａｘの今回値を演算する。より詳細には、ｑ軸積分上限値の今回値をＩｑｍａｘ，ｔとし、ｑ軸電流偏差の前回値をΔＩｑ，ｔ−１とし、ｄ軸積分値の前回値をＩｄ，ｔ−１＊＊とすると、Ｉｄｍａｘ，ｔは以下の（数５）で表される。
【００８５】
【数５】
2020156243.tif 000007
【００８６】
（数５）で表されるように、ｑ軸積分上限値の今回値Ｉｑｍａｘ，ｔは、（数２）のＶｑ，ｔ、ΔＩｑ，ｔ、Ｉｄ，ｔ＊＊、ωｒ，ｔに、それぞれ、Ｖｑｍａｘ、ΔＩｑ，ｔ−１、Ｉｄ，ｔ−１＊＊、ωｒ，ｔ−１を代入して変形することで得られるｑ軸積分値を意味している。すなわち、ｑ軸積分値の今回値をＩｑ，ｔ＊＊とすると、Ｉｑｍａｘ，ｔは、このＩｑ，ｔ＊＊についての所定の範囲の上限値を規定している。
【００８７】
ｑ軸積分下限値の今回値Ｉｑｍｉｎ，ｔは、（数２）のＶｑ，ｔにｑ軸電圧下限値Ｖｑｍｉｎを代入すること以外は（数５）と同様であり、以下の（数６）で表される。したがって、ｑ軸積分下限値の今回値Ｉｑｍｉｎ，ｔは、Ｉｑ，ｔ＊＊についての所定の範囲の下限値を規定している。
【００８８】
【数６】
2020156243.tif 000008
【００８９】
要するに、積分制限部６０６Ｄ（６０８Ｄ）は、所定の範囲を表す不等式Ｉｄｍｉｎ，ｔ≦Ｉｄ，ｔ＊＊≦Ｉｄｍａｘ，ｔ（Ｉｑｍｉｎ，ｔ≦Ｉｑ，ｔ＊＊≦Ｉｑｍａｘ，ｔ）を満たさないようなｄ（ｑ）軸電流指令値の今回値Ｉｄ，ｔ＊＊（Ｉｑ，ｔ＊＊）を入力したとき、上記不等式を満たすように制限したｄ（ｑ）軸積分値を実際に出力する。
尚、上記不等式は、それぞれ、以下の（数７）、（数８）で表される。
【００９０】
【数７】
2020156243.tif 000009
【００９１】
【数８】
2020156243.tif 000010
【００９２】
以上のように構成された制御器８０のプロセッサ８０Ａが実行するベクトル制御処理の一例について図９、１０を参照して説明する。ベクトル制御処理は、角速度検出値の今回値ωｒ，ｔ、第１のｄ、ｑ軸電流指令値の今回値Ｉｄ，ｔ＊、Ｉｑ，ｔ＊及びｄ、ｑ軸電流検出値の今回値Ｉｄ，ｔ、Ｉｑ，ｔを入力したことを契機として所定の周期毎に実行される。
【００９３】
ステップ１では、プロセッサ８０Ａは、Ｉｄ，ｔ＊、Ｉｑ，ｔ＊のそれぞれからＩｄ，ｔ、Ｉｑ，ｔを減算することでｄ、ｑ軸電流偏差の今回値ΔＩｄ，ｔ、ΔＩｑ，ｔを演算する。
【００９４】
ステップ２では、プロセッサ８０Ａは、ΔＩｄ，ｔ、ΔＩｑ，ｔと、ｄ、ｑ軸制御応答角周波数ωｃｄＡＣＲ、ωｃｑＡＣＲとに基づいてｄ、ｑ軸比例値Ｘｄ、Ｘｑの今回値（＝ΔＩｄ，ｔωｃｄＡＣＲ、ΔＩｑ，ｔωｃｑＡＣＲ）を演算する。また、プロセッサ８０Ａは、積分制御を実行してｄ、ｑ軸積分値の今回値Ｉｄ，ｔ＊＊、Ｉｑ，ｔ＊＊を演算する。
【００９５】
ステップ３では、プロセッサ８０Ａは、（数３）〜（数６）に従って、ｄ、ｑ軸積分上限値の今回値Ｉｄｍａｘ，ｔ、Ｉｑｍａｘ，ｔ及びｄ、ｑ軸積分下限値の今回値Ｉｄｍｉｎ，ｔ、Ｉｑｍｉｎ，ｔを演算する。Ｉｄｍａｘ，ｔ、Ｉｑｍａｘ，ｔ及びＩｄｍｉｎ，ｔ、Ｉｑｍｉｎ，ｔの演算に用いられるΔＩｄ，ｔ−１、ΔＩｑ，ｔ−１、Ｉｄ，ｔ−１＊＊、Ｉｑ，ｔ−１＊＊及びωｒ，ｔ−１は、それぞれ、上述したように、ｄ軸電流偏差、ｑ軸電流偏差、ｄ軸積分値、ｑ軸積分値及び角速度検出値の前回値であって、前回のベクトル制御処理においてｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑを演算する際に用いられた変数である。
【００９６】
ステップ４では、プロセッサ８０Ａは、図１０に示す積分値決定処理を実行する。
ステップ４００では、プロセッサ８０Ａは、ステップ２で演算したＩｄ，ｔ＊＊がステップ３で演算したＩｄｍａｘ，ｔを超えているか否かを判定する。そして、プロセッサ８０Ａは、Ｉｄ，ｔ＊＊がＩｄｍａｘ，ｔを超えていると判定すると、処理をステップ４０２に進める。
【００９７】
ステップ４０２では、プロセッサ８０Ａは、ｄ軸積分値をＩｄｍａｘ，ｔに決定し（Ｉｄ＊＊＝Ｉｄｍａｘ）、処理をステップ４１０に進める。
【００９８】
一方、ステップ４００において、プロセッサ８０Ａは、Ｉｄ，ｔ＊＊がＩｄｍａｘ，ｔ以下であると判定すると、処理をステップ４０４に進める。
【００９９】
ステップ４０４では、プロセッサ８０Ａは、ステップ２で演算したＩｄ，ｔ＊＊がステップ３で演算したＩｄｍｉｎ，ｔ未満であるか否かを判定する。そして、プロセッサ８０Ａは、Ｉｄ，ｔ＊＊がＩｄｍｉｎ，ｔ未満であると判定すると、処理をステップ４０６に進める。
【０１００】
ステップ４０６では、プロセッサ８０Ａは、ｄ軸積分値をＩｄｍｉｎ，ｔに決定し（Ｉｄ＊＊＝Ｉｄｍｉｎ）、処理をステップ４１０に進める。
【０１０１】
また、ステップ４００において、プロセッサ８０Ａは、Ｉｄ，ｔ＊＊がＩｄｍｉｎ，ｔ以上であると判定すると、処理をステップ４０８に進める。ステップ４１４では、プロセッサ８０Ａは、ｄ軸積分値をステップ２で演算したＩｄ，ｔ＊＊に決定し（（Ｉｄ＊＊＝Ｉｄ＊＊））、処理をステップ４１０に進める。
【０１０２】
ステップ４１０〜４１８の処理は、ｑ軸積分値をステップ４００〜４０８と同様に決定する処理であり、説明を省略する。プロセッサ８０Ａは、ステップ４１２、４１６又は４１８でｑ軸積分値を決定すると、処理をステップ５に戻す。
【０１０３】
ステップ５では、プロセッサ８０Ａは、まず、ｄ、ｑ軸電圧指令値の今回値（以下、単に「Ｖｄ，ｔ、Ｖｑ，ｔ」という）を演算する。
【０１０４】
Ｖｄ，ｔは、（数１）に従って、抵抗設定値Ｒと、ｄ軸制御応答角周波数ωｃｄＡＣＲと、ｄ、ｑ軸インダクタンス設定値Ｌｄ、Ｌｑと、角速度検出値の今回値ωｒ，ｔと、ステップ１で演算したｄ軸電流偏差ΔＩｄ，ｔと、ステップ４で決定したｄ軸積分値（Ｉｄ，ｔ＊＊、Ｉｄｍａｘ，ｔ又はＩｄｍｉｎ，ｔ）及びｑ軸積分値（Ｉｑ，ｔ＊＊、Ｉｑｍａｘ，ｔ又はＩｑｍｉｎ，ｔ）と、を用いて演算される。
【０１０５】
Ｖｑ，ｔは、（数２）に従って、抵抗設定値Ｒと、ｑ軸制御応答角周波数ωｃｑＡＣＲと、ｄ、ｑ軸インダクタンス設定値Ｌｄ、Ｌｑと、誘起電圧定数Ｋｅと、角速度検出値の今回値ωｒ，ｔと、ステップ１で演算したｑ軸電流偏差ΔＩｑ，ｔと、ステップ４で決定したｄ軸積分値（Ｉｄ，ｔ＊＊、Ｉｄｍａｘ，ｔ又はＩｄｍｉｎ，ｔ）及びｑ軸積分値（Ｉｑ，ｔ＊＊、Ｉｑｍａｘ，ｔ又はＩｑｍｉｎ，ｔ）と、を用いて演算される。
【０１０６】
Ｖｄ，ｔ、Ｖｑ，ｔを演算すると、プロセッサ８０Ａは、ベクトル制御処理を終了させる。その後、プロセッサ８０Ａは、Ｖｄ，ｔ、Ｖｑ，ｔを２軸−３相変換して３相電圧Ｖｕ、Ｖｖ、Ｖｗを生成し、これら３相電圧Ｖｕ、Ｖｖ、Ｖｗに基づいてスイッチング素子７０Ａ〜７０Ｆを駆動するＰＷＭパルスを生成する。これにより、インバータ７０を介して電圧が印加されモータ６０の駆動が制御される。但し、Ｖｄ，ｔ又はＶｑ，ｔの絶対値がｄ軸電圧制限値Ｖｄｌｍｔ又はｑ軸電圧制限値Ｖｑｌｍｔを超えていれば、インバータ７０の出力電圧が飽和して、モータ６０にはＶｄｌｍｔ又はＶｑｌｍｔに相当するｄ軸電圧又はｑ軸電圧が印加されることになる。
【０１０７】
以上説明した第１実施形態に係る制御器８０によれば、積分制御により演算されたｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊が所定の範囲外となったとき、これらＩｄ＊＊、Ｉｑ＊＊が所定の範囲内に制限される。すなわち、Ｉｄ＊＊、Ｉｑ＊＊の過剰な変化が抑制されるので、特に、ワインドアップ現象発生中におけるｄ、ｑ軸電流偏差ΔＩｄ、ΔＩｑの過剰な累積が抑制される。これにより、第１のｄ、ｑ軸電流指令値Ｉｄ＊、Ｉｑ＊が変更（指令変更）されてワインドアップ現象が終了した後、ΔＩｄ、ΔＩｑの過剰な累積による応答性の悪化を抑制することが可能となる。したがって、Ｉｄ＊＊、Ｉｑ＊＊が制限される第１実施形態では、これらＩｄ＊＊、Ｉｑ＊＊を制限しない場合と比較して、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑを指令変更後のＩｄ＊、Ｉｑ＊に近付けるのにかかる時間を短縮することが可能になる。よって、ワインドアップ現象終了後の過渡状態における電流制御の安定性を向上させることができる。その結果、モータ６０の回転数を速やかに下げることができるなど、モータ６０のトルク制御の安定性を向上させることができる。
【０１０８】
ここで、（数１）及び（数２）から明らかなように、ｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊の変化はｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑに影響を与える。図６、７を参照して説明したように、従来においては、ワインドアップ現象の発生中、ｑ軸電流偏差ΔＩｑが０にならないので、ΔＩｑを０にすべくＩｑ＊＊が増大する。そのため、Ｉｄ＊＊、Ｉｑ＊＊を上述した所定の範囲内に制限しない場合、Ｉｄ＊＊の増大に応じて、ワインドアップ現象発生中のｑ軸印加電圧Ｖｑ＊（＝Ｖｑｍａｘ）よりも大きいｑ軸電圧指令値Ｖｑが演算され続けてしまう。
【０１０９】
これに対し、第１実施形態に係る制御器８０では、更に以下のような作用及び効果が得られる。ここでは、ｑ軸電圧指令値の前回値Ｖｑ，ｔ−１がｑ軸電圧上限値Ｖｑｍａｘを超えてｑ軸印加電圧Ｖｑ＊がＶｑｍａｘで飽和した場合について説明する。この場合において、ｑ軸積分値の今回値Ｉｑ，ｔ＊＊がｑ軸積分上限値の今回値Ｉｑｍａｘ，ｔを超えたとき、Ｉｑ，ｔ＊＊はＩｑｍａｘ，ｔに制限される。Ｉｑｍａｘ，ｔは、（数５）に従って、Ｖｑｍａｘと、Ｖｑｍａｘを超えるｑ軸電圧指令値の前回値Ｖｑ，ｔ−１を演算した際に用いた変数ΔＩｑ，ｔ−１、Ｉｄ，ｔ−１＊＊及びωｒ，ｔ−１と、を用いて演算される。その後、（数２）に従って、Ｉｑｍａｘ，ｔを用いてｑ軸電圧指令値の今回値Ｖｑ，ｔが演算される。ここで、Ｉｑｍａｘ，ｔを用いて演算されたｑ軸電圧指令値の今回値Ｖｑ，ｔをＶ１とし、制限前のＩｑ，ｔ＊＊を用いて演算されるｑ軸電圧指令値の今回値Ｖｑ，ｔをＶ２とする。（数２）から明らかなように、Ｉｑ，ｔ＊＊＞Ｉｑｍａｘ，ｔが成り立っていれば、Ｖ１はＶ２よりも小さい。また、（数２）の変数のうち、ｑ軸電流偏差の今回値ΔＩｑ，ｔ、ｄ軸積分値の今回値Ｉｄ，ｔ＊＊及び角速度検出値の今回値ωｒ，ｔとこれらの前回値との差が小さければ、Ｖ１は、ｑ軸電圧上限値Ｖｑｍａｘに近い値になる。すなわち、ｑ軸積分値Ｉｑ＊＊が所定の範囲内に制限されれば、Ｖｑｍａｘに飽和したｑ軸印加電圧Ｖｑ＊とｑ軸電圧指令値Ｖｑ（＝Ｖ１）との差が小さくなる。以上の点は、ｑ軸積分値Ｉｑ＊＊がｑ軸積分下限値Ｉｑｍｉｎ，ｔに制限された場合やｄ軸積分値Ｉｄ＊＊がｄ軸積分上限値Ｉｄｍａｘ，ｔ又はｄ軸積分下限値Ｉｄｍｉｎ，ｔに制限された場合も同様である。要するに、ワインドアップ現象の発生中にｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊を所定の範囲内に制限する（すなわち、（数７）及び（数８）が満たされる）ことは、ｄ、ｑ軸印加電圧Ｖｄ＊、Ｖｑ＊（＝Ｖｄｌｍｔ、Ｖｑｌｍｔ）とｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑとの差を小さくすることと同義である。したがって、ｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊の過剰な変化が抑制されると共に電圧飽和状態における操作量（Ｖｄ、Ｖｑ）と制御量（Ｖｄ＊、Ｖｑ＊）とが大きく乖離することが抑制される。
【０１１０】
第１実施形態に係る制御器８０による制御結果について、図１１、１２を参照して説明する。図１１では、時刻ｔ３においてｑ軸電圧上限値Ｖｑｍａｘを超えるようなｑ軸電圧指令値Ｖｑが演算され、インバータ７０の出力電圧が飽和する電圧飽和状態が生じている。したがって、時刻ｔ３においてｑ軸印加電圧Ｖｑ＊がＶｑｍａｘとなる。その後、時刻ｔ４において第１のｑ軸電流指令値Ｉｑ＊がモータ６０の回転方向を逆方向に回転させるような値に変更されている（指令変更）。すなわち、時刻ｔ３〜時刻ｔ４において、ｑ軸電流偏差ΔＩｑが０とならないワインドアップ現象が発生している。
【０１１１】
時刻ｔ３以降、ｑ軸電流偏差ΔＩｑを０とすべく、図７と同様に増加するようなｑ軸積分値Ｉｑ＊＊が演算され始める。しかし、図１２に示すように、時刻ｔ５〜ｔ６において、積分制御によりｑ軸積分上限値Ｉｑｍａｘを超えるＩｑ＊＊が演算されると、ｑ軸積分値がＩｑｍａｘに制限される（積分値制限）。すなわち、時刻ｔ５〜ｔ６において、Ｉｑ＊＊が、ワインドアップ現象発生中のＶｑ＊とＶｑとの差を小さくするように所定の範囲内に制限されるので、ΔＩｑを過剰に累積することが抑制される。したがって、図１１では、指令変更された時刻ｔ４以後、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑを変更後の第１のｄ、ｑ軸電流指令値Ｉｄ＊、Ｉｑ＊に近付けるのにかかる時間が短縮されるので、図６と比較して過渡状態における電流制御の安定性が向上することになる。また、図１１に示すように、モータ６０の回転数を速やかに下げて所望の回転数を得ることが可能となるので、モータ６０のトルク制御の安定性を向上させることができる。
【０１１２】
尚、上述の第１実施形態では、ｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、ＶｑｌｍｔをＥｄ／２としたが、これに限るものではない。例えば、Ｖｄｌｍｔ、Ｖｑｌｍｔを、使用するモータ６０の性能や最大回転数などに応じてＥｄ／２以下に設定してもよい。この場合、例えば、ベクトル制御部６００において、ｄ、ｑ軸電圧演算部６１６、６１８の下流側に電圧制限部を設けることが好ましい。この電圧制限部は、例えば、演算されたＶｄ、Ｖｑの絶対値が設定したｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔを超えるときにＶｄ、Ｖｑに代えて設定したＶｄｌｍｔ、Ｖｑｌｍｔを出力する。これにより、ｄ、ｑ軸印加電圧Ｖｄ＊、Ｖｑ＊が設定したＶｄｌｍｔ、Ｖｑｌｍｔで飽和する電圧飽和状態が生じるので、第１実施形態に係る制御器８０を適用することが可能になる。
【０１１３】
また、以上では、制御器８０が正弦波ＰＷＭ制御を実行する場合について説明したが、これに限るものではない。例えば、制御器８０は、信号生成部８００が正弦波に３次高調波を重畳させたものを変調波として用いる、いわゆる、３次高調波重畳方式のＰＷＭ制御を実行してもよい。
【０１１４】
３次高調波重畳方式のＰＷＭ制御では、正弦波ＰＷＭ制御と比較して、ＰＷＭパルス幅を増大させスイッチング素子７０Ａ〜７０Ｆのオン時間を長くすることが可能となることが知られている。したがって、３次高調波重畳方式のＰＷＭ制御では、直流電圧Ｅｄに対して出力できる基本波電圧の割合（電圧利用率）を正弦波ＰＷＭ制御の場合よりも高くすることができる。より詳細には、３次高調波重畳方式のＰＷＭ制御では、正弦波ＰＷＭ制御の基本波電圧（振幅）の２／√３（＝約１．１５）倍の基本波電圧（振幅）を出力することができる。これにより、正弦波ＰＷＭ制御においてｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、ＶｑｌｍｔがＥｄ／２であったのに対し、これらＶｄｌｍｔ、Ｖｑｌｍｔを（２／√３）×（Ｅｄ／２）＝Ｅｄ／√３に設定して第１実施形態において３次高調波重畳方式のＰＷＭ制御を採用することも可能である。但し、３次高調波重畳方式のＰＷＭ制御を実行する場合であっても、使用するモータ６０の性能や最大回転数などに応じてＶｄｌｍｔ、ＶｑｌｍｔをＥｄ／√３以下に設定してもよい。この場合も上述した電圧制限部と同様の電圧制限部を設けることが好ましい。
【０１１５】
また、例えば、（数７）及び（数８）から明らかなように、ｄ、ｑ軸積分上下限値Ｉｄｍａｘ、Ｉｑｍａｘ、Ｉｄｍｉｎ、Ｉｑｍｉｎは、ｄ、ｑ軸電流偏差ΔＩｄ、ΔＩｑ、すなわち、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑの影響を受ける。そのため、例えば、ｑ軸電流検出値Ｉｑにノイズなどが重畳している場合、演算されるＩｑｍａｘ、Ｉｑｍｉｎの波形が振動するおそれがある（Ｉｄｍａｘなどについても同様）。ここで、ｄ、ｑ軸積分上下限値やｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑの算出に用いられるｄ、ｑ軸インダクタンスＬｄ、Ｌｑは、モータ６０の設計時において予め設定された値（設計値）である。しかしながら、上述のｄ、ｑ軸積分上下限値が振動する問題が生じた場合は、ｄ、ｑ軸積分上下限値を算出する際のＬｄ、Ｌｑを設計値よりも小さくしてもよい。これにより、例えば、（数８）において、Ｉｄ，ｔ−１＊＊ωｒ，ｔ−１Ｌｄの項の大きさが変化するので、ΔＩｑ，ｔ−１ωｃｑＡＣＲＬｑの項が受け得るノイズなどの影響が相殺される。したがって、ｄ、ｑ軸積分上下限値の波形が振動するのを抑制することが可能となる。そのために、制限値演算部６０６Ｃ（６０８Ｃ）は、例えば、算出したｄ（ｑ）軸積分上下限値の波形の最大値と最小値との差を比較用の閾値と比較するように構成されていてもよい。より詳細には、制限値演算部６０６Ｃ（６０８Ｃ）は、所定時間において、最大値と最小値との差が比較用の閾値を超えた回数を所定回数以上検出した場合に、Ｌｄ、Ｌｑを設計値よりも小さくするように構成されていてもよい。ここで、Ｌｄ、Ｌｑを小さくし過ぎると、所定の範囲が狭くなりすぎたり、広くなりすぎたりするなど、所定の範囲に悪影響が及ぶおそれがある。そこで、実機試験などで所定の範囲の広さについての許容範囲を予め定めておいてもよい。所定の範囲の広さが許容範囲外となった場合は、Ｌｄ、Ｌｑを小さくするのを停止する。但し、Ｌｄ、Ｌｑを小さくしてもＩｄｍａｘ、Ｉｑｍａｘ、Ｉｄｍｉｎ、Ｉｑｍｉｎの波形の振動が収まらない場合は、Ｌｄ、Ｌｑを０に変更してもよい。
【０１１６】
次に、第２実施形態について説明する。第２実施形態に係る制御器８０は、３次高調波重畳方式のＰＷＭ制御を実行する。すなわち、信号生成部８００は、正弦波に３次高調波を重畳させた変調波を用いる。また、第２実施形態に係る制御器８０は、インバータ７０の出力電圧として直流電圧Ｅｄ以上の電圧を仮想的に用いるべく、変調率Ｍが１以上の領域での制御である、いわゆる過変調制御を実行可能なように構成されている。尚、本明細書では、「変調率」を、３相電圧の振幅のピークを直流電圧Ｅｄで割った値と定義する。
【０１１７】
上述したように、３次高調波重畳方式のＰＷＭ制御では、正弦波ＰＷＭ制御と比較して電圧利用率を高めることが可能であり、正弦波ＰＷＭ制御での基本波電圧の２／√３（＝約１．１５）倍の基本波電圧を出力可能である。ここで、電圧利用率を向上させる制御として、変調波に代えて矩形波を出力する、いわゆるワンパルス制御が知られている。ワンパルス制御では、正弦波ＰＷＭ制御での基本波電圧の４／π（＝約１．２７）倍の基本波電圧を出力することができる。３次高調波重畳方式のＰＷＭ制御では、変調率Ｍを１よりも大きくする過変調制御を実行することで、電圧利用率をさらに高めることが可能であり、基本波電圧の波形を略矩形波状として上述のワンパルス制御に近付けることができる。
【０１１８】
以上を考慮して、本明細書では、３次高調波重畳方式のＰＷＭ制御における変調率Ｍが１での制御を、ｄ、ｑ軸印加電圧Ｖｄ＊、Ｖｑ＊が１．１５×Ｅｄ／２又は−１．１５×Ｅｄと等しい状態での制御と定義する。すなわち、ベクトル制御部６００で演算されたｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑの絶対値が１．１５×Ｅｄ／２と等しいとき、変調率Ｍが１での制御が実行される。したがって、ｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑの絶対値が１．１５×Ｅｄ／２よりも大きいことは過変調制御用のｄ、ｑ軸電圧が演算されたことを意味する。
【０１１９】
また、本明細書では、過変調制御を実行可能な３次高調波重畳方式のＰＷＭ制御でのｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔを、ワンパルス制御で出力可能な基本波電圧を考慮して、例えば、４／π（＝約１．２７）×Ｅｄ／２に設定する。すなわち、ｄ、ｑ軸電圧上限値Ｖｄｍａｘ、Ｖｑｍａｘは、１．２７×Ｅｄ／２に設定され、ｄ、ｑ軸電圧下限値Ｖｄｍｉｎ、Ｖｑｍｉｎは、−１．２７×Ｅｄ／２に設定される。したがって、過変調制御では、例えば、このＶｑｍａｘを超えるｑ軸電圧指令値Ｖｑが演算された場合にインバータ７０の出力電圧が飽和する電圧飽和状態となる（すなわち、ｑ軸印加電圧Ｖｑ＊＝Ｖｑｍａｘ）。
【０１２０】
また、本明細書では、１．１５×Ｅｄ／２以上且つ１．２７×Ｅｄ／２以下（−１．２７×Ｅｄ／２以上且つ−１．１５×Ｅｄ／２以下）を満たす領域を過変調制御領域という。すなわち、１．１５×Ｅｄ／２は、過変調制御領域の下限値であり、１．２７×Ｅｄ／２は、過変調制御領域の上限値である。したがって、以下の説明では、制御器８０は、演算したｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑが過変調制御領域にあるとき、これらＶｄ、Ｖｑに基づいて、インバータ７０の出力電圧を制御するインバータ７０の過変調制御を実行可能なように構成されている。
【０１２１】
ここで、過変調制御では、変調率Ｍが１以下の領域での制御と比較してスイッチング素子７０Ａ〜７０Ｆのオン時間が長くなることが知られている。これにより、インバータ７０の出力電圧を増大させることが可能となるので、変調率Ｍが１での制御と比較して、例えば、モータ６０の最大回転数を約１０％上昇させることができる。
【０１２２】
しかし、過変調制御では、変調率Ｍが１以下の領域での制御と比較してＰＷＭパルスの数が少なくなるので、モータ６０に流れる電流（すなわち、相電流検出値Ｉｕ、Ｉｖ、Ｉｗ）に高周波成分が重畳してこれらの波形がひずむ。その結果、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑの波形もひずんでしまう。そのため、例えば、図１３に示す制御結果のように電流制御の安定性が悪化するおそれがあった。尚、図１３に示すｑ軸電圧についてのタイムチャートは、ｄ、ｑ軸印加電圧Ｖｄ＊、Ｖｑ＊の時間変化を示す図６や図１１とは異なり、ｑ軸電圧演算部６１８で演算されるｑ軸電圧指令値Ｖｑの時間変化を示している。
【０１２３】
図１３では、モータ回転数を所望の回転数とすべく、時刻ｔ７において、変調率Ｍが１を超える領域（Ｍ＞１）での制御を要求するようなｑ軸電圧指令値Ｖｑ（＞１．１５×Ｅｄ／２）が演算されて過変調制御が実行されている。また、図１３では、時刻ｔ８以後、Ｖｑｍａｘを超えるＶｑが演算され、ｑ軸印加電圧Ｖｑ＊がＶｑｍａｘで飽和する電圧飽和状態が生じる。したがって、ｑ軸電流検出値Ｉｑと第１のｑ軸電流指令値Ｉｑ＊とのｑ軸電流偏差ΔＩｑが０にならないワインドアップ現象が発生する。
【０１２４】
過変調制御におけるワインドアップ現象の発生中、相電流検出値Ｉｕ、Ｉｖ、Ｉｗの波形がひずみ始めるのに伴って、ｑ軸電流検出値Ｉｑの波形がひずみ始める。ここで、ワインドアップ現象の発生によるｑ軸積分値Ｉｑ＊＊の過剰な増大は第１実施形態と同様の構成により抑制される（図示省略）。しかしながら、ｑ軸電流検出値Ｉｑの波形のひずみに伴ってｑ軸電流偏差ΔＩｑにも高周波成分が重畳し、ｑ軸積分値Ｉｑ＊＊の時間に応じた変化が大きくなってしまう。また、図示省略のｄ軸電流検出値Ｉｄの波形もＩｑと同様にひずむので、（数２）から明らかなように、Ｖｑは、Ｉｄの波形のひずみに伴うｄ軸積分値Ｉｄ＊＊の時間変化の影響を受ける。そのため、演算されるＶｑには高周波成分である電圧リップルが重畳するので、Ｖｑの波形がＶｑｍａｘを中心として正負両側に振動してしまう。したがって、ｑ軸印加電圧Ｖｑ＊は、実際には、Ｖｑｍａｘで飽和したり、Ｖｑｍａｘ未満となったりするので、過変調制御により波形がひずんだ相電流Ｉｕ、Ｉｖ、Ｉｗに悪影響が及び、相電流Ｉｕ、Ｉｖ、Ｉｗの波形が更にひずむおそれがあった。このように、過変調制御におけるワインドアップ現象の発生後、所望のモータ回転数が得られるまでの過渡状態において電流制御の安定性が悪化する結果、モータ６０の回転数が安定しない。よって、ＶＣＲ機構２６を用いた圧縮比の変更速度が安定しないおそれがあった。
【０１２５】
そこで、図１３に示す過渡状態における電流制御の安定性を向上させるべく、第２実施形態では、ｄ（ｑ）軸電圧演算部６１６（６１８）は、演算したｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）を第２のｄ（ｑ）軸電流演算部６０６（６０８）に出力する（図１４を参照）。これに加えて、第２のｄ（ｑ）軸電流演算部６０６（６０８）における積分演算部６０６Ａ（６０８Ａ）と積分制限部６０６Ｄ（６０８Ｄ）との間にローパスフィルタ処理部６０６Ｅ（６０８Ｅ）が設けられている（図１５を参照）。以下、第２のｄ軸電流演算部６０６のローパスフィルタ処理部６０６Ｅについて説明するが、第２のｑ軸電流演算部６０８のローパスフィルタ処理部６０８Ｅについても同様である。
【０１２６】
ローパスフィルタ（以下、単に「ＬＰＦ」という）処理部６０６Ｅは、積分演算部６０６Ａから出力されたｄ軸積分値Ｉｄ＊＊の所定の周波数以下の周波数成分のみを通過させることでＩｄ＊＊の時間変化を平滑化するフィルタ処理を実行する。このようなフィルタ処理は、例えば、ソフトウェアで実行される。より詳細には、ＬＰＦ処理部６０６Ｅは、まず、ｄ軸電圧演算部６１６が演算したｄ軸電圧指令値Ｖｄを入力し記憶しておく。すなわち、入力したＶｄは、前回のベクトル制御処理で演算されたＶｄ（Ｖｄ前回値）である。そして、ＬＰＦ処理部６０６Ｅは、Ｖｄ前回値の絶対値とｄ軸電圧制限値Ｖｄｌｍｔとを比較して、Ｖｄ前回値の絶対値がｄ軸電圧制限値Ｖｄｌｍｔ（＝１．２７×Ｅｂ／２）を超えているときにフィルタ処理を実行する。すなわち、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）は、インバータ７０の出力電圧が飽和している間、フィルタ処理を実行する。これにより、過変調制御におけるワインドアップ現象の発生中のｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊の時間に応じた変化が抑制される。
【０１２７】
一方、ＬＰＦ処理部６０６Ｅは、Ｖｄ前回値の絶対値がｄ軸電圧制限値Ｖｄｌｍｔ以下のときフィルタ処理を実行しない。すなわち、電圧飽和状態が生じておらずワインドアップ現象が発生していないときは、ｄ軸積分値Ｉｄ＊＊が積分制限部６０６Ｄにそのまま出力される。
【０１２８】
第２実施形態に係る制御器８０によれば、電圧飽和状態が生じている間、ＬＰＦ処理部６０６Ｅ、６０８Ｅによってｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊（すなわち、制限前のｄ（ｑ）軸積分値）の時間変化が平滑化される。また、第１実施形態と同様に、制御器８０は、ｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊を所定の範囲内に制限する。これにより、Ｉｄ＊＊、Ｉｑ＊＊を所定の範囲内に制限しつつ、過変調制御におけるワインドアップ現象の発生中にｄ、ｑ軸電流偏差ΔＩｄ、ΔＩｑに高周波成分が重畳するのに伴うＩｄ＊＊、Ｉｑ＊＊の時間変化を抑制することが可能となる。そして、ｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑは時間変化が抑制されたＩｄ＊＊、Ｉｑ＊＊などを用いて演算されるので、これらＶｄ、Ｖｑに電圧リプルが重畳するのを抑制することができる。これにより、過変調制御における相電流Ｉｕ、Ｉｖ、Ｉｗの波形の更なるひずみが抑制されるので、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑの波形のひずみが抑制される。したがって、過変調制御におけるワインドアップ現象の発生中に所望のモータ回転数が得られるまでの過渡状態において、電流制御の安定性を向上させることができる。
【０１２９】
ここで、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）は、積分演算部６０６Ａ（６０８Ａ）と積分制限部６０６Ｄ（６０８Ｄ）との間に設けられることに限るものではない。第２実施形態の第１変形例として、例えば、図１６に示すように、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）は、制限値演算部６０６Ｃ（６０８Ｃ）と積分制限部６０６Ｄ（６０８Ｄ）との間に設けられてもよい。この場合、ｄ（ｑ）軸積分上限値Ｉｄｍａｘ（Ｉｑｍａｘ）及びｄ（ｑ）軸積分下限値Ｉｄｍｉｎ（Ｉｑｍｉｎ）の時間変化が平滑化される。（数３）〜（数６）から明らかなように、これらＩｄｍａｘ（Ｉｑｍａｘ）及びＩｄｍｉｎ（Ｉｑｍｉｎ）は、高周波成分が重畳したｄ（ｑ）軸電流偏差ΔＩｄ（ΔＩｑ）の影響を受ける。したがって、Ｉｄｍａｘ（Ｉｑｍａｘ）及びＩｄｍｉｎ（Ｉｑｍｉｎ）の時間変化が抑制されることにより、積分演算部６０６Ａ（６０８Ａ）の出力にフィルタ処理を施した場合と同様の効果が得られる。
【０１３０】
また、第２実施形態の第２変形例として、例えば、図１７に示すように、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）を積分制限部６０６Ｄ（６０８Ｄ）の下流側に設けてもよい。すなわち、第２変形例では、積分演算部６０６Ａ、６０８Ａが演算したｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊が所定の範囲内であるときは、これらＩｄ＊＊、Ｉｑ＊＊にフィルタ処理が施される。また、ｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊が所定の範囲外のときは、ｄ（ｑ）軸積分上限値Ｉｄｍａｘ（Ｉｑｍａｘ）及びｄ（ｑ）軸積分下限値Ｉｄｍｉｎ（Ｉｑｍｉｎ）（すなわち、制限後のｄ（ｑ）軸積分値）にフィルタ処理が施される。したがって、第２変形例においても、Ｉｄ＊＊（Ｉｑ＊＊）、Ｉｄｍａｘ（Ｉｑｍａｘ）又はＩｄｍｉｎ（Ｉｑｍｉｎ）の時間変化が平滑化されるので、第１変形例や第２変形例と同様の効果が得られる。
【０１３１】
但し、上述した各フィルタ処理の１つのみが実行されることに限るものではない。すなわち、制限前のｄ（ｑ）軸積分値と、ｄ（ｑ）軸積分上下限値又は制限後のｄ（ｑ）軸積分値とにフィルタ処理を施してもよい。また、ｄ（ｑ）軸積分上下限値と、制限後のｄ（ｑ）軸積分値とにフィルタ処理を施してもよい。さらに、制限前のｄ（ｑ）軸積分値、ｄ（ｑ）軸積分上下限値及び制限後のｄ（ｑ）軸積分値の全てにフィルタ処理を施してもよい。
【０１３２】
尚、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）は、過変調制御におけるワインドアップ現象が発生している間にフィルタ処理を実行することに限るものではない。相電流Ｉｕ、Ｉｖ、Ｉｗの波形は、過変調制御が開始されてからがひずみ始める。そこで、例えば、Ｖｄ前回値（Ｖｑ前回値）の絶対値と比較される閾値として、Ｖｄｌｍｔ（Ｖｑｌｍｔ）に代えて１．１５×Ｅｄ／２を用いてもよい。すなわち、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）は、Ｖｄ前回値（Ｖｑ前回値）の絶対値が１．１５×Ｅｄ／２を超えている間、すなわち、過変調制御を実行している間にフィルタ処理を実行するようになっていてもよい。
【０１３３】
第２実施形態では、図１５〜図１７に示すようにＬＰＦ処理部６０６Ｅ（６０８Ｅ）を設けることで、ｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊又はｄ、ｑ軸積分上下限値Ｉｄｍａｘ、Ｉｄｍｉｎ、Ｉｑｍａｘ、Ｉｑｍｉｎにフィルタ処理を施していた。これにより、ｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑに電圧リプルが重畳するのを抑制して相電流Ｉｕ、Ｉｖ、Ｉｗの波形のひずみを抑制していた。但し、これに限るものではなく、以下で説明する第２実施形態の第３変形例では、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）を設けずにｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑの電圧リップルを抑制することができる。
【０１３４】
第３変形例では、図１８に示すように、ベクトル制御部６００の最下流側に電圧制限部６２０が設けられている。この電圧制限部６２０は、ｄ、ｑ軸電圧演算部６１６、６１８が演算したｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑのそれぞれとｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔ（＝１．２７×Ｅｄ／２）と比較するようになっている。
【０１３５】
電圧制限部６２０は、例えば、演算されたｑ軸電圧指令値Ｖｑがｑ軸電圧上限値Ｖｑｍａｘ以下又はｑ軸電圧下限値Ｖｑｍｉｎ以上であるとき、Ｖｑをそのまま出力する。一方、電圧制限部６２０は、例えば、ＶｑがＶｑｍａｘを超えたとき又はＶｑｌｍｔ未満のとき、ｄ、ｑ軸電圧指令値としてＶｑｍａｘ又はＶｑｍｉｎを出力する。
【０１３６】
要するに、ベクトル制御部６００からは、電圧制限部６２０によってＶｑｍａｘ以下又はＶｑｍｉｎ以上のＶｑが出力される。したがって、過変調制御におけるワインドアップ現象発生中に飽和したｑ軸印加電圧Ｖｑ＊であるＶｑｍａｘ又はＶｑｍｉｎとベクトル制御部６００の出力結果とを一致させることができる。すなわち、制御器８０は、Ｖｄ、Ｖｑがｄ、ｑ軸電圧上限値Ｖｄｍａｘ、Ｖｑｍａｘを超えたときはこれらＶｄｍａｘ、Ｖｑｍａｘに基づいてインバータ７０を制御し、Ｖｄ、Ｖｑがｄ、ｑ軸電圧下限値Ｖｄｍｉｎ、Ｖｑｍｉｎを下回ったときはこれらＶｄｍｉｎ、Ｖｑｍｉｎに基づいてインバータ７０を制御する。
【０１３７】
しかしながら、電圧制限部６２０を設けても、以下で説明するように、ｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑに電圧リプルが重畳するおそれがある。例えば、図１９に示すように、時刻ｔ９において、例えば、１．１５×Ｅｄ／２を超えるＶｑが演算されて過変調制御が開始され、その後、時刻ｔ１０において、ｑ軸電圧上限値Ｖｑｍａｘを超えるＶｑが演算されてワインドアップ現象が発生したとする。この場合、ｑ軸電流検出値Ｉｑの波形がひずみ始めると共にｑ軸電流偏差ΔＩｑに高周波成分が重畳する。ここで、ｑ軸積分値Ｉｑ＊＊はｑ軸積分上限値Ｉｑｍａｘに制限されるものの、Ｉｑの波形のひずみ及びΔＩｑへの高調波成分の重畳に伴って、演算値であるＶｑにＶｑｍａｘを中心として正負両側に振動するような電圧リプルが重畳してしまう。電圧制限部６２０によってＶｑｍａｘを超えるＶｑはベクトル制御部６００から出力されないが、電圧制限部６２０による制限後のＶｑの波形にはＶｑｍａｘ以下で電圧リプルが重畳するおそれがある（図１９を参照）。
【０１３８】
そこで、第３変形例では、電圧制限部６２０を設けることに加えて、ｄ（ｑ）軸積分上限値Ｉｄｍａｘ（Ｉｑｍａｘ）とｄ（ｑ）軸積分下限値Ｉｄｍｉｎ（Ｉｑｍｉｎ）とで規定される所定の範囲を広げるように補正する。より詳細には、第３変形例では、制限値演算部６０６Ｃ（６０８Ｃ）は、演算したＩｄｍａｘ（Ｉｑｍａｘ）を第１の所定値αだけ増大させると共に演算したＩｄｍｉｎ（Ｉｑｍｉｎ）を第１の所定値αだけ減少させて所定の範囲を補正するように構成されている。
【０１３９】
例えば、図２０は、ｑ軸積分上下限値についての制限値演算部６０８ＣがＩｑｍａｘに第１の所定値αを加算した場合を示している。すなわち、図２０では、Ｉｑｍａｘを変更する前（図１９）と比較してＩｑｍａｘが第１の所定値αだけ大きくなっている。これにより、積分演算部６０８Ａが演算したｑ軸積分値Ｉｑ＊＊がＩｑｍａｘ＋αを超えたとき、Ｉｑｍａｘ＋αがｑ軸積分値に決定される。そのため、このＩｑｍａｘ＋αなどを用いて演算されるｑ軸電圧指令値Ｖｑは、ｑ軸積分値がＩｑｍａｘで制限されていた場合と比較して大きい値となる。第１の所定値αの調整次第では、Ｖｑはｑ軸電圧上限値Ｖｑｍａｘ以上で電圧リプルが重畳した波形となる（図２０を参照）。そして、このＶｑは電圧制限部６２０によってＶｑｍａｘに制限されるため、制限後のＶｑは一定値（Ｖｑｍａｘ）となる。
【０１４０】
第１の所定値αの設定については、まず、例えば、実機試験により、ワインドアップ現象発生中のｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑ（電圧飽和状態におけるＶｄ、Ｖｑ）の電圧リプル量を予め測定しておく。ここで、この電圧リプル量とは、演算したＶｄ、Ｖｑとｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔとの差であって、より詳細には、図２０に示すＶｑのピークとＶｑｍａｘとの差である。そして、第１の所定値αを、予め測定した電圧リプル量を抵抗設定値Ｒで除算した値以上となるように設定することが好ましい（α≧電圧リプル量／Ｒ）。すなわち、電圧リプル量／Ｒが、第１の所定値αとして設定できる下限値となる。要するに、制御器８０は、演算したｄ、ｑ軸電圧指令値とｄ、ｑ軸電圧制限値との差を考慮して、（数３）〜（数６）に従って得られた所定の範囲（すなわち、演算した所定の範囲）を広げるように補正する。
【０１４１】
また、第１の所定値αを大きくするほど所定の範囲が広くなるため、所定の範囲を広くする前と比較してｄ、ｑ軸積分値が増大又は減少する。そのため、第１実施形態で言及したように、指令変更後（ワインドアップ現象終了後）の電流制御の応答が遅れる。したがって、例えば、実機試験により、第１の所定値αと応答遅れの時間との関係を予め調べておき、第１の所定値αとして設定可能な上限値を、許容できる応答遅れの時間を考慮して設定してもよい。
【０１４２】
このように、ｄ、ｑ軸積分値についての所定の範囲を広げることにより、Ｖｄｍａｘ、Ｖｄｍａｘ以上又はＶｄｍｉｎ、Ｖｑｍｉｎ以下で電圧リプルが重畳した波形のｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑを演算させることが可能となる。これにより、電圧制限部６２０によって、制限後のＶｄ、Ｖｑを電圧リプルのない一定値とすることが可能となる。要するに、電圧制限部６２０を設けることに加えて所定の範囲を広げることで、Ｖｄ、Ｖｑへの電圧リプルの重畳を抑制することが可能となるので、過変調制御におけるワインドアップ現象発生中の相電流Ｉｕ、Ｉｖ、Ｉｗの波形のひずみが更に生じるのを抑制することができる。したがって、ＬＰＦ処理部６０６Ｅ、６０８Ｅを設けた場合と同様、電流制御の安定性を向上させることができる。
【０１４３】
ところで、過変調制御におけるワインドアップ現象は、上述したように、Ｖｄｍａｘ（Ｖｑｍａｘ）（＝＋１．２７×Ｅｄ／２）を超えるｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）、又は、Ｖｄｍｉｎ（Ｖｑｍｉｎ）（＝−１．２７×Ｅｄ／２）未満のＶｄ（Ｖｑ）が演算されたときに発生する。これは、＋１．１５×Ｅｄ／２以上又は−１．１５×Ｅｄ／２以下のｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑが演算されること、すなわち、Ｖｄ、Ｖｑが過変調制御領域に入ることを何の制約もなく許容していることを意味する。このことは、図１３に示すようなｑ軸電流検出値Ｉｑの波形のひずみが発生することの一因となっている。
【０１４４】
そこで、第３実施形態に係る制御器８０では、ｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑが過変調制御領域に徐々に入るようにする。そのために、まず、ベクトル制御部６００の最下流側には第２実施形態の第３変形例と同様の電圧制限部６２０が設けられている（図１８を参照）。また、図２１に示すように、ｄ、ｑ軸電圧演算部６１６、６１８が演算したＶｄ、Ｖｑのそれぞれは、制限値演算部６０６Ｃ、６０８Ｃに入力される。
【０１４５】
電圧制限部６２０は、基本的には、上述の第３変形例において説明したのと同様であるが、第３実施形態では、電圧制限部６２０においてｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑと比較されるｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔを継時的に変更可能となっている。より詳細には、Ｖｄｌｍｔ、Ｖｑｌｍｔの変更範囲は、それぞれ、過変調制御領域の下限値である１．１５×Ｅｄ／２よりも小さい第１制限値と、１．１５×Ｅｄ／２よりも大きい第２制限値とで規定されている。第１制限値は、Ｖｄｌｍｔ（Ｖｑｌｍｔ）の下限値を規定するものであって、例えば、Ｅｄ／２に設定される。また、第２制限値は、Ｖｄｌｍｔ、Ｖｑｌｍｔの上限値を規定するものであって、例えば、過変調制御領域の上限値である１．２７×Ｅｄ／２に設定される。
【０１４６】
ｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔは、例えば、以下のように変更される。以下では、主に、第２のｑ軸電流演算部６０８について説明するが、第２のｄ軸電流演算部６０６についても同様である。第３実施形態では、まず、第２のｑ軸電流演算部６０８の制限値演算部６０８Ｃが、前回のベクトル制御で演算されたｑ軸電圧指令値Ｖｑ、すなわち、Ｖｑ前回値とＶｑｌｍｔとを比較する。ここで、Ｖｑｌｍｔの初期値は第１制限値に設定される。制限値演算部６０８Ｃにおいて、Ｖｑ前回値の絶対値がＶｑｌｍｔを超えていると判定された場合、前回のベクトル制御では、電圧制限部６２０がＶｑ前回値に代えて第１制限値が出力される。すなわち、ｑ軸印加電圧Ｖｑ＊が第１制限値で飽和した電圧飽和状態が生じている。また、制限値演算部６０８Ｃは、Ｖｑ前回値の絶対値がＶｑｌｍｔを超えているとき、Ｖｑｌｍｔを第１制限値から第２制限値に向けて第２の所定値だけ増大させる。制限値演算部６０８ＣでのＶｑｌｍｔの増大に連動して、電圧制限部６２０のＶｑｌｍｔも変更されるようになっている。したがって、今回のベクトル制御では、電圧制限部６２０は、Ｖｑ今回値を増大後のＶｑｌｍｔと比較する。これにより、Ｖｑ今回値が増大後のＶｑｌｍｔを超えているとき、増大後のＶｑｌｍｔが出力され、ｑ軸印加電圧Ｖｑ＊が増大後のＶｑｌｍｔで飽和した電圧飽和状態が継続される。その後、制限値演算部６０８ＣにおいてＶｑ前回値が増大後のＶｑｌｍｔを超え続け、Ｖｑｌｍｔが第２制限値と等しくなったときＶｑｌｍｔの変更が終了する。
【０１４７】
要するに、制限値演算部６０６Ｃ（６０８Ｃ）は、演算したｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）がｄ（ｑ）軸電圧上限値Ｖｄｍａｘ（Ｖｑｍａｘ）を超えるたびに又は演算したＶｄ、Ｖｑがｄ（ｑ）軸電圧下限値Ｖｄｍｉｎ（Ｖｑｍｉｎ）を下回るたびに、Ｖｄｍａｘ（Ｖｑｍａｘ）と、Ｖｄｍｉｎ（Ｖｑｍｉｎ）の絶対値とを、第１制限値を初期値として、第２制限値に向けて第２の所定値だけ増大させる。これにより、図１３に示す過変調制御におけるモータ６０の最大回転数が得られるまで、Ｖｄ（Ｖｑ）を、増大させたＶｄｍａｘ（Ｖｑｍａｘ）又は低減したＶｄｍｉｎ（Ｖｑｍｉｎ）に飽和させながら最終的に第２制限値で飽和させることが可能となる。すなわち、インバータ７０の出力電圧が飽和して過変調制御におけるワインドアップ現象が発生するまで、ベクトル制御部６００の演算結果であるＶｄ（Ｖｑ）を変更されるＶｄｌｍｔ（Ｖｑｌｍｔ）に飽和させる。これにより、Ｖｄ（Ｖｑ）が過変調制御領域に徐々に入ることが可能となる。一方、制限値演算部６０６Ｃ（６０８Ｃ）は、演算したＶｄ（Ｖｑ）がＶｄｍｉｎ（Ｖｑｍｉｎ）以上且つＶｄｍａｘ（Ｖｑｍａｘ）以下のときは、これらＶｄｍａｘ（Ｖｑｍａｘ）Ｖｄｍｉｎ（Ｖｑｍｉｎ）をそのまま維持する。
【０１４８】
ｄ（ｑ）軸電圧制限値Ｖｄｌｍｔ（Ｖｑｌｍｔ）は、例えば、図２２に示すように第１制限値（＝Ｅｄ／２）から１．１５×Ｅｄ／２を経て第２制限値（＝１．２７×Ｅｄ／２）に向かって所定の時定数で時間変化するように増大させてもよい。所定の時定数は、制御器８０（ベクトル制御部６００における電流制御）の時定数（＝ｄ、ｑ軸制御応答角周波数の逆数ωｃｄＡＣＲ−１、ωｃｑＡＣＲ−１）を考慮した時定数とする。例えば、所定の時定数は、制御器８０の時定数の約４倍であってもよい。但し、これに限るものではなく、Ｖｄｌｍｔ（Ｖｑｌｍｔ）は、例えば、図２３に示すように、時間に比例して変化するように変更されてもよい。より詳細には、Ｖｄｌｍｔ（Ｖｑｌｍｔ）が第１制限値から第２制限値に変化している間、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑが不安定にならないようなＶｄｌｍｔ（Ｖｑｌｍｔ）の時間変化率（傾き）を予め実機試験などにより求めておく。そして、Ｖｄｌｍｔ（Ｖｑｌｍｔ）を、予め設定した傾き（求めた傾き）で時間変化するように増大させてもよい。尚、ｄ、ｑ軸電圧下限値Ｖｄｍｉｎ、Ｖｑｍｉｎは、−Ｖｄｌｍｔ、−Ｖｑｌｍｔと等価であり、Ｖｄｌｍｔ、Ｖｑｌｍｔが図２２及び図２３に示すように増大するほど減少する。
【０１４９】
また、上述したように、ｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）は変更後のｄ（ｑ）軸電圧制限値Ｖｄｌｍｔ（Ｖｑｌｍｔ）で飽和させているため、ｄ（ｑ）軸電流偏差ΔＩｄ（ΔＩｑ）が０にならないワインドアップ現象が発生する。そのため、ｄ（ｑ）軸積分値Ｉｄ＊＊（Ｉｑ＊＊）が過剰に増大又は減少する。そこで、第３実施形態では、制限値演算部６０６Ｃ（６０８Ｃ）は、ｄ（ｑ）軸積分上下限値Ｉｄｍａｘ（Ｉｑｍａｘ）、Ｉｄｍｉｎ（Ｉｑｍｉｎ）を演算するのに変更又は維持されたＶｄｌｍｔ（Ｖｑｌｍｔ）を用いる。これにより、Ｖｄｌｍｔ（Ｖｑｌｍｔ）の変更に伴って所定の範囲も変更される。例えば、Ｉｑ＊＊が変更後のＶｑｌｍｔを用いて演算されるＩｑｍａｘを超えたとき、このＩｑｍａｘがｑ軸積分値となる。したがって、ｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）を飽和させながら増大させている間のｄ（ｑ）軸積分値の過剰な変化も抑制することが可能となる。このように、ｄ（ｑ）軸積分上下限値Ｉｄｍａｘ（Ｉｑｍａｘ）、Ｉｄｍｉｎ（Ｉｑｍｉｎ）の演算には、時間に依存して変更されるｄ（ｑ）軸電圧制限値が用いられる。すなわち、第３実施形態では、（数３）〜（数８）のＶｄｍａｘ、Ｖｑｍａｘ、Ｖｄｍｉｎ、Ｖｑｍｉｎは、時間ｔの要素が加わった電圧制限値、すなわち、変更又は維持されたｄ、ｑ軸電圧制限値（Ｖｄｍａｘ，ｔ、Ｖｑｍａｘ，ｔ、Ｖｄｍｉｎ，ｔ、Ｖｑｍｉｎ，ｔ）に変更される。
【０１５０】
以上説明した第３実施形態に係る制御器８０における作用及び効果について図２４、２５を参照して説明する。
【０１５１】
図２４では、時刻ｔ１１において、ベクトル制御部６００によって第１制限値を超えるｑ軸電圧指令値Ｖｑが演算される。この場合、Ｖｑは第１制限値に制限され、ｑ軸印加電圧Ｖｑ＊が第１制限値で飽和する電圧飽和状態が生じてワインドアップ現象が発生する。したがって、時刻ｔ１１よりも後の積分制限値の演算及び電圧指令値の決定に用いられるｄ、ｑ軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔは、第１制限値から第２の所定値だけ増大した値に変更される。尚、図２４では、Ｖｄｌｍｔ、Ｖｑｌｍｔは図２２に従って変更されるものとする。その後、演算されるＶｑがＶｑｌｍｔを超え続けると、ベクトル制御部６００が出力するＶｑはＶｑｌｍｔの増大と同様の時間変化を示す。これにより、Ｖｑは増大後のＶｑｌｍｔに飽和しながら第２制限値に達する。
【０１５２】
より詳細には、時刻ｔ１１以降、継時的に変更されるｑ軸電圧上限値Ｖｑｍａｘでｑ軸電圧指令値Ｖｑが飽和する電圧飽和状態を生じさせながら過変調制御を実行すると共に過変調制御におけるワインドアップ現象を発生させることが可能になる。これにより、過変調制御におけるワインドアップ現象が急に発生するのを抑制することができる。この点について、図１３に示す過変調制御による制御結果（電圧制限値変更なし）と第３実施形態による制御結果（電圧制限値変更あり）とを比較した図２５を参照して説明する。図２５において、電圧制限値を変更しない場合、時刻ｔ７において過変調制御が実行され、その後、時刻ｔ８において過変調制御におけるワインドアップ現象が発生している。一方、電圧制限値を変更した場合、まず、時刻ｔ１１においてＶｑが第１制限値で飽和している。その後、時刻ｔ１２において過変調制御が実行され、時刻ｔ１３において過変調制御におけるワインドアップ現象が発生している。すなわち、電圧制限値を変更した場合では、電圧制限値を変更しない場合と比較して、過変調制御におけるワインドアップ現象の発生を時間的に遅らせることができることが分かる。また、電圧制限値を変更した場合では、時刻ｔ１１において電圧飽和状態を生じさせてから、電圧制限値（Ｖｑｍａｘ）の変更に伴ってＶｑが変化している。したがって、Ｖｑが過変調制御領域に徐々に入ることが可能になるので、過変調制御の実行も時間的に遅らせることができる。特に、電圧制限値を変更した場合では、電圧制限値を変更しない場合と比較して、過変調制御の実行からワインドアップ現象の発生までの時間を相電流Ｉｕ、Ｉｖ、Ｉｗの波形の更なるひずみを抑制するのに十分長くすることができる（図２５を参照）。
【０１５３】
このように、第３実施形態に係る制御器８０では、過変調制御及びワインドアップ現象の発生を要求するようなｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑが演算されている間、Ｖｄｌｍｔ、Ｖｑｌｍｔが徐々に増大するように変更される。これにより、過変調制御におけるワインドアップ現象が発生するまで、Ｖｄ、Ｖｑを徐々に変更されるＶｄｌｍｔ、Ｖｑｌｍｔで飽和させながら過変調制御が実行される。すなわち、Ｖｄ、Ｖｑが制限されながら過変調領域に徐々に入るようになるので、相電流Ｉｕ、Ｉｖ、Ｉｗの波形の更なるひずみが抑制されて、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑの波形のひずみを抑制することができる。したがって、過変調領域におけるワインドアップ現象の発生中、所望のモータ回転数が得られるまでの過渡状態における電流制御の安定性を向上させることができる。
【０１５４】
また、以上説明した第３実施形態と第２実施形態とを組み合わせてもよい。以下、第２実施形態と第３実施形態とを組み合わせた第４実施形態に係る制御器８０が実行するベクトル制御処理について、図２６〜図２９を参照して説明する。尚、図２６〜図２９は、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）が積分演算部６０６Ａ（６０８Ａ）と積分制限部６０６Ｄ（６０８Ｄ）との間に設けられている場合（図１５を参照）のベクトル制御処理である。したがって、ｄ（ｑ）軸電圧演算部６１６（６１８）が演算したｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）は、制限値演算部６０６Ｃ（６０８Ｃ）及びＬＰＦ処理部６０６Ｅ（６０８Ｅ）に出力される。
【０１５５】
第４実施形態によるベクトル制御処理は、以下の点で、図９に示すベクトル制御処理とは異なる。図２６に示すように、ステップ２とステップ３との間には新たにステップ６の電圧制限値決定処理が挿入されており、ステップ５がステップ７の電圧指令値決定処理に変更されている。
【０１５６】
プロセッサ８０Ａは、ステップ２の処理を終了すると、ステップ６において、図２７に示す電圧制限値決定処理を実行する。
【０１５７】
ステップ６００では、プロセッサ８０Ａは、後述するステップ７で演算され記憶されていたｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑ、すなわち、前回のベクトル制御処理の電圧指令値決定処理で決定されたＶｄ前回値及びＶｑ前回値を読み込む。
【０１５８】
ステップ６０２では、プロセッサ８０Ａは、Ｖｄ前回値の絶対値（｜Ｖｄ前回値｜）がｄ軸電圧制限値Ｖｄｌｍｔ以下であり、且つ、Ｖｑ前回値の絶対値（｜Ｖｑ前回値｜）がｑ軸電圧制限値Ｖｑｌｍｔ以下であるか否かを判定する。尚、初回のベクトル制御処理では、ステップ６０２のＶｄｌｍｔ、Ｖｑｌｍｔは、第１制限値（例えば、Ｅｄ／２）に設定されている。また、初回のベクトル制御処理では、Ｖｄ前回値及びＶｑ前回値は決定されていないので、Ｖｄ前回値及びＶｑ前回値は初期値（例えば０）に設定される。
【０１５９】
ステップ６０２において、プロセッサ８０Ａは、｜Ｖｄ前回値｜がＶｄｌｍｔ以下であり、且つ、｜Ｖｑ前回値｜がＶｑｌｍｔ以下であると判定すると、処理をステップ６０４に進める。ステップ６０４では、プロセッサ８０Ａは、Ｖｄｌｍｔ、Ｖｑｌｍｔをそのまま維持して、処理をステップ３に戻す。すなわち、ステップ６０４では、Ｖｄｌｍｔ、Ｖｑｌｍｔは変更されない。
【０１６０】
一方、ステップ６０２において、プロセッサ８０Ａは、｜Ｖｄ前回値｜がＶｄｌｍｔを超えているか、又は、｜Ｖｑ前回値｜がＶｑｌｍｔを超えているとき、前回のベクトル制御処理において電圧飽和状態が生じていると判定し、処理をステップ６０６に進める。
【０１６１】
ステップ６０６では、プロセッサ８０Ａは、ステップ６０２及び後述するステップ７で用いられるＶｄｌｍｔ及びＶｑｌｍｔを図２２又は図２３に従って第２の所定値だけ増大させ、処理をステップ３に戻す。ステップ６０６でＶｄｌｍｔ及びＶｑｌｍｔを増大させると、以降の処理で用いられるＶｄｌｍｔ及びＶｑｌｍｔは増大させたＶｄｌｍｔ及びＶｑｌｍｔとなる。
【０１６２】
ステップ３では、プロセッサ８０Ａは、ステップ６で維持又は変更されたＶｄｌｍｔ、Ｖｑｌｍｔなどを用いて、ｄ、ｑ軸積分上下限値Ｉｄｍａｘ、Ｉｑｍａｘ、Ｉｄｍｉｎ、Ｉｑｍｉｎの今回値を演算する。
【０１６３】
ステップ４では、プロセッサ８０Ａは、図２８に示す積分値決定処理を実行する。この積分値決定処理は、ステップ４００の前にステップ４２０、４２２が挿入されている点で図１０に示す積分値決定処理と異なる。
【０１６４】
ステップ４２０では、プロセッサ８０Ａは、上述したＬＰＦ処理部６０６Ｅ（６０８Ｅ）によるフィルタ処理を実行するか否かを判定すべく、ステップ６０２と同様の判定を実行する。ここで、ステップ４２０で用いるＶｄｌｍｔ、Ｖｑｌｍｔは、ステップ６でＶｄｌｍｔ、Ｖｑｌｍｔが維持されたか又は変更されたかに関わらず、ステップ６０２で用いたＶｄｌｍｔ、Ｖｑｌｍｔを用いる。すなわち、ステップ４２０では、プロセッサ８０Ａは、｜Ｖｄ前回値｜及び｜Ｖｑ前回値｜のそれぞれとステップ６０２で用いたＶｄｌｍｔ及びＶｑｌｍｔとを比較する。
【０１６５】
ステップ４２０において、プロセッサ８０Ａは、｜Ｖｄ前回値｜がＶｄｌｍｔを超えているとき、又は、｜Ｖｑ前回値｜がＶｑｌｍｔを超えているとき、電圧飽和状態が生じていると判定して、処理をステップ４２２に進める。
【０１６６】
ステップ４２２では、プロセッサ８０Ａは、ステップ２で演算したｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊に対して上述したＬＰＦ処理部６０６Ｅ、６０８Ｅによるフィルタ処理を実行して、処理をステップ４００に進める。したがって、ステップ４００以降の処理では、フィルタ処理が施されたＩｄ＊＊（Ｉｑ＊＊）がｄ（ｑ）軸積分上限値Ｉｄｍａｘ（Ｉｑｍａｘ）及びｄ（ｑ）軸積分下限値Ｉｄｍｉｎ（Ｉｑｍｉｎ）と比較されてｄ（ｑ）軸積分値が決定される。
【０１６７】
一方、ステップ４２０において、プロセッサ８０Ａは、｜Ｖｄ前回値｜がＶｄｌｍｔ以下であり、且つ、｜Ｖｑ前回値｜がＶｑｌｍｔ以下であるとき、フィルタ処理を実行せずに処理をステップ４００に進める。この場合、ステップ４００以降の処理では、ステップ２で演算したｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊がｄ（ｑ）軸積分上限値Ｉｄｍａｘ（Ｉｑｍａｘ）及びｄ（ｑ）軸積分下限値Ｉｄｍｉｎ（Ｉｑｍｉｎ）と比較されてｄ（ｑ）軸積分値が決定される。
【０１６８】
その後、プロセッサ８０Ａは、ステップ４１２、４１６又は４１８でｑ軸積分値を決定すると、処理をステップ７に戻す。
【０１６９】
ステップ７では、プロセッサ８０Ａは、図２９に示す電圧指令値決定処理を実行する。
ステップ７００では、プロセッサ８０Ａは、図９に示すステップ５と同様に、ｄ、ｑ軸電圧指令値の今回値Ｖｄ，ｔ、Ｖｑ，ｔを演算する。尚、第４実施形態では、ステップ４２２でｄ、ｑ軸積分値Ｉｄ＊＊、Ｉｑ＊＊に対してフィルタ処理が実行される場合がある。この場合、Ｖｄ，ｔ、Ｖｑ，ｔの演算には、フィルタ処理が施されたＩｄ＊＊、Ｉｑ＊＊が用いられる。
【０１７０】
ステップ７０２では、プロセッサ８０Ａは、ステップ７００で演算したＶｄ，ｔがｄ軸電圧上限値Ｖｄｍａｘ（＝＋Ｖｄｌｍｔ）を超えたか否かを判定する。上述したように、ステップ７では、Ｖｄｌｍｔ、Ｖｑｌｍｔは、ステップ６で維持又は変更されたＶｄｌｍｔ、Ｖｑｌｍｔが用いられる。したがって、ステップ６でＶｄｌｍｔが変更された場合、ステップ７０２では、Ｖｄ，ｔが変更後のＶｄｍａｘ、すなわち、図２２又は図２３に従って増大させたＶｄｍａｘを超えたか否かが判定される。
【０１７１】
ステップ７０２において、プロセッサ８０Ａは、Ｖｄ，ｔがＶｄｍａｘを超えていると判定すると、処理をステップ７０４に進める。
【０１７２】
ステップ７０４では、プロセッサ８０Ａは、最終的に出力するｄ軸電圧指令値の今回値をＶｄｍａｘに制限する（Ｖｄ＝Ｖｄｍａｘ）。したがって、ｄ軸電圧指令値が増大後のＶｄｍａｘに飽和した電圧飽和状態が生じるため、ワインドアップ現象が継続することになる。
【０１７３】
一方、ステップ７０２において、プロセッサ８０Ａは、Ｖｄ，ｔがＶｄｍａｘ以下であると判定すると、処理をステップ７０６に進める。
【０１７４】
ステップ７０６では、プロセッサ８０Ａは、Ｖｄ，ｔがｄ軸電圧下限値Ｖｄｍｉｎ（＝−Ｖｄｌｍｔ）未満であるか否かを判定する。上述したように、ステップ６でＶｄｌｍｔが変更された場合、ｄ軸電圧下限値Ｖｄｍｉｎは減少する。そして、プロセッサ８０Ａは、Ｖｄ，ｔがＶｄｍｉｎ未満であると判定すると、処理をステップ７０８に進める。
【０１７５】
ステップ７０８では、プロセッサ８０Ａは、最終的に出力するｄ軸電圧指令値の今回値をＶｄｍｉｎに制限する（Ｖｄ＝Ｖｄｍｉｎ）。したがって、ｄ軸電圧指令値が減少後のＶｄｍｉｎで飽和した電圧飽和状態が生じるため、ワインドアップ現象が継続することになる。
【０１７６】
一方、ステップ７０６において、プロセッサ８０Ａは、Ｖｄ，ｔがＶｄｍｉｎ以上であると判定すると、処理をステップ７１０に進める。
【０１７７】
ステップ７１０では、プロセッサ８０Ａは、ステップ７００で演算したＶｄをそのまま出力する（Ｖｄ＝Ｖｄ）。すなわち、今回のベクトル制御では、ステップ６で維持又は変更されたＶｄｍａｘ以下且つステップ６で維持又は変更されたＶｄｍｉｎ以上のＶｄが出力される。したがって、電圧飽和状態は生じない。
【０１７８】
ステップ７１２〜７２０の処理は、最終的なｑ軸電圧指令値Ｖｑ，ｔをステップ７０２〜７１０と同様に決定する処理であり、説明を省略する。プロセッサ８０Ａは、ステップ７１４、７１８又は７２０でＶｑ，ｔを決定すると、ベクトル制御処理を終了させる。その後、プロセッサ８０Ａは、上述したように、ステップ７で決定したｄ、ｑ軸電圧指令値Ｖｄ，ｔ、Ｖｑ，ｔに基づいてスイッチング素子７０Ａ〜７０Ｆを駆動するＰＷＭパルスを生成する。これにより、インバータ７０を介して電圧が印加されモータ６０が駆動される。
【０１７９】
尚、以上では、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）が積分演算部６０６Ａ（６０８Ａ）と積分制限部６０６Ｄ（６０８Ｄ）との間に設けられている場合の第４実施形態について説明した。ＬＰＦ処理部６０６Ｅ（６０８Ｅ）が制限値演算部６０６Ｃ（６０８Ｃ）と積分制限部６０６Ｄ（６０８Ｄ）との間にある場合には、図２８に示すステップ４２２の処理を、ｄ（ｑ）軸積分上下限値Ｉｄｍａｘ（Ｉｑｍａｘ）、Ｉｄｍｉｎ（Ｉｑｍｉｎ）にフィルタ処理を施す処理に変更する。これにより、第２実施形態の第１変形例を第３実施形態と組み合わせることが可能である。
【０１８０】
また、ＬＰＦ処理部６０６Ｅ（６０８Ｅ）が積分制限部６０６Ｄ（６０８Ｄ）よりも下流側にある場合には、図２８に示すステップ４００よりも上流側のステップ４２０及び４２２をステップ４１２、４１６及び４１８よりも下流側に移動する。これにより、第２実施形態の第２変形例と第３実施形態とを組み合わせることが可能である。この場合、ステップ４２２の処理は、最終的に決定されたｄ（ｑ）軸積分値にフィルタ処理を施す処理に変更される。すなわち、積分制限部６０６Ｄ（６０８Ｄ）が演算したｄ（ｑ）軸積分値（制限前のｄ（ｑ）軸積分値）又は所定の範囲内に制限されたｄ（ｑ）軸積分値（制限後のｄ（ｑ）軸積分値）にフィルタ処理が施される。
【０１８１】
但し、第２実施形態で説明した各フィルタ処理の１つのみを実行することに限るものではない。すなわち、制限前のｄ（ｑ）軸積分値と、ｄ（ｑ）軸積分上下限値又は制限後のｄ（ｑ）軸積分値とにフィルタ処理を施してもよい。また、ｄ（ｑ）軸積分上下限値と、制限後のｄ（ｑ）軸積分値とにフィルタ処理を施してもよい。さらに、制限前のｄ（ｑ）軸積分値、ｄ（ｑ）軸積分上下限値及び制限後のｄ（ｑ）軸積分値の全てにフィルタ処理を施してもよい。
【０１８２】
また、第２実施形態の第３変形例を第３実施形態に組み合わせることも可能である。このために、図２８に示すステップ４２０及び４２２の処理を削除し、図２６に示すステップ３の処理が、ｄ（ｑ）軸積分上下限値Ｉｄｍａｘ（Ｉｑｍａｘ）、Ｉｄｍｉｎ（Ｉｑｍｉｎ）を演算することに加えて、演算したＩｄｍａｘ、Ｉｑｍａｘに第１の所定値αを加算し、演算したＩｄｍｉｎ、Ｉｑｍｉｎから第１の所定値αを減算する処理に変更される。
【０１８３】
以上説明した第４実施形態に係る制御器８０では、第３実施形態と同様に、ｄ、ｑ軸電圧指令値Ｖｄ、Ｖｑが制限されながら徐々に過変調領域に入るようになる。また、過変調制御の実行及び過変調制御におけるワインドアップ現象の発生を時間的に遅らせることができる。したがって、相電流Ｉｕ、Ｉｖ、Ｉｗの波形の更なるひずみが抑制されて、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑの波形がひずむことを抑制することができる。
【０１８４】
また、第３実施形態で説明したように、第４実施形態においても、ｄ（ｑ）軸積分上下限値Ｉｄｍａｘ（Ｉｑｍａｘ）、Ｉｄｍｉｎ（Ｉｑｍｉｎ）の演算に変更後のＶｄｌｍｔ（Ｖｑｌｍｔ）が用いられる。したがって、ｄ（ｑ）軸電圧指令値Ｖｄ（Ｖｑ）が飽和しながら増大している間のｄ（ｑ）軸積分値の過剰な変化も抑制することが可能となる。さらに、第４実施形態では、ｄ（ｑ）軸電圧制限値Ｖｄｌｍｔ、Ｖｑｌｍｔの継時的な変更に伴う電圧飽和状態が生じている間、フィルタ処理又は所定の範囲の拡大処理が行われる。したがって、第４実施形態では、ｄ、ｑ軸電流検出値Ｉｄ、Ｉｑの波形のひずみの抑制効果を更に向上させることができる。
【０１８５】
さらに、上記各実施形態では、制御器８０は、ｄ、ｑ軸電流偏差に対する比例積分制御を実行するものとして説明したが、これに限るものではない。例えば、制御器８０は、比例積分制御に加えて微分制御（すなわち、ＰＩＤ制御）を実行するように構成されていてもよい。
【０１８６】
尚、当業者であれば、様々な上記実施形態の技術的思想について、その一部を省略したり、その一部を適宜組み合わせたり、その一部を置換したりすることで、新たな実施形態を生み出せることを容易に理解できるであろう。
【符号の説明】
【０１８７】
４６  ＶＣＲコントローラ（モータ制御装置）
６０  モータ（３相ブラシレスモータ）
７０  インバータ（電力変換器）
８０  制御器
６００  ベクトル制御部
６０２  ｄ軸電流偏差演算部
６０４  ｑ軸電流偏差演算部
６０６  第２のｄ軸電流演算部
６０８  第２のｑ軸電流演算部
６０６Ａ（６０８Ａ）  積分演算部
６０６Ｃ（６０８Ｃ）  制限値演算部
６０６Ｄ（６０８Ｄ）  積分制限部
６０６Ｅ（６０８Ｅ）  ＬＰＦ処理部
６１６  ｄ軸電圧演算部
６１８  ｑ軸電圧演算部
６２０  電圧制限部
【図１】
2020156243.tif 000011
【図２】
2020156243.tif 000012
【図３】
2020156243.tif 000013
【図４】
2020156243.tif 000014
【図５】
2020156243.tif 000015
【図６】
2020156243.tif 000016
【図７】
2020156243.tif 000017
【図８】
2020156243.tif 000018
【図９】
2020156243.tif 000019
【図１０】
2020156243.tif 000020
【図１１】
2020156243.tif 000021
【図１２】
2020156243.tif 000022
【図１３】
2020156243.tif 000023
【図１４】
2020156243.tif 000024
【図１５】
2020156243.tif 000025
【図１６】
2020156243.tif 000026
【図１７】
2020156243.tif 000027
【図１８】
2020156243.tif 000028
【図１９】
2020156243.tif 000029
【図２０】
2020156243.tif 000030
【図２１】
2020156243.tif 000031
【図２２】
2020156243.tif 000032
【図２３】
2020156243.tif 000033
【図２４】
2020156243.tif 000034
【図２５】
2020156243.tif 000035
【図２６】
2020156243.tif 000036
【図２７】
2020156243.tif 000037
【図２８】
2020156243.tif 000038
【図２９】
2020156243.tif 000039
【手続補正書】
【提出日】令和2年3月30日(2020.3.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
【数２】
2020156243.tif 000040
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８５
【補正方法】変更
【補正の内容】
【００８５】
【数５】
2020156243.tif 000041
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８８
【補正方法】変更
【補正の内容】
【００８８】
【数６】
2020156243.tif 000042
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９１
【補正方法】変更
【補正の内容】
【００９１】
【数８】
2020156243.tif 000043