(57)【特許請求の範囲】
【請求項１】
被写体へ光を照射する投光手段と、
前記投光手段の照射光が前記被写体で反射する光を受光し２つの電流出力に変換する受光手段と、
前記受光手段の一方の出力電流を電圧に変換する第１の電流電圧変換回路と、  前記受光手段の他方の出力電流を電圧に変換する第２の電流電圧変換回路と、  前記２つの電流電圧変換回路のいずれかを選択的に出力する選択回路と、
前記選択回路が前記第１の電流電圧変換回路を選択しているときに前記投光手段の投光回数をカウントする第１のカウント手段と、
前記選択回路が前記第２の電流電圧変換回路を選択しているときに前記投光手段の投光回数をカウントする第２のカウント手段と、
前記第１および第２の電流電圧変換回路の出力信号を増幅する増幅回路と、
前記増幅回路に入力される出力信号に所定量のバイアス電流を加算するバイアス回路と、
前記増幅回路のドリフト電圧と前記バイアス電流に応じたバイアス電圧との加算電圧を記憶する記憶手段と、
前記増幅回路の出力を積分する積分回路と、
前記積分回路の出力と前記記憶手段の出力とから前記被写体までの距離を演算する演算手段とを備え、
前記演算手段は、前記記憶手段の出力に基づき、前記第１および第２のカウント手段のそれぞれのカウント回数に相応する出力を補正して上記距離を算出するものであることを特徴とする測距装置。
【請求項２】
前記バイアス回路が加算するバイアス電流を変更するバイアス電流変更手段を有することを特徴とする請求項１に記載の測距装置。
【請求項３】
前記ドリフト電圧が正電圧の場合に前記バイアス回路のバイアス電流の加算を禁止する禁止手段を有することを特徴とする請求項１に記載の測距装置。
【発明の詳細な説明】
【０００１】
【発明の技術分野】
本発明は、カメラなどに利用される測距装置および測距方法に関するものである。
【０００２】
【従来の技術】
従来から積分回路を使った投受光タイプのさまざまな測距装置が提案されている。たとえば本出願人による先の出願となる特開平６−１６７３２９号公報では、被写体にパルス光を投光し、被写体からの光信号を遠距離および近距離の２つの受光回路で一定電圧に達するまでの間積分しそのときの投光回数をカウントし、そうして得られた２つのカウント値から被写体までの距離を算出する測距装置において、単位時間当たりのオフセット電圧を測定し、この結果によって測距出力の補正を行うことによりドリフト電流の影響を取り除くカメラ用測距装置を提案している。
【０００３】
【発明が解決しようとする課題】
ところがドリフト電圧は正の場合も負の場合も考えられる。ドリフト電圧が正の場合は見かけ上の投光回数が減るため測距時間は短くて済むが、負の場合には投光回数が多くなり撮影までのタイムラグが大きくなるばかりでなく、被写体が遠い際に投光回数の限界に達して、無限遠にあるものと判定されてしまう。このため、被写体を測距し得る距離が見かけ上短くなってしまうという不具合を有していた。
【０００４】
本発明においては、測距時間を短縮するとともに、被写体を測距し得る距離が短くなるのを防ぐことを目的としている。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、本願の請求項１に係る発明は、本願の請求項１に係る発明は、被写体へ光を照射する投光手段と、前記投光手段の照射光が前記被写体で反射する光を受光し２つの電流出力に変換する受光手段と、前記受光手段の一方の出力電流を電圧に変換する第１の電流電圧変換回路と、前記受光手段の他方の出力電流を電圧に変換する第２の電流電圧変換回路と、前記２つの電流電圧変換回路のいずれかを選択的に出力する選択回路と、前記選択回路が前記第１の電流電圧変換回路を選択しているときに前記投光手段の投光回数をカウントする第１のカウント手段と、前記選択回路が前記第２の電流電圧変換回路を選択しているときに前記投光手段の投光回数をカウントする第２のカウント手段と、前記第１および第２の電流電圧変換回路の出力信号を増幅する増幅回路と、前記増幅回路に入力される出力信号に所定量のバイアス電流を加算するバイアス回路と、前記増幅回路のドリフト電圧と上記バイアス電流に応じたバイアス電圧との加算電圧を記憶する記憶手段と、前記増幅回路の出力を積分する積分回路と、前記積分回路の出力と前記記憶手段の出力とから前記被写体までの距離を演算する演算手段とを備え、前記演算手段は、前記記憶手段の出力に基づき、前記第１および第２のカウント手段のそれぞれのカウント回数に相応する出力を補正して上記距離を算出するものである。
【０００６】
本願の請求項２に係る発明は、前記バイアス回路が加算するバイアス電流を変更するバイアス電流変更手段を有している。
【０００７】
本願の請求項３に係る発明は、前記ドリフト電圧が正電圧の場合に前記バイアス回路のバイアス電流の加算を禁止する禁止手段を有している。
【０００８】
【発明の実施の形態】
本発明の実施の形態を図１に基づいて説明する。
【０００９】
制御回路（以下ＣＰＵという）１０はカメラの各部分の動作を統括して制御する。ＣＰＵ１０に内蔵されている読み出し可能なリード・オンリ・メモリ（以下ＲＯＭという）１０ａはカメラの動作に関するプログラムおよびデータの半永久的な保存に使用する。同様に、ＣＰＵ１０に内蔵されている読み書き可能なランダム・アクセス・メモリ（以下ＲＡＭという）１０ｂは演算および一時的な記憶に使用する。モータ１１はＣＰＵ１０の制御に従って鏡筒１２を合焦位置に駆動する。レリーズスイッチ１３は撮影者が撮影を行うために押下するスイッチである。
【００１０】
投光回路２０は投光素子（以下ＩＲＥＤという）２１を駆動するための回路であり、トランジスタ２２、抵抗２３、抵抗２４からなる。ＩＲＥＤ２１はＣＰＵ１０から出力される発光信号ＥＭによってパルス駆動される。
【００１１】
遠側電流電圧変換回路３０、近側電流電圧変換回路４０は一次元半導体受光素子３（以下ＰＳＤという）と一体となって受光回路を構成する。ここで説明の便宜上、これはＰＳＤ３の２つの出力端子のうち、投光素子に近い方を遠側、投光素子から遠い方を近側と呼ぶものとする。ＰＳＤ３に光信号が入射すると、ＰＳＤ３はその強度と入射位置に応じた電流を遠側電流電圧変換回路３０と近側電流電圧変換回路４０とに出力する。遠側電流電圧変換回路３０はアンプ３１と帰還抵抗３２とで構成され、入力電流に比例した電圧を出力する回路であり、近側電流電圧変換回路４０も同様にアンプ４１と帰還抵抗４２とで構成され、入力電流に比例した電圧を出力する回路である。遠側電流電圧変換回路３０および近側電流電圧変換回路４０から出力された電圧は、共にスイッチ４に導かれる。スイッチ４は遠側電流電圧変換回路３０と近側電流電圧変換回路４０のいずれかの出力を後段の回路に伝える役割を持ち、その状態はＣＰＵ１０によって制御される。遠距離側の測距を行うときは遠側電流電圧変換回路３０、近距離側の測距を行うときは近側電流電圧変換回路４０側にオンする。
【００１２】
増幅回路５０と増幅回路６０は同様な構成なので、増幅回路５０を例にとって説明する。増幅回路５０の前にはカップリングコンデンサ５が接続され、入力信号の直流分はここでカットされる。増幅回路５０はアンプ５１と３個の帰還抵抗５３、５４、５５と入力抵抗５２とで構成され、入力信号をある一定のゲインで増幅する回路である。回路中にスイッチ５６とスイッチ５７を持っており、これらのスイッチはＣＰＵ１０によってオンまたはオフを制御できる。スイッチ５６は帰還抵抗５５を、スイッチ５７は帰還抵抗５４および帰還抵抗５５をそれぞれオンまたはオフするので、これらのスイッチの状態から入力抵抗と帰還抵抗の組み合わせによりアンプ５１のゲインが段階的に変化する。したがって信号電流から電圧への変換も、この変化したゲインに応じて行われる。増幅回路６０も同様な構成であり、ＣＰＵ１０はスイッチ６６とスイッチ６７を操作して適切なゲインを設定し、それにしたがって増幅回路５０の出力した信号の増幅が行われる。増幅回路６０の出力信号はスイッチ７を経て後段の積分回路８０に出力される。
【００１３】
増幅回路６０のアンプ６１にはバイアス回路７０が接続されている。バイアス回路７０は抵抗７１と電源間に両端を接続された可変抵抗７２とから構成されている。バイアス回路７０の出力にはスイッチ７３が接続され、ＣＰＵ１０はスイッチ７３をオンすることによりバイアス電流を増幅回路６０に供給する。ここでＣＰＵ１０は、スイッチ７３を発光信号ＥＭに同期してオンまたはオフする。すなわち、ＩＲＥＤ２１の発光中においてのみバイアス電流が増幅回路６０に供給され、それ以外の場合にはバイアス電流は供給されない。バイアス回路７０が供給するバイアス電流は、常に積分コンデンサ８３の端子間電圧を正にするに十分な量になるようにあらかじめ調整されている。
【００１４】
積分回路８０はアンプ８１、入力抵抗８２、積分コンデンサ８３、それに積分コンデンサ８３の電荷を放電するためのスイッチ８４、さらにアンプ８１の出力に電圧ホロワ８５が接続されている。積分動作に先だって積分コンデンサ８３に残っている電荷を放電するためスイッチ８４がオンする。電荷を十分に放電するとスイッチ８４はオフする。積分動作がスイッチ７のオンによって開始されると、積分コンデンサ８３には入力信号の時間積分値が電荷として貯えられる。積分動作が終了するとスイッチ７はオフし、積分コンデンサ８３の端子間電圧が電圧ホロワ８５に出力され、電圧ホロワ８５の出力電圧はＡ／Ｄ変換器１４に取り込まれる。Ａ／Ｄ変換器１４はこれをデジタル電圧に変換してＣＰＵ１０に出力する。
【００１５】
次に本発明の実施例の回路の動作について説明する。撮影者がレリーズスイッチ１３を押すとＣＰＵ１０はＲＯＭ１０ａに内蔵されているプログラムに従って測光動作および測距動作を行い、続いて露出作動を行う。そのうちの測距動作に入ると、ＣＰＵ１０はまず図１内のすべての回路の電源をオンする。次にＲＡＭ１０ｂの内容をクリアし、増幅回路５０と増幅回路６０のゲインを決定する。このときゲインを最小にセットしても被写体の輝度が大きくアンプが飽和してしまう場合は、測距を行わずに被写体が至近距離にあるものと判定し、ＲＡＭ１０ｂ中の至近フラグＦｃをセットする。この理由は、輝度が大きい場合には撮影レンズの絞り口径が小さくなるように制御されるため、被写界深度が非常に深くなり、被写体位置に関係なくピントがあうようになるためである。そして、測距に入る前に回路の単位投光時間当たりのバイアス電圧とドリフト電圧との合算電圧Ｖｂを決定する。
【００１６】
その後ＣＰＵ１０は投光回路２０をパルス駆動し、カウント値Ｋ１で投光回数をカウントしながらその時の受光素子の出力電流を遠側電流電圧変換回路３０で電流電圧変換し、増幅回路５０および増幅回路６０で増幅し、積分回路８０で積分する。積分電圧が電圧Ｖ２（たとえば１．０Ｖ）に達するとＣＰＵ１０は投光を終了し、その時のカウント値Ｋ１をＲＡＭ１０ｂに保存する。このとき積分電圧が電圧Ｖ２に達しないうちに投光回数が値Ｋ１ｍ（たとえば７００回）に達した場合は無限遠と判定し、ＲＡＭ１０ｂ中の無限遠フラグＦｉをセットする。それから再びＣＰＵ１０は投光回路２０をパルス駆動し、カウント値Ｋ２で投光回数をカウントしながらその時の受光素子の出力電流を近側電流電圧変換回路４０で電流電圧変換し、増幅回路で増幅し、積分回路で積分する。積分電圧が電圧Ｖ２に達するとＣＰＵ１０は投光を終了し、その時のカウント値Ｋ２をＲＡＭ１０ｂに保存する。このとき積分電圧が電圧Ｖ２に達しないうちに投光回数が値Ｋ２ｍ（たとえば３００回）に達した場合は無限遠と判定し、ＲＡＭ１０ｂ中の無限遠フラグＦｉをセットする。以上で投光動作が終了すると、無限遠フラグＦｉがセットされていれば無限遠、至近フラグＦｃがセットされていれば至近、いずれでもなければＲＡＭ１０ｂに保存されているカウント値Ｋ１にバイアス電圧Ｖｂに応じた補正を行なった値Ｎ１、同様にＲＡＭ１０ｂに保存されているカウント値Ｋ２にバイアス電圧Ｖｂに応じた補正を行なった値Ｎ２の両方から式（１）のような値Ｘを算出する。
【００１７】
Ｘ＝Ｎ１／（Ｎ１＋Ｎ２）                                        （１）
式（１）により値Ｘが定まると、ＲＯＭ１０ａに保存されている、図７に示すような表を参照し、被写体までの距離Ｄを求め、その結果にしたがってＣＰＵ１０はモータ１１を制御し、鏡筒１２を合焦位置まで駆動する。最後に測距回路の電源をオフして、このルーチンを抜ける。
【００１８】
以上のうち、まず増幅回路５０と増幅回路６０のゲイン決定動作を図２、図３を使って以下に詳細に説明する。最初にＣＰＵ１０によってスイッチ４を遠側電流電圧変換回路３０側にオンする。次にスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる（図２のａ）。十分に電荷を放電した後、スイッチ８４をオフし、そしてカウント値Ｎｅを０にクリアする（図２のｂ）。それからＣＰＵ１０は発光信号ＥＭを発生して投光を開始する（図２のｃ）。発光信号ＥＭの発生に応じて、ＩＲＥＤ２１が駆動されると共に、スイッチ７３もオンする。
【００１９】
各増幅回路の立ち上り時間の確保および投光開始に伴う電源変動の影響を軽減するため、投光開始後時間Ｔ１を経過してからスイッチ７をオンし（図２のｄ）、積分回路を時間Ｔ２の間だけ動作させてからスイッチ７をオフする（図２のｅ）。それが終わると投光・積分を停止して、時間Ｔ３の間だけ待機し（図２のｆ）、カウントアップ信号ＣＵを発生してカウント値Ｎｅに１を加える。
【００２０】
図３のように、図２のｃ〜ｅの動作を予め決められた回数Ｎｇ（たとえば１０回）だけ繰り返した後、ＣＰＵ１０はＡ／Ｄ変換器１４を制御し、積分コンデンサ８３の端子間電圧をデジタル値に変換して読み込む。続いてＣＰＵ１０は積分電圧Ｖｉｎｔと電圧Ｖ１（たとえば０．１Ｖ）とを比較し、積分電圧Ｖｉｎｔの方が大きい場合にはスイッチ５６をオンする。以下同様に、積分動作と比較演算とをくり返し、積分電圧Ｖｉｎｔが電圧Ｖ１よりも大きい場合は、スイッチ６６、スイッチ５７、スイッチ６７の順でオンする。これで増幅回路全体としてのゲインが定まったことになる。もし以上の手順にしたがってすべてのスイッチをオンしてもなお積分電圧Ｖｉｎｔが電圧Ｖ１よりも大きい場合には被写体は至近距離にあるものと判断して至近フラグＦｃをセットして終了する。
【００２１】
次に、単位投光時間当たりのバイアス電圧とドリフト電圧の合算電圧Ｖｂの求め方を図５を使って以下に詳細に説明する。最初にスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる。十分に電荷を放電した後、スイッチ８４をオフし、スイッチ４を遠側電流電圧変換回路３０側にオンし、時間Ｔ４だけ待機する。続いて投光回路２０を駆動しないでスイッチ７とスイッチ７３とをオンし、積分動作を開始して時間Ｔ５だけ待機する。この間積分コンデンサ８３には回路のドリフト電圧およびバイアス回路７０からのバイアス電流によって電荷が貯えられる。スイッチ７とスイッチ７３とをオンしてから時間Ｔ５を経過すると、スイッチ７とスイッチ７３とをオフして積分動作を終了し、式（２）にしたがって単位投光時間当たりのバイアス電圧とドリフト電圧との合算電圧Ｖｂを求める。通常オペアンプのドリフト電圧の絶対値は数ミリから１０ミリボルトであり、バイアス回路７０からはこれをキャンセルするのに十分な電流が供給されるため、バイアス電圧とドリフト電圧との合算電圧Ｖｂは必ず正となる。
【００２２】
Ｖｂ＝Ｖｉｎｔ／Ｔ５                                            （２）
【００２３】
次に、遠側電流電圧変換回路３０による測距と値Ｎ１の求め方を図２と図６を使って以下に詳細に説明する。最初にスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる。十分に電荷を放電した後、スイッチ８４はオフする。そしてカウント値Ｋ１を０にクリアする。
【００２４】
続いて測距動作に移る。測距の方法は図２に示した通りである。ＣＰＵ１０は発光信号ＥＭに同期してスイッチ７３をオンし増幅回路６０にバイアス電流を供給する。投光を繰り返しながらカウント値Ｋ１を加算していき、積分電圧Ｖｉｎｔが予め定められた電圧Ｖ２に達した時点で終了するが、もしも被写体までの距離が遠くて予め定められた値Ｋ１ｍだけ投光しても電圧Ｖ２に達しない場合は無限遠と判断し、ＲＡＭ１０ｂ中の無限遠フラグＦｉをセットして終了する。それ以外の場合はカウント値Ｋ１からバイアス電圧とドリフト電圧との合算電圧Ｖｂの影響を除去するため、次のような演算を行う。
【００２５】
バイアス電圧とドリフト電圧との合算電圧Ｖｂの除去の演算方法を図６に従って説明する。測距終了の時点で積分コンデンサの端子間電圧は電圧Ｖ２に達しているが、その中にはオフセット電圧（バイアス電圧＋ドリフト電圧）Ｖｏｆｆが含まれているため、単位時間あたりのバイアス電圧とドリフト電圧との合算電圧Ｖｂが０の場合に対して少ない投光回数で測距を終了しているはずである。もし単位時間あたりのバイアス電圧とドリフト電圧との合算電圧Ｖｂが０ならば、図６に示す値Ｎ１だけ投光しなければならないことになる。値Ｎ１はカウント値Ｋ１と電圧Ｖ２とオフセット電圧Ｖｏｆｆとを使って式（３）のように表される。
【００２６】
Ｎ１＝Ｋ１・Ｖ２／（Ｖ２−Ｖｏｆｆ）                            （３）
【００２７】
ここでオフセット電圧Ｖｏｆｆは単位投光時間当たりのバイアス電圧とドリフト電圧との合算電圧Ｖｂを使って式（４）のように表される。
Ｖｏｆｆ＝Ｋ１・Ｖｂ                                            （４）
【００２８】
式（３）と式（４）からオフセット電圧Ｖｏｆｆを消去すれば、値Ｎ１が式（５）のように計算できる。
【００２９】
Ｎ１＝Ｋ１・Ｖ２／（Ｖ２−Ｋ１・Ｖｂ）                          （５）
【００３０】
この値Ｎ１をＲＡＭ１０ｂに格納する。
【００３１】
次に、近側電流電圧変換回路４０による測距と値Ｎ２の求め方を図２と図６に基づいて説明する。最初にスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる。十分に電荷を放電した後、スイッチ８４はオフする。そしてカウント値Ｋ２を０にクリアする。続いて測距動作に移る。測距の方法は図２に示した通りである。ＣＰＵ１０は発光信号ＥＭに同期してスイッチ７３をオンし増幅回路６０にバイアス電流を供給する。投光を繰り返しながらカウント値Ｋ２を加算していき、積分電圧Ｖｉｎｔが予め定められた電圧Ｖ２に達した時点で終了するが、もしも被写体までの距離が遠くて予め定められた値Ｋ２ｍだけ投光しても電圧Ｖ２に達しない場合は無限遠と判断し、ＲＡＭ１０ｂ中の無限遠フラグをセットして終了する。それ以外の場合はカウント値Ｋ２を使って、値Ｎ１のときと同様に式（６）のような値Ｎ２を算出しＲＡＭ１０ｂに格納する。
Ｎ２＝Ｋ２・Ｖ２／（Ｖ２−Ｋ２・Ｖｂ）                          （６）
最後に値Ｎ１、Ｎ２を式（１）に代入し、被写体までの距離Ｄを得ることは前述したとおりである。
【００３２】
以上が本実施例における回路の動作である。図４に下イン決定から測距終了までの一連の動作を示した。この例ではスイッチ５６から６７までの全てのスイッチがオンし、ゲインは最小となっている。その状態で測距を行い、無限遠と判断されることなくカウント値Ｋ１、Ｋ２を求めている。以上の動作をフローチャートで表わすと図８〜図１２のようになる。まず、メインルーチンを図８に基づいて説明する。
【００３３】
この測距ルーチンに入ると、ＣＰＵ１０は測距回路の電源をオンし（＃００１）、続いて変数やフラグを初期化する（＃００２）。次に増幅回路５０と増幅回路６０のゲインを決定し（＃００３）、至近フラグＦｃの状態を確認し（＃００４）、セットされていれば値Ｘに１を代入して（＃００５）、＃０１３にジャンプする。＃００４で至近フラグＦｃがセットされていないと、それから単位時間当たりのバイアス電圧Ｖｂを決定する（＃００６）。そして遠側電流電圧変換回路３０での測距を行い、値Ｎ１を算出してＲＡＭ１０ｂに保存し（＃００７）、無限遠フラグＦｉの状態を確認し（＃００８）、セットされていれば値Ｘに０．５を代入して（＃００９）、＃０１３にジャンプする。＃００８で無限遠フラグＦｉがセットされていないと、同様に近側電流電圧変換回路４０での測距を行い、値Ｎ２を算出してＲＡＭ１０ｂに保存し（＃０１０）。無限遠フラグＦｉの状態を確認し（＃０１１）、セットされていれば値Ｘに０．５を代入して（＃０１２）、＃０１３にジャンプし、セットされていなければサブルーチン＃００７と＃０１０の操作でＲＡＭ１０ｂに保存されている値Ｎ１と値Ｎ２を読み出し値Ｘを算出する（＃０１２）。つまり、無限遠フラグＦｉがセットされていれば無限遠、至近フラグＦｃがセットされていれば至近、それ以外では図７に示すように値Ｘをオフセット値とする予め決められたＲＯＭ１０ａのアドレスを参照することで、被写体までの距離Ｄを求め（＃０１３）、鏡筒を駆動する（＃０１４）。最後に測距回路の電源をオフし（＃０１５）、このルーチンを抜ける。
【００３４】
次に、各サブルーチン内での動作を説明する。まず、ゲイン決定のサブルーチンを図９に基づいて説明する。ゲイン決定のサブルーチンに入ると、ＣＰＵ１０はスイッチ４を遠側電流電圧変換回路３０側にオン、他のスイッチをすべてオフし（＃１０１）、スイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させてから、スイッチ８４をオフし（＃１０２）、カウント値Ｎｓを０にクリアし（＃１０３）、カウンタリセット信号ＣＲを発生してカウント値Ｎｅを０にクリアする（＃１０４）。
【００３５】
続いてＣＰＵ１０は発光信号ＥＭを発生して投光回路２０を動作して投光を始め（＃１０５）、時間Ｔ１だけ待機する（＃１０６）と、スイッチ８４をオンし積分動作をしながら（＃１０７）、時間Ｔ２だけ待機する。この間積分コンデンサ８３には電荷が貯えられる（＃１０８）。それから投光回路２０の動作を止めて投光動作を終了し、スイッチ７をオフし積分動作を終えて（＃１０９）、時間Ｔ３だけ待機した後に（＃１１０）、カウントアップ信号ＣＵを発生してカウント値Ｎｅに１を加える（＃１１１）。以上＃１０５〜＃１１０の動作はカウント値Ｎｅが予め決められた回数Ｎｇ（本例では、Ｎｇ＝１０回）に達するまで繰り返される。カウント値Ｎｅが回数Ｎｇに達したら（＃１１２）、ＣＰＵ１０はスイッチ７をオフして、積分電圧ＶｉｎｔをＡ／Ｄ変換器１４に出力する。Ａ／Ｄ変換器１４はその電圧をＡ／Ｄ変換し、ＣＰＵ１０に出力する。さらに積分電圧Ｖｉｎｔを電圧Ｖ１と比較し（＃１１３）、積分電圧Ｖｉｎｔが電圧Ｖ１以下であればメインルーチンに戻る。
【００３６】
積分電圧Ｖｉｎｔが電圧Ｖ１より大きかった場合、カウント値Ｎｓが０ならば（＃１１４）、スイッチ５６を（＃１１５）、カウント値Ｎｓが１ならば（＃１１６）、スイッチ６６を（＃１１７）、カウント値Ｎｓが２ならば（＃１１８）、スイッチ５７を（＃１１９）、カウント値Ｎｓが３ならば（＃１２０）、スイッチ６７を（＃１２１）、それぞれオンし、カウント値Ｎｓに１を加えて（＃１２２）、＃１０４に戻る。もしカウント値Ｎｓが０から３のいずれでもなければ至近フラグＦｃをセットし（＃１２３）、このサブルーチンを抜け、メインルーチンに戻る。
【００３７】
次に、単位投光時間当たりのドリフト電圧決定のサブルーチンを図１０に基づいて説明する。単位投光時間当たりのドリフト電圧決定のサブルーチンがコールされると、ＣＰＵ１０はスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる。十分に電荷を放電した後、スイッチ８４をオフする（＃２０１）。次にスイッチ４を遠側電流電圧変換回路３０側にオンする（＃２０２）。それから時間Ｔ４だけ待機すると（＃２０３）、スイッチ７とスイッチ７３をオンし、投光回路２０は駆動しないで積分動作を開始し（＃２０４）、時間Ｔ５だけ待機する（＃２０５）。この間積分コンデンサ８３には電荷が貯えられる。時間Ｔ５だけ経過するとスイッチ７とスイッチ７３をオフし、積分動作を終了する（＃２０６）。そして、Ａ／Ｄ変換器１４から出力された積分電圧ＶｉｎｔをＣＰＵ１０が読み取る。ＣＰＵ１０は積分電圧Ｖｉｎｔを時間Ｔ５で割り、単位時間当たりのバイアス電圧Ｖｂを求め、ＲＡＭ１０ｂに保存し（＃２０７）、このサブルーチンを抜ける。
【００３８】
次に、遠側電流電圧変換回路３０による測距のサブルーチンを図１１に基づいて説明する。遠側電流電圧変換回路３０による測距のサブルーチンがコールされると、ＣＰＵ１０はスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる。十分に電荷を放電した後、スイッチ８４をオフする（＃３０１）。次にＣＰＵ１０はスイッチ４を遠側電流電圧変換回路３０側にオンし、スイッチ７をオンする（＃３０２）。カウンタリセット信号ＣＲを発生してそれからカウント値Ｋ１を０にクリアする（＃３０３）。
【００３９】
続いて測距動作に移る。最初にカウント値Ｋ１が値Ｋ１ｍ以上かどうかを判定し（＃３０４）、値Ｋ１ｍ以上ならばＲＡＭ１０ｂ中の無限遠フラグＦｉをセットし（＃３０５）、このサブルーチンを抜ける。カウント値Ｋ１が値Ｋ１ｍ未満ならばＣＰＵ１０は投光回路２０を駆動し、投光を開始する（＃３０６）。投光開始に伴う各アンプの立ち上り時間の確保と電源変動の影響とを軽減するため、時間Ｔ１だけ待機した後（＃３０７）、スイッチ７とスイッチ７３をオンして積分動作を開始し（＃３０８）、時間Ｔ２だけ待機する（＃３０９）。この間積分コンデンサ８３には電荷が貯えられる。時間Ｔ２だけ経過すると投光回路２０の動作を止めて投光動作を終了し、スイッチ７とスイッチ７３をオフして、積分動作を終了する（＃３１０）。それから時間Ｔ３だけ待機し（＃３１１）、カウントアップ信号ＣＵを発生してカウント値Ｋ１に１を加算し（＃３１２）、積分電圧ＶｉｎｔをＡ／Ｄ変換器１４に出力する。Ａ／Ｄ変換器１４はその電圧をＡ／Ｄ変換してＣＰＵ１０に出力する。ＣＰＵ１０は積分電圧Ｖｉｎｔを電圧Ｖ２と比較し（＃３１３）、積分電圧Ｖｉｎｔが電圧Ｖ２よりも小さい場合には＃３０４にジャンプして投光動作を繰り返す。積分電圧Ｖｉｎｔが電圧Ｖ２よりも大きい場合にはカウント値Ｋ１から値Ｎ１を算出してＲＡＭ１０ｂに記憶し（＃３１４）、このサブルーチンを抜ける。
【００４０】
次に、近側電流電圧変換回路４０による測距のサブルーチンを図１２に基づいて説明する。近側電流電圧変換回路４０による測距のサブルーチンがコールされると、ＣＰＵ１０はスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる。十分に電荷を放電した後、スイッチ８４をオフする（＃４０１）。次にスイッチ４を近側電流電圧変換回路４０側にオンする（＃４０２）。それからカウンタリセット信号ＣＲを発生してカウント値Ｋ２を０にクリアする（＃４０３）。
【００４１】
続いて測距動作に移る。最初にカウント値Ｋ２が値Ｋ２ｍ以上かどうかを判定し（＃４０４）、値Ｋ２ｍ以上ならばＲＡＭ１０ｂ中の無限遠フラグＦｉをセットし（＃４０５）、このサブルーチンを抜ける。値Ｋ２が値Ｋ２ｍより小さいと、ＣＰＵ１０は投光回路２０を駆動し、投光を開始する（＃４０６）。投光開始に伴う各アンプの立ち上り時間の確保と電源変動の影響とを軽減するため、時間Ｔ１だけ待機した後（＃４０７）、スイッチ７とスイッチ７３をオンして積分動作を開始し（＃４０８）、時間Ｔ２だけ待機する（＃４０９）。この間積分コンデンサ８３には電荷が貯えられる。時間Ｔ２だけ経過すると投光回路２０の動作を止めて投光動作を終了し、スイッチ７とスイッチ７３をオフして、積分動作を終了する（＃４１０）。それから時間Ｔ３だけ待機し（＃４１１）、カウントアップ信号ＣＵを発生してカウント値Ｋ２に１を加算し（＃４１２）、積分電圧ＶｉｎｔをＡ／Ｄ変換器１４に出力する。Ａ／Ｄ変換器１４はその電圧をＡ／Ｄ変換してＣＰＵ１０に出力する。ＣＰＵ１０は積分電圧Ｖｉｎｔを電圧Ｖ２と比較し（＃４１３）、積分電圧Ｖｉｎｔが電圧Ｖ２よりも小さい場合には＃４０４にジャンプして投光動作を繰り返す。積分電圧Ｖｉｎｔが電圧Ｖ２よりも大きい場合にはカウント値Ｋ２から値Ｎ２を算出してＲＡＭ１０ｂに記憶し（＃４１４）、このサブルーチンを抜ける。以上の動作により、被写体までの距離が測定される。
【００４２】
なお本実施例では電流電圧変換回路と後段の増幅回路のゲインを決定した後に単位投光時間あたりのドリフト電圧を求めているが、単位投光時間あたりのドリフト電圧を求めた後に電流電圧変換回路と後段の増幅回路のゲインを決定してもよい。
【００４３】
なお本実施例では実際のドリフト電圧量に関わらずバイアス電流を加算しているが、バイアス電流を加算しない状態でのドリフト電圧量を測定し、ドリフト電圧が正の場合はバイアス電流を加算しない、そしてドリフト電圧が負の場合にそのドリフト電圧に対応したバイアス電流量を加算するという制御を行なってもよい。
【００４４】
この場合の動作を示すフローチャートを図１３に示す。回路構成は図１と同様であるため省略する。
【００４５】
図１３に示すＶｂの決定のサブルーチンは、先の実施例の図８のメインフローチャートの＃００６に置換されるべきフローチャートである。＃００４で至近フラグＦｃがセットされていない場合に、図１３のルーチンが実行される。
【００４６】
図１３のＶｂの決定のサブルーチンがコールされると、ＣＰＵ１０はスイッチ８４をオンし、積分コンデンサ８３にたまっている電荷を放電させる。十分に電荷を放電した後、スイッチ８４をオフする（＃５０１）。次にＣＰＵ１０はスイッチ４を遠側電流電圧変換回路３０側にオンする（＃５０２）。それから時間Ｔ４だけ待機すると（＃５０３）、スイッチ７とスイッチ７３とをオンし、投光回路２０は駆動しないで積分動作を開始し（＃５０４）、時間Ｔ５だけ待機する（＃５０５）。この間積分コンデンサ８３には電荷が蓄えられる。時間Ｔ５だけ経過するとスイッチ７とスイッチ７３とオフし、積分動作を終了する（＃５０６）。
【００４７】
そして、Ａ／Ｄ変換器１４から出力された積分電圧ＶｉｎｔをＣＰＵ１０が読みとる。ＣＰＵ１０は積分電圧Ｖｉｎｔが０以上か０未満かを判断し（＃５０７）、０以上の場合はバイアス禁止フラグＦｂをセットしてこのサブルーチンを抜け、メインルーチンに戻る。Ｖｉｎｔが０未満の場合は、バイアス禁止フラグＦｂをリセットし（＃５０９）、オフセット電圧Ｖｏｆｆを正にするようなＶｂの値を決定し、可変抵抗７２をその値に応じて調節する。
【００４８】
この後、先の実施例と同様にＮ１とＮ２とを求めるのであるが、バイアス禁止フラグＦｂがセットされている場合はスイッチ７３の開閉は行わない。すなわち、＃３０８と＃３１０、＃４０８と＃４１０においてスイッチ７３は開閉せず、スイッチ７のみが開閉する。同様に＃３１４においてＮ１、＃４１４においてＮ２を算出しているが、バイアス電流が加算されていないため、Ｎ１にはＫ１、Ｎ２にはＫ２がそれぞれ直接代入される。
【００４９】
以上の動作により、先の実施例と同様にＮ１とＮ２とが求められる。
【００５０】
【発明の効果】
以上に述べたように、本発明では、増幅手段のドリフト電圧にバイアス電流により発生するバイアス電圧を加算した合算電圧とその増幅手段で増幅された受光手段の出力とに応じて被写体までの距離を演算するので、測距時間を短縮するとともに、被写体を測距し得る距離が短くなるのを防いでいる。
【００５１】
そして、バイアス電流を変更可能にすれば、必要以上にバイアスされるのを防止できるので、所望の上記合算電圧を得ることができ、精度の高い測距結果を得られる。
【００５２】
さらに、ドリフト電圧が正電圧の場合にバイアス電流の加算を禁止するようにすれば、さらに精度の高い測距結果が得られるとともに、不要なバイアス電流を解消できるので省電力化が図れる。
【図面の簡単な説明】
【図１】図１は本発明の実施例の構成を示す図。
【図２】図２は本発明の実施例の積分動作を説明する図。
【図３】図３は本発明の実施例の増幅回路５０と増幅回路６０のゲイン決定法を説明する図。
【図４】図４は本発明の実施例の測距時の一連の動作をを説明する図。
【図５】図５は本発明の実施例のバイアス電圧Ｖｂの測定動作を説明する図。
【図６】図６は本発明の実施例の値Ｎ１、Ｎ２の算出方法を説明する図。
【図７】図７は本発明の実施例の値Ｘから距離Ｄを求めるＲＯＭ１０ａ上のテーブル。
【図８】図８は本発明の実施例の動作を示すフローチャート。
【図９】図９は図８のフローチャートの増幅回路５０および増幅回路６０のゲイン決定の部分のサブルーチンを示すフローチャート。
【図１０】図１０は図８のフローチャートのバイアス電圧Ｖｂの決定の部分のサブルーチンを示すフローチャート。
【図１１】図１１は図８のフローチャートの遠側電流電圧変換回路３０による測距の部分のサブルーチンを示すフローチャート。
【図１２】図１２は図８のフローチャートの近側電流電圧変換回路４０による測距の部分のサブルーチンを示すフローチャート。
【図１３】図１３は本発明の他の実施例のバイアス電圧Ｖｂの決定の部分のサブルーチンを示すフローチャート。
【符号の説明】
２０  投光回路
ＰＳＤ３、３０、４０  受光回路
３０  投光回路
４０  投光回路
４  スイッチ
Ｋ１、Ｋ２  カウント手段
５０、６０  増幅回路
７０  バイアス回路
８０  積分回路
１０  ＣＰＵ
【図１】
0003579524.tif 000002
【図２】
0003579524.tif 000003
【図３】
0003579524.tif 000004
【図４】
0003579524.tif 000005
【図５】
0003579524.tif 000006
【図６】
0003579524.tif 000007
【図７】
0003579524.tif 000008
【図８】
0003579524.tif 000009
【図９】
0003579524.tif 000010
【図１０】
0003579524.tif 000011
【図１１】
0003579524.tif 000012
【図１２】
0003579524.tif 000013
【図１３】
0003579524.tif 000014