(57)【要約】【課題】高速で変位する対象物に対する変位計測精度の点で有利な計測装置を提供する。【解決手段】計測装置１００は、対象物の変位に伴って変化する信号を検出して変位を計測するものであり、計測データを要求する要求信号に同期して要求信号の周期より短い周期を有する第１クロック信号を生成するクロック生成部７０と、第１クロック信号の周期ごとに検出を行う検出部１０と、検出部１０の出力に基づいて、計測データを得る演算部３０と、演算部３０からの複数の計測データに基づいて単位時間当たりの対象物の変位量を得、補正対象の計測データに係る第１クロック信号と要求信号に係る第１クロック信号との間の時間差と、変位量とに基づいて、補正対象の計測データを補正する補正部４０とを有する。【選択図】図１
2014240790.tif 000002
【特許請求の範囲】
【請求項１】
対象物の変位に伴って変化する信号を検出して該変位を計測する計測装置であって、
計測データを要求する要求信号に同期して該要求信号の周期より短い周期を有する第１クロック信号を生成するクロック生成部と、
前記第１クロック信号の周期ごとに前記検出を行う検出部と、
前記検出部の出力に基づいて、前記計測データを得る演算部と、
前記演算部からの複数の前記計測データに基づいて単位時間当たりの前記対象物の変位量を得、補正対象の前記計測データに係る前記第１クロック信号と前記要求信号に係る前記第１クロック信号との間の時間差と、前記変位量とに基づいて、前記補正対象の計測データを補正する補正部と、
を有することを特徴とする計測装置。
【請求項２】
前記要求信号の周期は、複数のクロック信号を含む第１期間と、一定値となる第２期間とを含む、ことを特徴とする請求項１に記載の計測装置。
【請求項３】
前記クロック生成部は、カウンタと位相同期部とを有し、
前記カウンタは、前記要求信号に含まれるクロック信号をカウントし、
前記位相同期部は、前記カウンタの出力に基づき、前記第１期間は、前記要求信号に含まれるクロック信号に同期した前記第１クロック信号を出力し、前記第２期間は、前記第１期間に出力した前記第１クロック信号を継続して出力する、
ことを特徴とする請求項２に記載の計測装置。
【請求項４】
前記クロック生成部は、前記要求信号に同期し且つ該要求信号の周期より短い周期を有する第２クロック信号に同期して前記第１クロック信号を生成する、ことを特徴とする請求項１ないし３のいずれか１項に記載の計測装置。
【請求項５】
前記時間差を計測する時間差計測部を有する、ことを特徴とする請求項１ないし４のいずれか１項に記載の計測装置。
【請求項６】
前記補正部は、前記補正対象の計測データを補正して、前記要求信号を受信した時点における計測データを得る、
ことを特徴とする請求項１ないし５のいずれか１項に記載の計測装置。
【請求項７】
前記補正部は、前記補正対象の計測データを補正して、前記要求信号を受信した時点より後の時点における計測データを得る、
ことを特徴とする請求項１ないし５のいずれか１項に記載の計測装置。
【請求項８】
対象物を処理する処理装置であって、
前記対象物の変位を計測する請求項１ないし７のいずれか１項に記載の計測装置を有することを特徴とする処理装置。
【請求項９】
対象物の変位に伴って変化する信号を検出して該変位を計測する計測方法であって、
計測データを要求する要求信号に同期して該要求信号の周期より短い周期を有する第１クロック信号を生成し、
前記第１クロック信号の周期ごとに前記検出を行い、
前記検出に基づいて、前記計測データを得、
複数の前記計測データに基づいて単位時間当たりの前記対象物の変位量を得、補正対象の前記計測データに係る前記第１クロック信号と前記要求信号に係る前記第１クロック信号との間の時間差と、前記変位量とに基づいて、前記補正対象の計測データを補正する、ことを特徴とする計測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計測装置、計測方法、および処理装置に関する。
【背景技術】
【０００２】
従来、位置や角度を計測する計測装置として、出力形式の異なるインクリメンタルエンコーダやアブソリュートエンコーダが存在する。例えば、位置計測を行うリニアエンコーダとして、相対的な位置（位置の変化、または変位）を計測するインクリメンタルリニアエンコーダや絶対位置を計測するアブソリュートリニアエンコーダがある。さらに、角度計測を行うロータリーエンコーダとして、相対的な角度（角度の変化、または変位）を計測するインクリメンタルロータリーエンコーダや絶対角度を計測するアブソリュートロータリーエンコーダがある。また、動作原理がそれぞれ異なる光学式エンコーダや磁気式エンコーダが存在する。このうち、光学式エンコーダは、光源からの光をスケールに照射して、スケールからの透過光または反射光を光電変換素子で受光する。光源および光電変換素子は、移動または回転する対象物に取り付けられ、スケールは、基準となる固定側に取り付けられるが、またその逆もある。インクリメンタルエンコーダでは、スケールに等間隔の透過膜または反射膜が加工されており、受光強度が一定周期の正弦波となる。信号処理部は、検出された正弦波信号の波数をカウントする。そして、周期内の位相を細かく分割することで、計測分解能と精度とを向上させている。一方、アブソリュートエンコーダでは、スケールに擬似乱数コードを有する透過膜または反射膜が加工され、擬似乱数コードを伴った受光強度を検出する。信号処理部は、参照テーブルを用いて擬似乱数コードに対する絶対位置または絶対角度を算出する。そして、擬似乱数コードの位相を細かく分割することで、計測分解能と精度とを向上させている。
【０００３】
一般に、これらのエンコーダによる位置または角度の計測データは、外部の上位システムからのデータ要求信号に応じて上位システムに送信される。例えば、上位システムは、エンコーダを用いる産業用装置であって、エンコーダから得られた計測データに基づいて対象物の位置決め制御を実行する。ここで、このようなエンコーダでは、対象物が移動している場合、計測の遅延時間に起因した、すなわち移動速度と遅延時間との積による計測誤差が発生し得る。この計測誤差を補正する技術として、特許文献１は、前にサンプリングされた位置データを用いて位置データを出力するのに要する遅延時間における対象物の移動量を見積もり、今回サンプリングされた位置データを補正するエンコーダを開示している。また、特許文献２は、外部からのデータ要求に対し、Ａ／Ｄ変換のサンプリングからデータ要求までの時間を測定し、データ要求の前後の位置データを補間して位置データを出力するエンコーダ出力の内挿方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−２６１７９４号公報
【特許文献２】特開２００７−７１８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
近年、産業用装置などでは、より高精度な位置または角度の計測が要求される一方、対象物の移動速度または回転速度が高速化している。これに伴い、エンコーダにおける計測の遅延時間による計測誤差が増加しつつあり、高精度な計測を困難としている。ここで、特許文献１に示すエンコーダは、上位システムからのデータ要求信号により計測を開始して信号処理を行い、遅延時間による誤差を補正して出力する。しかしながら、対象物が加速度運動を行っている場合、位置誤差を補正するために用いる速度情報と、対象物の実際の速度との誤差が大きくなり、正確な位置または角度を出力することが難しい。一方、特許文献２に示すエンコーダは、データ要求の前後の位置データが必要となるところ、位置データを出力する時間間隔が粗いと、位置データの補間精度が悪化し、正確な位置または角度を出力することが難しい。これに対して、上位システムからのデータ要求信号の周期を短くすると、エンコーダからの出力データ量が増加するため、上位システムでの演算負荷が増加する。その結果、上位システムが複雑かつ高価なものとなる。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、例えば、高速で変位する対象物に対する変位計測精度の点で有利な計測装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、対象物の変位に伴って変化する信号を検出して変位を計測する計測装置であって、計測データを要求する要求信号に同期して要求信号の周期より短い周期を有する第１クロック信号を生成するクロック生成部と、第１クロック信号の周期ごとに検出を行う検出部と、検出部の出力に基づいて、計測データを得る演算部と、演算部からの複数の計測データに基づいて単位時間当たりの対象物の変位量を得、補正対象の計測データに係る第１クロック信号と要求信号に係る第１クロック信号との間の時間差と、変位量とに基づいて、補正対象の計測データを補正する補正部とを有する。
【発明の効果】
【０００８】
本発明によれば、例えば、高速で変位する対象物に対する変位計測精度の点で有利な計測装置を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態に係るエンコーダの信号処理系を示す図である。
【図２】第１実施形態に係るエンコーダの光学系の構成などを示す図である。
【図３】同期高速クロック生成部の構成を示す図である。
【図４】同期高速クロック生成部内の第１カウンタの動作を示す図である。
【図５】同期高速クロック生成部内の第２カウンタの動作を示す図である。
【図６】同期高速クロック生成部内のＰＬＬの構成を示す図である。
【図７】第１実施形態における各部の動作タイミングを表すタイミング図である。
【図８】第１実施形態における各部の動作タイミングを表すタイミング図である。
【図９】第１実施形態における対象物の加速度変動を示すグラフである。
【図１０】第１実施形態と従来との場合を比較した位置誤差を示すグラフである。
【図１１】第１実施形態におけるＴｓｐに対する位置誤差を示すグラフである。
【図１２】本発明の第２実施形態に係るエンコーダの信号処理系を示す図である。
【図１３】第２実施形態における各部の動作タイミングを表すタイミング図である。
【図１４】従来の各部の動作タイミングを表すタイミング図である。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１１】
（第１実施形態）
まず、本発明の第１実施形態に係る計測装置について説明する。本実施形態に係る計測装置は、対象物（計測対象物）の変位に伴って変化する信号を検出して変位を計測する、いわゆるエンコーダであり、以下、対象物の位置の変化、または変位を計測する光学式のアブソリュートエンコーダを例に説明する。なお、本発明の計測装置は、このような位置の変化、もしくは変位を計測するエンコーダに限らず、角度の変化、もしくは変位を計測するエンコーダ、またはインクリメンタルエンコーダにも適用可能である。
【００１２】
図１は、本実施形態に係るエンコーダ１００の信号処理系の構成を示すブロック図である。まず、エンコーダ１００に対して位置データ（計測データ）を要求する信号（以下、「データ要求信号」という。）を送信するとともに、データ要求のタイミングで計測された位置データを受信する上位システム５００について説明する。上位システム５００は、エンコーダ１００から得られた位置データを利用する処理装置（以下、その制御部という意味でも用いる）に相当する。ここで、「処理装置」とは、具体的には、対象物の特性の計測を行う計測装置、対象物を（非破壊）検査する検査装置、または対象物を加工する加工装置などである。すなわち、上位システム５００は、例えば、単に位置データを収集したり解析したりする計測装置または検査装置のデータ収集解析部ともなるし、得られた位置データに基づいて、さらに位置決め制御を実行する加工装置の制御部ともなる。上位システム５００が位置決め制御部であるとすると、位置決め制御の制御帯域は、数十〜数百Ｈｚ程度である。また、データ要求の周期は、１ｍｓ〜１００μｓ、すなわち周波数は、１ｋＨｚ〜１０ｋＨｚ程度である。例えば、１０ｋＨｚのデータ要求で位置決め制御をする場合には、上位システム５００は、１００μｓ間に位置データを取得し、それに基づいて、例えばＰＩＤ制御のような制御演算を実行する。一般的に、上位システムは、よりデータ要求周期を短くしようとすると、１００μｓよりも短い時間間隔で制御演算を行なわなければならず、演算負荷が増加する。これは、上位システムにはそれに伴う高性能化が要求され、上位システム自体が高価かつ複雑なものとなることを意味する。したがって、一般的な上位システムでも、上記のとおり、データ要求の周期を１ｍｓ〜１００μｓとするのが妥当である。そして、上位システム５００は、その制御演算により算出された結果に基づいてアクチュエータを動作させ、位置決めを実施させる。
【００１３】
なお、上位システム５００がデータ収集解析部である場合には、エンコーダ１００がデータ要求信号を出力した時点での正確な位置データが必要な（取得すべき）情報である。これに対して、上位システム５００が位置決め制御を実行する制御部である場合には、エンコーダ１００がデータ要求信号を出力した次のクロック以降で位置決め制御が実行されるので、この位置決め制御が行なわれる時点での正確な位置データが必要な情報である。そこで、以下、まず上位システム５００が位置データを収集する（取得する）ものであるとして説明し、引き続き、その取得した位置データに基づいて位置決め制御を実行する場合について説明する。
【００１４】
図２は、エンコーダ１００の光学系の構成と、検出される光の強度（受光強度）とを関係付けて示す図である。エンコーダ１００は、例えば、検出部１０と、光源１２と、コリメータレンズ１４と、スケール１６とを備える。検出部１０は、例えばＣＭＯＳイメージセンサやＣＣＤセンサなどの光電変換素子とし得るが、それには限定されず、計測方式に応じて種々の変更が可能である。光源１２は、例えばＬＥＤであり、光をコリメータレンズ１４を介して平行光とした上でスケール１６に照射する。エンコーダ１００は、ここではアブソリュートエンコーダとしているので、スケール１６には、擬似乱数コード、例えばＭ系列巡回符号が加工されている。なお、スケール１６は、エンコーダ１００のように位置を計測するリニアエンコーダの場合には一方向に延びた板状部材であるが、角度を計測するロータリーエンコーダの場合には円板状部材とし得る。透過または反射によりスケール１６を出射した光は、擬似乱数コードによる受光強度を有し、検出部１０は、この光を受光する。受光強度は、図２中のグラフに示すように、スケール１６に形成されている擬似乱数コードを反映した強弱信号となる。また、光源１２および検出部１０は、移動（または回転する）対象物に取り付けられ、スケール１６は、基準となる固定側に取り付けられているが、その逆でもよい。
【００１５】
図１に戻り、検出部１０の後段には、不図示の電流／電圧変換器が構成され、受光強度を電圧信号に変換する。また、検出部１０は、さらに必要に応じて後段に電圧増幅器を置き、信号を所定の電圧レベルまで増幅する。Ａ／Ｄ変換器２０は、検出部１０からの信号をＡ／Ｄ変換し、アナログ信号をデジタル信号に変換する。
【００１６】
信号処理部２００は、Ａ／Ｄ変換器２０から受信したデジタル信号を処理するものであり、ＦＰＧＡ、ＡＳＩＣまたはＤＳＰなどの高速なデジタル信号処理器である。なお、ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略記である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略記である。そして、ＤＳＰは、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略記である。信号処理部２００は、位置演算部３０と、位置補正部４０と、位置データ出力部５０と、時間差計測部６０と、同期高速クロック生成部７０とを含む。
【００１７】
位置演算部（演算部）３０は、Ａ／Ｄ変換器２０からの信号を受けて、位置データを算出する。例えばアブソリュートエンコーダでは、位置演算部３０は、図２に示すような擬似乱数コードを反映した強弱信号より、０と１とで表される擬似乱数コードを再生する。そして、位置演算部３０は、その内部に保有する不図示の擬似乱数コードに対する絶対位置の参照テーブルと照合し、検出された擬似乱数コードに対する絶対位置を求める。さらに、位置演算部３０は、擬似乱数コードの位相を細かく分割することにより、計測分解能を向上させている。
【００１８】
同期高速クロック生成部（クロック生成部）７０は、ｍｅａｓ信号１１１、ｍｅａｓ＿ｓｔａｒｔ信号１１０、ａｄ＿ｓｔａｒｔ信号１１６およびｄａｔａ＿ｏｕｔ＿ｓｔａｒｔ信号１２０を生成する。また、同期高速クロック生成部７０は、位置演算部３０や位置補正部４０における演算用のクロック信号（ｃｌｋ信号１１２：図３参照）も生成する。
【００１９】
図３は、同期高速クロック生成部７０の構成を示すブロック図である。同期高速クロック生成部７０は、３つのカウンタ（第１カウンタ７１〜第３カウンタ７３）と、２つのコンパレータ（第１コンパレータ７４、第２コンパレータ７５）と、論理積回路７６と、カウンタ値保持回路７７と、位相同期部（ＰＬＬ７８）とを含む。同期高速クロック生成部７０には、上位システム５００からデータ要求信号としてｄａｔａ＿ｒｅｑ信号２１０が入力される。ｄａｔａ＿ｒｅｑ信号２１０は、所定の周波数のクロック信号の期間（第１期間）と、所定時間一定の電圧（一定値）となる期間（第２期間）とを合わせて１周期となる間欠的な信号である。例えば、ｄａｔａ＿ｒｅｑ信号２１０として、ＢｉＳＳ−Ｃオープンプロトコルに基づく信号とし得る。以下、上記の第１の期間を「クロック（ＣＬＫ）期間」といい、第２の期間を「タイムアウト（Ｔｉｍｅｏｕｔ）期間」という。さらに、ｄａｔａ＿ｒｅｑ信号２１０は、ＰＬＬ７８、論理積回路７６、第１カウンタ７１および第２カウンタ７２に入力される信号へと分けられる。まず、同期高速クロック生成部７０は、ｄａｔａ＿ｒｅｑ信号２１０に基づいて、位相同期部を用いてｍｅａｓ信号１１１を生成する。ｍｅａｓ信号１１１は、ｄａｔａ＿ｒｅｑ信号２１０に同期した、位置計測用の高速クロック信号（第１のクロック信号）である。また、位相同期部は、例えばＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ：以下「ＰＬＬ７８」と表記する。）である。なお、ｄａｔａ＿ｒｅｑ信号２１０は、タイムアウト期間を含んだ間欠的な信号であるから、そのままＰＬＬ７８に入力して分周器により高逓倍のクロック信号を生成しようとすると、タイムアウト期間にて同期が外れ、クロック精度が低下する。そこで、タイムアウト期間では、ＰＬＬ７８の動作をホールドするような処理を実行することで、タイムアウト期間の影響を受けないようにする必要がある。
【００２０】
第１カウンタ７１は、ｄａｔａ＿ｒｅｑ信号２１０のハイ期間を発振器８０からのクロック信号１１５によりカウントし、ｄａｔａ＿ｒｅｑ信号２１０がローとなったときにリセットする。図４は、第１カウンタ７１の動作を示す図であり、横軸が時間、縦軸がカウント数である。ここで、ｄａｔａ＿ｒｅｑ信号２１０の周期は、１００μｓである。ｄａｔａ＿ｒｅｑ信号２１０のクロック期間は、８８．０５μｓであり、このクロック期間におけるクロック信号の周波数は、１０ＭＨｚである。一方、ｄａｔａ＿ｒｅｑ信号２１０のタイムアウト期間は、１１．９５μｓである。そして、発振器８０より出力されるクロック信号１１５の周波数は、２００ＭＨｚである。この例では、第１カウンタ７１は、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間におけるロー期間（５０ｎｓ）ではカウントしない。そして、第１カウンタ７１は、ハイ期間（５０ｎｓ）で１０カウントまでカウントした時点でｄａｔａ＿ｒｅｑ信号２１０がローとなり、リセットされる。これを繰り返すことで、第１カウンタ７１のカウント動作は、図４に示すような鋸歯状となる。なお、例えば、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間におけるクロック周波数が０．１ＭＨｚの場合には、第１カウンタ７１のカウント動作は、同様に１０００カウントごとの鋸歯状となる。また、タイムアウト期間では、ｄａｔａ＿ｒｅｑ信号２１０がハイであるため、第１カウンタ７１は、カウントし続ける。そして、第１カウンタ７１が２３９０カウントまでカウントした時点でｄａｔａ＿ｒｅｑ信号２１０の１周期分の時間が経過して、ｄａｔａ＿ｒｅｑ信号２１０がローとなり、第１カウンタ７１はリセットされる。
【００２１】
第１コンパレータ７４は、第１カウンタ７１のカウント値と、第１コンパレータ７４が持つ閾値とを比較し、閾値よりもカウント値が大きい場合にハイを出力する。第１コンパレータ７４の閾値は、クロック期間でのカウント値では超えることがなく、かつタイムアウト期間でのカウント値でのみ超えるような値に設定される。図４に示す例では、第１コンパレータ７４の閾値を２０００カウントとしている。
【００２２】
論理積回路７６は、第１コンパレータ７４の出力と、ｄａｔａ＿ｒｅｑ信号２１０のローとの論理積演算を実行する。上記のとおり、第１コンパレータ７４は、ｄａｔａ＿ｒｅｑ信号２１０のタイムアウト期間中にハイを出力する。そして、第１コンパレータ７４がハイを出力した後にｄａｔａ＿ｒｅｑ信号２１０がローとなるのは、タイムアウト期間が終了する時点、すなわちｄａｔａ＿ｒｅｑ信号２１０の１周期分の時間が経過した時点となる。論理積回路７６は、このｄａｔａ＿ｒｅｑ信号２１０の１周期分の時間が経過した時点と同期してハイを出力する。論理積回路７６の出力は、後述する第２カウンタ７２のリセット信号、カウンタ値保持回路７７のスタート信号、および第３カウンタ７３のスタート信号として用いられる。
【００２３】
第２カウンタ７２は、第１カウンタ７１とは反対に、ｄａｔａ＿ｒｅｑ信号２１０のロー期間を、発振器８０からのクロック信号１１５によりカウントする。また、第２カウンタ７２は、論理積回路７６の出力によりリセットされる。図５は、第２カウンタ７２の動作を示す図であり、横軸が時間、縦軸がカウント数である。なお、ｄａｔａ＿ｒｅｑ信号２１０、および発振器８０からのクロック信号１１５の条件は、上記の第１カウンタ７１の動作を説明した際のものと同一とする。この例では、第２カウンタ７２は、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間におけるロー期間（５０ｎｓ）で１０カウントまでカウントし、その後のハイ期間（５０ｎｓ）ではカウントせずに値を保持する。そして、第２カウンタ７２は、さらに次のロー期間（５０ｎｓ）でさらに１０カウント加えた２０カウントまでカウントする。これを繰り返すことで、第２カウンタ７２のカウント動作は、図５に示すような階段状となる。なお、例えば、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間におけるクロック周波数が０．１ＭＨｚの場合には、第２カウンタ７２のカウント動作は、同様に１０００カウントごとの階段状となる。また、タイムアウト期間では、ｄａｔａ＿ｒｅｑ信号２１０がハイであるため、第２カウンタ７２は、カウントせずに値を保持し続ける。そして、このカウント値を最終カウント値とする。上記の条件では、最終カウント値は、８８１０カウントとなる。そして、論理積回路７６のハイ出力時点、すなわちｄａｔａ＿ｒｅｑ信号２１０の１周期分の時間が経過した時点で、第２カウンタ７２はリセットされる。
【００２４】
カウンタ値保持回路７７は、最終カウント値、例えば、論理積回路７６の出力をスタート信号としたその時点でのカウント値を保持する。なお、カウンタ値保持回路７７は、第２カウンタ７２がリセットした後のカウント値を保持してしまわないよう、第２カウンタ７２の出力を遅延させて入力されるように構成してもよい。また、カウンタ値保持回路７７は、図３に示す構成とは異なるが、第１コンパレータ７４の出力をスタート信号としてカウント値を保持するような構成としてもよい。このように得られた最終カウント値は、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間の長さを示す値となる。また、最終カウント値は、後述する第２コンパレータ７５の閾値として用いられる。
【００２５】
第３カウンタ７３は、カウントのスタート信号として論理積回路７６の出力が入力されて、ｄａｔａ＿ｒｅｑ信号２１０の１周期分の時間が経過した時点、すなわちデータ要求時点からカウントを開始する。また、第３カウンタ７３には、カウントの基準となるクロックとして、第１カウンタ７１および第２カウンタ７２と同様に、発振器８０からのクロック信号１１５が入力される。
【００２６】
第２コンパレータ７５は、第３カウンタ７３のカウント値と、第２コンパレータ７５が持つ閾値とを比較する。第２コンパレータ７５の閾値は、カウンタ値保持回路７７から出力される最終カウント値となるように設定される。第２コンパレータ７５は、第３カウンタ７３のカウント値が第２コンパレータ７５の閾値を超えない間、すなわちｄａｔａ＿ｒｅｑ信号２１０のクロック期間にはローを出力する。その後、第２コンパレータ７５は、第３カウンタ７３のカウント値が第２コンパレータ７５の閾値を超える時間、すなわちｄａｔａ＿ｒｅｑ信号２１０のタイムアウト期間となるとハイを出力する。この第２コンパレータ７５からハイが出力された時点で、第３カウンタ７３はリセットされる。そして、第３カウンタ７３は、再びスタート信号が入力されるまで、すなわちｄａｔａ＿ｒｅｑ信号２１０の１周期分の時間が経過するまではカウントを停止する。ただし、第２コンパレータ７５は、論理積回路７６の出力を受けてリセットされるまで、すなわちｄａｔａ＿ｒｅｑ信号２１０の１周期分の時間が経過するまではハイを出力し続ける。第２コンパレータ７５の出力は、ＰＬＬ７８にてサンプル動作とホールド動作とを切り替える制御信号として用いられる。以下、この第２コンパレータ７５の出力を、ｓａｍｐｌｅ＿ｈｏｌｄ信号１１７と表記する。
【００２７】
ＰＬＬ７８は、ｓａｍｐｌｅ＿ｈｏｌｄ信号１１７がローの間、すなわちｄａｔａ＿ｒｅｑ信号２１０のクロック期間には、サンプル動作する。一方、ＰＬＬ７８は、ｓａｍｐｌｅ＿ｈｏｌｄ信号１１７がハイの間、すなわちｄａｔａ＿ｒｅｑ信号２１０のタイムアウト期間には、ホールド動作する。図６は、ＰＬＬ７８の構成を示すブロック図である。ＰＬＬ７８は、位相比較器７８１と、サンプル／ホールド切替器７８２と、ループフィルタ７８３と、電圧制御発振器７８４と、第１分周器７８５と、第２分周器７８６と、第３分周器７８７と、第１遅延回路７８８と、第２遅延回路７８９とを含む。
【００２８】
位相比較器７８１は、入力信号（ｄａｔａ＿ｒｅｑ信号２１０）と出力信号（ｃｌｋ信号１１２）とを比較するように、フィードバックループを構成する。そして、位相比較器７８１は、入力信号と出力信号との位相比較を行い、その位相差を位相差信号として出力する。ループフィルタ７８３は、積分回路であり、短周期変動の除去を行う。電圧制御発振器（ＶＣＯ）７８４は、ループフィルタ７８３から入力された位相差信号に基づいて、発振周波数を調整し、ｃｌｋ信号１１２を出力する。なお、ｃｌｋ信号１１２は、上記のとおり位置演算部３０や位置補正部４０における演算用のクロック信号となる。
【００２９】
まず、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間、すなわちｓａｍｐｌｅ＿ｈｏｌｄ信号１１７がローの間は、サンプル／ホールド切替器７８２がオンとなり、位相比較器７８１のフィードバックループが構成される。このとき、ＰＬＬ７８は、サンプル動作となる。フィードバックされる出力信号は、第１分周器７８５により分周された後、位相比較器７８１に入力されて、ｄａｔａ＿ｒｅｑ信号２１０のクロック信号と比較される。そして、電圧制御発振器７８４は、ｄａｔａ＿ｒｅｑ信号２１０のクロック周波数を逓倍した信号を出力する。例えば、クロック周波数が１０ＭＨｚで、第１分周器７８５の分周比（１／Ｎ）が１／２０であるとすると、電圧制御発振器７８４は、クロック信号に同期した周波数２００ＭＨｚの信号を出力する。このように、ＰＬＬ７８は、ｄａｔａ＿ｒｅｑ信号２１０のクロック信号に同期した高周波の第２のクロック信号（ｃｌｋ信号１１２）を出力することができる。
【００３０】
一方、ｄａｔａ＿ｒｅｑ信号２１０のタイムアウト期間、すなわちｓａｍｐｌｅ＿ｈｏｌｄ信号１１７がハイの間は、サンプル／ホールド切替器７８２がオフとなり、位相比較器７８１のフィードバックループは構成されない。このとき、ＰＬＬ７８は、ホールド動作となる。この場合、電圧制御発振器７８４は、新たな位相差信号が入力されないため、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間に調整された発振周波数の信号を継続して出力する。したがって、ＰＬＬ７８は、タイムアウト期間における一定時間固定の電圧による影響を受けることなく、ｄａｔａ＿ｒｅｑ信号２１０のクロック信号に同期した第２のクロック信号（ｃｌｋ信号１１２）を出力することができる。
【００３１】
なお、ｃｌｋ信号１１２は、ＰＬＬ７８にて生成するものに限らず、例えば、発振器８０などの外部のクロックを用いてもよい。この場合、ｃｌｋ信号１１２は、ｄａｔａ＿ｒｅｑ信号２１０と非同期となるが、ｃｌｋ信号１１２の周波数が２００ＭＨｚの場合には最大で１周期５ｎｓの同期ずれがあるものの、この同期ずれによる計測誤差は極めて小さいため、影響は無視できる。
【００３２】
また、ＰＬＬ７８は、ｃｌｋ信号１１２を第２分周器７８６で分周することで、ｄａｔａ＿ｒｅｑ信号２１０と同期した位置計測用の高速クロック信号であるｍｅａｓ信号１１１を生成する。例えば、第２分周器７８６の分周比（１／Ｍ）を１／２０００とすると、ｍｅａｓ信号１１１は、ｄａｔａ＿ｒｅｑ信号２１０と同期した周波数１００ｋＨｚの信号となる。また、ＰＬＬ７８は、第１遅延回路７８８を用いてｍｅａｓ信号１１１を検出部１０にて位置計測開始から位置計測終了までの時間分遅延させることで、Ａ／Ｄ変換器２０でのＡ／Ｄ変換開始信号であるａｄ＿ｓｔａｒｔ信号１１６を生成する。また、ＰＬＬ７８は、ｃｌｋ信号１１２を第３分周器７８７で分周することで、ｄａｔａ＿ｒｅｑ信号２１０と同期し、かつ同じ周波数の信号であるｍｅａｓ＿ｓｔａｒｔ信号１１０を生成する。例えば、第３分周器７８７の分周比（１／ｍ’）を１／２００００とすると、ｍｅａｓ＿ｓｔａｒｔ信号１１０は、ｄａｔａ＿ｒｅｑ信号２１０と同期した１０ｋＨｚの周波数の信号となる。さらに、ＰＬＬ７８は、第２遅延回路７８９を用いてｍｅａｓ＿ｓｔａｒｔ信号１１０を所定時間遅延させることで、図１に示す位置データ出力部５０に対するデータ出力開始信号であるｄａｔａ＿ｏｕｔ＿ｓｔａｒｔ信号１２０を生成する。
【００３３】
なお、ＰＬＬは、一般的に入力に対して位相をロックするまでに所定の時間が必要となる。そのため、ＰＬＬ７８は、位相をロックして安定的に動作するまでの間は、データ要求に対してエラー信号を返すように構成する。そして、位相比較器７８１の出力をモニタすることで、ＰＬＬ７８が位相をロックして安定的に動作しているかどうかを確認することができる。例えば、位相比較器７８１の出力がほぼゼロとなれば、ＰＬＬ７８が位相をロックして安定的に動作していることがわかる。
【００３４】
図１の説明に戻り、検出部１０は、同期高速クロック生成部７０から受信したｍｅａｓ信号１１１の周期ごとに位置計測を行う。また、Ａ／Ｄ変換器２０は、同期高速クロック生成部７０から受信したａｄ＿ｓｔａｒｔ信号１１６によりＡ/Ｄ変換を開始する。
【００３５】
時間差計測部６０は、同期高速クロック生成部７０から受信したｍｅａｓ＿ｓｔａｒｔ信号１１０とｍｅａｓ信号１１１とに基づいて、位置データを補正するための補正遅延時間（Ｔｓｐ）を計測し、ｔｉｍｅ＿ｄｅｌａｙ信号１１４として出力する。なお、補正遅延時間がエンコーダ１００の設計値から予め求まる場合には、その値を用いることとし、時間差計測部６０を構成する必要はない。
【００３６】
位置補正部（補正部）４０は、ｔｉｍｅ＿ｄｅｌａｙ信号１１４を用いて、少なくとも２つの位置データの単位時間当たり（ｍｅａｓ信号１１１の１周期当たり）の変化量（変位量）より速度に関係した信号を算出する。そして、位置補正部４０は、算出した信号と補正遅延時間との積により位置演算部３０で算出された、補正対象の位置データを補正する。ここで補正された補正位置データは、位置データ出力部５０に一旦格納されて、同期高速クロック生成部７０から受信したｄａｔａ＿ｏｕｔ＿ｓｔａｒｔ信号１２０に同期し、ｄａｔａ＿ｏｕｔ信号２２０として上位システム５００へ出力される。
【００３７】
次に、エンコーダ１００における各部の動作タイミングおよび信号処理について説明する。図７は、各部の動作タイミングを表すタイミング図である。まず、「ｄａｔａ＿ｒｅｑ」は、ｄａｔａ＿ｒｅｑ信号２１０である。ここで、ｄａｔａ＿ｒｅｑの表記に関し、データ要求周期Ｔｒｅｑ（ｄａｔａ＿ｒｅｑ１，２，３点の時間間隔）は、１００μｓを想定している。両矢印で表す範囲「ＣＬＫ」は、ｄａｔａ＿ｒｅｑ信号２１０のクロック期間を示す。両矢印で表す範囲「Ｔｉｍｅｏｕｔ」は、ｄａｔａ＿ｒｅｑ信号２１０のタイムアウト期間を示す。両矢印で表す範囲「Ｗａｉｔ」は、データ要求時点から実際に計測データが出力されるまでの待ち時間（以下、「Ｗａｉｔ時間」という。）である。なお、これらの値は、上位システム５００とエンコーダ１００との通信プロトコルにより決定される。「ｃｌｋ」は、ｃｌｋ信号１１２であり、ここでは周波数２００ＭＨｚとする。「ｍｅａｓ（１００ｋＨｚ）」は、ｍｅａｓ信号１１１であり、ここでは周波数１００ＭＨｚとする。「ｍｅａｓ＿ｓｔａｒｔ」は、ｍｅａｓ＿ｓｔａｒｔ信号１１０であり、ここではデータ要求周期Ｔｒｅｑと同じ１００μｓ周期とする。「ＣＭＯＳ＿Ｃｈａｒｇｅ」は、検出部１０にて実際に位置データを取得している時間であり、例えば、ＣＭＯＳイメージセンサの受光時間である。このＣＭＯＳ＿Ｃｈａｒｇｅは、ｍｅａｓ信号１１１により開始され、検出部１０は、そのｍｅａｓ信号１１１の周期ごとに位置データを取得する。「ａｄ」は、検出部１０から出力されたアナログデータを、ａｄ＿ｓｔａｒｔ信号１１６を受信してＡ/Ｄ変換器２０にてＡ/Ｄ変換を開始してからＡ/Ｄ変換が終了するまでの時間である。「ｃａｌｃ」は、Ａ/Ｄ変換器２０から出力されたデジタルデータに基づいて、位置演算部３０にて位置データを演算する時間である。そして、「Ｐｏｓｉｔｉｏｎ＿ｏｕｔ」は、位置演算部３０から位置データが出力される時間である。
【００３８】
次に、図７を用いて、特に位置補正の演算に関わる動作タイミングおよび信号処理について説明する。まず、位置計測開始から補正位置データ演算までの処理時間がＷａｉｔ時間よりも短い場合について説明する。例えば、位置計測開始から位置データ演算までの処理時間を１０μｓ、Ｗａｉｔ時間を３０μｓと想定し、上位システム５００が図７におけるｄａｔａ＿ｒｅｑ３の時点での位置を得たい場合について考える。この場合、Ｗａｉｔ時間中に位置データ演算までの処理が終了するため、ｄａｔａ＿ｒｅｑ３の時点で取得した位置データＰ３＿１をそのまま出力する。すなわち、エンコーダ１００は、補正処理をすることなく、ｄａｔａ＿ｒｅｑ３の時点で計測した位置データを出力する。
【００３９】
一方、上位システム５００が、取得した位置データを用いて位置決め制御を実行する制御部である場合について説明する。例えば、ｄａｔａ＿ｒｅｑ３の時点での計測要求に対し、実際に制御に使われるものが、次のクロックタイミングであるｄａｔａ＿ｒｅｑ４の時点となる場合を考える。この場合、ｄａｔａ＿ｒｅｑ３の時点での計測要求に対して、ｄａｔａ＿ｒｅｑ４の時点での位置データＰ４＿１を予測した制御時補正位置データＰ４’＿１を出力する必要がある。
【００４０】
ここで、制御時補正位置データの算出方法について説明する。まず、図７において、「Ｖｅｌｏｃｉｔｙ＿ｃａｌｃ」は、今回取得した位置データと前回取得した位置データに基づいて、今回の位置データを取得した時点での対象物の移動速度を演算する時間である。ここで、移動速度は、以下の式（１）により求められる。
移動速度［ｍ／ｓ］＝（今回の位置データ［ｍ］−前回の位置データ［ｍ］）／
位置計測周期［ｓ］      （１）
例えば、位置データＰ３＿１の時点での速度Ｖ３＿１を求める場合には、式（１）は、以下の式（２）のようになる。ただし、位置計測周期は、１０μｓ（ｍｅａｓ信号１１１の周波数１００ｋＨｚより）である。
Ｖ３＿１［ｍ／ｓ］＝（Ｐ３＿１［ｍ］−Ｐ２＿１０［ｍ］）／１０［μｓ］  （２）
【００４１】
また、図７において、「ｃｏｎｔｒｏｌ  ｕｓｅ  Ｐｏｓｉｔｉｏｎ  ｏｕｔ」は、この移動速度に基づいて制御時補正位置データを演算し、出力する時間である。そして、制御時補正位置データは、以下の式（３）により求められる。
制御時補正位置データ［ｍ］＝今回の位置データ［ｍ］＋移動速度［ｍ／ｓ］×
制御時点との時間差［ｓ］      （３）
例えば、制御時補正位置データＰ４’＿１は、以下の式（４）により求められる。ただし、ここでは制御時点との時間差を１００μｓとしている。
Ｐ４’＿１［ｍ］＝Ｐ３＿１［ｍ］＋Ｖ３＿１［ｍ／ｓ］×１００［μｓ］    （４）
【００４２】
次に、図８を用いて、位置計測開始から補正位置データ演算までの処理時間がＷａｉｔ時間よりも長い場合について説明する。以下、一例として、位置計測開始から位置データ演算までの処理時間を３０μｓとし、Ｗａｉｔ時間を上記と同様に３０μｓと想定する。図８は、図７に対応した、この場合のタイミング図である。ここでも、上位システム５００が図８のｄａｔａ＿ｒｅｑ３の時点での位置を知りたい場合を考える。図８に示すように、ｄａｔａ＿ｒｅｑ３の時点での位置データＰ３＿１を出力するまでの処理は、図７に示す場合と異なり、Ｗａｉｔ時間中に終わらない。すなわち、エンコーダ１００は、位置データＰ３＿１をそのまま出力することができない。そこで、この場合には、ｄａｔａ＿ｒｅｑ３の時点での位置データＰ３＿１を予測した、計測時補正位置データＰ３’＿１を出力する必要がある。
【００４３】
この場合の計測時補正位置データを求める式は、上記式（３）と類似し、以下の式（５）となる。
計測時補正位置データ［ｍ］＝今回の位置データ［ｍ］＋移動速度［ｍ／ｓ］×
Ｔｓｐ［ｓ］      （５）
ただし、移動速度を求める式は、上記式（１）と同一である。また、Ｔｓｐは、図８にも示すとおり、今回の位置データの計測開始時点とデータ要求時点との時間差であり、図１では、ｔｉｍｅ＿ｄｅｌａｙ信号１１４として、時間差計測部６０から位置補正部４０へと入力される。
【００４４】
ここで、Ｔｓｐを求める方法について説明する。まず、エンコーダ１００の初期動作として、時間差計測部６０は、データ要求周期Ｔｒｅｑ間におけるｍｅａｓ信号１１１のクロック数をカウントする。これにより、時間差計測部６０は、データ要求周期Ｔｒｅｑの間にｍｅａｓ信号１１１が何クロック含まれるかを認識できる。このクロック数を「全クロック数」とすると、図８の例における全クロック数は、１０クロックとなる。なお、ｍｅａｓ信号１１１は、同期高速クロック生成部７０で、ｄａｔａ＿ｒｅｑ信号２１０に基づいて生成される信号であるから、全クロック数は、同期高速クロック生成部７０の設計値からもわかる。したがって、全クロック数を設計値から得る場合には、上記のとおり、時間差計測部６０を構成する必要はない。そして、位置補正部４０は、位置データ情報にデータ要求時点から何クロック目に計測されたデータかを示す情報を付加し、これを今クロック番号とする。例えば、図８の位置データＰ２＿１０では、今クロック番号は、１０となる。これにより、位置補正部４０は、以下の式（６）より、その位置データ情報がデータ要求時点に対していくつ前のクロックかを認識できる。このクロックを「補正値演算基準クロック数」とする。
補正値演算基準クロック番号＝（全クロック数＋１）−今クロック番号      （６）
例えば、位置データＰ２＿１０については、１０＋１−１０＝１より、補正値演算基準クロック番号は１となる。すなわち、位置データＰ２＿１０は、データ要求時点に対して１つ前のクロックで計測した位置データということになる。最終的に、Ｔｓｐは、以下の式（７）により求められる。
Ｔｓｐ［ｓ］＝ｍｅａｓ信号の周期［ｓ］×補正値演算基準クロック番号      （７）
例えば、図８のＴｓｐは、以下の式（８）のように求められる。
Ｔｓｐ［ｓ］＝１０［μｓ］×１＝１０［μｓ］      （８）
【００４５】
このように求められたＴｓｐを式（５）に代入すれば、計測時補正位置データを求めることができる。例えば、ｄａｔａ＿ｒｅｑ３の時点での計測時補正位置データＰ３’＿１は、以下の式（９）から求められる。
Ｐ３’＿１［ｍ］＝Ｐ２＿１０［ｍ］＋Ｖ２＿１０［ｍ／ｓ］×１０［μｓ］  （９）
そして、位置データ出力部５０は、この式（９）にて求められる計測時補正位置データのうち、ｄａｔａ＿ｒｅｑ３のデータ要求時点に最も時間的に近い計測時補正位置データを、上位システム５００へと出力する。
【００４６】
なお、Ｔｓｐは、検出部１０での計測開始時点とデータ要求時点との時間差であるが、より詳細な補正をするために検出部１０の受光時間を考慮してもよい。例えば、以下の式（１０）より求まるＴｓｐ’を式（５）のＴｓｐに代入すればよい。
Ｔｓｐ’［ｓ］＝Ｔｓｐ［ｓ］＋検出部１０の受光時間［ｓ］／２      （１０）
なお、検出部１０の受光時間は、設計値から求めてもよいし、実際に計測して求めてもよい。
【００４７】
次に、上位システム５００が、取得した位置データを用いて位置決め制御を実行する制御部であるとして、制御時補正位置データを求める方法について説明する。ここでも、ｄａｔａ＿ｒｅｑ３の要求に対して実際に制御に用いられるのは、次のクロックタイミングであるｄａｔａ＿ｒｅｑ４の時点のものとする。そして、エンコーダ１００は、ｄａｔａ＿ｒｅｑ４の時点での位置データＰ４＿１を予測した制御時補正位置データＰ４’＿１を出力する必要がある。この制御時補正位置データは、以下の式（１１）より求められる。
制御時補正位置データ［ｍ］＝計測時補正位置データ［ｍ］＋移動速度［ｍ／ｓ］×
制御時点との時間差［ｓ］      （１１）
例えば、図８の制御時補正位置データＰ４’＿１を求める場合には、以下の式（１２）のようになる。ただし、ここでは制御時点との時間差を１００μｓとしている。
Ｐ４’＿１［ｍ］＝Ｐ３’＿１［ｍ］＋Ｖ２＿１０［ｍ／ｓ］×１００［μｓ］（１２）
【００４８】
なお、ここまで位置計測開始から位置データ演算までの処理時間が３０μｓ以上と長くなる場合について説明した。これに対して、処理時間が３０μｓ以下と短く、Ｗａｉｔ時間がそれよりもさらに短いことで、Ｗａｉｔ時間中に処理が終了しない場合でも、同様の方法で位置データを補正することができる。
【００４９】
次に、上記のような構成および処理による具体的な効果について説明する。ここでは、一例として対象物が図９に示すような加速度を持つ場合について考える。なお、図９では、横軸の時間に対して、縦軸を重力加速度としている。この場合、対象物は、０〜５ｍｓの間では、加速度が０Ｇから１Ｇまで線形に上昇（加速）し、５〜１０ｍｓの間では、一定加速度１Ｇで推移し、１０〜１５ｍｓの間では、加速度が１Ｇから０Ｇまで線形に下降（減速）する台形の加速度変化動作をする。
【００５０】
まず、比較のために、従来のエンコーダによる補正結果とそのときに生じ得る位置誤差について説明する。図１４は、上記の図７および図８に対応した、従来のエンコーダによる各部の動作タイミングを表すタイミング図である。従来のエンコーダでは、図７および図８と比較してわかるとおり、位置計測用のクロック信号であるｍｅａｓ信号がなく、位置計測は、データ要求周期ごとに行なわれる。また、図１４では、位置計測開始から補正位置データ演算までの処理時間がＷａｉｔ時間よりも長い場合を示している。
【００５１】
まず、上位システムがデータ収集解析部であり、図１４におけるｄａｔａ＿ｒｅｑ３の時点での位置を得たい場合について考える。この場合、ｄａｔａ＿ｒｅｑ３の時点での位置データＰ３＿１を出力するまでの処理が、Ｗａｉｔ時間中に終わらないため、エンコーダは、ｄａｔａ＿ｒｅｑ３の時点で取得した位置データＰ３＿１をそのまま出力することができない。したがって、エンコーダは、ｄａｔａ＿ｒｅｑ３の時点での位置データＰ３＿１を予測した、計測時補正位置データＰ３’＿１を出力する必要がある。この計測時補正位置データＰ３’＿１は、上記の式（５）を参照すると、以下の式（１３）により求められる。ただし、Ｔｓｐは、データ要求周期Ｔｒｅｑと同じ１００μｓである。
Ｐ３’＿１［ｍ］＝Ｐ２＿１［ｍ］＋Ｖ２＿１［ｍ／ｓ］×１００［μｓ］  （１３）
そして、実際のｄａｔａ＿ｒｅｑ３の時点での位置データＰ３＿１と、ここで得られた計測時補正位置データＰ３’＿１との差が、従来生じ得る位置誤差となる。図１０は、図９の加速度動作をする対象物について求めた位置誤差を示すグラフである。特に、図１０（ａ）は、計測時補正に係る位置誤差に関するものである。図１０（ａ）中の実線で示す従来の誤差量については、横軸の時間に対して、左側縦軸で示している。誤差量は、対象物の加速度の大きさに比例しており、最大で９８ｎｍとなる。
【００５２】
これに対して、本実施形態に係るエンコーダ１００では、Ｔｓｐを１０μｓとし、図９の動作をする対象物についての、式（５）より求められる計測時補正位置データと実際の位置との差である位置誤差は、図１０（ａ）中の一点鎖線で表される。なお、一点鎖線で示す誤差量については、横軸の時間に対して、右側縦軸で示している。この右側縦軸は、従来の場合の誤差量を示している左側縦軸に対して、スケールが１／１０倍となっている。この場合の誤差量は、最大で０．９８ｎｍであり、従来の場合に比べて約１／１００倍と大幅に低減している。このように、本実施形態によれば、位置誤差１ｎｍ以下の高精度な計測時補正位置データが得られることがわかる。
【００５３】
次に、上位システム５００が、取得した位置データを用いて位置決め制御を実行する制御部である場合を考える。まず、従来のエンコーダによる補正結果とそのときに生じ得る位置誤差について見ると、ここでも、例えば、ｄａｔａ＿ｒｅｑ３の要求に対して実際に制御に用いられるのは、次のクロックタイミングのｄａｔａ＿ｒｅｑ４の時点である。この場合、エンコーダは、ｄａｔａ＿ｒｅｑ４の時点での位置データＰ４＿１を予測した制御時補正位置データＰ４’＿１を出力する必要がある。この制御時補正位置データＰ４’＿１は、上記の式（１１）を参照すると、以下の式（１４）により求められる。ただし、ここでは制御時点との時間差を１００μｓとしている。
Ｐ４’＿１［ｍ］＝Ｐ３’＿１［ｍ］＋Ｖ２＿１［ｍ／ｓ］×１００［μｓ］（１４）
そして、実際のｄａｔａ＿ｒｅｑ４の時点での位置データＰ４＿１と、ここで得られた計測時補正位置データＰ４’＿１との差が、従来生じ得る位置誤差となる。図１０（ｂ）は、制御時補正に係る位置誤差に関するものである。図１０（ｂ）中の実線で示す従来の誤差量は、対象物の加速度の大きさに比例しており、最大で２９４ｎｍとなる。
【００５４】
これに対して、本実施形態に係るエンコーダ１００では、Ｔｓｐを１０μｓとし、図９の動作をする対象物についての式（１１）より求められる計測時補正位置データと実際の位置との差である位置誤差は、図１０（ｂ）中の一点鎖線で表される。この場合の誤差量は、最大で６４．６ｎｍであり、従来の場合に比べて約１／４．５に低減している。このように、本実施形態によれば、位置誤差０．１μｍ以下の高精度な計測時補正位置データが得られることがわかる。
【００５５】
ここまで、Ｔｓｐが１０μｓであるとして説明したが、Ｔｓｐは、位置演算部３０の処理速度などにより異なる。そこで、以下、Ｔｓｐの大きさにより位置誤差量がどのように変化するかについて説明する。
【００５６】
図１１（ａ）は、計測時補正位置データについてＴｓｐ［μｓ］に対する位置誤差量［ｎｍ］を示すグラフである。例えば、Ｔｓｐ＝１０μｓでは、上記のとおり誤差量が０．９８ｎｍで、従来の場合に比べて約１／１００倍となる。なお、Ｔｓｐ＝０μｓでは、エンコーダ１００は、取得した位置データをそのまま出力できるので、誤差量は０ｎｍとなる。
【００５７】
図１１（ｂ）は、制御時補正位置データについてＴｓｐ［μｓ］に対する位置誤差量［ｎｍ］を示すグラフである。例えば、Ｔｓｐ＝１０μｓでは、上記のとおり誤差量が６４．６ｎｍで、従来の場合に比べて約１／４．５倍となる。また、Ｔｓｐ＝０μｍでは、上位システム５００での制御時点までの間に対象物が移動することで、誤差量が５３．９ｎｍで、従来の場合に比べて約１／５．５倍となる。
【００５８】
このように、エンコーダ１００は、特に対象物が加速度運動を行う場合でも、データ要求信号の周期に同期した位置計測用の高速クロックを生成し用いることで、データ要求信号の周期よりも短い周期で位置または角度の計測を行う。すなわち、従来、データ要求信号の周期が短くなければ、正確な位置または角度を出力することが難しかったが、エンコーダ１００では、データ要求信号の周期を短くする必要がない。したがって、データ要求信号の周期が短くなるように高速化する場合の上位システム５００での演算負荷を増加させる必要もないため、結果的に、上位システム５００を複雑かつ高価なものとしなくてもよい。
【００５９】
以上のように、本実施形態によれば、高速で変位する対象物に対する変位計測精度の点で有利な計測装置および計測方法を提供することができる。また、このような計測装置を用いることで、対象物の計測、検査、または加工などの処理の精度の点で有利な処理装置を提供することができる。
【００６０】
（第２実施形態）
次に、本発明の第２実施形態に係る計測装置について説明する。図１２は、本実施形態に係るエンコーダ３００の信号処理系の構成を示すブロック図である。本実施形態に係るエンコーダ３００の特徴は、第１実施形態に係るエンコーダ１００が発振器８０を有しているのに対してその発振器を含まず、上位システム５００からｃｌｋ＿ＩＮ信号２３０の入力を受ける点にある。なお、エンコーダ３００のその他の構成は、第１実施形態に係るエンコーダ１００と基本的に同一であるので、図１２において同一の符号を付し、説明を省略する。
【００６１】
ｃｌｋ＿ＩＮ信号２３０は、同様に上位システム５００から送信されるｄａｔａ＿ｒｅｑ信号２１０に同期しているクロック信号である。エンコーダ３００は、ｃｌｋ＿ＩＮ信号２３０を上位システム５００から受信し、同期高速クロック生成部７０は、ｃｌｋ＿ＩＮ信号２３０に基づいてｍｅａｓ信号１１１を生成する。さらに、同期高速クロック生成部７０は、位置演算部３０や位置補正部４０における演算用のクロックも生成する。具体的には、まず、同期高速クロック生成部７０内のＰＬＬ７８にｃｌｋ＿ＩＮ信号２３０が入力される。ｃｌｋ＿ＩＮ信号２３０は、連続したクロック信号であるため、ＰＬＬ７８は、常にサンプル動作であればｃｌｋ＿ＩＮ信号２３０に同期した新たなクロック信号を生成することができる。そのため、本実施形態では、ＰＬＬ７８中のサンプル／ホールド切替器７８２を必要としない。例えば、ｃｌｋ＿ＩＮ信号２３０の周波数を１００ｋＨｚ、第１分周器７８５の分周比（１／Ｎ）を１／２０００とすると、電圧制御発振器７８４は、ｃｌｋ＿ＩＮ信号２３０に同期した周波数２００ＭＨｚのｃｌｋ信号１１２を出力する。そして、同期高速クロック生成部７０は、ｃｌｋ信号１１２に基づいて分周し、遅延を与えることで、ｍｅａｓ信号１１１、ａｄ＿ｓｔａｒｔ信号１１６、ｍｅａｓ＿ｓｔａｒｔ信号１１０、およびｄａｔａ＿ｏｕｔ＿ｓｔａｒｔ信号１２０を生成する。
【００６２】
図１３は、第１実施形態における図７に対応した、本実施形態における各部の動作タイミングを表すタイミング図である。図１３にて、図７と異なる点は、「ｃｌｋ」と「ｍｅａｓ（１００ｋＨｚ）」との各信号に換わり、「ｃｌｋ＿ＩＮ」と「ｃｌｋ（ＰＬＬ  ｇｅｎｅｒａｔｅ）」との各信号が存在することである。ｃｌｋ＿ＩＮは、ｃｌｋ＿ＩＮ信号２３０であり、同期高速クロック生成部７０は、このｃｌｋ＿ＩＮに基づいて、ｃｌｋ（ＰＬＬ  ｇｅｎｅｒａｔｅ）を生成する。例えば、ｃｌｋ＿ＩＮの周波数を１００ｋＨｚ、ｃｌｋ（ＰＬＬ  ｇｅｎｅｒａｔｅ）の周波数を２００ＭＨｚとし得る。そして、同期高速クロック生成部７０は、このｃｌｋ（ＰＬＬ  ｇｅｎｅｒａｔｅ）を分周することで、ｍｅａｓ信号１１１を生成することができる。なお、ｍｅａｓ信号１１１は、ｃｌｋ＿ＩＮと同じ周波数１００ｋＨｚであり、図１３では不図示（クロックタイミングは、ｃｌｋ＿ＩＮと同一）としている。そして、エンコーダ３００内の検出部１０は、このｍｅａｓ信号１１１の周期ごとに位置計測を行うことになる。
【００６３】
なお、図１３は、位置計測開始から補正位置データ演算までの処理時間がＷａｉｔ時間よりも短い場合について示している。これに対して、Ｗａｉｔ時間よりも長い場合については、ｃｌｋ＿ＩＮを第１実施形態における図８のｍｅａｓ（１００ｋＨｚ）と、ｃｌｋ（ＰＬＬ  ｇｅｎｅｒａｔｅ）を図８のｃｌｋとそれぞれ置き換えればよい。
【００６４】
このように、エンコーダ３００は、データ要求信号の周期に同期したクロック信号を上位システム５００から受信して用いるので、第１実施形態と比較すると、発振器８０を要しない。したがって、本実施形態によれば、第１実施形態と同様の効果を奏しつつ、構成および信号処理を簡略化できるという利点がある。
【００６５】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【００６６】
例えば、上記実施形態中で例示した各クロック信号の周波数は、その値に限定するものではなく、その要旨の範囲内で変更可能である。また、各実施形態では、ｍｅａｓ信号１１１を、連続したクロック信号として説明したが、データ要求周期の間に複数の位置計測タイミングを検出部１０に与えるものであれば、間欠的な信号であってもよい。さらに、データ要求信号であるｄａｔａ＿ｒｅｑ信号２１０は、上記のように周期性を有するものであるが、精度的に許容される計測データが取得できるのであれば、周期性を有しなくともよい場合もある。
【符号の説明】
【００６７】
１０    検出部
３０    位置演算部
４０    位置補正部
７０    同期高速クロック生成部
１００  エンコーダ
１１１  ｍｅａｓ信号
２１０  ｄａｔａ＿ｒｅｑ信号
【図１】
2014240790.tif 000003
【図２】
2014240790.tif 000004
【図３】
2014240790.tif 000005
【図４】
2014240790.tif 000006
【図５】
2014240790.tif 000007
【図６】
2014240790.tif 000008
【図７】
2014240790.tif 000009
【図８】
2014240790.tif 000010
【図９】
2014240790.tif 000011
【図１０】
2014240790.tif 000012
【図１１】
2014240790.tif 000013
【図１２】
2014240790.tif 000014
【図１３】
2014240790.tif 000015
【図１４】
2014240790.tif 000016