(57)【要約】 【課題】  ０クロッシングポイントの概略位置をより短時間で求めることができるようにする。【構成】  磁気式の位置センサは、複数個の磁気検出素子を直線上に配列したアレイにより、一対の磁極からの磁束密度がアレイの長手方向に垂直な平面内で０となる０クロッシングポイントを検出する。磁気検出素子は磁束密度の方向が反転すると、出力の極性が変化する素子で、アレイから磁気検出素子の出力をｋ個毎に読み出し（ｋは２以上の整数）、０クロッシングポイントの概略位置を検出する。そして０クロッシングポイントの両側の少なくとも２個の磁気検出素子の出力を用いて、０クロッシングポイントの位置を検出する。【選択図】    図５
2014178283.tif 000002
【特許請求の範囲】
【請求項１】
複数個の磁気検出素子を直線上に配列したアレイにより、一対の磁極からの磁束密度がアレイの長手方向に垂直な平面内で０となる０クロッシングポイントを検出するようにした磁気式の位置センサにおいて、
前記磁気検出素子は磁束密度の方向が反転すると、出力の極性が変化する素子であり、
前記アレイから磁気検出素子の出力をｋ個毎に読み出し（ｋは２以上の整数）、読み出した出力を用いて、０クロッシングポイントの概略位置を検出する０クロッシングポイント概略検出部と、
０クロッシングポイントの両側の少なくとも２個の磁気検出素子の出力を用いて、０クロッシングポイントの位置を検出する位置検出部、とを備えていることを特徴とする磁気式の位置センサ。
【請求項２】
検出対象の磁極が存在しない環境での前記アレイの各磁気検出素子からの出力を補正するための補正データを記憶する不揮発性のメモリと、
前記不揮発性メモリ中の補正データにより、各磁気検出素子からの出力を補正するための補正部、とをさらに備えることを特徴とする、請求項１の磁気式の位置センサ。
【請求項３】
前記０クロッシングポイント概略検出部は、前記直線の左右一方向に沿ってｋ個毎に磁気検出素子の出力を読み出し、前記一対の磁極の内で下流側の磁極を検出することにより、０クロッシングポイントの概略位置を検出するように構成されていることを特徴とする、請求項１または２の磁気式の位置センサ。  
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は磁気式の位置センサに関し、特に短周期でかつ正確に位置を検出できる磁気式の位置センサに関する。
【背景技術】
【０００２】
出願人は、コイルアレイにより磁石等の磁気マークを検出する、磁気式の位置センサを開発した（例えば特許文献１  特開2008-209393）。この位置センサでは、磁極の表面に平行にコイルアレイを配置すると、コイルアレイの長手方向に沿ってsin波状に磁束密度が変化することを前提としている。しかしながら実際には、コイルアレイと磁極表面との間隔にはバラツキがある。そして標準的な間隔から外れると、磁束密度の強度はsin波から外れて三角波あるいは台形波に近くなり、検出誤差の原因となる。  
【０００３】
上記の位置センサの他の問題として、高速で、即ち短い繰り返し周期で、位置を検出することが難しい点がある。上記の位置センサでは、コイルアレイに交流を加え、コイルに加わる電圧、電流等の位相が０となる点で位置を検出する。コイル電流の周波数を大きくするのは難しいので、交流の周波数により、時間当たりの検出回数が制限される。  
【０００４】
コイルの代わりにホール素子等の磁気検出素子を用いる位置センサとして、特許文献２（特開2007-178158）のものが知られている。この位置センサでは、磁気検出素子のアレイにより磁石対からの磁束密度を検出し、磁束密度が０となる点、即ち一対の磁石の中間点を検出する。この点を０クロッシングポイントと呼ぶと、０クロッシングポイントの両側で磁気検出素子の出力は符号が反転し、かつ磁束密度はほぼ直線状に変化する。そこで０クロッシングポイント付近の磁気検出素子の出力分布を近似する直線を最小２乗法により求め、直線の値が０となる点を０クロッシングポイントとする。０クロッシングポイントを正確に求め、かつある程度の測定レンジを持つためには、多数の磁気検出素子をアレイに並べる必要がある。しかし多数の磁気検出素子の出力を走査して、０クロッシングポイントの位置を求めるには、処理時間を要する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2008-209393
【特許文献２】特開2007-178158
【発明の概要】
【発明が解決しようとする課題】
【０００６】
この発明の課題は、０クロッシングポイントの位置をより短時間で求めることができるようにし、時間当たりの位置の検出回数を増すことにある。
【課題を解決するための手段】
【０００７】
この発明は、複数個の磁気検出素子を直線上に配列したアレイにより、一対の磁極からの磁束密度がアレイの長手方向に垂直な平面内で０となる０クロッシングポイントを検出するようにした磁気式の位置センサにおいて、
前記磁気検出素子は磁束密度の方向が反転すると、出力の極性が変化する素子であり、
前記アレイから磁気検出素子の出力をｋ個毎に読み出し（ｋは２以上の整数）、読み出した出力を用いて、０クロッシングポイントの概略位置を検出する０クロッシングポイント概略検出部と、
０クロッシングポイントの両側の少なくとも２個の磁気検出素子の出力を用いて、０クロッシングポイントの位置を検出する位置検出部、とを備えていることを特徴とする。
【０００８】
このようにすると、アレイの全ての磁気検出素子の出力を走査するのではなく、ｋ個毎に出力を走査すればよいので、走査する素子の数を減らし、より高速で０クロッシングポイントの概略位置を求めることができる。なお毎回ｋ個毎に走査する必要はなく、前回のデータから０クロッシングポイントの概略位置を推定できる場合、推定位置を用いればよい。
【０００９】
好ましくは磁気式の位置センサは、検出対象の磁極が存在しない環境での前記アレイの各磁気検出素子からの出力を補正するための補正データを記憶する不揮発性のメモリと、前記不揮発性メモリ中の補正データにより、各磁気検出素子からの出力を補正するための補正部、とをさらに備える。
【００１０】
磁気検出素子には、外部からの磁界がなくても出力が０にならないものがある。そこでこのような出力のオフセット誤差を求めて、補正データを不揮発性メモリに記憶すると、オフセット誤差の影響を小さくできる。例えば図８はオフセット誤差の補正前の検出誤差、図７はオフセット誤差の補正後の検出誤差である。
【００１１】
また好ましくは、前記０クロッシングポイント概略検出部は、前記直線の左右一方向に沿ってｋ個毎に磁気検出素子の出力を読み出し、前記一対の磁極の内で下流側の磁極を検出することにより、０クロッシングポイントの概略位置を検出するように構成されている。
【００１２】
一対の磁極の内でどちらが上流でどちらが下流にあるかが位置センサにとって既知とすると、例えば上流側から下流側へｋ個毎に磁気検出素子の出力の極性を読み出し、下流側の磁極を検出する。するとその位置からｋ個上流側の磁気検出素子までの間に、０クロッシングポイントが有り、高速で０クロッシングポイントの概略位置を求めることができる。
【図面の簡単な説明】
【００１３】
【図１】実施例でのホール素子アレイの配置を模式的に示す図
【図２】実施例での信号処理回路のブロック図
【図３】図２の処理部の構成を示すブロック図
【図４】実施例での位置検出アルゴリズムを示すフローチャート
【図５】実施例での位置の算出原理を示す図
【図６】磁極表面からの距離と磁束密度とを示す図
【図７】ホール素子のオフセット補正後の位置センサの誤差を示す図
【図８】ホール素子のオフセット補正前の位置センサの誤差を示す図
【図９】変形例での位置検出アルゴリズムを示すフローチャート
【発明を実施するための形態】
【００１４】
以下に本発明を実施するための最適実施例を示す。この発明の範囲は、特許請求の範囲の記載に基づき、明細書の記載とこの分野での周知技術とを参酌し、当業者の理解に従って定められるべきである。
【実施例】
【００１５】
図１〜図８に、実施例での磁気式の位置センサ２とその特性を示す。各図において、４はホール素子アレイで、５，６は個々のホール素子である。この発明ではｋ個毎にホール素子の出力を走査し、０クロッシングポイントの概略位置を検出する。ｋの値は例えば２，４，６，８，１２等で、実施例ではｋ＝４として説明する。そして走査時に出力を読み出すホール素子（ｋ個毎に配置）を６で表し、他のホール素子を５で表す。ホール素子アレイ４の全長は例えば50mm〜500mm程度で、合計で例えば数十個〜数百個のホール素子５，６を１直線上に配列する。各ホール素子には直流電源８から電流を加え、ホール起電力を出力として取り出す。
【００１６】
１０は磁石対で、一対の磁極１１，１２が、表面がホール素子アレイと平行に向き合うように間隔を置いて配置されている。磁極は、図１の左側（＋Ｘ側）にＮ極１１、右側（−Ｘ側）にＳ極１２が配置され、周囲を鋼板等のヨーク１４で囲って、磁石対１０の取り付けに用いると共に、外部磁界を遮断する。磁極１１，１２は極性が逆で、磁力が等しく、磁極１１，１２の中間を通って、ホール素子アレイ４の長手方向に垂直な面内では、Ｘ軸に垂直な磁束密度は０となる。そしてこの面とホール素子アレイ４との交点が０クロッシングポイントである。この明細書では、ホール素子アレイ４に平行な方向をＸ軸とし、図１の左側を＋Ｘ、右側を−Ｘとする。０クロッシングポイントの周囲での位置を表すため、磁極１１の＋Ｘ側の端部を+180°、磁極１２の−Ｘ側の端部を-180°とする位相を用いる。またホール素子アレイ４内でのホール素子５，６の番号をホール素子のアドレスとし、ホール素子アレイ４内での位置を表すために用いる。アドレスは＋Ｘ側が先頭で小さく、−Ｘ側が末尾で大きいものとする。
【００１７】
実施例では、ホール素子アレイ４等の磁気式位置センサ２が移動体に搭載され、磁石対１０等の被検出用の磁気マークが地上側に固定されているものとする。そして１対の磁極１１，１２の代わりに、多数個の磁極を、１個毎に極性が反転するように、配列しても良い。また常時位置を検出できるように、ホール素子アレイ４の検出レンジよりも短い間隔で磁石対１０を繰り返し配置しても良い。この場合に、磁石対１０の間隔が一定である必要はない。また特定のレンジが重要な場合、例えば工作機械で工具等を精密送りするレンジ、あるいは何らかの位置決めを行うレンジ等を検出する場合、磁石対１０をそのレンジにのみ配置しても良い。また実施例とは逆に、磁気式位置センサ２を地上側に固定し、磁気マークを移動体に搭載しても良い。さらに磁石対１０の代わりに、リニアモータ用の磁石の列等を磁気マークとして検出しても良い。この明細書では、ホール素子アレイ４とその駆動回路とを磁気式の位置センサ２とし、磁石対１０等は位置センサ２の外部にあるものとする。
【００１８】
図２に磁気式の位置センサ２の駆動回路を示す。マルチプレクサ１８はアンプ２０へ接続するホール素子５，６を切り換え、アンプ２０はホール起電力を増幅すると共に積分フィルタ等により起電力中の高周波成分を除去する。ADコンバータ２２は例えば1MHz以上の高速ADコンバータで、8-16ビット程度の分解能で、その出力を処理部１６が記憶する。また処理部１６は、ADコンバータの出力からホール素子５，６毎に固有の補正値を引き算し、引き算後の出力から０クロッシングポイントを検出する。この補正値は、磁石対１０からの磁界がない状態でのホール素子の出力で、不揮発性のメモリから成る補正テーブル２４に記憶する。
【００１９】
処理部１６の詳細を図３に示す。クロック発生部２５はホール起電力の読み出しからメモリ３４への記憶までのタイミング信号を発生し、この信号に従ってマルチプレクサ１８を切り換え、アドレス制御部２６，３０がデータの読み出しと書き込みのアドレスを発生する。アドレス制御部２６はADコンバータ２２の信号をメモリ２８へ書き込む際のアドレスを発生し、アドレス制御部３０は補正テーブル２４からの読み出しアドレスと、メモリ３４への書き込みアドレスとを発生する。差分部３２はADコンバータ２２の出力から、同じホール素子に対する補正テーブル２４のデータ（補正用起電力）を引き算する。以上の処理により、ホール素子５，６毎のオフセット（外部磁界がない環境でのホール起電力）を補正した起電力を、ホール素子５，６の起電力が例えば100KHz以上の周期で更新されるように、メモリ３４へ書き込む。
【００２０】
コア部３６はCPU３８とレジスタ３９、あるいは他のキャッシュメモリと、プログラムメモリ４０とを備え、プログラムの内容は図４に示す。プログラム駆動のCPU３８の代わりに、デジタルシグナルプロセッサ、ゲートアレイ等の他の演算素子を用いても良い。コア部３６を機能ブロックとして図３の下側に示すと、０クロッシングポイント概略検出部４４は０クロッシングポイントの両側のホール素子のアドレスを求め、位置検出部４５は０クロッシングポイントの左右の各１素子〜各４素子の出力から、０クロッシングポイントの正確な位置を検出する。
【００２１】
ホール素子５，６のアドレスと実際の位置との間の誤差等を除くため、好ましくはリニアリティ補正部４２を設ける。リニアリティ補正部４２は、コア部３６が求めた位置を、誤差を補正済みの位置へ変換するための変換表、あるいはホール素子５，６のアドレス毎の位置のオフセットのテーブルとオフセットを除くための加減算回路、等で構成する。
【００２２】
図４，図５に位置検出のアルゴリズムを示す。ホール素子５，６は外部磁界が無い場合でも起電力を生じることがあり、ノイズとなる磁界がない環境でホール素子からの出力（ADコンバータ２２の出力）を不揮発性メモリから成る補正テーブル２４へ書き込む（ステップ１）。また地磁気等の常時存在する外部磁界は遮断する必要がない。
【００２３】
図２，図３のマルチプレクサ１８〜差分部３２は、各ホール素子５，６の出力をオフセット補正し、メモリ３４へ書き込むサイクルを実行する。コア部３６はステップＳ３〜Ｓ５を、メモリ３４への書き込みサイクルと同じ時間内に実行する。ステップ３では、ホール素子６の出力のみを走査し、言い換えるとk個毎に出力を走査し、左側の素子がn極からの磁束密度を受け（記号n）、右側の素子がs極からの磁束密度を受けて（記号s）、ホール素子の対を検出する。例えば＋Ｘ側にＮ極１１が−Ｘ側にＳ極１２が有り、＋Ｘ側から−Ｘ側へｋ個毎に磁気検出素子６の出力を読み出す。磁気検出素子（ホール素子）の出力が始めてｓ（Ｓ極１２を検出）となった際に、そのｋ個上流側のホール素子は必ずＮ極１１を検出している。このことは、ｋ個のホール素子のスパン（ホール素子のピッチをaとして、ｋ×ａ）が１個の磁極の長さ以下であれば、成り立つ。そこで０クロッシングポイントは、出力が始めてｓとなったホール素子とそのｋ個上流のホール素子との間にあることが分かる。走査の方向は−Ｘ側から＋Ｘ側向きでも良く、また０クロッシングポイントの概略位置を推定できる場合、推定位置の上流あるいは下流の一方から他方へと走査すればよい。ステップ４で、このペアの間の３個の素子の出力、及び条件によってペアの外側の１個の素子の出力とを読み出し、出力の極性が（n,s）の順となる２素子、あるいは極性が（n,n,s,s）の順となる４素子等、適宜の個数の素子を抽出する。これらの素子の出力を（n-1,s+1）、あるいは（n-2,n-1,s+1,s+2）とする。また前記の２素子は、０クロッシングポイントに最近接した２素子である。
【００２４】
ステップ５で、０クロッシングポイントの左側の素子の出力（n-1）と、右側の素子の出力（s+1）と、２素子の出力の和Ｔ＝｜n-1｜+｜s+1｜とを求める。なお出力は起電力の絶対値である。０クロッシングポイントの位置をＰとし、例えば出力がn-1のホール素子の位置をＰn-1、ホール素子のピッチをaとすると、０クロッシングポイントの位置Ｐは  
Ｐ＝−｜n-1｜／（｜n-1｜＋｜s+1｜）×ａ＋Ｐn-1  で与えられる。ここで先頭の−は、図１の左側を＋Ｘと定めたためである。なおホール素子の位置はそのアドレスから判明し、Ｐ＝＋｜s+1｜／（｜n-1｜＋｜s+1｜）×ａ＋Ｐs+1 等としても良い。０クロッシングポイントの両側の隣接した２素子を用いると、位置を正確にかつ少ない演算量で検出できるが、それには限らない。例えば前記の例では、出力がn-2の素子と出力がs+1の素子等を用いても良い。また例えば４個の素子の出力を求める場合、４個の素子の出力に合致する直線を求め、この直線で出力が０となる点を０クロッシングポイントとしても良い。
【００２５】
図５に０クロッシングポイントの付近での、ホール素子の出力を示す。０クロッシングポイントは磁石対での一対の磁極から対称な位置にあり、ホール素子アレイと磁石対との距離が変動し、磁束密度の強度分布が変動しても影響を受けない。また磁束密度は０クロッシングポイントの両側の位相が±３０°程度の範囲でほぼ直線状に変化する。そして磁束密度が直線状に変化する範囲のホール素子、特に０クロッシングポイントに最近接した２個のホール素子、あるいは０クロッシングポイントに最近接の４個のホール素子等を抽出し、０クロッシングポイントの位置を求める。さらに、磁束密度の比を用いるので、磁束密度の強弱が変動し、またホール素子の起電力が周囲温度等により変動しても、影響は小さい。
【００２６】
図６〜図８にデータを示す。図６は磁極表面からの距離による磁束密度の変化を示し、距離が大きすぎても小さすぎても、磁束密度の分布はsin波から外れてくる。ここで磁束密度が左側でｎ，右側でｓとなる点は０クロッシングポイントのみである。そしてｋ個毎にホール素子の出力を抽出する場合、ｋ個のホール素子の配列長さ、即ちａをホール素子のピッチとして、ａ×ｋがホール素子アレイの長手方向での１個の磁極の長さ以下であれば、０クロッシングポイントを見逃すことがない。なお磁石をほぼ隙間なく交互に繰り返して配置する場合も同様にk個毎にホール素子の出力を抽出する。その場合は、磁束密度がｎからｓへ変化することのみでなく、ｓからｎへ変化することも検出できる。
【００２７】
図７はホール起電力のオフセットを補正した際の誤差を、図８はオフセットを補正しなかった際の誤差を示し、いずれも基準となる信頼性の高いセンサからの誤差を示す。なおいずれも、磁極とホール素子アレイとの間隔が5mmの位置で求めたデータにより、リニアリティを補正データした。オフセット補正により誤差は1/2〜1/3に減少した。
【００２８】
図９に変形例の位置検出アルゴリズムを示し、図４と同じステップは同じ符号で表す。図４のステップ２〜５を実行する際に、適宜のタイミングで０クロッシングポイントの両側のホール素子のアドレスをレジスタに記憶する。次の位置の検出では、記憶したアドレスの対の間に０クロッシングポイントがあるか否かを確認し（ステップ７）、有ればステップ３の走査を省略でき、無ければステップ３の走査を実行する。このアルゴリズムは、前回の０クロッシングポイントから今回の０クロッシングポイントを推定するもので、推定の手法は適宜に変更できる。例えば０クロッシングポイントの左右各２素子等の範囲で０クロッシングポイントを探索しても良い。また図１の状況で右側の磁石対１０ｂが検出レンジに入り、元の磁石対１０が検出レンジから外れると、ステップ７の次にステップ３を実行する。
【００２９】
実施例では以下の効果が得られる。
1)  k個毎のホール素子６のホール起電力を走査して、０クロッシングポイントの概略位置を求めるので、全てのホール素子５，６を走査するよりも時間を要しない。特にｋ個毎にホール素子の出力を走査し、始めてＳ極あるいはＮ極を検出するホール素子を抽出した時に走査を打ち切ると、処理時間をさらに短縮できる。
2)  出力の比を用いるため、コア部３６で最も時間を要する除算は１回で足り、時間を要しない。
3)  ホール素子の起電力のオフセットを補正するので、正確な位置検出ができる。
4)  ０クロッシングポイントを検出するので、磁石列からの磁束密度がsin波状か三角波状か台形状か等の影響を受けない。
5)  出力の比を用いるので、磁石列から受ける磁束密度の強弱、ホール素子５，６の温度係数等の影響を小さくできる。
【００３０】
実施例では、ホール素子５，６を用いたが、磁束密度の方向と磁束密度の強弱を検出でき、かつコイルではない、他のホール素子を用いても良い。実施例ではｋ＝４の例を説明したが、ｋ＝２，６，８，１２等でも良く、k個分のホール素子の配列長さが、磁石１個の長さ（ホール素子アレイの長手方向に沿った長さ）以下であることが好ましい。また０クロッシングポイントの左右各１素子の出力を用いたが、左右各２素子、あるいは左右各４素子等でも良い。検出の精度が低くても良い場合、補正テーブル２４とリニアリティ補正部４２は不要である。極端な高速性が要求される場合、０クロッシングポイントの推定位置付近のホール素子の出力のみをメモリ３４へ書き込んでも良い。
【符号の説明】
【００３１】
２          磁気式の位置センサ
４          ホール素子アレイ
５，６      ホール素子
８          直流電源
１０        磁石対
１１        Ｎ極
１２        Ｓ極
１４        ヨーク
１６        処理部
１８        マルチプレクサ
２０        アンプ
２２        ADコンバータ
２４        補正テーブル
２５        クロック発生部
２６，３０  アドレス制御部
２８        メモリ
３２        差分部
３４        メモリ
３６        コア部
３８        CPU
３９        レジスタ
４０        プログラムメモリ
４２        リニアリティ補正部
４４        ０クロッシングポイント概略検出部
４５        位置検出部    
【図１】
2014178283.tif 000003
【図２】
2014178283.tif 000004
【図３】
2014178283.tif 000005
【図４】
2014178283.tif 000006
【図５】
2014178283.tif 000007
【図９】
2014178283.tif 000008
【図６】
2014178283.tif 000009
【図７】
2014178283.tif 000010
【図８】
2014178283.tif 000011