(57)【要約】【課題】触媒の劣化を高精度に判定することができる内燃機関の空燃比制御装置を得る。【解決手段】内燃機関への燃料の供給が停止された燃料カットの状態を検出する燃料カット状態検出手段と、燃料カット状態検出手段が燃料カットの状態の解除を検出してから第２の空燃比センサの出力値が目標値付近の所定の復帰判定値に一致するまでの期間と第２の空燃比フォードバック制御手段による上流側の前記平均空燃比の操作量とに基づいて触媒の劣化を判定する触媒劣化判定手段とを備えた。【選択図】図３
2008267283.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気系に設置され前記内燃機関からの排気ガスを浄化する触媒と、前記触媒の上流側に設けられ上流側排気ガス中の空燃比を検出する第１の空燃比センサと、前記触媒の下流側に設けられ下流側排気ガス中の空燃比を検出する第２の空燃比センサと、前記第１の空燃比センサの出力値と所定の制御定数とに応じて前記内燃機関に供給する空燃比を調整して、前記触媒の上流側排気ガス中の空燃比を周期的にリッチ方向およびリーン方向に振動させる第１の空燃比フィードバック制御手段と、前記第２の空燃比センサの出力値と目標値とが一致するように前記制御定数を変化させ、前記周期的に振動する前記上流側排気ガス中の空燃比を平均化した平均空燃比を操作する第２の空燃比フィードバック制御手段とを備えた内燃機関の空燃比制御装置であって、前記内燃機関への燃料の供給が停止された燃料カットの状態を検出する燃料カット状態検出手段と、前記燃料カット状態検出手段が前記燃料カットの状態の解除を検出してから前記第２の空燃比センサの出力値が前記目標値付近の所定の復帰判定値に一致するまでの期間と前記第２の空燃比フォードバック制御手段による前記上流側の前記平均空燃比の操作量とに基づいて前記触媒の劣化を判定する触媒劣化判定手段とを備えたことを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記触媒劣化判定手段は、前記燃料カット状態検出手段が前記燃料カットの状態の解除を検出してから前記第２の空燃比センサの出力値が前記目標値付近の所定復帰判定値に一致するまでの前記内燃機関の吸入空気量と前記第２の空燃比フォードバック制御手段による前記上流側の前記平均空燃比の操作量とに基づいて前記触媒の劣化を判定することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
前記触媒劣化判定手段は、前記燃料カット状態検出手段が前記燃料カットの状態の解除を検出してから前記第２の空燃比センサの出力値が前記目標値付近の所定の復帰判定値に一致するまでの前記触媒の酸素ストレージ量の変化量を、前記内燃機関の吸入空気量と前記第２の空燃比フォードバック制御手段による前記上流側の前記平均空燃比の操作量とに基づいて演算し、前記変化量が所定値より小さい時に前記触媒の劣化を判定することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項４】
前記触媒劣化判定手段は、前記燃料カット状態検出手段が前記燃料カットの状態を検出中に前記第２の空燃比センサの出力値が所定リーン判定値よりリーンな値となった時に前記触媒の劣化を判定をすることを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項５】
前記触媒劣化判定手段は、前記前記燃料カット状態検出手段が前記燃料カットの状態を検出中に前記第２の空燃比センサの出力値が所定リーン判定値よりリーンな値となった期間が所定期間以上となった時に前記触媒の劣化を判定をすることを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項６】
前記第２の空燃比センサの出力値と比較される前記目標値付近の所定の復帰判定値は、前記目標値付近よりリーン側に設定されることを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項７】
前記第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように、比例演算及び積分演算を用いて前記上流側の前記平均空燃比を操作するものであって、前記劣化判定手段は、前記比例演算による前記上流側の前記平均空燃比の操作量に応じて前記触媒の劣化を判定することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項８】
前記触媒劣化判定手段による前記触媒の劣化判定中は、前記第２の空燃比フィードバック制御手段の制御ゲインを変更することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項９】
前記第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように、比例演算及び積分演算を用いて前記上流側の前記平均空燃比を操作するものであって、前記触媒劣化判定手段による前記触媒の劣化判定中は前記比例演算のゲインを変更することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項１０】
前記第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように、比例演算及び積分演算を用いて前記上流側の前記平均空燃比を操作するものであって、前記触媒劣化判定手段による前記触媒の劣化判定中は前記積分演算を停止することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項１１】
前記触媒劣化判定手段は、前記内燃機関の所定の運転条件の場合にのみ前記触媒の劣化判定を行なうことを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項１２】
前記第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように前記上流側の前記平均空燃比の目標値を設定し、前記平均空燃比の目標値に応じて前記制御定数を設定することを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【請求項１３】
前記平均空燃比の目標値に応じて設定される前記制御定数は、遅延時間、スキップ量、積分ゲイン、比較電圧のうちの少なくとも２つとすることを特徴とする請求項１に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の空燃比制御装置に関するものである。
【背景技術】
【０００２】
内燃機関の排気通路には、一般的に排気ガス中のＨＣ、ＣＯ、ＮＯｘを同時に浄化する３元触媒を備えた触媒コンバータが設置される。この触媒コンバータに於ける触媒では、理論空燃比付近でＨＣ、ＣＯ、ＮＯｘの何れについても浄化率が高くなる。このため、通常、触媒の上流側にＯ２センサを設け、この上流側Ｏ２センサの検出値に基づいて空燃比を理論空燃比付近となるように制御している。
【０００３】
この触媒の上流側に設けられる上流側Ｏ２センサは、できるだけ内燃機関の燃焼室に近い排気系の個所、即ち触媒より上流である排気マニホールドの集合部分に設けられているが、高い排気温度に晒され、かつ種々の有毒物による被毒により、上流側Ｏ２センサの出力特性は大きく変動する。そこで、この出力特性の変動を補償するために、触媒の下流側に下流側Ｏ２センサを設け、上流側Ｏ２センサによる第１の空燃比フィードバック制御に加えて、下流側Ｏ２センサによる第２の空燃比フィードバック制御を行うダブルＯ２センサシステムが既に提案されている（例えば、特許文献１、特許文献２参照）。
【０００４】
この様な従来の内燃機関の空燃比制御装置に於いて、下流側Ｏ２センサは、上流側Ｏ２センサに比較して応答速度は低いが、以下のような長所がある。即ち、触媒の下流側では、排気温度は低いために熱による影響が少なく、又、種々の有毒物は触媒によってトラップされており被毒は少ないため、下流側Ｏ２センサの出力特性の変動は小さい。さらに、触媒の下流側では、排気ガスがより混合されているため、下流側Ｏ２センサの上流に位置する触媒の浄化状態を安定的に検出することができる。
【０００５】
又、前述の従来のダブルＯ２センサシステムを用いた内燃機関の空燃比制御装置によれば、触媒に対する上流側の空燃比を補正し、下流側Ｏ２センサの出力を目標値に維持することにより、上流側Ｏ２センサの出力特性の変動を補償することができ、又触媒の浄化状態を良好に保つことができる。
【０００６】
更に、触媒には、上流側空燃比の理論空燃比からの一時的な変動を吸収するために、酸素ストレージ能力が付加されており、空燃比が理論空燃比よりリーン側の場合には、触媒は排気ガス中の酸素を取り込んで蓄積する一方、リッチ側の場合は、触媒中に蓄積されている酸素を放出する。このように、触媒はフィルタ若しくは空燃比の平均化のような作用を持ち、上流側の空燃比の変動は触媒内で平均化されて触媒の下流側の空燃比となる。
【０００７】
又、酸素ストレージ量の上限値は、触媒の製造時に添付される酸素ストレージ能力を持つ物質の量により決まる。従って、酸素ストレージ量がその上限値、及び下限値「０」に到達すると、もはや上流側空燃比の変動を吸収できなくなり、触媒内の空燃比は理論空燃比から外れ、触媒の浄化能力は低下する。この時、下流側の空燃比は理論空燃比から大きく外れるため、酸素ストレージ量の上限値、下限値「０」への飽和を検出することができる。
【０００８】
理論空燃比付近で、排気ガス中のＨＣ、ＣＯ、ＮＯｘのいずれもの浄化率が高くなるが、触媒の酸素ストレージ量が上限値の半分程度の量となっている場合に浄化率が最も高くなる。又、上限値から下限値の中間の触媒酸素ストレージ量は、下流側の空燃比の理論空燃比付近での微小変化により検出することができる。そのため、下流側Ｏ２センサの出力を目標値に制御することで、酸素ストレージ量を上限値の半分程度の量に制御し、触媒の浄化率を高く維持することができる。
【０００９】
一般に、内燃機関への燃料供給を停止する燃料カット中は、上流側の空燃比は大幅にリーンになるため、触媒の酸素ストレージ量は急速に増加してその上限値に到達し、触媒の浄化特性は大幅に悪化する。このため燃料供給の再開後はできるだけ早く触媒の酸素ストレージ量を上限値の半分程度の適切な量に復帰させ、触媒の浄化特性を回復する必要がある。
【００１０】
又、触媒コンバータに於ける触媒は、高温の排ガス温度下に晒されるため、車両を通常考えられる使用条件では、その機能が急激に低下しないように設計されている。しかし、内燃機関の運転中に何らかの原因、例えば失火により排ガス温度が異常に高くなった場合には、触媒の酸素ストレージ量の上限値は著しく低下してしまう。又、通常の使用条件でも走行距離が数万キロメートルにも達してくると触媒の経年劣化により、徐々に酸素ストレージ量の上限値が低下していく。従って、この触媒の劣化による酸素ストレージ量の上限値の低下と触媒の排ガス浄化性能の低下とは相関があり、酸素ストレージ量の上限値の低下を検出することにより触媒の劣化を検出することができる。触媒の劣化が進行すると、環境汚染を引き起こすため、許容範囲を超えた触媒の劣化を検出して警告灯等によりユーザに知らせ、触媒の交換を促す必要がある。
【００１１】
図１９は、下流側Ｏ２センサの出力Ｖ２の変化を示す特性図で、（Ａ）は触媒が正常な場合を示し、（Ｂ）は触媒が劣化した場合を示す。触媒が正常な場合の図１９の（Ａ）に比べて、図１９の（Ｂ）に示す劣化した触媒の場合、触媒の劣化により、触媒の酸素ストレージ量の上限値が減少するにつれ、燃料供給をカットする燃料カット状態の解除の時点ｔ１後に、下流側Ｏ２センサの出力Ｖ２が目標値に復帰するまでの時間が短くなる。これは、酸素ストレージ量の上限値の減少とともに、上限値から上限値の半分程度に復帰するまでに必要な酸素ストレージの変化量が減少するため、同じ空燃比制御を行なった場合、復帰するまでの時間が短くなるためである。このため、燃料カット解除の時点ｔ１後に、下流側Ｏ２センサの出力Ｖ２が目標値に復帰するまでの復帰時間を計測することにより、触媒の劣化判定を行なうようにした装置が既に提案されている（例えば、特許文献３、特許文献４参照）。
【００１２】
これらの特許文献３、４に示された従来の装置は、燃料カットにより触媒酸素ストレージ量が上限値に到達することを利用し、劣化診断開始前の条件を揃えており、診断開始前に上流側空燃比をリーン化する等の特別な空燃比制御は必要ない。又、リーン化を行なう場合はＮＯｘ排出が増加する恐れがあるが、燃料カット中はＮＯｘ排出が増加する恐れがない利点がある。更に、第２の空燃比フィードバック制御により自動的に下流側Ｏ２センサの出力が目標値に復帰する挙動を利用して触媒劣化診断を行なっており、診断中に上流側空燃比をリッチ化する等の特別な空燃比制御の必要はない。又、リッチ化を行なうと触媒酸素ストレージ量が下限値まで飽和しＨＣ、ＣＯの排出が増加する恐れがあるが、第２の空燃比フィードバック制御を利用しているため排ガスの悪化を招くことがない。
【００１３】
【特許文献１】特開昭６３−１９５３５１号公報
【特許文献２】特開平６−４２３８７号公報
【特許文献３】特開平２−３３４０８号公報
【特許文献４】特開平２−１３６５３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
しかし、このような従来の装置では、第２の空燃比フィードバック制御の挙動が毎回同じであるか、若しくは燃料カット解除後にアイドル運転条件が継続する等、同じ条件では触媒の劣化判定の精度は高いが、第２の空燃比フィードバック制御のゲインが変化した場合、若しくは燃料カット解除後に加速或いは減速を行う等運転条件が変動した場合には、触媒の劣化判定の精度は大幅に悪化するという課題があった。これは、時間計測だけでは触媒の酸素ストレージ量の挙動を精度良く表現できないために生じる。
【００１５】
又、触媒による酸素ストレージ量の変化速度は、上流側空燃比の理論空燃比からの偏差及び吸入空気量に比例する。このため、第２の空燃比フィードバック制御のゲインの変化により上流側空燃比の理論空燃比からの操作量が変化した場合には、酸素ストレージ量の変化速度が変化するため、復帰時間が増減し劣化判定精度が低下する。更に、加速又は減速により吸入空気量が変化した場合には、酸素ストレージ量の変化速度が変化するため、復帰時間が増減し劣化判定精度が低下する。
【００１６】
又、上流側Ｏ２センサとして理論空燃比付近で急激に出力が変化するλＯ２センサを用いた場合は、その２値的な特性により上流側空燃比の理論空燃比からの偏差が検出できないため、上流側の空燃比も考慮して触媒の酸素ストレージ量の挙動を演算できない等の課題があった。
【００１７】
この発明は、従来の内燃機関の空燃比制御装置における前述のような課題に鑑みて成されたもので、触媒の劣化を高精度に判定することができる内燃機関の空燃比制御装置を得ることを目的とするものである。
【課題を解決するための手段】
【００１８】
この発明による内燃機関の空燃比制御装置は、内燃機関の排気系に設置され前記内燃機関からの排気ガスを浄化する触媒と、前記触媒の上流側に設けられ上流側排気ガス中の空燃比を検出する第１の空燃比センサと、前記触媒の下流側に設けられ下流側排気ガス中の空燃比を検出する第２の空燃比センサと、前記第１の空燃比センサの出力値と所定の制御定数とに応じて前記内燃機関に供給する空燃比を調整して、前記触媒の上流側排気ガス中の空燃比を周期的にリッチ方向およびリーン方向に振動させる第１の空燃比フィードバック制御手段と、前記第２の空燃比センサの出力値と目標値とが一致するように前記制御定数を変化させ、前記周期的に振動する前記上流側排気ガス中の空燃比を平均化した平均空燃比を操作する第２の空燃比フィードバック制御手段とを備えた内燃機関の空燃比制御装置であって、前記内燃機関への燃料の供給が停止された燃料カットの状態を検出する燃料カット状態検出手段と、前記燃料カット状態検出手段が前記燃料カットの状態の解除を検出してから前記第２の空燃比センサの出力値が前記目標値付近の所定の復帰判定値に一致するまでの期間と前記第２の空燃比フォードバック制御手段による前記上流側の前記平均空燃比の操作量とに基づいて前記触媒の劣化を判定する触媒劣化判定手段とを備えたものである。
【発明の効果】
【００１９】
この発明による内燃機関の空燃比制御装置によれば、内燃機関への燃料の供給が停止された燃料カットの状態を検出する燃料カット状態検出手段と、燃料カット状態検出手段が燃料カットの状態の解除を検出してから第２の空燃比センサの出力値が目標値付近の所定の復帰判定値に一致するまでの期間と第２の空燃比フォードバック制御手段による上流側の前記平均空燃比の操作量とに基づいて触媒の劣化を判定する触媒劣化判定手段とを備えたので、触媒の劣化判定の精度を向上させることができる。
【発明を実施するための最良の形態】
【００２０】
実施の形態１．
図１は、この発明の実施の形態１に係る内燃機関の空燃比制御装置を示す全体概略図である。図１において、内燃機関（エンジンとも称するが、以下の説明では、内燃機関と称する）を構成する機関本体１の吸気通路２にはエアフローセンサ３が設けられている。エアフローセンサ３は、機関本体１への吸入空気量を直接計測するためのホットワイヤーを内蔵しており、吸入空気量に比例した出力信号（アナログ電圧）を発生する。エアフローセンサ３の出力信号は、マイクロコンピュータからなる制御回路１０内のマルチプレクサ内蔵型のアナログデジタル変換器（以下、Ａ／Ｄ変換器と称する）１０１に供給される。
【００２１】
機関本体１には、複数気筒の点火制御に関連したディストリビュータ４が設けられており、ディストリビュータ４には、一対のクランク角センサ５、６が配設されている。その一方のクランク角センサ５は、例えばクランク角に換算して７２０°毎に基準位置検出用パルス信号を発生し、他方のクランク角センサ６は、クランク角に換算して３０°毎に基準位置検出用パルス信号を発生する。これらのクランク角センサ５、６の各パルス信号は、制御回路１０内の入出力インターフェイス１０２に供給され、クランク角センサ６の出力信号は、演算手段（以下、ＣＰＵと称する）１０３の割込み端子に供給される。
【００２２】
機関本体１の吸気通路２には、機関本体１の各気筒毎に燃料供給系２０から加圧燃料を吸気ポートへ供給するための燃料噴射弁７が設けられている。又、機関本体１のシリンダブロックのウォータジャケット８には、冷却水の温度を検出するための水温センサ９が設けられている。水温センサ９は、冷却水の温度ＴＨＷに応じた電気信号（アナログ電圧）を生成して出力する。この水温センサ９の出力信号は、制御回路１０内のＡ／Ｄ変換器１０１に供給される。
【００２３】
機関本体１の排気マニホールド１１より下流側の排気系には、排気ガス中の３つの有害成分ＨＣ、ＣＯ、ＮＯｘを同時に浄化するための３元触媒を収容した触媒コンバータ（以下、単に、触媒と称する）１２が設けられている。触媒１２の上流側に位置する排気マニホールド１１には、上流側空燃比センサである上流側Ｏ２センサ１３が設けられ、触媒１２の下流側の排気管１４には、下流側空燃比センサである下流側Ｏ２センサ１５が設けられている。
【００２４】
夫々のＯ２センサ１３、１５は、排気ガス中の空燃比に応じた電気信号（電圧信号）を、夫々の出力値Ｖ１、Ｖ２として生成する。空燃比に応じて異なる夫々のＯ２センサ１３、１５の出力値Ｖ１、Ｖ２は、制御回路１０内のＡ／Ｄ変換器１０１に入力されている。又、夫々のＯ２センサ１３、１５には、λＯ２センサが用いられている。図２は、λＯ２センサの出力特性を示すグラフである。図２に示すように、λＯ２センサは、理論空燃比付近でその出力Ｖが急激に変化する特性を有するものである。
【００２５】
制御回路１０は、Ａ／Ｄ変換器１０１、入出力インターフェイス１０２及びＣＰＵ１０３に加えて、リードオンリーメモリ（以下、ＲＯＭと称する）１０４、ランダムアクセスメモリ（以下、ＲＡＭと称する）１０５、バックアップＲＡＭ１０６、クロック発生回路１０７及び駆動装置１０８、１０９、１１０等を備えている。制御回路１０には、機関本体１の運転条件を示すエアフローセンサ３、クランク角センサ５、６、温度センサ９等の各種センサからの検出情報が入力されている。各種センサには、吸気通路２内のスロットル弁の下流側に設けられた圧力センサ（図示せず）等も含まれる。
【００２６】
制御回路１０に於いて、後述する燃料供給量Ｑｆｕｅｌが演算されると、燃料供給量Ｑｆｕｅｌに基づく信号が入出力インターフェイス１０２を介して駆動装置１０８、１０９、１１０に供給され、これらの駆動装置１０８、１０９、１１０により燃料噴射弁７が駆動され、燃料供給量Ｑｆｕｅｌに応じた量の燃料が機関本体１の燃焼室に送り込まれる。尚、ＣＰＵ１０３への割込み発生は、Ａ／Ｄ変換器１０１によるアナログ信号からデジタル信号への変換（以下、Ａ／Ｄ変換と称する）終了時、入出力インターフェイス１０２を介したクランク角センサ６のパルス信号受信時、クロック発生回路１０７からの割込信号受信時、等に行なわれる。
【００２７】
エアフローメータ３の吸入空気量Ｑａ及び水温センサ９からの冷却水温ＴＨＷは、Ａ／Ｄ変換器１０１により所定時間毎に実行されるＡ／Ｄ変換ルーチンに従って取り込まれ、ＲＡＭ１０５の所定領域に格納される。つまり、ＲＡＭ１０５内に格納された吸入空気量Ｑａ及び冷却水温ＴＨＷは、所定時間毎に更新されている。又、内燃本体１の回転速度Ｎｅは、クランク角センサ６からのクランク角度３０°毎の割込み信号によって演算されてＲＡＭ１０５の所定領域に格納される。
【００２８】
次に、制御回路１０の構成について説明する。図３は、この発明の実施の形態１による制御回路１０の基本構成を示す機能ブロックである。図３に於いて、制御回路１０は、そのＣＰＵ１０３の処理機能の一部として、第１の空燃比フィードバック制御手段１０１１と、第２の空燃比フィードバック制御手段１０２１と、触媒劣化判定手段１０３１と、燃料カット状態検出手段１０４１とを備えている。
【００２９】
第１の空燃比フィードバック制御手段１０１１には、上流側Ｏ２センサ１３の出力Ｖ１と、第２の空燃比フィードバック制御手段１０２１の出力が入力されている。第２の空燃比フィードバック制御手段１０２１には、下流側Ｏ２センサ１５の出力Ｖ２が入力されている。触媒劣化判定手段１０３１には、第２の空燃比フィードバック制御手段１０２１の出力である平均空燃比の操作量ΔＡ／Ｆと、下流側Ｏ２センサ１５の出力Ｖ２と、燃料カット状態検出手段１０４１の出力、及びエアフローセンサ３からの吸入空気量Ｑａの検出値が入力されている。
【００３０】
第１の空燃比フィードバック制御手段１０１１は、上流側Ｏ２センサ１３の出力値Ｖ１及び所定の制御定数に応じて、駆動装置１０８、１０９、１１０を介して燃料噴射弁７の励磁駆動手段（図示せず）を制御することにより、機関本体１に供給する空燃比を、理論空燃比を跨いで周期的にリッチ方向及びリーン方向に振動させるように制御する。又、第１の空燃比フィードバック制御手段１０１１は、後述するように、第２の空燃比フィードバック制御手段１０２１からの指令信号を受け、その指令信号に基づいて燃料噴射弁７の励磁駆動手段を制御して上流側平均空燃比を補正し、下流側Ｏ２センサ１５の出力Ｖ２を後述する第２の目標値ＶＲ２に一致させるように動作する。
【００３１】
第２の空燃比フィードバック制御手段１０２１は、下流側Ｏ２センサ１５の出力Ｖ２を受け、その出力Ｖ２と第２の目標値ＶＲ２との偏差に応じて、比例演算及び積分演算により後述する上流側平均空燃比の操作量ΔＡ／Ｆを算出し、第１の空燃比フィードバック制御手段１０１１に上流側平均空燃比の操作量ΔＡ／Ｆに対応する指令信号を出力すると共に、触媒劣化判定手段１０３１に上流側平均空燃比の操作量ΔＡ／Ｆを入力する。触媒劣化判定手段１０３１は、比例演算による上流側平均空燃比の操作量ΔＡ／Ｆに基づき触媒酸素ストレージ変化量を演算する。
【００３２】
又、第２の空燃比フィードバック制御手段１０２１は、燃料カット状態が解除された時点から下流側Ｏ２センサ１５の出力Ｖ２が第２の目標値ＶＲ２付近の所定電圧Ｘｒｈに到達するまでの触媒劣化診断中は、制御ゲインを所定設定値に変更する。即ち、第２の空燃比フィードバック制御手段１０２１は、比例演算及び積分演算により上流側の平均空燃比を操作し、燃料カット状態が解除された時点から下流側Ｏ２センサ１５の出力Ｖ２が第２の目標値ＶＲ２付近の所定電圧Ｘｒｈに到達するまでの触媒劣化診断中は、比例演算の制御ゲインを所定設定に変更する。
【００３３】
更に、第２の空燃比フィードバック制御手段１０２１は、比例演算及び積分演算により上流側の平均空燃比を操作し、燃料カット状態が解除された時点から下流側Ｏ２センサ出力Ｖ２が目標値ＶＲ２付近の所定電圧Ｘｒｈに到達するまでの触媒劣化診断中は、積分演算値の更新を停止する。
【００３４】
そして、第２の空燃比フィードバック制御手段１０２１は、下流側Ｏ２センサ１５の出力Ｖ２が第２の目標値ＶＲ２に一致するように上流側の目標平均空燃比を演算し、その目標平均空燃比に基づき第１の空燃比フィードバック制御手段１０１１の所定の制御定数を演算し、上流側平均空燃比を変更する。
【００３５】
触媒劣化判定手段１０３１は、燃料カット状態検出手段１０４１により検出される燃料カット状態が解除された時点から下流側Ｏ２センサ１５の出力Ｖ２が第２の目標値ＶＲ２付近の所定電圧Ｘｒｈに到達するまでの期間、第２の空燃比フィードバック制御手段１０２１による上流側平均空燃比の操作量ΔＡ／Ｆ、及びエアフローセンサ３からの吸入空気量Ｑａに基づき、触媒１２の酸素ストレージ量の変化量を演算して、変化量が所定値より小さいときは触媒１２が劣化していると判定する。
【００３６】
又、触媒劣化判定手段１０３１は、燃料カット中及び燃料カット状態の解除後の所定期間内に、下流側Ｏ２センサ１５の出力Ｖ２が後述する所定値Ｘｒｌを下回った期間が所定期間以上であるときに、触媒１２が劣化したと判定する。
【００３７】
更に、触媒劣化判定手段１０３１は、下流側Ｏ２センサ１５の出力Ｖ２と比較される所定電圧Ｘｒｈを、第２の目標値ＶＲ２よりリーン側に設定する。又、触媒劣化判定手段１０３１は、急な加速減速等の所定の運転条件となったとき、劣化診断を中止する。
【００３８】
後述するように、第２の空燃比フィードバック制御手段１０２１により、第１の空燃比フィードバック制御手段１０１１の制御定数、スキップ量ＲＳＲ、ＲＳＬ、積分定数ＫＩＲ、ＫＩＬ、遅延時間ＴＤＲ、ＴＤＬ、第１の目標値ＶＲ１を変更することにより、上流側平均空燃比が制御される。
【００３９】
図４は、上流側Ｏ２センサ１３の出力に基づいて、空燃比補正系数ＦＡＦを演算する第１の空燃比フィードバック制御のルーチンの一部を示すフローチャートである。図５は、上流側Ｏ２センサ１３の出力に基づいて、空燃比補正系数ＦＡＦを演算する第１の空燃比フィードバック制御のルーチンの残りの一部を示すフローチャートである。図４及び図５に示す第１の空燃比フィードバック制御のルーチン全体は、所定時間、例えば５[ｍｓ]毎に実行される。又、図４及び図５に於いて、夫々の判定処理からの分岐部の符号「Ｙ」、「Ｎ」は、夫々、「Ｙｅｓ（肯定）」、「Ｎｏ（否定）」を示している。
【００４０】
先ず、図４に於いて、ステップ４０１では、上流側Ｏ２センサ１３の出力Ｖ１を、Ａ／Ｄ変換器１０１によりＡ／Ｄ変換して取り込みＲＡＭ１０５に格納する。ステップ４０２では、上流側Ｏ２センサ１３による第１の空燃比フィードバック制御のための閉ループ条件が成立しているか否かを判定する。
【００４１】
例えば、機関本体１の始動中、低水温時のリッチ化制御中、高負荷パワー増量のリッチ化制御中、燃費向上のためのリーン化制御中、機関本体１の始動後のリーン化制御中、燃料カット中等の理論空燃比制御以外の空燃比制御条件では、閉ループ条件は不成立（Ｎ）となり、又、上流側Ｏ２センサ１３の不活性状態時には閉ループ条件は不成立（Ｎ）となり、更に、上流側Ｏ２センサ1３が故障している時には閉ループ条件は不成立（Ｎ）となる。その他の場合は、閉ループ条件は成立（Ｙ）となる。
【００４２】
ステップ４０２に於いて判定の結果、閉ループ条件が不成立（Ｎ）と判定したときは、Ａから図５のＡに続いてステップ４３３に進み、空燃比補正係数ＦＡＦを「１．０」とする。尚、この場合、空燃比補正係数ＦＡＦは、閉ループ制御終了直前の値、若しくはＲＡＭ１０５に格納されている値である学習値としてもよい。次にステップ４３４に進み、ディレイカウンタＣＤＬＹを「０」にリセットする。次に、ステップ４３５にて上流側Ｏ２センサ１３の出力Ｖ１が第１の目標値ＶＲ１以下か否かを判定し、Ｖ１≦ＶＲ１、即ち空燃比がリーンであれば（Ｙ）、ステップ４３６に進む。ステップ４３６では、遅延前空燃比フラグＦ０をリーンを意味する「０」とし、次にステップ４３７に進んで遅延後空燃比フラグＦ１をリーンを意味する「０」とする。
【００４３】
他方、ステップ４３５に於いて判定の結果、Ｖ１＞ＶＲ１、即ち空燃比がリッチであれば（Ｎ）、ステップ４３８に進んで遅延前空燃比フラグＦ０をリッチを意味する「１」とし、ステップ４３９に進んで遅延後空燃比フラグＦ１をリッチを意味する「１」とする。このようにしてステップ４３４からステップ４３９により閉ループ条件成立時の初期値を設定する。
【００４４】
図4に戻り、前述のステップ４０２に於いて、閉ループ条件成立と判定した場合（Ｙ）は、ステップ４０３に進み、上流側Ｏ２センサ１３の出力Ｖ１と第１の目標値ＶＲ１（例えば０．４５[Ｖ]）とを比較し、出力Ｖ１がその第１の目標値ＶＲ１以下か否かを判定する。ステップ４０３による判定に於いて、上流側Ｏ２センサ１３の出力Ｖ１が第１の目標値ＶＲ１以下であれば空燃比はリーンであることを意味し、出力Ｖ１が第１の目標値ＶＲ１を超えてあれば空燃比はリッチであることを意味する。ステップ４０３に於いて、Ｖ１≦ＶＲ１、即ち空燃比がリーンであると判定すれば（Ｙ）、ステップ４０４に進む。
【００４５】
ステップ４０４では、ディレイカウンタＣＤＬＹが最大値「ＴＤＲ」以上であるか否かを判定し、ＣＤＬＹ≧ＴＤＲであれば（Ｙ）、ステップ４０５に進み、ディレイカウンタＣＤＬＹを「０」とし、次にステップ４０６に進んで、遅延前空燃比フラグＦ０をリーンを意味する「０」とし、ステップ４１６に進む。ステップ４０４で、ＣＤＬＹ＜ＴＤＲと判定すれば（Ｎ）、ステップ４０７にて遅延前空燃比フラグＦ０がリーンを意味する「０」であるか否かを判定し、Ｆ０＝０であれば（Ｙ）、ステップ４０８に進んでディレイカウンタＣＤＬＹを１カウントだけ減算し、Ｆ０＝０でなければ（Ｎ）、ステップ４０９に進んでディレイカウンタＣＤＬＹを１カウントだけ加算し、ステップ４１６に進む。
【００４６】
他方、ステップ４０３で、Ｖ１＞ＶＲ１、即ちリッチであると判定すれば（Ｎ）、ステップ４１０に進んで、ディレイカウンタＣＤＬＹが最小値「−ＴＤＬ」以下であるか否かを判定し、ＣＤＬＹ≦−ＴＤＬであれば（Ｙ）、ステップ４１１に進む。ステップ４１１では、ディレイカウンタＣＤＬＹを「０」とし、ステップ４１２に進んで遅延前空燃比フラグＦ０をリッチを意味する「１」とし、ステップ４１６に進む。
【００４７】
ステップ４１０に於いて、ＣＤＬＹ＞−ＴＤＬであると判定すれば（Ｎ）、ステップ４１３に進み、遅延前空燃比フラグＦ０がリーンを意味する「０」であるか否かを判定し、Ｆ０＝０であれば（Ｙ）、ステップ４１４に進んでディレイカウンタＣＤＬＹを１カウントだけ減算し、Ｆ０＝０でなければ（Ｎ）、ステップ４１５に進んでディレイカウンタＣＤＬＹを１カウントだけ加算し、ステップ４１６に進む。
【００４８】
ステップ４１６では、ディレイカウンタＣＤＬＹが最小値「−ＴＤＬ」以下であるか否かを判定し、ＣＤＬＹ≦−ＴＤＬであれば（Ｙ）、ステップ４１７に進む。ステップ４１７では、ディレイカウンタＣＤＬＹを最小値「−ＴＤＬ」とする。即ち、ステップ４１６、４１７により、ディレイカウンタＣＤＬＹを最小値「−ＴＤＬ」でガードするものである。この場合、ディレイカウンタＣＤＬＹが最小値「−ＴＤＬ」に到達したときには、ステップ４１８に進んで遅延後空燃比フラグＦ１をリーンを意味する「０」とする。
【００４９】
尚、ディレイカウンタＣＤＬＹの最小値「−ＴＤＬ」は、上流側Ｏ２センサ１３の出力Ｖ１がリッチからリーンへ変化しても、リッチ状態であるとの判断を保持するためのリーン遅延時間であって、負の値で定義される。
【００５０】
次に、ステップ４１９に進み、ディレイカウンタＣＤＬＹが最大値「ＴＤＲ」以上であるか否かを判定し、ＣＤＬＹ≧ＴＤＲであれば（Ｙ）、ステップ４２０へ進み、ディレイカウンタＣＤＬＹを最大値「ＴＤＲ」とする。即ち、ステップ４１９、４２０により、ディレイカウンタＣＤＬＹを最大値「ＴＤＲ」でガードするものである。この場合、ディレイカウンタＣＤＬＹが最大値「ＴＤＲ」に到達したときには、ステップ４２１に進んで遅延後空燃比フラグＦ１をリッチを意味する「１」とする。
【００５１】
尚、ディレイカウンタＣＤＬＹの最大値「ＴＤＲ」は、上流側Ｏ２センサ１３の出力Ｖ１がリーンからリッチへ変化しても、リーン状態であるとの判断を保持するためのリッチ遅延時間であって、正の値で定義される。
【００５２】
ステップ４２１の次に、図４のＢから図５のＢに続き、ステップ４２２へ進み、ステップ４２２では、遅延後空燃比フラグＦ１の符号が反転したか否か、即ち、遅延処理後の空燃比が反転したか否かを判定する。遅延処理後の空燃比が反転していれば（Ｙ）、ステップ４２３に進み、遅延後空燃比フラグＦ１の値に基づいて、リッチからリーンへの反転か、或いはリーンからリッチへの反転か、を判定する。即ち、Ｆ１＝０であればリッチからリーンへの反転であると判定し（Ｙ）、ステップ４２４に進む。ステップ４２４では、空燃比補正係数ＦＡＦにリッチ側へのスキップ量ＲＳＲを加え、つまり、ＦＡＦ←ＦＡＦ＋ＲＳＲとして、空燃比補正係数ＦＡＦをリッチ側へスキップ的に増大させる。
【００５３】
逆に、ステップ４２３に於いてＦ１＝０でなければリーンからリッチへの反転であると判定し（Ｎ）、ステップ４２５に進んで空燃比補正係数ＦＡＦからリーン側へのスキップ量ＲＳＬを減じ、つまり、ＦＡＦ←ＦＡＦ−ＲＳＬとし、空燃比補正係数ＦＡＦをリーン側へスキップ的に減少させる。このように、ステップ４２３による判定結果に基づいて、ステップ４２４、又はステップ４２５によりスキップ処理を行う。
【００５４】
前述のステップ４２２により、遅延後空燃比フラグＦ１の符号が反転していないと判定すれば（Ｎ）、ステップ４２６、４２７、４２８により積分処理を行う。即ち、ステップ４２６に於いて、Ｆ１＝０か否かを判定し、Ｆ１＝０、即ちリーンであれば（Ｙ）、ステップ４２７に進んで、空燃比補正係数ＦＡＦにリッチ側の積分定数ＫＩＲを加え、ＦＡＦ←ＦＡＦ＋ＫＩＲとする。他方、ステップ４２６に於いて、Ｆ１＝1、即ちリッチであると判定すれば、ステップ４２８に進んで空燃比補正係数ＦＡＦにリーン側の積分定数ＫＩＬを加え、ＦＡＦ←ＦＡＦ−ＫＩＬとする。
【００５５】
ここで、リッチ側の積分定数ＫＩＲ、及びリーン側の積分定数ＫＩＬは、夫々リッチ側のスキップ量ＲＳＲ、及びリーン側のスキップ量ＲＳＬに比して十分小さく設定してあり、ＫＩＲ＜ＲＳＲ、ＫＩＬ＜ＲＳＬである。従って、ステップ４２７では、リーン状態、即ちＦ１＝０、で燃料噴射量を徐々に増大させ、ステップ４２８では、リッチ状態、即ちＦ１＝１で燃料噴射量を徐々に減少させる。
【００５６】
ステップ４２４、４２５、４２７、４２８により演算された空燃比補正係数ＦＡＦは、ステップ４２９、４３０により最小値、例えば[０．８]にガードされ、又、ステップ４３１、４３２により最大値、例えば[１．２]にガードされる。即ち、ステップ４２９により空燃比補正係数ＦＡＦが[０．８]未満であると判定すれば（Ｙ）、ステップ４３０に進んで、ＦＡＦを[０．８]にセットしてステップ４３１に進み、ステップ４３１にて空燃比補正係数ＦＡＦが[１．２]を超えていると判定すれば（Ｙ）、ステップ４３２に進んでＦＡＦを[１．２]にセットする。
【００５７】
これにより、何らかの原因で空燃比補正係数ＦＡＦが大きくなり過ぎ、若しくは小さくなり過ぎた場合に、その値で機関本体１の空燃比を制御してオーバリッチ、若しくはオーバリーンになるのを防ぐ。上述のごとく演算された空燃比補正係数ＦＡＦをＲＡＭ１０５に格納し、ステップ４４０にてこの第１の空燃比フィードバック制御ルーチンは終了する。
【００５８】
図６は、図４及び図５ののフローチャートによる動作を補足説明するタイミング図である。上流側Ｏ２センサ１３の出力Ｖ１は、空燃比に対応して図６の（ａ）に示すように変化するが、その出力Ｖ１を第１の目標値ＶＲ１と比較することにより、第６図の（ｂ）に示すように、リッチ「１」か、リーン「０」かの比較結果の信号Ｃｏが得られる。遅延前空燃比フラグＦ０は、図６の（ｃ）に示すように比較信号Ｃｏに対応して、リッチ状態「１」、若しくはリーン状態「０」に変化する。
【００５９】
ディレイカウンタＣＤＬＹは、図６の（ｄ）に示すごとく、遅延前空燃比フラグＦ０のリッチ状態「１」で最大値「ＴＤＲ」までカウントアップされ、リーン状態「０」で最小値「−ＴＤＬ」までカウントダウンされる。その結果、図６の（ｅ）に示すように、遅延後空燃比フラグＦ１が形成される。例えば、時刻ｔ１にて比較結果の信号Ｃｏがリーン「０」からリッチ「１」に反転しても、遅延後空燃比フラグＦ１は、リッチ遅延時間「ＴＤＲ」だけリーン「０」に保持された後の時刻ｔ２にてリッチ「１」に変化する。
【００６０】
次に、時刻ｔ３にて比較結果の信号Ｃｏがリッチ「１」からリーン「０」に反転しても、遅延後空燃比フラグＦ１は、リーン遅延時間「ＴＤＬ」相当だけリッチ「１」に保持された後の時刻ｔ４にてリーン「０」に変化する。しかし、リッチ遅延処理の開始後、比較結果の信号Ｃｏが時刻ｔ５、ｔ６、ｔ７のようにリッチ遅延時間「ＴＤＲ」より短い期間で反転した場合は、ディレイカウンタＣＤＬＹがリッチ遅延時間「ＴＤＲ」に到達するまでの遅延処理中の時間ｔ５〜ｔ８は、遅延前空燃比フラグＦ０は反転しない。
【００６１】
従って、遅延前空燃比フラグＦ０は、一時的な比較結果の信号Ｃｏの変動に影響されないため、遅延前空燃比フラグＦ０は、比較結果の信号Ｃｏに比べて安定となる。このように遅延処理による安定した遅延前空燃比フラグＦ０、及び遅延後空燃比フラグＦ１に基づいて図６の（ｆ）に示す空燃比補正係数ＦＡＦが得られる。即ち、遅延後空燃比フラグＦ１がリーン「０」の間は、リッチ側の積分定数ＫＩＲに基づいて空燃比補正係数ＦＡＦは直線的に増大し、遅延後空燃比フラグＦ１がリーン「０」からリッチ「１」に反転する時点ｔ２に於いてリーン側のスキップ量ＲＳＬが減じられる。
【００６２】
次に、その時点ｔ２から、空燃比補正係数ＦＡＦはリーン側の積分定数ＫＩＬに基づいて直線的に減少し、遅延後空燃比フラグＦ１がリッチ「１」からリーン「０」に反転する時点ｔ４に於いてリッチ側のスキップ量ＲＳＲが加算される。次に、その時点ｔ４から空燃比補正係数ＦＡＦはリッチ側の積分定数ＫＩＲに基づいて直線的に増大し、遅延後空燃比フラグＦ１がリーン「０」からリッチ「１」に反転する時点ｔ８に至り、以降、同様に動作する。
【００６３】
前述のようにして設定される空燃比補正係数ＦＡＦに応じて、内燃機関本体１に供給する燃料供給量Ｑｆｕｅｌ１が次式（１）に基づいて調整され、内燃機関本体１の空燃比が制御される。
Ｑｆｕｅｌ１＝Ｑｆｕｅｌ０×ＦＡＦ                              式（１）
ここで、Ｑｆｕｅｌ０は基本燃料量であり次式（２）に基づいて演算される。
Ｑｆｕｅｌ０＝Ｑａｃｙｌ／目標空燃比                            式（２）
ここで、Ｑａｃｙｌは、エアフローメータ３により検出される吸入空気量Ｑａに基づき演算される内燃機関本体１に供給される空気量である。
【００６４】
目標空燃比は、図７に示すように、機関本体１の回転数と負荷とにより構成される２次元マップに設定された空燃比Ａ／Ｆに設定される。即ち、図７に於いて、理論空燃比制御Ａの領域では、目標空燃比を、平均空燃比振動手段により演算される目標平均空燃比を「Ａ／Ｆ≒１４．３５」として設定し、フィードフォワード的に反映させる。このようにすることで、目標値が変化した場合のフィードバック追従遅れの改善、及び、燃料補正係数ＦＡＦを「１．０」の中心付近に維持することができる。
【００６５】
尚、目標平均空燃比は、リッチ化制御Ｂの領域では「Ａ／Ｆ＝１２〜１３」として設定され、リーン化制御Ｃの領域では「Ａ／Ｆ＝１６」として設定され、燃料カットＤの領域では「Ａ／Ｆ＝∞」として設定される。
【００６６】
又、この燃料補正係数ＦＡＦを基に、前述の第１の空燃比フィードバック制御における構成要素の経時変化、生産バラツキを吸収するような学習制御が行なわれるため、フィードフォワード補正により燃料補正係数ＦＡＦが安定している方が、学習制御の精度が向上する。又、吸入空気量Ｑａは、吸気通路２内のスロットル弁下流に設定された圧力センサの出力及び機関の回転速度、若しくはスロットル弁開度及び機関の回転速度に応じて演算しても良い。
【００６７】
次に、下流側Ｏ２センサ１５による第２の空燃比フィードバック制御について説明する。特許文献１にも開示されていように、第１の空燃比フィードバック制御に於ける制御定数としての、夫々のスキップ量ＲＳＲ、ＲＳＬ、夫々の積分定数ＫＩＲ、ＫＩＬ、夫々の遅延時間ＴＤＲ、ＴＤＬ、若しくは上流側Ｏ２センサ１３の出力Ｖ１の第１の目標値ＶＲ１を、下流側Ｏ２センサ１５の出力Ｖ２に応じて可変に制御する第２の空燃比フィードバック制御を用いるようにした空燃比制御装置がある。
【００６８】
このような空燃比制御装置に於ける第２の空燃比フィードバック制御に於いて、例えば、リッチ側へのスキップ量ＲＳＲを大きくすると、平均空燃比をリッチ側に移行でき、又、リーン側へのスキップ量ＲＳＬを小さくしても平均空燃比をリッチ側に移行できる。他方、リーン側へのスキップ量ＲＳＬを大きくすると、平均空燃比をリーン側に移行でき、又、リッチ側へのスキップ量ＲＳＲを小さくしてもリーン側に移行できる。
【００６９】
従って、下流側Ｏ２センサ１５の出力Ｖ２に応じてリッチ側へのスキップ量ＲＳＲ及びリーン側へのスキップ量ＲＳＬを補正することにより、平均空燃比を制御することができる。又、リッチ側の積分定数ＫＩＲを大きくすると、平均空燃比をリッチ側に移行でき、又、リーン側の積分定数ＫＩＬを小さくしても平均空燃比をリッチ側に移行でき、他方、リーン積分定数ＫＩＬを大きくすると、平均空燃比をリーン側に移行できる。更に、リッチ側の積分定数ＫＩＲを小さくしても平均空燃比をリーン側に移行できる。従って、下流側Ｏ２センサ１５の出力に応じてリッチ側の積分定数ＫＩＲ及びリーン側の積分定数ＫＩＬを補正することにより、平均空燃比を制御することができる。
【００７０】
ディレイカウンタＣＤＬＹの最大値「ＴＤＲ」と最小値「−ＴＤＬ」の絶対値を、｜ＴＤＲ｜＞｜ＴＤＬ｜に設定すれば、リッチ側の遅延時間ＴＤＲとリーン側の遅延時間ＴＤＬとの関係は、ＴＤＲ＞ＴＤＬとなり、平均空燃比はリッチ側に移行できる。逆に、ディレイカウンタＣＤＬＹの最大値ＴＤＲと最小値―ＴＤＬの絶対値を、｜ＴＤＲ｜＜｜ＴＤＬ｜に設定すれば、リッチ側の遅延時間ＴＤＲとリーン側の遅延時間ＴＤＬとの関係は、ＴＤＲ＜ＴＤＬとなり、平均空燃比はリーン側に移行できる。
【００７１】
つまり、下流側Ｏ２センサ１５の出力Ｖ２に応じて遅延時間ＴＤＲ、ＴＤＬを補正することにより空燃比を制御することができる。更に、第１の目標値ＶＲ１を大きくすると平均空燃比をリッチ側に移行でき、上流側Ｏ２センサの出力Ｖ１と比較される第１の目標値ＶＲ１を小さくすると、平均空燃比をリーン側に移行できる。従って、下流側Ｏ２センサ１５の出力に応じて第１の目標値ＶＲ１を補正することにより、空燃比を制御することができる。
【００７２】
このように、下流側Ｏ２センサ１５の出力Ｖ２に応じて上述した第１の空燃比フィードバック制御の制御定数としての夫々のスキップ量ＲＳＲ、ＲＳＬ、夫々の積分定数ＫＩＲ、ＫＩＬ、夫々の遅延時間ＴＤＲ、ＴＤＬ、若しくは上流側Ｏ２センサ１３の出力Ｖ１の第１の目標値ＶＲ１を、下流側Ｏ２センサ１５の出力Ｖ２に応じて補正することにより、上流側の平均空燃比を制御することができる。又、第１の空燃比フィードバック制御の制御定数としての夫々の遅延時間ＴＤＲ、ＴＤＬ、夫々のスキップ量ＲＳＲ、ＲＳＬ、夫々の積分定数ＫＩＲ、ＫＩＬ、第１の目標値ＶＲ１のうちの２つ以上を同時に操作することにより平均空燃比の制御性を向上できることができる。
【００７３】
又、本願の発明者等らが既に提案しているように、第１の空燃比フィードバック制御の制御定数を２つ以上操作することによる不具合を解消するため、及び自由度を積極的に利用するために、第１の空燃比フィードバック制御の制御定数の操作を、平均空燃比で管理するようにした空燃比制御装置がある。この空燃比制御装置は、下流側Ｏ２センサ１５の出力Ｖ２による第２の空燃比フィードバック制御により目標平均空燃比ＡＦＡＶＥｏｂｊを演算し、目標平均空燃比ＡＦＡＶＥｏｂｊから第１の空燃比フィードバック制御に於ける制御定数の操作量を演算する変換器を、第２の空燃比フィードバック制御内に設けるようにしたものである。
【００７４】
２つ以上の第１の空燃比フィードバック制御に於ける制御定数を操作すると、非線形的な相互作用により、平均空燃比のリッチ又はリーンの操作方向は管理できるが、操作量の管理が困難となり、第２の空燃比フィードバック制御の挙動が不安定になる不具合があったが、目標平均空燃比ＡＦＡＶＥｏｂｊの管理指標に応じて第１の空燃比フィードバック制御に於ける制御定数を設定することによりその不具合は解消できる。
【００７５】
又、第１の空燃比フィード縛制御に於ける制御定数の夫々に、平均空燃比を制御する上で、例えば、平均空燃比の制御精度、操作幅、若しくは制御周期、空燃比振幅等に関する利点、不利点があるが、目標平均空燃比ＡＦＡＶＥｏｂｊの動作点に応じて、第１の空燃比フィードバック制御に於ける制御定数の夫々を、きめ細かく設定することで、夫々の利点を生かすことができる。
【００７６】
この発明の実施の形態１による内燃機関の空燃比制御装置は、第１の空燃比フィードバック制御手段に加えて、下流側Ｏ２センサ１５の出力Ｖ２に応じて目標平均空燃比ＡＦＡＶＥｏｂｊを演算し、この演算した目標平均空燃比ＡＦＡＶＥｏｂｊに基づいて、第１の空燃比フィードバック制御に於ける制御定数を演算する変換器を有する第２の空燃比フィードバック制御手段を備えるもので、所謂、ダブルＯ２センサシステムを用いるものである。
【００７７】
図８は、この発明の実施の形態１による内燃機関の空燃比制御装置の第２の空燃比フィードバック制御に於いて、下流側Ｏ２センサ１５の出力Ｖ２に基づいて触媒１２の上流側の目標平均空燃比ＡＦＡＶＥｏｂｊを演算する上流側目標平均空燃比の演算ルーチンのフローチャートを示し、所定時間、例えば５[ｍｓ]毎に実行される。以下、図７に基づいて、この演算ルーチンについて詳細に説明する。
【００７８】
図８に於いて、先ず、ステップ７０１により、下流側Ｏ２センサ１５の出力Ｖ２をＡ／Ｄ変換器１０１によりＡ／Ｄ変換して取り込み、この取り込んだ下流側Ｏ２センサ１５の出力Ｖ２に、フィルタ処理若しくは平均化処理等のなまし処理を行なってフィルタ値Ｖ２ｆｌｔを得、このフィルタ値Ｖ２ｆｌｔを制御に用いる。燃料カットによる触媒酸素ストレージ量の上限値への飽和状態の検出性能を向上するため、燃料カット中及び燃料カット状態の解除後の所定期間は、フィルタ効果を低減させるためにフィルタ値Ｖ２ｆｌｔを実際の下流側Ｏ２センサ１５の出力Ｖ２に近づけて制御に用いる。
【００７９】
ステップ７０２により下流側Ｏ２センサ１５による第２の空燃比フィードバック制御の領域か否か、即ち第２の空燃比フィードバック制御のための閉ループ条件が成立しているか否かを判定する。例えば、機関本体１の始動中、低水温時のリッチ化制御中、高負荷パワー増量のリッチ化制御中、燃費向上のためのリーン化制御中、始動後のリーン化制御中、燃料カット中等の理論空燃比制御以外の空燃比制御条件では、閉ループ条件は不成立（Ｎ）となり、又、下流側Ｏ２センサ１５の不活性状態時、下流側Ｏ２センサ１５が故障しているとき等は、いずれも閉ループ条件が不成立（Ｎ）であり、その他の場合は閉ループ条件成立（Ｙ）である。
【００８０】
尚、下流側Ｏ２センサ１５が活性状態であるか不活性状態であるかの判定は、期間１の始動後、所定時間経過したかどうか、或いは下流側Ｏ２センサ１５の出力レベルが所定電圧を一度超過しているか否かを判定することによって行われる。
【００８１】
ステップ７０２に於いて第２の空燃比フィードバック制御による閉ループ条件が成立していないと判定されれば（Ｎ）、ステップ７１５に進んで目標平均空燃比ＡＦＡＶＥｏｂｊを、[空燃比初期値ＡＦＡＶＥ０＋積分演算値ＡＦＩ]とし、第２の空燃比フードバック制御の演算処理を終了する。例えば、空燃比初期値ＡＦＡＶＥ０は[１４．５３]である。積分演算値ＡＦＩは、閉ループ制御、つまり第２の空燃比フィードバック制御の終了直前値であり、バックアップＲＡＭ１０６に保持されている。空燃比初期値ＡＦＡＶＥ０、積分演算値ＡＦＩは、運転条件毎、例えば回転数、負荷、水温で区分けされた運転ゾーン毎に保持されており、夫々バックアップＲＡＭ１０６に保持されている設定値である。
【００８２】
ステップ７０２に於いて第２の空燃比フィードバック制御による閉ループ条件が成立していると判定されれば（Ｙ）、ステップ７０３に進み、下流側Ｏ２センサ１５の出力Ｖ２の目標値となる第２の目標値ＶＲ２を設定する。第２の目標値ＶＲ２は、触媒１２に於ける酸素ストレージ量が上限値の半分程度になり触媒の浄化状態が高くなる理論空燃比付近の下流側Ｏ２センサ１５の所定出力値、例えば０．４５[Ｖ]付近に設定される。この第２の目標値ＶＲ２は、触媒１２のＮＯｘ浄化率が高くなるような高めの電圧、例えば０．７５[Ｖ]付近、若しくはＣＯ、ＨＣの浄化率が高くなるような低めの電圧、例えば０．２[Ｖ]付近としてもよく、又、運転条件等により電圧を変更してもよい。運転条件により第２の目標値ＶＲ２を変更する場合は、変更時のステップ的な変化による空燃比変動を緩和するため、第２の目標値ＶＲ２に、なまし処理、例えば一次遅れフィルタ処理を加えても良い。
【００８３】
次に、ステップ７０４にて、第２の目標値ＶＲ２と、下流側Ｏ２センサ１５の出力Ｖ２にフィルタ処理を施したフィルタ値Ｖ２ｆｌｔとの偏差ΔＶ２を、[ΔＶ２＝ＶＲ２―Ｖ２ｆｌｔ]として演算する。
【００８４】
次のステップ７０５からステップ７１１は、偏差ΔＶ２に応じて比例演算Ｐと、積分演算Ｉとを行なうＰＩ制御の処理であり、この偏差ΔＶ２を無くすような下流側Ｏ２センサ１５の出力Ｖ２を設定する。例えば、下流側Ｏ２センサ１５の出力Ｖ２が第２の目標値ＶＲ２より小さい（リーン側）時、上流側の目標平均空燃比ＡＦＡＶＥｏｂｊはリッチ側に設定され第２の目標値ＶＲ２に復帰させるように作用する。
【００８５】
触媒１２の上流側の目標平均空燃比ＡＦＡＶＥｏｂｊは、一般的なＰＩ制御器により、次式（３）により演算される。
ＡＦＡＶＥｏｂｊ＝ＡＦＡＶＥ０＋Σ（Ｋｉ２（ΔＶ２））＋Ｋｐ２（ΔＶ２）
式（３）
ここで、Ｋｉ２は積分ゲイン、Ｋｐ２は比例ゲインである。ＡＦＡＶＥ０は前述した空燃比初期値であり、運転条件毎に設定された理論空燃比に相当する値とし、例えば「１４．５３」付近に設定されている。
【００８６】
積分演算Ｉは、偏差ΔＶ２を積分して積分演算値ＡＦＩを出力するため比較的ゆっくり動作し、又、上流側Ｏ２センサ１３の特性変動に起因する下流側Ｏ２センサ１５の出力Ｖ２に於ける定常的な偏差ΔＶ２を解消する効果がある。又、積分ゲインＫｉ２を大きくすればするほど、操作量Σ（Ｋｉ２（ΔＶ２））の絶対値は大きくなり制御効果は大きくなるが、あまり大きくすると位相遅れが大きくなり制御系が不安定になりハンチングを生じるため、適切なゲイン設定が必要となる。
【００８７】
又、比例演算Ｐは、偏差ΔＶ２に比例して出力を生成するため早い応答性を示し、偏差ΔＶ２を早急に復帰させる効果がある。比例ゲインＫｐ２を大きくすればするほど操作量Ｋｐ２×ΔＶ２の絶対値は大きくなり復帰速度が早くなるが、あまり大きくすると制御系が不安定になりハンチングを生じるため、適切なゲイン設定が必要となる。
【００８８】
さて、ステップ７０５にて、偏差ΔＶ２の積分値を更新する更新条件にあるか否かを判定する。更新条件にあるとは、燃料カット等の過渡運転時以外の時にあることを意味する。燃料カット等の過渡運転時とは、燃料カット等の過渡運転中の時、及びその過渡運転後の所定期間内での運転中の時のことである。燃料カット等の過渡運転中には、上流側空燃比が大きく乱れ、下流側空燃比も乱れ、このような状態で積分演算Ｉを実施すると、間違った値を積分していってしまう。又、積分演算Ｉは比較的ゆっくり動作するため、過渡運転後の所定期間内での運転中も間違った値を積分することとなり、制御性能が悪化してしまう。
【００８９】
このため、過渡運転中は、積分演算Ｉの更新を一時的に停止し、その時の積分値を保持することにより、このような誤った積分演算を防止することができる。更に、過渡運転後の所定期間内に於いても主に触媒１２の酸素ストレージ作用による遅れによりしばらくは空燃比の乱れの影響が残るため、過渡運転後所定期間内も積分値の更新を禁止する。ここで、過渡運転後の所定期間は、過渡運転後の積算空気量が所定値に到達するまでの期間に設定される。これは、触媒１２に於ける酸素ストレージ量が復帰する速度は、吸入空気量に比例するためである。燃料カット後の積算空気量の所定量は、新品触媒から劣化触媒まで収束性能を確保するため、復帰するまでの積算空気量が最大になる新品触媒にあわせて設定される。
【００９０】
更に、後述する触媒劣化判定手段による燃料カット状態解除後の劣化診断中は、前述した誤動作を生じる過渡運転時と同じ状態であるため、積分演算Ｉの更新を一時的に停止する。このようにして燃料カット状態解除後の積分演算の誤動作を防止することにより、下流側Ｏ２センサ１５の出力Ｖ２に対する第２の目標値ＶＲ２の収束性能が安定し、後述する触媒劣化判定手段の劣化判定精度の悪化を防止することができる。
【００９１】
ステップ７０５に於いて積分演算値ＡＦＩの更新条件が成立していると判定すれば（Ｙ）、ステップ７０６に進み、積分演算値ＡＦＩを次式（４）に基づいて更新する。
ＡＦＩ＝ＡＦＩ＋Ｋｉ２（ΔＶ２）                                式（４）
ここで、積分演算値ＡＦＩは、運転条件毎にバックアップＲＡＭ１０６に保持されている値である。Ｋｉ２（ΔＶ２）は更新量であリ、所定の積分ゲインＫｉ２を用いて単純に、[Ｋｉ２（ΔＶ）＝Ｋｉ２×ΔＶ２]としても良いし、図９に示すような１次元マップを用い、偏差ΔＶ２に応じて更新量Ｋｉ２（ΔＶ２）を設定する、所謂、可変ゲインの設定としてもよい。
【００９２】
又、積分演算値ＡＦＩにより補償されるべき上流側Ｏ２センサ１３の特性の変動は、排気温度、排気圧力等の運転条件により変化するため、積分演算値ＡＦＩを運転条件毎に設定してバックアップＲＡＭ１０６に保持させておき、運転条件が変化する毎にその運転条件に対応した積分演算値ＡＦＩをバックアップＲＡＭ１０６から読み出して切り替える。
【００９３】
更に、積分演算値ＡＦＩをバックアップＲＡＭ１０６に持たせることにより、機関本体１の停止、及び再始動毎に積分演算値ＡＦＩがリセットされ、制御性能が低下することを防げることができる。又、後述する触媒劣化診断は、第２の空燃比フィードバック制御の性能に依存するため、この運転条件毎の積分演算値ＡＦＩの保持及びバックアップＲＡＭ１０６によるバックアップ機構により、劣化診断の精度を向上することができる。
【００９４】
一方、図８のステップ７０５に於いて、積分値更新条件が不成立であると判定された場合（Ｎ）は、ステップ７０７に進み、積分値を更新しない。即ち、[ＡＦＩ＝ＡＦＩ]とする。
【００９５】
ステップ７０６、又はステップ７０７から、次のステップ７０８に進む。ステップ７０８では、積分演算値ＡＦＩの上限制限処理及び下限制限処理（以下、これらの処理を総称して、上下限制限処理と称する）を行ない、[ＡＦＩｍｉｎ＜ＡＦＩ＜ＡＦＩｍａｘ]とする。ここで、ＡＦＩｍｉｎは積分演算制限最小値、ＡＦＩｍａｘは積分演算制限最大値である。上流側Ｏ２センサ１５の特性変動幅は予め把握できるため、その変動幅を補償できるような適当な積分演算制限最小値ＡＦＩｍｉｎ、及び積分演算制限最大値ＡＦＩｍａｘを設定する。このように処理することにより、過大な空燃比操作をすることが防止することができる。
【００９６】
次に、ステップ７０９に進み、比例演算処理[ＡＦＰ＝Ｋｐ２（ΔＶ２）]を実施する。ここで、ＡＦＰは前述したように比例演算値である。Ｋｉ２（ΔＶ２）は更新量であリ、所定の積分ゲインＫｉ２を用いて単純に、[Ｋｉ２（ΔＶ）＝Ｋｉ２×ΔＶ２]としても良いし、図８に示すような１次元マップを用い、偏差ΔＶ２に応じて更新量Ｋｉ２（ΔＶ２）を設定する、所謂、可変ゲインの設定としてもよい。
【００９７】
又、前述した積分値の更新を行なわない燃料カット等の過渡運転条件となった場合に於いて、過渡運転後の所定期間内は、比例ゲインＫｐ２の絶対値を大きく設定し、燃料カットにより変動した触媒１２による酸素ストレージ量の復帰速度を速める。過渡運転後の所定期間経過後は、比例ゲインＫｐ２の絶対値を小さく設定し、目標空燃比の操作量が過大になりドライバビリティが悪化するのを防止する。
【００９８】
過渡運転後の所定期間内は、積分演算の場合と同様に、過渡運転後の積算空気量が所定値に到達するまでの期間とする。これは、触媒１２による酸素ストレージ量が復帰する速度は、吸入空気量Ｑａに比例するためである。燃料カット後の積算空気量の所定量は、新品触媒から劣化触媒まで収束性能を確保するため、復帰するまでの積算空気量が最大になる新品触媒にあわせて設定される。
【００９９】
又、後述する触媒劣化判定手段による燃料カット状態の解除後の劣化診断中は、比例ゲインＫｐ２を所定ゲインに変更してもよい。劣化診断中の第２の空燃比フィードバック制御は、その挙動を予め設計した所定挙動に揃え、若しくは劣化診断を行い易い所定挙動に揃えることができる。この場合、劣化判定の精度は向上する。例えば、比例ゲインＫｐ２の大小、若しくは可変ゲインの設定値の変化により、下流側Ｏ２センサ１５の出力Ｖ２の目標値である第２の目標値ＶＲ２へのオーバーシュート量、過渡挙動等が変化するため、下流側Ｏ２センサ１５の出力Ｖ２を用いた劣化判定の精度が変化する。
【０１００】
後述する触媒劣化判定手段による触媒劣化の有無により、積分ゲインＫｉ２、比例ゲインＫｐ２の設定を変更してもよい。触媒劣化による酸素ストレージ量の上限値の変化に応じた適切なゲイン設定を行なうことができ、これにより下流側Ｏ２センサ１５の出力Ｖ２の目標値である第２の目標値ＶＲ２に対するハンチングの防止、及び追従性能の維持を行なうことができ、第２の空燃比フィードバック制御の性能を維持できる。
【０１０１】
次にステップ７１０に進み、比例演算値ＡＦＰの上下限制限処理[ＡＦＰｍｉｎ＜ＡＦＰ＜ＡＦＰｍａｘ]を行なう。ここで、ＡＦＰｍｉｎは比例演算制限最小値であり、ＡＦＰｍａｘは比例演算制限最大値である。この上下限制限処理を行なうことにより、過大な空燃比操作をすることが防止できる。
【０１０２】
次に、ステップ７１１に進み、比例・積分演算値（以下、ＰＩ演算値と称する）を合計し、目標平均空燃比ＡＦＡＶＥｏｂｊを次式（５）により演算する。
ＡＦＡＶＥｏｊｂ＝ＡＦＡＶＥ０＋ＡＦＰ＋ＡＦＩ                  式（５）
ここで、ＡＦＡＶＥ０は上述された運転条件毎に設定された初期値であり、例えば「１４．５３」付近である。ＡＦＩはステップ７０５からステップ７０８で演算された積分演算値であり、ＡＦＰはステップ７０９、７１０で演算された比例演算値である。
【０１０３】
次にステップ７１２に進み、目標平均空燃比ＡＦＡＶＥｏｂｊの上下限制限処理[ＡＦＡＶＥｍｉｎ＜ＡＦＡＶＥｏｂｊ＜ＡＦＡＶＥｍａｘ]を行なう。この処理により、過大な空燃比操作をすることが防止でき、ドライバビリティの悪化等を防ぐことができる。又、運転条件毎に上下限制限値を設定してもよく、運転条件により変化するドライバビリティ上の制限値に対応できる。
【０１０４】
次にステップ７１３に進み、目標平均空燃比ＡＦＡＶＥｏｂｊを強制的に変動させる条件（以下、強制変動条件と称する）か否かを判定する。強制変動条件としては、下流側Ｏ２センサ１５の故障診断中、触媒１２の浄化特性の改善時等があり、燃料カット状態解除後の触媒劣化診断中の時は強制変動を禁止する。
【０１０５】
強制変動条件が成立している場合（Ｙ）は、ステップ７１４に進み、目標平均空燃比ＡＦＡＶＥｏｂｊに対して次式（６）に示すように平均空燃比の操作量ΔＡ／Ｆによる強制変動を加える。
ＡＦＡＶＥｏｂｊ=ＡＦＡＶＥｏｂｊ+ΔＡ／Ｆ                      式（６）
ここで、平均空燃比の操作量ΔＡ／Ｆは、強制変動を行う変動振幅であり、所定絶対値の正の値、若しくは負の値に設定されており、所定周期で正の値、負の値が切り替えられる。例えば、所定の周期で、[ΔＡ／Ｆ＝＋０．２５]、若しくは[ΔＡ／Ｆ＝―０．２５]に切り替えられる。この場合、図１０の実線Ａに示すようにステップ的に切り替えても良いし、点線Ｂ、若しくは一点鎖線Ｃに示すようにある所定の振幅、周期をもつ任意の波形としても良い。変動振幅、周期は運転条件毎に設定されており、運転条件により変化する要求条件、例えば制御対象の応答遅れ、ドライバビリティ上の制限、触媒の浄化特性を満たすことができる。以上の動作により、第２の空燃比フィードバック制御が終了する。
【０１０６】
図１１は、第２の空燃比フィードバック制御に於いて、上流側の目標平均空燃比ＡＦＡＶＥｏｂｊに応じて第１の空燃比フィードバック制御に於ける第１の制御定数である夫々のスキップ量ＲＳＲ、ＲＳＬ、及び夫々の積分定数ＫＩＲ、ＫＩＬ、及び夫々の遅延時間ＴＤＲ、ＴＤＬ、及び第１の目標値ＶＲ１を設定する変換器の演算ルーチンであって、所定時間、例えば５[ｍｓ]毎に実行される。
【０１０７】
図１１に於いて、先ず、ステップ１００１により、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、リッチ側へのスキップ量ＲＳＲが演算される。この演算は、一次元マップＲＳＲｍａｐにより行なわれるが、目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応するスキップ量ＲＳＲの設定値が後述する予め机上計算、若しくは実験に基づき設定されており、入力される目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応したスキップ量ＲＳＲの設定値が、一次元マップＲＳＲｍａｐから検索され出力される。１次元マップＲＳＲｍａｐは、運転条件毎に設けられており、運転条件の変化に応じて１次元マップＲＳＲｍａｐを切り替えてマップ検索を行なう。例えば、機関本体１の所定の回転数、負荷、水温で区分けされた運転ゾーン毎に１次元マップＲＳＲｍａｐを保持する。
【０１０８】
次に、ステップ１００２にて、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、リーン側へのスキップ量ＲＳＬが演算される。この演算は、一次元マップＲＳＬｍａｐにより行なわれるが、目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応するスキップ量ＲＳＬの設定値が後述する予め机上計算、若しくは実験に基づき設定されており、入力される目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応したスキップ量ＲＳＬの設定値が、一次元マップＲＳＬｍａｐから検索され出力される。１次元マップＲＳＬｍａｐは、運転条件毎に設けられており、運転条件の変化に応じて１次元マップＲＳＬｍａｐを切り替えてマップ検索を行なう。例えば、機関本体１の所定の回転数、負荷、水温で区分けされた運転ゾーン毎に１次元マップＲＳＬｍａｐを保持する。
【０１０９】
次に、ステップ１００３にて、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、リッチ側の積分定数ＫＩＲが演算される。この演算は、一次元マップＫＩＲｍａｐにより行なわれるが、目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応する積分定数ＫＩＲの設定値が後述する予め机上計算、若しくは実験に基づき設定されており、入力される目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応した積分定数ＫＩＲの設定値が、一次元マップＫＩＲｍａｐから検索され出力される。１次元マップＫＩＲｍａｐは、運転条件毎に設けられており、運転条件の変化に応じて１次元マップＫＩＲｍａｐを切り替えてマップ検索を行なう。例えば、機関本体１の所定の回転数、負荷、水温で区分けされた運転ゾーン毎に１次元マップＫＩＲｍａｐを保持する。
【０１１０】
次に進み、ステップ１００４にて、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、リーン側の積分定数ＫＩＬが演算される。この演算は、一次元マップＫＩＬｍａｐにより行なわれるが、目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応する積分定数ＫＩＬの設定値が後述する予め机上計算、若しくは実験に基づき設定されており、入力される目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応した積分定数ＫＩＬの設定値が、一次元マップＫＩＬｍａｐから検索され出力される。１次元マップＫＩＬｍａｐは、運転条件毎に設けられており、運転条件の変化に応じて１次元マップＫＩＬｍａｐを切り替えてマップ検索を行なう。例えば、機関本体１の所定の回転数、負荷、水温で区分けされた運転ゾーン毎に１次元マップＫＩＬｍａｐを保持する。
【０１１１】
次にステップ１００５に進み、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、リッチ側の遅延時間ＴＤＲが演算される。この演算は、一次元マップＴＤＲｍａｐにより行なわれるが、目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応する遅延時間ＴＤＲの設定値が後述する予め机上計算、若しくは実験に基づき設定されており、入力される目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応した遅延時間ＴＤＲの設定値が、一次元マップＫＩＬｍａｐから検索され出力される。１次元マップＴＤＲｍａｐは、運転条件毎に設けられており、運転条件の変化に応じて１次元マップＴＤＲｍａｐを切り替えてマップ検索を行なう。例えば、機関本体１の所定の回転数、負荷、水温で区分けされた運転ゾーン毎に１次元マップＴＤＲｍａｐを保持する。
【０１１２】
ステップ１００６にて、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、リーン側の遅延時間ＴＤＬが演算される。この演算は、一次元マップＴＤＬｍａｐにより行なわれるが、目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応する遅延時間ＴＤＬの設定値が後述する予め机上計算、若しくは実験に基づき設定されており、入力される目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応した遅延時間ＴＤＬの設定値が、一次元マップＫＩＬｍａｐから検索され出力される。１次元マップＴＤＬｍａｐは、運転条件毎に設けられており、運転条件の変化に応じて１次元マップＴＤＬｍａｐを切り替えてマップ検索を行なう。例えば、機関本体１の所定の回転数、負荷、水温で区分けされた運転ゾーン毎に１次元マップＴＤＬｍａｐを保持する。
【０１１３】
次に、ステップ１００７にて、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、第１の目標値ＶＲ１が演算される。この演算は、一次元マップＶＲ１ｍａｐにより行なわれるが、目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応する第１の目標値ＶＲ１の設定値が後述する予め机上計算、若しくは実験に基づき設定されており、入力される目標平均空燃比ＡＦＡＶＥｏｂｊの値に対応した第１の目標値ＶＲ１の設定値が、一次元マップＶＲ１ｍａｐから検索され出力される。１次元マップＶＲ１ｍａｐは、運転条件毎に設けられており、運転条件の変化に応じて１次元マップＶＲ１ｍａｐを切り替えてマップ検索を行なう。例えば、機関本体１の所定の回転数、負荷、水温で区分けされた運転ゾーン毎に１次元マップＶＲ１ｍａｐを保持する。以上で、第２の空燃比フィードバック制御に於ける変換器演算ルーチンの処理を終了する。
【０１１４】
尚、ステップ１００１乃至ステップ１００７に於ける演算は、必ずしも１次元マップでなくて良く、入力と出力の関係を表す手段、例えば、近似式でもよいし、より多くの入力に対応した、高次元のマップ、高次関数でもよい。
【０１１５】
このように、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、第１の制御定数である、夫々のスキップ量ＲＳＲ、ＲＳＬ、及び夫々の積分定数ＫＩＲ、ＫＩＬ、及び夫々の遅延時間ＴＤＲ、ＴＤＬ、及び第１の目標値ＶＲ１が夫々演算される。夫々の制御定数の設定値は、実際の触媒上流の平均空燃比が、入力された目標平均空燃比ＡＦＡＶＥｏｂｊとなるように、予め、机上計算若しくは実験値に基づき設定されている。又、運転条件により第１の制御定数の設定値を変化させることにより、運転条件に係わらず目標平均空燃比ＡＦＡＶＥｏｂｊと実際の平均空燃比とが一致するように設定できる。
【０１１６】
従って、上流側Ｏ２センサ１３に実際の空燃比を検出できないλ型を用いた場合に於いても、上流側の平均空燃比の挙動を把握することが可能となる。後述する触媒劣化判定手段に於いて、この目標平均空燃比ＡＦＡＶＥｏｂｊを用いて触媒１２での酸素ストレージ量の挙動を推定することができ、劣化判定の精度が向上する。
【０１１７】
第１２図は、燃料カット後の下流側Ｏ２センサ１５の出力Ｖ２、及び第２の空燃比フィードバック制御による触媒１２の上流側の平均空燃比の操作量、及び吸入空気量に基づき触媒１２の劣化の有無を検出する触媒劣化検出手段の演算ルーチンであって、所定時間、例えば５ｍｓ]毎に実行される。
【０１１８】
図１２に於いて、ステップ１１０１にて、劣化判定の初期化条件が成立しているか否かを判定する。初期化条件が成立している場合（Ｙ）は、ステップ１１０２に進み各種パラメータを初期値にリセットする。条件が成立していない場合（Ｎ）は、ステップ１１０２を実行せずステップ１１０３に進む。初期化条件としては、バッテリ再接続後の最初のコントローラ起動時、若しくはメンテナンス用の外部通信機器等からのリセット信号が入力された時、若しくは内燃機関始動時等がある。
【０１１９】
ステップ１１０２では、劣化判定の各種パラメータを初期値にリセットし、ステップ１１０３に進む。例えば、劣化判定結果フラグＦｃａｔｄｅｔを未判定を示す「０」に設定し、又、全診断回数Ｊｄｇｃｎｔを「０」、劣化診断回数Ｄｅｔｃｎｔを「０」に設定し、又、劣化診断許可フラグＦｄｅｔｃｎｄを許可中でないことを示す「０」に設定し、更に、診断許可タイマを「０」に設定する。
【０１２０】
ステップ１１０３では、劣化判定がすでに終了しているか否かを判定する。劣化判定結果フラグＦｃａｔｄｅｔが「０」で、劣化判定が未であると判定した場合（Ｙ）は、ステップ１１０４に進み、劣化判定結果フラグＦｃａｔｄｅｔが「１」若しくは「２」で、劣化判定が終了していると判定した場合（Ｎ）は、演算ルーチンを終了する。
【０１２１】
ステップ１１０４では、燃料カット中若しくは燃料カット状態解除後所定期間内であるか判定し、条件が成立している場合はステップ１１０５に進み、成立していない場合はステップ１１１０に進む。燃料カット状態を検出する燃料カット状態検出手段により機関本体１に燃料が供給されているか検出し、供給されていない場合は燃料カット中とする。燃料供給を再開してから触媒１２及び下流側Ｏ２センサ１５に到達するまで遅れが存在するため、燃料カット状態解除後の所定期間も条件に含める。遅れには、内燃機関への燃料吸入から排出までの遅れ、排気管内での移動遅れ等がある。所定期間は単純に所定時間としても良いし、遅れに影響する運転条件、例えば吸入空気量若しくは回転数等により設定しても良い。
【０１２２】
ステップ１１０５に進むと、触媒劣化を診断する演算指標である劣化度ＣａｔＯＳＡを「０」にリセットし、ステップ１１０６に進む。ステップ１１０６では、下流側Ｏ２センサ１５の出力Ｖ２が所定電圧Ｘｒｌ以下であるか判定し、出力Ｖ２が所定電圧Ｘｒｌ以下である場合（Ｙ）は、ステップ１１０７に進み診断許可タイマＴｄｅｔを更新周期「Ｄｔｄｅｔ」だけ増加させ、[Ｔｄｅｔ＝Ｔｄｅｔ＋Ｄｔｄｅｔ]とする。ここで、Ｄｔｄｅｔは所定時間で、この演算ルーチンの更新周期である５[ｍｓ]に設定する。所定電圧Ｘｒｌは、下流側Ｏ２センサ１５に用いられている図２に示すλＯ２センサの出力特性から、触媒１２の下流の空燃比が理論空燃比から十分リーンとなる電圧、例えば０．０７[ｖ]に設定される。
【０１２３】
ステップ１１０６にて判定の結果、下流側Ｏ２センサ１５の出力Ｖ２が所定電圧Ｘｒｌを超えていると判定した場合（Ｎ）は、ステップ１１０７を実行せずにステップ１１０８に進む。
【０１２４】
ステップ１１０６、又はステップ１１０７からステップ１１０８に進むと、診断許可タイマＴｄｅｔが所定値Ｘｄｅｔ以上であるか否かを判定する。ステップ１１０８により、診断許可タイマＴｄｅｔが所定値Ｘｄｅｔ以上であると判定した場合（Ｙ）は、ステップ１１０９に進んで診断許可フラグＦｄｅｔｃｎｄを「１」に設定し、次のステップ１１２０に進む。ステップ１１０８により、診断許可タイマＴｄｅｔが所定値Ｘｄｅｔ未満であると判定した場合（Ｎ）は、ステップ１１０９を実行せずにステップ１１２０に進む。
【０１２５】
ステップ１１０６からステップ１１０９までの処理は、触媒１２の酸素ストレージ量が上限に飽和している場合のみ劣化診断を許可する判定を行うものであり、診断を開始する前の触媒１２による酸素ストレージ量の状態が試行毎に変動するのを防止し、診断の精度を向上させることができる。
【０１２６】
燃料カット期間の長短、若しくは燃料カット前の触媒１２による酸素ストレージ量の大小、若しくは触媒１２の劣化により変化する酸素ストレージ容量の大小等により、酸素ストレージ量が上限に飽和しない場合があるが、触媒１２の下流側の空燃比が燃料カット中の触媒１２の上流側の空燃比と同様に十分リーンになったときは、触媒１２の酸素ストレージ量が上限に飽和しているときである。
【０１２７】
例えば、燃料カット時間が短い場合は、燃料カットによる触媒１２による酸素ストレージの増加量が少なく上限に到達しない場合がある。又、新品の触媒は酸素ストレージ容量が大きく、同じ酸素ストレージの増加量でも上限に飽和しない場合がある。更に、燃料カット開始前の触媒１２による酸素ストレージ量が少ないとき、同じ酸素ストレージの増加量でも上限に飽和しない場合がある。
【０１２８】
又、ステップ１１０６に於いて下流側Ｏ２センサ１５の出力Ｖ２が所定電圧Ｘｒｌ以下であると判定され、更に、ステップ１１０８により、診断許可タイマＴｄｅｔが所定値Ｘｄｅｔ以上であると判定されて劣化診断が許可されることにより、触媒全体の酸素ストレージ量が完全に上限に飽和した場合のみ診断を実施できる。即ち、触媒１２内の熱温度分布等により生じる酸素ストレージ劣化度合いの不均一（むら）等により、触媒１２内の一部分の排ガス流路の酸素ストレージ量がその他の部分に比べ早く上限に飽和した場合でも触媒下流の空燃比がリーンになるが、所定時間経過するとその他の部分も上限に飽和するため、診断精度を向上させることができる。
【０１２９】
一方、ステップ１１０４にて燃料カット中若しくは燃料カット状態解除後所定時間内でないと判定された場合（Ｎ）、ステップ１１１０に進んで診断許可タイマＴｄｅｔを「０」にリセットする。次にステップ１１１１に進み、診断条件が成立しているか否かを判定し、成立していない場合（Ｎ）は、ステップ１１１２にて診断許可フラグＦｄｅｔｃｎｄを「０」にリセットし、診断を中止する。
【０１３０】
診断条件が成立する場合としては、第１及び第２の空燃比フィードバック制御の実施中である場合がある。これは、劣化診断は、空燃比フィードバック制御が実施されている前提で行われるよう設計されているためである。又、診断条件が成立する場合の別の例としては、バッテリの取り外しによりリセットされた各種学習値が十分再学習されたと判定された場合（例えば、バッテリ再接続後所定運転時間経過後）等がある。これは、各種学習値がリセットされた直後は、空燃比制御等の精度が低下しており、劣化診断の精度が低下するため、各種学習値がリセットされた直後の診断は不適当であるからである。
【０１３１】
又、所定の運転条件となったときは、劣化診断を中止しても良い。例えば、車両の急な加速若しくは減速が生じた場合、若しくは機関の回転数、負荷が所定範囲となった場合等がある。車両に急な加速若しくは減速が生じた場合は、上流側空燃比の乱れが大きくなり、実平均空燃比が目標平均空燃比から逸脱し、後述する目標平均空燃比による酸素ストレージ量の演算精度が低下するためである。又、燃料カット状態解除後であっても、運転条件により第２の空燃比フィードバック制御のゲインを排出ガス悪化を抑制する設定にする必要があったり、ドライバビリティの悪化を抑制する設定にする必要があったりする場合があるが、このような場合は劣化診断の精度を確保できないので、劣化診断を中止してもよい。
【０１３２】
ステップ１１１１による診断条件の判定の結果、診断条件が成立していないと判定した場合（Ｎ）は、後述するステップ１１２０に進む。一方、ステップ１１１１による診断条件の判定の結果、診断条件が成立していると判定した場合（Ｙ）は、ステップ１１１３に進み、診断が許可されているか否かを判定する。その判定の結果、診断許可フラグＦｄｅｔｃｎｄが「１」となっていて診断が許可されている場合（Ｙ）は、ステップ１１１４に進み、触媒１２の劣化度ＣａｔＯＳＡを演算する。
【０１３３】
劣化度ＣａｔＯＳＡは、燃料カット状態を解除した時点から下流側Ｏ２センサ１５の出力Ｖ２が目標値付近に復帰する時点までの触媒酸素ストレージ量の変化量［ｇ］であり、ステップ１１１４に於いて次式（７）に基づいて演算される。
ＣａｔＯＳＡ＝ＣａｔＯＳＡ＋ＫＯ２×Ｑａ×ΔＡ／Ｆ×Ｄｔｄｅｔ    （式７）
ここで、ＫＯ２は酸素ストレージ量に変換するための所定係数、Ｑａは吸入空気量［ｇ／ｓｅｃ］、ΔＡ／Ｆは平均空燃比の操作量、Ｄｔｄｅｔは演算周期５[ｍｓ]である。
【０１３４】
平均空燃比の操作量ΔＡ／Ｆは、目標平均空燃比ＡＦＡＶＥｏｂｊから求める。図１３の（ａ）は、触媒１２の上流側の空燃比の時間的変化を示し、（ｂ）は、燃料カット状態解除後の実空燃比から演算した酸素ストレージ量の時間的変化を示し、（ｃ）は、その平均空燃比から演算した酸素ストレージ量の時間的変化を示すグラフである。図１３の（ｃ）に示す平均空燃比からの酸素ストレージ量のグラフは、図１３の（ｂ）に示す実空燃比の酸素ストレージ量に於ける高周波の変動成分を表していないが、全体的な酸素ストレージ量の復帰挙動は表現できている。これは、空燃比振動の積分値が酸素ストレージ量となるため、その平均値が全体的な挙動を支配するためである。前述したように目標平均空燃比ＡＦＡＶＥｏｂｊは実際の平均空燃比に良く一致するように設計されているため、目標平均空燃比ＡＦＡＶＥｏｂｊで酸素ストレージ量を演算しても精度は保たれる。
【０１３５】
平均空燃比の操作量ΔＡ／Ｆは、目標平均空燃比ＡＦＡＶＥｏｂｊと予め設定した理論空燃比ＡＦ０との偏差から、次式（８）に基づいて求める。
ΔＡ／Ｆ＝ＡＦＡＶＥｏｂｊ−ＡＦ０                              （式８）
ここで、理論空燃比ＡＦ０は、運転条件毎に設定した値を用いても良いが、より精度を高めるために、前述の第２の空燃比フィードバック制御により学習された理論空燃比を用いる。即ち、次式（９）に示すように、運転条件毎に保持された初期値に積分演算値を加算して求める。
ＡＦ０＝ＡＦＡＶＥ０＋ＡＦＩ                                    式（９）
【０１３６】
目標平均空燃比ＡＦＡＶＥｏｂｊの強制振動がない場合、平均空燃比の操作量ΔＡ／Ｆは、第２の空燃比フィードバック制御の比例演算値ＡＦＰと同じとなるため、次式（１０）のように平均空燃比の操作量ΔＡ／Ｆを比例演算値ＡＦＰに設定可能である。
ΔＡ／Ｆ＝ＡＦＰ                                              式（１０）
このように構成することにより、経年変化等により生じる上流側Ｏ２センサの検出空燃比の変動により劣化度ＣａｔＯＳＡの演算精度が低下することを防止することができる。
【０１３７】
次に、図１２に於いて、ステップ１１１５に進んで、下流側Ｏ２センサ１５の出力Ｖ２が所定電圧Ｘｒｈ以上であるか否かを判定し、所定電圧Ｘｒｈ以上であると判定した場合（Ｙ）は、ステップ１１１６に進み触媒１２の劣化診断を行なう。所定電圧Ｘｒｈは、第２の目標電圧ＶＲ２付近に設定される。燃料カット状態解除後、下流側Ｏ２センサ１５の出力Ｖ２が目標値付近に復帰した時、燃料カットにより上限に飽和した状態から上限の半分程度の望ましい浄化状態に復帰したと判定できる。
【０１３８】
又、所定電圧Ｘｒｈは、第２の目標電圧ＶＲ２よりリーン側に設定されても良い。これは、図１４に示すように、下流側Ｏ２センサ１５の出力Ｖ２が第２の目標電圧ＶＲ２に対して定常偏差を生じた場合、復帰判定が遅れ、劣化判定の誤差を生じる恐れがあるためである。
【０１３９】
ステップ１１１６に進むと、劣化度ＣａｔＯＳＡの絶対値が所定値Ｘｃｏｓａ以下であるか否かを判定する。劣化度ＣａｔＯＳＡの絶対値が所定値Ｘｃｏｓａ以下であると判定した場合（Ｙ）は、ステップ１１１７に進んで、劣化診断回数Ｄｅｔｃｎｔを「１」増加させて触媒１２が劣化していると診断したことを示す。次にステップ１１１８に進んで、全診断回数Ｊｄｇｃｎｔを「１」増加し、ステップ１１１９に進んで、診断許可フラグＦｄｅｔｃｎｄを「０」に設定し診断を終了する。
【０１４０】
図１５の（Ａ）は、触媒１２が正常である場合の下流側Ｏ２センサ１５の出力Ｖ２時間的変化を示すグラフであり、図１５の（Ｂ）は、触媒１２が劣化している場合の下流側Ｏ２センサ１５の出力Ｖ２の時間的変化を示すグラフである。図１５の（Ｂ）に示すように、図１５の（Ａ）に示す触媒１２の正常時の場合に較べて、触媒１２が劣化して触媒酸素ストレージ量の上限値が減少してくると、上限値の半分程度となる下流側Ｏ２センサ１５の出力Ｖ２が第２の目標電圧ＶＲ２付近に復帰した時の酸素ストレージ量も自動的に減少するため、劣化度ＣａｔＯＳＡの大きさにより劣化診断ができる。
【０１４１】
図１２のステップ１１１５による判定の結果、下流側Ｏ２センサ１５の出力Ｖ２が所定電圧Ｘｒｈ未満であると判定した場合（Ｎ）は、診断タイミングでないため、ステップ１１２０に進む。
【０１４２】
ステップ１１２０では、全診断回数Ｊｄｇｃｎｔが所定回数Ｘｊｄｇであるか否かを判定する。ステップ１１２０に於いて全診断回数Ｊｄｇｃｎｔが所定回数Ｘｊｄｇであると判定した場合（Ｙ）は、ステップ１１２１に進み、全診断回数Ｊｄｇｃｎｔが所定回数Ｘｊｄｇではないと判定した場合（Ｎ）は、演算ルーチンを終了する。ステップ１１２１に進むと、劣化診断回数Ｄｅｔｃｎｔが所定値Ｘｄｅｔ以上であるか否かを判定し、その判定の条件が成立した場合（Ｙ）は、ステップ１１２２に進み、触媒１２が劣化していると判定したことを示す劣化判定結果フラグＦｃａｔｄｅｔを「１」に設定する。
【０１４３】
ステップ１１２１で条件が不成立の場合（Ｎ）は、ステップ１１２３に進み、触媒１２が正常であると判定したことを示す劣化判定結果フラグＦｃａｔｄｅｔを「２」に設定して演算ルーチンを終了する。劣化判定結果フラグＦｃａｔｄｅｔが「１」で、触媒１２が劣化していると判定されたときは、警告灯を点灯し、ユーザーに触媒１２の交換を促す。
【０１４４】
次に、この発明の実施の形態１に係る内燃機関の空燃比制御装置の動作について説明する。図１６は、正常触媒を用い、燃料カット状態の解除後にアイドル運転が継続する場合の、各種パラメータの時間的変化を示すグラフである。図１６に於いて、車両の減速により（ｃ）に示す吸入空気量Ｑａが減少する時刻ｔ１５１に於いて、（ａ）に示す燃料供給を停止する燃料カットが開始されると、（ｄ）に示す上流側空燃比が大幅にリーンとなるため、（ｅ）に示す触媒による酸素ストレージ量が急激に増加し、上限値にて飽和する。
【０１４５】
図１６の（ｅ）に示す触媒による酸素ストレージ量が、上限値にて飽和すると、触媒は上流側の空燃比のリーン変動を吸収できなくなり、下流側の空燃比も大幅にリーン化し、（ｆ）に示す下流側Ｏ２センサの出力Ｖ２は、０[Ｖ]付近の大幅なリーン状態を示すことになる。時刻ｔ１５２にて（ｆ）に示す下流側Ｏ２センサ１５の出力Ｖ２が所定値Ｘｒｌを下回ると、（ｇ）に示す診断許可タイマＴｄｅｔが増加を始め、時刻ｔ１５３にて判定値Ｘｔｄｅｔを上回った時、（ｈ）に示す診断許可フラグＦｄｅｔｃｎｄが診断の許可を示す「１」に設定される。
【０１４６】
この診断許可の判定は、燃料カット状態の解除時刻ｔ１５４から所定時間が経過する時刻ｔ１５５まで実施される。時刻ｔ１５４で燃料カット状態が解除されると、第１及び第２の空燃比フィードバック制御が開始され、第２の空燃比フィードバック制御により（ｉ）に示す上流側の目標平均空燃比ＡＦＡＶＥｏｂｊが演算される。
【０１４７】
又、第１の空燃比フィードバック制御により、（ｄ）に示す上流側の空燃比は、リッチ方向とリーン方向に周期的に振動しながら、その平均値は、（ｉ）に示す目標平均空燃比ＡＦＡＶＥｏｂｊに一致する。（ｉ）に示す目標平均空燃比ＡＦＡＶＥｏｂｊは、下流側Ｏ２センサ１５の出力Ｖ２と第２の目標値ＶＲ２との偏差に応じて演算され、その偏差は徐々に減少していく。触媒１２の酸素ストレージ量は、下流側Ｏ２センサ１５の出力Ｖ２により検出でき、その出力Ｖ２が第２の目標値ＶＲ２に収束した時、（ｅ）に示すように触媒酸素ストレージ量の上限値の半分程度となる。
【０１４８】
時刻ｔ１５５にて、劣化診断が始まると、目標平均空燃比ＡＶＡＶＥｏｂｊ及び吸入空気量Ｑａに基づき、燃料カット状態解除後の酸素ストレージ量の変化量を示す劣化度ＣａｔＯＳＣの演算が（ｊ）に示すように開始され、時刻ｔ１５６にて下流側Ｏ２センサ１５の出力Ｖ２が第２の目標値ＶＲ２よりリーン側に設定されている所定値Ｘｒｈに到達するまで継続される。このとき、（ｊ）に示す劣化度ＣａｔＯＳＡの挙動は、振動している上流側空燃比から演算した（ｅ）に示す酸素ストレージ量の挙動とよく一致しており、演算精度は保たれている。
【０１４９】
又、劣化診断タイミングである時刻ｔ１５６にて（ｊ）に示す劣化度ＣａｔＯＳＡの絶対値が判定値Ｘｃｏｓａを上回ると触媒は正常と判定され、（ｋ）に示す劣化診断回数Ｄｅｔｃｎｔを増加せずに、（ｌ）に示す全診断回数Ｊｄｇｃｎｔを「１」増加させる。又、全診断回数Ｊｄｇｃｎｔが所定回数Ｘｊｄｇに一致したときは、その時刻ｔ１５６にて最終的な劣化判定を行なうが、（ｋ）に示す劣化診断回数Ｄｅｔｃｎｔが所定値Ｘｄｅｔを下回っているので、（ｍ）に示す劣化判定結果Ｆｃａｔｄｅｔを正常を示す「２」に設定する。
【０１５０】
次に、図１７は、正常触媒を用い、燃料カット状態の解除後、劣化診断中に加速した場合の、各種パラメータの時間的変化を示すグラフである。この場合、図１６の場合に比べ、時刻ｔ１６７にて車両の加速により（ｃ）に示す吸入空気量Ｑａが増加したため、（ｅ）に示す触媒酸素ストレージ量の変化スピードが増加している。第２の空燃比フィードバック制御による上流側の平均空燃比の操作が同じでも、（ｄ）に示す上流側空燃比の収束速度が増加しており、図１６の場合に比べてより早い時刻ｔ１６６で劣化診断が終了している。
【０１５１】
図１７の（ｃ）に示す吸入空気量Ｑａの変化、及び目標空燃比の変化に応じて、（ｊ）に示す劣化度ＣａｔＯＳＡの演算値は変化しており、劣化診断終了時刻は早くなってはいるが、劣化度ＣａｔＯＳＡの値は図１６の場合とほぼ同じとなっている。従来のように単純に時間に基づき劣化判定を行なっていたのでは、吸入空気量及び上流側平均空燃比が変化した場合、劣化診断の精度が低下することが分かる。
【０１５２】
このように、実施の形態１による内燃機関の空燃比制御装置によれば、触媒の酸素ストレージ量の挙動と相関のある上流側平均空燃比と吸入空気量に基づき劣化判定を行なっているので、時間に基づき劣化判定を行なう従来の装置に比べ判定精度が向上する効果がある。
【０１５３】
図１８は、劣化触媒を用い、燃料カット状態の解除後にアイドル運転が継続する場合の、各種パラメータの時間的変化を示すグラフである。この場合、触媒の劣化により（ｅ）に示す触媒酸素ストレージ量の上限値が図１６及び図１７の場合に比べ半減している。触媒酸素ストレージ量の上限値が半減しため、（ｆ）に示す下流側Ｏ２センサ１５の出力Ｖ２が第２の目標値ＶＲ２に収束し、（ｅ）に示す触媒酸素ストレージ量が上限値の半分程度に復帰するまでの時間が短縮している。
【０１５４】
時刻ｔ１７６にて劣化診断を終了し、（ｊ）に示す劣化度ＣａｔＯＳＡの値は、触媒の酸素ストレージ量の挙動と比例して半減している。（ｊ）に示すように劣化度ＣａｔＯＳＡが所定値Ｘｃｏｓａを下回っているため、劣化と判定され、（ｋ）に示すように劣化診断回数Ｄｅｔｃｎｔを「１」増加させる。又、（ｋ）に示す劣化診断回数Ｄｅｔｃｎｔが所定回数Ｘｄｅｔを上回っているため、（ｍ）に示す最終劣化判定の結果は、劣化判定結果Ｆｃａｔｄｅｔは、劣化判定を示す「１」に設定される。
実施の形態１の変形例
【０１５５】
次に、実施の形態1の変形例について説明する。即ち、以上述べた実施の形態1に係る内燃機関の空燃比制御装置に於いて、下流側Ｏ２センサ１５に代えて、触媒１２の上流の浄化状態を検出できるセンサ、例えば、リニア空燃比センサ、ＮＯｘセンサ、ＨＣセンサ、ＣＯセンサ等としてもよく、これらのセンサであっても触媒の浄化状態を制御できるため、Ｏ２センサ１５と同様の効果を奏する。
【０１５６】
又、上流側Ｏ２センサ１３は、空燃比変化に対してリニアな出力特性を有するリニア型Ｏ２センサとしてもよく、このリニア型Ｏ２センサを用いた場合でも、第１の空燃比フィードバック制御により、上流側の空燃比を振動させながら、平均空燃比を制御できるため、前述の実施の形態１の場合と同様の効果を奏する。
【０１５７】
又、上流側Ｏ２センサ１３としてリニア型Ｏ２センサを用いる場合は、目標空燃比への追従性の良い制御も可能であるため、目標空燃比をリッチ方向、リーン方向に周期的に振動させることにより上流側の空燃比を振動させ、振動している目標空燃比の平均値を更にリッチ方向、リーン方向に周期的に振動させることで前述の実施の形態１の場合と同様の効果を奏する。
【０１５８】
更に、前述の実施の形態１では、第２の空燃比フィードバック制御装置は、第２の目標値Ｖ２と下流側Ｏ２センサ１５の出力Ｖ２の情報から比例演算と積分演算を用い目標空燃比を演算する構成としたが、その他のフィードバック制御、例えば現代制御理論の状態フィードバック制御、スライディングモード制御、オブザーバー、適応制御、Ｈ∞制御等により、第２の目標値Ｖ２と下流側Ｏ２センサ１５の出力Ｖ２とから目標空燃比を演算しても、触媒の浄化状態を制御できるため、前述の実施の形態１の場合と同様の効果を奏する。
【０１５９】
又、前述の実施の形態１では、１つの触媒１２が取り付けられている構成としたが、複数個の触媒が直列若しくは並列して配置され、夫々の触媒の下流側にＯ２センサを用いることにより、内燃機関から下流側Ｏ２センサの間に位置する複数の触媒の劣化診断を行なうことができるため、前述の実施の形態１の場合と同様の効果を奏することができる。又、劣化診断に用いる下流側Ｏ２センサを、夫々の触媒の下流側に位置するＯ２センサに切り替えて実施しても、夫々の触媒の劣化診断を実施することができるため、前述と同様の効果を奏する。又、劣化診断に用いる下流側Ｏ２センサを、夫々の触媒の下流側に位置するＯ２センサに切り替える場合は、劣化判定値Ｘｃｏｓａを診断する触媒に応じて切り替え、又、第２の空燃比フィードバック制御の各種パラメータを、内燃機関と制御に用いる下流側Ｏ２センサとの間の触媒に応じて変更することにより、触媒劣化診断精度を向上することができるとともに、排出ガスの悪化を防止でき、前述と同様の効果を奏することができる。
【０１６０】
この発明に係る内燃機関の空燃比制御装置の特徴を列記すれば、以下の通りである。
（１）内燃機関への燃料の供給が停止された燃料カットの状態を検出する燃料カット状態検出手段と、燃料カット状態検出手段が燃料カットの状態の解除を検出してから第２の空燃比センサの出力値が目標値付近の所定の復帰判定値に一致するまでの期間と第２の空燃比フォードバック制御手段による上流側の平均空燃比の操作量とに基づいて、触媒の劣化を判定する触媒劣化判定手段とを備えたことを特徴とする。
（２）前記（１）に記載の触媒劣化判定手段は、前記燃料カット状態検出手段が前記燃料カットの状態の解除を検出してから前記第２の空燃比センサの出力値が前記目標値付近の所定復帰判定値に一致するまでの前記内燃機関の吸入空気量と前記第２の空燃比フォードバック制御手段による前記上流側の前記平均空燃比の操作量とに基づいて前記触媒の劣化を判定することを特徴とする。
（３）前記（１）に記載の触媒劣化判定手段は、前記燃料カット状態検出手段が前記燃料カットの状態の解除を検出してから前記第２の空燃比センサの出力値が前記目標値付近の所定の復帰判定値に一致するまでの前記触媒の酸素ストレージ量の変化量を、前記内燃機関の吸入空気量と前記第２の空燃比フォードバック制御手段による前記上流側の前記平均空燃比の操作量とに基づいて演算し、前記変化量が所定値より小さい時に前記触媒の劣化を判定することを特徴とする。
（４）前記（１）に記載の触媒劣化判定手段は、前記燃料カット状態検出手段が前記燃料カットの状態を検出中に前記第２の空燃比センサの出力値が所定リーン判定値よりリーンな値となった時に前記触媒の劣化を判定をすることを特徴とする。
（５）前記（１）に記載の触媒劣化判定手段は、前記前記燃料カット状態検出手段が前記燃料カットの状態を検出中に前記第２の空燃比センサの出力値が所定リーン判定値よりリーンな値となった期間が所定期間以上となった時に前記触媒の劣化を判定をすることを特徴とする。
（６）前記（１）に記載の第２の空燃比センサの出力値と比較される前記目標値付近の所定の復帰判定値は、前記目標値付近よりリーン側に設定されることを特徴とする。
（７）前記（１）に記載の第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように、比例演算及び積分演算を用いて前記上流側の前記平均空燃比を操作するものであって、前記劣化判定手段は、前記比例演算による前記上流側の前記平均空燃比の操作量に応じて前記触媒の劣化を判定することを特徴とする。
（８）前記（１）に記載の触媒劣化判定手段による前記触媒の劣化判定中は、前記第２の空燃比フィードバック制御手段の制御ゲインを変更することを特徴とする。
（９）前記（１）に記載の第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように、比例演算及び積分演算を用いて前記上流側の前記平均空燃比を操作するものであって、前記触媒劣化判定手段による前記触媒の劣化判定中は前記比例演算のゲインを変更することを特徴とする。
（１０）前記（１）に記載の第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように、比例演算及び積分演算を用いて前記上流側の前記平均空燃比を操作するものであって、前記触媒劣化判定手段による前記触媒の劣化判定中は前記積分演算を停止することを特徴とする。
（１１）前記（１）に記載の触媒劣化判定手段は、前記内燃機関の所定の運転条件の場合にのみ前記触媒の劣化判定を行なうことを特徴とする。
（１２）前記（１）に記載の第２の空燃比フィードバック制御手段は、前記第２の空燃比センサの出力値と前記目標値とが一致するように前記上流側の前記平均空燃比の目標値を設定し、前記平均空燃比の目標値に応じて前記制御定数を設定することを特徴とする。
（１３）前記（１）に記載の平均空燃比の目標値に応じて設定される前記制御定数は、遅延時間、スキップ量、積分ゲイン、比較電圧のうちの少なくとも２つとすることを特徴とする。
【図面の簡単な説明】
【０１６１】
【図１】この発明の実施の形態１に係る内燃機関の空燃比制御装置を示す全体概略図である。
【図２】λＯ２センサの出力特性を示すグラフである。
【図３】この発明の実施の形態１による制御回路の基本構成を示す機能ブロックである。
【図４】第１の空燃比フィードバック制御の動作の一部を説明するフローチャートである。
【図５】第１の空燃比フィードバック制御の動作の残りの一部を説明するフローチャートである。
【図６】図４及び図５に示すフローチャートを補足説明するためのタイミング図である。
【図７】運転条件によって変化する目標空燃比を説明するための特性図である。
【図８】第２の空燃比フィードバック制御の動作を説明するフローチャートである。
【図９】図８のフローチャートを補足説明するための特性図である。
【図１０】図８のフローチャートを補足説明するための特性図である。
【図１１】第２の空燃比フィードバック制御の動作を説明するためのフローチャートである。
【図１２】触媒劣化判定手段の動作を説明するためのフローチャートである。
【図１３】図１２のフローチャートを補足説明するためのタイミング図である。
【図１４】図１２のフローチャートを補足説明するためのタイミング図である。
【図１５】図１２のフローチャートを補足説明するためのタイミング図である。
【図１６】この発明の実施の形態１による空燃比制御装置の動作を説明するタイミング図である。
【図１７】この発明の実施の形態１による空燃比制御装置の動作を説明するタイミング図である。
【図１８】この発明の実施の形態１による空燃比制御装置の動作を説明するタイミング図である。
【図１９】従来の空燃比制御装置の動作を説明するタイミング図である。
【符号の説明】
【０１６２】
１    機関本体
２    吸気通路
３    エアフローセンサ
４    ディストリビュータ
５、６    クランク角センサ
７    燃料噴射弁
８    ウォータジャケット
９    水温センサ
１０    制御回路
１１    排気マニホールド
１２    触媒コンバータ
１３    上流側Ｏ２センサ
１４    下流側の排気管
１５    下流側Ｏ２センサ
２０    燃料供給系
１０１    Ａ／Ｄ変換器
１０２    入出力インターフェイス
１０３    ＣＰＵ
１０４    ＲＯＭ
１０５    ＲＡＭ
１０６    バックアップＲＡＭ
１０７    クロック発生回路
１０８、１０９、１１０    駆動装置
１０１１    第１の空燃比フィードバック制御手段
１０２１    第２の空燃比フィードバック制御手段
１０３１    触媒劣化判定手段
１０４１    燃料カット状態検出手段
【図１】
2008267283.tif 000003
【図２】
2008267283.tif 000004
【図３】
2008267283.tif 000005
【図４】
2008267283.tif 000006
【図５】
2008267283.tif 000007
【図６】
2008267283.tif 000008
【図７】
2008267283.tif 000009
【図８】
2008267283.tif 000010
【図９】
2008267283.tif 000011
【図１０】
2008267283.tif 000012
【図１１】
2008267283.tif 000013
【図１２】
2008267283.tif 000014
【図１３】
2008267283.tif 000015
【図１４】
2008267283.tif 000016
【図１５】
2008267283.tif 000017
【図１６】
2008267283.tif 000018
【図１７】
2008267283.tif 000019
【図１８】
2008267283.tif 000020
【図１９】
2008267283.tif 000021