(57)【要約】【課題】燃料カットからの復帰時のリッチ寄せ補正に伴う空燃比基準補正位置の誤学習を抑制して排気性能を向上させることができる内燃機関の燃料供給制御装置を提供する。【解決手段】排気経路１２には、酸素吸蔵可能な排気浄化触媒１４が配置されている。ＥＣＵ１６は、燃料噴射弁８からの燃料供給量に対して空燃比フィードバック補正を実行するとともに空燃比フィードバック補正係数（ＦＡＦ）に基づき空燃比学習値を学習し、燃料カットからの復帰時には空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う。ＥＣＵ１６は、燃料カットからの復帰時から所定要件を満足する期間において、空燃比学習値の学習を禁止する。【選択図】      図１
2005105834.tif 000002
【特許請求の範囲】
【請求項１】
排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、
前記燃料カットからの復帰時から所定要件を満足する期間において、前記空燃比基準補正位置の学習を禁止する学習禁止手段を備えたことを特徴とする内燃機関の燃料供給制御装置。
【請求項２】
排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、
前記燃料カットからの復帰時から所定要件を満足する期間において、前記空燃比基準補正位置の学習をリッチ側で抑制する学習抑制手段を備えたことを特徴とする内燃機関の燃料供給制御装置。
【請求項３】
排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、
前記燃料カットからの復帰時から所定要件を満足する期間において、前記空燃比基準補正位置を学習するときの前記空燃比フィードバック補正の演算値に対して、前記リッチ寄せ補正の影響を吸収するように補正を加える補正手段を備えたことを特徴とする内燃機関の燃料供給制御装置。
【請求項４】
請求項１〜３のいずれか１項に記載の内燃機関の燃料供給制御装置において、
前記所定要件は、前記排気浄化触媒が曝されている雰囲気の履歴、該排気浄化触媒の下流に配置された酸素センサ又は空燃比センサの検出値及び前記燃料カットからの復帰時からの経過時間の少なくとも１つに基づくことを特徴とする内燃機関の燃料供給制御装置。
【請求項５】
排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、
前記空燃比基準補正位置の学習が完了するまでは、前記リッチ寄せ補正を禁止する禁止手段を備えたことを特徴とする内燃機関の燃料供給制御装置。
【請求項６】
排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、
前記空燃比フィードバック補正の演算値に基づき、内燃機関が有する複数の運転領域の前記リッチ寄せ補正を行う運転領域を除く各運転領域ごとに、空燃比基準補正位置をそれぞれ学習する空燃比学習手段と、
前記リッチ寄せ補正を行う運転領域に隣り合う各運転領域で学習された前記空燃比基準補正位置に基づき、該リッチ寄せ補正を行う運転領域の該空燃比基準補正位置を推定する推定手段と、を備えたことを特徴とする内燃機関の燃料供給制御装置。
【請求項７】
請求項６に記載の内燃機関の燃料供給制御装置において、
前記推定手段は、前記リッチ寄せ補正を行う運転領域に隣り合う各運転領域で学習された前記空燃比基準補正位置を直線補完して、該リッチ寄せ補正を行う運転領域の該空燃比基準補正位置を推定することを特徴とする内燃機関の燃料供給制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料供給制御装置に関する。
【背景技術】
【０００２】
従来、内燃機関の燃料カット復帰直後において、排気系に設けられた三元触媒などの酸素吸蔵可能な排気浄化触媒は酸素吸蔵量が飽和状態あるいは飽和に近い状態となっている。このような状態で燃焼が開始してＮＯｘが排出されると、排気浄化触媒にて十分にＮＯｘが還元できなくなるおそれがある。
【０００３】
このようなＮＯｘの浄化不足を防止するため、燃料カットからの復帰直後に燃料により排気浄化触媒を還元してＮＯｘ浄化能力を復活させる技術が提案されている。
例えば、特許文献１では、燃料カットからの復帰直後に空燃比フィードバック補正係数ＦＡＦとして排気浄化触媒の酸素吸蔵量に応じたリッチスキップ補正量（ｒｓｒｆｃ）を設定し、空燃比フィードバック補正をリッチ側に寄せることで燃料により排気浄化触媒を還元してＮＯｘ浄化能力を復活させる、いわゆるリッチスキップ制御が提案されている。
【０００４】
あるいは、燃料カットからの復帰後の所定期間、空燃比フィードバック補正係数ＦＡＦをリッチ側に嵩上げし、空燃比フィードバック補正をリッチ側に寄せることで燃料により排気浄化触媒を還元してＮＯｘ浄化能力を復活させる、いわゆるリッチシフト制御も提案されている。
【特許文献１】特開２００３−１７２１７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、こうしたリッチスキップ制御、リッチシフト制御といった空燃比のリッチ寄せ制御を行っているときに、現状の空燃比フィードバック補正係数ＦＡＦに基づき空燃比基準補正位置としての空燃比学習値の学習を行うと、以下に詳述するように空燃比学習値がリッチ側に誤学習されることになる。
【０００６】
図２３は、上述した空燃比フィードバック補正のリッチ寄せ制御中における空燃比フィードバック補正係数ＦＡＦとこれに対応した平均値ＦＡＦＡＶ等の推移の一例を示すタイムチャートである。なお、平均値ＦＡＦＡＶは、空燃比がリッチからリーン、若しくはリーンからリッチへと切り替わったときのスキップ補正前の空燃比フィードバック補正係数ＦＡＦとその前回値との平均値に相当し、空燃比学習値はこの平均値ＦＡＦＡＶがリッチ側かリーン側かに合わせてリッチ側若しくはリーン側に補正される。
【０００７】
同図において、時刻ｔ２１に空燃比フィードバック制御が終了すると同時に燃料カットが開始し、続いて時刻ｔ２２に燃料カットが終了すると同時に空燃比フィードバック制御が開始したとする。そして、この時刻ｔ２２以降において燃料カット復帰後のリッチ寄せ制御が実行される期間をリッチ寄せ制御期間Ｔで表すと、この制御期間Ｔにおけるスキップ補正前の空燃比フィードバック補正係数ａ１〜ａ４…はリッチ側に偏って推移する。そして、この空燃比フィードバック補正係数の推移に対応して、リッチ寄せ制御期間Ｔの平均値ＦＡＦＡＶは、リッチ寄りで算出される。これに伴い、空燃比学習値がリッチ寄りに誤学習されることになる。このような空燃比学習値のリッチ寄りの誤学習が生じると、排気浄化性能が悪化するおそれがある。
【０００８】
本発明は、燃料カットからの復帰時のリッチ寄せ補正に伴う空燃比基準補正位置の誤学習を抑制して排気性能を向上させることができる内燃機関の燃料供給制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
以下、上記課題を解決するための手段、及びその作用効果を記載する。
請求項１に記載の発明は、排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、前記燃料カットからの復帰時から所定要件を満足する期間において、前記空燃比基準補正位置の学習を禁止する学習禁止手段を備えたことを要旨とする。
【００１０】
請求項１に記載の発明によれば、燃料カットからの復帰時から所定要件を満足する期間（即ち、リッチ寄せ補正に伴う上記燃料供給量の強制的な増量が著しい期間）においては、前記学習禁止手段により前記空燃比基準補正位置の学習が禁止される。従って、上記期間に対応する燃料供給量の増量傾向が、空燃比基準補正位置の学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比基準補正位置の学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能を向上できる。
【００１１】
請求項２に記載の発明は、排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、前記燃料カットからの復帰時から所定要件を満足する期間において、前記空燃比基準補正位置の学習をリッチ側で抑制する学習抑制手段を備えたことを要旨とする。
【００１２】
請求項２に記載の発明によれば、燃料カットからの復帰時から所定要件を満足する期間（即ち、リッチ寄せ補正に伴う上記燃料供給量の強制的な増量が著しい期間）においては、前記学習抑制手段により前記空燃比基準補正位置の学習がリッチ側で抑制される。従って、上記期間に対応する燃料供給量の増量傾向が、空燃比基準補正位置の学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比基準補正位置の学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能を向上できる。また、前記空燃比基準補正位置の学習がリッチ側で抑制されるものの、同学習が継続されることで燃料カットからの復帰時に徒に学習機会を失することも回避できる。
【００１３】
請求項３に記載の発明は、排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、前記燃料カットからの復帰時から所定要件を満足する期間において、前記空燃比基準補正位置を学習するときの前記空燃比フィードバック補正の演算値に対して、前記リッチ寄せ補正の影響を吸収するように補正を加える補正手段を備えたことを要旨とする。
【００１４】
請求項３に記載の発明によれば、燃料カットからの復帰時から所定要件を満足する期間（即ち、リッチ寄せ補正に伴う上記燃料供給量の強制的な増量が著しい期間）においては、前記補正手段により前記空燃比基準補正位置を学習するときの前記空燃比フィードバック補正の演算値に対して、前記リッチ寄せ補正の影響を吸収するように補正が加えられる。従って、上記期間に対応する燃料供給量の増量傾向が、空燃比基準補正位置の学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比基準補正位置の学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能を向上できる。また、前記空燃比基準補正位置を学習するときの前記空燃比フィードバック補正の演算値に対して、前記リッチ寄せ補正の影響を吸収するように補正が加えられるものの、同学習が継続されることで燃料カットからの復帰時に徒に学習機会を失することも回避できる。
【００１５】
請求項４に記載の発明は、請求項１〜３のいずれか１項に記載の内燃機関の燃料供給制御装置において、前記所定要件は、前記排気浄化触媒が曝されている雰囲気の履歴、該排気浄化触媒の下流に配置された酸素センサ又は空燃比センサの検出値及び前記燃料カットからの復帰時からの経過時間の少なくとも１つに基づくことを要旨とする。
【００１６】
請求項５に記載の発明は、排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに該空燃比フィードバック補正の演算値に基づき空燃比基準補正位置を学習し、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、前記空燃比基準補正位置の学習が完了するまでは、前記リッチ寄せ補正を禁止する禁止手段を備えたことを要旨とする。
【００１７】
請求項５に記載の発明によれば、燃料カットからの復帰時は、前記空燃比基準補正位置の学習が完了するまで前記禁止手段により前記リッチ寄せ補正が禁止される。従って、例えばリッチ寄せ補正に伴う燃料供給量の増量傾向が、空燃比基準補正位置の学習に反映されて同学習が完了してしまうような誤学習を回避できる。これにより、例えば上記空燃比基準補正位置の学習完了時における空燃比のオーバーリッチ補正を回避でき、ひいては排気性能を向上できる。
【００１８】
請求項６に記載の発明は、排気系に酸素吸蔵可能な排気浄化触媒が配置される内燃機関の燃料供給制御装置であって、燃料供給量に対して空燃比フィードバック補正を実行するとともに、燃料カットからの復帰時には該空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正を行う内燃機関の燃料供給制御装置において、前記空燃比フィードバック補正の演算値に基づき、内燃機関が有する複数の運転領域の前記リッチ寄せ補正を行う運転領域を除く各運転領域ごとに、空燃比基準補正位置をそれぞれ学習する空燃比学習手段と、前記リッチ寄せ補正を行う運転領域に隣り合う各運転領域で学習された前記空燃比基準補正位置に基づき、該リッチ寄せ補正を行う運転領域の該空燃比基準補正位置を推定する推定手段と、を備えたことを要旨とする。
【００１９】
請求項６に記載の発明によれば、前記空燃比フィードバック補正の演算値に基づき、内燃機関が有する複数の運転領域の前記リッチ寄せ補正を行う運転領域を除く各運転領域ごとに空燃比基準補正位置が学習される。そして、前記リッチ寄せ補正を行う運転領域に隣り合う各運転領域で学習された前記空燃比基準補正位置に基づき、前記推定手段により該リッチ寄せ補正を行う運転領域の該空燃比基準補正位置が推定される。従って、前記リッチ寄せ補正を行う運転領域では、当該補正の実行の如何に関わらず直接的に空燃比基準補正位置が学習されることはない。このため、例えばリッチ寄せ補正の実行時における燃料供給量の増量傾向が対応する運転領域の空燃比基準補正位置の学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比基準補正位置の学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能を向上できる。また、例えば誤学習防止のために前記リッチ寄せ補正時の空燃比基準補正位置の学習を禁止する場合、換言すれば当該運転領域の特定状況下で空燃比基準補正位置を学習する場合に比べてその学習精度を向上することができる。さらには、前記リッチ寄せ補正を行う運転領域に隣り合う各運転領域で学習された前記空燃比基準補正位置に基づき該リッチ寄せ補正を行う運転領域の該空燃比基準補正位置が推定されるとはいえ、同学習が継続されることで燃料カットからの復帰時に徒に学習機会を失することも回避できる。
【００２０】
請求項７に記載の発明は、請求項６に記載の内燃機関の燃料供給制御装置において、前記推定手段は、前記リッチ寄せ補正を行う運転領域に隣り合う各運転領域で学習された前記空燃比基準補正位置を直線補完して、該リッチ寄せ補正を行う運転領域の該空燃比基準補正位置を推定することを要旨とする。
【００２１】
請求項７に記載の発明によれば、前記リッチ寄せ補正を行う運転領域に隣り合う各運転領域で学習された前記空燃比基準補正位置を直線補完する極めて簡易な手法で、該リッチ寄せ補正を行う運転領域の該空燃比基準補正位置を推定することができる。
【発明を実施するための最良の形態】
【００２２】
（第１の実施形態）
以下、本発明を具体化した第１の実施形態について図面に従って説明する。
図１は、本実施形態の車両走行用の内燃機関（以下、「エンジン」という）及びその制御装置の概略構成を表すブロック図である。ここでエンジン２は多気筒（例えば４気筒）ガソリンエンジンであり、吸気経路４からスロットルバルブ６により調整された吸入空気が各気筒に供給される。そして吸気経路４に各気筒ごとに設けられた燃料噴射弁８から吸気中に燃料噴射がなされ、混合気として各気筒の燃焼室内に吸入される。この混合気は点火プラグ１０により点火されて燃焼する。燃焼後の排気は排気経路１２に排出され、酸素吸蔵機能を有する排気浄化触媒（ここでは三元触媒）１４を介して排気が浄化されて外部に排出される。
【００２３】
ＥＣＵ（電子制御ユニット）１６は、吸気経路４に設けられた吸入空気量センサ１８が検出する吸入空気量ＧＡ（ｇ／ｓｅｃ）、回転数センサ２０が検出するエンジン回転数ＮＥ（ｒｐｍ）、冷却水温センサ２２が検出するエンジン冷却水温ＴＨＷ（℃）を読み込む。また、ＥＣＵ１６は、排気浄化触媒１４の下流側において排気経路１２に設けられたＯ２センサ２４が検出する排気中の酸素濃度Ｖｏｘ、アクセル開度センサ２６が検出するアクセルペダル２６ａの踏み込み量（アクセル開度）ＴＡ等を読み込む。ＥＣＵ１６は、これら運転状態検出情報に基づき、内部のＲＯＭに書き込まれたプログラムに従って処理を行い、スロットルバルブ６、燃料噴射弁８、点火プラグ１０等を制御する。
【００２４】
次に、ＥＣＵ１６により実行される酸素吸蔵量算出処理について、図２のフローチャートに基づき説明する。この処理は排気浄化触媒１４の酸素吸蔵量ｄｏｓａｍを求める処理であり、所定時間ごとの定時割り込みで繰り返し実行される。本処理が開始されると、ＥＣＵ１６はＳ（ステップ）１０１において燃料カット中か否かを判断する。燃料カットは、例えばアクセルペダル２６ａが完全に戻された状態、すなわちアクセル開度センサ２６にて検出されるアクセル開度ＴＡが「０％」を示している場合や、更にエンジン回転数ＮＥが燃料カットを実行するための燃料カット基準回転数より高くなっていた場合に、燃料噴射弁８からの燃料噴射を停止する処理である。この燃料カットの処理は、ＥＣＵ１６により別途実行されている。
【００２５】
ここで、燃料カット中ではないと判断されると、ＥＣＵ１６は燃料噴射（ここでは理論空燃比を目標空燃比とする空燃比フィードバック制御による燃料噴射）中と判断し、Ｓ１０２に移行して燃料カット復帰直後か否か、すなわち燃料カットの処理から燃料噴射の処理への移行直後か否かを判断する。そして、燃料カット復帰直後と判断されると、ＥＣＵ１６はＳ１０３に移行して図３に示す直前までの燃料カットの継続時間ｆｃｔのマップＭｏｉｎｃ（ｆｃｔ）に基づき加算量ｏｉｎｃを算出する。この加算量ｏｉｎｃは、燃料カット中に燃料噴射弁８からの燃料噴射が停止されたことで、各気筒の燃焼室で燃焼されることなく排気浄化触媒１４に供給された酸素量に相当する。次に、ＥＣＵ１６はＳ１０４に移行して、下式（１）に基づき酸素吸蔵量ｄｏｓａｍを更新し、その後の処理を一旦終了する。
【００２６】
ｄｏｓａｍ  ←  ＭＩＮ（ｄｏｓａｍ＋ｏｉｎｃ，ｏｓａｍａｘ）  …（１）
ここで、右辺のｄｏｓａｍは前回の演算周期にて求められた酸素吸蔵量であり、左辺のｄｏｓａｍは今回新たに求められた酸素吸蔵量である（以下、同様）。また、酸素吸蔵量最大値ｏｓａｍａｘは、酸素吸蔵量ｄｏｓａｍとして更新可能な上限値である。従って、燃料カット復帰直後の酸素吸蔵量ｄｏｓａｍは、この酸素吸蔵量最大値ｏｓａｍａｘを上限にステップ状に増加補正される。
【００２７】
一方、Ｓ１０２において燃料カット復帰直後ではないと判断されると、ＥＣＵ１６は燃料カット復帰後の燃料噴射中であると判断する。そして、ＥＣＵ１６はＳ１０５に移行して図４に示す吸入空気量ＧＡのマップＭｏｄｅｃ（ＧＡ）に基づき積分量ｏｄｅｃを算出する。この積分量ｏｄｅｃは、燃料噴射中に理論空燃比での燃焼が行われているとして、排気に僅かに含まれる未燃ガスにより排気浄化触媒１４が還元されるときの酸素量に相当する。次に、ＥＣＵ１６はＳ１０６に移行して、下式（２）に基づき酸素吸蔵量ｄｏｓａｍを更新し、その後の処理を一旦終了する。
【００２８】
ｄｏｓａｍ  ←  ＭＡＸ（ｄｏｓａｍ−ｏｄｅｃ，０）  …（２）
ここで、値「０」は、酸素吸蔵量ｄｏｓａｍとして更新可能な下限値である。従って、燃料カット復帰後の酸素吸蔵量ｄｏｓａｍは、値「０」を下限に漸減補正される。
【００２９】
また、Ｓ１０１において燃料カット中と判断されると、ＥＣＵ１６は酸素吸蔵量ｄｏｓａｍを更新することなくその後の処理を一旦終了する。
図５は、上記酸素吸蔵量算出処理に伴う酸素吸蔵量ｄｏｓａｍ等の推移の一例を示すタイムチャートである。同図において、時刻ｔ１に空燃比フィードバック制御（燃料噴射）が終了すると同時に燃料カットが開始したとする。このとき、時刻ｔ１以降において酸素吸蔵量ｄｏｓａｍは燃料カットが開始する直前の値を維持する。
【００３０】
次に、時刻ｔ２において燃料カットが終了すると同時に空燃比フィードバック制御が開始したとする。このとき、酸素吸蔵量ｄｏｓａｍは燃料カットの継続時間ｆｃｔ（＝ｔ２−ｔ１）に基づく加算量ｏｉｎｃだけステップ状に増加する。そして、再び空燃比フィードバック制御が終了すると同時に燃料カットが開始する時刻ｔ３までの間は、酸素吸蔵量ｄｏｓａｍは上記吸入空気量ＧＡに基づく積分量ｏｄｅｃで漸減する。
【００３１】
時刻ｔ３以降において酸素吸蔵量ｄｏｓａｍは、上記に準じて燃料カットが開始する直前の値を維持する。そして、再び時刻ｔ４において燃料カットが終了すると同時に空燃比フィードバック制御が開始すると、上記に準じて酸素吸蔵量ｄｏｓａｍは上記燃料カットの継続時間ｆｃｔ（＝ｔ４−ｔ３）に基づく加算量ｏｉｎｃだけステップ状に増加する。以下、同様の処理が繰り返され、酸素吸蔵量ｄｏｓａｍの更新等が実行される。
【００３２】
次に、ＥＣＵ１６により実行される燃料噴射量算出処理について、図６のフローチャートに基づき説明する。この処理は燃料噴射弁８からの燃料噴射量を燃料噴射弁開弁時間ＴＡＵとして求める処理であり、所定時間ごとの定時割り込みで繰り返し実行される。なお、一定クランク角（ここでは４気筒エンジンであるので１８０°ＣＡ）ごとの割り込みで繰り返し実行されるようにしてもよい。本処理が開始されると、ＥＣＵ１６はＳ２０１においてエンジン回転数ＮＥ及び吸入空気量ＧＡに基づいて、内部のＲＯＭに記憶されているマップＭＴＰから基本燃料噴射弁開弁時間ＴＰを求める。
【００３３】
次に、Ｓ２０２においてＥＣＵ１６は、空燃比フィードバック制御を行う条件が成立しているか否かを判断する。この条件とは例えば次のごとくである。
（１）始動時でない。
（２）燃料カット中でない。
（３）暖機完了している。（例えば冷却水温ＴＨＷ≧４０℃）
（４）Ｏ２センサ２４は活性が完了している。
【００３４】
以上の（１）〜（４）の全ての条件が成立している場合は、ＥＣＵ１６はＳ２０３に移行して後述する空燃比フィードバック補正係数算出処理のサブルーチンを実行する。この空燃比フィードバック補正係数算出処理のサブルーチンは、空燃比フィードバック補正の演算値としての空燃比フィードバック補正係数ＦＡＦを求める処理である。
【００３５】
次いで、ＥＣＵ１６はＳ２０４に移行して後述する空燃比学習値算出処理のサブルーチンを実行し、Ｓ２０６に移行する。この空燃比学習値算出処理のサブルーチンは、空燃比学習値ＫＧＸｊを求める処理である。なお、空燃比学習値ＫＧＸｊのインデックスｊは、最大吸入空気量の０％から１００％までを複数（例えば４）分割して定めたエンジン２の運転領域（以下、「学習領域ＫＧｊ（ｊ＝１〜４）」という）において、現在の吸入空気量ＧＡが属する学習領域ＫＧｊのインデックスｊを表している。
【００３６】
一方、Ｓ２０２において前記（１）〜（４）のいずれか１つでも条件が満足されないときは、ＥＣＵ１６はＳ２０５に移行して空燃比フィードバック補正係数ＦＡＦを値「１．０」に設定し、Ｓ２０６に移行する。
【００３７】
Ｓ２０６においてＥＣＵ１６は、空燃比学習反映値算出処理を実行する。この空燃比学習反映値算出処理は、以下の態様で空燃比学習反映値ＫＧＸＸを求める処理である。すなわち、図７に学習領域ＫＧｊ（ｊ＝１〜４）と当該学習領域での空燃比学習値ＫＧＸｊ（ｊ＝１〜４）との関係をグラフで示したように、各学習領域ＫＧｊ（ｊ＝１〜４）には、それぞれに対応して算出された空燃比学習値ＫＧＸｊ（ｊ＝１〜４）が設定されている。各空燃比学習値ＫＧＸｊ（ｊ＝１〜４）は、当該学習領域ＫＧｊ（ｊ＝１〜４）の中点に対応する値としてそれぞれ設定されている。ここで、例えば現在の吸入空気量ＧＡが学習領域ＫＧ１内においてその中点に対し学習領域ＫＧ２寄りの吸入空気量ｇａであったとする。このとき、ＥＣＵ１６は、学習領域ＫＧ１の中点に対する空燃比学習値ＫＧＸ１と、学習領域ＫＧ２の中点に対する空燃比学習値ＫＧＸ２との直線補間によって吸入空気量ｇａに対する空燃比学習反映値ＫＧＸＸを算出する（他の吸入空気量に対しても上記に準じた直線補完が実行される）。
【００３８】
以上の態様で空燃比学習反映値ＫＧＸＸを算出したＥＣＵ１６は、Ｓ２０７に移行して下式（３）に基づき燃料噴射弁開弁時間ＴＡＵを更新し、その後の処理を一旦終了する。
ＴＡＵ  ←  Ｋ１・ＴＰ・（ＦＡＦ＋ＫＧＸＸ）＋Ｋ２  …（３）
ここでＫ１およびＫ２は暖機増量、始動増量等を含む補正係数である。燃料噴射弁開弁時間ＴＡＵは、ＥＣＵ１６により別途実行される燃料噴射処理において読み込まれ、これに対応して燃料噴射弁８からの燃料噴射量（燃料供給量）が制御されるようになっている。従って、式（３）における空燃比フィードバック補正係数ＦＡＦの設定によって燃料供給量に対する空燃比フィードバック補正が実行される。また、後述する態様でこの空燃比フィードバック補正係数ＦＡＦがリッチ側に嵩上げされることで、空燃比フィードバック補正をリッチ側に寄せるリッチ寄せ補正が行われる。なお、空燃比学習反映値ＫＧＸＸの算出に係る空燃比学習値ＫＧＸｊ（ｊ＝１〜４）は、実質的に空燃比フィードバック補正係数ＦＡＦにより基本燃料噴射弁開弁時間ＴＰを補正する際の中心位置を決定している値であり、「空燃比基準補正位置」に相当する。
【００３９】
次に、上述したＳ２０３における空燃比フィードバック補正係数算出処理について、図８〜図１０のフローチャート等に基づき説明する。本処理が開始されると、ＥＣＵ１６はＳ２１１において燃料カット復帰直後か否かを判断する。ここで、燃料カット復帰直後と判断されると、ＥＣＵ１６はＳ２１２に移行して図９に示す現在の酸素吸蔵量ｄｏｓａｍのマップＭｒｓｒｆｃ（ｄｏｓａｍ）に基づき燃料カット復帰時（直後）のリッチスキップ補正量ｒｓｒｆｃを算出し、Ｓ２１３においてこれを空燃比フィードバック補正係数ＦＡＦとして更新・設定する。図９から明らかなように、このリッチスキップ補正量ｒｓｒｆｃは、酸素吸蔵量ｄｏｓａｍが大きいほど大きくなるように設定されている。すなわち、燃料カット復帰直後の空燃比フィードバック補正係数ＦＡＦは、酸素吸蔵量ｄｏｓａｍが大きいほどリッチ側に大きくなるように設定される。
【００４０】
次に、ＥＣＵ１６はＳ２１４に移行してリッチスキップフラグをオンし、図６のルーチンに戻る。このリッチスキップフラグは、燃料カット復帰直後において、上記リッチスキップ補正量ｒｓｒｆｃが空燃比フィードバック補正係数ＦＡＦとして設定されるときにオンされるフラグである。
【００４１】
一方、Ｓ２１１において燃料カット復帰直後ではないと判断されると、ＥＣＵ１６は図１０のＳ２１５に移行してＯ２センサ２４により検出された酸素濃度Ｖｏｘに基づき、現在の空燃比がリーン（理論空燃比よりも燃料濃度が希薄である状態）か否かを判断する。ここでリーンと判断されると、ＥＣＵ１６はＳ２１６に移行して前回の演算周期においても空燃比がリーンであったか否かを判断する。そして、前回の演算周期においても空燃比がリーンであったと判断されると、ＥＣＵ１６はリーンが継続しているものとして、Ｓ２１７に移行して空燃比フィードバック補正係数ＦＡＦを積分量ａ（ａ＞０）だけ増加させ、図６のルーチンに戻る。
【００４２】
また、Ｓ２１６において前回の演算周期では空燃比がリーンでなかったと判断されると、ＥＣＵ１６はリッチ（理論空燃比よりも燃料濃度が濃厚である状態）からリーンに反転したものとして、Ｓ２１８に移行して酸素吸蔵量ｄｏｓａｍが所定の閾値ＴＨ１よりも大きいか否かを判断する。この閾値ＴＨ１は、燃料カット復帰後において排気浄化触媒１４に未だ多量の酸素が蓄えられていることを判断する好適な値に設定されている。ここで、酸素吸蔵量ｄｏｓａｍが上記閾値ＴＨ１以下と判断されると、ＥＣＵ１６はＳ２１９に移行する。そして、ＥＣＵ１６は現状の（前回の演算周期で更新された）空燃比フィードバック補正係数ＦＡＦをスキップ補正前の空燃比フィードバック補正係数ＦＡＦ１として更新し、続いて空燃比フィードバック補正係数ＦＡＦをスキップ量Ａ（Ａ＞０）だけ増加させ、図６のルーチンに戻る。なお、スキップ量Ａは、積分量ａに比較して十分に大きな値に設定されている。
【００４３】
また、Ｓ２１８において酸素吸蔵量ｄｏｓａｍが上記閾値ＴＨ１よりも大きいと判断されると、ＥＣＵ１６は排気浄化触媒１４に未だ多量の酸素が蓄えられているものとして、Ｓ２２０に移行する。そして、ＥＣＵ１６は現状の空燃比フィードバック補正係数ＦＡＦをスキップ補正前の空燃比フィードバック補正係数ＦＡＦ１として更新し、続いて空燃比フィードバック補正係数ＦＡＦを上記スキップ量Ａだけ増加させたものに更に所定のリッチシフト補正量ｒｓａｄｊ（ｒｓａｄｊ＞０）だけ増加させる。すなわち、酸素吸蔵量ｄｏｓａｍが大きいときの空燃比フィードバック補正係数ＦＡＦは、上記リッチシフト補正量ｒｓａｄｊの分だけリッチ側に大きくなるように設定される。
【００４４】
次に、ＥＣＵ１６はＳ２２１に移行してリッチシフトフラグをオンし、図６のルーチンに戻る。このリッチシフトフラグは、燃料カット復帰後において、上記リッチシフト補正量ｒｓａｄｊの分だけ空燃比フィードバック補正係数ＦＡＦが増加（嵩上げ）されるときにオンされるフラグである。
【００４５】
一方、Ｓ２１５においてリーンではない（リッチである）と判断されると、ＥＣＵ１６はＳ２２２に移行して前回の演算周期においても空燃比がリッチであったか否かを判断する。そして、前回の演算周期においても空燃比がリッチであったと判断されると、ＥＣＵ１６はリッチが継続しているものとして、Ｓ２２３に移行する。そして、ＥＣＵ１６は空燃比フィードバック補正係数ＦＡＦを積分量ｂ（ｂ＞０）だけ減少させ、図６のルーチンに戻る。
【００４６】
また、Ｓ２２２において前回の演算周期では空燃比がリッチでなかったと判断されると、ＥＣＵ１６はリーンからリッチに反転したものとして、Ｓ２２４に移行する。そして、ＥＣＵ１６は現状の空燃比フィードバック補正係数ＦＡＦをスキップ補正前の空燃比フィードバック補正係数ＦＡＦ１として更新し、続いて空燃比フィードバック補正係数ＦＡＦをスキップ量Ｂ（Ｂ＞０）だけ減少させ、図６のルーチンに戻る。なお、スキップ量Ｂは、積分量ｂに比較して十分に大きな値に設定されている。
【００４７】
ＥＣＵ１６により以上の態様で算出された空燃比フィードバック補正係数ＦＡＦが図６のＳ２０７において燃料噴射弁開弁時間ＴＡＵの算出に供されることで、燃料噴射弁８からの燃料噴射量が制御されることになる。特に、Ｓ２１３において空燃比フィードバック補正係数ＦＡＦがリッチスキップ補正量ｒｓｒｆｃに設定されることで、燃料噴射弁８からの燃料噴射量がリッチ寄りに制御（リッチスキップ制御）される。同様に、Ｓ２２０において空燃比フィードバック補正係数ＦＡＦがリッチシフト補正量ｒｓａｄｊの分だけ嵩上げ設定されることでも、燃料噴射弁８からの燃料噴射量がリッチ寄りに制御（リッチシフト制御）される。これら燃料噴射量のリッチ寄りの制御（リッチスキップ制御、リッチシフト制御）を総括する概念としてリッチ寄せ制御という。
【００４８】
空燃比フィードバック補正係数ＦＡＦの算出処理を行い、図６のルーチンに戻ったＥＣＵ１６は、前述の空燃比学習値算出処理（Ｓ２０４）を実行する。以下、空燃比学習値算出処理について、図１１及び図１２のフローチャートに基づき説明する。
【００４９】
本処理が開始されると、ＥＣＵ１６はＳ２３１において吸入空気量ＧＡに基づき現在の学習領域ＫＧｊの領域番号ｔｊを算出する。そして、Ｓ２３２において前回演算時の学習領域ＫＧｊから変わったか、すなわち、ｊ≠ｔｊであるかを判断する。ここで、前回演算時の学習領域ＫＧｊから変わったと判断されると、ＥＣＵ１６はＳ２３３に移行してインデックスｊを学習領域番号ｔｊに更新し、更にＳ２３４に移行してスキップ回数ＣＳＫＩＰをクリアして、図６のルーチンに戻る。なお、スキップ回数ＣＳＫＩＰは、同じ学習領域ＫＧｊのまま空燃比がリーンからリッチ若しくはリッチからリーンへと切り替わる回数に相当する。
【００５０】
Ｓ２３２において前回演算時の学習領域ＫＧｊから変わっていないと判断されると、ＥＣＵ１６はＳ２３５に移行して空燃比がリーンからリッチ若しくはリッチからリーンへと切り替わったか否かを判断する。そして、こうした切り替わりがないと判断されると、ＥＣＵ１６はそのまま図６のルーチンに戻る。
【００５１】
また、Ｓ２３５において上記切り替わりがあると判断されると、ＥＣＵ１６はＳ２３６に移行して空燃比フィードバック補正係数ＦＡＦの平均値ＦＡＦＡＶの算出処理を実行する。すなわち、ＥＣＵ１６は図１２のＳ２５１に移行して、前記リッチスキップフラグ若しくはリッチシフトフラグがオンか否かを判断する。ここで、上記リッチスキップフラグ及びリッチシフトフラグがともにオンではない（オフである）と判断されると、ＥＣＵ１６はＳ２３６に移行して下式（４）に基づき平均値ＦＡＦＡＶを算出し、Ｓ２５５に移行する。
【００５２】
ＦＡＦＡＶ  ←  （ＦＡＦ１＋ＦＡＦ０）／２  …（４）
なお、前回空燃比フィードバック補正係数ＦＡＦ０は、空燃比がリーンからリッチ若しくはリッチからリーンへと切り替わった前回のスキップ補正前の空燃比フィードバック補正係数、すなわち空燃比フィードバック補正係数ＦＡＦ１の前回値である。
【００５３】
一方、Ｓ２５１においてリッチスキップフラグ若しくはリッチシフトフラグがオンと判断されると、ＥＣＵ１６はＳ２５３に移行して上記平均値ＦＡＦＡＶを「１．０」に設定する。後述するように、この平均値ＦＡＦＡＶの「１．０」への設定は、実質的に空燃比学習値ＫＧＸｊの更新を行わない（空燃比学習を禁止する）設定に相当する。次に、ＥＣＵ１６はＳ２５４に移行してリッチスキップフラグ及びリッチシフトフラグをオフに設定し（クリアし）、Ｓ２５５に移行する。
【００５４】
そして、Ｓ２５５においてＥＣＵ１６は、現在のスキップ補正前の空燃比フィードバック補正係数ＦＡＦ１を前回空燃比フィードバック補正係数ＦＡＦ０として更新し、図１１のルーチンに戻ってＳ２３７に移行する。
【００５５】
Ｓ２３７においてＥＣＵ１６は、前記スキップ回数ＣＳＫＩＰをインクリメントし、続いてＳ２３８に移行して同スキップ回数ＣＳＫＩＰが一定値、例えば３以上か、すなわち、エンジン２の運転領域が当該学習領域ＫＧｊ内に所定時間以上留まっているかどうかを判断する。そして、上記スキップ回数ＣＳＫＩＰが３以上でないと判断されると、ＥＣＵ１６はそのまま図６のルーチンに戻る。
【００５６】
また、Ｓ２３８において上記スキップ回数ＣＳＫＩＰが３以上と判断されると、ＥＣＵ１６はＳ２３９に移行して平均値ＦＡＦＡＶと「１．０」との偏差の大きさ（絶対値）が一定値、例えば０．０５以上か否かを判断する。そして、平均値ＦＡＦＡＶと「１．０」との偏差の大きさが０．０５以上と判断されると、ＥＣＵ１６はＳ２４４に移行して吸入空気量ＧＡに基づき一気学習領域か否かを判断する。図７にハッチングにて併せ示したように、この一気学習領域は、各学習領域ＫＧｊ（ｊ＝１〜４）の中央付近、例えば各学習領域ＫＧｊ（ｊ＝１〜４）を３等分したときの中央を含む１／３の領域、すなわち隣接する学習領域の影響が少ない領域に設定されている。ここで、一気学習領域と判断されると、ＥＣＵ１６はＳ２４５に移行して空燃比学習値を一気更新するための空燃比学習更新量ｔＫＧを算出する。具体的には、ＥＣＵ１６は過学習を避けるために平均値ＦＡＦＡＶと「１．０」との偏差の１／２をｔＫＧとして算出する。そして、ＥＣＵ１６はＳ２４６に移行して現状の（前回の演算周期で更新等された）空燃比学習値ＫＧＸｊに上記空燃比学習更新量ｔＫＧを加算したものを空燃比学習値ＫＧＸｊとして更新する。
【００５７】
次に、ＥＣＵ１６はＳ２４７に移行して、このような空燃比学習値ＫＧＸｊの更新に対応して発生する空燃比フィードバック補正係数ＦＡＦの追いかけをもどし補正する。具体的には、空燃比フィードバック補正係数ＦＡＦ，ＦＡＦ０、平均値ＦＡＦＡＶから空燃比学習更新量ｔＫＧを減算したものをそれぞれの新たな値として更新する。そして、ＥＣＵ１６は図６のルーチンに戻る。
【００５８】
一方、Ｓ２３９において平均値ＦＡＦＡＶと「１．０」との偏差の大きさが０．０５以上ではないと判断され、若しくはＳ２４４において一気学習領域ではないと判断されると、ＥＣＵ１６はＳ２４０に移行して平均値ＦＡＦＡＶが１．０２よりも大きいか否かを判断する。ここで、平均値ＦＡＦＡＶが１．０２よりも大きいと判断されると、ＥＣＵ１６はＳ２４３に移行して現状の空燃比学習値ＫＧＸｊに一定値、例えば０．００２を加算したものを空燃比学習値ＫＧＸｊとして更新し、図６のルーチンに戻る。
【００５９】
また、Ｓ２４０において平均値ＦＡＦＡＶが１．０２以下と判断されると、ＥＣＵ１６はＳ２４１に移行して平均値ＦＡＦＡＶが０．９８よりも小さいか否かを判断する。ここで、平均値ＦＡＦＡＶが０．９８よりも小さいと判断されると、ＥＣＵ１６はＳ２４２に移行して現状の空燃比学習値ＫＧＸｊから一定値、例えば０．００２を減算したものを空燃比学習値ＫＧＸｊとして更新し、図６のルーチンに戻る。
【００６０】
さらに、Ｓ２４１において平均値ＦＡＦＡＶが０．９８以上（すなわち、０．９８≦ＦＡＦＡＶ≦１．０２）と判断されると、ＥＣＵ１６は空燃比学習値ＫＧＸｊを更新することなくそのまま図６のルーチンに戻る。ここで、前述の平均値ＦＡＦＡＶの算出処理（Ｓ２０６）においてリッチスキップフラグ若しくはリッチシフトフラグがオンのときは、ＥＣＵ１６により平均値ＦＡＦＡＶは「１．０」に設定されている（Ｓ２５３）。従って、この設定により空燃比学習値ＫＧＸｊの更新が回避されることになり、実質的に空燃比学習が禁止されている。つまり、本実施形態では、リッチ寄せ制御（リッチスキップ制御、リッチシフト制御）において空燃比学習が禁止されている。
【００６１】
図１３は、上記空燃比フィードバック補正係数及び空燃比学習値の算出処理に伴う平均値ＦＡＦＡＶ等の推移の一例を示すタイムチャートである。同図において、時刻ｔ１１に空燃比フィードバック制御が終了すると同時に燃料カットが開始し、続いて時刻ｔ１２に燃料カットが終了すると同時に空燃比フィードバック制御が開始したとする。そして、この時刻ｔ１２以降において燃料カット復帰後のリッチ寄せ制御が実行される期間（リッチスキップフラグ若しくはリッチシフトフラグがオンの期間）をリッチ寄せ制御期間Ｔで表すと、この制御期間Ｔにおけるスキップ補正前の空燃比フィードバック補正係数ＦＡＦ１（ここでは、ａ１〜ａ４…で表す）はリッチ側に偏って推移する。しかしながら、本実施形態では、リッチ寄せ制御期間Ｔの平均値ＦＡＦＡＶは「１．０」に設定されることになり、空燃比学習値ＫＧＸｊが更新されることはない。すなわち、実際の空燃比フィードバック補正係数ＦＡＦ１（ａ１〜ａ４…）に基づいて、図１３に２点鎖線で併せ示したようなリッチ寄りの平均値ＦＡＦＡＶが算出されることはなく、これに伴い空燃比学習値ＫＧＸｊがリッチ寄りに誤学習されることが回避される。
【００６２】
以上詳述したように、本実施形態によれば、以下に示す効果が得られるようになる。
（１）本実施形態では、燃料カットからの復帰時から所定要件を満足する期間（燃料カットからの復帰直後から、酸素吸蔵量ｄｏｓａｍが閾値ＴＨ１以下になるまでの期間、即ちリッチ寄せ制御に伴う燃料供給量（燃料噴射弁開弁時間ＴＡＵ）の強制的な増量が著しい期間）は、空燃比学習値ＫＧＸｊが更新されず空燃比学習が禁止される。従って、上記期間に対応する燃料供給量の増量傾向が、空燃比学習値ＫＧＸｊの学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比学習値ＫＧＸｊの学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能（特に、ＨＣ、ＣＯの排気浄化性能）を向上できる。
【００６３】
（２）本実施形態では、燃料カットからの復帰時にリッチ寄せ制御（リッチスキップ制御及びリッチシフト制御）を行ったことで、燃料カットからの復帰直後から必要かつ十分な量の燃料を還元剤として排気浄化触媒１４に供給することができる。
【００６４】
（第２の実施形態）
以下、本発明を具体化した第２の実施形態について図面に従って説明する。なお、第２の実施形態では、リッチ寄せ制御中での空燃比学習値ＫＧＸｊの更新をリッチ側に抑制気味に補正したことが第１の実施形態と異なる。以下、第１の実施形態と異なる処理を中心に説明する。
【００６５】
本実施形態においても、第１の実施形態と同様にしてＳ２０３の空燃比フィードバック補正係数算出処理（リッチスキップフラグ、リッチシフトフラグの設定等）を実行する。一方、Ｓ２０４の空燃比学習値算出処理では、以下の態様が異なる。すなわち、Ｓ２３６の平均値ＦＡＦＡＶ算出処理では、リッチスキップフラグ、リッチシフトフラグの設定に関わらず一律に前述の式（４）に基づき平均値ＦＡＦＡＶを算出する。
【００６６】
また、Ｓ２４３に相当する空燃比学習値更新処理では、図１４のフローチャートで示すようにＥＣＵ１６はＳ２６１に移行して、前記リッチスキップフラグ若しくはリッチシフトフラグがオンか否かを判断する。ここで、上記リッチスキップフラグ及びリッチシフトフラグがともにオンではない（オフである）と判断されると、ＥＣＵ１６はＳ２６２に移行して第１の実施形態と同様に現状の空燃比学習値ＫＧＸｊに０．００２を加算したものを空燃比学習値ＫＧＸｊとして更新し、図６のルーチンに戻る。
【００６７】
一方、Ｓ２６１においてリッチスキップフラグ若しくはリッチシフトフラグがオンと判断されると、ＥＣＵ１６はＳ２６３に移行して現状の空燃比学習値ＫＧＸｊにリッチ側に抑制気味の一定値、例えば０．００１（＜０．００２）を加算したものを空燃比学習値ＫＧＸｊとして更新する。そして、ＥＣＵ１６はＳ２６４に移行してリッチスキップフラグ及びリッチシフトフラグをオフに設定し（クリアし）、図６のルーチンに戻る。
【００６８】
つまり、本実施形態では、リッチ寄せ制御（リッチスキップ制御、リッチシフト制御）においてリッチ側への空燃比学習が抑制気味に実行されている。なお、値「０．００１」を「０」にして空燃比学習値ＫＧＸｊの更新を行わないようにしてもよい。この場合、Ｓ２４３への移行を前提に空燃比学習が禁止されたことになる。
【００６９】
以上詳述したように、本実施形態によれば、前記第１の実施形態における（２）の効果に加えて以下に示す効果が得られるようになる。
（１）本実施形態では、燃料カットからの復帰時から所定要件を満足する期間（燃料カットからの復帰直後から、酸素吸蔵量ｄｏｓａｍが閾値ＴＨ１以下になるまでの期間）は、空燃比学習値ＫＧＸｊの更新がリッチ側に抑制され、空燃比学習がリッチ側に抑制される。従って、上記期間に対応する燃料供給量の増量傾向が、空燃比学習値ＫＧＸｊの学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比学習値ＫＧＸｊの学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能（特に、ＨＣ、ＣＯの排気浄化性能）を向上できる。また、空燃比学習値ＫＧＸｊの更新がリッチ側に抑制されるものの、空燃比学習が継続されることで燃料カットからの復帰時に徒に学習機会を失することも回避できる。
【００７０】
（第３の実施形態）
以下、本発明を具体化した第３の実施形態について図面に従って説明する。なお、第３の実施形態では、リッチ寄せ制御中での空燃比フィードバック補正係数ＦＡＦ（ＦＡＦ１）のリッチ側への嵩上げ分（リッチスキップ補正量ｒｓｒｆｃ、リッチシフト補正量ｒｓａｄｊ）を予め減算して平均値ＦＡＦＡＶを求め、これに基づき空燃比学習値ＫＧＸｊを更新したことが第１の実施形態と異なる。以下、第１の実施形態と異なる処理を中心に説明する。
【００７１】
本実施形態においても、第１の実施形態と同様にしてＳ２０３の空燃比フィードバック補正係数算出処理（リッチスキップフラグ、リッチシフトフラグの設定等）を実行する。一方、Ｓ２０４の空燃比学習値算出処理では、以下の態様が異なる。すなわち、Ｓ２３６の平均値ＦＡＦＡＶ算出処理では、図１５のフローチャートで示すようにＥＣＵ１６はＳ２７１に移行して、前記リッチスキップフラグがオンか否かを判断する。ここで、上記リッチスキップフラグがオンと判断されると、ＥＣＵ１６はＳ２７２に移行して下式（５）に基づき平均値ＦＡＦＡＶを算出する。
【００７２】
ＦＡＦＡＶ←（ＦＡＦ１＋ＦＡＦ０＋１．０＋Ａ−ｒｓｒｆｃ）／２  …（５）
ここで、「１．０＋Ａ」は、燃料カット復帰直後を一般的なリーン側への切り替わりと見なしたときのリッチ側へのスキップ補正後の空燃比フィードバック補正係数ＦＡＦの値に相当する。換言すると、燃料カット復帰直後は、リッチスキップ制御によってスキップ補正後の空燃比フィードバック補正係数ＦＡＦは「１．０＋Ａ」ではなくリッチスキップ補正量ｒｓｒｆｃに設定されている。従って、現在の空燃比フィードバック補正係数ＦＡＦ１に「１．０＋Ａ−ｒｓｒｆｃ」を加算することで、リッチスキップ制御に伴う空燃比フィードバック補正係数ＦＡＦのリッチ側への嵩上げ分が減算されている。次に、ＥＣＵ１６はＳ２７３に移行してリッチスキップフラグをオフに設定し（クリアし）、Ｓ２７８に移行する。
【００７３】
また、Ｓ２７１においてリッチスキップフラグがオフと判断されると、ＥＣＵ１６はＳ２７４に移行して前記リッチシフトフラグがオンか否かを判断する。ここで、上記リッチシフトフラグがオンと判断されると、ＥＣＵ１６はＳ２７５に移行して下式（６）に基づき平均値ＦＡＦＡＶを算出する。
【００７４】
ＦＡＦＡＶ←（ＦＡＦ１＋ＦＡＦ０−ｒｓａｄｊ）／２  …（６）
なお、現在の空燃比フィードバック補正係数ＦＡＦ１からリッチシフト補正量ｒｓａｄｊを減算するのは、リッチシフト制御に伴う空燃比フィードバック補正係数ＦＡＦのリッチ側への嵩上げ分を減算するためである。次に、ＥＣＵ１６はＳ２７６に移行してリッチシフトフラグをオフに設定し（クリアし）、Ｓ２７８に移行する。
【００７５】
一方、Ｓ２７４においてリッチシフトフラグがオフと判断されると、リッチ寄せ制御中でないことから、ＥＣＵ１６はＳ２７７に移行して前述の式（４）に基づき平均値ＦＡＦＡＶを算出し、Ｓ２７８に移行する。
【００７６】
そして、Ｓ２７８においてＥＣＵ１６は、現在のスキップ補正前の空燃比フィードバック補正係数ＦＡＦ１を前回空燃比フィードバック補正係数ＦＡＦ０として更新し、図１１のルーチンに戻って第１の実施形態と同様に空燃比学習値ＫＧＸｊの更新等を行う。本実施形態では、リッチ寄せ制御中での空燃比フィードバック補正係数ＦＡＦのリッチ側への嵩上げ分を予め減算して平均値ＦＡＦＡＶを求めるようにしたため、リッチ寄りの平均値ＦＡＦＡＶが算出されることはなく、これに伴い空燃比学習値ＫＧＸｊがリッチ寄りに誤学習されることが回避される。
【００７７】
以上詳述したように、本実施形態によれば、前記第１の実施形態における（２）の効果に加えて以下に示す効果が得られるようになる。
（１）本実施形態では、燃料カットからの復帰時から所定要件を満足する期間（燃料カットからの復帰直後から、酸素吸蔵量ｄｏｓａｍが閾値ＴＨ１以下になるまでの期間）は、平均値ＦＡＦＡＶ（空燃比学習値ＫＧＸｊ）の算出に係る空燃比フィードバック補正係数ＦＡＦのリッチ側への嵩上げ分が減算される。つまり、空燃比学習をするときの空燃比フィードバック補正係数ＦＡＦに対して、リッチ寄せ制御の影響を吸収するように補正が加えられる。従って、上記期間に対応する燃料供給量の増量傾向が、空燃比学習値ＫＧＸｊの学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比学習値ＫＧＸｊの学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能（特に、ＨＣ、ＣＯの排気浄化性能）を向上できる。また、空燃比学習をするときの空燃比フィードバック補正係数ＦＡＦに対して、リッチ寄せ制御の影響を吸収するように補正が加えられるものの、空燃比学習が継続されることで燃料カットからの復帰時に徒に学習機会を失することも回避できる。
【００７８】
（第４の実施形態）
以下、本発明を具体化した第４の実施形態について図面に従って説明する。なお、第４の実施形態では、空燃比学習値ＫＧＸｊの学習が完了判定されるまでリッチ寄せ制御を禁止するようにしたことが第１〜第３の実施形態と異なる。以下、第１の実施形態と異なる処理を中心に説明する。
【００７９】
本実施形態におけるＳ２０３の空燃比フィードバック補正係数算出処理では、図１６のフローチャートで示すようにＥＣＵ１６はＳ３０１に移行して、燃料カット復帰時か否かを判断する。ここで、燃料カット復帰時と判断されると、ＥＣＵ１６はＳ３０２に移行して吸入空気量ＧＡに基づき現在の学習領域ＫＧｊを算出する。なお、ここでは燃料カット復帰時での状態であるため、ここで算出される学習領域ＫＧｊは燃料カット復帰時に固有の学習領域ＫＧｊとなる。次に、ＥＣＵ１６はＳ３０３に移行して、当該学習領域（燃料カット復帰時の学習領域）ＫＧｊでの空燃比学習が完了しているか否かを判断する。この空燃比学習の完了は、各学習領域ＫＧｊ（ｊ＝１〜４）に対してそれぞれ設定される学習完了判定フラグに基づき判断される。この学習完了判定フラグは、ＥＣＵ１６によるイニシャル処理で学習未完了に設定され、後述の態様で空燃比の収束が確認されることで学習完了に切り替え設定されるものである。
【００８０】
ここで、当該学習領域ＫＧｊでの空燃比学習が完了していない（未完了である）と判断され、若しくは、上述のＳ３０１において燃料カット復帰時ではない（通常の空燃比フィードバック制御中）と判断されると、ＥＣＵ１６は図１７のルーチンに移行する。このルーチンは、前述の図１０のルーチンにおいて酸素吸蔵量ｄｏｓａｍの閾値判定に応じた空燃比フィードバック補正係数ＦＡＦの嵩上げ等（Ｓ２１８、Ｓ２２０、Ｓ２２１）を割愛したのみの処理であるため、同様の処理に対して同一の符号を付してその説明を割愛する。このルーチンでの処理により、通常の空燃比フィードバック制御中であれば当然ながらリッチスキップ制御も含めてリッチシフト制御が実行されない。また、上記学習領域ＫＧｊでの空燃比学習が完了していないときも、リッチスキップ制御も含めてリッチシフト制御は実行されない。換言すれば、燃料カット復帰時であっても、上記学習領域ＫＧｊでの空燃比学習が完了しない限り、リッチスキップ制御及びリッチシフト制御が禁止される。
【００８１】
一方、Ｓ３０３において当該学習領域ＫＧｊでの空燃比学習が完了していると判断されると、ＥＣＵ１６はＳ３０４に移行して、空燃比学習の完了直後か否か、すなわち学習完了判定フラグが学習未完了から学習完了への切り替わり直後か否かを判断する。そして、空燃比学習の完了直後と判断されると、ＥＣＵ１６は燃料カット復帰時での空燃比学習が完了したものとして、リッチスキップ制御を実行すべくＳ３０５に移行する。ここで、ＥＣＵ１６は前述の酸素吸蔵量ｄｏｓａｍのマップＭｒｓｒｆｃ（ｄｏｓａｍ）に基づき燃料カット復帰時（学習完了直後）のリッチスキップ補正量ｒｓｒｆｃを算出し、Ｓ３０６においてこれを空燃比フィードバック補正係数ＦＡＦとして更新・設定する。
【００８２】
また、Ｓ３０４において空燃比学習の完了直後ではないと判断されると、ＥＣＵ１６は図１８のルーチンに移行する。このルーチンは、前述の図１０のルーチンにおいてリッチシフトフラグの設定（Ｓ２２１）を割愛したのみの処理であるため、同様の処理に対して同一の符号を付してその説明を割愛する。すなわち、燃料カット復帰時における空燃比学習の完了後は、ＥＣＵ１６は酸素吸蔵量ｄｏｓａｍの閾値判定に応じてリッチシフト制御を実行する。
【００８３】
以上の態様で空燃比フィードバック補正係数ＦＡＦの算出処理を行ったＥＣＵ１６は、続いて空燃比学習値算出処理（Ｓ２０４）を実行する。以下、本実施形態におけるＳ２０４の空燃比学習処理について図１９及び図２０のフローチャートに基づき説明する。なお、本実施形態では、当該学習領域ＫＧｊでの空燃比学習が完了するまでリッチ寄せ制御が実行されないことから、その間に平均値ＦＡＦＡＶがリッチ寄りに算出されることはない。従って、図１９においてＳ２３６の平均値ＦＡＦＡＶ算出処理では、前述の式（４）に基づき平均値ＦＡＦＡＶを算出する。
【００８４】
ただし、Ｓ２４１において平均値ＦＡＦＡＶが０．９８以上（すなわち、０．９８≦ＦＡＦＡＶ≦１．０２）と判断されて空燃比の収束が確認されているときには、ＥＣＵ１６はＳ３１０に移行して前記学習完了判定フラグを設定等する学習完了判定処理のサブルーチンを実行する。すなわち、ＥＣＵ１６は、図２０のＳ３１１に移行して現在の吸入空気量ＧＡが当該学習領域ＫＧｊの学習完了判定領域内か否かを判断する。ここで、学習完了判定領域について説明すると、本実施形態での学習完了判定領域は、各学習領域ＫＧｊ（ｊ＝１〜４）の中央付近、例えば各学習領域ＫＧｊ（ｊ＝１〜４）を３等分したときの中央を含む１／３の領域、すなわち一気学習領域（図７参照）と一致する領域に設定されている。
【００８５】
ここで、現在の吸入空気量ＧＡが当該学習領域ＫＧｊの学習完了判定領域内と判断されると、ＥＣＵ１６はＳ３１２に移行してスキップカウンタｉをインクリメントし、更にＳ３１４に移行する。また、Ｓ３１１において現在の吸入空気量ＧＡが当該学習領域ＫＧｊの学習完了判定領域内ではないと判断されると、ＥＣＵ１６はＳ３１３に移行してスキップカウンタｉをクリアし、更にＳ３１４に移行する。従って、スキップカウンタｉは、吸入空気量ＧＡが所定学習領域ＫＧｊの学習完了判定領域内に属する状態で上述の空燃比の収束が連続して確認される演算回数に相当する。
【００８６】
Ｓ３１４においてＥＣＵ１６は、スキップカウンタｉが所定値ｃ（＞１）以上か否か、すなわち、エンジン２の運転領域が当該学習領域ＫＧｊの学習完了判定領域内に所定時間以上留まっているかどうかを判断する。そして、スキップカウンタｉが所定値ｃ以上と判断されると、ＥＣＵ１６は所定学習領域ＫＧｊの学習完了判定領域内で空燃比の収束が継続されているものとして、Ｓ３１５に移行する。そして、ＥＣＵ１６は、当該学習領域ＫＧｊの学習完了判定を行って前記学習完了判定フラグを学習完了に設定し、図６のルーチンに戻る。一方、Ｓ３１４においてスキップカウンタｉが所定値ｃ未満と判断されると、ＥＣＵ１６は、前記学習完了判定フラグを更新することなく、図６のルーチンに戻る。従って、ＥＣＵ１６によるイニシャル処理後は、当該学習領域ＫＧｊの学習完了判定が行われない限り学習完了判定フラグは学習未完了のままであり、一旦学習完了判定が行われると、ＥＣＵ１６による次のイニシャル処理がない限り学習完了判定フラグは学習完了のままである。
【００８７】
なお、この学習完了判定フラグの設定による学習完了を前提に前記リッチ寄せ制御（リッチスキップ制御、リッチシフト制御）が開始されるのは既述のとおりである。すなわち、燃料カット復帰時は、当該学習領域ＫＧｊの空燃比学習が完了するまでリッチ寄せ制御が禁止されることで、空燃比学習値ＫＧＸｊがリッチ寄りに誤学習されて学習完了することが回避される。
【００８８】
以上詳述したように、本実施形態によれば、以下に示す効果が得られるようになる。
（１）本実施形態では、燃料カットからの復帰時は、当該運転領域（学習領域）での学習が完了するまでリッチ寄せ制御が禁止される。従って、例えばリッチ寄せ制御に伴う燃料供給量の増量傾向が、空燃比学習値ＫＧＸｊの学習に反映されて同学習が完了してしまうような誤学習を回避できる。これにより、例えば空燃比学習値ＫＧＸｊの学習完了時における空燃比のオーバーリッチ補正を回避でき、ひいては排気性能（特に、ＨＣ、ＣＯの排気浄化性能）を向上できる。
【００８９】
（２）本実施形態では、燃料カットからの復帰時における運転領域（学習領域）での学習完了後に行うリッチ寄せ制御（リッチスキップ制御及びリッチシフト制御）によって、必要かつ十分な量の燃料を還元剤として排気浄化触媒１４に供給することができる。
【００９０】
（第５の実施形態）
以下、本発明を具体化した第５の実施形態について図面に従って説明する。なお、第５の実施形態では、燃料カット復帰時にリッチ寄せ制御が行われるエンジン２の運転領域（学習領域）での空燃比学習を禁止して（実行しないで）、当該領域に隣接する２つの学習領域によってこれを直線補完するようにしたことが第１〜第４の実施形態と異なる。すなわち、図２２に示した学習領域ＫＧｊ（ｊ＝１〜４）において、学習領域ＫＧ２内にハッチングにて示した領域Ｄ内で燃料カット復帰時のリッチ寄せ制御が行われるとする。このとき、ＥＣＵ１６は、当該学習領域ＫＧ２での空燃比学習を禁止する。そして、同図に○印で示したように、ＥＣＵ１６は、当該学習領域ＫＧ２の空燃比学習値ＫＧＸ２を、これに隣接する２つの学習領域ＫＧ１，ＫＧ３の空燃比学習値ＫＧＸ１，ＫＧＸ３によって直線補完する。これにより、燃料カット復帰時にリッチ寄せ制御が行われても、当該制御が行われる学習領域ＫＧ２において空燃比学習値ＫＧＸ２がリッチ寄りに誤学習されることが回避される。
【００９１】
以下、第１の実施形態と異なる処理を中心に説明する。本実施形態においても、第１の実施形態と同様にＳ２０３の空燃比フィードバック補正係数算出処理（図８〜図１０参照）を行う。ただし、リッチスキップフラグの設定（Ｓ２１４）及びリッチシフトフラグの設定（Ｓ２２１）を割愛した処理となっている。
【００９２】
空燃比フィードバック補正係数ＦＡＦの算出処理を行ったＥＣＵ１６は、続いて空燃比学習値算出処理（Ｓ２０４）を実行する。以下、本実施形態におけるＳ２０４の空燃比学習処理について図２１のフローチャートに基づき説明する。
【００９３】
本処理が開始され、第１の実施形態と同様にＳ２３１において現在の学習領域ＫＧｊの領域番号ｔｊを算出したＥＣＵ１６は、Ｓ３２１に移行して当該学習領域ＫＧｊが燃料カット復帰時の領域Ｄを含む学習領域（ＫＧ２）か否かを判断する。そして、現在の学習領域ＫＧｊが燃料カット復帰時の上記学習領域（ＫＧ２）と判断されると、ＥＣＵ１６はＳ３２２に移行する。そして、これに隣接する２つの学習領域ＫＧｊ−１，ＫＧｊ＋１（ＫＧ１，ＫＧ３）の空燃比学習値ＫＧＸｊ−１，ＫＧＸｊ＋１（ＫＧＸ１，ＫＧＸ３）を下式（７）に基づき直線補完して当該学習領域（ＫＧ２）の空燃比学習値（ＫＧＸ２）を算出（推定）し、図６のルーチンに戻る。
【００９４】
ＫＧＸ２  ←  （ＫＧＸ１＋ＫＧＸ３）／２  …（７）
一方、Ｓ３２１において現在の学習領域ＫＧｊが燃料カット復帰時の上記学習領域（ＫＧ２）ではないと判断されると、ＥＣＵ１６はＳ２３２以降の処理に移行して第１の実施形態と同様の処理を行う。ただし、本実施形態では、燃料カット復帰時のリッチ寄せ制御が実行される上記学習領域（ＫＧ２）に対して平均値ＦＡＦＡＶの算出も含めて空燃比学習を行わないため、Ｓ２３６の平均値ＦＡＦＡＶ算出処理では、前述の式（４）に基づき平均値ＦＡＦＡＶを算出する。
【００９５】
以上詳述したように、本実施形態によれば、前記第１の実施形態における（２）の効果に加えて以下に示す効果が得られるようになる。
（１）本実施形態では、空燃比フィードバック補正係数ＦＡＦに基づき、エンジン２が有する複数の学習領域ＫＧｊ（ｊ＝１〜４）のリッチ寄せ制御を行う学習領域（ＫＧ２）を除く各学習領域ごとに空燃比学習値が学習される。そして、リッチ寄せ制御を行う学習領域（ＫＧ２）に隣り合う各学習領域（ＫＧ１，ＫＧ３）で学習された空燃比学習値（ＫＧＸ１，ＫＧＸ３）に基づき、同学習領域（ＫＧ２）の空燃比学習値（ＫＧＸ２）が算出（推定）される。従って、リッチ寄せ制御を行う学習領域（ＫＧ２）では、当該制御の実行の如何に関わらず直接的に空燃比学習値（ＫＧＸ２）が学習されることはない。このため、例えばリッチ寄せ制御の実行時における燃料供給量の増量傾向が対応する学習領域（ＫＧ２）の空燃比学習値（ＫＧＸ２）の学習に反映されてしまうような誤学習を抑制できる。これにより、例えば上記燃料供給量の増量傾向が空燃比学習値の学習に反映された場合に生じる空燃比のオーバーリッチ補正を抑制でき、ひいては排気性能（特に、ＨＣ、ＣＯの排気浄化性能）を向上できる。
【００９６】
また、例えば誤学習防止のために前記リッチ寄せ制御時の空燃比学習を禁止する場合、換言すれば当該学習領域（ＫＧ２）の特定状況下で空燃比学習する場合に比べてその学習精度を向上することができる。
【００９７】
さらには、前記リッチ寄せ制御を行う学習領域（ＫＧ２）に隣り合う各学習領域（ＫＧ１，ＫＧ３）で学習された空燃比学習値（ＫＧＸ１，ＫＧＸ３）に基づき当該学習領域（ＫＧ２）の空燃比学習値（ＫＧＸ２）が算出（推定）されるとはいえ、同学習が継続されることで燃料カットからの復帰時に徒に学習機会を失することも回避できる。
【００９８】
（２）本実施形態では、リッチ寄せ制御を行う学習領域（ＫＧ２）に隣り合う各学習領域（ＫＧ１，ＫＧ３）で学習された空燃比学習値（ＫＧＸ１，ＫＧＸ３）を直線補完する極めて簡易な手法で、同学習領域（ＫＧ２）の空燃比学習値（ＫＧＸ２）を算出（推定）することができる。
【００９９】
なお、上記実施形態は以下のように変更してもよい。
・前記第１の実施形態においては、リッチスキップフラグ若しくはリッチシフトフラグの設定によって空燃比学習を禁止するようにした。これに対して、例えば空燃比フィードバック補正係数ＦＡＦに所定値以上のリッチスキップ補正量ｒｓｒｆｃが設定されていたり、リッチシフト補正量ｒｓａｄｊによる嵩上げが設定されているときに空燃比学習を禁止するようにしてもよい。
【０１００】
・前記第２の実施形態において、リッチスキップフラグ若しくはリッチシフトフラグがオンのとき（リッチ寄せ制御中）には、一気学習（Ｓ２４５〜Ｓ２４７）の処理を禁止するようにしてもよい。このように変更することで、平均値ＦＡＦＡＶがリッチ側に大きくずれている場合（ＦＡＦＡＶ≧１．０５）に、一気学習によって空燃比がリッチ側に誤学習されることを防止できる。
【０１０１】
・前記第４の実施形態においては、学習完了判定領域を各学習領域ＫＧｊ（ｊ＝１〜４）を３等分したときの中央を含む１／３の領域に設定したが、例えば同学習領域ＫＧｊ（ｊ＝１〜４）を４等分したときの中央の２つを含む１／２の領域などその他の領域に設定してもよい。
【０１０２】
・前記第５の実施形態においては、学習領域ＫＧ２の空燃比学習値ＫＧＸ２を、これに隣接する２つの学習領域ＫＧ１，ＫＧ３の空燃比学習値ＫＧＸ１，ＫＧＸ３によって直線補完して推定したが、その他の手法で推定してもよい。
【０１０３】
・前記第５の実施形態において、空燃比学習反映値ＫＧＸＸの算出にあたって学習領域ＫＧ２の空燃比学習値ＫＧＸ２が利用されることもあるが、この空燃比学習値ＫＧＸ２は推定値であることから、学習領域ＫＧ１，ＫＧ３の空燃比学習値ＫＧＸ１，ＫＧＸ３の直線補完によって空燃比学習反映値ＫＧＸＸを直に算出してもよい。このような変形例は、単なる演算過程の相違に過ぎず本発明を何ら逸脱するものではない。
【０１０４】
・前記各実施形態においては、酸素吸蔵量ｄｏｓａｍの積分量ｏｄｅｃを吸入空気量ＧＡのマップＭｏｄｅｃ（ＧＡ）から求めたが、例えばアクセルペダル２６ａが無操作となるいわゆるアイドルオン状態では、空燃比フィードバック補正係数ＦＡＦのスキップ量から求めてもよい。
【０１０５】
・前記各実施形態において、酸素吸蔵量ｄｏｓａｍのマップから求めたリッチスキップ補正量ｒｓｒｆｃに対し、例えばエンジン冷却水温ＴＨＷに応じた補正を加えるようにしてもよい。
【０１０６】
・前記各実施形態においては、リッチシフト補正量ｒｓａｄｊを定数としたが、例えば酸素吸蔵量ｄｏｓａｍに応じて補正を加えるようにしてもよい。
・前記各実施形態において、燃料カット復帰時のリッチシフト制御は、アクセルペダル２６ａが操作中となるいわゆるアイドルオフ状態でのみ行うようにしてもよい。
【０１０７】
・前記各実施形態においては、燃料カット復帰時のリッチシフト制御を、空燃比がリッチからリーンに切り替わったときの酸素吸蔵量ｄｏｓａｍの閾値判定によって選択的に行った（Ｓ２１８参照）。これに対して、例えば燃料カット復帰後の一定期間（リッチからリーンへの一定切り替わり回数など）にリッチシフト制御を行うようにしてもよい。この場合、タイマ若しくはカウンタの計数によってリッチシフト制御の実行如何を判断できるため、演算負荷を軽減することができる。また、排気浄化触媒１４の下流側に配置されたＯ２センサ２４（又は空燃比センサ）の検出値に応じてリッチシフト制御を選択的に行うようにしてもよい。さらには、これらの任意の組み合わせによる判断によりリッチシフト制御を選択的に行うようにしてもよい。
【０１０８】
・前記各実施形態においては、燃料カット復帰時のリッチ寄せ制御としてリッチスキップ制御及びリッチシフト制御を行ったが、これらリッチスキップ制御及びリッチシフト制御のいずれか一方だけであってもよい。また、空燃比フィードバック補正係数ＦＡＦをリッチ寄せするその他の態様の制御であってもよい。
【０１０９】
・前記各実施形態においては、酸素吸蔵量ｄｏｓａｍの加算量ｏｉｎｃを継続時間ｆｃｔのマップＭｏｉｎｃ（ｆｃｔ）から求めたが、例えば燃料カット中の吸入空気量ＧＡの積算値に応じたマップから求めてもよい。
【０１１０】
・前記各実施形態においては、各学習領域ＫＧｊ（ｊ＝１〜４）の空燃比学習値ＫＧＸｊ（ｊ＝１〜４）を直線補完した空燃比学習反映値ＫＧＸＸに基づき燃料噴射弁開弁時間ＴＡＵを補正した。これに対して、例えばそのときの学習領域ＫＧｊの空燃比学習値ＫＧＸｊに基づき直に燃料噴射弁開弁時間ＴＡＵを補正してもよい。
【図面の簡単な説明】
【０１１１】
【図１】本発明の第１の実施形態を示す概略構成図。
【図２】同実施形態の酸素吸蔵量算出態様を示すフローチャート。
【図３】継続時間と加算量との関係を示すマップ。
【図４】吸入空気量と積分量との関係を示すマップ。
【図５】同実施形態の酸素吸蔵量の推移の一例を示すタイムチャート。
【図６】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図７】学習領域と学習値との関係を示すグラフ。
【図８】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図９】酸素吸蔵量とリッチスキップ補正量との関係を示すマップ。
【図１０】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図１１】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図１２】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図１３】同実施形態の平均値等の推移の一例を示すタイムチャート。
【図１４】本発明の第２の実施形態の燃料噴射量算出態様を示すフローチャート。
【図１５】本発明の第３の実施形態の燃料噴射量算出態様を示すフローチャート。
【図１６】本発明の第４の実施形態の燃料噴射量算出態様を示すフローチャート。
【図１７】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図１８】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図１９】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図２０】同実施形態の燃料噴射量算出態様を示すフローチャート。
【図２１】本発明の第５の実施形態の燃料噴射量算出態様を示すフローチャート。
【図２２】燃料カット復帰時の学習領域と対応する学習値との関係を示すグラフ。
【図２３】従来形態の平均値等の推移の一例を示すタイムチャート。
【符号の説明】
【０１１２】
２…エンジン、４…吸気経路、６…スロットルバルブ、８…燃料噴射弁、１０…点火プラグ、１２…排気系を構成する排気経路、１４…排気浄化触媒、１６…学習禁止手段、学習抑制手段、補正手段、禁止手段、空燃比学習手段、推定手段を構成するＥＣＵ、１８…吸入空気量センサ、２０…回転数センサ、２２…冷却水温センサ、２４…Ｏ２センサ、２６…アクセル開度センサ、２６ａ…アクセルペダル。
【図１】
2005105834.tif 000003
【図２】
2005105834.tif 000004
【図３】
2005105834.tif 000005
【図４】
2005105834.tif 000006
【図５】
2005105834.tif 000007
【図６】
2005105834.tif 000008
【図７】
2005105834.tif 000009
【図８】
2005105834.tif 000010
【図９】
2005105834.tif 000011
【図１０】
2005105834.tif 000012
【図１１】
2005105834.tif 000013
【図１２】
2005105834.tif 000014
【図１３】
2005105834.tif 000015
【図１４】
2005105834.tif 000016
【図１５】
2005105834.tif 000017
【図１６】
2005105834.tif 000018
【図１７】
2005105834.tif 000019
【図１８】
2005105834.tif 000020
【図１９】
2005105834.tif 000021
【図２０】
2005105834.tif 000022
【図２１】
2005105834.tif 000023
【図２２】
2005105834.tif 000024
【図２３】
2005105834.tif 000025