(57)【要約】【課題】２つのセンサを持つ回転角検出装置において、正確な回転角を検出する。【解決手段】第１の磁気センサ１１からは、Ｖ１＝sinθの出力信号が出力され、第２の磁気センサ１２からは、Ｖ２＝cos（θ＋α）の出力信号が出力される。回転角演算装置２０の出力信号補正部２２は、磁気センサ１１，１２の配置位相差（９０°＋α）が目標位相差９０°となるよう一方の磁気センサ１２の出力信号Ｖ２を出力信号Ｖ２’（＝cosθ）に補正する。回転角演算部２３は、補正された信号Ｖ２’（＝cosθ）と、他方の出力信号Ｖ１（＝sinθ）とに基づいて、ロータ１の回転角θを演算する。【選択図】図１
2011069806.tif 000002
【特許請求の範囲】
【請求項１】
回転体の回転角を検出する回転角検出装置において、
前記回転体の周囲である第１の位置に配置され、第１の正弦波信号を前記回転体の回転に応じて出力する、第１のセンサと、
前記第１の位置とは角度間隔を持って前記回転体の周囲である第２の位置に配置され、前記第１の正弦波信号とは前記角度間隔に対応する配置位相差を有する第２の正弦波信号を前記回転体の回転に応じて出力する、第２のセンサと、
前記第１の正弦波信号と前記第２の正弦波信号とに基づき前記回転角を演算する、回転角演算装置と、
を備えた回転角検出装置であって、
前記回転角演算装置は、
前記第１の正弦波信号及び前記第２の正弦波信号のうちの一方の正弦波信号を、それらの信号間の位相差である前記配置位相差が、目標位相差となるように補正する、信号補正部と、
前記信号補正部によって補正された一方の正弦波信号と、他方の正弦波信号とに基づいて前記回転角を演算する、回転角演算部と、
を含む回転角検出装置。
【請求項２】
前記配置位相差と前記目標位相差との差は、前記第１のセンサと前記第２のセンサとの相対的な配置誤差に起因して発生する、前記二つの正弦波信号間の位相差誤差であり、
前記回転角演算装置は、前記位相差誤差を演算する位相差誤差演算部を更に含み、
前記信号補正部は、前記位相差誤差に基づいて、前記一方の正弦波信号を補正する、請求項１に記載の回転角検出装置。
【請求項３】
前記目標位相差は、前記配置位相差とは異なる、請求項１に記載の回転角検出装置。
【請求項４】
前記配置位相差には、前記第１のセンサと前記第２のセンサとの相対的な配置誤差に起因して発生する、前記二つの正弦波信号間の位相差誤差が重畳されており、
前記回転角演算装置は、前記位相差誤差を演算する位相差誤差演算部を更に含み、
前記信号補正部は、前記配置位相差及び前記位相差誤差に基づいて、前記一方の正弦波信号を補正する、請求項３に記載の回転角検出装置。
【請求項５】
前記配置位相差は、前記目標位相差より小さい、請求項３または４に記載の回転角検出装置。
【請求項６】
前記回転角演算装置は、
前記信号補正部によって補正された一方の正弦波信号と、前記第２の正弦波信号とに基づいて、前記第１の正弦波信号が異常であるか否かを判定する第１の信号異常判定部と、
前記信号補正部によって補正された一方の正弦波信号と、前記第１の正弦波信号とに基づいて、前記第２の正弦波信号が異常であるか否かを判定する第２の信号異常判定部と、
を更に含む、請求項１，３，４または５に記載の回転角検出装置。
【請求項７】
前記目標位相差は９０度である、請求項１〜６のいずれか一項に記載の回転角検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回転体の回転角を検出する回転角検出装置に関する。
【背景技術】
【０００２】
電動パワーステアリング装置などに使用されるブラシレスモータは、ロータの回転角度に合わせてステータ巻線に電流を通電することによって制御される。そこで、例えば、図１３に示す回転角検出装置が知られている。回転角検出装置は、２つの磁極を有する磁石を含むロータ１と、ロータ１の回転中心軸を中心として９０°の角度間隔をおいて配置された２つの磁気センサ１１，１２とを持つ。各磁気センサ１１，１２は、互いに９０°の位相差を有する正弦波信号を出力し、これらの２つの正弦波信号に基づいてロータ１の回転角が検出される。両磁気センサ１１，１２は、図１３に鎖線で示す基板２上に実装されている。
【０００３】
図１３に矢印で示す方向をロータ１の正方向の回転方向とする。そして、ロータ１が正方向に回転されるとロータ１の回転角が大きくなり、ロータ１が逆方向に回転されると、ロータ１の回転角が小さくなるものとする。ロータ１の回転角をθとすると、一方の磁気センサ１１の出力信号Ｖ１は、Ｖ１＝Ａ１・sinθと表され、他方の磁気センサ１２の出力信号Ｖ２は、Ｖ２＝Ａ２・sin（θ＋π／２）＝Ａ２・cosθと表される。Ａ１，Ａ２は、それぞれ振幅を表している。
【０００４】
これらの振幅Ａ１，Ａ２が互いに等しい値Ａであるとみなすか、あるいは両振幅が所定の規定値Ａとなるように両信号Ｖ１，Ｖ２を正規化したとすると、一方の出力信号Ｖ１はＶ１＝Ａ・sinθと表され、他方の出力信号Ｖ２はＶ２＝Ａ・cosθと表される。さらに、Ａ＝１とすると、一方の出力信号Ｖ１はＶ１＝sinθで表され、他方の出力信号Ｖ２はＶ２＝cosθで表される。そこで、説明を簡単にするために、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２を、Ｖ１＝sinθ、Ｖ２＝cosθで表すことにする。
【０００５】
ロータの回転角θは、両出力信号Ｖ１，Ｖ２を用いて、たとえば、次式（１）に基づいて求めることができる。
θ＝tan−１（sinθ／cosθ）
＝tan−１（Ｖ１／Ｖ２）…（１）
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特表平9-508214号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したような従来の回転角検出装置において、２つの磁気センサ１１，１２を、ロータ１の回転中心軸を中心として、９０°の角度間隔をおいて正確に配置することができれば、図１４（ａ）に示すように、各磁気センサ１１，１２から、互いに９０°の位相差を有する正弦波信号を出力させることができる。この場合には、図１４（ｂ）に示すように、回転角検出装置によって検出されるロータの回転角に角度誤差は発生しない。
【０００８】
しかし、各磁気センサ１１，１２の基板２への取り付け誤差や、基板２の組み付け誤差等により、両磁気センサ１１，１２間の角度間隔が９０°からずれると、たとえば、図１５（ａ）に示すように、両磁気センサ１１，１２の出力信号間の位相差も９０°からずれてしまい、図１５（ｂ）に示すように、回転角検出装置によって検出されるロータの回転角に角度誤差が発生する。
【０００９】
そこで、この発明の目的は、２つのセンサの出力信号間に両センサの相対的な配置誤差に起因した位相差誤差が存在する場合においても、正確な回転角を検出することができる回転角検出装置を提供することである。
また、この発明の目的は、２つのセンサの相対的な配置を任意に決定することが可能となる回転角検出装置を提供することである。
【００１０】
また、この発明の目的は、２つのセンサのうちのいずれかが故障した場合に、そのことを検知することができる回転角検出装置を提供することである。
【課題を解決するための手段】
【００１１】
請求項１記載の発明は、回転体の回転角を検出する回転角検出装置において、前記回転体の周囲である第１の位置に配置され、第１の正弦波信号を前記回転体の回転に応じて出力する、第１のセンサと、前記第１の位置とは角度間隔を持って前記回転体の周囲である第２の位置に配置され、前記第１の正弦波信号とは前記角度間隔に対応する配置位相差を有する第２の正弦波信号を前記回転体の回転に応じて出力する、第２のセンサと、前記第１の正弦波信号と前記第２の正弦波信号とに基づき前記回転角を演算する、回転角演算装置とを備えた回転角検出装置であって、前記回転角演算装置は、前記第１の正弦波信号及び前記第２の正弦波信号のうちの一方の正弦波信号を、それらの信号間の位相差である前記配置位相差が、目標位相差となるように補正する、信号補正部と、前記信号補正部によって補正された一方の正弦波信号と、他方の正弦波信号とに基づいて前記回転角を演算する、回転角演算部と、を含む回転角検出装置である。
【００１２】
請求項１記載の発明では、第１の正弦波信号及び第２の正弦波信号のうちの一方の正弦波信号が、それらの信号間の位相差である配置位相差が、目標位相差となるように補正される。そして、補正された一方の正弦波信号と、他方の正弦波信号とに基づいて回転角が演算される。したがって、２つの正弦波信号の配置位相差にかかわらず、それらの信号のうちの一方の正弦波信号を、それらの信号間の位相差が目標位相差となるように、補正することができる。この目標位相差は、たとえば、回転体の回転角を演算するのに適した位相差に設定することができるので、正確な回転角を検出できるようになる。
【００１３】
請求項２記載の発明は、前記配置位相差と前記目標位相差との差は、前記第１のセンサと前記第２のセンサとの相対的な配置誤差に起因して発生する、前記二つの正弦波信号間の位相差誤差であり、前記回転角演算装置は、前記位相差誤差を演算する位相差誤差演算部を更に含み、前記信号補正部は、前記位相差誤差に基づいて、前記一方の正弦波信号を補正する、請求項１に記載の回転角検出装置である。
【００１４】
請求項２記載の発明では、二つの正弦波信号間の位相差誤差が演算される。演算された位相差誤差に基づいて、第１の正弦波信号及び第２の正弦波信号のうちの一方の正弦波信号が、それらの信号間の位相差である配置位相差が、目標位相差となるように補正される。そして、補正された一方の正弦波信号と、他方の正弦波信号とに基づいて回転角が演算される。したがって、２つのセンサから出力される正弦波信号間に両センサの相対的な配置誤差に起因した位相差誤差が存在する場合でも、正確な回転角を検出することができるようになる。
【００１５】
請求項３記載の発明は、前記目標位相差は、前記配置位相差とは異なる、請求項１に記載の回転角検出装置である。請求項３記載の発明では、２つの正弦波信号の配置位相差にかかわらず、それらの信号のうちの一方の正弦波信号を、それらの信号間の位相差が配置位相差とは異なる目標位相差となるように、補正することができる。この目標位相差は、たとえば、回転体の回転角を演算するのに適した位相差（たとえば、９０°）に設定することができるので、２つの正弦波信号の配置位相差にかかわらず、回転体の回転角を演算することが可能となる。したがって、２つのセンサの相対的な配置を任意に決定することが可能となる。
【００１６】
請求項４記載の発明は、前記配置位相差には、前記第１のセンサと前記第２のセンサとの相対的な配置誤差に起因して発生する、前記二つの正弦波信号間の位相差誤差が重畳されており、前記回転角演算装置は、前記位相差誤差を演算する位相差誤差演算部を更に含み、前記信号補正部は、前記配置位相差及び前記位相差誤差に基づいて、前記一方の正弦波信号を補正する、請求項３に記載の回転角検出装置である。
【００１７】
請求項４記載の発明では、第１のセンサと第２のセンサとの相対的な配置誤差に起因して発生する、二つの正弦波信号間の位相差誤差が重畳されている場合においても、２つの正弦波信号のうちの一方の正弦波信号を、それらの信号間の位相差が配置位相差とは異なる目標位相差となるように、補正することができる。
請求項５記載の発明は、前記配置位相差は、前記目標位相差より小さい、請求項３または４に記載の回転角検出装置である。請求項５記載の発明によれば、２つのセンサを実装するための基板を小さくすることが可能となる。たとえば、目標位相差が９０°である場合には、配置位相差を９０°より小さくできる。この場合には、２つのセンサ間の角度間隔を９０°より小さい角度間隔にできるので、２つのセンサ間の角度間隔が９０°である場合に比べて、２つのセンサを実装するための基板を小さくできる。
【００１８】
請求項６記載の発明は、前記回転角演算装置は、前記信号補正部によって補正された一方の正弦波信号と、前記第２の正弦波信号とに基づいて、前記第１の正弦波信号が異常であるか否かを判定する第１の信号異常判定部と、前記信号補正部によって補正された一方の正弦波信号と、前記第１の正弦波信号とに基づいて、前記第２の正弦波信号が異常であるか否かを判定する第２の信号異常判定部とを更に含む、請求項１〜５のいずれか一項に記載の回転角検出装置である。
【００１９】
請求項６記載の発明では、第１のセンサに故障が発生した場合には、第１の信号異常判定部によって、第１の正弦波信号が異常であると判定されるから、第１のセンサの故障を検知することができる。また、第２のセンサに故障が発生した場合には、第２の信号異常判定部によって、第２の正弦波号が異常であると判定されるから、第２のセンサの故障を検知することができる。
【図面の簡単な説明】
【００２０】
【図１】この発明の第１の実施形態に係る回転角検出装置の構成を示す模式図である。
【図２】回転角演算装置の詳細な構成を示す機能ブロック図である。
【図３】位相差誤差演算部による位相差誤差の演算方法を説明するための説明図である。
【図４】回転角演算装置による回転角演算処理の手順を示すフローチャートである。
【図５】この発明の第２の実施形態に係る回転角検出装置の構成を示す模式図である。
【図６】回転角演算装置による回転角演算処理の手順を示すフローチャートである。
【図７】この発明の第２の実施形態に係る回転角検出装置の構成を示す模式図である。
【図８】第１のＶ１異常監視部の動作例を示すフローチャートである。
【図９】第１のＶ２異常監視部の動作例を示すフローチャートである。
【図１０】第２のＶ１異常監視部の動作例を示すフローチャートである。
【図１１】第２のＶ２異常監視部の動作例を示すフローチャートである。
【図１２】各異常監視部の動作を説明するための説明図である。
【図１３】従来の回転角検出装置による回転角検出方法を説明するための模式図である。
【図１４】２つのセンサ間の角度間隔が９０°の場合の各センサの出力信号と、従来の回転角検出装置によって検出される回転角の角度誤差とを示す模式図である。
【図１５】２つのセンサ間の角度間隔が９０°からずれている場合の各センサの出力信号と、従来の回転角検出装置によって検出される回転角の角度誤差とを示す模式図である。
【発明を実施するための形態】
【００２１】
以下では、この発明をブラシレスモータのロータの回転角を検出するための回転角検出装置に適用した場合の実施形態について、添付図面を参照して詳細に説明する。
図１は、この発明の第1の実施形態に係る回転角検出装置の構成を示す模式図である。
この回転角検出装置は、たとえば、電動パワーステアリングのブラシレスモータのロータの回転角を検出するために用いることができる。回転角検出装置は、たとえば、ブラシレスモータの回転に応じて回転する検出用ロータ１を有している。ロータ１は、複数の磁極対を有する円筒状の磁石を含んでいる。この例では、磁石は、１対の磁極対を有している。つまり、磁石は、等間隔に配置された２つの磁極Ｎ，Ｓを有している。
【００２２】
ロータ１の周囲には、第１の磁気センサ１１及び第２の磁気センサ１２が、ロータ１の周方向に間隔をおいてそれぞれ第１の位置及び第２の位置に配置されている。磁気センサとしては、たとえば、ホール素子、磁気抵抗素子（ＭＲ素子）等、磁界の作用により電気的特性が変化する特性を有する素子を備えたものを用いることができる。
両磁気センサ１１，１２は、ロータ１の回転中心軸を中心として、予め設定された所定の位相差（以下、「目標位相差」という）に対応する角度間隔をおいて配置されることが好ましい。この実施形態では、目標位相差は９０°に設定されている。しかし、実際には、製造誤差等により、両磁気センサ１１，１２間の角度間隔は、目標位相差に対応する角度間隔とならない場合がある。この実施形態では、両磁気センサ１１，１２間の実際の角度間隔が、製造誤差等により、目標位相差に対応した９０°ではなく、（９０°＋α）となっているものとする。αは、目標位相差に対する位相差誤差である。両磁気センサ１１，１２間の実際の角度間隔に対応した位相差（この例では、（９０°＋α））を、配置位相差ということにする。各位相差は、電気角である。
【００２３】
図１に矢印で示す方向をロータ１の正方向の回転方向とする。そして、ロータ１が正方向に回転されるとロータ１の回転角が大きくなり、ロータ１が逆方向に回転されると、ロータ１の回転角が小さくなるものとする。ロータ１の回転角をθとすると、第１の磁気センサ１１の出力信号Ｖ１は、Ｖ１＝Ａ１・sinθと表され、第２の磁気センサ１２の出力信号Ｖ２は、Ｖ２＝Ａ２・sin（θ＋９０°＋α）＝Ａ２・cos（θ＋α）と表される。Ａ１，Ａ２は、それぞれ振幅を表している。
【００２４】
これらの振幅Ａ１，Ａ２が互いに等しい値Ａであるとみなすか、あるいは両振幅が所定の規定値Ａとなるように両信号Ｖ１，Ｖ２を正規化したとすると、両信号Ｖ１，Ｖ２は、それぞれ、Ａ・sinθおよびＡ・cos（θ＋α）と表される。ここで、Ａ＝１とすると、両信号Ｖ１，Ｖ２は、それぞれ、sinθおよびcos（θ＋α）と表される。そこで、以下の説明においては、説明を簡単にするために、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２を、それぞれＶ１＝sinθ，Ｖ２＝cos（θ＋α）と表すことにする。
【００２５】
各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２は、回転角演算装置２０に入力される。回転角演算装置２０は、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、ロータ１の回転角θを演算する。回転角演算装置２０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ等）を含んでいる。回転角演算装置２０は、ＲＯＭに格納された所定のプログラムをＣＰＵが実行することにより、複数の機能処理部として機能する。この複数の機能処理部は、位相差誤差演算部（位相差誤差演算手段）２１、出力信号補正部（信号補正手段）２２および回転角演算部（回転角演算手段）２３を含む。
【００２６】
位相差誤差演算部２１は、両磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、位相差誤差αを演算する。位相差誤差演算部２１は、ブラシレスモータの駆動制御を行なう前に、位相差誤差αを予め演算して、メモリに格納しておく。たとえば、位相差誤差演算部２１は、この回転角検出装置が備え付けられた製品が出荷される前に、位相差誤差αを演算して、メモリに格納する。なお、この回転角検出装置が備え付けられた製品が出荷された後において、一定期間毎または所定の指令に基づいて、位相差誤差演算部２１が位相差誤差αの再演算を行ない、メモリ内の位相差誤差αを更新させるようにしてもよい。
【００２７】
出力信号補正部２２は、ブラシレスモータの駆動制御が行なわれる際に、位相差誤差演算部２１によって演算されてメモリに格納されている位相差誤差αに基づいて、一方の磁気センサ１２の出力信号Ｖ２を補正することにより、位相差誤差αが補正された信号Ｖ２’を求める。ここで、位相差誤差αが補正された信号Ｖ２’とは、出力信号Ｖ１に対する位相差が目標位相差（この例では９０°）となる信号（cosθ）である。回転角演算部２３は、出力信号補正部２２によって位相差誤差αが補正された信号Ｖ２’（＝cosθ）と、他方の出力信号Ｖ１（＝sinθ）とに基づいて、ロータ１の回転角θを演算する。
【００２８】
図２は、回転角演算装置２０のさらに詳細な構成を示す機能ブロック図である。
位相差誤差演算部２１は、信号和演算部３１と、第１の振幅演算部３２と、信号差演算部３３と、第２の振幅演算部３４と、振幅差演算部３５と、誤差演算部３６と、メモリ３７とを含んでいる。
信号和演算部３１は、２つの磁気センサ１１，１２の出力信号Ｖ１，Ｖ２の和を演算する。出力信号Ｖ１，Ｖ２の和に相当する信号（以下、「和信号」という）は、次式(2)で表される。
【００２９】
【数１】
2011069806.tif 000003
【００３０】
したがって、この和信号の振幅Ｂ１は、次式 (3)で表される。
【００３１】
【数２】
2011069806.tif 000004
【００３２】
第１の振幅演算部３２は、信号和演算部３１の演算結果に基づいて、前記和信号の振幅Ｂ１を求める。具体的には、たとえば、ロータ１を回転させながら、信号和演算部３１によって信号和（Ｖ１＋Ｖ２）を演算させることにより、ロータ１の複数の任意の回転角それぞれに対応する信号和を取得する。このようにして取得された複数の回転角に対応する信号和から、和信号の極大値および極小値を抽出し、抽出した極大値および極小値に基づいて和信号の振幅Ｂ１を求める。たとえば、抽出された極大値の平均から抽出された極小値の平均を減算した値の１／２を振幅Ｂ１として求めることができる。
【００３３】
信号差演算部３３は、２つの磁気センサ１１，１２の出力信号Ｖ１，Ｖ２の差（Ｖ１−Ｖ２）を演算する。出力信号Ｖ１，Ｖ２の差に相当する信号（以下、「差信号」という）は、次式(4)で表される。
【００３４】
【数３】
2011069806.tif 000005
【００３５】
したがって、この差信号の振幅Ｂ２は、次式 (5)で表される。
【００３６】
【数４】
2011069806.tif 000006
【００３７】
第２の振幅演算部３４は、信号差演算部３３の演算結果に基づいて、前記差信号の振幅Ｂ２を求める。具体的には、たとえば、ロータ１を回転させながら、信号差演算部３３によって信号差（Ｖ１−Ｖ２）を演算させることにより、ロータ１の複数の任意の回転角それぞれに対応する信号差を取得する。このようにして取得された複数の回転角に対応する信号差から、差信号の極大値および極小値を抽出し、抽出した極大値および極小値に基づいて差信号の振幅Ｂ２を求める。たとえば、抽出された極大値の平均から抽出された極小値の平均を減算した値の１／２を振幅Ｂ２として求めることができる。
【００３８】
振幅差演算部３５は、第1の振幅演算部３２によって演算された振幅Ｂ１と、第２の振幅演算部３４によって演算された振幅Ｂ２との差ΔＢ（＝Ｂ２−Ｂ１）を演算する。なお、振幅差ΔＢは、前記式(3),(5)を用いて演算すると、次式(6)で表される。
【００３９】
【数５】
2011069806.tif 000007
【００４０】
誤差演算部３６は、振幅差演算部３５によって演算された振幅差ΔＢに基づいて、位相差誤差αを演算する。前記式(6)で表されているように、振幅差ΔＢは、αの関数（２√２・sin（α／２））となる。この関数をグラフで表すと、図３に示すようなサインカーブとなる。ただし、図３の横軸は、αではなく、α／２である。この関数は、αの絶対値が小さい範囲では、ほぼ直線とみなすことができる。この実施形態では、αが、−π／６≦α≦π／６の範囲内である場合には、次式（7）に示すように、α／２が２√２・sin（α／２）に比例するとみなしている。
【００４１】
２√２・sin（α／２）＝Ｋ・α／２    …(7)
前記式(7)において、Ｋは比例定数である。この比例定数Ｋは、図３に示すサインカーブのうち、横軸の値が−（π／６）／２〜（π／６）／２である範囲内の部分を直線とみなした場合に、その直線の傾きｙ／ｘに相当する。したがって、比例定数Ｋは、次式（8）で表される。
【００４２】
【数６】
2011069806.tif 000008
【００４３】
前記式(6)で示されるように、ΔＢ＝２√２・sin（α／２）であるので、前記式(7)，(8)を用いることにより、次式(9)のように、ΔＢを近似的に表すことができる。
【００４４】
【数７】
2011069806.tif 000009
【００４５】
前記式(9)を変形することにより、位相差誤差αは、次式(10)で表される。
【００４６】
【数８】
2011069806.tif 000010
【００４７】
位相差誤差演算部３６は、振幅差演算部３５によって演算された振幅差ΔＢを用い、前記式(10)に基づいて、位相差誤差αを演算する。演算された位相差誤差αは、メモリ３７に格納される。
出力信号補正部２２は、次式（11）に基づいて、出力信号Ｖ２（＝cos（θ＋α））を補正することにより、位相差誤差αが補正された信号Ｖ２’（＝cosθ）を得る。つまり、出力信号補正部２２は、出力信号Ｖ１（＝sinθ）と、出力信号Ｖ２（＝cos（θ＋α））と、sinαと、cosαとから、補正された信号Ｖ２’（＝cosθ）を求める。なお、式(11)は、cos（θ＋α)を三角関数の加法定理により展開した式に基づいて、導出することができる。
【００４８】
【数９】
2011069806.tif 000011
【００４９】
回転角演算部２３は、位相差誤差αが補正された信号Ｖ２’（＝cosθ）と、他方の出力信号Ｖ１（＝sinθ）とを用い、たとえば、次式（12）に基づいて、ロータ１の回転角θを演算する。
θ＝tan−１（sinθ／cosθ）
＝tan−１（Ｖ１／Ｖ２’）…(12) 
なお、回転角演算部２３は、式(12)を用いる方法とは異なる方法を用いて、信号Ｖ２’（＝cosθ）および出力信号Ｖ１（＝sinθ）から回転角θを求めるようにしてもよい。たとえば、特開2001-264114号公報に開示されている方法を用いて、信号Ｖ２’（＝cosθ）および出力信号Ｖ１（＝sinθ）から回転角θを求めるようにしてもよい。
【００５０】
図４は、回転角演算装置２０によって実行される回転角演算処理の手順を示すフローチャートである。位相差誤差αは、位相差誤差演算部２１によって既に演算されて、メモリに格納されているものとする。
回転角演算処理は、所定の演算周期毎に繰り返し行なわれる。まず、回転角演算装置２０は、磁気センサ１１，１２の出力信号Ｖ１（＝sinθ），Ｖ２（＝cos（θ＋α））を取り込む（ステップＳ１）。そして、回転角演算装置２０の出力信号補正部２２は、ステップＳ１で取り込まれた出力信号Ｖ１，Ｖ２とメモリに格納されている位相差誤差αとを用い、前記式(11)に基づいて、第２の出力信号Ｖ２を補正する（ステップＳ２）。これにより、位相差誤差αが補正された信号Ｖ２’（＝cosθ）が得られる。
【００５１】
次に、回転角演算装置２０の回転角演算部２３は、位相差誤差αが補正された信号Ｖ２’（＝cosθ）と、ステップＳ１で取り込まれた出力信号Ｖ１（＝sinθ）とを用い、前記式(12)に基づいて、ロータ１の回転角θを演算する（ステップＳ３）。
前記第１の実施形態によれば、２つの磁気センサ１１，１２間の角度間隔（両センサ１１，１２の相対的な配置）に誤差がある場合でも、正確な回転角θを検出することができるようになる。
【００５２】
前記第１の実施形態では、第１の磁気センサ１１の出力信号Ｖ１をsinθとし、第２の磁気センサ１２の出力信号Ｖ２をcos（θ＋α）として、第２の磁気センサ１２の出力信号Ｖ２を補正しているが、第２の磁気センサ１２の出力信号Ｖ２をcosθとし、第１の磁気センサ１１の出力信号Ｖ１をsin（θ＋α）として、第１の磁気センサ１１の出力信号Ｖ１を補正するようにしてもよい。また、αが、−π／６≦α≦π／６の範囲内である場合に、α／２が２√２・sin（α／２）に比例するとみなしているが、α／２が２√２・sin（α／２）に比例するとみなすαの範囲は、２√２・sin（α／２）がほぼ線形性を保つ範囲であればよく、前記範囲に限られない。
【００５３】
また、前記第１の実施形態では、αが小さい範囲においては、α／２が２√２・sin（α／２）に比例するとみなすことにより、αを近似的に求めているが、次のようにしてαを求めてもよい。つまり、前記式(6)に基づいて、αと振幅差ΔＢ（＝２√２・sin（α／２））とを対応付けたテーブル（マップ）を予め作成して記憶しておき、そのテーブルから振幅差演算部３５（図２参照）によって求められた振幅差ΔＢに対応するαを読み出すことにより、αを求める。
【００５４】
さらに、前記第１の実施形態では、和信号の振幅Ｂ１および差信号の振幅Ｂ２は、抽出した極大値の平均から極小値の平均を減算した値の１／２としているが、ロータ１に複数組の磁極対が設けられている場合には、磁極対毎の極大値から極小値を減算した値の１／２とし、位相差誤差αを磁極対毎に算出してもよい。
図５は、この発明の第２の実施形態に係る回転角検出装置の構成を示す模式図である。
【００５５】
ロータ１は、２つの磁極Ｎ，Ｓを有する磁石を含んでいる。ロータ１の周囲には、第１の磁気センサ１１及び第２の磁気センサ１２が、ロータ１の回転中心軸を中心として所定の角度間隔φをおいてそれぞれ第１の位置及び第２の位置に配置されている。この角度間隔φは、任意の角度に設定することができる。この実施形態では、両磁気センサ１１，１２間の角度間隔φは、９０度より小さい角度間隔に設定されている。両磁気センサ１１，１２は、図５に鎖線で示す基板３３上に実装されている。
【００５６】
第１の実施形態と同様に、図５に矢印で示す方向を、ロータ１の正方向の回転方向とする。また、第１の実施形態と同様に、各磁気センサ１１，１２の出力信号を、その振幅が１であるものとして簡易的に表すことにする。つまり、θをロータ１の回転角として、第１の磁気センサ１１の出力信号Ｖ１を、Ｖ１＝sinθとして表し、第２の磁気センサ１２の出力信号Ｖ２を、Ｖ２＝sin（θ＋φ）として表すことにする。したがって、両出力信号Ｖ１，Ｖ２の位相差（配置位相差）はφとなる。配置位相差は電気角である。
【００５７】
各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２は、回転角演算装置４０に入力される。回転角演算装置４０は、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、ロータ１の回転角θを演算する。回転角演算装置４０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ等）を含んでいる。回転角演算装置４０は、ＲＯＭに格納された所定のプログラムをＣＰＵが実行することにより、複数の機能処理部として機能する。この複数の機能処理部は、出力信号補正部（信号補正手段）４１および回転角演算部（回転角演算手段）４２を含む。両磁気センサ１１，１２の角度間隔φ、つまり、両出力信号Ｖ１，Ｖ２の配置位相差φは、メモリに格納されている。なお、配置位相差φをメモリに格納する代わりに、sinφの値およびcosφの値をメモリに格納するようにしてもよい。
【００５８】
出力信号補正部４１は、両磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、出力信号Ｖ２を補正する。具体的には、出力信号補正部４１は、出力信号Ｖ２を、出力信号Ｖ１に対する位相差が所定の目標位相差となる信号に補正する。目標位相差は電気角である。この実施形態では、目標位相差は、９０°に設定されている。したがって、出力信号補正部４１は、出力信号Ｖ２を、出力信号Ｖ１に対する位相差が９０°となる信号Ｖ２’（＝sin（θ＋９０°）＝cosθ）に補正する。
【００５９】
出力信号Ｖ２（＝sin（θ＋φ））は、三角関数の加法定理により、次式(13)のように展開することができる。
Ｖ２＝sin（θ＋φ）＝sinθ・cosφ＋cosθ・sinφ…(13)
この式(13)を変形することにより、信号Ｖ２を信号Ｖ２’に補正するための式(14)が得られる。
【００６０】
【数１０】
2011069806.tif 000012
【００６１】
出力信号補正部４１は、前記式(14)に基づいて、出力信号Ｖ２を、出力信号Ｖ１に対する位相差が９０°となる信号Ｖ２’（＝cosθ）に補正する。つまり、出力信号補正部４１は、出力信号Ｖ１（＝sinθ）と、出力信号Ｖ２（＝sin（θ＋φ））と、メモリに格納されている配置位相差φを用いて、信号Ｖ２を補正する。なお、メモリにsinφの値およびcosφの値が格納されている場合には、配置位相差φの代わりにこれらの値sinφ，cosφを用いて、出力信号Ｖ２が補正される。
【００６２】
回転角演算部４２は、出力信号補正部４１によって補正された信号Ｖ２’（＝cosθ）と、他方の出力信号Ｖ１（＝sinθ）とを用い、たとえば、次式（15）に基づいて、ロータ１の回転角θを演算する。
θ＝tan−１（sinθ／cosθ）＝tan−１（Ｖ１／Ｖ２’）…(15)
なお、回転角演算部４２は、式(15)を用いる方法とは異なる方法で、信号Ｖ２’（＝cosθ）および出力信号Ｖ１（＝sinθ）から回転角θを求めるようにしてもよい。たとえば、特開2001-264114号公報参照に開示されている方法を用いて、信号Ｖ２’（＝cosθ）および出力信号Ｖ１（＝sinθ）から回転角θを求めるようにしてもよい。
【００６３】
図６は、回転角演算装置４０によって実行される回転角演算処理の手順を示すフローチャートである。“配置位相差φ”または“sinφおよびcosφ”の値が、メモリに格納されているものとする。
回転角演算処理は、所定の演算周期毎に繰り返し行なわれる。まず、回転角演算装置４０は、磁気センサ１１，１２の出力信号Ｖ１（＝sinθ），Ｖ２（＝sin（θ＋φ））を取り込む（ステップＳ１１）。そして、回転角演算装置４０の出力信号補正部４１は、ステップＳ１１で取り込まれた出力信号Ｖ１，Ｖ２と、メモリに格納されている“配置位相差φ”または“sinφおよびcosφ”の値を用い、前記式(14)に基づいて、第２の出力信号Ｖ２を補正する（ステップＳ１２）。これにより、出力信号Ｖ１に対する位相差が９０°（目標位相差）となる補正信号Ｖ２’（＝cosθ）が得られる。
【００６４】
次に、回転角演算装置４０の回転角演算部４２は、出力信号補正部４１によって得られた信号Ｖ２’（＝cosθ）と、ステップＳ１１で取り込まれた出力信号Ｖ１（＝sinθ）とを用い、前記式(15)に基づいて、ロータ１の回転角θを演算する（ステップＳ１３）。
前記第２の実施形態によれば、２つの磁気センサ１１，１２の出力信号Ｖ１，Ｖ２の配置位相差にかかわらず、それらの信号のうちの一方の出力信号を、それらの信号間の位相差がロータ１の回転角θを演算するのに適した目標位相差（たとえば９０°）となるように、補正することができる。このため、２つの磁気センサ１１，１２の出力信号Ｖ１，Ｖ２の配置位相差にかかわらず、ロータ１の回転角θを演算することが可能となるので、２つの磁気センサ１１，１２間の角度間隔（両センサ１１，１２の相対的な配置）を任意に決定することができるようになる。
【００６５】
これにより、たとえば、図５に示したように、２つの磁気センサ１１，１２間の角度間隔（配置位相差）を目標位相差である９０°より小さい角度に設定することが可能となる。図５に示すように２つの磁気センサ１１，１２間の角度間隔を９０°より小さい角度に設定した場合には、図１３に示すように、２つの磁気センサ１１，１２間の角度間隔を９０°に設定した場合に比べて、磁気センサ１１，１２を実装する基板２，３を小さくすることが可能となる。
【００６６】
前記第２の実施形態において、出力信号Ｖ２を、出力信号Ｖ１に対する位相差が９０°の信号Ｖ２’（＝cosθ）に補正（変換）するための式(14)の右辺の分母は、sinφとなっている。このため、sinφの値が小さいと、式(14)の右辺の分母が小さくなるため、Ｖ２をＶ２’に補正したときの誤差が大きくなる。そこで、sinφの値が比較的小さくなるようなφの範囲を避けて、両センサ１１，１２の角度間隔φを決定することが好ましい。具体的には、φが０〜４度、１７６〜１８４度および３５６〜３６０度の範囲にある場合に、sinφは比較的小さな値となる。したがって、両センサ１１，１２の角度間隔φを、５〜１７５度または１８５〜３５５度の範囲内で決定することが好ましい。
【００６７】
前記第２の実施形態においても、前記第１の実施形態のように、２つの磁気センサ１１，１２の配置誤差αを考慮して、回転角θを演算することができる。たとえば、図５において、２つの磁気センサ１１，１２の配置に誤差（位相差誤差）αがあるために、両磁気センサ１１，１２の角度間隔が（φ＋α）となっている場合、すなわち、配置位相差に位相差誤差が重畳されている場合を想定する。
【００６８】
第１の磁気センサ１１の出力信号Ｖ１をsinθとし、第２の磁気センサ１２の出力信号Ｖ２をsin（θ＋φ＋α）とすると、両信号Ｖ１，Ｖ２の和に相当する和信号は、次式(16)で表される。
【００６９】
【数１１】
2011069806.tif 000013
【００７０】
したがって、この和信号の振幅Ｃ１は、次式(17)で表される。
【００７１】
【数１２】
2011069806.tif 000014
【００７２】
一方、両信号Ｖ１，Ｖ２の差（Ｖ１−Ｖ２）に相当する差信号は、次式(18)で表される。
【００７３】
【数１３】
2011069806.tif 000015
【００７４】
したがって、この差信号の振幅Ｃ２は、次式(19)で表される。
【００７５】
【数１４】
2011069806.tif 000016
【００７６】
両振幅Ｃ１，Ｃ２の差ΔＣは、次式(20)で表される。
【００７７】
【数１５】
2011069806.tif 000017
【００７８】
つまり、振幅差ΔＣは、φをパラメータ（媒介変数）として有するαの関数となる。そこで、φに応じた振幅差ΔＣとαとを対応付けたテーブル（マップ）を予め作成しておく。そして、第1の実施形態と同様にして、振幅差ΔＣを演算し、得られた振幅差ΔＣに対応するαを位相差誤差αとして求める。なお、前記式(20)の右辺中の（（φ−９０°）／２）が０に近い場合には、第１の実施形態で説明したように、αが小さい所定範囲内では、振幅差ΔＣがα／２に比例するとみなして、位相差誤差αを求めるようにしてもよい。
【００７９】
一方、sin（θ＋φ＋α）を、三角関数の加法定理により展開すると、次式（21)が得られる。
sin（θ＋φ＋α）＝sinθ・cos（φ＋α）＋cosθ・sin（φ＋α）…(21)
この式(21)を変形すると、次式(22)が得られる。
【００８０】
【数１６】
2011069806.tif 000018
【００８１】
そこで、φ，α，出力信号Ｖ１（＝sinθ）および出力信号Ｖ２（＝sin（θ＋φ＋α））を用い、前記式(22)に基づいて、cosθを演算する。そして、得られたcosθと出力信号Ｖ１（＝sinθ）とから、回転角θを演算する。
図７は、この発明の第３の実施形態に係る回転角検出装置の構成を示す模式図である。
ロータ１は、２つの磁極Ｎ，Ｓを有する磁石を含んでいる。ロータ１の周囲には、第１の磁気センサ１１及び第２の磁気センサ１２が、ロータ１の回転中心軸を中心として所定の角度間隔φをおいてそれぞれ第１の位置及び第２の位置に配置されている。この角度間隔φは、任意の角度に設定することができる。この実施形態では、両磁気センサ１１，１２間の角度間隔φは、９０度より小さい角度間隔に設定されている。両磁気センサ１１，１２は、図７に鎖線で示す基板３３上に実装されている。
【００８２】
図７に矢印で示す方向を、ロータ１の正方向の回転方向とする。また、第１の実施形態と同様に、各磁気センサ１１，１２の出力信号を、その振幅が１であるものとして簡易的に表すことにする。つまり、θをロータ１の回転角として、第１の磁気センサ１１の出力信号Ｖ１を、Ｖ１＝sinθとして表し、第２の磁気センサ１２の出力信号Ｖ２を、Ｖ２＝sin（θ＋φ）として表すことにする。したがって、両出力信号Ｖ１，Ｖ２の位相差（配置位相差）はφとなる。配置位相差は電気角である。
【００８３】
各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２は、回転角演算装置５０に入力される。回転角演算装置５０は、たとえば、マイクロコンピュータから構成され、ＣＰＵ（中央演算処理装置）およびメモリ（ＲＯＭ，ＲＡＭ等）を含んでいる。回転角演算装置５０は、ＲＯＭに格納された所定のプログラムをＣＰＵが実行することにより、複数の機能処理部として機能する。この複数の機能処理部は、回転角演算ユニット６０とセンサ故障検出ユニット７０とを含む。両磁気センサ１１，１２の角度間隔φ、つまり、両出力信号Ｖ１，Ｖ２の配置位相差φは、メモリに格納されている。なお、配置位相差φをメモリに格納する代わりに、sinφの値およびcosφの値をメモリに格納するようにしてもよい。
【００８４】
回転角演算ユニット６０は、所定の第１の演算周期毎にロータ１の回転角θを演算する。つまり、回転角演算ユニット６０は、第１の演算周期毎に各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２を取り込み、取り込んだ出力信号Ｖ１，Ｖ２に基づいて、ロータ１の回転角θを演算する。回転角演算ユニット６０は、出力信号補正部（信号補正手段）６１および回転角演算部（回転角演算手段）６２を含む。
【００８５】
出力信号補正部６１は、両磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、出力信号Ｖ２を補正する。具体的には、出力信号補正部６１は、出力信号Ｖ２を、出力信号Ｖ１に対する位相差が所定の目標位相差となる信号に補正する。目標位相差は電気角である。この実施形態では、目標位相差は、９０°に設定されている。したがって、出力信号補正部４１は、出力信号Ｖ２を、出力信号Ｖ１に対する位相差が９０°となる信号Ｖ２’（＝sin（θ＋９０°）＝cosθ）に補正する。
【００８６】
出力信号Ｖ２（＝sin（θ＋φ））は、三角関数の加法定理により、次式(23)のように展開することができる。
Ｖ２＝sin（θ＋φ）＝sinθ・cosφ＋cosθ・sinφ…(23)
この式(23)を変形することにより、信号Ｖ２を信号Ｖ２’に補正するための式(24)が得られる。
【００８７】
【数１７】
2011069806.tif 000019
【００８８】
出力信号補正部６１は、前記式(24)に基づいて、出力信号Ｖ２を、出力信号Ｖ１に対する位相差が９０°となる信号Ｖ２’（＝cosθ）に補正する。つまり、出力信号補正部６１は、出力信号Ｖ１（＝sinθ）と、出力信号Ｖ２（＝sin（θ＋φ））と、メモリに格納されている配置位相差φを用いて、信号Ｖ２を補正する。なお、メモリにsinφの値およびcosφの値が格納されている場合には、配置位相差φの代わりにこれらの値sinφ，cosφを用いて、出力信号Ｖ２が補正される。
【００８９】
回転角演算部６２は、出力信号補正部６１によって補正された信号Ｖ２’（＝cosθ）と、他方の出力信号Ｖ１（＝sinθ）とを用い、たとえば、次式（25）に基づいて、ロータ１の回転角θを演算する。
θ＝tan−１（sinθ／cosθ）＝tan−１（Ｖ１／Ｖ２’）…(25)
なお、回転角演算部６２は、式(25)を用いる方法とは異なる方法で、信号Ｖ２’（＝cosθ）および出力信号Ｖ１（＝sinθ）から回転角θを求めるようにしてもよい。たとえば、特開2001-264114号公報参照に開示されている方法を用いて、信号Ｖ２’（＝cosθ）および出力信号Ｖ１（＝sinθ）から回転角θを求めるようにしてもよい。
【００９０】
センサ故障検出ユニット７０は、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２に基づいて、磁気センサ１１，１２の故障を検出する。磁気センサ１１，１２が故障すると、その出力信号Ｖ１，Ｖ２は、零、上限値または下限値に固定される。そこで、各磁気センサ１１，１２の出力信号Ｖ１，Ｖ２を監視し、その出力信号が零、上限値または下限値に固定されていることを検出した場合（その出力信号が異常であると判定した場合）に、対応する磁気センサに故障が発生したと判定することができる。
【００９１】
センサ故障ユニット７０は、第１のＶ１異常監視部７１と、第１のＶ２異常監視部７２と、第２のＶ１異常監視部７３と、第２のＶ２異常監視部７４とを含む。第１のＶ１異常監視部７１は、第２の磁気センサ１２の出力信号Ｖ２と、回転角演算ユニット６０内の出力信号補正部６１によって演算される信号Ｖ２’とに基づいて、第１の磁気センサ１１の出力信号Ｖ１が零に固定されたか否かを判定するための処理を行なう。第１のＶ２異常監視部７２は、第１の磁気センサ１１の出力信号Ｖ１と、出力信号補正部６１によって演算される信号Ｖ２’とに基づいて、第２の磁気センサ１２の出力信号Ｖ２が零に固定されたか否かを判定するための処理を行なう。
【００９２】
第２のＶ１異常監視部７３は、第２の磁気センサ１２の出力信号Ｖ２と、出力信号補正部６１によって演算される信号Ｖ２’とに基づいて、第１の磁気センサ１１の出力信号Ｖ１が上限値（＋１）または下限値（−１）に固定されたか否かを判定するための処理を行なう。第２のＶ２異常監視部７４は、第１の磁気センサ１１の出力信号Ｖ１と、出力信号補正部６１によって演算される信号Ｖ２’とに基づいて、第２の磁気センサ１２の出力信号Ｖ２が上限値（＋１）または下限値（−１）に固定されたか否かを判定するための処理を行なう。
【００９３】
センサ故障検出ユニット７０は、所定の第２の演算周期毎に第１の磁気センサ１１の出力信号Ｖ１および第２の磁気センサ１２の出力信号Ｖ２を取り込み、取り込んだ出力信号Ｖ１を第１のＶ２異常監視部７２および第２のＶ２異常監視部７４に与え、取り込んだ出力信号Ｖ２を第１のＶ１異常監視部７１および第２のＶ１異常監視部７３に与える。この実施形態では、第２の演算周期は、回転角演算ユニット６０が回転角を演算する周期（第１演算周期）と等しいかまたはそれより長い周期に設定されている。
【００９４】
図８は、第１のＶ１異常監視部７１の動作例を示すフローチャートである。図８の処理は、前記第２の演算周期毎に実行される。
図８の処理は、第１の磁気センサ１１の出力信号Ｖ１（＝sinθ）が零に固定されているか否かを判定するために行なわれる。第１の磁気センサ１１の出力信号Ｖ１が零に固定された場合には、出力信号補正部６１によって演算される信号Ｖ２’（cosθに相当する信号）は、前記式(24)にＶ１＝０を代入することにより、Ｖ２’＝Ｖ２／sinφとなる。したがって、出力信号補正部６１によって演算される信号Ｖ２’が演算値（Ｖ２／sinφ）と等しいか否かを所定時間（第２の演算周期）毎に判別し、Ｖ２’＝Ｖ２／sinφの状態が所定回数以上継続する場合には、第１の磁気センサ１１に故障が発生したと判定することができる。
【００９５】
ただし、第１の磁気センサ１１が正常であっても、回転角θがたとえば０°または１８０°である場合には、その出力信号Ｖ１（＝sinθ）が０となる。そこで、第１の磁気センサ１１が正常である場合に、その出力信号Ｖ１が零となるような回転角θにおいては、信号Ｖ２’が演算値（Ｖ２／sinφ）と等しいか否かの判定を行わないようにしている。
図８に戻り、第１のＶ１異常監視部７１は、今演算周期で取り込まれた第２の磁気センサ１２の出力信号Ｖ２が、sinφおよび−sinφのいずれの値にも一致しないか否かを判別する（ステップＳ１）。第２の磁気センサ１２の出力信号Ｖ２が、sinφまたは−sinφの値と一致した場合には（ステップＳ１：ＮＯ）、第１のＶ１異常監視部７１は、今演算周期での処理を終了する。
【００９６】
図１２（ａ）は、第１の磁気センサ１１および第２の磁気センサ１２が正常である場合の、それらの出力信号Ｖ１，Ｖ２の波形を示している。出力信号Ｖ２の波形を表す正弦波曲線上において、出力信号Ｖ１（＝sinθ）が０となる回転角θに対応する点は、点ａ１および点ａ２である。点ａ１に対応する出力信号Ｖ２の値は、sinφとなる。一方、点ａ２に対応する出力信号Ｖ２の値は、sin（１８０°＋φ）＝−sinφとなる。したがって、出力信号Ｖ２がsinφまたは−sinφに一致する場合には、cosθに相当する信号Ｖ２’が演算値（Ｖ２／sinφ）と等しいか否かの判定を行わないようにしている。
【００９７】
前記ステップＳ１において、第２の磁気センサ１２の出力信号Ｖ２が、sinφおよび−sinφのいずれの値にも一致しないと判別された場合には（ステップＳ１：ＹＥＳ）、第１のＶ１異常監視部７１は、Ｖ２／sinφを演算し、出力信号補正部６１から与えられる信号Ｖ２’が演算値（Ｖ２／sinφ）と等しいか否かを判定する（ステップＳ２）。なお、出力信号補正部６１から与えられる信号Ｖ２’は、今回の第２の演算周期においてセンサ故障検出ユニット７０によって取り込まれた出力信号Ｖ１，Ｖ２と同じ信号Ｖ１，Ｖ２から演算された信号Ｖ２’である。
【００９８】
信号Ｖ２’が演算値（Ｖ２／sinφ）と等しくない場合には（ステップＳ２：ＮＯ）、第１のＶ１異常監視部７１は、第１カウント値cnt1を１だけデクリメント（−１）する（ステップＳ３）。そして、ステップＳ５に進む。第１カウント値cnt1のデフォルト値は零である。また、第１カウント値cnt1は、零以上の整数であり、負の値とはならない。したがって、前記ステップＳ３で第１カウント値cnt1が１だけデクリメントされたとしても、第１カウント値cnt1が零より小さい値になることはない。
【００９９】
前記ステップＳ２において、信号Ｖ２’が演算値（Ｖ２／sinφ）と等しいと判別された場合には（ステップＳ２：ＹＥＳ）、第１のＶ１異常監視部７１は、第１カウント値cnt1を１だけインクリメント（＋１）する（ステップＳ４）。そして、ステップＳ５に進む。
ステップＳ５では、第１のＶ１異常監視部７１は、第１カウント値cnt1が所定のしきい値Ａ以上であるか否かを判別する。第１カウント値cnt1がしきい値Ａ未満である場合には（ステップＳ５：ＮＯ）、第１のＶ１異常監視部７１は、今演算周期での処理を終了する。一方、第１カウント値cnt1がしきい値Ａ以上であると判別された場合には（ステップＳ５：ＹＥＳ）、第１のＶ１異常監視部７１は、第１の磁気センサ１１に故障が発生したことを検知し、図示しないブラシレスモータのモータ制御装置にモータ停止指令を出力する（ステップＳ６）。また、第１のＶ１異常監視部７１は、全ての異常監視部７１〜７４の動作を停止させる（ステップＳ７）。モータ制御装置は、第１のＶ１異常監視部７１からのモータ停止指令を受信すると、ブラシレスモータの駆動を停止させる。
【０１００】
図９は、第１のＶ２異常監視部７２の動作例を示すフローチャートである。図９の処理は、第２の演算周期毎に実行される。
図９の処理は、第２の磁気センサ１２の出力信号Ｖ２（＝sin（θ＋φ））が零に固定されているか否かを判定するために行なわれる。第２の磁気センサ１２の出力信号Ｖ２が零に固定された場合には、出力信号補正部６１によって演算される信号Ｖ２’（cosθに相当する信号）は、前記式(24)にＶ２＝０を代入することにより、Ｖ２’＝−Ｖ１・cosφ／sinφとなる。したがって、信号Ｖ２’が演算値（−Ｖ１・cosφ／sinφ）と等しいか否かを所定時間（第２の演算周期）毎に判別し、Ｖ２’＝−Ｖ１・cosφ／sinφの状態が所定回数以上継続する場合には、第２の磁気センサ１２に故障が発生したと判定することができる。
【０１０１】
ただし、第２の磁気センサ１２が正常であっても、図１２（ａ）に示すように、回転角θがたとえば（１８０°−φ）または（３６０°−φ）である場合には、その出力信号Ｖ２（＝sin（θ＋φ））が０となる。そこで、第２の磁気センサ１２が正常である場合に、その出力信号Ｖ２が零となるような回転角θにおいては、信号Ｖ２’が演算値（−Ｖ１・cosφ／sinφ）と等しいか否かの判定を行わないようにしている。
【０１０２】
図９に戻り、第１のＶ２異常監視部７２は、今演算周期で取り込まれた第１の磁気センサ１１の出力信号Ｖ１が、sinφおよび−sinφのいずれの値にも一致しないか否かを判別する（ステップＳ１１）。第１の磁気センサ１１の出力信号Ｖ１が、sinφまたは−sinφの値と一致した場合には（ステップＳ１１：ＮＯ）、第１のＶ２異常監視部７２は、今演算周期での処理を終了する。
【０１０３】
図１２（ａ）を参照して、出力信号Ｖ１の波形を表す正弦波曲線上において、出力信号Ｖ２（＝sin（θ＋φ））が０となる回転角θに対応する点は、点ｂ１および点ｂ２である。点ｂ１に対応する出力信号Ｖ１の値は、sin（１８０°−φ）＝sinφとなる。一方、点ｂ２に対応する出力信号Ｖ１の値は、sin（３６０°−φ）＝−sinφとなる。したがって、出力信号Ｖ１がsinφまたは−sinφに一致する場合には、cosθに相当する信号Ｖ２’が演算値（−Ｖ１・cosφ／sinφ）と等しいか否かの判定を行わないようにしている。
【０１０４】
前記ステップＳ１１において、第１の磁気センサ１１の出力信号Ｖ１が、sinφおよび−sinφのいずれの値にも一致しないと判別された場合には（ステップＳ１１：ＹＥＳ）、第１のＶ２異常監視部７２は、−Ｖ１・cosφ／sinφを演算し、出力信号補正部６１から与えられる信号Ｖ２’が演算値（−Ｖ１・cosφ／sinφ）と等しいか否かを判定する（ステップＳ１２）。なお、出力信号補正部６１から与えられる信号Ｖ２’は、今回の第２の演算周期においてセンサ故障検出ユニット７０によって取り込まれた出力信号Ｖ１，Ｖ２と同じ信号Ｖ１，Ｖ２から演算された信号Ｖ２’である。
【０１０５】
信号Ｖ２’が演算値（−Ｖ１・cosφ／sinφ）と等しくない場合には（ステップＳ１２：ＮＯ）、第１のＶ２異常監視部７２は、第２カウント値cnt2を１だけデクリメント（−１）する（ステップＳ１３）。そして、ステップＳ１５に進む。第２カウント値cnt2のデフォルト値は零である。また、第２カウント値cnt2は、零以上の整数であり、負の値にはならない。したがって、前記ステップＳ１３で第２カウント値cnt2が１だけデクリメントされたとしても、第２カウント値cnt2が零より小さい値になることはない。
【０１０６】
前記ステップＳ１２において、信号Ｖ２’が演算値（−Ｖ１・cosφ／sinφ）と等しいと判別された場合には（ステップＳ１２：ＹＥＳ）、第１のＶ２異常監視部７２は、第２カウント値cnt2を１だけインクリメント（＋１）する（ステップＳ１４）。そして、ステップＳ１５に進む。
ステップＳ１５では、第１のＶ２異常監視部７２は、第２カウント値cnt2が所定のしきい値Ａ以上であるか否かを判別する。第２カウント値cnt2がしきい値Ａ未満である場合には（ステップＳ１５：ＮＯ）、第１のＶ２異常監視部７２は、今演算周期での処理を終了する。一方、第２カウント値cnt2がしきい値Ａ以上であると判別された場合には（ステップＳ１５：ＹＥＳ）、第１のＶ２異常監視部７２は、第２の磁気センサ１２に故障が発生したことを検知し、図示しないブラシレスモータのモータ制御装置にモータ停止指令を出力する（ステップＳ１６）。また、第１のＶ２異常監視部７２は、全ての異常監視部７１〜７４の動作を停止させる（ステップＳ１７）。モータ制御装置は、第１のＶ２異常監視部７２からのモータ停止指令を受信すると、ブラシレスモータの駆動を停止させる。
【０１０７】
図１０は、第２のＶ１異常監視部７３の動作例を示すフローチャートである。図１０の処理は、第２の演算周期毎に実行される。
図１０の処理は、第１の磁気センサ１１の出力信号Ｖ１（＝sinθ）が１（上限値）または−１（下限値）に固定されているか否かを判定するために行なわれる。第１の磁気センサ１１の出力信号Ｖ１が１に固定された場合には、出力信号補正部６１によって演算される信号Ｖ２’（cosθに相当する信号）は、前記式(24)にＶ１＝１を代入することにより、Ｖ２’＝（Ｖ２−cosφ）／sinφとなる。また、第１の磁気センサ１１の出力信号Ｖ１が−１に固定された場合には、出力信号補正部６１によって演算される信号Ｖ２’（cosθに相当する信号）は、前記式(24)にＶ１＝−１を代入することにより、Ｖ２’＝（Ｖ２＋cosφ）／sinφとなる。したがって、信号Ｖ２’が演算値｛（Ｖ２−cosφ）／sinφ｝または｛（Ｖ２＋cosφ）／sinφ｝と等しいか否かを所定時間（第２の演算周期）毎に判別し、Ｖ２’＝（Ｖ２−cosφ）／sinφまたはＶ２’＝（Ｖ２＋cosφ）／sinφの状態が所定回数以上継続する場合には、第１の磁気センサ１１に故障が発生したと判定することができる。
【０１０８】
ただし、第１の磁気センサ１１が正常であっても、回転角θがたとえば９０°であればその出力信号Ｖ１（＝sinθ）は１となり、回転角θがたとえば２７０°であればその出力信号Ｖ１（＝sinθ）は−１となる。そこで、第１の磁気センサ１１が正常である場合に、その出力信号Ｖ１が１または−１となるような回転角θにおいては、信号Ｖ２’が演算値｛（Ｖ２−cosφ）／sinφ｝または｛（Ｖ２＋cosφ）／sinφ｝と等しいか否かの判定を行わないようにしている。
【０１０９】
図１０に戻り、第２のＶ１異常監視部７３は、今演算周期で取り込まれた第２の磁気センサ１２の出力信号Ｖ２が、sin（９０°＋φ）および−sin（９０°＋φ）のいずれの値にも一致しないか否かを判別する（ステップＳ２１）。第２の磁気センサ１２の出力信号Ｖ２が、sin（９０°＋φ）または−sin（９０°＋φ）の値と一致した場合には（ステップＳ２１：ＮＯ）、第２のＶ１異常監視部７３は、今演算周期での処理を終了する。
【０１１０】
図１２（ｂ）は、第１の磁気センサ１１および第２の磁気センサ１２が正常である場合の、それらの出力信号Ｖ１，Ｖ２の波形を示している。出力信号Ｖ２の波形を表す正弦波曲線上において、出力信号Ｖ１（＝sinθ）が１または−１となる回転角θに対応する点は、点ｃ１および点ｃ２である。点ｃ１に対応する出力信号Ｖ２の値は、sin（９０°＋φ）となる。一方、点ｃ２に対応する出力信号Ｖ２の値は、sin（２７０°＋φ）＝−sin（９０°＋φ）となる。したがって、出力信号Ｖ２がsin（９０°＋φ）または−sin（９０°＋φ）に一致する場合には、cosθに相当する信号Ｖ２’が演算値｛（Ｖ２−cosφ）／sinφ｝または｛（Ｖ２＋cosφ）／sinφ｝と等しいか否かの判定を行わないようにしている。
【０１１１】
前記ステップＳ２１において、第２の磁気センサ１２の出力信号Ｖ２が、sin（９０°＋φ）および−sin（９０°＋φ）のいずれの値にも一致しないと判別された場合には（ステップＳ２１：ＹＥＳ）、第２のＶ１異常監視部７３は、（Ｖ２−cosφ）／sinφおよび（Ｖ２＋cosφ）／sinφを演算し、出力信号補正部６１から与えられる信号Ｖ２’が演算値｛（Ｖ２−cosφ）／sinφ｝または｛（Ｖ２＋cosφ）／sinφ｝と等しいか否かを判定する（ステップＳ２２）。なお、出力信号補正部６１から与えられる信号Ｖ２’は、今回の第２の演算周期においてセンサ故障検出ユニット７０によって取り込まれた出力信号Ｖ１，Ｖ２と同じ信号Ｖ１，Ｖ２から演算された信号Ｖ２’である。
【０１１２】
信号Ｖ２’が演算値｛（Ｖ２−cosφ）／sinφ｝および｛（Ｖ２＋cosφ）／sinφ｝のいずれの値とも等しくない場合には（ステップＳ２２：ＮＯ）、第２のＶ１異常監視部７３は、第３カウント値cnt3を１だけデクリメント（−１）する（ステップＳ２３）。そして、ステップＳ２５に進む。第３カウント値cnt3のデフォルト値は零である。また、第３カウント値cnt3は、零以上の整数であり、負の値にはならない。したがって、前記ステップＳ２３で第３カウント値cnt3が１だけデクリメントされたとしても、第３カウント値cnt3が零より小さい値になることはない。
【０１１３】
前記ステップＳ２２において、信号Ｖ２’が演算値｛（Ｖ２−cosφ）／sinφ｝または｛（Ｖ２＋cosφ）／sinφ｝と等しいと判別された場合には（ステップＳ２２：ＹＥＳ）、第２のＶ１異常監視部７３は、第３カウント値cnt3を１だけインクリメント（＋１）する（ステップＳ２４）。そして、ステップＳ２５に進む。
ステップＳ２５では、第２のＶ１異常監視部７３は、第３カウント値cnt3が所定のしきい値Ａ以上であるか否かを判別する。第３カウント値cnt3がしきい値Ａ未満である場合には（ステップＳ２５：ＮＯ）、第２のＶ１異常監視部７３は、今演算周期での処理を終了する。一方、第３カウント値cnt3がしきい値Ａ以上であると判別された場合には（ステップＳ２５：ＹＥＳ）、第２のＶ１異常監視部７３は、第１の磁気センサ１１に故障が発生したことを検知し、図示しないブラシレスモータのモータ制御装置にモータ停止指令を出力する（ステップＳ２６）。また、第２のＶ１異常監視部７３は、全ての異常監視部７１〜７４の動作を停止させる（ステップＳ２７）。モータ制御装置は、第２のＶ１異常監視部７３からのモータ停止指令を受信すると、ブラシレスモータの駆動を停止させる。
【０１１４】
図１１は、第２のＶ２異常監視部７４の動作例を示すフローチャートである。図１１の処理は、第２の演算周期毎に実行される。
図１１の処理は、第２の磁気センサ１２の出力信号Ｖ１（＝sin（θ＋φ））が１（上限値）または−１（下限値）に固定されているか否かを判定するために行なわれる。第２の磁気センサ１２の出力信号Ｖ２が１に固定された場合には、出力信号補正部６１によって演算される信号Ｖ２’（cosθに相当する信号）は、前記式(24)にＶ２＝１を代入することにより、Ｖ２’＝−（Ｖ１・cosφ−１）／sinφとなる。また、第２の磁気センサ１２の出力信号Ｖ２が−１に固定された場合には、出力信号補正部６１によって演算される信号Ｖ２’（cosθに相当する信号）は、前記式(24)にＶ２＝−１を代入することにより、Ｖ２’＝−（Ｖ１・cosφ＋１）／sinφとなる。したがって、信号Ｖ２’が演算値｛−（Ｖ１・cosφ−１）／sinφ｝または｛−（Ｖ１・cosφ＋１）／sinφ｝と等しいか否かを所定時間（第２の演算周期）毎に判別し、Ｖ２’＝−（Ｖ１・cosφ−１）／sinφまたはＶ２’＝−（Ｖ１・cosφ＋１）／sinφの状態が所定回数以上継続する場合には、第２の磁気センサ１２に故障が発生したと判定することができる。
【０１１５】
ただし、第２の磁気センサ１２が正常であっても、図１２（ｂ）に示すように、回転角θがたとえば（９０°−φ）であればその出力信号Ｖ２（＝sin（θ＋φ））は１となり、回転角θがたとえば（２７０°−φ）であればその出力信号Ｖ２（＝sin（θ＋φ））は−１となる。そこで、第２の磁気センサ１２が正常である場合に、その出力信号Ｖ２が１または−１となるような回転角θにおいては、信号Ｖ２’が演算値｛−（Ｖ１・cosφ−１）／sinφ｝または｛−（Ｖ１・cosφ＋１）／sinφ｝と等しいか否かの判定を行わないようにしている。
【０１１６】
図１１に戻り、第２のＶ２異常監視部７４は、今演算周期で取り込まれた第１の磁気センサ１１の出力信号Ｖ１が、sin（９０°−φ）および−sin（９０°−φ）のいずれの値にも一致しないか否かを判別する（ステップＳ３１）。第１の磁気センサ１１の出力信号Ｖ１が、sin（９０°−φ）または−sin（９０°−φ）の値と一致した場合には（ステップＳ３１：ＮＯ）、第２のＶ２異常監視部７４は、今演算周期での処理を終了する。
【０１１７】
図１２（ｂ）を参照して、出力信号Ｖ１の波形を表す正弦波曲線上において、出力信号Ｖ２（＝sin（θ＋φ））が１または−１となる回転角θに対応する点は、点ｄ１および点ｄ２である。点ｄ１に対応する出力信号Ｖ１の値は、sin（９０°−φ）となる。一方、点ｄ２に対応する出力信号Ｖ１の値は、sin（２７０°−φ）＝−sin（９０°−φ）となる。したがって、出力信号Ｖ１がsin（９０°−φ）または−sin（９０°−φ）に一致する場合には、cosθに相当する信号Ｖ２’が演算値｛−（Ｖ１・cosφ−１）／sinφ｝または｛−（Ｖ１・cosφ＋１）／sinφ｝と等しいか否かの判定を行わないようにしている。
【０１１８】
前記ステップＳ３１において、第１の磁気センサ１１の出力信号Ｖ１が、sin（９０°−φ）および−sin（９０°−φ）のいずれの値にも一致しないと判別された場合には（ステップＳ３１：ＹＥＳ）、第２のＶ２異常監視部７４は、−（Ｖ１・cosφ−１）／sinφおよび−（Ｖ１・cosφ＋１）／sinφを演算し、出力信号補正部６１から与えられる信号Ｖ２’が演算値｛−（Ｖ１・cosφ−１）／sinφ｝または｛−（Ｖ１・cosφ＋１）／sinφ｝と等しいか否かを判定する（ステップＳ３２）。なお、出力信号補正部６１から与えられる信号Ｖ２’は、今回の第２の演算周期においてセンサ故障検出ユニット７０によって取り込まれた出力信号Ｖ１，Ｖ２と同じ信号Ｖ１，Ｖ２から演算された信号Ｖ２’である。
【０１１９】
信号Ｖ２’が演算値｛−（Ｖ１・cosφ−１）／sinφ｝および｛−（Ｖ１・cosφ＋１）／sinφ｝のいずれの値とも等しくない場合には（ステップＳ３２：ＮＯ）、第２のＶ２異常監視部７４は、第４カウント値cnt4を１だけデクリメント（−１）する（ステップＳ３３）。そして、ステップＳ３５に進む。第４カウント値cnt4のデフォルト値は零である。また、第４カウント値cnt4は、零以上の整数であり、負の値にはならない。したがって、前記ステップＳ３３で第４カウント値cnt4が１だけデクリメントされたとしても、第４カウント値cnt4が零より小さい値になることはない。
【０１２０】
前記ステップＳ３２において、信号Ｖ２’が演算値｛−（Ｖ１・cosφ−１）／sinφ｝または｛−（Ｖ１・cosφ＋１）／sinφ｝と等しいと判別された場合には（ステップＳ３２：ＹＥＳ）、第２のＶ２異常監視部７４は、第４カウント値cnt4を１だけインクリメント（＋１）する（ステップＳ３４）。そして、ステップＳ３５に進む。
ステップＳ３５では、第２のＶ２異常監視部７４は、第４カウント値cnt4が所定のしきい値Ａ以上であるか否かを判別する。第４カウント値cnt4がしきい値Ａ未満である場合には（ステップＳ３５：ＮＯ）、第２のＶ２異常監視部７４は、今演算周期での処理を終了する。一方、第４カウント値cnt4がしきい値Ａ以上であると判別された場合には（ステップＳ３５：ＹＥＳ）、第２のＶ２異常監視部７４は、第２の磁気センサ１２に故障が発生したことを検知し、図示しないブラシレスモータのモータ制御装置にモータ停止指令を出力する（ステップＳ３６）。また、第２のＶ２異常監視部７４は、全ての異常監視部７１〜７４の動作を停止させる（ステップＳ３７）。モータ制御装置は、第２のＶ２異常監視部７４からのモータ停止指令を受信すると、ブラシレスモータの駆動を停止させる。
【０１２１】
第３の実施形態では、第１の磁気センサ１１または第２の磁気センサ１２のいずれかが故障した場合に、そのことを検知することができる。また、いずれの磁気センサが故障したかも特定することができる。
以上、この発明をブラシレスモータのロータの回転角を検出するための装置に適用した場合の実施形態について説明したが、ブラシレスモータのロータ以外の回転体の回転角を検出するための装置にもこの発明を適用することができる。
【０１２２】
前記各実施形態では、検出用ロータ１の磁石は１組の磁極対を持っているが、検出用ロータ１の磁石は複数組の磁極対を持っていてもよい。
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【０１２３】
１…ロータ、１２，１３…磁気センサ
【図１】
2011069806.tif 000020
【図２】
2011069806.tif 000021
【図３】
2011069806.tif 000022
【図４】
2011069806.tif 000023
【図５】
2011069806.tif 000024
【図６】
2011069806.tif 000025
【図７】
2011069806.tif 000026
【図８】
2011069806.tif 000027
【図９】
2011069806.tif 000028
【図１０】
2011069806.tif 000029
【図１１】
2011069806.tif 000030
【図１２】
2011069806.tif 000031
【図１３】
2011069806.tif 000032
【図１４】
2011069806.tif 000033
【図１５】
2011069806.tif 000034