(57)【要約】【課題】ホールセンサの異常を早期に検出することができる。【解決手段】電動式パワーステアリング装置は、モータ１１のロータの回転位置に応じて位置検出信号を出力するホールセンサ１２１〜１２３と、モータ１１の逆起電圧に基づいて当該モータ１１の推定モータ角度θａを算出する積分部２７と、ホールセンサ１２１〜１２３から出力される位置検出信号の組み合わせに基づいてモータ１１の回転角度を検出するとともに、その検出した回転角度と推定モータ角度θａとを比較する比較演算部２８と、比較演算部２８の比較結果に基づいてホールセンサ１２１〜１２３の異常を検出するフェールセーフ演算部２９とを備える。【選択図】図３
2005335591.tif 000002
【特許請求の範囲】
【請求項１】
ブラシレスモータの回転角度を検出しながら、当該ブラシレスモータにより車両の操舵系に操舵補助力を付与する電動式パワーステアリング装置において、
前記ブラシレスモータのロータの回転位置に応じて位置検出信号を出力する複数の位相検出素子と、
前記複数の位相検出素子から出力される位置検出信号の組み合わせに基づいて前記ブラシレスモータの第１の回転角度を検出する第１モータ回転角度検出手段と、
前記ブラシレスモータへの駆動用通電値に基づいて当該ブラシレスモータの第２の回転角度を検出する第２モータ回転角度検出手段と、
前記第１の回転角度と前記第２の回転角度とを比較して、その比較結果に基づいて前記位相検出素子の異常を検出する異常検出手段と、
を備えることを特徴とする電動式パワーステアリング装置。
【請求項２】
前記第２モータ回転角度検出手段は、前記駆動用通電値として前記ブラシレスモータに通電する際の逆起電圧を検出し、その逆起電圧に基づいて前記第２の回転角度を検出することを特徴とする請求項１記載の電動式パワーステアリング装置。
【請求項３】
前記位相検出信号の組み合わせが切り替わるタイミングで、前記第１の回転角度と前記第２の回転角度との誤差を算出する一方で、前記第２の回転角度を前記第１の回転角度に設定する補正をし、前記組み合わせが切り替わるタイミング以外では、前記誤差により前記第２の回転角度を補正する補正手段を備えることを特徴とする請求項１又は２記載の電動式パワーステアリング装置。
【請求項４】
前記異常検出手段が前記位相検出素子の異常を検出した場合には、当該異常検出前の前記第１の回転角度と第２の回転角度と、当該異常検出後の第２の回転角度の変化傾向を参照して前記操舵補助力の付与の算出に用いる回転角度を算出し、この算出した回転角度に基づいて前記操舵補助力を算出することを特徴とする請求項１乃至３のいずれか一項に記載の電動式パワーステアリング装置。
【請求項５】
ブラシレスモータの異常を検出する異常検出装置において、
前記ブラシレスモータのロータの回転位置に応じて位置検出信号を出力する複数の位相検出素子と、
前記複数の位相検出素子から出力される位置検出信号の組み合わせに基づいて前記ブラシレスモータの第１の回転角度を検出する第１モータ回転角度検出手段と、
前記ブラシレスモータへの駆動用通電値に基づいて当該ブラシレスモータの第２の回転角度を検出する第２モータ回転角度検出手段と、を備え、
前記第１の回転角度と前記第２の回転角度とを比較して、その比較結果に基づいて前記位相検出素子の異常を検出することを特徴とするブラシレスモータの異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両の操舵系に電動モータにより操舵補助力を付与する電動式パワーステアリング装置に関する。
【背景技術】
【０００２】
特許文献１に開示されている電動式パワーステアリング装置は、予め形成したゲート設定テーブルから該当するセンサ信号の検出状態の組み合わせを検索し、該当するセンサ信号の検出状態の組み合わせがないときセンサに異常が発生したものとして、制御回路に異常通知を行うとともに、フェールリレーを開状態とし、ＦＥＴゲート駆動回路がモータ駆動回路の各トランジスタをオフ状態としてコイル回路への電流供給を停止する構成になっている。
【特許文献１】特開平８−２５１９７５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
前記特許文献１のような原理では、次のような問題が発生する。なお、ここでは、特許文献１の原理の下、３相ブラシレスモータに使用する３個のホールセンサの異常検出を行う場合を説明する。
図１９は、３個のホールセンサＡ，Ｂ，Ｃのホールセンサ出力信号（“０”（Ｌｏｗ）又は“１”（Ｈｉｇｈ））を示し、同図（Ａ）は、正常動作時のものであり、同図（Ｂ）は、ホールセンサＡが異常動作した時のものである。ここで、ホールセンサＡの異常動作はＬ固定故障（センサ出力値がＬｏｗ（“０”）に固定される故障）となっている。
【０００４】
図１９（Ａ）に示すように、３個のホールセンサＡ，Ｂ，Ｃは、正常動作時には、それぞれが所定のタイミングでホールセンサ出力信号が“０”と“１”とで切り替わる。そして、いずれか１つのホールセンサの出力値が切り替わったときに、３個のホールセンサの出力値の組み合わせであるホールセンサ出力パターンが変化する。例えば、本例では、ホールセンサ出力値が切り替わる毎に、ホールセンサ出力パターンが、（１，０，１）＝“５”，（０，０，１）＝“１”，（０，１，１）＝“３”，（０，１，０）＝“２”，（１，１，０）＝“６”，（１，０，０）＝“４”，（１，０，１）＝“５”といった順序で変化する。
【０００５】
前記特許文献１では、このようなホールセンサ出力パターンで、その組み合わせがあり得ないパターンがテーブルから得られたとき、ホールセンサの異常を検出している。
一方、図１９（Ｂ）に示すように、ホールセンサＡが、あるタイミングＡで故障すれば、それ以降、ホールセンサＡのホールセンサ出力値は変化しなくなる。しかし、本例のように、故障以降でも、正常動作する他のホールセンサＢ，Ｃのホールセンサ出力信号との組み合わせパターン（本例では（１，０，０）＝“４”）が、正常動作時のパターンとしてあり得る限り、ホールセンサの異常を検出できなく、その組み合わせが、正常動作時のものとしてあり得ないホールセンサ出力パターン（本例では（０，０，０）＝“０”）となったタイミングＢで、ようやくホールセンサの異常を検出できるようになる。
【０００６】
しかし、本来であれば、それ以前のタイミングＣ等でホールセンサの異常を検出できるのが望ましい。ホールセンサの故障の検出が遅れるほど、その間、適切な操舵力へのアシストができなくなり、その結果、操舵フィーリングに悪影響を及ぼしてしまうからである。例えば、本例のように、タイミングＣからタイミングＢの間、ホールセンサの異常を検出できないとすれば、６０°の間、適切なアシスト（操舵補助力）がなくなり、その結果、操舵フィーリングに悪影響を及ぼしてしまうからである。
【０００７】
また、図２０（Ｂ）は、ホールセンサＡの異常動作がＨ固定故障（センサ出力値がＨｉｇｈ（“１”）に固定される故障）となった場合の、ホールセンサＡ，Ｂ，Ｃのホールセンサ出力信号（“０”（Ｌｏｗ）又は“１”（Ｈｉｇｈ））を示す。
この図２０（Ｂ）に示すように、ホールセンサＡが、あるタイミングＡでＨ固定故障すれば、それ以降、ホールセンサＡのホールセンサ出力値は変化しなくなる。しかし、本例のように、故障以降でも、正常動作する他のホールセンサＢ，Ｃのホールセンサ出力信号との組み合わせパターン（本例では（０，１，１）＝“３”）が正常動作時のパターンとしてあり得る限り、ホールセンサの異常を検出できなく、その組み合わせが、正常動作時のものとしてあり得ないホールセンサ出力パターン（本例では（１，１，１）＝“１”）となったタイミングＢで、ようやくホールセンサの異常を検出できるようになる。しかし、本来であれば、前記図１９の場合と同様に、それ以前のタイミングＣ等でホールセンサの異常を検出できることが望ましい。
【０００８】
さらに、前記特許文献１で開示されている技術では、ホールセンサの異常を検出している間、アシストを停止させている。この技術について、図２１を用いて説明する。
図２１（Ａ）は、前記図１９（Ｂ）と同じホールセンサ出力パターンを示し、図２１（Ｂ）は、ホールセンサの異常を検出した際の故障確定フラグの状態を示し、図２１（Ｃ）は、アシスト率を示す。ここで、故障確定フラグは、例えば制御回路がホールセンサの異常判断の指標に用いる情報であり、アシスト率は、１００％である場合、アシストしている状態（操舵補助力を付与している状態）を示し、０％の場合、非アシスト状態（操舵補助力の付与を解除した状態）を示す。
【０００９】
前記特許文献１の技術では、図２１（Ａ）に示すように、あるタイミングＢでホールセンサの異常を検出した場合、図２１（Ｃ）に示すように、ホールセンサ出力信号が信用できないことで、通常制御を続けることができないことから、アシスト率を０％にしている、すなわち非アシスト状態にしている。このとき、故障確定フラグは、“０”から“１”に変化する。具体的な処理は、フェールリレーを開状態とし、ＦＥＴゲート駆動回路がモータ駆動回路の各トランジスタをオフ状態としてコイル回路への電流供給を停止することで、非アシスト状態にしている。
【００１０】
しかし、ホールセンサの異常を検出したからといってアシスト状態から非アシスト状態にしてしまうと、急激なアシストトルク変動を発生させてしまい、それが操舵フィーリングに悪影響を及ぼしてしまう。
本発明は、前記問題に鑑みてなされたものであり、ホールセンサの異常を早期に検出することができる電動式パワーステアリング装置及びブラシレスモータの異常検出装置の提供を目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る電動式パワーステアリング装置は、ブラシレスモータの回転角度を検出しながら、当該ブラシレスモータにより車両の操舵系に操舵補助力を付与する電動式パワーステアリング装置において、前記ブラシレスモータのロータの回転位置に応じて位置検出信号を出力する複数の位相検出素子を備えており、複数の位相検出素子から出力される位置検出信号の組み合わせに基づいて前記ブラシレスモータの第１の回転角度を第１モータ回転角度検出手段により検出し、前記ブラシレスモータへの駆動用通電値に基づいて当該ブラシレスモータの第２の回転角度を第２モータ回転角度検出手段により検出し、前記第１の回転角度と前記第２の回転角度とを比較して、その比較結果に基づいて前記位相検出素子の異常を異常検出手段により検出する。
【００１２】
前記位相検出素子が故障等により位置検出信号が切り替わらなくなった場合に、その直後の位相検出素子からの位置検出信号の出力タイミングでは、その位置検出信号による組み合わせに基づいて得られる第１のモータ回転角度と、前記駆動用通電値に基づいて得られる第２のモータ回転角度とは、全く異なる値になる。本発明では、このような場合を位相検出素子の異常として検出する。
【発明の効果】
【００１３】
本発明によれば、位相検出素子が故障等により位置検出信号が切り替わらなくなった場合に、その直後の位相検出素子からの位置検出信号の出力タイミングで当該位相検出素子の異常を検出でき、早期に位相検出素子の異常を検出することができる。
【発明を実施するための最良の形態】
【００１４】
本発明を実施するための最良の形態（以下、実施形態という。）を図面を参照しながら詳細に説明する。
第１の実施形態は、本発明を適用した電動式パワーステアリング装置である。図１は、その電動式パワーステアリング装置を示す概略構成図である。
図中、１はステアリングホイールであり、このステアリングホイール１に作用された操舵力は、ステアリングシャフト２に伝達される。
【００１５】
ステアリングシャフト２は、入力軸２ａと出力軸２ｂとから構成されており、入力軸２ａの一端がステアリングホイール１に連結され、他端がトルクセンサ３を介して出力軸２ｂの一端に連結されている。ステアリングシャフト２にて出力軸２ｂに伝達された操舵力は、ユニバーサルジョイント４を介してピニオンシャフト５に伝達される。そして、操舵力は、ステアリングギヤ６を介してタイロッド７，７に伝達されて転舵輪８，８を転舵させる。ステアリングギヤ６は、ピニオン６ａとラック６ｂとを有するラックアンドピニオン形に構成されており、ピニオン６ａに伝達された回転運動をラック６ｂで直進運動に変換している。
【００１６】
ステアリングシャフト２の出力軸２ｂには、補助操舵力（アシスト力）を当該出力軸２ｂに伝達する減速ギヤ１０が連結されており、減速ギヤ１０には、補助操舵力を発生する、３相ブラシレスモータであるモータ１１の出力軸が連結されている。
モータ１１は、位相検出部１２によりその回転角度が検出される。位相検出部１２は、位相検出素子である３個のホールセンサ１２１，１２２，１２３によりモータ１１のロータの位置を検出している。そして、位相検出部１２は、ホールセンサ１２１，１２２，１２３の出力値Ｓａ，Ｓｂ，Ｓｃをコントローラ２０に出力している。
【００１７】
トルクセンサ３は、ステアリングホイール１から入力軸２ａに伝達された操舵トルクを検出するものである。トルクセンサ３は、例えば、操舵トルクを入力軸２ａと出力軸２ｂとの間に介挿したトーションバーの捩じれ角変位に変換し、この捩じれ角変位をポテンショメータで検出するように構成されており、ステアリングホイール１が操舵操作されると、それに応じて、ステアリングシャフト２に生じる捩じれの大きさと方向とに応じたアナログ電圧からなるトルク検出値を出力する。このトルクセンサ３は、例えば、ステアリングホイール１が中立状態にある場合には、所定の中立電圧Ｖ０をトルク検出信号Ｔｖとして出力し、これよりステアリングホイール１を右切りするとそのときの操舵トルクに応じて中立電圧Ｖ０より増加する電圧を、左切りするとそのときの操舵トルクに応じて中立電圧Ｖ０より減少する電圧を出力するようになされている。トルクセンサ３は、このトルク検出信号Ｔｖをコントローラ２０に出力する。
コントローラ２０は、モータ１１を駆動制御し、操舵系への操舵補助力の制御を行うように構成されている。すなわち、コントローラ２０は、図２に示すように、トルクセンサ３からのトルク検出値Ｔｖと、例えば変速機の出力軸に配設された車速センサ１３からの車速検出値Ｖｐとに基づきモータ１１を駆動制御する。
【００１８】
図３は、コントローラ２０の構成例を示す。
図３に示すように、コントローラ２０は、モータアシスト指令値演算部２１、３相電流指令演算部２２、３相ブリッジ回路２３、相電流検出部２４、相電圧検出部２５、モータ角速度演算部２６、積分部２７、比較演算部２８及びフェールセーフ演算部（異常検出部）２９を備えている。
コントローラ２０には、モータアシスト指令値演算部２１にトルクセンサ３からのトルク検出値Ｔｖと、車速センサ１３からの車速検出値Ｖｐとが入力されており、モータアシスト指令値演算部２１は、これらトルク検出値Ｔｖ及び車速検出値Ｖｐに基づいてモータ電流指令値Ｉｍを算出し、この算出したモータ電流指令値Ｉｍを３相電流指令演算部２２に出力する。
【００１９】
３相電流指令演算部２２は、このモータ電流指令値Ｉｍに基づいて各相のＤｕｔｙ比Ｉａ，Ｉｂ，Ｉｃのパルス幅変調信号を３相ブリッジ回路２３に出力する。
３相ブリッジ回路２３は、例えばＦＥＴゲート駆動回路やトランジスタにより構成されており、入力されたパルス幅変調信号に基づいてモータ１１を駆動するために、当該モータ１１の各励磁コイルにモータ電流（励磁電流）を供給する。これにより、モータ１１が駆動され、３個のホールセンサ１２１，１２２，１２３によりモータ１１のロータの位置が検出される。このホールセンサ１２１，１２２，１２３の出力値（以下、ホールセンサ出力値という。）Ｓａ，Ｓｂ，Ｓｃ（“０”（Ｌｏｗ）又は“１”（Ｈｉｇｈ））は、比較演算部２８に入力されている。
【００２０】
このようにモータ１１を駆動する一方で、相電流検出部２４により、３相ブリッジ回路２３からの出力値としてモータ電流値を検出し、また、相電圧検出部２５により、３相ブリッジ回路２３からの出力値としてモータ電圧値を検出する。相電流検出部２４及び相電圧検出部２５は、モータ電流値及びモータ電圧値をモータ角速度演算部２６に出力する。
モータ角速度演算部２６は、モータ電流値及びモータ電圧値に基づいて逆起電圧を算出し、その逆起電圧からモータ角速度の推定値ωを算出する。そして、モータ角速度演算部２６は、その推定したモータ角速度の推定値ωを積分部２７に出力する。
【００２１】
積分部２７は、モータ角速度演算部２６からの推定モータ角速度を積分して、モータ角度の推定値（以下、推定モータ角度という。）θａを算出する。そして、積分部２７は、算出した推定モータ角度θａを比較演算部２８に出力する。
比較演算部２８には、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃ（“０”（Ｌｏｗ）又は“１”（Ｈｉｇｈ））及び積分部２７から推定モータ角度θａが入力されており、比較演算部２８は、対応テーブルを用いて、推定モータ角度θａに対応するものとして得たホールセンサ出力パターンと前記ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。
【００２２】
例えば、表１に示すように、対応テーブルは、推定モータ角度θａとホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）との対応を示すテーブルである。この対応テーブルでは、各ホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）に一定範囲の推定モータ角度θａを対応させており、例えば、その一定範囲については、推定モータ角度θａの演算誤差を考慮した範囲として決定している。例えば、演算誤差が大きいほど、この範囲を狭く設定する。
【００２３】
【表１】
2005335591.tif 000003
【００２４】
図４は、比較演算部２８による処理手順の具体例を示す。
比較演算部２８は、先ずステップＳ１及びステップＳ２において、積分部２７から推定モータ角度θａを取得し、さらにホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃを取得する。
そして、比較演算部２８は、ステップＳ３〜ステップＳ８において、推定モータ角度θａが含まれる角度範囲を確認して、対応テーブルからその角度範囲に対応するホールセンサ出力パターンを取得して、ホールセンサ１２１，１２２，１２３の実測値であるホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。
【００２５】
すなわち、比較演算部２８は、ステップＳ３の判定処理で推定モータ角度θａが１０°以上、かつ５０°以下の場合（１０°≦θａ≦５０°）、ステップＳ９に進み、そうでない場合、ステップＳ４に進む。ステップＳ９では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（１，０，１）を取得して、このホールセンサ出力パターン（１，０，１）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、ステップＳ１７に進み、その比較結果が一致しない場合、ステップＳ１６に進む。
【００２６】
ステップＳ１７では、比較演算部２８は、正常と判定して、検出フラグＪを“０”にして、その検出フラグＪをフェールセーフ演算部２９に送る。そして、比較演算部２８は、再び前記ステップＳ１からの処理を行う。
また、ステップＳ１６では、比較演算部２８は、ホールセンサが異常であると判定して、検出フラグＪを“１”にして、その検出フラグＪをフェールセーフ演算部２９に送る。そして、比較演算部２８は、再び前記ステップＳ１からの処理を行う。
【００２７】
また、比較演算部２８は、ステップＳ４の判定処理で推定モータ角度θａが７０°以上、かつ１１０°以下の場合（７０°≦θａ≦１１０°）、ステップＳ１０に進み、そうでない場合、ステップＳ５に進む。ステップＳ１０では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（０，０，１）を取得して、このホールセンサ出力パターン（０，０，１）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１７に進み、その比較結果が一致しない場合、前記ステップＳ１６に進む。
【００２８】
また、比較演算部２８は、ステップＳ５の判定処理で推定モータ角度θａが１３０°以上、かつ１７０°以下の場合（１３０°≦θａ≦１７０°）、ステップＳ１１に進み、そうでない場合、ステップＳ６に進む。ステップＳ１１では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（０，１，１）を取得して、このホールセンサ出力パターン（０，１，１）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１７に進み、その比較結果が一致しない場合、前記ステップＳ１６に進む。
【００２９】
また、比較演算部２８は、ステップＳ６の判定処理で推定モータ角度θａが１９０°以上、かつ２３０°以下の場合（１９０°≦θａ≦２３０°）、ステップＳ１２に進み、そうでない場合、ステップＳ７に進む。ステップＳ１２では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（０，１，０）を取得して、このホールセンサ出力パターン（０，１，０）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１７に進み、その比較結果が一致しない場合、前記ステップＳ１６に進む。
【００３０】
また、比較演算部２８は、ステップＳ７の判定処理で推定モータ角度θａが２５０°以上、かつ２９０°以下の場合（２５０°≦θａ≦２９０°）、ステップＳ１３に進み、そうでない場合、ステップＳ８に進む。ステップＳ１３では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（１，１，０）を取得して、このホールセンサ出力パターン（１，１，０）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１７に進み、その比較結果が一致しない場合、前記ステップＳ１６に進む。
【００３１】
また、比較演算部２８は、ステップＳ８の判定処理で推定モータ角度θａが３１０°以上、かつ３５０°以下の場合（３１０°≦θａ≦３５０°）、ステップＳ１４に進み、そうでない場合、ステップＳ１５に進む。ステップＳ１４では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（１，０，０）を取得して、このホールセンサ出力パターン（１，０，０）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１７に進み、その比較結果が一致しない場合、前記ステップＳ１６に進む。
ステップＳ１５では、比較演算部２８は、正常と判定して、検出フラグＪを“０”にして、その検出フラグＪをフェールセーフ演算部２９に送る。そして、比較演算部２８は、再び前記ステップＳ１からの処理を行う。
【００３２】
以上の図４に示した処理手順により、比較演算部２８は、推定モータ角度θａに対応するホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較して、その比較結果で、それらが一致している場合にはホールセンサが正常であると判定するとともに、検出フラグＪ＝０をフェールセーフ演算部２９に送り、また、それらが一致していない場合にはホールセンサが異常であると判定するとともに、検出フラグＪ＝１をフェールセーフ演算部２９に送る。
【００３３】
なお、処理上は、対応テーブルにより推定モータ角度θａに対応するホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較しているが、実質的には、この処理は、推定モータ角度θａと実測のホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃに対応するモータ角度とを比較しているといえる。
フェールセーフ演算部２９は、比較演算部２８から送られてきた検出フラグＪに基づいてホールセンサ異常か否かを確定する処理を行う。図５は、その処理手順の具体例を示す。
【００３４】
先ず、ステップＳ２１において、フェールセーフ演算部２９は、カウント値ｉを０にする（カウント値ｉを初期化する）。
そして、フェールセーフ演算部２９は、続くステップＳ２２において比較演算部２８から検出フラグＪを取得して、さらに続くステップＳ２３において、その検出フラグＪが“１”か否かを判定する。ここで、フェールセーフ演算部２９は、検出フラグＪが“１”の場合（Ｊ＝１）、ステップＳ２４に進み、検出フラグＪが“１”でない場合（Ｊ＝０）、ステップＳ２８に進む。
【００３５】
フェールセーフ演算部２９は、ステップＳ２４でカウント値ｉをインクリメントし（ｉ＝ｉ＋１）、ステップＳ２５に進む。
ステップＳ２５では、フェールセーフ演算部２９は、カウント値ｉが閾値Ｚｉ以上か否かを判定する。ここで、閾値Ｚｉは、演算周期と検知時間から任意に決めた、異常判定用の閾値である。フェールセーフ演算部２９は、カウント値ｉが閾値Ｚｉ以上の場合（ｉ≧Ｚｉ）、ステップＳ２６に進み、そうでない場合（ｉ＜Ｚｉ）、再び前記ステップＳ２２からの処理を行う。
【００３６】
ステップＳ２６では、フェールセーフ演算部２９は、ホールセンサ異常判定を確定し、“１”の確定フラグＤを出力する。そして、フェールセーフ演算部２９は、続くステップＳ２７において、フェール確定後処理を行う。
一方、前記ステップＳ２３で検出フラグＪが“１”でない場合（Ｊ＝０）に進むステップＳ２８では、フェールセーフ演算部２９は、カウント値ｉを０にして（カウント値ｉをリセットして）、“０”にした確定フラグＤを出力する。そして、フェールセーフ演算部２９は、再び前記ステップＳ２２からの処理を行う。
【００３７】
以上の図５に示した処理により、フェールセーフ演算部２９は、検出フラグＪ＝１を所定時間（閾値Ｚｉ）以上連続して検出した場合、確定フラグＤ＝１を出力する、すなわちホールセンサが異常であることを確定する。これにより、例えば、コントローラ２０が、確定フラグＤが“０”から“１”に変化したタイミングでホールセンサの異常通知をする。
なお、検出フラグＪ＝１を所定時間（閾値Ｚｉ）以上連続して検出した場合を示したが、検出フラグＪ＝１を所定時間中に所定回数以上検出した場合としてもよい。
【００３８】
図６は、以上の処理により実現されるタイムチャートを示す。
ここで、図６（Ａ）は、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃの変化を示す。また、図６（Ｂ）は、前記図４に示す処理による結果であり、図中の網掛け領域がホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと推定モータ角度θａとの比較範囲を示す。すなわち、同図中に示す推定モータ角度θａを示す実線がかかる網掛け領域で、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと当該推定モータ角度θａとを比較する。なお、ここで、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとの比較対象となる推定モータ角度θａは、具体的には、対比テーブルにより推定モータ角度θａに対応して得られるホールセンサ出力パターンである。
【００３９】
また、図６（Ｃ）は、そのホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと推定モータ角度θａとの実際の比較タイミングを示し、図６（Ｄ）は、その比較結果としての検出フラグＪの値を示し、図６（Ｅ）は、前記図５に示す処理による結果であり、確定フラグＤの値を示す。
この図６に示すように、例えば、あるタイミングＡ（図６（Ａ）に示すタイミング）でホールセンサ１２３がＬ固定故障（Ｌｏｗ（“０”）に固定される故障）した場合、ホールセンサ１２３の出力値が変化しなくなることから、その後のタイミングＢ（図６（Ａ）に示すタイミング）でホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃは変化しなくなる。これにより、その直後の比較タイミング（ホールセンサ切り替え判定フラグＣ＝１のタイミング）で、推定モータ角度θａ（具体的には対比テーブルにより得られるホールセンサ出力パターン）とホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較して、その比較結果が一致しないので、検出フラグＪ＝１となり、さらにその検出フラグＪ＝１が所定時間継続することで、確定フラグＤ＝１となり、ホールセンサが異常であることが確定する。
【００４０】
なお、この例では、タイミングＡの直後の新たな比較タイミングにおいてホールセンサ出力パターン（１，０，０）が正常動作時のパターンと一致することから、当該比較タイミングにおいてホールセンサの異常が検出されずに、次の比較タイミングで前述したようにホールセンサの異常が検出されている。しかし、タイミングＣ（図６（Ａ）に示すタイミング）でホールセンサ１２３がＬ固定故障（Ｌｏｗ（“０”）に固定される故障）した場合には、その直後の新たな比較タイミングでホールセンサの異常を検出することができるのである。
【００４１】
次に第１の実施形態における効果を説明する。
前述したように、積分部２７がモータ１１の逆起電圧から推定モータ角度θａを算出し、比較演算部２８が、対比テーブルによりその推定モータ角度θａに対応するセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）を得て、そのセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とホールセンサ１２１，１２２，１２３の実測値であるホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較している。そして、比較演算部２８が、それら値が一致しない場合にホールセンサが異常（一時的に異常）であると判定するとともに、フェールセーフ演算部２９がその判定を確定する処理を行っている。
【００４２】
すなわち、ホールセンサ１２１，１２２，１２３が故障等によりホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃが切り替わらなくなった場合に、その直後のホールセンサ１２１，１２２，１２３からのホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃの出力タイミングでは、そのホールセンサ１２１，１２２，１２３の組み合わせと、推定モータ角度θａに対応するセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とが異なる値になる。そして、このとき、ホールセンサの異常が検出されるのである。
【００４３】
よって、ホールセンサ１２１，１２２，１２３が故障等によりホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃが切り替わらなくなった場合に、その直後のホールセンサ１２１，１２２，１２３からのホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃの出力タイミングで当該ホールセンサ１２１，１２２，１２３の異常を検出できるので、早期に異常を検出できるようになる。
【００４４】
次に第２の実施形態を説明する。
第２の実施形態は、前記第１の実施形態と同様に図１及び図２に示す電動式パワーステアリング装置である。
この第２の実施形態では、正常動作時のホールセンサのホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃに基づいて得たモータ角度で、前記積分部２７で算出する推定モータ角度θａを補正している。
例えばモータの抵抗値が温度により変化した場合、その変化の影響がモータの逆起電圧から求められる推定モータ角度θａに及んでしまう。第２の実施形態では、このような温度変化の影響を受けないように、推定モータ角度θａを補正する構成になっている。
【００４５】
図７は、第２の実施形態におけるコントローラ２０の構成を示す。
この第２の実施形態にけるコントローラ２０は、前記第１の実施形態におけるコントローラ２０と共通した構成部分を有しており、その構成部分には、前記第１の実施形態と同じ番号を付しており、当該構成部分は、特に言及しない限り、前記第１の実施形態における処理又は動作と同様であり、その説明を省略する。
【００４６】
図７に示すように、第２の実施形態におけるコントローラ２０は、モータアシスト指令値演算部２１、３相電流指令演算部２２、３相ブリッジ回路２３、相電流検出部２４、相電圧検出部２５、モータ角速度演算部２６、積分部２７、比較演算部２８及びフェールセーフ演算部２９の他に、新たな構成部分として、モータ角度演算部３１、ホールセンサ切り替え判定部３２、誤差演算部３３及びモータ角度誤差補正演算部３４を備えている。
【００４７】
モータ角度演算部３１には、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃが入力されており、モータ角度演算部３１は、このホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃに基づいてモータ角度（以下、センサ算出モータ角度という。）θｂを算出する。具体的には、モータ角度演算部３１は、表２に示す対応テーブルを用いてセンサ算出モータ角度θｂを算出する。
【００４８】
【表２】
2005335591.tif 000004
【００４９】
表２に示す対応テーブルは、ホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とセンサ算出モータ角度θｂとを対応させており、具体的には、ホールセンサ出力パターン（１，０，１）にセンサ算出モータ角度θｂ＝０°が対応し、ホールセンサ出力パターン（０，０，１）にセンサ算出モータ角度θｂ＝６０°が対応し、ホールセンサ出力パターン（０，１，１）にセンサ算出モータ角度θｂ＝１２０°が対応し、ホールセンサ出力パターン（０，１，０）にセンサ算出モータ角度θｂ＝１８０°が対応し、ホールセンサ出力パターン（１，１，０）にセンサ算出モータ角度θｂ＝２４０°が対応し、ホールセンサ出力パターン（１，０，０）にセンサ算出モータ角度θｂ＝３００°が対応している。このように、対応テーブルでは、各ホールセンサ出力パターンにセンサ算出モータ角度θｂ（一定値）を対応させている。
【００５０】
ここで、この対応テーブルにおけるホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とセンサ算出モータ角度θｂとの関係は、ホールセンサ１２１，１２２，１２３が正常動作しているとすれば、新たなホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）に切り替わった時点で得られるモータ角度θｂと、当該ホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とを対応させた関係になっている。
【００５１】
モータ角度演算部３１は、このような対応テーブルを用いて、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃに対応するセンサ算出モータ角度θｂを取得する。そして、モータ角度演算部３１は、その取得したセンサ算出モータ角度θｂを誤差演算部３３及びモータ角度誤差補正演算部３４に出力する。
ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃの切り替え点を判定する。すなわち例えば、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃのうちのいずれか１つの値が“０”（Ｌｏｗ）から“１”（Ｈｉｇｈ）、又は“１”（Ｈｉｇｈ）から“０”（Ｌｏｗ）に変化した時点を切り替え点と判定する。
【００５２】
図８は、その判定処理手順の具体例を示す。
先ず、ステップＳ３１において、ホールセンサ切り替え判定部３２は、第１乃至第３カウント値ａ，ｂ，ｃを０にする（第１乃至第３カウント値ａ，ｂ，ｃを初期化する）。
続いてステップＳ３２において、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃを取得する。
続いてステップＳ３３において、ホールセンサ切り替え判定部３２は、第１カウント値ａが０か否かを判定する。ここで、ホールセンサ切り替え判定部３２は、第１カウント値ａが０の場合（ａ＝０）、ステップＳ３４に進み、そうでない場合（ａ≧１）、ステップＳ４３に進む。
【００５３】
ステップＳ３４では、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａに変化があるか否かを判定する。すなわち、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａが“０”から“１”、又は“１”から“０”に変化したか否かを判定する。なお、後述するステップＳ４７及びステップＳ５１でも、ホールセンサ出力値Ｓｂ，Ｓｃの変化の判定をこれと同様に行う。
【００５４】
ここで、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａに変化がある場合、ステップＳ４４に進み、ホールセンサ出力値Ｓａに変化がない場合、ステップＳ３５に進む。ホールセンサ切り替え判定部３２は、ステップＳ３５で第１カウント値ａを０にして（第１カウント値ａを０に維持して）、ステップＳ３６に進む。
一方、前記ステップＳ３３で第１カウント値ａが０でない場合に進むステップＳ４３では、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａに変化がないか否かを判定する。ここで、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａに変化がない場合、ステップＳ４４に進み、ホールセンサ出力値Ｓａに変化がある場合、ステップＳ４６に進む。
【００５５】
ステップＳ４４は、前記ステップＳ３４でホールセンサ出力値Ｓａに変化がある場合に進むステップでもあり、ホールセンサ切り替え判定部３２は、このステップＳ４４で第１カウント値ａをインクリメントし（ａ＝ａ＋１）、ステップＳ４５に進む。
ステップＳ４５では、ホールセンサ切り替え判定部３２は、第１カウント値ａが閾値Ｚａ以上か否かを判定する。ここで、閾値Ｚａは、制御周期とホールセンサ切り替え時間のばらつきを考慮して決めた値である。ホールセンサ切り替え判定部３２は、第１カウント値ａが閾値Ｚａ以上の場合（ａ≧Ｚａ）、ステップＳ５５に進み、そうでない場合（ａ＜Ｚａ）、ステップＳ５６に進む。
【００５６】
ステップＳ５５では、ホールセンサ切り替え判定部３２は、ホールセンサ出力信号が切り替わったと判定し、ホールセンサ切り替え判定フラグＣを“１”にして、このホールセンサ切り替え判定フラグＣを誤差演算部３３に出力する。そして、ホールセンサ切り替え判定部３２は、再び前記ステップＳ３２からの処理を行う。
一方、前記ステップＳ４３でホールセンサ出力値Ｓａに変化がある場合に進むステップＳ４６では、ホールセンサ切り替え判定部３２は、第１カウント値ａを０にする（第１カウント値ａをリセットする）。そして、ホールセンサ切り替え判定部３２はステップＳ５６に進む。
【００５７】
ステップＳ５６では、ホールセンサ切り替え判定部３２は、ホールセンサ出力信号が切り替わっていないと判定し、ホールセンサ切り替え判定フラグＣを“０”にして、このホールセンサ切り替え判定フラグＣを誤差演算部３３に出力する。そして、ホールセンサ切り替え判定部３２は、再び前記ステップＳ３２からの処理を行う。
一方、ステップＳ３６では、ホールセンサ切り替え判定部３２は、第２カウント値ｂが０か否かを判定する。ここで、ホールセンサ切り替え判定部３２は、第２カウント値ｂが０の場合（ｂ＝０）、ステップＳ３７に進み、そうでない場合（ｂ≧１）、ステップＳ４７に進む。
【００５８】
ステップＳ３７では、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｂに変化があるか否かを判定する。ここで、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｂに変化がある場合、ステップＳ４８に進み、ホールセンサ出力値Ｓｂに変化がない場合、ステップＳ３８に進む。ホールセンサ切り替え判定部３２は、ステップＳ３８で第２カウント値ｂを０にして（第２カウント値ｂを０に維持して）、ステップＳ３９に進む。
【００５９】
一方、前記ステップＳ３６で第２カウント値ｂが０でない場合に進むステップＳ４７では、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｂに変化がないか否かを判定する。ここで、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｂに変化がない場合、ステップＳ４８に進み、ホールセンサ出力値Ｓｂに変化がある場合、ステップＳ５０に進む。
【００６０】
ステップＳ４８は、前記ステップＳ３７でホールセンサ出力値Ｓｂに変化がある場合に進むステップでもあり、ホールセンサ切り替え判定部３２は、このステップＳ４８で第２カウント値ｂをインクリメントし（ｂ＝ｂ＋１）、ステップＳ４９に進む。
ステップＳ４９では、ホールセンサ切り替え判定部３２は、第２カウント値ｂが閾値Ｚｂ以上か否かを判定する。ここで、閾値Ｚｂは、制御周期とホールセンサ切り替え時間のばらつきを考慮して決めた値である。ホールセンサ切り替え判定部３２は、第２カウント値ｂが閾値Ｚｂ以上の場合（ｂ≧Ｚｂ）、前記ステップＳ５５に進み、そうでない場合（ｂ＜Ｚｂ）、前記ステップＳ５６に進む。
【００６１】
一方、前記ステップＳ４７でホールセンサ出力値Ｓｂに変化がある場合に進むステップＳ５０では、ホールセンサ切り替え判定部３２は、第２カウント値ｂを０にする（第２カウント値ｂをリセットする）。そして、ホールセンサ切り替え判定部３２は前記ステップＳ５６に進む。
一方、ステップＳ３９では、ホールセンサ切り替え判定部３２は、第３カウント値ｃが０か否かを判定する。ここで、ホールセンサ切り替え判定部３２は、第３カウント値ｃが０の場合（ｃ＝０）、ステップＳ４０に進み、そうでない場合（ｃ≧１）、ステップＳ５１に進む。
【００６２】
ステップＳ４０では、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｃに変化があるか否かを判定する。ここで、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｃに変化がある場合、ステップＳ５２に進み、ホールセンサ出力値Ｓｂに変化がない場合、ステップＳ４１に進む。ホールセンサ切り替え判定部３２は、ステップＳ４１で第３カウント値ｃを０にして（第３カウント値ｃを０に維持して）、ステップＳ４２に進む。
【００６３】
ステップＳ４２では、ホールセンサ切り替え判定部３２は、ホールセンサ出力信号が切り替わっていないと判定し、ホールセンサ切り替え判定フラグＣを“０”にして、このホールセンサ切り替え判定フラグＣを誤差演算部３３に出力する。そして、ホールセンサ切り替え判定部３２は、再び前記ステップＳ３２からの処理を行う。
一方、前記ステップＳ３９で第３カウント値ｃが０でない場合に進むステップＳ５１では、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｃに変化がないか否かを判定する。ここで、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓｃに変化がない場合、ステップＳ５２に進み、ホールセンサ出力値Ｓｃに変化がある場合、ステップＳ５４に進む。
【００６４】
ステップＳ５２は、前記ステップＳ４０でホールセンサ出力値Ｓｃに変化がある場合に進むステップでもあり、ホールセンサ切り替え判定部３２は、このステップＳ５２で第３カウント値ｃをインクリメントし（ｃ＝ｃ＋１）、ステップＳ５３に進む。
ステップＳ５３では、ホールセンサ切り替え判定部３２は、第３カウント値ｃが閾値Ｚｃ以上か否かを判定する。ここで、閾値Ｚｃは、制御周期とホールセンサ切り替え時間のばらつきを考慮して決めた値である。ホールセンサ切り替え判定部３２は、第３カウント値ｃが閾値Ｚｃ以上の場合（ｃ≧Ｚｃ）、前記ステップＳ５５に進み、そうでない場合（ｃ＜Ｚｃ）、前記ステップＳ５６に進む。
【００６５】
一方、前記ステップＳ５１でホールセンサ出力値Ｓｃに変化がある場合に進むステップＳ５４では、ホールセンサ切り替え判定部３２は、第３カウント値ｃを０にする（第３カウント値ｃをリセットする）。そして、ホールセンサ切り替え判定部３２は前記ステップＳ５６に進む。
以上の図８に示した処理手順により、ホールセンサ切り替え判定部３２は、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃのうちのいずれか１つの値が“０”から“１”、又は“１”から“０”に変化し、かつその変化後の値が所定時間（閾値Ｚａ，Ｚｂ，Ｚｃ）だけ維持された時点をホールセンサ切り替え点として判定する。そして、ホールセンサ切り替え判定部３２は、そのホールセンサ切り替え点の情報をホールセンサ切り替え判定フラグＣとして誤差演算部３３及びモータ角度誤差補正演算部３４に出力する。
【００６６】
また、第２の実施形態では、誤差演算部３３及びモータ角度誤差補正演算部３４に、積分部２７が得た推定モータ角度θａも入力されている。
誤差演算部３３は、ホールセンサ切り替え判定フラグＣに基づいて推定モータ角度θａとセンサ算出モータ角度θｂとを比較する。誤差演算部３３は、この比較により、推定モータ角度θａとセンサ算出モータ角度θｂとの誤差αを算出する。そして、誤差演算部３３は、この誤差αをモータ角度誤差補正演算部３４に出力する。
【００６７】
図９は、その処理手順の具体例を示す。
先ず、ステップＳ７１において、誤差演算部３３は、誤差αを０にする（誤差αを初期化する）。
そして、誤差演算部３３は、続くステップＳ７２においてホールセンサ切り替え判定部３２からホールセンサ切り替え判定フラグＣを取得して、さらに続くステップＳ７３においてそのホールセンサ切り替え判定フラグＣが“１”か否かを判定する。ここで、誤差演算部３３は、ホールセンサ切り替え判定フラグＣが“１”の場合（Ｃ＝１）、すなわちホールセンサ出力値（ホールセンサ出力パターン）が切り替わった場合、ステップＳ７４に進み、ホールセンサ切り替え判定フラグＣが“１”でない場合（Ｃ＝０）、すなわちホールセンサ出力値（ホールセンサ出力パターン）が切り替わっていない場合、ステップＳ７８に進む。
【００６８】
ステップＳ７４では、誤差演算部３３は、積分部２７が逆起電圧に基づいて算出したモータ角度（推定モータ角度）θａ及びモータ角度演算部３１がホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃに基づいて算出したモータ角度（センサ算出モータ角度）θｂを取得する。
そして、誤差演算部３３は、続くステップＳ７５において、比較演算部２８から検出フラグＪを取得して、続くステップＳ７６においてその検出フラグＪが“０”か否かを判定する。なお、比較演算部２８の処理内容については後で詳述する。
【００６９】
ここで、誤差演算部３３は、検出フラグＪが“０”の場合（Ｊ＝０）、ステップＳ７７に進み、検出フラグＪが“０”でない場合（Ｊ＝１）、ステップＳ７８に進む。
ステップＳ７７では、誤差演算部３３は、推定モータ角度θａからセンサ算出モータ角度θｂを減算した値として誤差α（＝θａ−θｂ）を得て、誤差αを更新する。そして、誤差演算部３３はステップＳ７８に進む。
ステップＳ７８では、誤差演算部３３は、前記ステップＳ７７で更新した誤差α、又はステップＳ７３若しくはステップＳ７６の判定結果、値が維持された誤差αをモータ角度誤差補正演算部３４に出力する。そして、誤差演算部３３は、再び前記ステップＳ７２からの処理を行う。
【００７０】
以上の図９に示した処理手順により、誤差演算部３３は、ホールセンサ切り替え判定フラグＣを参照することで、ホールセンサ出力値（ホールセンサ出力パターン）が切り替わったときに、推定モータ角度θａとセンサ算出モータ角度θｂとの差分値として誤差αを算出し、ホールセンサ出力値（ホールセンサ出力パターン）が切り替わっていない場合には、そのように算出される誤差α（初期値ではα＝０）を維持する。そして、誤差演算部３３は、そのように種々の条件で算出した誤差αをモータ角度誤差補正演算部３４に出力する。
モータ角度誤差補正演算部３４は、推定モータ角度θａを誤差αで補正して推定モータ角度（以下、誤差補正モータ角度という。）θｃを算出する。
【００７１】
図１０は、その処理手順の具体例を示す。
先ずステップＳ９１、ステップＳ９２及びステップＳ９３において、モータ角度誤差補正演算部３４は、積分部２７が逆起電圧に基づいて算出したモータ角度（推定モータ角度）θａを取得し、誤差演算部３３から誤差αを取得し、かつホールセンサ切り替え判定部３２からホールセンサ切り替え判定フラグＣを取得する。
続いてステップＳ９４において、モータ角度誤差補正演算部３４は、ホールセンサ切り替え判定フラグＣが“１”か否かを判定する。ここで、モータ角度誤差補正演算部３４は、ホールセンサ切り替え判定フラグＣが“１”の場合（Ｃ＝１）、ステップＳ９５に進み、ホールセンサ切り替え判定フラグＣが“１”でない場合（Ｃ＝０）、ステップＳ９９に進む。
【００７２】
ステップＳ９５では、モータ角度誤差補正演算部３４は、比較演算部２８から検出フラグＪを取得する。なお、比較演算部２８の処理内容については後で詳述する。
そして、続くステップＳ９６において、モータ角度誤差補正演算部３４はその検出フラグＪが“０”か否かを判定する。ここで、モータ角度誤差補正演算部３４は、検出フラグＪが“０”の場合（Ｊ＝０）、ステップＳ９７に進み、検出フラグＪが“０”でない場合（Ｊ＝１）、ステップＳ９９に進む。
【００７３】
ステップＳ９７では、モータ角度誤差補正演算部３４は、モータ角度演算部３１がホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃに基づいて算出したモータ角度（センサ算出モータ角度）θｂを取得する。
そして、モータ角度誤差補正演算部３４は、続くステップＳ９８で誤差補正モータ角度θｃをセンサ算出モータ角度θｂに設定し（θｃ＝θｂ）、ステップＳ１００に進む。
【００７４】
一方、前記ステップＳ９４でホールセンサ切り替え判定フラグＣが“１”でない場合（Ｃ＝０）又は前記ステップＳ９６で検出フラグＪが“０”でない場合（Ｊ＝１）に進むステップＳ９９では、モータ角度誤差補正演算部３４は、推定モータ角度θａから誤差αを減算した値を誤差補正モータ角度θｃに設定する（θｃ＝θａ−α）。そして、モータ角度誤差補正演算部３４は、ステップＳ１００に進む。
モータ角度誤差補正演算部３４は、ステップＳ１００において、前記ステップＳ９８又はステップＳ９９で設定した誤差補正モータ角度θｃを比較演算部２８に出力する。
【００７５】
以上の図１０に示した処理手順により、モータ角度誤差補正演算部３４は、検出フラグＪを考慮しないとすれば、ホールセンサ切り替え判定フラグＣ＝１の場合、すなわちホールセンサ出力値（ホールセンサ出力パターン）が切り替わった時点で、誤差補正モータ角度θｃ＝θｂとし、ホールセンサ切り替え判定フラグＣ＝０の場合、すなわちホールセンサ出力値（ホールセンサ出力パターン）が切り替わらない場合（ホールセンサ出力値（ホールセンサ出力パターン）が維持されている場合）、誤差補正モータ角度θｃ＝（θａ−α）としている。そして、モータ角度誤差補正演算部３４は、そのように種々の条件で算出した誤差補正モータ角度θｃを比較演算部２８に出力する。
前述したように、前記第１の実施形態では、比較演算部２８は、積分部２７からの推定モータ角度θａに基づいて検出フラグＪを得ている。これに対して、第２の実施形態における比較演算部２８は、前記モータ角度誤差補正演算部３４からの誤差補正モータ角度θｃに基づいて検出フラグＪを得ている。
【００７６】
図１１は、第２の実施形態における比較演算部２８の処理手順の具体例を示す。
この図１１に示すように、比較演算部２８は、前記第１の実施形態において比較演算部２８が行ったステップＳ１の処理に換えて、ステップＳ１０１として、モータ角度誤差補正演算部３４から誤差補正モータ角度θｃを取得する。そして、比較演算部２８は、続くステップＳ２以降でその誤差補正モータ角度θｃに基づいて処理を行っている。すなわち、比較演算部２８は、ステップＳ３〜ステップＳ８において、誤差補正モータ角度θｃが含まれる角度範囲を確認して、対応テーブルからその範囲に対応するホールセンサ出力パターンを取得する。そして、比較演算部２８は、前記第１の実施形態と同様に（図４参照）、ステップＳ９〜ステップＳ１４において、そのホールセンサ出力パターンとステップＳ２で取得したホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較し、その比較結果として“０”又は“１”の検出フラグＪをフェールセーフ演算部２９に送る。
【００７７】
そして、比較演算部２８は、誤差演算部３３及びモータ角度誤差補正演算部３４に対しても検出フラグＪを送っており、これにより、前述したように、誤差演算部３３及びモータ角度誤差補正演算部３４は、検出フラグＪに基づいて所定の処理を行っている。
フェールセーフ演算部２９は、前記第１の実施形態と同様に、比較演算部２８から送られてきた検出フラグＪに基づいてホールセンサ異常か否かを確定する処理を行う（図５参照）。
【００７８】
図１２は、以上の処理により実現されるタイムチャートを示す。
図１２（Ａ）は、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃの変化を示し、図１２（Ｂ）は、前記図８に示す処理による結果であり、ホールセンサ切り替え判定フラグＣの値を示し、図１２（Ｃ）は、積分部２７が算出した推定モータ角度θａの変化、及びモータ角度演算部３１が算出したセンサ算出モータ角度θｂの変化を示し、図１２（Ｄ）は、前記図１０に示した処理による結果であり、モータ角度誤差補正演算部３４が算出した誤差補正モータ角度θｃの変化を示す。
【００７９】
ここで、図１２（Ｃ）及び（Ｄ）に示すように、ホールセンサ切り替え判定フラグＣ＝１のタイミング（図１２（Ｂ））、すなわちホールセンサ出力パターンが変化したタイミングで、推定モータ角度θａとセンサ算出モータ角度θｂとの誤差αが算出されるとともに、センサ算出モータ角度θｂに設定した誤差補正モータ角度θｃ（＝θｂ）が出力される。そして、その後ホールセンサ出力パターンが変化するタイミングまで、 すなわちホールセンサ出力パターンが切り替わらない区間では、推定モータ角度θａを誤差αで補正（減算）した誤差補正モータ角度θｃ（＝θａ−α）が出力されるようになる。
【００８０】
また、図１２（Ｅ）は、前記図１１に示す処理による結果であり、図中の網掛け領域がホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと誤差補正モータ角度θｃとの比較範囲を示す。すなわち、同図中に示す誤差補正モータ角度θｃを示す実線がかかる網掛け領域で、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと当該誤差補正モータ角度θｃとを比較している。
また、図１２（Ｆ）は、そのホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと誤差補正モータ角度θｃとの実際の比較タイミングを示し、図１２（Ｇ）は、その比較結果としての検出フラグＪの値を示し、図１２（Ｈ）は、前記図５に示す処理手順に対応しており、確定フラグＤの値を示す。
【００８１】
第２の実施形態では、前述したように正常動作時のホールセンサの出力値Ｓａ，Ｓｂ，Ｓｃに基づいて得たセンサ算出モータ角度θｂで誤差補正モータ角度θｃを補正し、その補正した誤差補正モータ角度θｃ（具体的には対比テーブルにより得られるホールセンサ出力パターン）とホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと比較している。
【００８２】
これにより、前記第１の実施形態と同様に、図１２に示すように、例えばあるタイミングＡ（図１２（Ａ）に示すタイミング）でホールセンサ１２３がＬ固定故障（Ｌｏｗ（“０”）に固定される故障）した場合、ホールセンサ１２３の出力値が変化しなくなることから、その後のタイミングＢ（図１２（Ａ）に示すタイミング）でホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃは変化しなくなる。これにより、その直後の比較タイミング（ホールセンサ切り替え判定フラグＣ＝１のタイミング）で、推定モータ角度θａ（具体的には対比テーブルにより得られるホールセンサ出力パターン）とホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較して、その比較結果が一致しないので、検出フラグＪ＝１となり、さらにその検出フラグＪ＝１が所定時間継続することで、確定フラグＤ＝１となり、ホールセンサが異常であることが確定する。
【００８３】
次に第２の実施形態における効果を説明する。
前述したように、ホールセンサ切り替え判定部３２が出力したホールセンサ切り替え判定フラグＣ＝１のタイミングで、すなわちホールセンサ出力パターンが変化したタイミングで、モータ角度演算部３１がホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃに基づいて算出したセンサ算出モータ角度θｂと推定モータ角度θａとの誤差αを算出するとともに、センサ算出モータ角度θｂに設定した誤差補正モータ角度θｃ（＝θｂ）を得る。そして、その後はホールセンサ出力パターンが変化するタイミングまで、推定モータ角度θａを誤差αで補正（減算）した誤差補正モータ角度θｃ（＝θａ−α）を得ている。このような処理により、正常動作時のホールセンサの出力値Ｓａ，Ｓｂ，Ｓｃに基づいて得られるセンサ算出モータ角度θｂにより推定モータ角度θａを補正して、新たなモータ角度として誤差補正モータ角度θｃを得ている。
【００８４】
そして、この誤差補正モータ角度θｃに基づいて、前記第１の実施形態と同様な手順により、ホールセンサの異常を検出している。すなわち、対比テーブルによりその推定モータ角度θｃに対応するセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）を得て、そのセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とホールセンサ１２１，１２２，１２３の実測値であるホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較している。そして、比較演算部２８が、それら値が一致しない場合にホールセンサが異常（一時的に異常）である判定するとともに、フェールセーフ演算部２９がその判定を確定する処理を行っている。
【００８５】
モータの抵抗値が温度により変化したときには、推定モータ角度θａが本来の値よりも大きい値になってしまうが、推定モータ角度θａに換えて誤差補正モータ角度θｃを用いることで、そのモータの抵抗値が変化した影響を受けることなく、正確にホールセンサの異常を検出できるようになる。すなわち、モータの抵抗値が温度により変化している場合に、推定モータ角度θａに基づいてホールセンサの異常を検出を行うと（すなわち前記第１の実施形態における処理そのものを行うと）、実際にホールセンサが異常でないのに、異常であるとする結果を得てしまうことになるが、第２の実施形態のような構成にすることで、このような事態を回避できる。
【００８６】
次に第３の実施形態を説明する。
例えば前記特許文献１で開示されているような構成とした場合には、前述したように、ホールセンサの異常を検出したときに、アシスト率が０％になる、すなわち非アシスト状態になる。しかし、ホールセンサの異常を検出したからといって、アシスト状態から非アシスト状態にしてしまうと、急激なアシストトルク変動を発生させてしまい、それが操舵フィーリングに悪影響を及ぼしてしまう。
第３の実施形態では、ホールセンサの異常を検出した場合でも、適切なモータ角度を推定して、その推定したモータ角度に基づいて補助操舵力を付与するようにしている。
【００８７】
図１３は、そのような処理を実現する第３の実施形態におけるコントローラ２０の構成を示す。
この第３の実施形態にけるコントローラ２０は、前記第１や第２の実施形態におけるコントローラ２０と共通した構成部分を有しており、その構成部分には前記第１や第２の実施形態と同じ番号を付しており、当該構成部分は、特に言及しない限り、前記第１や第２の実施形態における処理又は動作と同様であり、その説明を省略する。
【００８８】
図１３に示すように、第３の実施形態におけるコントローラ２０は、モータアシスト指令値演算部２１、３相電流指令演算部２２、３相ブリッジ回路２３、相電流検出部２４、相電圧検出部２５、モータ角速度演算部２６、積分部２７、比較演算部２８、フェールセーフ演算部２９、モータ角度演算部（以下、第１モータ角度演算部という。）３１、ホールセンサ切り替え判定部３２、誤差演算部３３及びモータ角度誤差補正演算部３４の他に、新たな構成部分として、誤差演算部３３が算出した誤差α、フェールセーフ演算部２９からの出力（確定フラグ）及びモータ角度誤差補正演算部３４が算出した誤差補正モータ角度θｃに基づいてモータ角度を演算するモータ角度演算部（以下、第２モータ角度演算部という。）４１を備えている。
【００８９】
図１４は、この第３の実施形態における比較演算部２８の処理手順を示す。
先ずステップＳ１１１において、比較演算部２８は、カウント値ｔを０にして、さらに第１及び第２検出フラグＪ，Ｋ及び比較タイミング判定フラグＬを“０”にする（カウント値ｔ及びフラグＪ，Ｋ，Ｌを初期化する）。
続くステップＳ１１２、ステップＳ１１３及びステップＳ１１４において、比較演算部２８は、モータ角度誤差補正演算部３４から誤差補正モータ角度θｃを取得し、ホールセンサ切り替え判定部３２からホールセンサ切り替え判定フラグＣを取得し、かつホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃを取得する。
【００９０】
そして、続くステップＳ１１５〜ステップＳ１２０において、比較演算部２８は、誤差補正モータ角度θｃが含まれている角度範囲を確認する。すなわち、比較演算部２８は、ステップＳ１１５で誤差補正モータ角度θｃが１０°以上、かつ５０°以下か否かを判定し、ステップＳ１１６で誤差補正モータ角度θｃが７０°以上、かつ１１０°以下か否かを判定し、ステップＳ１１７で誤差補正モータ角度θｃが１３０°以上、かつ１７０°以下か否かを判定し、ステップＳ１１８で誤差補正モータ角度θｃが１９０°以上、かつ２３０°以下か否かを判定し、ステップＳ１１９で誤差補正モータ角度θｃが２５０°以上、かつ２９０°以下か否かを判定し、ステップＳ１２０で誤差補正モータ角度θｃが３１０°以上、かつ３５０°以下か否かを判定する。
【００９１】
そして、比較演算部２８は、誤差補正モータ角度θｃがこれらのどの角度範囲内にも入らない場合、ステップＳ１２１に進む。
ステップＳ１２１では、比較演算部２８は、比較タイミング判定フラグＬを“１”にする。続いてステップＳ１２２において、比較演算部２８は、ホールセンサ切り替え判定フラグＣが“１”か否かを判定する。ここで、比較演算部２８は、ホールセンサ切り替え判定フラグＣが“１”の場合（Ｃ＝１）、ステップＳ１２５に進み、ホールセンサ切り替え判定フラグＣが“１”でない場合（Ｃ＝０）、ステップＳ１２３に進む。
【００９２】
比較演算部２８は、ステップＳ１２３でカウント値ｔを０にして（カウント値ｔをリセットして）、ステップＳ１２４に進む。
ステップＳ１２４では、比較演算部２８は、ホールセンサが正常であると判定して、第１及び第２検出フラグＪ，Ｋをともに“０”にして、それら第１及び第２検出フラグＪ，Ｋをフェールセーフ演算部２９に送る。そして、比較演算部２８は、再び前記ステップＳ１１２からの処理を行う。
【００９３】
また、ステップＳ１２５では、比較演算部２８は、カウント値ｔをインクリメントする（ｔ＝ｔ＋１）。そして、続くステップＳ１２６において、比較演算部２８は、カウント値ｔが閾値Ｚｔよりも大きいか否かを判定する。ここで、比較演算部２８は、カウント値ｔが閾値Ｚｔよりも大きい場合（ｔ＞Ｚｔ）、前記ステップＳ１２４に進み、カウント値ｔが閾値Ｚｔ以下の場合（ｔ≦Ｚｔ）、ステップＳ１２７に進む。
【００９４】
比較演算部２８は、ステップＳ１２７で比較タイミング判定フラグＬを“０”にして、前記ステップＳ１２４に進む。
一方、比較演算部２８は、前記ステップＳ１１５〜ステップＳ１２０で誤差補正モータ角度θｃが所定の角度範囲内にある場合、次のような処理になる。
すなわち、比較演算部２８は、ステップＳ１１５の判定処理で誤差補正モータ角度θｃが１０°以上、かつ５０°以下の場合（１０°≦θｃ≦５０°）、ステップＳ１２８に進み、そうでない場合、ステップＳ１１６に進む。
【００９５】
ステップＳ１２８では、比較演算部２８は、比較タイミング判定フラグＬが“０”か否かを判定する。ここで、比較演算部２８は、比較タイミング判定フラグＬが“０”の場合（Ｌ＝０）、ステップＳ１２９に進み、比較タイミング判定フラグＬが“０”でない場合（Ｌ＝１）、ステップＳ１４１に進む。
ステップＳ１４１では、比較演算部２８は、ホールセンサが異常であると判定して、第１検出フラグＪを“０”にし、かつ第２検出フラグＫを“１”にして、それら第１及び第２検出フラグＪ，Ｋをフェールセーフ演算部２９に送る。そして、比較演算部２８は、再び前記ステップＳ１１２からの処理を行う。
【００９６】
一方、ステップＳ１２９では、比較演算部２８は、前記表１に示す対応テーブル（以下、当該図１４の処理では同様に表１の対応テーブルを意味する。）からホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（１，０，１）を取得して、このホールセンサ出力パターン（１，０，１）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１２４に進み、その比較結果が一致しない場合、ステップＳ１４０に進む。
ステップＳ１４０では、比較演算部２８は、ホールセンサが異常であると判定して、第１検出フラグＪを“１”にし、かつ第２検出フラグＫを“０”にして、それら第１及び第２検出フラグＪ，Ｋをフェールセーフ演算部２９に送る。そして、比較演算部２８は、再び前記ステップＳ１１２からの処理を行う。
【００９７】
また、比較演算部２８は、ステップＳ１１６の判定処理で誤差補正モータ角度θｃが７０°以上、かつ１１０°以下の場合（７０°≦θｃ≦１１０°）、ステップＳ１３０に進み、そうでない場合、ステップＳ１１７に進む。ステップＳ１３０では、比較演算部２８は、比較タイミング判定フラグＬが“０”か否かを判定する。ここで、比較演算部２８は、比較タイミング判定フラグＬが“０”の場合（Ｌ＝０）、ステップＳ１３１に進み、比較タイミング判定フラグＬが“０”でない場合（Ｌ＝１）、前記ステップＳ１４１に進む。ステップＳ１３１では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（０，０，１）を取得して、このホールセンサ出力パターン（０，０，１）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１２４に進み、その比較結果が一致しない場合、前記ステップＳ１４０に進む。
【００９８】
また、比較演算部２８は、ステップＳ１１７の判定処理で誤差補正モータ角度θｃが１３０°以上、かつ１７０°以下の場合（１３０°≦θｃ≦１７０°）、ステップＳ１３２に進み、そうでない場合、ステップＳ１１８に進む。ステップＳ１３２では、比較演算部２８は、比較タイミング判定フラグＬが“０”か否かを判定する。ここで、比較演算部２８は、比較タイミング判定フラグＬが“０”の場合（Ｌ＝０）、ステップＳ１３３に進み、比較タイミング判定フラグＬが“０”でない場合（Ｌ＝１）、前記ステップＳ１４１に進む。ステップＳ１３３では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（０，１，１）を取得して、このホールセンサ出力パターン（０，１，１）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１２４に進み、その比較結果が一致しない場合、前記ステップＳ１４０に進む。
【００９９】
また、比較演算部２８は、ステップＳ１１８の判定処理で誤差補正モータ角度θｃが１９０°以上、かつ２３０°以下の場合（１９０°≦θｃ≦２３０°）、ステップＳ１３４に進み、そうでない場合、ステップＳ１１９に進む。ステップＳ１３４では、比較演算部２８は、比較タイミング判定フラグＬが“０”か否かを判定する。ここで、比較演算部２８は、比較タイミング判定フラグＬが“０”の場合（Ｌ＝０）、ステップＳ１３５に進み、比較タイミング判定フラグＬが“０”でない場合（Ｌ＝１）、前記ステップＳ１４１に進む。ステップＳ１３５では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（０，１，０）を取得して、このホールセンサ出力パターン（０，１，０）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１２４に進み、その比較結果が一致しない場合、前記ステップＳ１４０に進む。
【０１００】
また、比較演算部２８は、ステップＳ１１９の判定処理で誤差補正モータ角度θｃが２５０°以上、かつ２９０°以下の場合（２５０°≦θｃ≦２９０°）、ステップＳ１３６に進み、そうでない場合、ステップＳ１２０に進む。ステップＳ１３６では、比較演算部２８は、比較タイミング判定フラグＬが“０”か否かを判定する。ここで、比較演算部２８は、比較タイミング判定フラグＬが“０”の場合（Ｌ＝０）、ステップＳ１３７に進み、比較タイミング判定フラグＬが“０”でない場合（Ｌ＝１）、前記ステップＳ１４１に進む。ステップＳ１３７では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（１，１，０）を取得して、このホールセンサ出力パターン（１，１，０）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１２４に進み、その比較結果が一致しない場合、前記ステップＳ１４０に進む。
【０１０１】
また、比較演算部２８は、ステップＳ１２０の判定処理で誤差補正モータ角度θｃが３１０°以上、かつ３５０°以下の場合（３１０°≦θｃ≦３５０°）、ステップＳ１３８に進み、そうでない場合、前記ステップＳ１２１以降の処理を行う。ステップＳ１３８では、比較演算部２８は、比較タイミング判定フラグＬが“０”か否かを判定する。ここで、比較演算部２８は、比較タイミング判定フラグＬが“０”の場合（Ｌ＝０）、ステップＳ１３９に進み、比較タイミング判定フラグＬが“０”でない場合（Ｌ＝１）、前記ステップＳ１４１に進む。ステップＳ１３９では、比較演算部２８は、対応テーブルからホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）として（１，０，０）を取得して、このホールセンサ出力パターン（１，０，０）と、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較する。ここで、比較演算部２８は、その比較結果が一致した場合、前記ステップＳ１２４に進み、その比較結果が一致しない場合、前記ステップＳ１４０に進む。
【０１０２】
以上の図１４に示した処理手順により、前記第２の実施形態と同様に、比較演算部２８は、誤差補正モータ角度θｃに対応するホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較して、その比較結果で、それらが一致している場合にはホールセンサが正常であると判定するとともに、第１検出フラグＪ＝０をフェールセーフ演算部２９に送り、また、それ以外の場合にはホールセンサが異常であると判定するとともに、第１検出フラグＪ＝１をフェールセーフ演算部２９に送っている。
【０１０３】
なお、ホールセンサ出力パターン（Ｓａ，Ｓｂ，Ｓｃ）とホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃとを比較するタイミングについては、ホールセンサ切り替え判定フラグＣ＝１、かつ比較タイミング判定フラグＬ＝０となったタイミングである。すなわち、ホールセンサ出力パターンが切り替わったと判定された後（ホールセンサ切り替え判定フラグＣが.“１”になった後）、所定時間（閾値Ｚｔ）経過することを条件に、前記比較がなされる。
【０１０４】
また、比較演算部２８は、誤差演算部３３及びモータ角度誤差補正演算部３４にも第１検出フラグＪを送っており、これにより、前述したように、誤差演算部３３及びモータ角度誤差補正演算部３４は、第１検出フラグＪに基づいて所定の処理を行っている。
また、第２検出フラグＫに着目すると、比較演算部２８は、ホールセンサ切り替え判定フラグＣが“１”でない、すなわちホールセンサ出力値（ホールセンサ出力パターン）が変化していないのにもかかわらず（この場合、比較タイミング判定フラグＬ＝１）、誤差補正モータ角度θｃが所定の角度範囲（１０°〜５０°、７０°〜１１０°、１３０°〜１７０°、１９０°〜２３０°、２５０°〜２９０°又は３１０°〜３５０°）内になってしまった場合、第２検出フラグＫ＝１をフェールセーフ演算部２９に送っている。
【０１０５】
フェールセーフ演算部２９は、比較演算部２８から送られてきた第１及び第２検出フラグＪ，Ｋに基づいてホールセンサが異常か否かを確定する処理を行う。図１５は、その処理手順の具体例を示す。
先ず、ステップＳ１６１において、フェールセーフ演算部２９は、カウント値ｒ，ｓを０にする（カウント値ｒ，ｓを初期化する）。
続いて、フェールセーフ演算部２９は、ステップＳ１６２において比較演算部２８から第１及び第２検出フラグＪ，Ｋを取得して、続くステップＳ１６３において、その第１検出フラグＪが“１”か否かを判定する。ここで、フェールセーフ演算部２９は、第１検出フラグＪが“１”の場合（Ｊ＝１）、ステップＳ１６４に進み、第１検出フラグＪが“１”でない場合（Ｊ＝０）、ステップＳ１６７に進む。
【０１０６】
フェールセーフ演算部２９は、ステップＳ１６４でカウント値ｒをインクリメントし（ｒ＝ｒ＋１）、ステップＳ１６５に進む。
ステップＳ１６５では、フェールセーフ演算部２９は、カウント値ｒが閾値Ｚｒ以上か否かを判定する。ここで、閾値Ｚｒは、演算周期と検知時間から任意に決めた、異常判定用の閾値である。フェールセーフ演算部２９は、カウント値ｒが閾値Ｚｒ以上の場合（ｒ≧Ｚｒ）、ステップＳ１６６に進み、そうでない場合（ｒ＜Ｚｒ）、再び前記ステップＳ１６２からの処理を行う。
【０１０７】
ステップＳ１６６では、フェールセーフ演算部２９は、ホールセンサ異常判定を確定し、第１確定フラグＤ１を“１”にし、かつ第２確定フラグＤ２を“０”にして、それら第１確定フラグＤ１を第２モータ角度演算部４１に出力する。
一方、前記ステップＳ１６７では、フェールセーフ演算部２９は、カウント値ｒを０にして（カウント値ｒをリセットして）、第１確定フラグＤ１を“０”にして、その第１確定フラグＤ１を第２モータ角度演算部４１に出力する。
【０１０８】
続いてステップＳ１６９において、フェールセーフ演算部２９は、第２検出フラグＫが“１”か否かを判定する。ここで、フェールセーフ演算部２９は、第２検出フラグＫが“１”の場合（Ｋ＝１）、ステップＳ１７０に進み、第２検出フラグＫが“１”でない場合（Ｋ＝０）、ステップＳ１７３に進む。
フェールセーフ演算部２９は、ステップＳ１７０でカウント値ｓをインクリメントし（ｓ＝ｓ＋１）、ステップＳ１７１に進む。
【０１０９】
ステップＳ１７１では、フェールセーフ演算部２９は、カウント値ｓが閾値Ｚｓ以上か否かを判定する。ここで、閾値Ｚｓは、演算周期と検知時間から任意に決めた、異常判定用の閾値である。フェールセーフ演算部２９は、カウント値ｓが閾値Ｚｓ以上の場合（ｓ≧Ｚｓ）、ステップＳ１７２に進み、そうでない場合（ｓ＜Ｚｓ）、再び前記ステップＳ１６２からの処理を行う。
【０１１０】
ステップＳ１７２では、フェールセーフ演算部２９は、ホールセンサ異常判定と確定し、第１確定フラグＤ１を“１”にし、かつ第２確定フラグＤ２を“１”にして、それら第１及び第２確定フラグＤ１，Ｄ２を第２モータ角度演算部４１に出力する。
一方、フェールセーフ演算部２９は、ステップＳ１７３でカウント値ｓを０にして（カウント値ｓをリセットして）、第２確定フラグＤ２を“０”にして、続くステップＳ１７４でその第２確定フラグＤ２を第２モータ角度演算部４１に出力する。そして、フェールセーフ演算部２９は、再び前記ステップＳ１６２からの処理を行う。
【０１１１】
以上の図１５に示した処理により、フェールセーフ演算部２９は、第１検出フラグＪ＝１を所定時間（閾値Ｚｒ）以上検出した場合、第１確定フラグＤ１＝１を出力して、ホールセンサが異常であることを確定（ホールセンサ異常判定を確定）し、又は第２検出フラグＫ＝１を所定時間（閾値Ｚｓ）以上検出した場合、第２確定フラグＤ２＝１を出力して、ホールセンサが異常であることを確定（ホールセンサ異常判定を確定）する。そして、フェールセーフ演算部２９は、第１及び第２確定フラグＤ１，Ｄ２を第２モータ角度演算部４１に出力している。
【０１１２】
第２モータ角度演算部４１には、フェールセーフ演算部２９からの第１及び第２確定フラグＤ１，Ｄ２が入力される他に、誤差演算部３３が算出した誤差α及びモータ角度誤差補正演算部３４が算出した誤差補正モータ角度θｃが入力されている。この第２モータ角度演算部４１は、これら第１及び第２確定フラグＤ１，Ｄ２、誤差α及び誤差補正モータ角度θｃに基づいて、モータ制御に用いるモータ角度（以下、制御用モータ角度という。）θｄを算出する。図１６は、その処理手順の具体例を示す。
【０１１３】
先ずステップＳ１９１において、第２モータ角度演算部４１は、カウント値ｘを０にする（カウント値ｘを初期化する）。
続いてステップＳ１９２及びステップＳ１９３において、第２モータ角度演算部４１は、モータ角度誤差補正演算部３４から誤差補正モータ角度θｃを取得し、かつフェールセーフ演算部２９から第１及び第２確定フラグＤ１，Ｄ２を取得する。
【０１１４】
続いてステップＳ１９４において、第２モータ角度演算部４１は、第１確定フラグＤ１が“１”又は第２確定フラグＤ２が“１”か否かを判定する。ここで、第２モータ角度演算部４１は、第１確定フラグＤ１が“１”又は第２確定フラグＤ２が“１”の場合（Ｄ１＝１又はＤ２＝１）、ステップＳ１９５に進み、第１確定フラグＤ１及び第２確定フラグＤ２がいずれも“１”でない場合（Ｄ１＝０及びＤ２＝０）、ステップＳ２０１に進む。
【０１１５】
ステップＳ１９５では、第２モータ角度演算部４１は、カウント値ｘが０か否かを判定する。ここで、第２モータ角度演算部４１は、カウント値ｘが０の場合（ｘ＝０）、ステップＳ１９７に進み、カウント値ｘが０でない場合（ｘ≧１）、ステップＳ１９６に進む。
ステップＳ１９７では、第２モータ角度演算部４１は、異常確定時、すなわち第１確定フラグＤ１＝１又は第２確定フラグＤ２＝１が入力されたタイミングの推定モータ角度θｅを誤差補正モータ角度θｃに設定する（θｅ＝θｃ）。そして、第２モータ角度演算部４１は、続くステップＳ１９８でカウント値ｘをインクリメントし（ｘ＝ｘ＋１）、ステップＳ１９６に進む。
【０１１６】
ステップＳ１９６では、第２モータ角度演算部４１は、誤差演算部３３から誤差αを取得する。ここで、誤差αは、前記第２の実施形態で説明したように、推定モータ角度θａからセンサ算出モータ角度θｂを減算した値（＝θａ−θｂ）である。
そして、第２モータ角度演算部４１は、続くステップＳ１９９においてその誤差α及び参照テーブルを用いて制御用モータ角度θｄを更新して、ステップＳ２００に進む。
【０１１７】
ここで、ステップＳ１９９に至る処理は、前記ステップＳ１９７にて第１確定フラグＤ１又は第２確定フラグＤ２のいずれか一方が“１”の場合、すなわちホールセンサの異常が確定した場合の処理であり、このようなことから、このステップＳ１９９で得る制御用モータ角度θｄは、ホールセンサが異常とされている間にモータ制御に用いる値になる。このようなことから、制御用モータ角度θｄは、ホールセンサが異常とされる前のモータ角度（具体的にはモータ角度変化傾向）と同等な値であることが望ましく、参照テーブルは、それを実現する内容になっている。
具体的には、この参照テーブルは、表３及び表４に示すように、誤差補正モータ角度θｃ、異常判定確定時の推定モータ角度θｅ及び誤差αから、制御用モータ角度θｄを得ることができるようになっている。
【０１１８】
【表３】
2005335591.tif 000005
【０１１９】
【表４】
2005335591.tif 000006
【０１２０】
ここで、第１検出フラグＪ＝１であるか、又は第２検出フラグＫ＝１であるかに応じて、すなわちホールセンサの異常検出態様に応じて制御用モータ角度θｄを得るようにしており、すなわち第１確定フラグＤ１＝１の場合（表３）と、第２確定フラグＤ２＝１の場合（表４）とで、誤差補正モータ角度θｃ、異常判定確定時の推定モータ角度θｅ及び誤差αに基づいて得る制御用モータ角度θｄを異ならせている。
【０１２１】
第２モータ角度演算部４１は、このように第１及び第２の検出フラグＤ１，Ｄ２の値に応じて表３又は表４に示す参照テーブルを選択して、その選択した参照テーブルを用いて制御用モータ角度θｄを更新し、ステップＳ２００に進む。
一方、前記ステップＳ１９４において第１確定フラグＤ１及び第２確定フラグＤ２がいずれも“１”でない場合（Ｄ１＝０及びＤ２＝０）に進むステップＳ２０１では、第２モータ角度演算部４１は、制御用モータ角度θｄを誤差補正モータ角度θｃに設定する。そして、第２モータ角度演算部４１は、ステップＳ２００に進む。
【０１２２】
ステップＳ２００では、第２モータ角度演算部４１は、ステップＳ１９９で設定された制御用モータ角度θｄ又はステップＳ２０１で設定された制御用モータ角度θｄを３相電流指令演算部２２に出力する。
３相電流指令演算部２２は、制御用モータ角度θｄに基づいてモータ１１を駆動するための前記パルス幅変調信号を得て、そのパルス幅変調信号を３相ブリッジ回路２３に出力する。例えば、３相電流指令演算部２２は、制御用モータ角度θｄとパルス幅変調信号との対応テーブルを持っており、その対応テーブルを参照して、３相電流指令演算部２２からの制御用モータ角度θｄに対応するパルス幅変調信号を３相ブリッジ回路２３に出力する。
【０１２３】
図１７は、以上の処理により実現されるタイムチャートを示す。
図１７（Ａ）は、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃの変化を示し、図１７（Ｂ）は、前記図８に示す処理による結果であり、ホールセンサ切り替え判定フラグＣの値を示し、図１７（Ｃ）は、前記図１０に示した処理による結果であり、モータ角度誤差補正演算部３４が算出した誤差補正モータ角度θｃの変化を示す。
【０１２４】
また、図１７（Ｄ）は、前記図１４に示す処理による結果であり、図中の網掛け領域がホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと誤差補正モータ角度θｃとの比較範囲を示す。すなわち、同図中に示す誤差補正モータ角度θｃを示す実線がかかる網掛け領域で、ホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと当該誤差補正モータ角度θｃとを比較している。
また、図１７（Ｅ）は、そのホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃと誤差補正モータ角度θｃとの実際の比較タイミングを示し、図１７（Ｆ）は、その比較結果としての第２検出フラグＫの値を示し、図１７（Ｇ）は、前記図１５に示す処理手順に対応しており、第２確定フラグＤ２の値を示す。
【０１２５】
この図１７に示すように、ホールセンサ出力値が変化していない（ホールセンサ切り替え判定フラグＣが１でない）のにもかかわらず（同図（Ｂ））、誤差補正モータ角度θｃが所定の範囲内、本例では０°（３６０°）〜５０°内になることで（同図（Ｄ））、第２検出フラグＫ＝１となり（同図（Ｆ））、さらにその後、第２確定フラグＤ２＝１となっている（同図（Ｇ））。すなわち、ホールセンサ異常判定が確定される。そして、それ以後、表３又は表４の参照テーブルを用いて得た制御用モータ角度θｄが３相電流指令演算部２２に出力されるようになる。具体的には、第２確定フラグＤ２＝１でホールセンサ異常判定を確定することで、表４の参照テーブルを用い、０°≦θｅ＜６０°の欄において、先ず０°≦θｃ＜６０°内の値として、制御用モータ角度θｄ＝θｃ−α（同図（Ｈ）のＤ１）とし、続く６０°≦θｃ＜１２０°内の値として、制御用モータ角度θｄ＝θｃ−２α（同図（Ｈ）のＤ２）としている。そして、このような制御用モータ角度θｄが３相電流指令演算部２２に出力され、これにより、モータ１１は、制御用モータ角度θｄに基づいて駆動されるようになる。
【０１２６】
次に第３の実施形態における効果を説明する。
前述したように、ホールセンサ異常判定確定後では、第１及び第２確定フラグの値に応じて、すなわちホールセンサの異常態様に応じて表３又は表４の参照テーブルを選択して、その選択した参照テーブルから誤差補正モータ角度θｃ、異常判定確定時の推定モータ角度θｅ及び誤差αに基づいてモータ１１の制御に使用する制御用モータ角度θｄを得ている。
【０１２７】
これにより、ホールセンサ異常確定後では、操舵補助力の付与の算出に用いる制御用モータ角度θｄを、当該異常確定前の誤差補正モータ角度θｃの変化傾向を参照して操舵補助力の算出用の回転角度である制御用モータ角度θｄを算出することを実現している。これにより、ホールセンサ異常判定確定後でも、アシスト状態を維持され、それも最適な操舵補助力によりアシスト状態が維持されるので、急激なアシストトルク変動を発生させてしまうようなことを防止できる。
【０１２８】
以上、第１乃至第３の実施形態を説明したが、ここで、第１乃至第３の実施形態におけるコントローラ２０のモータ駆動系の具体的構成を図１８に示す。基本的には、コントローラ２０のモータ駆動系の構成は、特許文献１に開示されているコントローラのモータ駆動系の構成と同様な構成をなしている。
すなわち、図１８に示すように、コントローラ２０は、例えば制御回路５１、ＦＥＴゲート駆動回路５２、モータ駆動回路５３、電流検出回路５４、ロータ位置検出回路５５及びリレー駆動回路５６とから構成されている。
【０１２９】
制御回路５１は、例えば、マイクロコンピュータ等で構成され、少なくとも外部接続機器との入出力処理を行うインタフェース部と、ＲＯＭやＲＡＭ等の記憶部とを備えている。この制御回路５１は、トルクセンサ３からのアナログ電圧からなるトルク検出値Ｔｖに対して所定の中立電圧Ｖ０よりも高いか否かによってトルクの発生方向を検出し、所定の処理を行ってトルク検出値Ｔを求める。また、制御回路５１は、車速センサ１５からの出力軸の回転に応じたパルス信号からなる車速検出値Ｖｐをもとに単位時間辺りのパルス数を積算して車速検出値Ｖを算出する。
【０１３０】
そして、制御回路５１は、これら値に基づいて、例えば、ＰＩＤ制御（比例・積分・微分）によりモータ１１に供給するモータ駆動信号ＳＭを算出し、このモータ駆動信号ＳＭに基づいてＰＷＭ（Pulse Width Modulation) 信号を形成し、このＰＷＭ信号に基づいてパルス幅変調信号ＰＷＭを形成してＦＥＴゲート駆動回路５２に出力する。
【０１３１】
また、制御回路５１は、起動時には、所定の故障検出処理を実行し、正常であるときにはリレー駆動回路５６に対するリレー制御信号ＳＲを“Ｈｉｇｈ”として出力し、ロータ位置検出回路５５から“１”の異常信号を入力したとき異常が発生したものとして、フェールリレー５６ａを開状態とするリレー制御信号ＳＲを形成してリレー駆動回路５６に出力し、例えば、異常ランプを点灯させる等の異常発生時の所定の処理を行う。
【０１３２】
リレー駆動回路５６は、制御回路５１からのリレー制御信号ＳＲに基づいて作動し、リレー制御信号ＳＲが“Ｈｉｇｈ”であるときコイル５６Ｌに通電してフェールリレー５６ａを閉状態とし、リレー制御信号ＳＲが“Ｌｏｗ”であるときコイル５６Ｌへの通電を停止してフェールリレー５６ａを開状態とする。これによって、モータ駆動回路６４への電源供給をオン及びオフするようになされている。
【０１３３】
ＦＥＴゲート駆動回路５２は、例えばマルチプレクサ等で構成され、制御回路５１からのパルス幅変調信号ＰＷＭ及び方向信号と、ロータ位置検出回路５５からの上段側ゲート信号Ｇａ１〜Ｇｃ１及び下段側ゲート信号Ｇａ２〜Ｇｃ２を入力し、方向信号が正回転の場合にはゲート信号Ｇａ１〜Ｇｃ２で指定されたモータ駆動回路６４の対応するトランジスタのゲート端子に、パルス幅変調信号ＰＷＭが“Ｈｉｇｈ”である間所定の電圧供給を行い、方向信号が逆回転の場合には、上段側ゲート信号Ｇａ１〜Ｇｃ１を下段側ゲート信号、下段側ゲート信号Ｇａ２〜Ｇｃ２を上段側ゲート信号として処理し、それぞれ対応するトランジスタのゲート端子に、パルス幅変調信号ＰＷＭが“Ｈｉｇｈ”である間、所定の電圧供給を行う。
【０１３４】
電流検出回路５４は、例えば電流検出抵抗を有し、この両端に発生した電圧を増幅及びノイズ除去し、モータ電流検出信号Ｉとして制御回路５１に出力する。この電流検出回路５４では、モータ電流検出信号Ｉの実効値が得られるよう、それぞれの信号に対し充分なフィルタ処理を行っているものとする。モータ駆動回路５３は、６個の電界効果トランジスタからなるトランジスタＴａ１，Ｔｂ１，Ｔｃ１，Ｔａ２，Ｔｂ２，Ｔｃ２から構成されている。これらトランジスタＴａ１〜Ｔｃ２は、Ｔａ１とＴａ２，Ｔｂ１とＴｂ２というように対応するトランジスタが直列に接続され、これら直列に接続された直列回路のそれぞれが、電源の両端子間に並列に配設されると共に、直列関係にあるトランジスタの接続部分が、各励磁コイル２６ａ〜２６ｃの外端（スター結線の中心側とは逆側）に導通されている。
【０１３５】
そして、各トランジスタＴａ１〜Ｔｃ２のゲート電圧が、前記位相検出素子１２の出力に基づいてＦＥＴゲート駆動回路５２によって制御されるようになされている。これにより、各トランジスタＴａ１〜Ｔｃ２がオン及びオフ制御されて、モータ１１のロータが回転するようになる。
なお、前記図３、図７及び図１３のコントローラ２０と前記図１８のコントローラ２０との構成との対応関係は、モータアシスト指令値演算部２１と３相電流指令演算部２２とで制御回路５１の機能を有し、３相ブリッジ回路２３がＦＥＴゲート駆動回路５２及びトランジスタＴａ１〜Ｔｃ２とった構成部分を有している。
【０１３６】
以上、本発明の実施形態を説明した。しかし、本発明は、前述の実施形態として実現されることに限定されるものではない。
すなわち、前述の実施形態では、モータ１１が３相ブラシレスモータであり、これに対応して位相検出部１２を３個のホールセンサ１２１，１２２，１２３で構成した場合を説明した。しかし、これに限定されるものではない。すなわち、モータ１１が５相ブラシレスモータであり、これに対応して位相検出部１２を５個のホールセンサで構成した電動式パワーステアリング装置に本発明を適用してもよい。
【０１３７】
また、電動式パワーステアリング装置に限らず、ブラシレスモータを用いる装置に適用することができる。
また、前述の第３の実施形態では、いわば、異常検出前の誤差補正モータ角度θｃ（補正された第２の回転角度）の変化傾向を参照して、制御用モータ角度θｄ（操舵補助力の付与の算出に用いる回転角度）を算出している。しかし、これに限定されるものではない。すなわち、異常検出前のセンサ算出モータ角度θｂ（第１の回転角度）の変化傾向を参照して、制御用モータ角度θｄ（操舵補助力の付与の算出に用いる回転角度）を算出してもよく、或いは異常検出前の推定モータ角度θａ（補正前の第２の回転角度）の変化傾向を参照して、制御用モータ角度θｄ（操舵補助力の付与の算出に用いる回転角度）を算出してもよい。
【０１３８】
なお、前述の実施形態の説明において、ホールセンサ１２１，１２２，１２３は、ブラシレスモータのロータの回転位置に応じて位置検出信号を出力する複数の位相検出素子を実現しており、相電流検出部２４、相電圧検出部２５、モータ角速度演算部２６及び積分部２７は、ブラシレスモータへの駆動用通電値に基づいてブラシレスモータの第２の回転角度を検出する第２モータ回転角度検出手段を実現しており、比較演算部２８におけるホールセンサ出力値Ｓａ，Ｓｂ，Ｓｃの取得は、複数の位相検出素子から出力される位置検出信号の組み合わせに基づいてブラシレスモータの第１の回転角度を検出する第１モータ回転角度検出手段としての機能を実質的に実現しており、さらに比較演算部２８及びフェールセーフ演算部２９は、第１の回転角度と第２の回転角度とを比較して、その比較結果に基づいて位相検出素子の異常を検出する異常検出手段を実現している。
【０１３９】
また、誤差演算部３３及びモータ角度誤差補正演算部３４は、位相検出素子からの出力される位相検出信号の組み合わせが切り替わるタイミングで、第１の回転角度と第２の回転角度との誤差を算出する一方で、第２の回転角度を第１の回転角度に設定する補正をし、組み合わせが切り替わるタイミング以外では、誤差により第２の回転角度を補正する補正手段を実現している。
【図面の簡単な説明】
【０１４０】
【図１】本発明の第１の実施形態の電動式パワーステアリング装置の構成を示す図である。
【図２】前記電動式パワーステアリング装置のコントローラ及びその周辺の構成を示すブロック図である。
【図３】前記コントローラの構成を示すブロック図である。
【図４】前記コントローラの比較演算部の処理手順を示すフローチャートである。
【図５】前記コントローラのフェールセーフ演算部の処理手順を示すフローチャートである。
【図６】前記コントローラの処理内容を示すタイムチャートである。
【図７】本発明の第２の実施形態におけるコントローラの構成を示すブロック図である。
【図８】前記第２の実施形態におけるコントローラのホールセンサ切り替え判定部の処理手順を示すフローチャートである。
【図９】前記第２の実施形態におけるコントローラの誤差演算部の処理手順を示すフローチャートである。
【図１０】前記第２の実施形態におけるコントローラのモータ角度誤差補正演算部の処理手順を示すフローチャートである。
【図１１】前記第２の実施形態におけるコントローラの比較演算部の処理手順を示すフローチャートである。
【図１２】前記第２の実施形態におけるコントローラの処理内容を示すタイムチャートである。
【図１３】本発明の第３の実施形態におけるコントローラの構成を示すブロック図である。
【図１４】前記第３の実施形態におけるコントローラの比較演算部の処理手順を示すフローチャートである。
【図１５】前記第３の実施形態におけるコントローラのフェールセーフ演算部の処理手順を示すフローチャートである。
【図１６】前記第３の実施形態におけるコントローラの第２モータ角度演算部の処理手順を示すフローチャートである。
【図１７】前記第３の実施形態におけるコントローラの処理内容を示すタイムチャートである。
【図１８】前記コントローラのモータ駆動系の具体的な構成を示す図である。
【図１９】従来技術の説明のために用いた、ホールセンサＡ，Ｂ，Ｃのホールセンサ出力信号の変化を示す図であり、（Ａ）は、正常動作時のものを示し、（Ｂ）は、ホールセンサＡがＬ固定故障した時のものを示す。
【図２０】従来技術の説明のために用いた、ホールセンサＡ，Ｂ，Ｃのホールセンサ出力信号の変化を示す図であり、（Ａ）は、正常動作時のものを示し、（Ｂ）は、ホールセンサＡがＨ固定故障した時のものを示す。
【図２１】従来技術の説明のために用いた、ホールセンサの故障検出とアシスト率との関係の示す図である。
【符号の説明】
【０１４１】
１  ステアリングホイール
２  ステアリングシャフト
３  トルクセンサ
１１  モータ
１２  位相検出部
１２１，１２２，１２３  ホールセンサ
２０  コントローラ
２１  モータアシスト指令値演算部
２２  ３相電流指令演算部
２３  ３相ブリッジ回路
２４  相電流検出部
２５  相電圧検出部
２６  モータ角速度演算部
２７  積分部
２８  比較演算部
２９  フェールセーフ演算部
３１  モータ角度演算部（第１モータ角度演算部）
３２  ホールセンサ切り替え判定部
３３  誤差演算部
３４  モータ角度誤差補正演算部
４１  第２モータ角度演算部
【図１】
2005335591.tif 000007
【図２】
2005335591.tif 000008
【図３】
2005335591.tif 000009
【図４】
2005335591.tif 000010
【図５】
2005335591.tif 000011
【図６】
2005335591.tif 000012
【図７】
2005335591.tif 000013
【図８】
2005335591.tif 000014
【図９】
2005335591.tif 000015
【図１０】
2005335591.tif 000016
【図１１】
2005335591.tif 000017
【図１２】
2005335591.tif 000018
【図１３】
2005335591.tif 000019
【図１４】
2005335591.tif 000020
【図１５】
2005335591.tif 000021
【図１６】
2005335591.tif 000022
【図１７】
2005335591.tif 000023
【図１８】
2005335591.tif 000024
【図１９】
2005335591.tif 000025
【図２０】
2005335591.tif 000026
【図２１】
2005335591.tif 000027