【実施例1】
【0014】
図1には、本発明の実施例1であるエンコーダを示している。エンコーダは、スケール10と、センサ20と、信号処理部30とにより構成される。本実施例のエンコーダは、スケール10とセンサ20との相対変位量、つまりは相対位置を検出する反射型の光学式インクリメンタルエンコーダであり、交換レンズや撮像装置等の光学機器、ロボットアームおよび搬送装置を含む各種装置に搭載される。
【0015】
本実施例では、スケール10が上記装置における可動部材としての回転軸50に一体回転するよう取り付けられ、センサ20は該装置の筐体等の固定部材に取り付けられて、上記相対位置として回転軸50の回転角を検出するロータリエンコーダについて説明する。なお、スケール10が固定部材に取り付けられ、センサ20が回転軸50に一体回転するよう取り付けられてもよい。
【0016】
図2には、スケール10上に設けられた複数(本実施例では2つ)の同心リング状のパターントラック11,12の一部を拡大して示している。パターントラック(以下、単にトラックという)11,12にはそれぞれ、格子としての反射部(図中の黒色部分)と非反射部(図中の白色部分)とが周方向に交互に配置された周期パターンが設けられている。トラック11の周期パターン(第1の周期パターン)における1周分の格子の数は736であり、トラック12の周期パターン(第2の周期パターン)における1周分の格子の数は785である。つまり、トラック11の周期パターンの周期(=360°/736)とトラック12の周期パターンの周期(=360°/785)とは互いに異なっている。
【0017】
以下の説明において、トラック11,12の周期方向、つまりはスケール10の周方向を、検出方向という。
【0018】
センサ20において、
図3に示すように、複数(2つ)の受光部21,22と1つの光源23とが同一平面上に配置されている。光源23からトラック11に照射され、該トラック11の反射部で反射した光を受光部21で受光し、光源23からトラック12に照射され、該トラック12の反射部で反射した光を受光部22で受光する。受光部21,22はそれぞれ、検出方向に配列された複数の受光素子を含む受光素子アレイにより構成されている。スケール10とセンサ20とが相対変位すると、その相対変位量に応じて受光部21,22における各受光素子が受光する反射光の強度が変化する。センサ20は、受光部21における受光強度の変化に応じた正弦波状の信号(第1の周期信号)を出力するとともに、受光部22における受光強度の変化に応じた正弦波状の信号(第2の周期信号)を出力する。
【0019】
より詳細に説明すると、受光部21,22において、各受光素子は、検出方向においてλ/2の幅を有する。λは、トラック11の周期パターンの周期(=360°/736)とトラック12の周期パターンの周期(=360°/785)の双方に十分に近い周期を示す。
【0020】
また、本実施例では、光源23と受光部21,22がセンサ20における同一の平面上に配置された反射光学系である。このため、光源23から各トラックに照射されて該トラックで反射した光によって各受光部に投影される各トラックの像(周期パターン像)は、スケール10上の各トラックの2倍に拡大された像となる。つまり、各受光部上で検出方向にλ/2の幅は、各トラック上ではλ/4に相当する。
【0021】
本実施例では、各受光部における複数の受光素子の出力を、A(+),B(+),A(−)およびB(−)の4つに分け、
A=A(+)−A(−)
B=B(+)−B(−)
を演算する。これにより、受光部21は、第1の周期信号として、互いに90度の位相差を有する(直交する)2相の正弦波信号である2相信号(A,B)を出力する。また、受光部22は、第2の周期信号として、互いに直交する2相の正弦波信号である2相信号(A,B)を出力する。つまり、2つの受光部21,22から2組の2相信号が出力される。
【0022】
ここで、周期λの周期パターンを読み取る際における各受光部の複数の受光素子からの出力(A(+),B(+),A(−)およびB(−))の取り出し方を
図4(A)に示す。周期λの周期パターンを読み取って、互いに直交する2相の正弦波信号を生成するには、検出方向において互いにλ/2ずれた位置での受光量に応じた信号を取り出せばよい。このため、
図4(A)に示すように、各受光部の複数の受光素子のうち互いに隣接した4つの受光素子を1組とし、各組の4つの受光素子からの出力を、検出方向の順に、A(+),B(+),A(−),B(−)として取り出す。なお、センサ20は、各受光部上で特定の位置における受光強度を示す信号を出力するため、センサ20の位置がスケール10の径方向にずれて、その位置において読み取るトラックの周期がλから多少ずれても、スケール10の1周の格子数に応じた周期の2相信号が生成される。
【0023】
図1において、信号処理部30は、センサ20(受光部21,22)からの2組の2相信号を用いて変位量検出処理を行い、回転軸50の回転角(相対変位量)を出力する。
【0024】
信号処理部30は、
図5に示すように、受光部21からの2相信号(アナログ信号)が入力されるADコンバータ311と、受光部21からの2相信号(アナログ信号)が入力されるADコンバータ312とを有する。また、信号処理部30は、ADコンバータ311から出力される2相信号(デジタル信号)を処理する逆正接演算部321、累積演算部331、単位換算部341および振幅検出部351を有するとともに、ADコンバータ312から出力される2相信号(デジタル信号)を処理する逆正接演算部322、累積演算部332、単位換算部342および振幅検出部352を有する。さらに、信号処理部30は、単位換算部341,342および振幅検出部351,352からの信号が入力される変位量検出部36を有する。
【0025】
なお、信号処理部30は、1つのコンピュータによって構成されており、コンピュータプログラムとしてのエンコーダ演算プログラムに従って、ADコンバータ311,312、逆正接演算部321,322、累積演算部331,332、単位換算部341,342,振幅検出部351,352および変位量検出部36での処理を実行する。言い換えれば、ADコンバータ311,312、逆正接演算部321,322、累積演算部331,332、単位換算部341,342,振幅検出部351,352および変位量検出部36は、信号処理部30が行う変位量検出処理に含まれる複数段階の処理ステップを示す。
【0026】
次に、信号処理部30において行われる変位量検出処理について説明する。信号処理部30において、ADコンバータ311,312はそれぞれ、受光部21,22からの2相信号をデジタル信号に変換する。ADコンバータ311,312は所定時間ごとに動作し、以降の処理はこの変換ごとに行われる。以下の説明では、ADコンバータ311,312でのデジタル変換後の2相信号の値をそれぞれ、(x
1,i,y
1,i)、(x
2,i,y
2,i)とする。ただし、iはADコンバータ311,312での変換回数を示す自然数である。
【0027】
逆正接演算部321,322はそれぞれ、ADコンバータ311,312からの2相信号から位相を求める。2相信号は互いに直交する正弦波信号であるから、逆正接演算によって1周期内での位置を表す位相を求めることができる。本実施例では、位相を8ビット、つまり0から255までの範囲の整数値で表す。以下、受光部21,22(ADコンバータ311,312)からの2相信号から得られた位相をそれぞれ、p
1,i,p
2,iとして説明する。
【0028】
累積演算部331,332はそれぞれ、ADコンバータ311,312の動作タイミングごと(つまり所定時間ごとに)逆正接演算部321,322で得られる位相の変化量を演算し、該位相変化量を累積する。本実施例のエンコーダは変位量(回転角)を求めるが、逆正接演算部321,322で求めた位相だけでは変位量を求めることはできず、位相変化量を累積することによって変位量を求めることができるようになる。以下の説明では、位相変化量を累積した値を位相累積値という。累積演算部331,332は、逆正接演算部321,322にてi番目の位相が求められるたびに、i−1番目の位相との差を求め、その差を累積して位相累積値を求める。
【0029】
ここで、トラック11,12に設けられた周期パターンに含まれる格子数はそれぞれ736,785である。このため、累積演算部331,332で求められる位相変化量および位相累積値の単位はそれぞれ、360/(736×256)度および360/(785×256)度になる。このように、累積演算部331,332はそれぞれ、トラック11,12の周期パターンの周期の整数分の一を単位として、スケール10とセンサ20との所定時間ごとの相対変位量を示す位相変化量を求め、これを累積して位相累積値(累積変位量)を求める。
【0030】
ただし、0番目の位相は存在しないため、初期値としての0番目の位相は0とする。また、位相は0から255までの範囲(所定範囲)内の値を取り、0よりも小さくなる方向または255よりも大きくなる方向に変位すると位相が折り返す。そこで、i番目とi−1番目の位相の差が128以上もしくは−129以下となる場合は位相が折り返したと判断して、位相の差の値を−128から+127の範囲に正規化する。例えば、位相が5から10に変化した場合の位相の差は(10−5=)+5とし、5から255に変化した場合の位相の差は(255−5=250≧128のため250−256=)−6とする。
【0031】
さらに、本実施例では、位相累積値についてもスケール10がセンサ20に対して1回転するごとに値が折り返す構成とする。トラック11,12の格子数はそれぞれ736,785であるから、トラック11,12に対応する位相累積値はそれぞれ、736×256−1,785×256−1を超えると折り返す。このことは位相累積値をa
1,i,a
2,iとすると、以下の式(1)〜(3)で表される。ただし、a
1,0=0、p
1,0=0、a
2,0=0、p
2,0=0とし、MOD(x,y)はxを被除数とし、yを除数としたときの剰余を表す。
【0032】
【数1】
【0033】
単位換算部341,342は、累積演算部331,332で求められた位相累積値の単位を揃える。本実施例では、累積演算部331,332で求められた位相累積値をともに0.01度単位となるように換算する。前述したように、累積演算部331,332で求められる位相累積値の単位はそれぞれ360/(736×256)度および360/(785×256)度である。このため、単位換算部341は、累積演算部331で求められた位相累積値を0.01÷(360/(736×256))倍する。また、単位換算部342は、累積演算部332で求められた位相累積値を、0.01÷(360/(785×256))倍する。これにより、累積演算部331,332で求められた位相累積値が0.01度単位に換算される。
【0034】
この計算は、単位換算部341,342で換算される0.01度単位の位相累積値をそれぞれd
1,i,d
2,iとすると、以下の式(4),(5)で表される。ただし、ROUND(x)はxの小数第一位を四捨五入した整数値を表す。
【0035】
【数2】
【0036】
振幅検出部351,352はそれぞれ、ADコンバータ311,312からの2相信号の振幅を検出する。具体的には、振幅検出部351,352はそれぞれ、ADコンバータ311,312からの2相信号(x
1,i、y
1,i),(x
2,i、y
2,i)から、式(6),(7)に示すように、リサージュ半径r
1,i,r
2,iを振幅として求める。
【0037】
【数3】
【0038】
変位量検出部36は、振幅検出部351,352で求められた振幅r
1,i,r
2,iと、単位換算部341,342で単位が揃えられた位相累積値d
1,i,d
2,iとから最終的なスケール10とセンサ20との相対変位量の検出値である回転角(検出変位量)θを求める。
【0039】
変位量検出部36は、振幅検出部351,352で求められた振幅r
1,i,r
2,iがともに後述する規格範囲内であれば、位相累積値d
1,i,d
2,iを平均した値を回転角θとして出力する。また、振幅r
1,i,r
2,iのうち一方が規格範囲内で、他方が規格範囲外であれば、規格範囲内の振幅を有する2相信号から求められた位相累積値を回転角θとして出力する。振幅r
1,i,r
2,iがともに規格範囲外であれば、エラーを出力する。本実施例では、回転角θを0から359.99度までの範囲で表し、エラーを−0.01度として表す。また、振幅の規格範囲の上限をth、下限tlとし、この規格範囲に収まる値を規格範囲内として判断する。
【0040】
位相累積値d
1,i,d
2,iはともに0から359.99までの範囲の値を取り、この範囲の上限を超えるか下限を下回ると値が折り返す。このため、位相累積値d
1,i,d
2,iを平均する場合には、この折り返しを考慮して平均する必要がある。本実施例では、位相累積値d
1,i,d
2,iは初期値がともに0であるため、ほぼ同じ値となる。
【0041】
そこで、d
1,iとd
2,iの差が180度を超える場合は一方が折り返し前の値であり、他方が折り返し後の値であるとみなして、d
1,iとd
2,iの和に360度を加算してから平均する。回転角θは、以下の式(8),(9)によって求められる。
【0042】
【数4】
【0043】
以上のようにして求められた回転角θは信号処理部30から出力され、装置のコントローラ(図示せず)による回転軸50の回転量(移動量)、回転位置または回転速度の検出および制御に用いられる。
【0044】
本実施例ではロータリエンコーダを例として説明したが、本発明は、リニアエンコーダにも適用できる。また、本実施例では反射型の光学式エンコーダを例として説明したが、本発明は、検出方式が異なるエンコーダ、例えば透過型の光学式エンコーダ、磁気式エンコーダおよび電磁誘導式エンコーダにも適用できる。さらに、本実施例ではセンサから互いに直交する正弦波信号である2相信号が出力される場合について説明したが、位相を検出可能な信号であれば2相信号でなくてもよく、3相信号や三角波信号等であってもよい。
【0045】
また、本実施例では、逆正接演算によって位相を算出する場合について説明したが、特定の範囲内での位置を表すものであれば位相以外のパラメータを算出してもよい。
【0046】
また、本実施例では、位相を8ビットで表す場合について説明したが、位相を2のべき乗の範囲ではない範囲で表してもよいし、位相を浮動小数点を含む数値で表してもよい。
【0047】
また、本実施例では、2相信号の振幅を1組のデジタル信号から求める場合について説明したが、複数組のデジタル信号から求めてもよい。例えば、複数組のデジタル信号における最大値と最小値の差を評価してもよく、複数組のデジタル信号から最小二乗法で求められる円の半径を評価してもよい。複数のサンプルから求めることにより、内挿誤差等による半径の検出誤差を低減することができる。
【0048】
また、本実施例では、ADコンバータの動作周期が一定であるとして説明したが、必ずしも一定である必要はなく、外部のリクエストによって動作するように構成したり、速度に応じて周期を動的に変更したりするようにしてもよい。ADコンバータの動作頻度を低減することにより電力消費を抑制することができる。
【0049】
また、本実施例では、2相信号の周期の数を位相の累積によって求めているが、周期の数を数えるカウンタを別途用意し、カウンタの値と位相とを組み合わせて変位量を求めるようにしてもよい。この場合、特にアナログ信号から周期の数をカウントする構成とすることで、変位速度がADコンバータの動作周期に対して、十分に速い場合においても変位量を検出することができるようになる。
【0050】
また、本実施例では、位相を累積する場合について説明したが、必ずしも位相を検出する必要はない。本発明は、変位量を求めることが目的であるため、例えばセンサとスケールとの相対速度に応じて信号が変化するセンサを用い、所定時間ごとにセンサからの信号を評価すれば、速度と時間から変位量は一意に定まる。これは、変位量を検出することと同義である。したがって、このようなセンサを用いれば、位相を求めることなく変位量を累積する構成が実現できる。
【0051】
また、本実施例では、位相累積値の初期値を0とし、以降は位相の変化に伴って位相累積値が変化するものとして説明したが、別途基準位置を設け、該基準位置を通過して変位するたびに値をリセットするようにしてもよい。この場合、エンコーダの電源を遮断する等して、変位量が分からなくなってしまったとしても、基準位置を通過した後の変位量を再現させ、検出値が同じであれば、ほぼ同じ相対位置関係となるように構成することができる。また、信号線等、外部システムとの通信インタフェースを設け、外部インタフェースを介して値をリセットするようにしてもよい。さらに、リセットする際に周期数のみリセットし、累積値の下位ビットと位相とが同じとなるようにしてもよい。この場合、累積値が表す位置の再現性をより高めることが可能となる。例えば、ロボットアームのように筐体が膨張・収縮することによってシステムとしての位置誤差が発生し、理論上の座標と実使用環境の座標のマッピングが必要となる場合に特に有用である。
【0052】
本実施例では、2つの単位換算部を設け、2つの位相累積値のそれぞれに対して単位を一致させるための換算を行う場合について説明したが、このような単位の換算を必ずしも全ての位相累積値について行う必要はない。本実施例では、0.01度単位となるように単位換算を行う場合について説明したが、例えばトラック11の1周の格子数が360で、位相の範囲が0から99であるとすると、位相累積値の1が0.01度に相当するので、上記のような単位換算を行う必要はない。
【0053】
また、本実施例では、振幅を用いて変位量が異常である可能性を判断したが、異なる基準を用いてもよい。例えば、振幅の変化率を基準としたり、2相信号の位相差を基準としたりしてもよい。また、十分に信頼性が担保される場合やそれほど信頼性が必要とされない場合は、変位量検出部36において常に平均した位置を求めるようにしてもよい。この場合、処理を簡略化することができる。
【0054】
また、本実施例では、変位量検出部36において振幅に応じて位相累積値を変位量の検出に使用するかどうかを選択する(つまりは重み付けを不連続的に行う)場合について説明したが、このような選択を行わずに、振幅による重み付けを連続的に行って変位量を検出してもよい。いずれかの振幅が規格範囲の上限または下限付近にある場合に変位量検出のために位相累積値を選択的に使用する(不連続的な重み付けを行う)と、使用の有無の切り替わり時に検出される変位量が連続しないことがある。しかし、振幅に応じて重み付けを連続的に行って変位量を検出すると、その不連続性を抑制することができる。
【実施例2】
【0055】
次に、本発明の実施例2であるエンコーダについて説明する。
図6に示すように、本実施例のエンコーダは、スケール110と、センサ120と、信号処理部130とにより構成されている。本実施例のエンコーダも、交換レンズや撮像装置等の光学機器、ロボットアームおよび搬送装置を含む各種装置に搭載される。スケール110は上記装置における可動部材に一体移動するよう取り付けられ、センサ120は該装置の筐体等の固定部材に取り付けられる。ただし、本実施例のエンコーダは、スケール110(可動部材)の絶対位置を検出するアブソリュートエンコーダであり、リニアエンコーダである。
【0056】
本実施例において、スケール110上には、複数(本実施例でも2つ)のトラック111,112が、スケール110の長手方向(センサ120との相対移動方向であり、以下、検出方向という)に延びるように設けられている。各トラックには、
図7に示すように、互いに周期が異なる複数(本実施例では2つ)の周期パターンが検出方向に直交する方向(以下、スケール幅方向という)に交互に設けられている。具体的には、トラック111には、周期P1の周期パターンと周期P2の周期パターンとがスケール幅方向に交互に多重配置されている。また、トラック112には、周期Q1の周期パターンと周期Q2の周期パターンとがスケール幅方向に交互に多重配置されている。各周期パターンが、格子としての反射部(図中の黒色部分)と非反射部(図中の白色部分)とが検出方向に交互に配置されて構成されることは実施例1と同じである。
【0057】
2つのトラック111,12の全長(以下、トラック全長という)は互いに同じである。また、トラック111における周期P1,P2の周期パターンの格子数はそれぞれ160と40であり、トラック12における周期Q1,Q2の周期パターンの格子数はそれぞれ152と39である。つまり、周期P1と周期Q1および周期P2と周期Q2はそれぞれほぼ等しく、かつ周期P2と周期Q2はそれぞれ周期P1と周期Q1に対して約4倍の関係にある。
【0058】
センサ120において、複数(2つ)の受光部121,122と1つの光源123とが同一平面上に配置されている。光源123からトラック111に照射され、該トラック111の反射部で反射した光を受光部121で受光し、光源123からトラック112に照射され、該トラック112の反射部で反射した光を受光部122で受光する。受光部121,122はそれぞれ、検出方向に配列された複数の受光素子を含む受光素子アレイにより構成されている。スケール110とセンサ120とが相対変位すると、その相対変位量に応じて受光部121,122における各受光素子が受光する反射光の強度が変化する。センサ120は、受光部121における受光強度の変化に応じた正弦波状の信号(第1の周期信号)を出力するとともに、受光部122における受光強度の変化に応じた正弦波状の信号(第2の周期信号)を出力する。
【0059】
より詳細に説明すると、
図7において、点線で囲まれた領域113,114は、光源123からトラック111,112に対して照射された光のうち受光部121,122に到達する光が反射する領域を示している。領域113,114はそれぞれ、トラック111,112においてスケール幅方向に多重配置された周期パターンを含むように設定されている。本実施例でも、光源123と受光部121,122がセンサ120における同一の平面上に配置された反射光学系である。このため、光源123から各トラックに照射されて該トラックで反射した光によって各受光部に投影される各トラックの像(周期パターン像)は、スケール110上の各トラックの2倍に拡大された像となる。つまり、各受光部上で検出方向にλ/2の幅は、各トラック上ではλ/4に相当する。
【0060】
そして、本実施例では、受光部121,122における周期パターン読み取りのための受光素子からの信号取り出し周期である検出周期を切り替えることができる。本実施例では、検出周期を、周期P1および周期Q1に十分近いλと、周期P2および周期Q2に十分近い4λに切り替えることができる。検出周期の切り替えは、受光素子からの信号の取り出し方を切り替えることにより実現される。検出周期をλとする場合には、実施例1で
図4(A)を用いて説明した信号の取り出し方を用いる。一方、検出周期を4λとする場合には、
図4(B)に示すように、各受光部の複数の受光素子を互いに隣接した4つの受光素子を1組として4組に分け、該4組の受光素子からの出力を、検出方向の順に、A(+),B(+),A(−),B(−)として取り出す。そして、検出周期がλである場合と4λである場合のいずれにおいても、
A=A(+)−A(−)
B=B(+)−B(−)
を演算する。これにより、検出周期がλに設定された受光部121は、周期P1の周期パターンを読み取って、第1の周期信号としての2相信号(A,B)を出力する。また、検出周期がλに設定された受光部122は、周期Q1の周期パターンを読み取って、第1の周期信号としての2相信号(A,B)を出力する。また、検出周期が4λに設定された受光部121は、周期P2の周期パターンを読み取って、第2の周期信号としての2相信号(A,B)を出力する。また、検出周期が4λに設定された受光部122は、周期Q2の周期パターンを読み取って、第2の周期信号としての2相信号(A,B)を出力する。このように、検出周期の切り替えによって、受光部121,122のそれぞれから2組の2相信号(計4組の2相信号)が出力される。
【0061】
本実施例のエンコーダは、アブソリュートエンコーダであり、変位量ではなく位置を求める。このため、
図8に示すように、信号処理部130は、実施例1と同様のADコンバータ311,312、逆正接演算部321,322、累積演算部331,332、単位換算部341,342,振幅検出部351,352および変位量検出部36に加えて、位置検出部37を有する。位置検出部37は、逆正接演算部321,322にて求められた位相から位置を検出する。累積演算部331,332は、位置検出部37により検出された位置を用いて、位相累積値の初期値を設定する。
【0062】
より詳細には、位置検出部37は、トラック11,12に含まれる周期P1,P2および周期Q1,Q2の周期パターンから得られる4組の2相信号から得られる位相を用いて位置を求める。まず、実施例1と同様に、受光部121,122の検出周期をλとし、周期P1および周期Q1の周期パターンを読み取った受光部121,122から出力される2組の2相信号(アナログ信号)をADコンバータ311,312によってデジタル信号に変換する。そして、逆正接演算部321,322において、ADコンバータ311,312から出力されたデジタル信号としての2相信号のそれぞれから位相を求める。次に、受光部121,122の検出周期を4λとし、周期P2および周期Q2の周期パターンを読み取った受光部121,122から出力される2組の2相信号(アナログ信号)をADコンバータ311,312によってデジタル信号に変換する。そして、逆正接演算部321,322において、ADコンバータ311,312から出力されたデジタル信号としての2相信号のそれぞれから位相を求める。以上により、周期P1,P2,Q1,Q2に対応する4つの位相が求められる。以下の説明において、周期P1,P2,Q1,Q2に対応する位相をそれぞれ、θP1,θP2,θQ1,θQ2とする。
【0063】
周期P2,Q2の周期パターンはそれぞれ、トラック全長において40周期および39周期を含む。このため、位相θP2,θQ2の位相差は、トラック全長で1周期となる。トラック全長での1周期は、その1周期内での位相は絶対位置を表す。この位相差をθV1とすると、以下の式(10)で表される。なお、本実施例においても位相は0から255までの値で表される。
【0064】
【数5】
【0065】
また、周期P1,Q1の周期パターンはそれぞれ、トラック全長において160周期および152周期を含む。このため、位相θP1,θQ1の位相差は、トラック全長で8周期となる。位相θP1,θQ1の位相差をθV8とすると、以下の式(11)で表される。
【0066】
【数6】
【0067】
ところで、θV1は絶対位置を表す一方、1周期内の精度はθV8の方が高い。そこで、本実施例では、位置検出部37は、θV1とθV8からθV8の精度を持つ絶対位置を演算により求める。これは、θV1とθV8の位相関係から、スケール端を0周期目として、θV8が何周期目にあたるか(以下、これを周期数という)を求めることにより実現される。例えば、スケール全長で8周期のθV8の周期数が0、つまりθV8がスケール端に最も近い周期の位相を表す場合は、θV8/8が絶対位置となる。また、周期数が3、つまりスケール端から4番目の周期にあたる場合は、スケール全長をLとして、3×L/8+θV8/8が絶対位置となる。
【0068】
ここで、
図9に示すように、θV8はトラック全長で8回、0から255まで変化する一方、θV1はトラック全長で0から255まで変化するため、θV1について単位変位量あたりの位相の変化量はθV8の1/8である。そこで、以下の式(12),(13)に示すように、8×θV1とθV8との差を256で除して整数に丸めることにより周期数m
1を求め、θV8精度の絶対位置x
1を求める。
【0069】
【数7】
【0070】
同様に、x
1とθP2からθP2の精度の絶対位置x
2を求め、さらにx
2とθP1からもθP1の精度の絶対位置x
3を、以下の式(14)〜(17)に示すように求める。ただしm
2とm
3はそれぞれθP2とθP1の周期数を表す。
【0071】
【数8】
【0072】
以上により絶対位置x
3が求められる。なお、絶対位置x
3は0から256の範囲で表現される一方、周期P1,Q1の周期パターンの格子数はそれぞれ160,152であり、絶対位置をそのまま累積演算部331,332の初期値として設定することはできない。そこで、以下の式(18),(19)に示すように、絶対位置から周期P1,Q1の周期パターンの格子数に合わせた累積演算部331,332の初期値s
1,s
2を求める。
【0073】
【数8】
【0074】
以上により求めた初期値を累積演算部331,332に設定し、これ以降は、信号処理部130は、実施例1の信号処理部30と同様の処理を行う。
【0075】
本実施例では、累積演算部331,332の初期値が絶対位置を表すため、該初期値に変位量を加えた値も絶対位置を表す。このため、本実施例のエンコーダは、アブソリュートエンコーダとして機能する。
【0076】
本実施例にて説明した処理も、実施例1と同様に、信号や位相の検出方法および位相の表現範囲等が異なる場合にも用いることが可能である。