(57)【要約】【課題】電源がオンされた直後から、高い精度で回転角を検出することができる回転角演算装置を提供する。【解決手段】入力軸８には、第１の電磁クラッチ１１０を介して、環状の第１の磁石（多極磁石）６１が一体回転可能に連結されている。第１の電磁クラッチ１１０は、トルク演算用ＥＣＵ７５の電源がオンされた直後にオンされ、トルク演算用ＥＣＵ７５の電源がオフされる直前にオフされる。基板１３０の第１の磁石６１に対向している面には、入力軸８の回転角を検出するための第１の磁気センサ７１および第２の磁気センサ７２が取り付けられている。第１の回転角演算部７６Ａは、２つの磁気センサ７１，７２の出力信号Ｖ１，Ｖ２に基づいて入力軸８の回転角を演算する。【選択図】図５
2014142322.tif 000002
【特許請求の範囲】
【請求項１】
回転体の回転角を検出する回転角検出装置であって、
前記回転体にクラッチを介して一体回転可能に連結され、複数の磁極を有する多極磁石と、
電源がオンされた直後に、前記回転体と前記多極磁石とが結合するように前記クラッチを制御する第１制御手段と、
電源がオフされる直前に、前記回転体と前記多極磁石とが分離するように前記クラッチを制御する第２制御手段と、
前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号を出力する複数の磁気センサと、
前記各磁気センサの出力信号に基づいて、前記回転体の回転角を演算する回転角演算手段とを含む、回転角検出装置。
【請求項２】
前記回転角演算手段は、
前記各磁気センサが検出している磁極を特定する磁極特定手段と、
前記各磁気センサの出力信号に基づいて、前記多極磁石の磁極別に各磁気センサの出力信号を補正するための補正値を検出して、不揮発性メモリに記憶する手段と、
前記不揮発性メモリに記憶されている各磁気センサの補正値のうち、各磁気センサが検出している磁極に対応する補正値を用いて、各磁気センサの出力信号を補正する補正手段と、
前記補正手段による補正後の前記各磁気センサの出力信号に基づいて、前記回転体の回転角を演算する手段と、
電源がオフされる直前に、各磁気センサが検出している磁極を前記不揮発性メモリに記憶する手段を含む、請求項１に記載の回転角検出装置。
【請求項３】
前記各磁気センサの出力信号を補正するための補正値が、前記各磁気センサの出力信号のピーク値であり、
前記補正手段は、各磁気センサの出力信号の振幅を補正するように構成されている、請求項２に記載の回転角検出装置。
【請求項４】
前記回転角演算手段は、
前記各磁気センサが検出している磁極を特定する磁極特定手段と、
前記複数の磁気センサに含まれている所定の２つの磁気センサが共に同じ１つの磁極を所定複数サンプリング周期連続して検出しているという第１条件を満たしているときには、それらの２つの磁気センサの前記所定複数サンプリング分の出力信号に基づいて、前記回転体の回転角を演算する第１演算手段と、
前記第１条件を満たしているときに、常にまたは前記２つの磁気センサの前記所定複数サンプリング分の出力信号が一定の要件を満たしているときには、それらの２つの磁気センサが検出している磁極の磁極幅に関する情報および／またはそれらの２つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて不揮発性メモリに記憶する情報記憶手段と、
前記第１条件を満たしていないときには、前記２つの磁気センサの１サンプリング分の出力信号と、前記不揮発性メモリに記憶されている前記情報とを用いて、前記回転体の回転角を演算する第２演算手段と、
電源がオフされる直前に、各磁気センサが検出している磁極を前記不揮発性メモリに記憶する手段を含む、請求項１に記載の回転角検出装置。
【請求項５】
前記クラッチが電磁クラッチである請求項１〜４のいずれか一項に記載の回転角検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回転体の回転角を検出する回転角検出装置に関する。
【背景技術】
【０００２】
回転体の回転角を検出する回転角検出装置として、ブラシレスモータのロータの回転角またはステアリングシャフトの回転角（操舵角）を検出する回転角検出装置が知られている。この種の回転角検出装置は、たとえば、回転体の回転に応じて回転する多極磁石と、多極磁石の磁束を検出する複数の磁気センサと、各磁気センサの出力信号に基づいて、回転体の回転角を演算する回転角演算部とを備えている。しかしながら、このような回転角検出装置では、各磁気センサの出力特性は一定ではなく、また周辺温度の影響を受けやすいことから、各磁気センサの出力信号に基づいて演算される回転角に誤差が発生してしまう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−２２０５２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこで、本出願人は、各磁気センサの出力信号の磁極毎のピーク値を検出し、検出されたピーク検出値を振幅補正値として、その磁気センサの振幅を補正した後に、ロータの回転角を演算する回転角検出装置を既に開発している。本出願人が既に開発している前記回転角検出装置では、各磁気センサが検出している磁極の相対的な番号を特定する手段と、磁極の相対的な番号毎に各磁気センサの出力信号のピーク値を記憶手段に記憶する手段と、記憶手段に記憶されているピーク値に基づいて各磁気センサの出力信号の振幅を補正する手段と、補正後の各磁気センサの出力信号を用いて回転体の回転角を演算する手段とを備えている。
【０００５】
このような回転角検出装置では、各磁気センサにおける全ての磁極に対するピーク値が記憶手段に記憶された状態で電源がオフされたとしても、電源がオフされている間にステアリングホイールが回転された場合には、各磁気センサと多極磁石との相対的な位置関係が変化してしまう。このため、記憶手段に記憶されているピーク値を次回の電源オン時に利用することができなくなる。したがって、その後に電源がオンされたときには、少なくとも各磁気センサが検出している磁極に対応するピーク値が検出されるまでは、各磁気センサの出力信号の振幅を補正することができない。つまり、電源がオンされた直後から高い精度で回転体の回転角を検出することができない。
【０００６】
この発明の目的は、電源がオンされた直後から、高い精度で回転角を検出することができる回転角演算装置を提供することである。
【課題を解決するための手段】
【０００７】
請求項１記載の発明は、回転体（８）の回転角を検出する回転角検出装置であって、前記回転体にクラッチ（１１０）を介して一体回転可能に連結され、複数の磁極（Ｍ１〜Ｍ１０；Ｍ１〜Ｍ８）を有する多極磁石（６１）と、電源がオンされた直後に、前記回転体と前記多極磁石とが結合するように前記クラッチを制御する第１制御手段（７６Ａ，Ｓ５；７６Ａ，Ｓ５１）と、電源がオフされる直前に、前記回転体と前記多極磁石とが分離するように前記クラッチを制御する第２制御手段（７６Ａ，Ｓ２５；７６Ａ，Ｓ５７）と、前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号を出力する複数の磁気センサ（７１，７２）と、前記各磁気センサの出力信号に基づいて、前記回転体の回転角を演算する回転角演算手段（７６Ａ，Ｓ１０，Ｓ２２；７６Ａ，Ｓ９５，Ｓ９９，Ｓ１００）とを含む、回転角検出装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【０００８】
この発明によれば、回転角検出装置の電源がオフされた後において、回転体が回転されたとしても、多極磁石は回転体に伴って回転しないので、各磁気センサと多極磁石との相対的な位置関係は変化しない。したがって、回転角演算手段がたとえば磁極毎の補正値を用いて各磁気センサの出力信号を補正した後に、回転体の回転角を演算するような場合において、磁極毎の補正値が保持されている状態で電源がオンされたときには、電源がオンされた直後から前記磁極毎の補正値を利用することができるようになる。これにより、電源がオンされた直後から、高い精度で回転角を検出することが可能となる。
【０００９】
請求項２記載の発明は、前記回転角演算手段は、前記各磁気センサが検出している磁極を特定する磁極特定手段（７６Ａ，Ｓ１１，Ｓ１６）と、前記各磁気センサの出力信号に基づいて、前記多極磁石の磁極別に各磁気センサの出力信号を補正するための補正値を検出して、不揮発性メモリ（７９）に記憶する手段（７６Ａ，Ｓ１４，Ｓ１５）と、前記不揮発性メモリに記憶されている各磁気センサの補正値のうち、各磁気センサが検出している磁極に対応する補正値を用いて、各磁気センサの出力信号を補正する補正手段（７６Ａ，Ｓ２１）と、前記補正手段による補正後の前記各磁気センサの出力信号に基づいて、前記回転体の回転角を演算する手段（７６Ａ，Ｓ２２）と、電源がオフされる直前に、各磁気センサが検出している磁極を特定するための情報を前記不揮発性メモリに記憶する手段（７６Ａ，Ｓ２４）を含む、請求項１に記載の回転角検出装置である。
【００１０】
この構成では、各磁気センサにおける全ての磁極に対する補正値が不揮発性メモリに記憶されているとともに各磁気センサが検出している磁極を特定するための情報が不揮発性メモリに記憶されている場合には、回転角検出装置の電源がオンされた直後から、各磁気センサの出力信号を補正することができる。このため、回転角検出装置の電源がオンされた直後から、高い精度で回転角を演算できるようになる。
【００１１】
請求項３記載の発明は、前記各磁気センサの出力信号を補正するための補正値が、前記各磁気センサの出力信号のピーク値であり、前記補正手段は、各磁気センサの出力信号の振幅を補正するように構成されている、請求項２に記載の回転角検出装置である。
請求項４記載の発明は、前記回転角演算手段は、前記各磁気センサが検出している磁極を特定する磁極特定手段（７６Ａ，Ｓ９２，Ｓ９３）と、前記複数の磁気センサに含まれている所定の２つの磁気センサ（７１，７２）が共に同じ１つの磁極を所定複数サンプリング周期連続して検出しているという第１条件を満たしているときには、それらの２つの磁気センサの前記所定複数サンプリング分の出力信号に基づいて、前記回転体の回転角を演算する第１演算手段（７６Ａ，Ｓ９５）と、前記第１条件を満たしているときに、常にまたは前記２つの磁気センサの前記所定複数サンプリング分の出力信号が一定の要件を満たしているときには、それらの２つの磁気センサが検出している磁極の磁極幅に関する情報および／またはそれらの２つの磁気センサの出力信号の振幅に関する情報を演算して当該磁極に関連付けて不揮発性メモリ（７９）に記憶する情報記憶手段（７６Ａ，Ｓ９７）と、前記第１条件を満たしていないときには、前記２つの磁気センサの１サンプリング分の出力信号と、前記不揮発性メモリに記憶されている前記情報とを用いて、前記回転体の回転角を演算する第２演算手段（７６Ａ，Ｓ９９，Ｓ１００）と、電源がオフされる直前に、各磁気センサが検出している磁極を前記不揮発性メモリに記憶する手段（７６Ａ，Ｓ５６）を含む、請求項１に記載の回転角検出装置。
【００１２】
この構成では、各磁気センサが検出している磁極を特定するための情報が不揮発性メモリに記憶されている場合には、回転角検出装置の電源がオンされた直後から、高い精度で回転角を演算できるようになる。
請求項５記載の発明は、前記クラッチが電磁クラッチである請求項１〜４のいずれか一項に記載の回転角検出装置である。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明の第１実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
【図２】図２は、モータ制御用ＥＣＵの電気的構成を示す概略図である。
【図３】図３は、電動モータの構成を図解的に示す模式図である。
【図４】図４は、検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例を示すグラフである。
【図５】図５は、トルクセンサの構成を図解的に示す模式図である。
【図６】図６は、図５の一部拡大模式図である。
【図７】図７は、第１の磁石の構成および第１磁気センサおよび第２磁気センサの配置を示す模式図である。
【図８】図８は、第１磁気センサおよび第２磁気センサの出力信号波形および第１磁気センサが検出している磁極を示す模式図である。
【図９Ａ】図９Ａは、第１の回転角演算部による回転角演算処理の手順の一部を示すフローチャートである。
【図９Ｂ】図９Ｂは、第１の回転角演算部による回転角演算処理の手順の一部を示すフローチャートである。
【図１０】図１０は、不揮発性メモリの内容例を示す模式図である。
【図１１】図１１は、図９ＡのステップＳ８の相対的極番号の設定処理の手順を示すフローチャートである。
【図１２】相対的極番号の設定処理を説明するための模式図である。
【図１３】図１３は、本発明の第２実施形態に係る回転角検出装置を説明するための模式図であって、第１の回転角検出装置における第１の磁石の構成および２つの磁気センサの配置を示す模式図である。
【図１４】図１４は、第１磁気センサおよび第２磁気センサの出力信号波形および第１磁気センサが検出している磁極を示す模式図である。
【図１５】図１５Ａおよび図１５Ｂは、それぞれ第２演算モードおよび第３演算モードが適用される場合の例を説明するための模式図である。
【図１６】図１６は、第２演算モードを説明するための説明図である。
【図１７】図１７は、第１の回転角演算部の動作を示すフローチャートである。
【図１８】図１８は、不揮発性メモリの内容例を示す模式図である。
【図１９Ａ】図１９Ａは、図１７のステップＳ５３の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
【図１９Ｂ】図１９Ｂは、図１７のステップＳ５３の強制回転に基づく回転角演算処理の手順の一部を示すフローチャートである。
【図２０】図２０は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
【図２１】図２１は、相対的極番号の設定処理を説明するための模式図である。
【図２２Ａ】図２２Ａは、図１７のステップＳ５４の通常時の回転角演算処理の手順の一部を示すフローチャートである。
【図２２Ｂ】図２２Ｂは、図１７のステップＳ５４の通常時の回転角演算処理の手順の一部を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下では、この発明の実施形態を、添付図面を参照して詳細に説明する。
図１は、本発明の第１実施形態に係る回転角検出装置が適用された電動パワーステアリング装置の概略構成を示す模式図である。
電動パワーステアリング装置１は、車両を操向するための操舵部材としてのステアリングホイール２と、このステアリングホイール２の回転に連動して転舵輪３を転舵する転舵機構４と、運転者の操舵を補助するための操舵補助機構５とを備えている。ステアリングホイール２と転舵機構４とは、ステアリングシャフト６および中間軸７を介して機械的に連結されている。
【００１５】
ステアリングシャフト６は、ステアリングホイール２に連結された入力軸８と、中間軸７に連結された出力軸９とを含む。入力軸８と出力軸９とは、トーションバー１０を介して同一軸線上で相対回転可能に連結されている。すなわち、ステアリングホイール２が回転されると、入力軸８および出力軸９は、互いに相対回転しつつ同一方向に回転するようになっている。
【００１６】
ステアリングシャフト６の周囲には、本発明の第１実施形態に係る回転角検出装置が適用されたトルクセンサ（トルク検出装置）１１が設けられている。トルクセンサ１１は、入力軸８および出力軸９の相対回転変位量に基づいて、ステアリングホイール２に与えられた操舵トルクを検出する。トルクセンサ１１によって検出される操舵トルクは、モータ制御用ＥＣＵ（電子制御ユニット：Electronic  Control  Unit）１２に入力される。
【００１７】
転舵機構４は、ピニオン軸１３と、転舵軸としてのラック軸１４とを含むラックアンドピニオン機構からなる。ラック軸１４の各端部には、タイロッド１５およびナックルアーム（図示略）を介して転舵輪３が連結されている。ピニオン軸１３は、中間軸７に連結されている。ピニオン軸１３は、ステアリングホイール２の操舵に連動して回転するようになっている。ピニオン軸１３の先端には、ピニオン１６が連結されている。
【００１８】
ラック軸１４は、自動車の左右方向（直進方向に直交する方向）に沿って直線状に延びている。ラック軸１４の軸方向の中間部には、ピニオン１６に噛み合うラック１７が形成されている。このピニオン１６およびラック１７によって、ピニオン軸１３の回転がラック軸１４の軸方向移動に変換される。ラック軸１４を軸方向に移動させることによって、転舵輪３を転舵することができる。
【００１９】
ステアリングホイール２が操舵（回転）されると、この回転が、ステアリングシャフト６および中間軸７を介して、ピニオン軸１３に伝達される。そして、ピニオン軸１３の回転は、ピニオン１６およびラック１７によって、ラック軸１４の軸方向移動に変換される。これにより、転舵輪３が転舵される。
操舵補助機構５は、操舵補助力を発生するための電動モータ１８と、電動モータ１８の出力トルクを転舵機構４に伝達するための減速機構１９とを含む。電動モータ１８は、この実施形態では、三相ブラシレスモータからなる。減速機構１９は、ウォーム軸２０と、このウォーム軸２０と噛み合うウォームホイール２１とを含むウォームギヤ機構からなる。減速機構１９は、伝達機構ハウジングとしてのギヤハウジング２２内に収容されている。
【００２０】
ウォーム軸２０は、電動モータ１８によって回転駆動される。また、ウォームホイール２１は、ステアリングシャフト６とは同方向に回転可能に連結されている。ウォームホイール２１は、ウォーム軸２０によって回転駆動される。
電動モータ１８によってウォーム軸２０が回転駆動されると、ウォームホイール２１が回転駆動され、ステアリングシャフト６が回転する。そして、ステアリングシャフト６の回転は、中間軸７を介してピニオン軸１３に伝達される。ピニオン軸１３の回転は、ラック軸１４の軸方向移動に変換される。これにより、転舵輪３が転舵される。すなわち、電動モータ１８によってウォーム軸２０を回転駆動することによって、転舵輪３が転舵されるようになっている。
【００２１】
電動モータ１８のロータの回転角（ロータ回転角）は、レゾルバ等の回転角センサ２５によって検出される。回転角センサ２５の出力信号は、モータ制御用ＥＣＵ１２に入力される。電動モータ１８は、モータ制御装置としてのモータ制御用ＥＣＵ１２によって制御される。
図２は、モータ制御用ＥＣＵ１２の電気的構成を示す概略図である。
【００２２】
モータ制御用ＥＣＵ１２は、トルクセンサ１１によって検出される操舵トルクＴｈに応じて電動モータ１８を駆動することによって、操舵状況に応じた適切な操舵補助を実現する。モータ制御用ＥＣＵ１２は、マイクロコンピュータ４０と、マイクロコンピュータ４０によって制御され、電動モータ１８に電力を供給する駆動回路（インバータ回路）３１と、電動モータ１８に流れるモータ電流を検出する電流検出部３２とを備えている。
【００２３】
電動モータ１８は、例えば三相ブラシレスモータであり、図３に図解的に示すように、界磁としてのロータ１００と、Ｕ相、Ｖ相およびＷ相のステータ巻線１０１，１０２，１０３を含むステータ１０５とを備えている。電動モータ１８は、ロータの外部にステータを対向配置したインナーロータ型のものであってもよいし、筒状のロータの内部にステータを対向配置したアウターロータ型のものであってもよい。
【００２４】
各相のステータ巻線１０１，１０２，１０３の方向にＵ軸、Ｖ軸およびＷ軸をとった三相固定座標（ＵＶＷ座標系）が定義される。また、ロータ１００の磁極方向にｄ軸（磁極軸）をとり、ロータ１００の回転平面内においてｄ軸と直角な方向にｑ軸（トルク軸）をとった二相回転座標系（ｄｑ座標系。実回転座標系）が定義される。ｄｑ座標系は、ロータ１００とともに回転する回転座標系である。ｄｑ座標系では、ｑ軸電流のみがロータ１００のトルク発生に寄与するので、ｄ軸電流を零とし、ｑ軸電流を所望のトルクに応じて制御すればよい。ロータ１００の回転角（電気角）θ-Ｓは、Ｕ軸に対するｄ軸の回転角である。ｄｑ座標系は、ロータ角θ-Ｓに従う実回転座標系である。このロータ角θ-Ｓを用いることによって、ＵＶＷ座標系とｄｑ座標系との間での座標変換を行うことができる。
【００２５】
マイクロコンピュータ４０は、ＣＰＵおよびメモリ（ＲＯＭ、ＲＡＭ、不揮発性メモリなど）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能するようになっている。この複数の機能処理部には、電流指令値設定部４１と、電流偏差演算部４２と、ＰＩ（比例積分）制御部４３と、ｄｑ／ＵＶＷ変換部４４と、ＰＷＭ（Pulse Width Modulation）制御部４５と、ＵＶＷ／ｄｑ変換部４６と、回転角演算部４７とを含む。
【００２６】
回転角演算部４７は、回転角センサ２５の出力信号に基づいて、電動モータ１８のロータの回転角（電気角。以下、「ロータ角θＳ」という。）を演算する。
電流指令値設定部４１は、ｄｑ座標系の座標軸に流すべき電流値を電流指令値として設定する。具体的には、電流指令値設定部４１は、ｄ軸電流指令値Ｉｄ＊およびｑ軸電流指令値Ｉｑ＊（以下、これらを総称するときには「二相電流指令値Ｉｄｑ＊」という。）を設定する。さらに具体的には、電流指令値設定部４１は、ｑ軸電流指令値Ｉｑ＊を有意値とする一方で、ｄ軸電流指令値Ｉｄ＊を零とする。より具体的には、電流指令値設定部４１は、トルクセンサ１１によって検出される操舵トルク（検出操舵トルク）Ｔｈに基づいて、ｑ軸電流指令値Ｉｑ＊を設定する。
【００２７】
検出操舵トルクＴｈに対するｑ軸電流指令値Ｉｑ＊の設定例は、図４に示されている。検出操舵トルクＴｈは、たとえば、右方向への操舵のためのトルクが正の値にとられ、左方向への操舵のためのトルクが負の値にとられている。また、ｑ軸電流指令値Ｉｑ＊は、電動モータ１８から右方向操舵のための操作補助力を発生させるべきときには正の値とされ、電動モータ１８から左方向操舵のための操作補助力を発生させるべきときには負の値とされる。ｑ軸電流指令値Ｉｑ＊は、検出操舵トルクＴｈの正の値に対しては正をとり、検出操舵トルクＴｈの負の値に対しては負をとる。検出操舵トルクＴｈが零のときには、ｑ軸電流指令値Ｉｑ＊は零とされる。そして、検出操舵トルクＴｈの絶対値が大きくなるほど、ｑ軸電流指令値Ｉｑ＊の絶対値が大きくなるように、ｑ軸電流指令値Ｉｑ＊が設定されている。
【００２８】
電流指令値設定部４１によって設定された二相電流指令値Ｉｄｑ＊は、電流偏差演算部４２に与えられる。
電流検出部３２は、電動モータ１８のＵ相電流ＩＵ、Ｖ相電流ＩＶおよびＷ相電流ＩＷ（以下、これらを総称するときは、「三相検出電流ＩＵＶＷ」という。）を検出する。電流検出部３２によって検出された三相検出電流ＩＵＶＷは、ＵＶＷ／ｄｑ変換部４６に与えられる。
【００２９】
ＵＶＷ／ｄｑ変換部４６は、電流検出部３２によって検出されるＵＶＷ座標系の三相検出電流ＩＵＶＷ（Ｕ相電流ＩＵ、Ｖ相電流ＩＶおよびＷ相電流ＩＷ）を、ｄｑ座標系の二相検出電流ＩｄおよびＩｑ（以下総称するときには「二相検出電流Ｉｄｑ」という。）に座標変換する。この座標変換には、回転角演算部４７によって演算されたロータ角θＳが用いられる。
【００３０】
電流偏差演算部４２は、電流指令値設定部４１によって設定される二相電流指令値Ｉｄｑ＊と、ＵＶＷ／ｄｑ変換部４６から与えられる二相検出電流Ｉｄｑとの偏差を演算する。より具体的には、電流偏差演算部４２は、ｄ軸電流指令値Ｉｄ＊に対するｄ軸検出電流Ｉｄの偏差およびｑ軸電流指令値Ｉｑ＊に対するｑ軸検出電流Ｉｑの偏差を演算する。これらの偏差は、ＰＩ制御部４３に与えられる。
【００３１】
ＰＩ制御部４３は、電流偏差演算部４２によって演算された電流偏差に対するＰＩ演算を行なうことにより、電動モータ１８に印加すべき二相電圧指令値Ｖｄｑ＊（ｄ軸電圧指令値Ｖｄ＊およびｑ軸電圧指令値Ｖｑ＊）を生成する。この二相電圧指令値Ｖｄｑ＊は、ｄｑ／ＵＶＷ変換部４４に与えられる。
ｄｑ／ＵＶＷ変換部４４は、二相電圧指令値Ｖｄｑ＊を三相電圧指令値ＶＵＶＷ＊に座標変換する。この座標変換には、回転角演算部４７によって演算されたロータ角θＳが用いられる。三相電圧指令値ＶＵＶＷ＊は、Ｕ相電圧指令値ＶＵ＊、Ｖ相電圧指令値ＶＶ＊およびＷ相電圧指令値ＶＷ＊からなる。この三相電圧指令値ＶＵＶＷ＊は、ＰＷＭ制御部４５に与えられる。
【００３２】
ＰＷＭ制御部４５は、Ｕ相電圧指令値ＶＵ＊、Ｖ相電圧指令値ＶＶ＊およびＷ相電圧指令値ＶＷ＊にそれぞれ対応するデューティのＵ相ＰＷＭ制御信号、Ｖ相ＰＷＭ制御信号およびＷ相ＰＷＭ制御信号を生成し、駆動回路３１に供給する。
駆動回路３１は、Ｕ相、Ｖ相およびＷ相に対応した三相インバータ回路からなる。このインバータ回路を構成するパワー素子がＰＷＭ制御部４５から与えられるＰＷＭ制御信号によって制御されることにより、三相電圧指令値ＶＵＶＷ＊に相当する電圧が電動モータ１８の各相のステータ巻線１０１，１０２、１０３に印加されることになる。
【００３３】
電流偏差演算部４２およびＰＩ制御部４３は、電流フィードバック制御手段を構成している。この電流フィードバック制御手段の働きによって、電動モータ１８に流れるモータ電流が、電流指令値設定部４１によって設定された二相電流指令値Ｉｄｑ＊に近づくように制御される。
図５は、トルクセンサ１１の構成を図解的に示す模式図である。図６は、図５の一部拡大模式図である。以下の説明において、「上」とは図５の上側を、「下」とは図５の下側をそれぞれいうものとする。
【００３４】
入力軸８には、第１の電磁クラッチ１１０を介して、環状の第１の磁石（多極磁石）６１が一体回転可能に連結されている。出力軸９には、第２の電磁クラッチ１２０を介して、環状の第２の磁石（多極磁石）６２が一体回転可能に連結されている。入力軸８および出力軸９は、車体（図示略）に取り付けられたハウジング（図示略）に回転自在に支持されている。両磁石６１，６２の間には、トーションバー１０を取り囲むように基板１３０が配置されている。基板１３０は、前記ハウジングに取り付けられている。
【００３５】
基板１３０の一方の表面（以下、「第１面」という）は第１の磁石６１に対向し、基板１３０の他方の表面（以下、「第２面」という）は第２の磁石６２に対向している。基板１３０の第１面には、入力軸８の回転角を検出するための第１の磁気センサ７１および第２の磁気センサ７２が取り付けられている。基板１３０の第２面には、出力軸９の回転角を検出するための第３の磁気センサ７３および第４の磁気センサ７４が取り付けられている。平面視において、第１の磁気センサ７１および第２の磁気センサ７２と、第３の磁気センサ７３および第４の磁気センサ７４とは、トーションバー１０を挟んで、ほぼ反対側の位置に配置されている。
【００３６】
基板１３０と、第２の磁石６２との間には、第２の磁石６２から第１の磁気センサ７１および第２の磁気センサ７２に向かう磁束を遮断するための第１の磁気遮断部材１３１が配置されている。基板１３０と、第１の磁石６１との間には、第１の磁石６１から第３の磁気センサ７３および第４の磁気センサ７４に向かう磁束を遮断するための第２の磁気遮断部材１３２が配置されている。これらの磁気遮断部材１３１，１３２は、基板１３０に取り付けられている。
【００３７】
第１の電磁クラッチ１１０は、入力軸８の外周面に嵌め合わされた状態で固定された上下一対の軸受１１１，１１２と、下側の軸受１１１を介して入力軸８に回転自在に取り付けられた環状のコイル保持体１１３と、コイル保持体１１３に内蔵された電磁コイル１１４と、上側の軸受１１１を介して入力軸８に回転自在に取り付けられた環状の第１結合用部材１１５と、第１結合用部材１１５に取り付けられた磁石フォルダ１１６とを含んでいる。磁石フォルダ１１６に、第１の磁石６１が取り付けられている。
【００３８】
第１結合用部材１１５の上面には、環状溝１１５ａ（図６参照）が形成されている。入力軸８の外周面には、上側の軸受１１２の上方位置に、環状の取付部１１７が形成されており、この取付部１１７に、環状の第２結合用部材１１８が取り付けられている。第２結合用部材１１８は、その外周縁部に下方突出部１１８ａ（図６参照）を有している。第２結合用部材１１８の下方突出部１１８ａが第１結合用部材１１５の環状溝１１５ａ内に、第１結合用部材１１５に接触しない状態で配置されている。コイル保持体１１３内の電磁コイル１１４に電流が供給されていないとき（非通電状態であるとき）には、第１結合用部材１１５と第２結合用部材１１８とが磁気的に結合されない状態（第１の電磁クラッチ１１０がオフの状態）となる。第１の電磁クラッチ１１０がオフの状態では、入力軸８と第１の磁石６１とは分離した状態となるので、入力軸８が回転しても第１の磁石６１はそれにと伴って回転しない。
【００３９】
コイル保持体１１３内の電磁コイル１１４に電流が供給されると（通電状態にされると）、第１結合用部材１１５と第２結合用部材１１８とが磁気的に結合された状態（第１の電磁クラッチ１１０がオンの状態）となる。第１の電磁クラッチ１１０がオンの状態では、入力軸８と第１の磁石６１とが結合された状態となるので、入力軸８が回転すると第１の磁石６１はそれに伴って回転する。
【００４０】
第２の電磁クラッチ１２０の構造も、第１の電磁クラッチ１１０とほぼ同様である。第２の電磁クラッチ１２０は、出力軸９の外周面に嵌め合わされた状態で固定された上下一対の軸受１２１，１２２と、上側の軸受１２１を介して出力軸９に回転自在に取り付けられた環状のコイル保持体１２３と、コイル保持体１２３に内蔵された電磁コイル１２４と、下側の軸受１２２を介して出力軸９に回転自在に取り付けられた環状の第１結合用部材１２５と、第１結合用部材１２５に取り付けられた磁石フォルダ１２６とを含んでいる。磁石フォルダ１２６に、第２の磁石６２が取り付けられている。
【００４１】
第１結合用部材１２５の下面には、環状溝が形成されている。出力軸９の外周面には、下側の軸受１２２の下方位置に、環状の取付部１２７が形成されており、この取付部１２７に、環状の第２結合用部材１２８が取り付けられている。第２結合用部材１２８は、その外周縁部に上方突出部を有している。第２結合用部材１２８の上方突出部が第１結合用部材１２５の環状溝内に、第１結合用部材１２５に接触しない状態で配置されている。コイル保持体１２３内の電磁コイル１２４に電流が供給されていないとき（非通電状態であるとき）には、第１結合用部材１２５と第２結合用部材１２８とが磁気的に結合されない状態（第２の電磁クラッチ１２０がオフの状態）となる。第２の電磁クラッチ１２０がオフの状態では、出力軸９と第２の磁石６２とは分離した状態となるので、出力軸９が回転しても第２の磁石６２はそれに伴って回転しない。
【００４２】
コイル保持体１２３内の電磁コイル１２４に電流が供給されると（通電状態にされると）、第１結合用部材１２５と第２結合用部材１２８とが磁気的に結合された状態（第２の電磁クラッチ１２０がオンの状態）となる。第２の電磁クラッチ１２０がオンの状態では、出力軸９と第２の磁石６２とが結合された状態となるので、出力軸９が回転すると第２の磁石６２はそれに伴って回転する。
【００４３】
各磁気センサ７１，７２，７３，７４の出力信号Ｖ１，Ｖ２，Ｖ３，Ｖ４は、入力軸８に加えられる操舵トルクを演算するためのトルク演算用ＥＣＵ７５に入力されている。トルク演算用ＥＣＵ７５の電源は、イグニッションキーがオン操作されることによってオンとなる。イグニッションキーがオフ操作されたときには、そのことを示すイグニッションオフ指令が、トルク演算用ＥＣＵ７５に入力される。なお、磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。この実施形態では、磁気センサとしては、ホール素子が用いられている。
【００４４】
前記磁石６１，６２、前記磁気センサ７１，７２，７３，７４およびトルク演算用ＥＣＵ７５によって、トルクセンサ１１が構成されている。
トルク演算用ＥＣＵ７５は、マイクロコンピュータ７６と、第１の電磁クラッチ１１０内の電磁コイル１１４の駆動回路７７と、第２の電磁クラッチ１２０内の電磁コイル１２４の駆動回路７８とを含んでいる。マイクロコンピュータ７６は、ＣＰＵおよびメモリ（ＲＯＭ，ＲＡＭ，書換え可能な不揮発性メモリ７９等）を備えており、所定のプログラムを実行することによって、複数の機能処理部として機能する。この複数の機能処理部には、第１の回転角演算部７６Ａと、第２の回転角演算部７６Ｂと、トルク演算部７６Ｃとを含んでいる。
【００４５】
第１の回転角演算部７６Ａは、２つの磁気センサ７１，７２の出力信号Ｖ１，Ｖ２に基づいて入力軸８の回転角（電気角θＡ）を演算する。第２の回転角演算部７６Ｂは、２つの磁気センサ７３，７４の出力信号Ｖ３，Ｖ４に基づいて出力軸９の回転角（電気角θＢ）を演算する。
トルク演算部７６Ｃは、第１の回転角演算部７６Ａによって検出された入力軸８の回転角θＡと第２の回転角演算部７６Ｂによって検出された出力軸９の回転角θＢとに基づいて、入力軸８に加えられた操舵トルクＴｈを演算する。具体的には、操舵トルクＴｈは、トーションバー１０のバネ定数をＫとし、各磁石６１，６２に設けられた磁極対数をＮとすると、次式(1)に基づいて演算される。
【００４６】
Ｔｈ＝｛（θＡ−θＢ）／Ｎ｝×Ｋ      …(1)
第１の電磁クラッチ１１０、第１の磁石６１、磁気センサ７１，７２および第１の回転角演算部７６Ａによって、入力軸８の回転角θＡを検出するための第１の回転角検出装置が構成されている。また、第２の電磁クラッチ１２０、第２の磁石６２、磁気センサ７３，７４および第２の回転角演算部７６Ｂによって、出力軸９の回転角θＢを検出するための第２の回転角検出装置が構成されている。第１の回転角検出装置（第１の回転角演算部７６Ａ）の動作と第２の回転角検出装置（第２の回転角演算部７６Ｂ）動作は同様であるので、以下、第１の回転角検出装置（第１の回転角演算部７６Ａ）の動作についてのみ説明する。
【００４７】
図７は、第１の磁石の構成および２つの磁気センサの配置を示す模式図である。
第１の磁石６１は、周方向に等角度間隔で配された５組の磁極対（Ｍ１，Ｍ２），（Ｍ３，Ｍ４），（Ｍ５，Ｍ６），（Ｍ７，Ｍ８），（Ｍ９，Ｍ１０）を有している。つまり、第１の磁石６１は、等角度間隔で配置された１０個の磁極Ｍ１〜Ｍ１０を有している。各磁極Ｍ１〜Ｍ１０は、入力軸８の中心軸を中心として、３６°（電気角では１８０°）の角度間隔で配置されている。
【００４８】
２つの磁気センサ７１，７２は、第１の磁石６１の下側の環状端面に対向して、配置されている。これらの磁気センサ７１，７２は、入力軸８の中心軸を中心として所定角度１８°（電気角では９０°）の角度間隔で配置されている。以下において、一方の磁気センサ７１を第１磁気センサ７１といい、他方の磁気センサ７２を第２磁気センサ７２という場合がある。
【００４９】
図７に矢印で示す方向を入力軸８の正方向の回転方向とする。そして、入力軸８が正方向に回転されると入力軸８の回転角が大きくなり、入力軸８が逆方向に回転されると、入力軸２の回転角が小さくなるものとする。以下においては、説明の便宜上、入力軸８の回転角（電気角）をθＡではなく、θで表すことにする。
図８は、第１の磁石６１の磁極Ｍ１０と磁極Ｍ１との境界が第１磁気センサ７１に対向している場合の入力軸８の回転角を０°にとった場合の入力軸８の回転角度［deg］（機械角）に対する、各磁気センサ７１，７２の出力信号Ｖ１，Ｖ２を示している。各磁気センサ７１，７２の出力信号Ｖ１，Ｖ２は、実際には、センサ素子の出力が増幅回路によって増幅された信号である。また、図８には、入力軸８の回転角度に対応して、第１磁気センサ７１が検出している磁極Ｍ１〜Ｍ１０が示されている。
【００５０】
入力軸８の回転角度［deg］（電気角）をθとすると、第１磁気センサ７１からは、５つの磁極対に対応する区間毎に、Ｖ１＝Ａ１・sinθの出力信号が出力される。この場合、第２磁気センサ７２からは、５つの磁極対に対応する区間毎に、Ｖ２＝Ａ２・sin（θ＋９０°）＝Ａ２・cosθの出力信号が出力される。Ａ１，Ａ２は、それぞれ振幅を表している。したがって、各磁気センサ７１，７２からは、互いに所定の位相差９０°（電気角）を有する正弦波信号が出力される。以下において、第１磁気センサ７１の出力信号Ｖ１を、第１出力信号Ｖ１または第１センサ値Ｖ１という場合がある。同様に、第２磁気センサ７１の出力信号Ｖ２を、第２出力信号Ｖ２または第２センサ値Ｖ２という場合がある。
【００５１】
なお、各出力信号Ｖ１，Ｖ２の振幅Ａ１，Ａ２は、次のような要因等によって変動する。
・各磁極Ｍ１〜Ｍ１０の着磁のばらつきおよび温度特性
・各磁気センサ７１，７２の特性のばらつきおよび温度特性
・各磁気センサ７１，７２に対応する増幅回路の増幅率のばらつきおよび温度特性
・各磁気センサ７１，７２と第１の磁石６１との間の軸方向間隔（ギャップ）
・入力軸８の中心軸線と各磁気センサ７１，７２との距離
第１の回転角演算部７６Ａは、各磁気センサ７１，７２の出力信号Ｖ１，Ｖ２のピーク値を検出する。また、第１の回転角演算部７６Ａは、検出された各出力信号Ｖ１，Ｖ２のピーク検出値を振幅補正値として、対応する出力信号の振幅を補正する。そして、第１の回転角演算部７６Ａは、振幅補正後の各出力信号Ｖ１’，Ｖ２’に基づいて、入力軸８の回転角θ（電気角θ）を演算する。
【００５２】
第１実施形態では、第１の回転角演算部７６Ａは、検出された各出力信号Ｖ１，Ｖ２のピーク検出値が振幅補正値として使用される前に、当該ピーク検出値が正常であるか否かを判定する機能を備えている。具体的には、同じ磁極に対する第１出力信号Ｖ１のピーク検出値と第２出力信号Ｖ２のピーク検出値の比をピーク値比とし、正常であるか否かを判定すべきピーク検出値を判定対象のピーク検出値とすると、第１の回転角演算部７６Ａは、入力軸８の直近の１周分における各磁極に対応するピーク値比に基づいて、判定対象のピーク検出値が正常であるか否かを判定する。そして、当該ピーク検出値が正常でないと判定された場合には、回転角演算処理を停止するとともに、モータ制御用ＥＣＵ１２による電動モータ１８の駆動制御を停止させる。
【００５３】
図９Ａおよび図９Ｂは、第１の回転角演算部７６Ａによる回転角演算処理の手順を示すフローチャートである。
不揮発性メモリ７９の内容は、たとえば、電動パワーステアリング装置１の製造者等によって所定のタイミングで強制的に消去される。不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされたときに、第１磁気センサ７１が検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第１磁気センサ７１が検出している磁極の相対的極番号（以下、「第１相対的極番号」という）を変数ｒ１で表し、第２磁気センサ７２が検出している磁極の相対的極番号（以下、「第２相対的極番号」という）を変数ｒ２で表すことにする。なお、各相対的極番号ｒ１，ｒ２は、１〜１０の整数をとり、１より１少ない相対的極番号は１０となり、１０より１大きい相対的極番号は１となるものとする。
【００５４】
この実施形態では、不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされたときに、第１磁気センサ７１が検出している磁極（基準磁極）がＮ極の磁極である場合には、当該磁極に”１”の相対的極番号が割り当てられる。一方、第１磁気センサ７１が検出している磁極（基準磁極）がＳ極の磁極である場合には、当該磁極に”２”の相対的極番号が割り当てられる。
【００５５】
トルク演算用ＥＣＵ７５内の不揮発性メモリ７９には、図１０に示すように、第１ピーク値記憶領域Ｒ１、第２ピーク値記憶領域Ｒ２、第１相対的極番号記憶領域Ｒ３、第２相対的極番号記憶領域Ｒ４等が設けられている。第１ピーク値記憶領域Ｒ１には、第１相対的極番号ｒ１の１〜１０毎に、その相対的極番号に対応する磁極に対して最新に検出された第１出力信号Ｖ１のピーク検出値ａ１〜ａ１０が記憶される。第２ピーク値記憶領域Ｒ２には、各第２相対的極番号ｒ２の１〜１０毎に、その相対的極番号に対応する磁極に対して最新に検出された第２出力信号Ｖ２のピーク検出値ｂ１〜ｂ１０が記憶される。
【００５６】
第１相対的極番号記憶領域Ｒ３には、イグニッションオフ指令が入力されたときに、その時点における第１相対的極番号ｒ１が記憶される。第２相対的極番号記憶領域Ｒ４には、イグニッションオフ指令が入力されたときに、その時点における第２相対的極番号ｒ２が記憶される。これは、次回のトルク演算用ＥＣＵ７５の電源オンの直後に、各磁気センサ７１，７２が検出している磁極の相対的番号を認識できるようにするためである。
【００５７】
後述するように、トルク演算用ＥＣＵ７５の電源がオンされたときには、第１の電磁クラッチ１１０がオンされる。そして、トルク演算用ＥＣＵ７５にイグニッションオフ指令が入力されたときには、第１の電磁クラッチ１１０がオフされる。第１の電磁クラッチ１１０がオフされると、たとえステアリングホイール２（入力軸８）が回転されたとしても、第１の磁石６１はそれに伴って回転しないので、第１の磁石６１と各磁気センサ７１，７２との相対的位置関係は変化しない。したがって、第１の電磁クラッチ１１０がオフされてから、第１の電磁クラッチ１１０が次にオンされるまでは、第１相対的極番号ｒ１およびの第２相対的極番号ｒ２は変化しない。そこで、イグニッションオフ指令が入力された時点の第１相対的極番号ｒ１およびの第２相対的極番号ｒ２を、電源オフ後も保持するようにしている。
【００５８】
なお、トルク演算用ＥＣＵ７５内の作業用メモリ（たとえばＲＡＭ）には、複数回分の第１センサ値Ｖ１を記憶するための記憶領域、複数回分の第２センサ値Ｖ２を記憶するための記憶領域、現在の第１相対的極番号ｒ１を記憶するための記憶領域、現在の第２相対的極番号ｒ２を記憶するための記憶領域、後述する第１センサ値Ｖ１のピーク値候補を記憶するための記憶領域、後述する第２センサ値Ｖ１のピーク値候補を記憶するための記憶領域等が設けられる。
【００５９】
図９Ａに戻り、トルク演算用ＥＣＵ７５の電源がオンすると、第１の回転角演算部７６Ａは、不揮発性メモリ７９に第１相対的極番号ｒ１およびの第２相対的極番号ｒ２が記憶されているか否かを判別する（ステップＳ１）。不揮発性メモリ７９に両相対的極番号ｒ１，ｒ２が記憶されている場合には（ステップＳ１：ＹＥＳ）、第１の回転角演算部７６Ａは、両相対的極番号ｒ１，ｒ２を作業用メモリに読み込むとともに、第１フラグＦ１をセット（Ｆ１＝１）する（ステップＳ２）。そして、ステップＳ３に移行する。第１フラグＦ１は、前回のイグニッションオフ指令入力時における相対的極番号ｒ１，ｒ２が不揮発性メモリ７９に保持されていることを記憶するためのフラグであり、電源がオンされたときにはリセット状態（Ｆ１＝０）にされる。
【００６０】
前記ステップＳ１において、不揮発性メモリ７９に両相対的極番号ｒ１，ｒ２が記憶されていないと判別された場合には（ステップＳ１：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ２の処理を行うことなく、ステップＳ３に移行する。
ステップＳ３では、第１の回転角演算部７６Ａは、各出力信号Ｖ１，Ｖ２における全ての磁極に対するピーク値が不揮発性メモリ７９に記憶されているか否かを判別する。各出力信号Ｖ１，Ｖ２における全ての磁極に対するピーク値が不揮発性メモリ７９に記憶されている場合には（ステップＳ３：ＹＥＳ）、第１の回転角演算部７６Ａは、第２フラグＦ２をセット（Ｆ２＝１）した後（ステップＳ４）、ステップＳ５に移行する。第２フラグＦ２は、各出力信号Ｖ１，Ｖ２における全ての磁極に対するピーク値が既に検出されていることを記憶するためのフラグであり、電源オンされたときにはリセット（Ｆ２＝０）された状態にされる。
【００６１】
前記ステップＳ３において、各出力信号Ｖ１，Ｖ２における全ての磁極に対するピーク値が不揮発性メモリ７９に記憶されていないと判別された場合には（ステップＳ３：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ４の処理を行うことなく、ステップＳ５に移行する。
ステップＳ５では、第１の回転角演算部７６Ａは、第１の電磁クラッチ１１０をオンする。つまり、第１の電磁クラッチ１１０は、トルク演算用ＥＣＵ７５の電源がオンされた直後にオンされる。具体的には、第１の回転角演算部７６Ａは、駆動回路７７を介して電磁コイル１１４に電流を供給することにより、電磁コイル１１４を通電状態にする。これにより、入力軸８と第１の磁石６１とが磁気的に結合された状態となる。
【００６２】
次に、第１の回転角演算部７６Ａは、各磁気センサ７１，７２の出力信号（センサ値）Ｖ１，Ｖ２を読み込む（ステップＳ６）。なお、第１の回転角演算部７６Ａの作業用メモリ（たとえばＲＡＭ）には、出力信号Ｖ１，Ｖ２毎に、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【００６３】
また、第１実施形態では、第１センサ値Ｖ１のピーク値（極大値および極小値）を検出するために、読み込まれた第１センサ値Ｖ１のうち絶対値がより大きいセンサ値が、第１センサ値Ｖ１のピーク値候補として作業用メモリに保存される。同様に、第２センサ値Ｖ２のピーク値（極大値および極小値）を検出するために、読み込まれた第２センサ値Ｖ２のうち絶対値がより大きいセンサ値が、第２センサ値Ｖ２のピーク値候補として作業用メモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングで零にリセットされる。
【００６４】
たとえばある磁極に対する第１磁気センサ７１のピーク値は、第１磁気センサ７１がその磁極を相対的に通過するときに第１磁気センサ７１から得られたセンサ値のうち絶対値が最も大きいセンサ値として検出される。したがって、第１磁気センサ７１が磁極Ｍ１を検出している状態から磁極Ｍ２を検出した状態となり、その後に、磁極Ｍ３を検出する状態になったときには、磁極Ｍ３を検出する状態になったときの第１センサ値Ｖ１のピーク値候補が、磁極Ｍ２に対する第１磁気センサ７１のピーク値となる。
【００６５】
前記ステップＳ６で各センサ値Ｖ１，Ｖ２が読み込まれると、第１の回転角演算部７６Ａは、第１フラグＦ１または第３フラグＦ３の少なくとも一方がセットされているか否か判別する（ステップＳ７）。第３フラグＦ３は、後述するステップＳ８の相対的極番号の設定処理が実行されたときにセット（Ｆ３＝１）されるフラグであり、電源オン時にはリセット状態にされる。
【００６６】
第１フラグＦ１および第３フラグＦ３の両方がリセット（Ｆ１＝Ｆ３＝０）されている場合には（ステップＳ７：ＮＯ）、すなわち、前回のイグニッションオフ指令入力時における相対的極番号ｒ１，ｒ２が不揮発性メモリ７９に保持されておらず、かつ後述するステップＳ８の相対的極番号の設定処理が実行されていないときには、第１の回転角演算部７６Ａは、相対的極番号の設定処理を行う（ステップＳ８）。
【００６７】
図１１は、相対的極番号の設定処理の詳細な手順を示している。
第１の回転角演算部７６Ａは、まず、第１出力信号Ｖ１が０より大きいか否かを判別する（ステップＳ３１）。第１出力信号Ｖ１が０より大きい場合には（ステップＳ３１：ＹＥＳ）、第１の回転角演算部７６Ａは、第１磁気センサ７１が検出している磁極（基準磁極）がＮ極の磁極であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ３４）。つまり、作業用メモリに第１相対的極番号ｒ１の値（この場合は“１”）を記憶する。そして、ステップＳ３６に進む。
【００６８】
一方、第１出力信号Ｖ１が０以下である場合には（ステップＳ３１：ＮＯ）、第１の回転角演算部７６Ａは、第１出力信号Ｖ１が０より小さいか否かを判別する（ステップＳ３２）。第１出力信号Ｖ１が０より小さい場合には（ステップＳ３２：ＹＥＳ）、第１磁気センサ７１が検出している磁極（基準磁極）がＳ極の磁極であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ３５）。つまり、作業用メモリに第１相対的極番号ｒ１の値（この場合は“２”）を記憶する。そして、ステップＳ３６に進む。
【００６９】
前記ステップＳ３２において、第１出力信号Ｖ１が０以上であると判別された場合には（ステップＳ３２：ＮＯ）、つまり、第１出力信号Ｖ１が０である場合には、第１の回転角演算部７６Ａは、入力軸８の回転角θ（電気角）が０°であるか１８０°であるかを判別するために、第２出力信号Ｖ２が０より大きいか否かを判別する（ステップＳ３３）。第２出力信号Ｖ２が０より大きい場合には（ステップＳ３３：ＹＥＳ）、第１の回転角演算部７６Ａは、入力軸８の回転角θが０°であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ３４）。そして、ステップＳ３６に進む。
【００７０】
一方、第２出力信号Ｖ２が０以下である場合には（ステップＳ３３：ＮＯ）、第１の回転角演算部７６Ａは、入力軸８の回転角θが１８０°であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ３５）。そして、ステップＳ３６に進む。
ステップＳ３６では、第１の回転角演算部７６Ａは、「Ｖ１＞０かつＶ２≦０」または「Ｖ１＜０かつＶ２≧０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ３６：ＹＥＳ）、第１の回転角演算部７６Ａは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい番号であると判別し、第２相対的極番号ｒ２に、第１相対的極番号ｒ１より１だけ大きい番号（ｒ２＝ｒ１＋１）を設定する（ステップＳ３７）。つまり、作業用メモリに第１相対的極番号ｒ２の値を記憶する。そして、図９ＡのステップＳ９に移行する。
【００７１】
一方、前記ステップＳ３６の条件を満たしていない場合には（ステップＳ３６：ＮＯ）、第１の回転角演算部７６Ａは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じであると判別し、第２相対的極番号ｒ２に第１相対的極番号ｒ１と同じ番号（ｒ２＝ｒ１）を設定する（ステップ３８）。つまり、作業用メモリに第１相対的極番号ｒ２の値を記憶する。そして、図９ＡのステップＳ９に移行する。
【００７２】
前記ステップＳ３６の条件に基づいて、第２相対的極番号ｒ２を決定している理由について説明する。たとえば、第１の磁石６１における磁極Ｍ１と磁極Ｍ２とからなる磁極対が第１の磁気センサ７１を通過する際の、第１および第２出力信号Ｖ１，Ｖ２の信号波形を模式的に表すと、図１２の（ａ）（ｂ）に示すようになる。
図１２において、Ｓ１とＳ３で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１の磁気センサ７１が検出している磁極の極番号と同じである。一方、領域Ｓ２およびＳ４で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい。
【００７３】
領域Ｓ１においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≧０かつＶ２＞０の第１条件を満たす。領域Ｓ２においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＞０かつＶ２≦０の第２条件を満たす。領域Ｓ３においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≦０かつＶ２＜０の第３条件を満たす。領域Ｓ４においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＜０かつＶ２≧０の第４条件を満たす。そこで、第１の回転角演算部７６Ａは、前記第２条件または前記第４条件を満たしている場合には、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きいと判別している。一方、前記第２条件または前記第４条件のいずれの条件をも満たしていない場合には、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じであると判別している。
【００７４】
図９Ａに戻り、ステップＳ９では、第１の回転角演算部７６Ａは、第３フラグＦ３をセット（Ｆ３＝１）する。そして、第１の回転角演算部７６Ａは、図９ＢのステップＳ１０に移行する。ステップＳ１０では、第１の回転角演算部７６Ａは、ステップＳ６で読み込まれた第１および第２センサ値Ｖ１，Ｖ２を補正することなく、これらのセンサ値Ｖ１，Ｖ２に基づいて、入力軸８の回転角θを演算する。ステップＳ１０の処理の詳細については、後述する。
【００７５】
前記ステップＳ７において、第１フラグＦ１および第３フラグＦ３の少なくとも一方がセットされていると判別された場合には（ステップＳ７：ＹＥＳ）、第１の回転角演算部７６Ａは、ステップＳ１１に移行する。
ステップＳ１１では、第１の回転角演算部７６Ａは、作業用メモリに記憶されているセンサ値Ｖ１，Ｖ２に基づいて、センサ値Ｖ１，Ｖ２毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ある磁気センサの出力信号のゼロクロスは、第１の磁石６１における任意の隣接する２つの磁極の境界が、当該磁気センサが配置されている位置を通過したときに検出される。
【００７６】
前記ステップＳ１１において、いずれかのセンサ値Ｖ１，Ｖ２に対してゼロクロスが検出された場合には（ステップＳ１１：ＹＥＳ）、第１の回転角演算部７６Ａは、ステップＳ１３に移行する。ステップＳ１３では、第１の回転角演算部７６Ａは、ゼロクロスが検出された出力信号のピーク値（極大値または極小値）を検出するためのピーク値検出処理を行なう。
【００７７】
ピーク値検出処理について具体的に説明する。前記ステップＳ１１でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。第１の回転角演算部７６Ａは、まず、ピーク値検出対象の磁気センサの出力信号に関し、今回検出されたゼロクロスに対応する磁極境界位置と前回検出されたゼロクロスに対応する磁極境界位置とが同じであるか異なっているかを判別する。入力軸８の回転方向が逆転した場合には、前記両磁極境界位置が同じになる可能性がある。
【００７８】
この判定は、たとえば、ピーク値検出対象の磁気センサの出力信号のゼロクロスが前回検出されたときの入力軸８（磁石６１）の回転方向と、当該出力信号のゼロクロスが今回検出されたときの入力軸８の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、第１の回転角演算部７６Ａは、両時点での入力軸８の回転方向が同じ方向であれば、前記両磁極境界位置が異なっていると判定する。一方、両時点での入力軸８の回転方向が異なっていれば、第１の回転角演算部７６Ａは、前記両磁極境界位置が同じであると判定する。
【００７９】
前記両磁極境界位置が異なっていると判定された場合には、第１の回転角演算部７６Ａは、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク検出値として特定する。一方、前記両磁極境界位置が同じであると判定された場合には、第１の回転角演算部７６Ａは、ピーク値を検出しなかったと判定する。
なお、ゼロクロスが検出されたときの入力軸８の回転方向は、ゼロクロスが検出された出力信号の前回値および今回値と、他の１つの出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第１出力信号Ｖ１である場合には、「第１出力信号Ｖ１の前回値が０より大きくかつその今回値が０以下であり、第２出力信号Ｖ２が０より小さい」という条件、または「第１出力信号Ｖ１の前回値が０未満でかつその今回値が０以上であり、第２出力信号Ｖ２が０より大きい」という条件を満たしている場合には、回転方向は正方向（図７に矢印で示す方向）であると判定される。
【００８０】
一方、「第１出力信号Ｖ１の前回値が０以上でかつその今回値が０未満であり、第２出力信号Ｖ２が０より大きい」という条件、または「第１出力信号Ｖ１の前回値が０以下でかつその今回値が０より大きく、第２出力信号Ｖ２が０より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第２出力信号Ｖ２である場合には、「第２出力信号Ｖ２の前回値が０より大きくかつその今回値が０以下であり、第１出力信号Ｖ１が０より大きい」という条件、または「第２出力信号Ｖ２の前回値が０未満でかつその今回値が０以上であり、第１出力信号Ｖ１が０より小さい」という条件を満たしている場合には、回転方向は正方向（図７に矢印で示す方向）であると判定される。一方、「第２出力信号Ｖ２の前回値が０以上でかつその今回値が０未満であり、第１出力信号Ｖ１が０より小さい」という条件、または「第２出力信号Ｖ２の前回値が０以下でかつその今回値が０より大きく、第１出力信号Ｖ１が０より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【００８１】
前記ステップＳ１３のピーク値検出処理において、ピーク値が検出されたときには（ステップＳ１４：ＹＥＳ）、第１の回転角演算部７６Ａは、前記ステップＳ１１でゼロクロスが検出された出力信号に対応するピーク値候補を零にリセットした後、ピーク値更新処理を行なう（ステップＳ１５）。
ピーク値更新処理では、第１の回転角演算部７６Ａは、不揮発性メモリ７９内のピーク値記憶領域Ｒ１，Ｒ２（図１０参照）内のピーク検出値のうち、前記ステップＳ１３でピーク値が検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２（作業メモリ内のｒ１またはｒ２）に対応するピーク検出値を、前記ステップＳ１３で検出されたピーク検出値に更新する。ピーク値更新処理を終了すると、第１の回転角演算部７６Ａは、ステップＳ１６に移行する。
【００８２】
前記ステップＳ１３のピーク値検出処理において、ピーク値が検出されなかった場合には（ステップＳ１４：ＮＯ）、第１の回転角演算部７６Ａは、前記ステップＳ１１でゼロクロスが検出された出力信号に対応するピーク値候補を零にリセットした後、ピーク値更新処理を行なうことなく、ステップＳ１６に移行する。
ステップＳ１６では、第１の回転角演算部７６Ａは、相対的極番号の更新処理を行なう。具体的には、前記ステップＳ１１でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、入力軸８の回転方向に応じて、１だけ大きい番号または１だけ小さい番号に変更する。
【００８３】
入力軸８の回転方向が正方向（図７に矢印で示す方向）である場合には、第１の回転角演算部７６Ａは、前記ステップＳ１１でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２（作業メモリ内のｒ１またはｒ２）を、１だけ大きい番号に更新する。一方、入力軸８の回転方向が逆方向である場合には、第１の回転角演算部７６Ａは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２（作業メモリ内のｒ１またはｒ２）を、１だけ小さい番号に更新する。ただし、前述したように、”１”の相対的極番号に対して、１だけ小さい相対的極番号は、”１０”となる。また、”１０”の相対的極番号に対して、１だけ大きい相対的極番号は、”１”となる。
【００８４】
前記ステップＳ１６の相対的極番号の更新処理が終了すると、第１の回転角演算部７６Ａは、全ての磁極Ｍ１〜Ｍ１０に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が不揮発性メモリ７９に記憶されているか否かを判別する（ステップＳ１７）。つまり、第１の回転角演算部７６Ａは、第１の相対的極番号ｒ１の１〜１０にそれぞれ対応する第１の出力信号Ｖ１のピーク値と、第２の相対的極番号ｒ２の１〜１０にそれぞれに対応する第２の出力信号Ｖ２のピーク値とが現在までに１回以上ずつ検出されているか否かを判別する。
【００８５】
全ての磁極Ｍ１〜Ｍ１０に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が不揮発性メモリ７９に記憶されていない場合には（ステップＳ１７：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ１０に移行する。一方、全ての磁極Ｍ１〜Ｍ１０に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が不揮発性メモリ７９に記憶されている場合には（ステップＳ１７：ＹＥＳ）、第１の回転角演算部７６Ａは、第２フラグＦ２をセット（Ｆ２＝１）した後に（ステップＳ１８）、ステップＳ１９に移行する。
【００８６】
ステップＳ１９では、第１の回転角演算部７６Ａは、振幅補正値監視処理を行なう。振幅補正値監視処理について説明する。後述するステップＳ２１の振幅補正処理では、第１の磁気センサ７１が現在検出している磁極に対応する第１出力信号Ｖ１のピーク検出値を振幅補正値として、第１出力信号Ｖ１の振幅が補正されるとともに、第２磁気センサ７２が現在検出している磁極に対応する第２出力信号Ｖ２のピーク検出値を振幅補正値として、第２出力信号Ｖ２の振幅が補正される。
【００８７】
そこで、振幅補正値監視処理においては、第１の回転角演算部７６Ａは、第１磁気センサ７１が現在検出している磁極に対応する第１出力信号Ｖ１のピーク検出値（以下、「第１判定対象のピーク検出値」という）および第２磁気センサ７２が現在検出している磁極に対応する第２出力信号Ｖ２のピーク検出値（以下、「第２判定対象のピーク検出値」という）が正常であるか異常であるかを判定する。なお、第１判定対象のピーク検出値と第２判定対象のピーク検出値とを総称する場合には、「判定対象のピーク検出値」という場合がある。
【００８８】
まず、第１判定対象のピーク検出値が正常であるか否かを判定する方法について説明する。
図１０の第１ピーク値記憶領域Ｒ１において、第１相対的極番号ｒ１の１〜１０に対して記憶されている第１出力信号Ｖ１のピーク検出値を、ａ１〜ａ１０で表すことにする。また、第２ピーク値記憶領域Ｒ２において、第２相対的極番号ｒ２の１〜１０に対して記憶されている第２出力信号Ｖ２のピーク検出値を、ｂ１〜ｂ１０で表すことにする。
【００８９】
第１出力信号Ｖ１のピーク検出値ａ１〜ａ１０を、第１相対的極番号ｒ１の値を表す変数ｋを用いて、ａｋ（ｋ＝１，２，…，１０）で表す場合がある。同様に、第２出力信号Ｖ２のピーク検出値ｂ１〜ｂ１０を、第２相対的極番号ｒ２の値を表す変数ｋを用いて、ｂｋ（ｋ＝１，２，…，１０）で表す場合がある。各出力信号Ｖ１，Ｖ２のピーク値ａｋ，ｂｋ間において、相対的極番号の値ｋが同じ各出力信号Ｖ１，Ｖ２のピーク検出値は、同じ磁極に対するピーク値を示している。また、同じ磁極に対する両出力信号Ｖ１，Ｖ１のピーク検出値ａｋ，ｂｋの比（ａｋ／ｂｋ）を、ピーク値比という場合がある。
【００９０】
第１判定対象のピーク検出値は、第１磁気センサ７１が現在検出している磁極の相対的極番号ｒ１をｋとして用いて、ａｒ１で表される。また、当該磁極に対応する第２出力信号Ｖ２のピーク検出値はｂｒ１で表される。
この場合、第１の回転角演算部７６Ａは、次式(1)で表される第１条件と次式(2)で表される第２条件との両方の条件を満たしているか否かを判別する。そして、第１条件および第２条件の両方の条件を満たしている場合には、第１の回転角演算部７６Ａは、第１判定対象のピーク検出値は正常であると判定する。一方、第１条件および第２条件のうちの少なくとも一方を満たしていない場合には、第１の回転角演算部７６Ａは、第１判定対象のピーク検出値は異常であると判定する。
【００９１】
【数１】
2014142322.tif 000003
【００９２】
前記式(1)および前記式(2)の左辺の（ａｒ１／ｂｒ１）は、第１磁気センサ７１が現在検出している磁極に対応するピーク値比を表している。
また、前記式(1)および前記式(2)の右辺における［｛（Σ（ａｋ／ｂｋ））−ａｒ１／ｂｒ１｝／９］は、第１の磁石６１に設けられた全ての磁極Ｍ１〜Ｍ１０のうち、第１磁気センサ７１が現在検出している磁極以外の磁極に対応するピーク値比の平均値を表している。また、前記式(1)および前記式(2)の右辺における”０．０４”はマージンを表している。マージンは、０．０４以外の値であってもよい。
【００９３】
したがって、第１条件は、「第１磁気センサ７１が現在検出している磁極に対応するピーク値比（ａｒ１／ｂｒ１）が、第１磁気センサ７１が現在検出している磁極以外の磁極に対応するピーク値比の平均値に０．９６を乗算した値以上であること」である。
また、第２条件は、「第１磁気センサ７１が現在検出している磁極に対応するピーク値比（ａｒ１／ｂｒ１）が、第１磁気センサ７１が現在検出している磁極以外の磁極に対応するピーク値比の平均値に１．０４を乗算した値以下であること」である。
【００９４】
つまり、第１の回転角演算部７６Ａは、入力軸８の直近の１周分における各磁極それぞれのピーク値比のうち、第１判定対象のピーク検出値を含む１つの磁極に対応するピーク値比（ａｒ１／ｂｒ１）を、他の磁極に対応するピーク値比の平均値［｛（Σ（ａｋ／ｂｋ））−ａｒ１／ｂｒ１｝／９］と比較することによって、第１判定対象のピーク検出値が正常であるか否かを判定する。
【００９５】
第２判定対象のピーク検出値は、第２磁気センサ７２が現在検出している磁極の相対的極番号ｒ２をｋとして用いて、ｂｒ２で表される。また、当該磁極に対応する第１出力信号Ｖ１のピーク検出値はａｒ２で表される。
第２判定対象のピーク検出値が正常であるか否かは、次式(3)で表される第３条件と次式(4)で表される第４条件との両方の条件を満たしているか否かを判別する。そして、第３条件および第４条件の両方の条件を満たしている場合には、第１の回転角演算部７６Ａは、第２判定対象のピーク検出値は正常であると判定する。一方、第３条件および第４条件のうちの少なくとも一方を満たしていない場合には、第１の回転角演算部７６Ａは、第２判定対象のピーク検出値は異常であると判定する。
【００９６】
【数２】
2014142322.tif 000004
【００９７】
このように、判定対象のピーク検出値が正常であるか否かを２つの出力信号Ｖ１，Ｖ２のピーク値比に基づいて行っているので、各磁気センサ７１，７２の特性のばらつき、各磁気センサ７１，７２に対応する増幅回路の特性のばらつき、各磁気センサ７１，７２と第１の磁石６１との間のギャップのばらつき、入力軸８の回転中心軸線と各磁気センサ７１，７２との距離のばらつき等に起因して両出力信号Ｖ１，Ｖ２のピーク検出値間にばらつきがあったり、周辺温度によって各出力信号Ｖ１，Ｖ２が変動したりする場合でも、正確な判定を行うことができる。
【００９８】
また、各磁気センサが現在検出している磁極に対応するピーク値比を、当該磁極以外の磁極に対応するピーク値比の平均値と比較することにより、判定対象のピーク検出値が正常であるか否かを判定しているので、各磁極の着磁にばらつきがあったとしても、正確な判定を行うことができる。このため、判定対象のピーク検出値が正常であるか否かを高精度に判定することができる。
【００９９】
振幅補正値監視処理において、第１判定対象のピーク検出値および第２判定対象のピーク検出値の両方が正常であると判別された場合には（ステップＳ２０：ＹＥＳ）、第１の回転角演算部７６Ａは、振幅補正処理を行う（ステップＳ２１）。つまり、第１の回転角演算部７６Ａは、第１磁気センサ７１が検出している磁極に対応する第１出力信号Ｖ１のピーク検出値（第１判定対象のピーク検出値）と、第２磁気センサ７２が検出している磁極に対応する第２出力信号Ｖ２のピーク検出値（第２判定対象のピーク検出値）と、予め設定されている基準振幅Ａとに基づいて、ステップＳ６で読み込まれた各出力信号Ｖ１，Ｖ２の振幅を補正する。
【０１００】
具体的には、第１判定対象のピーク検出値をａｒ１とし、第２判定対象のピーク検出値をｂｒ２とし、第１および第２出力信号Ｖ１，Ｖ２の振幅補正後の信号をそれぞれＶ１’，Ｖ２’とすると、補正後の第１および第２出力信号Ｖ１’，Ｖ２’は、それぞれ次式（5）(6)に基づいて演算される。
Ｖ１’＝（Ｖ１／ａｒ１）×Ａ    …(5)
Ｖ２’＝（Ｖ２／ｂｒ２）×Ａ    …(6)
振幅補正処理が終了すると、第１の回転角演算部７６Ａは、ステップＳ２２に移行する。ステップＳ２２では、第１の回転角演算部７６Ａは、振幅補正後の出力信号Ｖ１’，Ｖ２’に基づいて入力軸８の回転角θを演算して、トルク演算部７６Ｃに与える。具体的には、次式(7)に基づいて、入力軸８の回転角θを演算する。
【０１０１】
θ＝tan−１（Ｖ１’／Ｖ２’）  …(7)
この後、第１の回転角演算部７６Ａは、イグニッションオフ指令が入力されたか否かを判別する（ステップＳ２３）。イグニッションオフ指令が入力されていなければ（ステップＳ２３：ＮＯ）、図９ＡのステップＳ６に戻る。
図９Ａの前記ステップＳ１１において、第１センサ値Ｖ１のゼロクロスおよび第２センサ値Ｖ１のゼロクロスのいずれもが検出されなかったと判別されたときには（ステップＳ１１：ＮＯ）、第１の回転角演算部７６Ａは、第２フラグＦ２がセットされているか否かを判別する（ステップＳ１２）。第２フラグＦ２がセットされていない場合には（ステップＳ１２：ＮＯ）、第１の回転角演算部７６Ａは、図８ＢのステップＳ１０に移行する。一方、第２フラグＦ２がセットされている場合には（ステップＳ１２：ＹＥＳ）、各磁気センサ７１，７２が現在検出している磁極に対応するピーク検出値（判定対象のピーク検出値）は既に正常であると判定されているので、第１の回転角演算部７６Ａは、図９ＢのステップＳ２１に移行する。
【０１０２】
図９ＢのステップＳ１０では、第１の回転角演算部７６Ａは、前記ステップＳ６で読み込まれたセンサ値Ｖ１，Ｖ２に基づいて、入力軸８の回転角θを演算して、トルク演算部７６Ｃに与える。具体的には、次式(8)に基づいて、入力軸８の回転角θを演算する。
θ＝tan−１（Ｖ１／Ｖ２）  …(8)
この後、第１の回転角演算部７６Ａは、イグニッションオフ指令が入力されたか否かを判別する（ステップＳ２３）。イグニッションオフ指令が入力されていなければ（ステップＳ２３：ＮＯ）、図９ＡのステップＳ６に戻る。
【０１０３】
図９Ａの前記ステップＳ２０の振幅補正値監視処理において、第１の判定対象のピーク検出値および第２の判定対象のピーク検出値の少なくとも一方が異常であると判定された場合には（ステップＳ２０：ＮＯ）、第１の回転角演算部７６Ａは、異常処理を行なう（ステップＳ２６）。具体的には、第１の回転角演算部７６Ａは、回転角演算処理を停止するとともに、モータ制御用ＥＣＵ１２にモータ制御停止指令を出力する。これにより、モータ制御用ＥＣＵ１２による電動モータ１８の制御が停止される。
【０１０４】
図９Ｂの前記ステップＳ２３において、イグニッションオフ指令が入力されたと判別された場合には（ステップＳ２３：ＹＥＳ）、第１の回転角演算部７６Ａは、作業用メモリに記憶されている現在の第１相対的極番号ｒ１および第２相対的極番号ｒ２を、不揮発性メモリ７９内の記憶領域Ｒ３および記憶領域Ｒ４にそれぞれ記憶する（ステップＳ２４）。そして、第１の回転角演算部７６Ａは、第１の電磁クラッチ１１０をオフする（ステップＳ２５）。これにより、入力軸８と第１の磁石６１とが分離した状態となる。その直後に、トルク演算用ＥＣＵ７５の電源がオフされる。つまり、第１の電磁クラッチ１１０は、トルク演算用ＥＣＵ７５の電源がオフされる直前にオフされる。
【０１０５】
不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされたときには、不揮発性メモリ７９には、第１出力信号Ｖ１のピーク検出値ａ１〜ａ１０、第２出力信号Ｖ２のピーク検出値ｂ１〜ｂ１０ならびに前回の回転角演算終了時における第１相対的極番号ｒ１および第２相対的極番号ｒ２は、記憶されていない。したがって、この場合には、ステップＳ１〜Ｓ４の処理が行われても、第１フラグＦ１および第２フラグＦ２は、ともにリセットされた状態となる。ステップＳ５で第１の電磁クラッチ１１０がオンされた後、ステップＳ６でセンサ値Ｖ１，Ｖ２が読み込まれる。ステップＳ７でＮＯと判別されるので、ステップＳ８に進み、相対的極番号の設定処理が行われ、第３フラグＦ３がセットされる。この後、ステップＳ１０で回転角θが演算される。
【０１０６】
その後、ステップＳ２３からステップＳ６に戻り、センサ値Ｖ１，Ｖ２が読み込まれる。その次のステップＳ７ではＹＥＳと判別されるので、ステップＳ１１に進む。
その後は、ステップＳ１３でピーク値が検出される毎に、検出されたピーク値が不揮発性メモリ７９に記憶される。全ての磁極に対するピーク値が検出されるまでは、ステップＳ１０で回転角θが演算される。全ての磁極に対するピーク値が検出されると、ステップＳ１９の監視処理が行われ、判定対象のピーク検出値が正常であれば、ステップＳ２１でセンサ値Ｖ１，Ｖ２の振幅補正が行われた後に、ステップＳ２２で回転角θが演算される。つまり、振幅補正後のセンサ値を用いた回転角の演算が行われる。
【０１０７】
この後において、ピーク値が検出されるまでは、センサ値Ｖ１，Ｖ２が読み込まれる毎に、振幅補正後のセンサ値を用いた回転角の演算が行われる。そして、ピーク値が検出されてピーク値が更新されると、ステップＳ１９の監視処理が行われる。判定対象のピーク検出値が正常であれば、振幅補正後のセンサ値を用いた回転角の演算が行われる。このような処理が繰り返される。
【０１０８】
イグニッションオフ指令が入力されると、現在の第１相対的極番号ｒ１および第２相対的極番号ｒ２が、不揮発性メモリ７９に記憶され、第１の電磁クラッチ１１０がオフとされる（ステップＳ２３〜Ｓ２５参照）。その後に、トルク演算用ＥＣＵ７５の電源がオフされる。つまり、トルク演算用ＥＣＵ７５の電源がオフされる直前に、現在の第１相対的極番号ｒ１および第２相対的極番号ｒ２が、不揮発性メモリ７９に記憶され、第１の電磁クラッチ１１０がオフとされる。
【０１０９】
この後に、トルク演算用ＥＣＵ７５の電源がオンされたときには、ステップＳ１〜Ｓ４の処理が行われることによって、第１フラグＦ１および第２フラグＦ２は、ともにセットされる。この後、第１の電磁クラッチ１１０がオンされ、各センサ値Ｖ１，Ｖ２が読み込まれ、ステップＳ７に移行する。第１フラグＦ１がセットされているので、ステップＳ７でＹＥＳと判別され、ステップＳ１１に移行する。ステップＳ１１でＮＯと判定された場合には、ステップＳ１２に進むが、ステップＳ１２でＹＥＳと判別されるため、振幅補正後のセンサ値を用いた回転角の演算が行われることになる（ステップＳ２１，Ｓ２２参照）。
【０１１０】
前記ステップＳ１１でＹＥＳと判別された場合には、ステップＳ１３，Ｓ１４，Ｓ１６またはステップＳ１３，Ｓ１４，Ｓ１５，Ｓ１６の処理を経て、ステップＳ１７に進む。ステップＳ１７では、ＹＥＳと判別されるので、ステップＳ２０でＮＯと判別されない限り、振幅補正後のセンサ値を用いた回転角の演算が行われることになる（ステップＳ２１，Ｓ２２参照）。そして、イグニッションオフ指令が入力されたときには、現在の第１相対的極番号ｒ１および第２相対的極番号ｒ２が、不揮発性メモリ７９に記憶され、第１の電磁クラッチ１１０がオフとされる。
【０１１１】
第１実施形態では、各磁極に相対的極番号が既に割り当てられている場合には、トルク演算用ＥＣＵ７５の電源がオンされた直後に、各磁気センサ７１，７２が検出している磁極の相対的番号を特定することが可能となる。また、各磁極に相対的極番号が既に割り当てられており、かつ全ての磁極に対する第１センサ値Ｖ１のピーク値および全ての磁極に対する第２センサ値Ｖ２のピーク値が不揮発性メモリ７９に記憶されている場合には、トルク演算用ＥＣＵ７５の電源がオンされた直後から、振幅補正後のセンサ値を用いた回転角の演算を行うことができるようになる。つまり、過去において全ての磁極に対する第１センサ値Ｖ１のピーク値および全ての磁極に対する第２センサ値Ｖ２のピーク値が検出されていれば、トルク演算用ＥＣＵ７５の電源がオンされたときには、その直後から入力軸８の回転角θを高精度で演算することができる。
【０１１２】
また、振幅補正に使用される可能性があるピーク検出値が正常であるか否かを、磁気センサ７１，７２の特性のばらつき、増幅回路の特性のばらつき、各磁気センサ７１，７２と第１の磁石６１とのギャップのばらつき、入力軸８の回転中心軸線と各磁気センサ７１，７２との距離のばらつき、各磁極の着磁にばらつき、周辺温度の変化等にかかわらず、正確に判定することができる。この結果、振幅補正後の出力信号の信頼性が向上する。
【０１１３】
以上、この発明の第１実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の第１実施形態では、２つの磁気センサ７１，７２からは、互いに位相差が９０°の正弦波信号が出力されているが、位相差が９０°以外の角度（たとえば、１２０°）となるように、２つの磁気センサを配置してもよい。また、磁気センサを３つ以上設けてもよい。
【０１１４】
また、前述の第１実施形態では、第１の回転角演算部７６Ａは、入力軸８の直近の１周分における各磁極それぞれのピーク値比のうち、判定対象のピーク検出値を含む１つの磁極に対応するピーク値比を、他の磁極に対応するピーク値比の平均値と比較することによって、判定対象のピーク検出値が正常であるか否かを判定しているが、判定対象のピーク検出値を含む１つの磁極に対応するピーク値比と比較する対象は、前記他の磁極に対応するピーク値比の平均値でなくてもよい。判定対象のピーク検出値を含む１つの磁極に対応するピーク値比と比較する対象は、たとえば、予め設定された設定値であってもよい。
【０１１５】
また、各磁極に対応するピーク値比の中に、互いにピーク値比が極端に異なる２以上のピーク値比が存在する場合に、判定対象のピーク検出値が異常であると判定するようにしてもよい。このようなことは、たとえば、一方の磁気センサが故障した場合等に発生する。
また、異常と判定された場合には、異常であるセンサ信号を特定し、正常なセンサ信号をもとに回転角を演算（推定）するようにしてもよい。
【０１１６】
また、図９Ａおよび図９Ｂに示された回転角演算処理において、図９ＢのステップＳ１９およびＳ２０の処理（振幅補正値の監視処理）を省略してもよい。
次に、本発明の第２実施形態に係る回転角検出装置が適用された電動パワーステアリング装置について説明する。電動パワーステアリング装置の構成は、図１に示す構成と同じである。また、トルクセンサ１１の全体構成は、図５に示す構成とほぼ同様である。ただし、磁石６１，６２の構成、磁気センサ７１，７２の配置角度間隔、磁気センサ７３，７４の配置角度間隔、第１の回転角演算部７６Ａの動作、第２の回転角演算部７６Ｂの動作が、第１実施形態に係る回転角検出装置とは異なっている。なお、第２実施形態では、磁気センサ７１，７２，７３，７４の出力信号を、Ｓ１，Ｓ２，Ｓ３，Ｓ４で表すことにする。
【０１１７】
図５において、第１の磁石６１、磁気センサ７１，７２および第１の回転角演算部７６Ａによって、入力軸８の回転角θＡを検出するための第１の回転角検出装置が構成されている。また、第２の磁石６２、磁気センサ７３，７４および第２の回転角演算部７６Ｂによって、出力軸９の回転角θＢを検出するための第２の回転角検出装置が構成されている。第１の回転角検出装置（第１の回転角演算部７６Ａ）の動作と第２の回転角検出装置（第２の回転角演算部７６Ｂ）の動作は同様であるので、以下、第１の回転角検出装置（第１の回転角演算部７６Ａ）の動作についてのみ説明する。
【０１１８】
図１３は、第１の回転角検出装置における第１の磁石６１の構成および２つの磁気センサ７１，７２の配置を示す模式図である。
第１の磁石６１は、周方向に等角度間隔で配された４組の磁極対（Ｍ１，Ｍ２），（Ｍ３，Ｍ４），（Ｍ５，Ｍ６），（Ｍ７，Ｍ８）を有している。つまり、第１の磁石６１は、等角度間隔で配置された８個の磁極Ｍ１〜Ｍ８を有している。各磁極Ｍ１〜Ｍ８は、入力軸８の中心軸を中心として、ほぼ４５°（電気角ではほぼ１８０°）の角度間隔（角度幅）で配置されている。各磁極Ｍ１〜Ｍ８の磁力の大きさは、ほぼ一定である。
【０１１９】
２つの磁気センサ７１，７２は、第１の磁石６１の下側の環状端面に対向して、配置されている。これらの磁気センサ７１，７２は、入力軸８の中心軸を中心として電気角で１２０°の角度間隔で配置されている。以下において、一方の磁気センサ７１を第１磁気センサ７１といい、他方の磁気センサ７２を第２磁気センサ７２という場合がある。
図１３に矢印で示す方向を入力軸８の正方向の回転方向とする。そして、入力軸８が正方向に回転されると入力軸８の回転角が大きくなり、入力軸８が逆方向に回転されると、入力軸２の回転角が小さくなるものとする。各磁気センサ７１，７２からは、図１４に示すように、入力軸８の回転に伴って、正弦波状の信号Ｓ１，Ｓ２が出力される。なお、図１４の横軸の回転角［deg］は、機械角を表している。
【０１２０】
以下において、第１磁気センサ７１の出力信号Ｓ１を第１出力信号Ｓ１または第１センサ値Ｓ１といい、第２磁気センサ７２の出力信号Ｓ２を第２出力信号Ｓ２または第２センサ値Ｓ２という場合がある。
以下においては、説明の便宜上、入力軸８の回転角をθＡではなく、θで表すことにする。各出力信号Ｓ１，Ｓ２が正弦波信号であるとみなし、入力軸８の回転角をθ（電気角）とすると、第１磁気センサ７１の出力信号Ｓ１は、Ｓ１＝Ａ１・sinθと表され、第２磁気センサ７２の出力信号Ｓ２は、Ｓ２＝Ａ２・sin（θ＋１２０）と表される。Ａ１，Ａ２は、それぞれ振幅を表している。第１出力信号Ｓ１と第２出力信号Ｓ２との位相差は１２０度である。
【０１２１】
第１の回転角演算部７６Ａによる回転角θの演算方法の基本的な考え方について説明する。第１の回転角演算部７６Ａによる回転角演算モードには、第１演算モードと第２演算モードと第３演算モードの３種類がある。以下、各演算モードについて詳しく説明する。
［１］第１演算モード
第１演算モードは、第１および第２磁気センサ７１，７２が、３サンプリング周期（３演算周期）連続して共に同じ１つの磁極を検出している場合に適用される演算モードである。第１演算モードでは、第１および第２磁気センサ７１，７２における３サンプリング分の出力信号に基づいて回転角θが演算される。
【０１２２】
第１出力信号Ｓ１と第２出力信号Ｓ２との位相差（電気角）をＣで表すことにする。また、今回のサンプリング周期の番号（今回の演算周期の番号）を[n]、前回のサンプリング周期の番号を[n-1]、前々回のサンプリング周期の番号を[n-2]で表すことにする。また、各磁極Ｍ１〜Ｍ８の角度幅（ピッチ幅）のばらつきに基づく回転角演算誤差を補正するための補正値を、角度幅誤差補正値といい、Ｅで表すことことにする。
【０１２３】
位相差Ｃ、サンプリング周期番号[n]，[n-1]，[n-2]および角度幅誤差補正値Ｅを用いると、今回、前回および前々回にサンプリングされた第１出力信号Ｓ１ならびに今回、前回および前々回にサンプリングされた第２出力信号Ｓ２を、それぞれ次式(9a)，(9b)，(9c)， (9d)，(9e)，(9f)で表すことができる。
Ｓ１[n]＝Ａ１[n］sin（Ｅ１［n］θ［n］）            …(9a)
Ｓ１[n-1]＝Ａ１[n-1］sin（Ｅ１［n-1］θ[n-1］）     …(9b)
Ｓ１[n-2]＝Ａ１[n-2］sin（Ｅ１［n-2］θ[n-2］）     …(9c)
Ｓ２[n]＝Ａ２[n］sin（Ｅ２［n］θ[n］＋Ｃ）         …(9d)
Ｓ２[n-1]＝Ａ２[n-1］sin（Ｅ２[n-1］θ[n-1］＋Ｃ）  …(9e)
Ｓ２[n-2]＝Ａ２[n-2］sin（Ｅ２[n-2］θ[n-2］＋Ｃ）  …(9f)
前記式(9a)〜(9f)において、Ｅ１［ｘ］は、ｘ番目の演算周期において第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値である。Ｅ２［ｘ］は、ｘ番目の演算周期において第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値である。
【０１２４】
ある磁極の角度幅をｗ（電気角）とすると、その磁極の角度幅誤差θｅｒｒ（電気角）は、次式(10)で定義される。
θｅｒｒ＝ｗ−１８０    …(10)
その磁極に対する角度幅誤差補正値Ｅは、次式(11)で定義される。
Ｅ＝１８０／ｗ
＝１８０／（θｅｒｒ＋１８０）    …(11)
各磁極の角度幅誤差補正値Ｅは、各磁極の磁極幅に関する情報である。なお、各磁極の磁極幅に関する情報は、各磁極の角度幅ｗであってもよいし、各磁極の角度幅誤差θｅｒｒであってもよい。
【０１２５】
Ｃが既知であるとすると、前記式(9a)〜(9f)で表される６つの式に含まれる未知数の数は１５となる。つまり、未知数の数が方程式の数より多いため、このままでは、６つの式からなる連立方程式を解くことができない。
第２実施形態では、サンプリング間隔（サンプリング周期）を短く設定することにより、３サンプリング間の温度変化による振幅の変化がないとみなす。つまり、３サンプリング間の第１磁気センサ７１の出力信号の振幅Ａ１[n］，Ａ１[n-1］，Ａ１[n-2］が互いに等しいとみなして、これらをＡ１とする。同様に、３サンプリング間の第２磁気センサ７２の出力信号の振幅Ａ２[n］，Ａ２[n-1］，Ａ２[n-2］が互いに等しいとみなし、これらをＡ２とする。
【０１２６】
３サンプリング間において、両磁気センサ７１，７２が共に同じ１つの磁極を検出している場合には、３サンプリング分の両磁気センサ７１，７２の出力信号に含まれている角度幅誤差補正値Ｅ１［n］，Ｅ１［n-1］，Ｅ１［n-2］，Ｅ２［n］，Ｅ２[n-1］，Ｅ２[n-2］は同じ値となるので、これらをＥで表すことにする。これにより、前記式(9a)〜(9f)は、それぞれ次式(12a)〜(12f)で表わされる。
【０１２７】
Ｓ１[n]＝Ａ１sin（Ｅθ[n］）            …(12a)
Ｓ１[n-1]＝Ａ１sin（Ｅθ[n-1］）        …(12b)
Ｓ１[n-2]＝Ａ１sin（Ｅθ[n-2］）        …(12c)
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋Ｃ）        …(12d)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋Ｃ）    …(12e)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋Ｃ）    …(12f)
これら６つの式に含まれる未知数（Ａ１，Ａ２，Ｅ，θ[n］，θ[n-1］，θ[n-2］）の数は６となる。つまり、未知数の数が方程式の数以下となるため、６つの式からなる連立方程式を解くことができる。したがって、前記６つの式(12a)〜(12f)からなる連立方程式を解くことにより、入力軸８の回転角θ[n］を演算することができる。
【０１２８】
以下、両磁気センサ間の位相差Ｃが１２０度である場合について、具体的に説明する。位相差Ｃが１２０度である場合には、前記６つの式(12a)〜(12f)は、それぞれ次式(13a)〜(13f)で表わすことができる。
Ｓ１[n]＝Ａ１sin（Ｅθ[n］）                …(13a)
Ｓ１[n-1]＝Ａ１sin（Ｅθ[n-1］）            …(13b)
Ｓ１[n-2]＝Ａ１sin（Ｅθ[n-2］）            …(13c)
Ｓ２[n]＝Ａ２sin（Ｅθ[n］＋１２０）        …(13d)
Ｓ２[n-1]＝Ａ２sin（Ｅθ[n-1］＋１２０）    …(13e)
Ｓ２[n-2]＝Ａ２sin（Ｅθ[n-2］＋１２０）    …(13f)
前記６つの式(13a)〜(13f)のうちの４つの式(13a)，(13b)，（13d），(13e)からなる連立方程式を解くことにより、振幅Ａ１は、次式(14)（以下、「Ａ１演算式(14)」という。）で表わされる。
【０１２９】
【数３】
2014142322.tif 000005
【０１３０】
また、前記６つの式(13a)〜(13f)からなる連立方程式を解くことにより、角度幅誤差補正値Ｅは、次式(15)（以下、「Ｅ演算式(15)」という。）で表わされる。
【０１３１】
【数４】
2014142322.tif 000006
【０１３２】
振幅Ａ１および角度幅誤差補正値Ｅを式（13a）に代入することにより、回転角θ[n]は次式(16)（以下、「θ演算式(16)」という。）で表わされる。
【０１３３】
【数５】
2014142322.tif 000007
【０１３４】
第１演算モードでは、まず、Ａ１演算式(14)を用いて振幅Ａ１が演算される。次に、Ｅ演算式(15)を用いて角度幅誤差補正値Ｅが演算される。そして、θ演算式(16)を用いて回転角θ[n]が演算される。角度幅誤差補正値Ｅを演算してから、振幅Ａ１を演算してもよい。
ただし、Ａ１演算式(14)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された振幅Ａ１が今回の振幅Ａ１として用いられる。Ａ１演算式(14)に含まれている分数のいずれかの分母が零になる場合とは、Ｓ１［n-1］＝０の場合、Ｓ２［n-1］＝０の場合、ｐ１−ｐ２＝０の場合またはｐ１２＋ｐ１ｐ２＋ｐ２２＝０の場合である。
【０１３５】
ただし、ｐ１２＋ｐ１ｐ２＋ｐ２２＝０が成立するのは、ｐ１＝ｐ２＝０の場合だけであるが、第１磁気センサ７１と第２磁気センサ７２とは位相が１２０度ずれているため、両磁気センサ７１，７２のセンサ値Ｓ１，Ｓ２が同時に零になることはない。このため、ｐ１２＋ｐ１ｐ２＋ｐ２２＝０が成立することはない。
また、Ｅ演算式(15)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Ｅが今回の角度幅誤差補正値Ｅとして用いられる。Ｅ演算式(15)に含まれている分数のいずれかの分母が零になる場合とは、Ｓ１［n］Ｓ２［n］−Ｓ１［n-1］Ｓ２［n-1］＝０の場合、ｃの分母＝０の場合またはｃの分子＝０の場合である。
【０１３６】
また、第１演算モードでは、前述した振幅Ａ１、角度幅誤差補正値Ｅおよび回転角θ[n］が演算されるとともに、次式（17）（以下、「Ａ２演算式(17)」という。）に基づいて振幅Ａ２が演算される。
【０１３７】
【数６】
2014142322.tif 000008
【０１３８】
ただし、Ａ２演算式(17)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された振幅Ａ２が今回の振幅Ａ２として用いられる。Ａ２演算式(17)に含まれている分数のいずれかの分母が零になる場合とは、Ｓ１［n-1］＝０の場合、Ｓ２［n-1］＝０の場合、ｐ１−ｐ２＝０の場合またはｐ１２＋ｐ１ｐ２＋ｐ２２＝０の場合である。ただし、前述したように、ｐ１２＋ｐ１ｐ２＋ｐ２２＝０が成立することはない。
【０１３９】
以上のように、第１演算モードでは、Ａ１，Ｅ，θ[n］，Ａ２が演算される。
第１演算モードでは、２つの磁気センサ７１，７２における３サンプリング分の出力信号に基づいて入力軸８の回転角θ[n]を演算しているので、精度の高い回転角を演算することが可能となる。また、第１演算モードでは、入力軸８の回転角θ[n]の演算に用いられる数式の数が、これらの数式に含まれている本来の未知数の数より少なくても、入力軸８の回転角θ[n]を演算することができるので、入力軸８の回転角θ[n]を演算するために必要なセンサ値の数を少なくすることが可能となる。
【０１４０】
第１演算モードでは、３サンプリング間での同じ磁気センサの出力信号の振幅が互いに等しいとみなしている。３サンプリング間での同じ磁気センサの出力信号の振幅は、温度変化の影響によって異なる値となる可能性がある。しかしながら、サンプリング間隔が小さい場合には、３サンプリング間の温度変化は非常に小さいので、３サンプリング間での同じ磁気センサの出力信号の振幅は等しいとみなすことができる。したがって、第１演算モードでは、３サンプリング間での温度変化の影響による振幅のばらつきを補償することができる。また、第１演算モードでは、回転角の演算に用いられている２つの磁気センサ間の振幅は、別々の未知数として扱っているので、それらの２つの磁気センサ間の温度特性のばらつきの影響を補償することができる。これにより、精度の高い回転角を検出することができる。
【０１４１】
また、第１演算モードでは、磁石６１の各磁極Ｍ１〜Ｍ８の角度幅（ピッチ幅）のばらつきを高い精度で補償できるので、誤差のより小さい回転角を検出することが可能となる。
［２］第２演算モード
第２演算モードは、第１演算モードが適用できない場合であって、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅ１および第１出力信号Ｓ１の振幅Ａ１が第１演算モードによって既に演算されて不揮発性メモリ７９に記憶されている場合に適用される演算モードである。第２演算モードでは、主として第１磁気センサ７１の出力信号Ｓ１に基づいて回転角θが演算される。
【０１４２】
たとえば、図１５Ａに示すように、磁石６１（入力軸８）が矢印で示す方向に回転している場合において、第１および第２磁気センサ７１，７２が同じ磁極（この例ではＭ１）を検出している状態から、第２磁気センサ７２の検出している磁極が変化した場合に、第２演算モードは適用される。
角度幅誤差補正値Ｅと今演算周期の番号ｎを用いると、今演算周期においてサンプリングされた第１磁気センサ７１の出力信号Ｓ１は、次式(18)で表される。
【０１４３】
Ｓ１[n]＝Ａ１[n］sin（Ｅ１θ[n］）                …(18)
Ｅ１は、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値である。
前記式(18)から回転角θ[n］は、次式(19)で表される。
θ[n］＝（１／Ｅ１）sin−１（Ｓ１[n]／Ａ１）    …(19)
第１磁気センサ７１が検出している磁極に対応するＥ１およびＡ１が不揮発性メモリ７９に記憶されているとすると、それらを前記式(19)に代入することにより、θ[n］を演算することができる。ただし、式(19)によって回転角θ[n］を演算する場合には、２つの回転角θ[n］が演算されるので、いずれの回転角が実際の回転角であるかを判定する必要がある。この判定方法について、図１６を参照して説明する。図１６には、第１出力信号Ｓ１および第２出力信号Ｓ２の１周期分の波形が示されている。図１６の横軸の回転角［deg］は、電気角を表している。
【０１４４】
図１６に示すように、第１出力信号Ｓ１[n]がたとえば正の値である場合には、（１／Ｅ１）sin−１（Ｓ１[n]／Ａ１）に対応する回転角θ[n］は、０度〜９０度の領域Ｒ１内の回転角と、９０度〜１８０度の領域Ｒ２内の回転角との２つの回転角となる。また、第１出力信号Ｓ１[n]がたとえば負の値である場合には、（１／Ｅ１）sin−１（Ｓ１[n]／Ａ１）に対応する回転角θ[n］は、１８０度〜２７０度の領域Ｕ１内の回転角と、２７０度〜３６０度の領域Ｕ２内の回転角との２つの回転角となる。
【０１４５】
この実施形態では、第２磁気センサ７２の出力信号Ｓ２に基づいて、前記式(19)によって演算される２つの回転角のうちのいずれが実際の回転角であるかが判定される。以下、具体的に説明する。第２出力信号Ｓ２の振幅Ａ２の１／２を閾値ａ（ａ＞０）とする。この閾値ａは、たとえば、不揮発性メモリ７９に記憶されている第２出力信号Ｓ２の振幅Ａ２であって、第１磁気センサ７１が検出している磁極に対応する振幅Ａ２に基づいて求めることができる。なお、第１出力信号Ｓ１の振幅Ａ１の１／２を閾値ａ（ａ＞０）としてもよい。
【０１４６】
第２出力信号Ｓ２［n］がａ以上のときに取り得る入力軸８の回転角θ[n］は、０度〜３０度の範囲および２７０度〜３６０度の範囲である。第２出力信号Ｓ２［n］が−ａ未満のときに取り得る入力軸８の回転角θ[n］は、９０度〜２１０度の範囲である。第２出力信号Ｓ２［n］が−ａ以上ａ未満のときに取り得る入力軸８の回転角θ[n］は、３０度〜９０度の範囲および２１０度〜２７０度の範囲である。
【０１４７】
したがって、前記式(19)によって演算された２つの回転角のうち、いずれの回転角が実際の回転角であるかを、第２出力信号Ｓ２［n］に基づいて判定することができる。具体的には、第１出力信号Ｓ１[n]が正の値である場合には、第２出力信号Ｓ２［n］が−ａ以上であれば、前記式(19)によって演算された２つの回転角のうち領域Ｒ１内の回転角が実際の回転角であると判定される。一方、第２出力信号Ｓ２［n］が−ａ未満であれば、前記式(19)によって演算された２つの回転角のうち領域Ｒ２内の回転角が実際の回転角であると判定される。
【０１４８】
第１出力信号Ｓ１[n]が負の値である場合には、第２出力信号Ｓ２［n］がａ未満であれば、前記式(19)によって演算された２つの回転角のうち領域Ｕ１内の回転角が実際の回転角であると判定される。一方、第２出力信号Ｓ２［n］がａ以上であれば、前記式(19)によって演算された２つの回転角のうち領域Ｕ２内の回転角が実際の回転角であると判定される。
【０１４９】
第２演算モードにおいても、第１演算モードと同様に、高い精度で回転角θ[n］を演算することができる。
［３］第３演算モード
第３演算モードは、第１演算モードが適用できない場合であって、第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値Ｅ２および第２出力信号Ｓ２の振幅Ａ２が第１演算モードによって既に演算されて不揮発性メモリ７９に記憶されている場合に適用される演算モードである。第３演算モードでは、主として第２磁気センサ７２の出力信号Ｓ２に基づいて回転角θが演算される。
【０１５０】
たとえば、図１５Ｂに示すように、磁石６１（入力軸８）が矢印で示す方向に回転している場合において、第１および第２磁気センサ７１，７２が同じ磁極（この例ではＭ１）を検出している状態から、第１磁気センサ７１が検出している磁極が変化した場合に、第３演算モードは適用される。
角度幅誤差補正値Ｅと今演算周期の番号ｎを用いると、今演算周期においてサンプリングされた第２磁気センサ７２の出力信号Ｓ２は、次式(20)で表される。
【０１５１】
Ｓ２[n]＝Ａ２[n］sin（Ｅ２θ[n］＋１２０）        …(20)
Ｅ２は、第２磁気センサ７２が検出している磁極に対応する角度幅誤差補正値である。
前記式(20)から回転角θ[n］は、次式(21)で表される。
θ[n］＝（１／Ｅ２）｛sin−１（Ｓ２[n]／Ａ２）−１２０｝    …(21)
第２磁気センサ７１が検出している磁極に対応するＥ２およびＡ２が不揮発性メモリ７９に記憶されているとすると、それらを前記式(21)に代入することにより、θ[n］を演算することができる。
【０１５２】
前記式(21)によって回転角θ[n］を演算すると、２つの回転角θ[n］が演算される。そこで、第１磁気センサ７１の出力信号Ｓ１に基づいて、前記式(21)によって演算された２つの回転角θ[n］のうちのいずれが実際の回転角であるかを判定する。以下、具体的に説明する。不揮発性メモリ７９に記憶されている第１出力信号Ｓ１の振幅Ａ１の１／２または第２出力信号Ｓ２の振幅Ａ２の１／２を閾値ａ（ａ＞０）とする。
【０１５３】
第２出力信号Ｓ２[n]が正の値である場合には、第１出力信号Ｓ１［n］が−ａ未満であれば、前記式(21)によって演算された２つの回転角のうち２４０度〜３３０度の領域内の回転角が実際の回転角であると判定される。一方、第１出力信号Ｓ１［n］が−ａ以上であれば、前記式(21)によって演算された２つの回転角のうち０度〜６０度または３３０度〜３６０度の領域内の回転角が実際の回転角であると判定される。
【０１５４】
第２出力信号Ｓ２[n]が負の値である場合には、第１出力信号Ｓ１［n］がａ以上であれば、前記式(21)によって演算された２つの回転角のうち６０度〜１５０度の領域内の回転角が実際の回転角であると判定される。一方、第１出力信号Ｓ１［n］がａ未満であれば、前記式(21)によって演算された２つの回転角のうち１５０度〜２４０度の領域内の回転角が実際の回転角であると判定される。
【０１５５】
第３演算モードにおいても、第１演算モードと同様に、高い精度で回転角θ[n］を演算することができる。
図１７は、第１の回転角演算部７６Ａの動作を示すフローチャートである。
不揮発性メモリ７９（図５参照）の内容は、たとえば、電動パワーステアリング装置１の製造者等によって所定のタイミングで強制的に消去される。不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされたときに、第１磁気センサ７１が検出している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第１磁気センサ７１が検出している磁極の相対的極番号（以下、「第１相対的極番号」という）を変数ｒ１で表し、第２磁気センサ７２が検出している磁極の相対的極番号（以下、「第２相対的極番号」という）を変数ｒ２で表すことにする。なお、各相対的極番号ｒ１，ｒ２は、１〜８の整数をとり、１より１少ない相対的極番号は８となり、８より１大きい相対的極番号は１となるものとする。
【０１５６】
第２実施形態では、不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされたときに、第１磁気センサ７１が検出している磁極（基準磁極）がＮ極の磁極である場合には、当該磁極に”１”の相対的極番号が割り当てられる。一方、第１磁気センサ７１が検出している磁極（基準磁極）がＳ極の磁極である場合には、当該磁極に”２”の相対的極番号が割り当てられる。
【０１５７】
トルク演算用ＥＣＵ７５内の不揮発性メモリ７９には、図１８に示すように、ｅ１〜ｅ５で示すエリア等が設けられている。エリアｅ１には、１〜８の相対的磁極番号毎に角度幅誤差補正値Ｅの値が記憶される。エリアｅ２には、１〜８の相対的磁極番号毎に第１出力信号Ｓ１の振幅Ａ１が記憶される。エリアｅ３には、１〜８の相対的磁極番号毎に第２出力信号Ｓ２の振幅Ａ２が記憶される。
【０１５８】
エリアｅ４には、イグニッションオフ指令が入力されたときに、その時点における第１相対的極番号ｒ１が記憶される。エリアｅ５には、イグニッションオフ指令が入力されたときに、その時点における第２相対的極番号ｒ２が記憶される。これは、次回のトルク演算用ＥＣＵ７５の電源オンの直後に、各磁気センサ７１，７２が検出している磁極の相対的番号を認識できるようにするためである。
【０１５９】
後述するように、トルク演算用ＥＣＵ７５の電源がオンされたときには、第１の電磁クラッチ１１０（図５参照）がオンされる。そして、トルク演算用ＥＣＵ７５にイグニッションオフ指令が入力されたときには、第１の電磁クラッチ１１０がオフされる。第１の電磁クラッチ１１０がオフされると、たとえステアリングホイール２（入力軸８）が回転されたとしても、第１の磁石６１はそれに伴って回転しないので、第１の磁石６１と各磁気センサ７１，７２との相対的位置関係は変化しない。したがって、第１の電磁クラッチ１１０がオフされてから、第１の電磁クラッチ１１０が次にオンされるまでは、第１相対的極番号ｒ１およびの第２相対的極番号ｒ２は変化しない。そこで、イグニッションオフ指令が入力された時点の第１相対的極番号ｒ１およびの第２相対的極番号ｒ２を、電源オフ後も保持するようにしている。
【０１６０】
なお、トルク演算用ＥＣＵ７５内の作業用メモリ（たとえばＲＡＭ）には、複数回分（３回以上分）の第１センサ値Ｓ１を記憶するための記憶領域、複数回分（３回以上分）の第２センサ値Ｓ２を記憶するための記憶領域、複数回分（３回以上分）の第１相対的極番号ｒ１を記憶するための記憶領域、複数回分（３回以上分）の第２相対的極番号ｒ２を記憶するための記憶領域等が設けられる。
【０１６１】
図１７に戻り、トルク演算用ＥＣＵ７５の電源がオンすると、第１の回転角演算部７６Ａは、第１の電磁クラッチ１１０をオンする（ステップＳ５１）。つまり、第１の電磁クラッチ１１０は、トルク演算用ＥＣＵ７５の電源がオンされた直後にオンされる。具体的には、第１の回転角演算部７６Ａは、駆動回路７７を介して電磁コイル１１４に電流を供給することにより、電磁コイル１１４を通電状態にする。これにより、入力軸８と第１の磁石６１とが磁気的に結合された状態となる。
【０１６２】
次に、第１の回転角演算部７６Ａは、不揮発性メモリ７９に第１相対的極番号ｒ１およびの第２相対的極番号ｒ２が記憶されているか否かを判別する（ステップＳ５２）。不揮発性メモリ７９に両相対的極番号ｒ１，ｒ２が記憶されていない場合には（ステップＳ５２：ＮＯ）、第１の回転角演算部７６Ａは、強制回転に基づく回転角演算処理を行う（ステップＳ５３）。
【０１６３】
トルク演算用ＥＣＵ７５の電源がオンされたときに、不揮発性メモリ７９に両相対的極番号ｒ１，ｒ２が記憶されていない場合とは、不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされたときである。したがって、不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされたときに、強制回転に基づく回転角演算処理が行われることになる。この処理は、電動モータ１８を一時的に強制回転させることにより、入力軸８（出力軸９）を回転させ、入力軸８の回転角等を演算する処理である。
【０１６４】
前述した第１演算モードでは、Ａ１演算式(14)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された振幅Ａ１が今回の振幅Ａ１として用いられる。また、Ｅ演算式(15)に含まれている分数のいずれかの分母が零になる場合には、前回に演算された角度幅誤差補正値Ｅが今回の角度幅誤差補正値Ｅとして用いられる。しかしながら、不揮発性メモリ７９の内容が強制的に消去された後に、トルク演算用ＥＣＵ７５の電源が初めてオンされた時点では、第１演算モードで演算された振幅Ａ１および角度幅誤差補正値Ｅの前回値は存在しない。このため、第１演算モードによって回転角θ［n］を演算できなくなるおそれがある。そこで、第１演算モードで演算された振幅Ａ１および角度幅誤差補正値Ｅの前回値を作成するために、強制回転に基づく回転角演算処理を行っている。強制回転に基づく回転角演算処理の詳細については後述する。強制回転に基づく回転角演算処理が終了すると、ステップＳ５４に移行する。
【０１６５】
前記ステップＳ５２において、不揮発性メモリ７９に両相対的極番号ｒ１，ｒ２が記憶されていると判別された場合には（ステップＳ５２：ＹＥＳ）、第１の回転角演算部７６Ａは、両相対的極番号ｒ１，ｒ２を作業用メモリに読み込むとともに、ステップＳ５４に移行する。
ステップＳ５４では、第１の回転角演算部７６Ａは、通常時の回転角演算処理を行う。この処理の詳細については後述する。通常時の回転角演算処理は、イグニッションオフ指令が入力されるまで繰り返し行われる。イグニッションオフ指令が入力されると（ステップＳ５５：ＹＥＳ）、第１の回転角演算部７６Ａは、通常時の回転角演算処理を終了し、作業用メモリに記憶されている現在の第１相対的極番号ｒ１および第２相対的極番号ｒ２を、不揮発性メモリ７９内のエリアｅ４およびエリアｅ５にそれぞれ記憶する（ステップＳ５６）。そして、第１の回転角演算部７６Ａは、第１の電磁クラッチ１１０をオフする（ステップＳ５７）。これにより、入力軸８と第１の磁石６１とが分離した状態となる。その直後に、トルク演算用ＥＣＵ７５の電源がオフされる。つまり、第１の電磁クラッチ１１０は、トルク演算用ＥＣＵ７５の電源がオフされる直前にオフされる。
【０１６６】
図１９Ａおよび図１９Ｂは、図１７のステップＳ５３の強制回転に基づく回転角演算処理の手順を示すフローチャートである。
強制回転に基づく回転角演算処理では、短時間ではあるがステアリングホイール２が強制的に回転駆動される。このため、運転者は何らかの故障が発生したと誤解するおそれがある。そこで、第１の回転角演算部７６Ａは、運転者への警告を行う（ステップＳ６１）。具体的には、第１の回転角演算部７６Ａは、車内に設けられた表示装置（図示略）、音声出力装置（図示略）等を制御するための映像音声制御装置（図示略）に、警告出力指令を送信する。映像音声制御装置は、この警告出力指令を受信すると、「ステアリングホイールが強制的に回転しますが故障ではありません」等のメッセージを表示装置に表示したり、音声出力装置によって音声出力したりする。
【０１６７】
次に、第１の回転角演算部７６Ａは、第１方向に電動モータ１８を回転駆動させる（ステップＳ６２）。具体的には、第１の回転角演算部７６Ａは、第１方向に電動モータ１８を回転駆動させるための第１強制回転指令をモータ制御用ＥＣＵ１２に送信する。モータ制御用ＥＣＵ１２は、この第１強制回転指令を受信すると、第１方向に電動モータ１８を回転駆動させる。
【０１６８】
第１の回転角演算部７６Ａは、各磁気センサ７１，７２のセンサ値Ｓ１[n],Ｓ２[n]を取得する（ステップＳ６３）。ステップＳ６３の処理は、後述するステップＳ７０でＹＥＳと判定されるまで、所定の演算周期毎に繰り返し実行される。トルク演算用ＥＣＵ７５内の作業用メモリには、所定回数前に取得されたセンサ値から最新に取得されたセンサ値までの複数回分（３回以上）のセンサ値が記憶されるようになっている。
【０１６９】
第１の回転角演算部７６Ａは、フラグＦ４がセット（Ｆ４＝１）されているか否かを判別する（ステップＳ６４）。フラグＦ４は、強制回転に基づく回転角演算処理開始後において後述する相対的極番号の設定処理が既に実行されていることを記憶するためのフラグであり、相対的極番号の設定処理が実行されたときにセットされる。フラグＦ４は、初期状態では、リセット（Ｆ４＝０）されている。
【０１７０】
フラグＦ４がセットされていなければ（ステップＳ６４：ＮＯ）、第１の回転角演算部７６Ａは、相対的極番号の設定処理を行う（ステップＳ６５）。
図２０は、相対的極番号の設定処理の詳細な手順を示すフローチャートである。
第１の回転角演算部７６Ａは、まず、第１出力信号Ｓ１が０より大きいか否かを判別する（ステップＳ８１）。第１出力信号Ｓ１が０より大きい場合には（ステップＳ８１：ＹＥＳ）、第１の回転角演算部７６Ａは、第１磁気センサ７１が検出している磁極がＮ極の磁極であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ８４）。そして、ステップＳ８６に進む。
【０１７１】
一方、第１出力信号Ｓ１が０以下である場合には（ステップＳ８１：ＮＯ）、第１の回転角演算部７６Ａは、第１出力信号Ｓ１が０より小さいか否かを判別する（ステップＳ８２）。第１出力信号Ｓ１が０より小さい場合には（ステップＳ８２：ＹＥＳ）、第１の回転角演算部７６Ａは、第１磁気センサ７１が検出している磁極がＳ極の磁極であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ８５）。そして、ステップＳ８６に進む。
【０１７２】
前記ステップＳ８２において、第１出力信号Ｓ１が０以上であると判別された場合には（ステップＳ８２：ＮＯ）、つまり、第１出力信号Ｓ１が０である場合には、第１の回転角演算部７６Ａは、入力軸８の回転角が０°であるか１８０°であるかを判別するために、第２出力信号Ｓ２が０より大きいか否かを判別する（ステップＳ８３）。第２出力信号Ｓ２が０より大きい場合には（ステップＳ８３：ＹＥＳ）、第１の回転角演算部７６Ａは、入力軸８の回転角が０°であると判別し、第１相対的極番号ｒ１を１に設定する（ステップＳ８４）。そして、ステップＳ８６に進む。
【０１７３】
一方、第２出力信号Ｓ２が０以下である場合には（ステップＳ８３：ＮＯ）、第１の回転角演算部７６Ａは、入力軸８の回転角が１８０°であると判別し、第１相対的極番号ｒ１を２に設定する（ステップＳ８５）。そして、ステップＳ８６に進む。
ステップＳ８６では、第１の回転角演算部７６Ａは、「Ｓ１≧０かつＳ２＞０」または「Ｓ１≦０かつＳ２＜０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ８６：ＹＥＳ）、第１の回転角演算部７６Ａは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じであると判別し、第２相対的極番号ｒ２に第１相対的極番号ｒ１と同じ番号（ｒ２＝ｒ１）を設定する（ステップＳ８７）。そして、図１９ＡのステップＳ６６に移行する。
【０１７４】
一方、前記ステップＳ８６の条件を満たしていない場合には（ステップＳ８６：ＮＯ）、第１の回転角演算部７６Ａは、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい番号であると判別し、第２相対的極番号ｒ２に、第１相対的極番号ｒ１より１だけ大きい番号（ｒ２＝ｒ１＋１）を設定する（ステップＳ８８）。そして、図１９ＡのステップＳ６６に移行する。
【０１７５】
前記ステップＳ８６の条件に基づいて第２相対的極番号ｒ２を決定している理由について説明する。たとえば、磁石６１における磁極Ｍ１と磁極Ｍ２とからなる磁極対が第１磁気センサ７１を通過する際の、第１および第２出力信号Ｓ１，Ｓ２の信号波形を模式的に表すと、図２１の（ａ），（ｂ）のようになる。
図２１において、Ｑ１およびＱ４で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号と同じである。一方、Ｑ２，Ｑ３，Ｑ５およびＱ６で示す領域においては、第２磁気センサ７２が検出している磁極の極番号は、第１磁気センサ７１が検出している磁極の極番号より１だけ大きい。
【０１７６】
領域Ｑ１においては、両センサ値Ｓ１，Ｓ２は、Ｓ１≧０かつＳ２＞０の第１条件を満たす。領域Ｑ２およびＱ３においては、両センサ値Ｓ１，Ｓ２は、Ｓ１＞０かつＳ２≦０の第２条件を満たす。領域Ｑ４においては、両センサ値Ｓ１，Ｓ２は、Ｓ１≦０かつＳ２＜０の第３条件を満たす。領域Ｑ５およびＱ６においては、両センサ値Ｓ１，Ｓ２は、Ｓ１＜０かつＳ２≧０の第４条件を満たす。そこで、第１の回転角演算部７６Ａは、第１条件および第３条件の一方を満たしているときには、第２磁気センサ７２が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号と同じであると判別している。一方、第１条件および第３条件のいずれの条件をも満たしていないときには、第１の回転角演算部７６Ａは、第２磁気センサ７２が検出している磁極の極番号が、第１磁気センサ７１が検出している磁極の極番号より１だけ大きいと判別している。
【０１７７】
図１９Ａに戻り、ステップＳ６６では、第１の回転角演算部７６Ａは、フラグＦ４をセット（Ｆ４＝１）する。そして、ステップＳ６９に移行する。
前記ステップＳ６４において、フラグＦ４をセット（Ｆ４＝１）されていると判別された場合には（ステップＳ６４：ＹＥＳ）、ステップＳ６７に移行する。ステップＳ６７では、
第１の回転角演算部７６Ａは、作業用メモリに記憶されているセンサ値Ｓ１，Ｓ２に基づいて、センサ値Ｓ１，Ｓ２毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには（ステップＳ６７：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ６９に移行する。
【０１７８】
前記ステップＳ６７において、いずれかのセンサ値Ｓ１，Ｓ２に対してゼロクロスが検出された場合には（ステップＳ６７：ＹＥＳ）、第１の回転角演算部７６Ａは、相対的極番号の更新処理を行なう（ステップＳ６８）。具体的には、第１の回転角演算部７６Ａは、前記ステップＳ６７でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、入力軸８（磁石６１）の回転方向に応じて、１だけ大きい番号または１だけ小さい番号に変更する。
【０１７９】
入力軸８の回転方向が正方向（図１３に矢印で示す方向）である場合には、第１の回転角演算部７６Ａは、前記ステップＳ６７でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、１だけ大きい番号に更新する。一方、入力軸８の回転方向が逆方向である場合には、第１の回転角演算部７６Ａは、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、１だけ小さい番号に更新する。ただし、前述したように、”１”の相対的極番号に対して、１だけ小さい相対的極番号は、”８”となる。また、”８”の相対的極番号に対して、１だけ大きい相対的極番号は、”１”となる。
【０１８０】
なお、入力軸８の回転方向は、例えば、ゼロクロスが検出された出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第１出力信号Ｓ１である場合には、「第１出力信号Ｓ１の前回値が０より大きくかつその今回値が０以下であり、第２出力信号Ｓ２が０より小さい」という条件、または「第１出力信号Ｓ１の前回値が０未満でかつその今回値が０以上であり、第２出力信号Ｓ２が０より大きい」という条件を満たしている場合には、回転方向は正方向（図１３に矢印で示す方向）であると判定される。
【０１８１】
一方、「第１出力信号Ｓ１の前回値が０以上でかつその今回値が０未満であり、第２出力信号Ｓ２が０より大きい」という条件、または「第１出力信号Ｓ１の前回値が０以下でかつその今回値が０より大きく、第２出力信号Ｓ２が０より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第２出力信号Ｓ２である場合には、「第２出力信号Ｓ２の前回値が０より大きくかつその今回値が０以下であり、第１出力信号Ｓ１が０より大きい」という条件、または「第２出力信号Ｓ２の前回値が０未満でかつその今回値が０以上であり、第１出力信号Ｓ１が０より小さい」という条件を満たしている場合には、回転方向は正方向（図１３に矢印で示す方向）であると判定される。一方、「第２出力信号Ｓ２の前回値が０以上でかつその今回値が０未満であり、第１出力信号Ｓ１が０より小さい」という条件、または「第２出力信号Ｓ２の前回値が０以下でかつその今回値が０より大きく、第１出力信号Ｓ１が０より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【０１８２】
相対的極番号の更新処理が終了すると、第１の回転角演算部７６Ａは、ステップＳ６９に移行する。ステップＳ６９では、第１の回転角演算部７６Ａは、第１および第２磁気センサ７１，７２が共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する。各演算周期において、各磁気センサ７１，７２が検出している磁極の相対的番号は、それぞれ第１相対的磁極番号ｒ１および第２相対的磁極番号ｒ２によって認識することができる。したがって、所定演算周期前から今演算周期までの複数演算周期分の各相対的磁極番号ｒ１，ｒ２を作業用メモリに記憶することにより、３演算周期連続して両磁気センサ７１，７２がともに同じ１つの磁極を検出しているか否かを判別できる。  ステップＳ６９の条件を満たしていない場合には（ステップＳ６９：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ６３に戻る。一方、ステップＳ６９の条件を満たしている場合には（ステップＳ６９：ＹＥＳ）、第１の回転角演算部７６Ａは、Ａ１演算式（14）、Ｅ演算式（15）およびＡ２演算式（17）に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する（ステップＳ７０）。
【０１８３】
ステップＳ７０の条件を満たしていない場合には（ステップＳ７０：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ６３に戻る。一方、ステップＳ７０の条件を満たしている場合には（ステップＳ７０：ＹＥＳ）、第１の回転角演算部７６Ａは、図１９ＢのステップＳ７１に移行する。
ステップＳ７１では、第１の回転角演算部７６Ａは、第１方向とは反対方向である第２方向に電動モータ１８を回転駆動させる。具体的には、第１の回転角演算部７６Ａは、第２方向に電動モータ１８を回転駆動させるための第２強制回転指令をモータ制御用ＥＣＵ１２に送信する。モータ制御用ＥＣＵ１２は、この第２強制回転指令を受信すると、第２方向に電動モータ１８を回転駆動させる。
【０１８４】
この後、第１の回転角演算部７６Ａは、各磁気センサ７１，７２のセンサ値Ｓ１[n],Ｓ２[n]を取得する（ステップＳ７２）。ステップＳ７２の処理は、後述するステップＳ７６でＹＥＳと判定されるまで、所定の演算周期毎に繰り返し実行される。そして、第１の回転角演算部７６Ａは、作業用メモリに記憶されているセンサ値Ｓ１，Ｓ２に基づいて、センサ値Ｓ１，Ｓ２毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する（ステップＳ７３）。ゼロクロスが検出されなかったときには（ステップＳ７３：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ７５に移行する。
【０１８５】
前記ステップＳ７３において、いずれかのセンサ値Ｓ１，Ｓ２に対してゼロクロスが検出された場合には（ステップＳ７３：ＹＥＳ）、第１の回転角演算部７６Ａは、相対的極番号の更新処理を行なう（ステップＳ７４）。この相対的極番号の更新処理は、前述したステップＳ６８における相対的極番号の更新処理と同じである。ステップＳ７４の相対的極番号の更新処理が終了すると、第１の回転角演算部７６Ａは、ステップＳ７５に移行する。
【０１８６】
ステップＳ７５では、第１の回転角演算部７６Ａは、第１および第２磁気センサ７１，７２が共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する。ステップＳ７５の条件を満たしていない場合には（ステップＳ７５：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ７２に戻る。一方、ステップＳ７５の条件を満たしている場合には（ステップＳ７５：ＹＥＳ）、第１の回転角演算部７６Ａは、Ａ１演算式（14）、Ｅ演算式（15）およびＡ２演算式（17）に含まれている分数のいずれの分母も零でないという条件を満たしているか否かを判別する（ステップＳ７６）。
【０１８７】
ステップＳ７６の条件を満たしていない場合には（ステップＳ７６：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ７２に戻る。一方、ステップＳ７６の条件を満たしている場合には（ステップＳ７６：ＹＥＳ）、第１の回転角演算部７６Ａは、第１演算モードによって、振幅Ａ１、角度幅誤差補正値Ｅ、回転角θ[n]および振幅Ａ２を演算する（ステップＳ７７）。そして、第１の回転角演算部７６Ａは、得られた振幅Ａ１、角度幅誤差補正値Ｅおよび振幅Ａ２を、第１および第２磁気センサ７１，７２が検出している磁極の相対的極番号に関連付けて、不揮発性メモリ７９に記憶する（ステップＳ７８）。
【０１８８】
この後、第１の回転角演算部７６Ａは、電動モータ１８の駆動を停止させるとともに運転者への警告を停止させる（ステップＳ７９）。具体的には、第１の回転角演算部７６Ａは、電動モータ１８の駆動停止指令をモータ制御用ＥＣＵ１２に送信するとともに、映像音声制御装置に警告停止指令を送信する。モータ制御用ＥＣＵ１２は、電動モータ１８の駆動停止指令を受信すると電動モータ１８の駆動を停止させる。映像音声制御装置は、警告停止指令を受信すると、警告表示、警告音声出力等を停止させる。これにより、強制回転に基づく回転角演算処理が終了し、第１の回転角演算部７６Ａは、図１７のステップＳ５４に移行する。
【０１８９】
図２２Ａおよび図２２Ｂは、図１７のステップＳ５４の通常時の回転角演算処理の手順を示すフローチャートである。
第１の回転角演算部７６Ａは、各磁気センサ７１，７２のセンサ値Ｓ１[n],Ｓ２[n]を取得する（ステップＳ９１）。そして、第１の回転角演算部７６Ａは、作業用メモリに記憶されているセンサ値Ｓ１，Ｓ２に基づいて、センサ値Ｓ１，Ｓ２毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する（ステップＳ９２）。ゼロクロスが検出されなかったときには（ステップＳ９２：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ９４に移行する。
【０１９０】
前記ステップＳ９２において、いずれかのセンサ値Ｓ１，Ｓ２に対してゼロクロスが検出された場合には（ステップＳ９２：ＹＥＳ）、第１の回転角演算部７６Ａは、相対的極番号の更新処理を行なう（ステップＳ９３）。この相対的極番号の更新処理は、前述した図１９ＡのステップＳ６８における相対的極番号の更新処理と同じである。ステップＳ９３の相対的極番号の更新処理が終了すると、第１の回転角演算部７６Ａは、ステップＳ９４に移行する。
【０１９１】
ステップＳ９４では、第１の回転角演算部７６Ａは、第１および第２磁気センサ７１，７２が共に同じ１つの磁極を３演算周期連続して検出しているという条件を満たしている否かを判別する。ステップＳ９４の条件を満たしている場合には（ステップＳ９４：ＹＥＳ）、第１の回転角演算部７６Ａは、第１演算モードによってＡ１，Ｅ，θ[n]，Ａ２を演算する（ステップＳ９５）。第１演算モードによって回転角θ[n]を演算する際においては、第１の回転角演算部７６Ａは、Ａ１演算式(14)に含まれている分数の分母が零でないか否か、Ｅ演算式(15)に含まれている分数の分母が零でないか否か、Ａ２演算式(17)に含まれている分数の分母が零でないか否かを判定し、それらの判定結果に応じてＡ１，Ｅ，θ[n]，Ａ２を演算する。
【０１９２】
第１の回転角演算部７６Ａは、Ａ１，Ｅ，θ[n]，Ａ２を演算すると、Ａ１演算式(14)、Ｅ演算式(15)およびＡ２演算式(17)に含まれている分数のいずれの分母も零でないという条件を満たしていたか否かを判別する（ステップＳ９６）。ステップＳ９６の条件を満たしていた場合には（ステップＳ９６：ＹＥＳ）、第１の回転角演算部７６Ａは、演算されたＡ１、ＥおよびＡ２を、第１および第２磁気センサ７１，７２が検出している磁極の相対的極番号に関連付けて不揮発性メモリ７９に記憶する（ステップＳ９７）。第１および第２磁気センサ７１，７２が検出している磁極の相対的極番号は、現在設定されている第１相対的極番号ｒ１または第２相対的極番号ｒ２と同じ値となる。具体的には、第１の回転角演算部７６Ａは、不揮発性メモリ７９のエリアｅ１，ｅ２，ｅ３内の現在設定されている第１相対的極番号ｒ１に対応する記憶場所に、演算されたＥ、Ａ１およびＡ２をそれぞれ記憶する。なお、不揮発性メモリ７９のエリアｅ１，ｅ２，ｅ３の前記記憶場所に既にＥ、Ａ１およびＡ２が記憶されている場合には、今回演算されたＥ、Ａ１およびＡ２が上書きされる。この後、第１の回転角演算部７６Ａは、今回の通常時の回転角演算処理を終了する。
【０１９３】
前記ステップＳ９６において、ステップＳ９６の条件を満たしていなかったと判別された場合には（ステップＳ９６：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ９７の処理を行うことなく、今回の通常時の回転角演算処理を終了する。したがって、この場合には、ステップＳ９５で演算されたＥ、Ａ１およびＡ２は、不揮発性メモリ７９のエリアｅ１，ｅ２，ｅ３に記憶されない。
【０１９４】
前記ステップＳ９４において、ステップＳ９４の条件を満たしていないと判別された場合には（ステップＳ９４：ＮＯ）、第１の回転角演算部７６Ａは、図２２ＢのステップＳ９８に移行する。ステップＳ９８では、第１の回転角演算部７６Ａは、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅが不揮発性メモリ７９に記憶されているか否かを判別する。第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅが不揮発性メモリ７９に記憶されているか否かの判別は、不揮発性メモリ７９のエリアｅ１内の現在設定されている第１相対的極番号ｒ１に対応する記憶場所に、角度幅誤差補正値Ｅが記憶されているか否かに基づいて行われる。
【０１９５】
第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅが不揮発性メモリ７９に記憶されている場合には（ステップＳ９８：ＹＥＳ）、第１の回転角演算部７６Ａは、第２演算モードによって回転角θ[n]を演算する（ステップＳ９９）。そして、第１の回転角演算部７６Ａは、今回の通常時の回転角演算処理を終了する。
前記ステップＳ９８において、第１磁気センサ７１が検出している磁極に対応する角度幅誤差補正値Ｅが不揮発性メモリ７９に記憶されていないと判別された場合には（ステップＳ９８：ＮＯ）、第１の回転角演算部７６Ａは、ステップＳ１００に進む。ステップＳ１００では、第１の回転角演算部７６Ａは、第３演算モードによって回転角θ[n]を演算する。そして、第１の回転角演算部７６Ａは、今回の通常時の回転角演算処理を終了する。
【０１９６】
なお、図２２ＡのステップＳ９６を省略して、ステップＳ９５の処理が終了したときには、ステップＳ９７に進むようにしてもよい。
第２実施形態では、トルク演算用ＥＣＵ７５の電源がオンされたときに、各磁極に相対的極番号が既に割り当てられている場合（不揮発性メモリ７９に相対的極番号ｒ１，ｒ２が記憶されている場合）には、トルク演算用ＥＣＵ７５の電源がオンされた直後に、各磁気センサ７１，７２が検出している磁極の相対的極番号を特定することが可能となる。
【０１９７】
また、トルク演算用ＥＣＵ７５の電源がオンされたときに、各磁極に相対的極番号が既に割り当てられている場合には、第１の回転角演算部７６Ａは、電磁クラッチ１１０をオンさせた後に、強制回転に基づく回転角演算処理（図１７のステップＳ５３参照）を実行することなく、通常時の回転角演算処理（図１７のステップＳ５４参照）を開始することができる。これにより、トルク演算用ＥＣＵ７５の電源がオンされた直後から、第１演算モード、第２演算モードおよび第３演算モードのいずれかの演算モードによって、高い精度で回転角を演算できるようになる。
【０１９８】
前述の第２実施形態では、第１演算モードでは、２つの磁気センサ７１，７２が３サンプリング周期連続して共に同じ１つの磁極を検出している場合に、これらの２つの磁気センサ７１，７２における３サンプリング分の出力信号に基づいて入力軸８の回転角θが演算されている。しかし、第１演算モードにおいて、２つの磁気センサ７１，７２が２サンプリング周期連続して共に同じ１つの磁極を検出している場合に、これらの２つの磁気センサ７１，７２における２サンプリング分の出力信号に基づいて回転角θを演算するようにしてもよい。
【０１９９】
この場合には、２つの磁気センサ７１，７２の振幅Ａ１，Ａ２および角度幅誤差補正値Ｅのうちのいずれか一方が固定値とされる。これにより、２つの磁気センサ７１，７２における２サンプリング分の出力信号に基づいて、２つの磁気センサ７１，７２の振幅Ａ１，Ａ２および角度幅誤差補正値Ｅのうち固定値ではない方の情報と回転角θとを演算することが可能となる。
【０２００】
２つの磁気センサ７１，７２の振幅Ａ１，Ａ２が固定値とされる場合には、相対的極番号に関連して記憶される情報は、角度幅誤差補正値Ｅのみとなる。この場合、第２演算モードで用いられる演算式（19）内のＡ１および第３演算モードで用いられる演算式（21）内のＡ２は、固定値となる。
一方、角度幅誤差補正値Ｅが固定値とされる場合には、相対的極番号に関連して記憶される情報は、各磁気センサ７１，７２の振幅Ａ１，Ａ２のみとなる。この場合、第２演算モードで用いられる演算式（19）内のＥ１および第３演算モードで用いられる演算式（21）内のＥ２は、固定値となる。
【０２０１】
この発明は、入力軸８や出力軸９以外の回転体の回転角を検出する場合にも、適用することができる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０２０２】
８…入力軸、９…出力軸、１０…トーションバー、６１，６２…磁石、７１，７２，７３，７４…磁気センサ、７５…トルク演算用ＥＣＵ、７６…マイクロコンピュータ、７６Ａ，７６Ｂ…回転角演算部、７６Ｃ…トルク演算部、７７，７８…駆動回路、７９…不揮発性メモリ、１１０,１２０…電磁クラッチ、Ｍ１〜Ｍ１０…磁極
【図１】
2014142322.tif 000009
【図２】
2014142322.tif 000010
【図３】
2014142322.tif 000011
【図４】
2014142322.tif 000012
【図５】
2014142322.tif 000013
【図６】
2014142322.tif 000014
【図７】
2014142322.tif 000015
【図８】
2014142322.tif 000016
【図９Ａ】
2014142322.tif 000017
【図９Ｂ】
2014142322.tif 000018
【図１０】
2014142322.tif 000019
【図１１】
2014142322.tif 000020
【図１２】
2014142322.tif 000021
【図１３】
2014142322.tif 000022
【図１４】
2014142322.tif 000023
【図１５】
2014142322.tif 000024
【図１６】
2014142322.tif 000025
【図１７】
2014142322.tif 000026
【図１８】
2014142322.tif 000027
【図１９Ａ】
2014142322.tif 000028
【図１９Ｂ】
2014142322.tif 000029
【図２０】
2014142322.tif 000030
【図２１】
2014142322.tif 000031
【図２２Ａ】
2014142322.tif 000032
【図２２Ｂ】
2014142322.tif 000033