(57)【特許請求の範囲】
【請求項１】
回転体の回転に応じて回転しかつ周方向に複数の磁極が設けられた検出用ロータと、前記検出用ロータの回転に応じて、所定の位相差を有する複数の正弦波信号をそれぞれ出力する複数の磁気センサとを含み、これらの磁気センサの出力信号に基づいて前記回転体の回転角を検出する回転角検出装置であって、
前記磁気センサ毎に、その出力信号の前記磁極毎のピーク値を検出するピーク値検出手段と、
前記ピーク値検出手段によって前記磁気センサ毎に検出される前記磁極毎のピーク値と、前記各磁極の角度幅と、前記検出用ロータに設けられた磁極数とに基づいて、前記磁気センサ毎にオフセット電圧を演算するオフセット電圧演算手段と、
前記ピーク値検出手段によって前記磁気センサ毎に検出される前記磁極毎のピーク値と、前記オフセット電圧演算手段によって演算される前記磁気センサ毎のオフセット電圧とに基づいて、前記各磁気センサの出力信号を補正する信号補正手段と、
前記信号補正手段によって補正された前記各磁気センサの出力信号に基づいて、前記回転体の回転角を演算する回転角演算手段と、
を含む回転角検出装置。
【請求項２】
前記オフセット電圧演算手段は、
オフセット電圧の演算対象である磁気センサを演算対象センサとし、前記各磁極のうちのＮ極の各磁極に対応する前記演算対象センサの出力信号のピーク値の総和をΣＰＮ、前記各磁極のうちのＳ極の各磁極に対応する前記演算対象センサの出力信号のピーク値の総和をΣＰＳ、前記各磁極の角度幅の総和をΣＷ、前記各磁極のうちのＮ極の各磁極の角度幅の総和をΣＷＮ、前記各磁極のうちのＳ極の各磁極の角度幅の総和をΣＷＳ、前記各磁極の総数をＫとすると、
次式(a)に基づいて、前記演算対象センサの出力信号のオフセット電圧Ｖosを演算する請求項１に記載の回転角検出装置。
Ｖos＝［｛ΣＰＮ×（（ΣＷ／２）／ΣＷＮ）÷（Ｋ／２）｝
＋｛ΣＰＳ×（（ΣＷ／２）／ΣＷＳ）÷（Ｋ／２）｝］／２    …(a)
【請求項３】
前記信号補正手段は、
前記演算対象センサが感知している磁極のピーク値をＰｘとし、前記演算対象センサの出力信号値をＶとし、予め設定された基準振幅をＡoとすると、
次式(b)に基づいて、前記演算対象センサの出力信号の補正値Ｖ’を演算する請求項２に記載の回転角検出装置。
Ｖ’＝｛（Ｖ−Ｖos）／Ｐｘ｝×Ａo  …(b)
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータのロータ等の回転体の回転角を検出する回転角検出装置に関する。
【背景技術】
【０００２】
電動パワーステアリング装置などに使用されるブラシレスモータを制御するためには、ロータの回転角度に合わせてステータ巻線に電流を通電する必要がある。そこで、ブラシレスモータの回転に応じて回転する検出用ロータを用いて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図９に示すように、検出用ロータ１０１（以下、「ロータ１０１」という）は、ブラシレスモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石１０２を備えている。ロータ１０１の周囲には、２つの磁気センサ１２１，１２２が、ロータ１０１の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ１２１，１２２からは、所定の位相差を有する正弦波信号が出力される。これらの２つの正弦波信号に基づいて、ロータ１０１の回転角（ブラシレスモータのロータの回転角）が検出される。
【０００３】
この例では、磁石１０２は、５組の磁極対を有している。つまり、磁石１０２は、等角度間隔で配置された１０個の磁極を有している。各磁極は、ロータ１０１の回転中心軸を中心として、３６°（電気角では１８０°）の角度間隔で配置されている。また、２つの磁気センサ１２１，１２２は、ロータ１０１の回転中心軸を中心として１８°（電気角では９０°）の角度間隔をおいて配置されている。
【０００４】
図９に矢印で示す方向を検出用ロータ１０１の正方向の回転方向とする。そして、ロータ１０１が正方向に回転されるとロータ１０１の回転角が大きくなり、ロータ１０１が逆方向に回転されると、ロータ１０１の回転角が小さくなるものとする。各磁気センサ１２１，１２２からは、図１０に示すように、ロータ１０１が１磁極対分に相当する角度（７２°（電気角では３６０°））を回転する期間を一周期とする正弦波信号Ｖ１，Ｖ２が出力される。
【０００５】
ロータ１０１の１回転分の角度範囲を、５つの磁極対に対応して５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として表したロータ１０１の角度を、ロータ１０１の電気角θｅということにする。この場合には、１０個の磁極の角度幅は等しいので、ロータ１０１の電気角θｅは、ブラシレスモータのロータの電気角と一致する。
ここでは、第１の磁気センサ１２１からは、Ｖ１＝Ａ１・sinθｅの出力信号が出力され、第２の磁気センサ１２２からは、Ｖ２＝Ａ２・cosθｅの出力信号が出力されるものとする。Ａ１，Ａ２は、振幅である。両出力信号Ｖ１，Ｖ２の振幅Ａ１，Ａ２が互いに等しいとみなすと、ロータ１０１の電気角θｅは、両出力信号Ｖ１，Ｖ２を用いて、次式(1)に基づいて求めることができる。
【０００６】
θｅ＝tan−１（sinθｅ／cosθｅ）
＝tan−１（Ｖ１／Ｖ２）      …(1)
このようにして、求められた相対角θｅを使って、ブラシレスモータを制御する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2004-325140号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
前述したような従来の回転角検出装置をブラシレスモータのロータの回転角を検出するために用いる場合には、ブラシレスモータの制御に用いられる電気角を高精度に検出するために、検出用ロータ１０１の磁極数とブラシレスモータの磁極数とを等しくすることが好ましい。しかしながら、検出ロータ１０１に着磁すべき磁極数が多くなると、着磁誤差が発生しやすくなる。そうすると、各磁極の磁束量のばらつきや各磁気センサの温度特性により、各磁気センサ１２１，１２２の出力信号の振幅やオフセット電圧が変動する。このため、回転角演算装置によって検出される回転角に誤差が生じる。なお、オフセット電圧とは、磁束量が零のときの電圧である。
【０００９】
そこで、各磁気センサ１２１，１２２の出力信号の振幅やオフセット電圧を検出し、検出した振幅やオフセット電圧に基づいて、各磁気センサ１２１，１２２の出力信号を補正してから、電気角θｅを演算することが考えられる。しかしながら、磁気センサ１２１，１２２が組み付けられてしまうと、磁束量が零の状態を判別できないため、オフセット電圧を検出することができない。このため、各磁気センサ１２１，１２２の出力信号の振幅やオフセット電圧のばらつきを補正することができない。
【００１０】
この発明の目的は、オフセット電圧を高精度に検出することができ、回転体の回転角の検出誤差を低減することができる回転角検出装置を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するための請求項１記載の発明は、回転体（１０）の回転に応じて回転しかつ周方向に複数の磁極（Ｍ０〜Ｍ９）が設けられた検出用ロータ（１）と、前記検出用ロータの回転に応じて、所定の位相差を有する複数の正弦波信号（Ｖ１，Ｖ２）をそれぞれ出力する複数の磁気センサ（２１，２２）とを含み、これらの磁気センサの出力信号に基づいて前記回転体の回転角を検出する回転角検出装置であって、前記磁気センサ毎に、その出力信号の前記磁極毎のピーク値を検出するピーク値検出手段（２０，Ｓ５）と、前記ピーク値検出手段によって前記磁気センサ毎に検出される前記磁極毎のピーク値と、前記各磁極の角度幅と、前記検出用ロータに設けられた磁極数とに基づいて、前記磁気センサ毎にオフセット電圧を演算するオフセット電圧演算手段（５０，Ｓ１１）と、前記ピーク値検出手段によって前記磁気センサ毎に検出される前記磁極毎のピーク値と、前記オフセット電圧演算手段によって演算される前記磁気センサ毎のオフセット電圧とに基づいて、前記各磁気センサの出力信号を補正する信号補正手段（５０，Ｓ１１）と、前記信号補正手段によって補正された前記各磁気センサの出力信号に基づいて、前記回転体の回転角を演算する回転角演算手段（５０，Ｓ１２）と、を含む回転角検出装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【００１２】
上記構成では、磁気センサ毎に、その出力信号の磁極毎のピーク値が検出される。磁気センサ毎に検出される磁極毎のピーク値と、各磁極の角度幅と、検出用ロータに設けられた磁極数とに基づいて、磁気センサ毎にオフセット電圧が演算される。これにより、各磁気センサの出力信号のオフセット電圧を正確に求めることができる。
磁気センサ毎に検出される磁極毎のピーク値と、磁気センサ毎のオフセット電圧とに基づいて、各磁気センサの出力信号が補正される。これにより、各磁極の磁束量のばらつきや各磁気センサの温度特性に起因する、各磁気センサの出力信号の振幅およびオフセット電圧のばらつきを補正することができる。そして、補正された各磁気センサの出力信号に基づいて、回転体の回転角が演算される。これにより、回転体の回転角の検出誤差を低減することができる。
【００１３】
前記オフセット電圧演算手段は、オフセット電圧の演算対象である磁気センサを演算対象センサとし、前記各磁極のうちのＮ極の各磁極に対応する前記演算対象センサの出力信号のピーク値の総和をΣＰＮ、前記各磁極のうちのＳ極の各磁極に対応する前記演算対象センサの出力信号のピーク値の総和をΣＰＳ、前記各磁極の角度幅の総和をΣＷ、前記各磁極のうちのＮ極の各磁極の角度幅の総和をΣＷＮ、前記各磁極のうちのＳ極の各磁極の角度幅の総和をΣＷＳ、前記各磁極の総数をＫとすると、次式(a)に基づいて、前記演算対象センサの出力信号のオフセット電圧Ｖosを演算するように構成されていてもよい。
【００１４】
Ｖos＝［｛ΣＰＮ×（（ΣＷ／２）／ΣＷＮ）÷（Ｋ／２）｝
＋｛ΣＰＳ×（（ΣＷ／２）／ΣＷＳ）÷（Ｋ／２）｝］／２    …(a)
前記信号補正手段は、前記演算対象センサが感知している磁極のピーク値をＰｘとし、前記演算対象センサの出力信号値をＶとし、予め設定された基準振幅をＡoとすると、次式(b)に基づいて、前記演算対象センサの出力信号の補正値Ｖ’を演算するように構成されていてもよい。
【００１５】
Ｖ’＝｛（Ｖ−Ｖos）／Ｐｘ｝×Ａo  …(b)
【図面の簡単な説明】
【００１６】
【図１】この発明の一実施形態に係る回転角検出装置を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の構成を示す模式図である。
【図２】検出用ロータの構成を示す模式図である。
【図３】第１の磁気センサの出力信号波形および第２の磁気センサの出力信号波形を示す模式図である。
【図４】図４は、不揮発性メモリに記憶されたピーク値テーブルの内容を示す模式図であある。
【図５】回転角演算装置による回転角演算処理の手順を示すフローチャートである。
【図６】メモリ内の第１のピーク値記憶領域および第２のピーク値記憶領域を示す模式図である。
【図７】相対的極番号の設定処理の詳細な手順を示すフローチャートである。
【図８】相対的極番号の設定処理を説明するための模式図である。
【図９】従来の回転角検出装置による回転角検出方法を説明するための模式図である。
【図１０】第１の磁気センサの出力信号波形および第２の磁気センサの出力信号波形を示す模式図である。
【発明を実施するための形態】
【００１７】
以下では、この発明を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の実施形態について、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係る回転角検出装置を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の構成を示す模式図である。
この回転角検出装置は、ブラシレスモータ１０の回転に応じて回転する検出用ロータ（以下、単に「ロータ１」という）を有している。図２に示すように、ロータ１は、ブラシレスモータ１０のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石２を含んでいる。つまり、ロータ１には、周方向に並んだ複数の磁極が設けられている。この例では、磁石２は、５組の磁極対（Ｍ０，Ｍ１），（Ｍ２，Ｍ３），（Ｍ４，Ｍ５），（Ｍ６，Ｍ７），（Ｍ８，Ｍ９）を有している。つまり、磁石２は、１０個の磁極Ｍ０〜Ｍ９を有している。
【００１８】
ブラシレスモータ１０のロータに設けられた各磁極の周方向の長さは、全て同じである。つまり、ブラシレスモータ１０のロータに設けられた各磁極の角度幅は全て同じであり、３６°である。したがって、このブラシレスモータ１０では、１磁極対の角度幅は、機械角で７２°であり、これが電気角の３６０°に相当する。
これに対し、図２に示すように、ロータ１に設けられている各磁極Ｍ０〜Ｍ９の角度幅には、ばらつきがある。この実施形態では、ロータ１に設けられている各磁極Ｍ０〜Ｍ９のうち、Ｎ極の磁極Ｍ０，Ｍ２，Ｍ４，Ｍ６，Ｍ８の角度幅（ａ，ｃ，ｅ，ｇ，ｉ）は、それぞれ異なっている。つまり、Ｎ極の磁極間では、その着磁面積が異なっている。Ｓ極の磁極Ｍ１，Ｍ３，Ｍ５，Ｍ７，Ｍ９のうち、磁極Ｍ９以外の４つの磁極Ｍ１，Ｍ３，Ｍ５，Ｍ７は、それぞれ異なっている。磁極Ｍ９の角度幅（ｊ）は、磁極Ｍ７の角度幅（ｆ）と等しい。
【００１９】
この実施形態においては、各磁極Ｍ０〜Ｍ９の角度幅は、表１に示すようになっている。ただし、表１では、角度幅は、その角度幅に対応する機械角に磁極対数（この実施形態では”５”）を乗算した値で表されている。なお、図２において、破線は、ロータ１を周方向に３６°（電気角では１８０°）間隔で分割した場合の各領域を示している。
【００２０】
【表１】
0005708986.tif 000002
【００２１】
磁石２の各磁極Ｍ０〜Ｍ９の角度幅は、たとえば、次のようにして求めることができる。磁石２を単体で回転させながら、磁束測定器で回転角毎に磁束量を測定する。そして、磁束量が零の角度間隔（電気角）を演算する。これにより、各磁極Ｍ０〜Ｍ９の角度幅が求められる。
ロータ１の周囲には、２つの磁気センサ２１，２２が、ロータ１の回転中心軸を中心として、所定角度（１８°（電気角では９０°））の角度間隔をおいて配置されている。これら２つの磁気センサ２１，２２を、それぞれ第１の磁気センサ２１および第２の磁気センサ２２という場合がある。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。
【００２２】
図２に矢印で示す方向をロータ１の正方向の回転方向とする。そして、ロータ１が正方向に回転されるとロータ１の回転角が大きくなり、ロータ１が逆方向に回転されると、ロータ１の回転角が小さくなるものとする。各磁気センサ２１，２２からは、図３に示すように、ロータ１の回転にともなって、正弦波状の信号（以下、「正弦波信号」という）Ｖ１，Ｖ２が出力される。なお、図３における横軸のロータ角度［deg]は、機械角に磁極対数（この実施形態では”５”）を乗算することにより得られた角度を表している。また、図３には、正弦波信号Ｖ１における各磁極Ｍ０〜Ｍ９のピーク値が、Ｐ０〜Ｐ９で示されている。  
【００２３】
ロータ１が１つの磁極に相当する角度を回転すると、各磁気センサ２１，２２からは、半周期分の正弦波信号が出力される。ただし、この実施形態では、各磁極の角度幅は一定幅ではないため、１つの磁気センサから出力される正弦波信号における各磁極に対応する半周期は一定ではない。また、磁極Ｍ７および磁極Ｍ９を除いて、各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２の磁極毎のピーク値は、磁極ごとに異なる。第１の磁気センサ２１の出力信号Ｖ１を第１の出力信号Ｖ１といい、第２の磁気センサ２２の出力信号Ｖ２を第２の出力信号Ｖ２という場合がある。
【００２４】
ロータ１の１回転分の角度範囲を、５つの磁極対の角度幅に対応して、５つの区間（ａ＋ｂ，ｃ＋ｄ，ｅ＋ｆ，ｇ＋ｈ，ｉ＋ｊ）に分け、各区間の開始位置を０°とし終了位置を３６０°として表したロータ１の角度を、ロータ１の電気角θｅということにする。なお、この実施形態では、これらの５つの区間の角度幅は一定幅ではないが、ロータ１の電気角θｅをブラシレスモータの電気角とみなすことにする。
【００２５】
ここでは、第１の磁気センサ２１からは、５つの磁極対に対応する区間毎に、Ｖ１＝Ａ１・sinθｅの出力信号が出力され、第２の磁気センサ２２からは、５つの磁極対に対応する区間毎に、Ｖ２＝Ａ２・cosθｅの出力信号が出力されるものとする。Ａ１，Ａ２は、それぞれ振幅を表している。ただし、振幅Ａ１は、磁極毎に異なる。同様に、振幅Ａ２も磁極ごとに異なる。また、θｅは、対応する区間における電気角θｅを表している。
【００２６】
両出力信号Ｖ１，Ｖ２の振幅Ａ１，Ａ２が互いに等しいとみなすと、対応する区間におけるロータ１の電気角θｅは、両出力信号Ｖ１，Ｖ２を用いて、次式(2)に基づいて求めることができる。
θｅ＝tan−１（sinθｅ／cosθｅ）
＝tan−１（Ｖ１／Ｖ２）      …(2)
図１に戻り、各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２は、回転角演算装置２０に入力される。回転角演算装置２０は、磁気センサ２１，２２毎に、その出力信号Ｖ１，Ｖ２の磁極Ｍ０〜Ｍ９毎のピーク値を検出する。そして、回転角演算装置２０は、磁気センサ２１，２２毎に得られた各磁極Ｍ０〜Ｍ９のピーク値、各磁極Ｍ０〜Ｍ９の角度幅およびロータ１に設けられている磁極数に基づいて、各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２のオフセット電圧Ｖ１os，Ｖ２osを演算する。回転角演算装置２０は、演算されたオフセット電圧Ｖ１os，Ｖ２osおよび磁気センサ２１，２２毎に得られた各磁極Ｍ０〜Ｍ９のピーク値に基づいて、各出力信号Ｖ１，Ｖ２の振幅およびオフセット電圧のばらつきを補正する。回転角演算装置２０は、補正後の出力信号Ｖ１’，Ｖ２’に基づいて、ロータ１の電気角θｅを演算する。回転角演算装置２０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ，書き換え可能な不揮発性メモリ等）を含んでいる。
【００２７】
回転角演算装置２０によって演算された電気角θｅは、ブラシレスモータの電気角として、モータコントローラ３０に与えられる。モータコントローラ３０は、回転角演算装置２０から与えられた電気角θｅと、所与の指令値とに基づいて、ブラシレスモータ１０を制御する。
以下、回転角演算装置２０の動作について説明する。回転角演算装置２０内の書き換え可能な不揮発性メモリには、図４に示すように、ピーク値テーブルが記憶されている。
【００２８】
ピーク値テーブルには、各磁極Ｍ０〜Ｍ９の磁極番号０〜９毎に、その磁極の角度幅［deg］と、その磁極に対応する第１の磁気センサ２１の出力信号Ｖ１のピーク値（極大値または極小値）と、その磁極に対応する第２の磁気センサ２２の出力信号Ｖ２のピーク値（極大値または極小値）が記憶されている。ただし、角度幅は、表１で説明したように、その角度幅に対応する機械角に磁極対数（この実施形態では”５”）を乗算した値である。図４では、説明の便宜上、各磁極に対する第２の磁気センサ２２のピーク値は、対応する磁極に対する第１の磁気センサ２１のピーク値と同じ値となっているが、実際には互いに異なる場合もある。
【００２９】
前記ピーク値テーブルへの各磁極の角度幅およびピーク値の記憶は、たとえば、ブラシレスモータ１０の出荷前に行われる。前記振幅補正用ピーク値テーブルに記憶されるピーク値は、１周期分のデータから求めてもよいし、複数周期分のデータの平均値から求めてもよい。
図５は、回転角演算装置２０による回転角演算処理の手順を示すフローチャートである。
【００３０】
図５に示される回転角演算処理は、所定の演算周期毎に繰り返し行なわれる。
回転角演算処理開始時において第１の磁気センサ２１が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第１の磁気センサ２１が感知している磁極の相対的極番号（以下、「第１の相対的極番号」という）を変数ｑ１で表し、第２の磁気センサ２２が感知している磁極の相対的極番号（以下、「第２の相対的極番号」という）を変数ｑ２で表すことにする。この実施形態では、回転角演算処理開始時において第１の磁気センサ２１が感知している磁極（基準磁極）がＮ極の磁極である場合には、当該磁極に”０”の相対的極番号が割り当てられる。一方、回転角演算処理の開始時において第１の磁気センサ２１が感知している磁極（基準磁極）がＳ極の磁極である場合には、当該磁極に”１”の相対的極番号が割り当てられる。
【００３１】
回転角演算装置２０のメモリ（たとえば、ＲＡＭ）には、図６に示すように、第１の相対的極番号ｑ１（０〜９）毎に、その相対的極番号ｑ１に対応する磁極に対して最新に検出された第１の出力信号Ｖ１のピーク値を記憶する第１のピーク値記憶領域Ｒ１と、第２の相対的極番号ｑ２（０〜９）毎に、その相対的極番号ｑ２に対応する磁極に対して最新に検出された第２の出力信号Ｖ２のピーク値を記憶する第２のピーク値記憶領域Ｒ２が設けられている。第１のピーク値記憶領域Ｒ１および第２のピーク値記憶領域Ｒ２内のピーク値の初期値は、たとえば、０に設定される。
【００３２】
回転角演算処理が開始されると、回転角演算装置２０は、各磁気センサ２１，２２の出力信号（センサ値）Ｖ１，Ｖ２を読み込む（ステップＳ１）。なお、回転角演算装置２０のメモリ（たとえば、ＲＡＭ）には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
また、この実施形態では、センサ値Ｖ１のピーク値（極大値および極小値）を検出するために、読み込まれたセンサ値Ｖ１のうち絶対値がより大きいセンサ値が、センサ値Ｖ１のピーク値候補としてメモリに保存される。同様に、センサ値Ｖ２のピーク値（極大値および極小値）を検出するために、読み込まれたセンサ値Ｖ２のうち絶対値がより大きいセンサ値が、センサ値Ｖ２のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングで零にリセットされる。
【００３３】
前記ステップＳ１で各センサ値Ｖ１，Ｖ２が読み込まれると、回転角演算装置２０は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する（ステップＳ２）。今回の処理が回転角演算処理開始後の初回の処理である場合には（ステップＳ２：ＹＥＳ）、回転角演算装置２０は、相対的極番号の設定処理を行う（ステップＳ３）。
図７は、相対的極番号の設定処理の詳細な手順を示している。
【００３４】
回転角演算装置２０は、まず、第１の出力信号Ｖ１が０より大きいか否かを判別する（ステップＳ２１）。第１の出力信号Ｖ１が０より大きい場合には（ステップＳ２１：ＹＥＳ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極（基準磁極）がＮ極の磁極であると判別し、第１の相対的極番号ｑ１を０に設定する（ステップＳ２４）。そして、ステップＳ２６に進む。
【００３５】
一方、第１の出力信号Ｖ１が０以下である場合には（ステップＳ２１：ＮＯ）、回転角演算装置２０は、第１の出力信号Ｖ１が０より小さいか否かを判別する（ステップＳ２２）。第１の出力信号Ｖ１が０より小さい場合には（ステップＳ２２：ＹＥＳ）、第１の磁気センサ２１が感知している磁極（基準磁極）がＳ極の磁極であると判別し、第１の相対的極番号ｑ１を１に設定する。そして、ステップＳ２６に進む。
【００３６】
前記ステップＳ２２において、第１の出力信号Ｖ１が０以上であると判別された場合には（ステップＳ２２：ＮＯ）、つまり、第１の出力信号Ｖ１が０である場合には、回転角演算装置２０は、ロータ回転角（電気角）が０°付近であるか１８０°付近であるかを判別するために、第２の出力信号Ｖ２が０より大きいか否かを判別する（ステップＳ２３）。第２の出力信号Ｖ２が０より大きい場合には（ステップＳ２３：ＹＥＳ）、回転角演算装置２０は、ロータ回転角（電気角）が０°であると判別し、第１の相対的極番号ｐ１を０に設定する（ステップＳ２４）。そして、ステップＳ２６に進む。
【００３７】
一方、第２の出力信号Ｖ２が０以下である場合には（ステップＳ２３：ＮＯ）、回転角演算装置２０は、ロータ回転角（電気角）が１８０°であると判別し、第１の相対的極番号ｐ１を１に設定する（ステップＳ２５）。そして、ステップＳ２６に進む。
ステップＳ２６では、回転角演算装置２０は、「Ｖ１≧０かつＶ２≦０」または「Ｖ１＜０かつＶ２≧０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ２６：ＹＥＳ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なると判別し、第２の相対的極番号ｑ２に、第１の相対的極番号ｑ１より１だけ大きい番号を設定する（ステップＳ２８）。そして、図５のステップＳ４に戻る。
【００３８】
一方、前記ステップＳ２６の条件を満たしていない場合には（ステップＳ２６：ＮＯ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じであると判別し、第２の相対的極番号ｐ２に第１の相対的極番号ｐ１と同じ番号を設定する（ステップＳ２７）。そして、図５のステップＳ４に戻る。
【００３９】
前記ステップＳ２６の条件を満たしている場合に、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なると判別し、前記ステップＳ２６の条件を満たしていない場合に、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じであると判別している理由について説明する。
【００４０】
たとえば、ロータ１の磁極Ｍ０と磁極Ｍ１とからなる磁極対が第１の磁気センサ２１を通過する際の、第１および第２の磁気センサ２１，２２の出力信号Ｖ１，Ｖ２の信号波形を模式的に表すと、図８（ａ）（ｂ）に示すようになる。
図８（ａ）（ｂ）において、Ｓ１で示す領域は、第１の磁気センサ２１および第２の磁気センサ２２が共に磁極Ｍ０を感知している領域である。Ｓ２で示す領域は、第１の磁気センサ２１が磁極Ｍ０を感知し、第２の磁気センサ２２が磁極Ｍ１を感知している領域である。Ｓ３で示す領域は、第１の磁気センサ２１および第２の磁気センサ２２が共に磁極Ｍ１を感知している領域である。Ｓ４で示す領域は、第１の磁気センサ２１が磁極Ｍ１を感知し、第２の磁気センサ２２が磁極Ｍ２を感知している領域である。
【００４１】
つまり、領域Ｓ１およびＳ３では、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号と等しくなる。一方、領域Ｓ２およびＳ４では、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号より１だけ大きくなる。
領域Ｓ１においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≧０かつＶ２＞０の第１条件を満たす。領域Ｓ２においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≧０かつＶ２≦０の第２条件を満たす。領域Ｓ３においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＜０かつＶ２＜０の第３条件を満たす。領域Ｓ４においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＜０かつＶ２≧０の第４条件を満たす。
【００４２】
そこで、回転角演算装置２０は、前記第２条件（Ｖ１≧０かつＶ２≦０）または前記第４条件（Ｖ１＜０かつＶ２≧０）を満たしている場合には、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なると判別し、前記第２条件および前記第４条件のいずれの条件も満たしていない場合に、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じであると判別している。
【００４３】
図５に戻り、前記ステップＳ２において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には（ステップＳ２：ＮＯ）、ステップＳ４に移行する。
ステップＳ４では、回転角演算装置２０は、メモリに記憶されているセンサ値Ｖ１，Ｖ２に基づいて、センサ値Ｖ１，Ｖ２毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには（ステップＳ４：ＮＯ）、回転角演算装置２０は、ステップＳ８に移行する。
【００４４】
前記ステップＳ４において、いずれかのセンサ値Ｖ１，Ｖ２に対してゼロクロスが検出された場合には（ステップＳ４：ＹＥＳ）、回転角演算装置２０は、ゼロクロスが検出された出力信号のピーク値（極大値または極小値）を検出したか否かを判定する（ステップＳ５）。以下において、ステップＳ５の判定処理を、ピーク値検出処理という場合がある。
【００４５】
ピーク値検出処理について具体的に説明する。前記ステップＳ４でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算装置２０は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算装置２０は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ１の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【００４６】
この判定は、たとえば、前回ゼロクロスが検出されたときのロータ１の回転方向と、現在のロータ１の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算装置２０は、ロータ１の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、ロータ１の回転方向が異なっていれば、回転角演算装置２０は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【００４７】
当該磁気センサが感知している磁極が変化したと判定された場合には、回転角演算装置２０は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク値として特定する。一方、当該磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算装置２０は、ピーク値を検出しなかったと判定する。
【００４８】
なお、ロータ１の回転方向は、ゼロクロスが検出された一方の出力信号の前回値および今回値と、他方の出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された一方の出力信号が第１の出力信号Ｖ１である場合には、「第１の出力信号Ｖ１の前回値が０より大きくかつその今回値が０以下であり、第２の出力信号Ｖ２が０未満である」という条件、または「第１の出力信号Ｖ１の前回値が０未満でかつその今回値が０以上であり、第２の出力信号Ｖ２が０以上である」という条件を満たしている場合には、回転方向は正方向（図２に矢印で示す方向）であると判定される。一方、「第１の出力信号Ｖ１の前回値が０以上でかつその今回値が０未満であり、第２の出力信号Ｖ２が０より大きい」という条件、または「第１の出力信号Ｖ１の前回値が０以下でかつその今回値が０より大きく、第２の出力信号Ｖ２が０未満である」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【００４９】
ゼロクロスが検出された一方の出力信号が第２の出力信号Ｖ２である場合には、「第２の出力信号Ｖ２の前回値が０より大きくかつその今回値が０以下であり、第１の出力信号Ｖ１が０以上である」という条件、または「第２の出力信号Ｖ２の前回値が０未満でかつその今回値が０以上であり、第１の出力信号Ｖ１が０未満である」という条件を満たしている場合には、回転方向は正方向（図２に矢印で示す方向）であると判定される。一方、「第２の出力信号Ｖ２の前回値が０以上でかつその今回値が０未満であり、第１の出力信号Ｖ１が０より小さい」という条件、または「第２の出力信号Ｖ２の前回値が０以下でかつその今回値が０より大きく、第１の出力信号Ｖ１が０より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【００５０】
前記ステップＳ５でピーク値が検出されなかった場合には、回転角演算装置２０は、前記ステップＳ４でゼロクロスが検出された出力信号に対応するピーク値候補を零にリセットした後、ステップＳ８に移行する。一方、前記ステップＳ５において、ピーク値が検出されたときには（ステップＳ５：ＹＥＳ）、回転角演算装置２０は、前記ステップＳ４でゼロクロスが検出された出力信号に対応するピーク値候補を零にリセットした後、ピーク値更新処理を行なう（ステップＳ６）。
【００５１】
ピーク値更新処理では、回転角演算装置２０は、メモリ内のピーク値記憶領域Ｒ１，Ｒ２（図６参照）内のピーク値のうち、前記ステップＳ５でピーク値が検出された方の磁気センサに対して現在設定されている相対的極番号ｑ１またはｑ２に対応するピーク値を、前記ステップＳ５で検出されたピーク値に更新する。
この後、回転角演算装置２０は、相対的極番号の更新処理を行なう（ステップＳ７）。具体的には、前記ステップＳ５でピーク値が検出された方の磁気センサに対して現在設定されている相対的極番号ｑ１またはｑ２を、ロータ１の回転方向に基づいて更新する。より具体的には、回転角演算装置２０は、当該磁気センサに対して現在設定されている相対的極番号ｑ１またはｑ２を、ロータ１の回転方向に応じて、１だけ多い番号または１だけ少ない番号に変更する。
【００５２】
ロータ１の回転方向が正方向（図２に矢印で示す方向）である場合には、前記ステップＳ５でピーク値が検出された方の磁気センサに対して現在設定されている相対的極番号ｑ１またはｑ２を、１だけ多い番号に更新し、ロータ１の回転方向が逆方向である場合には、当該磁気センサに対して現在設定されている相対的極番号ｑ１またはｑ２を、１だけ少ない番号に更新する。ただし、”０”の相対的極番号に対して、１だけ少ない相対的極番号は、”９”となる。また、”９”の相対的極番号に対して、１だけ多い相対的極番号は、”０”となる。
【００５３】
前記ステップＳ７の相対的極番号の更新処理が終了すると、回転角演算装置２０は、ステップＳ８に移行する。
ステップＳ８では、回転角演算装置２０は、回転角演算処理開始後に、全ての磁極Ｍ０〜Ｍ９に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が検出されているか否かを判別する。つまり、回転角演算装置２０は、回転角演算処理開始後に、０〜９の相対的極番号ｑ１に対応する第１の出力信号Ｖ１のピーク値および０〜９の相対的極番号ｑ２に対応する第２の出力信号Ｖ２が検出されているか否かを判別する。
【００５４】
全ての磁極Ｍ０〜Ｍ９に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が検出されている場合には（ステップＳ８：ＹＥＳ）、検出されたピーク値に基づく信号補正処理を行なう（ステップＳ１０）。具体的には、回転角演算装置２０は、まず、メモリ内のピーク値記憶領域Ｒ１，Ｒ２（図６参照）に記憶されているピーク値を用い、次式(3)(4)に基づいて、第１の出力信号Ｖ１のオフセット電圧Ｖ１osおよび第２の出力信号Ｖ２のオフセット電圧Ｖ２osを演算する。
【００５５】
Ｖ１os＝［｛ΣＰ１Ｎ×（（ΣＷ／２）／ΣＷＮ）÷（Ｋ／２）｝
＋｛ΣＰ１Ｓ×（（ΣＷ／２）／ΣＷＳ）÷（Ｋ／２）｝］／２    …(3)
Ｖ２os＝［｛ΣＰ２Ｎ×（（ΣＷ／２）／ΣＷＮ）÷（Ｋ／２）｝
＋｛ΣＰ２Ｓ×（（ΣＷ／２）／ΣＷＳ）÷（Ｋ／２）｝］／２    …(4)
前記式(3)において、ΣＰ１Ｎは、Ｎ極の各磁極Ｍ０，Ｍ２，Ｍ４，Ｍ６，Ｍ８に対応する第１の出力信号Ｖ１のピーク値の総和である。第１の出力信号Ｖ１が図３に示されるような信号Ｖ１である場合には、ΣＰ１Ｎ＝Ｐ０＋Ｐ２＋Ｐ４＋Ｐ６＋Ｐ８となる。より具体的には、ΣＰ１Ｎは、メモリ内の第１のピーク値記憶領域Ｒ１（図６参照）において、相対的極番号ｑ１が０，２，４，６，８に対応して記憶されているピーク値の総和となる。
【００５６】
前記式(3)において、ΣＰ１Ｓは、Ｓ極の各磁極Ｍ１，Ｍ３，Ｍ５，Ｍ７，Ｍ９に対応する第１の出力信号Ｖ１のピーク値の総和である。第１の出力信号Ｖ１が図３に示されるような信号Ｖ１である場合には、ΣＰ１Ｎ＝Ｐ１＋Ｐ３＋Ｐ５＋Ｐ７＋Ｐ９となる。より具体的には、ΣＰ１Ｎは、メモリ内の第１のピーク値記憶領域Ｒ１（図６参照）において、相対的極番号ｑ１が１，３，５，７，９に対応して記憶されているピーク値の総和となる。
【００５７】
前記式(3)において、ΣＷは前記各磁極の角度幅の総和であり、この実施形態では１８００°となる。また、ΣＷＮは、Ｎ極の各磁極Ｍ０，Ｍ２，Ｍ４，Ｍ６，Ｍ８の角度幅の総和であり、この実施形態では９２０°となる。また、ΣＷＳは、Ｓ極の各磁極Ｍ１，Ｍ３，Ｍ５，Ｍ７，Ｍ９の角度幅の総和であり、この実施形態では８８０°となる。また、Ｋは、各磁極Ｍ０〜Ｍ９の総数であり、この実施形態では１０となる。
【００５８】
前記式(4)において、ΣＰ２Ｎは、Ｎ極の各磁極Ｍ０，Ｍ２，Ｍ４，Ｍ６，Ｍ８に対応する第２の出力信号Ｖ２のピーク値の総和である。具体的には、ΣＰ２Ｎは、メモリ内の第２のピーク値記憶領域Ｒ２（図６参照）において、相対的極番号ｑ２が０，２，４，６，８に対応して記憶されているピーク値の総和となる。
前記式(4)において、ΣＰ２Ｓは、Ｓ極の各磁極Ｍ１，Ｍ３，Ｍ５，Ｍ７，Ｍ９に対応する第２の出力信号Ｖ２のピーク値の総和である。具体的には、ΣＰ２Ｎは、メモリ内の第２のピーク値記憶領域Ｒ２（図６参照）において、相対的極番号ｑ２が１，３，５，７，９に対応して記憶されているピーク値の総和となる。
【００５９】
第１および第２の出力信号Ｖ１，Ｖ２のオフセット電圧Ｖ１os，Ｖ２osが演算されると、回転角演算装置２０は、第１および第２の出力信号Ｖ１，Ｖ２毎に、その出力信号の振幅およびオフセット電圧のばらつきを補正する。具体的には、回転角演算装置２０は、第１の出力信号Ｖ１、第１の出力信号Ｖ１のオフセット電圧Ｖ１os、第１の磁気センサ２１が感知している磁極のピーク値Ｐ１ｘおよび予め設定された基準振幅Ａoに基づいて、第１の出力信号Ｖ１を補正する。ピーク値Ｐ１ｘは、メモリ内の第１のピーク値記憶領域Ｒ１において、現在設定されている相対的極番号ｑ１に対応して記憶されているピーク値である。
【００６０】
また、回転角演算装置２０は、第２の出力信号Ｖ２、第２の出力信号Ｖ２のオフセット電圧Ｖ２os、第２の磁気センサ２２が感知している磁極のピーク値Ｐ２ｘおよび予め設定された基準振幅Ａoに基づいて、第２の出力信号Ｖ２を補正する。ピーク値Ｐ２ｘは、メモリ内の第２のピーク値記憶領域Ｒ２において、現在設定されている相対的極番号ｑ２に対応して記憶されているピーク値である。第１の出力信号Ｖ１の補正後の信号をＶ１’とし、補正後の第２の出力信号Ｖ２の補正後の信号をＶ２’とすると、補正後の第１の出力信号Ｖ１’および補正後の第２の出力信号Ｖ２’は、それぞれ次式 (5)(6)に基づいて演算される。
【００６１】
Ｖ１’＝｛（Ｖ１−Ｖ１os）／Ｐ１ｘ｝×Ａo  …(5)
Ｖ２’＝｛（Ｖ２−Ｖ２os）／Ｐ２ｘ｝×Ａo  …(6)
前記ステップＳ１０の信号補正処理が終了すると、ステップＳ１１に移行する。
前記ステップＳ８において、回転角演算処理開始後に、全ての磁極Ｍ０〜Ｍ９に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が検出されていないと判別された場合には（ステップＳ８：ＮＯ）、予め設定されたピーク値に基づく信号補正処理を行なう（ステップＳ９）。具体的には、回転角演算装置２０は、まず、不揮発性メモリ内のピーク値テーブル（図４参照）に記憶されているピーク値を用い、前記式(3)(4)に基づいて、第１の出力信号Ｖ１のオフセット電圧Ｖ１osおよび第２の出力信号Ｖ２のオフセット電圧Ｖ２osを演算する。
【００６２】
ただし、この場合には、前記式(3)内のΣＰ１Ｎは、ピーク値テーブルにおいて、極番号が０，２，４，６，８に対応して記憶されている第１の出力信号Ｖ１のピーク値の総和となる。また、前記式(3)内のΣＰ１Ｓは、ピーク値テーブルにおいて、極番号が１，３，５，７，９に対応して記憶されている第１の出力信号Ｖ１のピーク値の総和となる。また、前記式(4)内のΣＰ２Ｎは、ピーク値テーブルにおいて、極番号が０，２，４，６，８に対応して記憶されている第２の出力信号Ｖ２のピーク値の総和となる。また、前記式(4)内のΣＰ２Ｓは、ピーク値テーブルにおいて、極番号が１，３，５，７，９に対応して記憶されている第２の出力信号Ｖ２のピーク値の総和となる。
【００６３】
このようにして、第１および第２の出力信号Ｖ１，Ｖ２のオフセット電圧Ｖ１os，Ｖ２osが演算されると、回転角演算装置２０は、前記式 (5)(6)に基づいて、第１の出力信号Ｖ１および第２の出力信号Ｖ２を補正する。この場合において、各磁気センサ１１，１２が現在感知している磁極のピーク値（前記式(5)(6)のＰ１ｘ，Ｐ２ｘ）が不明であるときには、これらのピーク値Ｐ１ｘ，Ｐ２ｘとして、たとえば、予め設定されたデフォルト値が用いられる。各磁気センサ１１，１２が現在感知している磁極のピーク値Ｐ１ｘ，Ｐ２ｘのデフォルト値としては、それぞれ、不揮発性メモリ内のピーク値テーブル（図４参照）内の第１の出力信号Ｖ１のピーク値の平均値および第２の出力信号Ｖ１のピーク値の平均値を用いることができる。また、これらのデフォルト値を温度別に設定しておき、現在の温度に対応したデフォルト値を用いるようにしてもよい。
【００６４】
ステップＳ１１では、回転角演算装置２０は、次式（7)に基づいて、ロータ１の電気角θｅを演算して、モータコントローラ３０に与える。そして、今演算周期の処理を終了する。
θｅ＝tan−（Ｖ１’／Ｖ２’）    …(7)
前記実施形態では、全ての磁極Ｍ０〜Ｍ９に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が検出された後においては、第１の出力信号Ｖ１のオフセット電圧Ｖ１osおよび第２の出力信号Ｖ２のオフセット電圧Ｖ２osを正確に検出することができる。これにより、各磁極の磁束量のばらつきや各磁気センサ２１，２２の温度特性に起因する、各出力信号Ｖ１，Ｖ２の振幅およびオフセット電圧のばらつきを補正することができる。そして、補正後の各出力信号Ｖ１’，Ｖ２’に基づいて、ロータ１の電気角θｅが演算されるので、ブラシレスモータの回転角の検出誤差を低減することができる。
【００６５】
この発明は、ブラシレスモータのロータ以外の回転体の回転角を検出する場合にも、適用することができる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００６６】
１…ロータ、２１，２２…磁気センサ、１０…ブラシレスモータ、２０…回転角演算装置、Ｍ０〜Ｍ９…磁極
【図１】
0005708986.tif 000003
【図２】
0005708986.tif 000004
【図３】
0005708986.tif 000005
【図４】
0005708986.tif 000006
【図５】
0005708986.tif 000007
【図６】
0005708986.tif 000008
【図７】
0005708986.tif 000009
【図８】
0005708986.tif 000010
【図９】
0005708986.tif 000011
【図１０】
0005708986.tif 000012