(57)【要約】【課題】レンズ群を高精度に位置制御することが可能な光学機器を提供する。【解決手段】レンズ群を光軸方向に駆動するＣＰＵ４１と、レンズ群の光軸方向の絶対的な位置を検出するＬＤＰＩ６９と、レンズ群の光軸方向の相対的な位置を検出するＧＭＲセンサ８７と、レンズ群の所定の位置に対応するＧＭＲセンサ８７の出力に相当する第１のデータと、レンズ群を停止させる目標位置に相当する第２のデータを記憶する記憶部３７を有し、ＣＰＵ４１は、レンズ群を駆動してＬＤＰＩ６９の出力が所定の変化を発生した時点でＧＭＲセンサ８７の出力を第３のデータとして記憶部３７に記憶すると共に、第２のデータを目標位置としてレンズ群の停止動作を実行して停止させ、レンズ群が停止した状態でのＧＭＲセンサ８７の出力を、記憶部３７に記憶された第１のデータと第２のデータと第３のデータに応じて補正する。【選択図】  図１
2015052736.tif 000002
【特許請求の範囲】
【請求項１】
光軸方向に移動可能なレンズ群と、
上記レンズ群を光軸方向に駆動する制御部と、
上記レンズ群の光軸方向の絶対的な位置を検出する第１の位置検出部と、
上記レンズ群の光軸方向の相対的な位置を検出する第２の位置検出部と、
上記レンズ群の所定の位置に対応する上記第２の位置検出部の出力に相当する第１のデータと、上記レンズ群を停止させる目標位置に相当する第２のデータを記憶する記憶部と、
を具備し、
上記制御部は、上記レンズ群を駆動して上記第１の位置検出部の出力が所定の変化を発生した時点で上記第２の位置検出部の出力を第３のデータとして上記記憶部に記憶すると共に、上記第２のデータを目標位置として上記レンズ群の停止動作を実行して停止させ、上記レンズ群が停止した状態での上記第２の位置検出部の出力を、上記記憶部に記憶された上記第１のデータと上記第２のデータと上記第３のデータに応じて補正することを特徴とする光学機器。
【請求項２】
上記制御部は、上記第１の位置検出部の出力が所定の変化を発生する際には、上記レンズ群を所定の一定速度で移動させることを特徴とする請求項１に記載の光学機器。
【請求項３】
上記制御部は、上記レンズ群の停止動作を行う際に、上記第１の位置検出部の出力が上記所定の変化を発生した時点から上記第２の位置検出部の出力が所定量変化した後で停止動作を開始することを特徴とする請求項１に記載の光学機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンズ群を有し、このレンズ群を光軸方向に駆動可能な光学機器に関する。
【背景技術】
【０００２】
撮影レンズ等を有する光学機器において、レンズ群の位置制御はカム筒等に代えてレンズ群をアクチュエータによって制御することが提案されている。例えば、特許文献１には、レンズ群の位置制御を行うために、１つのレンズ群に対して複数のフォトセンサを設け、これらフォトセンサの出力に基づいて、レンズ群の特定の位置を判定することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２８６２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の特許文献１は、複数のフォトセンサによりレンズ群の位置を検出することができる。しかし、位置検出は、フォトセンサとして使用するフォトインタラプタ（以下、「ＰＩ」と称す）の遮光板とＰＩの取り付け位置の関係や、また温度や経時変化といったメカ的要因によりずれ、またＰＩ信号検出の信号処理の遅延、ＰＩの受光感度変化によるずれといった電気的要因によってずれてしまう。このため、レンズ群の位置制御が低下してしまう。
【０００５】
本発明は、このような事情を鑑みてなされたものであり、レンズ群を高精度に位置制御することが可能な光学機器を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため第１の発明に係る光学機器は、光軸方向に移動可能なレンズ群と、上記レンズ群を光軸方向に駆動する制御部と、上記レンズ群の光軸方向の絶対的な位置を検出する第１の位置検出部と、上記レンズ群の光軸方向の相対的な位置を検出する第２の位置検出部と、上記レンズ群の所定の位置に対応する上記第２の位置検出部の出力に相当する第１のデータと、上記レンズ群を停止させる目標位置に相当する第２のデータを記憶する記憶部と、を具備し、上記制御部は、上記レンズ群を駆動して上記第１の位置検出部の出力が所定の変化を発生した時点で上記第２の位置検出部の出力を第３のデータとして上記記憶部に記憶すると共に、上記第２のデータを目標位置として上記レンズ群の停止動作を実行して停止させ、上記レンズ群が停止した状態での上記第２の位置検出部の出力を、上記記憶部に記憶された上記第１のデータと上記第２のデータと上記第３のデータに応じて補正する。
【０００７】
第２の発明に係る光学機器は、上記第１の発明において、上記制御部は、上記第１の位置検出部の出力が所定の変化を発生する際には、上記レンズ群を所定の一定速度で移動させ。
【０００８】
第３の発明に係る光学機器は、上記第１の発明において、上記制御部は、上記レンズ群の停止動作を行う際に、上記第１の位置検出部の出力が上記所定の変化を発生した時点から上記第２の位置検出部の出力が所定量変化した後で停止動作を開始する。
【発明の効果】
【０００９】
本発明によれば、レンズ群を高精度に位置制御することが可能な光学機器を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係るカメラの構成を示すブロック図である。
【図２】本発明の一実施形態に係るカメラの主として電気的構成を示すブロック図である。
【図３】本発明の一実施形態に係るカメラのフィードバック制御を説明するブロック図である。
【図４】本発明の一実施形態に係るカメラにおいて、フォーカスレンズＰＩ（ＬＤＰＩ）と、ＧＭＲ（Giant Magneto-Resistance）のピッチとの関係を示す図である。
【図５】本発明の一実施形態に係るカメラにおいて、ＧＭＲセンサの構造と出力を示す図である。
【図６】本発明の一実施形態に係るカメラにおいて、初期化駆動の制御のＬＤＰＩの出力変化を示すグラフである。
【図７】本発明の一実施形態に係るカメラにおいて、初期化駆動の概要を示す図である。
【図８】本発明の一実施形態に係るカメラにおいて、フォーカスレンズの初期位置がＰＩ区間０〜２にある場合の、初期化駆動の動作を示す図である。
【図９】本発明の一実施形態に係るカメラにおいて、フォーカスレンズの初期位置がＰＩ区間３にある場合の、初期化駆動の動作を示す図である。
【図１０】本発明の一実施形態に係るカメラにおいて、フォーカスレンズの初期位置が区間０〜３で、かつフォーカスレンズＰＩの近くにフォーカスレンズがある場合の、初期化駆動の動作を示す図である。
【図１１】本発明の一実施形態に係るカメラにおいて、初期化駆動として台形駆動を行う場合と、三角駆動を行う場合の速度変化を示すグラフである。
【図１２】本発明の一実施形態に係るカメラにおいて、初期化駆動を行った際の調整値による初期位置の更新を説明する図である。
【図１３】本発明の一実施形態に係るカメラにおいて、駆動速度およびフォーカスレンズ位置の時間的変化を示すグラフである。
【図１４】本発明の一実施形態に係るカメラにおいて、初期化駆動時のフォーカスレンズ位置ズレの調整を説明する図である。
【図１５】本発明の一実施形態に係るカメラにおいて、初期化駆動の動作を示すフローチャートである。
【図１６】本発明の一実施形態に係るカメラにおいて、ＬＤＰＩ状態判断の動作を示すフローチャートである。
【図１７】本発明の一実施形態に係るカメラにおいて、ＰＩ区間０~２の初期化駆動の動作を示すフローチャートである。
【図１８】本発明の一実施形態に係るカメラにおいて、ＰＩ区間３の初期化駆動の動作を示すフローチャートである。
【図１９】本発明の一実施形態に係るカメラにおいて、初期目標位置駆動の動作を示すフローチャートである。
【図２０】本発明の一実施形態に係るカメラにおいて、現在位置更新処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面に従って本発明を適用したカメラを用いて好ましい一実施形態について説明する。図１は、本発明の一実施形態に係るカメラの構成を示すブロック図であり、図２は、このカメラにおける電気的構成を示すブロック図である。このカメラは、カメラ本体２００と、このカメラ本体２００に対して装着自在な交換レンズ１００から構成される。しかし、レンズ鏡筒とカメラ本体を一体に構成しても勿論かまわない。
【００１２】
交換レンズ１００内には、レンズ１１ａ〜１１ｃからなる撮影レンズ１１を有する。撮影レンズ１１によって被写体像が形成される。このうち、フォーカスレンズ１１ｂは焦点調節用のレンズであり、フォーカスレンズ駆動機構２５によって光軸方向に移動可能である。フォーカスレンズ駆動機構２５は、フォーカスレンズ用アクチュエータ（後述するＬＤモータ７３）とフォーカスレンズ用ドライブ回路を有している。したがって、フォーカスレンズ１１ｂは、撮影レンズを含むレンズ鏡筒内に設けられた光軸方向に移動可能な焦点調節レンズとしての機能を果たす。また、レンズ１１ａ〜１１ｃの一部は、焦点距離を変化させるためのズームレンズである。したがって、交換レンズ１００内にはズームレンズ群が設けられている。
【００１３】
またフォーカスレンズ位置検出部２７は、後述するように基準位置を検出するための２つのフォーカスレンズフォトインタラプタ（以下、「ＬＤＰＩ」と称す）６９と、高分解能の相対位置を検出するためのＧＭＲ（Giant Magneto-Resistance）センサ８７を有している（図２参照）。ＬＤＰＩ６９は、レンズ群の光軸方向の絶対的な位置を検出する第１の位置検出部として機能し、ＧＭＲセンサ８７は、レンズ群の光軸方向の相対的な位置を検出する第２の位置検出部として機能する。
【００１４】
ＬＤＰＩ６９は、フォーカスレンズ１１ｂが基準位置に達すると検出信号を制御部であるＣＰＵ４１に出力する。なお、本実施形態においては、フォーカスレンズ１１ｂの位置検出は、ＬＤＰＩ９１によって検出された基準位置を基準に、ＧＭＲセンサ８７によって検出された相対位置によって行う。
【００１５】
レンズ１１ａと１１ｂの間には、絞り１３が配置されている。絞り１３は、絞り駆動機構２１によって開口径が変化し、撮影レンズ１１を通過する被写体光量を変化させる。絞り駆動機構２１は、絞り用アクチュエータと絞り用ドライバ回路等を有する。アクチュエータとしては、ステッピングモータを使用し、マイクロステップ駆動によって細かい制御を行う。なお、絞り１３は、レンズ１１ａと１１ｂの間以外に配置しても勿論かまわない。
【００１６】
絞り基準位置検出部２３は、絞りの開口径が基準位置に達すると、検出信号をＣＰＵ４１に出力する。絞り位置は、基準位置検出部２３によって基準位置を取得し、相対的な位置検出によって絞り位置を管理する。相対的な位置検出はステッピングモータへの印加パルス数によって検出し、基準位置の検出はフォトインタラプタ（ＰＩ）によって検出する。
【００１７】
交換レンズ１００の外周には、距離環５１が配置されている。距離環５１は、交換レンズ１００の外周を回動自在であると共に、撮影レンズ１１の光軸方向の所定範囲内で、スライド自在である。この距離環５１は、被写体側にスライドすると、非ＲＦ（非レンジフォーカス）（ＭＦ（マニュアルフォーカス）ともいう）位置に設定され、本体側にスライドすると、ＲＦ（レンジフォーカス）位置に設定される。距離環５１のスライドにより、ＲＦモードと非ＲＦモード（ＭＦモード）の切り換えを行う。このモードの検出は、ＲＦモード検出部３３が行う。また、距離環５１は、至近と無限遠の間で回動自在に構成されている。
【００１８】
非ＲＦモードは、ユーザが距離環５１の回転方向および回転量に応じてピント合わせを行うモードであり、一方ＲＦモードは距離環５１によって指定された距離にピントを合わせるモードである。すなわち、非ＲＦモードもＭＦモードもマニュアルフォーカスであるが、非ＲＦモードでは距離環５１は相対的な距離指定を行うのに対して、ＲＦモードでは絶対距離を指定する点で相違する。
【００１９】
距離環５１のスライドによってＭＦモードが設定されると、距離環５１の回転により、距離環５１の内側にある遮光羽根が一体となって回転する。この遮光羽根の回転をフォトインタラプタ（ＰＩ）によってカウントし、このカウント値に応じてフォーカスレンズ１１ｂを駆動する。なお、距離環５１の回転方向および回転量は、フォトインタラプタ以外のセンサによって検出するようにしても勿論かまわない。
【００２０】
距離環５１のスライドによってＲＦモードが設定され、距離環５１が回転されると、その回転位置をＲＦ位置検出部３１が検出する。ＲＦ位置検出部３１は、距離環５１の回転位置の絶対位置を検出する。フォーカスレンズ駆動機構２５は、ＣＰＵ４１からの制御信号に従って、距離環５１の回転位置に応じた撮影距離に、フォーカスレンズ１１ｂを駆動する。
【００２１】
ＲＦモード検出部３３は、ＲＦ／ＭＦモード検出スイッチ８３（図２参照）の出力に基づいて、距離環５１が非ＲＦ位置（ＭＦ位置）、ＲＦ位置のいずれかに設定されているかを検出する。
【００２２】
ＭＦ位置検出部３５は、距離環５１が非ＲＦ位置（ＭＦ位置）に設定されている際に、距離環５１の回転方向および回転量を検出する。このＭＦ位置検出部３５の検出結果に基づいて、マニュアルフォーカスを行う。
【００２３】
交換レンズ１００の外周であって、距離環５１より本体側には、ズーム環５２が外周を回動自在に配置されている。ユーザが手動でズーム環５２を回転させるとズーミングを行うことができる。
【００２４】
ズーム位置検出部３４は、ズーム環５２の回転位置の絶対値を検出し、ＣＰＵ４１に出力する。ズーム位置検出部３４は、リニアエンコーダＺＭ位置検出部８２（図２参照）を有しており、このリニアエンコーダ位置検出部８２の出力はＣＰＵ４１内のＡ／Ｄ変換器４４によってＡＤ変換され、このＡＤ変換値は焦点距離を表す。
【００２５】
記憶部３７は、フラッシュメモリ３７等の書き換え可能な不揮発メモリ等を有し、ＣＰＵ４１用のプログラムや、交換レンズの光学データ等の各種情報や、各種調整値や各種パラメータ等を記憶する。記憶部３７は、レンズ群の所定の位置に対応する第２の位置検出部（ＧＭＲセンサ８７）の出力に相当する第１のデータと、レンズ群を停止させる目標位置（例えば、後述するＡｄｊ＿ｒｅｔ＿ｐｌｓ参照）に相当する第２のデータを記憶する記憶部として機能する。
【００２６】
制御部であるＣＰＵ４１は、前述した記憶部３７に記憶されているプログラムに従い、カメラ本体２００からの制御命令に応じて、交換レンズ１００内の制御を行う。ＣＰＵ４１は、絞り位置検出部２３、フォーカスレンズ基準位置検出部２７、ＲＦ位置検出部３１、ＲＦモード検出部３３、およびＭＦ位置検出部３５からの検出信号を入力し、またフォーカスレンズ駆動機構２５および絞り駆動機構２１に制御信号を出力する。
【００２７】
また、ＣＰＵ４１は、レンズ群（例えば、フォーカスレンズ１１ｂ）を光軸方向に駆動する制御部として機能する。またＣＰＵ４１は、フォーカスレンズ位置検出部２７中の絶対的な距離を検出するＬＤＰＩ６９と、相対的な位置を検出するＧＭＲセンサ８７の出力を用いて、初期化駆動した際に、初期化駆動後にＧＭＲセンサ８７によって検出された相対的な位置を、絶対的な位置に関連付けるようにしている（例えば、図１２、図１９、図２０参照）。
【００２８】
カメラ本体２００内には、撮像素子２０１が配置されている。この撮像素子２０１は、撮影レンズ１１の結像位置付近に配置されており、撮影レンズ１１に形成される被写体像を光電変換し、画像データを出力する。また、カメラ本体２００内にも制御用のＣＰＵが設けられており、交換レンズ１００内のＣＰＵ４１と通信を行う。
【００２９】
次に、図２を用いて、電気的構成の詳細について説明する。ＣＰＵ４１は、前述したように、カメラ本体２００と通信が可能である。また、ＣＰＵ４１は、モータドライバ７１に接続されており、このモータドライバ７１は、ＬＤＰＩ６９、ＬＤＭＴ７３、ＡＶＭＴ７５、およびＡＶＰＩ７７の駆動を行う。
【００３０】
ＬＤＰＩ６９は、フォーカスレンズ１１ｂの基準位置検出用のフォトインタラプタであり、このＬＤＰＩ６９の出力はＬＤＰＩ二値化回路６７に接続されている。ＬＤＰＩ６９は、２つ設けられており、３つの位置を基準絶対位置として検出する。この３つの基準絶対位置によって、４つのＰＩ区間に分け、フォーカスレンズ１１ｂがいずれのＰＩ区間に存在するかを検出する。詳しくは、図４を用いて後述する。
【００３１】
ＧＭＲセンサ８７は、巨大磁気抵抗効果を利用したセンサであり、ＧＭＲスケール８５にＳＮの磁極を交互に並べたスケールに対する位置を高精度に検出する。本実施形態においては、フォーカスレンズ１１ｂと共に移動する鏡枠にＧＭＲスケール８５を固定し、ＧＭＲセンサ８７は交換レンズ１００内の固定部材に配置されている。このＧＭＲセンサ８７は、フォーカスレンズ１１ｂの相対的な位置を検出し、この位置に応じたアナログ信号をモータドライバ７１内のＡ／Ｄ変換器７２に出力する。なお、相対的な位置検出部としては、これに限らず、例えば、ホール素子等であってもよい。詳しくは図５を用いて後述する。
【００３２】
ＬＤＭＴ７３は、ＬＤモータ（レンズ駆動モータ）であり、前述のフォーカスレンズ駆動機構２５内のフォーカス用アクチュエータとして機能する。ＬＤモータとしては、本実施形態においては、ＶＣＭ（ボイスコイルモータ）を採用するが、他のモータ、例えば一般的な超音波モータやＤＣモータ等を用いても勿論かまわない。ＡＶＭＴ７５は、絞りモータであり、前述の絞り駆動機構２１内の絞り用アクチュエータとして機能する。
【００３３】
ＡＶＰＩ７７は、絞り１３の基準位置検出用のフォトインタラプタであり、このＡＶＰＩ７７の出力はＡＶＰＩ二値化回路７９に接続されている。ＡＶＰＩ７７およびＡＶＰＩ二値化回路７９は、前述の絞り基準位置検出部２３に対応する。
【００３４】
ＭＦＰＩドライバ６５は、距離環５１がＭＦ位置にスライドされた場合に、距離環５１の回動を検出するためのＭＦＰＩ６３のドライバである。ＭＦＰＩ６３は、遮光羽根の回動方向に沿って２箇所、設けられている。このＭＦＰＩ６３の出力は、ＭＦＰＩ二値化回路６１に接続されており、ＭＦＰＩ二値化回路６１によって二値化される。ＭＦＰＩ二値化回路６１、ＭＦＰＩ６３、ＭＦＰＩドライバ６５は、前述のＭＦ位置検出部３５に対応する。
【００３５】
リニアエンコーダＲＦ位置検出部８１は、距離環５１がＲＦ位置にスライドされた場合に、距離環５１の回転方向における絶対値を検出するためのリニアエンコーダである。リニアエンコーダＲＦ位置検出部８１は、距離環５１の回動方向に沿って設けられており、距離環５１の回動方向での絶対位置に応じてアナログ信号を出力する。ＣＰＵ４１内には、Ａ／Ｄ変換器４３が設けられており、リニアエンコーダＲＦ位置検出部８１からのアナログ信号をデジタル信号に変換する。Ａ／Ｄ変換器４３によるＡＤ変換値は、ユーザによって設定される被写体距離（絶対距離）を表す。
【００３６】
リニアエンコーダＺＭ位置検出部８２は、ズーム環５２の回転方向における絶対値を検出するためのエンコーダである。リニアエンコーダＺＭ位置検出部８２は、ズーム環５２の回動方向に沿って設けられており、ズーム環５２の回転方向での絶対位置に応じてアナログ信号を出力する。ＣＰＵ４１内には、Ａ／Ｄ変換器４４が設けられており、リニアエンコーダＺＭ位置検出部８２からのアナログ信号をデジタル信号に変換する。Ａ／Ｄ変換器４４によるＡＤ変換値は、ユーザによって設定される焦点距離を表す。
【００３７】
ＲＦ／ＭＦモード検出スイッチ（ＳＷ）８３は、距離環５１がＲＦモードに設定されているか、ＭＦモード（非ＲＦモード）に設定されているかを検出するためのスイッチである。このＲＦ／ＭＦモード検出ＳＷ８３は、距離環５１の光軸方向の位置を検出し、ＲＦモード設定時またはＭＦモード設定時にオンまたはオフとなり、このオンオフ状態はＣＰＵ４１に出力される。
【００３８】
次に、図３を用いて、フォーカスレンズ駆動モータＬＤＭＴ７３の駆動制御について説明する。本実施形態においては、ＬＤＭＴ７３はフィードバック制御であり、図３はフィードバック制御を行う部分だけを記載したブロック図である。また、ＬＤＭＴ７３として、ＶＣＭアクチュエータを使用する例について説明する。なお、説明の都合上、ＶＣＭ７３と表記する。
【００３９】
図３において、ＣＰＵ４１内には、差分器４１ａ、コントローラ４１ｂ、ドライバコントローラ４１ｃが設けられている。これらは、ハードウエア、もしくはソフトウエア、もしくは両者の混在で構成してもよい。目標位置は、記憶部３７に記憶されているか又はＣＰＵ４１の内部で演算されて求められたものであり、ＶＣＭ７３によって駆動されるフォーカスレンズ１１ｂの停止目標位置である。モータドライバ７１内には、ＰＷＭドライバ７１ａとＡ／Ｄ変換器７２が設けられている。モータドライバ７１は、ＣＰＵ４１と一体的に構成されていてもよい。
【００４０】
ＧＭＲセンサ８７によって検出されたフォーカスレンズ１１ｂの現在位置と、記憶部３７に記憶されているフォーカスレンズ１１ｂの目標位置は、差分器４１ａにおいて差分演算がなされる。この差分値（偏差量）は、コントローラ４１ｂに出力され、コントローラ４１ｂは、ＤＳＰ（デジタル信号処理）部を有し、差分器４１ａからの偏差量に応じて、ゲイン乗算処理やフィルタ処理を行い、ＶＣＭ７３に印加する駆動デューティを算出する。本実施形態においては、パルス幅変調（ＰＷＭ）によって、ＶＣＭ７３の駆動制御を行っており、コントローラ４１ｂにおいては、パルス波のデューティ比を算出する。
【００４１】
コントローラ４１ｂにおいて算出された駆動デューティはドライバコントローラ４１ｃに出力される。この入力した駆動デューティに従ってＰＷＭドライバ７１ａのドライバ設定値に変換する。この変換されたドライバ設定値は、モータドライバ７１内のＰＷＭドライバ７１ａに出力され、ＰＷＭドライバ７１ａは、ＶＣＭ７３に駆動電圧を印加する。
【００４２】
ＰＷＭドライバ７１ａがＰＷＭ駆動デューティを一定周期で変更することによって、ＶＣＭ７３の加速度をリアルタイムで変更し、ＶＣＭ７３を補正量に追従駆動させることができる。また、差分器４１ａからの偏差量が大きい時は、より速い加速度が発生し、高出力となり、短時間で偏差量が０になるように制御される。
【００４３】
ＶＣＭ７３のフィードバック制御は、一定サンプリング周期によって周期的に処理がなされる（サンプリング周期としては、例えば、１２ＫＨｚ）。周期処理により、新しい目標位置及び現在位置の更新を行い、目標位置と現在位置の差分が０になるように、コントローラ部４１ｂで演算を実施し、ドライバ出力を算出する。
【００４４】
次に、図４を用いて、ＬＤＰＩ６９によって検出されるＰＩ区間と、ＧＭＲセンサ８７によって検出されるピッチの関係について説明する。図４において、最上段はフォーカスレンズ１１ｂの位置を示し、図の左側が無限遠側であり、右側が至近側である。前述したように、ＬＤＰＩ６９は２つ設けられており、その１つがＬＤＰＩ１であり、他の１つがＬＤＰＩ２である。ＬＤＰＩ６９は、ＬＤＰＩハネ（不図示）によって遮光された場合にはＬ出力し、また開口された場合にはＨ出力する。それぞれ、フォーカスレンズ１１ｂの位置に応じて、ＬＤＰＩ６９は、Ｈ出力とＬ出力を出力するので、図４に示すように、ＰＩ区間０〜区間３の全部で４つの区間を検出する。ＬＤＰＩ６９の出力が切り換り換わる位置がＰＩ区間の境界となっている。
【００４５】
図４の最下段に、ＧＭＲセンサ８７のセンサ出力であるピッチを示す。本実施形態においては、ＧＭＲセンサ８７のピッチは、０〜４１の４２出力である。ＧＭＲセンサ８７のピッチ０〜４１と、ＬＤＰＩ６９によって検出されるＰＩ区間０〜３は、図４に示すような関係にある。
【００４６】
次に、図５を用いて、ＧＭＲセンサ８７によるフォーカスレンズ１１ｂの位置の検出について説明する。図５（ａ）に示すように、フォーカスレンズ１１ｂはレンズ保持枠２５ｐに保持されており、レンズ保持枠２５ｐは摺動軸２５ｑによって駆動方向に沿って摺動自在である。また、ＧＭＲスケール８５はレンズ保持枠２５ｐと一体に設けられており、また、ＧＭＲスケール８５にＳ極とＮ極の磁極が交互に、所定の距離間隔（例えば、Ｓ極から次のＳ極までの距離が２６４μｍ）で配置されている。
【００４７】
本実施形態においては、Ｓ→Ｎ→Ｓの１周期を１ピッチ（ｐｉｔｃｈ）と呼ぶ。また、ＧＭＲスケール８５上での１μｍを１Ｐｌｓと定義すると、例えば、１周期（１ピッチ）が２６４μｍであれば、１ピッチ＝２６４Ｐｌｓとなる。
【００４８】
また、Ｓ極からは磁力８５Ｓが、Ｎ極からは磁力８５Ｎが発生する。ＧＭＲセンサ８７とＧＭＲスケール８５は、調整された隙間（ギャップ）量にて取り付けられており、ＧＭＲセンサ８７は、図５（ｂ）に示すように、ＧＭＲスケール８５から発生する磁力８５Ｓ、８５Ｎに応じた信号ＧＭＲ−Ａ、ＧＭＲ−Ｂを出力する。この信号ＧＭＲ−Ａ、ＧＭＲ−Ｂは、９０度位相がずれたＳｉｎ波とＣｏｓ波となっている。
【００４９】
前述したように、フォーカスレンズ１１ｂのレンズ保持枠２５ｐにはＧＭＲスケール８５が取り付けられている。このため、フォーカスレンズ１１ｂがＶＣＭ７３によって駆動され移動すると、ＧＭＲスケール８５も移動し、この移動に応じてＧＭＲセンサ８７上での磁力が変化する。この磁力の変化に応じてＧＭＲセンサ８７からの信号ＧＭＲ−Ａ、ＧＭＲ−Ｂの出力が変化する（図５（ｂ）参照）。
【００５０】
ＧＭＲ−Ａ信号とＧＭＲ−Ｂ信号の所定値を閾値としてＨ（閾値以上）とＬ（閾値以下）の組合せにより、図５（ｃ）に示すように、４つの区間に分類することができる。１ピッチの中を４分割した各区間をステイト（Ｓｔａｔｅ）と呼ぶ。例えば、１ピッチ（Ｐｉｔｃｈ）を２６４Ｐｌｓとすると、１ステイトは６６Ｐｌｓとなる。
【００５１】
図５（ｄ）は、信号ＧＭＲのＡ相とＢ相をリサージュ図に表したものである。Ａ相とＢ相の関係により、１ステイトを６６分割し、１Ｐｌｓとし、またタンジェントテーブルを有する。すなわち、タンジェントテーブルには、Ａ相とＢ相のそれぞれの値に応じたＰｌｓの値の関係を示す。フォーカスレンズ１１ｂの位置検出の最小分解能は１Ｐｌｓとなる。したがって、本実施形態においては、下記の関係を有する。
１ピッチ（Ｐｉｔｃｈ）＝４ステイト（Ｓｔａｔｅ）＝２６４Ｐｌｓ
１ステイト（Ｓｔａｔｅ）＝６６Ｐｌｓ
【００５２】
なお、２６４Ｐｌｓは、ＧＭＲスケール８５の磁気スケールの幅に応じた例示であり、１Ｐｌｓの分解能を１μｍ以下にする等により、分割能を向上させてもよい。
【００５３】
次に、初期化駆動の制御の概要について説明する。ここで、初期化駆動は、カメラに電源投入時のレンズ群の初期位置への駆動を意味し、またカメラを落下した場合の強い衝撃等の外乱により、サーボが外れたときのレンズ群の復帰動作においても初期化動作を行う。初期化駆動により、所定の位置へレンズ群を駆動し、停止した位置を調整値として記憶されるＰｌｓ数を基準位置として管理する。基準位置の確定後の動作にあたって、ＧＭＲセンサ８７の検知結果に基づいて、相対位置で位置管理を行う。
【００５４】
この初期化駆動は、フォーカスレンズ１１ｂが移動することにより、ＬＤＰＩ６９の出力レベルが変化した位置（すなわち、Ｈレベル→Ｌレベル、またはＬレベル→Ｈレベルに変化した位置）から実際にフォーカスレンズ１１ｂが停止した位置までをＧＭＲセンサ８７によって計測位置を基準位置としている。このＧＭＲセンサ８７による計測に基づいて検出された基準位置Ｐｌｓが調整値として記憶部３７され基準位置として管理される。
【００５５】
しかし、ＬＤＰＩ６９の出力レベル変化が生ずる位置がずれてしまうことがある。例えば、図６において、横軸はフォーカスレンズ１１ｂを初期化駆動のために駆動した際の時間変化を示し、縦軸は、ＬＤＰＩ６９の出力電圧を示す。図６の実線は理想的な変化を示しており、時刻ｔ１０において、ＨレベルからＬレベルに変化する。しかし、実際には、理想通りではなく、破線で示すように（図中では、３つの例を示す）、時刻ｔ１０−Δｔから時刻ｔ１０＋Δｔの範囲内でばらつき、この結果、ＬＤＰＩ６９の出力レベル変化が生ずる位置がずれてしまう。
【００５６】
図６に示すような位置ズレの要因としては、フォトインタラプタ（ＰＩ）の遮光板とＰＩの取り付け位置の関係が、温度や経時変化するといったメカ的要因があり、また、ＰＩ信号検出の信号処理の遅延や、ＰＩの受光感度の変化による電気的要因がある。このように、ＬＤＰＩ６９に位置ズレが生ずると基準位置がずれてしまい、このずれた位置を基準にフォーカスレンズ１１ｂの駆動を行うと、狙った位置に高精度でフォーカスレンズ１１ｂの位置制御を行うことができなくなる。そこで、本実施形態においては、下記に述べるにように、ＶＣＭ７３の初期化駆動（絶対値位置出し駆動）を行うことにより、常に正しく高精度に狙った位置（調整した位置）へ駆動するようにしている。
【００５７】
図７に、本実施形態における初期化駆動の概要を示す。ＬＤＰＩ６９は、２つのＰＩ、すなわち、ＬＤＰＩ１とＬＤＰＩ２がフォーカスレンズ１１ｂの移動経路中に配置されており、ＬＤＰＩ１とＬＤＰＩ２の出力レベルに応じて、機械的な無限遠端（メカ無限）から機械的な至近端（メカ至近）の間で４つのＰＩ区間に分けられる（図４参照）。
【００５８】
図７において、黒丸（図中、「●」で表わされる）は、電源投入時のフォーカスレンズ１１ｂの位置を示している。本実施形態においては、電源投入時にカメラ本体２００からレンズリセット動作コマンドが送信され、交換レンズ１００はレンズリセット動作コマンドの受信後、フォーカスレンズ１１ｂを初期位置へ駆動する。初期位置としては、３箇所用意されており（図中、Ｐｏｓ＿ｒｅｔ１〜Ｐｏｓ＿ｒｅｔ３から至近側に所定距離だけ離れた位置）、電源投入時のフォーカスレンズ１１ｂの位置によって、初期位置が異なる。
【００５９】
具体的には、フォーカスレンズ１１ｂが区間０〜２にある場合には至近側に駆動し、Ｐｏｓ＿ｒｅｔ１またはＰｏｓ＿ｒｅｔ２の位置を過った後、初期位置に達すると停止する。また、区間３にある場合には一旦無限遠側に駆動した後、Ｐｏｓ＿ｒｅｔ３の位置を過ると、至近側に駆動し、初期位置に達すると停止する。このように、本実施形態においては、最寄りの至近方向のＬＤＰＩの出力レベルの切り換わり位置に向けて駆動しているのは、駆動方向によって（すなわち、至近側駆動か、無限遠側駆動かによって）、ＰＩ信号のＨレベルとＬレベルの切換りを認識するタイミングがずれてしまうからである。調整方向と一致していれば、逆方向に駆動するようにしてもよい。また、両方向で調整値を記憶していれば、両方向でもよい。本実施形態においては、焦点距離調節用のレンズ（ズームレンズ群）がフォーカスレンズ１１ｂよりも無限遠側にあり、ズーム位置によって干渉する場合には、ズームレンズ群と干渉しないように、初期化駆動の際には、至近側に駆動している。
【００６０】
次に、図８ないし図１０を用いて、初期化駆動の動作例について説明する。初期化駆動の際には、大きく分けて次の３つの動作例がある。（１）電源投入時にフォーカスレンズ１１ｂが区間０〜２にある、（２）電源投入時フォーカスレンズ１１ｂが区間３にある、（３）電源投入時にフォーカスレンズ１１ｂが区間０〜３にあり、かつフォーカスレンズ１１ｂがＬＤＰＩ６９の近傍にある。
【００６１】
まず、図８を用いて、上記動作例（１）、すなわち、電源投入時に、フォーカスレンズ１１ｂが区間０〜２にある場合について説明する。図８に示す例は、フォーカスレンズ１１ｂが区間０にある場合であり、破線内で示した区間１、２にある場合でも同様の動作を行う。
【００６２】
まず、位置Ｐ１１付近にある場合には、予め記憶されている速度（Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］）に達するまで、ＶＣＭ７３が加速を行う。位置Ｐ１２に付近になると、速度Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］に達するので、一定速度で駆動される。さらに位置Ｐ１３では、ＬＤＰＩ１の切り換え（Ｈレベル→Ｌレベル）が検出される。位置Ｐｏｓ＿ｒｅｔ１（図４参照、区間２、３ではＰｏｓ＿ｒｅｔ２、Ｐｏｓ＿ｒｅｔ３）を検出したら、減速処理に移行する。ここでは減速プロファイルを作成し、初期化調整位置（Ａｄｊ＿ｒｅｔ１＿ｐｌｓ）を目標位置にして駆動する。減速プロファイルは、目標位置で停止するように、目標位置までのそれぞれの位置と、その位置における速度を表したテーブルである。モータドライブ７１は減速プロファイルに従ってＶＣＭ７３の駆動制御を行う。なお、速度制御の方法として、サンプル周期毎の移動量を小さくしていくことにより、速度＝移動量／時間（＝移動量／サンプル周期）の関係に基づき速度を制御してもよい。また、これに対応して、減速プロファイルは、サンプル周期毎の駆動パルス数の変更を示す演算式（テーブル）であってもよい。
【００６３】
位置Ｐ１４付近は、減速駆動する領域である。位置Ｐ１５付近では、整定（駆動）、すなわち、駆動電圧を印加し続けて停止状態を保持し、確実に停止するのを待つ。停止したら、現在位置更新によって、Ｐｏｓ＿ｒｅｔ１を検出するので位置がズレ、現在位置を補正する。ファームウエア内で管理しているＰｌｓを更新し、次のコマンドを受信するまでは、駆動させない。
【００６４】
次に、図９を用いて、上記動作例（２）、すなわち、電源投入時に、フォーカスレンズ１１ｂが区間３にある場合について説明する。動作例（１）では、まず最初に至近側に向けて駆動したが、動作例（２）では、位置Ｐ２１付近にある場合には、無限遠側に向けて、速度（Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］）に達するまで、ＶＣＭ７３が加速を行う。位置Ｐ２２では、ＬＤＰＩ１の切り換え（Ｈレベル→Ｌレベル）が検出される。位置Ｐｏｓ＿ｒｅｔ３（図４参照）を検出したら、減速処理に移行する。
【００６５】
フォーカスレンズ１１ｂが位置Ｐ２３付近にある場合に、駆動方向を逆転し（至近側に向けて駆動）、初期化調整位置（Ａｄｊ＿ｒｅｔ３＿ｐｌｓ）を目標位置にして再加速して駆動する。この再加速では、速度Ｒｅｔ＿ｖｅｌｏに到達しない。位置Ｐ２４付近で再びＬＤＰＩ１の切り換え（Ｈレベル→Ｌレベル）が検出され、位置Ｐ２５付近で減速する。速度Ｒｅｔ＿ｖｅｌｏに到達しないうちに、初期化調整位置（Ａｄｊ＿ｒｅｔ３＿ｐｌｓ）を目標位置にして減速を開始するので、図１１を用いて後述する三角駆動を行う。位置Ｐ２６付近では、整定、すなわち、停止状態を保持し、確実に停止するのを待つ。停止したら、現在位置更新によって、Ｐｏｓ＿ｒｅｔ３を検出するので位置がズレ、現在位置を補正する。ファームウエア内で管理しているｐｌｓ（ｐｌｓは、フォーカスレンズ１１ｂの絶対位置を示す）を更新し、次のコマンドを受信するまでは、駆動させない。
【００６６】
次に、図１０を用いて、上記動作例（３）、すなわち、電源投入時に、フォーカスレンズ１１ｂが区間０〜３にあり、かつフォーカスレンズ１１ｂがＬＤＰＩ６９の近傍にある場合について説明する。動作例（１）（２）においては、ＬＤＰＩの出力の変化を起こす際に、目標とする速度Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］に到達していた。言い換えると、フォーカスレンズ１１ｂが境界の位置（Ｐｏｓ＿ｒｅｔＸ（Ｘ：１〜３））に達する際には速度Ｒｅｂ＿ｖｅｌｏに到達できる程度に、ＰＩ区間の境界から離れた位置にあった。しかし、この動作例（３）は、フォーカスレンズ１１ｂが境界の位置に向けて加速しながら近づくが、境界に達する際には速度Ｒｅｂ＿ｖｅｌｏに未到達である。このように、動作例（３）は、フォーカスレンズ１１ｂがＰＩ区間の境界付近に近い位置にある場合である。
【００６７】
このため、動作例（３）では、ＰＩ区間の境界（Ｐｏｓ＿ｒｅｔＸ（Ｘ：１〜３））位置において、加減速プロファイルを演算し、初期化駆動位置（Ａｄｊ＿ｒｅｔＸ＿ｐｌｓ）Ｐｌｓを目標に、駆動時間が最短になるように三角駆動を行う（三角駆動については、図１１（ｂ）図参照）。駆動中の現在位置更新によって、Ｐｏｓ＿ｒｅｔ３を検出するので、位置がずれる。そこで、停止してから現在位置更新によって、補正する。
【００６８】
図１０において、フォーカスレンズ１１ｂが位置Ｐ３１から駆動を開始したとする。このとき、フォーカスレンズ１１ｂは速度Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］のを目指して加速する。位置Ｐ３２付近においては加速中であり、位置Ｐ３３付近において、ＬＤＰＩ６９の出力が変化する。さらに位置Ｐ３４付近において、最短駆動時間になるように三角駆動でフォーカスレンズ１１ｂを駆動する。位置Ｐ３４付近において、初期化調整位置（Ａｄｊ＿ｒｅｔ３＿ｐｌｓ）を目標位置にして減速駆動し、停止する。位置Ｐ３６付近において、整定、すなわち、停止状態を保持し、確実に停止するのを待つ。停止してから現在位置更新によって、補正する。このように、動作例（３）においては、速度Ｒｅｔ＿ｖｅｌｏに到達する前に減速駆動を行う。
【００６９】
次に、図１１を用いて、台形駆動と三角駆動について説明する。上述の動作例（１）（２）のように、フォーカスレンズ１１ｂの現在位置に対して、目標位置が十分遠い場合には、狙いの速度Ｒｅｔ＿ｖｅｌｏまで到達した後、減速駆動によって目標位置に到達することができる。この場合の駆動の軌跡の形状は、図１１（ａ）に示すように台形であることから、この駆動を台形駆動と呼ぶ。
【００７０】
これに対して、動作例（３）のように、目標位置が近い場合には、狙いの速度Ｒｅｔ＿ｖｅｌｏを目指して駆動すると、目標位置を通り過ぎてしまう。そこで、目標位置を目指し更に駆動時間が最短となるような駆動を行う。この場合の駆動の軌跡の形状は、図１１（ｂ）に示すように三角形であることから、この駆動を三角駆動と呼ぶ。
【００７１】
次に、図１２を用いて、初期化駆動と調整値によるｐｌｓ更新について説明する。初期化駆動の際には、フォーカスレンズ１１ｂの絶対的な初期位置が不明である（仮の初期位置をＲｅｔ＿ｔｅｍｐ＿ｐｌｓと表わす）。すなわち、電源の切断時にフォーカスレンズ１１ｂの位置が既知であっても、電源切断後にフォーカスレンズ１１ｂが移動する可能性がある。そのため、ＧＭＲセンサ８７から相対的な位置を検出することは可能であるが、フォーカスレンズ１１ｂの絶対的な位置は不明である。
【００７２】
そこで、初期化駆動後に、調整データを用いてｐｌｓ位置を更新確定する。図１２は、ＬＤＰＩ６９の出力変化に基づく区間０と区間１の境界位置Ｐｏｓ＿ｒｅｔ１（図７参照）での初期化駆動動作を時系列的に示す（時間ｔ０〜時間ｔ４）。なお、時間ｔ０〜ｔ４は、時系列を象徴した記号で、サンプリング時間とは関係ない。
【００７３】
前述したように、ＧＭＲセンサ８７は、０〜４１ピッチ、各ピッチが１〜４ステイトで、相対位置を検出する。図１２に示す例では、位置Ｐｏｓ＿ｒｅｔ１は、ピッチ１１の１ステイトにあり、この位置で、ＬＤＰＩがＨレベルからＬレベルに変化する。
【００７４】
今、時間ｔ０において、電源が投入されたとする。この時の現在位置ＰｌｓをＲｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｔ０とする。前述したように、フォーカスレンズ１１ｂの正確な絶対位置は分からないが、ＬＤＰＩ１およびＬＤＰＩ２の出力レベルから、ＰＩ区間を判断することはできる。図１２の例では、ＰＩ区間０と判定される。この現在位置に対して区間に対応する仮のＰｌｓ（前述したように、Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｔ０）の値を与える。
【００７５】
時間ｔ０において電源が投入され、ＶＣＭ７３によってフォーカスレンズ１１ｂが駆動開される。そして、目標速度Ｒｅｔ＿ｖｅｌｏに達するとこの目標速度で駆動を継続する。そして、駆動中にはＧＭＲセンサ８７の出力をサンプリング時間毎に検出して現在位置Ｐｌｓの更新を行う。ここで、駆動中に現在位置Ｐｌｓを更新する際には、サンプリングしてから現在位置Ｐｌｓが確定するまでに処理時間による遅延が発生するが、その間もフォーカスレンズ１１ｂは移動し続けているので、サンプリングして確定した現在位置Ｐｌｓとサンプリング時の位置Ｐｌｓにはずれが生ずる。また、制御部４１は、ＶＣＭ７３により目標位置に移動させるようにフィードバック制御を行うが、この目標位置と現在位置Ｐｌｓには後述するように（図１３）偏差によるずれがある。さらに、ＬＤＰＩは、受光／遮光を光電変換してアナログ信号を発生させているので、電気信号の応答によるずれが生ずる。また、駆動中はＧＭＲセンサ８７のピッチ、ステイトを検出しカウントし続けている。
【００７６】
時間ｔ１になると、ＬＤＰＩはＰＩ区間０から区間１に跨ぐタイミングとなる。このＬＤＰＩが変化したとき、現在位置ＰｌｓをＲｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗとする。この現在位置Ｐｌｓ（Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗ）は、上述した絶対位置として誤差を有するとともに上述したようなずれを含んでいる。また、ピッチとステイトの調整データ、Ａｄｊ＿ＬＤ＿ｐｉｔｃｈ１（＝１１）、Ａｄｊ＿ＬＤ＿ｓｔａｔｅ１（＝１）を参照する。本実施形態においては、駆動中の偏差がのっている位置とＬＤＰＩを横切ったピッチとステイトの調整値を仮情報で関連付けている。なお、ＡＤｊ＿ＬＤ＿ｐｉｔｃｈ（Ｘ：１〜３）は、初期化調整でＰＩ区間の境界位置（Ｐｏｓ＿ｒｅｔ（Ｘ））であるＬＤＰＩ位置を横切ったときのピッチ（ｐｉｔｃｈ）を表す。Ａｄｊ＿ＬＤ＿ｓｔａｔｅ（Ｘ：１〜３）は、初期化調整でＰＩ区間の境界位置（Ｐｏｓ＿ｒｅｔ（Ｘ））であるＬＤＰＩ位置を横切ったときのステイト（ｓｔａｔｅ）を表す。そして、ＬＤＰＩが変化した時のピッチとステイトを上記調整値Ａｄｊ＿ＬＤ＿ｐｉｔｃｈ１（＝１１）、Ａｄｊ＿ＬＤ＿ｓｅｔａｔｅ１（＝１）に設定し、以後この値からピッチとステイトのカウントを開始する。なお、ＬＤＰＩが変化した時のステイトの情報と調整値のステイトとのずれとその補正方法については、図１４に基づいて後述する。
【００７７】
時間ｔ１から時間ｔ２に進むと、現在位置から目標停止位置とプロファイルの演算を行う。ここでは、ＬＤＰＩが変化した位置Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗから目標停止位置Ｔｒｇｔ＿ｐｌｓを、下記（１）式で算出する。この目標調整位置は、（２）式で示す記憶部３７に記憶されている目標停止位置に相当する調整値（Ａｄｊ＿ｒｅｔ１＿ｐｌｓ）と略同じであるが、後述する理由により差が生ずる。
Ｔｒｇｔ＿ｐｌｓ＝Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗ＋２ｓｔａｔｅ＋Ｒｅｔ＿ｏｆｆ＿ｐｌｓ＋Ｒｅｔ＿ｏｆｆ＿ｐｉｔｃｈ    ・・・（１）
≒Ａｄｊ＿ｒｅｔ１＿ｐｌｓ    ・・・（２）
【００７８】
上記（１）は、以下を意味する。つまり、Ｔｒｇｔ＿ｐｌｓは、位置Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗにて、ＬＤＰＩが変化したステイト（ｓｔａｔｅ）の次のステイトから２ｓｔａｔｅ＋Ｒｅｔ＿ｏｆｆ＿ｐｌｓ＋＋Ｒｅｔ＿ｏｆｆ＿ｐｉｔｃｈだけ先の位置Ｐｌｓを示すものである。
上記（１）式中で、２ｓｔａｔｅは、ＬＤＰＩの位置がずれていても、ずれないように調整時に加えている分である。なお、図１４を用いて後述するように、ＬＤＰＩ６９の位置ズレ（ステイトのズレ）が発生していたら、このｓｔａｔｅ数を、１ｓｔａｔｅまたは３ｓｔａｔｅに代えてズレ量を補正する。
【００７９】
また、上記（１）式中で、Ｒｅｔ＿ｏｆｆ＿ｐｌｓは、ステイト（ｓｔａｔｅ）の境界が基準になるようにするためにオフセットするＰｌｓ数である。またＲｅｔ＿ｏｆｆ＿ｐｉｔｃｈは、Ｒｅｔ＿ｖｅｌｏ速度から減速するのに十分なＰｌｓ数であって、かつタイムラグを最小にするように決められたＰｌｓ数であり、固定値である。Ｒｅｔ＿ｏｆｆ＿ｐｌｓは、記憶部３７に記憶されている。
【００８０】
さらに、Ａｄｊ＿ｒｅｔ１＿ｐｌｓは、初期化調整の調整値である。Ａｄｊ＿ｒｅｔ１＿ｐｌｓは、絶対位置Ｐｌｓ値であって、この数値を基準として初期化後のフォーカスレンズ１１ｂの絶対値Ｐｌｓが決定される。式（１）により算出されたＴｒｇｔ＿Ｐｌｓを目標位置として駆動し、実際に停止した位置をＡｄｊ＿ｒｅｔ１＿ｐｌｓとする（式（２））。他のＬＤＰＩの変化位置に対応する位置をＡｄｊ＿ｒｅｔ２（３）＿ｐｌｓは、Ａｄｊ＿ｒｅｔ１＿ｐｌｓを基準として差カウントした調整Ｐｌｓ値である。
【００８１】
時間ｔ２における、制御部４１の具体的な処理としては、Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗに対してＬＤＰＩが変化した次のステイトから２ｓｔａｔｅ＋Ｒｅｔ＿ｏｆｆ＿ｐｌｓ＋Ｒｅｔ＿ｏｆｆ＿ｐｉｔｃｈの相対Ｐｌｓ値を加えた駆動量だけＶＣＭ７３を駆動する。また、Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗは、前述のずれを含んでいるので、実際にはＴｒｇｔ＿ｐｌｓ＝Ａｄｊ＿ｒｅｔ１＿ｐｌｓとはならず、誤差が生ずる。しかしながら時間ｔ２においてはその誤差を検出することができないので、時間ｔ４において誤差を検出してずれを補正する。
【００８２】
時間ｔ３では、プロファイルに従い駆動し、整定待ちを行う。ここでは、駆動中の現在位置を基に、１２ＫＨｚのサンプリングで更新するので、停止位置は、この影響によっても目標位置Ｔｇｔ＿ｐｌｓに対して、Ａｄｊ＿ｒｅｔ１＿ｐｌｓとさらにずれる。
【００８３】
時間ｔ４では、整定後の停止状態であり、ピッチ、ステイト、ＧＭＲ−Ａ／Ｂ信号から、Ａｄｊ＿ｒｅｔ＿ｐｌｓとのズレを加味して、現在位置（停止位置）を更新する。駆動中にピッチとステイトのカウントしており、停止位置での、ピッチとステイトを検出することができる。ステイト内のｐｌｓは、タンジェントテーブル（図５の説明参照）から絶対位置が分かり、補正することができる。このようにして、停止状態でのピッチとステイトによって、停止位置の仮の絶対位置を求める（現在位置更新１）。そして、求められた現在位置が、絶対位置の基準である調整値Ａｄｊ＿ｒｅｔ＿ｐｌｓからどれだけの差であるかを確定することができる（現在位置更新２）。
【００８４】
このように、仮の初期位置であるＲｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗに基づいて目標停止位置を計算し、ＧＭＲセンサ８７の出力に基づいてＶＣＭ７３を駆動して目標停止位置へ停止させる制御を行う。そして、これに並行して次の動作を行う。Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗの位置においてピッチとステイトを調整値に置き換え、この調整値を書記としてＶＣＭ７３の駆動に伴うピッチとステイトの変化を検出して、実際の停止位置でのピッチとステイトを検出する。そして、実際の停止位置を補正して、実際の停止位置の仮の絶対位置を求めることが可能となる。さらに絶対位置の基準である調整値Ａｄｊ＿ｒｅｔ＿ｐｌｓとの差を求めれば、真の絶対位置を求めることができる。
【００８５】
次に、図１３を用いて、速度と位置の偏差について説明する。図１３の上段は、横軸に時間をとった際のフォーカスレンズ１１ｂの駆動速度を表す。図中、破線Ｖｒは、速度偏差０の場合の理想的な速度を示す。速度が時間的に変動しない速度偏差０であれば、目標位置＝現在位置で制御することができる。
【００８６】
また、図１３の下段は、横軸に時間をとった際のフォーカスレンズ１１ｂの位置（ＬＤＰｌｓ）を表す。フォーカスレンズ１１ｂの現在位置Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗは、駆動中の現在位置に相当するＬＤｐｌｓを採用して更新されるので、ＬＤＰＩ６９のＰＩを横切る際の電気応答のタイミングや、図１３に示す目標位置と現在位置のズレ（偏差）を含んでいる。
【００８７】
次に、図１４を用いて、初期化駆動時のＬＤＰＩ位置ズレについて説明する。工場段階等におけるＬＤＰＩ位置調整（ピッチ、ステイト）に対して、実際に使用する際に、調整時にピッチやステイトの境界だった場合や経時変化等によって初期化調整時と初期化駆動時で検出するＰＩ位置がずれる場合がある。すなわち、図１２に示した例では、１１ピッチのステイト１に、ＰＩ区間１とＰＩ区間２の境界があるとして説明した（Ｐｏｓ＿ｒｅｔ１の位置）。しかし、工場出荷段階では、このように調整されていたとしても、前述したように、種々の事情により、図１４のケース１〜ケース３に示すように、境界がずれる場合がある。そこで、本実施形態においては、このようなズレがあったとしても、補正できるようにしている。
【００８８】
図１４において、最上段は調整時のＰＩ位置を示しており、ＰＩ区間１とＰＩ区間２の境界は、１１ピッチのステイト１のＰｏｓ＿ｒｅｔ１の位置にある。図１４の次段には、ケース１が示されており、このケースでは、初期化駆動でＰＩがずれていない。ケース１の次段には、ケース２が示されており、このケースでは、初期化駆動でＬＤＰＩが至近側（ピッチ１２の方向）にずれている。ケース２の次段には、ケース３が示されており、このケースでは、初期化駆動でＬＤＰＩが無限遠側（ピッチ１０の方向）にずれている。
【００８９】
初期化調整時では、Ａｄｊ＿ＬＤ＿ｐｉｔｃｈ１が１１、Ａｄｊ＿ＬＤ＿ｓｔａｔｅ１が１の調整値となっている。ケース１では、初期化調整時のピッチとステイトとズレがなく、初期化駆動時に検出したピッチとステイトをそのまま採用すればよい。ステイト内のｐｌｓ分のズレについてもＬＤＰＩを横切ってから、次のｓｔａｔｅ＋２ｓｔａｔｅ＋Ｒｅｔ＿ｏｆｆ＿ｐｌｓ＋Ｒｅｔ＿ｏｆｆ＿ｐｉｔｃｈをＡｄｊ＿ｒｅｔＸ＿ｐｌｓとすることで考慮している。
【００９０】
ケース２では、検出したピッチとステイトがずれている。本実施形態においては、最大のズレ量は、±１ステイト以内を想定している。ケース２の場合、初期化調整時のピッチ１１、ステイト１に対し、検出されるステイトが４なので、隣のピッチ１２のステイト４を検出した際に、ケース２であることが判断できる。
【００９１】
ケース３では、検出したステイトがずれている。前述したように、最大のズレ量は、±１ステイト以内を想定している。ケース３の場合、初期化駆動調整時のピッチ１１、ステイト１に対し、検出されるステイトが２なので、ピッチ１１のステイト２を検出したときにケース３であることが判断される。
【００９２】
このように、本実施形態においては、初期化駆動した際にＧＭＲセンサ８７によって検出されるピッチおよびステイトに基づいて、ケース１〜３のいずれかを判断でき、この結果に基づいて、図１２において説明した（１）式中の「２ｓｔａｔｅ」を「１ｓｔａｔｅ」〜「３ｓｔａｔｅ」とすれば、ずれを補正することができる。
【００９３】
次に、本実施形態における動作について、図１５ないし図２０に示すフローチャートを用いて説明する。このフローチャートは、ＣＰＵ４１が記憶部３７に記憶されているプログラムに従って、カメラ本体２００内の制御部と通信し、また各部を制御することにより実行される。
【００９４】
図１５に示す初期化駆動のメインフローに入ると、まず、ＬＤＰＩ状態判断を行う（Ｓ１）。ここでは、ＬＤＰＩ６９の２つのＰＩ、すなわちＬＤＰＩ１とＬＤＰＩ２の出力レベルに基づいて、フォーカスレンズ１１ｂがＰＩ区間０〜ＰＩ区間３のいずれに存在するかを判定する。このＬＤＰＩ状態判断の詳しい動作については、図１６を用いて後述する。
【００９５】
ステップＳ１において、ＬＤＰＩ状態判断を行うと、次に、ＰＩ区間０〜２であるか否かを判定する（Ｓ３）。ここでは、ステップＳ１におけるＬＤＰＩ状態判断の結果に基づいて、フォーカスレンズ１１ｂがＰＩ区間０〜ＰＩ区間２の間にあるか否かを判定する。
【００９６】
ステップＳ３における判定の結果、ＰＩ区間０〜２にあった場合には、ＰＩ区間０〜２の初期化駆動を行う（Ｓ５）。ここでは、図８を用いて説明したように、フォーカスレンズ１１ｂを至近側に駆動する。このＰＩ区間０〜２の初期化駆動の詳しい動作については、図１７を用いて後述する。
【００９７】
一方、ステップＳ３における判定の結果、ＰＩ区間０〜２になかった場合には、ＰＩ区間３の初期化駆動を行う（Ｓ７）。ＰＩ区間０〜２になかったことから、フォーカスレンズ１１ｂは、ＰＩ区間３にある。そこで、このステップでは、図９を用いて説明したように、フォーカスレンズ１１ｂを一旦無限遠側に駆動した後、至近側に駆動する。このＰＩ区間３の初期化駆動の詳しい動作については、図１８を用いて後述する。
【００９８】
ステップＳ５またはＳ７において、初期化駆動を行うと、次に、現在位置更新処理を行う（Ｓ９）。ここでは、停止位置において、ＧＭＲセンサ８７によって検出されたピッチとステイトの情報、およびＧＭＲ−Ａ、ＧＭＲ−Ｂ信号、さらにＡｄｊ＿ｒｅｔ（Ｘ）＿ｐｌｓを基にして、現在位置を更新する。この現在位置更新処理の詳しい動作については、図２０用いて後述する。
【００９９】
ステップＳ９において、現在位置更新処理を行うと、初期化駆動のフローを終了する。
【０１００】
次に、図１６を用いて、ステップＳ１のＬＤＰＩ状態判断の詳しい動作について説明する。このフローに入ると、まず、ＬＤＰＩ１とＬＤＰＩ２の信号レベルを検出する（Ｓ１１）。ここでは、ＣＰＵ４１は、２つのＬＤＰＩ６９の各出力をＬＤＰＩ二値化回路６７によって二値化し、この値をモータドライバ７１を介して信号レベルを検出する（図２参照）。
【０１０１】
ＬＤＰＩ１，２の信号レベルを検出すると、次に、ＬＤＰＩ１がＨレベル、ＬＤＰＩ２がＬレベルであるか否かを判定する（Ｓ１３）。ここでは、ステップＳ１１の検出結果に従って判定する。この判定の結果、Ｙｅｓであれば、図４に示すように、ＰＩ区間０とする（Ｓ１５）。
【０１０２】
ステップＳ１３における判定の結果がＮｏであれば、次に、ＬＤＰＩ１がＬレベル、ＬＤＰＩ２がＬレベルであるか否かを判定する（Ｓ１７）。ここでは、ステップＳ１１の検出結果に従って判定する。この判定の結果、Ｙｅｓであれば、図４に示すように、ＰＩ区間１とする（Ｓ１９）。
【０１０３】
ステップＳ１７における判定の結果がＮｏであれば、次に、ＬＤＰＩ１がＬレベル、ＬＤＰＩ２がＨレベルであるか否かを判定する（Ｓ２１）。ここでは、ステップＳ１１の検出結果に従って判定する。この判定の結果、Ｙｅｓであれば、図４に示すように、ＰＩ区間２とする（Ｓ２３）。
【０１０４】
ステップＳ２１における判定の結果がＮｏであれば、ＬＤＰＩ１がＨレベル、ＬＤＰＩ２がＨレベルであることから、図４に示すように、ＰＩ区間３とする（Ｓ２５）。ステップＳ１５、Ｓ１９、Ｓ２３、Ｓ２５において、ＰＩ区間を決定すると、元のフローに戻る。
【０１０５】
次に、図１７を用いて、ステップＳ５（図１５参照）のＰＩ区間０〜２の初期化駆動の詳しい動作について説明する。このフローに入ると、まず、駆動方向として至近方向を設定する（Ｓ３１）。ここでは、フォーカスレンズ１１ｂがＰＩ区間０〜２にあることから、図８を用いて説明したように、フォーカスレンズ１１ｂの駆動方向として至近側を設定する。
【０１０６】
ステップＳ３１において駆動方向の設定を行うと、次に、初期化目標位置駆動を行う（Ｓ３３）。ここでは、図８を用いて説明したように、フォーカスレンズ１１ｂを目標位置に向けて駆動する。なお、速度Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］に達する前にＰＩ区間の境界を横切った場合には、図１０、１１を用いて説明した三角駆動によって制御する。この初期化駆動の詳しい動作については、図１９を用いて後述する。初期化目標位置駆動を行うと、ＰＩ区間０〜２の初期化駆動のフローを終了し、元のフローに戻る。
【０１０７】
次に、図１８を用いて、ステップＳ７（図１５参照）のＰＩ区間３の初期化駆動の詳しい動作について説明する。このフローに入ると、まず、駆動方向として無限遠方向を設定する（Ｓ４１）。ここでは、フォーカスレンズ１１ｂがＰＩ区間３にあることから、図９を用いて説明したように、フォーカスレンズ１１ｂの駆動方向として無限遠側を設定する。
【０１０８】
ステップＳ４１において駆動方向の設定を行うと、次に、初期化目標位置駆動を行う（Ｓ４３）。ここでは、図９を用いて説明したように、フォーカスレンズ１１ｂを速度Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］で無限遠方向に向けて駆動を開始し、ＰＩ区間２とＰＩ区間３の境界を横切ると、ステップＳ４５に進む。この初期化駆動の詳しい動作については、図１９を用いて後述する。
【０１０９】
ステップＳ４３において、初期化目標位置駆動を行うと、次に、駆動方向を至近方向にして、駆動開始する（Ｓ４５）。ここでは、図９を用いて説明したように、駆動方向を至近側に逆転し、フォーカスレンズ１１ｂを初期化目標位置に向けて駆動する。
【０１１０】
ステップＳ４５において駆動方向を逆転すると、次に、初期化目標位置駆動を行う（Ｓ４７）。ここでは、図９を用いて説明したように、フォーカスレンズ１１ｂを目標位置に向けて駆動する。この初期化駆動の詳しい動作については、図１９を用いて後述する。初期化目標位置駆動を行うと、ＰＩ区間３の初期化駆動のフローを終了し、元のフローに戻る。
【０１１１】
次に、図１９を用いて、ステップＳ３３（図１７参照）、Ｓ４３、Ｓ４７（図１８参照）の初期化目標位置駆動の詳しい動作について説明する。このフローに入ると、まず、Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］の速度へ加速を開始する（Ｓ５１）。ここでは、図８ないし図１０を用いて説明したように、ＣＰＵ４１はＶＣＭ７３を駆動制御し、フォーカスレンズ１１ｂをＲｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］の速度に達するまで加速する。
【０１１２】
ステップＳ５１において、加速を開始すると、次に、Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］の速度に達したか否かを判定する（Ｓ５３）。ここでは、ＣＰＵ４１は、ＧＭＲセンサ８７によって検出されるフォーカスレンズ１１ｂの相対的な位置の変化に基づいて、速度がＲｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］に達したか否かを判定する。
【０１１３】
ステップＳ５３における判定の結果、Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］に達していない場合には、次に、ＬＤＰＩ（Ｘ）を横切ったか否かを判定する（Ｓ５５）。ここでは、ＣＰＵ４１は、２つのＬＤＰＩ６９からの出力に基づいて、レベルが変化したか否かを判定する。すなわち、ＰＩ区間０〜３のいずれから隣のＰＩ区間に移ったか否かを判定する。この判定は、サンプリング周期毎に行う（例えば、１２ＫＨｚ）。
【０１１４】
ステップＳ５５における判定の結果、ＬＤＰＩ（Ｘ）を横切っていない場合には、ステップＳ５３に戻る。ここで、ステップＳ５３より先にステップＳ５５における判定がＹｅｓとなった場合には、図１０を用いて説明したように電源投入時にＬＤＰＩ６９の近くにフォーカスレンズ１１ｂがあった場合であり、この場合には、図１１（ｂ）を用いて説明した三角駆動によって、最短駆動時間になるように制御する（Ｓ５７〜Ｓ６３）。一方、ステップＳ５５より先にステップＳ５３における判定がＹｅｓとなった場合には、図８または図９を用いて説明したように、フォーカスレンズ１１ｂの駆動にあたって、Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］の速度に達した場合であり、この場合には、図１１（ａ）を用いて説明した台形駆動によって駆動制御を行う（Ｓ７１〜Ｓ８１）。
【０１１５】
ステップＳ５３における判定の結果、Ｒｅｔ＿ｖｅｌｏの速度に達すると、Ｒｅｔ＿ｖｅｌｏ［ｍｍ／Ｓ］で定速駆動を行う（Ｓ７１）。ここでは、ＣＰＵ４１は、ＧＭＲセンサ８７からの信号に基づいて、Ｒｅｔ＿ｖｅｌｏの一定速度を保つようにＶＣＭ７３の駆動制御を行う。
【０１１６】
続いて、ＬＤＰＩ（Ｘ）を横切ったか否かを判定する（Ｓ７３）。ここでは、ステップＳ５５と同様に、ＣＰＵ４１は、２つのＬＤＰＩ６９からの出力に基づいて、レベルが変化したか否かを判定する（図８のＰ１３、図９のＰ２２、Ｐ２４参照）。この判定の結果、ＬＤＰＩ（Ｘ）を横切っていない場合には、横切るまで待つ。
【０１１７】
ステップＳ７３における判定の結果、ＬＤＰＩ（Ｘ）を横切ると、次に、ＬＤＰＩ（Ｘ）を横切ったピッチとステイトを検出する（Ｓ７５）。ここでは、ＣＰＵ４１は、ＬＤＰＩ６９の出力レベルが変化した時のＧＭＲセンサ８７からの出力に基づいて、ＬＤＰＩ（Ｘ）を横切った際のピッチとステイトを検出する。この検出結果は、記憶部３７に記憶する。
【０１１８】
続いて、Ａｄｊ＿ＬＤ＿ｐｉｔｃｈ（Ｘ）、Ａｄｊ＿ＬＤ＿ｓｔａｔｅ（Ｘ）と比較し、ずれていれば補正し、現在のピッチとステイトを更新する（Ｓ７７）。Ａｄｊ＿ＬＤ＿ｐｉｔｃｈ（Ｘ）、Ａｄｊ＿ＬＤ＿ｓｔａｔｅ（Ｘ）は、予め記憶部３７に記憶されており、この記憶されている値と、ステップＳ７５において検出したピッチとステイトを比較し、異なっていれば、ステップＳ７５において検出したピッチとステイトに更新する。更新結果は記憶部３７に記憶する。
【０１１９】
続いて、目標位置の演算を行う（Ｓ７９）。ここでは、図１２の時間ｔ２において説明したように、目標位置Ｔｒｇｔを下記演算式（１）から求める。
Ｔｒｇｔ＿ｐｌｓ＝Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗ＋２ｓｔａｔｅ＋Ｒｅｔ＿ｏｆｆ＿ｐｌｓ＋Ｒｅｔ＿ｏｆｆ＿ｐｉｔｃｈ    ・・・（１）
【０１２０】
なお、式（１）中の「２ｓｔａｔｅ」は、図１４を用いて説明したように、ＰＩ位置ズレが発生していた場合には、「１ｓｔａｔｅ」または「３ｓｔａｔｅ」に置き換えて目標位置を演算する。但し、フォーカスレンズ１１ｂが停止してから、現在位置を補正するようにしてもよい。
【０１２１】
目標位置の演算を行うと、次に、Ｔｒｇｔ＿ｐｌｓを目標位置に減速プロファイルを演算する（Ｓ８１）。ここでは、ＣＰＵ４１は、ステップＳ７９で求められたＴｒｇｔ＿ｐｌｓを目標位置として、この位置でＶＣＭ７３が停止するような減速プロファイルを演算により求める。この減速プロファイルにより、図８のＰ１４付近または図９のＰ２５付近における減速駆動を行う。
【０１２２】
また、ステップＳ５５における判定の結果、ＬＤＰＩ（Ｘ）を横切ると、ＬＤＰＩ（Ｘ）を横切ったピッチとステイトを検出する（Ｓ５７）。ここでは、ステップＳ７５と同様に、ＣＰＵ４１は、ＬＤＰＩ６８の出力レベルが変化した時のＧＭＲセンサ８７からの出力に基づいて、ＬＤＰＩ（Ｘ）を横切った際のピッチとステイトを検出する。ここで検出されたピッチとステイトは記憶部３７に記憶する。
【０１２３】
続いて、ステップＳ７７と同様に、Ａｄｊ＿ＬＤ＿ｐｉｔｃｈ（Ｘ）、Ａｄｊ＿ＬＤ＿ｓｔａｔｅ（Ｘ）と比較し、ずれていれば補正し、現在のピッチとステイトを更新する（Ｓ６１）。更新結果は、記憶部３７に記憶する。そして、ステップＳ７９と同様に、目標位置の演算を行う（Ｓ６１）。ここでは、図１２の時間ｔ２において説明したように、目標位置Ｔｒｇｔを演算式（１）から求める。
Ｔｒｇｔ＿ｐｌｓ＝Ｒｅｔ＿ｔｅｍｐ＿ｐｌｓ＿ｎｏｗ＋２ｓｔａｔｅ＋Ｒｅｔ＿ｏｆｆ＿ｐｌｓ＋Ｒｅｔ＿ｏｆｆ＿ｐｉｔｃｈ    ・・・（１）
【０１２４】
なお、式（１）中の「２ｓｔａｔｅ」は、ステップＳ７９の場合と同様、ＰＩ位置ズレが発生していた場合には、「１ｓｔａｔｅ」または「３ｓｔａｔｅ」に置き換えて目標位置を演算する。但し、フォーカスレンズ１１ｂが停止してから、現在位置を補正するようにしてもよい。
【０１２５】
目標位置の演算を行うと、次に、Ｔｒｇｔ＿ｐｌｓを目標位置に（三角駆動）加減速プロファイルを演算する（Ｓ６３）。ここでは、ＣＰＵ４１は、ステップＳ６１で求められたＴｒｇｔ＿ｐｌｓを目標位置として、目標位置に最短駆動で停止するような加減速プロファイルを演算により求める。この減速プロファイルにより、図１０のＰ３３付近における減速駆動を行う（図１１（ｂ）参照）。
【０１２６】
ステップＳ６３またはＳ８１においてプロファイルを演算すると、ＶＣＭ駆動を行う（Ｓ６５）。ここでは、モータドライバ７１は、演算により求めた減速プロファイル（または加減速プロファイル）に従って、ＶＣＭ７３の駆動制御を行い、図８のＰ１４付近、図９のＰ２５付近、または図１０のＰ３３付近における減速駆動を行う。ステップＳ６５において、ＶＣＭ駆動を行うと、元のフローに戻る。
【０１２７】
このように、初期化目標位置駆動においては、目標速度に向けて加速駆動し（Ｓ５１等）、ＰＩ区間の境界（ＬＤＰＩ（Ｘ））を横切った際に、ＧＭＲセンサ７８からの相対的距離情報（ピッチおよびステイト）を検出し（Ｓ５９、Ｓ７７）、目標位置を演算し（Ｓ６１、Ｓ７９）、この目標位置で停止するように制御している（Ｓ６３、Ｓ６５、Ｓ８１）。また、検出した相対的距離情報を用いて、目標位置を補正している（Ｓ６１、Ｓ７９において、相対距離情報に応じてｓｔａｔｅの値を変更）。
【０１２８】
次に、図２０を用いて、ステップＳ９（図１５参照）の現在位置更新処理の詳しい動作について説明する。このフローに入ると、まず、サンプリング間隔が経過したか否かを判定する（Ｓ９１）。現在位置は、ＧＭＲセンサ８７からの出力に基づいて検出するが、この検出はサンプリング間隔で行う。このサンプリング間隔としては、例えば、１２ＫＨｚで行う。
【０１２９】
ステップＳ９１における判定の結果、サンプリング間隔が経過すると、次に、偏差規格以上が所定時間連続しているか否かを判定する（Ｓ９３）。図１３を用いて説明したように、正常に動作している場合には、速度や位置は所定の偏差の範囲に収まっている。このステップでは、速度や位置が所定偏差の範囲外にあり、しかも所定時間の間、範囲外にあるか否かを判定する。
【０１３０】
ステップＳ９３における判定の結果、偏差規格以上が所定時間連続していた場合には、駆動を停止する（Ｓ９７）。ステップＳ９３における判定の結果、異常駆動がなされていることから、ＶＣＭ７３の駆動を停止する。駆動を停止すると、異常終了とする（Ｓ９９）。ここでは、異常終了したことを示すフラグをセットし、初期化駆動を終了する。
【０１３１】
一方、ステップＳ９３における判定の結果、偏差規格以上が所定時間連続していない場合には、次に、整定完了か否かを判定する（Ｓ９５）。前述したステップＳ６５において、目標位置に向けて減速駆動を開始しているので、このステップでは、目標位置に到達した後、停止状態が保持され、確実に停止したかを判定する。この判定の結果、整定が完了していない場合には、ステップＳ９１に戻る。
【０１３２】
ステップＳ９５における判定の結果、整定が完了すると、次に、停止位置のピッチ、ステイト、ＧＭＲ−Ａ信号、ＧＭＲ−Ｂ信号と調整値Ａｄｊ＿ｒｅｔ（Ｘ）＿ｐｌｓとに基づいて現在位置（停止位置）を更新する（Ｓ１０１）。ここでは、ＧＭＲセンサ８７からの信号に基づいて、停止位置のピッチとステイトを更新し、またタンジェントテーブルに基づいてステイトを更新する。そして、調整値Ａｄｊ＿ｒｅｔ（Ｘ）＿ｐｌｓを補正して現在位置（停止位置）を更新する。更新結果は、記憶部３７に記憶する。
【０１３３】
このようにステップＳ１０１において現在位置の更新がなされ現在位置（停止位置）の絶対位置が確定する。目標位置Ｔｒｇｔ＿ｐｌｓは、Ａｄｊ＿ｒｅｔ（Ｘ）＿ｐｌｓの近傍であることから（式（２）参照）、Ｓ１０１において取得した現在位置から大きく離れていない。そこで、Ｓ１０１で取得した現在位置のＡｄｊ＿ｒｅｔ（Ｘ）＿ｐｌｓとのズレを加味して現在位置（停止位置）を更新する。更新結果は、記憶部３７に記憶する。なお、現在位置（停止位置）の補正は行うが、駆動は行わない。
【０１３４】
ステップＳ１０１において現在位値の更新を行うと、次に、駆動中の駆動コマンド受信フラグをクリアする（Ｓ１０５）。初期化駆動は、カメラ本体２００からの駆動コマンドを受信すると動作を開始し、そのとき、駆動コマンド受信フラグをセットする（フロー中には不図示）。このステップでは、初期化駆動が終了することから、駆動コマンド受信フラグをリセットする。
【０１３５】
駆動コマンド受信フラグをクリアすると、次に正常終了とする（Ｓ１０７）。ここでは、初期化駆動が正常に終了したことを示すフラグをセットする。正常終了すると、元のフローに戻る。
【０１３６】
このように、現在位置更新処理のフローにおいては、ＶＣＭ７３がフォーカスレンズ１１ｂを目標位置で停止させると、ＧＭＲセンサ７３から取得した情報により、Ａｄｊ＿ｒｅｔ（Ｘ）＿ｐｌｓを補正して停止位置の絶対位置を確定している。
【０１３７】
以上説明したように、本発明の一実施形態においては、光軸方向に移動可能なレンズ群（例えば、フォーカスレンズ１１ｂ）と、このレンズ群を光軸方向に駆動する制御部（例えば、ＣＰＵ４１）と、レンズ群の光軸方向の絶対的な位置を検出する第１の位置検出部（例えば、ＬＤＰＩ６９）と、レンズ群の光軸方向の相対的な位置を検出する第２の位置検出部（例えば、ＧＭＲセンサ８７）と、レンズ群の所定の位置に対応する第２の位置検出部の出力に相当する第１のデータ（例えば、ＧＭＲセンサ８７から出力されるピッチ、ステイト）と、レンズ群を停止させる目標位置に相当する第２のデータ（例えば、Ａｄｊ＿ｒｅｔ＿ｐｌｓ）を記憶する記憶部（例えば、記憶部３７）を有している。そして、制御部（例えば、ＣＰＵ４１）は、レンズ群を駆動して第１の位置検出部の出力が所定の変化を発生した時点（例えば、図１９のＳ５５、Ｓ７３）で第２の位置検出部の出力を第３のデータ（例えば、ステイト）として記憶部に記憶する（例えば、図１９のＳ５７、Ｓ７５）と共に、第２のデータを目標位置としてレンズ群の停止動作を実行して停止させ、レンズ群が停止した状態での第２の位置検出部の出力を、記憶部に記憶された第１のデータと第２のデータと第３のデータに応じて補正する（例えば、図２０のＳ９５〜Ｓ１０３）。このため、本実施形態においては、レンズ群を高精度に位置制御することが可能となる。
【０１３８】
また、本発明の一実施形態においては、制御部は、第１の位置検出部の出力が所定の変化を発生する際には、レンズ群を所定の一定速度で移動させている（例えば、図１９のＳ７１）。このため、レンズ群が所定の一定速度で移動させている際に、第１の位置検出部の出力変化を検出することができ、安定した検出を行うことができる。
【０１３９】
また、本発明の一実施形態においては、制御部は、レンズ群の停止動作を行う際に、第１の位置検出部の出力が所定の変化を発生した時点から第２の位置検出部の出力が所定量変化した後で停止動作を開始している（例えば、図１９のＳ５５〜Ｓ６５、Ｓ７３〜Ｓ８１およびＳ６５）。このため、所定の減速で停止させることができ、停止位置をいつも同じ位置にさせることができる。
【０１４０】
なお、本発明の一実施形態においては、ＰＩ区間の数が４であったが、これに限らず、ＬＤＰＩの数を調整することにより、ＰＩ区間の数を変更することができる。また、一実施形態の説明として挙げた数値は例示であり、適宜変更することができる。また、レンズ群として、フォーカスレンズの例で説明したが、ズームレンズ群等、他の機能を有するレンズ群であってもよい。
【０１４１】
また、本実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォーンや携帯情報端末（ＰＤＡ：Personal Digital Assist）、ゲーム機器等に内蔵されるカメラでも構わない。いずれにしても、レンズ群の初期化動作を行う撮影のための機器であれば、本発明を適用することができる。
【０１４２】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【０１４３】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【０１４４】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１４５】
１１ａ〜１１ｃ・・・撮影レンズ、１１ｂ・・・フォーカスレンズ、１３・・・絞り、２１・・・絞り駆動機構、２３・・・絞り基準位置検出部、２５・・・フォーカスレンズ駆動機構、２５ｐ・・・レンズ保持枠、２５ｑ・・・摺動軸、２７・・・フォーカスレンズ位置検出部、３１・・・ＲＦ位置検出部、３３・・・ＲＦモード検出部、３４・・・ズーム位置検出部、３５・・・ＭＦ位置検出部、３７・・・記憶部、４１・・・ＣＰＵ、４１ａ・・・差分器、４１ｂ・・・コントローラ、４１ｃ・・・ドライバコントローラ、４３・・・Ａ／Ｄ変換器、４４・・・Ａ／Ｄ変換器、５１・・・距離環、５２・・・ズーム環、６１・・・ＭＦＰＩ二値化回路、６３・・・ＭＦＰＩ、６５・・・ＭＦＰＩドライバ、６７・・・ＬＤＰＩ二値化回路、６９・・・ＬＤＰＩ、７１・・・モータドライバ（ＬＤＭＴ、ＶＣＭ）、７１ａ・・・ＰＷＭドライバ、７２・・・Ａ／Ｄ変換器、７３・・・ＬＤモータ（ＬＤＭＴ）、７５・・・ＡＶモータ（ＡＶＭＴ）、７７・・・ＡＶフォトインタラプタ（ＡＶＰＩ）、７９・・・ＡＶフォトインタラプタ二値化回路、８１・・・リニアエンコーダＲＦ位置検出部、８２・・・リニアエンコーダＺＭ位置検出部、８３・・・ＲＦ／ＭＦモード検出ＳＷ、８５・・・ＧＭＲスケール、８７・・・ＧＭＲセンサ、１００・・・交換レンズ、２００・・・カメラ本体、２０１・・・撮像素子
【図１】
2015052736.tif 000003
【図２】
2015052736.tif 000004
【図３】
2015052736.tif 000005
【図４】
2015052736.tif 000006
【図５】
2015052736.tif 000007
【図６】
2015052736.tif 000008
【図７】
2015052736.tif 000009
【図８】
2015052736.tif 000010
【図９】
2015052736.tif 000011
【図１０】
2015052736.tif 000012
【図１１】
2015052736.tif 000013
【図１２】
2015052736.tif 000014
【図１３】
2015052736.tif 000015
【図１４】
2015052736.tif 000016
【図１５】
2015052736.tif 000017
【図１６】
2015052736.tif 000018
【図１７】
2015052736.tif 000019
【図１８】
2015052736.tif 000020
【図１９】
2015052736.tif 000021
【図２０】
2015052736.tif 000022