(57)【特許請求の範囲】
【請求項１】
３相モータの駆動を制御するモータ制御装置であって、
前記３相モータを駆動するための３相交流電流を前記３相モータに与える駆動手段と、
前記３相モータに与えるべき３相交流電流を前記駆動手段に指示する制御手段と
前記３相モータに与えられる３相交流電流のうちの少なくとも２相の電流値を検知する電流検知手段と、
前記３相モータの回転角度を検知する角度検知手段と、
前記角度検知手段によって検知される回転角度が予め定められた値となる時点で前記電流検知手段によって検知された各電流値を取得し、当該検知された各電流値を用いてモータ制御装置の異常を検出する異常検出手段とを備え、
前記異常検出手段は、
前記２相の各電流値について、電流値が０になると予想される時点において検知される電流値を取得する取得手段と、
前記２相の各電流値の少なくともいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、異常と判断する判断手段とを含み、
前記判断手段は、
前記２相の各電流値のいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、推測される異常原因が、当該一方の電流値が検知された前記電流検知手段であることを示す情報を記憶し、
前記２相の各電流値の両方について、取得された電流値の絶対値が予め定められた所定値以上である場合において、検知された前記２相の各電流値の絶対値の差分が予め定められた所定値よりも小さければ、推測される異常原因が前記角度検知手段であることを示す情報を記憶し、当該差分が当該所定値以上であれば、推測される異常原因が前記電流検知手段であることを示す情報を記憶する、モータ制御装置。
【請求項２】
３相モータの駆動を制御するモータ制御装置であって、
前記３相モータを駆動するための３相交流電流を前記３相モータに与える駆動手段と、
前記３相モータに与えるべき３相交流電流を前記駆動手段に指示する制御手段と
前記３相モータに与えられる３相交流電流のうちの少なくとも２相の電流値を検知する電流検知手段と、
前記３相モータの回転角度を検知する角度検知手段と、
前記角度検知手段によって検知される回転角度が予め定められた値となる時点で前記電流検知手段によって検知された各電流値を取得し、当該検知された各電流値を用いてモータ制御装置の異常を検出する異常検出手段とを備え、
前記異常検出手段は、
前記２相の各電流値について、電流値が極大値になると予想される時点において検知される電流値を検知極大値として取得するとともに、電流値が極小値になると予想される時点において検知される電流値を検知極小値として取得する取得手段と、
前記２相の各電流値の少なくともいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、異常と判断する判断手段とを含み、
前記判断手段は、
前記２相の各電流値のいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、推測される異常原因が、当該一方の電流値が検知された前記電流検知手段であることを示す情報を記憶し、
前記２相の各電流値の両方について、取得された電流値の絶対値が予め定められた所定値以上である場合において、前記２相の各電流値についてともに、前記検知極大値の絶対値と前記検知極小値の絶対値との差分が予め定められた所定値よりも小さくなれば、推測される異常原因が前記角度検知手段であることを示す情報を記憶し、前記２相の各電流値の少なくとも一方について、前記検知極大値の絶対値と前記検知極小値の絶対値との差分が当該所定値以上となれば、推測される異常原因が前記電流検知手段であることを示す情報を記憶する、モータ制御装置。
【請求項３】
３相モータの駆動を制御するモータ制御装置の異常を検出する方法であって、
前記３相モータを駆動するための３相交流電流を前記３相モータに与える駆動ステップと、
前記駆動ステップで前記３相モータに与えるべき３相交流電流を制御する制御ステップと、
前記３相モータに与えられる３相交流電流のうちの少なくとも２相の電流値を検知する電流検知ステップと、
前記３相モータの回転角度を検知する角度検知ステップと、
前記角度検知ステップにおいて検知される回転角度が予め定められた値となる時点で前記電流検知ステップによって検知された各電流値を取得し、当該検知された各電流値を用いてモータ制御装置の異常を検出する異常検出ステップとを備え、
前記異常検出ステップは、
前記２相の各電流値について、電流値が０になると予想される時点において検知される電流値を取得するステップと、
前記２相の各電流値の少なくともいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、異常と判断するステップとを含み、
前記異常と判断するステップにおいて、
前記２相の各電流値のいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、推測される異常原因が、当該一方の電流値が検知された前記電流検知ステップにあることを示す情報を記憶し、
前記２相の各電流値の両方について、取得された電流値の絶対値が予め定められた所定値以上である場合において、検知された前記２相の各電流値の絶対値の差分が予め定められた所定値よりも小さければ、推測される異常原因が前記角度検知ステップにあることを示す情報を記憶し、当該差分が当該所定値以上であれば、推測される異常原因が前記電流検知ステップにあることを示す情報を記憶する、異常検出方法。
【請求項４】
３相モータの駆動を制御するモータ制御装置の異常を検出する方法であって、
前記３相モータを駆動するための３相交流電流を前記３相モータに与える駆動ステップと、
前記駆動ステップで前記３相モータに与えるべき３相交流電流を制御する制御ステップと、
前記３相モータに与えられる３相交流電流のうちの少なくとも２相の電流値を検知する電流検知ステップと、
前記３相モータの回転角度を検知する角度検知ステップと、
前記角度検知ステップにおいて検知される回転角度が予め定められた値となる時点で前記電流検知ステップによって検知された各電流値を取得し、当該検知された各電流値を用いてモータ制御装置の異常を検出する異常検出ステップとを備え、
前記異常検出ステップは、
前記２相の各電流値について、電流値が極大値になると予想される時点において検知される電流値を検知極大値として取得するとともに、電流値が極小値になると予想される時点において検知される電流値を検知極小値として取得するステップと、
前記２相の各電流値の少なくともいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、異常と判断するステップとを含み、
前記異常と判断するステップにおいて、
前記２相の各電流値のいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、推測される異常原因が、当該一方の電流値が検知された前記電流検知ステップにあることを示す情報を記憶し、
前記２相の各電流値の両方について、取得された電流値の絶対値が予め定められた所定値以上である場合において、前記２相の各電流値についてともに、前記検知極大値の絶対値と前記検知極小値の絶対値との差分が予め定められた所定値よりも小さくなれば、推測される異常原因が前記角度検知ステップにあることを示す情報を記憶し、前記２相の各電流値の少なくとも一方について、前記検知極大値の絶対値と前記検知極小値の絶対値との差分が当該所定値以上となれば、推測される異常原因が前記電流検知ステップにあることを示す情報を記憶する、異常検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置および異常検出方法に関し、より特定的には、電動車両等に用いられるモータ制御装置およびそれにおいて用いられる異常検出方法に関する。
【背景技術】
【０００２】
従来、バッテリー等から供給される直流電流をインバータ等によって３相交流電流に変換し、３相モータを駆動させるモータ制御装置がある。このようなモータ制御装置において、モータ制御装置の異常を検出する技術が考えられている。例えば特許文献１には、３相モータに出力される電流を検出するための電流センサを設け、この電流センサを用いて、モータ制御装置の異常を検出する異常検出装置が開示されている。この異常検出装置では、３相モータに供給されるＵ相、Ｖ相、およびＷ相の電流のうち、２相の電流を電流センサによって検知する。異常検出装置は、２相の電流を１周期の間読み込んだ後、各相の電流の最大値および最小値を算出する。そして、一方の相の電流の最大値（最小値）と他方の相の電流の最大値（最小値）とを比較することによって、電流センサ（モータ駆動装置）の異常を検出する。
【特許文献１】特開２０００−２２８８９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記特許文献１では、電流センサで電流が検知される２相のそれぞれについて１周期分の電流値のデータを記憶する必要があるので、モータ制御装置の記憶手段において十分な記憶領域を用意しなければならない。また、電流センサの異常を判定するためには、上記２相のそれぞれについて、１周期分の電流値のデータから電流の最大値および最小値を算出しなければならず、制御装置における処理負荷が大きい。
【０００４】
それ故、本発明の目的は、簡易な構成でモータ制御装置の異常を検出できるようにすることにある。
【課題を解決するための手段】
【０００５】
上記のような目的を達成するために、本発明は、以下に示すような特徴を有している。第１の発明は、３相モータの駆動を制御するモータ制御装置である。モータ制御装置は、駆動手段、制御手段、電流検知手段、角度検知手段、および異常検出手段を備える。駆動手段は、３相モータを駆動するための３相交流電流を３相モータに与える。制御手段は、３相モータに与えるべき３相交流電流を駆動手段に指示する。電流検知手段は、３相モータに与えられる３相交流電流のうち少なくとも２相の電流値を検知する。角度検知手段は、３相モータの回転角度を検知する。異常検知手段は、電流検知手段によって検知された各電流値を取得し、検知された各電流値を用いてモータ制御装置の異常を検知する。
【０００６】
第２の発明は、上記第１の発明において、異常検知手段は、２相の各電流値について、電流値が０になると予想される時点において検知される電流値を取得する取得手段と、各電流値の少なくとも一方について、取得された電流値の絶対値が予め定められた所定値以上である場合に異常と判断する判断手段とを含む。
【０００７】
第３の発明は、上記第２の発明において、判断手段は、各電流値のいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、推測される異常原因が、一方の電流値が検知された電流検出手段であることを示す情報を記憶する。また、判断手段は、２相の各電流値の両方について、取得された電流値の絶対値が予め定められた所定値以上である場合において、検知された２相の各電流値の絶対値の差分が予め定められた所定値よりも小さければ、推測される異常原因が角度検知手段であることを示す情報を記憶する。さらに、差分が所定値以上であれば推測される異常原因が電流検知手段であることを示す情報を記憶する。
【０００８】
第４の発明は、上記第２の発明において、取得手段は、２相の各交流電流について、電流値が極大値になると予想される時点において検知される電流値を検知極大値として取得し、電流値が極小値になると予想される時点において検知される電流値を検知極小値として取得する。また、判断手段は、各電流値のいずれか一方について、取得された電流値の絶対値が予め定められた所定値以上である場合、推測される異常原因が、一方の電流値が検知された電流検出手段であることを示す情報を記憶する。また、各電流値の両方について、取得された電流値の絶対値が予め定められた所定値以上である場合において、２相の各電流値についてともに、検知極大値の絶対値と検知極小値の絶対値との差分が予め定められた所定値よりも小さくなれば、推測される異常原因が角度検知手段であることを示す情報を記憶する。さらに、２相の各電流値の少なくとも一方について、検知極大値の絶対値と検知極小値の絶対値との差分が所定値以上となれば、推測される異常原因が電流検知手段であることを示す情報を記憶する。
【０００９】
第５の発明は、上記第１の発明において、異常検知手段は、２相の各電流値について、電流値が極大値になると予想される時点において検知される電流値を取得する取得手段と、取得された２相の電流値同士の差分が予め定められた所定値以上である場合に異常と判断する判断手段とを含む。
【００１０】
第６の発明は、上記第１の発明において、異常検知手段は、２相の各電流値について、電流値が極小値になると予想される時点において検知される電流値を取得する取得手段と、取得された２相の電流値同士の差分が予め定められた所定値以上である場合に異常と判断する判断手段とを含む。
【００１１】
第７の発明は、上記第１の発明において、異常検知手段は、２相の各電流値について、電流値が互いに等しくなると予想される時点において検知される電流値を取得する取得手段と、２相の電流値同士の差分が予め定められた所定値以上である場合に異常と判断する判断手段とを含む。
【００１２】
第８の発明は、３相モータの駆動を制御するモータ制御装置の異常を検出する方法である。モータ制御装置は、角度検知ステップと異常検出ステップとを備える。角度検知ステップは、３相モータの回転角度を検知する。異常検知ステップは角度検知ステップにおいて検知される回転角度が予め定められた値となる時点で電流検知手段によって検知された各電流値を取得し、検知された各電流値を用いてモータ制御装置の異常を検出する。
【発明の効果】
【００１３】
上記第１の発明によれば、角度検出手段によって検出される３相モータの回転角度が、予め定められた値となる時点でのみ電流検出手段によって電流値を取得し、異常を判断することができる。したがって、簡易な構成でモータ制御装置の異常を検出することができる。
【００１４】
上記第２の発明によれば、電流値が０になると予想される時点において電流値を取得し、異常を判断することができる。これにより、交流電流を１周期に渡って取得する必要がなくなり、メモリ容量を削減することができる。
【００１５】
上記第３の発明によれば、電流値が０になると予想される時点において電流値を取得し、異常と判断された場合、２相の各電流値の絶対値を比較することにより、推測される異常原因が角度検出手段か電流検出手段かを判別することができる。
【００１６】
上記第４の発明によれば、電流値が０になると予想される時点において電流値を取得し、異常と判断された場合、電流値の検知極大値および検知極小値の絶対値を比較することにより、推測される異常原因が角度検出手段か電流検出手段かを判別することができる。
【００１７】
上記第５の発明によれば、２相の各電流値について、電流値が極大値になると予想される時点で電流値を取得しても異常を検出することができる。
【００１８】
上記第６の発明によれば、２相の各電流値について、電流値が極小値になると予想される時点で電流値を取得しても異常を検出することができる。
【００１９】
上記第７の発明によれば、２相の各電流値について、電流値が等しくなると予想される時点で電流値を取得しても異常を検出することができる。
【００２０】
上記第８の発明によれば、３相モータの回転角度を検知する角度検知ステップと角度検知ステップにおいて検知される回転角度が予め定められた値となる時点で電流検知手段によって検知された各電流値を取得する異常検出ステップとでモータ制御装置の異常を検出することができる。
【発明を実施するための最良の形態】
【００２１】
（第１の実施形態）
以下、本発明の第１の実施形態に係るモータ制御装置の構成および動作について説明する。図１は、第１の実施形態に係るモータ制御装置の構成を示すブロック図である。図１において、モータ制御装置は、モータ１０と、モータ制御部１１と、モータ駆動部１２と、第１の電流センサ１３と、第２の電流センサ１４とを備えている。本実施形態では、モータ制御装置が電気自動車において用いられる場合を例として説明する。なお、第１の実施形態では、モータ１０が請求項に記載の３相モータに、モータ駆動部１２が駆動手段にそれぞれ相当する。また、第１の電流センサ１３と第２の電流センサ１４とは請求項に記載の電流検知手段に相当する。
【００２２】
モータ１０は、３相モータであり、Ｕ相ステータコイル１０１と、Ｖ相ステータコイル１０２と、Ｗ相ステータコイル１０３の３つのステータコイルを有する。また、モータ１０は、モータ１０の回転角度を検知する角度センサ１０４を有する。具体的には、モータ１０は磁極対を備えたロータを有しており、角度センサ１０４は当該ロータの回転角度を検知する。角度センサ１０４によって検知された回転角度の情報は、モータ制御部１１に出力される。モータ制御部１１は、上記角度センサ１０４によって検知される回転角度から、モータ１０に与えられる交流電流の電気角θを知ることができる。なお、第１の実施形態では、角度センサ１０４は請求項に記載の角度検知手段に相当する。
【００２３】
モータ制御部１１は、モータ１０の駆動を制御する手段であり、ＣＰＵ（中央演算装置）およびメモリ等で構成される。具体的には、モータ制御部１１は、モータ１０において発生させるべきトルクを示す指令（トルク指令）を外部から取得する。トルク指令は、例えば、モータ制御装置が搭載されている電気自動車のアクセルペダルに対して行われる操作（アクセルペダルの踏み込み量）等に基づいて決められる。モータ制御部１１は、トルク指令を受けると、当該トルク指令に応じたトルクを発生させるための３相交流波形を作成する指示をモータ駆動部１２に対して行う。なお、第１の実施形態では、モータ制御部１１は請求項に記載の制御手段に相当する。
【００２４】
モータ駆動部１２は、モータ制御部１１からの指示に従って、上記トルク指令に応じた所望の振幅および位相を有するように、Ｕ相、Ｖ相および、Ｗ相の３相交流電流を生成する。本実施形態では、モータ駆動部１２は、インバータ回路等を有しており、電気自動車に搭載される直流バッテリーからの直流電流から上記３相交流電流を生成する。モータ駆動部１２によって生成された３相交流電流は、モータ１０へ出力される。すなわち、Ｕ相の電流ＩｕはＵ相ステータコイル１０１に、Ｖ相の電流ＩｖはＶ相ステータコイル１０２に、Ｗ相の電流ＩｗはＷ相ステータコイル１０３にそれぞれ出力される。その結果、モータ１０が駆動し、モータ１０のロータにトルクが発生する。
【００２５】
図２は、３相交流電流の一例を示す図である。図２に示すように、３相交流電流は、Ｕ相、Ｖ相およびＷ相の各電流の位相（電気角）が互いに２π／３（１２０°）ずれるように生成される。モータ制御部１１は、３相交流電流が所望の振幅および位相となるようにモータ駆動部１２に指示を行う。換言すれば、モータ制御部１１は、電気角と各相の電流の電流値との関係、すなわち、電気角が任意の値をとる時点において電流値がとるべき値を知っている。
【００２６】
第１の電流センサ１３は、モータ駆動部１２のＵ相の出力端とＵ相ステータコイルとの間に接続され、Ｕ相の電流Ｉｕの大きさを検知する。また、第２の電流センサ１４は、モータ駆動部１２のＶ相の出力端とＶ相ステータコイルとの間に接続され、Ｖ相の電流Ｉｖの大きさを検知する。各電流センサ１３および１４の検知結果は、モータ制御部１１に出力される。なお、本実施形態および後述する第２〜第４の実施形態では、Ｕ相の電流値ＩｕとＶ相の電流値Ｉｖとを検知するように２つの電流センサを配置しているが、各電流センサは、３相のうちどの２相の電流値を検知するものであってもよい。
【００２７】
上記のような構成のモータ制御装置において、正常に動作している場合には各電流センサにおいて、モータ制御部１１が指示している電流値と同じ（ほぼ同じ）電流値が検知される。一方、モータ制御部１１が指示している電流値とは異なる電流値が検知された場合、モータ制御装置は異常であると判断される。例えば、図２に示すような３相交流電流を生成することをモータ制御部１１が指示している場合において、電気角θ＝１５０°の場合にＶ相の電流値（第２の電流センサ１４によって検知される電流値）が０［Ａ］であれば、モータ制御装置の動作は正常であると判断される。一方、電気角θ＝１５０°の場合にＶ相の電流値が０［Ａ］と異なっていれば、モータ制御装置の動作は異常であると判断される。本実施形態では、モータ制御装置の異常を検出するための動作（処理）は、モータ制御部１１によって行われる。つまり、本実施形態では、モータ制御部１１が請求項に記載の異常検出手段に相当する。本実施形態では、モータ制御部１１は、モータ１０を制御する機能に加えて、モータ制御装置の異常を検出する機能を有するものとしたが、他の実施形態では、モータ制御装置の異常を検出する手段（回路）が、モータ１０を制御する手段（回路）とは別に設けられてもよい。以下、モータ制御装置の異常を検出するための動作を説明する。
【００２８】
以下、図３を参照して、モータ制御装置における異常検出動作について説明する。図３は、第１の実施形態に係るモータ制御装置のモータ制御部１１における処理の流れを示すフローチャートである。なお、ここでは、モータ制御部１１における処理のうち、モータ制御装置の異常を検出するための処理について主に説明する。また、ここでは、（正常であれば）図２に示す３相交流電流が生成・出力される場合を例として説明する。
【００２９】
図３に示すフローチャートは、モータ制御部１１が所定のプログラムを実行することにより行われる。また、図３に示すフローチャートに示される処理は、モータ制御装置の電源がＯＮ（例えば、モータ制御装置が搭載された車両のイグニッションスイッチがＯＮ）されることによって開始される。また当該処理は、後述する終了条件が満たされるか、または、モータ制御装置の電源がＯＦＦ（例えば、イグニッションスイッチがＯＦＦ）されることによって終了される。
【００３０】
図３において、まずステップＳ３０１において、モータ制御部１１は、モータ１０の回転角度を角度センサ１０４から取得し、電気角θを算出する。なお、ステップＳ３０１は所定時間間隔で繰り返し実行される。
【００３１】
ステップＳ３０１の次のステップＳ３０２において、モータ制御部１１は、現在の電気角（ステップＳ３０１で算出された電気角）θがθ＝９０°または２７０°であるか否かを判定する。判定結果が肯定である場合、ステップＳ３０３およびＳ３０４の処理が実行される。一方、判定結果が否定である場合、ステップＳ３０３およびＳ３０４の処理はスキップされてステップＳ３０５の処理が実行される。
【００３２】
ステップＳ３０３において、モータ制御部１１は、第１の電流センサ１３から電流値Ｉｕを取得し、ステップＳ３０４に処理を進める。さらにステップＳ３０４において、モータ制御部１１は、ステップＳ３０３で取得した電流値Ｉｕの情報をモータ制御部１１内のメモリに記憶する。なお、モータ制御部１１は、取得された電流値Ｉｕの情報のうちで最新のもののみをメモリに保存しておけばよい。ステップＳ３０４の後、ステップＳ３０５の処理が実行される。
【００３３】
ステップＳ３０５において、モータ制御部１１は、現在の電気角（ステップＳ３０１で算出された電気角）θがθ＝１５０°または３３０°であるか否かを判定する。判定結果が肯定である場合、ステップＳ３０６の処理が実行される。一方、判定結果が否定である場合、ステップＳ３０１の処理が再度実行される。
【００３４】
ステップＳ３０６において、モータ制御部１１は、第２の電流センサ１４から電流値Ｉｖを取得し、ステップＳ３０７に処理を進める。さらにステップＳ３０７において、モータ制御部１１は、ステップＳ３０６で取得した電流値Ｉｖの情報をモータ制御部１１内のメモリに記憶する。なお、モータ制御部１１は、取得された電流値Ｉｖの情報のうちで最新のもののみをメモリに保存しておけばよい。ステップＳ３０７の後、ステップＳ３０８の処理が実行される。
【００３５】
以上のように、モータ制御部１１は、角度センサ１０４を用いることで所定時間間隔でモータ１０の回転角度を検知し（ステップＳ３０１）、電気角θがθ＝９０°または２７０°のときのみ（ステップＳ３０２でＹｅｓ）、Ｕ相の電流値Ｉｕを取得する（ステップＳ３０３）。また、電気角θがθ＝１５０°または３３０°のときのみ（ステップＳ３０５でＹｅｓ）、Ｖ相の電流値Ｉｖを取得する（ステップＳ３０６）。このように、本実施形態によれば、角度センサ１０４を用いることによって電気角が特定の値となるときの電流値のみを取得することができるので、交流電流を１周期にわたって取得および記憶する必要がなくなり、必要なメモリ容量を削減することができる。なお、第１の実施形態では、ステップＳ３０３およびＳ３０６を実行するモータ制御部１１が、請求項に記載の取得手段に相当する。
【００３６】
なお、図２に示すように、電気角θ＝９０°および２７０°は、電流値Ｉｕが０［Ａ］になると予想される電気角であり、電気角θ＝１５０°および３３０°は電流値Ｉｖが０［Ａ］になると予想される電気角θである。つまり、本実施形態では、各電流値ＩｕおよびＩｖが０［Ａ］になると予想される時点での各電流値を取得する。
【００３７】
上記ステップＳ３０７の後、ステップＳ３０８以降の処理が実行される。ステップＳ３０８〜Ｓ３１５の処理においては、上記ステップＳ３０３およびＳ３０６で取得された電流値が、本来とるべき値（モータ制御部１１が指示した値）となっているか否かによって、モータ制御装置が正常であるか否かが判定される。つまり、ステップＳ３０８〜Ｓ３１５以降の処理を実行するモータ制御部１１が、請求項に記載の判断手段に相当する。
【００３８】
ステップＳ３０８において、モータ制御部１１は、上記ステップＳ３０４で記憶した電流値Ｉｕの情報を参照して、電流値Ｉｕが０［Ａ］であるか否かを判定する。ステップＳ３０８の判定において、電流値Ｉｕが０［Ａ］であると判定された場合、モータ制御部１１はステップＳ３０９に処理を進める。一方、電流値Ｉｕが０［Ａ］でないと判定された場合、モータ制御部１１は、後述するステップＳ３１１に処理を進める。
【００３９】
なお、ステップＳ３０８においては、第１の電流センサ１３によって検知された電流値Ｉｕと、電流値Ｉｕがとるべき目標値（０［Ａ］）とが等しいか否かを判定するが、両者が厳密に等しいか否かを判定する必要はない。すなわち、ステップＳ３０８において、モータ制御部１１は、検知された電流値Ｉｕが、上記目標値を中心とした予め定められた所定値以内の範囲に含まれているか否かを判定すればよい。なお、後述するステップＳ３０９およびＳ３１１における判定においてもステップＳ３０８と同様、２つの値が厳密に等しいか否かを判定する必要はない。
【００４０】
ステップＳ３０９において、モータ制御部１１は、上記ステップＳ３０７で記憶した電流値Ｉｖの情報を参照して、電流値Ｉｖが０［Ａ］であるか否かを判定する。ステップＳ３０９の判定において、電流値Ｉｖが０［Ａ］であると判定された場合、モータ制御部１１は、ステップＳ３０１に処理を進める。つまり、ステップＳ３０８およびＳ３０９において電流値ＩｕおよびＩｖがともに０［Ａ］であった場合、モータ制御部１１はモータ制御装置が正常であると判断して、モータ１０の制御動作を継続する。一方、ステップＳ３０９の判定において、電流値Ｉｖが０［Ａ］でないと判定された場合、モータ制御部１１はステップＳ３１０に処理を進める。
【００４１】
ステップＳ３１０において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ３１０が実行される場合とは、Ｕ相の電流値Ｉｕが正常な値（＝０［Ａ］）であるにもかかわらず、Ｖ相の電流値Ｉｖが正常でない値（≠０［Ａ］）となる場合である。この場合には、第２の電流センサ１４が異常であると推測することができる。したがって、ステップＳ３１０においては、モータ制御部１１は、異常箇所が第２の電流センサ１４であることをメモリに記憶しておく。なお、電流センサの異常としては、電流センサのオフセット異常や、電流センサ周辺での断線等が考えられる。モータ制御部１１は、ステップＳ３１０の後、後述するステップＳ３１６に処理を進める。
【００４２】
一方、ステップＳ３１１において、モータ制御部１１は、上記ステップＳ３０９と同じ判定処理を行う。すなわち、ステップＳ３０７で記憶した電流値Ｉｖの情報を参照して、電流値Ｉｖが０［Ａ］であるか否かを判定する。ステップＳ３１１の判定において、電流値Ｉｖが０［Ａ］であると判定された場合、モータ制御部１１は、ステップＳ３１２に処理を進める。一方、電流値Ｉｖが０［Ａ］でないと判定された場合、モータ制御部１１はステップＳ３１３に処理を進める。
【００４３】
ステップＳ３１２において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ３１２が実行される場合とは、Ｖ相の電流値Ｉｖが正常な値（＝０［Ａ］）であるにもかかわらず、Ｕ相の電流値Ｉｕが正常でない値（≠０［Ａ］）となる場合である。この場合には、第１の電流センサ１３が異常であると推測することができる。したがって、ステップＳ３１２においては、モータ制御部１１は、異常箇所が第１の電流センサ１３であることをメモリに記憶しておく。モータ制御部１１は、ステップＳ３１２の後、後述するステップＳ３１６に処理を進める。
【００４４】
ステップＳ３１３において、モータ制御部１１は、ステップＳ３０４で記憶した電流値ＩｕおよびステップＳ３０７で記憶した電流値Ｉｖの情報を参照して、電流値Ｉｕの絶対値と電流値Ｉｖの絶対値とが等しいか否かを判定する。ステップＳ３１３の判定結果が肯定である場合、モータ制御部１１はステップＳ３１４に処理を進める。一方、ステップＳ３１３の判定結果が否定である場合、モータ制御部１１はステップＳ３１５に処理を進める。詳細は後述するが、上記ステップＳ３１３の処理は、推測される異常原因が電流センサであるか角度センサであるかを判断するための処理である。なお、ステップＳ３１３の判定処理においてもステップＳ３０８と同様、２つの絶対値が厳密に等しいか否かを判定せずともよく、２つの絶対値の差が、予め定められた所定値以下となるか否かを判定すればよい。
【００４５】
ステップＳ３１４において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ３１４が実行される場合とは、Ｕ相およびＶ相の電流値ＩｕおよびＩｖがともに正常でない値（≠０［Ａ］）となり、かつ、Ｕ相の電流値Ｉｕの絶対値とＶ相の電流値Ｉｖの絶対値とが等しい場合である。ここで、Ｕ相およびＶ相の電流値が正常でない値となる原因として、オフセット異常等によって電流センサが異常である場合と、角度センサ１０４の検出値がずれている場合とが想定される。ステップＳ３１４の場合にはＵ相およびＶ相の各絶対値が等しくなるので、仮に電流センサのオフセット異常が原因であるとすれば、２つの電流センサ１３および１４について同じ量だけオフセットがずれている状況であることになるが、このような状況となる可能性は低い。これに対して、角度センサ１０４の検出値がずれているために所望の電気角（ここでは、θ＝９０°，１５０°，２７０°，３３０°）で電流値を検出できていない場合には、所望の電気角から同じ角度だけずれた電気角で電流値が検出されるので、各電流値の絶対値は等しくなる。以上より、ステップＳ３１４の場合には角度センサ１０４の検出値がずれていることが原因であると推測することができる。以上の理由で、ステップＳ３１４においては、モータ制御部１１は、異常箇所が角度センサ１０４であることをメモリに記憶しておく。モータ制御部１１は、ステップＳ３１４の後、後述するステップＳ３１６に処理を進める。
【００４６】
一方、ステップＳ３１５において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ３１５が実行される場合とは、Ｕ相およびＶ相の電流値ＩｕおよびＩｖがともに正常でない値（≠０［Ａ］）となり、かつ、Ｕ相の電流値Ｉｕの絶対値とＶ相の電流値Ｉｖの絶対値とが等しくない場合である。ここで、上述したように、Ｕ相およびＶ相の電流値が正常でない値となる原因としては、オフセット異常等によって各電流センサが異常である場合と、角度センサ１０４の検出値がずれている場合とが想定される。また、角度センサ１０４の検出値がずれている場合には各電流値の絶対値は等しくなる。しかし、ステップＳ３１５の場合には各電流値の絶対値は等しくないので、角度センサ１０４の異常ではないと判断できる。したがって、ステップＳ３１５の場合には各電流センサ１３および１４の異常であると推測することができる。以上の理由で、ステップＳ３１５においては、モータ制御部１１は、異常箇所が各電流センサ１３および１４であることをメモリに記憶しておく。モータ制御部１１は、ステップＳ３１５の後、後述するステップＳ３１６に処理を進める。
【００４７】
以上のステップＳ３０８〜Ｓ３１５で述べたように、本実施形態においては、検知された電流値Ｉｕおよび電流値Ｉｖによって、以上箇所を次のように推測する。
Ｉｕ＝０かつＩｖ≠０のとき：第２の電流センサの異常
Ｉｕ≠０かつＩｖ＝０のとき：第１の電流センサの異常
Ｉｕ≠０かつＩｖ≠０、かつ、｜Ｉｕ｜＝｜Ｉｖ｜のとき：角度センサの異常
Ｉｕ≠０かつＩｖ≠０、かつ、｜Ｉｕ｜≠｜Ｉｖ｜のとき：各電流センサの異常
また、上記のように推測された結果は、モータ制御部１１のメモリに保存される。したがって、モータ制御装置の異常を点検する際、点検者は、メモリに保存された情報を参照することによって、異常箇所を容易に推測することができる。
【００４８】
ステップＳ３１６において、モータ制御部１１は、動作モードをフェールセーフモードに移行する。フェールセーフモードにおいては、モータ駆動部１２からモータ１０への電力の供給が停止される。また、このとき、モータ制御部１１は、電気自動車の操縦者に対してモータ制御装置の異常を通知（警告）するようにしてもよい。ステップＳ３１６の後、モータ制御部１１は、図３に示す処理を終了する。
【００４９】
以上のように、第１の実施形態によれば、電気角が予め定められた所定値となる時点での電流値が、本来とるべき値（モータ制御部１１によって指示される値）となっているか否かによって、モータ制御装置が正常であるか異常であるかを判断する。このとき、モータ制御部１１は、角度センサ１０４を用いることによって、電気角が上記所定値となる時点での電流値のみを取得することができる。そのため、交流電流を１周期にわたって取得および記憶する場合に比べて、必要なメモリ容量を削減することができる。
【００５０】
また、第１の実施形態によれば、２相の電流値の絶対値を比較することによって、モータ制御装置の異常原因が電流センサに起因するのか、それとも角度センサに起因するのかを推測することができる。これによれば、モータ制御装置を点検する際に、点検者は異常の原因となる箇所を容易に推測することができる。
【００５１】
なお、第１の実施形態（後述する第２〜第４の実施形態においても同様）において、モータ制御部１１は、電流値が０［Ａ］となるべき時点の電気角を検出し、当該電気角における電流センサの電流値を取得した。ここで、モータ制御部１１が電流値を検出する時点の電気角の値は、３相交流電流の位相が予め定められている（変化しない）場合は、予め定められていてもよいし、当該位相がモータ制御部１１によって操作される場合は、モータ制御部１１の操作によって適宜変更されてもよい。例えば、図３に示す処理を行う際において、図２に示す３相交流電流が基準となる波形であり、モータ制御部１１の操作により図２に示す波形から位相が５°正側にずらされる場合、モータ制御部１１は、電気角θ＝９５°または２７５°の時点の電流値Ｉｕを取得し、電気角θ＝１５５°または３３５°の時点の電流値Ｉｖを取得してもよい。
【００５２】
また、上述した第１の実施形態では、モータ制御装置の異常原因が、第１の電流センサ１３、第２の電流センサ１４、および角度センサ１０４のいずれであるかを推測するようにしたが、他の実施形態においては、モータ制御部１１は、異常原因を推測しなくてもよい。具体的には、図３に示す処理において、ステップＳ３０８およびＳ３０９の判定処理のいずれかの判定結果が否定となった場合、ステップＳ３１６の処理を実行するようにしてもよい。また、他の実施形態においては、モータ制御装置の異常原因が、第１の電流センサ１３および第２の電流センサ１４のいずれであるかを推測するようにしてもよい。具体的には、図３に示す処理において、ステップＳ３１１の判定処理の結果が否定となる場合、ステップＳ３１３の処理を実行せずに、ステップＳ３１４の処理を実行するようにしてもよい。この場合、ステップＳ３１５の処理は不要である。以上の処理によっても第１の実施形態と同様、モータ制御装置の異常を検出することが可能である。
【００５３】
（第２の実施形態）
次に、第２の実施形態を説明する。上述した第１の実施形態に係るモータ制御装置では、電流値ＩｕおよびＩｖが０［Ａ］と予想される電気角での電流値を用いて異常判定を行った。第２の実施形態では、各電流値ＩｕおよびＩｖの極大値および極小値と予想される電流値を用いて異常判定を行う場合を説明する。なお、第２の実施形態に係るモータ制御装置の構成は、図１に示す構成と同様であるので、詳細な説明を省略する。
【００５４】
第２の実施形態においても第１の実施形態と同様、図２に示す３相交流電流がモータ１０に与えられる場合を例として考える。図２においては、外部からのトルク指令が一定である場合、すなわち電流振幅が一定である場合、正常であれば、Ｕ相およびＶ相の電流値は次の条件を満たす。すなわち、各電流値は、電気角θ＝０°で電流値Ｉｕが極小値Ｉｕｍｉｎに、電気角θ＝１８０°で電流値Ｉｕが極大値Ｉｕｍａｘに、電気角θ＝６０°で電流値Ｉｖが極大値Ｉｖｍａｘに、電気角θ＝２４０°で電流値Ｉｖが極小値Ｉｖｍｉｎになる。さらに、電流値Ｉｕｍａｘと電流値Ｉｖｍａｘとは一致し、電流値Ｉｕｍｉｎと電流値Ｉｖｍｉｎとは一致する。したがって、第２の実施形態においては、これらの条件が満たされない場合にモータ制御装置が異常であると判断する。以下、第２の実施形態におけるモータ制御装置の動作の詳細を説明する。
【００５５】
図４は、第２の実施形態に係るモータ制御装置のモータ制御部１１における処理の流れを示すフローチャートである。図４に示すフローチャートに示される処理は、モータ制御装置の電源がＯＮされることによって開始される。また当該処理は、後述する終了条件が満たされるか、または、モータ制御装置の電源がＯＦＦされることによって終了される。
【００５６】
図４に示すステップＳ４０１〜Ｓ４０７の処理は、ステップＳ４０２およびＳ４０５の判定における電気角の値が異なる以外は、第１の実施形態におけるステップＳ３０１〜Ｓ３０７と同様の処理である。すなわち、ステップＳ４０２において、モータ制御部１１は、現在の電気角θがθ＝０°または１８０°であるか否かを判定する。判定結果が肯定である場合、ステップＳ４０３およびＳ４０４の処理が実行される。一方、判定結果が否定である場合、ステップＳ４０５の処理が実行される。また、ステップＳ４０５において、モータ制御部１１は、現在の電気角θがθ＝６０°または２４０°であるか否かを判定する。判定結果が肯定である場合、ステップＳ４０６の処理が実行される。一方、判定結果が否定である場合、ステップＳ４０１の処理が再度実行される。また、ステップＳ４０１，Ｓ４０３，Ｓ４０４，Ｓ４０６，およびＳ４０７の処理は、ステップＳ３０１，Ｓ３０３，Ｓ３０４，Ｓ３０６，およびＳ３０７の処理と同じである。なお、以下では、電流値が極大値になると予想される時点において検知された電流値（ステップＳ４０４において取得された電流値）を検知極大値と呼び、電流値が極小値になると予想される時点において検知された電流値（ステップＳ４０７において取得された電流値）を検知極小値と呼ぶ。ステップＳ４０４およびＳ４０７において、モータ制御部１１は、取得された電流値ＩｕまたはＩｖの情報のうちで検知極大値および検知極小値についてそれぞれ最新のもののみをメモリに保存しておけばよい。
【００５７】
以上のように、第２の実施形態においては、モータ制御部１１は、電気角θがθ＝０°または１８０°のときのみ（ステップＳ４０２でＹｅｓ）、Ｕ相の電流値Ｉｕを取得する（ステップＳ４０３）。また、電気角θがθ＝６０°または２４０°のときのみ（ステップＳ４０５でＹｅｓ）、Ｖ相の電流値Ｉｖを取得する（ステップＳ４０６）。つまり、第２の実施形態では、各電流値ＩｕおよびＩｖが極大値または極小値になると予想される時点での各電流値を取得する。
【００５８】
ステップＳ４０７の後、ステップＳ４０８以降の処理が実行される。ステップＳ４０８以降においては、上記ステップＳ４０３およびＳ４０６で取得された電流値が、本来とるべき値（モータ制御部１１が指示した値）となっているか否かによって、判定結果に応じてモータ制御装置が正常であるか否かが判定される。
【００５９】
ステップＳ４０８において、モータ制御部１１は、上記ステップＳ４０４およびＳ４０７で記憶した電流値ＩｕおよびＩｖの情報を参照して、Ｕ相の電流値の検知極大値Ｉｕｍａｘ（電気角θ＝１８０°での電流値Ｉｕ）と、Ｖ相の電流値の検知極大値Ｉｖｍａｘ（電気角θ＝６０°での電流値Ｉｖ）とが等しいか否かを判定する。ステップＳ４０８の判定結果が肯定である場合、モータ制御部１１はステップＳ４０９に処理を進める。一方、ステップＳ４０８の判定結果が否定である場合、モータ制御部１１は後述するステップＳ４１２に処理を進める。
【００６０】
なお、ステップＳ４０８においては、Ｕ相の電流値の検知極大値Ｉｕｍａｘと、Ｖ相の電流値の検知極大値Ｉｖｍａｘとが等しいか否かを判定するが、両者が厳密に等しいか否かを判定する必要はない。すなわち、ステップＳ４０８において、モータ制御部１１は、Ｕ相の電流値の検知極大値ＩｕｍａｘとＶ相の電流値の検知極大値Ｉｖｍａｘとの差分が予め定められた所定値よりも小さいか否かを判定すればよい。なお、後述するステップＳ４０９およびＳ４１０における判定においてもステップＳ４０８と同様、２つの電流値が厳密に等しいか否かを判定する必要はなく、２つの電流値の差分が予め定められた所定値よりも小さいか否かを判定すればよい。
【００６１】
ステップＳ４０９において、モータ制御部１１は、上記ステップＳ４０４およびＳ４０７で記憶した電流値ＩｕおよびＩｖの情報を参照して、Ｕ相の電流値の検知極小値Ｉｕｍｉｎ（電気角θ＝０°での電流値Ｉｕ）と、Ｖ相の電流値の検知極小値Ｉｖｍｉｎ（電気角θ＝２４０°での電流値Ｉｖ）とが等しいか否かを判定する。ステップＳ４０９の判定結果が肯定である場合、モータ制御部１１はステップＳ４１０に処理を進める。一方、ステップＳ４０９の判定結果が否定である場合、モータ制御部１１は後述するステップＳ４１２に処理を進める。
【００６２】
ステップＳ４１０において、モータ制御部１１は、上記ステップＳ４０４またはＳ４０７で記憶した電流値ＩｕまたはＩｖの情報を参照して、Ｕ相またはＶ相のいずれかについて、電流値の検知極大値と検知極小値とが等しいか否かを判定する。なお、ステップＳ４１０の処理が実行される場合、Ｕ相とＶ相との間で検知極大値および検知極小値は等しいので、ステップＳ４１０においては、検知極大値と検知極小値とが等しいか否かの判定をＵ相またはＶ相のいずれかについて行えばよい。ステップＳ４１０の判定結果が肯定である場合、モータ制御部１１はステップＳ４０１に処理を進める。つまり、Ｕ相とＶ相との間で検知極大値および検知極小値が等しく（Ｓ４０８およびＳ４０９でＹｅｓ）、かつ、各相において検知極大値と検知極小値とが等しい（Ｓ４１０でＹｅｓ）場合、モータ制御部１１はモータ制御装置が正常であると判断して、モータ１０の制御動作を継続する。一方、ステップＳ４１０の判定結果が否定である場合、モータ制御部１１は後述するステップＳ４１１に処理を進める。
【００６３】
ステップＳ４１１において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ４１１が実行される場合とは、Ｕ相とＶ相との間で検知極大値および検知極小値が等しい（Ｓ４０８およびＳ４０９でＹｅｓ）ものの、検知極大値の絶対値と検知極小値の絶対値とが異なる（Ｓ４１０でＮｏ）場合である。この場合には、各電流センサ１３および１４の双方がオフセット異常等の異常であると推測することができる。したがって、ステップＳ４１１においては、モータ制御部１１は、異常箇所が２つの電流センサ１３および１４であることをメモリに記憶しておく。ステップＳ４１１の後、モータ制御部１１は後述するステップＳ４１３に処理を進める。
【００６４】
ステップＳ４１２において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ４１２が実行される場合とは、Ｕ相とＶ相との間で検知極大値および検知極小値の少なくとも一方が異なっている（Ｓ４０８およびＳ４０９のいずれかでＮｏ）場合である。この場合、各電流センサ１３および１４の少なくとも一方がオフセット異常等の異常であると推測することができる。したがって、ステップＳ４１２においては、モータ制御部１１は、異常箇所が２つの電流センサ１３および１４の少なくともいずれかであることをメモリに記憶しておく。ステップＳ４１２の後、モータ制御部１１は後述するステップＳ４１３に処理を進める。
【００６５】
ステップＳ４１３において、モータ制御部１１は、動作モードをフェールセーフモードに移行する。ステップＳ４１３の処理は、第１の実施形態におけるステップＳ３１６の処理と同じである。ステップＳ４１３の後、モータ制御部１１は、図４に示す処理を終了する。
【００６６】
以上のように、第２の実施形態によれば、極大値または極小値となると予想される時点での電流値を検知し、検知された検知極大値および検知極小値が各相の間で等しいか否かによって、モータ制御装置が正常であるか異常であるかを判断する。ここで、第１の実施形態と同様、モータ制御部１１は、角度センサ１０４を用いることによって、極大値または極小値と予想される時点での電流値のみを取得することができる。そのため、交流電流を１周期にわたって取得および記憶する場合に比べて、必要なメモリ容量を削減することができる。
【００６７】
また、第２の実施形態によれば、検知された検知極大値と検知極小値との絶対値を比較する（ステップＳ４１０）ことによって、モータ制御装置の異常原因が両方の電流センサに起因するのか、それとも少なくとも一方の電流センサに起因するのかを推測することができる。これによれば、モータ制御装置を点検する際に、点検者は異常の原因となる箇所を容易に推測することができる。
【００６８】
また、上述した第２の実施形態においても第１の実施形態と同様、モータ制御部１１は異常原因を推測しなくてもよい。具体的には、図４に示す処理において、ステップＳ４１０およびＳ４１１の処理を省略し、ステップＳ４０９の判定結果が肯定の場合、ステップＳ４０１の処理を実行するようにしてもよい。以上の処理によっても第１の実施形態と同様、モータ制御装置の異常を検出することが可能である。
【００６９】
（第３の実施形態）
次に、第３の実施形態を説明する。上述した第２の実施形態に係るモータ制御装置では、各電流値ＩｕおよびＩｖの極大値および極小値と予想される電流値を用いて異常判定を行った。第３の実施形態では、２相の電流値が等しくなると予想される電気角における電流値を検知し、当該検知された電流値を用いて異常判定を行う場合を説明する。なお、第３の実施形態に係るモータ制御装置の構成は、図１に示す構成と同様であるので、詳細な説明を省略する。
【００７０】
第３の実施形態においても第１および第２の実施形態と同様、図２に示す３相交流電流がモータ１０に与えられる場合を例として考える。図２においては、正常であれば、電気角θ＝１２０°の時点および３００°の時点においては、Ｕ相の電流値ＩｕとＶ相の電流値Ｉｖとが等しくなる。したがって、第３の実施形態においては、電気角θ＝１２０°の時点および３００°の時点における電流値がＵ相とＶ相とで異なる場合に、モータ制御装置が異常であると判断する。以下、第３の実施形態におけるモータ制御装置の動作の詳細を説明する。
【００７１】
図５は、第３の実施形態に係るモータ制御装置のモータ制御部１１における処理の流れを示すフローチャートである。図５に示すフローチャートに示される処理は、モータ制御装置の電源がＯＮされることによって開始される。また当該処理は、後述する終了条件が満たされるか、または、モータ制御装置の電源がＯＦＦされることによって終了される。
【００７２】
まずステップＳ５０１において、モータ制御部１１は、モータ１０の回転角度を角度センサ１０４から取得し、電気角θを算出する。ステップＳ５０１の処理は第１の実施形態におけるステップＳ３０１の処理と同じであり、所定時間間隔で実行される。
【００７３】
ステップＳ５０１の次のステップＳ５０２において、モータ制御部１１は、現在の電気角θがθ＝１２０°または３００°であるか否かを判定する。判定結果が肯定である場合、ステップＳ５０３の処理が実行される。一方、判定結果が否定である場合、ステップＳ５０１の処理が再度実行される。
【００７４】
ステップＳ５０３において、モータ制御部１１は、第１の電流センサ１３から電流値Ｉｕを取得するとともに、第２の電流センサ１４から電流値Ｉｖを取得し、次のステップＳ５０４に処理を進める。ステップＳ５０４において、モータ制御部１１は、ステップＳ５０３で取得した電流値Ｉｕと電流値Ｉｖとの情報をモータ制御部１１内のメモリに記憶する。なお、モータ制御部１１は、電流値ＩｕおよびＩｖのそれぞれについて、電気角θ＝１２０°の場合に取得された最新の電流値と、電気角θ＝３００°の場合に取得された最新の電流値とをメモリに保存しておけばよい。
【００７５】
以上のように、第３の実施形態においては、モータ制御部１１は、角度センサ１０４を用いることで所定時間間隔でモータ１０の回転角度を検出し（ステップＳ５０１）、電気角θがθ＝１２０°または３００°のときのみ（ステップＳ５０２でＹｅｓ）、Ｕ相の電流値ＩｕおよびＶ相の電流値Ｉｖを取得する（ステップＳ５０３）。このように、ステップＳ５０１〜ステップＳ５０４の処理によって、電流値Ｉｕと電流値Ｉｖとが等しくなると予想される電気角でのみ電流値を取得することができる。したがって、交流電流を１周期にわたって取得および記憶する必要がなく、必要なメモリ容量を削減することができる。
【００７６】
上記ステップＳ５０４の後、ステップＳ５０５以降の処理が実行される。ステップＳ５０５以降においては、上記ステップＳ５０３で取得された各相の電流値が互いに等しいか否かによって、判定結果に応じてモータ制御装置が正常であるか否かが判定される。
【００７７】
ステップＳ５０５において、モータ制御部１１は、上記ステップＳ５０４で記憶した電流値ＩｕおよびＩｖの情報を参照して、電流値Ｉｕと電流値Ｉｖとが等しいか否かを判定する。なお、ここで参照される電流値Ｉｕは電気角θ＝１２０°の時点における電流値Ｉｕ（１２０°）であり、電流値Ｉｖは電気角θ＝１２０°の時点における電流値Ｉｖ（１２０°）である。なお、ステップＳ５０５においても前述したステップＳ３０８やＳ４０８等と同様、２つの電流値が等しいか否かを厳密に判定する必要はなく、２つの電流値の差分が予め定められた所定値よりも小さいか否かを判定すればよい（後述するステップＳ５０６においても同様）。ステップＳ５０５の判定結果が肯定である場合、モータ制御部１１はステップＳ５０６に処理を進める。一方、ステップＳ５０５の判定結果が否定である場合、モータ制御部１１は後述するステップＳ５０７に処理を進める。
【００７８】
ステップＳ５０６において、モータ制御部１１は、上記ステップＳ５０４で記憶した電流値Ｉｕと電流値Ｉｖとを情報を参照して、電流値Ｉｕと電流値Ｉｖとが等しいか否かを判断する。なお、ここで参照される電流値Ｉｕは電気角θ＝３００°の時点における電流値Ｉｕ（３００°）であり、電流値Ｉｖは電気角θ＝３００°の時点における電流値Ｉｖ（３００°）である。ステップＳ５０５の判定結果が肯定である場合、モータ制御部１１はステップＳ５０１に処理を進める。つまり、電気角θ＝１２０°および３００°の各時点におけるＵ相とＶ相との電流値が等しい場合（ステップＳ５０５でＹＥＳ）、モータ制御部１１はモータ制御装置が正常であると判断して、モータ１０の制御動作を継続する。一方、ステップＳ５０５の判定結果が否定である場合、モータ制御部１１は後述するステップＳ５０７に処理を進める。
【００７９】
ステップＳ５０７において、モータ制御部１１はモータ制御装置が異常であると判断する。ここで、ステップＳ５０７が実行される場合とは、電気角θ＝１２０°の時点および電気角θ＝３００°の時点の少なくとも一方の時点において、Ｕ相とＶ相との電流値が異なる場合である。この場合、電流センサおよび角度センサの少なくとも一方の異常等の理由で、モータ制御装置が異常であると判断することができる。なお、本実施形態の方法では、異常の原因箇所が電流センサであるか角度センサであるかを推測することはできない。そのため、ステップＳ５０７においては、モータ制御部１１は、異常箇所が２つの電流センサ１３および１４ならびに角度センサ１０４の少なくともいずれかであることをメモリに記憶しておく。
【００８０】
ステップＳ５０８において、モータ制御部１１は、動作モードをフェールセーフモードに移行する。ステップＳ５０８の処理は、第１の実施形態におけるステップＳ３１６の処理と同じである。ステップＳ５０８の後、モータ制御部１１は、図５に示す処理を終了する。
【００８１】
以上に示した第３の実施形態によれば、角度センサ１０４を用いることによって、Ｕ相とＶ相との間で電流値が等しくなると予想される時点での電流値のみを取得することができる。したがって、第１および第２の実施形態と同様、交流電流を１周期にわたって取得および記憶する場合に比べて、必要なメモリ容量を削減することができる。
【００８２】
（第４の実施形態）
次に、第４の実施形態を説明する。上述した第１の実施形態に係るモータ制御装置では、電流値ＩｕおよびＩｖが０［Ａ］と予想される電気角での電流値を用いて異常原因の推測を行った。第４の実施形態では、各電流値ＩｕおよびＩｖの極大値および極小値と予想される電流値を用いて異常原因の推測を行う場合を説明する。なお、第４の実施形態に係るモータ制御装置の構成は、図１に示す構成と同様であるので、詳細な説明を省略する。
【００８３】
図６は、第４の実施形態に係るモータ制御装置のモータ制御部１１における処理の流れを示すフローチャートである。図６に示すフローチャートに示される処理は、モータ制御装置の電源がＯＮされることによって開始される。また当該処理は、後述する終了条件が満たされるか、または、モータ制御装置の電源がＯＦＦされることによって終了される。
【００８４】
図６に示すステップＳ６０１〜Ｓ６０７の処理は、ステップＳ６０２およびＳ６０５の判定における電気角の値が異なる以外は、第１の実施形態におけるステップＳ３０１〜Ｓ３０７と同様の処理である。すなわち、ステップＳ６０２において、モータ制御部１１は、現在の電気角θがθ＝０°，９０°，１８０°，または２７０°であるか否かを判定する。判定結果が肯定である場合、ステップＳ６０３およびＳ６０４の処理が実行される。一方、判定結果が否定である場合、ステップＳ６０５の処理が実行される。また、ステップＳ６０５において、モータ制御部１１は、現在の電気角θがθ＝６０°，１５０°，２４０°，または３３０°であるか否かを判定する。判定結果が肯定である場合、ステップＳ６０６の処理が実行される。一方、判定結果が否定である場合、ステップＳ６０１の処理が再度実行される。また、ステップＳ６０１，Ｓ６０３，Ｓ６０４，Ｓ６０６，およびＳ６０７の処理は、ステップＳ３０１，Ｓ３０３，Ｓ３０４，Ｓ３０６，およびＳ３０７の処理と同じである。なお、ステップＳ６０４およびＳ６０７において、モータ制御部１１は、取得された電流値ＩｕまたはＩｖの情報のうちで検知極大値、検知極小値、および０［Ａ］となると予想される電流値の情報について、それぞれ最新のもののみをメモリに保存しておけばよい。
【００８５】
第４の実施形態においても、第１の実施形態と同様の方法でモータ制御装置の異常判定を行う。すなわち、ステップＳ６０８，Ｓ６０９，およびＳ６１１の判定処理は、第１の実施形態におけるステップＳ３０８，Ｓ３０９，Ｓ３１１と同じである。また、ステップＳ６１０およびＳ６１２の処理は、第１の実施形態におけるステップＳ３１０およびＳ３１２と同じである。
【００８６】
第４の実施形態においては、ステップＳ６１１の判定結果が否定である場合、ステップＳ６１３において、上記ステップＳ６０４およびＳ６０７で記憶した電流値ＩｕおよびＩｖの情報を参照して、Ｕ相およびＶ相のそれぞれについて、電流値の検知極大値Ｉｍａｘの絶対値と、検知極小値Ｉｍｉｎの絶対値とが等しいか否かを判定する。すなわち、Ｕ相およびＶ相の両方について、検知極大値Ｉｍａｘの絶対値と検知極小値Ｉｍｉｎの絶対値とが等しいか否かを判定する。詳細は後述するが、上記ステップＳ６１３の処理は、推測される異常原因が電流センサであるか角度センサであるかを判断するための処理である。なお、ステップＳ６１３の判定処理においても、前述したステップＳ３０８等と同様、２つの値が厳密に等しいか否かを判定する必要はなく、２つの電流値の差分が予め定められた所定値よりも小さいか否かを判定すればよい。ステップＳ６１３の判定結果が肯定である場合、モータ制御部１１はステップＳ６１４に処理を進める。一方、ステップＳ６１３の判定結果が否定である場合、モータ制御部１１は後述するステップＳ６１５に処理を進める。
【００８７】
ステップＳ６１４において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ６１４が実行される場合とは、Ｕ相およびＶ相の電流値ＩｕおよびＩｖがともに正常でない値（≠０［Ａ］）となり、かつ、Ｕ相およびＶ相についてともに電流値の検知極大値Ｉｍａｘの絶対値と、検知極小値Ｉｍｉｎの絶対値とが等しい場合である。この場合、電流値の検知極大値Ｉｍａｘの絶対値と検知極小値Ｉｍｉｎの絶対値とが等しいので、電流センサのオフセット異常ではないと考えられるため、異常は角度センサ１０４の検出値がずれていることが原因であると推測することができる。以上の理由で、ステップＳ６１４においては、モータ制御部１１は、異常箇所が角度センサ１０４であることをメモリに記憶しておく。モータ制御部１１は、ステップＳ６１４の後、後述するステップＳ６１６に処理を進める。
【００８８】
一方、ステップＳ６１５において、モータ制御部１１は、モータ制御装置が異常であると判断する。ここで、ステップＳ６１５が実行される場合とは、Ｕ相およびＶ相の電流値ＩｕおよびＩｖがともに正常でない値（≠０［Ａ］）となり、かつ、Ｕ相およびＶ相の少なくともいずれか一方について電流値の検知極大値Ｉｍａｘの絶対値と、検知極小値Ｉｍｉｎの絶対値とが異なる場合である。この場合、電流値の検知極大値Ｉｍａｘの絶対値と検知極小値Ｉｍｉｎの絶対値とが異なるので、異常は各電流センサ１３および１４のオフセット異常が原因であると推測することができる。以上の理由で、ステップＳ６１５においては、モータ制御部１１は、異常箇所が各電流センサ１３および１４であることをメモリに記憶しておく。モータ制御部１１は、ステップＳ６１５の後、後述するステップＳ６１６に処理を進める。
【００８９】
ステップＳ６１６において、モータ制御部１１は、動作モードをフェールセーフモードに移行する。ステップＳ６１６の処理は、第１の実施形態におけるステップＳ３１６の処理と同じである。ステップＳ６１６の後、モータ制御部１１は、図６に示す処理を終了する。
【００９０】
以上に示した第４の実施形態によれば、第１の実施形態と同様、交流電流を１周期にわたって取得および記憶する場合に比べて、必要なメモリ容量を削減することができる。さらに、第４の実施形態によれば、電流値の検知極大値および検知極小値の絶対値を比較することによって、モータ制御装置の異常原因が電流センサに起因するのか、それとも角度センサに起因するのかを推測することができる。これによれば、モータ制御装置を点検する際に、点検者は異常の原因となる箇所を容易に推測することができる。
【産業上の利用可能性】
【００９１】
本発明のモータ制御装置は、電気自動車等のモータ制御装置に好適に使用することができる。
【図面の簡単な説明】
【００９２】
【図１】第１の実施形態に係る電気自動車のモータ制御装置の構成を示すブロック図
【図２】第１の実施形態における３相電流波形の図
【図３】第１の実施形態に係るモータ制御装置の動作の一例を示すフローチャート
【図４】第２の実施形態に係るモータ制御装置の動作の一例を示すフローチャート
【図５】第３の実施形態に係るモータ制御装置の動作の一例を示すフローチャート
【図６】第４の実施形態に係るモータ制御装置の動作の一例を示すフローチャート
【符号の説明】
【００９３】
１０  モータ
１０１  Ｕ相ステータコイル
１０２  Ｖ相ステータコイル
１０３  Ｗ相ステータコイル
１０４  角度センサ
１１  モータ制御部
１２  モータ駆動部
１３  第１の電流センサ
１４  第２の電流センサ
【図１】
0005056298.tif 000002
【図２】
0005056298.tif 000003
【図３】
0005056298.tif 000004
【図４】
0005056298.tif 000005
【図５】
0005056298.tif 000006
【図６】
0005056298.tif 000007