(57)【要約】      （修正有）【課題】酸素濃度センサの出力値がヒステリシスを示す場合でも排ガスの酸素濃度を適切に調整することができる内燃機関の制御装置を提供すること。【解決手段】空燃比制御手段は、酸素濃度センサの出力値Voxsが、センサの最大出力値と最小出力値との略中間の値である中央値よりも小さく且つ最小出力値よりも大きい低側閾値Lothと、中央値よりも大きく且つ最大出力値よりも小さい高側閾値Hithとの間の値であるとき、センサの出力値の変化率に基づいて排ガスの酸素濃度を変更するように空燃比を制御する。さらに、センサの出力値が低側閾値Loth以下の値であるとき、または、センサの出力値が高側閾値Hith以上の値であるとき、センサの出力値Voxsに基づいて排ガスの酸素濃度を変更するように空燃比を制御する。【選択図】図５
2012062775.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排ガスの酸素濃度に応じた値を出力する酸素濃度センサを備えた内燃機関に適用され、
前記内燃機関に供給される混合気の空燃比を制御する空燃比制御手段であって、
前記酸素濃度センサの出力値が、該酸素濃度センサの最大出力値と最小出力値との略中間の値である中央値よりも小さく且つ前記最小出力値よりも大きい低側閾値と、前記中央値よりも大きく且つ前記最大出力値よりも小さい高側閾値と、の間の値であるとき、前記酸素濃度センサの出力値の変化率に基づいて前記排ガスの酸素濃度を変更するように前記空燃比を制御し、
前記酸素濃度センサの出力値が前記低側閾値以下の値であるとき、または、前記酸素濃度センサの出力値が前記高側閾値以上の値であるとき、前記酸素濃度センサの出力値に基づいて前記排ガスの酸素濃度を変更するように前記空燃比を制御する空燃比制御手段、
を備えた内燃機関の制御装置。
【請求項２】
請求項１に記載の制御装置において、
前記酸素濃度センサは、
前記排ガスの酸素濃度が減少するときの該酸素濃度センサの出力値と前記排ガスの酸素濃度との関係である第１の関係と、前記排ガスの酸素濃度が増大するときの該酸素濃度センサの出力値と前記排ガスの酸素濃度との関係である第２の関係と、が相違することにより、該酸素濃度センサの出力値がヒステリシスを示すセンサである、内燃機関の制御装置。
【請求項３】
請求項１または請求項２に記載の制御装置において、
前記酸素濃度センサは、
前記排ガスの酸素濃度が前記混合気の空燃比が理論空燃比であるときに生じる排ガスの酸素濃度である基準酸素濃度からリッチ側に向けて離れるほど該酸素濃度センサの出力値が前記最大出力値に近づき、かつ、前記排ガスの酸素濃度が前記基準酸素濃度からリーン側に向けて離れるほど該酸素濃度センサの出力値が前記最小出力値に近づくセンサである、内燃機関の制御装置。
【請求項４】
請求項１〜請求項３のいずれか一項に記載の制御装置において、
前記酸素濃度センサが、前記排ガスの酸素濃度が固定値としての前記基準酸素濃度である場合に前記中央値を出力するセンサである場合、
前記空燃比制御手段は、
前記低側閾値として、
前記排ガスの酸素濃度が減少するときに前記酸素濃度センサの出力値が該低側閾値である場合に前記第１の関係に基づいて定められる排ガスの酸素濃度が、前記基準酸素濃度と同一または前記基準酸素濃度よりもリーン側の酸素濃度である値、
を採用する内燃機関の制御装置。
【請求項５】
請求項１〜請求項４のいずれか一項に記載の制御装置において、
前記酸素濃度センサが、前記排ガスの酸素濃度が固定値としての前記基準酸素濃度である場合に前記中央値を出力するセンサである場合、
前記空燃比制御手段は、
前記高側閾値として、
前記排ガスの酸素濃度が増大するときに前記酸素濃度センサの出力値が該高側閾値である場合に前記第２の関係に基づいて定められる排ガスの酸素濃度が、前記基準酸素濃度と同一または前記基準酸素濃度よりもリッチ側の酸素濃度である値、
を採用する内燃機関の制御装置。
【請求項６】
請求項１〜請求項５のいずれか一項に記載の制御装置において、
前記空燃比制御手段は、
前記低側閾値として、
前記排ガスの酸素濃度が減少するときに前記酸素濃度センサの出力値が該低側閾値である場合に前記第１の関係に基づいて定められる排ガスの酸素濃度と、前記排ガスの酸素濃度が増大するときに前記酸素濃度センサの出力値が該低側閾値である場合に前記第２の関係に基づいて定められる排ガスの酸素濃度と、の差の絶対値が所定値以下である値、
を採用する内燃機関の制御装置。
【請求項７】
請求項１〜請求項６のいずれか一項に記載の制御装置において、
前記空燃比制御手段は、
前記高側閾値として、
前記排ガスの酸素濃度が減少するときに前記酸素濃度センサの出力値が該高側閾値である場合に前記第１の関係に基づいて定められる排ガスの酸素濃度と、前記排ガスの酸素濃度が増大するときに前記酸素濃度センサの出力値が該高側閾値である場合に前記第２の関係に基づいて定められる排ガスの酸素濃度と、の差の絶対値が所定値以下である値、
を採用する内燃機関の制御装置。
【請求項８】
請求項１〜請求項７のいずれか一項に記載の制御装置において、
前記空燃比制御手段は、
前記第１の関係と前記第２の関係との相違の程度に関連するパラメータであるヒステリシス関連パラメータの大きさに応じて前記低側閾値および前記高側閾値の少なくとも一方を決定する、内燃機関の制御装置。
【請求項９】
請求項８に記載の内燃機関の制御装置において、
前記空燃比制御手段は、
前記ヒステリシス関連パラメータとして、前記酸素濃度センサの温度および前記内燃機関に供給される混合気の単位時間あたりの量の少なくとも一方を採用する、内燃機関の制御装置。
【請求項１０】
請求項１〜請求項９のいずれか一項に記載の制御装置であって、
前記内燃機関は、
前記排ガスを浄化する触媒であって、該触媒の上流側から導入される排ガスを浄化するとともに該排ガスを該触媒の下流側から排出する触媒、を備え、
前記酸素濃度センサは、
前記触媒から排出される排ガスである触媒排出ガスの酸素濃度に応じた値を出力し、
前記空燃比制御手段は、
前記触媒に導入される排ガスである触媒導入ガスの酸素濃度を変更するように前記空燃比を制御する、内燃機関の制御装置。
【請求項１１】
請求項１０に記載の制御装置において、
前記酸素濃度センサは、
前記触媒排出ガスの酸素濃度が前記混合気の空燃比が理論空燃比であるときに生じる排ガスの酸素濃度である基準酸素濃度からリッチ側に向けて離れるほど該酸素濃度センサの出力値が前記最大出力値に近づき、かつ、前記触媒排出ガスの酸素濃度が前記基準酸素濃度からリーン側に向けて離れるほど該酸素濃度センサの出力値が前記最小出力値に近づくセンサであり、
前記空燃比制御手段は、
前記酸素濃度センサの出力値が前記低側閾値と前記高側閾値との間の値であるとき、前記酸素濃度センサの出力値の変化率が正の値である場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリーン側の酸素濃度となるように前記空燃比を制御し、前記酸素濃度センサの出力値の変化率が負の値である場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリッチ側の酸素濃度となるように前記空燃比を制御し、
前記酸素濃度センサの出力値が前記低側閾値以下の値であるとき、前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリッチ側の酸素濃度となるように前記空燃比を制御し、
前記酸素濃度センサの出力値が前記高側閾値以上の値であるとき、前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリーン側の酸素濃度となるように前記空燃比を制御する、内燃機関の制御装置。
【請求項１２】
請求項１１に記載の制御装置において、
前記空燃比制御手段は、
前記酸素濃度センサの出力値が前記低側閾値と前記高側閾値との間の値であるとき、前記酸素濃度センサの出力値が増大しており且つ前記酸素濃度センサの出力値の変化率が増大側閾値よりも大きい場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリーン側の酸素濃度となるように前記空燃比を制御し、前記酸素濃度センサの出力値が減少しており且つ前記酸素濃度センサの出力値の変化率が減少側閾値よりも小さい場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリッチ側の酸素濃度となるように前記空燃比を制御する、内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃焼室から排出されるガス（排ガス）の酸素濃度を調整するための空燃比制御装置に関する。
【背景技術】
【０００２】
内燃機関の排ガスには種々の物質が含まれている。そこで、従来から、それら物質を排ガス中から除去することによって排ガスを浄化する触媒を備えた内燃機関が提案されている。この用途に利用される触媒として、例えば、三元触媒が挙げられる。三元触媒による排ガスの浄化効率は、公知のように、排ガスの酸素濃度に応じて変化する。
【０００３】
そこで、従来の内燃機関の制御装置の一つ（以下、「従来装置」と称呼する。）は、三元触媒の上流側および下流側に排ガスの酸素濃度を測定するセンサ（酸素濃度センサ）を備えるとともに、これら酸素濃度センサの出力値に基づいて同触媒に導入される排ガスの酸素濃度を調整する。これにより、従来装置は、三元触媒による排ガスの浄化効率が高い状態を維持するようになっている（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１１−２５７１３３号公報
【発明の概要】
【０００５】
従来装置は、上述したように、酸素濃度センサの出力値に基づいて排ガスの酸素濃度を調整している。すなわち、従来装置は、「酸素濃度センサによって測定される排ガスの酸素濃度の測定値と、排ガスの酸素濃度の現実の値（実際値）と、が一致している」ことを前提として、排ガスの酸素濃度を調整している。ところが、酸素濃度センサの出力値が同センサの構造などに起因する「ヒステリシス（履歴現象）」を示す場合、排ガスの酸素濃度の測定値と実際値とが一致しない場合がある。
【０００６】
具体的に述べると、内燃機関において利用される酸素濃度センサとして、例えば、固体電解質（安定化ジルコニアなど）が検出用電極および基準電極によって挟まれた構造を有する公知の固体電解質型酸素濃度センサが採用され得る。この酸素濃度センサは、公知のように、検出用電極に接触する排ガスの酸素濃度（酸素分圧）に応じた値を出力するようになっている。この酸素濃度センサの出力値は、排ガスの酸素濃度が変化するとき、上記ヒステリシスの影響により、その変化に十分に追従しない場合がある。
【０００７】
例えば、この酸素濃度センサは、排ガスの酸素濃度が「空気と燃料とが理論空燃比にて燃焼したときに生じる排ガスの酸素濃度である基準酸素濃度」よりも高い酸素濃度（すなわち、リーン側の酸素濃度）から同基準酸素濃度よりも低い酸素濃度（すなわち、リッチ側の酸素濃度）に変化したとき、排ガスの実際の酸素濃度は「リッチ側の酸素濃度」であるにもかかわらず「リーン側の酸素濃度」を表す値を出力する場合がある。また、この酸素濃度センサは、排ガスの酸素濃度がリッチ側の酸素濃度からリーン側の酸素濃度に変化したとき、排ガスの実際の酸素濃度は「リーン側の酸素濃度」であるにもかかわらず「リッチ側の酸素濃度」を表す値を出力する場合がある。
【０００８】
上記現象は、排ガスの酸素濃度が変化する時点よりも「前」の時点において酸素濃度センサの検出用電極の近傍に存在した排ガス中の成分が、排ガスの酸素濃度が変化した「後」の時点においてもその検出用電極の近傍に残存することにより、生じると考えられる。
【０００９】
すなわち、排ガスの酸素濃度がリーン側の酸素濃度からリッチ側の酸素濃度に変化しても、検出用電極の近傍に酸素が残存していれば、その酸素によって検出用電極の近傍における酸素濃度が高い状態が維持される。その結果、酸素濃度センサは「リーン側の酸素濃度」を表す値を出力する。また、排ガスの酸素濃度がリッチ側の酸素濃度からリーン側の酸素濃度に変化しても、検出用電極の近傍に未燃物が残存していれば、検出用電極に到達した酸素がその未燃物との反応に消費されることによって検出用電極の近傍における酸素濃度が低い状態が維持される。その結果、酸素濃度センサは「リッチ側の酸素濃度」を表す値を出力する。
【００１０】
このように、排ガスの酸素濃度の測定値と実際値とは一致しない場合がある。そのため、従来装置は、触媒に導入される排ガスの酸素濃度を適切に調整することができない場合があるという問題がある。
【００１１】
本発明の目的は、上記課題に鑑み、酸素濃度センサの出力値がヒステリシスを示す場合であっても排ガスの酸素濃度を適切に調整することができる内燃機関の制御装置を提供することにある。
【００１２】
以下、便宜上、上記基準酸素濃度よりもリッチ側の酸素濃度を単に「リッチ側酸素濃度」とも称呼し、上記基準酸素濃度よりもリーン側の酸素濃度を単に「リーン側酸素濃度」とも称呼する。
【００１３】
上記課題を解決するための本発明による制御装置は、酸素濃度センサを備えた内燃機関に適用される。
【００１４】
上記酸素濃度センサは、内燃機関の排ガスの酸素濃度に応じた値を出力することができるセンサであればよく、特に制限されない。上記酸素濃度センサとして、例えば、固体電解質、この固体電解質の一方の側に形成された検出用電極、この検出用電極を被覆する拡散抵抗層、および、固体電解質の他方の側に形成された基準電極を有する固体電解質型センサなどが採用され得る（例えば、図３（ａ）および図３（ｂ）を参照。）。
【００１５】
上記酸素濃度センサを備えた内燃機関に適用される本発明の制御装置は、内燃機関に供給される混合気の空燃比を制御する空燃比制御手段を備える。
【００１６】
より具体的に述べると、上記空燃比制御手段は、上記ヒステリシスの影響を考慮するとともに、下記（Ａ−１）および下記（Ａ−２）に示した「ヒステリシスの影響の度合いに応じた個別の考え方」に従って空燃比を制御するようになっている。
【００１７】
（Ａ−１）前記酸素濃度センサの出力値が、「該酸素濃度センサの最大出力値と最小出力値との略中間の値である中央値よりも小さく且つ前記最小出力値よりも大きい低側閾値」と「前記中央値よりも大きく且つ前記最大出力値よりも小さい高側閾値」との「間」の値であるとき、前記空燃比制御手段は、前記酸素濃度センサの「出力値の変化率」に基づいて前記排ガスの酸素濃度を変更するように前記空燃比を制御する。
（Ａ−２）前記酸素濃度センサの出力値が「前記低側閾値以下」の値であるとき、または、前記酸素濃度センサの出力値が「前記高側閾値以上」の値であるとき、前記空燃比制御手段は、前記酸素濃度センサの「出力値」に基づいて前記排ガスの酸素濃度を変更するように前記空燃比を制御する。
【００１８】
以下、本発明の空燃比制御手段が上記（Ａ−１）および上記（Ａ−２）に示すように空燃比を制御する理由について説明する。
【００１９】
上述したように、酸素濃度センサにおけるヒステリシス（履歴現象）は、排ガスの酸素濃度が変化する際に酸素濃度センサに排ガス中の物質が残留することに起因して生じると考えられる。そのため、排ガスの酸素濃度が変化しない値（所定の固定値）である場合、酸素濃度センサは、ヒステリシスの影響を受けることなく「その固定値に応じた値（以下、「静的な値」とも称呼する。）」を出力する。一方、排ガスの酸素濃度が変化する値である場合、酸素濃度センサは、排ガスの実際の酸素濃度が上記固定値と同一の値であっても、ヒステリシスの影響を受けて「上記静的な値とは異なる値（以下、「動的な値」とも称呼する。）」を出力する。
【００２０】
上記「静的な値」と上記「動的な値」との差は、酸素濃度センサにおけるヒステリシスに起因した出力値のずれであると考えることができる。そこで、以下、便宜上、静的な値と動的な値との差を「ヒステリシス起因ずれ」とも称呼する。
【００２１】
このヒステリシス起因ずれは、後述する２つの特性を有すると考えられる。
まず、第１の特性（定性的側面）として、ヒステリシス起因ずれの大きさは、排ガスの酸素濃度が変化する場合、排ガスの酸素濃度を測定する時点（測定時点）における排ガスの酸素濃度、測定時点よりも前の時点における排ガスの酸素濃度、排ガスの酸素濃度の変化の度合い、および、酸素濃度センサの構造などの各種の要因の影響を受けると考えられる。なお、上記説明から明らかなように、排ガスの酸素濃度が変化しない場合、ヒステリシス起因ずれの大きさはゼロである。
【００２２】
発明者は、上記要因のうちの「測定時点における排ガスの酸素濃度」に着目し、種々の考察および実験などを行った。発明者によるこれら種々の考察および実験などによれば、測定時点における排ガスの酸素濃度（すなわち、測定時点における酸素濃度センサの出力値。以下、「測定時出力値」とも称呼する。）と、ヒステリシス起因ずれの大きさと、の間には特定の相関関係があることが確認された（例えば、図４（ａ）および図４（ｂ）を参照。）。具体的に述べると、排ガスの酸素濃度が変化する場合、ヒステリシス起因ずれの大きさは、測定時出力値が上記中央値の近傍の値であるときに最も大きく、測定時出力値が上記最大出力値または上記最小出力値に近づくほど小さくなることが確認された。
【００２３】
次いで、第２の特性（経時的側面）として、ヒステリシス起因ずれの大きさは、排ガスの酸素濃度が変化した後、酸素濃度センサに残存している物質の量が減少するにつれて小さくなると考えられる。例えば、排ガスの酸素濃度がリーン側酸素濃度からリッチ側酸素濃度に変化したとき、酸素濃度センサに残存している酸素は、リッチ側酸素濃度の排ガスに含まれる未燃物と反応することによって徐々に減少する。そのため、排ガスの酸素濃度が変化した後に所定の時間長さが経過すれば、ヒステリシス起因ずれの大きさは実質的にゼロとなる。その結果、酸素濃度センサの出力値（動的な値）は、排ガスの実際の酸素濃度に応じた値（静的な値）に一致する（例えば、図６を参照。）。
【００２４】
なお、上記の例とは逆に排ガスの酸素濃度がリッチ側酸素濃度からリーン側酸素濃度に変化したとき、酸素濃度センサに残存している未燃物は、リーン側酸素濃度の排ガスに含まれる酸素と反応することによって徐々に減少する。そして、上記同様、ヒステリシス起因ずれの大きさが実質的にゼロとなれば、酸素濃度センサの出力値（動的な値）は、排ガスの実際の酸素濃度に応じた値（静的な値）に一致する。
【００２５】
換言すると、排ガスの酸素濃度が変化した場合、酸素濃度センサの出力値（動的な値）の変化は、排ガスの実際の酸素濃度に応じた値（静的な値）の変化に対して「遅れる」。別の見方をすれば、酸素濃度センサにおけるヒステリシスは、酸素濃度センサの出力値の「遅れ」に対して影響を与えるものの、その出力値の「変化の傾向（すなわち、変化率）」に対しては実質的な影響を与えないと考えられる。つまり、ヒステリシス起因ずれの大小にかかわらず、酸素濃度センサの出力値（動的な値）の「変化率」は、排ガスの実際の酸素濃度の変化の様子を表していると考えられる。
【００２６】
本発明の空燃比制御手段は、上述した第１の特性および第２の特性を考慮して空燃比を制御する。すなわち、本発明の空燃比制御手段は、酸素濃度センサの出力値が「上記低側閾値と上記高側閾値との間の値（すなわち、上記中央値の近傍の値）」であるときにはヒステリシス起因ずれが「大きい」と判断し、酸素濃度センサの「出力値の変化率」に基づいて空燃比を制御する（上記（Ａ−１））。これにより、空燃比制御手段は、ヒステリシス起因ずれが大きい場合であっても、実質的にヒステリシスの影響を受けることなく空燃比を制御することができる。
【００２７】
ところで、酸素濃度センサの出力値の「変化率」に基づいて空燃比を制御する方法は、酸素濃度センサの「出力値そのもの」に基づいて空燃比を制御する方法に比べ、煩雑な処理を必要とする場合がある。例えば、酸素濃度センサの出力値の「変化率」に基づいて空燃比を制御する方法においては、酸素濃度センサの出力値を時間経過に対応させながら記録（記憶）する等の処理が必要となる場合がある。
【００２８】
そこで、本発明の空燃比制御手段は、酸素濃度センサの出力値が「低側閾値以下の値、または、高側閾値以上の値（すなわち、中央値から離れた値）」であるときにはヒステリシス起因ずれが「小さい」と判断し、酸素濃度センサの「出力値そのもの」に基づいて空燃比を制御する（上記（Ａ−２））。これにより、空燃比制御手段は、ヒステリシス起因ずれが小さい場合には、上記「変化率」に基づいて空燃比を制御する場合に比べ、より簡便且つより直接的に空燃比を制御することができる。以上が、本発明の空燃比制御手段が上記（Ａ−１）および上記（Ａ−２）に示すように空燃比を制御する理由である。
【００２９】
このように、本発明の制御装置は、ヒステリシス起因ずれの大きさに応じた個別の考え方に従って混合気の空燃比を制御する。これにより、本発明の制御装置は、ヒステリシスの影響を排除すること及び空燃比を簡便に制御することを両立させながら、空燃比を制御することができる。その結果、本発明の制御装置は、酸素濃度センサの出力値がヒステリシスを示す場合であっても、排ガスの酸素濃度を適切に調整することができる。
【００３０】
次いで、以下、本発明の制御装置が適用される内燃機関に採用される「酸素濃度センサ」のいくつかの態様について述べる。
【００３１】
上述したように、本発明の制御装置は、酸素濃度センサの出力値がヒステリシスを示す場合であっても、排ガスの酸素濃度を適切に調整することができる。そこで、前記酸素濃度センサの一の態様として、
「前記排ガスの酸素濃度が減少するときの該酸素濃度センサの出力値と前記排ガスの酸素濃度との関係である第１の関係」と、「前記排ガスの酸素濃度が増大するときの該酸素濃度センサの出力値と前記排ガスの酸素濃度との関係である第２の関係」と、が相違することにより、該酸素濃度センサの出力値がヒステリシスを示すセンサ、が採用され得る。
【００３２】
さらに、前記酸素濃度センサの他の態様として、
前記排ガスの酸素濃度が「前記混合気の空燃比が理論空燃比であるときに生じる排ガスの酸素濃度である基準酸素濃度」から「リッチ側」に向けて離れるほど（すなわち、酸素濃度が低くなるほど）該酸素濃度センサの出力値が前記最大出力値に近づき、かつ、前記排ガスの酸素濃度が前記基準酸素濃度から「リーン側」に向けて離れるほど（すなわち、酸素濃度が高くなるほど）該酸素濃度センサの出力値が前記最小出力値に近づくセンサ、が採用され得る。
【００３３】
なお、上記「酸素濃度センサの出力値」は、静的な値および動的な値の双方を含む。すなわち、排ガスの酸素濃度が基準酸素濃度からリッチ側に向けて離れるほど静的な値および動的な値の双方が最大出力値に近づき、排ガスの酸素濃度が基準酸素濃度からリーン側に向けて離れるほど静的な値および動的な値の双方が最小出力値に近づく。
【００３４】
次いで、以下、本発明の空燃比制御手段における「低側閾値」および「高側閾値」のいくつかの態様について述べる。
【００３５】
まず、前記「低側閾値」の一の態様として、
（Ｂ−１）前記酸素濃度センサが、前記排ガスの酸素濃度が「固定値としての前記基準酸素濃度」である場合に前記中央値を出力するセンサである場合、
（Ｂ−２）前記排ガスの酸素濃度が「減少」するときに前記酸素濃度センサの出力値が「該低側閾値」である場合に前記第１の関係に基づいて定められる排ガスの酸素濃度が、「前記基準酸素濃度と同一」または「前記基準酸素濃度よりもリーン側の酸素濃度」である値、が採用され得る（例えば、図４（ｃ）を参照。）。
【００３６】
上述したように、酸素濃度センサの出力値（静的な値および動的な値の双方）は、排ガスの酸素濃度が基準酸素濃度からリーン側に向けて離れるほど最小出力値に近づく。よって、酸素濃度センサが上記（Ｂ−１）の条件を満たせば、酸素濃度センサの出力値（静的な値）が中央値以下の値であるとき、その値に基づいて定められる排ガスの酸素濃度は、「基準酸素濃度またはリーン側酸素濃度」となる。一方、低側閾値が上記（Ｂ−２）の条件を満たせば、酸素濃度センサの出力値（動的な値）が低側閾値以下の値であるとき、その値に基づいて定められる排ガスの酸素濃度は、「基準酸素濃度またはリーン側酸素濃度」となる。
【００３７】
ここで、上述したように、低側閾値は中央値よりも小さい。したがって、上記（Ｂ−１）および上記（Ｂ−２）の双方の条件が満たされれば、酸素濃度センサの出力値が低側閾値以下の値であるとき、静的な値および動的な値の「双方」が、必ず、基準酸素濃度またはリーン側酸素濃度となる。
【００３８】
よって、本態様の低側閾値が採用されれば、例えば、酸素濃度センサの出力値が上記低側閾値以下の値であるときに「排ガスの実際の酸素濃度（静的な値に対応。）がリッチ側酸素濃度であるにもかかわらず、酸素濃度センサの出力値（動的な値）がリーン側酸素濃度を表す値となる」ことが防がれる。すなわち、誤った測定がなされることが防がれる。
【００３９】
そこで、本発明の空燃比制御手段は、酸素濃度センサの出力値が本態様の低側閾値以下の値であれば、上述したような誤った測定がなされることが防がれるという観点において「ヒステリシス起因ずれが小さい」と判断する。
【００４０】
次いで、前記「高側閾値」の一の態様として、
（Ｃ−１）前記酸素濃度センサが、前記排ガスの酸素濃度が固定値としての前記基準酸素濃度である場合に前記中央値を出力するセンサである場合、
（Ｃ−２）前記排ガスの酸素濃度が「増大」するときに前記酸素濃度センサの出力値が「該高側閾値」である場合に前記第２の関係に基づいて定められる排ガスの酸素濃度が、「前記基準酸素濃度と同一」または「前記基準酸素濃度よりもリッチ側の酸素濃度」である値、が採用され得る（例えば、図４（ｃ）を参照。）。
【００４１】
上述したように、酸素濃度センサの出力値（静的な値および動的な値の双方）は、排ガスの酸素濃度が基準酸素濃度からリッチ側に向けて離れるほど最大出力値に近づく。よって、酸素濃度センサが上記（Ｃ−１）の条件を満たせば、酸素濃度センサの出力値（静的な値）が中央値以上の値であるとき、その値に基づいて定められる排ガスの酸素濃度は、「基準酸素濃度またはリッチ側酸素濃度」となる。一方、高側閾値が上記（Ｃ−２）の条件を満たせば、酸素濃度センサの出力値（動的な値）が高側閾値以上の値であるとき、その値に基づいて定められる排ガスの酸素濃度は、「基準酸素濃度またはリッチ側酸素濃度」となる。
【００４２】
ここで、上述したように、高側閾値は中央値よりも大きい。したがって、上記（Ｃ−１）および上記（Ｃ−２）の双方の条件が満たされれば、酸素濃度センサの出力値が高側閾値以上の値であるとき、静的な値および動的な値の「双方」が、必ず、基準酸素濃度またはリッチ側酸素濃度となる。
【００４３】
よって、本態様の高側閾値が採用されれば、例えば、酸素濃度センサの出力値が上記高側閾値以上の値であるときに「排ガスの実際の酸素濃度（静的な値に対応。）がリーン側酸素濃度であるにもかかわらず、酸素濃度センサの出力値（動的な値）がリッチ側酸素濃度を表す値となる」ことが防がれる。すなわち、誤った測定がなされることが防がれる。
【００４４】
そこで、本発明の空燃比制御手段は、酸素濃度センサの出力値が本態様の高側閾値以上の値であれば、上述したような誤った測定がなされることが防がれるという観点において「ヒステリシス起因ずれが小さい」と判断する。
【００４５】
さらに、前記「低側閾値」の他の態様として、
前記排ガスの酸素濃度が「減少」するときに前記酸素濃度センサの出力値が「該低側閾値」である場合に前記第１の関係に基づいて定められる排ガスの酸素濃度（以下、「第１低側酸素濃度」とも称呼する。）と、前記排ガスの酸素濃度が「増大」するときに前記酸素濃度センサの出力値が「該低側閾値」である場合に前記第２の関係に基づいて定められる排ガスの酸素濃度（以下、「第２低側酸素濃度」とも称呼する。）と、の差の絶対値が所定値以下である値、が採用され得る（例えば、図１４を参照。）。
【００４６】
上述したように、酸素濃度センサの出力値がヒステリシスを示す場合、第１の関係と第２の関係とは相違するので、上記第１低側酸素濃度と上記第２低側酸素濃度とは一致しない。しかし、第１低側酸素濃度と第２低側酸素濃度との差の絶対値が十分に小さければ、その差は空燃比の制御に対して実質的な影響を与えないと考えられる。そこで、本発明の空燃比制御手段は、酸素濃度センサの出力値が本態様の低側閾値以下の値であれば、第１の関係と第２の関係との相違が空燃比の制御に対して与える影響が小さいという観点において「ヒステリシス起因ずれが小さい」と判断する。
【００４７】
なお、本態様における上記所定値として、例えば、空燃比制御手段による空燃比の制御において上記第１低側酸素濃度と上記第２低側酸素濃度とが実質的に同一であるとみなすことができる適値が採用され得る。
【００４８】
さらに、前記「高側閾値」の他の態様として、
前記排ガスの酸素濃度が「減少」するときに前記酸素濃度センサの出力値が「該高側閾値」である場合に前記第１の関係に基づいて定められる排ガスの酸素濃度（以下、「第１高側酸素濃度」とも称呼する。）と、前記排ガスの酸素濃度が「増大」するときに前記酸素濃度センサの出力値が「該高側閾値」である場合に前記第２の関係に基づいて定められる排ガスの酸素濃度（以下、「第２高側酸素濃度」とも称呼する。）と、の差の絶対値が所定値以下である値、が採用され得る（例えば、図１４を参照。）。
【００４９】
上記同様、第１高側酸素濃度と第２高側酸素濃度との差の絶対値が十分に小さければ、その差は空燃比の制御に対して実質的な影響を与えないと考えられる。そこで、本発明の空燃比制御手段は、酸素濃度センサの出力値が本態様の高側閾値以上の値であれば、第１の関係と第２の関係との相違が空燃比の制御に対して与える影響が小さいという観点において「ヒステリシス起因ずれが小さい」と判断する。
【００５０】
なお、本態様における上記所定値として、例えば、空燃比制御手段による空燃比の制御において上記第１高側酸素濃度と上記第２高側酸素濃度とが実質的に同一であるとみなすことができる適値が採用され得る。
【００５１】
加えて、前記「低側閾値」および前記「高側閾値」のさらに他の態様として、
前記空燃比制御手段は、
前記第１の関係と前記第２の関係との相違の程度に関連するパラメータである「ヒステリシス関連パラメータ」の大きさに応じて前記低側閾値および前記高側閾値の少なくとも一方を決定する、ように構成され得る。
【００５２】
より具体的に述べると、前記空燃比制御手段は、
前記ヒステリシス関連パラメータとして、「前記酸素濃度センサの温度」および「前記内燃機関に供給される混合気の単位時間あたりの量」の少なくとも一方を採用する、ように構成され得る。
【００５３】
上述したように、本発明の空燃比制御手段は、各種の要因のうちの「測定時点における排ガスの酸素濃度」に着目して混合気の空燃比を制御するようになっている。ところが、ヒステリシス起因ずれの大きさは、測定時点における排ガスの酸素濃度に加え、ヒステリシス関連パラメータの大きさに応じて変化する場合がある（例えば、図１２を参照。）。
【００５４】
そこで、本態様の空燃比制御手段は、上述したようにヒステリシス関連パラメータの大きさに応じて低側閾値および高側閾値を決定する。これにより、本態様の空燃比制御手段は、酸素濃度センサの出力値がヒステリシスを示す場合であっても、排ガスの酸素濃度をさらに適切に調整することができる。
【００５５】
例えば、本態様の空燃比制御手段は、前記低側閾値として、前記排ガスの酸素濃度が減少するときに前記酸素濃度センサの出力値が該低側閾値である場合に前記第１の関係に基づいて定められる排ガスの酸素濃度が、前記基準酸素濃度と同一または前記基準酸素濃度よりもリーン側の酸素濃度である値であって、前記酸素濃度センサの温度が高くなるにつれて大きくなる値、が採用し得る。
【００５６】
さらに、例えば、本態様の空燃比制御手段は、前記高側閾値として、前記排ガスの酸素濃度が増大するときに前記酸素濃度センサの出力値が該高側閾値である場合に前記第２の関係に基づいて定められる排ガスの酸素濃度が、前記基準酸素濃度と同一または前記基準酸素濃度よりもリッチ側の酸素濃度である値であって、前記酸素濃度センサの温度が高くなるにつれて小さくなる値、が採用し得る。
【００５７】
次いで、以下、本発明の制御装置のより具体的な態様について述べる。
【００５８】
本発明の制御装置の一の態様として、
前記内燃機関が「前記排ガスを浄化する触媒であって、該触媒の上流側から導入される排ガスを浄化するとともに該排ガスを該触媒の下流側から排出する触媒」を備えるとき、
前記酸素濃度センサは、
前記触媒から排出される排ガスである「触媒排出ガス」の酸素濃度に応じた値を出力し、
前記空燃比制御手段は、
前記触媒に導入される排ガスである「触媒導入ガス」の酸素濃度を変更するように前記空燃比を制御する、ように構成され得る。
【００５９】
より具体的に述べると、
前記酸素濃度センサは、
前記触媒排出ガスの酸素濃度が「前記混合気の空燃比が理論空燃比であるときに生じる排ガスの酸素濃度である基準酸素濃度」から「リッチ側」に向けて離れるほど該酸素濃度センサの出力値が前記最大出力値に近づき、かつ、前記触媒排出ガスの酸素濃度が前記基準酸素濃度から「リーン側」に向けて離れるほど該酸素濃度センサの出力値が前記最小出力値に近づくセンサであり、
前記空燃比制御手段は、
（Ｄ−１）前記酸素濃度センサの出力値が「前記低側閾値と前記高側閾値との間」の値であるとき、前記酸素濃度センサの「出力値の変化率」が「正の値」である場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりも「リーン側」の酸素濃度となるように前記空燃比を制御し、前記酸素濃度センサの「出力値の変化率」が「負の値」である場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりも「リッチ側」の酸素濃度となるように前記空燃比を制御し、
（Ｄ−２）前記酸素濃度センサの「出力値が前記低側閾値以下」の値であるとき、前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりも「リッチ側」の酸素濃度となるように前記空燃比を制御し、
（Ｄ−３）前記酸素濃度センサの「出力値が前記高側閾値以上」の値であるとき、前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりも「リーン側」の酸素濃度となるように前記空燃比を制御する、
ように構成され得る。
【００６０】
上記触媒は、排ガスを浄化することができる触媒であればよく、特に制限されない。本態様における上記触媒として、例えば、三元触媒およびNOx吸蔵還元触媒などが挙げられる。これら触媒は、触媒の温度が所定の活性温度以上であり、かつ、浄化される対象である排ガスの酸素濃度が所定の酸素濃度（上記基準酸素濃度の近傍）であるとき、その排ガスに含まれる未燃物（HC，COなど）の酸化反応および窒素酸化物（NOx）の還元反応を促進し、これらを高い浄化率にて同時に浄化することができる。
【００６１】
なお、上記「排ガスを浄化する」とは、排ガスに含まれる未燃物および窒素酸化物などの浄化対象物質の少なくとも一部をその排ガスから除去することを意味し、必ずしも浄化対象物質の全てをその排ガスから除去することを意味しない。
【００６２】
上記触媒は、一般に、酸素吸蔵物質（CeO2−ZrO2など）と、触媒成分（PtおよびRhなどの貴金属）と、を有する。この触媒成分により、上述した未燃物と窒素酸化物との酸化還元反応（すなわち、排ガスの浄化）が促進される。さらに、酸素吸蔵物質は、排ガスの酸素濃度がリーン側酸素濃度であるときに排ガスに含まれる過剰な酸素を吸蔵し、排ガスの酸素濃度がリッチ側酸素濃度であるときに吸蔵されている酸素を上記酸化反応のために放出する。これにより、触媒導入ガスの酸素濃度が基準酸素濃度とは異なる酸素濃度であっても、触媒成分における酸素濃度が基準酸素濃度に一致するように調節されるので、排ガスが高い浄化率にて浄化される状態が維持される。
【００６３】
ところが、例えば、触媒導入ガスの酸素濃度が「リーン側酸素濃度」である状態が長期間に亘って継続されると、触媒の酸素吸蔵量が所定の上限値（以下、「最大酸素吸蔵量」とも称呼する。）にまで増大する場合がある。この場合、触媒は、触媒導入ガスに含まれる過剰な酸素を吸蔵することができない。その結果、触媒は、触媒成分における酸素濃度を十分に調整することができないので、触媒導入ガスを十分に浄化することができなくなる。
【００６４】
一方、触媒の酸素吸蔵量が最大酸素吸蔵量に達した後にリーン側酸素濃度の排ガスが触媒に導入され続けた場合、触媒から排出される排ガス（触媒排出ガス）の酸素濃度はリーン側酸素濃度となる。上述したように、酸素濃度センサの出力値は、排ガスの酸素濃度が基準酸素濃度からリーン側に向けて離れるほど最小出力値に近づく。そのため、この場合、酸素濃度センサの出力値は最小出力値に近づくように減少する。ただし、この場合、酸素濃度センサの出力値は、ヒステリシスの影響を受けた値である。
【００６５】
そこで、このように酸素濃度センサの出力値が変化（減少）するとき、本態様の空燃比制御手段は、ヒステリシス起因ずれの大きさを考慮しながら混合気の空燃比を制御する。具体的に述べると、空燃比制御手段は、酸素濃度センサの出力値が「低側閾値と高側閾値との間」の値である場合、酸素濃度センサの「出力値の変化率」が「負の値」であれば、触媒排出ガスの酸素濃度がリーン側酸素濃度になったと判断し、触媒導入ガスの酸素濃度が「リッチ側酸素濃度」となるように空燃比を制御する（上記（Ｄ−１）の後段）。また、空燃比制御手段は、酸素濃度センサの「出力値が低側閾値以下」の値である場合、同様に触媒排出ガスの酸素濃度がリーン側酸素濃度になったと判断し、触媒導入ガスの酸素濃度が「リッチ側酸素濃度」となるように空燃比を制御する（上記（Ｄ−２））。
【００６６】
上記制御の結果、触媒にリッチ側酸素濃度の排ガスが導入されるので、触媒に吸蔵されている酸素が触媒導入ガスを浄化するために放出される。これにより、触媒導入ガスが浄化されながら、触媒の酸素吸蔵量が低下せしめられる。
【００６７】
ところが、触媒導入ガスの酸素濃度が「リッチ側酸素濃度」である状態が長期間に亘って継続されると、触媒の酸素吸蔵量がゼロにまで減少する場合がある。この場合、触媒は、触媒導入ガスを浄化するために酸素を放出することができない。その結果、触媒は、触媒成分における酸素濃度を十分に調整することができないので、触媒導入ガスを十分に浄化することができなくなる。
【００６８】
一方、触媒の酸素吸蔵量がゼロに達した後にリッチ側酸素濃度の排ガスが触媒に導入され続けた場合、触媒排出ガスの酸素濃度はリッチ側酸素濃度となる。上述したように、酸素濃度センサの出力値は、排ガスの酸素濃度が基準酸素濃度からリッチ側に向けて離れるほど最大出力値に近づく。そのため、この場合、酸素濃度センサの出力値は最大出力値に近づくように増大する。ただし、上記同様、この場合の酸素濃度センサの出力値は、ヒステリシスの影響を受けた値である。
【００６９】
そこで、このように酸素濃度センサの出力値が変化（増大）するとき、本態様の空燃比制御手段は、ヒステリシス起因ずれの大きさを考慮しながら混合気の空燃比を制御する。具体的に述べると、空燃比制御手段は、酸素濃度センサの出力値が「低側閾値と高側閾値との間」の値である場合、酸素濃度センサの「出力値の変化率」が「正の値」であれば、触媒排出ガスの酸素濃度がリッチ側酸素濃度になったと判断し、触媒導入ガスの酸素濃度が「リーン側酸素濃度」となるように空燃比を制御する（上記（Ｄ−１）の前段）。また、空燃比制御手段は、酸素濃度センサの「出力値が高側閾値以上」の値である場合、同様に触媒排出ガスの酸素濃度がリッチ側酸素濃度になったと判断し、触媒導入ガスの酸素濃度が「リーン側酸素濃度」となるように空燃比を制御する（上記（Ｄ−３））。
【００７０】
上記制御の結果、触媒にリーン側酸素濃度の排ガスが導入されるので、触媒に酸素が吸蔵される。これにより、触媒導入ガスが浄化されながら、触媒の酸素吸蔵量が増大せしめられる。
【００７１】
このように、本態様の制御装置は、本発明による「ヒステリシス起因ずれの大きさに応じた個別の考え方」に従って排ガスの酸素濃度を変更するように空燃比を制御する。これにより、本態様の制御装置は、酸素濃度センサの出力値がヒステリシスを示す場合であっても、触媒が排ガスを高い浄化率にて浄化することができる状態を適切に維持することができる。
【００７２】
さらに、本発明の制御装置の他の態様として、
前記空燃比制御手段は、
前記酸素濃度センサの出力値が「前記低側閾値と前記高側閾値との間の値」であるとき、前記酸素濃度センサの出力値が「増大」しており且つ前記酸素濃度センサの「出力値の変化率」が「増大側閾値よりも大きい」場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリーン側の酸素濃度となるように前記空燃比を制御し、前記酸素濃度センサの出力値が「減少」しており且つ前記酸素濃度センサの「出力値の変化率」が「減少側閾値よりも小さい」場合には前記触媒導入ガスの酸素濃度が前記基準酸素濃度よりもリッチ側の酸素濃度となるように前記空燃比を制御する、ように構成され得る。
【００７３】
上述したように、触媒の酸素吸蔵量が最大酸素吸蔵量に達した後にリーン側酸素濃度の排ガスが触媒に導入されると、触媒排出ガスの酸素濃度がリーン側酸素濃度になるので、酸素濃度センサの出力値は減少する。ところが、触媒の酸素吸蔵量が最大酸素吸蔵量に達していなくても（すなわち、触媒は酸素を吸蔵し得るにもかかわらず）、酸素濃度センサの出力値が減少する場合があると考えられる。
【００７４】
例えば、触媒の酸素吸蔵量が増大して「最大酸素吸蔵量に比較的近い量」になったとき、リーン側酸素濃度の排ガスが触媒に導入されると、触媒が酸素を効率良く吸蔵することができないことに起因して、触媒導入ガスに含まれる酸素の一部が触媒から排出される場合がある。すなわち、触媒が酸素を吸蔵する余力が十分に大きい場合に比べ、触媒排出ガスの酸素濃度が高くなる場合がある。触媒排出ガスの酸素濃度が高くなれば、酸素濃度センサの出力値は減少する。したがって、例えばこのような場合、触媒の酸素吸蔵量が最大酸素吸蔵量に達していなくても、酸素濃度センサの出力値は減少すると考えられる。
【００７５】
ただし、上記説明から理解されるように、上記の場合における触媒排出ガスの酸素濃度は、触媒の酸素吸蔵量が最大酸素吸蔵量に達した場合における触媒排出ガスの酸素濃度よりも低い。そのため、上記の場合における酸素濃度センサの出力値の減少の度合い（変化率）は、触媒の酸素吸蔵量が最大酸素吸蔵量に達した場合における同減少の度合い（変化率）よりも「小さい」と考えられる。
【００７６】
そこで、本態様の制御装置は、酸素濃度センサの出力値が減少するとき、酸素濃度センサの出力値の変化率（負の値）が「減少側閾値よりも小さい」場合（すなわち、出力値が比較的急速に減少する場合）に限り、触媒導入ガスの酸素濃度が「リッチ側酸素濃度」となるように空燃比を制御する。
【００７７】
一方、触媒の酸素吸蔵量がゼロに達していなくても（すなわち、触媒は酸素を放出し得るにもかかわらず）、酸素濃度センサの出力値が増大する場合があると考えられる。
【００７８】
例えば、触媒の酸素吸蔵量が減少して「ゼロに比較的近い量」になったとき、リッチ側酸素濃度の排ガスが触媒に導入されると、その排ガスに含まれる酸素（未燃酸素）の一部が触媒成分における酸化反応（排ガスの浄化）に用いられることに起因して、触媒排出ガスに含まれる酸素の量が低下する場合がある。すなわち、触媒が酸素を放出する余力が十分に大きい場合に比べ、触媒排出ガスの酸素濃度が低くなる場合がある。触媒排出ガスの酸素濃度が低くなれば、酸素濃度センサの出力値は増大する。したがって、例えばこのような場合、触媒の酸素吸蔵量がゼロに達していなくても、酸素濃度センサの出力値は増大すると考えられる。
【００７９】
ただし、上記説明から理解されるように、上記の場合における触媒排出ガスの酸素濃度は、触媒の酸素吸蔵量がゼロに達した場合における触媒排出ガスの酸素濃度よりも高い。そのため、上記の場合における酸素濃度センサの出力値の増大の度合い（変化率）は、触媒の酸素吸蔵量がゼロに達した場合における同増大の度合い（変化率）よりも「小さい」と考えられる。
【００８０】
そこで、本態様の制御装置は、酸素濃度センサの出力値が増大するとき、酸素濃度センサの出力値の変化率（正の値）が「増大側閾値よりも大きい」場合（すなわち、出力値が比較的急速に増大する場合）に限り、触媒導入ガスの酸素濃度が「リーン側酸素濃度」となるように空燃比を制御する。
【００８１】
上述した制御の結果、触媒の酸素吸蔵量が最大酸素吸蔵量に十分に近い量（上記「最大酸素吸蔵量に比較的近い量」よりも最大酸素吸蔵量に近い量）になった場合に限り、リッチ側酸素濃度の排ガスが触媒に導入される。さらに、触媒の酸素吸蔵量がゼロに十分に近い量（上記「ゼロに比較的近い量」よりもゼロに近い量）になった場合に限り、リーン側酸素濃度の排ガスが触媒に導入される。これにより、本態様の制御装置は、触媒の酸素吸蔵能力を最大限に活用するという観点において、より適切に混合気の空燃比を制御することができる。
【００８２】
ところで、上記説明から理解されるように、本態様の空燃比制御手段は、「酸素濃度センサの出力値が低側閾値と高側閾値との間の値であり」かつ「同出力値が最小出力値または最大出力値により近い値であるとき（触媒の酸素吸蔵量が最大酸素吸蔵量またはゼロにより近いとき）」に、上記効果をより顕著に発揮する。よって、低側閾値が最小出力値により近い値に設定されるほど、または、高側閾値が最大出力値により近い値に設定されるほど、本態様における制御を行うことがより望ましいと考えられる（例えば、図４（ｃ）を参照。）。
【００８３】
そこで、本発明の制御装置は、低側閾値の大きさ及び高側閾値の大きさの少なくとも一方に基づき、増大側閾値の大きさ及び減少側閾値の大きさの少なくとも一方を決定するように構成され得る。さらに、本発明の制御装置は、低側閾値の大きさ及び高側閾値の大きさの少なくとも一方に基づき、本態様の空燃比制御手段を採用する否かを決定するように構成され得る。
【図面の簡単な説明】
【００８４】
【図１】本発明の第１実施形態に係る制御装置が適用される内燃機関の概略図である。
【図２】図１に示した上流側酸素濃度センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【図３Ａ】図１に示した下流側酸素濃度センサの構造を表す模式図である。
【図３Ｂ】図１に示した下流側酸素濃度センサの構造を表す模式図である。
【図４Ａ】図１に示した下流側酸素濃度センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【図４Ｂ】図１に示した下流側酸素濃度センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【図４Ｃ】図１に示した下流側酸素濃度センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【図５】本発明の第１の実施形態に係る制御装置の作動を示す概略フローチャートである。
【図６】図１に示した下流側酸素濃度センサの出力値と、時間経過と、の関係を表す模式図である。
【図７】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図８】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図９】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１０】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１１】本発明の第１実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１２】図１に示した下流側酸素濃度センサの温度と、同センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【図１３】本発明の第２実施形態に係る制御装置のＣＰＵが実行するルーチンを示したフローチャートである。
【図１４】図１に示した下流側酸素濃度センサの出力値と、排ガスの空燃比と、の関係を示すグラフである。
【発明を実施するための形態】
【００８５】
以下、本発明による内燃機関の制御装置の各実施形態について、図面を参照しながら説明する。
【００８６】
（第１実施形態）
＜装置の概要＞
図１は、本発明の第１実施形態に係る制御装置（以下、「第１装置」とも称呼する。）を内燃機関１０に適用したシステムの概略構成を示している。内燃機関１０は、４サイクル火花点火式多気筒（４気筒）機関である。図１は、複数の気筒のうちの一の気筒の断面のみを示している。なお、他の気筒もこの一の気筒と同様の構成を備えている。以下、便宜上、「内燃機関１０」を単に「機関１０」とも称呼する。
【００８７】
この機関１０は、シリンダブロック部２０、シリンダブロック部２０の上部に固定されるシリンダヘッド部３０、シリンダブロック部２０に空気と燃料との混合気を導入するための吸気系統４０、および、シリンダブロック部２０から排出されるガス（排ガス）を機関１０の外部に放出するための排気系統５０、を備えている。
【００８８】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、および、クランクシャフト２４、を有している。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランクシャフト２４に伝達され、これにより同クランクシャフト２４が回転するようになっている。シリンダ２１の内壁面、ピストン２２の上面およびシリンダヘッド部３０の下面は、燃焼室２５を画成している。
【００８９】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを有するとともに同インテークカムシャフトの位相角およびリフト量を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃料を吸気ポート３１内に噴射するインジェクタ３４、燃焼室２５に連通した排気ポート３５、排気ポート３５を開閉する排気弁３６、排気弁３６を駆動するエキゾーストカムシャフト３７、点火プラグ３８、および、点火プラグ３８に与える高電圧を発生するイグニッションコイルを含むイグナイタ３９、を有している。
【００９０】
なお、機関１０は、インジェクタ３４に代えて、または、インジェクタ３４とは別に、燃料を燃焼室２５内に直接噴射する筒内インジェクタ（図示省略。）を備えるように構成され得る。
【００９１】
吸気系統４０は、吸気ポート３１を介してそれぞれの気筒に連通されたインテークマニホールド４１、インテークマニホールド４１の上流側の集合部に接続された吸気管４２、吸気管４２の端部に設けられたエアクリーナ４３、吸気管４２の開口面積（開口断面積）を変更することができるスロットル弁（吸気絞り弁）４４、および、指示信号に応じてスロットル弁４４を回転駆動するスロットル弁アクチュエータ４４ａ、を有している。吸気ポート３１、インテークマニホールド４１および吸気管４２は、吸気通路を構成している。
【００９２】
排気系統５０は、排気ポート３５を介してそれぞれの気筒に連通されたエキゾーストマニホールド５１、エキゾーストマニホールド５１の下流側の集合部に接続された排気管５２、および、排気管５２に設けられた排ガス浄化用触媒５３、を有している。排気ポート３５、エキゾーストマニホールド５１および排気管５２は、排気通路を構成している。以下、排ガス浄化用触媒５３を、単に「触媒５３」とも称呼する。
【００９３】
触媒５３は、酸素吸蔵物質としてのセリア・ジルコニア共触媒（CeO2−ZrO2）と、担体としてのセラミクス（アルミナなど）と、触媒成分としての貴金属（白金およびロジウムなど）と、から構成される三元触媒である。この触媒５３は、触媒の温度がその活性温度以上であり、かつ、浄化される対象である排ガスの酸素濃度が「基準酸素濃度（理論空燃比の混合気が燃焼した際に生じる排ガスの酸素濃度）の近傍」である場合、排ガス中の未燃物（HC，COなど）と窒素酸化物（NOx）との酸化還元反応を促進し、これらを高い浄化率にて同時に浄化することができる。
【００９４】
上記触媒成分は、未燃物と窒素酸化物との酸化還元反応（すなわち、排ガスの浄化）を促進する。さらに、酸素吸蔵物質は、排ガスの酸素濃度が基準酸素濃度よりも高いときに過剰な酸素を吸蔵し、排ガスの酸素濃度が基準酸素濃度よりも低いときに吸蔵されている酸素を上記酸化反応のために放出する。これにより、触媒に導入される排ガスの酸素濃度が基準酸素濃度とは異なる酸素濃度であっても、触媒成分における酸素濃度が基準酸素濃度に一致するように調節されるので、排ガスが高い浄化率にて浄化される状態が維持される。
【００９５】
機関１０の外部には、機関１０に加速要求および要求トルクなどを入力するためのアクセルペダル６１が設けられている。アクセルペダル６１は、機関１０の操作者によって操作される。
【００９６】
さらに、機関１０は、複数のセンサを備えている。
具体的に述べると、第１装置は、吸入空気量センサ７１、スロットル弁開度センサ７２、カムポジションセンサ７３、クランクポジションセンサ７４、水温センサ７５、上流側酸素濃度センサ７６、下流側酸素濃度センサ７７、および、アクセル開度センサ７８、を備えている。
【００９７】
吸入空気量センサ７１は、吸気通路（吸気管４２）に設けられている。吸入空気量センサ７１は、吸気管４２内を流れる空気の質量流量である吸入空気量（すなわち、機関１０に吸入される空気の質量）に応じた信号を出力するようになっている。この信号に基づき、吸入空気量Gaの測定値が取得される。
【００９８】
スロットル弁開度センサ７２は、スロットル弁４４の近傍に設けられている。スロットル弁開度センサ７２は、スロットル弁４４の開度に応じた信号を出力するようになっている。この信号に基づき、スロットル弁開度TAが取得される。
【００９９】
カムポジションセンサ７３は、可変吸気タイミング装置３３の近傍に設けられている。カムポジションセンサ７３は、インテークカムシャフトが９０°回転する毎に（すなわち、クランクシャフト２４が１８０°回転する毎に）一つのパルスを有する信号を出力するようになっている。この信号に基づき、インテークカムシャフトの回転位置（カムポジション）の測定値が取得される。
【０１００】
クランクポジションセンサ７４は、クランクシャフト２４の近傍に設けられている。クランクポジションセンサ７４は、クランクシャフト２４が１０°回転する毎に幅の狭いパルスを有する信号を出力するとともに、クランクシャフト２４が３６０°回転する毎に幅の広いパルスを有する信号を出力するようになっている。これら信号に基づき、クランクシャフト２４の単位時間あたりの回転数の測定値（以下、単に「機関回転速度NE」とも称呼する。）が取得される。
【０１０１】
水温センサ７５は、シリンダ２１に設けられている冷却水の通路に設けられている。水温センサ７５は、冷却水の温度に応じた信号を出力するようになっている。この信号に基づき、冷却水の温度THWの測定値が取得される。
【０１０２】
上流側酸素濃度センサ７６は、触媒５３の上流側の排気通路（エキゾーストマニホールド５１の集合部の近傍または集合部よりも下流側）に設けられている。上流側酸素濃度センサ７６は、公知の限界電流式の酸素濃度センサである。上流側酸素濃度センサ７６は、触媒５３に導入される排ガスの酸素濃度に応じた信号を出力するようになっている。
【０１０３】
以下、触媒５３に導入される排ガスを「触媒導入ガス」とも称呼する。さらに、排ガスの酸素濃度を「排ガスの空燃比」とも、排ガスの酸素濃度が基準酸素濃度（理論空燃比の混合気が燃焼した際に生じる排ガスの酸素濃度）であることを「排ガスの空燃比が理論空燃比である」とも、称呼する。加えて、以下、理論空燃比よりもリッチ側の空燃比を「リッチ空燃比」とも、理論空燃比よりもリーン側の空燃比を「リーン空燃比」とも、称呼する。
【０１０４】
より具体的に述べると、排ガスの空燃比が「リッチ空燃比」であるとは、排ガスに「排ガスに含まれる未燃物を全て酸化するために必要な量よりも少ない量の酸素」が含まれている状態を表す。一方、排ガスの空燃比が「リーン空燃比」であるとは、排ガスに「排ガスに含まれる未燃物を全て酸化するために必要な量よりも多い量の酸素」が含まれている状態を表す。さらに、排ガスの空燃比が「理論空燃比」であるとは、排ガスに「排ガスに含まれる未燃物を全て酸化するために必要な量の酸素」が含まれている状態を表す。
【０１０５】
この上流側酸素濃度センサ７６は、図２に示すように、排ガスの空燃比に応じた電圧であるVabyfsを出力するようになっている。出力値Vabyfsは、排ガスの空燃比が理論空燃比であるときに値Vstoichに一致する。さらに、排ガスの空燃比が増大するにつれて、出力値Vabyfsは増大する。この出力値Vabyfsに基づき、触媒５３に導入される排ガスの空燃比が取得される。以下、触媒５３に導入される排ガスの空燃比を「触媒上流側空燃比abyfs」とも称呼する。さらに、以下、図２に示す出力値Vabyfsと空燃比A/Fとの関係は「テーブルMapabyfs」とも称呼される。
【０１０６】
再び図１を参照すると、下流側酸素濃度センサ７７は、触媒５３の下流側の排気通路（排気管５２）に設けられている。下流側酸素濃度センサ７７は、公知の起電力式（濃淡電池型）の酸素濃度センサである。
【０１０７】
具体的に述べると、下流側酸素濃度センサ７７は、図３（ａ）に示すように、有底円筒状の固体電解質（素子部）７７ａと、基準電極７７ｂと、検出用電極７７ｃと、カバー７７ｄと、を有している。固体電解質７７ａは、安定化ジルコニアによって構成されている。基準電極７７ｂおよび検側電極７７ｃは、白金によって構成されている。検出用電極７７ｃは、固体電解質７７ａの一方の側に設けられている。基準電極７７ｂは、その基準電極７７ｂと検出側電極７７ｃとの間に固体電解質７７ａが挟まれるように固体電解質７７ａの他方の側に設けられている。さらに、検出用電極７７ｃは、図３（ａ）のＡ部を拡大した図である図３（ｂ）に示すように、拡散抵抗層７７ｅによって被覆されている。拡散抵抗層７７ｅは、多孔質セラミックによって構成されている。
【０１０８】
上記構成を備える下流側酸素濃度センサ７７は、基準電極７７ｂが酸素濃度（酸素分圧）の基準ガスである大気に曝されるとともに、検出用電極７７ｃおよび拡散抵抗層７７ｅがカバー７７ｄに設けられた通気孔を通過した排ガス（触媒５３から流出した排ガス）に曝されるように、排気通路（排気管５２）に設けられている。
【０１０９】
下流側酸素濃度センサ７７は、基準電極７７ｂと検出用電極７７ｃとの間に生じる「大気と排ガスとの間の酸素濃度（酸素分圧）の差に応じた起電力Voxs」を検出し、この起電力Voxsを触媒５３から排出される排ガスの酸素濃度（空燃比）に応じた信号として出力するようになっている。
【０１１０】
図４（ａ）は、下流側酸素濃度センサ７７の出力値Voxsと、触媒排出ガスの空燃比A/Fと、の関係を表す模式図である。この出力値Voxsの「静的」な特性（排ガスの酸素濃度が変化しない場合の特性）は、図４（ａ）における「一点鎖線」によって示すように、排ガスの空燃比が理論空燃比からリッチ側に向けて離れるにつれて最大出力値max（例えば、約０．９Ｖ）に近づき、排ガスの空燃比が理論空燃比からリーン側に向けて離れるにつれて最小出力値min（例えば、約０．１Ｖ）に近づく。なお、排ガスの空燃比が「固定値」としての理論空燃比であるとき、出力値Voxsは、最大出力値maxと最小出力値minとの略中間の電圧である中央値mid（例えば、約０．５Ｖ）となる。なお、この「一点鎖線」に示される出力値は、上述した「静的な値」に対応する。
【０１１１】
これに対し、この出力値Voxsの「動的」な特性（排ガスの酸素濃度が変化する場合の特性）は、排ガスの空燃比を取得する時点よりも前の時点において下流側酸素濃度センサ７７に到達していた排ガスの空燃比の影響を受ける。そのため、排ガスの空燃比が減少するときの出力値Voxsと排ガスの空燃比との関係（図４（ａ）における「破線」を参照。）と、排ガスの空燃比が増大するときの出力値Voxsと排ガスの空燃比との関係（図４（ａ）における「実線」を参照。）と、は相違する。すなわち、下流側酸素濃度センサ７７の出力値Voxsは、ヒステリシスを示す。なお、この「破線」および「実線」によって表される出力値は、上述した「動的な値」に相当する。
【０１１２】
このヒステリシスの影響により、排ガスの空燃比が理論空燃比である時点において、その時点よりも前の時点の排ガスの空燃比がリーン空燃比であれば（すなわち、排ガスの空燃比が減少していれば）、図４（ａ）における「破線」によって示すように、出力値Voxsは中央値midよりも小さい値となる。一方、排ガスの空燃比が理論空燃比である時点において、その時点よりも前の時点における排ガスの空燃比がリッチ空燃比であれば（すなわち、排ガスの空燃比が増大していれば）、図４（ａ）における「実線」によって示すように、出力値Voxsは中央値midよりも大きい値となる。
【０１１３】
さらに、出力値Voxsの動的な特性においても、出力値Voxsは、排ガスの空燃比が理論空燃比からリッチ側に向けて離れるほど最大出力値maxに近づき、かつ、排ガスの空燃比が理論空燃比からリーン側に向けて離れるほど最小出力値minに近づく。
【０１１４】
また、出力値Voxsの静的な特性および動的な特性の双方において、出力値Voxsは、排ガスの空燃比がリッチ空燃比からリーン空燃比へ変化するときに最大出力値maxから最小出力値minへ急変し、排ガスの空燃比がリーン空燃比からリッチ空燃比へ変化するときに最小出力値minから最大出力値maxへ急変する。
【０１１５】
上述した出力値Voxsに基づき、触媒５３から排出される排ガスの空燃比が取得される。以下、触媒５３から排出される排ガスの空燃比を「触媒下流側空燃比oxs」とも称呼する。なお、図４（ａ）に示される低側閾値Lothおよび高側閾値Hithについての説明は、後述される。
【０１１６】
再び図１を参照すると、アクセル開度センサ７８は、アクセルペダル６１に設けられている。アクセル開度センサ７８は、アクセルペダル６１の開度に応じた信号を出力するようになっている。この信号に基づき、アクセルペダル開度Accpが取得される。
【０１１７】
さらに、機関１０は、電子制御装置８０を備えている。
電子制御装置８０は、ＣＰＵ８１、ＣＰＵ８１が実行するプログラム、テーブル（マップ）および定数などをあらかじめ記憶したＲＯＭ８２、ＣＰＵ８１が必要に応じて一時的にデータを格納するＲＡＭ８３、電源が投入された状態でデータを格納すると共に格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ８４、ならびに、ＡＤコンバータを含むインターフェース８５を有する。ＣＰＵ８１、ＲＯＭ８２、ＲＡＭ８３、ＲＡＭ８４およびインターフェース８５は、互いにバスで接続されている。
【０１１８】
インターフェース８５は、上記各センサと接続され、ＣＰＵ８１にそれらセンサから出力される信号を伝えるようになっている。さらに、インターフェース８５は、可変吸気タイミング装置３３のアクチュエータ３３ａ、インジェクタ３４、イグナイタ３９およびスロットル弁アクチュエータ４４ａなどと接続され、ＣＰＵ８１の指示に応じてそれらに指示信号を送るようになっている。
【０１１９】
＜装置の作動の概要＞
以下、機関１０に適用される第１装置の作動の概要について、図５を参照しながら説明する。図５は、第１装置の作動の概要を示す「概略フローチャート」である。
【０１２０】
第１装置は、下流側酸素濃度センサ７７の出力値Voxsがヒステリシスを示すことを考慮しながら、触媒５３が排ガスを効率良く浄化することができる状態が維持されるように、機関１０に供給される混合気の空燃比を制御する。具体的に述べると、第１装置は、所定の時点における出力値Voxsに基づいてヒステリシスの影響（ヒステリシス起因ずれ）が大きいか否かを判定し、ヒステリシス起因ずれの大きさに応じた個別の考え方に従って混合気の空燃比を制御する。以下、便宜上、混合気の空燃比を制御することを「触媒導入ガスの空燃比を制御する」とも称呼する。
【０１２１】
例えば、第１装置は、出力値Voxsが低側閾値Loth以下の値である場合、図５のステップ５１０にて「Ｙｅｓ」と判定してステップ５２０に進み、触媒導入ガスの空燃比を「リッチ空燃比」に制御する。一方、第１装置は、出力値Voxsが高側閾値Hith以上の値である場合、ステップ５１０にて「Ｎｏ」と判定するとともにステップ５３０にて「Ｙｅｓ」と判定してステップ５４０に進み、触媒導入ガスの空燃比を「リーン空燃比」に制御する。
【０１２２】
さらに、第１装置は、出力値Voxsが低側閾値Lothと高側閾値Hithとの間の値である場合、ステップ５１０およびステップ５３０にて「Ｎｏ」と判定してステップ５５０に進む。そして、出力値Voxsの変化率が増大側閾値DIFupthよりも大きければ、第１装置は、ステップ５５０にて「Ｙｅｓ」と判定してステップ５４０に進み、触媒導入ガスの空燃比を「リーン空燃比」に制御する。一方、第１装置は、出力値Voxsの変化率が減少側閾値DIFdownthよりも小さければ、ステップ５５０にて「Ｎｏ」と判定するとともにステップ５６０にて「Ｙｅｓ」と判定してステップ５２０に進み、触媒導入ガスの空燃比を「リッチ空燃比」に制御する。以上が第１装置の作動の概要である。
【０１２３】
＜空燃比制御＞
次いで、第１装置の実際の作動について説明する前に、第１装置における空燃比制御についてより詳細に説明する。
【０１２４】
上述したように、触媒５３は、浄化される対象の排ガスの空燃比が理論空燃比であるとき、その排ガスを効率良く浄化することができる。さらに、触媒５３は、触媒５３に含まれる酸素吸蔵物質の働きにより、触媒導入ガスの空燃比が理論空燃比とは異なる空燃比であっても、排ガスを効率良く浄化し得る。ところが、触媒５３の酸素吸蔵量が所定の最大酸素吸蔵量にまで増大した場合、または、同酸素吸蔵量がゼロにまで減少した場合、酸素吸蔵物質が触媒成分における排ガスの酸素濃度を十分に調整することができなくなるので、排ガスは効率良く浄化されない。そこで、第１装置は、触媒５３の酸素吸蔵量が最大酸素吸蔵量またはゼロである状態が継続されることを出来る限り避けるように、触媒導入ガスの空燃比を制御する。
【０１２５】
具体的に述べると、第１装置における空燃比制御は、触媒上流側空燃比（触媒導入ガスの空燃比）abyfsを上流側目標空燃比abyfrに一致させるための「メインフィードバック制御」、および、下流側酸素濃度センサ７７の出力値Voxs（触媒排出ガスの空燃比に対応。）を下流側目標出力値Voxsrefに一致させるための「サブフィードバック制御」から構成される。
【０１２６】
より具体的に述べると、第１装置は、下記（１）〜（４）に示す処理をこの順に行う。
（１）第１装置は、下流側酸素濃度センサ７７の出力値Voxsにおけるヒステリシス起因ずれの大きさを考慮しながら、「出力値Voxsを下流側目標値Voxsrefに一致させるためのサブフィードバック量Vafsfb」を算出する。
（２）第１装置は、このサブフィードバック量Vafsfbを用いて上流側酸素濃度センサ７６の出力値Vabyfsを補正することにより、フィードバック制御用出力値Vabyfcを算出する。
（３）第１装置は、このフィードバック制御用出力値VabyfcをテーブルMapabyfs（図２を参照。）に適用することにより、フィードバック制御用空燃比（補正検出空燃比）abyfscを算出する。
（４）第１装置は、このフィードバック制御用空燃比abyfscを上流側目標空燃比abyfrに一致させるための「メインフィードバック量DFi」を算出する。さらに、第１装置は、このメインフィードバック量DFiを用いて燃料噴射量Fiを補正する。
【０１２７】
以下、上記サブフィードバック制御および上記メインフィードバック制御をより詳細に説明する。なお、これら制御においては、現時点（時刻k）における所定のパラメータの値と、現時点よりも過去の時点（時刻k−N）における所定のパラメータの値と、が用いられる。以下、特に注釈が付されることなくそれらパラメータの値が記載されている場合、それら値は現時点（時刻k）における値を表す。
【０１２８】
１．サブフィードバック制御
まず、第１装置が行う「サブフィードバック制御」について説明する。
下流側酸素濃度センサ７７の出力値Voxsはヒステリシスを示すので、触媒排出ガスの空燃比が変化するとき、出力値Voxsには「ヒステリシス起因ずれ」が含まれる。一般に、触媒排出ガスの空燃比は固定値ではなく時々刻々と変化する値であるので、ヒステリシスの影響を考慮してサブフィードバック量Vafsfbを算出することが望ましい。これにより、触媒導入ガスの空燃比が適切に制御され得る。
【０１２９】
上述したように、ヒステリシス起因ずれは、「定性的側面に関する第１の特性」および「経時的側面に関する第２の特性」を有すると考えられる。
【０１３０】
第１装置は、上記「第１の特性」に着目することにより、ヒステリシス起因ずれが大きいか否かを判定する。具体的に述べると、図４（ａ）および図４（ａ）のＡ部を拡大した図である図４（ｂ）に示すように、触媒排出ガスの空燃比が理論空燃比の近傍の空燃比af1であるとき（すなわち、出力値Voxsが中央値midの近傍の値Voxs1であるとき）のヒステリシス起因ずれHglargeは、触媒排出ガスの空燃比が理論空燃比から離れた空燃比af2であるとき（すなわち、出力値Voxsが中央値midから離れた値Voxs2であるとき）のヒステリシス起因ずれHgsmallよりも大きい。すなわち、ヒステリシス起因ずれの大きさは、出力値Voxsが中央値mid近傍の値であるときに最も大きく、出力値Voxsが中央値midから離れた値であるほど小さくなる。
【０１３１】
なお、図４（ａ）および図４（ｂ）においては、理論空燃比から離れた空燃比af2としてリーン空燃比が採用されている。しかし、空燃比af2としてリッチ空燃比が採用された場合であっても、上記同様、出力値Voxs1におけるヒステリシス起因ずれHglargeは、出力値Voxs2におけるヒステリシス起因ずれHgsmallよりも大きい。
【０１３２】
そこで、第１装置は、所定の低側閾値Lothおよび所定の高側閾値Hithを採用するとともに、出力値Voxsが「高側閾値Hithと低側閾値Lothとの間の値」であるときにはヒステリシス起因ずれが大きいと判定し、出力値Voxsが「高側閾値Hith以上の値、または、低側閾値Loth以下の値」であるときにはヒステリシス起因ずれが小さいと判定する。
【０１３３】
ここで、第１装置において、上記低側閾値Lothとして、図４（ｃ）に示すように、触媒排出ガスの空燃比が減少するときに（すなわち、出力値Voxsが増大するときに）出力値Voxsが低側閾値Lothである場合の空燃比aflothが、理論空燃比よりもリーン側の空燃比となる値、が採用される。なお、第１装置においては、低側閾値Lothとして、同空燃比aflothが理論空燃比と同一となる値が採用されてもよい。
【０１３４】
さらに、第１装置において、上記高側閾値Hithとして、図４（ｃ）に示すように、触媒排出ガスの空燃比が増大するときに（すなわち、出力値Voxsが減少するときに）出力値Voxsが高側閾値Hithである場合の空燃比afhithが、理論空燃比よりもリッチ側の空燃比となる値、が採用される。なお、第１装置においては、高側閾値Hithとして、同空燃比afhithが理論空燃比と同一となる値が採用されてもよい。
【０１３５】
次いで、第１装置は、上記「第２の特性」に着目することにより、ヒステリシス起因ずれの大きさに応じた個別の考え方に従ってサブフィードバック量Vafsfbを算出する。以下、図６を参照しながら、この考え方を説明する。
【０１３６】
図６は、下流側酸素濃度センサ７７の出力値Voxsが、時間が経過するにつれて最大出力値maxから最小出力値minに変化する様子を表す模式図である。図６における「一点鎖線」は触媒排出ガスの実際の空燃比に対応した出力値（静的な値）の変化を表し、「実線」はヒステリシス起因ずれを含んだ出力値Voxs（動的な値）の変化を表す。図６に示すように、動的な値の変化（実線）は、静的な値の変化（一点鎖線）に対して遅れる。
【０１３７】
ここで、例えば、時刻t1において触媒排出ガスの空燃比が測定された場合、出力値Voxsdyn1は低側閾値Lothと高側閾値Hithとの間の値となる。この場合、第１装置は、上述したように、ヒステリシス起因ずれHglarge（出力値Voxsdyn1と、時刻t1における静的な値である出力値Voxssta1と、の差）が大きいと判定する。
【０１３８】
一方、この場合、出力値Voxsの変化率Δdyn（時刻t1よりも単位時間長さΔtだけ前の時刻t0における出力値Voxsdyn0と、出力値Voxsdyn1と、の差）は、静的な値である出力値の変化率Δsta（時刻t0における静的な値である出力値Voxssta0と、出力値Voxssta1と、の差）と、は大きくは異ならない。このように、下流側酸素濃度センサ７７におけるヒステリシスは、出力値Voxsの遅れに対して影響を与えるものの、出力値Voxsの変化率に対しては実質的な影響を与えないと考えられる。
【０１３９】
そこで、第１装置は、ヒステリシス起因ずれが大きいと判定した場合、「出力値Voxsの変化率」に基づいてサブフィードバック量Vafsfbを算出する。
【０１４０】
これに対し、例えば、時刻t2において空燃比が測定された場合、出力値Voxsdyn2は低側閾値Loth以下の値となる。この場合、第１装置は、上述したように、ヒステリシス起因ずれHgsmall（出力値Voxsdyn2と、時刻t2における静的な値である出力値Voxssta2と、の差）が、時刻t1におけるヒステリシス起因ずれHglargeに比べて十分に小さいと判断する。
【０１４１】
そこで、第１装置は、ヒステリシス起因ずれが小さいと判定した場合、「出力値Voxsそのもの」に基づいてサブフィードバック量Vafsfbを算出する。
【０１４２】
具体的に述べると、第１装置は、下記（１）式に従い、下流側目標出力値Voxsrefから現時点の下流側酸素濃度センサ７７の出力値Voxs（k）を減算することにより、出力偏差量DVoxsを算出する。なお、第１装置においては、下流側目標出力値Voxsrefとして、理論空燃比stoichに対応する値（すなわち、中央値mid）が採用される。
【０１４３】
DVoxs＝Voxsref−Voxs（k）    ・・・（１）
【０１４４】
さらに、第１装置は、下記（２）式に従い、現時点（時刻k）における下流側酸素濃度センサ７７の出力値Voxs（k）から現時点よりもMサイクル前の時点（時刻k−M）における同出力値Voxs（k−M）を減算して得られる値を、上記Mサイクルに要した時間長さΔtmにて除算することにより、出力変化率DIFVoxsを算出する。この出力変化率DIFVoxsは、上記「出力値Voxsの変化率」に相当する。なお、時間長さΔtmは、図６における単位時間長さΔtに相当する。
【０１４５】
DIFVoxs＝｛Voxs（k）−Voxs（k−M）｝／Δtm    ・・・（２）
【０１４６】
次いで、第１装置は、出力値Voxs（k）が高側閾値Hithと低側閾値Lothとの間の値である場合、下記（３）式および下記（４）式に従い、サブフィードバック量Vafsfbの比例項SPおよび微分項SDを決定（算出）する。下記（４）式において、Kdはあらかじめ設定された微分ゲインを表す。微分ゲインKdは、「負の値」である。よって、出力変化率DIFVoxsが正の値であり且つ大きくなるほど（排ガスの空燃比がリッチ側に向かって急激に変化するほど）微分項SDは小さくなり、出力変化率DIFVoxsが負の値であり且つ小さくなるほど（排ガスの空燃比がリーン側に向かって急激に変化するほど）微分項SDは大きくなる。ただし、出力変化率DIFVoxsが減少側閾値DIFdownth以上である場合、または、出力変化率DIFVoxsが増大側閾値DIFupth以下である場合、微分項SDはゼロに設定される。
【０１４７】
SP＝０    ・・・（３）
SD＝Kd・DIFVoxs（if  DIFVoxs＜DIFdownth  or  DIFVoxs＞DIFupth）
＝０            （if  DIFdownth≦DIFVoxs≦DIFupth）    ・・・（４）
【０１４８】
これに対し、第１装置は、出力値Voxs（k）が高側閾値Hith以上である場合、または、出力値Voxs（k）が所定の低側閾値Loth以下である場合、下記（５）式および下記（６）式に従い、サブフィードバック量Vafsfbの比例項SPおよび微分項SDを算出する。下記（５）式において、Kpはあらかじめ設定された比例ゲインを表す。比例ゲインKpは、「正の値」である。よって、出力偏差量DVoxsが正の値であり且つ大きくなるほど（出力値Voxsが中央値midからリーン側に離れるほど）比例項SPは大きくなり、出力偏差量DVoxsが負の値であり且つ小さくなるほど（出力値Voxsが中央値midからリッチ側に離れるほど）比例項SPは小さくなる。
【０１４９】
SP＝Kp・DVoxs    ・・・（５）
SD＝０    ・・・（６）
【０１５０】
そして、第１装置は、下記（７）式に従い、比例項SPに微分項SDを加算することにより、サブフィードバック量Vafsfbを算出する。
【０１５１】
Vafsfb＝SP＋SD    ・・・（７）
【０１５２】
上記（３）式および上記（４）式に示すように、第１装置は、出力値Voxs（k）が低側閾値Lothと高側閾値Hithとの間の値である場合（すなわち、ヒステリシス起因ずれが大きいと判定される場合）、「微分項SDのみ」をサブフィードバック量Vafsfbとして採用する。これにより、出力変化率DIFVoxsの大きさに応じて（すなわち、出力値Voxsの変化率に基づいて）サブフィードバック量Vafsfbが算出される。
【０１５３】
これに対し、上記（５）式および上記（６）式に示すように、第１装置は、出力値Voxs（k）が高側閾値Hith以上である場合、または、出力値Voxs（k）が所定の低側閾値Loth以下である場合（すなわち、ヒステリシス起因ずれが小さいと判定される場合）、「比例項SPのみ」をサブフィードバック量Vafsfbとして採用する。これにより、出力偏差量DVoxsの大きさに応じて（すなわち、出力値Voxsに基づいて）サブフィードバック量Vafsfbが算出される。
【０１５４】
このように、第１装置は、比例微分制御の考え方に準じてサブフィードバック量Vafsfbを算出する。なお、第１装置は、上記（７）式に積分項を加えた比例微分積分制御（PID制御）によってサブフィードバック量Vafsfbを算出するように構成されてもよい。以上が第１装置が行うサブフィードバック制御である。
【０１５５】
２．メインフィードバック制御
次いで、第１装置が行う「メインフィードバック制御」について説明する。
第１装置は、下記（８）式に従い、上流側酸素濃度センサ７６の出力値Vabyfsにサブフィードバック量Vafsfbを加算することにより、フィードバック制御用出力値Vabyfcを算出する。
【０１５６】
Vabyfc＝Vabyfs＋Vafsfb    ・・・（８）
【０１５７】
次いで、第１装置は、下記（９）式に従い、上記フィードバック制御用出力値VabyfcをテーブルMapabyfs（図２を参照。）に適用することにより、フィードバック制御用空燃比abyfscを決定する。
【０１５８】
abyfsc＝Mapabyfs（Vabyfc）    ・・・（９）
【０１５９】
次いで、第１装置は、下記（１０）式に従い、現時点（時刻k）にて気筒内に吸入される空気の量である筒内吸入空気量Mc（k）を現時点（時刻k）における上流側目標空燃比abyfr（k）によって除算することにより、基本燃料噴射量Fbaseを算出する。上流側目標空燃比abyfr（k）の算出方法は後述される。
【０１６０】
Fbase＝Mc（k）／abyfr（k）    ・・・（１０）
【０１６１】
上記筒内吸入空気量Mcは、各気筒において吸気行程が行われる毎に、その時点の吸入空気量Gaと機関回転速度NEとに基づいて算出される。例えば、筒内吸入空気量Mcは、吸入空気量Gaに対して一次遅れ処理を施した値を機関回転速度NEで除算することによって算出される。この筒内吸入空気量Mcは、吸気行程が行われる各時点（時刻k−N、・・・、時刻k−1、時刻k、時刻k＋1、・・・）と関連付けられたデータとして、ＲＡＭ８３内に格納される。なお、筒内吸入空気量Mcは、公知の吸入空気量モデル（吸気通路における空気の挙動を模して構築されたモデル）によって算出されてもよい。
【０１６２】
次いで、第１装置は、下記（１１）式に従い、上記基本燃料噴射量Fbaseをメインフィードバック量DFiによって補正する（基本燃料噴射量Fbaseにメインフィードバック量DFiを加える）ことにより、最終燃料噴射量Fiを算出する。そして、第１装置は、最終燃料噴射量Fiだけの燃料を吸気行程が行われる気筒のインジェクタ３４から噴射させる。メインフィードバック量DFiの算出方法は後述される。
【０１６３】
Fi＝Fbase＋DFi    ・・・（１１）
【０１６４】
上記（１１）式におけるメインフィードバック量DFiは、以下のように算出される。
まず、第１装置は、下記（１２）式に従い、現時点よりもNサイクル前の時点（時刻k−N）における筒内吸入空気量Mc（k−N）を上記フィードバック制御用空燃比（補正検出空燃比）abyfscにて除算することにより、現時点よりもNサイクル前の時点において燃焼室２５に供給された燃料の量である「筒内燃料供給量Fc（k−N）」を算出する。
【０１６５】
Fc（k−N）＝Mc（k−N）／abyfsc    ・・・（１２）
【０１６６】
なお、上記（１２）式においては、現時点からNサイクル前の筒内吸入空気量Mc（k−N）を（現時点における）フィードバック制御用空燃比abyfscで除算することにより、現時点からNサイクル前の筒内燃料供給量Fc（k−N）を算出している。これは、燃焼室２５内で燃焼された混合気が上流側酸素濃度センサ７６に到達するまでにNサイクルに相当する時間を要するからである。
【０１６７】
次いで、第１装置は、下記（１３）式に従い、現時点からNサイクル前の筒内吸入空気量Mc（k−N）を現時点からNサイクル前の上流側目標空燃比abyfr（k−N）で除算することにより、現時点からNサイクル前の「目標筒内燃料供給量Fcr（k−N）」を算出する。なお、第１装置においては、上流側目標空燃比abyfrとして、理論空燃比stoichが採用される。
【０１６８】
Fcr（k−N）＝Mc（k−N）／abyfr（k−N）    ・・・（１３）
【０１６９】
次いで、第１装置は、下記（１４）式に従い、現時点からNサイクル前の目標筒内燃料供給量Fcr（k−N）から筒内燃料供給量Fc（k−N）を減算することにより、「筒内燃料供給量偏差DFc」を算出する。この筒内燃料供給量偏差DFcは、「Nサイクル前の時点で筒内に供給された燃料の過不足分」を表す。
【０１７０】
DFc＝Fcr（k−N）−Fc（k−N）    ・・・（１４）
【０１７１】
次いで、第１装置は、下記（１５）式に従い、メインフィードバック量DFiを算出する。下記（１５）式において、Gpはあらかじめ設定された比例ゲインを、Giはあらかじめ設定された積分ゲインを、KFBは所定の係数を、SDFcは筒内燃料供給量偏差DFcの積分値を、表す。比例ゲインGp、積分ゲインGiおよび係数KFBは、正の値である。よって、筒内燃料供給量偏差DFcおよび積分値SDFcが正の値であり且つ大きくなるほど（筒内に供給された燃料の不足量が大きいほど）メインフィードバック量DFiは大きくなる。
【０１７２】
DFi＝（Gp・DFc＋Gi・SDFc）・KFB    ・・・（１５）
【０１７３】
上記（１４）式および上記（１５）式に示すように、第１装置は、サブフィードバック量Vafsfbによって補正されたフィードバック制御用空燃比abyfscと、上流側目標空燃比abyfrと、に基づく比例積分制御によってメインフィードバック量DFiを算出する。このメインフィードバック量DFiは、上記（１１）式に示すように基本燃料噴射量Fbaseに加算される。これにより、最終燃料噴射量Fiが算出される。
【０１７４】
なお、第１装置は、上記（１５）式に微分項を加えた比例微分積分制御（PID制御）によってメインフィードバック量DFiを算出するように構成されてもよい。以上が第１装置が行うメインフィードバック制御である。
【０１７５】
３．空燃比制御の総括
上述したように、第１装置は、上流側酸素濃度センサ７６の出力値Vabyfsにサブフィードバック量Vafsfbを加算することによって出力値Vabyfsを補正し、この補正によって得られたフィードバック制御用出力値Vabyfc（＝Vabyfs＋Vafsfb）に基づいてフィードバック制御用空燃比abyfscを算出する。そして、第１装置は、算出されたフィードバック制御用空燃比abyfscと、上流側目標空燃比abyfrと、が一致するように、燃料噴射量Fiを算出する。
【０１７６】
これにより、上流側空燃比（触媒導入ガスの空燃比）abyfsが上流側目標空燃比abyfrに近づくとともに、下流側酸素濃度センサ７７の出力値Voxsが下流側目標出力値Voxsrefに近づく。さらに、触媒５３の酸素吸蔵量が最大酸素吸蔵量に十分に近い量またはゼロに十分に近い量になったと判断し得る程度に触媒下流側空燃比oxsが変化すると、その変化に応じたサブフィードバック量Vafsfbがヒステリシスの影響を考慮しながら算出される。よって、触媒５３の酸素吸蔵量が最大酸素吸蔵量またはゼロである状態が継続されることが防がれる。以上が第１装置が行う空燃比制御である。
【０１７７】
＜実際の作動＞
以下、第１装置の実際の作動について説明する。
第１装置において、ＣＰＵ８１は、図７〜図１１にフローチャートによって示した各ルーチンを所定のタイミング毎に繰り返し実行するようになっている。以下、ＣＰＵ８１が実行する各ルーチンについて説明する。
【０１７８】
ＣＰＵ８１は、機関１０が始動されると、所定時間が経過する毎に、図７にフローチャートによって示した「触媒温度推定ルーチン」を繰り返し実行するようになっている。ＣＰＵ８１は、このルーチンにより、触媒の温度TempCを取得する。
【０１７９】
具体的に述べると、ＣＰＵ８１は、所定のタイミングにて図７のステップ７００から処理を開始してステップ７１０に進み、現時点が機関１０の始動直後であるか否かを判定する。現時点が機関１０の始動直後であれば、ＣＰＵ８１は、ステップ７１０にて「Ｙｅｓ」と判定してステップ７２０に進む。ここで、「現時点が機関１０の始動直後である」と仮定して、説明を続ける。
【０１８０】
上記仮定に従うと、ＣＰＵ８１は、ステップ７２０に進む。ＣＰＵ８１は、ステップ７２０にて、「始動時冷却水温THWSと、触媒温度TempCと、の関係」をあらかじめ定めた始動時触媒温度推定関数f（THWS）に、現時点における冷却水温THWSを適用することにより、現時点における触媒の温度TempCを取得（推定）する。
【０１８１】
始動時触媒温度推定関数f（TWS）において、触媒の温度TempCは、始動時冷却水温THWSが増大するにつれて増大するように定められる。
【０１８２】
次いで、ＣＰＵ８１は、ステップ７３０に進む。ＣＰＵ８１は、ステップ７３０にて、「筒内吸入空気量Mcと、機関回転速度NEと、排気温度Texと、の関係」をあらかじめ定めた排気温度テーブルMapTex（Mc，NE）に現時点における筒内吸入空気量Mcおよび機関回転速度NEを適用することにより、現時点における排気温度Texを取得（推定）する。
【０１８３】
次いで、ＣＰＵ８１はステップ７４０に進む。ＣＰＵ８１は、ステップ７４０にて、下記（１６）式に従って触媒の温度TempCを更新・取得する。下記（１６）式において、αは０よりも大きく且つ１よりも小さい定数を、TempC（k）は更新される前の触媒の温度TempCを、TempC（k+1）は更新された後の触媒の温度TempCを、表す。
【０１８４】
TempC（k+1）＝α・TempC（k）＋（1−α）・Tex    ・・・（１６）
【０１８５】
ステップ７４０の処理を実行した後、ＣＰＵ８１は、ステップ７９５に進んで本ルーチンを一旦終了する。なお、現時点が機関１０の始動直後ではない場合、ＣＰＵ８１は、ステップ７１０にて「Ｎｏ」と判定してステップ７３０に直接進む。よって、機関１０が始動されてから十分な時間が経過すると、ＣＰＵ８１は、ステップ７２０の処理を行うことなく触媒の温度TempCを取得する。
【０１８６】
さらに、ＣＰＵ８１は、任意の気筒のクランク角度が吸気行程前の所定クランク角度（例えば、排気上死点前９０度クランク角）θｆに一致する毎に、図８にフローチャートによって示した「燃料噴射制御ルーチン」を繰り返し実行するようになっている。ＣＰＵ８１は、このルーチンにより、最終燃料噴射量Fiを決定するとともに、その最終燃料噴射量Fiだけの燃料をインジェクタ３４から噴射させる。以下、便宜上、クランク角が上記所定クランク角θｆに一致する吸気行程前の気筒を、「燃料噴射気筒」とも称呼する。
【０１８７】
具体的に述べると、ＣＰＵ８１は、所定のタイミングにて図８のステップ８００から処理を開始してステップ８１０に進み、ステップ８１０にて、上流側目標空燃比abyfr（k）に「理論空燃比stoich」を格納する。次いで、ＣＰＵ８１は、ステップ８１０に続くステップ８２０〜ステップ８４０の処理を順に実行する。ステップ８２０〜ステップ８４０にて実行される処理は、以下の通りである。
【０１８８】
ステップ８２０：ＣＰＵ８１は、吸入空気量Gaと機関回転速度NEとに基づき、燃料噴射気筒に吸入される空気の量である筒内吸入空気量Mc（k）を取得する。
ステップ８３０：ＣＰＵ８１は、上記（１０）式に従い、基本燃料噴射量Fbaseを算出する。
ステップ８４０：ＣＰＵ８１は、上記（１１）式に従い、基本燃料噴射量Fbaseをメインフィードバック量DFiによって補正することにより、最終燃料噴射量Fiを算出する。
【０１８９】
ステップ８４０の処理を実行した後、ＣＰＵ８１は、ステップ８５０に進み、「燃料噴射量をゼロとするフューエルカット制御を行い得る条件（フューエルカット制御条件）」が成立しているか否かを判定する。より具体的に述べると、ＣＰＵ８１は、ステップ８５０にて、下記条件ａ−１およびａ−２の双方が成立したとき、フューエルカット制御条件が成立すると判定する。換言すると、ＣＰＵ８１は、下記条件ａ−１およびａ−２のうちの少なくとも一方が成立しないとき、フューエルカット制御条件が成立しないと判定する。
【０１９０】
（条件ａ−１）アクセルペダル開度Accpがゼロである、または、スロットル弁開度TAがゼロである。
（条件ａ−２）機関回転速度NEが所定の閾値以上である。
【０１９１】
条件ａ−１は、機関１０に要求されているトルクの大きさが十分に小さいか否かを判断するために設けられている条件である。条件ａ−２に係る所定の閾値は、燃料噴射量がゼロであっても機関１０の運転が継続され得ると判断し得る適値に設定される。よって、例えば、機関１０に対して加速要求が発せられている期間において、上記フィードバック制御条件は成立しない。
【０１９２】
現時点においてフィードバック制御条件が「成立しない」場合、ＣＰＵ８１は、ステップ８５０にて「Ｎｏ」と判定してステップ８６０に進む。ＣＰＵ８１は、ステップ８６０にて、最終燃料噴射量Fiの燃料を噴射するよう燃料噴射気筒に設けられているインジェクタ３４に指示を与える。その後、ＣＰＵ８１は、ステップ８９５に進んで本ルーチンを一旦終了する。
【０１９３】
これにより、上述した各処理によって算出された最終燃料噴射量Fiだけの燃料が燃料噴射気筒に噴射される。
【０１９４】
これに対し、現時点においてフィードバック制御条件が「成立する」場合、ＣＰＵ８１は、ステップ８５０にて「Ｙｅｓ」と判定してステップ８７０に進む。ＣＰＵ８１は、ステップ８７０にて最終燃料噴射量Fiの値にゼロを格納する。次いで、ＣＰＵ８１は、ステップ８６０に進み、最終燃料噴射量Fiの燃料を噴射するよう燃料噴射気筒に設けられているインジェクタ３４に指示を与える。その後、ＣＰＵ８１は、ステップ８９５に進んで本ルーチンを一旦終了する。これにより、燃料は燃料噴射気筒に噴射されない。すなわち、燃料噴射量がゼロであるフューエルカット運転が実行される。
【０１９５】
さらに、ＣＰＵ８１は、任意の気筒のクランク角度が吸気行程前の所定クランク角度θｇに一致する毎に、図９にフローチャートによって示した「メインフィードバック量算出ルーチン」を繰り返し実行するようになっている。ＣＰＵ８１は、このルーチンにより、メインフィードバック量DFiを算出する。
【０１９６】
具体的に述べると、ＣＰＵ８１は、所定のタイミングにて図９のステップ９００から処理を開始してステップ９０５に進み、「触媒上流側空燃比abyfsを上流側目標空燃比abyfrに一致させるフィードバック制御を行い得る条件（メインフィードバック制御条件）」が成立しているか否かを判定する。より具体的に述べると、ＣＰＵ８１は、ステップ９０５にて、下記条件ｂ−１〜ｂ−５の全てが成立したとき、メインフィードバック制御条件が成立すると判定する。換言すると、ＣＰＵ８１は、下記条件ｂ−１〜ｂ−５のうちの少なくとも１つが成立しないとき、メインフィードバック制御条件が成立しないと判定する。
【０１９７】
（条件ｂ−１）触媒の温度TempCが所定の閾値以上である。
（条件ｂ−２）冷却水温THWが所定の閾値以上である。
（条件ｂ−３）吸入空気量Gaが所定の閾値以下ある。
（条件ｂ−４）上流側酸素濃度センサ７６が活性化している。
（条件ｂ−５）フューエルカット運転が実行中ではない。
【０１９８】
条件ｂ−１に係る所定の閾値は、触媒５３が活性化していると判断し得る適値に設定される。条件ｂ−２に係る所定の閾値は、機関１０の暖機が完了していると判断し得る適値に設定される。条件ｂ−３に係る所定の閾値は、機関１０の負荷が過大ではないと判断し得る適値に設定される。条件ｂ−４は、メインフィードバック制御にて上流側酸素濃度センサ７６の出力値Vabyfsが用いられるために設けられている条件である。条件ｂ−５は、フューエルカット運転中は燃料噴射量を変化させることができないために設けられている条件である。よって、例えば、機関１０が暖機運転されている期間中およびフューエルカット運転が実行されている期間中などにおいては、上記メインフィードバック制御条件は成立しない。
【０１９９】
現時点においてメインフィードバック制御条件が「成立しない」場合、ＣＰＵ８１は、ステップ９０５にて「Ｎｏ」と判定してステップ９１０に進む。ＣＰＵ８１は、ステップ９１０にて、メインフィードバック量DFiにゼロを格納する。
【０２００】
次いで、ＣＰＵ８１は、ステップ９１５に進む。ＣＰＵ８１は、ステップ９１５にて、筒内燃料供給量偏差DFcの積分値SDFc（上記（１４）式および上記（１５）式を参照。）にゼロを格納する。その後、ＣＰＵ８１は、ステップ９９５に進んで本ルーチンを一旦終了する。
【０２０１】
このように、メインフィードバック制御条件が「成立しない」場合、メインフィードバック量DFiはゼロに設定される。そのため、この場合、上述した「メインフィードバック量DFiによる基本燃料噴射量Fbaseの補正」は行われない（図８のステップ８４０を参照。）。
【０２０２】
次いで、ＣＰＵ８１は、任意の気筒のクランク角度が吸気行程前の所定クランク角度θｈに一致する毎に、図１０にフローチャートによって示した「サブフィードバック量算出ルーチン」を繰り返し実行するようになっている。ＣＰＵ８１は、このルーチンにより、サブフィードバック量Vafsfbを算出する。
【０２０３】
具体的に述べると、ＣＰＵ８１は、所定のタイミングにて図１０のステップ１０００から処理を開始してステップ１０１０に進み、「下流側酸素濃度センサ７７の出力値Voxsを下流側目標出力値Voxsrefに一致させるサブフィードバック制御を行い得る条件（サブフィードバック制御条件）」が成立しているか否かを判定する。より具体的に述べると、ＣＰＵ８１は、ステップ１０１０にて、下記条件ｃ−１〜ｃ−３の全てが成立したとき、サブフィードバック制御条件が成立すると判定する。換言すると、ＣＰＵ８１は、下記条件ｃ−１〜ｃ−３のうちの少なくとも１つが成立しないとき、サブフィードバック制御条件が成立しないと判定する。
【０２０４】
（条件ｃ−１）上記メインフィードバック条件が成立している。
（条件ｃ−２）上流側目標空燃比abyfrが理論空燃比stoichに設定されている。
（条件ｃ−３）下流側酸素濃度センサ７７が活性化している。
【０２０５】
条件ｃ−１および条件ｃ−２は、サブフィードバック制御は上記メインフィードバック制御と並行して実行される制御であるために設けられている条件である。条件ｃ−３は、サブフィードバック制御にて下流側酸素濃度センサ７７の出力値Voxsが用いられるために設けられている条件である。よって、例えば、機関１０が暖機運転されている期間中およびフューエルカット運転が実行されている期間中などにおいては、上記サブフィードバック制御条件は成立しない。
【０２０６】
上述したように現時点においてメインフィードバック制御条件が成立していないので、サブフィードバック制御条件は「成立しない」（条件ｃ−１を参照。）。そのため、ＣＰＵ８１は、ステップ１０１０にて「Ｎｏ」と判定してステップ１０２０に進む。ＣＰＵ８１は、ステップ１０２０にて、サブフィードバック量Vafsfbにゼロを格納する。その後、ＣＰＵ８１は、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０２０７】
このように、サブフィードバック制御条件が「成立しない」場合、サブフィードバック量Vafsfbはゼロに設定される。そのため、この場合、後述する「サブフィードバック量Vafsfbによる上流側酸素濃度センサ７６の出力値Vabyfsの補正」は行われない（図９のステップ９２０を参照。）。
【０２０８】
したがって、現時点においてメインフィードバック制御条件が「成立しない」場合、メインフィードバック量DFiがゼロに設定されるとともに、サブフィードバック量Vafsfbがゼロに設定される。そのため、吸入空気量Ga、機関回転速度NEおよび上流側目標空燃比abyfrに基づいて定められる基本燃料噴射量Fbaseの燃料が、燃料噴射気筒に噴射される（図８のステップ８２０〜ステップ８６０を参照。）。
【０２０９】
これに対し、現時点においてメインフィードバック制御条件が「成立する」場合、ＣＰＵ８１は、図９のステップ９００から処理を開始してステップ９０５に進むと、ステップ９０５にて「Ｙｅｓ」と判定する。次いで、ＣＰＵ８１は、ステップ９０５に続くステップ９２０〜ステップ９５０の処理をこの順に実行する。ステップ９２０〜ステップ９５０にて実行される処理は、以下の通りである。
【０２１０】
ステップ９２０：ＣＰＵ８１は、上記（８）式に従い、フィードバック制御用出力値Vabyfcを算出する。
ステップ９２５：ＣＰＵ８１は、上記（９）式に従い、フィードバック制御用空燃比abyfscを決定する。
ステップ９３０：ＣＰＵ８１は、上記（１２）式に従い、現時点よりもNサイクル前の時点における筒内燃料供給量Fc（k−N）を算出する。
ステップ９３５：ＣＰＵ８１は、上記（１３）式に従い、現時点よりもNサイクル前の時点における目標筒内燃料供給量Fcr（k−N）を算出する。
ステップ９４０：ＣＰＵ８１は、上記（１４）式に従い、筒内燃料供給量偏差DFcを算出する。
ステップ９４５：ＣＰＵ８１は、上記（１５）式に従い、メインフィードバック量DFiを算出する。第１装置においては、係数KFBとして「１」が採用される。なお、筒内燃料供給量偏差DFcの積分値SDFcは、現時点までの筒内燃料供給量偏差DFcの値が積算された値である（下記ステップ９５０を参照。）。
ステップ９５０：ＣＰＵ８１は、現時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ９４０にて取得された筒内燃料供給量偏差DFcを加算することにより、新たな筒内燃料供給量偏差の積分値SDFcを算出（更新）する。
【０２１１】
ステップ９５０の処理を実行した後、ＣＰＵ８１は、ステップ９９５に進んで本ルーチンを一旦終了する。
【０２１２】
上述した各処理により、メインフィードバック量DFiが比例積分制御により算出される（ステップ９４５を参照。）。そして、このメインフィードバック量DFiを用いて最終燃料噴射量Fiが補正される（図８のステップ８４０を参照。）。
【０２１３】
さらに、ＣＰＵ８１は、所定のタイミングにて図１０のステップ１０００から処理を開始すると、ステップ１０１０に進む。現時点にてサブフィードバック制御条件が「成立しない」場合、上記同様、ＣＰＵ８１は、ステップ１０１０にて「Ｎｏ」と判定し、ステップ１０２０およびステップ１０３０を経由してステップ１０９５に進み、本ルーチンを一旦終了する。これにより、サブフィードバック量Vafsfbはゼロに設定される。
【０２１４】
これに対し、現時点にてサブフィードバック制御条件が「成立する」場合、ＣＰＵ８１は、ステップ１０１０にて「Ｙｅｓ」と判定してステップ１０３０に進む。以下、現時点にてサブフィードバック制御条件が「成立する」と仮定して説明を続ける。
【０２１５】
上記仮定に従うと、ＣＰＵ８１は、ステップ１０１０に続くステップ１０３０〜ステップ１０５０の処理をこの順に実行する。ステップ１０３０〜ステップ１０５０にて実行される処理は、以下の通りである。
【０２１６】
ステップ１０３０：ＣＰＵ８１は、サブルーチンとしての図１１に示す「比例項・微分項算出ルーチン」を実行することにより、サブフィードバック量Vafsfbの比例項SPおよび微分項SDを算出する。このサブルーチンについての説明は、後述される。
ステップ１０４０：ＣＰＵ８１は、上記（７）式に従い、サブフィードバック量Vafsfbを算出する。
ステップ１０５０：ＣＰＵ８１は、現時点における下流側酸素濃度センサ７７の出力値Voxsを前回出力値Voxsoldに格納することにより、前回出力値Voxsoldを算出（更新）する。
【０２１７】
ステップ１０５０の処理を実行した後、ＣＰＵ８１は、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０２１８】
上述した各処理により、サブフィードバック量Vafsfbが比例微分制御の考え方に準じて算出される（ステップ１０４０を参照。）。そして、このサブフィードバック量Vafsfbを用いて上流側酸素濃度センサ７６の出力値Vabyfsが補正される（図９のステップ９２０を参照。）。さらに、補正されたフィードバック制御用出力値Vabyfcに基づいてメインフィードバック量DFiが算出されるとともに（図９のステップ９４５を参照。）、このメインフィードバック量DFiを用いて最終燃料噴射量Fiが補正される（図８のステップ８４０を参照。）。
【０２１９】
次いで、上記ステップ１０３０における、比例項SPおよび微分項SDを算出するためのサブルーチンについて説明する。ＣＰＵ８１は、図１０のステップ１０３０に進んだとき、図１１にフローチャートよって示した「比例項・微分項算出ルーチン」を実行するようになっている。ＣＰＵ８１は、このルーチンにより、比例項SPおよび微分項SDを算出する。
【０２２０】
具体的に述べると、ＣＰＵ８１は、図１１のステップ１１００から処理を開始すると、ステップ１１１０に進む。ＣＰＵ８１は、ステップ１１１０にて、下流側目標空燃比Voxsrefに「中央値mid（理論空燃比stoichに相当する値）」を格納する。次いで、ＣＰＵ８１は、ステップ１１１０に続くステップ１１２０〜ステップ１１５０の処理をこの順に実行する。ステップ１１２０〜ステップ１１５０にて実行される処理は、以下の通りである。
【０２２１】
ステップ１１２０：ＣＰＵ８１は、上記（１）式に従い、出力偏差量DVoxsを算出する。本ステップにおいて、出力値Voxsは、上記（１）式における「現時点における出力値Voxs（k）」に相当する。
ステップ１１３０：ＣＰＵ８１は、上記（２）式に従い、出力変化率DIFVoxsを算出する。本ステップにおいて、出力値Voxsは上記（２）式における「現時点における出力値Voxs（k）」に相当し、前回出力値Voxsoldは同式における「現時点よりもMサイクル前の時点における出力値Voxs（k−M）」に相当する。さらに、本ステップにおいて、同式におけるMサイクルは「１サイクル」であり、同式における時間長さΔtmは「本ルーチンが前回実行された時点から今回実行される時点までの時間長さ」である。第１装置においては、処理が容易になるように、１サイクルに要する時間長さ（Δtm）は単位時間長さ（すなわち、１）とみなされる。
ステップ１１４０：ＣＰＵ８１は、上記（５）式に従い、比例項SPを算出する。なお、上述したように、比例ゲインKpは、あらかじめ定められた「正の値」である。
ステップ１１５０：ＣＰＵ８１は、上記（４）式に従い、微分項SDを算出する。なお、上述したように、微分ゲインKdは、あらかじめ定められた「負の値」である。
【０２２２】
ステップ１１５０の処理を実行した後、ＣＰＵ８１は、ステップ１１６０に進む。ＣＰＵ８１は、ステップ１１６０にて、下流側酸素濃度センサ７７の出力値Voxsが低側閾値Loth以下であること、および、同出力値Voxsが高側閾値Hith以上であること、のいずれか一方が満たされるか否かを判定する。
【０２２３】
ここで、第１装置が実行する運転を以下の２つの場合に場合を分けて説明する。
（場合１）現時点の下流側酸素濃度センサ７７の出力値Voxsが低側閾値Loth以下である場合、または、同出力値Voxsが高側閾値Hith以上である場合
（場合２）現時点の下流側酸素濃度センサ７７の出力値Voxsが低側閾値Lothと高側閾値Hithとの間の値である場合
以下、説明を続ける。
【０２２４】
（場合１）現時点の下流側酸素濃度センサ７７の出力値Voxsが低側閾値Loth以下である場合、または、同出力値Voxsが高側閾値Hith以上である場合
この場合、上述したように、出力値Voxsのヒステリシス起因ずれは「小さい」と考えられる。そこで、ＣＰＵ８１は、「比例項SPのみ」に基づいてサブフィードバック量Vafsfbを算出する。具体的に述べると、ＣＰＵ８１は、ステップ１１６０にて「Ｙｅｓ」と判定し、ステップ１１７０に進む。
【０２２５】
ＣＰＵ８１は、ステップ１１７０にて、微分項SDの値にゼロを格納する。その後、ＣＰＵ８１は、ステップ１１９５を経由して図１０のステップ１０４０に進む。
【０２２６】
再び図１０を参照すると、ＣＰＵ８１は、ステップ１０４０にてサブフィードバック量Vafsfbを算出する。この場合１において、比例項SPは図１１のルーチンにて算出された値（ステップ１１４０を参照。）であり、微分項SDはゼロである（ステップ１１７０を参照。）。よって、サブフィードバック量Vafsfbは「比例項SPのみ」を含む。
【０２２７】
その後、ＣＰＵ８１は、ステップ１０５０を経由してステップ１０９５に進み、本ルーチンを一旦終了する。
【０２２８】
さらに、ＣＰＵ８１は、所定のタイミングにて図８および図９のルーチンを実行することにより、上記サブフィードバック量Vafsfbが適用されたメインフィードバック量DFiを用いて最終燃料噴射量Fiを補正する（図９のステップ９２０および図８のステップ８４０を参照。）。
【０２２９】
より具体的に述べると、出力値Voxsが高側閾値Hith以上である場合、比例項SPおよびサブフィードバック量Vafsfbは負の値に設定される（図１１のステップ１１４０および図１０のステップ１０４０を参照。）。これにより、メインフィードバック量DFiは、上記サブフィードバック制御がなされない場合（サブフィードバック量Vafsfbがゼロである場合）に比べて小さい値となる（図９のステップ９２０〜ステップ９４５を参照。）。この結果、最終燃料噴射量Fiは、上記サブフィードバック制御がなされない場合に比べて減少する。すなわち、この場合、触媒上流側空燃比abyfsは、リーン空燃比となるように制御される。
【０２３０】
一方、出力値Voxsが低側閾値Loth以下である場合、比例項SPおよびサブフィードバック量Vafsfbは正の値に設定される。これにより、メインフィードバック量DFiは、上記サブフィードバック制御がなされない場合に比べて大きい値となる。この結果、最終燃料噴射量Fiは、上記サブフィードバック制御がなされない場合に比べて増大する。すなわち、この場合、触媒上流側空燃比abyfsは、リッチ空燃比となるように制御される。
【０２３１】
このように、下流側酸素濃度センサ７７の出力値Voxsが低側閾値Loth以下である場合、または、同出力値Voxsが高側閾値Hith以上である場合、「比例項SPのみ」に基づいてサブフィードバック量Vafsfbが算出される。さらに、出力値Voxsが高側閾値Hith以上であれば（すなわち、触媒下流側空燃比oxsがリッチ空燃比であれば）触媒上流側空燃比abyfsはリーン空燃比となるように制御され、出力値Voxsが低側閾値Loth以下であれば（すなわち、触媒下流側空燃比oxsがリーン空燃比であれば）触媒上流側空燃比abyfsはリッチ空燃比となるように制御される。
【０２３２】
（場合２）現時点の下流側酸素濃度センサ７７の出力値Voxsが低側閾値Lothと高側閾値Hithとの間の値である場合
この場合、上述したように、出力値Voxsのヒステリシス起因ずれは「大きい」と考えられる。そこで、ＣＰＵ８１は、「微分項SDのみ」に基づいてサブフィードバック量Vafsfbを算出する。具体的に述べると、ＣＰＵ８１は、ステップ１１６０にて「Ｎｏ」と判定し、ステップ１１８０に進む。
【０２３３】
ＣＰＵ８１は、ステップ１１８０にて、比例項SPの値にゼロを格納する。次いで、ＣＰＵ８１は、ステップ１１９０に進む。
【０２３４】
ＣＰＵ８１は、ステップ１１９０にて、下流側酸素濃度センサ７７の出力変化率DIFVoxsが減少側閾値DIFdownthよりも小さいこと、および、同出力変化率DIFVoxsが増大側閾値DIFupthよりも大きいこと、のいずれか一方が満たされるか否かを判定する。
【０２３５】
現時点にて、出力変化率DIFVoxsが減少側閾値DIFdownthよりも小さいこと、および、同出力変化率DIFVoxsが増大側閾値DIFupthよりも大きいこと、のいずれか一方が「満たされる」場合、ＣＰＵ８１は、ステップ１１９０にて「Ｙｅｓ」と判定する。その後、ＣＰＵ８１は、ステップ１１９５を経由して図１０のステップ１０４０に進む。
【０２３６】
再び図１０を参照すると、ＣＰＵ８１は、ステップ１０４０にてサブフィードバック量Vafsfbを算出する。この場合２において、比例項SPはゼロでありであり（ステップ１１８０を参照。）、微分項SDは図１１のルーチンにて算出された値（ステップ１１５０を参照。）。よって、サブフィードバック量Vafsfbは「微分項SDのみ」を含む。
【０２３７】
その後、ＣＰＵ８１は、ステップ１０５０を経由してステップ１０９５に進み、本ルーチンを一旦終了する。さらに、ＣＰＵ８１は、所定のタイミングにて図８および図９のルーチンを実行することにより、上記サブフィードバック量Vafsfbが適用されたメインフィードバック量DFiを用いて最終燃料噴射量Fiを補正する。
【０２３８】
より具体的に述べると、出力変化率DIFVoxsが増大側閾値DIFupthよりも大きい場合、微分項SDおよびサブフィードバック量Vafsfbは負の値に設定される（図１１のステップ１１５０および図１０のステップ１０４０を参照。）。これにより、メインフィードバック量DFiは、上記サブフィードバック制御がなされない場合に比べて小さい値となる。この結果、最終燃料噴射量Fiは、上記サブフィードバック制御がなされない場合に比べて減少する。すなわち、この場合、触媒上流側空燃比abyfsは、リーン空燃比となるように制御される。
【０２３９】
一方、出力変化率DIFVoxsが減少側閾値DIFdownthよりも小さい場合、微分項SDおよびサブフィードバック量Vafsfbは正の値に設定される。これにより、メインフィードバック量DFiは、上記サブフィードバック制御がなされない場合に比べて大きい値となる。この結果、最終燃料噴射量Fiは、上記サブフィードバック制御がなされない場合に比べて増大する。すなわち、この場合、触媒上流側空燃比abyfsは、リッチ空燃比となるように制御される。
【０２４０】
これに対し、現時点にて、出力変化率DIFVoxsが減少側閾値DIFdownthよりも小さいこと、および、同出力変化率DIFVoxsが増大側閾値DIFupthよりも大きいこと、の双方が「満たされない」場合、ＣＰＵ８１は、図１１のステップ１１９０にて「Ｎｏ」と判定してステップ１１７０に進む。ＣＰＵ８１は、ステップ１１７０にて微分項SDの値にゼロを格納する。このように、この場合、比例項SPおよび微分項SDの双方がゼロに設定される。
【０２４１】
その結果、この場合、サブフィードバック量Vafsfbはゼロに設定されるので（図１０のステップ１０４０を参照。）、サブフィードバック量Vafsfbによる燃料噴射量の補正はなされない。
【０２４２】
このように、下流側酸素濃度センサ７７の出力値Voxsが低側閾値Lothと高側閾値Hithとの間の値である場合、「微分項SDのみ」に基づいてサブフィードバック量Vafsfbが算出される。さらに、出力変化率DIFVoxsが増大側閾値DIFupthよりも大きければ（すなわち、出力値Voxsが比較的急速に増大していれば）触媒上流側空燃比abyfsはリーン空燃比となるように制御され、出力変化率DIFVoxsが減少側閾値DIFdownthよりも小さければ（すなわち、出力値Voxsが比較的急速に減少していれば）触媒上流側空燃比abyfsはリッチ空燃比となるように制御される。
【０２４３】
以上、場合１と場合２とに場合を分けて説明したように、第１装置は、下流側酸素濃度センサ７７の出力値Voxsに基づき、ヒステリシス起因ずれが大きいか否かを判定する。さらに、第１装置は、ヒステリシス起因ずれが小さいとき、出力値Voxsに基づいて触媒上流側空燃比abyfsを制御する。一方、第１装置は、ヒステリシス起因ずれが大きいとき、出力変化率DIFVoxsに基づいて触媒上流側空燃比abyfsを制御する。これにより、第１装置は、ヒステリシス起因ずれの大きさに応じた個別の考え方に従って触媒上流側空燃比abyfsを制御するので、出力値Voxsがヒステリシスを示す場合であっても、触媒上流側空燃比abyfsを適切に制御することができる。
【０２４４】
（第２実施形態）
次に、本発明の第２の実施形態に係る制御装置（以下、「第２装置」とも称呼する。）について説明する。
【０２４５】
＜装置の概要＞
第２装置は、第１装置が適用される機関１０と同様の構成を有する機関（図１を参照。以下、便宜上、「機関１０」と称呼する。）に適用される。そこで、第２装置が適用される装置の概要についての説明は、省略される。
【０２４６】
＜装置の作動の概要＞
第２装置は、下流側酸素濃度センサ７７の出力値Voxsのヒステリシス起因ずれの大きさの程度に関連する「ヒステリシス関連パラメータ」を考慮して触媒導入ガスの空燃比を制御する点において、第１装置と相違する。
【０２４７】
より具体的に述べると、第２装置は、「下流側酸素濃度センサ７７の温度（センサ温度）Ts」に基づき、低側閾値Lothおよび高側閾値Hithを決定する。そして、第２装置は、そのように決定された低側閾値Lothおよび高側閾値Hithを用いて、第１装置と同様の考え方に従って触媒導入ガスの空燃比を制御する。以上が第２装置の作動の概要である。
【０２４８】
＜低側閾値および高側閾値の決定方法＞
次いで、第２装置における低側閾値および高側閾値の決定方法について、図１２を参照しながら説明する。
【０２４９】
図１２は、下流側酸素濃度センサ７７のセンサ温度Tsと、下流側酸素濃度センサ７７の出力値Voxs（動的な値）と、触媒排出ガスの空燃比A/Fと、の関係を表す模式図である。図１２における「実線」はセンサ温度Tsが相対的に低い場合の出力値Voxsの特性（以下、便宜上、「低温特性」とも称呼する。）を、同図における「二点鎖線」はセンサ温度Tsが相対的に高い場合の出力値Voxsの特性（以下、便宜上、「高温特性」とも称呼する。）を、示す。
【０２５０】
出力値Voxsの動的な特性は、図１２に示すように、センサ温度Tsに応じて変化する。例えば、触媒排出ガスの空燃比が増大するとき（すなわち、出力値Voxsが減少するとき）、同空燃比が理論空燃比の近傍であれば、高温特性に基づいて定まる出力値は、低温特性に基づいて定まる出力値よりも小さい。さらに、触媒排出ガスの空燃比が減少するとき（すなわち、出力値Voxsが増大するとき）、同空燃比が理論空燃比の近傍であれば、高温特性に基づいて定まる出力値は、低温特性に基づいて定まる出力値よりも大きい。
【０２５１】
そこで、第２装置において、低側閾値Lothとして、触媒排出ガスの空燃比が減少するときに（すなわち、出力値Voxsが増大するときに）出力値Voxsが低側閾値Lothである場合の空燃比が理論空燃比よりもリーン側の空燃比となる値であって、センサ温度Tsが高くなるにつれて大きくなる値、が採用される。すなわち、図１２に示すように、センサ温度Tsが相対的に高い場合の低側閾値Loth2は、センサ温度Tsが相対的に低い場合の低側閾値Loth1よりも大きい。なお、第２装置においては、低側閾値Lothとして、同空燃比が理論空燃比と同一となる値であって、センサ温度Tsが高くなるにつれて大きくなる値、が採用されてもよい。
【０２５２】
さらに、第２装置において、高側閾値Hithとして、触媒排出ガスの空燃比が増大するときに（すなわち、出力値Voxsが減少するときに）出力値Voxsが高側閾値Hithである場合の空燃比が理論空燃比よりもリッチ側の空燃比となる値であって、センサ温度Tsが高くなるにつれて小さくなる値、が採用される。すなわち、図１２に示すように、センサ温度Tsが相対的に高い場合の高側閾値Hith2は、センサ温度Tsが相対的に低い場合の高側閾値Hith1よりも小さい。なお、第２装置においては、高側閾値Hithとして、同空燃比が理論空燃比と同一となる値であって、センサ温度Tsが高くなるにつれて小さくなる値、が採用されてもよい。以上が第２装置における低側閾値および高側閾値の決定方法である。
【０２５３】
＜空燃比制御＞
第２装置は、上述したように決定される低側閾値および高側閾値を用いて、第１装置と同様の方法によって触媒導入ガスの空燃比を制御する。そこで、第２装置における空燃比制御についての説明は、省略される。
【０２５４】
＜実際の作動＞
以下、第２装置の実際の作動について説明する。
第２装置において、ＣＰＵ８１は、図７〜図１１および図１３にフローチャートによって示した各ルーチンを所定のタイミング毎に繰り返し実行するようになっている。以下、ＣＰＵ８１が実行する各ルーチンについて説明する。
【０２５５】
第２装置は、ＣＰＵ８１が、図７〜図１１に示す各フローチャートに加えて図１３に示すフローチャートを実行する点についてのみ、第１装置と相違している。そこで、以下、この相違点を中心として説明を加える。
【０２５６】
ＣＰＵ８１は、第１装置と同様、図７のルーチンを所定時間が経過する毎に繰り返し実行する。すなわち、第２装置は、排気温度Texに基づいて触媒の温度TempCの温度を取得（推定）する。
【０２５７】
さらに、ＣＰＵ８１は、図１０のルーチンが実行される時点よりも所定時間長さだけ前の時点において（例えば、任意の気筒のクランク角度が吸気行程前の所定クランク角度θｈ−αに一致する毎に）、図１３にフローチャートによって示した「低側閾値・高側閾値設定ルーチン」を繰り返し実行するようになっている。ＣＰＵ８１は、このルーチンにより、下流側酸素濃度センサ７７のセンサ温度Tsに基づいて低側閾値Lothおよび高側閾値Hithを決定する。
【０２５８】
具体的に述べると、ＣＰＵ８１は、所定のタイミングにて図１３のステップ１３００から処理を開始すると、ステップ１３１０に進む。ＣＰＵ８１は、ステップ１３１０にて、図１０のステップ１０１０と同一の「サブフィードバック制御条件」が成立しているか否かを判定する。
【０２５９】
現時点においてサブフィードバック制御条件が「成立しない」場合、ＣＰＵ８１は、ステップ１３１０にて「Ｎｏ」と判定し、ステップ１３９５に直接進んで本ルーチンを一旦終了する。この場合、低側閾値Lothおよび高側閾値Hithは決定されない。さらに、この場合、ＣＰＵ８１は、所定のタイミングにて図１０のルーチンを実行すると、ステップ１０１０にて「Ｎｏ」と判定するので、ステップ１０２０にてサブフィードバック量Vafsfbがゼロに設定される。よって、この場合、サブフィードバック制御による触媒導入ガスの空燃比の制御は行われない（図９のステップ９２０を参照。）。
【０２６０】
これに対し、現時点においてサブフィードバック制御条件が「成立する」場合、ＣＰＵ８１は、ステップ１３１０にて「Ｙｅｓ」と判定し、ステップ１３２０に進む。ＣＰＵ８１は、ステップ１３２０にて、「センサ温度Tsと、低側閾値Lothと、の関係」をあらかじめ定めた低側閾値決定テーブルMapLoth（Ts）に現時点におけるセンサ温度Tsを適用することにより、低側閾値Lothを決定する。第２装置において、センサ温度Tsは、下流側酸素濃度センサ７７に設けられた図示しない温度センサの出力値に基づいて取得される。なお、第２装置において、センサ温度Tsは、排気温度Texなどに基づいて推定されてもよい。
【０２６１】
上記低側閾値決定テーブルMapLoth（Ts）において、低側閾値Lothは、最小出力値minから中央値midまでの範囲において、センサ温度Tsが高くなるほど大きくなるように、定められる。
【０２６２】
次いで、ＣＰＵ８１は、ステップ１３３０に進む。ＣＰＵ８１は、ステップ１３３０にて、「センサ温度Tsと、高側閾値Hithと、の関係」をあらかじめ定めた高側閾値決定テーブルMapHith（Ts）に現時点におけるセンサ温度Tsを適用することにより、高側閾値Hithを決定する。
【０２６３】
上記高側閾値決定テーブルMapHith（Ts）において、高側閾値Hithは、中央値midから最大出力値maxまでの範囲において、センサ温度Tsが高くなるほど小さくなるように、定められる。
【０２６４】
その後、ＣＰＵ８１は、ステップ１３９５に進んで本ルーチンを一旦終了する。このように、第２装置は、下流側酸素濃度センサ７７のセンサ温度Tsに応じ、低側閾値Lothおよび高側閾値Hithを決定する。
【０２６５】
次いで、ＣＰＵ８１は、所定のタイミングにて図１０のルーチンを実行すると、サブフィードバック制御条件が成立すれば、ステップ１０３０にて比例項SPおよび微分項SDを算出する。このとき、ＣＰＵ８１は、上述したように決定された低側閾値Lothおよび高側閾値Hithを用いて、比例項SPおよび微分項SDを算出する（図１１のステップ１１９０を参照。）。そして、ＣＰＵ８１は、ステップ１０４０にて、それら比例項SPおよび微分項SDに基づいてサブフィードバック量Vafsfbを算出する。
【０２６６】
さらに、ＣＰＵ８１は、所定のタイミングにて図８および図９のルーチンを実行することにより、上述したように算出されたサブフィードバック量Vafsfbが適用されたメインフィードバック量DFiを用いて最終燃料噴射量Fiを補正する。これにより、触媒導入ガスの空燃比（触媒上流側空燃比abyfs）が制御される。
【０２６７】
以上、説明したように、第２装置は、下流側酸素濃度センサ７７のセンサ温度Tsに基づいて低側閾値Lothおよび高側閾値Hithを決定する。さらに、第２装置は、第１装置と同様、下流側酸素濃度センサ７７の出力値Voxsのヒステリシス起因ずれの大きさに応じた個別の考え方に従って触媒上流側空燃比abyfsを制御する。その結果、触媒上流側空燃比abyfsをさらに適切に制御することができる。
【０２６８】
＜実施形態の総括＞
以上、説明したように、本発明の各実施形態に係る制御装置（第１装置および第２装置）は、排ガスの酸素濃度oxsに応じた値を出力する酸素濃度センサ７７を備えた内燃機関１０に適用される。
【０２６９】
第１装置および第２装置は、
前記機関１０に供給される混合気の空燃比を制御する（これにより、触媒上流側空燃比abyfsが制御される。）空燃比制御手段であって、
前記酸素濃度センサ７７の出力値Voxsが、「該酸素濃度センサ７７の最大出力値maxと最小出力値minとの略中間の値である中央値midよりも小さく且つ前記最小出力値minよりも大きい低側閾値Lothと、前記中央値midよりも大きく且つ前記最大出力値maxよりも小さい高側閾値Hithと、の間の値」であるとき（図１１のステップ１１６０にて「Ｎｏ」と判定されるとき、比例項SPがゼロに設定されることにより）、前記酸素濃度センサ７７の出力値Voxsの「変化率DIFVoxs」に基づいて前記排ガスの酸素濃度oxsを変更するように前記空燃比を制御し、
前記酸素濃度センサ７７の出力値Voxsが「前記低側閾値Loth以下の値」であるとき、または、前記酸素濃度センサ７７の出力値Voxsが「前記高側閾値Hith以上の値」であるとき（図１１のステップ１１６０にて「Ｙｅｓ」と判定されるとき、微分項SDがゼロに設定されることにより）、前記酸素濃度センサ７７の「出力値Voxs」に基づいて前記排ガスの酸素濃度oxsを変更するように前記空燃比を制御する空燃比制御手段（図８〜図１１のルーチンを参照。）、
を備える。
【０２７０】
さらに、第１装置および第２装置において、
前記酸素濃度センサ７７は、
前記排ガスの酸素濃度oxsが減少するときの該酸素濃度センサ７７の出力値Voxsと前記排ガスの酸素濃度oxsとの関係である第１の関係（図４（ａ）における破線）と、前記排ガスの酸素濃度oxsが増大するときの該酸素濃度センサ７７の出力値Voxsと前記排ガスの酸素濃度oxsとの関係である第２の関係（図４（ａ）における実線）と、が相違することにより、該酸素濃度センサ７７の出力値Voxsがヒステリシスを示すセンサである。
【０２７１】
さらに、第１装置および第２装置において、
前記酸素濃度センサ７７は、
前記排ガスの酸素濃度oxsが「前記混合気の空燃比が理論空燃比であるときに生じる排ガスの酸素濃度である基準酸素濃度」からリッチ側に向けて離れるほど該酸素濃度センサ７７の出力値Voxsが前記最大出力値maxに近づき、かつ、前記排ガスの酸素濃度oxsが前記基準酸素濃度からリーン側に向けて離れるほど該酸素濃度センサ７７の出力値Voxsが前記最小出力値minに近づくセンサである（図４（ａ）を参照。）。
【０２７２】
さらに、第１装置および第２装置において、
前記酸素濃度センサ７７が、前記排ガスの酸素濃度oxsが固定値としての前記基準酸素濃度である場合に前記中央値midを出力するセンサである場合（図４（ａ）の一点鎖線を参照。）、
前記空燃比制御手段は、
前記低側閾値Lothとして、
前記排ガスの酸素濃度oxsが減少するときに前記酸素濃度センサ７７の出力値Voxsが該低側閾値Lothである場合に前記第１の関係に基づいて定められる排ガスの酸素濃度aflothが、前記基準酸素濃度と同一または前記基準酸素濃度よりもリーン側の酸素濃度である値、を採用する（図４（ｃ）を参照。）。
【０２７３】
さらに、第１装置および第２装置において、
前記酸素濃度センサ７７が、上記センサである場合、
前記空燃比制御手段は、
前記高側閾値Hithとして、
前記排ガスの酸素濃度oxsが増大するときに前記酸素濃度センサ７７の出力値Voxsが該高側閾値Hithである場合に前記第２の関係に基づいて定められる排ガスの酸素濃度afhithが、前記基準酸素濃度と同一または前記基準酸素濃度よりもリッチ側の酸素濃度である値、を採用する（図４（ｃ）を参照。）。
【０２７４】
さらに、第２装置において、
前記空燃比制御手段は、
前記第１の関係と前記第２の関係との相違の程度に関連するパラメータであるヒステリシス関連パラメータ（酸素濃度センサ７７の温度Ts）の大きさに応じて前記低側閾値Lothおよび前記高側閾値Hithの少なくとも一方（本例においては、双方）を決定する（図１３のルーチンを参照。）。
【０２７５】
より具体的に述べると、第１装置および第２装置が適用される機関１０は、触媒５３を備える。
【０２７６】
この第１装置および第２装置において、
前記酸素濃度センサ７７は、
前記触媒５３から排出される排ガスである触媒排出ガスの酸素濃度（触媒下流側空燃比oxs）に応じた値を出力し、
前記空燃比制御手段は、
前記触媒５３に導入される排ガスである触媒導入ガスの酸素濃度（触媒上流側空燃比abyfs）を変更するように前記空燃比を制御する。
【０２７７】
さらに、第１装置および第２装置において
前記酸素濃度センサ７７は、
前記触媒排出ガスの酸素濃度が「前記混合気の空燃比が理論空燃比であるときに生じる排ガスの酸素濃度である基準酸素濃度」からリッチ側に向けて離れるほど該酸素濃度センサ７７の出力値Voxsが前記最大出力値maxに近づき、かつ、前記触媒排出ガスの酸素濃度が前記基準酸素濃度からリーン側に向けて離れるほど該酸素濃度センサ７７の出力値Voxsが前記最小出力値minに近づくセンサである。
【０２７８】
さらに、前記空燃比制御手段は、
前記酸素濃度センサ７７の出力値Voxsが「前記低側閾値Lothと前記高側閾値Hithとの間の値」であるとき、前記酸素濃度センサ７７の出力値Voxsの変化率DIFVoxsが正の値である場合には（微分項SDが負の値であるので）前記触媒導入ガスの酸素濃度abyfsが前記基準酸素濃度よりもリーン側の酸素濃度となるように前記空燃比を制御し、前記酸素濃度センサ７７の出力値Voxsの変化率DIFVoxsが負の値である場合には（微分項SDが正の値であるので）前記触媒導入ガスの酸素濃度abyfsが前記基準酸素濃度よりもリッチ側の酸素濃度となるように前記空燃比を制御し、
前記酸素濃度センサ７７の出力値Voxsが「前記低側閾値Loth以下の値」であるとき（比例項SPが正の値であるので）、前記触媒導入ガスの酸素濃度abyfsが前記基準酸素濃度よりもリッチ側の酸素濃度となるように前記空燃比を制御し、
前記酸素濃度センサ７７の出力値Voxsが前記高側閾値Hith以上の値であるとき（比例項SPが負の値であるので）、前記触媒導入ガスの酸素濃度abyfsが前記基準酸素濃度よりもリーン側の酸素濃度となるように前記空燃比を制御する。
【０２７９】
さらに、前記空燃比制御手段は、
前記酸素濃度センサ７７の出力値Voxsが「前記低側閾値Lothと前記高側閾値Hithとの間の値」であるとき、前記酸素濃度センサ７７の出力値Voxsが増大しており且つ前記酸素濃度センサ７７の出力値Voxsの変化率DIFVoxsが増大側閾値DIFupthよりも大きい場合には（図１１のステップ１１９０にて「Ｙｅｓ」と判定される場合には）前記触媒導入ガスの酸素濃度abyfsが前記基準酸素濃度よりもリーン側の酸素濃度となるように前記空燃比を制御し、前記酸素濃度センサ７７の出力値Voxsが減少しており且つ前記酸素濃度センサ７７の出力値Voxsの変化率DIFVoxsが減少側閾値よりも小さい場合には（図１１のステップ１１９０にて「Ｙｅｓ」と判定される場合には）前記触媒導入ガスの酸素濃度abyfsが前記基準酸素濃度よりもリッチ側の酸素濃度となるように前記空燃比を制御する。
【０２８０】
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。
【０２８１】
例えば、本発明の制御装置において、低側閾値および高側閾値として、第１装置および第２装置に採用されている低側閾値および高側閾値とは異なる値が採用され得る。具体的に述べると、図１４に示すように、本発明の制御装置において、
低側閾値Lothとして、前記排ガスの酸素濃度が減少するときに前記酸素濃度センサの出力値が該低側閾値Lothである場合に前記第１の関係に基づいて定められる排ガスの酸素濃度afloth1と、前記排ガスの酸素濃度が増大するときに前記酸素濃度センサの出力値が該低側閾値Lothである場合に前記第２の関係に基づいて定められる排ガスの酸素濃度afloth2と、の差の絶対値が所定値以下である値、が採用され得る。
【０２８２】
さらに、本発明の制御装置において、
高側閾値Hithとして、前記排ガスの酸素濃度が減少するときに前記酸素濃度センサの出力値が該高側閾値Hithである場合に前記第１の関係に基づいて定められる排ガスの酸素濃度afhith1と、前記排ガスの酸素濃度が増大するときに前記酸素濃度センサの出力値が該高側閾値Hithである場合に前記第２の関係に基づいて定められる排ガスの酸素濃度afhith2と、の差の絶対値が所定値以下である値、が採用され得る。
【０２８３】
加えて、第２装置においては、ヒステリシス関連パラメータとして下流側酸素濃度センサ７７のセンサ温度Tsが採用されている。しかし、本発明の制御装置においては、センサ温度Tsに代えて、または、センサ温度Tsと合わせて、前記ヒステリシス関連パラメータとして「内燃機関に供給される混合気の単位時間あたりの量」が採用され得る。
【０２８４】
ヒステリシス関連パラメータとして上記「内燃機関に供給される混合気の単位時間あたりの量」が採用されるとき、低側閾値Lothは、その量が多いほど大きくなるように定められ得る。さらに、このとき、高側閾値Hithは、その量が多いほど小さくなるように定められ得る。
【０２８５】
さらに、第１装置および第２装置は、三元触媒を備えた機関（火花点火式機関）に適用されている。しかし、本発明の制御装置は、NOx吸蔵還元触媒を備えた機関（例えば、ディーゼル機関）に適用され得る。
【０２８６】
さらに、第１装置および第２装置は、１のみの触媒を備えている。しかし、本発明の制御装置は、複数の触媒を備える機関に適用され得る。
【０２８７】
さらに、第１装置および第２装置は、下流側酸素濃度センサ７７の出力値の変化量が増大側閾値よりも大きい場合、または、同変化量が減少側閾値よりも小さい場合に限り、同変化率に基づいて混合気の空燃比を制御するようになっている（図１１のステップ１１９０を参照。）。しかし、本発明の制御装置は、同変化量の大きさにかかわらず混合気の空燃比を制御するように（例えば、図１１のステップ１１９０を削除するように）構成され得る。
【符号の説明】
【０２８８】
１０…内燃機関、２５…燃焼室、３４…インジェクタ、５３…触媒、７６…上流側酸素濃度センサ、７７…下流側酸素濃度センサ、８０…電子制御装置
【図１】
2012062775.tif 000003
【図２】
2012062775.tif 000004
【図３Ａ】
2012062775.tif 000005
【図３Ｂ】
2012062775.tif 000006
【図４Ａ】
2012062775.tif 000007
【図４Ｂ】
2012062775.tif 000008
【図４Ｃ】
2012062775.tif 000009
【図５】
2012062775.tif 000010
【図６】
2012062775.tif 000011
【図７】
2012062775.tif 000012
【図８】
2012062775.tif 000013
【図９】
2012062775.tif 000014
【図１０】
2012062775.tif 000015
【図１１】
2012062775.tif 000016
【図１２】
2012062775.tif 000017
【図１３】
2012062775.tif 000018
【図１４】
2012062775.tif 000019