(57)【要約】【課題】電源を冗長化する場合であっても信頼性の低下を抑制すること。【解決手段】操舵ＥＣＵ３０は、２つの駆動回路５０，６０にそれぞれ異なる外部電源４３，４４が接続される２つの制御系統３１，３２が構成されている。各駆動回路５０，６０の低電位側とそれぞれに対応する各外部電源４３，４４の低電位側とは、２つの制御系統３１，３２毎に各電源グランド線ＧＬ１，ＧＬ２を介して独立して接続されている。また、各駆動回路５０，６０の低電位側は、内部グランド３３を介して共通に接続されている。また、各電源グランド線ＧＬ１，ＧＬ２と内部グランド３３との間には、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２をそれぞれ検出する２つの電流検出部５４，６４が設けられている。そして、操舵ＥＣＵ３０は、各電流検出部５４，６４の検出結果に基づいて、グランド異常を検出する各マイコン５５，６５を備えるようにしている。【選択図】図２
2017169405.tif 000002
【特許請求の範囲】
【請求項１】
外部電源を電力源として、駆動電力を制御対象であるモータの巻線に供給するように動作する複数の駆動回路を備え、前記複数の駆動回路にはそれぞれ異なる外部電源が接続されることによって、複数の制御系統が構成されるモータ制御装置において、
前記複数の制御系統について、各駆動回路の低電位側とそれぞれに対応する外部電源の低電位側とは、制御系統毎に独立したグランドである複数の電源グランドを介して接続されるとともに、各駆動回路の低電位側は、それぞれ共通のグランドである内部グランドを介して接続されており、
前記複数の電源グランドと前記内部グランドとの間には、前記複数の電源グランドの電流であるグランド電流をそれぞれ検出する複数の電流検出部が設けられ、
前記複数の電流検出部の検出結果に基づいて、前記複数の制御系統における各電源グランドの異常であるグランド異常を検出する異常検出部を備えていることを特徴とするモータ制御装置。
【請求項２】
前記異常検出部は、
前記駆動回路が前記モータに供給している前記駆動電力に基づいて、対応する外部電源の電源電流を前記複数の制御系統毎に演算し、
前記複数の制御系統における各電源電流と、前記複数の制御系統に対応する各電流検出部の検出結果との差に基づいて、前記グランド異常を検出する請求項１に記載のモータ制御装置。
【請求項３】
前記異常検出部は、前記複数の制御系統に対応する各電流検出部の検出結果を前記複数の制御系統の間で比較した結果に基づいて、前記グランド異常を検出する請求項１又は請求項２に記載のモータ制御装置。
【請求項４】
前記各駆動回路は、前記異常検出部が前記グランド異常を検出するタイミングにおいて、前記モータに対してｄｐ座標系のｄ軸電流を印加する請求項１〜請求項３のうちいずれか一項に記載のモータ制御装置。
【請求項５】
前記異常検出部が前記グランド異常を検出するタイミングには、前記モータに発生させるトルクが零の状況が含まれている請求項４に記載のモータ制御装置。
【請求項６】
請求項１〜請求項５のうちいずれか一項に記載のモータ制御装置は、外部指令値を含む電気信号が外部から入力されることに基づいて、転舵輪の転舵角を変化させる動力を付与するように前記モータの制御量を制御する操舵制御装置である。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御装置及び操舵制御装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、外部電源を電力源として、モータに駆動電力を供給する２つの制御系統（制御手段やインバータ）を備えるモータ制御装置が開示されている。このモータ制御装置では、２つの制御系統と、外部電源とをそれぞれ接続するための電力供給路についても２つ備えるようにしている。これにより、特許文献１に記載のモータ制御装置では、制御系統の冗長化が図られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−８０３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
モータ制御装置における冗長化では、制御系統のそれぞれに対して異なる外部電源を接続することによって、駆動電力の電力源を冗長化することも考えられる。すなわち、例えば、モータ制御装置に対しては異なる外部電源が独立して接続され、モータ制御装置の各制御系統に対しては異なる外部電源の低電位側が独立したグランドである電源グランド（所謂、フレームグランド）を介して接続されるようにする。なお、各制御系統の低電位側は、各制御系統間での通信を可能にするために、共通のグランドである内部グランド（所謂、シグナルグランド）を介して接続されるようにする。
【０００５】
ただし、上記例において、電源グランドの何れかでショート等の異常が生じた場合には、残りの正常な電源グランドに対して、各制御系統が内部グランドを通じて接続されるようになる。すなわち、異常が生じている電源グランドに接続されていた制御系統は、残りの正常な電源グランドを通じて正常動作することができる。そのため、駆動電力の電力源を冗長化する場合には、モータ制御装置の動作を外部から監視していたとしても、電源グランドの異常を検出することが困難であり、モータ制御装置の信頼性を低下させる懸念がある。その他、モータ制御装置は、車両の進行方向を自動的に変化させる自動運転を可能にする車両に搭載されることによって、車両用の操舵制御装置として用いられる場合もある。こうした操舵制御装置においても上記例のように駆動電力の電力源を冗長化する場合には、電源グランドの異常の検出が遅れてしまい、例えば、自動運転の機能を停止させようとしてもそのタイミングが遅れてしまう可能性があり、操舵制御装置の信頼性を低下させる懸念がある。
【０００６】
本発明は、こうした実情に鑑みてなされたものであり、その目的は、駆動電力の電力源を冗長化する場合であっても信頼性の低下を抑制できるモータ制御装置及び操舵制御装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するモータ制御装置は、外部電源を電力源として、駆動電力を制御対象であるモータの巻線に供給するように動作する複数の駆動回路を備え、複数の駆動回路にはそれぞれ異なる外部電源が接続されることによって、複数の制御系統を構成するものである。複数の制御系統について、各駆動回路の低電位側とそれぞれに対応する外部電源の低電位側とは、制御系統毎に独立したグランドである複数の電源グランドを介して接続されるとともに、各駆動回路の低電位側は、それぞれ共通のグランドである内部グランドを介して接続されており、複数の電源グランドと前記内部グランドとの間には、複数の電源グランドの電流であるグランド電流をそれぞれ検出する複数の電流検出部が設けられている。そして、このモータ制御装置は、複数の電流検出部の検出結果に基づいて、複数の制御系統における各電源グランドの異常であるグランド異常を検出する異常検出部を備えるようにしている。
【０００８】
上記構成において、仮にグランド異常が生じると、残りの正常な電源グランドに対して各制御系統が接続されるようになってしまうこと、すなわち異常が生じている電源グランドに接続されていた制御系統が残りの正常な電源グランドを通じて正常動作することができてしまう。これにより、グランド異常が生じると電源グランドの電流であるグランド電流にも特徴的な状態が現れる。
【０００９】
すなわち、上記構成によれば、複数の電源グランドの何れかでショート等の異常が生じた場合に、複数の電流検出部の検出結果に基づいて、グランド電流の特徴的な状態を検出することができるようになる。また、複数の電流検出部は、複数の電源グランドと内部グランドとの間にそれぞれ設けられているので、複数の電源グランドの個々に対してグランド電流の特徴的な状態を検出することができる。これにより、モータ制御装置の電流検出部を監視することによって、電源グランドの異常を好適に検出することができ、異常が生じている電源グランドに接続されていた制御系統の動作を停止させる等、グランド異常に対して迅速に対処することができる。したがって、駆動電力の電力源を冗長化する場合であってもモータ制御装置の信頼性の低下を抑制することができる。
【００１０】
具体的に、異常検出部は、グランド異常が生じる場合のグランド電流の特徴的な状態を、駆動回路がモータに供給している駆動電力に基づいて、対応する外部電源の電源電流を複数の制御系統毎に演算し、複数の制御系統における各電源電流と、複数の制御系統に対応する各電流検出部の検出結果との差によって検出し、その結果に基づいて、グランド異常を検出したり、複数の制御系統に対応する各電流検出部の検出結果を複数の制御系統の間で比較した結果によって検出し、その結果に基づいて、グランド異常を検出したりするようにする。
【００１１】
上記構成によれば、より高い精度でグランド異常を検出することができる。また、上記の前者の構成によれば、制御系統毎にグランド異常を検出することができるので、駆動回路を制御するための制御部を制御系統毎に設ける場合であれば、制御系統毎の電源グランドのセルフチェック機能の実現の観点で特に有効である。また、上記の後者の構成によれば、複数の制御系統の間での比較結果を用いるため、駆動回路を制御するための制御部を複数の制御系統の間で共通化する構成の実現の観点で特に有効である。
【００１２】
ところで、グランド異常を検出するためには、グランド電流を検出する必要がある。例えば、モータにトルクを発生させる必要がなく、モータに対して実質的に駆動電力が供給されていない場合には、電源グランドの電流を正しく検出することができない。
【００１３】
そこで、上記モータ制御装置において、各駆動回路は、異常検出部がグランド異常を検出するタイミングにおいて、モータに対してｄｐ座標系のｄ軸電流を印加することが望ましい。
【００１４】
例えば、永久磁石同期電動機（ＰＭＳＭ）では、モータの制御量を制御する際、モータに発生させるトルクに対する消費電力を最小化するために、ｄｐ座標系のうちのモータのトルクの発生に寄与しないｄ軸電流を零とする制御が行われる。この場合、ｄ軸電流の印加は、消費電力を増加させるのみでモータのトルクの発生に寄与せず、実施されたとしてもモータ２０の駆動の状況を変化させる影響が少ないと言える。そのため、上記構成によれば、モータにトルクを発生させる必要がない状況も含めて、モータの駆動の状況に関係なくグランド異常を検出することができる。
【００１５】
また、上記モータ制御装置において、異常検出部がグランド異常を検出するタイミングには、モータに発生させるトルクが零の状況が含まれていることが望ましい。
上記構成によれば、例えば、モータに発生させるトルクが零の状況であるモータ制御装置の起動処理時、すなわちモータを駆動させる準備段階において、グランド異常を検出することができるようになる。この場合には、モータが駆動される準備段階でグランド異常を検出することができ、モータ制御装置の信頼性の向上に寄与することができる。
【００１６】
このようなモータ制御装置は、外部指令値を含む電気信号が外部から入力されることに基づいて、転舵輪の転舵角を変化させる動力を付与するようにモータの制御量を制御する操舵制御装置として用いられる場合もある。
【００１７】
上記構成によれば、操舵制御装置は、車両の進行方向を自動的に変化させる自動運転等の高度運転支援を可能にする。すなわち、自動運転を可能にする場合であっても、複数の電流検出部によってグランド異常を好適に検出することができるようになる。これにより、電源グランドに異常があった場合には、即座に自動運転の機能を停止させる等、グランド異常に対して迅速に対処することができ、グランド異常に対する対処が遅れてしまうことを抑制することができる。したがって、駆動電力の電力源を冗長化する場合であっても操舵制御装置の信頼性の低下を抑制することができる。
【発明の効果】
【００１８】
本発明によれば、駆動電力の電力源を冗長化する場合であっても信頼性の低下を抑制することができる。
【図面の簡単な説明】
【００１９】
【図１】自動操舵装置についてその概略を示す図。
【図２】第１実施形態の自動操舵装置についてその電気的構成を示すブロック図。
【図３】第１実施形態の操舵ＥＣＵについてその第１マイコン及び第２マイコンの構成を示すブロック図。
【図４】第１実施形態の異常検出処理を示すフローチャート。
【図５】第２実施形態の自動操舵装置についてその電気的構成を示すブロック図。
【図６】第２実施形態の操舵ＥＣＵについてその統括マイコンの構成を示すブロック図。
【図７】第２実施形態の異常検出処理を示すフローチャート。
【発明を実施するための形態】
【００２０】
（第１実施形態）
以下、モータ制御装置及び操舵制御装置の第１実施形態を説明する。
図１に示すように、車両Ａには、後述する操舵機構２に対して車両の進行方向を自動的に変化させる動力を付与するように構成されている自動操舵装置１が搭載されている。
【００２１】
操舵機構２は、ユーザーにより操作されるステアリングホイール１０と、ステアリングホイール１０と固定されるステアリングシャフト１１とを備えている。ステアリングシャフト１１は、ステアリングホイール１０と連結されたコラムシャフト１１ａと、コラムシャフト１１ａの下端部に連結されたインターミディエイトシャフト１１ｂと、インターミディエイトシャフト１１ｂの下端部に連結されたピニオンシャフト１１ｃとを有している。ピニオンシャフト１１ｃの下端部は、ラックアンドピニオン機構１３を介してラックシャフト１２に連結されている。ステアリングシャフト１１の回転運動は、ラックアンドピニオン機構１３を介してラックシャフト１２の軸方向の往復直線運動に変換される。この往復直線運動が、ラックシャフト１２の両端にそれぞれ連結されたタイロッド１４を介して、左右の転舵輪１５にそれぞれ伝達されることにより、これら転舵輪１５の転舵角が変化する。
【００２２】
ステアリングホイール１０と固定されたコラムシャフト１１ａの途中には、操舵機構２に対して動力として付与する操舵力の発生源であるモータ２０を有する操舵力付与機構３が設けられている。例えば、モータ２０は、表面磁石同期電動機（ＳＰＭＳＭ）であり、３相（Ｕ，Ｖ，Ｗ）の駆動電力に基づいて回転する３相ブラシレスモータである。モータ２０の回転軸２１は、減速機構２２を介してコラムシャフト１１ａに連結されている。操舵力付与機構３は、モータ２０の回転軸２１の回転力を減速機構２２を介してコラムシャフト１１ａに伝達する。このコラムシャフト１１ａに付与されるモータ２０のトルク（回転力）が操舵力となり、左右の転舵輪１５の転舵角を変化させる。
【００２３】
モータ２０には、モータ２０の制御量である電流量を制御することによって、モータ２０の駆動を制御する操舵ＥＣＵ３０が接続されている。操舵ＥＣＵ３０は、車両Ａに設けられる各種のセンサの検出結果（電気信号）に基づいて、モータ２０の駆動を制御する。各種のセンサとしては、例えば、トルクセンサ４０、回転角センサ４１、及び車速センサ４２がある。トルクセンサ４０はコラムシャフト１１ａに設けられ、回転角センサ４１はモータ２０に設けられている。トルクセンサ４０は、ユーザーのステアリング操作によりステアリングシャフト１１に生じる操舵トルクＴｈを検出する。回転角センサ４１は、モータ２０の回転軸２１の回転角度θｍを検出する。車速センサ４２は、車両Ａの走行速度である車速Ｖを検出する。本実施形態において、操舵ＥＣＵ３０はモータ制御装置及び操舵制御装置の一例である。
【００２４】
操舵ＥＣＵ３０には、車両Ａに搭載されるバッテリ等の第１外部電源４３及び第２外部電源４４がそれぞれ接続されている。各外部電源４３，４４は、イグニッション信号ＩＧが入力されることによって操舵ＥＣＵ３０への給電を開始する。また、操舵ＥＣＵ３０には、車載される自動操舵ＥＣＵ４が接続されている。自動操舵ＥＣＵ４は、自動運転等の高度運転支援として、車両の走行状態に応じて車両の進行方向を自動的に変化させる自動操舵の制御を操舵ＥＣＵ３０に対して指示する。
【００２５】
自動操舵ＥＣＵ４には、車両の走行状態を示す車両情報θｃｏｎが入力される。車両情報θｃｏｎは、カーナビ等のＧＰＳや車速センサ４２やその他の車載センサ（カメラ、距離センサ、ヨーレートセンサ、レーザー等）や車路間通信により認識される車両の周辺環境を含む車両の走行状態を示す各種情報である。自動操舵ＥＣＵ４は、車両情報θｃｏｎに基づき生成する自動操舵の制御に用いる外部指令値θｓ＊（電気信号）を操舵ＥＣＵ３０に対して出力する。
【００２６】
なお、操舵ＥＣＵ３０には、図示しない切替スイッチが接続されている。切替スイッチは、ユーザーにより操作され、操舵ＥＣＵ３０が自動操舵の制御を実行する自動操舵モードを設定するか否かの切り替えを指示する。操舵ＥＣＵ３０は、自動操舵モードの設定が指示される間、自動操舵に関わる自動操舵制御を実行し、ユーザーによるステアリング操作の介入操作があれば自動操舵制御と並行してステアリング操作を補助する介入操舵制御を実行する。また、操舵ＥＣＵ３０は、自動操舵モードの設定が指示されない間（設定しないことが指示される間）、自動操舵制御を実行しないで、ステアリング操作を補助するＥＰＳ制御を実行する。この場合、操舵ＥＣＵ３０は、自動操舵ＥＣＵ４が出力する外部指令値θｓ＊を無効化する。
【００２７】
次に、自動操舵装置１の電気的構成について説明する。
図１及び図２に示すように、操舵ＥＣＵ３０は、モータ２０のうちの第１系統用コイルＣ１への駆動電力を供給する第１制御系統３１と、モータ２０のうちの第２系統用コイルＣ２への駆動電力を供給する第２制御系統３２とを備えている。
【００２８】
第１制御系統３１には、第１系統用コイルＣ１に供給する駆動電力の電力源として、第１外部電源４３がコネクタ３１ａを通じて接続されている。第１制御系統３１と、第１外部電源４３の低電位側とは、コネクタ３１ｂを通じて接続される電源グランドである第１電源グランド線ＧＬ１を介して接続されている。また、第１制御系統３１と、第１系統用コイルＣ１とは、各コネクタ３１ｃ，３１ｄ，３１ｅを通じて接続されている。
【００２９】
第２制御系統３２には、第２系統用コイルＣ２に供給する駆動電力の電力源として、第２外部電源４４がコネクタ３２ａを通じて接続されている。第２制御系統３２と、第２外部電源４４の低電位側とは、コネクタ３２ｂを通じて接続される電源グランドである第２電源グランド線ＧＬ２を介して接続されている。各電源グランド線ＧＬ１，ＧＬ２は、共に車両ＡのボディＢｏに接続されるグランド（所謂、フレームグランド）であり、それぞれの電位がほぼ同一である。また、第２制御系統３２と、第２系統用コイルＣ２とは、各コネクタ３２ｃ，３２ｄ，３２ｅを通じて接続されている。
【００３０】
このように、各制御系統３１，３２には、駆動電力の電力源としてそれぞれ異なる外部電源が、それぞれ独立した電源グランド線を介して接続されている。すなわち、本実施形態では、モータ２０の駆動に関わる制御系統の冗長化が図られているとともに、モータ２０に供給する駆動電力の電力源の冗長化が図られている。なお、各系統用コイルＣ１，Ｃ２は、それぞれの各相のコイルがモータ２０の周に沿って系統毎に交互に配置されたり、それぞれの各相のコイルがモータ２０の周に沿って纏めて並べて配置されたり、同一ティースにモータ２０の径方向に積層されて配置されたりする。
【００３１】
ここで、各制御系統３１，３２の構成について詳しく説明する。
図２に示すように、第１制御系統３１は、第１系統用コイルＣ１に電力を供給するように動作する第１駆動回路５０を有している。第１駆動回路５０は、トランジスタに分類される複数のＭＯＳ電界効果トランジスタ（スイッチング素子）を有している。第１駆動回路５０は、上下一対のスイッチング素子３組の直列回路を基本単位（スイッチングアーム）とし、各スイッチングアームを並列に接続してなる周知の３相インバータとして構成されている。一対のスイッチング素子の上流側は第１外部電源４３の高電位側と第１系統用コイルＣ１との間を開閉するとともに、一対のスイッチング素子の下流側は第１外部電源４３の低電位側と第１系統用コイルＣ１との間を開閉する。なお、第１駆動回路５０とモータ２０との間には、第１系統用コイルＣ１の実電流として、各相電流値Ｉｕ１，Ｉｖ１，Ｉｗ１をそれぞれ検出する電流センサ５１ａが設けられている。また、第１駆動回路５０とモータ２０との間には、第１系統用コイルＣ１への印加電圧として、各相電圧値Ｖｕ１，Ｖｖ１，Ｖｗ１をそれぞれ検出する電圧センサ５１ｂが設けられている。例えば、電流センサ５１ａや電圧センサ５１ｂは、シャント抵抗を用いたものである。
【００３２】
第１外部電源４３の高電位側と、第１駆動回路５０（一対のスイッチング素子の上流側）との間には、第１外部電源４３から第１駆動回路５０への給電のオンオフを切り替える第１電源リレー５２が設けられている。第１電源リレー５２は、通常オン状態に維持される。第１制御系統３１において、第１電源グランド線ＧＬ１でショート等のグランド異常が生じた場合、第１電源リレー５２はオフ状態へ切り替えられる。このオフ状態では、第１駆動回路５０への給電が遮断され、第１外部電源４３から第１系統用コイルＣ１への給電も遮断される。なお、第１駆動回路５０と第１外部電源４３との間には、第１外部電源４３から供給される駆動電力を平滑化する平滑コンデンサ５３が設けられている。
【００３３】
第１駆動回路５０において、一対のスイッチング素子の下流側である低電位側は、操舵ＥＣＵ３０のベースとなる基板上に設けられる内部グランド３３（所謂、シグナルグランド）に接続されている。
【００３４】
また、第１駆動回路５０の低電位側と、コネクタ３２ｂとの間には、第１電源グランド線ＧＬ１の実電流として、第１電源グランド電流値Ｉｇｎｄ１を検出する第１電流検出部５４が設けられている。すなわち、第１電流検出部５４は、内部グランド３３と第１電源グランド線ＧＬ１との間に設けられている。第１電流検出部５４は、電流センサ５１ａと同様の電流センサからなり、例えば、シャント抵抗を用いたものである。本実施形態における第１電源グランド電流値Ｉｇｎｄ１は、第１制御系統３１において、グランド異常が生じていない場合、第１外部電源４３の第１電源電流値Ｉｂａ１とほぼ同一（実際には各種部品による公差を有する）である。
【００３５】
また、第１制御系統３１は、第１駆動回路５０及び第１電源リレー５２の動作を制御する第１マイコン（マイクロコンピュータ）５５を有している。第１マイコン５５には、外部指令値θｓ＊、操舵トルクＴｈ、車速Ｖ、回転角度θｍ、各相電流値Ｉｕ１，Ｉｖ１，Ｉｗ１、各相電圧値Ｖｕ１，Ｖｖ１，Ｖｗ１、及び第１電源グランド電流値Ｉｇｎｄ１が入力される。第１マイコン５５は、ＰＷＭ信号等の第１モータ制御信号Ｓｍ１を出力する。第１モータ制御信号Ｓｍ１は、第１駆動回路５０を構成する各スイッチング素子のオンｄｕｔｙ比を規定するものである。なお、第１マイコン５５は、第１外部電源４３に接続されているとともに、第１駆動回路５０の低電位側と同様、内部グランド３３に接続されている。
【００３６】
また、図２に示すように、第２制御系統３２は、基本的に第１制御系統３１と同一構造をなしており、第２系統用コイルＣ２に電力を供給するように動作する第２駆動回路６０を有している。第２駆動回路６０とモータ２０との間には、第２系統用コイルＣ２の実電流として、各相電流値Ｉｕ２，Ｉｖ２，Ｉｗ２をそれぞれ検出する電流センサ６１ａが設けられている。また、第２駆動回路６０とモータ２０との間には、第２系統用コイルＣ２への印加電圧として、各相電圧値Ｖｕ２，Ｖｖ２，Ｖｗ２をそれぞれ検出する電圧センサ６１ｂが設けられている。例えば、電流センサ６１ａや電圧センサ６１ｂは、シャント抵抗を用いたものである。
【００３７】
第２外部電源４４の高電位側と、第２駆動回路６０（一対のスイッチング素子の上流側）との間には、第２外部電源４４から第２駆動回路６０への給電のオンオフを切り替える第２電源リレー６２が設けられている。第２電源リレー６２のオフ状態では、第２駆動回路６０への給電が遮断され、第２外部電源４４から第２系統用コイルＣ２への給電も遮断される。なお、第２駆動回路６０と第２外部電源４４との間には、第２外部電源４４から供給される駆動電力を平滑化する平滑コンデンサ６３が設けられている。
【００３８】
第２駆動回路６０の低電位側は、第１駆動回路５０の低電位側及び第１マイコン５５と同様、内部グランド３３に接続されている。すなわち、各駆動回路５０，６０の低電位側は、それぞれ共通の内部グランド３３を介して接続されている。
【００３９】
また、第２駆動回路６０の低電位側と、コネクタ３２ｂとの間には、第２電源グランド線ＧＬ２の実電流として、第２電源グランド電流値Ｉｇｎｄ２を検出する第２電流検出部６４が設けられている。すなわち、第２電流検出部６４は、内部グランド３３と第２電源グランド線ＧＬ２との間に設けられている。第２電流検出部６４は、電流センサ６１ａと同様の電流センサからなり、例えば、シャント抵抗を用いたものである。本実施形態における第２電源グランド電流値Ｉｇｎｄ２は、第２制御系統３２において、グランド異常が生じていない場合、第２外部電源４４の第２電源電流値Ｉｂａ２とほぼ同一（実際には各種部品による公差を有する）である。
【００４０】
また、第２制御系統３２は、第２駆動回路６０及び第２電源リレー６２の動作を制御する第２マイコン（マイクロコンピュータ）６５を有している。第２マイコン６５には、外部指令値θｓ＊、操舵トルクＴｈ、車速Ｖ、回転角度θｍ、各相電流値Ｉｕ２，Ｉｖ２，Ｉｗ２、各相電圧値Ｖｕ２，Ｖｖ２，Ｖｗ２、及び第２電源グランド電流値Ｉｇｎｄ２が入力される。第２マイコン６５は、ＰＷＭ信号等の第２モータ制御信号Ｓｍ２を出力する。第２モータ制御信号Ｓｍ２は、第２駆動回路６０を構成する各スイッチング素子のオンｄｕｔｙ比を規定するものである。なお、第２マイコン６５は、第２外部電源４４に接続されているとともに、第２駆動回路６０の低電位側や第１マイコン５５等と同様、内部グランド３３に接続されている。これにより、各マイコン５５，６５は、マイコン間通信が可能に構成されている。
【００４１】
次に、各マイコン５５，６５の機能について詳しく説明する。
図３に示すように、各マイコン５５，６５は、各モータ制御信号Ｓｍ１，Ｓｍ２を生成するためのｄ軸電流指令値Ｉｄ１＊，Ｉｄ２＊及びｑ軸電流指令値Ｉｑ１＊，Ｉｑ２＊を演算する、電流指令値演算部７０を有している。また、各マイコン５５，６５は、電流指令値演算部７０を通じて演算されたｄ軸電流指令値Ｉｄ１＊，Ｉｄ２＊及びｑ軸電流指令値Ｉｑ１＊，Ｉｑ２＊に基づいて、各モータ制御信号Ｓｍ１，Ｓｍ２を生成してＰＷＭ信号として出力する、制御信号生成部７１を有している。
【００４２】
なお、各マイコン５５，６５は、入力及び出力される電気信号が異なる以外、マイコン内では同一処理が実行されるため、以下では、便宜上、第１マイコン５５の機能を中心に説明する。ただし、必要な場合には、各マイコン５５，６５のそれぞれの機能について個別に説明する。
【００４３】
第１マイコン５５は、回転角度θｍを用いて各相電流値Ｉｕ１，Ｉｖ１，Ｉｗ１をｄｑ座標系に写像することによりｄ軸電流値Ｉｄ１及びｑ軸電流値Ｉｑ１を演算する、３相／２相変換部７２ａを有している。ｄ軸電流値Ｉｄ１及びｑ軸電流値Ｉｑ１は、ｄｑ座標系における第１系統用コイルＣ１（モータ２０）の実電流である。また、第１マイコン５５は、回転角度θｍを用いて各相電圧値Ｖｕ１，Ｖｖ１，Ｖｗ１をｄｑ座標系に写像することによりｄ軸電圧値Ｖｄ１及びｑ軸電圧値Ｖｑ１を演算する、３相／２相変換部７２ｂを有している。ｄ軸電圧値Ｖｄ１及びｑ軸電圧値Ｖｑ１は、ｄｑ座標系における第１系統用コイルＣ１（モータ２０）への印加電圧である。
【００４４】
なお、第２マイコン６５における３相／２相変換部７２ａは、回転角度θｍを用いて各相電流値Ｉｕ２，Ｉｖ２，Ｉｗ２をｄｑ座標系に写像することによりｄ軸電流値Ｉｄ２及びｑ軸電流値Ｉｑ２を演算する。ｄ軸電流値Ｉｄ２及びｑ軸電流値Ｉｑ２は、ｄｑ座標系における第２系統用コイルＣ２（モータ２０）の実電流である。また、第２マイコン６５における３相／２相変換部７２ｂは、各相電圧値Ｖｕ２，Ｖｖ２，Ｖｗ２をｄｑ座標系に写像することによりｄ軸電圧値Ｖｄ２及びｑ軸電圧値Ｖｑ２を演算する。ｄ軸電圧値Ｖｄ２及びｑ軸電圧値Ｖｑ２は、ｄｑ座標系における第２系統用コイルＣ２（モータ２０）への印加電圧である。
【００４５】
また、第１マイコン５５は、操舵ＥＣＵ３０において、グランド異常が生じた場合に、その旨を検出する第１異常検出部７３を有している。なお、第２マイコン６５は、操舵ＥＣＵ３０において、グランド異常が生じた場合に、その旨を検出する第２異常検出部７４を有している。本実施形態において、各異常検出部７３，７４は、グランド異常の検出時、当該グランド異常が各制御系統３１，３２の何れで生じているかについても検出する。
【００４６】
電流指令値演算部７０は、外部指令値θｓ＊、又は操舵トルクＴｈ及び車速Ｖを用いて目標トルクを演算し、演算した目標トルクに基づいてｄ軸電流指令値Ｉｄ１＊及びｑ軸電流指令値Ｉｑ１＊を演算する。
【００４７】
具体的に、電流指令値演算部７０は、外部指令値θｓ＊が入力される場合、変換された回転角度指令値θｍ＊、及びその時に回転角センサ４１で検出される回転角度θｍに基づいて、モータ２０に発生させる目標トルクを演算する。また、電流指令値演算部７０は、操舵トルクＴｈが入力される場合、操舵トルクＴｈ及び車速Ｖに基づいて、モータ２０に発生させるべきアシストトルクの目標トルクを演算する。すなわちアシストトルクによっては、ユーザーのステアリング操作が補助される。
【００４８】
なお、自動操舵ＥＣＵ４は、自動操舵制御を実行する場合、車両情報θｃｏｎに基づいて、車両Ａの挙動を制御する上で最適な外部指令値θｓ＊を生成する目標回転角演算を所定周期毎に実行する。外部指令値θｓ＊は、転舵輪１５の転舵角に換算可能な回転角、例えば、ステアリングホイール１０の回転角である操舵角θｓの自動操舵制御における目標値である。そして、自動操舵ＥＣＵ４は、生成した外部指令値θｓ＊を操舵ＥＣＵ３０の各マイコン５５，６５に所定周期毎に出力する。外部指令値θｓ＊に基づいては、各マイコン５５，６５がモータ２０の駆動を制御する。なお、各マイコン５５，６５は、所定周期毎に入力する外部指令値θｓ＊を、所定の変換係数を用いて、モータ２０の回転角度θｍに関わる回転角度指令値θｍ＊に変換する。このように、転舵輪１５の転舵角に換算可能な回転角とモータ２０の回転角度θｍとは、相関があり、互いに変換（換算）することのできる状態量である。
【００４９】
そして、電流指令値演算部７０は、自動操舵制御の実行中、介入操舵制御を実行しない場合、回転角度指令値θｍ＊及び回転角度θｍに基づく目標トルクを演算する。一方、電流指令値演算部７０は、自動操舵制御と並行して介入操舵制御を実行する場合、回転角度指令値θｍ＊及び回転角度θｍに基づく目標トルク、及び操舵トルクＴｈに基づく目標トルクを加算した結果を目標トルクとする。また、電流指令値演算部７０は、ＥＰＳ制御を実行する場合、操舵トルクＴｈに基づく目標トルクを演算する。
【００５０】
なお、各制御系統３１，３２は、同期動作（動作の位相が一致）するようになっており、各系統用コイルＣ１，Ｃ２の各相に対しては基本的に同じタイミングで同じだけの駆動電力が供給されるようになっている。すなわち、目標トルクとしては、各マイコン５５，６５で同一の目標トルクが演算され、各系統用コイルＣ１，Ｃ２で合わせて目標トルク（１００％）となるように目標トルクが演算される。具体的に、各系統用コイルＣ１，Ｃ２において、モータ２０に実際に発生させるトルクのうちの半分（５０％）ずつのトルクを発生させるための目標トルクが演算される。そして、電流指令値演算部７０は、演算したｄ軸電流指令値Ｉｄ１＊及びｑ軸電流指令値Ｉｑ１＊を各減算器７１ａ，７１ｂにそれぞれ出力する。ｄ軸電流指令値Ｉｄ１＊及びｑ軸電流指令値Ｉｑ１＊は、ｄｑ座標系における第１系統用コイルＣ１（モータ２０）の供給電流の目標値に対応する。
【００５１】
また、３相／２相変換部７２ａは、演算したｄ軸電流値Ｉｄ１及びｑ軸電流値Ｉｑ１を各減算器７１ａ，７１ｂにそれぞれ出力する。そして、減算器７１ａは、ｄ軸電流指令値Ｉｄ１＊及びｄ軸電流値Ｉｄ１の偏差ΔＩｄ１をフィードバック演算部（以下、「Ｆ／Ｂ演算部」という）７１ｃに出力する。Ｆ／Ｂ演算部７１ｃは、ｄ軸電流値Ｉｄ１をｄ軸電流指令値Ｉｄ１＊に追従させるべく偏差ΔＩｄ１に基づくフィードバック制御を実行することにより、ｄ軸電圧指令値Ｖｄ１＊を生成し、生成したｄ軸電圧指令値Ｖｄ１＊を制御信号生成部７１に出力する。
【００５２】
また、減算器７１ｂは、ｑ軸電流指令値Ｉｑ１＊及びｑ軸電流値Ｉｑ１の偏差ΔＩｑ１をフィードバック演算部（以下、「Ｆ／Ｂ演算部」という）７１ｄに出力する。Ｆ／Ｂ演算部７１ｄは、ｑ軸電流値Ｉｑ１をｑ軸電流指令値Ｉｑ１＊に追従させるべく偏差ΔＩｑ１に基づくフィードバック制御を実行することにより、ｑ軸電圧指令値Ｖｑ１＊を生成し、生成したｑ軸電圧指令値Ｖｑ１＊を制御信号生成部７１に出力する。
【００５３】
制御信号生成部７１は、回転角度θｍを用いてｄ軸電圧指令値Ｖｄ１＊及びｑ軸電圧指令値Ｖｑ１＊を三相座標系に写像することにより、三相座標系における各電圧指令値Ｖｕ１＊，Ｖｖ１＊，Ｖｗ１＊を演算する。また、制御信号生成部７１は、その演算した各相電圧指令値Ｖｕ１＊，Ｖｖ１＊，Ｖｗ１＊に対応する第１モータ制御信号Ｓｍ１を生成し、生成した第１モータ制御信号Ｓｍ１を第１駆動回路５０に出力する。
【００５４】
また、図３に示すように、第１異常検出部７３には、イグニッション信号ＩＧと、第１制御系統３１において、第１電源グランド電流値Ｉｇｎｄ１、ｄ軸電流値Ｉｄ１、ｑ軸電流値Ｉｑ１、ｄ軸電圧値Ｖｄ１、及びｑ軸電圧値Ｖｑ１とが入力される。第１異常検出部７３は、ｄ軸電流値Ｉｄ１、ｑ軸電流値Ｉｑ１、ｄ軸電圧値Ｖｄ１、及びｑ軸電圧値Ｖｑ１から推定演算される第１電源電流値Ｉｂａ１と、第１電源グランド電流値Ｉｇｎｄ１との差に基づいて、グランド異常を検出し、その結果をグランド異常ＦＬＧとして電流指令値演算部７０に対して出力する。
【００５５】
また、第２異常検出部７４には、イグニッション信号ＩＧと、第２制御系統３２において、第２電源グランド電流値Ｉｇｎｄ２、ｄ軸電流値Ｉｄ２、ｑ軸電流値Ｉｑ２、ｄ軸電圧値Ｖｄ２、及びｑ軸電圧値Ｖｑ２とが入力される。第２異常検出部７４は、ｄ軸電流値Ｉｄ２、ｑ軸電流値Ｉｑ２、ｄ軸電圧値Ｖｄ２、及びｑ軸電圧値Ｖｑ２から推定演算される第２電源電流値Ｉｂａ２と、第２電源グランド電流値Ｉｇｎｄ２との差に基づいて、グランド異常を検出し、その結果をグランド異常ＦＬＧとして電流指令値演算部７０に対して出力する。
【００５６】
なお、グランド異常ＦＬＧは、グランド異常が生じている場合に出力され、グランド異常が第１制御系統３１で生じている場合に「１」が出力され、グランド異常が第２制御系統３２で生じている場合に「２」が出力される。
【００５７】
例えば、第１電源グランド電流値Ｉｇｎｄ１は、第１制御系統３１において、グランド異常が生じていない場合、第１外部電源４３の第１電源電流値Ｉｂａ１とほぼ同一である。一方、第１電源グランド電流値Ｉｇｎｄ１は、第１制御系統３１において、グランド異常が生じている場合、第１電源グランド線ＧＬ１には電流が流れ込まなくなり、第１電源電流値Ｉｂａ１と比較して小さくなる特徴的な状態となる。また、第１電源グランド電流値Ｉｇｎｄ１は、第２制御系統３２において、グランド異常が生じている場合、第１電源グランド線ＧＬ１には第２制御系統３２分の電流が内部グランド３３を介して流れ込んでくるので、第１電源電流値Ｉｂａ１と比較して大きくなる特徴的な状態となる。これは、第２電源グランド電流値Ｉｇｎｄ２においても同様である。
【００５８】
すなわち、各異常検出部７３，７４は、自身が設けられている制御系統に関わる情報のみを用いて、操舵ＥＣＵ３０のグランド異常を検出することができるとともに、グランド異常の検出時、グランド異常が各制御系統３１，３２の何れで生じているかを検出することができる。
【００５９】
ここで、各異常検出部７３，７４が実行する異常検出処理について詳しく説明する。なお、各異常検出部７３，７４は、所定周期毎に以下の処理を繰り返し実行する。各異常検出部７３，７４は、異常検出処理をそれぞれ別々に実行する。以下では、便宜上、第１異常検出部７３が実行する処理を中心に説明し、第２異常検出部７４が実行する処理については簡略化して説明する。
【００６０】
図４に示すように、第１異常検出部７３は、イグニッション信号ＩＧが入力されたか否かを判定する（Ｓ１０）。第１異常検出部７３は、イグニッション信号ＩＧが入力されていない場合（Ｓ１０：ＮＯ）、異常検出タイミングであるか否かを判定する（Ｓ２０）。Ｓ２０にて、第１異常検出部７３は、イグニッション信号ＩＧの入力後、第１マイコン５５の内部で管理されるタイマに基づいて、定期的（例えば、制御周期の４周期分）に到来する異常検出タイミングであるか否かを判定している。そして、第１異常検出部７３は、異常検出タイミングでない場合（Ｓ２０：ＮＯ）、異常検出処理を終了する。
【００６１】
一方、第１異常検出部７３は、イグニッション信号ＩＧが入力された場合（Ｓ１０：ＹＥＳ）、又はイグニッション信号ＩＧが入力されていないが異常検出タイミングである場合（Ｓ２０：ＹＥＳ）、グランド異常を検出するために異常検出用のｄ軸電流を印加する（Ｓ３０）。第１異常検出部７３は、イグニッション信号ＩＧが入力された場合、すなわちモータ２０を駆動させる準備段階である操舵ＥＣＵ３０の起動処理時に、グランド異常を検出するための各種処理を実行する。また、第１異常検出部７３は、イグニッション信号ＩＧの入力後、定期的にグランド異常を検出するための各種処理を実行する。
【００６２】
図３に示すように、Ｓ３０にて、第１異常検出部７３は、ｄ軸電流指令値Ｉｄ１＊に加算されるように、ｄ軸電流指令値Ｉｄｃ＊を減算器７１ａに対して出力し、異常検出用のｄ軸電流を印加する。これにより、第１制御系統３１内に電流が流れておらずその電気回路が動作していない状態であっても、第１制御系統３１内に電流が流れてその電気回路が動作している状態を意図的に作り出すことができる。ｄ軸電流指令値Ｉｄｃ＊は、グランド異常を検出することができるとして経験的に求められる値に設定される。なお、ｄ軸電流は、表面磁石同期電動機（ＳＰＭＳＭ）の制御において、トルクの発生に寄与しない電流であり、高効率駆動の観点で零に制御される。例えば、モータ２０に発生させるトルクが零の場合、ｄ軸電流値Ｉｄ１及びｑ軸電流値Ｉｑ１が共に零であり、第１制御系統３１の電気回路が動作していない状態である。この場合、ｄ軸電流を印加すると、モータ２０にトルクを発生させることなく第１制御系統３１の電気回路が動作している状態となる。この状況は、操舵ＥＣＵ３０の起動処理時や車両Ａの直進中が相当する。
【００６３】
同じく、第２異常検出部７４は、イグニッション信号ＩＧが入力された場合、すなわち第２マイコン６５の起動処理時に、グランド異常を検出するための各種処理を実行する。また、第２異常検出部７４は、イグニッション信号ＩＧの入力後、定期的にグランド異常を検出するための各種処理を実行する。また、図３に示すように、第２異常検出部７４は、イグニッション信号ＩＧが入力された場合、又はイグニッション信号ＩＧが入力されていないが異常検出タイミングである場合、グランド異常を検出するために異常検出用のｄ軸電流を印加する。
【００６４】
次に、第１異常検出部７３は、第１電源電流値Ｉｂａ１を演算するとともに、第１電源グランド電流値Ｉｇｎｄ１を取得する（Ｓ４０）。Ｓ４０にて、第１異常検出部７３は、３相／２相変換部７２ａが出力するｄ軸電流値Ｉｄ１及びｑ軸電流値Ｉｑ１と、３相／２相変換部７２ｂが出力するｄ軸電圧値Ｖｄ１及びｑ軸電圧値Ｖｑ１とに基づいて、第１電源電流値Ｉｂａ１を演算する。ここでは、電源電流値Ｉｂａとｄ軸電流値Ｉｄ、ｑ軸電流値Ｉｑ、ｄ軸電圧値Ｖｄ、及びｑ軸電圧値Ｖｑとを関係づける以下の式（ｃ１）を利用する。
【００６５】
Ｉｂａ＝（Ｉｄ・Ｖｄ＋Ｉｑ・Ｖｑ）／Ｖｂａ  …（ｃ１）
上記の式（ｃ１）において、Ｉｄ・Ｖｄ＋Ｉｑ・Ｖｑは、モータに供給している駆動電力（入力電力）であり、Ｖｂａは、外部電源における電源電圧値である。すなわち、第１制御系統３１では、モータ２０に供給している駆動電力がＩｄ１・Ｖｄ１＋Ｉｑ１・Ｖｑ１となり、電源電圧値がＶｂａ１となる。なお、電源電圧値Ｖｂａ１は、第１外部電源４３に接続されている第１マイコン５５が直接検出することができる。また、第２制御系統３２では、モータ２０に供給している駆動電力がＩｄ２・Ｖｄ２＋Ｉｑ２・Ｖｑ２となり、電源電圧値がＶｂａ２となる。なお、電源電圧値Ｖｂａ２は、第２外部電源４４に接続されている第２マイコン６５が直接検出することができる。
【００６６】
続いて、第１異常検出部７３は、上記の式（ｃ１）によって演算された第１電源電流値Ｉｂａ１と、第１電源グランド電流値Ｉｇｎｄ１との差の絶対値（｜Ｉｂａ１−Ｉｇｎｄ１｜）が閾値α以下であるか否かを判定する（Ｓ５０）。Ｓ５０にて、第１異常検出部７３は、第１外部電源４３から引き出された分の電流が第１電源グランド線ＧＬ１に流れ込んでいるか否かを判定する。閾値αは、各制御系統３１，３２における各種部品による公差を考慮して当該公差分を零に対して増減させた値に設定される。なお、操舵ＥＣＵ３０全体では、実際に各制御系統３１，３２で合算したモータ入力電力に基づく電流が流れている。ただし、本実施形態では、各制御系統３１，３２が同期動作していることを考慮して、Ｓ５０において、各制御系統３１，３２それぞれのモータ入力電力に基づく電流のみを考慮することとしている。
【００６７】
同じく、第２異常検出部７４は、上記の式（ｃ１）を利用して、３相／２相変換部７２ａが出力するｄ軸電流値Ｉｄ２及びｑ軸電流値Ｉｑ２と、３相／２相変換部７２ｂが出力するｄ軸電圧値Ｖｄ２及びｑ軸電圧値Ｖｑ２とに基づいて、第２電源電流値Ｉｂａ２を演算する。そして、第２異常検出部７４は、上記の式（ｃ１）によって演算された第２電源電流値Ｉｂａ２と、第２電源グランド電流値Ｉｇｎｄ２との差の絶対値（｜Ｉｂａ２−Ｉｇｎｄ２｜）が閾値α以下であるか否かを判定する。
【００６８】
第１異常検出部７３は、第１電源電流値Ｉｂａ１と、第１電源グランド電流値Ｉｇｎｄ１との差の絶対値が閾値α以下の場合（Ｓ５０：ＹＥＳ）、異常検出処理を終了する。この場合、第１異常検出部７３は、グランド異常が生じていないことから、異常検出ＦＬＧを出力しない。
【００６９】
一方、第１異常検出部７３は、第１電源電流値Ｉｂａ１と、第１電源グランド電流値Ｉｇｎｄ１との差の絶対値が閾値αよりも大きい場合（Ｓ５０：ＮＯ）、第１電源電流値Ｉｂａ１から第１電源グランド電流値Ｉｇｎｄ１を減算した結果（Ｉｂａ１−Ｉｇｎｄ１）が零よりも大きいか否かを判定する（Ｓ６０）。Ｓ５０：ＮＯの場合、第１異常検出部７３は、グランド異常を検出したこととなる。そして、Ｓ６０にて、第１異常検出部７３は、グランド異常が各制御系統３１，３２の何れで生じているかを特定する。
【００７０】
第１異常検出部７３は、第１電源電流値Ｉｂａ１から第１電源グランド電流値Ｉｇｎｄ１を減算した結果が零よりも大きい場合（Ｓ６０：ＹＥＳ）、第１電源グランド線ＧＬ１に第１電源電流値Ｉｂａ１分の電流が流れ込んでいないことを判定し、グランド異常が第１制御系統３１で生じていることを検出する（Ｓ７０）。この場合、第１異常検出部７３は、グランド異常が第１制御系統３１で生じていることを示す「１」の異常検出ＦＬＧを出力し、第１制御系統異常時フェールを作動させる処理へと移行する。この第１制御系統異常時フェールでは、第１マイコン５５が第１電源リレー５２をオフ状態へ切り替えるとともに、第１マイコン５５が外部指令値θｓ＊を無効化（零）する。
【００７１】
一方、第１異常検出部７３は、第１電源電流値Ｉｂａ１から第１電源グランド電流値Ｉｇｎｄ１を減算した結果が零よりも小さい場合（Ｓ６０：ＮＯ）、第１電源グランド線ＧＬ１に第２制御系統３２分の電流が流れ込んでいることを判定し、グランド異常が第２制御系統３２で生じていることを検出する（Ｓ８０）。この場合、第１異常検出部７３は、グランド異常が第２制御系統３２で生じていることを示す「２」の異常検出ＦＬＧを出力し、第２制御系統異常時フェールを作動させる処理へと移行する。この第２制御系統異常時フェールでは、第１マイコン５５が第１電源リレー５２をオン状態に維持しつつ、第１マイコン５５が外部指令値θｓ＊を無効化（零）する。
【００７２】
同じく、第２異常検出部７４は、第２電源電流値Ｉｂａ２と、第２電源グランド電流値Ｉｇｎｄ２との差の絶対値が閾値α以下の場合、グランド異常が生じていないことから、異常検出ＦＬＧを出力しない。一方、第２異常検出部７４は、第２電源電流値Ｉｂａ２と、第２電源グランド電流値Ｉｇｎｄ２との差の絶対値が閾値αよりも大きい場合、グランド異常を検出したこととして、第２電源電流値Ｉｂａ２から第２電源グランド電流値Ｉｇｎｄ２を減算した結果に基づいて、グランド異常が各制御系統３１，３２の何れで生じているかを特定する。
【００７３】
そして、第２異常検出部７４は、グランド異常が第２制御系統３２で生じていることを検出する場合、グランド異常が第２制御系統３２で生じていることを示す「２」の異常検出ＦＬＧを出力し、第２制御系統異常時フェールを作動させる処理へと移行する。この第２制御系統異常時フェールでは、第２マイコン６５が第２電源リレー６２をオフ状態へ切り替えるとともに、第２マイコン６５が外部指令値θｓ＊を無効化（零）する。一方、第２異常検出部７４は、グランド異常が第１制御系統３１で生じていることを検出する場合、グランド異常が第１制御系統３１で生じていることを示す「１」の異常検出ＦＬＧを出力し、第１制御系統異常時フェールを作動させる処理へと移行する。この第１制御系統異常時フェールでは、第２マイコン６５が第２電源リレー６２をオン状態に維持しつつ、第２マイコン６５が外部指令値θｓ＊を無効化（零）する。
【００７４】
このように、第１制御系統異常時フェールでは、第１制御系統３１によるモータ２０の駆動の制御が停止され、第２制御系統３２のみによってモータ２０の駆動が制御される状態へと移行する。また、第２制御系統異常時フェールでは、第２制御系統３２によるモータ２０の駆動の制御が停止され、第１制御系統３１のみによってモータ２０の駆動が制御される状態へと移行する。なお、何れの状態も、自動操舵制御自体も実行されない状態、すなわちＥＰＳ制御が実行される状態である。
【００７５】
以上に説明した本実施形態によれば、以下に示す作用及び効果を奏する。
（１）本実施形態において、仮にグランド異常が生じると、残りの正常な電源グランド線に対して各制御系統が接続されるようになってしまうこと、すなわち異常が生じている電源グランド線に接続されていた制御系統が残りの正常な電源グランド線を通じて正常動作することができてしまう。これにより、グランド異常が生じると各電源グランド電流には特徴的な状態が現れる。
【００７６】
すなわち、本実施形態によれば、グランド異常が生じた場合には、各制御系統３１，３２にそれぞれ設けられている各電流検出部５４，６４の検出結果に基づいて、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の特徴的な状態を検出することができるようになる。また、各電流検出部５４，６４は、各電源グランド線ＧＬ１，ＧＬ２と内部グランド３３との間にそれぞれ設けられているので、各電源グランド線ＧＬ１，ＧＬ２の個々に対して各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の特徴的な状態を検出することができる。これにより、操舵ＥＣＵ３０の各制御系統３１，３２の各電流検出部５４，６４の検出結果を監視することによって、グランド異常を好適に検出することができる。
【００７７】
そして、実際にグランド異常を検出した場合には、第１制御系統異常フェールや第２制御系統異常フェールを作動させることによって、異常が生じている電源グランド線に接続されていた制御系統の動作を停止させるとともに、自動操舵制御自体も実行されてない状態へと移行させ、グランド異常に対して迅速な対処を可能にしている。したがって、駆動電力の電力源を冗長化する場合であってもモータ制御装置及び操舵制御装置としての操舵ＥＣＵ３０の信頼性の低下を抑制することができる。
【００７８】
（２）具体的に、第１異常検出部７３は、グランド異常が生じる場合の各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の特徴的な状態を第１電源電流値Ｉｂａ１と、第１電源グランド電流値Ｉｇｎｄ１との差（Ｓ５０やＳ６０）によって検出し、その結果に基づいて、グランド異常を検出するようにしている。これは、第２異常検出部７４においても同様である。これにより、より高い精度でグランド異常を検出することができる。
【００７９】
この場合、各制御系統３１，３２でそれぞれグランド異常を検出することができるので、本実施形態のように、各駆動回路５０，６０を制御するためのマイコンを各制御系統３１，３２でそれぞれ設ける構成において、各制御系統３１，３２におけるグランド異常のセルフチェック機能の実現の観点で特に有効である。
【００８０】
（３）ところで、グランド異常を検出するためには、各電源グランド線ＧＬ１，ＧＬ２の電流を検出する必要がある。例えば、モータ２０にトルクを発生させる必要がないことから、モータ２０に対して実質的に駆動電力が供給されていない場合には、各電源グランド線ＧＬ１，ＧＬ２の電流を正しく検出することができない。
【００８１】
その点、本実施形態では、グランド異常を検出する場合に、モータ２０に対してｄｐ座標系のｄ軸電流を印加する（Ｓ３０）ようにしている。
例えば、本実施形態のように、表面磁石同期電動機（ＳＰＭＳＭ）では、モータ２０の駆動を制御する際、モータ２０に発生させるトルクに対する消費電力を最小化するために、ｄｐ座標系のうちのモータ２０のトルクの発生に寄与しないｄ軸電流を零とする制御が行われる。この場合、ｄ軸電流の印加は、消費電力を増加させるのみでモータ２０のトルクの発生に寄与せず、実施されたとしてもモータ２０の駆動の状況を変化させる影響が少ないと言える。そのため、本実施形態によれば、モータ２０にトルクを発生させる必要がない状況も含めて、モータ２０の駆動の状況に関係なくグランド異常を検出することができる。
【００８２】
（４）本実施形態では、モータ制御装置の起動処理時、すなわちモータ２０を駆動させる準備段階において、グランド異常を検出するようにしている。これにより、モータ２０が駆動される前にグランド異常を検出することができ、操舵ＥＣＵ３０の信頼性の向上に寄与することができる。
【００８３】
（第２実施形態）
次に、モータ制御装置及び操舵制御装置の第２実施形態について説明する。なお、既に説明した実施形態と同一構成などは、同一の符号を付すなどして、その重複する説明を省略する。
【００８４】
図５に示すように、本実施形態の操舵ＥＣＵ３０は、モータ２０のうちの第１系統用コイルＣ１への駆動電力を供給する第１制御系統３１と、モータ２０のうちの第２系統用コイルＣ２への駆動電力を供給する第２制御系統３２と、各マイコン５５，６５を備える替わりに各制御系統３１，３２を統括的に制御する統括マイコン８０とを備えている。なお、本実施形態の操舵ＥＣＵ３０においては、各電圧センサ５１ｂ，６１ｂは不要とされる。
【００８５】
統括マイコン８０は、各制御系統３１，３２において、各駆動回路５０，６０及び各電源リレー５２，６２の動作を制御する。統括マイコン８０には、各マイコン５５，６５に入力されていた各種情報（電気信号）、すなわち外部指令値θｓ＊、操舵トルクＴｈ、車速Ｖ、回転角度θｍ、各相電流値Ｉｕ１，Ｉｖ１，Ｉｗ１，Ｉｕ２，Ｉｖ２，Ｉｗ２、及び各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２が入力される。統括マイコン８０は、ＰＷＭ信号等の各モータ制御信号Ｓｍ１，Ｓｍ２を出力する。なお、統括マイコン８０は、第１外部電源４３に接続されているとともに、内部グランド３３に接続されている。
【００８６】
図６に示すように、統括マイコン８０は、第１実施形態の第１制御系統３１が有する、電流指令値演算部７０、制御信号生成部７１、各減算器７１ａ，７１ｂ、各Ｆ／Ｂ演算部７１ｃ，７１ｄ、及び３相／２相変換部７２ａからなる第１信号処理部８１を有している。すなわち、第１信号処理部８１には、外部指令値θｓ＊、操舵トルクＴｈ、車速Ｖ、回転角度θｍ、各相電流値Ｉｕ１，Ｉｖ１，Ｉｗ１がそれぞれ入力される。なお、本実施形態の第１信号処理部８１においては、３相／２相変換部７２ｂは不要とされる。
【００８７】
また、統括マイコン８０は、第１実施形態の第２制御系統３２が有する、電流指令値演算部７０、制御信号生成部７１、各減算器７１ａ，７１ｂ、各Ｆ／Ｂ演算部７１ｃ，７１ｄ、及び各３相／２相変換部７２ａからなる第２信号処理部８２を有している。すなわち、第２信号処理部８２には、外部指令値θｓ＊、操舵トルクＴｈ、車速Ｖ、回転角度θｍ、及び各相電流値Ｉｕ２，Ｉｖ２，Ｉｗ２が入力される。なお、本実施形態の第２信号処理部８２においては、３相／２相変換部７２ｂは不要とされる。
【００８８】
また、統括マイコン８０は、操舵ＥＣＵ３０において、第１実施形態の各異常検出部７３，７４を備える替わりに統括異常検出部８３を有している。なお、統括異常検出部８３は、グランド異常の検出時、当該グランド異常が各制御系統３１，３２の何れで生じているかについても検出することができる。統括異常検出部８３には、イグニッション信号ＩＧ及び各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２が入力される。
【００８９】
ところで、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２は、操舵ＥＣＵ３０、すなわち各制御系統３１，３２において、グランド異常が生じていない場合、各制御系統３１，３２が同期動作することを考慮すればほぼ同一である。一方、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２は、第１制御系統３１において、グランド異常が生じている場合、第１電源グランド線ＧＬ１には電流が流れ込まなくなり、第２電源グランド電流値Ｉｇｎｄ２と比較して第１電源グランド電流値Ｉｇｎｄ１が小さくなる特徴的な状態となる。また、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２は、第２制御系統３２において、グランド異常が生じている場合、第２電源グランド線ＧＬ２には電流が流れ込まなくなり、第１電源グランド電流値Ｉｇｎｄ１と比較して第２電源グランド電流値Ｉｇｎｄ２が小さくなる特徴的な状態となる。
【００９０】
すなわち、統括異常検出部８３は、各制御系統３１，３２に関わる情報を用いて、操舵ＥＣＵ３０のグランド異常を検出することができるとともに、グランド異常の検出時、グランド異常が各制御系統３１，３２の何れで生じているかを検出することができる。統括異常検出部８３は、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の差に基づいて、グランド異常を検出し、その結果をグランド異常ＦＬＧとして各制御系統３１，３２の電流指令値演算部７０に対して出力する。
【００９１】
図４及び図７に示すように、統括異常検出部８３は、異常検出処理において、イグニッション信号ＩＧが入力された場合、又はイグニッション信号ＩＧが入力されていないが異常検出タイミングである場合（Ｓ１０：ＹＥＳ、又はＳ２０：ＹＥＳ）、グランド異常を検出するための処理を実行する。すなわち、統括異常検出部８３は、グランド異常を検出するために異常検出用のｄ軸電流を印加する（Ｓ３０）。Ｓ３０にて、統括異常検出部８３は、各信号処理部８１，８２における各ｄ軸電流指令値Ｉｄ１＊，Ｉｄ２＊にそれぞれ加算されるように、ｄ軸電流指令値Ｉｄｃ＊をそれぞれの減算器７１ａに対して出力し、異常検出用のｄ軸電流を印加する。
【００９２】
続いて、統括異常検出部８３は、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２をそれぞれ取得し、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の差の絶対値（｜Ｉｇｎｄ１−Ｉｇｎｄ２｜）が閾値β以下であるか否かを判定する（Ｓ５０ａ）。Ｓ５０ａにて、統括異常検出部８３は、各電源グランド線ＧＬ１，ＧＬ２にほぼ同じだけの電流が流れ込んでいるか否かを判定する。閾値βは、各制御系統３１，３２における各種部品による公差を考慮して当該公差分を零に対して増減させた値に設定される。
【００９３】
統括異常検出部８３は、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の差の絶対値が閾値β以下の場合（Ｓ５０ａ：ＹＥＳ）、異常検出処理を終了する。この場合、統括異常検出部８３は、グランド異常が生じていないことから、異常検出ＦＬＧを出力しない。
【００９４】
一方、統括異常検出部８３は、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２との差の絶対値が閾値βよりも大きい場合（Ｓ５０ａ：ＮＯ）、第２電源グランド電流値Ｉｇｎｄ２から第１電源グランド電流値Ｉｇｎｄ１を減算した結果（Ｉｇｎｄ２−Ｉｇｎｄ１）が零よりも大きいか否かを判定する（Ｓ６０ａ）。Ｓ５０ａ：ＮＯの場合、統括異常検出部８３は、グランド異常を検出したこととなる。そして、Ｓ６０ａにて、統括異常検出部８３は、グランド異常が各制御系統３１，３２の何れで生じているかを特定する。
【００９５】
統括異常検出部８３は、第２電源グランド電流値Ｉｇｎｄ２から第１電源グランド電流値Ｉｇｎｄ１を減算した結果が零よりも大きい場合（Ｓ６０ａ：ＹＥＳ）、第２電源グランド線ＧＬ２に第１電源グランド線ＧＬ１よりも大きい電流が流れ込んでいることを判定し、グランド異常が第１制御系統３１で生じていることを検出する（Ｓ７０）。この場合、第１制御系統異常時フェールでは、統括マイコン８０が第２電源リレー６２をオン状態に維持しつつ第１電源リレー５２をオフ状態へ切り替えるとともに、統括マイコン８０が外部指令値θｓ＊を無効化（零）する。
【００９６】
一方、統括異常検出部８３は、第２電源グランド電流値Ｉｇｎｄ２から第１電源グランド電流値Ｉｇｎｄ１を減算した結果が零よりも小さい場合（Ｓ６０ａ：ＮＯ）、第１電源グランド線ＧＬ１に第２電源グランド線ＧＬ２よりも大きい電流が流れ込んでいることを判定し、グランド異常が第２制御系統３２で生じていることを検出する（Ｓ８０）。この場合、第２制御系統異常時フェールでは、統括マイコン８０が第１電源リレー５２をオン状態に維持しつつ第２電源リレー６２をオフ状態へ切り替えるとともに、統括マイコン８０が外部指令値θｓ＊を無効化（零）する。
【００９７】
以上に説明した本実施形態によれば、上記第１実施形態の（１），（３），（４）の作用及び効果に加えて、以下の作用及び効果を得ることができる。
（５）統括異常検出部８３は、グランド異常が生じる場合の各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の特徴的な状態を各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２との差（Ｓ５０ａやＳ６０ａ）によって検出し、その結果に基づいて、グランド異常を検出するようにしている。これにより、より高い精度でグランド異常を検出することができる。
【００９８】
この場合、各制御系統３１，３２の間での比較結果を用いる場合、本実施形態のように、各駆動回路５０，６０を制御するためのマイコンを各制御系統３１，３２の間で共通化する構成の実現の観点で特に有効である。
【００９９】
なお、上記各実施形態は、以下の形態にて実施することもできる。
・第１実施形態では、各マイコン５５，６５において、他方のマイコンが実行する異常検出処理についても実行することによって、グランド異常の相互チェック（相互監視）を行うようにしてもよい。これにより、操舵ＥＣＵ３０の信頼性の低下をより好適に抑制することができる。この場合、各マイコン５５，６５は、もう一方のマイコンからマイコン間通信によって必要な情報を取得するようにすればよい。
【０１００】
・第１実施形態では、各異常検出部７３，７４の機能を各マイコン５５，６５のどちらか一方に集約させてもよい。この場合、各異常検出部７３，７４の機能を集約させたマイコンは、もう一方のマイコンからマイコン間通信によって必要な情報を取得するようにすればよい。
【０１０１】
・第１実施形態は、第２実施形態と同様、各マイコン５５，６５を備える替わりに統括マイコン８０を備えるようにしてもよい。この場合、統括マイコン８０は、各制御系統３１，３２のうち、外部電源が接続される側の制御系統について、異常検出処理を実行すればよい。その他、統括マイコン８０は、各制御系統３１，３２について、異常検出処理をそれぞれ別々に実行してもよい。この場合、電源電圧値については、電圧センサや電流センサを設けて取得可能にすればよい。
【０１０２】
・第１実施形態は、Ｓ５０やＳ６０の替わりに、第２実施形態と同様、Ｓ５０ａやＳ６０ａの処理を実行するようにしてもよい。また、Ｓ５０ａやＳ６０ａは、Ｓ５０やＳ６０と合わせて実行するようにしてもよい。この場合、各マイコン５５，６５は、もう一方のマイコンからマイコン間通信によって必要な情報を取得するようにすればよい。一方、第２実施形態は、Ｓ５０ａやＳ６０ａの替わりに、第１実施形態と同様、Ｓ５０やＳ６０の処理を実行するようにしてもよい。また、Ｓ５０やＳ６０は、Ｓ５０ａやＳ６０ａと合わせて実行するようにしてもよい。この場合、統括マイコン８０は、センサを追加する等して必要な情報を取得するようにすればよい。
【０１０３】
・第２実施形態において、統括マイコン８０は、第２外部電源４４に接続されていてもよいし、各外部電源４３，４４とは別の外部電源に接続されていてもよい。
・第２実施形態において、Ｓ５０ａでは、各電源グランド電流値Ｉｇｎｄ１，Ｉｇｎｄ２の比、すなわちＩｇｎｄ１／Ｉｇｎｄ２やＩｇｎｄ２／Ｉｇｎｄ１の絶対値が閾値γ以下であるか否かを判定するようにしてもよい。閾値γは、各制御系統３１，３２における各種部品による公差を考慮して当該公差分を１に対して増減させた値に設定される。この場合、Ｓ６０ａでは、Ｓ５０ａ：ＮＯの場合、例えば、Ｉｇｎｄ２／Ｉｇｎｄ１が１よりも大きいか否かを判定するようにすればよい。Ｉｇｎｄ２／Ｉｇｎｄ１が１よりも大きい場合、第２電源グランド線ＧＬ２に第１電源グランド線ＧＬ１よりも大きい電流が流れ込んでいることを示す。また、Ｉｇｎｄ２／Ｉｇｎｄ１が１よりも小さい場合、第１電源グランド線ＧＬ１に第２電源グランド線ＧＬ２よりも大きい電流が流れ込んでいることを示す。この場合であっても、より高い精度でグランド異常を検出することができる。
【０１０４】
・各実施形態において、グランド異常の検出は、モータ２０に発生させているトルクが零の状況に限るようにしてもよい。この場合、Ｓ３０の判定に先立って、モータ２０に発生させているトルクが零であるか否かを判定し、モータ２０に発生させているトルクが零の場合に、異常検出用のｄ軸電流を印加するようにしてもよい。モータ２０に発生させているトルクが零でない場合には、電気回路が動作している状態であることから、異常検出用のｄ軸電流を印加しなくてもグランド異常を検出することができる。なお、モータ２０に発生させているトルクが零であるか否かの判定には、例えば、ｄ軸電流指令値Ｉｄ＊及びｑ軸電流指令値Ｉｑ＊を用いればよい。その他、Ｓ３０の判定に先立って、操舵ＥＣＵ３０の起動処理時の他、車両Ａが直進中であるか否かを判定するようにしてもよい。なお、車両Ａが直進中であるか否かについては、外部指令値θｓ＊の変化幅やモータ２０の回転角度θｍの変化幅を用いたり、モータ２０の実電流の変化幅を用いたりして判定すればよい。本変形例によれば、グランド異常の検出に関わる消費電力を低減することができる。
【０１０５】
・各実施形態において、Ｓ３０では、異常検出用のｄ軸電流に替えて、異常検出用のｑ軸電流を印加するようにしてもよい。この場合、各系統用コイルＣ１，Ｃ２において、互いに逆方向（位相を１８０°ずらした）の異常検出用のｑ軸電流を印加することによって、モータ２０にトルクを発生させることなく各制御系統３１，３２の電気回路が動作している状態を作り出すことができる。これにより、上記各実施形態と同様、モータ２０にトルクを発生させる必要がない状況も含めて、モータ２０の駆動の状況に関係なくグランド異常を検出することができる。
【０１０６】
・各実施形態では、閾値αや閾値βを変更してもよく、例えば、グランド異常について、グランド異常を事前に検出できるようにそれぞれの値を設定することもできる。これにより、グランド異常を生じる前に先回りしてフェールを作動させたりできるようになる。本変形例は、グランド異常を検出するために検出結果のみを用いる第２実施形態の構成の場合、特に有効に機能させることができる。
【０１０７】
・各実施形態において、各マイコン５５，６５や統括マイコン８０を内部グランド３３とは別のグランドに接続する場合、各電源電圧値Ｖｂａ１，Ｖｂａ２については、電圧センサや電流センサを設けて取得可能にすればよい。
【０１０８】
・各実施形態において、操舵ＥＣＵ３０では、複数の制御系統が構成されていればよく、３系統や４系統以上の制御系統が構成されていれもよい。この場合、外部電源についても各制御系統が構成される分だけ設けられていればよい。
【０１０９】
・各実施形態において、各制御系統異常時フェールでは、モータ２０の制御が停止された制御系統分を残った制御系統で補うようにマイコンがモータ２０の駆動を制御するようにしてもよい。
【０１１０】
・各実施形態において、モータ２０の回転速度が大きい場合には、ｄ軸電流を負として、弱め磁界制御を実行してもよい。
・各実施形態において、各電流検出部５４，６４は、ホール素子等の磁気センサを用いた非接触式のセンサを用いたり、ノイズ対策用のコイル等、電気回路上に存在している部品を用いて検出したりしてもよい。これは、各電流センサ５１ａ，６１ａや各電圧センサ５１ｂ，６１ｂについても同様である。
【０１１１】
・各実施形態において、モータ２０は、独立した２つのモータであってもよい。
・各実施形態において、自動操舵ＥＣＵ４は、外部指令値θｓ＊として、回転角度θｍに換算した指令値を出力するようにしてもよい。
【０１１２】
・各実施形態は、自動操舵モードの設定が指示されている間に介入操作があった場合、自動操舵制御を中断又は停止させて自動操舵モードの設定が指示されない状態、すなわちＥＰＳ制御に切り替えるようにした自動操舵装置１に適用してもよい。
【０１１３】
・各実施形態の自動操舵モードは、例えば、横滑り防止装置（ビークル・スタビリティ・コントロール）でステアリングシャフト１１に操舵力を付与する機能のものであってもよい。
【０１１４】
・各実施形態は、自動操舵モードを有していない操舵装置、すなわちＥＰＳ制御のみを実行する操舵装置にも適用可能である。
・各実施形態は、例えば、ステアバイワイヤ式の操舵装置にも適用可能である。この場合、操舵力付与機構３をラックシャフト１２の周辺に設けるようにすればよい。本変形例において、自動操舵モードの間は、例えば、ステアリングホイール１０の回転が転舵輪１５の転舵に連動する機能を停止させ、ステアリングホイール１０の回転と転舵輪１５の転舵とが連動しないようにしてもよい。
【０１１５】
・各実施形態では、自動操舵モードしか有しておらず、ユーザーのステアリング操作を想定しない場合、ステアリングホイール１０を省くようにしてもよい。
・各実施形態では、自動操舵装置１をコラムアシストＥＰＳに具体化したが、自動操舵装置１をラックアシストＥＰＳやピニオンアシストＥＰＳに適用してもよい。
【０１１６】
・各実施形態は、転舵輪１５を駆動する駆動用のモータの制御にも適用可能である。また、各実施形態は、車両用とは異なる用途で用いられるモータの制御にも適用可能である。
【符号の説明】
【０１１７】
１…自動操舵装置、２…操舵機構、３…操舵力付与機構、４…自動操舵ＥＣＵ、１５…転舵輪、２０…モータ、３０…操舵ＥＣＵ、３１…第１制御系統、３２…第２制御系統、３３…内部グランド、４３…第１外部電源、４４…第２外部電源、５０…第１駆動回路、５４…第１電流検出部、６０…第２駆動回路、６４…第２電流検出部、７３…第１異常検出部、７４…第２異常検出部、Ａ…車両、Ｂｏ…ボディ、Ｃ１…第１系統用コイル、Ｃ２…第２系統用コイル、ＧＬ１…第１電源グランド線、ＧＬ２…第２電源グランド線、Ｉｂａ１…第１電源電流値、Ｉｂａ２…第２電源電流値、Ｉｄ１，Ｉｄ２…ｄ軸電流値、Ｉｄｃ＊…ｄ軸電流指令値、Ｉｑ１，Ｉｑ２…ｑ軸電流値、Ｉｇｎｄ１…第１電源グランド電流値、Ｉｇｎｄ２…第２電源グランド電流値、θｍ…回転角度、θｓ＊…外部指令値。
【図１】
2017169405.tif 000003
【図２】
2017169405.tif 000004
【図３】
2017169405.tif 000005
【図４】
2017169405.tif 000006
【図５】
2017169405.tif 000007
【図６】
2017169405.tif 000008
【図７】
2017169405.tif 000009