(57)【特許請求の範囲】
【請求項１】
ＣＰＵからの指示値をＤ／Ａコンバータにて変換した信号を超音波モータに印加して駆動することで位置決めステージを移動させて、位置センサが検出した移動後の位置決めステージの現在値をＣＰＵに送るフィードバック制御からなる位置決め装置において、
自装置の最高速度を元に１回の制御サイクルで許容される偏差を設定値とし、最新の制御サイクルにて位置センサが検出した位置決めステージが位置する値を現在値とし、１回前の制御サイクルにて位置決めステージが位置する値として位置決め演算に採用され記憶された値を前回値とし、前記現在値と前記前回値との差が前記設定値以内の場合は位置決め演算にそのまま前記現在値を採用して記憶し、前記現在値と前記前回値との差が前記設定値より大きい場合は位置決め演算に前記前回値を採用し記憶することを特徴とする位置決め装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、精密な移動精度を要する半導体製造・検査装置や光学装置に使用される位置決めシステムで位置検出に超高精度なリニアスケールセンサ（リニアエンコーダ）を使用し、アクチュエータとして高分解能な制御が可能な超音波モータを用いた精密位置決め装置及び位置決め制御方法に関する。
【背景技術】
【０００２】
近年、サブミクロン単位の精密な移動精度を要する磁気ヘッド検査装置や半導体分野及び光学分野の検査装置において、微小位置決めが可能な超音波モータを備えた位置決めステージとリニアスケールセンサとから構成される位置決め装置が数多く使用されている。
【０００３】
たとえば、特許文献１にはホストコンピュータ等から与えられる指令値と、センサアンプからのステージの現在位置検出値とを位置決めコントローラ内で比較して、その偏差に応じて移動ピッチが長い「粗動ピッチ」で動作し、「粗動ピッチ」以内にステージの現在位置が移動した後に移動ピッチが短い「微動ピッチ」にて指令位置までステージを移動させている。このような構成にてホストコンピュータ等から与えられる指令値に応じた位置にステージを短時間で位置決めしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２８８１２１
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記のような従来の位置決め装置では、高電磁場環境や様々な振動波が観測される環境等の劣悪な環境下では位置決め制御時に電磁ノイズ等の外部ノイズが混入する問題が発生し、その影響にて安定した位置決め制御が阻害される要因となっている。下記に具体的な問題点を記載する。
【０００６】
図１に示しているのは従来からの一般的な位置決め装置の一例を示すブロック図である。位置決めコントローラ４は、位置決めステージ６の現在位置を検出するリニアスケール８から出力されるデジタル信号（例えば３２ｂｉｔパラレルデジタル信号）と位置決め制御演算等を行うＣＰＵ２と、ＣＰＵ２のデジタル信号出力をアナログ信号へ変換するＤ／Ａコンバータとで構成され、ホストＰＣ１からの位置指令コマンドを解釈し、リニアスケール８で検出した位置決めステージ６の現在位置（現在値）により、超音波モータ７を駆動して位置決め制御を行う。
また移動機構９は位置決めステージ６を駆動するための超音波モータ７と位置決めステージ６の現在位置（現在値）を検出するリニアスケール８とからなる。
一般的な位置決めシステムの制御方法を以下に説明する。
位置決めシステムは電源がONになると、位置決めステージのストローク確認や原点検出のために、ストロークエンド（左右）に取り付けられたリミットセンサ（例えばフォトセンサ）とリニアスケールに付属している原点信号を検出させる動作（初期化）を行う。本動作により位置決めコントローラは位置決めステージのストロークと原点位置を認識して原点位置を目標値として閉ループ位置決めが行われる。
閉ループ位置決めは一定のサイクル（例えば１ｍｓ）にてリニアスケール８で検出した現在位置（現在値）と目標位置（上記の場合は原点位置が目標位置）を元に目標位置に常に位置決め制御されている。
制御サイクルは一定時間で常に回っているので、リニアスケール８で検出した位置の差分を取ればステージの移動速度（速度＝｜今回位置−前回位置｜／制御サイクル時間）が計算できる。
上記のような原点位置決めを行っている時にユーザーの指令がホストＰＣ１にて入力されると、双方向通信可能な通信手段、例えば光ファイバーケーブルや無線ＬＡＮ等を介して位置決めコントローラ４に送られる。
ホストＰＣ１からの移動指令をＣＰＵ２にて解釈し、目標位置を原点から移動命令にて指示された位置（指示値）に書き換えて、リニアスケール８にて検出した位置決めステージ６の現在位置（現在値）と新しい指示値を元に操作量をＰＩＤ演算で求めて、Ｄ／Ａコンバータ３でアナログ信号へ変換させ、ドライバ５で増幅して超音波モータ７を駆動し、位置決めステージ６を指示値へ移動させる。
超音波モータ７が位置決めステージ６を指示値まで移動する間も閉ループ制御をおこなっているので、ＣＰＵ２は逐次現在位置（現在値）の情報を受信していることになる。
その際には、リニアスケール８で位置決めステージ６が現時点で実際に位置する場所（現在値）を検出しＣＰＵ２に送ることになる。尚、ホストＰＣ１、ＣＰＵ２、Ｄ／Ａコンバータ３、ドライバ５、移動機構９を接続している通信ケーブルは全てシールドケーブルである。
【０００７】
昨今、位置決めが必要な装置が大型化し、リニアスケール８とＣＰＵ２との距離が数十ｍを超える場合があり、ノイズの影響の危険性が高くなってきている。このような場合、信号を伝送する際に、リニアスケール８とＣＰＵ２の間のシールドケーブルに外部からシールドすることができない程の大きいノイズが干渉してきた場合、シールドケーブル内の導線に外部ノイズが加わることで、リニアスケールより正しい位置信号が出力されていても、ケーブルにノイズが乗って、ＣＰＵ２で読み込む際に不特定なビットで本来Ｌｏｗ信号であるべき信号がＨｉｇｈ信号、Ｈｉｇｈ信号であるべき信号がＬｏｗ信号に書き換わってしまうことが、ノイズが発生しやすい劣悪な環境下では時々発生する。その結果、位置決めステージ６の駆動中に現時点で実際に位置する場所（現在値）の情報と異なる位置情報がＣＰＵ２に伝送されることで、フィードバック制御による駆動が出来なくなり、マイクロメートル単位の精密な位置決め精度を求められるにも係らず、大きく位置がずれて、不正確な位置決めを行うことになってしまう。従って安定的な位置決め制御に支障が生じていた。
【０００８】
本発明は、このような事情に鑑みてなされたものであり、従来の位置決め制御装置に比べてノイズが発生しやすい劣悪な環境下においてもノイズの影響を受けない安定な位置決めが可能な位置決め装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明は、ＣＰＵからの指示値をＤ／Ａコンバータにて変換した信号を超音波モータに印加して駆動することで位置決めステージを移動させて、位置センサが検出した移動後の位置決めステージの現在値をＣＰＵに送るフィードバック制御からなる位置決め装置において、最新の制御サイクルにて位置センサが検出した位置決めステージが位置する現在値と１回前の制御サイクルにて位置センサが検出した位置決めステージが位置した前回値との差が設定値以内の場合は位置決め演算に現在値を採用し、最新の制御サイクルにて位置センサが検出した位置決めステージが位置する現在値と１回前の制御サイクルにて位置センサが検出した位置決めステージが位置した前回値との差が設定値より大きい場合は位置決め演算に前回値を採用することを特徴としている。
【００１０】
このように、本発明の位置決め装置は、外部ホストから指示値が与えられるとリニアスケール８にて位置決めステージ６の現在位置（現在値）を検出しＣＰＵ２によりＰＩＤ演算などで求めた操作量をＤ／Ａコンバータ３にてアナログ信号へ変換しドライバ５で増幅し超音波モータ７に入力して駆動させることで位置決めステージ６を移動させる位置決めシステムであり、現在位置（現在値）をリニアスケール８で検出してＣＰＵ２に送り、ＣＰＵ２で操作量を演算しＤ／Ａコンバータ３にてアナログ変換した信号をドライバ５で増幅して超音波モータ７に駆動信号を入力するサイクルを１回の制御サイクルとしたときに、最新の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６の位置する現在値と１回前の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６の位置との差が予め設定した設定値以内の場合は最新の現在位置（現在値）を元に位置決めステージ６を制御し、最新の制御サイクルにおいてリニアスケール８の検出した位置決めステージ６が位置する現在値と１回前の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６の位置との差が予め設定した設定値より大きい場合は前回のリニアスケール８の位置（前回値）を元に位置決めステージ６を制御するものである。
【００１１】
又、好適には、前記設定値は位置決め装置の最高速度と１回の制御同期で許容される偏差から設定することを特徴としている。
【００１２】
ここで、この際の設定値は、図示しないメモリに記憶しておく。メモリはＣＰＵ２に内蔵のＲＡＭを使っても良いし、外部に付属させても良い。また設定値は、該当位置決め装置の最高速度を基準に上限値を設定すると好適である。例えば位置決め装置の制御周期が１ｍｓで最高速度が１００ｍｍ／ｓの時には１回の制御周期で許容される偏差は１００ｕｍとなる。よって設定値を設定する際には例えば１００％の余裕を持たせて２００ｕｍとすればよい。また、設定値は位置決め装置の制御方法によっては複数個記憶して、制御で使い分けても良い。
【発明の効果】
【００１３】
本発明によれば、リニアスケール８で検出した信号にノイズがのって、現在位置が異常値となっても位置決めステージ７を安定に駆動することが可能になるため、突発的に発生する大きなノイズの影響により位置決め制御が阻害される問題は解消され、安定した位置決め制御が実現する。
【図面の簡単な説明】
【００１４】
【図１】従来からの一般的な位置決め装置の一例を示すブロック図である。
【図２】本発明の位置決め装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
次に本発明の実施の形態について図面を参照しながら説明する。図１は従来からの一般的な位置決め装置の一例を示すブロック図であるが、本発明も同じ構成のブロック図にて実施する。図２は本発明の位置決め装置の動作を示すフローチャートであり、図１と図２を使って本発明の特徴を説明する。
【００１６】
通常状態において位置決めステージ６は原点位置或いは前回のホストＰＣ１からの指示値に閉ループ位置決めされているので、ホストＰＣ１からの位置指令コマンドから計算される目標値（指示値）とリニアスケール８で検出した位置決めステージ６の現在位置（現在値）を元にＣＰＵ２にて制御サイクル（例えば１ｍｓ）ごとに操作量を演算する位置決め演算を実行している。
【００１７】
位置決めステージ６を移動させるために、ホストＰＣ１に位置指令（指示値）を入力すると、入力された位置指令（指示値）は、双方向通信可能な通信手段としてのＲＳ２３２Ｃでクロスケーブルを使って位置決め装置内のＣＰＵ２に送信されるが位置決めコントローラ４内のＣＰＵ２は指示値に変化がある前から位置決めステージ６の現在位置（現在値）をリニアスケール８で求め、ホストＰＣ１からの指示値に基づき、ＰＩＤ演算などで操作量を算出するまでを１回の制御サイクルとして位置決めされている。
【００１８】
上述した１回の制御サイクルにおいてリニアスケール８で検出された位置決めステージ６の位置する現在値は次回制御サイクル時における前回値として使用するためにＣＰＵ２に内蔵されたＲＡＭに記憶される。ただし現在値を前回値として記憶するメモリに保存する内容には1回前の前回値の情報だけでなく、過去複数回の前回値を記憶しておいても良いし、前回値と現在値の判定において前回値を採用した回数（ノイズの影響が出た回数）や、前回値と現在値の差分などが含まれても良い。また、このメモリはＣＰＵ２に内蔵のＲＡＭを使っても良いし、別途外付けされていても良い。
【００１９】
位置決めコントローラの電源を投入し、初期化が終了したあとで、通常の閉ループ位置決め制御が開始して、１回の制御サイクルごとに操作量を演算（位置決め演算）する際に使用する位置決めステージ６の現在位置（現在値）をリニアスケール８にて読み込む。次に今回の制御サイクルの１回前に相当する制御サイクルにおいてリニアスケール８が検出した位置決めステージ６の位置した値（前回値）をその情報が保存されているＲＡＭから読み込む。
【００２０】
そして最新の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６の現在値とメモリから読み込んだ１回前の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６の位置した前回値との差を算出する。ここで現在値と前回値との差がある一定の値以上の場合に異常と判断できるようにするため、本発明の一実施例としては、位置決めシステムの設定最高速度１０ｍｍ／ｓと制御サイクル１００ｕｓより計算される１制御サイクルで移動可能な距離１ｕｍから設定値を３ｕｍとして、ＣＰＵ２に内蔵のＲＡＭに記憶した。ＣＰＵ２は位置決めステージ６の現在値とメモリから読み込んだ１回前の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６が位置した前回値との差を算出した後に、内蔵ＲＡＭから設定値である３ｕｍを読み込む。そして、位置決めステージ６の現在値と前回値との差が設定値である３ｕｍ以内の場合は現在値を元にリニアスケール８にて検出した現在値とホストＰＣ１からの指示値を元にＰＩＤ演算した操作量で位置決めステージ６を駆動制御する。
【００２１】
それに対して位置決めステージ６の現在値と前回値との差が設定値である３ｕｍより大きい場合は現在値を破棄して前回値を現在の位置（現在値）として採用して位置決めステージ６の駆動制御を行う。このような操作を行うことで１回の制御サイクルにおいて位置が変化しないことになるが、機構の駆動応答性に比べて制御サイクルが十分に速いので問題となることは無い。
上述のように一連の制御が完了すると、新たな制御サイクルを実行することになるが、現在値を破棄して前回値を制御に採用した場合、メモリに保存する前回値は、これから実行する新たな制御サイクルの２回前の前回値になるが上述したように特に問題となることは無い。
【００２２】
以上の様に最新の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６の現在値とメモリから読み込んだ１回前の制御サイクルにおいてリニアスケール８が検出した位置決めステージ６が位置した前回値との差を算出して、その差が設定値より大きい場合に位置決めステージ６の位置を前回値に書き換えることで大きなノイズの影響により、例えばデジタル信号において不特定なビットで本来Ｌｏｗ信号であるべき信号がＨｉｇｈ信号、Ｈｉｇｈ信号であるべき信号がＬｏｗ信号に書き換わってしまう問題が発生しても、異常値を排除できることから、安定した位置決め制御が可能となる。
【符号の説明】
【００２３】
１  ホストＰＣ
２  ＣＰＵ
３  Ｄ／Ａコンバータ
４  位置決めコントローラ
５  ドライバ
６  位置決めステージ
７  超音波モータ
８  リニアスケール
９  移動機構
【図１】
0005554555.tif 000002
【図２】
0005554555.tif 000003