(57)【特許請求の範囲】
【請求項１】
機関排気通路に配置されると共に酸素を吸蔵可能な排気浄化触媒と、前記排気浄化触媒の排気流れ方向下流側に配置された下流側空燃比センサと、前記排気浄化触媒に流入する排気ガスの空燃比を制御すると共に前記下流側空燃比センサの異常を診断する制御装置とを具備し、
前記制御装置は、前記排気浄化触媒に流入する排気ガスの空燃比が目標空燃比になるようにフィードバック制御を実行し、且つ前記下流側空燃比センサの出力空燃比が理論空燃比よりもリッチなリッチ判定空燃比以下になったときには前記目標空燃比を理論空燃比よりもリーンなリーン空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が理論空燃比よりもリーンなリーン判定空燃比以上になったときには前記目標空燃比を理論空燃比よりもリッチなリッチ空燃比に切り換えるように前記目標空燃比を設定する目標空燃比設定制御を実行する、内燃機関の排気浄化装置において、
前記排気浄化触媒に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素又は不足する酸素の量である酸素過不足量の積算値に関連するパラメータを過不足量パラメータとすると、
前記制御装置は、前記目標空燃比をリーン空燃比に切り換えてから前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になるまでの前記過不足量パラメータの値と、前記目標空燃比をリッチ空燃比に切り換えてから前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になるまでの前記過不足量パラメータの値との差が小さくなるように前記排気浄化触媒に流入する排気ガスの空燃比を変化させるべく前記フィードバック制御に関するパラメータを補正する学習制御を実行し、且つ
前記制御装置は、前記目標空燃比をリーン空燃比に切り換えてから前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になるまでの前記過不足量パラメータの値又は前記目標空燃比をリッチ空燃比に切り換えてから前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になるまでの前記過不足量パラメータの値が、前記排気浄化触媒に吸蔵された酸素がゼロから最大吸蔵可能酸素量まで又は最大吸蔵可能酸素量からゼロまで変化するのに必要な前記過不足量パラメータの値よりも小さい所定の限界値よりも大きいときには前記下流側空燃比センサに異常が生じていないと判定する正常判定制御を実行する、内燃機関の排気浄化装置。
【請求項２】
前記過不足量パラメータは、前記排気浄化触媒に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素又は不足する酸素の量である酸素過不足量の積算値である、請求項１に記載の内燃機関の排気浄化装置。
【請求項３】
前記制御装置は、前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になったときには前記目標空燃比を一定値であるリーン設定空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になったときには前記目標空燃比を一定値であるリッチ設定空燃比に切り換えるように前記目標空燃比を設定し、
前記過不足量パラメータは、前記排気浄化触媒に流入する排気ガスの流量の積算値である、請求項１に記載の内燃機関の排気浄化装置。
【請求項４】
前記制御装置は、前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になったときには前記目標空燃比を一定値であるリーン設定空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になったときには前記目標空燃比を一定値であるリッチ設定空燃比に切り換えるように前記目標空燃比を設定し、
前記過不足量パラメータは、時間である、請求項１に記載の内燃機関の排気浄化装置。
【請求項５】
前記制御装置は、前記目標空燃比をリーン空燃比に切り換えてから前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になるまでの前記過不足量パラメータの値又は前記目標空燃比をリッチ空燃比に切り換えてから前記下流側空燃比センサの出力空燃比がリッチ判定空燃比以下になるまでの前記過不足量パラメータの値が、前記排気浄化触媒に吸蔵された酸素がゼロから最大吸蔵可能酸素量まで又は最大吸蔵可能酸素量からゼロまで変化するのに必要な前記過不足量パラメータの値よりも小さい所定の限界値以下になったときには前記下流側空燃比センサに異常が生じていると仮判定する仮判定制御と、該仮判定制御において前記下流側空燃比センサに異常が生じていると仮判定されたときに、前記仮判定とは異なる方法で前記下流側空燃比センサの異常を診断する本判定制御とを実行する、請求項１〜４のいずれか１項に記載の内燃機関の排気浄化装置。
【請求項６】
前記制御装置は、前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になったときには前記目標空燃比を一定値であるリーン設定空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になったときには前記目標空燃比を一定値であるリッチ設定空燃比に切り換えるように前記目標空燃比を設定し、
前記制御装置は、前記本判定制御において、前記排気浄化触媒に流入する排気ガスの空燃比を全体的にリッチ側又はリーン側へシフトさせ、
前記排気浄化触媒に流入する排気ガスの空燃比を全体的にリッチ側又はリーン側へシフトさせることにより、前記目標空燃比を前記リーン設定空燃比に切り替えてから前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になるまでの期間又は前記目標空燃比を前記リッチ設定空燃比に切り替えてから前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になるまでの期間の変化量が予め定められた判定値以下である場合には、前記下流側空燃比センサに異常があると本判定する、請求項５に記載の内燃機関の排気浄化装置。
【請求項７】
前記制御装置は、前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になったときには前記目標空燃比を一定値であるリーン設定空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になったときには前記目標空燃比を一定値であるリッチ設定空燃比に切り換えるように前記目標空燃比を設定し、
前記制御装置は、前記本判定制御において、前記リーン判定空燃比と理論空燃比との差及び前記リッチ判定空燃比と理論空燃比との差のうち少なくとも何れか一方が大きくなるように前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させていき、
前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させている間に、前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になってから再び前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になるまでの周期の単位時間当たりの変化量、または、前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になってから再び前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になるまでの周期の単位時間当たりの変化量が予め定められた判定値以上になった場合には、前記下流側空燃比センサに異常があると本判定する、請求項５に記載の内燃機関の排気浄化装置。
【請求項８】
前記制御装置は、前記本判定制御において、前記リーン設定空燃比と理論空燃比との差及び前記リッチ設定空燃比と理論空燃比との差のうち少なくとも何れか一方が予め定められた差になるまで前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させ、
前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させている間に、予め定められた期間以上に亘って前記周期の単位時間当たりの変化量が予め定められた判定値未満に維持された場合には、前記下流側空燃比センサには異常がないと本判定する、請求項７に記載の内燃機関の排気浄化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の排気浄化装置に関する。
【背景技術】
【０００２】
内燃機関の排気通路に配置されると共に酸素を吸蔵可能な排気浄化触媒と、この排気浄化装置の排気流れ方向上流側及び下流側に配置された空燃比センサ又は酸素センサとを具備する内燃機関の排気浄化装置が知られている（例えば、特許文献１〜４）。斯かる内燃機関の排気浄化装置では、上流側空燃比センサによって検出された空燃比（以下、「出力空燃比」という）が目標空燃比となるように燃料噴射弁からの燃料供給量がフィードバック制御される。
【０００３】
このうち、特許文献１に記載の排気浄化装置では、下流側空燃比センサの出力空燃比に基づいて目標空燃比の制御が行われている。具体的には、下流側空燃比センサの出力空燃比が理論空燃比よりもリッチなリッチ判定空燃比以下になった場合には、目標空燃比が理論空燃比よりもリーンなリーン空燃比に切り換えられる。加えて、下流側空燃比センサの出力空燃比が理論空燃比よりもリーンなリーン判定空燃比以上になった場合には、目標空燃比が理論空燃比よりもリッチなリッチ空燃比に切り換えられる。特許文献１によれば、これにより、排気浄化触媒からの未燃燃料やＮＯｘ等の流出を抑制することができるとされている。加えて、排気浄化触媒の酸素吸蔵量を最大吸蔵可能酸素量（排気浄化触媒が吸蔵しうる最大酸素量）とゼロとの間で変動させることで排気浄化触媒の酸素吸蔵能力を高く維持することができるとされている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１４／１１８８８９号
【特許文献２】特開２００６−１２５２５２号公報
【特許文献３】特開２０１２−００２０７０号公報
【特許文献４】特開２０１０−００７５３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、空燃比センサの出力電流は、空燃比センサが正常に作動している限り、空燃比センサ周りを流通する排気ガスの空燃比に比例して大きくなると共に、排気ガスの空燃比が理論空燃比であるときにその出力電流はゼロになる。しかしながら、空燃比センサの駆動回路等に異常が生じると、空燃比センサの出力電流が全体的に大きい側又は小さい側にシフトする場合がある。この場合には、空燃比センサ周りを流通する排気ガスの実際の空燃比が理論空燃比であっても空燃比センサの出力電流はゼロ以外の値をとることになる。換言すると、空燃比センサの駆動回路等に異常が生じると、空燃比センサの出力空燃比が実際の排気ガスの空燃比に対してリッチ側へ又はリーン側へシフトすることになる。この場合には、実際の空燃比が理論空燃比であっても空燃比センサの出力空燃比は理論空燃比とは異なる空燃比となる。以下では、このような空燃比センサの出力電流（すなわち、出力空燃比）におけるずれを、空燃比センサの中心値ずれと称する。
【０００６】
このように空燃比センサに中心値ずれが生じると、上述した下流側空燃比センサの出力空燃比に基づく空燃比制御が行われていた場合には、排気浄化触媒に流入する排気ガスの空燃比を適切に制御することができなくなってしまう。例えば、下流側空燃比センサの出力空燃比が大きくリーン側にずれると、実際の排気空燃比はリッチ空燃比であるにもかかわらず、下流側空燃比センサの出力空燃比がリーン判定空燃比になってしまうことがある。この場合、実際の排気空燃比はリッチ空燃比であっても目標空燃比がリーン空燃比からリッチ空燃比に切り換えられてしまうことになる。この結果、排気浄化触媒に流入する排気ガスをリッチ空燃比とリーン空燃比とで交互に変化させることができなくなり、排気浄化触媒において排気ガスを適切に浄化することができなくなってしまう。このため、下流側空燃比センサが正常であるか否かを適切に診断することが必要である。
【０００７】
そこで、上記課題に鑑みて、本発明の目的は、上述したような空燃比制御を行っている内燃機関の排気浄化装置において、下流側空燃比センサが正常であるか否かを適切に診断することができるようにすることにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、第１の発明では、機関排気通路に配置されると共に酸素を吸蔵可能な排気浄化触媒と、前記排気浄化触媒の排気流れ方向下流側に配置された下流側空燃比センサと、前記排気浄化触媒に流入する排気ガスの空燃比を制御すると共に前記下流側空燃比センサの異常を診断する制御装置とを具備し、前記制御装置は、前記排気浄化触媒に流入する排気ガスの空燃比が目標空燃比になるようにフィードバック制御を実行し、且つ前記下流側空燃比センサの出力空燃比が理論空燃比よりもリッチなリッチ判定空燃比以下になったときには前記目標空燃比を理論空燃比よりもリーンなリーン空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が理論空燃比よりもリーンなリーン判定空燃比以上になったときには前記目標空燃比を理論空燃比よりもリッチなリッチ空燃比に切り換えるように前記目標空燃比を設定する目標空燃比設定制御を実行する、内燃機関の排気浄化装置において、前記排気浄化触媒に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素又は不足する酸素の量である酸素過不足量の積算値に関連するパラメータを過不足量パラメータとすると、前記制御装置は、前記目標空燃比をリーン空燃比に切り換えてから前記下流側空燃比センサの出力空燃比がリーン判定空燃比以上になるまでの前記過不足量パラメータの値と、前記目標空燃比をリッチ空燃比に切り換えてから前記下流側空燃比センサの出力空燃比がリッチ判定空燃比以下になるまでの前記過不足量パラメータの値との差が小さくなるように前記排気浄化触媒に流入する排気ガスの空燃比を変化させるべく前記フィードバック制御に関するパラメータを補正する学習制御を実行し、且つ前記制御装置は、前記目標空燃比をリーン空燃比に切り換えてから前記下流側空燃比センサの出力空燃比がリーン判定空燃比以上になるまでの前記過不足量パラメータの値又は前記目標空燃比をリッチ空燃比に切り換えてから前記下流側空燃比センサの出力空燃比がリッチ判定空燃比以下になるまでの前記過不足量パラメータの値が、前記排気浄化触媒に吸蔵された酸素がゼロから最大吸蔵可能酸素量まで又は最大吸蔵可能酸素量からゼロまで変化するのに必要な前記過不足量パラメータの値よりも小さい所定の限界値よりも大きいときには前記下流側空燃比センサに異常が生じていないと判定する正常判定制御を実行する、内燃機関の排気浄化装置が提供される。
【０００９】
第２の発明では、第１の発明において、前記過不足量パラメータは、前記排気浄化触媒に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素又は不足する酸素の量である酸素過不足量の積算値である。
【００１０】
第３の発明では、第１の発明において、前記過不足量パラメータは、前記排気浄化触媒に流入する排気ガスの流量の積算値である。
【００１１】
第４の発明では、第１の発明において、前記過不足量パラメータは、時間である。
【００１２】
第５の発明では、第１〜第４のいずれか一つの発明において、前記制御装置は、前記目標空燃比をリーン空燃比に切り換えてから前記下流側空燃比センサの出力空燃比がリーン判定空燃比以上になるまでの前記過不足量パラメータの値又は前記目標空燃比をリッチ空燃比に切り換えてから前記下流側空燃比センサの出力空燃比がリッチ判定空燃比以下になるまでの前記過不足量パラメータの値が、前記排気浄化触媒に吸蔵された酸素がゼロから最大吸蔵可能酸素量まで又は最大吸蔵可能酸素量からゼロまで変化するのに必要な前記過不足量パラメータの値よりも小さい所定の限界値以下になったときには前記下流側区畝ぴセンサに異常が生じていると仮判定する仮判定制御と、該仮判定制御において前記下流側空燃比センサに異常が生じていると仮判定されたときに、前記仮判定とは異なる方法で前記下流側空燃比センサの異常を診断する本判定制御とを実行する。
【００１３】
第６の発明では、第５の発明において、前記制御装置は、前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になったときには前記目標空燃比を一定値であるリーン設定空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になったときには前記目標空燃比を一定値であるリッチ設定空燃比に切り換えるように前記目標空燃比を設定し、前記制御装置は、前記本判定制御において、前記排気浄化触媒に流入する排気ガスの空燃比を全体的にリッチ側又はリーン側へシフトさせ、前記排気浄化触媒に流入する排気ガスの空燃比を全体的にリッチ側又はリーン側へシフトさせることにより、前記目標空燃比を前記リーン設定空燃比に切り替えてから前記下流側空燃比センサの出力空燃比がリーン判定空燃比以上になるまでの期間又は前記目標空燃比を前記リッチ設定空燃比に切り替えてから前記下流側空燃比センサの出力空燃比がリッチ判定空燃比以下になるまでの期間の変化量が予め定められた判定値以下である場合には、前記下流側空燃比センサに異常があると本判定する。
【００１４】
第７の発明では、５の発明において、前記制御装置は、前記下流側空燃比センサの出力空燃比が前記リッチ判定空燃比以下になったときには前記目標空燃比を一定値であるリーン設定空燃比に切り換えると共に、前記下流側空燃比センサの出力空燃比が前記リーン判定空燃比以上になったときには前記目標空燃比を一定値であるリッチ設定空燃比に切り換えるように前記目標空燃比を設定し、前記制御装置は、前記本判定制御において、前記リーン判定空燃比と理論空燃比との差及び前記リッチ判定空燃比と理論空燃比との差のうち少なくとも何れか一方が大きくなるように前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させていき、前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させている間に、前記下流側空燃比センサの出力空燃比がリッチ判定空燃比以下になってから次のサイクルにおいて再び前記下流側空燃比センサの出力空燃比がリッチ判定空燃比以下になるまでの周期の単位時間当たりの変化量、または、前記下流側空燃比センサの出力空燃比がリーン判定空燃比以上になってから次のサイクルにおいて再び前記下流側空燃比センサの出力空燃比がリーン判定空燃比以上になるまでの周期の単位時間当たりの変化量が予め定められた判定値以上になった場合には、前記下流側空燃比センサに異常があると本判定する。
【００１５】
第８の発明では、第７の発明において、前記制御装置は、前記本判定制御において、前記リーン設定空燃比と理論空燃比との差及び前記リッチ設定空燃比と理論空燃比との差のうち少なくとも何れか一方が予め定められた差になるまで前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させ、前記リーン判定空燃比及び前記リッチ判定空燃比の少なくとも何れか一方を連続的に変化させている間に、予め定められた期間以上に亘って前記周期の単位時間当たりの変化量が予め定められた判定値未満に維持された場合には、前記下流側空燃比センサには異常がないと本判定する。
【発明の効果】
【００１６】
本発明によれば、下流側空燃比センサが正常であるか否かを適切に診断することができるようになる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の制御装置が用いられる内燃機関を概略的に示す図である。
【図２】図２は、排気浄化触媒の酸素吸蔵量と排気浄化触媒から流出する排気ガス中のＮＯｘ濃度又はＨＣ、ＣＯ濃度との関係を示す図である。
【図３】図３は、各排気空燃比におけるセンサ印加電圧と出力電流との関係を示す図である。
【図４】図４は、センサ印加電圧を一定にしたときの排気空燃比と出力電流との関係を示す図である。
【図５】図５は、本実施形態に係る内燃機関の制御装置による基本的な空燃比制御を行った場合の、空燃比補正量等のタイムチャートである。
【図６】図６は、本実施形態に係る内燃機関の制御装置による基本的な空燃比制御を行った場合の、空燃比補正量等のタイムチャートである。
【図７】図７は、学習制御を行う際の空燃比補正量等のタイムチャートである。
【図８】図８は、下流側空燃比センサの出力空燃比にずれが生じている際の空燃比補正量等のタイムチャートである。
【図９】図９は、上流側排気浄化触媒に劣化が生じている際の空燃比補正量等のタイムチャートである。
【図１０】図１０は、下流側空燃比センサの出力空燃比にずれが生じている際の空燃比補正量等のタイムチャートである。
【図１１】図１１は、上流側排気浄化触媒に劣化が生じている際の空燃比補正量等のタイムチャートである。
【図１２】図１２は、制御装置の機能ブロック図である。
【図１３】図１３は、空燃比補正量の算出制御の制御ルーチンを示すフローチャートである。
【図１４】図１４は、通常学習制御の制御ルーチンを示すフローチャートである。
【図１５】図１５は、仮判定制御の制御ルーチンを示すフローチャートである。
【図１６】図１６は、本判定制御の制御ルーチンを示すフローチャートである。
【図１７】図１７は、下流側空燃比センサの出力空燃比にずれが生じている際の空燃比補正量等のタイムチャートである。
【図１８】図１８は、上流側排気浄化触媒に劣化が生じている際の空燃比補正量等のタイムチャートである。
【図１９】図１９は、本判定制御の制御ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
【００１９】
＜内燃機関全体の説明＞
図１は、本発明の制御装置が用いられる内燃機関を概略的に示す図である。図１において、１は機関本体、２はシリンダブロック、３はシリンダブロック２内で往復動するピストン、４はシリンダブロック２上に固定されたシリンダヘッド、５はピストン３とシリンダヘッド４との間に形成された燃焼室、６は吸気弁、７は吸気ポート、８は排気弁、９は排気ポートをそれぞれ示す。吸気弁６は吸気ポート７を開閉し、排気弁８は排気ポート９を開閉する。
【００２０】
図１に示したようにシリンダヘッド４の内壁面の中央部には点火プラグ１０が配置され、シリンダヘッド４の内壁面周辺部には燃料噴射弁１１が配置される。点火プラグ１０は、点火信号に応じて火花を発生させるように構成される。また、燃料噴射弁１１は、噴射信号に応じて、所定量の燃料を燃焼室５内に噴射する。なお、燃料噴射弁１１は、吸気ポート７内に燃料を噴射するように配置されてもよい。また、本実施形態では、燃料として理論空燃比が１４．６であるガソリンが用いられる。しかしながら、本実施形態の内燃機関は他の燃料を用いても良い。
【００２１】
各気筒の吸気ポート７はそれぞれ対応する吸気枝管１３を介してサージタンク１４に連結され、サージタンク１４は吸気管１５を介してエアクリーナ１６に連結される。吸気ポート７、吸気枝管１３、サージタンク１４、吸気管１５は吸気通路を形成する。また、吸気管１５内にはスロットル弁駆動アクチュエータ１７によって駆動されるスロットル弁１８が配置される。スロットル弁１８は、スロットル弁駆動アクチュエータ１７によって回動せしめられることで、吸気通路の開口面積を変更することができる。
【００２２】
一方、各気筒の排気ポート９は排気マニホルド１９に連結される。排気マニホルド１９は、各排気ポート９に連結される複数の枝部とこれら枝部が集合した集合部とを有する。排気マニホルド１９の集合部は上流側排気浄化触媒２０を内蔵した上流側ケーシング２１に連結される。上流側ケーシング２１は、排気管２２を介して下流側排気浄化触媒２４を内蔵した下流側ケーシング２３に連結される。排気ポート９、排気マニホルド１９、上流側ケーシング２１、排気管２２及び下流側ケーシング２３は、排気通路を形成する。
【００２３】
電子制御ユニット（ＥＣＵ）３１はデジタルコンピュータからなり、双方向性バス３２を介して相互に接続されたＲＡＭ（ランダムアクセスメモリ）３３、ＲＯＭ（リードオンリメモリ）３４、ＣＰＵ（マイクロプロセッサ）３５、入力ポート３６および出力ポート３７を具備する。吸気管１５には、吸気管１５内を流れる空気流量を検出するためのエアフロメータ３９が配置され、このエアフロメータ３９の出力は対応するＡＤ変換器３８を介して入力ポート３６に入力される。また、排気マニホルド１９の集合部には排気マニホルド１９内を流れる排気ガス（すなわち、上流側排気浄化触媒２０に流入する排気ガス）の空燃比を検出する上流側空燃比センサ４０が配置される。加えて、排気管２２内には排気管２２内を流れる排気ガス（すなわち、上流側排気浄化触媒２０から流出して下流側排気浄化触媒２４に流入する排気ガス）の空燃比を検出する下流側空燃比センサ４１が配置される。これら空燃比センサ４０、４１の出力も対応するＡＤ変換器３８を介して入力ポート３６に入力される。
【００２４】
また、アクセルペダル４２にはアクセルペダル４２の踏込み量に比例した出力電圧を発生する負荷センサ４３が接続され、負荷センサ４３の出力電圧は対応するＡＤ変換器３８を介して入力ポート３６に入力される。クランク角センサ４４は例えばクランクシャフトが１５度回転する毎に出力パルスを発生し、この出力パルスが入力ポート３６に入力される。ＣＰＵ３５ではこのクランク角センサ４４の出力パルスから機関回転数が計算される。一方、出力ポート３７は対応する駆動回路４５を介して点火プラグ１０、燃料噴射弁１１及びスロットル弁駆動アクチュエータ１７に接続される。なお、ＥＣＵ３１は、内燃機関及び排気浄化装置の後述する各種制御を行う制御装置として機能する。
【００２５】
なお、本実施形態に係る内燃機関は、ガソリンを燃料とする無過給内燃機関であるが、本発明に係る内燃機関の構成は、上記構成に限定されるものではない。例えば、本発明に係る内燃機関は、気筒配列、燃料の噴射態様、吸排気系の構成、動弁機構の構成、過給器の有無、及び過給態様等が、上記内燃機関と異なるものであってもよい。
【００２６】
＜排気浄化触媒の説明＞
上流側排気浄化触媒２０及び下流側排気浄化触媒２４は、いずれも同様な構成を有する。排気浄化触媒２０、２４は、酸素吸蔵能力を有する三元触媒である。具体的には、排気浄化触媒２０、２４は、セラミックから成る基材に、触媒作用を有する貴金属（例えば、白金（Ｐｔ））及び酸素吸蔵能力を有する物質（例えば、セリア（ＣｅＯ2））を担持させたものである。排気浄化触媒２０、２４は、所定の活性温度に達すると、未燃ガス（ＨＣやＣＯ等）と窒素酸化物（ＮＯｘ）とを同時に浄化する触媒作用に加えて、酸素吸蔵能力を発揮する。
【００２７】
排気浄化触媒２０、２４の酸素吸蔵能力によれば、排気浄化触媒２０、２４は、排気浄化触媒２０、２４に流入する排気ガスの空燃比が理論空燃比よりもリーン（リーン空燃比）であるときには排気ガス中の酸素を吸蔵する。一方、排気浄化触媒２０、２４は、流入する排気ガスの空燃比が理論空燃比よりもリッチ（リッチ空燃比）であるときには、排気浄化触媒２０、２４に吸蔵されている酸素を放出する。
【００２８】
排気浄化触媒２０、２４は、触媒作用及び酸素吸蔵能力を有することにより、酸素吸蔵量に応じてＮＯｘ及び未燃ガスの浄化作用を有する。すなわち、排気浄化触媒２０、２４に流入する排気ガスの空燃比がリーン空燃比である場合、図２（Ａ）に示したように、酸素吸蔵量が少ないときには排気浄化触媒２０、２４により排気ガス中の酸素が吸蔵される。また、これに伴って、排気ガス中のＮＯｘが還元浄化される。一方、酸素吸蔵量が多くなると、最大吸蔵可能酸素量（上限吸蔵量）Ｃｍａｘ近傍の或る吸蔵量（図中のＣｕｐｌｉｍ）を境に排気浄化触媒２０、２４から流出する排気ガス中の酸素及びＮＯｘの濃度が急激に上昇する。
【００２９】
一方、排気浄化触媒２０、２４に流入する排気ガスの空燃比がリッチ空燃比である場合、図２（Ｂ）に示したように、酸素吸蔵量が多いときには排気浄化触媒２０、２４に吸蔵されている酸素が放出され、排気ガス中の未燃ガスは酸化浄化される。一方、酸素吸蔵量が少なくなると、ゼロ（下限吸蔵量）近傍の或る吸蔵量（図中のＣｌｏｗｌｉｍ）を境に排気浄化触媒２０、２４から流出する排気ガス中の未燃ガスの濃度が急激に上昇する。
【００３０】
以上のように、本実施形態において用いられる排気浄化触媒２０、２４によれば、排気浄化触媒２０、２４に流入する排気ガスの空燃比及び酸素吸蔵量に応じて排気ガス中のＮＯｘ及び未燃ガスの浄化特性が変化する。なお、触媒作用及び酸素吸蔵能力を有していれば、排気浄化触媒２０、２４は三元触媒とは異なる触媒であってもよい。
【００３１】
＜空燃比センサの出力特性＞
次に、図３及び図４を参照して、本実施形態における空燃比センサ４０、４１の出力特性について説明する。図３は、本実施形態における空燃比センサ４０、４１の電圧−電流（Ｖ−Ｉ）特性を示す図であり、図４は、印加電圧を一定に維持したときの、空燃比センサ４０、４１周りを流通する排気ガスの空燃比（以下、「排気空燃比」という）と出力電流Ｉとの関係を示す図である。なお、本実施形態では、両空燃比センサ４０、４１として同一構成の空燃比センサが用いられる。
【００３２】
図３からわかるように、本実施形態の空燃比センサ４０、４１では、出力電流Ｉは、排気空燃比が高くなるほど（リーンになるほど）、大きくなる。また、各排気空燃比におけるＶ−Ｉ線には、Ｖ軸にほぼ平行な領域、すなわちセンサ印加電圧が変化しても出力電流がほとんど変化しない領域が存在する。この電圧領域は限界電流領域と称され、このときの電流は限界電流と称される。図３では、排気空燃比が１８であるときの限界電流領域及び限界電流をそれぞれＷ18、Ｉ18で示している。したがって、空燃比センサ４０、４１は限界電流式の空燃比センサであるということができる。
【００３３】
図４は、印加電圧を０．４５Ｖ程度で一定にしたときの、排気空燃比と出力電流Ｉとの関係を示す図である。図４からわかるように、空燃比センサ４０、４１では、排気空燃比が高くなるほど（すなわち、リーンになるほど）、空燃比センサ４０、４１からの出力電流Ｉが大きくなるように、排気空燃比に対して出力電流がリニアに（比例するように）変化する。加えて、空燃比センサ４０、４１は、排気空燃比が理論空燃比であるときに出力電流Ｉが零になるように構成される。また、排気空燃比が一定以上に大きくなったとき、或いは一定以下に小さくなったときには、排気空燃比の変化に対する出力電流の変化の割合が小さくなる。
【００３４】
なお、上記例では、空燃比センサ４０、４１として限界電流式の空燃比センサを用いている。しかしながら、排気空燃比に対して出力電流がリニアに変化するものであれば、空燃比センサ４０、４１として、限界電流式ではない空燃比センサ等、如何なる空燃比センサを用いてもよい。また、両空燃比センサ４０、４１は互いに異なる構造の空燃比センサであってもよい。
【００３５】
＜基本的な空燃比制御の概要＞
次に、本発明の内燃機関の制御装置における空燃比制御の概要を説明する。本実施形態では、上流側空燃比センサ４０の出力空燃比に基づいて上流側空燃比センサ４０の出力空燃比が目標空燃比となるように燃料噴射弁１１からの燃料噴射量を制御するフィードバック制御が行われる。なお、「出力空燃比」は、空燃比センサの出力値に相当する空燃比を意味する。
【００３６】
一方、本実施形態の空燃比制御では、下流側空燃比センサ４１の出力空燃比等に基づいて目標空燃比を設定する目標空燃比の設定制御が行われる。目標空燃比の設定制御では、下流側空燃比センサ４１の出力空燃比が理論空燃比よりも僅かにリッチなリッチ判定空燃比（例えば、１４．５５）以下となったときに、下流側空燃比センサ４１の出力空燃比がリッチ空燃比になったと判断される。このとき、目標空燃比はリーン設定空燃比に設定される。ここで、リーン設定空燃比は、理論空燃比（制御中心となる空燃比）よりも或る程度リーンである予め定められた一定値である空燃比であり、例えば、１４．６５〜２０、好ましくは１４．６５〜１８、より好ましくは１４．６５〜１６程度とされる。
【００３７】
その後、下流側空燃比センサ４１の出力空燃比が理論空燃比よりも僅かにリーンなリーン判定空燃比（例えば、１４．６５）以上になったときに、下流側空燃比センサ４１の出力排気ガスの空燃比がリーン空燃比になったと判断される。このとき、目標空燃比はリッチ設定空燃比に設定される。ここで、リッチ設定空燃比は、理論空燃比（制御中心となる空燃比）よりも或る程度リッチである予め定められた一定値である空燃比であり、例えば、１０〜１４．５５、好ましくは１２〜１４．５２、より好ましくは１３〜１４．５程度とされる。
【００３８】
この結果、本実施形態では、下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比以下になると、目標空燃比がリーン設定空燃比に設定される。一方、下流側空燃比センサ４１の出力空燃比がリーン判定空燃比以上になると、目標空燃比がリッチ設定空燃比に設定される。その後、同様な制御が繰り返される。
【００３９】
なお、リッチ判定空燃比及びリーン判定空燃比は、理論空燃比の１％以内、好ましくは０．５％以内、より好ましくは０．３５％以内の空燃比とされる。したがって、リッチ判定空燃比及びリーン判定空燃比の理論空燃比からの差は、理論空燃比が１４．６の場合には、０．１５以下、好ましくは０．０７３以下、より好ましくは０．０５１以下とされる。また、目標空燃比（例えば、リッチ設定空燃比やリーン設定空燃比）の理論空燃比からの差は、上述した差よりも大きくなるように設定される。
【００４０】
＜タイムチャートを用いた制御の説明＞
図５を参照して、上述したような操作について具体的に説明する。図５は、本実施形態に係る内燃機関の制御装置による基本的な空燃比制御を行った場合の、空燃比補正量ＡＦＣ、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡ及び下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎのタイムチャートである。
【００４１】
なお、空燃比補正量ＡＦＣは、上流側排気浄化触媒２０に流入する排気ガスの目標空燃比に関する補正量である。空燃比補正量ＡＦＣが０のときには目標空燃比は制御中心となる空燃比（以下、「制御中心空燃比」という）に等しい空燃比（本実施形態では、基本的に理論空燃比）とされ、空燃比補正量ＡＦＣが正の値であるときには目標空燃比は制御中心空燃比よりもリーンな空燃比（本実施形態では、リーン空燃比）となり、空燃比補正量ＡＦＣが負の値であるときには目標空燃比は制御中心空燃比よりもリッチな空燃比（本実施形態では、リッチ空燃比）となる。また、「制御中心空燃比」は、機関運転状態に応じて空燃比補正量ＡＦＣを加算する対象となる空燃比、すなわち空燃比補正量ＡＦＣに応じて目標空燃比を変動させる際に基準となる空燃比を意味する。
【００４２】
図示した例では、時刻ｔ1以前の状態では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈ（リッチ設定空燃比に相当）に設定されている。すなわち、目標空燃比はリッチ空燃比とされており、これに伴って上流側空燃比センサ４０の出力空燃比がリッチ空燃比となっている。上流側排気浄化触媒２０に流入する排気ガス中に含まれている未燃ガスが上流側排気浄化触媒２０で浄化され、これに伴って上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは徐々に減少していく。一方、上流側排気浄化触媒２０における浄化により、上流側排気浄化触媒２０から流出する排気ガス中には未燃ガスは含まれていないため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはほぼ理論空燃比となる。
【００４３】
上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが徐々に減少すると、酸素吸蔵量ＯＳＡは時刻ｔ1においてゼロに近づく（例えば、図２のＣｌｏｗｌｉｍ）。これに伴って、上流側排気浄化触媒２０に流入した未燃ガスの一部は上流側排気浄化触媒２０で浄化されずに流出し始める。これにより、時刻ｔ1以降、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが徐々に低下する。その結果、図示した例では、時刻ｔ2において、酸素吸蔵量ＯＳＡがほぼゼロになると共に、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達する。
【００４４】
本実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、酸素吸蔵量ＯＳＡを増大させるべく、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎ（リーン設定空燃比に相当）に切り替えられる。したがって、目標空燃比は、リッチ空燃比からリーン空燃比へと切り替えられる。
【００４５】
なお、本実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比からリッチ空燃比に変化してすぐではなく、リッチ判定空燃比ＡＦｒｉｃｈに到達してから、空燃比補正量ＡＦＣの切替を行っている。これは、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが十分であっても、上流側排気浄化触媒２０から流出する排気ガスの空燃比が理論空燃比から極僅かにずれてしまう場合があるためである。逆に言うと、リッチ判定空燃比は、上流側排気浄化触媒２０の酸素吸蔵量が十分であるときには、上流側排気浄化触媒２０から流出する排気ガスの空燃比が到達することのないような空燃比とされる。なお、上述したリーン判定空燃比についても同じことがいえる。
【００４６】
時刻ｔ2において、目標空燃比をリーン空燃比に切り替えると、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリッチ空燃比からリーン空燃比に変化する。また、これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐがリーン空燃比となる（実際には、目標空燃比を切り替えてから上流側排気浄化触媒２０に流入する排気ガスの空燃比が変化するまでには遅れが生じるが、図示した例では便宜上同時に変化するものとしている）。時刻ｔ2において上流側排気浄化触媒２０に流入する排気ガスの空燃比がリーン空燃比に変化すると、排気ガス中の酸素が上流側排気浄化触媒２０に吸蔵される。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは増大していくと共に、上流側排気浄化触媒２０から流出する排気ガスの空燃比が理論空燃比に収束する。この結果、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがほぼ理論空燃比となる。
【００４７】
時刻ｔ2以降においては、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは、徐々に増加していく。上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが徐々に増加すると、酸素吸蔵量ＯＳＡはやがて最大吸蔵可能酸素量Ｃｍａｘに近づく（例えば、図２のＣｕｐｌｉｍ）。時刻ｔ3において酸素吸蔵量ＯＳＡが最大吸蔵可能酸素量Ｃｍａｘに近づくと、上流側排気浄化触媒２０に流入した酸素の一部は上流側排気浄化触媒２０で吸蔵されずに流出し始める。これにより、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが徐々に上昇する。その結果、図示した例では、時刻ｔ4において、酸素吸蔵量ＯＳＡが最大吸蔵可能酸素量Ｃｍａｘに到達すると共に、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎに到達する。
【００４８】
本実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になると、酸素吸蔵量ＯＳＡを減少させるべく、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。したがって、目標空燃比は、リーン空燃比からリッチ空燃比へと切り替えられる。
【００４９】
時刻ｔ4において、目標空燃比をリッチ空燃比に切り替えると、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン空燃比からリッチ空燃比に変化する。また、これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐがリッチ空燃比となる（実際には、目標空燃比を切り替えてから上流側排気浄化触媒２０に流入する排気ガスの空燃比が変化するまでには遅れが生じるが、図示した例では便宜上同時に変化するものとしている）。時刻ｔ4において上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ空燃比に変化すると、排気ガス中の未燃ガスが上流側排気浄化触媒２０に吸蔵されている酸素によって浄化される。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは減少していくと共に、上流側排気浄化触媒２０から流出する排気ガス中の空燃比が理論空燃比に収束する。この結果、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがほぼ理論空燃比となる。
【００５０】
時刻ｔ4以降においては、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは、徐々に減少していく。上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが徐々に減少すると、酸素吸蔵量ＯＳＡはやがて時刻ｔ5において、時刻ｔ1と同様に、ゼロに近づき、図２のＣｄｗｎｌｉｍまで減少する。その後、時刻ｔ6において、時刻ｔ2と同様に、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達する。その後は、時刻ｔ1〜ｔ4の操作と同様な操作が繰り返される。
【００５１】
本実施形態では、下流側において排気ガスの空燃比を検出するセンサとして、空燃比センサ４１を用いている。この空燃比センサ４１は、酸素センサと異なり、ヒステリシスを有さない。このため、空燃比センサ４１によれば実際の排気空燃比に対して応答性が高く、上流側排気浄化触媒２０からの未燃ガス及び酸素（及びＮＯｘ）の流出を迅速に検出することができる。したがって、これにより、本実施形態によれば、上流側排気浄化触媒２０からの未燃ガス及びＮＯｘ（及び酸素）の流出を抑制することができる。
【００５２】
また、酸素を吸蔵可能な排気浄化触媒では、その酸素吸蔵量をほぼ一定に維持すると、その酸素吸蔵能力の低下を招く。したがって、酸素吸蔵能力を可能な限り高く維持するためには、排気浄化触媒の使用時にその酸素吸蔵量を上下に変化させることが必要になる。本実施形態に係る空燃比制御によれば、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは、ゼロ近傍と最大吸蔵可能酸素量近傍との間で上下に繰り返し変化する。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡをできるだけ高く維持することができる。
【００５３】
＜別の基本的な制御の例＞
なお、基本的な空燃比制御としては、上記図５に示した制御とは異なる制御を行ってもよい。このような制御としては、例えば、図６に示した制御が挙げられる。
【００５４】
図６に示した例では、時刻ｔ2までは図５に示した例と同様な制御が行われる。時刻ｔ2において、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに切り替えられ、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大していく。このように、酸素吸蔵量ＯＳＡが増大していくと、上流側排気浄化触媒２０から流出する排気ガスの空燃比が理論空燃比へ向かって変化する。図６に示した例では、時刻ｔ2’において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値となる。すなわち、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがほぼ理論空燃比となる。これは、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが或る程度多くなっていることを意味する。
【００５５】
そこで、図６に示した制御では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きな値に変化したときには、空燃比補正量ＡＦＣが弱リーン設定補正量ＡＦＣｓｌｅａｎ（弱リーン設定空燃比に相当）に切り替えられる。ここで、弱リーン設定空燃比は、リーン設定空燃比よりもリーン度合いの小さい（理論空燃比からの差が小さい）リーン空燃比であり、例えば、１４．６２〜１５．７、好ましくは１４．６３〜１５．２、より好ましくは１４．６５〜１４．９程度とされる。
【００５６】
時刻ｔ2’において、空燃比補正量ＡＦＣを弱リーン設定補正量ＡＦＣｓｌｅａｎに切り替えると、上流側排気浄化触媒２０に流入する排気ガスのリーン度合いも小さくなる。これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは小さくなると共に、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの増加速度が低下する。その後、時刻ｔ3において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが上昇し始めると共に、時刻ｔ4においてリーン判定空燃比ＡＦｌｅａｎに到達し、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに切り換えられる。
【００５７】
また、時刻ｔ4において上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ空燃比に変化すると、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは減少していく。このように酸素吸蔵量ＯＳＡが減少していくと、上流側排気浄化触媒２０から流出する排気ガスの空燃比が理論空燃比へ向かって変化する。図６に示した例では、時刻ｔ4’において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎよりも小さな値となる。すなわち、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがほぼ理論空燃比となる。これは、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが或る程度少なくなっていることを意味する。
【００５８】
そこで、図６に示した制御では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎよりも小さな値に変化したときには、空燃比補正量ＡＦＣがリッチ設定補正量から弱リッチ設定補正量ＡＦＣｓｒｉｃｈ（弱リッチ設定空燃比に相当）に切り替えられる。ここで、弱リッチ設定空燃比は、リッチ設定空燃比よりもリッチ度合いの小さい（理論空燃比からの差が小さい）リッチ空燃比であり、例えば、１３．５〜１４．５８、好ましくは１４〜１４．５７、より好ましくは１４．３〜１４．５５程度とされる。
【００５９】
時刻ｔ4’において、空燃比補正量ＡＦＣを弱リッチ設定補正量ＡＦＣｓｒｉｃｈに切り替えると、上流側排気浄化触媒２０に流入する排気ガスの空燃比のリッチ度合いも小さくなる。これに伴って、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは増大すると共に、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの減少速度が低下する。その後、時刻ｔ5において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが低下し始めると共に、時刻ｔ6においてリッチ判定空燃比ＡＦｒｉｃｈに到達し、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに切り換えられる。
【００６０】
図６に示した空燃比制御によれば、時刻ｔ2において目標空燃比がリッチ空燃比からリーン空燃比に変更された直後、及び時刻ｔ5において目標空燃比がリーン空燃比からリッチ空燃比に変更された直後には、理論空燃比からの差が大きなものとされる（すなわち、リッチ度合い又はリーン度合いが大きいものとされる）。このため、時刻ｔ2において上流側排気浄化触媒２０から流出していた未燃ガス及び時刻ｔ5において上流側排気浄化触媒２０から流出していたＮＯｘを迅速に減少させることができる。したがって、上流側排気浄化触媒２０からの未燃ガス及びＮＯｘの流出を抑制することができる。
【００６１】
また、図６に示した空燃比制御によれば、時刻ｔ2’において目標空燃比が弱リーン設定空燃比に切り替えられる。このように目標空燃比のリッチ度合い（理論空燃比からの差）を小さくすることにより、例えば時刻ｔ4等において仮に上流側排気浄化触媒２０からＮＯｘが流出したとしても、その単位時間当たりの流出量を減少させることができる。加えて、図６に空燃比制御によれば、時刻ｔ4’において目標空燃比が弱リッチ設定空燃比に切り替えられる。このように目標空燃比のリッチ度合い（理論空燃比からの差）を小さくすることにより、例えば、時刻ｔ6等において仮に上流側排気浄化触媒２０から未燃ガスが流出したとしても、その単位時間当たりの流出量を減少させることができる。
【００６２】
なお、図６に示した例において、時刻ｔ2’及び時刻ｔ4’等のように空燃比補正量ＡＦＣを切り替えるタイミングは、必ずしも下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに基づいて設定されなくてもよく、他のパラメータに基づいて決定されてもよい。
【００６３】
例えば、これら空燃比補正量ＡＦＣを切り替えるタイミングは、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡに基づいて決定されてもよい。例えば、図６に示したように、時刻ｔ2において目標空燃比をリーン空燃比に切り替えてから上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが予め定められた量αに達したときに、空燃比補正量ＡＦＣを弱リーン設定補正量ＡＦＣｓｌｅａｎに切り替えるようにしてもよい。また、時刻ｔ4において、目標空燃比をリッチ空燃比に切り替えてから上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが予め定められた量αだけ減少したときに、空燃比補正量ＡＦＣを弱リッチ設定補正量に切り替えるようにしてもよい。
【００６４】
この場合、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは、上流側排気浄化触媒２０に流入する排気ガスの積算酸素過不足量に基づいて推定される。酸素過不足量は、上流側排気浄化触媒２０に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素又は不足する酸素（過剰な未燃ガス等の量）を意味する。特に、目標空燃比がリーン設定空燃比となっているときには上流側排気浄化触媒２０に流入する排気ガス中の酸素は過剰となり、この過剰な酸素は上流側排気浄化触媒２０に吸蔵される。したがって、酸素過不足量の積算値（以下、「積算酸素過不足量」という）は、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡを表しているといえる。図６に示したように、本実施形態では、積算酸素過不足量ΣＯＥＤは、空燃比補正量ＡＦＣがゼロを越えて変化したとき、すなわち目標空燃比が理論空燃比を越えて変化した時にゼロにリセットされる。
【００６５】
なお、酸素過不足量は、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ、及びエアフロメータ３９等に基づいて算出される燃焼室５内への吸入空気量の推定値又は燃料噴射弁１１からの燃料供給量等に基づいて行われる。具体的には、酸素過不足量ＯＥＤは、例えば、下記式（１）により算出される。
ＯＥＤ＝０．２３・Ｑｉ／（ＡＦｕｐ−ＡＦＲ）      …（１）
ここで、０．２３は空気中の酸素濃度、Ｑｉは燃料噴射量、ＡＦｕｐは上流側空燃比センサ４０の出力空燃比、ＡＦＲは後述する制御中心空燃比をそれぞれ表している。
【００６６】
＜上流側空燃比センサにおけるずれ＞
ところで、機関本体１が複数の気筒を有する場合、各気筒から排出される排気ガスの空燃比には気筒間でずれが生じる場合がある。一方、上流側空燃比センサ４０は排気マニホルド１９の集合部に配置されるが、その配置位置に応じて各気筒から排出された排気ガスが上流側空燃比センサ４０に曝される程度が気筒間で異なる。この結果、上流側空燃比センサ４０の出力空燃比は、或る特定の気筒から排出された排気ガスの空燃比の影響を強く受けることになる。このため、この或る特定の気筒から排出された排気ガスの空燃比が全気筒から排出される排気ガスの平均空燃比とは異なる空燃比となっている場合、平均空燃比と上流側空燃比センサ４０の出力空燃比との間にはずれが生じる。すなわち、上流側空燃比センサ４０の出力空燃比は排気ガスの実際の平均空燃比よりもリッチ側又はリーン側にずれることになる。
【００６７】
また、未燃ガスのうち水素は空燃比センサの拡散律速層の通過速度が速い。このため、排気ガス中の水素濃度が高いと、上流側空燃比センサ４０の出力空燃比が排気ガスの実際の空燃比よりも低い側（すなわち、リッチ側）にずれてしまう。このように上流側空燃比センサ４０の出力空燃比にずれが生じていると、上述したような制御を適切に行うことができなくなる。
【００６８】
＜学習制御＞
そこで、本実施形態では、上流側空燃比センサ４０の出力空燃比におけるずれを補償すべく、通常運転中（すなわち、上述したような目標空燃比に基づいてフィードバック制御を行っているとき）に学習制御が行われる。以下では、この学習制御について説明する。
【００６９】
ここで、目標空燃比をリーン空燃比に切り替えてから下流側空燃比センサ４１の出力空燃比がリーン判定空燃比以上になるまでの期間を酸素増大期間とする。同様に、目標空燃比をリッチ空燃比に切り替えてから下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比以下になるまでの期間を酸素減少期間とする。本実施形態の学習制御では、酸素増大期間における積算酸素過不足量ΣＯＥＤの絶対値としてリーン酸素量積算値を算出する。加えて、酸素減少期間における積算酸素過不足量の絶対値としてリッチ酸素量積算値を算出する。そして、これらリーン酸素量積算値とリッチ酸素量積算値との差が小さくなるように制御中心空燃比ＡＦＲが補正される。図７にこの様子を示す。
【００７０】
図７は、制御中心空燃比ＡＦＲ、空燃比補正量ＡＦＣ、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡ、積算酸素過不足量ΣＯＥＤ、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎ及び学習値ｓｆｂｇのタイムチャートである。図７は、上流側空燃比センサ４０の出力空燃比ＡＦｕｐが低い側（リッチ側）にずれている場合を示している。なお、学習値ｓｆｂｇは、上流側空燃比センサ４０の出力空燃比（出力電流）のずれに応じて変化するように設定される値であり、本実施形態では制御中心空燃比ＡＦＲを補正するのに用いられる。また、図中、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにおける実線は、上流側空燃比センサ４０の出力空燃比を、破線は、上流側空燃比センサ４０周りを流通する排気ガスの実際の空燃比をそれぞれ示している。加えて、一点鎖線は、目標空燃比、すなわち空燃比補正量ＡＦＣに相当する空燃比を示している。
【００７１】
図示した例では、図５と同様に、時刻ｔ1以前の状態では、制御中心空燃比ＡＦＲが理論空燃比とされ、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されている。このとき、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは実線で示したようにリッチ設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにはずれが生じているため、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーンの空燃比となっている（図７の破線）。
【００７２】
図７に示した例では、時刻ｔ1において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達する。これにより、上述したように、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに切り替えられる。時刻ｔ1以降は、上流側空燃比センサ４０の出力空燃比はリーン設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ４０の出力空燃比のずれにより、排気ガスの実際の空燃比は、リーン設定空燃比よりもリーンな空燃比、すなわちリーン度合いの大きい空燃比となる（図７の破線を参照）。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡは急速に増大する。
【００７３】
その後、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが多くなって時刻ｔ2において下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になると、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。しかしながら、上流側空燃比センサ４０の出力空燃比のずれにより、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーンな空燃比、すなわちリッチ度合いの小さい空燃比となる（図７の破線を参照）。このため、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡの減少速度は遅い。
【００７４】
ところで、本実施形態では、時刻ｔ1から時刻ｔ2までにおいて、積算酸素過不足量ΣＯＥＤが算出される。すなわち、目標空燃比をリーン空燃比に切り替えた時（時刻ｔ1）から下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になった時（時刻ｔ2）までの期間、すなわち酸素増大期間Ｔｉｎｃに積算酸素過不足量ΣＯＥＤが算出される。図７では、時刻ｔ1〜時刻ｔ2の酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値をＲ1で示している。
【００７５】
この酸素増大期間Ｔｉｎｃの積算酸素過不足量ΣＯＥＤの絶対値Ｒ1は、時刻ｔ2における酸素吸蔵量ＯＳＡに相当する。しかしながら、上述したように、酸素過不足量の推定には上流側空燃比センサ４０の出力空燃比ＡＦｕｐが用いられ、この出力空燃比ＡＦｕｐにはずれが生じている。このため、図７に示した例では、時刻ｔ1〜時刻ｔ2の酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤは、時刻ｔ2における実際の酸素吸蔵量ＯＳＡに相当する値よりも少ないものとなっている。
【００７６】
また、本実施形態では、時刻ｔ2から時刻ｔ3までにおいても、積算酸素過不足量ΣＯＥＤが算出される。すなわち、目標空燃比をリッチ空燃比に切り替えた時（時刻ｔ2）から下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になった時（時刻ｔ3）までの期間、すなわち酸素減少期間Ｔｄｅｃに積算酸素過不足量ΣＯＥＤが算出される。図７では、時刻ｔ2〜時刻ｔ3の酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値をＦ1で示している。
【００７７】
この酸素減少期間Ｔｄｅｃの積算酸素過不足量ΣＯＥＤの絶対値Ｆ1は、時刻ｔ2から時刻ｔ3までに上流側排気浄化触媒２０から放出された総酸素量に相当する。しかしながら、上述したように、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにはずれが生じている。このため、図７に示した例では、時刻ｔ2〜時刻ｔ3の酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤは、時刻ｔ2から時刻ｔ3までに上流側排気浄化触媒２０から実際に放出された総酸素量に相当する値よりも多いものとなっている。
【００７８】
ここで、酸素増大期間Ｔｉｎｃでは上流側排気浄化触媒２０に酸素が吸蔵されると共に、酸素減少期間Ｔｄｅｃでは吸蔵されていた酸素が全て放出される。したがって、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1と、酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1とは基本的に同一の値になるはずある。ところが、上述したように、上流側空燃比センサ４０の出力空燃比ＡＦｕｐにずれが生じている場合、このずれに応じてこれら積算値の値も変化する。上述したように、上流側空燃比センサ４０の出力空燃比が低い側（リッチ側）にずれている場合、絶対値Ｒ1に対して絶対値Ｆ1の方が多くなる。逆に、上流側空燃比センサ４０の出力空燃比が高い側（リーン側）にずれている場合、絶対値Ｒ1に対して絶対値Ｆ1の方が少なくなる。加えて、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1と酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1の差ΔΣＯＥＤ（＝Ｒ1−Ｆ1。以下、「過不足量誤差」という）は上流側空燃比センサ４０の出力空燃比におけるずれの程度を表している。これら絶対値Ｒ1、Ｆ1の差が大きくなるほど、上流側空燃比センサ４０の出力空燃比におけるずれが大きいといえる。
【００７９】
そこで、本実施形態では、過不足量誤差ΔΣＯＥＤに基づいて、制御中心空燃比ＡＦＲを補正するようにしている。特に、本実施形態では、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1と酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1の差ΔΣＯＥＤが小さくなるように制御中心空燃比ＡＦＲを補正するようにしている。
【００８０】
具体的には、本実施形態では、下記式（２）により学習値ｓｆｂｇを算出すると共に、下記式（３）により制御中心空燃比ＡＦＲが補正される。
ｓｆｂｇ（ｎ）＝ｓｆｂｇ（ｎ−１）＋ｋ1・ΔΣＯＥＤ      …（２）
ＡＦＲ＝ＡＦＲｂａｓｅ＋ｓｆｂｇ（ｎ）      …（３）
なお、上記式（２）において、ｎは計算回数又は時間を表している。したがって、ｓｆｂｇ（ｎ）は今回の計算時の又は現在の学習値である。加えて、上記式（２）におけるｋ1は、過不足量誤差ΔΣＯＥＤを制御中心空燃比ＡＦＲに反映させる程度を表すゲインである。ゲインｋ1の値が大きいほど制御中心空燃比ＡＦＲの補正量が大きくなる。さらに、上記式（３）において、基本制御中心空燃比ＡＦＲｂａｓｅは、基本となる制御中心空燃比であり、本実施形態では理論空燃比である。
【００８１】
図７の時刻ｔ3においては、上述したように、絶対値Ｒ1、Ｆ1に基づいて学習値ｓｆｂｇが算出される。特に、図７に示した例では、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量の絶対値Ｒ1よりも酸素減少期間Ｔｄｅｃにおける積算酸素過不足量の絶対値Ｆ1の方が大きいことから、時刻ｔ3において学習値ｓｆｂｇは減少せしめられる。
【００８２】
ここで、制御中心空燃比ＡＦＲは、上記式（３）を用いて学習値ｓｆｂｇに基づいて補正される。図７に示した例では、学習値ｓｆｂｇは負の値となっているため、制御中心空燃比ＡＦＲは、基本制御中心空燃比ＡＦＲｂａｓｅよりも小さな値、すなわちリッチ側の値となっている。これにより、上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ側に補正されることになる。
【００８３】
この結果、時刻ｔ3以降、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比の目標空燃比に対するずれは時刻ｔ3以前と比べて小さなものとなる。したがって、時刻ｔ3以降、実際の空燃比を表す破線と目標空燃比を表す一点鎖線との間の差は、時刻ｔ3以前における差よりも小さくなっている（時刻ｔ3以前においては、目標空燃比は下流側空燃比センサ４１の出力空燃比に一致しているため実線と重なっている）。
【００８４】
また、時刻ｔ3以降も、時刻ｔ1〜時刻ｔ3における操作と同様な操作が行われる。したがって、時刻ｔ4において下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になると、目標空燃比がリーン空燃比からリッチ空燃比へと切り替えられる。その後、時刻ｔ5において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、再度、目標空燃比がリーン空燃比に切り替えられる。
【００８５】
時刻ｔ3〜時刻ｔ4は、上述したように酸素増大期間Ｔｉｎｃに該当し、よってこの間の積算酸素過不足量ΣＯＥＤの絶対値は図７のＲ2で表せる。また、時刻ｔ4〜時刻ｔ5は、上述したように酸素減少期間Ｔｄｅｃに該当し、よってこの間の積算酸素過不足量ΣＯＥＤの絶対値は図７のＦ2で表せる。そして、これら絶対値Ｒ2、Ｆ2の差ΔΣＯＥＤ（＝Ｒ2−Ｆ2）に基づいて、上記式（２）を用いて学習値ｓｆｂｇが更新される。本実施形態では、時刻ｔ5以降も同様な制御が繰り返され、これにより学習値ｓｆｂｇの更新が繰り返される。
【００８６】
学習制御によりこのように学習値ｓｆｂｇの更新を行うことにより、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは徐々に目標空燃比から離れていくが、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比は徐々に目標空燃比に近づいていく。これにより、上流側空燃比センサ４０の出力空燃比におけるずれを補償することができる。
【００８７】
なお、上記実施形態では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下とリーン判定空燃比ＡＦｌｅａｎ以上とを交互に変動する場合の学習制御を示している。しかしながら、上流側空燃比センサ４０の出力空燃比ＡＦｕｐのずれが大きくなると、空燃比補正量ＡＦＣをリッチ設定補正量ＡＦＣｒｉｃｈに設定しても、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比よりもリーン側に維持され続けることがある。この結果、酸素増大期間Ｔｉｎｃが非常に長くなり、また、この間の積算酸素過不足量ΣＯＥＤの絶対値は非常に大きくなる。そこで、本実施形態では、酸素増大期間Ｔｉｎｃが或る程度以上長くなった場合には、学習値ｓｆｂｇを減少させるようにしてもよい。
【００８８】
同様に、上流側空燃比センサ４０の出力空燃比ＡＦｕｐのずれが大きくなると、空燃比補正量ＡＦＣをリーン設定補正量ＡＦＣｌｅａｎに設定しても、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比よりもリッチ側に維持され続けることがある。この結果、酸素減少期間Ｔｄｅｃが非常に長くなり、また、この間の積算酸素過不足量ΣＯＥＤの絶対値は非常に小さくなる。そこで、本実施形態では、酸素減少期間Ｔｄｅｃが或る程度以上長くなった場合には、学習値ｓｆｂｇを増大させるようにしてもよい。
【００８９】
加えて、上記実施形態では、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤと酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤとに基づいて、これらの差が小さくなるように学習値ｓｆｂｇの更新が行われている。しかしながら、積算酸素過不足量ΣＯＥＤの代わりに、積算酸素過不足量ΣＯＥＤに関連するパラメータ（積算酸素過不足量ΣＯＥＤが変化すると合わせて変化するパラメータ）に基づいて学習値ｓｆｂｇの更新が行われてもよい。したがって、例えば、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとに基づいて、これらの差が小さくなるように学習値ｓｆｂｇの更新が行われてもよい。或いは、酸素増大期間Ｔｉｎｃにおける吸入空気量の積算値と酸素減少期間Ｔｄｅｃにおける吸入空気量の積算値とに基づいて、これらの差が小さくなるように学習値ｓｆｂｇの更新が行われてもよい。
【００９０】
また、上記実施形態では、学習値ｓｆｂｇに基づいて、制御中心空燃比を補正することとしている。しかしながら、学習値ｓｆｂｇに基づいて補正するのは、フィードバック制御に関する他のパラメータであってもよい。他のパラメータとしては、例えば、燃焼室５内への燃料供給量や、上流側空燃比センサ４０の出力空燃比、空燃比補正量等が挙げられる。
【００９１】
以上をまとめると、本実施形態では、積算酸素過不足量に関連するパラメータを過不足量パラメータ（例えば、積算酸素過不足量、酸素増大期間及び酸素減少期間、又は吸入空気量）とすると、制御装置（ＥＣＵ）は、目標空燃比をリーン空燃比に切り替えてから下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になるまでの第１期間における過不足量パラメータの値と、目標空燃比をリッチ空燃比に切り替えてから下流側空燃比センサ４１の出力空燃比がリッチ判定空燃比ＡＦｒｉｃｈ以下にまるまでの第２期間における過不足量パラメータの値とに基づいて、これら値の差が小さくなるように上流側排気浄化触媒２０に流入する排気ガスの空燃比を変化させるべくフィードバック制御に関するパラメータ（例えば、制御中心空燃比、燃料供給量、上流側空燃比センサの出力空燃比、又は空燃比補正量）を補正する学習制御を行うといえる。
【００９２】
＜下流側空燃比センサにおけるずれ＞
ところで、上記学習制御は、上流側空燃比センサ４０の出力空燃比にずれが生じた場合にそのずれを補償すべく用いられている。しかしながら、上流側空燃比センサ４０のみならず、下流側空燃比センサ４１の出力空燃比にもずれが生じる場合がある。例えば、下流側空燃比センサ４１の駆動回路等に異常が生じると、下流側空燃比センサ４１の出力電流が全体的に大きい側又は小さい側にシフトする中心値ずれが生じる。すなわち、下流側空燃比センサ４１に異常が生じるとその出力空燃比に中心値ずれが生じる場合がある。
【００９３】
図８は、下流側空燃比センサ４１の出力空燃比が全体的にリーン側にずれている場合の制御中心空燃比ＡＦＲ等のタイムチャートである。図中の左側はずれ量が小さい場合、図中の右側はずれ量が大きい場合をそれぞれ示している。また、図中の下流側空燃比は、下流側空燃比センサ４１周りを流通する排気ガスの実際の空燃比を示している。
【００９４】
下流側空燃比センサ４１の出力空燃比に僅かなずれのみが生じている場合、図８の左側に示したように、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは実際の空燃比よりも僅かにリーンとなっている。このため、実際の排気空燃比が理論空燃比であるときにも、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは僅かにリーン空燃比となっている。しかしながら、下流側空燃比センサ４１の出力空燃ＡＦｄｗｎ比に生じているずれが小さいと、そのずれ量は、リッチ判定空燃比ＡＦｒｉｃｈと理論空燃比との差及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差よりも小さい。
【００９５】
このため、図８の時刻ｔ1〜ｔ3から分かるように、実際の排気空燃比が理論空燃比であるときには、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリッチ判定空燃比ＡＦｒｉｈとリーン判定空燃比ＡＦｌｅａｎとの間の空燃比とされる。したがって、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが最大吸蔵可能酸素量Ｃｍａｘに到達して、上流側排気浄化触媒２０から酸素が流出しない限り、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリーン判定空燃比ＡＦｌｅａｎ以上にはならない。同様に、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡがゼロに到達して、上流側排気浄化触媒２０から未燃ガスが流出しない限り、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリッチ判定空燃比ＡＦｒｉｃｈ以下にはならない。この結果、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに生じたずれが小さければ、図８の時刻ｔ1〜ｔ3に示したように、図６と同様な制御が行われ、上述した空燃比制御に大きな支障は生じない。したがって、上流側排気浄化触媒２０により排気ガス中の未燃ガスやＮＯｘが適切に浄化される。
【００９６】
一方、下流側空燃比センサ４１の出力空燃比に大きなずれが生じている場合、特に、リッチ判定空燃比ＡＦｒｉｃｈ又はリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差よりも大きなずれが生じている場合、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリッチ判定空燃比ＡＦｒｉｃｈ以下又はリーン判定空燃比ＡＦｌｅａｎ以上に維持される。この結果、上述した酸素増大期間Ｔｉｎｃと酸素減少時間Ｔｄｅｃとが大きく異なる値となる。したがって、上述した学習制御により、徐々に学習値が増大又は減少せしめられる。
【００９７】
図８の右側に示した例では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリーン側にずれている。この場合、この結果、図８の時刻ｔ4になる前において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは上述した空燃比制御の実行中に亘ってリーン空燃比に維持される。このように、出力空燃比ＡＦｄｗｎがリーン空燃比に維持されると、上述した学習制御により、学習値ｓｆｂｇが減少せしめられ、これに伴って制御中心空燃比ＡＦＲが減少せしめられる。このように制御中心空燃比ＡＦＲが減少せしめられると、上流側排気浄化触媒２０に流入する排気ガスの平均空燃比が低下せしめられ、これに伴って下流側空燃比センサ４１周りに流通する排気ガスの空燃比がリッチ側にシフトし、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比に近づく。
【００９８】
このような制御が繰り返されると、最終的に、空燃比の制御は図８の時刻ｔ4以降に示したようなサイクルに収束する。具体的には、時刻ｔ4以降では、以下のようなサイクルに収束する。時刻ｔ4以前において、上述したように学習値ｓｆｂｇは減少せしめられているため、制御中心空燃比ＡＦＲも理論空燃比から大きくリッチ側にずれている。このため、上流側排気浄化触媒２０に流入する排気ガスの空燃比もリッチ側にずれ、上流側空燃比センサ４０の出力空燃比ＡＦｕｐもリッチ側にずれている。ただし、積算酸素過不足量ΣＯＥＤを算出する際には、上記式（１）に示したように上流側空燃比センサ４０の出力空燃比ＡＦｕｐから制御中心空燃比ＡＦＲを減算した値が用いられる。このため、ΣＯＥＤの算出には制御中心空燃比ＡＦＲのずれは影響を与えない。
【００９９】
そして、図８に示した例では、時刻ｔ4において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリーン判定空燃比ＡＦｌｅａｎ以上になる。このとき、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは大きくリーン側にずれているため、下流側空燃比センサ４１周りを流通する排気ガスの実際の空燃比はリッチ空燃比となっている。時刻ｔ4において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になると、空燃比補正量ＡＦＣはリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。これにより、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリッチ側に変化し、よって上流側空燃比センサ４０の出力空燃比ＡＦｕｐもリッチ側に変化する。
【０１００】
上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡはほぼゼロとなっているため、上流側排気浄化触媒２０に流入する排気ガスの空燃比がリッチ側に変化すると、そのまま上流側排気浄化触媒２０から流出する排気ガスの空燃比、すなわち下流側空燃比センサ４１周りを流通する排気ガスの実際の空燃比もリッチ側に変化する。したがって、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎも同様にリッチ側に変化する。この時、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡはほぼゼロのままであることから、上流側排気浄化触媒２０から流出する排気ガスの空燃比は、途中で一定の空燃比に維持されることなく、上流側排気浄化触媒２０に流入する排気ガスの空燃比の変化に伴ってリッチ側に変化していく。この結果、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは、空燃比補正量ＡＦＣをリッチ設定空燃比ＡＦＣｒｉｃｈに切り替えてからすぐに、時刻ｔ5においてリッチ判定空燃比ＡＦｒｉｃｈに到達する。
【０１０１】
時刻ｔ5において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、空燃比補正量ＡＦＣがリッチ設定空燃比ＡＦＣｒｉｃｈからリーン設定空燃比ＡＦＣｌｅａｎに切り替えられる。これにより、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン側に変化し、よって上流側空燃比センサ４０の出力空燃比ＡＦｕｐもリーン側に変化する。このとき、上述したように制御中心空燃比ＡＦＲがリッチ側にずれていることから、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン度合いの低いリーン空燃比か或いはリッチ空燃比となる。したがって、上流側空燃比センサ４０の出力空燃比ＡＦｕｐもリーン度合いの低いリーン空燃比か或いはリッチ空燃比となる（図８に示した例では、リーン度合いの低いリーン空燃比となっている）。
【０１０２】
このように時刻ｔ5において上流側排気浄化触媒２０に流入する排気ガスの空燃比がリーン側に変化すると、これに伴って上流側排気浄化触媒２０から流出する排気ガスの空燃比もリーン側に徐々に変化する。したがって、時刻ｔ5において空燃比補正量ＡＦＣがリッチ設定空燃比ＡＦＣｒｉｃｈに変化すると、多少の遅れを伴って、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎもリーン側に徐々に変化する。
【０１０３】
ここで、上述したように、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎはリーン側に大きくずれている。このため、上流側排気浄化触媒２０から流出する排気ガスの実際の空燃比が理論空燃比に到達する前に、時刻ｔ6において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎに到達してしまう。このため、空燃比補正量ＡＦＣは、時刻ｔ6において、リーン設定補正量ＡＦＣｌｅａｎからリッチ設定補正量ＡＦＣｒｉｃｈに切り替えられる。
【０１０４】
このように、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン側に大きくずれている場合には、図８からわかるように、上流側排気浄化触媒２０から流出する排気ガスの空燃比が常にリッチ空燃比となる。したがって、この場合、長期に亘って、上流側排気浄化触媒２０から未燃燃料を含んだ排気ガスが流出されてしまう。逆に、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ側に大きくずれている場合には、図８に示した場合とは逆に、上流側排気浄化触媒２０から流出する排気ガスの空燃比が常にリーン空燃比となる。したがって、この場合、長期に亘って、上流側排気浄化触媒２０からＮＯｘを含んだ排気ガスが流出されてしまう。
【０１０５】
＜下流側空燃比センサの異常診断＞
このため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに大きなずれが生じているか否か、すなわち下流側空燃比センサ４１に異常が発生しているか否か（或いは、正常であるか否か）を診断することが必要になる。ここで、図８に示したように、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに大きなずれが生じている場合には、出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈからリーン判定空燃比ＡＦｌｅａｎまで変化する間、又はその逆に変化する間、上流側排気浄化触媒２０への酸素の吸放出が行われない。このため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは短いサイクルで、リッチ判定空燃比ＡＦｒｉｃｈ以下とリーン判定空燃比以上とを交互に繰り返すことになる。
【０１０６】
そこで、本実施形態では、酸素増大期間Ｔｉｎｃ又は酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値が、所定の限界値以下になったときには下流側空燃比センサ４１に異常が生じていると判定するようにしている。逆に、斯かる積算酸素過不足量ΣＯＥＤの絶対値が、上記限界値よりも多いときには、下流側空燃比センサ４１には中心値ずれの異常が生じておらず、正常であると判定する正常判定制御が行われる。ここで、所定の限界値は、上流側排気浄化触媒２０が新品であるときの最大吸蔵可能酸素量よりも少ない量とされる。
【０１０７】
図８に示した例では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに生じているずれが小さいとき、すなわち時刻ｔ1〜ｔ3において、酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ1及び酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒ1は比較的大きい。このため、これら絶対値Ｆ1及びＲ1の平均は、上述した限界値よりも大きい値となる。したがって、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに異常は生じていないと判定される。
【０１０８】
一方、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに生じているずれが大きいとき、すなわち図８の時刻ｔ4以降において、酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ2及び酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒ2は小さい。このため、これら絶対値Ｆ2及びＲ2の平均は、上述した限界値以下の値となる。したがって、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに異常が生じていると判定される。
【０１０９】
なお、上記実施形態では、酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ及び酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒに基づいて下流側空燃比センサ４１の正常判定制御を行っている。しかしながら、絶対値Ｆ及びＲのうち一方のみに基づいて下流側空燃比センサ４１の正常判定制御を行ってもよい。また、上記実施形態では、絶対値Ｆ及びＲをそれぞれ一回ずつ算出し、これら絶対値Ｆ及びＲの平均値に基づいて下流側空燃比センサ４１の正常判定制御を行っている。しかしながら、絶対値Ｆ及び絶対値Ｒをそれぞれ複数回算出し、これらの平均値に基づいて下流側空燃比センサ４１の正常判定制御を行ってもよい。
【０１１０】
加えて、下流側空燃比センサ４１の正常判定制御は、積算酸素過不足量ΣＯＥＤに関連する他のパラメータに基づいて行ってもよい。例えば、図８に示した例では、空燃比補正量ＡＦＣは、リッチ期間中においてリッチ設定補正量ＡＦＣｒｉｃｈに一定に維持され、リーン期間中においてリーン設定補正量ＡＦＣｌｅａｎに一定に維持される。このため、積算酸素過不足量ΣＯＥＤの絶対値は、酸素減少期間Ｔｄｅｃや酸素増大期間Ｔｉｎｃの長さに比例する。このため、本実施形態では、積算酸素過不足量ΣＯＥＤの代わりに、酸素減少期間Ｔｄｅｃや酸素増大期間Ｔｉｎｃの長さ（すなわち、時間）に基づいて下流側空燃比センサ４１の正常判定制御を行ってもよい。この場合、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃの長さが予め定められた限界値以下なったときには下流側空燃比センサ４１に異常が生じていると判定される。逆に、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃの長さが予め定められた限界値よりも長いときには、下流側空燃比センサ４１には異常が生じていないと判定される。図８に示した例では、時刻ｔ1〜ｔ3において、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃは限界値よりも長いことから、下流側空燃比センサ４１に異常は発生していないと判定される。一方、時刻ｔ4以降において、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃは限界値以下であることから、下流側空燃比センサ４１に異常が発生していると判定される。
【０１１１】
同様に、リッチ期間中及びリーン期間中において空燃比補正量ＡＦＣが一定に維持されるため、積算酸素過不足量ΣＯＥＤの絶対値は、燃焼室５内への吸入空気量の積算値に比例する。このため、本実施形態では、積算酸素過不足量ΣＯＥＤの代わりに、積算吸入空気量に基づいて下流側空燃比センサ４１の異常診断を行ってもよい。積算吸入空気量は、エアフロメータ３９の出力に基づいて算出される。この場合、酸素増大期間Ｔｉｎｃ中の積算吸入空気量及び酸素減少期間Ｔｄｅｃ中の積算吸入空気量が予め定められた限界値以下になったときに、下流側空燃比センサ４１に異常が生じていると判定される。逆に、酸素増大期間Ｔｉｎｃ中の積算吸入空気量及び酸素減少期間Ｔｄｅｃ中の積算吸入空気量が予め定められた限界値よりも多いときには、下流側空燃比センサ４１には異常が生じていないと判定される。
【０１１２】
以上をまとめると、積算酸素過不足量に関連するパラメータを過不足量パラメータ（例えば、積算酸素過不足量、酸素増大期間及び酸素減少期間、又は吸入空気量）とすると、制御装置（ＥＣＵ）は、目標空燃比をリーン空燃比に切り換えてから下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になるまでの過不足量パラメータの値又は目標空燃比をリッチ空燃比に切り換えてから下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になるまでの過不足量パラメータの値が、所定の限界値よりも大きいときには下流側空燃比センサ４１には異常が生じていないと判定する正常判定制御を実行しているといえる。また、限界値は、上流側排気浄化触媒２０に吸蔵された酸素がゼロから最大吸蔵可能酸素量まで又は最大吸蔵可能酸素量からゼロまで変化するのに必要な過不足量パラメータの値よりも小さい値とされる。
【０１１３】
＜下流側空燃比センサの異常診断における問題点＞
ところで、上流側排気浄化触媒２０の最大吸蔵可能酸素量Ｃｍａｘは常に一定ではなく、経時劣化等により徐々に減少していくことが知られている。このため、上流側排気浄化触媒２０の劣化度合いが大きくなると、それに伴って最大吸蔵可能酸素量Ｃｍａｘが新品時の値から大きく減少する。このように、最大吸蔵可能酸素量Ｃｍａｘが大きく減少すると、これに伴って下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ空燃比とリーン空燃比とに交互に変化するサイクルが短くなる。この様子を、図９に示す。
【０１１４】
図９は、上流側排気浄化触媒２０の劣化度合いが変化したときの、制御中心空燃比ＡＦＲ等のタイムチャートである。図中の左側は、上流側排気浄化触媒２０の劣化度合いが低いとき、すなわち最大吸蔵可能酸素量Ｃｍａｘが多いときの推移を示している。一方、図中の右側は、上流側排気浄化触媒２０の劣化度合いが高いとき、すなわち最大吸蔵可能酸素量Ｃｍａｘが少ないときの推移を示している。なお、図９に示した例では、上流側空燃比センサ４０及び下流側空燃比センサ４１共に、その出力空燃比にずれは生じていない。
【０１１５】
上流側排気浄化触媒２０の最大吸蔵可能酸素量Ｃｍａｘが多いときには、図９の時刻ｔ1〜ｔ3からわかるように、空燃比補正量ＡＦＣや下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎ等は図５に示した場合と同様に推移する。したがって、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒ1は比較的大きい。同様に、酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ1も比較的大きい。
【０１１６】
一方、上流側排気浄化触媒２０の劣化度合いが大きくなり、その最大吸蔵可能酸素量Ｃｍａｘが少なくなった場合を図中の右側に示す。図９の右側に示した例では、時刻ｔ4において下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上となる。このため、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎからリッチ設定補正量ＡＦＣｒｉｃｈへと切り替えられる。これに伴って、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン空燃比からリッチ空燃比に変化し、よって上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが減少していく。このため、上流側排気浄化触媒２０から流出する排気ガスの空燃比はほぼ理論空燃比となり、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは理論空燃比へと収束していく。
【０１１７】
ところが、上流側排気浄化触媒２０の最大吸蔵可能酸素量Ｃｍａｘが劣化により減少しているため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比に到達したころには、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡはほぼゼロとなっている。このため、上流側排気浄化触媒２０からは未燃ガスが流出し始め、よって下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎも理論空燃比にほとんど維持されることなく、リッチ空燃比へと変化する。そして、時刻ｔ5において下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈに到達する。
【０１１８】
このように、上流側排気浄化触媒２０の劣化度合いが大きくなると、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがほぼ理論空燃比に維持される時間が極端に短くなるため、酸素増大期間Ｔｉｎｃが極端に短くなる。加えて、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ2も小さくなる。
【０１１９】
時刻ｔ5において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎへと切り替えられる。これに伴って、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン空燃比に変化し、よって排気浄化触媒２０の酸素吸蔵量ＯＳＡが増大してく。このため、上流側排気浄化触媒２０から流出する排気ガスの空燃比はほぼ理論空燃比となり、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎは理論空燃比へと収束していく。
【０１２０】
ところが、上流側排気浄化触媒２０の最大吸蔵可能酸素量Ｃｍａｘが劣化により減少しているため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比に到達したころには、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡはほぼ最大吸蔵可能酸素量Ｃｍａｘとなっている。このため、上流側排気浄化触媒２０からは酸素が流出し始め、よって下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎも理論空燃比にほとんど維持されることなく、リーン空燃比へと変化する。そして、時刻ｔ6において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎに到達する。
【０１２１】
このように、上流側排気浄化触媒２０の劣化度合いが大きくなると、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎほぼ理論空燃比に維持される時間が極端に短くなるため、酸素減少期間Ｔｄｅｃが極端に短くなる。加えて、酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒ2も小さくなる。
【０１２２】
このように、上流側排気浄化触媒２０の劣化度合いが大きくなると、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値が極端に小さくなり、所定の限界値以下となる。したがって、上流側排気浄化触媒２０の劣化度合いが大きくなると、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに大きなずれが生じていなくても、出力空燃比ＡＦｄｗｎに大きなずれがあると判定されてしまうことになる。
【０１２３】
なお、上流側排気浄化触媒２０の劣化度合いが大きくなると、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃの長さが限界値以下になる。したがって、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃの長さに基づいて下流側空燃比センサ４１の異常診断を行っている場合にも、上流側排気浄化触媒２０の劣化度合いが大きくなると、出力空燃比ＡＦｄｗｎに大きなずれが判定されてしまうことになる。また、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃにおける吸入空気量の積算値に基づいて下流側空燃比センサ４１の異常診断を行っている場合にも同じ事がいえる。
【０１２４】
＜触媒劣化を考慮した下流側空燃比センサの異常判定＞
そこで、本実施形態では、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値が限界値以下になった場合には、上述したように、下流側空燃比センサ４１に異常があると仮判定する。下流側空燃比センサ４１に異常があると仮判定されたときには、上述した仮判定を行うための制御とは異なる方法で下流側空燃比センサ４１の異常を診断する本判定制御を行うようにしている。特に、本実施形態では、本判定制御として、上流側排気浄化触媒２０に流入する排気ガスの空燃比を全体的にリッチ側又はリーン側へシフトさせる制御を行うようにしている。具体的には、本判定制御では、学習値ｓｆｂｇが一時的に増大又は減少せしめられる。以下では、本判定制御の例について説明する。
【０１２５】
図１０は、下流側空燃比センサ４１の出力空燃比が全体的にリーン側に大きくずれている場合の制御中心空燃比ＡＦＲ等の図８と同様なタイムチャートである。図中の反転期間は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下に到達してからリーン判定空燃比ＡＦｌｅａｎ以上になるまで、及びリーン判定空燃比ＡＦｒｉｃｈ以上に到達してからリッチ判定空燃比ＡＦｒｉｃｈ以下になるまでの期間を示している。図１０に示した例では、時刻ｔ1〜ｔ6において、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒ1及び酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ1が予め定められた限界値以下となっている。このため、時刻ｔ6において、下流側空燃比センサ４１に異常があると仮判定される。
【０１２６】
このように、下流側空燃比センサ４１に異常があると仮判定されると、図１０に示した例では、学習値ｓｆｂｇが予め定められた所定量だけ増大せしめられる。このように学習値ｓｆｂｇが増大せしめられると、これに伴って制御中心空燃比ＡＦＲがリーン側へシフトする。したがって、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ（すなわち、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比）は、全体的にリーン側へシフトする。すなわち、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されているときの出力空燃比ＡＦｕｐは、時刻ｔ6以前に比べて時刻ｔ6以降の方がリーン側の空燃比となる。同様に、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定されているときの出力空燃比ＡＦｕｐも、時刻ｔ6以前に比べて時刻ｔ6以降の方がリーン側の空燃比となる。したがって、図示した例では、時刻ｔ6において下流側空燃比センサ４１に異常があると仮判定されると、学習値ｓｆｂｇが増大せしめられ、その結果、上流側排気浄化触媒２０に流入する排気ガスの空燃比が全体的にリーン側へシフトせしめられることになる。
【０１２７】
時刻ｔ6において、学習値ｓｆｂｇが増大せしめられると、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定されているときの出力空燃比ＡＦｕｐも時刻ｔ6以前に比べてリーン側の空燃比となる。この結果、時刻ｔ6以降において、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定されているときの下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの上昇速度が僅かながら速くなる。その後、時刻ｔ7において下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅｎａ以上になる。このとき、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン側にずれているため、上流側排気浄化触媒２０から流出する排気ガスの実際の空燃比はリッチ空燃比のままとなっている。
【０１２８】
時刻ｔ7において下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になると、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎからリッチ設定補正量ＡＦＣｒｉｃｈへと切り替えられる。上述したように、時刻ｔ6以降は、学習値ｓｆｂｇが増大せしめられていることから、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦｒｉｃｈに設定されているときの下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎも時刻ｔ6以前に比べてリッチ側の空燃比となる。この結果、時刻ｔ6以降において、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されているときの下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの下降速度が僅かながら遅くなる。その後、時刻ｔ8において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｅｉｃｈ以下になり、空燃比補正量ＡＦＣがリーン設定空燃比ＡＦＣｌｅａｎに切り替えられる。
【０１２９】
このように、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン側にずれているときには、出力空燃比ＡＦｄｗｎの上昇速度が僅かながら速くなり、出力空燃比ＡＦｄｗｎの下降速度が僅かながら遅くなる。この結果、図１０に示した例では、時刻ｔ2〜ｔ3の酸素増大期間Ｔｉｎｃに比べて、時刻ｔ8〜ｔ9の酸素増大期間Ｔｉｎｃの方が僅かながら短い。一方、時刻ｔ3〜ｔ4の酸素減少期間Ｔｄｅｃに比べて、時刻ｔ9〜ｔ10の酸素減少期間Ｔｄｅｃの方が僅かながら長い。しかしながら、このような時刻ｔ6前後における酸素増大期間の差及び酸素減少期間の差は小さく、したがって、制御中心空燃比ＡＦＲがリーン側へシフトせしめられても酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴは小さいままとなる。
【０１３０】
また、図１０に示した例では、時刻ｔ12において、学習値ｓｆｂｇが予め定められた所定量だけ減少せしめられる。特に、時刻ｔ12以降の学習値ｓｆｂｇは、時刻ｔ6以前の学習値ｓｆｂｇよりも減少せしめられる。このように学習値ｓｆｂｇが減少せしめられると、これに伴って制御中心空燃比ＡＦＲがリッチ側へシフトする。したがって、上流側空燃比センサ４０の出力空燃比ＡＦｕｐは全体的にリッチ側へシフトする。
【０１３１】
時刻ｔ12において学習値ｓｆｂｇが減少せしめられると、時刻ｔ12以降では空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されているとき（時刻ｔ12〜ｔ13等）の下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの上昇速度が僅かながら遅くなる。同様に、時刻ｔ12以降では、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定されているとき（時刻ｔ13〜ｔ14等）の下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの下降速度が僅かながら速くなる。この結果、図１０に示した例では、時刻ｔ2〜ｔ3の酸素増大期間Ｔｉｎｃに比べて、時刻ｔ14〜ｔ15の酸素増大期間Ｔｉｎｃの方が僅かながら長い。また、時刻ｔ3〜ｔ4の酸素減少期間Ｔｄｅｃに比べて、時刻ｔ15〜ｔ16の酸素減少期間Ｔｄｅｃの方が僅かながら短い。しかしながら、このような時刻ｔ6以前と時刻ｔ12以降とにおける酸素増大期間の差及び酸素減少期間の差は小さく、したがって、学習値ｓｆｂｇが減少せしめられても酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴは小さいままとなる。
【０１３２】
なお、図１０には、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン側に大きくずれた場合を示しているが、出力空燃比ＡＦｄｗｎがリッチ側に大きくずれた場合にも同様な傾向を示す。したがって、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ側に大きくずれた場合であっても、学習値ｓｆｂｇを増大又は減少させたときに、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴは小さいままとなる。
【０１３３】
図１１は、下流側空燃比センサ４１は正常であって上流側排気浄化触媒２０の劣化度合いが大きいときの制御中心空燃比ＡＦＲ等のタイムチャートである。図１１に示した例でも、時刻ｔ1〜ｔ6において、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒ1及び酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ1が予め定められた限界値よりも低い。このため、時刻ｔ6において、下流側空燃比センサ４１に異常があると仮判定される。
【０１３４】
図１０に示した例と同様に、下流側空燃比センサ４１に異常があると仮判定されると、学習値ｓｆｂｇが予め定められた量だけ増大せしめられる。また、これに伴って制御中心空燃比ＡＦＲがリーン側へシフトする。したがって、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ（すなわち、上流側排気浄化触媒２０に流入する排気ガスの実際の空燃比）は、全体的にリーン側へシフトする。このため、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定されているとき（時刻ｔ6〜ｔ7等）の酸素吸蔵量ＯＳＡの増大速度が速くなる。この結果、時刻ｔ6から時刻ｔ7までの酸素増大期間Ｔｉｎｃが短くなる。一方、制御中心空燃比ＡＦＲがリーン側にシフトされると、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されているとき（時刻ｔ7〜ｔ8等）の酸素吸蔵量ＯＳＡの減少速度が遅くなる。この結果、時刻ｔ7から時刻ｔ8までの酸素増大期間Ｔｉｎｃが長くなる。したがって、上流側排気浄化触媒２０の劣化度合いが大きいときには、学習値ｓｆｂｇが増大せしめられると、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴが大きなものとなる。
【０１３５】
また、図１１に示した例では、図１０に示した例と同様に、時刻ｔ12において、学習値ｓｆｂｇが予め定められた所定量だけ減少せしめられる。これに伴って制御中心空燃比ＡＦＲがリッチ側へシフトし、よって上流側空燃比センサ４０の出力空燃比ＡＦｄｗｎは全体的にリッチ側へシフトする。このため、図示した例では、時刻ｔ12以降では、時刻ｔ6以前に比べて、上流側排気浄化触媒２０に流入する排気ガスの空燃比が全体的にリッチ側にシフトせしめられる。
【０１３６】
時刻ｔ12において学習値ｓｆｂｇが減少せしめられると、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定されているとき（時刻ｔ12〜ｔ13等）の酸素吸蔵量ＯＳＡの増大速度が遅くなる。この結果、酸素増大期間Ｔｉｎｃが長くなる。一方、制御中心空燃比ＡＦＲがリッチ側へシフトせしめられると、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定されているとき（時刻ｔ13からｔ14等）の酸素吸蔵量ＯＳＡの減少速度が速くなる。この結果、酸素減少期間Ｔｄｅｃが短くなる。したがって、上流側排気浄化触媒２０の劣化度合いが大きいときには、学習値ｓｆｂｇが減少せしめられると、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴが大きなものとなる。
【０１３７】
以上より、図１０と図１１を比較すると、下流側空燃比センサ４１に異常が生じている場合、すなわちその出力空燃比ＡＦｄｗｎに大きなずれが生じている場合には、学習値ｓｆｂｇを増大又は減少させても、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴは小さいまま変化しないことがわかる。一方、上流側排気浄化触媒２０の劣化度合いが大きい場合には、学習値ｓｆｂｇを増大又は減少させると、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴが大きくなる。
【０１３８】
そこで、本実施形態では、下流側空燃比センサ４１に異常があると仮判定された場合には、本判定制御として上述したように学習値ｓｆｂｇを増大又は減少させる。そして、この結果、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴ、具体的には図１０及び図１１の時刻ｔ6〜ｔ8、時刻ｔ8〜ｔ10、時刻ｔ10〜ｔ12、時刻ｔ12〜ｔ14、時刻ｔ14〜16における差の平均値が、時刻ｔ6以前におけるこれらの差から変化した変化量が予め定められた判定値以下である場合には下流側空燃比センサ４１に異常があると本判定するようにしている。なお、判定値は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに或る一定以上のずれが生じている場合に学習値ｓｆｂｇを増大又は減少させたときに酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴが取り得る最大値以上の予め定められた値とされる。
【０１３９】
一方、本実施形態では、学習値ｓｆｂｇを増大又は減少させた結果、酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴの変化量が予め定められた判定値よりも大きい場合には、下流側空燃比センサ４１には異常が生じていないと本判定するようにしている。加えて、この場合には、上流側排気浄化触媒２０に劣化が生じていると判定するようにしている。
【０１４０】
これにより、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値が限界値以下になり、下流側空燃比センサ４１に異常があると仮判定されたときに、積算酸素過不足量ΣＯＥＤの絶対値が限界値以下になった原因を特定することができる。したがって、下流側空燃比センサ４１の異常を適切に診断することができる。
【０１４１】
なお、図１０及び図１１に示した例では、学習値ｓｆｂｇを一定に維持している間に酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差ΔＴを一回のみ算出し、この値に基づいて下流側空燃比センサ４１の異常の本判定を行っている。しかしながら、学習値ｓｆｂｇを一定に維持している間に酸素増大期間Ｔｉｎｃ又は酸素減少期間Ｔｄｅｃを複数回算出し、これらの平均値を用いて下流側空燃比センサ４１の異常の本判定を行ってもよい。また、図１０及び図１１に示した例では、本判定制御において、時刻ｔ6〜ｔ12において学習値ｓｆｂｇを増大させ、時刻ｔ12〜ｔ17におおいて学習値ｓｆｂｇを減少させている。しかしながら、本判定制御では、学習値ｓｆｂｇの増大及び減少のうちいずれか一方のみを行ってもよい。
【０１４２】
また、上記実施形態では、本判定制御において、学習値ｓｆｂｇを増減させることで、上流側排気浄化触媒２０に流入する排気ガスの空燃比を全体的にリッチ側又はリーン側へシフトさせている。しかしながら、別の方法によって、上流側排気浄化触媒２０に流入する排気ガスの空燃比を全体的にリッチ側又はリーン側へシフトさせてもよい。このような手法としては、例えば、学習値ｓｆｂｇではなく制御中心空燃比ＡＦＲを直接増減させること、上流側空燃比センサ４０の出力空燃比ＡＦｄｗｎをリッチ側又はリーン側に補正すること、燃料噴射弁１１からの燃料噴射量を増減させること等が考えられる。
【０１４３】
＜具体的な制御の説明＞
次に、図１２〜図１６を参照して、上記実施形態における制御装置について具体的に説明する。本実施形態における制御装置は、機能ブロック図である図１２に示したように、Ａ１〜Ａ９の各機能ブロックを含んで構成されている。以下、図１２を参照しながら各機能ブロックについて説明する。これら各機能ブロックＡ１〜Ａ９における操作は、基本的にＥＣＵ３１において実行される。
【０１４４】
＜燃料噴射量の算出＞
まず、燃料噴射量の算出について説明する。燃料噴射量の算出に当たっては、筒内吸入空気量算出手段Ａ１、基本燃料噴射量算出手段Ａ２、及び燃料噴射量算出手段Ａ３が用いられる。
【０１４５】
筒内吸入空気量算出手段Ａ１は、吸入空気流量Ｇａと、機関回転数ＮＥと、ＥＣＵ３１のＲＯＭ３４に記憶されたマップ又は計算式とに基づいて、各気筒への吸入空気量Ｍｃを算出する。吸入空気流量Ｇａはエアフロメータ３９によって計測され、機関回転数ＮＥはクランク角センサ４４の出力に基づいて算出される。
【０１４６】
基本燃料噴射量算出手段Ａ２は、筒内吸入空気量算出手段Ａ１によって算出された筒内吸入空気量Ｍｃを、目標空燃比ＡＦＴで除算することにより、基本燃料噴射量Ｑｂａｓｅを算出する（Ｑｂａｓｅ＝Ｍｃ／ＡＦＴ）。目標空燃比ＡＦＴは、後述する目標空燃比設定手段Ａ７によって算出される。
【０１４７】
燃料噴射量算出手段Ａ３は、基本燃料噴射量算出手段Ａ２によって算出された基本燃料噴射量Ｑｂａｓｅに、後述するＦ／Ｂ補正量ＤＦｉを加えることで燃料噴射量Ｑｉを算出する（Ｑｉ＝Ｑｂａｓｅ＋ＤＦｉ）。このようにして算出された燃料噴射量Ｑｉの燃料が燃料噴射弁１１から噴射されるように、燃料噴射弁１１に対して噴射指示が行われる。
【０１４８】
＜目標空燃比の算出＞
次に、目標空燃比の算出について説明する。目標空燃比の算出に当たっては、空燃比補正量算出手段Ａ４、学習値算出手段Ａ５、制御中心空燃比算出手段Ａ６及び目標空燃比設定手段Ａ７が用いられる。
【０１４９】
空燃比補正量算出手段Ａ４は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎに基づいて、目標空燃比の空燃比補正量ＡＦＣを算出する。具体的には、図１３に示したフローチャートに基づいて空燃比補正量ＡＦＣが算出される。
【０１５０】
学習値算出手段Ａ５は、上流側空燃比センサ４０の出力空燃比ＡＦｕｐ、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎ、吸入空気流量Ｇａ（排気ガス流量Ｇｅを算出）等に基づいて、学習値ｓｆｂｇを算出する。具体的には、図１４に示したフローチャートに基づいて学習値ｓｆｂｇが算出される。
【０１５１】
制御中心空燃比算出手段Ａ６は、基本制御中心空燃比ＡＦＲｂａｓｅ及び学習値算出手段Ａ５において算出された学習値に基づいて上述した式（３）により制御中心空燃比ＡＦＲを算出する。
【０１５２】
目標空燃比設定手段Ａ７は、制御中心空燃比ＡＦＲに、空燃比補正量算出手段Ａ４で算出された空燃比補正量ＡＦＣを加算することで、目標空燃比ＡＦＴを算出する。このようにして算出された目標空燃比ＡＦＴは、基本燃料噴射量算出手段Ａ２及び後述する空燃比偏差算出手段Ａ８に入力される。
【０１５３】
＜Ｆ／Ｂ補正量の算出＞
次に、上流側空燃比センサ４０の出力空燃比ＡＦｕｐに基づいたＦ／Ｂ補正量の算出について説明する。Ｆ／Ｂ補正量の算出に当たっては、空燃比偏差算出手段Ａ８、Ｆ／Ｂ補正量算出手段Ａ９が用いられる。
【０１５４】
空燃比偏差算出手段Ａ８は、上流側空燃比センサ４０の出力空燃比ＡＦｕｐから目標空燃比設定手段Ａ７によって算出された目標空燃比ＡＦＴを減算することによって空燃比偏差ＤＡＦを算出する（ＤＡＦ＝ＡＦｕｐ−ＡＦＴ）。この空燃比偏差ＤＡＦは、目標空燃比ＡＦＴに対する燃料供給量の過不足を表す値である。
【０１５５】
Ｆ／Ｂ補正量算出手段Ａ９は、空燃比偏差算出手段Ａ８によって算出された空燃比偏差ＤＡＦを、比例・積分・微分処理（ＰＩＤ処理）することで、下記式（４）に基づいて燃料供給量の過不足を補償するためのＦ／Ｂ補正量ＤＦｉを算出する。このようにして算出されたＦ／Ｂ補正量ＤＦｉは、燃料噴射量算出手段Ａ３に入力される。
ＤＦｉ＝Ｋｐ・ＤＡＦ＋Ｋｉ・ＳＤＡＦ＋Ｋｄ・ＤＤＡＦ      …（４）
【０１５６】
なお、上記式（４）において、Ｋｐは予め設定された比例ゲイン（比例定数）、Ｋｉは予め設定された積分ゲイン（積分定数）、Ｋｄは予め設定された微分ゲイン（微分定数）である。また、ＤＤＡＦは、空燃比偏差ＤＡＦの時間微分値であり、今回更新された空燃比偏差ＤＡＦと前回更新されていた空燃比偏差ＤＡＦとの偏差を更新間隔に対応する時間で除算することで算出される。また、ＳＤＡＦは、空燃比偏差ＤＡＦの時間積分値であり、この時間積分値ＤＤＡＦは前回更新された時間積分値ＤＤＡＦに今回更新された空燃比偏差ＤＡＦを加算することで算出される（ＳＤＡＦ＝ＤＤＡＦ＋ＤＡＦ）。
【０１５７】
＜空燃比補正量算出制御のフローチャート＞
図１３は、空燃比補正量の算出制御における制御ルーチンを示すフローチャートである。図示した制御ルーチンはＥＣＵ３１において一定時間間隔の割り込みによって行われる。
【０１５８】
図１３に示したように、まず、ステップＳ１１において空燃比補正量ＡＦＣの算出条件が成立しているか否かが判定される。空燃比補正量ＡＦＣの算出条件が成立している場合とは、通常制御中であること、例えば燃料カット制御中ではないこと等が挙げられる。ステップＳ１１において空燃比補正量ＡＦＣの算出条件が成立していると判定された場合には、ステップＳ１２へと進む。
【０１５９】
ステップＳ１２では、リーン設定フラグＦｌがＯＦＦに設定されているか否かが判定される。リーン設定フラグＦｌは、目標空燃比がリーン空燃比に設定されているとき、すなわち空燃比補正量ＡＦＣが０以上に設定されているときには、ＯＮとされ、それ以外のときにはＯＦＦとされるフラグである。ステップＳ１２においてリーン設定フラグＦｌがＯＦＦに設定されていると判定された場合には、ステップＳ１３へと進む。ステップＳ１３では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下であるか否かが判定される。
【０１６０】
ステップＳ１３において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈよりも大きいと判定された場合には、ステップＳ１４へと進む。ステップＳ１４では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定され、制御ルーチンが終了せしめられる。
【０１６１】
その後、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡがほぼゼロになって下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になると、次の制御ルーチンでは、ステップＳ１３からステップＳ１５へと進む。ステップＳ１５では、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎに設定される。次いで、ステップＳ１６では、リーン設定フラグＦｌがＯＮにセットされ、制御ルーチンが終了せしめられる。
【０１６２】
リーン設定フラグＦｌがＯＮにセットされると、次の制御ルーチンでは、ステップＳ１２からステップＳ１７へと進む。ステップＳ１７では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上であるか否かが判定される。
【０１６３】
ステップＳ１７において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎよりも小さいと判定された場合には、ステップＳ１８へと進む。ステップＳ１８では、空燃比補正量ＡＦＣが引き続きリーン設定補正量ＡＦＣｌｅａｎに設定され、制御ルーチンが終了せしめられる。
【０１６４】
その後、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡがほぼ最大吸蔵可能酸素量Ｃｍａｘになって下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になると、次の制御ルーチンでは、ステップＳ１７からステップＳ１９へと進む。ステップＳ１９では、空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈに設定される。次いで、ステップＳ２０では、リーン設定フラグＦｌがＯＦＦにリセットされ、制御ルーチンが終了せしめられる。
【０１６５】
＜学習制御のフローチャート＞
図１４は、学習制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは、ＥＣＵ３１において一定時間間隔の割り込みによって行われる。
【０１６６】
図１３に示したように、まず、ステップＳ３１において、学習値ｓｆｂｇの更新条件が成立しているか否かが判定される。更新条件が成立している場合とは、例えば、通常制御中であること等が挙げられる。ステップＳ３１において、学習値ｓｆｂｇの更新条件が成立していると判定された場合には、ステップＳ３２へと進む。ステップＳ３２では、リーン判定フラグＦｊが０に設定されているか否かが判定される。ステップＳ３２において、リーン判定フラグＦｊが０に設定されていると判定された場合には、ステップＳ３３へと進む。
【０１６７】
ステップＳ３３では、空燃比補正量ＡＦＣが０よりも大きいか否か、すなわち目標空燃比がリーン空燃比であるか否かが判定される。ステップＳ３３において、空燃比補正量ＡＦＣが０よりも大きいと判定された場合には、ステップＳ３４へと進む。ステップＳ３４では、積算酸素過不足量ΣＯＥＤに現在の酸素過不足量ＯＥＤが加算される。
【０１６８】
その後、目標空燃比がリッチ空燃比へと切り替えられると、次の制御ルーチンではステップＳ３３において空燃比補正量ＡＦＣが０以下であると判定され、ステップＳ３５へと進む。ステップＳ３５では、リーン判定フラグＦｊが１にセットされ、次いで、ステップＳ３６ではＲｎが現在の積算酸素過不足量ΣＯＥＤの絶対値とされる。次いで、ステップＳ３７では、積算酸素過不足量ΣＯＥＤが０にリセットされ、制御ルーチンが終了せしめられる。
【０１６９】
一方、リーン判定フラグＦｊが１にセットされると、次の制御ルーチンでは、ステップＳ３２からステップＳ３８へと進む。ステップＳ３８では、空燃比補正量ＡＦＣが０よりも小さいか否か、すなわち目標空燃比がリッチ空燃比であるか否かが判定される。ステップＳ３８において、空燃比補正量ＡＦＣが０よりも小さいと判定された場合にはステップＳ３９へと進む。ステップＳ３９では、積算酸素過不足量ΣＯＥＤに現在の酸素過不足量ＯＥＤが加算される。
【０１７０】
その後、目標空燃比がリーン空燃比へと切り替えられると、次の制御ルーチンではステップＳ３８において空燃比補正量ＡＦＣが０以上であると判定され、ステップＳ４０へと進む。ステップＳ４０では、リーン設定フラグＦｌが０にセットされ、次いで、ステップＳ４１では、Ｆｎが現在の積算酸素過不足量ΣＯＥＤの絶対値とされる。次いで、ステップＳ４２では、積算酸素過不足量ΣＯＥＤが０にリセットされる。次いで、ステップＳ４３では、ステップＳ３６で算出されたＲｎとステップＳ４１で算出されたＦｎに基づいて学習値ｓｆｂｇが更新され、制御ルーチンが終了せしめられる。
【０１７１】
＜仮判定制御のフローチャート＞
図１５は、正常判定及び仮判定制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは、ＥＣＵ３１において一定時間間隔の割り込みによって行われる。
【０１７２】
図１５に示したように、ステップＳ５１では、仮判定フラグＦｐが０であるか否かが判定される。仮判定フラグＦｐは、仮判定制御によって下流側空燃比センサ４１に異常があると判定されたときに１とされ、それ以外のときに０とされるフラグである。ステップＳ５１において、仮判定フラグＦｐが０であると判定された場合には、ステップＳ５２へと進む。ステップＳ５２では、図１４のステップＳ３６で算出された絶対値ＲｎとステップＳ４１で算出された絶対値Ｆｎとに基づいて、これらの平均値Ａｖｅが算出される。
【０１７３】
次いで、ステップＳ５３において、ステップＳ５２で算出された平均値Ａｖｅが予め定められた限界値Ｌｉｍ以下であるか否かが判定される。ステップＳ５３において、平均値Ａｖｅが限界値Ｌｉｍよりも大きいと判定された場合には、ステップＳ５４へと進む。ステップＳ５４では、下流側空燃比センサ４１には中心値ずれの異常が発生していないと判定され、制御ルーチンが終了せしめられる。一方、ステップＳ５３において、平均値Ａｖｅが限界値Ｌｉｍ以下であると判定された場合にはステップＳ５５へと進む。ステップＳ５５では、仮判定フラグＦｐが１にセットされ、制御ルーチンが終了せしめられる。
【０１７４】
＜本判定制御のフローチャート＞
図１６は、本判定制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは、ＥＣＵ３１において一定時間間隔の割り込みによって行われる。
【０１７５】
まず、ステップＳ６１及びＳ６２において、増大フラグＦｉ及び減少フラグＦｄが１であるか否かが判定される。増大フラグＦｉは、本判定制御により学習値ｓｆｂｇが一時的に増大せしめられているときに１とされ、それ以外のときに０とされるフラグである。また、減少フラグＦｄは、本判定制御により学習値ｓｆｂｇが一時的に減少せしめられているときに１とされ、それ以外のときに０とされるフラグである。本判定制御が開始されていないときには、これらフラグＦｉ、Ｆｄはいずれも０にセットされているため、ステップＳ６１、Ｓ６２において増大フラグＦｉ及び減少フラグＦｄがいずれも１にセットされていないと判定されてステップＳ６３へと進む。
【０１７６】
ステップＳ６３では、仮判定フラグＦｐが１であるか否かが判定される。ステップＳ６３において仮判定フラグＦｐが１にセットされていないと判定された場合には制御ルーチンが終了せしめられる。一方、図１５のステップＳ５４において仮判定フラグＦｐが１にセットされているときには、ステップＳ６３からステップＳ６４へと進み、本判定制御が開始される。ステップＳ６４では、現在の学習値ｓｆｂｇに所定値ΔＸを加算したものが新たな学習値ｓｆｂｇとされる。次いでステップＳ６５では、増大フラグＦｉが１にセットされる。次いで、ステップＳ６６では、仮判定フラグＦｐが１にセットされる前の酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃに基づいて、仮判定フラグＦｐが１にセットされる前のこれらの差ΔＴｒが算出される。
【０１７７】
ステップＳ６５において増大フラグＦｉが１にセットされると、次の制御ルーチンでは、ステップＳ６１からステップＳ６７へと進む。ステップＳ６７では、時間カウンタＣＴｉに１が加算され、次いで、ステップＳ６８では酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃが算出される。次いで、ステップＳ６９では、時間カウンタＣＴｉが予め定められた基準時間ＣＴｒｅｆ以上であるか否かが判定される。ステップＳ６９において、時間カウンタＣＴｉが基準時間ＣＴｒｅｆよりも短いと判定された場合には制御ルーチンが終了せしめられる。一方、ステップＳ６９において、時間カウンタＣＴｉが基準時間ＣＴｒｅｆ以上であると判定された場合にはステップＳ７０へと進む。
【０１７８】
ステップＳ７０では、ステップＳ６８で算出された酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃに基づいてこれらの差ΔＴｉが算出される。したがって、差ΔＴｉは、本判定制御により学習値ｓｆｂｇが増大されているときの酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差を意味する。次いで、ステップＳ７１では、現在の学習値ｓｆｂｇから所定値ΔＸを２倍したものを減算したものが新たな学習値ｓｆｂｇとされる。ステップＳ７２では、増大フラグＦｉが０にリセットされると共に減少フラグＦｄが１にセットされ、ステップＳ７３では時間カウンタＣＴｉが０にリセットされる。
【０１７９】
ステップＳ７２において減少フラグＦｄが１にセットされると、次の制御ルーチンでは、ステップＳ６２からＳ７４へと進む。ステップＳ７４では、時間カウンタＣＴｄに１が加算され、次いで、ステップＳ７５では酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃが算出される。次いで、ステップＳ７６では、時間カウンタＣＴｄが予め定められた基準時間ＣＴｒｅｆ以上であるか否かが判定される。ステップＳ７６において、時間カウンタＣＴｉが基準時間ＣＴｒｅｆよりも短いと判定された場合には制御ルーチンが終了せしめられる。一方、ステップＳ７６において、時間カウンタＣＴｄが基準時間ＣＴｒｅｆ以上であると判定された場合にはステップＳ７７へと進む。
【０１８０】
ステップＳ７７では、ステップＳ７５で算出された酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃに基づいてこれらの差ΔＴｄが算出される。したがって、差ΔＴｄは、本判定制御により学習値ｓｆｂｇが減少されているときの酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとの差を意味する。次いで、ステップＳ７８では、ステップＳ６６で算出された差ΔＴｒとステップＳ７０で算出された差ΔＴｉとの差が判定値ΔＴｒｅｆ以下であって且つステップＳ６６で算出された差ΔＴｒとステップＳ７７で算出された差ΔＴｄとの差が判定値ΔＴｒｅｆ以下であるか否かが判定される。ステップＳ７８において、これら差がいずれも判定値ΔＴｒｅｆ以下であると判定された場合にはステップＳ７９へと進み、下流側空燃比センサ４１に異常が発生していると判定され、ステップＳ７９へと進む。一方、ステップＳ７８において、上記差のうちの少なくともいずれか一方が判定値ΔＴｒｅｆよりも大きいと判定された場合にはステップＳ８０へと進む。ステップＳ８０では、下流側空燃比センサ４１には異常が発生していないと判定され、ステップＳ８１へと進む。ステップＳ８１では、現在の学習値ｓｆｂｇに所定値ΔＸを加算したものが新たな学習値ｓｆｂｇとされる。したがって、学習値ｓｆｂｇが本判定制御の開始前の値に戻される。次いで、ステップＳ８２において、仮判定フラグＦｐ、増大フラグＦｉ及び減少フラグＦｄが０にリセットされる。次いで、ステップＳ８３では、時間カウンタＣＴｄが０にリセットされ、本判定制御が終了せしめられる。
【０１８１】
＜第二実施形態＞
次に、図１７及び図１８を参照して、本発明の第二実施形態の排気浄化装置について説明する。第二実施形態の排気浄化装置の構成及び制御は、本判定制御を除いて、第一実施形態の排気浄化装置の構成及び制御と同様である。本実施形態では、本判定制御として、リーン判定空燃比ＡＦｌｅａｎと理論空燃比との差及びリッチ判定空燃比ＡＦｒｉｃｈと理論空燃比との差のうち少なくとも何れか一方が大きくなるようにリーン判定空燃比及びリッチ判定空燃比の少なくとも何れか一方を連続的に変化させる制御を行っている。
【０１８２】
図１７は、下流側空燃比センサ４１の出力空燃比が全体的にリーン側に大きくずれている場合の制御中心空燃比ＡＦＲ等の図１０と同様なタイムチャートである。図中の周期は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になってから次のサイクルにおいて再び出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になるまでの周期を示している。図１７に示した例でも、時刻ｔ6において、下流側空燃比センサ４１に異常があると仮判定される。
【０１８３】
時刻ｔ6において、下流側空燃比センサ４１に異常があると仮判定されると、時刻ｔ6以降では、リッチ判定空燃比ＡＦｒｉｃｈが時間の経過に伴って徐々に減少せしめられる（リッチ側に変化せしめられる）。同様に、時刻ｔ6以降では、リーン判定空燃比ＡＦｌｅａｎが時間の経過に伴って徐々に増大せしめられる（リーン側に変化せしめられる）。このように、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が徐々に大きくなると、これに伴って下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの変動幅が徐々に大きくなる。したがって、下流側空燃比センサ４１周りを流通する排気ガスの実際の空燃比の変動幅も同様に徐々に大きくなる。
【０１８４】
図１７に示した例では、上述したように下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが全体的にリーン側に大きくずれている。このため、図１７の時刻ｔ6以前からわかるように、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが理論空燃比を中心に上下に変動していても、下流側空燃比センサ４１周りの排気ガスの実際の空燃比は常にリッチ空燃比となっている。
【０１８５】
ところが、上述したように、時刻ｔ6以降、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が徐々に大きくされ、これによって空燃比補正量ＡＦＣがリッチ設定補正量ＡＦＣｒｉｃｈとリーン設定補正量ＡＦＣｌｅａｎとの間で切り替えられる間隔が徐々に長くなる。この結果、上流側排気浄化触媒２０に流入する排気ガスの空燃比の変動幅が大きくなり、よって下流側空燃比センサ４１周りを流通する排気ガスの実際の空燃比の変動幅が徐々に大きくなる。これにより、図１７に示したように下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎも徐々に大きくなる。
【０１８６】
このように、上流側排気浄化触媒２０に流入する排気ガスの空燃比の変動幅が大きくなると、上流側排気浄化触媒２０に流入する排気ガスの空燃比は、上下に変動している間に、理論空燃比に到達するようになる。図１７に示した例では、上流側排気浄化触媒２０に流入する排気ガスの空燃比は、時刻ｔ8においてリーン空燃比に変更された後、時刻ｔ9において理論空燃比に到達し、それ以降、上流側排気浄化触媒２０に流入する排気ガスの空燃比はリーン空燃比となる。しかしながら、時刻ｔ9において上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡはほぼゼロになっていることから、時刻ｔ9以降に上流側排気浄化触媒２０に流入する排気ガスの空燃比がリーン空燃比となっても、排気ガス中の酸素は上流側排気浄化触媒２０に吸蔵される。このため、時刻ｔ9以降、上流側排気浄化触媒２０から流出する排気ガスの空燃比はほぼ理論空燃比に維持され、よって、下流側空燃比センサ４１周りの排気ガスの空燃比もほぼ理論空燃比に維持される。これにより、時刻ｔ9以降、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが或る程度の期間に亘って一定の値に維持される。
【０１８７】
その後、上流側排気浄化触媒２０の酸素吸蔵量ＯＳＡが最大吸蔵可能酸素量Ｃｍａｘに到達すると、上流側排気浄化触媒２０から流出する排気ガス中に酸素が含まれるようになる。この結果、時刻ｔ10において、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になり、空燃比補正量ＡＦＣがリーン設定補正量ＡＦＣｌｅａｎからリッチ設定補正量ＡＦＣｒｉｃｈへ切り替えられる。上述したように、時刻ｔ8から時刻ｔ10の間には、上流側排気浄化触媒２０への酸素の吸蔵が行われるため、時刻ｔ8から時刻ｔ10までの時間、すなわち酸素増大期間Ｔｉｎｃは比較的長くなる。
【０１８８】
時刻ｔ10以降も、上流側排気浄化触媒２０に流入する排気ガスの空燃比の変動幅が大きいため、上流側排気浄化触媒２０に流入する排気ガスの空燃比は、上下に変動している間に、理論空燃比に到達するようになる。このため、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈとリーン判定空燃比ＡＦｌｅａｎとの間で変化する途中で上流側排気浄化触媒２０への酸素の吸蔵又は酸素の放出が行われる。このため、時刻ｔ10以降においても、時刻ｔ8以前に比べて、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃが長くなる。
【０１８９】
したがって、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが大きくリーン側にずれている場合には、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が徐々に大きくされると、或る時点で酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃが急激に長くなる。また、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎが大きくリッチ側にずれている場合にも同様に、或る時点で酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃが急激に長くなる。
【０１９０】
図１８は、下流側空燃比センサ４１は正常であって上流側排気浄化触媒２０の劣化度合いが大きいときの制御中心空燃比ＡＦＲ等のタイムチャートである。図１８に示した例でも、時刻ｔ1〜ｔ6において、酸素増大期間Ｔｉｎｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｒ1及び酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値Ｆ1が予め定められた限界値よりも低い。このため、時刻ｔ6において、下流側空燃比センサ４１に異常があると仮判定される。
【０１９１】
図１８に示した例においても、図１７に示した例と同様に、下流側空燃比センサ４１に異常があると仮判定されると、時刻ｔ6以降では、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が徐々に大きくなるようにリッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎが変化せしめられる。このように、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が徐々に大きくされると、これに伴って下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎの変動幅が徐々に大きくなる。この結果、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃも徐々に長くなる。
【０１９２】
しかしながら、図１８に示した例では、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈとリーン判定空燃比ＡＦｌｅａｎとの間で変動する際に、常に下流側空燃比センサ４１周りを流通する排気ガスの実際の空燃比は理論空燃比を超えて変化している。したがって、上流側排気浄化触媒２０に流入する排気ガスの空燃比も常にリッチ空燃比とリーン空燃比との間で変化している。したがって、図１７に示した例のように、或る時点で上流側排気浄化触媒２０に酸素が吸蔵又は放出される始めることはなく、よってこれに伴って酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃが急激に長くなることもない。
【０１９３】
そこで、本実施形態では、下流側空燃比センサ４１に異常があると仮判定された場合には、本判定制御として、上述したように、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が徐々に連続的に大きくなるようにリッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎが変化せしめられる。そして、本判定制御の実行中に、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃから成る周期が算出される。具体的には、この周期は、下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比以下になってから次のサイクルにおいて再び下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリッチ判定空燃比ＡＦｒｉｃｈ以下になるまでの周期、又は下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になってから次のサイクルにおいて再び下流側空燃比センサ４１の出力空燃比ＡＦｄｗｎがリーン判定空燃比ＡＦｌｅａｎ以上になるまでの周期を意味する。そして、本実施形態では、このようにして算出された周期の単位時間当たりの変化量が予め定めた判定値以上になった場合には、下流側空燃比センサ４１に異常があると本判定するようにしている。なお、判定値は、上流側排気浄化触媒２０の劣化度合いが或る一定以上に高く且つ下流側空燃比センサ４１に異常が生じていない場合に、単位時間当たりの周期の変化量が取り得る最小値以上の予め定められた値とされる。
【０１９４】
例えば、図１７に示した例では、時刻ｔ6〜ｔ8の周期に比べて、時刻ｔ8〜ｔ10の周期の方が急激に長くなる。したがって、時刻ｔ６〜ｔ１０における周期の変化量は大きくなり、上述した判定値以上になる。この結果、下流側空燃比センサ４１には異常が生じている判定される。
【０１９５】
一方、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎは、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が予め定められた差になるまで徐々に連続的に変化せしめられ、予め定められた差になると元の値に戻される。そして、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎを連続的に変化させている間に、上述した周期の単位時間当たりの変化量が判定値未満に維持された場合には、下流側空燃比センサ４１には異常が生じていないと本判定する。加えて、この場合には、上流側排気浄化触媒２０に劣化が生じていないと判定するようにしている。例えば、図１８に示した例では、時刻ｔ6〜ｔ14までの間、周期は徐々に増加するが、この期間中、単位時間当たりの周期の変化量は判定値よりも小さく維持される。この結果、下流側空燃比センサ４１には異常が生じていないと本判定される。
【０１９６】
これにより、本実施形態によっても、酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃにおける積算酸素過不足量ΣＯＥＤの絶対値が限界値以下になり、下流側空燃比センサ４１に異常があると仮判定されたときに、積算酸素過不足量ΣＯＥＤの絶対値が限界値以下になった原因を特定することができる。したがって、下流側空燃比センサ４１の異常を適切に診断することができる。
【０１９７】
なお、上記実施形態では、本判定制御において、リッチ判定空燃比ＡＦｒｉｃｈと理論空燃比との差及びリーン判定空燃比ＡＦｒｉｃｈと理論空燃比との差の両方が徐々に大きくなるようにこれら判定空燃比を変化させている。しかしながら、リッチ判定空燃比ＡＦｒｉｃｈと理論空燃比との差及びリーン判定空燃比ＡＦｒｉｃｈと理論空燃比との差のうちいずれか一方のみが徐々に大きくなるようにこれら判定空燃比を変化させてもよい。この場合、目標空燃比に対して上流側空燃比センサ４０の出力空燃比がずれている方向（図１７に示した例ではリッチ方向）とは反対側の判定空燃比（図１７に示した例では、リーン判定空燃比）のみが徐々に理論空燃比から離れるように変化せしめられる。
【０１９８】
したがって、本実施形態では、制御装置は、本判定制御において、リーン判定空燃比ＡＦｌｅａｎと理論空燃比との差及びリッチ判定空燃比ＡＦｒｉｃｈと理論空燃比との差のうち少なくとも何れか一方が大きくなるようにリーン判定空燃比ＡＦｌｅａｎ及びリッチ判定空燃比ＡＦｒｉｃｈの少なくとも何れか一方を連続的に変化させる。そして、リーン判定空燃比ＡＦｌｅｎａ及びリッチ判定空燃比ＡＦｒｉｃｈの少なくとも何れか一方を連続的に変化させている間に、周期の単位時間当たりの変化量が予め定められた判定値以上になった場合には、下流側空燃比センサ４１に異常があると本判定するといえる。また、制御装置は、本判定制御において、リーン設定空燃比ＡＦｌｅａｎと理論空燃比との差及びリッチ設定空燃比ＡＦｒｉｃｈと理論空燃比との差のうち少なくとも何れか一方が予め定められた差になるまでリーン判定空燃比ＡＦｌｅａｎ及びリッチ判定空燃比ＡＦｒｉｃｈの少なくとも何れか一方を連続的に変化させ、リーン判定空燃比ＡＦｌｅａｎ及びリッチ判定空燃比ＡＦｒｉｃｈの少なくとも何れか一方を連続的に変化させている間に、予め定められた期間以上に亘って周期の単位時間当たりの変化量が予め定められた判定値未満に維持された場合には、下流側空燃比センサ４１には異常がないと本判定するといえる。
【０１９９】
＜本判定制御のフローチャート＞
図１９は、本判定制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは、ＥＣＵ３１において一定時間間隔の割り込みによって行われる。
【０２００】
まず、ステップＳ９１において、仮判定フラグＦｐが１であるか否かが判定される。ステップＳ９１において、仮判定フラグＦｐが１にセットされていないと判定された場合には制御ルーチンが終了せしめられる。一方、図１５のステップＳ５４において仮判定フラグＦｐが１にセットされると、ステップＳ９１からステップＳ９２へと進み、本判定制御が開始される。ステップＳ９２では、現在のリッチ判定空燃比ＡＦｒｉｃｈから所定値ΔＡＦを減少したものが新たなリッチ判定空燃比ＡＦｒｉｃｈとされる。また、現在のリーン判定空燃比ＡＦｌｅａｎに所定値ΔＡＦを加算したものが新たなリーン判定空燃比ＡＦｌｅａｎとされる。したがって、本制御ルーチンが繰り返し行われて、ステップＳ９２が繰り返し実行されることで、リッチ判定空燃比ＡＦｒｉｃｈと理論空燃比との差及びリーン判定空燃比ＡＦｌｅａｎと理論空燃比との差が徐々に大きくなる。
【０２０１】
次いで、ステップＳ９３では酸素増大期間Ｔｉｎｃ及び酸素減少期間Ｔｄｅｃが算出され、ステップＳ９４では、ステップＳ９３で算出された酸素増大期間Ｔｉｎｃと酸素減少期間Ｔｄｅｃとを加算することで現在の周期ＴＣ（ｎ）が算出される。次いで、ステップＳ９５では、現在の周期ＴＣ（ｎ）から前回算出された周期ＴＣ（ｎ−１）を減算したものが周期差ΔＴＣとして算出される。周期差ΔＴＣは、単位時間当たりの周期の変化量を表している。
【０２０２】
次いで、ステップＳ９６では、ステップＳ９５で算出された周期差ΔＴＣが予め定められた判定値ＴＣｒｅｆ以上であるか否かが判定される。ステップＳ９６において周期差ΔＴＣが判定値ＴＣｒｅｆ以上であると判定された場合には、ステップＳ９７へと進む。ステップＳ９７では、下流側空燃比センサ４１に異常が発生していると判定される。次いで、ステップＳ９８では、仮判定フラグＦｐが０にリセットされると共に、ステップＳ９９では、リッチ判定空燃比ＡＦｒｉｃｈ及びリーン判定空燃比ＡＦｌｅａｎが本判定制御を実行する前の値に戻される。
【０２０３】
一方、ステップＳ９６において周期差ΔＴＣが判定値ＴＣｒｅｆ未満であると判定された場合には、ステップＳ１００へと進む。ステップＳ１００では、時間カウンタＣＴに１が加算され、次いでステップＳ１０１では時間カウンタＣＴが基準時間ＣＴｒｅｆ以上であるか否かが判定される。ステップＳ１０１において、時間カウンタＣＴが基準時間ＣＴｒｅｆ未満であると判定されたときには制御ルーチンが終了せしめられる。一方、ステップＳ１０１において、時間カウンタＣＴが基準時間ＣＴｒｅｆ以上であると判定されたときには、予め定められた期間以上に亘って周期の単位時間当たりの変化量が判定値未満に維持されたことを意味するため、ステップＳ１０２において下流側空燃比センサ４１には以上が発生していないと判定される。その後、ステップＳ９８へと進む。
【符号の説明】
【０２０４】
１    機関本体
５    燃焼室
７    吸気ポート
９    排気ポート
１９    排気マニホルド
２０    上流側排気浄化触媒
２４    下流側排気浄化触媒
３１    ＥＣＵ
４０    上流側空燃比センサ
４１    下流側空燃比センサ
【図１】
0006287939.tif 000002
【図２】
0006287939.tif 000003
【図３】
0006287939.tif 000004
【図４】
0006287939.tif 000005
【図５】
0006287939.tif 000006
【図６】
0006287939.tif 000007
【図７】
0006287939.tif 000008
【図８】
0006287939.tif 000009
【図９】
0006287939.tif 000010
【図１０】
0006287939.tif 000011
【図１１】
0006287939.tif 000012
【図１２】
0006287939.tif 000013
【図１３】
0006287939.tif 000014
【図１４】
0006287939.tif 000015
【図１５】
0006287939.tif 000016
【図１６】
0006287939.tif 000017
【図１７】
0006287939.tif 000018
【図１８】
0006287939.tif 000019
【図１９】
0006287939.tif 000020