(57)【特許請求の範囲】
【請求項１】
直流電源から入力される直流電力を交流電力に変換し、モータに供給するインバータと、
前記直流電源の直流電圧を検出する電圧検出手段と、
前記モータの回転数を検出するモータ回転数検出手段と、
前記電圧検出手段の検出電圧、外部から入力されるトルク指令値及び前記モータ回転数検出手段の検出回転数に基づき、前記インバータから出力される交流電流の電流指令値を算出する指令値算出手段と、
前記電流指令値に基づき、前記インバータに含まれるスイッチング素子の制御信号を生成し、前記インバータを制御するインバータ制御手段と、
前記インバータの変調率又は前記交流電流の電流偏差に基づき、前記インバータの制御状態が不安定であるか否かを検出する状態検出手段と、
前記状態検出手段により検出された前記制御状態が不安定である場合に、前記電流指令値に含まれるｄ軸電流指令値が負側に増加するように、第１の検出電圧又は第１の検出回転数を所定のオフセット量でオフセットして、第２の検出電圧又は第２の検出回転数を演算するオフセット手段とを備え、
前記指令値算出手段は、
前記トルク指令値及び前記検出回転数と対応しつつ、前記検出電圧の各値において、前記インバータの効率を最適化させる前記電流指令値、又は、前記トルク指令値及び前記検出電圧と対応しつつ、前記検出回転数の各値において、前記インバータの効率を最適化させる前記電流指令値を演算し、
前記第２の検出電圧又は前記第２の検出回転数を入力として前記電流指令値を算出して、第２のｄ軸電流指令値を第１のｄ軸電流指令値より負側に増加させ、
前記第１の検出電圧、前記第１の検出回転数、及び前記第１のｄ軸電流指令値は、それぞれ、オフセット前の前記検出電圧、前記検出回転数、及び前記ｄ軸電流指令値であり、
前記第２の検出電圧、前記第２の検出回転数、及び前記第２のｄ軸電流指令値は、それぞれ、オフセット後の前記検出電圧、前記検出回転数、及び前記ｄ軸電流指令値である
ことを特徴とするモータ制御装置。
【請求項２】
前記指令値算出手段は、前記検出電圧と、前記トルク指令値と、前記検出回転数と、ｄ軸電流指令値と、ｑ軸電流指令値と、を対応づけるマップを格納し、
前記マップにおいて、前記トルク指令値と前記検出回転数とをそれぞれ同一とする条件の下で、前記第２の検出電圧に対応する前記第２のｄ軸電流指令値は、前記第１の検出電圧に対応する前記第１のｄ軸電流指令値より負側に大きいことを特徴とする請求項１記載のモータ制御装置。
【請求項３】
前記指令値算出手段は、前記検出電圧と、前記トルク指令値と、前記検出回転数と、ｄ軸電流指令値と、ｑ軸電流指令値と、を対応づけるマップを格納し、
前記マップにおいて、前記トルク指令値と前記検出電圧とをそれぞれ同一とする条件の下で、前記第２の前記検出回転数に対応する前記第２のｄ軸電流指令値は、前記第１の検出回転数に対応する前記第１のｄ軸電流指令値より、負側に大きいことを特徴とする請求項１記載のモータ制御装置。
【請求項４】
前記オフセット手段は、前記状態検出手段により検出される前記制御状態が安定状態になるまで、前記検出電圧又は前記検出回転数を段階的にオフセットする
ことを特徴とする請求項１〜３のいずれか一項に記載のモータ制御装置。
【請求項５】
前記状態検出手段は、
前記インバータの変調率を演算し、
前記変調率が所定の変調率より高い場合に、前記インバータの制御状態が不安定であると判断する
ことを特徴とする請求項１〜４のいずれか一項に記載のモータ制御装置。
【請求項６】
前記インバータから前記モータに流れる電流を検出する電流検出手段をさらに備え、
前記状態検出手段は、
前記指令値算出手段により算出された前記電流指令値と前記電流検出手段の検出電流の値との電流差を演算し、
前記電流差が所定の電流閾値を越えた場合に、前記インバータの制御状態が不安定であると判定する
ことを特徴とする請求項１〜４のいずれか一項に記載のモータ制御装置。
【請求項７】
前記オフセット手段は、前記状態検出手段により検出された前記制御状態が不安定状態から安定状態になった場合に、前記第２の検出電圧又は前記第２の検出回転数を、前記オフセット量より小さい変化量で、前記電圧検出手段により検出された前記検出電圧又は前記検出回転数に戻す
ことを特徴とする請求項１〜６のいずれか一項に記載のモータ制御装置。
【請求項８】
インバータにより直流電源から入力される直流電力を交流電力に変換し、モータに供給する工程と、
前記直流電源の直流電圧を検出する電圧検出工程と、
前記モータの回転数を検出する回転数検出工程と、
前記電圧検出工程により検出された検出電圧、外部から入力されたトルク指令値及び前記回転数検出工程により検出された検出回転数に基づき、前記インバータから出力される交流電流の電流指令値を算出する指令値算出工程と、
前記電流指令値に基づき、前記インバータに含まれるスイッチング素子の制御信号を生成し、前記インバータを制御する工程と、
前記インバータの変調率又は前記交流電流の電流偏差に基づき、前記インバータの制御状態が不安定であるか否かを検出する状態検出工程と、
前記状態検出工程により検出された前記制御状態が不安定である場合に、前記電流指令値に含まれるｄ軸電流指令値が負側に増加するように、第１の検出電圧又は第１の検出回転数を所定のオフセット量でオフセットして、第２の検出電圧又は第２の検出回転数を演算する工程とを含み、
前記指令値算出工程は、
前記トルク指令値及び前記検出回転数と対応しつつ、前記検出電圧の各値において、前記インバータの効率を最適化させる前記電流指令値、又は、前記トルク指令値及び前記検出電圧と対応しつつ、前記検出回転数の各値において、前記インバータの効率を最適化させる前記電流指令値を演算し、
前記第２の検出電圧又は前記第２の検出回転数を入力として前記電流指令値を算出して、第２のｄ軸電流指令値を第１のｄ軸電流指令値より負側に増加させ、
前記第１の検出電圧、前記第１の検出回転数、及び前記第１のｄ軸電流指令値は、それぞれ、オフセット前の前記検出電圧、前記検出回転数、及び前記ｄ軸電流指令値であり、
前記第２の検出電圧、前記第２の検出回転数、及び前記第２のｄ軸電流指令値は、それぞれ、オフセット後の前記検出電圧、前記検出回転数、及び前記ｄ軸電流指令値である
ことを特徴とするモータ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置及びモータ制御方法に関するものである。
【背景技術】
【０００２】
インバータによって印加電圧が制御される交流電動機の制御装置であって、同一電流振幅に対して交流電動機のトルクが最大となる電流位相に従ってトルク指令値に対応するトルク電流指令を設定するための第１制御ラインと、第１の制御ラインと比較して同一トルクに対応する電流振幅が大きくなる電流位相に従ってトルク指令値に対応する電流指令を設定するための第２制御ラインとの一方を、交流電動機の動作領域に応じて選択するとともに、選択した制御ラインに従ってトルク指令値に対応する電流指令を生成する、交流電動機の制御装置が知られている（特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３０７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、第２の制御ラインは、電圧不足等の要因に対して十分な余裕を持たせるよう電流振幅を大きくして設定されているため、第２制御ラインに切り換えた時に、インバータの効率が大幅に悪くなる、という問題があった。
【０００５】
本発明が解決しようとする課題は、インバータの効率の悪化を防ぎつつ、インバータを安定させて制御することができる、モータ制御装置を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、インバータの制御状態に応じて、直流電源の検出電圧又はモータの検出回転数を所定のオフセット量でオフセットし、オフセットされた検出電圧又は検出回転数を入力としてインバータの交流電流の電流指令値を算出し、電流指令値に含まれるｄ軸電流指令値を負側に増加させる、ことによって上記課題を解決する。
【発明の効果】
【０００７】
本発明によれば、インバータの効率が大幅に悪化しないように、適切な検出電圧又は検出回転数にオフセットして電流指令値が算出され、必要以上にｄ軸電流指令値が大きくならないため、インバータを安定して制御することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係るモータ制御装置のブロック図である。
【図２】図１の電流電圧マップに格納されるマップの概要を示す図である。
【図３】図１のマップ切替器のブロック図である。
【図４】図１のマップ参照電圧演算部のブロック線図である。
【図５】図１のモータ制御装置の制御手順を示すフローチャートである。
【図６】図１のモータ制御装置の制御手順を示すフローチャートである。
【図７】本発明の他の実施形態に係るモータ制御装置のブロック図である。
【図８】図７の電流電圧マップに格納されるマップの概要を示す図である。
【図９】図７のマップ切替器のブロック図である。
【図１０】図７のマップ参照回転数演算部のブロック線図である。
【図１１】図７のモータ制御装置の制御手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態を図面に基づいて説明する。
【００１０】
《第１実施形態》
図１は、発明の実施形態に係るモータ制御装置のブロック図である。詳細な図示は省略するが、本例のインバータ制御装置を電気自動車に設ける場合に、三相交流電力の永久磁石モータ８は、走行駆動源として駆動し、電気自動車の車軸に結合されている。なお本例のモータ制御装置は、例えばハイブリッド自動車（ＨＥＶ）等の電気自動車以外の車両にも適用可能である。
【００１１】
本例のインバータ制御装置は、モータ８の動作を制御する制御装置であって、電流電圧マップ１と、電流制御器２と、座標変換器３と、ＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）変換器４と、バッテリ５と、インバータ６と、電流センサ７と、磁極位置検出器９と、座標変換器１０と、回転数演算器１１と、ＬＰＦ（Ｌｏｗ  Ｐａｓｓ  Ｆｉｌｔｅｒ）１２と、マップ切替器１３と、電圧検出器１４と、を備える。
【００１２】
電流電圧マップ１には、モータ８の出力目標値として外部より入力されるトルク指令値（Ｔ＊）と、回転数演算器１１の出力である、モータ８の角周波数（ω）、及び、マップ切替器１３から出力される電圧（Ｖ＊ｄｃ）が入力される。電流電圧マップ１には、トルク指令値（Ｔ＊）、角周波数（ω）、電圧（Ｖ＊ｄｃ）を指標として、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を出力するためのマップが格納されている。なおマップの詳細な構成は後述する。電流電圧マップ１は、当該マップを参照することにより、入力されたトルク指令値（Ｔ＊）、角周波数（ω）及び電圧（Ｖ＊ｄｃ）に対応する、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出し、出力する。ここで、ｄｑ軸は、回転座標系の成分を示している。ｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）について、ｄ軸及びｑ軸に電流が流れると、ｄ軸にはωＬｄｉｄｑ軸にはωＬｑｉｑの干渉電圧が発生するため、ｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）は当該干渉電圧を打ち消すための電圧である。なお、Ｌｄはｄ軸のインダクタンスを、Ｌｑはｑ軸のインダクタンスを示す。また電流指令値（ｉ＊ｄ、ｉ＊ｑ）及び電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）は、インバータ６からモータ８に出力される交流電流の指令値に相当し、後述するように、当該指令値に基づいて、スイッチング素子のパルス幅が決定し、インバータ６の出力電力が決定する。
【００１３】
ＬＰＦ１２は、ｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を入力として、高周波帯域をカットし、電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ＿ｆｌｔ、Ｖ＊ｑ＿ｄｃｐｌ＿ｆｌｔ）を出力する。
【００１４】
電流制御器２は、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）、電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ＿ｆｌｔ、Ｖ＊ｑ＿ｄｃｐｌ＿ｆｌｔ）及びｄｑ軸電流（ｉｄ、ｉｑ）を入力として、制御演算を行い、ｄｑ軸電圧指令値（Ｖ＊ｄ、Ｖ＊ｑ）を座標変換器３及びマップ切替器１３に出力する。
【００１５】
座標変換器３は、ｄｑ軸電圧指令値（Ｖ＊ｄ、Ｖ＊ｑ）及び磁極位置検出器９の検出値θを入力として、下記の式１を用いて、当該回転座標系のｄｑ軸電圧指令値（Ｖ＊ｄ、Ｖ＊ｑ）を固定座標系のｕ、ｖ、ｗ軸の電圧指令値（Ｖ＊ｕ、Ｖ＊ｖ、Ｖ＊ｗ）に変換する。
【００１６】
【数１】
0005664080.tif 000002
ＰＷＭ変換器４は、入力される電圧指令値（Ｖ＊ｕ、Ｖ＊ｖ、Ｖ＊ｗ）に基づき、インバータ６のスイッチング素子の駆動信号（Ｄ＊ｕｕ、Ｄ＊ｕｌ、Ｄ＊ｖｕ、Ｄ＊ｖｌ、Ｄ＊ｗｕ、Ｄ＊ｗｌ）を生成し、インバータ６に出力する。スイッチング素子は、ＰＷＭのパルス信号に基づいてオン及びオフを切り換える。
【００１７】
バッテリ５は、二次電池を含む直流電源であり、本例の車両の動力源となる。インバータ６は、ＭＯＳＦＥＴやＩＧＢＴ等のスイッチング素子（図示しない）を対に接続した回路を複数接続した三相インバータ回路により構成されている。各スイッチング素子には、駆動信号（Ｄ＊ｕｕ、Ｄ＊ｕｌ、Ｄ＊ｖｕ、Ｄ＊ｖｌ、Ｄ＊ｗｕ、Ｄ＊ｗｌ）が入力される。そして、当該スイッチング素子のスイッチング動作により、直流電源の直流電圧が交流電圧（Ｖｕ、Ｖｖ、Ｖｗ）に変換され、モータ８に入力される。またモータ８が発電機として動作する場合には、インバータ６はモータ８から出力される交流電圧を直流電圧に変換しバッテリ５に出力する。これによりバッテリ５が充電される。
【００１８】
電流センサ７は、Ｕ相及びＶ相にそれぞれ設けられ、相電流（ｉｕ、ｉｖ）を検出し、座標変換器１０に出力する。ｗ相の電流は、電流センサ７により検出されず、代わりに、座標変換器１０は、入力された補正後の相電流（ｉｕ、ｉｖ）に基づき、下記の式２を用いて、ｗ相の相電流を算出する。
【００１９】
【数２】
0005664080.tif 000003
なお、ｗ相の相電流について、ｗ相に電流センサ７を設け、当該電流センサ７により検出してもよい。
【００２０】
モータ８は、多相モータであり、インバータ６に接続される。またモータ８は発電機としても動作する。磁極位置検出器９はモータ８に設けられ、モータ８の磁極の位置を検出する検出器であり、検出値（θ）を回転数演算器１１に出力する。回転数演算器１１は、磁極位置検出器９の検出値（θ）からモータ８の角周波数（ω）を演算する。
【００２１】
座標変換器１０は、３相２相変換を行う制御部であり、相電流（ｉｕ、ｉｖ、ｉｗ）及び磁極位置検出器９の検出値θを入力として、下記の式３により、固定座標系の相電流（ｉｕ、ｉｖ、ｉｗ）を回転座標系の相電流（ｉｄ、ｉｑ）に変換する。
【００２２】
【数３】
0005664080.tif 000004
そして、当該相電流（ｉｄ、ｉｗ）が電流制御器２及びマップ切替器１３に入力されることにより、本例のインバータ制御装置は所定のゲインの電流制御ループによる制御を行う。
【００２３】
マップ切替器１３は、インバータ３の制御状態を判定し、判定された制御状態に応じて、電圧検出器１４の出力された検出電圧（Ｖｄｃ）をオフセットし、電流電圧マップ１に参照電圧（Ｖ＊ｄｃ）を出力する。インバータ３の制御状態が不安定な状態である場合には、マップ切替器１３は、検出電圧（Ｖｄｃ）をオフセットして、オフセットされた電圧を参照電圧（Ｖ＊ｄｃ）としてする。一方、インバータ３の制御状態が安定な状態である場合には、マップ切替器１３は、検出電圧（Ｖｄｃ）をオフセットせず、検出電圧（Ｖｄｃ）を参照電圧（Ｖ＊ｄｃ）として出力する。なお、マップ切替器１３の詳細な構成は後述する。
【００２４】
電圧検出器１４は、バッテリ５からインバータ６に供給される直流電圧を検出するセンサであり、検出した検出電圧（Ｖｄｃ）をマップ切替器１３に出力する。
【００２５】
次に、マップ切替器１３及び電流電圧マップ１について、図２〜図４を用いて、詳述する。図２は電流電圧マップ１に格納されるマップ概要を示す図であり、図３はマップ切替器１３を示すブロック図である。図４はマップ参照電圧演算部１３５のブロック線図である。
【００２６】
電流電圧マップ１は、トルク指令値（Ｔ＊）、角周波数（ω）、参照電圧（Ｖ＊ｄｃ）を指標として、図２に示すマップを参照し、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出し、出力する。電流電圧マップ１に格納されるマップは、参照電圧（Ｖ＊ｄｃ）毎に、角周波数（ω）とトルク指令（Ｔ＊）を２軸にとる、複数のマップであり、電流電圧マップ１のメモリ（図示しない）に予め格納されている。そして、当該２軸の格子点には、対応するｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を示すデータが割当てられている。ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を示すデータには、トルク指令値（Ｔ＊）及び角周波数（ω）と対応しつつ、各電圧（Ｖ＊ｄｃ）において、インバータ６の効率を最大する指令値が設定されている。インバータ６が安定して駆動できる変調率の範囲は予め決まるため、データに含まれる指令値は、変調率の範囲の上限値をとるよう設定される。これにより、各マップにおいて、トルク指令値（Ｔ＊）及び角周波数（ω）を同一にした場合には、電圧（Ｖ＊ｄｃ）が小さいマップほど、同一であるトルク指令値（Ｔ＊）及び角周波数（ω）に対応するデータに含まれるｄ軸電流指令値（ｉ＊ｄ）は負側に大きくなる。例えば、図２に示すように、入力される電圧、例えば、Ｖ＊ａ、Ｖ＊ｂ、Ｖ＊ｃ毎に、マップが割当てられている（ただし、Ｖ＊ａ＞Ｖ＊ｂ＞Ｖ＊ｃとする。）。そして、あるトルク指令値（Ｔ＊）及び角周波数（ω）を同一の値とする条件下で、当該トルク指令値（Ｔ＊）及び角周波数（ω）に対応するデータ（指令値）を、Ｖ＊ａ、Ｖ＊ｂ、Ｖ＊ｃ毎のマップから、それぞれ抽出する。この時、本例のマップでは、マップ（電圧Ｖ＊ｃ）から抽出されたデータに含まれるｄ軸電流指令値（ｉ＊ｄ）が最も負側に大きい値となり、マップ（電圧Ｖ＊ｂ）から抽出されたデータに含まれるｄ軸電流指令値（ｉ＊ｄ）が二番目に負側に大きい値となり、マップ（電圧Ｖ＊ａ）から抽出されたデータに含まれるｄ軸電流指令値（ｉ＊ｄ）が最も負側に小さい値となる。
【００２７】
なお、電流電圧マップ１のマップにおける、トルク指令値（Ｔ＊）、角周波数（ω）、参照電圧（Ｖ＊ｄｃ）の設定範囲は、インバータ６で動作保証がされている範囲、モータ８の入出力可能なトルク範囲及び入出力可能な回転数等に基づいて、予め設定されている。
【００２８】
図３に示すように、マップ切替器１３は、電流偏差演算部１３１と、Ｖａ＿ｓｑｕａｒｅ演算部１３２と、閾値演算部１３３と、オフセット判定部１３４と、マップ参照電圧演算部１３５とを備えている。
【００２９】
電流偏差演算部１３１は、インバータ３からモータ６に供給される電流と電流指令値との偏差を演算する演算部であり、インバータ３の制御状態が安定しているか否かを示す指標として用いるために、当該偏差を演算する。モータ６に供給される電流と電流指令値との偏差は、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）とｄｑ軸電流（ｉｄ、ｉｑ）との電流差により表される。具体的には、電流偏差演算部１３１は、電流電圧マップ１から出力されるｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及び座標変換器１０から出力されるｄｑ軸電流（ｉｄ、ｉｑ）を入力として、下記の式４及び式５を用いて、電流偏差（Δｄ、Δｑ）を算出し、電流偏差（Δｄ、Δｑ）をオフセット判定部１３４に出力する。
【００３０】
【数４】
0005664080.tif 000005
【００３１】
【数５】
0005664080.tif 000006
Ｖａ＿ｓｑｕａｒｅ演算部１３２は、インバータ３の制御状態が安定しているか否かを示す指標として、電圧（Ｖａ＿ｓｑｕａｒｅ）を演算する。電圧（Ｖａ＿ｓｑｕａｒｅ）は、回転座標系における、ｄｑ軸電圧指令値（Ｖ＊ｄ、Ｖ＊ｑ）のベクトルの大きさに相当する。具体的には、Ｖａ＿ｓｑｕａｒｅ演算部１３２は、電流電圧マップ１から出力されるｄｑ軸電圧指令値（Ｖ＊ｄ、Ｖ＊ｑ）を入力として、下記の式６を用いて、電圧（Ｖａ＿ｓｑｕａｒｅ）を算出し、電流（Ｖａ＿ｓｑｕａｒｅ）をオフセット判定部１３４に出力する。
【００３２】
【数６】
0005664080.tif 000007
なお、Ｖａ＿ｓｑｕａｒｅ演算部１３２からオフセット判定部１３４に出力される電圧について、脈動を除去するために、Ｖａ＿ｓｑｕａｒｅ演算部１３２とオフセット判定部１３４との間に、ローパスフィルタを挿入してもよい。ローパスフィルタを挿入する場合に、Ｖａ＿ｓｑｕａｒｅ演算部１３２からオフセット判定部１３４に出力される電圧（Ｖｆｌｔ）は、下記の式７により算出される。
【００３３】
【数７】
0005664080.tif 000008
ただし、ＨＬＰＦはフィルタ係数を示す。
【００３４】
閾値演算部１３３は、インバータ３の制御状態が安定しているか否かを示す判定閾値として、電圧飽和判定閾値（Ｖｒｅｆ）を演算する。電圧飽和判定閾値（Ｖｒｅｆ）は、インバータ６の出力可能な電圧範囲を超えて電圧飽和するか否かを判定するための閾値であり、下記の式８により算出される。閾値演算部１３３は、電圧検出器の検出電圧（Ｖｄｃ）を入力として、電圧飽和判定閾値（Ｖｒｅｆ）を演算し、オフセット判定部１３４に出力する。
【００３５】
【数８】
0005664080.tif 000009
ただし、Ｋｒｅｆは所定の係数を示している。
【００３６】
オフセット判定部１３４は、電流偏差（Δｄ、Δｑ）、電圧（Ｖａ＿ｓｑｕａｒｅ）及び電圧飽和判定閾値（Ｖｒｅｆ）に基づいて、インバータ６の制御状態を判定する。オフセット判定部１３４は、電流偏差（Δｄ）とｄ軸電流判定閾値（Δｄｃ）とを比較し、電流偏差（Δｑ）とｑ軸電流判定閾値（Δｑｃ）とを比較する。
【００３７】
ｄ軸電流判定閾値（Δｄｃ）及びｑ軸電流判定閾値（Δｑｃ）は、オフセット判定部１３４に予め設定されている閾値である。インバータ６の制御中、電流センサ７により検出される相電流（ｉｕ、ｉｖ、ｉｗ）は、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）に対して、ある範囲内で脈動している。そのため、オフセット判定部１３４が脈動による電流変化を誤って判定しないように、ｄ軸電流判定閾値（Δｄｃ）及びｑ軸電流判定閾値（Δｑｃ）は、脈動する電流閾値に対して大きく設定されている。
【００３８】
そして、オフセット判定部１３４は、下記の式（９）又は式（１０）を満たす場合に、インバータ６の制御状態が不安定である、と判断する。
【００３９】
【数９】
0005664080.tif 000010
【００４０】
【数１０】
0005664080.tif 000011
なお、オフセット判定部１３４は、所定の時間の間、上記の式（９）又は式（１０）を満たす場合に、インバータ６の制御状態が不安定である、と判断してもよい。相電流（ｉｕ、ｉｖ、ｉｗ）は、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）の変化に対して、所定の時定数の一次遅れで追従するため、当該時定数に対して、当該所定の時間を長く設定することにより、判定精度を高めることができる。
【００４１】
またオフセット判定部１３４は、電圧（Ｖａ＿ｓｑｕａｒｅ）と電圧飽和判定閾値（Ｖｒｅｆ）と比較し、下記の式（１１）を満たす場合に、インバータ６の制御状態が不安定である、と判断する。
【００４２】
【数１１】
0005664080.tif 000012
そしてオフセット判定部１３４は、上記の判定により、インバータ６の制御状態が不安定である、と判断した場合には、オフセットフラグをオンにし、マップ参照電圧演算部１３５に出力する。一方、オフセット判定部１３４は、上記の条件を満たさず、インバータ６の制御状態が安定である、と判断した場合には、オフセットフラグをオフにする。
【００４３】
なお、オフセット判定部１３４が不安定状態を検出してオフセットフラグをオンにし、マップ参照電圧演算部１３５により検出電圧（Ｖｄｃ）がオフセットされる場合に、不安定状態が過渡的に解消され、連続してオフセットが発生しオフセット値が過大になってしまう可能性がある。そのため、オフセット判定部１３４は、オフセットフラグを１制御周期のみオンにし、次の制御周期ではオフにしてもよい。そして、不安定状態解消の過渡期間はオフセットフラグのオンが禁止され、予め設定された時間が経過した後に、オフセット判定部１３４は、オフセットフラグのオン及びオフの判定を再開する。その上で、不安定状態が解消されていない場合には、マップ参照電圧演算部１３５により、再度オフセットが行われる。
【００４４】
次に図４を用いてマップ参照電圧演算部１３５を説明する。マップ参照電圧演算部１３５は、以下のように、インバータ６の制御状態に応じて、電圧検出器１４により検出された検出電圧（Ｖｄｃ）を段階的にオフセットして、参照電圧（Ｖ＊ｄｃ）を出力する。マップ参照電圧演算部１３５は、電圧制限部１３５１と、減算器１３５２と、前回値保持部１３５３と、減算処理部１３５４と、オフセット下限値設定部１３５５と、加算器１３５６と、オフセット値設定部１３５７と、スイッチ１３５８と、電圧制限部１３５９とを備えている。
【００４５】
電圧制限部１３５１は、検出された検出電圧（Ｖｄｃ）に対して、上限電圧値（Ｖｄｃ＿ｈ）を設定する。上限電圧値（Ｖｄｃ＿ｈ）は、電流電圧マップ１に格納されているマップのうち最も高い参照電圧（Ｖ＊ｄｃ）に対応する。上限電圧値（Ｖｄｃ＿ｈ）より高い電圧が電流電圧マップ１に入力された場合に、電流電圧マップ１は、入力された電圧に対して適切なマップを参照することができない。そのため、電圧制限部１３５１により、検出電圧（Ｖｄｃ）に上限を設けることにより、電流電圧マップ１に入力される参照電圧（Ｖ＊ｄｃ）に対しても上限を設けている。そして、検出電圧（Ｖｄｃ）が上限電圧値（Ｖｄｃ＿ｈ）より高い電圧である場合には、電圧制限部１３５１は上限電圧値（Ｖｄｃ＿ｈ）を出力電圧値（Ｖｄｃ＿ｌｉｍ）として減算器１３５２に出力する。一方、検出電圧（Ｖｄｃ）が上限電圧値（Ｖｄｃ＿ｌｉｍ）以下の電圧である場合には、電圧制限部１３５１は電圧値に制限をかけず、検出電圧（Ｖｄｃ）を出力電圧値（Ｖｄｃ＿ｌｉｍ）として減算器１３５２に出力する。
【００４６】
前回値保持器１３５３は、下記に示す、オフセット値を設定する制御ループによって設定された、前回のオフセット値（ΔＶｓ）を保存する。前回のオフセット値（ΔＶｓ）の初期値はゼロである。減算処理部１３５４は、オフセット値（ΔＶｓ）からオフセット減算値（Ｖｍ）を減算することにより、オフセット値（ΔＶｓ）を０［Ｖ］に向けて減算処理を行う。オフセット減算値（Ｖｍ）は、単位時間あたりの電圧変化量であって予め設定されており、後述するオフセット値（Ｖｏｆｆｓｅｔ）より小さい値に設定されている。減算処理は、オフセット値（ΔＶｓ）によりオフセットされた電圧を、オフセットされていない電圧に戻すために行う処理である。また、減算処理部１３５４には、オフセット減算値（Ｖｍ）が所定の値で固定されているため、減算処理の際のオフセットの変化量に制限がかかる。そして、減算処理部１３５４は、オフセット値（ΔＶｓ）からオフセット減算値（Ｖｍ）を減算することで、オフセット値（ΔＶｄｅｃ）を算出し、オフセット下限値設定部１３５５へ出力する。
【００４７】
オフセット下限値設定部１３５５にはオフセット値（ΔＶｄｅｃ）に対して下限値が設定されており、オフセット下限値設定部１３５５は、オフセット値（ΔＶｄｅｃ）に制限をかけた上で、オフセット値（Ｖｄｅｃ＿ｌｉｍ）を加算器１３５６に出力する。減算処理を行うことで、オフセット値（ΔＶｄｅｃ）がマイナスになる場合には、減算器１３５２において、マイナスのオフセット値（ΔＶｄｅｃ）を減算すると、検出電圧（Ｖｄｃ）に対して逆方向にオフセットがかかってしまい、元の検出電圧（Ｖｄｃ）に収束させることができない。そのため、オフセット下限値設定部１３５５は、オフセット値（ΔＶｄｅｃ）がマイナスになる場合には、減算処理されたオフセット値（ΔＶｄｅｃ）ではなく、減算処理される前のオフセット値（ΔＶｓ）を、オフセット値（ΔＶｄｅｃ＿ｌｉｍ）として、加算器１３５６に出力する。一方、オフセット下限値設定部１３５５は、オフセット値（ΔＶｄｅｃ）がゼロ以上の値である場合には、減算処理されたオフセット値（ΔＶｄｅｃ）をオフセット値（ΔＶｄｅｃ＿ｌｉｍ）として出力する。
【００４８】
オフセット値設定部１３５７には、オフセット値（Ｖｏｆｆｓｅｔ）が予め設定されている。オフセット値（Ｖｏｆｆｓｅｔ）は、マップ参照電圧演算部１３５による１回あたりの制御（図４に示すループ制御）でオフセットされるオフセット値の大きさを示しており、当該オフセット値（Ｖｏｆｆｓｅｔ）を大きい値に設定することで、単位時間あたりの検出電圧（Ｖｄｃ）のオフセット値を大きくとることができる。
【００４９】
スイッチ１３５８は、オフセット量設定部１３５７から加算器１３５６への出力ラインをオン及びオフ制御するスイッチである。オフセット判定部１３４によるオフセットフラグがオンとなっている場合には、スイッチ１３５８はオンにされ、オフセット値（Ｖｏｆｆｓｅｔ）が、オフセット値設定部１３５７から加算器１３５６に入力される。一方、オフセット判定部１３４によるオフセットフラグがオフとなっている場合には、スイッチ１３５８はオフになり、オフセット値（Ｖｏｆｆｓｅｔ）が、オフセット値設定部１３５７から加算器１３５６に入力されない。すなわち、スイッチ１３５８がオンになる場合には、ループ制御において、オフセット値（Ｖｏｆｆｓｅｔ）に基づくオフセット処理が行われ、スイッチ１３５８がオフになる場合には、ループ制御において、オフセット値（Ｖｏｆｆｓｅｔ）に基づくオフセット処理が行われない。
【００５０】
加算器１３５６は、オフセット下限値設定部１３５５の出力とスイッチ１３５８の出力とを加算し、オフセット値（ΔＶ）を減算器１３５２及び前回値保持器１３５３に出力する。すなわち、スイッチ１３５８がオンである場合には、オフセット値（ΔＶ）は、オフセット値（ΔＶｄｅｃ＿ｌｉｍ）にオフセット値（Ｖｏｆｆｓｅｔ）を加えた値となる。一方、スイッチ１３５８がオフである場合には、オフセット値（ΔＶ）は、オフセット値（ΔＶｄｅｃ＿ｌｉｍ）となる。なお、オフセット値（ΔＶ）は、前回値保持器１３５３に入力されると、前回のオフセット値（ΔＶｓ）として保存される。
【００５１】
減算器１３５２は、電圧制限部１３５１の出力電圧値（Ｖｄｃ＿ｌｉｍ）からオフセット値（ΔＶ）を減算し、電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）を電圧制限部１３５９に出力する。これにより、検出電圧（Ｖｄｃ）がオフセットされる。
【００５２】
電圧制限部１３５９は、オフセットされた検出電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）に対して、下限電圧値（Ｖｄｃ＿ｌ）を設定する。下限電圧値（Ｖｄｃ＿ｌ）は、電流電圧マップ１に格納されているマップのうち最も低い参照電圧（Ｖ＊ｄｃ）に対応する。下限電圧値（Ｖｄｃ＿ｌ）より低い電圧にオフセットされて電流電圧マップ１に入力された場合に、電流電圧マップ１は、入力された電圧に対して適切なマップを参照することができない。そのため、電圧制限部１３５９により、検出電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）に下限を設けることにより、電流電圧マップ１に入力される参照電圧（Ｖ＊ｄｃ）に対しても下限を設けている。そして、検出電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）が下限電圧値（Ｖｄｃ＿ｌ）より低い電圧である場合には、電圧制限部１３５９は下限電圧値（Ｖｄｃ＿ｌ）を参照電圧（Ｖ＊ｄｃ）として出力する。一方、検出電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）が下限電圧値（Ｖｄｃ＿ｌ）以上の電圧である場合には、電圧制限部１３５９は電圧値に制限をかけず、検出電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）を参照電圧（Ｖ＊ｄｃ）として出力する。
【００５３】
そして、電圧制限部１３５９の出力である参照電圧（Ｖ＊ｄｃ）が、電流電圧マップ１に入力され、電流電圧マップ１は、当該参照電圧（Ｖ＊ｄｃ）を入力として、上記のとおり、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出する。
【００５４】
次に、図５及び図６を用いて、本例のモータ制御装置の制御のうち、インバータ６の制御状態の判定処理、当該判定処理の結果に基づく検出電圧のオフセット処理、及び、マップによるｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）の演算処理について説明する。図５は本例のモータ制御装置の制御手順を示すフローチャートである。図６は、図５のステップＳ７における、制御手順を示すフローチャートである。
【００５５】
ステップＳ１にて、電流偏差演算部１３１は、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）とｄｑ軸電流（ｉｄ、ｉｑ）との電流差をとり、電流偏差（Δｄ、Δｑ）を算出し、オフセット判定部１３４に出力する。ステップＳ２にて、Ｖａ＿ｓｑｕａｒｅ演算部１３２は、ｄｑ軸電圧指令値（Ｖ＊ｄ、Ｖ＊ｑ）から電圧（Ｖａ＿ｓｑｕａｒｅ）を演算し、電圧オフセット判定部１３４に出力する。ステップＳ３にて、閾値演算部１３３は、電圧検出器の検出電圧（Ｖｄｃ）から電圧飽和判定閾値（Ｖｒｅｆ）を演算し、オフセット判定部１３４に出力する。
【００５６】
ステップＳ４にて、オフセット判定部１３４は、ステップＳ２、Ｓ３及びＳ４にて演算された、電流偏差（Δｄ、Δｑ）、電圧（Ｖａ＿ｓｑｕａｒｅ）及び電圧飽和判定閾値（Ｖｒｅｆ）に基づき、式９、式１０又は式１１を満たすか否かを判定する。式９、式１０又は式１１を満たす場合には、ステップＳ５にて、オフセット判定部１３４はオフセットフラグをオンにする。一方、式９、式１０又は式１１を満たさない場合には、ステップＳ６にて、オフセット判定部１３４はオフセットフラグをオフにする。ステップＳ７にて、マップ参照電圧演算部１３５は、図６に示すオフセット処理を行う。
【００５７】
図６に示すように、ステップＳ７１にて、電圧制限部１３５１は、検出電圧（Ｖｄｃ）の上値に対して制限をかけるために、検出電圧（Ｖｄｃ）と上限電圧値（Ｖｄｃ＿ｈ）とを比較する。検出電圧（Ｖｄｃ）が上限電圧値（Ｖｄｃ＿ｈ）より高い電圧である場合には、電圧制限部１３５１は検出電圧（Ｖｄｃ）を上限電圧値（Ｖｄｃ＿ｈ）に制限し、当該上限電圧値（Ｖｄｃ＿ｈ）を出力電圧値（Ｖｄｃ＿ｌｉｍ）として、出力する（ステップＳ７２）。一方、検出電圧（Ｖｄｃ）が上限電圧値（Ｖｄｃ＿ｈ）以下の電圧である場合には、電圧制限部１３５１は検出電圧（Ｖｄｃ）に対して制限をかけずに、検出電圧（Ｖｄｃ）を出力電圧値（Ｖｄｃ＿ｌｉｍ）として、出力する（ステップＳ７３）。
【００５８】
ステップＳ７４にて、減算処理部１３５４は、前回値保持器１３５３に保存されているオフセット値（ΔＶｓ）からオフセット減算値（Ｖｍ）を減算することで、オフセット値（ΔＶｄｅｃ）を演算し、オフセット下限値設定部１３５５に出力する。ステップＳ７５にて、オフセット下限値設定部１３５５は、オフセット値（ΔＶｄｅｃ）の下限値に対して制限をかけるために、オフセット値（ΔＶｄｅｃ）が０［Ｖ］未満であるか否かを判定する。オフセット値（ΔＶｄｅｃ）が０［Ｖ］未満である場合には、オフセット下限値設定部１３５５は、オフセット値（ΔＶｓ）をオフセット値（Ｖｄｅｃ＿ｌｉｍ）として出力する（ステップＳ７６）。一方、オフセット値（ΔＶｄｅｃ）が０［Ｖ］より高い場合には、オフセット下限値設定部１３５５は、オフセット値（ΔＶｄｅｃ）をオフセット値（Ｖｄｅｃ＿ｌｉｍ）として出力する（ステップＳ７７）。
【００５９】
ステップＳ７８にて、スイッチ１３５８は、ステップＳ５によりオフセットフラグがオンに設定されていると、スイッチをオンにする。そして、ステップＳ７９にて、加算器１３５６は、オフセット値（ΔＶｄｅｃ＿ｌｉｍ）にオフセット値（Ｖｏｆｆｓｅｔ）を加算し、オフセット値（ΔＶ）を出力する。一方、ステップＳ６によりオフセットフラグがオフに設定されていると、スイッチ１３５８はスイッチをオフにし、加算器１３５６は、オフセット値（Ｖｏｆｆｓｅｔ）に基づく加算処理を行わず、オフセット値（ΔＶｄｅｃ＿ｌｉｍ）を、オフセット値（ΔＶ）として出力する（ステップＳ８０）。
【００６０】
ステップＳ８１にて、減算器１３５２は、電圧制限部１３５１の出力電圧値（Ｖｄｃ＿ｌｉｍ）からオフセット値（ΔＶ）を減算することにより電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）を演算し、電圧制限部１３５９に出力する。ステップＳ８２にて、電圧制限部１３５９は、電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）の下値に対して制限をかけるために、電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）と下限電圧値（Ｖｄｃ＿ｌ）を比較する。電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）が下限電圧値（Ｖｄｃ＿ｌ）より低い電圧である場合には、電圧制限部１３５９は電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）を下限電圧値（Ｖｄｃ＿ｌ）に制限し、当該下限電圧値（Ｖｄｃ＿ｌ）を参照電圧（Ｖ＊ｄｃ）として、出力する（ステップＳ８３）。一方、電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）が下限電圧値（Ｖｄｃ＿ｈ）以上の電圧である場合には、電圧制限部１３５９は電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）に対して制限をかけずに、電圧（Ｖｄｃ＿ｏｆｆｓｅｔ）を参照電圧（Ｖ＊ｄｃ）として、出力する（ステップＳ８４）。そして、マップ切替器１３が参照電圧（Ｖ＊ｄｃ）を電流電圧マップ１に出力することで、ステップＳ７１〜ステップＳ８４に示すステップＳ７の処理を終了し、ステップＳ８へ遷る。
【００６１】
図５に戻り、ステップＳ８にて、電流電圧マップ１は、参照電圧（Ｖ＊ｄｃ）に対応するマップを抽出し、トルク指令値（Ｔ＊）及び角周波数（ω）の交点に相当するデータから、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出し出力する。これにより、参照電圧（Ｖ＊ｄｃ）は検出電圧（Ｖｄｃ）をオフセットした電圧となり、参照電圧（Ｖ＊ｄｃ）が小さくなるほどｄ軸電流指令値（ｉ＊ｄ）が負側に増加するようマップが構成されているため、
電流電圧マップから出力されるｄ軸電流指令値（ｉ＊ｄ）は、検出電圧（Ｖｄｃ）に対応するマップから導出されるｄ軸電流指令値（ｉ＊ｄ）より負側に大きくなる。
【００６２】
また、ステップＳ８の処理を終えると、本例のモータ制御装置は、ステップＳ１に戻り、図５及び図６に示す制御処理を繰り返し行う。すなわち、インバータ６の制御状態が不安定な状態のままであって、オフセット判定部１３４により、オフセットフラグがオンの状態のままであると、オフセット値（ΔＶ）が、ループ処理毎に大きくなる。すなわち、本例は、検出電圧（Ｖｄｃ）に対して、オフセットを複数行うことで、段階的にオフセット処理が行われ、参照電圧（Ｖ＊ｄｃ）を徐々に低くし、ｄ軸電流指令値（ｉ＊ｄ）を徐々に増加させることができる。そのため、本例は、ｄ軸電流指令値を一度で大きく変化させてインバータ効率を悪化させることを防ぐことができる。
【００６３】
さらに、上記のように、ｄ軸電流指令値（ｉ＊ｄ）を増加させて、インバータ６の制御状態が安定状態に戻ると、本例はオフセットフラグがオフの状態で減算処理１３５４によりオフセット値の減算処理を行う。また減算処理の際に、時間あたりの変化量に対して、オフセット減算値（Ｖｍ）による制限をかしている。そのため、当該減算処理はオフセット値（Ｖｏｆｆｓｅｔ）に基づくオフセット処理の変化量より、小さい変化量で行われ、オフセットされた参照電圧（Ｖ＊ｄｃ）をオフセットされていない元の検出電圧（Ｖｄｃ）に戻すことができる。
【００６４】
上記のように、本例において、マップ切替器１３はインバータ６の制御状態に応じて、検出電圧（Ｖｄｃ）をオフセット値（ΔＶ）でオフセットし、電流電圧マップ１はオフセットされた検出電圧（Ｖ＊ｄｃ）を入力としてｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出し、ｄ軸電流指令値（ｉ＊ｄ）を負側に増加させる。これにより、ｄ軸電流指令値（ｉ＊ｄ）が負側に増加させることで弱め界磁効果が大きくなり、モータ８へ印加される電圧を抑え、インバータ６を安定して制御することができる。
【００６５】
本例とは異なり、ｄ軸電流指令値（ｉ＊ｄ）を負側に増加させる際に、電流指令値の指標となる入力値を変えずに、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）をずらした場合には、マップ上で、インバータの効率を最適化する電流指令値から外れしてしまうため、インバータの効率が悪くなる場合がある。さらに、電流指令値のずれが大きい場合には、必要以上に弱め電流を流す可能性があり、インバータの効率が悪くなる可能性がある。本例では、マップの指標となる検出電圧（Ｖｄｃ）をオフセットするため、オフセットされた後の電圧（Ｖ＊ｄｃ）に対応するマップには、インバータ６の効率を最適化させる電流指令値のデータが割当てられており、当該マップから抽出される電流指令値は、インバータ６の効率を大幅に悪化させない値となる。これにより、本例は、ｄ軸電流指令値を負側に増加させて、インバータ６の制御状態を安定化させつつ、インバータ６の効率が大幅に悪化することを防ぐことができる。
【００６６】
また本例において、ｄ軸電流指令値を増加させると同時に、ｑ軸電流指令値も、オフセットされた電圧（Ｖ＊ｄｃ）に対応するマップを参照して算出されるため、実トルクがトルク指令値（Ｔ＊）と乖離することを防ぐことができる。
【００６７】
また本例において、電流電圧マップ１に格納されるマップは、トルク指令値（Ｔ＊）及び角周波数（ω）を同一の条件とした場合に、オフセットされた検出電圧（Ｖ＊ｄｃ）に対応するｄ軸電流指令値（ｉ＊ｄ）が、オフセットされていない検出電圧（Ｖｄｃ）に対応するｄ軸電流指令値（ｉ＊ｄ）より負側に大きくなるよう、形成されている。これにより、検出電圧（Ｖｄｃ）をオフセットさせることでｄ軸電流指令値（ｉ＊ｄ）が負側に大きくなるため、最適なｄ軸電流指令値（ｉ＊ｄ）に基づきインバータ６が制御され、インバータ６の効率が大幅に悪化することなく、電圧不足状態を解消することができる。
【００６８】
また本例において、マップ切替器１３は、インバータ６の制御状態が安定状態になるまで、検出電圧（Ｖｄｃ）を段階的にオフセットする。これにより、検出電圧（Ｖｄｃ）が徐々にオフセットされ、ｄ軸電流指令値（ｉ＊ｄ）が徐々に増加するため、ｄ軸電流指令値（ｉ＊ｄ）を、インバータ６の制御状態を安定化のために必要な値分、増加させることができる。その結果として、インバータ６の効率が大幅に悪化することを防ぐことができる。
【００６９】
また本例は、電圧（Ｖａ＿ｓｑｕａｒｅ）と電圧飽和判定閾値（Ｖｒｅｆ）と比較することで、インバータ６の変調率に基づきインバータ６の制御状態を判断し、インバータ６の制御状態が不安定な場合に、検出電圧（Ｖｄｃ）をオフセットする。式１１で表す式は、バッテリ１の検出電圧（Ｖｄｃ）に対するモータ４への供給電圧の割合から導出される式であり、インバータ６の変調率に相当する。すなわち、式１１による比較は、インバータ６の変調率と所定の変調率とを比較に相当する。これにより、本例は変調率をオフセットの条件とすることで、電流センサ７や磁極位置検出器９のセンサのバラツキによる電圧不足、モータ８の温度変化による電圧不足、回転数や出力の上昇により過変調となる領域で運転した場合の電圧不足等に対応し、インバータ６の制御を安定化させることができる。また電流指令値（ｉ＊ｄ、ｉ＊ｑ）と実電流との乖離にも対応して、インバータ６の制御を安定化させることができる。
【００７０】
また本例は、電流偏差（Δｄ、Δｑ）と、ｄ軸電流判定閾値（Δｄｃ）又はｑ軸電流判定閾値（Δｑｃ）とを比較し、比較結果に基づきインバータ６の制御状態を判断し、インバータ６の制御状態が不安定な場合に、検出電圧（Ｖｄｃ）をオフセットする。これにより、電流偏差（Δｄ、Δｑ）が大きくなることを防ぐことができ、トルク指令値（Ｔ＊）と実トルクとの乖離を抑制することができる。
【００７１】
また本例は、上記の変調率に基づく条件と電流偏差に基づく条件とを共に用いてもよい。これにより、変調率が所定の変調率を超えて制御不安定となる前に、電流偏差に基づき、インバータ６が不安定であると判断することができるため、電流偏差が大きくなる時間を短くすることができ、トルク指令値（Ｔ＊）と実トルクとの乖離が大きくなる時間を抑えることができる。
【００７２】
また本例は、インバータ６の制御状態が不安定な状態から安定な状態になった場合に、オフセットされた電圧（Ｖ＊ｄｃ）を、オフセット値（Ｖｏｆｆｓｅｔ）より小さい変化量で、検出電圧（Ｖｄｃ）に戻す。これにより、オフセットする側は素早くオフセットさせて、不安定動作点を早く回避することで、電圧不足、電流偏差等を回避し、インバータ６の制御を安定化させることができる。一方、オフセット状態から元の状態に戻す際には、ゆっくりと戻すことで、変調率がオーバーシュートしたり、オフセットがハンチングし不安定になったりすることを防ぐことができる。
【００７３】
なお、オフセット状態から元の状態に戻す方法について、本例ではオフセット減算値（Ｖｍ）を用いることで変化量に制限を加えたが、例えば一次遅れフィルタを通すことで、変化量を抑えて、ゆっくり戻してもよい。
【００７４】
なお、オフセット値（Ｖｏｆｆｓｅｔ）は、少なくとも検出電圧（Ｖｄｃ）をオフセットさせることでｄ軸電流指令値（ｉ＊ｄ）が増加する程度に設定すればよく、オフセット量（Ｖｏｆｆｓｅｔ）に基づきオフセットされた電圧（Ｖ＊ｄｃ）が各マップに割当てられている電圧のレンジに収まるように、オフセット値（Ｖｏｆｆｓｅｔ）を設定するとよい。
【００７５】
なお、本例のオフセット値（Ｖｏｆｆｓｅｔ）又はオフセット値（ΔＶ）が本発明の「所定のオフセット量」に相当し、電圧検出器１４が「電圧検出手段」に、磁極位置検出器９及び回転数演算器１１が「モータ回転数検出手段」に、電流電圧マップ１が「指令値算出手段」に、ＰＷＭ変換器４が「インバータ制御手段」に、マップ参照電圧演算部１３５が「オフセット手段」に、電流偏差演算部１３１、Ｖａ＿ｓｑｕａｒｅ演算部１３２、閾値演算部１３３及びオフセット判定部１３４が「状態検出手段」に、電流センサ７が「電流検出手段」に相当する。
【００７６】
《第２実施形態》
図７は、発明の他の実施形態に係るモータ制御装置のブロック図である。本例では上述した第１実施形態に対して、電流電圧マップ１及びマップ切替器１３の構成の一部が異なる。これ以外の構成は上述した第１実施形態と同じであるため、その記載を適宜、援用する。
【００７７】
図７に示すように、本例のモータ制御装置に含まれるマップ切替器１３には、回転数演算器１１から出力される角周波数（ω）が入力される。またマップ切替器１３は、インバータ３の制御状態を判定し、判定された制御状態に応じて角周波数（ω）をオフセットし、電流電圧マップ１に参照角周波数（ω＊）を出力する。インバータ３の制御状態が不安定な状態である場合には、マップ切替器１３は、角周波数（ω）をオフセットして、オフセットされた電圧を参照角周波数（ω＊）として出力する。一方、インバータ３の制御状態が安定な状態である場合には、マップ切替器１３は、角周波数（ω）をオフセットせず、角周波数（ω）を参照角周波数（ω＊）として出力する。なお、マップ切替器１３の詳細な構成は後述する。
【００７８】
次に、電流電圧マップ１について、図８を用いて、詳述する。図８は電流電圧マップ１に格納されるマップ概要を示す図ある。
【００７９】
電流電圧マップ１は、トルク指令値（Ｔ＊）、参照角周波数（ω＊）、検出電圧（Ｖｄｃ）を指標として、図８に示すマップを参照し、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出し、出力する。電流電圧マップ１に格納されるマップは、参照角周波数（ω＊）毎に、検出電圧（Ｖｄｃ）とトルク指令（Ｔ＊）を２軸にとる、複数のマップであり、電流電圧マップ１のメモリ（図示しない）に予め格納されている。そして、当該２軸の格子点には、対応するｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を示すデータが割当てられている。ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を示すデータには、トルク指令値（Ｔ＊）及び検出電圧（Ｖｄｃ）と対応しつつ、各参照角周波数（ω＊）において、インバータ６の効率を最大する指令値が設定されている。インバータ６が安定して駆動できる変調率の範囲は予め設定されているため、データに含まれる指令値は、変調率の範囲の上限値をとるよう設定される。これにより、各マップにおいて、トルク指令値（Ｔ＊）及び検出電圧（Ｖｄｃ）を同一にした場合には、参照角周波数（ω＊）が大きいマップほど、同一であるトルク指令値（Ｔ＊）及び検出電圧（Ｖｄｃ）に対応するデータに含まれるｄ軸電流指令値（ｉ＊ｄ）は負側に大きくなる。例えば、図２に示すように、入力される参照角周波数、例えば、ω＊ａ、ω＊ｂ、ω＊ｃ毎に、マップが割当てられている（ただし、ω＊ａ＞ω＊ｂ＞ω＊ｃとする。）。そして、あるトルク指令値（Ｔ＊）及び検出電圧（Ｖｄｃ）を同一の値とする条件下で、当該トルク指令値（Ｔ＊）及び検出電圧（Ｖｄｃ）に対応するデータ（指令値）を、ω＊ａ、ω＊ｂ、ω＊ｃ毎のマップから、それぞれ抽出する。この時、本例のマップでは、マップ（参照角周波数ω＊ａ）から抽出されたデータに含まれるｄ軸電流指令値（ｉ＊ｄ）が最も負側に大きい値となり、マップ（参照角周波数ω＊ｂ）から抽出されたデータに含まれるｄ軸電流指令値（ｉ＊ｄ）が二番目に負側に大きい値となり、マップ（参照角周波数ω＊ｃ）から抽出されたデータに含まれるｄ軸電流指令値（ｉ＊ｄ）が最も負側に小さい値となる。
【００８０】
なお、電流電圧マップ１のマップにおける、トルク指令値（Ｔ＊）、検出電圧（Ｖｄｃ）、参照角周波数（ω＊）の設定範囲は、インバータ６で動作保証がされている範囲、モータ８の入出力可能なトルク範囲及び入出力可能な回転数等に基づいて、予め設定されている。
【００８１】
次に、マップ切替器１３について、図９及び図１０を用いて、詳述する。図９は電流電圧マップ１に格納されるマップ概要を示す図ある。図９はマップ切替器１３を示すブロック図である。図１０はマップ参照回転数演算部８０のブロック線図である。
【００８２】
図９に示すように、マップ切替器１３は、電流偏差演算部１３１と、Ｖａ＿ｓｑｕａｒｅ演算部１３２と、閾値演算部１３３と、オフセット判定部１３４と、マップ参照回転数演算部８０とを備えている。電流偏差演算部１３１、Ｖａ＿ｓｑｕａｒｅ演算部１３２、閾値演算部１３３及びオフセット判定部１３４は、第１実施形態と同様の構成である。
【００８３】
マップ参照回転数演算部８０は、角周波数（ω）を入力として、オフセット判定部１３４から出力されるオフセットフラグのオン及びオフに基づいて、角周波数（ω）を段階的にオフセットして、参照角周波数（ω＊）を出力する。マップ参照回転数演算部８０は、図１０に示すように、回転数制限部８１と、加算器８２と、前回値保持部８３と、減算処理部８４と、オフセット下限値設定部８５と、加算器８６と、オフセット値設定部８７と、スイッチ８８と、回転数制限部８９と、回転方向判定部９０とを備えている。
【００８４】
角周波数制限部８１は、検出された角周波数（ω）に対して、上限角周波数（ωｈ）を設定する。上限角周波数（ωｈ）は、電流電圧マップ１に格納されているマップのうち最も高い参照角周波数（ω＊）に対応する。上限角周波数（ωｈ）より高い角周波数が電流角周波数マップ１に入力された場合に、電流電圧マップ１は、入力された角周波数に対して適切なマップを参照することができない。そのため、角周波数制限部８１により、角周波数（ω）に上限を設けることにより、電流角周波数マップ１に入力される参照角周波数（ω＊）に対しても上限を設けている。そして、角周波数（ω）が上限角周波数（ωｈ）より高い角周波数である場合には、角周波数制限部８１は上限角周波数（ωｈ）を出力角周波数（ωｌｉｍ）として加算器８２に出力する。一方、角周波数（ω）が上限角周波数（ωｈ）以下の角周波数である場合には、角周波数制限部８１は角周波数に制限をかけず、角周波数（ω）を出力角周波数（ωｌｉｍ）として加算器８２に出力する。
【００８５】
前回値保持器８３は、下記に示す、オフセット値を設定する制御ループによって設定された、前回のオフセット値（Δωｓ）を保存する。前回のオフセット値（Δωｓ）の初期値はゼロである。減算処理部８４は、オフセット値（Δωｓ）に対してオフセット減算値（ωｍ）を減算することにより、オフセット値（Δωｓ）を０［Ω］に向けて減算処理を行う。オフセット減算値（ωｍ）は、単位時間あたりの角周波数の変化量であり予め設定されている値であり、後述するオフセット値（ωｏｆｆｓｅｔ）より小さい値に設定されている。減算処理は、オフセット値（Δωｓ）によりオフセットされた角周波数を、オフセットされていない角周波数に戻すために行う処理である。また、減算処理部８４には、オフセット減算値（ωｍ）が所定の値で固定されているため、減算処理の際のオフセットの変化量に制限が加わる。そして、減算処理部８４は、オフセット値（Δωｓ）からオフセット減算値（ωｍ）を減算することで、オフセット値（Δωｄｅｃ）を算出し、オフセット下限値設定部８５へ出力する。
【００８６】
オフセット下限値設定部８５にはオフセット値（Δωｄｅｃ）に対して下限値が設定されており、オフセット下限値設定部８５は、オフセット値（Δωｄｅｃ）に制限をかけた上で、オフセット値（Δωｄｅｃ＿ｌｉｍ）を加算器８６に出力する。減算処理を行うことで、オフセット値（Δωｄｅｃ）がマイナスになる場合には、加算器８２において、マイナスのオフセット値（Δωｄｅｃ）を加算すると、角周波数（ωｄｃ）に対して逆方向にオフセットが加わってしまい、元の角周波数（ωｄｃ）に収束させることができない。そのため、オフセット下限値設定部８５は、オフセット値（Δωｄｅｃ）がマイナスになる場合には、減算処理されたオフセット値（Δωｄｅｃ）ではなく、減算処理される前のオフセット値（Δωｓ）を、オフセット値（Δωｄｅｃ＿ｌｉｍ）として、加算器８６に出力する。一方、オフセット下限値設定部８５は、オフセット値（Δωｄｅｃ）が０［ｒｐｍ］以上の値である場合には、減算処理されたオフセット値（Δωｄｅｃ）をオフセット値（Δωｄｅｃ＿ｌｉｍ）として出力する。
【００８７】
オフセット値設定部８７には、オフセット値（ωｏｆｆｓｅｔ）が予め設定されている。オフセット値（ωｏｆｆｓｅｔ）は、マップ参照回転数演算部８０による１回あたりの制御（図１０に示すループ制御）でオフセットされるオフセット値の大きさを示しており、当該オフセット値（ωｏｆｆｓｅｔ）を大きい値に設定することで、単位時間あたりの角周波数（ωｄｃ）のオフセット値を大きくことになる。
【００８８】
スイッチ８８は、オフセット値設定部８７から加算器８６への出力ラインをオン及びオフ制御するスイッチである。オフセット判定部１３４によるオフセットフラグがオンとなっている場合には、スイッチ８８はオンになり、オフセット値（ωｏｆｆｓｅｔ）が、オフセット値設定部８７から加算器８６に入力される。一方、オフセット判定部１３４によるオフセットフラグがオフとなっている場合には、スイッチ８８はオフになり、オフセット値（ωｏｆｆｓｅｔ）が、オフセット値設定部８７から加算器８６に入力されない。すなわち、スイッチ８８がオンの場合には、ループ制御において、オフセット値（ωｏｆｆｓｅｔ）に基づくオフセット処理が行われ、スイッチ８８がオフの場合には、ループ制御において、オフセット値（ωｏｆｆｓｅｔ）に基づくオフセット処理が行われない。
【００８９】
加算器８６は、オフセット下限値設定部８５の出力とスイッチ８８の出力とを加算し、オフセット値（Δω）を回転方向判定部９０及び前回値保持器８３に出力する。すなわち、スイッチ８８がオンである場合には、オフセット値（Δω）は、オフセット値（Δωｄｅｃ＿ｌｉｍ）にオフセット値（ωｏｆｆｓｅｔ）を加えた値となる。一方、スイッチ８８がオフである場合には、オフセット値（Δω）は、オフセット値（Δωｄｅｃ＿ｌｉｍ）となる。なお、オフセット値（Δω）は、前回値保持器８３に入力されると、前回のオフセット値（Δωｓ）として保存される。
【００９０】
回転方向判定部９０は、角周波数（ω）に基づき、モータ８の回転方向を判定する。そして、回転方向判定部９０は、ω＜０の時には、Δωｐｎ＝Δω×（−１）の演算処理を行い、オフセット値（Δωｐｎ）を加算器８２に出力する。また、回転方向判定部９０は、ω≧０の時には、Δωｐｎ＝Δωとして、オフセット値（Δωｐｎ）を加算器８２に出力する。
【００９１】
加算器８２は、回転数制限部８１の角周波数（ωｌｉｍ）からオフセット値（Δωｐｎ）を加算し、角周波数（ωｔ）をオフセット上限値設定部１３５９に出力する。これにより、角周波数（ω）がオフセットされる。
【００９２】
回転数制限部８９は、オフセットされた角周波数（ωｔ）の絶対値に対して、上限角周波数（ωｔ＿ｈ）を設定する。上限角周波数（ωｔ＿ｈ）は、電流電圧マップ１に格納されているマップのうち最も絶対値の高い参照角周波数（ω＊）に対応する。そして、角周波数（ωｔ）の絶対値が上限角周波数（ωｔ＿ｈ）より高い電圧である場合には、回転数制限部８９は上限角周波数（ωｔ＿ｈ）に回転方向を加えて、参照角周波数（ω＊）として出力する。一方、角周波数（ωｔ）の絶対値が上限角周波数（ωｔ＿ｈ）以下の電圧である場合には、回転数制限部８９は角周波数（ωｔ）に回転方向を加えて、参照角周波数（ω＊）として出力する。
【００９３】
そして、回転数制限部８９の出力である参照角周波数（ω＊）が、電流電圧マップ１に入力され、電流電圧マップ１は、当該参照角周波数（ω＊）を入力として、上記のとおり、ｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出する。
【００９４】
次に、図１１を用いて、本例のモータ制御装置の制御のうち、インバータ６の制御状態の判定処理、当該判定処理に基づく検出電圧のオフセット処理、及び、マップによるｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）の演算処理について説明する。図１１は本例のモータ制御装置のオフセット処理の制御手順を示すフローチャートである。なお、インバータ６の制御状態の判定処理は、第１実施形態と同様であるため、説明を省略する。また、マップによるｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）の演算処理は、第１実施形態における演算処理において、参照電圧（Ｖ＊ｄｃ）及び角周波数（ω）を参照角周波数（ω＊）及び電圧（Ｖｄｃ）に置き換えればよいため、詳細な説明を省略する。
【００９５】
図１１に示すように、ステップＳ１０１にて、回転数制限部８１は、角周波数（ω）の上値に対して制限をかけるために、角周波数（ω）と上限角周波数（ωｈ）とを比較する。角周波数（ω）が上限角周波数（ωｈ）より高い電圧である場合には、回転数制限部８１は角周波数（ω）を上限角周波数（ωｈ）に制限し、当該上限角周波数（ωｈ）を出力角周波数（ωｌｉｍ）として、出力する（ステップＳ１０２）。一方、角周波数（ω）が上限角周波数（ωｈ）以下の電圧である場合には、回転数制限部８１は角周波数（ω）に対して制限をかけずに、角周波数（ω）を出力角周波数（ωｌｉｍ）として、出力する（ステップＳ１０３）。
【００９６】
ステップＳ１０４にて、減算処理部８４は、前回値保持器８３に保存されているオフセット値（Δωｓ）からオフセット減算値（ωｍ）を減算することで、オフセット値（Δωｄｅｃ）を演算し、オフセット下限値設定部８５に出力する。ステップＳ１０５にて、オフセット下限値設定部８５は、オフセット値（Δωｄｅｃ）の下限値に対して制限をかけるために、オフセット値（Δωｄｅｃ）が０［ｒｐｍ］未満であるか否かを判定する。オフセット値（Δωｄｅｃ）が０［ｒｐｍ］未満である場合には、オフセット下限値設定部８５は、オフセット値（Δωｓ）をオフセット値（Δωｄｅｃ＿ｌｉｍ）として出力する（ステップＳ１０６）。一方、オフセット値（Δωｄｅｃ）が０［ｒｐｍ］より高い場合には、オフセット下限値設定部８５は、オフセット値（Δωｄｅｃ）をオフセット値（Δωｄｅｃ＿ｌｉｍ）として出力する（ステップＳ１０７）。
【００９７】
ステップＳ１０８にて、スイッチ８８は、ステップＳ５によりオフセットフラグがオンに設定されていると、スイッチをオンにする。そして、ステップＳ１０９にて、加算器８６は、オフセット値（Δωｄｅｃ＿ｌｉｍ）にオフセット値（ωｏｆｆｓｅｔ）を加算し、オフセット値（Δω）を出力する。一方、ステップＳ６によりオフセットフラグがオフに設定されていると、スイッチ８８はスイッチをオフにし、加算器８６は、オフセット値（ωｏｆｆｓｅｔ）に基づく加算処理を行わず、オフセット値（Δωｄｅｃ＿ｌｉｍ）を、オフセット値（Δω）として出力する（ステップＳ１１０）。
【００９８】
ステップＳ１１１にて、回転方向判定部は、角周波数（ω）に基づき、モータ８の回転方向を判定する。ω＜０の時には、回転方向判定部９０は、Δωｐｎ＝Δω×（−１）の演算処理を行い、オフセット値（Δωｐｎ）を加算器８２に出力する（ステップＳ１１２）。一方、ω≧０の時には、回転方向判定部９０は、Δωｐｎ＝Δωとして、オフセット値（Δωｐｎ）を加算器８２に出力する（ステップＳ１１３）。
【００９９】
ステップＳ１１４にて、加算器８２は、回転数制限部８１の出力角周波数（ωｌｉｍ）からオフセット値（Δωｐｎ）を加算することにより角周波数（ωｔ）を演算し、回転数制限部８９に出力する。ステップＳ１１５にて、回転数制限部８９は、角周波数（ωｔ）の絶対値の上値に対して制限をかけるために、角周波数（ωｔ）の絶対値と上限角周波数（ωｔ＿ｈ）を比較する。角周波数（ωｔ）の絶対値が上限角周波数（ωｔ＿ｈ）より高い角周波数である場合には、回転数制限部８９は角周波数（ωｔ）の絶対値を上限角周波数（ωｔ＿ｈ）に制限し、当該上限角周波数（ωｔ＿ｈ）を参照角周波数（ω＊）として、出力する（ステップＳ１１６）。一方、角周波数（ωｔ）の絶対値が上限角周波数（ωｔ＿ｈ）以下の角周波数である場合には、回転数制限部８９は角周波数（ωｔ）に対して制限をかけずに、角周波数（ωｔ）を参照電圧（ω＊）として、出力する（ステップＳ１１７）。そして、マップ切替器１３が参照角周波数（ω＊）を電流電圧マップ１に出力することで、ステップＳ１０１〜ステップＳ１１７に示すステップＳ７の処理を終了し、ステップＳ８へ遷る。
【０１００】
上記のように、本例において、マップ切替器１３はインバータ６の制御状態に応じて、角周波数（ω）をオフセット値（Δω）でオフセットし、電流電圧マップ１はオフセットされた角周波数（ω＊）を入力としてｄｑ軸電流指令値（ｉ＊ｄ、ｉ＊ｑ）及びｄｑ軸非干渉電圧指令値（Ｖ＊ｄ＿ｄｃｐｌ、Ｖ＊ｑ＿ｄｃｐｌ）を算出し、ｄ軸電流指令値（ｉ＊ｄ）を負側に増加させる。これにより、ｄ軸電流指令値（ｉ＊ｄ）が負側に増加させることで弱め界磁効果が大きくなり、モータ８へ印加される電圧を抑え、インバータ６を安定して制御することができる。
【０１０１】
本例では、マップの指標となる角周波数（ω）をオフセットするため、オフセットされた後の角周波数（ω＊）に対応するマップには、インバータ６の効率を最適化させる電流指令値のデータが割当てられており、当該マップから抽出される電流指令値は、インバータ６の効率を大幅に悪化させない値となる。これにより、本例は、ｄ軸電流指令値を負側に増加させて、インバータ６の制御状態を安定化させつつ、インバータ６の効率が大幅に悪化することを防ぐことができる。
【０１０２】
また本例において、ｄ軸電流指令値を増加させると同時に、ｑ軸電流指令値も、オフセットされた角周波数（ω＊）に対応するマップを参照して算出されるため、実トルクがトルク指令値（Ｔ＊）と乖離することを防ぐことができる。
【０１０３】
また本例において、電流電圧マップ１に格納されるマップは、トルク指令値（Ｔ＊）及び検出電圧（Ｖｄｃ）を同一の条件とした場合に、オフセットされた角周波数（ω＊）に対応するｄ軸電流指令値（ｉ＊ｄ）が、オフセットされていない角周波数（ω）に対応するｄ軸電流指令値（ｉ＊ｄ）より負側に大きくなるよう、形成されている。これにより、角周波数（ω）をオフセットさせることでｄ軸電流指令値（ｉ＊ｄ）が負側に大きくなるため、最適なｄ軸電流指令値（ｉ＊ｄ）に基づきインバータ６が制御され、インバータ６の効率が大幅に悪化することなく、電圧不足状態を解消することができる。
【０１０４】
また本例において、マップ切替器１３は、インバータ６の制御状態が安定状態になるまで、角周波数（ω）を段階的にオフセットする。これにより、角周波数（ω）が徐々にオフセットされ、ｄ軸電流指令値（ｉ＊ｄ）が徐々に増加するため、ｄ軸電流指令値（ｉ＊ｄ）を、インバータ６の制御状態を安定化のために必要な値分、増加させることができる。その結果として、インバータ６の効率が大幅に悪化することを防ぐことができる。
【０１０５】
また本例は、インバータ６の制御状態が不安定な状態から安定な状態になった場合に、オフセットされた角周波数（ω＊）を、オフセット値（ωｏｆｆｓｅｔ）より小さい変化量で、角周波数（ω）に戻す。これにより、オフセットする側は素早くオフセットさせて、不安定動作点を早く回避することで、電圧不足、電流偏差等を回避し、インバータ６の制御を安定化させることができる。一方、オフセット状態から元の状態に戻す際には、ゆっくりと戻すことで、変調率がオーバーシュートしたり、オフセットがハンチングし不安定になったりすることを防ぐことができる。
【０１０６】
なお、オフセット値（ωｏｆｆｓｅｔ）は、少なくとも角周波数（ω）をオフセットさせることでｄ軸電流指令値（ｉ＊ｄ）が増加する程度に設定すればよく、オフセット値（ωｏｆｆｓｅｔ）に基づきオフセットされた角周波数（ω＊）が各マップに割当てられている電圧のレンジに収まるように、オフセット値（ωｏｆｆｓｅｔ）を設定するとよい。
【０１０７】
なお、本例のオフセット値（ωｏｆｆｓｅｔ）、オフセット値（Δω）、又はオフセット値（Δωｐｎ）が本発明の「所定のオフセット量」に相当し、角周波数（ω）又は角周波数（ω＊）が本発明の「検出回転数」に相当する。
【符号の説明】
【０１０８】
１…電流電圧マップ
２…電流制御器
３…座標変換器
４…ＰＷＭ変換器
５…バッテリ
６…インバータ
７…電流センサ
８…モータ
９…磁極位置検出器
１０…座標変換器
１１…回転数演算器
１２…ＬＰＦ
１３…マップ切替器
１４…電圧検出部
８０…マップ参照回転数演算部
８１…回転数制限部
８２…加算器
８３…前回値保持部
８４…減算処理部
８５…オフセット下限値設定部
８６…加算器
８７…オフセット設定部
８８…スイッチ
８９…回転数制限部
９０…回転方向判定部
１３１…電流偏差演算部
１３２…Ｖａ＿ｓｑｕａｒｅ演算部
１３３…閾値演算部
１３４…オフセット判定部
１３５１…電圧制限部
１３５２…減算器
１３５３…前回値保持部
１３５４…減算処理部
１３５５…オフセット下限値設定部
１３５６…加算器
１３５７…オフセット設定部
１３５８…スイッチ
１３５９…電圧制限部
【図１】
0005664080.tif 000013
【図２】
0005664080.tif 000014
【図３】
0005664080.tif 000015
【図４】
0005664080.tif 000016
【図５】
0005664080.tif 000017
【図６】
0005664080.tif 000018
【図７】
0005664080.tif 000019
【図８】
0005664080.tif 000020
【図９】
0005664080.tif 000021
【図１０】
0005664080.tif 000022
【図１１】
0005664080.tif 000023