(57)【要約】【課題】２つ以上の制御定数を適切に組み合わせて、触媒上流側の排気ガスの平均空燃比を、安定にかつきめ細かく制御することができる内燃機関の制御装置を提供する。【解決手段】排気ガスを浄化する触媒コンバータ１８と、触媒上流側の排気ガスの空燃比を検出する上流側Ｏ２センサ２０と、触媒下流側の排気ガスの空燃比を検出する下流側Ｏ２センサ２１と、上流側Ｏ２センサ２０の出力値と複数の制御定数を含んだ制御定数群とに応じて、触媒上流側の排気ガスの空燃比を制御する第１空燃比フィードバック制御手段３４と、下流側Ｏ２センサ２１の出力値と出力目標値ＶＲ２とに応じて、触媒上流側の排気ガスの平均空燃比ＡＦＡＶＥの目標値である目標平均空燃比ＡＦＡＶＥｏｂｊを演算する第２空燃比フィードバック制御手段３２と、目標平均空燃比ＡＦＡＶＥｏｂｊを共通の指標として、少なくとも２つの制御定数を演算する変換手段３３とを備えたものである。【選択図】図３
2007231844.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気系に設けられ、排気ガスを浄化する触媒と、
前記触媒の上流側に設けられ、前記触媒上流側の排気ガスの空燃比を検出する第１空燃比センサと、
前記触媒の下流側に設けられ、前記触媒下流側の排気ガスの空燃比を検出する第２空燃比センサと、
前記第１空燃比センサの出力値と複数の制御定数を含んだ制御定数群とに応じて、前記触媒上流側の排気ガスの空燃比を制御する第１空燃比フィードバック制御手段と、
前記第２空燃比センサの出力値と所定の出力目標値とに応じて、前記触媒上流側の前記排気ガスの平均空燃比の目標値である目標平均空燃比を演算する第２空燃比フィードバック制御手段と、
前記目標平均空燃比を共通の指標として、前記制御定数群のうち少なくとも２つの制御定数を演算する変換手段と
を備えたことを特徴とする内燃機関の制御装置。
【請求項２】
前記制御定数は、遅延時間、スキップ量、積分定数、および比較電圧の何れかであることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記制御定数は、運転条件毎に設定されていることを特徴とする請求項１または請求項２に記載の内燃機関の制御装置。
【請求項４】
前記目標平均空燃比に対して、所定振幅および所定周期で強制変動を加えることを特徴とする請求項１から３までの何れか１項に記載の内燃機関の制御装置。
【請求項５】
前記強制変動は、故障診断時に加えられることを特徴とする請求項４に記載の内燃機関の制御装置。
【請求項６】
前記強制変動が加えられる期間は、前記第２空燃比フィードバック制御手段におけるゲインとして、通常値から変更された値を用いることを特徴とする請求項４または請求項５に記載の内燃機関の制御装置。
【請求項７】
前記第２空燃比フィードバック制御手段は、比例演算を実行し、前記内燃機関の過渡運転期間にわたって、第２空燃比フィードバック制御手段における比例演算のゲインとして、通常値から変更された値を用いることを特徴とする請求項１から請求項６までの何れか１項に記載の内燃機関の制御装置。
【請求項８】
前記第２空燃比フィードバック制御手段は、前記内燃機関の過渡運転期間にわたって、前記目標平均空燃比の上下限値として、通常値から変更された値を用いることを特徴とする請求項１から請求項７までの何れか１項に記載の内燃機関の制御装置。
【請求項９】
前記第２空燃比フィードバック制御手段は、比例演算を実行し、前記内燃機関の過渡運転後の所定期間にわたって、第２空燃比フィードバック制御手段における比例演算のゲインとして、通常値から変更された値を用いることを特徴とする請求項１から請求項８までの何れか１項に記載の内燃機関の制御装置。
【請求項１０】
前記第２空燃比フィードバック制御手段は、前記内燃機関の過渡運転終了後の所定期間にわたって、前記目標平均空燃比の上下限値として、通常値から変更された値を用いることを特徴とする請求項１から請求項９までの何れか１項に記載の内燃機関の制御装置。
【請求項１１】
前記第２空燃比フィードバック制御手段は、積分演算を実行し、前記内燃機関の過渡運転期間および過渡運転後所定期間は、前記第２空燃比フィードバック制御手段よる前記積分演算の更新を停止することを特徴とする請求項１から請求項１０までの何れか１項に記載の内燃機関の制御装置。
【請求項１２】
前記過渡運転後所定期間は、前記内燃機関の過渡運転が終了した後、積算空気量が所定値に到達するまでの期間とすることを特徴とする請求項９から請求項１１までの何れか１項に記載の内燃機関の制御装置。
【請求項１３】
前記目標平均空燃比に応じて、前記第１空燃比フィードバック制御手段の出力を補正することを特徴とする請求項１から１２までの何れか１項に記載の内燃機関の制御装置。
【請求項１４】
前記第２空燃比フィードバック制御手段は、前記第１空燃比フィードバック制御手段の制御周期を検出し、前記目標平均空燃比に応じた制御定数を補正することを特徴とする請求項１から請求項１３までの何れか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、排気ガスの空燃比を制御する内燃機関の制御装置に関する。
【背景技術】
【０００２】
一般的な内燃機関の排気通路には、排気ガス中のＨＣ、ＣＯ、ＮＯｘを同時に浄化する三元触媒が設けられている。三元触媒の浄化率は、排気ガスの空燃比が理論空燃比付近である場合に、ＨＣ、ＣＯ、ＮＯｘの何れについても高い値を示す。
このため、通常は、三元触媒の上流側にＯ２センサ（以下、「上流側Ｏ２センサ」と称する）が設けられており、上流側Ｏ２センサの出力に応じて、排気ガスの空燃比が理論空燃比付近になるようにフィードバック制御している。
【０００３】
しかしながら、上流側Ｏ２センサは、排気通路内でできるだけ燃焼室に近い箇所、すなわち排気マニホールドの集合部分に取り付けられているので、高温の排気ガスに晒されるとともに、種々の有毒物によって被毒する。また、燃焼室に近い箇所では、排気ガスが十分に混合されていないので、排気ガスの空燃比にばらつきが生じている。
そのため、上流側Ｏ２センサの出力に大きな変動が生じ、排気ガスの空燃比を正確に制御することができないという問題点があった。
【０００４】
この問題点を解決するために、上流側Ｏ２センサとともに、触媒の下流側にＯ２センサ（以下、「下流側Ｏ２センサ」と称する）を設けたダブルＯ２センサシステムが提案されている。
ダブルＯ２センサシステムにおいては、上流側Ｏ２センサの出力に応じて上記のように空燃比がフィードバック制御されるとともに、下流側Ｏ２センサの出力に応じて排気ガスの空燃比がフィードバック制御されている。
【０００５】
ここで、下流側Ｏ２センサの応答速度は、上流側Ｏ２センサの応答速度に比べて低いものの、排気ガスが触媒を通過することにより、排気温度が下がって熱による影響が低減されるとともに、有毒物が吸収されて有毒物による影響が低減される。また、触媒の下流側では、排気ガスが十分に混合されるので、排気ガスの空燃比が平衡する。
そのため、下流側Ｏ２センサの出力の変動は小さく、上流側Ｏ２センサの出力の変動が下流側Ｏ２センサによって吸収される。
【０００６】
また、触媒には、触媒上流側における排気ガスの空燃比の一時的な変動を吸収するために、酸素ストレージ能力が付加されている。酸素ストレージ能力とは、排気ガスの空燃比が理論空燃比よりもリーン側の場合には、排気ガス中の酸素を取り込んで蓄積する一方、排気ガスの空燃比が理論空燃比よりもリッチ側の場合には、蓄積されている酸素を放出する積分器のような能力である。
このため、触媒上流側の空燃比の変動は、触媒内で平均化され、平均空燃比が触媒浄化状態に作用する。したがって、触媒の浄化率を良好に保つためには、下流側Ｏ２センサの出力を用いて、触媒上流側における排気ガスの空燃比の平均値を制御すればよい。
【０００７】
従来の内燃機関の空燃比制御装置は、下流側Ｏ２センサの出力に応じて、上流側Ｏ２センサの出力を用いたフィードバック制御の制御定数を変更して、上流側の平均空燃比を制御している（例えば、特許文献１参照）。
【０００８】
上記従来装置では、上流側Ｏ２センサの出力を用いたフィードバック制御（第１空燃比フィードバック制御手段）で用いられる制御定数として、遅延時間、スキップ量、積分定数および比較電圧のうちの少なくとも何れか１つが含まれている。また、遅延時間、スキップ量および積分定数は、触媒上流側における排気ガスの平均空燃比をリーン側に移動させる場合と、リッチ側に移動させる場合とでそれぞれ非対称に演算されている。
【０００９】
すなわち、例えばリッチ側の遅延時間＞リーン側の遅延時間と設定すれば、平均空燃比がリッチ側に移動し、逆に、リーン側の遅延時間＞リッチ側の遅延時間と設定すれば、平均空燃比がリーン側に移動する。
また、リッチ側のスキップ量＞リーン側のスキップ量と設定すれば、平均空燃比がリッチ側に移動し、逆に、リーン側のスキップ量＞リッチ側のスキップ量と設定すれば、平均空燃比がリーン側に移動する。
【００１０】
また、リッチ側の積分定数＞リーン側の積分定数と設定すれば、平均空燃比がリッチ側に移動し、逆に、リーン側の積分定数＞リッチ側の積分定数と設定すれば、平均空燃比がリーン側に移動する。
また、比較電圧を大きくすると平均空燃比がリッチ側に移動し、比較電圧を小さくすると平均空燃比がリーン側に移動する。
【００１１】
このように、下流側Ｏ２センサの出力に応じて、上記の制御定数を演算することによって、触媒上流側における排気ガスの１制御周期あたりの平均空燃比を制御している。
また、上記の制御定数のうちの２つ以上を同時に制御することによって、平均空燃比の制御性を向上させることも提案されている。
【００１２】
しかしながら、上記従来装置では、統一した管理指標が設定されていないので、単に２つ以上の制御定数を同時に制御した場合、非線形な相互作用が生じる。
そのため、触媒上流側における排気ガスの平均空燃比をリーン側あるいはリッチ側に移動させる場合、移動させる方向（移動方向）を制御することができるものの、平均空燃比を移動させる量（移動量）を制御することが困難になる。
【００１３】
ここで、上記の非線形な相互作用は、それぞれの制御定数の変化が互いに影響を及ぼすことによって生じる。そのため、２つ以上の制御定数を同時に制御した場合の平均空燃比の移動量は、それぞれの制御定数を単独で制御した場合の移動量どうしを単純に加算した値とならず、それぞれの制御定数を制御した場合の制御量、制御定数の組合せおよび動作点、あるいは運転条件によって変化する制御対象の特性等によって様々に変化する。
また、非線形な相互作用は、それぞれの制御定数の制御量と、平均空燃比の移動量との関係が非線形であることによっても生じる。
【００１４】
【特許文献１】特開昭６３−１９５３５１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
従来の内燃機関の制御装置では、それぞれの制御定数の制御量、組合せおよび動作点、あるいは運転条件等によって、平均空燃比の移動量が変動してフィードバック制御のゲインが変動する。
そのため、ハンチングや追従不足が生じ、下流側Ｏ２センサの出力に応じて、触媒上流側の排気ガスの平均空燃比を制御するフィードバック制御が、不安定になるという問題点があった。
【００１６】
また、それぞれの制御定数を有効に組み合わせることにより、平均空燃比の制御に関して、移動幅、制御周期および空燃比の制御振幅等の制御精度を向上させることも考えられる。
しかし、従来の内燃機関の制御装置では、統一した管理指標が設定されていないので、平均空燃比の動作点に応じて、上記の制御精度を最大限に向上させるように制御定数の制御量、あるいは組合せを設定し、平均空燃比の移動量のきめ細かい制御を実現することができないという問題点もあった。
【００１７】
この発明は、上記のような問題点を解決することを課題とするものであって、その目的は、少なくとも２つ以上の制御定数を適切に組み合わせて、触媒上流側の排気ガスの平均空燃比を、安定にかつきめ細かく制御することができる内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【００１８】
この発明に係る内燃機関の制御装置は、内燃機関の排気系に設けられ、排気ガスを浄化する触媒と、触媒の上流側に設けられ、触媒上流側の排気ガスの空燃比を検出する第１空燃比センサと、触媒の下流側に設けられ、触媒下流側の排気ガスの空燃比を検出する第２空燃比センサと、第１空燃比センサの出力値と複数の制御定数を含んだ制御定数群とに応じて、触媒上流側の排気ガスの空燃比を制御する第１空燃比フィードバック制御手段と、第２空燃比センサの出力値と所定の出力目標値とに応じて、触媒上流側の排気ガスの平均空燃比の目標値である目標平均空燃比を演算する第２空燃比フィードバック制御手段と、目標平均空燃比を共通の指標として、少なくとも２つの制御定数を演算する変換手段とを備えたものである。
【発明の効果】
【００１９】
この発明の内燃機関の制御装置によれば、第２空燃比フィードバック制御手段が第２空燃比センサの出力値と所定の出力目標値とに応じて、触媒上流側の排気ガスの平均空燃比の目標値である目標平均空燃比を演算し、変換手段が目標平均空燃比を指標として、少なくとも２つの制御定数を演算する。
そのため、目標平均空燃比に応じて制御定数の制御量、あるいは組合せを設定することができ、触媒上流側の排気ガスの空燃比を安定にかつ正確に制御することができる。
また、目標平均空燃比を指標として制御定数を設定することにより、平均空燃比の移動量を変えることなく、平均空燃比の動作点に応じて、それぞれの制御定数の利点を最大限に引き出すように適切な制御定数を組み合わせて、平均空燃比の移動量をきめ細かく制御することができる。
【発明を実施するための最良の形態】
【００２０】
以下、この発明の各実施の形態について図に基づいて説明するが、各図において同一、または相当する部材、部位については、同一符号を付して説明する。
なお、以下の実施の形態では、内燃機関の制御装置が車両に搭載されている場合について説明する。
【００２１】
実施の形態１．
図１は、この発明の実施の形態１に係る内燃機関の制御装置を含むシステム全体を示す構成図である。なお、一般的な内燃機関には、複数の気筒２が設けられているが、以下の実施の形態では、そのうちの１つの気筒２について説明する。
図１において、機関本体１には、筒状の気筒２と、クランクシャフト（図示せず）に接続されたピストン３とによって、燃料と空気とが混合した混合気が吸入されて燃焼する燃焼室４が形成されている。
【００２２】
気筒２には、気筒２内に空気を吸入する吸気ポート５と、燃焼室４内で混合気が燃焼して生成された排気ガスを排気する排気マニホールド６とが接続されている。また、気筒２の頂部には、燃焼室４に供給された混合気に点火する点火プラグ（図示せず）が取り付けられている。
【００２３】
吸気ポート５の下流側には、燃料を噴射する燃料噴射弁７が取り付けられている。燃料噴射弁７には、機関本体１の外部に設けられた燃料タンク８から燃料が供給されている。
また、吸気ポート５の上流側には、スロットル弁９を経由して外部から吸入される空気を各気筒２に分配する吸気マニホールド１０が接続されている。
【００２４】
スロットル弁９の上流側には、外部から吸入した空気が通過する吸気通路１１が接続されている。また、スロットル弁９の下流側には、ブースト圧に応じた電圧信号を出力するブースト圧センサ（図示せず）が設けられている。
吸気通路１１には、外部から吸入した空気量を検出するエアフローメータ１２が設けられている。エアフローメータ１２は、ホットワイヤを内蔵しており、吸入空気量Ａｑに比例したアナログの電圧信号を出力する。
【００２５】
また、気筒２には、点火プラグに高圧電流を配電するディストリビュータ１３が設けられている。ディストリビュータ１３のロータ（図示せず）は、カムシャフト（図示せず）によって駆動される。
また、ディストリビュータ１３には、ロータが例えばクランク角に換算して７２０°毎に基準位置検出用のパルス信号を出力する第１クランク角センサ１４と、クランク角に換算して３０°毎に基準位置検出用のパルス信号を出力する第２クランク角センサ１５とが設けられている。
【００２６】
また、気筒２には、機関本体１を冷却するための冷却水が通過するウォータジャケット１６が設けられている。ウォータジャケット１６には、冷却水の温度を検出する水温センサ１７が取り付けられている。水温センサ１７は、冷却水温ＴＨＷに比例したアナログの電圧信号を出力する。
【００２７】
排気マニホールド６の下流側には、排気ガスを浄化する三元触媒を収容した触媒コンバータ（触媒）１８が設けられており、触媒コンバータ１８の下流側には、排気ガスを外部に排気する排気管１９が接続されている。
また、触媒コンバータ１８の上流側、すなわち排気マニホールド６には、触媒上流側の排気ガスの空燃比に応じたアナログの電圧信号を出力する第１Ｏ２センサ（以下、「上流側Ｏ２センサ」と称する）２０（第１空燃比センサ）が設けられている。
また、触媒コンバータ１８の下流側、すなわち排気管１９には、触媒コンバータ１８を通過した排気ガスの空燃比に応じたアナログの電圧信号を出力する第２Ｏ２センサ（以下、「下流側Ｏ２センサ」と称する）２１（第２空燃比センサ）が設けられている。
上流側Ｏ２センサ２０および下流側Ｏ２センサ２１は、図２に示すように、空燃比の変化に対して、理論空燃比ＡＦＳ付近で電圧が急激に変化し、２値的な出力特性を有するλ型のＯ２センサである。
【００２８】
ここで、燃料噴射弁７の燃料噴射動作は、内燃機関の制御装置の要部を構成するコントローラ２２によって制御されている。
コントローラ２２は、例えばマイクロコンピュータで構成され、演算処理を実行するＣＰＵ２３と、プログラムデータや固定値データを記憶するＲＯＭ２４と、格納されているデータを書き換えることができるＲＡＭ２５と、車両に設けられたバッテリ（図示せず）から電源を供給され、内燃機関の制御装置の電源が切れた場合であっても記憶内容を保持することができるバックアップＲＡＭ２６と、マルチプレクサ内蔵のＡ／Ｄ変換器２７と、各種信号の入出力を行うＩ／Ｏインターフェース２８と、割り込み信号を発生するクロック発生回路２９と、燃料噴射弁７を駆動させる駆動回路３０とを有している。
【００２９】
コントローラ２２のＡ／Ｄ変換器２７には、ブースト圧センサ、エアフローメータ１２、水温センサ１７、上流側Ｏ２センサ２０および下流側Ｏ２センサ２１からの各電圧信号が入力される。
また、Ｉ／Ｏインターフェース２８には、第１クランク角センサ１４および第２クランク角センサ１５からのパルス信号が入力され、第２クランク角センサ１５からのパルス信号は、ＣＰＵ２３に設けられた割り込み端子にさらに入力される。
また、上記の入力に基づいて、後述する燃料供給量Ｑｆｕｅｌが演算されると、駆動回路３０から燃料噴射弁７に対して駆動信号が出力され、燃料噴射弁７から燃料供給量Ｑｆｕｅｌに応じた燃料が噴射される。
【００３０】
なお、ＣＰＵ２３による割り込みは、Ａ／Ｄ変換器２７によるＡ／Ｄ変換が終了した場合、Ｉ／Ｏインターフェース２８が第２クランク角センサ１５からのパルス信号を受信した場合、およびクロック発生回路２９からの割り込み信号を受信した場合等に発生する。
また、ＣＰＵ２３は、第２クランク角センサ１５からのパルス信号を受信する度に回転速度Ｎｅを演算し、ＲＡＭ２５の所定領域に記憶させる。
また、エアフローメータ１２からの吸入空気量Ａｑおよび水温センサ１７からの冷却水温ＴＨＷは、所定時間毎に実行されるＡ／Ｄ変換ルーチンによって取り込まれ、同様にＲＡＭ２５の所定領域に記憶される。すなわち、ＲＡＭ２５における吸入空気量Ａｑおよび冷却水温ＴＨＷは、所定時間毎に更新される。
【００３１】
図３は、この発明の実施の形態１によるコントローラ２２の機能構成を示すブロック図である。なお、図３における上流側Ｏ２センサ２０および下流側Ｏ２センサ２１以外の各ブロックは、ＲＯＭ２４内にソフトウェアとして記憶されている。
図３において、コントローラ２２は、出力目標値設定手段３１と、第２空燃比フィードバック制御手段３２と、変換手段３３と、第１空燃比フィードバック制御手段３４とを有している。
【００３２】
出力目標値設定手段３１は、下流側Ｏ２センサ２１の出力目標値ＶＲ２を設定する。第２空燃比フィードバック制御手段３２は、下流側Ｏ２センサ２１からのセンサ出力Ｖ２と出力目標値ＶＲ２とに応じて触媒上流側の排気ガスの平均空燃比ＡＦＡＶＥの目標値である目標平均空燃比ＡＦＡＶＥｏｂｊを演算する第２空燃比フィードバック制御を実行する。また、第２空燃比フィードバック制御手段３２には、車両に設けられた車速センサ等の各種センサが接続されている。
また、変換手段３３は、目標平均空燃比ＡＦＡＶＥｏｂｊを共通の指標として、少なくとも２つ以上の制御定数を演算する。第１空燃比フィードバック制御手段３４は、上流側Ｏ２センサ２０からのセンサ出力Ｖ１と上記の制御定数を複数含んだ制御定数群とに応じて内燃機関の空燃比を制御する第１空燃比フィードバック制御を実行する。
【００３３】
なお、出力目標値ＶＲ２は、例えば三元触媒の浄化能力が高くなる理論空燃比ＡＦＳ付近の所定電圧値に設定されている。
また、制御定数は、遅延時間、スキップ量、積分定数および比較電圧のうち、少なくとも何れか２つを含んでいる。
【００３４】
以下に、図１〜図３とともに、図４のフローチャートを参照しながら、上流側Ｏ２センサ２０の出力に応じて燃料補正係数ＦＡＦを演算する第１空燃比フィードバック制御手段３４の第１空燃比フィードバック制御ルーチンについて説明する。
なお、この制御ルーチンは、例えば５ｍｓ毎に実行される。
【００３５】
まず、上流側Ｏ２センサ２０からのセンサ出力Ｖ１をＡ／Ｄ変換して取り込み（ステップＳ４１）、閉ループ条件が成立して、フィードバック制御を実行できるか否かを判定する（ステップＳ４２）。
閉ループ条件は、例えば冷却水温ＴＨＷが任意に設定される所定値（例えば６０℃）以下の場合、内燃機関の始動中、内燃機関始動後の燃料増量中、暖機時の燃料増量中、パワー増量中、上流側Ｏ２センサ２０のセンサ出力Ｖ１が一度も反転していない場合、および燃料カット中等に不成立とし、その他の場合に閉ループ条件が成立しているとする。
【００３６】
ステップＳ４２において、閉ループ条件が成立している（すなわち、Ｙｅｓ）と判定された場合には、上流側Ｏ２センサ２０からのセンサ出力Ｖ１が比較電圧ＶＲ１以下であるか否かを判定する（ステップＳ４３）。すなわち、ここでは、触媒コンバータ１８上流側の排気ガスの空燃比が、比較電圧ＶＲ１に対してリッチ側かリーン側かを判定している。
【００３７】
ステップＳ４３において、センサ出力Ｖ１が比較電圧ＶＲ１以下である（すなわち、Ｙｅｓ）と判定された場合には、コントローラ２２内に設けられたディレイカウンタＣＤＬＹが、リッチ遅延時間ＴＤＲ（最大値）以上であるか否かを判定する（ステップＳ４４）。
ここで、リッチ遅延時間ＴＤＲ（最大値）は、上流側Ｏ２センサ２０のセンサ出力Ｖ１がリーン側の値からリッチ側の値に変化した場合であっても、リーン側であるとの判断を保持するためのリッチ遅延時間ＴＤＲであり、正の数で定義される。
【００３８】
ステップＳ４４において、ディレイカウンタＣＤＬＹがリッチ遅延時間ＴＤＲ（最大値）以上である（すなわち、Ｙｅｓ）と判定された場合には、ディレイカウンタＣＤＬＹを「０」にセットし（ステップＳ４５）、コントローラ２２内に設けられた遅延前空燃比フラグＦ０を「０（リーン）」にセットして（ステップＳ４６）、ステップＳ５６に移行する。
【００３９】
一方、ステップＳ４４において、ディレイカウンタＣＤＬＹがリッチ遅延時間ＴＤＲ（最大値）以上でない（すなわち、Ｎｏ）と判定された場合には、遅延前空燃比フラグＦ０が「０」であるか否かを判定する（ステップＳ４７）。
ステップＳ４７において、遅延前空燃比フラグＦ０が「０」である（すなわち、Ｙｅｓ）と判定された場合には、ディレイカウンタＣＤＬＹから「１」を減算して（ステップＳ４８）、ステップＳ５６に移行する。
また、ステップＳ４７において、遅延前空燃比フラグＦ０が「０」でない（すなわち、Ｎｏ）と判定された場合には、ディレイカウンタＣＤＬＹに「１」を加算して（ステップＳ４９）、ステップＳ５６に移行する。
【００４０】
一方、ステップＳ４３において、センサ出力Ｖ１が比較電圧ＶＲ１以下でない（すなわち、Ｎｏ）と判定された場合には、ディレイカウンタＣＤＬＹが、リーン遅延時間ＴＤＬの最小値ＴＤＬｍ（＝−ＴＤＬ）以下であるか否かを判定する（ステップＳ５０）。
ここで、リーン遅延時間ＴＤＬの最小値ＴＤＬｍ（＝−ＴＤＬ）は、上流側Ｏ２センサ２０のセンサ出力Ｖ１がリッチ側の値からリーン側の値に変化した場合であっても、リッチ側であるとの判断を保持するためのリーン遅延時間でＴＤＬあり、負の数で定義される。
【００４１】
ステップＳ５０において、ディレイカウンタＣＤＬＹが最小値ＴＤＬｍ以下である（すなわち、Ｙｅｓ）と判定された場合には、ディレイカウンタＣＤＬＹを「０」にセットし（ステップＳ５１）、遅延前空燃比フラグＦ０を「１（リッチ）」にセットして（ステップＳ５２）、ステップＳ５６に移行する。
【００４２】
一方、ステップＳ５０において、ディレイカウンタＣＤＬＹが最小値ＴＤＬｍ以下でない（すなわち、Ｎｏ）と判定された場合には、遅延前空燃比フラグＦ０が「０」であるか否かを判定する（ステップＳ５３）。
ステップＳ５３において、遅延前空燃比フラグＦ０が「０」である（すなわち、Ｙｅｓ）と判定された場合には、ディレイカウンタＣＤＬＹから「１」を減算して（ステップＳ５４）、ステップＳ５６に移行する。
また、ステップＳ５３において、遅延前空燃比フラグＦ０が「０」でない（すなわち、Ｎｏ）と判定された場合には、ディレイカウンタＣＤＬＹに「１」を加算して（ステップＳ５５）、ステップＳ５６に移行する。
【００４３】
次に、ディレイカウンタＣＤＬＹが、最小値ＴＤＬｍ以下であるか否かを判定する（ステップＳ５６）。
ステップＳ５６において、ディレイカウンタＣＤＬＹが最小値ＴＤＬｍ以下である（すなわち、Ｙｅｓ）と判定された場合には、ディレイカウンタＣＤＬＹを最小値ＴＤＬｍにセットする（ステップＳ５７）。
ここで、ステップＳ５６、Ｓ５７において、ディレイカウンタＣＤＬＹを最小値ＴＤＬｍでガードする。
【００４４】
続いて、コントローラ２２内に設けられた遅延後空燃比フラグＦ１を「０」にセットして（ステップＳ５８）、ステップＳ５９に移行する。
一方、ステップＳ５６において、ディレイカウンタＣＤＬＹが最小値−ＴＤ以下でない（すなわち、Ｎｏ）と判定された場合には、直ちにステップＳ５９に移行する。
【００４５】
次に、ディレイカウンタＣＤＬＹが、リッチ遅延時間ＴＤＲ（最大値）以上であるか否かを判定する（ステップＳ５９）。
ステップＳ５９において、ディレイカウンタＣＤＬＹがリッチ遅延時間ＴＤＲ（最大値）以上である（すなわち、Ｙｅｓ）と判定された場合には、ディレイカウンタＣＤＬＹをリッチ遅延時間ＴＤＲ（最大値）にセットする（ステップＳ６０）。
ここで、ステップＳ５９、Ｓ６０において、ディレイカウンタＣＤＬＹをリッチ遅延時間ＴＤＲ（最大値）でガードする。
【００４６】
続いて、遅延後空燃比フラグＦ１を「１」にセットして（ステップＳ６１）、ステップＳ６２に移行する。
一方、ステップＳ５９において、ディレイカウンタＣＤＬＹがリッチ遅延時間ＴＤＲ（最大値）以上でない（すなわち、Ｎｏ）と判定された場合には、直ちにステップＳ６２に移行する。
【００４７】
次に、遅延後空燃比フラグＦ１の符号が反転したか否かを判定する（ステップＳ６２）。すなわち、ここでは、遅延処理後の空燃比が反転したか否かを判定している。
ステップＳ６２において、遅延後空燃比フラグＦ１の符号が反転した（すなわち、Ｙｅｓ）と判定された場合には、遅延後空燃比フラグＦ１が「０」であるか否かを判定する（ステップＳ６３）。すなわち、ここでは、リッチ側の値からリーン側の値に反転したのか、リーン側の値からリッチ側の値に反転したのかを判定している。
【００４８】
ステップＳ６３において、遅延後空燃比フラグＦ１が「０」である（すなわち、Ｙｅｓ）と判定された場合には、燃料補正係数ＦＡＦにスキップ量ＲＳＲを加算して（ステップＳ６４）、ステップＳ６９に移行する。
一方、ステップＳ６３において、遅延後空燃比フラグＦ１が「０」でない（すなわち、Ｎｏ）と判定された場合には、燃料補正係数ＦＡＦからスキップ量ＲＳＬを減算して（ステップＳ６５）、ステップＳ６９に移行する。
なお、ここでは、スキップ量ＲＳＲ、ＲＳＬを用いて、スキップ処理が実行される。
【００４９】
一方、ステップＳ６２において、遅延後空燃比フラグＦ１の符号が反転していない（すなわち、Ｎｏ）と判定された場合には、遅延後空燃比フラグＦ１が「０」であるか否かを判定する（ステップＳ６６）。
【００５０】
ステップＳ６６において、遅延後空燃比フラグＦ１が「０」である（すなわち、Ｙｅｓ）と判定された場合には、燃料補正係数ＦＡＦに積分定数ＫＩＲを加算して（ステップＳ６７）、ステップＳ６９に移行する。
一方、ステップＳ６６において、遅延後空燃比フラグＦ１が「０」でない（すなわち、Ｎｏ）と判定された場合には、燃料補正係数ＦＡＦから積分定数ＫＩＬを減算して（ステップＳ６８）、ステップＳ６９に移行する。
なお、ここでは、積分定数ＫＩＲ、ＫＩＬを用いて、積分処理が実行される。
【００５１】
ここで、積分定数ＫＩＲ、ＫＩＬは、スキップ量ＲＳＲ、ＲＳＬよりも十分に小さく設定されている。
従って、ステップＳ６７では、リーン状態で燃料補正係数ＦＡＦを徐々に増大させ、ステップＳ６８では、リッチ状態で燃料補正係数ＦＡＦを徐々に減少させる。
【００５２】
次に、燃料補正係数ＦＡＦが「０．８」よりも小さいか否かを判定する（ステップＳ６９）。
ステップＳ６９において、燃料補正係数ＦＡＦが「０．８」よりも小さい（すなわち、Ｙｅｓ）と判定された場合には、燃料補正係数ＦＡＦを「０．８」に設定して（ステップＳ７０）、ステップＳ７１に移行する。
【００５３】
一方、ステップＳ６９において、燃料補正係数ＦＡＦが「０．８」よりも小さくない（すなわち、Ｎｏ）と判定された場合には、直ちにステップＳ７１に移行する。
ここで、ステップＳ６９、Ｓ７０において、燃料補正係数ＦＡＦの最小値を「０．８」でガードする。
【００５４】
続いて、燃料補正係数ＦＡＦが「１．２」よりも大きいか否かを判定する（ステップＳ７１）。
ステップＳ７１において、燃料補正係数ＦＡＦが「１．２」よりも大きい（すなわち、Ｙｅｓ）と判定された場合には、燃料補正係数ＦＡＦを「１．２」に設定し（ステップＳ７２）、この燃料補正係数ＦＡＦをＲＡＭ２５に記憶させて、図４の処理を終了する（ステップＳ８０）。
【００５５】
一方、ステップＳ７１において、燃料補正係数ＦＡＦが「１．２」よりも大きくない（すなわち、Ｎｏ）と判定された場合には、この燃料補正係数ＦＡＦをＲＡＭ２５に記憶させて、図４の処理を終了する（ステップＳ８０）。
ここで、ステップＳ７１、Ｓ７２において、燃料補正係数ＦＡＦの最大値を「１．２」でガードする。
ステップＳ６９〜Ｓ７２で燃料補正係数ＦＡＦの最小値および最大値をガードすることにより、何らかの原因で燃料補正係数ＦＡＦが小さくなりすぎたり、あるいは大きくなりすぎたりした場合に、触媒コンバータ１８上流側の排気ガスの空燃比がオーバーリーンあるいはオーバーリッチになることを防止することができる。
【００５６】
一方、ステップＳ４２において、閉ループ条件が成立していない（すなわち、Ｎｏ）と判定された場合には、燃料補正係数ＦＡＦを「１．０」に設定し（ステップＳ７３）、ディレイカウンタＣＤＬＹを「０」にセットして（ステップＳ７４）、上流側Ｏ２センサ２０からのセンサ出力Ｖ１が比較電圧ＶＲ１以下であるか否かを判定する（ステップＳ７５）。
【００５７】
ステップＳ７５において、センサ出力Ｖ１が比較電圧ＶＲ１以下である（すなわち、Ｙｅｓ）と判定された場合には、遅延前空燃比フラグＦ０を「０」にセットし（ステップＳ７６）、遅延後空燃比フラグＦ１を「０」にセットし（ステップＳ７７）、燃料補正係数ＦＡＦをＲＡＭ２５に記憶させて、図４の処理を終了する（ステップＳ８０）。
【００５８】
一方、ステップＳ７５において、センサ出力Ｖ１が比較電圧ＶＲ１以下でない（すなわち、Ｎｏ）と判定された場合には、遅延前空燃比フラグＦ０を「１」にセットし（ステップＳ７８）、遅延後空燃比フラグＦ１を「１」にセットし（ステップＳ７９）、燃料補正係数ＦＡＦをＲＡＭ２５に記憶させて、図４の処理を終了する（ステップＳ８０）。
すなわち、ステップＳ７３〜Ｓ７９において、閉ループ条件が成立した場合の初期値を設定する。
【００５９】
図５は、図４のフローチャートに示した第１空燃比フィードバック制御ルーチンを補足説明するタイミングチャートである。
図５（ａ）に示す上流側Ｏ２センサ２０のセンサ出力Ｖ１から、図５（ｂ）に示すように、空燃比が比較電圧ＶＲ１に対してリッチ側かリーン側かを比較した結果が得られる。この空燃比比較結果が得られると、遅延前空燃比フラグＦ０は、図５（ｃ）に示すようにリッチ状態およびリーン状態に変化する。
ディレイカウンタＣＤＬＹは、図５（ｄ）に示すように、遅延前空燃比フラグＦ０がリッチ状態と判定された場合にカウントアップされ、リーン状態と判定された場合にカウントダウンされる。この結果、遅延後空燃比フラグＦ１が図５（ｅ）に示すように変化し、この遅延後空燃比フラグＦ１に基づいて、燃料補正係数ＦＡＦが図５（ｆ）に示すように求められる。
【００６０】
図５において、時刻ｔ１で空燃比比較結果がリーン側からリッチ側に反転した場合、遅延処理が開始される。遅延後空燃比フラグＦ１は、リッチ遅延時間ＴＤＲだけリーン側に保持された後に、時刻ｔ２においてリッチ側に変化する。
また、時刻ｔ３において、空燃比比較結果がリッチ側からリーン側に反転した場合、遅延後空燃比フラグＦ１は、リーン遅延時間ＴＤＬに相当する時間だけリッチ側に保持された後に、時刻ｔ４においてリーン側に変化する。
【００６１】
ここで、時刻ｔ５において、空燃比比較結果がリーン側からリッチ側に反転して遅延処理が開始した後、リッチ遅延時間ＴＤＲが経過する前の時刻ｔ６および時刻ｔ７において、空燃比比較結果が反転した場合であっても、ディレイカウンタＣＤＬＹがリッチ遅延時間ＴＤＲに到達するまでの遅延処理中は、遅延前空燃比フラグＦ０は反転しない。
続いて、時刻ｔ５で空燃比比較結果が反転してから、リッチ遅延時間ＴＤＲが経過した時刻ｔ８において、遅延後空燃比フラグＦ１は、リッチ側に変化する。
すなわち、遅延前空燃比フラグＦ０は、一時的な空燃比の変動に影響されないので、空燃比比較結果に比べて安定した出力を得ることができる。また、この遅延前空燃比フラグＦ０から得られる遅延後空燃比フラグＦ１に基づいて、安定した燃料補正係数ＦＡＦを演算することができる。
【００６２】
次に、図１〜図３とともに、図６のフローチャートを参照しながら、下流側Ｏ２センサ２１の出力に応じて目標平均空燃比ＡＦＡＶＥｏｂｊを演算する第２空燃比フィードバック制御手段３２の第２空燃比フィードバック制御ルーチンについて説明する。
なお、この制御ルーチンは、例えば５ｍｓ毎に実行される。
【００６３】
まず、下流側Ｏ２センサ２１からのセンサ出力Ｖ２をＡ／Ｄ変換して取り込み（ステップＳ８１）、閉ループ条件が成立して、フィードバック制御を実行できるか否かを判定する（ステップＳ８２）。
このとき、下流側Ｏ２センサ２１には、前述のように、理論空燃比ＡＦＳ付近の空燃比検出分解能が非常に高いλ型のＯ２センサが用いられているので、制御精度を向上させることができる。
また、下流側Ｏ２センサ２１からのセンサ出力Ｖ２に一次遅れフィルタ等のフィルタ処理を加えてもよい。
【００６４】
閉ループ条件は、例えば内燃機関の始動中、内燃機関始動後の燃料増量中、暖機時の燃料増量中、下流側Ｏ２センサ２１が不活性状態の場合、下流側Ｏ２センサ２１の故障している場合、リッチ化制御中、リーン化制御中、および燃料カット中等に不成立とし、その他の場合に閉ループ条件が成立しているとする。
なお、下流側Ｏ２センサ２１が活性状態であるか否かを判別するためには、水温センサ１７からの冷却水温ＴＨＷが所定値以上になったか否かを判別するか、下流側Ｏ２センサ２１の出力電圧が所定電圧を一度横切ったか否かを判別すればよい。
【００６５】
ステップＳ８２において、閉ループ条件が成立している（すなわち、Ｙｅｓ）と判定された場合には、出力目標値ＶＲ２を設定する（ステップＳ８３）。
ここで、出力目標値ＶＲ２は、理論空燃比ＡＦＳ付近の三元触媒の浄化能力が高くなる範囲（浄化ウィンドウ）に対応した下流側Ｏ２センサ２１の所定電圧値を示す例えば０．４５Ｖ付近に設定される。
【００６６】
なお、出力目標値ＶＲ２は、三元触媒のＮＯｘに対する浄化能力が高くなる０．７５Ｖ付近に設定されてもよいし、三元触媒のＣＯ、ＨＣに対する浄化能力が高くなる０．２Ｖ付近に設定されてもよい。
また、出力目標値ＶＲ２は、運転条件によって値が変更されてもよい。運転条件によって出力目標値ＶＲ２が変更される場合には、出力目標値ＶＲ２を変更した際のステップ的な変化による空燃比の変動を緩和するために、出力目標値ＶＲ２に対して一次遅れフィルタ等のフィルタ処理を加えてもよい。
運転条件とは、例えば機関本体１の回転数および負荷のことであり、それぞれの値によって、複数の運転ゾーンに分けられている。なお、運転条件は、機関本体１の回転数および負荷に限られず、機関本体１の冷却水温ＴＨＷ、車両の加減速度、アイドリング状態、排気温度、上流側Ｏ２センサ２０の温度、ＥＧＲ開度等を含んでいてもよい。
【００６７】
続いて、下流側Ｏ２センサ２１のセンサ出力Ｖ２と、出力目標値ＶＲ２との偏差ΔＶ２（＝ＶＲ２−Ｖ２）を演算する（ステップＳ８４）。
【００６８】
以下、ステップＳ８５〜Ｓ９２は、上記偏差ΔＶ２に応じて比例（Ｐ）演算と、積分（Ｉ）演算とを実行するＰＩ制御に対応しており、偏差ΔＶ２を無くすように、触媒上流側の排気ガスの平均空燃比ＡＦＡＶＥの目標値である目標平均空燃比ＡＦＡＶＥｏｂｊを設定する。
例えば、下流側Ｏ２センサ２１のセンサ出力Ｖ２が出力目標値ＶＲ２よりも小さい（リーン状態）場合、目標平均空燃比ＡＦＡＶＥｏｂｊがリッチ側に設定され、センサ出力Ｖ２が出力目標値ＶＲ２に近づくように制御される。
【００６９】
目標平均空燃比ＡＦＡＶＥｏｂｊは、一般的なＰＩ制御によって演算され、次式（１）で表される。
【００７０】
ＡＦＡＶＥｏｂｊ＝ＡＦＡＶＥ０＋Σ（Ｋｉ２（ΔＶ２））＋Ｋｐ２（ΔＶ２）・・・（１）
【００７１】
式（１）において、Ｋｉ２は積分ゲイン、Ｋｐ２は比例ゲインである。また、ＡＦＡＶＥ０は、理論空燃比ＡＦＳに相当する値として運転条件毎に設定された初期値であり、固定値データとしてＲＯＭ２４に記憶されている。ここでは、例えば初期値ＡＦＡＶＥ０＝１４．５３に設定されている。
【００７２】
積分演算は、偏差ΔＶ２を積分して出力を生成するので、比較的ゆっくり動作する。また、上流側Ｏ２センサ２０の出力特性の変動に起因する下流側Ｏ２センサ２１のセンサ出力Ｖ２の定常的な偏差を解消することができる。
なお、積分ゲインＫｉ２を大きくするにつれて、積分移動量Σ（Ｋｉ２（ΔＶ２））の絶対値が大きくなって制御速度が速くなるが、速くなりすぎると位相遅れが大きくなって制御系が不安定になり、ハンチングを生じる。
そのため、積分ゲインＫｉ２を適切な値に設定する必要がある。
【００７３】
また、比例演算は、偏差ΔＶ２に比例して出力を生成するので、比較的早い応答性を示し、偏差ΔＶ２を早急に無くすことができる。
なお、比例ゲインＫｐ２を大きくするにつれて、比例移動量Ｋｐ２（ΔＶ２）の絶対値が大きくなって制御速度が速くなるが、速くなりすぎると制御系が不安定になり、ハンチングを生じる。
そのため、比例ゲインＫｐ２を適切な値に設定する必要がある。
【００７４】
以下、ステップＳ８５〜Ｓ９２の各ステップについて説明する。
まず、積分演算値の更新条件が成立しているか否かを判定する（ステップＳ８５）。
更新条件は、車両が過渡運転をしている場合と、過渡運転の終了後任意の所定期間が経過していない場合とに不成立とし、その他の場合に更新条件が成立しているとする。
【００７５】
ここで、過渡運転として、急な加速減速、燃料カット、リッチ化制御、リーン化制御、第２空燃比フィードバック制御手段３２の停止、第１空燃比フィードバック制御手段３４の停止、故障診断のための空燃比の強制変動、故障診断のためのアクチュエータの強制駆動、および蒸散ガス導入の急変等がある。
なお、急な加速減速の有無を判別するためには、スロットル開度の単位時間あたりの変化量が所定値以上であるか否かを判別するか、吸入空気量Ａｑの単位時間あたりの変化量が所定値以上であるか否か等を判別すればよい。また、蒸散ガス導入の急変を判別するためには、蒸散ガスを導入するバルブ開度の単位時間あたりの変化量が所定値以上であるか否か等を判別すればよい。
【００７６】
過渡運転時は、触媒上流側の排気ガスの空燃比が大きく乱れ、触媒下流側の空燃比も乱れる。このような状態で積分演算を実施すると、外乱による影響を含んだ値を積分することになる。また、積分演算は、比較的ゆっくり動作するので、過渡運転中に積分演算を実施すると、過渡運転の終了後もしばらくの間外乱による影響を含んだ値が残り、制御性能が悪化する。
【００７７】
そのため、過渡運転時は、積分演算の更新を一時的に停止し、積分演算値を保持することによって、上記のような誤った積分演算を防止することができる。
また、過渡運転の終了後であっても、制御対象の遅れによってしばらくは外乱による影響が残るので、過渡運転の終了後も所定期間にわたって積分演算の更新を停止することにより、同様に誤った積分演算を防止することができる。
【００７８】
なお、過渡運転によって、特に触媒による遅れの影響が大きくなる。ここで、触媒が過渡運転の影響から復帰するまでの速度は、触媒の酸素ストレージ能力により、吸入空気量Ａｑに比例する。そのため、上記の任意の所定期間を、過渡運転が終了してからの積算空気量が所定値に到達するまでの期間としてもよい。
この場合も、同様に誤った積分演算を防止することができる。
また、上記の更新条件に加えて、制御ルーチンの所定実行回数毎に更新条件を成立させるようにしてもよい。
この場合、所定実行回数を変化させることによって積分演算の速度を調整することができ、積分ゲインＫｉ２を調整する場合と同様の効果を奏する。
【００７９】
ステップＳ８５において、積分演算値の更新条件が成立している（すなわち、Ｙｅｓ）と判定された場合には、積分演算値ＡＦＩに更新量Ｋｉ２（ΔＶ２）を加算した値に更新する（ステップＳ８６）。
ここで、積分演算値ＡＦＩは、運転条件毎にバックアップＲＡＭ２６に記憶されている。また、更新量Ｋｉ２（ΔＶ２）は、所定の積分ゲインＫｉ２を用いて、単純に更新量Ｋｉ２（ΔＶ２）＝Ｋｉ２×ΔＶ２として演算されてもよいし、図７の一次元マップに示すように、可変の積分ゲインＫｉ２を用いて、偏差ΔＶ２に応じて非線形に演算されてもよい。
また、積分演算値ＡＦＩに更新量Ｋｉ２（ΔＶ２）を繰り返し加算することによって、式（１）に示した積分移動量Σ（Ｋｉ２（ΔＶ２））が演算される。
【００８０】
また、積分演算値ＡＦＩによって補償される上流側Ｏ２センサ２０の出力特性の変動は、排気ガスの温度あるいは圧力等の運転条件によって変化する。
そのため、運転条件が変化する毎にバックアップＲＡＭ２６に記憶されている積分演算値ＡＦＩを読み込んで、積分演算値ＡＦＩを切り換えることにより、上流側Ｏ２センサ２０の出力特性の変動による影響を軽減することができる。
また、積分演算値ＡＦＩを運転条件毎にバックアップＲＡＭ２６に記憶することにより、内燃機関の停止あるいは再始動時に積分演算値ＡＦＩがリセットされて、制御性能が悪化することを防止することができる。
【００８１】
なお、積分ゲインＫｉ２は、運転条件に応じて値が変更されてもよい。
これにより、運転条件によって変化する第２空燃比フィードバック制御手段３２内の応答遅れに応じて積分演算値ＡＦＩを演算することができる。また、運転条件によって変化するドライバビリティ上の要求に応じて積分演算値ＡＦＩを演算することができる。
ここで、吸入空気量Ａｑに比例して、特に排気ガスの移動遅れ作用および触媒の酸素ストレージ能力により、触媒上流側から触媒下流側までの応答遅れが変化するので、吸入空気量Ａｑに応じて、例えば吸入空気量Ａｑに比例して積分ゲインＫｉ２の絶対値を設定するとよい。
【００８２】
図８は、この発明の実施の形態１に係る偏差ΔＶ２と更新量Ｋｉ２（ΔＶ２）との関係を、吸入空気量Ａｑに応じて示す説明図である。
図８において、実線は、高吸入空気量の場合における偏差ΔＶ２と更新量Ｋｉ２（ΔＶ２）との関係を示している。また、点線は、中吸入空気量の場合における偏差ΔＶ２と更新量Ｋｉ２（ΔＶ２）との関係を示している。また、一点鎖線は、低吸入空気量の場合における偏差ΔＶ２と更新量Ｋｉ２（ΔＶ２）との関係を示している。
また、積分ゲインＫｉ２の絶対値を変更する代わりに、更新周期を変更してもよい。更新周期は、積分演算値ＡＦＩの更新を制御ルーチンの所定実行回数毎に実行することとし、この所定実行回数を変更することによって変更することができる。
この場合も、積分ゲインＫｉ２の絶対値を変更する場合と同様の効果を奏することができる。
【００８３】
一方、ステップＳ８５において、積分演算値ＡＦＩの更新条件が成立していない（すなわち、Ｎｏ）と判定された場合には、積分演算値ＡＦＩを更新せず、積分演算値ＡＦＩを保持して（ステップＳ８７）、ステップＳ８８に移行する。
【００８４】
続いて、次式（２）に基づいて、積分演算値ＡＦＩの上下限制限処理を実行する（ステップＳ８８）。
【００８５】
ＡＦＩｍｉｎ＜ＡＦＩ＜ＡＦＩｍａｘ・・・（２）
【００８６】
式（２）において、ＡＦＩｍｉｎは積分演算値ＡＦＩの最小値、ＡＦＩｍａｘは積分演算値ＡＦＩの最大値である。また、積分演算値最小値ＡＦＩｍｉｎおよび積分演算値最大値ＡＦＩｍａｘは、固定値データとしてＲＯＭ２４に記憶されている。
ここで、上流側Ｏ２センサ２０の出力特性の変動幅は、あらかじめ把握できるので、この変動幅を補償することができる積分演算値最小値ＡＦＩｍｉｎおよび積分演算値最大値ＡＦＩｍａｘが設定される。
【００８７】
積分演算値ＡＦＩの上下限制限処理によって、積分演算値ＡＦＩが積分演算値最小値ＡＦＩｍｉｎよりも小さい場合には、積分演算値ＡＦＩが積分演算値最小値ＡＦＩｍｉｎでガードされ、積分演算値ＡＦＩが積分演算値最大値ＡＦＩｍａｘよりも大きい場合には、積分演算値ＡＦＩが積分演算値最大値ＡＦＩｍａｘでガードされる。
そのため、過大な空燃比操作の発生を防止することができ、ドライバビリティの悪化を防止することができる。
また、積分演算値ＡＦＩを、設計した平均空燃比ＡＦＡＶＥの移動可能幅以内に制限することで、制御系の安定性を高めることができる。
【００８８】
また、積分演算値最小値ＡＦＩｍｉｎおよび積分演算値最大値ＡＦＩｍａｘは、運転条件毎に設定されてもよい。
これにより、運転条件によって変化する設計した平均空燃比ＡＦＡＶＥの移動可能幅に応じて積分演算値ＡＦＩを演算することができる。また、運転条件によって変化するドライバビリティ上の要求に応じて積分演算値ＡＦＩを演算することができる。
【００８９】
次に、比例演算値ＡＦＰを比例移動量Ｋｐ２（ΔＶ２）に設定する（ステップＳ８９）。
ここで、比例移動量Ｋｐ２（ΔＶ２）は、所定の比例ゲインＫｐ２を用いて、単純に比例移動量Ｋｐ２（ΔＶ２）＝Ｋｐ２×ΔＶ２として演算されてもよいし、図７の一次元マップに示すように、可変の比例ゲインＫｐ２を用いて、偏差ΔＶ２に応じて非線形に演算されてもよい。
【００９０】
また、比例ゲインＫｐ２は、積分ゲインＫｉ２と同様に、運転条件に応じて値が変更されてもよい。
これにより、運転条件によって変化する第２空燃比フィードバック制御手段３２内の応答遅れに応じて比例演算値ＡＦＰを演算することができる。また、運転条件によって変化するドライバビリティ上の要求に応じて比例演算値ＡＦＰを演算することができる。
また、吸入空気量Ａｑに応じて比例ゲインＫｐ２を設定した場合における偏差ΔＶ２と比例移動量Ｋｐ２（ΔＶ２）との関係を図８に示す。
【００９１】
なお、ステップＳ８５において、積分演算値ＡＦＩの更新条件が成立していないと判定された場合（すなわち、車両が過渡運転をしている場合、および過渡運転の終了後所定期間が経過していない場合）に、比例ゲインＫｐ２を変更してもよい。
【００９２】
過渡運転時は、外乱によって下流側Ｏ２センサ２１のセンサ出力Ｖ２に乱れが生じるので、通常運転時と同じ比例ゲインＫｐ２を設定すると、過大な空燃比操作が発生してドライバビリティが悪化したり、逆に外乱を整定するために必要な平均空燃比ＡＦＡＶＥの移動量が不足したりするという問題が生じる。
そのため、過渡運転の種類に応じて、比例ゲインＫｐ２の絶対値を通常運転時よりも小さく設定したり、大きく設定したりする。
【００９３】
比例ゲインＫｐ２の絶対値を小さく設定する過渡運転として、故障診断のための空燃比の強制変動等がある。この場合、ドライバビリティの悪化の抑制と、フィードバック制御の追従性能の最低限の維持とをバランス良く実現することができる。
一方、比例ゲインＫｐ２の絶対値を大きく設定する過渡運転として、急な加速減速および蒸散ガス導入の急変等がある。この場合、ドライバビリティは悪化するものの、フィードバック制御の追従性能を向上させることができる。
また、積分ゲインＫｉ２についても、過渡運転の種類に応じて、積分ゲインＫｉ２の絶対値を通常運転時よりも小さく設定したり、大きく設定したりすることによって、比例ゲインＫｐ２を変更した場合と同様の効果を奏することができる。
【００９４】
また、過渡運転の終了後の所定期間は、比例ゲインＫｐ２の絶対値を通常運転時よりも大きく設定し、所定期間経過後は、比例ゲインＫｐ２の絶対値を通常運転時の値に戻す。
これにより、外乱によって悪化した触媒の浄化能力の復帰速度を速めるとともに、所定期間経過後に過大な空燃比操作が発生してドライバビリティが悪化することを防止することができる。
ここで、積分演算の場合と同様に、触媒が過渡運転の影響から復帰するまでの速度は、触媒の酸素ストレージ能力により、吸入空気量Ａｑに比例する。そのため、所定期間を、過渡運転が終了してからの積算空気量が所定値に到達するまでの期間としてもよい。
また、この所定期間は、比例ゲインＫｐ２の絶対値を大きくすることにより短縮することができ、所定時間を短縮することによって、通常運転時のドライバビリティの悪化を防止することができる。
ここで、過渡運転として、さらに燃料カットも含まれる。
【００９５】
続いて、次式（３）に基づいて、比例演算値ＡＦＰの上下限制限処理を実行する（ステップＳ９０）。
【００９６】
ＡＦＰｍｉｎ＜ＡＦＰ＜ＡＦＰｍａｘ・・・（３）
【００９７】
式（３）において、ＡＦＰｍｉｎは比例演算値ＡＦＰの最小値、ＡＦＰｍａｘは比例演算値ＡＦＰの最大値である。また、比例演算値最小値ＡＦＰｍｉｎおよび比例演算値最大値ＡＦＰｍａｘは、固定値データとしてＲＯＭ２４に記憶されている。
ここで、比例演算値最小値ＡＦＰｍｉｎおよび比例演算値最大値ＡＦＰｍａｘは、積分演算値最小値ＡＦＩｍｉｎおよび積分演算値最大値ＡＦＩｍａｘと同様に、ドライバビリティの悪化を防止するとともに、制御系の安定性を高めることができる。
【００９８】
比例演算値ＡＦＰの上下限制限処理によって、比例演算値ＡＦＰが比例演算値最小値ＡＦＰｍｉｎよりも小さい場合には、比例演算値ＡＦＰが比例演算値最小値ＡＦＰｍｉｎでガードされ、比例演算値ＡＦＰが比例演算値最大値ＡＦＰｍａｘよりも大きい場合には、比例演算値ＡＦＰが比例演算値最大値ＡＦＰｍａｘでガードされる。
そのため、過大な空燃比操作の発生を防止することができ、ドライバビリティの悪化を防止することができる。
また、比例演算値ＡＦＰを、設計した平均空燃比ＡＦＡＶＥの移動可能幅以内に制限することで、制御系の安定性を高めることができる。
【００９９】
なお、比例演算値最小値ＡＦＰｍｉｎおよび比例演算値最大値ＡＦＰｍａｘは、車両が通常運転をしている場合の値と、車両が過渡運転をしている場合、および過渡運転の終了後所定期間が経過していない場合の値とが設定され、それぞれＲＯＭ２４に記憶されていてもよい。
これにより、車両が通常運転をしている場合には、ドライバビリティの悪化を防止することができ、車両が過渡運転をしている場合、および過渡運転の終了後所定期間が経過していない場合には、フィードバック制御の追従性能を向上させることができる。
【０１００】
また、比例演算値最小値ＡＦＰｍｉｎおよび比例演算値最大値ＡＦＰｍａｘは、運転条件毎に設定されてもよい。
これにより、運転条件によって変化する設計した平均空燃比ＡＦＡＶＥの移動可能幅に応じて比例演算値ＡＦＰを演算することができる。また、運転条件によって変化するドライバビリティ上の要求に応じて比例演算値ＡＦＰを演算することができる。
【０１０１】
次に、次式（４）に基づいて、ＰＩ演算値を合計し、目標平均空燃比ＡＦＡＶＥｏｂｊを演算する（ステップＳ９１）。なお、式（４）は、前述の式（１）と同様の式である。
【０１０２】
ＡＦＡＶＥｏｂｊ＝ＡＦＡＶＥ０＋ＡＦＰ＋ＡＦＩ・・・（４）
【０１０３】
続いて、次式（５）に基づいて、目標平均空燃比ＡＦＡＶＥｏｂｊの上下限制限処理を実行する（ステップＳ９２）。
【０１０４】
ＡＦＡＶＥｏｂｊｍｉｎ＜ＡＦＡＶＥｏｂｊ＜ＡＦＡＶＥｏｂｊｍａｘ・・・（５）
【０１０５】
式（５）において、ＡＦＡＶＥｏｂｊｍｉｎは目標平均空燃比ＡＦＡＶＥｏｂｊの最小値、ＡＦＡＶＥｏｂｊｍａｘは目標平均空燃比ＡＦＡＶＥｏｂｊの最大値である。また、目標平均空燃比最小値ＡＦＡＶＥｏｂｊｍｉｎおよび目標平均空燃比最大値ＡＦＡＶＥｏｂｊｍａｘは、固定値データとしてＲＯＭ２４に記憶されている。
【０１０６】
目標平均空燃比ＡＦＡＶＥｏｂｊの上下限制限処理によって、目標平均空燃比ＡＦＡＶＥｏｂｊが目標平均空燃比最小値ＡＦＡＶＥｏｂｊｍｉｎよりも小さい場合には、目標平均空燃比ＡＦＡＶＥｏｂｊが目標平均空燃比最小値ＡＦＡＶＥｏｂｊｍｉｎでガードされ、目標平均空燃比ＡＦＡＶＥｏｂｊが目標平均空燃比最大値ＡＦＡＶＥｏｂｊｍａｘよりも大きい場合には、目標平均空燃比ＡＦＡＶＥｏｂｊが目標平均空燃比最大値ＡＦＡＶＥｏｂｊｍａｘでガードされる。
そのため、過大な空燃比操作の発生を防止することができ、ドライバビリティの悪化を防止することができる。
また、目標平均空燃比ＡＦＡＶＥｏｂｊを、設計した平均空燃比ＡＦＡＶＥの移動可能幅以内に制限することで、制御系の安定性を高めることができる。
【０１０７】
また、目標平均空燃比最小値ＡＦＡＶＥｏｂｊｍｉｎおよび目標平均空燃比最大値ＡＦＡＶＥｏｂｊｍａｘは、運転条件毎に設定されてもよい。
これにより、運転条件によって変化する設計した平均空燃比ＡＦＡＶＥの移動可能幅に応じて目標平均空燃比ＡＦＡＶＥｏｂｊを演算することができる。また、運転条件によって変化するドライバビリティ上の要求に応じて目標平均空燃比ＡＦＡＶＥｏｂｊを演算することができる。
【０１０８】
なお、目標平均空燃比最小値ＡＦＡＶＥｏｂｊｍｉｎおよび目標平均空燃比最大値ＡＦＡＶＥｏｂｊｍａｘは、比例演算値最小値ＡＦＰｍｉｎおよび比例演算値最大値ＡＦＰｍａｘと同様に、車両が通常運転をしている場合の値と、車両が過渡運転をしている場合、および過渡運転の終了後所定期間が経過していない場合の値とが設定され、それぞれＲＯＭ２４に記憶されていてもよい。
これにより、車両が通常運転をしている場合には、ドライバビリティの悪化を防止することができ、車両が過渡運転をしている場合、および過渡運転の終了後所定期間が経過していない場合には、フィードバック制御の追従性能を向上させることができる。
【０１０９】
続いて、目標平均空燃比ＡＦＡＶＥｏｂｊを強制変動させる強制変動条件が成立しているか否かを判断する（ステップＳ９３）。
強制変動条件は、故障診断時および触媒の浄化特性の改善時等に成立しているとする。
ここで、故障診断には、触媒コンバータ１８、あるいは下流側Ｏ２センサ２１の故障診断がある。故障診断は、目標平均空燃比ＡＦＡＶＥｏｂｊに強制変動を加えた際に、下流側Ｏ２センサ２１のセンサ出力Ｖ２の波形をモニタすることによって実施することができる。
また、触媒の浄化特性の改善は、触媒上流側の空燃比の制御振幅、あるいは制御周期を変化させることによって実施することができる。
なお、故障診断時および触媒の浄化特性の改善時は、機関本体１の回転数、負荷、冷却水温ＴＨＷ、および加減速度等の運転条件から判定される。
【０１１０】
ステップＳ９３において、強制変動条件が成立している（すなわち、Ｙｅｓ）と判定された場合には、目標平均空燃比ＡＦＡＶＥｏｂｊに強制変動振幅ΔＡ／Ｆを加算して（ステップＳ９４）、図６の処理を終了する。
【０１１１】
ここで、強制変動振幅ΔＡ／Ｆは、正負の符号が、例えばΔＡ／Ｆ＝「＋０．２５」、もしくはΔＡ／Ｆ＝「−０．２５」に、所定の切り換え周期で切り換えられる。
図９は、この発明の実施の形態１に係る強制変動振幅ΔＡ／Ｆを加えた際の目標平均空燃比ＡＦＡＶＥｏｂｊを示す説明図である。
図９において、実線は、強制変動振幅ΔＡ／Ｆをステップ的に切り換えた場合における目標平均空燃比ＡＦＡＶＥｏｂｊを示している。また、点線、一点鎖線は、強制変動振幅ΔＡ／Ｆをある傾きを持って加えた際の目標平均空燃比ＡＦＡＶＥｏｂｊを示している。
【０１１２】
ここで、強制変動振幅ΔＡ／Ｆおよび所定の切り換え周期は、運転条件毎に設定されている。
これにより、運転条件によって変化する第２空燃比フィードバック制御手段３２内の応答遅れ、ドライバビリティ上の要求、および触媒の浄化特性に対する要求に応じて強制変動を実施することができる。
ここで、触媒コンバータ１８の故障診断時には、吸入空気量Ａｑに反比例して、特に触媒の酸素ストレージ能力により、応答遅れが変化するので、吸入空気量Ａｑに反比例して強制変動振幅ΔＡ／Ｆおよび所定の切り換え周期を設定するとよい。
また、強制変動が加えられる期間は、上記の比例ゲインＫｐ２は、積分ゲインＫｉ２を通常時の値から変更させてもよい。
【０１１３】
一方、ステップＳ９３において、強制変動条件が成立していない（すなわち、Ｎｏ）と判定された場合には、直ちに図６の処理を終了する。
また、ステップＳ８２において、閉ループ条件が成立していない（すなわち、Ｎｏ）と判定された場合には、次式（６）に基づいて、目標平均空燃比ＡＦＡＶＥｏｂｊ設定し（ステップＳ９５）、図６の処理を終了する。
【０１１４】
ＡＦＡＶＥｏｂｊ＝ＡＦＡＶＥ０＋ＡＦＩ・・・（６）
【０１１５】
なお、ステップＳ９５において、例えば車両の加減速度等の所定の条件によって、初期値ＡＦＡＶＥ０および積分演算値ＡＦＩに加え、所定値を加減算してもよい。
これにより、例えばＮＯｘ排出を抑制するために、所定値を減算して目標平均空燃比ＡＦＡＶＥｏｂｊをリッチ側に移動させたり、ＨＣ、ＣＯ排出を抑制するために、所定値を加算し目標平均空燃比ＡＦＡＶＥｏｂｊをリーン側に移動させたりすることができる。
【０１１６】
次に、図４のフローチャートに示した第１空燃比フィードバック制御ルーチンで演算された燃料補正係数ＦＡＦに応じて、機関本体１に供給する燃料供給量Ｑｆｕｅｌを演算する動作について説明する。
まず、燃料供給量Ｑｆｕｅｌは、次式（７）で表される。
【０１１７】
Ｑｆｕｅｌ＝Ｑｆｕｅｌ０×ＦＡＦ・・・（７）
【０１１８】
式（７）において、Ｑｆｕｅｌ０は基本燃料供給量であり、次式（８）で表される。
【０１１９】
Ｑｆｕｅｌ０＝Ａａｃｙｌ／ＡＦＳ・・・（８）
【０１２０】
式（８）において、Ａａｃｙｌは、エアフローメータ１２から出力された吸入空気量Ａｑに基づいて演算される機関本体１への供給空気量を示している。
ここで、基本燃料供給量Ｑｆｕｅｌ０は、次式（９）に示すように、目標平均空燃比ＡＦＡＶＥｏｂｊを用いて、フィードフォワード制御によって演算してもよい。
【０１２１】
Ｑｆｕｅｌ０＝Ａａｃｙｌ／ＡＦＡＶＥｏｂｊ・・・（９）
【０１２２】
本実施の形態では、触媒上流側の排気ガスの空燃比を目標平均空燃比ＡＦＡＶＥｏｂｊという指標で管理しているので、上記のようなフィードフォワード制御が可能となる。また、目標平均空燃比ＡＦＡＶＥｏｂｊが変化した際のフィードバック制御の追従遅れを改善することができるとともに、燃料補正係数ＦＡＦを中心付近に維持することができる。
また、この燃料補正係数ＦＡＦに基づいて、第１空燃比フィードバック制御手段３４の経時変化、あるいは生産バラツキを吸収するような学習制御が実行されるので、フィードフォワード制御によって燃料補正係数ＦＡＦが安定している方が、学習制御の精度が向上する。
なお、吸入空気量Ａｑは、スロットル弁９の下流側に設けられたブースト圧センサの出力および回転速度Ｎｅ、あるいはスロットル弁９の開度および回転速度Ｎｅに応じて演算されてもよい。
【０１２３】
次に、図３とともに、図１０のフローチャートを参照しながら、目標平均空燃比ＡＦＡＶＥｏｂｊを共通の指標として、変換手段３３がスキップ量ＲＳＲ、ＲＳＬ、積分定数ＫＩＲ、ＫＩＬ、遅延時間ＴＤＲ、ＴＤＬ、比較電圧ＶＲ１を演算する変換器演算ルーチンについて説明する。
なお、この演算ルーチンは、例えば５ｍｓ毎に実行される。
【０１２４】
まず、目標平均空燃比ＡＦＡＶＥｏｂｊに基づいて、一次元マップからスキップ量ＲＳＲを演算する（ステップＳ１０１）。
ここで、一次元マップには、後述する机上計算あるいは実験に基づいてあらかじめスキップ量ＲＳＲが設定されており、入力された目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、対応したスキップ量ＲＳＲがマップの検索結果として出力される。
また、一次元マップは、運転条件毎に複数枚設けられており、運転条件の変化に応じて一次元マップを切り換えてスキップ量ＲＳＲを演算する。
【０１２５】
ここで、運転条件は、前述のように第１空燃比フィードバック制御手段３４の応答性あるいは特性等に関する条件であり、例えば運転条件を所定の回転数、負荷、水温で区分けされた複数の運転ゾーンとして複数の一次元マップを作成することができる。
なお、必ずしも一次元マップを用いる必要はなく、近似式、より多くの入力に対応した高次元のマップ、および高次関数等の入出力の関係を表す手段を用いることによって、同様の効果を奏する。
【０１２６】
続いて、目標平均空燃比ＡＦＡＶＥｏｂｊに基づいて、ステップＳ１０１と同様に、スキップ量ＲＳＬを演算する（ステップＳ１０２）。
以下、目標平均空燃比ＡＦＡＶＥｏｂｊに基づいて、ステップＳ１０１と同様に、積分定数ＫＩＲ、ＫＩＬ、遅延時間ＴＤＲ、ＴＤＬ、比較電圧ＶＲ１を演算する（ステップＳ１０３〜Ｓ１０７）。
次に、後述する制御周期補正が実行され（ステップＳ１０８）、図１０の処理を終了する。
【０１２７】
このように、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて、制御定数であるスキップ量ＲＳＲ、ＲＳＬ、積分定数ＫＩＲ、ＫＩＬ、遅延時間ＴＤＲ、ＴＤＬ、比較電圧ＶＲ１がそれぞれ演算される。
一次元マップに設定されたそれぞれの制御定数に対する値は、実際の触媒上流側の排気ガスの平均空燃比ＡＦＡＶＥが、入力である目標平均空燃比ＡＦＡＶＥｏｂｊとなるように、あらかじめ、机上計算もしくは実験値に基づいて設定されている。
また、運転条件によって一次元マップに設定された値を変化させることによって、運転条件に関わらず、目標平均空燃比ＡＦＡＶＥｏｂｊと実際の触媒上流側の平均空燃比ＡＦＡＶＥとが一致するようにそれぞれの値を設定することができる。
【０１２８】
以下、制御定数と平均空燃比ＡＦＡＶＥとの関係を説明する。
前述のように、２つ以上の制御定数を同時に制御した場合の平均空燃比ＡＦＡＶＥの移動量は、それぞれの制御定数を単独で制御した場合の移動量どうしを単純に加算した値とならず、それぞれの制御定数を制御した場合の制御量、制御定数の組合せおよび動作点、あるいは運転条件によって変化する制御対象の特性等によって様々に変化する。
そのため、目標平均空燃比ＡＦＡＶＥｏｂｊを共通の指標として、スキップ量ＲＳＲ、ＲＳＬ、積分定数ＫＩＲ、ＫＩＬ、遅延時間ＴＤＲ、ＴＤＬ、比較電圧ＶＲ１を演算することにより、触媒上流側の排気ガスの平均空燃比ＡＦＡＶＥをきめ細かく制御することができる。
【０１２９】
まず、それぞれの制御定数を単独に制御した場合の平均空燃比ＡＦＡＶＥの挙動について説明する。
ここで、制御定数と平均空燃比ＡＦＡＶＥとの関係は、第１空燃比フィードバック制御手段３４の物理モデル化を行い、机上での数値演算によって、大体の傾向を把握することができる。
【０１３０】
図１１は、この発明の実施の形態１に係る第１空燃比フィードバック制御手段３４を物理モデル化して示す説明図である。
図１１において、第１空燃比フィードバック制御手段３４による燃料補正から、触媒上流側の空燃比までの燃料系の伝達関数Ｇ１（ｓ）をムダ時間＋一次遅れで近似すると、次式（１０）のように表される。
【０１３１】
Ｇ１（ｓ）＝ｅ＾（−Ｌｆ・ｓ）×１／（Ｔｆ・ｓ＋１）・・・（１０）
【０１３２】
式（１０）において、Ｌｆは燃料系のムダ時間であり、Ｔｆは燃料系の時定数であり、それぞれ運転条件によって変化する。
また、触媒上流側の空燃比から、上流側Ｏ２センサ２０までのＯ２センサの伝達関数Ｇ２（ｓ）を一次遅れ＋センサ静特性とすると、次式（１１）のように表される。
【０１３３】
Ｇ２（ｓ）＝１／（Ｔｏ・ｓ＋１）＊ｆ（ｕ）・・・（１１）
【０１３４】
式（１１）において、Ｔｏは上流側Ｏ２センサ２０の時定数であり、ｆ（ｕ）は上流側Ｏ２センサ２０の静特性である。ｆ（ｕ）は、前述の図２のような特性となる。
ここで、上流側Ｏ２センサ２０の時定数Ｔｏは、例えば比較電圧ＶＲ１の動作点によって変化するので、比較電圧ＶＲ１によって変化する時定数、Ｔｏ（ＶＲ１）とすることが望ましい。また、上流側Ｏ２センサ２０の静特性は、運転条件によって変化する素子温度に応じて変動する。
なお、物理モデルの各定数を運転条件に応じて実験的に同定することにより、机上の数値演算および解析によって、大体の傾向を把握することができる。
【０１３５】
しかしながら、物理モデルは、実現象を近似しているので、実際にはモデル化誤差を生じる。
すなわち、例えば燃料系の伝達関数Ｇ１（ｓ）は、ムダ時間＋一次遅れによって近似されているが、実際には、より高次の伝達関数となる。また、燃料系の時定数Ｔｆは、空燃比の動作点によって若干変化し、完全に一致させることが困難である。
そのため、最終的には、実験によって確認することが必要となる。
【０１３６】
以下、図１２〜図２２を参照しながら、それぞれの制御定数を単独で制御した場合の空燃比、制御周期、空燃比の制御振幅について説明する。
【０１３７】
図１２は、この発明の実施の形態１による積分定数ＫＩＲ、ＫＩＬを単独で制御した場合の平均空燃比ＡＦＡＶＥ（ａ）、制御周期（ｂ）および空燃比の制御振幅（ｃ）を示す説明図である。
図１２において、積分定数ＫＩＲ、ＫＩＬのバランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）を変化させることにより、実際の平均空燃比ＡＦＡＶＥは、単調減少で変化する。また、運転条件を変化させることによって、実線、点線および一点鎖線で示すように平均空燃比ＡＦＡＶＥが変化し、通常は非線形の特性を示す。
また、制御周期は、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）が「０．５」の対称設定である場合を中心として、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）が増加または減少するにつれて二次的に増加する。空燃比の制御振幅は、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）によってほとんど変化しない。
【０１３８】
図１３は、この発明の実施の形態１による積分定数ＫＩＲ、ＫＩＬを単独で制御した場合の平均空燃比ＡＦＡＶＥを示す別の説明図である。
図１３において、同じバランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）であっても、積分定数合計の大きさＫＩＲ＋ＫＩＬ、スキップ量合計の大きさＲＳＲ＋ＲＳＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、燃料系のムダ時間Ｌｆ、時定数Ｔｆ、およびＯ２センサの時定数Ｔｏをそれぞれ変化させることにより、実線、点線および一点鎖線で示すように、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）による効果が増減して平均空燃比ＡＦＡＶＥの移動量が増減する。
【０１３９】
このように、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）を変化させることにより、非線形な単調減少により平均空燃比ＡＦＡＶＥを操作することができるとともに、制御周期は、非対称設定が大きくなるにつれて２次的に増加するが、制御振幅があまり変化しない特性を得ることができる。
【０１４０】
図１４は、この発明の実施の形態１によるバランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）を「０．２」、「０．５」、「０．８」と変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
図１４において、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）を変化させることにより、空燃比Ａ／Ｆのリッチ側あるいはリーン側の滞在時間、および滞在量の比率が、比較電圧ＶＲ１に相当する空燃比Ａ／Ｆを中心として非対称になり、１制御周期あたりの平均空燃比ＡＦＡＶＥを、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）が「０．５」の対称設定である場合を中心として、リッチ側あるいはリーン側に操作することができる。
【０１４１】
ここで１制御周期は、リッチ側とリーン側とを規則的に繰り返すいわゆるリミットサイクルの１フィードバック周期であり、遅延後空燃比フラグＦ１が同じ方向に反転する間隔、あるいはスキップ量ＲＳＲを加算する間隔となる。
また、燃料補正係数ＦＡＦに対して、空燃比Ａ／Ｆの位相が遅れているのは、前述のムダ時間＋一次遅れによる燃料系の遅れによるものである。
【０１４２】
図１５は、この発明の実施の形態１によるスキップ量ＲＳＲ、ＲＳＬを単独で制御した場合の平均空燃比ＡＦＡＶＥ、制御周期および空燃比の制御振幅を示す説明図である。
図１５において、スキップ量ＲＳＲ、ＲＳＬのバランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）を変化させることにより、実際の平均空燃比ＡＦＡＶＥは、単調減少で変化する。また、運転条件を変化させることによって、実線、点線および一点鎖線で示すように平均空燃比ＡＦＡＶＥが変化し、通常は非線形の特性を示す。
また、制御周期は、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）が「０．５」の対称設定である場合を中心として、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）が増加または減少するにつれて一次的に増加する。空燃比の制御振幅も、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）が増加または減少するにつれて一次的に増加する。
【０１４３】
図１６は、この発明の実施の形態１によるスキップ量ＲＳＲ、ＲＳＬを単独で制御した場合の平均空燃比ＡＦＡＶＥを示す別の説明図である。
図１６において、同じバランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）であっても、積分定数合計の大きさＫＩＲ＋ＫＩＬ、スキップ量合計の大きさＲＳＲ＋ＲＳＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、燃料系のムダ時間Ｌｆ、時定数Ｔｆ、およびＯ２センサの時定数Ｔｏをそれぞれ変化させることにより、実線、点線および一点鎖線で示すように、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）による効果が増減して平均空燃比ＡＦＡＶＥの移動量が増減する。
【０１４４】
このように、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）を変化させることにより、非線形な単調減少により平均空燃比ＡＦＡＶＥを操作することができるとともに、制御周期および制御振幅は、非対称設定が大きくなるにつれて一次的に増加する特性を得ることができる。
【０１４５】
図１７は、この発明の実施の形態１によるバランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）を「０．２」、「０．５」、「０．８」と変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
図１７において、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）を変化させることにより、空燃比Ａ／Ｆのリッチ側あるいはリーン側の滞在時間、および滞在量の比率が、比較電圧ＶＲ１に相当する空燃比Ａ／Ｆを中心として非対称になり、１制御周期あたりの平均空燃比ＡＦＡＶＥを、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）が「０．５」の対称設定である場合を中心として、リッチ側あるいはリーン側に操作することができる。
【０１４６】
図１８は、この発明の実施の形態１による遅延時間ＴＤＲ、ＴＤＬを単独で制御した場合の平均空燃比ＡＦＡＶＥ、制御周期および空燃比の制御振幅を示す説明図である。
図１８において、遅延時間ＴＤＲ、ＴＤＬのバランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）を変化させることにより、実際の平均空燃比ＡＦＡＶＥは、単調減少で変化する。また、運転条件を変化させることによって、実線、点線および一点鎖線で示すように平均空燃比ＡＦＡＶＥが変化し、通常はほぼ線形の特性を示す。
また、制御周期は、バランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）が「０．５」の対称設定である場合を中心として、バランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）を変化させてもほとんど変化しない。空燃比の制御振幅も、バランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）によってほとんど変化しない。
【０１４７】
図１９は、この発明の実施の形態１による遅延時間ＴＤＲ、ＴＤＬを単独で制御した場合の平均空燃比ＡＦＡＶＥを示す別の説明図である。
図１９において、同じバランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）であっても、積分定数合計の大きさＫＩＲ＋ＫＩＬ、スキップ量合計の大きさＲＳＲ＋ＲＳＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、燃料系のムダ時間Ｌｆ、時定数Ｔｆ、およびＯ２センサの時定数Ｔｏをそれぞれ変化させることにより、実線、点線および一点鎖線で示すように、バランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）による効果が増減して平均空燃比ＡＦＡＶＥの移動量が増減する。
【０１４８】
このように、バランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）を変化させることにより、非線形な単調減少により平均空燃比ＡＦＡＶＥを操作することができるとともに、制御周期および制御振幅は、あまり変化しない特性を得ることができる。
【０１４９】
図２０は、この発明の実施の形態１によるバランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）を「０．２」、「０．５」、「０．８」と変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
図２０において、バランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）を変化させることにより、空燃比Ａ／Ｆのリッチ側あるいはリーン側の滞在時間、および滞在量の比率が、比較電圧ＶＲ１に相当する空燃比Ａ／Ｆを中心として非対称になり、１制御周期あたりの平均空燃比ＡＦＡＶＥを、バランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）が「０．５」の対称設定である場合を中心として、リッチ側あるいはリーン側に操作することができる。
【０１５０】
図２１は、この発明の実施の形態１による比較電圧ＶＲ１を単独で制御した場合の平均空燃比ＡＦＡＶＥ、制御周期および空燃比の制御振幅を示す説明図である。
図２１において、比較電圧ＶＲ１を変化させることにより、実際の平均空燃比ＡＦＡＶＥは、図２に示す上流側Ｏ２センサ２０の出力特性に従って、単調減少で変化する。すなわち、比較電圧ＶＲ１と平均空燃比ＡＦＡＶＥとの関係は、上流側Ｏ２センサ２０の静特性にほぼ等しくなる。
また、運転条件を変化させることによって、実線、点線および一点鎖線で示すように平均空燃比ＡＦＡＶＥが変化するが、比較電圧ＶＲ１が０．２５Ｖ〜０．６５Ｖの間の値を示す場合には、それぞれ線形に近い特性を示す。
一般的に、比較電圧ＶＲ１が０．４５Ｖの場合に、理論空燃比ＡＦＳ付近である対称設定となり、比較電圧ＶＲ１が０．４５Ｖの場合を中心として変化させることにより、比較電圧ＶＲ１のバランス設定が変化する。
【０１５１】
また、制御周期は、比較電圧ＶＲ１が０．２５Ｖ〜０．６５Ｖの間の値を示す場合には、ほとんど変化しないが、比較電圧ＶＲ１が上記の範囲を外れると、次第に小さくなる。空燃費の制御振幅も、比較電圧ＶＲ１が０．２５Ｖ〜０．６５Ｖの間の値を示す場合には、ほとんど変化しないが、比較電圧ＶＲ１が上記の範囲を外れると、次第に小さくなる。
制御周期および制御振幅の変化は、比較電圧ＶＲ１の動作点に応じて上流側Ｏ２センサ２０の応答遅れが変化することによって生じる。
【０１５２】
このように、比較電圧ＶＲ１を対称設定である０．４５Ｖから変化させることにより、上流側Ｏ２センサ２０の出力特性に従って平均空燃比ＡＦＡＶＥを操作することができるとともに、制御周期および制御振幅は、比較電圧ＶＲ１が０．２５Ｖ〜０．６５Ｖの範囲を外れると、次第に小さくなる特性を得ることができる。
【０１５３】
図２２は、この発明の実施の形態１による比較電圧ＶＲ１を０．２５Ｖ、０．４５Ｖ、０．６５Ｖと変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
図２２において、比較電圧ＶＲ１のバランス設定を変化させることにより、１制御周期あたりの平均空燃比ＡＦＡＶＥを、比較電圧ＶＲ１が０．４５Ｖの対称設定である場合を中心として、リッチ側あるいはリーン側に操作することができる。
【０１５４】
ここで、それぞれの制御定数を単独で制御した場合の平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥについて説明する。
まず、積分定数ＫＩＲ、ＫＩＬについては、制御定数の設定値、あるいは運転条件によって変化するものの、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）が過大にならない例えば「０．３」〜「０．７」の範囲において、平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥは、「０．３」程度となる。
【０１５５】
また、スキップ量ＲＳＲ、ＲＳＬについても、積分定数ＫＩＲ、ＫＩＬと同様にして、平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥは、０．３程度となる。
また、遅延時間ＴＤＲ、ＴＤＬについても、積分定数ＫＩＲ、ＫＩＬと同様にして、平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥは、「０．０５」程度となる。
比較電圧ＶＲ１については、比較電圧ＶＲ１が０．２５Ｖ〜０．６５Ｖの間の値を示す場合において、平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥは、０．１程度となる。
【０１５６】
平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥを大きくすることができれば、下流側Ｏ２センサ２１による第２空燃比フィードバック制御の制御性能を向上させることができるので、移動幅ΔＡＦＡＶＥは、できるだけ大きく設定されることが望ましい。ここでは、例えば移動幅ΔＡＦＡＶＥ＝０．５に設定されている。
ここで、移動幅ΔＡＦＡＶＥ＝０．５を実現しようとすると、それぞれの制御定数を単独で制御するだけでは実現できず、２つ以上の制御定数を制御することが必要なことがわかる。
また、それぞれの制御定数のバランス設定が過大になると、制御周期および空燃比の制御振幅が大きくなり、挙動の歪みが大きくなるので、バランス設定は、できるだけ小さく設定されることが望ましい。そこで、できるだけ多くの制御定数を制御することにより、それぞれの制御定数のバランス設定を過大にすることなく必要な平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥを実現することができる。
【０１５７】
しかしながら、前述のように、２つ以上の制御定数を同時に制御した場合の平均空燃比ＡＦＡＶＥの移動量は、それぞれの制御定数を単独で制御した場合の移動量どうしを単純に加算した値とならない。
以下に、２つ以上の制御定数を同時に制御した場合の平均空燃比ＡＦＡＶＥの挙動について説明する。
【０１５８】
図２３は、この発明の実施の形態１による積分定数ＫＩＲ、ＫＩＬと、スキップ量ＲＳＲ、ＲＳＬとを同時に制御した場合（実線）と、それぞれを単独に制御して結果を単純に加算した場合（一点鎖線）との平均空燃比ＡＦＡＶＥ（ａ）、制御周期（ｂ）および空燃比の制御振幅（ｃ）を比較して示す説明図である。
図２３において、積分定数ＫＩＲ、ＫＩＬと、スキップ量ＲＳＲ、ＲＳＬとを同時に制御した場合には、相互作用により、平均空燃比ＡＦＡＶＥ、制御周期および空燃比の制御振幅がそれぞれ増加することがわかる。
【０１５９】
図２４は、この発明の実施の形態１による積分定数ＫＩＲ、ＫＩＬと、スキップ量ＲＳＲ、ＲＳＬとを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比ＡＦＡＶＥの増加率を示す説明図である。
図２４において、平均空燃比ＡＦＡＶＥの増加率は、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）およびバランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）の動作点によって、非線形に増減する。
この相互作用による平均空燃比ＡＦＡＶＥの移動量の増減は、積分定数合計の大きさＫＩＲ＋ＫＩＬ、スキップ量合計の大きさＲＳＲ＋ＲＳＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、比較電圧ＶＲ１の動作点、バランス設定の動作点、制御対象の応答性、運転条件により変化する。
【０１６０】
図２５は、この発明の実施の形態１によるバランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）およびバランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）を同時にそれぞれ「０．２」、「０．５」、「０．８」と変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
図２５において、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）およびバランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）を同時に変化させることにより、空燃比Ａ／Ｆのリッチ側あるいはリーン側の滞在時間、および滞在量の比率の非対称性が大幅に増加しており、また、空燃比Ａ／Ｆの挙動の非線形な歪みが大幅に増加している。
【０１６１】
図２６は、この発明の実施の形態１による積分定数ＫＩＲ、ＫＩＬと、比較電圧ＶＲ１とを同時に制御した場合（実線）と、それぞれを単独に制御して結果を単純に加算した場合（一点鎖線）との平均空燃比ＡＦＡＶＥ（ａ）、制御周期（ｂ）および空燃比の制御振幅（ｃ）を比較して示す説明図である。
図２６において、比較電圧ＶＲ１が、線形に近い特性を示す０．２５Ｖ〜０．６５Ｖの範囲を外れると、制御周期および制御振幅が次第に小さくなるので、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）による効果が減少して平均空燃比ＡＦＡＶＥの移動量も減少し、相互作用により、平均空燃比ＡＦＡＶＥ、制御周期および空燃比の制御振幅がそれぞれ減少することがわかる。
【０１６２】
図２７は、この発明の実施の形態１による積分定数ＫＩＲ、ＫＩＬと、比較電圧ＶＲ１とを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比ＡＦＡＶＥの増加率を示す説明図である。
図２７において、平均空燃比ＡＦＡＶＥの増加率は、バランス設定ＫＩＲ／（ＫＩＲ＋ＫＩＬ）および比較電圧ＶＲ１の動作点によって、非線形に増減する。
この相互作用による平均空燃比ＡＦＡＶＥの移動量の増減は、積分定数合計の大きさＫＩＲ＋ＫＩＬ、スキップ量合計の大きさＲＳＲ＋ＲＳＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、比較電圧ＶＲ１の動作点、バランス設定の動作点、制御対象の応答性、運転条件により変化する。
【０１６３】
図２８は、この発明の実施の形態１によるスキップ量ＲＳＲ、ＲＳＬと、遅延時間ＴＤＲ、ＴＤＬとを同時に制御した場合（実線）と、それぞれを単独に制御して結果を単純に加算した場合（一点鎖線）との平均空燃比ＡＦＡＶＥ（ａ）、制御周期（ｂ）および空燃比の制御振幅（ｃ）を比較して示す説明図である。
図２８において、スキップ量ＲＳＲ、ＲＳＬと、遅延時間ＴＤＲ、ＴＤＬとを同時に制御した場合には、相互作用により、平均空燃比ＡＦＡＶＥ、制御周期および空燃比の制御振幅がそれぞれ増加することがわかる。
【０１６４】
図２９は、この発明の実施の形態１によるスキップ量ＲＳＲ、ＲＳＬと、遅延時間ＴＤＲ、ＴＤＬとを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比ＡＦＡＶＥの増加率を示す説明図である。
図２９において、平均空燃比ＡＦＡＶＥの増加率は、バランス設定ＲＳＲ／（ＲＳＲ＋ＲＳＬ）およびバランス設定ＴＤＲ／（ＴＤＲ＋ＴＤＬ）の動作点によって、非線形に増減する。
この相互作用による平均空燃比ＡＦＡＶＥの移動量の増減は、積分定数合計の大きさＫＩＲ＋ＫＩＬ、スキップ量合計の大きさＲＳＲ＋ＲＳＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、比較電圧ＶＲ１の動作点、バランス設定の動作点、制御対象の応答性、運転条件により変化する。
【０１６５】
このように、２つ以上の制御定数を同時に制御した場合には、それぞれの制御定数の変化が互いに影響を及ぼすので、相互作用が生じる。
また、平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥをより広げるために、より多くの制御定数を同時に制御するほど、相互作用は複雑になる。
そのため、統一した指標を用いて管理することが必要となる。
【０１６６】
次に、目標平均空燃比ＡＦＡＶＥｏｂｊに応じた制御定数の設定について説明する。
目標平均空燃比ＡＦＡＶＥｏｂｊを実現するための制御定数は、物理モデルを用いた机上での数値演算、あるいは実験的手法を用いて設定することができる。
例えば、物理モデルを用いた机上での数値演算によって定数をあらかじめ設定し、実験的手法を用いて最終的な誤差を修正してもよい。何れにしても、比較的簡単な誤差修正方法で、目標平均空燃比ＡＦＡＶＥｏｂｊと実際の平均空燃比ＡＦＡＶＥとを一致させることができる。
【０１６７】
本実施の形態では、まず、目標平均空燃比ＡＦＡＶＥｏｂｊから制御定数を演算する一次元マップにそれぞれ適当な初期値をあらかじめ設定し、図１０に示した変換器演算ルーチンに基づいて、目標平均空燃比ＡＦＡＶＥｏｂｊ毎に制御定数を演算するとともに、実際の平均空燃比ＡＦＡＶＥを机上での数値演算、あるいは実験的手法によって求める。
続いて、目標平均空燃比ＡＦＡＶＥｏｂｊ毎に実際の平均空燃比ＡＦＡＶＥとの誤差を求め、適当な定数を乗じることにより、この誤差を減少させるように目標平均空燃比ＡＦＡＶＥｏｂｊ毎に一次元マップの設定値を修正する。
このとき、例えば平均空燃比ＡＦＡＶＥの移動幅ΔＡＦＡＶＥが比較的小さな比較電圧ＶＲ１、あるいは遅延時間ＴＤＲ、ＴＤＬの一次元マップをあらかじめ設定した値に固定しておき、移動幅ΔＡＦＡＶＥが比較的大きな積分定数ＫＩＲ、ＫＩＬ、あるいはスキップ量ＲＳＲ、ＲＳＬの一次元マップを修正する等の工夫をすることによって、より簡単に誤差を修正することができる。
【０１６８】
また、目標平均空燃比ＡＦＡＶＥｏｂｊを統一した指標として制御定数を設定することにより、平均空燃比ＡＦＡＶＥの移動量を保持したままで、平均空燃比ＡＦＡＶＥの動作点に応じて、それぞれの制御定数の利点を最大限に引き出すように適切な制御定数を組み合わせ、平均空燃比ＡＦＡＶＥの移動量をきめ細かく制御することができる。
【０１６９】
図３０は、この発明の実施の形態１による目標平均空燃比ＡＦＡＶＥｏｂｊに対する積分定数ＫＩＲ、ＫＩＬの特性（ａ）〜（ｄ）、目標平均空燃比ＡＦＡＶＥｏｂｊに対する遅延時間ＴＤＲ、ＴＤＬの特性（ｅ）〜（ｈ）、および目標平均空燃比ＡＦＡＶＥｏｂｊに対する実平均空燃比（ｉ）、制御周期（ｊ）および空燃比の制御振幅（ｋ）を示す第１の説明図である。
図３０において、実線に示すように、平均空燃比ＡＦＡＶＥの移動量が小さい間は、移動幅ΔＡＦＡＶＥが比較的小さく、制御周期および制御振幅の変化が少ない遅延時間ＴＤＲ、ＴＤＬのバランス設定を大きくする。また、このとき、移動幅ΔＡＦＡＶＥが比較的大きな積分定数ＫＩＲ、ＫＩＬのバランス設定を小さくする。
なお、一点鎖線は、通常設定を示している。また、遅延時間ＴＤＲ、ＴＤＬの代わりに、比較電圧ＶＲ１のバランス設定を大きくしても、同様の効果を奏することができる。また、積分定数ＫＩＲ、ＫＩＬの代わりに、スキップ量ＲＳＲ、ＲＳＬのバランス設定を小さくしても、同様の効果を奏することができる。
【０１７０】
上記のように制御定数を設定することにより、平均空燃比ＡＦＡＶＥの移動量をきめ細かく制御して理論空燃比ＡＦＳ付近の平均空燃比ＡＦＡＶＥの制御精度を向上させることができるとともに、制御周期の増加を少なくすることができ、外乱に対する整定性能の悪化を防止することができる。
一方、平均空燃比ＡＦＡＶＥの移動量が大きくなるにつれ、移動幅ΔＡＦＡＶＥが比較的大きな積分定数ＫＩＲ、ＫＩＬ、あるいはスキップ量ＲＳＲ、ＲＳＬのバランス設定を大きくすることにより、平均空燃比ＡＦＡＶＥの移動量を確保することができる。
【０１７１】
図３１は、この発明の実施の形態１による目標平均空燃比ＡＦＡＶＥｏｂｊに対する積分定数ＫＩＲ、ＫＩＬの特性（ａ）〜（ｄ）、目標平均空燃比ＡＦＡＶＥｏｂｊに対する遅延時間ＴＤＲ、ＴＤＬの特性（ｅ）〜（ｈ）、および目標平均空燃比ＡＦＡＶＥｏｂｊに対する実平均空燃比（ｉ）、制御周期（ｊ）および空燃比の制御振幅（ｋ）を示す第２の説明図である。
図３１において、実線に示すように、平均空燃比ＡＦＡＶＥの移動量が小さい間は、積分定数合計の大きさＫＩＲ＋ＫＩＬ、および遅延時間合計の大きさＴＤＲ＋ＴＤＬを小さく設定する。
なお、一点鎖線は、通常設定を示している。また、積分定数合計の大きさＫＩＲ＋ＫＩＬ、および遅延時間合計の大きさＴＤＲ＋ＴＤＬを小さく設定するとともに、スキップ量合計の大きさＲＳＲ＋ＲＳＬを小さくしても、同様の効果を奏することができる。
ここで、積分定数合計の大きさＫＩＲ＋ＫＩＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、およびスキップ量合計の大きさＲＳＲ＋ＲＳＬを小さく設定すると、同じバランス設定であっても平均空燃比ＡＦＡＶＥの移動量が小さくなるので、同じ移動量を確保するために、バランス設定を大きくする。
【０１７２】
一方、平均空燃比ＡＦＡＶＥの移動量が大きくなるにつれ、積分定数合計の大きさＫＩＲ＋ＫＩＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、および遅延時間合計の大きさＴＤＲ＋ＴＤＬを増加させていく。
これにより、同じバランス設定でも移動量を増加させることができる。
【０１７３】
上記のように制御定数を設定することにより、理論空燃比ＡＦＳ付近の制御周期が大きくなり、外乱整定性能は悪化するものの、制御振幅を小さく設定することができるので、トルク変動量が小さくなり、ドライバビリティの悪化を防止することができる。
一方、平均空燃比ＡＦＡＶＥの移動量が大きくなるにつれ、積分定数合計の大きさＫＩＲ＋ＫＩＬ、遅延時間合計の大きさＴＤＲ＋ＴＤＬ、および遅延時間合計の大きさＴＤＲ＋ＴＤＬを大きく設定することにより、平均空燃比ＡＦＡＶＥの移動量を確保することができる。
【０１７４】
図３２は、この発明の実施の形態１による目標平均空燃比ＡＦＡＶＥｏｂｊに対する積分定数ＫＩＲ、ＫＩＬの特性（ａ）〜（ｄ）、目標平均空燃比ＡＦＡＶＥｏｂｊに対する遅延時間ＴＤＲ、ＴＤＬの特性（ｅ）〜（ｈ）、および目標平均空燃比ＡＦＡＶＥｏｂｊに対する実平均空燃比（ｉ）、制御周期（ｊ）および空燃比の制御振幅（ｋ）を示す第３の説明図である。
【０１７５】
図３２において、平均空燃比ＡＦＡＶＥの移動量が小さい間は、遅延時間ＴＤＲ、ＴＤＬのバランス設定を大きくして、積分定数ＫＩＲ、ＫＩＬのバランス設定を小さくする。また、このとき、積分定数合計の大きさＫＩＲ＋ＫＩＬ、および遅延時間合計の大きさＴＤＲ＋ＴＤＬを小さく設定する。
一方、平均空燃比ＡＦＡＶＥの移動量が大きくなるにつれ、積分定数ＫＩＲ、ＫＩＬのバランス設定を大きくするとともに、積分定数合計の大きさＫＩＲ＋ＫＩＬ、および遅延時間合計の大きさＴＤＲ＋ＴＤＬを大きく設定する。
【０１７６】
上記のように制御定数を設定することにより、理論空燃比ＡＦＳ付近の平均空燃比ＡＦＡＶＥの制御精度を向上させることができるとともに、制御周期および制御振幅の変化をバランスよく少なくすることができ、ドライバビリティの悪化を防止することができる。
また、平均空燃比ＡＦＡＶＥの移動量が大きくなるにつれて、平均空燃比ＡＦＡＶＥの移動量を確保することができる。
【０１７７】
ここで、上記のような制御定数の自由度を生かした味付けを運転条件によって変更する。
すなわち、例えばアイドリング時は、図３１のように理論空燃比ＡＦＳ付近で制御振幅を小さくして、トルク変動の小さいドライバビリティを重視するように制御定数を設定する。また、中負荷時には、図３２のように理論空燃比ＡＦＳ付近で制御周期および制御振幅を小さくして、外乱に対する整定性能およびドライバビリティをバランスよく向上するように制御定数を設定する。また、高負荷時には、触媒の浄化負担が大きくなるので、平均空燃比ＡＦＡＶＥの動作点全域にわたり、平均空燃比ＡＦＡＶＥの制御精度が高くなるように、多くの制御定数を操作し、また、平均空燃比ＡＦＡＶＥの変化に対して連続的な変化となるように制御定数を設定する。
これにより、運転条件に応じて、それぞれの制御定数の利点を最大限に引き出すように、適切な制御定数を組み合わせることができる。
【０１７８】
次に、図１０とともに、図３３のフローチャートを参照しながら、図１０のステップＳ１０８に示した制御周期補正を演算する制御周期補正演算ルーチンについて説明する。
なお、この演算ルーチンは、例えば５ｍｓ毎に実行される。
【０１７９】
例えば、経時変化、あるいは生産バラツキによって、第１空燃比フィードバック制御手段３４内の応答遅れが変化した場合には、それぞれの制御定数のバランス設定が同じであっても、平均空燃比ＡＦＡＶＥの移動量に変化が生じる。変化する応答遅れとしては、燃料系のムダ時間Ｌｆ、あるいは時定数Ｔｆの変化によって生じる燃料補正から触媒上流側の空燃比までの燃料系の応答遅れと、上流側Ｏ２センサ２０の時定数Ｔｏの変化によって生じる触媒上流側の空燃比から上流側Ｏ２センサ２０までのＯ２センサの応答遅れとがある。
【０１８０】
燃料系の応答遅れの変化は、噴射された燃料が燃焼室４内の壁面に付着してから蒸発するまでの遅れの変化等によって引き起こされる。また、Ｏ２センサの応答遅れの変化は、経時変化、あるいは生産バラツキ等によって引き起こされる。上流側Ｏ２センサ２０は、高温雰囲気、被毒などの経時変化が大きく、応答遅れ変化が比較的大きい。
【０１８１】
ここで、応答遅れの変化は、制御周期の変化によって検出することができる。すなわち、応答遅れが大きくなると、フィードバック制御中の遅れが大きくなり、制御周期も大きくなる。応答遅れの変化量は、計測した制御周期（計測制御周期）と、基準の制御周期（基準制御周期）とを比較することによって演算することができる。
従って、応答遅れの変化量に応じて制御定数を補正することにより、平均空燃比ＡＦＡＶＥの移動量に変化が生じることを防止することができる。
【０１８２】
まず、制御周期を計測する（ステップＳ１１１）。
制御周期は、平均空燃比ＡＦＡＶＥの移動方向をリッチ側とリーン側とで切り換える間隔、すなわちスキップ量ＲＳＬを加算する間隔、スキップ量ＲＳＲを加算する間隔、あるいは図５に示したｔ２からｔ８の間隔であり、コントローラ２２内に設けられたタイマー（図示せず）によって計測される。
【０１８３】
続いて、基準制御周期を演算する（ステップＳ１１２）。
基準制御周期とは、経時変化、あるいは生産バラツキがない場合の制御周期であり、実験的に設定することができる。
このとき、制御定数のバランス設定に応じて制御周期が変化するため、基準制御周期は、制御定数のバランス設定を考慮して設定する必要がある。
また、制御定数のバランス設定は、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて設定されるが、基準制御周期は、図３４（ａ）および（ｂ）に示すように、目標平均空燃比ＡＦＡＶＥｏｂｊ、あるいはバランス設定に応じて記憶される。すなわち、例えば制御定数を設定した運転条件毎に一次元マップを設けて設定する。
【０１８４】
次に、制御周期変化量の更新条件が成立しているか否かを判定する（ステップＳ１１３）。
制御周期変化量の更新条件は、第１空燃比フィードバック制御が定常的に実行されている場合に成立しているとする。例えば、第１空燃比フィードバック制御の開始後所定の制御周期が経過した場合、制御定数を設定している運転条件の切り替わり後所定の制御周期が経過した場合、あるいは冷却水温ＴＨＷが所定の温度以上である場合等に制御周期変化量の更新条件が成立しているとする。
ここで、所定の制御周期および所定の温度は、任意に設定される。
【０１８５】
ステップＳ１１３において、制御周期変化量の更新条件が成立している（すなわち、Ｙｅｓ）と判定された場合には、制御周期変化量を更新する（ステップＳ１１４）。
ここでは、まず基準制御周期と計測制御周期とを比較して変化量を演算する。この変化量は、制御周期の比率、あるいは偏差から演算する。第１空燃比フィードバック制御は、常に各種の外乱の影響を受けるので、計測制御周期は一時的に変動し、制御周期変化量も一時的に変動する。そこで、この一時的な変動を軽減するために、変化量にフィルタ処理、あるいは学習制御が加えられる。
【０１８６】
また、応答遅れの変化は、運転条件に応じて変化する。そのため、フィルタ処理値、あるいは学習値を運転条件毎にバックアップＲＡＭ２６に記憶しておき、運転条件の切り替わりに応じてフィルタ処理値、あるいは学習値を切り替える。
これにより、内燃機関の停止あるいは再始動時にフィルタ処理値、あるいは学習値がリセットされて、制御性能が悪化することを防止することができる。
なお、ここで、フィルタ処理値、あるいは学習値を制御周期変化量とする。
【０１８７】
一方、ステップＳ１１３において、制御周期変化量の更新条件が成立していない（すなわち、Ｎｏ）と判定された場合には、直ちにステップＳ１１５に移行する。
【０１８８】
続いて、制御定数の補正量を演算する（ステップＳ１１５）。
ここでは、制御周期変化量に応じてそれぞれの制御定数の補正量を演算する。例えば、制御定数を設定した運転条件毎に一次元マップを設けて、制御定数の補正量を設定する。
補正量は、制御周期に応じて変化する平均空燃比ＡＦＡＶＥの移動量を打ち消すように設定する。例えば、強制的に応答遅れの変化を与え、目標平均空燃比ＡＦＡＶＥｏｂｊ毎に、制御周期の変化量、および平均空燃比ＡＦＡＶＥの移動量の変化を求めることにより、制御定数の補正量を求めることができる。
また、補正量は、単純に測定した平均空燃比ＡＦＡＶＥと目標平均空燃比ＡＦＡＶＥｏｂｊの比率、偏差から求めることもでき、実験もしくは物理モデルを用いた数値演算により確認し、微調整することもできる。
なお、補正する制御定数と補正しない制御定数とを予め決めておき、補正する制御定数のみ補正量を設定してもよい。
【０１８９】
次に、掛け算あるいは足し算等の四則演算により、制御定数の補正量を用いて制御定数を補正して（ステップＳ１１６）、図３３の処理を終了する。
なお、上記ステップＳ１１５、Ｓ１１６において、制御定数の補正量を演算し、補正量に基づいて制御定数を補正したが、これに限定されず、ここで目標平均空燃比ＡＦＡＶＥｏｂｊの補正量を演算してもよい。
目標平均空燃比ＡＦＡＶＥｏｂｊを補正する場合でも、平均空燃比ＡＦＡＶＥの移動量を打ち消すように制御定数を変更できるので、制御定数を補正する場合と同様の効果を奏することができる。
【０１９０】
以下、図３５〜図３８を参照しながら、本実施の形態による平均空燃比ＡＦＡＶＥの挙動を従来技術と比較して説明する。
まず、ここでは、第２空燃比フィードバック制御手段３２をＰＩ制御器として、図３５のタイミングチャートに示すように、比例ゲインＫｐ２および積分ゲインＫｉ２が単純な固定ゲインである場合の挙動について説明する。
すなわち、比例移動量Ｋｐ２（ΔＶ２）をＫｐ２×ΔＶ２とし、積分移動量Σ（Ｋｉ２（ΔＶ２））をΣ（Ｋｉ２×ΔＶ２）とする。
【０１９１】
図３６は、２つ以上の制御定数（すなわち、例えばスキップ量ＲＳＲ、ＲＳＬおよび積分定数ＫＩＲ、ＫＩＬ）を、図３５に示した第２空燃比フィードバック制御によって、従来技術を用いてそれぞれ制御した場合の平均空燃比ＡＦＡＶＥの挙動を示すタイミングチャートである。
図３６において、２つ以上の制御定数を同時に操作することによって前述の相互作用が生じ、運転条件を変化させることにより、実線、点線および一点鎖線で示すように平均空燃比ＡＦＡＶＥの挙動が変化する。
【０１９２】
この制御定数の相互作用は、それぞれの制御定数の設定値、制御定数の組合せ、それぞれの制御定数のバランス設定の動作点、および運転条件に応じて変化する制御対象の応答性等によって非線形に様々な変化を示す。
そのため、従来技術のように、統一した管理指標を設定せずに２つ以上の制御定数を同時に操作した場合には、この相互作用の影響を制御することができない。
【０１９３】
そのため、フィードバック制御のゲインが変動して、第２空燃比フィードバック制御によって制御される平均空燃比ＡＦＡＶＥの移動量が変動し、一点鎖線に示すようにハンチングを生じたり、点線に示すように追従不足が生じたりして、第２空燃比フィードバック制御が不安定となる。
【０１９４】
図３７は、この発明の実施の形態１による平均空燃比ＡＦＡＶＥの挙動を示す第１のタイミングチャートである。
図３７において、まず第２空燃比フィードバック制御によって、統一した管理指標である目標平均空燃比ＡＦＡＶＥｏｂｊが演算される。
また、変換手段３３によって、目標平均空燃比ＡＦＡＶＥｏｂｊから、少なくとも２つ以上の制御定数（すなわち、例えばスキップ量ＲＳＲ、ＲＳＬおよび積分定数ＫＩＲ、ＫＩＬ）が一次元マップにより演算される。
【０１９５】
ここで、制御定数の設定値は、あらかじめ運転条件等によって変化する上記の相互作用を反映して設定されている。
そのため、平均空燃比ＡＦＡＶＥの挙動は、実線、点線および一点鎖線で示すように、運転条件によって変化せず、常に安定した第２空燃比フィードバック制御を実施することができる。
【０１９６】
図３８は、この発明の実施の形態１による平均空燃比ＡＦＡＶＥの挙動を示す第２のタイミングチャートである。
図３８において、実線に示すように、制御定数は、目標平均空燃比ＡＦＡＶＥｏｂｊの動作点に応じて設定されている。すなわち、図３０に示すように、平均空燃比ＡＦＡＶＥの移動量が小さい間は、遅延時間ＴＤＲ、ＴＤＬのバランス設定を大きくし、平均空燃比ＡＦＡＶＥの移動量が大きくなるにつれて、積分定数ＫＩＲ、ＫＩＬのバランス設定を大きく設定している。
したがって、平均空燃比ＡＦＡＶＥの移動量を維持したままで、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて制御周期および空燃比の制御振幅を調整することができる。
一方、一点鎖線に示すように、統一した管理指標を設定しない従来技術の場合には、平均空燃比ＡＦＡＶＥの移動量を維持したままで、制御定数の制御量および組合せを平均空燃比ＡＦＡＶＥの動作点に応じて設定することが困難である。
【０１９７】
このように、第２空燃比フィードバック制御によって、統一した管理指標である目標平均空燃比ＡＦＡＶＥｏｂｊが演算され、制御手段によって、目標平均空燃比ＡＦＡＶＥｏｂｊから少なくとも２つ以上の制御定数が演算される。
そのため、平均空燃比ＡＦＡＶＥの移動量を維持したままで、それぞれの制御定数の自由度を生かして、制御定数の利点（例えば、平均空燃比ＡＦＡＶＥの制御精度、移動幅、制御周期および空燃比の制御振幅等）を最大限に引き出すように適切な制御手数を組合せ、平均空燃比ＡＦＡＶＥの移動量をきめ細かく制御することができる。
【０１９８】
図３９は、この発明の実施の形態１によるフィードフォワード制御を用いて燃料供給量を制御する場合の平均空燃比ＡＦＡＶＥの挙動を示すタイミングチャートである。
なお、ここでは、目標平均空燃比ＡＦＡＶＥｏｂｊがリッチ側にステップ的に変化する前後の挙動を示している。
図３９において、実線は、フィードフォワード制御を用いた場合における平均空燃比ＡＦＡＶＥの挙動を示している。また、一点鎖線は、フィードフォワード制御を用いない場合における平均空燃比ＡＦＡＶＥの挙動を示している。
【０１９９】
ここで、目標平均空燃比ＡＦＡＶＥｏｂｊが変化した直後の１制御周期における平均空燃比ＡＦＡＶＥは、フィードフォワード制御を用いた場合の方が、フィードフォワード制御を用いない場合よりも追従速度が速くなっている。
また、燃料補正係数ＦＡＦは、フィードフォワード制御を用いた場合には、中心付近で安定しているが、フィードフォワード制御を用いない場合には、平均空燃比ＡＦＡＶＥの移動方向にシフトしている。
【０２００】
このように、触媒上流側の排気ガスの空燃比を目標平均空燃比ＡＦＡＶＥｏｂｊという指標で関しているので、燃料供給量をフィードフォワード制御することが可能となる。
そのため、目標平均空燃比ＡＦＡＶＥｏｂｊが変化した際のフィードバック制御の追従遅れを改善することができるとともに、燃料補正係数ＦＡＦを中心付近に維持することができる。
【０２０１】
この発明の実施の形態１に係る内燃機関の制御装置によれば、第２空燃比フィードバック制御手段３２が下流側Ｏ２センサ２１のセンサ出力Ｖ２と出力目標値ＶＲ２とに応じて、触媒上流側の排気ガスの平均空燃比ＡＦＡＶＥの目標値である目標平均空燃比ＡＦＡＶＥｏｂｊを演算し、変換手段３３が目標平均空燃比ＡＦＡＶＥｏｂｊを指標として、少なくとも２つの制御定数を演算する。
そのため、目標平均空燃比ＡＦＡＶＥｏｂｊに応じて制御定数の制御量、あるいは組合せを設定することができ、触媒上流側の排気ガスの空燃比を安定にかつ正確に制御することができる。
また、目標平均空燃比ＡＦＡＶＥｏｂｊを指標として制御定数を設定することにより、平均空燃比ＡＦＡＶＥの移動量を変えることなく、平均空燃比ＡＦＡＶＥの動作点に応じて、それぞれの制御定数の利点（例えば、平均空燃比ＡＦＡＶＥの制御精度、移動幅、制御周期および空燃比の制御振幅等）を最大限に引き出すように適切な制御定数を組み合わせて、平均空燃比ＡＦＡＶＥの移動量をきめ細かく制御することができる。
【０２０２】
なお、上記実施の形態１では、第２空燃比センサを下流側Ｏ２センサ２１として説明したが、これに限定されず、第２空燃比センサは、上流の触媒の浄化状態を検出できるセンサであればよい。
そのため、リニア空燃比センサ、ＮＯｘセンサ、ＨＣセンサ、ＣＯセンサ等でも、触媒の浄化状態を検出することができ、同様の効果を奏することができる。
【０２０３】
また、上記実施の形態１では、第２空燃比フィードバック制御手段３２は、比例演算と積分演算とを実行するＰＩ制御器として説明したが、第２空燃比フィードバック制御手段３２は、さらに微分演算を実行してもよい。
この場合であっても、フィードバック制御を実行することができるので、同様の効果を奏することができる。
【０２０４】
また、上記実施の形態１では、第２空燃比フィードバック制御手段３２は、下流側Ｏ２センサ２１のセンサ出力Ｖ２と出力目標値ＶＲ２とに基づいて、比例演算と積分演算とを用いて目標平均空燃比ＡＦＡＶＥｏｂｊを演算するとしたが、これに限定されない。
第２空燃比フィードバック制御手段３２は、下流側Ｏ２センサ２１のセンサ出力Ｖ２と出力目標値ＶＲ２とに基づいて、例えば現代制御理論の状態フィードバック制御、スライディングモード制御、オブザーバー、適応制御、およびＨ∞制御等を用いて目標平均空燃比ＡＦＡＶＥｏｂｊを演算してもよい。
この場合であっても、触媒の浄化状態を制御することができ、同様の効果を奏することができる。
【図面の簡単な説明】
【０２０５】
【図１】この発明の実施の形態１に係る内燃機関の制御装置を含むシステム全体を示す構成図である。
【図２】この発明の実施の形態１に係る上流側Ｏ２センサおよび下流側Ｏ２センサの出力特性を示す説明図である。
【図３】この発明の実施の形態１に係るコントローラの機能構成を示すブロック図である。
【図４】この発明の実施の形態１に係る第１空燃比フィードバック制御手段が、上流側Ｏ２センサの出力に応じて空燃比補正係数を演算する制御ルーチンを示すフローチャートである。
【図５】（ａ）〜（ｅ）は、図４のフローチャートに示した制御ルーチンを補足説明するタイミングチャートである。
【図６】この発明の実施の形態１に係る第２空燃比フィードバック制御手段が、下流側Ｏ２センサの出力に応じて目標平均空燃比を演算する制御ルーチンを示すフローチャートである。
【図７】この発明の実施の形態１に係る偏差と更新量および移動量との関係を示す説明図である。
【図８】この発明の実施の形態１に係る偏差と更新量および移動量との関係を、吸入空気量に応じて示す説明図である。
【図９】この発明の実施の形態１に係る強制変動振幅を加えた際の目標平均空燃比を示す説明図である。
【図１０】この発明の実施の形態１に係る変換手段が、制御定数を演算する変換手段演算ルーチンを示すフローチャートである。
【図１１】この発明の実施の形態１に係る第１空燃比フィードバック制御手段を物理モデル化して示す説明図である。
【図１２】（ａ）〜（ｃ）は、この発明の実施の形態１による積分定数を単独で制御した場合の平均空燃比、制御周期および空燃比の制御振幅を示す説明図である。
【図１３】この発明の実施の形態１による積分定数を単独で制御した場合の平均空燃比を示す別の説明図である。
【図１４】（ａ）〜（ｃ）は、この発明の実施の形態１による積分定数のバランス設定を変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
【図１５】（ａ）〜（ｃ）は、この発明の実施の形態１によるスキップ量を単独で制御した場合の平均空燃比、制御周期および空燃比の制御振幅を示す説明図である。
【図１６】この発明の実施の形態１によるスキップ量を単独で制御した場合の平均空燃比を示す別の説明図である。
【図１７】（ａ）〜（ｃ）は、この発明の実施の形態１によるスキップ量のバランス設定を変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
【図１８】（ａ）〜（ｃ）は、この発明の実施の形態１による遅延時間を単独で制御した場合の平均空燃比、制御周期および空燃比の制御振幅を示す説明図である。
【図１９】この発明の実施の形態１による遅延時間を単独で制御した場合の平均空燃比を示す別の説明図である。
【図２０】（ａ）〜（ｃ）は、この発明の実施の形態１による遅延時間のバランス設定を変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
【図２１】（ａ）〜（ｃ）は、この発明の実施の形態１による比較電圧を単独で制御した場合の平均空燃比、制御周期および空燃比の制御振幅を示す説明図である。
【図２２】（ａ）〜（ｃ）は、この発明の実施の形態１による比較電圧を変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
【図２３】（ａ）〜（ｃ）は、この発明の実施の形態１による積分定数と、スキップ量とを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比、制御周期および空燃比の制御振幅を比較して示す説明図である。
【図２４】この発明の実施の形態１による積分定数と、スキップ量とを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比の増加率を示す説明図である。
【図２５】（ａ）〜（ｃ）は、この発明の実施の形態１による積分定数と、スキップ量とのバランス設定を同時に変化させた場合の第１空燃比フィードバック制御の挙動を示すタイミングチャートである。
【図２６】（ａ）〜（ｃ）は、この発明の実施の形態１による積分定数と、比較電圧とを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比、制御周期および空燃比の制御振幅を比較して示す説明図である。
【図２７】この発明の実施の形態１による積分定数と、比較電圧とを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比の増加率を示す説明図である。
【図２８】（ａ）〜（ｃ）は、この発明の実施の形態１によるスキップ量と、遅延時間とを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比、制御周期および空燃比の制御振幅を比較して示す説明図である。
【図２９】この発明の実施の形態１によるスキップ量と、遅延時間とを同時に制御した場合と、それぞれを単独に制御して結果を単純に加算した場合との平均空燃比の増加率を示す説明図である。
【図３０】（ａ）〜（ｄ）は、この発明の実施の形態１による目標平均空燃比に対する積分定数の特性であり、（ｅ）〜（ｈ）は、この発明の実施の形態１による目標平均空燃比に対する遅延時間の特性であり、および（ｉ）〜（ｋ）は、この発明の実施の形態１による目標平均空燃比に対する実平均空燃比、制御周期および空燃比の制御振幅を示す第１の説明図である。
【図３１】（ａ）〜（ｄ）は、この発明の実施の形態１による目標平均空燃比に対する積分定数の特性であり、（ｅ）〜（ｈ）は、この発明の実施の形態１による目標平均空燃比に対する遅延時間の特性であり、および（ｉ）〜（ｋ）は、この発明の実施の形態１による目標平均空燃比に対する実平均空燃比、制御周期および空燃比の制御振幅を示す第２の説明図である。
【図３２】（ａ）〜（ｄ）は、この発明の実施の形態１による目標平均空燃比に対する積分定数の特性であり、（ｅ）〜（ｈ）は、この発明の実施の形態１による目標平均空燃比に対する遅延時間の特性であり、および（ｉ）〜（ｋ）は、この発明の実施の形態１による目標平均空燃比に対する実平均空燃比、制御周期および空燃比の制御振幅を示す第３の説明図である。
【図３３】図１０のステップＳ１０８に示した制御周期補正を演算する制御周期補正演算ルーチンを示すフローチャートである。
【図３４】（ａ）、（ｂ）は、図３３のステップＳ１１２で演算される基準制御周期を示す説明図である。
【図３５】この発明の実施の形態１による第２空燃比フィードバック制御を示すタイミングチャートである。
【図３６】従来の技術による平均空燃比の挙動を示すタイミングチャートである。
【図３７】この発明の実施の形態１による平均空燃比の挙動を示す第１のタイミングチャートである。
【図３８】この発明の実施の形態１による平均空燃比の挙動を示す第２のタイミングチャートである。
【図３９】この発明の実施の形態１によるフィードフォワード制御を用いて燃料供給量を制御する場合の平均空燃比の挙動を示すタイミングチャートである。
【符号の説明】
【０２０６】
１８  触媒コンバータ（触媒）、２０  上流側Ｏ２センサ（第１空燃比センサ）、２１  下流側Ｏ２センサ（第２空燃比センサ）、３１  出力目標値設定手段、３２  第２空燃比フィードバック制御手段、３３  変換手段、３４  第１空燃比フィードバック制御手段、Ａ／Ｆ  空燃比、ＡＦＡＶＥ  平均空燃比、ＡＦＡＶＥｏｂｊ  目標平均空燃比、ＡＦＩ  積分演算値、ＡＦＰ  比例演算値、ＦＡＦ  燃料補正係数、ＫＩＲ、ＫＩＬ  積分定数、ＲＳＲ、ＲＳＬ  スキップ量、ＴＤＲ、ＴＤＬ  遅延時間、Ｖ１、Ｖ２  センサ出力、ＶＲ１  比較電圧、ＶＲ２  出力目標値。
【図１】
2007231844.tif 000003
【図２】
2007231844.tif 000004
【図３】
2007231844.tif 000005
【図４】
2007231844.tif 000006
【図５】
2007231844.tif 000007
【図６】
2007231844.tif 000008
【図７】
2007231844.tif 000009
【図８】
2007231844.tif 000010
【図９】
2007231844.tif 000011
【図１０】
2007231844.tif 000012
【図１１】
2007231844.tif 000013
【図１２】
2007231844.tif 000014
【図１３】
2007231844.tif 000015
【図１４】
2007231844.tif 000016
【図１５】
2007231844.tif 000017
【図１６】
2007231844.tif 000018
【図１７】
2007231844.tif 000019
【図１８】
2007231844.tif 000020
【図１９】
2007231844.tif 000021
【図２０】
2007231844.tif 000022
【図２１】
2007231844.tif 000023
【図２２】
2007231844.tif 000024
【図２３】
2007231844.tif 000025
【図２４】
2007231844.tif 000026
【図２５】
2007231844.tif 000027
【図２６】
2007231844.tif 000028
【図２７】
2007231844.tif 000029
【図２８】
2007231844.tif 000030
【図２９】
2007231844.tif 000031
【図３０】
2007231844.tif 000032
【図３１】
2007231844.tif 000033
【図３２】
2007231844.tif 000034
【図３３】
2007231844.tif 000035
【図３４】
2007231844.tif 000036
【図３５】
2007231844.tif 000037
【図３６】
2007231844.tif 000038
【図３７】
2007231844.tif 000039
【図３８】
2007231844.tif 000040
【図３９】
2007231844.tif 000041