以下、本実施形態について、図を用いて説明する。撮像装置1は、デジタルカメラであるとして説明する。なお、方向を説明するために、撮像装置1において撮像素子の撮像面に入射する光学像を結像させる撮像光学系(撮影レンズ67など)の光軸LXと直交する水平方向を第1方向x、光軸LXと直交する鉛直方向を第2方向y、光軸LXと平行な水平方向を第3方向zとして説明する。
撮像装置1の撮像に関する部分は、主電源のオンオフ切り替えを行うPonボタン11、レリーズボタン13、像ブレ補正ボタン14、LCDモニタ17、ミラー絞りシャッタ部18、DSP19、CPU21、AE部23、AF部24、像ブレ補正部30の撮像部39a、及び撮影レンズ67から構成される(図1〜3参照)。
Ponボタン11の押下に対応してPonスイッチ11aのオンオフ状態が切り替えられ、これにより撮像装置1の主電源のオンオフ状態が切り替えられる。被写体像は、撮像部39aによって撮影レンズ67を介した光学像として撮像され、LCDモニタ17によって撮像された画像が表示される。また被写体像は光学ファインダによって光学的に観察することも可能である。
また、Ponボタン11の押下に対応して、撮像装置1の主電源がオン状態にされると、第1時間(220ms)の間、ゴミ取り動作処理が行われる。
レリーズボタン13は、半押しすることにより測光スイッチ12aがオン状態にされ測光や測距及び合焦動作が行われ、全押しすることによりレリーズスイッチ13aがオン状態にされ撮像部39a(撮像手段)による撮像(撮像動作)が行われ、撮影像がメモリされる。
ミラー絞りシャッタ部18は、CPU21のポートP7と接続され、レリーズスイッチ13aのオン状態に連動して、ミラーのUP/DOWN、絞りの開閉(閉開)、及びシャッタの開閉動作を行う。
DSP19は、CPU21のポートP9、及び撮像部39aと接続され、CPU21の指示に基づいて、撮像部39aにおける撮像により得られた画像信号について、画像処理などの演算処理を行う。
CPU21は、撮像に関する各部の制御、後述する像ブレ補正に関する各部の制御を行う制御手段である。また、CPU21は、像ブレ補正パラメータISの値、レリーズ状態管理パラメータRP、ゴミ取り状態管理パラメータGP、ゴミ取り時間計測パラメータCNT、及びチャンネル値CHの値をメモリする。
像ブレ補正パラメータISは、撮像装置1が後述する補正モードにあるか否かを示す値である。値が1であるときには撮像装置1が補正モードにあり、0であるときには補正モードにないことを示す。
レリーズ状態管理パラメータRPは、レリーズシーケンス動作に連動して値が切り替えられ、レリーズシーケンス動作中に値が1に設定され(図4のステップS24〜S31参照)、レリーズシーケンス動作終了の時に値が0に設定される(図4のステップS13、S32参照)。
ゴミ取り状態管理パラメータGPは、ゴミ取り動作処理が完了したか否かを示すパラメータであり、撮像装置1がオン状態にされた直後(第1時間(220ms)が経過するまで)は、ゴミ取り動作処理が完了していないとして、値が1に設定され(図4のステップS14参照)、撮像装置1がオン状態にされてから第1時間(220ms)が経過すると、ゴミ取り動作処理が完了したとして、値が0に設定される(図4のステップS16参照)。
ゴミ取り時間計測パラメータCNTは、ゴミ取り動作処理が行われている時間を計測するために使用され、初期値が0で、ゴミ取り動作処理が行われている間、1ms経過するごとに1だけ値が加算される(図6のステップS701参照)。
チャンネル値CHは、ゴミ取り動作処理において可動部がどの行程にあるかを示す値である。可動部が駆動される回数に応じてaからアルファベット順に設定される。値aは可動部がa行程にあることを示す値である。
CPU21は、像ブレ補正処理前のゴミ取り動作処理として、可動部30aを特定位置(本実施形態では移動範囲中心:第1方向x、及び第2方向yの座標値が共に0)に移動させる(センタリング処理)。その後、第1方向xの座標を一定に保った状態で、可動部30aを第2方向yの移動範囲端の一方に衝突するように移動させ、次に、第1方向xの座標を一定に保った状態で、可動部30aを第2方向yの移動範囲端の他方に衝突するように移動させ、最後に、第1方向xの座標を一定に保った状態で、可動部30aを第2方向yの移動範囲端の一方に衝突するように移動させる。可動部30aの移動範囲端との衝突の衝撃で、可動部30aの撮像部39a(撮像素子やローパスフィルタ)に付着した埃などのゴミが除去される。ゴミ取り動作処理の完了後、撮影動作に応じて像ブレ補正処理が開始される。
また、CPU21は、後述する第1、第2デジタル角速度信号Vxn、Vyn、第1、第2デジタル角速度VVxn、VVyn、第1、第2デジタル角度Bxn、Byn、位置Snの第1方向x成分Sxn、第2方向y成分Syn、第1駆動力Dxn、第2駆動力Dyn、A/D変換後の位置Pnの第1方向x成分pdxn、第2方向y成分pdyn、第1、第2減算値exn、eyn、第1、第2比例係数Kx、Ky、像ブレ補正処理のサンプリング周期θ、第1、第2積分係数Tix、Tiy、及び第1、第2微分係数Tdx、Tdyをメモリする。
AE部23は、被写体の測光動作を実行して露光値を演算し、この露光値に基づき撮影に必要となる絞り値及び露光時間を演算する。AF部24は、測距を行い、この測距結果に基づき撮影レンズ67を光軸方向に変位させ焦点調節を行う。
撮像装置1の像ブレ補正装置すなわち像ブレ補正に関する部分は、像ブレ補正ボタン14、LCDモニタ17、CPU21、角速度検出部25、駆動用ドライバ回路29、像ブレ補正部30、磁界変化検出素子(ホール素子44a)の信号処理回路としてのホール素子信号処理回路45、及び撮影レンズ67から構成される。
像ブレ補正ボタン14は、押下することにより像ブレ補正スイッチ14aがオン状態にされる。像ブレ補正スイッチ14aがオン状態にされると、撮像装置1は補正モードに移行して像ブレ補正パラメータISが1に設定され、像ブレ補正スイッチ14aがオフ状態にされると、撮像装置1は補正モードではなくなって像ブレ補正パラメータISが0に設定される。補正モードでは、測光など他の動作と独立して第2時間ごとに角速度検出部25、及び像ブレ補正部30が駆動されることにより像ブレ補正処理が行われる。本実施形態ではこの第2時間を1msであるとして説明する。
これらのスイッチの入力信号に対応する各種の出力はCPU21によって制御される。測光スイッチ12a、レリーズスイッチ13a、像ブレ補正スイッチ14aのオン/オフ情報は、それぞれ1ビットのデジタル信号としてCPU21のP12、P13、P14に入力される。AE部23、AF部24、LCDモニタ17は、それぞれポートP4、P5、P6で信号の入出力が行われる。
次に、角速度検出部25、駆動用ドライバ回路29、像ブレ補正部30、ホール素子信号処理回路45についての詳細、及びCPU21との入出力関係について説明する。
角速度検出部25は、第1、第2角速度センサ26a、26b、第1、第2ハイパスフィルタ回路27a、27b、及び第1、第2アンプ28a、28bを有する。第1、第2角速度センサ26a、26bは、撮像装置1の第1方向x(第2方向yに平行な軸周りのヨーイング)及び第2方向y(第1方向xに平行な軸周りのピッチング)の角速度を検出する。第1角速度センサ26aは、第1方向xの角速度(ヨーイング角速度)を、第2角速度センサ26bは第2方向yの角速度(ピッチング角速度)を検出するジャイロセンサである。第1、第2角速度センサ26a、26bの出力信号は、ヌル電圧やパンニング等に起因する低周波成分を有し、第1、第2ハイパスフィルタ回路27a、27bは、第1、第2角速度センサ26a、26bの信号出力から低周波成分をカットする(アナログハイパスフィルタ処理)。第1、第2アンプ28a、28bは、低周波成分がカットされた角速度に関する信号を増幅し、第1、第2角速度vx、vyとしてアナログ信号をCPU21のA/D0、A/D1に入力する。
低周波成分のカットは、第1、第2ハイパスフィルタ回路27a、27bにおけるアナログハイパスフィルタ処理、及びCPU21におけるデジタルハイパスフィルタ処理が行われる。デジタルハイパスフィルタ処理においては、アナログハイパスフィルタ処理におけるカットオフ周波数以上のカットオフ周波数が設定される。これにより、時定数(第1、第2ハイパスフィルタ時定数hx、hy)の値の変更が容易に行いうる。
CPU21、及び角速度検出部25の各部への電力供給は、Ponスイッチ11aがオン状態にされた(主電源がオン状態にされた)後に開始される。角速度検出部25におけるブレ量検出演算は、Ponスイッチ11aがオン状態にされた(主電源がオン状態にされた)後であって、ゴミ取り動作処理完了後に開始される。
CPU21は、A/D0、A/D1に入力された第1、第2角速度vx、vyをA/D変換して第1、第2デジタル角速度信号Vxn、Vynを生成する。次に、デジタルハイパスフィルタ処理、すなわちヌル電圧やパンニングにより生じる低周波成分をカットして第1、第2デジタル角速度VVxn、VVynを生成する処理を行う。そして積分演算を行い、像ブレ量(像ブレ角度)を求める。この像ブレ角度は、第1、第2デジタル角度Bxn、Bynを用いて表される。従って、角速度検出部25とCPU21は、像ブレ量演算機能を有する。
nは、0以上の整数であり、タイマ割り込み処理開始(t=0、図4のステップS12参照)から、最新のタイマ割り込み処理を行った時点(t=n)までの時間(ms)を示す。
第1方向xに関するデジタルハイパスフィルタ処理は、第1デジタル角速度信号Vxnを、第2時間(1ms)前までのタイマ割り込み処理で求められた第1デジタル角速度VVx0〜VVxn―1の和ΣVVxn−1を第1ハイパスフィルタ時定数hxで割ったもので減算して、第1デジタル角速度VVxnを求めることにより行われる(VVxn=Vxn―(ΣVVxn−1)/hx)。第2方向yに関するデジタルハイパスフィルタ処理は、第2デジタル角速度信号Vynを、第2時間(1ms)前までのタイマ割り込み処理で求められた第2デジタル角速度VVy0〜VVyn―1の和ΣVVyn−1を第2ハイパスフィルタ時定数hyで割ったもので減算して、第2デジタル角速度VVynを求めることにより行われる(VVyn=Vyn―(ΣVVyn−1)/hy)。
本実施形態では、タイマ割り込み処理における角速度検出処理は、角速度検出部25における処理、及び角速度検出部25からCPU21への第1、第2角速度vx、vyの入力処理を言うものとする。
第1方向xに関する積分演算処理は、タイマ割り込み処理開始(t=0、図4のステップS12参照)から、最新の時点(t=n)の第1デジタル角速度VVx0〜VVxnの和を求めることにより行われる(Bxn=ΣVVxn)。第2方向yに関する積分演算処理は、タイマ割り込み処理開始後から最新の第2デジタル角速度VVy0〜VVynの和を求めることにより行われる(Byn=ΣVVyn)。
CPU21は、演算により求められた像ブレ量(像ブレ角度:第1、第2デジタル角度Bxn、Byn)に応じた撮像部39aの移動すべき位置Snを、焦点距離などを考慮した位置変換係数zzに基づいて、第1方向x、第2方向yごとに演算し設定する。位置Snの第1方向x成分をSxn、第2方向y成分をSynとする。撮像部39aを含む可動部30aの移動は、後述する電磁力によって行われる。可動部30aをこの位置Snまで移動させるために駆動用ドライバ回路29を介して第1駆動用コイル31aを駆動する駆動力Dnの第1方向x成分を第1駆動力Dxn、第2駆動用コイル32aを駆動する第2方向y成分を第2駆動力Dynとする。第1駆動力DxnをPWM信号に変換することにより、第1PWMデューティdxが得られ、第2駆動力DynをPWM信号に変換することにより第2PWMデューティdyが得られる。第2駆動力Dynの値は+DD又は−DDで表される。+DDは可動部30aを第2方向yの正方向、すなわち固定部30bの上端方向に駆動する値であることを示し、−DDは可動部30aを第2方向yの負方向、すなわち固定部30bの下端方向に駆動する値であることを示す。
但し、像ブレ補正処理前のゴミ取り動作処理の為の第1時間(220ms)の間の移動すべき位置Sn(Sxn、Syn)は、像ブレ量と関連しない演算で求められた値が設定される(図6のステップS705他参照)。例えば、位置Snは、後述するゴミ取り動作処理におけるa工程において固定部30bの中心に設定される。つまり可動部30aは固定部30bの中心に置かれる。そしてゴミ取り動作処理におけるbからd工程では、現在、可動部30aが置かれている位置から第2方向yにおいて固定部30bの最も遠い上下端に位置Snが設定される。つまり可動部30aは固定部30bの上端又は下端方向に駆動され、衝突する。
第1方向xに関する位置設定演算処理は、最新の第1デジタル角度Bxnに第1位置変換係数zxを乗算することにより求められる(位置Snの第1方向x成分Sxn=zx×Bxn)。第2方向yに関する位置設定演算処理は、最新の第2デジタル角度Bynに第2位置変換係数zyを乗算することにより求められる(位置Snの第2方向y成分Syn=zy×Byn)。
像ブレ補正部30は、露光時間内であって、像ブレ補正処理を行う場合(IS=1)に、CPU21が演算した移動すべき位置Snに撮像部39aを移動させることによって、ブレによって生じた被写体像の結像面におけるずれを無くし、被写体像と結像面位置を一定に保ち、像ブレを補正する像ブレ補正処理を行う装置であり、撮像部39aを含みxy平面上に移動可能領域をもつ可動部30aと、可動部30aの移動範囲端を形成する固定部30bとを備える。露光時間内であって、像ブレ補正処理を行わない場合(IS=0)は、可動部30aは、特定位置(本実施形態では移動範囲中心)に固定される。撮像装置1の電源がオン状態にされた直後の第1時間(220ms)の間は、可動部30aを移動範囲中心に移動、及び第2方向yの移動範囲端に移動(衝突)せしめるための駆動が行われる。撮像装置1の電源がオン状態にされた直後の第1時間(220ms)の間と露光時間以外は、可動部30aの駆動は行われない。
像ブレ補正部30は、駆動オフ状態で可動部30aを固定する機構を有しない。
像ブレ補正部30の可動部30aの駆動(特定位置への固定を含む)は、CPU21のPWM0から第1PWMデューティdx、PWM1から第2PWMデューティdyの出力を受けた駆動用ドライバ回路29を介して、駆動手段に含まれる駆動用コイル部、駆動用磁石部による電磁力によって行われる。可動部30aの移動前または移動後の位置Pnはホール素子部44a、ホール素子信号処理回路45によって検出される。検出された位置Pnの情報は、第1検出位置信号pxが第1方向x成分として、第2検出位置信号pyが第2方向y成分としてそれぞれCPU21のA/D2、A/D3に入力される。第1、第2検出位置信号px、pyはA/D2、A/D3を介してA/D変換される。第1、第2検出位置信号px、pyに対してA/D変換後の位置Pnの第1方向x成分、第2方向y成分をそれぞれpdxn、pdynとする。検出された位置Pn(pdxn、pdyn)のデータと移動すべき位置Sn(Sxn、Syn)のデータによりPID制御(第1、第2駆動力Dxn、Dynの算出)が行われる。
第1駆動力Dxnは、位置Snの第1方向x成分Sxnを、A/D変換後の位置Pnの第1方向x成分pdxnで減算した第1減算値exn、第1比例係数Kx、サンプリング周期θ、第1積分係数Tix、第1微分係数Tdxに基づいて算出される(Dxn=Kx×{exn+θ÷Tix×Σexn+Tdx÷θ×(exn―exn−1)})。
第2駆動力Dynは、位置Snの第2方向y成分Synを、A/D変換後の位置Pnの第2方向y成分pdynで減算した第2減算値eyn、第2比例係数Ky、サンプリング周期θ、第2積分係数Tiy、第2微分係数Tdyに基づいて算出される(Dyn=Ky×{eyn+θ÷Tiy×Σeyn+Tdy÷θ×(eyn―eyn−1)})。
サンプリング周期θの値は、第2時間:1msに設定される。
像ブレ補正処理すなわちPID制御による像ブレ補正に対応した移動すべき位置Sn(Sxn、Syn)への可動部30aの駆動は、像ブレ補正スイッチ14aがオン状態にされた補正モード(IS=1)の時に行われる。像ブレ補正パラメータISが0の時には、可動部30aは、像ブレ補正処理に対応しない特定位置へのPID制御が行われ、移動中心位置に移動せしめられる。
撮像装置1がオン状態にされた後、像ブレ補正処理が開始されるまでの間の、ゴミ取り処理動作の間は、可動部30aは、移動中心位置、第2方向yの移動範囲端の一方、第2方向yの移動範囲端の他方、第2方向yの移動範囲端の一方の順に移動せしめられる。この間、可動部30aの第1方向xの座標は中心位置に保持される。
可動部30aは、駆動用コイル部として2つの第1、第2駆動用コイル31a、32a、撮像素子を有する撮像部39a、及び磁界変化検出素子部としてのホール素子部44aを有する。本実施形態では、撮像素子がCCDであるとして説明するが、CMOSなど他の撮像素子であってもよい。
撮像素子の撮像面は、移動制御が行われない状態において、第1方向x、または第2方向yに平行な辺を有し、第1方向xの辺が第2方向yの辺よりも長い矩形形状を有する。
固定部30bは、駆動用磁石部として2つの第1、第2位置検出及び駆動用磁石411b、412b、第1、第2位置検出及び駆動用ヨーク431b、432bを有する。
固定部30bは、可動部30aを第1方向x、第2方向yに移動自在に支持する。
固定部30bは、移動により可動部30aが接触する部分(移動範囲端)に衝撃を吸収する緩衝材を有する。緩衝材の硬度は、ゴミ取り動作処理において可動部30aと緩衝材とが接触したとき、衝撃により可動部30a等が破損せず、且つ接触により可動部30aに付着したゴミが除去できる程度の値が設定される。
緩衝材は、可動部30aに取り付けられても良い。
撮像素子の撮像範囲を最大限活用して像ブレ補正を行うために、撮影レンズ67の光軸LXが撮像素子の中心近傍を通る位置関係にある時に、第1方向x、第2方向yともに可動部30aが移動範囲の中心に位置する(移動中心位置にある)ように可動部30aと固定部30bの位置関係を設定する。撮像素子の中心とは、撮像素子の撮像面を形成する矩形が有する2つの対角線の交点をいう。
可動部30aには、シート状でかつ渦巻き状のコイルパターンが形成された第1、第2駆動用コイル31a、32a、及びホール素子部44aが取り付けられている。第1駆動用コイル31aのコイルパターンは、第1駆動用コイル31aの電流の方向と第1位置検出及び駆動用磁石411bの磁界の向きから生じる電磁力により第1駆動用コイル31aを含む可動部30aを第1方向xに移動させるべく、第2方向yと平行な線分を有する。第2駆動用コイル32aのコイルパターンは、第2駆動用コイル32aの電流の方向と第2位置検出及び駆動用磁石412bの磁界の向きから生じる電磁力により第2駆動用コイル32aを含む可動部30aを第2方向yに移動させるべく、第1方向xと平行な線分を有する。ホール素子部44aについては後述する。
第1、第2駆動用コイル31a、32aは、フレキシブル基板(不図示)を介してこれらを駆動する駆動用ドライバ回路29と接続される。駆動用ドライバ回路29は、CPU21のPWM0、PWM1から第1、第2PWMデューティdx、dyのそれぞれが入力される。駆動用ドライバ回路29は、入力された第1、第2PWMデューティdx、dyの値に応じて第1、第2駆動用コイル31a、32aに電力を供給し、可動部30aを駆動する。
第1位置検出及び駆動用磁石411bは、第1駆動用コイル31a及び水平方向ホール素子hh10と対向するように固定部30bの可動部30a側に取り付けられる。第2位置検出及び駆動用磁石412bは、第2駆動用コイル32a及び鉛直方向ホール素子hv10と対向するように固定部30bの可動部30a側に取り付けられる。
第1位置検出及び駆動用磁石411bは、第3方向zにおいて固定部30b上で且つ可動部30a側に取り付けられた第1位置検出及び駆動用ヨーク431bの上であって、第1方向xにN極とS極が並べて取り付けられる。
第2位置検出及び駆動用磁石412bは、第3方向zにおいて固定部30b上で且つ可動部30a側に取り付けられた第2位置検出及び駆動用ヨーク432bの上であって、第2方向yにN極とS極が並べて取り付けられる。
第1位置検出及び駆動用ヨーク431bは、軟磁性体材料で構成され、固定部30b上に取り付けられる。第1位置検出及び駆動用ヨーク431bは、第1位置検出及び駆動用磁石411bの磁界が周囲に漏れないようにする役目、及び第1位置検出及び駆動用磁石411bと第1駆動用コイル31a、及び第1位置検出及び駆動用磁石411bと水平方向ホール素子hh10との間の磁束密度を高める役目を果たす。
第2位置検出及び駆動用ヨーク432bは、軟磁性体材料で構成され、固定部30b上に取り付けられる。第2位置検出及び駆動用ヨーク432bは、第2位置検出及び駆動用磁石412bの磁界が周囲に漏れないようにする役目、及び第2位置検出及び駆動用磁石412bと第2駆動用コイル32a、及び第2位置検出及び駆動用磁石412bと鉛直方向ホール素子hv10との間の磁束密度を高める役目を果たす。
ホール素子部44aは、ホール効果を利用した磁電変換素子であるホール素子を2つ有し、可動部30aの第1方向x、第2方向yの現在位置Pn(第1検出位置信号px、第2検出位置信号py)を検出する1軸ホール素子である。2つのホール素子のうち第1方向xの位置検出用のホール素子を水平方向ホール素子hh10、第2方向yの位置検出用のホール素子を鉛直方向ホール素子hv10とする。
水平方向ホール素子hh10は、第3方向zから見て可動部30a上であって、固定部30bの第1位置検出及び駆動用磁石411bと対向する位置に取り付けられる。鉛直方向ホール素子hv10は、第3方向zから見て可動部30a上であって、固定部30bの第2位置検出及び駆動用磁石412bと対向する位置に取り付けられる。
直線的な変化量を使って精度の高い位置検出が行える範囲を最大限活用して位置検出を行うため、水平方向ホール素子hh10の第1方向xの位置は、撮像素子の中心近傍が光軸LXを通る位置関係にある時に、第1位置検出及び駆動用磁石411bのN極、S極と等距離近傍にあるのが望ましい。同様に、鉛直方向ホール素子hv10の第2方向yの位置は、撮像素子の中心近傍が光軸LXを通る位置関係にある時に、第2位置検出及び駆動用磁石412bのN極、S極と等距離近傍にあるのが望ましい。
ホール素子信号処理回路45は、第1ホール素子信号処理回路450及び第2ホール素子信号処理回路460から成る。第1ホール素子信号処理回路450は、水平方向ホール素子hh10の出力信号から水平方向ホール素子hh10における出力端子間の水平方向電位差x10を検出して信号処理を行い、第1方向xの位置を特定する第1検出位置信号pxを算出する。そして、第1検出位置信号pxをCPU21のA/D2に出力する。第2ホール素子信号処理回路460は、鉛直方向ホール素子hv10の出力信号から、鉛直方向ホール素子hv10における出力端子間の鉛直方向電位差y10を検出して信号処理を行い、第2方向yの位置を特定する第2検出位置信号pyを算出する。そして、第2検出位置信号pyをCPU21のA/D3に出力する。
次に、撮像装置1のメイン動作について図4のフローチャートを用いて説明する。
撮像装置1の電源がオンにされると、ステップS11では、角速度検出部25に電力が供給され、電源オン状態にされる。ステップS12では、第2時間(1ms)間隔でタイマ割り込み処理が開始される。タイマ割り込み処理はメイン動作とは別に、言い換えるとメイン動作と平行してCPU21において繰り返し実行される。ステップS13で、レリーズ状態管理パラメータRPの値が0に設定される。タイマの割り込み処理の詳細については、図5のフローチャートを用いて後述する。
ステップS14では、ゴミ取り状態管理パラメータGPの値が1に、ゴミ取り時間計測パラメータCNTの値が0に、チャンネル値CHがaにそれぞれ設定される。
ステップS15では、ゴミ取り時間計測パラメータCNTの値が220を超えたか否かが判断される。ステップS15はタイマ割り込み処理の終了を待つために設けられる処理である。ゴミ取り時間計測パラメータCNTの値は、タイマ割り込み処理が終了するに必要な時間に応じた値220msが用いられる。本実施形態では、タイマ割り込み処理が終了するために必要な時間に像ブレ補正部30の個体差による誤差を加味することにより、220msが用いられる。
ステップS15においてゴミ取り時間計測パラメータCNTの値が220を超えていない場合は、ステップS15が繰り返され、超えた場合は、ステップS16に進められる。ステップS16では、ゴミ取り状態管理パラメータGPの値が0に設定される。
ステップS17では、測光スイッチ12aがオン状態にされているか否かが判断される。オン状態にされていない場合は、ステップS17が繰り返され、オン状態にされている場合は、ステップS18に進められる。
ステップS18では、像ブレ補正スイッチ14aがオン状態にされたか否かが判断される。像ブレ補正スイッチ14aがオン状態にされていない場合は、ステップS19で、像ブレ補正パラメータISの値が0に設定される。像ブレ補正スイッチ14aがオン状態にされている場合は、ステップS20で、像ブレ補正パラメータISの値が1に設定される。
ステップS21では、AE部23においてAEセンサが駆動されて測光が行われ、絞り値や露光時間が演算される。ステップS22では、AF部24のAFセンサが駆動されて測距が行われ、AF部24のレンズ制御回路駆動により合焦動作が行われる。
ステップS23では、レリーズスイッチ13aがオン状態にされたか否かが判断される。レリーズスイッチ13aがオン状態にされていない場合、処理はステップS17に戻る(ステップS17〜22を繰り返す)。レリーズスイッチ13aがオン状態にされている場合、処理はステップS24に進み、レリーズシーケンス動作が開始される。
ステップS24では、レリーズ状態管理パラメータRPの値が1に設定される。ステップS25では、ミラー絞りシャッタ部18においてミラーアップ動作、及び絞りの絞り込み動作が行われる。ステップS26では、ミラー絞りシャッタ部18においてシャッタ開動作(先幕動作)が行われる。
ステップS27では、CCDの電荷蓄積すなわち露光が所定の露光時間のあいだ行われる。露光が終了した後、ステップS28では、ミラー絞りシャッタ部18においてシャッタ閉動作(後幕動作)、ミラーダウン動作、及び絞り開放動作が行われる。ステップS29では、CCD入力、すなわち露光時間内にCCDに蓄積された電荷がDSP19へ移動せしめられる。ステップS30では、CPU21とDSP19との間で通信が行われ、ステップS29で移動された電荷に基づいて画像信号処理が行われ、画像信号処理により作成された画像信号が撮像装置1内の映像メモリに記憶される。ステップS31で、記憶された画像信号は、LCDモニタ17によって表示される。ステップS32で、レリーズ状態管理パラメータRPの値が0に設定され、レリーズシーケンス動作が完了する。その後、処理はステップS17に戻り、撮像装置1は次の撮像動作が可能な状態となる。
次に、図4のステップS12で開始され、第2時間(1ms)間隔で行われるタイマ割り込み処理について図5のフローチャートを用いて説明する。
タイマ割り込み処理では、まずステップS50において、ゴミ取り状態管理パラメータGPの値が1に設定されているか否かが判断される。1に設定されている場合はステップS51に処理が進み、1に設定されていない、つまりゴミ取り状態管理パラメータGPの値が0である場合は、ステップS52に処理が進む。
ステップS51では、ゴミ取り動作処理が行われる。このゴミ取り動作処理の詳細については、図6のフローチャートを用いて後述する。
ステップS52では、角速度検出部25から出力された第1、第2角速度vx、vyが、A/D0、A/D1を介してCPU21に入力され、A/D変換される(角速度検出処理)。A/D変換により第1、第2デジタル角速度信号Vxn、Vynが生成される。そして、第1、第2デジタル角速度信号Vxn、Vynからヌル電圧やパンニングにより生じる低周波成分がカットされ(デジタルハイパスフィルタ処理)、第1、第2デジタル角速度VVxn、VVynが算出される。
ステップS53では、レリーズ状態管理パラメータRPの値が1に設定されているか否かが判断される。1に設定されていない場合は、ステップS54において、可動部30aの駆動がオフ状態、すなわち可動部30aが駆動制御されない状態となる。1に設定されている場合はステップS55に処理が進む。
ステップS55で、ホール素子部44aで位置検出され、ホール素子信号処理回路45で演算された第1、第2検出位置信号px、pyがA/D2、A/D3を介してCPU21に入力され、A/D変換される。CPU21は、入力されたこれらの信号を用いて現在位置Pn(pdxn、pdyn)を求める。
ステップS56で、像ブレ補正パラメータISの値が0か否かが判断される。ISが値0、すなわち撮像装置1が補正モードでない場合は、ステップS57において可動部30aの移動すべき位置Sn(Sxn、Syn)が可動部30aの移動中心位置と同じ位置に設定される。ISが値1、すなわち補正モードの場合は、ステップS58において、ステップS52で求められた第1、第2角速度vx、vyを用いて可動部30aの移動すべき位置Sn(Sxn、Syn)が演算及び設定される。
ステップS59では、ステップS57又はS58で設定した位置Sn(Sxn、Syn)と現在位置Pn(pdxn、pdyn)を用いて、可動部30aの移動に必要な駆動力Dn、すなわち第1、第2駆動用コイル31a、32aを駆動するのに必要な第1駆動力Dxn(第1PWMデューティdx)と、第2駆動力Dyn(第2PWMデューティdy)とが演算される。ステップS60では、第1、第2PWMデューティdx、dyを用いて駆動用ドライバ回路29が第1、第2駆動用コイル31a、32aに通電し、これにより可動部30aが駆動される。ステップS59、S60の動作は、比例、積分、微分演算を行う一般的なPID自動制御で用いられる自動制御演算である。
次に、図5のステップS51で開始されるゴミ取り動作処理について図6から9を用いて説明する。
ゴミ取り動作処理が開始されると、ステップS701においてゴミ取り時間計測パラメータCNTの値が1つ加算される。次のステップS702において、ホール素子部44aの出力信号を用いてホール素子信号処理回路45が第1、第2検出位置信号px、pyを演算し、CPU21のA/D2、A/D3に入力する。CPU21は第1、第2検出位置信号px、pyをA/D変換し、現在位置Pn(pdxn、pdyn)を求める。
ステップS703で、チャンネル値CHが値aであるか否かが判断される。チャンネル値CHは、メイン処理のステップS14において値aが代入されている。そこで、処理はステップS704に移り、ゴミ取り時間計測パラメータCNTが65以下であるか否かが判断される。可動部30aが現在位置から固定部30bの中央まで移動するために必要な時間の最大時間、すなわち可動部30aが固定部30bの角部から中央まで移動する時間に像ブレ補正部30の個体差を加味することにより、この閾値は65に設定される。チャンネル値CHが値aであり、かつゴミ取り時間計測パラメータCNTが65以下であるときには、可動部30aが固定部30bの中央に未だ置かれていない可能性がある。一方、チャンネル値CHが値aであり、かつゴミ取り時間計測パラメータCNTが65より大きいときには、可動部30aは固定部30bの中央に置かれている。
ステップS704において、ゴミ取り時間計測パラメータCNTが65以下であるとき、処理はステップS705に進む。
ステップS705では、可動部30aの移動すべき位置Sn(Sxn、Syn)が可動部30aの移動中心位置と同じ位置に設定される。次のステップS706では、ステップS705で設定した位置Snと現在位置Pnとを用いて、可動部30aの移動に必要な駆動力Dnを演算する。この処理はタイマ割り込み処理におけるステップS59と同様である。ステップS707では、タイマ割り込み処理におけるステップS60と同様の処理を行って可動部30aを駆動する。そしてゴミ取り動作処理は終了し、処理はタイマ割り込み処理に戻る(サブルーチンリターン)。タイマ割り込み処理は第2時間(1ms)間隔で繰り返し実行される。そのため、メイン処理のステップS16においてゴミ取りパラメータGPが0に設定されるまでゴミ取り処理もまた反復して実行される。
再度ごみ取り動作処理が実行されるとステップS701では、ゴミ取り時間計測パラメータCNTが1だけ増やされ、値2となる。次にステップS702及びS703が実行される。このとき、チャンネル値CHは未だ値aであるから、処理はステップS704に進む。ステップS704では、ゴミ取り時間計測パラメータCNTが値65以下であるか否かが判断される。前述のように、ゴミ取り時間計測パラメータCNTは2であるから、処理はステップS705へ移行し、ステップS705、S706及びS707を実行した後に終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。
そしてゴミ取り時間計測パラメータCNTが値65よりも大きくなるまでステップS701からS707が反復して実行される。ステップS704においてゴミ取り時間計測パラメータCNTが65より大きくなったとき、処理はステップS708に進む。なお、このとき可動部30aは固定部30bの中央に置かれている。
ステップS708では、第2PWMデューティdyの値が−DDに設定される。DDの値、つまり+DD及び−DDの絶対値は、第2方向yの移動範囲端に可動部30aを衝突させたとき、撮像素子等に付着しているゴミを衝突の衝撃によって除去可能な程度に可動部30aを第2方向yへ加速する加速度を実現するような値に設定される。なお、前述のように、−DDは可動部30aを第2方向yの負方向、すなわち固定部30bの下端方向に駆動する値である。
次のステップS709では、チャンネル値CHに値bが代入される。値bは、可動部30aが図7におけるb行程にあることを示す値である。なお、このとき可動部30aは図7におけるa行程にあるが、処理の都合上この時点でチャンネル値CHに値bが代入される。そして処理はステップS710に進む。
ステップS710では、可動部30aの移動すべき位置Snの第1方向x成分:Sxnが可動部30aの第1方向xの移動中心位置と同じに設定される。
ステップS711では、ステップS710で設定した位置Snの第1方向x成分:Sxnと現在位置Pnの第1方向x成分:pdxnとを用いて、可動部30aの第1方向xの移動(中心固定)に必要な駆動力Dn、すなわち第1駆動用コイル31aに通電して可動部30aを駆動するために必要な第1駆動力Dxn(第1PWMデューティdx)が演算される。
ステップS712では、第1、第2PWMデューティdx、dyの値に応じ駆動用ドライバ回路29を介して第1、第2駆動用コイル31a、32aに通電し、これにより可動部30aが駆動される。これにより、可動部30aは、第1方向xにおいては移動可能範囲の中心方向に駆動されて固定され(図9参照)、第2方向yにおいては負方向、つまり固定部30bの下端方向に向かって移動を開始する。その後、処理は終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。
再度ごみ取り動作処理が実行されるとステップS701では、ゴミ取り時間計測パラメータCNTが1だけ増やされ、値66となる。次にステップS702、S703、及びS720が実行される。このとき、チャンネル値CHは値bであるから、処理はステップS721に進む。
ステップS721では、可動部30aの移動方向を検知する。移動方向の検出は、鉛直方向ホール素子hv10からの出力信号を用いて特定された、第2方向yに対する可動部30aの位置変化をCPU21が検出することにより行われる。前回のステップS712において、可動部30aは固定部30bの下端方向に向けて移動を開始している。そこで、可動部30aの移動方向が第2方向yの負方向であるとき、つまり固定部30bの下端方向であるときは、可動部30aは固定部30bの下端方向に向けて移動中であると判断できるため、ステップS722及びS723は実行されず、第2PWMデューティdyの値はステップS708において設定された−DDのまま維持される。そしてステップS712で可動部30aは再度第2方向yの負方向、つまり固定部30bの下端方向に向かって駆動される。その後、処理は終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。これらの処理を繰り返すと、可動部30aは固定部30bの下端と衝突する(図7参照)。
可動部30aが固定部30bの下端と衝突すると、可動部30aは衝突の衝撃により跳ね返る。そのため可動部30aの移動方向は第2方向yの正方向、つまり固定部30bの上端方向となる。さらにごみ取り動作処理が実行されると、この跳ね返りを検知するために、ステップS721において可動部30aの移動方向が第2方向yの正方向、つまり固定部30bの上端方向であるか否かが判断される。移動方向の検出は、鉛直方向ホール素子hv10からの出力信号を用いて特定された、第2方向yに対する可動部30aの位置変化をCPU21が検出することにより行われる。可動部30aの移動方向が第2方向yの正方向であるときは、可動部30aが固定部30bの下端と衝突して跳ね返ったと判断できるため、ステップS722及びS723を実行する。
ステップS721において可動部30aの移動方向が固定部30bの上端方向であると判断されたとき、ステップS722では、第2PWMデューティdyの値が+DDに設定される。前述のように、+DDは可動部30aを第2方向yの正方向、すなわち固定部30bの上端方向に駆動する値であることを示す。
次のステップS723では、チャンネル値CHに値cが代入される。値cは、可動部30aが図7におけるc行程にあることを示す値である。すなわち、衝突の衝撃により跳ね返った可動部30aは図7におけるc行程にある。そして処理はステップS710に進み、前述と同様にステップS710からS711が実行される。
次のステップS712では、第1、第2PWMデューティdx、dyにより駆動用ドライバ回路29を介し第1、第2駆動用コイル31a、32aに通電され可動部30aが駆動される。ステップS721において可動部30aの移動方向が固定部30bの上端方向であると判断されたとき、ステップS712で可動部30aが第2方向yの正方向、つまり固定部30bの上端方向に向かって駆動される。すなわち、可動部30aの加速度は、前回のステップS712において可動部30aが固定部30bの下端と衝突して跳ね返ることにより生じた加速度に、ステップS721の処理により生じた加速度が加えられたもの、すなわち同じ方向の2つの加速度が加えられたものとなる(図7、8参照)。これにより、第2駆動用コイル32a単独で駆動したときよりも大きな加速度で可動部30aを第2方向yへ駆動することが可能になる。なお、ステップS710からS712を経ることにより、可動部30aは第1方向xにおける移動可能範囲の中心に固定されている(図9参照)。その後、処理は終了する(サブルーチンリターン)そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。
再度ごみ取り動作処理が実行されると、ステップS701ではゴミ取り時間計測パラメータCNTが1だけ増やされ、ステップS702において現在位置Pn(pdxn、pdyn)が求められる。このときチャンネル値CHは値cであるから、チャンネル値CHが値cであるか否かというステップS730の判別を経て処理はステップS731に進む。
ステップS731では、可動部30aの移動方向を検知する。前回のステップS712において、可動部30aは固定部30bの上端方向に向けて移動を開始している。そこで、可動部30aの移動方向が第2方向yの正方向であるとき、つまり固定部30bの上端方向であるときは、可動部30aは固定部30bの上端方向に向けて移動中であると判断できるため、ステップS732及びS733は実行されず、第2PWMデューティdyの値はステップS722において設定された+DDのまま維持される。そしてステップS712で可動部30aは再度第2方向yの正方向、つまり固定部30bの上端方向に向かって駆動される。その後、処理は終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。これらの処理を繰り返すと、可動部30aは固定部30bの上端と衝突する(図7参照)。
可動部30aが固定部30bの上端と衝突すると、可動部30aは衝突の衝撃により跳ね返る。そのため可動部30aの移動方向は第2方向yの負方向、つまり固定部30bの下端方向となる。さらにごみ取り動作処理が実行されると、この跳ね返りを検知するために、ステップS731において可動部30aの移動方向が第2方向yの負方向であるか否かが判断される。可動部30aの移動方向が第2方向yの負方向であるときは、可動部30aが固定部30bの上端と衝突して跳ね返ったと判断できるため、ステップS732及びS733を実行する。
ステップS731において可動部30aの移動方向が固定部30bの下端方向であると判断されたとき、ステップS732では、第2PWMデューティdyの値が−DDに設定される。前述のように、−DDは可動部30aを第2方向yの負方向、すなわち固定部30bの下端方向に駆動する値であることを示す。次のステップS733では、チャンネル値CHに値dが代入される。値dは、可動部30aが図7におけるd行程にあることを示す値である。すなわち、衝突の衝撃により跳ね返った可動部30aは図7におけるd行程にある。そして処理はステップS710に進み、前述と同様にS710からS711が実行される。
次のステップS712では、第1、第2PWMデューティdx、dyにより駆動用ドライバ回路29を介し第1、第2駆動用コイル31a、32aに通電され可動部30aが駆動される。ステップS731において可動部30aの移動方向が固定部30bの下端方向であると判断されたとき、ステップS712で可動部30aが第2方向yの負方向、つまり固定部30bの下端方向に向かって駆動される。すなわち、可動部30aの加速度は、前回のステップS712において可動部30aが固定部30bの上端と衝突して跳ね返ることにより生じた加速度に、ステップS721の処理により生じた加速度が加えられたもの、すなわち同じ方向の2つの加速度が加えられたものとなる(図7参照)。これにより、第2駆動用コイル32a単独で駆動したときよりも大きな加速度で可動部30aを第2方向yへ駆動することが可能になる。その後、処理は終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。
再度ごみ取り動作処理が実行されるとステップS701では、ゴミ取り時間計測パラメータCNTが1だけ増やされる。チャンネル値CHは値dであるから、処理はステップS740を経てステップS741に進む。
ステップS741では、可動部30aの移動方向を検知する。前回のステップS712において、可動部30aは固定部30bの下端方向に向けて移動を開始している。そこで、可動部30aの移動方向が第2方向yの負方向であるとき、つまり固定部30bの下端方向であるときは、可動部30aは固定部30bの下端方向に向けて移動中であると判断できるため、ステップS742及びS743は実行されず、第2PWMデューティdyの値はステップS732において設定された−DDのまま維持される。そしてステップS712で可動部30aは再度第2方向yの負方向、つまり固定部30bの下端方向に向かって駆動される。その後、処理は終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。これらの処理を繰り返すと、可動部30aは固定部30bの下端と衝突する(図7参照)。
可動部30aが固定部30bの下端と衝突すると、可動部30aは衝突の衝撃により跳ね返る。そのため可動部30aの移動方向は第2方向yの正方向、つまり固定部30bの上端方向となる。さらにごみ取り動作処理が実行されると、この跳ね返りを検知するために、ステップS741において可動部30aの移動方向が第2方向yの正方向、つまり固定部30bの上端方向であるか否かが判断される。可動部30aの移動方向が第2方向yの正方向であるときは、可動部30aが固定部30bの下端と衝突して跳ね返ったと判断できるため、ステップS742及びS743を実行する。
ステップS741において可動部30aの移動方向が固定部30bの上端方向であると判断されたとき、ステップS742では、第2PWMデューティdyの値が+DDに設定される。次のステップS743では、チャンネル値CHに値eが代入され、第2ゴミ取り時間計測パラメータCNT2に現在のゴミ取り時間計測パラメータCNTの値が代入される。値eは、可動部30aが図7におけるe行程にあることを示す値である。すなわち、衝突の衝撃により跳ね返った可動部30aは図7におけるe行程にある。そして処理はステップS710に進み、前述と同様にS710からS711が実行される。
次のステップS712では、第1、第2PWMデューティdx、dyにより駆動用ドライバ回路29を介し第1、第2駆動用コイル31a、32aに通電され可動部30aが駆動される。ステップS741において可動部30aの移動方向が固定部30bの上端方向であると判断されたとき、ステップS712で可動部30aが第2方向yの負方向、つまり固定部30bの下端方向に向かって駆動される。すなわち、可動部30aの加速度は、前回のステップS712において可動部30aが固定部30bの下端と衝突して跳ね返ることにより生じた加速度に対し、ステップS721の処理により生じた加速度が加えられたもの、すなわち異なる方向の加速度が加えられたものとなる(図7参照)。これにより、固定部30bの下端と衝突することにより生じる可動部30aの跳ね返りを減衰させることが可能になる。その後、処理は終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。
再度ごみ取り動作処理が実行されるとステップS701では、ゴミ取り時間計測パラメータCNTが1だけ増やされる。このとき、チャンネル値CHは値eであるから、処理はステップS750に進む。
ステップS750では、ゴミ取り時間計測パラメータCNTから第2ゴミ取り時間計測パラメータCNT2を減じた値が20以下であるか否かが判断される。20以下である場合、再度ステップS710からS712が実行され、可動部30aが固定部30bの下端方向に駆動される。その後、処理は終了する(サブルーチンリターン)。そしてタイマ割り込み処理においてゴミ取り処理が再度実行される。
再度ごみ取り動作処理が実行されるとステップS701では、ゴミ取り時間計測パラメータCNTが1だけ増やされ、ステップS702、S703、S720、S730、S740、及びS750を経てステップS750が実行される。そして再度、ゴミ取り時間計測パラメータCNTから第2ゴミ取り時間計測パラメータCNT2を減じた値が20以下であるか否かが判断される。20より大きいと判断されると処理はステップS760に移行する。これにより可動部30aは固定部30bの下端と係合する。
次のステップS760では、可動部30aは駆動オフ状態にされる。
本実施形態によれば、固定部30bとの衝突による跳ね返りを利用して可動部30aを駆動するため、駆動コイルの能力よりも大きい加速度で可動部30aを加速することが可能になる。
また、従来の撮像装置においては、可動部30aと固定部30bとの衝突から次回の可動部駆動までに一定のウェイト時間を設けることがある。これは、装置の個体差により生じる可動部駆動時間のばらつきに対応するためである。本実施形態によれば、一回の駆動毎にウェイト時間を設ける必要がなくなるため、ごみ取り処理全体の実行時間が短縮される。
なお、可動部30aと固定部30bとの衝突は3回に限定されず、1回以上何回でもよい。例えば17回であってもよい。このとき、ステップS720からS723まで、又はステップS730からS733までの処理が衝突回数に応じて実行される。
また、ゴミ取り動作処理として、可動部30aを移動範囲の長い第1方向xにおいては移動範囲中心に保持し、移動範囲の短い第2方向yにおいては上下端方向に移動させて第2方向yの移動範囲端に衝突を繰り返す形態を説明したが、第1方向xにおいて移動範囲端に衝突させ、第2方向yにおいては移動範囲中心に保持する形態であってもよい。但し、撮像素子の撮像面の長手方向(第1方向x)は中心位置に保持した状態で第2方向yに移動させる本実施形態の方が、衝撃により除去されたゴミが再度付着する可能性を低下させることが可能になる。
また、ゴミ取り動作処理の最初に、可動部30aを移動させる位置は移動範囲中心に限らず、可動部30aが移動範囲端のいずれかに接触しない位置であればよい。
また、磁界変化検出素子としてホール素子を利用したホール素子部44aによる位置検出を説明したが、磁界変化検出素子として別の検出素子を利用してもよい。具体的には、磁界の変化を検出することにより可動部30aの位置検出情報を求めることが可能なMIセンサ(高周波キャリア型磁界センサ)、または磁気共鳴型磁界検出素子、MR素子(磁気抵抗効果素子)であり、ホール素子を利用した本実施形態と同様の効果が得られる。