(57)【要約】【課題】複数のインクリメンタル信号を確実に検出できるようにして、絶対位置の演算を正しく行うことができる位置制御装置を提供することである。【解決手段】位置制御装置は、位置検出信号の発生手段１０２、信号出力手段１０３、信号選択手段１１０、制御対象物の相対位置演算手段１０４、制御対象物の絶対位置演算手段１０４、制御対象物を駆動する駆動手段１０９、制御手段１０４を備える。信号出力手段は、複数の位置検出信号を、信号発生手段の数より少ない数の信号線に出力する。信号選択手段は複数の位置検出信号を切り替える。制御手段は、相対位置演算手段の演算結果を用いて駆動手段を駆動し制御対象物の位置を所定の制御周期で制御する。制御手段は、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら絶対位置演算手段を動作させる。【選択図】  図６
2014146226.tif 000002
【特許請求の範囲】
【請求項１】
制御対象物の移動に伴い周期的に変化する周期が異なる複数の位置検出信号をそれぞれ発生する複数の信号発生手段と、
前記複数の位置検出信号を、前記信号発生手段の数より少ない数の信号線に出力する信号出力手段と、
前記信号出力手段から出力する前記複数の位置検出信号を切り替える信号選択手段と、
特定の位置検出信号により制御対象物の相対位置を演算する相対位置演算手段と、
前記複数の位置検出信号により制御対象物の絶対位置を演算する絶対位置演算手段と、
制御対象物を駆動する駆動手段と、
前記相対位置演算手段の相対位置の演算結果を用いて前記駆動手段を駆動し制御対象物の位置を所定の制御周期で制御する制御手段と、
を備え、
前記制御手段は、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら前記絶対位置演算手段を動作させるとともに、当該制御手段の制御パラメータを、制御対象物が目標位置に移動するのに適した制御パラメータから、制御対象物が静止状態を維持するのに適した制御パラメータに切り替えることを特徴とする位置制御装置。
【請求項２】
前記制御手段は、制御対象物の絶対位置が判明していない場合に、前記所定の制御周期を、当該制御周期内で前記絶対位置演算手段による処理が完了できる周期に変更することを特徴とする請求項１に記載の位置制御装置。
【請求項３】
制御対象物の移動に伴い周期的に変化する周期が異なる複数の位置検出信号をそれぞれ発生する複数の信号発生手段と、
前記複数の位置検出信号を、前記信号発生手段の数より少ない数の信号線に出力する信号出力手段と、
前記信号出力手段から出力する前記複数の位置検出信号を切り替える信号選択手段と、
特定の位置検出信号により制御対象物の相対位置を演算する相対位置演算手段と、
前記複数の位置検出信号により制御対象物の絶対位置を演算する絶対位置演算手段と、
制御対象物を駆動する駆動手段と、
前記相対位置演算手段の相対位置の演算結果を用いて前記駆動手段を駆動し制御対象物の位置を所定の制御周期で制御する制御手段と、
を備え、
前記制御手段は、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら前記絶対位置演算手段を動作させるとともに、前記所定の制御周期を、当該制御周期内で前記絶対位置演算手段による処理が完了できる周期に変更することを特徴とする位置制御装置。
【請求項４】
前記制御手段は、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら前記絶対位置演算手段を動作させるとともに、当該制御手段の制御パラメータを、制御対象物が目標位置に移動するのに適した制御パラメータから、制御対象物が静止状態を維持するのに適した制御パラメータに切り替えることを特徴とする請求項３に記載に位置制御装置。
【請求項５】
制御対象物が目標位置に移動するのに適した制御パラメータとは、オーバーシュートが小さくなるように設定された制御パラメータであることを特徴とする請求項１、２、４のうちの何れか１項に記載の位置制御装置。
【請求項６】
前記制御対象が目標位置に移動するのに適した制御パラメータとは、制御対象物の駆動時の共振周波数以下となるようなサーボ帯域を得る制御パラメータであることを特徴とする請求項１、２、４、５のうちの何れか１項に記載の位置制御装置。
【請求項７】
前記制御対象が静止状態を維持するのに適した制御パラメータとは、制御対象物が静止位置からずれた場合に素早く元の位置に戻るのに適した制御パラメータであることを特徴と請求項１、２、４、５、６のうちの何れか１項に記載の位置制御装置。
【請求項８】
前記信号出力手段は前記複数の信号出力手段を同一の信号線に出力することを特徴と請求項１から７のうちの何れか１項に記載の位置制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置制御装置に関する。
【背景技術】
【０００２】
従来、３つのインクリメンタル信号を３つのサンプルホールド回路で同時保持するアブソリュートエンコーダがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５-２７２９８８号公報（図１）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示の技術では、３つのインクリメンタル信号を３つのサンプルホールド回路へそれぞれ接続する必要があり、このようなアブソリュートエンコーダを使う位置制御装置においては、信号線の本数が多くなってしまう。これを回避するためには、ピッチ切替え制御により、ピッチの異なる複数のインクリメンタル信号を同一の信号線に出力する構成とすることで、信号線の本数を削減することができる。ここで、ピッチの異なる複数のインクリメンタル信号を組み合わせて制御対象物の絶対位置の演算を行う場合、前記複数のインクリメンタル信号を、制御対象物が安定して静止した状態で、取得しなくてはならない。なぜなら、制御対象物の位置が異なる状態でそれぞれのインクリメンタル信号を取得してしまうと、制御対象物の絶対位置の演算を正しく行うことができなくなるためである。
【０００５】
一方、制御対象物の位置制御を行うに当たっては、制御対象物や駆動部の物理的・電気的特性や、位置制御装置に要求される制御応答性・安定性などから、サーボの制御周期や制御パラメータが設定される。しかしながら、ピッチの異なる複数のインクリメンタル信号を同一の信号線に出力する構成とした場合、ピッチ切り替え及び各ピッチの信号検出の読み取り周期によってサーボ制御周期が制限されてしまい、サーボ性能を損なってしまうことがある。
【０００６】
本発明の目的は、ピッチの異なる複数のインクリメンタル信号を同一の信号線或いは該複数より少ない数の信号線に出力する構成においても、上記課題を解決した位置制御装置を提供することである。すなわち、これらのインクリメンタル信号を組み合わせて、サーボ性能を損なうことなく、制御対象物の絶対位置の演算を正しく行うことが可能な位置制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の位置制御装置は、制御対象物の移動に伴い周期的に変化する周期が異なる複数の位置検出信号をそれぞれ発生する複数の信号発生手段と、前記複数の位置検出信号を、前記信号発生手段の数より少ない数の信号線に出力する信号出力手段と、前記信号出力手段から出力する前記複数の位置検出信号を切り替える信号選択手段と、特定の位置検出信号により制御対象物の相対位置を演算する相対位置演算手段と、前記複数の位置検出信号により制御対象物の絶対位置を演算する絶対位置演算手段と、制御対象物を駆動する駆動手段と、前記相対位置演算手段の相対位置の演算結果を用いて前記駆動手段を駆動し制御対象物の位置を所定の制御周期で制御する制御手段と、を備える。そして、前記制御手段は、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら前記絶対位置演算手段を動作させるとともに、当該制御手段の制御パラメータを、制御対象物が目標位置に移動するのに適した制御パラメータから、制御対象物が静止状態を維持するのに適した制御パラメータに切り替える。或いは、前記制御手段は、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら前記絶対位置演算手段を動作させるとともに、前記所定の制御周期を、当該制御周期内で前記絶対位置演算手段による処理が完了できる周期に変更する。
【発明の効果】
【０００８】
本発明によれば、ピッチの異なる複数の位置検出信号を切り替えながら順次検出し制御対象物の絶対位置の演算を行う場合に、制御対象物を静止するように制御を行いながら複数の位置検出信号を確実に検出する。この様に複数の位置検出信号を確実に検出できるようにしたので、絶対位置の演算を正しく行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の位置制御装置の構成を示すブロック図。
【図２】本発明の実施形態のインクリメンタル位置エンコード処理の概念図。
【図３】本発明の実施形態のインクリメンタル位置エンコード処理のフローチャート。
【図４】本発明の実施形態のアブソリュート位置エンコード処理の概念図。
【図５】本発明の実施形態のアブソリュート位置エンコード処理のフローチャート。
【図６】本発明の実施形態の位置制御処理のフローチャート。
【図７】本発明の実施形態のサーボ演算処理のフローチャート。
【図８】本発明の実施形態のＡ／Ｄ変換割り込み処理のフローチャート。
【発明を実施するための形態】
【００１０】
本発明では、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら絶対位置演算手段を動作させる。これとともに、制御パラメータを、制御対象物が目標位置に移動するのに適した制御パラメータから、制御対象物が静止状態を維持するのに適した制御パラメータに切り替えてもよい。或いは、所定の制御周期を、当該制御周期内で絶対位置演算手段による処理が完了できる周期に変更してもよい。本発明によれば、複数の位置検出信号を、信号発生手段の数より少ない数の信号線（例えば、同一の信号線）に出力する構成においても、複数の位置検出信号を、制御対象物が安定して静止した状態で取得することができる。したがって、制御対象物の絶対位置の演算を正しく行うことができる。ピッチ切替え制御により、ピッチの異なる複数の位置検出信号を該複数より少ない数の信号線に出力するエンコーダにおいては、或る期間において制御対象物が安定して静止した状態で複数の位置検出信号を検出する必要がある。また、ピッチ切り替え及び各ピッチの位置検出信号の読み取りには所定時間を要する為、ピッチ切り替え及び各ピッチの位置検出信号の読み取り期間によってサーボ制御周期が制限されてしまい、サーボ性能を損なってしまうことがある。これを解決するために、本発明では、ピッチ切り替え及び各ピッチの信号の読み取りには、安定した静止状態を得ると共に、ピッチ切り替え及び各ピッチの信号の読み取り期間に応じてサーボ制御周期を切り替えたり、サーボパラメータを変更したりする。
【００１１】
（実施形態１）
以下、本発明の第１の実施の形態について説明する。
図１は、本実施形態の特徴を最もよく表す図であり、本実施形態の位置制御装置の構成を示している。図１において、１０１は位置制御の対象物であり、後述するモータ１０９によりその位置が移動可能になっている。１０２は位置信号発生手段であるエンコーダで、位置制御対象物１０１の移動に応じて位置検出信号であるインクリメンタル信号を出力する。出力されたインクリメンタル信号は信号出力手段であるＡ／Ｄ変換部１０３によりデジタル変換され、制御手段であるマイクロコンピュータ１０４に入力されて、インクリメンタル位置エンコード処理に用いられる。
【００１２】
マイクロコンピュータ１０４は、ＲＯＭ１０５に格納されたプログラムに従い、ＲＡＭ１０６をワークメモリとして用いて、位置制御装置各部の制御を行う。駆動手段において、モータ制御信号出力部１０７は、モータ駆動部１０８に対して、モータ１０９を駆動させるためのマイクロコンピュータ１０４から命令された制御信号を出力する。モータ１０９はＤＣモータやボイスコイルモータ等のモータであり、これを駆動することで位置制御対象物１０１の位置を移動させることができる。以上に述べた位置制御対象物１０１、エンコーダ１０２からモータ１０９までの構成要素は、全体としてフィードバックループを構成している。そして、公知のフィードバック制御手法に基づいて、マイクロコンピュータ１０４で実行されるプログラムに従い、位置制御対象物１０１が所望の位置に移動・停止するように構成されている。
【００１３】
マイクロコンピュータ１０４からは、信号選択手段であるピッチ切り替え信号出力部１１０を介して、エンコーダ１０２にピッチ切り替え信号が出力される。エンコーダ１０２は、ピッチの異なる複数のインクリメンタル信号のうち、ピッチ切り替え信号により指示されたピッチのインクリメンタル信号を出力する。マイクロコンピュータ１０４は、ピッチ切り替え信号によりピッチの異なる複数のインクリメンタル信号を順次検出する。そして、相対位置を演算する相対位置演算手段及び相対位置を演算する相対位置演算手段を機能させて、後述するアブソリュート位置エンコード処理により位置制御対象物の絶対位置の演算を行う。
【００１４】
また、マイクロコンピュータ１０４からはＤ／Ａ変換部１１１を介して、エンコーダ１０２に信号レベル制御電圧が供給される。この信号レベル制御電圧は、エンコーダ１０２から出力されるインクリメンタル信号の信号レベル(信号振幅やオフセットレベル)を調整するためのものである。マイクロコンピュータ１０４は、この信号レベル制御電圧により、エンコーダ１０２の個体ごとに異なる信号レベルを、位置検出を実行するための適正なレベルに調整する。この信号レベル調整は、たとえば位置制御装置が工場で組み立てられた際に実行され、信号レベルを適正とするための制御電圧のデータが不揮発性のメモリに記憶される。その後は、位置制御装置の起動時に、マイクロコンピュータ１０４が、記憶された制御電圧のデータに基づいてエンコーダ１０２に制御電圧を供給することで、信号レベルが適正に制御される。なお、単一の制御電圧でピッチの異なる複数の信号のレベルを全て適正に揃えることができない場合は、前記のピッチ切り替え制御と同期して制御電圧を切り替えてもよい。或いは、フィードバック制御に用いられる特定のピッチが最適レベルとなる制御電圧に固定してもよい。
【００１５】
次に、図２と図３を用いてインクリメンタル位置エンコード処理について説明する。図２は、インクリメンタル信号エンコード処理の概念図である。図２（Ａ）の縦軸は１０ｂｉｔのＡ／Ｄ変換値、横軸は位置制御対象物１０１の位置であり、２０１と２０２は、位置制御対象物１０１の移動に応じて出力される２相のインクリメンタル信号を表している。ここで、信号２０１と信号２０２は位相が９０°異なっている。図２（Ｂ）の縦軸は角度ラジアン、横軸は位置制御対象物１０１の位置であり、２０３は、移動に応じて信号２０１と信号２０２間の逆正接関数として０から２πまでに正規化され演算される逆正接関数の結果を表している。図２（Ｃ）の縦軸はインクリメンタル位置エンコード値、横軸は位置制御対象物１０１の位置であり、逆正接関数結果２０３が０を跨いだ時、ＬＳＢが２πに相当する上位桁を増減させるインクリメンタル位置エンコード値を表している。
【００１６】
図３はインクリメンタル位置エンコード処理のフローチャートである。以下の処理はマイクロコンピュータ１０４にて、所定の周期で反復実行される。図３のＳ３０１では、図２（Ａ）の２０１、２０２に示した２相のインクリメンタル信号のＡ／Ｄ変換値を取得する。ここで、Ａ／Ｄ変換値はＡ／Ｄ変換部１０３での変換値を直接読みだしてもよいし、予め取得されＲＡＭ１０６に保存されているＡ／Ｄ変換値を読みだしてもよい。次にＳ３０２にて、取得した信号のオフセット除去演算、ゲイン調整演算を行う。これらの演算は、逆正接関数演算を行うために２相のインクリメンタル信号の振幅(ゲイン)とオフセットを揃えるために行うものであり、公知であるので説明は省略する。
【００１７】
さらにＳ３０３にて、図２（Ｂ）の２０３のような逆正接関数演算を行った結果をＲＡＭ１０６へ保存し、Ｓ３０４に進む。Ｓ３０４では、前回のエンコード処理時にＲＡＭに保存されていた前回の逆正接関数の演算結果と、今回の逆正接関数の演算結果の差が３π／８以下であるかどうかを判断し、以下であればＳ３０５へ処理を移し、以下でなければＳ３１０へ処理を移す。この差の値は、変化が正常か否かを決める観点から決定されるもので、３π／８に限定されるものではない。Ｓ３０５では、マイクロコンピュータ１０４は前回の逆正接関数演算結果と今回の逆正接関数演算結果の移動で０を跨いだかどうかが判定する。０を跨いでいればＳ３０６へ処理を移し、いなければＳ３０８へ処理を移す。Ｓ３０６では、今回の逆正接関数演算結果が前回の逆正接関数演算結果以下であるかどうかが判別される。今回の結果が前回の結果以下であればＳ３０７へ処理を移し、以下でなければＳ３０８へ処理を移す。Ｓ３０７では、移動方向が増加方向であると考えられるので、２π単位である上位桁へ１を加算して、Ｓ３０８へ処理を移す。ここで上位桁とは、インクリメンタル位置エンコード値の２π以上の桁である。一方、Ｓ３０８では、移動方向が減少方向であると考えられるので、２π単位である上位桁から１を減算して、Ｓ３０８へ処理を移す。
【００１８】
Ｓ３０８では２π単位である上位桁と今回結果を加算し、図２（Ｃ）の２０４のような上位桁を含むインクリメンタル位置エンコード値として求め、Ｓ３０９へ処理を移す。Ｓ３０９では、今回と前回の移動が３π／８以下であり移動方向が正しく判別されていることから、移動方向判別エラーフラグをクリアし、今回の処理を終了する。一方、Ｓ３１０では、今回と前回の移動が３π／８以上であるので、移動方向が増加方向か減少方向かの判別ができないことから、移動方向判別エラーフラグをセットして処理を終了する。以上の処理により、インクリメンタル信号からインクリメンタル位置エンコード値を生成して位置制御に用いることができる。なお、前記の移動方向判別エラーフラグは、インクリメンタル位置エンコード処理が正しく実行できたかを判別する情報として、マイクロコンピュータ１０４で実行される他のプログラム処理において参照される。
【００１９】
次に、図４と図５を用い、ピッチの異なる複数のインクリメンタル信号により位置制御対象物１０１の絶対位置を求めるアブソリュート位置エンコード処理について説明する。以下では３種類のピッチのインクリメンタル信号を用いた場合について説明するが、ピッチが４種類以上或いは２種類でも原理は同じである。なお、３種類のピッチを、ピッチが小さい方から順にピッチα、ピッチβ、ピッチγと表記する。
【００２０】
図４は、アブソリュート信号エンコード処理の概念図である。図４（Ａ）の縦軸は角度ラジアン、横軸は位置であり、４０１は、移動に応じて逆正接関数として０から２πまでに正規化され演算される、ピッチαの逆正接関数の結果を表している。ピッチαは、３種類のうちの最少のピッチであり、絶対位置検出が可能な全ストローク長において２１周期出現する。以下の説明では、この結果をｐ１と記載する。同様に、図４（Ｂ）の４０２
は、ピッチβの逆正接関数の結果を表しており、全ストロークで１０周期出現する。以下ではこの結果をｐ２と記載する。図４（Ｃ）の４０３は、ピッチγの逆正接関数の結果を表しており、全ストロークで４周期出現する。以下ではこの結果をｐ３と記載する。
【００２１】
図４（Ｄ）の４０４は、ピッチαから得られたｐ１とピッチβから得られたｐ２とから式（１）で演算されたｐｈ１を、０から２πまでに正規化した結果を表している。前記したように全ストロークでｐ１は２１周期、ｐ２は１０周期出現し、ｐ２を２倍したものとｐ１とは全ストロークで１周期分の差分を持つので、ｐｈ１は全ストロークで１周期出現する。
式（１）    ｐｈ１＝ｐ１−２＊ｐ２
【００２２】
同様に図４（Ｅ）の４０５は、ピッチβから得られたｐ２とピッチγから得られたｐ３とから式（２）で演算されたｐｈ６を、０から２πまでに正規化した結果を表している。１０周期と４周期の差分であるので、全ストロークで６周期出現する。
式（２）    ｐｈ６＝ｐ２−ｐ３
【００２３】
また図４（Ｆ）の４０６は、ピッチαから得られたｐ１とピッチγから得られたｐ３とから式（３）で演算されたｐｈ１３を、０から２πまでに正規化した結果を表している。２１周期と４周期の２倍との差分であるので、全ストロークで１３周期出現する。
式（３）    ｐｈ１３＝ｐ１−２＊ｐ３
【００２４】
図５は、制御手段であるマイクロコンピュータ１０４内の絶対位置演算手段によるアブソリュート位置エンコード処理のフローチャートである。以下の処理はマイクロコンピュータ１０４にて、位置制御対象物１０１の絶対位置を演算する際に実行される。ここで理論上は、前記のｐｈ１にて位置制御対象物１０１の絶対位置を得ることができるが、全ストロークを１周期とした信号であるので分解能が粗く、そのままでは信号のノイズなどにより高精度な位置検出ができない。一方、ｐ１〜ｐ３やｐｈ６、ｐｈ１３などは信号の周期が細かいので精度は高くなるが、全ストローク中の何番目の周期にあるかが判別できないため、絶対位置を得ることができない。そこで以下に述べる処理により、粗い周期の信号から得た絶対位置を、細かい周期の絶対位置に順次対応させていき、最終的に最も細かいｐ１の信号の分解能で絶対位置が得られるようにする。以下の説明では、各ピッチのインクリメンタル信号のＡ／Ｄ変換値は予め取得され、ＲＡＭ１０６に保存されているものとする。
【００２５】
図５のＳ５０１では、ＲＡＭ１０６の保存されているピッチαの２相信号のＡ／Ｄ変換値を取得し、オフセット除去演算、ゲイン調整演算、逆正接関数演算を行った結果をｐ１としてＲＡＭ１０６へ保存する。ここでの処理は図３のＳ３０２、Ｓ３０３と同様である。以下、Ｓ５０２、Ｓ５０３にて、それぞれピッチβ、ピッチγについて同様の演算を行い、それぞれの結果をｐ２、ｐ３としてＲＡＭ１０６へ保存し、Ｓ５０４に処理を移す。Ｓ５０４では、ＲＡＭ１０６に保存されているｐ１、ｐ２、ｐ３から、前記した式（１）から式（３）に従ってｐｈ１、ｐｈ６、ｐｈ１３の演算、正規化を行い、ＲＡＭ１０６に保存する。さらに、ｐ１をｐｈ２１としてＲＡＭ１０６に保存し、Ｓ５０５に処理を移す。ここで、ｐｈ２１は前記のように全ストロークで２１周期出現する。
【００２６】
Ｓ５０５では、ＲＡＭ１０６に保存されているｐｈ１から式（４）で得られるａｂｓ６を演算し、ＲＡＭ１０６に保存してＳ５０６に進む。ここでａｂｓ６は、ｐｈ１を周期２πの６分の１で割ったものである。前記したようにｐｈ１は全ストロークで１周期なので、ここで得られたａｂｓ６は、位置検出対象物の位置が、全ストロークを６分割した領域のうちの何番目の領域にあるかを示している。
式（４）    ａｂｓ６＝ｐｈ１／（２π／６）
【００２７】
次にＳ５０６では、ＲＡＭ１０６に保存されているｐｈ６及びａｂｓ６から式（５）で得られるａｂｓ１３を演算し、ＲＡＭ１０６に保存してＳ５０７に進む。前記のようにａｂｓ６は、全ストロークを６分割した領域のうちの何番目の領域にあるかを示しており、ｐｈ６は、ａｂｓ６番目の領域内のどの位置にあるかを示しているので、式（５）の分子はｐｈ６の分解能で表された絶対位置に相当する。そして、これを２π×６／１３で割ったａｂｓ１３は、全ストロークを１３分割した領域のうちの何番目の領域にあるかを示している。
式（５）    ａｂｓ１３＝（２π＊ａｂｓ６＋ｐｈ６）／（２π＊６／１３）
【００２８】
次にＳ５０７では、ＲＡＭ１０６に保存されているｐｈ１３及びａｂｓ１３から式（６）で得られるａｂｓ２１を演算し、ＲＡＭ１０６に保存してＳ５０８に進む。前記したＳ５０６の説明と同様の理由により、ここで演算されたａｂｓ２１は、全ストロークを２１分割した領域のうちの何番目の領域にあるかを示している。
式（６）    ａｂｓ２１＝（２π＊ａｂｓ１３＋ｐｈ１３）／（２π＊１３／２１）
【００２９】
Ｓ５０８では、ＲＡＭ１０６に保存されているｐｈ２１及びａｂｓ２１から式（７）で得られるＦｕｌｌＡＢＳを演算し、ＲＡＭ１０６に保存して処理を終了する。ｐｈ２１は最も細かいピッチαから得られた位置情報であるので、ここで演算されたＦｕｌｌＡＢＳは、最も細かいピッチαの分解能を持つ絶対位置情報となる。
式（７）    ＦｕｌｌＡＢＳ＝（２π＊ａｂｓ２１＋ｐｈ２１）
【００３０】
以上に述べたように、ピッチの異なる３種類のインクリメンタル信号を合成することで、更にピッチの異なるインクリメンタル信号を合成することができる。そして、前記したアブソリュート位置エンコード処理を行うことで、最小ピッチの分解能で位置制御対象物１０１の絶対位置を求めることができる。
【００３１】
ところで、以上に述べたアブソリュート位置エンコード処理では、演算に用いるピッチα、β、γの各信号が、全て、位置制御対象物が同じ位置にある時のものであることを前提としている。すなわち、ピッチα、β、γの各信号は制御対象が静止した状態で取得されていなければならない。
【００３２】
以下では、本発明の特徴であるところの、ピッチαの信号を用いたフィードバック制御により制御対象物を静止させつつ、フィードバック制御処理を実行していない期間にピッチβ、γの信号を検出する処理について説明する。図６は、本実施形態の位置制御装置における位置制御処理のフローチャートである。以下の処理はマイクロコンピュータ１０４にて実行される。図６のＳ６０１では、マイクロコンピュータ１０４からピッチ切り替え信号出力部１１０を介して、最小ピッチに設定する信号がエンコーダ１０２に出力される。これによりエンコーダ１０２からは最小ピッチのインクリメンタル信号が出力される。
【００３３】
次にＳ６０２では、位置制御処理のフィードバック制御を一定周期で実行するために、制御周期を規定する割り込み要求が発生しているかどうかを判別する。一般にフィードバック制御は、制御対象物や駆動部の物理的・電気的特性や、位置制御装置に要求される制御応答性・安定性などから規定される所定の周期で反復実行される。そして、この制御周期を規定するために、マイクロコンピュータ１０４の内部または外部に備えられたタイマー回路により、既定の周期でトリガー信号が発生するように構成される。このトリガー信号によりマイクロコンピュータ１０４のＣＰＵに割り込み処理要求を発生させることで、ＣＰＵに処理周期を通知し、一定周期のフィードバック制御処理が実行される。Ｓ６０２で割り込みが発生されていないと判別された場合は、次の処理には進まず、割り込みが発生されるまで待機または位置制御処理以外の処理が実行される。そして割り込みが発生するとＳ６０３に処理を移す。
【００３４】
Ｓ６０３では、前記のＳ６０１でエンコーダ１０２の出力をピッチαに切り替えてから、出力信号が静定するまでの所定の時間が経過したかを判別する。本実施形態ではピッチの異なる複数のインクリメンタル信号を同一の信号線に出力する構成としているため、ピッチを切り替えた際、切り替え後のピッチの信号が正しく読み取れる状態になるまでには、信号回路の電気特性に応じた所定の時間を要する。そこでＳ６０３では所定の静定時間が経過したかを判別し、経過していない場合は、次の処理には進まず待機する。そして静定時間が経過したらＳ６０４に処理を移す。
【００３５】
Ｓ６０４では、最小ピッチの２相のインクリメンタル信号のＡ／Ｄ変換値を取得してＲＡＭ１０６へ保存し、Ｓ６０５に進む。Ｓ６０５は図３で説明したインクリメンタル位置エンコード処理であり、ここでの処理により前記したインクリメンタル位置エンコード値が得られる。
【００３６】
次にＳ６０６では、ＣＰＵはアブソリュート位置エンコードリクエストの有無を確認する。アブソリュート位置エンコードリクエストは、位置制御装置の電源投入直後のＣＰＵの初期化処理内や、インクリメンタル位置エンコード処理のＳ３１０にて移動方向判別エラー警告有りとして処理を行った場合などに発行される。この様に、アブソリュート位置が不確定となった場合にリクエストが発行される。あるいは、ＣＰＵが制御対象物１０１を静止する処理を実施する場合において、リクエストを行ってもよい。
【００３７】
Ｓ６０６でアブソリュート位置エンコードリクエストが検出されなければ、Ｓ６０７に進む。Ｓ６０７では、サーボパラメータとして、制御対象物１０１を素早く目標位置に到達させるのに適したパラメータを設定する。Ｓ６０８では、Ｓ６０７で設定されたサーボパラメータを使ってサーボ演算処理を行う。
【００３８】
図７を用いてサーボ演算処理を説明する。先ずＳ７０１において、ＣＰＵはサーボ目標位置を取得し、インクリメンタル位置エンコードの現在値を取得してＳ７０２へ処理を移す。Ｓ７０２において、ＣＰＵはサーボ目標位置とインクリメンタル位置エンコードの現在値から制御エラーを算出して、Ｓ７０３へ処理を移す。Ｓ７０３において、ＣＰＵは、制御エラーが所定範囲内かどうかを判断し、範囲内であればＳ７０４へ処理を移し、範囲内でなければＳ７０５へ処理を移す。Ｓ７０４において、ＣＰＵはサーボ安定フラグをセットしてＳ７０６へ処理を移す。Ｓ７０５において、ＣＰＵはサーボ安定フラグをクリアしてＳ７０６へ処理を移す。Ｓ７０６において、ＣＰＵは、制御エラーから、Ｓ６０７で設定されたサーボパラメータを使って制御信号の演算処理を行い、Ｓ７０７へ処理を移す。Ｓ７０７において、ＣＰＵは、制御信号出力部１０７がモータドライバ１０８に対してリニアモータ１０９を駆動させるために出力させたい制御信号を更新して処理を終える。
【００３９】
以上、一連の操作にてアブソリュート位置エンコードリクエストが無い場合の一連の位相制御処理を終える。
【００４０】
一方、Ｓ６０６でアブソリュート位置エンコードリクエストが検出されれば、Ｓ６０９に進む。Ｓ６０９では、インクリメンタル位置エンコード処理で演算されたインクリメンタル位置をサーボ目標位置として設定する。この設定によって、制御対象物１０１が現在位置で静止するようにサーボ処理が行われる。Ｓ６１０では、サーボパラメータを、制御対象物１０１を安定して静止状態に維持するのに適したパラメータに設定する。Ｓ６１１では、Ｓ６１０で設定されたサーボパラメータを使って、サーボ演算処理を行う。
【００４１】
続いてアブソリュート位置のエンコード処理が行われる。まずＳ６１２では、マイクロコンピュータ１０４から、ピッチ切り替え信号出力部１１０を介して、中間ピッチを設定する信号がエンコーダ１０２に出力される。これにより、エンコーダ１０２からは中間ピッチのインクリメンタル信号が出力される。次にＳ６１３では、Ｓ６０３と同様に所定の静定時間が経過したかを判別し、静定時間が経過したらＳ６１４に処理を移す。Ｓ６１４では、中間ピッチの２相のインクリメンタル信号のＡ／Ｄ変換値を取得してＲＡＭ１０６へ保存し、Ｓ６１５に進む。Ｓ６１５〜Ｓ６１７では、最大ピッチに対して前記したＳ６１２〜Ｓ６１４と同様の処理を行う。ここまでの処理により、最小、中間、最大ピッチの各ピッチのインクリメンタル信号のＡ／Ｄ変換値が取得され、ＲＡＭ１０６に保存された状態となる。
【００４２】
Ｓ６１８は、図５で説明したアブソリュート位置エンコード処理であり、ここでの処理により、前記したアブソリュート位置エンコード値、すなわち位置制御対象物１０１の絶対位置が得られる。Ｓ６１９では、Ｓ６１８で得られた絶対位置情報を用いて、フィードバック制御に用いられるインクリメンタル位置エンコード値の補正を行う。
【００４３】
最後にＳ６２０にて、アブソリュート位置エンコードリクエストをクリアして、一連の位置制御処理を終える。ここで、Ｓ６１０で設定される制御対象を安定して静止させるのに適したパラメータと、Ｓ６０７で設定される制御対象を素早く目標位置に到達させるパラメータの特徴に関して説明を加える。制御対象物１０１を安定的に目標位置に移動させるためには、サーボ制御系のゲイン余裕としては１２ｄＢ以上が望ましい。ゲイン余裕が十分に取られていないと、オーバーシュートが大きくなり目標位置への到達が遅れてしまう。また、制御系の共振を避けるようなサーボ帯域の設定も必要となる。これに対して制御対象物１０１が静止状態であれば、オーバーシュートや制御系の共振が問題とならないので、ゲイン余裕やサーボ帯域に対する設計マージンが取りやすくなる。そこでＳ６１０では、制御対象物１０１が静止位置からずれた場合に素早く元に復帰して安定して静止状態が得られるようなゲイン余裕やサーボ帯域が設定されるように、サーボパラメータを選択すれば良い。一方、Ｓ６０７では、オーバーシュートと制御系の共振周波数を考慮して、サーボパラメータの選択を行う必要がある。すなわち、制御対象物の駆動時の共振周波数以下となるようなサーボ帯域を得る制御パラメータであるのが好ましい。
【００４４】
以上のように、ピッチの異なる複数のインクリメンタル信号を正しく取得する為に、サーボパラメータを適切に切り替えたので、制御対象物の絶対位置を正しく検出できる効果がある。本実施形態では、制御手段は、制御対象物の絶対位置が判明していない場合に、制御対象物を静止するように制御を行いながら絶対位置演算手段を動作させる。また、所定の制御周期を、当該制御周期内で絶対位置演算手段による処理が完了できる周期に変更する。
【００４５】
（実施形態２）
次に、本発明の第２の実施の形態について説明する。前記した第１の実施の形態においては、最小ピッチのインクリメンタル信号によるフィードバック制御を行いつつ、このフィードバック制御処理を実行していない期間に他の全てのピッチへの切り替えと信号検出を行っていた。これに対して、以下で説明する第２の実施の形態においては、１回の処理周期で全てのピッチの処理を行うのではなく、複数の処理周期に分割して処理を行う。より詳細には、例えば複数のＡ／Ｄ割り込みに分割して前記絶対位置演算手段の処理を完了し、この演算処理が完了できる周期に制御周期を切り替える。
【００４６】
前記した第１の実施の形態においては、フィードバック制御周期の時間内に図６の全ての処理が実行されるように構成している。ここで、ピッチの切り替えと信号取得を行う際には、前記のように信号回路の電気特性に応じた静定時間の経過を待つ必要がある。一方で、フィードバック制御周期は、制御対象物等の物理的・電気的特性、位置制御装置に要求される制御応答性・安定性などから規定される。このため、位置制御装置の特性や要求性能によっては、フィードバック制御周期の時間内に全ての処理が実行できるとは限らない。そこで本実施形態では、複数の処理周期に分割して処理を行うように構成している。
【００４７】
本実施形態における位置制御装置の構成、インクリメンタル位置エンコード処理及びアブソリュート位置エンコード処理の内容は、前記した第１の実施の形態と同様であるので、説明は省略する。以下では本実施形態の特徴である位置制御処理について説明する。なお、以下では３種類のピッチのインクリメンタル信号を用いた場合について説明しているが、ピッチが４種類以上或いは２種類の構成とすることもできる点は第１の実施の形態と同様である。またここでは、フィードバック制御処理ないし各ピッチ信号の検出処理をＡ／Ｄ変換割り込みで行うことを例に説明していくが、周期的な処理であれば、この限りではない。
【００４８】
図８は、ＣＰＵのＡ／Ｄ変換割り込み処理内で行われるピッチ切替え制御とエンコード処理切替え、及びサーボ演算処理のフローチャートである。ここでは、Ａ／Ｄ変換割り込みを使って説明するが、周期的な繰り返し処理が実施されればよいので、タイマー割り込みなどの処理ルーチンでも実施可能である。
【００４９】
図８のＳ８０１において、ＣＰＵはアブソリュート位置エンコードリクエストの有無を確認する。アブソリュート位置エンコードリクエストは、位置制御装置の電源投入直後のＣＰＵの初期化処理内や、エンコード処理のＳ３１０にて移動方向判別エラー警告有りとして処理を行った場合など、アブソリュート位置が不確定となった場合に発行される。あるいは、ＣＰＵが制御対象を静止する処理を実施する場合においてリクエストを行ってもよい。
【００５０】
つまり位置制御装置の電源投入直後に、ＣＰＵの初期化処理内でアブソリュート位置エンコードリクエストが発行されて、Ｓ８０１及びＳ８０２に処理が進みアブソリュート位置エンコード処理を開始する。選択ピッチは、アブソリュート位置エンコード処理を実施していない場合は常に最小ピッチが選択されており、先ずは最小ピッチ選択時の処理が行われる。最小ピッチ選択時は、Ｓ８０３で最小ピッチの２相Ａ／Ｄ変換値をＲＡＭ１０６へ保存し、Ｓ８０４で選択ピッチを中間ピッチに切り替えるように信号出力部１１０を制御する。最小ピッチ選択時にはサーボ演算処理も実施される。サーボ演算処理は、先ずＳ８０５にてインクリメンタル位置エンコード処理を行う。Ｓ８０６では、インクリメンタル位置エンコード処理で演算されたインクリメンタル位置をサーボ目標位置として設定する。この設定によって、制御対象は現在位置で静止するようにサーボ処理が行われる。Ｓ８０７では、サーボパラメータを、制御対象物１０１が安定して静止状態を維持するのに適したパラメータに設定する。Ｓ８０８では、Ｓ８０７で設定されたサーボパラメータを使ってサーボ演算処理を行い、Ａ／Ｄ割り込み処理が終わる。サーボ演算処理は、前述した通りに行われる。
【００５１】
次のＡ／Ｄ割り込み処理では、既に中間ピッチへの切り替えが行われているので、Ｓ８０１とＳ８０２を経由してＳ８０９に進み、中間ピッチ選択時の処理が実施される。中間ピッチ選択時の処理では、Ｓ８０９で中間ピッチの２相Ａ／Ｄ変換値をＲＡＭ１０６へ保存し、Ｓ８１０で、選択ピッチを最大ピッチに切り替えるように信号出力部１１０の制御を行い、Ａ／Ｄ割り込み処理が終わる。
【００５２】
次のＡ／Ｄ割り込み処理では、既に最大ピッチへの切り替えが行われているので、Ｓ８０１とＳ８０２を経由してＳ８１１に進み、最大ピッチ選択時の処理が実施される。最大ピッチ選択時の処理では、Ｓ８１１で最大ピッチの２相Ａ／Ｄ変換値をＲＡＭ１０６へ保存し、Ｓ８１２で、選択ピッチを最小ピッチに切り替えるように信号出力部１１０の制御を行う。最大ピッチ選択時の処理では、Ｓ８１３でサーボ演算処理にてサーボが静止状態で安定していると判定されると、Ｓ８１４に進みアブソリュート位置エンコード処理が行われる。またＳ８１５では、インクリメンタル位置が、演算されたアブソリュート位置によって更新される。Ｓ８１６でアブソリュート位置エンコードリクエストがクリアされ、Ｓ８０３からＳ８１６の一連のアブソリュート位置エンコード処理が終了する。
【００５３】
一旦アブソリュート位置エンコード処理が実施されると、演算されたアブソリュート位置を基準としてインクリメンタル位置エンコード処理にてアブソリュート位置が更新されることになる。Ｓ８１７からＳ８２０は、アブソリュート位置エンコード処理が実施されてからのＡ／Ｄ変換処理である。Ｓ８０１でアブソリュート位置エンコードリクエストがクリアされていると、Ｓ８１７に処理を進める。Ｓ８１７では最小ピッチの２相Ａ／Ｄ変換値をＲＡＭ１０６へ保存し、得られた最小ピッチの２相Ａ／Ｄ変換値からＳ８１８でインクリメンタル位置エンコード処理が行われる。Ｓ８１９では、サーボパラメータとして、制御対象物を素早く目標位置に到達させるのに適したパラメータを設定する。Ｓ８２０では、Ｓ８１９で設定されたサーボパラメータを使ってサーボ演算処理を行い、Ａ／Ｄ割り込み処理が終わる。
【００５４】
ここで、Ｓ８０７で設定される制御対象を安定して静止させるのに適したパラメータと、Ｓ８１９で設定される制御対象を素早く目標位置に到達させるパラメータの特徴に関しては、前述した通りである。すなわち、Ｓ８０７では、制御対象が静止位置からずれた場合に素早く元の位置に戻り、安定的に静止状態を維持できるようなゲイン余裕やサーボ帯域が設定されるようにサーボパラメータを選択すれば良い。一方、Ｓ８１７では、オーバーシュートと制御系の共振周波数を考慮してサーボパラメータの選択を行う必要がある。
【００５５】
以上のように、サーボ演算処理は、最小ピッチのＡ／Ｄ変換値を検出してインクリメンタル位置の演算結果を使って実施するように構成する。そして、サーボを静止してアブソリュート位置エンコードを行う場合は、最小ピッチ、中間ピッチ、最大ピッチの検出周期に応じて制御対象物の位置制御を行う。この様にしたので、確実にアブソリュート位置エンコードを可能とする効果がある。
【符号の説明】
【００５６】
１０１‥‥位置制御対象物、１０２‥‥エンコーダ（信号発生手段）、１０３‥‥Ａ／Ｄ変換部（信号出力手段）、１０４‥‥マイクロコンピュータ（ＣＰＵ、相対位置演算手段、絶対位置演算手段、制御手段）、１０５‥‥ＲＯＭ、１０６‥‥ＲＡＭ、１０７‥‥モータ制御信号出力部（駆動手段）、１０８‥‥モータ駆動部（モータードライバ、駆動手段）、１０９‥‥モータ（リニアモータ、駆動手段）、１１０‥‥ピッチ切り替え信号出力部（信号選択手段）、１１１‥‥Ｄ／Ａ変換部
【図１】
2014146226.tif 000003
【図２】
2014146226.tif 000004
【図３】
2014146226.tif 000005
【図４】
2014146226.tif 000006
【図５】
2014146226.tif 000007
【図６】
2014146226.tif 000008
【図７】
2014146226.tif 000009
【図８】
2014146226.tif 000010