(57)【特許請求の範囲】
【請求項１】
内燃機関の排気系に設けられた触媒と、
該触媒の上流に設けられ、排気中の酸素濃度に比例する値を出力する第１の空燃比検出手段と、
前記触媒の下流に設けられ、排気中の空燃比に応じてリッチまたはリーンの値を出力する第２の空燃比検出手段とを備えた空燃比制御装置において、
前記第２の空燃比検出手段の出力に応じて、目標空燃比を比例積分制御により算出し、前記第２の空燃比検出手段の出力が反転した時に前記目標空燃比の増減方向を反転させる目標空燃比設定手段と、
前記第１の空燃比検出手段の出力を前記目標空燃比設定手段により算出された目標空燃比にフィードバック制御する空燃比制御手段と、
前記第２の空燃比検出手段の出力が反転した時の前記第１の空燃比検出手段の出力値が、所定の上限値と下限値で規定される所定の範囲にあるか否かに基づいて、該第１の空燃比検出手段の故障を検出する故障検出手段とを備えたことを特徴とする空燃比制御装置。
【請求項２】
内燃機関の排気系に設けられた触媒と、
該触媒の上流に設けられ、排気中の酸素濃度に比例する値を出力する第１の空燃比検出手段と、
前記触媒の下流に設けられ、排気中の空燃比に応じてリッチまたはリーンの値を出力する第２の空燃比検出手段とを備えた空燃比制御装置において、
前記第２の空燃比検出手段の出力に応じて、目標空燃比を比例積分制御により算出し、前記第２の空燃比検出手段の出力が反転した時に前記目標空燃比の増減方向を反転させる目標空燃比設定手段と、
前記第１の空燃比検出手段の出力を前記目標空燃比設定手段により算出された目標空燃比にフィードバック制御する空燃比制御手段と、
前記第２の空燃比検出手段の出力が反転した時の前記第１の空燃比検出手段の出力値の平均値が、所定の上限値と下限値で規定される所定の範囲にあるか否かに基づいて、該第１の空燃比検出手段の故障を検出する故障検出手段とを備えたことを特徴とする空燃比制御装置。
【請求項３】
前記第１の空燃比検出手段の前記出力値の平均値は、前記第２の空燃比検出手段の出力がリッチ側およびリーン側に互いに同じ数だけ反転した時に検出された前記第１の空燃比検出手段の複数の前記出力値の平均値であることを特徴とする、請求項２に記載の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、排気中の酸素濃度に比例した信号を出力する酸素濃度センサの異常検出を行う空燃比制御装置に関する。
【０００２】
【従来の技術】
従来、エンジンの排気系に設けられた酸素濃度センサの故障を検知する方法として、センサ素子の内部抵抗の増加で故障を検知する方法が知られている。この方法では酸素イオンの移動が行われたときの電極間の電圧を測定し、測定された電圧が所定値以上になったときに内部抵抗が増加したと判断して故障を検知する。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来の故障検知方法では、酸素濃度センサの出力特性の変化を検知することができないので、理論空燃比に制御する場合、異物の付着などにより出力特性が変化したときに酸素濃度センサの出力に基づいて制御される排気中の空燃比が理論空燃比からずれてしまい、三元触媒の浄化率が十分に得られなくなるという問題があった。
【０００４】
そこで、本発明は、酸素濃度センサに触媒の浄化率に影響する出力特性の変化が生じた場合にその故障を検知できる空燃比制御装置を提供することを目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するために、本発明の空燃比制御装置は、内燃機関の排気系に設けられた触媒と、該触媒の上流に設けられ、排気中の酸素濃度に比例する値を出力する第１の空燃比検出手段と、前記触媒の下流に設けられ、排気中の空燃比に応じてリッチまたはリーンの値を出力する第２の空燃比検出手段とを備えた空燃比制御装置において、前記第２の空燃比検出手段の出力に応じて、目標空燃比を比例積分制御により算出し、前記第２の空燃比検出手段の出力が反転した時に前記目標空燃比の増減方向を反転させる目標空燃比設定手段と、前記第１の空燃比検出手段の出力を前記目標空燃比設定手段により算出された目標空燃比にフィードバック制御する空燃比制御手段と、前記第２の空燃比検出手段の出力が反転した時の前記第１の空燃比検出手段の出力値が、所定の上限値と下限値で規定される所定の範囲にあるか否かに基づいて、該第１の空燃比検出手段の故障を検出する故障検出手段とを備えたことを特徴とする。
【０００６】
また、本発明の空燃比制御装置は、内燃機関の排気系に設けられた触媒と、該触媒の上流に設けられ、排気中の酸素濃度に比例する値を出力する第１の空燃比検出手段と、前記触媒の下流に設けられ、排気中の空燃比に応じてリッチまたはリーンの値を出力する第２の空燃比検出手段とを備えた空燃比制御装置において、前記第２の空燃比検出手段の出力に応じて、目標空燃比を比例積分制御により算出し、前記第２の空燃比検出手段の出力が反転した時に前記目標空燃比の増減方向を反転させる目標空燃比設定手段と、前記第１の空燃比検出手段の出力を前記目標空燃比設定手段により算出された目標空燃比にフィードバック制御する空燃比制御手段と、前記第２の空燃比検出手段の出力が反転した時の前記第１の空燃比検出手段の出力値の平均値が、所定の上限値と下限値で規定される所定の範囲にあるか否かに基づいて、該第１の空燃比検出手段の故障を検出する故障検出手段とを備えたことを特徴とする。
また、前記第１の空燃比検出手段の前記出力値の平均値は、前記第２の空燃比検出手段の出力がリッチ側およびリーン側に互いに同じ数だけ反転した時に検出された前記第１の空燃比検出手段の複数の前記出力値の平均値であることを特徴とする。
【０００７】
本発明の空燃比制御装置では、目標空燃比設定手段により排気中の空燃比に応じてリッチまたはリーンの値を出力する前記第２の空燃比検出手段の出力に応じて目標空燃比を比例積分制御にしたがって算出し、前記第２の空燃比検出手段の出力が反転した時に前記目標空燃比の増減方向を反転させ、空燃比制御手段により排気中の酸素濃度に比例する値を出力する前記第１の空燃比検出手段の出力を前記算出された目標空燃比にフィードバック制御し、故障検出手段により前記第２の空燃比検出手段の出力が反転した時の前記第１の空燃比検出手段の出力値が、所定の上限値と下限値で規定される所定の範囲にあるか否かに基づいて、該第１の空燃比検出手段の故障を検出する。
【０００８】
また、故障検出手段により、前記第２の空燃比検出手段の出力が反転した時の前記第１の空燃比検出手段の出力値の平均値が、所定の上限値と下限値で規定される所定の範囲にあるか否かに基づいて、該第１の空燃比検出手段の故障を検出する。
【０００９】
これにより、下流側の第２の空燃比検出手段の出力に応じて目標空燃比を制御した場合、上流側の第１の空燃比検出手段の出力特性の変化を定量的に測定することができ、酸素濃度センサに触媒の浄化率に影響する出力特性の変化が生じた場合にその故障を検知できる。
【００１０】
【発明の実施の形態】
以下、本発明の実施形態を図面を参照して説明する。
【００１１】
図１は本発明の一実施形態にかかる内燃機関（以下「エンジン」という）及びその制御装置の構成を示す図である。同図中、１は各気筒に吸気弁及び排気弁（図示せず）を各１対ずつ設けたＤＯＨＣ直列４気筒のエンジンである。
【００１２】
エンジン１の吸気管２は分岐部（吸気マニホルド）１１を介してエンジン１の各気筒の燃焼室に連通する。吸気管２の途中にはスロットル弁３が配されている。スロットル弁３にはスロットル弁開度（θＴＨ）センサ４が連結されており、スロットル弁開度θＴＨに応じた電気信号を出力して電子コントロールユニット（以下「ＥＣＵ」という）５に供給する。吸気管２には、スロットル弁３をバイパスする補助空気通路６が設けられており、該通路６の途中には補助空気量制御弁７が配されている。補助空気量制御弁７は、ＥＣＵ５に接続されており、ＥＣＵ５によりその開弁量が制御される。
【００１３】
吸気管２のスロットル弁３の上流側には吸気温（ＴＡ）センサ８が装着されており、その検出信号がＥＣＵ５に供給される。吸気管２のスロットル弁３と吸気マニホルド１１の間には、チャンバ９が設けられており、チャンバ９には吸気管内絶対圧（ＰＢＡ）センサ１０が取り付けられている。ＰＢＡセンサ１０の検出信号はＥＣＵ５に供給される。
【００１４】
エンジン１の本体にはエンジン水温（ＴＷ）センサ１３が装着されており、その検出信号がＥＣＵ５に供給される。ＥＣＵ５には、エンジン１のクランク軸（図示せず）の回転角度を検出するクランク角度位置センサ１４が接続されており、クランク軸の回転角度に応じた信号がＥＣＵ５に供給される。クランク角度位置センサ１４は、エンジン１の特定の気筒の所定クランク角度位置で信号パルス（以下「ＣＹＬ信号パルス」という）を出力する気筒判別センサ、各気筒の吸入行程開始時の上死点（ＴＤＣ）に関し所定クランク角度前のクランク角度位置で（４気筒エンジンではクランク角１８０度毎に）ＴＤＣ信号パルスを出力するＴＤＣセンサ及びＴＤＣ信号パルスより短い一定クランク角周期（例えば３０度周期）で１パルス（以下「ＣＲＫ信号パルス」という）を発生するＣＲＫセンサから成り、ＣＹＬ信号パルス、ＴＤＣ信号パルス及びＣＲＫ信号パルスがＥＣＵ５に供給される。これらの信号パルスは、燃料噴射時期、点火時期等の各種タイミング制御及びエンジン回転数ＮＥの検出に使用される。
【００１５】
吸気マニホルド１１の吸気弁の少し上流側には、各気筒毎に燃料噴射弁１２が設けられており、各噴射弁は図示しない燃料ポンプに接続されているとともにＥＣＵ５に電気的に接続されて、ＥＣＵ５からの信号により燃料噴射時期及び燃料噴射時間（開弁時間）が制御される。エンジン１の点火プラグ（図示せず）もＥＣＵ５に電気的に接続されており、ＥＣＵ５により点火時期θＩＧが制御される。
【００１６】
排気管１６は分岐部（排気マニホルド）１５を介してエンジン１の燃焼室に接続されている。排気管１６には分岐部１５が集合する部分の直ぐ下流側に、広域空燃比センサ（以下「ＬＡＦセンサ」という）１７が設けられている。さらにＬＡＦセンサ１７の下流側には直下三元触媒１９及び床下三元触媒２０が配されており、またこれらの三元触媒１９及び２０の間には酸素濃度センサ（以下「Ｏ２センサ」という）１８が装着されている。三元触媒１９、２０は、排気ガス中のＨＣ，ＣＯ，ＮＯｘ等の浄化を行う。
【００１７】
ＬＡＦセンサ１７は、ローパスフィルタ２２を介してＥＣＵ５に接続されており、排気ガス中の酸素濃度（空燃比）に略比例した電気信号を出力し、その電気信号をＥＣＵ５に供給する。Ｏ２センサ１８は、その出力が理論空燃比の前後において急激に変化する特性を有し、その出力は理論空燃比よりリッチ側で高レベルとなり、リーン側で低レベルとなる。Ｏ２センサ１８は、ローパスフィルタ２３を介してＥＣＵ５に接続されており、その検出信号はＥＣＵ５に供給される。
【００１８】
排気還流機構３０は、吸気管２のチャンバ９と排気管１６とを接続する排気還流路３１と、排気還流路３１の途中に設けられ、排気還流量を制御する排気還流弁（ＥＧＲ弁）３２と、ＥＧＲ弁３２の弁開度を検出し、その検出信号をＥＣＵ５に供給するリフトセンサ３３とから成る。ＥＧＲ弁３２は、ソレノイドを有する電磁弁であり、ソレノイドはＥＣＵ５に接続され、その弁開度がＥＣＵ５からの制御信号によりリニアに変化させることができるように構成されている。
【００１９】
蒸発燃料処理装置４０では、燃料タンク４１は通路４２を介してキャニスタ４５に連通し、キャニスタ４５はパージ通路４３を介して吸気管２のチャンバ９に連通している。キャニスタ４５は、燃料タンク４１内で発生する蒸発燃料を吸着する吸着剤を内蔵し、外気取込口を有する。通路４２の途中には、正圧バルブ及び負圧バルブから成る２ウェイバルブ４６が配設され、パージ通路４３の途中にはデューティ制御型の電磁弁であるパージ制御弁４４が設けられている。パージ制御弁４４は、ＥＣＵ５に接続されており、パージ制御弁はＥＣＵ５からの信号に応じて制御される。
【００２０】
ＥＣＵ５は、上述した各種センサからの入力信号波形を整形して電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変化する等の機能を有する入力回路と、中央処理回路（ＣＰＵ）と、該ＣＰＵで実行される各種演算プログラムや後述する各種マップ及び演算結果等を記憶するＲＯＭ及びＲＡＭからなる記憶回路と、燃料噴射弁１２等の各種電磁弁や点火プラグに駆動信号を出力する出力回路とを備えている。
【００２１】
ＥＣＵ５は、上述の各種エンジン運転パラメータ信号に基づいて、ＬＡＦセンサ１７及びＯ２センサ１８の出力に応じたフィードバック制御運転領域やオープン制御運転領域等の種々のエンジン運転状態を判別するとともに、エンジン運転状態に応じ、燃料噴射弁１２の燃料噴射時間ＴＯＵＴを演算し、この演算結果に基づいて燃料噴射弁１２を駆動する信号を出力する。
【００２２】
燃料噴射時間ＴＯＵＴの演算には、ＬＡＦセンサ１７の出力に応じて通常のＰＩＤ制御により算出したＰＩＤ補正係数ＫＬＡＦが適用される。
【００２３】
ＴＯＵＴ＝Ｋ１×ＫＬＡＦ×ＫＣＭＤ×Ｔｉ＋Ｋ２
ここで、Ｔｉは基本的にエンジン回転数ＮＥおよび吸気管内絶対圧ＰＢＡに応じて設定される基本燃料量である。Ｋ１は運転状態に応じて求まる補正係数、Ｋ２は運転状態に応じて求まる補正量である。
【００２４】
始めに、ＬＡＦセンサの出力に応じたＰＩＤ補正係数ＫＬＡＦ算出処理を、図２を参照して説明する。図２はＰＩＤ補正係数ＫＬＡＦ算出処理を示すフローチャートである。
【００２５】
先ずステップＳ３０１では、ホールドフラグＦＫＬＡＦＨＯＬＤが「１」か否かを判別し、オープンループ制御中ではＦＫＬＡＦＨＯＬＤ＝１となり、直ちに本処理を終了し、ＦＫＬＡＦＨＯＬＤ＝０のときは、ＫＬＡＦリセットフラグＦＫＬＡＦＲＥＳＥＴが「１」か否かを判別する（ステップＳ３０２）。その結果、ＦＫＬＡＦＲＥＳＥＴ＝１のときは、ステップＳ３０３に進み、ＰＩＤ補正係数ＫＬＡＦを１．０に設定するとともに、積分制御ゲインＫＩ及び目標当量比ＫＣＭＤと検出当量比ＫＡＣＴとの偏差ＤＫＡＦを「０」に設定して、係数の初期化が実行され本処理を終了する。検出当量比ＫＡＣＴはＬＡＦセンサ１７の出力を当量比に変換したものである。
【００２６】
ステップＳ３０２でＦＫＬＡＦＲＥＳＥＴ＝０のときは、ステップＳ３０４に進み、比例制御ゲインＫＰ、積分制御ゲインＫＩ及び微分制御ゲインＫＤをエンジン回転数ＮＥ及び吸気管内絶対圧ＰＢＡに応じて設定されたマップから検索する。ただし、アイドル状態のときはアイドル用のゲインを採用する。次いで、目標当量比ＫＣＭＤと検出当量比ＫＡＣＴとの偏差ＤＫＡＦ（ｋ）（＝ＫＣＭＤ（ｋ）−ＫＡＣＴ（ｋ））を算出し（ステップＳ３０５）、偏差ＤＫＡＦ（ｋ）及び各制御ゲインＫＰ，ＫＩ，ＫＤを下記式に適用して、比例項ＫＬＡＦＰ（ｋ）、積分項ＫＬＡＦＩ（ｋ）及び微分項ＫＬＡＦＤ（ｋ）を算出する（ステップＳ３０６）。
【００２７】
ＫＬＡＦＰ（ｋ）＝ＤＫＡＦ（ｋ）×ＫＰ
ＫＬＡＦＩ（ｋ）＝ＤＫＡＦ（ｋ）×ＫＩ＋ＫＬＡＦ（ｋ−１）
ＫＬＡＦＤ（ｋ）＝（ＤＫＡＦ（ｋ）−ＤＫＡＦ（ｋ−１））×ＫＤ
続くステップＳ３０７〜Ｓ３１０では、積分項ＫＬＡＦＩ（ｋ）のリミット処理を行う。すなわち、ＫＬＡＦＩ（ｋ）値が所定上下限値ＫＬＡＦＩＬＭＴＨ，ＫＬＡＦＩＬＭＴＬの範囲内にあるか否かを判別し（ステップＳ３０７、Ｓ３０８）、ＫＬＡＦＩ（ｋ）＞ＫＬＡＦＩＬＭＴＨであるときは、ＫＬＡＦＩ（ｋ）＝ＫＬＡＦＬＭＴＨとし（ステップＳ３１０）、ＫＬＡＦＩ（ｋ）＜ＫＬＡＦＩＬＭＴＬであるときは、ＫＬＡＦＩ（ｋ）＝ＫＬＡＦＩＬＭＴＬとする（ステップＳ３０９）。
【００２８】
続くステップＳ３１１では、下記式によりＰＩＤ補正係数ＫＬＡＦ（ｋ）を算出する。
【００２９】
0003908543.tif 000002
次いで、ＫＬＡＦ（ｋ）値が所定上限値ＫＬＡＦＬＭＴＨより大きいか否かを判別し（ステップＳ３１２）、ＫＬＡＦ（ｋ）＞ＫＬＡＦＬＭＴＨであるときは、ＫＬＡＦ（ｋ）＝ＫＬＡＦＬＭＴＨとして（ステップＳ３１６）、本処理を終了する。
【００３０】
ステップＳ３１２で、ＫＬＡＦ（ｋ）≦ＫＬＡＦＬＭＴＨであるときは、ＫＬＡＦ（ｋ）値が所定下限値ＫＬＡＦＬＭＴＬより小さいか否かを判別し（ステップＳ３１４）、ＫＬＡＦ（ｋ）≧ＫＬＡＦＬＭＴＬであれば直ちに本処理を終了する一方、ＫＬＡＦ（ｋ）＜ＫＬＡＦＬＭＴＬであるときは、ＫＬＡＦ（ｋ）＝ＫＬＡＦＬＭＴＬとして（ステップＳ３１５）、本処理を終了する。
【００３１】
本処理では、検出当量比ＫＡＣＴが目標当量比ＫＣＭＤに一致するようにＰＩＤ制御を行うことによりＰＩＤ補正係数ＫＬＡＦが算出される。
【００３２】
つぎに、ＬＡＦセンサ１７の劣化判定処理について説明する。図６は、ストイキ劣化判定処理を説明するための図であり、この劣化判定処理の実行時においては、Ｏ２センサ１８の出力が高レベル（空燃比が理論空燃比よりリッチであることを示す）のときは、目標当量比ＫＣＭＤを徐々に減少させる一方、逆に低レベル（空燃比が理論空燃比よりリーンであることを示す）のときは、徐々に増加させ、Ｏ２センサ出力の反転時点Ｂ，Ｃ，Ｄ，Ｅにおける検出当量比ＫＡＣＴの平均値ＫＡＣＴＡＶ（＝（ＫＡＣＴ（Ｂ）＋ＫＡＣＴ（Ｃ）＋ＫＡＣＴ（Ｃ）＋ＫＡＣＴ（Ｄ））／４）を算出する。そして、ＫＡＣＴＡＶ値が１．０から所定以上ずれたとき、ストイキ劣化と判定する。なお、平均値ＫＡＣＴＡＶの算出に用いるＫＡＣＴ値は４つに限らないが、リーン側とリッチ側の検出値の数を同数とする必要がある。
【００３３】
図７はＬＡＦセンサ１７の出力ＲＶＩＰのずれ量ＶＬＦＳＴを示す説明図である。ＬＡＦセンサ１７に劣化が生じると、その出力ＲＶＩＰはリーン側あるいはリッチ側にずれ量ＶＬＦＳＴだけずれてくる。
【００３４】
図３はＬＡＦセンサの劣化判定処理の全体構成を示すフローチャートであり、本処理は所定時間（例えば１０ｍｓｅｃ）毎に実行される。
【００３５】
先ずステップＳ５０１では、始動モードか否か、即ちクランキング中か否かを判別し、始動モードのときは直ちに本処理を終了する。始動モードでなければ、ストイキ劣化判定処理（ステップＳ５０２）、応答劣化判定処理（ステップＳ５０３）及びリーン劣化判定処理（ステップＳ５０４）を順次実行する。そして、ストイキ劣化を検出したことを「１」で示すストイキ劣化フラグＦＬＦＳＴＮＧが「１」か否かを判別し（ステップＳ５０５）、ＦＬＦＳＴＮＧ＝０のときは、応答劣化を検出したことを「１」で示す応答劣化フラグＦＬＦＲＰＮＧが「１」か否かを判別し（ステップＳ５０６）、ＦＬＦＲＰＮＧ＝０のときは、リーン劣化を検出したことを「１」で示すリーン劣化フラグＦＬＦＬＮＮＧが「１」か否かを判別する（ステップＳ５０７）。
【００３６】
その結果、ステップＳ５０５〜Ｓ５０７のいずれかの答が肯定（ＹＥＳ）であって、何らかの劣化を検出しているときは、ＬＡＦセンサ１７が劣化していないことを「１」で示すＯＫフラグＦＯＫ６１を「０」に設定し（ステップＳ５１１）、本処理を終了する。
【００３７】
一方、ステップＳ５０５〜Ｓ５０７の答がすべて否定（ＮＯ）のときは、ストイキ劣化判定処理の終了を「１」で示すストイキ劣化判定終了フラグＦＬＦＳＴＥＮＤが「１」か否かを判別し（ステップＳ５０８）、ＦＬＦＳＴＥＮＤ＝１のときは、応答劣化判定処理の終了を「１」で示す応答劣化判定終了フラグＦＬＦＲＰＥＮＤが「１」か否かを判別する（ステップＳ５０９）。その結果、ステップＳ５０８又はＳ５０９の答が否定（ＮＯ）のときは直ちに本処理を終了する一方、ステップＳ５０８及びＳ５０９の答がともに肯定（ＹＥＳ）のときは、ＯＫフラグＦＯＫ６１を「１」に設定する。
【００３８】
図４及び図５は、図３のステップＳ５０２におけるストイキ劣化判定処理を示すフローチャートである。
【００３９】
先ずステップＳ５２１では、ストイキ劣化判定の終了を「１」で示す。ストイキ劣化判定終了フラグＦＬＦＳＴＥＮＤが「１」か否かを判別し、ＦＬＦＳＴＥＮＤ＝０のとき、すなわち劣化判定が終了していない時はモニタ条件が成立していることを「１」で示すモニタ条件フラグＦＬＦＭＣＨＫが「１」か否かを判別する（ステップＳ５２２）。ここで、前記モニタ条件は、劣化判定の実行許可条件であり、フラグＦＬＦＭＣＨＫは、後述する図１０の処理で設定される。
【００４０】
ステップＳ５２２の答が肯定（ＹＥＳ）のときは、吸気管内負圧の変動量｜ＤＰＢＡ４｜が所定変動量ＤＰＢＬＦＭ以下か否かを判別する（ステップＳ５２２Ｂ）。肯定（ＹＥＳ）のときは、ストイキ劣化判定実行中であることを「１」で示すストイキ劣化判定実行フラグＦＬＦＳＴＭが「１」か否かを判別し（ステップＳ５２２Ｃ）、肯定（ＹＥＳ）のときは、吸気管内最大負圧ＰＢＣＴＭＡＸと最小負圧ＰＢＣＴＭＩＮとの差、つまり吸気管内負圧の最大変動量が所定変動量ＤＰＢＬＡＦＧ以下か否かを判別する（ステップＳ５２２Ｄ）。
【００４１】
ステップＳ５２２Ｄで肯定（ＹＥＳ）のとき、またはステップＳ５２２Ｃでストイキ劣化判定実行フラグＦＬＦＳＴＭが「０」であるときにはステップＳ５２３に進む。
【００４２】
ステップＳ５２３ではＯ２センサ出力（ＳＶＯ２）監視フラグＦＳＶＯ２ＬＡＦが「１」か否かを判別する。そして、ステップＳ５２３の答が否定（ＮＯ）のときは、ステップＳ５２７に進む一方、ステップＳ５２１若しくはＳ５２３の答が肯定（ＹＥＳ）のとき、又はステップＳ５２２、Ｓ５２２Ｂ、Ｓ５２２Ｄのいずれかの答が否定（ＮＯ）のときは、ストイキ劣化判定に適さないとし、ＳＶＯ２監視フラグＦＳＶＯ２ＬＡＦを「０」に設定し（ステップＳ５２４）、ストイキ劣化判定実行フラグＦＬＦＳＴＭを「０」に設定する（ステップＳ５２５）とともに、ダウンカウントタイマｔｍＬＦＳＴＭに所定時間ＴＬＦＳＴＭを設定して（ステップＳ５２６）、本処理を終了する。
【００４３】
ステップＳ５２７では後述する図９の処理によりフィードバックの目標となる目標当量比ＫＣＭＤの算出を行い、続くステップＳ５２８では、ストイキ劣化判定実行フラグＦＬＦＳＴＭを「１」に設定し、ステップＳ５２９に進む。
【００４４】
ステップＳ５２９では、後述する図９の処理で設定され、Ｏ２センサ出力がリッチからリーンまたはリーンからリッチに反転後所定時間経過したことを「１」で示す反転フラグＦＫＡＣＴＴが「１」か否かを判別し、ＦＫＡＣＴＴ＝０のときは、すなわちＯ２センサの出力が反転しないときには、前記ステップＳ５２６（又は後述するステップＳ５３２）でセットしたタイマｔｍＬＦＳＴＭの値が「０」か否かを判別する（ステップＳ５３０）。その結果、ｔｍＬＦＳＴＭ＞０であって所定時間ＴＬＦＳＴＭが経過していないときは、直ちに本処理を終了し、ｔｍＬＦＳＴＭ＝０であるときは、ＳＶＯ２監視フラグＦＳＶＯ２ＬＡＦを「１」に設定して（ステップＳ５３１）、本処理を終了する。
【００４５】
ステップＳ５２９でＦＫＡＣＴＴ＝１であって、Ｏ２センサ出力がリッチからリーンへまたはリーンからリッチへ反転したときは、前記ダウンカウントタイマｔｍＬＦＳＴＭに所定時間ＴＬＦＳＴＭをセットしてスタートさせ（ステップＳ５３２）、カウンタＮＫＡＣＴの値が「０」か否かを判別する（ステップＳ５３３）。最初はＮＫＡＣＴ＝０であるので、ステップＳ５３５に進んで、該カウンタＮＫＡＣＴを「１」だけインクリメントして（ステップＳ５３５）、その値が所定値ＮＫＡＣＴＣ（例えば５）より小さいか否かを判別する（ステップＳ５３６）。最初はＮＫＡＣＴ＜ＮＫＡＣＴＣであるので、直ちに本処理を終了する。
【００４６】
次にＯ２センサ出力が反転したときは、ステップＳ５３３の答が否定（ＮＯ）となり、検出当量比ＫＡＣＴの積算値ＫＡＣＴＴを下記式により算出して（ステップＳ５３４）、ステップＳ５３５に進む。
【００４７】
ＫＡＣＴＴ＝ＫＡＣＴＴ＋ＫＡＣＴ
そして、反転回数が所定値に達するとステップＳ５３６でＮＫＡＣＴ＝ＮＫＡＣＴＣとなり、ステップＳ５３７に進んで、下記式により平均検出当量比ＫＡＣＴＡＶを算出する。
【００４８】
ＫＡＣＴＡＶ＝ＫＡＣＴＴ／（ＮＫＡＣＴ−１）
これにより、図６のＢ，Ｃ，Ｄ，Ｅ点におけるＫＡＣＴ値の平均値として、ＫＡＣＴＡＶ値が算出される。
【００４９】
このようにして検出開始後、最初の反転（図６のＡ）を除くＢ，Ｃ，Ｄ，Ｅの４点におけるＫＡＣＴの平均を算出するので、検出の精度を向上することができる（Ａ点においては制御が安定していないおそれがあり、この点を平均値算出に用いると誤差が大きくなるおそれがある）。
【００５０】
続くステップＳ５３８、Ｓ５３９では、平均値ＫＡＣＴＡＶが所定下限値ＫＡＣＴＡＶＬより大きいか否か及び所定上限値ＫＡＣＴＡＶＨより小さいか否かを判別し、その結果ＫＡＣＴＡＶＬ＜ＫＡＣＴＡＶ＜ＫＡＣＴＡＶＨであるときは、劣化していないと判定し、フラグＦＬＦＳＴＮＧを「０」のままとする。
【００５１】
そして、ステップＳ５３９ＡではＶＬＦＳＴテーブルを参照して平均値ＫＡＣＴＡＶに対するずれ量ＶＬＦＳＴを算出する。図８はＶＬＦＳＴテーブルを示す説明図である。
【００５２】
この後、ステップＳ５４１に進み、ストイキ劣化判定終了フラグＦＬＦＳＴＥＮＤを「１」に設定し、ステップＳ５４１Ａでストイキ劣化判定実行フラグＦＬＦＳＴＭを「０」に設定して本処理を終了する。
【００５３】
また、ＫＡＣＴＡＶ≦ＫＡＣＴＡＶＬ又はＫＡＣＴＡＶ≧ＫＡＣＴＡＶＨであるときは、ストイキ劣化と判定してフラグＦＬＦＳＴＮＧを「１」に設定して（ステップＳ５４０）、前記ステップＳ５３９Ａに進む。以上のようにしてＬＡＦセンサの出力ずれの劣化の判定を行う。
【００５４】
図９はストイキ劣化判定実行中の目標当量比ＫＣＭＤの算出処理を示すフローチャートである。
【００５５】
先ずステップＳ８０１では、Ｏ２センサ出力ＳＶＯ２が所定基準値ＳＶＲＥＦより大きいか否かを判別し、ＳＶＯ２＞ＳＶＲＥＦであって理論空燃比よりリッチ側であるときは、第１リッチフラグＦＡＦＲ１を「１」に設定し（ステップＳ８０３）、ＳＶＯ２＜ＳＶＲＥＦであって理論空燃比よりリーン側のときは、フラグＦＡＦＲ１を「０」に設定して（ステップＳ８０２）、ステップＳ８０４に進む。
【００５６】
ステップＳ８０４では、第１リッチフラグＦＡＦＲ１が反転したか否かすなわち、Ｏ２センサの出力がリッチからリーンへまたはリーンからリッチへ反転したかを判別し、反転していないときは直ちにステップＳ８０８に進み、反転したときは、第１リッチフラグＦＡＦＲ１が「１」かすなわちリッチであるか否かを判別する（ステップＳ８０５）。そして、ＦＡＦＲ１＝１であるとき（リッチであるとき）は、反転後の時間を計測するダウンカウントタイマｔｍＤＬＹＲにリッチ側所定時間ＴＲＤを設定してスタートさせる（ステップＳ８０７）一方、ＦＡＦＲ１＝０（リーンであるとき）であるときは、該タイマｔｍＤＬＹＲにリーン側所定時間ＴＬＤを設定して（ステップＳ８０６）、ステップＳ８０８に進む。
【００５７】
ステップＳ８０８では、前記ストイキ劣化判定実行フラグＦＬＦＳＴＭが「１」か否かを判別し、ＦＬＦＳＴＭ＝０であって今回から判定を開始するときは、検出当量比ＫＡＣＴの積算値ＫＡＣＴＴ及び図４のステップＳ５３５でインクリメントされるカウンタＮＫＡＣＴをともに「０」に設定し（ステップＳ８０９）、第２リッチフラグＦＡＦＲ２を第１リッチフラグＦＡＦＲ１と同じ値とし、目標当量比ＫＣＭＤを所定値ＫＣＭＣＨＫ（例えば１．０）に設定して（ステップＳ８１０）、ステップＳ８１３に進む。
【００５８】
ステップＳ８１３では、反転フラグＦＫＡＣＴＴを「０」に設定し、次いで第２リッチフラグＦＡＦＲ２が「０」か否かを判別する（ステップＳ８１４）。その結果、ＦＡＦＲ２＝０であるときは、目標当量比ＫＣＭＤにリッチ側積分項ＩＲＳＰを加算し（ステップＳ８１５）、ＦＡＦＲ２＝１であるときは、ＫＣＭＤ値からリーン側積分項ＩＬＳＰを減算して（ステップＳ８１６）、ステップＳ８２２に進む。
【００５９】
前記ステップＳ８０８で、ＦＬＦＳＴＭ＝１であってストイキ劣化判定実行中のときは、ステップＳ８１１に進み、第１リッチフラグＦＡＦＲ１と第２リッチフラグＦＡＦＲ２とが等しいか否かを判別し、ＦＡＦＲ１＝ＦＡＦＲ２であるときは、前記ステップＳ８１３に進む。また、ＦＡＦＲ１≠ＦＡＦＲ２であるときは、ステップＳ８０６又はＳ８０７でスタートしたタイマｔｍＤＬＹＲの値が「０」か否かを判別する（ステップＳ８１２）。第１リッチフラグＦＡＦＲ１の反転直後は、ｔｍＤＹＬＲ＞０であるので、前記ステップＳ８１３に進み、ディレイ時間ＴＲまたはＴＬが経過し、ｔｍＤＹＬＲ＝０となると、ステップＳ８１７で第２リッチフラグＦＡＦＲ２を第１リッチフラグＦＡＦＲ１と等くし、次いで反転フラグＦＫＡＣＴＴを「１」に設定する（ステップＳ８１８）。
【００６０】
続くステップＳ８１９では、第１リッチフラグＦＡＦＲ１が「１」か否かを判別し、ＦＡＦＲ１＝０であるときは、目標当量比ＫＣＭＤにリッチ側比例項ＰＲＳＰを加算し（ステップＳ８２０）、ＦＡＦＲ１＝１であるときは、ＫＣＭＤ値からリーン側比例項ＰＬＳＰを減算して（ステップＳ８２１）、ステップＳ８２２に進む。
【００６１】
ステップＳ８２２ではリミットチェック処理を実行し、本処理を終了する。
【００６２】
このようにしてＯ２センサの出力に基づきＰＩ制御により目標当量比ＫＣＭＤが算出される。
【００６３】
図１０は上述したモニタ条件を判定する処理を示すフローチャートであり、本処理は優先度の高い処理が実行されていない、いわゆるバックグラウンドで実行される。
【００６４】
先ずステップＳ５７２では、Ｏ２センサ１８が活性状態にあることを「１」で示す活性フラグｎＯ２Ｒが「１」か否かを判別し、ｎＯ２Ｒ＝１であるときは、エンジン１及びエンジン１を搭載した車両の運転状態が所定の領域にあるか否かを判別する（ステップＳ５７３）。
【００６５】
即ち、エンジン水温ＴＷが所定上下限値ＴＷＬＡＦＭＨ，ＴＷＬＡＦＭＬの範囲内にあるか否か、吸気温ＴＡが所定上下限値ＴＡＬＡＦＭＨ，ＴＡＬＡＦＭＬの範囲内にあるか否か、エンジン回転数ＮＥが所定上下限値ＮＥＬＡＦＭＨ，ＮＥＬＡＦＭＬの範囲内にあるか否か、吸気管内絶対圧ＰＢＡが所定上下限値ＰＢＬＡＦＭＨ，ＰＢＬＡＦＭＬの範囲内にあるか否か及び車速Ｖが所定上下限値ＶＬＡＦＭＨ，ＶＬＡＦＭＬの範囲内にあるか否かを判別し、すべての答が肯定（ＹＥＳ）のとき、運転状態が所定の領域にあると判定する。
【００６６】
そして、その場合にはさらに当該車両が車速の変化率が小さいクルーズ状態にあることを「１」で示すフラグＦＣＲＳが「１」か否かを判別し（ステップＳ５７４）、ＦＣＲＳ＝１のときは、リセットフラグＦＫＬＡＦＲＥＳＥＴが「０」か否かを判別する（ステップＳ５７５）。
【００６７】
以上の判別の結果、ステップＳ５７２〜Ｓ５７５のいずれかの答が否定（ＮＯ）のときは、モニタ条件不成立と判定してステップＳ５８０に進み、次いでダウンカウントタイマｔｍＬＦＭＣＨＫに所定時間ＴＬＦＭＣＨＫをセットしてスタートさせ（ステップＳ５８１）、モニタ条件フラグＦＬＦＭＣＨＫを「０」に設定し（ステップＳ５８３）、ダウンカウントタイマｔｍＬＦＲＰＭＳに所定時間ＴＬＦＲＰＭＳをセットしてスタートさせ（ステップＳ５８６）、応答劣化判定開始フラグＦＬＦＲＰＭＳを「０」に設定して（ステップＳ５８８）、本処理を終了する。
【００６８】
また、ステップＳ５７５でＦＫＬＡＦＲＥＳＥＴ＝０であって、空燃比フィードバック制御領域にあるときには、モニタフラグＦＬＦＭＣＨＫが「１」か否かを判別し（ステップＳ５７６）、ＦＬＦＭＣＨＫ＝１であるときは、直ちにステップＳ５７８に進む一方、ＦＬＦＭＣＨＫ＝０であるときは、目標当量比ＫＣＭＤが所定値ＫＣＭＤＺＭＬ（例えば理論空燃比に対応する値、すなわち１．０に設定される）以上か否かを判別する（ステップＳ５７７）。そして、ＫＣＭＤ＜ＫＣＭＤＺＭＬであるときは、モニタ条件不成立と判定して前記ステップＳ５８０に進み、ＫＣＭＤ≧ＫＣＭＤＺＭＬであるときは、ステップＳ５７８に進む。
【００６９】
ステップＳ５７８では、ＬＡＦセンサ劣化判定終了フラグＦＬＦＲＰＥＮＤが「１」か否かを判別し、ＦＬＦＲＰＥＮＤ＝１であって判定が終了したときは、前記ステップＳ５８０に進む。また、ＦＬＦＲＰＥＮＤ＝０であるときは、パージカットフラグＦＬＡＦＰＧを「１」に設定してパージカットし（ステップＳ５７９）、診断中のパージガスの影響をなくす。前記ステップＳ５８１でスタートしたタイマｔｍＬＦＭＣＨＫの値が「０」か否かを判別する（ステップＳ５８２）。最初は、ｔｍＬＦＭＣＨＫ＞０であるので前記ステップＳ５８３に進み、ｔｍＬＦＭＣＨＫ＝０となると、モニタ条件成立と判定してフラグＦＬＦＭＣＨＫを「１」に設定して（ステップＳ５８４）、ストイキ劣化判定終了フラグＦＬＦＳＴＥＮＤが「１」か否かを判別する（ステップＳ５８５）。
【００７０】
その結果、ＦＬＦＳＴＥＮＤ＝０であってストイキ劣化判定が終了していないときは、前記ステップＳ５８６に進み、ストイキ劣化判定が終了してＦＬＦＳＴＥＮＤ＝１となると、ステップＳ５８７に進み、ステップＳ５８６でスタートしたタイマｔｍＬＦＲＰＭＳの値が「０」か否かを判別する（ステップＳ５８７）。最初は、ｔｍＬＦＲＰＭＳ＞０であるので、前記ステップＳ５８８に進み、ｔｍＬＦＲＰＭＳ＝０となると、応答劣化判定開始フラグＦＬＦＲＰＭＳを「１」に設定し（ステップＳ５８９）、応答劣化判定の開始を許可する。
【００７１】
つぎに、ＬＡＦセンサの出力に基づく検出当量比ＫＡＣＴの補正について説明する。図１１は検出当量比ＫＡＣＴの補正処理を示すフローチャートである。Ｏ２センサ１８（ＳＶＯ２）が劣化しているか否かを判別し（ステップＳ６０１）、劣化しているときはステップＳ６０６に進み、劣化していないときは、ＬＡＦモニタ領域にあることを示すモニタフラグＦＬＦＭＣＨＫが「１」か否かを判別し（ステップＳ６０２）、答が肯定（ＹＥＳ）でＬＡＦモニタ領域にあるときにはストイキ劣化判定終了フラグＦＬＦＳＴＥＮＤが「１」か否かを判別し（ステップＳ６０３）、答が否定（ＮＯ）のときにはステップＳ６０６に進む。
【００７２】
ステップＳ６０２で否定（ＮＯ）のとき、あるいはステップＳ６０３で肯定（ＹＥＳ）のときには、フュエルカット中であるとき「１」を示すフュエルカットフラグＦＦＣが「１」か否かを判別する。答が肯定（ＹＥＳ）でフュエルカット中であるときにはステップＳ６０６に進み、答が否定（ＮＯ）のときにはステップＳ６０５に進む。
【００７３】
ステップＳ６０５では、ＬＡＦセンサ１７の出力ＲＶＩＰに図４のステップＳ５３９Ａで算出したずれ量ＶＬＦＳＴを加えることにより出力ＲＶＩＰ値を補正する。そして、ステップＳ６０６では、補正されたＲＶＩＰ値に対し大気圧ＰＡおよび排圧ＰＢＯＵＴに応じた補正を行って検出当量比ＫＡＣＴを算出し、本処理を終了する。
【００７４】
以上示したように、本実施形態の空燃比制御装置によれば、Ｏ２センサ１８（下流側酸素濃度センサ）の出力に基づいて目標空燃比を制御したときのＬＡＦセンサ１７（上流側酸素濃度センサ）の出力平均値に相当する平均検出当量比ＫＡＣＴＡＶが所定範囲を越える場合にＬＡＦセンサ１７のストイキ劣化と判定することによりストイキ領域でのＬＡＦセンサ１７の故障を検知できる。
【００７５】
また、平均検出当量比ＫＡＣＴＡＶに応じた理論空燃比からのずれ量ＶＬＦＳＴをＬＡＦセンサ１７の出力ＲＶＩＰに補正することにより適正に空燃比を理論空燃比に制御して触媒の浄化率を確保できる。
【００７６】
【発明の効果】
本発明によれば、下流側の第２の空燃比検出手段の出力に応じて目標空燃比を制御した場合、上流側の第１の空燃比検出手段の出力特性の変化を定量的に測定することができ、酸素濃度センサに触媒の浄化率に影響する出力特性の変化が生じた場合にその故障を検知できる。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかるエンジン及びその制御装置の構成を示す図である。
【図２】ＰＩＤ補正係数ＫＬＡＦ算出処理を示すフローチャートである。
【図３】ＬＡＦセンサの劣化判定処理の全体構成を示すフローチャートである。
【図４】図３のステップＳ５０２におけるストイキ劣化判定処理を示すフローチャートである。
【図５】図４につづくストイキ劣化判定処理を示すフローチャートである。
【図６】ストイキ劣化判定処理を示す説明図である。
【図７】ＬＡＦセンサ出力ＲＶＩＰのずれ量ＶＬＦＳＴを示す説明図である。
【図８】ＶＬＦＳＴテーブルを示す説明図である。
【図９】ストイキ劣化判定実行中の目標当量比ＫＣＭＤの算出処理を示すフローチャートである。
【図１０】モニタ条件を判定する処理を示すフローチャートである。
【図１１】検出当量比ＫＡＣＴの補正処理を示すフローチャートである。
【符号の説明】
１  エンジン
５  ＥＣＵ
１７  ＬＡＦセンサ
１８  Ｏ２センサ
【図１】
0003908543.tif 000003
【図２】
0003908543.tif 000004
【図３】
0003908543.tif 000005
【図４】
0003908543.tif 000006
【図５】
0003908543.tif 000007
【図６】
0003908543.tif 000008
【図７】
0003908543.tif 000009
【図８】
0003908543.tif 000010
【図９】
0003908543.tif 000011
【図１０】
0003908543.tif 000012
【図１１】
0003908543.tif 000013