(57)【要約】【課題】異なるピッチの位置検出信号へ切り替えている間に位置制御が不安定にならないようにできる位置制御装置を提供する。【解決手段】位置制御装置１００は、エンコーダ１０７と、位置情報生成手段１０１と、位置制御手段１０１を備える。エンコーダ１０７は、外部からの複数種のピッチ間の切替え制御により、複数種のピッチの数より少ない数の信号線への周期波形の出力が、ピッチの異なる複数種のピッチの周期波形の間で切り替わる。位置制御手段により制御対象物をほぼ静止するように制御する位置制御状態になった後に、エンコーダ１０７のピッチ切替え制御が完了してから、位置情報生成手段の動作状態を切替える。【選択図】図６
2014146101.tif 000002
【特許請求の範囲】
【請求項１】
外部からの複数種のピッチ間の切替え制御により、複数種のピッチの数より少ない数の信号線への周期波形の出力が、ピッチの異なる複数種のピッチの周期波形の間で切り替わるエンコーダと、
前記エンコーダの各周期波形の出力から位置情報を生成する位置情報生成手段と、
前記位置情報生成手段の出力により制御対象物の位置制御を行う位置制御手段と、
を備え、
前記位置制御手段により制御対象物をほぼ静止するように制御する位置制御状態になった後に、前記エンコーダのピッチ切替え制御が完了してから、位置情報生成手段の動作状態を切替えることを特徴とする位置制御装置。
【請求項２】
前記位置制御手段により所定誤差以内の制御対象物の位置制御状態になった後に、前記エンコーダのピッチ切替え制御と同期して、前記位置情報生成手段の動作状態を切替えることを特徴とする請求項１に記載の位置制御装置。
【請求項３】
複数の位置情報生成手段を備え、
前記エンコーダのピッチ切替え制御と同期して、ピッチごとに決められた個別の位置情報生成手段へ切り替えることを特徴とする請求項１または２に記載の位置制御装置。
【請求項４】
前記位置制御手段は、前記エンコーダの常用の位置検出用ピッチで相対的な位置制御を行い、絶対位置を求めるときのみ前記エンコーダの絶対位置検出用ピッチに切り替えることを特徴とする請求項１ないし３の何れか１項に記載の位置制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、位置制御装置に関する。
【背景技術】
【０００２】
従来、３つのインクリメンタル信号を３つのサンプルホールド回路で同時保持するアブソリュートエンコーダがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５-２７２９８８号公報（図１）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に開示の技術では、３つのインクリメンタル信号を３つのサンプルホールド回路へそれぞれ接続する必要があり、このようなアブソリュートエンコーダを使う位置制御装置においては、信号線の本数が多くなってしまう。これを回避するためには、ピッチ切替え制御により、ピッチの異なる複数のインクリメンタル信号を同一の信号線に出力する構成とすることで、信号線の本数を削減することができる。ここで、ピッチの異なる複数のインクリメンタル信号を組み合わせて制御対象物の絶対位置の演算を行う場合、制御対象物が安定して静止した状態で前記複数のインクリメンタル信号を取得しなくてはならない。なぜなら、制御対象物の位置が異なる状態でそれぞれのインクリメンタル信号を取得してしまうと、制御対象物の絶対位置の演算を正しく行えないためである。
【０００５】
制御対象物を静止させるためには、まず開始ピッチのインクリメンタル信号で暫定的に相対位置制御を行う。次にピッチ切替え制御により、ピッチの異なるインクリメンタル信号を取得し、再びピッチ切替え制御により開始ピッチへ戻し、位置制御を引続き行いながら絶対位置の演算を行い、相対位置情報を絶対位置情報に差し替えれば良い。しかし、ピッチの異なるインクリメンタル信号が同一の信号線へ出力されると、受け手の位置エンコード処理側には、制御対象物が動いていないにもかかわらず、動いたような信号変化が起きたように見えることがある。つまり、静止させる位置制御用に開始ピッチのインクリメンタル信号で位置エンコード処理を行っているところへ、ピッチの異なるインクリメンタル信号が出力されると、位置エンコード処理部から、動いたような位置情報が出力される。その位置情報をフィードバックして位置制御を行う場合、動いていないにもかかわらず、動いたものとして逆に誤って位置制御をかけてしまい、静止状態が不安定になるということがある。
【０００６】
そこで、本発明の目的は、異なるピッチの位置検出信号へ切り替えている間に位置制御が不安定にならないようにできる位置制御装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明の位置制御装置は、外部からの複数種のピッチ間の切替え制御により、複数種のピッチの数より少ない数の信号線への周期波形の出力が、ピッチの異なる複数種のピッチの周期波形の間で切り替わるエンコーダと、前記エンコーダの各周期波形の出力から位置情報を生成する位置情報生成手段と、前記位置情報生成手段の出力により制御対象物の位置制御を行う位置制御手段と、を備える。そして、前記位置制御手段により制御対象物をほぼ静止するように制御する位置制御状態になった後に、前記エンコーダのピッチ切替え制御が完了してから、位置情報生成手段の動作状態を切替えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、異なるピッチの位置検出信号へ切り替えようとする時は、位置エンコード演算を止め、その後にピッチを切り替えるので、異なるピッチの位置検出信号へ切り替えている間に位置制御が不安定にならないという効果がある。
【図面の簡単な説明】
【０００９】
【図１】本発明を適用した位置制御装置のブロック図である。
【図２】インクリメンタル信号の処理の概念図である。
【図３】実施例のフローチャートである。
【図４】インクリメンタル信号と合成信号の概念図である。
【図５】実施例のフローチャートである。
【図６】実施例のフローチャートである。
【図７】実施例のフローチャートである。
【図８】実施例のフローチャートである。
【発明を実施するための形態】
【００１０】
本発明では、前記位置制御手段により制御対象物を静止するように制御する位置制御状態になった後に、前記エンコーダのピッチ切替え制御が完了してから、位置情報生成手段の動作状態を切替える。本発明によれば、複数の位置検出信号を、信号発生手段の数より少ない数の信号線（例えば、同一の信号線）に出力する構成においても、位置検出信号で位置エンコード処理を行っているところへ、ピッチの異なる位置検出信号が出力されることはない。また、複数の位置検出信号を、制御対象物が安定してほぼ静止した状態で取得できる。したがって、制御対象物の絶対位置の演算を正しく行うことができる。
【００１１】
以下、本発明の実施の形態について説明する。
（実施例１）
実施例１では、最小ピッチから、異なるピッチのインクリメンタル信号へ切り替えようとする時は、位置エンコード演算を止め、それから、ピッチを切り替える例を述べる。
【００１２】
以下、図面を参照しながら本実施例を説明する。図１は、本発明の各実施形態を適用可能な位置制御装置１００の一例の構成を示す。図１において、内部バス１０９に対してCPU１０１、ROM１０２、RAM１０３、制御信号出力部１０４、AD（アナログ・デジタル）入力部１０８が接続される。内部バス１０９に接続される各部は、内部バス１０９を介して互いにデータのやりとりを行うことができる。ROM１０２には、CPU１０１が動作するための各種プログラムなどが格納される。制御手段や計測手段としてのCPU１０１は、例えばROM１０２に格納されるプログラムに従い、RAM１０３をワークメモリとして用いて、この位置制御装置１００の各部を制御する。信号選択手段である制御信号出力部１０４は、モータードライバ１０５に対して、駆動手段をなすリニアモーター１０６を駆動させるためのCPU１０１から命令された制御信号を出力する。また、位置信号発生手段であるリニアエンコーダ１０７に対して、異なるピッチのインクリメンタル信号を出力させるためのCPU１０１から命令された制御信号を出力する。リニアモーター１０６はレンズ等の制御対象（不図示）の位置を移動させ、リニアエンコーダ１０７が制御対象の移動に応じてインクリメンタル信号を出力する。信号出力手段であるAD入力部１０８は、リニアエンコーダ１０７が出力するインクリメンタル信号をAD変換して、AD変換データ信号をCPU１０１に供給する。CPU１０１は、AD入力部１０８で変換されたインクリメンタル信号から、インクリメンタル位置エンコード処理およびアブソリュート位置エンコード処理により制御対象の現在位置を算出する。
【００１３】
図２は、インクリメンタル信号の処理の概念図である。図３はCPU１０１のインクリメンタル位置エンコード処理のフローチャートである。図２と図３を用いてインクリメンタル位置エンコードを説明する。図２（A）では、縦軸は１０bitのAD変換値、横軸は制御対象の位置であり、２０１と２０２は、それぞれ、サイン波およびコサイン波として、制御対象の移動に応じて出力される２相のインクリメンタル信号のイメージである。図２（B）では、縦軸は角度ラジアン、横軸は位置である。２０３は、制御対象の移動に応じて信号２０１と信号２０２間の逆正接関数として、０から２πまでに正規化され演算される逆正接関数結果のイメージである。図２（C）では、縦軸はインクリメンタル位置エンコード値、横軸は位置であり、逆正接関数結果２０３が０を跨いだ時、LSBが２πに相当する上位桁を増減させるインクリメンタル位置エンコード値のイメージである。
【００１４】
図３のフローチャートのs３０１において、CPU１０１はインクリメンタル位置エンコード処理の許可フラグがセット状態であるかどうかを判断し、許可フラグセット状態でなければ処理を終了、許可フラグセット状態ならs３０２へ処理を移す。s３０２において、CPU１０１は図２（A）の２０１、２０２のような２相信号のAD変換値を取得する。そして、オフセット除去演算、ゲイン調整演算を行った後、図２（B）の２０３のような逆正接関数を演算した結果をRAM１０３へ保存して、s３０３へ処理を移す。s３０３において、CPU１０１は前回の逆正接関数演算結果と今回の逆正接関数演算結果の差が３π/８以下であるかどうかを判断し、以下であればs３０４へ処理を移し、以下でなければs３１０へ処理を移す。この差の値は、変化が正常か否かを決める観点から決定されるもので、３π／８に限定されるものではない。
【００１５】
s３０４において、CPU１０１は前回の逆正接関数演算結果と今回の逆正接関数演算結果の移動で０を跨いだかどうかを判断し、跨いでいればs３０５へ処理を移し、いなければs３０８へ処理を移す。s３０５において、CPU１０１は今回の逆正接関数演算結果が前回の逆正接関数演算結果以下であるかどうかを判断し、以下であればs３０６へ処理を移し、以下でなければs３０７へ処理を移す。s３０６において、移動方向が増加方向であると考えられるので、CPU１０１は２π単位である上位桁へ１を加算して、s３０８へ処理を移す。上位桁とは、インクリメンタル位置エンコード値の２π以上の桁である。一方、s３０７においては、移動方向が減少方向であると考えられるので、CPU１０１は２π単位である上位桁から１を減算して、s３０８へ処理を移す。
【００１６】
s３０８において、CPU１０１は２π単位である上位桁と今回結果を加算して、図２（C）の２０４のような新しいインクリメンタル位置エンコード値として求め、s３０９へ処理を移す。s３０９において、CPU１０１は、今回と前回の移動が３π/８以下であり移動方向が正しく判別されていることから、移動方向判別エラー警告無しとして処理を終了する。一方、s３１０において、CPU１０１は、今回と前回で３π/８以上となった移動量の移動方向が、増加により３π/８以上の移動となったのか、減少により３π/８以上の移動となったのかを判別しにくい。よって、移動方向判別エラー警告有りとして処理を終了する。これにより、インクリメンタル信号からインクリメンタル位置エンコード値を生成して位置制御に用いることができる。以上のように常用位置検出ピッチで相対的な位置制御を行い、後述する如く絶対位置を求めるときのみ絶対位置検出用ピッチに切り替える。
【００１７】
図４は、ピッチの異なる３種類のインクリメンタル信号と合成信号の概念図である。図５はCPU１０１のアブソリュート位置エンコード処理のフローチャートである。図４と図５を用いてアブソリュート位置エンコードを説明する。図４（A） は、縦軸は角度ラジアン、横軸は位置で、４０１は、制御対象の移動に応じて逆正接関数として、０から２πまでに正規化され演算される最小ピッチの逆正接関数結果のイメージである。全ストロークで２１周期出現する。図４（B） は、縦軸は角度ラジアン、横軸は位置で、４０２は、移動に応じて逆正接関数として、０から２πまでに正規化され演算される中間ピッチの逆正接関数結果のイメージである。全ストロークで１０周期出現する。図４（C） は、縦軸は角度ラジアン、横軸は位置で、４０３は、移動に応じて逆正接関数として、０から２πまでに正規化され演算される最大ピッチの逆正接関数結果のイメージである。全ストロークで４周期出現する。
【００１８】
図４（D） は、縦軸は角度ラジアン、横軸は位置で、４０４は、移動に応じて図５のs５０４の下記の式（１）の結果として、０から２πまでに正規化され演算される結果のイメージである。前記したように全ストロークでｐ１は２１周期、ｐ２は１０周期出現するので、ｐ２を２倍したものとｐ１とは全ストロークで１周期分の差分を持つので、ｐｈ１は全ストロークで１周期出現する。図４（E） は、縦軸は角度ラジアン、横軸は位置で、４０５は、移動に応じて図５のs５０４の下記の式（２）の結果として、０から２πまでに正規化され演算される結果のイメージである。１０周期と４周期の差分であるので、全ストロークで６周期出現する。図４（F） は、縦軸は角度ラジアン、横軸は位置で、４０６は、移動に応じて図５のs５０４の下記の式（３）の結果として、０から２πまでに正規化され演算される結果のイメージである。２１周期と４周期の２倍との差分であるので、全ストロークで１３周期出現する。
【００１９】
式（１）    ｐｈ１＝ｐ１−２＊ｐ２
式（２）    ｐｈ６＝ｐ２−ｐ３
式（３）    ｐｈ１３＝ｐ１−２＊ｐ３
【００２０】
CPU１０１のアブソリュート位置エンコード処理のフローチャートである図５のフローチャートのs５０１において、CPU１０１はRAM１０３へ保存してある最小ピッチの２相信号のAD変換値を取得する。そして、オフセット除去演算、ゲイン調整演算を行った後、図４（A）の４０１のような逆正接関数演算した結果をｐ１としてRAM１０３へ保存して、s５０２へ処理を移す。s５０２において、CPU１０１はRAM１０３へ保存してある中間ピッチの２相信号のAD変換値を取得する。そして、オフセット除去演算、ゲイン調整演算を行った後、図４（B）の４０２のような逆正接関数演算した結果をｐ２としてRAM１０３へ保存して、s５０３へ処理を移す。s５０３において、CPU１０１はRAM１０３へ保存してある最大ピッチの２相信号のAD変換値を取得する。そして、オフセット除去演算、ゲイン調整演算を行った後、図４（C）の４０３のような逆正接関数演算した結果をｐ３としてRAM１０３へ保存して、s５０４へ処理を移す。
【００２１】
s５０４において、CPU１０１はRAM１０３へ保存してあるｐ１とｐ２を用いて式（１）で演算し、ｐｈ１を求め、RAM１０３へ保存する。ｐｈ１は全ストロークで１周期出現する。また、CPU１０１はRAM１０３へ保存してあるｐ２とｐ３を用いて式（２）で演算し、ｐｈ６を求め、RAM１０３へ保存する。ｐｈ６は全ストロークで６周期出現する。CPU１０１はRAM１０３へ保存してあるｐ１とｐ３を用いて式（３）で演算し、ｐｈ１３を求め、RAM１０３へ保存する。ｐｈ１３は全ストロークで１３周期出現する。CPU１０１は、RAM１０３へ保存してあるｐ１をｐｈ２１としてRAM１０３へ保存し、s５０５へ処理を移す。ｐｈ２１は全ストロークで２１周期出現する。
【００２２】
s５０５において、CPU１０１は、RAM１０３へ保存してあるｐｈ１を用いて下記の式（４）で演算し、全ストロークで６周期出現する中のどの周期に制御対象があるかを演算し、abs６としてRAM１０３へ保存する。またCPU１０１は、RAM１０３へ保存してあるabs６とｐｈ６を用いて下記の式（５）で演算し、全ストロークで１３周期出現する中のどの周期に制御対象があるかを演算し、abs１３としてRAM１０３へ保存する。またCPU１０１は、RAM１０３へ保存してあるabs１３とｐｈ１３を用いて下記の式（６）で演算し、全ストロークで２１周期出現する中のどの周期に制御対象があるかを演算し、abs２１としてRAM１０３へ保存する。またCPU１０１は、RAM１０３へ保存してあるabs２１とｐｈ２１を用いて下記の式（７）で演算し、最小ピッチの分解能でどの周期に制御対象があるかを演算し、FullABSとしてRAM１０３へ保存して処理を終える。
【００２３】
式（４）    ａｂｓ６＝ｐｈ１／（２π／６）
式（５）    ａｂｓ１３＝（２π＊ａｂｓ６＋ｐｈ６）／（２π＊６／１３）
式（６）    ａｂｓ２１＝（２π＊ａｂｓ１３＋ｐｈ１３）／（２π＊１３／２１）
式（７）    ＦｕｌｌＡＢＳ＝（２π＊ａｂｓ２１＋ｐｈ２１）
【００２４】
以上のように、ピッチの異なる３種類のインクリメンタル信号を合成して更にピッチの異なるインクリメンタル信号を合成することができる。制御対象が静止した状態で取得したピッチの異なるインクリメンタル信号を合成して、アブソリュート位置エンコード処理を行うことで、最小ピッチの分解能で制御対象のアブソリュート位置を求められる。
【００２５】
図６はCPU１０１のピッチ切替え制御とエンコード処理切替えのフローチャートである。図７はCPU１０１の位置制御処理のフローチャートである。図４と図６と図７を用いて、ピッチ切替え制御と同期したエンコード処理切替え（すなわち、ピッチを切り替えようとする時は、位置エンコード演算を止めてから、所定のタイミングでピッチを切り替える制御）の説明をする。図６のs６０１において、CPU１０１は制御信号出力部１０４に、インクリメンタル信号のピッチ設定を図４（A）のような最小ピッチとする制御信号を出力するように命令し、インクリメンタル位置エンコード処理の許可フラグをセットする。その後、CPU１０１はインクリメンタル位置エンコードの上位桁を初期化し、サーボ目標位置をインクリメンタル位置エンコードの現在値に設定し、サーボＯＮフラグをセットしてs６０２へ処理を移す。これにより、リニアエンコーダ１０７からは最小ピッチのインクリメンタル信号が出力され、CPU１０１は図３のフローチャートに従ってインクリメンタル位置エンコード処理を行う。またCPU１０１は、後述する図７のフローチャートに従って目標位置に留まろうとする位置制御をかける。
【００２６】
s６０２において、CPU１０１はサーボ安定フラグがセットされているかどうかを判断し、セットされていればs６０３へ処理を移し、セットされていなければs６０２へ処理を移す。s６０３において、CPU１０１は最小ピッチの２相AD変換値をRAM１０３へ保存し、サーボＯＮフラグをクリアする。その後、CPU１０１はインクリメンタル位置エンコード処理の許可フラグをクリアしてから、制御信号出力部１０４に、インクリメンタル信号のピッチ設定を図４（B）のような中間ピッチとする制御信号を出力するように命令する。そして、切替タイマーカウントを開始してs６０４へ処理を移す。切替タイマーカウントとは、例えばCPU１０１が処理クロックをカウントするものである。これにより、リニアエンコーダ１０７からは中間ピッチのインクリメンタル信号が出力されるが、CPU１０１によるインクリメンタル位置エンコード処理は行われないので、制御対象が動いていないにもかかわらず、動いたような位置情報は出力されない。
【００２７】
s６０４において、CPU１０１は、切替タイマーが所定カウント経過しているかどうかを判断し、カウント経過していればs６０５へ処理を移し、経過していなければs６０４へ処理を移す。s６０５において、CPU１０１は、中間ピッチの２相AD変換値をRAM１０３へ保存し、制御信号出力部１０４に、インクリメンタル信号のピッチ設定を最小ピッチとする制御信号を出力するように命令する。そして、切替タイマーカウントを開始してs６０６へ処理を移す。s６０６において、CPU１０１は、切替タイマーが所定カウント経過しているかどうかを判断し、カウント経過していればs６０７へ処理を移し、経過していなければs６０６へ処理を移す。s６０７において、CPU１０１はインクリメンタル位置エンコード処理の許可フラグをセットし、サーボＯＮフラグをセットしてs６０８へ処理を移す。これにより、リニアエンコーダ１０７からは再び最小ピッチのインクリメンタル信号が出力され、CPU１０１は図３のフローチャートに従ってインクリメンタル位置エンコード処理を行う。制御対象が動いていなければ、動いていないとする位置情報、制御対象が動いていれば、動いているとする位置情報で出力されるので、CPU１０１は後述の図７のフローチャートに従って目標位置に留まろうとする位置制御をかける。
【００２８】
s６０８において、CPU１０１はサーボ安定フラグがセットされているかどうかを判断し、セットされていればs６０９へ処理を移し、セットされていなければs６０８へ処理を移す。s６０９において、CPU１０１はサーボＯＮフラグをクリアし、インクリメンタル位置エンコード処理の許可フラグをクリアする。それから、制御信号出力部１０４に、インクリメンタル信号のピッチ設定を図４（C）のような最大ピッチとする制御信号を出力するように命令する。その後、CPU１０１は切替タイマーカウント開始してs６１０へ処理を移す。これにより、リニアエンコーダ１０７からは最大ピッチのインクリメンタル信号が出力されるが、CPU１０１によるインクリメンタル位置エンコード処理は行われないので、制御対象が動いていないにもかかわらず、動いたような位置情報は出力されない。s６１０において、CPU１０１は、切替タイマーが所定カウント経過しているかどうかを判断し、カウント経過していればs６１１へ処理を移し、経過していなければs６１０へ処理を移す。s６１１において、CPU１０１は最大ピッチの２相AD変換値をRAM１０３へ保存し、制御信号出力部１０４に、インクリメンタル信号のピッチ設定を最小ピッチとする制御信号を出力するように命令する。そして、切替タイマーカウントを開始してs６１２へ処理を移す。
【００２９】
s６１２において、CPU１０１は、切替タイマーが所定カウント経過しているかどうかを判断し、カウント経過していればs６１３へ処理を移し、経過していなければs６１２へ処理を移す。s６１３において、CPU１０１はインクリメンタル位置エンコード処理の許可フラグをセットし、サーボＯＮフラグをセットしてs６１４へ処理を移す。これにより、リニアエンコーダ１０７からは再び最小ピッチのインクリメンタル信号が出力され、CPU１０１は図３のフローチャートに従ってインクリメンタル位置エンコード処理を行う。制御対象が動いていなければ、動いていないとする位置情報、制御対象が動いていれば、動いているとする位置情報で出力されるので、CPU１０１は後述の図７のフローチャートに従って目標位置に留まろうとする位置制御をかける。
【００３０】
s６１４において、CPU１０１は図５のフローチャートに従ってアブソリュート位置エンコード処理を行い、s６１５へ処理を移す。以上のように、リニアモーター１０６が最小ピッチの分解能で位置制御をかけられ静止した状態で、前記ピッチの異なるインクリメンタル信号を取得できるので、絶対位置を正しく検出することができる。
【００３１】
s６１５において、CPU１０１はサーボＯＮフラグをクリアし、インクリメンタル位置エンコード処理の許可フラグをクリアしてから、インクリメンタル位置エンコード上位桁へs６１４で求められたアブソリュート位置エンコード結果を上書きする。その後、CPU１０１はインクリメンタル位置エンコード処理の許可フラグをセットし、サーボ目標位置をインクリメンタル位置エンコードの現在値に設定し、サーボＯＮフラグをセットして処理を終える。これにより、アブソリュート位置エンコード結果を引き継ぎつつ、その後は、最小ピッチのインクリメンタル位置エンコード処理のみで位置情報を得ることができる。
【００３２】
目標位置に留まろうとする位置制御をかけるフローチャートの図７を説明する。s７０１において、CPU１０１はサーボＯＮフラグがセットされているかどうかを判断し、セットされていればs７０２へ処理を移し、セットされていなければs７０９へ処理を移す。s７０２において、CPU１０１はサーボ目標位置を取得し、インクリメンタル位置エンコードの現在値を取得してs７０３へ処理を移す。s７０３において、CPU１０１はサーボ目標位置とインクリメンタル位置エンコードの現在値から制御エラーを算出してs７０４へ処理を移す。
【００３３】
s７０４において、CPU１０１は、制御エラーは所定範囲内かどうかを判断し、範囲内であればs７０５へ処理を移し、範囲内でなければs７０６へ処理を移す。s７０５において、CPU１０１はサーボ安定フラグをセットしてs７０７へ処理を移す。s７０６において、CPU１０１はサーボ安定フラグをクリアしてs７０７へ処理を移す。s７０７において、CPU１０１は、制御エラーから、補償に必要な制御信号を算出してs７０８へ処理を移す。s７０８において、CPU１０１は、制御信号出力部１０４がモータードライバ１０５に対してリニアモーター１０６を駆動させるために出力させたい制御信号を更新して処理を終える。s７０９において、CPU１０１は、制御信号出力部１０４がモータードライバ１０５に対してリニアモーター１０６を駆動させるために出力させたい制御信号を非更新として処理を終える。
【００３４】
以上のように、最小ピッチのインクリメンタル信号を用いて位置制御をかけ、サーボが安定になった後、ピッチの異なるインクリメンタル信号に切り替える前に、インクリメンタル位置エンコード処理を一旦止める構成とした。それにより、制御対象が動いていないにもかかわらず、動いたような位置情報が出力されることで、逆に誤って位置制御をかけてしまい静止状態が不安定になることが防止できる効果がある。
【００３５】
（実施例２）
次に実施例２を説明する。ここでは、最小ピッチから、異なるピッチのインクリメンタル信号へ切り替えている間は、個別のピッチ用の位置エンコード演算に切り替えてから、ピッチを切り替える例を述べる。例えば、レンズ鏡筒において、フォーカスレンズ位置制御、ズームレンズ位置制御、防振レンズ位置制御など、複数の位置制御を行う必要があるので、インクリメンタル位置エンコード処理も複数系統の並行処理が可能な構成とされることがある。そこで、リニアモーターが１個しか搭載されない場合は、余剰の２番、３番系統のインクリメンタル位置エンコード処理を組み合わせることができる。すなわち、実施例２では、複数の位置情報生成手段を備え、エンコーダのピッチ切替え制御と同期して、ピッチごとに決められた個別の位置情報生成手段へ切り替える。
【００３６】
図８はCPU１０１のピッチ切替え制御とエンコード処理切替えのフローチャートである。図８、及び実施例１の説明と同じ図１、図３、図４、図５、図７を用いて説明する。図８のs８０１において、CPU１０１は、図１の制御信号出力部１０４に、インクリメンタル信号のピッチ設定を図４（A）のような最小ピッチとする制御信号を出力するように命令する。そして、インクリメンタル位置エンコード処理の１番の許可フラグをセット、２番と３番の許可フラグをクリアする。インクリメンタル位置エンコード処理の１番、２番、３番とは、図３のフローチャートが独立で３個処理されているイメージである。その後、CPU１０１は１番のインクリメンタル位置エンコードの上位桁を初期化し、サーボ目標位置を１番のインクリメンタル位置エンコードの現在値に設定し、サーボＯＮフラグをセットしてs８０２へ処理を移す。これにより、リニアエンコーダ１０７からは最小ピッチのインクリメンタル信号が出力され、CPU１０１は図３のフローチャートに従って１番のインクリメンタル位置エンコード処理を行う。また、CPU１０１は図７のフローチャートに従って目標位置に留まろうとする位置制御をかける。
【００３７】
s８０２において、CPU１０１はサーボ安定フラグがセットされているかどうかを判断し、セットされていればs８０３へ処理を移し、セットされていなければs８０２へ処理を移す。s８０３において、CPU１０１は図４（A）の４０１のような最小ピッチの逆正接関数値をRAM１０３へ保存し、サーボＯＮフラグをクリアする。その後、CPU１０１は１番のインクリメンタル位置エンコード処理の許可フラグをクリアしてから、制御信号出力部１０４に、インクリメンタル信号のピッチ設定を中間ピッチとする制御信号を出力するように命令する。そして、切替タイマーカウントを開始してs８０４へ処理を移す。これにより、リニアエンコーダ１０７からは中間ピッチのインクリメンタル信号が出力されるが、CPU１０１による１番のインクリメンタル位置エンコード処理は行われない。したがって、１番のインクリメンタル位置エンコード処理からは、制御対象が動いていないにもかかわらず、動いたような位置情報は出力されない。
【００３８】
s８０４において、CPU１０１は切替タイマーが所定カウント経過しているかどうかを判断し、カウント経過していればs８０５へ処理を移し、経過していなければs８０４へ処理を移す。s８０５において、２番のインクリメンタル位置エンコード処理の許可フラグをセットし、サーボ目標位置を２番のインクリメンタル位置エンコードの現在値に設定し、サーボＯＮフラグをセットしてs８０６へ処理を移す。これにより、リニアエンコーダ１０７からは中間ピッチのインクリメンタル信号が出力され、CPU１０１は図３のフローチャートに従って２番のインクリメンタル位置エンコード処理を行う。CPU１０１は、ここでサーボ目標値を２番のインクリメンタル位置エンコード処理の現在値としているので、静止した状態で最小ピッチから中間ピッチに乗り換えて、図７のフローチャートに従って目標位置に留まろうとする位置制御をかけ続けられる。
【００３９】
s８０６おいて、CPU１０１はサーボ安定フラグがセットされているかどうかを判断し、セットされていればs８０７へ処理を移し、セットされていなければs８０６へ処理を移す。s８０７において、CPU１０１は図４（B）の４０２のような中間ピッチの逆正接関数値をRAM１０３へ保存し、サーボＯＮフラグをクリアする。その後、CPU１０１は２番のインクリメンタル位置エンコード処理の許可フラグをクリアしてから、制御信号出力部１０４に、インクリメンタル信号のピッチ設定を最大ピッチとする制御信号を出力するように命令し、切替タイマーカウントを開始してs８０８へ処理を移す。
【００４０】
s８０８において、CPU１０１は、切替タイマーが所定カウント経過しているかどうかを判断し、カウント経過していればs８０９へ処理を移し、経過していなければs８０８へ処理を移す。s８０９において、３番のインクリメンタル位置エンコード処理の許可フラグをセットし、サーボ目標位置を３番のインクリメンタル位置エンコードの現在値に設定し、サーボＯＮフラグをセットしてs８１０へ処理を移す。これにより、リニアエンコーダ１０７からは最大ピッチのインクリメンタル信号が出力され、CPU１０１は図３のフローチャートに従って３番のインクリメンタル位置エンコード処理を行う。
【００４１】
CPU１０１は、ここでサーボ目標値を３番のインクリメンタル位置エンコード処理の現在値としているので、静止した状態で中間ピッチから最大ピッチに乗り換えて、図７のフローチャートに従って目標位置に留まろうとする位置制御をかけ続けられる。s８１０おいて、CPU１０１はサーボ安定フラグがセットされているかどうかを判断し、セットされていればs８１１へ処理を移し、セットされていなければs８１０へ処理を移す。s８１１において、CPU１０１は図４（C）の４０３のような最大ピッチの逆正接関数値をRAM１０３へ保存し、サーボＯＮフラグをクリアする。その後、CPU１０１は３番のインクリメンタル位置エンコード処理の許可フラグをクリアしてから、制御信号出力部１０４に、インクリメンタル信号のピッチ設定を最小ピッチとする制御信号を出力するように命令し、切替タイマーカウントを開始してs８１２へ処理を移す。
【００４２】
s８１２において、CPU１０１は、切替タイマーが所定カウント経過しているかどうかを判断し、カウント経過していればs８１３へ処理を移し、経過していなければs８１２へ処理を移す。s８１３において、１番のインクリメンタル位置エンコード処理の許可フラグをセットし、サーボ目標位置を前回の最小ピッチ切換え時と同じ値に設定し、サーボＯＮフラグをセットしてs８１４へ処理を移す。これにより、リニアエンコーダ１０７からは再び最小ピッチのインクリメンタル信号が出力され、CPU１０１は図３のフローチャートに従って１番のインクリメンタル位置エンコード処理を行う。
【００４３】
前回の最小ピッチでも１番のインクリメンタル位置エンコード処理を行っているため、制御対象が動いていなければ、動いていないとする位置情報、制御対象が動いていれば、動いているとする位置情報で出力される。引き続きCPU１０１は図７のフローチャートに従って目標位置に留まろうとする位置制御をかける。s８１４において、CPU１０１は図５のフローチャートに従ってアブソリュート位置エンコード処理を行い、s８１５へ処理を移す。
【００４４】
以上のように、リニアモーター１０６が各ピッチの分解能で位置制御をかけられ静止した状態で前記ピッチの異なるインクリメンタル信号を取得できるので、絶対位置を正しく検出することができる。s８１５において、CPU１０１はサーボＯＮフラグをクリアし、１番のインクリメンタル位置エンコード処理の許可フラグをクリアする。それから、１番のインクリメンタル位置エンコード上位桁へs８１４で求められたアブソリュート位置エンコード結果を上書きする。その後、CPU１０１は再び１番のインクリメンタル位置エンコード処理の許可フラグをセットし、サーボ目標位置を１番のインクリメンタル位置エンコードの現在値に設定し、サーボＯＮフラグをセットして処理を終える。これにより、アブソリュート位置エンコード結果を引き継ぎつつ、その後は１番のインクリメンタル位置エンコード処理のみで位置情報を得ることができる。
【００４５】
以上のように、各ピッチのインクリメンタル信号を用いて位置制御をかけ、サーボが安定になった後、ピッチの異なるインクリメンタル信号に切り替える前に、予め決められた系統のインクリメンタル位置エンコード処理に切り替える構成とした。それにより、制御対象が動いていないにもかかわらず、動いたような位置情報が出力されることで、逆に誤って位置制御をかけてしまい静止状態が不安定になることが防止できる効果がある。
【符号の説明】
【００４６】
１００・・位置制御装置、１０１・・CPU（位置情報生成手段、位置制御手段）、１０２・・ＲＯＭ、１０３・・ＲＡＭ、１０４・・制御信号出力部、１０７・・リニアエンコーダ（エンコーダ）、１０８・・AD入力部
【図１】
2014146101.tif 000003
【図２】
2014146101.tif 000004
【図３】
2014146101.tif 000005
【図４】
2014146101.tif 000006
【図５】
2014146101.tif 000007
【図６】
2014146101.tif 000008
【図７】
2014146101.tif 000009
【図８】
2014146101.tif 000010