(57)【要約】  【課題】駆動用インバータのスイッチング素子が故障した場合に、故障したスイッチング素子が使用される領域でもベクトル制御を継続し、トルクを発生できる３相交流電動機の制御装置を提供する。  【解決手段】上側スイッチング素子の故障時には、故障した相の電圧指令値の演算値が０より大となった時に、合成電圧ベクトルの位相角を所定値に固定し、ｑ軸電流が０となった時に位相角を１８０°反転させ、反転させた位相角を故障した相の電圧指令値の演算値が０以下となるまで固定し、下側スイッチング素子の故障時には、故障した相の電圧指令値の演算値が０以下となった時に、合成電圧ベクトルの位相角を所定値に固定し、ｑ軸電流が０となった時に位相角を１８０°反転させ、反転した合成電圧ベクトルの位相角を故障した相の電圧指令値の演算値が０より大となるまで固定する３相交流電動機の制御装置。【選択図】図１
2005094873.tif 000002
【特許請求の範囲】
【請求項１】
トルク指令値に基づいて電流指令値を算出する電流指令値演算手段と、
３相交流電動機の各巻線に流れる電流である実電流を検出する実電流検出手段と、
前記３相交流電動機の回転子の回転角度を検出する回転角度検出手段と、
前記電流指令値と前記実電流値と前記回転角度とに基づいて、ｄ軸ｑ軸電圧指令値を算出するｄ軸ｑ軸電圧指令値演算部と、
前記ｄ軸ｑ軸電圧指令値を２相３相変換して前記３相交流電動機の各相の電圧指令値を算出する電圧指令値演算手段と、
前記電圧指令値に基づいて、インバータを駆動するＰＷＭ信号を演算するＰＷＭ変換部と、
上側スイッチング素子と下側スイッチング素子との直列回路を３相分備え、各直列回路の上側が電源の正側に、下側が電源の負側に接続され、前記両スイッチング素子の接続点から前記３相交流電動機の各相巻線に接続された前記インバータと、を備えた電動機の制御装置であって、
前記インバータのスイッチング素子がオフし続けるオープン故障を検出する故障検出手段と、
前記故障検出手段が３相のうちの何れかの相において前記上側スイッチング素子のオープン故障を検出した場合には、故障時用のｄ軸ｑ軸電圧指令値から前記電圧指令値演算手段で求めた故障した相の電圧指令値の演算値が０より大となった時に、３相の電圧指令値の合成ベクトルである合成電圧ベクトルの位相角を所定値に固定する値の電圧指令値を出力し、ｑ軸電流が０となった時に、前記３相の合成電圧ベクトルの位相角を前記所定値から１８０°反転させる電圧指令値を出力し、反転させた合成電圧ベクトルの位相角を前記故障した相の電圧指令値の演算値が０以下となるまで固定し、また、前記故障検出手段が３相のうちの何れかの相において前記下側スイッチング素子のオープン故障を検出した場合には、前記故障した相の電圧指令値の演算値が０以下となった時に、前記３相の電圧指令値の合成ベクトルである合成電圧ベクトルの位相角を所定値に固定する値の電圧指令値を出力し、ｑ軸電流が０となった時に、前記３相の合成電圧ベクトルの位相角を前記所定値から１８０°反転させる電圧指令値を出力し、反転した合成電圧ベクトルの位相角を前記故障した相の電圧指令値の演算値が０より大となるまで固定するように制御する制御手段と、
を備えたことを特徴とする３相交流電動機の制御装置。
【請求項２】
前記故障時用のｄ軸ｑ軸電圧指令値は、ｄ軸電圧指令値＝０、ｑ軸電圧指令値＝Γ（ただし、Γ＝固定時の電圧ベクトルＶａの大きさ）とすることを特徴とする請求項１に記載の３相交流電動機の制御装置。
【請求項３】
前記故障時用のｄ軸ｑ軸電圧指令値は、故障したスイッチング素子が本来使用されない領域では、通常制御時と同様のｄ軸電流指令値Ｖｄ＊およびｑ軸電流指令値Ｖｑ＊とし、故障したスイッチング素子が本来使用されるはずだった領域では、ｄ軸電圧指令値＝０、ｑ軸電圧指令値＝Γ（ただし、固定時の電圧ベクトルＶａの大きさ）とすることを特徴とする請求項１に記載の３相交流電動機の制御装置。
【請求項４】
前記制御手段は、電圧指令値の正負および大きさを固定することによって、合成電圧ベクトルの位相角を固定し、電圧指令値の正負のみを反転することによって、合成電圧ベクトルの位相角を１８０°反転させることを特徴とする請求項１乃至請求項３の何れかに記載の３相交流電動期の制御装置。
【請求項５】
前記制御手段は、ｄ軸の位相角θ１と、合成電圧ベクトルに対応する電流ベクトルとしての合成電流ベクトルとｑ軸との位相差である電流位相角ζと、電圧指令値出力時点から実電圧が電圧指令値に対応して変化するまでの間の回転角度である進み角αとの合計値に基づいて、ｑ軸電流が０となる時点を判定することを特徴とする請求項１乃至請求項４の何れかに記載の３相交流電動期の制御装置。
【請求項６】
Ｕ相上側スイッチング素子がオープン故障している場合は、該スイッチング素子がオープン故障している相の電圧軸を基準としたｄ軸の位相角θ１と、電流位相角ζと、進み角αとの合計値が０°となった時に、ｑ軸電流が０であると判定し、Ｕ相下側スイッチング素子がオープン故障している場合は、該スイッチング素子がオープン故障している相の電圧軸を基準としたｄ軸の位相角θ１と、電流位相角ζと、進み角αとの合計値が１８０°となった時に、ｑ軸電流が０であると判定することを特徴とする請求項５に記載の３相交流電動期の制御装置。
【請求項７】
Ｖ相上側スイッチング素子がオープン故障している場合は、該スイッチング素子がオープン故障している相の電圧軸を基準としたｄ軸の位相角θ１と、電流位相角ζと、進み角αとの合計値が１２０°となった時に、ｑ軸電流が０であると判定し、Ｕ相下側スイッチング素子がオープン故障している場合は、該スイッチング素子がオープン故障している相の電圧軸を基準としたｄ軸の位相角θ１と、電流位相角ζと、進み角αとの合計値が３００°となった時に、ｑ軸電流が０であると判定することを特徴とする請求項５に記載の３相交流電動期の制御装置。
【請求項８】
Ｗ相上側スイッチング素子がオープン故障している場合は、該スイッチング素子がオープン故障している相の電圧軸を基準としたｄ軸の位相角θ１と、電流位相角ζと、進み角αとの合計値が２４０°となった時に、ｑ軸電流が０であると判定し、Ｕ相下側スイッチング素子がオープン故障している場合は、該スイッチング素子がオープン故障している相の電圧軸を基準としたｄ軸の位相角θ１と、電流位相角ζと、進み角αとの合計値が６０°となった時に、ｑ軸電流が０であると判定することを特徴とする請求項５に記載の３相交流電動期の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３相交流電動機の制御装置に関し、特に故障時のフェールセーフ制御技術に関する。
【背景技術】
【０００２】
従来の制御装置としては下記特許文献１に記載のものがある。上記の従来技術においては、電動機を駆動するインバータのスイッチング素子がオープン故障（オフのままになる故障）した場合には、その故障したスイッチング素子をオンさせるＰＷＭ駆動信号の組み合わせを停止させるように制御している。つまり、スイッチング素子がオープン故障した場合には、単にスイッチング素子が故障した相に印加する電圧（または電流）を停止し、故障したスイッチング素子を利用するベクトルの発生を停止する構成としているので、ベクトルを発生しない領域では何も制御出来ないことになる。  
例えば、図３に示した電圧ベクトル図において、Ｕ相の下側スイッチング素子がオープン故障した場合には、Ｕ相に負の電圧を印加できなくなり、Ｕ相に負の電流が流れないので、図の下半面のように、Ｖ相およびＷ相に正の電圧を印加する（正の電流を流す）場合において、Ｖ相電流＋Ｗ相電流＋Ｕ相電流＝０とすることができなくなる。そのため図３の下半面の（Ｕ相電圧が負となる場合の）トルクが得られないことになる。つまり、３相交流電動機では３相の電流の和は０となるが、Ｕ相の電圧Ｖｕ＝０とすると他の相に正の電流を流すことが出来ない。
【０００３】
【特許文献１】特開平８−１９６９８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように従来の３相交流電動機の制御装置においては、駆動用インバータのスイッチング素子が故障した場合には、ベクトル制御を継続することが出来ず、トルクを発生させることが出来ない領域が生じるという問題があった。  
本発明は上記のごとき問題を解決するためになされたものであり、故障したスイッチング素子が使用される領域でも、ベクトル制御を継続し、トルクを発生させることの出来る３相交流電動機の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明においては、３相のうちの何れかの相において上側スイッチング素子のオープン故障を検出した場合には、故障時用のｄ軸ｑ軸電圧指令値から電圧指令値演算手段で求めた故障した相の電圧指令値の演算値が０より大となった時に、３相の電圧指令値の合成ベクトルである合成電圧ベクトルの位相角を所定値に固定（例えば後記図６のように、合成電圧ベクトルＶａを位相角９０°に固定）する値の電圧指令値を出力し、ｑ軸電流が０となった時に、３相の合成電圧ベクトルの位相角を前記所定値から１８０°反転（例えば図７のように、合成電圧ベクトルＶａを位相角９０＋１８０＝２７０°にする）させる電圧指令値を出力し、反転させた合成電圧ベクトルの位相角を故障した相の電圧指令値の演算値が０以下となるまで固定し、また、３相のうちの何れかの相において下側スイッチング素子のオープン故障を検出した場合には、故障した相の電圧指令値の演算値が０以下となった時に、３相の電圧指令値の合成ベクトルである合成電圧ベクトルの位相角を所定値に固定する値の電圧指令値を出力し、ｑ軸電流が０となった時に３相の合成電圧ベクトルの位相角を前記所定値から１８０°反転させる電圧指令値を出力し、反転した合成電圧ベクトルの位相角を故障した相の電圧指令値の演算値が０より大となるまで固定するように制御するように構成している。
【発明の効果】
【０００６】
本発明においては、インバータのスイッチング素子がオープン故障した場合に、通常は故障したスイッチング素子を使用する領域でも、合成電圧ベクトルを固定したベクトル制御を継続することでトルクを発生させるように構成している。したがって殆どの領域で、何らかのトルクを発生させることが可能となり、フェールセーフモードとして車両の走行が可能になる、という効果が得られる。
【発明を実施するための最良の形態】
【０００７】
以下、本発明の一実施例について図面に基づいて詳述する。  
図１は本発明を適用する３相交流同期電動機のベクトル制御を行う電流フィードバック制御ブロックの一実施例図である。なお、本実施例は３相交流同期電動機を電気自動車の駆動用モータに適用したものとして説明するが、これに限られるものではない。  
電気自動車においては、図示しないアクセル開度センサを用いてアクセル開度を検出して出力する。また、図示しないトルク指令値演算部はアクセル開度センサによって検出されたアクセル開度等からトルク指令値Ｔ＊を演算し、トルク指令値をデジタル信号として出力する。
【０００８】
電流指令演算部１では、上記のトルク指令値Ｔ*に見合ったｄ軸電流指令値Ｉｄ*およびｑ軸電流指令値Ｉｑ*を出力する。それらの電流指令値は電流ＰＩ制御部２に入力される。    
電流ＰＩ制御部２は、ｄ軸電流指令値Ｉｄ*とｄ軸現在電流値Ｉｄとの偏差に基づき比例積分演算を行ってｄ軸電圧指令値Ｖｄ*を出力し、同様にｑ軸電流指令値Ｉｑ*とｑ軸現在電流値Ｉｑとの偏差に基づいてｑ軸電圧指令値Ｖｑ*を出力する。
【０００９】
上記のｄ軸電圧指令値Ｖｄ*とｑ軸電圧指令値Ｖｑ*（以下、両者を一括する際にはｄ軸ｑ軸電圧指令値と記載）は、必要に応じて非干渉演算処理を施され、２相３相変換器３により３相電圧指令値Ｖｕ*、Ｖｖ*、Ｖｗ*に変換される。なお、インバータのスイッチング素子がオフのままになるオープン故障時には特別な制御を行う（詳細後述）。
【００１０】
上記の３相電圧指令値Ｖｕ*、Ｖｖ*、Ｖｗ*はＰＷＭ変換部４に与えられ、ＰＷＭ信号に変換される。  
インバータ５は上記ＰＷＭ信号に応じて図示しない直流電源（バッテリ等）の電力を３相交流電力に変換し、３相モータ６（以下、電動機をモータと略記する）を駆動する。  
この際に流れる３相の各相電流ｉｕ、ｉｖ、ｉｗを電流センサ７−１、７−２、７−３でそれぞれ検出し、Ａ／Ｄ変換部９でディジタル信号の電流値Ｉｕ、Ｉｖ、Ｉｗに変換する。そして３相２相変換器１０によりｄ軸現在電流値Ｉｄおよびｑ軸現在電流値Ｉｑに変換し、前記電流ＰＩ制御部２にフィードバックする。
【００１１】
回転角検出器８は、３相モータ６の回転角θ（ロータ：回転子の回転角）を検出する。この回転角θは、前記２相３相変換器３および３相２相変換器１０における座標変換演算および電流指令演算部１における演算に用いられる。  
以上の処理を繰り返して３相モータ６の電流フィードバックによるベクトル制御を行う。  
故障検出部１１は、図２に示すインバータのスイッチング素子がオフのままになるオープン故障を検出し、故障時には故障検出信号Ｓ０を故障時制御部１２へ送る。故障時制御部１２は２相３相変換器３の電圧指令値を制御してオープン故障時のフェールセーフ制御を行う（１１および１２については詳細後述）。
【００１２】
図２は、インバータ５の回路図である。  
図２に示すように、インバータ５は、２個のスイッチング素子（トランジスタ）が直列接続された直列回路を３相分備え、前記２個のスイッチング素子の接続点から３相モータ６の３相巻線の各相に接続されたものであり、電源２０の正側に接続された方のスイッチング素子２１、２３、２５を上側スイッチング素子、電源２０の負側に接続された方のスイッチング素子２２、２４、２６を下側スイッチング素子と呼ぶ。
【００１３】
上記各直列回路の上側と下側の駆動信号は、相互に逆相になっており、一つの直列回路における２個のスイッチング素子が同時にオンになることはないように制御する。例えば図２に破線で示したように、３相モータ６のＵ相からＶ相に電流を流す場合は、上側の駆動信号Ａと下側の駆動信号Ｄが“Ｈｉ”、下側の駆動信号Ｂと上側の駆動信号Ｃが“Ｌｏ”となり、スイッチング素子２１と２４がオン、スイッチング素子２２と２３がオフになる。逆にＶ相からＵ相に電流を流す場合は、上側の駆動信号Ｃと下側の駆動信号Ｂが“Ｈｉ”、下側の駆動信号Ｄと上側の駆動信号Ａが“Ｌｏ”となり、スイッチング素子２２と２３がオン、スイッチング素子２１と２４がオフになる。  
したがって各相巻線において電源の＋端子から中性点に向かって流れる電流方向を正方向、中性点から電源の−端子に向かって流れる電流方向を逆方向とすれば、上記のＵ相からＶ相に電流を流す場合は、Ｕ相巻線には正方向、Ｖ相巻線には逆方向の電流が流れることになり、上記のＶ相からＵ相に電流を流す場合は、上記の逆になる。
【００１４】
図３に電圧ベクトル図を示す。合成ベクトルＶａは電圧ベクトルＶｕ、Ｖｖ、Ｖｗの合成ベクトルで、例えば上記の例のようにＵ相下側スイッチング素子２２がオープン故障となってオンできなくなると、図３の下半面にくる電圧ベクトルＶａが出力不能となり、図４に示した定回転定出力時の３相電流波形においては、３相の各々１２０°ずれた正弦波である電流波形のうち、破線部の電流が出力不能となり、Ｖ相、Ｗ相も制御できなくなる。つまり図２のＵ相下側スイッチング素子２２がオープン故障すると、「電源の＋端子→Ｖ相巻線→中性点→Ｕ相巻線→電源の−端子」の経路、および「電源の＋端子→Ｗ相巻線→中性点→Ｕ相巻線→電源の−端子」の経路が導通不能になる。
【００１５】
前記の従来例（特許文献１）では、図３の下半面でベクトル出力を停止して上半面だけで制御を行うことが示されているが、本発明では、何れか１相のスイッチング素子がオープン故障した場合でもフェールセーフ制御で図３の下半面でもトルクを発生させることを可能とするフェールセーフ制御法を示す。
【００１６】
始めに出力する電圧ベクトルの向きについて説明する。  
例えばＵ相下側のスイッチング素子２２がオープン故障し、図３の下半面の電圧ベクトルが出力不能となった場合には、上半面においては故障時用（フェールセーフ時用）のｄ軸ｑ軸電圧指令値（詳細後述）を２相３相変換したＵ相電圧指令値Ｖｕ＊が０以下（上側故障の場合は０より大）となった時点で、図５に示すように、電圧ベクトルの位置（位相）を固定する。これは固定用の電圧指令値を２相３相変換部３からＰＷＭ変換部４へ送ることによって行う。  
なお、以下の図面において、黒太線で示しＮＳの極性符号を付した部分はモータ回転子１３（ロータ）である。
【００１７】
図６に示すように、合成電圧ベクトルＶａに対応する電流ベクトルとしての合成電流ベクトルＩａとｑ軸との成す角を電流位相角ζ（ｒａｄ）とした場合に、今回読み込んだモータ角度θ１（ｒａｄ／ｓｅｃ）と、前回の制御周期に読み込んだモータ角度θ０（ｒａｄ／ｓｅｃ）から一制御周期間のモータ進み角α（ｒａｄ／制御周期）を算出し、ロータがさらに回転して、上記電流位相角ζとモータ進み角αとの和が
ζ＋α＞π（ｒａｄ）
を満たした場合には、ｑ軸電流が０になったものとして出力電圧ベクトルの向き（位相）を図７に示すベクトルに切り替える。つまり、図６の状態から１８０°反転させる。  
なお、図６において、Γはフェールセーフ時用の電圧ベクトルの大きさを示す。
【００１８】
さらにロータが回転して、フェールセーフ時用のｄ軸ｑ軸電圧指令値を２相３相変換したＵ相電圧指令値が０より大（上側故障の場合は０以下）となったら（図８に示す状態）、通常の電圧ベクトル出力に戻る。  
以上を繰り返してオープン故障したＵ相下側のスイッチング素子２２を用いずに制御する。このように制御して下半面領域で一定方向のベクトル（図５および図７）を出し続けることで、図９〜図１２に示すように、どの位置にロータがある場合でも、トルク軸電流Ｉｑを発生させ、トルクを発生させることが出来る。上記のようなオープン故障時のフェールセーフ制御は図１の故障時制御部１２が２相３相変換部３の電圧指令値を制御することによって行う。なお、フェールセーフ時用（故障時用）のｄ軸ｑ軸電圧指令値は、電流ＰＩ制御部２から与えるようにしてもよいし、故障時制御部１２から与えるようにしてもよい。
【００１９】
次にフェールセーフ時用の電圧ベクトルの大きさΓおよびフェールセーフ時用のｄ軸ｑ軸電圧指令値について説明する。  
本発明による電圧ベクトル固定制御領域では、図１０に示したように、本来弱め界磁電流として負の電流を流すｄ軸に正の電流が発生してしまい、誘起電圧を増大させる領域が存在するために、電圧べクトルＶａ固定時の電圧ベクトルの大きさΓ（以下、単に大きさΓと記載）には注意が必要となる。具体的にはモータ回転数により誘起電圧値が変化して電圧ベクトルＶａ固定時の大きさΓの許容値が変わるため（つまり、誘起電圧と電源電圧の差が小さくなり過ぎるため）、各回転数でのフェールセーフ走行時用の電圧ベクトルＶａの大きさΓを記憶しておく。その電圧ベクトルＶａの大きさΓの許容値は、図６の状態からさらにロータが回転してｄ軸と電圧ベクトル固定時のＩａ軸が一致したときが一番厳しい条件となる。したがって、回転数ごとにｄ軸電流がどの程度流せるかを実験から求め、求めたｄ軸電流に対応する電圧ベクトルＶａの大きさをフェールセーフ時用の電圧ベクトルＶａの大きさΓとする。この値は回転数ごとに記憶しておき、必要に応じて読み出して用いる。
【００２０】
また、それ以外の状態、つまり図３の上半面の通常の電圧ベクトルＶａ出力が可能な領域（つまり故障したスイッチング素子が本来使用されない領域）では、フェールセーフ走行時にはｄ軸電圧指令値＝０、ｑ軸電圧指令値＝Γ（＝電圧ベクトルＶａ固定時の大きさ）として、このｄ軸電圧指令値とｑ軸電圧指令値を２相３相変換した値を３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊として制御を行う。
【００２１】
なお、本実施例においてはフェールセーフ走行時における図３の上半面のｑ軸電圧指令値＝電圧ベクトルＶａの大きさΓとしたが、例えば図３の上半面におけるｄ軸電圧指令値およびｑ軸電圧指令値は、通常制御時と同様にｄ軸電流指令値Ｖｄ＊およびｑ軸電流指令値Ｖｑ＊とし、図３の下半面（つまり故障したスイッチング素子が本来使用されるはずだった領域）においては、ｄ軸電圧指令値＝０、ｑ軸電圧指令値＝電圧ベクトルＶａの大きさΓ、としても良い。
【００２２】
次に、図１３〜図１６のフローチャートを用いて本発明における制御を詳細に説明する。  
図１３は通常１００μｓ程度の周期で制御される電流制御演算を示すフローチャートである。  
図１３において、まずステップＳ１では電流センサ７−１、７−２、７−３の検出値Ｉｕ、Ｉｖ、Ｉｗと、角度検出器８の検出値θを読み込み、下記の式で示される３相２相変換を行って２相電流値Ｉｄ、Ｉｑを算出する。  
Ｉｄ＝{√(3/2)Ｉｕ cosθ＋[√(1/2)Ｉｕ＋√(2)Ｉｖ]sinθ}
Ｉｑ＝{−√(3/2)Ｉｕ sinθ＋[√(1/2)Ｉｕ＋√(2)Ｉｖ]cosθ}
次に、ステップＳ２ではスイッチング素子のオープン故障の有無を検出し、故障があれば図１４の「スイッチング素子フェールセーフ制御」へ移行し、故障がなければステップＳ３へ移行する。なお、一度でもオープン故障を検出したら２度と復帰しないようにする。
【００２３】
上記ステップＳ２におけるオープン故障の有無の判定は、例えば各相毎に電流を積算し、モータ回転一周期の間の値が正（０より大）の場合は上側スイッチング素子の故障、負（０より小）の場合には下側スイッチング素子の故障、０であれば正常、と判定する。なお、電流センサの検出誤差を考慮して、積算値が正の所定の閾値以上の場合に上側スイッチング素子の故障、負の所定の閾値以下の場合に下側スイッチング素子の故障と判定してもよい。  
図１の故障検出部１１は上記の判定を行ってオープン故障の有無および故障した相と上側か下側かを検出（図１４のフローチャート参照）する。
【００２４】
次に、ステップＳ３では周知の比例積分制御（ＰＩ制御）により、ｄ軸、ｑ軸の電圧指令値Ｖｄ＊、Ｖｑ＊を演算し、ステップＳ４に移行する。つまり、ｄ軸、ｑ軸電流指令値Ｉｄ＊、Ｉｑ＊とｄ軸、ｑ軸実電流値との偏差に応じて、ＰＩ制御によってｄ軸電圧指令値Ｖｄ＊とｑ軸電圧指令値Ｖｑ＊を算出する。
【００２５】
ステップＳ４では、ステップＳ３で算出したｄ軸電圧指令値Ｖｄ＊、ｑ軸電圧指令値Ｖｑ＊から下記の式に示す２相３相変換にて３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊を算出してステップＳ５へ移行する。  
Ｖｕ＊＝√(2/3)×（Ｖｄ＊×cosθ'−Ｖｑ＊×sinθ'）
Ｖｖ＊＝√(1/2)×（Ｖｄ＊×sinθ'＋Ｖｑ＊×cosθ'）−Ｖｕ＊／２
Ｖｗ＊＝−Ｖｕ＊−Ｖｖ＊
ただし、θ'：出力時モータ角推定値（ロータ回転角の推定値）
上記の出力時モータ角推定値θ'は、角度検出器８で検出された回転角度θ１（図６参照）に、３相電圧指令値の算出から実電圧が電圧指令値に対応して変化するまでの間（一制御周期間）のモータの進み角αを加算して算出する。  
次に、ステップＳ５では、３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊をＰＷＭ信号に変換して出力する。以上が正常時の電流制御処理である。
【００２６】
次に、図１４は、ステップＳ２でスイッチング素子のオープン故障を検出した後の「スイッチング素子フェールセーフ制御」を示すフローチャートである。  
ステップＳ６ではモータ回転数に応じたスイッチング素子オープン故障時（フェールセーフ制御用）のｄ軸、ｑ軸電圧指令値および固定時の電圧ベクトルＶａの大きさΓを読み込み、ステップＳ７へ移行する。なお、以下、「固定時の電圧ベクトル」を「固定電圧ベクトル」と略記する。  
ステップＳ７ではオープン故障したスイッチング素子の位置を特定し、Ｕ相上側であれば図１５の「Ｕ相上側スイッチング素子フェールセーフ制御」へ移行し、その他であればステップＳ８へ移行する。  
ステップＳ８でもオープン故障したスイッチング素子の位置を特定し、Ｕ相下側であれば「Ｕ相下側スイッチング素子フェールセーフ制御」へ移行し、その他であればステップＳ９へ移行する。  
ステップＳ９でもオープン故障したスイッチング素子の位置を特定し、Ｖ相上側であれば「Ｖ相上側スイッチング素子フェールセーフ制御」へ移行し、その他であればステップＳ１０へ移行する。  
ステップＳ１０でもオープン故障したスイッチング素子の位置を特定し、Ｖ相下側であれば図１６の「Ｖ相下側スイッチング素子フェールセーフ制御」へ移行し、その他であればステッブ１１へ移行する。  
ステップＳ１１でもオープン故障したスイッチング素子の位置を特定し、Ｗ相上側であれば「Ｗ相上側スイッチング素子フェールセーフ制御」へ移行し、その他であれば「Ｗ相下側スイッチング素子フェールセーフ制御」へ移行する。
【００２７】
このようにオープン故障したスイッチング素子の位置に応じたフェールセーフ制御に移行するが、ここでは一例としてＵ相上側スイッチング素子がオープン故障した場合のフェールセーフ制御について図１５のフローチャートで説明する。  
図１５において、ステップＳ１２では図１４のステップＳ６で読み込んだスイッチング素子オープン故障時（フェールセーフ制御用）のｄ軸電圧指令値Ｖｄ＊、ｑ軸電圧指令値Ｖｑ＊を下記の式によって２相３相変換し、３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊を算出する。  
Ｖｕ＊＝√(2/3)×（Ｖｄ＊×cosθ'−Ｖｑ＊×sinθ'）
Ｖｖ＊＝√(1/2)×（Ｖｄ＊×sinθ'＋Ｖｑ＊×cosθ'）−Ｖｕ＊／２
Ｖｗ＊＝−Ｖｕ＊−Ｖｖ＊
ただし、θ'：出力時モータ角推定値（前記と同様に算出）
次に、ステップＳ１３ではステップＳ１２で算出されたＵ相電圧指令値Ｖｕ＊の値が０より大きければステップＳ１５へ、以下であればステップＳ１４へ移行する。
【００２８】
Ｖｕ＊が０以下であれば、故障したＵ相上側スイッチング素子のオン領域ではないので、ステップＳ１４ではステップＳ１３で算出された３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊をＰＷＭに変換して出力し、ステップＳ１２へ戻る。  
一方、Ｖｕ＊＞０であれば、故障したＵ相上側スイッチング素子のオン領域なので、電圧ベクトルを固定する制御を行う。すなわち、ステップＳ１５では図１３のステップＳ１で読み込んだｄ軸、ｑ軸電流値Ｉｄ、Ｉｑから図１７の電流位相角ζ（ｒａｄ）を算出し、ステップＳ１６へ移行する。  
ただし、ζ＝ｔａｎ−１（Ｉｄ／Ｉｑ）
次に、ステップＳ１６では、図１３のステップＳ１で算出した一制御周期間のモータ進み角α（ｒａｄ／制御周期：前記αと同じ）を読み込み、ステップＳ１７へ移行する。
【００２９】
ステツプ１７では、電流位相角ζ（ｒａｄ）と制御周期間のモータ進み角α（ｒａｄ／制御周期）を加算した値（ζ＋α）が２π（＝０）を超えるか否かを判定し、２πより大であればステップＳ１９へ、以下であればステップＳ１８へ移行する。  
つまり、ステップ１７は、ｑ軸電流が０となる時点を判定するステップであり、ζ＋α＝２πのときｑ軸電流が０と判定する。そしてζ＋α＜２πのときは、ステップＳ１８で、図１８のＡの方向へ図１４のステップＳ６で読み込んだΓの大きさの固定電圧ベクトルＡを出力する。そのため、各相の電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊を
Ｖｕ＊＝０
Ｖｖ＊＝−〔Γ×４／（√３）〕
Ｖｗ＊＝〔Γ×４／（√３）〕
とし、ＰＷＭ信号に変換して出力し、ステップＳ１２へ戻る。この処理により、電圧ベクトルは固定電圧ベクトルＡに固定される。
【００３０】
ステップ１７でζ＋α＞２πのときは、電圧ベクトルをＡから１８０°反転したＢとするため、ステップＳ１９では、図１８の固定電圧ベクトルＢの方向へ図１４のステップＳ６で読み込んだΓの大きさの固定電圧ベクトルＢを出力する。そのために、
Ｖｕ＊＝０
Ｖｖ＊＝〔Γ×４／（√３）〕
Ｖｗ＊＝−〔Γ×４／（√３）〕
とし、それをＰＷＭ信号に変換して出力し、ステップＳ１２へ戻る。この処理により、電圧ベクトルは固定電圧ベクトルＢに固定される。  
ステップＳ１８、Ｓ１９からはステップＳ１２へＲＥＴＵＲＮするので、再びステップＳ１３でＶｕ＊＞０か否かを判定し、Ｖｕ＊が０以下になると電圧ベクトルの固定を解除する。
【００３１】
以上のようにして、スイッチング素子オープン故障のフェールセーフ制御を実行する。つまり、上側スイッチング素子のオープン故障を検出した場合には、フェールセーフ用（故障時用）のｄ軸ｑ軸電圧指令値から２相３相変換部３で求めた故障した相の電圧指令値の演算値Ｖｕ＊が０より大となった時に、３相の電圧指令値の合成ベクトルである合成電圧ベクトルの位相角を所定値（上記の例では９０°）に固定する値の電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊を出力し、ステップ１７で判定したｑ軸電流が０となった時に、前記３相の合成電圧ベクトルの位相角を前記所定値から１８０°反転（９０＋１８０＝２７０°）させる電圧指令値を出力し、反転させた合成電圧ベクトルの位相角を故障した相の電圧指令値の演算値Ｖｕ＊が０以下となるまで固定する制御を行う。
【００３２】
また別の例としてＶ相下側がオープン故障した場合のフェールセーフ制御について図１６のフローチャートで説明する。  
前記図１５の場合と同様に、ステップＳ２０では図１４のステップＳ６で読み込んだスイッチング素子オープン故障時のフェールセーフ制御用のｄ軸、ｑ軸電圧指令値から下記の式を用いて２相３相変換し、３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊を算出してステップＳ２１に移行する。  
Ｖｕ＊＝√(2/3)×（Ｖｄ＊×cosθ'−Ｖｑ＊×sinθ'）
Ｖｖ＊＝√(1/2)×（Ｖｄ＊×sinθ'＋Ｖｑ＊×cosθ'）−Ｖｕ＊／２
Ｖｗ＊＝−Ｖｕ＊−Ｖｖ
ただし、θ'：出力時モータ角推定値（前記と同様に算出）
ステップＳ２１ではステップＳ２０で算出されたＶ相電圧指令値Ｖｖ＊の値が０より小さければステップＳ２３へ、以上であればステップＳ２２へ移行する。
【００３３】
Ｖｖ＊の値が０以上の場合は、Ｖ相下側スイッチング素子のオン領域ではないので、ステップＳ２２ではステップＳ２１で算出された３相電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊をＰＷＭに変換して出力し、ステップＳ２０へ戻る。  
Ｖｖ＊＜０の場合は、Ｖ相下側スイッチング素子のオン領域なので、電圧ベクトルを固定する制御を行う。すなわち、ステップＳ２３では図１３のステップＳ１で読み込んだｄ軸、ｑ軸電流値から図１７の電流位相角ζ（ｒａｄ）を算出し、ステップＳ２４へ移行する。  
ただし、ζ＝ｔａｎ−１（Ｉｄ／Ｉｑ）
ステップＳ２４では、図１３のステップＳ１で算出した制御周期間のモータ進み角α（ｒａｄ／制御周期）を読み出し、ステップＳ２５へ移行する。
【００３４】
ステップＳ２５は、ｑ軸電流が０となる時点を判定するステップであり、電流位相角ζ（ｒａｄ）と制御周期間のモータ進み角α（ｒａｄ／制御周期）を加算した値がπ＋１２０°（＝３００°）を超えるか否かを判定し、π＋１２０°（＝３００°）以上であればステップＳ２７へ、未満であればステップＳ２６へ移行する。なお、上記の角度は、Ｕ相を基準とした角度であるため、Ｖ相のπ＋１２０°は前記Ｕ相の２πに相当する。
【００３５】
ステップＳ２６では、図１９のＣの方向へ図１４のステップＳ６で読み込んだΓの大きさの固定電圧ベクトルＣを出力するために、Ｕ、Ｖ、Ｗ各相の電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊を
Ｖｕ＊＝−〔Γ×４／（√３）〕
Ｖｖ＊＝０
Ｖｗ＊＝〔Γ×４／（√３）〕
とし、それをＰＷＭ信号に変換して出力し、ステップＳ２０へ戻る。上記の処理によって電圧ベクトルは固定電圧ベクトルＣに固定される。
【００３６】
ステップＳ２７では、図１９の固定電圧ベクトルＤの方向へ図１４のステップＳ６で読み込んだΓの大きさの固定電圧ベクトルＤを出力するためにＵ、Ｖ、Ｗ各相の電圧指令値Ｖｕ＊、Ｖｖ＊、Ｖｗ＊を
Ｖｕ＊＝〔Γ×４／（√３）〕
Ｖｖ＊＝０
Ｖｗ＊＝−〔Γ×４／（√３）〕
とし、それをＰＷＭ信号に変換して出力し、ステップＳ２０へ戻る。上記の処理によって電圧ベクトルは固定電圧ベクトルＤに固定される。
【００３７】
なお、上記の説明は、上側スイッチング素子がオープン故障した場合の例として図１５を、下側スイッチング素子が故障した場合の例として図１６を示したが、故障している相によってそれぞれステツプＳ１３、Ｓ１７、Ｓ２１、Ｓ２５の判定値が変化する。
【００３８】
図２０は、オープン故障したスイッチング素子の位置に応じた全般的な制御を示すフローチャートであり、ステップＳ２９のＬ、ステップＳ３４のＭ、ステップＳ３５のＮ、に図２１の値を代入してスイッチング素子オープン故障時のフェールセーフ制御を実行する。図２２は、図２１における各固定電圧ベクトルＡ〜Ｆを示す図である。  
なお、図２０のステップＳ３３のθｔｈは、オープン故障している相、およびスイッチング素子が上側か下側かに応じて図２３に示すように変更する。
【００３９】
また、前記の説明および図２１から判るように、合成電圧ベクトルの位相角を固定する場合、および位相角を１８０°反転させる場合には、電圧指令値の正負および大きさを固定することによって、合成電圧ベクトルの位相角を固定し、電圧指令値の正負のみを反転することによって、合成電圧ベクトルの位相角を１８０°反転させることが出来る。
【００４０】
また、これまでの説明では、Ｕ相を基準とした角度で示しているため、合成電圧ベクトルの反転時の回転角度は図２３に記載のようになっているが、基準とする相によって合成電圧ベクトルの反転時の回転角度は異なる。例えばＶ相を基準とした場合、Ｕ相の反転時の回転角度は２４０°と６０°となる。
【図面の簡単な説明】
【００４１】
【図１】本発明を適用する３相交流同期電動機のベクトル制御を行う電流フィードバック制御ブロックの一実施例図。
【図２】インバータ５の回路図。
【図３】電圧ベクトル図。
【図４】定回転定出力時の３相電流波形図。
【図５】電圧ベクトル図。
【図６】電圧ベクトル図。
【図７】電圧ベクトル図。
【図８】電圧ベクトル図。
【図９】電圧ベクトル図。
【図１０】電圧ベクトル図。
【図１１】電圧ベクトル図。
【図１２】電圧ベクトル図。
【図１３】電流制御演算を示すフローチャート。
【図１４】スイッチング素子フェールセーフ制御を示すフローチャート。
【図１５】Ｕ相上側スイッチング素子がオープン故障した場合のフェールセーフ制御を示すフローチャート。
【図１６】Ｖ相下側スイッチング素子がオープン故障した場合のフェールセーフ制御を示すフローチャート。
【図１７】電流位相角ζを示すベクトル図。
【図１８】電圧ベクトル図。
【図１９】電圧ベクトル図。
【図２０】オープン故障したスイッチング素子の位置に応じた全般的な制御を示すフローチャート。
【図２１】図２０のステップＳ２９のＬ、ステップＳ３４のＭ、ステップＳ３５のＮにおける値を示す図表。
【図２２】図２１における各固定電圧ベクトルＡ〜Ｆを示す電圧ベクトル図。
【図２３】図２０のステップＳ３３のθｔｈの値を示す図表。
【符号の説明】
【００４２】
１…電流指令演算部                      ２…電流ＰＩ制御部
３…２相３相変換器                      ４…ＰＷＭ変換部
５…インバータ                          ６…３相モータ
７−１、７−２、７−３…電流センサ      ８…回転角検出器
９…Ａ／Ｄ変換部                      １０…３相２相変換器
１１…故障検出部                        １２…故障時制御部
１３…モータ回転子                      ２０…電源
２１、２３、２５…上側スイッチング素子  ２２、２４、２６…下側スイッチング素子
【図１】
2005094873.tif 000003
【図２】
2005094873.tif 000004
【図３】
2005094873.tif 000005
【図４】
2005094873.tif 000006
【図５】
2005094873.tif 000007
【図６】
2005094873.tif 000008
【図７】
2005094873.tif 000009
【図８】
2005094873.tif 000010
【図９】
2005094873.tif 000011
【図１０】
2005094873.tif 000012
【図１１】
2005094873.tif 000013
【図１２】
2005094873.tif 000014
【図１３】
2005094873.tif 000015
【図１４】
2005094873.tif 000016
【図１５】
2005094873.tif 000017
【図１６】
2005094873.tif 000018
【図１７】
2005094873.tif 000019
【図１８】
2005094873.tif 000020
【図１９】
2005094873.tif 000021
【図２０】
2005094873.tif 000022
【図２１】
2005094873.tif 000023
【図２２】
2005094873.tif 000024
【図２３】
2005094873.tif 000025