各図を参照して本発明の実施形態について説明する。複数の図面に示された同一の事項については同一の符号を付してその説明を簡略化する。本願明細書における上下左右等の用語は、図面における方向を示す。これらの方向を示す用語は説明の便宜上のものであり、各構成要素を配置する際の姿勢を限定するものではない。以下の説明では、本発明の実施形態に係るリニアエンコーダ(位置測定装置)が、可動テーブルを備える工作機械に用いられる例について述べる。ただし、本発明に係る位置測定装置は、工作機械の他、その他の製造装置、測定装置、ロボット等に用いられてもよい。この場合、位置測定装置は、搭載先の装置における可動部材を測定対象物とし、可動部材の位置を測定する。
図1には、本発明の第1実施形態に係るリニアエンコーダを構成する画像センサ18およびスケール10が示されている。画像センサ18には、図の右方向をx軸正方向とし、下方向をy軸正方向とするxy座標系が定義されている。画像センサ18は、工作機械における非可動な固定部材に固定されている。xy座標系の原点は、工作機械の固定部材における基準点となる。
スケール10は、x軸方向に延伸する帯状部材12によって形成されている。帯状部材12は可動テーブルに固定されており、矢印20で示されているように、可動テーブルと共にx軸方向に移動する。スケール10には、y軸方向に延びる基準線LZが定められており、スケール10の位置は基準線LZのx軸座標値として定義される。スケール10が固定された可動テーブルの位置も同様に、基準線LZのx軸座標値として定義される。なお、基準線LZは仮想的な直線であり、必ずしも帯状部材12に表記されていなくてもよい。
帯状部材12の上側には、第1位置検出用パターン24が描かれている。すなわち、帯状部材12の上側には、x軸方向に等しい間隔を隔てるように複数のマーカ片14Pが描かれている。各マーカ片14Pの形状は、右下の角が直角であり、右側の辺がy軸方向に延びる直角三角形である。
各マーカ片14Pの右側には、アブソリュートコード16が描かれている。アブソリュートコード16は、太さが異なる複数の縦線がx軸方向に並べられたバーコードであってよい。アブソリュートコード16は、直近の左側に描かれたマーカ片14Pと、その下方に描かれた後述のマーカ片14Nに対応するアブソリュート位置を表す。マーカ片14Pおよびマーカ片14Nに対応するアブソリュート位置は、マーカ片14Pおよびマーカ片14Nが仮にx=0の位置にあるとした場合における基準線LZのx軸座標値として定義される。
帯状部材12の下側には第2位置検出用パターン26が描かれている。すなわち、第2位置検出用パターン26は、第1位置検出用パターン24からアブソリュートコード16を取り除き、各マーカ片14Pを180°だけ回転させてマーカ片14Nとしたものに相当する。第2位置検出用パターン26に属するマーカ片14Nの斜辺上端のx軸上の位置は、第1位置検出用パターン24に属するマーカ片14Pの斜辺下端のx軸上の位置と一致している。以下の説明では、上下に近接するマーカ片14Pおよびマーカ片14Nの対を、マーカペア22(マーカ)ということがある。マーカペア22、マーカ片14Pおよびマーカ片14Nの位置(マーカペア22の基準位置)は、マーカ片14Pの斜辺下端のx軸上の位置、あるいは、マーカ片14Nの斜辺上端のx軸上の位置として定義される。
このように、マーカ片14Pおよびマーカ片14Nのそれぞれの形状は、直角二等辺三角形である。マーカペア22の上側部分であるマーカ片14Pは、マーカペア22の基準位置からx軸に沿った一方方向に向かって上側に広がる形状を有している。マーカペア22の下側部分であるマーカ片14Nは、マーカペア22の基準位置からx軸に沿った反対方向に向かって下側に広がる形状を有している。
各マーカペア22および各アブソリュートコード16は、光を反射する材料で形成されてよい。帯状部材12は、剛性の材料の他、可撓性の材料によって形成されてよい。
画像センサ18は、画像を検出する検出面を第1位置検出用パターン24および第2位置検出用パターン26側に向けて、スケール10よりも手前側に配置されている。スケール10は、x軸方向に移動する可動テーブルと共にx軸方向に移動する。画像センサ18の検出面には、光を検出する複数の画素が2次元配列されており、以下に説明する処理によって、スケール10に描かれた各位置検出パターンを認識する。
なお、画像センサ18が各位置検出用パターンを認識するため、リニアエンコーダには、画像センサ18とスケール10との間に光を照射する照射装置が設けられてもよい。
図2には、リニアエンコーダにおける画像センサユニット100の構成が示されている。画像センサユニット100は、画像センサ18、行選択部40、列選択読み出し部42、読み出し制御部50A、選択出力部50BおよびAI学習部57を備えている。読み出し制御部50Aは、行選択部40、列選択読み出し部42および選択出力部50Bを制御する。列選択読み出し部42から選択出力部50Bには、画像センサ18によって得られた値が出力される。選択出力部50Bは、画像センサ18によって得られた値に基づいて、読み出し制御部50Aに検出信号を出力する。
読み出し制御部50Aは、外部から読み込まれたプログラム、または予め記憶されたプログラムを実行するプロセッサによって構成されてよい。行選択部40および列選択読み出し部42は、バイポーラトランジスタ、FET(Field Effect Transistor)等の半導体スイッチング素子を含む電子回路によって構成されてよい。
読み出し制御部50Aおよび選択出力部50Bは、マーカペア22の検出位置を列選択読み出し部42によって読み出された画素値に基づいて求め、検出位置に基づいて、画像センサ18とスケール10との位置関係を測定する制御部を構成する。行選択部40は、複数の画素行のうちマーカ片14P(マーカペア22の上側部分)に対応する画素行を選択する上側選択処理を実行する。また、行選択部40は、複数の画素行のうちマーカ片14N(マーカペア22の下側部分)に対応する画素行を選択する下側選択処理を実行する。制御部としての読み出し制御部50Aおよび選択出力部50Bは、上側選択処理によって選択された画素行から読み出された画素値と、下側選択処理によって選択された画素行から読み出された画素値とを合成して検出信号を生成し、検出信号のゼロクロスポイントに基づいて検出位置を求める。読み出し制御部50Aは、検出信号をA/D変換し、ディジタル化および補間された検出信号のゼロクロスポイントを検出してよい。
図3には、画像センサ18の構成が示されている。この図では左方向がx軸正方向とされている。すなわち、この図には、スケール10から画像センサ18側を見た構成が示されている。
画像センサ18では、画素(0,0)~画素(n-1,m-1)によって形成される画像の平面にxy座標が定義される。画素(0,0)の位置がxy座標系の原点とされている。画素(0,0)~画素(0,m-1)を通る座標軸がy軸として定義され、画素(0,0)~画素(n-1,0)を通る座標軸がx軸座標として定義されている。読み出し制御部50Aは、各画素(i,j)の位置をxy座標系での座標値(x、y)=(xi,yj)によって記憶する。
画像センサ18には、y軸方向(列方向)にm個の画素30が配列され、x軸方向(行方向)にn個の画素30が配列されるように、n×m個の画素30が2次元配列されている。画素行B0~Bm-1のそれぞれは、x軸方向に配列されたn個の画素30から構成されている。画素行B0~Bm-1は、上から下に向かって、すなわちy軸正方向に向かってこの順序で配置されている。画素列A0~An-1のそれぞれは、y軸方向に配列されたm個の画素30から構成されている。画素列A0~An-1は、右から左に向かって、すなわちx軸正方向に向かってこの順序で配置されている。
画素行B0~Bm-1に対しては、それぞれ、選択信号線β0~βm-1が設けられている。選択信号線β0~βm-1は行選択部40に接続されている。画素列A0~An-1に対しては、それぞれ、読み出し線α0~αn-1が設けられている。読み出し線α0~αn-1の一端は、それぞれ、ノイズキャンセル回路NC1~NCn-1の一端に接続されている。列選択読み出し部42は、読み出しスイッチS0~Sn-1を備えている。ノイズキャンセル回路NC1~NCn-1の他端は、それぞれ、読み出しスイッチS0~Sn-1の一端に接続され、読み出しスイッチS0~Sn-1の他端は、選択出力部50Bの入力端子に接続されている。
各画素30は、フォトダイオード32および画素アンプ34を備えている。フォトダイオード32のアノードは接地導体に接続されている。フォトダイオード32のカソードは、画素アンプ34の入力端子に接続されている。画素列Aiに属する画素30における画素アンプ34の出力端子は、読み出し信号線αiに接続されている。画素行Bjに属する画素30における画素アンプ34の制御端子は、選択信号線βjに接続されている。ここで、iは0~n-1のうちいずれかの整数であり、jは0~m-1のうちいずれかの整数である。また、画素アンプ34は、制御端子の電圧がハイであるときにオンとなり、制御端子の電圧がローであるときにオフとなる。
行選択部40は、画素行B0~Bm-1のうち、画素電圧を読み出すべき画素行に対応する選択信号線の電圧をハイとし、その他の選択信号線の電圧をローとする。画素行B0~Bm-1のうち、選択信号線の電圧がハイとなった画素行Bjに属する各画素30における画素アンプ34がオンになる。フォトダイオード32に光が照射されると、フォトダイオード32は画素アンプ34に電圧(画素電圧)を出力する。画素アンプ34は、フォトダイオード32から出力された画素電圧を増幅し、読み出し信号線に出力する。
読み出しスイッチS0~Sn-1のうち、画素アンプ34の出力電圧が読み出される画素列Aiに対応する読み出しスイッチSiがオンとされる。選択信号線βjの電圧がハイとなった画素行Bjに属するn個の画素30のうち、画素列Aiに属する画素30における画素アンプ34の出力電圧が、ノイズキャンセル回路NCiおよび読み出しスイッチSiを介して選択出力部50Bに出力される。ノイズキャンセル回路NCiは、画素アンプ34の出力電圧に含まれるノイズ電圧を低減または除去する。
行選択部40については、上側の複数の画素行を同時に選択する上選択状態と、下側の複数の画素行を同時に選択する下選択状態が交互に繰り返される。列選択読み出し部42は、行選択部40が上選択状態となった後に下選択状態となる1サイクルにつき1つの列を選択する。すなわち、列選択読み出し部42は、行選択部40によって同時に選択された上側の複数の画素行から画素値を読み出す処理を実行し、続いて、行選択部40によって同時に選択された下側の複数の画素行から画素値を読み出す処理を、各行について実行する。
上選択状態において選択された上側の複数行に属する複数の画素のうち、列選択読み出し部42が選択する1列に属する複数の画素から出力される画素値が合成される。そして、合成画素値が、その1列の上側に対応する検出値として列選択読み出し部42から選択出力部50Bに出力される。ここで、合成画素値は、上選択状態において選択された上側の複数行に属し、かつ、列選択読み出し部42が選択する1列に属する複数の画素のそれぞれにおけるフォトダイオード32に蓄積された電荷の放電に基づく。
続いて、下選択状態において選択された下側の複数行に属する複数の画素のうち、列選択読み出し部42が選択する1列に属する複数の画素から出力される画素値が合成される。そして、合成画素値が、その1列の下側に対応する検出値として列選択読み出し部42から選択出力部50Bに出力される。
上選択状態では、行選択部40が、第0行目~第L-1行目までのL本の選択信号線β0~βL-1の電圧を同時にハイとし、その他の選択信号線の電圧をローとする。下選択状態では、行選択部40が、第L行目~第2L-1行目までのL本の選択信号線βL~β2L-1の電圧を同時にハイとし、その他の選択信号線の電圧をローとする。上選択状態に続いて下選択状態となる1サイクルごとに、読み出しスイッチS0、S1、S2、・・・・・、Sn-1が1つずつ順に選択され、選択されたスイッチが少なくとも1サイクルの間オンとされる。このような水平方向走査が、同時に選択された複数画素行B0~BL-1および同時に選択された複数画素行BL~B2L-1について行われる。
選択出力部50Bは、正極スイッチ46P、正極アンプ44P、負極スイッチ46N、負極アンプ44Nおよび出力アンプ48を備えている。正極スイッチ46Pは、列選択読み出し部42の出力端子と正極アンプ44Pの入力端子との間に接続されている。負極スイッチ46Nは、列選択読み出し部42の出力端子と負極アンプ44Nの入力端子との間に接続されている。正極アンプ44Pの出力端子は出力アンプ48の正極端子に接続され、負極アンプ44Nの出力端子は出力アンプ48の負極端子に接続されている。
行選択部40が、上選択状態にあるときには正極スイッチ46Pがオンになり、負極スイッチ46Nがオフになる。この状態で、列選択読み出し部42から出力された検出値は、正極アンプ44Pを介して出力アンプ48の正極端子に入力される。出力アンプ48は、正極端子に入力された検出値をその極性を維持したまま、読み出し制御部50Aに出力する。
行選択部40が、下選択状態にあるときには正極スイッチ46Pがオフになり、負極スイッチ46Nがオンになる。この状態で、列選択読み出し部42から出力された検出値は、負極アンプ44Nを介して出力アンプ48の負極端子に入力される。出力アンプ48は、負極端子に入力された画素合成値をその極性を逆にして読み出し制御部50Aに出力する。
これによって、第0列~第n-1列のそれぞれの上下の検出値が検出信号として、選択出力部50Bから読み出し制御部50Aに順に出力される。すなわち、画素(0,0)~画素(0,L-1)の検出値および画素(0,L)~画素(0,2L-1)の検出値、画素(1,0)~画素(1,L-1)の検出値および画素(1,L)~画素(1,2L-1)の検出値、画素(2,0)~画素(2,L-1)の検出値および画素(2,L)~画素(2,2L-1)の検出値、・・・・・画素(n-1,0)~画素(n-1,L-1)の検出値および画素(n-1,L)~画素(n-1,2L-1)の検出値が検出信号として、選択出力部50Bから読み出し制御部50Aに順に出力される。
なお、画像センサユニット100は、n×m個の画素から画素値を順に取得することで、1枚の画像に対応する画像データを生成してよい。この場合、選択出力部50Bにおける正極スイッチ46Pはオンとされ、負極スイッチ46Nはオフとされる。行選択部40は、選択信号線βjの電圧をハイとし、その他の選択信号線の電圧をローとしている間に、読み出しスイッチS0、S1、S2、・・・・・、Sn-1を順に一定時間だけオンとする。この水平方向走査が各画素行B0~Bm-1について順に行われる。これによって、画素(0,0)、画素(1,0)、画素(2,0)、・・・・・画素(n-1,0)、画素(0,1)、画素(1,1)、画素(2,1)、・・・・・画素(n-1,1)、・・・・・画素(0,m-1)、画素(1,m-1),画素(2,m-1)、・・・・・画素(n-1,m-1)の画素値が画像データとして、列選択読み出し部42から選択出力部50Bを介して読み出し制御部50Aに順に出力される。ただし、画素(i,j)は、画素列Aiに属し、かつ、画素行Bjに属する画素30を示す。読み出し制御部50Aは、画素(0,0)~画素(n-1,m-1)の各画素値によって画像を認識する。
図4には、スケール10および画像センサ18が示されている。この図では、画像センサ18における検出面でない反対側の面が手前側に向けられている。スケール10におけるマーカペア22-1~22-4と、アブソリュートコード16-1~16-4が示されている。説明の便宜上、マーカペア22-2およびアブソリュートコード16-2は、画像センサ18を透過させて示されている。
図4に示されている状態を測定開始の状態として、リニアエンコーダの動作について説明する。読み出し制御部50Aは、画像センサ18から検出信号を読み込んでマーカペア22-2を検出すると共に、画像センサ18から画像データを読み込んでアブソリュートコード16-2を読み取る。
図5には、選択出力部50Bから読み出し制御部50Aに出力される検出信号E(x)の値と共に、マーカペア22の形状が示されている。横軸はx軸であり、縦軸は検出信号E(x)の値を示す。列選択読み出し部42が、時間tが経過すると共に、第0列、第1列、第2列、・・・・・の順に検出値を順次出力する場合、x軸の正方向は、時間t軸の正方向に対応する。検出信号E(x)は、マーカペア22の検出位置(マーカ片14Pの斜辺下端の位置、またはマーカ片14Nの斜辺上端の位置)に値が0となるゼロクロスポイントZPを有する。
読み出し制御部50Aは、行選択部40、列選択読み出し部42および選択出力部50Bを制御して、上選択状態および下選択状態のそれぞれについて、画素列A0~An-1から検出値を取得することで検出信号E(x)を取得する。読み出し制御部50Aは、検出信号E(x)に基づいて、検出信号E(x)のゼロクロスポイントのx軸上の位置を、追従位置x0として求める。
次に、読み出し制御部50Aは、画素列A0~An-1のうち、追従位置x0を含むx軸座標範囲にあるK列の画素列について追従用検出信号E0(x)を求め、追従用検出信号E0(x)のゼロクロスポイントのx軸上の位置を、追従位置x1として求める。ここで、Kは、nよりも小さい正の整数である。同様に、読み出し制御部50Aは、画素列A0~An-1のうち、追従位置x1を含むx軸座標範囲にあるK列の画素列について追従用検出信号E1(x)を求め、追従用検出信号E1(x)のゼロクロスポイントのx軸上の位置を、追従位置x2として求める。・・・・・・このように、読み出し制御部50Aは、画素列A0~An-1のうち、追従位置xqを含むx軸座標範囲にあるK列の画列について追従用検出信号Eq(x)を求め、追従用検出信号Eq(x)のゼロクロスポイントのx軸上の位置を、追従位置xq+1として求める。・・・・・・。ここで、qは0または正の整数である。
このような追従検出処理は、読み出し制御部50Aが備えるK段のリバーシブルシフトレジスタ52を用いて実行される。読み出し制御部50Aは、画素列A0~An-1のうち、ゼロクロスポイントを含むx軸座標範囲にあるK列の画素列から取得される追従用検出信号Eq(x)のK個の離散値を、K段のリバーシブルシフトレジスタ52に記憶させる。読み出し制御部50Aは、K段のリバーシブルシフトレジスタ52に記憶されたK個の離散値に基づいて、ゼロクロスポイントのx軸上の位置を、追従位置xq+1として求める。このように、読み出し制御部50Aは、追従用検出信号のK個の離散値をK段のリバーシブルシフトレジスタ52に記憶する。読み出し制御部50Aは、さらに、K段のリバーシブルシフトレジスタ52に記憶されたK個の離散値に基づいて、ゼロクロスポイントのx軸上の位置を求めることで追従位置を求める処理を、時間経過と共に繰り返し実行する。
読み出し制御部50Aは、マーカペア22-2に対して求められた追従位置(検出位置)として、x軸座標値x=Xpを求める。以下の説明では、x軸座標値で表されたマーカペア22-2の位置をインクリメント位置x=Xpという。
また、読み出し制御部50Aは、画像センサ18によって得られた画像データに基づいて、アブソリュートコード16-2の読み取りを、例えば次のような処理によって行う。読み出し制御部50Aは、画像データからバーコードとしてのアブソリュートコード16-2を認識し、アブソリュートコード16-2に対応する画素範囲におけるx軸方向の画素値の配列を2進数に置き換える。読み出し制御部50Aは、この2進数から、x軸座標値で表されたマーカペア22-2に対応するアブソリュート位置x=Xaを読み取る。アブソリュート位置は、仮にマーカペア22-2がx軸座標値x=0の位置にあったとした場合における基準線LZのx軸座標値として定義される。
読み出し制御部50Aは、(数1)に示されているように、アブソリュート位置x=Xaにインクリメント位置x=Xpを加算することで、x軸座標値で表された基準線LZの位置、すなわち、可動テーブルの位置x=Uを求める。
(数1)U=Xa+Xp
可動テーブルがx軸方向に移動した場合、これと共にスケール10もx軸方向に移動する。スケール10が移動したことによって、読み出し制御部50Aが検出するマーカペア22が、別のマーカペア22に入れ替わったときは、先に検出したマーカペア22に基づいて基準線LZの位置を求める処理と同様の処理によって、新たに検出したマーカペア22に基づいて基準線LZの位置を求める。このような処理によって、読み出し制御部50Aは、可動テーブルがx軸方向に移動したときにおいても、順次、x座標値で表された基準線LZの位置、すなわち、可動テーブルの位置を求める。
本実施形態に係るリニアエンコーダには、人工知能(AI)による機械学習によって、リニアエンコーダの搭載先の工作機械の異常を検出し、アラーム等によってユーザに注意を促すAI学習部57が設けられている。AI学習部57は、読み出し制御部50Aによって求められた基準線LZの位置の時間変化(変動)等と、工作機械の異常状態とを対応付けた機械学習モデルを構築する。工作機械の異常には、追従検出処理が確実に行われていないこと、歯車・ボールスクリューのバックラッシュ若しくは破損、可動テーブル摺動面の摩擦過大、可動テーブルの加工送り速度の過大、ドリルの破損、バイトの破損等がある。機械学習モデルを構築したAI学習部57は、基準線LZの位置を機械学習モデルに当て嵌めることによって、工作機械に異常があるか否かを判定し、異常があると判定したときは、アラーム、光、画像表示等によってユーザに注意を促してもよい。
本実施形態に係るリニアエンコーダでは、マーカペア22を構成するマーカ片14Pおよびマーカ片14Nが、y軸方向を長手方向とする直角三角形状に描かれている。したがって、各マーカ片の一部に異物が付着していたとしても、マーカペア22のゼロクロスポイントを検出することができれば、マーカペア22のx座標値が求められる。したがって、本実施形態に係るリニアエンコーダによれば、スケール10上に異物が存在する環境下においてスケール10の位置を検出する性能が向上する。また、本実施形態に係るリニアエンコーダでは、各マーカペア22は、光を反射する物質を帯状部材12に設けることで構成される。例えば、反射性の塗料を帯状部材12に塗布することで各マーカペア22が形成されてよい。また、本実施形態に係るリニアエンコーダによれば、追従検出処理によってマーカペア22のゼロクロスポイントのx軸上の位置が追従的に求められる。これによって、リニアエンコーダが可動テーブルの位置を求める精度が向上する。
上記では、マーカペア22が検出される度にアブソリュートコードを読み取り、マーカペア22が検出される度に、インクリメント位置およびアブソリュート位置を求める処理について説明した。このような処理の他、スケール10の移動によって、測定開始時に検出されたマーカペア22とは異なるマーカペア22が検出されている場合についても、測定開始時に求められたアブソリュート位置を用いる処理が実行されてもよい。
この場合、読み出し制御部50Aは、測定開始時に検出されたマーカペア22を基準マーカペアとし、現時点で検出されている現時点マーカペアが、基準マーカペアから離れて何番目のマーカペア22に対応するかを判定する。読み出し制御部50Aは、現時点マーカペアが基準マーカペアからx軸負方向に離れてC番目であると判定したときは、(数2)に示されているように、測定開始時に求められたアブソリュート位置x=Xaに、マーカペア22の間隔dのC倍を加算し、さらに、現時点マーカペアのインクリメント位置x=Xpを加算することで基準線LZの位置x=Uを求める。ここで、マーカカウント値Cは正の整数、負の整数、または0である。
(数2)U=Xa+C・d+Xp
読み出し制御部50Aは、このような処理を具体的に次のように実行してよい。画像センサ18にはx軸方向の検出範囲XL≦x≦XHがあるものとする。図2~図4に示されている例ではXL=0である。読み出し制御部50Aは、測定開始時に検出されたマーカペア22に対応するアブソリュートコードを読み込み、アブソリュート位置x=Xaを求めると共に、測定開始時のマーカカウント値をC=0とする。
読み出し制御部50Aは、マーカペア22を検出した後、追従検出処理によってマーカペア22の位置を追跡する。読み出し制御部50Aは、マーカペア22のx座標値が増加してXHに達した後に、XLに戻って再び増加したときは、Cを1だけ増加させる。一方、読み出し制御部50Aは、マーカペア22のx座標値が減少してXLに達した後に、XHに戻って再び減少したときは、Cを1だけ減少させる。読み出し制御部50Aは、現時点でXL≦x≦XHの範囲で検出されているマーカペア22のインクリメント位置x=Xp、測定開始時に読み込んだアブソリュート位置x=Xa、現時点におけるマーカカウント値Cおよびマーカペア22の間隔dを用いて、基準線LZの位置U=Xa+C・d+Xpを求める。
このように、読み出し制御部50Aは、マーカペア22のx座標値で表される検出位置(インクリメント位置Xp)の変化に基づいて、現時点で検出位置が求められた現時点マーカペアが、先にアブソリュート位置が求められた基準マーカペアから離れて何番目のマーカペア22に対応するかを判定する。読み出し制御部50Aは、現時点マーカペアが基準マーカペアからx軸負方向に離れてC番目であると判定したときは、判定結果(マーカカウント値C)、先に求められたアブソリュート位置Xaおよび検出位置Xpに基づいて、測定対象物としての可動テーブルの位置(基準線LZの位置)U=Xa+C・d+Xpを測定する。
このような処理によれば、読み出し制御部50Aは、アブソリュートコードを読み込む処理を1度行うのみでよく、新たにマーカペア22が検出される度にアブソリュートコードを読み込まなくてもよい。これによって、基準線LZの位置、すなわち、測定対象物の位置が迅速に求められる。
なお、工作機械が動作しているときに読み出し制御部50Aは、現時点のマーカカウント値Cおよびアブソリュート位置Xaを記憶する。工作機械の電源がオフにされた後、再びオンにされたときは、読み出し制御部50Aは、新たに検出された現時点マーカペアについて得られたインクリメント位置Xpと、先に記憶したマーカカウント値Cおよびアブソリュート位置Xaに(数2)を適用して基準線LZの位置x=Uを求める。また、一般に工作機械は、異常が発生した際にアラームを発生し、動作を停止する設計となっている。工作機械がアラーム発生と共に停止し、再び動作を開始したときには、工作機械の電源が一旦オフにされ、再びオンにされたときと同様の処理によって、読み出し制御部50Aは基準線LZの位置x=Uを求める。
上記では、画像センサ18によって1個のマーカペア22が検出されるようにマーカペア22の間隔dが定められた実施形態について説明した。画像センサ18においては、2個以上のマーカペア22が検出されてもよい。図6には、画像センサ18によって4個のマーカペア21-1~21-4が検出されるスケール10および画像センサ18が示されている。帯状部材12には、複数のマーカペア21および複数のアブソリュートコード16がx軸方向に沿って配列されている。画像センサ18の検出面は、4個のマーカペア21-1~21-4および4個のアブソリュートコード16-1~16-4に対向し、画像センサ18は、4個のマーカペア21-1~21-4を検出すると共に、4個のアブソリュートコード16-1~16-4を撮影する。
測定開始時において、読み出し制御部50Aは、検出下にある4個のアブソリュートコード16-1~16-4のうちいずれか1つを読み取り、アブソリュート位置x=Xaを求める。ここでは、x座標値が最も小さいマーカペア21-1に対応するアブソリュートコード16-1を読み込む例について説明する。
読み出し制御部50Aは、画像センサ18から出力された画像データに基づいてアブソリュートコード16-1を読み取り、アブソリュート位置x=Xaを求める。また、読み出し制御部50Aは、マーカペア21-1~21-4のそれぞれのインクリメント位置x=Xp1、x=Xp2、x=Xp3、x=Xp4を求める。読み出し制御部50Aは、アブソリュート位置x=Xa、インクリメント位置x=Xp1、x=Xp2、x=Xp3、x=Xp4およびマーカペア21-1~21-4の間隔Dに基づいて、基準線LZの仮位置U1、U2、U3およびU4を求める。すなわち、仮位置U1、U2、U3およびU4は、(数3)~(数6)に従って求められる。
(数3)U1=Xa+Xp1
(数4)U2=Xa+Xp2-D
(数5)U3=Xa+Xp3-2D
(数6)U4=Xa+Xp4-3D
(数4)~(数6)における「-D」、「-2D」、「-3D」は、アブソリュートコード16-1が読み込まれたマーカペア21-1からのマーカペア21-2~21-4の距離を負極性にしたものであり、マーカペア21-1に対応するアブソリュート位置x=Xaが求められたことに対する補正値である。読み出し制御部50Aは、仮位置U1、U2、U3およびU4の加算平均値に基づいて、基準線LZの位置を求める。基準線LZの位置x=Uは、(数7)に従って求められる。
(数7)U=(U1+U2+U3+U4)/4
このように、読み出し制御部50Aは、スケール10に設けられた複数のマーカペア21についての複数の仮位置(検出位置)を求め、複数の仮位置に基づいて、画像センサ18とスケール10との位置関係を求めるための測定値を平均化する。複数のマーカペア21に基づいて複数の仮位置を求め、複数の仮位置の加算平均値に基づいて、基準線LZの位置、すなわち、可動テーブルの位置を求めることで、可動テーブルの位置の測定精度が向上する。
上記では、x座標値が最も小さいマーカペア21-1に対応するアブソリュートコード16-1を読み込む例について説明した。その他のマーカペア21-2~21-4のうちいずれかに対応するアブソリュートコードを読み込む処理が実行されてもよい。この場合、各マーカペア21によって求められたインクリメント位置に、アブソリュートコードが読み込まれたマーカペア21によって求められたインクリメント位置からの補正値が加算または減算され、各マーカペア21に基づく基準線の仮位置が求められる。
また、上記では、画像センサ18によって4本のマーカペア21-1~21-4が検出されるスケール10および画像センサ18が示された。画像センサ18によって検出されるマーカペア21の本数は任意である。複数のマーカペア21が画像センサ18によって検出される場合には、読み出し制御部50Aは、複数のマーカペア21のうちいずれかに対応するアブソリュートコードを読み込む。読み出し制御部50Aは、各マーカペア21のインクリメント位置に補正値を加算し、各マーカペア21に基づく基準線LZの仮位置を求める。読み出し制御部50Aは、各マーカペア21に基づく基準線の仮位置の加算平均値に基づいて、基準線LZの位置を求める。
なお、図4に示されたマーカペア22-1~22-4の間隔d、および図5に示されたマーカペア21-1~21-4の間隔Dは、画像センサ18における画素の数で表現した場合に、1000画素以上であってよい。また、マーカ片14Pの右側の縦辺と、マーカ片14Nの左側の縦辺との間のx軸方向の距離(幅)は、500μm程度であってよい。マーカペア22のインクリメント位置は、行方向の画素間隔(画素間ピッチP)の分解能で求められるため、基準線LZの位置が高い分解能で求められる。また、上記では、アブソリュートコードがバーコードである例について説明した。アブソリュートコードは、QRコード(登録商標)等、その他の規格で定められたコードであってもよい。
また、上記では、マーカペアおよびアブソリュートコードが帯状部材12に設けられた実施形態について説明した。マーカペアおよびアブソリュートコードは、測定対象物に直接設けられ、測定対象物がスケールとしての機能を有してもよい。
上記では、スケール10が測定対象物としての可動テーブルに固定され、画像センサ18が固定部材に固定されたリニアエンコーダについて説明した。スケール10上の基準線LZの位置は、画像センサ18上に定義されたx軸における座標値によって求められる。リニアエンコーダでは、スケール10が固定部材に固定され、画像センサ18が測定対象物に固定されてもよい。マーカ片14P、マーカ片14Nおよびアブソリュートコード16は、固定部材に直接設けられ、固定部材がスケールとしての機能を有してもよい。
この場合、リニアエンコーダは、スケール10の基準線LZを基準とした画像センサ18の位置を求める。図4および図6に示されているように、固定部材上には、x軸と同一の方向に向けられたu軸が定義される。画像センサ18の位置は、xy座標系の原点のu軸上の位置、すなわちu軸座標値によって表される。読み出し制御部50Aは、スケール10が測定対象物に固定された上記の実施形態における処理と同様の処理を実行する。読み出し制御部50Aは、上記の実施形態と同様の処理によって求められた基準線LZのx軸座標値x=Uに対し、u軸座標値u=-Uとして画像センサ18の位置を求める。
このように、本発明の第1実施形態に係る位置測定装置は、画像センサ18とスケール10との位置関係を求めるものである。すなわち、本発明の実施形態に係る位置測定装置は、画像センサ18の位置を基準としたスケール10の位置を求めてもよいし、スケール10の位置を基準とした画像センサ18の位置を求めてもよい。
図7には、本発明の第2実施形態に係るリニアエンコーダ102の構成が示されている。リニアエンコーダ102は、スライダ60、スケール62および制御部80を備えている。スライダ60には、右方向をx軸正方向(測定軸方向)とし、上方向をy軸正方向とするxy座標系が定義されている。スライダ60は、工作機械における非可動な固定部材に固定されている。x=0の位置は、工作機械の固定部材における基準位置となる。
スケール62は、移動方向であるx軸方向に延伸する帯状部材64、帯状部材64上に配置された複数のマーカコイル66および複数のコードパターン68を備えている。帯状部材64は、剛性の材料や可撓性の材料によって形成されてよい。帯状部材64は可動テーブルに固定されており、矢印82で示されているように、可動テーブルと共にx軸方向に移動する。スケール62には、y軸方向に延びる基準線LZが定められており、スケール62の位置は基準線LZのx軸座標値として定義される。スケール62が固定された可動テーブルの位置も同様に、基準線LZのx軸座標値として定義される。なお、基準線LZは仮想的な直線であり、必ずしも帯状部材64に表記されていなくてもよい。
各マーカコイル66は、y軸方向を長手方向とする長方形のループを描く。各マーカコイル66のx軸方向の幅は、例えば、0.1mm以上2mm以下であってよい。複数のマーカコイル66は、長手方向をy軸方向に揃えて、x軸方向に所定の間隔を隔てて並べられている。マーカコイル66が並べられる間隔は、例えば、50mm以上100mm以下であってよい。
各マーカコイル66の右側には、コードパターン68が配置されている。コードパターン68は、複数の情報コイル70によって構成されている。図8には、コードパターン68の拡大図が模式的に示されている。情報コイル70は、x軸方向に延びる底辺を有し、y軸方向を高さ方向とする三角形のループを描く。情報コイル70には、左側の辺が底辺に対して垂直であり、右側の辺を斜辺とする第1直角三角形を描く第1情報コイル70-1と、右側の辺が底辺に対して垂直であり、左側の辺を斜辺とする第2直角三角形を描く第2情報コイル70-2がある。後述するように、第1情報コイル70-1と第2情報コイル70-2とでは、スライダ60との間で引き起こされる電磁誘導現象に差異が生じる。そのため、第1情報コイル70-1および第2情報コイル70-2によってディジタル信号の「1」と「0」を表現することで、特定のコードが表現され得る。
図8に示されている例では、x軸の正方向に向かって、第1情報コイル70-1、第1情報コイル70-1、第2情報コイル70-2、第2情報コイル70-2、第1情報コイル70-1、第2情報コイル70-2・・・・・第2情報コイル70-2が順に配置されている。第1情報コイル70-1にディジタル信号の「0」を対応付け、第2情報コイル70-2にディジタル信号の「1」を対応付けた場合には、図8に示されているコードパターン68は、2進数のコード001101・・・・1を示す。
図7に戻って説明する。スライダ60とコードパターン68との間の電磁気的な相互作用によって、コードパターン68が示すアブソリュートコードがスライダ60で読み込まれ、アブソリュートコードが制御部80に出力される。ここで、アブソリュートコードは、コードパターン68の直近の左側に配置されたマーカコイル66に対応するアブソリュート位置を表すコードである。アブソリュート位置は、例えば、マーカコイル66が仮にx=0の位置にあるとした場合における基準線LZのx軸座標値として定義される。マーカコイル66の位置は、例えば、マーカコイル66の中心のx軸上の位置として定義される。
スライダ60は、交流磁界が発生する励磁面をスケール62側に向けて、スケール62よりも手前側に配置されている。スライダ60の励磁面には、交流磁界を発生する複数の電磁誘導線が配置されている。
マーカコイル66および情報コイル70には、スライダ60から交流磁界が与えられると渦電流が流れる。渦電流によって、これらのコイルは、スライダ60から与えられた交流磁界を打ち消すような応答・交流磁界を発生する。スライダ60には、応答・交流磁界を受信する受信コイルが設けられている。受信コイルは、応答・交流磁界を受信し、応答・交流磁界に基づく検出信号を制御部80に出力する。
制御部80は、プログラムに応じて演算処理を実行するプロセッサによって構成されてよい。制御部80は、検出信号に基づいてスケール62の位置を求める。
図9には、スライダ60の構成が示されている。スライダ60は、選択部90、n本の電磁誘導線H1~Hn、受信コイル56および受信アンプ58を備えている。選択部90は、n個のスイッチW1~Wnおよび交流電力源92を備えている。電磁誘導線H1~Hnは、xy座標平面に平行な平面内に配置されている。電磁誘導線H1~Hnのそれぞれは、y軸方向に延伸方向を揃えてx軸方向に所定の配置間隔δを隔てて並べられている。
配置間隔δは、マーカコイル66のx軸方向の幅よりも小さい。すなわち、マーカコイル66のx軸方向の幅は、電磁誘導線H1~Hnの配置間隔δよりも大きい。電磁誘導線H1と電磁誘導線Hnとの間の距離は、隣接するマーカコイル66の間隔よりも短く、例えば、50mmより長く、100mm未満であってよい。nは1000以上であってよい。電磁誘導線H1はx=0の位置に配置されている。
kを1~nのうちのいずれかの整数として、電磁誘導線Hkの下端は接地され、上端はスイッチWkの一端に接続されている。スイッチWkの他端は、交流電力源92の出力端子に接続されている。交流電力源92は、スイッチWkがオンとなっているときに、電磁誘導線Hkに交流電流を流す。交流電力源92は、矩形の時間波形を示す電流を電磁誘導線Hkに流してもよいし、正弦波の時間波形を示す電流を電磁誘導線Hkに流してもよい。
受信コイル56は、電磁誘導線H1~Hnが配置された平面に平行な平面で略長方形状のループを描き、両端が受信アンプ58に接続されている。受信コイル56は、x軸に沿って平行に延びる第1x方向区間56x1および第2x方向区間56x2を備えている。また、受信コイル56は、第1x方向区間56x1の左端と第2x方向区間56x2の左端との間を結ぶ第1y方向区間56y1を備えている。受信コイル56は、さらに、第1x方向区間56x1の右端に一端が接続され、y軸負方向に延びて、他端が受信アンプ58に接続された第2y方向区間56y2と、第2x方向区間56x2の右端に一端が接続され、y軸正方向に延びて他端が受信アンプ58に接続された第3y方向区間56y3を備えている。
第1x方向区間56x1のy軸上の位置は、マーカコイル66の上端のy軸上の位置の近傍であってよい。また、第2x方向区間56x2のy軸上の位置は、マーカコイル66の下端のy軸上の位置の近傍であってよい。さらに、第1y方向区間56y1と第2y方向区間56y2との間隔、および第1y方向区間56y1と第3y方向区間56y3との間隔は、電磁誘導線H1と電磁誘導線Hnとの間隔よりも大きい。
制御部80は、時間経過と共に順次、スイッチW1~Wnのうち1つを選択し、選択したスイッチを所定時間だけオンする。例えば、制御部80は、スイッチW1、W2、・・・・・・Wn、W1、W2、・・・・・・Wn、W1、W2、・・・・・・の順序で巡回的にスイッチを選択し、選択したスイッチをオンにする。制御部80は、1つのスイッチがオンになっているときは、他のスイッチがオンにならないように各スイッチWkを制御する。これによって、電磁誘導線H1、H2、・・・・・・Hn、H1、H2、・・・・・・Hn、H1、H2、・・・・・・の順序で、巡回的に交流電流が流れる。交流電流が流れている電磁誘導線の周囲には、交流磁界が発生する。
電磁誘導線H1~Hnのそれぞれから発せられる交流磁界に基づく磁束は受信コイル56に鎖交しないか、その磁束のうち鎖交する成分は微小である。そのため、電磁誘導線H1~Hnのそれぞれから発せられる交流磁界に基づいて受信コイル56に現れる誘導起電力は0であるか微小である。
電磁誘導線H1~Hnのうち交流電流が流れている電磁誘導線の近傍に、マーカコイル66が位置している場合、その電磁誘導線から発せられた交流磁界に基づく磁束がマーカコイル66に鎖交して、マーカコイル66に渦電流が流れる。これによって、マーカコイル66から応答・交流磁界が発せられる。
マーカコイル66から発せられた応答・交流磁界に基づく磁束は、受信コイル56に鎖交し、受信コイル56には、応答・交流磁界に基づく受信電圧(誘導起電力)が発生し、受信電圧が受信アンプ58に入力される。受信アンプ58は受信電圧を増幅し、検出信号として制御部80に出力する。
図10には、時間経過と共にスイッチW1~Wnのうち1つが順次選択され、電磁誘導線H1~Hnに順次交流電流が流れる場合に、受信アンプ58から出力される検出信号VRが示されている。横軸は時間tを示し縦軸は検出信号VRのレベルを示す。また、時間軸に対応させてx軸が示されている。この図に示されている例では、マーカコイル66の往路1がx=Xαの位置にあり、マーカコイル66の復路3がx=Xβの位置にある。ここで、往路1は、マーカコイル66の左側でy軸方向に延びる区間であり、復路3は、マーカコイル66の右側でy軸方向に延びる区間である。往路1と復路3の上端は上端路2で接続され、復路3と往路1の下端は下端路4によって接続されている。なお、往路、復路、上端路および下端路の用語は、マーカコイル66の構造を説明するための便宜上のものであり、電圧や電流の極性を限定するものではない。また、図10では、説明の便宜上、マーカコイル66のx軸方向の幅が広く誇張して描かれている。選択部90による選択動作によって、時間t1、t2、t3、・・・・・t29には、それぞれ、x=x1、x2、x3、・・・・・x29の位置にある電磁誘導線に交流電流が流れる。
検出信号VRは、x=x1、x2、x3、・・・・・x29の位置にある電磁誘導線によって、それぞれ、時間t=t1、t2、t3・・・・・t29に受信コイル56に発生した誘導起電力(受信電圧)に基づく離散的な信号である。検出信号VRの離散値は電磁誘導波形59上にある。電磁誘導波形59は、横軸を時間軸としたときは誘導起電力の時間波形と捉えられ、横軸をx軸としたときは、誘導起電力の空間波形として捉えられる。電磁誘導波形59は、マーカコイル66の往路1があるx=Xαの位置で負の極大値を有し、マーカコイル66の復路3があるx=Xβの位置で正の極大値を有する。電磁誘導波形59は、マーカコイル66の往路1と復路3との間に挟まれる位置で0となる。ここで、電磁誘導波形59の極性は、受信コイル56に発生する誘導起電力の位相を示す。すなわち、電磁誘導波形59の極性が正から負に変化すること、または負から正に変化することは、受信コイル56に発生する誘導起電力の位相が180°反転することを意味する。
制御部80は検出信号をA/D変換し、ディジタル化および補間された検出信号のゼロクロスポイントを検出する。すなわち、制御部80は、検出信号VRの離散値を補間(内挿)した補間検出信号を求め、補間検出信号が0となるゼロクロスポイントのx軸上の位置を求める。
制御部80が検出信号VRのゼロクロスポイントを追従する処理について説明する。最初に制御部80は、スイッチW1~Wnを順にオンにし、電磁誘導線H1~Hnに順に交流磁界を発生すること得られた補間検出信号のゼロクロスポイントのx軸上の位置を、追従位置x0として求める。
次に、制御部80は、電磁誘導線H1~Hnのうち、追従位置x0を含むx軸座標範囲にあるK本の電磁誘導線に交流磁界を発生させる。この処理は、スイッチW1~Wnのうち、追従位置x0を含むx軸座標範囲にあるK本の電磁誘導線に対応するK個のスイッチについて、1つずつ順にオンにする処理を実行することで行われてよい。制御部80は、これによって得られた検出信号VRの離散値を補間した追従用補間検出信号VR0(x)を求め、追従用補間検出信号VR0(x)のゼロクロスポイントのx軸上の位置を、追従位置x1として求める。ここで、Kは、nよりも小さい正の整数である。
同様に、制御部80は、電磁誘導線H1~Hnのうち、追従位置x1を含むx軸座標範囲にあるK本の電磁誘導線に交流磁界を発生させる。制御部80は、これによって得られた検出信号VRの離散値を補間した追従用補間検出信号VR1(x)を求め、追従用補間検出信号VR1(x)のゼロクロスポイントのx軸上の位置を、追従位置x2として求める。・・・・・このように、制御部80は、電磁誘導線H1~Hnのうち、追従位置xqを含むx軸座標範囲にあるK本の電磁誘導線に交流磁界を発生させる。制御部80は、これによって得られた検出信号VRの離散値を補間した追従用補間検出信号VRq(x)を求め、追従用補間検出信号VRq(x)のゼロクロスポイントのx軸上の位置を、追従位置xq+1として求める。・・・・・・ここで、qは0または正の整数である。
このような追従検出処理は、制御部80が備えるK段のリバーシブルシフトレジスタ52を用いて実行される。制御部80は、電磁誘導線H1~Hnのうち、ゼロクロスポイントを含むx軸座標範囲にあるK本の電磁誘導線に交流磁界を発生させる。制御部80は、これによって取得される検出信号VRq(x)のK個の離散値を、K段のリバーシブルシフトレジスタ52に記憶させる。制御部80は、K段のリバーシブルシフトレジスタ52に記憶されたK個の離散値に基づいて、追従用補間検出信号VRq(x)のゼロクロスポイントのx軸上の位置を、追従位置xq+1として求める。このように、制御部80は、検出信号のK個の離散値をK段のリバーシブルシフトレジスタ52に記憶し、K段のリバーシブルシフトレジスタ52に記憶されたK個の離散値に基づいてゼロクロスポイントのx軸上の位置を求めることで、追従位置を求める処理を時間経過と共に繰り返し実行する。
制御部80は、マーカコイル66に対して求められた追従位置(検出位置)として、x軸座標値x=Xpを求める。以下の説明では、x軸座標値で表された,マーカコイル66の位置をインクリメント位置x=Xpという。
次に、コードパターン68を構成する複数の情報コイル70とスライダ60との間の相互作用について説明する。電磁誘導線H1~Hnのうち交流電流が流れている電磁誘導線の近傍に情報コイル70が位置した場合、情報コイル70に渦電流が流れて情報コイル70から応答・交流磁界に基づく磁束が発生し、受信コイル56に受信電圧(誘導起電力)が発生する。これによって、受信コイル56から受信アンプ58に受信電圧が出力される。
図8に示されているように、第1情報コイル70-1および第2情報コイル70-2は、右側に斜辺があるか、左側に斜辺があるかが異なる直角三角形である。そのため、第1情報コイル70-1または第2情報コイル70-2によって得られる検出信号VRの時間波形は正負が非対称となる。図11(a)には、情報コイル70が第1情報コイル70-1である場合の検出信号VRの時間波形の概形が示されている。図11(b)には、情報コイル70が第2情報コイル70-2である場合の検出信号VRの概形が示されている。図11(a)に示されているように、情報コイル70が第1情報コイル70-1である場合には検出信号VRの負方向の振れ幅が、正方向の振れ幅よりも大きくなる。一方、11(b)に示されているように、情報コイル70が第2情報コイル70-2である場合には検出信号VRの正方向の振れ幅が、負方向の振れ幅よりも大きくなる。
制御部80は、検出信号VRの負方向の振れ幅が正方向の振れ幅よりも大きい場合には、検出信号VRをディジタル信号の値「0」に変換し、検出信号VRの正方向の振れ幅が負方向の振れ幅よりも大きい場合には、検出信号VRをディジタル信号の値「1」に変換する。制御部80は、コードパターン68を構成する複数の情報コイル70から得られた検出信号VRをディジタル信号に変換してコード信号を生成する。例えば、図8に示されたコードパターン68から、制御部80は、アブソリュートコードを示すコード信号として2進数「001101・・・・1」を生成する。
制御部80は、アブソリュートコードに基づいてアブソリュート位置x=Xaを求める。制御部80は、上記(数1)に示されているように、アブソリュート位置x=Xaにインクリメント位置x=Xpを加算することで、x軸座標値で表された基準線LZの位置、すなわち、可動テーブルの位置x=Uを求める。
可動テーブルがx軸方向に移動した場合、これと共にスケール62もx軸方向に移動する。スケール62が移動したことによって、制御部80が検出するマーカコイル66が、別のマーカコイル66に入れ替わったときは、先に検出したマーカコイル66に基づいて基準線LZの位置を求める処理と同様の処理によって、新たに検出したマーカコイル66に基づいて基準線LZの位置を求める。このような処理によって、制御部80は、可動テーブルがx軸方向に移動したときにおいても、順次、x座標値で表された基準線LZの位置、すなわち、可動テーブルの位置を求める。
このように、本発明の実施形態に係るリニアエンコーダ102は、基本的な構成としてスライダ60、マーカコイル66、スケール62および制御部80を備えている。スライダ60は、延伸方向を揃えて測定軸方向に並べられた複数の電磁誘導線H1~Hnと、選択部90と、受信コイル56とを含む。選択部90は、複数の電磁誘導線H1~Hnのうちいずれかを順次選択し、選択した電磁誘導線に電流を流す。受信コイル56は、電磁誘導線H1~Hnに交わる方向に延びる区間を有する。スケール62にはマーカコイル66が配置されている。マーカコイル66は、測定軸方向に交わる方向に延伸し、電磁誘導線H1~Hnが並べられた面と対向する面で周回する。制御部80は、受信コイル56に誘導起電力が発生したときに、選択部90によって選択されていた電磁誘導線のスライダ60におけるインクリメント位置に基づいて、スライダ60とスケール62との位置関係を測定する。
また、リニアエンコーダ102は、スケール62に各マーカコイル66に対応して配置されたコードパターン68を備えている。コードパターン68は、測定軸方向に並べられた複数の情報コイル70を備えている。各情報コイル70は、2種類の三角形状、すなわち、第1直角三角形および第2直角三角形のうちいずれかの形状に形成されている。複数の情報コイル70は、それぞれの形状、すなわち第1直角三角形であるか第2直角三角形であるかに応じた情報としてアブソリュートコードを発し、コードパターン68は、対応するマーカコイル66のアブソリュート位置を示す情報を発する。制御部80は、さらに、上記のインクリメント位置とアブソリュート位置とに基づいて、スライダ60とスケール62との位置関係を測定する。
本実施形態に係るリニアエンコーダ102では、電磁誘導を用いてマーカコイル66の位置が測定される。そのため、非磁性体の異物によって測定精度が低下する可能性が低くなる。また、本実施形態に係るリニアエンコーダ102では、受信コイル56に発生した誘導起電力の時間波形が、検出信号VRに対する内挿によって求められる。さらに、電磁誘導波形の時間波形のゼロクロスポイントに基づいて、マーカコイル66の位置が測定される。これによって、マーカコイル66の往路および復路の位置を離散的に測定する場合に比べてノイズ耐性が向上すると共に、測定分解能が向上する。
上記では、マーカコイル66が検出される度にアブソリュートコードを読み取り、マーカコイル66が検出される度に、インクリメント位置およびアブソリュート位置を求める処理について説明した。このような処理の他、スケール62の移動によって、測定開始時に検出されたマーカコイル66とは異なるマーカコイル66が検出されている場合についても、測定開始時に求められたアブソリュート位置を用いる処理が実行されてもよい。
この場合、制御部80は、測定開始時に検出されたマーカコイル66を基準マーカコイルとし、現時点で検出されている現時点マーカコイルが、基準マーカコイルから離れて何番目のマーカコイル66に対応するかを判定する。制御部80は、現時点マーカコイルが基準マーカコイルからx軸負方向に離れてC番目であると判定したときは、上記(数2)に示されているように、測定開始時に求められたアブソリュート位置x=Xaに、マーカコイル66の間隔dのC倍を加算し、さらに、現時点マーカコイルのインクリメント位置x=Xpを加算することで基準線LZの位置x=Uを求める。ここで、マーカカウント値Cは正の整数、負の整数、または0である。
制御部80は、このような処理を具体的に次のように実行してよい。スライダ60にはx軸方向の検出範囲XL≦x≦XHがあるものとする。図7に示されている例ではXL=0である。制御部80は、測定開始時に検出されたマーカコイル66に対応するアブソリュートコードを読み込み、アブソリュート位置x=Xaを求めると共に、測定開始時のマーカカウント値をC=0とする。
制御部80は、マーカコイル66を検出した後、検出信号のゼロクロスポイントの変化に基づいてマーカコイル66の位置を追跡する。制御部80は、マーカコイル66のx座標値が増加してXHに達した後に、XLに戻って再び増加したときは、Cを1だけ増加させる。一方、制御部80は、マーカコイル66のx座標値が減少してXLに達した後に、XHに戻って再び減少したときは、Cを1だけ減少させる。制御部80は、現時点でXL≦x≦XHの範囲で検出されているマーカコイル66のインクリメント位置x=Xp、測定開始時に読み込んだアブソリュート位置x=Xa、現時点におけるマーカカウント値Cおよびマーカコイル66の間隔dを用いて、基準線LZの位置U=Xa+C・d+Xpを求める。
このように、制御部80は、マーカコイル66のx座標値で表されるインクリメント位置(検出位置Xp)の変化に基づいて、現時点でインクリメント位置が求められた現時点マーカコイルが、先にアブソリュート位置が求められた基準マーカコイルから離れて何番目のマーカコイル66に対応するかを判定する。制御部80は、現時点マーカコイルが基準マーカコイルからx軸負方向に離れてC番目であると判定したときは、判定結果(マーカカウント値C)、先に求められたアブソリュート位置Xaおよびインクリメント位置Xpに基づいて、測定対象物としての可動テーブルの位置(基準線LZの位置)U=Xa+C・d+Xpを測定する。
このような処理によれば、制御部80は、アブソリュートコードを読み込む処理を1度行うのみでよく、新たにマーカコイル66が検出される度にアブソリュートコードを読み込まなくてもよい。これによって、基準線LZの位置、すなわち、測定対象物の位置が迅速に求められる。
なお、工作機械が動作しているときに制御部80は、現時点のマーカカウント値Cおよびアブソリュート位置Xaを記憶する。工作機械の電源がオフにされた後、再びオンにされたときは、制御部80は、新たに検出された現時点マーカコイルについて得られたインクリメント位置Xpと、先に記憶したマーカカウント値Cおよびアブソリュート位置Xaに(数2)を適用して基準線LZの位置x=Uを求める。また、一般に工作機械は、異常が発生した際にアラームを発生し、動作を停止する設計となっている。工作機械がアラーム発生と共に停止し、再び動作を開始したときには、工作機械の電源が一旦オフにされ、再びオンにされたときと同様の処理によって、制御部80は基準線LZの位置x=Uを求める。
リニアエンコーダ102には、第1実施形態に係るリニアエンコーダと同様、AI学習部57が設けられてもよい。AI学習部57は、制御部80によって求められた基準線LZの位置の時間変化(変動)等と、工作機械の異常状態とを対応付けた機械学習モデルを構築する。機械学習モデルを構築したAI学習部57は、基準線LZの位置を機械学習モデルに当て嵌めることによって、工作機械に異常があるか否かを判定し、異常があると判定したときは、アラームを発生する。
上記では、スライダ60によって1個のマーカコイル66が検出されるようにマーカコイル66の間隔が定められた実施形態について説明した。スライダ60では、2個以上のマーカコイル66が検出されてもよい。図13には4個のマーカコイル66が検出されるスケール62およびスライダ94が示されている。帯状部材64には、複数のマーカコイル66および複数のコードパターン68がx軸方向に沿って配列されている。スライダ94の検出面は、4個のマーカコイル66および4個のコードパターン68に対向し、スライダ94は、4個のマーカコイル66を検出すると共に、4個のコードパターン68を認識する。
制御部80は、4個のマーカコイル66のインクリメント位置x=Xp1、x=Xp2、x=Xp3、x=Xp4を求める。また、制御部80は、4個のコードパターン68のうちいずれかによって、アブソリュート位置x=Xaを求める。
制御部80は、アブソリュート位置x=Xa、インクリメント位置x=Xp1、x=Xp2、x=Xp3、x=Xp4およびマーカコイル66の間隔Dに基づいて、基準線LZの仮位置U1、U2、U3およびU4を求める。すなわち、制御部80は、上記の(数3)~(数6)に従って、仮位置U1、U2、U3およびU4を求め、仮位置U1、U2、U3およびU4の加算平均値に基づいて、基準線LZの位置を求める(数7)。
このように、複数のマーカコイル66に基づいて複数の仮位置を求め、複数の仮位置の加算平均値に基づいて、基準線LZの位置、すなわち、可動テーブルの位置を求めることで、可動テーブルの位置の測定精度が向上する。
本発明の第2実施形態に係る位置測定装置は、第1実施形態と同様、スライダ60,94とスケール62との位置関係を求めるものである。すなわち、本発明の実施形態に係る位置測定装置は、スライダ60,94の位置を基準としたスケール62の位置を求めてもよいし、スケール62の位置を基準としたスライダ60の位置を求めてもよい。
本発明は、行方向および列方向に2次元配列された複数の画素を備える画像センサと、 行方向に配列された複数の画素によってそれぞれが構成された複数の画素行のうち、いずれかを選択する行選択部と、前記行選択部によって選択された画素行に属する複数の画素から、画素値を行方向に順次読み出す列選択読み出し部と、スケールに設けられたマーカの検出位置であって、前記画像センサにおける検出位置を、前記列選択読み出し部によって読み出された画素値に基づいて求め、前記検出位置に基づいて、前記画像センサと前記スケールとの位置関係を測定する制御部と、を備え、前記行選択部は、複数の画素行のうち前記マーカの上側部分に対応する画素行を選択する上側選択処理と、複数の画素行のうち前記マーカの下側部分に対応する画素行を選択する下側選択処理と、を実行し、前記上側部分は、前記マーカの行方向の基準位置から行方向に沿った一方方向に向かうにつれて上側に列方向の幅が広がる形状を有し、前記下側部分は、前記マーカの前記基準位置から行方向に沿った反対方向に向かうにつれて下側に列方向の幅が広がる形状を有し、前記制御部は、前記上側選択処理によって選択された画素行から読み出された画素値と、前記下側選択処理によって選択された画素行から読み出された画素値とを合成して検出信号を生成し、前記検出信号のゼロクロスポイントに基づいて、前記検出位置を求め、前記検出信号をリバーシブルシフトレジスタに記憶させ、前記列選択読み出し部および前記制御部は、前記リバーシブルシフトレジスタに記憶される前記検出信号のゼロクロスポイントを追従検出する処理を実行し、前記制御部は、追従検出されたゼロクロスポイントに基づいて、前記検出位置を求めることを特徴とする。
また、本発明は、延伸方向を揃えて測定軸方向に並べられた複数の電磁誘導線と、複数の前記電磁誘導線のうちいずれかを前記測定軸方向に順次選択し、選択した前記電磁誘導線に電流を流す選択部と、前記電磁誘導線に交わる方向に延びる区間を有する受信コイルと、を含むスライダと、前記測定軸方向に交わる方向に延伸し、複数の前記電磁誘導線が並べられた面と対向する面で周回し、スケールに設けられたマーカコイルと、前記受信コイルに誘導起電力が発生したときに、前記選択部によって選択されていた前記電磁誘導線の前記スライダにおける検出位置に基づいて、前記スライダと前記スケールとの位置関係を測定する制御部と、を備え、前記制御部は、前記誘導起電力に基づく検出信号のゼロクロスポイントに基づいて、前記検出位置を求め、前記検出信号をリバーシブルシフトレジスタに記憶させ、前記選択部および前記制御部は、前記リバーシブルシフトレジスタに記憶される前記検出信号のゼロクロスポイントを追従検出し、前記制御部は、追従検出されたゼロクロスポイントに基づいて、前記検出位置を求めることを特徴とする。