本発明の一実施形態について図面を参照して説明する。本実施形態は、撮像装置、特に撮像装置のレンズ鏡筒におけるレンズ駆動に関する。以下、本実施形態では、フォーカスレンズを駆動する際に行われるレンズ位置の制御を一例として、本実施形態の説明を行う。
本実施形態に係るカメラシステム1の構成例の概略を図1に示す。カメラシステム1は、カメラ本体30と、カメラ本体30に接続されるレンズ鏡筒10とを備える。このカメラシステム1は、レンズ鏡筒10に含まれるレンズによって結像された被写体像を、カメラ本体30が画像データとして取得するように構成されたデジタルカメラである。なお、本実施形態の説明では、カメラシステム1は、カメラ本体30とレンズ鏡筒10とが別体として設けられているレンズ交換式のカメラであるものとするが、これに限らず、カメラシステム1は、レンズ鏡筒とカメラ本体とが一体として設けられたカメラであってもよい。
カメラ本体30は、撮像素子31と、撮像回路32と、Auto Exposure(AE)処理部33と、Auto Focus(AF)処理部34と、画像演算部35と、画像処理回路36と、液晶ディスプレイ(LCD)ドライバ37と、液晶ディスプレイ(LCD)38と、入力部39と、Body制御部40と、電源部41と、不揮発性メモリ42と、内蔵メモリ43と、圧縮伸張部44と、着脱メモリ45と、ボディ側インターフェース46とを備える。
撮像素子31は、複数の光電変換画素を含む撮像面を有する。撮像素子31は、レンズ鏡筒10によって結像された被写体像(光像)を撮像面で受光する。撮像素子31は、それぞれの光電変換画素によって入射光をそれぞれ光電変換することで、被写体像を表す画像信号を生成する。
撮像回路32は、撮像素子31に、光電変換を開始させたり終了させたりする制御や、光電変換によって各画素に蓄積された電荷を画像信号として読み出す制御を行うものである。撮像回路32の制御は、Body制御部40からの制御信号に応じて行われる。
AE処理部33は、撮像回路32から得た画像信号に対して、被写体輝度を測光する機能を有する。AE処理部33は、撮影における露出に係る演算を行い、例えば適正露出を得るためのシャッタスピードや絞り値や感度等を算出する。
AF処理部34は、画像信号から被写体のピント情報を検出する。AF処理部34は、レンズ鏡筒10のレンズを駆動するために必要な情報の算出等といったオートフォーカスに関する演算を行う。
画像演算部35は、画像信号の加算合成や画素間引き処理等の画像演算を行う。画像処理回路36は、画像信号に対して、階調補正やノイズ補正等の各種画像処理を行う。LCDドライバ37は、LCD38を駆動する。LCD38は、撮影された画像を表示する。入力部39は、ユーザがカメラ本体30に対する操作を入力するための部分である。
Body制御部40は、カメラ本体30を統括的に制御する。Body制御部40が制御する対象は、撮像回路32、AE処理部33、AF処理部34、画像演算部35、画像処理回路36、LCDドライバ37等であり、これらとバスライン47を介して接続されている。さらに、Body制御部40は、不揮発性メモリ42と、内蔵メモリ43と、圧縮伸張部44と、着脱メモリ45と、バスライン47を介して接続されている。電源部41は、カメラ本体30の各部位に対して電源を供給する。
不揮発性メモリ42には、Body制御部40で動作させるプログラムデータが記録されている。内蔵メモリ43は、画像演算部35及び画像処理回路36が各種処理を行う際に、データを一時的に保持する。圧縮伸張部44は、撮影された画像データについて圧縮処理又は伸張処理をする。着脱メモリ45は、撮影された画像データを記録するためのメモリである。ボディ側インターフェース46は、レンズ鏡筒10と通信を行うためのインターフェースである。
Body制御部40、AE処理部33、AF処理部34、画像演算部35、画像処理回路36、圧縮伸張部44等は、例えばCentral Processing Unit(CPU)、又はApplication Specific Integrated Circuit(ASIC)等を含み、各種演算を行う。
次にレンズ鏡筒10について説明する。レンズ鏡筒10は、固定部材11と、フォーカスレンズ12と、ズームレンズ13と、絞り14と、フォーカスレンズドライバ15と、ズームレンズドライバ16と、絞りドライバ17と、位置センサ18と、レンズ制御部19と、レンズ操作部20と、不揮発性メモリ21と、レンズ側インターフェース22とを備える。
固定部材11は、フォーカスレンズ12と、ズームレンズ13と、絞り14とを保持する。フォーカスレンズ12は、レンズ鏡筒10内を光軸方向に移動可能である。フォーカスレンズ12は、被写体像のフォーカス位置を変化させるように駆動される。ズームレンズ13は、レンズ鏡筒10内を光軸方向に移動可能である。ズームレンズ13は、撮影倍率や焦点距離を変化させるように、手動又は自動で駆動される。絞り14では、撮像素子31へと導かれる被写体像の光量を変化させるため、開口量が変化する。
フォーカスレンズドライバ15は、レンズ制御部19から出力される操作制御信号に基づいて、フォーカスレンズ12を駆動する回路である。ズームレンズドライバ16は、レンズ制御部19から出力される操作制御信号に基づいて、ズームレンズ13を駆動する回路である。絞りドライバ17は、レンズ制御部19から出力される操作制御信号に基づいて、絞り14を駆動する回路である。
位置センサ18は、フォーカスレンズ12の光軸方向の位置を検出する。位置センサ18は、位置取得部として機能し、位置情報信号を出力する。位置センサ18の出力に基づいて、フォーカスレンズ12の位置が算出される。
レンズ制御部19は、レンズ鏡筒10内の各部を統括して制御するものである。レンズ制御部19は、CPUを含み、各種演算を行う。レンズ制御部19の動作は、後述の不揮発性メモリ21に記録されたプログラムに従って行われる。レンズ制御部19は、ASIC等を含んでいてもよい。レンズ制御部19は、例えば、フォーカスレンズ12、ズームレンズ13及び絞り14のそれぞれの動作を制御する。また、レンズ制御部19は、フォーカスレンズ12の位置を位置センサ18から取得する。
レンズ操作部20は、ユーザがレンズ鏡筒10に対する操作を入力するための部位である。不揮発性メモリ21は、レンズ制御部19が制御動作をするためのプログラムや、フォーカスレンズ12、ズームレンズ13、及び絞り14の位置等の調整値等を格納している。レンズ側インターフェース22は、ボディ側インターフェース46と接続する。レンズ側インターフェース22は、カメラ本体30とレンズ鏡筒10との間の制御信号の送受信を行うためのインターフェース回路である。
フォーカスレンズ12の光軸方向に沿った移動のための駆動機構と、フォーカスレンズ12の光軸方向の位置を検出するための位置検出機構とについて説明する。図2は、フォーカスレンズ12の駆動機構と位置検出機構に含まれる位置センサ18の構成例の外観の概略を示す。
図2に示すように、フォーカスレンズ12を含む可動部122は、駆動部123によって固定部材11に沿って光軸方向に移動する。駆動部123は、例えばヴォイスコイルモーター(VCM)等を用いた駆動機構を含む。すなわち、可動部122には、VCMの可動コイル124が固定されている。一方、固定部材11には、この可動コイル124に対向するように、永久磁石を含むVCMの固定子126が設けられている。このように、固定子126と可動コイル124とからなるVCMによって、可動部122は移動する。
なお、ここでは、可動部122がVCMによって移動する例を示したが、この方式に限ることはなく、他の方式が用いられてもよい。例えば、ステッピングモーターや超音波モータが用いられる駆動方式が適用されてもよい。
本実施形態では、位置センサ18として、GMR素子(Giant Magneto Resistive effect device:巨大磁気抵抗効果素子)のような磁気抵抗素子を利用した検出部としてのGMRセンサ182が用いられている。GMR素子は、入力される磁束密度の大きさに応じて、電気抵抗率が変化する素子である。このようなGMR素子を用いたGMRセンサ182は、固定部材11に固定されている。また、フォーカスレンズ12を含む可動部122には、磁気スケール188が固定されている。GMRセンサ182と磁気スケール188とは、対向して配置されている。
磁気スケール188には、所定の位置周期毎にN極とS極とが交互に着磁されている。ここで、N極とS極との位置周期の長さを1磁化ピッチと称することにする。GMRセンサ182に含まれるGMR素子の電気抵抗率は磁気スケール188による磁束密度に応じて変化するので、GMRセンサ182は、磁気スケール188に対する位置に応じた電気信号を出力する。すなわち、GMRセンサ182は、可動部122の移動に応じて、1磁化ピッチ毎に周期的な位置情報信号を出力する。
なお、GMRセンサ182が可動部122に固定され、磁気スケール188が固定部材11に固定されてもよい。また、位置センサ18には、GMRセンサに限らず、他のセンサが用いられてもよい。
GMRセンサ182と磁気スケール188との構成について、図3を参照してさらに説明する。GMRセンサ182は、第1のGMRセンサ184と第2のGMRセンサ185とを含む。第1のGMRセンサ184と第2のGMRセンサ185とは、磁気スケール188の着磁が変化する方向、すなわち、光軸方向に、1磁化ピッチの1/4となる距離だけ離して配置されている。
第1のGMRセンサ184及び第2のGMRセンサ185では、磁束密度の大きさに応じて電気抵抗率が変化するため、光軸方向に可動部122が動作すると、第1のGMRセンサ184及び第2のGMRセンサ185から位置情報信号として出力される信号の大きさは、着磁周期に応じて変化する。第1のGMRセンサ184と第2のGMRセンサ185とは1/4磁化ピッチ離れた位置に配置されているので、可動部122の移動量に応じて出力される2つのGMRセンサ信号出力は、1/4周期(90°)だけ位相がずれる。このように、GMRセンサ182と磁気スケール188とは、2相のリニアエンコーダとして機能するように構成されている。第1のGMRセンサ184の出力と第2のGMRセンサ185の出力とは、これらの位相が互いに直交する。第1のGMRセンサ184の出力と第2のGMRセンサ185の出力とのうち一方の出力を正弦波信号と称し、もう一方を余弦波信号と称することにする。第1のGMRセンサ184の出力は、第1の位置情報信号に相当し、第2のGMRセンサ185の出力は、第2の位置情報信号に相当する。
磁気スケール188の着磁位置周期より細かい位置分解能で位置を検出するためには、位置センサ18では、上述の2相出力である正弦波信号及び余弦波信号について内挿処理を行い、詳細な検出位置を算出する必要がある。内挿処理には、例えば、正弦波信号及び余弦波信号について逆正接演算を行い、それぞれの信号の位相関係に対応する位相角を算出する方法がある。この方法では、2相出力の位相角に基づいて、磁気スケール188の着磁位置周期内の相対位置が算出され得る。
次に、可動部122の位置制御を行う際の制御ブロック線図を図4に示す。レンズ制御部19は、位置センサ18の出力に基づいてフォーカスレンズ12の光軸方向の位置を算出し、その算出結果を利用して、フィードバック制御によって、フォーカスレンズ12の位置を目標位置に追従させるように制御する。
図4に示すように、レンズ制御部19内の目標位置指示部201は、可動部122の目標位置を設定する。また、レンズ制御部19内の位置算出部204は、位置センサ18の出力に基づいて、可動部122の現在の位置を補正後位置情報として算出する。演算部202は、可動部122の目標位置と現在の位置を表す補正後位置情報との差を、制御位置偏差として算出する。レンズ制御部19内の操作量算出部203は、制御位置偏差に基づいて操作量を算出する。操作量算出部203で算出された操作量は、フォーカスレンズドライバ15へと伝達される。フォーカスレンズドライバ15は、この操作量に基づいて可動部122を移動させるための電力を駆動部123に供給することにより駆動部123を動作させる。可動部122の位置は、位置センサ18によって検出される。なお、この位置センサ18の検出結果には、検出誤差が存在する。本実施形態では、位置算出部204は、位置センサ18の出力に含まれる誤差を補正する。
レンズ制御部19に含まれる、フォーカスレンズ12に含まれる可動部122の位置を制御するための構成についてさらに説明する。図5は、レンズ制御部19に含まれる機能構成を示すブロック図である。レンズ制御部19は、位置算出部204と、レンズ制御通信インターフェース205と、操作入力インターフェース206と、メモリインターフェース207と、フォーカスレンズ制御部210とを含む。
位置算出部204は、位置センサ18から取得した信号に基づいて、可動部122の位置を算出する。レンズ制御通信インターフェース205は、レンズ側インターフェース22との間で通信信号の送受信及び信号の処理を行う。操作入力インターフェース206は、レンズ操作部20へ入力された操作に係る操作信号を取得する。メモリインターフェース207は、不揮発性メモリ21とのデータの送受信を行う。
フォーカスレンズ制御部210は、フォーカスレンズ12の位置を目標位置に一致させるようにフォーカスレンズドライバ15に対して出力する操作量を算出する。フォーカスレンズ制御部210は、目標位置指示部201と、演算部202と、操作量算出部203とを含む。
目標位置指示部201は、操作入力インターフェース206から操作信号を取得する。また、目標位置指示部201は、レンズ制御通信インターフェース205から、カメラ本体30からの制御信号を取得する。目標位置指示部201は、移動目標位置を表すこれら信号に基づいて、周期処理毎の目標位置である制御目標位置を算出する。この制御目標位置は、演算部202へと出力される。
演算部202は、位置算出部204から可動部122の現在の位置を取得し、目標位置指示部201から制御目標位置を取得する。演算部202は、制御目標位置と可動部122の現在の位置との差を制御位置偏差として算出する。操作量算出部203は、演算部202が算出した制御位置偏差に基づいて、フォーカスレンズドライバ15を駆動するための操作量を算出する。
なお、位置算出部204及びフォーカスレンズ制御部210は、メモリインターフェース207を介して、不揮発性メモリ21から必要なプログラムやパラメータ等を取得し、各種演算を行う。
次に、レンズ制御部19内の位置算出部204について説明する。第1のGMRセンサ184の出力信号と第2のGMRセンサ185の出力信号とは、それぞれレンズ制御部19内の位置算出部204へと伝達される。位置算出部204は、第1のGMRセンサ184の出力信号と第2のGMRセンサ185の出力信号とに基づいて、可動部122の位置を算出する。
図6は、レンズ制御部19内の位置算出部204の構成例の概略を示すブロック図である。以下、第1のGMRセンサ184の出力信号に基づく信号をA相の信号と称し、第2のGMRセンサ185の出力信号に基づく信号をB相の信号と称することにする。第1のGMRセンサ184から出力されたA相の信号及び第2のGMRセンサ185から出力されたB相の信号は、増幅回路189で増幅されて位置算出部204に入力される。
位置算出部204は、A/D変換部242と、補正係数決定部243と、補正部251と、位相角算出部256と、算出位置出力部258と、記憶部260とを含む。補正係数決定部243は、第1の正規化補正部244と、第2の正規化補正部246とを含む。補正部251は、第1の誤差補正部252と、第2の誤差補正部254とを含む。
A/D変換部242は、第1のGMRセンサ184から出力され増幅されたA相の信号と、第2のGMRセンサ185から出力され増幅されたB相の信号とをデジタル信号に変換する。
GMRセンサから出力される信号には振幅ずれやオフセットずれが含まれる。補正係数決定部243は、AD変換後の信号のオフセットレベルを揃え、また、振幅を一定の値に揃えるように、振幅ずれやオフセットずれを補正する補正処理を行う。この補正処理を、以下、単に正規化という。第1の正規化補正部244は、第1のGMRセンサ184から出力されたA相の信号について、所定の振幅及び所定のオフセットレベルとなるように、振幅ずれ及びオフセットずれを正規化する演算を行う。同様に、第2の正規化補正部246は、第2のGMRセンサ185から出力されたB相の信号について、所定の振幅及び所定のオフセットレベルとなるように、振幅ずれ及びオフセットずれを正規化する演算を行う。正規化されたA相の信号及びB相の信号を正規化位置情報信号と称することにする。
さらに、補正係数決定部243は、A相の正規化位置情報信号の絶対値とB相の正規化位置情報信号の絶対値とが等しくなるときの正規化位置情報信号の値を利用して、補正係数を決定する。補正係数決定部243は、決定した補正係数を記憶部260に補正係数テーブル262として記憶する。
補正部251は、A相及びB相の正規化位置情報信号と、理想となる正弦波及び余弦波との誤差を補正する補正処理を行う。すなわち、第1の誤差補正部252は、第1の正規化補正部244から出力されたA相の信号に対して補正処理を行う。同様に、第2の誤差補正部254は、第2の正規化補正部246から出力されたB相の信号に対して補正処理を行う。補正処理が行われたA相の信号とB相の信号とを補正後位置情報信号と称することにする。補正部251は、補正処理において、後に詳述する補正基準関数と補正係数決定部243が決定した補正係数とを用いる。
位相角算出部256は、第1の誤差補正部252から出力されたA相信号と、第2の誤差補正部254から出力されたB相信号とを取得し、それらに基づいて、磁気スケールの1磁化ピッチ周期毎の位相角を算出する。位相角算出部256は、第1の誤差補正部252から出力されたA相信号(正弦波信号)と、第2の誤差補正部254から出力されたB相信号(余弦波信号)との比の逆正接演算を行う。位相角算出部256は、逆正接演算結果に、ピッチ内相対位置換算係数を乗算することで、磁気スケール188の磁化ピッチ周期内の相対位置を算出する。位相角算出部256が行う演算で必要な情報は、位相角演算テーブル264として、記憶部260に含まれる。
算出位置出力部258は、位相角算出部256の算出結果にさらに磁化ピッチをカウントすることで得られたオフセットを加減算することで、可動部122の位置を算出する。
このように、位置センサ18と位置算出部204によって、可動部122の位置を検出する位置検出装置が構成される。
次に、位置センサ18を用いた可動部122の位置検出において発生する誤差について説明する。図7は、可動部122の位置に応じてGMRセンサ182から出力されるA相とB相との2つの信号について説明するための模式図である。図7において横軸は時間である。
図7の(a)に示すように、磁気スケール188のN極とS極との位置周期に応じて1磁化ピッチが定義されている。GMRセンサ182の出力は、1磁化ピッチ毎に周期性を有する。また、1磁化ピッチは、4つのステートに分割されている。各ステートは位相90°分を含む。
図7の(b)に正規化されたGMRセンサ182の出力を示す。ここで、実線は、第1のGMRセンサ184から出力されるA相の出力波形の理想的な場合を示しており、正弦波形状を示している。破線は、第2のGMRセンサ185から出力されるB相の出力波形の理想的な場合を示しており、余弦波形状を示している。一点鎖線は、第1のGMRセンサ184から出力されるA相の出力(以下、a(t)とする。)を示す波形であり、誤差を含んでいるため、実線で示した理想的な場合との間に僅かにずれが存在する。二点鎖線は、第2のGMRセンサ185から出力されるB相の出力(以下、b(t)とする。)を示す波形であり、誤差を含んでいるため、破線で示した理想的な場合との間に僅かにずれが存在する。
図7の(c)は、実線で示した第1のGMRセンサ184から出力されるA相の理想的な出力と、一点鎖線で示した第1のGMRセンサ184から実際に出力されるA相の出力との間に存在する誤差Δd1を示す。図7の(d)は、破線で示した第2のGMRセンサ185から出力されるB相の理想的な出力と、二点鎖線で示した第2のGMRセンサ185から実際に出力されるB相の出力との間に存在する誤差Δd2を示す。本実施形態では、誤差Δd1と誤差Δd2とが補正される。この補正において用いられる補正係数を、図7の(e)に示すように、磁化ピッチpとステートsとを用いてk[p,s]のように表すことにする。
すなわち、k[p,s]は、補正対象とするGMRセンサの磁化ピッチの位置pと、a(t)とb(t)の符号の組み合わせで決まるステートsとに基づいて定まる。ここで、磁化ピッチpが示す値は、A相の出力波形とB相の出力波形の周期数を表す。ステートsが示す値は、A相の出力とB相の出力との大小関係によって4つに分割された領域を示すものである。具体的には、ステートsは、a(t)とb(t)との符号によって、次のような関係がある。すなわち、
a(t)≧0かつb(t)≧0のとき、ステートsは1であり、
a(t)≧0かつb(t)<0のとき、ステートsは2であり、
a(t)<0かつb(t)<0のとき、ステートsは3であり、
a(t)<0かつb(t)≧0のとき、ステートsは4である。
以上のように、第1のGMRセンサ184から出力されるA相の出力(a(t))には、理想的な正弦波に対して誤差Δd1が含まれており、第2のGMRセンサ185から出力されるB相の出力(b(t))には、理想的な余弦波に対して誤差Δd2が含まれている。これらA相に係る誤差Δd1とB相に係る誤差Δd2とを合わせて誤差Δdと表記するとき、誤差Δdは、GMRセンサ182と磁気スケール188との周期的特性を考慮すると下記式(1)で近似され得る。
Δd=k[p,s]×sin(π×|Lv|/Amp) (1)
ここで、Lvは、正規化後のGMRセンサの出力信号レベルを示し、Ampは、正規化後のGMRセンサの出力信号の振幅を示す。
なお、上述のようにGMRセンサ182の出力に誤差信号Δdが含まれる要因としては以下が挙げられる。
1.磁気スケール188とGMRセンサ182の検出面との間隔幅(ギャップ)が検出位置によって変化することによるもの。
2.上記1に関連して、可動部122を構成する際の組立公差に起因するもの。
3.GMRセンサ182の検出面と磁気スケール188から発生する磁界方向の傾きとによるもの。
GMRセンサ182の出力と、GMRセンサ182の出力に対して施される補正とについて、図8を参照してさらに説明する。図8の左図は、正規化後のA相及びB相の出力について詳細に示した図である。横軸は、時間tを示し、縦軸は、GMRセンサ182の出力を示す。この図においても、実線は、第1のGMRセンサ184から出力されるA相の出力波形の理想的な場合を示し、破線は、第2のGMRセンサ185から出力されるB相の出力波形の理想的な場合を示し、一点鎖線は、第1のGMRセンサ184から出力されるA相の出力波形(a(t))を示し、二点鎖線は、第2のGMRセンサ185から出力されるB相の出力波形(b(t))を示す。この図に示すように、GMRセンサ182の出力信号は、振幅の1/2付近で、誤差信号Δdが最大となり、理想的な波形からの乖離が最も大きくなる。
図8の右図は、縦軸に示したGMRセンサ182の出力と、横軸に示した補正値関数f[x]との関係を示す図である。この図において、破線は、補正基準関数g[x]を示し、実線は、補正値関数f[x]を示す。ここで、補正値関数f[x]は、補正係数k[p,s]と補正基準関数g[x]とを用いて下記式(2)で表される。
f[x]=k[p,s]×g[x] (2)
ここで、補正係数k[p,s]は、図8の左図に実線で示されるA相の出力波形の理想的な場合を示す実線とB相の出力波形の理想的な場合を示す破線との交点におけるGMRセンサ182の出力の値と、A相の出力波形a(t)を示す一点鎖線とB相の出力波形b(t)を示す二点鎖線との交点におけるGMRセンサ182の出力の値との差dに基づいて決定される。すなわち、補正係数k[p,s]は、理想的な場合のA相の出力の絶対値とB相の出力の絶対値とが等しいときのその値と、A相の出力a(t)の絶対値とB相の出力b(t)の絶対値とが等しいときのその値との差dに基づいて決定される。補正係数k[p,s]は、例えば、当該差dが大きい程に大きくなるように決定される。差dと補正係数k[p,s]との関係は、例えば不揮発性メモリ21に関数やテーブルとして記録されていてもよい。
本実施形態では、GMRセンサ182の出力は、補正値関数f[x]に基づいて得られた補正値を用いて補正される。すなわち、補正前のGMRセンサ182の出力をαとし、補正後のGMRセンサ182の出力を補正後位置情報信号α´としたときに、補正後位置情報信号α´は、下記式(3)で表される。
α´=α+f[α]
=α+(k[p,s]×g[α]) (3)
本実施形態では、この補正後のGMRセンサ182の出力である補正後位置情報信号α´を用いて可動部122の位置算出が行われる。
本実施形態では、位置算出部204は、GMRセンサ182のA相の出力a(t)とB相の出力b(t)とについて、逐次に補正係数k[p,s]を用いて誤差Δdを補正する。この補正係数k[p,s]の値は、可動部122の可動範囲について補正係数テーブル262として記憶部260に記憶されている。補正係数テーブル262に含まれる補正係数k[p,s]の値は、例えば、電源投入時にフォーカスレンズ12を、一方の端から反対側の端まで駆動させて、そのときに出力されるGMRセンサ182の2つの信号出力に基づいて、磁化ピッチp毎に算出して記憶しておく。
A相の出力a(t)及び上述のように補正して得られた補正後のA相の出力a´(t)と、B相の出力b(t)及び上述のように補正して得られた補正後のB相の出力b´(t)とを図9に示す。図9において、横軸は時間tを示し、縦軸はGMRセンサ182の出力を示す。図9において、実線はa´(t)を示し、破線はb´(t)を示し、一点鎖線はa(t)を示し、二点鎖線はb(t)を示す。
また、図9に示したa(t)及びa´(t)を横軸に、b(t)及びb´(t)を縦軸にプロットしたリサージュ波形を図10に示す。図10において、実線はa´(t)及びb´(t)の関係を示し、破線はa(t)及びb(t)の関係を示す。このリサージュ波形は、2つの信号の変化の関係の軌跡を示す。リサージュ波形によれば、同時刻に出力される2つの信号の出力を横軸と縦軸に割り当てることで、2つの信号の振幅や位相の関係が1つの図形で把握され得る。GMRセンサ182の2つの信号出力が理想的な正弦波信号及び理想的な余弦波信号であるとき、リサージュ波形は真円となる。図10に示すように、実線で示した補正後のa´(t)及びb´(t)の関係は真円状であり、これらが理想的な波形となっていることが分かる。一方、破線で示した補正前のa(t)及びb(t)の関係は、45°+90°×N(N=0,1,2,3)付近が円形から内側に歪んだ軌跡となり、菱形に近い形状を示している。このことから、補正前のa(t)及びb(t)が誤差を含んでいることが分かる。
一般に、2相エンコーダの出力を用いて内挿処理を行って検出位置を算出するとき、A相の出力とB相出力との位相関係からなる位相角を算出する。これは、A相の出力とB相の出力との比を算出して、この算出した比の値に対して、逆正接関数の演算を行うことによって、A相の出力とB相の出力とがなす位相角を算出するものである。この位相角は、図10のようなリサージュ波形の軌跡上の点と、リサージュ波形の原点位置との関係による位相角によって図示され得る。上述のようにリサージュ波形が菱形に近づいた形状を示すとき、GMRセンサの出力を用いた、逆正接演算は、理想的な正弦波信号及び、理想的な余弦波信号を用いた逆正接演算の結果に対して、誤差Δdが生じる。この誤差Δdは、大きさが周期的に変化しており、この変化する周期は、磁化ピッチの1/4周期に関係した周期となる。その結果、光軸方向のレンズ位置算出に磁化ピッチの1/4周期となる周期的な誤差が発生することになる。
仮に、誤差Δdが磁化ピッチの1/4周期の周期を持ち、本実施形態のような誤差を低減させる仕組みが存在せずにこの誤差がそのまま残る場合を考える。このとき、位置算出部204によって算出された位相角に基づいて検出される位置も、磁化ピッチの1/4周期の誤差が発生する。この位置検出結果を用いて可動部122の動作が制御されると、フィードバック制御での目標位置と検出位置との偏差である制御位置偏差も周期的に大きさが変化し、磁化ピッチの1/4周期に関係して周期的な誤差をもつ。この磁化ピッチの1/4周期の制御位置偏差の変化によって、フィードバック制御においては可動部122への駆動量である操作量が大きくなったり小さくなったりする変化が発生する。その結果、磁化ピッチの1/4周期とフォーカスレンズの駆動速度に対応した周波数の駆動音がフォーカスレンズ12の可動部122から発生する。
この誤差によって生じる可動部122の駆動時の余分な駆動音の周波数は、下記式(4)に基づいた関係で発生する。
歪みによって生じる駆動音周波数(Hz)
=フォーカスレンズ駆動速度(mm/s)/(磁化ピッチ(mm)/4) (4)
例えば、フォーカスレンズ12の定速移動速度が50mm/sであり、磁化ピッチが250μmであるとき、駆動音の周波数は、800Hzとなる。800Hzは、人間の聴覚にとって敏感な周波数であり、このような音が例えば動画撮影において録音されると聞き苦しいものとなる。
次に、本実施形態に係る位置制御に係る動作について説明する。図11に、位置制御動作を示すフローチャートを示す。位置制御動作は、カメラシステム1が起動したときに開始する。
ステップS101において、レンズ制御部19は、補正係数k[p,s]の初期値を設定する。なお、補正係数k[p,s]の初期値は、例えば0でもよいし、前回の動作時に決定された値でもよいし、他の値でもよい。ステップS102において、レンズ制御部19は、補正を行うか否かを表す補正フラグをOFFに設定する。
ステップS103において、レンズ制御部19は、GMRセンサ182の出力信号に基づいて、フォーカスレンズ12を含む可動部122の光軸方向の位置を算出する現在位置算出処理を行う。現在位置算出処理について、図12に示すフローチャートを参照して説明する。
ステップS201において、レンズ制御部19は、正規化されたGMRセンサ182のA相の出力a(t)とB相の出力b(t)とを取得する。
ステップS202において、レンズ制御部19は、補正フラグがONであるか否かを判定する。補正フラグがONでないとき、すなわち、補正フラグがOFFであるとき、処理はステップS204に進む。一方、補正フラグがONであるとき、処理はステップS203に進む。ステップS203において、レンズ制御部19は、出力補正処理を行う。出力補正処理については、後に説明する。出力補正処理の後、処理はステップS204に進む。
ここで説明しているステップS103における現在位置算出処理においては、補正フラグがOFFになっているので、出力補正処理は行われない。
ステップS204において、レンズ制御部19は、ステップS201で取得したa(t)及びb(t)に基づいて、逆正接演算を行う。すなわち、位相角θを下記式(5)に基づいて算出する。
θ=arctan(a(t)/b(t)) (5)
ステップS205において、レンズ制御部19は、算出された位相角θに対して所定のピッチ内相対位置換算係数を乗算し、磁化ピッチ内の相対位置を算出する。ステップS206において、レンズ制御部19は、ステップS205で得られた磁化ピッチ内の相対位置に対し、磁化ピッチpの値に応じたオフセット量(磁化ピッチカウントオフセット加算量266)を加算して、光軸方向の可動部122の現在位置を算出する。以上で現在位置算出処理を終了する。その後、処理はステップS103に戻る。
図11に戻って説明を続ける。ステップS103の現在位置算出処理の後、処理はステップS104に進む。ステップS104において、レンズ制御部19は、フィードバック制御状態フラグをONに設定する。ここで、フィードバック制御状態フラグは、フィードバック制御を行っているか否かを示すフラグである。ステップS105において、レンズ制御部19は、位置保持動作を行う。位置保持動作は、可動部122の位置を現在の位置に留まらせる動作である。この処理によって、可動部122の位置は、現在位置に留まる。
ステップS106において、レンズ制御部19は、可動部122を移動させるための指令である動作指令があるか否かを判定する。動作指令がないとき、処理はステップS106を繰り返して待機する。動作指令があるとき、処理はステップS107に進む。
ステップS107において、選択された動作モードの判定を行う。選択された動作モードが、補正係数k[p,s]を決定する調整動作であったとき、処理はステップS108に進む。本実施形態では、カメラシステム1の起動時に初めに調整動作が行われるように構成されている。したがって、最初にステップS107の判定が行われるときは調整動作が選択されており、2回目以降にステップS107の判定が行われるときは調整動作が選択されない。
ステップS108において、レンズ制御部19は、補正係数を算出する調整動作を行う。調整動作におけるフォーカスレンズ12を含む可動部122の移動経路について図13に示す模式図を参照して説明する。初めに、可動部122が図13に示す位置Aにあったとする。このとき、調整動作においては、可動部122は、カメラ本体30側の端の位置Bに移動させられる。続いて可動部122は、カメラ本体30と反対側の端の位置Cに移動させられる。位置Bから位置Cまで移動している間のGMRセンサ182の出力に基づいて、補正係数k[p,s]の決定が行われる。
調整動作処理について図14に示すフローチャートを参照して説明する。ステップS301において、レンズ制御部19は、カメラ本体30側の端を可動部122の移動目標位置に設定する。
ステップS302において、レンズ制御部19は、移動制御動作を行う。移動制御動作は、指示された移動目標位置に可動部122を移動させる動作である。移動制御動作について図15に示すフローチャートを参照して説明する。
ステップS401において、レンズ制御部19の目標位置指示部201は、現在の可動部122の位置と、移動目標位置(図13における位置B)とに基づいて、移動途中における処理周期毎の目標位置である制御目標位置を算出する。初期位置と移動目標位置と制御目標位置との関係を図16に示す。図16において、横軸は時間tであり、縦軸は可動部122の位置である。移動制御動作においては、可動部122を等速で移動させるように、制御目標位置Dn(n=1,2,3,…,N)が設定される。
ステップS402において、レンズ制御部19は、フィードバック制御処理を行う。フィードバック制御処理は、処理毎に現在の位置と制御目標位置との差に応じて、すなわちフィードバック制御によって、可動部122を駆動する処理である。フィードバック制御処理について、図17を参照して説明する。
ステップS501において、レンズ制御部19は、ステップS401で算出した制御目標位置に基づいて、経過時間に応じた実行中の処理における制御目標位置を設定する。ステップS502において、レンズ制御部19は、現在位置算出処理を行い、GMRセンサ182の出力信号を用いて、可動部122の現在の位置を算出する。現在位置算出処理は、図12を参照して説明した処理である。すなわち、簡単には以下のとおりである。
ステップS201において、レンズ制御部19は、A相の出力a(t)とB相の出力b(t)とを取得する。ステップS202において、レンズ制御部19は、補正フラグがONであるか否かを判定する。この時点において補正フラグはOFFであるので、処理はステップS204に進む。レンズ制御部19は、ステップS204において、a(t)及びb(t)に基づいて位相角θを算出し、ステップS205において、位相角θに基づいて磁化ピッチ内の相対位置を算出し、ステップS206において、磁化ピッチ内の相対位置に対してオフセット量を加算して、光軸方向の可動部122の現在位置を算出する。その後、処理は図17を参照して説明しているフィードバック制御処理に戻る。
フィードバック制御処理では、ステップS502で現在位置が算出された後、処理はステップS503に進む。ステップS503において、レンズ制御部19の演算部202は、ステップS501で設定した制御目標位置とステップS502で取得した現在位置との差から、制御位置偏差を算出する。ステップS504において、レンズ制御部19は、制御位置偏差に基づいて、可動部122の操作量を算出し、算出した操作量をフォーカスレンズドライバ15へと出力する。その結果、可動部122は移動する。
ステップS505において、レンズ制御部19は、調整中フラグがONであるか否かを判定する。調整中フラグがONでないとき、フィードバック制御処理は終了する。一方、調整中フラグがONであるとき、処理はステップS506に進む。ステップS506において、レンズ制御部19は、補正係数算出処理を行う。補正係数算出処理の後、フィードバック制御処理は終了する。
ここでは、調整中フラグはOFFであるので、ステップS506の補正係数算出処理は行われず、処理は図15を参照して説明している移動制御動作のステップS402に戻る。図15に戻って移動制御動作について説明を続ける。ステップS402のフィードバック制御処理の後、処理はステップS403に進む。
ステップS403において、レンズ制御部19は、ステップS301で設定された移動目標位置に到達したか否かを判定する。移動目標位置に到達していないとき、処理はステップS401に戻る。すなわち、移動目標位置に到達するまで、フィードバック制御処理が繰り返され、可動部122は移動目標位置に向けて徐々に移動する。ステップS403において、移動目標位置に到達したと判定されたとき、移動制御動作は終了し、処理は図14を参照して説明している調整動作のステップS302に戻る。すなわち、可動部122がカメラ本体30側の端(図13に示した位置B)に到達したとき、移動制御動作は終了する。
図14に戻って調整動作について説明を続ける。ステップS302の移動制御動作の後、処理はステップS303に進む。ステップS303において、レンズ制御部19は、調整中フラグをONに設定する。また、レンズ制御部19は、磁化ピッチの番号を表す変数pを1に設定する。ステップS304において、レンズ制御部19は、カメラ本体30側と反対側の端(図13に示した位置C)を移動目標位置に設定する。
ステップS305において、レンズ制御部19は、移動制御動作を行う。移動制御動作は、図15を参照して説明した動作である。すなわち、簡単に説明すると以下のとおりである。ステップS401において、レンズ制御部19の目標位置指示部201は、現在の可動部122の位置と、移動目標位置(図13における位置C)とに基づいて、移動途中における処理周期毎の目標位置である制御目標位置を算出する。
ステップS402において、レンズ制御部19は、フィードバック制御処理を行う。フィードバック制御処理は、図17を参照して説明した処理である。すなわち、簡単に説明すると以下のとおりである。ステップS501において、レンズ制御部19は、実行中の処理における制御目標位置を設定する。ステップS502において、レンズ制御部19は、現在位置算出処理を行い、GMRセンサ182の出力信号を用いて、可動部122の現在の位置を算出する。現在位置算出処理は、図12を参照して説明した処理である。
レンズ制御部19は、ステップS503において、制御目標位置と現在位置との差から、制御位置偏差を算出し、ステップS504において、制御位置偏差に基づいて操作量を算出し、当該操作量をフォーカスレンズドライバ15へと出力する。その結果、可動部122は移動する。ステップS505において、レンズ制御部19は、調整中フラグがONであるか否かを判定する。ここでは、調整中フラグがONとなっているので、処理はステップS506に進む。
ステップS506において、レンズ制御部19は、補正係数算出処理を行う。すなわち、可動部122がカメラ本体30側の端(図13における位置B)から反対側の端(図13における位置C)まで移動する間に、補正係数算出処理は繰り返し実行される。補正係数算出処理は、補正係数k[p,s]を決定する処理である。補正係数算出処理について図18に示すフローチャートを参照して説明する。
補正係数算出処理においては、GMRセンサ182のA相の出力a(t)及びB相の出力b(t)の絶対値が使用される。A相の出力a(t)の絶対値及びB相の出力b(t)の絶対値が等しくなるところを交点と呼ぶ。磁気スケール188の1磁化ピッチがGMRセンサ182の出力信号の1周期となるので、1磁化ピッチの中に交点は4個存在する。交点におけるGMRセンサ182の出力の絶対値に基づいて、補正係数k[p,s]は決定される。
ステップS601において、レンズ制御部19は、GMRセンサ182のA相の出力a(t)及びB相の出力b(t)を取得する。ステップS602において、レンズ制御部19は、a(t)の絶対値とb(t)の絶対値とが等しいか否かを判定する。a(t)の絶対値とb(t)の絶対値とが等しくないとき、処理はステップS610に進む。一方、a(t)の絶対値とb(t)の絶対値が等しいとき、処理はステップS603に進む。
ステップS603において、レンズ制御部19は、a(t)が0以上かつb(t)が0以上であるか否かを判定する。a(t)が0以上かつb(t)が0以上であるとき、処理はステップS604に進む。ステップS604において、レンズ制御部19は、変数E(p,1)をa(t)の絶対値に設定する。すなわち、ステートsが1であり、a(t)の絶対値とb(t)の絶対値とが等しいときのa(t)の絶対値が変数E(p,1)に設定される。その後、処理はステップS610に進む。
ステップS603において、a(t)が0以上かつb(t)が0以上でないと判定されたとき、処理はステップS605に進む。ステップS605において、レンズ制御部19は、a(t)が0以上かつb(t)が0未満であるか否かを判定する。a(t)が0以上かつb(t)が0未満以上であるとき、処理はステップS606に進む。ステップS606において、レンズ制御部19は、変数E(p,2)をa(t)の絶対値に設定する。すなわち、ステートsが2であり、a(t)の絶対値とb(t)の絶対値とが等しいときのa(t)の絶対値が変数E(p,2)に設定される。その後、処理はステップS610に進む。
ステップS605において、a(t)が0以上かつb(t)が0未満でないと判定されたとき、処理はステップS607に進む。ステップS607において、レンズ制御部19は、a(t)が0未満かつb(t)が0未満であるか否かを判定する。a(t)が0未満かつb(t)が0未満であるとき、処理はステップS608に進む。ステップS608において、レンズ制御部19は、変数E(p,3)をa(t)の絶対値に設定する。すなわち、ステートsが3であり、a(t)の絶対値とb(t)の絶対値が等しいときのa(t)の絶対値が変数E(p,3)に設定される。その後、処理はステップS610に進む。
ステップS607において、a(t)が0未満かつb(t)が0未満でないと判定されたとき、処理はステップS609に進む。ステップS609において、レンズ制御部19は、変数E(p,4)をa(t)の絶対値に設定する。すなわち、ステートsが4であり、a(t)の絶対値とb(t)の絶対値が等しいときのa(t)の絶対値が変数E(p,4)に設定される。その後、処理はステップS610に進む。
ステップS610において、レンズ制御部19は、磁化ピッチが変化したか否かを判定する。磁化ピッチが変化していないとき、処理はステップS612に進む。一方、磁化ピッチが変化しているとき、処理はステップS611に進む。ステップS611において、レンズ制御部19は、変数pに1を加算する。その後、処理はステップS612に進む。
ステップS612において、レンズ制御部19は、可動部122がカメラ本体30側と反対側の端(図13における位置C)に到達しているか否かを判定する。可動部122が端に到達していないとき、補正係数算出処理は終了する。一方、可動部122が端に達しているとき、処理はステップS613に進む。
ステップS613において、レンズ制御部19は、補正係数k[p,s]を算出する。以下に補正係数k[p,s]の算出方法について説明する。A相の出力a(t)とB相の出力b(t)とは、理想的には位相が90度ずれた正弦波同士であるので、A相の出力a(t)とB相の出力b(t)との交点における理想的なA相の出力a(t)及びB相の出力b(t)の値Lidは、a(t)又はb(t)の振幅Ampを用いて下記式(6)で表される。
Lid=Amp×sin45° (6)
しかしながら、前述の通り、GMRセンサ182の出力信号は理想的な正弦波信号からずれており、実際の交点のレベルは理想の値よりも小さい。そこで、a(t)の絶対値(|a(t)|)とb(t)の絶対値(|b(t)|)の1周期中の4つの交点に対してそれぞれ下記式(7)に基づいて補正基準関数g[x](xはa(t)又はb(t))を用いて補正係数k[p,s]を求める。
k[p,s]=(Lid−Lint)/g[Lid] (7)
ここで、Lidは、理想の交点レベルであり、Lintは、p番目の磁化ピッチのステートsでのa(t)とb(t)の交点レベルであり、pはピッチ番号、sはa(t)とb(t)の符号の組み合わせで決まるステートである。すなわち、上記式(7)は、以下のとおりとなる。
k[p,1]=(Amp×sin(π/4)−E(p,1))
/g[(Amp×sin(π/4))]
k[p,2]=(Amp×sin(π/4)−E(p,2))
/g[(Amp×sin(π/4))]
k[p,3]=(Amp×sin(π/4)−E(p,3))
/g[(Amp×sin(π/4))]
k[p,4]=(Amp×sin(π/4)−E(p,4))
/g[(Amp×sin(π/4))]
ここで、補正基準関数g[x]について説明する。本実施形態では、補正基準関数として、a(t)又はb(t)に応じた補正量を与える関数が予め決められている。補正基準関数g[x]は、例えば図8に示すように、変動するGMRセンサ182の出力の最大値、最小値、及びそれらの中点において、値が0となるような関数である。
補正基準関数g[x]は、上述の式(1)で示した誤差信号Δdに含まれており下記式(8)で表される。
g[x]=sin(π×|Lv|/Amp)
=sin(π×|x|/Amp) (8)
ここで、Lvは、正規化後のGMRセンサの出力信号レベルを示し、Ampは、正規化後のGMRセンサの出力信号の振幅を示す。
ステップS614において、レンズ制御部19は、ステップS613で算出された補正係数k[p,s]を補正係数テーブルとして記憶部260に保存する。ステップS615において、レンズ制御部19は、補正フラグをONに設定する。その後、補正係数算出処理は終了し、処理は図17を参照して説明しているフィードバック制御処理のステップS506に戻る。
ステップS506の補正係数算出処理の後、フィードバック制御処理は終了し、処理は図15を参照して説明している移動制御動作のステップS402に戻る。ステップS402のフィードバック制御処理の後、処理はステップS403に進む。ステップS403において、レンズ制御部19は、目標位置に到達したか否かを判定する。移動目標位置に到達していないとき、フィードバック制御処理が繰り返され、移動目標位置に到達したとき、移動制御動作は終了して、処理は図14を参照して説明している調整動作のステップS305に戻る。すなわち、可動部122がカメラ本体30側と反対側の端(図13に示した位置C)に到達したとき、移動制御動作は終了する。このようにして、可動部122の可動範囲の全てについて、補正係数k[p,s]が決定される。
移動制御動作の後、処理はステップS306に進む。ステップS306において、レンズ制御部19は、調整中フラグをOFFに設定する。その後、調整動作は終了し、処理は図11を参照して説明しているステップS108に戻る。調整動作の後、処理はステップS109に進む。ステップS109において、レンズ制御部19は、制御終了動作を行い、フィードバック制御を終了する。その後、処理はステップS104に戻る。
ステップS107の判定において、選択された動作が通常動作であったとき、処理はステップS110に進む。通常動作は、フォーカスレンズ12を含む可動部122を現在の位置から別の位置へと移動させる動作である。例えばカメラ本体30のAF処理部34の処理結果に基づいて、AF動作がされるとき、通常動作が選択されることになる。
ステップS110において、レンズ制御部19は、レンズ制御通信インターフェース205や操作入力インターフェース206を介して入力された情報に基づいて、可動部122を移動させるにあたっての目標の位置となる移動目標位置を設定する。ステップS111において、レンズ制御部19は、図15を参照して説明した移動制御動作を行う。すなわち、簡単に説明すると以下のとおりである。
ステップS401において、レンズ制御部19の目標位置指示部201は、現在の可動部122の位置と、ステップS110で設定された移動目標位置とに基づいて、移動途中における処理周期毎の目標位置である制御目標位置を算出する。例えば図19に示すように、初期位置Dに位置する可動部122を移動目標位置Eまで移動させる場合を考える。このとき設定される制御目標位置について、図20に模式的に示す。図20において、横軸は時間tであり、縦軸は可動部122の位置である。移動制御動作においては、可動部122を等速で移動させるように、制御目標位置Dn(n=1,2,3,…,N)が設定される。
ステップS402において、レンズ制御部19は、フィードバック制御処理を行う。フィードバック制御処理は、図17を参照して説明した処理である。すなわち、簡単に説明すると以下のとおりである。ステップS501において、レンズ制御部19は、実行中の処理における制御目標位置を設定する。ステップS502において、レンズ制御部19は、現在位置算出処理を行い、GMRセンサ182の出力信号を用いて、可動部122の現在の位置を算出する。現在位置算出処理は、図12を参照して説明した処理である。すなわち、以下のとおりである。
ステップS201において、レンズ制御部19は、A相の出力a(t)とB相の出力b(t)とを取得する。ステップS202において、レンズ制御部19は、補正フラグがONであるか否かを判定する。この時点において補正フラグはONであるので、処理はステップS203に進む。
ステップS203において、レンズ制御部19は、出力補正処理を行う。出力補正処理は、GMRセンサ182のA相の出力a(t)及びB相の出力b(t)を、補正基準関数g[x]と補正係数k[p,s]とに基づいて補正する処理である。補正後のA相の出力をa´(t)とし、補正後のB相の出力をb´(t)とする。出力補正処理について、図21に示すフローチャートを参照して説明する。
ステップS701において、レンズ制御部19は、a(t)が0以上であるか否かを判定する。a(t)が0以上であるとき、処理はステップS702に進む。
ステップS702において、レンズ制御部19は、b(t)が0以上であるか否かを判定する。b(t)が0以上であるとき、処理はステップS703に進む。すなわち、ステップS703の処理が行われるのは、ステートsが1のときである。ステップS703において、レンズ制御部19は、a(t)及びb(t)を下記の補正式(9)と(10)で補正する。
a´(t)=a(t)+k[p,s]×g[a(t)] (9)
b´(t)=b(t)+k[p,s]×g[b(t)] (10)
その後、出力補正処理は終了し、処理は図12を参照して説明している現在位置算出処理のステップS203に戻る。
ステップS702の判定において、b(t)が0以上でないと判定されたとき、処理はステップS704に進む。すなわち、ステップS704の処理が行われるのは、ステートsが2のときである。ステップS704において、レンズ制御部19は、a(t)及びb(t)を下記の補正式(11)と(12)で補正する。
a´(t)=a(t)+k[p,s]×g[a(t)] (11)
b´(t)=b(t)−k[p,s]×g[b(t)] (12)
その後、出力補正処理は終了し、処理は図12を参照して説明している現在位置算出処理のステップS203に戻る。
ステップS701の判定において、a(t)が0以上でないと判定されたとき、処理はステップS705に進む。ステップS705において、レンズ制御部19は、b(t)が0以上であるか否かを判定する。b(t)が0以上であるとき、処理はステップS706に進む。すなわち、ステップS706の処理が行われるのは、ステートsが4のときである。ステップS706において、レンズ制御部19は、a(t)及びb(t)を下記の補正式(13)と(14)で補正する。
a´(t)=a(t)−k[p,s]×g[a(t)] (13)
b´(t)=b(t)+k[p,s]×g[b(t)] (14)
その後、出力補正処理は終了し、処理は図12を参照して説明している現在位置算出処理のステップS203に戻る。
ステップS705の判定において、b(t)が0以上でないと判定されたとき、処理はステップS707に進む。すなわち、ステップS707の処理が行われるのは、ステートsが3のときである。ステップS707において、レンズ制御部19は、a(t)及びb(t)を下記の補正式(15)と(16)で補正する。
a´(t)=a(t)−k[p,s]×g[a(t)] (15)
b´(t)=b(t)−k[p,s]×g[b(t)] (16)
その後、出力補正処理は終了し、処理は図12を参照して説明している現在位置算出処理のステップS203に戻る。
以上のような出力補正処理によって、補正後位置情報信号である補正後のA相の出力a´(t)と補正後のB相の出力b´(t)とが得られる。出力補正処理について図22に模式的に図示する。
図22の(a)は、磁化ピッチpとステートsの番号を示す。図22の(b)は、GMRセンサ182の出力を示す。ここで、実線は、第1のGMRセンサ184から出力されるA相の出力波形の理想的な場合を示しており、正弦波形状を示している。破線は、第2のGMRセンサ185から出力されるB相の出力波形の理想的な場合を示しており、余弦波形状を示している。一点鎖線は、第1のGMRセンサ184から出力されるA相の出力a(t)を示す。二点鎖線は、第2のGMRセンサ185から出力されるB相の出力b(t)を示す。
図22の(c)は、補正基準関数g[x]に補正係数k[p,s]を乗じた値の絶対値を模式的に示す。図22の(d)は、A相の出力a(t)に対して|k[p,s]×g[a(t)]|を加算するか減算するかを示す。図22の(d)に示すように、|k[p,s]×g[a(t)]|を加算するか減算するかは、ステートによって決定されている。
図22の(e)は、補正前後のGMRセンサ182の出力を示す。ここで、実線は、補正後のA相の出力a´(t)を示し、破線は、補正後のB相の出力b´(t)を示し、一点鎖線は、補正前の第1のGMRセンサ184から出力されるA相の出力波形a(t)を示し、二点鎖線は、第2のGMRセンサ185から出力されるB相の出力波形b(t)を示す。
図22の(b)と(e)とから明らかなように、補正後のGMRセンサ182の出力は、理想的なGMRセンサ182の出力に近くなっている。
図12に戻って現在位置算出処理について説明を続ける。ステップS203の出力補正処理の後、処理はステップS204に進む。ステップS204において、レンズ制御部19は、ステップS203の出力補正処理で補正されたGMRセンサ182の出力であるa´(t)とb´(t)とに基づいて、下記式(17)により、位相角θを算出する。
θ=arctan(a´(t)/b´(t)) (17)
ステップS205において、レンズ制御部19は、位相角θに対して所定のピッチ内相対位置換算係数を乗算し、磁化ピッチ内の相対位置を算出する。ステップS206において、レンズ制御部19は、ステップS205で得られた磁化ピッチ内の相対位置に対し、オフセット量を加算して、光軸方向の可動部122の現在位置を算出する。その後、処理は、図17を参照して説明しているフィードバック制御処理のステップS502に戻る。
ステップS502の現在位置算出処理の後、処理はステップS503に進む。レンズ制御部19は、ステップS503において、制御目標位置と現在位置との差から、制御位置偏差を算出し、ステップS504において、制御位置偏差に基づいて操作量を算出し、当該操作量をフォーカスレンズドライバ15へと出力する。その結果、可動部122は移動する。
ステップS505において、レンズ制御部19は、調整中フラグがONであるか否かを判定する。ここでは、調整中フラグがOFFとなっているので、フィードバック制御処理は終了し、処理は図15を参照して説明している移動制御動作のステップS402に戻る。
図15に戻って移動制御動作について説明を続ける。ステップS402のフィードバック制御処理の後、処理はステップS403に進む。ステップS403において、レンズ制御部19は、図11を参照して説明している装置動作のステップS110で設定された移動目標位置に到達したか否かを判定する。移動目標位置に到達していないとき、処理はステップS401に戻る。すなわち、移動目標位置に到達するまで、フィードバック制御処理が繰り返される。ステップS403において、移動目標位置に到達したと判定されたとき、移動制御動作は終了し、処理は図11を参照して説明している装置動作のステップS111に戻る。
図11に戻り、位置制御動作について説明を続ける。ステップS111の移動制御動作の後、処理はステップS109に進む。ステップS109において、レンズ制御部19は、制御終了動作を行い、フィードバック制御を終了する。その後、処理はステップS104に戻る。
ステップS107の判定において、選択された動作が制御終了動作であるとき、処理はステップS112に進む。ステップS112において、レンズ制御部19は、制御終了動作を行い、フィードバック制御を終了する。その後、処理はステップS113に進む。ステップS113において、レンズ制御部19は、フィードバック制御状態フラグをOFFに設定する。その後、移動制御動作は終了する。
補正前後のGMRセンサ182の出力に基づいて作成したリサージュ波形を図23に示す。ここで、実線は、補正後のGMRセンサ182のA相の出力とB相の出力とを用いて作成したリサージュ波形であり、破線は、補正後のGMRセンサ182のA相の出力とB相の出力とを用いて作成したリサージュ波形である。補正後のリサージュ波形は、補正前のリサージュ波形よりも真円に近い形状となっていることが明らかである。
また、補正前後のGMRセンサ182の出力を用いてフォーカスレンズ12を一定速度で駆動させたときに発生する駆動音の周波数特性を図24に示す。図24において、実線は、補正後のGMRセンサ182の出力を用いて、フォーカスレンズ12を一定速度で駆動させたときに発生する駆動音をFFT解析した結果を示し、破線は、補正前のGMRセンサ182の出力を用いて、フォーカスレンズ12を一定速度で駆動させたときに発生する駆動音をFFT解析した結果を示す。図24から明らかなように、ピークを示す約800Hzについて、補正前よりも補正後の方が発生する駆動音が低下していることが分かる。
上述のような補正が行われない場合は、可動部122を一定速度で駆動しようとしたときに、GMRセンサ182の出力に存在する周期的な誤差に由来して、可動部122の速度が周期的に変化し、比較的大きな駆動音が発生し得る。これに対して、本実施形態によれば、GMRセンサ182の出力が補正によって理想的な場合に近づくため、可動部122の速度は一定速度に近づき、発生し得る駆動音は低減される。
また、可動部の駆動速度がより、指定した駆動速度に近い値を保つので、オートフォーカス精度の向上にもなる。さらに、余分な操作量の変化を減らすことにより、消費電力は低減する。
本実施形態では、各ステートs内で共通の補正係数k[p,s]が用いられ、予め定められた補正基準関数g[x]を用いて上記式(9)乃至(16)に基づいて補正後位置情報信号が算出される。このように、本実施形態に係る補正では演算量が小さいので、本実施形態によれば、簡便かつ少ないデータ処理量で適切な補正が行われ得る。
なお、上述の実施形態では、補正係数k[p,s]を起動時に決定する構成として説明した。しかしながら、これに限らない。当該レンズ鏡筒10の出荷前の検査において、補正係数k[p,s]を求め、この値を不揮発性メモリ21に保存しておき、起動時には補正係数k[p,s]を求めないこととしてもよい。このようにすれば、レンズ制御部19における処理量は、本実施形態の場合と比較して低減する。
また、磁気スケール188の経年劣化等を考慮して、実使用時にGMRセンサ182の出力のピークレベルと交点レベルとを保存して、常に補正係数を更新するような構成が用いられてもよい。このようにすれば、本実施形態の場合よりも位置算出の制度が向上する。
また、本実施形態では、補正係数k[p,s]を求めるためにA相の出力とB相の出力と絶対値が等しくなる点が用いられているが、絶対値ではなく、A相の出力とB相の出力との値が等しくなる点が用いられてもよい。この場合、a(t)とb(t)との符号によって、補正係数k[p,s]が異なるように補正係数k[p,s]は決定される。
また、本実施形態では、磁化ピッチp毎及びステートs毎に補正係数k[p,s]が求められているが、ステートs毎には補正係数k[p,s]を求めるが全ての磁化ピッチpに対して共通の補正係数k[p,s]が用いられてもよい。このようにすれば、本実施形態に係る処理量が減少する。
また、上述の説明では、GMRセンサ182に係るリサージュ波形が円に対して内側にへこんでいるように歪んでいる場合を例に挙げて説明を行った。しかしながらこれに限らず、リサージュ波形の45°+90°×N(N=0,1,2,3)が外側に膨らんでいるように歪んでいる場合についても、同様の補正が適用され得る。
本実施形態では、補正基準関数g[x]は、変動するGMRセンサ182の出力の最大値、最小値、及びそれらの中点においてg[x]の値が0となるような関数としたが、これに限るものではない。
本実施形態では、補正基準関数g[x]の一例として式(8)を示したが、それに限るものではない。また、補正係数k[p,s]の一例として式(7)を示したが、それに限るものではない。補正係数k[p,s]は、理想的な場合の交点と、a(t)及びb(t)の交点とが用いられていれば、他の関係が用いられてもよい。
本実施形態では、補正値関数の一例として式(2)を示したが、それに限るものではない。例えば、下記式(18)や(19)のように、補正係数k[p,s]、補正基準関数g[x]の積に、予め定めたオフセット値の定数となるCを加えたもの、もしくは、オフセット値が磁化ピッチpとステートsにより個々に決まる値C[p,s]を加えたものを補正値関数と定めてもよい。これらオフセット値は、例えば、センサ出力が、センサの温度条件等によりオフセットが変化する場合等にも対応できる。
f[x]=k[p,s]×g[x]+ C (18)
f[x]=k[p,s]×g[x]+ C[p,s] (19)
また、本実施形態では、位置センサとして、磁気エンコーダが用いられているが、エンコーダの種類はこれに限らない。例えば、駆動装置に光学式のエンコーダや静電容量型のエンコーダが用いられてもよい。また、本実施形態では、磁気スケール188に直線状のスケールが用いられているが、これに限らない。例えば回転を検出する位置センサ18として円環形状の磁気スケールが用いられてもよい。
本実施形態では、2相のエンコーダを例に挙げて説明したがこれに限らない。例えば3相やそれ以上のエンコーダに対しても、本実施形態に係る技術は同様に適用され得る。
また、本実施形態では、位置算出部はフォーカスレンズの位置を算出するものとして動作の説明を行ったが、これに限らない。例えばズームレンズの移動に関しても本実施形態の技術は適用され得る。また、レンズ以外の物体を移動する場合における位置検出においても、本実施形態の技術は適用され得る。