以下、本発明の複数の実施形態について図面を参照して説明する。なお、各実施形態において実質的に同一の構成には同一の符号を付して説明を省略する。
(第1実施形態)
以下、第1実施形態について図1〜図6を参照して説明する。
図1に示す三相インバータ装置1は、モータ2を駆動するものであり、インバータ主回路3、検出回路4〜9、位置センサ10、コントローラ11などを備えている。モータ2は、例えば車両に搭載される三相交流モータである。インバータ主回路3は、例えば車載のバッテリである直流電源12から一対の直流電源線L1、L2を通じて供給される直流電圧を、U相、V相およびW相の三相の交流電圧に変換して出力する。
インバータ主回路3のU相、V相およびW相、つまり三相の各出力端子は、モータ2の三相の端子にそれぞれ接続されている。これにより、インバータ主回路3からモータ2に対し三相電流、つまり三相のモータ電流Iu、Iv、Iwが供給され、モータ2が駆動される。インバータ主回路3は、直流電源線L1、L2間にそれぞれ接続された三相のハーフブリッジ回路3u、3vおよび3wを備えている。ハーフブリッジ回路3u、3v、3wは、モータ2に供給するための三相のモータ電流Iu、Iv、Iwを生成する。なお、以下では、モータ電流のことを相電流とも呼ぶ。
本実施形態では、U相が第1相に相当し、V相が第2相に相当し、W相が第3相に相当する。したがって、本実施形態では、ハーフブリッジ回路3uが第1相のハーフブリッジ回路に相当し、ハーフブリッジ回路3vが第2相のハーフブリッジ回路に相当し、ハーフブリッジ回路3wが第3相のハーフブリッジ回路に相当する。
ハーフブリッジ回路3uは、スイッチング素子13、14を備えている。ハーフブリッジ回路3uの上アームを構成するスイッチング素子13は、高電位側の電源線L1と、インバータ主回路3のU相の出力端子となるノードNuとの間に接続されている。ハーフブリッジ回路3uの下アームを構成するスイッチング素子14は、ノードNuと、低電位側の電源線L2との間に接続されている。
ハーフブリッジ回路3vは、スイッチング素子15、16を備えている。ハーフブリッジ回路3vの上アームを構成するスイッチング素子15は、電源線L1と、インバータ主回路3のV相の出力端子となるノードNvとの間に接続されている。ハーフブリッジ回路3vの下アームを構成するスイッチング素子16は、ノードNvと、電源線L2との間に接続されている。
ハーフブリッジ回路3wは、スイッチング素子17、18を備えている。ハーフブリッジ回路3wの上アームを構成するスイッチング素子17は、電源線L1と、インバータ主回路3のW相の出力端子となるノードNwとの間に接続されている。ハーフブリッジ回路3wの下アームを構成するスイッチング素子18は、ノードNwと、電源線L2との間に接続されている。
スイッチング素子13〜18は、いずれもメインセル19およびセンスセル20を備えたNチャネル型のパワーMOSFETである。メインセル19は、インバータ主回路3からモータ2に対する通電を行うための主たる通電経路に介在している。すなわち、上アームを構成するスイッチング素子13、15、17のメインセル19のドレインは電源線L1に接続され、そのソースはノードNu、Nv、Nwにそれぞれ接続されている。下アームを構成するスイッチング素子14、16、18のメインセル19のドレインはノードNu、Nv、Nwにそれぞれ接続され、そのソースは電源線L2に接続されている。
センスセル20は、アーム電流、つまりメインセル19に流れる素子電流を検出するためのものであり、メインセル19に流れる電流に応じた電流が所定の分流比で流れる。なお、この分流比は、メインセル19およびセンスセル20のサイズ比などにより定まる。このような構成によれば、メインセル19に比較的大きな電流が流れる場合でも、その電流検出を容易に行うことができる。
メインセル19およびセンスセル20のゲートは、共通接続されており、その共通のゲートには、コントローラ11から出力される駆動信号が与えられている。具体的には、U相のスイッチング素子13、14のゲートには駆動信号G_up、G_unがそれぞれ与えられ、V相のスイッチング素子15、16には駆動信号G_vp、G_vnがそれぞれ与えられ、W相のスイッチング素子17、18には駆動信号G_wp、G_wnがそれぞれ与えられる。
メインセル19およびセンスセル20の各ソースは、検出回路4〜9の入力端子にそれぞれ接続されている。検出回路4〜9は、センスセル20に流れる電流に基づいてスイッチング素子13〜18に流れる素子電流を検出する。したがって、本実施形態では、センスセル20および検出回路4〜9により、電流検出部が構成されている。
検出回路4〜9は、スイッチング素子13〜18のセンスセル20に流れる電流を検出し、その検出値を表す電流検出信号を出力する。具体的には、U相の検出回路4、5は、スイッチング素子13、14のセンスセル20に流れる電流の検出値を表す電流検出信号I_up、I_unをそれぞれ出力する。
V相の検出回路6、7は、スイッチング素子15、16のセンスセル20に流れる電流の検出値を表す電流検出信号I_vp、I_vnをそれぞれ出力する。W相の検出回路8、9は、スイッチング素子17、18のセンスセル20に流れる電流の検出値を表す電流検出信号I_wp、I_wnをそれぞれ出力する。
検出回路4〜9から出力される電流検出信号I_up〜I_wnは、コントローラ11に与えられる。なお、図示は省略しているが、検出回路4〜9の具体的な構成としては、例えば、メインセル19およびセンスセル20の各ソース電圧が入力されるOPアンプと、そのOPアンプの出力端子およびセンスセル20のソースの間に接続される抵抗と、その抵抗の両端電圧が入力されるA/D変換器と、を備えた構成を採用することができる。
上記構成によれば、抵抗の両端電圧はセンスセル20に流れる電流に対応した電圧となり、このような電圧をA/D変換して得られるデジタル信号が、電流検出信号としてコントローラ11に送信される。また、上記構成では、OPオペアンプの動作により、メインセル19のソースとセンスセル20のソースが同電位となる。そのため、コントローラ11は、センスセル20に流れる電流に対応した電流検出信号に基づいて、メインセル19に流れる素子電流を精度良く検出することが可能となる。
位置センサ10は、モータ2が有するロータの回転位置を検出するものであり、位置検出部に相当する。位置センサ10は、検出した回転位置に対応した位置検出信号Spをコントローラ11へ出力する。コントローラ11は、モータ2の駆動を制御するものであり、モータ電流推定部21、駆動制御部22、位置推定部23、故障検出処理部24などを備えている。
モータ電流推定部21は、検出回路4〜9から与えられる電流検出信号I_up〜I_wnに基づいてスイッチング素子13〜18に流れる素子電流を検出する処理と、それら検出した素子電流から相電流Iu、Iv、Iwを推定する処理と、を実行する。上記した素子電流を検出する処理は、モータ2の制御方式に対応した通常の検出タイミングで行われる。例えば、モータ2の制御方式が三角波比較の制御方式である場合、キャリアである三角波信号が最大値または最小値、つまり頂点に達したタイミングが、通常の検出タイミングに相当する。
なお、モータ電流推定部21は、このような通常の検出タイミングにおいて、三相分の素子電流を検出できないことがある。その理由は、次の通りである。すなわち、本実施形態の検出回路4〜9は、上記したような構成であるため、スイッチング素子13〜18がオン駆動されていないと、素子電流を正しく検出することができない。
モータ2の制御状態によっては、通常の検出タイミングと、スイッチング素子13〜18に与えられる駆動信号がオンレベルとなる時間が短い期間、つまりオンパルス幅が短い期間とが重複することがあり、そうすると、モータ電流推定部21は、三相分の素子電流を検出することができない。この場合、モータ電流推定部21は、検出できた二相分の素子電流から検出できなかった残りの一相の素子電流を推定する。
モータ電流推定部21は、後述する故障検出処理の実行が可能であるか否かを表す可否信号を故障検出処理部24に出力する。詳細は後述するが、モータ電流推定部21は、電流検出信号I_up〜I_wnに基づいて三相分の素子電流を検出することができた場合、それら三相分の素子電流から相電流Iu、Iv、Iwを求めるとともに、故障検出処理の実行が「可」である旨を表す可否信号を出力する。
また、モータ電流推定部21は、電流検出信号I_up〜I_wnに基づいて二相分の素子電流しか検出できなかった場合、それら二相分の素子電流から対応する二相の相電流を求めるとともに、それら二相分の素子電流から残りの一相の相電流を推定する。なお、相電流の推定手法については後述する。二相分の素子電流しか検出できなかった場合、モータ電流推定部21は、上述したようにして相電流Iu、Iv、Iwを推定するとともに、故障検出処理の実行が「否」である旨を表す可否信号を出力する。
駆動制御部22は、電流検出部による電流の検出結果および位置センサ10による回転位置の検出結果に基づいてハーフブリッジ回路3u、3v、3wの動作を制御する。具体的には、駆動制御部22は、モータ電流推定部21により推定された相電流Iu、Iv、Iwおよび位置センサ10から与えられる位置検出信号Spに基づいてインバータ主回路3を駆動するための駆動信号G_up〜G_wnを生成して出力する。このような構成により、モータ2に流れる電流およびモータ2の回転位置がそれぞれ目標値に一致するようにフィードバック制御される。
駆動制御部22は、上記したようにモータ2の駆動を制御するにあたって、インバータ主回路3の各相のスイッチング状態を指令するための各相スイッチング指令値(電圧瞬時値)を生成するようになっている。駆動制御部22は、その生成した各相スイッチング指令値を位置推定部23へ出力する。
位置推定部23は、電流検出部による電流の検出結果に基づいてモータ2のロータの回転位置を推定する。具体的には、位置推定部23は、モータ電流推定部21により推定された相電流Iu、Iv、Iwおよび駆動制御部22から与えられる各相スイッチング指令値に基づいて回転位置を推定する。なお、このような推定についての具体的な手法としては、例えば特開2015−223023号公報に開示されている手法などを採用することができる。
この場合、位置推定部23は、U相およびV相に対応した二相分の電流の検出結果に基づいてロータの回転位置を推定する。また、位置推定部23は、V相およびW相に対応した二相分の電流の検出結果に基づいてロータの回転位置を推定する。さらに、位置推定部23は、W相およびU相に対応した二相分の電流の検出結果に基づいてロータの回転位置を推定する。
故障検出処理部24は、電流検出部の故障を検出するための故障検出処理を実行することができる。詳細は後述するが、故障検出処理は、位置センサ10により検出されるロータの回転位置である検出位置と位置推定部23により推定されるロータの回転位置である推定位置とを比較した結果に基づいて電流検出部の故障を検出する処理である。なお、検出位置は、位置検出信号Spに基づいて取得される。故障検出処理部24は、モータ電流推定部21から与えられる可否信号が「可」である場合には故障検出処理を実行するが、可否信号が「否」である場合には故障検出処理を実行しない。
前述したように、本実施形態では、電流検出部は、センスセル20および検出回路4〜9により構成されている。したがって、この場合、電流検出部の故障には、検出回路4〜9の回路故障だけでなく、センスセル20を含むスイッチング素子13〜18の素子故障およびセンスセル20に関連する配線の断線などの配線故障も含まれる。
本実施形態の故障検出処理には、第1判定処理、第2判定処理、第3判定処理および故障判定処理が含まれている。第1判定処理は、検出位置とU相およびV相に対応した二相分の電流の検出結果を用いて推定された推定位置(以下、第1推定位置と称す)とを比較し、その第1推定位置が正常な値であるか否かを判定する処理である。
第2判定処理は、検出位置とV相およびW相に対応した二相分の電流の検出結果を用いて推定された推定位置(以下、第2推定位置と称す)とを比較し、その第2推定位置が正常な値であるか否かを判定する処理である。第3判定処理は、検出位置とW相およびU相に対応した二相分の電流の検出結果を用いて推定された推定位置(以下、第3推定位置と称す)とを比較し、その第3推定位置が正常な値であるか否かを判定する処理である。故障判定処理は、第1判定処理、第2判定処理および第3判定処理による判定結果に基づいて電流検出部の故障を検出する処理である。
次に、上記構成の作用について説明する。
[1]電流検出部の故障検出に関連する処理の全体の流れ
コントローラ11による処理のうち、電流検出部の故障検出に関連する処理は、図2に示すような内容の処理となる。まず、ステップS100では、電流検出信号I_up〜I_wnに基づいてスイッチング素子13〜18に流れる素子電流が検出されるとともに、位置検出信号Spに基づいてモータ2のロータの回転位置が検出される。
ステップS100における電流の検出と回転位置の検出とは同じタイミングで行われるようになっている。なぜなら、第1〜第3判定処理では、検出位置と推定位置とが比較され、その比較結果に基づいて推定位置が正常な値であるか否かが判定されるようになっている。ここで、電流の検出と回転位置の検出とが異なるタイミングで行われたとすると、電流検出部に故障などの異常が生じていなくても検出位置と推定位置とが大きく異なる可能性があり、そうすると、上記判定に誤りが生じるおそれがある。
このような誤判定を防止するため、上記比較は、同じタイミングにおける検出位置と推定位置とを用いて行う必要がある。したがって、本実施形態では、電流の検出と回転位置の検出とを同じタイミングで行うようにしている。なお、ここで言う「同じタイミング」とは、それぞれの検出タイミングが完全に同時であり、少しのずれも無いものだけでなく、上記した誤判定の発生を防止できる程度の多少のずれについては許容することができる。
また、この場合の検出タイミングは、モータ2の制御方式に対応した通常の検出タイミングとなる。例えば、三角波比較の制御方式の場合、キャリアである三角波信号が頂点、つまり最大値または最小値に達したタイミングが、通常の検出タイミングに相当する。
ステップS200では、ステップS100で検出された素子電流から相電流Iu、Iv、Iwを推定するモータ電流推定処理が実行される。なお、モータ電流推定処理の内容については後述する。ステップS300では、可否信号に基づいて、三相分の素子電流の検出ができ、それら素子電流の検出値から三相電流を推定したか否かが判断される。三相分の素子電流の検出ができなかった場合、ステップS300で「NO」となり、処理が終了となる。一方、三相分の素子電流の検出ができた場合、ステップS300で「YES」となり、ステップS400に進む。ステップS400では、電流検出部の故障を検出する故障検出処理が実行される。なお、故障検出処理の内容については後述する。
[2]モータ電流推定処理の内容
本実施形態のモータ電流推定処理は、図3に示すような内容の処理となっている。まず、ステップS201では、通常の検出タイミングにおいて三相分の素子電流を検出できたか否かが判断される。通常の検出タイミングにおいて三相分の素子電流を検出できた場合、ステップS201で「YES」となり、ステップS202に進む。
ステップS202では、検出された各素子電流の値から各相電流Iu、Iv、Iwの値が求められる。具体的には、相電流Iuの値がU相の素子電流の検出値に更新され、相電流Ivの値がV相の素子電流の検出値に更新され、相電流Iwの値がW相の素子電流の検出値に更新される。
なお、上述した各相の素子電流の検出値は、各相の上アームまたは下アームの素子電流の検出値であり、図3および以下の説明では、検出値I_u*、検出値I_v*、検出値I_w*と表す。ステップS202の実行後は、ステップS203に進む。この場合、三相分の素子電流を検出することができている。そのため、ステップS203において、可否信号が「可」に設定される。
通常の検出タイミングにおいて三相分の素子電流を検出できなかった場合、ステップS201で「NO」となり、ステップS204に進む。ステップS204では、U相の素子電流が検出できなかったか否かが判断される。U相の素子電流が検出できなかった場合、ステップS204で「YES」となり、ステップS205に進む。
ステップS205では、検出値I_v*、I_w*から各相電流Iu、Iv、Iwの値が求められる。具体的には、ステップS205では、相電流Ivの値が検出値I_v*に更新され、相電流Iwの値が検出値I_w*に更新される。また、相電流Iuの値は、検出値I_v*、I_w*を用いた計算により求められる。
すなわち、本実施形態の構成では、各回路が正常であれば、相電流Iu、Iv、Iwの総和がゼロとなる、つまり「Iu+Iv+Iv=0」が成立する。そこで、ステップS205では、相電流Iu、Iv、Iwの総和がゼロとなることを利用し、相電流Iuの値は、下記(1)式に基づいて計算される。
Iu=−I_v*−I_w* …(1)
一方、U相の素子電流が検出できた場合、ステップS204で「NO」となり、ステップS206に進む。ステップS206では、V相の素子電流が検出できなかったか否かが判断される。V相の素子電流が検出できなかった場合、ステップS206で「YES」となり、ステップS207に進む。
ステップS207では、検出値I_u*、I_w*から各相電流Iu、Iv、Iwの値が求められる。具体的には、ステップS207では、相電流Iuの値が検出値I_u*に更新され、相電流Iwの値が検出値I_w*に更新される。また、相電流Ivの値は、検出値I_u*、I_w*を用いた計算により求められる。この場合、相電流Ivの値は、ステップS205と同様、相電流Iu、Iv、Iwの総和がゼロとなることを利用し、下記(2)式に基づいて計算される。
Iv=−I_u*−I_w* …(2)
一方、V相の素子電流が検出できた場合、ステップS206で「NO」となり、ステップS208に進む。ステップS208では、検出値I_u*、I_v*から各相電流Iu、Iv、Iwの値が求められる。具体的には、ステップS208では、相電流Iuの値が検出値I_u*に更新され、相電流Ivの値が検出値I_v*に更新される。また、相電流Iwの値は、検出値I_u*、I_v*を用いた計算により求められる。この場合、相電流Iwの値は、ステップS205、S207と同様、相電流Iu、Iv、Iwの総和がゼロとなることを利用し、下記(3)式に基づいて計算される。
Iw=−I_u*−I_v* …(3)
ステップS205、S207またはS208の実行後は、ステップS209に進む。この場合、三相分の素子電流を検出することができていない。そのため、ステップS209において、可否信号が「否」に設定される。このようにする理由は、次の通りである。すなわち、三相分の素子電流を検出できなかった場合、素子電流を検出できなかった相の相電流は、上記(1)〜(3)式に基づいて計算される。
したがって、この場合、三相の総和は必ずゼロとなる。このように三相の総和が必ずゼロとなる状態では、後述する故障検出処理において正確な判定を行うことができない。このようなことから、三相分の素子電流を検出することができない場合、故障判定処理が実行されることがないように、可否信号が「否」に設定されるようになっている。ステップS203またはS209の実行後、モータ電流推定処理が終了となる。
上述したように、本実施形態のモータ電流推定処理では、三相分の素子電流を検出できなかった場合、素子電流を検出できなかった相がどの相であるかについて、U相→V相→W相の順で確認するようになっている。なお、このような確認のための処理の順番は、必ずしもこの順に限らずともよく、入れ替えてもよい。また、このような確認のための処理は、必ずしも図3に示すように逐次処理する必要はなく、並列処理するようにしてもよい。
[3]故障検出処理の内容
本実施形態の故障検出処理は、図4に示すような内容の処理となっている。まず、ステップS401では、U相およびV相に対応した二相分の電流の検出結果を用いて推定された第1推定位置が正常な値(以下、正常値と称す)であるか否かが判断される。
具体的には、ステップS401では、検出位置と第1推定位置とが比較され、その比較の結果、両者の差が所定の閾値未満である場合には第1推定位置が正常値であると判断され、両者の差が閾値以上である場合には第1推定位置が正常値ではないと判断される。なお、上記閾値は、上記構成における電流検出精度を含めた位置推定精度、位置センサ10の位置検出精度などを考慮したうえで、電流検出部の故障検出について、所望する検出精度が得られるような値に設定すればよい。
第1推定位置が正常値ではない場合、ステップS401で「NO」となり、ステップS402に進む。ステップS402では、V相およびW相に対応した二相分の電流の検出結果を用いて推定された第2推定位置が正常値であるか否かが判断される。具体的には、ステップS402では、検出位置と第2推定位置とが比較され、その比較の結果、両者の差が上記閾値未満である場合には第2推定位置が正常値であると判断され、両者の差が上記閾値以上である場合には第2推定位置が正常値ではないと判断される。
第2推定位置が正常値ではない場合、ステップS402で「NO」となり、ステップS403に進む。ステップS403では、W相およびU相に対応した二相分の電流の検出結果を用いて推定された第3推定位置が正常値であるか否かが判断される。具体的には、ステップS403では、検出位置と第3推定位置とが比較され、その比較の結果、両者の差が上記閾値未満である場合には第3推定位置が正常値であると判断され、両者の差が上記閾値以上である場合には第3推定位置が正常値ではないと判断される。また、第1推定位置が正常値である場合、ステップS401で「YES」となり、ステップS404に進む。ステップS404は、ステップS402と同じ内容の処理である。
ここで、第1推定位置が正常値であり、且つ第2推定位置が正常値ではない場合、ステップS401で「YES」になるとともにステップS404で「NO」となり、ステップS405に進む。この場合、第2推定位置が正常値ではないことからV相およびW相の電流検出部のうち少なくとも一方が故障していると考えられる。また、この場合、第1推定位置が正常値であることからU相およびV相の電流検出部は正常であると考えられる。
したがって、この場合、W相の電流検出部が故障していると特定することができる。そこで、ステップS405では、W相の電流検出部に故障が生じていると判断され、その後に実行される各種の制御においてW相の電流検出部による電流の検出結果を用いることが禁止される。
また、第1推定位置が正常値ではなく、且つ第2推定位置が正常値である場合、ステップS401で「NO」になるとともにステップS402で「YES」となり、ステップS406に進む。この場合、第1推定位置が正常値ではないことからU相およびV相の電流検出部のうち少なくとも一方が故障していると考えられる。また、この場合、第2推定位置が正常値であることからV相およびW相の電流検出部は正常であると考えられる。
したがって、この場合、U相の電流検出部が故障していると特定することができる。そこで、ステップS406では、U相の電流検出部に故障が生じていると判断され、その後に実行される各種の制御においてU相の電流検出部による電流の検出結果を用いることが禁止される。
また、第1推定位置および第2推定位置が正常値ではなく、且つ第3推定位置が正常値である場合、ステップS401およびS402で「NO」になるとともにステップS403で「YES」となり、ステップS407に進む。この場合、第1推定位置が正常値ではないことからU相およびV相の電流検出部のうち少なくとも一方が故障していると考えられる。また、この場合、第2推定位置が正常値ではないことからV相およびW相の電流検出部のうち少なくとも一方が故障していると考えられる。さらに、この場合、第3推定位置が正常値であることからW相およびU相の電流検出部は正常であると考えられる。
したがって、この場合、V相の電流検出部が故障していると特定することができる。そこで、ステップS407では、V相の電流検出部に故障が生じていると判断され、その後に実行される各種の制御においてV相の電流検出部による電流の検出結果を用いることが禁止される。
また、第1推定位置、第2推定位置および第3推定位置が正常値ではない場合、ステップS401、S402およびS403で「NO」となり、ステップS408に進む。この場合、第1推定位置、第2推定位置および第3推移位置の全てが正常値ではないことから少なくとも2相に対応する電流検出部、つまり2つ以上の電流検出部が故障していると考えられる。そこで、ステップS408では、2つ以上の電流検出部に故障が生じていると判断される。
また、第1推定位置および第2推定位置が正常値である場合、ステップS401およびS402で「YES」となり、ステップS409に進む。この場合、3相の電流検出部の全てが正常であると考えられるため、モータ2の制御を継続することが可能である。そのため、ステップS409において、制御継続可能であると判定され、処理が終了となる。
また、ステップS405、S406またはS407の実行後も、ステップS409に進む。この場合も、2相の電流検出部が正常であると考えられるため、モータ2の制御を継続することが可能である。そのため、ステップS409において、制御継続可能であると判定され、処理が終了となる。
一方、ステップS408の実行後は、ステップS410に進む。この場合、3相の電流検出部のうち、少なくとも2つ以上の電流検出部が故障していると考えられるため、モータ2の制御を継続することが不可能である。そのため、ステップS410において、制御継続不可であると判定され、処理が終了となる。
図4に示した各処理において、ステップS401が第1判定処理に相当し、ステップS402およびS404が第2判定処理に相当し、ステップS403が第3判定処理に相当する。また、ステップS405、S406、S407およびS408が故障判定処理に相当する。
上述したように、本実施形態の故障検出処理では、検出位置と推定位置との比較を、推定位置を推定するために用いる電流の検出結果を変更しつつ実行することにより、故障した電流検出部を特定するようになっている。つまり、本実施形態の故障検出処理では、第1判定処理、第2判定処理および第3判定処理を所定の順番で組み合わせて実行することにより、故障した電流検出部を特定するようになっている。なお、このような順番は、必ずしも図4に示した順に限らずともよく、入れ替えてもよい。また、これらの処理は、必ずしも図4に示すように逐次処理する必要はなく、並列処理するようにしてもよい。
以上説明した本実施形態によれば、次のような効果が得られる。
本実施形態の三相インバータ装置1のコントローラ11は、位置センサ11により検出されるロータの回転位置である検出位置と位置推定部23により推定されるロータの回転位置である推定位置とを比較した結果に基づいて電流検出部の故障を検出する故障検出処理を実行する故障検出処理部24を備えている。このような構成によれば、検出位置および推定位置を比較した結果に基づいて電流検出部の故障を検出する故障検出処理が実行されることにより、故障した電流検出部を特定することができる。すなわち、検出位置と推定位置とが不一致である場合、その推定位置を推定するために用いられた電流の検出結果に対応した電流検出部のいずれかが故障している、と判断することができる。そして、このような検出位置と推定位置との比較を、推定位置を推定するために用いる電流の検出結果を変更しつつ実行すれば、故障した電流検出部を特定することができる。
また、このような故障検出処理は、主に演算を行うことにより実施されるものであり、その所要時間は、前述した第2従来構成では必要であったモータ制御期間に比べ、極めて短い時間となる。したがって、本実施形態によれば、故障した電流検出部を特定することを可能にしつつ、その特定に要する期間を短く抑えることができるという優れた効果が得られる。
以下、このような本実施形態と第2従来構成との差異について、図5および図6を参照して説明する。なお、図5において、最上段は実際の三相のモータ電流を示し、上から2段目は検出された三相のモータ電流(電流の検出結果)を示し、上から三段目は入力電流のリプル判定の結果を示し、最下段はトルク出力を示している。また、図6において、最上段は実際の三相のモータ電流を示し、上から2段目は検出された三相のモータ電流(電流の検出結果であり、モータ電流推定部21により推定された相電流Iu、Iv、Iwに相当)を示し、上から三段目は第1推定位置、第2推定位置および第3推定位置の判定結果を示し、最下段はトルク出力を示している。
図5に示すように、第2従来構成では、フィードバック結果(入力電流のリプル)を用いた故障判定であるため、例えばU相の電流検出部に故障が発生した場合、その故障が発生した後、直ちに判定結果が「異常」とはならず(故障フラグが立たず)、故障発生から故障フラグが立つまでの間に所定の遅延時間Taが存在する。
また、第2従来構成では、誤検出を防止するため、故障検出を確定させるための時間Tb、Tc、Tdが必要となる。その結果、第2従来構成では、U相の電流検出部に故障が発生してから故障した電流検出部が特定されるまでに比較的長い期間を要し、その期間は故障したU相の電流検出部による電流検出値を用いた制御が継続されることになる。そのため、上記期間において、一時的にモータのトルクが不安定(トルク過多、過少の状態)になってしまう。
これに対し、図6に示すように、本実施形態では、フィードバック結果を用いた故障判定ではないため、例えばU相の電流検出部に故障が発生した場合、その故障が発生した後、直ちに判定結果が「異常」となり(故障フラグが立ち)、故障発生から故障フラグが立つまでの間にほとんど遅延時間は存在しない。
また、本実施形態では、故障検出を確定させるための時間Teとしては、故障検出に関する処理を実行するための演算に要する時間だけでよく、第2従来構成における時間Tb、Tc、Tdの合計時間に比べて非常に短い時間となる。その結果、本実施形態では、U相の電流検出部に故障が発生してから故障した電流検出部が特定されるまでに要する期間が比較的短い期間となる。そのため、本実施形態によれば、第2従来構成に比べ、モータ2のトルクが不安定になる期間を短い期間に抑えることができる。
本実施形態の故障検出処理には、検出位置と第1推定位置とを比較し、第1推定位置が正常な値であるか否かを判定する第1判定処理と、検出位置と第2推定位置とを比較し、第2推定位置が正常な値であるか否かを判定する第2判定処理と、検出位置と第3推定位置とを比較し、第3推定位置が正常な値であるか否かを判定する第3判定処理と、第1判定処理、第2判定処理および第3判定処理による判定結果に基づいて電流検出部の故障を検出する故障判定処理と、が含まれている。
このような故障検出処理によれば、3相の電流検出部のうち、1つの電流検出部が故障した場合には、その故障した電流検出部を特定することができる。そのため、本実施形態によれば、1つの電流検出部が故障した場合でも、正常な残りの2相の電流検出部を用いて安定した制御を継続することができる。また、上記故障検出処理によれば、1つの電流検出部が故障した後にモータ制御が継続されている際、新たに別の電流検出部が故障した場合には、その故障を検出することができる。さらに、上記故障検出処理によれば、モータ2の制御中、3相の電流検出部のうち、2つ以上の電流検出部が故障したことを検出することができる。
三相のハーフブリッジ回路3u、3v、3wを構成するスイッチング素子13〜18は、メインセル19およびセンスセル20を備えた構成である。そして、本実施形態の電流検出部を構成する検出回路4〜9は、センスセル20に流れる電流に基づいてスイッチング素子13〜18に流れる素子電流を検出する構成となっている。このような構成によれば、相電流Iu、Iv、Iwを検出する電流センサを設けた構成に比べ、装置の製造コストを低く抑えるとともに、装置の体格を小さく抑えることができる。そして、本実施形態の故障検出処理によれば、このような素子電流検出の構成の電流検出部についての故障を検出することができ、その故障検出に関して上述したような効果を得ることができる。
(第2実施形態)
以下、第2実施形態について図7を参照して説明する。
第2実施形態では、故障検出処理の内容が第1実施形態と異なっている。なお、三相インバータ装置1の構成は、第1実施形態と共通する。
本実施形態の位置推定部23は、第1推定位置、第2推定位置および第3推定位置の推定に加え、U相、V相およびW相に対応した三相分の電流の検出結果に基づいてロータの回転位置を推定する。また、本実施形態の故障検出処理には、さらに、検出位置と三相分の電流の検出結果を用いて推定された推定位置(以下、第4推定位置と称す)とを比較し、その第4推定位置が正常な値であるか否かを判定する第4判定処理が含まれている。
この場合、故障検出処理では、第4判定処理が実行された結果、第4推定位置が正常な値であると判定された場合には全ての電流検出部が故障していないと判定され、第4推定位置が正常な値ではないと判定された場合、第1判定処理、第2判定処理および第3判定処理が実行されるようになっている。
このような本実施形態の故障検出処理は、図7に示すような内容の処理となっている。図7に示すように、本実施形態の故障検出処理では、第1実施形態の故障検出処理のステップS404に代えてステップS421が設けられている。ステップS421は、第4判定処理に相当する処理であり、故障検出処理が開始されると、最初に実行される。
ステップS421では、三相分の電流の検出結果を用いて推定された第4推定位置が正常値であるか否かが判断される。具体的には、ステップS421では、検出位置と第4推定位置とが比較され、その比較の結果、両者の差が上記閾値未満である場合には第4推定位置が正常値であると判断され、両者の差が上記閾値以上である場合には第4推定位置が正常値ではないと判断される。
第4推定位置が正常値である場合、ステップS421で「YES」となり、ステップS409に進む。この場合、3相の電流検出部の全てが正常であると考えられるため、モータ2の制御を継続することが可能である。そのため、ステップS409において、制御継続可能であると判定され、処理が終了となる。
一方、第4推定位置が正常値ではない場合、ステップS421で「NO」となり、ステップS401に進む。この場合、3相の電流検出部のうち、少なくとも1つに故障が生じていると考えられる。そのため、ステップS401〜S403が実行されることにより故障している電流検出部の特定を試み、その結果に応じてステップS405〜S408の何れかに進むこととなる。
なお、本実施形態におけるステップS401〜S410の処理の流れおよび内容は、第1推定位置が正常値である場合、つまりステップS401で「YES」の場合にステップS405に進むという点を除けば、第1実施形態におけるステップS401〜S410の処理の流れおよび内容と同様であるため、その説明は省略する。
以上説明したように、本実施形態の故障検出処理では、最初に第4判定処理が実行されるようになっており、その第4判定処理において第4推定位置が正常値であると判定された場合、全ての電流検出部に故障が生じていないと判断されて、モータ2の制御が継続される。このようにすれば、電流検出部に故障が生じていない定常時、故障検出処理では1つの処理(ステップS421)が実行されるだけでモータ2の制御を継続してもよい、との判断に至ることができる。
これに対し、第1実施形態では、定常時、故障検出処理では2つの処理(ステップS401およびS402)を実行しなければモータ2の制御を継続してもよい、との判断に至ることができない。したがって、本実施形態の故障検出処理によれば、第1実施形態の故障検出処理に比べ、定常時におけるコントローラ11における処理負荷を軽減することができるという効果が得られる。
(第3実施形態)
以下、第3実施形態について図8および図9を参照して説明する。
図8に示すように、本実施形態の三相インバータ装置31は、第1実施形態の三相インバータ装置1に対し、コントローラ11に代えてコントローラ32を備えている点などが異なる。コントローラ32は、コントローラ11に対し、三相総和算出部33が追加されている点などが異なる。
三相総和算出部33は、モータ電流推定部21により推定された相電流Iu、Iv、Iw、つまり三相電流の総和の絶対値を算出し、その算出結果を故障検出処理部24へ出力する総和算出処理を実行することができる。この場合、三相総和算出部33には、モータ電流推定部21から出力される可否信号が与えられている。三相総和算出部33は、可否信号が「可」である場合には総和算出処理を実行するが、可否信号が「否」である場合には総和算出処理を実行しない。なお、三相総和算出部33は、可否信号にかかわらず、常に総和算出処理を実行するような構成でもよい。
本実施形態の故障検出処理には、第2実施形態の故障検出処理に含まれる各処理に加え、総和判定処理が含まれている。総和判定処理は、第1判定処理、第2判定処理、第3判定処理および第4判定処理の全てにおいて推定位置が正常ではないと判定された場合に実行される処理であって、三相電流の総和が正常な値であるか否かを判定する処理である。
そして、本実施形態の故障検出処理では、総和判定処理において三相電流の総和が正常な値であると判定された場合、位置センサ10が故障していると判定され、総和判定処理において三相電流の総和が正常な値ではないと判定された場合、二相分の電流検出部が故障していると判定されるようになっている。
このような本実施形態の故障検出処理は、図9に示すような内容の処理となっている。図9に示すように、本実施形態の故障検出処理は、第2実施形態の故障検出処理に対し、ステップS431およびS432が追加されている点などが異なる。ステップS431は、総和判定処理に相当する処理であり、ステップS421およびS401〜S403の全てで「NO」の場合に実行される。
ステップS421では、三相電流の総和の絶対値(以下、三相の総和と省略する)が正常値であるか否かが判断される。具体的には、ステップS421では、三相の総和が所定の判定閾値未満である場合には三相の総和が正常値であると判断され、三相の総和が上記判定閾値以上である場合には三相の総和が正常値ではないと判断される。
前述したように、本実施形態では、三相電流の総和がゼロとなる構成になっている。そのため、電流検出部が正常であれば、三相総和算出部により算出される三相の総和は、ゼロとなる。したがって、三相の総和がゼロであるか否かにより、三相の総和が正常値であるか否かを判断することができる。
ただし、電流検出に関する構成における各種の誤差の影響により、電流検出部が正常である場合でも、算出される三相の総和が完全にゼロにならないことも考えられる。そのため、本実施形態では、上記判定閾値は、このような誤差の影響により誤判定が生じないような値、例えばゼロよりも所定のマージン分だけ大きい値に設定されている。
ここで、三相の総和が判定閾値以上である場合、ステップS431で「NO」となり、ステップS408に進む。この場合、第1〜第4推定位置および三相の総和の全てが正常値ではないことから、少なくとも2相に対応する電流検出部および位置センサ10の一方または双方が故障していると考えられる。そこで、ステップS408へと進み、その後、ステップS410において制御継続不可であると判定され、処理が終了となる。
一方、三相の総和が判定閾値未満である場合、ステップS431で「YES」となり、ステップS432に進む。この場合、第1〜第4推定位置が正常値ではないと判断されているとともに、三相の総和が正常値であると判断されている。そのため、この場合、電流検出部は正常であるものの、位置センサ10に故障が生じているために、第1〜第4推定位置が正常値ではないと判断されていると考えられる。
そこで、ステップS432では、位置センサ10に故障が生じていると判断される。この場合、3相の電流検出部の全てが正常であると考えられるため、モータ制御に用いられるロータの回転位置を検出値から推定値に切り替えることによりモータ2の制御を継続することができる。上記切り替えは、駆動制御部22に対し、位置検出信号Spに代えて位置推定部23により推定された推定位置を与えるようにすることで実現することが可能である。したがって、ステップS432の実行後、ステップS409に進み、制御継続可能であると判定され、処理が終了となる。
以上説明したように、本実施形態の故障検出処理では、第1〜第4推定位置が全て正常値ではないと判定された場合に、三相の総和が正常値であるか否かを判定する総和判定処理が実行されるようになっている。このようにすれば、第1〜第4推定位置が全て正常値ではないと判定された際、2つ以上の電流検出部が故障しているのか、あるいは位置センサ10が故障しているのかを判別することが可能となる。そして、位置センサ10が故障していることが特定された場合、モータ制御に用いられるロータの回転位置を検出値から推定値へと切り替えることにより、モータ2の制御を継続することができる。
(第4実施形態)
以下、第4実施形態について図10〜図14を参照して説明する。
前述したように、電流検出部として素子電流検出の構成を採用した場合、通常の検出タイミングにおいて三相分の素子電流を検出できないことがある。特に、三角波比較の制御方式において、高出力や高回転でモータ2が制御される場合、キャリア頂点と駆動信号のオンパルス幅が短い期間とが連続して重なることがあり、三相分の素子電流を検出することができずに故障判定処理を実行することができない期間が継続するおそれがある。
図10には、このように連続して三相分の素子電流を検出できない状態の一例が示されている。なお、図10において、最上段はモータ制御波形、具体的にはキャリアである三角波信号、U相変調波信号、V相変調波信号およびW相変調波信号を示し、上から2段目は駆動波形、具体的にはU相駆動信号、V相駆動信号およびW相駆動信号を示し、上から3段目は推定された三相電流の波形を示している。
図10に示す例の場合、通常の検出タイミングである時刻t1〜t13の全てにおいて三相分の素子電流を検出することができておらず、その結果、比較的長い期間にわたって故障判定処理を実行することができない。故障判定処理を実行することができない期間が長期化すると、電流検出部に故障が生じた際、その検出が遅れてしまうおそれがある。
仮に、二相分の素子電流しか検出できない状態で上記各実施形態における故障検出処理を実行したとしても、電流検出部の故障の有無を判断することはできるものの、その故障した電流検出部を特定することができない。以下、この理由について、図10を参照して説明する。
なお、図10の最下段には、各相の電流検出可否および故障の特定に関する情報、具体的には、各相の上下アームのいずれに対応した電流検出部による電流の検出結果を用いて推定位置が正常値であるか否かの判定を行ったかという情報、その判定の結果(正常または異常)を表す情報(以下、推定位置の判定情報とも呼ぶ)、電流検出部の故障の有無(可能性)および故障した電流検出部を特定できたか否かという情報が示されている。
図10に示すように、この場合、時刻t4、t6、t11では、U相およびV相に対応した二相分の電流の検出結果を用いた第1判定処理を実行することができるものの、第2、第3判定処理を実行することはできない。また、時刻t2、t5、t7、t9、t12では、V相およびW相に対応した二相分の電流の検出結果を用いた第2判定処理を実行することができるものの、第1、第3判定処理を実行することはできない。また、時刻t1、t3、t8、t10では、U相およびW相に対応した二相分の電流の検出結果を用いた第3判定処理を実行することができるものの、第1、第2判定処理を実行することができない。
そのため、例えば時刻t2とt3の間の所定のタイミングにおいてV相上アームに対応した電流検出部に故障が生じた場合、時刻t4において実行される第1判定処理などによって電流検出部のいずれかに故障が生じていることは検出できるものの、故障した電流検出部を特定することはできない。そこで、本実施形態では、このような問題を解消するための工夫が加えられている。
図11に示すように、本実施形態の三相インバータ装置41は、第1実施形態の三相インバータ装置1に対し、コントローラ11に代えてコントローラ42を備えている点などが異なる。コントローラ42は、コントローラ11に対し、記憶部43が追加されている点、故障検出処理部24に代えて故障検出処理部44を備えている点などが異なる。
記憶部43には、図10の最下段に示された各相の電流検出可否および故障の特定に関する情報と同様の情報が記憶される。つまり、記憶部43には、各相の上下アームのいずれに対応した電流検出部による電流の検出結果を用いて推定位置が正常値であるか否かの判定を行ったかという情報およびその判定の結果が対応付けられた情報と、電流検出部の故障についての可能性の有無を表す情報と、故障した電流検出部を特定できたか否かという情報とが記憶される。
故障検出処理部44は、第1〜第3実施形態の故障検出処理部24と同様の故障検出処理(以下、第1故障検出処理と称す)に加え、それとは異なる内容の故障検出処理(以下、第2故障検出処理と称す)を実行することができる。故障検出処理部44は、モータ電流推定部21から与えられる可否信号が「可」である場合には第1故障検出処理を実行し、可否信号が「否」である場合には第2故障検出処理を実行する。
次に、上記構成の作用について説明する。
[1]電流検出部の故障検出に関連する処理の全体の流れ
図12に示すように、本実施形態の電流検出部の故障検出に関連する処理は、第1実施形態の電流検出部の故障検出に関連する処理に対し、ステップS500が追加された内容となっている。
本実施形態では、三相分の素子電流の検出ができた場合、ステップS300で「YES」となり、ステップS400に進み、第1故障検出処理が実行される。なお、第1故障検出処理としては、図4、図7および図9に示した故障検出処理のうちいずれかの処理を採用することができる。一方、三相分の素子電流の検出ができなかった場合、ステップS300で「NO」となり、ステップS500に進み、第2故障検出処理が実行される。なお、第2故障検出処理の内容については後述する。
[2]第2故障検出処理の内容
第2故障検出処理は、図13に示すような内容の処理となっている。まず、ステップS501では、今回検出された2つのアームに対応した電流検出部による電流の検出結果を用いてロータの回転位置が推定される。なお、以下では、今回検出された2つのアームに対応した電流検出部のことを、単に「今回のアーム」とも呼ぶ。ステップS502では、電流検出部に故障が生じている可能性がないかどうかが判断される。この判断は、記憶部43に記憶された情報に基づいて実施することができる。
ここで、電流検出部に故障が生じている可能性が無い場合、ステップS502で「YES」となり、ステップS503に進む。ステップS503では、ステップS501で推定された推定位置が正常値であるか否かが判断される。この判断は、前述した第1〜第3判定処理(ステップS401〜S403)と同様の手法で行うことができる。ここで、推定位置が正常値である場合、ステップS503で「YES」となり、ステップS504に進む。この場合、電流検出部に故障が生じている可能性がある、と判断することができないため、ステップS504において、制御継続可能であると判定され、処理が終了となる。
一方、推定位置が正常値ではない場合、ステップS503で「NO」となり、ステップS505に進む。ステップS505では、今回のアームを用いて判定が行われ、その判定の結果が「異常」であったという推定位置の判定情報と、電流検出部が故障している可能性が有るという情報とが記憶部43に記憶される。
また、既に電流検出部に故障が生じている可能性が有るという情報が記憶部43に記憶されている場合、ステップS502で「NO」となり、ステップS506に進む。ステップS506では、今回のアームの中に、推定位置の判定情報において「異常」が記憶されたアームが含まれているか否かが判断される。ここで、今回のアームの中に「異常」が記憶されたアームが含まれていない場合、ステップS506で「NO」となり、ステップS507に進む。
ステップS507は、ステップS503と同様の処理であり、ステップS501で推定された推定位置が正常値であるか否かが判断される。ここで、推定位置が正常値である場合、ステップS507で「YES」となり、ステップS504に進む。この場合、異常の可能性が有るアームに対応した電流検出部による電流の検出結果を用いることなく推定された推定位置が正常値であることから、今回のアームに対応した二相の電流検出部に故障は生じていないと考えられる。そのため、ステップS504において、制御継続可能であると判定され、処理が終了となる。
一方、推定位置が正常値ではない場合、ステップS507で「NO」となり、ステップS508に進む。この場合、異常の可能性が有るアームに対応した電流検出部による電流の検出結果を用いることなく推定された推定位置が正常値ではないことから、今回のアームに対応した二相の電流検出部のうち少なくとも一方に故障が生じていると考えられる。つまり、この場合、3相の電流検出部のうち、少なくとも2つ以上の電流検出部が故障していると考えられるため、モータ2の制御を継続することが不可能である。そのため、ステップS509に進み、制御継続不可であると判定され、処理が終了となる。
また、今回のアームの中に「異常」が記憶されたアームが含まれている場合、ステップS506で「YES」となり、ステップS510に進む。ステップS510では、今回のアームの中に「異常」が記憶されたアームが1つだけ含まれているか否かが判断される。ここで、今回のアームの両方が「異常」が記憶されたアームである場合、ステップS510で「NO」となり、ステップS504に進む。この場合、同じ2つのアームの組み合わせを用いた判定が既に行われており、その判定の結果として「異常」が記憶されていることになる。したがって、この場合、2つ以上の電流検出部が故障していると判断することおよび故障している電流検出部を特定することはできない。そのため、ステップS504において、制御継続可能であると判定され、処理が終了となる。
一方、今回のアームの中に「異常」が記憶されたアームが1つだけ含まれている場合、ステップS510で「YES」となり、ステップS511に進む。ステップS511は、ステップS503などと同様の処理であり、ステップS501で推定された推定位置が正常値であるか否かが判断される。ここで、推定位置が正常値ではない場合、ステップS511で「NO」となり、ステップS504に進む。
この場合、異常の可能性が有るアームが1つだけ含まれた電流の検出結果を用いて推定された推定位置が正常値ではないことから、今回のアームに対応した二相の電流検出部のうち少なくとも一方または双方に故障が生じていると考えられる。ただし、この場合、2つ以上の電流検出部が故障していると判断することおよび故障している電流検出部を特定することはできない。そのため、ステップS504において、制御継続可能であると判定され、処理が終了となる。
一方、推定位置が正常値である場合、ステップS511で「YES」となり、ステップS512に進む。この場合、異常の可能性が有る2つのアームのうちの一方が含まれた電流の検出結果を用いて推定された推定位置が正常値であることから、異常の可能性がある2つのアームのうちの他方に対応した電流検出部が故障していると考えられる。そこで、ステップS512では、異常の可能性がある2つのアームのうちの他方に対応した電流検出部が故障していると特定されるとともに、残りのアームが正常であることが特定され、それらを表す情報が記憶部43に記憶される。
この場合、2相の電流検出部が正常であると考えられるため、モータ2の制御を継続することが可能である。そのため、ステップS512の実行後は、ステップS504に進み、制御継続可能であると判定され、処理が終了となる。なお、図13に示した各処理において、ステップS503、S507およびS511は、検出位置と二相分の電流の検出結果を用いて推定された推定位置とを比較し、その推定位置が正常な値であるか否かを判定する判定処理に相当する。
以上説明したように、本実施形態のコントローラ42が備える故障検出処理部44は、可否信号が「否」である場合、つまり二相分の電流の検出結果しか得られない場合、その二相分の電流の検出結果を用いて行う第2故障検出処理を実行するようになっている。また、本実施形態のコントローラ42は、第2故障検出処理によって得られる各種の情報(各相の電流検出可否および故障の特定に関する情報)が記憶される記憶部43を備えている。このような構成によれば、駆動パルス幅が短い制御が連続するなどして通常の検出タイミングにおいて三相分の素子電流が検出できない状態が継続したとしても、電流検出部の故障を検出するとともに、その故障した電流検出部を特定することができる。
以下、このような本実施形態により得られる効果について、図14に示す具体的な例を参照して説明する。図14において、最上段はモータ制御波形、2段目は駆動波形、3段目は推定された三相電流の波形、最下段は各相の電流検出可否および故障の特定に関する情報を示している。図14に示すように、例えば時刻t2とt3の間の所定のタイミングにおいてV相上アームに対応した電流検出部に故障が生じた場合、次のようにして、電流検出部の故障が検出されるとともに、その故障した電流検出部が特定される。
すなわち、時刻t3では、U相下アームおよびW相下アームに対応した電流検出部による電流検出結果を用いた判定(第2故障検出処理)が行われる。この場合、上記各アームに対応した電流検出部はいずれも正常であるため、推定位置の判定情報として「正常」が記憶される。時刻t3において実行される第2故障検出処理の流れは、「S501→S502で「YES」→S503で「YES」→S504」となる。
時刻t4では、U相上アームおよびV相上アームに対応した電流検出部による電流検出結果を用いた判定が行われる。この場合、V相上アームに対応した電流検出部が故障しているため、推定位置の判定状態として「異常」が記憶されるとともに、電流検出部に故障が生じている可能性として「あり」が記憶される。ただし、この時点では、故障した電流検出部を特定することはできないため、故障特定は「×」となる。時刻t4において実行される第2故障検出処理の流れは、「S501→S502で「YES」→S503で「NO」→S505→S504」となる。
時刻t5では、V相下アームおよびW相下アームに対応した電流検出部による電流検出結果を用いた判定が行われる。この場合、上記各アームに対応した電流検出部はいずれも正常であるため、推定位置の判定情報として「正常」が記憶される。時刻t5において実行される第2故障検出処理の流れは、「S501→S502で「NO」→S506で「NO」→S507で「YES」→S504」となる。
時刻t6では、U相上アームおよびV相上アームに対応した電流検出部による電流検出結果を用いた判定が行われる。この場合、V相上アームに対応した電流検出部が故障しているため、推定位置の判定状態として「異常」が記憶されるとともに、電流検出部に故障が生じている可能性として「あり」が記憶される。ただし、この時点では、故障した電流検出部を特定することはできないため、故障特定は「×」となる。時刻t6において実行される第2故障検出処理の流れは、「S501→S502で「NO」→S506で「YES」→S510で「NO」→S504」となる。
時刻t7では、V相下アームおよびW相下アームに対応した電流検出部による電流検出結果を用いた判定が行われる。この場合、上記各アームに対応した電流検出部はいずれも正常であるため、推定位置の判定情報として「正常」が記憶される。時刻t7において実行される第2故障検出処理の流れは、「S501→S502で「NO」→S506で「NO」→S507で「YES」→S504」となる。
時刻t8では、U相上アームおよびW相上アームに対応した電流検出部による電流検出結果を用いた判定が行われる。この場合、上記各アームに対応した電流検出部はいずれも正常であるため、推定位置の判定状態として「正常」が記憶される。つまり、この時点において、U相上アームおよびV相上アームに対応した電流検出部の少なくとも一方が故障しているという情報と、U相上アームおよびW相上アームに対応した電流検出部がいずれも正常であるという情報とが得られたことになる。
これらの情報を総合すれば、V相上アームに対応した電流検出部が故障していることを特定することができる。したがって、この時点において、故障した電流検出部が「V相上」であることが特定される。なお、時刻t8において実行される第2故障検出処理の流れは、「S501→S502で「NO」→S506で「YES」→S510で「YES」→S511で「YES」→S512→S504」となる。
このように、本実施形態によれば、図14に示すように、通常の検出タイミングでの三相分の素子電流の検出が比較的長い期間にわたってできない場合でも、二相分の素子電流の検出結果に基づいて行われる第2故障検出処理が実行されることにより、電流検出部の故障を検出するとともに、その故障した電流検出部を特定することができる。したがって、本実施形態によれば、例えば三角波比較の制御方式において高出力や高回転でモータ2が制御される場合など、通常の検出タイミングにおいて三相分の素子電流を検出することができない状態が連続するような場合でも、電流検出部に故障が生じた際、その故障を素早く検出するとともに、その故障した電流検出部を特定することができる。
(その他の実施形態)
なお、本発明は上記し且つ図面に記載した各実施形態に限定されるものではなく、その要旨を逸脱しない範囲で任意に変形、組み合わせ、あるいは拡張することができる。
上記各実施形態で示した数値などは例示であり、それに限定されるものではない。
検出回路4〜9は、スイッチング素子13〜18に流れる素子電流を検出する構成であればよく、その具体的な構成は適宜変更可能である。例えば、ハーフブリッジ回路3u、3v、3wに流れる電流が比較的小さい場合、スイッチング素子13〜18としてセンスセル20を備えない構成を用いるとともに、メインセル19に流れる素子電流をシャント抵抗などにより直接検出する構成としてもよい。この場合、検出回路4〜9およびシャント抵抗などにより電流検出部が構成される。
電流検出部としては、スイッチング素子13〜18の素子電流を検出する構成に限らずともよく、ハーフブリッジ回路3u、3v、3wから出力される三相電流を検出するホール式の電流センサなどにより構成してもよい。このような構成を採用する場合、スイッチング素子13〜18としてセンスセル20を備えない構成を用いるとともに、検出回路4〜9を省くことができる。また、この場合、電流センサによる検出値がそのまま相電流Iu、Iv、Iwの値になり、また、素子電流検出の構成のように電流検出ができない期間が存在しない。そのため、上記構成を採用する場合、図2などに示した電流検出部の故障検出に関連する処理におけるステップS200およびS300の処理が不要となる。
ハーフブリッジ回路を構成するスイッチング素子としては、パワーMOSFETであるスイッチング素子13〜18に限らずともよく、例えばIGBTなど、種々のパワー素子、つまりパワーデバイスを用いることができる。
第3実施形態では、三相電流の総和の絶対値を求め、その絶対値と判定閾値との比較を行うようにしていたが、三相電流の総和の絶対値を求めなくともよい。この場合、ステップS421について、判定閾値をプラスとマイナスの2つの閾値として、三相電流の総和が、マイナスの閾値からプラスの閾値の範囲内の値に含まれるか否かを判断するように変更を加えればよい。
本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。