図1には、本発明の実施例であるステッピングモータ駆動状態検出装置としての脱調検出部115を備えた光学機器としての交換レンズ110と、撮像装置としてのカメラ本体130とにより構成されるレンズ交換式カメラシステム100の構成を示している。交換レンズ110は、カメラ本体130に対して取り外し可能に装着される。
カメラ本体130には、撮像素子136と、カメラCPU131と、制御系電源132と、駆動系電源133と、カメラ通信ユニット134と、焦点検出ユニット135とが設けられている。撮像素子136は、交換レンズ110内の撮像光学系により形成された被写体像を光電変換して電気信号を出力する。不図示の画像処理回路は、撮像素子136から出力された電気信号を用いて映像信号を生成する。
カメラCPU131は、カメラ本体130におけるすべての動作の制御を司っており、RAM、ROMおよびEEPROM等のメモリを内蔵している。制御系電源132は、撮像素子136、画像処理回路、焦点検出ユニット135および不図示の測光部等の電力消費が比較的少なく安定した電源を必要とする制御系の回路に電力を供給する。駆動系電源133は、制御系電源132の電圧(または電力)を検出し、交換レンズ110を含む外部アクセサリや不図示のシャッタ駆動部等の電力消費が比較的多い駆動系の回路に電力を供給する。
カメラ通信ユニット134は、後述するレンズCPU111との通信を行うための複数の通信端子を有し、焦点検出情報や測光情報をレンズCPU111に送信したり、レンズCPU111からの情報を受信したりする。焦点検出ユニット135は、交換レンズ110内の撮影光学系からの光束を用いて、被写体に対する撮影光学系の焦点状態を位相差検出方式によって検出する。
交換レンズ110には、レンズCPU111と、フォーカスレンズ(フォーカス素子)112と、フォーカスレンズ112を駆動するステッピングモータ113と、フォーカス駆動回路114と、脱調検出部115と、レンズ通信ユニット116とが設けられている。レンズCPU111は、カメラCPU131からの命令信号、要求信号および各種情報に基づいて交換レンズ110の動作を制御する。レンズCPU111は、RAM、ROMおよびEEPROM等のメモリと、ステッピングモータ113の駆動を制御するための駆動制御部等を内蔵している。
ステッピングモータ113は、回転可能なロータと、ステータとしての励磁コイルとを含み、励磁コイルに駆動パルス信号が印加されることに応じてロータを回転させる。後述する脱調が生じなければ、ロータ(ステッピングモータ113)は励磁コイルに印加された駆動パルス信号のパルス数(以下、駆動パルス数という)に応じた回転量だけ回転する。
フォーカス駆動回路114は、レンズCPU111からのフォーカス駆動命令に応じて、ステッピングモータ113に駆動パルス信号を印加する。これにより、被駆動部材であるフォーカスレンズ112が撮影光学系の光軸方向に駆動され、撮影光学系の焦点状態が調節される。なお、焦点状態の調節のために駆動されるフォーカス素子として撮像素子136を用い、ステッピングモータによって撮像素子136を光軸方向に駆動してもよい。
レンズ通信ユニット116は、カメラCPU131と通信を行うための複数の通信端子を有し、上述した焦点検出情報等をカメラCPU131から受信する。また、レンズ通信ユニット116は、交換レンズ110に固有の識別情報であるレンズID情報をカメラCPU131に送信する。
本実施例では、フォーカスレンズ112の駆動アクチュエータとしてステッピングモータ113を用いており、該ステッピングモータ113に対して後述する脱調検出処理を含む駆動制御処理を行う。ただし、脱調検出処理は、フォーカスレンズ以外の被駆動部材(光学部材)としての変倍レンズや絞り等を駆動するステッピングモータに対しても適用可能である。
次に図2を用いて、本実施例におけるステッピングモータ113の脱調を検出するための構成について説明する。図2には、フォーカスレンズ112を駆動するフォーカス駆動系を示している。フォーカス駆動系は、ステッピングモータ113のロータ壁に一体化されたリードスクリュー117と、ラック118と、フォーカスレンズ112を保持するレンズ保持部材119と、3つのリセットセンサ(位置検出手段)121a,121b,121cとを含む。以下の説明では、3つのリセットセンサ121a,121b,121cをまとめてリセットセンサ群121ともいう。また、レンズ保持部材119には、複数の遮光壁120が設けられている。
ステッピングモータ113が駆動されてリードスクリュー117が回転すると、その回転力がリードスクリュー117に噛み合ったラック118によってリードスクリュー117の軸方向、つまりは光軸方向の駆動力に変換される。ラック118はレンズ保持部材119に取り付けられているため、レンズ保持部材119(つまりはフォーカスレンズ112)はラック118とともに光軸方向に駆動される。以下の説明において、フォーカスレンズ112およびこれを保持したレンズ保持部材119の位置を、フォーカスレンズ位置という。
リセットセンサ群121は、撮影光学系を収容する不図示の鏡筒に固定されている。本実施例では、各リセットセンサとして透過型フォトインタラプタを用いる。フォトインタラプタは、その受光部が光を検知している状態でHighレベルの信号を出力し、受光部が光を検知していない状態でのLowレベルの信号を出力する。レンズ保持部材119に設けられた複数の遮光壁120は、フォーカスレンズ位置に応じてリセットセンサ121a〜121cの発光部と受光部との間に入り込み、発光部から受光部に向かう光を遮る。このため、フォーカスレンズ位置に応じてリセットセンサ121a〜121cからのHigh(以下、Hと略記する)とLow(以下、Lと略記する)の出力のパターンが変化する。レンズCPU111および脱調検出部115は、このリセットセンサ121a〜121cの出力パターンに基づいてフォーカスレンズ位置を検出することができる。
なお、本実施例ではリセットセンサとして透過型フォトインタラプタを用いる場合について説明するが、反射型フォトインタラプタや磁気センサ等、他の位置検出手段を用いてもよい。また、本実施例におけるリセットセンサ群121および遮光壁120の数や配置は例にすぎず、他の数や配置で位置検出手段を設けてもよい。
図3には、本実施例におけるフォーカスレンズ位置に応じたリセットセンサ群121の出力パターンを示している。横軸はフォーカスレンズ位置であり、左から右に向かって像側から被写体側の位置を示す。縦軸は各リセットセンサの出力(H,L)である。図3の上段から順に、リセットセンサ121aとしてのフォトインタラプタPI−a、リセットセンサ121bとしてのフォトインタラプタPI−bおよびリセットセンサ121cとしてのフォトインタラプタPI−cの出力を示している。
本実施例では、2値出力のフォトインタラプタを3つ用いているため、リセットセンサ群121の出力パターンは8種類となる。リセットセンサ群121の出力パターンからその時点でのフォーカスレンズ位置を所定範囲内に絞り込むことができる。さらに、いずれかのフォトインタラプタの出力が切り替わる位置までフォーカスレンズ112を移動させることで、フォーカスレンズ位置を特定することができる。
例えば、フォトインタラプタPI−a,PI−b,PI−cの出力がL,L,Lの状態では、フォトインタラプタPI−aの出力エッジ位置FP_PI1からフォトインタラプタPI−bの出力エッジ位置FP_PI2までの範囲内にフォーカスレンズ位置がある。この状態から、フォーカスレンズ112が被写体側に移動すると、フォトインタラプタPI−bは、その発光部と受光部との間から遮光壁120から抜け出ることで、Hを出力する。これにより、この時点でのフォーカスレンズ位置(絶対位置)をFP_PI2として特定することができる。
このような絶対位置検出機構を持たない場合は、フォーカスレンズ位置を特定するために、カメラCPU131はレンズCPU111に対してリセット処理命令を発行する。リセット処理命令を受信したレンズCPU111は、出力エッジ位置FP_PI1〜FP_PI7のいずれかにフォーカスレンズ112を移動させるリセット処理を行う。出力エッジ位置FP_PI1〜FP_PI7のそれぞれに対応するフォーカスレンズ位置(絶対位置)は予めレンズCPU111が記憶している。レンズCPU111は、リセット処理によりフォーカスレンズ112が出力エッジ位置FP_PI1〜FP_PI7のいずれかに位置したことを検出すると、その出力エッジ位置に対応する絶対位置をリセット位置として設定する。リセット処理が完了すると、レンズCPU111はカメラCPU131に対してリセット完了ステータスを送信した後にカメラCPU131から発行されるフォーカス駆動命令を受ける。レンズCPU111は、フォーカス駆動命令に含まれるフォーカスレンズ112の駆動量に対応するパルス数の駆動パルス信号をフォーカス駆動回路114からステッピングモータ113に印加させる。
そして、レンズCPU111は、このときにステッピングモータ113に印加された駆動パルス数をリセット位置に対応する駆動パルス数に対して加減算する。このようにしてレンズCPU111は、リセット位置からの駆動パルス数の累積カウント値としてのフォーカスレンズ位置を管理する。
次に、脱調検出部115について説明する。本実施例の脱調検出部115は、リセットセンサ群121の出力を用いて、上述したリセット処理の完了後にステッピングモータ113の脱調を検出(判定)する。具体的には、脱調検出部115は、図3に示した7つの出力エッジ位置FP_PI1〜FP_PI7にて脱調判定を行う。脱調検出部115は、第1の位置取得手段、第2の位置取得手段および脱調検出手段として機能する。
例えば、出力エッジ位置FP_PI4に対応するステッピングモータ113の駆動パルス数を8000パルスとし、出力エッジ位置FP_PI5に対応する駆動パルス数を9000パルスとする。出力エッジ位置FP_PI4でリセット処理を行い、その後、出力エッジ位置FP_PI4から被写体側に1200パルス分のステッピングモータ113の駆動がなされたとする。そして、この1200パルス分の駆動中において、ステッピングモータ113が1004パルス分駆動された時点でリセットセンサ群121の出力パターンがH,L,Hから出力エッジ位置FP_PI5に対応するL,L,Hに変化したものとする。
このとき、レンズCPU111において駆動パルス数の累積カウント値として管理されているフォーカスレンズ位置(第2の位置情報:以下、駆動パルス累積値という)は、8000+1004=9004パルスである。これに対して、出力エッジ位置FP_PI5での本来の駆動パルス数(第1の位置情報:以下、判定基準パルス数という)は前述した9000パルスであり、9004パルスとの差分は4パルスである。レンズCPU111は、これら判定基準パルス数と駆動パルス累積値との差分が予め設定した閾値よりも大きいときはステッピングモータ113に脱調が生じたものと判定する。そして、脱調が生じたと判定した場合は、フォーカスレンズ位置の絶対位置を再取得するためにリセット処理を再度行う。
本実施例のようなフォーカス駆動系においては、リセットセンサ群121からの信号出力の遅延やフォーカス駆動系を構成する各部材の温度変化による伸縮等の影響によって、脱調が生じていなくても駆動パルス累算値が判定基準パルス数と一致しない場合がある。しかし、脱調が生じた場合は判定基準パルス数と駆動パルス累算値との差が脱調によらない場合の差に比べて大きく異なる。したがって、これら脱調によらない差よりも大きい差を脱調判定の閾値(脱調判定閾値)として用いることが好ましい。例えば、リードスクリュー117とラック118との間での歯飛びを考慮して、ステッピングモータ113の1回転分の駆動パルス数に相当するパルス数を所定値としての脱調判定閾値として用いると、脱調に加えて歯飛びの発生も検出することができる。
また、フォーカスレンズ112の移動が可能な可動範囲内でリセットセンサ群121の8つの出力パターンのそれぞれが1回ずつしか現れなければ、上述した方法による脱調判定で十分である。しかし、交換レンズ110には、遮光壁120の形状のばらつきや温度による伸び率の差、さらには各リセットセンサの取付位置の誤差や発光部の発光効率の経年変化特性の違い、受光部の受光感度特性の違い等の個体差がある。そして、このような個体差に起因して、図3に示すような理想的な出力パターンが得られない場合がある。例えば、図4に示すような出力パターンが得られる可能性がある。
図4には、図3に示した場合よりもフォトインタラプタPI−bがフォトインタラプタPI−aに近づいて取り付けられ場合においてフォーカスレンズ位置に応じたリセットセンサ群121の出力(縦軸)の変化を示している。横軸はフォーカスレンズ位置である。図4では、リセットセンサ群121の出力パターンがH,H,Lである領域とH,L,Lである領域とがそれぞれ2つずつ存在する。この場合に出力エッジ位置FP_PI1〜FP_PI7のうち1つを特定するためには、リセットセンサ群121の出力パターンに加えてステッピングモータ113の駆動方向(以下、モータ駆動方向という)を検出する必要がある。以下の説明において、フォーカスレンズ112を被写体側に向かって駆動するモータ駆動方向を被写体方向といい、フォーカスレンズ112を被写体側とは反対側(像面側)に向かって駆動するモータ駆動方向を像面方向という。
例えば、出力エッジ位置FP_PI1を検出するには、モータ駆動方向が被写体方向であれば、フォトインタラプタPI−b,PI−cの出力がともにLのままフォトインタラプタPI−aの出力がHからLに変化したタイミングを検出できればよい。また出力エッジ位置FP_PI4を検出するには、モータ駆動方向が像面方向であれば、フォトインタラプタPI−aの出力がHでフォトインタラプタPI−cの出力がLのままフォトインタラプタPI−bの出力がLからHに変化したタイミングを検出できればよい。このように、リセットセンサ群121に個体差があってもリセットセンサ群121の出力パターンとモータ駆動方向とから1つの出力エッジ位置を特定することができる。
ただし、ステッピングモータでは、ディテントトルクや振動特性の影響によって制御上で意図しない反転動作(以下、不要反転動作という)が生じる場合がある。この不要反転動作がフォトインタラプタの出力エッジ位置付近で発生すると、レンズCPU111は誤ったフォーカスレンズ位置を検出することになり、この結果、誤った脱調判定を行うおそれがある。例えば、図4において出力エッジ位置FP_PI1に対して被写体側にて近接する位置(図中に★印で示す位置)にフォーカスレンズ112が停止している状態からステッピングモータ113の被写体方向への駆動を開始するものとする。この際、ステッピングモータ113の不要反転動作によって、本来すぐには変化しないはずのフォトインタラプタPI−aの出力がLからHに変化したとする。しかし、制御上ではモータ駆動方向は被写体方向であり、フォトインタラプタPI−cの出力はLであるため、フォトインタラプタPI−aの出力がLからHに変化することで出力エッジ位置FP_PI3が検出されたことになる。つまり、フォーカスレンズ112は出力エッジ位置FP_PI1に位置するにもかかわらず、出力エッジ位置FP_PI3に位置するものと検出される。このため、
FP_PI3での駆動パルス数−FP_PI1での駆動パルス数>脱調判定閾値
となり、誤って脱調と判定される。
以上のことから、本実施例の脱調検出部115は、不要反転動作等、ディテントトルクの影響を受ける特定駆動状態を除いてステッピングモータ113の脱調の検出(脱調判定)を行う。言い換えれば、ステッピングモータ113の特定駆動状態での脱調判定を制限(禁止)する。
不要反転動作が生じるおそれがある特定駆動状態としては、ステッピングモータ113の駆動開始時および駆動停止時のようにステッピングモータ113の励磁コイルへの通電のオン/オフが切り替えられる時点の前後での駆動状態が挙げられる。すなわち、ステッピングモータ113の駆動開始(励磁コイルへの通電開始)から所定パルス数の駆動パルス信号がステッピングモータ113に印加されるまでの駆動状態を含む。また、特定駆動状態としては、ステッピングモータ113の駆動停止前における所定パルス数の駆動パルス信号の印加が開始されてから励磁コイルへの通電保持を終了するまでの駆動状態も含まれる。所定パルス数(所定値)としては、例えば4パルス(1−2相励磁換算)としてもよい。なお、励磁コイルへの通電を保持している状態ではステッピングモータ113を回転させているわけではないが、励磁コイルへの通電を行っているのでステッピングモータ113の駆動状態の一部とする。
また、他の特定駆動状態として、ステッピングモータ113のディテントトルクによるいわゆる間欠駆動が生じ易い所定速度より低速での駆動状態である。例えば、200ppsより低速での駆動状態である。なお、上記所定パルス数や所定速度は、ステッピングモータ113やリセットセンサ群121の特性に応じて適宜設定すればよい。
さらに他の特定駆動状態としては、意図的な反転駆動(往復駆動)が繰り返されるウォブリング駆動状態がある。ウォブリング駆動状態は、コントラスト方式のフォーカス制御において、コントラスト評価値が増加する方向を検出するためにフォーカスレンズ112を微小な所定駆動量での往復駆動を繰り返す駆動状態である。ウォブリング駆動状態では頻繁に反転動作が繰り返されるため、リセットセンサ群121の出力の遅延により、出力エッジ位置を検出したタイミングによってはすでにフォーカスレンズ112の駆動方向が変化している場合がある。さらに、頻繁な停止による振動が生じるおそれもある。このため、ディテントトルクの影響を受ける駆動状態ではないが、ウォブリング駆動状態でも脱調判定を禁止することが好ましい。
なお、上述した各特定駆動状態を、撮像光学系の変倍状態(ズーム状態)やフォーカスレンズ112が移動する位置に応じて変更してもよい。
図5を用いて、フォーカスレンズ112を駆動するためにステッピングモータ113をその駆動開始から加速駆動、定速駆動および減速駆動を経て停止させるまでの間の特定駆動状態について説明する。図5において、横軸は時間を、縦軸はステッピングモータ113の角速度を示している。まずステッピングモータ113の駆動開始(駆動シーケンスの開始)とともに励磁コイルへの通電(以下、コイル通電という)が開始される。その後、100ppsおよび300ppsの加速段を経て1000ppsまで段階的に加速駆動し、1000ppsで定速駆動する。その後、フォーカスレンズ112の停止位置の手前から停止シーケンスに入る。停止シーケンスでは、300ppsおよび100ppsでの減速段を経て段階的に減速駆動し、停止位置に到達した状態にてステッピングモータ113の振動を抑えるために所定時間の間、コイル通電を保持する。図5において脱調検出部115が脱調判定を禁止する特定駆動状態の区間は、コイル通電を開始してから300pps加速段まで加速する区間IHBT1と、100pps減速段に減速してから停止状態でのコイル通電の保持が終了するまでの区間IHBT2である。
図6には、リセットセンサ群121の出力が図4に示すように変化する場合においてステッピングモータ113の不要反転動作が発生したときのリセットセンサ群121の出力(縦軸)の変化と脱調検出部115による脱調判定の禁止との関係を示す。横軸は時間を示す。図6では、フォーカスレンズ112は、出力エッジ位置FP_PI1に被写体側にて近接する位置(図4に★印で示す)から出力エッジ位置FP_PI4に像面側にて近接する停止位置(図4に*印で示す)まで駆動される。図6の上段にはフォーカスレンズ位置の変化を示している。実線は実際のフォーカスレンズ位置を、破線はレンズCPU111が与える目標位置としてのフォーカスレンズ位置(以下、目標フォーカスレンズ位置という)を示す。また、図6の中段の3つには、リセットセンサ群121(フォトインタラプタPI−a,PI−b,PI−c)の出力の変化を示している。さらに、図6の下段には、脱調検出部115の脱調判定の非禁止(非制限、許可)/禁止(制限)の切り替えを示している。
時間T0にてステッピングモータ113に対するコイル通電が開始される。この際、モータ駆動方向においてロータよりも遅れた相の励磁コイルが励磁されると、ロータはモータ駆動方向とは逆方向に引き戻される。これは、前回駆動時の停止位置近傍にロータの安定相が存在した場合に生じる現象であり、停止位置到達後に通電を切るとロータが安定相に引き寄せられてしまい、停止位置からずれた位置に微小回転してしまう現象に起因する。これにより、フォーカスレンズ112は本来の駆動方向とは逆方向に移動して、時間T1にてフォトインタラプタPI−aの出力エッジ位置FP_PI1に通過する。このため、フォトインタラプタPI−aの出力がLからHに変化する。
続いてモータ駆動方向にロータが回転し始めると、時間T2にてフォーカスレンズ112が再度、出力エッジ位置FP_PI1を通過するため、フォトインタラプタPI−aの出力はHからLに変化する。
その後、フォーカスレンズ112はさらに被写体側に駆動され、時間T4にてフォトインタラプタPI−aの出力エッジ位置FP_PI3を通過し、さらに時間T5にて停止位置に到達すると、ステッピングモータ113の駆動が停止される。時間T5〜T10までの間は、この停止状態にてロータを安定させるためにコイル通電を保持する。時間T5で励磁コイルへの駆動パルス信号の印加は終了するが、ロータの慣性力とディテントトルクによってロータに振動が生じる。この振動によってフォーカスレンズ112は一時的に停止位置よりもさらに被写体側に移動し、時間T6にてフォトインタラプタPI−bの出力エッジ位置FP_PI4を通過する。さらに、時間T7にてフォトインタラプタPI−cの出力エッジ位置FP_PI4′を通過する。そして、コイル通電が保持されているために、フォーカスレンズ112は停止位置側に引き戻され、時間T8にて出力エッジ位置FP_PI4′を再度通過し、さらに時間T9にて出力エッジ位置FP_PI4を再度通過する。この後の時間T10において、コイル通電の保持が終了する。
脱調検出部115は、ステッピングモータ113へのコイル通電が開始された駆動開始位置から上述した所定パルス数である4パルス分のコイル通電が完了するまでの駆動区間(時間T0〜T3)は脱調判定を禁止する。また、停止位置の手前4駆動パルス信号のコイル通電が開始されてからコイル通電の保持が終了するまでの駆動区間(時間T5〜T10)も脱調判定を禁止する。つまり、ステッピングモータ113のと、時間T0〜T3での駆動状態と時間T5〜T10での駆動状態は、特定駆動状態である。
このときのリセットセンサ群121の出力パターンに基づいてフォーカスレンズ位置を推定する。時間T0での出力パターンはL,H,Lであるため、フォーカスレンズ位置は出力エッジ位置FP_PI2〜FP_PI3の間であると考えられる。
時間T1にて出力パターンはH,H,Lに変化し、時間T2にて出力パターンはL,H,Lに戻る。そして、時間T4にて出力パターンはH,H,Lに変化し、時間T6にてH,L,Lに変化し、さらに、時間T7にてH,L,Hに変化する。この後、時間T8にて出力パターンはH,L,Lに変化し、続いて時間T9にてH,H,Lに戻る。
ここで、モータ駆動方向が被写体方向であるときのフォーカスレンズ112が実際に位置する出力エッジ位置の特定方法について説明する。フォトインタラプタPI−aの出力がLからHに変化するのは、フォーカスレンズ位置が出力エッジ位置FP_PI3またはFP_PI7に到達したときである。このときフォトインタラプタPI−cの出力がLであればフォーカスレンズ112は出力エッジ位置FP_PI3に位置し、フォトインタラプタPI−cの出力がHであればフォーカスレンズ112は出力エッジ位置FP_PI7に位置する。
また、フォトインタラプタPI−aの出力がHからLに変化するのはフォーカスレンズ位置が出力エッジ位置FP_PI1またはFP_PI5に到達したときである。このときフォトインタラプタPI−cの出力がLであればフォーカスレンズ112は出力エッジ位置FP_PI1に位置し、フォトインタラプタPI−cの出力がHであればフォーカスレンズ112は出力エッジ位置FP_PI5に位置する。
また、フォトインタラプタPI−bの出力がLからHに変化するのはフォーカスレンズ位置が出力エッジ位置FP_PI2またはFP_PI6に到達したときである。このときフォトインタラプタPI−cの出力がLであればフォーカスレンズ112は出力エッジ位置FP_PI2に位置し、フォトインタラプタPI−cの出力がHであればフォーカスレンズ112は出力エッジ位置FP_PI6に位置する。
さらに、フォトインタラプタPI−bの出力がHからLに変化すると、フォーカスレンズ112は出力エッジ位置FP_PI4に位置する。同様に、フォトインタラプタPI−cの出力がLからHに変化すると、フォーカスレンズ112は出力エッジ位置FP_PI4′に位置する。
以上のことから、時間T1〜T9にて特定(検出)されるフォーカスレンズ位置(第1の位置情報)は以下の通りとなる。
時間T1では、モータ駆動方向は被写体方向であるため、検出されるフォーカスレンズ位置はFP_PI3である(ただし、実際はFP_PI1に位置する)。時間T2では、フォトインタラプタPI−aの出力がHからLに変化し、モータ駆動方向が被写体方向であるため、フォーカスレンズ位置はFP_PI1またはFP_PI5である。ただし、フォトインタラプタPI−cの出力がLであるため、検出されるフォーカスレンズ位置はFP_PI1である。
時間T4では、フォトインタラプタPI−aの出力がLからHに変化するため、検出されるフォーカスレンズ位置はFP_PI3である。時間T6では、フォトインタラプタPI−bの出力がHからLに変化するため、検出されるフォーカスレンズ位置はFP_PI4である。時間T7では、フォトインタラプタPI−cの出力がLからHに変化するため、検出されるフォーカスレンズ位置はFP_PI4′である。
時間T8では、フォトインタラプタPI−cの出力がHからLに変化するため、検出されるフォーカスレンズ位置はFP_PI4′である。時間T9では、フォトインタラプタPI−bの出力がLからHに変化し、モータ駆動方向が被写体方向であるため、フォーカスレンズ位置はFP_PI2またはFP_PI6である。ただし、フォトインタラプタPI−cの出力がLであるため、検出されるフォーカスレンズ位置はFP_PI2である(ただし、実際にはFP_PI4である)。
このように、時間T1と時間T9ではフォーカスレンズ位置を誤検出する。このため、時間T1と時間T9で誤検出されたフォーカスレンズ位置に基づいて脱調判定を行うと、脱調が生じていないにもかかわらず、脱調が生じたとの判定結果が得られる。しかし、本実施例では、時間T1および時間T9は前述した特定駆動状態での駆動区間に含まれる。つまり、時間T1と時間T9で誤検出されたフォーカスレンズ位置に基づく脱調判定は行われない。このため、脱調の誤判定を防止することができる。
図7には、カメラCPU131により発行されたフォーカス駆動命令を受けたレンズCPU111が行うフォーカス駆動処理を示している。レンズCPU111は、コンピュータプログラムであるフォーカス駆動プログラムに従って本処理を実行する。フォーカス駆動プログラムには、ステッピングモータ113の脱調判定をおこなうためのステッピングモータ駆動状態検出プログラムが含まれている。
ステップS101では、レンズCPU111は、カメラCPU131からのフォーカス駆動命令を受信する。レンズCPU111は、受信したフォーカス駆動命令と現在のフォーカスレンズ112の駆動状態に応じて以下の各種設定を行い、フォーカス駆動回路114を介してステッピングモータ113の駆動を制御する。
次にステップS102では、レンズCPU111は、フォーカス駆動命令に応じてステッピングモータ113の駆動速度を設定する。例えば、動画撮像中のフォーカスレンズ112の移動による像面移動速度が一定になるように駆動速度が設定される。
次にステップS103では、レンズCPU111は、ステッピングモータ113に印加する駆動パルス信号のパワーレートを設定する。フォーカスレンズ位置に応じてステッピングモータ113に加わる負荷トルクが変化する場合には該負荷トルクによる速度変動が生じないように、また駆動音を抑えたい動画撮像においては駆動音が大きくならないように等、撮像条件に応じてパワーレートを設定する。
次にステップS104では、レンズCPU111は、ステッピングモータ113の駆動量を設定する。本実施例ではフォーカスレンズ112の相対位置駆動を行うため、レンズCPU111はフォーカス駆動命令が発行された時点でのフォーカスレンズ位置からの駆動量(ステッピングモータ113の目標駆動パルス数)を設定する。なお、フォーカスレンズ112の絶対位置駆動を行う場合は、指定された位置にフォーカスレンズ112が移動するように駆動量を設定する。
次にステップS105では、レンズCPU111は、フォーカス駆動回路114に制御信号を与えてステッピングモータ113に駆動パルス信号を印加させることで、ステッピングモータ113の駆動を開始させる。
次にステップS200では、レンズCPU111は、脱調検出部115にて脱調判定の許可(非制限)/禁止(制限)を設定する。ここでの処理の詳細については後述する。脱調判定の許可/禁止を設定したレンズCPU111はステップS106に進む。
ステップS106では、レンズCPU111は、フォーカスレンズ112の移動によってリセットセンサ群121の出力エッジ(以下、センサ出力エッジという)を検出したか否かを判定する。センサ出力エッジを検出した場合はステップS110に、検出していなければステップS107に進む。なお、以下の説明において、センサ出力エッジが検出されるフォーカスレンズ位置をセンサ出力エッジ位置という。
ステップS107では、レンズCPU111は、フォーカスレンズ112が停止位置に到達したか否かを判定する。本実施例ではリセットセンサ群121により検出可能なリセット位置を除いてフォーカスレンズ112の絶対位置を検出する手段を持たない。このため、レンズCPU111は、ステップS105でステッピングモータ113の駆動を開始してからステッピングモータに印加した駆動パルス数をカウントし、そのカウント値が停止位置までの目標駆動パルス数に一致したことで停止位置への到達を判定する。停止位置に到達した場合はステップS109に、到達していなければステップS108に進む。
ステップS108では、レンズCPU111は、ステッピングモータ113の駆動情報を更新する。ここでは、ステッピングモータ113の駆動量の更新を行う。また、加減速を要する駆動であれば、速度変更タイミングを判定してステッピングモータ113の駆動速度を変更する。さらに、レンズCPU111は、変更された駆動情報に応じてパワーレートも変更する。この後、レンズCPU111はステップS200に戻る。
ステップS109では、フォーカスレンズ112が停止位置に到達したため、レンズCPU111は、ステッピングモータ113における任意の相の励磁コイルに対す通電保持を行う。そして、通電保持を所定時間行った後は通電を停止して、本処理を終了する。
ステップS110では、レンズCPU111は、リセットセンサ群121の出力パターンとモータ駆動方向とを取得して、フォーカスレンズ112が到達したセンサ出力エッジ位置を特定する。
ステップS111では、レンズCPU111は、脱調検出部115に脱調判定のための計算を行わせる。すなわち、ステップS110で特定したセンサ出力エッジ位置に対応する駆動ステップ数(第1の位置情報)とレンズCPU111が管理している現在の駆動パルス累積値(第2の位置情報)との差分値を計算させる。
そしてステップS112では、レンズCPU111は、脱調検出部115に、ステップS111で算出した差分値と脱調判定閾値とを比較させる。脱調検出部115は、該差分値が脱調判定閾値より大きければ脱調が生じたと判定する。なお、ステップS200で脱調判定が禁止とされた場合は、脱調検出部115は、差分値が脱調判定閾値より大きくても脱調が生じたとの判定は行わない。レンズCPU111は、脱調検出部115により脱調が生じたと判定された場合はステップS113に、そうでなければステップS107に進む。
ステップS113では、レンズCPU111は、現在のフォーカス駆動命令を破棄する。ステッピングモータ113に脱調が生じたことでフォーカスレンズ112の位置を管理できなくなっているため、現在のフォーカス駆動命令を破棄してステッピングモータ113を停止させる。
次にステップS114では、レンズCPU111は、カメラCPU131に対してリセット処理要求を発行する。該リセット処理要求を受けたカメラCPU131は、レンズCPU111に対してリセット処理命令を発行し、これを受けたレンズCPU111は脱調に対するリカバリ処理として、再度のリセット処理を行う。この後、レンズCPU111は、ステップS114を経て本処理を終了する。
次に、図8のフローチャートを用いて、レンズCPU111が図7のステップS200で行う脱調判定の許可/禁止設定処理について説明する。
ステップS201では、レンズCPU111はリセット処理が完了しているか否かを判定する。リセット処理が完了していなければフォーカスレンズ112の位置を管理することができないため、ステップS207に進み、脱調判定を禁止する。一方、リセット処理が完了していればステップS202に進む。
ステップS202では、レンズCPU111は、現在のフォーカスレンズ位置とフォーカスレンズ112(ステッピングモータ113)の駆動を開始した時点でのフォーカスレンズ位置との差である駆動済パルス数を算出する。そし、この駆動済パルス数が前述した所定パルス数としての閾値Th1(=4パルス)以上であるか否かを判定する。ここではステッピングモータ113の駆動開始時における不要反転動作が発生する駆動区間(つまりは特定駆動状態)にあるか否かを判定している。レンズCPU111は、駆動済パルス数が閾値Th1以上であれば不要反転動作の影響はないとしてステップS203に進み、駆動済パルス数が閾値Th1より小さければ不要反転動作の影響があり得るとしてステップS207に進み、脱調判定を禁止する。
ステップS203では、レンズCPU111は、現在のフォーカスレンズ位置と停止位置である目標フォーカスレンズ位置との差、つまりは未駆動パルス数が前述した所定パルス数としての閾値Th2(=4パルス)以上であるかを判定する。ここではステッピングモータ113の駆動停止前における不要反転動作が発生する駆動区間(つまりは特定駆動状態)にあるか否かを判定する。レンズCPU111は、未駆動パルス数が閾値Th2以上であれば不要反転動作の影響はないとしてステップS204に進み、未駆動パルス数が閾値Th2より小さければ不要反転動作の影響があり得るとしてステップS207に進み、脱調判定を禁止する。
ステップS204では、レンズCPU111は、ステッピングモータ113の駆動速度が前述した所定速度Spdth(=200pps)以上であるか否かを判定する。ここでは、ステッピングモータ113のディテントトルクによる間欠駆動が生じやすい低速駆動状態(つまりは特定駆動状態)か否かを判定する。レンズCPU111は、駆動速度が所定速度Spdth以上であればステップS205へ、所定速度Spdthより低速であれば間欠駆動が生じ易いとしてステップS207に進み、脱調判定を禁止する。
ステップS205では、レンズCPU111は、現在のフォーカスレンズ112の駆動がウォブリング駆動状態(特定駆動状態)であるか否かを判定する。そして、レンズCPU111は、現在の駆動状態がウォブリング駆動状態でなければステップS206に進む。一方、現在の駆動状態がウォブリング駆動状態であれば、脱調判定に適さないとしてステップS207に進み、脱調判定を禁止する。
ステップS206では、レンズCPU111は、脱調検出部115での脱調判定を許可する。すなわち、図7のステップS112において脱調が検出された場合にレンズCPU111に脱調したことを通知することを許可する。そして、本処理を終了する。
以上説明したように、本実施例では、ステッピングモータ113が特定駆動状態にあるときには脱調判定を制限するので、脱調の発生の誤検出(誤判定)を回避することができる。
なお、本実施例ではレンズ交換式カメラシステムの交換レンズ110にステッピングモータ駆動状態検出装置としての脱調検出部115を設けた場合につい説明したが、レンズ一体型カメラ(光学機器)にステッピングモータ駆動状態検出装置を設けてもよい。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上説明した各実施例は代表的な例にすぎず、本発明の実施に際しては、各実施例に対して種々の変形や変更が可能である。