(57)【特許請求の範囲】
【請求項１】
内燃機関の排気系に備えられる排気浄化用触媒下流に設けられて当該内燃機関の排気空燃比を検出する空燃比センサを有し、その検出される排気空燃比がリッチとリーンとの間で反転したときにスキップ制御されるとともに、その後積分制御されて更新される制御量に基づいて内燃機関に供給される混合気の空燃比をフィードバック制御する内燃機関の空燃比制御装置において、
前記スキップ制御に際し、そのスキップ量を所定量増大させるとともに、増大させる前のスキップ量に基づき前記積分制御により算出される制御量が該増大したスキップ量をもって更新された制御量になるまでは、同増大したスキップ量をもって更新された制御量に基づき前記空燃比を補正する補正手段を備える
ことを特徴とする内燃機関の空燃比制御装置。
【請求項２】
請求項１記載の内燃機関の空燃比制御装置において、
前記排気浄化用触媒の上流に設けられて当該内燃機関の排気空燃比を検出するフロント空燃比センサと、該フロント空燃比センサにより検出される排気空燃比がリッチとリーンとの間で反転したときにスキップ制御されるとともにその後積分制御されて更新される空燃比補正量に基づき前記空燃比をフィードバック制御するフィードバック制御手段とを更に備え、
前記補正手段は、前記フィードバック制御手段の前記空燃比補正量を前記制御量に基づき補正する
ことを特徴とする内燃機関の空燃比制御装置。
【請求項３】
請求項１または２記載の内燃機関の空燃比制御装置において、
前記所定量増大させるスキップ量を、前記更新される制御量が同制御量の制御中心となるように変更する変更手段を更に備える
ことを特徴とする内燃機関の空燃比制御装置。
【請求項４】
前記変更手段は、前記排気浄化用触媒の劣化度合いに応じて前記所定量増大させるスキップ量を可変とするものである
請求項３記載の内燃機関の空燃比制御装置。
【請求項５】
前記変更手段は、前記制御量の制御中心を学習しつつその学習値を目標値として前記所定量増大させるスキップ量を変更するものである
請求項３記載の内燃機関の空燃比制御装置。
【請求項６】
内燃機関の排気系に備えられる排気浄化用触媒上流に設けられて当該内燃機関の排気空燃比を検出するフロント空燃比センサと、
同排気浄化用触媒下流に設けられて同内燃機関の排気空燃比を検出するリア空燃比センサと、
前記フロント空燃比センサにより検出される排気空燃比がリッチとリーンとの間で反転したときにスキップ制御されるとともにその後積分制御されて更新される空燃比補正量に基づき内燃機関に供給される混合気の空燃比をフィードバック制御するフィードバック制御手段と、
前記リア空燃比センサにより検出される排気空燃比のリッチからリーンへの反転若しくはリーンからリッチへの反転に基づき前記触媒中の酸素ストレージ量がその上限値及び下限値の中心に近づくように前記フロント空燃比センサにより検出される排気空燃比に基づく積分制御中の前記空燃比補正量の時間積分量を変更させるべく同空燃比補正量をさらにフィードバック制御するサブフィードバック制御手段と、
を備える内燃機関の空燃比制御装置。
【請求項７】
請求項６記載の内燃機関の空燃比制御装置において、
前記サブフィードバック制御手段は、前記リア空燃比センサにより検出される排気空燃比のリッチからリーンへの反転に基づき、前記フロント空燃比センサにより検出される排気空燃比のリッチからリーンへの反転時にスキップ制御される前記空燃比補正量を、同フロント空燃比センサにより検出される排気空燃比の次のリーンからリッチへの反転時期まで一定に保持する処理、及び前記リア空燃比センサにより検出される排気空燃比のリーンからリッチへの反転に基づき前記フロント空燃比センサにより検出される排気空燃比のリーンからリッチへの反転時にスキップ制御される前記空燃比補正量を同フロント空燃比センサにより検出される排気空燃比の次のリッチからリーンへの反転時期まで一定に保持する処理、の少なくとも一方を実行して同空燃比補正量をフィードバック制御する
ことを特徴とする内燃機関の空燃比制御装置。
【請求項８】
請求項７記載の内燃機関の空燃比制御装置において、
前記サブフィードバック制御手段は、前記スキップ制御に伴って一定に保持する前記空燃比補正量のスキップ量を増量若しくは減量補正する
ことを特徴とする内燃機関の空燃比制御装置。
【請求項９】
請求項６記載の内燃機関の空燃比制御装置において、
前記サブフィードバック制御手段は、前記リア空燃比センサにより検出される排気空燃比のリッチからリーンへの反転に基づき、前記フロント空燃比センサにより検出される排気空燃比のリーンからリッチへの反転に基づき実行される前記空燃比補正量のスキップ制御時期を遅延させる処理、及び前記リア空燃比センサにより検出される排気空燃比のリーンからリッチへの反転に基づき前記フロント空燃比センサにより検出される排気空燃比のリッチからリーンへの反転に基づき実行される前記空燃比補正量のスキップ制御時期を遅延させる処理、の少なくとも一方を実行して同空燃比補正量をフィードバック制御する
ことを特徴とする内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関に供給される可燃混合気の空燃比を最適化すべくフィードバック制御を行う内燃機関の空燃比制御装置に関する。
【０００２】
【従来の技術】
車載用内燃機関（エンジン）の運転状態を制御する装置の一つとして、エンジンの燃焼室に供給される混合気の空燃比を制御する空燃比制御装置がある。一般に、エンジンに要求される空燃比はエンジンの回転速度、負荷状態及び暖機状態等に応じて変化する。そこでこの空燃比制御装置では、電子制御装置を通じて燃料噴射装置（燃料噴射弁）を制御することにより、燃焼室に供給される燃料量を補正して、混合気の空燃比を調整する。この調整により、エンジンの各種の運転条件に対応してエンジンの出力安定性やドライバビリティ等の向上が図られるとともに、排気特性が最適化される。
【０００３】
ここで、この空燃比制御装置による空燃比のフィードバック制御は、具体的には以下のようなメカニズムに基づいて実行される。
すなわち、空燃比フィードバック制御に際しては先ず、エンジン回転数や吸気量等の運転状態パラメータに基づいて基本となる燃料噴射量（時間）が算出され、その基本燃料噴射量に、空燃比フィードバック補正係数、空燃比学習値、及びその他の各種運転状態に基づく補正係数を加味した目標燃料噴射量（時間）が決定される。空燃比フィードバック補正係数は、前回の燃料噴射に係る空燃比の理論空燃比（若しくは目標とする空燃比）に対するずれ量に対応するものであり、今回の燃料噴射に係る空燃比を理論空燃比により近づけるための補正係数である。
【０００４】
そして、エンジンの排気系に設けられた空燃比センサ（酸素センサ）からの検出信号に基づいて算出される空燃比が理論空燃比より薄ければ、燃料噴射量を増大し、濃ければ減少させるという態様で燃料噴射量の補正を周期的に繰り返す。
【０００５】
こうしたメカニズムに基づき空燃比を制御する装置にあっては、フィードバック制御によって補正量の増減を行うにあたり、燃焼室から酸素センサまでのガス輸送時間や酸素センサの応答時間に起因する応答遅れが生じる。そこで通常、燃料噴射量の補正態様を増大から減少、若しくは減少から増大に反転させる際には、この応答遅れを見込んで所定量スキップさせるスキップ制御、及びこのスキップさせた補正量を徐変させる積分制御を行うことにより、制御の応答性を高めるようにしている。ただし、積分制御時の補正量徐変に係る変化率は、大きすぎれば制御波形の振幅を大きくしてしまい、小さすぎればリッチ側へのスキップとリーン側へのスキップとのインターバルを遅延させ制御波形の周波数を低下させてしまう。そしていずれの場合も、トルク変動の増大やドライバビリティの低下を促し、排気特性を悪化させてしまうこととなる。このため、前記スキップ制御に係るスキップ量や積分制御時の補正量徐変に係る変化率を常に最適な数値に設定することが緻密な空燃比フィードバック制御には不可欠となっている。
【０００６】
一方、多くの場合、エンジンの排気系には、排気中に含まれる有害物質である一酸化炭素（ＣＯ）、炭化水素（ＨＣ）、及び酸化窒素（ＮＯｘ）を浄化するために三元触媒が設けられている。この三元触媒は、同触媒内の酸素量が所定範囲内にある場合にのみ、上記三種の有害物質すべてを高い効率で浄化することができる特性をもつ。三元触媒上流の酸素センサ（フロント酸素センサ）からの検出信号は、三元触媒を通過する排気中の酸素濃度を十分に反映する。しかし、同三元触媒は、所定量を限度として酸素を保持する、いわゆる触媒ストレージ効果をもっているため、フロント酸素センサによって三元触媒内の酸素濃度について、信頼性の高い検出値を得ることは難しい。そこで、三元触媒下流にも酸素センサ（リア酸素センサ）を設け、三元触媒の浄化効率に係る触媒内酸素濃度についての正確な情報を得るようにした制御装置も提案されている。
【０００７】
このような制御装置にあっては、例えば特開昭６３−２１２７４３号公報にみられるように、基本的にはフロント酸素センサから得た検出信号に基づいて実行する空燃比フィードバック制御において、スキップ制御に係る空燃比フィードバック補正係数ＦＡＦのスキップ量を、リア酸素センサの検出信号から求まる三元触媒下流の排気中酸素濃度（空気過剰率λ）の増減に応じて調節（フィードバック制御）して、排気特性の更なる向上を目指している。
【０００８】
このような制御装置においては、フロント酸素センサからの検出信号及び同信号に基づいて算出される空燃比フィードバック補正係数ＦＡＦ、並びにリア酸素センサからの検出信号及び同信号に基づいて算出されるスキップ量（リッチスキップ量ＲＳＲ）が、それぞれ図１７（ａ）〜（ｄ）に示すような変化態様を示すこととなる。ただし、図１７（ａ）及び（ｂ）は、相互に同一時間軸（横軸）上の変化態様を示しており、図１７（ｃ）及び（ｄ）は、これも相互に同一時間軸（横軸）上の変化態様を示している。
【０００９】
先ず、図１７（ａ）には、酸素センサ１１からの検出信号であるセンサ電圧ＶＯＦの信号波形を示す。酸素センサ１１は、エンジン１の空燃比Ａ／Ｆが理論空燃比に合致する際にはそのセンサ電圧ＶＯＦが基準電圧ＫＯＸＲ（例えば０．４５ボルト（Ｖ））となるよう設定されている。そして、空燃比Ａ／Ｆが理論空燃比より濃いとき（リッチ側）にはセンサ電圧ＶＯＦが同基準電圧ＫＯＸＲを上回り、理論空燃比より薄いとき（リーン側）にはセンサ電圧ＶＯＦが同基準電圧ＫＯＸＲ以下となる。そこで制御装置は、当該電圧ＶＯＦが基準電圧ＫＯＸＲを上回った場合には空燃比Ａ／Ｆがリッチ側にあると判断し、基準電圧ＫＯＸＲ以下である場合には空燃比Ａ／Ｆがリーン側にあると判断することとなる。空燃比フィードバック制御中においては、空燃比Ａ／Ｆを理論空燃比に収束させるべく、後述する空燃比フィードバック補正係数ＦＡＦを変更して目標燃料噴射量（時間）ＴＡＵｆの増量補正と減量補正とを繰り返す。このため、同図１７（ａ）に示すように、センサ電圧ＶＯＦもまた基準電圧ＫＯＸＲの上下に変動を繰り返すこととなる。
【００１０】
次に、図１７（ｂ）には、空燃比フィードバック補正係数ＦＡＦの波形を示す。この空燃比フィードバック補正係数ＦＡＦは、燃料噴射量（時間）ＴＡＵｂｓを補正すべく、前記センサ電圧ＶＯＦに基づく制御装置の判断（リッチ側又はリーン側）を逐次フィードバックするとともに、吸気量Ｇａ等の運転状態を合わせ参照して算出される補正量である。基本的には、空燃比Ａ／Ｆがリッチ側にあると制御装置が判断している期間中は、目標燃料噴射量（時間）ＴＡＵｆを減量補正すべく基本空燃比フィードバック補正係数ＦＡＦｂｓを１より小さくし（以下、減量という）、空燃比Ａ／Ｆがリーン側にあると判断している期間中は、燃料噴射量（時間）ＴＡＵｆを増量補正すべく当該補正係数ＦＡＦｂｓを１より大きくする（以下、増量という）。
【００１１】
ここで、例えば、前記制御装置の判断がリーン側からリッチ側に反転した場合、基本空燃比フィードバック補正係数ＦＡＦは増量から減量に所定の比例定数（リーンスキップ量）ＲＳＬをもってスキップ（リーンスキップ）し、その後、制御装置の判断がリッチ側からリーン側に反転するまでは、更に減量側に向かい徐変される。すなわち積分制御が実行される。一方、制御装置の判断がリッチ側からリーン側に反転した場合には、同補正係数ＦＡＦは減量から増量に比例定数（リッチスキップ量）ＲＳＲをもってスキップ（リッチスキップ）した後、制御装置の判断が反転するまでは、更に増量側に向かって徐変されることとなる。
【００１２】
一方、図１７（ｃ）に示すように、リア酸素センサのセンサ電圧ＶＯＲもフロント酸素センサのセンサ電圧ＶＯＦと同様、基準電圧ＫＯＸＲＳ（例えば０．４５Ｖ）の上下に変動を繰り返すこととなる。ただし、図１７（ｃ）及び図１７（ｄ）の時間軸は先の図１７（ａ）及び図１７（ｂ）の時間軸よりもスケールを大きく設定したものであり、実際にはセンサ電圧ＶＯＲ（図１７（ｃ））の変動周期は、センサ電圧ＶＯＦ（図１７（ａ））の変動周期に比して図示以上に長くなる。そこでここでは、図１７（ｄ）に示すように、リア酸素センサのセンサ電圧ＶＯＲが基準電圧ＫＯＸＲＳより高い（リッチ）場合にはリッチスキップ量ＲＳＲ（図１７（ｂ）参照）を減量し、同センサ電圧ＶＯＲが基準電圧ＫＯＸＲＳ以下である（リーン）場合にはリッチスキップ量ＲＳＲを増量することで、上記空燃比フィードバック補正係数ＦＡＦのスキップ量の調節を図り、ひいては排気特性の更なる向上に努めている。図１７（ｂ）からも明らかなように、リッチスキップ量ＲＳＲを増量すれば空燃比フィードバック補正係数ＦＡＦが増量される傾向が強まり、リッチスキップ量ＲＳＲを減量すれば空燃比補正係数ＦＡＦが減量される傾向が強まる。このようにリア酸素センサのセンサ電圧に基づいて空燃比フィードバック補正係数ＦＡＦを更にフィードバック制御（サブフィードバック制御）する結果として、三元触媒を通過する排気中の酸素濃度を調節させることができ、同三元触媒内酸素濃度（いわゆる酸素ストレージ量）を最適化させることができるようになる。
【００１３】
【発明が解決しようとする課題】
ところで、上記のようなサブフィードバック制御（空燃比サブフィードバック制御）を行う場合、図１８（ａ）（先の図１７（ｄ）と基本的に同一）に示すような態様でリッチスキップ量ＲＳＲを変更すると、この変更に対応して三元触媒内の酸素ストレージ量は図１８（ｂ）に示すように変動することとなる。
【００１４】
ここで、同図１８（ｂ）中に示す２本の破線で挟まれた帯領域は、三元触媒がＨＣ、ＣＯ、ＮＯｘすべての有害物質について好適な浄化作用を発揮できる領域を示すものであり、酸素ストレージ量が上側の破線で示される上限値（酸素飽和状態）を上回るとＮＯｘの排出量が急増し、酸素ストレージ量が下側の破線で示される下限値（酸素ストレージ量が「０」）を下回るとＣＯ及びＨＣの排出量が急増することとなる。
【００１５】
そこで、図１８（ａ）及び（ｂ）に示すように、リッチスキップ量ＲＳＲの変更に応じ、酸素ストレージ量が最適値（目標酸素ストレージ量：例えば上限値／２）に収束・維持されるような制御を行うこととなる。上記のようにリッチスキップ量ＲＳＲのスキップと徐変とを交互に繰り返す制御態様では、酸素ストレージ量が最大若しくは最小となった後、上限値若しくは下限値近傍から最適値に向かって速やかに移行することが困難であり、その収束性が十分ではなかった。
【００１６】
またそうかといって、上記リッチスキップ量ＲＳＲを大きくとりすぎると、制御幅が大きくなって、排気特性の向上が望めなくなるばかりか、フィードバック制御としての収束性も悪化する。
【００１７】
本発明は、こうした実情に鑑みてなされたものであり、その目的とするところは、三元触媒内の酸素ストレージ量を触媒効率の最適領域に収束させ、機関排気特性の更なる向上を図る内燃機関の空燃比制御装置を提供することにある。
【００１８】
【課題を解決するための手段】
上記の目的を達成するために、請求項１記載の発明は、内燃機関の排気系に備えられる排気浄化用触媒下流に設けられて当該内燃機関の排気空燃比を検出する空燃比センサを有し、その検出される排気空燃比がリッチとリーンとの間で反転したときにスキップ制御されるとともに、その後積分制御されて更新される制御量に基づいて内燃機関に供給される混合気の空燃比をフィードバック制御する内燃機関の空燃比制御装置において、前記スキップ制御に際し、そのスキップ量を所定量増大させるとともに、増大させる前のスキップ量に基づき前記積分制御により算出される制御量が該増大したスキップ量をもって更新された制御量になるまでは、同増大したスキップ量をもって更新された制御量に基づき前記空燃比を補正する補正手段を備えることを要旨とする。
【００１９】
請求項２記載の発明は、請求項１記載の内燃機関の空燃比制御装置において、前記排気浄化用触媒の上流に設けられて当該内燃機関の排気空燃比を検出するフロント空燃比センサと、該フロント空燃比センサにより検出される排気空燃比がリッチとリーンとの間で反転したときにスキップ制御されるとともにその後積分制御されて更新される空燃比補正量に基づき前記空燃比をフィードバック制御するフィードバック制御手段とを更に備え、前記補正手段は、前記フィードバック制御手段の前記空燃比補正量を前記制御量に基づき補正することを要旨とする。
【００２０】
上記請求項１又は２に記載した発明の構成によれば、触媒下流での排気空燃比におけるリッチとリーンとの間の反転時に、排気空燃比を触媒ウインド上下限からその中心近傍に向かって速やかに移行させることができるとともに、中心近傍での滞留時間も増す。これにより、機関の排気特性が向上するばかりでなく、フィードバック制御に係る制御周波数も増大し、ドライバビリティの向上も図られる。さらに、空燃比補正量、すなわち制御量の制御中心への収束性が高まり制御振幅も縮小されるため、機関の運転状態が過渡状態にある場合でも外乱によって制御性が悪化することを好適に抑制することができるようになる。
【００２１】
請求項３記載の発明は、請求項１または２記載の内燃機関の空燃比制御装置において、前記所定量増大させるスキップ量を、前記更新される制御量が同制御量の制御中心となるように変更する変更手段を更に備えることを要旨とする。
【００２２】
請求項４記載の発明は、請求項３記載の内燃機関の空燃比制御装置において、前記変更手段は、前記排気浄化用触媒の劣化度合いに応じて前記所定量増大させるスキップ量を可変とすることを要旨とする。
【００２３】
請求項５記載の発明は、請求項３記載の内燃機関の空燃比制御装置において、前記変更手段は、前記制御量の制御中心を学習しつつその学習値を目標値として前記所定量増大させるスキップ量を変更するものであることを要旨とする。
【００２４】
上記請求項３〜５何れかに記載した発明の構成によれば、触媒の劣化、機関の運転状態、機関の経年変化等により空燃比補正量の制御振幅が変わってしまった場合であれ、上記所定値を変更することで、空燃比補正量をスキップ制御によって確実に制御中心に移行させることができる。よって、触媒の劣化等による、空燃比の補正量の制御中心への収束性低下を好適に抑制することができるようになる。
【００２５】
請求項６記載の発明は、内燃機関の排気系に備えられる排気浄化用触媒上流に設けられて当該内燃機関の排気空燃比を検出するフロント空燃比センサと、同排気浄化用触媒下流に設けられて同内燃機関の排気空燃比を検出するリア空燃比センサと、前記フロント空燃比センサにより検出される排気空燃比がリッチとリーンとの間で反転したときにスキップ制御されるとともにその後積分制御されて更新される空燃比補正量に基づき内燃機関に供給される混合気の空燃比をフィードバック制御するフィードバック制御手段と、前記リア空燃比センサにより検出される排気空燃比のリッチからリーンへの反転若しくはリーンからリッチへの反転に基づき前記触媒中の酸素ストレージ量がその上限値及び下限値の中心に近づくように前記フロント空燃比センサにより検出される排気空燃比に基づく積分制御中の前記空燃比補正量の時間積分量を変更させるべく同空燃比補正量をさらにフィードバック制御するサブフィードバック制御手段とを備えることを要旨とする。
【００２６】
同構成によれば、排気空燃比におけるリッチとリーンとの間の反転時には、触媒内の酸素ストレージ量が、排気浄化用触煤による浄化能力を保持することのできる上下限付近に滞留している。そこでこのとき、積分制御に係る空燃比補正量の時間積分量を増減することにより、酸素ストレージ量を当該上下限値からその中心近傍に向かって速やかに移行させることができるようになり、触媒内の酸素ストレージ量が触媒ウインド内に好適に保持されるようになる。
【００２７】
請求項７記載の発明は、請求項６記載の内燃機関の空燃比制御装置において、前記サブフィードバック制御手段は、前記リア空燃比センサにより検出される排気空燃比のリッチからリーンへの反転に基づき、前記フロント空燃比センサにより検出される排気空燃比のリッチからリーンへの反転時にスキップ制御される前記空燃比補正量を、同フロント空燃比センサにより検出される排気空燃比の次のリーンからリッチへの反転時期まで一定に保持する処理、及び前記リア空燃比センサにより検出される排気空燃比のリーンからリッチへの反転に基づき前記フロント空燃比センサにより検出される排気空燃比のリーンからリッチへの反転時にスキップ制御される前記空燃比補正量を同フロント空燃比センサにより検出される排気空燃比の次のリッチからリーンへの反転時期まで一定に保持する処理、の少なくとも一方を実行して同空燃比補正量をフィードバック制御することを要旨とする。
【００２８】
請求項８記載の発明は、請求項７記載の内燃機関の空燃比制御装置において、前記サブフィードバック制御手段は、前記スキップ制御に伴って一定に保持する前記空燃比補正量のスキップ量を増量若しくは減量補正することを要旨とする。
【００２９】
上記請求項７又は８に記載した発明の構成によれば、排気空燃比を触媒ウインド上下限からその中心近傍に向かって移行させる上記請求項６記載の発明による効果が一層強化されるようになる。
【００３０】
請求項９記載の発明は、請求項６記載の内燃機関の空燃比制御装置において、前記サブフィードバック制御手段は、前記リア空燃比センサにより検出される排気空燃比のリッチからリーンへの反転に基づき、前記フロント空燃比センサにより検出される排気空燃比のリーンからリッチへの反転に基づき実行される前記空燃比補正量のスキップ制御時期を遅延させる処理、及び前記リア空燃比センサにより検出される排気空燃比のリーンからリッチへの反転に基づき前記フロント空燃比センサにより検出される排気空燃比のリッチからリーンへの反転に基づき実行される前記空燃比補正量のスキップ制御時期を遅延させる処理、の少なくとも一方を実行して同空燃比補正量をフィードバック制御することを要旨とする。
【００３１】
同構成によっても、排気空燃比を触媒ウインド上下限からその中心近傍に向かって移行させる上記請求項６記載の発明による効果が一層強化されるようになる。
【００３２】
【発明の実施の形態】
（第１の実施形態）
以下、本発明に係る内燃機関の空燃比制御装置を具体化した第１の実施の形態について、図面を参照して説明する。
【００３３】
図１は、本実施の形態に係る空燃比制御装置を備えた自動車のエンジンシステムを示す概略構成図である。
このシステムにあって、エンジン１は、吸気系２と、燃焼室３と、排気系４とに大別される。
【００３４】
このうち吸気系２は、その上流より、エアクリーナ（図示せず）、スロットルバルブ５、及びサージタンク６を有して構成され、その内部通路には吸気量センサ７、スロットルポジションセンサ８、及び吸気温センサ９等を備える。
【００３５】
これらセンサのうち、吸気量センサ７は、スロットルバルブ５の上流側に配されて吸入空気の流量（吸気量）Ｇａを検出するセンサであり、スロットルポジションセンサ８は、図示しないアクセルペダルの踏み込み操作に基づき開閉されるスロットルバルブ５の開度情報を出力する開度センサ８ａと、スロットルバルブ５の全閉時にオン状態となるアイドルスイッチ８ｂとを内蔵する。また、吸気温センサ９は、エンジン１に吸入される空気の温度（吸気温）ＴＨＡを検出するセンサである。
【００３６】
また、この吸気系２には、燃料噴射弁１０が設けられている。図示しない燃料タンクから圧送される燃料は、該燃料噴射弁１０の操作に応じてエンジン１内に噴射供給され、同吸気系２を通じて吸入される空気と混合される。
【００３７】
他方、排気系４は、三元触煤２０、同三元触媒２０の上流に設けられたフロント酸素センサ１１ａ、及び三元触媒２０の下流に設けられたリア酸素センサ１１ｂを備えて構成される。三元触媒２０は、燃焼室３から排出される排気中に含まれる一酸化炭素（ＣＯ）、炭化水素（ＨＣ）、及び酸化窒素（ＮＯｘ）を浄化するために設けられる。フロント酸素センサ１１ａ及びリア酸素センサ１１ｂは、それぞれこの三元触媒２０の上流及び下流に設けられ、同三元触媒２０通過前後における排気中の酸素濃度を検出する。
【００３８】
その他、同エンジン１には、点火装置であるイグナイタ１２、分配器であるディストリビュータ１３が設けられ、その分配された点火電圧が、各気筒の燃焼室３に設けられた点火プラグ１４に印加されるようになっている。
【００３９】
また、上記ディストリビュータ１３には回転数センサ１５及び気筒判別センサ１６が設けられ、これらセンサ１５及び１６を通じて、当該エンジン１のエンジン回転数ＮＥが検出され、また燃焼気筒が判別される。
【００４０】
また、同エンジン１は、そのシリンダブロック１ａ内を循環する冷却水によって冷却されるようになっており、その冷却水の水温が、同シリンダブロック１ａに設けられた水温センサ１７によって検出されるようになる。
【００４１】
こうしたエンジンシステムにおいて、上述した各センサの出力は、エンジン１の制御系としての役割を司どる電子制御装置（以下、ＥＣＵという）３０に対し入力される。
【００４２】
図２は、このＥＣＵ３０のハードウエア構成についてその概要を示したものであり、次に、この図２を併せ参照して、同ＥＣＵ３０の内部構成を説明する。
同図２に示すように、ＥＣＵ３０は、ＣＰＵ３１ａ、ＲＯＭ３１ｂ、ＲＡＭ３１ｃ、及びバックアップＲＡＭ３１ｄ等を内蔵したマイクロコンピュータ３１を中心に構成される。
【００４３】
このマイクロコンピュータ３１の入力ポートには、アイドルスイッチ８ｂ、回転数センサ１５、気筒判別センサ１６をはじめ、Ａ／Ｄ変換回路３４を介して、吸気量センサ７、吸気温センサ９、水温センサ１７、開度センサ８ａ、及びフロント酸素センサ１１ａ及びリア酸素センサ１１ｂ等のアナログ信号を出力するセンサが接続されている。また、同マイクロコンピュータ３１の出力ポートには、イグナイタ１２や燃料噴射弁１０を駆動する駆動回路３５等が接続されている。ＥＣＵ３０は、こうしてマイクロコンピュータ３１に取り込まれる各センサの出力に基づいて、エンジン１の燃料噴射や点火にかかる各種制御を実行する。
【００４４】
次に、上記ＥＣＵ３０が実行する各種制御のうち、空燃比制御についてその概要を説明する。
ＥＣＵ３０は、エンジン１の燃焼に関わる混合気中の空燃比（以下、単に空燃比という）Ａ／Ｆが同エンジン１の運転状態に適した目標空燃比となるように、燃料噴射弁１０から噴射される燃料量を制御制御するための空燃比制御を実行する。この空燃比制御において、ＥＣＵ３０は、吸気量Ｇａとエンジン回転数ＮＥとに基づき求まる基本燃料噴射量（時間）ＴＡＵｂｓに対し、空燃比フィードバック補正係数ＦＡＦ及びその他各種制御（例えば、暖機運転時の増量制御や加減速時の増量又は減量制御）によって得られた各種補正係数を加味することにより、最終的な目標燃料噴射量（時間）ＴＡＵｆを決定する。
【００４５】
そこで先ず、ＥＣＵ３０が実行する本実施形態の「燃料噴射制御ルーチン」の処理内容について説明する。ＥＣＵ３０のＲＯＭ３１ｂは以下のルーチンに関するプログラムを予め記憶する。
【００４６】
図３は、本実施形態における燃料噴射時間、すなわち各燃料噴射弁１０による一回毎の燃料噴射量（時間）を決定するための「燃料噴射制御ルーチン」を示すフローチャートであり、このルーチン処理は、エンジン１内の各気筒における吸気行程に対応して所定のクランク角毎の割り込みでＥＣＵ３０により実行される。
【００４７】
処理がこのルーチンに移行すると、ＥＣＵ３０は先ずステップ１０１において、上記各センサの検出信号のうち吸気量Ｇａ、エンジン回転数ＮＥ及び冷却水温ＴＨＷ等を読み込む。
【００４８】
続くステップ１０２においては、上記ステップ１０１で読み込んだ吸気量Ｇａ、エンジン回転数ＮＥ及び冷却水温ＴＨＷ等に基づき図示しない周知の基本燃料噴射時間マップから基本燃料噴射時間ＴＡＵｂｓを算出する。
【００４９】
続くステップ１０３においては、空燃比フィードバック補正係数ＦＡＦ及び各種補正量Ｋ１〜Ｋｎの読み込みを行う。空燃比フィードバック補正係数ＦＡＦの算出手順に関しては、後述する「空燃比フィードバック制御ルーチン」において詳しく説明する。また、補正量Ｋ１〜Ｋｎは、暖機増量、加減速、出力増量等の各種運転状態を考慮した補正量であり、時々の運転状態に従い別途の処理ルーチンにおいて算出することとする。
【００５０】
さらに続くステップ１０４においては、上記ステップ１０３において読み込まれた空燃比フィードバック補正係数ＦＡＦや各種補正量Ｋ１〜Ｋｎを用い、例えば次式（１）に従って、基本燃料噴射時間ＴＡＵｂｓの補正を行い最終的な目標燃料噴射時間ＴＡＵｆを算出する。
ＴＡＵｆ＝ＴＡＵｂｓ×ＦＡＦ×Ｋ１×Ｋ２×…×Ｋｎ  …（１）
最後に、ステップ１０５においてＥＣＵ３０は、上記ステップ１０６の演算結果に従い燃料噴射時間ＴＡＵｆの燃料噴射を実行し、その後の処理を一旦終了する。
【００５１】
ＥＣＵ３０は、以上説明した「燃料噴射制御ルーチン」に基づき空燃比Ａ／Ｆの最適化を図ることのできる目標燃料噴射時間ＴＡＵｆをもって、各燃料噴射弁１０に燃料噴射を実行させる。
【００５２】
次に、上記「燃料噴射制御ルーチン」においてステップ１０３で読む込むこととした空燃比フィードバック補正係数ＦＡＦの算出手順について詳述する。
図４及び図５は、空燃比フィードバック補正係数ＦＡＦを算出すべくＥＣＵ３０により所定時間毎に周期的に実行される「空燃比フィードバック制御ルーチン」の処理内容を示すフローチャートである。ＥＣＵ３０のＲＯＭ３１ｂは以下のルーチンに関するプログラムを予め記憶する。
【００５３】
処理がこのルーチンに移行すると、ＥＣＵ３０は先ずステップ２０１（図４）において、空燃比フィードバック制御を実行するための諸条件（ａ１）〜（ａ５）が満たされているか否かを判断する。
（ａ１）始動時でないこと。
（ａ２）燃料カット中ではないこと。
（ａ３）冷却水温ＴＨＷが所定温度以上であること。
（ａ４）酸素センサ１１が活性化状態であること。
（ａ５）エンジンが高負荷又は高回転状態でないこと。
そして、上記諸条件（ａ１）〜（ａ５）が全て満たされているときには、現在の運転状態が空燃比フィードバック制御を行うための条件に適合していると判断して、処理をステップ２０２に移行する。一方、上記条件のうち何れか一つでも満たされていなければ、現在の運転状態は空燃比フィードバック制御を行うための条件に適合していないと判断し、本ルーチンを一旦抜ける。
【００５４】
ステップ２０２においては、今回読み込まれた酸素センサ１１からのセンサ電圧ＶＯｉが、基準電圧ＫＯＸＲ（例えば０．４５Ｖ）を上回っているか否かを判断する。そして、その判断が肯定であれば処理をステップ２０３に移行し、その判断が否定であれば処理をステップ２１３に移行する。
【００５５】
一連のステップ２０３〜２０７においては、センサ電圧ＶＯが基準電圧ＫＯＸＲを上回っているとの判断が先のステップ２０２にて連続してなされることを条件に、その連続回数を計測して、その回数が所定回数以上に達したときにリッチ判定フラグＸＯＸＲを「ＯＮ」に設定する処理、すなわちセンサ電圧ＶＯのノイズによる誤検出を減らして空燃比フィードバック補正係数ＦＡＦの制御波形の安定化を図るための遅延処理を行う。ここでリッチ判定フラグＸＯＸＲとは、空燃比フィードバック補正係数ＦＡＦを更新する際、同補正係数ＦＡＦを増量するのか、或いは減量するのかを選択するための基準として用いるフラグであって、空燃比Ａ／Ｆは現在リッチ側にあると判断されたときには「ＯＮ」に設定され、リーン側にあると判断されたときには「ＯＦＦ」に設定解除されるものである。
【００５６】
すなわちＥＣＵ３０は、先ずステップ２０３において、回数計測用ディレイカウンタのカウント値（以下、単にディレイカウンタという）ＣＤＬＹをディクリメントする。
【００５７】
続くステップ２０４においては、ディレイカウンタが基準値「０」以下であるか否かを判断する。そしてその判断が肯定であれば、処理をステップ２０５に移行し、その判断が否定であれば処理をステップ２２０（図５）に移行する。
【００５８】
ステップ２０５においては、ディレイカウンタＣＤＬＹが基準値「０」であるか否かを判断する。そしてその判断が肯定であれば処理をステップ２０６に移行し、同ステップ２０５においては、スキップ制御を実行すべきタイミングであることを認識するためのスキップタイミングフラグＸＯＩＮＶを「ＯＮ」に設定し、処理をステップ２０７に移行する。また、先のステップ２０５での判断が否定であれば処理をステップ２０７にジャンプする。
【００５９】
ステップ２０７においては、ディレイカウンタＣＤＬＹに所定のリーン側遅延処理値ＴＤＬに負の符号を付した値「−ＴＤＬ」を設定し、処理をステップ２２０（図５）に移行する。
【００６０】
一方、先のステップ２０２を経た後、処理をステップ２１３に移行した場合には、続く一連のステップ２１３〜２１７を実行する。これらステップ２１３〜２１７においては、センサ電圧ＶＯが基準電圧ＫＯＸＲ以下であるという判断が先のステップ２０２にて連続してなされることを条件に、その連続回数を計測して、その回数が所定回数以上に達したときにリッチ判定フラグＸＯＸＲを「ＯＮ」に設定する処理、すなわちセンサ電圧ＶＯのノイズによる誤検出を減らして空燃比フィードバック補正係数ＦＡＦの制御波形の安定化を図るための遅延処理を行う。
【００６１】
すなわちＥＣＵ３０は、先ずステップ２１３において、回数計測用ディレイカウンタのカウント値（以下、単にディレイカウンタという）ＣＤＬＹをインクリメントする。
【００６２】
続くステップ２１４においては、ディレイカウンタが基準値「０」以上であるか否かを判断する。そしてその判断が肯定であれば、処理をステップ２１５に移行し、その判断が否定であれば処理をステップ２２０（図５）に移行する。
【００６３】
ステップ２１５においては、ディレイカウンタＣＤＬＹが基準値「０」であるか否かを判断する。そしてその判断が肯定であれば処理をステップ１１７に移行し、同ステップ２１６においては、スキップ制御を実行すべきタイミングであることを認識するためのスキッップタイミングフラグＸＯＩＮＶを「ＯＮ」に設定し、処理をステップ２１７に移行する。また、先のステップ２１５での判断が否定であれば処理をステップ２１７にジャンプする。
【００６４】
ステップ２１７においては、ディレイカウンタＣＤＬＹに所定のリッチ側遅延処理値ＴＤＲを設定し、処理をステップ２２０（図５）に移行する。
ステップ２２０においては、スキップタイミングフラグＸＯＸＩＮＶが現在「ＯＮ」に設定されている否かを判断する。そして、その判断が肯定であれば処理をステップ２２１に移行し、その判断が否定であれば処理をステップ２２２に移行する。
【００６５】
ステップ２２１においては、リッチ判定フラグＸＯＸＲが現在「ＯＮ」に設定されているか否かを判断する。そして、その判断が肯定であれば処理をステップ２２３に移行し、その判断が否定であれば処理をステップ２２４に移行する。
【００６６】
一方、ステップ２２２においても上記ステップ２２１と同様に、空燃比フラグＸＦＡＦが現在「ＯＮ」に設定されているか否かを判断する。そして、その判断が肯定であれば処理をステップ２２５に移行し、その判断が否定であれば処理をステップ２２６に移行する。
【００６７】
ステップ２２３においては、空燃比フィードバック補正係数ＦＡＦを所定のリーンスキップ量ＲＳＬ分減量させるスキップ制御を実行する。
ステップ２２４においては、空燃比フィードバック補正係数ＦＡＦを所定のリッチスキップ量ＲＳＲ分増量させるスキップ制御を実行する。
【００６８】
ちなみに、本実施の形態において、リッチスキップ量ＲＳＲ及び上記リーンスキップ量ＲＳＬは、その総和が常に所定値αとなるように設定してある。そして、後述する「空燃比サブフィードバック制御ルーチン」（図６）による処理で、リア酸素センサ１１ｂからのセンサ電圧ＶＯＲに応じてリッチスキップ量ＲＳＲを所定周期毎に変更するとともに、このリッチスキップ量ＲＳＲの変更に対応させてリーンスキップ量ＲＳＬも変更させるよう処理する（ＲＳＬ＝α−ＲＳＲ）。上記ステップ２２３又はステップ２２４の何れかの処理を経た後は、ステップ２２７において、スキップタイミングフラグＸＯＩＮＶを「ＯＦＦ」に設定解除する。
【００６９】
他方、先のスキップ２２２における判断を経てステップ２２５に移行した場合、同ステップ２２５においては、空燃比フィードバック補正係数ＦＡＦを所定の積分定数ＫｉＬ分減量させる積分制御を実行する。
【００７０】
また、ステップ２２６においては、空燃比フィードバック補正係数ＦＡＦを所定の積分定数ＫｉＲ分増量させる積分制御を実行する。
そして、上記ステップ２２５、２２６、２２７のうち何れかの処理を経た後、ＥＣＵ３０は本ルーチンにおける処理を一旦終了する。
【００７１】
ＥＣＵ３０は、以上説明した「空燃比フィードバック制御ルーチン」に基づき空燃比フィードバック補正係数ＦＡＦを算出する。この空燃比フィードバック補正係数ＦＡＦは、基本的にはフロント酸素センサ１１ａからのセンサ電圧ＶＯＦが基準電圧ＫＯＸＲを横切るタイミングに対応して刻々変化する値となる。ただし正確には、センサ電圧ＶＯＦのノイズを除去すべくステップ２０３〜２０７、又はステップ２１３〜２１７に示すような遅延処理が施されるため、同空燃比フィードバック補正係数ＦＡＦのリーン側及びリッチ側間で反転するタイミングは、センサ電圧ＶＯＦがＫＯＸＲを横切るタイミングから遅延処理値（カウント値）ＴＤＲ又はＴＤＬ分遅れることとなる。この遅延処理により、空燃比フィードバック補正係数ＦＡＦの制御波形の安定性が増す。そして、この遅延処理後の空燃比フィードバック補正係数ＦＡＦは、前記「燃料噴射制御ルーチン」において、基本燃料噴射時間ＴＡＵｂｓの一補正係数として用いられることとなる。
【００７２】
次に、上記「空燃比フィードバック制御ルーチン」において、ステップ２２４で用いることとしたリッチスキップ量ＲＳＲを、三元触媒２０下流のリア酸素センサ１１ｂからの検出信号に基づいて適宜変更するために行う「空燃比サブフィードバック制御ルーチン」について説明する。
【００７３】
図６には、ＥＣＵ３０により所定時間毎に周期的に実行される「空燃比サブフィードバック制御ルーチン」の処理手順の概略を示す。ＥＣＵ３０のＲＯＭ３１ｂは以下のルーチンに関するプログラムを予め記憶する。
【００７４】
同図６に示すように、本ルーチンは、大まかにはステップ３００、４００、及び５００の一連の処理ステップから構成されている。すなわち、処理が本ルーチンに移行すると、ＥＣＵ３０は先ずステップ３００において、現在の運転状態が空燃比サブフィードバック制御を実行するための諸条件を全て満たしているか否かを判断する。当該諸条件は、先の「空燃比フィードバック制御ルーチン」で説明した空燃比フィードバック制御の適合条件（ａ１）〜（ａ５）と基本的には同様のものである。ただし、（ａ４）に相当する条件として、リア酸素センサ１１ｂが活性化状態であることが必要とされる。そしてＥＣＵ３０は、当該空燃比サブフィードバック制御の実行条件を満たしている場合には処理をステップ４００に移行し、同条件を満たしていなければ本ルーチンを一旦抜ける。
【００７５】
ステップ４００においては、基本リッチスキップ量ＲＳＲｂｓ及び見込みリッチスキップ量ＲＳＲｍｋの算出を行う。そして、続くステップ５００においては、先のステップ４００において算出した基本リッチスキップ量ＲＳＲｂｓ及び見込みリッチスキップ量ＲＳＲｍｋのうち、何れか一方を選択してそれを今回のリッチスキップ量ＲＳＲとする処理を行う。その後ＥＣＵ３０は、本ルーチンにおける処理を一旦終了する。
【００７６】
ここで、上記ステップ４００における処理内容の詳細を説明する。
図７には、本実施形態の「空燃比サブフィードバック制御ルーチン」を構成する各ステップのうち、ステップ４００（図６）の処理内容を、一連のサブルーチンとして詳細に示す。
【００７７】
さて、ステップ（サブルーチン）４００に処理が移行すると、ＥＣＵ３０は先ずステップ４０１において、リア酸素センサ１１ｂのセンサ電圧ＶＯＲｉが基準電圧ＫＯＸＲＳ（例えば０．４５Ｖ）を上回っているか否かを判断する。そしてその判断が肯定であれば処理をステップ４０２に移行し、その判断が否定であれば処理をステップ４０３に移行する。
【００７８】
ステップ４０２においては、前回読み込まれたリア酸素センサ１１ｂからのセンサ電圧ＶＯＲｉ−１が基準電圧ＫＯＸＲＳを上回っていたか否かを判断する。そして、その判断が肯定であれば処理をステップ４０４に移行し、その判断が否定であれば処理をステップ４０５に移行する。
【００７９】
一方、ステップ４０３においても、上記ステップ４０２と同様に前回読み込まれたリア酸素センサ１１ｂからのセンサ電圧ＶＯＲｉ−１が基準電圧ＫＯＸＲＳを上回っていたか否かを判断する。そして、その判断が肯定であれば処理をステップ４０６に移行し、その判断が否定であれば処理をステップ４０７に移行する。
【００８０】
ステップ４０４においては、ステップ４０１及びステップ４０２における判断から、今回の空燃比Ａ／Ｆは前回と変わらずリッチ側にあると認識して、基本リッチスキップ量ＲＳＲｂｓｉの今回の更新量（加算量）ＤＬｓｆｂｉを所定値（−ｃ％）に設定する（但し、０＜ｃ）。
【００８１】
また、ステップ４０５においては、これも同様にステップ４０１及びステップ４０２における判断から、前回から今回にかけて空燃比Ａ／Ｆがリーン側からリッチ側へ移行したものと認識して、基本リッチスキップ量ＲＳＲｂｓｉ及び見込みリッチスキップ量ＲＳＲｍｋｉの今回の更新量（加算量）ＤＬｓｆｂｉを所定値（−ａ％）に、見込みリッチスキップ量ＲＳＲｍｋｉの今回の更新量（加算量）ＤＬｍｋを所定値（−ｂ％）にそれぞれ設定する（但し、ｃ≪ａ，ｃ≪ｂ）。
【００８２】
一方、ステップ４０６においては、ステップ４０１及びステップ４０３における判断から、今回の空燃比Ａ／Ｆは前回と変わらずリーン側にあると認識して、基本リッチスキップ量ＲＳＲｂｓｉの今回の更新量（加算量）ＤＬｓｆｂｉを所定値ｃ’％に設定する。
【００８３】
また、ステップ４０７においては、これも同様にステップ４０１及びステップ４０３における判断から、前回から今回にかけて空燃比Ａ／Ｆがリッチ側からリーン側へ移行したものと認識して、基本リッチスキップ量ＲＳＲｂｓｉ及び見込みリッチスキップ量ＲＳＲｍｋｉの今回の更新量（加算量）ＤＬｓｆｂｉを所定値ａ’％に、見込みリッチスキップ量ＲＳＲｍｋｉの今回の更新量（加算量）ＤＬｍｋを所定値ｂ’％にそれぞれ設定する（但し、ｃ’≪ａ’，ｃ’≪ｂ’）。
【００８４】
上記のようにＥＣＵ３０は、ステップ４０４〜４０７のうち何れかのステップにおいて、基本リッチスキップ量ＲＳＲｂｓｉ及び見込みリッチスキップ量ＲＳＲｍｋｉの今回の更新量ＤＬｓｆｂｉ及びＤＬｍｋ或いは更新量ＤＬｓｆｂのみをそれぞれ更新設定する。
【００８５】
そして、ステップ４０５又はステップ４０７における処理を経た場合には処理をステップ４０８に移行し、以下の演算式（２）に従って今回の見込みリッチスキップ量ＲＳＲｓｆｂｉを算出し、その後は処理を続くステップ４０９に移行する。
ＲＳＲｍｋｉ  ＝  ＲＳＲｂｓｉ−１  ＋  ＤＬｓｆｂ  ＋  ＤＬｍｋ  …（２）
ステップ４０９においては、先のステップ４０４〜４０８のうち、何れかで求めた更新量ＤＬｓｆｂと前回の基本リッチスキップ量ＲＳＲｂｓｉ−１を用い、以下の演算式（３）に従って今回の基本リッチスキップ量ＲＳＲｂｓｉの算出を行う。
ＲＳＲｂｓｉ  ＝  ＲＳＲｂｓｉ−１  ＋  ＤＬｓｆｂ  …（３）
そしてＥＣＵ３０は、その後の処理を一旦終了する。
【００８６】
次に、これも「空燃比サブフィードバック制御ルーチン」（図６）を構成する各ステップのうち、ステップ５００における処理内容の詳細を説明する。
図８は、上記ステップ５００（図６）の処理内容を、一連のサブルーチンとして詳細に示すものである。
【００８７】
ステップ（サブルーチン）５００に処理が移行すると、ＥＣＵ３０は先ずステップ５０１において、リア酸素センサ１１ｂのセンサ電圧ＶＯＲｉが基準電圧ＫＯＸＲＳ以下であるか否かを判断する。そしてその判断が肯定であれば処理をステップ５０２に移行し、その判断が否定であれば処理をステップ５０３に移行する。
【００８８】
ステップ５０２においては、前記サブルーチン４００のステップ４０９（図７）で求めた基本リッチスキップ量ＲＳＲｂｓｉが、これも同サブルーチン４００で求めた見込みリッチスキップ量ＲＳＲｍｋｉ以下であるか否かを判断する。そしてその判断が肯定であれば処理をステップ５０５に移行し、その判断が否定であれば処理をステップ５０４に移行する。
【００８９】
一方、ステップ５０３においては、基本リッチスキップ量ＲＳＲｂｓｉが見込みリッチスキップ量ＲＳＲｍｋｉを上回っているか否かを判断する。そしてその判断が肯定であれば処理をステップ５０５に移行し、その判断が否定であれば処理をステップ５０４に移行する。
【００９０】
ステップ５０４においては、基本リッチスキップ量ＲＳＲｂｓｉをリッチスキップ量ＲＳＲの最新値として記憶する。一方、ステップ５０５においては、見込みリッチスキップ量ＲＳＲｍｋｉをリッチスキップ量ＲＳＲの最新値として記憶する。
【００９１】
そしてＥＣＵ３０は、両ステップ５０４、５０５のうち何れかのステップを経た後は、その処理を一旦終了する。
ＥＣＵ３０は、以上説明した「空燃比サブフィードバック制御ルーチン」に基づきリッチスキップ量ＲＳＲを算出する。このリッチスキップ量ＲＳＲはリア酸素センサ１１ｂからのセンサ電圧ＶＯＲ応じて刻々変化する値となり、前記「空燃比フィードバック制御ルーチン」（図４、図５）においても説明したように、スキップ制御時において空燃比フィードバック補正係数ＦＡＦの更新に用いられることとなる。
【００９２】
例えば図９（ａ）〜（ｃ）には、リア酸素センサ１１ｂからのセンサ電圧ＶＯＲ（図９（ａ））、このセンサ電圧ＶＯＲに対応するリッチスキップ量ＲＳＲ（図９（ｂ））、及びリッチスキップ量ＲＳＲの変更に応じて変動する空燃比Ａ／Ｆ（図９（ｃ））の一変化態様例を同一時間軸上に示す。
【００９３】
例えば図９（ａ）及び図９（ｂ）に示すように、時刻ｔ１においてセンサ電圧ＶＯＲが基準電圧ＫＯＸＲＳ以下にある状態から上昇して同基準電圧ＫＯＸＲＳを上回ると、リッチスキップ量ＲＳＲは従来の空燃比サブフィードバック制御であればスキップ量（リッチスキップ量ＲＳＲのスキップ量としての更新量）ＤＬｓｆｂをもって点Ａまで減量（スキップ制御）されるところ、本実施形態ではスキップ量ＤＬｓｆｂに対し、所定量（見込みスキップ量）ＤＬｍｋを更に加えた更新量をもって点Ｂまで減量（スキップ）される。スキップ後、リッチスキップ量ＲＳＲは所定期間一定を保ち、点Ｃ移以降は徐変減量（積分制御）される。この積分制御に移行する点Ｃは、同図９（ｂ）中に破線にて示すように、点Ａから徐変減量を行ったと仮想した場合に、その仮想線と現実のリッチスキップ量ＲＳＲと一致する点に相当する。
【００９４】
また、センサ電圧ＶＯＲが基準電圧ＫＯＸＲＳより高い状態から下降して基準電圧ＫＯＸＲＳ以下になった場合も同様の制御を行う。すなわち、例えば時刻ｔ２において、点Ｄにおいてスキップ量ＤＬｓｆｂに所定量（見込みスキップ量）ＤＬｍｋを加えた更新量をもって点Ｅまで増量（スキップ）され、スキップ後のリッチスキップ量ＲＳＲは所定期間一定を保つとともに、点Ｆ以降、徐変増量（積分制御）される。
【００９５】
図９（ｃ）は、上記態様で変更が行われるリッチスキップ量ＲＳＲに対応する三元触媒内の酸素ストレージ量の変動の態様（実線）を、従来の制御に係るもの（二点鎖線）と比較したものである。
【００９６】
同図に示すように、上記のような態様で、リア酸素センサ１１ｂのセンサ電圧ＶＯＲに基づくサブフィードバック制御を行うことにより、本実施形態によれば、三元触媒内の酸素ストレージ量が上限値β或いは下限値γ近傍に滞留する時間が短縮されるとともに、最適量（領域）の中心近傍に収束する傾向が強まり、ＮＯｘ、ＣＯ及びＨＣ等に対する三元触媒の浄化効率が一層向上することとなる。
【００９７】
ここで、従来の制御装置にあっては、リア酸素センサからのセンサ電圧に基づき例えば空燃比フィードバック補正係数ＦＡＦのリッチスキップ量ＲＳＲについて、スキップと徐変とを交互に繰り返させる制御を行っていた。そのような制御態様では、酸素ストレージ量が上限値若しくは下限値となった際、それらの値を中心に向かって速やかに移行させることが困難であった。
【００９８】
この点本実施形態によれば、酸素ストレージ量が上限値β若しくは下限値γに達すると、リッチスキップ量ＲＳＲをその制御波形の中心近傍まで大きくスキップさせることとなるため、これに従い酸素ストレージ量も最適量（領域）の中心近傍まで速やかに移行し、最適量における滞留時間も増す。
【００９９】
この結果、空燃比フィードバック制御による空燃比の最適空燃比への収束性・安定性も増し、外乱等による制御性の悪化も好適に抑制されることとなり、ドライバビリティ及び排気特性の一層の向上が図られることとなる。
【０１００】
以上説明したように、本実施形態の空燃比制御装置によれば、以下のような効果が奏せられることとなる。
（１）リア酸素センサからのセンサ電圧に基づく空燃比サブフィードバック制御による三元触媒内の酸素ストレージ量の最適量（領域）の中心への収束性が一層増す。
（２）酸素ストレージ量の最適量（領域）の中心への収束に係るフィードバック制御に関して、外乱による影響も受けにくくなる。
（３）ドライバビリティや排気特性の一層の向上が図られる。
【０１０１】
なお、本実施形態では、リッチスキップ量ＲＳＲの更新量ＤＬｍｋを所定量としており、この所定量は、運転状態から一義的に算出されるようにマップ等に予め記憶しておくか、定数として予め設定しておくこととなる。
【０１０２】
これに対し、図６に示した空燃比サブフィードバック制御手順のうち、ステップ３００とステップ４００との中間に、図１０に示すステップＰＲＥ４００Ａ及びステップＰＲＥ４００Ｂを実行するように構成してもよい。
【０１０３】
すなわち、図６に示す「空燃比サブフィードバック制御ルーチン」のステップ３００において空燃比サブフィードバック制御の実行条件が成立したものと判断すると、ＥＣＵ３０はその処理をステップＰＲＥ４００Ａ（図１０）に移行する。
【０１０４】
ステップＰＲＥ４００Ａにおいては、リッチスキップ量ＲＳＲの振幅を前回までの処理の履歴から算出する。
すなわち、空燃比サブフィードバック制御に係るリッチスキップ量ＲＳＲの制御波形において、増量のスキップ制御を行う直前のリッチスキップ量ＲＳＲ（最小値（例えば図９（ｂ）における点Ｈ）と、減量のスキップ制御を行う直前のリッチスキップ量ＲＳＲ（最大値（例えば図９（ｂ）における点Ｇ）との偏差を所定回数（例えば３回）分平均することにより、リッチスキップ量ＲＳＲの制御波形の振幅とする。
【０１０５】
続くステップＰＲＥ４００Ｂにおいては、見込みリッチスキップ量ＲＳＲｍｋの更新量ＤＬｍｋを、先のステップＰＲＥ４００Ａで求めたリッチスキップ量ＲＳＲの振幅に基づき予め設定した一次元マップを参照して算出する。
【０１０６】
図１１（ａ）は、同一次元マップ上におけるリッチスキップ量ＲＳＲと更新量ＤＬｍｋとの関係を、三元触媒の劣化傾向及び酸素ストレージ能力の低下傾向と併せて示すものである。
【０１０７】
同図１１（ａ）に示すように、三元触媒２０がその使用により劣化してくると、同触媒内に収容しうる酸素量（飽和量）も低下していく傾向にある。この結果として、空燃比サブフィードバック制御によるリッチスキップ量ＲＳＲの制御波形の振幅が小さくなっていくことが発明者により確認されている（図１１（ｂ）をあわせ参照）。
【０１０８】
ここで、前述したように、上記実施形態における空燃比サブフィードバック制御では、リッチスキップ量ＲＳＲがスキップによって速やかに制御波形の中心まで移行し、その値を維持することが好ましい。そのためここでは、三元触媒２０が劣化するにつれてリッチスキップ量ＲＳＲの振幅が小さくなっても、スキップ制御後のリッチスキップ量ＲＳＲは常にその制御波形の中心に位置するように、すなわち三元触媒２０の劣化に伴って更新量ＤＬｍｋも徐々に小さくなるように上記一次元マップを通じて予め設定しておく。
【０１０９】
続くステップ４００以降は、図６（詳しくは図７及び図８）に示した「空燃比サブフィードバック制御ルーチン」の各処理を行えばよい。
上記のような構成とすることにより、三元触媒２０内の酸素ストレージ量を最適量の中心に収束させる上記実施形態での制御に係る信頼性が一層増すこととなる。とくに、三元触媒２０の劣化等により空燃比サブフィードバック制御に係るリッチスキップ量ＲＳＲの制御振幅がずれてしまうことがあっても、リッチスキップ量ＲＳＲを確実に制御中心に収束させることができるようになる。
【０１１０】
また一方、これも図６に示した空燃比サブフィードバック制御手順のうち、ステップ３００とステップ４００との中間に、図１２に示す一連の処理手順、ステップＰＲＥ４００Ｃ、ステップＰＲＥ４００Ｄ及びステップＰＲＥ４００Ｅを実行するように構成してもよい。
【０１１１】
すなわち、処理が「空燃比サブフィードバック制御ルーチン」（図６）に移行し、ステップ３００において空燃比サブフィードバック制御の実行条件が成立したものと判断すると、ＥＣＵ３０はその処理をステップＰＲＥ４００Ｃに移行する。
【０１１２】
ステップＰＲＥ４００Ｃにおいては、定常度合い係数ＴＥＩＪＲの算出を行う。この定常度合い係数ＴＥＩＪＲとは、吸気量Ｇａ、スロットル開度ＴＡ、エンジン回転数ＮＥやフューエルカット実行の有無、燃料噴射量の強制増量等各種運転状態パラメータに基づき図示しない多次元マップ上で、運転状態がどの程度定常状態に近いかを評価して数量化したものである。
【０１１３】
ここでの例においてはこの定常度合い係数ＴＥＩＪＲを０〜１の範囲で設定することとし、最も定常な状態を「ＴＥＩＪＲ＝１」、もっとも過渡な状態を「ＴＥＩＪＲ＝０」として評価する。
【０１１４】
続くステップ４００Ｄにおいては、リッチスキップ量ＲＳＲの更新なまし（徐変）係数ＮＲＳＲ（但し、ＮＲＳＲ≧１）を先のステップＰＲＥ４００Ｃで求めた定常度合い係数ＴＥＩＪＲに基づき図示しないマップを参照して算出する。ちなみに同マップ上において、定常度合い係数が大きいほどリッチスキップ量ＲＳＲの更新なまし係数ＮＲＳＲは小さく設定される。
【０１１５】
続くステップＰＲＥ４００Ｅにおいては、今回までのリッチスキップ量ＲＳＲの履歴から求めた平均リッチスキップ量ＲＳＲＡＶと、リッチスキップ量ＲＳＲの更新なまし係数とを用いて、以下の演算式（４）に従ってリッチスキップ量ＲＳＲの中心（制御目標とする学習値）ＴＲＳＲｉを算出する。
ＴＲＳＲｉ＝｛ＲＳＲＡＶ＋（ＮＲＳＲｉ−１−１）×ＴＲＳＲｉ−１｝／ＮＲＳＲ…（４）
但し、平均リッチスキップ量ＲＳＲＡＶは、リッチスキップ量ＲＳＲの最大値と最小値とを所定回数分加算し、これらを平均したものである。
【０１１６】
続くステップＰＲＥ４００Ｆにおいては、見込みリッチスキップ量ＲＳＲｍｋｉの今回の更新量ＤＬｍｋを以下の演算式（５）に従って算出する。
｜ＤＬｍｋ｜＝｜ＲＳＲｉ−１−ＴＲＳＲｉ｜−｜ＤＬｓｆｂ｜…（５）
ただし、リッチスキップ量ＲＳＲが減量スキップを行う際には更新量ＤＬｍｋは負の値に、リッチスキップ量ＲＳＲが増量スキップを行う際には更新量ＤＬｍｋは正の値に設定する。
【０１１７】
続くステップ４００以降は、図６（詳しくは図７及び図８）に示した「空燃比サブフィードバック制御ルーチン」における処理を行えばよい。
上記のような構成とすることによっても、三元触媒２０内の酸素ストレージ量を最適量の中心に収束させる上記実施形態による制御に係る信頼性が一層増すこととなる。そしてこの場合も、三元触媒２０の劣化等により空燃比サブフィードバック制御に係るリッチスキップ量ＲＳＲの制御振幅がずれてしまうことがあっても、リッチスキップ量ＲＳＲを確実に制御中心に収束させることができるようになる。
（第２の実施形態）
次に、本発明に係る空燃比制御装置を具体化した第２の実施の形態について、第１の実施の形態と異なる点を中心に説明する。
【０１１８】
該第２の実施の形態の装置も、同じく自動車のエンジンシステムに適用され、空燃比フィードバック制御により燃料噴射量（時間）の補正を行うものである。また、同第２の実施の形態の装置にあっても、適用対象とする自動車のエンジンシステムの構成（図１）、ＥＣＵ（電子制御装置）３０及びその周辺の電気的構成（図２）は先の第１の実施形態の装置と同様であり、それら構成に関するここでの重複する説明は割愛する。
【０１１９】
さて、本実施形態の空燃比制御装置にあっても、先の第１の実施の形態と同様、三元触媒内の酸素ストレージ量を好適な範囲に保持べく、リア酸素センサ１１ｂのセンサ電圧ＶＯＲに応じて空燃比フィードバック補正係数ＦＡＦの変更に係るフィードバック制御を実行する。
【０１２０】
図１３（ａ）〜（ｅ）には、本実施形態に係るリア酸素センサ１１ｂのセンサ電圧ＶＯＲ（図１３（ａ））、空燃比フィードバック補正係数ＦＡＦの更新に係るリッチスキップ量ＲＳＲ（図１３（ｂ））、センサ電圧ＶＯＲの変動に応じて変更される空燃比フィードバック補正係数ＦＡＦの制御波形（図１３（ｃ）及び（ｄ））、及び三元触媒２０内の酸素ストレージ量（図１３（ｅ））の一変化態様例を示す。なお、図１３（ａ）、（ｂ）及び（ｅ）は、同一時間軸上に示すタイムチャートである。
【０１２１】
図１３（ａ）及び（ｂ）に示すように、リア酸素センサ１１ｂのセンサ電圧ＶＯＲに応じて空燃比フィードバック補正係数ＦＡＦの更新に係るリッチスキップ量ＲＳＲが空燃比サブフィードバック制御され、スキップ制御と積分制御とが繰り返されることは、先の図１７（ｃ）及び（ｄ）において説明した通りである。ただし、本実施形態においては、図１３（ａ）における点Ｇ及び点Ｉのように、センサ電圧ＶＯＲがリーン（ＶＯＲ≦基準電圧ＫＯＸＲＳ）からリッチ（ＶＯＲ＞基準電圧ＫＯＸＲＳ）に移行する際にはリーンホールド条件フラグＸＨＬＤＬが「ＯＮ」に設定され、同図における点Ｈに示すように、センサ電圧ＶＯＲがリッチからリーンに移行する際にはリッチホールド条件フラグＸＨＬＤＲが「ＯＮ」に設定される。
【０１２２】
そして、図１３（ｃ）に示すように、例えばリーンホールド条件フラグＸＨＬＤＬが「ＯＮ」に設定されると、空燃比フィードバック補正係数ＦＡＦがリーンスキップを行う際、通常のリーンスキップ量ＲＳＬに加え見込みリーンスキップ量ＲＳＬｍｋを加算した更新量をもってスキップ制御を実行するとともに、次回のスキップタイミングまでは、一定の値を保持する。一方、図１３（ｄ）に示すように、リッチホールド条件フラグＸＨＬＤＲが「ＯＮ」に設定されると、空燃比フィードバック補正係数ＦＡＦがリッチスキップを行う際、通常のリッチスキップ量ＲＳＲに加え見込みリッチスキップ量ＲＳＲｍｋを加算した更新量をもってスキップ制御を実行するとともに、次回のスキップタイミングまでは、一定の値を保持する。
【０１２３】
図１３（ｅ）は、本実施形態における空燃比フィードバック制御及び空燃比サブフィードバック制御を行った場合の酸素ストレージ量（実線）と、リア酸素センサからの信号に基づく従来の制御を行った場合の酸素ストレージ量（破線）の変化態様を比較して示すものである。
【０１２４】
同図に示すように、本実施形態における空燃比フィードバック制御及び空燃比サブフィードバック制御によると、三元触媒が有効に排気を浄化しうる酸素ストレージ量の許容範囲の上限βや下限γに達すると、酸素ストレージ量を速やかに最適量の中心に向かって移行させる作用がさらに向上するようになる。
【０１２５】
以下、本実施形態の空燃比制御装置が実行する空燃比フィードバック制御及び空燃比サブフィードバック制御の詳細について説明する。
本実施形態に係る空燃比フィードバック制御の処理内容は、先の第１の実施形態における「空燃比フィードバック制御ルーチン」（図４及び図５）のうち、ステップ２２０〜ステップ２２７に係る一連の処理手順を、図１４及び図１５に示すサブルーチン６００で置き換えたものである。
【０１２６】
すなわち、「空燃比フィードバック制御ルーチン」（図４及び図５）において、ステップ２０７又はステップ２１７でのに処理を経た後、ＥＣＵ３０はその処理をサブルーチン６００（図１４）に移行する。
【０１２７】
本サブルーチン６００において、先ずステップ６０１では、空燃比フィードバック制御を実行するための上記諸条件（ａ１）〜（ａ５）が満たされているか否かを判断する。
【０１２８】
そして、同諸条件（ａ１）〜（ａ５）が全て満たされているときには、現在の運転状態が空燃比フィードバック制御を行うための条件に適合していると判断して、処理をステップ６０２に移行する。一方上記諸条件（ａ１）〜（ａ５）のうち１つでも満たされていないものがあれば、本サブルーチンを一旦抜ける。
【０１２９】
ステップ６０２においては、スキップタイミングフラグＸＯＸＩＮＶが現在「ＯＮ」に設定されているか否かを判断する。そして、その判断が否定であれば処理をステップ６０４に移行し、その判断が肯定であれば処理をステップ６０５に移行する。
【０１３０】
ステップ６０５においては、空燃比フィードバック補正係数ＦＡＦを所定の積分定数ＫｉＲ分増量させる積分制御を実行する。
また、ステップ６０６においては、空燃比フィードバック補正係数ＦＡＦを所定の積分定数ＫｉＬ分減量させる積分制御を実行する。
【０１３１】
そして、上記ステップ６０５又はステップ６０６のうち何れかの処理を経た後は、処理をステップ６３１（図１５）に移行する。
一方、上記ステップ６０２での判断が肯定であり、その処理をステップ６０３に移行した場合、同ステップ６０３においては、リッチ判定フラグＸＯＸＲが現在「ＯＦＦ」に設定解除されているか否かを判断する。そしてその判断が否定であれば現在の空燃比Ａ／Ｆはリッチであるとみなして処理をステップ６１０に移行し、その判断が肯定であれば現在の空燃比Ａ／Ｆはリーンであるとみなして処理をステップ６２０に移行する。
【０１３２】
ステップ６１０においては、後述する「空燃比サブフィードバック制御ルーチン」（図１６）で適宜更新されるリーンスキップ量ＲＳＬを前回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓｉ−１から減算することにより、今回の基本空燃比フィードバック補正係数ＦＡＦｂｓｉとする。
【０１３３】
続くステップ６１１においては、リッチホールド条件フラグＸＨＤＲを「ＯＦＦ」に解除する。
さらに続くステップ６１２においては、リーンホールド条件フラグＸＨＤＬが現在「ＯＮ」に設定されているか否かを判断する。そしてその判断が肯定であれば処理をステップ６１３に移行し、その判断が否定であれば処理をステップ６３０に移行する。
【０１３４】
ステップ６１３においては、今回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓから所定値ｄを減算し、今回の見込み空燃比フィードバック補正係数ＦＡＦｍｋとする。ちなみに、この所定値ｄを大きく設定するほど先の図１３（ｅ）で説明した上限値β側から下限値γ側に向かって触媒中の酸素ストレージ量を速やかに移行させる効果が高まる。
【０１３５】
一方ステップ６３０においては、今回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓｉを今回の見込み空燃比フィードバック補正係数ＦＡＦｍｋとする。
【０１３６】
他方、先のステップ６０３における判断が肯定で、処理をステップ６２０に移行した場合、同ステップ６２０においては、「空燃比サブフィードバック制御ルーチン」（図１６）で適宜更新されるリッチスキップ量ＲＳＲを前回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓｉ−１に加算することにより、今回の基本空燃比フィードバック補正係数ＦＡＦｂｓｉとする。
【０１３７】
続くステップ６２１においては、リーンホールド条件フラグＸＨＤＬを「ＯＦＦ」に解除する。
さらに続くステップ６２２においては、リッチホールド条件フラグＸＨＤＲが現在「ＯＮ」に設定されているか否かを判断する。そしてその判断が肯定であれば処理をステップ６２３に移行し、その判断が否定であれば処理をステップ６３０に移行する。
【０１３８】
ステップ６２３においては、今回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓから所定値ｄ’を減算し、今回の見込み空燃比フィードバック補正係数ＦＡＦｍｋとする。ちなみに、この所定値ｄ’を大きく設定するほど先の図１３（ｅ）で説明した下限値γ側から上限値βに向かって触媒中の酸素ストレージ量を速やかに移行させる効果が高まる。
【０１３９】
前述したように、ステップ６３０においては今回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓｉを今回の見込み空燃比フィードバック補正係数ＦＡＦｍｋとする。
【０１４０】
上記ステップ６１３、６２３、６３０のうち何れかを経た後は、処理をステップ６３１（図１５）に移行する。
ステップ６３１においては、リッチ判定フラグＸＯＸＲが「ＯＮ」に設定されているか否かを判断する。そしてその判断が肯定であれば処理をステップ６３２に移行し、その判断が否定であれば処理をステップ６３３に移行する。
【０１４１】
ステップ６３２においては今回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓｉが見込み空燃比フィードバック補正係数ＦＡＦｍｋを上回っているか否かを判断する。そしてその判断が肯定であれば処理をステップ６３４に移行し、その判断が否定であれば処理をステップ６３５に移行する。
【０１４２】
一方ステップ６３３においては、今回算出した基本空燃比フィードバック補正係数ＦＡＦｂｓｉが見込み空燃比フィードバック補正係数ＦＡＦｍｋを下回っているか否かを判断する。そしてその判断が肯定であれば処理をステップ６３４に移行し、その判断が否定であれば処理をステップ６３５に移行する。
【０１４３】
ステップ６３４においては見込み空燃比フィードバック補正係数ＦＡＦｍｋを今回の空燃比フィードバック補正係数ＦＡＦとして採用する。一方、ステップ６３５においては、基本空燃比フィードバック補正係数ＦＡＦｂｓｉを今回の空燃比フィードバック補正係数ＦＡＦとして採用する。そしてステップ６３４及びステップ６３５のうち何れかを経た後は、処理をステップ６３６に移行する。同ステップ６３６においては、スキップタイミングフラグＸＯＸＩＮＶを「ＯＦＦ」に解除する。
【０１４４】
そしてＥＣＵ３０は、その後の処理を一旦終了する。
ＥＣＵ３０は、以上説明した「空燃比フィードバック制御ルーチン」に基づき空燃比フィードバック補正係数ＦＡＦを算出する。この空燃比フィードバック補正係数は先の第１の実施形態と同様「燃料噴射制御ルーチン」（図３）において、基本燃料噴射時間ＴＡＵｂｓの一補正係数として用いられることとなる。
【０１４５】
次に、上記「空燃比フィードバック制御ルーチン」において、ステップ２１７で用いることとしたリッチスキップ量ＲＳＲを、三元触媒２０下流のリア酸素センサ１１ｂからの検出信号に基づいて適宜変更するために行う「空燃比サブフィードバック制御ルーチン」について説明する。
【０１４６】
図１６には、ＥＣＵ３０により所定時間毎に周期的に実行される「サブフィードバック制御ルーチン」の処理手順の概略を示す。ＥＣＵ３０のＲＯＭ３１ｂは以下のルーチンに関するプログラムを予め記憶する。
【０１４７】
処理が本ルーチンに移行すると、ＥＣＵ３０は先ずステップ７０１において、現在の運転状態が空燃比サブフィードバック制御を実行するための諸条件を全て満たしているか否かを判断する。当該諸条件は、先の第１の実施形態における「空燃比サブフィードバック制御ルーチン」で説明した空燃比サブフィードバック制御の適合条件と同一のものである。そしてＥＣＵ３０は、当該空燃比サブフィードバック制御の実行条件を満たしている場合には処理をステップ７０２に移行し、同条件を満たしていなければ、ステップ７０３においてリーンホールド条件フラグＸＨＬＤＬを「ＯＮ」に設定すると伴にリッチホールド条件フラグＸＨＬＲを「ＯＦＦ」に設定解除し、本ルーチンを一旦抜ける。
【０１４８】
ステップ７０２においては、リア酸素センサ１１ｂのセンサ電圧ＶＯＲｉが基準電圧ＫＯＸＲ以上であるか否かを判断する。そしてその判断が肯定であれば処理をステップ７０４に移行し、その判断が否定であれば処理をステップ７０５に移行する。
【０１４９】
ステップ７０４においては、前回読み込まれたリア酸素センサ１１ｂからのセンサ電圧ＶＯＲｉ−１が基準電圧ＫＯＸＲを下回っていたか否かを判断する。そして、その判断が肯定であれば処理をステップ７０６に移行し、その判断が否定であればステップ７０７に移行する。
【０１５０】
一方、ステップ７０５においては、前回読み込まれたリア酸素センサ１１ｂからのセンサ電圧ＶＯＲｉ−１が基準電圧ＫＯＸＲを上回っていたか否かを判断する。そして、その判断が肯定であれば処理をステップ７０８に移行し、その判断が否定であれば処理をステップ７０９に移行する。
【０１５１】
ステップ７０６、７０７、７０８及び７０９においては、上記ステップ７０２、７０４及び７０５における判断に基づき、それぞれリッチスキップ量ＲＳＲの今回の更新量ＤＬｓｆｂを決定する。すなわち、ステップ７０６では、更新量ＤＬｓｆｂをリッチスキップ量ＲＳＲの減量に係る比例定数−ｆ（但し、ｆ＞０）として、処理をステップ７１０に移行する。また、ステップ７０７では、更新量ＤＬｓｆｂをリッチスキップ量ＲＳＲの減量に係る積分定数−ｅ（但し、ｆ≫ｅ＞０）として、処理をステップ７１２に移行する。また、ステップ７０８では、更新量ＤＬｓｆｂをリッチスキップ量ＲＳＲの増量に係る比例定数ｆ’（但し、ｆ’＞０）として、処理をステップ７１１に移行する。また、ステップ７０９では、更新量ＤＬｓｆｂをリッチスキップ量ＲＳＲの増量に係る積分定数−ｅ’（但し、ｆ’≫ｅ’＞０）として、処理をステップ７１２に移行する。
【０１５２】
ステップ７１０においては、ステップ７０２及びステップ７０４における判断から、前回から今回にかけて空燃比Ａ／Ｆがリーン側からリッチ側へ移行したものと認識して、リーンホールド条件フラグＸＨＬＤＬを「ＯＮ」に設定すると伴にリッチホールド条件フラグＸＨＬＤＲを「ＯＦＦ」に設定解除した後、処理をステップ７１２に移行する。
【０１５３】
また、ステップ７１１においては、これも同様にステップ７０２及びステップ７０５における判断から、前回から今回にかけて空燃比Ａ／Ｆがリッチ側からリーン側へ移行したものと認識して、リッチホールド条件フラグＸＨＤＬ（図１３（ａ）〜（ｃ）参照）を「ＯＮ」に設定すると伴にリーンホールド条件フラグＸＨＬＤＬを「ＯＦＦ」に設定解除した後、処理をステップ７１２に移行する。
【０１５４】
ステップ７１２においては、現在設定されているリッチスキップ量ＲＳＲに更新量ＤＬｓｆｂを加算し、これを最新のリッチスキップ量ＲＳＲとして再設定する。さらに、リッチスキップ量ＲＳＲ及びリーンスキップ量ＲＳＬの総量として予め設定しておくスキップ総量ＲＳａｄｄ（例えば１０％）から今回再設定したリッチスキップ量ＲＳＲを減算し、これを最新のリーンスキップ量とする。
【０１５５】
そしてＥＣＵ３０は、その後の処理を一旦終了する。
ここで、従来の空燃比サブフィードバック制御では、リア酸素センサからのセンサ電圧に基づき例えば空燃比フィードバック補正係数ＦＡＦのリッチスキップ量ＲＳＲについて、スキップと徐変とを交互に繰り返させるにすぎないため、酸素ストレージ量が触媒ウインドの上限値若しくは下限値となった際、それらの値を同触媒ウインドの中心に向かって速やかに移行させることが困難であった。
【０１５６】
この点本実施形態に係る空燃比制御装置にあっては、酸素ストレージ量が触媒ウインドの上限値若しくは下限値となった際には、スキップ後、通常の空燃比フィードバック補正係数ＦＡＦに所定の増量分ｄ又はｄ’を加味し、これを次回のスキップタイミングまで保持（ホールド）することにより、触媒内の酸素ストレージ量を上限値β及び下限値γの中心に向かって速やかに移行させることとしている。このため、三元触媒内の酸素ストレージ量が触媒ウインドの上限値β或いは下限値γ近傍に滞留する時間が短縮されるとともに、同ウインドの中心近傍に収束する傾向が強まり、ＮＯｘ、ＣＯ及びＨＣ等に対する三元触媒の浄化効率が一層向上することとなる。
【０１５７】
そしてこの結果、先の第１の実施形態と同様空燃比フィードバック制御による空燃比の最適空燃比への収束性・安定性も増し、ドライバビリティ及び排気特性の一層の向上が図られることとなる。
【０１５８】
以上説明したように、本実施形態の空燃比制御装置によれば、以下のような効果が奏せられることとなる。
（１）リア酸素センサからのセンサ電圧に基づく空燃比サブフィードバック制御による三元触媒内の酸素ストレージ量の触媒ウインド中心への収束性が一層増す。
（２）ドライバビリティや排気特性の一層の向上が図られる。
【０１５９】
なお、本実施形態では、リア酸素センサ１１ｂのセンサ電圧ＶＯＲに基づいて例えば図１３（ｂ）に示した制御波形をもってリッチスキップ量ＲＳＲの変更を行いつつ、センサ電圧ＶＯＲがリッチとリーンとの間で反転したときには、リッチスキップ後、或いはリーンスキップ後に所定時間空燃比フィードバック補正係数ＦＡＦを保持する制御を行うこととした。これに対し、リッチスキップ量ＲＳＲの変更に係る制御波形は、上記第１の実施形態で採用したもの（例えば図９（ｂ）参照）を用いて行ってもよい。また、リッチスキップ量ＲＳＲの変更は行わずに、スキップ制御後、空燃比フィードバック補正係数ＦＡＦを所定時間保持する制御のみを行っても、本実施形態と同様の効果を奏することはできる。
【０１６０】
さらに、本実施形態では、リッチスキップ後、或いはリーンスキップ後に所定時間空燃比フィードバック補正係数ＦＡＦを保持する場合には、スキップ制御に係るスキップの量を増大させることとした。これに対し、スキップの量については変更を行わないか、或いはスキップの量は減少させることとしてもよい。
【０１６１】
さらに、センサ電圧ＶＯＲがリッチからリーンに反転したときのみ、或いはリーンからリッチに反転したときのみ、スキップ後、所定時間空燃比フィードバック補正係数ＦＡＦを保持する制御を行うこととしてもよい。
【０１６２】
また、上記第１の実施形態において学習することとしたリッチスキップ量ＲＳＲの制御波形の中心、或いは上記第２の実施形態において用いることとした所定値ｄ，ｄ’の最適値は、三元触媒２０の劣化度合いや吸気量Ｇａ等の運転状態に基づいて算出又は学習することが好適であるが、その算出や学習にあたり、補足的に他のパラメータを用いることもでき、更にその算出に係る演算の態様も多々の関数やマップを適用することができる。さらに第２の実施形態で採用したホールド制御を用いる代わりに、遅延処理値ＴＤＲ或いはＴＤＬを変更することによっても同第２の実施形態とほぼ同様の効果を得ることができる。要は、触媒内の酸素ストレージ量が上限値βや下限値γ近傍に達したときに、リッチ側（増量）、或いはリーン側（減量）に係る空燃比フィードバック補正係数ＦＡＦの時間積分量を一時的に増減する制御を行えばよい。
【０１６３】
また、上記第１及び第２の実施形態において、リア酸素センサ１１ｂのセンサ電圧ＶＯＲに基づき空燃比サブフィードバック制御を行う際、空燃比フィードバック補正係数ＦＡＦの変更に係るリッチスキップ量ＲＳＲを特定の制御波形（例えば図９（ｂ）参照）をもって変更し、このリッチスキップ量ＲＳＲの変更に応じてリーンスキップ量ＲＳＬも変更することとしたが、これとは逆に、リーンスキップ量を特定の制御波形をもって変更し、このリーンスキップ量ＲＳＬの変更に応じてリッチスキップ量ＲＳＲを変更することとしてもよい。
【０１６４】
さらに、リッチスキップ量ＲＳＲ又はリーンスキップ量ＲＳＬのうち、何れか一方のみを空燃比サブフィードバック制御により変更し、他方は不変としてもよい。
【０１６５】
また、とくに前記第１の実施形態に関して、そのリア酸素センサ１１ｂのセンサ電圧ＶＯＲに基づき求める制御量（第１の実施形態ではリッチスキップ量ＲＳＲ）の用途は任意であり、その他の補正量、例えば空燃比フィードバック補正係数ＦＡＦの積分制御に係る積分定数ＫｉＲ、ＫｉＬの補正量として用いることもできる。また、例えばフロント酸素センサとして気体中の酸素濃度の変化に対してリニアな出力電圧を出力する、いわゆるリニア空燃比センサを用いる場合には、その出力電圧若しくは関連値を補正する値として同制御量（リッチスキップ量ＲＳＲ）を用いることもできる。
【０１６６】
また、リア酸素センサのみのセンサ電圧に基づいて空燃比フィードバック制御を行
うこととし、その制御波形として上記第１の実施形態で用いたリッチスキップ量ＲＳＲの波形を適用することとしてもよい。
【０１６７】
さらに、上記第１の実施形態で用いたリッチスキップ量ＲＳＲの波形（図９（ｂ）参照）のうち、例えば区間Ｂ−Ｃや区間Ｅ−Ｆのようにリッチスキップ量ＲＳＲが所定値を保持する区間において、同リッチスキップ量を微小な変化率をもて増加或いは減少させる構成としてもよい。ちなみにこのような構成で制御を行うためには、例えば、図７において示したサブルーチン４００で、それぞれステップ４０４及びステップ４０６の後に、見込みリッチスキップ量ＲＳＲｍｋに対して微小量を加算または減算する処理を設定すればよい。
【０１６８】
【発明の効果】
請求項１又は２に記載した発明によれば、触媒下流での排気空燃比におけるリッチとリーンとの間の反転時に、排気空燃比を触媒ウインド上下限からその中心近傍に向かって速やかに移行させることができるとともに、中心近傍での滞留時間も増す。これにより、機関の排気特性が向上するばかりでなく、フィードバック制御に係る制御周波数も増大し、ドライバビリティの向上も図られる。さらに、空燃比補正量、すなわち制御量の制御中心への収束性が高まり制御振幅も縮小されるため、機関の運転状態が過渡状態にある場合でも外乱によって制御性が悪化することを好適に抑制することができるようになる。
【０１６９】
請求項３〜５何れかに記載した発明によれば、触媒の劣化、機関の運転状態、機関の経年変化等により空燃比補正量の制御振幅が変わってしまった場合であれ、上記所定値を変更することで、空燃比補正量をスキップ制御によって確実に制御中心に移行させることができる。よって、触媒の劣化等による、空燃比の補正量の制御中心への収束性低下を好適に抑制することができるようになる。
【０１７０】
請求項６に記載した発明によれば、排気空燃比におけるリッチとリーンとの間の反転時には、触媒内の酸素ストレージ量が、排気浄化用触煤による浄化能力を保持することのできる上下限付近に滞留している。そこでこのとき、積分制御に係る空燃比補正量の時間積分量を増減することにより、酸素ストレージ量を当該上下限値からその中心近傍に向かって速やかに移行させることができるようになり、触媒内の酸素ストレージ量が触媒ウインド内に好適に保持されるようになる。
【０１７１】
請求項７〜９何れか記載の発明によれば、排気空燃比を触媒ウインド上下限からその中心近傍に向かって移行させる上記請求項６記載の発明による効果が一層強化されるようになる。
【図面の簡単な説明】
【図１】本発明に係る空燃比制御装置の第１の実施形態を示す概略構成図。
【図２】同実施形態に採用されるＥＣＵの電気的構成を示すブロック図。
【図３】燃料噴射制御手順を示すフローチャート。
【図４】同第１の実施形態の空燃比フィードバック制御手順を示すフローチャート。
【図５】同第１の実施形態の空燃比フィードバック制御手順を示すフローチャート。
【図６】同第１の実施形態の空燃比サブフィードバック制御手順を示すフローチャート。
【図７】同第１の実施形態の基本リッチスキップ量及び見込みリッチスキップ量の算出手順を示すフローチャート。
【図８】同第１の実施形態のリッチスキップ量の決定に係る手順を示すフローチャート。
【図９】同第１の実施形態による空燃比制御態様を示すタイムチャート。
【図１０】第１の実施形態に係る空燃比サブフィードバック制御の他の制御手順を示すフローチャート。
【図１１】該他の制御手順でのリッチスキップ量の振幅及び最適な見込みリッチスキップ量の更新量の関係を示す表等。
【図１２】第１の実施形態に係る空燃比サブフィードバック制御のさらに他の制御手順を示すフローチャート。
【図１３】本発明に係る空燃比制御装置の第２の実施形態についてその制御態様を示すタイムチャート。
【図１４】同第２の実施形態の空燃比フィードバック制御手順についてその一部を示すフローチャート。
【図１５】同第２の実施形態の空燃比フィードバック制御手順についてその一部を示すフローチャート。
【図１６】同第２の実施形態の空燃比サブフィードバック制御手順を示すフローチャート。
【図１７】従来の制御装置の空燃比フィードバック及びサブフィードバック態様を示すタイムチャート。
【図１８】従来の装置の空燃比制御態様を示すタイムチャート。
【符号の説明】
１…エンジン、２…吸気系、３…燃焼室、４…排気系、５…スロットルバルブ、６…サージタンク、７…吸気量センサ、８…スロットルポジションセンサ（開度センサ）、９…吸気温センサ、１０…燃料噴射弁、１１ａ…フロント酸素センサ、１１ｂ…リア酸素センサ、１２…イグナイタ、１３…ディストリビュータ、１４…点火プラグ、１５…回転数センサ、  １６…気筒判別センサ、１７…水温センサ、２０…三元触媒、３０…ＥＣＵ（電子制御装置、３１…マイクロコンピュータ、３１ａ…ＣＰＵ、３１ｂ…ＲＯＭ、３１ｃ…ＲＡＭ、３１ｄ…バックアップＲＡＭ、３４…Ａ／Ｄ変換回路、３５…駆動回路。
【図１】
0003551782.tif 000002
【図２】
0003551782.tif 000003
【図３】
0003551782.tif 000004
【図４】
0003551782.tif 000005
【図５】
0003551782.tif 000006
【図６】
0003551782.tif 000007
【図７】
0003551782.tif 000008
【図８】
0003551782.tif 000009
【図９】
0003551782.tif 000010
【図１０】
0003551782.tif 000011
【図１１】
0003551782.tif 000012
【図１２】
0003551782.tif 000013
【図１３】
0003551782.tif 000014
【図１４】
0003551782.tif 000015
【図１５】
0003551782.tif 000016
【図１６】
0003551782.tif 000017
【図１７】
0003551782.tif 000018
【図１８】
0003551782.tif 000019