【実施例】
【0040】
以下、図面を参照して本発明の実施例について説明する。
まず、本実施例に係る線形運動デバイスの制御装置の着目点について以下に説明する。
図7(a)及び(b)は、アクチュエータ部と撮像素子を組み立てたカメラモジュール毎に、アクチュエータ内でのフォーカスするレンズの位置が異なることを示した図である。図中符号1はAFレンズ、2はアクチュエータ部、3は撮像素子を示している。
図7(a)及び(b)において、被写体Mからレンズ1までの距離LM1が被写体距離で、アクチュエータ部2と撮像素子3までの距離LG1(
図7(a)ではLG1a、
図7(b)ではLG1b)が第1のギャップで、レンズ1と撮像素子3までの距離LG2が第2のギャップとする。
【0041】
被写体距離LM1により第2のギャップLG2は一定の距離に決められている。つまり、被写体距離LM1によって、最適な第2のギャップLG2が存在する。ここで、第1のギャップLG1は、アクチュエータ部2の組立バラつきなどにより変化する。
図7(a)及び(b)におけるLG1aとLG1bの値は異なっており、LG1a>LG1bの関係にある。つまり、
図7(a)におけるアクチュエータ部2は、
図7(b)におけるアクチュエータ部2よりも撮像素子3から離れていることになる。
そうすると、被写体距離LM1により第2のギャップLG2は一定の値なので、アクチュエータ部内でのレンズ1の位置が異なることになる。つまり、
図7(a)におけるアクチュエータ部2の被写体M側の端部からレンズ1までの距離A1は、
図7(b)におけるアクチュエータ部2の被写体M側の端部からレンズ1までの距離A2よりも長くなる。
【0042】
例えば、
図7(a)では、レンズ1の位置を表すコード値(Position Registerの値)が、50コード(code)だとして、
図7(b)では、50codeでは、フォーカスせず、100codeでフォーカスするということになる。つまり、アクチュエータ部2の組み立てた個体毎に、フォーカスするコード値が異なるということになる。
したがって、本実施例は、アクチュエータ部2の組み立てた個体毎にバラツキのあるコード値を書き換えるというもので、
図7(a)でも、
図7(b)でも、フォーカスするレンズの位置をある任意のコード(Code)に書き換えるということである。
【0043】
図8は、本実施例の適用前後でのレンズ位置とコード値との関係を説明するための図である。キャリブレーション直後は、コード値とレンズ位置の関係は、
図7の太点線であり、この場合、任意の第1の被写体距離(例えば、10cm)に対応するレンズ位置を示すコード値はBcodeで、任意の第2の被写体距離(例えば、3m)に対応するレンズ位置を示すコード値はAcodeである。
これを、Acode⇒Xcode、Bcode⇒Ycodeに変換し、新たに太実線のレンズの位置とポジションレジスタの関係を得ることが、着目点になる。
つまり、上述した
図7(a)及び(b)では、1点のレンズ位置しか示していない。
図3でいうAcode(又はBcode)が
図7でいう50codeや100codeとなる。つまり、モジュール毎にAcode(又はBcode)が変わっているが、これを任意のXcode(又はYcode)に変換するのが本実施例である。
【0044】
図9は、本実施例の前提となるカメラモジュールを説明するための構成図である。カメラモジュール10は、AFレンズ1を線形運動させるアクチュエータ部2と、CMOSセンサやCCDセンサなどの撮像素子3と、この撮像素子3から送られてくる被写体Mのコントラスト信号からAFレンズ1の目標位置信号を決める信号処理回路4とから構成されている。なお、信号処理回路4はカメラモジュール10の外部にあっても構わない。
アクチュエータ部2は、線形運動するAFレンズ1に固定された磁石5と、この磁石5を線形運動させるための斥力と引力を発生させる駆動コイル6と、磁石5の位置を検知し、駆動コイル6に流す電流の量と方向を制御するIC回路7(
図10における符号20に相当)で構成されている。また、IC回路7は、磁石5の位置を検知する磁場センサ7aと、駆動コイル6に流す電流の量と方向を決めるドライバ回路7bと、磁石5の位置と目標位置の偏差からドライバ回路7bの操作量を決めるPID制御回路7cとで構成されている。
【0045】
AFレンズ1は、デジタル化された目標位置信号に従って、アクチュエータ内の機械的端点_FULLと機械的端点_HOME間を離散的に線形運動する。AF制御は、AFレンズ1を被写体のコントラスト信号が最大になる点へ移動させる動作で、被写体Mとカメラモジュール10間の被写体距離に因って、コントラスト信号が最大となるAFレンズ1の位置が異なる。よって、AF制御は、AFレンズ1を撮像素子3が出力する被写体Mのコントラスト信号が最大となる点を逐次比較で探すコントラスト検出方式や、測距センサで被写体Mとカメラモジュール10間の被写体距離を測り、被写体距離からコントラスト信号が最大となるAFレンズ1の位置を算出し、AFレンズ1を移動させる測距方式などが用いられている。
【0046】
一般的に、量産されたカメラモジュールで高精度な画像を得るためには、アクチュエータ並びにカメラモジュールの製造バラツキに因らず、磁石が機械的端点_FULLと機械的端点_HOMEに位置した場合の、フォーカス時の被写体距離の分布がないことが望ましい。しかしながら、組み立て時、アクチュエータは、機械的端点_FULLと機械的端点_HOME間のストロークに製造バラツキが生じ、カメラモジュールは、組み立て時、機械的端点_HOMEと、撮像素子間のギャップに製造バラツキが生じてしまう。
なお、フォーカス時の被写体距離がカメラモジュールから遠い場合には、AFレンズは、機械的端点_HOME近辺に位置し、フォーカス時の被写体距離がカメラモジュールから近い場合には、AFレンズは、機械的端点_FULL近辺に位置する。
【0047】
通常、カメラモジュール毎に、イメージシグナルプロセッサ(ISP;Image Signal Processor)、もしくは、外部のメモリに被写体距離(焦点距離)とコード値の関係が保存されており、ISPは、その保存された内容を参照して、予め決められた被写体距離内でAFレンズを動かす。ここで、カメラモジュール毎に上述したように機械的端点_HOMEと、撮像素子間のギャップに製造バラツキが生じると、コード値と、被写体距離(焦点距離)の関係がカメラモジュール毎に異なってしまう。その場合、本来使用しないAFレンズ位置からAFレンズを動かすことになる。つまり、AFレンズを無駄な区間で動かす必要が生じ、AFスピードが遅くなる。そこで、従来は、カメラモジュール毎に、使用可能なコード値の範囲を制限したり、物理的にアクチュエータと撮像素子との距離を任意の距離になるように調整したりしている。
【0048】
図10は、本実施例に係る線形運動デバイスの制御装置を説明するための構成図である。図中符号20は制御装置、21(7a)は磁場センサ(ホール素子)、22はオフセット補償回路、23は増幅器、24はA/D変換回路、25はI
2CIF(インターフェース)、26はコントローラ部、26aはコード設定部、27はメモリ、28(7c)はPID制御回路(制御部)、29はドライバ回路、30(6)は駆動コイル、40はカメラモジュール、41は線形運動デバイス、42(5)は磁石、43(1)はAFレンズを示している。なお、
図8と同じ機能を有する構成要素には同一の符号を付してある。
【0049】
また、I
2C(アイ・スクエア・シー、アイ・ツー・シー)は、シリアスバスで、低速な周辺機器をマザーボードへ接続したり、組み込むシステム、携帯電話などで使われており、Inter−Integrated Circuit の略で、I−squared−C(アイ・スクエアド・シー)が正式な読み方とされており、I2Cと表記されることも多い。
本実施例の線形運動デバイスの制御装置20は、移動体43に取り付けられた磁石42を有する線形運動デバイス41と、この線形運動デバイス41の磁石42の近傍に配置された駆動コイル30とを備えたアクチュエータモジュールにおいて、この駆動コイル30にコイル電流が流れることによって発生する力により磁石42に固定されているレンズ43を移動させることが可能である。
【0050】
磁場センサ21は、磁石42が発生する磁場を検出し、検出された磁場の値に対応する検出位置信号値VPROCを出力する。コントローラ部26は、線形運動デバイス41を移動すべき目標位置を指示する目標位置信号値VTARGを出力する。
メモリ27は、基準位置からのレンズ位置とレンズ位置に対応したコード値とが記憶される。メモリ27に接続するコントローラ部26は、メモリ27に既に記憶されているコード値を新たなコード値に再設定するコード設定部を備える。コード設定部26aは、ユーザによりコード値を設定することが可能になっていてもよく、外部と接続するSDA/SCL端子から入力される外部信号によってコード値を設定するようになっていてもよい。
【0051】
なお、ここでキャリブレーションとは、線形運動デバイス41のホーム位置に対応する第1の位置信号値NEGCALおよび、線形運動デバイス41のフル位置に対応する第2の位置信号値POSCALに対応する検出位置演算信号値VPROCを得て、メモリ27に記憶させることを意味している。
PID制御回路28は、磁場センサ21による検出位置信号値VPROCとコントローラ部26による目標位置信号値VTARGに基づいて、レンズ43を目標位置に移動させるための制御信号をPID制御により生成する。
ドライバ回路29は、PID制御回路28による制御信号に基づいて駆動コイル30に駆動電流を供給する。
【0052】
図10においては、カメラモジュール40のレンズの位置調整を行う制御装置20に適用した場合について説明する。この制御装置(位置制御回路)20は、例えば、IC回路として構成されている。なお、カメラモジュール40は、線形運動デバイス41と、レンズ43を移動させる駆動コイル30とで構成されている。したがって、駆動コイル30に電流を流すことにより、磁石42が移動され、その磁石42に固定されているレンズ43の位置調整が可能となる。
つまり、線形運動デバイス41の制御装置20は、レンズ(移動体)43に取り付けられた磁石42を有する線形運動デバイス41と、この線形運動デバイス41の磁石42の近傍に配置された駆動コイル30とを備え、この駆動コイル30にコイル電流が流れることによって発生する力により磁石42を移動させるように構成されている。
磁場センサ21は、磁石42が発生する磁場を検出し、検出された磁場の値に対応する検出位置信号値VPROCを出力する。つまり、磁場センサ21は、カメラモジュール40の磁石42が発する磁場を電気信号に変換し、検出位置信号を増幅器23に出力する。増幅器23は、磁場センサ21から入力される検出位置信号をオフセット補償回路22を介して増幅する。なお、この磁場センサ21はホール素子であることが望ましい。
【0053】
また、A/D変換回路24は、磁場センサ21からの検出位置信号を増幅器23により増幅してA/D変換するもので、A/D変換された検出位置信号値VPROCを得るものである。
また、コントローラ部26はデバイス(レンズ)位置を制御し、目標位置信号値VTARGを出力するもので、PID制御回路28に接続されている。
また、PID制御回路28は、A/D変換回路24とコントローラ部26とに接続され、A/D変換回路24からの出力信号である検出位置信号値VPROCと、コントローラ部26からの出力信号である目標位置信号値VTARGを入力として、PID制御を行うものである。つまり、PID制御回路28は、A/D変換回路24からの検出位置信号値VPROCとデバイス(レンズ)位置コントローラ部26で生成されたレンズ位置の目標位置信号値VTARGとを入力し、レンズ43の現在位置と、目標位置信号値VTARGにより指示されるレンズ43の目標位置とから、レンズ43を目標位置に移動させるための制御信号を出力する。
【0054】
ここでPID制御とは、フィードバック制御の一種で、入力値の制御を出力値と目標値との偏差とその積分及び微分の3つの要素によって行う方法のことである。基本的なフィードバック制御として比例制御(P制御)がある。これは入力値を出力値と目標値の偏差の一次関数として制御するものである。PID制御では、この偏差に比例して入力値を変化させる動作を比例動作あるいはP動作(PはPROPORTIONALの略)という。つまり、偏差のある状態が長い時間続けばそれだけ入力値の変化を大きくして目標値に近づけようとする役目を果たす。この偏差の積分に比例して入力値を変化させる動作を積分動作あるいはI動作(IはINTEGRALの略)という。このように比例動作と積分動作を組み合わせた制御方法をPI制御という。この偏差の微分に比例して入力値を変化させる動作を微分動作あるいはD動作(DはDERIVATIVE又はDIFFERENTIALの略)という。比例動作と積分動作と微分動作を組み合わせた制御方法をPID制御という。
【0055】
PID制御回路28からの出力信号は、D/A変換回路(図示せず)によりD/A変換され、ドライバ回路29により、検出位置演算信号値VPROCと目標位置信号値VTARGに基づいて、駆動コイル30に駆動電流が供給される。つまり、ドライバ回路29は、PID制御回路28からの制御信号に基づき、出力信号Vout1,Vout2を生成する。この出力信号Vout1,Vout2は、カメラモジュール40の駆動コイル30の両端に供給される。
なお、以上の説明では、線形運動デバイスが、レンズ(移動体)43と、このレンズ(移動体)43に取り付けられた磁石42とからなるものとしているが、駆動コイルを含めて線形運動デバイスとすることもできる。
このようにして、レンズの稼動範囲を変更した場合にも、線形運動デバイスの応答特性を変化させることなく、正確な位置制御を可能とすることができる。
【0056】
つまり、線形運動デバイス41のホーム位置に対応する第1の位置信号値NEGCALと、線形運動デバイス41のフル位置に対応する第2の位置信号値POSCALに対応する検出位置演算信号値(VPROC)を得るキャリブレーション時のレンズの位置とそれに対応するコード値はメモリ27に保存される。
本実施例は、任意の被写体距離に配置した被写体に対して、メモリ27に保存されたレンズの位置とそれに対応するコード値を書き換えるというものである。このメモリ27には、
図9に示した所定の被写体距離(例えば3mや10cm)に配置された被写体にフォーカスするレンズ位置とそれに対応するコード値(ここではAとBする)がキャリブレーション直後は書き込まれているが、このAとBをX及びYに書き換えるということになる。
なお、以上ではコントローラ部26が、コード設定部26aを備える場合を中心に説明したが、コントローラ部26外にコード設定部があってもよい。
【0057】
図11は、本実施例に係る線形運動デバイスの制御方法を説明するためのフローチャートを示す図である。本実施例を適用した線形運動デバイスの制御方法は、前準備と実際の動作2つに分けられる。
前準備としては、キャリブレーションを行い、メモリに保存されたレンズの位置とそれに対応するコード値を、本実施例の制御方法を用いて、任意の値に書き換える(ステップS1)。
実際の動作としては、移動体43に取り付けられた磁石42を有する線形運動デバイス41と、この線形運動デバイス41の磁石42の近傍に配置された駆動コイル30とを備え、この駆動コイル30にコイル電流が流れることによって発生する力により磁石42に固定されているレンズ43を移動させる線形運動デバイス41を制御する。
【0058】
まず、外部からI
2CIF25を介して入力された目標位置信号を、コントローラ部にてメモリに保存された値に変換し、目標位置信号値VTARGを出力する(ステップS2)。次に、磁場センサ21により、磁石42が発生する磁場を検出し、検出された磁場の値に対応する検出位置信号値を出力する(ステップS3)。
次に、制御部28により、検出位置信号値VPROCと目標位置信号値VTARGに基づいて、レンズ43を目標位置に移動させるための制御信号をPID制御により生成する(ステップS4)。次に、ドライバ回路29により、制御信号に基づいて駆動コイル30に駆動電流を供給する(ステップS5)。
【0059】
以上のように、本発明によれば、撮像素子とアクチュエータを組み合わせたカメラモジュールの状態で、少なくとも1点以上の任意のフォーカス被写体距離の最適化を可能にしたカメラモジュールの調整方法及びレンズ位置制御装置並びに線形運動デバイスの制御装置及びその制御方法を実現することができ、カメラモジュールの製造バラツキに因らず、高精度な画質を得ることができ、かつAFスピードの向上にも繋がる。
以上のように、特定の実施形態を参照して本発明を説明したが、これらの説明によって発明を限定することを意図するものではない。本発明の説明を参照することにより、当業者には、開示された実施形態の種々の変形例とともに本発明の他の実施形態も明らかである。従って、特許請求の範囲は、本発明の技術的範囲及び要旨に含まれるこれらの変形例又は実施形態も網羅すると解すべきである。