以下、本発明による内燃機関の空燃比制御装置の各実施形態について図面を参照しつつ説明する。この空燃比制御装置は、機関の燃料噴射量を制御する燃料噴射量制御装置でもある。
(第1実施形態)
図3は、第1実施形態に係る空燃比制御装置を4サイクル火花点火式多気筒内燃機関10に適用したシステムの概略構成を示している。なお、図1は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
この内燃機関10は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排ガスを外部に放出するための排気系統50とを含んでいる。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角及びリフト量を連続的に変更する可変吸気タイミング装置33、可変吸気タイミング装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射手段)39を備えている。
吸気系統40は、吸気ポート31に連通し同吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットルバルブ43及びスワールコントロールバルブ(以下、「SCV」と称呼する。)44を備えている。
スロットルバルブ43は、DCモータからなるスロットルバルブアクチュエータ43aにより吸気管41内で回転駆動されるようになっている。SCV44は、DCモータからなるSCVアクチュエータ44aにより回転駆動されるようになっている。
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51に接続されたエキゾーストパイプ52、エキゾーストパイプ52に配設された上流側触媒53、上流側触媒53よりも下流のエキゾーストパイプ52に配設された下流側触媒54を備えている。排気ポート34、エキゾーストマニホールド51及びエキゾーストパイプ52は、排気通路を構成している。
上流側触媒53及び下流側触媒54のそれぞれは、所謂、白金等の貴金属からなる活性成分を担持する三元触媒装置である。各触媒は、触媒流入ガスがほぼ理論空燃比であるとき、HC,COなどの未燃成分を酸化するとともに、窒素酸化物(NOx)を還元する機能を有する。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有し、この酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。この酸素吸蔵機能は、触媒に担持されているセリア(CeO2)によってもたらされる。
一方、このシステムは、熱線式エアフローメータ61、吸気温センサ62、スロットルポジションセンサ63、カムポジションセンサ64、クランクポジションセンサ65、水温センサ66、空燃比センサ67、酸素濃度センサ68、触媒温度センサ69及びアクセル開度センサ70を備えている。
エアフローメータ61は、吸気管41内を流れる吸入空気の質量流量Gaに応じた信号を出力するようになっている。吸気温センサ62は、吸入空気の温度を検出し、吸気温度THAを表す信号を出力するようになっている。スロットルポジションセンサ63は、スロットルバルブ43の開度(スロットルバルブ開度)を検出し、スロットルバルブ開度TAを表す信号を出力するようになっている。
カムポジションセンサ64は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)一つのパルスを有する信号(G2信号)を発生するようになっている。クランクポジションセンサ65は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ66は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
空燃比センサ67は、排気通路であって上流側触媒53よりも上流側に配設されている。空燃比センサ67は、所謂「限界電流式酸素濃度センサ」であって、上流側触媒53に流入する排ガス中の空燃比を検出し、図4に示したように、検出した空燃比に応じた信号Vabyfsを出力するようになっている。
酸素濃度センサ68は、排気通路であって上流側触媒53よりも下流側であり下流側触媒54よりも上流側に配設されている。酸素濃度センサ68は、固体電解質型センサ(安定化ジルコニアを素子を構成する主材料に用いた周知の濃淡電池型の酸素センサ)であり、ジルコニアの両側に白金からなる検出電極と白金からなる基準電極とを備えている。検出電極は多孔質のセラミックにより覆われている。基準電極は大気に曝され、多孔質セラミックにより覆われた検出電極は上流側触媒53から流出したガス(上流側触媒53と下流側触媒54との間の排気通路内のガス)に曝されている。
このような酸素濃度センサの出力Voxsの静的な特性は、検出電極と基準電極の間の酸素濃度(酸素分圧)の差に基づいて変化する特性となる。具体的に述べると、図1に示したように、濃淡電池型の酸素濃度センサは、一般に、検出対象のガスの空燃比が理論空燃比よりもリッチ及びリーンのとき最大出力値max及び最小出力値minをそれぞれ出力し、検出対象のガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の値(中央値)aを出力するようになっている。
アクセル開度センサ70は、運転者によって操作されるアクセルペダル71の操作量Accpを表す信号を出力するようになっている。
電気制御装置80は、互いにバスで接続されたCPU81、CPU81が実行するプログラム、テーブル(マップ、関数)及び定数等を予め記憶したROM82、CPU81が必要に応じてデータを一時的に格納するRAM83、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップRAM84並びにADコンバータを含むインターフェース85等からなるマイクロコンピュータである。
インターフェース85は、前記センサ61〜70と接続され、CPU81にセンサ61〜70からの信号を供給するとともに、CPU81の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39、スロットルバルブアクチュエータ43a及びSCVアクチュエータ44aに駆動信号を送出するようになっている。
<空燃比フィードバック制御の概要>
次に、上記のように構成された空燃比制御装置による空燃比フィードバック制御の概要について、図5を参照しながら説明する。この空燃比制御装置は、上流側触媒53から流出しているガスの空燃比が理論空燃比となるように機関に供給する混合気の空燃比((以下、「機関の空燃比」とも称呼する。)を制御する。具体的には、上流側触媒53の下流に配設された酸素濃度センサ68の出力が理論空燃比に相当する値となるように機関の空燃比をフィードバック制御する。
前述したように、濃淡電池型の酸素濃度センサは、一般に、検出対象のガスの空燃比が理論空燃比よりもリッチ及びリーンのとき最大出力値max及び最小出力値minをそれぞれ出力し、検出対象のガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の値(中央値)aを出力するはずである。
しかしながら、酸素濃度センサ68は、上流側触媒53から流出したガスの空燃比を検出しているので、酸素濃度センサに到達しているガスの空燃比が理論空燃比であっても、酸素濃度センサ68の出力Voxsは過去において同酸素濃度センサ68に到達していたガスの状態(空燃比、或いは、酸素又は未燃成分の濃度)に応じて異なる値となる。
より具体的に述べると、上流側触媒53が内部に酸素を吸蔵しきれない状態にあるとき(即ち、上流側触媒53の酸素吸蔵量が最大酸素吸蔵量Cmaxに到達しているとき)、上流側触媒53に理論空燃比よりもリーンな空燃比のガスが流入すると、上流側触媒53からは多量の(高濃度の)酸素が流出する。この結果、酸素濃度センサ68の基準電極と検出電極の間の酸素濃度(酸素分圧)差は小さくなるから、図5の時刻t1以前に示したように、酸素濃度センサ68の出力Voxsは最小出力値minの近傍の値となる。
この状態において、上流側触媒53に理論空燃比よりもリッチな空燃比のガスが流入すると、このガスに含まれている未燃成分は、上流側触媒53に吸蔵されている酸素によって酸化され、上流側触媒53から殆ど排出されない。
このとき、酸素濃度センサ68の検出電極周辺には、この時点よりも前の時点において多量の酸素が到達していて、その酸素が残存している。この残存している酸素は、上流側触媒53から排出される極少量の(濃度の小さい)未燃成分では消滅しない。この結果、酸素濃度センサ68の基準電極と検出電極の間の酸素濃度(酸素分圧)差は小さいままであるので、図5の時刻t1〜t2に示したように、酸素濃度センサ68の出力Voxsは最小出力値minより僅かに大きい値となる。
その後、上流側触媒53に理論空燃比よりもリッチな空燃比のガスが継続的に流入すると、上流側触媒53から未燃成分が漏れ始める。この結果、図5の時刻t2〜t3に示したように、酸素濃度センサ68の出力Voxsは最大出力値maxに向けて急激に増大する。
他方、上流側触媒53内部に吸蔵されていた総ての酸素が消費されてしまった状態にあるとき(即ち、上流側触媒53の酸素吸蔵量が「0」となっているとき)に、上流側触媒53に理論空燃比よりもリッチな空燃比のガスが流入すると、上流側触媒53からは多量の(高濃度の)未燃成分が流出する。この結果、酸素濃度センサ68の検出電極周辺の酸素は消滅し、基準電極と検出電極の間の酸素濃度(酸素分圧)差は大きくなるから、図5の時刻t3〜t4に示したように、酸素濃度センサ68の出力Voxsは最大出力値maxの近傍の値となる。
この状態において、上流側触媒53に理論空燃比よりもリーンな空燃比のガスが流入すると、このガスに含まれている過剰な酸素は上流側触媒53に吸蔵されるから、上流側触媒53から殆ど排出されない。
この結果、酸素濃度センサ68の検出電極周辺には酸素が殆ど到達しない(低濃度の酸素しか到達しない)ので、酸素濃度センサ68の基準電極と検出電極の間の酸素濃度(酸素分圧)差は大きい状態のままとなる。従って、図5の時刻t4〜t5に示したように、酸素濃度センサ68の出力Voxsは最大出力値maxより僅かだけ小さいが、中央値aより大きい値となる。
その後、上流側触媒53に理論空燃比よりもリーンな空燃比のガスが継続的に流入すると、上流側触媒53から酸素が漏れ始める。この結果、図5の時刻t5〜t6に示したように、酸素濃度センサ68の出力Voxsは最小出力値minに向けて急激に減少する。
そして、上流側触媒53に酸素が吸蔵しきれなくなると、上流側触媒53から多量の(高濃度の)酸素が流出する。この結果、酸素濃度センサ68の基準電極と検出電極の間の酸素濃度(酸素分圧)差は小さくなるから、図5の時刻t6以降に示したように、酸素濃度センサ68の出力Voxsは再び最小出力値minの近傍の値となる。
以上のことから、本空燃比制御装置は、「上流側触媒53から多量の酸素が流出している期間(時刻t1以前及び時刻t6以降)」と「上流側触媒53から多量の未燃成分が流出している期間(時刻t3〜t4)」とにおいては、酸素濃度センサ68の出力Voxsが中央値aとなるように、機関に供給される混合気の空燃比をフィードバック制御する。これらの期間では、酸素濃度センサ68に理論空燃比のガスが到達すれば、酸素濃度センサ68の出力Voxsは中央値aとなるはずだからである。
この場合、本空燃比制御装置は、「上流側触媒53から多量の酸素が流出している期間(酸素濃度センサ68の出力Voxsが実質的に最小出力値minに等しい期間)」を、出力Voxsが最小出力値minより僅かに大きい低側閾値Lohanより小さい期間として認識する。この低側閾値Lohanは、中央値aより当然に小さい。
同様に、本空燃比制御装置は、「上流側触媒53から多量の未燃成分が流出している期間(酸素濃度センサ68の出力Voxsが実質的に最大出力値maxに等しい期間)」を、出力Voxsが最大出力値maxより僅かに小さい高側閾値Hihanより大きい期間として認識する。この高側閾値Hihanは、中央値aより当然に大きい。
一方、本空燃比制御装置は、「上流側触媒53から多量の酸素が流出した後であって、上流側触媒53にリッチな空燃比のガスが流入していて、上流側触媒53からは略理論空燃比のガスが流出している期間(時刻t1〜t3)」においては、酸素濃度センサ68の出力Voxsが、低側閾値Lohanより大きく、且つ、中央値aより小さい値である低側目標値Lotgtとなるように、機関に供給される混合気の空燃比をフィードバック制御する。
また、本空燃比制御装置は、かかる期間(時刻t1〜t3)を、過去において酸素濃度センサ68の出力Voxsが実質的に最小出力値minに等しくなった後(具体的には、出力Voxsが低側閾値Lohanより小さくなった後)、出力Voxsが低側閾値Lohanと高側閾値Hihanの間の値である期間として認識する。
他方、本空燃比制御装置は、「上流側触媒53から多量の未燃成分が流出した後であって、上流側触媒53にリーンな空燃比のガスが流入していて、上流側触媒53からは略理論空燃比のガスが流出している期間(時刻t4〜t6)」においては、酸素濃度センサ68の出力Voxsが、高側閾値Hihanより小さく、且つ、中央値aより大きい値である高側目標値Hitgtとなるように、機関に供給される混合気の空燃比をフィードバック制御する。
また、本空燃比制御装置は、かかる期間(時刻t4〜t6)を、過去において酸素濃度センサ68の出力Voxsが実質的に最大出力値maxに等しくなった後(具体的には、出力Voxsが高側閾値Hihanより大きくなった後)、出力Voxsが高側閾値Hihanと低側閾値Lohanの間の値である期間として認識する。
以上、説明したように、本空燃比制御装置は、酸素濃度センサ68の出力Voxsの目標値Vosxrefを、同酸素濃度センサ68に過去(現時点の直前)において到達していたガス及び/又は現時点で到達しているガスの状態に応じて変化させ、酸素濃度センサ68の実際の出力Voxsが目標値Voxsrefに一致するように、機関に供給される混合気の空燃比を制御する。これにより、上流側触媒53からは、略理論空燃比のガス(窒素酸化物と未燃成分とが極少量であり、それらの比率が下流側触媒54により完全に浄化されるような比率であるガス)が流出する。従って、窒素酸化物や未燃成分の大気への放出量をより一層低減することができる。
<実際の作動>
次に、上記のように構成された空燃比制御装置の実際の作動について、電気制御装置80のCPU81が実行するルーチン(プログラム)をフローチャートにより示した図6〜図9を参照しながら説明する。なお、図6に示したフローチャートは、演算された空燃比制御量に基づいて上流側触媒53に流入するガスの空燃比を制御する空燃比制御手段に対応し、図7〜図9に示したフローチャートは、酸素濃度センサ68の現在の出力Voxsを理論空燃比に相当する所定の目標値Voxsrefと一致させるための前記空燃比制御量を演算する空燃比制御量演算手段に対応している。
CPU81は、図6に示した最終燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチンを、所定の気筒のクランク角が吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、所定の気筒のクランク角度が前記所定クランク角度になると、CPU81はステップ600から処理を開始してステップ605に進み、エアフローメータ61により計測された吸入空気量Gaとエンジン回転速度NEとに基いて、機関の空燃比を理論空燃比とするための基本燃料噴射量Fbaseをマップから求める。
次いで、CPU81はステップ610に進み、基本燃料噴射量Fbaseに後述する空燃比フィードバック補正量DFiを加えた値を最終燃料噴射量Fiとして設定する。次いで、CPU81はステップ615に進んで最終燃料噴射量Fiの燃料を噴射するための指示を前記所定の気筒に対応するインジェクタ39に対して行い、ステップ695に進んで本ルーチンを一旦終了する。以上により、フィードバック補正された最終燃料噴射量Fiの燃料が吸気行程を迎える気筒に対して噴射される。なお、このルーチンは、他の気筒に対しても上記と同様に実行される。
次に、上記空燃比フィードバック補正量DFiの算出について説明する。CPU81は図7に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU81はステップ700から処理を開始し、ステップ705に進んで空燃比フィードバック制御条件が成立しているか否かを判定する。空燃比フィードバック制御条件は、例えば、機関の冷却水温THWが第1所定温度以上であり、機関の一回転当りの吸入空気量(負荷)が所定値以下であり、且つ、空燃比センサ67が正常であるとき成立する。
いま、空燃比フィードバック制御条件が成立しているものとして説明を続けると、CPU81はステップ705にて「Yes」と判定してステップ710に進み、現時点の空燃比センサ67の出力vabyfsと後述するサブフィードバック制御量vafsfbとの和(vabyfs+vafsfb)及び図4に示したマップに基いて現時点における上流側触媒53の上流の空燃比を求める。この空燃比は、上流側触媒53の上流におけるガスのみかけの空燃比であり、以下、「上流側制御用空燃比abyfs」と称呼される。
次に、CPU81はステップ715に進み、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を前記求めた上流側制御用空燃比abyfsで除することにより、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求める。値Nは、内燃機関の排気量及び燃焼室25から空燃比センサ67までの距離等により異なる値である。
このように、現時点からNストローク前の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)を上流側制御用空燃比abyfsで除するのは、燃焼室25内で燃焼された混合気が空燃比センサ67に到達するまでには、Nストロークに相当する時間を要しているからである。なお、筒内吸入空気量Mcは、各気筒の吸気行程毎に、その時点のエアフローメータ61の出力Gaとエンジン回転速度NEとに基いて求められ(例えば、エアフローメータ61の出力Gaに一次遅れ処理を施した値をエンジン回転速度NEで除することにより求められ)、各吸気行程に対応してRAM73内に記憶されている。
次いで、CPU81はステップ720に進み、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点からNストローク前の時点における目標空燃比abyfr(k−N)(この例では、理論空燃比)で除することにより、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。
そして、CPU81はステップ725に進んで目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。つまり、筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、CPU81はステップ730に進み、(1)式に基いて空燃比フィードバック補正量DFiを求める。
DFi=(Gp・DFc+Gi・SDFc)・KFB … (1)
上記(1)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。なお、(1)式の係数KFBはエンジン回転速度NE及び筒内吸入空気量Mc等により可変とすることが好適であるが、ここでは「1」としている。また、値SDFcは筒内燃料供給量偏差DFcの積分値であり、次のステップ735にて更新される。即ち、CPU81は、ステップ735にてその時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ725にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求め、ステップ795にて本ルーチンを一旦終了する。
以上により、空燃比フィードバック補正量DFiが比例積分制御により求められ、この空燃比フィードバック補正量DFiが前述した図6のステップ610及びステップ615により最終燃料噴射量Fiに反映される。この結果、現時点からNストローク前の燃料供給量の過不足が補償されるので、機関の空燃比(従って、上流側触媒53に流入するガスの空燃比)の平均値が目標空燃比abyfrと略一致せしめられる。
一方、ステップ705の判定時において、空燃比フィードバック制御条件が不成立であると、CPU81は同ステップ705にて「No」と判定してステップ740に進み、空燃比フィードバック補正量DFiの値を「0」に設定し、ステップ795に進んで本ルーチンを一旦終了する。このように、空燃比フィードバック制御条件が不成立であるときは、空燃比フィードバック補正量DFiを「0」として空燃比(基本燃料噴射量Fbase)の補正を行わない。
次に、酸素濃度センサ68の出力Voxsに基く空燃比フィードバック制御について説明する。なお、かかる制御はサブフィードバック制御とも呼ばれる。このサブフィードバック制御により、上述したサブフィードバック制御量vafsfbが算出される。
CPU81は、サブフィードバック制御量vafsfbを求めるために、図8に示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPU81はステップ800から処理を開始し、ステップ805に進んでサブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ705での空燃比フィードバック制御条件が成立し、且つ、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上であり、且つ、酸素濃度センサ68が正常であるときに成立する。
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、CPU81はステップ805にて「Yes」と判定してステップ810に進み、図9に詳細を示したサブルーチンにより酸素濃度センサ68の出力Voxsの目標値Voxsrefを決定する。目標値Voxsrefは、上流側触媒53の浄化効率が良好(最良)となるように定められ、ここでは、酸素濃度センサ68に理論空燃比のガスが到達したときに同酸素濃度センサ68が出力するであろう値(理論空燃比相当値)に設定される。なお、図9に示したサブルーチンに基づく作動については後述する。
次に、CPU81はステップ815に進み、決定された目標値Voxsrefから現時点の酸素濃度センサ68の出力Voxsを減じることにより、出力偏差量DVoxsを求める。次に、CPU81はステップ820に進み、下記(2)式に基いてサブフィードバック制御量vafsfbを求める。
vafsfb=Kp・DVoxs+Ki・SDVoxs …(2)
上記(2)式において、Kpは予め設定された比例ゲイン、Kiは予め設定された積分ゲインである。また、SDVoxsは、出力偏差量DVoxsの積分値であって、次のステップ825にて更新される値である。即ち、CPU81は、ステップ825に進むと、その時点における出力偏差量の積分値SDVoxsに上記ステップ815にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求め、その後、ステップ895に進んで本ルーチンを一旦終了する。
このようにして、サブフィードバック制御量vafsfbが求められ、この値は前述した図7のステップ710にて空燃比センサ67の実際の出力に加えられ、その和(vabyfs + vafsfb)が図4に示したマップに基いて前記上流側制御用空燃比abyfsに変換される。換言すると、上流側制御用空燃比abyfsは、空燃比センサ67が実際に検出している空燃比に対して、酸素濃度センサ68の出力Voxsに基づいて求められるサブフィードバック制御量vafsfbに相当する分だけ異なる空燃比として求められる。
この結果、前述した図7のステップ715にて計算される筒内燃料供給量Fc(k−N)が酸素濃度センサ68の出力Voxsに応じて変化するので、ステップ725,730によって空燃比フィードバック補正量DFiが同酸素濃度センサ68の出力Voxsに応じて変更せしめられる。これにより、上流側触媒53の下流側の空燃比が理論空燃比に一致するように、機関の空燃比が制御せしめられる。
例えば、酸素濃度センサ68の出力Voxsが理論空燃比よりもリーンである空燃比に対応した値を示すと、ステップ815にて求められる出力偏差量DVoxsが正の値となるので、ステップ820にて求められるサブフィードバック制御量vafsfbは正の値となる。従って、ステップ710にて求められるabyfsは空燃比センサ67が実際に検出している空燃比よりもリーンな値(より大きな値)として求められる。
このため、ステップ715にて求められる筒内燃料供給量Fc(k−N)は小さい値となり、ステップ725にて求められる筒内燃料供給量偏差DFcは大きい値となる。従って、空燃比フィードバック補正量DFiが大きい正の値となる。この結果、図6のステップ610にて求められる最終燃料噴射量Fiは、基本燃料噴射量Fbaseよりも大きくなって、機関の空燃比がリッチ側の値となるように制御される。
反対に、機関の平均的な空燃比がリッチであるために酸素濃度センサ68の出力Voxsが理論空燃比よりもリッチ空燃比に対応した値を示すと、出力偏差量DVoxsが負の値となるので、サブフィードバック制御量vafsfbは負の値となる。従って、ステップ710にて求められるabyfsは空燃比センサ67が実際に検出している空燃比よりもリッチな値(より小さな値)として求められる。
従って、筒内燃料供給量Fc(k−N)は大きい値となるので、筒内燃料供給量偏差DFcは負の値として求められる。その結果、空燃比フィードバック補正量DFiが負の値となる。これにより、最終燃料噴射量Fiは、基本燃料噴射量Fbaseよりも小さくなって、機関の空燃比がリーン側の値となるように制御される。
次に、酸素濃度センサ68の出力Voxsの目標値Voxsrefを決定する際の作動について、図9に示したサブルーチンを参照しながら説明する。CPU81は、図8のステップ810の処理を実行するときステップ900から処理を開始し、ステップ905に進んで空燃比フラグXAFの値が「0」であるか否かを判定する。
空燃比フラグXAFの値は、後述するように、上流側触媒53から多量の酸素が流出することにより酸素濃度センサ68の出力Voxsが低側閾値Lohanより小さくなった場合に「0」に設定され、上流側触媒53から多量の未燃成分が流出することにより酸素濃度センサ68の出力Voxsが高側閾値Hihanより大きくなった場合に「1」に設定される。また、空燃比フラグXAFの値は、図示しないイグニッション・キーがオンされたときに起動される図示しないイニシャルルーチンにて「0」に設定されている。
いま、上流側触媒53から多量の酸素が流出していて、空燃比フラグXAFの値が「0」であるとして説明を続けると、CPU81はステップ905にて「Yes」と判定してステップ910に進み、酸素濃度センサ68の出力Voxsが低側閾値Lohanよりも小さいか否かを判定する。
この場合、酸素濃度センサ68の出力Voxsは低側閾値Lohanよりも小さいから、CPU81はステップ910にて「Yes」と判定してステップ915に進み、目標値Voxsrefに中央値aを設定し、その後ステップ995に進んで本ルーチンを一旦終了する。これにより、図8のステップ815にて計算される出力偏差量DVoxsが大きくなるので、上述した空燃比フィードバック制御により機関に供給される混合気の空燃比はリッチ側へと変化する(空燃比が小さくなる)。
この結果、上流側触媒53には理論空燃比よりもリッチな空燃比のガスが流入し始めるので、所定の時間が経過すると、酸素濃度センサ68の出力Voxsは低側閾値Lohanより大きくなる。このとき、CPU81が図9に示したルーチンを実行すると、CPU81はステップ905にて「Yes」と判定するとともに、ステップ910にて「No」と判定してステップ920に進み、酸素濃度センサ68の出力Voxsが高側閾値Hihanより大きいか否かを判定する。
この時点では、酸素濃度センサ68の出力Voxsは高側閾値Hihanより小さいから、CPU81はステップ920にて「No」と判定し、ステップ925に進んで目標値Voxsrefに上述した低側目標値Lotgtを設定する。この結果、上流側触媒53から流出するガスの空燃比が理論空燃比近傍の値に維持される。
その後、運転状態が急激に変化するなどの理由により、多量の未燃成分を含むガス(リッチなガス)が上流側触媒53に流入すると、上流側触媒53から多量の未燃成分が流出する。この結果、酸素濃度センサ68の出力Voxsは高側閾値Hihanより大きくなる。このとき、CPU81が図9に示したルーチンを実行すると、CPU81はステップ905にて「Yes」、ステップ910にて「No」と判定し、続くステップ920にて「Yes」と判定してステップ930に進み、空燃比フラグXAFの値を「1」に設定する。
次いで、CPU81は、ステップ915に進んで目標値Voxsrefに中央値aを設定し、ステップ995に進んで本ルーチンを一旦終了する。これにより、図8のステップ815にて計算される出力偏差量DVoxs(=a−Voxs)が絶対値の大きい負の値となるので、上述した空燃比フィードバック制御により機関に供給される混合気の空燃比はリーン側へと変化する。
このような状態において、CPU81が図9に示したルーチンを実行すると、CPU81はステップ905にて「No」と判定してステップ935に進み、酸素濃度センサ68の出力Voxsが高側閾値Hihanより大きいか否かを判定する。現時点は、酸素濃度センサ68の出力Voxsが高側閾値Hihanよりも大きくなった直後であるから、酸素濃度センサ68の出力Voxsは高側閾値Hihanより大きい。従って、CPU81は、ステップ935にて「Yes」と判定してステップ940に進み、目標値Voxsrefに中央値aを設定し、次いで、ステップ995に進んで本ルーチンを一旦終了する。
このような状態が継続すると、上流側触媒53から流出するガスの空燃比は理論空燃比となり、所定の時間が経過すると、酸素濃度センサ68の出力Voxsは高側閾値Hihanより小さくなる。このとき、CPU81が図9に示したルーチンを実行すると、CPU81はステップ905及びステップ935にて「No」と判定してステップ945に進み、酸素濃度センサ68の出力Voxsが低側閾値Lohanより小さいか否かを判定する。
この時点では、酸素濃度センサ68の出力Voxsは低側閾値Lohanより大きいから、CPU81はステップ945にて「No」と判定し、ステップ950に進んで目標値Voxsrefに上述した高側目標値Hitgtを設定し、次いで、ステップ995に進んで本ルーチンを一旦終了する。
その後、運転状態が急激に変化するなどの理由により、過剰な酸素を含むガス(リーンなガス)が上流側触媒53に流入すると、上流側触媒53から多量の酸素が流出する。この結果、酸素濃度センサ68の出力Voxsは低側閾値Lohanより小さくなる。このとき、CPU81が図9に示したルーチンを実行すると、CPU81はステップ905及びステップ935の両ステップにて「No」と判定し、続くステップ945にて「Yes」と判定してステップ955に進み、空燃比フラグXAFの値を「0」に設定する。そして、CPU81はステップ940に進んで目標値Voxsrefに中央値aを設定し、ステップ995に進んで本ルーチンを一旦終了する。このような作動が繰り返され、空燃比フィードバック制御が実行される。
以上、説明したように、第1実施形態に係る空燃比制御装置は、酸素濃度センサ68に到達している現在及び/又は過去のガス状態を酸素濃度センサ68の出力Voxsの状態(空燃比フラグXAFに反映される値)から判定し、そのガスの状態に応じて目標値Voxsrefを決定する。換言すると、CPU81は、酸素濃度センサ68の現在及び/又は過去の出力Voxs(即ち、酸素濃度センサ68の出力Voxsの履歴)に基づいて、酸素濃度センサ68に理論空燃比のガスが到達したときに同酸素濃度センサ68が出力するであろう値を決定し、その決定した値を空燃比フィードバック(サブフィードバック)制御の目標値Voxsrefとして設定する。
この結果、本空燃比制御装置は、上流側触媒53から流出するガスの空燃比を理論空燃比近傍の値に極力維持することが可能となるので、窒素酸化物や未燃成分の排出量を低減することができる。
(第2実施形態)
次に、本発明の第2実施形態に係る空燃比制御装置について説明する。この空燃比制御装置は、触媒温度センサ69により検出された上流側触媒53の温度Tempccroが所定の閾値温度Tthより小さい場合、目標値Voxsrefを酸素濃度センサ68の現在及び/又は過去の出力Voxsに依らず常に中央値aに維持する点においてのみ、第1実施形態に係る空燃比制御装置と相違している。従って、以下、かかる相違点を中心として説明する。
この空燃比制御装置のCPU81は、図9に代わる図10に示したルーチンを実行するようになっている。なお、図10において、図9に示したステップと同一のステップには同一の符号を付し、詳細な説明を省略する。
従って、CPU81は、図8のステップ810の処理を実行するとき、ステップ1000から処理を開始し、ステップ1005に進んで触媒温度センサ69により検出された上流側触媒53の温度Tempccroが所定の閾値温度Tthより大きいか否かを判定する。なお、閾値温度Tthは、上流側触媒53の活性化温度に対応した温度に設定されることが好適である。
いま、機関の始動後等であって、上流側触媒53が十分に暖機されていない(即ち、温度Tempccroが所定の閾値温度Tthより小さい)として説明を続けると、CPU81はステップ1005にて「No」と判定してステップ1010に進み、酸素濃度センサ68の出力Voxsの目標値Voxsrefを中央値aに設定する。次いで、CPU81は、ステップ1015に進んで空燃比フラグXAFの値を「0」に設定し、ステップ1095に進んで本ルーチンを一旦終了する。
その後、上流側触媒53の暖機が進み、温度Tempccroが所定の閾値温度Tthより大きくなると、CPU81はステップ1005にて「Yes」と判定し、図9に示したルーチンと同じステップ905〜ステップ950からなるルーチンを実行するようになる。この結果、温度Tempccroが所定の閾値温度Tthより大きい場合、酸素濃度センサ68に到達している現在及び/又は過去のガス状態に応じて目標値Voxsrefが決定されるようになる。
上流側触媒53の暖機が進んでいない場合、上流側触媒53は酸素吸蔵機能を殆ど発揮し得ない。従って、上流側触媒53にリーン及びリッチのガスが流入すると、上流側触媒53から多量(高濃度)の酸素及び多量(高濃度)の未燃成分の何れかがそれぞれ流出する。従って、このような状態においては、酸素濃度センサ68に理論空燃比のガスが到達しているとき、酸素濃度センサ68の出力Voxsは中央値aと等しくなる。
このような観点から、上述した第2実施形態に係る空燃比制御装置は、上流側触媒53の温度Tempccroが所定の閾値温度Tthより小さい場合、目標値Voxsrefを中央値aに維持する。これにより、上流側触媒53の暖機完了前においては機関に供給される混合気の空燃比を理論空燃比近傍の値に制御でき、上流側触媒53の暖機完了後においては上流側触媒53から流出するガスの空燃比を理論空燃比近傍の値に制御できるので、大気中に放出される窒素酸化物や未燃成分の量を低減することができる。
なお、上記実施形態において、閾値温度Tthは固定値であったが、上流側触媒53の劣化度を現す値(例えば、後述する上流側触媒53の最大酸素吸蔵量Cmax、上流側触媒53が装着された車両の走行距離、上流側触媒53のガス通過量の積分値、及び空燃比センサ67の出力と酸素濃度センサ68の出力の軌跡比等)に基づいて変更してもよい。この場合、触媒の劣化が進行するほどその触媒の活性化温度(十分な酸素吸蔵機能を発揮する温度)は高くなるから、上流側触媒53の劣化が進行するほど(例えば、最大酸素吸蔵量Cmaxが小さくなるほど)、閾値温度Tthを大きくすることが好適である。
(第3実施形態)
次に、本発明の第3実施形態に係る空燃比制御装置について説明する。この空燃比制御装置は、上流側触媒53の最大酸素吸蔵量Cmaxが所定の酸素吸蔵量(閾値)Cthより小さい場合、目標値Voxsrefを酸素濃度センサ68の現在及び/又は過去の出力Voxsに依らず常に中央値aに維持する点においてのみ、第1実施形態に係る空燃比制御装置と相違している。従って、以下、かかる相違点を中心として説明する。
この空燃比制御装置のCPU81は、図9に代わる図11に示したルーチンを実行するようになっている。なお、図11において、図9に示したステップと同一のステップには同一の符号を付し、詳細な説明を省略する。
従って、CPU81は、図8のステップ810の処理を実行するとき、ステップ1100から処理を開始してステップ1105に進み、上流側触媒53の最大酸素吸蔵量Cmaxが所定の酸素吸蔵量Cthより大きいか否かを判定する。
最大酸素吸蔵量Cmaxは、次のようにして図示しないルーチンにより別途推定されている。先ず、CPU81は、上流側触媒53の暖機が完了していて(即ち、上流側触媒53の温度Tempccroが所定の閾値温度Tthより大きく)、機関の運転状態が定常運転状態にある場合(例えば、スロットルバルブ開度TAの時間的変化量が小さい状態であって、エンジン回転速度NEの時間的変化量が小さい状態にあるとき)、機関に供給される混合気の空燃比を理論空燃比よりもリーンに維持し、酸素濃度センサ68の出力Voxsが最小出力値minとなったか否か(或いは、低側閾値Lohanより小さくなったか否か)を監視する。
そして、酸素濃度センサ68の出力Voxsが最小出力値minであることが確認された時点から、CPU81は、機関に供給される混合気の空燃比を理論空燃比よりもリッチに維持するとともに、酸素濃度センサ68の出力Voxsが最大出力値maxとなったか否か(或いは、高側閾値Hihanより大きくなったか否か)を監視する。
この間、上流側触媒53に吸蔵されていた酸素は消費されて行く。そして、酸素吸蔵量が「0」となることにより、上流側触媒53から未燃成分が大量に流出し始めると、酸素濃度センサ68の出力Voxsは最大出力値maxとなる。この時点を、説明の便宜上、時刻tsと称呼する。CPU81は、時刻tsから機関に供給される混合気の空燃比を理論空燃比よりもリーンの空燃比に維持する。同時に、CPU81は、酸素濃度センサ68の出力Voxsが最小出力値minとなったか否かを監視する。
この間、上流側触媒53には酸素が吸蔵されて行く。そして、酸素吸蔵量が最大酸素吸蔵量Cmaxとなることにより、上流側触媒53から酸素が大量に流出し始めると、酸素濃度センサ68の出力Voxsは最小出力値minとなる。この時点を、説明の便宜上、時刻tfと称呼する。
CPU81は、かかる時刻ts〜tf間において、下記(3)式及び下記(4)式に基いて酸素吸蔵量の変化量ΔO2を算出するとともにこれを積算して行き、時刻tfでの酸素吸蔵量の積算値を最大酸素吸蔵量Cmaxとして算出する。
ΔO2=0.23・mfr・|stoich − abyfs| …(3)
Cmax=ΣΔO2(区間t=ts〜tf) …(4)
上記(3)式において、値「0.23」は大気中に含まれる酸素の重量割合である。mfrは所定時間tsample内の燃料噴射量Fiの合計量であり、stoichは理論空燃比(例えば、14.7)である。abyfsは所定時間tsampleにおいて空燃比センサ67により検出された空燃比A/Fの平均値である。
この(3)式に示したように、所定時間tsample内の噴射量の合計量mfrに、検出された空燃比A/Fの理論空燃比からの偏移|stoich − abyfs|を乗じることで、同所定時間tsampleにおける空気の過剰量が求められ、この空気の過剰量に酸素の重量割合を乗じることで同所定時間tsampleにおける酸素吸蔵量変化量(吸蔵酸素の増加量)ΔO2が求められる。そして、(4)式に示したように、酸素吸蔵量変化量ΔO2を時刻ts〜tfに渡って積算することで、上流側触媒53が酸素を全く吸蔵していない状態から上流側触媒53が酸素を限界まで吸蔵した状態となるまでの酸素増加量、即ち最大酸素吸蔵量Cmaxが推定・算出される。
なお、時刻tfから機関に供給される混合気の空燃比を理論空燃比よりもリッチの空燃比に維持し、酸素濃度センサ68の出力Voxsが最大出力値maxとなるまでの間、上記(3)式と(4)式を用いて最大酸素吸蔵量Cmaxを求めてもよい。
いま、上流側触媒53が劣化していて、上流側触媒53の最大酸素吸蔵量Cmaxが所定の酸素吸蔵量Cthより小さいとして説明を続けると、CPU81はステップ1105にて「No」と判定してステップ1010に進み、酸素濃度センサ68の出力Voxsの目標値Voxsrefを中央値aに設定する。次いで、CPU81は、ステップ1015に進んで空燃比フラグXAFの値を「0」に設定し、ステップ1195に進んで本ルーチンを一旦終了する。このように、上流側触媒53の最大酸素吸蔵量Cmaxが酸素吸蔵量Cthより小さい場合、酸素濃度センサ68に到達している現在及び/又は過去のガス状態に関わらず、中央値aが目標値Voxsrefに設定される。
一方、上流側触媒53が劣化しておらず、上流側触媒53の最大酸素吸蔵量Cmaxが酸素吸蔵量Cthより大きいと、CPU81はステップ1105にて「Yes」と判定し、図9に示したルーチンと同じステップ905〜ステップ950からなるルーチンを実行する。このように、上流側触媒53の最大酸素吸蔵量Cmaxが酸素吸蔵量Cthより大きい場合、酸素濃度センサ68に到達している現在及び/又は過去のガス状態に応じて目標値Voxsrefが決定される。
上流側触媒53の最大酸素吸蔵量Cmaxが所定の酸素吸蔵量Cthより小さい場合、上流側触媒53は酸素吸蔵機能を殆ど発揮し得ない。従って、上流側触媒53にリーン及びリッチのガスが流入すると、上流側触媒53から多量(高濃度)の酸素及び多量(高濃度)の未燃成分の何れかがそれぞれ流出する。従って、このような状態においては、酸素濃度センサ68に理論空燃比のガスが到達しているとき、酸素濃度センサ68の出力Voxsは中央値aと等しくなる。
このような観点から、上述した第3実施形態に係る空燃比制御装置は、上流側触媒53の最大酸素吸蔵量Cmaxが酸素吸蔵量Cthより小さい場合、目標値Voxsrefを中央値aに維持する。これにより、上流側触媒53の最大酸素吸蔵量Cmaxが酸素吸蔵量Cthより小さい場合には機関に供給される混合気の空燃比を理論空燃比近傍の値に制御でき、上流側触媒53の最大酸素吸蔵量Cmaxが酸素吸蔵量Cthより大きい場合には、上流側触媒53から流出するガスの空燃比を理論空燃比近傍の値に制御できるので、大気中に放出される窒素酸化物や未燃成分の量を低減することができる。
(第4実施形態)
次に、本発明の第4実施形態に係る空燃比制御装置について説明する。この空燃比制御装置は、第1実施形態に係る空燃比制御装置が酸素濃度センサ68の現在及び/又は過去の出力Voxsに基づいて空燃比フィードバック制御の目標値Voxsrefを決定・変更していたのに対し、上流側触媒53の酸素吸蔵量OSAに基づいて同目標値Voxsrefを決定・変更する点においてのみ、第1実施形態に係る空燃比制御装置と相違している。
換言すると、第4実施形態に係る空燃比制御装置は、上流側触媒53の酸素吸蔵量OSA(酸素吸蔵量OSAの現在及び/又は過去の値、即ち酸素吸蔵量OSAの履歴)に基づいて、酸素濃度センサ68に理論空燃比のガスが到達したときに同酸素濃度センサ68が出力するであろう値を決定し、その決定した値を空燃比フィードバック(サブフィードバック)制御の目標値Voxsrefとして設定する。以下、第4実施形態について、第1実施形態との相違点を中心として説明する。
この空燃比制御装置のCPU81は、図9に代わる図12に示したルーチンを実行するようになっている。なお、図12において、図9に示したステップと同一のステップには同一の符号を付し、詳細な説明を省略する。
従って、CPU81は、図8のステップ810の処理を実行するとき、ステップ1200から処理を開始してステップ905に進み、空燃比フラグXAFの値が「0」であるか否かを判定する。
いま、上流側触媒53の酸素吸蔵量OSAが略最大酸素吸蔵量Cmaxに到達していて、上流側触媒53から多量の酸素が流出し、空燃比フラグXAFの値が「0」となっているとして説明を続けると、CPU81はステップ905にて「Yes」と判定してステップ1205に進み、酸素吸蔵量OSAの値が最大酸素吸蔵量Cmaxから微少量βだけ小さい値(高側酸素吸蔵量閾値)より大きいか否かを判定する。換言すると、CPU81はステップ1205にて酸素吸蔵量OSAが最大酸素吸蔵量Cmaxに実質的に到達しているか否かを判定する。なお、酸素吸蔵量OSAの推定方法については後述する。また、高側酸素吸蔵量閾値は、最大酸素吸蔵量Cmaxの半分の値(以下、「半分値」と称呼する。)よりも、当然に大きい。
この場合、酸素吸蔵量OSAの値は最大酸素吸蔵量Cmaxから微少量βだけ小さい値(高側酸素吸蔵量閾値)より大きいから、CPU81はステップ1205にて「Yes」と判定してステップ915に進み、目標値Voxsrefに中央値aを設定し、その後ステップ995に進んで本ルーチンを一旦終了する。このとき、酸素濃度センサ68には多量の酸素が到達しているから、出力Voxsは最小出力値min近傍の値となっている。従って、図8ステップ815にて計算される出力偏差量DVoxsが大きくなるので、上述した空燃比フィードバック(サブフィードバック)制御により機関に供給される混合気の空燃比はリッチ側へと変化する。
この結果、上流側触媒53には理論空燃比よりもリッチな空燃比のガスが流入し始めるので、所定の時間が経過すると、酸素吸蔵量OSAは減少して最大酸素吸蔵量Cmaxから微少量βだけ小さい値(高側酸素吸蔵量閾値)よりも小さくなる。このとき、CPU81が図12に示したルーチンを実行すると、CPU81はステップ905にて「Yes」と判定するとともに、ステップ1205にて「No」と判定してステップ1210に進み、酸素吸蔵量OSAが微少量β(低側酸素吸蔵量閾値)より小さいか否かを判定する。換言すると、CPU81はステップ1210にて酸素吸蔵量OSAが実質的に「0」であるか否かを判定する。また、低側酸素吸蔵量閾値は、最大酸素吸蔵量Cmaxの半分値よりも、当然に小さい。
この時点では、酸素吸蔵量OSAは実質的に「0」でないから、CPU81はステップ1210にて「No」と判定し、ステップ925に進んで目標値Voxsrefに上述した低側目標値Lotgtを設定する。
その後、運転状態が急激に変化するなどの理由により、多量の未燃成分を含むガス(リッチなガス)が上流側触媒53に流入すると、酸素吸蔵量OSAは減少し、微少量β(低側酸素吸蔵量閾値)より小さくなる。このとき、CPU81が図12に示したルーチンを実行すると、CPU81はステップ905にて「Yes」、ステップ1205にて「No」と判定し、続くステップ1210にて「Yes」と判定してステップ930に進み、空燃比フラグXAFの値を「1」に設定する。
次いで、CPU81は、ステップ915に進んで目標値Voxsrefに中央値aを設定し、ステップ1295に進んで本ルーチンを一旦終了する。このとき、酸素濃度センサ68には多量の未燃成分が到達しているから、出力Voxsは最大出力値max近傍の値となっている。従って、図8ステップ815にて計算される出力偏差量DVoxsが絶対値の大きい負の値となるので、上述した空燃比フィードバック(サブフィードバック)制御により機関に供給される混合気の空燃比はリーン側へと変化する。
このような状態において、CPU81が図12に示したルーチンを実行すると、CPU81はステップ905にて「No」と判定してステップ1215に進み、酸素吸蔵量OSAが微少量β(低側酸素吸蔵量閾値)より小さいか否かを判定する。換言すると、CPU81はステップ1210にて酸素吸蔵量OSAが実質的に「0」であるか否かを判定する。
現時点は、酸素吸蔵量OSAが微少量β(低側酸素吸蔵量閾値)より小さくなった直後であるから、CPU81は、ステップ1215にて「Yes」と判定し、ステップ940に進んで目標値Voxsrefに中央値aを設定し、ステップ1295に進んで本ルーチンを一旦終了する。
このような状態が継続すると、上流側触媒53には過剰の酸素を含むリーンなガスが流入し、その過剰な酸素は上流側触媒53に吸蔵されて行く。従って、酸素吸蔵量OSAは増大し、所定の時間後に微少量β(低側酸素吸蔵量閾値)より大きくなる。また、上流側触媒53から流出するガスの空燃比は理論空燃比となる。
このとき、CPU81が図12に示したルーチンを実行すると、CPU81はステップ905及びステップ1215の両ステップにて「No」と判定し、ステップ1220に進んで酸素吸蔵量OSAの値が最大酸素吸蔵量Cmaxから微少量βだけ小さい値(高側酸素吸蔵量閾値)より大きいか否かを判定する。この時点では、酸素吸蔵量OSAは最大酸素吸蔵量Cmax近傍の値とはなっていない。従って、CPU81はステップ1220にて「No」と判定してステップ950に進み、目標値Voxsrefに上述した高側目標値Hitgtを設定し、ステップ1295に進んで本ルーチンを一旦終了する。
その後、運転状態が急激に変化するなどの理由により、多量の酸素を含むガス(リーンなガス)が上流側触媒53に流入すると、酸素吸蔵量OSAは最大酸素吸蔵量Cmaxに略等しい値となる。このとき、CPU81が図12に示したルーチンを実行すると、CPU81はステップ905及びステップ1215の両ステップにて「No」と判定するとともに、ステップ1220にて「Yes」と判定してステップ955に進み、空燃比フラグXAFの値を「0」に設定する。そして、CPU81はステップ940に進んで目標値Voxsrefに中央値aを設定し、ステップ1295に進んで本ルーチンを一旦終了する。このような作動が繰り返され、空燃比フィードバック制御が実行される。
次に、酸素吸蔵量OSAの推定方法について説明する。CPU81は、酸素濃度センサ68の出力Voxsが最大出力値max以外の値から最大出力値maxになったとき(或いは、出力Voxsが高側閾値Hihanより小さい値から高側閾値Hihanより大きい値になったとき)、酸素吸蔵量OSAの値を「0」に設定する。そして、下記(5)式及び下記(6)式に応じて酸素吸蔵量OSAを推定する。これらの式の根拠は、上述した(3)式及び(4)式の根拠と同じである。
ΔO2=0.23・mfr・(abyfs − stoich) …(5)
OSA=ΣΔO2 (但し、0≦OSA≦Cmax) …(6)
以上、説明したように、第4実施形態に係る空燃比制御装置は、酸素濃度センサ68に到達している現在及び/又は過去のガス状態(換言すると、触媒の状態)を酸素吸蔵量OSAの状態から判定し、そのガスの状態に応じて目標値Voxsrefを決定する。即ち、CPU81は、酸素吸蔵量OSAの現在及び/又は過去の値(即ち、酸素吸蔵量OSAの履歴)に基づいて、酸素濃度センサ68に理論空燃比のガスが到達したときに同酸素濃度センサ68が出力するであろう値を決定し、その決定した値を空燃比フィードバック(サブフィードバック)制御の目標値Voxsrefとして設定する。
この結果、上流側触媒53から流出するガスの空燃比を理論空燃比近傍の値に維持することが可能となるので、窒素酸化物や未燃成分の排出量が低減する。
(第5実施形態)
次に、本発明の第5実施形態に係る空燃比制御装置について説明する。この空燃比制御装置は、酸素濃度センサ68の素子温度に応じて第1実施形態の高側目標値及び低側目標値を変更する点においてのみ、第1実施形態と相違している。従って、以下、かかる相違点を中心として説明する。
酸素濃度センサ68に到達するガスの空燃比に対する同酸素濃度センサ68の出力Voxsは、図13に示したように、同酸素濃度センサ68の素子温度に応じて変化する。図13において、実線の曲線C1及び破線の曲線C2は、酸素濃度センサ68の素子温度が相対的に低温及び高温であるときの出力Voxsをそれぞれ示している。
先ず、酸素濃度センサ68の素子温度が低温である場合について説明する。上流側触媒53から多量の未燃成分が流出し、酸素濃度センサ68に到達したガス(酸素濃度センサ到達ガス)の空燃比が理論空燃比よりもリッチであるとき、酸素濃度センサ68の出力Voxsは上述した高側閾値Hihanより大きくなる。その後、触媒53に流入するガスの空燃比が次第に大きくなると(リーン側に向けて変化すると)、出力Voxsは次第に低下して高側閾値Hihanより小さくなる。そして、酸素濃度センサ到達ガスの空燃比が理論空燃比となると、出力Voxsは、中央値aより大きく高側閾値Hihanより小さい値HitgtHiと一致する。その後、上流側触媒53が酸素を吸蔵しきれなくなると、上流側触媒53から多量の酸素が流出し始める。この結果、出力Voxsは低側閾値Lohanより小さくなる。
この状態から、触媒53に流入するガスの空燃比が次第に小さくなると(リッチ側に向けて変化すると)、出力Voxsは次第に上昇して低側閾値Lohanより大きくなる。そして、酸素濃度センサ到達ガスの空燃比が理論空燃比となると、出力Voxsは、中央値aより小さく低側閾値Lohanより大きい値LotgtLoと一致する。その後、酸素濃度センサ到達ガスの空燃比が更に小さくなり、上流側触媒53に吸蔵されていた酸素が総て消費されて上流側触媒53から多量の未燃成分が流出し始めると、出力Voxsは高側閾値Hihanより大きくなる。
次に、酸素濃度センサ68の素子温度が高温である場合について説明する。上流側触媒53から多量の未燃成分が流出し、酸素濃度センサ到達ガスの空燃比が理論空燃比よりもリッチであるとき、出力Voxsは上述した高側閾値Hihanより大きくなる。その後、触媒53に流入するガスの空燃比が次第に大きくなると、出力Voxsは次第に低下して高側閾値Hihanより小さくなる。そして、酸素濃度センサ到達ガスの空燃比が理論空燃比となると、出力Voxsは、中央値aより大きく値HitgtHiより小さい値HitgtLoと一致する。その後、上流側触媒53が酸素を吸蔵しきれなくなると、上流側触媒53から多量の酸素が流出し始める。この結果、出力Voxsは低側閾値Lohanより小さくなる。
この状態から、触媒53に流入するガスの空燃比が次第に小さくなると、出力Voxsは次第に上昇して低側閾値Lohanより大きくなる。そして、酸素濃度センサ到達ガスの空燃比が理論空燃比となると、出力Voxsは、値LotgtLoより大きく中央値aより小さい値LotgtHiと一致する。その後、酸素濃度センサ到達ガスの空燃比が更に小さくなり、上流側触媒53から多量の未燃成分が流出し始めると、出力Voxsは高側閾値Hihanより大きくなる。
第5実施形態に係る空燃比制御装置は、このような出力Voxsの挙動に基づき、出力Voxsが高側閾値Hihanより大きくなった後に低下して高側閾値Hihanと低側閾値Lohanの間にある期間、酸素濃度センサ68の素子温度が所定温度より低ければ目標値Voxsrefを低温用高側目標値である前記値HitgtHiに設定し、酸素濃度センサ68の素子温度が所定温度以上であれば目標値Voxsrefを低温用高側目標値HitgtHiよりも小さい高温用高側目標値である値HitgtLoに設定する。
更に、この空燃比制御装置は、出力Voxsが低側閾値Lohanより小さくなった後に上昇して低側閾値Lohanと高側閾値Hihanとの間にある期間、酸素濃度センサ68の素子温度が所定温度より低ければ目標値Voxsrefを低温用低側目標値である前記値LotgtLoに設定し、酸素濃度センサ68の素子温度が所定温度以上であれば目標値Voxsrefを低温用低側目標値LotgtLoよりも大きい高温用低側目標値である値LotgtHiに設定する。また、この空燃比制御装置は、出力Voxsが高側閾値Hihanより大きくなっている期間及び出力Voxsが低側閾値Lohanより小さくなっている期間、酸素濃度センサ68の素子温度に関わらず目標値Voxsrefを中央値aに設定する。
次に、この空燃比制御装置の構成及び実際の作動について説明する。この空燃比制御装置は、第1実施形態に係る空燃比制御装置が有する構成に加え、図14に示したように、素子温度センサ(酸素濃度センサ素子温度センサ)72を備えている。素子温度センサ72は、酸素濃度センサ68の素子の近傍に配設され、酸素濃度センサ68の素子温度Tsensを表す信号を出力するようになっている。素子温度センサ72は、図3に示した電気制御装置80のインターフェース85に接続されている。この素子温度センサ72は、酸素濃度センサ68の素子温度を取得する酸素濃度センサ素子温度取得手段である。
この空燃比制御装置のCPU81は、図6乃至図8に示したルーチンと、図9に変わる図15に示したルーチンと、を実行するようになっている。図15に示したルーチンは、図9のステップ925をステップ1505乃至ステップ1520に置換し、図9のステップ950をステップ1525乃至ステップ1540に置換したルーチンである。
従って、CPU81は、図8のステップ810の処理を実行するとき、図15のステップ1500から処理を開始してステップ905の処理を行う。いま、空燃比フラグXAFの値が「0」となっていて、酸素濃度センサ68の出力Voxsは低側閾値Lohanよりも小さい状態にあるとして説明を続けると、CPU81はステップ905にて「Yes」と判定してステップ910及びステップ915の処理を行って目標値Voxsrefを中央値aに設定し、ステップ1595に進んで本ルーチンを一旦終了する。
この結果、上述した空燃比フィードバック制御により機関に供給される混合気の空燃比はリッチ側へと変化するため、所定の時間が経過すると上流側触媒53から流出するガス中に含まれる酸素量が低下する。この結果、酸素濃度センサ68の出力Voxsは低側閾値Lohanより大きくなる。このとき、CPU81が図15に示したルーチンを実行すると、CPU81はステップ905及びステップ910を経由してステップ920に進む。
この時点では、酸素濃度センサ68の出力Voxsは高側閾値Hihanより小さいから、CPU81はステップ920にて「No」と判定してステップ1505に進み、素子温度センサ72の出力に基づいて酸素濃度センサ68の素子温度Tsensを取得する。次いで、CPU81はステップ1510に進み、取得した素子温度Tsensが所定温度Tsth以上であるか否かを判定する。
そして、CPU81は、素子温度Tsensが所定温度Tsth以上であるとき、ステップ1510にて「Yes」と判定してステップ1515に進み、目標値Voxsrefを高温用低側目標値である値LotgtHiに設定する。これに対し、CPU81は、素子温度Tsensが所定温度Tsthより小さいとき、ステップ1510にて「No」と判定してステップ1520に進み、目標値Voxsrefを低温用低側目標値である値LotgtLoに設定する。その後、CPU81はステップ1595に進み、本ルーチンを一旦終了する。この結果、上流側触媒53から流出するガスの空燃比が理論空燃比近傍の値に維持される。
その後、運転状態が急激に変化するなどの理由により、多量の未燃成分を含むガス(リッチなガス)が上流側触媒53に流入し、その結果、上流側触媒53から多量の未燃成分が流出すると、酸素濃度センサ68の出力Voxsは高側閾値Hihanより大きくなる。このとき、CPU81が図15に示したルーチンを実行すると、CPU81はステップ905、910、920、930及びステップ915に進み、空燃比フラグXAFの値を「1」に設定するとともに、目標値Voxsrefを中央値aに設定し、ステップ1595にて本ルーチンを一旦終了する。
このような状態(酸素濃度センサ68の出力Voxsが高側閾値Hihanよりも大きくなった直後)において、CPU81が図15に示したルーチンを実行すると、CPU81はステップ905、935及びステップ940の処理を行い、これにより目標値Voxsrefに中央値aを設定してからステップ1595にて本ルーチンを一旦終了する。
このような状態が継続すると、上述した空燃比フィードバック制御により機関に供給される混合気の空燃比はリーン側へと変化するため、所定の時間が経過すると酸素濃度センサ68の出力Voxsは高側閾値Hihanより小さくなる。このとき、CPU81が図15に示したルーチンを実行すると、CPU81はステップ905、935及びステップ945を経由してステップ1525に進み、ステップ1505と同様に酸素濃度センサ68の素子温度Tsensを取得する。次いで、CPU81はステップ1530に進み、取得した素子温度Tsensが所定温度Tsth以上であるか否かを判定する。
そして、CPU81は、素子温度Tsensが所定温度Tsth以上であるとき、ステップ1530にて「Yes」と判定してステップ1535に進み、目標値Voxsrefを高温用高側目標値である値HitgtLoに設定する。これに対し、CPU81は、素子温度Tsensが所定温度Tsthより小さいとき、ステップ1530にて「No」と判定してステップ1540に進み、目標値Voxsrefを低温用高側目標値である値HitgtHiに設定する。その後、CPU81はステップ1595に進み、本ルーチンを一旦終了する。この結果、上流側触媒53から流出するガスの空燃比が理論空燃比近傍の値に維持される。
その後、運転状態が急激に変化するなどの理由により、多量の過剰な酸素を含むガスが上流側触媒53に流入し、その結果、上流側触媒53から多量の酸素が流出すると、酸素濃度センサ68の出力Voxsは低側閾値Lohanより小さくなる。このとき、CPU81が図15に示したルーチンを実行すると、CPU81はステップ905、935、945、955及びステップ940に進み、空燃比フラグXAFの値を「0」に設定するとともに、目標値Voxsrefを中央値aに設定し、ステップ1595にて本ルーチンを一旦終了する。
以上、説明したように、第5実施形態の空燃比制御装置によれば、酸素濃度センサ68に到達したガスの状態と、酸素濃度センサ68の素子温度Tsensとに基づいて目標値Voxsrefを変更する。従って、空燃比フィードバック制御(サブフィードバック制御)の目標値Voxsrefを、酸素濃度センサ68に到達するガスの空燃比が理論空燃比であるときに同酸素濃度センサ68が示す出力Voxsに、より精度良く一致させることができる。この結果、上流側触媒53からは、略理論空燃比のガスが流出する機会が増大するので、窒素酸化物や未燃成分の大気への放出量をより一層低減することができる。
なお、上記第5実施形態においては、素子温度センサ72の出力に基づいて酸素濃度センサ68の素子温度Tsensを取得しているが、例えば、アクセルペダル操作量Accpなどのエンジン負荷及びエンジン回転速度NEと、酸素濃度センサ68の素子温度Tsensとの関係を予め実験により求めるとともに、この関係をマップMapTsens(Accp,NE)としてROM82に記憶しておき、実際のアクセルペダル操作量Accpと実際のエンジン回転速度NEとマップMapTsens(Accp,NE)とに基づいて素子温度Tsensを取得(推定)するようにしてもよい。
また、上記ステップ1510乃至ステップ1520は、低側目標値Logtgを取得された酸素濃度センサ68の素子温度Tsensが高いほど大きい値に変更する低側目標値設定手段に相当している。上記ステップ1530乃至ステップ1540は、高側目標値Hitgtを取得された酸素濃度センサ68の素子温度Tsensが高いほど小さい値に変更する高側目標値設定手段に相当している。換言すると、低側目標値Logtgを取得された酸素濃度センサ68の素子温度Tsensが高いほど大きい値となるように連続的に変更してもよく、高側目標値Hitgtを取得された酸素濃度センサ68の素子温度Tsensが高いほど小さい値となるように連続的に変更してもよい。
(第6実施形態)
次に、本発明の第6実施形態に係る空燃比制御装置について説明する。この空燃比制御装置は、酸素濃度センサ68の出力Voxsが高側閾値Hihanより大きくなってから低側閾値Lohanより小さくなるまでの期間、目標値Voxsrefを中央値aに設定することなく常に高側目標値に設定し、酸素濃度センサ68の出力Voxsが低側閾値Lohanより小さくなってから高側閾値Hihanより大きくなるまでの期間、目標値Voxsrefを中央値aに設定することなく常に低側目標値に設定する点において、上記第5実施形態と相違している。なお第5実施形態においても、高側目標値及び低側目標値は、素子温度Tsensに応じて変更される。
この空燃比制御装置のハードウエア構成は第5実施形態のそれと同一である。一方、この空燃比制御装置のCPU81は、図6乃至図8に示したルーチンと、図15に代わる図16に示したルーチンと、を実行するようになっている。
従って、CPU81は、図8のステップ810の処理を実行するとき、図16のステップ1600から処理を開始してステップ1605に進み、素子温度センサ72の出力に基づいて酸素濃度センサ68の素子温度Tsensを取得する。次に、CPU81はステップ1610に進み、空燃比フラグXAFの値が「0」であるか否かを判定する。
いま、上流側触媒53から多量の酸素が流出していて、空燃比フラグXAFの値が「0」であるとして説明を続けると、CPU81はステップ1610にて「Yes」と判定してステップ1615に進み、酸素濃度センサ68の出力Voxsが高側閾値Hihanより大きいか否かを判定する。
この場合、酸素濃度センサ68の出力Voxsは低側閾値Lohanよりも小さいから、酸素濃度センサ68の出力Voxsは高側閾値Hihanよりも当然に小さい。従って、CPU81はステップ1615にて「No」と判定してステップ1625に進み、同ステップ1625に示した素子温度Tsensと低側目標値Lotgtとの関係とステップ1605にて取得した実際の素子温度Tsensとに基づいて現時点の低側目標値Lotgtを決定する。ステップ1625に示した関係は、予め実験により求められ、ROM82内に記憶されている。この関係によれば、低側目標値Lotgtは、中央値aと低側閾値Lohanとの間の値であって、素子温度Tsensの増大とともに増大するように求められる。次に、CPU81はステップ1630に進み、目標値Voxsrefにステップ1625にて求めた低側目標値Lotgtを設定し、ステップ1695に進んで本ルーチンを一旦終了する。
以降、CPU81が図16に示したルーチンを実行すると、CPU81はステップ1605乃至ステップ1615、ステップ1625及びステップ1630の処理を実行し、目標値Voxsrefをステップ1625にて定められた低側目標値Lotgtに設定するようになる。
このように定められた目標値Voxsrefに基づいて上述した空燃比フィードバック制御が実行されることにより、機関に供給される混合気の空燃比はリッチ側へと変化する(空燃比が小さくなる。)。その結果、上流側触媒53から流出するガスの空燃比が理論空燃比近傍の値となる。
その後、運転状態が急激に変化するなどの理由により、多量の未燃成分を含むガスが上流側触媒53に流入すると、上流側触媒53から多量の未燃成分が流出する。この結果、酸素濃度センサ68の出力Voxsは高側閾値Hihanより大きくなる。このとき、CPU81が図16に示したルーチンを実行すると、CPU81はステップ1605及びステップ1610に続くステップ1615にて「Yes」と判定してステップ1620に進み、空燃比フラグXAFの値を「1」に設定する。
次いで、CPU81はステップ1635に進み、同ステップ1635に示した素子温度Tsensと高側目標値Hitgtとの関係とステップ1605にて取得した実際の素子温度Tsensとに基づいて現時点の高側目標値Hitgtを決定する。ステップ1635に示した関係は、予め実験により求められ、ROM82内に記憶されている。この関係によれば、高側目標値Hitgtは、中央値aと高側閾値Hihanとの間の値であって、素子温度Tsensの増大とともに減少するように求められる。次に、CPU81はステップ1640に進み、目標値Voxsrefにステップ1635にて求めた高側目標値Hitgtを設定し、ステップ1695に進んで本ルーチンを一旦終了する。
以降、CPU81が図16に示したルーチンの処理を開始すると、CPU81はステップ1605に続くステップ1610にて「No」と判定し、ステップ1645に進んで酸素濃度センサ68の出力Voxsが低側閾値Lohanより小さいか否かを判定する。この場合、出力Voxsは高側閾値Hihanを上回った直後であるから低側閾値Lohanより当然に大きい。従って、CPU81はステップ1645にて「No」と判定し、ステップ1635及びステップ1640に進む。これにより、目標値Voxsrefにはステップ1635にて決定される高側目標値Hitgtが設定されるようになる。
このように定められた目標値Voxsrefに基づいて上述した空燃比フィードバック制御が実行されることにより、機関に供給される混合気の空燃比はリーン側へと変化する(空燃比が大きくなる。)。その結果、上流側触媒53から流出するガスの空燃比が理論空燃比近傍の値となる。
その後、運転状態が急激に変化するなどの理由により、過剰な酸素を含むガス(リーンなガス)が上流側触媒53に流入すると、上流側触媒53から多量の酸素が流出する。この結果、酸素濃度センサ68の出力Voxsは低側閾値Lohanより小さくなる。このとき、CPU81が図16に示したルーチンを実行すると、CPU81はステップ1605及び1610に続くステップ1645にて「Yes」と判定し、ステップ1650に進んで空燃比フラグXAFの値を「0」に設定する。そして、CPU81はステップ1625及びステップ1630に進み、目標値Voxsrefにステップ1625にて決定される低側目標値Lotgtを再び設定するようになる。
以上、説明したように、第6実施形態に係る空燃比制御装置は、酸素濃度センサ68の出力Voxsが低側閾値Lohanより小さくなってから(即ち、CPU81がステップ1645にて「Yes」と判定し、ステップ1650にて空燃比フラグXAFの値を「0」に変更してから)、高側閾値Hihanより大きくなるまで(即ち、CPU81がステップ1615にて「Yes」と判定し、ステップ1620にて空燃比フラグXAFの値を「1」に変更するまで)の期間、空燃比フィードバック制御の目標値Voxsrefを中央値aと低側閾値Lohanとの間の低側目標値Lotgtに設定する。更に、低側目標値Lotgtは、酸素濃度センサ68の素子温度Tsensが高くなるほど大きくなるように変更される。
加えて、この空燃比制御装置は、酸素濃度センサ68の出力Voxsが高側閾値Hihanより大きくなってから(即ち、CPU81がステップ1615にて「Yes」と判定し、ステップ1620にて空燃比フラグXAFの値を「1」に変更してから)、低側閾値Lohanより小さくなるまで(即ち、CPU81がステップ1645にて「Yes」と判定し、ステップ1650にて空燃比フラグXAFの値を「0」に変更するまで)の期間、空燃比フィードバック制御の目標値Voxsrefを中央値aと高側閾値Hihanとの間の高側目標値Hitgtに設定する。更に、高側目標値Hitgtは、酸素濃度センサ68の素子温度Tsensが高くなるほど小さくなるように変更される。
この結果、酸素濃度センサ68の素子温度Tsensにかかわらず、空燃比フィードバック制御(サブフィードバック制御)の目標値Voxsrefを、酸素濃度センサ68に理論空燃比のガスが到達している場合に同酸素濃度センサ68が出力する値Voxsに、実質的に一致させることができるので、窒素酸化物や未燃成分を上流側触媒53内で浄化する状態をできるだけ維持することが可能となる。
なお、上記ステップ1625は、低側目標値Logtgを取得された酸素濃度センサ68の素子温度Tsensが高いほど大きい値に変更する低側目標値設定手段に相当している。上記ステップ1635は、高側目標値Hitgtを取得された酸素濃度センサ68の素子温度Tsensが高いほど小さい値に変更する高側目標値設定手段に相当している。
以上、本発明による空燃比制御装置の各実施形態によれば、触媒(上流側触媒53)から流出するガスの酸素濃度を検出する酸素濃度センサ68に到達したガスの状態(酸素又は未燃成分の量・濃度)を、現在及び/又は過去の酸素濃度センサ出力Voxs、或いは、現在及び/又は過去の酸素吸蔵量OSAに基づいて推定し、その推定結果に基づいて空燃比フィードバック制御の目標値でもある酸素濃度センサ68の出力の目標値Voxsrefを変更する。従って、上流側触媒53から流出するガスの空燃比が理論空燃比近傍に制御されやすくなるので、上流側触媒53が窒素酸化物及び未燃成分を効果的に浄化する状態を維持することができる。
なお、本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上流側触媒53の温度は、機関の運転状態を表すパラメータ(例えば、吸入空気量Ga及びエンジン回転速度NE)に基づいて推定されてもよい。また、上記実施形態では燃料噴射量を変更して上流側触媒53に流入するガスの空燃比を制御していたが、燃料噴射量の制御に加え、又は、燃料噴射量の制御に代え、上流側触媒53に二次空気や燃料などを直接加えることにより、上流側触媒53に流入するガスの空燃比を制御してもよい。
また、空燃比センサ67は、酸素濃度センサ68と同様な酸素濃度センサであってもよい。この場合、上流側の酸素濃度センサの出力がリーンであることを示したときに次第に増大し、リッチであることを示したときに次第に減少するとともに、上流側の酸素濃度センサの出力がリーンからリッチへと変化したことを示したときに所定量SKlだけスキップ的に減少し、リッチからリーンへと変化したことを示したときに所定量SKrだけスキップ状に増大するフィードバック補正量を求め、これを基本燃料噴射量Fbaseに加えるか乗じることで最終燃料噴射量Fiを求めてもよい。
そして、このようなフィードバック制御において、酸素濃度センサ68の出力Voxsが目標値Voxsrefより小さいとき所定量SKrを次第に増大させるとともに所定量SKlを次第に減少せしめ、酸素濃度センサ68の出力Voxsが目標値Voxsrefより大きいとき所定量SKrを次第に減少させるとともに所定量SKlを次第に増大せしめてもよい。
また、上記実施形態においては、触媒の状態を示す値として酸素吸蔵量OSAを求めていたが、上流側触媒53の下流であって下流側触媒54の上流の排気通路に、水素濃度センサやNOx濃度センサを配設し、これらのセンサの出力に基づいて触媒の状態を示す値を推定してもよい。また、酸素吸蔵量OSAは、触媒内における酸化・還元反応を記述した触媒モデルに基づいて求めることもできる。更に、第2〜第4実施形態における低側目標値Logtgを、第5及び第6実施形態のように、取得された酸素濃度センサ68の素子温度Tsensが高いほど大きい値となるように変更してもよく、第2〜第4実施形態における高側目標値Hitgtを、第5及び第6実施形態のように、取得された酸素濃度センサ68の素子温度Tsensが高いほど小さい値となるように変更してもよい。
25…燃焼室、32…吸気弁、35…排気弁、39…インジェクタ、53…上流側触媒、67…空燃比センサ、68…酸素濃度センサ、69…触媒温度センサ、80…電気制御装置、81…CPU。