(57)【特許請求の範囲】
【請求項１】
互いに異なる周期を有する複数の周期パターンが設けられたスケールと、
前記スケールとの相対変位が可能であり、前記複数の周期パターンに応じた周期を有する複数の周期信号を出力するセンサと、
前記複数の周期信号を用いて、前記スケールと前記センサとの相対変位量の検出値である検出変位量を求める信号処理部とを有し、
前記信号処理部は、
前記複数の周期信号のそれぞれを用いて所定範囲内での位相を求め、
該位相の折り返しを検出した場合には、前記位相を前記所定範囲の値に変換する処理を行い、
前記所定範囲の値に変換したそれぞれの位相を用いて、各周期信号に対応する前記周期パターンの周期の整数分の一を単位とした前記スケールと前記センサとの相対変位量の累積値である累積変位量を求め、
前記複数の周期信号を用いて基準位置を検出し、該基準位置を検出するたびに前記累積変位量をリセットし、
前記複数の周期信号のそれぞれを用いて求めた複数の前記累積変位量の単位を揃え、
前記複数の周期信号のそれぞれを用いて、各周期信号に対応する振幅をそれぞれ検出し、
前記単位が揃えられた前記複数の累積変位量のうち、それぞれに対応する前記振幅があらかじめ定められた範囲にあるもののみを平均化することで前記検出変位量を求めることを特徴とするエンコーダ。
【請求項２】
前記信号処理部は、
所定時間ごとに求めた前記相対変位量の累積値として前記累積変位量を求めることを特徴とする請求項１に記載のエンコーダ。
【請求項３】
請求項１または２に記載のエンコーダと、
該エンコーダを用いて移動量または位置が検出される可動部材とを有することを特徴とする装置。
【請求項４】
互いに異なる周期を有する複数の周期パターンが設けられたスケールと、前記スケールとの相対変位が可能であり、前記複数の周期パターンに応じた周期を有する複数の周期信号を出力するセンサと、前記複数の周期信号が入力される信号処理部とを有するエンコーダに用いられ、
前記信号処理部に、前記複数の周期信号を用いた前記スケールと前記センサとの相対変位量の検出値である検出変位量を求める処理を実行させるコンピュータプログラムとしてのエンコーダ演算プログラムであって、
前記処理は、
前記複数の周期信号のそれぞれを用いて所定範囲内での位相を求め、
該位相の折り返しを検出した場合には、前記位相を前記所定範囲の値に変換する処理を行い、
前記所定範囲の値に変換したそれぞれの位相を用いて、各周期信号に対応する前記周期パターンの周期の整数分の一を単位とした前記スケールと前記センサとの相対変位量の累積値である累積変位量を求め、
前記複数の周期信号を用いて基準位置を検出し、該基準位置を検出するたびに前記累積変位量をリセットし、
前記複数の周期信号のそれぞれを用いて求めた複数の前記累積変位量の単位を揃え、
前記複数の周期信号のそれぞれを用いて、各周期信号に対応する振幅をそれぞれ検出し、
前記単位が揃えられた前記複数の累積変位量のうち、それぞれに対応する前記振幅があらかじめ定められた範囲にあるもののみを平均化することで前記検出変位量を求めることを特徴とするエンコーダ演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光学機器等の各種装置に搭載され、該装置内の可動部材の変位量、位置および速度の検出に用いられるエンコーダに関する。
【背景技術】
【０００２】
上記のようなエンコーダは、周期的に並べられた複数の格子により構成される周期パターンが設けられたスケールと、該スケールとの相対変位に伴って周期パターンに応じて周期的に変化する周期信号を出力するセンサとを有する。また、エンコーダには、センサから出力される周期信号を用いてスケールとセンサとの相対変位量（検出値）を求める信号処理部も設けられる。
【０００３】
このようなエンコーダでは、センサとスケールとの位置関係が理想状態からずれることで、検出値が誤差を持つことがある。特許文献１には、複数のセンサ（受光素子アレイ）を設け、センサ出力ごとに求めた位置を該センサ出力の大きさに応じて重み付け平均する方法によって、誤差を低減した検出値としての位置を求めるエンコーダが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−８３１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしなから、エンコーダには、互いに異なる周期を有する複数の周期パターンが互いに隣接して設けられたスケールを用いるものがある。このエンコーダでは、各周期パターの格子の本数や、格子１本分の範囲内における位置を表す位相の変化量を累積して位置等の検出値を求めるが、このようなエンコーダには特許文献１にて開示された方法を適用することができない。
【０００６】
これは、格子の本数や位相の変化量を累積して求められる検出値がそのまま変位量を表すわけではなく、変位量は検出値と格子ピッチとから算出されるためである。つまり、検出値が同じ値であっても、格子ピッチが異なれば変位量は異なるものとなり、同じ位置に対応しないことがある。例えば、周期が９９μｍである周期パターンを読み取るセンサについての基準位置から１周期分の位置は、周期が１００μｍである周期パターンを読み取るセンサについての基準位置から１周期分の位置とは異なる。
【０００７】
本発明は、スケールに互いに異なる周期を有する複数の周期パターンが設けられている場合に、該複数の周期パターンの位相関係にかかわらず精度良く変位量や位置等の検出値を求めることができるようにしたエンコーダを提供する。
【課題を解決するための手段】
【０００８】
本発明の一側面としてのエンコーダは、互いに異なる周期を有する複数の周期パターンが設けられたスケールと、前記スケールとの相対変位が可能であり、前記複数の周期パターンに応じた周期を有する複数の周期信号を出力するセンサと、前記複数の周期信号を用いて、前記スケールと前記センサとの相対変位量の検出値である検出変位量を求める信号処理部とを有し、前記信号処理部は、前記複数の周期信号のそれぞれを用いて所定範囲内での位相を求め、該位相の折り返しを検出した場合には、前記位相を前記所定範囲の値に変換する処理を行い、前記所定範囲の値に変換したそれぞれの位相を用いて、各周期信号に対応する前記周期パターンの周期の整数分の一を単位とした前記スケールと前記センサとの相対変位量の累積値である累積変位量を求め、前記複数の周期信号を用いて基準位置を検出し、該基準位置を検出するたびに前記累積変位量をリセットし、前記複数の周期信号のそれぞれを用いて求めた複数の前記累積変位量の単位を揃え、前記複数の周期信号のそれぞれを用いて、各周期信号に対応する振幅をそれぞれ検出し、前記単位が揃えられた前記複数の累積変位量のうち、それぞれに対応する前記振幅があらかじめ定められた範囲にあるもののみを平均化することで前記検出変位量を求めることを特徴とする。
【０００９】
なお、上記エンコーダと、該エンコーダを用いて移動量または位置が検出される可動部材とを有する装置も、本発明の他の一側面を構成する。
【００１０】
また、本発明の他の一側面としてのエンコーダ演算プログラムは、互いに異なる周期を有する複数の周期パターンが設けられたスケールと、前記スケールとの相対変位が可能であり、前記複数の周期パターンに応じた周期を有する複数の周期信号を出力するセンサと、前記複数の周期信号が入力される信号処理部とを有するエンコーダに用いられ、前記信号処理部に、前記複数の周期信号を用いた前記スケールと前記センサとの相対変位量の検出値である検出変位量を求める処理を実行させるコンピュータプログラムとしてのエンコーダ演算プログラムであって、前記処理は、前記複数の周期信号のそれぞれを用いて所定範囲内での位相を求め、該位相の折り返しを検出した場合には、前記位相を前記所定範囲の値に変換する処理を行い、前記所定範囲の値に変換したそれぞれの位相を用いて、各周期信号に対応する前記周期パターンの周期の整数分の一を単位とした前記スケールと前記センサとの相対変位量の累積値である累積変位量を求め、前記複数の周期信号を用いて基準位置を検出し、該基準位置を検出するたびに前記累積変位量をリセットし、前記複数の周期信号のそれぞれを用いて求めた複数の前記累積変位量の単位を揃え、前記複数の周期信号のそれぞれを用いて、各周期信号に対応する振幅をそれぞれ検出し、前記単位が揃えられた前記複数の累積変位量のうち、それぞれに対応する前記振幅があらかじめ定められた範囲にあるもののみを平均化することで前記検出変位量を求めることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、互いに異なる周期を有する複数の周期パターンの位相関係にかかわらず精度良くスケールとセンサとの相対変位量（検出変位量）を求めることができる。しかも、複数の周期パターンを用いて相対変位量を求めるため、スケールとセンサとの相対位置ずれに起因する検出誤差を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施例１であるエンコーダの構成を示す図。
【図２】実施例１のエンコーダにおけるスケールの周期パターンを示す図。
【図３】実施例１のエンコーダにおける光学系を示す図。
【図４】実施例１のエンコーダにおける受光素子の接続を示す図。
【図５】実施例１のエンコーダにおける信号処理部の構成を示す図。
【図６】本発明の実施例２であるエンコーダの構成を示す図。
【図７】実施例２のエンコーダにおけるスケールの周期パターンを示す図。
【図８】実施例２のエンコーダにおける信号処理部の構成を示す図。
【図９】実施例２のエンコーダにおける変位量（位置）と信号との関係を示す図。
【図１０】本発明の実施例３である撮像装置を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例について図面を参照して説明する。
【実施例１】
【００１４】
図１には、本発明の実施例１であるエンコーダを示している。エンコーダは、スケール１０と、センサ２０と、信号処理部３０とにより構成される。本実施例のエンコーダは、スケール１０とセンサ２０との相対変位量、つまりは相対位置を検出する反射型の光学式インクリメンタルエンコーダであり、交換レンズや撮像装置等の光学機器、ロボットアームおよび搬送装置を含む各種装置に搭載される。
【００１５】
本実施例では、スケール１０が上記装置における可動部材としての回転軸５０に一体回転するよう取り付けられ、センサ２０は該装置の筐体等の固定部材に取り付けられて、上記相対位置として回転軸５０の回転角を検出するロータリエンコーダについて説明する。なお、スケール１０が固定部材に取り付けられ、センサ２０が回転軸５０に一体回転するよう取り付けられてもよい。
【００１６】
図２には、スケール１０上に設けられた複数（本実施例では２つ）の同心リング状のパターントラック１１，１２の一部を拡大して示している。パターントラック（以下、単にトラックという）１１，１２にはそれぞれ、格子としての反射部（図中の黒色部分）と非反射部（図中の白色部分）とが周方向に交互に配置された周期パターンが設けられている。トラック１１の周期パターン（第１の周期パターン）における１周分の格子の数は７３６であり、トラック１２の周期パターン（第２の周期パターン）における１周分の格子の数は７８５である。つまり、トラック１１の周期パターンの周期（＝３６０°／７３６）とトラック１２の周期パターンの周期（＝３６０°／７８５）とは互いに異なっている。
【００１７】
以下の説明において、トラック１１，１２の周期方向、つまりはスケール１０の周方向を、検出方向という。
【００１８】
センサ２０において、図３に示すように、複数（２つ）の受光部２１，２２と１つの光源２３とが同一平面上に配置されている。光源２３からトラック１１に照射され、該トラック１１の反射部で反射した光を受光部２１で受光し、光源２３からトラック１２に照射され、該トラック１２の反射部で反射した光を受光部２２で受光する。受光部２１，２２はそれぞれ、検出方向に配列された複数の受光素子を含む受光素子アレイにより構成されている。スケール１０とセンサ２０とが相対変位すると、その相対変位量に応じて受光部２１，２２における各受光素子が受光する反射光の強度が変化する。センサ２０は、受光部２１における受光強度の変化に応じた正弦波状の信号（第１の周期信号）を出力するとともに、受光部２２における受光強度の変化に応じた正弦波状の信号（第２の周期信号）を出力する。
【００１９】
より詳細に説明すると、受光部２１，２２において、各受光素子は、検出方向においてλ／２の幅を有する。λは、トラック１１の周期パターンの周期（＝３６０°／７３６）とトラック１２の周期パターンの周期（＝３６０°／７８５）の双方に十分に近い周期を示す。
【００２０】
また、本実施例では、光源２３と受光部２１，２２がセンサ２０における同一の平面上に配置された反射光学系である。このため、光源２３から各トラックに照射されて該トラックで反射した光によって各受光部に投影される各トラックの像（周期パターン像）は、スケール１０上の各トラックの２倍に拡大された像となる。つまり、各受光部上で検出方向にλ／２の幅は、各トラック上ではλ／４に相当する。
【００２１】
本実施例では、各受光部における複数の受光素子の出力を、Ａ（＋），Ｂ（＋），Ａ（−）およびＢ（−）の４つに分け、
Ａ＝Ａ（＋）−Ａ（−）
Ｂ＝Ｂ（＋）−Ｂ（−）
を演算する。これにより、受光部２１は、第１の周期信号として、互いに９０度の位相差を有する（直交する）２相の正弦波信号である２相信号（Ａ，Ｂ）を出力する。また、受光部２２は、第２の周期信号として、互いに直交する２相の正弦波信号である２相信号（Ａ，Ｂ）を出力する。つまり、２つの受光部２１，２２から２組の２相信号が出力される。
【００２２】
ここで、周期λの周期パターンを読み取る際における各受光部の複数の受光素子からの出力（Ａ（＋），Ｂ（＋），Ａ（−）およびＢ（−））の取り出し方を図４（Ａ）に示す。周期λの周期パターンを読み取って、互いに直交する２相の正弦波信号を生成するには、検出方向において互いにλ／２ずれた位置での受光量に応じた信号を取り出せばよい。このため、図４（Ａ）に示すように、各受光部の複数の受光素子のうち互いに隣接した４つの受光素子を１組とし、各組の４つの受光素子からの出力を、検出方向の順に、Ａ（＋），Ｂ（＋），Ａ（−），Ｂ（−）として取り出す。なお、センサ２０は、各受光部上で特定の位置における受光強度を示す信号を出力するため、センサ２０の位置がスケール１０の径方向にずれて、その位置において読み取るトラックの周期がλから多少ずれても、スケール１０の１周の格子数に応じた周期の２相信号が生成される。
【００２３】
図１において、信号処理部３０は、センサ２０（受光部２１，２２）からの２組の２相信号を用いて変位量検出処理を行い、回転軸５０の回転角（相対変位量）を出力する。
【００２４】
信号処理部３０は、図５に示すように、受光部２１からの２相信号（アナログ信号）が入力されるＡＤコンバータ３１１と、受光部２１からの２相信号（アナログ信号）が入力されるＡＤコンバータ３１２とを有する。また、信号処理部３０は、ＡＤコンバータ３１１から出力される２相信号（デジタル信号）を処理する逆正接演算部３２１、累積演算部３３１、単位換算部３４１および振幅検出部３５１を有するとともに、ＡＤコンバータ３１２から出力される２相信号（デジタル信号）を処理する逆正接演算部３２２、累積演算部３３２、単位換算部３４２および振幅検出部３５２を有する。さらに、信号処理部３０は、単位換算部３４１，３４２および振幅検出部３５１，３５２からの信号が入力される変位量検出部３６を有する。
【００２５】
なお、信号処理部３０は、１つのコンピュータによって構成されており、コンピュータプログラムとしてのエンコーダ演算プログラムに従って、ＡＤコンバータ３１１，３１２、逆正接演算部３２１，３２２、累積演算部３３１，３３２、単位換算部３４１，３４２，振幅検出部３５１，３５２および変位量検出部３６での処理を実行する。言い換えれば、ＡＤコンバータ３１１，３１２、逆正接演算部３２１，３２２、累積演算部３３１，３３２、単位換算部３４１，３４２，振幅検出部３５１，３５２および変位量検出部３６は、信号処理部３０が行う変位量検出処理に含まれる複数段階の処理ステップを示す。
【００２６】
次に、信号処理部３０において行われる変位量検出処理について説明する。信号処理部３０において、ＡＤコンバータ３１１，３１２はそれぞれ、受光部２１，２２からの２相信号をデジタル信号に変換する。ＡＤコンバータ３１１，３１２は所定時間ごとに動作し、以降の処理はこの変換ごとに行われる。以下の説明では、ＡＤコンバータ３１１，３１２でのデジタル変換後の２相信号の値をそれぞれ、（ｘ１，ｉ，ｙ１，ｉ）、（ｘ２，ｉ，ｙ２，ｉ）とする。ただし、ｉはＡＤコンバータ３１１，３１２での変換回数を示す自然数である。
【００２７】
逆正接演算部３２１，３２２はそれぞれ、ＡＤコンバータ３１１，３１２からの２相信号から位相を求める。２相信号は互いに直交する正弦波信号であるから、逆正接演算によって１周期内での位置を表す位相を求めることができる。本実施例では、位相を８ビット、つまり０から２５５までの範囲の整数値で表す。以下、受光部２１，２２（ＡＤコンバータ３１１，３１２）からの２相信号から得られた位相をそれぞれ、ｐ１，ｉ，ｐ２，ｉとして説明する。
【００２８】
累積演算部３３１，３３２はそれぞれ、ＡＤコンバータ３１１，３１２の動作タイミングごと（つまり所定時間ごとに）逆正接演算部３２１，３２２で得られる位相の変化量を演算し、該位相変化量を累積する。本実施例のエンコーダは変位量（回転角）を求めるが、逆正接演算部３２１，３２２で求めた位相だけでは変位量を求めることはできず、位相変化量を累積することによって変位量を求めることができるようになる。以下の説明では、位相変化量を累積した値を位相累積値という。累積演算部３３１，３３２は、逆正接演算部３２１，３２２にてｉ番目の位相が求められるたびに、ｉ−１番目の位相との差を求め、その差を累積して位相累積値を求める。
【００２９】
ここで、トラック１１，１２に設けられた周期パターンに含まれる格子数はそれぞれ７３６，７８５である。このため、累積演算部３３１，３３２で求められる位相変化量および位相累積値の単位はそれぞれ、３６０／（７３６×２５６）度および３６０／（７８５×２５６）度になる。このように、累積演算部３３１，３３２はそれぞれ、トラック１１，１２の周期パターンの周期の整数分の一を単位として、スケール１０とセンサ２０との所定時間ごとの相対変位量を示す位相変化量を求め、これを累積して位相累積値（累積変位量）を求める。
【００３０】
ただし、０番目の位相は存在しないため、初期値としての０番目の位相は０とする。また、位相は０から２５５までの範囲（所定範囲）内の値を取り、０よりも小さくなる方向または２５５よりも大きくなる方向に変位すると位相が折り返す。そこで、ｉ番目とｉ−１番目の位相の差が１２８以上もしくは−１２９以下となる場合は位相が折り返したと判断して、位相の差の値を−１２８から＋１２７の範囲に正規化する。例えば、位相が５から１０に変化した場合の位相の差は（１０−５＝）＋５とし、５から２５５に変化した場合の位相の差は（２５５−５＝２５０≧１２８のため２５０−２５６＝）−６とする。
【００３１】
さらに、本実施例では、位相累積値についてもスケール１０がセンサ２０に対して１回転するごとに値が折り返す構成とする。トラック１１，１２の格子数はそれぞれ７３６，７８５であるから、トラック１１，１２に対応する位相累積値はそれぞれ、７３６×２５６−１，７８５×２５６−１を超えると折り返す。このことは位相累積値をａ１，ｉ，ａ２，ｉとすると、以下の式（１）〜（３）で表される。ただし、ａ１，０＝０、ｐ１，０＝０、ａ２，０＝０、ｐ２，０＝０とし、ＭＯＤ（ｘ，ｙ）はｘを被除数とし、ｙを除数としたときの剰余を表す。
【００３２】
【数１】
0005877212.tif 000002
【００３３】
単位換算部３４１，３４２は、累積演算部３３１，３３２で求められた位相累積値の単位を揃える。本実施例では、累積演算部３３１，３３２で求められた位相累積値をともに０．０１度単位となるように換算する。前述したように、累積演算部３３１，３３２で求められる位相累積値の単位はそれぞれ３６０／（７３６×２５６）度および３６０／（７８５×２５６）度である。このため、単位換算部３４１は、累積演算部３３１で求められた位相累積値を０．０１÷（３６０／（７３６×２５６））倍する。また、単位換算部３４２は、累積演算部３３２で求められた位相累積値を、０．０１÷（３６０／（７８５×２５６））倍する。これにより、累積演算部３３１，３３２で求められた位相累積値が０．０１度単位に換算される。
【００３４】
この計算は、単位換算部３４１，３４２で換算される０．０１度単位の位相累積値をそれぞれｄ１，ｉ，ｄ２，ｉとすると、以下の式（４），（５）で表される。ただし、ＲＯＵＮＤ（ｘ）はｘの小数第一位を四捨五入した整数値を表す。
【００３５】
【数２】
0005877212.tif 000003
【００３６】
振幅検出部３５１，３５２はそれぞれ、ＡＤコンバータ３１１，３１２からの２相信号の振幅を検出する。具体的には、振幅検出部３５１，３５２はそれぞれ、ＡＤコンバータ３１１，３１２からの２相信号（ｘ１，ｉ、ｙ１，ｉ），（ｘ２，ｉ、ｙ２，ｉ）から、式（６），（７）に示すように、リサージュ半径ｒ１，ｉ，ｒ２，ｉを振幅として求める。
【００３７】
【数３】
0005877212.tif 000004
【００３８】
変位量検出部３６は、振幅検出部３５１，３５２で求められた振幅ｒ１，ｉ，ｒ２，ｉと、単位換算部３４１，３４２で単位が揃えられた位相累積値ｄ１，ｉ，ｄ２，ｉとから最終的なスケール１０とセンサ２０との相対変位量の検出値である回転角（検出変位量）θを求める。
【００３９】
変位量検出部３６は、振幅検出部３５１，３５２で求められた振幅ｒ１，ｉ，ｒ２，ｉがともに後述する規格範囲内であれば、位相累積値ｄ１，ｉ，ｄ２，ｉを平均した値を回転角θとして出力する。また、振幅ｒ１，ｉ，ｒ２，ｉのうち一方が規格範囲内で、他方が規格範囲外であれば、規格範囲内の振幅を有する２相信号から求められた位相累積値を回転角θとして出力する。振幅ｒ１，ｉ，ｒ２，ｉがともに規格範囲外であれば、エラーを出力する。本実施例では、回転角θを０から３５９．９９度までの範囲で表し、エラーを−０．０１度として表す。また、振幅の規格範囲の上限をｔｈ、下限ｔｌとし、この規格範囲に収まる値を規格範囲内として判断する。
【００４０】
位相累積値ｄ１，ｉ，ｄ２，ｉはともに０から３５９．９９までの範囲の値を取り、この範囲の上限を超えるか下限を下回ると値が折り返す。このため、位相累積値ｄ１，ｉ，ｄ２，ｉを平均する場合には、この折り返しを考慮して平均する必要がある。本実施例では、位相累積値ｄ１，ｉ，ｄ２，ｉは初期値がともに０であるため、ほぼ同じ値となる。
【００４１】
そこで、ｄ１，ｉとｄ２，ｉの差が１８０度を超える場合は一方が折り返し前の値であり、他方が折り返し後の値であるとみなして、ｄ１，ｉとｄ２，ｉの和に３６０度を加算してから平均する。回転角θは、以下の式（８），（９）によって求められる。
【００４２】
【数４】
0005877212.tif 000005
【００４３】
以上のようにして求められた回転角θは信号処理部３０から出力され、装置のコントローラ（図示せず）による回転軸５０の回転量（移動量）、回転位置または回転速度の検出および制御に用いられる。
【００４４】
本実施例ではロータリエンコーダを例として説明したが、本発明は、リニアエンコーダにも適用できる。また、本実施例では反射型の光学式エンコーダを例として説明したが、本発明は、検出方式が異なるエンコーダ、例えば透過型の光学式エンコーダ、磁気式エンコーダおよび電磁誘導式エンコーダにも適用できる。さらに、本実施例ではセンサから互いに直交する正弦波信号である２相信号が出力される場合について説明したが、位相を検出可能な信号であれば２相信号でなくてもよく、３相信号や三角波信号等であってもよい。
【００４５】
また、本実施例では、逆正接演算によって位相を算出する場合について説明したが、特定の範囲内での位置を表すものであれば位相以外のパラメータを算出してもよい。
【００４６】
また、本実施例では、位相を８ビットで表す場合について説明したが、位相を２のべき乗の範囲ではない範囲で表してもよいし、位相を浮動小数点を含む数値で表してもよい。
【００４７】
また、本実施例では、２相信号の振幅を１組のデジタル信号から求める場合について説明したが、複数組のデジタル信号から求めてもよい。例えば、複数組のデジタル信号における最大値と最小値の差を評価してもよく、複数組のデジタル信号から最小二乗法で求められる円の半径を評価してもよい。複数のサンプルから求めることにより、内挿誤差等による半径の検出誤差を低減することができる。
【００４８】
また、本実施例では、ＡＤコンバータの動作周期が一定であるとして説明したが、必ずしも一定である必要はなく、外部のリクエストによって動作するように構成したり、速度に応じて周期を動的に変更したりするようにしてもよい。ＡＤコンバータの動作頻度を低減することにより電力消費を抑制することができる。
【００４９】
また、本実施例では、２相信号の周期の数を位相の累積によって求めているが、周期の数を数えるカウンタを別途用意し、カウンタの値と位相とを組み合わせて変位量を求めるようにしてもよい。この場合、特にアナログ信号から周期の数をカウントする構成とすることで、変位速度がＡＤコンバータの動作周期に対して、十分に速い場合においても変位量を検出することができるようになる。
【００５０】
また、本実施例では、位相を累積する場合について説明したが、必ずしも位相を検出する必要はない。本発明は、変位量を求めることが目的であるため、例えばセンサとスケールとの相対速度に応じて信号が変化するセンサを用い、所定時間ごとにセンサからの信号を評価すれば、速度と時間から変位量は一意に定まる。これは、変位量を検出することと同義である。したがって、このようなセンサを用いれば、位相を求めることなく変位量を累積する構成が実現できる。
【００５１】
また、本実施例では、位相累積値の初期値を０とし、以降は位相の変化に伴って位相累積値が変化するものとして説明したが、別途基準位置を設け、該基準位置を通過して変位するたびに値をリセットするようにしてもよい。この場合、エンコーダの電源を遮断する等して、変位量が分からなくなってしまったとしても、基準位置を通過した後の変位量を再現させ、検出値が同じであれば、ほぼ同じ相対位置関係となるように構成することができる。また、信号線等、外部システムとの通信インタフェースを設け、外部インタフェースを介して値をリセットするようにしてもよい。さらに、リセットする際に周期数のみリセットし、累積値の下位ビットと位相とが同じとなるようにしてもよい。この場合、累積値が表す位置の再現性をより高めることが可能となる。例えば、ロボットアームのように筐体が膨張・収縮することによってシステムとしての位置誤差が発生し、理論上の座標と実使用環境の座標のマッピングが必要となる場合に特に有用である。
【００５２】
本実施例では、２つの単位換算部を設け、２つの位相累積値のそれぞれに対して単位を一致させるための換算を行う場合について説明したが、このような単位の換算を必ずしも全ての位相累積値について行う必要はない。本実施例では、０．０１度単位となるように単位換算を行う場合について説明したが、例えばトラック１１の１周の格子数が３６０で、位相の範囲が０から９９であるとすると、位相累積値の１が０．０１度に相当するので、上記のような単位換算を行う必要はない。
【００５３】
また、本実施例では、振幅を用いて変位量が異常である可能性を判断したが、異なる基準を用いてもよい。例えば、振幅の変化率を基準としたり、２相信号の位相差を基準としたりしてもよい。また、十分に信頼性が担保される場合やそれほど信頼性が必要とされない場合は、変位量検出部３６において常に平均した位置を求めるようにしてもよい。この場合、処理を簡略化することができる。
【００５４】
また、本実施例では、変位量検出部３６において振幅に応じて位相累積値を変位量の検出に使用するかどうかを選択する（つまりは重み付けを不連続的に行う）場合について説明したが、このような選択を行わずに、振幅による重み付けを連続的に行って変位量を検出してもよい。いずれかの振幅が規格範囲の上限または下限付近にある場合に変位量検出のために位相累積値を選択的に使用する（不連続的な重み付けを行う）と、使用の有無の切り替わり時に検出される変位量が連続しないことがある。しかし、振幅に応じて重み付けを連続的に行って変位量を検出すると、その不連続性を抑制することができる。
【実施例２】
【００５５】
次に、本発明の実施例２であるエンコーダについて説明する。図６に示すように、本実施例のエンコーダは、スケール１１０と、センサ１２０と、信号処理部１３０とにより構成されている。本実施例のエンコーダも、交換レンズや撮像装置等の光学機器、ロボットアームおよび搬送装置を含む各種装置に搭載される。スケール１１０は上記装置における可動部材に一体移動するよう取り付けられ、センサ１２０は該装置の筐体等の固定部材に取り付けられる。ただし、本実施例のエンコーダは、スケール１１０（可動部材）の絶対位置を検出するアブソリュートエンコーダであり、リニアエンコーダである。
【００５６】
本実施例において、スケール１１０上には、複数（本実施例でも２つ）のトラック１１１，１１２が、スケール１１０の長手方向（センサ１２０との相対移動方向であり、以下、検出方向という）に延びるように設けられている。各トラックには、図７に示すように、互いに周期が異なる複数（本実施例では２つ）の周期パターンが検出方向に直交する方向（以下、スケール幅方向という）に交互に設けられている。具体的には、トラック１１１には、周期Ｐ１の周期パターンと周期Ｐ２の周期パターンとがスケール幅方向に交互に多重配置されている。また、トラック１１２には、周期Ｑ１の周期パターンと周期Ｑ２の周期パターンとがスケール幅方向に交互に多重配置されている。各周期パターンが、格子としての反射部（図中の黒色部分）と非反射部（図中の白色部分）とが検出方向に交互に配置されて構成されることは実施例１と同じである。
【００５７】
２つのトラック１１１，１２の全長（以下、トラック全長という）は互いに同じである。また、トラック１１１における周期Ｐ１，Ｐ２の周期パターンの格子数はそれぞれ１６０と４０であり、トラック１２における周期Ｑ１，Ｑ２の周期パターンの格子数はそれぞれ１５２と３９である。つまり、周期Ｐ１と周期Ｑ１および周期Ｐ２と周期Ｑ２はそれぞれほぼ等しく、かつ周期Ｐ２と周期Ｑ２はそれぞれ周期Ｐ１と周期Ｑ１に対して約４倍の関係にある。
【００５８】
センサ１２０において、複数（２つ）の受光部１２１，１２２と１つの光源１２３とが同一平面上に配置されている。光源１２３からトラック１１１に照射され、該トラック１１１の反射部で反射した光を受光部１２１で受光し、光源１２３からトラック１１２に照射され、該トラック１１２の反射部で反射した光を受光部１２２で受光する。受光部１２１，１２２はそれぞれ、検出方向に配列された複数の受光素子を含む受光素子アレイにより構成されている。スケール１１０とセンサ１２０とが相対変位すると、その相対変位量に応じて受光部１２１，１２２における各受光素子が受光する反射光の強度が変化する。センサ１２０は、受光部１２１における受光強度の変化に応じた正弦波状の信号（第１の周期信号）を出力するとともに、受光部１２２における受光強度の変化に応じた正弦波状の信号（第２の周期信号）を出力する。
【００５９】
より詳細に説明すると、図７において、点線で囲まれた領域１１３，１１４は、光源１２３からトラック１１１，１１２に対して照射された光のうち受光部１２１，１２２に到達する光が反射する領域を示している。領域１１３，１１４はそれぞれ、トラック１１１，１１２においてスケール幅方向に多重配置された周期パターンを含むように設定されている。本実施例でも、光源１２３と受光部１２１，１２２がセンサ１２０における同一の平面上に配置された反射光学系である。このため、光源１２３から各トラックに照射されて該トラックで反射した光によって各受光部に投影される各トラックの像（周期パターン像）は、スケール１１０上の各トラックの２倍に拡大された像となる。つまり、各受光部上で検出方向にλ／２の幅は、各トラック上ではλ／４に相当する。
【００６０】
そして、本実施例では、受光部１２１，１２２における周期パターン読み取りのための受光素子からの信号取り出し周期である検出周期を切り替えることができる。本実施例では、検出周期を、周期Ｐ１および周期Ｑ１に十分近いλと、周期Ｐ２および周期Ｑ２に十分近い４λに切り替えることができる。検出周期の切り替えは、受光素子からの信号の取り出し方を切り替えることにより実現される。検出周期をλとする場合には、実施例１で図４（Ａ）を用いて説明した信号の取り出し方を用いる。一方、検出周期を４λとする場合には、図４（Ｂ）に示すように、各受光部の複数の受光素子を互いに隣接した４つの受光素子を１組として４組に分け、該４組の受光素子からの出力を、検出方向の順に、Ａ（＋），Ｂ（＋），Ａ（−），Ｂ（−）として取り出す。そして、検出周期がλである場合と４λである場合のいずれにおいても、
Ａ＝Ａ（＋）−Ａ（−）
Ｂ＝Ｂ（＋）−Ｂ（−）
を演算する。これにより、検出周期がλに設定された受光部１２１は、周期Ｐ１の周期パターンを読み取って、第１の周期信号としての２相信号（Ａ，Ｂ）を出力する。また、検出周期がλに設定された受光部１２２は、周期Ｑ１の周期パターンを読み取って、第１の周期信号としての２相信号（Ａ，Ｂ）を出力する。また、検出周期が４λに設定された受光部１２１は、周期Ｐ２の周期パターンを読み取って、第２の周期信号としての２相信号（Ａ，Ｂ）を出力する。また、検出周期が４λに設定された受光部１２２は、周期Ｑ２の周期パターンを読み取って、第２の周期信号としての２相信号（Ａ，Ｂ）を出力する。このように、検出周期の切り替えによって、受光部１２１，１２２のそれぞれから２組の２相信号（計４組の２相信号）が出力される。
【００６１】
本実施例のエンコーダは、アブソリュートエンコーダであり、変位量ではなく位置を求める。このため、図８に示すように、信号処理部１３０は、実施例１と同様のＡＤコンバータ３１１，３１２、逆正接演算部３２１，３２２、累積演算部３３１，３３２、単位換算部３４１，３４２，振幅検出部３５１，３５２および変位量検出部３６に加えて、位置検出部３７を有する。位置検出部３７は、逆正接演算部３２１，３２２にて求められた位相から位置を検出する。累積演算部３３１，３３２は、位置検出部３７により検出された位置を用いて、位相累積値の初期値を設定する。
【００６２】
より詳細には、位置検出部３７は、トラック１１，１２に含まれる周期Ｐ１，Ｐ２および周期Ｑ１，Ｑ２の周期パターンから得られる４組の２相信号から得られる位相を用いて位置を求める。まず、実施例１と同様に、受光部１２１，１２２の検出周期をλとし、周期Ｐ１および周期Ｑ１の周期パターンを読み取った受光部１２１，１２２から出力される２組の２相信号（アナログ信号）をＡＤコンバータ３１１，３１２によってデジタル信号に変換する。そして、逆正接演算部３２１，３２２において、ＡＤコンバータ３１１，３１２から出力されたデジタル信号としての２相信号のそれぞれから位相を求める。次に、受光部１２１，１２２の検出周期を４λとし、周期Ｐ２および周期Ｑ２の周期パターンを読み取った受光部１２１，１２２から出力される２組の２相信号（アナログ信号）をＡＤコンバータ３１１，３１２によってデジタル信号に変換する。そして、逆正接演算部３２１，３２２において、ＡＤコンバータ３１１，３１２から出力されたデジタル信号としての２相信号のそれぞれから位相を求める。以上により、周期Ｐ１，Ｐ２，Ｑ１，Ｑ２に対応する４つの位相が求められる。以下の説明において、周期Ｐ１，Ｐ２，Ｑ１，Ｑ２に対応する位相をそれぞれ、θＰ１，θＰ２，θＱ１，θＱ２とする。
【００６３】
周期Ｐ２，Ｑ２の周期パターンはそれぞれ、トラック全長において４０周期および３９周期を含む。このため、位相θＰ２，θＱ２の位相差は、トラック全長で１周期となる。トラック全長での１周期は、その１周期内での位相は絶対位置を表す。この位相差をθＶ１とすると、以下の式（１０）で表される。なお、本実施例においても位相は０から２５５までの値で表される。
【００６４】
【数５】
0005877212.tif 000006
【００６５】
また、周期Ｐ１，Ｑ１の周期パターンはそれぞれ、トラック全長において１６０周期および１５２周期を含む。このため、位相θＰ１，θＱ１の位相差は、トラック全長で８周期となる。位相θＰ１，θＱ１の位相差をθＶ８とすると、以下の式（１１）で表される。
【００６６】
【数６】
0005877212.tif 000007
【００６７】
ところで、θＶ１は絶対位置を表す一方、１周期内の精度はθＶ８の方が高い。そこで、本実施例では、位置検出部３７は、θＶ１とθＶ８からθＶ８の精度を持つ絶対位置を演算により求める。これは、θＶ１とθＶ８の位相関係から、スケール端を０周期目として、θＶ８が何周期目にあたるか（以下、これを周期数という）を求めることにより実現される。例えば、スケール全長で８周期のθＶ８の周期数が０、つまりθＶ８がスケール端に最も近い周期の位相を表す場合は、θＶ８／８が絶対位置となる。また、周期数が３、つまりスケール端から４番目の周期にあたる場合は、スケール全長をＬとして、３×Ｌ／８＋θＶ８／８が絶対位置となる。
【００６８】
ここで、図９に示すように、θＶ８はトラック全長で８回、０から２５５まで変化する一方、θＶ１はトラック全長で０から２５５まで変化するため、θＶ１について単位変位量あたりの位相の変化量はθＶ８の１／８である。そこで、以下の式（１２），（１３）に示すように、８×θＶ１とθＶ８との差を２５６で除して整数に丸めることにより周期数ｍ１を求め、θＶ８精度の絶対位置ｘ１を求める。
【００６９】
【数７】
0005877212.tif 000008
【００７０】
同様に、ｘ１とθＰ２からθＰ２の精度の絶対位置ｘ２を求め、さらにｘ２とθＰ１からもθＰ１の精度の絶対位置ｘ３を、以下の式（１４）〜（１７）に示すように求める。ただしｍ２とｍ３はそれぞれθＰ２とθＰ１の周期数を表す。
【００７１】
【数８】
0005877212.tif 000009
【００７２】
以上により絶対位置ｘ３が求められる。なお、絶対位置ｘ３は０から２５６の範囲で表現される一方、周期Ｐ１，Ｑ１の周期パターンの格子数はそれぞれ１６０，１５２であり、絶対位置をそのまま累積演算部３３１，３３２の初期値として設定することはできない。そこで、以下の式（１８），（１９）に示すように、絶対位置から周期Ｐ１，Ｑ１の周期パターンの格子数に合わせた累積演算部３３１，３３２の初期値ｓ１，ｓ２を求める。
【００７３】
【数８】
0005877212.tif 000010
【００７４】
以上により求めた初期値を累積演算部３３１，３３２に設定し、これ以降は、信号処理部１３０は、実施例１の信号処理部３０と同様の処理を行う。
【００７５】
本実施例では、累積演算部３３１，３３２の初期値が絶対位置を表すため、該初期値に変位量を加えた値も絶対位置を表す。このため、本実施例のエンコーダは、アブソリュートエンコーダとして機能する。
【００７６】
本実施例にて説明した処理も、実施例１と同様に、信号や位相の検出方法および位相の表現範囲等が異なる場合にも用いることが可能である。
【実施例３】
【００７７】
図１０には、上述した実施例２で説明したエンコーダを搭載した装置の一例として、デジタルスチルカメラやビデオカメラ等の撮像装置（光学機器）を示している。この撮像装置では、エンコーダをレンズ鏡筒内での可動レンズの絶対位置を検出するために用いている。
【００７８】
図１０において、１１０はスケール、１２０はセンサ、１３０は信号処理部であり、これらによって実施例２のエンコーダが構成される。スケール１１０は、レンズ鏡筒内において光軸回りで回転する円筒形状のカム環（可動部材）１５０の内周面に取り付けられている。カム環１５０は、不図示のアクチュエータによって回転駆動される。
【００７９】
レンズ鏡筒内には、撮影光学系１５１が収容されている。撮影光学系１５１は、カム環１５０が回転することで、該カム環１５０に形成されたカムによって光軸方向に移動可能な可動レンズ（例えば、変倍レンズやフォーカスレンズ）１５２を含む。
【００８０】
１５５は撮像装置のシステム全体を制御するＣＰＵである。１５６は撮影光学系１５１により形成された被写体像を光電変換するイメージセンサ（撮像素子）であり、ＣＣＤセンサやＣＭＯＳセンサ等の光電変換素子により構成されている。
【００８１】
可動レンズ１５２を移動させるためにカム環１５０が回転すると、エンコーダによりカム環１５０の絶対回転位置（つまりは可動レンズ１５２の光軸方向での絶対位置）が検出され、その情報がＣＰＵ１５５に出力される。
【００８２】
ＣＰＵ１５５は、その絶対回転位置の情報に基づいてカム環１５０を回転させるアクチュエータを駆動し、可動レンズ１５２を目標とする位置に移動させる。
【００８３】
本発明のエンコーダは、上述した撮像装置に限らず、プリンタ（光学機器）における印字ヘッドや給紙ローラの位置検出、複写機（光学機器）の感光ドラムの回転位置検出をはじめ、ロボットアームや搬送装置の位置検出等、様々な装置に適用することができる。
【００８４】
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。
【符号の説明】
【００８５】
１０，１１０  スケール
２０，１２０  センサ
３０，１３０  信号処理部
【図１】
0005877212.tif 000011
【図２】
0005877212.tif 000012
【図３】
0005877212.tif 000013
【図４】
0005877212.tif 000014
【図５】
0005877212.tif 000015
【図６】
0005877212.tif 000016
【図７】
0005877212.tif 000017
【図８】
0005877212.tif 000018
【図９】
0005877212.tif 000019
【図１０】
0005877212.tif 000020