以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中の同一または相当部分については同一の符号を付してその説明は繰り返さない。
(全体構成)
図1は、本発明の実施形態に係る電圧形インバータ装置1の概略構成を示す制御フロー図である。この電圧形インバータ装置1は、複数相の電流指令に基づいて電圧ベクトルを生成し、その電圧ベクトルに応じて複数のスイッチング素子31,32,41,42,51,52を駆動させることにより、モータ2に電圧を出力する装置である。なお、モータ2は、三相交流モータである。
電圧形インバータ装置1は、電流指令生成部11と、2相3相変換部12と、電圧ベクトル生成部13と、ゲート指令生成部14と、ゲート回路15と、3相2相変換部16と、トルク推定部17と、電流指令補正部60とを備える。
電流指令生成部11は、外部からトルク指令Trq*が入力される。電流指令生成部11は、入力されたトルク指令Trq*に基づいて、d軸及びq軸の電流指令Id*,Iq*を生成する。
電流指令補正部60は、電流指令生成部11から出力されたq軸の電流指令Iq*に対し、電流指令補正値Iqoftを加えることにより、電流指令Iq*を補正する。電流指令補正部60は、詳しくは後述するが、電圧ベクトルがゼロ電圧ベクトルの際にモータ2に生じる誘起電圧を低減するように、電流指令補正値Iqoftを用いて電流指令Iq*を補正する。電流指令補正部60の詳しい構成については後述する。
2相3相変換部12は、電流指令補正部60によって補正された後のd軸及びq軸の電流指令を、3相の電流指令Iu*,Iv*、Iw*に変換する。具体的には、2相3相変換部12は、補正後のd軸及びq軸の電流指令及びモータ2のセンサ2aから出力された電流位相角を用いて、U相、V相及びW相の各電流指令Iu*,Iv*、Iw*を生成する。
電圧ベクトル生成部13は、3相の電流指令Iu*,Iv*、Iw*及びモータ2の3相の出力電流Iu,Iv,Iwを用いて電流偏差ベクトルを算出し、電流偏差ベクトル図において前記電流偏差ベクトルが属する領域に応じて、電圧ベクトルを設定する。電圧ベクトル生成部13は、設定した電圧ベクトルを電圧ベクトル指令Vectとして出力する。
電圧ベクトル生成部13は、電流偏差算出部20と、電流偏差ベクトル演算部21と、電流偏差ベクトル領域判定部22と、電圧ベクトル設定部23と、記憶部24とを有する。電圧ベクトル生成部13の詳しい構成については後述する。
ゲート指令生成部14は、電圧ベクトル生成部13から出力された電圧ベクトル指令Vectに基づいて、ゲート回路15を駆動させるためのゲート指令Up,Un,Vp,Vn,Wp,Wnを生成する。ゲート指令生成部14は、U相、V相及びW相の各相において、ゲート回路15の後述するスイッチングアーム30,40,50のスイッチング素子31,32,41,42,51,52に対する指令を生成する。
具体的には、ゲート指令生成部14は、U相のスイッチングアーム30における上アームのスイッチング素子31に対するゲート指令Upと、下アームのスイッチング素子32に対するゲート指令Unと、V相のスイッチングアーム40における上アームのスイッチング素子41に対するゲート指令Vpと、下アームのスイッチング素子42に対するゲート指令Vnと、W相のスイッチングアーム50における上アームのスイッチング素子51に対するゲート指令Wpと、下アームのスイッチング素子52に対するゲート指令Wnとを生成して、出力する。
なお、ゲート指令生成部14によって生成されるゲート指令Up,Un,Vp,Vn,Wp,Wnは、各スイッチング素子をON状態またはOFF状態にする信号を含む。
ゲート回路15は、3相のブリッジ回路を構成する複数のスイッチング素子31,32,41,42,51,52を有する。具体的には、図2に示すように、ゲート回路15は、モータ2のU相、V相及びW相の各相にそれぞれ接続されたスイッチングアーム30,40,50を有する。スイッチングアーム30では、一対のスイッチング素子31,32が直列に接続されている。同様に、スイッチングアーム40では、一対のスイッチング素子41,42が直列に接続されている。同様に、スイッチングアーム50では、一対のスイッチング素子51,52が直列に接続されている。
なお、スイッチングアーム30,40,50における一方のスイッチング素子31,41,51が、それぞれ、スイッチングアーム30,40,50の上アームに対応する。スイッチングアーム30,40,50における他方のスイッチング素子32,42,52が、それぞれ、スイッチングアーム30,40,50の下アームに対応する。
本実施形態において、スイッチング素子31,32,41,42,51,52は、例えばIGBTが用いられる。なお、スイッチング素子31,32,41,42,51,52は、MOSFETなどの他のスイッチングデバイスであってもよい。
スイッチング素子31,32,41,42,51,52には、それぞれ、ダイオード31a,32a,41a,42a,51a,52aが並列に設けられている。ダイオード31a,32a,41a,42a,51a,52aは、スイッチング素子31,32,41,42,51,52に流れる電流とは逆方向への電流の流れを許容するように設けられている。ダイオード31a,32a,41a,42a,51a,52aは、いわゆる還流ダイオードである。
ゲート回路15のスイッチング素子31,32,41,42,51,52は、それぞれ、ゲート指令生成部14から出力されたゲート指令Up,Un,Vp,Vn,Wp,Wnに応じて、ON状態またはOFF状態になるように構成されている。図3に、ゲート回路15の出力電圧の電圧ベクトル図を示す。図3において、V0及びV7は、各相で電位差が生じないゼロ電圧ベクトルである。なお、図3において、V1では、U相に電圧が発生し、V2では、V相に電圧が発生し、V4では、W相に電圧が発生する。
以下の説明において、各電圧ベクトルに応じてスイッチング素子31,32,41,42,51,52のON/OFF状態を示す際には、上アームのスイッチング素子がON状態であり、下アームのスイッチング素子がOFF状態を“1”とし、上アームのスイッチング素子がOFF状態であり、下アームのスイッチング素子がON状態を“0”とする。そして、W相のスイッチング状態を3桁目、V相のスイッチング状態を2桁目、U相のスイッチング状態を1桁目とする3桁の数字によって、電圧ベクトルを表現する。
例えば、電圧ベクトルV1であれば、V1=[001]と表記する。この場合、各アームのスイッチング素子は、W相の上アームのスイッチング素子がOFF状態で且つW相の下アームのスイッチング素子がON状態であり、V相の上アームのスイッチング素子がOFF状態で且つV相の下アームのスイッチング素子がON状態であり、U相の上アームのスイッチング素子がON状態で且つW相の下アームのスイッチング素子がOFF状態である。なお、ゼロ電圧ベクトルは、V0、V7の場合であり、V0=[000](各相の下アームのスイッチング素子が全てON状態)、V7=[111](各相の上アームのスイッチング素子が全てON状態)と表記される。
3相2相変換部16は、図1に示すように、モータ2の出力電流Iu,Iwを、d軸電流Id及びq軸電流Iqに変換する。具体的には、3相2相変換部16は、モータ2のU相電流Iu及びW相電流Iwに基づいて、d軸電流Id及びq軸電流Iqを求める。
トルク推定部17は、3相2相変換部16から出力されたd軸電流Id及びq軸電流Iqを用いて、モータ2の出力トルクを推定する。
(電圧ベクトル生成部)
次に、電圧ベクトル生成部13の構成を、図1、図4から図9を用いて詳細に説明する。
既述のように、電圧ベクトル生成部13は、電流偏差算出部20と、電流偏差ベクトル演算部21と、電流偏差ベクトル領域判定部22と、電圧ベクトル設定部23と、記憶部24とを有する。
電流偏差算出部20は、3相の電流指令Iu*,Iv*、Iw*とモータ2の3相の出力電流Iu,Iv,Iwとを用いて、各相の電流偏差Δiu,Δiv,Δiwを計算する。
具体的には、電流偏差算出部20は、以下の式によって、3相の電流偏差Δiu,Δiv,Δiwを求める。
Δiu=Iu*−Iu
Δiv=Iv*−Iv
Δiw=Iw*−Iw
電流偏差ベクトル演算部21は、電流偏差算出部20によって算出された各相の電流偏差Δiu,Δiv,Δiwを用いて、電流偏差ベクトルを求める。具体的には、電流偏差ベクトル演算部21は、前記電流偏差Δiu,Δiv,Δiwを用いて、電流偏差ベクトルの大きさを求める。
具体的には、電流偏差ベクトル演算部21は、下式によって、3相の電流偏差Δiu,Δiv,Δiwを、図4に示すような2軸の電流偏差Δiα,Δiβに変換した後、それらの2乗の和を求めることにより、電流偏差ベクトルの大きさに相当するΔi2を算出する。
Δiα=√(3/2)×Δiu
Δiβ=√(1/2)×(Δiv−Δiw)
Δi2=(Δiα2+Δiβ2)
電流偏差ベクトル領域判定部22は、電流偏差ベクトル演算部21によって算出された3相の電流偏差Δiu,Δiv,Δiwを用いて、電流偏差ベクトルが、図5に示すような電流偏差ベクトル図におけるいずれの領域に属するかを判定する。ここでは、図5に示すように、電流偏差ベクトル図において、60度ずつに領域を分けた場合、電流偏差ベクトルが領域A1からA6のいずれの領域に属するかを判定する。
具体的には、電流偏差ベクトル領域判定部22は、3相の電流偏差Δiu,Δiv,Δiwのうち2相間での電流偏差の絶対値の差を求めて、その差が0以上かどうかによって、電流偏差ベクトルが属する領域を絞り込んだ後、3相の電流偏差Δiu,Δiv,Δiwが0以上かどうかによって、電流偏差ベクトルが属する領域を特定する。
例えば、|Δiu|―|Δiv|≧0、|Δiv|―|Δiw|≧0及び|Δiw|―|Δiu|<0の場合には、電流偏差ベクトルは、図5の領域A1か領域A4に属する。そして、Δiu≧0であれば、電流偏差ベクトルは図5の領域A1に属し、Δi<0であれば、電流偏差ベクトルは図5の領域A4に属する。
電圧ベクトル設定部23は、ゲート回路15のスイッチング素子31,32,41,42,51,52が動作する際のスイッチングモードの判定を行うとともに、判定されたモードと電流偏差ベクトル図において電流偏差ベクトルが属する領域とに応じて、電圧ベクトルを設定する。
具体的には、電圧ベクトル設定部23は、図6に示すように、電流偏差ベクトルXの大きさを用いてスイッチングモードの判定を行う。本実施形態では、電圧ベクトル設定部23は、電流偏差ベクトルの大きさが、第1所定値P(所定値)以下かどうか、及び、該第1所定値Pよりも大きい第2所定値Q以下かどうかを判定する。図6に示す例では、電流偏差ベクトルX(図6の太線矢印)は、その大きさが第1所定値P以上で且つ第2所定値Qよりも小さい。
なお、第1所定値Pは、モータ2の出力にあまり影響のない電流偏差ベクトルの大きさに設定される。また、第2所定値Qは、モータ2の出力に与える影響とスイッチング損失及び電流歪率に与える影響とを考慮した場合に、モータ2の出力に与える影響よりもスイッチング損失及び電流歪率に与える影響の方が大きくなるような電流偏差ベクトルの大きさに設定される。
電圧ベクトル設定部23は、電流偏差ベクトルの大きさが第1所定値P以下の場合には、スイッチングモードを還流モードにする。具体的には、電圧ベクトル設定部23は、電流偏差ベクトルの大きさが第1所定値P以下の場合、出力する電圧ベクトルをゼロ電圧ベクトルV0,V7のいずれかに設定する。
電流偏差ベクトルの大きさが第1所定値P以下の場合には、電流指令とモータ2の出力電流との差があまり大きくない。この状態で、電圧ベクトルを発生させて、ゲート回路15のスイッチング素子31,32,41,42,51,52を駆動させると、スイッチング回数が増えるため、スイッチング損失が増大するとともに電流歪率も大きくなる。
これに対し、上述のように、電圧ベクトルをゼロ電圧ベクトルV0,V7のいずれかに設定することで、スイッチング素子31,32,41,42,51,52のスイッチング回数を減らすことができる。よって、スイッチング損失を低減できるとともに、電流歪率を低減することができる。
上述のように電圧ベクトルをゼロ電圧ベクトルV0,V7のいずれかに設定することにより、ゲート回路15ではスイッチング素子31,32,41,42,51,52が各相の電位差がなくなるように動作する。具体的には、ゲート回路15のスイッチングアーム30,40,50の上アームのスイッチング素子31,41,51が全てON状態またはOFF状態になる。この状態では、電圧形インバータ装置1からモータ2に対して電圧が出力されない。一方、既述のとおり、ゲート回路15のスイッチング素子31,32,41,42,51,52には、それぞれ、スイッチング素子31,32,41,42,51,52に流れる電流の向きとは逆方向への電流の流れを許容するようにダイオード31a,32a,41a,42a,51a,52aが並列に接続されている。そのため、モータ2の回転に伴って生じる誘起電圧によって、モータ2及びゲート回路15に還流電流が流れる。
上述のように、電流偏差ベクトルの大きさが第1所定値P以下の場合に電圧ベクトルをゼロ電圧ベクトルV0,V7のいずれかに設定することにより、スイッチング素子31,32,41,42,51,52のスイッチング回数を減らすことができるとともに、モータ2に出力される電圧がゼロの状態では、モータ2に生じる誘起電圧によって還流電流が流れる。これにより、モータ2に流れる電流の波形は、スイッチング素子31,32,41,42,51,52のスイッチング動作による歪みが少ない波形となる。したがって、上述の構成により、モータ2に流れる電流の電流歪率をより効果的に低減することができる。
また、電圧ベクトル設定部23は、電流偏差ベクトルの大きさが第1所定値P以下の場合、出力する電圧ベクトルを、ゼロ電圧ベクトルV0,V7のうち、出力中の電圧ベクトル(最後に設定された電圧ベクトル)からゼロ電圧ベクトルに変える際にスイッチング素子31,32,41,42,51,52のスイッチング回数が最も少なくなるようなゼロ電圧ベクトルに設定する。前記出力中の電圧ベクトルに関する情報は、後述する記憶部24に記憶されている。電圧ベクトル設定部23は、出力中の電圧ベクトルを用いて出力する電圧ベクトルの設定を行う場合には、記憶部24から、出力中の電圧ベクトルに関する情報を読み込む。
例えば、図7に示すように、出力中の電圧ベクトルがV1=[001]の場合(図7の(a))には、電流偏差ベクトルの大きさが第1所定値P以下であれば、出力する電圧ベクトルをゼロ電圧ベクトルV0=[000]に設定する(図7(b))。同様に、出力中の電圧ベクトルがV3=[011]の場合には、電流偏差ベクトルの大きさが第1所定値P以下であれば、出力する電圧ベクトルをゼロ電圧ベクトルV7=[111]に設定する。
なお、本実施形態において、スイッチング回数は、スイッチング素子31,32,41,42,51,52のいずれか一つが、ON状態からOFF状態、または、OFF状態からON状態に切り替わる回数を1回として、ゲート回路15の全てのスイッチング素子31,32,41,42,51,52のスイッチングの回数を合計した値である。
上述のように、出力中の電圧ベクトルからゼロ電圧ベクトルに変える際に、ゲート回路15において動作するスイッチングアーム30,40,50の数(スイッチング回数)が最も少なくなるようなゼロ電圧ベクトルを選択することにより、ゲート回路15のスイッチング素子31,32,41,42,51,52のスイッチング回数をより低減することができる。これにより、スイッチング動作によって生じる損失をより低減できるとともに、モータ2に流れる電流の電流歪率をより低減することができる。
電圧ベクトル設定部23は、電流偏差ベクトルが第1所定値Pよりも大きく且つ第2所定値Q以下の場合には、スイッチングモードを定常モードにする。具体的には、電圧ベクトル設定部23は、電流偏差ベクトルの大きさが第1所定値Pよりも大きく且つ第2所定値Q以下の場合、出力中の電圧ベクトルと電流偏差ベクトルが属する領域とに基づいて、電圧ベクトルを設定する。
電圧ベクトル設定部23は、前記定常モードにおいて、出力中の電圧ベクトルから、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに変更する際(ベクトル遷移する際)には、以下のように、出力する電圧ベクトルを設定する。
電圧ベクトル設定部23は、図3で示すV0〜V7の電圧ベクトルの図において、隣り合うベクトルに変更する場合はベクトル遷移を許可し、そうでない場合は、一度ゼロ電圧ベクトルを出力した後に、所望の電圧ベクトルに遷移するようにする。
例えば、出力中の電圧ベクトルがV1の場合、遷移可能な電圧ベクトルはV0,V3,V5,V7である。この場合、電圧ベクトル設定部23は、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルがV3またはV5であれば、その電圧ベクトルを、出力する電圧ベクトルとして設定する。一方、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルがそれ以外のベクトル、例えばV4の場合には、電圧ベクトル設定部23は、電圧ベクトルV4ではなくV0を、出力する電圧ベクトルとして設定する。
ここで、V0及びV7は、同じゼロ電圧ベクトルであるため、電圧ベクトル設定部23は、出力中の電圧ベクトルV1からゼロ電圧ベクトルに遷移する場合には、スイッチング状態の変化が少ないゼロベクトルV0を、出力する電圧ベクトルとして設定する。
換言すれば、電圧ベクトル設定部23は、出力中の電圧ベクトルから、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに変更する際に、ゲート回路15のスイッチングアーム30,40,50を2つ以上、動作させなければいけない場合(スイッチング回数が所定回数以上の場合)、出力する電圧ベクトルをゼロ電圧ベクトルに設定する。前記所定回数は、スイッチングアーム30,40,50のうち2つのスイッチングアームを動作させる際のスイッチング回数である。
例えば、図8(a)に示すように、出力中の電圧ベクトルV1=[001](図中の太実線矢印)から、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルV4=[100](図中の破線矢印)に変更する場合、ゲート回路15のスイッチングアーム30,40,50を2つ以上、動作させる必要がある。この場合には、図8(b)に示すように、出力する電圧ベクトルを、ゼロ電圧ベクトルV0,V7のうちスイッチング回数の少ない方に設定する。
なお、この定常モードの場合でも、上述の還流モードと同様、電圧ベクトル設定部23は、出力する電圧ベクトルをゼロ電圧ベクトルに設定する際に、ゼロ電圧ベクトルV0,V7のうち、スイッチング素子31,32,41,42,51,52のスイッチング回数が最も少なくなるようなゼロ電圧ベクトルを選定する。
一方、上述のように、電圧ベクトル設定部23は、前記定常モードにおいて、出力中の電圧ベクトルから、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに変更する際(ベクトル遷移する際)に、図3で示すV0〜V7の電圧ベクトルの図において、隣り合うベクトルに変更する場合はベクトル遷移を許可する。例えば、出力中の電圧ベクトルがV1の場合、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルがV3またはV5であれば、電圧ベクトル設定部23は、その電圧ベクトルを、出力する電圧ベクトルとして設定する。
換言すれば、電圧ベクトル設定部23は、出力中の電圧ベクトルから、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに変更する際に、ゲート回路15で動作するスイッチングアームが1つの場合(スイッチング回数が所定回数よりも少ない場合)には、出力する電圧ベクトルを、前記電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに設定する。
電圧ベクトル設定部23は、出力中の電圧ベクトルがゼロ電圧ベクトルの場合には、出力する電圧ベクトルを、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに設定する。
なお、前記出力中の電圧ベクトルに関する情報は、後述する記憶部24に記憶されている。電圧ベクトル設定部23は、出力中の電圧ベクトルを用いて電圧ベクトルの設定を行う場合には、記憶部24から、出力中の電圧ベクトルに関する情報を読み込む。
電圧ベクトル設定部23は、電流偏差ベクトルの大きさが第2所定値Qよりも大きい場合には、スイッチングモードを過渡モードにする。具体的には、電圧ベクトル設定部23は、電流偏差ベクトルの大きさが第2所定値Qよりも大きい場合、出力する電圧ベクトルを、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに設定する。
具体的には、電圧ベクトル設定部23は、電流偏差ベクトル図において電流偏差ベクトルが属する領域に応じて、電圧ベクトルを決める。例えば、図9(a)に示すように、電流偏差ベクトルYが電流偏差ベクトル図において領域A1に属している場合には、電圧ベクトル設定部23は、図9(b)に示すように、出力する電圧ベクトルを電圧ベクトルV1に設定する。
このように、電圧ベクトル設定部23は、過渡モードの場合には、出力する電圧ベクトルを、電流偏差ベクトル図において電流偏差ベクトルが属する領域に対応する電圧ベクトルに設定する。
記憶部24は、出力中の電圧ベクトルに関する情報を一時的に記憶する。記憶部24に記憶されているデータは、電圧ベクトル設定部23がスイッチングモードに応じて電圧ベクトルを設定する際に用いられる。
具体的には、電圧ベクトル設定部23は、スイッチングモードが還流モードの場合に、記憶部24に記憶されている電圧ベクトルに関する情報を読み込んで、該電圧ベクトルからゼロ電圧ベクトルに変更する際に、ゲート回路15において動作するスイッチングアーム30,40,50が最も少なくなるようなゼロ電圧ベクトルを設定する。
また、電圧ベクトル設定部23は、スイッチングモードが定常モードの場合に、記憶部24に記憶されている電圧ベクトルに関する情報を読み込んで、該電圧ベクトルから電流偏差ベクトルに応じて決められた電圧ベクトルに変更する際に、ゲート回路15において動作するスイッチングアーム30,40,50が2つ以上であれば、出力する電圧ベクトルとしてゼロ電圧ベクトルを設定する。
(電圧ベクトル生成の動作)
次に、上述のような構成を有する電圧形インバータ装置1の電圧ベクトル生成部13における電圧ベクトル生成の動作を、図10に示すフローを用いて説明する。
図10に示すフローがスタートすると(スタート)、まず、電圧ベクトル生成部13では、電流偏差算出部20に3相の電流指令とモータ2から出力される電流とが入力される(ステップS1)。
電流偏差算出部20は、入力された3相の電流指令及びモータ2の出力電流を用いて、各相の電流偏差を計算する(ステップS2)。続くステップS3では、電流偏差ベクトル演算部21が、前記電流偏差に基づいて、電流偏差ベクトルの大きさを算出する。
次に、ステップS4において、電流偏差ベクトル領域判定部22が、前記電流偏差に基づいて、前記電流偏差ベクトルが電流偏差ベクトル図の領域A1からA6のいずれの領域に属するかを判定する。具体的には、電流偏差ベクトル領域判定部22は、2相間における電流偏差の絶対値の差を求めて、その差が0以上かどうかによって、電流偏差ベクトル図において前記電流偏差ベクトルが属する領域を絞り込むとともに、3相の電流偏差が0以上かどうかによって、前記電流偏差ベクトルが属する領域を特定する。
上述のように、本実施形態では、ステップS3で電流偏差ベクトルの大きさを算出した後、ステップS4で前記電流偏差ベクトルが属する領域を判定している。しかしながら、ステップS4の領域判定をステップS3よりも先に行ってもよい。
続くステップS5では、電圧ベクトル設定部23が、ステップS3で求めた電流偏差ベクトルの大きさに基づいて、ゲート回路15で行うスイッチングモードを選択する。本実施形態の場合、スイッチングモードは、還流モード、定常モード及び過渡モードの3つのモードを含む。
電圧ベクトル設定部23は、電流偏差ベクトルの大きさが、第1所定値P以下の場合には、スイッチングモードとして還流モードを選択する。この還流モードでは、電圧ベクトル設定部23は、出力する電圧ベクトルをゼロ電圧ベクトルに設定する(ステップS6)。このとき、電圧ベクトル設定部23は、記憶部24から出力中の電圧ベクトルを読み込んで、その電圧ベクトルからゼロ電圧ベクトルに変更する際に、ゲート回路15において動作するスイッチングアーム30,40,50の数(スイッチング回数)が最も少なくなるようなゼロ電圧ベクトルを選択する。
前記ステップS5において、電流偏差ベクトルの大きさが第1所定値Pよりも大きく且つ第2所定値Q以下の場合には、電圧ベクトル設定部23は、スイッチングモードとして定常モードを選択する。この定常モードでは、電圧ベクトル設定部23は、出力中の電圧ベクトルから、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに変更する際に、ゲート回路15のスイッチングアーム30,40,50が2つ以上、スイッチング動作を行う場合(電圧ベクトル図において、電圧ベクトルを隣り合わないベクトルに遷移させる場合)には、出力する電圧ベクトルをゼロ電圧ベクトルに設定する(ステップS6)。
一方、出力中の電圧ベクトルから、電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルへ変更する際に、スイッチング動作を行うスイッチングアーム30,40,50が1つの場合(電圧ベクトル図において、電圧ベクトルを隣り合うベクトルに遷移させる場合)には、電圧ベクトル設定部23は、出力する電圧ベクトルを、前記電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに設定する。
これにより、ゲート回路15のスイッチング素子31,32,41,42,51,52のスイッチング回数を低減することができる。よって、スイッチング動作によって生じる損失をより低減できるとともに、モータ2に流れる電流の電流歪率をより低減することができる。
前記ステップS5において、電流偏差ベクトルの大きさが第2所定値Qよりも大きい場合には、電圧ベクトル設定部23は、スイッチングモードとして過渡モードを選択する。この過渡モードでは、電圧ベクトル設定部23は、出力する電圧ベクトルを、前記電流偏差ベクトルが属する領域に応じて決められた電圧ベクトルに設定する(ステップS6)。
これにより、電流偏差ベクトルが大きい場合には、電流偏差が小さくなるような電圧ベクトルを出力することができる。したがって、モータ2の出力を所定の出力まで迅速に調整することができる。
ステップS7では、電圧ベクトル設定部23は、設定した電圧ベクトルを電圧ベクトル指令Vectとして、ゲート指令生成部14に出力する。その後、このフローを終了する(エンド)。
以上の構成により、電圧ベクトル生成部13は、電流偏差ベクトルの大きさが第1所定値P以下の場合には、ゼロ電圧ベクトルを電圧ベクトルとして出力する。これにより、電流偏差ベクトルがあまり大きくない領域では、ゲート回路15のスイッチング回数を減らすことができ、スイッチング損失を低減することができる。しかも、モータ2に流れる電流の波形を、ノイズが少ない波形にすることができる。よって、モータ2に流れる電流の電流歪率を低減することができる。
ここで、図11に、従来の構成における3相のスイッチングパターン及びモータ2の電流波形の一例(図11(a))と、本実施形態の構成における3相のスイッチングパターン及びモータ2の電流波形の一例(図11(b))とを示す。この図11から分かるように、本実施形態の構成では、スイッチング回数を減らすことができるとともに、モータ2に流れる電流の電流歪率を低減することができる。なお、図11において、UpはU相のゲート指令、VpはV相のゲート指令、WpはW相のゲート指令を、それぞれ示す。
(電流値指令補正部)
次に、q軸の電流指令Iq*を補正する電流指令補正部60について、図1を用いて説明する。
電流指令補正部60は、モータ2に印加される電圧がゼロの状態(電圧ベクトル生成部13が、出力する電圧ベクトルをゼロ電圧ベクトルに設定した場合)で、モータ2に生じる還流電流を低減するように、q軸の電流指令Iq*を補正する。
既述のとおり、上述のような構成を有する電圧形インバータ装置1からモータ2に出力する電圧がゼロになると、モータ2には、回転によって誘起電圧が発生する。モータ2に誘起電圧が発生すると、モータ2及び電圧形インバータ装置1には、還流電流が流れる。この還流電流は、図12に示すように正弦波状の電流であるとともに、電圧形インバータ装置1の三相にそれぞれ流れる。そうすると、モータ2には、還流電流によって回生トルクが発生する。この回生トルクは、モータ2の回転を止める方向に作用するトルクである。
なお、図12には、一例として、モータ2に印加される電圧がゼロの状態において、該モータ2のU相に流れる電流の波形を示す。
よって、既述のように、電流偏差ベクトルの大きさが第1所定値P以下の場合に、電圧ベクトル生成部13から出力する電圧ベクトルをゼロ電圧ベクトルに設定することによって、スイッチング損失及びモータ2に流れる電流の電流歪率を低減しても、モータ2に生じる誘起電圧が、該モータ2の回転に悪影響を与える。
これに対し、本実施形態では、電流指令補正部60によって、モータ2に生じる誘起電圧を低減するように、q軸の電流指令Iq*を補正する。具体的には、電流指令補正部60は、補正値生成部61と、加算部62とを有する。
補正値生成部61は、電圧ベクトル生成部13で還流モードを行う際に用いられる第1所定値Pを用いて、q軸の電流指令Iq*を補正するための電流指令補正値Iqoftを生成する。補正値生成部61は、以下の式を用いて、電流指令補正値Iqoftを算出する。
Iqoft=Ia×cosβ
この式において、Iaは、電流振幅であり、不感帯領域幅(第1所定値P)に対して√(2/3)を乗じるdq軸変換(座標変換)を行うことによって算出される。また、βは、電流位相角である。βは、モータ2に生じる誘起電圧(E=ψ×ω、ψ:ロータ磁束、ω:モータ回転数)と同相にするためにゼロに設定される。
これにより、補正値生成部61は、電流指令補正値Iqoftとして、Iaを生成する。この電流指令補正値Iqoftは、モータ2に流れる還流電流によって生じる回生トルクを相殺するような力行トルクをモータ2に生成させる力行トルク指令である。
加算部62は、補正値生成部61によって生成された電流指令補正値Iqoftを、q軸の電流指令Iq*に加算する。
図13に、モータ2に印加される電圧がゼロの状態において、電流指令補正部60による電流指令値Iq*の補正の有無による効果を示す。具体的には、図13(a)に、電流指令値Iq*を補正しない状態でモータ2に流れる電流波形の一例を示すとともに、図13(b)に、電流指令補正部60によって電流指令値Iq*を補正した場合に、モータ2に流れる電流波形の一例を示す。
図13に示すように、電流指令補正部60によって電流指令値Iq*を補正しない場合(図13(a))には、モータ2に正弦波状の電流が流れる。一方、電流指令補正部60によって電流指令値Iq*を補正した場合(図13(b))には、モータ2に流れる電流は正弦波状ではなく、ゼロに近い値になる。
このように、電流指令補正部60によって、電流指令値Iq*に対し、モータ2に流れる還流電流によって生じる回生トルクを相殺するような力行トルク指令を加える補正を行うことにより、電圧ベクトルがゼロ電圧ベクトルに設定されている際に、モータ2で生じる誘起電圧に起因して該モータ2の回転が阻害されるのを防止できる。
したがって、本実施形態の構成によって、スイッチング回数を減らすことにより、スイッチング損失及びモータ2に流れる電流の電流歪率を低減できるとともに、モータ2に印加される電圧がゼロ状態で該モータ2に生じる誘起電圧を低減することにより、モータ2に、回転を阻害する回生トルクが生じるのを防止できる。よって、スイッチング損失及び電流歪率を低減しつつ、モータ性能の低下を防止することができる。
しかも、電流指令補正部60で電流指令値Iq*を補正する際に用いる電流指令補正値Iqoftは、電流偏差ベクトルの大きさの範囲において還流モードが適用される範囲の上限(第1所定値P)である。そのため、還流モードの範囲内において、モータ2に回転を阻害する回生トルクが生じるのをより確実に防止できる。
なお、本実施形態の構成は、電圧形インバータ装置1が高周波(例えば800kHz以上)で動作する構成の場合に特に有用である。すなわち、高周波の電圧形インバータ装置の場合、スイッチング素子のスイッチング動作が速いため、その分、スイッチング損失が増大しやすく且つ電流歪率も大きくなりやすい。このような高周波の電圧形インバータ装置に対して本実施形態の構成を適用することにより、スイッチング損失及び電流歪率の低減に関して、より大きな効果が得られる。
(その他の実施形態)
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
前記実施形態では、電流指令補正部60が、q軸の電流指令値Iq*を、電流指令補正値Iqoftによって補正する。しかしながら、図14に示すように、電流指令補正部70が、d軸の電流指令値Id*を、電流指令補正値Idoftによって補正してもよい。
この場合には、電流指令補正部70は、モータ2に誘起電圧を発生させないように該モータ2の界磁磁束を弱める電流指令補正値Idoftによって、d軸の電流指令Id*を補正する。具体的には、電流指令補正部70は、ロータ磁束及び下式を用いて電流指令補正値Idoftを生成する補正値生成部71を有する。
Idoft=Ib×sinβ
この式において、Ibは、電流振幅であり、ロータ磁束Ψを発生させる電流値に設定される。すなわち、Ib=Ld/Ψ(Ldはd軸インダクタンス)によって求められる。また、βは、電流位相角である。βは、d軸電流とするために、90度に設定される。
したがって、補正値生成部71は、電流指令補正値Idoftとして、Iaを生成する。この電流指令補正値Idoftは、モータ2に誘起電圧を生じさせないようにモータ2の界磁磁束を弱める弱め界磁指令である。
なお、図14において、符号72は、補正値生成部71によって生成された電流指令補正値Idoftを、電流指令Id*に加算する加算部である。
また、以上の説明では、d軸の電流指令Id*またはq軸の電流指令Iq*のいずれかを補正しているが、この限りではなく、d軸及びq軸の電流指令Id*,Iq*を、それぞれ、電流指令補正値Idoft,Iqoftによって補正してもよい。
前記実施形態では、電流偏差ベクトル領域判定部22は、3相の電流偏差Δiu,Δiv,Δiwのうち2相間での電流偏差の絶対値の差を求めて、その差が0以上かどうかによって、電流偏差ベクトルが属する領域を絞り込んだ後、3相の電流偏差Δiu,Δiv,Δiwが0以上かどうかによって、電流偏差ベクトルが属する領域を特定する。しかしながら、電流偏差ベクトルの領域を判定可能な方法であれば、どのような方法であってもよい。
前記実施形態では、電圧ベクトル設定部23は、スイッチングモードを、還流モード、定常モード及び過渡モードから選択している。しかしながら、スイッチングモードは、還流モード以外に、定常モードまたは過渡モードのいずれか一方のみを有していてもよいし、定常モード及び過渡モード以外のモードを有していても良い。
前記実施形態では、電圧ベクトル設定部23は、還流モード及び定常モードにおいて、出力する電圧ベクトルを、ゼロ電圧ベクトルV0,V7のうち、出力中の電圧ベクトル(最後に設定された電圧ベクトル)からゼロ電圧ベクトルに変える際にスイッチング素子31,32,41,42,51,52のスイッチング回数が最も少なくなるようなゼロ電圧ベクトルに設定する。しかしながら、電圧ベクトル設定部23は、出力する電圧ベクトルを、スイッチング回数が多いゼロ電圧ベクトルに設定してもよい。
前記実施形態では、3相交流モータ2を駆動させる電圧形インバータ装置1の構成について説明したが、この限りではなく、3相以外の複数相の交流モータ2を駆動させる電圧形インバータ装置に適用してもよい。