(57)【特許請求の範囲】
【請求項１】
モータ（２）を駆動する三相インバータ装置（１、５１、６１）であって、
前記モータに供給するための三相電流を生成する三相のハーフブリッジ回路（３ｕ、３ｖ、３ｗ）と、
前記ハーフブリッジ回路の三相電流を検出する電流検出部と、
前記電流検出部による電流の検出結果に基づいて前記ハーフブリッジ回路の動作を制御することにより前記モータの駆動を制御する駆動制御部（２１）と、
前記電流検出部により検出される前記ハーフブリッジ回路の前記三相電流の総和を算出する三相総和算出部（２２、５４）と、
前記電流検出部の故障を検出するための故障検出処理を実行する故障検出処理部（２３）と、
を備え、
前記故障検出処理には、
前記三相総和算出部により算出される前記三相電流の総和に基づいて前記電流検出部が正常であるか否かを判定する第１判定処理と、
前記第１判定処理において前記電流検出部が正常ではないと判定された場合に、その判定結果に応じた所定値を故障検出カウント値に加算するカウント値加算処理と、
前記故障検出カウント値が所定の故障判定値を超えると前記電流検出部が故障していると判定する第２判定処理と、が含まれ、
前記カウント値加算処理において前記故障検出カウント値に加算される前記所定値は、前記モータの制御方式が電圧位相制御の制御方式である場合には前記モータの制御方式が三角波比較の制御方式である場合に比べて大きな値に設定される三相インバータ装置。
【請求項２】
モータ（２）を駆動する三相インバータ装置（１、５１、６１）であって、
前記モータに供給するための三相電流を生成する三相のハーフブリッジ回路（３ｕ、３ｖ、３ｗ）と、
前記ハーフブリッジ回路を構成するスイッチング素子（１２〜１７）に流れる素子電流を検出する電流検出部（４〜９、１９）と、
前記電流検出部による電流の検出結果に基づいて前記ハーフブリッジ回路の動作を制御することにより前記モータの駆動を制御する駆動制御部（２１）と、
前記電流検出部による電流の検出結果に基づいて前記モータに供給される三相電流を算出する三相電流算出部（２０、５３、６３）と、
前記三相電流算出部により算出される前記三相電流の総和を算出する三相総和算出部（２２、５４）と、
前記電流検出部の故障を検出するための故障検出処理を実行する故障検出処理部（２３）と、
を備え、
前記故障検出処理には、
前記三相総和算出部により算出される前記三相電流の総和に基づいて前記電流検出部が正常であるか否かを判定する第１判定処理と、
前記第１判定処理において前記電流検出部が正常ではないと判定された場合に、その判定結果に応じた所定値を故障検出カウント値に加算するカウント値加算処理と、
前記故障検出カウント値が所定の故障判定値を超えると前記電流検出部が故障していると判定する第２判定処理と、が含まれ、
前記カウント値加算処理において前記故障検出カウント値に加算される前記所定値は、前記モータの制御方式が電圧位相制御の制御方式である場合には前記モータの制御方式が三角波比較の制御方式である場合に比べて大きな値に設定される三相インバータ装置。
【請求項３】
前記スイッチング素子は、メインセル（１８）およびセンスセル（１９）を備え、
前記電流検出部は、前記センスセルに流れる電流に基づいて前記素子電流を検出する構成である請求項２に記載の三相インバータ装置。
【請求項４】
前記駆動制御部は、前記モータの制御方式に対応した通常の検出タイミングにおける前記電流検出部による電流の検出結果に基づいて前記モータの駆動を制御し、
前記三相電流算出部（５３、６３）は、前記通常の検出タイミングにおいて三相分の前記素子電流の検出結果が得られない場合、前記三相分の検出結果が得られる故障検出用の検出タイミングにおける前記電流検出部による電流の検出結果に基づいて前記三相電流を算出する請求項３に記載の三相インバータ装置。
【請求項５】
さらに、前記三相のハーフブリッジ回路を構成する各アームのそれぞれについて、当該アームに対応する前記素子電流の検出結果が前記三相電流の算出に用いられた回数である故障判定回数をカウントする回数カウント部（６４）を備え、
前記三相電流算出部（６３）は、前記故障判定回数が少ない前記アームに対応する前記素子電流の検出結果が得られるタイミングを優先して前記故障検出用の検出タイミングを決定する請求項４に記載の三相インバータ装置。
【請求項６】
前記故障検出処理には、
さらに、前記第１判定処理において前記電流検出部が正常であると判定されたことを条件として前記故障検出カウント値を減算するカウント値減算処理が含まれる請求項１から５のいずれか一項に記載の三相インバータ装置。
【請求項７】
前記故障検出処理には、
さらに、外部からの指令に基づいて前記故障検出カウント値をクリアするカウント値クリア処理が含まれる請求項１から６のいずれか一項に記載の三相インバータ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータを駆動する三相インバータ装置に関する。
【背景技術】
【０００２】
モータを駆動する三相インバータ装置は、モータに供給する三相電流に基づいてモータの駆動制御を行うため、三相電流を検出するための電流検出部を備えている。電流検出部としては、相電流を電流センサなどにより直接検出する構成だけでなく、ＩＧＢＴやパワーＭＯＳＦＥＴなどのスイッチング素子により構成される各アームに流れる電流である素子電流を検出し、その素子電流の検出値から相電流を推定するといった構成も存在する。
【０００３】
このような電流検出部の故障を検出する従来技術として、例えば特許文献１に記載の技術を挙げることができる。なお、以下では、特許文献１記載の構成のことを従来構成と呼ぶ。従来構成では、検出または推定により得られた三相電流の総和を用いた判定の結果から電流検出部の故障判定を行うようになっている。具体的には、従来構成では、三相電流の総和と所定の閾値である０との比較により、電流検出部の故障判定が行われる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−０６０２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来構成では、故障検出の感度の向上および誤検出の発生頻度の低下を両立することが難しい。すなわち、従来構成では、上記閾値を比較的小さい値に設定すると、故障検出の感度が高まり、電流検出部の耐久劣化や壊れ始めなどの変動が小さい異常についても検出することができるが、ノイズなどの影響により閾値を超え易くなることから誤検出の発生頻度が高まるおそれがある。また、従来構成では、上記閾値を比較的大きい値に設定すると、誤検出の発生頻度を低く抑えることができるが、故障検出の感度が低下し、耐久劣化や壊れ始めなどの異常を検出することができない。
【０００６】
そこで、従来構成において、上記閾値を比較的小さい値に設定しつつ、三相電流の総和が閾値を超えた際に直ちに故障検出を確定させず、そのような状態が所定時間だけ継続した際に初めて故障検出を確定するように変更を加えることが考えられる。このような変更を加えた構成によれば、検出感度の向上および誤検出の発生頻度の低下を両立することが可能になるが、その故障検出の応答性が低下するといった別の問題が生じる。
【０００７】
本発明は上記事情に鑑みてなされたものであり、その目的は、電流検出部の故障検出について、その検出応答性を高めつつ、その誤検出を防止することができる三相インバータ装置を提供することにある。
【課題を解決するための手段】
【０００８】
請求項１に記載の三相インバータ装置（１、５１、６１）は、モータ（２）を駆動するものであって、三相のハーフブリッジ回路（３ｕ、３ｖ、３ｗ）、電流検出部（４〜９、１９）、駆動制御部（２１）、三相総和算出部（２２、５４）および故障検出処理部（２３）を備えている。請求項２に記載の三相インバータ装置（１、５１、６１）は、モータ（２）を駆動するものであって、三相のハーフブリッジ回路（３ｕ、３ｖ、３ｗ）、電流検出部（４〜９、１９）、駆動制御部（２１）、三相電流算出部（２０、５３、６３）、三相総和算出部（２２、５４）および故障検出処理部（２３）を備えている。三相のハーフブリッジ回路は、モータに供給するための三相電流を生成する。請求項１の電流検出部は、ハーフブリッジ回路の三相電流を検出する。請求項２の電流検出部は、ハーフブリッジ回路を構成するスイッチング素子に流れる素子電流を検出する。駆動制御部は、電流検出部による電流の検出結果に基づいてハーフブリッジ回路の動作を制御することによりモータの駆動を制御する。三相電流算出部は、電流検出部による電流の検出結果に基づいてモータに供給される三相電流を算出する。請求項１の三相総和算出部は、電流検出部により検出されるハーフブリッジ回路の三相電流の総和を算出する。請求項２の三相総和算出部は、三相電流算出部により算出される三相電流の総和を算出する。
【０００９】
故障検出処理部は、電流検出部の故障を検出するための故障検出処理を実行する。故障検出処理には、第１判定処理、カウント値加算処理および第２判定処理が含まれる。第１判定処理は、三相総和算出部により算出される三相電流の総和に基づいて電流検出部が正常であるか否かを判定する処理である。カウント値加算処理は、第１判定処理において電流検出部が正常ではないと判定された場合に、その判定結果に応じた所定値を故障検出カウント値に加算する処理である。第２判定処理は、故障検出カウント値が所定の故障判定値を超えると電流検出部が故障していると判定する処理である。この場合、カウント値加算処理において故障検出カウント値に加算される所定値は、モータの制御方式が電圧位相制御の制御方式である場合にはモータの制御方式が三角波比較の制御方式である場合に比べて大きな値に設定される。
【００１０】
このように、上記構成の故障検出処理では、第１判定処理と、第２判定処理との２つの判定処理を経て電流検出部の故障が検出されるようになっている。そして、上記構成では、第１判定処理において三相電流の総和に基づく判定を実施するために用いられる閾値の設定に応じて、故障検出の感度を任意の値に設定することができる。しかも、上記構成では、第１判定処理において電流検出部が正常ではないと判定された場合でも、直ちに故障検出が確定することがないため、ノイズなどによる誤検出の発生頻度が低く抑えられる。
【００１１】
また、上記構成では、第２判定処理において用いられる故障判定値の設定に応じて、検出応答性を任意の値に設定することができる。したがって、上記構成によれば、電流検出部の故障検出について、その検出応答性を高めつつ、その誤検出を防止することができるという優れた効果が得られる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る三相インバータ装置の構成を模式的に示す図
【図２】第１実施形態に係る電流検出部の故障検出に関連する処理の内容を模式的に示す図
【図３】第１実施形態に係るモータ電流推定処理の内容を模式的に示す図
【図４】第１実施形態に係る故障検出処理の内容を模式的に示す図
【図５】第２実施形態に係る故障検出処理の内容を模式的に示す図
【図６】第３実施形態に係る故障検出処理の内容を模式的に示す図
【図７】第４実施形態に係る故障検出処理の内容を模式的に示す図
【図８】第５実施形態により解消される問題を説明するための図であり、モータ制御波形、駆動波形および推定された三相電流の波形の一例を示すタイミングチャート
【図９】第５実施形態に係る三相インバータ装置の構成を模式的に示す図
【図１０】第５実施形態に係る電流検出部の故障検出に関連する処理の内容を模式的に示す図
【図１１】第５実施形態に係る故障検出用の電流検出処理の内容を模式的に示す図
【図１２】第５実施形態に係るモータ制御波形および駆動波形を模式的に示すタイミングチャート
【図１３】第５実施形態に係るスイッチング間隔と電流検出が可能となるアームの組み合わせとの関連付けの一例を示す図
【図１４】第５実施形態により得られる効果を説明するための図であり、モータ制御波形、駆動波形および推定された三相電流の波形の一例を示すタイミングチャート
【図１５】第６実施形態に係る三相インバータ装置の構成を模式的に示す図
【図１６】第６実施形態に係る電流検出部の故障検出に関連する処理の内容を模式的に示す図
【図１７】第６実施形態に係る故障検出用の電流検出処理の内容を模式的に示す図
【図１８】第６実施形態に係る組み合わせ選択処理の内容を模式的に示す図
【図１９】第６実施形態に係るアーム選択処理の内容を模式的に示す図
【図２０】第６実施形態により得られる効果を説明するための図であり、モータ制御波形、駆動波形および差分検出カウンタのカウント値の一例を示すタイミングチャート
【発明を実施するための形態】
【００１３】
以下、本発明の複数の実施形態について図面を参照して説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
（第１実施形態）
以下、第１実施形態について図１〜図４を参照して説明する。
【００１４】
図１に示す三相インバータ装置１は、モータ２を駆動するものであり、インバータ主回路３、検出回路４〜９、コントローラ１０などを備えている。モータ２は、例えば車両に搭載される三相交流モータである。インバータ主回路３は、例えば車載のバッテリである直流電源１１から一対の直流電源線Ｌ１、Ｌ２を通じて供給される直流電圧を、Ｕ相、Ｖ相およびＷ相の三相の交流電圧に変換して出力する。
【００１５】
インバータ主回路３のＵ相、Ｖ相およびＷ相、つまり三相の各出力端子は、モータ２の三相の端子にそれぞれ接続されている。これにより、インバータ主回路３からモータ２に対し三相電流、つまり三相のモータ電流Ｉｕ、Ｉｖ、Ｉｗが供給され、モータ２が駆動される。インバータ主回路３は、直流電源線Ｌ１、Ｌ２間にそれぞれ接続された三相のハーフブリッジ回路３ｕ、３ｖおよび３ｗを備えている。ハーフブリッジ回路３ｕ、３ｖ、３ｗは、モータ２に供給するための三相のモータ電流Ｉｕ、Ｉｖ、Ｉｗを生成する。なお、以下では、モータ電流のことを相電流とも呼ぶ。
【００１６】
ハーフブリッジ回路３ｕは、スイッチング素子１２、１３を備えている。ハーフブリッジ回路３ｕの上アームを構成するスイッチング素子１２は、高電位側の電源線Ｌ１と、インバータ主回路３のＵ相の出力端子となるノードＮｕとの間に接続されている。ハーフブリッジ回路３ｕの下アームを構成するスイッチング素子１３は、ノードＮｕと、低電位側の電源線Ｌ２との間に接続されている。
【００１７】
ハーフブリッジ回路３ｖは、スイッチング素子１４、１５を備えている。ハーフブリッジ回路３ｖの上アームを構成するスイッチング素子１４は、電源線Ｌ１と、インバータ主回路３のＶ相の出力端子となるノードＮｖとの間に接続されている。ハーフブリッジ回路３ｖの下アームを構成するスイッチング素子１５は、ノードＮｖと、電源線Ｌ２との間に接続されている。
【００１８】
ハーフブリッジ回路３ｗは、スイッチング素子１６、１７を備えている。ハーフブリッジ回路３ｗの上アームを構成するスイッチング素子１６は、電源線Ｌ１と、インバータ主回路３のＷ相の出力端子となるノードＮｗとの間に接続されている。ハーフブリッジ回路３ｗの下アームを構成するスイッチング素子１７は、ノードＮｗと、電源線Ｌ２との間に接続されている。
【００１９】
スイッチング素子１２〜１７は、いずれもメインセル１８およびセンスセル１９を備えたＮチャネル型のパワーＭＯＳＦＥＴである。メインセル１８は、インバータ主回路３からモータ２に対する通電を行うための主たる通電経路に介在している。すなわち、上アームを構成するスイッチング素子１２、１４、１６のメインセル１８のドレインは電源線Ｌ１に接続され、そのソースはノードＮｕ、Ｎｖ、Ｎｗにそれぞれ接続されている。下アームを構成するスイッチング素子１３、１５、１７のメインセル１８のドレインはノードＮｕ、Ｎｖ、Ｎｗにそれぞれ接続され、そのソースは電源線Ｌ２に接続されている。
【００２０】
センスセル１９は、アーム電流、つまりメインセル１８に流れる素子電流を検出するためのものであり、メインセル１８に流れる電流に応じた電流が所定の分流比で流れる。なお、この分流比は、メインセル１８およびセンスセル１９のサイズ比などにより定まる。このような構成によれば、メインセル１８に比較的大きな電流が流れる場合でも、その電流検出を容易に行うことができる。
【００２１】
メインセル１８およびセンスセル１９のゲートは、共通接続されており、その共通のゲートには、コントローラ１０から出力される駆動信号が与えられている。具体的には、Ｕ相のスイッチング素子１２、１３のゲートには駆動信号Ｇ＿ｕｐ、Ｇ＿ｕｎがそれぞれ与えられ、Ｖ相のスイッチング素子１４、１５には駆動信号Ｇ＿ｖｐ、Ｇ＿ｖｎがそれぞれ与えられ、Ｗ相のスイッチング素子１６、１７には駆動信号Ｇ＿ｗｐ、Ｇ＿ｗｎがそれぞれ与えられる。
【００２２】
メインセル１８およびセンスセル１９の各ソースは、検出回路４〜９の入力端子にそれぞれ接続されている。検出回路４〜９は、センスセル１９に流れる電流に基づいてスイッチング素子１２〜１７に流れる素子電流を検出する。したがって、本実施形態では、センスセル１９および検出回路４〜９により、電流検出部が構成されている。
【００２３】
検出回路４〜９は、スイッチング素子１２〜１７のセンスセル１９に流れる電流を検出し、その検出値を表す電流検出信号を出力する。具体的には、Ｕ相の検出回路４、５は、スイッチング素子１２、１３のセンスセル１９に流れる電流の検出値を表す電流検出信号Ｉ＿ｕｐ、Ｉ＿ｕｎをそれぞれ出力する。
【００２４】
Ｖ相の検出回路６、７は、スイッチング素子１４、１５のセンスセル１９に流れる電流の検出値を表す電流検出信号Ｉ＿ｖｐ、Ｉ＿ｖｎをそれぞれ出力する。Ｗ相の検出回路８、９は、スイッチング素子１６、１７のセンスセル１９に流れる電流の検出値を表す電流検出信号Ｉ＿ｗｐ、Ｉ＿ｗｎをそれぞれ出力する。
【００２５】
検出回路４〜９から出力される電流検出信号Ｉ＿ｕｐ〜Ｉ＿ｗｎは、コントローラ１０に与えられる。なお、図示は省略しているが、検出回路４〜９の具体的な構成としては、例えば、メインセル１８およびセンスセル１９の各ソース電圧が入力されるＯＰアンプと、そのＯＰアンプの出力端子およびセンスセル１９のソースの間に接続される抵抗と、その抵抗の両端電圧が入力されるＡ／Ｄ変換器と、を備えた構成を採用することができる。
【００２６】
上記構成によれば、抵抗の両端電圧はセンスセル１９に流れる電流に対応した電圧となり、このような電圧をＡ／Ｄ変換して得られるデジタル信号が、電流検出信号としてコントローラ１０に送信される。また、上記構成では、ＯＰオペアンプの動作により、メインセル１８のソースとセンスセル１９のソースが同電位となる。そのため、コントローラ１０は、センスセル１９に流れる電流に対応した電流検出信号に基づいて、メインセル１８に流れる素子電流を精度良く検出することが可能となる。
【００２７】
コントローラ１０は、モータ２の駆動を制御するものであり、モータ電流推定部２０、駆動制御部２１、三相総和算出部２２、故障検出処理部２３、故障検出カウンタ２４などを備えている。モータ電流推定部２０は、検出回路４〜９から与えられる電流検出信号Ｉ＿ｕｐ〜Ｉ＿ｗｎに基づいてスイッチング素子１２〜１７に流れる素子電流を検出する処理と、それら検出した素子電流から相電流Ｉｕ、Ｉｖ、Ｉｗを推定する処理と、を実行する。本実施形態では、モータ電流推定部２０は、電流検出部による電流の検出結果に基づいてモータ２に供給される三相電流を算出する三相電流算出部に相当する。
【００２８】
上記した素子電流を検出する処理は、モータ２の制御方式に対応した通常の検出タイミングで行われる。例えば、モータ２の制御方式が三角波比較の制御方式である場合、キャリアである三角波信号が最大値または最小値、つまり頂点に達したタイミングが、通常の検出タイミングに相当する。
【００２９】
なお、モータ電流推定部２０は、このような通常の検出タイミングにおいて、三相分の素子電流を検出できないことがある。その理由は、次の通りである。すなわち、本実施形態の検出回路４〜９は、上記したような構成であるため、スイッチング素子１２〜１７がオン駆動されていないと、素子電流を正しく検出することができない。
【００３０】
モータ２の制御状態によっては、通常の検出タイミングと、スイッチング素子１２〜１７に与えられる駆動信号がオンレベルとなる時間が短い期間、つまりオンパルス幅が短い期間とが重複することがあり、そうすると、モータ電流推定部２０は、三相分の素子電流を検出することができない。この場合、モータ電流推定部２０は、検出できた二相分の素子電流から検出できなかった残りの一相の素子電流を推定する。
【００３１】
モータ電流推定部２０は、後述する故障検出処理の実行が可能であるか否かを表す可否信号を三相総和算出部２２および故障検出処理部２３に出力する。詳細は後述するが、モータ電流推定部２０は、電流検出信号Ｉ＿ｕｐ〜Ｉ＿ｗｎに基づいて三相分の素子電流を検出することができた場合、それら三相分の素子電流から相電流Ｉｕ、Ｉｖ、Ｉｗを求めるとともに、故障検出処理の実行が「可」である旨を表す可否信号を出力する。
【００３２】
また、モータ電流推定部２０は、電流検出信号Ｉ＿ｕｐ〜Ｉ＿ｗｎに基づいて二相分の素子電流しか検出できなかった場合、それら二相分の素子電流から対応する二相の相電流を求めるとともに、それら二相分の素子電流から残りの一相の相電流を推定する。なお、相電流の推定手法については後述する。二相分の素子電流しか検出できなかった場合、モータ電流推定部２０は、上述したようにして相電流Ｉｕ、Ｉｖ、Ｉｗを推定するとともに、故障検出処理の実行が「否」である旨を表す可否信号を出力する。
【００３３】
駆動制御部２１は、電流検出部による電流の検出結果に基づいてハーフブリッジ回路３ｕ、３ｖ、３ｗの動作を制御する。具体的には、駆動制御部２１は、モータ電流推定部２０により推定された相電流Ｉｕ、Ｉｖ、Ｉｗに基づいてインバータ主回路３を駆動するための駆動信号Ｇ＿ｕｐ〜Ｇ＿ｗｎを生成して出力し、これによりモータ２に流れる電流を制御する。
【００３４】
三相総和算出部２２は、モータ電流推定部２０により推定された相電流Ｉｕ、Ｉｖ、Ｉｗ、つまり三相電流の総和の絶対値を算出し、その算出結果を故障検出処理部２３へ出力する総和算出処理を実行することができる。この場合、三相総和算出部２２は、モータ電流推定部２０から与えられる可否信号が「可」である場合には総和算出処理を実行するが、可否信号が「否」である場合には総和算出処理を実行しない。なお、三相総和算出部２２は、可否信号にかかわらず、常に総和算出処理を実行するような構成でもよい。
【００３５】
故障検出処理部２３は、電流検出部の故障を検出するための故障検出処理を実行することができる。故障検出処理部２３は、モータ電流推定部２０から与えられる可否信号が「可」である場合には故障検出処理を実行するが、可否信号が「否」である場合には故障検出処理を実行しない。
【００３６】
前述したように、本実施形態では、電流検出部は、センスセル１９および検出回路４〜９により構成されている。したがって、この場合、電流検出部の故障には、検出回路４〜９の回路故障だけでなく、センスセル１９を含むスイッチング素子１２〜１７の素子故障およびセンスセル１９に関連する配線の断線などの配線故障も含まれる。
【００３７】
本実施形態における故障検出処理には、第１判定処理、カウント値加算処理および第２判定処理が含まれている。第１判定処理は、三相総和算出部２２から与えられる三相電流の総和の絶対値の算出結果に基づいて電流検出部が正常であるか否かを判定する処理である。カウント値加算処理は、第１判定処理において電流検出部が正常ではないと判定された場合に、その判定結果に応じた所定値を故障検出カウント値に加算する処理である。第２判定処理は、故障検出カウント値が所定の故障判定値を超えると電流検出部が故障していると判定する処理である。
【００３８】
なお、上記した故障検出カウント値は、故障検出カウンタ２４を用いてカウントされる。本実施形態では、故障検出カウンタ２４は、三相のハーフブリッジ回路３ｕ、３ｖ、３ｗの各アームのそれぞれに対応して６つ設けられている。この場合、故障検出処理部２３が６つの故障検出カウンタ２４のそれぞれを用いて上記各処理を実行することにより、故障した電流検出部を特定することが可能となっている。
【００３９】
次に、上記構成の作用について説明する。
［１］電流検出部の故障検出に関連する処理の全体の流れ
コントローラ１０による処理のうち、電流検出部の故障検出に関連する処理は、図２に示すような内容の処理となる。まず、ステップＳ１００では、電流検出信号Ｉ＿ｕｐ〜Ｉ＿ｗｎに基づいてスイッチング素子１２〜１７に流れる素子電流が検出される。なお、この場合の検出タイミングは、モータ２の制御方式に対応した通常の検出タイミングとなる。例えば、三角波比較の制御方式の場合、キャリアである三角波信号が頂点、つまり最大値または最小値に達したタイミングが、通常の検出タイミングに相当する。
【００４０】
ステップＳ２００では、ステップＳ１００で検出された素子電流から相電流Ｉｕ、Ｉｖ、Ｉｗを推定するモータ電流推定処理が実行される。なお、モータ電流推定処理の内容については後述する。ステップＳ３００では、可否信号に基づいて、三相分の素子電流の検出ができ、それら素子電流の検出値から三相電流を推定したか否かが判断される。三相分の素子電流の検出ができなかった場合、ステップＳ３００で「ＮＯ」となり、処理が終了となる。
【００４１】
一方、三相分の素子電流の検出ができた場合、ステップＳ３００で「ＹＥＳ」となり、ステップＳ４００に進む。ステップＳ４００では、ステップＳ２００で推定された相電流Ｉｕ、Ｉｖ、Ｉｗの総和の絶対値を算出する総和算出処理が実行される。なお、以下では、相電流Ｉｕ、Ｉｖ、Ｉｗの総和の絶対値のことを「三相の総和」とも呼ぶ。ステップＳ５００では、ステップＳ４００で算出される三相の総和を用いて電流検出部の故障を検出する故障検出処理が実行される。なお、故障検出処理の内容については後述する。
【００４２】
［２］モータ電流推定処理の内容
本実施形態のモータ電流推定処理は、図３に示すような内容の処理となっている。まず、ステップＳ２０１では、通常の検出タイミングにおいて三相分の素子電流を検出できたか否かが判断される。通常の検出タイミングにおいて三相分の素子電流を検出できた場合、ステップＳ２０１で「ＹＥＳ」となり、ステップＳ２０２に進む。
【００４３】
ステップＳ２０２では、検出された各素子電流の値から各相電流Ｉｕ、Ｉｖ、Ｉｗの値が求められる。具体的には、相電流Ｉｕの値がＵ相の素子電流の検出値に更新され、相電流Ｉｖの値がＶ相の素子電流の検出値に更新され、相電流Ｉｗの値がＷ相の素子電流の検出値に更新される。
【００４４】
なお、上述した各相の素子電流の検出値は、各相の上アームまたは下アームの素子電流の検出値であり、図３および以下の説明では、検出値Ｉ＿ｕ＊、検出値Ｉ＿ｖ＊、検出値Ｉ＿ｗ＊と表す。ステップＳ２０２の実行後は、ステップＳ２０３に進む。この場合、三相分の素子電流を検出することができている。そのため、ステップＳ２０３において、可否信号が「可」に設定される。
【００４５】
通常の検出タイミングにおいて三相分の素子電流を検出できなかった場合、ステップＳ２０１で「ＮＯ」となり、ステップＳ２０４に進む。ステップＳ２０４では、Ｕ相の素子電流が検出できなかったか否かが判断される。Ｕ相の素子電流が検出できなかった場合、ステップＳ２０４で「ＹＥＳ」となり、ステップＳ２０５に進む。
【００４６】
ステップＳ２０５では、検出値Ｉ＿ｖ＊、Ｉ＿ｗ＊から各相電流Ｉｕ、Ｉｖ、Ｉｗの値が求められる。具体的には、ステップＳ２０５では、相電流Ｉｖの値が検出値Ｉ＿ｖ＊に更新され、相電流Ｉｗの値が検出値Ｉ＿ｗ＊に更新される。また、相電流Ｉｕの値は、検出値Ｉ＿ｖ＊、Ｉ＿ｗ＊を用いた計算により求められる。
【００４７】
すなわち、本実施形態の構成では、各回路が正常であれば、相電流Ｉｕ、Ｉｖ、Ｉｗの総和がゼロとなる、つまり「Ｉｕ＋Ｉｖ＋Ｉｖ＝０」が成立する。そこで、ステップＳ２０５では、相電流Ｉｕ、Ｉｖ、Ｉｗの総和がゼロとなることを利用し、相電流Ｉｕの値は、下記（１）式に基づいて計算される。
Ｉｕ＝−Ｉ＿ｖ＊−Ｉ＿ｗ＊      …（１）
【００４８】
一方、Ｕ相の素子電流が検出できた場合、ステップＳ２０４で「ＮＯ」となり、ステップＳ２０６に進む。ステップＳ２０６では、Ｖ相の素子電流が検出できなかったか否かが判断される。Ｖ相の素子電流が検出できなかった場合、ステップＳ２０６で「ＹＥＳ」となり、ステップＳ２０７に進む。
【００４９】
ステップＳ２０７では、検出値Ｉ＿ｕ＊、Ｉ＿ｗ＊から各相電流Ｉｕ、Ｉｖ、Ｉｗの値が求められる。具体的には、ステップＳ２０７では、相電流Ｉｕの値が検出値Ｉ＿ｕ＊に更新され、相電流Ｉｗの値が検出値Ｉ＿ｗ＊に更新される。また、相電流Ｉｖの値は、検出値Ｉ＿ｕ＊、Ｉ＿ｗ＊を用いた計算により求められる。この場合、相電流Ｉｖの値は、ステップＳ２０５と同様、相電流Ｉｕ、Ｉｖ、Ｉｗの総和がゼロとなることを利用し、下記（２）式に基づいて計算される。
Ｉｖ＝−Ｉ＿ｕ＊−Ｉ＿ｗ＊      …（２）
【００５０】
一方、Ｖ相の素子電流が検出できた場合、ステップＳ２０６で「ＮＯ」となり、ステップＳ２０８に進む。ステップＳ２０８では、検出値Ｉ＿ｕ＊、Ｉ＿ｖ＊から各相電流Ｉｕ、Ｉｖ、Ｉｗの値が求められる。具体的には、ステップＳ２０８では、相電流Ｉｕの値が検出値Ｉ＿ｕ＊に更新され、相電流Ｉｖの値が検出値Ｉ＿ｖ＊に更新される。また、相電流Ｉｗの値は、検出値Ｉ＿ｕ＊、Ｉ＿ｖ＊を用いた計算により求められる。この場合、相電流Ｉｗの値は、ステップＳ２０５、Ｓ２０７と同様、相電流Ｉｕ、Ｉｖ、Ｉｗの総和がゼロとなることを利用し、下記（３）式に基づいて計算される。
Ｉｗ＝−Ｉ＿ｕ＊−Ｉ＿ｖ＊      …（３）
【００５１】
ステップＳ２０５、Ｓ２０７またはＳ２０８の実行後は、ステップＳ２０９に進む。この場合、三相分の素子電流を検出することができていない。そのため、ステップＳ２０９において、可否信号が「否」に設定される。このようにする理由は、次の通りである。すなわち、三相分の素子電流を検出できなかった場合、素子電流を検出できなかった相の相電流は、上記（１）〜（３）式に基づいて計算される。
【００５２】
したがって、この場合、三相の総和は必ずゼロとなる。後述する故障検出処理の第１判定処理では、三相の総和に基づいて電流検出部が正常であるか否かが判定されるようになっており、三相の総和が必ずゼロとなる状態では、正確な判定を行うことができない。このようなことから、三相分の素子電流を検出することができない場合、故障判定処理が実行されることがないように、可否信号が「否」に設定されるようになっている。ステップＳ２０３またはＳ２０９の実行後、モータ電流推定処理が終了となる。
【００５３】
上述したように、本実施形態のモータ電流推定処理では、三相分の素子電流を検出できなかった場合、素子電流を検出できなかった相がどの相であるかについて、Ｕ相→Ｖ相→Ｗ相の順で確認するようになっている。なお、このような確認のための処理の順番は、必ずしもこの順に限らずともよく、入れ替えてもよい。また、このような確認のための処理は、必ずしも図３に示すように逐次処理する必要はなく、並列処理するようにしてもよい。
【００５４】
［３］故障検出処理の内容
本実施形態の故障検出処理は、図４に示すような内容の処理となっている。なお、この故障検出処理では、故障検出カウンタ２４の故障検出カウント値の保持、加算などが行われるが、その対象となる故障検出カウンタ２４は、ステップＳ１００で検出された三相分の素子電流が流れるアームに対応して設けられた３つの故障検出カウンタ２４となる。また、故障検出カウント値の初期値は、ゼロになっている。
【００５５】
まず、ステップＳ５０１では、三相の総和が第１閾値Ｉth1未満であるか否かが判断される。第１閾値Ｉth1は、電流検出部が正常であるか否か、つまり電流検出部に故障が生じている可能性があるか否かを判定するためのものであり、本実施形態では、例えば「１０Ａ」に設定されている。なお、第１閾値Ｉth1は、上記構成における電流の検出精度を考慮したうえで、電流検出部の故障検出について、所望する検出応答性が得られるとともに誤検出の発生率を所望する程度に抑えられるような値に設定すればよい。
【００５６】
三相の総和が第１閾値Ｉth1未満である場合、ステップＳ５０１で「ＹＥＳ」となり、ステップＳ５０２に進む。ステップＳ５０２では、故障検出カウント値が現状の値に保持される。一方、三相の総和が第１閾値Ｉth1以上である場合、ステップＳ５０１で「ＮＯ」となり、ステップＳ５０３に進む。
【００５７】
ステップＳ５０３では、故障検出カウント値に加算するための所定値Ａが選択される。具体的には、ステップＳ５０３では、三相の総和が第２閾値Ｉth2未満である場合には所定値Ａとして「＋２」が選択され、三相の総和が第２閾値Ｉth2以上である場合には所定値Ａとして「＋１０」が選択される。
【００５８】
なお、第２閾値Ｉth2は、第１閾値Ｉth1よりも大きい値に設定されている。具体的には、第２閾値Ｉth2は、電流検出部に何らかの故障が発生していると明確に判断できるような値であり、本実施形態では、例えば「１００Ａ」に設定されている。したがって、ステップＳ５０３では、電流検出部に何らかの故障が発生していると明確に判断できない場合に選択される所定値Ａよりも、電流検出部に何らかの故障が発生していると明確に判断できる場合に選択される所定値Ａのほうが、大きな値となるようになっている。
【００５９】
ステップＳ５０３の実行後はステップＳ５０４に進み、故障検出カウント値に対し、ステップＳ５０３で選択された所定値Ａが加算される。ステップＳ５０２またはＳ５０４の実行後は、ステップＳ５０５に進む。ステップＳ５０５では、故障検出カウント値が故障判定値Ｃthを超えているか否かが判断される。故障判定値Ｃthは、本実施形態では、例えば「１００」に設定されている。なお、故障判定値Ｃthは、上記構成における電流の検出精度を考慮したうえで、電流検出部の故障検出について、所望する検出応答性が得られるとともに誤検出の発生率を所望する程度に抑えられるような値に設定すればよい。
【００６０】
故障検出カウント値が故障判定値Ｃthを超えている場合、ステップＳ５０５で「ＹＥＳ」となり、ステップＳ５０６に進む。ステップＳ５０６では、電流検出部に故障が生じていると判定される。一方、故障検出カウント値が故障判定値Ｃth以下である場合、ステップＳ５０５で「ＮＯ」となり、ステップＳ５０７に進む。ステップＳ５０７では、電流検出部に故障が生じておらず、電流検出部が正常であると判定される。ステップＳ５０６またはＳ５０７の実行後、故障検出処理が終了となる。
【００６１】
なお、図４に示した各処理のうち、ステップＳ５０１が第１判定処理に相当し、ステップＳ５０３およびＳ５０４がカウント値加算処理に相当し、ステップＳ５０５〜Ｓ５０７が第２判定処理に相当する。
【００６２】
以上説明した本実施形態によれば、次のような効果が得られる。
上記構成の故障検出処理では、第１判定処理および第２判定処理という２つの判定処理を経て電流検出部の故障が検出されるようになっている。そして、上記構成では、第１判定処理において三相電流の総和に基づく判定を実施するために用いられる第１閾値Ｉth1の設定に応じて、故障検出の感度を任意の値に設定することができる。しかも、上記構成では、第１判定処理において電流検出部が正常ではないと判定された場合でも、直ちに故障検出が確定することがないため、ノイズなどによる誤検出の発生頻度が低く抑えられる。
【００６３】
また、上記構成では、第２判定処理において用いられる故障判定値Ｃthの設定に応じて、検出応答性を任意の値に設定することができる。したがって、上記構成によれば、電流検出部の故障検出について、その検出応答性を高めつつ、その誤検出を防止することができるという優れた効果が得られる。
【００６４】
さらに、カウント値加算処理では、三相の総和が第１閾値Ｉth1よりも大きい第２閾値Ｉth2未満である場合よりも、三相の総和が第２閾値Ｉth2以上である場合のほうが、故障検出カウント値に加算する所定値Ａが大きい値となるようになっている。つまり、本実施形態では、三相の総和が本来あるべき値であるゼロから離れた値であるほど、カウント値加算処理において故障検出カウント値に加算される所定値Ａが大きい値となる。このようにすれば、ノイズなどによる誤検出の発生頻度を低く抑えつつ、センスセル１９および検出回路４〜９などの耐久劣化や壊れ始めなどの三相の総和の変動が比較的小さい異常も検出することができるとともに、三相の総和の変動が比較的大きい明らかな故障については比較的短い時間で検出することが可能となる。
【００６５】
このように、本実施形態では、三相の総和と比較する閾値として、第１閾値Ｉth1および第２閾値Ｉth2という２つの閾値が設けられている。そして、本実施形態によれば、それら２つの閾値および故障検出カウント値と比較するための故障判定値Ｃthを、上記構成における電流の検出精度などを考慮して設定することにより、電流検出部の故障検出について、所望する検出応答性を得ることができるとともに、誤検出の発生頻度を所望する程度に抑えることができる。
【００６６】
三相のハーフブリッジ回路３ｕ、３ｖ、３ｗを構成するスイッチング素子１２〜１７は、メインセル１８およびセンスセル１９を備えた構成である。そして、本実施形態の電流検出部を構成する検出回路４〜９は、センスセル１９に流れる電流に基づいてスイッチング素子１２〜１７に流れる素子電流を検出する構成となっている。このような構成によれば、相電流Ｉｕ、Ｉｖ、Ｉｗを検出する電流センサを設けた構成に比べ、装置の製造コストを低く抑えるとともに、装置の体格を小さく抑えることができる。そして、本実施形態の故障検出処理によれば、このような素子電流検出の構成の電流検出部についての故障を検出することができ、その故障検出に関して上述したような効果を得ることができる。
【００６７】
故障検出カウンタ２４は、三相のハーフブリッジ回路３ｕ、３ｖ、３ｗを構成する６つのアームのそれぞれに対応して設けられている。また、故障検出処理では、６つの故障検出カウンタ２４のうち、ステップＳ１００で検出された三相分の素子電流が流れるアームに対応して設けられた３つの故障検出カウンタ２４を対象として故障検出カウント値の保持、加算などが行われる。例えば、ステップＳ１００においてＵ相上アーム、Ｖ相下アームおよびＷ相下アームの各素子電流が検出された場合、Ｕ相上アーム、Ｖ相下アームおよびＷ相下アームに対応した３つの故障検出カウンタ２４を対象としてカウント動作が行われる。そして、故障検出カウント値が故障判定値Ｃthを超えていると判断された際、その故障検出カウント値をカウントした故障検出カウンタ２４に対応したアームの素子電流を検出する電流検出部に故障が生じたと判断することができる。したがって、上記構成によれば、電流検出部の故障が検出された際、その故障した電流検出部を特定することも可能となる。
【００６８】
（第２実施形態）
以下、第２実施形態について図５を参照して説明する。
第２実施形態では、故障検出処理の内容が第１実施形態と異なっている。なお、三相インバータ装置１の構成は、第１実施形態と共通する。
【００６９】
図５に示すように、本実施形態の故障検出処理では、第１実施形態の故障検出処理のステップＳ５０３に代えてステップＳ５１３が設けられている。ステップＳ５１３では、ステップＳ５０３と同様、故障検出カウント値に加算するための所定値Ａが選択される。ただし、この場合、所定値Ａは、モータ２の制御方式に応じた値に設定される。
【００７０】
具体的には、ステップＳ５１３では、三相の総和が第２閾値Ｉth2未満であり且つモータ２の制御方式が三角波比較の制御方式である場合には所定値Ａとして「＋２」が選択され、三相の総和が第２閾値Ｉth2未満であり且つモータ２の制御方式が電圧位相制御の制御方式である場合には所定値Ａとして「＋３」が選択される。
【００７１】
また、ステップＳ５１３では、三相の総和が第２閾値Ｉth2以上であり且つモータ２の制御方式が三角波比較の制御方式である場合には所定値Ａとして「＋１０」が選択され、三相の総和が第２閾値Ｉth2以上であり且つモータ２の制御方式が電圧位相制御の制御方式である場合には所定値Ａとして「＋１５」が選択される。つまり、ステップＳ５１３において、所定値Ａは、モータ２の制御方式が電圧位相制御の場合、三角波比較の場合に比べ、１．５倍に設定されるようになっている。なお、本実施形態では、ステップＳ５１３およびＳ５０４がカウント値加算処理に相当する。
【００７２】
以上説明したように、本実施形態の故障検出処理では、カウント値加算処理において故障検出カウント値に加算される所定値Ａが、モータ２の制御方式に応じた値に設定されるようになっている。このようにすれば、次のような効果が得られる。すなわち、三角波比較の場合、キャリアの頂点で電流検出が行われることから、電流検出の周期は、モータ２の回転速度などに依存しない。一方、電圧位相制御の場合、所定の電気角毎に電流検出が行われることから、電流検出の周期がモータ２の回転速度などに依存して変動する。そうすると、故障が検出されるまでの時間が安定せず、故障検出の応答性が悪くなるおそれがある。そこで、想定されるモータ２の回転速度などを考慮し、所定値Ａの値を適切に設定することで、このような故障検出の応答性の悪化を防止することができる。
【００７３】
（第３実施形態）
以下、第３実施形態について図６を参照して説明する。
第３実施形態では、故障検出処理の内容が第１実施形態と異なっている。なお、三相インバータ装置１の構成は、第１実施形態と共通する。
【００７４】
図６に示すように、本実施形態の故障検出処理では、第１実施形態の故障検出処理のステップＳ５０２に代えてステップＳ５２２が設けられている。ステップＳ５２２では、故障検出カウント値に加算するための所定値Ａが選択される。具体的には、ステップＳ５２２では、三相の総和が第３閾値Ｉth3未満である場合には所定値Ａとして「−５」が選択され、三相の総和が第３閾値Ｉth3以上である場合には所定値Ａとして「−１」が選択される。
【００７５】
なお、第３閾値Ｉth3は、第１閾値Ｉth1よりも小さい値に設定されている。具体的には、第３閾値Ｉth3は、電流検出部に故障が生じておらず正常であると明確に判断できるような値であり、本実施形態では、例えば「１Ａ」に設定されている。したがって、ステップＳ５２２では、電流検出部が正常であると明確に判断できない場合に選択される所定値Ａよりも、電流検出部が正常であると明確に判断できる場合に選択される所定値Ａのほうが、マイナス方向に大きな値となるようになっている。
【００７６】
ステップＳ５２２の実行後はステップＳ５０４に進み、故障検出カウント値に対し、ステップＳ５２２で選択された所定値Ａが加算される。ただし、この場合、所定値Ａは、マイナスの値であるため、ステップＳ５０４では、故障検出カウント値に対する減算が行われることになる。したがって、本実施形態では、ステップＳ５２２およびＳ５０４が、第１判定処理において電流検出部が正常であると判定されたことを条件として故障検出カウント値を減算するカウント値減算処理に相当する。
【００７７】
以上説明したように、本実施形態の故障検出処理では、第１判定処理において電流検出部が正常であると判定されたことを条件として故障検出カウント値を減算するカウント値減算処理が設けられている。このようにすれば、次のような効果が得られる。すなわち、例えばノイズなどの影響により、一時的に三相の総和が第１閾値Ｉth1を超える状態が発生することが考えられる。そして、このような状態が生じる度、故障検出カウント値が加算されていき、やがては、故障検出カウント値が故障判定値Ｃthを超えてしまい、誤検出を引き起こすおそれがある。しかし、本実施形態のように、三相の総和が正常範囲の値であるときに故障検出カウント値を減算するようにすれば、このようなノイズなどの影響による誤検出の発生を防止することができる。
【００７８】
また、カウント値減算処理では、三相の総和が第１閾値Ｉth1よりも小さい第３閾値Ｉth3以上である場合よりも、三相の総和が第３閾値Ｉth3未満である場合のほうが、故障検出カウント値から減算される値が大きくなるようになっている。つまり、本実施形態では、三相の総和が本来あるべき値であるゼロに近い値であるほど、カウント値減算処理において故障検出カウント値から減算される値が大きくなる。このようにすれば、ノイズなどの影響により故障検出カウント値が累積的に加算されたとしても、電流検出部が正常であれば、故障検出カウント値は直ちに大きく減算されるため、ノイズなどの影響による誤検出の発生を一層確実に防止することができる。
【００７９】
（第４実施形態）
以下、第４実施形態について図７を参照して説明する。
第４実施形態では、故障検出処理の内容が第１実施形態と異なっている。なお、三相インバータ装置１の構成は、第１実施形態と共通する。
【００８０】
図７に示すように、本実施形態の故障検出処理では、第１実施形態の故障検出処理のステップＳ５０３に代えてステップＳ５１３が設けられているとともに、第１実施形態の故障検出処理のステップＳ５０２に代えてステップＳ５２２が設けられている。すなわち、本実施形態の故障検出処理は、第２実施形態の故障検出処理と第３実施形態の故障検出処理とを組み合わせた内容となっている。したがって、本実施形態によれば、第２実施形態により得られる効果と第３実施形態により得られる効果の双方を得ることができる。
【００８１】
（第５実施形態）
以下、第５実施形態について図８〜図１４を参照して説明する。
前述したように、電流検出部として素子電流検出の構成を採用した場合、通常の検出タイミングにおいて三相分の素子電流を検出できないことがある。特に、三角波比較の制御方式において、高出力や高回転でモータ２が制御される場合、キャリア頂点と駆動信号のオンパルス幅が短い期間とが連続して重なることがあり、三相分の素子電流を検出することができずに故障判定処理を実行することができない期間が継続するおそれがある。
【００８２】
図８には、このように連続して三相分の素子電流を検出できない状態の一例が示されている。なお、図８において、上段はモータ制御波形、具体的にはキャリアである三角波信号、Ｕ相変調波信号、Ｖ相変調波信号およびＷ相変調波信号を示し、中段は駆動波形、具体的にはＵ相駆動信号、Ｖ相駆動信号およびＷ相駆動信号を示し、下段は推定された三相電流の波形を示している。
【００８３】
図８に示す例の場合、通常の検出タイミングである時刻ｔ１、ｔ２、ｔ３、ｔ４、ｔ５、ｔ６の６回連続して三相分の素子電流を検出することができておらず、その結果、６周期連続して故障判定処理が実行できない。故障判定処理を実行することができない期間が長期化すると、電流検出部に故障が生じた際、その検出が遅れてしまうおそれがある。そこで、本実施形態では、このような問題を解消するための工夫が加えられている。
【００８４】
図９に示すように、本実施形態の三相インバータ装置５１は、第１実施形態の三相インバータ装置１に対し、コントローラ１０に代えてコントローラ５２を備えている点などが異なる。コントローラ５２は、コントローラ１０に対し、モータ電流推定部２０に代えてモータ電流推定部５３を備えている点、三相総和算出部２２に代えて三相総和算出部５４を備えている点などが異なる。
【００８５】
三相電流算出部に相当するモータ電流推定部５３は、通常の検出タイミングにおいて三相分の素子電流を検出できた場合、それら三相分の素子電流から三相電流を求める。このように求められた三相電流は、モータ２の駆動制御用の相電流Ｉｕ、Ｉｖ、Ｉｗとして駆動制御部２１に与えられるとともに、故障検出用の相電流Ｉｕ＿ｅｒｒ、Ｉｖ＿ｅｒｒ、Ｉｗ＿ｅｒｒとして三相総和算出部５４に与えられる。
【００８６】
また、モータ電流推定部５３は、通常の検出タイミングにおいて二相分の素子電流しか検出できなかった場合、それら二相分の素子電流から対応する二相の相電流を求めるとともに、それら二相分の素子電流から残りの一相の相電流を推定する。このように求められた三相電流は、モータ２の駆動制御用の相電流Ｉｕ、Ｉｖ、Ｉｗとして駆動制御部２１に与えられる。
【００８７】
さらに、この場合、モータ電流推定部５３は、三相分の検出結果が得られる故障検出用の検出タイミングにおける電流検出部による電流の検出結果に基づいて三相電流を算出する。このようにして算出された三相電流は、故障検出用の相電流Ｉｕ＿ｅｒｒ、Ｉｖ＿ｅｒｒ、Ｉｗ＿ｅｒｒとして三相総和算出部５４に与えられる。
【００８８】
三相総和算出部５４は、三相総和算出部２２と同様の総和算出処理を実行することができる。ただし、この場合、総和算出処理における算出対象としては、相電流Ｉｕ、Ｉｖ、Ｉｗではなく、相電流Ｉｕ＿ｅｒｒ、Ｉｖ＿ｅｒｒ、Ｉｗ＿ｅｒｒとなる。
【００８９】
このように、本実施形態の構成では、通常の検出タイミングにおいて三相分の素子電流が検出できなかった場合、三相分の検出結果が得られる別のタイミングである故障検出用タイミングにおいて三相分の素子電流の検出が行われ、それら検出値から算出される三相電流を用いて故障検出処理が行われる。
【００９０】
次に、上記構成の作用について説明する。
［１］電流検出部の故障検出に関連する処理の全体の流れ
コントローラ５２による処理のうち、電流検出部の故障検出に関連する処理は、図１０に示すような内容の処理となる。本実施形態の故障検出に関連する処理では、第１実施形態の故障検出に関連する処理に対し、ステップＳ３５０が追加されている。ステップＳ３５０は、通常の検出タイミングにおいて三相分の素子電流の検出ができなかった場合、つまりステップＳ３００で「ＮＯ」の場合に実行される。
【００９１】
ステップＳ３５０では、故障検出用タイミングにおいて三相分の素子電流が検出され、それら検出された素子電流から故障検出用の相電流Ｉｕ＿ｅｒｒ、Ｉｖ＿ｅｒｒ、Ｉｗ＿ｅｒｒを算出する故障検出用の電流検出処理が実行される。なお、以下の説明では、故障検出用の相電流Ｉｕ＿ｅｒｒ、Ｉｖ＿ｅｒｒ、Ｉｗ＿ｅｒｒについても、単に相電流Ｉｕ、Ｉｖ、Ｉｗとして表すこととする。ステップＳ３５０の実行後は、ステップＳ４００に進み、総和算出処理が実行される。
【００９２】
［２］故障検出用の電流検出処理の内容
本実施形態の故障検出用の電流検出処理は、図１１に示すような内容となっている。まず、ステップＳ３５１では、各相の変調波信号に基づいて各相のスイッチング間隔が計算され、それらスイッチング間隔と電流検出が可能となるアームの組み合わせとの関連付けが行われる。
【００９３】
例えば、図１２に示すように、キャリアである三角波信号の頂点毎に電流検出が行われる場合、Ｎ回目の電流検出からＮ＋１回目の電流検出までの間には、３つのスイッチング間隔Ｔ１＿Ｎ＋１、Ｔ２＿Ｎ＋１、Ｔ３＿Ｎ＋１が存在する。また、この場合、Ｎ＋１回目の電流検出からＮ＋２回目の電流検出までの間には、３つのスイッチング間隔Ｔ１＿Ｎ＋２、Ｔ２＿Ｎ＋２、Ｔ３＿Ｎ＋２が存在する。なお、図１２において、上段はキャリアである三角波信号、Ｕ相変調波信号、Ｖ相変調波信号およびＷ相変調波信号を示し、下段は駆動信号Ｇ＿ｕｐ〜Ｇ＿ｗｎを示している。
【００９４】
ステップＳ３５１における関連付けは、例えば図１３に示すような内容のものとなる。スイッチング間隔Ｔ１＿Ｎ＋１において、電流検出が可能となるアームの組み合わせである組み合わせＡは、図１２から明らかなようにＵ相上アーム、Ｖ相上アームおよびＷ相上アームとなる。
【００９５】
スイッチング間隔Ｔ２＿Ｎ＋１において、電流検出が可能となるアームの組み合わせである組み合わせＢは、図１２から明らかなようにＵ相下アーム、Ｖ相上アームおよびＷ相上アームとなる。スイッチング間隔Ｔ３＿Ｎ＋１において、電流検出が可能となるアームの組み合わせである組み合わせＣは、図１２から明らかなようにＵ相下アーム、Ｖ相下アームおよびＷ相上アームとなる。
【００９６】
ステップＳ３５１の実行後は、ステップＳ３５２に進む。ステップＳ３５２では、各スイッチング間隔のうち、三相分の素子電流が検出できない期間Ｔｏｎ＿ＮＧより長い期間のいずれかが選択される。このような期間Ｔｏｎ＿ＮＧが存在する理由は次の通りである。すなわち、スイッチング間隔の開始時点から所定時間が経過するまでの期間Ｔｏｎ＿ＮＧでは、スイッチング素子１２〜１７のスイッチングに伴い生じるノイズの影響により検出回路４〜９による素子電流検出が正常に行うことができない。なお、図１２では、期間Ｔｏｎ＿ＮＧについて、矢印の上に「ＮＧ」を付して表している。
【００９７】
そこで、ステップＳ３５１では、上述したように、期間Ｔｏｎ＿ＮＧより長いスイッチング間隔が選択され、そのスイッチング間隔の開始時点から期間Ｔｏｎ＿ＮＧが経過した後の任意のタイミングで各相の素子電流が検出される。なお、この任意のタイミングが、三相分の検出結果が得られる故障検出用の検出タイミングに相当する。
【００９８】
ステップＳ３５１の実行後は、ステップＳ３５３に進む。ステップＳ３５３では、ステップＳ３５２で検出された各素子電流の値から各相電流Ｉｕ、Ｉｖ、Ｉｗの値が求められる。具体的には、相電流Ｉｕの値がＵ相の素子電流の検出値に更新され、相電流Ｉｖの値がＶ相の素子電流の検出値に更新され、相電流Ｉｗの値がＷ相の素子電流の検出値に更新される。
【００９９】
なお、上述した各相の素子電流の検出値は、各相の上アームまたは下アームの素子電流の検出値であり、図１１では、検出値Ｉｅｒｒ＿ｕ＊、検出値Ｉｅｒｒ＿ｖ＊、検出値Ｉｅｒｒ＿ｗ＊として示す。ステップＳ３５１の実行後、故障検出用の電流検出処理が終了となる。
【０１００】
以上説明したように、本実施形態の構成では、通常の検出タイミングにおいて三相分の素子電流が検出できなかった場合、三相分の検出結果が得られる別のタイミングである故障検出用タイミングにおいて三相分の素子電流の検出が行われ、それら検出値から算出される三相電流を用いて故障検出処理が行われる。そのため、通常の検出タイミングにおいて三相分の素子電流が検出できない状態が継続したとしても、故障判定処理を実行することが可能となる。
【０１０１】
例えば、図１４に示すように、通常の検出タイミングでの三相分の素子電流の検出が６周期連続してできない場合でも、本実施形態の構成によれば、１周期毎に故障検出用の検出タイミングである時刻ｔ１’、ｔ２’、ｔ３’、ｔ４’、ｔ５’、ｔ６’において三相分の素子電流が検出され、その結果、毎周期、故障判定処理が実行される。このように、本実施形態によれば、例えば三角波比較の制御方式において高出力や高回転でモータ２が制御される場合など、通常の検出タイミングにおいて三相分の素子電流を検出することができない状態が連続するような場合でも、故障判定処理を実行することができない期間が長期化することがないため、電流検出部に故障が生じた際、その故障を素早く検出することができる。
【０１０２】
（第６実施形態）
以下、第６実施形態について図１５〜図２０を参照して説明する。
第５実施形態では、故障検出用の検出タイミングとして、三相分の検出結果が得られる任意のタイミングが選択されるようになっていた。このような方法では、特定のアームに対応した素子電流の検出結果だけを用いて故障判定処理が実行されるおそれがある。すなわち、第５実施形態の方法では、アーム毎の故障判定に用いられる回数である故障判定回数に偏りが出るおそれがある。そこで、本実施形態では、このような偏りを防止するための工夫が加えられている。
【０１０３】
図１５に示すように、本実施形態の三相インバータ装置６１が備えるコントローラ６２は、第５実施形態のコントローラ５２に対し、モータ電流推定部５３に代えてモータ電流推定部６３を備えている点が異なる。三相電流算出部に相当するモータ電流推定部６３は、モータ電流推定部５３が備える構成に対し、回数カウント部６４が追加されている。
【０１０４】
回数カウント部６４は、ハーフブリッジ回路３ｕ、３ｖ、３ｗを構成する６つのアームのそれぞれについて、それらアームに対応する素子電流の検出結果が三相電流の算出に用いられた回数、ひいては故障判定に用いられた回数である故障判定回数をカウントする。回数カウント部６４は、６つのアームの故障判定回数に偏りが出ないようにするため、各アームの故障判定回数をカウントする。ただし、故障判定処理は、三相分の素子電流が検出できた場合にのみ実行されるため、３つの相毎に故障判定回数の偏りが出ることはない。つまり、ここで問題となる偏りは、各相における上アームと下アームの偏りとなる。
【０１０５】
そこで、回数カウント部６４は、各相における上下アームの故障判定回数の差分を検出するため、３つの相毎にカウンタを備えている。以下、これら３つのカウンタのことを、差分検出カウンタと呼ぶ。差分検出カウンタは、対応する相について、上アームの素子電流の検出結果が故障判定に用いられた場合にカウント値を「＋１」するとともに、下アームの素子電流の検出結果が故障判定に用いられた場合にカウント値を「−１」する。このような構成によれば、差分検出カウンタのカウント値は、上下アームの故障判定回数の偏りが小さいほどゼロに近い値となり、その偏りが大きいほどゼロから離れた値となる。
【０１０６】
モータ電流推定部６３は、故障判定回数が少ないアームに対応する素子電流の検出結果が得られるタイミングを優先して故障検出用の検出タイミングを決定する。詳細は後述するが、モータ電流推定部６３は、回数カウント部６４が備える３つの差分検出カウンタのカウント値がゼロに近付くように、故障検出用の検出タイミングを決定するようになっている。
【０１０７】
次に、上記構成の作用について説明する。
［１］電流検出部の故障検出に関連する処理の全体の流れ
コントローラ６２による処理のうち、電流検出部の故障検出に関連する処理は、図１６に示すような内容の処理となる。本実施形態の故障検出に関連する処理では、第５実施形態の故障検出に関連する処理に対し、ステップＳ６００が追加されている。ステップＳ６００は、ステップＳ５００の実行後に実行される。
【０１０８】
ステップＳ６００では、故障判定回数の更新が行われる。具体的には、ステップＳ６００では、各相について、上アームの素子電流の検出結果が故障判定に用いられた場合には差分検出カウンタのカウント値が「＋１」され、下アームの素子電流の検出結果が故障判定に用いられた場合には差分検出カウンタのカウント値が「−１」される。
【０１０９】
［２］故障検出用の電流検出処理の内容
本実施形態の故障検出用の電流検出処理は、図１７に示すような内容となっている。本実施形態の故障検出用の電流検出処理は、第５実施形態の故障検出用の電流検出処理に対し、ステップＳ３５４〜Ｓ３５７が追加されている。この場合、ステップＳ３５１の実行後は、ステップＳ３５４が実行される。
【０１１０】
ステップＳ３５４では、故障判定に用いるべきアームの組み合わせを選択する組み合わせ選択処理が実行される。なお、組み合わせ選択処理の内容については後述する。ステップＳ３５４の実行後はステップＳ３５５に進み、ステップＳ３５４にて選択された組み合わせが、ステップＳ３５１にて関連付けられた組み合わせの中に存在するか否かが判断される。
【０１１１】
選択された組み合わせが関連付けられた組み合わせの中に存在する場合、ステップＳ３５５で「ＹＥＳ」となり、ステップＳ３５６に進む。一方、選択された組み合わせが関連付けられた組み合わせの中に存在しない場合、ステップＳ３５５で「ＮＯ」となり、ステップＳ３５２に進む。
【０１１２】
ステップＳ３５６では、選択された組み合わせに対応するスイッチング間隔が期間Ｔｏｎ＿ＮＧより長い期間であるか否かが判断される。選択された組み合わせに対応するスイッチング間隔が期間Ｔｏｎ＿ＮＧより長い期間である場合、ステップＳ３５６で「ＹＥＳ」となり、ステップＳ３５７に進む。一方、選択された組み合わせに対応するスイッチング間隔が期間Ｔｏｎ＿ＮＧ以下の期間である場合、ステップＳ３５６で「ＮＯ」となり、ステップＳ３５２に進む。
【０１１３】
ステップＳ３５７では、選択された組み合わせに対応するスイッチング間隔の開始時点から期間Ｔｏｎ＿ＮＧが経過した後の任意のタイミングで各相の素子電流が検出される。なお、この任意のタイミングが、三相分の検出結果が得られる故障検出用の検出タイミングに相当する。ステップＳ３５７の実行後は、ステップＳ３５３が実行される。
【０１１４】
［３］組み合わせ選択処理の内容
組み合わせ選択処理は、図１８に示すような内容となっている。すなわち、組み合わせ選択処理は、Ｕ相のアームを選択するアーム選択処理Ｓ７００ｕ、Ｖ相のアームを選択するアーム選択処理Ｓ７００ｖおよびＷ相のアームを選択するアーム選択処理Ｓ７００ｗが、この順に実行されるようになっている。なお、アーム選択処理７００ｕ、７００ｖ、７００ｗの実行順は、この順に限らずともよく、入れ替えてもよい。また、アーム選択処理７００ｕ、７００ｖ、７００ｗは、必ずしも図１８に示すように逐次処理する必要はなく、並列処理するようにしてもよい。
【０１１５】
［４］アーム選択処理の内容
アーム選択処理Ｓ７００ｕ、７００ｖ、７００ｗは、いずれも図１９に示すような内容となっている。まず、ステップＳ７０１では、対応する差分検出カウンタのカウント値がゼロより大きいか否かが判断される。なお、図１９では、差分検出カウンタのカウント値のことを「差分検出カウント値」と省略している。差分検出カウンタのカウント値がゼロより大きい場合、つまりカウント値が正の値である場合、ステップＳ７０１で「ＹＥＳ」となり、ステップＳ７０２に進む。ステップＳ７０２では、当該相の素子電流を検出する対象として「下アーム」が選択される。
【０１１６】
差分検出カウンタのカウント値がゼロ以下である場合、ステップＳ７０１で「ＮＯ」となり、ステップＳ７０３に進む。ステップＳ７０３では、差分検出カウンタのカウント値がゼロであるか否かが判断される。差分検出カウンタのカウント値がゼロである場合、ステップＳ７０３で「ＹＥＳ」となり、ステップＳ７０４に進む。ステップＳ７０４では、当該相の素子電流を検出する対象として「上アームおよび下アームのどちらでも可」が選択される。この場合、当該相の素子電流を検出する対象として上アームおよび下アームのどちらか任意のアームが選択されることになる。
【０１１７】
差分検出カウンタのカウント値がゼロではない場合、つまり差分検出カウンタのカウント値が負の値である場合、ステップＳ７０３で「ＮＯ」となり、ステップＳ７０５に進む。ステップＳ７０５では、当該相の素子電流を検出する対象として上アームが選択される。ステップＳ７０２、Ｓ７０４またはＳ７０５の実行後、アーム選択処理が終了となる。
【０１１８】
以上説明したように、本実施形態の構成では、各アームの故障判定回数をカウントする回数カウント部６４を設け、故障判定回数が少ないアームに対応する素子電流の検出結果が得られるタイミングを優先して故障検出用の検出タイミングを決定するようになっている。このようにすれば、６つのアームの故障判定回数に偏りが出ず、その結果、６つのアームに対応した電流検出部を均等に故障判定することができる。
【０１１９】
故障検出用の検出タイミングを任意につまりランダムに選択した場合、アーム毎の故障判定回数に偏りがでるおそれがある。例えば図２０に示す例では、Ｖ相について上アームが故障判定に用いられる状態が連続するように偏りが生じている。なお、図２０において、上から１段目はモータ制御波形を示し、上から２段目は駆動波形を示し、上から３段目はランダムにアームを選択した場合の差分検出カウンタのカウント値を示し、上から４段目は本実施形態のアーム選択処理によりアームを選択した場合の差分検出カウンタのカウント値を示している。図２０に示すように、本実施形態によれば、各相について、上アームと下アームの故障判定回数の差を低減することができ、その結果、上下アームのそれぞれに対応した電流検出部を均等に故障判定することができることが分かる。
【０１２０】
（その他の実施形態）
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形、組み合わせ、あるいは拡張することができる。
上記各実施形態で示した数値などは例示であり、それに限定されるものではない。
【０１２１】
上記各実施形態では、三相電流の総和の絶対値を求め、その絶対値と各閾値Ｉth1、Ｉth2、Ｉth3との比較を行うようにしていたが、三相電流の総和の絶対値を求めなくともよい。この場合、ステップＳ５０１、Ｓ５０３、Ｓ５２２などについて、各閾値をプラスとマイナスの２つの閾値として、三相電流の総和が、マイナスの閾値からプラスの閾値の範囲内の値に含まれるか否かを判断するように変更を加えればよい。
【０１２２】
第２〜第４実施形態におけるカウント値加算処理を構成するステップＳ５０３、Ｓ５１３では、三相の総和と１つの閾値である第２閾値Ｉth2とを比較した結果に基づいて所定値Ａを選択するようになっていたが、三相の総和と比較する閾値を２つ以上設け、それら各閾値との比較結果に基づいて、さらに詳細に所定値Ａを選択するように変更してもよい。
【０１２３】
第３および第４実施形態におけるカウント値加算処理を構成するステップＳ５１３では、三相の総和と第２閾値Ｉth2との比較結果およびモータ２の制御方式の双方を考慮して所定値Ａの選択が行われるようになっていたが、モータ２の制御方式だけを考慮して所定値Ａの選択を行うように変更してもよい。
【０１２４】
第３実施形態におけるカウント値減算処理を構成するステップＳ５２２では、三相の総和と１つの閾値である第３閾値Ｉth3とを比較した結果に基づいて所定値Ａを選択するようになっていたが、三相の総和と比較する閾値を２つ以上設け、それら各閾値との比較結果に基づいて、さらに詳細に所定値Ａを選択するように変更してもよい。また、ステップＳ５２２は、第２実施形態におけるカウント値加算処理を構成するステップＳ５１３と同様に、モータ２の制御方式をも考慮して所定値Ａの選択を行うように変更してもよい。
【０１２５】
故障検出処理に対し、外部からの指令などに基づいて故障検出カウント値を強制的にゼロにクリアするカウント値クリア処理、三相の総和が第１閾値Ｉth1未満となった回数が一定回数を超えた際などに故障検出カウント値をゼロにクリアする処理などを追加してもよい。なお、上述した外部からの指令としては、例えば、モータ２の駆動終了時点などに与えられる初期化のための指令が想定される。
【０１２６】
検出回路４〜９は、スイッチング素子１２〜１７に流れる素子電流を検出する構成であればよく、その具体的な構成は適宜変更可能である。例えば、ハーフブリッジ回路３ｕ、３ｖ、３ｗに流れる電流が比較的小さい場合、スイッチング素子１２〜１７としてセンスセル１９を備えない構成を用いるとともに、メインセル１８に流れる素子電流をシャント抵抗などにより直接検出する構成としてもよい。この場合、検出回路４〜９およびシャント抵抗などにより電流検出部が構成される。
【０１２７】
電流検出部としては、スイッチング素子１２〜１７の素子電流を検出する構成に限らずともよく、ハーフブリッジ回路３ｕ、３ｖ、３ｗから出力される三相電流を検出するホール式の電流センサなどにより構成してもよい。このような構成を採用する場合、スイッチング素子１２〜１７としてセンスセル１９を備えない構成を用いるとともに、検出回路４〜９を省くことができる。また、この場合、電流センサによる検出値がそのまま相電流Ｉｕ、Ｉｖ、Ｉｗの値になり、また、素子電流検出の構成のように電流検出ができない期間が存在しない。そのため、上記構成を採用する場合、図２などに示した電流検出部の故障検出に関連する処理におけるステップＳ２００およびＳ３００の処理が不要となる。
【０１２８】
ハーフブリッジ回路を構成するスイッチング素子としては、パワーＭＯＳＦＥＴであるスイッチング素子１２〜１７に限らずともよく、例えばＩＧＢＴなど、種々のパワー素子、つまりパワーデバイスを用いることができる。
【０１２９】
故障検出カウンタ２４は、必ずしも、三相のハーフブリッジ回路３ｕ、３ｖ、３ｗを構成する６つのアームのそれぞれに対応して設ける必要はない。例えば、各相に１つずつ、つまり合計３つの故障検出カウンタ２４を設け、各相の上下アームで兼用してもよいし、全体で１つの故障検出カウンタ２４を設け、６つのアームで兼用してもよい。
第６実施形態の回数カウント部６４は、６つのアーム毎にカウンタを設け、６つのアーム毎の故障判定回数をカウントする構成としてもよい。
【０１３０】
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。
【符号の説明】
【０１３１】
１、５１、６１…三相インバータ装置、２…モータ、３ｕ、３ｖ、３ｗ…ハーフブリッジ回路、４〜９…検出回路、１２〜１７…スイッチング素子、１８…メインセル、１９…センスセル、２０、５３、６３…モータ電流推定部、２２、５４…三相総和算出部、２３…故障検出処理部、６４…回数カウント部。
【図１】
0006988300.tif 000002
【図２】
0006988300.tif 000003
【図３】
0006988300.tif 000004
【図４】
0006988300.tif 000005
【図５】
0006988300.tif 000006
【図６】
0006988300.tif 000007
【図７】
0006988300.tif 000008
【図８】
0006988300.tif 000009
【図９】
0006988300.tif 000010
【図１０】
0006988300.tif 000011
【図１１】
0006988300.tif 000012
【図１２】
0006988300.tif 000013
【図１３】
0006988300.tif 000014
【図１４】
0006988300.tif 000015
【図１５】
0006988300.tif 000016
【図１６】
0006988300.tif 000017
【図１７】
0006988300.tif 000018
【図１８】
0006988300.tif 000019
【図１９】
0006988300.tif 000020
【図２０】
0006988300.tif 000021