(57)【要約】【課題】検出精度を高めることができる回転角検出装置を提供する。【解決手段】ロータ回転角推定部２１は、ロータ角度を推定する。第１の振幅補正部２２は、ロータ角度推定値と、予め検出されてメモリに格納されている、磁極対毎の第１の出力信号Ｖ１の極大値および極小値とに基づいて、第１の出力信号Ｖ１の振幅を補正する。第２の振幅補正部２３は、ロータ角度推定値と、予め検出されてメモリに格納されている、磁極対毎の第２の出力信号Ｖ２の極大値および極小値とに基づいて、第２の出力信号Ｖ２の振幅を補正する。回転角演算部２４は、補正後の第１の出力信号Ｖ１’と補正後の第２の出力信号Ｖ２’とに基づいて、ロータ角度を演算する。【選択図】図１
2011047735.tif 000002
【特許請求の範囲】
【請求項１】
回転体の回転に応じて、所定の位相差を有する第１および第２の交番信号をそれぞれ出力する第１および第２のセンサ含み、これらのセンサの出力信号に基づいて前記回転体の回転角を検出する回転角検出装置であって、
前記第１の交番信号の振幅を補正する第１補正手段と、
前記第２の交番信号の振幅を補正する第２補正手段と、
補正後の第１の交番信号と補正後の第２の交番信号とに基づいて、前記回転体の回転角を演算する回転角演算手段と、
を含む回転角検出装置。
【請求項２】
前記回転体が複数の磁極対を有する磁石を備えており、
前記第１補正手段は
予め検出された磁極対毎の前記第１の交番信号の極大値に基づいて、前記回転体の回転角に対応した第１の補間極大値を、線形補間により演算する第１演算手段と、
予め検出された磁極対毎の前記第１の交番信号の極小値に基づいて、前記回転体の回転角に対応した第１の補間極小値を、線形補間により演算する第２演算手段と
演算された前記第１の補間極大値および第１の補間極小値とから、第１のゲイン補正値を演算する第３演算手段と、
演算された前記第１のゲイン補正値に基づいて、前記第１の交番信号を補正する手段とを含み、
前記第２補正手段は、
予め検出された磁極対毎の前記第２の交番信号の極大値に基づいて、前記回転体の回転角に対応した第２の補間極大値を、線形補間により演算する第４演算手段と、
予め検出された磁極対毎の前記第２の交番信号の極小値に基づいて、前記回転体の回転角に対応した第２の補間極小値を、線形補間により演算する第５演算手段と、
演算された前記第２の補間極大値および第２の補間極小値とから、第２のゲイン補正値を演算する第６演算手段と、
演算された前記第２のゲイン補正値に基づいて、前記第２の交番信号を補正する手段と  を含む、請求項１に記載の回転角検出装置。
【請求項３】
前記回転体の回転角推定値を演算する手段をさらに含み、
前記第１のセンサは、前記回転体の回転角θに対して、Ｖ１＝Ａ１・sinθ’（ただし、θ’＝ｍ・θ−３６０×（ｎ−１）。ｍは磁極対の数、ｎは１からｍまでの整数）で表される第１の交番信号Ｖ１を出力するものであり、
前記第２のセンサは、前記回転体の回転角θに対して、Ｖ２＝Ａ２・cosθ’で表される第２の交番信号Ｖ２を出力するものであり、
前記第１演算手段は、前記磁極対毎の前記第１の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値をmax(n)，max(n+1)とし、それら２つの極大値によって規定される区間の両端の回転角をα１，β１とし、回転角推定値をｘとすると、次式(i)により、第１の補間極大値maxを求めるものであり、
前記第２演算手段は、前記磁極対毎の前記第１の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値をmin(n)，min(n+1)とし、それら２つの極小値によって規定される区間の両端の回転角をα２，β２とし、回転角推定値をｘとすると、次式(ii)により、第１の補間極小値minを求めるものであり、
前記第３演算手段は、次式(iii)により、第１のゲイン補正値Ｋsinを求めるものであり、前記第４算手段は、次式(iv)により、第１の交番信号Ｖ１が補正された信号Ｖ１’を演算するものであり、
前記第５演算手段は、前記磁極対毎の前記第２の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値を＊max(n)，＊max(n+1)とし、それら２つの極大値によって規定される区間の両端の回転角を＊α１，＊β１とし、回転角推定値をｘとすると、次式(v)により、第２の補間極大値＊maxを求めるものであり、
前記第６演算手段は、前記磁極対毎の前記第２の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値を＊min(n)，＊min(n+1)とし、それら２つの極小値によって規定される区間の両端の回転角を＊α２，＊β２とし、回転角推定値をｘとすると、次式(vi)により、第２の補間極小値＊minを求めるものであり、
前記第７演算手段は、次式(vii)により、第２のゲイン補正値Ｋcosを求めるものであり、前記第８演算手段は、次式(viii)により、第２の交番信号Ｖ２が補正された信号Ｖ２’を演算するものである、請求項２記載の回転角検出装置。
【数３】
2011047735.tif 000005
【請求項４】
前記第１のセンサは、前記回転体の回転角θに対して、Ｖ１＝Ａ１・sinθ’（ただし、θ’＝ｍ・θ−３６０×（ｎ−１）。ｍは磁極対の数、ｎは１からｍまでの整数）で表される第１の交番信号Ｖ１を出力するものであり、
前記第２のセンサは、前記回転体の回転角θに対して、Ｖ２＝Ａ２・cosθ’で表される第２の交番信号Ｖ２を出力するものであり、
前記第１演算手段は、前記磁極対毎の前記第１の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値をmax(n)，max(n+1)とし、第１の交番信号Ｖ１の瞬時値をａとすると、次式(ix)により、第１の補間極大値maxを求めるものであり、
前記第２演算手段は、前記磁極対毎の前記第１の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値をmin(n)，min(n+1)とし、第１の交番信号Ｖ１の瞬時値をａとすると、次式(x)により、第１の補間極小値minを求めるものであり、
前記第３演算手段は、次式(ｘi)により、第１のゲイン補正値Ｋsinを求めるものであり、前記第４算手段は、次式(xii)により、第１の交番信号Ｖ１が補正された信号Ｖ１‘を演算するものであり、前記第５演算手段は、前記磁極対毎の前記第２の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値を＊max(n)，＊max(n+1)とし、前記第２の交番信号Ｖ２の瞬時値をｂとすると、次式(xiii)により、第２の補間極大値＊maxを求めるものであり、
前記第６演算手段は、前記磁極対毎の前記第２の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値を＊min(n)，＊min(n+1)とし、前記第２の交番信号Ｖ２の瞬時値をｂとすると、次式(xiv)により、第２の補間極小値＊minを求めるものであり、
前記第７演算手段は、次式(ｘv)により、第２のゲイン補正値Ｋcosを求めるものであり、前記第８演算手段は、 次式(xvi)により、第２の交番信号Ｖ２が補正された信号Ｖ２’を演算するものである、請求項２記載の回転角検出装置。
【数４】
2011047735.tif 000006
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータのロータ等の回転体の回転角を検出する回転角検出装置に関する。
【背景技術】
【０００２】
電動パワーステアリング装置などに使用されるブラシレスモータを制御するためには、ロータの回転角度に合わせてステータ巻線に電流を通電する必要がある。そこで、図１０に示すように、モータマグネット磁極対に相当する複数の磁極対を有する円筒状の磁石２を含むロータ１の周囲に、２つの磁気センサ１１，１２をロータ１の回転中心軸を中心として所定の角度間隔をおいて配置し、各磁気センサ１１，１２から、所定の位相差を有する正弦波信号を出力させ、これらの２つの正弦波信号に基づいてロータ１の回転角を検出する回転角検出装置が知られている。
【０００３】
この例では、磁石２は、５対の磁極対を有している。つまり、磁石２は、等間隔に配置された１０個の磁極を有している。各磁極は、ロータ１の回転中心軸を中心として、３６°の角度間隔で配置されている。また、２つの磁気センサ１１，１２は、ロータ１の回転中心軸を中心として１８°（＝９０°／５）の角度間隔をおいて配置されている。
図１０に矢印で示す方向をロータ１の正方向の回転方向とする。そして、ロータ１が正方向に回転されるとロータ１の回転角が大きくなり、ロータ１が逆方向に回転されると、ロータ１の回転角が小さくなるものとする。各磁気センサ１１，１２からは、図１１に示すように、ロータ１が１磁極対分に相当する角度（７２°）を回転する期間を一周期とする正弦波信号が出力される。ここでは、第１の磁気センサ１１からは、Ｖ１＝Ａ１・sinθ’の出力信号が出力され、第２の磁気センサ１２からは、Ｖ２＝Ａ２・cosθ’の出力信号が出力されるものとする。Ａ１，Ａ２は、振幅である。また、ロータ１の回転角をθとすると、θ’＝５θ−３６０（ｎ−１）（ただし、ｎ＝１，２，…５）となる。
【０００４】
所定の基準位置からのロータ１の絶対的な回転角を、ロータ１の絶対回転角θＡということにする。ロータ１の１回転分の角度範囲を、５つの磁極対に対応して、７２°間隔の５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として表したロータ１の角度を、ロータ１の相対回転角θＲということにする。
両出力信号Ｖ１，Ｖ２の振幅Ａ１，Ａ２が互いに等しいとみなすと、ロータ１の相対回転角θＲは、両出力信号Ｖ１，Ｖ２を用いて、次式(1)に基づいて求めることができる。
【０００５】
θＲ＝tan−１（sinθ‘／cosθ’）
＝tan−１（Ｖ１／Ｖ２）      …(1)
このようにして、求められた相対角θＲを使って、ブラシレスモータを制御する。また、ロータ１の絶対的な回転角θ（以下、「絶対回転角θＡ  」という）は、相対角θＲを用いて、たとえば、次式に基づいて求めることができる。
【０００６】
θＡ  ＝｛θＲ＋３６０×（ｎ−１）｝／５（ただし、ｎ＝１，２，…５）
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2003-32823号公報
【特許文献２】特開2002-257649号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したような従来の回転角検出装置においては、磁極ごとの磁力のばらつきなどにより、磁気センサ１１，１２の出力信号Ｖ１，Ｖ２の振幅が磁極ごとに変動するため、ロータ１の回転角の検出に誤差が発生する。
そこで、この発明の目的は、検出精度を高めることができる回転角検出装置を提供することである。
【課題を解決するための手段】
【０００９】
上記の目的を達成するための請求項１記載の発明は、回転体の回転に応じて、所定の位相差を有する第１および第２の交番信号（Ｖ１，Ｖ２）をそれぞれ出力する第１および第２のセンサ（１１，１２）含み、これらのセンサの出力信号に基づいて前記回転体の回転角を検出する回転角検出装置（２０，５０）であって、前記第１の交番信号の振幅を補正する第１補正手段（２２，５２）と、前記第２の交番信号の振幅を補正する第２補正手段（２３，５３）と、補正後の第１の交番信号と補正後の第２の交番信号とに基づいて、前記回転体の回転角を演算する回転角演算手段（２４，５４）と、を含む回転角検出装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【００１０】
上記構成では、第１の交番信号の振幅が第１補正手段によって補正され、第２の交番信号の振幅が第２補正手段によって補正される。そして、補正後の第１の交番信号と補正後の第２の交番信号とに基づいて、回転体の回転角が演算される。この構成によれば、第１の交番信号および第２の交番信号の振幅が、回転体の回転角に応じて変動するような場合において、その振幅の変動を補正することが可能となる。このため、回転体の回転角の検出精度を高めることが可能となる。
【００１１】
請求項２記載の発明は、前記回転体（１）が複数の磁極対を有する磁石(２)を備えており、前記第１補正手段（２２，５２）は、予め検出された磁極対毎の前記第１の交番信号の極大値（max1〜max5）に基づいて、前記回転体の回転角に対応した第１の補間極大値(max)を、線形補間により演算する第１演算手段（３２，６２）と、予め検出された磁極対毎の前記第１の交番信号の極小値(min1〜min5)に基づいて、前記回転体の回転角に対応した第１の補間極小値（min）を、線形補間により演算する第２演算手段（３２，６２）と、演算された前記第１の補間極大値および第１の補間極小値とから、第１のゲイン補正値(Ｋsin)を演算する第３演算手段（３３，６３）と、演算された前記第１のゲイン補正値に基づいて、前記第１の交番信号を補正する手段（３４，６４）とを含み、前記第２補正手段（２３，５３）は、予め検出された磁極対毎の前記第２の交番信号の極大値（＊max1〜＊max5）に基づいて、前記回転体の回転角に対応した第２の補間極大値（＊max）を、線形補間により演算する第４演算手段（４２，７２）と、予め検出された磁極対毎の前記第２の交番信号の極小値（＊min1〜＊min5）に基づいて、前記回転体の回転角に対応した第２の補間極小値（＊min）を、線形補間により演算する第５演算手段（４２，７２）と、演算された前記第２の補間極大値および第２の補間極小値とから、第２のゲイン補正値（Ｋcos）を演算する第６演算手段（４３，７３）と、演算された前記第２のゲイン補正値に基づいて、前記第２の交番信号を補正する手段（４４，７４）とを含む、請求項１に記載の回転角検出装置である。
【００１２】
この構成では、第１補正手段においては、予め検出された磁極対毎の第１の交番信号の極大値に基づいて、回転体の回転角に対応した第１の補間極大値が、線形補間により演算される。同様に、予め検出された磁極対毎の第１の交番信号の極小値に基づいて、回転体の回転角に対応した第１の補間極小値が、線形補間により演算される。このようにして演算された第１の補間極大値および第１の補間極小値とから、第１のゲイン補正値が演算される。そして、演算された第１のゲイン補正値に基づいて、第１の交番信号が補正される。
【００１３】
一方、第２補正手段においては、予め検出された磁極対毎の第２の交番信号の極大値に基づいて、回転体の回転角に対応した第２の補間極大値が、線形補間により演算される。同様に、予め検出された磁極対毎の第２の交番信号の極小値に基づいて、回転体の回転角に対応した第２の補間極小値が、線形補間により演算される。このようにして演算された第２の補間極大値および第２の補間極小値とから、第２のゲイン補正値が演算される。そして、演算された第２のゲイン補正値に基づいて、第２の交番信号が補正される。
【００１４】
この構成によれば、予め検出された磁極対毎の第１の交番信号の極大値に基づいて補間極大値が演算されるとともに、予め検出された磁極対毎の第１の交番信号の極小値に基づいて補間極小値が演算され、得られた補間極大値および補間極小値に基づいて、第１の交番信号の振幅が補正されるので、磁極毎の磁力のばらつきに基づく、第１の交番信号の振幅の変動を補正することができる。
【００１５】
同様に、予め検出された磁極対毎の第２の交番信号の極大値に基づいて補間極大値が演算されるとともに、予め検出された磁極対毎の第２の交番信号の極小値に基づいて補間極小値が演算され、得られた補間極大値および補間極小値に基づいて、第２の交番信号の振幅が補正されるので、磁極毎の磁力のばらつきに基づく、第２の交番信号の振幅の変動を補正することができる。このようにして、磁極毎の磁力のばらつきに基づく振幅の変動が補正された第１および第２の交番信号に基づいて、回転体の回転角が検出されるので、その検出精度を高めることができる。
【００１６】
請求項３記載の発明は、前記回転体の回転角推定値を演算する手段をさらに含み、前記第１のセンサは、前記回転体の回転角θに対して、Ｖ１＝Ａ１・sinθ’（ただし、θ’＝ｍ・θ−３６０×（ｎ−１）。ｍは磁極対の数、ｎは１からｍまでの整数）で表される第１の交番信号Ｖ１を出力するものであり、前記第２のセンサは、前記回転体の回転角θに対して、Ｖ２＝Ａ２・cosθ’で表される第２の交番信号Ｖ２を出力するものであり、前記第１演算手段は、前記磁極対毎の前記第１の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値をmax(n)，max(n+1)とし、それら２つの極大値によって規定される区間の両端の回転角をα１，β１とし、回転角推定値をｘとすると、次式(i)により、第１の補間極大値maxを求めるものであり、前記第２演算手段は、前記磁極対毎の前記第１の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値をmin(n)，min(n+1)とし、それら２つの極小値によって規定される区間の両端の回転角をα２，β２とし、回転角推定値をｘとすると、次式(ii)により、第１の補間極小値minを求めるものであり、前記第３演算手段は、次式(iii)により、第１のゲイン補正値Ｋsinを求めるものであり、前記第４算手段は、次式(iv)により、第１の交番信号Ｖ１が補正された信号Ｖ１’を演算するものであり、前記第５演算手段は、前記磁極対毎の前記第２の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値を＊max(n)，＊max(n+1)とし、それら２つの極大値によって規定される区間の両端の回転角を＊α１，＊β１とし、回転角推定値をｘとすると、次式(v)により、第２の補間極大値＊maxを求めるものであり、前記第６演算手段は、前記磁極対毎の前記第２の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値を＊min(n)，＊min(n+1)とし、それら２つの極小値によって規定される区間の両端の回転角を＊α２，＊β２とし、回転角推定値をｘとすると、次式(vi)により、第２の補間極小値＊minを求めるものであり、前記第７演算手段は、次式(vii)により、第２のゲイン補正値Ｋcosを求めるものであり、前記第８演算手段は、次式(viii)により、第２の交番信号Ｖ２が補正された信号Ｖ２’を演算するものである、請求項２記載の回転角検出装置である。
【００１７】
【数１】
2011047735.tif 000003
【００１８】
請求項４記載の発明は、前記第１のセンサは、前記回転体の回転角θに対して、Ｖ１＝Ａ１・sinθ’（ただし、θ’＝ｍ・θ−３６０×（ｎ−１）。ｍは磁極対の数、ｎは１からｍまでの整数）で表される第１の交番信号Ｖ１を出力するものであり、前記第２のセンサは、前記回転体の回転角θに対して、Ｖ２＝Ａ２・cosθ’で表される第２の交番信号Ｖ２を出力するものであり、前記第１演算手段は、前記磁極対毎の前記第１の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値をmax(n)，max(n+1)とし、第１の交番信号Ｖ１の瞬時値をａとすると、次式(ix)により、第１の補間極大値maxを求めるものであり、前記第２演算手段は、前記磁極対毎の前記第１の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値をmin(n)，min(n+1)とし、第１の交番信号Ｖ１の瞬時値をａとすると、次式(x)により、第１の補間極小値minを求めるものであり、前記第３演算手段は、次式(ｘi)により、第１のゲイン補正値Ｋsinを求めるものであり、前記第４算手段は、次式(xii)により、第１の交番信号Ｖ１が補正された信号Ｖ１‘を演算するものであり、前記第５演算手段は、前記磁極対毎の前記第２の交番信号の極大値のうちの、前記回転体の回転角に対応した隣り合う２つの極大値を＊max(n)，＊max(n+1)とし、前記第２の交番信号Ｖ２の瞬時値をｂとすると、次式(xiii)により、第２の補間極大値＊maxを求めるものであり、前記第６演算手段は、前記磁極対毎の前記第２の交番信号の極小値のうちの、前記回転体の回転角に対応した隣り合う２つの極小値を＊min(n)，＊min(n+1)とし、前記第２の交番信号Ｖ２の瞬時値をｂとすると、次式(xiv)により、第２の補間極小値＊minを求めるものであり、前記第７演算手段は、次式(ｘv)により、第２のゲイン補正値Ｋcosを求めるものであり、前記第８演算手段は、 次式(xvi)により、第２の交番信号Ｖ２が補正された信号Ｖ２’を演算するものである、請求項２記載の回転角検出装置である。
【００１９】
【数２】
2011047735.tif 000004
【図面の簡単な説明】
【００２０】
【図１】この発明の第１の実施形態に係る回転角検出装置の構成を示す模式図である。
【図２】第１の振幅補正部の動作を説明するための説明図である。
【図３】回転角演算装置の詳細な構成を示す機能ブロック図である。
【図４】回転角演算装置による回転角演算処理の手順を示すフローチャートである。
【図５】この発明の第２の実施形態に係る回転角検出装置の構成を示す模式図である。
【図６】第１の振幅補正部の動作を説明するための説明図である。
【図７】第１の振幅補正部の動作を説明するための説明図である。
【図８】回転角演算装置の詳細な構成を示す機能ブロック図である。
【図９】回転角演算装置による回転角演算処理の手順を示すフローチャートである。
【図１０】従来の回転角検出装置による回転角検出方法を説明するための模式図である。
【図１１】第１の出力信号波形および第２の出力信号波形を示す模式図である。
【発明を実施するための形態】
【００２１】
以下では、この発明の回転角検出装置の実施形態について、添付図面を参照して詳細に説明する。
図１は、この発明の第1の実施形態に係る回転角検出装置の構成を示す模式図である。
この回転角検出装置は、たとえば、ブラシレスモータのロータの回転角を検出するために用いることができる。回転角検出装置は、たとえば、ブラシレスモータの回転に応じて回転するロータ１を有している。ロータ１は、複数の磁極対を有する円筒状の磁石２を含んでいる。
【００２２】
この例では、磁石２は、５対の磁極対を有している。つまり、磁石２は、等間隔に配置された１０個の磁極を有している。各磁極は、ロータ１の回転中心軸を中心として、３６°の角度間隔で配置されている。
ロータ１の周囲には、２つの磁気センサ１１，１２が、ロータ１の回転中心軸を中心として、１８°の角度間隔を配置おいて配置されている。これら２つの磁気センサ１１，１２を、それぞれ第１の磁気センサ１１および第２の磁気センサ１２という場合がある。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。
【００２３】
図１に矢印で示す方向をロータ１の正方向の回転方向とする。そして、ロータ１が正方向に回転されるとロータ１の回転角が大きくなり、ロータ１が逆方向に回転されると、ロータ１の回転角が小さくなるものとする。各磁気センサ１１，１２からは、図１１に示すように、ロータ１が１磁極対分に相当する角度（７２°）を回転する期間を一周期とする正弦波信号が出力される。ここでは、第１の磁気センサ１１からは、Ｖ１＝Ａ１・sinθ’の出力信号が出力され、第２の磁気センサ１２からは、Ｖ２＝Ａ２・cosθ’の出力信号が出力されるものとする。Ａ１，Ａ２は、それぞれ振幅を表している。また、ロータ１の回転角をθとすると、θ’＝５θ−３６０（ｎ−１）となる。「５」は、磁極対の数であり、ｎは、１から５（磁極対の数）までの整数である。
【００２４】
所定の基準位置からのロータ１の絶対的な回転角を、ロータ１の絶対回転角θＡということにする。ロータ１の１回転分の角度範囲を、５つの磁極対に対応して、７２°間隔の５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として、絶対回転角θＡに対応する角度を０〜３６０°の範囲内で表した角度を、ロータ１の相対回転角θＲということにする。なお、ロータ１の絶対回転角θＡを、単にロータ角度という場合がある。
【００２５】
両出力信号Ｖ１，Ｖ２の振幅Ａ１，Ａ２が互いに等しいとみなすと、ロータ１の相対角θＲは、両出力信号Ｖ１，Ｖ２を用いて、次式(2)に基づいて求めることができる。
θＲ＝tan−１（sinθ‘／cosθ’）
＝tan−１（Ｖ１／Ｖ２）      …(2)
各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２は、回転角演算装置２０に入力される。回転角演算装置２０は、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、ロータ１の絶対回転角θＡを演算する。回転角演算装置２０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ等）を含んでいる。回転角演算装置２０は、ＲＯＭに格納された所定のプログラムをＣＰＵが実行することにより、複数の機能処理部として機能する。この複数の機能処理部は、ロータ回転角推定部２１、第１の振幅補正部（第１補正手段）２２、第２の振幅補正部（第２補正手段）２３および回転角演算部（回転角演算手段）２４を含む。
【００２６】
ロータ回転角推定部２１は、ロータ回転角を推定する。第１の振幅補正部２２は、第１の出力信号Ｖ１の振幅を補正する。第２の振幅補正部２３は、第２の出力信号Ｖ２の振幅を補正する。回転角演算部２４は、補正後の第１の出力信号Ｖ１’と補正後の第２の出力信号Ｖ２’とに基づいてロータ１の相対回転角θＲを演算し、得られた相対回転角θＲに基づいて絶対回転角θＡを演算する。
【００２７】
図２を参照して、第１の振幅補正部２２による振幅補正について説明する。図２はロータ角度に対する第１の出力信号Ｖ１の一例を示している。
第１の振幅補正部２２は、出力信号Ｖ１の磁極対毎の極大値および極小値を予め検出して、メモリに格納しておく。具体的には、第１の振幅補正部２２は、ロータ角度が１８°，９０°，１６２°，２３４°および３０６°に対応する極大値max１〜max5を、ロータ角度に関連付けてメモリに格納しておく。また、第１の振幅補正部２２は、ロータ角度が５４°，１２６°，１９８°，２７０°および３４２°に対応する極小値min１〜min5を、ロータ角度に関連付けてメモリに格納しておく。
【００２８】
ロータ角度を演算する際には、第１の振幅補正部２２は、まず、ロータ回転角推定部２１によって演算されたロータ角度推定値ｘと、メモリに格納されている極大値max１〜max5とに基づいて、ロータ角度推定値ｘに対応する第１補間極大値maxを演算する。さらに、第１の振幅補正部２２は、ロータ角度推定値ｘと、メモリに格納されている極小値min１〜min5とに基づいて、ロータ角度推定値ｘに対応する第１補間極小値minを演算する。また、第１の振幅補正部２２は、演算された第１補間極大値maxと第１補間極小値minとに基づいて、第１ゲイン補正値Ｋsinを演算する。そして、第１の振幅補正部２２は、出力信号Ｖ１を、第１ゲイン補正値Ｋsinを用いて補正する。
【００２９】
ロータ角度推定値ｘに対応する第１補間極大値maxは、次のようにして求められる。第１補間極大値maxを演算するための区間（以下、「第１補間極大値演算区間」という）として、１８〜９０°の第１区間、９０〜１６２°の第２区間、１６２〜２３４°の第３区間、２３４〜３０６°の第4区間および３０６〜３７８°の第５区間の５つの区間が設定されている。ただし、０〜１８°の区間は、第５区間内の３６０〜３７８°の区間に相当する。これらの５つの区間のうち、ロータ角度に対応する区間がロータ角度推定値ｘに基づいて特定される。
【００３０】
ロータ角度推定値ｘに基づいて特定された第１補間極大値演算区間が、図２に示す、１８〜９０°の第１区間であるとする。図２に示すように、１８°に対応する極大値がmax1であり、９０°に対応する極大値がmax2であるとする。１８〜９０°の区間の間にあるロータ角度推定値ｘに対応する第１補間極大値maxは、max１とmax２とを結んだ直線上にあると仮定し、１８°からロータ角度推定値ｘまでの角度に応じて線形補間することにより求められる。つまり、１８〜９０°の間にあるロータ角度推定値ｘに対応する第１補間極大値maxは、次式(3)に基づいて、演算される。
【００３１】
max＝｛（max2-max1）/（90-18）｝・（x−18）+ max1    …(3)
１８〜９０°の区間以外の第１補間極大値演算区間にも適用できるように、前記式(2)を一般化する。つまり、ロータ角度推定値ｘに基づいて特定された第１補間極大値演算区間の前端に対応するロータ角度をα１、後端に対応するロータ角度をβ１とし、メモリに格納されている極大値max1〜max5のうち、当該補間極大値演算区間の前端に対応する極大値をmax(n)、後端に対応する極大値をmax(n+1)とすると、ロータ角度推定値ｘに対応する第1補間極大値maxは、次式(4)で表される。
【００３２】
max＝{（max(n+1)-max(n)）/（β１-α１）}・（x-α１）+max(n)    …(4)
ロータ角度推定値ｘに対応する第１補間極小値minは、次のようにして求められる。第１補間極小値minを演算するための区間（以下、「第１補間極小値演算区間」という）として、５４〜１２６°の第１区間、１２６〜１９８°の第２区間、１９８〜２７０°の第３区間、２７０〜３４２°の第4区間および３４２〜４１４°の第５区間の５つの区間が設定されている。ただし、０〜５４°の区間は、第５区間内の３６０〜４１４°の区間に相当する。これらの５つの区間のうち、ロータ角度に対応する区間がロータ角度推定値ｘに基づいて特定される。
【００３３】
ロータ角度推定値ｘに基づいて特定された第１補間極小値演算区間が、図２に示す、５４〜１２６°の第１区間であるとする。図２に示すように、５４°に対応する極小値がmin1であり、１２６°に対応する極小値がmin2であるとする。５４〜１２６°の区間の間にあるロータ角度推定値ｘに対応する第１補間極小値minは、min1とmin2とを結んだ直線上にあると仮定し、５４°からロータ角度推定値ｘまでの角度に応じて線形補間することにより求められる。つまり、５４〜１２６°の間にあるロータ角度推定値ｘに対応する第１補間極小値minは、次式(5)に基づいて、演算される。
【００３４】
min＝｛（min2-min1）/（126-54）｝・（x-54）+ min1    …(5)
５４〜１２６°の区間以外の第１補間極小値演算区間にも適用できるように、前記式(5)を一般化する。つまり、ロータ角度推定値ｘに基づいて特定された第１補間極小値演算区間の前端に対応するロータ角度をα２、後端に対応するロータ角度をβ２とし、メモリに格納されている極小値min1〜min5のうち、当該補間極小値演算区間の前端に対応する極小値をmin(n)、後端に対応する極小値をmin(n+1)とすると、ロータ角度推定値ｘに対応する第１補間極小値minは、次式(6)で表される。
【００３５】
min＝｛（min(n+1)-min(n)）/（β２-α２）｝・（x-α２）+ min(n)    …(6)
第１ゲイン補正値Ｋsinは、次式(7)に基づいて演算される。
Ｋsin=（max-min）/2      …(7)
この第１ゲイン補正値Ｋsinを用いて、出力信号Ｖ１が補正される。補正後の出力信号Ｖ１をＶ１’とすると、Ｖ１’は、次式(8)で表される。
【００３６】
Ｖ１’＝Ｖ１／Ｋsin      …(8)
第２の振幅補正部２３も、第1の振幅補正部２２と同様な方法で、第２の出力信号Ｖ２を補正する。つまり、第２の振幅補正部２３は、出力信号Ｖ２の磁極対毎の極大値および極小値を予め検出し、対応するロータ角度に関連づけてメモリに格納しておく。具体的には、第２の振幅補正部２３は、ロータ角度が０°，７２°，１４４°，２１６°および２８８°に対応する極大値＊max１〜＊max5を、ロータ角度に関連付けてメモリに格納しておく。また、第２の振幅補正部２３は、ロータ角度が３６°，１０８°，１８０°，２５２°および３２４°に対応する極小値＊min１〜＊min5を、ロータ角度に関連付けてメモリに格納しておく。
【００３７】
ロータ角度を演算する際には、第２の振幅補正部２３は、ロータ角度推定値ｘと、メモリに格納されている極大値＊max１〜＊max5とに基づいて、ロータ角度推定値ｘに対応する第２補間極大値＊maxを演算する。同様に、第２の振幅補正部２３は、ロータ角度推定値ｘと、メモリに格納されている極小値＊min１〜＊min5とに基づいて、ロータ角度推定値ｘに対応する第２補間極小値＊minを演算する。また、演算された第２極大値＊maxと第２極小値＊minとに基づいて、第２ゲイン補正値Ｋcosを演算する。そして、出力信号Ｖ２を、第２ゲイン補正値Ｋsinを用いて補正する。
【００３８】
ロータ角度推定値ｘに対応する第２補間極大値＊maxは、次のようにして求められる。第２補間極大値＊maxを演算するための第２補間極大値演算区間として、０〜７２°の第１区間、７２〜１４４°の第２区間、１４４〜２１６°の第３区間、２１６〜２８８°の第4区間および２８８〜３６０°の第５区間の５つの区間が設定されている。これらの５つの区間のうち、ロータ角度に対応する区間がロータ角度推定値ｘに基づいて特定される。
【００３９】
ロータ角度推定値ｘに基づいて特定された第２補間極大値演算区間の前端に対応するロータ角度を＊α１、後端に対応すロータ角度を＊β１とし、メモリに格納されている極大値＊max1〜＊max5のうち、当該区間の前端に対応する極大値を＊max(n)、後端に対応する極大値を＊max(n+1)とすると、ロータ角度推定値ｘに対応する第２補間極大値＊maxは、次式(9)で表される。
【００４０】
＊max＝｛（＊max（n+1）-＊max(n)）/（＊β１-＊α１）｝・（x-＊α１）+ ＊max(n)  …(9)
ロータ角度推定値ｘに対応する第２補間極小値＊minは、次のようにして求められる。第２補間極小値＊minを演算するための第２補間極小値演算区間として、３６〜１０８°の第１区間、１０８〜１８０°の第２区間、１８０〜２５２°の第３区間、２５２〜３２４°の第4区間および３２４〜３９６°の第５区間の５つの区間が設定されている。ただし、０〜３６°の区間は、第５区間内の３６０〜３９６°の区間に相当する。これらの５つの区間のうち、ロータ角度に対応する区間がロータ角度推定値ｘに基づいて特定される。
【００４１】
ロータ角度推定値ｘに基づいて特定された第２補間極小値演算区間の前端に対応するロータ角度を＊α２、後端に対応するロータ角度を＊β２とし、メモリに格納されている極小値＊min1〜＊min5のうち、当該区間の前端に対応する極小値を＊min(n)、後端に対応する極小値を＊min(n+1)とすると、ロータ角度推定値ｘに対応する第２補間極小値＊minは、次式(10)で表される。
【００４２】
＊min＝｛（＊min（n+1）-＊min(n)）/（＊β２-＊α２）｝・（x-＊α２）+＊ min(n)  …(10)
第２ゲイン補正値Ｋcosは、次式(11)に基づいて演算される。
Ｋcosn=（＊max-＊min）/2      …(11)
この第２ゲイン補正値Ｋcosを用いて、出力信号Ｖ２が補正される。補正後の出力信号Ｖ２をＶ２’とすると、Ｖ２’は、次式(12)で表される。
【００４３】
Ｖ２’＝Ｖ２／Ｋcos    …(12)
図３は、回転角演算装置２０の詳細な構成を示す機能ブロック図である。
ロータ角度推定部２１は、所定の演算周期毎にロータ角度推定値ｘを求める。たとえば、前回求められたロータ１の絶対回転角θＡ(ｔ-1)に、ロータ１の推定角速度を加算することにより、ロータ角度推値ｘを求める。ロータ１の推定角速度は、たとえば、前回求められたロータ１の絶対回転角θＡ(ｔ-1)と前々回に求められたロータ１の絶対回転角θＡ(ｔ-2)との差を演算することにより求められる。
【００４４】
第1の振幅補正部２２は、極大、極小値検出記憶部３１、補間極大、極小値演算部３２、ゲイン補正値演算部３３および振幅補正部３４を含む。極大、極小値検出記憶部３１は、第１の出力信号Ｖ１から、出力信号Ｖ１の磁極対毎の極大値max1〜max5および極小値min1〜min5を予め検出し、対応するロータ角度に関連づけてメモリに格納する。
補間極大、極小値演算部３２は、ロータ角度推定値ｘと、メモリに格納されている極大値max1〜max5とに基づいて、前記式(4)を用いて、ロータ角度推定値ｘに対応する第１補間極大値maxを演算する。さらに、補間極大、極小値演算部３２は、ロータ角度推定値ｘと、メモリに格納されている極小値min1〜min5とに基づいて、前記式(6)を用いて、ロータ角度推定値ｘに対応する第１補間極小値minを演算する。
【００４５】
ゲイン補正値演算部３３は、第１補間極大値maxおよび第２補間極小値minに基づいて、前記式(7)を用いて、第１ゲイン補正値Ｋsinを演算する。振幅補正部３４は、前記式(8)に基づいて、第1の出力信号Ｖ１を補正する。これにより、補正された第１の出力信号Ｖ１’が得られる。
第２の振幅補正部２３は、極大、極小値検出記憶部４１、補間極大・極小値演算部４２、ゲイン補正値演算部４３および振幅補正部４４を含む。極大、極小値検出記憶部４１は、第２の出力信号Ｖ２から、出力信号Ｖ２の磁極対毎の極大値＊max1〜＊max5および極小値＊min1〜＊min5を予め検出し、対応するロータ角度に関連づけてメモリに格納する。
【００４６】
補間極大、極小値演算部４２は、ロータ角度推定値ｘと、メモリに格納されている極大値＊max1〜＊max5とに基づいて、前記式(9)を用いて、ロータ角度推定値ｘに対応する第２補間極大値＊maxを演算する。さらに、補間極大、極小値演算部４２は、ロータ角度推定値ｘと、メモリに格納されている極小値＊min1〜＊min5とに基づいて、前記式(10)を用いて、ロータ角度推定値ｘに対応する第２補間極小値＊minを演算する。
【００４７】
ゲイン補正値演算部４３は、第２補間極大値＊maxおよび第２補間極小値＊minに基づいて、前記式(11)を用いて、第２ゲイン補正値Ｋcosを演算する。振幅補正部４４は、前記式(12)に基づいて、第２の出力信号Ｖ２を補正する。これにより、補正された第２の出力信号Ｖ２’が得られる。
回転角演算部２４は、補正後の両出力信号Ｖ１’，Ｖ２’を用いて、次式（13）に基づいてロータ１の相対回転角θＲを演算する。
【００４８】
θＲ＝tan−１（Ｖ１’／Ｖ２’）    …(13)
回転角演算部２４は、このようにして、求められた相対角θＲから、ロータ１の絶対回転角θＡ  を、たとえば次式に基づいて演算する。
θＡ  ＝｛θＲ＋３６０×（ｎ−１）｝／５（ただし、ｎ＝１，２，…５）
この式中の「５」は、磁極対の数である。
【００４９】
図４は、回転角演算装置２０によって実行される回転角演算処理の手順を示すフローチャートである。
回転角演算処理は、所定の演算周期毎に繰り返し行なわれる。まず、回転角演算装置２０は、各磁気センサ１１，１２の出力信号Ｖ１（＝Ａ１・sinθ‘），Ｖ２（＝Ａ２・cosθ’）を取り込む（ステップＳ１）。回転角演算装置２０のロータ回転角推定部２１は、ロータ角度推定値ｘを演算する（ステップＳ２）。回転角演算装置２０の第１の振幅補正部２２は、ステップＳ１で取り込まれた第１の出力信号Ｖ１と、ロータ角度推定値ｘと、前記式（4)，(6)，(7)，(8)とを用いて、第１の出力信号Ｖ１を補正する（ステップＳ３）。これにより、補正された第１の出力信号Ｖ１’が得られる。
【００５０】
また、回転角演算装置２０の第２の振幅補正部２４は、ステップＳ１で取り込まれた第２の出力信号Ｖ２と、ロータ角度推定値ｘと、前記式 (9)，(10)，(11)，(12)とを用いて、第２の出力信号Ｖ２を補正する（ステップＳ４）。これにより、補正された第２の出力信号Ｖ２’が得られる。
回転角演算装置２０の回転角演算部２４は、補正後の第１の出力信号Ｖ１’および 第２の出力信号Ｖ２と、前記式（13)とを用いて相対回転角θＲを演算し、得られた相対回転角θＲに基づいて絶対回転角θＡを演算する（ステップＳ５）。
【００５１】
前記第１の実施形態では、予め検出された磁極対毎の第１の出力信号Ｖ１の極大値に基づいて補間極大値maxが演算されるとともに、予め検出された磁極対毎の第１の出力信号Ｖ１の極小値に基づいて補間極小値minが演算され、得られた補間極大値maxおよび補間極小値minに基づいて第１の出力信号Ｖ１の振幅が補正されるので、磁極毎の磁力のばらつきに基づく、第１の出力信号Ｖ１の振幅の変動を補正することができる。
【００５２】
また、予め検出された磁極対毎の第２の出力信号Ｖ２の極大値に基づいて補間極大値＊maxが演算されるとともに、予め検出された磁極対毎の第２の出力信号Ｖ２の極小値に基づいて補間極小値＊minが演算され、得られた補間極大値＊maxおよび補間極小値＊minに基づいて第２の出力信号Ｖ２の振幅が補正されるので、磁極毎の磁力のばらつきに基づく、第２の出力信号Ｖ２の振幅の変動を補正することができる。このようにして、磁極毎の磁力のばらつきに基づく振幅の変動が補正された第１および第２の出力信号Ｖ１’，Ｖ２’に基づいて、ロータ１の回転角が演算されるので、その検出精度を高めることができる。
【００５３】
図５は、この発明の第２の実施形態に係る回転角検出装置の構成を示す模式図である。
ロータ１は、複数の磁極対を有する円筒状の磁石２を含んでいる。この第２の実施形態においても、第１の実施形態と同様に、磁石２は、５対の磁極対を有している。つまり、磁石２は、等間隔に配置された１０個の磁極を有している。各磁極は、ロータ１の回転中心軸を中心として、３６°の角度間隔で配置されている。
【００５４】
ロータ１の周囲には、２つの磁気センサ１１，１２が、ロータ１の回転中心軸を中心として、１８°の角度間隔を配置おいて配置されている。これら２つの磁気センサ１１，１２を、それぞれ第１の磁気センサ１１および第２の磁気センサ１２という場合がある。第１の実施形態と同様に、図５に矢印で示す方向をロータ１の正方向の回転方向とする。各磁気センサ１１，１２からは、図１１に示すように、ロータ１が１磁極対分に相当する角度（７２°）を回転する期間を一周期とする正弦波信号が出力される。ここでは、第１の磁気センサ１１からは、Ｖ１＝Ａ１・sinθ’の出力信号が出力され、第２の磁気センサ１２からは、Ｖ２＝Ａ２・cosθ’の出力信号が出力されるものとする。Ａ１，Ａ２は、それぞれ振幅を表している。また、ロータ１の回転角をθとすると、θ’＝５θ−３６０（ｎ−１）となる。「５」は、磁極対の数であり、ｎは、１から５（磁極対の数）までの整数である。
【００５５】
所定の基準位置からのロータ１の絶対的な回転角を、ロータ１の絶対回転角θＡということにする。ロータ１の１回転分の角度範囲を、５つの磁極対に対応して、７２°間隔の５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として、絶対回転角θＡに対応する角度を０〜３６０°の範囲内で表した角度を、ロータ１の相対回転角θＲということにする。ロータ１の絶対回転角θＡを、単にロータ角度という場合がある。
【００５６】
各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２は、回転角演算装置５０に入力される。回転角演算装置５０は、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、ロータ１の絶対回転角θＡを演算する。回転角演算装置５０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ等）を含んでいる。回転角演算装置５０は、ＲＯＭに格納された所定のプログラムをＣＰＵが実行することにより、複数の機能処理部として機能する。この複数の機能処理部は、区間判定部５１、第１の振幅補正部（第１補正手段）５２、第２の振幅補正部（第２補正手段）５３および回転角演算部（回転角演算手段）５４を含む。
【００５７】
区間判定部５１は、後述する第１補間極大値演算区間、第１補間極小値演算区間、第２補間極大値演算区間および第２補間極小値演算区間それぞれについて、ロータ角度に対応する区間を特定する。第１の振幅補正部５２は、区間判定部５１の判定結果に基づいて、第１の出力信号Ｖ１の振幅を補正する。第２の振幅補正部５３は、区間判定部５１の判定結果に基づいて、第２の出力信号Ｖ２の振幅を補正する。回転角演算部５４は、補正後の第１の出力信号Ｖ１’と補正後の第２の出力信号Ｖ２’とに基づいてロータ１の相対回転角θＲを演算し、得られた相対回転角θＲに基づいて絶対回転角θＡを演算する。
【００５８】
図６および図７を参照して、第１の振幅補正部５１による振幅補正について説明する。図６は、ロータ角度に対する第１の出力信号Ｖ１および第２の出力信号Ｖ２の一例を示している。図７は、図６に示されている第１の出力信号Ｖ１の一部を拡大して示している。
第１の振幅補正部５２は、出力信号Ｖ１の磁極対毎の極大値および極小値を予め検出して、メモリに格納しておく。具体的には、第１の振幅補正部５２は、ロータ角度が１８°，９０°，１６２°，２３４°および３０６°に対応する極大値max１〜max5を、ロータ角度に関連付けてメモリに格納しておく。また、第１の振幅補正部５２は、ロータ角度が５４°，１２６°，１９８°，２７０°および３４２°に対応する極小値min１〜min5を、ロータ角度に関連付けてメモリに格納しておく。
【００５９】
ロータ角度を演算する際には、第１の振幅補正部５２は、区間判定部５１の区間判定結果と、第２の出力信号Ｖ２の符号と、第１の出力信号Ｖ１と、メモリに格納されている極大値max１〜max5とに基づいて、ロータ角度に対応する第１補間極大値maxを演算する。さらに、第１の振幅補正部５２は、区間判定部５１の区間判定結果と、第２の出力信号Ｖ２の符号と、第１の出力信号Ｖ１と、メモリに格納されている極小値min1〜min5とに基づいて、ロータ角度に対応する第１補間極小値minを演算する。また、第１の振幅補正部５２は、演算された第１補間極大値maxと第１補間極小値minとに基づいて、第１ゲイン補正値Ｋsinを演算する。そして、第１の振幅補正部５２は、出力信号Ｖ１を、第１ゲイン補正値Ｋsinを用いて補正する。
【００６０】
ロータ角度に対応する第１補間極大値maxは、次のようにして求められる。第１補間極大値maxを演算するための区間（以下、「第１補間極大値演算区間」という）として、１８〜９０°の第１区間、９０〜１６２°の第２区間、１６２〜２３４°の第３区間、２３４〜３０６°の第4区間および３０６〜３７８°の第５区間の５つの区間が設定されている。ただし、０〜１８°の区間は、第５区間内の３６０〜３７８°の区間に相当する。これらの５つの区間のうち、ロータ角度に対応する区間は、区間判定部５１によって特定される。
【００６１】
ロータ角度に対応する第１補間極大値演算区間が、図６および図７に示す、１８〜９０°の第１区間であるとする。図６および図７に示すように、１８°に対応する極大値がmax1であり、９０°に対応する極大値がmax2であるとする。
まず、第２の出力信号Ｖ２の符号が、負の場合（Ｖ２≦０）について説明する。Ｖ２≦０の場合には、図６からわかるように、ロータ角度は、１８〜９０°の第１区間のうちの前半の１８〜５４°の範囲にあると考えられる。第１の出力信号Ｖ１の瞬時値が、図７の１８〜５４°の範囲において示したａであるとする。この瞬時値ａに対応するロータ角度を、図７にθｘで示す。
【００６２】
θｘに対応する第１補間極大値maxは、図７に示すように、max1と(max1＋max2）／２とを結んだ直線上の点Ｐにあると仮定し、線形補間により求める。１８°からθｘまでの角度をＡとし、θｘから５４°までの角度をＢとすると、θｘに対応する第１補間極大値maxは、次式（14）で表される。
max ＝｛（A／(A+B）)・（max1-(max1+max2)/2)｝+（max1＋max2）/2
＝｛（A／(A+B）)・（max1-max2）/2)｝+（max1＋max2）/2…(14)
A／(A+B）を(ａ-min1）/（max1-min1）で近似すると、前記式(14)は、次式(15)に変形することができる。
【００６３】
max＝｛（max1-max2）/2｝・｛（ａ-min1/（max1-min1）｝+（max1＋max2）/2…(15)
次に、第２の出力信号Ｖ２の符号が、正の場合（Ｖ２＞０）について説明する。Ｖ２＞０の場合には、図６からわかるように、ロータ角度は、１８〜９０°の第１区間のうちの後半の５４〜１２６°の範囲にあると考えられる。第１の出力信号Ｖ１の瞬時値が、図７の５４〜１２６°の範囲において示したａであるとする。この瞬時値ａに対応するロータ角度を、図７にθｘ’で示す。
【００６４】
θｘ’に対応する補間極大値maxは、図７に示すように、（max１＋max2）/2とmax2とを結んだ直線上の点Ｐ’にあると仮定し、線形補間により求められる。５４°からθｘ’までの角度をＡ’とし、θｘ’から９０°までの角度をＢ’とすると、θｘ’に対応する補間極大値maxは、次式（16）で表される。
max ＝｛（A'/(A'+B')）・（（（max1＋max2）/2)-max2）｝+（max1+max2）/2
＝｛（A'/(A'+B')）・((max1-max2）/2）｝+（max1+max2）/2   …(16)
A'/（A'+B'）を(ａ-min1）/（max2-min1）で近似すると、前記式(16)は、次式(17)に変形することができる。
【００６５】
max＝｛（max2-max1）/2｝・｛（ａ-min1）/（max2-min1）｝+（max1+max2）/2  …(17)
前記式（16），（17)を、１８〜９０°の区間以外の補間極大値演算区間にも適用できるように一般化する。つまり、メモリに格納されている極大値max1〜max5のうち、区間判定部５１によって特定された第１補間極大値演算区間の前端に対応する極大値をmax(n)、後端に対応する極大値をmax(n+1)とすると、出力信号Ｖ１に対応する第１補間極大値maxは、次式(18)で表される。
【００６６】
V2＝A2・cosθ’≦０のとき
max＝｛（max(n)-max(n+1)）/2｝・｛（ａ-min(n)）/（max(n)-min(n)）｝
+（max(n)＋max(n+1)）/2
V2＝A2・cosθ’＞０のとき
max＝｛（max(n+1)-max(n)）/2｝・｛（ａ-min(n)）/（max(n+1)-min(n)）｝
+（max(n)+max(n+1)）/2      …(18)
ロータ角度に対応する第１補間極小値minも、前述した第１補間極大値maxと同様な方法で求められる。第１補間極小値minを演算するための第１補間極小値区間として、５４〜１２６°の第１区間、１２６〜１９８°の第２区間、１９８〜２７０°の第３区間、２７０°〜３４２°の第4区間および３４２°〜４１４°の第５区間の５つの区間が設定されている。ただし、０〜５４°の区間は、第５区間内の３６０〜４１４°の区間に相当する。これらの５つの区間のうち、ロータ角度に対応する区間は、区間判定部５１によって特定される。
【００６７】
メモリに格納されている極小値min1〜min5のうち、区間判定部５１によって特定された第１補間極小値演算区間の前端に対応する極小値をmin(n)、後端に対応する極小値をmin(n+1)とし、出力信号Ｖ１の瞬時値をａとすると、ロータ角度に対応する第１補間極小値minは、次式(19)で表される。
V2＝A2・cosθ’＞０のとき
min＝｛（min（n）-min（n+1））/2｝・｛（ａ-max(n+1)）/（min(n)-max(n+1)）｝
+（min(n)-min（n+1））/2
V2＝A2・cosθ’≦０のとき
min＝｛（min(n+1)-min（n））/2｝・｛（ａ-max(n+1)）/（min（n+1）-max(n+1)）｝
+（min(n+1)+min（n））/2    …(19)
第１ゲイン補正値Ｋsinは、次式(20)に基づいて演算される。
【００６８】
Ｋsin=（max-min）/2      …(20)
この第１ゲイン補正値Ｋsinを用いて、出力信号Ｖ１が補正される。補正後の出力信号Ｖ１をＶ１’とすると、Ｖ１’は、次式(21)で表される。
Ｖ１’＝Ｖ１／Ｋsin      …(21)
第２の振幅補正部５３も、第１の振幅補正部５２と同様な方法で、第２の出力信号Ｖ２を補正する。
【００６９】
つまり、第２の振幅補正部５３は、出力信号Ｖ２の磁極対毎の極大値および極小値を予め検出し、対応するロータ角度に関連づけてメモリに格納しておく。具体的には、第２の振幅補正部５３は、ロータ角度が０°，７２°，１４４°，２１６°および２８８°に対応する極大値＊max１〜＊max5を、ロータ角度に関連付けてメモリに格納しておく。また、第２の振幅補正部５３は、ロータ角度が３６°，１０８°，１８０°，２５２°および３２４°に対応する極小値＊min１〜＊min5を、ロータ角度に関連付けてメモリに格納しておく。
【００７０】
ロータ角度を演算する際には、第２の振幅補正部５３は、区間判定部５１の区間判定結果と、第１の出力信号Ｖ１の符号と、第２の出力信号Ｖ２と、メモリに格納されている極大値＊max１〜＊max5とに基づいて、ロータ角度に対応する第２補間極大値＊maxを演算する。さらに、第２の振幅補正部５３は、区間判定部５１の区間判定結果と、第１の出力信号Ｖ１の符号と、第２の出力信号Ｖ２と、メモリに格納されている極小値＊min1〜＊min5とに基づいて、ロータ角度に対応する第２補間極小値＊minを演算する。また、第２の振幅補正部５３は、演算された第２補間極大値＊maxと第２補間極小値＊minとに基づいて、第２ゲイン補正値Ｋcosを演算する。そして、第２の振幅補正部５３は、出力信号Ｖ２を、第２ゲイン補正値Ｋcosを用いて補正する。
【００７１】
第２補間極大値＊maxを演算するための第２補間極大値演算区間として、０〜７２°の第１区間、７２〜１４４°の第２区間、１４４〜２１６°の第３区間、２１６〜２８８°の第4区間および２８８〜３６０°の第５区間の５つの区間が設定されている。これらの５つの区間のうち、ロータ角度に対応する区間は、区間判定部６１によって特定される。
また、第２補間極小値＊minを演算するための第２補間極小値演算区間として、３６〜１０８°の第１区間、１０８〜１８０°の第２区間、１８０〜２５２°の第３区間、２５２〜３２４°の第4区間および３２４〜３９６°の第５区間の５つの区間が設定されている。ただし、０〜３６°の区間は、第５区間内の３６０〜３９６°の区間に相当する。これらの５つの区間のうち、ロータ角度に対応する区間は、区間判定部６１によって特定される。
【００７２】
前述したように、第１の振幅補正部５２の場合には、第２の出力信号Ｖ２が０以下である場合（Ｖ２≦０）には、区間判定部によって特定された区間の前半部にロータ角度が存在していると判定し、第２の出力信号Ｖ２が０より大きい場合（Ｖ２＞０）に、区間判定部によって特定された区間の後半部にロータ角度が対応していると判定している。
第２の振幅補正部５３では、このような判定が、第１の出力信号Ｖ１に基づいて行われる。第２の振幅補正部５３の場合には、第１の出力信号Ｖ１が０以下である場合（Ｖ１≦０）には、区間判定部によって特定された区間の後半部にロータ角度が存在していると判定し、第１の出力信号Ｖ１が０より大きい場合（Ｖ１＞０）に、区間判定部によって特定された区間の前半部にロータ角度が対応していると判定している。つまり、第１の振幅補正部５２と、第２の振幅補正部５３とでは、他方の出力信号の符号に基づいて行われる区間内の前後半判定結果は、逆になる。したがって、第２補間極大値＊maxおよび第２補間極小値＊minに用いられる演算式は、第１補間極大値maxおよび第１補間極小値minに用いられる演算式に対して、条件部の符号が逆になる。
【００７３】
メモリに格納されている極大値＊max1〜＊max5のうち、区間判定部５１によって特定された第２補間極大値演算区間の前端に対応する極大値を＊max(n)、後端に対応する極大値を＊max(n+1)とし、出力信号Ｖ２の瞬時値をbとすると、ロータ角度に対応する第２補間極大値＊maxは、次式(22)で表される。
V1＝A1・sinθ’＞０のとき
*max＝｛（*max(n)-*max(n+1)）/2｝・｛（b-*min(n)）/（*max(n)-*min(n)）｝
+（*max(n)＋*max(n+1)）/2
V1＝A1・sinθ’≦０のとき
*max＝｛（*max(n+1)-*max(n)）/2｝・｛（b-*min(n)）/（*max(n+1)-*min(n)）｝
+（*max(n)+*max(n+1)）/2      …(22)
また、メモリに格納されている極小値＊min1〜＊min5のうち、区間判定部５１によって判定された第２補間極小値演算区間の前端に対応する極小値を＊max(n)、後端に対応する極小値をmax(n+1)とし、出力信号Ｖ１の瞬時値をbとすると、ロータ角度に対応する第２補間極小値＊minは、次式(23)で表される。
【００７４】
V１＝A１・sinθ’≦０のとき
*min＝｛（*min（n）-*min（n+1））/2｝・｛（b-*max(n+1)）/（*min(n)-*max(n+1)）｝
+（*min(n)-*min（n+1））/2
V1＝A1・sinθ’＞０のとき
*min＝｛（*min(n+1)-*min（n））/2｝・｛（b-*max(n+1)）/（*min（n+1）-*max(n+1)）｝
+（*min(n+1)+*min（n））/2    …(23)
第２ゲイン補正値Ｋcosは、次式(24)に基づいて演算される。
【００７５】
Ｋcos=（*max-*min）/2      …(24)
このゲイン補正値Ｋcosを用いて、出力信号Ｖ２が補正される。補正後の出力信号Ｖ２をＶ２’とすると、Ｖ２’は、次式(25)で表される。
Ｖ２’＝Ｖ２／Ｋcos      …(25)
図８は、回転角演算装置５０の詳細な構成を示す機能ブロック図である。
【００７６】
区間判定部５１は、所定の演算周期毎に、第１補間極大値演算区間、第１補間極小値演算区間、第２補間極大値演算区間および第２補間極小値演算区間それぞれについて、ロータ１の絶対回転角θＡに対応する区間を特定する。区間判定部５１は、たとえば、前回求められたロータ１の絶対回転角θＡ(ｔ-1)に、ロータ１の推定角速度を加算することにより、ロータ角度推定値を求め、このロータ角度推定値に基づいて、前記の区間判定を行う。ロータ１の推定角速度は、たとえば、前回求められたロータ１の絶対回転角θＡ(ｔ-1)と前々回に求められたロータ１の絶対回転角θＡ(ｔ-2)との差を演算することにより求められる。なお、区間判定部５１による前記各演算区間の特定方法は、これに限られない。
【００７７】
第1の振幅補正部５２は、極大、極小値検出記憶部６１、補間極大、極小値演算部６２、ゲイン補正値演算部６３および振幅補正部６４を含む。極大、極小値検出記憶部６１は、第１の出力信号Ｖ１から、出力信号Ｖ１の磁極対毎の極大値max1〜max5および極小値min1〜min5を予め検出し、対応するロータ角度に関連づけてメモリに格納する。
補間極大、極小値演算部６２は、区間判定部６１の判定結果と、メモリに格納されている極大値max1〜max5とに基づいて、前記式(18)を用いて、ロータ角度に対応する第１補間極大値maxを演算する。さらに、補間極大、極小値演算部６２は、区間判定部６１の判定結果と、メモリに格納されている極小値min1〜min5とに基づいて、前記式(19)を用いて、ロータ角度に対応する第１補間極小値minを演算する。
【００７８】
ゲイン補正値演算部６３は、第１補間極大値maxおよび第１補間極小値minに基づいて、前記式(20)を用いて、第１ゲイン補正値Ｋsinを演算する。振幅補正部６４は、前記式(21)に基づいて、第１の出力信号Ｖ１を補正する。これにより、補正された第１の出力信号Ｖ１’が得られる。
第２の振幅補正部５３は、極大、極小値検出記憶部７１、補間極大・極小値演算部７２、ゲイン補正値演算部７３および振幅補正部７４を含む。極大、極小値検出記憶部７１は、第２の出力信号Ｖ２から、出力信号Ｖ２の磁極対毎の極大値＊max1〜＊max5および極小値＊min1〜＊min5を予め検出し、対応するロータ角度に関連づけてメモリに格納する。
【００７９】
補間極大、極小値演算部７２は、区間判定部５１の判定結果と、メモリに格納されている極大値＊max1〜＊max5とに基づいて、前記式(22)を用いて、ロータ角度に対応する第２補間極大値＊maxを演算する。さらに、補間極大、極小値演算部７２は、区間判定部５１の判定結果と、メモリに格納されている極小値＊min1〜＊min5とに基づいて、前記式(23)を用いて、ロータ角度に対応する第２補間極小値＊minを演算する。
【００８０】
ゲイン補正値演算部７３は、第２補間極大値＊maxおよび第２補間極小値＊minに基づいて、前記式(24)を用いて、第２ゲイン補正値Ｋcosを演算する。振幅補正部７４は、前記式(25)に基づいて、第２の出力信号Ｖ２を補正する。これにより、補正された第２の出力信号Ｖ２’が得られる。
回転角演算部５４は、補正後の両出力信号Ｖ１’，Ｖ２’を用いて、次式（26）に基づいてロータ１の相対回転角θＲを演算する。
【００８１】
θＲ＝tan−１（Ｖ１’／Ｖ２’）  …(26)
回転角演算部５４は、このようにして、求められた相対角θＲから、ロータ１の絶対回転角θＡ  を、たとえば次式に基づいて演算する。
θＡ  ＝｛θＲ＋３６０×（ｎ−１）｝／５（ただし、ｎ＝１，２，…５）
この式中の「５」は、磁極対の数である。
【００８２】
図９は、回転角演算装置５０によって実行される回転角演算処理の手順を示すフローチャートである。
回転角演算処理は、所定の演算周期毎に繰り返し行なわれる。まず、回転角演算装置５０は、各磁気センサ１１，１２の出力信号Ｖ１（＝Ａ１・sinθ’），Ｖ２（＝Ａ２・cosθ’）を取り込む（ステップＳ２１）。回転角演算装置５０の区間判定部５１は、第１補間極大値演算区間、第１補間極小値演算区間、第２補間極大値演算区間および第２補間極小値演算区間それぞれについて、ロータ１の絶対回転角θＡに対応する区間を特定する（ステップＳ２２）。回転角演算装置５０の第１の振幅補正部５２は、ステップＳ２１で取り込まれた第１の出力信号Ｖ１と、区間判定部５１の区間判定結果と、前記式（18)，(19)，(20)，(21)とを用いて、第１の出力信号Ｖ１を補正する（ステップＳ２３）。これにより、補正された第１の出力信号Ｖ１’が得られる。
【００８３】
また、回転角演算装置５０の第２の振幅補正部５３は、ステップＳ２１で取り込まれた第２の出力信号Ｖ２と、区間判定部５１の区間判定結果と、前記式 (22)，(23)，(24)，(25)とを用いて、第２の出力信号Ｖ２を補正する（ステップＳ２４）。これにより、補正された第２の出力信号Ｖ２’が得られる。
回転角演算装置５０の回転角演算部５４は、補正後の第１の出力信号Ｖ１’および 第２の出力信号Ｖ２と、前記式（26)とを用いて相対回転角θＲを演算し、得られた相対回転θＲに基づいて絶対回転角θＡを演算する（ステップＳ２５）。
【００８４】
前記第２の実施形態においても、予め検出された磁極対毎の第１の出力信号Ｖ１の極大値に基づいて補間極大値maxが演算されるとともに、予め検出された磁極対毎の第１の出力信号Ｖ１の極小値に基づいて補間極小値minが演算され、得られた補間極大値maxおよび補間極小値minに基づいて第１の出力信号Ｖ１の振幅が補正されるので、磁極毎の磁力のばらつきに基づく、第１の出力信号Ｖ１の振幅の変動を補正することができる。
【００８５】
また、予め検出された磁極対毎の第２の出力信号Ｖ２の極大値に基づいて補間極大値＊maxが演算されるとともに、予め検出された磁極対毎の第２の出力信号Ｖ２の極小値に基づいて補間極小値＊minが演算され、得られた補間極大値＊maxおよび補間極小値＊minに基づいて第２の出力信号Ｖ２の振幅が補正されるので、磁極毎の磁力のばらつきに基づく、第２の出力信号Ｖ２の振幅の変動を補正することができる。このようにして、磁極毎の磁力のばらつきに基づく振幅の変動が補正された第１および第２の出力信号Ｖ１’，Ｖ２’に基づいて、ロータ１の回転角が演算されるので、その検出精度を高めることができる。
【００８６】
以上、この発明の第１および第２の実施形態について説明したが、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
また、この発明は、ブラシレスモータのロータ以外の回転体の回転角を検出する場合にも、適用することができる。
【符号の説明】
【００８７】
１…ロータ、１１，１２…磁気センサ、２０，５０…回転角演算装置
【図１】
2011047735.tif 000007
【図２】
2011047735.tif 000008
【図３】
2011047735.tif 000009
【図４】
2011047735.tif 000010
【図５】
2011047735.tif 000011
【図６】
2011047735.tif 000012
【図７】
2011047735.tif 000013
【図８】
2011047735.tif 000014
【図９】
2011047735.tif 000015
【図１０】
2011047735.tif 000016
【図１１】
2011047735.tif 000017