(57)【特許請求の範囲】
【請求項１】
磁石と、該磁石が作る磁界内において回転体の回転中心軸に対して所定の角度をなすように配置された２つの磁気センサとを備え、
前記２つの磁気センサからの出力信号の出力値により表現されるベクトルを、予め定められた回転角度ずつ回転させ、前記ベクトルと所定の軸とのなす角度が０度となるときの回転量により前記回転体の回転角度を求める信号処理回路であって、
回転行列係数を持つ回転行列により前記ベクトルを回転させるベクトル回転計算手段と、
前記回転行列係数のうち、前記回転角度に関して隣あう回転行列係数の間で線形補間を行う回転行列係数計算手段と、
を有する信号処理回路とを備えることを特徴とする回転角度センサ。
【請求項２】
請求項１に記載の回転角度センサにおいて、前記回転体を予め定められた回転角度ずつ回転させて測定した前記出力信号の出力値により表現されるベクトルを前記回転角度に関してフーリエ級数展開したときのフーリエ係数を記憶した記憶手段をさらに備え、
前記回転行列係数計算手段は、前記記憶手段に記憶された前記フーリエ係数を使用して２次元の回転行列係数を計算することを特徴とする回転角度センサ。
【請求項３】
請求項２に記載の回転角度センサにおいて、前記記憶手段は、前記フーリエ係数を量子化した値を記憶することを特徴とする回転角度センサ。
【請求項４】
請求項１から請求項３のいずれかに記載の回転角度センサにおいて、前記ベクトル回転計算手段は、スイッチト・キャパシタ回路から構成されることを特徴とする回転角度センサ。
【請求項５】
請求項１から請求項３のいずれかに記載の回転角度センサにおいて、前記回転行列係数計算手段及び前記ベクトル回転計算手段は、スイッチト・キャパシタ回路から構成され、前記回転行列係数計算手段による回転行列係数の計算及び前記ベクトル回転計算手段によるベクトルの回転は、同時に実行されることを特徴とする回転角度センサ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は回転角度センサに関し、より詳細には、回転体の回転角度を検出する回転角度センサに関するものである。
【０００２】
【従来の技術】
回転体の回転中心軸に対して所定の角度をなすように配置された２つの磁気センサと磁石とが作る磁場を用いて、非接触方式で回転角度を検出する方法が以前より知られており、例として特許文献１にその記述がある。２つの磁気センサを用いて回転角度を検出する場合、通常は磁気センサが持つ温度特性を補正する目的で、２つの磁気センサの出力信号の比を利用して回転角度の検出が行われる。
【０００３】
上記の２つの磁気センサからの出力信号の比は回転角度θに対してtan(θ)またはcot(θ)に比例するため、回転角度を検出する過程では、メモリに記憶されたtan(θ)またはcot(θ)の値を参照する必要がある。しかし、上記のような温度補正に使用するメモリの量が多くなると、回転角度センサのコストの上昇につながる。このため、上記のメモリ量を削減する方法が検討されてきた。例えば特許文献２には、三角関数であるtan及びcotの周期性を利用して、回転角度範囲３６０度を複数の領域に分割し、各領域の内部を領域間で共通な参照データ（メモリ）を用いて内挿、補間するといった方法が記載されている。
【０００４】
【特許文献１】
特開昭６２−９５４０２号公報
【０００５】
【特許文献２】
特開平０８−１４５７１９号公報
【０００６】
【発明が解決しようとする課題】
しかしながら、実際に磁石と２つの磁気センサとを用いて回転角度センサを実現する場合には、予め選別された磁気センサ、磁石等を用いて高精度な組み立て加工を行わない限り、２つの磁気センサからの出力信号を位相が互いに９０度ずれた正弦波とみなして扱うことはできないという問題があった。これは、磁気センサのオフセット、２つの磁気センサ間の感度の相違といった原因に加えて、センサ組み立て時の取り付け誤差に起因する回転体の偏心、磁石の着磁ずれといった様々な誤差要因が存在するためである。
【０００７】
本発明は、回転角度センサの高精度な角度検出を実現させるうえで障害となる上記の問題に鑑みてなされたものであり、その目的とするところは、高性能かつ安価に較正できる回転角度センサを提供することにある。
【０００８】
【課題を解決するための手段】
このような目的を達成するために、本発明の請求項１に記載の発明は、回転角度センサであって、磁石と、該磁石が作る磁界内において回転体の回転中心軸に対して所定の角度をなすように配置された２つの磁気センサとを備え、前記２つの磁気センサからの出力信号の出力値により表現されるベクトルを、予め定められた回転角度ずつ回転させ、前記ベクトルと所定の軸とのなす角度が０度となるときの回転量により前記回転体の回転角度を求める信号処理回路であって、回転行列係数を持つ回転行列により前記ベクトルを回転させるベクトル回転計算手段と、前記回転行列係数のうち、前記回転角度に関して隣あう回転行列係数の間で線形補間を行う回転行列係数計算手段と、を有する信号処理回路とを備えることを特徴とする。
また、請求項２に記載の発明は、請求項１に記載の回転角度センサにおいて、前記回転体を予め定められた回転角度ずつ回転させて測定した前記出力信号の出力値により表現されるベクトルを前記回転角度に関してフーリエ級数展開したときのフーリエ係数を記憶した記憶手段をさらに備え、前記回転行列係数計算手段は、前記記憶手段に記憶された前記フーリエ係数を使用して２次元の回転行列係数を計算する。
【０００９】
また、請求項３に記載の発明は、請求項２に記載の回転角度センサにおいて、前記記憶手段は、前記フーリエ係数を量子化した値を記憶することを特徴とする。
【００１３】
また、請求項４に記載の発明は、請求項１から請求項３のいずれかに記載の回転角度センサにおいて、前記ベクトル回転計算手段は、スイッチト・キャパシタ回路から構成されることを特徴とする。
【００１４】
また、請求項５に記載の発明は、請求項１から請求項３のいずれかに記載の回転角度センサにおいて、前記回転行列係数計算手段及び前記ベクトル回転計算手段は、スイッチト・キャパシタ回路から構成され、前記回転行列係数計算手段による回転行列係数の計算及び前記ベクトル回転計算手段によるベクトルの回転は、同時に実行されることを特徴とする。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００１９】
１．フーリエ係数による磁気センサ出力信号特性のモデル化
図１は、回転体の回転中心軸に対して、直角をなす位置に配置された２つの磁気センサからの出力信号（以下、「磁気センサ出力信号」という。）の出力値Vx及びVyにより表現されるベクトル（以下、「ホール起電力信号ベクトル」という場合がある。）a=(Vx, Vy)を示す。図２は、磁石の偏心、磁気センサの取り付け誤差等がなく理想的な場合に、回転体の回転角度に対してホール起電力信号ベクトル(Vx, Vy)のX成分、Y成分が変化する様子を示したものである。この場合、２つの磁気センサ出力信号は位相差が９０度の正弦波となる。
【００２０】
図３は着磁ずれのある磁石を使用し、かつ磁石の回転中心を２つの磁気センサから決まる正規の回転中心から意図的にずらしたときに得られた磁気センサ出力信号の一例を示す。図３を参照すると、磁気センサ出力信号のX成分及びY成分は、お互いに振幅が異なり、またX成分及びY成分の間の位相差も９０度ではなくなっている。このように、磁石の偏心、着磁ずれなどがある場合には、磁気センサ出力信号のX成分及びY成分は位相差が９０度の正弦波という理想的な状態とは異なったものとなる。このような場合において、磁気センサ出力信号のX成分及びY成分が回転角度に対して９０度の位相差を有する正弦波であるという前提で角度計算を行う限り、回転角度センサによって検出される角度は大きな誤差を持つものになる。
【００２１】
そこで、２つの磁気センサ出力信号の正弦波が９０度の位相差を有するという理想的な状態から外れた特性をモデル化する手段として、磁気センサ出力信号をフーリエ級数に展開したときのフーリエ係数を用いる。３６０度の範囲をL個の均等な区間に分割して各角度位置l（lは０≦l≦L-１を満たす整数）において実測された磁気センサ出力信号のホール起電力信号ベクトル(Vx(l), Vy(l))に対して、次式のようにフーリエ係数(FTVx(k), FTVy(k))を計算する。
【００２２】
【数１】
0004340467.tif 000002
【００２３】
図４は上記のフーリエ係数の例として、図３に示した磁気センサ出力信号に対してフーリエ係数FTVx(k)を計算したものであり、図５は図３に示した磁気センサ出力信号に対してフーリエ係数FTVy(k)を計算したものである。この例においてはフーリエ級数の長さLを２のべき乗である６４にしている。また、ここではフーリエ係数の値をN=８ビットに量子化している。
【００２４】
磁気センサの組み立て誤差、磁石の着磁ずれ等がない理想的な状態では、磁気センサ出力信号のX成分及びY成分は互いに９０度位相がずれた正弦波になるため、フーリエ係数のうちゼロでない有限な値を持つものはk＝１の係数だけになるはずである。また、磁気センサ出力信号のX成分及びY成分がオフセットを持つ場合には、k＝０に対するフーリエ係数もゼロでない有限な値を取ることになる。しかし磁気センサ出力信号はもともと正弦波に近い波形である。このため、フーリエ係数においてk＝L/２付近の成分は極めて小さくなり、フーリエ係数が有限ビット数でデジタル表現された場合にはほとんどのフーリエ係数がゼロになる。
【００２５】
図４及び図５に示す例において、X成分のフーリエ係数においてゼロでない有限な値を持つFTVx(k)は７個であり、Y成分のフーリエ係数においても有限な値を持つFTVy(k)は１０個である。したがって、この例の場合、必要なメモリの量はフーリエ係数のX成分及びY成分それぞれ６４個の計１２８個分ではなく、１７個分で済むことになる。
【００２６】
以上のことからわかるように、磁石が作る磁界中においてお互いに９０度の位置に配置された磁気センサを用いて回転角度を検出する場合、磁気センサ出力信号の特性をモデル化するためにフーリエ係数を用いるとほとんどのフーリエ係数が量子化されてゼロになる。このため、不揮発性メモリに記憶すべき情報量を大幅に抑制できることがわかる。その結果、本発明の回転角度センサにおいては、不揮発性メモリの量が少なくなるため、高精度の回転角度センサを低コストで製造することができる。
【００２７】
図６に本発明の回転角度センサを較正するシステムの構成図を示す。回転角度センサは、回転体の回転中心軸に対して所定の角度をなすように配置され、磁界の強さに応じた信号を出力する２つの磁気センサ６０１,６０２と、該磁気センサが配置された位置に、回転体の回転に応じた強さの磁界を発生させる磁石と、２つの磁気センサ出力信号を処理して前記回転体の回転角度を求める信号処理回路６０３とを含んでいる。
【００２８】
回転角度センサ較正装置６０４は上記のように構成された回転角度センサの較正を行うものであり、図７に示すように、回転体を複数の予め定められた回転角度ずつ回転させたときに２つの磁気センサから出力される信号のX成分及びY成分を入力する入力部２００４と、入力部２００４から入力された信号の出力値により表現されるベクトルを回転角度に関してフーリエ級数展開したときのフーリエ係数を計算するフーリエ係数計算部２００２と、フーリエ係数計算部２００２により計算されたフーリエ係数を、回転角度を計算する際の補正値として回転角度センサに出力する出力部２００６とを含んでいる。
【００２９】
より具体的には、回転角度センサ較正装置６０４はパーソナルコンピュータなどで構成することができる。この場合、入力部２００４及び出力部２００６は周知の通信インタフェース及び通信プログラムの機能により実現される。また、フーリエ係数計算部２００２の機能は、パーソナルコンピュータのROMやハードディスクなどに記憶されたコンピュータプログラムを、その中央処理装置（CPU）が読み出して実行することにより達成される。
【００３０】
図８には、本発明の回転角度センサを較正する手順を示す。以下、図８を参照し、本実施形態に係る回転角度センサの較正方法について説明する。
【００３１】
まず、磁石（不図示）と、回転体に配置した磁気センサ６０１,６０２と、回転角度センサ信号処理回路６０３とを用いて回転角度センサを組み立てる(S７０２)。ここで、磁気センサ６０１は磁場のX成分を検出するホール素子、磁気センサ６０２は磁場のY成分を検出するホール素子である。回転角度センサを回転体に取り付ける工程が終了した後、回転角度センサ信号処理回路６０３に、外部の回転角度センサ較正装置６０４を接続する(S７０４)。次いで、回転体を複数の予め定められた回転角度ずつ回転させて２つの磁気センサからの出力値を測定する(S７０６)。この処理は、回転体を１回転させながら回転角度３６０度の範囲における磁気センサ出力信号を回転角度センサ信号処理回路６０３から回転角度センサ較正装置６０４に読み出すことにより行う。これにより、回転角度センサ信号処理回路６０３外部の回転角度センサ較正装置６０４において、磁気センサ出力信号の特性をモデル化するためのフーリエ係数を計算することができる(S７０８)。
【００３２】
次いで、測定された出力値により表現されるベクトルを回転角度に関してフーリエ級数展開したときのフーリエ係数を、回転角度を計算する際の補正値として回転角度センサの記憶装置に記憶させる(S７１０)。これにより、回転角度センサ較正装置６０４において計算されたフーリエ係数は、回転角度センサ信号処理回路６０３が内蔵する不揮発性メモリに書き込まれる。したがって、回転角度センサのシステムの組み立て時に生じた誤差、使用された磁石の着磁ずれによる誤差等の情報を回転角度センサに記憶させることができる。その後、回転角度センサ信号処理装置６０３から回転角度センサ較正装置６０４を切り離す(S７１２)。以上の処理が終了した後、この回転角度センサを用いて回転角度検出動作を開始することができる(S７１４)。
【００３３】
２．回転角度の検出
２．１．フーリエ係数に基づく回転行列係数の計算
本発明の回転角度センサにおいては、回転角度センサ内部において２つの磁気センサ出力信号のホール起電力信号ベクトル(Vx, Vy)を回転角度のステップサイズであるθSTEPの整数倍だけ回転させ、回転後のホール起電力信号ベクトル(Vx', Vy')がx軸を横切るときの回転量をもって検出された回転角度とする。
【００３４】
回転角度３６０度の範囲にわたって磁気センサ出力信号のX成分及びY成分が理想的に互いに９０度位相がずれた正弦波である場合には、次のような回転行列で表現されるベクトル回転計算を行って、回転後のホール起電力信号ベクトルがx軸を横切るまでに要した回転角度を求めればよい。
【００３５】
【数２】
0004340467.tif 000003
【００３６】
しかしながら実際には、回転角度センサの組み立て時の誤差、磁石の着磁ずれ等の理由により、磁気センサ出力信号のX成分及びY成分が位相差９０度の正弦波という理想的な状態から外れている。このため、上記のように正弦波を前提とした信号処理方法では正確な回転角度検出では回転角度検出に誤差が生じる。
【００３７】
そこで、本発明の回転角度センサの不揮発性メモリに記憶されている磁気センサ出力信号の特性をモデル化する情報を用いて上記の誤差要因を補正する。そのために上記の回転行列を次のように変更する。
【００３８】
【数３】
0004340467.tif 000004
【００３９】
ここで回転行列係数(IFTVx(l), IFTVy(l))は、回転角度センサの内部において不揮発性メモリに記憶されているフーリエ係数(FTVx(k), FTVy(k))を基に以下の様にして計算される。図９は、回転角度センサ信号処理回路内に含まれる回転行列係数の計算に関わる制御部分のブロック図を示す。この制御部分は、ROM８０１、不揮発性メモリ８０３、乗算器８０３及び加算器８０４からなる。これらの構成要素のうち、乗算器８０３及び加算器８０４は、回転行列係数計算回路（デジタル回路）を構成する。
【００４０】
ROM８０１には、k及びlの値に応じたcos(２πkl/L)及びsin(２πkl/L)の値が記憶されている。また、不揮発性メモリ８０２には、kの値に応じたフーリエ係数FTVx(k)及びFTVy(k)が記憶される。ここで、フーリエ係数は、回転角度センサに要求される回転角度要求精度および不揮発性メモリの規模に応じて、適切なビット幅に量子化した値として記憶されることが好ましい。
【００４１】
このように構成された制御部分において、不図示の制御装置により、l及びkの値に応じた値がROM８０１及び不揮発性メモリ８０２から読み出されて乗算器８０３に渡される。乗算器８０３では、以下の式のうち、三角関数とフーリエ係数との積に相当する部分の計算を実行する。次いで、加算器８０４が乗算器８０３によって計算された積を用いて加減算処理に相当する部分の計算を実行することにより、回転行列係数 (IFTVx(l), IFTVy(l))が求められる。
【００４２】
【数４】
0004340467.tif 000005
【００４３】
上の式を実際に計算する際には、先に説明した理由によりk＝０付近を除いてほとんどのkの値について(FTVx(k), FTVy(k))がゼロであるから、上の数式で表される信号処理の実際の処理量は、一般の場合に上の数式を計算する場合の処理量と比較して小さくなる。
【００４４】
また、上の式にある（１／L）という正規化定数の乗算は、Lの値を２のべき乗となる値に設定することで、ビットのシフト操作に置き換えることができる。このように乗算操作をシフト操作に置き換えることによって、回転角度センサ信号処理回路をICで実現する場合に回路規模を抑制することができる。
【００４５】
図１０には図４、図５に示したフーリエ係数を基に計算した(IFTVx(l), IFTVy(l))を示した。図１０を参照すると、不揮発性メモリの使用量としては情報量の少ない(FTVx(k), FTVy(k))を用いているにも関わらず、フーリエ係数を基に計算された(IFTVx(l), IFTVy(l))は磁気センサ出力信号の特性を精度よく再現することがわかる。
【００４６】
式(３)に基づいて回転体の回転角度を計算する場合、２つの磁気センサから出力される信号のX成分及びY成分Vx, Vyの間の比を利用して回転角度を計算することになる。このため、たとえ温度変化があっても、２つの磁気センサの温度特性が揃っている限り、本発明の回転角度センサの出力は磁気センサ感度の温度特性及び磁石が持つ温度特性に影響されないことになる。ここで、本発明の回転角度センサにおいては、磁気センサ出力信号のX成分及びY成分の間の比を利用していながら、磁気センサ出力信号のX成分及びY成分の間での除算は行っていない。一般に、除算を実現する回路は複雑になるが、本実施形態では除算を行うことなく磁気センサ出力信号のX成分及びY成分の間の比を利用することで回路を簡単化することができ、結果として回転角度センサの低コスト化を可能にしている。
【００４７】
２．２．線形補間計算による回転角度検出分解能の向上
磁気センサ出力信号の特性をモデル化するためのフーリエ級数の長さLに対して式(４-１),(４-２)で与えられる係数を持つ回転行列を用いて回転角度検出を行った場合、回転角度を検出する分解能は３６０度／Lとなる。例えば図４、図５の例の場合にはL=６４であるため、回転角度の検出分解能はθSTEP＝３６０度／６４＝５．６２５度となる。
【００４８】
磁気センサ出力信号の特性をモデル化するデータを記憶するための不揮発性メモリ量を削減するためには、できるだけLを小さい値にする必要がある。一方で、Lを小さい値にする程、角度分解能が低下する。そこで、本実施形態では不揮発性メモリ量を抑制しながら、同時に回転角度の検出分解能の向上を達成する目的で回転行列係数(IFTVx(l), IFTVy(l))の線形補間を行う。
【００４９】
いま、回転角度位置θに関して隣あう回転行列係数(IFTVx(l), IFTVy(l))と(IFTVx(l+１), IFTVy(l+１))を考える。本実施形態では、回転角度θl＝l×θSTEPとθl+１＝（l+１)×θSTEPの間の角度を分解できるよう２つの角度に対応した回転行列係数(IFTVx(l), IFTVy(l))と(IFTVx(l+１), IFTVy(l+１))の間をα：（１−α）の比で線形補間する。線形補間によって得られる回転行列係数を用いて計算したVy'は次のようになる。
【００５０】
【数１】
0004340467.tif 000006
【００５１】
ここで、２つの磁気センサ出力信号のX成分及びY成分が近似的に互いに位相が９０度ずれた正弦波であることを考慮すると、回転角度センサが角度位置θの位置にあるときVx, Vyは、|V|を信号振幅として、それぞれ近似的に|V| cos(θ)、|V| sin(θ)である。このとき回転行列係数IFTVx(l)、IFTVy(l)は近似的にそれぞれcos(θl)、sin(θl)に比例すると考えることができる。したがって、線形補間計算された回転行列係数を用いて計算されるVy'は近似的に次のようになる。
【００５２】
【数６】
0004340467.tif 000007
【００５３】
回転体の回転角度位置であるθがθlとθl+１の間に位置するときはθl＜θ＜θl+１であるからsin(θ−θl)＞０、sin(θ−θl+１)＜０となる。したがって、回転角度検出誤差に対するVy'の依存性は図１１に示した様になる。
【００５４】
本実施形態においては、ホール起電力信号ベクトルを予め定められた角度ずつ回転させ、x軸を横切るとき（即ち、回転後のホール起電力信号ベクトルとx軸とがなす角度が０度のとき）の角度を求めることにより、回転角度を検出する。図１１において、lに対応した角度だけホール起電力信号ベクトル(Vx, Vy)を回転させた場合、回転後のホール起電力信号ベクトルのY成分Vy'は正であり、l+１に対応した角度だけホール起電力信号ベクトル(Vx, Vy)を回転させた場合、回転後のホール起電力信号ベクトルのY成分Vy'は負となる。一般的に、回転行列係数をnとn+１の間で線形補間する場合には、図１１におけるVy'が補間比率αに対して線形に変化する程、線形補間の誤差が小さくなる。ここでは上の式を見てわかるように、Vy'は、回転後のホール起電力信号ベクトルとx軸とがなす角度が０度となる点付近において、αに対する正弦関数として変化しているため線形性が高い。そのため回転行列係数を線形補間することによる角度検出誤差は、フーリエ係数を計算する際の角度ステップサイズθSTEPの範囲において正弦波を直線で近似するときの誤差と考えることができる。以上の理由によって、本発明の回転角度センサにおいては、線形近似という比較的簡単な操作を用いて、高い回転角度分解能を持つ回転行列係数を精度よく作れることがわかる。
【００５５】
本実施形態において、線形補間は、回転角度の正弦波曲線に対して行われる。図１２は、回転後のホール起電力信号ベクトルとx軸とがなす角度が０度となる点を中心にしてθSTEP＝３６０度／３２＝１１．２５度の範囲で線形補間を行って正弦波を近似した場合の角度検出誤差を示す。回転後のホール起電力信号ベクトルとx軸とがなす角度が０度となる点付近において正弦波を線形補間する本発明の有効性は、従来技術において回転角度を検出するために利用されていた正接関数を線形補間した場合の誤差との比較によっても明確になる。図１３には、回転後のホール起電力信号ベクトルとx軸とがなす角度が０度となる点付近において正接関数を線形近似したときの角度誤差を示す。本発明の回転角度センサにおいては、正弦波の線形近似は必ず回転後のホール起電力信号ベクトルとx軸とがなす角度が０度となる点付近で行われるが、正接関数を利用した従来技術の場合には、回転後のホール起電力信号ベクトルとx軸とがなす角度が４５度となる点付近でも正接関数を線形近似する必要が出てくる。図１４には、回転後のホール起電力信号ベクトルとx軸とがなす角度が４５度となる点付近において、正接関数を線形近似したときの角度検出誤差を示す。図１４を参照すると、図１２と比較して大きな角度検出誤差が発生しており、本発明の線形補間が、従来技術の正接関数tanを利用した線形補間と比べて非常に高い精度を持つものであることがわかる。
【００５６】
上記の線形近似においては、補間比率αを次の式のように設定してθSTEPを２M個の区間に分割することができる。この場合には、回転角度の分解能は３６０度／（L×２M）となる。
【００５７】
【数７】
0004340467.tif 000008
【００５８】
３．回転角度センサの構成
３．１．デジタル回路による回転行列操作の実現方法
図１５に回転行列操作をデジタル回路を用いて実現する場合の信号処理ブロック図を示す。ここでは回転角度センサとして、磁気センサX １４０１及び磁気センサY １４０２にホール素子を用いるものを例に挙げて説明する。図１５における回転角度センサ信号処理回路１４０３はチョッパ駆動回路１４０４、信号増幅回路１４０５、チョッパ復調回路１４０６、サンプルアンドホールド回路１４０７、AD変換器１４０８、ベクトル回転計算回路１４１３、回転行列係数計算回路１４１４、不揮発性メモリ１４１０、デジタルインターフェイス回路１４０９などからなる。なお上記の回転角度センサ信号処理回路１４０３をIC化することにより回転角度センサの小型化、低価格化を図ることができる。
【００５９】
チョッパ駆動回路１４０４は、磁場のX成分を検出する磁気センサX １４０１、及び磁場のY成分を検出する磁気センサY １４０２の持つオフセットを除去する目的で用意される。このチョッパ駆動回路１４０４は、４つの端子から成るホール素子を、互いに角度が９０度異なった方向に交互に駆動することによって、ホール素子から出力されるホール起電力信号を交流信号に変調する。
【００６０】
磁気センサX １４０１及び磁気センサY １４０２から出力されるホール起電力信号は信号増幅回路１４０５において増幅される。増幅された信号はチョッパ復調部１４０６において復調され、交流信号から直流信号へと変換される。この段階において磁気センサX １４０１及び磁気センサY １４０２の持つオフセットと信号増幅部のオペアンプの持つオフセットを除去することができる。
【００６１】
上記の操作によってホール素子のオフセットを除去する技術は、R.S Popovic著, "Hall Effect Devices", Adam Hilger, １９９１等に記載されている。また上記の方法によって増幅回路で使用されるオペアンプのオフセットを補正する方法は"Circuit Techniques for Reducing the Effects of Op-Amp Imperfections : Autozeroing, Correlated Double Sampling, and Chopper Stabilization", PROCEEDINGS OF THE IEEE Vol.８４, No.１１ １９９６等に記載されている。デジタル回路によって回転行列操作を行う場合には、チョッパ復調された信号はサンプルアンドホールド回路１４０７によってサンプルされた後、AD変換器１４０８によってデジタル信号へと変換される。デジタル回路によって回転行列操作を実現する場合には、AD変換されたホール起電力信号のX成分及びY成分がそれぞれVx, Vyに相当する。
【００６２】
ベクトル回転計算回路１４１３は回転行列係数を持つ回転行列により２つの磁気センサからの出力値により表現されるベクトルを回転させるデジタル回路である。このベクトル回転計算回路１４１３においては、式(３)に基づいてホール起電力信号ベクトル（Vx, Vy）の回転計算が行われ、回転後のホール起電力信号ベクトルがx軸を横切るときの回転量を以って検出角度とする。回転行列係数は回転行列係数計算回路１４１１において計算される。回転行列係数計算回路１４１１は不揮発性メモリ１４１０に記憶されたフーリエ係数を使用して２次元の回転行列係数を計算するものであり、ベクトル回転計算回路１４１３と同様デジタル回路である。この回転行列係数計算回路１４１１は、式(４-１)及び(４-２)に基づいて、不揮発性メモリ１４１０に記憶されたフーリエ係数(FTVx(k), FTVy(k))を基にして回転行列係数(IFTVx(l), IFTVy(l))を計算する。
【００６３】
上記のベクトル回転計算回路１４１３と回転行列係数計算回路１４１１とが、不揮発性メモリ１４１０に記憶されたフーリエ係数を使用して回転角度を計算する機能を担う。
【００６４】
回転行列係数計算回路１４１１においては上記の計算のためのcos(２πkl/L), sin(２πkl/L)の値を記憶したROM１４１２が用意される。ここで３６０度をL個の区間に分割することから、この余弦、正弦の値はそれぞれL個必要になる。しかし、先に述べた回転行列の線形補間を用いて回転角度の分割数を増やすため、Lの値は目標とする回転角度検出の分解能に対して比較的小さい値で済ませられる。更に正弦関数、余弦関数の対称性を利用することができるので、ここで必要となるROM１４１２のデータ量は回転角度センサを低コストで実現するうえであまり問題とならない。
【００６５】
組み立てが完了して回転体に取り付けられた磁気センサを含む回転角度センサの較正を行う際には、回転角度センサ信号処理回路１４０３の内部においてAD変換されたホール起電力信号のX成分及びY成分（Vx, Vy）をデジタルインターフェイス回路１４０９を通じて回転角度センサ外部の回転角度センサ較正装置１４１５に出力する。回転角度センサ較正装置１４１５においては、回転角度センサから得られたホール起電力信号ベクトル（Vx, Vy）をフーリエ級数展開したときのフーリエ係数(FTVx(k), FTVy(k))が計算される。計算された(FTVx(k), FTVy(k))は回転角度センサのデジタルインターフェイス回路１４０９を通じて不揮発性メモリ１４１０に書き込まれる。回転角度センサ信号処理回路１４０３による不揮発メモリ１４１０への書き込み操作が終了した後は、回転角度センサ較正装置１４１５が回転角度センサのシステムから切り離されて、回転角度センサは回転角度を検出するための動作が可能な状態になる。
【００６６】
回転角度センサは、回転体の回転角度を計算する際に、先に説明したホール起電力信号ベクトルの回転計算を行う。図１５の回転角度検出回路１４１４においては、回転計算によって得られたホール起電力信号ベクトルがX軸を横切るまでに要した回転量が計算される。回転後のホール起電力信号ベクトルがX軸を横切るかどうかを判定するためには、回転後のホール起電力信号ベクトルのY成分Vy'の符号を判定する。また回転後のホール起電力信号ベクトルがX軸を横切るまでの回転量を求めるために、バイナリ−サーチを用いて、角度分解能が３６０度／（L×２M）の場合に（log２L＋M）回の回転計算を行えばよい。
【００６７】
図１５の例に示すようにデジタル回路を用いて回転行列計算を行う場合、回転角度センサの持つAD変換器１４０８から出力される（Vx, Vy）を使用して計算したフーリエ係数(FTVx(k), FTVy(k))は回転角度センサ内部のAD変換器１４０８のオフセット誤差、ゲイン誤差を反映したものになる。図１５の信号処理回路をIC化する場合、IC内のAD変換器１４０８が持つ上記の誤差はICの個体ごとに異なる。本発明の回転角度センサにおいては、AD変換器１４０８が持つ上記の誤差情報を不揮発メモリ１４１０に記憶されたフーリエ係数に取り込んで扱うため、AD変換器１４０８のオフセット誤差、ゲイン誤差を個体によるばらつきを含めて補正することが可能になる。
【００６８】
以上、AD変換器１４０８の誤差が不揮発性メモリ１４１０に記憶されたフーリエ係数を用いて補正されることを述べたが、本発明の回転角度センサにおいては信号増幅回路１４０５、チョッパ復調回路１４０６などAD変換器１４０８以外の回路が持つ誤差も同様にして補正される。
【００６９】
３．２．スイッチト・キャパシタ回路による回転行列操作の実現方法
図１６に回転行列操作をスイッチト・キャパシタ回路を用いて実現する場合の信号処理ブロック図を示す。ここでは磁気センサとしてホール素子を使用した例を挙げて説明する。図１６における回転角度センサ信号処理回路１５０３は図１５の場合と同様にチョッパ駆動回路１５０４、信号増幅回路１５０５、チョッパ復調回路１５０６、サンプルアンドホールド回路１５０７、回転行列係数計算回路１５１０、不揮発性メモリ１５０９、デジタルインターフェイス回路１５０８などを備えている。図１６においてはベクトル回転計算回路１５１２がスイッチト・キャパシタ回路によって実現される点において図１５の方式と異なっている。
【００７０】
このスイッチト・キャパシタ回路においては、磁場のX成分を検出する磁気センサ１５０１及び磁場のY成分を検出する磁気センサ１５０２からの磁気センサ出力信号のホール起電力信号ベクトル（Vx, Vy）のうち一方の成分が回転行列係数(IFTVx(l), IFTVy(l))の一方の成分を線形補間した結果と乗算されるが、この乗算操作のために図１７の例に示すようなスイッチト・キャパシタ回路を使用することができる。このスイッチト・キャパシタ回路は、X,Y切り替えスイッチ１６０１、乗算器１６０２、リセット機能付き加算器１６０３からなる。スイッチ１６０１は、乗算器１６０２への入力を切り替える。
【００７１】
乗算器１６０２では、VxまたはVyのうち一方の成分が、IFTVx(l)またはIFTVy(l)の一方の成分を線形補間した結果と乗算される。そして、リセット機能付き加算器１６０３が、乗算器１６０２で求められた積の加減算を行うことにより、式(３)の計算を実行する。
【００７２】
次に、図１８及び図１９を参照し、乗算器１６０２及びリセット機能付き加算器１６０３の具体的な回路構成についてそれぞれ説明する。
【００７３】
図１７の中に含まれる乗算回路の一例を図１８に示す。図１８の乗算回路は、以下の式に示されるように入力されたアナログ信号が２つのキャパシタの間の比で決まる値だけ増幅されて出力されるようになっている。そして、可変容量キャパシタを使用してキャパシタ間の比を変えることによって、増幅率を回転行列係数で与えられる値に設定できる。図１８において、PHI１, PHI２は互いにオーバーラップしない２相クロックである。乗算器から出力された信号は図１９の例に示すような加算回路において加算され、回転後のホール起電力信号ベクトルの成分が得られる。
【００７４】
【数８】
0004340467.tif 000009
【００７５】
以上説明したスイッチト・キャパシタ回路を用いた方式においては、図１６に示した様に回転行列係数計算回路１５１０というデジタル回路が必要である。この回転行列係数計算回路１５１０の機能をスイッチト・キャパシタ回路によるベクトル回転計算回路１５１２に取り込むことにより、回転角度センサ信号処理回路の回路規模を抑制し、回転角度センサの更なる低コスト化を図ることができる。以下では、この低コスト化の方法について説明する。
【００７６】
回転行列係数計算回路の機能をスイッチト・キャパシタ回路に取り込むためには、(FTVx(k), FTVy(k))を不揮発性メモリ１５０９に記憶する際に、これらの値自体を不揮発性メモリ１５０９に記憶するのではなく、式(９-１) 及び(９-２)を近似的に満たす角度値αk，βkとして記憶する。ここでαk，βkはともに３６０度をL個の区間に分割したときに得られるL個の角度位置の１つである。式(９-１),(９-２)においてはαk，βkの余弦値を(FTVx(k), FTVy(k))に対応させて不揮発性メモリ１５０９に記憶させることにしたが、余弦の代わりに正弦を利用してもよい。
【００７７】
【数９】
0004340467.tif 000010
【００７８】
不揮発性メモリにαk，βkが記憶されているときの回転角度センサ信号処理回路のブロック図を図２０に示す。図２０における回転角度センサ信号処理回路１９０３は図１６の場合と同様にチョッパ駆動回路１９０４、信号増幅回路１９０５、チョッパ復調回路１９０６、サンプルアンドホールド回路１９０７、スイッチト・キャパシタ回路である回転行列係数・ベクトル回転計算回路１９１１、不揮発性メモリ１９０９、デジタルインターフェイス回路１９０８などを備えている。
【００７９】
図２０においては回転行列係数及びホール起電力信号ベクトルの回転計算をスイッチト・キャパシタ回路である回転行列係数・ベクトル回転計算回路１９１１が行う点において図１６の方式と異なっている。
【００８０】
回転角度センサ信号処理回路１９０３においては、図２０に示すように不揮発性メモリ１９０９から読み出されたαk，βkに対応するcos(αk)，cos(βk)がROM１９１０から読み出される。図２０の回転行列係数・ベクトル回転計算回路１９１１においては、先に式(３),(４-１)及び(４-２)に示した操作を１つのスイッチト・キャパシタ回路によって実現することができる。
【００８１】
式(４-１),(４-２)に示した操作が、三角関数の和、差の公式を利用して、以下の式(１０-１),(１０-２)に示すように変形されることに注意されたい。ここでαk，βkはともに３６０度をL個の角度位置に分割したときの角度位置の１つなので、２つの整数ak, bkを用いてαk＝２πak／L，βk＝２πbk／Lと表すことができる。式(１０-１),(１０-２)において、IFTVx(l)、IFTVy(l)はともに、ROMに格納されたcos，sinの値を加減算することによって得られる。
【００８２】
【数１０】
0004340467.tif 000011
【００８３】
このとき、回転後のホール起電力信号ベクトル(Vx', Vy')は、次の式で表されるようにROM１９１０から読み出したsin，cosに相当するデジタル信号とホール起電力信号ベクトル(Vx, Vy)のX成分及びY成分の積和となる。したがって、先に説明したスイッチト・キャパシタ回路を用いて、この積和計算を行うことにより、回転行列係数の計算とベクトル回転計算を同時に行うことができる。先に説明した図１９の回路は、本来、スイッチト・キャパシタ積分器としてよく知られている回路であり、図１８の乗算器とあわせて積和計算を行うために好適な回路である。回転行列係数・ベクトル回転計算回路１９１１において計算されたホール起電力信号ベクトル(Vx', Vy')がX軸を横切るときのlの値は回転角度検出回路１９１２において検出する。
【００８４】
以上、説明した方法を用いることにより、離散フーリエ変換のためのデジタル回路を用いることなく、回転行列係数の計算とベクトル回転計算がスイッチト・キャパシタ回路のみで実行されるため、回転角度センサ信号処理回路を単純化することが可能になる。結果として、回転角度センサ信号処理回路をIC化する場合にICの低コスト化を図ることができる。
【００８５】
【数１１】
0004340467.tif 000012
【００８６】
以上、本発明の好適な実施の形態について説明したが、本発明は上述の形態に限らず、他の種々の形態で実施できる。例えば、回転体の回転範囲に関しても、較正時に限って回転体を３６０度回転させてフーリエ係数を利用した較正を行い、実際に回転角度センサを使用して回転角度を検出する回転範囲は３６０度未満にするといったことも可能である。
【００８７】
また、本発明の１つの実施形態として、２つの磁気センサが回転体の回転中心軸に対して、ほぼ９０度の角度の位置に配置される場合について説明したが、２つの磁気センサがなす角度が９０度でない場合にも、本発明は適用可能である。
【００８８】
更に、本発明の実施形態として、磁気センサとしてホール素子を用いる例を説明したが、ここでの磁気センサはMR（Magnetic Resistance）素子、MI（Magnetic Impedance）素子、及びフラックスゲート等のホール素子以外の磁気センサも使用可能である。
【００８９】
以下、本発明の実施例について説明する。
【００９０】
【実施例】
磁石として直径φが１０mm、厚さtが２mmのネオジウム系磁石、磁気センサとして旭化成電子（会社名）製のホール素子HG-１０６Cを使用し、着磁ずれのある磁石の位置を意図的にずらした回転角度センサを作製して、２つのホール素子からの出力信号を測定した。
【００９１】
図３は、本実施例によるホール起電力信号のX成分及びY成分の測定値を示す。この測定値に対して、X成分及びY成分それぞれを、長さL=６４のフーリエ級数に展開したときの、８ビットに量子化されたフーリエ係数が図４、図５に示したものである。図３に示した信号のX成分及びY成分それぞれについて、１０バイト（８０ビット）程度の不揮発性メモリがあれば、図１０に示したように、実測値を精度よく再現できることがわかる。
【００９２】
角度の分解能を細分化するため３６０度をL＝６４個に分割した後、本発明の線形補間を用いて各区間を更に６４個に分割したときの回転角度検出精度のシミュレーションを行った。このシミュレーション結果を図２１に示す。
【００９３】
図１０に示したホール起電力信号は、X成分及びY成分それぞれが正弦波から大きくゆがんでおり、X成分及びY成分の振幅も互いに大きく異なっている。このように理想的な正弦波波形から大きくかけ離れたホール起電力信号に対しても、本発明の回転角度センサにおいては図２１に示したような良好な回転角度検出性能が得られる。ここで、理想的な信号からかけ離れたホール起電力信号を補正できるということは、回転角度センサを製造するうえで、安価な磁石、組み立て工程を使用できるということを意味する。このため、本発明の回転角度センサにおいては回転角度センサのシステム全体の低コスト化が可能になる。
【００９４】
【発明の効果】
以上説明したように、本発明の回転角度センサにおいては、少ない不揮発性メモリ量を効率的に利用して回転角度センサの組み立て時の誤差、磁石の着磁ずれ等の影響を補正することが可能である。したがって、本発明によって高精度で安価な回転角度センサを実現することができる。
【図面の簡単な説明】
【図１】回転体の回転中心に対して互いに直角になる位置に配置された２つの磁気センサ出力信号を示す図である。
【図２】組み立て誤差等がなく理想的な場合の２つの磁気センサ出力信号を示す図である。
【図３】組み立て誤差等がある場合の２つの磁気センサ出力信号を示す図である。
【図４】本発明の一実施形態によるフーリエ係数のX成分を示す図である。
【図５】本発明の一実施形態によるフーリエ係数のY成分を示す図である。
【図６】本発明の一実施形態による回転角度センサを較正するシステムの構成図である。
【図７】本発明の一実施形態による回転角度センサ較正装置のブロック図である。
【図８】本発明の一実施形態による回転角度センサの較正を行う処理のフロー図である。
【図９】本発明の一実施形態による回転角度センサにおける、回転行列係数を計算する回路のブロック図である。
【図１０】本発明の一実施形態による回転角度センサにおいて、フーリエ係数を基に計算された回転行列係数(IFTVx(l), IFTVy(l))を示す図である。
【図１１】本発明の一実施形態による回転角度センサにおいて、線形補間によって計算される回転行列係数を使用したときのVy'成分を示す図である。
【図１２】回転後のホール起電力信号ベクトルとx軸とがなす角度が０度となる点付近において正弦関数を線形補間で近似したときの回転角度検出誤差を示す図である。
【図１３】回転後のホール起電力信号ベクトルとx軸とがなす角度が０度となる点付近において正接関数を線形補間で近似したときの回転角度検出誤差を示す図である。
【図１４】回転後のホール起電力信号ベクトルとx軸とがなす角度が４５度となる点付近において正接関数を線形補間で近似したときの回転角度検出誤差を示す図である。
【図１５】本発明の一実施形態において、ベクトル回転計算をデジタル回路で行う場合の信号処理ブロック図である。
【図１６】本発明の一実施形態において、ベクトル回転計算をスイッチト・キャパシタ回路で行う場合の信号処理ブロック図である。
【図１７】本発明の一実施形態において、ベクトル回転計算を行うスイッチト・キャパシタ回路の構成例を示す図である。
【図１８】本発明の一実施形態において、ベクトル回転計算を行うスイッチト・キャパシタ回路の中で用いられる乗算回路の構成例を示す図である。
【図１９】本発明の一実施形態において、ベクトル回転計算を行うスイッチト・キャパシタ回路の中で用いられるリセット機能付き加算回路の構成例を示す図である。
【図２０】本発明の一実施形態において、回転行列係数の計算とベクトル回転計算をスイッチト・キャパシタ回路で行う場合の信号処理ブロック図である。
【図２１】図３に示した磁気センサ出力信号の実測値に対して、本発明の方法を適用して角度検出誤差をシミュレーションした結果を示す図である。
【符号の説明】
６０１  磁場のX成分を検出するホール素子
６０２  磁場のY成分を検出するホール素子
６０３  回転角度センサ信号処理回路
６０４  回転角度センサ較正回路
８０１  ROM
８０２  不揮発性メモリ
８０３  乗算器
８０４  加算器
１４０１  磁場のX成分を検出するホール素子
１４０２  磁場のY成分を検出するホール素子
１４０３  回転角度センサ信号処理回路
１４０４  チョッパ駆動回路
１４０５  信号増幅回路
１４０６  チョッパ復調回路
１４０７  サンプルアンドホールド回路
１４０８  AD変換器
１４０９  デジタルインターフェイス回路
１４１０  不揮発性メモリ
１４１１  回転行列係数計算回路
１４１２  ROM
１４１３  ベクトル回転計算回路
１４１４  回転角度検出回路
１４１５  回転角度センサ較正装置
１５０１  磁場のX成分を検出するホール素子
１５０２  磁場のY成分を検出するホール素子
１５０３  回転角度センサ信号処理回路
１５０４  チョッパ駆動回路
１５０５  信号増幅回路
１５０６  チョッパ復調回路
１５０７  サンプルアンドホールド回路
１５０８  デジタルインターフェイス回路
１５０９  不揮発性メモリ
１５１０  回転行列係数計算回路
１５１１  ROM
１５１２  ベクトル回転計算回路
１５１３  回転角度検出回路
１５１４  回転角度センサ較正装置
１６０１  X,Y切り替えスイッチ
１６０２  スイッチト・キャパシタ回路による乗算器
１６０３  スイッチト・キャパシタ回路によるリセット付き加算器
１９０１  磁場のX成分を検出するホール素子
１９０２  磁場のY成分を検出するホール素子
１９０３  回転角度センサ信号処理回路
１９０４  チョッパ駆動回路
１９０５  信号増幅回路
１９０６  チョッパ復調回路
１９０７  サンプルアンドホールド回路
１９０８  デジタルインターフェイス回路
１９０９  不揮発性メモリ
１９１０  ROM
１９１１  回転行列係数・ベクトル回転計算回路
１９１２  回転角度検出回路
１９１３  回転角度センサ較正装置
【図１】
0004340467.tif 000013
【図２】
0004340467.tif 000014
【図３】
0004340467.tif 000015
【図４】
0004340467.tif 000016
【図５】
0004340467.tif 000017
【図６】
0004340467.tif 000018
【図７】
0004340467.tif 000019
【図８】
0004340467.tif 000020
【図９】
0004340467.tif 000021
【図１０】
0004340467.tif 000022
【図１１】
0004340467.tif 000023
【図１２】
0004340467.tif 000024
【図１３】
0004340467.tif 000025
【図１４】
0004340467.tif 000026
【図１５】
0004340467.tif 000027
【図１６】
0004340467.tif 000028
【図１７】
0004340467.tif 000029
【図１８】
0004340467.tif 000030
【図１９】
0004340467.tif 000031
【図２０】
0004340467.tif 000032
【図２１】
0004340467.tif 000033