(57)【特許請求の範囲】
【請求項１】
回転体の回転角を検出する回転角検出装置であって、
前記回転体の回転に応じて回転し、複数の磁極を備えている多極磁石と、
前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号を出力する複数の磁気センサと、
前記各磁気センサの出力信号のピーク値を検出するピーク値検出手段と、
前記ピーク値検出手段によって検出された前記各磁気センサの出力信号のピーク検出値を当該磁気センサの振幅補正値として用いて、前記各磁気センサの出力信号の振幅を補正する振幅補正手段と、
前記振幅補正手段によって振幅補正が行われた出力信号に基づいて、前記回転体の回転角を演算する回転角演算手段と、
前記ピーク検出値が正常であるか否かを判定する振幅補正値監視手段とを含み、
前記複数の磁気センサに含まれる２つの磁気センサの一方の磁気センサの出力信号を第１の出力信号とし、他方の磁気センサの出力信号を第２の出力信号とし、同じ磁極に対する前記第１の出力信号のピーク検出値と前記第２の出力信号のピーク検出値との比をピーク値比とし、前記一方の磁気センサが現在感知している磁極に対応する前記第１の出力信号のピーク検出値を第１の判定対象のピーク検出値とし、前記他方の磁気センサが現在感知している磁極に対応する前記第２の出力信号のピーク検出値を第２の判定対象のピーク検出値とすると、前記振幅補正値監視手段は、全ての磁極に対応するピーク値比のうちの少なくとも前記一方の磁気センサが現在感知している磁極に対応するピーク値比に基づいて、前記第１の判定対象のピーク検出値が正常であるか否かを判定するとともに、全ての磁極に対応するピーク値比のうちの少なくとも前記他方の磁気センサが現在感知している磁極に対応するピーク値比に基づいて、前記第２の判定対象のピーク検出値が正常であるか否かを判定するように構成されている、回転角検出装置。
【請求項２】
前記振幅補正値監視手段は、前記回転体の１周分における各磁極それぞれの最新のピーク値比のうち、前記一方の磁気センサが現在感知している磁極に対応するピーク値比を、他の磁極に対応するピーク値比の平均値と比較することによって、前記第１の判定対象であるピーク検出値が正常であるか否かを判定するとともに、前記他方の磁気センサが現在感知している磁極に対応するピーク値比を、他の磁極に対応するピーク値比の平均値と比較することによって、前記第２の判定対象であるピーク検出値が正常であるか否かを判定するように構成されている、請求項１に記載の回転角検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータのロータ等の回転体の回転角を検出する回転角検出装置に関する。
【背景技術】
【０００２】
電動パワーステアリング装置などに使用されるブラシレスモータを制御するためには、ロータの回転角度に合わせてステータ巻線に電流を通電する必要がある。そこで、ブラシレスモータのロータの回転に応じて回転する多極磁石と、多極磁石の磁束を検出する複数の磁気センサとを備え、各磁気センサの出力信号に基づいて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。
【０００３】
しかしながら、このような回転角検出装置では、各磁気センサの出力特性は一定ではなく、また周辺温度の影響を受けやすいことから、各磁気センサの出力信号に基づいて演算される回転角に誤差が発生してしまう。
そこで、各磁気センサの出力信号のピーク値を検出し、検出されたピーク検出値を振幅補正値として、その磁気センサの振幅を所定の基準値となるように補正した後に、ロータの回転角を検出する技術が既に開発されている（たとえば、下記特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−８３８２３号公報
【特許文献２】特開平６−１０９７５０号公報
【特許文献３】特開２００２−３４５２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ピーク検出値を振幅補正値として用いて磁気センサの出力信号の振幅補正を行う従来の回転角検出装置においては、ノイズなどの影響で本来のピーク値以外の値がピーク値として検出された場合には、正常な振幅補正が行われないため、振幅補正後の信号に基づいて演算される回転角に誤差が生じる。そこで、振幅補正値として使用されるピーク検出値に対して上限閾値および下限閾値を設定しておき、検出されたピーク検出値が上限閾値を越えた場合または下限閾値を下回った場合には、当該ピーク検出値が異常であると判定して、当該ピーク検出値を振幅補正値として用いないようにすることが考えられる。
【０００６】
しかしながら、多極磁石の磁束は周辺温度によって大きく変動するため、前記上限閾値を大きな値に設定するとともに、前記下限閾値を小さな値に設定する必要がある。より具体的に説明すると、多極磁石の磁束は周辺温度によって大きく変動するため、図８に示すように、磁気センサの出力信号の振幅は、周辺温度が高くなるほど小さくなる。なお、図８において、磁石の磁束密度や磁気センサの出力特性、増幅回路などが個々にばらつきを持っているため、それぞれのばらつきによって信号振幅が最大となる値をＬ１で、最小となる値をＬ２で示している。このため、検出されたピーク検出値が正常であるのにかかわらず異常であると誤判定されないようにするためには、上限閾値を図８にＨthで示すように大きな値に設定するとともに、下限閾値を図８にＬthで示すように小さな値に設定する必要がある。
【０００７】
このように、上限閾値を大きな値に設定するとともに下限閾値を小さな値に設定してしまうと、磁気センサの出力信号の本来の振幅に対して上限閾値と下限閾値との間の間隔が広くなりすぎるため、検出されたピーク検出値が正常であるか否かを精度よく判定することができなくなる。
この発明の目的は、振幅補正値として使用されるピーク検出値が正常であるか否かを高精度に判定することができる回転角検出装置を提供することである。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための請求項１記載の発明は、回転体（１）の回転角を検出する回転角検出装置であって、前記回転体の回転に応じて回転し、複数の磁極（Ｍ１〜Ｍ１０）を備えている多極磁石（２）と、前記多極磁石の回転に応じて、互いに位相差を有する正弦波信号を出力する複数の磁気センサ（２１，２２）と、前記各磁気センサの出力信号のピーク値を検出するピーク値検出手段（２０，Ｓ６）と、前記ピーク値検出手段によって検出された前記各磁気センサの出力信号のピーク検出値を当該磁気センサの振幅補正値として用いて、前記各磁気センサの出力信号の振幅を補正する振幅補正手段（２０，Ｓ１４）と、前記振幅補正手段によって振幅補正が行われた出力信号に基づいて、前記回転体の回転角を演算する回転角演算手段（２０，Ｓ１５）と、前記ピーク検出値が正常であるか否かを判定する振幅補正値監視手段（２０，Ｓ１２）とを含み、前記複数の磁気センサに含まれる２つの磁気センサの一方の磁気センサの出力信号を第１の出力信号（Ｖ１）とし、他方の磁気センサの出力信号を第２の出力信号（Ｖ２）とし、同じ磁極に対する前記第１の出力信号のピーク検出値と前記第２の出力信号のピーク検出値との比をピーク値比とし、前記一方の磁気センサが現在感知している磁極に対応する前記第１の出力信号のピーク検出値を第１の判定対象のピーク検出値とし、前記他方の磁気センサが現在感知している磁極に対応する前記第２の出力信号のピーク検出値を第２の判定対象のピーク検出値とすると、前記振幅補正値監視手段は、全ての磁極に対応するピーク値比のうちの少なくとも前記一方の磁気センサが現在感知している磁極に対応するピーク値比に基づいて、前記第１の判定対象のピーク検出値が正常であるか否かを判定するとともに、全ての磁極に対応するピーク値比のうちの少なくとも前記他方の磁気センサが現在感知している磁極に対応するピーク値比に基づいて、前記第２の判定対象のピーク検出値が正常であるか否かを判定するように構成されている、回転角検出装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【０００９】
この発明では、第１の判定対象のピーク検出値が正常であるか否かを、全ての磁極に対応するピーク値比のうちの少なくとも一方の磁気センサが現在感知している磁極に対応するピーク値比（２つの磁気センサの出力信号のピーク検出値の比）に基づいて行っている。また、第２の判定対象のピーク検出値が正常であるか否かを、全ての磁極に対応するピーク値比のうちの少なくとも他方の磁気センサが現在感知している磁極に対応するピーク値比（２つの磁気センサの出力信号のピーク検出値の比）に基づいて行っている。このため、両磁気センサそれぞれに作用する周辺温度等の影響を相殺することができる。これにより、各磁気センサの特性のばらつき、各磁気センサと磁石との間のギャップのばらつき等に起因して各出力信号のピーク検出値にばらつきがあったり、周辺温度によって各出力信号が変動したりする場合でも、判定対象のピーク検出値が正常であるか否かを正確に判定できる。
【００１０】
請求項２記載の発明は、前記振幅補正値監視手段は、前記回転体の１周分における各磁極それぞれの最新のピーク値比のうち、前記一方の磁気センサが現在感知している磁極に対応するピーク値比を、他の磁極に対応するピーク値比の平均値と比較することによって、前記第１の判定対象であるピーク検出値が正常であるか否かを判定するとともに、前記他方の磁気センサが現在感知している磁極に対応するピーク値比を、他の磁極に対応するピーク値比の平均値と比較することによって、前記第２の判定対象であるピーク検出値が正常であるか否かを判定するように構成されている、請求項１に記載の回転角検出装置である。
【００１１】
この構成では、各磁極の着磁にばらつきがあったとしても、正確な判定を行うことができる。このため、第１の判定対象のピーク検出値および第２の判定対象のピーク検出値が正常であるか否かをより高精度に判定することができる。
【図面の簡単な説明】
【００１２】
【図１】この発明の一実施形態に係る回転角検出装置を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の構成を示す模式図である。
【図２】検出用ロータの構成を示す模式図である。
【図３】第１および第２の磁気センサの出力信号波形および第１の磁気センサが感知している磁極を示す模式図である。
【図４】回転角演算装置による回転角演算処理の手順を示すフローチャートである。
【図５】メモリ内に設けられた第１および第２のピーク値記憶領域を示す模式図である。
【図６】図５のステップＳ３の相対的極番号の設定処理の手順を示すフローチャートである。
【図７】相対的極番号の設定処理を説明するための模式図である。
【図８】周辺温度に対する磁気センサの出力信号の振幅の変化を示すグラフである。
【発明を実施するための形態】
【００１３】
以下では、この発明を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の実施形態について、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係る回転角検出装置を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の構成を示す模式図である。
この回転角検出装置１００は、ブラシレスモータ１０の回転に応じて回転する検出用ロータ（以下、単に「ロータ１」という）を有している。図２に示すように、ロータ１は、ブラシレスモータ１０のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石（多極磁石）２を含んでいる。
【００１４】
磁石２は、５組の磁極対（Ｍ１，Ｍ２）（Ｍ３，Ｍ４）（Ｍ５，Ｍ６）（Ｍ７，Ｍ８）（Ｍ９，Ｍ１０）を有している。つまり、磁石２は、等角度間隔で配置された１０個の磁極Ｍ１〜Ｍ１０を有している。各磁極Ｍ１〜Ｍ１０は、ロータ１の回転中心軸を中心として、３６°（電気角では１８０°）の角度間隔で配置されている。
ロータ１におけるモータ１０とは反対側には、磁石２の環状端面に対向する２つの磁気センサ２１，２２が配置されている。これらの磁気センサ２１，２２は、ロータ１の回転中心軸を中心として、所定角度１８°（電気角では９０°）の角度間隔をおいて配置されている。これら２つの磁気センサ２１，２２を、それぞれ第１の磁気センサ２１および第２の磁気センサ２２という場合がある。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。
【００１５】
図２に矢印で示す方向をロータ１の正方向の回転方向とする。そして、ロータ１が正方向に回転されるとロータ１の回転角が大きくなり、ロータ１が逆方向に回転されると、ロータ１の回転角が小さくなるものとする。各磁気センサ２１，２２からは、図３に示すように、ロータ１が１磁極対分に相当する角度（７２°（電気角では３６０°））を回転する期間を一周期とする正弦波信号Ｖ１，Ｖ２が出力される。
【００１６】
図３は、ロータ１の磁極Ｍ１０と磁極Ｍ１との境界が第１の磁気センサ２１に対向している場合のロータ１の回転角を０°にとった場合のロータ角度（機械角）に対する、各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２を示している。各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２は、実際には、センサ素子の出力が増幅回路によって増幅された信号である。また、図３には、ロータ角度に対応して、第１の磁気センサ２１が感知している磁極Ｍ１〜Ｍ１０が示されている。
【００１７】
ロータ１の１回転分の角度範囲を、５つの磁極対に対応して５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として表したロータ１の回転角を、ロータ１の電気角θｅということにする。
ここでは、第１の磁気センサ２１からは、５つの磁極対に対応する区間毎に、Ｖ１＝Ａ１・sinθｅの出力信号が出力されるものとする。この場合、第２の磁気センサ２２からは、５つの磁極対に対応する区間毎に、Ｖ２＝Ａ２・sin（θｅ＋９０°）＝Ａ２・cosθｅの出力信号が出力される。Ａ１，Ａ２は、それぞれ振幅を表している。したがって、各磁気センサ２１，２２からは、互いに所定の位相差９０°（電気角）を有する正弦波信号が出力される。各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２を、それぞれ第１の出力信号Ｖ１よび第２の出力信号Ｖ２という場合がある。
【００１８】
なお、各出力信号のＶ１，Ｖ２の振幅Ａ１，Ａ２は、次のような要因等によって変動する。
・各磁極Ｍ１〜Ｍ８の着磁のばらつきおよび温度特性
・各磁気センサ２１，２２の特性のばらつきおよび温度特性
・各磁気センサ２１，２２に対応する増幅回路の増幅率のばらつきおよび温度特性
・各磁気センサ２１，２２と磁石２との間の軸方向間隔（ギャップ）
・ロータ１の回転中心軸線と各磁気センサ２１，２２との距離
図１に戻り、各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２は、回転角演算装置２０に入力される。回転角演算装置２０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ，書き換え可能な不揮発性メモリ等）を含んでいる。
【００１９】
回転角演算装置２０は、各磁気センサ２１，２２の出力信号Ｖ１，Ｖ２のピーク値を検出する。また、回転角演算装置２０は、検出された各出力信号Ｖ１，Ｖ２のピーク検出値を振幅補正値として、対応する出力信号の振幅を補正する。そして、回転角演算装置２０は、振幅補正後の各出力信号Ｖ１’，Ｖ２’に基づいて、ロータ１の回転角（電気角θｅ）を演算する。
【００２０】
回転角演算装置２０によって演算された電気角θｅは、モータコントローラ３０に与えられる。モータコントローラ３０は、回転角演算装置２０から与えられる電気角θｅを用いて、ブラシレスモータ１０を制御する。
この実施形態では、回転角演算装置２０は、検出された各出力信号Ｖ１，Ｖ２のピーク検出値が振幅補正値として使用される前に、当該ピーク検出値が正常であるか否かを判定する機能を備えている。具体的には、同じ磁極に対する第１の出力信号Ｖ１のピーク検出値と第２の出力信号Ｖ２のピーク検出値の比をピーク値比とし、正常であるか否かを判定すべきピーク検出値を判定対象のピーク検出値とすると、回転角演算装置２０は、ロータ１の直近の１周分における各磁極に対応するピーク値比に基づいて、判定対象のピーク検出値が正常であるか否かを判定する。そして、当該ピーク検出値が正常でないと判定された場合には、回転角演算処理を停止するとともに、モータ１の回転を停止させる。
【００２１】
図４は、回転角演算装置２０による回転角演算処理の手順を示すフローチャートである。
図４に示される回転角演算処理は、所定の演算周期毎に繰り返し行なわれる。
回転角演算処理開始時において第１の磁気センサ２１が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第１の磁気センサ２１が感知している磁極の相対的極番号（以下、「第１の相対的極番号」という）を変数ｒ１で表し、第２の磁気センサ２２が感知している磁極の相対的極番号（以下、「第２の相対的極番号」という）を変数ｒ２で表すことにする。なお、各相対的極番号ｒ１，ｒ２は、１〜１０の整数をとり、１より１少ない相対的極番号は１０となり、１０より１大きい相対的極番号は１となるものとする。
【００２２】
この実施形態では、回転角演算処理開始時において第１の磁気センサ２１が感知している磁極（基準磁極）がＮ極の磁極である場合には、当該磁極に”１”の相対的極番号が割り当てられる。一方、回転角演算処理の開始時において第１の磁気センサ２１が感知している磁極（基準磁極）がＳ極の磁極である場合には、当該磁極に”２”の相対的極番号が割り当てられる。
【００２３】
回転角演算装置２０のメモリ（たとえば、ＲＡＭ）には、図５に示すように、第１および第２のピーク値記憶領域Ｒ１，Ｒ２が設けられている。第１のピーク値記憶領域Ｒ１には、第１の相対的極番号ｒ１の１〜１０毎に、その相対的極番号に対応する磁極に対して最新に検出された第１の出力信号Ｖ１のピーク検出値ａ１〜ａ１０が記憶される。第２のピーク値記憶領域Ｒ２には、各第２の相対的極番号ｒ２の１〜１０毎に、その相対的極番号に対応する磁極に対して最新に検出された第２の出力信号Ｖ２のピーク検出値ｂ１〜ｂ１０が記憶される。
【００２４】
回転角演算処理が開始されると、回転角演算装置２０は、各磁気センサ２１，２２の出力信号（センサ値）Ｖ１，Ｖ２を読み込む（ステップＳ１）。なお、回転角演算装置２０のメモリ（たとえば、ＲＡＭ）には、出力信号Ｖ１，Ｖ２毎に、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【００２５】
また、この実施形態では、センサ値Ｖ１のピーク値（極大値および極小値）を検出するために、読み込まれたセンサ値Ｖ１のうち絶対値がより大きいセンサ値が、センサ値Ｖ１のピーク値候補としてメモリに保存される。同様に、センサ値Ｖ２のピーク値（極大値および極小値）を検出するために、読み込まれたセンサ値Ｖ２のうち絶対値がより大きいセンサ値が、センサ値Ｖ２のピーク値候補としてメモリに保存される。ただし、これらのピーク値候補は、対応する出力信号のゼロクロスが検出されたときには、後述するような所定のタイミングで零にリセットされる。
【００２６】
前記ステップＳ１で各センサ値Ｖ１，Ｖ２が読み込まれると、回転角演算装置２０は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する（ステップＳ２）。今回の処理が回転角演算処理開始後の初回の処理である場合には（ステップＳ２：ＹＥＳ）、回転角演算装置２０は、相対的極番号の設定処理を行う（ステップＳ３）。
図６は、相対的極番号の設定処理の詳細な手順を示している。
【００２７】
回転角演算装置２０は、まず、第１の出力信号Ｖ１が０より大きいか否かを判別する（ステップＳ２１）。第１の出力信号Ｖ１が０より大きい場合には（ステップＳ２１：ＹＥＳ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極（基準磁極）がＮ極の磁極であると判別し、第１の相対的極番号ｒ１を１に設定する（ステップＳ２４）。そして、ステップＳ２６に進む。
【００２８】
一方、第１の出力信号Ｖ１が０以下である場合には（ステップＳ２１：ＮＯ）、回転角演算装置２０は、第１の出力信号Ｖ１が０より小さいか否かを判別する（ステップＳ２２）。第１の出力信号Ｖ１が０より小さい場合には（ステップＳ２２：ＹＥＳ）、第１の磁気センサ２１が感知している磁極（基準磁極）がＳ極の磁極であると判別し、第１の相対的極番号ｒ１を２に設定する（ステップＳ２５）。そして、ステップＳ２６に進む。
【００２９】
前記ステップＳ２２において、第１の出力信号Ｖ１が０以上であると判別された場合には（ステップＳ２２：ＮＯ）、つまり、第１の出力信号Ｖ１が０である場合には、回転角演算装置２０は、ロータ回転角（電気角）が０°であるか１８０°であるかを判別するために、第２の出力信号Ｖ２が０より大きいか否かを判別する（ステップＳ２３）。第２の出力信号Ｖ２が０より大きい場合には（ステップＳ２３：ＹＥＳ）、回転角演算装置２０は、ロータ回転角（電気角）が０°であると判別し、第１の相対的極番号ｒ１を１に設定する（ステップＳ２４）。そして、ステップＳ２６に進む。
【００３０】
一方、第２の出力信号Ｖ２が０以下である場合には（ステップＳ２３：ＮＯ）、回転角演算装置２０は、ロータ回転角（電気角）が１８０°であると判別し、第１の相対的極番号ｒ１を２に設定する（ステップＳ２５）。そして、ステップＳ２６に進む。
ステップＳ２６では、回転角演算装置２０は、「Ｖ１＞０かつＶ２≦０」または「Ｖ１＜０かつＶ２≧０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ２６：ＹＥＳ）、回転角演算装置２０は、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号より１だけ大きい番号であると判別し、第２の相対的極番号ｒ２に、第１の相対的極番号ｒ１より１だけ大きい番号（ｒ２＝ｒ１＋１）を設定する（ステップＳ２７）。そして、図４のステップＳ１６に移行する。
【００３１】
一方、前記ステップＳ２６の条件を満たしていない場合には（ステップＳ２６：ＮＯ）、回転角演算装置２０は、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号と同じであると判別し、第２の相対的極番号ｒ２に第１の相対的極番号ｒ１と同じ番号（ｒ２＝ｒ１）を設定する（ステップＳ２８）。そして、図４のステップＳ１６に移行する。
【００３２】
前記ステップＳ２６の条件を満たしている場合に、第２の相対的極番号ｒ２に第１の相対的極番号ｒ１より１だけ大きい番号（ｒ２＝ｒ１＋１）を設定し、前記ステップＳ２６の条件を満たしていない場合に、第２の相対的極番号ｒ２に第１の相対的極番号ｒ１と同じ番号（ｒ２＝ｒ１）を設定している理由について説明する。
たとえば、ロータ１における磁極Ｍ１と磁極Ｍ２とからなる磁極対が第１の磁気センサ２１を通過する際の、第１および第２の磁気センサ２１，２２の出力信号Ｖ１，Ｖ２の信号波形を模式的に表すと、図７（ａ）（ｂ）に示すようになる。
【００３３】
図７（ａ）（ｂ）において、Ｓ１で示す領域は、第１の磁気センサ２１が磁極Ｍ１を感知し、第２の磁気センサ２２が磁極Ｍ１を感知している領域である。Ｓ２で示す領域は、第１の磁気センサ２１が磁極Ｍ１を感知し、第２の磁気センサ２２が磁極Ｍ２を感知している領域である。Ｓ３で示す領域は、第１の磁気センサ２１が磁極Ｍ２を感知し、第２の磁気センサ２２が磁極Ｍ２を感知している領域である。Ｓ４で示す領域は、第１の磁気センサ２１が磁極Ｍ２を感知し、第２の磁気センサ２２が磁極Ｍ３を感知している領域である。
【００３４】
つまり、領域Ｓ１およびＳ３では、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号と同じ番号となる。一方、領域Ｓ２およびＳ４では、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号より１だけ大きくなる。
領域Ｓ１においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≧０かつＶ２＞０の第１条件を満たす。領域Ｓ２においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＞０かつＶ２≦０の第２条件を満たす。領域Ｓ３においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≦０かつＶ２＜０の第３条件を満たす。領域Ｓ４においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＜０かつＶ２≧０の第４条件を満たす。
【００３５】
そこで、回転角演算装置２０は、前記第２条件（Ｖ１＞０かつＶ２≦０）または前記第４条件（Ｖ１＜０かつＶ２≧０）を満たしている場合には、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号より１だけ大きくなると判別し、前記第２条件または前記第４条件を満たしていない場合には、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号と同じになると判別している。
【００３６】
図４に戻り、前記ステップＳ２において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には（ステップＳ２：ＮＯ）、ステップＳ４に移行する。
ステップＳ４では、回転角演算装置２０は、メモリに記憶されているセンサ値Ｖ１，Ｖ２に基づいて、センサ値Ｖ１，Ｖ２毎に、センサ値の符号が反転するゼロクロスを検出したか否かを判別する。ゼロクロスが検出されなかったときには（ステップＳ４：ＮＯ）、回転角演算装置２０は、ステップＳ５に移行する。
【００３７】
前記ステップＳ４において、いずれかのセンサ値Ｖ１，Ｖ２に対してゼロクロスが検出された場合には（ステップＳ４：ＹＥＳ）、回転角演算装置２０は、ゼロクロスが検出された出力信号のピーク値（極大値または極小値）を検出するためのピーク値検出処理を行なう（ステップＳ６）。
ピーク値検出処理について具体的に説明する。前記ステップＳ４でゼロクロスが検出された出力信号に対応する磁気センサをピーク値検出対象の磁気センサということにする。回転角演算装置２０は、まず、ピーク値検出対象の磁気センサが感知している磁極が変化したか否かを判別する。つまり、回転角演算装置２０は、ピーク値検出対象の磁気センサが感知している磁極位置が、当該磁気センサの出力信号のゼロクロスが前回検出された時点と、今回検出された時点とで、異なっているか同じであるかを判定する。ロータ１の回転方向が逆転した場合には、前記両時点での磁極位置が同じになる可能性がある。
【００３８】
この判定は、たとえば、当該磁気センサの出力信号のゼロクロスが前回検出されたときのロータ１の回転方向と、現在のロータ１の回転方向が同じ方向であるか否かに基づいて行うことができる。すなわち、回転角演算装置２０は、ロータ１の回転方向が同じ方向であれば、ピーク値検出対象の磁気センサが感知している磁極が変化したと判定する。一方、ロータ１の回転方向が異なっていれば、回転角演算装置２０は、ピーク値検出対象の磁気センサが感知している磁極が変化していないと判定する。
【００３９】
ピーク値検出対象の磁気センサが感知している磁極が変化したと判定された場合には、回転角演算装置２０は、ピーク値を検出したと判別するとともに、当該磁気センサに対応するピーク値候補をピーク検出値として特定する。一方、当該磁気センサが感知している磁極が変化していないと判定された場合には、回転角演算装置２０は、ピーク値を検出しなかったと判定する。
【００４０】
なお、ロータ１の回転方向は、ゼロクロスが検出された出力信号の前回値および今回値と、他の１つの出力信号の今回値とに基づいて判定することができる。具体的には、ゼロクロスが検出された出力信号が第１の出力信号Ｖ１である場合には、「第１の出力信号Ｖ１の前回値が０より大きくかつその今回値が０以下であり、第２の出力信号Ｖ２が０より小さい」という条件、または「第１の出力信号Ｖ１の前回値が０未満でかつその今回値が０以上であり、第２の出力信号Ｖ２が０より大きい」という条件を満たしている場合には、回転方向は正方向（図２に矢印で示す方向）であると判定される。
【００４１】
一方、「第１の出力信号Ｖ１の前回値が０以上でかつその今回値が０未満であり、第２の出力信号Ｖ２が０より大きい」という条件、または「第１の出力信号Ｖ１の前回値が０以下でかつその今回値が０より大きく、第２の出力信号Ｖ２が０より小さい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
ゼロクロスが検出された出力信号が第２の出力信号Ｖ２である場合には、「第２の出力信号Ｖ２の前回値が０より大きくかつその今回値が０以下であり、第１の出力信号Ｖ１が０より大きい」という条件、または「第２の出力信号Ｖ２の前回値が０未満でかつその今回値が０以上であり、第１の出力信号Ｖ１が０より小さい」という条件を満たしている場合には、回転方向は正方向（図２に矢印で示す方向）であると判定される。一方、「第２の出力信号Ｖ２の前回値が０以上でかつその今回値が０未満であり、第１の出力信号Ｖ１が０より小さい」という条件、または「第２の出力信号Ｖ２の前回値が０以下でかつその今回値が０より大きく、第１の出力信号Ｖ１が０より大きい」という条件を満たしている場合には、回転方向は逆方向であると判定される。
【００４２】
前記ステップＳ６において、ピーク値が検出されたときには（ステップＳ７：ＹＥＳ）、回転角演算装置２０は、前記ステップＳ４でゼロクロスが検出された出力信号に対応するピーク値候補を零にリセットした後、ピーク値更新処理を行なう（ステップＳ８）。
ピーク値更新処理では、回転角演算装置２０は、メモリ内のピーク値記憶領域Ｒ１，Ｒ２図５参照）内のピーク検出値のうち、前記ステップＳ６でピーク値が検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２に対応するピーク検出値を、前記ステップＳ６で検出されたピーク検出値に更新する。ピーク値更新処理を終了すると、回転角演算装置２０は、ステップＳ９に移行する。
【００４３】
前記ステップＳ６でピーク値が検出されなかった場合には（ステップＳ７：ＮＯ）、回転角演算装置２０は、前記ステップＳ４でゼロクロスが検出された出力信号に対応するピーク値候補を零にリセットした後、ピーク値更新処理を行なうことなく、ステップＳ９に移行する。
ステップＳ９では、回転角演算装置２０は、相対的極番号の更新処理を行なう。具体的には、前記ステップＳ４でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、ロータ１の回転方向に応じて、１だけ大きい番号または１だけ小さい番号に変更する。
【００４４】
ロータ１の回転方向が正方向（図２に矢印で示す方向）である場合には、回転角演算装置２０は、前記ステップＳ４でゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、１だけ大きい番号に更新する。一方、ロータ１の回転方向が逆方向である場合には、回転角演算装置２０は、ゼロクロスが検出された磁気センサに対して現在設定されている相対的極番号ｒ１またはｒ２を、１だけ小さい番号に更新する。ただし、前述したように、”１”の相対的極番号に対して、１だけ小さい相対的極番号は、”１０”となる。また、”１０”の相対的極番号に対して、１だけ大きい相対的極番号は、”１”となる。
【００４５】
前記ステップＳ９の相対的極番号の更新処理が終了すると、回転角演算装置２０は、回転角演算処理開始後に、全ての磁極Ｍ１〜Ｍ１０に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が検出されているか否かを判別する（ステップＳ１０）。つまり、回転角演算装置２０は、回転角演算処理開始後に、第１の相対的極番号ｒ１の１〜１０にそれぞれ対応する第１の出力信号Ｖ１のピーク値と、第２の相対的極番号ｒ２の１〜１０にそれぞれに対応する第２の出力信号Ｖ２のピーク値とが検出されているか否かを判別する。
【００４６】
全ての磁極Ｍ１〜Ｍ１０に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が検出されていない場合には（ステップＳ１０：ＮＯ）、回転角演算装置２０は、ステップＳ１６に移行する。一方、全ての磁極Ｍ１〜Ｍ１０に対する第１および第２の出力信号Ｖ１，Ｖ２のピーク値が検出されている場合には（ステップＳ１０：ＹＥＳ）、回転角演算装置２０は、フラグＦをセット（Ｆ＝１）した後に（ステップＳ１１）、ステップＳ１２に移行する。フラグＦは回転角演算処理開始時にリセット（Ｆ＝０）されている。
【００４７】
ステップＳ１２では、回転角演算装置２０は、振幅補正値監視処理を行なう。振幅補正値監視処理について説明する。後述するステップＳ１４の振幅補正処理では、第１の磁気センサ２１が現在感知している磁極に対応する第１の出力信号Ｖ１のピーク検出値を振幅補正値として、第１の出力信号Ｖ１の振幅が補正されるとともに、第２の磁気センサ２２が現在感知している磁極に対応する第２の出力信号Ｖ２のピーク検出値を振幅補正値として、第２の出力信号Ｖ２の振幅が補正される。
【００４８】
そこで、振幅補正値監視処理においては、回転角演算装置２０は、第１の磁気センサ２１が現在感知している磁極に対応する第１の出力信号Ｖ１のピーク検出値（以下、「第１の判定対象のピーク検出値」という）および第２の磁気センサ２２が現在感知している磁極に対応する第２の出力信号Ｖ２のピーク検出値（以下、「第２の判定対象のピーク検出値」という）が正常であるか異常であるかを判定する。なお、第１の判定対象のピーク検出値と第２の判定対象のピーク検出値とを総称する場合には、「判定対象のピーク検出値」という場合がある。
【００４９】
まず、第１の判定対象のピーク検出値が正常であるか否かを判定する方法について説明する。
図５の第１のピーク値記憶領域Ｒ１において、第１の相対的極番号ｒ１の１〜１０に対して記憶されている第１の出力信号Ｖ１のピーク検出値を、ａ１〜ａ１０で表すことにする。また、第２のピーク値記憶領域Ｒ２において、第２の相対的極番号ｒ２の１〜１０に対して記憶されている第２の出力信号Ｖ２のピーク検出値を、ｂ１〜ｂ１０で表すことにする。
【００５０】
第１の出力信号Ｖ１のピーク検出値ａ１〜ａ１０を、第１の相対的極番号ｒ１の値を表す変数ｋを用いて、ａｋ（ｋ＝１，２，…，１０）で表す場合がある。同様に、第２の出力信号Ｖ２のピーク検出値ｂ１〜ｂ１０を、第２の相対的極番号ｒ２の値を表す変数ｋを用いて、ｂｋ（ｋ＝１，２，…，１０）で表す場合がある。各出力信号Ｖ１，Ｖ２のピーク値ａｋ，ｂｋ間において、相対的番号の値ｋが同じ各出力信号Ｖ１，Ｖ２のピーク検出値は、同じ磁極に対するピーク値を示している。また、同じ磁極に対する両出力信号Ｖ１，Ｖ１のピーク検出値ａｋ，ｂｋの比（ａｋ／ｂｋ）を、ピーク値比という場合がある。
【００５１】
第１の判定対象のピーク検出値は、第１の磁気センサ２１が現在感知している磁極の相対的極番号（現在設定されている第１の相対的極番号ｒ１）をｎ（ｎは１から１０のいずれかの値をとる）とすると、ａｎで表される。また、当該磁極に対応する第２の出力信号Ｖ２のピーク検出値はｂｎで表される。
この場合、回転角演算装置２０は、次式(1a)で表される第１条件と次式(1b)で表される第２条件との両方の条件を満たしているか否かを判別する。そして、第１条件および第２条件の両方の条件を満たしている場合には、回転角演算装置２０は、第１の判定対象のピーク検出値は正常であると判定する。一方、第１条件および第２条件のうちの少なくとも一方を満たしていない場合には、回転角演算装置２０は、第１の判定対象のピーク検出値は異常であると判定する。
【００５２】
【数１】
0005892359.tif 000002
【００５３】
前記式(1a)および前記式(1b)の左辺の（ａｎ／ｂｎ）は、第１の磁気センサ２１が現在感知している磁極に対応するピーク値比を表している。
また、前記式(1a)および前記式(1b)の右辺における［｛（Σ（ａｋ／ｂｋ））−ａｎ／ｂｎ｝／９］は、磁石２に設けられた全ての磁極Ｍ１〜Ｍ１０のうち、第１の磁気センサ２１が現在感知している磁極以外の磁極に対応するピーク値比の平均値を表している。また、前記式(1a)および前記式(1b)の右辺における”０．０４”はマージンを表している。マージンは、０．０４以外の値であってもよい。
【００５４】
したがって、第１条件は、「第１の磁気センサ２１が現在感知している磁極に対応するピーク値比（ａｎ／ｂｎ）が、第１の磁気センサ２１が現在感知している磁極以外の磁極に対応するピーク値比の平均値に０．９６を乗算した値以上であること」である。
また、第２条件は、「第１の磁気センサ２１が現在感知している磁極に対応するピーク値比（ａｎ／ｂｎ）が、第１の磁気センサ２１が現在感知している磁極以外の磁極に対応するピーク値比の平均値に１．０４を乗算した値以下であること」である。
【００５５】
つまり、回転角演算装置２０は、ロータ１の直近の１周分における各磁極それぞれのピーク値比のうち、第１の判定対象のピーク検出値を含む１つの磁極に対応するピーク値比（ａｎ／ｂｎ）を、他の磁極に対応するピーク値比の平均値［｛（Σ（ａｋ／ｂｋ））−ａｎ／ｂｎ｝／９］と比較することによって、第１の判定対象のピーク検出値が正常であるか否かを判定する。
【００５６】
第２の判定対象のピーク検出値が正常であるか否かを判定する場合には、前記式(1a)および前記式(1b)におけるｎを、第２の磁気センサ２２が現在感知している磁極の相対的極番号（現在設定されている第２の相対的極番号ｒ２）に置き換えればよい。
このように、判定対象のピーク検出値が正常であるか否かを２つの出力信号Ｖ１，Ｖ２のピーク値比に基づいて行っているので、各磁気センサ２１，２２の特性のばらつき、各磁気センサ２１，２２に対応する増幅回路の特性のばらつき、各磁気センサ２１，２２と磁石２との間のギャップのばらつき、ロータ１の回転中心軸線と各磁気センサ２１，２２との距離のばらつき等に起因して両出力信号Ｖ１，Ｖ２のピーク検出値間にばらつきがあったり、周辺温度によって各出力信号Ｖ１，Ｖ２が変動したりする場合でも、正確な判定を行うことができる。
【００５７】
また、各磁気センサが現在感知している磁極に対応するピーク値比を、当該磁極以外の磁極に対応するピーク値比の平均値と比較することにより、判定対象のピーク検出値が正常であるか否かを判定しているので、各磁極の着磁にばらつきがあったとしても、正確な判定を行うことができる。このため、判定対象のピーク検出値が正常であるか否かを高精度に判定することができる。
【００５８】
振幅補正値監視処理において、第１の判定対象のピーク検出値および第２の判定対象のピーク検出値の両方が正常であると判別された場合には（ステップＳ１３：ＹＥＳ）、回転角演算装置２０は、振幅補正処理を行う（ステップＳ１４）。つまり、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極に対応する第１の出力信号Ｖ１のピーク検出値（第１の判定対象のピーク検出値）と、第２の磁気センサ２２が感知している磁極に対応する第２の出力信号Ｖ２のピーク検出値（第２の判定対象のピーク検出値）と、予め設定されている基準振幅Ａとに基づいて、各出力信号Ｖ１，Ｖ２の振幅を補正する。
【００５９】
具体的には、第１の判定対象のピーク検出値をａｒ１とし、第２の判定対象のピーク検出値をｂｒ２とし、第１および第２の出力信号Ｖ１，Ｖ２の振幅補正後の信号をそれぞれＶ１’，Ｖ２’とすると、補正後の第１および第２の出力信号Ｖ１’，Ｖ２’は、それぞれ次式（2）(3)に基づいて演算される。
Ｖ１’＝（Ｖ１／ａｒ１）×Ａ    …(2)
Ｖ２’＝（Ｖ２／ｂｒ２）×Ａ    …(3)
振幅補正処理が終了すると、回転角演算装置２０は、ステップＳ１５に移行する。ステップＳ１５では、回転角演算装置２０は、振幅補正後の出力信号Ｖ１’，Ｖ２’に基づいてロータ１の回転角（電気角θｅ）を演算する。具体的には、次式(4)に基づいて、ロータ１の電気角θｅを演算する。
【００６０】
θｅ＝tan−１（Ｖ１’／Ｖ２’）  …(4)
前記ステップＳ１５で電気角θｅが演算されると、回転角演算装置２０は、当該電気角θｅをモータコントローラ３０に与える。そして、今演算周期での処理を終了する。
前記ステップＳ５では、回転角演算装置２０は、フラグＦがセットされているか否かを判別する。フラグＦがセットされていない場合には（ステップＳ５：ＮＯ）、回転角演算装置２０は、ステップＳ１６に移行する。一方、フラグＦがセットされている場合には（ステップＳ５：ＹＥＳ）、各磁気センサ２１，２２が現在感知している磁極に対応するピーク検出値（判定対象のピーク検出値）は既に正常であると判定されているので、回転角演算装置２０は、ステップＳ１４に移行する。
【００６１】
ステップＳ１６では、回転角演算装置２０は、前記ステップＳ１で読み込まれたセンサ値Ｖ１，Ｖ２に基づいて、電気角θｅを演算する。具体的には、次式(5)に基づいて、ロータ１の電気角θｅを演算する。
θｅ＝tan−１（Ｖ１／Ｖ２）  …(5)
前記ステップＳ１６で電気角θｅが演算されると、回転角演算装置２０は、当該電気角θｅをモータコントローラ３０に与える。そして、今演算周期での処理を終了する。
【００６２】
前記ステップＳ１２の振幅補正値監視処理において、第１の判定対象のピーク検出値および第２の判定対象のピーク検出値の少なくとも一方が異常であると判定された場合には（ステップＳ１３：ＮＯ）、回転角演算装置２０は、異常処理を行なう（ステップＳ１７）。具体的には、回転角演算装置２０は、回転角演算処理を停止するとともに、モータコントローラ３０にモータ停止指令を出力する。これにより、モータ１０が停止される。
【００６３】
前記実施形態によれば、回転角演算装置２０は、回転角演算処理後に、ロータ１が１回転した後においては、回転角演算装置２０によって検出されたピーク検出値を用いて、各出力信号Ｖ１，Ｖ２の振幅を補正することができる。これにより、ロータ１の回転角（電気角）θｅを高精度で演算することができる。
また、振幅補正に使用される可能性があるピーク検出値が正常であるか否かを、磁気センサ２１，２２の特性のばらつき、増幅回路の特性のばらつき、各磁気センサ２１，２２と磁石２とのギャップのばらつき、ロータ１の回転中心軸線と各磁気センサ２１，２２との距離のばらつき、各磁極の着磁にばらつき、周辺温度の変化等にかかわらず、正確に判定することができる。この結果、振幅補正後の出力信号の信頼性が向上する。
【００６４】
以上、この発明の実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、２つの磁気センサ２１，２２からは、互いに位相差が９０°の正弦波信号が出力されているが、位相差が９０°以外の角度（たとえば、１２０°）となるように、２つの磁気センサを配置してもよい。また、磁気センサを３つ以上設けてもよい。
【００６５】
また、前記実施形態では、回転角演算装置２０は、ロータ１の直近の１周分における各磁極それぞれのピーク値比のうち、判定対象のピーク検出値を含む１つの磁極に対応するピーク値比を、他の磁極に対応するピーク値比の平均値と比較することによって、判定対象のピーク検出値が正常であるか否かを判定しているが、判定対象のピーク検出値を含む１つの磁極に対応するピーク値比と比較する対象は、前記他の磁極に対応するピーク値比の平均値でなくてもよい。判定対象のピーク検出値を含む１つの磁極に対応するピーク値比と比較する対象は、たとえば、予め設定された設定値であってもよい。
【００６６】
また、各磁極に対応するピーク値比の中に、互いにピーク値比が極端に異なる２以上のピーク値比が存在する場合に、判定対象のピーク検出値が異常であると判定するようにしてもよい。このようなことは、たとえば、一方の磁気センサが故障した場合等に発生する。
また、異常と判定された場合には、異常であるセンサ信号を特定し、正常なセンサ信号をもとに回転角を演算（推定）し、モータ駆動を継続してもよい。
【００６７】
また、前記実施形態では、図２のステップＳ１０において全ての磁極に対するピーク値が検出されていると判定されたときにフラグＦをセットしているが、それに代えて、ステップＳ１２の振幅補正値監視処理において、第１の判定対象のピーク検出値および第２の判定対象のピーク検出値の両方が正常であると判別された場合に（ステップＳ１３：ＹＥＳ）に、フラグＦをセットするようにしてもよい。
【００６８】
この発明は、ブラシレスモータのロータ以外の回転体の回転角を検出する場合にも、適用することができる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００６９】
１…検出用ロータ、２…磁石、２１，２２…磁気センサ、１０…ブラシレスモータ、２０…回転角演算装置、Ｍ１〜Ｍ１０…磁極
【図１】
0005892359.tif 000003
【図２】
0005892359.tif 000004
【図３】
0005892359.tif 000005
【図４】
0005892359.tif 000006
【図５】
0005892359.tif 000007
【図６】
0005892359.tif 000008
【図７】
0005892359.tif 000009
【図８】
0005892359.tif 000010