発明の実施の形態について図面を参照して説明する。
図1は、本発明に係るズームレンズ付きカメラの製造方法の一実施の形態例を示し、該カメラの電気的構成を示すブロック図である。
図1に示すように、本実施の形態のズームレンズ付きカメラには、制御手段としてのCPU1を備え、該CPU1は、本実施の形態のカメラシステム全体の各種制御を行うマイクロコンピュータである。
上記CPU1には、EEPROM2、EXT端子3、PWSW4、BKSW5、RWSW6、1RSW7、2RSW8、ZUSW9、ZDSW10、LCD11、ストロボ回路部12、測距回路部15、測光回路部20、ズーミング駆動回路部23、ズーミング駆動信号検出回路部25、フォーカシング駆動回路部26、フォーカシング駆動信号検出回路部28、シャッター駆動回路部29、シャッター駆動信号検出回路部31、フィルム給送駆動回路部32、フィルム移動量検出回路部34及びフィルム情報検出回路部35がそれぞれ接続されている。
EEPROM2は、カメラを制御する上で必要なパラメータやカメラ状態を記憶するための記憶手段としての不揮発性メモリーである。
EXT端子3は、カメラ動作や性能保証のために、カメラの組立製造時に行われる各種調整を実行する際に、カメラを外部から制御するための外部通信端子である。自動調整機などの外部装置は、上記EXT端子3を介してカメラと接続され、カメラ内のEEPROM2に調整値等の書込が可能となっている。また、上記EXT端子3は、カメラが完成し、撮影に使用する際には、外部ストロボやカードメモリ等のアクセサリとの通信に使用される。
PWSW4は、カメラの電源オン,オフを行うためのスイッチであって、オン状態が電源オンであることを示し、オフ状態が電源オフ状態であることを示す。 BKSW5は、フィルムの装填、取り出しを行うための図示しないアトブタの開、閉状態を検出するためのスイッチであって、オン状態がアトブタ開状態を示し、オフ状態がアトブタ閉状態を示す。
RWSW6は、通常オフ状態であって、オン操作されることでフィルムの強制巻き戻しを実行するためのスイッチである。
1RSW7は、通常オフ状態であって、オン操作されることで、露出準備動作である測距動作及び測光動作を開始させるためのスイッチである。測距動作とは被写体距離情報を生成する動作であり、測光動作とは被写体輝度情報を生成する動作である。
2RSW8は、通常オフ状態であって、オン操作されることで、露出動作を開始させるためのスイッチである。なお、上記1RSW7と2RSW8とで2段スイッチを構成しており、1RSW7がオンした後、2RSWがオンするようになっている。
ZUSW9は、通常オフ状態であって、オン操作されることで、望遠側(テレ側)へ焦点距離を変化させるようにズームレンズのズーミング駆動を開始させるためのスイッチである。
ZDSW10は、通常オフ状態であって、オン操作されることで、広角側(ワイド側)へ焦点距離を変化させるようにズームレンズのズーミング駆動を開始させるためのスイッチである。
LCD11は、カメラのモード表示、駒数表示などの動作状態を示す情報を視覚的に表示するための外部表示手段であり、該LCD11の各種情報に基づく表示は、上記CPU1によって表示制御されるようになっている。
ストロボ回路部12には、露出を適正に保つため、被写体を照明するための、光源であるXe管13と、照明のための電気的エネルギーを蓄積するメインコンデンサ14とが接続されている。
測距回路部15には、赤外発光ダイオード16及び受光素子18が接続されている。上記赤外発光ダイオード16からの光が投光レンズ17を介して被写体37に照射され、さらに該被写体37からの反射光が受光レンズ19を介して受光素子18にて受光されることにより、測距回路部15はカメラから被写体までの距離を、三角測距の原理に従い測定する。上記測距回路15、赤外発光ダイオード16、投光レンズ17、受光素子18および受光レンズ19が、本発明の測距手段の主構成要素である。なお、測距手段としてはアクティブ方式、パッシブ方式、位相差方式、光量検出方式などを使うものであってもよい。
測光回路部20には、受光素子21が接続されている。測光回路部20では、この受光素子20近傍に配置された測光レンズ22を介して入射する被写体付近の光量を受光素子20で検出し、露出条件を決定するための被写体輝度が測定される。
ズーミング駆動回路部23は、上記CPU1からの制御によってズームモータ24を駆動するもので、図示しないギヤ列を介して、図示しない撮影レンズ(ズームレンズ)の変倍光学系に回転力が伝達されることで、ズーミング動作を行う。具体的には、ズームレンズを構成する複数のレンズ群の群間隔を変更することにより、ズームレンズの焦点距離を変化させる。
ズーミング駆動信号検出回路部25は、上記ズームモータ24の回転量に対応したパルス信号を生成し、上記CPU1へ該パルス信号を伝達する。これを受けCPU1は、このパルス信号をカウントすることで、焦点距離に対応したデータを生成する。
フォーカシング駆動回路部26は、CPU1からの制御によって、フォーカシングモータ27を駆動するもので、図示しないギヤ列を介して、図示しない合焦光学系に回転力が伝達されることで、フォーカシング動作を行う。具体的には、合焦光学系としての合焦レンズを光軸方向に駆動して、焦点位置(合焦位置)を撮像面に合致させる。
フォーカシング駆動信号検出回路部28は、上記フォーカシングモータ27の回転量に対応したパルス信号を生成し、上記CPU1へ該パルス信号を伝達する。これを受けCPU1は、このパルス信号の数と周期を検出することで、合焦レンズを合焦位置に正確に停止させるための制御を行う。
シャッター駆動回路部29は、上記CPU1からの制御によって、図示しないシャッターを駆動するためのプランジャ30への通電制御を行う。該プランジャ30への通電時間を上記CPU1が制御することにより、露光量の制御を行っている。
シャッター駆動信号検出回路部31は、上記プランジャ30への通電時間を制御するための基準タイミングを図示しないシャッター動作に連動して生成し、CPU1に伝達する。
フィルム給送駆動回路部32は、上記CPU1からの制御によってフィルム給送モータ33を駆動するもので、フィルムの巻き上げ、巻き戻しを行う。
フィルム移動量検出回路部は、図示しないフィルムに形成されたパーフォレーションを検出することによりフィルムの給送状態を検知し、検知結果をCPU1に伝達する。
フィルム情報検出回路部35は、フィルムカートリッジ36に設けられたISO感度情報を読み取り、CPU1に伝達する。
次に、本実施の形態のカメラの動作について図2を参照しながら詳細に説明する。図2は本発明のカメラに搭載されたCPUにより実行されるメインルーチンを示すフローチャートである。
いま、図1に示すカメラの上記PWSW4をオン、又は電池装填によりカメラの電源が投入されたものとする。すると、図1に示すカメラのCPU1は、図2に示すメインルーチン(PWRST)を起動し、つまり、ステップS0から動作を開始する。
まず、CPU1は、動作を開始すると、ステップS1に処理を移行し、該ステップS1にて初期設定を行う。この場合、初期設定とは、前述したCPU1の初期化を行う処理であり、例えば各入出力ポート、RAMなどの初期化などが行われるようになっている。
その後、CPU1は処理をステップS2に移行し、該ステップS2にて、前述したEXT端子3によってアクセサリーとの外部通信を行うように制御し、処理を次のステップS3に移行する。
ステップS3の処理では、CPU11は、EEPROM2に格納されているデータの読み出しを行い、前述したCPU1内部のRAMに格納するように制御し、処理をステップS4の判断処理へと移行する。上記データとしては、後述する調整位置焦点距離データ(表1参照)や基準位置調整値(表2参照)等がある。
ステップS4の判断処理では、前述したBKSW5の状態が変化したかどうかの判断を行い、変化しているものと判断した場合にはステップS5に処理を移行し、変化してないものと判断した場合にはステップS9に処理を移行する。
BKSW5の状態が変化したと判断した場合、CPU1は、ステップS5の判断処理にて現在のBKSW5の状態がオフ状態であるかどうかの判断を行い、オフ状態ではない場合にはステップS6に処理を移行する。この場合、BKSW5の状態が変化していて、さらに、現在の状態がオンであるので、BKSW5はオフからオンに変化したことになる。つまり、アトブタが閉の状態から開の状態になったことを示す。よって、CPU1は、ステップS6による処理にて、”1”であるときにアトブタが閉状態であることを示すフラグF_BKCLOSに0をセットし開状態であることを記憶し、ステップS9に処理を移行する。
一方、ステップS5の判断処理でBKSW5の状態がオフ状態であった場合には、CPU1は、処理をステップS7に移行し、該処理にて、前述したフラグF_BKCLOSに”1”をセットしアトブタが閉状態であることを記憶し、続くステップS8に処理では、アトブタが開状態から閉状態へと変化したときであるので、フィルムがセットされた可能性があるため、該処理にてオートロード処理を行い、処理をステップS9に移行する。
上記ステップS4の判断処理でBKSW5が変化していなかった場合には、CPU1はステップS9の処理にて、”1”であるときに、1駒巻き上げが必要であることを示すフラグF_WNDREQの状態を判断する。つまり、F_WNDREQの状態が”1”である場合には、CPU1は、処理をステップS10に移行し、該処理にて1駒巻き上げ動作を行い、処理をステップS11の判断処理に移行する。
CPU1は、ステップS11の判断処理にて、上記ステップS10の処理での1駒巻き上げ中にフィルムエンドが検出されたかどうかの判断を行い、フィルムエンドが検出されていない場合には、処理をステップS13に移行し、フィルムエンドが検出された場合には、処理をステップS12に移行する。
ステップS12の処理では、フィルムエンドが検出された場合であるので、巻き戻し動作が必要となることから、CPU1は、巻き戻しが必要であることを示すフラグF_RWREQに”1”をセットし、処理をステップS13に移行する。
上記ステップS9の判断処理で、CPU1は、前述したF_WNDREQの状態が”0”であると判断した場合には、処理をステップS13に移行する。
ステップS13の判断処理では、CPU1は、前述したフラグF_RWREQの状態を判断し、F_RWREQが”1”であると判断した場合には巻き戻しが必要な場合であるので、続くステップS14の処理にて進み巻き戻し処理を行い、その後、処理をステップS15に移行する。
また、上記ステップS13の判断処理にで、CPU1は、F_RWREQが”0”と判断した場合には巻き戻しが不要の場合であるので、処理をステップS15に移行する。
ステップS15の判断処理では、CPU1は、PWSW4の状態を判断し、PWSW4の状態がオフ状態であると判断した場合にはパワーオフ状態であることを示すので、続くステップS17の処理にて撮影レンズ鏡枠をカメラ本体内に収納する沈胴処理を行い、次のステップS18の処理にてLCD11をオフ状態にする表示OFF処理を行うように制御する。
その後、CPU1は、ステップS19の処理にて、該CPU1の動作を停止させる処理を行い、該CPU1の動作をストップ状態に移行させる。このストップ状態から復帰させるためには、PWSW4、BKSW5、RWSW6の操作により、本ルーチンの先頭であるステップS0からCPU1の動作が再開することになる。
一方、上記ステップS15の判断処理にて、CPU1は、PWSW4がオン状態であると判断した場合にはパワーオン状態を示すので、続くステップS16にて鏡枠を撮影状態であるワイド位置に移動させるセットアップ処理を行うように制御した後、処理をステップS20に移行する。
ステップS20の処理では、CPU1は、PWSW4、BKSW5、RWSW6、1RSW7、2RSW8、ZUSW9、ZUSW10の各スイッチの状態変化及び、現在の状態の検出を行い、続くステップS21の処理にてLCD11を動作させ、必要な表示を行う表示ON処理を実行するように制御する。
その後、CPU1は、続くステップS22の判断処理にてPWSW4の状態が変化したかどうかを判断し、変化したと判断した場合には処理をステップS25に移行し本ルーチンの先頭であるPWRST(ステップS0)にジャンプする。
上記ステップS22の判断処理において、PWSW4の状態が変化していなかったものと判断した場合には、CPU1は、処理をステップS23に移行し該処理にてBKSW5の状態が変化したかどうかの判断を行う。BKSW5の状態が変化していると判断した場合には、CPU1は、処理をステップS25に移行し、上記同様に本ルーチンの先頭であるPWRST(ステップS0)にジャンプする。
ステップS23の判断処理において、BKSW5の状態が変化していないものと判断した場合には、CPU1は、処理をステップS24に移行し、該処理にてRWSW6の状態が変化したかどうかの判断を行う。RWSW6の状態が変化しているものと判断した場合には、CPU1は、処理をステップS26に移行し、該処理にてRWSW6の状態が現在オン状態であるかどうかの判断を行う。RWSW6の状態がオン状態であると判断した場合には、CPU1は、処理をステップS27に移行する。
ステップS27の判断処理では、CPU1は、現在のアトブタの状態を示すフラグF_BKCLOSの状態を判断し、F_BKCLOSが”1”であるものと判断した場合には、処理をステップS28に移行する。F_BKCLOSが”1”であるときは、アトブタ状態が閉状態であることを示すので、ここでは、アトブタが閉状態であるときに、RWSW6がオフ状態からオン状態に変化したときである。すなわち、巻き戻し処理が必要な場合であるので、CPU1は、ステップS28の処理にて巻き戻し処理が必要であることを示すフラグF_RWREQに”1”をセットし、処理をステップS9に戻す。すると、前述した通り、ステップS13の判断でステップS14への分岐が行われ巻き戻し処理が実行されることになる。
上記ステップS27の判断処理において、F_BKCLOSが”0”であると判断した場合、または、上記ステップS26の判断処理において、RWSWがOFFであると判断した場合、または、上記ステップS24の判断処理において、RWSW6の状態が変化していないものと判断した場合には、巻き戻し処理を必要としないので、CPU1は、処理をステップS29に移行させる。
ステップS29の処理にて、CPU1は、前述したストロボ回路部12を動作させ、メインコンデンサ14にストロボ発光用のエネルギーの充電を行うように制御し、その後処理をステップS30に移行する。
ステップS30の処理にて、CPU1は、上記ステップS2の処理と同様に外部通信を行うための処理を実行するように制御し、処理をステップS31に移行する。 ステップS31の判断処理では、CPU1は、1RSW7がオフ状態からオン状態に変化したかどうかを判断し、オフ状態からオン状態に変化したと判断した場合には、続くステップS32の処理にて露出準備動作及び、露出動作を行うレリーズ処理を行う。レリーズ処理については後述する(図3参照)。
例えば、上記レリーズ処理中に露出動作が行われた場合には、CPU1は、レリーズ処理中に巻き上げ動作が必要であることを示すフラグF_WNDREQに”1”をセットし、このF_WNDREQの状態に従った処理を行わせるために、レリーズ処理実行後、処理をステップS9に戻し、該処理にて、前述した通り、F_WNDREQが”1”である場合はステップS10に移行して1駒巻き上げ動作を実行するように制御する。
ステップS31の判断処理において、1RSW7がオフ状態からオン状態に変化していないものと判断した場合には、CPU1は、処理をステップS33に移行し、この判断処理にてZUSW9、ZDSW10のいずれかがオフ状態からオン状態に変化したかどうかを判断する。ZUSW9、ZDSW10のいずれかがオフ状態からオン状態に変化したと判断した場合には、CPU1は、続くステップS34の処理にてズーミング駆動回路部23を制御し、ズーミング制御動作を行うズーム駆動処理を実行した後、処理を上記ステップS20に戻す。
また、ステップS33の判断処理において、ZUSW9、ZDSW10のいずれもオフ状態からオン状態に変化していないものと判断した場合には、CPU1は、処理をステップS20に戻す。つまり、処理を上記ステップS20に戻すことにより、前述した処理を繰り返すことになり、メインループを形成している。
次に、前述したステップS32によるレリーズ処理の詳細を、図3を参照しながら詳細に説明する。図3は、図2に示すレリーズ処理のサブルーチンを示すフローチャートである。
いま、CPU1が図2に示すメインルーチン上の上記ステップS32によるレリーズ処理を実行したものとする。すると、CPU1は、図3に示すレリーズ処理のサブルーチンを起動し、つまり、ステップS40からレリーズ処理が開始される。
まず、CPU1は、ステップS41による測距処理を実行する。この測距処理では測距回路部15を制御し、前述したように被写体までの距離を測定する。CPU1は、測定された結果を距離の逆数に比例したデータとして、CPU1内のRAMであるLDATAに記憶するように制御する。つまり、測距手段により被写体距離情報を生成する。
その後、CPU11は、続くステップS42による測光処理を実行する。該測光処理では測光回路部22を制御して、被写体輝度を測定し、処理をステップS43に移行する。
ステップS43の処理では、CPU1は、合焦させるために必要な合焦レンズの繰り出し量の演算を行うレンズ繰り出し量演算を実行する。このレンズ繰り出し量演算処理については、後で詳細に説明することとする(図4〜図6参照)。
そして、上記レンズ繰り出し演算処理実行後、CPU1は、処理を続くステップS44に移行し、該ステップS44による露光量演算処理を実行する。このステップS44による露光量演算処理では、CPU1は、上記ステップS42で測定された被写体輝度に基づいて、シャッター制御時間及び、ストロボ発光量の演算を行うように制御する。
次に、CPU1は、続くステップS45の処理にて、1RSW7、2RSW8の状態を検出するSW読み込み処理を行うように制御する。ここで読み込まれた1RSW7、2RSW8の状態は、続くステップS46、ステップS47の判断処理により判断されることになる。
まず、CPU1は、ステップ46の判断処理にて1RSW7がオフされたかどうかを判断し、1RSW7がオフされているものと判断した場合には、2RSW8がオンされずにオフされたことになるので、レリーズ動作を終了するため、処理をステップS52に移行し該処理にてレリーズ処理を終了させる。一方、1RSW7がオフされていないものと判断した場合には、1RSW7のオン状態が継続されている場合なので、処理をステップS47に移行し、該処理にて2RSW8の状態を判断する。
CPU1は、ステップS47の判断処理において、2RSW8がオン状態ではないと判断した場合には、再びステップS45に処理を戻し、SW読み込み処理を行うように制御する。また、このステップS47の判断処理において、CPU1は、2RSW8がオン状態であると判断した場合には、露出動作を開始する必要があるので次のステップS48に処理を移行する。
以上、説明したように上記ステップS45から上記ステップS47までの処理によって、1RSW7がオフ状態になるか、2RSW8がオン状態になるまで、上記ステップS45から上記ステップS47までの処理を繰り返して行うことになる。
ステップS48の処理では、CPU1は、上記ステップS43で演算された、合焦レンズの駆動量(繰り出し量)に従い、合焦レンズの繰り出し制御を実行して、撮影レンズを合焦状態にする。
その後、CPU1は、続くステップS49の処理にて、上記ステップS44で演算された、シャッター制御時間と、ストロボ発光量に従い、露出動作を行うように制御した後、続くステップS50の処理にて、露出動作が終了しているので、合焦レンズを初期位置に戻すレンズ位置リセット制御を行うように制御する。この初期位置とは、合焦レンズを通常待機させておく所定の位置である。
そして、CPU1は、続くステップS51の処理にて、露出終了している撮影駒を巻き上げるため、巻き上げ制御が必要であることを示すフラグF_WNDREQに”1”をセットした後、続くステップS52の処理にてレリーズ処理を終了し、リターンする。
次に、図4、図5、図6、表1、表2、表3を参照しながら、図3のステップS43処理で実行されるレンズ繰り出し量演算処理を詳細に説明する。
図4は、図3に示すレンズ繰り出し量演算処理のサブルーチンを示すフローチャートである。
いま、CPU1が図3に示すレリーズ処理サブルーチン上の上記ステップS43によるレンズ繰り出し量演算処理を実行したものとする。すると、CPU1は、図4に示すレンズ繰り出し量演算処理のサブルーチンを起動し、つまり、ステップS60からレンズ繰り出し量演算処理が開始される。
まず、CPU1は、ステップS61の処理にて、上記初期位置から基準位置への合焦レンズの繰り出し量を算出する基準位置繰り出し量算出を実行する。ここでの基準位置とは、無限遠の被写体に対して合焦するための、合焦レンズの位置である。また繰り出し量とは、合焦レンズの通常待機位置である初期位置からの繰り出し量に相当する。ここで、該ステップS61の基準位置繰り出し量の算出処理の詳細について、下記に示す表1、表2及び図5を用いて説明する。
表1は、調整位置焦点距離データ群を示し、表2は、上記表1の各焦点距離位置に対応する調整位置調整値群を示している。ここで言う調整位置とは、前述した、基準位置をカメラ組立製造時に調整を行った焦点距離のことである。
本実施の形態では、上記表1に示すように調整位置焦点距離データとしてfp(0)からfp(15)までの16種類の焦点距離データをEEPROM2内部に記憶できるようになっており、これらの調整位置焦点距離データは、CPU1による、図2のステップS3の処理によって、EEPROM2からCPU1内部のRAMに読み込まれることになる。
上記表1に示すfp(0)からfp(15)までのそれぞれの調整位置焦点距離に対応する基準位置調整値は、表2に示すようにSP(0)からSP(15)までの16種類記憶できるようになっており、焦点距離fp(o)での基準位置調整値はSP(0)に対応し、fp(1)での基準位置調整値はSP(1)に対応する、というように1対1にそれぞれ対応している。
基準位置調整値SP(0)からSP(15)は、カメラ組立製造時に、前述したfp(0)からfp(15)のデータと共にEEPROM2に記憶される。記憶されていない焦点距離での基準位置調整値は、記憶されているデータを基に直線補間演算によって求めるようになっている。
以下、ズーミング駆動信号検出回路25から出力された現在の焦点距離データ(焦点距離情報)をfp、求める基準位置(ズームレンズの現在の焦点距離において、無限遠の被写体に対して合焦するための合焦レンズの位置)をSPとして、図5の基準位置繰り出し量算出処理について詳細に説明する。
図5は、図4のステップS61に示す基準位置繰り出し量算出処理のサブルーチンを示すフローチャートである。
いま、CPU1が図4に示すレンズ繰り出し量演算処理サブルーチン上の上記ステップS61を実行すると、図5に示す基準位置繰り出し量算出処理のサブルーチンを起動し、つまり、ステップS70の処理にて初期位置から基準位置への合焦レンズの繰り出し量算出の処理が開始される。
まず、CPU1は、ステップS71の処理にて、現在の焦点距離fpが表1に示す調整位置焦点距離データ群の中のどの位置にあるかを調べるためのカウンター”n”を0に初期化し、処理を続くステップS71の判断処理に移行する。
CPU1は、ステップS72の判断処理にて、現在の焦点距離データfpが”n+1”番目の調整位置焦点距離データfp(n+1)以下であるかどうかをチェックし、fpがfp(n+1)より大きいと判断した場合には、nの値をインクリメントし再び処理をステップS72に戻す。
上記ステップS72の判断処理にて、fpがfp(n+1)以下であるものと判断した場合には、CPU1は、fpの値がfp(n)とfp(n+1)の間に存在することになり、補間演算を行うために次のステップS74に処理を移行する。
ステップS74の処理では、CPU1は、fp(n)と、対応する基準位置SP(n)、fp(n+1)と、対応する基準位置SP(n)、及び現在の焦点距離データfpを用いて、fpに対応する基準位置繰り出し量SPを直線補間演算により求める。
その後、CPU1は、続くステップS75により、該基準位置繰り出し量算出の処理を終了して、再び図4に示すレンズ繰り出し量演算処理ルーチンに処理を戻し、該ルーチン上の次のステップS62へと処理を移行させる。
図4に示すように、次にCPU1は、ステップS62の処理にて、基準位置から合焦位置(ズームレンズの現在の焦点距離において、実際の被写体に対して合焦するための合焦レンズの位置)までの繰り出し量を算出する。この場合の該ステップS62による繰り出し量の算出処理の詳細を下記に示す表3及び図6を用いて説明する。
表3は、被写体距離が無限遠のとき合焦する合焦レンズの繰り出し量である基準位置から、有限距離において実際の被写体に対して合焦する位置までの合焦レンズの繰り出し量を示す。
被写体距離の逆数に対応したデータLDATAは、図3に示す上記ステップS41の測距処理によって得られるデータ(被写体距離情報)である。また、被写体距離毎の繰り出し量は焦点距離毎に異なるため、基準位置から合焦位置までの繰り出し量を算出する場合、被写体距離情報と、焦点距離情報とから、繰り出し量を求める必要がある。よって、上記表3は、焦点距離データと、被写体距離データとの組み合わせによって一つの繰り出し量が決定するデータ構造になっている。
但し、全ての入力データに対して出力データを決定できるだけのデータを持つと、膨大なデータになってしまうため、離散的な入力値に対するデータのみがCPU1内部のROMに記憶されるようになっている。よって、中間値の入力に対しては、記憶されているデータを基にして、直線補間演算によって、出力である繰り出し量を決定する。なお、上記表3に示すデータはEEPROM2に記憶しておいてもよい。
図6は、図4のステップS62に示す基準位置から合焦位置までの繰り出し量算出処理のサブルーチンを示すフローチャートである。CPU1は、図4のステップS62の処理を実行すると、図6に示す基準位置から合焦位置までの繰り出し量算出処理のサブルーチンを起動し、つまり、ステップS80から処理を開始させる。
CPU1は、続くステップS81の処理にて、まず、被写体距離データであるLDATAが、記憶されている被写体距離データ群のどの位置にあるかを調べるためのカウンターであるXを0に初期化し、処理をステップS82の判断処理に移行する。
ステップS82の判断処理では、CPU1は、被写体距離データLDATAが記憶されている被写体距離データ群の中のLDATA(X+1)以下であるかどうかの判断を行い、LDATAがLDATA(X+1)以下であるものと判断した場合には、処理をステップS83に移行し、該処理にてXの値をインクリメントして、再びステップS82に処理を戻す。
上記ステップS82の判断処理において、CPU1は、LDATAの値がLDATA(X+1)より大きいものと判断した場合には、処理をステップS84に移行する。つまり、LDATAの値はLDATA(X)より大きいものであって、LDATA(X+1)以下となるXの値が決定されることになる。
そして、CPU1は、続くステップS84の処理にて、焦点距離データfpが記憶されている焦点距離データ群のどの位置にあるかを調べるためのカウンターであるYを0に初期化し、処理をステップS85の判断処理に移行する。
ステップS85の判断処理では、CPU1は、焦点距離データfpが記憶されている焦点距離データ群fpT(Y+1)以下であるかどうかの判断を行い、fpがfpT(Y+1)以下であるものと判断した場合には、Yの値をインクリメントして再びステップS85に処理を戻す。
上記ステップS85の判断処理において、CPU1は、fpがfpT(Y+1)より大きいものと判断した場合には、処理をステップS87に移行する。つまり、fpの値はfpT(Y)より大きいものであって、fpT(Y+1)以下となるYの値が決定されることになる。
以上、求められたXとYを使用して、CPU1は、上記表3の繰り出し量テーブルより、求める繰り出し量付近のデータを参照し、直線補間演算によって、繰り出し量を求めるように制御する。
まず、CPU1は、続くステップS87の処理にて、焦点距離データfp=fpT(Y)のときの繰り出し量を直線補間によって算出し、算出結果をOBJPLS1に格納するように制御する。
その後、CPU1は、続くステップS88の処理にて、焦点距離データfp=fpT(Y+1)であるときの繰り出し量を直線補間によって算出し、算出結果をOBJPLS2に格納するように制御する。
次に、CPU1は、続くステップS89にて、最終出力である焦点距離データfpに対応する基準位置から合焦位置までの繰り出し量OBJPLSを、OBJPLS1とOBJPLS2とから直線補間によって算出する。
以上の処理を実行することにより、基準位置から合焦位置までの繰り出し量を求めることができたので、CPU1は、続くステップS90で該処理を終了し、図4のレンズ繰り出し量演算処理サブルーチンにリターンさせる。
図4において、次にCPU1は、ステップS63の処理にて、図5のステップS74で求めた初期位置から基準位置までの繰り出し量SPと、図6のステップS89で求めた基準位置から合焦位置までの繰り出し量OBJPLSを加算して、被写体距離データLDATAと焦点距離データfpに対応する合焦レンズの繰り出し量を演算し、リターンする(ステップS64)。
次に、本実施の形態におけるカメラ組立製造時の基準位置の調整方法について図7を参照しながら詳細に説明する。この調整は、カメラのEXT端子3を介して、カメラと外部装置とを通信可能になるように電気的に接続した状態で行う。
図7は、本実施の形態の特徴となるカメラの組立製造時の、基準位置の調整値の決定方法を説明するため特性図である。
本実施の形態のカメラにおいては、カメラ組立製造時に、基準位置の調整を行う焦点距離データ(調整位置焦点距離データ)の決定と、上記調整位置焦点距離における基準位置調整値の決定とを行う。この場合、カメラの撮影レンズに平行光線を入射させ、焦点を結ぶ位置がフィルム面に対して前後方向のどの位置にあるかを示すΔFC値の測定を行う。このΔFC値を焦点距離毎に測定した結果が図7(a)に示されている。
本実施の形態におけるカメラは、前述したようにカメラ内部のEEPROM2には、基準位置調整値を調整位置焦点距離データに対して離散的な値として記憶している。該カメラは、データを持たない焦点距離における調整値は、EEPROM2に記憶されている基準位置調整値と、調整位置焦点距離データとに基づいて直線補間演算によって求めるようにしている。
そこで、測定した各焦点距離データ毎のΔFC値を基に、単位焦点距離データ当りのΔFCの変化量を求める。つまりΔFC特性の微分値を求める。この微分値の特性を示したものが図7(b)に示されている。
図7(b)において、ΔFC特性の微分値が0となる焦点距離では、図7(a)のΔFC特性における極値をとることになる。この極値となる焦点距離と、焦点距離範囲の両端であるワイド位置、テレ位置を基準位置の測定位置、つまり調整位置焦点距離とする。
このように、少なくともΔFC特性の極値を基準位置の測定位置とすることで、カメラ個々のΔFC特性に合致した測定位置を決定することができる。
決定された測定位置でのΔFCの値から、それぞれの測定位置における合焦レンズの基準位置を求め基準位置調整値とする。そして、上記調整位置焦点距離と上記基準位置調整値とをカメラのEEPROM2に記憶させる。
図7(a)に示すようなΔFC特性を有する場合、極値を示す焦点距離データは4つであるので、まず、fp(0)としてワイド位置を示す焦点距離データを記憶させ、fp(1)からfp(4)までにはそれぞれ極値を示す焦点距離データを記憶させ、fp(5)にはテレ位置を示す焦点距離データを記憶させる。
そして、SP(0)からSP(5)までには、fp(0)からfp(5)に示された各焦点距離での基準位置調整値を記憶させる。つまり、fp(5)にテレ位置の焦点距離データ、SP(5)にテレ位置での基準位置調整値を記憶することで、基準位置の調整を行った数が決定することになる。
本実施の形態では、組立製造時にΔFC特性の測定を行った結果、極値が4つの場合であるので、前述した表1の調整位置焦点距離データ群の内fp(0)からfp(5)までと、表2の基準位置調整値群の内SP(0)からSP(5)までを記憶領域として使用することとなる。
本発明に係る実施の形態においては、調整位置焦点距離データとしてfp(0)からfp(15)までの16種類の焦点距離データと、これらの焦点距離位置にそれぞれ対応するSP(0)からSP(15)までの16種類の基準位置データ等をEEPROM2内部に記憶できるように説明したが、これに限定されるものではなく、さらに詳細に各データを記憶しても良い。また、必要であればさらに他の情報を記憶し、用いるように構成しても良い。
以上述べたように、本発明の実施の形態によれば、基準位置の調整を行う焦点距離データと基準位置調整値とをカメラ内部のEEPROM2内に記憶しているので、調整を行う焦点距離位置と数を任意に設定することが可能である。従って、設計段階で予測困難な合焦レンズのΔFC特性に対して柔軟に対応することができ、より高精度のピント合わせの可能なズーム式カメラの実現が可能となる。
また、上記実施の形態においては、極値を示す焦点距離データと該焦点距離における調整値を記憶手段に記憶するようにしたが、以下に示す変形実施も可能である。
(1)ズームレンズの設計、組立バラツキ、部品バラツキによっては、一部の焦点距離領域で大きなズレが生じ場合がある。例えば図7(a)においては、ΔFC値のSP(0)からの移動量は、ワイド位置から焦点距離fp(2)までは小さく、焦点距離sp(3)からテレ位置(fp(5))までは大きい。このような場合には、ヒント位置の移動量が所定値よりも大きい焦点距離範囲の一部の領域での焦点距離データと調整値とを、記憶手段に記憶するようにしてもよい。また、上記移動量の比が所定値以上となる領域での焦点距離データと調整値とを記憶するようにしてもよい。
(2)ズームレンズの設計によっては、望遠側(テレ側)の焦点距離領域で大きなズレが生じ場合がある。例えば図7(a)においては、ΔFC値のSP(0)からの移動量は、ワイド位置から焦点距離fp(2)までは小さく、焦点距離sp(3)からテレ位置(fp(5))までは大きい。このような場合には、所定の焦点距離(例えばfp(2))よりも望遠側の領域での焦点距離データと調整値とを、記憶手段に記憶するようにしてもよい。また、このようなズームレンズにおいては、全ての焦点距離領域でΔFC値を測定せずに、所定の一部の領域だけを測定ようにしてもよい。そうすることにより、測定時間の短縮が図られる。 このように、カメラにおける撮影可能な焦点距離領域の少なくとも一部の領域での焦点距離データと調整値とを、記憶手段に記憶することにより、繰り出し量の演算を高速化することができる。
(3)始めに初期位置から基準位置までの繰り出し量を求め(第1演算)、次に、上記基準位置から合焦位置までの繰り出し量を求める(第2演算)。そして、上記2つの繰り出し量を加算して最終繰り出し量を決定している(第3演算)。ここで、上記第2演算については、表3に示したテーブルを用いる演算に代えて、所定の演算式を用いるようにしてもよい。
なお、本発明は、上記実施の形態に限定されるもものではなく、その応用も本発明に含まれるものである。上記実施の形態に係るカメラはフィルムを使用するカメラであるが、撮像素子で撮像するデジタルカメラやビデオカメラなどの電子カメラ、テレビ用カメラ、携帯電話や情報携帯端末に接続したり搭載するカメラ、遠隔観察や遠隔撮影を行うカメラなど、多岐にわたるカメラへの応用が可能である。