"回転体の回転に応じて回転しかつ複数の磁極が設けられた検出用ロータと、前記検出用ロータの回転に応じて、基準となる正弦波信号である第1の出力信号を出力する第1の磁気センサと、前記検出用ロータの回転に応じて、前記第1の出力信号と所定の位相差を有する正弦波信号である第2の出力信号を出力する第2の磁気センサとを含み、これらの磁気センサの出力信号に基づいて前記回転体の回転角を検出する回転角検出装置であって、予め測定された前記各磁極の角度幅を記憶する記憶手段と、前記複数の磁極の磁極対ごとにその角度幅に対応する区間を設定する手段と、前記第1の出力信号に基づいて、前記第1の磁気センサが感知している磁極を特定する磁極特定手段と、前記第1の出力信号に基づいて、前記区間内の回転角である第1の回転角を演算する第1演算手段と、前記第2の出力信号に基づいて、前記区間内の回転角である第2の回転角を演算する第2演算手段と、前記第1演算手段によって演算された第1の回転角と、前記記憶手段に記憶されている前記各磁極の角度幅と、前記磁極特定手段によって特定された磁極とに基づいて、前記検出用ロータの第1の絶対回転角を演算する第3演算手段と、前記第2演算手段によって演算された第2の回転角と、前記記憶手段に記憶されている前記各磁極の角度幅と、前記磁極特定手段によって特定された磁極とに基づいて、前記検出用ロータの第2の絶対回転角を演算する第4演算手段と、前記第3演算手段によって演算された第1の絶対回転角と、前記第4演算手段によって演算された第2の絶対回転角とに基づいて、前記回転体の回転角を演算する第5演算手段と、を含む回転角検出装置。前記第5演算手段は、前記第1の出力信号の信号値および前記第2の出力信号の信号値に基づいて、前記第1の絶対回転角および前記第2の絶対回転角に基づく前記回転体の回転角の演算方法を切り替える手段を含む、請求項1に記載の回転角検出装置。前記第1の出力信号と前記第2の出力信号との位相差が90°であり、前記第1演算手段は、前記第1の出力信号と前記第2の出力信号の極性とに基づいて、前記第1の回転角を演算するものであり、前記第2演算手段は、前記第2の出力信号と前記第1の出力信号の極性とに基づいて、前記第2の回転角を演算するものであり、前記第5演算手段は、前記第1の出力信号が極値付近にあるときには、前記第4演算手段によって演算された第2の絶対回転角に基づいて、前記回転体の回転角を演算する手段と、前記第2の出力信号が極値付近にあるときには、前記第3演算手段によって演算された第1の絶対回転角に基づいて、前記回転体の回転角を演算する手段と、前記第1の出力信号および前記第2の出力信号がともに極値付近でない場合には、前記第3演算手段によって演算された第1の絶対回転角および前記第4演算手段によって演算された第2の絶対回転角の両方に基づいて、前記回転体の回転角を演算する手段と、を含む請求項2に記載の回転角検出装置。前記第5演算手段は、前記第3演算手段によって演算された第1の絶対回転角に対応する第1の出力信号値に応じた値を、第3の出力信号値として演算する手段と、前記第4演算手段によって演算された第2の絶対回転角に対応する第2の出力信号値に応じた値を、第4の出力信号値として演算する手段と、前記第3の出力信号値と前記第4の出力信号値とに基づいて、前記回転体の回転角を演算する手段と、を含む請求項1に記載の回転角検出装置。前記磁極特定手段は、前記第1の出力信号の極値を検出する検出手段と、前記検出手段によって検出される極値と、予め設定された極値データとに基づいて、前記第1の磁気センサが感知している磁極を特定する手段と、を含む、請求項1~4のいずれか一項に記載の回転角検出装置。前述したような従来の回転角検出装置をブラシレスモータのロータの回転角を検出するために用いる場合には、ブラシレスモータの制御に用いられる電気角を高精度に検出するために、検出用ロータ101の磁極数とブラシレスモータの磁極数とを等しくすることが好ましい。しかしながら、検出用ロータ101に着磁すべき磁極数が多くなると、着磁誤差により、各磁極の角度幅にばらつきが発生する。各磁極の角度幅にばらつきが生じると、回転角検出装置によって検出される回転角に誤差が生じる。この発明の目的は、検出用ロータに設けられた各磁極の角度幅にばらつきがあったとしても、回転体の回転角を高精度に検出することができる回転角検出装置を提供することである。この発明の回転角検出装置は、回転体10の回転に応じて回転しかつ複数の磁極M0~M9が設けられた検出用ロータ1と、前記検出用ロータの回転に応じて、基準となる正弦波信号である第1の出力信号V1=A1sinθを出力する第1の磁気センサ21と、前記検出用ロータの回転に応じて、前記第1の出力信号と所定の位相差を有する正弦波信号である第2の出力信号V2=A2cosθを出力する第2の磁気センサ22とを含み、これらの磁気センサの出力信号に基づいて前記回転体の回転角を検出する回転角検出装置20であって、予め測定された前記各磁極の角度幅を記憶する記憶手段20と、前記複数の磁極の磁極対ごとにその角度幅に対応する区間を設定する手段20と、前記第1の出力信号に基づいて、前記第1の磁気センサが感知している磁極を特定する磁極特定手段20,S2~S5と、前記第1の出力信号に基づいて、前記区間内の回転角である第1の回転角θRSを演算する第1演算手段20,S7と、前記第2の出力信号に基づいて、前記区間内の回転角である第2の回転角θRCを演算する第2演算手段20,S9と、前記第1演算手段によって演算された第1の回転角と、前記記憶手段に記憶されている前記各磁極の角度幅と、前記磁極特定手段によって特定された磁極とに基づいて、前記検出用ロータの第1の絶対回転角θASを演算する第3演算手段20,S8と、前記第2演算手段によって演算された第2の相対回転角と、前記記憶手段に記憶されている前記各磁極の角度幅と、前記磁極特定手段によって特定された磁極とに基づいて、前記検出用ロータの第2の絶対回転角θACを演算する第4演算手段20,S10と、前記第3演算手段によって演算された第1の絶対回転角と、前記第4演算手段によって演算された第2の絶対回転角とに基づいて、前記回転体の回転角θEを演算する第5演算手段20,S11,S12,S31,S32,S12Aとを含む。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表す。しかし、このことは、この発明が当該実施形態に限定して解釈されるべきことを意図するものではない。上記構成では、第1の出力信号に基づいて、第1の磁気センサが感知している磁極が特定される。第1の出力信号に基づいて、磁極対の区間内の回転角である第1の回転角第1の相対回転角が演算される。第1の回転角と各磁極の角度幅と第1の磁気センサが感知している磁極とに基づいて、検出用ロータの第1の絶対回転角が演算される。これにより、検出用ロータに設けられた複数の磁極の角度幅にばらつきがある場合でも、第1の回転角から正確な絶対回転角を演算することができる。また、第2の出力信号に基づいて、磁極対の区間内の回転角である第2の回転角第2の相対回転角が演算される。第2の回転角と各磁極の角度幅と第1の磁気センサが感知している磁極とに基づいて、検出用ロータの第2の絶対回転角が演算される。これにより、検出用ロータに設けられた複数の磁極の角度幅にばらつきがある場合でも、第2の回転角から正確な絶対回転角を演算することができる。そして、第1の絶対回転角と第2の絶対回転角とに基づいて、回転体の回転角が演算される。これにより、各磁極の角度幅にばらつきがあったとしても、回転体の回転角を高精度に検出することができる。この発明の一実施形態では、前記第5演算手段は、前記第1の出力信号の信号値および前記第2の出力信号の信号値に基づいて、前記第1の絶対回転角および前記第2の絶対回転角に基づく前記回転体の回転角の演算方法を切り替える手段を含む。この構成では、第1の出力信号の信号値および第2の出力信号の信号値に基づいて、第1の絶対回転角および第2の絶対回転角に基づく回転体の回転角の演算方法が切り替えられる。これにより、第1の出力信号の信号値および第2の出力信号の信号値に応じた適切な演算方法によって、回転体の回転角を演算することが可能となる。この発明の一実施形態では、前記第1の出力信号と前記第2の出力信号との位相差が90°相対回転角の90°であり、前記第1演算手段は、前記第1の出力信号と前記第2の出力信号の極性とに基づいて、前記第1の回転角を演算するものであり、前記第2演算手段は、前記第2の出力信号と前記第1の出力信号の極性とに基づいて、前記第2の回転角を演算するものであり、前記第5演算手段は、前記第1の出力信号が極値付近にあるときには、前記第4演算手段によって演算された第2の絶対回転角に基づいて、前記回転体の回転角を演算する手段20,S11,S12と、前記第2の出力信号が極値付近にあるときには、前記第3演算手段によって演算された第1の絶対回転角に基づいて、前記回転体の回転角を演算する手段20,S11,S12と、前記第1の出力信号および前記第2の出力信号がともに極値付近でない場合には、前記第3演算手段によって演算された第1の絶対回転角および前記第4演算手段によって演算された第2の絶対回転角の一方または両方に基づいて、前記回転体の回転角を演算する手段20,S11,S12とを含む。この構成では、第1の回転角第1の相対回転角は、第1の出力信号と第2の出力信号の極性とに基づいて演算される。第2の出力信号の極性は、第2の出力信号のゼロクロス位置を境界として反転する。したがって、第1の出力信号のピーク位置と第2の出力信号のゼロクロス位置とがずれると、当該第1の出力信号のピーク位置付近においては、第1の回転角に誤差が生じるおそれがある。そこで、第1の出力信号が極値付近にあるときには、第4演算手段によって演算された第2の絶対回転角に基づいて、回転体の回転角が演算される。つまり、第1の出力信号が極値付近にあるときには、誤差が生じるおそれがある第1の回転角に基づいて演算される第1の絶対回転角を用いずに、第2の絶対回転角を用いて回転体の回転角が演算される。これにより、第1の出力信号のピーク位置と第2の出力信号のゼロクロス位置とがずれたとしても、回転体の回転角を高精度に演算することができる。また、第2の回転角第2の相対回転角は、第2の出力信号と第1の出力信号の極性とに基づいて演算される。第1の出力信号の極性は、第1の出力信号のゼロクロス位置を境界として反転する。したがって、第2の出力信号のピーク位置と第1の出力信号のゼロクロス位置とがずれると、当該第2の出力信号のピーク位置付近においては、第2の回転角に誤差が生じるおそれがある。そこで、第2の出力信号が極値付近にあるときには、第3演算手段によって演算された第1の絶対回転角に基づいて、回転体の回転角が演算される。つまり、第2の出力信号が極値付近にあるときには、誤差が生じるおそれがある第2の回転角に基づいて演算される第2の絶対回転角を用いずに、第1の絶対回転角を用いて回転体の回転角が演算される。これにより、第2の出力信号のピーク位置と第1の出力信号のゼロクロス位置とがずれたとしても、回転体の回転角を高精度に演算することができる。第1の出力信号および第2の出力信号がともに極値付近でない場合には、第3演算手段によって演算された第1の絶対回転角および第4演算手段によって演算された第2の絶対回転角の一方または両方に基づいて、回転体の回転角が演算される。第1の絶対回転角および第2の絶対回転角の両方に基づいて回転体の回転角が演算される場合には、たとえば、第1の絶対回転角と第2の絶対回転角とを平均することによって、またはそれぞれに重みを付けて加算することによって、回転体の回転角が演算される。この発明の一実施形態では、前記第5演算手段は、前記第1の絶対回転角に対応する第1の出力信号値に応じた値sinθASを、第3の出力信号値として演算する手段20,S31と、前記第2の絶対回転角に対応する第2の出力信号値に応じた値cosθACを、第4の出力信号値として演算する手段20,S32と、前記第3の出力信号値と前記第4の出力信号値とに基づいて、前記回転体の回転角を演算する手段20,S12Aとを含む。この構成では、第1の絶対回転角に対応する第1の出力信号値に応じた値が、第3の出力信号値として演算される。また第2の絶対回転角に対応する第2の出力信号値に応じた値が、第4の出力信号値として演算される。そして、第3の出力信号値と第4の出力信号値とに基づいて、回転体の回転角を演算される。この発明の一実施形態では、前記磁極特定手段は、前記第1の出力信号の極値を検出する検出手段20,S2と、前記検出手段によって検出される極値と、予め設定された極値データとに基づいて、前記第1の磁気センサが感知している磁極を特定する手段20,S3~S5とを含む。この構成では、第1の出力信号の極値が検出手段によって検出される。検出手段によって検出される極値と、予め設定された極値データとに基づいて、第1の磁気センサが感知している磁極が特定される。本発明における上述の、またはさらに他の目的、特徴および効果は、添付図面を参照して次に述べる実施形態の説明により明らかにされる。以下では、この発明を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の実施形態について、添付図面を参照して詳細に説明する。図1は、この発明の第1の実施形態に係る回転角検出装置を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の構成を示す模式図である。この回転角検出装置は、ブラシレスモータ10の回転に応じて回転する検出用ロータ以下、単にロータ1というを有している。図2に示すように、ロータ1は、ブラシレスモータ10のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石2を含んでいる。つまり、ロータ1には、周方向に並んだ複数の磁極が設けられている。この例では、磁石2は、5組の磁極対M0,M1,M2,M3,M4,M5,M6,M7,M8,M9を有している。つまり、磁石2は、10個の磁極M0~M9を有している。ブラシレスモータ10のロータに設けられた各磁極の周方向の長さは、全て同じである。つまり、ブラシレスモータ10のロータに設けられた各磁極の角度幅は全て同じであり、36°である。したがって、このブラシレスモータ10では、1磁極対の角度幅は、機械角で72°であり、これが電気角の360°に相当する。これに対し、図2に示すように、ロータ1に設けられている各磁極M0~M9の角度幅a~jには、着磁誤差によって、ばらつきがある。言い換えれば、各磁極M0~M9の着磁面積にはばらつきがある。この例では、N極の磁極M0,M2,M4,M6,M8の角度幅a,c,e,g,iは、それぞれ異なっている。S極の磁極M1,M3,M5,M7,M9のうち、磁極M9以外の4つの磁極M1,M3,M5,M7は、それぞれ異なっている。磁極M9の角度幅jは、磁極M5の角度幅fと等しい。この実施形態においては、各磁極M0~M9の角度幅は、表1に示すようになっている。ただし、表1では、角度幅は、その角度幅に対応する機械角に磁極対数この実施形態では5を乗算した値で表されている。なお、図2において、破線は、ロータ1を周方向に36°前記電気角では180°間隔で分割した場合の各領域を示している。ロータ1の周囲には、2つの磁気センサ21,22が、ロータ1の回転中心軸を中心として、所定角度18°前記電気角では90°の角度間隔をおいて配置されている。これら2つの磁気センサ21,22を、それぞれ第1の磁気センサ21および第2の磁気センサ22という場合がある。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子MR素子等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。図2に矢印で示す方向をロータ1の正方向の回転方向とする。そして、ロータ1が正方向に回転されるとロータ1の回転角が大きくなり、ロータ1が逆方向に回転されると、ロータ1の回転角が小さくなるものとする。各磁気センサ21,22からは、図3に示すように、ロータ1の回転にともなって、正弦波状の信号以下、正弦波信号というV1,V2が出力される。なお、図3における横軸のロータ角度[degは、機械角に磁極対数この実施形態では5を乗算することにより得られた角度後述する絶対回転角θAを表している。また、図3には、正弦波信号V1の各ピーク値極値;極大値または極小値付近に、その時点において第1の磁気センサ21が感知している磁極の領域a~jが明記されている。ロータ1が1つの磁極に相当する角度を回転すると、各磁気センサ21,22からは、半周期分の正弦波信号が出力される。ただし、この実施形態では、各磁極の角度幅は一定幅ではないため、1つの磁気センサから出力される正弦波信号における各磁極に対応する半周期は一定ではない。また、磁極M5および磁極M9を除いて、各磁気センサ21,22の出力信号V1,V2の磁極毎のピーク値は、磁極ごとに異なる。所定の基準位置からのロータ1の絶対的な回転角を、ロータ1の絶対回転角θAということにする。ただし、この実施形態では、ロータ1の絶対回転角θAは、所定の基準位置からのロータ1の機械角に磁極対数この実施形態では5を乗算した値である。したがって、絶対回転角θAを磁極対数この実施形態では5で除算した値が、所定の基準位置からのロータ1の機械角となる。ロータ1の1回転分の角度範囲を、5つの磁極対の角度幅に対応して、5つの区間ab,cd,ef,gh,ijに分け、各区間の開始位置を0°とし終了位置を360°として、絶対回転角θAに対応する角度を0~360°の範囲内で表した角度を、ロータ1の相対回転角θRということにする。なお、この実施形態では、これらの5つの区間の角度幅は、一定幅ではない。ここでは、第1の磁気センサ21からは、5つの磁極対に対応する区間毎に、基準となる正弦波信号V1=A1sinθRが出力されるものとする。また、第2の磁気センサ22からは、5つの磁極対に対応する区間毎に、信号V1に対して相対回転角で90°の位相差を有する正弦波信号V2=A2sinθR90°=A2cosθRが出力されるものとする。A1,A2は、それぞれ振幅を表している。ただし、振幅A1は、第1の磁気センサ21が感知している磁極の角度幅に応じて変化する。同様に、振幅A2も第2の磁気センサ22が感知している磁極の角度幅に応じて変化する。また、θRは、対応する区間における相対回転角θRを表している。第1の磁気センサ21の出力信号V1を第1の出力信号V1といい、第2の磁気センサ22の出力信号V2を第2の出力信号V2という場合がある。後述するように、磁極毎の振幅A1,A2がそれぞれAとなるように、出力信号V1,V2は正規化振幅補正される。正規化後振幅補正後の第1の出力信号をV1’=AsinθRで表し、正規化後振幅補正後の第2の出力信号をV2’=AcosθRで表すことにする。振幅補正後の第1の出力信号V1’からsin-1V1’/Aを求めることにより、対応する区間における相対回転角θR以下、第1の相対回転角θRSというを求めることができる。第1の相対回転角θRSは、次式に基づいて求めることができる。θRS=sin-1V1’/Aα...ただし、sin-1V1’/Aは、0°~90°および270°~360°の範囲内の角度として求められる。また、αは、第2の磁気センサ22の出力信号V2の極性正負に応じて決定される変数である。図4Aに示すように、振幅補正後の第1の出力信号V1’の値がたとえばAsin45 ゚のように正である場合には、sin-1V1’/Aに対応する回転角は、相対回転角θRが0°~90°の領域P1内の対応する回転角たとえば45°と、相対回転角θRが90°~180°の領域P2内の対応する回転角たとえば135°との2つの回転角となる。つまり、振幅補正後の第1の出力信号V1’の値が正である場合には、sin-1V1’/Aに対応する回転角を求めるだけでは、実際の相対回転角θRが領域P1内にあるのか、領域P2内にあるのか不明である。そこで、この実施形態では、実際の相対回転角θRが領域P1内にあるのか、領域P2内にあるのかを、振幅補正後の第2の出力信号V2’の極性に基づいて判定する。つまり、振幅補正後の第2の出力信号V2’の極性が正であれば、実際の相対回転角θRが領域P1内にあると判定し、振幅補正後の第2の出力信号V2’の極性が負であれば、実際の相対回転角θRが領域P2内にあると判定する。前記式を参照して、回転角演算装置20は、振幅補正後の第1の出力信号V1’の値が正である場合には、sin-1V1’/Aに対応する回転角を、領域P1内の回転角であるものとして求める。そして、回転角演算装置20は、振幅補正後の第2の出力信号V2’の極性が正の場合にはαをα=0に設定し、振幅補正後の第2の出力信号V2’の極性が負の場合にはαをα=180°-2sin-1V1’/Aに設定する。一方、振幅補正後の第1の出力信号V1’の値がたとえばAsin315 ゚のように負である場合には、sin-1V1’/Aに対応する回転角は、相対回転角θRが180°~270°の領域Q1内の対応する回転角たとえば225°と、相対回転角θRが270°~360°の領域Q2内の対応する回転角たとえば315°との2つの回転角となる。つまり、振幅補正後の第1の出力信号V1’の値が負である場合には、sin-1V1’/Aに対応する回転角を求めるだけでは、実際の相対回転角θRが領域Q1内にあるのか、領域Q2にあるのか不明である。そこで、この実施形態では、実際の相対回転角θRが領域Q1内にあるのか、領域Q2内にあるのかを、振幅補正後の第2の出力信号V2’の極性に基づいて判定する。つまり、振幅補正後の第2の出力信号V2’の極性が正であれば、実際の相対回転角θRが領域Q2内にあると判定し、振幅補正後の第2の出力信号V2’の極性が負であれば、実際の相対回転角θRが領域Q1内にあると判定する。前記式を参照して、回転角演算装置20は、振幅補正後の第1の出力信号V1’の値が負である場合には、sin-1V1’/Aに対応する回転角を、領域Q2内の回転角であるものとして求める。そして、回転角演算装置20は、振幅補正後の第2の出力信号V2’の極性が正の場合にはαをα=0に設定し、振幅補正後の第2の出力信号V2’の極性が負の場合にはαをα=540°-2sin-1V1’/Aに設定する。振幅補正後の第2の出力信号V2’からcos-1V2’/Aを求めることにより、対応する区間における相対回転角θR以下、第2の相対回転角θRCというを求めることができる。第2の相対回転角θRCは、次式に基づいて求めることができる。θRC=cos-1V2’/Aβ...ただし、cos-1V2’/Aは、0°~180°の範囲内の角度として求められる。また、βは、振幅補正後の第1の出力信号V1’の極性正負に応じて決定される変数である。図4Bに示すように、振幅補正後の第2の出力信号V2’の値がたとえばAcos45 ゚のように正であっても、あるいはたとえばAcos135 ゚のように負であっても、cos-1V2’/Aに対応する回転角は、相対回転角θRが0°~180°の領域P内の対応する回転角たとえば45°または135°と、相対回転角θRが180°~360°の領域Q内の対応する回転角たとえば315°または225°との2つの回転角となる。つまり、cos-1V1’/Aに対応する回転角を求めるだけでは、実際の相対回転角θRが領域P内にあるのか、領域Q内にあるのか不明である。そこで、この実施形態では、実際の相対回転角θRが領域P内にあるのか、領域Q内にあるのかを、振幅補正後の第1の出力信号V1’の極性に基づいて判定する。つまり、振幅補正後の第1の出力信号V1’の極性が正であれば、実際の相対回転角θRが領域P内にあると判定し、振幅補正後の第1の出力信号V1’の極性が負であれば、実際の相対回転角θRが領域Q内にあると判定する。前記式を参照して、回転角演算装置20は、cos-1V2’/Aに対応する回転角を、領域P内の回転角であるものとして求める。そして、回転角演算装置20は、振幅補正後の第1の出力信号V1’の極性が正の場合にはβをβ=0に設定し、振幅補正後の第1の出力信号V1’の極性が負の場合にはβをβ=360°-2cos-1V2’/Aに設定する。図1に戻り、各磁気センサ21,22の出力信号V1,V2は、回転角演算装置20に入力される。回転角演算装置20は、第1の出力信号V1に基づいて、ロータ1の第1の相対回転角θRSを演算し、得られた第1の相対回転角θRS等に基づいて、ロータ1の第1の絶対回転角この例では、機械角×磁極対数に相当するθASを演算する。また、回転角演算装置20は、第2の出力信号V2に基づいて、ロータ1の第2の相対回転角θRCを演算し、得られた第2の相対回転角θRC等に基づいて、ロータ1の第2の絶対回転角この例では、機械角×磁極対数に相当するθACを演算する。そして、回転角演算装置20は、得られた第1の絶対回転角θASと第2の絶対回転角θACとに基づいて、ロータ1の最終的な絶対回転角θAを演算し、得られた絶対回転角θAに基づいて、ブラシレスモータのロータの電気角θEを演算する。回転角演算装置20は、たとえば、マイクロコンピュータから構成され、CPU中央演算処理装置およびメモリROM,RAM,書き換え可能な不揮発性メモリ等を含んでいる。回転角演算装置20によって演算された電気角θEは、モータコントローラ30に与えられる。モータコントローラ30は、回転角演算装置20から与えられた電気角θEと、所与の指令値とに基づいて、ブラシレスモータ10を制御する。以下、回転角演算装置20の動作について説明する。回転角演算装置20内の書き換え可能な不揮発性メモリには、磁気センサ21,22毎に、振幅補正用テーブルが記憶されている。図5Aは、第1の磁気センサ21に対応する振幅補正用テーブル以下、第1テーブルという場合があるの内容例を示している。第1テーブルには、各磁極M0~M9の磁極番号0~9毎に、その磁極に対応する第1の出力信号V1のピーク値極大値または極小値、その磁極の角度幅[deg]および補正ゲインG1が記憶されている。ただし、角度幅は、表1で説明したように、その角度幅に対応する機械角に磁極対数この実施形態では5を乗算した値である。補正ゲインG1は、第1の出力信号V1の振幅の磁極毎のばらつきを補正するためのゲインである。任意の磁極に対する振幅補正ゲインG1は、当該磁極に対応する第1の出力信号V1のピーク値極大値または極小値と基準振幅とを用い、次式に基づいて求められる。基準振幅は、たとえば、角度幅機械角×磁極対数が180°の磁極に対応する第1の出力信号V1のピーク値絶対値に相当する値である。基準振幅は、予め設定され、この例では500である。G1=基準振幅/|ピーク値|...図5Bは、第2の磁気センサ22に対応する振幅補正用テーブル以下、第2テーブルという場合があるの内容例を示している。第2テーブルには、各磁極M0~M9の磁極番号0~9毎に、その磁極に対応する第2の出力信号V2のピーク値極大値または極小値、その磁極の角度幅[deg]および補正ゲインG2が記憶されている。補正ゲインG2は、第2の出力信号V2の振幅の磁極毎のばらつきを補正するためのゲインである。図5Bでは、説明の便宜上、各磁極に対する第2の出力信号V2のピーク値は、対応する磁極に対する第1の出力信号V1のピーク値と同じ値となっているが、実際には互いに異なる場合もある。任意の磁極に対する補正ゲインG2は、当該磁極に対応する第2の出力信号V2のピーク値極大値または極小値と基準振幅とを用い、次式に基いて求められる。基準振幅は、たとえば、角度幅が180°の磁極に対応する第2の出力信号V2のピーク値絶対値に相当する値である。基準振幅は、予め設定され、この例では500である。G2=基準振幅/|ピーク値|...前記振幅補正用テーブルへのピーク値および補正ゲインの記憶は、ブラシレスモータ10の出荷前に行ってもよいし、ブラシレスモータ10の出荷後において、モータ制御中にピーク値を検出することにより、行ってもよい。前記振幅補正用テーブルに記憶されるピーク値および補正ゲインは、1周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。また、回転角演算装置20内の書き換え可能な不揮発性メモリには、磁極毎磁極番号毎に、第1の磁気センサ21によってその磁極に対するピーク値が検出されているときに、第2の磁気センサ22が感知している磁極の極番号を示すデータを記憶した磁極特定用テーブル以下、第3テーブルという場合があると、磁極毎磁極番号毎に、第2の磁気センサ22によってその磁極に対するピーク値が検出されているときに、第1の磁気センサ21が感知している磁極の極番号を示すデータを記憶した磁極特定用テーブル以下、第4テーブルというという場合があるとが記憶されている。第3テーブルおよび第4テーブルは、両磁気センサ21,22の配置および角度間隔ならびにロータ1の構成に基づいて作成される。回転角演算装置20は、第1または第2の磁気センサ21,22の出力信号V1,V2からピーク値を検出すると、ピーク値が検出された一方の磁気センサに対応する振幅補正用テーブル第1テーブルまたは第2テーブルに基づいて、当該磁気センサが感知している磁極の極番号を特定する。この際、センサ信号のピーク値は磁石の温度特性磁石の温度が高くなるほどピーク値が小さくなるに応じて変化するので、磁石の温度係数温度が高くなるほど小さくなる係数を振幅補正用テーブルのピーク値に乗算することによってテーブル値を補正し、検出されたピーク値と補正後のテーブル値とに基づいて、磁極の極番号を特定するようにしてもよい。なお、この実施形態では、磁極M5に対応するピーク値と磁極M9に対応するピーク値は同じであるので、磁極M5または磁極M9に対応するピーク値が、いずれか一方の磁気センサによって検出されたとしても、回転角演算装置20は、当該磁気センサが感知している磁極の極番号を特定することはできない。そこで、回転角演算装置20は、回転角演算処理開始後、磁極M5,M9以外の磁極に対応するピーク値が一方の磁気センサによって検出されたときに、当該磁気センサが感知している磁極の極番号を特定する。回転角演算装置20は、特定された極番号と、第3または第4テーブル磁極特定用テーブルとに基づいて、他方の磁気センサが感知している磁極の極番号を特定する。たとえば、第1テーブルに基づいて、第1の磁気センサ21が感知している磁極の極番号が特定された場合には、特定された極番号と第3テーブルとに基いて、第2の磁気センサ22が感知している磁極の極番号が特定される。一方、第2テーブルに基いて、第2の磁気センサ22が感知している磁極の極番号が特定された場合には、特定された極番号と第4テーブルとに基いて、第1の磁気センサ21が感知している磁極の極番号が特定される。これにより、各磁気センサ21,22が感知している磁極の極番号が特定されるので、回転角演算装置20は、各磁気センサ21,22の出力信号V1,V2を、それらが感知している磁極に対応する補正ゲインG1,G2を用いて振幅補正する。そして、回転角演算装置20は、振幅補正後の第1の出力信号V1’の値および振幅補正後の第2の出力信号V2’の極性に基づいて、ロータ1の第1の相対回転角θRSを演算する図4A参照。そして、得られた第1の相対回転角θRS、第1の磁気センサ21が感知していると特定された磁極の極番号および振幅補正用テーブルの内容に基づいて第1の絶対回転角θASを演算する。また、回転角演算装置20は、振幅補正後の第2の出力信号V2’の値および振幅補正後の第1の出力信号V1’の極性に基づいて、ロータ1の第2の相対回転角θRCを演算する図4B参照。そして、得られた第2の相対回転角θRC、第1磁気センサ21が感知していると特定された磁極の極番号および振幅補正用テーブルの内容に基づいて第2の絶対回転角θACを演算する。また、回転角演算装置20は、得られた第1の絶対回転角θASと第2の絶対回転角θACとに基づいて、最終的な絶対回転角θAを演算する。そして、回転角演算装置20は、得られた最終的な絶対回転角θAから、ブラシレスモータ10の電気角θEを演算する。それ以後は、回転角演算装置20は、第1または第2の磁気センサ21,22の出力信号V1,V2からピーク値が検出される毎に、ピーク値が検出された一方の磁気センサに対して既に特定されている極番号を更新し、当該磁気センサの出力信号を、更新後の極番号に対応する補正ゲインを用いて補正する。そして、回転角演算装置20は、上記と同様にして、ブラシレスモータ10の電気角θEを演算する。図6は、回転角演算装置20による回転角演算処理の手順を示すフローチャートである。モータコントローラ30が起動されると、回転角演算装置20は、各磁気センサ21,22の出力信号センサ値V1,V2を読み込むステップS1。なお、回転角演算装置20のメモリたとえば、RAMには、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。回転角演算装置20は、メモリに記憶されているセンサ値に基づいて、各センサ値V1,V2毎にピーク値を検出したか否かを判定するステップS2。以下において、ステップS2の判定処理を、ピーク値検出処理という場合がある。具体的には、回転角演算装置20は、センサ値が上昇傾向から下降傾向に変化したときには、ピーク値極大値を検出したと判別するとともに、当該極大値を特定する。また、回転角演算装置20は、センサ値が下降傾向から上昇傾向に変化したときには、ピーク値極小値を検出したと判別するとともに、当該極小値を特定する。前記ステップS2において、ピーク値が検出されなかったときにはステップS2:NO、ステップS6に移行する。一方、前記ステップS2において、ピーク値が検出されたときにはステップS2:YES、回転角演算装置20は、コントローラ起動後において後述するステップS4の極番号特定処理によって各磁気センサ21,22が感知している磁極が特定されたか否かを判別するステップS3。コントローラ起動後において極番号特定処理が行なわれていない場合またはコントローラ起動後に極番号特定処理が行なわれたが各磁気センサ21,22が感知している磁極を特定することができなかった場合にはステップS3:NO、回転角演算装置20は、極番号特定処理を行なうステップS4。つまり、回転角演算装置20は、各磁気センサ21,22がそれぞれ感知している磁極を特定するための処理を行なう。具体的には、回転角演算装置20は、まず、前記ステップS2のピーク値検出処理によって検出されたピーク値極大値または極小値と、当該ピーク値を出力した磁気センサに対応する振幅補正用テーブル第1または第2テーブルの内容とに基づいて、当該磁気センサが感知している磁極を特定する。つまり、回転角演算装置20は、振幅補正用テーブルに記憶されている複数のピーク値のうち、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号を、当該磁気センサが感知している磁極の極番号として特定する。ただし、ピーク値検出処理によって検出されたピーク値に最も近いピーク値に対応する極番号が磁極M5または磁極M9に対応する極番号である場合には、回転角演算装置20は、当該磁気センサが感知している磁極を特定しない。前記磁気センサが感知している磁極の極番号を特定できた場合には、回転角演算装置20は、当該磁気センサが感知している磁極の極番号と、第3テーブルまたは第4テーブル磁極特定用テーブルとに基づいて、他方の磁気センサが感知している磁極を特定する。これにより、各磁気センサ21,22がそれぞれ感知している磁極が特定される。ステップS4の処理が終了すると、ステップS6に移行する。前記ステップS3において、コントローラ起動後に行なわれたステップS4の極番号特定処理によって、各センサ21,22が感知している磁極の極番号が特定されたと判別された場合にはステップS3:YES、回転角演算装置20は、極番号更新処理を行なうステップS5。具体的には、回転角演算装置20は、前記ステップS2のピーク値検出処理によってピーク値が検出された方の磁気センサに対して既に特定されている極番号を、ロータ1の回転方向に基づいて更新する。より具体的には、回転角演算装置20は、当該磁気センサに対して既に特定されている極番号を、ロータ1の回転方向に応じて、1だけ多い極番号または1だけ少ない極番号に変更する。ロータ1の回転方向が正方向図2に矢印で示す方向である場合には、既に特定されている前記極番号を、1だけ多い極番号に更新し、ロータ1の回転方向が逆方向である場合には、既に特定されている前記極番号を、1だけ少ない極番号に更新する。ただし、0の極番号に対して、1だけ少ない極番号は、9となる。また、9の極番号に対して、1だけ多い極番号は、0となる。ステップS5の処理が終了すると、ステップS6に移行する。なお、ロータ1の回転方向は、たとえば、各磁気センサ21,22の出力信号V1,V2の位相に基づいて判別することができる。具体的には、第2の出力信号V2の位相が第1の出力信号V1より進んでいる場合同じ磁極に対するピーク値が、V2で検出されてからV1で検出される場合には、ロータ1の回転方向が正方向であると判別する。一方、第1の出力信号V1の位相が第2の出力信号V2より進んでいる場合同じ磁極に対するピーク値が、V1で検出されてからV2で検出される場合には、ロータ1の回転方向が逆方向であると判別する。ステップS6では、回転角演算装置20は、前記ステップS1で読み込んだセンサ値V1,V2に対して振幅補正を行う。具体的には、回転角演算装置20は、各磁気センサ21,22に対して現在特定されている極番号に対応する振幅補正ゲインG1,G2を、第1テーブルおよび第2テーブルからそれぞれ読み込む。そして、回転角演算装置20は、前記ステップS1で読み込んだセンサ値V1,V2を、第1テーブルおよび第2テーブルから読み込んだゲインG1,G2を用いて、それぞれ補正する。補正後のセンサ値をV1’,V2’とすると、V1’,V2’は、それぞれ次式,で表される。V1’=V1×G1...V2’=V1×G2...ただし、コントローラが起動されてからピーク値が検出されるまでにおいては、各磁気センサ21,22が感知している磁極は特定されないので、ステップS6では、センサ値V1,V2の補正は行われずに、ステップS7に移行する。また、ステップS4からステップ6に移行してきた場合であって、そのステップS4の極番号特定処理において、両磁気センサ21,22が感知している磁極の極番号が特定されなかった場合にも、ステップS6では、センサ値V1,V2の補正は行われずに、ステップS7に移行する。前記ステップS6の振幅補正が行われると、回転角演算装置20は、振幅補正後の第1の出力信号V1’と振幅補正後の第2の出力信号V2’の極性とを用い、前記式に基づいて、ロータ1の第1の相対回転角θRSを演算するステップS7。次に、回転角演算装置20は、ステップS7で演算されたロータ1の第1の相対回転角θRSと、第1の磁気センサ21が感知している磁極の極番号と、振幅補正テーブルの内容とに基づいて、ロータ1の第1の絶対回転角θASを演算するステップS8。磁極M0~磁極M9の極番号0~9を、nで表すことにする。磁極M0~磁極M9の角度幅を、Wnn=0,1,...,9で表すことにする。ただし、角度幅は、表1で説明したように、その角度幅に対応する機械角に磁極対数この実施形態では5を乗算した値である。第1の磁気センサ21が感知している磁極の極番号をmで表すことにする。回転角演算装置20は、次式またはに基づいて、第1の絶対回転角θASを演算する。mが0,2,4,6または8の場合、つまり、振幅補正後の第1の出力信号V1’が正である場合には、第1の相対回転角θRSは0°~180°の範囲内の角度となる。一方、mが1,3,5,7または9の場合、つまり、振幅補正後の第1の出力信号V1’が負である場合には、第1の相対回転角θRSは180°~360°の範囲内の角度となる。前記式,の右辺中の項{θRS×Wm/180}は、第1の相対回転角θRS0°~180°を、第1の磁気センサ21が感知している磁極の角度幅Wmm=0,2,4,6,8に応じた相対回転角0°~Wmに変換位相補正するための項である。前記式の右辺中の項{θRS-180×Wm/180}は、第1の相対回転角θRS180°~360°を、第1の磁気センサ21が感知している磁極の角度幅Wmm=1,3,5,7,9に応じた相対回転角0°~Wmに変換位相補正するため項である。たとえば、第1の磁気センサ21が感知している磁極の極番号mが0である場合、すなわち、第1の磁気センサ21が感知している磁極がM0である場合には、第1の絶対回転角θASは、前記式から、θAS={θRS×W0/180}となる。W0=170であるので図5A参照、第1の絶対回転角θASは、θAS={θRS×170/180}となる。また、第1の磁気センサ21が感知している磁極の極番号mが1である場合、すなわち、第1の磁気センサ21が感知している磁極がM1である場合には、第1の絶対回転角θASは、前記式から、θAS=[{θRS-180×W1/180}W0]となる。W0=170,W1=165であるので図5A参照、第1の絶対回転角θASは、θAS=[{θRS-180×165/180}170]となる。また、第1の磁気センサ21が感知している磁極の極番号mが2である場合、すなわち、第1の磁気センサ21が感知している磁極がM2である場合には、第1の絶対回転角θASは、前記式から、θAS=[{θRS×W2/180}W0W1]となる。W0=170,W1=165,W2=160であるので図5A参照、第1の絶対回転角θASは、[{θRS×160/180}235]となる。前記ステップS8の処理が行われると、回転角演算装置20は、振幅補正後の第2の出力信号V2’と振幅補正後の第1の出力信号V1’の極性とを用い、前記式に基づいて、ロータ1の第2の相対回転角θRCを演算するステップS9。次に、回転角演算装置20は、ステップS9で算出されたロータ1の第2の相対回転角θRCと、第1の磁気センサ21が感知している磁極の極番号と、振幅補正テーブルの内容とに基づいて、ロータ1の第2の絶対回転角θACを演算するステップS10。磁極M0~磁極M9の極番号0~9を、nで表すことにする。磁極M0~磁極M9の角度幅を、Wnn=0,1,...,9で表すことにする。第1の磁気センサ21が感知している磁極の極番号をmで表すことにする。回転角演算装置20は、次式またはに基づいて、第2の絶対回転角θACを演算する。前記式の右辺中の項{θRC×Wm/180}は、第2の相対回転角θRC0°~180°を、第1の磁気センサ21が感知している磁極の角度幅Wmm=0,2,4,6,8に応じた相対回転角0°~Wmに変換位相補正するため項である。前記式の右辺中の項{θRC-180×Wm/180}は、第2の相対回転角θRC180°~360°を、第1の磁気センサ21が感知している磁極の角度幅Wmm=1,3,5,7,9に応じた相対回転角0°~Wmに変換位相補正するため項である。以上のようにして、第1の絶対回転角θASと第2の絶対回転角θACとが演算されると、回転角演算装置20は、これらの絶対回転角θAS,θACに基づいて、最終的な絶対回転角θAを演算するステップS11。具体的には、回転角演算装置20は、KK>0を所定のしきい値とすると、次式に基づいて、最終的な絶対回転角θAを演算する。|V1’|≧Kのとき;θA=θAC,|V2’|≧Kのとき;θA=θAS,それ以外のとき;θA=θASθAC/2....図8を参照して、振幅補正後の第1の出力信号V1’=AsinθRの絶対値|V1’|がしきい値K以上である場合|V1’|≧Kには、回転角演算装置20は、第2の絶対回転角θACを最終的な絶対回転角θAとして決定する。この理由について説明する。図4Aを用いて説明したように、振幅補正後の第1の出力信号V1’=AsinθRから相対回転角θR=sin-1V1’/Aを求める場合、実際の相対回転角が2つの領域P1またはP2,Q1またはQ2のいずれの領域内の回転角であるか不明である。そこで、振幅補正後の第2の出力信号V2’=AcosθRの極性に基づいて、実際の相対回転角が前記2つの領域のいずれの領域内の回転角であるかを判定している。振幅補正後の第1の出力信号V1’のピーク位置極値と振幅補正後の第2の出力信号V2’のゼロクロス位置とがずれていると、当該出力信号V1’の極値ピーク値付近においては、前記領域判定に誤差が発生するおそれがある。そこで、振幅補正後の第1の出力信号V1’がピーク値付近にある場合には、振幅補正後の第2の出力信号V2’に基づいて演算された第2の絶対回転角θACを最終的な絶対回転角θAとして決定している。同様な理由により、振幅補正後の第2の出力信号V2’=AcosθRの絶対値|V2’|がしきい値K以上である場合|V2’|≧Kには、回転角演算装置20は、第1の絶対回転角θASを最終的な絶対回転角θAとして決定する。そして、|V1’|<Kでかつ|V2’|<Kである場合には、回転角演算装置20は、第1の絶対回転角θASと第2の絶対回転角θACとの平均値{θASθAC/2}を最終的な絶対回転角θAとして決定する。なお、|V1’|<Kでかつ|V2’|<Kである場合には、次式に示すように、第1の絶対回転角θASと第2の絶対回転角θACのそれぞれに重みgain,1-gainを付け、それらを足し合わせた値を最終的な絶対回転角θAとして決定してもよい。θA=θAS×gainθAC×1-gain...|V1’|≧|V2’|のとき;gain=K-|V1’|/K-|V2’|/2,|V1’|<|V2’|のとき;gain=1-{K-|V2’|/K-|V1’|/2}.また、|V1’|<Kでかつ|V2’|<Kである場合には、第1の絶対回転角θASおよび第2の絶対回転角θACのいずか一方を、最終的な絶対回転角θAとして決定してもよい。このようにして最終的な絶対回転角θAが算出されると、回転角演算装置20は電気角θEを算出するステップS12。具体的には、第1の磁気センサ21が感知している磁極対M0,M1,M2,M3,M4,M5,M6,M7,M8,M9の番号1~5をjとすると、回転角演算装置20は、次式17に基づいて、電気角θEを算出して、モータコントローラ30に与える。θE=θA-{360×j-1}...この後、回転角演算装置20は、モータ制御が終了したか否かを判別するステップS13。モータ制御が終了していなければステップS13:NO、ステップS1に戻る。モータ制御が終了していればステップS13:YES、回転角演算装置20は、制御終了処理を行なうステップS14。図7は、制御終了処理の一例を示すフローチャートである。制御終了処理においては、回転角演算装置20は、今回のモータ制御期間中において、ブラシレスモータ10が十分に回転したか否かを判定するステップS21。具体的には、回転角演算装置20は、今回のモータ制御期間中におけるモータ10の回転数が、所定回転数以上であるか否かを判定する。ブラシレスモータ10が十分に回転したと判別された場合にはステップS21:YES、振幅補正用テーブル第1テーブルおよび第2テーブル内の各極番号に対応するピーク値を、その極番号に対応するピーク値として最新に検出されたピーク値に更新するステップS22。そして、制御終了処理を終了する。図9は、回転角演算装置20による回転角演算処理の他の例を示すフローチャートである。図9の各ステップにおいて、図6のステップと同じ処理を行なうステップには、図6と同じステップ番号を付している。ステップS8において、第1の絶対回転角θASが演算されると、回転角演算装置20は、sinθASを演算するステップS31。このsinθASは、第1の絶対回転角θASに対応する信号V1’=AsinθRの信号値AsinθASに応じた値である。そして、ステップS9に移行する。ステップS9では、第2の相対回転角θRCが演算され、ステップS10では、第2の絶対回転角θACが演算される。ステップS10で第2の絶対回転角θACが演算されると、回転角演算装置20は、cosθACを演算するステップS32。このcosθACは、第2の絶対回転角θACに対応する信号V2’=AcosθRの信号値AcosθACに応じた値である。そして、回転角演算装置20は、ステップS31で演算されたsinθASと、ステップS32で演算されたcosθACとに基づいて、電気角θEを演算するステップS12A。具体的には、回転角演算装置20は、次式に基づいて、ブラシレスモータの電気角θEを演算する。θE=tan-1{sinθAS/cosθAS}...この後、回転角演算装置20は、ステップS13に移行する。前述したように、振幅補正後の第1の出力信号V1’がピーク値付近にある場合には、第1の相対回転角θRSに誤差が発生するおそれがある。同様に、振幅補正後の第2の出力信号V2’がピーク値付近にある場合には、第2の相対回転角θRSに誤差が発生するおそれがある。そこで、振幅補正後の第1の出力信号V1’がピーク値付近にある場合には、第2の絶対回転角θACに基づいてブラシレスモータの電気角θEを演算し、振幅補正後の第2の出力信号V2’がピーク値付近にある場合には、第1の絶対回転角θASに基づいてブラシレスモータの電気角θEを演算するようにしてもよい。第2の絶対回転角θACに基づいて電気角θEを演算する場合には、前記式の右辺の絶対回転角θAに第2の絶対回転角θACを代入することによって、電気角θEを求めることができる。また、第1の絶対回転角θASに基づいて電気角θEを演算する場合には、前記式の右辺の絶対回転角θAに第1の絶対回転角θASを代入することによって、電気角θEを求めることができる。前記実施形態では、前記式またはに示すように、第1の相対回転角θRSと、予め測定された各磁極の角度幅W0~W9と、第1の磁気センサ21が感知している磁極の極番号mとに基づいて、検出用ロータ1の第1の絶対回転角θASが演算される。これにより、検出用ロータ1に設けられた複数の磁極M0~M9の角度幅にばらつきがある場合でも、第1の相対回転角θRSから正確な絶対回転角θASを演算することができる。また、前記式またはに示すように、第2の相対回転角θRCと、予め測定された各磁極の角度幅W0~W9と、第1の磁気センサ21が感知している磁極の極番号mとに基づいて、検出用ロータ1の第2の絶対回転角θACが演算される。これにより、検出用ロータ1に設けられた複数の磁極M0~M9の角度幅にばらつきがある場合でも、第2の相対回転角θRCから正確な絶対回転角θACを演算することができる。そして、前記式~または前記式に示すように、第1の絶対回転角θASと第2の絶対回転角θACとに基づいて、ブラシレスモータの電気角θEが演算される。これにより、各磁極M0~M9の角度幅にばらつきがあったとしても、ラシレスモータの電気角θEを高精度に検出することができる。この発明は、ブラシレスモータのロータ以外の回転体の回転角を検出する場合にも、適用することができる。本発明の実施形態について詳細に説明したが、これらは本発明の技術的内容を明らかにするために用いられた具体例に過ぎず、本発明はこれらの具体例に限定して解釈されるべきではなく、本発明の範囲は添付の請求の範囲によってのみ限定される。この出願は、2010年4月16日に日本国特許庁に提出された特願2010-95080号に対応しており、これらの出願の全開示はここに引用により組み込まれるものとする。"