(57)【特許請求の範囲】
【請求項１】
一対のセンサ電極（３３，３４）間に固体電解質体（３２）が配置されたセンサ素子（３１）により被検出ガスに含まれる所定成分の濃度を検出するガスセンサ（２１）を備えたガスセンサ制御装置において、
前記センサ電極（３３，３４）間に定電流を流して前記ガスセンサ（２１）の出力特性を変更する定電流供給手段（２７）と、
前記センサ電極（３３，３４）間に流れる電流値が切り換わったときに、その切り換え前後の前記ガスセンサ（２１）の出力に基づいて、前記センサ電極（３３，３４）間に前記定電流を流す定電流供給時の前記ガスセンサ（２１）の出力電圧変動分又はこれと相関関係を有する情報（以下これらを「出力電圧変動情報」と総称する）を演算する出力電圧変動情報演算手段（２５）と
を備えていることを特徴とするガスセンサ制御装置。
【請求項２】
所定の電流切換許可条件が成立しているか否かを判定する判定手段（２５）を備え、
前記出力電圧変動情報演算手段（２５）は、前記判定手段（２５）により前記電流切換許可条件が成立していると判定されたときに前記センサ電極（３３，３４）間に流れる電流値を切り換えて前記出力電圧変動情報の演算を実行することを特徴とする請求項１に記載のガスセンサ制御装置。
【請求項３】
前記ガスセンサ（２１）は、内燃機関（１１）の排出ガスの空燃比のリッチ／リーンを検出するセンサであることを特徴とする請求項２に記載のガスセンサ制御装置。
【請求項４】
前記判定手段（２５）は、前記ガスセンサ（２１）の出力がリッチ側又はリーン側で安定しているときに前記電流切換許可条件が成立していると判定することを特徴とする請求項３に記載のガスセンサ制御装置。
【請求項５】
前記判定手段（２５）は、前記内燃機関（１１）の燃料噴射を停止する燃料カット中に前記電流切換許可条件が成立していると判定することを特徴とする請求項３に記載のガスセンサ制御装置。
【請求項６】
前記判定手段（２５）は、前記内燃機関（１１）の停止後に前記電流切換許可条件が成立していると判定することを特徴とする請求項３に記載のガスセンサ制御装置。
【請求項７】
前記判定手段（２５）は、前記内燃機関（１１）の燃料噴射量を増量する燃料増量制御中に前記電流切換許可条件が成立していると判定することを特徴とする請求項３に記載のガスセンサ制御装置。
【請求項８】
前記出力電圧変動情報演算手段（２５）は、前記センサ電極（３３，３４）間に流れる電流値を切り換える際に、その切り換え前後の電流値のうちの一方を０にすることを特徴とする請求項１乃至７のいずれかに記載のガスセンサ制御装置。
【請求項９】
前記出力電圧変動情報に基づいて前記定電流供給手段（２７）の異常の有無を判定する異常診断を行う異常診断手段（２５）を備えていることを特徴とする請求項１乃至８のいずれかに記載のガスセンサ制御装置。
【請求項１０】
請求項１乃至９のいずれかに記載のガスセンサ制御装置と、前記ガスセンサ（２１）の出力に基づいて内燃機関（１１）の制御を実行する制御手段（２５）とを備えた内燃機関の制御装置において、
前記定電流供給時に前記出力電圧変動情報に基づいて前記ガスセンサ（２１）の出力を補正するセンサ出力補正手段（２５）を備え、
前記制御手段（２５）は、前記センサ出力補正手段（２５）による補正後の前記ガスセンサ（２１）の出力を用いて前記制御を行うことを特徴とする内燃機関の制御装置。
【請求項１１】
前記出力電圧変動情報演算手段（２５）は、前記出力電圧変動情報として前記ガスセンサ（２１）の直流抵抗値を演算し、
前記センサ出力補正手段（２５）は、前記定電流供給時の定電流値と前記直流抵抗値から前記出力電圧変動分を求め、該出力電圧変動分を用いて前記ガスセンサ（２１）の出力を補正することを特徴とする請求項１０に記載の内燃機関の制御装置。
【請求項１２】
前記出力電圧変動情報に基づいて前記定電流供給手段（２７）の異常の有無を判定する異常診断手段（２５）と、
前記異常診断手段（２５）により前記定電流供給手段（２７）の異常有りと判定された場合に、前記センサ出力補正手段（２５）による前記ガスセンサ（２１）の出力の補正を禁止する禁止手段（２５）と
を備えていることを特徴とする請求項１０又は１１に記載の内燃機関の制御装置。
【請求項１３】
請求項１乃至９のいずれかに記載のガスセンサ制御装置と、前記ガスセンサ（２１）の出力に基づいて内燃機関（１１）の空燃比制御を実行する制御手段（２５）とを備えた内燃機関の制御装置において、
前記定電流供給時に前記出力電圧変動情報に基づいて前記空燃比制御の目標値を補正する目標値補正手段（２５）を備え、
前記制御手段（２５）は、前記目標値補正手段（２５）による補正後の前記目標値を用いて前記空燃比制御を行うことを特徴とする内燃機関の制御装置。
【請求項１４】
前記出力電圧変動情報演算手段（２５）は、前記出力電圧変動情報として前記ガスセンサ（２１）の直流抵抗値を演算し、
前記目標値補正手段（２５）は、前記定電流供給時の定電流値と前記直流抵抗値から前記出力電圧変動分を求め、該出力電圧変動分を用いて前記目標値を補正することを特徴とする請求項１３に記載の内燃機関の制御装置。
【請求項１５】
前記出力電圧変動情報に基づいて前記定電流供給手段（２７）の異常の有無を判定する異常診断手段（２５）と、
前記異常診断手段（２５）により前記定電流供給手段（２７）の異常有りと判定された場合に、前記目標値補正手段（２５）による前記目標値の補正を禁止する禁止手段（２５）と
を備えていることを特徴とする請求項１３又は１４に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被検出ガスに含まれる所定成分の濃度を検出するガスセンサを備えたガスセンサ制御装置及び内燃機関の制御装置に関する発明である。
【背景技術】
【０００２】
近年、エンジン（内燃機関）を搭載した車両では、排気管に排出ガス浄化用の触媒を設置すると共に、この触媒の上流側に又は触媒の上流側と下流側の両方に、排出ガスの空燃比又はリッチ／リーンを検出する排出ガスセンサ（空燃比センサ又は酸素センサ）を設置し、排出ガスセンサの出力に基づいて空燃比をフィードバック制御して触媒の排出ガス浄化率を高めるようにしたものがある。
【０００３】
ところで、酸素センサ等の排出ガスセンサは、排出ガスの空燃比がリッチ／リーンで変化する際に、実際の空燃比の変化に対してセンサ出力の変化に遅れが生じるのが実状であり、検出応答性の点で改善の余地が残されている。
【０００４】
そこで、例えば、特許文献１（特公平８−２０４１４号公報）に記載されているように、酸素センサ等のガスセンサの内部に、少なくとも１つの補助電気化学電池を組み込み、この補助電気化学電池をガスセンサの一方の電極に接続して、補助電気化学電池に印加電流を与えてイオンポンピングを行うことで、印加電流に応じてガスセンサの出力特性を変化させて検出応答性を高めることができるようにしたものがある。
【０００５】
また、特許文献２（特開昭５９−２１５９３５号公報）、特許文献３（特開昭５９−２２６２５１号公報）、特許文献４（特開昭６０−９８１４１号公報）に記載されているように、基準電極と測定電極との間に固体電解質層を配置したセンサ素子を有するガスセンサ（酸素センサ）において、電流供給部により基準電極から測定電極に向けて電流を流すことで、ガスセンサの出力特性線をリーン方向にシフトさせるようにしたものがある。
【０００６】
このように、ガスセンサの電極間に電流を流して出力特性を変化させるシステムでは、電極間に電流を流す電流供給時に、ガスセンサの内部抵抗によってガスセンサの出力に電圧変動（電圧降下又は電圧上昇）が生じるため、内部抵抗による出力電圧変動の影響を考慮しないと、ガスセンサの出力に基づいた制御を精度良く行うことができなくなる可能性がある。例えば、ガスセンサの出力に基づいて空燃比フィードバック制御を行うシステムでは、空燃比の制御精度が低下して排気エミッションが悪化するという不具合が生じる可能性がある。
【０００７】
この対策として、上記特許文献２では、ガスセンサの電極間に流れる電流Ｉs に比例した電圧Ｖi に定数Ｋを乗算して内部抵抗による出力電圧変動分（Ｋ×Ｖi ）を求め、この出力電圧変動分（Ｋ×Ｖi ）を用いてガスセンサの出力を補正するようにしている。
【０００８】
また、上記特許文献３では、ガスセンサの電極間に流れる電流Ｉs に比例した電圧Ｖi に定数Ｋを乗算して内部抵抗による出力電圧変動分（Ｋ×Ｖi ）を求め、この出力電圧変動分（Ｋ×Ｖi ）を用いて空燃比制御の比較基準値（目標空燃比に相当する値）を補正するようにしている。
【０００９】
更に、上記特許文献４では、ガスセンサの電極間に電流Ｉs を供給すると共に所定周波数の矩形波電流Ｉf （交流電流）を供給し、ガスセンサの出力からバンドパスフィルタにより所定周波数成分を抽出して、この所定周波数成分の振幅ΔＶ（内部抵抗に相当する値）と、電流Ｉs に比例した電圧Ｖi とに基づいて内部抵抗による出力電圧変動分Ｖc （＝Ｇ×Ｖi ×ΔＶ）を求め、この出力電圧変動分Ｖc を用いて空燃比制御の比較基準値（目標空燃比に相当する値）を補正するようにしている。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特公平８−２０４１４号公報
【特許文献２】特開昭５９−２１５９３５号公報
【特許文献３】特開昭５９−２２６２５１号公報
【特許文献４】特開昭６０−９８１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記特許文献１の技術では、ガスセンサの内部に補助電気化学電池を組み込む必要があるため、補助電気化学電池を備えていない一般的なガスセンサに対してセンサ構造を大きく変更する必要があり、実用化にあたっては、ガスセンサの設計変更が強いられたり、ガスセンサの製造コストが高くなる等の不都合が生じる。
【００１２】
また、ガスセンサの内部抵抗は、ガスセンサの個体差（製造ばらつき）、経時劣化、温度等によって変化するため、それに伴ってガスセンサの内部抵抗による出力電圧変動分も変化する。しかし、上記特許文献２，３の技術では、いずれもガスセンサの個体差、経時劣化、温度等による内部抵抗の変化が考慮されておらず、単にガスセンサの電極間に流れる電流Ｉs に比例した電圧Ｖi に定数Ｋを乗算して内部抵抗による出力電圧変動分を求めるだけであるため、ガスセンサの内部抵抗による出力電圧変動分を精度良く求めることができず、ガスセンサの出力に基づいた制御（例えば空燃比制御）を精度良く行うことができない可能性がある。
【００１３】
また、上記特許文献４の技術では、ガスセンサの電極間に所定周波数の矩形波電流Ｉf （交流電流）を供給し、ガスセンサの出力からバンドパスフィルタにより抽出した所定周波数成分の振幅ΔＶを内部抵抗の情報として用いて、内部抵抗による出力電圧変動分を求めるようにしているが、その際、交流電流を供給して内部抵抗の情報を求めるため、ガスセンサの内部抵抗（直流抵抗）だけでなく静電容量の影響も受けてしまう。このため、ガスセンサの内部抵抗による出力電圧変動分を精度良く求めることができず、ガスセンサの出力に基づいた制御（例えば空燃比制御）を精度良く行うことができない可能性がある。しかも、交流電流を供給する回路やバンドパスフィル等を設ける必要があるため、回路構成が複雑になるという欠点もある。
【００１４】
そこで、本発明が解決しようとする課題は、ガスセンサの大幅な設計変更やコストアップを招くことなくガスセンサの出力特性を変更可能にすると共に、電流供給時のガスセンサの内部抵抗による出力電圧変動に起因する不具合の発生を防止できるようにすることにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するために、請求項１に係る発明は、一対のセンサ電極（３３，３４）間に固体電解質体（３２）が配置されたセンサ素子（１１）により被検出ガスに含まれる所定成分の濃度を検出するガスセンサ（２１）を備えたガスセンサ制御装置において、センサ電極（３３，３４）間に定電流を流してガスセンサ（２１）の出力特性を変更する定電流供給手段（２７）と、センサ電極（３３，３４）間に流れる電流値が切り換わったときに、その切り換え前後のガスセンサ（２１）の出力に基づいて、センサ電極（３３，３４）間に定電流を流す定電流供給時のガスセンサ（２１）の出力電圧変動分又はこれと相関関係を有する情報（以下これらを「出力電圧変動情報」と総称する）を演算する出力電圧変動情報演算手段（２５）とを備えた構成としたものである。
【００１６】
この構成では、定電流供給手段によりセンサ電極間に定電流を流すことでガスセンサの出力特性を変更することができる。この場合、ガスセンサの内部に補助電気化学電池等を組み込む必要がないため、ガスセンサの大幅な設計変更やコストアップを招くことなくガスセンサの出力特性を変化させることができる。
【００１７】
また、センサ電極間に流れる電流値の切り換え前後のガスセンサの出力に基づいて、定電流供給時のガスセンサの出力電圧変動情報（内部抵抗による出力電圧変動分又はこれと相関関係を有する情報）を出力電圧変動情報演算手段により演算することができるため、出力電圧変動情報を考慮に入れてガスセンサの出力に基づいた制御を行うことができ、定電流供給時のガスセンサの内部抵抗による出力電圧変動に起因する不具合の発生を防止することができる。
【００１８】
更に、センサ電極間に流れる電流値が切り換わったときに、その切り換え前後のガスセンサの出力に基づいて出力電圧変動情報を演算するため、ガスセンサの個体差（製造ばらつき）、経時劣化、温度等によって内部抵抗が変化して、内部抵抗による出力電圧変動分が変化していても、そのときの内部抵抗に対応した出力電圧変動情報を精度良く求めることができる。
【００１９】
また、交流電流を供給するのではなく、センサ電極間に流れる定電流（直流電流）の電流値の切り換え前後のガスセンサの出力に基づいて出力電圧変動情報を演算するため、ガスセンサの静電容量の影響を受けずに、内部抵抗に対応した出力電圧変動情報を精度良く求めることができると共に、交流電流を供給する回路やバンドパスフィルタ等を設ける必要がなく、回路構成を簡素化することができる。
【００２０】
この場合、請求項２のように、所定の電流切換許可条件が成立しているか否かを判定する判定手段（２５）を備え、電流切換許可条件が成立していると判定されたときにセンサ電極（３３，３４）間に流れる電流値を切り換えて出力電圧変動情報の演算を実行するようにすると良い。このようにすれば、電流切換許可条件が成立して出力電圧変動情報の演算に適した状態（例えばガスセンサの出力が安定した状態）になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができ、出力電圧変動情報の演算精度を向上させることができる。
【００２１】
本発明は、請求項３のように、ガスセンサ（２１）として、内燃機関（１１）の排出ガスの空燃比のリッチ／リーンを検出するセンサを備えたシステムに適用しても良い。
【００２２】
この場合、請求項４のように、ガスセンサ（２１）の出力がリッチ側又はリーン側で安定しているときに電流切換許可条件が成立していると判定するようにすると良い。このようにすれば、ガスセンサの出力がリッチ側又はリーン側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができる。
【００２３】
具体的には、請求項５のように、内燃機関（１１）の燃料噴射を停止する燃料カット中に電流切換許可条件が成立していると判定するようにしても良い。燃料カット中は、排気管内にリーンガスが流れて排気管内がリーン状態になるため、燃料カット中に電流切換許可条件が成立していると判定するようにすれば、燃料カット中でガスセンサの出力がリーン側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができる。
【００２４】
また、請求項６のように、内燃機関（１１）の停止後に電流切換許可条件が成立していると判定するようにしても良い。内燃機関の停止後は、排気管内が大気とほぼ同じ状態（リーン状態）になるため、内燃機関の停止後に電流切換許可条件が成立していると判定するようにすれば、内燃機関の停止後でガスセンサの出力がリーン側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができる。
【００２５】
更に、請求項７のように、内燃機関（１１）の燃料噴射量を増量する燃料増量制御中に電流切換許可条件が成立していると判定するようにしても良い。燃料増量制御中は、排気管内にリッチガスが流れて排気管内がリッチ状態になるため、燃料増量制御中に電流切換許可条件が成立していると判定するようにすれば、燃料増量制御中でガスセンサの出力がリッチ側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができる。
【００２６】
センサ電極間に流れる電流値が０のときに、ガスセンサの出力に含まれる誤差が小さくなるため、請求項８のように、センサ電極（３３，３４）間に流れる電流値を切り換える際に、その切り換え前後の電流値のうちの一方を０にするようにしても良い。このようにすれば、ガスセンサの出力に基づいた出力電圧変動情報の演算精度を更に向上させることができる。
【００２７】
ところで、センサ電極間に定電流を流す定電流供給手段の異常（例えば故障等）が発生すると、ガスセンサの出力特性を適正に変更することができず、ガスセンサの出力に基づいた制御（例えば空燃比フィードバック制御等）を適正に行うことができなくなるため、定電流供給手段の異常が発生した場合には、その異常を早期に検出する必要がある。
【００２８】
そこで、請求項９のように、出力電圧変動情報に基づいて定電流供給手段（２７）の異常の有無を判定する異常診断を行う異常診断手段（２５）を備えるようにしても良い。定電流供給手段の異常（例えば故障等）が発生すると、センサ電極間に流れる電流値が切り換わったときのガスセンサの出力の挙動が正常時とは異なってくるため、センサ電極間に流れる電流値の切り換え前後におけるガスセンサの出力に基づいて算出した出力電圧変動情報を用いて定電流供給手段の異常の有無を判定する異常診断を行うことで、定電流供給手段の異常の有無を精度良く判定することができ、定電流供給手段の異常が発生した場合に、その異常を早期に検出することができる。
【００２９】
また、請求項１０のように、請求項１乃至９のいずれかに記載のガスセンサ制御装置と、ガスセンサ（２１）の出力に基づいて内燃機関（１１）の制御を実行する制御手段（２５）とを備えた内燃機関の制御装置において、定電流供給時に出力電圧変動情報に基づいてガスセンサ（２１）の出力を補正するセンサ出力補正手段（２５）を備え、このセンサ出力補正手段（２５）による補正後のガスセンサ（２１）の出力を用いて前記制御を行うようにしても良い。このようにすれば、定電流供給時に、ガスセンサの内部抵抗による出力電圧変動の影響を受けずに、ガスセンサの出力に基づいた制御を精度良く行うことができる。
【００３０】
この場合、請求項１１のように、出力電圧変動情報としてガスセンサ（２１）の直流抵抗値を演算し、定電流供給時の定電流値と直流抵抗値から出力電圧変動分を求め、該出力電圧変動分を用いてガスセンサ（２１）の出力を補正するようにすると良い。このようにすれば、例えば内燃機関の運転状態等に応じて定電流供給時の定電流値を変化させる場合でも、定電流供給時の定電流値と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を精度良く求めて、この出力電圧変動分を用いてガスセンサの出力を精度良く補正することができる。
【００３１】
更に、請求項１２のように、異常診断手段（２５）により定電流供給手段（２７）の異常有りと判定された場合に、センサ出力補正手段（２５）によるガスセンサ（２１）の出力の補正を禁止する禁止手段（２５）を備えるようにしても良い。このようにすれば、定電流供給手段の異常によって正常範囲から外れた出力電圧変動情報に基づいてガスセンサの出力を補正してしまうことを防止することができる。
【００３２】
また、請求項１３のように、請求項１乃至９のいずれかに記載のガスセンサ制御装置と、ガスセンサ（２１）の出力に基づいて内燃機関（１１）の空燃比制御を実行する制御手段（２５）とを備えた内燃機関の制御装置において、定電流供給時に出力電圧変動情報に基づいて空燃比制御の目標値を補正する目標値補正手段（２５）を備え、この目標値補正手段（２５）による補正後の目標値を用いて空燃比制御を行うようにしても良い。このようにすれば、定電流供給時に、ガスセンサの内部抵抗による出力電圧変動の影響を受けずに、ガスセンサの出力に基づいた空燃比制御を精度良く行うことができる。
【００３３】
この場合、請求項１４のように、出力電圧変動情報としてガスセンサ（２１）の直流抵抗値を演算し、定電流供給時の定電流値と直流抵抗値から出力電圧変動分を求め、該出力電圧変動分を用いて目標値を補正するようにすると良い。このようにすれば、例えば内燃機関の運転状態等に応じて定電流供給時の定電流値を変化させる場合でも、定電流供給時の定電流値と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を精度良く求めて、この出力電圧変動分を用いて空燃比制御の目標値を精度良く補正することができる。
【００３４】
更に、請求項１５のように、異常診断手段（２５）により定電流供給手段（２７）の異常有りと判定された場合に、目標値補正手段（２５）による目標値の補正を禁止する禁止手段（２５）を備えるようにしても良い。このようにすれば、定電流供給手段の異常によって正常範囲から外れた出力電圧変動情報に基づいて空燃比制御の目標値を補正してしまうことを防止することができる。
【図面の簡単な説明】
【００３５】
【図１】図１は本発明の実施例１におけるエンジン制御システムの概略構成を示す図である。
【図２】図２はセンサ素子の断面構成を示す断面図である。
【図３】図３は排出ガスの空燃比（空気過剰率λ）とセンサ素子の起電力との関係を示す起電力特性図である。
【図４】図４はセンサ素子周辺のガス成分の状態を示す概略図である。
【図５】図５はセンサ出力の挙動を説明するタイムチャートである。
【図６】図６はセンサ素子周辺のガス成分の状態を示す概略図である。
【図７】図７はリーン応答性／リッチ応答性を高める場合における酸素センサの出力特性図である。
【図８】図８は実施例１のセンサ応答性制御ルーチンの処理の流れを示すフローチャートである。
【図９】図９は実施例１の電流切換許可判定ルーチンの処理の流れを示すフローチャートである。
【図１０】図１０は実施例１の直流抵抗値演算ルーチンの処理の流れを示すフローチャートである。
【図１１】図１１は実施例１のセンサ出力補正ルーチンの処理の流れを示すフローチャートである。
【図１２】図１２は実施例２の目標電圧補正ルーチンの処理の流れを示すフローチャートである。
【図１３】図１３は実施例３の異常診断許可判定の実行例を説明するタイムチャートである。
【図１４】図１４は実施例３の異常診断の実行例を説明するタイムチャートである。
【図１５】図１５は実施例３の異常診断許可判定ルーチンの処理の流れを示すフローチャートである。
【図１６】図１６は実施例３の異常診断ルーチンの処理の流れを示すフローチャートである。
【図１７】図１７は実施例４の異常診断許可判定ルーチンの処理の流れを示すフローチャートである。
【図１８】図１８は実施例５の異常診断許可判定ルーチンの処理の流れを示すフローチャートである。
【図１９】図１９は実施例６の異常診断及びセンサ出力補正の実行例を説明するタイムチャートである。
【図２０】図２０は実施例６の異常診断及びセンサ出力補正ルーチンの処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００３７】
本発明の実施例１を図１乃至図１１に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
【００３８】
内燃機関であるエンジン１１の吸気管１２には、モータ等によって開度調節されるスロットルバルブ１３と、このスロットルバルブ１３の開度（スロットル開度）を検出するスロットル開度センサ１４とが設けられている。また、エンジン１１の各気筒毎に、それぞれ筒内噴射又は吸気ポート噴射を行う燃料噴射弁１５が取り付けられ、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ１６が取り付けられている。各点火プラグ１６の火花放電によって筒内の混合気に着火される。
【００３９】
一方、エンジン１１の排気管１７には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の上流側触媒１８と下流側触媒１９が設けられている。更に、上流側触媒１８の上流側には、排出ガスの空燃比に応じたリニアな空燃比信号を出力する空燃比センサ２０が上流側ガスセンサとして設けられ、上流側触媒１８の下流側（上流側触媒１８と下流側触媒１９との間）には、排出ガスの空燃比が理論空燃比（ストイキ）に対してリッチかリーンかによって出力電圧が反転する酸素センサ２１（Ｏ2 センサ）が下流側ガスセンサとして設けられている。
【００４０】
また、本システムには、エンジン１１のクランク軸（図示せず）が所定クランク角回転する毎にパルス信号を出力するクランク角センサ２２や、エンジン１１の吸入空気量を検出する空気量センサ２３や、エンジン１１の冷却水温を検出する冷却水温センサ２４等の各種のセンサが設けられている。クランク角センサ２２の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００４１】
これら各種センサの出力は、電子制御ユニット（以下「ＥＣＵ」と表記する）２５に入力される。このＥＣＵ２５は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御用のプログラムを実行することで、エンジン運転状態に応じて、燃料噴射量、点火時期、スロットル開度（吸入空気量）等を制御する制御手段として機能する。
【００４２】
その際、ＥＣＵ２５は、所定の空燃比Ｆ／Ｂ制御実行条件が成立したときに、空燃比センサ２０（上流側ガスセンサ）の出力（検出空燃比）と上流側の目標空燃比とに基づいて上流側触媒１８の上流側の排出ガスの空燃比が目標空燃比になるように空燃比（燃料噴射量）をＦ／Ｂ補正するメインＦ／Ｂ制御を行うと共に、酸素センサ２１（下流側ガスセンサ）の出力と目標電圧（目標値）とに基づいて、上流側触媒１８の上流側の目標空燃比を補正したり、或は、メインＦ／Ｂ制御のＦ／Ｂ補正量又は燃料噴射量を修正するサブＦ／Ｂ制御を行う。ここで、「Ｆ／Ｂ」は「フィードバック」を意味する（以下、同様）。
【００４３】
次に、図２に基づいて酸素センサ２１の構成を説明する。
酸素センサ２１は、コップ型構造のセンサ素子３１を有しており、実際には当該センサ素子３１は素子全体が図示しないハウジングや素子カバー内に収容される構成となっており、エンジン１１の排気管１７内に配設されている。
【００４４】
センサ素子３１において、固体電解質層３２（固体電解質体）は、断面コップ状に形成されており、その外表面には排気側電極層３３が設けられ、内表面には大気側電極層３４が設けられている。固体電解質層３２は、ＺｒＯ2 、ＨｆＯ2 、ＴｈＯ2 、Ｂｉ2 Ｏ3 等にＣａＯ、ＭｇＯ、Ｙ2 Ｏ3 、Ｙｂ2 Ｏ3 等を安定剤として固溶させた酸素イオン伝導性酸化物焼結体からなる。また、各電極層３３，３４は共に白金等の触媒活性の高い貴金属からなり、その表面には多孔質の化学メッキ等が施されている。これらの電極層３３，３４が一対の対向電極（センサ電極）となっている。固体電解質層３２にて囲まれる内部空間は大気室３５となっており、その大気室３５内にはヒータ３６が収容されている。このヒータ３６は、センサ素子３１を活性化するのに十分な発熱容量を有しており、その発熱エネルギによりセンサ素子３１全体が加熱される。酸素センサ２１の活性温度は、例えば３５０〜４００℃程度である。尚、大気室３５は、大気が導入されることでその内部が所定酸素濃度に保持されている。
【００４５】
センサ素子３１では、固体電解質層３２の外側（電極層３３側）が排気雰囲気、固体電解質層３２の内側（電極層３４側）が大気雰囲気となっており、これら双方の酸素濃度の差（酸素分圧の差）に応じて電極層３３，３４間で起電力が発生する。つまり、センサ素子３１では、空燃比がリッチかリーンかで異なる起電力が発生する。これにより、酸素センサ２１は、排出ガスの酸素濃度（すなわち空燃比）に応じた起電力信号を出力する。
【００４６】
図３に示すように、センサ素子３１は、空燃比が理論空燃比（空気過剰率λ＝１）に対してリッチかリーンかで異なる起電力を発生し、理論空燃比（空気過剰率λ＝１）付近で起電力が急変する特性を有する。具体的には、燃料リッチ時のセンサ起電力は約０．９Ｖであり、燃料リーン時のセンサ起電力は約０Ｖである。
【００４７】
図２に示すように、センサ素子３１の排気側電極層３３は接地され、大気側電極層３４にはマイコン２６が接続されている。排出ガスの空燃比（酸素濃度）に応じてセンサ素子３１にて起電力が発生すると、その起電力に相当するセンサ検出信号がマイコン２６に対して出力される。尚、センサ素子３１の起電力に対してマイコン２６に入力されるセンサ検出信号（電圧）をプラス方向にオフセットさせて、後述する定電流供給時（酸素センサ２１の出力特性の変更時）でも、マイコン２６に入力されるセンサ検出信号がプラス値の領域内で変化するようにしても良い。
【００４８】
マイコン２６は、例えばＥＣＵ２５内に設けられており、センサ検出信号に基づいて空燃比を算出する。尚、マイコン２６は、上述した各種センサの検出結果に基づいてエンジン回転速度や吸入空気量を算出するようにしても良い。
【００４９】
ところで、エンジン１１の運転時には、排出ガスの実空燃比が逐次変化し、例えばリッチとリーンとで繰り返し変化することがある。こうした実空燃比の変化に際し、酸素センサ２１の検出応答性が低いと、それに起因してエンジン性能に影響が及ぶことが懸念される。例えば、エンジン１１の高負荷運転時において排出ガス中のＮＯｘ量が意図よりも増えてしまう等が生じる。
【００５０】
実空燃比がリッチとリーンとで変化する際の酸素センサ２１の検出応答性について説明する。エンジン１１から排出される排出ガスにおいて実空燃比（上流側触媒１８の下流側の実空燃比）がリッチ／リーンで変化する際には排出ガスの成分組成が変わる。このとき、その変化の直前における排出ガス成分の残留により、変化後の空燃比に対する酸素センサ２１の出力変化（すなわちセンサ出力の応答性）が遅くなる。具体的には、リッチからリーンへの変化時には、図４（ａ）に示すように、リーン変化直後にリッチ成分であるＨＣ等が排気側電極層３３付近に残留し、このリッチ成分により、センサ電極でのリーン成分（ＮＯｘ等）の反応が妨げられる。その結果、酸素センサ２１としてリーン出力の応答性が低下する。また、リーンからリッチへの変化時には、図４（ｂ）に示すように、リッチ変化直後にリーン成分であるＮＯｘ等が排気側電極層３３付近に残留し、このリーン成分により、センサ電極でのリッチ成分（ＨＣ等）の反応が妨げられる。その結果、酸素センサ２１としてリッチ出力の応答性が低下する。
【００５１】
酸素センサ２１の出力変化を図５のタイムチャートで説明する。図５において、実空燃比がリッチ及びリーンで変化すると、その実空燃比の変化に応じてセンサ出力（酸素センサ２１の出力）がリッチガス検出値（０．９Ｖ）とリーンガス検出値（０Ｖ）とで変化する。但し、この場合、実空燃比の変化に対してセンサ出力は遅れを伴い変化する。図５では、リッチ→リーンの変化時には、実空燃比の変化に対してセンサ出力がＴＤ１の遅れで変化し、リーン→リッチの変化時には、実空燃比の変化に対してセンサ出力がＴＤ２の遅れで変化するようになっている。
【００５２】
そこで、本実施例１では、ＥＣＵ２５（又はマイコン２６）により後述する図８のルーチンを実行することで、空燃比のリーン変化時の検出応答性、及びリッチ変化時の検出応答性の少なくともいずれかについて、酸素センサ２１の検出応答性に関する変更要求の有無を判定すると共に、変更要求が有ると判定された場合に、その変更要求に基づいて定電流制御を実施して、酸素センサ２１の検出応答性を任意に調整する。センサ応答性の制御としては、一対のセンサ電極間（排気側電極層３３と大気側電極層３４との間）に所定方向で電流を流し、それにより酸素センサ２１の検出応答性を可変に制御することとしている。具体的には、図２に示すように、大気側電極層３４に定電流供給手段としての定電流回路２７を接続し、その定電流回路２７による定電流Ｉｃｓの供給をマイコン２６により制御することとしている。この場合、マイコン２６は、一対のセンサ電極間に流れる定電流Ｉｃｓの向きと量とを設定し、その設定した定電流Ｉｃｓが流れるように定電流回路２７を制御する。
【００５３】
詳しくは、定電流回路２７は、大気側電極層３４に対して、正逆両方向いずれかの向きで定電流Ｉｃｓを供給するものであり、更にその定電流量を可変に調整できるものである。つまり、マイコン２６は、ＰＷＭ制御により定電流Ｉｃｓを可変に制御する。この場合、定電流回路２７では、マイコン２６から出力されるデューティ信号に応じて定電流Ｉｃｓが調整され、その電流量調整された定電流Ｉｃｓがセンサ電極間（排気側電極層３３と大気側電極層３４との間）に流れることとなる。
【００５４】
尚、本実施例では、排気側電極層３３→大気側電極層３４の向きに流れる定電流Ｉｃｓを負の定電流（−Ｉｃｓ）、大気側電極層３４→排気側電極層３３の向きに流れる定電流Ｉｃｓを正の定電流（＋Ｉｃｓ）としている。
【００５５】
例えば、リッチからリーンへの変化時の検出応答性（リーン感度）を高める場合には、図６（ａ）に示すように、固体電解質層３２内を通じて大気側電極層３４から排気側電極層３３に酸素が供給されるように定電流Ｉｃｓ（負の定電流Ｉｃｓ）が流される。この場合、大気側から排気側に酸素が供給されることにより、排気側電極層３３の周囲に存在（残留）しているリッチ成分（ＨＣ）について酸化反応が促進され、それに伴いリッチ成分をいち早く除去できる。これにより、排気側電極層３３においてリーン成分（ＮＯｘ）が反応しやすくなり、結果として酸素センサ２１のリーン出力の応答性が向上する。
【００５６】
また、リーンからリッチへの変化時の検出応答性（リッチ感度）を高める場合には、図６（ｂ）に示すように、固体電解質層３２内を通じて排気側電極層３３から大気側電極層３４に酸素が供給されるように定電流Ｉｃｓ（正の定電流Ｉｃｓ）が流される。この場合、排気側から大気側に酸素が供給されることにより、排気側電極層３３の周囲に存在（残留）しているリーン成分（ＮＯｘ）について還元反応が促進され、それに伴いリーン成分をいち早く除去できる。これにより、排気側電極層３３においてリッチ成分（ＨＣ）が反応しやすくなり、結果として酸素センサ２１のリッチ出力の応答性が向上する。
【００５７】
図７は、リーン変化時の検出応答性（リーン感度）を高める場合、及びリッチ変化時の検出応答性（リッチ感度）を高める場合における酸素センサ２１の出力特性（起電力特性）を示す図である。
【００５８】
リーン変化時の検出応答性（リーン感度）を高める場合において、上記のとおり固体電解質層３２内を通じて大気側電極層３４から排気側電極層３３に酸素が供給されるように負の定電流Ｉｃｓが流されると（図６（ａ）参照）、図７の（ａ）に示すように、出力特性線がリッチ側にシフトする（より詳細には、リッチ側かつ起電力減少側にシフトして、酸素センサ２１の出力に電圧降下が生じる）。この場合、実際の空燃比がストイキ近傍のリッチ域にあってもセンサ出力がリーン出力となる。これは、酸素センサ２１の出力特性として、リーン変化時の検出応答性（リーン感度）が高められていることを意味する。
【００５９】
また、リッチ変化時の検出応答性（リッチ感度）を高める場合において、上記のとおり固体電解質層３２内を通じて排気側電極層３３から大気側電極層３４に酸素が供給されるように正の定電流Ｉｃｓが流されると（図６（ｂ）参照）、図７の（ｂ）に示すように、出力特性線がリーン側にシフトする（より詳細には、リーン側かつ起電力増加側にシフトして、酸素センサ２１の出力に電圧上昇が生じる）。この場合、実際の空燃比がストイキ近傍のリーン域にあってもセンサ出力がリッチ出力となる。これは、酸素センサ２１の出力特性として、リッチ変化時の検出応答性（リッチ感度）が高められていることを意味する。
【００６０】
しかし、センサ電極間に定電流を流して酸素センサ２１の出力特性を変更するシステムでは、センサ電極間に定電流を流す定電流供給時に、酸素センサ２１の内部抵抗によって酸素センサ２１の出力に電圧変動（電圧降下又は電圧上昇）が生じる。酸素センサ２１の内部抵抗は、酸素センサ２１の個体差、経時劣化、温度等によって変化するため、それに伴って定電流供給時の酸素センサ２１の内部抵抗による出力電圧変動分も変化する。このため、定電流供給時に酸素センサ２１の内部抵抗による出力電圧変動の影響を受けて、酸素センサ２１の出力に基づいたサブＦ／Ｂ制御を精度良く行うことができなくなる可能性があり、空燃比の制御精度が低下して排気エミッションが悪化するという不具合が生じる可能性がある。
【００６１】
そこで、本実施例１では、ＥＣＵ２５（又はマイコン２６）により後述する図９乃至図１１の各ルーチンを実行することで、センサ電極間に流れる定電流（直流電流）の電流値が切り換わったときに、その切り換え前後の酸素センサ２１の出力に基づいて、定電流供給時の酸素センサ２１の出力電圧変動情報（内部抵抗による出力電圧変動分又はこれと相関関係を有する情報）を演算し、定電流供給時（つまり酸素センサ２１の出力特性の変更時）には、出力電圧変動情報に基づいて酸素センサ２１の出力を補正する。これにより、出力電圧変動情報を考慮に入れて酸素センサ２１の出力に基づいたサブＦ／Ｂ制御を行うことができ、定電流供給時の酸素センサ２１の内部抵抗による出力電圧変動に起因する不具合の発生を防止することができる。
【００６２】
具体的には、エンジン１１の燃料噴射を停止する燃料カット中に酸素センサ２１の出力が所定値（例えば大気状態に相当する値）以下に低下したか否かによって、電流切換許可条件が成立しているか否かを判定し、燃料カット中に酸素センサ２１の出力が所定値以下に低下した時点で、電流切換許可条件が成立していると判定して、電流切換許可フラグを電流切換の許可を意味するオン（許可状態）にセットする。
【００６３】
電流切換許可フラグがオン（許可状態）にセットされた場合（つまり電流切換許可条件が成立していると判定された場合）には、センサ電極間に流れる定電流（直流電流）の電流値をＩ1 からＩ2 に切り換え、その切り換え前後の酸素センサ２１の出力の差（Ｖ2 −Ｖ1 ）と電流値の差（Ｉ2 −Ｉ1 ）から酸素センサ２１の直流抵抗値（内部抵抗値）を出力電圧変動情報として演算する。
【００６４】
そして、センサ電極間に定電流を流す定電流供給時（つまり酸素センサ２１の出力特性の変更時）には、そのときの定電流値と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を求め、この出力電圧変動分を用いて酸素センサ２１の出力を補正する。ＥＣＵ２５は、この補正後の酸素センサ２１の出力を用いてサブＦ／Ｂ制御を行う。
以下、本実施例１でＥＣＵ２５（又はマイコン２６）が実行する図８乃至図１１の各ルーチンの処理内容を説明する。
【００６５】
［センサ応答性制御ルーチン］
図８に示すセンサ応答性制御ルーチンは、ＥＣＵ２５の電源オン期間中に所定周期で繰り返し実行される。本ルーチンでは、ステップ１０１〜１０３で、酸素センサ２１の検出応答性を変更するための変更要求の有無を判定し、ステップ１０４〜１０７で、変更要求の判定結果に基づいて定電流制御を実施して、酸素センサ２１の検出応答性を変更する。
【００６６】
本ルーチンが起動されると、まず、ステップ１０１で、エンジン１１が始動時等の冷間状態にあるか否かを、例えば、次の(1) 〜(3) の条件のうちのいずれか１つを満たすか否かによって判定する。
【００６７】
(1) エンジン１１の冷却水温が所定温度以下であること
(2) エンジン１１の油温（潤滑油の温度）が所定温度以下であること
(3) 燃料経路内の燃料温度が所定温度以下であること
【００６８】
このステップ１０１で、エンジン１１が冷間状態にあると判定された場合には、リッチ応答性（リッチ変化時の検出応答性）を高める変更要求が有ると判定する。この場合、ステップ１０４に進み、リッチ応答性を高める変更要求に基づいて定電流Ｉｃｓの供給を制御する。具体的には、定電流回路２７の定電流として「正の定電流Ｉｃｓ」を設定する。このとき、マイコン２６により定電流回路２７が制御され、排気側電極層３３から大気側電極層３４に酸素が供給される向きで定電流Ｉｃｓ（正の定電流Ｉｃｓ）が流れることとなる。これにより、エンジン１１が冷間状態にある場合において酸素センサ２１のリッチ応答性が高められる。尚、定電流量は予め定められた所定値であると良い。
【００６９】
一方、上記ステップ１０１で、エンジン１１が冷間状態にないと判定された場合には、ステップ１０２に進み、エンジン１１が高負荷運転状態になっているか否かを、例えば、次の(4) 〜(6) の条件のうちのいずれか１つを満たすか否かによって判定する。
【００７０】
(4) 気筒内への充填空気量が所定量以上であること
(5) 気筒内での燃焼圧が所定値以上であること
(6) アクセル開度が所定値以上であること
【００７１】
このステップ１０２で、エンジン１１が高負荷運転状態になっていると判定された場合には、リーン応答性（リーン変化時の検出応答性）を高める変更要求が有ると判定する。この場合、ステップ１０５に進み、リーン応答性を高める変更要求に基づいて定電流Ｉｃｓの供給を制御する。具体的には、定電流回路２７の定電流として「負の定電流Ｉｃｓ」を設定する。このとき、マイコン２６により定電流回路２７が制御され、大気側電極層３４から排気側電極層３３に酸素が供給される向きで定電流Ｉｃｓ（負の定電流Ｉｃｓ）が流れることとなる。これにより、エンジン１１が高負荷運転状態になっている場合において酸素センサ２１のリーン応答性が高められる。尚、定電流量は予め定められた所定値であると良い。
【００７２】
ここで、上記の高負荷運転時を想定すると、その高負荷運転期間には、エンジン負荷が増加側に変化する過渡時と、その負荷増加により高負荷となっている高負荷定常時とが含まれる。この場合、過渡時及び高負荷定常時には、いずれもリーン応答性が高められるが、その検出応答性を高めるにあたって、過渡時と高負荷定常時とで、検出応答性として要求される応答性レベルを相違させるようにすると良い。
【００７３】
具体的には、過渡時の応答性レベルを高負荷定常時の応答性レベルよりも高応答とする。つまり、エンジン１１が高負荷運転状態になっていると判定された場合には、更に、過渡時か又は高負荷定常時かを判定する。過渡時であると判定されることは、リーン応答性を高めつつも、その応答性レベルを比較的小さくする（高負荷定常時よりも小さくする）との変更要求が有ると判定されることに相当し、高負荷定常時であると判定されることは、リーン応答性を高めつつ、その応答性レベルを比較的大きくする（過渡時よりも大きくする）との変更要求が有ると判定されることに相当する。そして、過渡時である場合と、高負荷定常時である場合のそれぞれにおいて、その変更要求に基づいて定電流Ｉｃｓの供給を制御する。
【００７４】
一方、上記ステップ１０２で、エンジン１１が高負荷運転状態ではないと判定された場合には、ステップ１０３に進み、現時点が燃料カットから燃料噴射への復帰直後であって、両触媒１８，１９の中立化のためのリッチ噴射制御が実施されているか否かを判定する。このリッチ噴射制御は、エンジン１１の燃料カットからの復帰時において、酸素センサ２１の検出結果に基づいて、両触媒１８，１９の酸素過多の状態（極リーンの雰囲気）を解消すべく空燃比を一時的にリッチ化する空燃比制御である。このリッチ噴射制御では、燃料噴射量のリッチ化により両触媒１８，１９の雰囲気が中立化される（ストイキ付近で保持される状態とされる）。そして、燃料カットからの復帰後において酸素センサ２１の出力がリーン値からリッチ値に移行したタイミングで、そのリッチ噴射制御が終了される。本実施例では、このリッチ噴射制御を実施する場合に、リッチ変化時の検出応答性を低めることとしている。
【００７５】
このステップ１０３で、リッチ噴射制御が実施されていると判定された場合には、リッチ応答性（リッチ変化時の検出応答性）を低める変更要求が有ると判定する。この場合、ステップ１０６に進み、リッチ応答性を低める変更要求に基づいて定電流Ｉｃｓの供給を制御する。具体的には、定電流回路２７の定電流として「負の定電流Ｉｃｓ」を設定する（リーン応答性を高める場合と同じ）。このとき、マイコン２６により定電流回路２７が制御され、大気側電極層３４から排気側電極層３３に酸素が供給される向きで定電流Ｉｃｓ（負の定電流Ｉｃｓ）が流れることとなる。これにより、リッチ噴射制御を実施する場合においてリッチ応答性が低められる。尚、定電流量は予め定められた所定値であると良い。
【００７６】
また、上記ステップ１０１〜１０３で全て「Ｎｏ」と判定された場合には、ステップ１０７に進み、酸素センサ２１の検出応答性を基準応答性に対して変更しない制御、すなわち定電流Ｉｃｓ＝０とする制御を実施する。
【００７７】
尚、図８のルーチンでは、エンジン１１が冷間状態の場合に酸素センサ２１のリッチ応答性を高める処理（ステップ１０１，１０４）と、エンジン１１が高負荷運転状態の場合に酸素センサ２１のリーン応答性を高める処理（ステップ１０２，１０５）と、リッチ噴射制御が実施さている場合に酸素センサ２１のリッチ応答性を低める処理（ステップ１０３，１０６）とを全て実施するようにしたが、これに限定されず、いずれか１つ又は２つを実施するようにしても良い。
【００７８】
また、空燃比のリッチ／リーンの変化に合わせて、センサ電極間に流す定電流の向きを切り換えてリーン応答性を高めた状態とリッチ応答性を高めた状態とを切り換えるようにしても良く、この場合、エンジン運転状態（例えばエンジン回転速度や負荷等）に応じてセンサ電極間に流す定電流の大きさを変化させるようにしても良い。
【００７９】
［電流切換許可判定ルーチン］
図９に示す電流切換許可判定ルーチンは、ＥＣＵ２５の電源オン期間中に所定周期で繰り返し実行され、特許請求の範囲でいう判定手段としての役割を果たす。本ルーチンが起動されると、ステップ２０１〜２０３で、電流切換許可条件が成立しているか否かを判定する。
【００８０】
まず、ステップ２０１で、センサ素子３１が活性状態であるか否かを、例えば、素子インピーダンスが所定値（例えば１００Ω）以下であるか否かや、ヒータ３６の通電時間が所定時間以上であるか否か等によって判定する。
【００８１】
このステップ２０１で、センサ素子３１が活性状態であると判定された場合には、ステップ２０２に進み、燃料カット中であるか否かを判定し、燃料カット中であると判定された場合には、ステップ２０３に進み、酸素センサ２１の出力が所定値以下であるか否かを判定する。この所定値は、大気状態（リーン状態）に相当する値（例えば０．０５Ｖ以下の値）に設定されている。
【００８２】
上記ステップ２０１〜２０３で全て「Ｙｅｓ」と判定された場合（燃料カット中に酸素センサ２１の出力が所定値以下に低下したと判定された場合）には、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、電流切換許可条件が成立していると判定し、ステップ２０４に進み、電流切換許可フラグを電流切換の許可を意味するオン（許可状態）にセットする。
【００８３】
これに対して、上記ステップ２０１〜２０３のいずれかで「Ｎｏ」と判定された場合には、電流切換許可条件が不成立である判定して、ステップ２０５に進み、電流切換許可フラグを電流切換の禁止を意味するオフ（禁止状態）に維持する又はリセットする。
【００８４】
［直流抵抗値演算ルーチン］
図１０に示す直流抵抗値演算ルーチンは、ＥＣＵ２５の電源オン期間中に所定周期で繰り返し実行され、特許請求の範囲でいう出力電圧変動情報演算手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ３０１で、電流切換許可フラグがオン（許可状態）であるか否かによって、電流切換許可条件が成立しているか否かを判定する。
【００８５】
このステップ３０１で、電流切換許可フラグがオフ（禁止状態）であると判定された場合には、電流切換許可条件が不成立であると判断して、ステップ３０２以降の処理を実行することなく、本ルーチンを終了する。
【００８６】
一方、上記ステップ３０１で、電流切換許可フラグがオン（許可状態）であると判定された場合には、電流切換許可条件が成立していると判断して、ステップ３０２以降の処理を次のようにして実行する。
【００８７】
まず、ステップ３０２で、センサ電極間（排気側電極層３３と大気側電極層３４との間）に定電流Ｉ1 を流すように定電流回路２７を制御する。ここで、定電流Ｉ1 は、例えば、０ｍＡに設定されている。この場合、センサ電極間に流れる定電流を０ｍＡにすることになる。
【００８８】
この後、ステップ３０３に進み、センサ電極間に定電流Ｉ1 を流したとき（例えばセンサ電極間に流れる定電流を０ｍＡにしたとき）の酸素センサ２１の出力を、切り換え前のセンサ出力Ｖ1 として検出する。この場合、例えば、酸素センサ２１の出力を複数回検出して、その平均値を切り換え前のセンサ出力Ｖ1 とする。
【００８９】
この後、ステップ３０４に進み、センサ電極間に定電流Ｉ2 を流すように定電流回路２７を制御する。ここで、定電流Ｉ2 は、ＡＤ変換誤差よりも大きくて確実に電圧差を検出でき且つ酸素センサ２１にダメージを与えない値（例えば０．１〜１０ｍＡ）に設定されている。
【００９０】
この後、ステップ３０５に進み、センサ電極間に定電流Ｉ2 を流したときの酸素センサ２１の出力を、切り換え後のセンサ出力Ｖ2 として検出する。この場合、例えば、酸素センサ２１の出力を複数回検出して、その平均値を切り換え後のセンサ出力Ｖ2 とする。
【００９１】
この後、ステップ３０６に進み、電流値の切り換え前後の酸素センサ２１の出力の差（Ｖ2 −Ｖ1 ）と電流値の差（Ｉ2 −Ｉ1 ）から酸素センサ２１の直流抵抗値（内部抵抗値）を演算する。
直流抵抗値＝（Ｖ2 −Ｖ1 ）／（Ｉ2 −Ｉ1 ）
【００９２】
［センサ出力補正ルーチン］
図１１に示すセンサ出力補正ルーチンは、ＥＣＵ２５の電源オン期間中に所定周期で繰り返し実行され、特許請求の範囲でいうセンサ出力補正手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ４０１で、センサ電極間に定電流を流す定電流供給中（つまり酸素センサ２１の出力特性の変更中）であるか否かを判定し、定電流供給中であると判定された場合には、ステップ４０２に進み、現在の定電流値と酸素センサ２１の直流抵抗値（内部抵抗値）とを用いて定電流供給時の酸素センサ２１の内部抵抗による出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を次式により求める。
出力電圧変動分＝定電流値×直流抵抗値
【００９３】
この際、例えば、酸素センサ２１の出力電圧の降下方向に定電流を流した場合の出力電圧変動分（つまり出力電圧降下分）を負の値とし、酸素センサ２１の出力電圧の上昇方向に定電流を流した場合の出力電圧変動分（つまり出力電圧上昇分）を正の値とする。
【００９４】
この後、ステップ４０３に進み、出力電圧変動分を用いてセンサ出力（酸素センサ２１の出力）を次式により補正する。
センサ出力＝センサ出力−出力電圧変動分
ＥＣＵ２５は、この補正後のセンサ出力（酸素センサ２１の出力）を用いてサブＦ／Ｂ制御を行う。
【００９５】
以上説明した本実施例１では、酸素センサ２１の外部に設けた定電流回路２７によりセンサ電極間に定電流を流すことで、酸素センサ２１の出力特性を変更してリーン応答性やリッチ応答性を高めることができる。しかも、酸素センサ２１の内部に補助電気化学電池等を組み込む必要がないため、大幅な設計変更やコストアップを招くことなく酸素センサ２１の出力特性を変化させることができる。
【００９６】
また、センサ電極間に定電流を流す定電流供給時（つまり酸素センサ２１の出力特性の変更時）には、酸素センサ２１の内部抵抗によって酸素センサ２１の出力に電圧変動（電圧降下又は電圧上昇）が生じるが、本実施例１では、センサ電極間に流れる電流値の切り換え前後の酸素センサ２１の出力の差と電流値の差から酸素センサ２１の直流抵抗値（内部抵抗値）を演算し、定電流供給時には、そのときの定電流値と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を求め、この出力電圧変動分を用いて酸素センサ２１の出力を補正するようにしたので、例えばエンジン運転状態等に応じて定電流供給時の定電流値を変化させる場合でも、定電流供給時の定電流値と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を精度良く求めて、この出力電圧変動分を用いて酸素センサ２１の出力を精度良く補正することができる。これにより、酸素センサ２１の内部抵抗による出力電圧変動の影響を受けずに、酸素センサ２１の出力に基づいたサブＦ／Ｂ制御を精度良く行うことができ、酸素センサ２１の内部抵抗による出力電圧変動に起因する空燃比制御精度の低下を防止して排気エミッションの悪化を防止することができる。
【００９７】
更に、センサ電極間に流れる電流値が切り換わったときに、その切り換え前後の酸素センサ２１の出力に基づいて直流抵抗値（内部抵抗値）を演算し、その直流抵抗値（内部抵抗値）を用いて出力電圧変動分を演算するため、酸素センサ２１の個体差（製造ばらつき）、経時劣化、温度等によって内部抵抗が変化して、内部抵抗による出力電圧変動分が変化していても、そのときの内部抵抗及びその内部抵抗に対応した出力電圧変動分を精度良く求めることができる。
【００９８】
また、交流電流を供給するのではなく、センサ電極間に流れる定電流（直流電流）の電流値の切り換え前後の酸素センサ２１の出力に基づいて直流抵抗値（内部抵抗値）を演算し、その直流抵抗値（内部抵抗値）を用いて出力電圧変動分を演算するため、酸素センサ２１の静電容量の影響を受けずに、内部抵抗及びその内部抵抗に対応した出力電圧変動分を精度良く求めることができると共に、交流電流を供給する回路やバンドパスフィルタ等を設ける必要がなく、回路構成を簡素化することができる。
【００９９】
更に、本実施例１では、所定の電流切換許可条件が成立しているか否かを判定し、電流切換許可条件が成立していると判定されたときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報（本実施例１では酸素センサ２１の直流抵抗値）の演算を実行するようにしたので、電流切換許可条件が成立して出力電圧変動情報の演算に適した状態（例えば酸素センサ２１の出力が安定した状態）になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができ、出力電圧変動情報の演算精度を向上させることができる。
【０１００】
また、本実施例１では、エンジン１１の燃料カット中は、排気管１７内にリーンガスが流れて排気管１７内がリーン状態になることに着目して、燃料カット中に酸素センサ２１の出力が所定値以下に低下したと判定されたときに、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、電流切換許可条件が成立していると判定するようにしたので、燃料カット中で酸素センサ２１の出力がリーン側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができる。
【０１０１】
また、本実施例１では、センサ電極間に流れる電流値が０のときに、酸素センサ２１の出力に含まれる誤差が小さくなることを考慮に入れて、センサ電極間に流れる電流値を切り換える際に、切り換え前の電流値を０にするようにしたので、酸素センサ２１の出力に基づいた出力電圧変動情報の演算精度を更に向上させることができる。
【実施例２】
【０１０２】
次に、図１２を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１０３】
前記実施例１では、定電流供給時に定電流値と直流抵抗値から求めた出力電圧変動分を用いて酸素センサ２１の出力を補正するようにしたが、本実施例２では、ＥＣＵ２５（又はマイコン２６）により後述する図１２の目標電圧補正ルーチンを実行することで、定電流供給時に定電流値と直流抵抗値から求めた出力電圧変動分を用いてサブＦ／Ｂ制御の目標電圧を補正するようにしている。
【０１０４】
図１２に示す目標電圧補正ルーチンは、ＥＣＵ２５の電源オン期間中に所定周期で繰り返し実行され、特許請求の範囲でいう目標値補正手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ５０１で、センサ電極間に定電流を流す定電流供給中（つまり酸素センサ２１の出力特性の変更中）であるか否かを判定し、定電流供給中であると判定された場合には、ステップ５０２に進み、現在の定電流値と酸素センサ２１の直流抵抗値（内部抵抗値）とを用いて定電流供給時の酸素センサ２１の内部抵抗による出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を次式により求める。
出力電圧変動分＝定電流値×直流抵抗値
【０１０５】
この際、例えば、酸素センサ２１の出力電圧の降下方向に定電流を流した場合の出力電圧変動分（つまり出力電圧降下分）を負の値とし、酸素センサ２１の出力電圧の上昇方向に定電流を流した場合の出力電圧変動分（つまり出力電圧上昇分）を正の値とする。
【０１０６】
この後、ステップ５０３に進み、出力電圧変動分を用いてサブＦ／Ｂ制御の目標電圧を次式により補正する。
目標電圧＝目標電圧＋出力電圧変動分
ＥＣＵ２５は、この補正後の目標電圧を用いてサブＦ／Ｂ制御を行う。
【０１０７】
以上説明した本実施例２では、定電流供給時に、そのときの定電流値と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を求め、この出力電圧変動分を用いてサブＦ／Ｂ制御の目標電圧を補正するようにしたので、例えばエンジン運転状態等に応じて定電流供給時の定電流値を変化させる場合でも、定電流供給時の定電流値と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を精度良く求めて、この出力電圧変動分を用いてサブＦ／Ｂ制御の目標電圧を精度良く補正することができ、前記実施例１とほぼ同じ効果を得ることができる。
【０１０８】
尚、上記各実施例１，２では、電流切換許可条件が成立したときに、出力電圧変動情報として酸素センサ２１の直流抵抗値を演算するようにしたが、これに限定されず、例えばエンジン運転状態等に拘らず定電流供給時の定電流値が常に所定値Ｖ0 に固定されている場合には、電流切換許可条件が成立したときに、センサ電極間に流れる電流値を０から所定値Ｖ0 （つまり定電流供給時の定電流値と同じ値）に切り換え、その切り換え前後の酸素センサ２１の出力の差から出力電圧変動分を求めるようにしても良い。
【実施例３】
【０１０９】
次に、図１３乃至図１６を用いて本発明の実施例３を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【０１１０】
ところで、センサ電極間に定電流を流す定電流回路２７の異常（例えば故障等）が発生すると、酸素センサ２１の出力特性を適正に変更することができず、酸素センサ２１の出力に基づいた制御（例えばサブＦ／Ｂ制御等）を適正に行うことができなくなって、排気エミッションが悪化する可能性があるため、定電流回路２７の異常が発生した場合には、その異常を早期に検出する必要がある。
【０１１１】
そこで、本実施例３では、ＥＣＵ２５（又はマイコン２６）により後述する図１５及び図１６の各ルーチンを実行することで、定電流回路２７の異常（例えば故障等）の有無を判定する異常診断を次のようにして実行する。
【０１１２】
図１３のタイムチャートに示すように、まず、エンジン１１の燃料噴射を停止する燃料カット中に酸素センサ２１の出力が所定値（例えば大気状態に相当する値）以下に低下したか否かによって、異常診断実行条件が成立しているか否かを判定し、燃料カット中に酸素センサ２１の出力が所定値以下に低下した時点ｔ1 で、異常診断実行条件が成立していると判定して、異常診断許可フラグを異常診断の許可を意味するオン（許可状態）にセットする。この場合、異常診断実行条件が特許請求の範囲でいう電流切換許可条件に相当する。
【０１１３】
そして、図１４のタイムチャートに示すように、異常診断許可フラグがオン（許可状態）にセットされた場合（つまり異常診断実行条件が成立していると判定された場合）には、センサ電極間に流れる電流値をＩ1 からＩ2 に切り換え、その切り換え前後における酸素センサ２１の出力の差ΔＶ（＝Ｖ1 −Ｖ2 ）が所定の正常範囲内であるか否かによって定電流回路２７の異常の有無を判定する異常診断を行う。この場合、酸素センサ２１の出力の差ΔＶが特許請求の範囲でいう出力電圧変動情報に相当する。
【０１１４】
この際、まず、時点ｔ1 からｔ2 では、センサ電極間に定電流Ｉ1 を流したときの酸素センサ２１の出力を複数回検出し、その平均値を算出して切り換え前のセンサ出力Ｖ1 とする。この後、時点ｔ2 で、センサ電極間に流れる電流値をＩ1 からＩ2 に切り換え、時点ｔ2 からｔ3 では、センサ電極間に定電流Ｉ2 を流したときの酸素センサ２１の出力を複数回検出し、その平均値を算出して切り換え後のセンサ出力Ｖ2 とする。
【０１１５】
そして、時点ｔ3 で、切り換え前後のセンサ出力差ΔＶ（切り換え前のセンサ出力Ｖ1 と切り換え後のセンサ出力Ｖ2 との差）を演算し、この切り換え前後のセンサ出力差ΔＶが所定の正常範囲内であるか否かによって定電流回路２７の異常診断を行う。この異常診断が終了したら、センサ電極間に流れる定電流を元の値に戻す。
【０１１６】
定電流回路２７の異常（例えば故障等）が発生すると、センサ電極間に流れる電流値が切り換わったときの酸素センサ２１の出力の挙動が正常時とは異なってくるため、センサ電極間に流れる電流値が切り換わったときに、その切り換え前後における酸素センサ２１の出力の差が正常範囲内であるか否かによって定電流回路２７の異常の有無を判定する異常診断を行うことで、定電流回路２７の異常の有無を精度良く判定することができる。
【０１１７】
この後、異常診断実行条件が不成立である判定して、異常診断許可フラグを異常診断の禁止を意味するオフ（禁止状態）にリセットした時点ｔ4 以降では、通常のセンサ応答性制御（図８参照）が実行される。
以下、本実施例３でＥＣＵ２５（又はマイコン２６）が実行する図１５及び図１６の各ルーチンの処理内容を説明する。
【０１１８】
［異常診断許可判定ルーチン］
図１５に示す異常診断許可判定ルーチンは、ＥＣＵ２５の電源オン期間中に所定周期で繰り返し実行され、特許請求の範囲でいう判定手段としての役割を果たす。本ルーチンが起動されると、ステップ６０１〜６０３で、異常診断実行条件（図９のルーチンのステップ２０１〜２０３で説明した電流切換許可条件と同じ条件）が成立しているか否かを判定する。
【０１１９】
まず、ステップ６０１で、センサ素子３１が活性状態であるか否かを、例えば、素子インピーダンスが所定値（例えば１００Ω）以下であるか否かや、ヒータ３６の通電時間が所定時間以上であるか否か等によって判定する。
【０１２０】
このステップ６０１で、センサ素子３１が活性状態であると判定された場合には、ステップ６０２に進み、燃料カット中であるか否かを判定し、燃料カット中であると判定された場合には、ステップ６０３に進み、酸素センサ２１の出力が所定値以下であるか否かを判定する。この所定値は、大気状態（リーン状態）に相当する値（例えば０．０５Ｖ以下の値）に設定されている。
【０１２１】
上記ステップ６０１〜６０３で全て「Ｙｅｓ」と判定された場合（燃料カット中に酸素センサ２１の出力が所定値以下に低下したと判定された場合）には、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、異常診断実行条件が成立していると判定し、ステップ６０４に進み、異常診断許可フラグを異常診断の許可を意味するオン（許可状態）にセットする。
【０１２２】
これに対して、上記ステップ６０１〜６０３のいずれかで「Ｎｏ」と判定された場合には、異常診断実行条件が不成立である判定して、ステップ６０５に進み、異常診断許可フラグを異常診断の禁止を意味するオフ（禁止状態）に維持する又はリセットする。
【０１２３】
［異常診断ルーチン］
図１６に示す異常診断ルーチンは、ＥＣＵ２５の電源オン期間中に所定周期で繰り返し実行され、特許請求の範囲でいう出力電圧変動情報演算手段及び異常診断手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ７０１で、異常診断許可フラグがオン（許可状態）であるか否かによって、異常診断実行条件が成立しているか否かを判定する。
【０１２４】
このステップ７０１で、異常診断許可フラグがオフ（禁止状態）であると判定された場合には、異常診断実行条件が不成立であると判断して、ステップ７０２以降の異常診断に関する処理を実行することなく、本ルーチンを終了する。
【０１２５】
一方、上記ステップ７０１で、異常診断許可フラグがオン（許可状態）であると判定された場合には、異常診断実行条件が成立していると判断して、ステップ７０２以降の異常診断に関する処理を次のようにして実行する。
【０１２６】
まず、ステップ７０２で、センサ電極間（排気側電極層３３と大気側電極層３４との間）に定電流Ｉ1 を流すように定電流回路２７を制御する。ここで、定電流Ｉ1 は、例えば、０ｍＡに設定されている。この場合、センサ電極間に流れる定電流を０ｍＡにすることになる。
【０１２７】
この後、ステップ７０３に進み、センサ電極間に定電流Ｉ1 を流したとき（例えばセンサ電極間に流れる定電流を０ｍＡにしたとき）の酸素センサ２１の出力を、切り換え前のセンサ出力Ｖ1 として検出する。この場合、例えば、酸素センサ２１の出力を複数回検出して、その平均値を切り換え前のセンサ出力Ｖ1 とする。
【０１２８】
尚、センサ電極間に流れる電流の変化に対する酸素センサ２１の出力の応答性が低い場合、酸素センサ２１の出力が収束するまで待ってからセンサ出力Ｖ1 の検出を開始するようにすると、センサ出力Ｖ1 の検出に要する時間が長くなってしまう。そこで、上記ステップ７０２で、定電流Ｉ1 を流すように定電流回路２７を制御してから所定時間経過後に、上記ステップ７０３で、センサ出力Ｖ1 の検出を開始するようにしても良い。このようにすれば、酸素センサ２１の出力の応答性が低い場合でも、酸素センサ２１の出力の収束を待たずにセンサ出力Ｖ1 の検出を開始することができる。
【０１２９】
この後、ステップ７０４に進み、センサ電極間に定電流Ｉ2 を流すように定電流回路２７を制御する。ここで、定電流Ｉ2 は、ＡＤ変換誤差よりも大きくて確実に電圧差を検出でき且つ酸素センサ２１にダメージを与えない値（例えば０．１〜１０ｍＡ）に設定されている。
【０１３０】
この後、ステップ７０５に進み、センサ電極間に定電流Ｉ2 を流したときの酸素センサ２１の出力を、切り換え後のセンサ出力Ｖ2 として検出する。この場合、例えば、酸素センサ２１の出力を複数回検出して、その平均値を切り換え後のセンサ出力Ｖ2 とする。
【０１３１】
尚、センサ電極間に流れる電流の変化に対する酸素センサ２１の出力の応答性が低い場合、酸素センサ２１の出力が収束するまで待ってからセンサ出力Ｖ2 の検出を開始するようにすると、センサ出力Ｖ2 の検出に要する時間が長くなってしまう。そこで、上記ステップ７０４で、定電流Ｉ2 を流すように定電流回路２７を制御してから所定時間経過後に、上記ステップ７０５で、センサ出力Ｖ2 の検出を開始するようにしても良い。このようにすれば、酸素センサ２１の出力の応答性が低い場合でも、酸素センサ２１の出力の収束を待たずにセンサ出力Ｖ2 の検出を開始することができる。
【０１３２】
この後、ステップ７０６に進み、切り換え前後のセンサ出力差ΔＶ（切り換え前のセンサ出力Ｖ1 と切り換え後のセンサ出力Ｖ2 との差）を演算する。
ΔＶ＝Ｖ1 −Ｖ2
【０１３３】
この後、ステップ７０７に進み、切り換え前後のセンサ出力差ΔＶが所定の正常範囲内であるか否かを判定する。この正常範囲は、例えば、切り換え前後の定電流Ｉ1 ，Ｉ2 等に基づいて設定されている。
【０１３４】
ここで、正常範囲は、酸素センサ２１の内部抵抗の変化に起因するセンサ出力特性の変化を考慮した上で設定されている。つまり、酸素センサ２１の内部抵抗の変化に起因するセンサ出力特性の変化幅を上回る値で正常範囲は設定される（酸素センサ２１の内部抵抗の変化に起因するセンサ出力特性の変化を上回る変化が起きた場合に定電流回路２７の異常であると判定する）。
【０１３５】
このステップ７０７で、切り換え前後のセンサ出力差ΔＶが正常範囲内であると判定された場合には、ステップ７０８に進み、定電流回路２７の異常無し（正常）と判定する。
【０１３６】
これに対して、上記ステップ７０７で、切り換え前後のセンサ出力差ΔＶが正常範囲内ではない（つまり正常範囲外である）と判定された場合には、ステップ７０９に進み、定電流回路２７の異常（例えば故障等）有りと判定する。この場合、例えば、異常フラグをオンにセットし、運転席のインストルメントパネルに設けられた警告ランプ（図示せず）を点灯又は点滅したり、或は、運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して、運転者に警告すると共に、その異常情報（異常コード等）をＥＣＵ２５のバックアップＲＡＭ（図示せず）等の書き換え可能な不揮発性メモリ（ＥＣＵ２５の電源オフ中でも記憶データを保持する書き換え可能なメモリ）に記憶する。
【０１３７】
以上説明した本実施例３では、定電流回路２７の異常（例えば故障等）が発生すると、センサ電極間に流れる電流値が切り換わったときの酸素センサ２１の出力の挙動が正常時とは異なってくることに着目して、センサ電極間に流れる電流値が切り換わったときに、その切り換え前後における酸素センサ２１の出力の差が所定の正常範囲内であるか否かによって定電流回路２７の異常の有無を判定する異常診断を行うようにしたので、定電流回路２７の異常の有無を精度良く判定することができ、定電流回路２８の異常が発生した場合に、その異常を早期に検出することができる。
【０１３８】
更に、本実施例３では、所定の異常診断実行条件が成立しているか否かを判定し、異常診断実行条件が成立していると判定されたときに、センサ電極間に流れる電流値を切り換えて異常診断を実行するようにしたので、異常診断実行条件が成立して異常診断に適した状態（例えば酸素センサ２１の出力が安定した状態）になったときに、センサ電極間に流れる電流値を切り換えて異常診断を実行することができ、異常診断精度を向上させることができる。
【０１３９】
また、本実施例３では、エンジン１１の燃料カット中は、排気管１７内にリーンガスが流れて排気管１７内がリーン状態になることに着目して、燃料カット中に酸素センサ２１の出力が所定値以下に低下したと判定されたときに、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、異常診断実行条件が成立していると判定するようにしたので、燃料カット中で酸素センサ２１の出力がリーン側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて異常診断を実行することができる。
【実施例４】
【０１４０】
次に、図１７を用いて本発明の実施例４を説明する。但し、前記実施例３と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例３と異なる部分について説明する。
【０１４１】
本実施例４では、ＥＣＵ２５（又はマイコン２６）により後述する図１７の異常診断許可判定ルーチンを実行することで、センサ電極間に流れる定電流を０ｍＡにした状態で、酸素センサ２１の出力が所定値（例えば大気状態に相当する値）以下であるか否かによって、異常診断実行条件が成立しているか否かを判定し、酸素センサ２１の出力が所定値以下であると判定されたときに、異常診断実行条件が成立していると判定して、異常診断許可フラグをオン（許可状態）にセットするようにしている。
【０１４２】
図１７の異常診断許可判定ルーチンでは、まず、ステップ８０１で、センサ素子３１が活性状態であるか否かを判定し、センサ素子３１が活性状態であると判定された場合には、ステップ８０２に進み、酸素センサ２１の出力が所定値以下であるか否かを判定する。この所定値は、大気状態（リーン状態）に相当する値（例えば０．０５Ｖ以下の値）に設定されている。
【０１４３】
このステップ８０２で、酸素センサ２１の出力が所定値以下であると判定された場合には、ステップ８０３に進み、センサ電極間に流れる定電流を０ｍＡにするように定電流回路２７を制御した後、ステップ８０４に進み、再度、酸素センサ２１の出力が所定値以下であるか否かを判定する。この理由は、センサ電極間に定電流を流した状態では、定電流を０ｍＡにした状態に比べて酸素センサ２１の出力が小さくなるため、センサ電極間に流れる定電流を０ｍＡにした状態で、再度、酸素センサ２１の出力が所定値以下であるか否かを判定することで、定電流の影響を受けずに酸素センサ２１の出力が所定値以下であるかを精度良く判定することができ、ロバスト性を向上させることができるからである。
【０１４４】
このステップ８０４で、酸素センサ２１の出力が所定値以下であると判定された場合には、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、異常診断実行条件が成立していると判定し、ステップ８０５に進み、異常診断許可フラグをオン（許可状態）にセットする。
【０１４５】
これに対して、上記ステップ８０１，８０２，８０４のいずれかで「Ｎｏ」と判定された場合には、異常診断実行条件が不成立である判定して、ステップ８０６に進み、異常診断許可フラグをオフ（禁止状態）に維持する又はリセットする。
【０１４６】
以上説明した本実施例４では、センサ電極間に流れる定電流を０ｍＡにした状態で、酸素センサ２１の出力が所定値以下であると判定されたときに、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、異常診断実行条件が成立していると判定するようにしたので、酸素センサ２１の出力がリーン側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて異常診断を実行することができ、異常診断精度を向上させることができる。また、エンジン制御に関する信号（例えば燃料カットフラグ等）を用いる必要がないため、酸素センサ制御用のマイコン２６で異常診断を完結することができるという利点もある。
【実施例５】
【０１４７】
次に、図１８を用いて本発明の実施例５を説明する。但し、前記実施例３と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例３と異なる部分について説明する。
【０１４８】
本実施例５では、ＥＣＵ２５（又はマイコン２６）により後述する図１８の異常診断許可判定ルーチンを実行することで、エンジン停止後（例えばエンジン停止から所定時間が経過した）か否によって、異常診断実行条件が成立しているか否かを判定し、エンジン停止後（例えばエンジン停止から所定時間が経過した）と判定されたときに、異常診断実行条件が成立していると判定して、異常診断許可フラグをオン（許可状態）にセットするようにしている。
【０１４９】
尚、エンジン停止後でも図１８の異常診断許可判定ルーチン及び図１６の異常診断ルーチンを実行できるように、図示しないＩＧスイッチ（イグニッションスイッチ）のオフ後も暫くの間は、電源ラインのメインリレー（図示せず）をオン状態に維持してＥＣＵ２５（マイコン２６）への通電が継続されるようになっている。
【０１５０】
図１８の異常診断許可判定ルーチンでは、まず、ステップ９０１で、センサ素子３１が活性状態であるか否かを判定し、センサ素子３１が活性状態であると判定された場合には、ステップ９０２に進み、エンジン停止（例えばＩＧスイッチのオフ）から所定時間が経過したか否かを判定する。ここで、所定時間は、排気管１７内が大気とほぼ同じ状態（リーン状態）になるのに必要な時間に設定されている。
【０１５１】
このステップ９０２で、エンジン停止から所定時間が経過したと判定された場合には、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、異常診断実行条件が成立していると判定し、ステップ９０３に進み、異常診断許可フラグをオン（許可状態）にセットする。
【０１５２】
これに対して、上記ステップ９０１，９０２のいずれかで「Ｎｏ」と判定された場合には、異常診断実行条件が不成立である判定して、ステップ９０４に進み、異常診断許可フラグをオフ（禁止状態）に維持する又はリセットする。
【０１５３】
以上説明した本実施例５では、エンジン停止後は、排気管１７内が大気とほぼ同じ状態（リーン状態）になることに着目して、エンジン停止から所定時間が経過したと判定されたときに、酸素センサ２１の出力がリーン側で安定した状態になっていると判断して、異常診断実行条件が成立していると判定するようにしたので、エンジン停止後で酸素センサ２１の出力がリーン側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて異常診断を実行することができ、異常診断精度を向上させることができる。この場合も、エンジン制御に関する信号（例えば燃料カットフラグ等）を用いる必要がないため、酸素センサ制御用のマイコン２６で異常診断を完結することができるという利点がある。
【実施例６】
【０１５４】
次に、図１９及び図２０を用いて本発明の実施例６を説明する。但し、前記実施例３と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例３と異なる部分について説明する。
【０１５５】
本実施例６では、ＥＣＵ２５（又はマイコン２６）により後述する図２０のルーチンを実行することで、定電流回路２７の異常診断及び酸素センサ２１の出力補正を次のようにして実行する。
【０１５６】
図１９のタイムチャートに示すように、燃料カット中に異常診断実行条件が成立して異常診断許可フラグがオン（許可状態）にセットされた場合には、センサ電極間に流れる電流値をＩ1 からＩ2 に切り換え、その切り換え前後における酸素センサ２１の出力の差ΔＶ（＝Ｖ1 −Ｖ2 ）に基づいて定電流回路２７の異常診断を行う。
【０１５７】
この際、まず、時点ｔ1 からｔ2 では、センサ電極間に定電流Ｉ1 を流したときの酸素センサ２１の出力を、切り換え前のセンサ出力Ｖ1 として検出する。この後、時点ｔ2 からｔ3 では、センサ電極間に定電流Ｉ2 を流したときの酸素センサ２１の出力を、切り換え後のセンサ出力Ｖ2 として検出する。この後、切り換え前後のセンサ出力差ΔＶが所定の正常範囲内であるか否かによって定電流回路２７の異常の有無を判定する異常診断を実行する。
【０１５８】
その結果、定電流回路２７の異常無し（正常）と判定された場合には、切り換え前後のセンサ出力差ΔＶに基づいて酸素センサ２１の直流抵抗値（内部抵抗値）を演算する。この後、燃料カットが終了して異常診断許可フラグがオフにリセットされた時点ｔ4 で、センサ電極間に定電流Ｉ3 を流して酸素センサ２１の出力特性を変更し、この定電流供給中（つまり酸素センサ２１の出力特性の変更中）に、そのときの定電流値Ｉ3 と直流抵抗値から出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を求め、この出力電圧変動分を用いて酸素センサ２１の出力を補正する。
【０１５９】
これに対して、定電流回路２７の異常有りと判定された場合には、酸素センサ２１の出力の補正を禁止する。これにより、定電流回路２７の異常によって正常範囲から外れたセンサ出力差ΔＶに基づいて酸素センサ２１の出力を補正することを防止する。
【０１６０】
本実施例６で実行する図２０のルーチンは、前記実施例３で説明した図１６のルーチンのステップ７０８の処理の後に、ステップ７０８ａ，７０８ｂの処理を追加したものであり、それ以外の各ステップの処理は図１６と同じである。
【０１６１】
図２０に示す異常診断及びセンサ出力補正ルーチンでは、異常診断許可フラグがオン（許可状態）であると判定された場合には、センサ電極間に定電流Ｉ1 を流すように定電流回路２７を制御し、センサ電極間に定電流Ｉ1 を流したときの酸素センサ２１の出力を、切り換え前のセンサ出力Ｖ1 として検出した後、センサ電極間に定電流Ｉ2 を流すように定電流回路２７を制御し、センサ電極間に定電流Ｉ2 を流したときの酸素センサ２１の出力を、切り換え後のセンサ出力Ｖ2 として検出する（ステップ７０１〜７０５）。
【０１６２】
この後、切り換え前後のセンサ出力差ΔＶ（＝Ｖ1 −Ｖ2 ）を演算し、この切り換え前後のセンサ出力差ΔＶが所定の正常範囲内であるか否かを判定する（ステップ７０６，７０７）。
【０１６３】
上記ステップ７０７で、切り換え前後のセンサ出力差ΔＶが正常範囲内であると判定された場合には、ステップ７０８に進み、定電流回路２７の異常無し（正常）と判定した後、ステップ７０８ａに進み、切り換え前後のセンサ出力差ΔＶ（＝Ｖ1 −Ｖ2 ）と切り換え前後の電流値の差（Ｉ2 −Ｉ1 ）から酸素センサ２１の直流抵抗値（内部抵抗値）を演算する。
直流抵抗値＝ΔＶ／（Ｉ2 −Ｉ1 ）
【０１６４】
この後、ステップ７０８ｂに進み、前述した図１１のセンサ出力補正ルーチンを実行することで、定電流供給中（つまり酸素センサ２１の出力特性の変更中）に、そのときの定電流値と酸素センサ２１の直流抵抗値（内部抵抗値）とを用いて定電流供給時の酸素センサ２１の内部抵抗による出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を求め、この出力電圧変動分を用いてセンサ出力（酸素センサ２１の出力）を補正する。
【０１６５】
これに対して、上記ステップ７０７で、切り換え前後のセンサ出力差ΔＶが正常範囲内ではない（つまり正常範囲外である）と判定された場合には、ステップ７０９に進み、定電流回路２７の異常（例えば故障等）有りと判定して、上記ステップ７０８ａ，７０８ｂの処理を実行することなく、本ルーチンを終了することで、酸素センサ２１の出力の補正を禁止する。この機能が特許請求の範囲でいう禁止手段としての役割を果たす。
【０１６６】
以上説明した本実施例３では、センサ電極間に流れる電流値の切り換え前後における酸素センサ２１の出力の差ΔＶが正常範囲内であるか否かによって定電流回路２７の異常の有無を判定し、定電流回路２７の異常有りと判定された場合には、酸素センサ２１の出力の補正を禁止するようにしたので、定電流回路２７の異常によって正常範囲から外れたセンサ出力差ΔＶ（異常値）に基づいて酸素センサ２１の出力を補正してしまうことを未然に防止することができる。
【０１６７】
尚、上記実施例６では、図２０のルーチンのステップ７０８ｂで図１１のセンサ出力補正ルーチンを実行するようにしたが、これに限定されず、ステップ７０８ｂで図１２の目標電圧補正ルーチンを実行するようにしても良い。
【０１６８】
つまり、ステップ７０７で、切り換え前後のセンサ出力差ΔＶが正常範囲内であると判定された場合には、ステップ７０８に進み、定電流回路２７の異常無し（正常）と判定した後、ステップ７０８ａに進み、切り換え前後のセンサ出力差ΔＶから酸素センサ２１の直流抵抗値（内部抵抗値）を演算する。この後、ステップ７０８ｂに進み、前述した図１２の目標電圧補正ルーチンを実行することで、定電流供給中（つまり酸素センサ２１の出力特性の変更中）に、そのときの定電流値と酸素センサ２１の直流抵抗値（内部抵抗値）とを用いて定電流供給時の酸素センサ２１の内部抵抗による出力電圧変動分（出力電圧降下分又は出力電圧上昇分）を求め、この出力電圧変動分を用いてサブＦ／Ｂ制御の目標電圧を補正する。
【０１６９】
これに対して、ステップ７０７で、切り換え前後のセンサ出力差ΔＶが正常範囲内ではない（つまり正常範囲外である）と判定された場合には、ステップ７０９に進み、定電流回路２７の異常（例えば故障等）有りと判定して、上記ステップ７０８ａ，７０８ｂの処理を実行することなく、本ルーチンを終了することで、サブＦ／Ｂ制御の目標電圧の補正を禁止する。このようにすれば、定電流回路２７の異常によって正常範囲から外れたセンサ出力差ΔＶ（異常値）に基づいてサブＦ／Ｂ制御の目標電圧を補正してしまうことを未然に防止することができる。
【０１７０】
尚、上記各実施例３〜６では、切り換え前後のセンサ出力の差（切り換え前のセンサ出力Ｖ1 と切り換え後のセンサ出力Ｖ2 との差）が所定の正常範囲内であるか否かによって定電流回路２７の異常の有無を判定するようにしたが、異常の有無の判定方法は、これに限定されず、適宜変更しても良く、例えば、切り換え前後のセンサ出力の比（切り換え前のセンサ出力Ｖ1 と切り換え後のセンサ出力Ｖ2 との比）が所定の正常範囲内であるか否かによって定電流回路２７の異常の有無を判定するようにしても良い。
【０１７１】
また、上記各実施例１〜６では、センサ電極間に流れる電流値を切り換える際に、切り換え前の定電流Ｉ1 を０ｍＡに設定するようにしたが、これに限定されず、切り換え前の定電流Ｉ1 を０ｍＡ以外の所定値に設定しても良く、この場合、切り換え後の定電流Ｉ2 を０ｍＡに設定しても良いし、或は、０ｍＡ以外の所定値に設定しても良い。
【０１７２】
また、上記各実施例１〜６では、酸素センサ２１の出力がリーン側で安定しているときに電流切換許可条件（又は異常診断実行条件）が成立していると判定するようにしたが、これに限定されず、酸素センサ２１の出力がリッチ側で安定しているときに電流切換許可条件（又は異常診断実行条件）が成立していると判定するようにしても良く、例えば、エンジン１１の燃料噴射量を増量する燃料増量制御中に電流切換許可条件（又は異常診断実行条件）が成立していると判定するようにしても良い。燃料増量制御中は、排気管１７内にリッチガスが流れて排気管１７内がリッチ状態になるため、燃料増量制御中に電流切換許可条件（又は異常診断実行条件）が成立していると判定するようにすれば、燃料増量制御中で酸素センサ２１の出力がリッチ側で安定した状態になったときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報の演算を行うことができる。
【０１７３】
また、上記各実施例１〜６では、所定の電流切換許可条件（又は異常診断実行条件）が成立したときに、センサ電極間に流れる電流値を切り換えて出力電圧変動情報を演算する（又は出力電圧変動情報を演算して異常診断を実行する）ようにしたが、これに限定されず、例えば、酸素センサ２１のリッチ応答性を高める変更要求やリーン応答性を高める変更要求に応じてセンサ電極間に流れる電流値が切り換えられたときに、出力電圧変動情報を演算する（又は出力電圧変動情報を演算して異常診断を実行する）ようにしても良い。
【０１７４】
また、上記各実施例１〜６では、酸素センサ２１（センサ素子３１）の大気側電極層３４に定電流回路２７を接続する構成としたが、これに限定されず、例えば、酸素センサ２１（センサ素子３１）の排気側電極層３３に定電流回路２７を接続する構成としたり、或は、排気側電極層３３と大気側電極層３４の両方に定電流回路２７を接続する構成としても良い。
【０１７５】
また、上記各実施例１〜６では、コップ型構造のセンサ素子３１を有する酸素センサ２１を用いたシステムに本発明を適用したが、これに限定されず、例えば、積層構造型のセンサ素子を有する酸素センサを用いたシステムに本発明を適用しても良い。
【０１７６】
更に、酸素センサに限定されず、例えば、空燃比に応じたリニアな空燃比信号を出力する空燃比センサ、ＨＣ濃度を検出するＨＣセンサ、ＮＯX 濃度を検出するＮＯX センサ等の酸素センサ以外のガスセンサに本発明を適用しても良い。また、エンジン用以外のガスセンサに本発明を適用しても良い。
【符号の説明】
【０１７７】
１１…エンジン（内燃機関）、１７…排気管、２１…酸素センサ（ガスセンサ）、２５…ＥＣＵ（出力電圧変動情報演算手段，判定手段，異常診断手段，制御手段，センサ出力補正手段，禁止手段，目標値補正手段）、２６…マイコン、２７…定電流回路（定電流供給手段）、３１…センサ素子、３２…固体電解質層（固体電解質体）、３３…排気側電極層（センサ電極）、３４…大気側電極層（センサ電極）
【図１】
0005907345.tif 000002
【図２】
0005907345.tif 000003
【図３】
0005907345.tif 000004
【図４】
0005907345.tif 000005
【図５】
0005907345.tif 000006
【図６】
0005907345.tif 000007
【図７】
0005907345.tif 000008
【図８】
0005907345.tif 000009
【図９】
0005907345.tif 000010
【図１０】
0005907345.tif 000011
【図１１】
0005907345.tif 000012
【図１２】
0005907345.tif 000013
【図１３】
0005907345.tif 000014
【図１４】
0005907345.tif 000015
【図１５】
0005907345.tif 000016
【図１６】
0005907345.tif 000017
【図１７】
0005907345.tif 000018
【図１８】
0005907345.tif 000019
【図１９】
0005907345.tif 000020
【図２０】
0005907345.tif 000021