本発明が適用される車両用内燃機関の構成を、図1を参照して説明する。内燃機関10の吸気通路11には、その通路面積を可変とするスロットルバルブ15(本実施形態では電子制御式)が設けられ、その開度制御によりエアクリーナ14を通じて吸入される空気の量が調整される。ここで吸入された空気の量(吸入空気量)は、エアフローメータ16により検出されている。そして吸気通路11に吸入された空気は、スロットルバルブ15下流に設けられたインジェクタ17より噴射された燃料と混合された後、燃焼室12に送られて、そこで燃焼される。
一方、燃焼室12での燃焼により生じた排気ガスが送られる排気通路13には、排気ガス中の有害成分を浄化する三元触媒18が設けられ、その上流側には触媒前酸素センサ20、その下流側には触媒後酸素センサ19がそれぞれ設けられている。
三元触媒18は、燃焼される混合気の空燃比が理論空燃比(ストイキ)近傍の狭い範囲(ウインドウ)でのみ、排気ガス中の主要有害成分(HC、CO、NOx)のすべてを効率的に浄化する。そうした三元触媒18を有効に機能させるには、混合気の空燃比を上記ウインドウの中心に合わせこむ、厳密なコントロールが必要となる。
この空燃比の制御は、電子制御ユニット(以下「ECU」という)22により行われる。ECU22には、上記エアフローメータ16や酸素センサ20,19、あるいはアクセルペダルの踏み込み量(アクセル開度)を検出するアクセル開度センサ21、機関回転速度を検出する回転速度センサ23を始めとする各種センサ類の検出信号が入力されている。そして、それらセンサ類からの検出信号より把握される内燃機関10や車両の運転状況に応じて、上記スロットルバルブ15やインジェクタ17等を駆動制御して、上記の空燃比制御を行っている。空燃比制御の概要は次の通りである。
まずECU22は、アクセル開度や機関回転速度の検出結果に応じて把握される吸入空気量の要求量を求め、それに応じた吸入空気量が得られるようにスロットルバルブ15の開度を調整する。その一方、エアフローメータ16により検出される吸入空気量の実測値に対して、理論空燃比が得られるだけの燃料量を求め、それによりインジェクタ17からの燃料噴射量を調整する。これにより、燃焼室12で燃焼される混合気の空燃比を、ある程度に理論空燃比に近づけることはできる。ただし、それだけでは上記要求される高精度の空燃比制御には不十分である。
そこでECU22は、上記各酸素センサ20,19の出力信号より換算される空燃比の実測値に基づいて、インジェクタ17からの燃料噴射量をフィードバック補正し、要求される空燃比制御の精度を確保している。
以上のように、この排気ガス浄化システムでは、酸素センサ20,19の検出結果に応じて燃料噴射量をフィードバック補正する、いわゆる空燃比フィードバック制御を実施することで、混合気の空燃比を理論空燃比近傍に保持し、高い排気ガス浄化率を確保している。なお、この排気ガス浄化システムでは、上述のように2つの酸素センサ20,19によって、三元触媒18の上下流における排気ガスの酸素分圧ひいては空燃比をそれぞれ検出することで、上記空燃比フィードバック制御の更なる高精度化を図っている。
本実施形態で故障診断の対象となるのは触媒下流側の触媒後酸素センサ19である。よってこの触媒後酸素センサ19を中心に説明を行う。図2及び図3に示すように、酸素センサ19は、排気通路13内に突出するように配設された筒型の検出素子31を備えている。検出素子31は、その内面を大気(空気)に露呈するとともに、その外面は、センサカバー32を通して流過する排気ガスに曝される。また検出素子31は、内外の表面に電極33A,33Bが被覆された固体電解質により形成されている。固体電解質は、酸素がイオン化した状態でその内部を移動可能な固形物質であり、酸素センサ用としては例えばジルコニアなどが利用されている。検出素子31の内側の大気室34は、センサ内に設けられた図示しない大気通路と、センサボディに形成された大気穴35とを通じて外部に連通され、且つ大気が導出入可能となっている。なお大気通路又は大気穴35にはフィルタが設けられる。大気室34には、検出素子31を加熱して早期に活性化させるためのヒータ36が設けられ、ヒータ36はECU22によって通電制御される。
検出素子31を介して隔てられたその内側の大気と外側の排気ガスとの酸素分圧に差が生じると、その分圧の差を縮小すべく、酸素分圧の高い側(通常は大気側)の酸素がイオン化して固体電解質を通り、酸素分圧の低い側(通常は排気ガス側)へと移動する。酸素分子はイオン化する過程で4価の電子を受け取り、イオン化した状態から分子に戻る過程で4価の電子を放出する。そのため、上記の酸素の移動に応じて検出素子31の内外表面の電極で電子の移動が生じ、その結果、検出素子31に起電力が発生する。こうして酸素センサ19は、大気と排気ガスとの酸素分圧の差に応じて起電力を発生し、より具体的には、排気ガスの酸素濃度が少なくなるほど(つまり検出素子31外部の排気ガスの空燃比がリッチであるほど)大きな起電力を発生する。ここで酸素イオンが内表面側の電極33Aから検出素子31を通って外表面側の電極33Bに向かうことから、電流の向きは逆となり、両電極に接続された外部装置に対しては内表面側の電極33Aが正極、外表面側の電極33Bが負極となる。
ちなみに、酸素センサには他にも、板形状の検出素子を用いたものや、検出素子にジルコニア以外の素材を用いたものなど、様々なタイプの酸素センサがある。そしてその多くでは、上記例示したセンサと同様の検出原理により排気ガスの酸素分圧を検出する構成、すなわち基準ガス(大気)と排気ガスとを隔離するよう配設された検出素子が、基準ガスに対する排気ガスの酸素分圧の差に応じて起電力を発生する構成となっている。
酸素センサ19の出力特性を図4に例示する。示されるように、酸素センサ19の出力電圧は理論空燃比A/Fs(例えば14.6)を境に過渡的に変化し、酸素センサ19に供給される排気ガス(雰囲気ガス)の空燃比A/Fが理論空燃比A/Fsよりもリーンな領域(A/F>A/Fs、以下リーン空燃比ともいう)では0.1V程度の小さい電圧を示し、理論空燃比A/Fsよりもリッチな領域(A/F<A/Fs、以下リッチ空燃比ともいう)では0.9V程度の比較的高い電圧を示す。ここでは、0.45Vのセンサ出力をリッチ・リーン判定閾値として、ECU22が検出した酸素センサ19の出力電圧が、理論空燃比よりもリッチ相当かリーン相当かを判断している。なお、酸素センサ19の上記各領域でのセンサ出力電圧の大きさは、検出素子31の温度状態に応じて変化することがある。
触媒上流側の触媒前酸素センサ20については、本実施形態の場合、排気ガスの空燃比に応じてその出力値が線形的に変化する特性の、より分解能の高い酸素センサが用いられる。本実施形態の内燃機関が理論空燃比以外の空燃比(主にリーン空燃比)で燃焼されることがあるからである。一方、基本的に理論空燃比のみで燃焼される内燃機関の場合等では、触媒後酸素センサ19と同じ酸素センサが用いられてもよい。このセンサは理論空燃比よりリッチ及びリーンのいずれかといった低い分解能しか持たないものの、上記ストイキ燃焼のみを行うには、それで十分なことが多いからである。いずれにしても、本発明は、触媒上流側の触媒前酸素センサ20に対しても適用可能である。
ところで、長期使用による経年劣化等により、酸素センサ19の検出素子31にクラックが入ったり、検出素子31が割れたりするといった検出素子31の欠損が発生し、酸素センサ19が故障する場合がある。この欠損によるセンサ故障の場合、図5に示すように、検出素子31の欠損部37を通じて検出素子31の内外が連通し、検出素子31外部の排気ガスがその内部に侵入する。そして検出素子31内部に排気ガスが侵入した状態で、検出素子31外部により酸素濃度の高い(空燃比リーンの)排気ガスが存在すると、酸素センサ19において逆方向の起電力が発生する。このことは例えば、センサ故障状態で空燃比をリッチからリーンに切り替えた場合や、フューエルカットが行われた場合などに起こり得る。この場合、正極33Aの電位よりも負極33Bの電位の方が高くなり、負(マイナス)の出力電圧が発生することになる。
図6はかかる故障時の酸素センサ出力電圧の変化の一例を示す。円で囲った領域に示されるように、酸素センサ19からはしばしば負の電圧が出力される。従ってこのような負の出力電圧をECU22により検知することで、酸素センサの故障を一応は推定することができる。
しかしながら、前述したように、酸素センサ19が欠損故障しておらず、正常な場合であっても、内燃機関始動後の暖機中に酸素センサ19から負の出力電圧が発生することがある。従って、この場合にも酸素センサ19の故障と判断してしまうことは誤判定となり、故障診断の精度を落としめる結果となる。
図7には、酸素センサが正常な場合における、内燃機関始動後の暖機中における酸素センサ出力電圧(実線)の変化を調べた試験結果を示す。なお酸素センサの検出素子のインピーダンス(以下、「素子インピーダンス」ともいう)(一点鎖線)の変化を併記した。素子インピーダンスは酸素センサの検出素子の温度(以下、「素子温」ともいう)に相関する値であり、両者は、素子温が高温になるほどに素子インピーダンスが低くなるという関係にある。従って図から素子温が次第に上昇していることが理解されよう。
図示されるように、内燃機関の始動時(t=0)から一定期間、酸素センサ出力電圧が0Vとなっている。これは酸素センサの素子温が未だ活性温度に達しておらず電圧を出力できないからである。その後、酸素センサの暖機が終了し、検出素子が活性化すると、破線円で示されるように、負の電圧が酸素センサから出力されることがある。この理由は、内燃機関始動前の機関停止中に検出素子内側の大気室に凝縮水などが発生し、大気室に水分が存在するからである。即ち、図2及び図3を参照して、内燃機関停止中には大気通路や大気穴35を通じて大気室34内に水分を含む外気が浸入し、さらに大気室34や検出素子31の温度も低下するので、大気室34内に凝縮水が生成される。この凝縮水が、内燃機関始動後、ヒータ36への通電とも相俟って、大気室34及び検出素子31の温度上昇と共に蒸発し、このとき水分の蒸発による体積膨張に起因して大気室34内の空気が外部に駆逐され、即ち追い出される。こうなると大気室34内が所謂酸欠状態となり、検出素子31の内外の酸素分圧が逆転して酸素センサ19から負の電圧が出力される。この後、水蒸気は大気室34から追い出され、代わりに大気室36内に大気が再び戻る或いは再導入されるようになる。こうなると検出素子31の内外に正常な酸素分圧の差が生じるようになり、酸素センサ19からは正の電圧が出力されるようになる。
かような理由で、内燃機関始動後のセンサ暖機中に正常な酸素センサから負の電圧が出力されてしまうことがあり得る。よってこの場合に酸素センサの故障と誤判定することを防止するため、本実施形態では、酸素センサ19からの負の出力電圧が検出されたとき、この出力電圧が負からゼロ以上に復帰する際の復帰状態に基づき、酸素センサ19の故障を判定することとしている。以下これについて説明する。
図8は、酸素センサ19から負電圧が出力されたときの出力挙動を示す模式図である。実線aは、正常な酸素センサ(「正常センサ」という)の場合であって且つ上述の水分の影響により負電圧が発生している場合である。この場合を「水分影響の場合」という。他方、一点鎖線bは、故障している酸素センサ(「故障センサ」という)の場合であって且つフューエルカット(F/C)等により酸素濃度の高い(空燃比リーンの)排気ガスが酸素センサに供給され、負電圧が発生している場合である。この場合を「センサ故障の場合」という。なお、t=0の時点でフューエルカットが開始されているものとする。
図から分かるように、水分影響の場合、センサ故障の場合よりも負電圧が長く発生しているのが分かる。また図では同一値に示されているが、センサ故障の場合、水分影響の場合よりも負電圧のマイナス方向のピーク値(「負電圧最大値」という)の値がマイナス側に大きい傾向にある。つまり、水分影響の場合、小さい負電圧が長時間発生する傾向にあり、センサ故障の場合、大きな負電圧が極短時間だけ発生する傾向にある。
この理由を図9を用いて説明する。図中、上段にはセンサ故障の場合を示し、下段には水分影響の場合を示す。センサ故障の場合、通常時に検出素子31の欠損部37から排ガスが検出素子31内に侵入する。そしてこの排ガスは、元々検出素子31内にあった酸素(空気)を外部に押し出し、検出素子31内を酸欠状態へと至らしめる。次いで、フューエルカット開始直後、検出素子31の外側には酸素が到達し、これによって検出素子31内外の酸素分圧が逆転し、負電圧が発生する。しかしながら、フューエルカットが継続されると、検出素子31外の空気が欠損部37から検出素子31内に侵入し、検出素子31内の排ガスを外部に押し出す。これによって検出素子31内外の酸素分圧の差が無くなり、負電圧が発生しなくなると共に、センサ出力電圧はゼロ若しくは正の電圧に復帰する。このように負電圧は、フューエルカット開始直後の極短時間だけ発生する。なお、フューエルカットに限らず、検出素子31内に排ガスが十分存在する状態で検出素子31外に酸素濃度のより高い(リーンの)排ガスが到達したような場合にも、同様に、その到達直後の短時間だけ負電圧が発生する。
他方、水分影響の場合、通常時に検出素子31外に排ガスがあり、検出素子31内では溜まった水分が蒸発して水蒸気となり、この水蒸気が元々検出素子31内にあった酸素(空気)を外部に押し出し、検出素子31内を酸欠状態へと至らしめる。これによっても検出素子31内外の酸素分圧が逆転し、負電圧が発生する可能性があるが、特にこの状態でフューエルカットが行われると、フューエルカット開始直後、検出素子31の外側に酸素が到達することから、検出素子31内外の酸素分圧は明らかに逆転し、負電圧が発生する。その後、フューエルカット継続中、検出素子31内では未だ溜まった水分が蒸発し続けていることから、検出素子31内に水蒸気が満たされ、酸欠状態が継続する。よって水分が十分蒸発して、水分及び水蒸気と外気とが十分交換されるまで、負電圧は比較的長時間発生し続け、且つ、センサ出力電圧は緩やかにゼロ若しくは正の電圧に復帰するようになる。
図10及び図11には、センサ故障の場合と水分影響の場合とで負電圧発生状況を調べた試験結果をそれぞれ示す。まず、図10に示すセンサ故障の場合、図中円内に見られるように、フューエルカット開始直後に極短時間だけ負電圧が発生していることが分かる。そして、その負電圧継続時間は0.6秒或いは1.5秒という値であった。なお、この試験結果において、素子インピーダンスeは約170Ω、素子温にして約550℃であり、素子温は活性開始温度である400℃よりも高く、酸素センサは十分活性化している。
他方、図11に示す水分影響の場合、図中のセンサ出力cの円内に見られるように、酸素センサの活性開始直後、長時間に亘って負電圧が発生していることが分かる。その負電圧継続時間は133秒という値であった。この試験結果は、機関始動後の酸素センサ暖機中のものであり、図中の素子インピーダンスeの円内に見られるように、素子インピーダンスeは約50kΩから約2kΩに、素子温にして約300℃から約450℃に変化している。素子温の活性開始温度は、十分な精度を満足できる値として一応400℃と予め定められているものの、それより若干低くてもセンサは電圧を出力可能であり、この実質的な活性化状態が開始したと同時に水分影響で負電圧が発生する。
このように、センサ故障の場合と水分影響の場合とでは、センサ出力電圧が負からゼロ以上に復帰する際のセンサ出力電圧の挙動が異なる。そこで本発明では、この挙動の違いを利用してセンサ故障の場合を水分影響の場合と区別して判定することとしている。
その第1の態様は、センサ出力電圧が負からゼロ以上に復帰する際の復帰時間を計測してその復帰時間を所定時間と比較し、復帰時間が所定時間より短いとき、酸素センサ19を故障と判定するものである。前述したように、センサ故障の場合は水分影響の場合より復帰時間が短いので、その復帰時間が所定時間より短いとき、センサの故障を水分影響の場合と区別して特定することができる。これにより誤判定を防止し、診断精度を高めることができる。
第2の態様は、センサ出力電圧が負からゼロ以上に復帰する際のセンサ出力の軌跡長(「出力軌跡長」という)を所定値と比較し、出力軌跡長が所定値より小さいとき、酸素センサ19を故障と判定するものである。出力軌跡長は、端的に言えば図8に示されたようなセンサ出力線図の長さである。センサ故障の場合は水分影響の場合より出力軌跡長が小さくなる傾向にあるので、その出力軌跡長が所定値より小さいとき、センサの故障を水分影響の場合と区別して特定することができる。これにより誤判定を防止し、診断精度を高めることができる。
第3の態様は、センサ出力電圧が負からゼロ以上に復帰する際のセンサ出力の面積(「出力面積」という)を所定値と比較し、出力面積が所定値より小さいとき、酸素センサ19を故障と判定するものである。出力面積は、端的に言えば図8に示されたようなセンサ出力線図と、センサ出力=ゼロの直線とで囲まれた面積である。センサ故障の場合は水分影響の場合より出力面積が小さくなる傾向にあるので、その出力面積が所定値より小さいとき、センサの故障を水分影響の場合と区別して特定することができる。これにより誤判定を防止し、診断精度を高めることができる。
なお、第2及び第3の態様を合体し、出力軌跡長と出力面積との両方が各々に対応する所定値より小さいとき、酸素センサ19を故障と判定してもよい。
以下、故障診断の第1乃至第3の態様の具体的処理を説明する。まず図12に、故障診断の第1の態様の具体的処理を示す。この処理は所定の処理周期毎にECU22によって繰り返し実行される。
まずステップS101では、故障診断を開始するための前提条件が成立しているか否かが判断される。この前提条件が成立している場合とは、例えば、1)エンジン始動後であること、2)機関水温が所定温度(例えば0℃)を超えていること、3)酸素センサ19の暖機が終了していること、の全てが満たされている場合である。機関水温は図示しない水温センサで検出される。また、酸素センサ19の暖機が終了しているか否かは例えば次のようにして判断される。即ち、ECU22によって検出された素子インピーダンスRsが、活性開始温度(本実施形態では400℃)相当の所定値を下回っていれば暖機終了、そうでなければ暖機未終了と判断される。
前提条件が成立していない場合には本処理が終了される。他方、前提条件が成立している場合にはステップS102に進み、酸素センサ19からの出力電圧、即ちセンサ出力Vsが取得或いは検出される。
次にステップS103において、取得されたセンサ出力Vsが所定値Vs0と比較される。所定値Vs0は本実施形態では0(V)に設定されているが、アナログ−デジタル変換誤差や回路誤差等を考慮して、0(V)より僅かに小さい値、例えば−50(mV)などに設定されてもよい。或いは、0(V)より僅かに大きい値、例えば50(mV)などに設定されてもよい。これにより、実質的に、酸素センサ19から負電圧が発生したか否かが判断される。
センサ出力Vsが所定値Vs0より小さいとき、即ち負電圧が発生しているときには、ステップS104で負電圧履歴フラグがオンされ、負電圧が発生したことの履歴が記憶される。そして、ステップS105で、ECU22に備えられた負電圧継続時間カウンタのカウンタ値Cがカウントアップされ、本処理が終了される。ステップS105が繰り返し実行されることにより、センサ出力Vsが負となった時からゼロ以上に復帰する時までの復帰時間が順次計測されていくことになる。
他方、センサ出力Vsが所定値Vs0以上のとき、即ち負電圧が発生していないとき或いはセンサ出力Vsが負からゼロ以上に復帰したときには、ステップS106で負電圧履歴フラグがオンか否かが判断される。負電圧履歴フラグがオンでないとき、即ちオフのときは、本処理が終了される。なお、センサ出力Vsが正である通常時には、ステップS103:NO、ステップS106:NOとなって正常・故障の判定はなされない。
他方、負電圧履歴フラグがオンならば、ステップS107で、負電圧継続時間カウンタ値Cが所定値C1,C2(但しC1<C2)の間の範囲内にあるか否かが判断される。所定値C1及びC2は、例えば図10の試験結果に基づき、0及び2(sec)に相当する比較的小さい値に設定される。つまりここでは、負電圧継続時間カウンタ値C即ち復帰時間が、センサ故障とみなせるほどに小さい値であるか否かが判断されている。実質的には、復帰時間が、C2相当未満の極短時間であるか否かが判断されている。
負電圧継続時間カウンタ値Cが所定値C1より大きく且つ所定値C2より小さい場合、ステップS108に進んで、負電圧履歴フラグがオフされ、負電圧継続時間カウンタがクリアされる。そして、ステップS109において、酸素センサ19が故障と判定され、本処理が終了される。
他方、負電圧継続時間カウンタ値Cが所定値C1以下か又は所定値C2以上の場合(実質的には所定値C2以上の場合)、センサは正常だが単に水分影響で負電圧が発生している可能性がある。この場合には故障判定が保留され、ステップS110に進んでステップS108と同様、負電圧履歴フラグがオフされ、負電圧継続時間カウンタがクリアされる。そしてステップS111に進む。
ステップS111では、酸素センサ19を正常と判定するための所定条件が成立しているか否かが判断される。この条件とは、故障センサの場合に必ず負電圧が発生する条件で負電圧が発生しないことである。故障センサの場合に必ず負電圧が発生する条件とは、例えば、内燃機関の高負荷運転後のフューエルカット開始直後の場合などである。高負荷運転となっていることは、吸入空気量やアクセル開度の検出値が所定値以上となっていることで判断でき、フューエルカット開始直後であることは、フューエルカットフラグがオンとなった時から所定時間以内であることを以て判断できる。
正常判定条件が成立していない場合には本処理が終了される。他方、正常判定条件が成立している場合にはステップS112に進み、酸素センサ19が正常と判定され、本処理が終了される。このように、センサ故障と判定しない場合に一律にセンサ正常と判定するのではなく、センサ故障と判定しない場合に、正常判定条件が成立した場合に限ってセンサ正常と判定するので、正常判定の正確性を増し、診断精度を向上することができる。
次に、図13に、故障診断の第2の態様の具体的処理を示す。この処理も所定の処理周期毎にECU22によって繰り返し実行される。なお、故障診断の第3の態様の具体的処理は第2の態様のそれとほぼ同じであり、異なるのは、第2の態様の「出力軌跡長」が「出力面積」に置き換わることだけである。よって第3の態様の具体的処理については、図13に括弧書きで「面積」の文字を付記し、相違点を説明するのみに止める。
ステップS201〜S204は前記ステップS101〜S104と同様である。ステップS204の後にステップS205に進み、負電圧が発生しているときの出力軌跡長Rが積算される。即ち、図14に示すように、今回tnのセンサ出力Vsnと前回tn-1のセンサ出力Vsn-1との差の絶対値(=|Vsn−Vsn-1|)が、今回tnの出力軌跡長Rnとして算出され、この今回tnの出力軌跡長Rnが、前回tn-1に算出された出力軌跡長積算値ΣRn-1に加算され、今回tnの出力軌跡長積算値ΣRnが算出される。なお図中Δtは処理周期を表す。
第3の態様の場合はここで出力面積Rが積算される。即ち、図14に示すように、今回tnにおける0とセンサ出力Vsnとの差の絶対値(=|0−Vsn|)が、今回tnの出力面積Rnとして算出され、この今回tnの出力面積Rnが、前回tn-1に算出された出力面積積算値ΣRn-1に加算され、今回tnの出力面積積算値ΣRnが算出される。こうして積算される出力面積は最終的に図14のハッチング領域の面積を表すこととなる。
図13に戻って、ステップS206は前記ステップS106と同様である。ステップS206で負電圧履歴フラグがオンならば、ステップS207で、最終的に算出された出力軌跡長積算値(第3の態様の場合には出力面積積算値、以下同様)ΣRが所定値ΣR1より小さいか否かが判断される。所定値ΣR1は比較的小さい値に設定されており、即ちここでは、出力軌跡長積算値ΣRがセンサ故障とみなせるほどに小さい値であるか否かが判断されている。
出力軌跡長積算値ΣRが所定値ΣR1より小さい場合、ステップS208に進んで、負電圧履歴フラグがオフされ、出力軌跡長積算値ΣRがクリアされる。そして、ステップS209において、酸素センサ19が故障と判定され、本処理が終了される。
他方、出力軌跡長積算値ΣRが所定値ΣR1以上の場合、ステップS210に進んでステップS208と同様の処理がなされ、ステップS211に進む。そしてステップS211では前記ステップS111同様、所定の正常判定条件が成立しているか否かが判断される。正常判定条件が成立していない場合には本処理が終了され、他方、正常判定条件が成立している場合にはステップS212で酸素センサ19が正常と判定され、本処理が終了される。
なお、第2及び第3の態様を組み合わせた場合には、ステップS205の積算、ステップS207の比較及びステップS208,S210の積算値クリアが、出力軌跡長と出力面積との両方について行われることになる。
次に、故障診断の第4及び第5の態様を説明する。この第4及び第5の態様は、第2及び第3の態様の欠点を克服することを狙いとする。第2及び第3の態様では、センサ出力の軌跡長及び面積の大小によってセンサ故障の場合と水分影響の場合とを区別していた。しかし、これだと、図15に示すように、センサ故障の場合(一点鎖線b)と水分影響の場合(実線a)とで、出力軌跡長又は出力面積に顕著な差が生じない場合に、両者を識別できないことが起こり得る。この場合とは、例えば、酸素センサ19の大気室34に水分が少量しか含まれていなかった場合である。この場合、水分が比較的短時間で蒸発してしまって、外気との交換が短時間で終了する。
そこで、第4の態様では、出力軌跡長及び出力面積の少なくとも一方を、負電圧のマイナス方向のピーク値即ち負電圧最大値で規格化し、その値に基づいて両者を識別する。ここで、負電圧最大値はそれ自体正の値とし、センサ出力電圧のマイナスピーク値がマイナス側に向かうほど、負電圧最大値は大きくなるものとする。図15に示すように、センサ故障の場合は水分影響の場合に比べ、負電圧最大値Vspが大きくなるという違いがある(Vspb>Vspa)。そこで、出力軌跡長又は面積Rと負電圧最大値Vspとの比即ち負電圧比Y(=R/Vsp)を定義する。こうすると、出力軌跡長又は面積Rが同一でも、センサ故障の場合は水分影響の場合に比べ、負電圧比Yが小さくなる。よって、負電圧比Yが所定値より小さいことを以て、水分影響の場合と区別して酸素センサ19を故障と特定できる。
他方、第5の態様では、センサ出力が負からゼロ以上に復帰する際の、負電圧最大値検出時期以降の出力勾配に基づいて、両者を識別する。即ち、図15に示すように、負電圧最大値Vspが検出された時期以降のセンサ出力の勾配(傾き)Zは、センサ故障の場合の方が水分影響の場合に比べ大きくなるという違いがある(Zb>Za)。よって、出力勾配Zが所定値より大きいことを以て、水分影響の場合と区別して酸素センサ19を故障と特定できる。出力軌跡長又は面積Rが同一でも、これとは無関係にセンサ故障を特定できる。
以下、図16を用いて、故障診断の第4の態様の具体的処理を説明する。この処理も所定の処理周期毎にECU22によって繰り返し実行される。なお、負電圧比Yは、出力軌跡長と負電圧最大値との比及び出力面積と負電圧最大値との比のいずれであってもよいが、ここでは前者を採用し、後者については図16に括弧書きで「面積」の文字を付記するに止める。
ステップS301〜S305は前記ステップS201〜S205と同様である。ステップS305の後にステップS306に進み、負電圧最大値Vspが更新される。即ち、今回のセンサ出力Vsの絶対値と、前回までに記憶された負電圧最大値Vspとが比較され、前者が後者より大きければ前者が新たな負電圧最大値Vspとして記憶され、前者が後者以下ならば後者の値が負電圧最大値Vspとして記憶保持される。
ステップS307は前記ステップS206と同様である。ステップS307で負電圧履歴フラグがオンならば、ステップS308において負電圧比Y=ΣR/Vspが算出される。そしてステップS309でこの負電圧比Yが所定値Y1より小さいか否かが判断される。所定値Y1は比較的小さい値に設定されている。
負電圧比Yが所定値Y1より小さい場合、ステップS310に進んで、負電圧履歴フラグがオフされ、出力軌跡長積算値ΣRがクリアされ、負電圧最大値Vspがクリアされる。そして、ステップS311において、酸素センサ19が故障と判定され、本処理が終了される。
他方、負電圧比Yが所定値Y1以上の場合、ステップS312に進んでステップS310と同様の処理がなされ、ステップS313で前記ステップS211同様、所定の正常判定条件が成立しているか否かが判断される。正常判定条件が成立していない場合には本処理が終了され、他方、正常判定条件が成立している場合にはステップS314で酸素センサ19が正常と判定され、本処理が終了される。
なお、負電圧比Yとして、出力軌跡長と負電圧最大値との比及び出力面積と負電圧最大値との比といった二つの負電圧比を用いることもできる。この場合には、ステップS305の積算及びステップS310,S312の積算値クリアが、出力軌跡長と出力面積との両方について行われ、ステップS309の比較が二つの負電圧比のそれぞれについて行われることになる。
次に、図17を用いて、故障診断の第5の態様の具体的処理を説明する。この処理も所定の処理周期毎にECU22によって繰り返し実行される。
ステップS401〜S404及びS405は前記ステップS301〜S304及びS306と同様である。ステップS405の後にステップS406に進み、負電圧最大値Vspの検出時期tpが更新される。即ち、ステップS405で負電圧最大値Vspが新たな値に更新される度に、その新たな値に対応する今回時期(今回の処理タイミング)が、新たな負電圧最大値検出時期tpとして更新記憶される。
ステップS407は前記ステップS307と同様である。ステップS407で負電圧履歴フラグがオンならば、ステップS408において出力勾配Zが算出される。出力勾配Zは式:Z=Vsp/(tn−tp)によって算出される。tnは、負電圧がゼロ以上の電圧に復帰した現在時点即ち今回時期を表す。これによって、図15に示したような、負電圧最大値Vspの検出ないし発生時点から、負電圧がゼロ以上の電圧に復帰した時点までの間の出力勾配Zが算出されることとなる。
なお、出力勾配Zの算出方法はこれに限定されず、負電圧最大値検出時期tp以降で負電圧発生中のいずれの期間の出力勾配であってもよい。本実施形態では負電圧最大値検出時期tp以降の全期間の出力勾配を算出するようにしたが、前半期間、後半期間、中間期間など、部分期間の出力勾配を算出するようにしてもよい。
次いで、ステップS409では、出力勾配Zが所定値Z1より大きいか否かが判断される。所定値Z1は比較的大きい値に設定されている。
出力勾配Zが所定値Z1より大きい場合、ステップS410に進んで、負電圧履歴フラグがオフされ、負電圧最大値Vspがクリアされ、負電圧最大値検出時期tpがクリアされる。そして、ステップS411において、酸素センサ19が故障と判定され、本処理が終了される。
他方、出力勾配Zが所定値Z1以下の場合、ステップS412に進んでステップS410と同様の処理がなされ、ステップS413で前記ステップS313同様、所定の正常判定条件が成立しているか否かが判断される。正常判定条件が成立していない場合には本処理が終了され、他方、正常判定条件が成立している場合にはステップS414で酸素センサ19が正常と判定され、本処理が終了される。
ところで、これら第1〜第5の態様は、センサ故障の場合と水分影響の場合とでセンサ出力の挙動が異なることを利用して、センサ故障の場合を水分影響の場合と区別して判定するものであった。これに対し、次に述べる第6の態様は、センサ故障の場合と水分影響の場合とで負電圧検出前の排気状態が異なることを利用して、その排気状態に基づき、センサ故障を水分影響の場合と区別して判定する。なお、排気状態が機関運転状態に応じて変わることから、排気状態を機関運転状態に置き換えてもよい。
図18及び図19には、負電圧発生前の排気空燃比がストイキよりリーンの場合と、ストイキ又はそれよりリッチの場合とで、負電圧発生状況を調べた別の試験結果をそれぞれ示す。まず、図18に示すリーンの場合、見られるように、空燃比aが強制的に一定のリーン値となるように制御されている(A/F=15.1)。一点鎖線b,dは水分影響(正常センサ)の場合を示し、実線c,eは故障センサの場合を示す。この試験結果は、機関始動後の酸素センサ暖機中のものであり、素子インピーダンスd,eは次第に低い値に、即ち素子温は次第に高い値に推移している。検出素子が活性開始すると同時にセンサ出力が発生するが、このとき、水分影響の場合のセンサ出力bは負となっており、故障センサの場合のセンサ出力cは正となっている。水分影響の場合にセンサ出力bが負となる理由は前述したとおりである。故障センサの場合にセンサ出力cが正となる理由は、検出素子の活性開始前に既に検出素子の欠損部を通じて検出素子内にリーンガスが取り込まれており、検出素子が活性開始となっても、検出素子内外に酸素の少ないリーンガスが存在し、両者の酸素分圧の差が生じず、酸素分圧が逆転しないためである。なお理論上は活性開始後にゼロの電圧が出力されるはずであるが、活性開始直後はセンサ出力が安定せず、微妙に正の値を出力する傾向にあるので、センサ出力が正となっている。
次に、図19に示す例の場合、見られるように空燃比aは、通常リッチ(A/F=14.1)に強制的に制御され、時々フューエルカットが実行される関係でリーンとなっている。一点鎖線b,dは正常センサの場合を示し、実線c,eは故障センサの場合を示す。この試験結果は、酸素センサが十分暖機された後のものであり、素子インピーダンスd,eは十分小さな値に、即ち素子温は十分高い値になっている。フューエルカット開始直後、正常センサの場合のセンサ出力bはリーン空燃比に対応した小さな正電圧となっている。これに対し、故障センサの場合のセンサ出力cは負となっている。故障センサの場合にセンサ出力cが負となる理由は前述した通りである。
このように、故障センサの負電圧は、負電圧発生前に検出素子内に酸素の少ないガスが入らないと発生しない。他方、正常センサの負電圧は、水分の蒸発によるものであり、負電圧発生前のガス状態と無関係である。かかる観点から、第6の態様では、負電圧検出前の排気状態に基づいて、センサ故障を水分影響の場合と区別して判定する。
図20に、故障診断の第6の態様の具体的処理を示す。この処理も所定の処理周期毎にECU22によって繰り返し実行される。
ステップS501、S502は前記ステップS401、S402と同様である。次のステップS503では排気空燃比がストイキより大きい値か否か、即ちストイキよりリーンであるか否かが判断される。ここで排気空燃比の値としては、空燃比制御に用いる目標空燃比の値や、吸入空気量及び燃料噴射量から算出される混合気空燃比の値などで代用することもできるが、本実施形態では、より酸素センサ19に近い位置での排気空燃比とするため、触媒前酸素センサ20で検出された排気空燃比を用いている。
排気空燃比がストイキより大きい値の場合、ステップS504で、ECU22に備えられたリーン運転継続カウンタのカウンタ値Kがカウントアップされる。他方、排気空燃比がストイキ以下の値の場合、即ちストイキ又はリッチの値の場合、ステップS505で、リーン運転継続カウンタのカウンタ値Kがクリアされる。
その後、ステップS506に進み、前記ステップS403同様、センサ出力Vsが所定値Vs0より小さいか否か、即ち負電圧が検出されたか否かが判断される。
センサ出力Vsが所定値Vs0より小さいとき、ステップS507に進んで、リーン運転継続カウンタ値Kが所定値K1より小さいか否かが判断される。所定値K1は比較的小さい値である。即ちここでは、負電圧検出と同時に、その前(特に直前)のリーン運転継続時間が所定時間より少ないか否かが判断されており、これは即ち、負電圧検出前に、排気空燃比のリーン状態が所定時間未満しか継続していなかったか否かが判断されているのと同義である。リーン運転継続カウンタ値Kが所定値K1より小さい場合、ステップS508にて酸素センサ19は故障と判定され、本処理が終了される。
負電圧検出前に、排気空燃比のリーン状態が所定時間未満しか継続していない場合、仮にセンサが故障しているならば、負電圧検出前に検出素子内に酸素の少ないストイキ又はリッチのガスが多く浸入していると考えられる。そしてその負電圧は、排気空燃比がフューエルカット等でリーン側に変化し、検出素子内外の酸素分圧が逆転したために発生したものと考えられる。なお、フューエルカットの開始時、即ち触媒前酸素センサ20で最初にリーン空燃比が検出された時から、負電圧発生時までの間には、短いながらも時間遅れがある。
この時間遅れの原因は、単に通路長に基づく輸送遅れの他、触媒が酸素吸蔵型の場合に触媒での酸素吸蔵時間があることによる。よって、負電圧検出前に排気空燃比のリーン状態が所定時間未満しか継続していない場合とは、負電圧検出前に先の時間遅れに基づくリーン状態が短時間続き、さらにその前がストイキ又はリッチ状態であったともいえる。いずれにしても、負電圧検出前に、排気空燃比のリーン状態が所定時間未満しか継続していない場合には、酸素センサ19の故障を水分影響の場合と区別して判定できる。
他方、ステップS507でリーン運転継続カウンタ値Kが所定値K1以上の場合、水分影響で負電圧が発生している可能性があるため、故障判定を保留して本処理が直ちに終了される。
ステップS506でセンサ出力Vsが所定値Vs0以上のとき、即ち負電圧が発生していないときには、ステップS509で前記ステップS413同様、所定の正常判定条件が成立しているか否かが判断される。正常判定条件が成立していない場合には本処理が終了され、他方、正常判定条件が成立している場合にはステップS510で酸素センサ19が正常と判定され、本処理が終了される。
ところで、センサ故障の場合を水分影響の場合と区別して精度良く判定するには、酸素センサ19の検出素子31内に排気ガスを十分に充填し、且つ検出素子31外をできるだけリーンな雰囲気、最良にはフューエルカット(F/C)時の如く空気雰囲気にするような状態を確保した上で故障診断を行うのが好ましい。そこで第1〜5の態様に関連して、前記ステップS101、S201、S301及びS401の少なくとも一つにおいて、次のような前提条件成立判定処理を行い、その結果として前提条件成立の有無を判定することも可能である。
図21に前提条件成立判定処理を示す。この処理は所定の処理周期毎にECU22によって繰り返し実行される。
まずステップS601では、前提条件のうちの基本的条件、即ち基本前提条件が成立しているか否かが判断される。この基本前提条件が成立している場合とは、例えば前記ステップS101等で述べた条件、即ち1)エンジン始動後であること、2)機関水温が所定温度(例えば0℃)を超えていること、3)酸素センサ19の暖機が終了していること、の全てが満たされている場合である。基本前提条件が成立していない場合には本処理が終了される。他方、基本前提条件が成立している場合にはステップS602に進み、酸素センサ19に供給される排気ガスの空燃比がストイキ又はそれよりリッチであるか否かが判断される。具体的には、触媒前センサ20で検出された空燃比がストイキ又はそれよりリッチであるか否かが判断される。
判断結果がノーの場合には本処理が終了される。他方、判断結果がイエスの場合、ステップS603に進み、エアフローメータ16で検出された吸入空気量Gaが所定値Gas(例えば20g/s)より大きいか否かが判断される。吸入空気量Gaは排気ガス量の代用値として用いられており、ここでは実質的に、故障センサの場合に検出素子31内への排気ガスの浸入を許容するほどに、酸素センサ19に供給される排気ガスの流量が十分大きいか否かが判断されている。
次いでステップS604にてステップS603の吸入空気量検出値Gaが積算され、その積算値ΣGaが算出される。そしてステップS605で積算値ΣGaが所定値ΣGas(例えば1000g)と比較される。ここでは実質的に、故障センサの場合に検出素子31内にストイキ又はリッチの排気ガスが診断に適した十分な量だけ浸入したか否かが判断されている。積算値ΣGaが所定値ΣGas以下の場合、本処理が終了され、他方、積算値ΣGaが所定値ΣGasより大きい場合、ステップS606にて、故障センサの場合に検出素子31内にストイキ又はリッチの排気ガスが十分に充填されたという条件、即ちガス充填条件が成立とされる。
次いでステップS607にて、フューエルカット解除を遅延させるための解除遅延処理として、フューエルカット解除(或いはフューエルカットから通常制御への復帰)の際の所定のディレー時間tdが設定される。
即ち、フューエルカットは、所定のフューエルカット条件の成立の有無に応じて実行又は解除される。このフューエルカット条件とは、1)アクセル開度センサ21によって検出されたアクセル開度Acが全閉とみなせる開度であること、及び2)回転速度センサ23で検出された機関回転速度Neが所定のアイドル速度より若干高い所定速度Nefc以上であること、の二条件を満たすことである。ECU20はフューエルカット条件が成立するとインジェクタ17の通電を停止して燃料噴射を停止し、フューエルカットを実行する。他方、ECU20はフューエルカット条件が非成立となるとフューエルカットを解除し、燃料噴射を実行ないし再開する。
ここで通常時は、フューエルカット条件が非成立となるとその時から直ちにフューエルカットが解除されるのだが、本処理ではフューエルカット条件非成立後にもフューエルカットを継続させるため、前記ディレー時間tdが設定される。つまりフューエルカット条件非成立時からディレー時間tdの経過後にフューエルカットが解除される。
このようにディレー時間tdを設定し、フューエルカット解除を遅らせるようにすれば、単純にフューエルカットを長く継続できるのみならず、例えば意図せぬ短時間のアクセル操作(踏み込み)によりフューエルカットが解除されてしまうのを回避できる。即ち、当該アクセル操作によりフューエルカット条件が一時的に非成立となっても、ディレー時間td中にアクセルが戻されてフューエルカット条件が再成立する可能性がある。これによりフューエルカットをより長く継続でき、検出素子31外を空気雰囲気に確実に維持することが可能となる。
次に、ステップS608ではフューエルカットが実行されているか否かが判断される。
フューエルカットが実行されている場合、ステップS609において、フューエルカット解除を遅延させるための解除遅延処理として、フューエルカットを解除する機関回転速度が、基準速度である前記所定速度Nefcから、これよりも低い値Nefc’に変更設定される。こうしてもディレー時間tdを設定した場合と同様に、フューエルカット条件が非成立となり難くなり、フューエルカット解除を遅らせることができる。そして検出素子31外を空気雰囲気に確実に維持することが可能となる。
次いでステップS610では、フューエルカットが所定時間tfcsより長く継続されたか否かが判断される。この判断結果がイエスの場合、ステップS611に進んで前提条件成立とされ、本処理が終了される。つまりこの場合はストイキ又はリッチの排気ガスが検出素子31内に十分満たされ、その後検出素子31外が十分に空気雰囲気となった場合なので、前提条件成立とし、その後の故障診断処理を許容する。
他方、ステップS608でフューエルカットが実行されてないと判断した場合、及びステップS610でフューエルカットが所定時間tfcsより長く継続されてないと判断した場合、ステップS612でフューエルカット解除後の燃料増量制御が禁止され、且つ空燃比が弱リーン、即ちストイキよりも若干リーンに制御される。なお、フューエルカットが所定時間より長く継続されてない場合には、フューエルカットが実行されてない場合が含まれる。
フューエルカット解除後の燃料増量制御は通常制御時に行われる制御であり、フューエルカット解除後、燃料噴射量をストイキ相当の値よりも増量する制御である。フューエルカット解除直後には壁面への付着燃料が殆ど無く、その影響で燃焼室内の混合気がストイキよりリーン気味となるので、これを補うべく燃料増量制御が行われる。また、フューエルカットから通常制御への復帰直後に機関回転速度がアイドル速度よりも落ち込んだりハンチングを起こしたりする場合があるので、これを防止する目的で燃料増量制御が行われる。
このようにフューエルカット解除後の燃料増量制御が禁止され、且つ弱リーン制御が実施されると、フューエルカットが実行されなかったりフューエルカット継続時間が短かった場合でも、検出素子31外を一応はリーン雰囲気にしておくことができる。よってセンサ故障の場合に検出素子31内をストイキ又はリッチ雰囲気とし、検出素子31外をリーン雰囲気とし、故障診断処理を特に問題なく行える検出素子内外のガス状態を実現することができる。なお、弱リーン制御は少なくとも故障診断処理の終了時まで継続されるのが好ましい。
こうして燃料増量制御が禁止され、且つ弱リーン制御が実施されたならば、ステップS611に進んで前提条件成立とされ、本処理が終了される。
なお、ここではディレー時間の設定とフューエルカット解除速度の変更設定との両者を行うようにしたが、いずれか一方のみを行う変形例も可能である。同様に、ここではフューエルカット解除後の燃料増量制御禁止と弱リーン制御との両者を行うようにしたが、いずれか一方のみを行う変形例も可能である。
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば内燃機関は車載用に限定されず、酸素センサの配置方法や設置位置も任意に変更が可能である。また、前記実施形態で用いられた数値等は任意に変更が可能である。
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。