(57)【特許請求の範囲】
【請求項１】
フォーカス用レンズの駆動制御と、設定された周期で発生する防振処理要求に応じて装置本体の振動を検知してレンズを移動させる防振制御とを実行する制御手段を有したレンズ装置において、
前記制御手段は、
前記フォーカス用レンズを定速で駆動する前記駆動制御を行っている状態では、前記周期を第１の周期に設定し、
前記フォーカス用レンズの加速又は減速を行う前記駆動制御を行っている状態では、前記周期を前記第１の周期より長い第２の周期に設定することを特徴とするレンズ装置。
【請求項２】
請求項１に記載のレンズ装置を備えたことを特徴とする光学機器。
【請求項３】
一定周期毎に発生する防振処理要求に応じて装置本体の振動を検知してレンズを移動させる防振制御を行い、かつ該防振制御の開始後終了前に発生した、前記防振処理要求とは異なる処理要求に応じて、前記防振制御とは異なる制御を実行する制御手段を有したレンズ装置において、
前記制御手段は、
第１の防振処理要求に応じた前記防振制御の開始後終了前に、第２の防振処理要求が発生した場合には、該第２の防振処理要求をキャンセルすることを特徴とするレンズ装置。
【請求項４】
請求項３に記載のレンズ装置を備えたことを特徴とする光学機器。
【請求項５】
振動状態を検知して像のぶれを防止するための所定の防振制御処理を行うとともに、ピント合わせのためのフォーカシングレンズの駆動制御処理を行う光学機器において、
該駆動制御処理を、レンズの駆動領域における駆動目標位置に近接した領域では所定速度から減速処理を行い、前記駆動目標位置にてレンズを停止させる構成とするとともに、前記防振制御処理と前記駆動制御処理とを並列的に実行するに際して、前記駆動制御処理における前記減速処理の特性を、前記防振制御処理を行わずに前記駆動制御処理を行う場合に比較して緩やかな速度変化で減速する特性としたことを特徴とする光学機器。
【請求項６】
前記防振制御処理および前記駆動制御処理は同一のマイクロコンピュータにて処理され、該防振制御処理は所定の周期での割込み処理により実行されることを特徴とする請求項５に記載の光学機器。
【請求項７】
前記減速処理時の速度制御は、予め設定されている目標速度と速度検知手段にて検知された速度とが同一速度となるように速度比較処理にて行われるとともに、該速度比較処理は駆動速度に応じた周期ごとに実行されることを特徴とする請求項５又は６に記載の光学機器。
【請求項８】
前記緩やかな速度変化での減速処理は、前記減速処理を行う領域のうち前記目標位置に近接した領域で行われることを特徴とする請求項５から７のいずれか１つに記載の光学機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、防振制御機能とオートフォーカス制御機能等とを備えたレンズ装置および光学機器に関するものである。
【０００２】
【従来の技術】
振動ジャイロの採用によっていわゆる手振れ補正（防振制御）を行えるオートフォーカスレンズが開発されたことにより、従来のカメラのシャッター速度の遅さによる手振れ写真の撮影回数が緩和され、誰もが簡単に奇麗な写真が撮影できるようになった。そして、このような防振制御も、カメラにおけるフォーカス用レンズ駆動制御等と同様に、レンズ装置又はカメラに搭載されたマイクロコンピュータが司る。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の良好なオートフォーカス性能を落とさずに防振機能を追加することによって、マイクロコンピュータの負担が増大することになるため、マイクロコンピュータを複数個使用して並列処理して個々のマイクロコンピュータの負担を軽減したり、処理速度の速いマイクロコンピュータを使用したりするる等、レンズ装置等のコストアップにつながる対策を採らざるを得ないという問題が生じた。
【０００４】
そこで、本願発明では、コストアップを抑えつつ、防振制御やオートフォーカス制御等の複数種類の制御を十分な制御性能をもって行えるようにしたレンズ装置および光学機器を提供することを目的としている。
【０００５】
【課題を解決するための手段】
上記の目的を達成するために、本願発明では、フォーカス用レンズの駆動制御と、設定された周期で発生する防振処理要求に応じて装置本体の振動を検知してレンズを移動させる防振制御とを実行する制御手段を有したレンズ装置において、フォーカス用レンズの定速での駆動制御を行っている状態では、上記周期を第１の周期に設定し、フォーカス用レンズの加速又は減速を行う駆動制御を行っている状態では、上記周期を第１の周期より長い第２の周期に設定するようにしている。
また、本願発明では、一定周期毎に発生する防振処理要求に応じて装置本体の振動を検知してレンズを移動させる防振制御を行い、かつ該防振制御の開始後終了前に発生した、防振処理要求とは異なる処理要求に応じて、防振制御とは異なる制御を実行する制御手段を有したレンズ装置において、第１の防振処理要求に応じた防振制御の開始後終了前に、第２の防振処理要求が発生した場合には、該第２の防振処理要求をキャンセルするようにしている。
【０００７】
また、本願発明では、振動状態を検知して像のぶれを防止するための所定の防振制御処理を行うとともに、ピント合わせのためのフォーカシングレンズの駆動制御処理を行う光学機器において、該駆動制御処理として、レンズの駆動領域における駆動目標位置に近接した領域では所定速度から減速処理を行い目標位置にてレンズを停止させる構成とするとともに、防振制御処理とレンズの駆動制御処理を並列的に実行するに際して、レンズの駆動制御処理における前記減速処理特性を、防振制御処理を行わずにレンズの駆動制御処理を行う場合に比較して緩やかな速度変化で減速するようにしている。
【０００８】
この場合、防振制御処理およびレンズの駆動制御処理は同一のマイクロコンピュータにて処理され、該防振制御処理は所定の周期にて割込み処理されるようにするのが望ましい。また、減速処理時の速度制御は、予め設定されている目標速度と速度検知手段にて検知された速度とが同一速度となるように速度比較処理にて行われるとともに、速度比較処理は駆動速度に応じた周期ごとに実行されるようにするのが望ましい。さらに、上記緩やかな速度変化での減速処理は、減速処理を行う領域のうち前記目標位置に近接した領域で行われるようにするのが望ましい。
【０００９】
【発明の実施の形態】
（第１実施形態）
図１には、手振れ補正（防振制御）機能付きオートフォーカスレンズ装置の構成を示している。１は上記レンズ装置の本体であり、２は被写体像の焦点を合わせるためのフォーカスレンズである。３はフォーカスレンズ２を光軸方向に移動させるフォーカスユニットであり、光軸と平行移動可能な機構を含んでいる。
【００１０】
４はフォーカスユニット３を駆動するモータである。５はモータ４の回転量と回転速度とを検出するエンコーダー回路である。６はモータ４を作動させる大電流用のドライバー回路である。
【００１１】
７は光軸と垂直な方向に移動して手振れ補正を行うための補正レンズであり、８は補正レンズ７に直結されて上記垂直方向に移動可能な機構を含んでいるシフト補正ユニットである。９はシフト補正ユニット８を電磁駆動するためのコイルであり、シフト補正ユニット８には着磁されたマグネット（図示せず）が取り付けられている。コイル９およびマグネットは、図中上下のコイル９等に対して９０°位相がずれた位置にも取り付けられている。１０はコイル９に電流を流す大電流用のドライバー回路である。
【００１２】
１１は手振れ状態（装置本体の振動）を検知するための振動ジャイロであり、１２はシフト補正ユニット８の位置検出を行う位置検出回路である。手振れ補正制御は、これら振動ジャイロ１１と位置検出回路１２の出力値をフィードバック系としてコイル９への通電電流を制御するものである。１３は手振れ補正制御の実行および不実行を決定するためのスイッチであり、使用者の操作によって切換設定される。
【００１３】
１４はレンズ装置の全ての制御を司るレンズマイコン（制御手段）であり、このレンズマイコン１４によって司られる制御には、フォーカス制御、手振れ補正制御のほかカメラ通信制御等がある。レンズマイコン１４は、その基本機能として、タイマーカウンタ、ＰＷＭ出力、Ａ／Ｄ変換およびシリアル転送等を有する。
【００１４】
１７はカメラ本体である。１５はカメラ本体１７とレンズ本体１とを連結させるためのレンズマウントであり、１９はレンズ本体１とカメラ本体１７とを連結するためのカメラマウントである。レンズマウント１５とカメラマウント１９とは使用者が相対回転操作を行うことによって連結される。１６はカメラとのシリアル通信を行うための複数の接点を有するレンズ通信ユニットであり、１８はレンズマイコン１４とのシリアル通信を行うための複数の接点を有するカメラ接点ユニットである。これら通信ユニット１６，１８は、レンズマウント１５とカメラマウント１９とが連結されることによって電気的に接続される。
【００１５】
２０は被写体までの距離を測定するラインＣＣＤと焦点光学系とを含む測距ユニットである。２１はカメラの全ての制御を司るカメラマイコンである。なお、カメラマイコン２１には、測距制御やレンズとの通信制御等の多くの制御系が存在するが、ここでは説明を省略する。また、図１において、実線は電気的な連結を意味し、点線はメカ的な連結を意味する。矢印は電気的な入出力の方向を意味している。
【００１６】
カメラマイコン２１は、カメラ本体１７にレンズ本体１が装着されたことを検知するとカメラ通信ユニットを通してレンズマイコン１４との通信を試みる。レンズマイコン１４は正常に連結されていることを確認し、カメラマイコン２１に正常装着であることを送信する。次にカメラマイコン２１は、使用者からの指示を待つ。使用者からオートフォーカス開始の指示が下された場合は測距ユニット２０を動作させ、被写体までの距離を計測する。カメラマイコン２１は計測された被写体までの距離にフォーカスレンズ２を移動させるためにカメラ通信ユニット１６を通して、レンズマイコン１４にフォーカスレンズ２のズレ量を送信する。レンズマイコン１４はカメラマイコン２１の指示に従って、ドライバー回路６を通じてモータ４を駆動し、フォーカスユニット３の駆動を開始させる。モータ４の回転とともにエンコーダ回路５からの出力がレンズマイコン１４に入力され、レンズマイコン１４はモータ４の回転量と回転速度とを導き出してドライバー回路１１を通じて制御を行う。
【００１７】
レンズマイコン１４はオートフォーカス制御とは別に、スイッチ１３の状態を常に検知し、スイッチ１３により手振れ補正の実行指示がなされている場合は、振動ジャイロ１１の出力値を演算してシフト補正ユニット８の制御目標位置と位置検出回路１２により検出された現位置との差をとり、ドライバー回路１０を通じてシフト補正ユニット８の移動を制御する。これによって補正レンズ７が光軸と直交する方向に移動して光軸の位置が補正されるため、使用者には被写体が停止して見えることになる。
【００１８】
ところで、オートフォーカス制御は使用者の意志に応じて任意的に行なわれる一方、手振れ補正制御は使用者の意志に関係なく継続的に行われる。つまり、オートフォーカス制御はエンコーダ検出による速度制御、駆動量制御が主となるため、一定周期での制御には不適である。このためマイコンの処理能力に応じて、常にループ上に検出、制御しているメイン部の制御ルーチンに組み込むことが最善と考えられる。なお、メイン部で行なっている他の制御には、たとえば各種スイッチ類の検知や各種操作等が含まれている。
【００１９】
一方、手振れ補正制御は適当なサンプリング周期で振動ジャイロ１１の出力と位置検出回路１２の出力とを取り込み、シフト補正ユニット８の制御を行なう必要がある。これをレンズマイコン１４で制御するには、タイマー機能を用いて、所定周期ごとにメイン部に割り込みをかけて、この割込み処理中に手振れ補正制御を行なわせることが最善と考えられる。
【００２０】
本実施形態では、これらの２つの制御を１つのマイコン（レンズマイコン１４）で行う場合に、処理負担が増加して処理速度が低下した結果、例えば手振れ補正制御の割込み処理中に更なる手振れ補正割込みがかかるというような事態を防ぐために、フォーカスユニット３の駆動中は手振れ補正割込み（以下、タイマー割込みともいう）がかかる周期を長くしている。さらには、フォーカスユニット３の駆動中でも特に加減速時が最も制御時間を必要とするため、加減速制御時のみ周期を長くすることで手振れ補正制御への悪影響も最小限に抑えることを可能としている。
【００２１】
またフォーカスユニット３の駆動処理中に、手振れ補正割込み処理が常に重なるかどうかは互いの制御状態によって異なる。例えば、フォーカスユニット３の移動速度が遅い場合はエンコーダ５の出力変化に伴う割込み処理が減るため、処理負担はそれほど大きくならず手振れ補正制御の割込み周期を変える必要がない。また、手振れ補正制御においても使用者がカメラ撮影に熟練しておりあまり手振れが生じないような場合には、振動ジャイロ１１の出力値が前回の割込み処理時と変わらず、今回はシフト補正ユニット８の駆動の必要がない等ということも考えられ、この場合も処理負担はそれほど大きくならないので、手振れ補正制御の割込み周期を変える必要がない。
【００２２】
これらを考慮した制御方法として、例えば手振れ補正割込み処理中にフォーカスユニット３の移動速度や加速、定速、減速等の制御状態を検知し、検知状態に応じてタイマー割込みの処理回数を減らすことが考えられる。
【００２３】
図２（Ａ）には、本実施形態におけるレンズマイコン１４により行われる手振れ補正制御用のプログラムフローチャートである。前述したように、手振れ補正制御はマイコン１４へのタイマー割込みを用いて一定周期で実行される。なお、手振れ補正制御は、割込み処理ルーチンであるため、メイン部のループルーチン上の不確定位置で処理される。
【００２４】
ステップ２００でタイマー割込みがかかると、ステップ２０１では、振動ジャイロ１１の出力をレンズマイコン１４のＡ／Ｄ機能を通じて取得する。なお、本実施形態では、タイマー割込みが５００μＳＥＣごとにかかるように設定しており、したがってこのルーチンは１／２ＫＨｚの周期ごとに繰り返し行われる。
【００２５】
ステップ２０２では、振動ジャイロ１１のＡ／Ｄ出力値をプログラムによるフィルターにかけて電気的なＤＣ成分除去を行い、手振れによる振幅成分を強調させて内部メモリーに記憶する。
【００２６】
ステップ２０３では、スイッチ１３の状態を確認し、手振れ補正制御を行なうか否かを判断する。スイッチ１３がＯＦＦである場合は手振れ補正を実行せず、タイマー割込みを許可して処理を終了する。なお、ここで割込みを許可するのは、使用しているマイコンが多重割込み禁止の仕様になっている場合であり、多重割込み禁止の使用でない場合には、割込み許可が不要となる。
【００２７】
ステップ２０４では、シフト補正ユニット８の現在位置を検出するために位置検出回路１２の出力を取得する。本実施形態では、位置検出方法としてＰＳＤ（ポジション・センシティブ・ダイオード）を使用するものとして説明する。この位置検出回路１２の出力をレンズマイコン１４のＡ／Ｄ機能によって取り込み、レンズマイコン１４内部のメモリーに記憶する。
【００２８】
ステップ２０５では、ステップ２０２で演算した結果をメモリーから読み出し、積分演算を行なう。これによって振動ジャイロ１１の出力値である角速度信号を角変位信号に変換する。次に、ステップ２０４で検出したシフト補正ユニット８の位置出力をメモリーから読み出し、角変位信号との差からシフト補正ユニット８の移動量を演算する。
【００２９】
ステップ２０６では、ステップ２０５で演算した結果に基づいて、ドライバー回路１０を通じてコイル９に通電し、シフト補正ユニット８の駆動制御を行なう。
【００３０】
ステップ２０７では、現在フォーカスユニット３が移動中か否かを判別する。フォーカスユニット３が移動中でないと判別された場合はステップ２０８に進む。この場合、レンズマイコン１４の処理が速いため、ステップ２０８では次のタイマー割込みまでの周期を短く変更する処理を行なう。但し、この処理は、前回までのサンプリング周期が長い設定の場合のみ行われ、前回までのサンプリング周期が短い場合には処理を行わない。例えば、現在のサンプリング周期（タイマー割込み周期）が１／１ＫＨｚ（１０００μＳＥＣ）と長い設定の場合、１／２ＫＨｚ（５００μＳＥＣ）周期とすることで、より綿密で正確な手振れ補正を行なうことが可能となる。
【００３１】
一方、ステップ２０７でフォーカスユニット３が移動中と判別された場合はステップ２０９に進む。フォーカスユニット３が移動中の場合はレンズマイコン１４の処理が遅いため、ステップ２０では次のタイマー割込みまでの周期を長く変更する処理を行なう。但し、この処理は、前回までのサンプリング周期が短い設定の場合のみ行われ、前回までのサンプリング周期が長い場合には処理を行わない。例えば前回までのサンプリング周期が１／２ＫＨｚ（５００μＳＥＣ）と短い設定の場合、１／１ＫＨｚ（１０００μＳＥＣ）周期とすることで、フォーカスユニット３の移動制御への支障を取り払うことが可能となる。なお、このステップでは手振れ補正のサンプリング周期を長く設定しているが、人の手振れ周期は約１／１０Ｈｚから１／１Ｈｚであるため、通常使用での性能には全く問題はない。
【００３２】
こうして割込み周期を変更した後、ステップ２１０では、タイマー割込みを許可し、ステップ２１１に進んで今回の手振れ補正割込みを終了する。
【００３３】
ここで、マイコンの仕様は、多重割込みに関して、割込み処理中は他の割込みを全て禁止するものと、割込み処理中は同じ制御の割込みのみ禁止するものと、他の割込みを一切禁止せず、必要に応じてプログラムで禁止をかけるという３種類に大別できる。そして、前者２つには、割込み処理がかかった時点で自動的に他の割込みが禁止になり、割込み処理の終了と同時に割込み許可になるものや、プログラムで割込み許可をしないと禁止状態のまま保持されるもの等、多種類のものがある。
【００３４】
本実施形態では、割込み処理が入ったときに同じ割込み処理のみを禁止し、処理の終了時にプログラムで同じ割込みの許可をするタイプのマイコン仕様を採用している。このため、手振れ補正割込み処理中に他の割込みは許可になっているので、フォーカスユニット３の駆動に伴うエンコーダ回路５の出力変化に応じた割込み処理（これについては後述する。以下、エンコーダ割込みという）が多数かかると、手振れ補正やフォーカス制御が遅延するおそれがある。
【００３５】
この点、フォーカスユニット３の移動速度が遅い場合は、エンコーダ割込みが減り、レンズマイコン１４の処理能力はさほど落ちない。具体的にフォーカスユニット３の移動速度が遅い場合とは、電池の容量不足等による場合や、機種の違いで移動させるレンズの重量が重かったり負荷的に多かったりする場合である。そして、この場合は、レンズマイコン１４の負担軽減のためにフォーカス制御中における手振れ補正サンプリング周期を長くする必要はない。
【００３６】
また、オートフォーカス制御には、加速域−定速域−減速域のほぼ３種類の速度制御領域がある。そして、レンズマイコン１４の処理負担が大きくなるのは、エンコーダ割込み処理の回数が最も多くなる高速時である。しかし、高速時であっても定速移動中であれば、細かな速度制御を行なう必要はなく、モータ４への電力供給も安定している。しかし、加速域および減速域は、低速から高速への移り変わりおよび高速から低速への移り変わりを含み、かつモータ４への電力供給も細かく制御する必要があるため、マイコン１４の処理負担がきわめて大きくなる。しかも、減速域ではフォーカスユニット３を精度よく停止位置に位置決めする必要があるため、減速域での制御の遅れはできるだけ避けなければならない。このため、上述のフローのステップ２０７を、図２（Ｂ）に示すように、ではフォーカスユニット３の現在の制御状態の判別ステップとすれば、レンズマイコン１４における手振れ補正制御の負担も少なくできる。具体的には、ステップ２０７′で、フォーカスユニット３は加減速域にあるか否かを判別し、加減速域にある場合はステップ２０９に進み、定速域にある場合はステップ２０８に進むようにすればよい。
【００３７】
（第２実施形態）
第１実施形態では、レンズマイコン１４の処理負担増による処理速度の低下によって手振れ補正処理が重複して実行されないように、手振れ補正制御のタイマー割込みのサンプリング周期をフォーカスユニット３の制御状態によって変更しする場合について説明したが、この制御では常にフォーカスユニット３の制御状態を監視する必要がある。
【００３８】
そして、オートフォーカス制御と手振れ補正制御とをリンクさせたプログラムは制御の複雑化を招き、例えば複数の人がプログラム作成をする場合は間違いや誤解を産みやすい。そこで、本実施形態では、手振れ補正制御プログラムのみで完結できるようにした場合について説明している。
【００３９】
なお、本実施形態のプログラムは、第１実施形態にて説明したレンズ装置において実行される。但し、本実施形態では、より簡単なプログラムにするため、多重割込み禁止の仕様のレンズマイコン１４を用いて、あえて割込みを重複させるが新たな割込みによる制御は行なわないようにしている。
【００４０】
これらを考慮した制御方法として、例えば手振れ補正割込み処理中に次の手振れ補正割込み処理要求がなされた場合（割込み処理が重なった場合）は、この新たな割込み処理をキャンセルする方法を採り得る。つまり、割込み処理が重なった時に後から要求された割込み処理をキャンセルすることにより、各々の制御状態によって制御処理を間引いてより効率が良くすることが可能である。
【００４１】
図３には、本実施形態のレンズ装置のレンズマイコン１４における手振れ補正制御を行なっている部分のプログラムフローチャートを示している。第１実施形態と同様に、手振れ補正制御は、マイコン１４のタイマー割込みを用いて一定周期で実行され、割込み処理ルーチンであるためメイン部のループルーチン上の不確定位置で処理される。
【００４２】
ステップ４００でタイマー割込みがかかると、ステップ４０１では、振動ジャイロ１１の出力をレンズマイコン１４のＡ／Ｄ機能を通じて取得する。なお、本実施形態では、タイマー割込みが５００μＳＥＣごとにかかるように設定しており、したがってこのルーチンは１／２ＫＨｚの周期ごとに繰り返し行われる。
【００４３】
ステップ４０２では、振動ジャイロ１１のＡ／Ｄ出力値をプログラムによるフィルターにかけて電気的なＤＣ成分除去を行い、手振れによる振幅成分を強調させて内部メモリーに記憶する。
【００４４】
ステップ４０３では、スイッチ１３の状態を確認し、手振れ補正制御を行なうか否かを判断する。スイッチ１３がＯＦＦである場合は手振れ補正を実行せず、タイマー割込みを許可して処理を終了する。なお、ここで割込みを許可するのは、使用しているマイコンが多重割込み禁止の仕様になっている場合であり、多重割込み禁止の使用でない場合には、割込み許可が不要となる。
【００４５】
ステップ４０４では、シフト補正ユニット８の現在位置を検出するために位置検出回路１２の出力を取得する。本実施形態では、位置検出方法としてＰＳＤ（ポジション・センシティブ・ダイオード）を使用するものとして説明する。この位置検出回路１２の出力をレンズマイコン１４のＡ／Ｄ機能によって取り込み、レンズマイコン１４内部のメモリーに記憶する。
【００４６】
ステップ４０５では、ステップ４０２で演算した結果をメモリーから読み出し、積分演算を行なう。これによって振動ジャイロ１１の出力値である角速度信号を角変位信号に変換する。次に、ステップ４０４で検出したシフト補正ユニット８の位置出力をメモリーから読み出し、角変位信号との差からシフト補正ユニット８の移動量を演算する。
【００４７】
ステップ４０６では、ステップ４０５で演算した結果に基づいて、ドライバー回路１０を通じてコイル９に通電し、シフト補正ユニット８の駆動制御を行なう。
【００４８】
ステップ４０７では、レンズマイコン１４の内部タイマーの割込み状態を検知し、新たなタイマー割込みが入っているか否かを確認する。これは、割込み処理に関する内部メモリーが変化してその内容が割込みの状態を表しているか否かの確認を行なうというマイコンの機能のひとつを使った方法である。メモリーの内容として、割込み処理中、割り込み許可中、割り込み要求等があり、レンズマイコン１４に割込み要求が入力されて割込み処理に入ると、メモリーに自動的に割込み処理中がセットされ、割込み許可中と割込み要求がリセットされる。割込み処理が終了すると、割り込み処理中が自動的にリセットされる。
【００４９】
ステップ４０８では、ステップ４０７で新たな割込み要求が出ている場合、メモリーの割込み要求部分のみを強制的にリセットし、新たな割込みをキャンセルする。こうして手振れ補正制御を間引くことによってレンズマイコン１４の負担を減らし、フォーカス制御への影響をなくすことができる。なお、このステップでは手振れ補正制御の割込み制御中の新たな割込みをキャンセルするようにして、結果的に手振れ補正制御の割込み周期を長くしているが、人の手振れ周期は約１／１０Ｈｚから１／１Ｈｚであるため、通常使用での性能には全く問題はない。
【００５０】
最後にステップ４０９でタイマー割込みを許可し、ステップ４１０で今回の手振れ補正割込みを終了する。
【００５１】
（第３実施形態）
第１および第２実施形態では、手振れ補正制御側での対処方法について説明したが、本実施形態では、オートフォーカス制御側での対応方法について説明する。なお、本実施形態も、第１実施形態にて説明したレンズ装置に適用される。
【００５２】
図４には、本実施形態によるフォーカス制御、特に減速域での速度制御によるフォーカスユニット３の速度と移動量（位置）との関係を示しており、縦軸はフォーカスユニット３の移動速度を表し、横軸はフォーカスユニット３の移動量を表している。また、実線Ａは手振れ補正機能がスイッチ１３によって禁止されている場合に適用される、予め設定された目標速度制御カーブである。また、実線Ｂは、目標速度カーブＡにフォーカスユニット３の移動速度を合わせるためにマイコン１４で制御したときのフォーカスユニット３の実際の速度制御カーブである。点線Ｃは手振れ補正機能がスイッチ１３によって許可されている場合に適用される、予め設定された目標速度制御カーブであり、点線Ｄは目標速度カーブＣにフォーカスユニット３の移動速度を合わせるためにマイコン１４で制御した場合のフォーカスユニット３の実際速度カーブである。
【００５３】
手振れ補正を行わない場合は、レンズマイコン１４においてオートフォーカス制御にかけられる時間の割合が多いため、フォーカスユニット３の移動速度も目標速度カーブＡに沿った形で制御が可能である。しかし、手振れ補正制御を行なう場合は、オートフォーカス制御にかけられる時間の割合が減るために減速が間に合わず、フォーカスユニット３が目標位置を通り越して停止してしまうことがある。オートフォーカス制御は第１実施形態で説明したメイン部のループ上のルーチンで処理されるためこのようなことが起きている。
【００５４】
これを解消するため、手振れ補正制御中は同図の目標速度カーブＣに沿った形でオートフォーカス制御をすることによって、減速領域を長くとることができ、フォーカスユニット３をスムーズに目標位置に停止させることができる。カーブＡとカーブＣの違いは、減速率（傾き）と減速開始タイミングとにあり、カーブＣの方がカーブＡよりも減速開始タイミングが早く、かつ減速率が小さく設定されている。
【００５５】
（第４実施形態）
本実施形態でも、第３実施形態と同様にオートフォーカス制御側での対応方法について説明する。なお、本実施形態も、第１実施形態にて説明したレンズ装置に適用される。
【００５６】
図５には、本実施形態によるフォーカス制御、特に減速域での速度制御によるフォーカスユニット３の速度と移動量（位置）との関係を示しており、縦軸はフォーカスユニット３の移動速度を表し、横軸はフォーカスユニット３の移動量を表している。また、実線Ｅは手振れ補正機能がスイッチ１３によって禁止されている場合に適用される、予め設定された目標速度制御カーブである。また、実線Ｆは、目標速度カーブＥにフォーカスユニット３の移動速度を合わせるためにマイコン１４で制御したときのフォーカスユニット３の実際の速度制御カーブである。点線Ｇは手振れ補正機能がスイッチ１３によって許可されている場合に適用される、予め設定された目標速度制御カーブであり、点線Ｈは目標速度カーブＧにフォーカスユニット３の移動速度を合わせるためにマイコン１４で制御した場合のフォーカスユニット３の実際速度カーブである。
【００５７】
手振れ補正を行わない場合は、レンズマイコン１４においてオートフォーカス制御にかけられる時間の割合が多いため、フォーカスユニット３の移動速度も目標速度カーブＥに沿った形で制御が可能である。しかし、手振れ補正制御を行なう場合は、オートフォーカス制御にかけられる時間の割合が減るために減速が間に合わず、フォーカスユニット３が目標位置を通り越して停止してしまうことがある。オートフォーカス制御は第１実施形態で説明したメイン部のループ上のルーチンで処理されるためこのようなことが起きている。
【００５８】
これを解消するため、手振れ補正制御中は同図の目標速度カーブＧに沿った形でオートフォーカス制御をすることによって、減速領域は同じであるが減速初期においてカーブＥの場合に比べて短時間で十分減速した上、減速後期において徐々に減速率を小さくしているため、フォーカスユニット３をスムーズに目標位置に停止させることができる。つまり、カーブＥは直線的な減速カーブであるのに対し、カーブＧは２次関数的な減速カーブである。カーブＧを用いれば、減速初期の１回の減速量を大きくすることができるので、レンズマイコン１４のオートフォーカス制御の実行回数が減っても安定した制御が可能となる。
【００５９】
（第１から第４の実施形態に共通の実施例）
図６には、フォーカスユニット３をモータ４により移動させた場合に、フォーカスユニット３を移動量と移動速度とを検出しているエンコーダ回路５の出力変化に応じて割込みが入るように設定されたエンコーダ割込み処理プログラムのフローチャートを示している。
【００６０】
エンコーダ回路の検出方式として、フォトインタラプタ素子と切り欠きを等ピッチで入れた円盤とから構成されるものを想定している。フォーカスユニット３が移動すると円盤が回転し、切り欠き部分をフォトインタラプタ素子の赤外光が透過したり切り欠き部分以外の部分によって遮られたりすることでフォトインタラプタ素子からパルス状の波形が出力されるので、このパルス出力の変化が読み取られ、レンズマイコン１４に割り込みがかかる設定になっている。なお、フォーカス移動開始と同時にレンズマイコン１４の内部タイマーがスタートする設定になっている。
【００６１】
レンズマイコン１４は、ステップ３００でエンコーダ割込みが入ると、ステップ３０１で、上記タイマーの現在値を読み取り、これをＴとして記憶させる。タイマーは一旦停止させ、リセットして再スタートさせる。これにより、エンコーダ回路の１変化（１パルス）分の時間値を検知できる。
【００６２】
また、このステップでは、エンコーダ割込み回数をカウントしているメモリー値Ｃ０を１カウント増加させる（Ｃ０←Ｃ０＋１）。これによりフォーカスユニット３の移動量を検出することができる。
【００６３】
次に、ステップ３０２でフォーカスユニット３が移動中か否かを判断し、移動中の場合はステップ３０３に進んで割込み処理の許可を行なってからこの割込み処理を終了し、移動中ではない場合はステップ３０４に進んでそのまま割込み処理を終了する。なお、ステップ３０３は、割込み処理の開始と同時に割込みが禁止となる多重割り込み禁止というマイコンの仕様に対処しているものである。
【００６４】
図７には、カメラ側からのシリアル通信が入った場合の通信割込み処理のプログラムフローチャートを示している。カメラマイコン２１とレンズマイコン１４との通信内容は主に光学に関するデータの送受信、双方の状態確認、フォーカス移動要求等であるが、ここでは、フォーカス駆動要求に関して説明を行なう。
【００６５】
レンズマイコン１４は、ステップ５００でカメラからの通信割り込みが入ると、ステップ５０１に進んで、通信内容がフォーカス駆動命令かその他の処理命令かを判断する。その他の処理命令の場合は、対応する処理を行い、ステップ５０６で次の通信割込みを許可した上でこの通信割込み処理を終了する。
【００６６】
カメラからの通信が内容がフォーカス駆動命令の場合は、ステップ５０３に進む。この時点では、予め他の通信によってフォーカスの移動量に対応するデータがカメラマイコン２１より送信されているので、このデータからフォーカス移動量を演算して演算結果を内部メモリーのＭ０に記憶させる。
【００６７】
次に、ステップ５０４に進む。この時点では、予め他の通信によってフォーカスの移動方向に対応するデータがカメラマイコン２１より送信されているので、このデータからフォーカスユニット３の移動方向を導き出す。そして、ステップ５０５では、導き出した移動方向にフォーカスユニット３の移動を開始させるため、ドライバー回路６を通じてモータ４への通電を開始する。同時にフォーカスユニット３の移動速度を検知するための内部タイマーをリセットした上でスタートさせる。なお、モータ４への通電前に、メモリーＭ０以外のフォーカス制御に関するレンズマイコン１４内部のメモリーをクリする。
【００６８】
レンズマイコン１４は多重割込み禁止の仕様となっているため、ステップ５０６で次の通信割込みを許可した上で、ステップ５０７に進み、今回の通信割込み処理を終了する。
【００６９】
図８には、レンズマイコン１４のメイン部のプログラムフローチャートを示している。このメイン部は、ループ状の制御形態となっており、フォーカス制御はこのルーチンで行われている。
【００７０】
カメラ本体１７にレンズ本体１をレンズマウント１５、カメラマウント１９を介して装着すると、レンズ通信ユニット１６とカメラ通信ユニット１８も接点を介して電気的に接続される。これにより、カメラ１７からレンズマイコン１４に電源が供給され、レンズマイコン１４はステップ１００で本プログラムの実行をスタートし、ステップ１０１で内部メモリーの初期化動作（メモリークリア、ポート設定等）を行う。
【００７１】
次に、ステップ１０２でスイッチ１３等の各種スイッチの状態を確認する。そして、ステップ１０３で、カメラマイコン２１からのフォーカス駆動命令によるフォーカスユニット３の駆動制御を行なっているか否かを判別し、行なっている場合はステップ１０４に進み、行なっていない場合はステップ１０２へ戻る。
【００７２】
ステップ１０４では、エンコーダ回路５の出力変化があったか否か（図６で説明したエンコーダ割込み処理を行なったか否か）を判別し、エンコーダ出力変化があった場合はステップ１０５に進む。この場合、図６で説明したようにパルス間隔時間Ｔとフォーカスユニット３の移動量Ｃ０とが変更されているため、ステップ１０５では、最初に実際のフォーカスユニット３の移動量Ｃ０をカメラから指示された移動量Ｍ０から減算し、駆動残量Ｍとしてマイコン内部のメモリーに記憶させる。
【００７３】
次にステップ１０６に進み、現在、手振れ補正制御中か否かを確認し、手振れ補正制御中であればステップ１０７に、手振れ補正制御中でなければステップ１０８に進む。
【００７４】
ステップ１０７では、ステップ１０５で計算した駆動残量に応じて、予め手振れ補正制御中の場合の速度データとして内部メモリーに記憶しておいた目標速度テーブル１の値（図４のカーブＣ又は図５のカーブＧ上の値）を内部メモリーＳ０に記憶させる。この場合、データは速度データではなく単に１パルス当たりの時間値でもよい。
【００７５】
一方、ステップ１０８では、ステップ１０５で計算した駆動残量に応じて、予め手振れ補正制御を行なっていない場合の速度データとして内部メモリーに記憶しておいた目標速度テーブル２の値（図４のカーブＡ又は図５のカーブＥ上の値）を内部メモリーＳ０に記憶させる。この場合のデータも速度データではなく単に１パルス当たりの時間値でもよい。
【００７６】
こうして目標速度データを内部メモリーＳ０に記憶させた後、ステップ１０９に進み、実際のパルス間隔時間Ｔからフォーカスユニット３の移動速度を演算して実際速度Ｓ１として内部メモリーに記憶させる。この場合、速度に変換せず、そのまま時間値として記憶させてもよい。特に、ステップ１０７、１０８で時間値を記憶させた場合は、ステップ１０９でも時間値として記憶させることで、無駄な演算処理を省くことができる。
【００７７】
次に、ステップ１１０に進み、ステップ１０７又はステップ１０８で決定した目標速度Ｓ０とステップ１０９で求めた実際速度Ｓ１とを比較し、両者が同じ値であればステップ１１１に、違う値であればステップ１１３に進む。
【００７８】
ステップ１１１では、ステップ１０５で演算した駆動残量Ｍの値が０より大きいか否かを判別し、大きい場合はステップ１０２に、０以下の場合はステップ１１２に進む。ステップ１１２では、カメラマイコン２１から指示されたフォーカスユニット３の駆動制御が終了したため、制御の停止処理を行なう。前述した図７のフローにおけるステップ５０５でスタートさせたレンズマイコン１４の内部タイマーをストップし、またエンコーダ割込みも禁止してステップ１０２へ戻る。
【００７９】
一方、ステップ１１３では、目標速度Ｓ０と実際速度Ｓ１とを比較し、目標速度Ｓ０の方が小さい場合（現在のフォーカスユニット３の移動速度が速すぎる場合）はステップ１１４に進んで、ドライバー回路６を通じてモータ４への電力供給を減少させ、フォーカスユニット３の移動速度を減速させる。なお、モータ４への電力供給方法としては、ＰＷＭ制御、電圧制御、電力制御（振動型モータを使用する場合）等がある。また、目標速度Ｓ０の方が大きい場合（現在のフォーカスユニット３の移動速度が遅すぎる場合）はステップ１１５に進み、ドライバー回路６を通じてモータ４への電力供給を増大させ、フォーカスユニット３の移動速度を増速させる。こうしてフォーカスユニット３の移動速度を調節した後、ステップ１１１に進む。
【００８０】
ステップ１０４でエンコーダ回路５からの出力変化がなかった場合は、速度制御が行なえないので内部タイマーからの時間制御を行う。すなわち、図７のフローにおけるステップ５０５でスタートさせた内部タイマーの値を読み取り、その値から図６のフローにおけるステップ３０１で読み取った値Ｔを減算してＴ１としてレンズマイコン１４の内部メモリーに記憶させる。このＴ１は、エンコーダ割込みがあった時から又はフォーカス制御をスタートさせた時からの累積時間を表しており、この値が大きいほどフォーカスユニット３の移動速度が遅いことになる。
【００８１】
次に、ステップ１１７に進み、現在、手振れ補正制御中か否かを判別し、手振れ補正制御中であればステップ１１８に、手振れ補正制御中でなければステップ１１９に進む。ステップ１１８では、予め手振れ補正制御中の場合の時間データとして内部メモリーに記憶しておいた規定時間テーブル１の値を内部メモリーＴ２に記憶させる。また、ステップ１１９では、予め手振れ補正制御を行なっていない場合の時間データとして内部メモリーに記憶しておいた規定時間テーブル２の値を内部メモリーＴ２に記憶させる。
【００８２】
こうして規定時間データを内部メモリーＴ２に記憶させた後、ステップ１２０に進み、Ｔ１とＴ２の値を比較する。Ｔ１の方が大きい場合はフォーカスユニット３の移動速度が遅すぎるため、ステップ１１５に進んでフォーカスユニット３の移動速度を増速させる。一方、Ｔ１の方が小さい場合はフォーカスユニット３の移動速度が速すぎるため、ステップ１１１に進んでフォーカスユニット３の移動速度を減速させる。
【００８３】
以上のようにオートフォーカス制御の設定速度を手振れ補正制御の状態に合わせて変化させることにより、マイコン１４の処理能力が低下しても精度良いオートフォーカス制御を行なうことができる。
【００８４】
なお、上記各実施形態では、防振制御以外の制御としてオートフォーカス制御を挙げて説明したが、本願発明では、オートフォーカス制御以外の制御を行う場合にも適用することができる。
【００８５】
また、上記各実施形態では、カメラに着脱可能なレンズ装置について説明したが、本願発明は、レンズを一体に有したカメラやその他の光学機器に適用することができる。
【００８６】
【発明の効果】
以上説明したように、本発明によれば、防振制御とフォーカス用レンズの駆動制御とを１つの制御手段で実行する場合に、該制御手段の負担を軽くすることができるので、比較的安価な１つの制御手段を用いて双方の制御の性能を高く維持することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態であるカメラとレンズの内部構成を示すブロック図である。
【図２】上記レンズのマイコンにて実行される手振れ補正制御の実行周期変更用フローチャートである。
【図３】本発明の第２実施形態であるレンズのマイコンにて実行される手振れ補正制御の実行周期変更用フローチャートである。
【図４】本発明の第３実施形態であるレンズのマイコンにて実行されるフォーカス制御の減速特性を示すグラフ図である。
【図５】本発明の第４実施形態であるレンズのマイコンにて実行されるフォーカス制御の減速特性を示すグラフ図である。
【図６】上記第１〜第４実施形態のレンズマイコンにおけるフォーカス制御（エンコーダ）割込みルーチンのフローチャートである。
【図７】上記第１〜第４実施形態のレンズマイコンにおける通信割込みのフローチャートである。
【図８】上記第１〜第４実施形態のレンズマイコンにおけるメイン部のフローチャートである。
【符号の説明】
１    レンズ本体
２    フォーカスレンズ
３    フォーカスユニット
４        モータ
５        エンコーダ回路
６        ドライバー回路（フォーカス側）
７        補正レンズ
８        シフト補正ユニット
９        コイル
１０    ドライバー回路（手振れ補正側）
１１    振動ジャイロ
１２    位置検出回路
１３    手振れ補正スイッチ
１４    レンズマイコン
２０    測距ユニット
２１    カメラマイコン
【図１】
0003566486.tif 000002
【図２】
0003566486.tif 000003
【図３】
0003566486.tif 000004
【図４】
0003566486.tif 000005
【図５】
0003566486.tif 000006
【図６】
0003566486.tif 000007
【図７】
0003566486.tif 000008
【図８】
0003566486.tif 000009