(57)【特許請求の範囲】
【請求項１】
電動モータに交流電力を供給するインバータと、
前記インバータの直流母線電流を検出する電流検出手段と、
前記電流検出手段の出力に基づいて前記インバータを制御するコントローラと、
を備えたモータ駆動装置であって、
前記コントローラは、前記電流検出手段の出力に基づいて演算したｑ軸電流検出値とｑ軸電圧指令値に基づいて推定したｑ軸電流推定値とを比較し、前記ｑ軸電流検出値が前記ｑ軸電流推定値から所定時間継続して乖離したときに前記電流検出手段の異常を検知する、モータ駆動装置。
【請求項２】
前記コントローラは、前記電動モータの回転速度が零を含む所定範囲にあるときに、前記ｑ軸電流検出値と前記ｑ軸電流推定値とを比較する、請求項１に記載のモータ駆動装置。
【請求項３】
前記電動モータは内燃機関用アクチュエータとして用いられるものであり、
前記ｑ軸電流推定値は、前記電流検出手段による電流検出、前記電流検出手段の出力の電圧検出、前記電動モータのモータ特性、前記インバータにおけるスイッチング切り替え時のデッドタイムによる電圧降下代、及び、前記内燃機関の油温又は排気性能のうち少なくとも１つのばらつきを考慮して、ｑ軸電流上限推定値及びｑ軸電流下限推定値で画される正常範囲として推定される、請求項１又は２に記載のモータ駆動装置。
【請求項４】
前記所定時間は、前記電動モータの回転速度が変動している場合に、前記回転速度の変動周期、前記回転速度の変動量、及び、前記電動モータが駆動する駆動対象の変動量に基づいて設定される、請求項１〜３のいずれか１つに記載のモータ駆動装置。
【請求項５】
前記ｑ軸電流推定値は、前記ｑ軸電圧指令値の印加に対する前記電動モータのモータ特性による電流応答遅れを考慮して推定される、請求項１〜４のいずれか１つに記載のモータ駆動装置。
【請求項６】
前記ｑ軸電流推定値は、前記ｑ軸電圧指令値を絶対値に変換した診断用ｑ軸電圧指令値に基づいて推定され、
前記ｑ軸電流検出値は、前記ｑ軸電圧指令値の正負に応じて、正負が決定された診断用ｑ軸電流検出値である、請求項１〜５のいずれか１つに記載のモータ駆動装置。
【請求項７】
電動モータに交流電力を供給するインバータと前記インバータの直流母線電流を検出する電流検出手段とを備えたモータ駆動装置の制御方法であって、
前記電流検出手段の出力に基づいて演算したｑ軸電流検出値とｑ軸電圧指令値に基づいて推定したｑ軸電流推定値とを比較し、前記ｑ軸電流検出値が前記ｑ軸電流推定値から所定時間継続して乖離したときに前記電流検出手段の異常を検知する、モータ駆動装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ駆動装置及びモータ駆動装置の制御方法に関し、詳しくは、１つのシャント抵抗で各相電流を検出する電流検出手段の異常検知に関する。
【背景技術】
【０００２】
従来のモータ駆動装置及びその制御方法として、例えば特許文献１に記載されているように、１つのシャント抵抗の両端電圧を入力して制御用モータ電流を検出する制御用モータ電流検出回路と、上記両端電圧を反転入力して診断用モータ電流を検出する診断用モータ電流検出回路と、を備え、制御用モータ電流の検出値と診断用モータ電流の検出値とに基づいて、制御用モータ電流検出回路の異常を検知するものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１１０８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、制御用モータ電流検出回路の異常を検知するためには、上記のように、制御用モータ電流検出回路以外に他の電流検出回路を備える必要があるため、モータ駆動装置における部品点数が増大し、モータ駆動装置の大型化を招くおそれがある。
【０００５】
そこで、本発明は以上のような問題点に鑑み、１つのシャント抵抗で各相電流を検出する電流検出手段の異常検知を簡易な構成で可能にしたモータ駆動装置及びモータ駆動装置の制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このため、本願発明に係るモータ駆動装置は、電動モータに交流電力を供給するインバータと、インバータの直流母線電流を検出する電流検出手段と、電流検出手段の出力に基づいてインバータを制御するコントローラと、を備え、コントローラは、電流検出手段の出力に基づいて演算したｑ軸電流検出値とｑ軸電圧指令値に基づいて推定したｑ軸電流推定値とを比較し、ｑ軸電流検出値がｑ軸電流推定値から所定時間継続して乖離したときに電流検出手段の異常を検知する。
【０００７】
また、本願発明に係るモータ駆動装置の制御方法は、電動モータに交流電力を供給するインバータとインバータの直流母線電流を検出する電流検出手段とを備えたモータ駆動装置を制御するものであって、電流検出手段の出力に基づいて演算したｑ軸電流検出値とｑ軸電圧指令値に基づいて推定したｑ軸電流推定値とを比較し、ｑ軸電流検出値がｑ軸電流推定値から所定時間継続して乖離したときに電流検出手段の異常を検知する。
【発明の効果】
【０００８】
本発明のモータ駆動装置及びモータ駆動装置の制御方法によれば、１つのシャント抵抗で各相電流を検出する電流検出手段の異常検知が簡易な構成で可能となる。
【図面の簡単な説明】
【０００９】
【図１】モータ駆動装置を適用した車両用内燃機関の一例を示す構成図である。
【図２】モータ駆動装置及び電動モータの内部構成の一例を示す回路図である。
【図３】コントローラにおける指令電圧設定処理の一例を示す機能ブロック図である。
【図４】コントローラにおける相電流検出の一態様を示すタイムチャートである。
【図５】異常診断部における異常診断処理の概要を示す機能ブロック図である。
【図６】ｑ軸電流の正常範囲及び異常範囲を示す模式図である。
【図７】異常診断部における異常診断処理の概要を示すタイムチャートである。
【図８】電流検出ゲイン低下異常による誤診断を説明するタイムチャートである。
【図９】異常診断処理における診断実施時間を説明するタイムチャートである。
【図１０】異常診断部における異常診断処理の一例を示すフローチャートである。
【図１１】所定時間の設定方法の一例を説明するための説明図である。
【発明を実施するための形態】
【００１０】
以下、添付された図面を参照し、本発明を実施するための実施形態について詳述する。図１は、モータ駆動装置を適用した車両用内燃機関の一例を示す。
【００１１】
内燃機関１０は、シリンダブロック１１と、シリンダブロック１１のシリンダボア１１Ａに往復動可能に嵌挿されたピストン１２と、吸気ポート１３Ａ及び排気ポート１３Ｂが形成されたシリンダヘッド１３と、吸気ポート１３Ａ及び排気ポート１３Ｂの開口端を開閉する吸気バルブ１４Ａ及び排気バルブ１４Ｂと、を有している。
【００１２】
ピストン１２は、クランクシャフト１５に対して、ロアリンク１６Ａ及びアッパリンク１６Ｂを含むコンロッド（コネクティングロッド）１６を介して連結されている。そして、ピストン１２の冠面１２Ａとシリンダヘッド１３の下面との間に、燃焼室Ｓが形成されている。シリンダヘッド１３には、燃焼室Ｓに臨んで、燃料を噴射する燃料噴射弁１７と、燃料と空気との混合気を着火する点火栓１８とが取り付けられている。
【００１３】
クランクシャフト１５は、複数のジャーナル部１５Ａとクランクピン部１５Ｂとを有し、シリンダブロック１１の主軸受（図示せず）に、ジャーナル部１５Ａが回転自在に支持されている。クランクピン部１５Ｂは、ジャーナル部１５Ａから偏心しており、ここにロアリンク１６Ａが回転自在に連結されている。アッパリンク１６Ｂは、下端側が連結ピン１６Ｃによりロアリンク１６Ａの一端に回動可能に連結され、上端側がピストンピン１６Ｄによりピストン１２に回動可能に連結されている。
【００１４】
また、内燃機関１０は、燃焼室Ｓの容積を変更することで、圧縮比を可変とする可変圧縮比（ＶＣＲ：Variable Compression Ratio）機構２０を備えている。ＶＣＲ機構２０は、例えば、特開２００２−２７６４４６号公報に開示されるような複リンク機構によって、燃焼室Ｓの容積を変更させることで、内燃機関１０の圧縮比を可変とする。
【００１５】
ＶＣＲ機構２０は、コントロールリンク２１、コントロールシャフト２２及び圧縮比制御アクチュエータ２３を有している。コントロールリンク２１は、上端側が連結ピン２１Ａによりロアリンク１６Ａの他端に回動可能に連結され、下端側がコントロールシャフト２２を介してシリンダブロック１１の下部に回動可能に連結されている。詳しくは、コントロールシャフト２２は、回転可能にシリンダブロック１１に支持されていると共に、その回転中心から偏心している偏心カム部２２Ａを有し、この偏心カム部２２Ａにコントロールリンク２１の下端部が回転可能に嵌合している。そして、圧縮比制御アクチュエータ２３の動力源である電動モータＭの回転出力は、減速機２３Ａによって減速されて出力軸２３Ｂに伝達された後、出力軸２３Ｂに形成されたギア（例えばウォームギア）２３Ｃとコントロールシャフト２２に形成されたギア（例えばウォームホイール）２２Ｂとの噛合によって、コントロールシャフト２２に伝達される。すなわち、圧縮比制御アクチュエータ２３としての電動モータＭはコントロールシャフト２２を駆動対象とする。
【００１６】
このようなＶＣＲ機構２０において、圧縮比制御アクチュエータ２３としての電動モータＭを正転又は逆転させることでコントロールシャフト２２の回転角度が制御される。圧縮比制御アクチュエータ２３がコントロールシャフト２２を回転させると、コントロールシャフト２２の回転中心から偏心している偏心カム部２２Ａの中心位置が変化する。これにより、コントロールリンク２１の下端の搖動支持位置が変化することで、ピストン上死点（ＴＤＣ）におけるピストン１２の位置が高くなったり低くなったりして、燃焼室Ｓの容積が増減し、内燃機関１０の圧縮比が変更される。
【００１７】
圧縮比制御アクチュエータ２３は、電動モータＭに加えて、電動モータＭを駆動するモータ駆動装置１００を内蔵している。モータ駆動装置１００は、例えばＣＡＮ（Controller Area Network）等の車載ネットワークを介して、内燃機関１０の燃料噴射弁１７及び点火栓１８を電子制御するＥＣＵ（Engine Control Unit）３０に接続されている。
【００１８】
ＥＣＵ３０は、マイクロコンピュータを内蔵し、内燃機関１０の運転状態を検出するために、内燃機関１０の回転速度Ｎｅを検出する回転速度センサ３１、内燃機関１０の負荷Ｑを検出する負荷センサ３２、及び、内燃機関１０の実際の圧縮比に相当するパラメータとしてコントロールシャフト２２の回転角度を検出する回転角度センサ３３の各出力信号を入力するように構成されている。ここで、内燃機関１０の負荷Ｑとしては、例えば、吸気負圧、吸気流量、過給圧力、アクセル開度、スロットル開度など、トルクと密接に関連する状態量を使用することができる。ＥＣＵ３０は、例えば、内燃機関１０において回転速度及び負荷に適合した圧縮比が設定されたマップを参照する等して、内燃機関１０の回転速度Ｎｅ及び負荷Ｑに応じた目標圧縮比を演算し、さらに、目標圧縮比に応じたコントロールシャフト２２の目標角度を演算する。そして、ＥＣＵ３０は、回転角度センサ３３によって検出されたコントロールシャフト２２の検出角度が目標角度に近づくように電動モータＭの目標トルクを演算し、この目標トルクをモータ駆動装置１００に対する指令トルクとして含む指令信号をモータ駆動装置１００に出力する。
【００１９】
図２は、電動モータ及びモータ駆動装置の内部構成を示す。電動モータＭは、３相ブラシレスモータであり、スター結線されたＵ相コイルＭｕ、Ｖ相コイルＭｖ、Ｗ相コイルＭｗの３相コイルをそれぞれ巻き回した円筒状のステータ（図示省略）と、このステータの中央部に形成されている空間において軸線中心に回転可能に配置されたロータ（永久磁石回転子）ＭＲと、を備えている。また、モータ駆動装置１００は、インバータ２００、電流検出部３００及びコントローラ４００を備えている。
【００２０】
インバータ２００は、直流の車載電源Ｅと接続され、電動モータＭに対して交流電力を供給するように、逆並列のダイオード２０１ｄ〜２０６ｄを１対１でそれぞれ含むスイッチング素子２０１〜２０６を３相ブリッジ接続してなる電気回路を有している。スイッチング素子２０１〜２０６は、例えば、ＦＥＴ（Field Effect Transistor）又はＩＧＢＴ（Insulated Gate Bipolar Transistor）等、電力制御の用途に用いられる半導体素子で構成されている。スイッチング素子２０１〜２０６の各制御端子（ゲート端子）はコントローラ４００の出力ポートに接続されている。
【００２１】
電流検出部３００は、インバータ２００の直流母線電流を検出する電流検出手段であり、１つのシャント抵抗３０１及び検出回路３０２を有している。シャント抵抗３０１は、各相の下アームと車載電源Ｅの接地側との間に直列に接続され、オペアンプ等を含む検出回路３０２は、シャント抵抗３０１の両端と接続されている。検出回路３０２は、シャント抵抗３０１を流れる電流の大きさに応じて変化する、シャント抵抗３０１の両端電位差を検出し、この電位差に対応する電圧をアナログの電流検出電圧としてコントローラ４００へ出力する。
【００２２】
コントローラ４００は、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）等のマイクロプロセッサ、及び、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等のメモリデバイスを含むマイクロコンピュータを備えている。また、コントローラ４００は、例えば、ホール素子、ホールＩＣ（Integrated Circuit）、レゾルバ等、電動モータＭにおけるロータＭＲの磁極位置を検出する磁極位置センサＰＳと接続され、磁極位置センサＰＳから出力された磁極位置検出信号を入力する。そして、コントローラ４００のマイクロコンピュータは、電流検出部３００の検出回路３０２から出力された電流検出電圧、電動モータＭにおけるロータＭＲの磁極位置を検出する磁極位置センサＰＳから出力された磁極位置検出信号、及び、ＥＣＵ３０から出力された指令信号（指令トルク）に基づいて、インバータ２００におけるスイッチング素子２０１〜２０６のオン・オフ状態の切り替えを制御する制御信号を、スイッチング素子２０１〜２０６の各制御端子へ出力するように構成されている。
【００２３】
具体的には、コントローラ４００は、インバータ２００のスイッチング素子２０１〜２０６のオン・オフを三角波比較方式のＰＷＭ（Pulse Width Modulation）によって制御して、電動モータＭに印加する電圧を制御する。三角波比較方式のＰＷＭ制御においては、三角波キャリアと電圧指令値（デューティ指令値）とを比較することで、各スイッチング素子２０１〜２０６のオン・オフ状態を切り替えるタイミング、換言すれば、スイッチング素子２０１〜２０６に対する制御信号であるＰＷＭパルスの立ち上げ及び立ち下げのタイミングを検出する。
【００２４】
なお、コントローラ４００は、各相の上アームにおけるスイッチング素子２０１，２０３，２０５のオン・オフ状態の切り替えを制御するＰＷＭパルスに対し、各相の下アームにおけるスイッチング素子２０２，２０４，２０６のオン・オフ状態の切り替えを制御するＰＷＭパルスを逆相とする相補方式で、インバータ２００におけるスイッチング素子２０１〜２０６をＰＷＭ制御する。つまり、１つの相の上アームにおけるスイッチング素子２０１，２０３，２０５のオン・オフ状態の切り替えを制御するＰＷＭパルスが論理レベルでハイ（High）のとき、同じ相の下アームにおけるスイッチング素子２０２，２０４，２０６のオン・オフ状態の切り替えを制御するＰＷＭパルスは論理レベルでロー（Low）となり、全相の上アームがオンのときに全相の下アームがオフに、全相の下アームがオンのときに全相の上アームがオフになる。
【００２５】
図３は、コントローラ４００の機能ブロック図であり、ベクトル制御方式による３相指令電圧Ｖｕ、Ｖｖ、Ｖｗの設定処理を示す。コントローラ４００は、機能ブロックとして、相電流検出部４０１、ロータ角度演算部４０２、ロータ角速度演算部４０３、３相−２軸変換部４０４、ｄ軸電流指令値設定部４０５、ｑ軸電流指令値設定部４０６、ベクトル制御部４０７、２軸−３相変換部４０８及びＰＷＭパルス生成部４０９を有している。
【００２６】
相電流検出部４０１は、電流検出部３００の検出回路３０２から出力された電流検出電圧をＡ／Ｄ（Analog to Digital）変換し、変換後のＡ／Ｄ変換値からインバータ２００の直流母線電流を算出し、算出した直流母線電流に基づいて各相の相電流を相電流検出値Ｉｕ，Ｉｖ，Ｉｗとして検出する。すなわち、モータ駆動装置１００は、１つのシャント抵抗３０１で電動モータＭの各相の相電流を検出するように構成されている。なお、相電流の検出方法については後述する。
【００２７】
ロータ角度演算部４０２は、磁極位置センサＰＳから出力された磁極位置検出信号に基づいて、電動モータＭにおけるロータＭＲの磁極位置θを演算する。ロータ角速度演算部４０３は、ロータ角度演算部４０２で算出したロータＭＲの磁極位置θの時間変化からロータＭＲの角速度ωを演算する。
【００２８】
３相−２軸変換部４０４は、相電流検出部４０１で検出した相電流検出値Ｉｕ，Ｉｖ，Ｉｗを、そのときのロータＭＲの磁極位置θに基づいて、２軸の回転座標系（ｄ−ｑ座標系）におけるｄ軸電流検出値Ｉｄ及びｑ軸電流検出値Ｉｑに変換する。
【００２９】
ｄ軸電流指令値設定部４０５は、ｄ−ｑ座標系におけるｄ軸電流の指令値（ｄ軸電流指令値）Ｉｄ＊を例えば零に設定する。ｑ軸電流指令値設定部４０６は、ＥＣＵ３０からの指令トルクを電動モータＭに固有のトルク定数Ｋｔで除算する等により、ｄ−ｑ座標系におけるｑ軸電流の指令値（ｑ軸電流指令値）Ｉｑ＊を設定する。
【００３０】
ベクトル制御部４０７は、ｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊、ロータ角速度演算部４０３で算出した角速度ω、３相−２軸変換部４０４で相電流検出値Ｉｕ，Ｉｖ，Ｉｗを変換して得られたｄ軸電流検出値Ｉｄ及びｑ軸電流検出値Ｉｑに基づいて、ｄ−ｑ座標系におけるｄ軸電圧の指令値（ｄ軸電圧指令値）Ｖｄ及びｑ軸電圧の指令値（ｑ軸電圧指令値）Ｖｑを演算する。要するに、ベクトル制御部４０７は、ロータＭＲの角速度を考慮しつつ、ＰＩ制御等の電流フィードバック制御によって、ｄ軸電流検出値Ｉｄをｄ軸電流指令値Ｉｄ＊に近づけ、かつ、ｑ軸電流検出値Ｉｑをｑ軸電流指令値Ｉｑ＊に近づけるように、ｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑを演算する。
【００３１】
２軸−３相変換部４０８は、ベクトル制御部４０７で演算されたｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑを、そのときのロータＭＲの磁極位置θに基づいて、Ｕ相電圧指令値Ｖｕ、Ｖ相電圧指令値Ｖｖ及びＷ相電圧指令値Ｖｗの３相電圧指令値に変換する。
【００３２】
また、２軸−３相変換部４０８は、３相電圧指令値Ｖｕ，Ｖｖ，Ｖｗを補正することにより、三角波キャリアの谷を中心として生成されるＰＷＭパルスを前後にシフトさせるパルスシフト処理を行う。このパルスシフト処理は、相電流を検出するタイミングを生成するために必要となる処理であり、詳細については後述する。
【００３３】
ＰＷＭパルス生成部４０９では、スイッチング素子２０１〜２０６を駆動するためのＰＷＭパルスの立ち上げタイミング及び立ち下げタイミングを、３相電圧指令値Ｖｕ，Ｖｖ，Ｖｗと三角波キャリアとの比較に基づいて決定し、生成したＰＷＭパルスをインバータ２００のスイッチング素子２０１〜２０６の各制御端子に出力する。
【００３４】
例えば、ＰＷＭパルス生成部４０９は、Ｕ相電圧指令値Ｖｕと三角波キャリアとを比較し、Ｕ相電圧指令値Ｖｕが三角波キャリアよりも大きいときに、Ｕ相の上アームにおけるスイッチング素子２０１を駆動するためのＰＷＭパルスを論理レベルでハイレベルに設定し、Ｕ相電圧指令値Ｖｕが三角波キャリアよりも小さいときにＵ相の上アームにおけるスイッチング素子２０１を駆動するためのＰＷＭパルスを論理レベルでローレベルに設定する。また、ＰＷＭパルス生成部４０９は、Ｕ相の上アームにおけるスイッチング素子２０１を駆動するためのＰＷＭパルスの反転信号を、Ｕ相の下アームにおけるスイッチング素子２０２を駆動するためのＰＷＭパルスとして生成する。
【００３５】
同様にして、ＰＷＭパルス生成部４０９は、Ｖ相の上下アームにおけるスイッチング素子２０３，２０４を駆動するためのＰＷＭパルス、及び、Ｗ相の上下アームにおけるスイッチング素子２０５，２０６を駆動するためのＰＷＭパルスを生成する。
【００３６】
次に、相電流検出部４０１における相電流の検出方法について説明する。
【００３７】
相電流検出部４０１は、電流検出電圧に基づいて算出したインバータ２００の直流母線電流が、スイッチング素子２０１〜２０６に出力されるＰＷＭパルスの組み合わせ次第で１つの相の相電流に相当することを利用して、電動モータＭの各相の相電流を相電流検出値Ｉｕ，Ｉｖ，Ｉｗとして検出する。
【００３８】
例えば、Ｕ相の上アームのスイッチング素子２０１がオン状態で、Ｖ相の上アームのスイッチング素子２０３及びＷ相の上アームのスイッチング素子２０５が共にオフ状態である場合は、Ｕ相コイルＭｕに流れた電流がＶ相コイルＭｖ及びＷ相コイルＭｗに分かれて流れ、相電流検出部４０１は、算出した直線母線電流をＵ相の相電流検出値Ｉｕとして検出することになる。つまり、各相の上アームのスイッチング素子２０１，２０３，２０５のうちの１つをオン状態に制御しつつ他の２つをオフ状態に制御するＰＷＭパルスの組み合わせ状態において、相電流検出部４０１は、上アームのスイッチング素子２０１，２０３，２０５のうちオン状態に制御されている１つの相の相電流を検出することになる。
【００３９】
また、Ｕ相の上アームのスイッチング素子２０１及びＶ相の上アームのスイッチング素子２０３が共にオン状態で、Ｗ相の上アームのスイッチング素子２０５がオフ状態である場合は、Ｕ相コイルＭｕに流れた電流及びＶ相コイルＭｖに流れた電流が合流してＷ相コイルＭｗに流れることになり、相電流検出部４０１は、算出した直線母線電流をＷ相の相電流検出値Ｉｗとして検出することになる。つまり、各相の上アームのスイッチング素子２０１，２０３，２０５のうちの２つをオン状態に制御しつつ他の１つをオフ状態に制御するＰＷＭパルスの組み合わせ状態において、相電流検出部４０１は、上アームのスイッチング素子２０１，２０３，２０５のうちオフ状態に制御されている１つの相の相電流を検出することになる。
【００４０】
したがって、相電流検出部４０１は、ＰＷＭパルスが各相の上アームにおけるスイッチング素子２０１，２０３，２０５のうちの１つ又は２つをオン状態に制御する論理レベルとなる時間を相電流検出時間とする。相電流検出部４０１は、各相電流検出時間において、１つだけオン状態となる上アームのスイッチング素子の相、あるいは、１つだけオフ状態となる上アームのスイッチング素子の相を、相電流が検出される相として特定する。そして、相電流検出部４０１は、相電流検出時間内に相電流検出タイミング（例えば電流検出電圧のＡ／Ｄ変換におけるサンプリングタイミング）を設定し、この相電流検出タイミングで電流検出電圧をサンプリングし、サンプリング値から求めた直流母線電流の電流値をそのときに検出対象として特定されている相の相電流検出値とする。
【００４１】
ところで、電動モータＭにおける３相の相電流のうち２相までを検出できれば、残りの１相の相電流は、３相の相電流の総和が零になることを用いて演算により得られる。そこで、２軸−３相変換部４０８は、電動モータＭにおける３相のうち２相の各相電流を検出する相電流検出タイミングを設定できるように、ＰＷＭパルスの位相を相毎に変化させるパルスシフト処理を実施する。
【００４２】
図４は、パルスシフト処理による相電流検出の一態様を示すタイムチャートである。図４に示すように、例えば、Ｖ相の相電流検出値Ｉｖ及びＷ相の相電流検出値Ｉｗを検出する場合には、２軸−３相変換部４０８は、Ｖ相の上アームのスイッチング素子２０３に対するＰＷＭパルスの位相を進めるとともに、Ｗ相の上アームのスイッチング素子２０５に対するＰＷＭパルスの位相を遅くするようにＶ相電圧指令値Ｖｖ及びＷ相電圧指令値Ｖｗを補正する。具体的には、２軸−３相変換部４０８は、Ｖ相の上アームのスイッチング素子２０３に対するＰＷＭパルスの位相を進める場合、三角波キャリアの谷よりも前半の半周期（時刻ｔ１〜ｔ３）でＶ相電圧指令値Ｖｖを増大補正し、その増大補正分に応じて、三角波キャリアの谷よりも後半の半周期（時刻ｔ３〜ｔ５）でＶ相電圧指令値Ｖｖを減少補正する。また、２軸−３相変換部４０８は、Ｗ相の上アームのスイッチング素子２０５に対するＰＷＭパルスの位相を遅くする場合、三角波キャリアの谷よりも前半の半周期（時刻ｔ１〜ｔ３）でＷ相電圧指令値Ｖｗを減少補正し、その減少補正分に応じて、三角波キャリアの谷よりも後半の半周期（時刻ｔ３〜ｔ５）でＷ相電圧指令値Ｖｗを増大補正する。
【００４３】
Ｕ相電圧指令値Ｖｕは２軸−３相変換部４０８によって補正されていないので、Ｕ相の上アームのスイッチング素子２０１に対するＰＷＭパルスは三角波キャリアの谷（時刻ｔ３）を中心に生成される。一方、Ｖ相電圧指令値Ｖｖ及びＷ相電圧指令値Ｖｗは２軸−３相変換部４０８によって補正されているので、Ｖ相の上アームのスイッチング素子２０３に対するＰＷＭパルスは位相が進められて三角波キャリアの谷（時刻ｔ３）よりも早い時刻を中心に生成され、Ｗ相の上アームのスイッチング素子２０５に対するＰＷＭパルスは位相が遅らされて三角波キャリアの谷（時刻ｔ３）よりも遅い時刻を中心に生成される。
【００４４】
かかるパルスシフト処理によって、三角波キャリアの谷よりも前半の半周期（時刻ｔ１〜ｔ３）で、Ｕ相の上アームのスイッチング素子２０１及びＶ相の上アームのスイッチング素子２０３がオン状態となり、かつ、Ｗ相の上アームのスイッチング素子２０５がオフ状態となる相電流検出時間Ｄ１が生成される。また、三角波キャリアの谷よりも後半の半周期（時刻ｔ３〜ｔ５）で、Ｕ相の上アームのスイッチング素子２０１及びＷ相の上アームのスイッチング素子２０５がオン状態となり、かつ、Ｖ相の上アームのスイッチング素子２０３がオフ状態となる相電流検出時間Ｄ２が生成される。
【００４５】
そこで、相電流検出部４０１は、三角波キャリアの谷よりも前半の半周期（時刻ｔ１〜ｔ３）における相電流検出時間Ｄ１のうちの時刻ｔ２を相電流検出タイミングとして設定し、この相電流検出タイミングで電流検出部３００の検出回路３０２から出力された電流検出電圧をサンプリングしてＷ相の相電流を検出する。また、相電流検出部４０１は、三角波キャリアの谷よりも後半の半周期（時刻ｔ３〜ｔ５）における相電流検出時間Ｄ２のうちの時刻ｔ４を相電流検出タイミングとして設定し、この相電流検出タイミングで電流検出電圧をサンプリングしてＶ相の相電流を検出する。そして、相電流検出値Ｉｖ及びＩｗから、Ｉｕ＝−（Ｉｖ＋Ｉｗ）なる演算式によって相電流検出値Ｉｕを算出する。
【００４６】
ここで、コントローラ４００には、図３に示すように、ｑ軸電圧指令値Ｖｑ、ｑ軸電流検出値Ｉｑ及びロータＭＲの角速度ωに基づいて、シャント抵抗３０１を含む電流検出部３００の異常を検知する異常診断部５００がさらに備えられている。
【００４７】
図５は、異常診断部５００における異常診断処理の概要を示す。異常診断部５００は、ベクトル制御部４０７で算出したｑ軸電圧指令値Ｖｑの符号情報を抽出する符号情報抽出処理５０１を行う。そして、異常診断部５００は、乗算処理５０２において、ｑ軸電圧指令値Ｖｑの符号が負を示す場合には（−１）を、あるいは、ｑ軸電圧指令値Ｖｑの符号が正を示す場合には（＋１）を、３相−２軸変換部４０４で得られたｑ軸電流検出値Ｉｑに乗算して、ｑ軸電流検出値Ｉｑの診断用変換値である診断用ｑ軸電流検出値Ｉｑａを取得する。要するに、異常診断部５００は、乗算処理５０２において、ｑ軸電圧指令値Ｖｑの正負に応じてｑ軸電流検出値Ｉｑの正負を決定している。
【００４８】
また、異常診断部５００は、ベクトル制御部４０７で算出したｑ軸電圧指令値Ｖｑを絶対値に変換する絶対値処理５０３を行った後、絶対値に変換されたｑ軸電圧指令値（診断用ｑ軸電圧指令値）｜Ｖｑ｜に基づいて、電流検出部３００が正常であるときの診断用ｑ軸電流検出値Ｉｑａとして推定されるｑ軸電流推定値を決定する。具体的には、異常診断部５００は、種々要因によるｑ軸電流検出値Ｉｑのばらつきを考慮して、上限推定値演算処理５０４によりｑ軸電流推定値の上限値であるｑ軸電流上限推定値を演算し、下限推定値演算処理５０５によりｑ軸電流推定値の下限値であるｑ軸電流下限推定値を演算する。ｑ軸電流上限推定値及びｑ軸電流下限推定値は、診断用ｑ軸電流検出値Ｉｑａの正常範囲を画する閾値となる。ｑ軸電流上限推定値及びｑ軸電流下限推定値は、概略的には、図６に示すように、診断用ｑ軸電圧指令値｜Ｖｑ｜とともに徐々に増大し、また、診断用ｑ軸電流検出値Ｉｑａの正常範囲は、絶対値化したｑ軸電圧指令値｜Ｖｑ｜とともに徐々に広がっていく。
【００４９】
そして、異常診断部５００は、乗算処理５０２で得られた診断用ｑ軸電流検出値Ｉｑａ、上限推定値演算処理５０４で得られたｑ軸電流上限推定値、及び、下限推定値演算処理５０５で得られたｑ軸電流下限推定値に基づいて、電流検出部３００の異常の有無を判定する異常判定処理５０６を行う。
【００５０】
図７は、コントロールシャフト２２の回転角度の変化に対する診断用ｑ軸電流検出値Ｉｑａの変化を示す。基本的には、異常診断部５００における異常判定処理５０６では、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流推定値から所定時間Ｔ継続して乖離する、より詳しくは、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流上限推定値とｑ軸電流下限推定値との間で規定される正常範囲から逸脱するという異常状態が所定時間Ｔ継続したときに、電流検出部３００は異常であると判定する。コントロールシャフト２２の検出角度を目標角度に近づけるべく電動モータＭを回転させる際には、ｑ軸電流検出値Ｉｑやその正常範囲が安定し難いため、異常診断部５００による電流検出部３００の異常検知は、電動モータＭが殆ど停止した状態で行うことが好ましい。
【００５１】
ところで、例えばシャント抵抗３０１の抵抗値が何らかの原因によって低下する等により、電流検出部３００の検出回路３０２から出力される電流検出電圧が実際の直流母線電流に相当する電圧よりも低い電圧となる異常（以下、「電流検出ゲイン低下異常」という）が発生した場合には、ｑ軸電流検出値Ｉｑも実際より零に近い値となってしまう。そうすると、ベクトル制御部４０７は、ｑ軸電流検出値Ｉｑをｑ軸電流指令値Ｉｑ＊に近づけるべくｑ軸電圧指令値Ｖｑを上昇させる。しかし、電動モータＭのトルクが過大となって、コントロールシャフト２２の回転角度が目標角度を超えてしまうため、ＥＣＵ３０は、電動モータＭが逆方向のトルクを発生するようにコントローラ４００に指令トルクを出力する。そして、ベクトル制御部４０７は、ＥＣＵ３０が指令トルクを逆方向にしたことに伴って算出されたｑ軸電流指令値Ｉｑ＊にｑ軸電流検出値Ｉｑを近づけるようにｑ軸電圧指令値Ｖｑを算出する。ところが、上記のようにｑ軸電流検出値Ｉｑは実際より零に近い値となるため、今度は、電動モータＭの逆方向のトルクが過大となって、コントロールシャフト２２の回転角度が逆方向から目標角度を超えてしまう。
【００５２】
したがって、電流検出ゲイン低下異常が発生した場合には、図８（ａ）に示すようにコントロールシャフト２２の回転角度が目標角度に収束せずに振動するとともに、図８（ｂ）に示すように電動モータＭが正転及び逆転を繰り返すことが想定される。この状態において、図８（ｃ）に示すようにｑ軸電圧指令値Ｖｑが変動するに伴い、図８（ｄ）に示すようにｑ軸電流下限推定値（ｑ軸電流上限推定値についても同様。以下省略）が上下動を繰り返すことになる。
【００５３】
しかし、ｑ軸電流下限推定値は、電動モータＭの回転速度が上昇するに従って増大する誘起電圧の影響によって、図６のように診断用ｑ軸電圧指令値｜Ｖｑ｜に基づいて算出されるｑ軸電流下限推定値よりも低下してしまう。このため、電動モータＭの回転速度が比較的低い場合には、診断用ｑ軸電流検出値Ｉｑａはｑ軸電流下限推定値を下回って異常範囲に含まれる一方、電動モータＭの回転速度が比較的高い場合には、診断用ｑ軸電流検出値Ｉｑはｑ軸電流下限値を上回って正常範囲に含まれてしまう。したがって、図８（ｅ）に示すように、診断用ｑ軸電流検出値Ｉｑａが異常範囲に含まれてからの異常状態の継続時間を示すＮＧカウンタが所定時間Ｔに到達する前に、診断用ｑ軸電流検出値Ｉｑａが正常範囲に含まれる正常状態となると、ＲＡＭ等の書き換え可能なメモリに記憶されているＮＧカウンタは零にリセットされるため、電流検出部３００の異常を検知できないという誤診断のおそれがある。
【００５４】
そこで、異常診断部５００では、図９（ａ）に示すように、電動モータＭの回転速度が零を含む比較的低い所定範囲Ｒにあるときを、異常を検知するための診断実施時間としている。所定範囲Ｒは、電流検出ゲイン低下異常が発生している場合に、図９（ｂ）に示すように、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流下限推定値を下回って、診断用ｑ軸電流検出値Ｉｑａが異常状態となるように予め設定される。異常診断部５００は、電動モータＭの回転速度が所定範囲Ｒにあるか否かによって診断実施時間の開始及び終了のタイミングを判断するために、ロータ角速度演算部４０３で得られたロータＭＲの角速度ωを用いる。
【００５５】
また、異常診断部５００は、診断実施時間において診断用ｑ軸電流検出値Ｉｑａが異常状態であるときには、図９（ｃ）に示すように、ＲＡＭ等に記憶されているＮＧカウンタを診断実施時間分増大させ、診断実施時間終了後、ＮＧカウンタの値を保持するように構成されている。
【００５６】
そして、異常診断部５００は、図９（ｄ）に示すように、ＮＧカウンタが診断実施時間の積算によって所定時間Ｔに到達したときに、電流検出部３００が異常であると判定して、シャント抵抗３０１を含む電流検出部３００の合理性を示すＮＧフラグを異常であることを示す値に変化させる。
【００５７】
図１０は、車両のイグニッションスイッチがオン操作されてモータ駆動装置１００に電源供給されたことを契機として、異常診断部５００において繰り返し実行される異常診断処理を示す。
【００５８】
ステップＳ１（図中では「Ｓ１」と略記する。以下同様。）では、異常診断部５００は、診断実施条件が成立しているか否かを判定する。かかる診断実施条件が成立するのは、ＥＣＵ３０からコントローラ４００に対して電動モータＭの駆動指令信号が出力される等の駆動許可条件が成立していること、異常時に車載電源Ｅからインバータ２００に対する電力供給を停止するフェールセーフリレーがシャットダウン（遮断）動作中でないこと、及び、電動モータＭの回転速度が前述の所定範囲Ｒに含まれることの３条件が全て成立する場合である。電動モータＭの回転速度が所定範囲Ｒに含まれているか否かは、ロータ角速度演算部４０３で得られたロータＭＲの角速度ωに基づいて判定することができる。そして、異常診断部５００は、診断実施条件が成立していると判定した場合には（ＹＥＳ）、処理をステップＳ２へ進める一方、診断実施条件が成立していないと判定した場合には（ＮＯ）、異常診断処理を終了する。
【００５９】
ステップＳ２では、異常診断部５００は、診断用ｑ軸電圧指令値｜Ｖｑ｜に対してフィルタ処理を行う。かかるフィルタ処理は、ｑ軸電圧指令値Ｖｑに基づくＰＷＭパルスをインバータ２００に出力して電動モータＭを駆動する場合に、ｑ軸電流検出値Ｉｑがｑ軸電圧指令値Ｖｑに対応した値となるまでの時間的な遅れ、すなわち、電動モータＭのモータ特性（例えばインダクタンス）による電流応答遅れ（１次遅れ）が発生することを考慮して行うものである。したがって、異常診断部５００は、上記の電流応答遅れを考慮してｑ軸電流上限推定値及びｑ軸電流下限推定値を演算できるように、診断用ｑ軸電圧指令値｜Ｖｑ｜に対してフィルタ処理を行う。
【００６０】
ステップＳ３では、異常診断部５００は、ステップＳ１でフィルタ処理がなされた診断用ｑ軸電圧指令値｜Ｖｑ｜に基づいて、ｑ軸電流上限推定値及びｑ軸電流下限推定値を演算する。診断用ｑ軸電流検出値Ｉｑａの正常範囲は、電流検出電圧のＡ／Ｄ変換等による電圧検出、電流検出部３００による電流検出、電動モータＭのモータ特性（誘起電圧定数、ｑ軸抵抗）、相補方式のスイッチング切り換え時におけるデッドタイムに起因した電圧降下代、ロータ角度検出、及び、内燃機関１０の油温又は排気性能の複数からなる、診断用ｑ軸電流検出値Ｉｑａの複数のばらつき要因のうち、少なくとも１つの要因におけるばらつきに応じて変化する。
【００６１】
例えば、異常診断部５００は、以下のようにしてｑ軸電流上限推定値及びｑ軸電流下限推定値を演算する。電圧検出のばらつきの最大値を考慮してｑ軸電流上限推定値を演算した場合には、電圧検出のばらつきの最小値を考慮してｑ軸電流下限推定値を演算する。電流検出のばらつきの最大値を考慮してｑ軸電流上限推定値を演算した場合には、電流検出のばらつきの最小値を考慮してｑ軸電流下限推定値を演算する。誘起電圧定数のばらつきの最小値を考慮してｑ軸電流上限推定値を演算した場合には、誘起電圧定数のばらつきの最大値を考慮してｑ軸電流下限推定値を演算する。ｑ軸抵抗のばらつきの最小値を考慮してｑ軸電流上限推定値を演算した場合には、ｑ軸抵抗のばらつきの最大値を考慮してｑ軸電流下限推定値を演算する。デッドタイムによる電圧降下代のばらつきの最小値を考慮してｑ軸電流上限推定値を演算した場合には、デッドタイムによる電圧降下代のばらつきの最大値を考慮してｑ軸電流下限推定値を演算する。ロータ角度検出ばらつきの最大値を考慮してｑ軸電流上限推定値を演算した場合には、ロータ角度検出ばらつきの最小値を考慮してｑ軸電流下限推定値を演算する。
【００６２】
ステップＳ４では、異常診断部５００は、ｑ軸電圧指令値Ｖｑが零よりも大きいか否かを判定する。そして、異常診断部５００は、ｑ軸電圧指令値Ｖｑが零よりも大きいと判定した場合には（ＹＥＳ）、処理をステップＳ５へ進める一方、ｑ軸電圧指令値Ｖｑが零以下であると判定した場合には（ＮＯ）、処理をステップＳ６へ進める。
【００６３】
ステップＳ５では、異常診断部５００は、３相−２軸変換部４０４で得られたｑ軸電流検出値Ｉｑを異常診断処理における診断用ｑ軸電流検出値Ｉｑａとして決定する。一方、ステップＳ６では、異常診断部５００は、３相−２軸変換部４０４で得られたｑ軸電流検出値Ｉｑに（−１）を乗算した値を診断用ｑ軸電流検出値Ｉｑａとして決定する。
【００６４】
ステップＳ７では、異常診断部５００は、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流上限推定値以上であるか否かを判定する。そして、異常診断部５００は、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流上限推定値以上であると判定した場合には（ＹＥＳ）、診断用ｑ軸電流検出値Ｉｑａが正常範囲を逸脱して異常範囲に含まれるので、処理をステップＳ９へ進める。一方、異常診断部５００は、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流上限推定値未満であると判定した場合には（ＮＯ）、処理をステップＳ８へ進める。
【００６５】
ステップＳ８では、異常診断部５００は、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流下限推定値以下であるか否かを判定する。そして、異常診断部５００は、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流下限推定値以下であると判定した場合には（ＹＥＳ）、診断用ｑ軸電流検出値Ｉｑａが正常範囲を逸脱して異常範囲に含まれるので、処理をステップＳ９へ進める。一方、異常診断部５００は、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流下限推定値よりも大きいと判定した場合には（ＮＯ）、診断用ｑ軸電流検出値Ｉｑａは正常範囲に含まれるので、ステップＳ９を省略して、処理をステップＳ１０へ進める。
【００６６】
ステップＳ９では、異常診断部５００は、例えば、ステップＳ１において診断実施条件が成立したと判定されてからの経過時間等、異常診断処理における経過時間で、ＲＡＭ等の書き換え可能なメモリに記憶されているＮＧカウンタをカウントアップする（増大させる）。
【００６７】
ステップＳ１０では、異常診断部５００は、ＮＧカウンタが所定時間Ｔ以上であるか否かを判定する。そして、異常診断部５００は、ＮＧカウンタが所定時間Ｔ以上であると判定し場合には（ＹＥＳ）、処理をステップＳ１１へ進めて、電流検出部３００が異常であると判定するとともに、ＮＧフラグを、異常を示す値に変化させる。一方、異常診断部５００は、ＮＧカウンタが所定時間Ｔ未満であると判定した場合には（ＮＯ）、ステップＳ１１を省略して、異常診断処理を終了する。
【００６８】
ステップＳ１０の所定時間Ｔは、電流検出ゲイン低下異常によって、図１１（ａ）に示すように電動モータＭの回転速度Ｎがハンチングを起こして、図１１（ｂ）に示すようにコントロールシャフト２２が回転振動したときであっても、ＶＣＲ機構２０ないし内燃機関１０に対する影響が低い時間内で電流検出部３００の異常を判定できるようにすべく、以下のように設定可能である。
【００６９】
先ず、異常診断部５００は、図１１（ａ）に示すように、電動モータＭの回転速度Ｎのハンチング波形から回転速度Ｎの変動周期ＴＡ及び回転速度Ｎの最大変動量Ｎｐ（ピーク値）を検出する。そして、異常診断部５００は、電動モータＭの回転速度Ｎが図１１（ａ）のハンチング波形で継続するものと仮定して、回転速度Ｎの変動周期ＴＡ及び回転速度Ｎの最大変動量Ｎｐに基づいて、電動モータＭの回転速度Ｎが所定範囲Ｒ（Ｎ１〜Ｎ２）に含まれている時間すなわち診断実施時間ＴＢを推定する。例えば、電動モータＭの回転速度Ｎのハンチング波形を、αを初期位相とした正弦波で近似すると、
Ｎ１＝Ｎｐ×ＳＩＮ｛（２π／ＴＡ）×ｔｉ＋α｝…（１）、及び
Ｎ２＝Ｎｐ×ＳＩＮ｛（２π／ＴＡ）×ｔｉｉ＋α｝…（２）
という２つの関係式（１）及び（２）から時刻ｔｉ及びｔｉｉを演算し、時刻ｔｉ及びｔｉｉに基づいて診断実施時間ＴＢを演算できる。
【００７０】
また、異常診断部５００は、コントロールシャフト２２の回転角度のハンチング波形における回転角度θの最大変動量Ｌｐ−ｐ（ピークピーク値）を検出する。そして、異常診断部５００は、コントロールシャフト２２の回転角度θが図１１（ｂ）のハンチング波形で継続するものと仮定して、検出した回転角度θの最大変動量Ｌｐ−ｐ及び変動周期ＴＡに基づいて、異常状態を継続してもＶＣＲ機構２０ないし内燃機関１０に対して殆ど影響を及ぼさない時間の最長値（異常継続許容時間）ＴＣを推定する。例えば、コントロールシャフト２２の回転角度θが１周期変動すると、その変動量は回転角度θの最大変動量Ｌｐ−ｐの２倍の回転角度に相当する変動量（２×Ｌｐ−ｐ）となる。これに対し、電動モータＭの回転速度のハンチングがＶＣＲ機構２０ないし内燃機関１０に対して殆ど影響を及ぼさないときの変動量の限界値としてＬｍａｘが予め設定されているとすると、異常継続許容時間ＴＣは、以下の関係式（３）によって演算される。
ＴＣ＝（Ｌｍａｘ／（２×Ｌｐ−ｐ））×ＴＡ…（３）
【００７１】
そして、異常診断部５００は、上記のようにして演算された、ハンチング波形の周期ＴＡ、診断実施時間ＴＢ及び異常継続許容時間ＴＣに基づいて、所定時間Ｔを演算する。例えば、ＮＧカウンタが所定時間Ｔに到達するまでの周期をＰとすると、以下の２つの関係式（４）及び（５）が成立する。
Ｔ＝２×ＴＢ×Ｐ…（４）
ＴＣ≧ＴＡ×Ｐ…（５）
【００７２】
したがって、上記の２つの関係式（４）及び（５）からＰを消去すると、
Ｔ≦（２×ＴＢ×ＴＣ）／ＴＡ…（６）
という関係式（６）が得られ、異常判定の精度を重視する場合には、所定時間Ｔを長くすることが好ましいので、所定時間Ｔは、
Ｔ＝（２×ＴＢ×ＴＣ）／ＴＡ…（７）
という関係式（７）で定義されることになる。これにより、電流検出ゲイン低下異常によるＶＣＲ機構２０ないし内燃機関１０の２次故障を抑制しつつ、比較的良好な精度で異常を判定することができる。
【００７３】
このようなモータ駆動装置１００によれば、コントローラ４００が、１つのシャント抵抗３０１を含む電流検出部３００の検出回路３０２から出力された電流検出電圧に基づいてｑ軸電流検出値Ｉｑを演算し、また、電流指令値Ｉｄ＊，Ｉｑ＊、電流検出値Ｉｄ，Ｉｑ、角速度ωに基づいてｑ軸電圧指令値Ｖｑを演算する。そして、コントローラ４００は、ｑ軸電流検出値Ｉｑから演算した診断用ｑ軸電流検出値Ｉｑａが、診断用ｑ軸電圧指令値｜Ｖｑ｜に基づいて設定されたｑ軸電流推定値から所定時間継続して乖離するか否かによって、電流検出部３００の異常の有無を判定している。このため、モータ駆動装置１００は、電流検出部３００の異常を検知するために、電流検出部３００以外の他の電流検出手段を用いていない。したがって、モータ駆動装置１００によれば、部品点数を増大させることなく、簡易な構成で電流検出部３００の異常を検知することができる。
【００７４】
また、モータ駆動装置１００によれば、電流検出ゲイン低下異常により電動モータＭの回転速度がハンチングしたときに、電動モータＭの回転速度の上昇に伴ってｑ軸電流下限推定値が誘起電圧の影響により低下して、診断用ｑ軸電流検出値Ｉｑａが正常範囲に含まれてしまう場合でも、以下のようにして電流検出部３００の異常を検知することができる。すなわち、異常診断部５００は、電動モータＭの回転速度が比較的低い所定範囲Ｒとなるときを診断実施時間としているので、ｑ軸電流下限推定値が誘起電圧の影響を受け難く、診断用ｑ軸電流検出値Ｉｑａがｑ軸電流下限推定値を下回った状態で異常の有無を判定することができる。そして、異常診断部５００は、各診断実施時間でカウントアップしたＮＧカウンタの値を保持するように構成されているので、ＮＧカウンタが所定時間Ｔに到達したときに電流検出部３００の異常を検知することができる。
【００７５】
なお、前述の実施形態において、ｄ軸電流指令値設定部４０５では、ｄ軸電流指令値Ｉｄ＊を零に設定していたが（「Ｉｄ＝０制御」）、電動モータＭの種類に応じたベクトル制御方式に変更することで、ｄ軸電流指令値設定部４０５はｄ軸電流指令値Ｉｄ＊を零以外の値に設定することができる。例えば、電動モータＭがロータＭＲの内部に永久磁石を埋め込んだ埋込磁石構造のＩＰＭ（Interior Permanent Magnet Synchronous Motor）である場合には、「Ｉｄ＝０制御」以外のベクトル制御方式を採用することができる。
【００７６】
「Ｉｄ＝０制御」以外のベクトル制御方式を採用する場合、異常診断部５００は、前述の実施形態と同様に、ｄ軸電圧指令値Ｖｄ及びｄ軸電流検出値Ｉｄに基づいて、電流検出部３００の異常を検知することができる。すなわち、異常診断部５００は、ｄ軸電圧指令値Ｖｄを絶対値処理及びフィルタ処理して得られる診断用ｄ軸電圧指令値｜Ｖｄ｜に基づいてｄ軸電流上限推定値及びｄ軸電流下限推定値を演算し、ｄ軸電流検出値Ｉｄとｄ軸電圧指令値Ｖｄの符号情報とに基づいて診断用ｄ軸電流検出値Ｉｄａを演算する。そして、異常診断部５００は、診断用ｄ軸電流検出値Ｉｄａがｄ軸電流上限推定値とｄ軸電流下限推定値との間で規定される正常範囲から逸脱する異常状態が所定時間Ｔ継続したときに、電流検出部３００が異常であると判定する。
【００７７】
但し、異常診断部５００がｄ軸電圧指令値Ｖｄ及びｄ軸電流検出値Ｉｄに基づいて異常診断処理を行う場合には、ｄ軸電流上限推定値及びｄ軸電流下限推定値は電動モータＭの回転速度が上昇しても誘起電圧の影響を受けないため、診断実施時間は電動モータＭの回転速度が所定範囲Ｒとなるときに限られない。このため、異常診断部５００は、ステップＳ１の診断実施条件から、電動モータＭの回転速度が前述の所定範囲Ｒに含まれること、という条件を除外することができる。したがって、異常診断部５００は、ロータＭＲの角速度ωの情報を用いることなく、異常診断処理を行うことができる。
【００７８】
前述の実施形態において、電流検出ゲイン低下異常によって電動モータＭの回転速度がハンチングしても、電動モータＭのモータ特性によりｑ軸電流検出値が正常範囲に含まれて正常状態となるようなことが生じないと想定される場合には、診断実施条件から、電動モータＭの回転速度が前述の所定範囲Ｒに含まれること、という条件を除外してもよい。
【００７９】
前述の実施形態の異常診断処理（図１０参照）において、異常診断部５００は、ステップ８により診断用ｑ軸電流検出値Ｉｑａが正常範囲に含まれて正常状態であると判定した場合、ステップＳ１０の処理を行う前に、ステップＳ９のＮＧカウンタのカウントアップ処理を省略するだけであった。これに代えて、異常診断部５００は、誤診断を低減すべく、ステップ８により診断用ｑ軸電流検出値Ｉｑａが正常範囲に含まれて正常状態であると判定した場合、ステップＳ１０の処理を行う前に、ＮＧカウンタをリセットするか、あるいはカウントダウンし（減少させ）てもよい。
【００８０】
前述の実施形態において、異常診断部５００がステップＳ１１において電流検出部３００が異常であると判定して、ＮＧフラグを異常であることを示す値に変化させた場合には、以下のようにすることができる。すなわち、コントローラ４００は、ＮＧフラグの値に基づいて、ＶＣＲ機構２０ないし内燃機関１０の２次故障を抑制すべく、車載電源Ｅとインバータ２００との間の直流母線に介挿された図示省略のフェールセーフリレーをシャットダウン（遮断）して、電動モータＭに対する電力供給を停止することができる。また、コントローラ４００は、フェールセーフリレーのシャットダウンに加えて又はこれとは別に、例えば、ベクトル制御部４０７でｄ軸電圧指令値Ｖｄ及びｑ軸電圧指令値Ｖｑを零にする等の強制的処理によって、コントローラ４００からインバータ２００のスイッチング素子２０１〜２０６へ出力されるＰＷＭパルスのデューティを零にすることもできる。
【００８１】
以上、好ましい実施形態を参照して本発明の内容を具体的に説明したが、本発明の基本的技術思想及び教示に基づいて、当業者であれば種々の変形態様を採り得ることは自明である。例えば、モータ駆動装置１００はＶＣＲ機構２０における圧縮比制御アクチュエータ２３の動力源としての電動モータＭを駆動するものとして適用したが、これに限らず、モータ駆動装置１００は、内燃機関１０におけるカムの回転位相を可変制御するＶＴＣ（Valve Timing Control）、吸気バルブ１４Ａ及び排気バルブ１４Ｂの作動角・リフト量を可変制御するＶＥＬ（Variable Valve Event and Lift Control）、電動ブレーキシステム、電動パワーステアリング等、車載システムを駆動する車載アクチュエータとしての電動モータに適用可能である。要するに、モータ駆動装置１００は、電流検出手段によって検出された電流検出値が、車載アクチュエータとしての電動モータが駆動する駆動対象である車載システムの動作位置と目標位置との偏差に基づいて演算される目標電流値となるように電流フィードバック制御を行うものであればよい。
【００８２】
電動モータＭにおけるロータＭＲの磁極位置を検出する磁極位置検出手段として、磁極位置センサＰＳを例に説明したが、磁極位置センサＰＳを用いない既知のセンサレス技術によって磁極位置を検出するようにしてもよい。
【００８３】
モータ駆動装置１００は、圧縮比制御アクチュエータ２３に内蔵される構成に限らず、圧縮比制御アクチュエータ２３とは別体に構成することができる。また、モータ駆動装置１００についても、インバータ２００とコントローラ４００は別体に構成することができる。
【符号の説明】
【００８４】
１０…内燃機関、２０…ＶＣＲ機構、２２…コントロールシャフト、２３…圧縮比制御アクチュエータ、１００…モータ駆動装置、２００…インバータ、３００…電流検出部、３０１…シャント抵抗、３０２…検出回路、４００…コントローラ、４０１…相電流検出部、４０２…ロータ角度演算部、４０３…ロータ角速度演算部、４０４…３相−２軸変換部、４０７…ベクトル制御部、５００…異常診断部、５０１…符号情報抽出処理、５０２…乗算処理、５０３…絶対値処理、５０４…上限推定値演算処理、５０５…下限推定値演算処理、５０６…異常判定処理、Ｍ…電動モータ、Ｉｑ…ｑ軸電流検出値、Ｉｑａ…診断用ｑ軸電流検出値、Ｖｑ…ｑ軸電圧指令値、｜Ｖｑ｜…診断用ｑ軸電圧指令値、Ｒ…所定範囲、Ｔ…所定時間、ＴＡ…電動モータの回転速度の変動周期、Ｎｐ…電動モータの回転速度の最大変動量、Ｌｐ−ｐ…コントロールシャフトの回転角度の最大変動量、ＰＳ…磁極位置センサ
【図１】
0006802135.tif 000002
【図２】
0006802135.tif 000003
【図３】
0006802135.tif 000004
【図４】
0006802135.tif 000005
【図５】
0006802135.tif 000006
【図６】
0006802135.tif 000007
【図７】
0006802135.tif 000008
【図８】
0006802135.tif 000009
【図９】
0006802135.tif 000010
【図１０】
0006802135.tif 000011
【図１１】
0006802135.tif 000012