(57)【特許請求の範囲】
【請求項１】
回転体の回転に応じて回転しかつ複数の磁極が設けられた検出用ロータと、前記検出用ロータの回転に応じて、互いに所定の位相差を有する３つの正弦波信号を出力するセンサとを含み、これらの正弦波信号に基づいて前記回転体の回転角を検出する回転角検出装置であって、
所定の演算周期毎に前記各正弦波信号を読み取る信号読取手段と、
前記信号読取手段によって読み取られた前記各正弦波信号に基づいて、少なくとも１つの正弦波信号の磁極の移り変わりを検出する検出手段とを含み、
前記検出手段は、
前記各正弦波信号のうち、磁極の移り変わりが検出される正弦波信号を第１の正弦波信号とし、他の２つの正弦波信号のうちの一方を第２の正弦波信号とし、他方を第３の正弦波信号とすると、
前記第２の正弦波信号および前記第３の正弦波信号のうち、その前回値と今回値との差の絶対値が大きい方の正弦波信号の今回値と、前記第１の正弦波信号の前回値と、前記第１の正弦波信号の今回値とに基づいて、前記第１の正弦波信号の磁極の移り変わりを検出するものである、回転角検出装置。
【請求項２】
前記所定の位相差が、電気角で１２０°である、請求項１に記載の回転角検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ブラシレスモータのロータ等の回転体の回転角を検出する回転角検出装置に関する。
【背景技術】
【０００２】
電動パワーステアリング装置などに使用されるブラシレスモータを制御するためには、ロータの回転角度に合わせてステータ巻線に電流を通電する必要がある。そこで、ブラシレスモータの回転に応じて回転する検出用ロータを用いて、ブラシレスモータのロータの回転角を検出する回転角検出装置が知られている。具体的には、図８に示すように、検出用ロータ１０１（以下、「ロータ１０１」という）は、ブラシレスモータのロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石１０２を備えている。ロータ１０１の周囲には、２つの磁気センサ１２１，１２２が、ロータ１０１の回転中心軸を中心として所定の角度間隔をおいて配置されている。各磁気センサ１２１，１２２からは、所定の位相差を有する正弦波信号が出力される。これらの２つの正弦波信号に基づいて、ロータ１０１の回転角（ブラシレスモータのロータの回転角）が検出される。
【０００３】
この例では、磁石１０２は、５組の磁極対（Ｍ０，Ｍ１）（Ｍ２，Ｍ３）（Ｍ４，Ｍ５）（Ｍ６，Ｍ７）（Ｍ８，Ｍ９）を有している。つまり、磁石１０２は、等角度間隔で配置された１０個の磁極Ｍ０〜Ｍ９を有している。各磁極Ｍ０〜Ｍ９は、ロータ１０１の回転中心軸を中心として、３６°（電気角では１８０°）の角度間隔で配置されている。また、２つの磁気センサ１２１，１２２は、ロータ１０１の回転中心軸を中心として１８°（電気角では９０°）の角度間隔をおいて配置されている。
【０００４】
図８に矢印で示す方向を検出用ロータ１０１の正方向の回転方向とする。そして、ロータ１０１が正方向に回転されるとロータ１０１の回転角が大きくなり、ロータ１０１が逆方向に回転されると、ロータ１０１の回転角が小さくなるものとする。各磁気センサ１２１，１２２からは、図９に示すように、ロータ１０１が１磁極対分に相当する角度（７２°（電気角では３６０°））を回転する期間を一周期とする正弦波信号Ｖ１，Ｖ２が出力される。
【０００５】
ロータ１０１の１回転分の角度範囲を、５つの磁極対に対応して５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として表したロータ１０１の角度を、ロータ１０１の電気角θｅということにする。この場合には、１０個の磁極の角度幅は等しいので、ロータ１０１の電気角θｅは、ブラシレスモータのロータの電気角と一致する。
ここでは、第１の磁気センサ１２１からは、Ｖ１＝Ａ１・sinθｅの出力信号が出力され、第２の磁気センサ１２２からは、Ｖ２＝Ａ２・cosθｅの出力信号が出力されるものとする。Ａ１，Ａ２は、振幅である。両出力信号Ｖ１，Ｖ２の振幅Ａ１，Ａ２が互いに等しいとみなすと、ロータ１０１の電気角θｅは、両出力信号Ｖ１，Ｖ２を用いて、次式(1)に基づいて求めることができる。
【０００６】
θｅ＝tan−１（sinθｅ／cosθｅ）
＝tan−１（Ｖ１／Ｖ２）      …(1)
このようにして、求められた電気角θｅを使って、ブラシレスモータを制御する。  
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2003-241411号公報
【特許文献２】特開2002-213944号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
電動パワーステアリング装置などに使用されるブラシレスモータを制御する場合、操舵角や操舵角の角速度がブラシレスモータの制御に用いられることがある。操舵角や操舵角の角速度は、ブラシレスモータのロータの機械角に基づいて演算することができる。また、操舵角の角速度は、回転角演算処理開始時のロータの初期位置を基準としたロータの機械角（以下、「相対的機械角」という）に基づいて演算することができる。
【０００９】
ロータの機械角や相対的機械角を検出する場合には、磁気センサの出力信号の磁極の移り変わりを検出する必要がある。ここで、磁気センサの出力信号の磁極の移り変わりを検出するとは、当該磁気センサが感知している磁極が移り変わったことおよびその移動方向を検出することをいう。磁気センサの出力信号の磁極の移り変わりを、たとえば、図８に示される２つの磁気センサ１２１，１２２の出力信号Ｖ１，Ｖ２に基づいて、検出することが考えられる。
【００１０】
２つの磁気センサ１２１，１２２の出力信号Ｖ１，Ｖ２の振幅Ａ１，Ａ２が互いに等しい値Ａであるとみなすか、あるいは両振幅が所定の規定値Ａとなるように両信号Ｖ１，Ｖ２を正規化したとすると、一方の出力信号Ｖ１は、Ｖ１＝Ａ・sinθｅと表され、他方の出力信号Ｖ２は、Ｖ２＝Ａ・cosθｅと表される。さらに、Ａ＝１とすると、一方の出力信号Ｖ１は、Ｖ１＝sinθｅで表され、他方の出力信号Ｖ２は、Ｖ２＝cosθｅで表される。そこで、説明を簡単にするために、磁気センサ１２１，１２２の出力信号Ｖ１，Ｖ２を、Ｖ１＝sinθｅ、Ｖ２＝sin（θ＋９０°）＝cosθｅで表すことにする。
【００１１】
図９は、ロータ１０１の磁極Ｍ９と磁極Ｍ０との境界が第１の磁気センサ１２１に対向している場合のロータ１０１の回転角を０°にとった場合のロータ角度（機械角）に対する、各磁気センサ１２１，１２２の出力信号Ｖ１，Ｖ２を示している。ただし、ロータ角度は実際の機械角にロータ１０１の磁極対数（この例では”５”）を乗算した角度で表されている。また、図９おいて、磁極Ｍ０〜Ｍ９は、第１の磁気センサ１２１が感知している磁極を表している。
【００１２】
第１の磁気センサ１２１が感知している磁極の移り変わりには、次の４種類がある。
（ａ）ロータ１０１が正方向に回転している場合に、第１の磁気センサ１２１が感知している磁極がＮ極からＳ極に移り変わる場合。たとえば、図９に符号Ｑａで示す楕円内の矢印で示すように、第１の磁気センサ１２１が感知している磁極が磁極Ｍ２からＭ３に移り変わる場合。
（ｂ）ロータ１０１が正方向に回転している場合に、第１の磁気センサ１２１が感知している磁極がＳ極からＮ極の磁極に移り変わる場合。たとえば、図９に符号Ｑｂで示す楕円内の矢印で示すように、第１の磁気センサ１２１が感知している磁極がＭ１からＭ２に移り変わる場合。
（ｃ）ロータ１０１が逆方向に回転している場合に、第１の磁気センサ１２１が感知している磁極がＮ極からＳ極に移り変わる場合。たとえば、図９に符号Ｑｃで示す楕円内の矢印で示すように、第１の磁気センサ１２１が感知している磁極がＭ６からＭ５に移り変わる場合。
（ｄ）ロータ１０１が逆方向に回転している場合に、第１の磁気センサ１２１が感知している磁極がＳ極からＮ極の磁極に移り変わる場合。たとえば、図９に符号Ｑｄで示す楕円内の矢印で示すように、第１の磁気センサ１２１が感知している磁極がＭ７からＭ６に移り変わる場合。
【００１３】
前記（ａ）の磁極の移り変わり（図９のＱａ参照）は、次の第１の判定条件を満たすか否かを判定することによって検出することができる。
第１の判定条件：「Ｖ２＜０」かつ「Ｖ１の前回値＞０」かつ「Ｖ１の今回値≦０」
前記（ｂ）の磁極の移り変わり（図９のＱｂ参照）は、次の第２の判定条件を満たすか否かを判定することによって検出することができる。
【００１４】
第２の判定条件：「Ｖ２＞０」かつ「Ｖ１の前回値＜０」かつ「Ｖ１の今回値≧０」
前記（ｃ）の磁極の移り変わり（図９のＱｃ参照）は、次の第３の判定条件を満たすか否かを判定することによって検出することができる。
第３の判定条件：「Ｖ２＞０」かつ「Ｖ１の前回値≧０」かつ「Ｖ１の今回値＜０」
前記（ｄ）の磁極の移り変わり（図９のＱｄ参照）は、次の第４の判定条件を満たすか否かを判定することによって検出することができる。
【００１５】
第４の判定条件：「Ｖ２＜０」かつ「Ｖ１の前回値≦０」かつ「Ｖ１の今回値＞０」
つまり、前記第１の判定条件を満たしていると判定されると、前記（ａ）の磁極の移り変わりが発生したと判別される。前記第２の判定条件を満たしていると判定されると、前記（ｂ）の磁極の移り変わりが発生したと判別される。前記第３の判定条件を満たしていると判定されると、前記（ｃ）の磁極の移り変わりが発生したと判別される。前記第４の判定条件を満たしていると判定されると、前記（ｄ）の磁極の移り変わりが発生したと判別される。
【００１６】
ところで、磁気センサが故障すると、その出力信号がある値に固定されてしまうことがある。このような出力信号の異常を固着異常ということにする。第１の出力信号Ｖ１または第２の出力信号Ｖ２に固着異常が発生すると、磁極の移り変わりを正確に検出できなくなる。たとえば、第２の出力信号Ｖ２が”０”に固定されると、前記第１〜第４の判定条件のいずれの判定条件も満たされなくなる。このため、前記（ａ）〜（ｄ）の磁極の移り変わりを検出できなくなる。
【００１７】
また、第２の出力信号Ｖ２が”０”以外の値、たとえば０．５に固定された場合にも、磁極の移り変わりを誤検出してしまう。図１０は、第２の出力信号Ｖ２が０．５に固定された場合の、各磁気センサ１２１，１２２の出力信号Ｖ１，Ｖ２を示している。
図１０において、楕円Ｑａ内の矢印で示す磁極の移り変わりでは、本来Ｖ２＜０となるべきところがＶ２＞０となるため、前記第１の判定条件を満たさなくなくなり、前記第３の判定条件を満たしてしまうことになる。このため、前記（ａ）の磁極の移り変わりを、前記（ｃ）の磁極の移り変わりと誤検出してしまう。同様に、図１０において、楕円Ｑｄ内の矢印で示す磁極の移り変わりでは、本来Ｖ２＜０となるべきところがＶ２＞０となるため、前記第４の判定条件を満たさなくなくなり、前記第２の判定条件を満たしてしまうことになる。このため、前記（ｄ）の磁極の移り変わりを、前記（ｂ）の磁極の移り変わりと誤検出してしまう。
【００１８】
この発明の目的は、複数の正弦波信号のうちの１つの正弦波信号に固着異常が発生した場合でも、磁極の移り変わりを正確に検出できるようになる回転角検出装置を提供することである。
【課題を解決するための手段】
【００１９】
上記の目的を達成するための請求項１記載の発明は、回転体（１０）の回転に応じて回転しかつ複数の磁極（Ｍ０〜Ｍ９）が設けられた検出用ロータ（１）と、前記検出用ロータの回転に応じて、互いに所定の位相差を有する３つの正弦波信号（Ｖ１，Ｖ２，Ｖ３）を出力するセンサ（２１，２２，２３）とを含み、これらの正弦波信号に基づいて前記回転体の回転角を検出する回転角検出装置であって、所定の演算周期毎に前記各正弦波信号を読み取る信号読取手段（２０，Ｓ１）と、前記信号読取手段によって読み取られた前記各正弦波信号に基づいて、少なくとも１つの正弦波信号の磁極の移り変わりを検出する検出手段（２０，Ｓ４）とを含み、前記検出手段は、前記各正弦波信号のうち、磁極の移り変わりが検出される正弦波信号を第１の正弦波信号（Ｖ１）とし、他の２つの正弦波信号のうちの一方を第２の正弦波信号（Ｖ２）とし、他方を第３の正弦波信号（Ｖ３）とすると、前記第２の正弦波信号および前記第３の正弦波信号のうち、その前回値と今回値との差の絶対値が大きい方の正弦波信号の今回値と、前記第１の正弦波信号の前回値と、前記第１の正弦波信号の今回値とに基づいて、前記第１の正弦波信号の磁極の移り変わりを検出するものである、回転角検出装置である。なお、括弧内の英数字は、後述の実施形態における対応構成要素等を表すが、むろん、この発明の範囲は当該実施形態に限定されない。以下、この項において同じ。
【００２０】
上記構成では、検出用ロータの回転に応じて、互いに所定の位相差を有する３つの正弦波信号を出力するセンサを含んでいる。所定の演算周期毎に各正弦波信号が読み取られる。そして、読み取られた各正弦波信号に基づいて、少なくとも１つの正弦波信号の磁極の移り変わりが検出される。具体的には、各正弦波信号のうち、磁極の移り変わりが検出される正弦波信号を第１の正弦波信号とし、他の２つの正弦波信号のうちの一方を第２の正弦波信号とし、他方を第３の正弦波信号とすると、第２の正弦波信号および第３の正弦波信号のうち、その前回値と今回値との差の絶対値が大きい方の正弦波信号の今回値と、第１の正弦波信号の前回値と、第１の正弦波信号の今回値とに基づいて、第１の正弦波信号の磁極の移り変わりが検出される。
【００２１】
つまり、この構成では、第２の正弦波信号および第３の正弦波信号のうち、その前回値と今回値との差の絶対値が大きい方の正弦波信号の今回値が、第１の正弦波信号の磁極の移り変わりを検出するために用いられる。第２の正弦波信号および第３の正弦波信号のうちの１つに固着異常が発生した場合には、固着異常が発生した正弦波信号の前回値と今回値との差の絶対値は小さくなる。このため、固着異常が発生した正弦波信号は、第１の正弦波信号の磁極の移り変わりの検出に用いられなくなる。したがって、この構成によれば、磁極の移り変わりが検出される第１の正弦波信号以外の２つの正弦波信号のうちの１つに固着異常が発生した場合でも、第１の正弦波信号の磁極の移り変わりを正確に検出できる。
【００２２】
これにより、３つの正弦波信号のうちの１つの正弦波信号に固着異常が発生した場合でも、少なくとも１つの正弦波信号の磁極の移り変わりを正確に検出することが可能となる。これにより、３つの正弦波信号のうちの１つの正弦波信号に固着異常が発生した場合でも、相対的機械角等の機械角を演算することが可能となる。
前記所定の位相差は、電気角で２０°〜３５°の範囲内、５５°〜７０°の範囲内、１１０°〜１２５°の範囲内または１４５°〜１６０°の範囲内の角度であることが望ましい。
【００２３】
請求項２に記載の発明は、前記所定の位相差が、電気角で１２０°である、請求項１に記載の回転角検出装置である。
【図面の簡単な説明】
【００２４】
【図１】この発明の一実施形態に係る回転角検出装置を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の構成を示す模式図である。
【図２】検出用ロータの構成を示す模式図である。
【図３】第１、第２および第３の磁気センサの出力信号波形および第１の磁気センサが感知している磁極を示す模式図である。
【図４】回転角演算装置による回転角演算処理の手順を示すフローチャートである。
【図５】図４のステップＳ３の相対的極番号の設定処理の手順を示すフローチャートである。
【図６】相対的極番号の設定処理を説明するための模式図である。
【図７】第２の出力信号が０．５に固定された場合の各出力信号波形および第１の磁気センサが感知している磁極を示す模式図である。
【図８】従来の回転角検出装置による回転角検出方法を説明するための模式図である。
【図９】第１の磁気センサの出力信号波形および第２の磁気センサの出力信号波形を示す模式図である。
【図１０】２つの磁気センサの出力信号のうちの一方の出力信号に固着異常が発生した場合に、磁極の移り変わりを誤検知してしまうことを説明するための模式図である。
【発明を実施するための形態】
【００２５】
以下では、この発明を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の実施形態について、添付図面を参照して詳細に説明する。
図１は、この発明の一実施形態に係る回転角検出装置を、ブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の構成を示す模式図である。
この回転角検出装置は、ブラシレスモータ１０の回転に応じて回転する検出用ロータ（以下、単に「ロータ１」という）を有している。図２に示すように、ロータ１は、ブラシレスモータ１０のロータに設けられている磁極対に相当する複数の磁極対を有する円筒状の磁石２を含んでいる。
【００２６】
磁石２は、５組の磁極対（Ｍ０，Ｍ１）（Ｍ２，Ｍ３）（Ｍ４，Ｍ５）（Ｍ６，Ｍ７）（Ｍ８，Ｍ９）を有している。つまり、磁石２は、等角度間隔で配置された１０個の磁極Ｍ０〜Ｍ９を有している。各磁極Ｍ０〜Ｍ９は、ロータ１の回転中心軸を中心として、３６°（電気角では１８０°）の角度間隔で配置されている。
ロータ１の周囲には、３つの磁気センサ２１，２２，２３が、ロータ１の回転中心軸を中心として、所定角度（２４°（前記電気角では１２０°））の角度間隔をおいて配置されている。これら３つの磁気センサ２１，２２，２３を、それぞれ第１の磁気センサ２１、第２の磁気センサ２２および第３の磁気センサ２３という場合がある。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。
【００２７】
図２に矢印で示す方向をロータ１の正方向の回転方向とする。そして、ロータ１が正方向に回転されるとロータ１の回転角が大きくなり、ロータ１が逆方向に回転されると、ロータ１の回転角が小さくなるものとする。各磁気センサ２１，２２，２３からは、図３に示すように、ロータ１が１磁極対分に相当する角度（７２°（電気角では３６０°））を回転する期間を一周期とする正弦波信号Ｖ１，Ｖ２，Ｖ３が出力される。
【００２８】
図３は、ロータ１の磁極Ｍ９と磁極Ｍ０との境界が第１の磁気センサ２１に対向している場合のロータ１の回転角を０°にとった場合のロータ角度（機械角）に対する、各磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３を示している。図３における横軸のロータ角度［deg]は、機械角に磁極対数（この実施形態では”５”）を乗算することにより得られた角度を表している。また、図３には、ロータ角度に対応して、第１の磁気センサ２１が感知している磁極Ｍ０〜Ｍ９が示されている。
【００２９】
回転角演算処理の開始時におけるロータ１の初期位置を基準としたロータ１の機械角を相対的機械角θｍということにする。ただし、この実施形態では、相対的機械角θｍを、回転角演算処理開始時におけるロータ１の初期位置を基準としたロータ１の機械角にロータ１の磁極対数（この例では”５”）を乗算した値で表すことにする。ロータ１の１回転分の角度範囲を、５つの磁極対に対応して５つの区間に分け、各区間の開始位置を０°とし終了位置を３６０°として表したロータ１の角度を、ロータ１の電気角θｅということにする。この場合には、１０個の磁極の角度幅は等しいので、ロータ１の電気角θｅは、ブラシレスモータのロータの電気角と一致する。
【００３０】
ここでは、第１の磁気センサ２１からは、５つの磁極対に対応する区間毎に、Ｖ１＝Ａ１・sinθｅの出力信号が出力されるものとする。この場合、第２の磁気センサ２２からは、５つの磁極対に対応する区間毎に、Ｖ２＝Ａ２・sin（θｅ＋１２０°）の出力信号が出力される。また、第３の磁気センサ２３からは、５つの磁極対に対応する区間毎に、Ｖ３＝Ａ３・sin（θｅ＋２４０°）の出力信号が出力される。Ａ１，Ａ２，Ａ３は、それぞれ振幅を表している。つまり、各磁気センサ２１，２２，２３からは、所定の位相差１２０°（電気角）を有する正弦波信号が出力される。各磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３を、それぞれ第１の出力信号Ｖ１，第２の出力信号Ｖ２および第３の出力信号Ｖ３という場合がある。
【００３１】
３つの磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３の振幅Ａ１，Ａ２，Ａ３が互いに等しい値Ａであるとみなすか、あるいは各振幅が所定の規定値Ａとなるように各信号Ｖ１，Ｖ２，Ｖ３を正規化したとすると、第１、第２および第３の出力信号Ｖ１，Ｖ２，Ｖ３は、Ｖ１＝Ａ・sinθｅ，Ｖ２＝Ａ・sin（θｅ＋１２０°）およびＶ３＝Ａ・sin（θｅ＋２４０°）と表される。さらに、Ａ＝１とすると、第１、第２および第３の出力信号Ｖ１，Ｖ２，Ｖ３は、Ｖ１＝sinθｅ、Ｖ２＝sin（θｅ＋１２０°）およびＶ３＝sin（θｅ＋２４０°）で表される。そこで、説明を簡単にするために、各磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３を、Ｖ１＝sinθｅ、Ｖ２＝sin（θｅ＋１２０°）およびＶ３＝sin（θｅ＋２４０°）で表すことにする。
【００３２】
図１に戻り、各磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３は、回転角演算装置２０に入力される。回転角演算装置２０は、各磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３に基づいて、ロータ１の電気角θｅを演算する。また、回転角演算装置２０は、得られた電気角θｅ等に基づいて、ロータ１の相対的機械角θｍを演算する。回転角演算装置２０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ，書き換え可能な不揮発性メモリ等）を含んでいる。
【００３３】
回転角演算装置２０によって演算された電気角θｅおよび相対的機械角θｍは、モータコントローラ３０に与えられる。モータコントローラ３０は、回転角演算装置２０から与えられる電気角θｅおよび相対的機械角θｍを用いて、ブラシレスモータ１０を制御する。
相対的機械角θｍを演算するためには、出力信号Ｖ１，Ｖ２，Ｖ３のうちの少なくとも１つの出力信号の磁極の移り変わり（磁気センサ２１，２２，２３のうち少なくとも１つの磁気センサが感知している磁極の移り変わり）を検出する必要がある。この回転角演算装置２０の特徴は、任意の磁気センサの出力信号の磁極の移り変わりを検出する場合に、当該磁気センサ以外の２つの磁気センサの出力信号のうちの一方に固着異常が発生したとしても、当該磁気センサの移り変わりを正確に検出できる機能を備えていることにある。また、回転角演算装置２０の特徴は、３つの磁気センサ２１，２２，２３の出力信号のうちの１つの出力信号に固着異常が発生したとしても、相対的機械角θｍを正確に演算できる機能を備えていることにある。
【００３４】
図４は、回転角演算装置２０による回転角演算処理の手順を示すフローチャートである。  
図４に示される回転角演算処理は、所定の演算周期毎に繰り返し行なわれる。
回転角演算処理開始時において第１の磁気センサ２１が感知している磁極を基準磁極として、各磁極に相対的な番号を割り当てた場合の各磁極の番号を相対的極番号と定義する。第１の磁気センサ２１が感知している相対的極番号（以下、「第１の相対的極番号」という）を変数ｐ１で表し、第２の磁気センサ２２が感知している相対的極番号（以下、「第２の相対的極番号」という）を変数ｐ２で表すことにする。この実施形態では、回転角演算処理開始時において第１の磁気センサ２１が感知している磁極（基準磁極）がＮ極の磁極である場合には、当該磁極に”０”の相対的極番号が割り当てられる。一方、回転角演算処理の開始時において第１の磁気センサ２１が感知している磁極（基準磁極）がＳ極の磁極である場合には、当該磁極に”１”の相対的極番号が割り当てられる。
【００３５】
回転角演算処理が開始されると、回転角演算装置２０は、各磁気センサ２１，２２，２３の出力信号（センサ値）Ｖ１，Ｖ２，Ｖ３を読み込む（ステップＳ１）。なお、回転角演算装置２０のメモリ（たとえば、ＲＡＭ）には、所定回数前に読み込まれたセンサ値から最新に読み込まれたセンサ値までの、複数回数分のセンサ値が記憶されるようになっている。
【００３６】
前記ステップＳ１で各センサ値Ｖ１，Ｖ２，Ｖ３が読み込まれると、回転角演算装置２０は、今回の処理が回転角演算処理開始後の初回の処理であるか否かを判別する（ステップＳ２）。今回の処理が回転角演算処理開始後の初回の処理である場合には（ステップＳ２：ＹＥＳ）、回転角演算装置２０は、相対的極番号の設定処理を行う（ステップＳ３）。
【００３７】
図５は、相対的極番号の設定処理の詳細な手順を示している。
回転角演算装置２０は、まず、第１の出力信号Ｖ１が０より大きいか否かを判別する（ステップＳ２１）。第１の出力信号Ｖ１が０より大きい場合には（ステップＳ２１：ＹＥＳ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極（基準磁極）がＮ極の磁極であると判別し、第１の相対的極番号ｐ１を０に設定する（ステップＳ２４）。そして、ステップＳ２６に進む。
【００３８】
一方、第１の出力信号Ｖ１が０以下である場合には（ステップＳ２１：ＮＯ）、回転角演算装置２０は、第１の出力信号Ｖ１が０より小さいか否かを判別する（ステップＳ２２）。第１の出力信号Ｖ１が０より小さい場合には（ステップＳ２２：ＹＥＳ）、第１の磁気センサ２１が感知している磁極（基準磁極）がＳ極の磁極であると判別し、第１の相対的極番号ｐ１を１に設定する（ステップＳ２５）。そして、ステップＳ２６に進む。
【００３９】
前記ステップＳ２２において、第１の出力信号Ｖ１が０以上であると判別された場合には（ステップＳ２２：ＮＯ）、つまり、第１の出力信号Ｖ１が０である場合には、回転角演算装置２０は、ロータ回転角（電気角）が０°であるか１８０°であるかを判別するために、第２の出力信号Ｖ２が０より大きいか否かを判別する（ステップＳ２３）。第２の出力信号Ｖ３が０より大きい場合には（ステップＳ２３：ＹＥＳ）、回転角演算装置２０は、ロータ回転角（電気角）が０°であると判別し、第１の相対的極番号ｐ１を０に設定する（ステップＳ２４）。そして、ステップＳ２６に進む。
【００４０】
一方、第２の出力信号Ｖ２が０以下である場合には（ステップＳ２３：ＮＯ）、回転角演算装置２０は、ロータ回転角（電気角）が１８０°であると判別し、第１の相対的極番号ｐ１を１に設定する（ステップＳ２５）。そして、ステップＳ２６に進む。
なお、前記ステップＳ２３において、回転角演算装置２０は、第３の出力信号Ｖ３が０より小さいか否かを判別するようにしてもよい。この場合には、第３の出力信号Ｖ３が０より小さいときには、回転角演算装置２０は、ステップＳ２４に進んで第１の相対的極番号ｐ１を０に設定する。一方、３の出力信号Ｖ３が０以上である場合には、回転角演算装置２０は、ステップＳ２５に進んで第１の相対的極番号ｐ１を１に設定する。
【００４１】
ステップＳ２６では、回転角演算装置２０は、「Ｖ１≧０かつＶ２≦０」または「Ｖ１＜０かつＶ２≧０」の条件を満たしているか否かを判別する。この条件を満たしている場合には（ステップＳ２６：ＹＥＳ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なると判別し、第２の相対的極番号ｐ２に、第１の相対的極番号ｐ１より１だけ多い番号を設定する（ステップＳ２８）。そして、図４のステップＳ５に戻る。
【００４２】
一方、前記ステップＳ２６の条件を満たしていない場合には（ステップＳ２４：ＮＯ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じであると判別し、第２の相対的極番号ｐ２に第１の相対的極番号ｐ１と同じ番号を設定する（ステップＳ２７）。そして、図４のステップＳ５に戻る。
【００４３】
前記ステップＳ２６の条件を満たしている場合に、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なると判別し、前記ステップＳ２６の条件を満たしていない場合に、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じであると判別している理由について説明する。
【００４４】
たとえば、ロータ１の磁極Ｍ０と磁極Ｍ１とからなる磁極対が第１の磁気センサ２１を通過する際の、第１、第２および第３の磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３の信号波形を模式的に表すと、図６（ａ）（ｂ）（ｃ）に示すようになる。
図６（ａ）（ｂ）において、Ｓ１で示す領域は、第１の磁気センサ２１および第２の磁気センサ２２が共に磁極Ｍ０を感知している領域である。Ｓ２で示す領域は、第１の磁気センサ２１が磁極Ｍ０を感知し、第２の磁気センサ２２が磁極Ｍ１を感知している領域である。Ｓ３で示す領域は、第１の磁気センサ２１および第２の磁気センサ２２が共に磁極Ｍ１を感知している領域である。Ｓ４で示す領域は、第１の磁気センサ２１が磁極Ｍ１を感知し、第２の磁気センサ２２が磁極Ｍ２を感知している領域である。
【００４５】
つまり、領域Ｓ１およびＳ３では、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号と等しくなる。一方、領域Ｓ２およびＳ４では、第２の磁気センサ２２が感知している磁極の極番号は、第１の磁気センサ２１が感知している磁極の極番号より１だけ大きくなる。
領域Ｓ１においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≧０かつＶ２＞０の第１条件を満たす。領域Ｓ２においては、両センサ値Ｖ１，Ｖ２は、Ｖ１≧０かつＶ２≦０の第２条件を満たす。領域Ｓ３においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＜０かつＶ２＜０の第３条件を満たす。領域Ｓ４においては、両センサ値Ｖ１，Ｖ２は、Ｖ１＜０かつＶ２≧０の第４条件を満たす。
【００４６】
そこで、回転角演算装置２０は、前記第２条件（Ｖ１≧０かつＶ２≦０）または前記第４条件（Ｖ１＜０かつＶ２≧０）を満たしている場合には、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なると判別し、前記第２条件または前記第４条件を満たしていない場合に、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じであると判別している。
【００４７】
図４に戻り、前記ステップＳ２において、今回の処理が回転角演算処理開始後の初回の処理ではないと判別された場合には（ステップＳ２：ＮＯ）、ステップＳ４に移行する。ステップＳ４では、回転角演算装置２０は、磁極の移り変わりの検出および相対的極番号の更新処理を行なう。この実施形態では、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極の移り変わりおよび第２の磁気センサ２２が感知している磁極の移り変わりを検出するための処理を行なう。そして、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極の移り変わりを検出したときには、第１の相対的極番号ｐ１を更新する。また、回転角演算装置２０は、第２の磁気センサ２２が感知している磁極の移り変わりを検出したときには、第２の相対的極番号ｐ２を更新する。
【００４８】
図３を参照して、第１の磁気センサ２１が感知している磁極の移り変わりの検出処理および第１の相対的極番号ｐ１の更新処理について説明する。
第１の磁気センサ２１が感知している磁極の移り変わりには、次の４種類がある。
（ａ）ロータ１が正方向に回転している場合に、第１の磁気センサ２１が感知している磁極がＮ極からＳ極に移り変わる場合。たとえば、図３に符号Ｑａで示す楕円内の矢印で示すように、第１の磁気センサ２１が感知している磁極がＭ２からＭ３に移り変わる場合。
（ｂ）ロータ１が正方向に回転している場合に、第１の磁気センサ２１が感知している磁極がＳ極からＮ極の磁極に移り変わる場合。たとえば、図３に符号Ｑｂで示す楕円内の矢印で示すように、第１の磁気センサ２１が感知している磁極がＭ１からＭ２に移り変わる場合。
（ｃ）ロータ１が逆方向に回転している場合に、第１の磁気センサ２１が感知している磁極がＮ極からＳ極に移り変わる場合。たとえば、図３に符号Ｑｃで示す楕円内の矢印で示すように、第１の磁気センサ２１が感知している磁極がＭ６からＭ５に移り変わる場合。
（ｄ）ロータ１が逆方向に回転している場合に、第１の磁気センサ２１が感知している磁極がＳ極からＮ極の磁極に移り変わる場合。たとえば、図３に符号Ｑｄで示す楕円内の矢印で示すように、第１の磁気センサ２１が感知している磁極がＭ７からＭ６に移り変わる場合。
【００４９】
回転角演算装置２０は、前記（ａ）〜（ｄ）の磁極の移り変わりが発生しているか否かを判別し、磁極の移り変わりが発生していると判別した場合には、第１の相対的極番号ｐ１を更新する。
回転角演算装置２０は、前記（ａ）の磁極の移り変わり（図３のＱａ参照）の有無を判定するために、次の第１の判定条件を満たしているか否かを判定する。ただし、ΔＶ２は第２の出力信号Ｖ２の前回値と今回値の差の絶対値を表し、ΔＶ３は第３の出力信号Ｖ３の前回値と今回値の差の絶対値を表している。
【００５０】
第１の判定条件：「ΔＶ２≧ΔＶ３の場合にはＶ２＜０、ΔＶ２＜ΔＶ３の場合にはＶ３＞０」かつ「Ｖ１の前回値＞０」かつ「Ｖ１の今回値≦０」
回転角演算装置２０は、前記第１の判定条件を満たしていると判定した場合には、第１の相対的極番号ｐ１を１だけ大きい値に更新する。
また、回転角演算装置２０は、前記（ｂ）の磁極の移り変わり（図３のＱｂ参照）の有無を判定するために、次の第２の判定条件を満たしているか否かを判定する。
【００５１】
第２の判定条件：「ΔＶ２≧ΔＶ３の場合にはＶ２＞０、ΔＶ２＜ΔＶ３の場合にはＶ３＜０」かつ「Ｖ１の前回値＜０」かつ「Ｖ１の今回値≧０」
回転角演算装置２０は、前記第２の判定条件を満たしていると判定した場合には、第１の相対的極番号ｐ１を１だけ大きい値に更新する。ただし、第１の相対的極番号ｐ１が”９”である場合には、それより１だけ大きい値は”０”となる。
【００５２】
また、回転角演算装置２０は、前記（ｃ）の磁極の移り変わり（図３のＱｃ参照）の有無を判定するために、次の第３の判定条件を満たしているか否かを判定する。
第３の判定条件：「ΔＶ２≧ΔＶ３の場合にはＶ２＞０、ΔＶ２＜ΔＶ３の場合にはＶ３＜０」かつ「Ｖ１の前回値≧０」かつ「Ｖ１の今回値＜０」
回転角演算装置２０は、前記第３の判定条件を満たしていると判定した場合には、第１の相対的極番号ｐ１を１だけ小さい値に更新する。ただし、第１の相対的極番号ｐ１が”０”である場合には、それより１だけ小さい値は”９”となる。
【００５３】
また、回転角演算装置２０は、前記（ｄ）の磁極の移り変わり（図３のＱｄ参照）の有無を判定するために、次の第４の判定条件を満たしているか否かを判定する。
第４の判定条件：「ΔＶ２≧ΔＶ３の場合にはＶ２＜０、ΔＶ２＜ΔＶ３の場合にはＶ３＞０」かつ「Ｖ１の前回値≦０」かつ「Ｖ１の今回値＞０」
回転角演算装置２０は、前記第４の判定条件を満たしていると判定した場合には、第１の相対的極番号ｐ１を１だけ小さい値に更新する。
【００５４】
また、回転角演算装置２０は、第２の磁気センサ２２が感知している磁極の移り変わりが発生したか否かを判別するために、次の４つの条件（第５条件〜第８条件）を満たしているか否かを判別する。ただし、ΔＶ１は、第１の出力信号Ｖ１の前回値と今回値の差の絶対値を表す。
第５の判定条件（回転方向が正方向である場合のＮ極からＳ極への移り変わり）：「ΔＶ１≧ΔＶ３の場合にはＶ１＞０、ΔＶ１＜ΔＶ３の場合にはＶ３＜０」かつ「Ｖ２の前回値＞０」かつ「Ｖ２の今回値≦０」
第６の判定条件（回転方向が正方向である場合のＳ極からＮ極への移り変わり）：「ΔＶ１≧ΔＶ３の場合にはＶ１＜０、ΔＶ１＜ΔＶ３の場合にはＶ３＞０」かつ「Ｖ２の前回値＜０」かつ「Ｖ２の今回値≧０」
第７の判定条件（回転方向が逆方向である場合のＮ極からＳ極への移り変わり）：「ΔＶ１≧ΔＶ３の場合にはＶ１＜０、ΔＶ１＜ΔＶ３の場合にはＶ３＞０」かつ「Ｖ２の前回値≧０」かつ「Ｖ２の今回値＜０」
第８の判定条件（回転方向が逆方向である場合のＳ極からＮ極への移り変わり）：「ΔＶ１≧ΔＶ３の場合にはＶ１＞０、ΔＶ１＜ΔＶ３の場合にはＶ３＜０」かつ「Ｖ２の前回値≦０」かつ「Ｖ２の今回値＞０」
第５の判定条件または第６の判定条件を満たしている場合には、回転角演算装置２０は、第２の相対的極番号ｐ２を１だけ大きい値に更新する。ただし、第２の相対的極番号ｐ２が”９”である場合には、それより１だけ大きい値は”０”となる。一方、第７の判定条件または第８の判定条件を満たしている場合には、回転角演算装置２０は、第２の相対的極番号ｐ２を１だけ小さい値に更新する。ただし、第２の相対的極番号ｐ２が”０”である場合には、それより１だけ小さい値は”９”となる。
【００５５】
この実施形態では、第３の磁気センサ２３が感知している磁極の移り変わりが発生したか否かは判別されていないが、第３の磁気センサ２３が感知している磁極の移り変わりが発生したか否かを判別することも可能である。具体的には、次の４つの条件（第９条件〜第１２条件）を満たしているか否かを判別することにより、第３の磁気センサ２３が感知している磁極の移り変わりを判別できる。
【００５６】
第９の判定条件（回転方向が正方向である場合のＮ極からＳ極への移り変わり）：「ΔＶ１≧ΔＶ２の場合にはＶ１＜０、ΔＶ１＜ΔＶ２の場合にはＶ２＞０」かつ「Ｖ３の前回値＞０」かつ「Ｖ３の今回値≦０」
第１０の判定条件（回転方向が正方向である場合のＳ極からＮ極への移り変わり）：「ΔＶ１≧ΔＶ２の場合にはＶ１＞０、ΔＶ１＜ΔＶ２の場合にはＶ２＜０」かつ「Ｖ３の前回値＜０」かつ「Ｖ３の今回値≧０」
第１１の判定条件（回転方向が逆方向である場合のＮ極からＳ極への移り変わり）：「ΔＶ１≧ΔＶ２の場合にはＶ１＞０、ΔＶ１＜ΔＶ２の場合にはＶ２＜０」かつ「Ｖ３の前回値≧０」かつ「Ｖ３の今回値＜０」
第１２の判定条件（回転方向が逆方向である場合のＳ極からＮ極への移り変わり）：「ΔＶ１≧ΔＶ２の場合にはＶ１＜０、ΔＶ１＜ΔＶ２の場合にはＶ２＞０」かつ「Ｖ３の前回値≦０」かつ「Ｖ３の今回値＞０」
任意の磁気センサが感知している磁極の移り変わりを、前記のような判定条件を用いて検出しているので、当該磁気センサ以外の２つの磁気センサの出力信号のうちの１つの出力信号に固着異常が発生していたとしても、当該磁気センサが感知している磁極の移り変わりを正確に検出することができる。このことについて、第１の磁気センサ２１が感知している磁極の移り変わりを検出する場合を例にとって検証する。図７は、第２の出力信号Ｖ２が固着異常により、０．５の値に固定された場合の各出力信号を示している。
【００５７】
図７に楕円Ｑａ内の矢印で示す磁極の移り変わり（回転方向が正方向である場合のＮ極からＳ極への移り変わり）が、前記第１の判定条件によって検出されるか否かを検証する。第１の判定条件は、「ΔＶ２≧ΔＶ３の場合にはＶ２＜０、ΔＶ２＜ΔＶ３の場合にはＶ３＞０」かつ「Ｖ１の前回値＞０」かつ「Ｖ１の今回値≦０」である。固着異常が発生した第２の出力信号Ｖ２はほとんど変化しないため、ΔＶ２は小さな値となる。したがって、図７に楕円Ｑａ内の矢印で示す磁極の移り変わり時点では、ΔＶ２＜ΔＶ３となる。
【００５８】
この結果、第１の判定条件中の「ΔＶ２≧ΔＶ３の場合にはＶ２＜０、ΔＶ２＜ΔＶ３の場合にはＶ３＞０」という要件は、固着異常が発生した第２の出力信号Ｖ２ではなく第３の出力信号Ｖ３を用いて判定されることになる。図７に楕円Ｑａ内の矢印で示す磁極の移り変わり時点では、Ｖ３＞０となるので、第１の判定条件が満たされることになる。つまり、第２の出力信号Ｖ２に固着異常が発生した場合でも、第１の判定条件に基づいて、回転方向が正方向である場合のＮ極からＳ極への移り変わりを正確に検出することができる。
【００５９】
図７に楕円Ｑｂ内の矢印で示す磁極の移り変わり（回転方向が正方向である場合のＳ極からＮ極への移り変わり）が、前記第２の判定条件によって検出されるか否かを検証する。第２の判定条件は、「ΔＶ２≧ΔＶ３の場合にはＶ２＞０、ΔＶ２＜ΔＶ３の場合にはＶ３＜０」かつ「Ｖ１の前回値＜０」かつ「Ｖ１の今回値≧０」である。ΔＶ２は小さな値となるため、図７に楕円Ｑｂ内の矢印で示す磁極の移り変わり時点では、ΔＶ２＜ΔＶ３となる。
【００６０】
この結果、第２の判定条件中の「ΔＶ２≧ΔＶ３の場合にはＶ２＞０、ΔＶ２＜ΔＶ３の場合にはＶ３＜０」という要件は、固着異常が発生した第２の出力信号Ｖ２ではなく第３の出力信号Ｖ３を用いて判定されることになる。図７に楕円Ｑｂ内の矢印で示す磁極の移り変わり時点では、Ｖ３＜０となるので、第２の判定条件が満たされることになる。つまり、第２の出力信号Ｖ２に固着異常が発生した場合でも、第２の判定条件に基づいて、回転方向が正方向である場合のＳ極からＮ極への移り変わりを正確に検出することができる。
【００６１】
図７に楕円Ｑｃ内の矢印で示す磁極の移り変わり（回転方向が逆方向である場合のＮ極からＳ極への移り変わり）が、前記第３の判定条件によって検出されるか否かを検証する。第３の判定条件は、「ΔＶ２≧ΔＶ３の場合にはＶ２＞０、ΔＶ２＜ΔＶ３の場合にはＶ３＜０」かつ「Ｖ１の前回値≧０」かつ「Ｖ１の今回値＜０」である。ΔＶ２は小さな値となるため、図７に楕円Ｑｃ内の矢印で示す磁極の移り変わり時点では、ΔＶ２＜ΔＶ３となる。
【００６２】
この結果、第３の判定条件中の「ΔＶ２≧ΔＶ３の場合にはＶ２＞０、ΔＶ２＜ΔＶ３の場合にはＶ３＜０」という要件は、固着異常が発生した第２の出力信号Ｖ２ではなく第３の出力信号Ｖ３を用いて判定されることになる。図７に楕円Ｑｃ内の矢印で示す磁極の移り変わり時点では、Ｖ３＜０となるので、第３の判定条件が満たされることになる。つまり、第２の出力信号Ｖ２に固着異常が発生した場合でも、第３の判定条件に基づいて、回転方向が逆方向である場合のＮ極からＳ極への移り変わりを正確に検出することができる。
【００６３】
図７に楕円Ｑｄ内の矢印で示す磁極の移り変わり（回転方向が逆方向である場合のＳ極からＮ極への移り変わり）が、前記第４の判定条件によって検出されるか否かを検証する。第４の判定条件は、「ΔＶ２≧ΔＶ３の場合にはＶ２＜０、ΔＶ２＜ΔＶ３の場合にはＶ３＞０」かつ「Ｖ１の前回値≦０」かつ「Ｖ１の今回値＞０」である。ΔＶ２は小さな値となるため、図７に楕円Ｑｄ内の矢印で示す磁極の移り変わり時点では、ΔＶ２＜ΔＶ３となる。
【００６４】
この結果、第４の判定条件中の「ΔＶ２≧ΔＶ３の場合にはＶ２＜０、ΔＶ２＜ΔＶ３の場合にはＶ３＞０」という要件は、固着異常が発生した第２の出力信号Ｖ２ではなく第３の出力信号Ｖ３を用いて判定されることになる。図７に楕円Ｑｂ内の矢印で示す磁極の移り変わり時点では、Ｖ３＞０となるので、第４の判定条件が満たされることになる。つまり、第２の出力信号Ｖ２に固着異常が発生した場合でも、第４の判定条件に基づいて、回転方向が逆方向である場合のＳ極からＮ極への移り変わりを正確に検出することができる。
【００６５】
第２の出力信号Ｖ２に代わりに、第３の出力信号Ｖ３に固着異常が発生した場合には、第１の磁気センサ２１が感知している磁極の移り変わり時点では、ΔＶ２≧ΔＶ３となり、第２の出力信号Ｖ２の符号が判定されることになる。つまり、固着異常が発生した第３の出力信号Ｖ３は、磁極の移り変わり判定に用いられない。したがって、第３の出力信号Ｖ３に固着異常が発生した場合にも、前記第１〜第４の判定条件を用いて、第１の磁気センサ２１が感知している磁極の移り変わりを正確に検出できる。
【００６６】
なお、第２の磁気センサ２２の出力信号Ｖ２の磁極の移り変わりを判定する場合も、同様に、他の磁気センサ２１，２３の出力信号Ｖ１，Ｖ３のいずれか一方に固着異常が発生したとしても、第２の磁気センサ２２の出力信号Ｖ２の磁極の移り変わりを正確に検出できる。また、第３の磁気センサ２３の出力信号Ｖ３の磁極の移り変わりを判定する場合も、同様に、他の磁気センサ２１，２２の出力信号Ｖ１，Ｖ２のいずれか一方に固着異常が発生したとしても、第３の磁気センサ２３の出力信号Ｖ３の磁極の移り変わりを正確に検出できる。
【００６７】
前記ステップＳ４の処理が終了すると、ステップＳ５に移行する。ステップＳ５では、回転角演算装置２０は、前記ステップＳ１で読み込まれたセンサ値Ｖ１，Ｖ２，Ｖ３に基づいて、電気角θｅを演算する。なお、この際、回転角演算装置２０は、各出力信号Ｖ１，Ｖ２，Ｖ３に固着異常が発生しているか否かの判定を行う。各出力信号Ｖ１，Ｖ２，Ｖ３に固着異常が発生しているか否かの判定は、たとえば、出力信号Ｖ１，Ｖ２，Ｖ３毎に所定回数にわたってセンサ値がほとんど変化しないか否かを調べることによって行うことができる。つまり、回転角演算装置２０は、所定回数にわたってセンサ値がほとんど変化しない場合には、そのセンサ値に対応する出力信号に固着異常が発生していると判定する。
【００６８】
回転角演算装置２０は、第１の出力信号Ｖ１と第２の出力信号Ｖ２とに基づいて、ロータ１の回転角に相当する第１の電気角θｅ１を演算する。また、回転角演算装置２０は、第１の出力信号Ｖ１と第３の出力信号Ｖ３とに基づいて、ロータ１の回転角に相当する第２の電気角θｅ２を演算する。また、回転角演算装置２０は、第２の出力信号Ｖ２と第３の出力信号Ｖ３とに基づいて、ロータ１の回転角に相当する第３の電気角θｅ３を演算する。第１、第２および第３の電気角θｅ１，θｅ２，θｅ３の演算方法については、後述する。
【００６９】
そして、回転角演算装置２０は、全ての出力信号Ｖ１，Ｖ２，Ｖ３が正常であると判定した場合には、たとえば、次式(2)に基づいて、最終的な電気角θｅを演算する。つまり、回転角演算装置２０は、第１、第２および第３の電気角θｅ１，θｅ２，θｅ３の平均値を、最終的な電気角θｅとして演算する。
θｅ＝（θｅ１＋θｅ２＋θｅ３）／３      …(2)
なお、全ての出力信号Ｖ１，Ｖ２，Ｖ３が正常であると判定された場合には、回転角演算装置２０は、第１、第２および第３の電気角θｅ１，θｅ２，θｅ３の中央値を、最終的な電気角θｅとして演算することができる。また、この場合、第１、第２および第３の電気角θｅ１，θｅ２，θｅ３のうち、最も外れているものを除外し、他の２つの平均値を、最終的な電気角θｅとして演算することもできる。さらに、この場合、回転角演算装置２０は、第１，第２および第３の電気角θｅ１，θｅ２，θｅ３のいずれか１つの電気角を、最終的な電気角θｅとして決定してもよい。
【００７０】
また、回転角演算装置２０は、第１の出力信号Ｖ１が異常であり、第２および第３の出力信号Ｖ２，Ｖ３が正常であると判定した場合には、第２および第３の出力信号Ｖ２，Ｖ３に基づいて演算された第３の電気角θｅ３を、最終的な電気角θｅとして決定する。
また、回転角演算装置２０は、第２の出力信号Ｖ２が異常であり、第１および第３の出力信号Ｖ１，Ｖ３が正常であると判定した場合には、第１および第３の出力信号Ｖ１，Ｖ３に基づいて演算された第２の電気角θｅ２を、最終的な回転角θｅとして決定する。
【００７１】
また、回転角演算装置２０は、第３の出力信号Ｖ３が異常であり、第１および第２の出力信号Ｖ１，Ｖ２が正常であると判定した場合には、第１および第２の出力信号Ｖ１，Ｖ２に基づいて演算された第１の電気角θｅ１を、最終的な電気角θｅとして決定する。
なお、３つの出力信号Ｖ１，Ｖ２，Ｖ３のうちの２以上の出力信号が異常であると判定した場合には、電気角θｅを演算できないので、回転角演算装置２０は、モータコントローラ３０にモータ停止指令を出力するとともに、回転角演算処理を停止する。  
【００７２】
第１の電気角θｅ１の演算方法について説明する。回転角演算装置２０は、まず、第１の出力信号Ｖ１（＝sinθｅ）と第２の出力信号Ｖ２（＝sin（θｅ＋１２０°））とから、第１の出力信号Ｖ１に対する位相差が９０°となる信号Ｖ１２（＝sin（θｅ＋９０°）＝cosθｅ）を演算する。より具体的には、回転角演算装置２０は、次式(3)に基づいて、信号Ｖ１２を演算する。
【００７３】
【数１】
0005716954.tif 000002
【００７４】
前記式（3）は、sin（θｅ＋１２０°）を三角関数の加法定理により展開した式に基づいて、導出することができる。そして、回転角演算装置２０は、前記信号Ｖ１２（＝cosθｅ）と第１の出力信号Ｖ１（＝sinθｅ）とを用い、次式(4)に基づいて、第１の電気角θｅ１を演算する。
【００７５】
【数２】
0005716954.tif 000003
【００７６】
第２の電気角θｅ２の演算方法について説明する。回転角演算装置２０は、まず、第１の出力信号Ｖ１（＝sinθｅ）と第３の出力信号Ｖ３（＝sin（θｅ＋２４０°））とから、第１の出力信号Ｖ１に対する位相差が９０°となる信号Ｖ１３（＝sin（θｅ＋９０°）＝cosθｅ）を生成する。より具体的には、回転角演算装置２０は、次式(5)に基づいて、信号Ｖ１３を生成する。
【００７７】
【数３】
0005716954.tif 000004
【００７８】
前記式（5)は、前記式（3）と同様に、sin（θｅ＋２４０°）を三角関数の加法定理により展開した式に基づいて、導出することができる。そして、回転角演算装置２０は、前記信号Ｖ１３（＝cosθｅ）と第１の出力信号Ｖ１（＝sinθｅ）とを用い、次式(6)に基づいて、第２の電気角θｅ２を演算する。
【００７９】
【数４】
0005716954.tif 000005
【００８０】
第３の電気角θｅ３の演算方法について説明する。回転角演算装置２０は、まず、第２の出力信号Ｖ２と第３の出力信号Ｖ３とに基づいて、ロータ１の回転角（電気角）θｅに対して１２０°だけ進んだ電気角θｅ３’（＝θｅ＋１２０°）を演算する。そして、得られた回転角θｅ３’から１２０°を減算することにより、第３の電気角θｅ３を演算する。
【００８１】
回転角演算装置２０は、第２の出力信号Ｖ２（＝sin（θｅ＋１２０°））と第３の出力信号Ｖ３（＝sin（θｅ＋２４０°））とから、第２の出力信号Ｖ２に対する位相差が９０°となる信号Ｖ２３（＝sin（θｅ＋１２０°＋９０°））を生成する。
θｅ’＝θｅ＋１２０°として、出力信号Ｖ２を正弦波信号sinθｅ’で表し、出力信号Ｖ３を、この正弦波信号sinθｅ’に対して位相差が１２０°進んだ正弦波信号sin（θ’＋１２０°）で表すと、前記第１の電気角θｅ１の演算方法と同様に、正弦波信号sinθｅ’に対して位相差が９０°となる信号Ｖ２３（＝sin（θｅ’＋９０°）＝cosθｅ’）を求めることができる。
【００８２】
具体的には、回転角演算装置２０は、次式(7)に基づいて、信号Ｖ２３を生成する。
【００８３】
【数５】
0005716954.tif 000006
【００８４】
次に、回転角演算装置２０は、前記信号Ｖ２３（＝cosθｅ’）と第２の出力信号Ｖ２（＝sinθｅ’＝sin（θｅ＋１２０°））とを用い、次式(8)に基づいて、回転角θｅ３’を演算する。
【００８５】
【数６】
0005716954.tif 000007
【００８６】
そして、回転角演算装置２０は、次式(9)に基づいて、第３の電気角θｅ３を演算する。
θｅ３＝θｅ３’−１２０°      …(9)
前記ステップＳ５で電気角θｅが演算されると、回転角演算装置２０は、第１の出力信号Ｖ１が異常（固着異常）であると判定されたか否かを判別する（ステップＳ６）。第１の出力信号Ｖ１が異常であると判定されていない場合には（ステップＳ６：ＮＯ）、回転角演算装置２０は、第１の相対的極番号ｐ１の値を、相対的機械角θｍの演算に用いられる機械角演算用極番号ｐとして設定する（ステップＳ７）。機械角演算用極番号ｐは、第１の磁気センサ２１が感知している磁極の相対的極番号を表すものである。第１の出力信号Ｖ１が正常である場合には、第１の相対的極番号ｐ１は第１の磁気センサ１が感知している磁極の相対的極番号を正しく表していると考えられるので、第１の相対的極番号ｐの値が機械角演算用極番号ｐとして設定される。そして、ステップＳ１１に移行する。
【００８７】
一方、第１の出力信号Ｖ１が異常であると判定されている場合には（ステップＳ６：ＹＥＳ）、第１の相対的極番号ｐ１は信頼できないので、回転角演算装置２０は、機械角演算用極番号ｐを第２の相対的極番号ｐ２に基づいて演算する。具体的には、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極と、第２の磁気センサ２２が感知している磁極とが同じであるか異なるかを判定する（ステップＳ８）。より具体的には、前記ステップＳ５で演算された電気角θｅが、６０°＜θｅ≦１８０°または２４０°≦θｅ＜３６０°の範囲内であるか否かを判定する。図６（ａ）（ｂ）において、領域Ｓ１および領域Ｓ３では、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じである。一方、領域Ｓ２および領域Ｓ４では、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なる。
【００８８】
領域Ｓ２は、電気角θｅが６０°＜θｅ≦１８０°の範囲にある領域であり、領域Ｓ４は、電気角θｅが２４０°≦θｅ＜３６０°の範囲にある領域である。したがって、電気角θｅが、６０°＜θｅ≦１８０°または２４０°≦θｅ＜３６０°の範囲内である場合には（ステップＳ８：ＹＥＳ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが異なると判定する。そこで、この場合には、回転角演算装置２０は、第２の相対的番号ｐ２より１だけ小さい値を機械角演算用極番号ｐとして設定する（ステップＳ９）。そして、ステップＳ１１に移行する。
【００８９】
一方、前記ステップＳ８において、電気角θｅが、６０°＜θｅ≦１８０°の範囲内でなく、かつ２４０°≦θｅ＜３６０°の範囲内でもないと判別された場合には（ステップＳ８：ＮＯ）、回転角演算装置２０は、第１の磁気センサ２１が感知している磁極と第２の磁気センサ２２が感知している磁極とが同じであると判定する。したがって、この場合には、回転角演算装置２０は、第２の相対的番号ｐ２の値を機械角演算用極番号ｐとして設定する（ステップＳ１０）。そして、ステップＳ１１に移行する。
【００９０】
ステップＳ１１では、回転角演算装置２０は、前記ステップＳ５で演算された電気角θｅと機械角演算用極番号ｐとを用い、次式(10)に基づいて、相対的機械角θｍを演算する。そして、前記ステップＳ５で演算された電気角θｅと、ステップＳ１１で演算された、相対的機械角θｍとをモータコントローラ３０に与える。
θｍ＝θｅ＋ｎ×３６０°                …(10)
ただし、ｐ＝０または１の場合、ｎ＝０、
ｐ＝２または３の場合、ｎ＝１、
ｐ＝４または５の場合、ｎ＝２、
ｐ＝６または７の場合、ｎ＝３、
ｐ＝８または９の場合、ｎ＝４である。
【００９１】
ステップＳ１１の処理が終了すると、今演算周期での処理を終了する。
前記実施形態によれば、回転角演算装置２０は、所定の演算周期毎に、電気角θｅと相対的機械角θｍとを演算して、モータコントローラ３０に与えることができる。３つの磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３のうちの１つに固着異常が発生したとしても、回転角演算装置２０は、正確な電気角θｅを演算することができる。また、３つの磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３の１つに固着異常が発生したとしても、回転角演算装置２０は、３つの磁気センサ２１，２２，２３のうちの少なくとも１つの磁気センサが感知している磁極の移り変わりを正確に検出することができる。これにより、正確な相対的機械角θｍを演算することができる。
【００９２】
以上、この発明の第１〜第３の実施形態について説明したが、この発明はさらに他の形態で実施することもできる。たとえば、前述の実施形態では、各磁気センサ２１，２２，２３の出力信号Ｖ１，Ｖ２，Ｖ３の位相差は電気角で１２０°であるが、各出力信号のゼロクロス付近での他の２つの出力信号の変化率が比較的大きくなるような位相差であれば、１２０°以外の角度であってもよい。具体的には、出力信号Ｖ１，Ｖ２，Ｖ３の位相差は、電気角で２０°〜３５°の範囲内、５５°〜７０°の範囲内、１１０°〜１２５°の範囲内または１４５°〜１６０°の範囲内の角度であってもよい。
【００９３】
また、前記実施形態では、ロータ１には、５組の磁極対が設けられているが、５組より少ない数または多い数の磁極対が設けられていてもよい。
また、前記実施形態では、第１の磁気センサ２１が感知している相対的極番号ｐ１と、第２の磁気センサ２２が感知している相対的極番号ｐ２とが設定されるとともに、更新されているが、第１の磁気センサ２１が感知している相対的極番号ｐ１と、第３の磁気センサ２３が感知している相対的極番号ｐ３とを設定するとともに、更新するようにしてもよい。さらに、第１の磁気センサ２１が感知している相対的極番号ｐ１と、第２の磁気センサ２２が感知している相対的極番号ｐ２と、第３の磁気センサ２３が感知している相対的極番号ｐ３とを設定するとともに更新するようにしてもよい。
【００９４】
また、磁極の移り変わりの判別対象であるセンサ信号が故障した瞬間、たとえば、センサ信号が０より小さいときに、＋１に固着するような故障が発生したときには、そのセンサ信号の前回値と今回値との差の絶対値は異常に大きくなる。この異常状態を考慮せずに、互いの差の絶対値が異常に大きい前回値および今回値を使用して、前記磁極の移り変わり判定を行うと、誤判定を生じるおそれがある。そこで、磁極の移り変わりの判定対象であるセンサ信号の前回値と今回値との差の絶対値を所定のしきい値と比較し、前記差の絶対値が前記所定のしきい値より大きい場合には、当該信号に異常が発生していると判別し、その信号を磁極の移り変わり判定に使用しないようにしてもよい。
【００９５】
また、この発明は、ブラシレスモータのロータ以外の回転体の回転角を検出する場合にも、適用することができる。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００９６】
１…検出用ロータ、２１，２２，２３…磁気センサ、１０…ブラシレスモータ、２０…回転角演算装置、Ｍ０〜Ｍ９…磁極
【図１】
0005716954.tif 000008
【図２】
0005716954.tif 000009
【図３】
0005716954.tif 000010
【図４】
0005716954.tif 000011
【図５】
0005716954.tif 000012
【図６】
0005716954.tif 000013
【図７】
0005716954.tif 000014
【図８】
0005716954.tif 000015
【図９】
0005716954.tif 000016
【図１０】
0005716954.tif 000017