(57)【要約】【課題】触媒の上流側の空燃比センサのリッチ側空燃比（ストイキよりもリッチ側の空燃比）に対する検出精度の異常の有無を判定できるようにする。【解決手段】目標空燃比がリッチ側空燃比のときに、触媒２４の上流側の空燃比センサ２５の出力に基づいて触媒２４の上流側の排出ガスの空燃比を目標空燃比（リッチ側空燃比）に一致させるように燃料噴射弁２１の燃料噴射量をＦ／Ｂ（フィードバック）補正するリッチ側空燃比Ｆ／Ｂ制御を実行する。このリッチ側空燃比Ｆ／Ｂ制御の空燃比Ｆ／Ｂ補正値に基づいて空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行う。このセンサ故障診断によって、空燃比センサ２５のリッチ側空燃比に対する検出精度に異常が無い（つまり検出精度が正常である）ことを確認すれば、空燃比をリッチ側空燃比に制御する場合の精度を補償することができる。【選択図】図１
2015132232.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関（１１）の排出ガスを浄化する触媒（２４）の上流側に設置された上流側排出ガスセンサ（２５）及び前記触媒（２４）の下流側に設置された下流側排出ガスセンサ（２６）を備えたシステムにおいて、
目標空燃比がストイキ以外のときに前記上流側排出ガスセンサ（２５）の出力に基づいて前記排出ガスの空燃比を前記目標空燃比に一致させるように燃料噴射量をフィードバック補正する非ストイキフィードバック制御を実行する空燃比制御手段（３１）と、
前記非ストイキフィードバック制御による補正値に基づいて前記上流側排出ガスセンサ（２５）の前記ストイキ以外の空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行う故障診断手段（３１）と
を備えていることを特徴とする排出ガスセンサの故障診断装置。
【請求項２】
前記空燃比制御手段（３１）は、前記非ストイキフィードバック制御の際に前記上流側排出ガスセンサ（２５）の出力に基づいて空燃比フィードバック補正値を算出し、
前記故障診断手段（３１）は、前記空燃比フィードバック補正値に基づいて前記センサ故障診断を行うことを特徴とする請求項１に記載の排出ガスセンサの故障診断装置。
【請求項３】
前記空燃比制御手段（３１）は、前記非ストイキフィードバック制御の際に前記上流側排出ガスセンサ（２５）の出力に基づいて空燃比フィードバック補正値を算出して、該空燃比フィードバック補正値に基づいて空燃比学習補正値を学習し、
前記故障診断手段（３１）は、前記空燃比学習補正値に基づいて前記センサ故障診断を行うことを特徴とする請求項１に記載の排出ガスセンサの故障診断装置。
【請求項４】
前記空燃比制御手段（３１）は、前記目標空燃比が前記ストイキよりもリッチ側の空燃比のときに前記非ストイキフィードバック制御を実行し、
前記故障診断手段（３１）は、前記上流側排出ガスセンサ（２５）の前記ストイキよりもリッチ側の空燃比に対する検出精度の異常の有無を判定することを特徴とする請求項１乃至３のいずれかに記載の排出ガスセンサの故障診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の排出ガス浄化用の触媒の上流側に設置された上流側排出ガスセンサの故障診断を行う排出ガスセンサの故障診断装置に関する発明である。
【背景技術】
【０００２】
近年、内燃機関を搭載した車両においては、排気管に排出ガス浄化用の触媒を設置すると共に、この触媒の上流側と下流側に排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ（空燃比センサ又は酸素センサ等）を設置するようにしたものがある。このようなシステムでは、排出ガスセンサの出力に基づいて空燃比をＦ／Ｂ（フィードバック）制御して触媒の排出ガス浄化率を高めるようにしている。
【０００３】
また、特許文献１（実開平１−６３７４６号公報）に記載されているように、内燃機関の排気管温度が設定値以上になったときに空燃比をリッチに制御することで、内燃機関の過熱による破損を防止するようにしたものもある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】実開平１−６３７４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
内燃機関の空燃比制御システムおいては、触媒の上流側に排出ガスの空燃比を検出する空燃比センサを設置し、触媒の下流側に排出ガスのリッチ／リーンを検出する酸素センサを設置するようにしたものがある。このようなシステムでは、空燃比をストイキ（理論空燃比）に制御する場合、上流側の空燃比センサのストイキに対する検出精度が経時劣化等により低下していても、下流側の酸素センサの出力を用いることで空燃比をストイキに制御する場合の精度を補償することができる。
【０００６】
しかし、上記特許文献１のように、空燃比をストイキ以外の空燃比（例えばストイキよりもリッチ側の空燃比）に制御する場合もある。このような場合、下流側の酸素センサはストイキよりもリッチ側やリーン側の空燃比を精度良く検出できない。このため、上流側の空燃比センサのストイキ以外の空燃比に対する検出精度が経時劣化等により低下していると、下流側の酸素センサの出力を用いても、空燃比をストイキ以外の空燃比に制御する場合の精度を補償することは困難である。従って、空燃比をストイキ以外の空燃比に制御する場合の精度を補償するには、上流側の空燃比センサのストイキ以外の空燃比に対する検出精度が正常であることを確認する必要がある。
【０００７】
そこで、本発明が解決しようとする課題は、上流側排出ガスセンサのストイキ以外の空燃比に対する検出精度の異常の有無を判定することができる排出ガスセンサの故障診断装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に係る発明は、内燃機関（１１）の排出ガスを浄化する触媒（２４）の上流側に設置された上流側排出ガスセンサ（２５）及び触媒（２４）の下流側に設置された下流側排出ガスセンサ（２６）を備えたシステムにおいて、目標空燃比がストイキ以外のときに上流側排出ガスセンサ（２５）の出力に基づいて排出ガスの空燃比を目標空燃比に一致させるように燃料噴射量をフィードバック補正する非ストイキフィードバック制御を実行する空燃比制御手段（３１）と、非ストイキフィードバック制御による補正値に基づいて上流側排出ガスセンサ（２５）のストイキ以外の空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行う故障診断手段（３１）とを備えた構成としたものである。
【０００９】
この構成では、目標空燃比がストイキ以外のときに、上流側排出ガスセンサの出力に基づいて排出ガスの空燃比を目標空燃比（ストイキ以外の空燃比）に一致させるように燃料噴射量をフィードバック補正する非ストイキフィードバック制御を実行する。その際、上流側排出ガスセンサのストイキ以外の空燃比に対する検出精度が正常（検出精度が許容範囲内の状態）であれば、上流側排出ガスセンサの出力に基づいた非ストイキフィードバック制御による補正値が所定の正常範囲内に収まるはずである。従って、非ストイキフィードバック制御による補正値に基づいて上流側排出ガスセンサのストイキ以外の空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行うことで、上流側排出ガスセンサのストイキ以外の空燃比に対する検出精度の異常の有無を精度良く判定することができる。このセンサ故障診断によって、上流側排出ガスセンサのストイキ以外の空燃比に対する検出精度に異常が無い（つまり検出精度が正常である）ことを確認すれば、空燃比をストイキ以外の空燃比に制御する場合の精度を補償することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は本発明の実施例１におけるエンジン制御システムの概略構成を示す図である。
【図２】図２は実施例１のセンサ故障診断ルーチンの処理の流れを示すフローチャートである。
【図３】図３は実施例１のセンサ故障診断の実行例を示すタイムチャートである。
【図４】図４は実施例２のセンサ故障診断ルーチンの処理の流れを示すフローチャートである。
【図５】図５は実施例２のセンサ故障診断の実行例を示すタイムチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００１２】
本発明の実施例１を図１乃至図３に基づいて説明する。
まず、図１に基づいてエンジン制御システムの概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１３】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０に接続された吸気ポート又はその近傍に、それぞれ吸気ポートに燃料を噴射する燃料噴射弁２１が取り付けられている。或は、エンジン１１の各気筒に、それぞれ筒内に燃料を直接噴射する燃料噴射弁が取り付けられているようにしても良い。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各気筒の点火プラグ２２の火花放電によって各気筒内の混合気に着火される。
【００１４】
一方、エンジン１１の排気管２３には、排出ガスを浄化する三元触媒等の触媒２４が設けられている。この触媒２４の上流側に、排出ガスの空燃比を検出する空燃比センサ２５（上流側排出ガスセンサ）が設置され、触媒２４の下流側に、排出ガスのリッチ／リーンを検出する酸素センサ２６（下流側排出ガスセンサ）が設置されている。上流側の空燃比センサ２５は、排出ガスの空燃比に応じたリニアな空燃比信号を出力する。下流側の酸素センサ２６は、排出ガスの空燃比がストイキ（理論空燃比）に対してリッチかリーンかによって出力電圧が反転する。
【００１５】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２７や、ノッキングを検出するノックセンサ２８が取り付けられている。また、クランク軸２９の外周側には、クランク軸２９が所定クランク角回転する毎にパルス信号を出力するクランク角センサ３０が取り付けられ、このクランク角センサ３０の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００１６】
これら各種センサの出力は、電子制御ユニット（以下「ＥＣＵ」と表記する）３１に入力される。このＥＣＵ３１は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御用のプログラムを実行することで、エンジン運転状態に応じて、燃料噴射量、点火時期、スロットル開度（吸入空気量）等を制御する。
【００１７】
その際、ＥＣＵ３１は、所定の空燃比Ｆ／Ｂ制御実行条件が成立したときに、空燃比センサ２５や酸素センサ２６の出力に基づいて排出ガスの空燃比を目標空燃比に一致させるように混合気の空燃比（燃料噴射量や吸入空気量）をＦ／Ｂ制御する空燃比Ｆ／Ｂ制御を実行する。ここで、「Ｆ／Ｂ」は「フィードバック」を意味する（以下、同様）。
【００１８】
具体的には、空燃比をストイキに制御する場合には、目標空燃比をストイキに設定して、上流側の空燃比センサ２５の出力に基づいて触媒２４の上流側の排出ガスの空燃比を目標空燃比（ストイキ）に一致させるように燃料噴射弁２１の燃料噴射量をＦ／Ｂ補正するメインＦ／Ｂ制御を実行する。このメインＦ／Ｂ制御では、例えば、目標空燃比と検出空燃比（空燃比センサ２５の出力）との偏差に基づいて空燃比Ｆ／Ｂ補正値を算出し、この空燃比Ｆ／Ｂ補正値を用いて燃料噴射弁２１の燃料噴射量を補正する。尚、メインＦ／Ｂ制御の空燃比Ｆ／Ｂ補正値に基づいて空燃比学習補正値を算出して学習する場合には、この空燃比学習補正値と空燃比Ｆ／Ｂ補正値とを用いて燃料噴射弁２１の燃料噴射量を補正する。
【００１９】
更に、下流側の酸素センサ２６の出力に基づいて触媒２４の下流側の排出ガスの空燃比を制御目標値（ストイキ）付近に制御するようにメインＦ／Ｂ制御を修正するサブＦ／Ｂ制御を実行する。このサブＦ／Ｂ制御では、例えば、メインＦ／Ｂ制御の制御中心（目標空燃比）や空燃比Ｆ／Ｂ補正値等を修正する。
【００２０】
このようにして空燃比をストイキに制御する場合、上流側の空燃比センサ２５のストイキに対する検出精度が経時劣化等により低下して、上流側の空燃比センサ２５の出力に基づいたメインＦ／Ｂ制御の精度が低下しても、下流側の酸素センサ２６の出力に基づいたサブＦ／Ｂ制御によりメインＦ／Ｂ制御を修正することで、空燃比をストイキに制御する場合の精度を補償することができる。
【００２１】
ところで、空燃比をストイキ以外の空燃比（例えばストイキよりもリッチ側の空燃比）に制御する場合もある。空燃比をストイキよりもリッチ側の空燃比（以下単に「リッチ側空燃比」という）に制御する場合には、目標空燃比をリッチ側空燃比に設定して、上流側の空燃比センサ２５の出力に基づいて触媒２４の上流側の排出ガスの空燃比を目標空燃比（リッチ側空燃比）に一致させるように燃料噴射弁２１の燃料噴射量をＦ／Ｂ補正するリッチ側空燃比Ｆ／Ｂ制御（非ストイキフィードバック制御）を実行する。このリッチ側空燃比Ｆ／Ｂ制御では、例えば、目標空燃比と検出空燃比（空燃比センサ２５の出力）との偏差に基づいて空燃比Ｆ／Ｂ補正値を算出し、この空燃比Ｆ／Ｂ補正値を用いて燃料噴射弁２１の燃料噴射量を補正する。尚、リッチ側空燃比Ｆ／Ｂ制御の空燃比Ｆ／Ｂ補正値に基づいて空燃比学習補正値を算出して学習する場合には、この空燃比学習補正値と空燃比Ｆ／Ｂ補正値とを用いて燃料噴射弁２１の燃料噴射量を補正する。
【００２２】
このようにして空燃比をリッチ側空燃比に制御する場合、下流側の酸素センサ２６はリッチ側空燃比を精度良く検出できない。このため、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が経時劣化等により低下していると、下流側の酸素センサ２６の出力を用いても、空燃比をリッチ側空燃比に制御する場合の精度を補償することは困難である。従って、空燃比をリッチ側空燃比に制御する場合の精度を補償するには、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が正常であることを確認する必要がある。
【００２３】
そこで、本実施例１では、ＥＣＵ３１により後述する図２のセンサ故障診断ルーチンを実行することで、上流側の空燃比センサ２５の故障診断を次のようにして行う。まず、目標空燃比がリッチ側空燃比のときに、上流側の空燃比センサ２５の出力に基づいて触媒２４の上流側の排出ガスの空燃比を目標空燃比（リッチ側空燃比）に一致させるように燃料噴射弁２１の燃料噴射量をＦ／Ｂ補正するリッチ側空燃比Ｆ／Ｂ制御を実行する。このリッチ側空燃比Ｆ／Ｂ制御の空燃比Ｆ／Ｂ補正値に基づいて上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無（検出精度が許容範囲を越えて低下した状態であるか否か）を判定するセンサ故障診断を行う。
【００２４】
上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が正常（検出精度が許容範囲内の状態）であれば、上流側の空燃比センサ２５の出力に基づいたリッチ側空燃比Ｆ／Ｂ制御の空燃比Ｆ／Ｂ補正値が所定の正常範囲内に収まるはずである。従って、リッチ側空燃比Ｆ／Ｂ制御の空燃比Ｆ／Ｂ補正値に基づいて上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行うことで、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を精度良く判定することができる。
【００２５】
以下、本実施例１でＥＣＵ３１が実行する図２のセンサ故障診断ルーチンの処理内容を説明する。
図２に示すセンサ故障診断ルーチンは、ＥＣＵ３１の電源オン期間中に所定周期で繰り返し実行され、特許請求の範囲でいう空燃比制御手段及び故障診断手段としての役割を果たす。
【００２６】
本ルーチンが起動されると、まず、ステップ１０１で、上流側の空燃比センサ２５のストイキに対する検出精度が正常（検出精度が許容範囲内の状態）であるか否かを、例えば、図示しない他のルーチンによるセンサ故障診断の診断結果に基づいて判定する。
【００２７】
このステップ１０１で、上流側の空燃比センサ２５のストイキに対する検出精度が正常ではないと判定された場合には、ステップ１０２以降の処理を実行することなく、本ルーチンを終了する。
【００２８】
一方、上記ステップ１０１で、上流側の空燃比センサ２５のストイキに対する検出精度が正常であると判定された場合には、ステップ１０２に進み、目標空燃比がリッチ側空燃比（ストイキよりもリッチ側の空燃比）に設定されているか否かを判定する。例えば、エンジン１１の排気管温度が所定値以上になったときや燃料カット制御の終了直後等に、目標空燃比がリッチ側空燃比に設定される。
【００２９】
このステップ１０２で、目標空燃比がリッチ側空燃比に設定されていない（目標空燃比がストイキに設定されている）と判定された場合には、ステップ１０３以降の処理を実行することなく、本ルーチンを終了する。
【００３０】
一方、上記ステップ１０２で、目標空燃比がリッチ側空燃比に設定されていると判定された場合には、ステップ１０３に進み、上流側の空燃比センサ２５の出力に基づいて触媒２４の上流側の排出ガスの空燃比を目標空燃比（リッチ側空燃比）に一致させるように燃料噴射弁２１の燃料噴射量をＦ／Ｂ補正するリッチ側空燃比Ｆ／Ｂ制御を実行する。このリッチ側空燃比Ｆ／Ｂ制御では、例えば、目標空燃比と検出空燃比（空燃比センサ２５の出力）との偏差に基づいて空燃比Ｆ／Ｂ補正値を算出し、この空燃比Ｆ／Ｂ補正値を用いて燃料噴射弁２１の燃料噴射量を補正する。
【００３１】
この後、ステップ１０４に進み、空燃比が目標空燃比付近で安定したか否かを、例えば、目標空燃比と検出空燃比（空燃比センサ２５の出力）との差の絶対値が所定値以下の状態が所定時間以上継続したか否か、或は、目標空燃比が変更されてから所定時間（空燃比が目標空燃比付近で安定するのに必要な時間）以上経過したか否か等によって判定する。
【００３２】
このステップ１０４で、空燃比が目標空燃比付近で安定したと判定されたときに、ステップ１０５に進み、目標空燃比に応じて空燃比Ｆ／Ｂ補正値の正常範囲（正常範囲の上限値と下限値）をマップ又は数式等により算出する。空燃比Ｆ／Ｂ補正値の正常範囲を算出するためのマップ又は数式等は、予め試験データや設計データ等に基づいて作成され、ＥＣＵ３１のＲＯＭに記憶されている。
【００３３】
この後、ステップ１０６に進み、リッチ側空燃比Ｆ／Ｂ制御の空燃比Ｆ／Ｂ補正値が正常範囲内であるか否かを判定する。このステップ１０６で、空燃比Ｆ／Ｂ補正値が正常範囲内であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が許容範囲内であると判断する。この場合、ステップ１０７に進み、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常無し（検出精度が正常である）と判定して、本ルーチンを終了する。
【００３４】
これに対して、上記ステップ１０６で、空燃比Ｆ／Ｂ補正値が正常範囲外であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が許容範囲を越えて低下した状態であると判断する。この場合、ステップ１０８に進み、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常有り（検出精度が異常である）と判定する。この場合、例えば、異常フラグをＯＮにセットし、運転席のインストルメントパネルに設けられた警告ランプ（図示せず）を点灯又は点滅したり、或は、運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して、運転者に警告すると共に、その異常情報（異常コード等）をＥＣＵ３１のバックアップＲＡＭ（図示せず）等の書き換え可能な不揮発性メモリ（ＥＣＵ３１の電源オフ中でも記憶データを保持する書き換え可能なメモリ）に記憶して、本ルーチンを終了する。
【００３５】
次に、図３のタイムチャートを用いて本実施例１のセンサ故障診断の実行例を説明する。
目標空燃比がストイキに設定されているときは、上流側の空燃比センサ２５の出力に基づいたメインＦ／Ｂ制御と下流側の酸素センサ２６の出力に基づいたサブＦ／Ｂ制御を実行する。
【００３６】
その後、目標空燃比がストイキからリッチ側空燃比に切り換えられた時点ｔ1 で、上流側の空燃比センサ２５の出力に基づいたリッチ側空燃比Ｆ／Ｂ制御を実行する。このリッチ側空燃比Ｆ／Ｂ制御では、目標空燃比と検出空燃比（空燃比センサ２５の出力）との偏差に基づいて空燃比Ｆ／Ｂ補正値を算出し、この空燃比Ｆ／Ｂ補正値を用いて燃料噴射弁２１の燃料噴射量を補正する。
【００３７】
その後、空燃比が目標空燃比付近で安定したと判定された時点ｔ2 で、空燃比Ｆ／Ｂ補正値が正常範囲内であるか否かを判定する。空燃比Ｆ／Ｂ補正値が正常範囲外であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常有り（検出精度が異常である）と判定する。一方、空燃比Ｆ／Ｂ補正値が正常範囲内であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常無し（検出精度が正常である）と判定する。
【００３８】
これにより、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を精度良く判定することができる。このセンサ故障診断によって、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度に異常が無い（つまり検出精度が正常である）ことを確認すれば、空燃比をリッチ側空燃比に制御する場合の精度を補償することができる。
【実施例２】
【００３９】
次に、図４及び図５を用いて本発明の実施例２を説明する。但し、前記実施例１と実質的に同一部分については説明を省略又は簡略化し、主として前記実施例１と異なる部分について説明する。
【００４０】
本実施例２では、ＥＣＵ３４により後述する図４のセンサ故障診断ルーチンを実行することで、上流側の空燃比センサ２５の故障診断を次のようにして行う。まず、目標空燃比がリッチ側空燃比のときに、上流側の空燃比センサ２５の出力に基づいてリッチ側空燃比Ｆ／Ｂ制御を実行する。このリッチ側空燃比Ｆ／Ｂ制御の際に上流側の空燃比センサ２５の出力に基づいて空燃比Ｆ／Ｂ補正値を算出して、この空燃比Ｆ／Ｂ補正値に基づいて空燃比学習補正値を算出して学習する。この空燃比学習補正値に基づいて上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行う。
【００４１】
リッチ側空燃比Ｆ／Ｂ制御の空燃比Ｆ／Ｂ補正値に応じて空燃比学習補正値が変化するため、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が正常であれば、空燃比学習補正値も所定の正常範囲内に収まるはずである。従って、空燃比学習補正値に基づいて上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行うことで、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を精度良く判定することができる。
【００４２】
以下、本実施例２でＥＣＵ３１が実行する図４のセンサ故障診断ルーチンの処理内容を説明する。
図４に示すセンサ故障診断ルーチンでは、まず、ステップ２０１で、上流側の空燃比センサ２５のストイキに対する検出精度が正常であるか否かを判定する。このステップ２０１で、上流側の空燃比センサ２５のストイキに対する検出精度が正常であると判定された場合には、ステップ２０２に進み、目標空燃比がリッチ側空燃比に設定されているか否かを判定する。
【００４３】
このステップ２０２で、目標空燃比がリッチ側空燃比に設定されていると判定された場合には、ステップ２０３に進み、上流側の空燃比センサ２５の出力に基づいたリッチ側空燃比Ｆ／Ｂ制御を実行する。このリッチ側空燃比Ｆ／Ｂ制御では、例えば、目標空燃比と検出空燃比（空燃比センサ２５の出力）との偏差に基づいて空燃比Ｆ／Ｂ補正値を算出し、この空燃比Ｆ／Ｂ補正値を用いて燃料噴射弁２１の燃料噴射量を補正する。
【００４４】
この後、ステップ２０４に進み、空燃比が目標空燃比付近で安定したか否かを判定し、空燃比が目標空燃比付近で安定したと判定されたときに、ステップ２０５に進み、空燃比Ｆ／Ｂ補正値に基づいて空燃比学習補正値を算出して学習する。この場合、例えば、空燃比Ｆ／Ｂ補正値を減少させる方向に空燃比学習補正値を所定量ずつ変化させ、空燃比Ｆ／Ｂ補正値＝０になったときの空燃比Ｆ／Ｂ補正値を現在の目標空燃比における空燃比Ｆ／Ｂ補正値として記憶する。
【００４５】
この後、ステップ２０６に進み、目標空燃比に応じて空燃比学習補正値の正常範囲（正常範囲の上限値と下限値）をマップ又は数式等により算出する。空燃比学習補正値の正常範囲を算出するためのマップ又は数式等は、予め試験データや設計データ等に基づいて作成され、ＥＣＵ３１のＲＯＭに記憶されている。
【００４６】
この後、ステップ２０７に進み、空燃比学習補正値が正常範囲内であるか否かを判定する。このステップ２０７で、空燃比学習補正値が正常範囲内であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が許容範囲内であると判断する。この場合、ステップ２０８に進み、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常無し（検出精度が正常である）と判定して、本ルーチンを終了する。
【００４７】
これに対して、上記ステップ２０７で、空燃比学習補正値が正常範囲外であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度が許容範囲を越えて低下した状態であると判断する。この場合、ステップ２０９に進み、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常有り（検出精度が異常である）と判定する。この場合、例えば、異常フラグをＯＮにセットし、警告ランプを点灯又は点滅したり、或は、警告表示部に警告表示して、運転者に警告すると共に、その異常情報（異常コード等）をＥＣＵ３１のバックアップＲＡＭ等の書き換え可能な不揮発性メモリに記憶して、本ルーチンを終了する。
【００４８】
次に、図５のタイムチャートを用いて本実施例２のセンサ故障診断の実行例を説明する。
目標空燃比がストイキに設定されているときは、上流側の空燃比センサ２５の出力に基づいたメインＦ／Ｂ制御と下流側の酸素センサ２６の出力に基づいたサブＦ／Ｂ制御を実行する。
【００４９】
その後、目標空燃比がストイキからリッチ側空燃比に切り換えられた時点ｔ1 で、上流側の空燃比センサ２５の出力に基づいたリッチ側空燃比Ｆ／Ｂ制御を実行する。このリッチ側空燃比Ｆ／Ｂ制御では、目標空燃比と検出空燃比（空燃比センサ２５の出力）との偏差に基づいて空燃比Ｆ／Ｂ補正値を算出し、この空燃比Ｆ／Ｂ補正値を用いて燃料噴射弁２１の燃料噴射量を補正する。
【００５０】
その後、空燃比が目標空燃比付近で安定したと判定された時点ｔ2 で、空燃比Ｆ／Ｂ補正値に基づいて空燃比学習補正値を算出して学習する処理を開始する。この空燃比学習補正値の学習が完了した時点ｔ3 で、空燃比学習補正値が正常範囲内であるか否かを判定する。空燃比学習補正値が正常範囲外であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常有り（検出精度が異常である）と判定する。一方、空燃比学習補正値が正常範囲内であると判定された場合には、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常無し（検出精度が正常である）と判定する。
【００５１】
このようにしても、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を精度良く判定することができる。このセンサ故障診断によって、上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度に異常が無い（つまり検出精度が正常である）ことを確認すれば、空燃比をリッチ側空燃比に制御する場合の精度を補償することができる。
【００５２】
尚、上記実施例２では、空燃比学習補正値の学習が完了した後に、空燃比学習補正値に基づいて上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行うようにした。しかし、これに限定されず、例えば、空燃比Ｆ／Ｂ補正値に基づいて空燃比学習補正値を算出する処理を開始した後（空燃比Ｆ／Ｂ補正値を減少させる方向に空燃比学習補正値を所定量ずつ変化させているとき）に、空燃比Ｆ／Ｂ補正値と空燃比学習補正値との和に基づいて上流側の空燃比センサ２５のリッチ側空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行うようにしても良い。
【００５３】
また、上記各実施例１，２では、目標空燃比がリッチ側空燃比（ストイキよりもリッチ側の空燃比）のときにリッチ側空燃比Ｆ／Ｂ制御を実行し、このリッチ側空燃比Ｆ／Ｂ制御による補正値（空燃比Ｆ／Ｂ補正値や空燃比学習補正値）に基づいてセンサ故障診断を行うようにした。しかし、これに限定されず、目標空燃比がリーン側空燃比（ストイキよりもリーン側の空燃比）のときにリーン側空燃比Ｆ／Ｂ制御を実行し、このリーン側空燃比Ｆ／Ｂ制御による補正値（空燃比Ｆ／Ｂ補正値や空燃比学習補正値）に基づいてセンサ故障診断を行うようにしても良い。
【００５４】
具体的には、目標空燃比がリーン側空燃比のときに、上流側の空燃比センサ２５の出力に基づいて触媒２４の上流側の排出ガスの空燃比を目標空燃比（リーン側空燃比）に一致させるように燃料噴射弁２１の燃料噴射量をＦ／Ｂ補正するリーン側空燃比Ｆ／Ｂ制御を実行する。このリーン側空燃比Ｆ／Ｂ制御による補正値（空燃比Ｆ／Ｂ補正値や空燃比学習補正値）に基づいて上流側の空燃比センサ２５のリーン側空燃比に対する検出精度の異常の有無を判定するセンサ故障診断を行う。このようにすれば、上流側の空燃比センサ２５のリーン側空燃比に対する検出精度の異常の有無を精度良く判定することができる。このセンサ故障診断によって、上流側の空燃比センサ２５のリーン側空燃比に対する検出精度に異常が無い（つまり検出精度が正常である）ことを確認すれば、空燃比をリーン側空燃比に制御する場合の精度を補償することができる。
【００５５】
また、上記各実施例１，２では、触媒２４の上流側に空燃比センサ２５を設置して触媒２４の下流側に酸素センサ２６を設置したシステムに本発明を適用したが、これに限定されず、例えば、触媒の上流側と下流側にそれぞれ空燃比センサを設置したシステムに本発明を適用しても良い。本発明は、目標空燃比がストイキ以外の空燃比（リッチ側空燃比やリーン側空燃比）のときに触媒の上流側に設置した上流側排出ガスセンサの出力に基づいて排出ガスの空燃比を目標空燃比に一致させるように燃料噴射量をＦ／Ｂ補正する空燃比Ｆ／Ｂ制御（非ストイキフィードバック制御）を実行可能なシステムに適用することができる。
【符号の説明】
【００５６】
１１…エンジン（内燃機関）、２４…触媒、２５…空燃比センサ（上流側排出ガスセンサ）、２６…酸素センサ（下流側排出ガスセンサ）、３１…ＥＣＵ（空燃比制御手段，故障診断手段）
【図１】
2015132232.tif 000003
【図２】
2015132232.tif 000004
【図３】
2015132232.tif 000005
【図４】
2015132232.tif 000006
【図５】
2015132232.tif 000007