(57)【要約】【課題】簡単な構成で正確なレンズ制御を可能としたレンズ制御装置およびレンズ制御方法を提供する。【解決手段】レンズを光軸方向に移動させるためのステッピングモータと、レンズの光軸方向の位置に対応する信号を検出する位置検出部と、ステッピングモータの回転位置と位置検出部の検出位置の関係に関するデータを記憶する記憶部と、を有するレンズ制御装置におけるレンズ制御方法において、入力される目標情報に対応する位置検出部の検出位置に相当する目標位置に基づいて、仮の目標回転位置を決定し（Ｓ１１）、この仮の目標回転位置に基づいて、データの所定の回転位置の範囲内にて、目標位置に対応する回転位置を探索し（Ｓ１３〜Ｓ２１）、探索された回転位置に基づいて、ステッピングモータの回転位置を指示する（Ｓ２３）。【選択図】  図１０
2017151208.tif 000002
【特許請求の範囲】
【請求項１】
レンズを光軸方向に移動させるレンズ制御装置において、
上記レンズを駆動するステッピングモータと、
入力される目標情報に基づいて上記ステッピングモータの回転位置を指示する位置指示部と、
上記レンズの光軸方向の位置に対応する信号を検出する位置検出部と、
上記ステッピングモータの回転位置と上記位置検出部の検出位置の関係に関するデータを記憶する記憶部と、
を備え、
上記位置指示部は、上記入力される目標情報に対応する上記位置検出部の検出位置に相当する目標位置に基づいて、仮の目標回転位置を決定し、
上記仮の目標回転位置に基づいて、上記データの所定の回転位置の範囲内にて、上記目標位置に対応する回転位置を探索する、
ことを特徴とするレンズ制御装置。
【請求項２】
上記所定の回転位置の範囲は、上記ステッピングモータの電気角１周分に対応することを特徴とする請求項１に記載のレンズ制御装置。
【請求項３】
上記位置指示部は、上記ステッピングモータの回転位置と上記位置検出部の検出位置の関係が基準となる関係にある基準データに基づいて、上記位置検出部の検出位置に対応する目標位置に基づいて仮の目標回転位置を決定することを特徴とする請求項１に記載のレンズ制御装置。
【請求項４】
上記位置指示部は、上記データに基づき上記仮の目標回転位置から所定のずらし量にて回転位置をずらした場合の検出位置を求め、求められた検出位置が上記目標位置と一致する回転位置を探索することを特徴とする請求項１に記載のレンズ制御装置。
【請求項５】
上記位置指示部は、上記データに基づき上記仮の目標回転位置から所定のずらし量にて回転位置をずらした場合の検出位置を求め、上記データの所定の回転位置の範囲内にて求められた検出位置と上記目標位置との差が最小となる回転位置を探索することを特徴とする請求項１に記載のレンズ制御装置。
【請求項６】
レンズを光軸方向に移動させるためのステッピングモータと、上記レンズの光軸方向の位置に対応する信号を検出する位置検出部と、上記ステッピングモータの回転位置と上記位置検出部の検出位置の関係に関するデータを記憶する記憶部と、を有するレンズ制御装置におけるレンズ制御方法において、
入力される目標情報に対応する上記位置検出部の検出位置に相当する目標位置に基づいて、仮の目標回転位置を決定し、
上記仮の目標回転位置に基づいて、上記データの所定の回転位置の範囲内にて、上記目標位置に対応する回転位置を探索し、
探索された回転位置に基づいて、上記ステッピングモータの回転位置を指示する、
ことを特徴とするレンズ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ステッピングモータによってレンズを光軸方向に移動させるようにしたレンズ制御装置およびレンズ制御方法に関する。
【背景技術】
【０００２】
従来より、撮像装置等において、ステッピングモータがレンズを光軸方向に移動させるために使用されている。ステッピングモータは入力された駆動パルス数に応じて駆動軸が回転するので、駆動目標位置までの距離に応じた駆動パルス数がステッピングモータに印加され、レンズが目標位置に移動される。
【０００３】
このように、従来は、ステッピングモータを用いた開ループ制御によってレンズ駆動を行っている。しかし、ステッピングモータは、固有の負荷トルクであるディテントトルクの影響や、移動負荷の変動により、モータの励磁位置に対するモータの回転軸の回転位置が線形の関係とならず、両者にずれが生じてしまうことがある。これを解決するために、閉ループ制御により駆動制御の精度を向上させることが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−０２５２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に示されるような駆動制御装置における閉ループ制御は、駆動電流の補正処理が必要であり、処理のための構成が複雑になると共に、処理に時間がかかってしまう。
【０００６】
本発明は、このような事情を鑑みてなされたものであり、簡単な構成で正確なレンズ制御を可能としたレンズ制御装置およびレンズ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため第１の発明に係るレンズ制御装置は、レンズを光軸方向に移動させるレンズ制御装置において、上記レンズを駆動するステッピングモータと、入力される目標情報に基づいて上記ステッピングモータの回転位置を指示する位置指示部と、上記レンズの光軸方向の位置に対応する信号を検出する位置検出部と、上記ステッピングモータの回転位置と上記位置検出部の検出位置の関係に関するデータを記憶する記憶部と、を備え、上記位置指示部は、上記入力される目標情報に対応する上記位置検出部の検出位置に相当する目標位置に基づいて、仮の目標回転位置を決定し、上記仮の目標回転位置に基づいて、上記データの所定の回転位置の範囲内にて、上記目標位置に対応する回転位置を探索する。
【０００８】
第２の発明に係るレンズ制御装置は、上記第１の発明において、上記所定の回転位置の範囲は、上記ステッピングモータの電気角１周分に対応する。
第３の発明に係るレンズ制御装置は、上記第１の発明において、上記位置指示部は、上記ステッピングモータの回転位置と上記位置検出部の検出位置の関係が基準となる関係にある基準データに基づいて、上記位置検出部の検出位置に対応する目標位置に基づいて仮の目標回転位置を決定する。
【０００９】
第４の発明に係るレンズ制御装置は、上記第１の発明において、上記位置指示部は、上記データに基づき上記仮の目標回転位置から所定のずらし量にて回転位置をずらした場合の検出位置を求め、求められた検出位置が上記目標位置と一致する回転位置を探索する。
第５の発明に係るレンズ制御装置は、上記第１の発明において、上記位置指示部は、上記データに基づき上記仮の目標回転位置から所定のずらし量にて回転位置をずらした場合の検出位置を求め、上記データの所定の回転位置の範囲内にて求められた検出位置と上記目標位置との差が最小となる回転位置を探索する。
【００１０】
第６の発明に係るレンズ制御方法は、レンズを光軸方向に移動させるためのステッピングモータと、上記レンズの光軸方向の位置に対応する信号を検出する位置検出部と、上記ステッピングモータの回転位置と上記位置検出部の検出位置の関係に関するデータを記憶する記憶部と、を有するレンズ制御装置におけるレンズ制御方法において、入力される目標情報に対応する上記位置検出部の検出位置に相当する目標位置に基づいて、仮の目標回転位置を決定し、上記仮の目標回転位置に基づいて、上記データの所定の回転位置の範囲内にて、上記目標位置に対応する回転位置を探索し、探索された回転位置に基づいて、上記ステッピングモータの回転位置を指示する。
【発明の効果】
【００１１】
本発明によれば、簡単な構成で正確なレンズ制御を可能としたレンズ制御装置およびレンズ制御方法を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るカメラの構成を示すブロック図である。
【図２】本発明の一実施形態に係るカメラにおいて、ステッピングモータの励磁位置とモータ回転軸の回転位置との関係の一例を示すグラフである。
【図３】本発明の一実施形態に係るカメラにおいて、ステッピングモータを用いたレンズの位置管理を説明する図である。
【図４】本発明の一実施形態に係るカメラにおいて、ステッピングの検出パルスと駆動パルスの間のずれに周期性があることを示すグラフである。
【図５】本発明の一実施形態に係るカメラにおいて、バネによる負荷が有る場合にずれがレンズ位置に応じて変化することを示す図である。
【図６】本発明の一実施形態に係るカメラにおいて、バネによる負荷が有る場合にずれが、負荷のかかる方向に応じて変化することを示す図である。
【図７】本発明の一実施形態に係るカメラにおいて、ステッピングモータの駆動パルス数の求める際の基準位置（仮目標位置）を説明するグラフである。
【図８】本発明の一実施形態に係るカメラにおいて、ステッピングモータの駆動パルス数の求め方を説明するグラフである。
【図９】本発明の一実施形態に係るカメラのレンズ駆動動作を示すフローチャートである。
【図１０】本発明の一実施形態に係るカメラの駆動パルス数演算処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態としてデジタルカメラに適用した例について説明する。このカメラは、レンズ鏡筒部内の光学レンズによって形成された被写体像を、撮像部によって被写体像を画像データに変換し、この変換された画像データに基づいて、被写体像を本体の背面に配置した表示部にライブビュー表示し、また記録媒体に静止画や動画の画像データを記録する。レリーズ釦の半押し操作等に連動し、コントラスト法や位相差法等による焦点検出がなされ、焦点検出の結果に応じて、光学レンズを合焦位置にステッピングモータの駆動によって移動させる。
【００１４】
光学レンズの合焦位置等への移動にあたっては、レンズの移動先（目標位置）に基づいて、仮の目標回転位置を決定し（例えば、図７の仮目標位置、図１０のＳ１１参照）、この仮の目標回転位置に基づいて、目標位置に対応する回転位置を探索し（図８の探索範囲、図１０のＳ１７、Ｓ１９参照）、この探索された回転位置に基づいて、ステッピングモータの駆動パルス数（回転位置）を決定し、後述するモータ駆動回路へ指示する（図１０のＳ２３参照）。
【００１５】
以下、図面に従って本発明を適用したカメラを用いて好ましい一実施形態について説明する。図１は、本発明の一実施形態に係るカメラのレンズ駆動部の機械的な構成と、カメラのレンズ駆動に関わる主として電気的な構成を示すブロック図である。
【００１６】
レンズ駆動部１は、レンズ一体型のカメラまたはレンズ交換式カメラの交換レンズ内に配置されている。レンズ駆動部１内には、光学レンズ（以下「レンズ」と略称する）２、レンズ枠３、ガイド軸４ａ、４ｂ、バネ５、ステッピングモータ６、リードスクリュー７、スケール磁石８、ＧＭＲ（Giant Magneto Resistive Effect：巨大磁気抵抗効果）センサ９、フォトインタラプタ１０が備えられている。
【００１７】
レンズ２は、複数または単数の光学レンズを有し、被写体像を形成する。レンズ２は、レンズ枠３に保持されている。ガイド軸４ａとこれに平行に設けられたガイド軸４ｂは、レンズ２の光軸方向に沿って延びた軸であり、レンズ鏡枠等に固定されている。レンズ２はバネ５によって吊られており、レンズ枠３とレンズ鏡枠の固定部材との間に設けられ、レンズ枠３に対して、図中、右側向きに付勢力を与えている。
【００１８】
前述のレンズ枠３は、レンズ２の光軸方向とは直角方向に延びた固定部３ａと、この固定部３ａと一体であり、ガイド軸４ｂに嵌合した嵌合部３ｂを有する。またレンズ枠３は、リードスクリュー７が貫通する貫通孔３ｃと、遮光ハネ３ｅを有する。遮光ハネ３ｅは、固定部３ａと一体であり固定部３ａの一端側に設けられている。遮光ハネ３ｅは、レンズ２が基準位置に移動した際に、フォトインタラプタ１０の発光部から投光された光を遮光する。
【００１９】
ステッピングモータ６は、モータ駆動回路（モータドライバ）２４から、モータ駆動信号としてＡ相、Ｂ相からなる２相のパルス信号を受け、回転駆動する。ステッピングモータ６は、レンズを駆動するステッピングモータである。ステッピングモータ６の回転駆動軸は、リードスクリュー７と一体である。このため、リードスクリュー７は、ステッピングモータ６に印加されたモータ駆動信号に応じて、正転・逆転する。
【００２０】
リードスクリュー７が正転・逆転すると、リードスクリュー７に噛み合ったナット１１を介して、レンズ２は光軸方向に沿って移動する。このナット１１はレンズ枠３とは別体である。バネ５によってレンズ枠３は図１の右側向きに引っ張られ、貫通孔３ｃの周囲がリードスクリュー７に噛み合うナット１１に当て付けられた状態となる。ナット１１の回転止め（不図示）がレンズ枠３に設けられてので、リードスクリュー７が回転するとナット１１は右または左方向に移動し、そこに当て付けられているレンズ枠３も光軸方向に移動する。
【００２１】
スケール磁石８は、リードスクリュー７の一端側に一体に設けられており、円周面に沿って、Ｓ極とＮ極が交互に帯磁されている。ＧＭＲセンサ９は、スケール磁石８と対向する位置に配置されており、スケール磁石８のＳ極、Ｎ極によって生成される磁場に応じて２相信号を出力する。スケール磁石８およびＧＭＲセンサ９の検知信号に基づいて、ステッピングモータ６の相対的な回転位置（レンズ２の相対的な光軸方向の位置）を検出することができる。スケール磁石８とＧＭＲセンサ９は、レンズの光軸方向の位置に対応する信号を検出する位置検出部として機能する。
【００２２】
フォトインタラプタ１０は、レンズ鏡枠等に固定されており、発光部と受光部を有する。レンズ２が基準位置に移動してくると、発光部からの投光が遮光ハネ３ｅによって遮光される。受光部は遮光状態になると出力が変化し、これによって、レンズ２が基準位置にあることを検知することができる。すなわち、遮光ハネ３ｅとフォトインタラプタ１０によって、レンズ２の絶対的な位置検出することができる。フォトインタラプタ１０からの位置検出信号はＩＯポート３２に出力される。
【００２３】
このように、本実施形態におけるレンズ駆動部１においては、ステッピングモータ６によって駆動されるリードスクリュー７の回転によりナット１１を直線移動させ、バネ５の付勢力によってレンズ枠３をガイド軸４ａ、４ｂに沿って移動させる。これによって、レンズ枠３に固定されたレンズ２が光軸方向に駆動する。また、リードスクリュー７の先端にはＧＭＲセンサ９と対向する位置にスケール磁石８が取り付けられており、リードスクリューが正転または逆転すると、スケール磁石８も同方向に回転する。
【００２４】
ＧＭＲセンサ９の出力は、増幅回路２１に接続されている。増幅回路２１は、ＧＭＲセンサ９からの２相のアナログのセンサ出力信号をそれぞれ増幅し、センサ信号のノイズ除去処理を行う。増幅回路２１で処理された増幅センサ信号は、Ａ／Ｄコンバータ３３と２値化回路２２に出力される。
【００２５】
２値化回路２２は、増幅回路２１からの２相のセンサ出力信号について、それぞれ２値化し、アップ／ダウンカウンタ（２相カウンタ）３４に２値化信号を出力する。２値化にあたって、２値化回路２２は、Ｄ／Ａコンバータ３５からの閾値電圧を入力し、この閾値電圧を用いて２値化する。
【００２６】
マイクロコンピュータ３０は、ＣＰＵ（Central Processing Unit）３１とその周辺回路を有し、レンズ駆動全体の制御を行う。具体的には、マイクロコンピュータ３０は、例えば、レンズ駆動部１からの各種信号に応じて、ステッピングモータ６の駆動のための各種信号を生成する。周辺回路としては、ＩＯ（Input／Output）ポート３２、Ａ／Ｄ（Analog／Digital）コンバータ３３、アップ／ダウンカウンタ３４、Ｄ／Ａ（Digital／Analog）コンバータ３５、パルス発生器３６、通信ポート３７、タイマ３８、メモリ３９が設けられている。
【００２７】
ＣＰＵ３１は、後述するように、レンズ２の移動先に応じて、ステッピングモータ６の回転位置を制御するための設定信号を出力する（例えば、図９、図１０参照）。すなわち、ＣＰＵ３１は、入力される目標情報に基づいてステッピングモータの回転位置を指示する位置指示部として機能する。また、この位置指示部は、入力される目標情報に対応する位置検出部の検出位置に相当する目標位置に基づいて、仮の目標回転位置を決定し（例えば、図７、図１０のＳ１１参照）、この仮の目標回転位置に基づいて、データの所定の回転位置の範囲内にて、目標位置に対応する回転位置を探索する（例えば、図８、図１０のＳ１３〜Ｓ２３参照）。上述の所定の回転位置の範囲は、ステッピングモータの電気角１周分に対応する（例えば、図４、図１０のＳ１９参照）。
【００２８】
また、上述の位置指示部は、ステッピングモータの回転位置と位置検出部の検出位置の関係が基準となる関係にある基準データに基づいて、位置検出部の検出位置に対応する目標位置に基づいて仮の目標回転位置を決定する（例えば、図８、図１０のＳ１１参照）。また、位置指示部は、データに基づき仮の目標回転位置から所定のずらし量にて回転位置をずらした場合の検出位置を求め、求められた検出位置が目標位置と一致する回転位置を探索する（例えば、図８、図１０のＳ１７参照）。また、位置指示部は、データに基づき仮の目標回転位置から所定のずらし量にて回転位置をずらした場合の検出位置を求め、データの所定の回転位置の範囲内にて求められた検出位置と目標位置との差が最小となる回転位置を探索する（例えば、図１０のＳ２１参照）。
【００２９】
ＩＯポート３２は、フォトインタラプタ１０から位置検出信号を入力し、この位置検出信号に基づいて、レンズ２が基準位置にあることを示す信号をＣＰＵ３１に出力する。
【００３０】
Ａ／Ｄコンバータ３３は、増幅回路２１からＡ相およびＢ相の増幅センサ信号を入力し、それぞれの信号に対してＡＤ変換を行って、Ａ相およびＢ相の増幅センサ信号をデジタルデータに変換しＣＰＵ３１に出力する。
【００３１】
Ｄ／Ａコンバータ３５は、ＣＰＵ３１から閾値電圧に相当するデジタル値を入力し、アナログ電圧に変換し、２値化回路２２に閾値電圧として出力する。増幅センサ信号の中点電位は、ＧＭＲセンサ９の特性や増幅回路２１によってばらつきがある。そこで、予めＡ相およびＢ相の中点電位を調整値としてメモリ３９に記憶しておき、２値化回路２２は、この中点電位を閾値電圧として使用し、２値化を行う。
【００３２】
アップ／ダウンカウンタ３４は、２値化回路２２から２値化信号を入力し、アップ／ダウンカウントを行う。ＧＭＲセンサ９は、Ａ相およびＢ相センサ信号を出力しており、２値化信号を入力する度にアップ／ダウンカウントを行う。これにより、スケール磁石８が正転しているか、逆転している、即ち、レンズ２がいずれの方向に移動しているかを判定することができる。
【００３３】
メモリ３９は、電気的に書き換え可能な揮発性メモリ（例えば、ＤＲＡＭ（Dynamic Random Access Memory）等）と、電気的に書き換え可能な不揮発性メモリ（例えば、フラッシュＲＯＭ（Flash Read Only Memory）等）を有する。メモリ３９には、ＣＰＵ３１で実行するためのプログラム、レンズの各種調整値（例えば、前述の中点電位に関する値）、レンズ駆動用の設定値等、種々のデータが記憶される。レンズ駆動用の設定値として、ステッピングモータの位置パルス（回転位置）と、ＧＭＲセンサ９による検出パルス（検出位置）の関係を示すデータ（調整値）が記憶されている。この関係を示すデータについては、図４ないし図６を用いて後述する。メモリ３９は、ステッピングモータの回転位置と位置検出部の検出位置の関係に関するデータを記憶する記憶部として機能する。
【００３４】
タイマ３８は、フィードバック制御の制御周期を発生させたり、レンズの各種動作の時間の計測を行うための計時動作を行う。また、カレンダ機能等を有する。通信ポート３７は、ＣＰＵ３１の外部との信号のやり取りを行うためのポートである。本実施形態においては、通信ポート３７を介して種々の通信が行われるが、例えば、通信ポート３７からモータ駆動回路２４への設定信号が送出される。
【００３５】
パルス発生器３６は、ＣＰＵ３１からの制御信号を受け、ステッピングモータ６の駆動用にモータ駆動回路２４に出力するクロック信号（パルス信号）を発生する。すなわち、パルス発生器３６は、モータ駆動回路２４にクロック信号を出力し、ステッピングモータの励磁位置を進める。
【００３６】
モータ駆動回路２４は、モータ電源２３から電源電圧の供給を受け、またパルス発生器３６からクロック信号と通信ポート３７からの設定信号を入力し、ステッピングモータ６に２相の電圧信号からなるモータ駆動信号を出力する。また、モータ駆動回路２４は、モータ駆動信号の出力にあたって、ＣＰＵ３１からの設定信号に基づいて、モータ駆動信号の最大印加電圧の調整を行う。モータ電源２３は、電池等の電源を有し、図示しない定電圧回路等によって定電圧化されてモータ駆動回路２４に電源を供給する。
【００３７】
モータ駆動信号の生成にあたって、マイクロコンピュータ３０内のＣＰＵ３１は、ＧＭＲセンサ９が検出したセンサ出力信号に基づいて演算を行い、モータ駆動回路２４が出力する駆動パルスの管理、駆動速度の設定、駆動電圧の設定、フィードバック制御に必要なデジタルデータの各種演算処理を行う。
【００３８】
次に、本実施形態におけるステッピングモータの励磁位置と軸の関係位置について、説明する。ステッピングモータを回転させる場合、モータの励磁位置に対するモータ回転軸の回転位置の関係は理想的な線形関係になっていない。このため、励磁位置に対応した理想的な回転位置に対してずれがある。このずれはモータの励磁位置に依存し、周期的に繰り返される。
【００３９】
図２は、ステッピングモータの励磁位置とモータ回転軸の回転位置との関係の一例を示すグラフである。このグラフの横軸はモータ励磁位置を示し、縦軸はモータ回転軸の回転位置を示す。図２において、破線Ｌｉは、励磁位置変化量と回転軸回転位置変化量が等しい場合であり理想的な線形関係にある場合を示す。実際には、励磁位置変化量と回転軸回転位置変化量は、種々の事情により等しくはない。すなわち、実線Ｌａに示すように、現在のモータの励磁位置に対するモータ回転軸の回転位置には、誤差ΔＰｎがあり、またモータを回転させて別の位置に到達させた後の励磁位置に対するモータ回転軸の回転位置にも誤差ΔＰｄが生じてしまう。
【００４０】
図３は、一般的なレンズの位置管理の方法を説明する図である。レンズ２の絶対位置管理用に設けられたセンサ（本実施形態においては、フォトインタラプタ１０）からの出力電圧Ｖｄがスレッシュ電圧値Ｖｔを越えてレベルが切り替わった位置を基準位置Ｘｐｌｓとする。この基準位置Ｘｐｌｓからステッピングモータ６を駆動したパルス数でレンズの位置管理を行っている。
【００４１】
図３に示す例では、基準位置Ｘｐｌｓにおいて、目標位置（目標検出パルス、駆動目標パルス）に応じて、ステッピングモータ６に駆動指示パルス数Ｘ１ｐｌｓを印加する。しかし、前述したように、基準位置Ｘｐｌｓや目標位置においても誤差が生じている。従って、図３に示すように、基準位置での駆動パルスに誤差が重畳するだけでなく、移動された先でも誤差が重畳し、狙いとした位置にレンズを停止することが困難である。
【００４２】
次に、図４を用いて、検出パルスと駆動パルスのずれの周期性について説明する。図２を用いて説明したように、ステッピングモータでは、励磁位置と回転位置との間が、必ずしも理想的な線形の関係となっていない。このため、ステッピングモータ６に出力した駆動パルス数と、レンズ２の移動に応じてＧＭＲセンサ９が検出したパルスの数は一致せず、ずれが発生する。駆動パルスと検出パルスの間のずれは、ステッピングモータ６の励磁位置に対して周期性があり、電気角１回転毎で周期を繰り返す。
【００４３】
本実施形態においては、励磁位置毎に電気角１回転分の駆動パルスと検出パルスの間のずれを調整値としてメモリ３９に記憶しておき、検出パルスとの間のずれを考慮した駆動パルス数を求める際に使用する（図９のＳ１、図１０参照）。
【００４４】
次に、図５を用いて、バネ５の負荷変動と、ずれ補正について説明する。図３を用いて説明したように、レンズ２を保持するレンズ枠３ａはバネ５によって、画面の右側に引っ張られている。このため、レンズ２の位置により、バネ５による負荷の大きさが変化する。バネの負荷が変化すると、駆動パルスと検出パルスの間の関係が変化する。
【００４５】
図５に示すグラフＧ１およびＧ２は、検出パルスと駆動パルスのずれの変化を示す。このずれは電気角に応じて変化し、また電気角１回転毎の周期性を有する。グラフＧ１はバネによる負荷の影響が小さい場合であり、グラフＧ２はバネの負荷の影響が大きい場合を示す。バネによる負荷の影響がそれほど大きくないグラフＧ１では、検出パルスと駆動パルスのずれは「−２」から「０」の範囲にある。しかし、バネによる負荷の影響が大きいグラフＧ２では、検出パルと駆動パルスのずれは「−３」から「０」に範囲に広がる。
【００４６】
そこで、本実施形態においては、レンズの移動範囲の両端（フォーカスレンズの場合は、無限遠端と、至近端の電気角１回転分）での調整値をメモリ３９に記憶し、その間はレンズの位置によって線形補間する。これによって、バネによる負荷の大きさが変化しても正しくずれを補正することができる。
【００４７】
次に、図６を用いて、バネ５による付勢方向が異なる場合の負荷変動と、ずれ補正について説明する。レンズ２は、バネ５によって吊られている構造となっているので、レンズ２がバネ５を引っ張る方向（図中（ａ）の方向）と、バネ５にレンズ２が引っ張られる方向（図中（ｂ）の方向）によって、負荷の掛かり方が異なってしまう。
【００４８】
図６に示す例では、レンズ２がバネ５を引っ張る方向（図中（Ｄａ）の方向）の場合には、バネによる負荷の影響が大きく、検出パルスと駆動パルスのずれは、グラフＧ１およびＧ２に示すようになる。一方、バネにレンズが引っ張られる方向（図中（ｂ）の方向）の場合には、バネによる負荷の影響が比較的小さく、検出パルスと駆動パルスのずれは、グラフＧ３およびＧ４に示すようになる。
【００４９】
本実施形態においては、レンズ２の駆動方向によって生ずる駆動パルスと検出パルスの間のずれの量に応じた調整値を記憶することにより、駆動方向の影響を押さえて正しく補正するようにしている。すなわち、メモリ３９は、駆動方向毎に、レンズの移動範囲の両端（フォーカスレンズの場合は無限遠端と、至近端の電気角１回転分）での調整値を記憶し、その間はレンズの位置によって線形補間する。これによって、バネによる負荷の大きさが駆動方向で変化しても正しくずれを補正することができる。
【００５０】
なお、調整値は、２方向ある駆動方向のそれぞれについて、レンズの移動範囲の両端の電気角１回転分の範囲内で測定しメモリ３９に記憶する。また、この測定は、電気角１回転分の範囲内を所定数で分割し、分割領域毎に、駆動パルス（ステッピングモータ６に印加されたパルス数）に対して、検出された検出パルス（ＧＭＲセンサ９が検出したパルス数）の差分を求める。この分割領域毎に求めた差分が、検出パルスと駆動パルスのずれであり、調整値として、メモリ３９に記憶される。この調整値は、工場出荷段階で予め測定し、メモリ３９に記憶しておく。
【００５１】
次に、図７および図８を用いて、調整値を用いて、レンズ２を指定した位置に停止させるために、ステッピングモータ６に印加する駆動パルス数を求める方法について説明する。
【００５２】
まず、図７に示すように、検出パルスの目標パルス値である目標検出パルス値に対して、駆動パルスと検出パルスが一致する位置を仮目標位置として設定する。仮目標位置は駆動パルス数を求める際の中心位置とする。
【００５３】
図７において、目標検出パルス値は、レンズ２の移動先として目標とする位置に対応している。この目標検出パルス値は、カメラ本体内のＣＰＵ３１等によって設定される。実線Ｌａは、実際の駆動パルスに対する検出パルスの関係を示しており、駆動パルスと検出パルスの間でのずれを含んでいる。一方、破線Ｌｉは、駆動パルスと検出パルスが線形の関係にある場合を示している。仮目標位置は、破線Ｌｉと目標検出パルス値が一致するときの駆動パルス位置に対応する。
【００５４】
仮目標位置を決めると、駆動パルスと検出パルスのずれを考慮して、目標検出パルス値に対する駆動パルス数を求める。図８において、仮目標位置の目標駆動パルス値を中心（‘０’）として、目標駆動パルス値を０，−１，１，−２，２，・・・の順で中心から徐々に変化させて（例えば、−１の場合は、目標駆動パルス値＝目標駆動パルス値−１）、各目標駆動パルス値に検出ずれ（各目標駆動パルス値に対応するＬａとＬ１の差）を加えた値（Ｌａ上の値）と目標検出パルス値との間の誤差が０になる目標駆動パルス値を探索する。そして、０となり目標駆動パルス値に検出ずれを加えた値が目標検出パルス値と一致したら探索を終了する。この方法を取ることで探索に掛かる時間を短くすることができる。
【００５５】
具体的には、検出ずれは、メモリ３９に記憶されている検出ずれに対応する調整値を読み出して使用する。仮目標位置とする目標駆動パルス値に対応する調整値を読み出し、これを用いて実線Ｌａに対応するパルス値を算出し、このパルス値と目標検出パルス値との差分（誤差）を算出する。誤差が０でない場合には、仮目標位置と隣接する位置（図７では、‘−１’と‘１’）に対応する位置（目標駆動パルス値）で個別に、対応する調整値を読み出し、これを用いて実線Ｌａに対応するパルス値を算出し、このパルス値と目標検出パルス値との差分（誤差）を算出する。誤差が０でない場合には、さらに隣接する位置（目標駆動パルス値）で同様に差分を算出、誤差が０となる目標駆動パルス値を求める。図８に示す例では、‘−２’に対応する目標駆動パルス値において、誤差が０となり、この目標駆動パルス値に基づいて駆動パルス数を決定する。
【００５６】
ただし、目標駆動パルス値を変化させる範囲（探索範囲）は仮目標位置を中心として電気角１回転分に絞る。そして、その探索範囲内で誤差が‘０’となる条件がない場合は、探索範囲内で最も誤差が‘０’に近くなる探索位置の中で、最も探索順の早い条件を選択する。探索範囲を電気角１回転分に絞ることで、無駄に探索に時間が掛らないようにする。調整値（検出ずれ）は、周期的に変化しているので、探索範囲は電気角１回転分で十分である。また、駆動パルスの分解能は検出パルスよりも高くすれば、より精度よく駆動パルスを算出することができ、レンズをより正確な位置へ停止させることができる。
【００５７】
次に、図９および図１０に示すフローチャートを用いて、レンズ指定位置への駆動動作について説明する。これらのフローチャートは、ＣＰＵ３１がメモリ３９に記憶されたプログラムに従って、マイクロコンピュータ３０内の各部およびカメラ内の各部を制御することにより実行する。
【００５８】
図９に示すフローが開始すると、まず、駆動パルス数演算処理を行う（Ｓ１）。ここでは、図７および図８を用いて説明したように、メモリ３９に記憶された調整値を用いて、ＣＰＵ３１が、レンズ指定位置に到達させるための駆動パルス数（ステッピングモータ６に印加するパルス数）を演算する。この駆動パルス数演算処理の詳しい動作については、図１０を用いて後述する。
【００５９】
駆動パルス数演算処理を行うと、次に、駆動方向、駆動パルス数指示を行う（Ｓ３）。ここでは、ＣＰＵ３１が、モータ駆動回路２４によってステッピングモータ６を駆動するために、ステップＳ１において算出した駆動方向および駆動パルス数を、モータ駆動回路２４に出力する。
【００６０】
駆動方向、駆動パルス数指示を行うと、次に、レンズ駆動を開始する（Ｓ５）。ここでは、ＣＰＵ３１がモータ駆動回路２４にレンズ駆動の開始を指示する。この指示を行うと、モータ駆動回路２４がステッピングモータ６にモータ駆動信号を出力し、レンズ駆動を開始する。レンズ駆動を開始すると、このフローを終了する。
【００６１】
次に、図１０を用いて、ステップＳ１の駆動パルス数演算処理の動作について説明する。図１０に示すフローが開始すると、まず、仮目標位置を決定する（Ｓ１１）。ここでは、図７を用いて説明したように、目標検出パルス値に基づいて仮目標位置を決める。なお、目標検出パルス値は、目標とするレンズ移動先に応じて決まる。
【００６２】
仮目標位置を決定すると、次に駆動パルス探索範囲を決定する（Ｓ１３）。ここでは、図７を用いて説明したように、仮目標位置に隣接する所定範囲内を探索範囲として決める。なお、この探索範囲は、電気角１回転分に絞る。
【００６３】
駆動パルス探索範囲を決定すると、次に、目標駆動パルス値を設定する（Ｓ１５）。ここでは、仮目標位置に隣接する領域（‘０’、‘−１’、‘１’、‘−２’、‘２’）に対応する目標駆動パルス値を求め、この値を設定する。目標駆動パルス値は、現在位置から目標位置までどの位離れているに応じて決まり、メモリ３９に記憶されているテーブルを参照することにより求めることができる。なお、ステップＳ１５において、一度に全ての目標駆動パルス値を設定するのではなく、ステップＳ１９から戻ってくるたびに、順次、目標駆動パルス値を設定する。
【００６４】
目標駆動パルス値を設定すると、次に、「目標検出パルス値」と、「駆動パルス＋ずれ」の間の誤差が‘０’か否かを判定する（Ｓ１７）。ここで、「目標検出パルス値」は、前述したようにレンズの移動先で決まる。また、「駆動パルス＋ずれ」は、以下のようにしてＣＰＵ３１が求める。すなわち、ＣＰＵ３１は、メモリ３９から探索範囲内の各分割領域（‘０’、‘−１’、‘１’、‘−２’、‘２’）に対応する調整値を読み出し、この調整値にステップＳ１５で設定した目標駆動パルス値を加算（または減算）することにより、各分割領域の「駆動パルス＋ずれ」を算出する。この「駆動パルス＋ずれ」は、図７の破線Ｌａに示す検出ずれを含んだ関係を示すライン上にある。
【００６５】
ステップＳ１７において、「目標検出パルス値」と「駆動パルス＋ずれ」を求めると、両者の誤差（差分）が‘０’であるか否かを判定する。
【００６６】
ステップＳ１７における判定の結果、誤差が‘０’でない場合には、次に、探索範囲が終わりか否かを判定する（Ｓ１９）。前述したように、探索範囲は仮目標位置を中心として、電気角１回転分の範囲である。このステップでは、探索範囲内で、「目標検出パルス値」と「駆動パルス＋ずれ」の間の誤差を算出したか否かを判定する。この判定の結果、探索範囲が終わっていない場合には、ステップＳ１５に戻り、次の目標駆動パルス値を設定して、上述の処理を実行する。
【００６７】
一方、ステップＳ１９における判定の結果、探索範囲が終わった場合には、次に、誤差‘０’に最も近く、最も探索順の早い条件を選択する（Ｓ２１）。前述のステップＳ１７において、誤差が‘０’となる駆動パルス値を検出することなく、探索範囲が終わる場合がある。この場合には、誤差が‘０’に最も近く、探索順の早い（仮目標位置に最も近い）駆動パルス値を選択する。
【００６８】
ステップＳ２１において、誤差‘０’に最も近く、最も探索順の早い条件を選択すると、またはステップＳ１７における判定の結果、誤差が‘０’となると、次に、駆動パルス数を決定する（Ｓ２３）。ステップＳ１７で誤差が‘０’となった場合には、誤差‘０’となった目標駆動パルス値に基づいて、またステップＳ２１で誤差‘０’に最も近い等の条件で選択された場合にはその目標駆動パルス値に基づいて、駆動パルス数を決定する。駆動パルス数を決定すると、このフローを終了し、元のフローに戻る。
【００６９】
以上説明したように、本発明の一実施形態においては、入力される目標情報に対応する位置検出部の検出位置（検出パルス）に相当する目標位置に基づいて、仮の目標回転位置（例えば、図８、図１０のＳ１１参照、）を決定し、この仮の目標回転位置に基づいて、データの所定の回転位置の範囲内（例えば、図１０のＳ１９）にて、目標位置に対応する回転位置を探索し（例えば、図８、図１０のＳ１５、Ｓ１７）、探索された回転位置に基づいて、ステッピングモータの回転位置を指示している（例えば、図９のＳ３、図１０のＳ２３）。
【００７０】
また、本発明の一実施形態においては、レンズの移動先が指定されてから、駆動方向と駆動パルス数の指示が出される前工程として、レンズの駆動量を検出するためのセンサ（ＧＭＲセンサ９）での検出量に基づき、現在の位置でのパルス値と目標の停止位置のパルス値との間の差が駆動パルス数となるように演算処理を行っている。この方法を取ることによりレンズを一度の動作で狙いの停止位置に止めることができるので無駄な時間を掛けることなく、精度良くレンズを停止させることができる。
【００７１】
なお、本発明の一実施形態においては、誤差‘０’に最も近く、かつ最も探索順の早い条件を選択したが、これに限らず、他の条件、例えば、所定誤差以内であれば、最も仮目標位置に近い等の条件であってもよい。また、メモリ３９に記憶された調整値は、図６に示すグラフＧ１〜Ｇ４に対応する値であったが、これに限らず、例えば、Ｇ１およびＧ２のみを記憶し、Ｇ３およびＧ４はＧ１に基づいて算出してもよく、またＧ１とＧ２の中間地点における調整値を追加して記憶するようにしてもよい。
【００７２】
また、本発明の一実施形態においては、回転位置検出用として、ＧＭＲセンサ９を用いたが、これに限らず、光学的エンコーダ等、位置を検出することが可能な位置センサであればよい。
【００７３】
また、本実施形態においては、撮影のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ（ＰＣ）、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラでも構わない。いずれにしても、レンズの駆動制御を行う機器であれば、本発明を適用することができる。
【００７４】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【００７５】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【００７６】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【００７７】
１０・・・交換レンズ、１・・・レンズ駆動部、２・・・レンズ、３・・・レンズ枠、３ａ・・・固定部、３ｂ・・・嵌合部、３ｃ・・・貫通孔、３ｅ・・・遮光ハネ、４ａ・・・ガイド軸、４ｂ・・・ガイド軸、５・・・バネ、６・・・ステッピングモータ、７・・・リードスクリュー、８・・・スケール磁石、９・・・ＧＭＲセンサ、１０・・・フォトインタラプタ、１１・・・ナット、２１・・・増幅回路、２２・・・２値化回路、２３・・・モータ電源、２４・・・モータ駆動回路、３０・・・マイクロコンピュータ、３１・・・ＣＰＵ、３２・・・ＩＯポート、３３・・・Ａ／Ｄコンバータ、３４・・・アップ／ダウンカウンタ、３５・・・Ｄ／Ａコンバータ、３６・・・パルス発生器、３７・・・通信ポート、３８・・・タイマ、３９・・・メモリ
【図１】
2017151208.tif 000003
【図２】
2017151208.tif 000004
【図３】
2017151208.tif 000005
【図４】
2017151208.tif 000006
【図５】
2017151208.tif 000007
【図６】
2017151208.tif 000008
【図７】
2017151208.tif 000009
【図８】
2017151208.tif 000010
【図９】
2017151208.tif 000011
【図１０】
2017151208.tif 000012