(57)【要約】【課題】  ２相のうち一方の検出コイルが断線している場合に、回転角が一義的に求められる範囲を広くする。【解決手段】  異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性が無い状況であれば、ｃｏｓ相の振幅のみから電気角θｅｎが一義的に決まる。また、異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性が無い状況であれば、ｓｉｎ相の振幅のみから電気角θｅｎが一義的に決まる。このことを利用して、トルク演算部は、一演算周期前に算出された異常側レゾルバの電気角に基づいて、正常相の検出コイルの振幅から回転角を一義的に算出することができる状況であるか否かを判断する。【選択図】  図９
2012088198.tif 000002
【特許請求の範囲】
【請求項１】
操舵ハンドルに連結されたステアリングシャフトの入力側の回転角である第１回転角に応じた２相の検出信号を出力する一対の検出コイルを有する第１レゾルバと、前記ステアリングシャフトの出力側の回転角である第２回転角に応じた２相の検出信号を出力する一対の検出コイルを有する第２レゾルバとを備えたレゾルバユニットと、
前記第１レゾルバの出力する２相の検出信号に基づいて前記第１回転角を演算し、前記第２レゾルバの出力する２相の検出信号に基づいて前記第２回転角を演算する回転角演算手段と、
前記演算された第１回転角と第２回転角との差に基づいて前記ステアリングシャフトに働く操舵トルクを演算するトルク演算手段と
を備えたトルク検出装置において、
前記第１レゾルバあるいは第２レゾルバの何れかで、前記一対の検出コイルの一方に異常が発生していることを検出する異常検出手段と、
前記検出コイルの一方に異常が検出されているとき、前記回転角演算手段が前記第１回転角および第２回転角を演算する演算周期あたりに前記第１回転角あるいは前記第２回転角が変化する回転角変化量が所定変化量以内であるという回転角変化条件に基づいて、前記異常が検出されている検出コイルを有する異常側レゾルバの回転角を一義的に算出することができる状況であるか否かを判断する異常側回転角算出可否判断手段と、
前記異常側回転角算出可否判断手段により、前記異常側レゾルバの回転角を一義的に算出することができる状況であると判定されている場合には、前記異常側レゾルバにおける異常が検出されていない検出コイルの検出信号に基づいて、前記回転角変化条件を満たす前記異常側レゾルバの回転角を演算する異常側回転角演算手段と
を備えたことを特徴とするトルク検出装置。
【請求項２】
前記異常側回転角算出可否判断手段は、前記異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、前記異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性がない状況であるときに、前記異常側レゾルバの回転角を一義的に算出することができる状況であると判定し、前記異常が検出されている検出コイルがｃｏｓ相検出コイルである場合には、前記異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性がない状況であるときに、前記異常側レゾルバの回転角を一義的に算出することができる状況であると判定することを特徴とする請求項１記載のトルク検出装置。
【請求項３】
前記所定変化量は、前記操舵ハンドルが回される操舵速度に基づいて設定されることを特徴とする請求項１または２記載のトルク検出装置。
【請求項４】
前記所定変化量は、前記操舵ハンドルが回される操舵速度の想定される最大値に基づいて設定されることを特徴とする請求項３記載のトルク検出装置。
【請求項５】
前記操舵ハンドルが回される操舵速度を検出する操舵速度検出手段と、
前記操舵速度検出手段により検出された操舵速度が小さくなるほど小さくなる前記所定変化量を設定する変化量設定手段と
を備えたことを特徴とする請求項１ないし請求項４の何れか一項記載のトルク検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つのレゾルバを備え、各レゾルバで検出した回転角に基づいて操舵トルクを検出するトルク検出装置に関する。
【背景技術】
【０００２】
従来から、運転者の操舵操作に対して操舵アシストトルクを付与する電動パワーステアリング装置が知られている。電動パワーステアリング装置は、ステアリングシャフトに働いた操舵トルクをトルク検出装置で検出し、操舵トルクが大きくなるにしたがって増加する目標アシストトルクを算出し、算出した目標アシストトルクが得られるように、電動モータの通電量をフィードバック制御する。従って、電動パワーステアリング装置においては、特に、トルク検出装置の信頼性が要求される。
【０００３】
トルク検出装置は、ステアリングシャフトに設けたトーションバーの捩れ角度を検出することにより、この捩れ角度に比例した操舵トルクを算出する。例えば、特許文献１にて提案されたトルク検出装置は、２つのレゾルバを用いてトーションバーの捻れ角度を検出する構成を採用している。このトルク検出装置においては、トーションバーの一端側に第１レゾルバを、他端側に第２レゾルバを設け、第１レゾルバにて検出される第１回転角θ１と第２レゾルバにて検出される第２回転角θ２との差から、操舵トルクを検出する。
【０００４】
各レゾルバは、励磁用交流信号が供給されてロータコイルに通電する励磁コイルと、トーションバーの周囲に設けられる一対の検出コイル（ｓｉｎ相検出コイル，ｃｏｓ相検出コイル）とを備えている。一対の検出コイルは、互いに電気角で９０度（π／２）ずらして組み付けられる。ｓｉｎ相検出コイルは、ロータの回転角のｓｉｎ値に応じた振幅となる交流信号を出力し、ｃｏｓ相検出コイルは、ロータの回転角のｃｏｓ値に応じた振幅となる交流信号を出力する。従って、レゾルバで検出されるロータの回転角は、ｓｉｎ相検出コイルの出力信号の振幅をｃｏｓ相検出コイルの出力信号の振幅で除算した値のアークタンジェント値に基づいて演算することができる。
【０００５】
この特許文献１にて提案されたトルク検出装置は、一方のレゾルバにおける検出コイルの一つが断線した場合でも、正常なレゾルバで検出された回転角が所定角度範囲に入っている場合には、断線したコイルと対をなす他方の検出コイルの出力信号を使って回転角を推定する。これは、第１レゾルバにて検出される第１回転角θ１と第２レゾルバにて検出される第２回転角θ２との機械的な角度差が常に一定値以下になるという条件に基づいて、正常なレゾルバで検出された回転角が所定角度範囲に入っている状況においては、断線したコイルと対をなす他方の検出コイルの出力信号から回転角を一義的に求めることができることを利用したものである。従って、正常なレゾルバで検出された回転角が所定角度範囲に入っている状況においては、第１回転角θ１と第２回転角θ２との差から操舵トルクを検出することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３１５１８２号公報
【発明の概要】
【０００７】
しかしながら、第１回転角θ１と第２回転角θ２との機械的な角度差が一定値以下になるという条件に基づいて、他方の検出コイル（断線したコイルと対をなす正常な検出コイル）の出力信号から回転角を求める構成においては、一義的に回転角が求められる状況となる正常側レゾルバの回転角の範囲を広くとれない。例えば、通常の操舵操作でトーションバーが捩られる角度の最大値は６[ｄｅｇ]（機械角）程度である。この場合においては、一義的に回転角が求められる状況となる正常側レゾルバの回転角の範囲は全体の半分程度しかなく、トルク検出の継続が難しい。
【０００８】
本発明は、上記問題に対処するためになされたもので、２相のうち一方の検出コイルが断線している場合に、回転角が一義的に求められる範囲を広くすることを目的とする。
【０００９】
上記目的を達成するために、本発明の特徴は、操舵ハンドルに連結されたステアリングシャフトの入力側の回転角である第１回転角に応じた２相の検出信号を出力する一対の検出コイルを有する第１レゾルバ（１１０）と、前記ステアリングシャフトの出力側の回転角である第２回転角に応じた２相の検出信号を出力する一対の検出コイルを有する第２レゾルバ（１２０）とを備えたレゾルバユニット（１００）と、前記第１レゾルバの出力する２相の検出信号に基づいて前記第１回転角を演算し、前記第２レゾルバの出力する２相の検出信号に基づいて前記第２回転角を演算する回転角演算手段（Ｓ１５）と、前記演算された第１回転角と第２回転角との差に基づいて前記ステアリングシャフトに働く操舵トルクを演算するトルク演算手段（Ｓ１６）とを備えたトルク検出装置において、
前記第１レゾルバあるいは第２レゾルバの何れかで、前記一対の検出コイルの一方に異常が発生していることを検出する異常検出手段（Ｓ１３）と、前記検出コイルの一方に異常が検出されているとき、前記回転角演算手段が前記第１回転角および第２回転角を演算する演算周期あたりに前記第１回転角あるいは前記第２回転角が変化する回転角変化量が所定変化量以内であるという回転角変化条件に基づいて、前記異常が検出されている検出コイルを有する異常側レゾルバの回転角を一義的に算出することができる状況であるか否かを判断する異常側回転角算出可否判断手段（Ｓ３４，Ｓ３８，Ｓ４４，Ｓ４８）と、前記異常側回転角算出可否判断手段により、前記異常側レゾルバの回転角を一義的に算出することができる状況であると判定されている場合には、前記異常側レゾルバにおける異常が検出されていない検出コイルの検出信号に基づいて、前記回転角変化条件を満たす前記異常側レゾルバの回転角を演算する異常側回転角演算手段（Ｓ３３，Ｓ３７，Ｓ４３，Ｓ４７）とを備えたことにある。
【００１０】
本発明においては、ステアリングシャフトの入力側に第１レゾルバが設けられ、出力側に第２レゾルバが設けられる。第１レゾルバは、励磁用交流信号が入力され、一対の検出コイル（ｓｉｎ相検出コイル、ｃｏｓ相検出コイル）から、ステアリングシャフト入力側の回転角である第１回転角に応じた２相の検出信号を出力する。第２レゾルバも同様に、励磁用交流信号が入力され、一対の検出コイル（ｓｉｎ相検出コイル、ｃｏｓ相検出コイル）から、ステアリングシャフト出力側の回転角である第２回転角に応じた２相の検出信号を出力する。２相の検出信号は、入力された励磁用交流信号によって発生する交流電圧信号であって、回転角のｓｉｎ値に依存して振幅が変化するｓｉｎ相検出信号と、回転角のｃｏｓ値に依存して振幅が変化するｃｏｓ相検出信号とからなる。従って、各レゾルバにおいては、一方の検出コイルからｓｉｎ相検出信号を出力し、他方の検出コイルからｃｏｓ相検出信号を出力する。
【００１１】
回転角演算手段は、第１レゾルバの出力する２相の検出信号に基づいて第１回転角を演算し、第２レゾルバの出力する２相の検出信号に基づいて第２回転角を演算する。例えば、各レゾルバにおけるｓｉｎ相検出信号とｃｏｓ相検出信号との振幅をそれぞれ検出し、ｓｉｎ相検出信号の振幅をｃｏｓ相検出信号の振幅で除算した値のアークタンジェント値に基づいて回転角を演算することができる。トルク演算手段は、こうして演算された第１回転角と第２回転角との差に基づいてステアリングシャフトに働く操舵トルクを演算する。つまり、ステアリングシャフトの捩れ角度を検出することにより、その捩れ角度に比例した操舵トルクを演算する。この場合、ステアリングシャフトには、捩れ角度を検出しやすいように、トーションバーを介装することが好ましい。
【００１２】
レゾルバの検出コイルの信号出力ライン等が断線した場合には、検出コイルから正常な検出信号が出力されなくなる。このとき、一対の検出コイルのうち一方のみに異常が発生している状況においては、他方の検出コイルの出力する検出信号の振幅からは、２通りの解（演算結果）が得られて、一義的に回転角を決めることができない。こうした問題に対して、従来装置においては、第１回転角と第２回転角との角度差の限界が設定（想定）されていることから、異常が発生していないレゾルバの回転角が所定範囲となる場合にのみ、他方の検出コイルの出力する検出信号の振幅から一義的に回転角を決めることができることに着目して回転角を演算しているが、一義的に回転角を決められる所定範囲が狭い。
【００１３】
そこで、本発明においては、異常検出手段が、第１レゾルバあるいは第２レゾルバの何れかで、一対の検出コイルの一方に異常が発生しているか否かを判断する。そして、一対の検出コイルの一方に異常が発生していることが検出されると、回転角演算手段が第１回転角および第２回転角を演算する演算周期あたりに第１回転角あるいは第２回転角が変化する回転角変化量が所定変化量以内であるという回転角変化条件に基づいて、異常が検出されている検出コイルを有する異常側レゾルバの回転角を一義的に算出することができる状況であるか否かを判断する。
【００１４】
各演算手段は、それぞれ決められた演算周期にて繰り返し演算処理を実行する。従って、回転角演算手段の演算周期にステアリングシャフトの回転角速度を乗算すれば一演算周期のあいだに変化した回転角の変化量、つまり、回転角変化量が求められる。一方、操舵ハンドルを回転操作する速度には限界があるため、回転角変化量は、所定変化量以内となる。このため、一演算周期前に算出された異常側レゾルバの電気角に基づいて、異常が検出されている検出コイルを有する異常側レゾルバの回転角を一義的に算出することができる状況であるか否かを判断することができる。この場合、異常側回転角算出可否判断手段は、一演算周期前に算出された異常側レゾルバの電気角を表す情報(電気角を導き出せる情報）を記憶する記憶手段（３３）を備えているとよい。
【００１５】
そして、異常側回転角演算手段は、異常側回転角算出可否判断手段により、異常側レゾルバの回転角を一義的に算出することができる状況であると判定されている場合には、異常側レゾルバにおける異常が検出されていない検出コイルの検出信号に基づいて、回転角変化条件を満たす異常側レゾルバの回転角を演算する。従って、回転変化条件を設定することで、異常側レゾルバにおける異常が検出されていない検出コイルの検出信号から回転角を一義的に決めることができる。つまり、異常側レゾルバにおける異常が検出されていない検出コイルの検出信号の振幅から演算される２通りの回転角から、そのうちの１つを一義的に決めることができる。
【００１６】
この結果、本発明によれば、２相のうち一方の検出コイルが断線している場合であっても、回転角が一義的に求められる範囲が広くなるため、操舵トルクを検出できる期間が長くなる。従って、本発明のトルク検出装置を電動パワーステアリング装置のトルク検出用に用いた場合には、適正な操舵アシストを継続できる期間を長くすることができる。
【００１７】
本発明の他の特徴は、前記異常側回転角算出可否判断手段は、前記異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、前記異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性がない状況であるときに、前記異常側レゾルバの回転角を一義的に算出することができる状況であると判定し、前記異常が検出されている検出コイルがｃｏｓ相検出コイルである場合には、前記異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性がない状況であるときに、前記異常側レゾルバの回転角を一義的に算出することができる状況であると判定することにある。
【００１８】
異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過できる状況にあると、ｃｏｓ相検出コイルから出力される検出信号の振幅からは一義的に回転角を決めることができない。これは、異常側レゾルバの電気角が、０°あるいは１８０°を挟んでどちら側にあるのか分からないためである。同様に、異常が検出されている検出コイルがｃｏｓ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過できる状況にあると、ｓｉｎ相検出コイルから出力される検出信号の振幅からは一義的に回転角を決めることができない。これは、異常側レゾルバの電気角が、９０°あるいは２７０°を挟んでどちら側にあるのか分からないためである。
【００１９】
そこで、本発明においては、異常側回転角算出可否判断手段が、異常が検出されている検出コイルがｓｉｎ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性がない状況であるときに、異常側レゾルバの回転角を一義的に算出することができる状況であると判定し、異常が検出されている検出コイルがｃｏｓ相検出コイルである場合には、異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性がない状況であるときに、異常側レゾルバの回転角を一義的に算出することができる状況であると判定する。この場合、異常側回転角算出可否判断手段は、例えば、一演算周期前に算出された異常側レゾルバの電気角と、回転角変化条件に基づいて、上記状況であるか否かを判定すればよい。これによれば、２相のうち一方の検出コイルが断線している場合であっても、簡単な条件付けにて、回転角が一義的に求められる範囲を広くすることができる。
【００２０】
本発明の他の特徴は、前記所定変化量は、前記操舵ハンドルが回される操舵速度に基づいて設定されることにある。
【００２１】
本発明によれば、操舵ハンドルが回される操舵速度（回転角速度）に基づいて所定変化量が設定されるため、適正な回転角変化条件を設定することができる。
【００２２】
本発明の特徴は、前記所定変化量は、前記操舵ハンドルが回される操舵速度の想定される最大値に基づいて設定されることにある。
【００２３】
本発明によれば、操舵ハンドルが回される操舵速度の想定される最大値に基づいて所定変化量が設定されるため、確実な回転角変化条件を設定することができる。
【００２４】
本発明の他の特徴は、前記操舵ハンドルが回される操舵速度を検出する操舵速度検出手段（Ｓ５１，Ｓ６１）と、前記操舵速度検出手段により検出された操舵速度が小さくなるほど小さくなる前記所定変化量を設定する変化量設定手段（Ｓ５２，Ｓ５３，Ｓ６２，Ｓ６３）とを備えたことにある。
【００２５】
本発明によれば、操舵速度が小さくなるほど所定変化量を小さく設定するため、回転角が一義的に求められる範囲を更に広くすることができる。
【００２６】
尚、上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件を前記符号によって規定される実施形態に限定させるものではない。
【図面の簡単な説明】
【００２７】
【図１】実施形態としてのトルク検出装置を備えた電動パワーステアリング装置の概略構成図である。
【図２】トルクセンサユニットの回路構成図である。
【図３】第１条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図４】第２条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図５】操舵トルク検出ルーチンを表すフローチャートである。
【図６】第１回転角計算ルーチン（サブルーチン）を表すフローチャートである。
【図７】第２回転角計算ルーチン（サブルーチン）を表すフローチャートである。
【図８】第１条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図９】第２条件に基づいて、回転角が一義的に決まる範囲を表す図であって、（ａ）はｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲を表し、（ｂ）はｓｉｎ相のみの検出信号から回転角が一義的に決まる範囲を表す。
【図１０】第２条件に基づいて、ｃｏｓ相のみの検出信号から回転角が一義的に決まる範囲であって、操舵速度によってその範囲が変化することを表す説明図である。
【図１１】操舵速度と最大変化量との設定関係を表すグラフである。
【図１２】操舵速度と最大変化量との設定関係を表すグラフである。
【図１３】操舵速度と最大変化量との設定関係を表すグラフである。
【図１４】ｓｉｎ相の振幅とｃｏｓ相の振幅と電気角との関係を表す図である。
【図１５】変形例としての追加処理を表すフローチャートである。
【図１６】変形例としての追加処理を表すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の一実施形態について図面を用いて説明する。図１は、実施形態としてのトルク検出装置を備えた車両の電動パワーステアリング装置の概略構成図である。
【００２９】
電動パワーステアリング装置は、操舵ハンドル１１の操舵により転舵輪である左右前輪ＦＷ１，ＦＷを転舵する転舵機構１０と、転舵機構１０に設けられ操舵アシストトルクを発生するパワーアシスト部２０と、パワーアシスト部２０の電動モータ２１を駆動制御するアシスト制御装置５０（以下、アシストＥＣＵ５０と呼ぶ）と、レゾルバユニット１００とを備えている。
【００３０】
転舵機構１０は、ステアリングシャフト１２を回転可能に備えている。ステアリングシャフト１２の上端には、操舵ハンドル１１が一体回転可能に接続され、ステアリングシャフト１２の下端には、ピニオンギヤ１３が一体回転可能に接続されている。ピニオンギヤ１３は、ラックバー１４に形成されたラック歯と噛み合ってラックアンドピニオン機構を構成する。ラックバー１４の両端には、図示しないタイロッドおよびナックルアームを介して左右前輪ＦＷ１，ＦＷ２が転舵可能に接続されている。左右前輪ＦＷ１，ＦＷ２は、ステアリングシャフト１２の軸線回りの回転に伴うラックバー１４の軸線方向の変位に応じて左右に転舵される。
【００３１】
ラックバー１４には、パワーアシスト部２０が組み付けられている。パワーアシスト部２０は、操舵アシスト用の電動モータ２１（例えば、３相ＤＣブラシレスモータ）とボールねじ機構２２とからなる。電動モータ２１の回転軸は、ボールねじ機構２２を介してラックバー１４に動力伝達可能に接続されていて、その回転により左右前輪ＦＷ１，ＦＷ２の転舵をアシストする。ボールねじ機構２２は、減速器および回転−直線変換器として機能するもので、電動モータ２１の回転を減速するとともに直線運動に変換してラックバー１４に伝達する。尚、電動モータ２１をラックバー１４に組み付けるのに代えて、電動モータ２１をステアリングシャフト１２に組み付けて、電動モータ２１の回転を減速器を介してステアリングシャフト１２に伝達して同シャフト１２を軸線周りに駆動するように構成してもよい。
【００３２】
電動モータ２１には、その回転軸の回転角を検出するための回転角センサ６１が設けられている。この回転角センサ６１は、電動モータ２１内に組み込まれ、電動モータ２１の回転子の回転角度位置に応じた検出信号を出力するもので、例えば、レゾルバにより構成される。この回転角センサ６１の検出信号は、電動モータ２１の回転角および回転角速度の計算に利用される。一方、この電動モータ２１の回転角は、操舵角の検出に利用される。また、電動モータ２１の回転角を時間で微分して得られる回転角速度は、操舵速度に対応するため操舵速度ωの検出に利用される。
【００３３】
ステアリングシャフト１２は、その軸方向の中間位置にトーションバー１２ａが設けられる。ステアリングシャフト１２において、トーションバー１２ａの上端と操舵ハンドル１１とを連結する部分を入力シャフト１２inと呼び、トーションバー１２ａの下端とピニオンギヤ１３とを連結する部分を出力シャフト１２outと呼ぶ。
【００３４】
ステアリングシャフト１２には、レゾルバユニット１００が設けられる。レゾルバユニット１００は、トーションバー１２ａと、入力シャフト１２inに組み付けられた第１レゾルバ１１０と、出力シャフト１２outに組み付けられた第２レゾルバ１２０とから構成される。第１レゾルバ１１０は、入力シャフト１２inの回転角（トーションバー１２ａの一方端位置における回転角であって本発明の第１回転角に相当する）に応じた信号を出力し、第２レゾルバ１２０は、出力シャフト１２outの回転角（トーションバー１２ａの他方端位置における回転角であって本発明の第２回転角に相当する）に応じた信号を出力する。操舵ハンドル１１が回動操作されると、ステアリングシャフト１２にトルクが働いてトーションバー１２ａが捩れる。トーションバー１２ａの捩れ角度は、ステアリングシャフト１２に働く操舵トルクに比例する。従って、第１レゾルバ１１０で検出される第１回転角θ１と、第２レゾルバ１２０で検出される第２回転角θ２との差を求めることでステアリングシャフト１２に働く操舵トルクを検出することができる。第１レゾルバ１１０、第２レゾルバ１２０は、アシストＥＣＵ５０に接続されている。
【００３５】
アシストＥＣＵ５０は、マイクロコンピュータおよび信号処理回路等を備えた演算部３０と、スイッチング回路で構成されるモータ駆動回路４０（例えば、３相インバータ回路）とを備えている。演算部３０は、アシスト演算部３１と、トルク演算部３２と、記憶部３３とから構成される。トルク演算部３２は、レゾルバユニット１００および回転角センサ６１と接続されて、ステアリングシャフト１２に働く操舵トルクを演算により検出する。また、トルク演算部３２は、運転者に異常を報知するための警告ランプ６５を接続しており、後述する断線検出時に警告ランプ６５を点灯する。レゾルバユニット１００とトルク演算部３２と記憶部３３と回転角センサ６１とからなる構成が本発明のトルク検出装置に相当する。アシスト演算部３１は、トルク演算部３２により検出された操舵トルクに基づいて電動モータ２１の制御量を演算し、それに対応した制御信号をモータ駆動回路４０に出力する。記憶部３３は、各種の制御プログラムや制御用データ等を記憶したメモリから構成される。
【００３６】
モータ駆動回路４０は、アシスト演算部３１からのＰＷＭ制御信号を入力して、内部のスイッチング素子のデューティ比を制御することにより電動モータ２１への通電量を調整する。モータ駆動回路４０には、電動モータ２１に流れる電流を検出する電流センサ４１が設けられる。
【００３７】
アシスト演算部３１は、電流センサ４１、車速センサ６０、回転角センサ６１を接続している。車速センサ６０は、車速ｖｘを表す車速検出信号を出力する。また、アシスト演算部３１は、トルク演算部３２により算出した操舵トルクの計算結果を入力する。
【００３８】
次に、アシスト演算部３１の実施する操舵アシスト制御について簡単に説明する。アシスト演算部３１は、車速センサ６０により検出される車速ｖｘと、トルク演算部３２により算出された操舵トルクＴｒとを取得し、取得した車速ｖｘと操舵トルクＴｒに基づいて、目標アシストトルクを算出する。目標アシストトルクは、図示しないアシストマップ等を参照して、操舵トルクＴｒが大きくなるにしたがって増加し、かつ、車速ｖｘが増加するにしたがって減少するように設定される。アシスト演算部３１、この目標アシストトルクを発生させるために必要な目標電流を計算し、電流センサ４１により検出された実電流と目標電流との偏差に基づいてＰＩ制御（比例積分制御）式等を使って目標指令電圧を計算し、目標指令電圧に応じたＰＷＭ制御信号をモータ駆動回路４０に出力する。アシスト演算部３１は、回転角センサ６１により検出される電動モータ２１の回転角（電気角）を取得して、回転角に応じた３相（Ｕ相、Ｖ相，Ｗ相）のＰＷＭ制御信号を生成することにより、電動モータ２１に３相駆動電圧を印加する。こうして、電動モータ２１には、電流フィードバック制御により運転者の操舵方向と同じ方向に回転する向きの目標電流が流れる。これにより、運転者の操舵操作が、電動モータ２１で発生するトルクにより適切にアシストされる。
【００３９】
次に、レゾルバユニット１００について説明する。図２は、レゾルバユニット１００の概略回路構成を表す。第１レゾルバ１１０は、入力シャフト１２inをロータとして備える。入力シャフト１２inの外周側のステータには、ロータの周方向に沿って巻かれた第１励磁コイル１１１が固定して設けられている。ロータとなる入力シャフト１２inには、第１ロータコイル１１４が固定して設けられている。第１ロータコイル１１４は、ロータの回転に伴って回転する。第１ロータコイル１１４は、ロータ内に設けた変圧器（図示略）を介して第１励磁コイル１１１と非接触にて電気的に接続され、第１励磁コイル１１１に印加される交流電圧によって通電される。尚、図示しないが、第１ロータコイル１１４は、回転角の分解能を高めるために、ロータの機械的な回転角に対して電気角がＮ倍となるように等角度間隔で複数配置されている。
【００４０】
第１レゾルバ１１０は、入力シャフト１２inの外周側のステータに第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３とを備えている。第１ｓｉｎ相検出コイル１１２と第１ｃｏｓ相検出コイル１１３とは、互いに電気角がπ／２ずれる位置に配置される。
【００４１】
第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３は、第１ロータコイル１１４の回転平面上に配置され、第１ロータコイル１１４で発生する磁束により交流電圧信号を出力する。第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３で発生する交流電圧信号の振幅値は、第１ロータコイル１１４に対する第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３の回転位置に応じて変化する。つまり、第１ｓｉｎ相検出コイル１１２は、入力シャフト１２inの回転角のｓｉｎ値に応じた振幅となる交流電圧信号を出力し、第１ｃｏｓ相検出コイル１１３は、入力シャフト１２inの回転角のｃｏｓ値に応じた振幅となる交流電圧信号を出力する。
【００４２】
第１励磁コイル１１１の一端は、第１励磁ライン２１０を介してアシストＥＣＵ５０の第１励磁信号出力ポート５０pe１に接続されている。また、第１ｓｉｎ相検出コイル１１２の一端は、第１ｓｉｎ相検出ライン２１２を介してアシストＥＣＵ５０の第１ｓｉｎ相信号入力ポート５０ｐs1に接続されている。また、第１ｃｏｓ相検出コイル１１３の一端は、第１ｃｏｓ相検出ライン２１３を介してアシストＥＣＵ５０の第１ｃｏｓ相信号入力ポート５０ｐc1に接続されている。図中において、符号１００pe1は、レゾルバユニット１００の第１励磁信号入力ポートであり、符号１００ｐs1は第１ｓｉｎ相信号出力ポートであり、符号１００ｐc1は第１ｃｏｓ相信号出力ポートである。従って、ワイヤハーネスとなる部分は、第１励磁信号出力ポート５０pe１と第１励磁信号入力ポート１００pe1との間の第１励磁ライン２１０、第１ｓｉｎ相信号出力ポート１００ps1と第１ｓｉｎ相信号入力ポート５０ｐs1との間の第１ｓｉｎ相検出ライン２１２、第１ｃｏｓ相信号出力ポート１００pc1と第１ｃｏｓ相信号入力ポート５０ｐc1との間の第１ｃｏｓ相検出ライン２１３である。
【００４３】
また、第１励磁コイル１１１の他端、第１ｓｉｎ相検出コイル１１２の他端、第１ｃｏｓ相検出コイル１１３の他端は、共通グランドライン２４０を介してアシストＥＣＵ５０のグランドポート５０pgに接続される。図中において、符号１００pgはレゾルバユニット１００のグランドポートである。従って、グランドポート５０pgとグランドポート１００pgとの間の共通グランドライン２４０がワイヤハーネス部分となる。
【００４４】
第２レゾルバ１２０は、出力シャフト１２outをロータとして備える。出力シャフト１２outの外周側のステータには、ロータの周方向に沿って巻かれた第２励磁コイル１２１が固定して設けられている。ロータとなる出力シャフト１２outには、第２ロータコイル１２４が固定して設けられている。第２ロータコイル１２４は、ロータの回転に伴って回転する。第２ロータコイル１２４は、ロータ内に設けた変圧器（図示略）を介して第２励磁コイル１２１と非接触にて電気的に接続され、第２励磁コイル１２１に印加される交流電圧によって通電される。尚、図示しないが、第２ロータコイル１２４は、回転角の分解能を高めるために、ロータの機械的な回転角に対して電気角がＮ倍となるように等角度間隔で複数配置されている。
【００４５】
第２レゾルバ１２０は、出力シャフト１２outの外周側のステータに第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３とを備えている。第２ｓｉｎ相検出コイル１２２と第２ｃｏｓ相検出コイル１２３とは、互いに電気角がπ／２ずれる位置に配置される。
【００４６】
第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３は、第２ロータコイル１２４の回転平面上に配置され、第２ロータコイル１２４で発生する磁束により交流電圧信号を出力する。第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３で発生する交流電圧信号の振幅値は、第２ロータコイル１２４に対する第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３の回転位置に応じて変化する。つまり、第２ｓｉｎ相検出コイル１２２は、出力シャフト１２outの回転角のｓｉｎ値に応じた振幅となる交流電圧信号を出力し、第２ｃｏｓ相検出コイル１２３は、出力シャフト１２outの回転角のｃｏｓ値に応じた振幅となる交流電圧信号を出力する。
【００４７】
第２励磁コイル１２１の一端は、第２励磁ライン２２０を介してアシストＥＣＵ５０の第２励磁信号出力ポート５０pe２に接続されている。また、第２ｓｉｎ相検出コイル１２２の一端は、第２ｓｉｎ相検出ライン２２２を介してアシストＥＣＵ５０の第２ｓｉｎ相信号入力ポート５０ｐs2に接続されている。また、第２ｃｏｓ相検出コイル１２３の一端は、第２ｃｏｓ相検出ライン２２３を介してアシストＥＣＵ５０の第２ｃｏｓ相信号入力ポート５０ｐc2に接続されている。図中において、符号１００pe2はレゾルバユニット１００の第２励磁信号入力ポートであり、符号１００ｐs2は第２ｓｉｎ相信号出力ポートであり、符号１００ｐc2は第２ｃｏｓ相信号出力ポートである。従って、ワイヤハーネスとなる部分は、第２励磁信号出力ポート５０pe2と第２励磁信号入力ポート１００pe2との間の第２励磁ライン２２０、第２ｓｉｎ相信号出力ポート１００ps2と第２ｓｉｎ相信号入力ポート５０ｐs2との間の第２ｓｉｎ相検出ライン２２２、第２ｃｏｓ相信号出力ポート１００pc2と第２ｃｏｓ相信号入力ポート５０ｐc2との間の第２ｃｏｓ相検出ライン２２３である。
【００４８】
また、第２励磁コイル１２１の他端、第２ｓｉｎ相検出コイル１２２の他端、第２ｃｏｓ相検出コイル１２３の他端は、共通グランドライン２４０を介してアシストＥＣＵ５０のグランドポート５０pgに接続される。
【００４９】
アシストＥＣＵ５０は、コイル駆動回路５２を備えている。このコイル駆動回路５２は、第１励磁コイル駆動回路５２１と第２励磁コイル駆動回路５２２とから構成されている。第１励磁コイル駆動回路５２１は、一定の周期、振幅の励磁用交流電圧を第１励磁信号出力ポート５０pe1から出力する。以下、第１励磁信号出力ポート５０pe1から出力される励磁用交流電圧を第１励磁信号と呼び、第１励磁信号の電圧値を第１励磁電圧Ｖ１と呼ぶ。第１励磁電圧Ｖ１は、振幅をＥ１とすると、次式にて表される。
Ｖ１＝Ｅ１・ｓｉｎ（ωｔ）    ・・・（１）
【００５０】
また、第２励磁コイル駆動回路５２２は、第１励磁コイル駆動回路５２１から出力される励磁用交流電圧と同じ周波数、かつ、互いに同位相となるように設定された励磁用交流電圧を第２励磁信号出力ポート５０pe2から出力する。以下、第２励磁信号出力ポート５０pe2から出力される励磁用交流電圧を第２励磁信号と呼び、第２励磁信号の電圧値を第２励磁電圧Ｖ２と呼ぶ。第２励磁電圧Ｖ２は、振幅をＥ２とすると、次式にて表される。
Ｖ２＝Ｅ２・ｓｉｎ（ωｔ）    ・・・（２）
【００５１】
尚、第１励磁電圧Ｖ１および第２励磁電圧Ｖ２の振幅Ｅ１，Ｅ２は、第１レゾルバ１１０，第２レゾルバ１２０の特性に合わせて設定される。また、第１励磁コイル駆動回路５２１と第２励磁コイル駆動回路５２２とを共通にして、一つの励磁コイル駆動回路（例えば、第１励磁コイル駆動回路５２１）から励磁信号をレゾルバユニット１００に供給するようにしてもよい。この場合には、第１励磁ライン２１０と第２励磁ライン２２０とを１本にすることができる。
【００５２】
第１励磁信号により第１レゾルバ１１０の第１励磁コイル１１１が励磁されると、第１ｓｉｎ相検出コイル１１２および第１ｃｏｓ相検出コイル１１３で交流電圧が発生する。また、第２励磁信号により第２レゾルバ１２０の第２励磁コイル１２１が励磁されると、第２ｓｉｎ相検出コイル１２２および第２ｃｏｓ相検出コイル１２３で交流電圧が発生する。
【００５３】
第１ｓｉｎ相検出コイル１１２から出力される交流電圧信号を第１ｓｉｎ相検出信号と呼び、その電圧値を第１ｓｉｎ相検出電圧Ｅs1と呼ぶ。また、第１ｃｏｓ相検出コイル１１３から出力される交流電圧信号を第１ｃｏｓ相検出信号と呼び、その電圧値を第１ｃｏｓ相検出電圧Ｅc1と呼ぶ。第１ｓｉｎ相検出電圧Ｅs1、および、第１ｃｏｓ相検出電圧Ｅc1は次式にて表される。
Ｅs1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１）・ｓｉｎ（ωｔ＋α）    ・・・（３）
Ｅc1＝Ｋ１・Ｅ１・ｃｏｓ（Ｎ・θ１）・ｓｉｎ（ωｔ＋α）    ・・・（４）
【００５４】
また、第２ｓｉｎ相検出コイル１２２から出力される交流電圧信号を第２ｓｉｎ相検出信号と呼び、その電圧値を第２ｓｉｎ相検出電圧Ｅs2と呼ぶ。また、第２ｃｏｓ相検出コイル１２３から出力される交流電圧信号を第２ｃｏｓ相検出信号と呼び、その電圧値を第２ｃｏｓ相検出電圧Ｅc2と呼ぶ。第２ｓｉｎ相検出電圧Ｅs2、および、第２ｃｏｓ相検出電圧Ｅc2は次式にて表される。
Ｅs2＝Ｋ２・Ｅ２・ｓｉｎ（Ｎ・θ２）・ｓｉｎ（ωｔ＋α）    ・・・（５）
Ｅc2＝Ｋ２・Ｅ２・ｃｏｓ（Ｎ・θ２）・ｓｉｎ（ωｔ＋α）    ・・・（６）
【００５５】
ここで、θ１は入力シャフト１２inに直結した第１レゾルバ１１０のロータの角度、θ２は出力シャフト１２outに直結した第２レゾルバ１２０のロータの角度、Ｋ１は第１レゾルバ１１０の変圧比、Ｋ２は第２レゾルバ１２０の変圧比、Ｎは第１レゾルバ１１０および第２レゾルバ１２０の軸倍角、αは励磁信号に対する位相遅れ量（入出力位相差）、ωは励磁周波数、ｔは時間を表す。
【００５６】
アシストＥＣＵ５０は、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号を、それぞれ第１ｓｉｎ相検出ライン２１２，第１ｃｏｓ相検出ライン２１３，第２ｓｉｎ相検出ライン２２２，第２ｃｏｓ相検出ライン２２３を介して入力する。アシストＥＣＵ５０は、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号をアンプ５１s1，５１c1，５１s2，５１c2に入力してグランド電位に対する各検出信号の電圧を増幅し、増幅した電圧信号を図示しないＡ／Ｄ変換器によりデジタル値に変換し、このデジタル値をマイコンに入力してトルク計算処理を行う。
【００５７】
アシストＥＣＵ５０におけるトルク演算部３２は、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号を増幅しデジタル信号に変換してマイコンに入力する回路と、コイル駆動回路５２と、マイコンによりトルク計算処理を行う機能部とから構成される。
【００５８】
次に、操舵トルクを計算する方法について説明する。まず、第１レゾルバ１１０，第２レゾルバ１２０のロータの角度θ１，θ２を検出する方法から説明する。どちらも、同様の方法で計算するため、ここでは、第１レゾルバ１１０の第１回転角θ１の検出方法を例にとり説明する。
【００５９】
第１ｓｉｎ相検出信号の振幅は、（３）式から、Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１）で表される。また、第１ｃｏｓ相検出信号の振幅は、（４）式から、Ｋ１・Ｅ１・ｃｏｓ（Ｎ・θ１）で表される。ここで、第１ｓｉｎ相検出信号の振幅をＡs1とする（Ａs1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１））。また、第１ｃｏｓ相検出信号の振幅をＡc1とする（Ａc1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１））。アシストＥＣＵ５０のトルク演算部３２は、第１ｓｉｎ相検出信号、第１ｃｏｓ相検出信号の電圧値を、第１励磁信号の周期に比べて短い周期でサンプリングする。例えば、第１励磁信号の１周期に対して、等時間間隔で４回、それぞれの検出信号の電圧値をサンプリングする。サンプリングした電圧値は、離散値であるため、最小二乗法を用いて、次式（７），（８）により振幅Ａs1，Ａc1を計算することができる。
【数１】
2012088198.tif 000003
ここで、ｆi，tiは、それぞれサンプリングされた値と時間（サンプリング周期）の離散値である。
【００６０】
従って、この２つの式の計算値から次式（９）を計算することができる。
【数２】
2012088198.tif 000004
こうして、第１回転角θ１は、次式（１０）により計算することができる。
【数３】
2012088198.tif 000005
【００６１】
同様にして、第２レゾルバ１２０の第２回転角θ２は、次式（１１）により計算することができる。
【数４】
2012088198.tif 000006
ここで、Ａs2は第２ｓｉｎ相検出信号の振幅（Ａs2＝Ｋ２・Ｅ２・ｓｉｎ（Ｎ・θ２））であり、Ａc2は第２ｃｏｓ相検出信号の振幅（Ａc2＝Ｋ２・Ｅ２・ｃｏｓ（Ｎ・θ２））である。
【００６２】
こうして第１回転角θ１と第２回転角θ２が求められると、次式（１２）により操舵トルクＴｒを計算することができる。
Ｔｒ＝Ｋｂ・（θ１−θ２）    ・・・（１２）
ここで、Ｋｂは、トーションバー１２ａの捩り特性に応じて決まる比例定数（バネ定数）であり、予め記憶部３３に記憶されている。
【００６３】
次に、各レゾルバ１１０，１２０において、ｓｉｎ相あるいはｃｏｓ相のコイルの何れかに異常が発生したときの回転角θ１（θ２）の検出方法について説明する。まず、第１レゾルバ１１０のｓｉｎ相に異常が生じた場合（第１ｓｉｎ相検出信号が正常に検出できない場合）を例にとり説明する。尚、コイルの異常とは、コイル１１２，１１３，１２２，１２３そのものの異常だけでなく、第１ｓｉｎ相検出ライン２１２，第１ｃｏｓ相検出ライン２１３，第２ｓｉｎ相検出ライン２２２，第２ｃｏｓ相検出ライン２２３の断線等、正常にｓｉｎ相検出信号あるいはｃｏｓ相検出信号がアシストＥＣＵ５０に入力されない状態をいう。
【００６４】
上述したように第１回転角θ１は、第１ｓｉｎ相検出信号の振幅Ａs1と第１ｃｏｓ相検出信号の振幅Ａc1から上記式（１０）により計算により求められる。このため、振幅Ａs1が検出できない場合には、上記式（１０）を用いて計算できない。この場合には、異常が検出されていない相のコイル（ここでは、第１ｃｏｓ相検出コイル１１３）の出力する検出信号の振幅から回転角θ１を計算する。
【００６５】
上述したように、第１ｓｉｎ相検出信号の振幅Ａs1は、Ａs1＝Ｋ１・Ｅ１・ｓｉｎ（Ｎ・θ１）で表され、第１ｃｏｓ相検出信号の振幅Ａc1は、Ａc1＝Ｋ１・Ｅ１・ｃｏｓ（Ｎ・θ１）で表される。従って、次式（１３），（１４）の関係式が得られる。
【数５】
2012088198.tif 000007
【００６６】
ここで、Ｋ１・Ｅ１の値は、レゾルバユニット１００の正常時において予め測定して記憶しておくことができる。Ｋ１・Ｅ１と振幅Ａs1，Ａc1の関係は、図１４（ａ）に示すものとなる。従って、この２つの式から次式（１５）が得られ、次式（１６）に示す第１回転角θ１の計算式が得られる。
【数６】
2012088198.tif 000008
【００６７】
同様にして、第１レゾルバ１１０のｃｏｓ相に異常が生じた場合には、第１ｓｉｎ相検出信号の振幅Ａs1から次式（１７）に示す回転角θ１の計算式が得られる。
【数７】
2012088198.tif 000009
【００６８】
また、第２レゾルバ１２０における片側相のコイル異常時においても同様に考える事ができる。ｓｉｎ相に異常が生じた場合には、第２ｃｏｓ相検出信号の振幅Ａc2から次式（１８）に示す回転角θ２の計算式が得られ、ｃｏｓ相に異常が生じた場合には、第２ｓｉｎ相検出信号の振幅Ａs2から次式（１９）に示す回転角θ２の計算式が得られる。
【数８】
2012088198.tif 000010
尚、Ｋ２・Ｅ２と振幅Ａs2，Ａc2の関係は、図１４（ｂ）に示すものとなる。
【００６９】
こうした計算式（１６），（１７），（１８），（１９）は、片側相の検出信号の振幅から回転角を求めるものであるため、２通りの解が出てしまい、一義的に回転角を導き出すことができない。そこで本実施形態においては、以下に示す第１条件と第２条件に基づいて、２通りの解からその１つを特定することができる状況が発生することに着目して、そうした状況となったときに片側相の検出信号の振幅から回転角を一義的に求める。
【００７０】
まず、第１条件、および、第１条件に基づいて決まる片側相の検出信号の振幅から回転角を一義的に算出することのできる状況（以下、第１条件下算出可能状況と呼ぶ）について説明する。
【００７１】
ステアリングシャフト１２に設けられているトーションバー１２ａは、操舵操作により捩られるが、その捩られる角度には限界があり、通常の操舵操作では、例えば、６[ｄｅｇ]（機械角）未満となっている。つまり、第１レゾルバ１１０のロータの角度である第１回転角θ１と、第２レゾルバ１２０のロータの角度である第２回転角θ２との差が常に６[ｄｅｇ]未満となる。これをレゾルバの電気角で表すと、レゾルバの軸倍角Ｎを８（Ｎ＝８）とした場合には、次式（２０）のように、第１レゾルバ１１０の電気角θｅ１（＝Ｎ・θ１）と第２レゾルバ１２０の電気角θｅ２（＝Ｎ・θ２）との差は４８[ｄｅｇ]未満となる。
｜θｅ１−θｅ２｜＜４８°    ・・・（２０）
このように第１回転角θ１と第２回転角θ２とが常に所定角度差未満になるという条件が第１条件である。尚、式中においては、[ｄｅｇ]を[°]で表すことにする。
【００７２】
ｃｏｓ相の振幅Ａc1のみから電気角θｅ１が一義的に決まるのは、次式（２１），（２２）に示すように、電気角θｅ１が０°〜１８０°までの範囲であること、あるいは、１８０°〜３６０°までの範囲であることが予めわかっている場合である。
０°＜θｅ１＜１８０°    ・・・（２１）
１８０＜θｅ１＜３６０°    ・・・（２２）
【００７３】
従って、第１条件（式（２０））から、正常側の第２レゾルバ１２０の電気角θｅ２が次式（２３），（２４）の範囲であれば、ｃｏｓ相の振幅Ａc1のみから電気角θｅ１が一義的に決まる。
０°＋４８°＜θｅ２＜１８０°−４８°    ・・・（２３）
１８０＋４８°＜θｅ２＜３６０―４８°    ・・・（２４）
【００７４】
これを整理すると、次式（２５），（２６）が得られる。
４８°＜θｅ２＜１３２°    ・・・（２５）
２２８°＜θｅ２＜３１２°    ・・・（２６）
従って、第１レゾルバ１１０のｓｉｎ相に異常が生じた場合に、正常側の第２レゾルバ１２０の電気角θｅ２が式（２５），（２６）で表される範囲に入っているという状況が第１条件下算出可能状況となる。
【００７５】
同様にして、第１レゾルバ１１０のｃｏｓ相に異常が生じて、ｓｉｎ相の振幅Ａs1のみしかわからない場合であっても、以下の状況となる場合には、振幅Ａs1のみから第１回転角θ１を演算することができる。
【００７６】
ｓｉｎ相の振幅Ａs1のみから電気角θｅ１が一義的に決まるのは、次式（２７），（２８）に示すように、電気角θｅ１が−９０°〜９０°までの範囲であること、あるいは、９０°〜２７０°までの範囲であることが予めわかっている場合である。
―９０°＜θｅ１＜９０°    ・・・（２７）
９０＜θｅ１＜２７０°    ・・・（２８）
【００７７】
従って、第１条件（式（２０））から、正常側の第２レゾルバ１２０の電気角θｅ２が次式（２９），（３０）の範囲であれば、ｓｉｎ相の振幅Ａs1のみから電気角θｅ１が一義的に決まる。
―９０°＋４８°＜θｅ２＜９０°−４８°    ・・・（２９）
９０＋４８°＜θｅ２＜２７０―４８°    ・・・（３０）
【００７８】
これを整理すると、次式（３１），（３２）が得られる。
―４２°＜θｅ２＜４２°    ・・・（３１）
１３８°＜θｅ２＜２２２°    ・・・（３２）
尚、電気角を０°〜３６０°のあいだの値で示すと、次式（３３），（３４），（３５）にて表すことができる。
０°＜θｅ２＜４２°    ・・・（３３）
１３８°＜θｅ２＜２２２°    ・・・（３４）
３１８°＜θｅ２＜３６０°    ・・・（３５）
従って、第１レゾルバ１１０のｃｏｓ相に異常が生じた場合に、正常側の第２レゾルバ１２０の電気角θｅ２が式（３３）〜（３５）で表される範囲に入っているという状況も第１条件下算出可能状況となる。
【００７９】
以下、式（２５），（２６）で表される範囲、および、式（３３）〜（３５）で表される範囲を第１条件下算出可能範囲と呼ぶ。
【００８０】
同様にして、第２レゾルバ１２０のｓｉｎ相あるいはｃｏｓ相のコイルの何れかに異常が発生した場合についても、正常側の第１レゾルバ１１０の電気角θｅ１に基づいて、電気角θｅ１が予め設定した角度範囲（式（２５）、（２６）、（３３）〜（３５）においてθｅ２をθｅ１に置き換えた範囲）に入る場合には、第１条件下算出可能状況となるため、振幅Ａs2あるいは振幅Ａc2のみから第２回転角θ２を演算することができる。
【００８１】
図３（ａ）は、ｓｉｎ相に異常が発生したときの第１条件下算出可能範囲（正常側レゾルバの電気角）を表し、図３（ｂ）は、ｃｏｓ相に異常が発生したときの第１条件下算出可能範囲（正常側レゾルバの電気角）を表す。図中において、矢印で示した範囲が第１条件下算出可能範囲であり、塗りつぶした範囲が回転角の一義的に決まらない範囲である。この図から分かるように、第１条件から設定される第１条件下算出可能範囲は、全体の半分程度であり、余り広くない。
【００８２】
そこで、本実施形態においては、さらに第２条件に基づいて、片側相の検出信号の振幅から回転角を一義的に算出することのできる状況（以下、第２条件下算出可能状況と呼ぶ）を設定する。以下、第２条件、および、第２条件下算出可能状況について説明する。
【００８３】
アシストＥＣＵ５０のトルク演算部３２は、後述する操舵トルク検出ルーチン（図３）を一定の短い周期で繰り返して実行する。そして、この操舵トルク検出ルーチンにおいては、その演算周期で第１回転角θ１と第２回転角θ２とがそれぞれ繰り返し計算される。一方、操舵ハンドル１１を回転操作する速度には限界があるため、第１回転角θ１，第２回転角θ２が一演算周期のあいだに変化する回転角の変化量、つまり、回転角変化量は所定変化量以内となる。以下、この所定変化量である、回転角変化量の想定される最大値を最大変化量と呼ぶ。また、第１回転角θ１と第２回転角θ２とを区別しない場合には、それらの回転角を回転角θと呼び、その回転角θを電気角に換算した角度を電気角θｅと呼ぶ。また、第１レゾルバ１１０と第２レゾルバ１２０とを区別しない場合には、それらを単にレゾルバと呼ぶ。
【００８４】
最大変化量を電気角で表した値をΔθｅmaxとすると、最大変化量Δθｅmaxは、次式（３６）にて表すことができる。
Δθｅmax＝Ｎ・（３６０／２π）・ωmax・Ｔｃ    ・・・（３６）
ここで、Ｎはレゾルバの軸倍角、ωmaxは操舵ハンドル１１の回転角速度（以下、操舵速度と呼ぶ）の想定される最大値、Ｔｃはトルク演算部３２が第１回転角θ１と第２回転角θ２とを計算する演算周期である。例えば、Ｎ＝８、Ｔｃ＝２００[μｓ]、ωmax＝１００[ｒａｄ／ｓ]とすると、最大変化量Δθｅmaxは、約９.２[ｄｅｇ]となる。
【００８５】
このように、一演算周期の間に電気角θｅが変化する回転角変化量Δθｅが最大変化量Δθｅmax未満になるという条件が第２条件である。この第２条件を用いると、異常側レゾルバの一演算周期前に計算した電気角θｅ（ｎ−１）が以下に示す範囲に入っている状況においては、次の演算周期における電気角θｅｎ（今回、計算しようとする電気角θｅｎ）を片側相の振幅から一義的に決めることができる。
【００８６】
ここで、ｓｉｎ相に異常が生じた場合の例について説明する。最大変化量Δθｅmaxを９.２[ｄｅｇ]とした場合、次式（３７）に示すように、異常側レゾルバの一演算周期前に計算した電気角θｅ(n-1）と、今回計算される電気角θｅｎとの差は９.２[ｄｅｇ]未満となる。
｜θｅｎ−θｅ（ｎ−１）｜＜９.２°    ・・・（３７）
【００８７】
ｃｏｓ相の振幅のみから電気角θｅｎが一義的に決まるのは、電気角θｅｎが０°〜１８０°までの範囲であること、あるいは、１８０°〜３６０°までの範囲であることが予めわかっている場合である。従って、第２条件（式（３７））から、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が、次式（３８），（３９）に示す範囲であれば、ｃｏｓ相の振幅のみから電気角θｅｎが一義的に決まる。
０°＋９.２°＜θｅ（ｎ−１）＜１８０°−９.２°    ・・・（３８）
１８０＋９.２°＜θｅ（ｎ−１）＜３６０―９.２°    ・・・（３９）
【００８８】
異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過できる状況にあると、ｃｏｓ相の振幅からは一義的に回転角を決めることができない。これは、ｃｏｓ相の振幅だけでは、異常側レゾルバの電気角が、０°あるいは１８０°を挟んでどちら側にあるのか分からないためである。一方、異常側レゾルバの電気角が一演算周期のあいだに０°あるいは１８０°を通過する可能性が無い状況であれば、ｃｏｓ相の振幅のみから電気角θｅｎが一義的に決まる。こうしたことから、上記の式（３８），（３９）が導かれる。
【００８９】
式（３８），（３９）を整理すると、次式（４０），（４１）が得られる。この式（４０），（４１）が成立する場合に、ｃｏｓ相の振幅のみから電気角θｅｎが一義的求められる。
９.２°＜θｅ（ｎ−１）＜１７０.８°    ・・・（４０）
１８９.２°＜θｅ（ｎ−１）＜３５０.８°    ・・・（４１）
従って、レゾルバのｓｉｎ相に異常が生じた場合に、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が式（４０），（４１）で表される範囲に入っているという状況が第２条件下算出可能状況となる。
【００９０】
同様にして、レゾルバのｃｏｓ相に異常が生じて、ｓｉｎ相の振幅のみしかわからない場合であっても、以下の状況となる場合には、ｓｉｎ相の振幅のみから異常側レゾルバの回転角を演算することができる。
【００９１】
ｓｉｎ相の振幅のみから電気角θｅｎが一義的に決まるのは、電気角θｅｎが−９０°〜９０°までの範囲であること、あるいは、９０°〜２７０°までの範囲であることが予めわかっている場合である。従って、第２条件（式（３７））から、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が、次式（４２），（４３）に示す範囲であれば、ｓｉｎ相の振幅のみから電気角θｅｎが一義的に決まる。
−９０°＋９.２°＜θｅ（ｎ−１）＜９０°−９.２°    ・・・（４２）
９０＋９.２°＜θｅ（ｎ−１）＜２７０―９.２°    ・・・（４３）
【００９２】
異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過できる状況にあると、ｓｉｎ相の振幅からは一義的に回転角を決めることができない。これは、ｓｉｎ相の振幅だけでは、異常側レゾルバの電気角が、９０°あるいは２７０°を挟んでどちら側にあるのか分からないためである。一方、異常側レゾルバの電気角が一演算周期のあいだに９０°あるいは２７０°を通過する可能性が無い状況であれば、ｓｉｎ相の振幅のみから電気角θｅｎが一義的に決まる。こうしたことから、上記の式（４２），（４３）が導かれる。
【００９３】
式（４２），（４３）を整理すると、次式（４４），（４５）が得られる。この式（４４），（４５）が成立する場合に、ｓｉｎ相の振幅のみから電気角θｅｎが一義的求められる。
−８０.８°＜θｅ（ｎ−１）＜８０.８°    ・・・（４４）
９９.２°＜θｅ（ｎ−１）＜２６０.８°    ・・・（４５）
尚、電気角を０°〜３６０°のあいだの値で示すと、次式（４６），（４７），（４８）にて表すことができる。
０°＜θｅ（ｎ−１）＜８０.８°    ・・・（４６）
９９.２°＜θｅ（ｎ−１）＜２６０.８°    ・・・（４７）
２７９.２°＜θｅ（ｎ−１）＜３６０°    ・・・（４８）
従って、レゾルバのｃｏｓ相に異常が生じた場合に、異常側レゾルバの一演算周期前に計算された電気角θｅ（ｎ−１）が式（４６）〜（４８）で表される範囲に入っているという状況も第２条件下算出可能状況となる。
【００９４】
以下、式（４０），（４１）で表される範囲、および、式（４６）〜（４８）で表される範囲を第２条件下算出可能範囲と呼ぶ。
【００９５】
図４（ａ）は、ｓｉｎ相に異常が発生したときの第２条件下算出可能範囲（θｅ（ｎ−１）の範囲）を表し、図４（ｂ）は、ｃｏｓ相に異常が発生したときの第２条件下算出可能範囲（θｅ（ｎ−１）の範囲）を表す。図中において、矢印で示した範囲が第２条件下算出可能範囲であり、塗りつぶした範囲が回転角の一義的に決まらない範囲である。この図から分かるように、第２条件から設定される第２条件下算出可能範囲は、非常に広い。
【００９６】
次に、トルク演算部３２の実行する操舵トルク検出処理について説明する。図５は、操舵トルク検出ルーチンを表すフローチャートである。操舵トルク検出ルーチンは、記憶部３３に制御プログラムとして記憶されている。操舵トルク検出ルーチンは、イグニッションキーがオン状態となっている期間において、所定の短い周期で繰り返し実行される。尚、トルク演算部３２は、操舵トルク検出ルーチンの起動とともに、コイル駆動回路５２を作動させて、第１励磁信号出力ポート５０pe1および第２励磁信号出力ポート５０pe2から第１励磁信号および第２励磁信号の出力を開始する。
【００９７】
トルク演算部３２は、ステップＳ１１において、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号の電圧値である第１ｓｉｎ相検出電圧Ｅs1，第１ｃｏｓ相検出電圧Ｅc1，第２ｓｉｎ相検出電圧Ｅs2，第２ｃｏｓ相検出電圧Ｅc2を読み込む。トルク演算部３２は、操舵トルク検出ルーチンとは別のサンプリングルーチンで、励磁信号の１周期当たりに例えば４回のサンプリング周期で検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2の瞬時値をサンプリングしている。このステップＳ１１では、そのサンプリングルーチンでサンプリングした検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2の読み込みを行う。続いて、ステップＳ１２において、読み込んだ検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2に基づいて、最小二乗法を用いて、第１ｓｉｎ相検出信号，第１ｃｏｓ相検出信号，第２ｓｉｎ相検出信号，第２ｃｏｓ相検出信号の振幅Ａs1，Ａc1，Ａs2，Ａc2を計算する。
【００９８】
続いて、トルク演算部３２は、ステップＳ１３において、検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2に基づいて、コイル異常のチェックを行う。コイル異常は、レゾルバ内のコイル異常だけでなく、第１ｓｉｎ相検出ライン２１２，第１ｃｏｓ相検出ライン２１３，第２ｓｉｎ相検出ライン２２２，第２ｃｏｓ相検出ライン２２３の断線等により生じる。主に、ワイヤハーネス部の断線、コネクタ外れが原因となる。こうしたコイル異常が発生した場合には、検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2が正常な範囲から外れる。例えば、検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2のオフセットが生じたり、交流電圧信号が検出されなくなったりする。ステップＳ１３は、こうした検出電圧Ｅs1，Ｅc1，Ｅs2，Ｅc2が正常範囲から外れているか否かに基づいて、コイル異常の有無、および、コイル異常が発生しているレゾルバ、および、その異常相を特定する。
【００９９】
続いて、トルク演算部３２は、ステップＳ１４において、コイル異常チェック結果に基づいて、コイル異常が発生しているか否かを判断し、コイル異常が発生していない場合には（Ｓ１４：Ｎｏ）、ステップＳ１５において、第１レゾルバ１１０の第１回転角θ１と第２レゾルバ１２０の第２回転角θ２を上記式（１０）、（１１）を用いて計算する。
【０１００】
続いて、トルク演算部３２は、ステップＳ１６において、上記式（１２）を用いて、操舵トルクＴｒを計算し、次に、ステップＳ１７において、計算した操舵トルクＴｒをアシスト演算部３１に出力する。アシスト演算部３１は、この操舵トルクＴｒを使って目標アシストトルクを計算し、この目標アシストトルクに対応した目標電流が電動モータ２１に流れるようにモータ駆動回路４０にＰＷＭ制御信号を出力する。これにより、電動モータ２１から適正な操舵アシストトルクが発生する。
【０１０１】
トルク演算部３２は、ステップＳ１７の処理を行うと、操舵トルク検出ルーチンを一旦終了する。そして、所定の短い周期にて操舵トルク検出ルーチンを繰り返す。こうした処理が繰り返されて、ステップＳ１３において、コイル異常が検出されると、ステップＳ１４の判断は「Ｙｅｓ」となる。この場合、トルク演算部３２は、その処理をステップＳ１８に進めて、車両の警告ランプ６５を点灯させる。これにより、ドライバーに対して異常が生じていることを認識させることができる。尚、ドライバーに異常報知する手段は、警告ランプ６５に限らず、異常メッセージをスピーカや表示画面等を使って報知するようにしてもよい。
【０１０２】
続いて、トルク演算部３２は、ステップＳ１９において、コイル異常が１つ（１相）であるか否かを判断する。コイル異常が複数である場合には、操舵トルクＴｒを検出することができないため、ステップＳ２０において、アシスト演算部３１に対して、トルク検出不能信号を出力する。これにより、アシスト演算部３１は、操舵アシスト制御を停止する。
【０１０３】
一方、コイル異常が１つである場合（Ｓ１９：Ｙｅｓ）には、ステップＳ２１において、コイル異常が発生しているのは第１レゾルバ１１０であるか否かを判断する。第１レゾルバ１１０である場合には、ステップＳ２２において、第２レゾルバ１２０の第２回転角θ２を上記式（１１）を用いて計算する。
【０１０４】
続いて、トルク演算部３２は、ステップＳ３０において、第１レゾルバ１１０の第１回転角θ１を演算する。この処理については、図６のフローチャートを使って後述する。ステップＳ３０において、第１レゾルバ１１０の第１回転角θ１が算出されると、この第１回転角θ１とステップＳ２２で算出した第２回転角θ２とに基づいて操舵トルクＴｒを計算し（Ｓ１６）、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１０５】
また、ステップＳ２１において、コイル異常が発生しているのは第１レゾルバ１１０ではない、つまり、第２レゾルバ１２０でコイル異常が発生していると判断した場合には、ステップＳ２３において、第１レゾルバ１１０の第１回転角θ１を上記式（１０）を用いて計算する。
【０１０６】
続いて、トルク演算部３２は、ステップＳ４０において、第２レゾルバ１１０の第２回転角θ２を演算する。この処理については、図７のフローチャートを使って後述する。ステップＳ４０において、第２レゾルバ１２０の第２回転角θ２が算出されると、この第２回転角θ２とステップＳ２３で算出した第１回転角θ１とに基づいて操舵トルクＴｒを計算し（Ｓ１６）、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１０７】
尚、トルク演算部３２は、ステップＳ１５，Ｓ３０，Ｓ４０で第１回転角θ１および第２回転角θ２を計算するたびに、その回転角θ１，θ２に対応した電気角θｅ１，θｅ２を、一演算周期前の電気角θｅ１（ｎ−１），θｅ２（ｎ−１）として記憶部３３に記憶更新する。この記憶部３３に記憶された電気角θｅ１（ｎ−１），θｅ２（ｎ−１）は、後述する第２条件下算出可能状況の判定に利用される。
【０１０８】
次に、ステップＳ３０の第１レゾルバ１１０の第１回転角θ１の計算処理について説明する。図６は、上記操舵トルク検出ルーチンにおいてステップＳ３０として組み込まれた第１回転角計算ルーチン（サブルーチン）を表すフローチャートである。
【０１０９】
第１回転角計算ルーチンが起動すると、トルク演算部３２は、まず、ステップＳ３１において、第１レゾルバ１１０のコイル異常はｓｉｎ相で発生しているのか否かを判断する。コイル異常がｓｉｎ相で発生している場合には、ステップＳ３２において、先のステップＳ２２で算出した第２レゾルバ１２０の第２回転角θ２に対応する電気角θｅ２が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図８（ａ）に矢印で示す範囲である。
【０１１０】
このステップＳ３２においては、電気角θｅ２が次式（４９），（５０）にて表される範囲に入っているか否かについて判断される。
θｅｓ１＜θｅ２＜θｅｓ２    ・・・（４９）
θｅｓ３＜θｅ２＜θｅｓ４    ・・・（５０）
この第１条件下算出可能範囲は、上述したように、第１回転角θ１と第２回転角θ２とが所定角度差未満になるという第１条件から設定されるもので、例えば、上述した例を使えば、θｅｓ１＝４８°，θｅｓ２＝１３２°，θｅｓ３＝２２８°，θｅｓ４＝３１２°である。この所定角度差は、電気角で示すと（θｅｓ１−０°）[ｄｅｇ]で表される角度である。
【０１１１】
トルク演算部３２は、電気角θｅ２が第１条件下算出可能範囲に入っていると判定した場合（Ｓ３２：Ｙｅｓ）には、ステップＳ３３において、上記式（１６）を用いて第１回転角θ１を計算する。この場合、第１回転角θ１は、２通りの解が存在するが、上記の第１条件を満たす解を選択する。つまり、第２回転角θ２との差が所定角度差未満（上記の例では６[ｄｅｇ]）となる第１回転角θ１を選択する。
【０１１２】
トルク演算部３２は、こうして第１レゾルバ１２０の第１回転角θ１を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１１３】
トルク演算部３２は、ステップＳ３２において、「Ｎｏ」と判定した場合、つまり、電気角θｅ２が第１条件下算出可能範囲に入っていないと判定した場合には、その処理をステップＳ３４に進める。このステップＳ３４においては、一演算周期前に算出した第１回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図９（ａ）に矢印で示す範囲である。
【０１１４】
このステップＳ３４においては、電気角θｅ１（ｎ−１）が次式（５１），（５２）にて表される範囲に入っているか否かについて判断される。
θｅｓａ＜θｅ１（ｎ−１）＜θｅｓｂ    ・・・（５１）
θｅｓｃ＜θｅ１（ｎ−１）＜θｅｓｄ    ・・・（５２）
この第２条件下算出可能範囲は、上述したように、一演算周期の間に電気角θｅが変化できる回転角変化量Δθｅが最大変化量Δθｅmax未満になるという第２条件から設定されるもので、例えば、上述した例を使えば、θｅｓａ＝９.２°，θｅｓｂ＝１７０.８°，θｅｓｃ＝１８９.２°，θｅｓｄ＝３５０.８°である。この最大変化量Δθｅmaxは、電気角で示すと（θｅｓａ−０°）[ｄｅｇ]で表される角度である。尚、一演算周期前において第１回転角θ１が算出できていなかった場合には、上記の判断をすることができないので、ステップＳ３４の判断は「Ｎｏ」となる。
【０１１５】
トルク演算部３２は、電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ３４：Ｙｅｓ）には、ステップＳ３３において、上記式（１６）を用いて第１回転角θ１を計算する。この場合、第１回転角θ１においても、２通りの解が存在するが、上記の第２条件を満たす解を選択する。つまり、一演算周期前に算出した第１回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）との差が最大変化量Δθｅmax未満となる第１回転角θ１を選択する。
【０１１６】
トルク演算部３２は、こうして第１レゾルバ１２０の第１回転角θ１を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１１７】
一方、ステップＳ３４において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、トルク演算部３２は、その処理をステップＳ３５に進める。このステップＳ３５においては、一演算周期前の操舵トルク検出ルーチンで計算した操舵トルクＴｒ(n-1)を、今回の操舵トルクＴｒに設定し、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１１８】
また、ステップＳ３１において、「Ｎｏ」、つまり、第１レゾルバ１１０のコイル異常がｃｏｓ相で発生していると判定した場合には、ステップＳ３６において、先のステップＳ２２で算出した第２レゾルバ１２０の第２回転角θ２に対応する電気角θｅ２が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図８（ｂ）に矢印で示す範囲である。
【０１１９】
このステップＳ３６においては、電気角θｅ２が次式（５３），（５４），（５５）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ２＜θｅｃ１    ・・・（５３）
θｅｃ２＜θｅ２＜θｅｃ３    ・・・（５４）
θｅｃ４＜θｅ２＜３６０°    ・・・（５５）
この第１条件下算出可能範囲は、上述したように、第１回転角θ１と第２回転角θ２とが所定角度差未満になるという第１条件から設定されるもので、例えば、上述した例を使えば、θｅｃ１＝４２°，θｅｃ２＝１３８°，θｅｓ４＝２２２°，θｅｃ４＝３１８°である。この所定角度差は、電気角で示すと、例えば、（９０°−θｅｃ１）[ｄｅｇ]で表される角度である。
【０１２０】
トルク演算部３２は、電気角θｅ２が第１条件下算出可能範囲に入っていると判定した場合（Ｓ３６：Ｙｅｓ）には、ステップＳ３７において、上記式（１７）を用いて第１回転角θ１を計算する。この場合、第１回転角θ１は、２通りの解が存在するが、上記の第１条件を満たす解を選択する。つまり、第２回転角θ２との差が所定角度差未満（上記の例では６[ｄｅｇ]）となる第１回転角θ１を選択する。
【０１２１】
トルク演算部３２は、こうして第１レゾルバ１１０の第１回転角θ１を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１２２】
トルク演算部３２は、ステップＳ３６において、「Ｎｏ」と判定した場合、つまり、電気角θｅ２が第１条件下算出可能範囲に入っていないと判定した場合には、その処理をステップＳ３８に進める。このステップＳ３８においては、一演算周期前に算出した第１回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図９（ｂ）に矢印で示す範囲である。
【０１２３】
このステップＳ３８においては、電気角θｅ１（ｎ−１）が次式（５６），（５７），（５８）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ１（ｎ−１）＜θｅｃａ    ・・・（５６）
θｅｃｂ＜θｅ１（ｎ−１）＜θｅｃｃ    ・・・（５７）
θｅｃｄ＜θｅ１（ｎ−１）＜３６０°    ・・・（５８）
この第２条件下算出可能範囲は、上述したように、一演算周期の間に電気角θｅが変化できる回転角変化量Δθｅが最大変化量Δθｅmax未満になるという第２条件から設定されるもので、例えば、上述した例を使えば、θｅｃａ＝８０.８°，θｅｃｂ＝９９。２°，θｅｃｃ＝２６０.８°，θｅｃｄ＝２７９.２°である。この最大変化量Δθｅmaxは、電気角で示すと、例えば、（９０°−θｅｃａ）[ｄｅｇ]で表される角度である。尚、一演算周期前において第１回転角θ１が算出できていなかった場合には、上記の判断をすることができないので、ステップＳ３８の判断は「Ｎｏ」となる。
【０１２４】
トルク演算部３２は、電気角θｅ１（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ３８：Ｙｅｓ）には、ステップＳ３７において、上記式（１７）を用いて第１回転角θ１を計算する。この場合、第１回転角θ１は、２通りの解が存在するが、上記の第２条件を満たす解を選択する。つまり、一演算周期前に算出した第１回転角θ１（ｎ−１）に対応する電気角θｅ１（ｎ−１）との差が最大変化量Δθｅmax未満となる第１回転角θ１を選択する。
【０１２５】
トルク演算部３２は、こうして第１レゾルバ１２０の第１回転角θ１を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１２６】
一方、ステップＳ３８において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、トルク演算部３２は、その処理を上述のステップＳ３５に進める。
【０１２７】
次に、ステップＳ４０の第２レゾルバ１２０の第２回転角θ２の計算処理について説明する。図７は、上記操舵トルク検出ルーチンにおいてステップＳ４０として組み込まれた第２回転角計算ルーチン（サブルーチン）を表すフローチャートである。尚、第２回転角計算ルーチンは、上述した第１回転角計算ルーチンと同様に考えればよい。
【０１２８】
第２回転角計算ルーチンが起動すると、トルク演算部３２は、まず、ステップＳ４１において、第２レゾルバ１１０のコイル異常はｓｉｎ相で発生しているのか否かを判断する。コイル異常がｓｉｎ相で発生している場合には、ステップＳ４２において、先のステップＳ２３で算出した第１レゾルバ１１０の第１回転角θ１に対応する電気角θｅ１が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図８（ａ）に矢印で示す範囲である。
【０１２９】
このステップＳ４２においては、電気角θｅ１が次式（５９），（６０）にて表される範囲に入っているか否かについて判断される。
θｅｓ１＜θｅ１＜θｅｓ２    ・・・（５９）
θｅｓ３＜θｅ１＜θｅｓ４    ・・・（６０）
【０１３０】
トルク演算部３２は、電気角θｅ１が第１条件下算出可能範囲に入っていると判定した場合（Ｓ４２：Ｙｅｓ）には、ステップＳ４３において、上記式（１８）を用いて第２回転角θ２を計算する。この場合、第１回転角θ１との差が所定角度差未満となる第２回転角θ２を選択する。
【０１３１】
トルク演算部３２は、電気角θｅ１が第１条件下算出可能範囲に入っていないと判定した場合には（Ｓ４２：Ｎｏ）、ステップＳ４４において、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図９（ａ）に矢印で示す範囲である。
【０１３２】
このステップＳ４４においては、電気角θｅ２（ｎ−１）が次式（６１），（６２）にて表される範囲に入っているか否かについて判断される。
θｅｓａ＜θｅ２（ｎ−１）＜θｅｓｂ    ・・・（６１）
θｅｓｃ＜θｅ２（ｎ−１）＜θｅｓｄ    ・・・（６２）
【０１３３】
トルク演算部３２は、電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ４４：Ｙｅｓ）には、ステップＳ４３において、上記式（１８）を用いて第２回転角θ２を計算する。この場合、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）との差が最大変化量Δθｅmax未満となる第２回転角θ２を選択する。
【０１３４】
トルク演算部３２は、こうして第２レゾルバ１２０の第２回転角θ２を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１３５】
一方、ステップＳ４４において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、ステップＳ４５において、一演算周期前の操舵トルク検出ルーチンで計算した操舵トルクＴｒ(n-1)を、今回の操舵トルクＴｒに設定し、その操舵トルクＴｒをアシスト演算部３１に出力する（Ｓ１７）。
【０１３６】
また、ステップＳ４１において、「Ｎｏ」、つまり、第２レゾルバ１２０のコイル異常がｃｏｓ相で発生していると判定した場合には、ステップＳ４６において、先のステップＳ２３で算出した第１レゾルバ１１０の第１回転角θ１に対応する電気角θｅ１が第１条件下算出可能範囲に入っているか否かを判断する。つまり、第１条件下算出可能状況にあるか否かを判断する。この第１条件下算出可能範囲は、図８（ｂ）に矢印で示す範囲である。
【０１３７】
このステップＳ４６においては、電気角θｅ１が次式（６３），（６４），（６５）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ１＜θｅｃ１    ・・・（６３）
θｅｃ２＜θｅ１＜θｅｃ３    ・・・（６４）
θｅｃ４＜θｅ１＜３６０°    ・・・（６５）
【０１３８】
トルク演算部３２は、電気角θｅ１が第１条件下算出可能範囲に入っていると判定した場合（Ｓ４６：Ｙｅｓ）には、ステップＳ４７において、上記式（１９）を用いて第２回転角θ２を計算する。この場合、第１回転角θ１との差が所定角度差未満となる第２回転角θ２を選択する。
【０１３９】
トルク演算部３２は、こうして第２レゾルバ１２０の第２回転角θ２を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１４０】
トルク演算部３２は、ステップＳ４６において、「Ｎｏ」と判定した場合、つまり、電気角θｅ１が第１条件下算出可能範囲に入っていないと判定した場合には、ステップＳ４８において、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っているか否かを判断する。つまり、第２条件下算出可能状況にあるか否かを判断する。この第２条件下算出可能範囲は、図９（ｂ）に矢印で示す範囲である。
【０１４１】
このステップＳ４８においては、電気角θｅ２（ｎ−１）が次式（６６），（６７），（６８）にて表される範囲に入っているか否かについて判断される。
０°＜θｅ２（ｎ−１）＜θｅｃａ    ・・・（６６）
θｅｃｂ＜θｅ２（ｎ−１）＜θｅｃｃ    ・・・（６７）
θｅｃｄ＜θｅ２（ｎ−１）＜３６０°    ・・・（６８）
【０１４２】
トルク演算部３２は、電気角θｅ２（ｎ−１）が第２条件下算出可能範囲に入っていると判定した場合（Ｓ４８：Ｙｅｓ）には、ステップＳ４７において、上記式（１９）を用いて第２回転角θ２を計算する。この場合、第２回転角θ２は、２通りの解が存在するが、一演算周期前に算出した第２回転角θ２（ｎ−１）に対応する電気角θｅ２（ｎ−１）との差が最大変化量Δθｅmax未満となる第２回転角θ２を選択する。
【０１４３】
トルク演算部３２は、こうして第２レゾルバ１２０の第２回転角θ２を算出すると、その処理をメインルーチンである操舵トルク検出ルーチンのステップＳ１６に進める。
【０１４４】
一方、ステップＳ４８において、「Ｎｏ」と判定した場合、つまり、第２条件下算出可能状況ではないと判定した場合には、トルク演算部３２は、その処理を上述のステップＳ４５に進める。
【０１４５】
以上説明した本実施形態のトルク検出装置においては、第１条件（捩れ角度上限）から導き出した第１条件下算出可能状況だけでなく、第２条件（回転角変化量上限）から導き出した第２条件下算出可能状況となる場合にも、正常側相の検出信号の振幅に基づいて回転角を算出する。従って、片側相にコイル異常が発生した場合でも、正常側相の検出信号の振幅から一義的に回転角を算出できる範囲が非常に広くなり、操舵トルクを検出できる期間が長くなる。従って、電動パワーステアリング装置で適正な操舵アシストを継続できる期間を長くすることができる。
【０１４６】
また、２つの算出可能状況とはならず、異常側レゾルバの回転角を一義的に決めることができない場合には、直前回（一演算周期前）の操舵トルク検出ルーチンで計算した操舵トルクＴｒ(n-1)を用いて操舵アシストを継続するため、途中で操舵アシストが中断してしまうことが無く操作性が良好となる。
【０１４７】
また、コイル異常が発生した場合には、警告ランプ６５が点灯するため、操舵アシストを継続させながらも、ドライバーに異常を認識させることができる。これにより、早期に修理が行われるため、２重故障により操舵アシストが停止されるという状況に陥る確率を極めて小さくすることができる。
【０１４８】
次に、変形例について説明する。上述した実施形態においては、操舵ハンドル１１の操舵速度ωの想定される最大値ωmaxに基づいて第２条件下算出可能範囲を設定したが、操舵速度ωの大きさ｜ω｜が小さければ、式（３６）における最大変化量Δθｅmaxが小さくなるため、図１０に示すように、第２条件下算出可能範囲をさらに拡大することができる。
【０１４９】
例えば、操舵速度ωの想定される最大値ωmaxが１０[ｒａｄ／ｓ]となる場合には、式（３６）を用いて最大変化量Δθｅmaxを計算すると、最大変化量Δθｅmaxは、約０.９２[ｄｅｇ]となる。従って、第２条件下算出可能範囲が非常に広くなる。尚、図１０は、ｓｉｎ相にコイル異常が発生したときの第２条件下算出可能範囲を表すもので、ｃｏｓ相のコイル異常が発生したときの第２条件下算出可能範囲は、この図を原点を中心に９０°回転させたものとなる。
【０１５０】
そこで、変形例においては、実際の操舵速度ωを検出し、検出した操舵速度ωの大きさに応じた最大変化量Δθｅmaxを設定する。以下、検出した操舵速度ωの大きさを実操舵速度｜ω｜と呼ぶ。
【０１５１】
この場合、実操舵速度｜ω｜は、電動モータ２１に設けた回転角センサ６１で検出された回転角の時間微分値から求めるようにすることができるが、他にも、ステアリングシャフト１２に操舵角センサ（図示略）を設けて、その操舵角センサで検出された操舵角の時間微分値から求めるようにしても良いし、レゾルバユニット１００における正常側レゾルバの検出する回転角の時間微分値から求めるようにしても良い。
【０１５２】
実操舵速度｜ω｜に応じて最大変化量Δθｅmaxを設定するにあたっては、図１１に示すように、実操舵速度｜ω｜を式（３６）のωmaxに代入して理論値となる最大変化量Δθｅmaxを設定するとよい。また、図１２に示すように、理論値に対して余裕幅を上乗せした値に設定するようにしてもよい。この場合には、検出誤差等による第２条件下算出可能状況の判断誤りが生じないようになる。また、図１３に示すように、実操舵速度｜ω｜が所定値以下となる範囲においては、最大変化量Δθｅmaxを一定値とした余裕幅を持たせて設定するようにしてもよい。この場合には、操舵速度検出分解能の関係で、操舵速度の測定精度が低くなる範囲での測定値を、第２条件下算出可能範囲の設定に反映させないようにすることができる。このため、第２条件下算出可能状況の判断誤りを更に減らすことができる。
【０１５３】
このように実操舵速度｜ω｜に応じて最大変化量Δθｅmaxを可変させる場合には、第１回転角計算ルーチンおよび第２回転角計算ルーチンにおいて、図１５、図１６に示す処理を追加するとよい。つまり、図１５に示すように、ステップＳ３２とステップＳ３４との間、および、ステップＳ４２とステップＳ４４との間に、ステップＳ５１，Ｓ５２，Ｓ５３の処理を追加し、図１６に示すように、ステップＳ３６とステップＳ３８との間、および、ステップＳ４６とステップＳ４８との間に、ステップＳ６１，Ｓ６２，Ｓ６３の処理を追加する。
【０１５４】
コイル異常がｓｉｎ相で発生している場合には、図１５に示すように、トルク演算部３２は、ステップＳ５１において、回転角センサ６１で検出されるモータ回転角の時間微分値から操舵速度ωを検出する。続いて、ステップＳ５２において、実操舵速度｜ω｜に基づいて、図１１（あるいは図１２，図１３でも良い）に示した実操舵速度｜ω｜と最大変化量Δθｅmaxとの関係から、最大変化量Δθｅmaxを設定する。実操舵速度｜ω｜と最大変化量Δθｅmaxとの関係を表す情報は、計算式あるいはマップを使って予め記憶部３３に記憶されている。トルク演算部３２は、記憶部３３に記憶されている情報を参照して、最大変化量Δθｅmaxを設定する。続いて、トルク演算部３２は、ステップＳ５３において、最大変化量Δθｅmaxに基づいて、第２条件下算出可能範囲の境界となるθｅｓａ，，θｅｓｂ，θｅｓｃ，θｅｓｄを設定する（図９（ａ）参照）。この場合、（θｅｓａ−０°）[ｄｅｇ]で表される角度が最大変化量Δθｅmaxとなるように設定すればよい。
【０１５５】
また、コイル異常がｃｏｓ相で発生している場合には、図１６に示すように、トルク演算部３２は、ステップＳ６１において、操舵速度ωを検出し、ステップＳ６２において、実操舵速度｜ω｜に基づいて、最大変化量Δθｅmaxを設定する。続いて、トルク演算部３２は、ステップＳ６３において、最大変化量Δθｅmaxに基づいて、第２条件下算出可能範囲の境界となるθｅｃａ，，θｅｃｂ，θｅｃｃ，θｅｃｄを設定する（図９（ｂ）参照）。この場合、（９０°−θｅｃａ）[ｄｅｇ]で表される角度が最大変化量Δθｅmaxとなるように設定すればよい。
【０１５６】
この変形例によれば、実操舵速度｜ω｜が小さくなるほど小さくなる最大変化量Δθｅmaxを設定するため、異常側レゾルバの回転角を一義的に決めることができる第２条件下算出可能範囲がさらに広くなる。
【０１５７】
以上、本実施形態について説明したが、本発明は上記実施形態に限定されることなく、本発明の範囲内において種々の変形例を採用することができる。例えば、本実施形態においては、第１条件と第２条件との両方を用いて回転角が一義的に決まる範囲を設定しているが、第２条件のみから回転角が一義的に決まる範囲を設定するようにしてもよい。
【符号の説明】
【０１５８】
１１…操舵ハンドル、１２…ステアリングシャフト、１２in…入力シャフト、１２out…出力シャフト、１２ａ…トーションバー、２０…パワーアシスト部、２１…電動モータ、３１…アシスト演算部、３２…トルク演算部、３３…記憶部、４０…モータ駆動回路、５０…アシストＥＣＵ、５１s1，５１c1，５１s2，５１c2…アンプ、５２…コイル駆動回路、６１…回転角センサ、１００…レゾルバユニット、１１０…第１レゾルバ、１１１…第１励磁コイル、１１２…第１ｓｉｎ相検出コイル、１１３…第１ｃｏｓ相検出コイル、１１４…第１ロータコイル、１２０…第２レゾルバ、１２１…第２励磁コイル、１２２…第２ｓｉｎ相検出コイル、１２３…第２ｃｏｓ相検出コイル、１２４…第２ロータコイル、２１２…第１ｓｉｎ相検出ライン、２１３…第１ｃｏｓ相検出ライン、２２２…第２ｓｉｎ相検出ライン、２２３…第２ｃｏｓ相検出ライン、Ａs1，Ａc1，Ａs2，Ａc2…振幅、Ｅs1，Ｅc1，Ｅs2，Ｅc2…検出電圧、Ｔｒ…操舵トルク、θ１…第１回転角、θ２…第２回転角、ω…操舵速度。
【図１】
2012088198.tif 000011
【図２】
2012088198.tif 000012
【図３】
2012088198.tif 000013
【図４】
2012088198.tif 000014
【図５】
2012088198.tif 000015
【図６】
2012088198.tif 000016
【図７】
2012088198.tif 000017
【図８】
2012088198.tif 000018
【図９】
2012088198.tif 000019
【図１０】
2012088198.tif 000020
【図１１】
2012088198.tif 000021
【図１２】
2012088198.tif 000022
【図１３】
2012088198.tif 000023
【図１４】
2012088198.tif 000024
【図１５】
2012088198.tif 000025
【図１６】
2012088198.tif 000026