以下、本発明の各実施形態に係る内燃機関の燃料噴射量制御装置(以下、単に「制御装置」とも称呼する。)について図面を参照しながら説明する。この制御装置は、内燃機関に供給される混合気の空燃比(機関の空燃比)を制御する空燃比制御装置の一部でもある。
<第1実施形態>
(構成)
図1は、第1実施形態に係る制御装置(以下、「第1制御装置」とも称呼する。)を、4サイクル・火花点火式・多気筒(直列4気筒)・内燃機関10に適用したシステムの概略構成を示している。
内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、を含む。
機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒(燃焼室)21を備えている。各気筒は、図示しない「吸気ポート及び排気ポート」と連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。
吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。
インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。
吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。
燃料噴射弁33は、一つの気筒(燃焼室)21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を吸気ポート(従って、燃料噴射弁33に対応する気筒)内に噴射するようになっている。
より具体的に述べると、燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁33に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。従って、燃料噴射弁33が正常であれば、燃料噴射弁33は指示燃料噴射量と等量の燃料を噴射する。しかしながら、燃料噴射弁33に異常が発生すると、燃料噴射弁33は指示燃料噴射量とは相違する量の燃料を噴射するようになる。これにより、気筒別空燃比の気筒間における不均一性が発生する。
スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された「図示しない下流側触媒」を備えている。
エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数(2以上であり、本例では4つ)の気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。
エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。
上流側触媒43及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属(触媒物質)からなる活性成分を担持する三元触媒装置(排気浄化用の触媒)である。各触媒は、各触媒に流入するガスの空燃比が「三元触媒のウインドウ内の空燃比(例えば、理論空燃比)」であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物(NOx)を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、触媒に担持されているセリア(CeO2)等の酸素吸蔵材によってもたらされる。
このシステムは、熱線式エアフローメータ51、スロットルポジションセンサ52、水温センサ53、クランクポジションセンサ54、インテークカムポジションセンサ55、上流側空燃比センサ56、下流側空燃比センサ57、及び、アクセル開度センサ58を備えている。
エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量(吸入空気流量)Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。
スロットルポジションセンサ52は、スロットル弁34の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
水温センサ53は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態(機関10の温度)を表すパラメータである。
クランクポジションセンサ54は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。
インテークカムポジションセンサ55は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ54及びインテークカムポジションセンサ55からの信号に基づいて、基準気筒(例えば第1気筒)の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において「0°クランク角度」に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。
上流側空燃比センサ56は、エキゾーストマニホールド41の集合部41b(排気集合部HK)と上流側触媒43との間の位置において「エキゾーストマニホールド41及びエキゾーストパイプ42の何れか」に配設されている。上流側空燃比センサ56は、単に「空燃比センサ」とも称呼される。
上流側空燃比センサ56は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
上流側空燃比センサ56は、図3及び図4に示したように、空燃比検出部56aと、外側保護カバー56bと、内側保護カバー56cと、を有している。
外側保護カバー56bは金属からなる中空円筒体である。外側保護カバー56bは内側保護カバー56cを覆うように、内側保護カバー56cを内部に収容している。外側保護カバー56bは、流入孔56b1をその側面に複数備えている。流入孔56b1は、排気通路を流れる排ガス(外側保護カバー56bの外部の排ガス)EXを外側保護カバー56bの内部に流入させるための貫通孔である。更に、外側保護カバー56bは、外側保護カバー56bの内部の排ガスを外部(排気通路)に流出させるための流出孔56b2をその底面に有している。
内側保護カバー56cは、金属からなり、外側保護カバー56bの直径よりも小さい直径を有する中空円筒体である。内側保護カバー56cは、空燃比検出部56aを覆うように空燃比検出部56aを内部に収容している。内側保護カバー56cは流入孔56c1をその側面に複数備えている。この流入孔56c1は、外側保護カバー56bの流入孔56b1を通して「外側保護カバー56bと内側保護カバー56cとの間の空間」に流入した排ガスを、内側保護カバー56cの内部に流入させるための貫通孔である。更に、内側保護カバー56cは、内側保護カバー56cの内部の排ガスを外部に流出させるための流出孔56c2をその底面に有している。
図5の(A)〜(C)に示したように、空燃比検出部56aは、固体電解質層561と、排ガス側電極層562と、大気側電極層563と、拡散抵抗層564と、第一壁部565と、触媒部566と、第二壁部567と、ヒータ568と、を含んでいる。
固体電解質層561は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層561は、ZrO2(ジルコニア)にCaOを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層561は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
排ガス側電極層562は、白金(Pt)等の触媒活性の高い貴金属からなる。排ガス側電極層562は、固体電解質層561の一つの面上に形成されている。排ガス側電極層562は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
大気側電極層563は、白金(Pt)等の触媒活性の高い貴金属からなる。大気側電極層563は、固体電解質層561の他の面上であって、固体電解質層561を挟んで排ガス側電極層562に対向するように形成されている。大気側電極層563は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
拡散抵抗層(拡散律速層)564は、多孔質セラミック(耐熱性無機物質)からなる。拡散抵抗層564は、排ガス側電極層562の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
第一壁部565は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部565は拡散抵抗層564の角部(一部)を除いて拡散抵抗層564を覆うように形成されている。即ち、第一壁部565は拡散抵抗層564の一部を外部に露呈させる貫通部を備えている。
触媒部566は、第一壁部565の貫通部を閉じるように貫通部に形成されている。触媒部566は、上流側触媒43と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を担持している。触媒部566は多孔質体である。従って、図5の(B)及び図5の(C)に白抜きの矢印により示したように、排ガス(前述した内側保護カバー56cの内部に流入した排ガス)は、触媒部566を通過して拡散抵抗層564に到達し、その排ガスは更に拡散抵抗層564を通過して排ガス側電極層562に到達する。
第二壁部567は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部567は大気側電極層563を収容する空間である「大気室56A」を形成するように構成されている。大気室56Aには大気が導入されている。
上流側空燃比センサ56には電源569が接続されている。電源569は、大気側電極層563側が高電位となり、排ガス側電極層562が低電位となるように、電圧V(=Vp)を印加する。
ヒータ568は第二壁部567に埋設されている。ヒータ568は後述する電気制御装置70によって通電されたときに発熱し、固体電解質層561、排ガス側電極層562及び大気側電極層563を加熱し、それらの温度を調整するようになっている。
このような構造を有する上流側空燃比センサ56は、図5の(B)に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層564を通って排ガス側電極層562に到達した酸素をイオン化して大気側電極層563へと通過させる。この結果、電源569の正極から負極へと電流Iが流れる。この電流Iの大きさは、図6に示したように、電圧Vを所定値Vp以上に設定すると、排ガス側電極層562に到達した酸素の濃度(酸素分圧、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ56は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
これに対し、図5の(C)に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ56は、大気室56Aに存在する酸素をイオン化して排ガス側電極層562へと導き、拡散抵抗層564を通って排ガス側電極層562に到達する未燃物(HC,CO及びH2等)を酸化する。この結果、電源569の負極から正極へと電流Iが流れる。この電流Iの大きさも、図6に示したように、電圧Vを所定値Vp以上に設定すると、排ガス側電極層562に到達した未燃物の濃度(即ち、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ56は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
即ち、空燃比検出部56aは、上流側空燃比センサ56の配設位置を流れ、且つ、外側保護カバー56bの流入孔56b1及び内側保護カバー56cの流入孔56c1を通って空燃比検出部56aに到達しているガスの空燃比に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が大きくなるほど(リーンとなるほど)増大する。即ち、出力値Vabyfsは、図7に示したように、空燃比検出部56aに到達している排ガスの空燃比に実質的に比例する。なお、出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。
このように、上流側空燃比センサ56は、機関10の排気通路であって排気集合部HKと三元触媒43との間の位置に配設されるとともに、空燃比検出素子(固体電解質層)561と、前記空燃比検出素子561を挟んで対向するように配設された排ガス側電極層562及び基準ガス側電極層563と、前記排ガス側電極層562を覆う多孔質層(拡散抵抗層)564と、を有する空燃比センサであって、前記空燃比センサが配設された位置を通過する排ガスのうち前記多孔質層564を通って前記排ガス側電極層562に到達した排ガスに含まれる「酸素の量(酸素の濃度、酸素分圧)及び未燃物の量(未燃物の濃度、未燃物の分圧)」に応じた出力値を出力する空燃比センサである。
電気制御装置70は、図7に示した空燃比変換テーブル(マップ)Mapabyfsを記憶している。電気制御装置70は、上流側空燃比センサ56の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する(即ち、検出空燃比abyfsを取得する)。
ところで、排ガスに含まれる水素を含む未燃物は、触媒部566においてある程度まで浄化される。しかし、排ガスに多量の未燃物が含まれる場合、その未燃物を触媒部566において完全に浄化することはできない。その結果、拡散抵抗層564の外表面には、「酸素、及び、その酸素に対して過剰な未燃物」が到達する場合が生じる。更に、前述したように、水素は他の未燃物よりも分子径が小さいので、水素は他の未燃物と比較して拡散抵抗層564を優先的に拡散する。
加えて、上流側空燃比センサ56は、前述したように、排気集合部HKと上流側触媒43との間の位置に配設されている。更に、上流側空燃比センサ56は、エキゾーストマニホールド41の内部及びエキゾーストパイプ42の内部の何れかに外側保護カバー56bが露呈するように配設されている。
より具体的には、上流側空燃比センサ56は、図3及び図4に示したように、保護カバー(56b、56c)の底面が排ガスEXの流れと平行であり、保護カバー(56b、56c)の中心軸線CCが排ガスEXの流れと直交するように排気通路内に配設される。これにより、外側保護カバー56bの流入孔56b1に到達した排気通路内の排ガスEXは、外側保護カバー56bの流出孔56b2近傍を流れる排気通路内の排ガスEXの流れにより、外側保護カバー56b及び内側保護カバー56cの内部へと吸い込まれる。
従って、排気通路を流れる排ガスEXは、図3及び図4において矢印Ar1により示したように外側保護カバー56bの流入孔56b1を通って外側保護カバー56bと内側保護カバー56cとの間に流入する。次いで、その排ガスは、矢印Ar2に示したように「内側保護カバー56cの流入孔56c1」を通って「内側保護カバー56cの内部」に流入した後に、空燃比検出部56aに到達する。その後、その排ガスは、矢印Ar3に示したように「内側保護カバー56cの流出孔56c2及び外側の保護カバー56bの流出孔56b2」を通って排気通路に流出する。
このため、「外側保護カバー56b及び内側保護カバー56c」の内部における排ガスの流速は、外側保護カバー56bの流出孔56b2近傍を流れる排ガスEXの流速(従って、単位時間あたりの吸入空気量である吸入空気量Ga)に応じて変化する。換言すると、「ある空燃比の排ガス(第1排ガス)が流入孔56b1に到達した時点」から「その第1排ガスが空燃比検出部56aに到達する時点」までの時間は、吸入空気量Gaに依存するが機関回転速度NEには依存しない。従って、上流側空燃比センサ56の「排気通路を流れる排ガスの空燃比」に対する出力応答性(応答性)は、上流側空燃比センサ56の外側保護カバー56bの近傍を流れる排ガスの流量(流速)が大きいほど、即ち、吸入空気量Gaが大きいほど、良好になる。このことは、上流側空燃比センサ56が内側保護カバー56cのみを有する場合にも成立する。
再び、図1を参照すると、下流側空燃比センサ57は、エキゾーストパイプ42内に配設されている。下流側空燃比センサ57の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側(即ち、上流側触媒43と下流側触媒との間の排気通路)である。下流側空燃比センサ57は、周知の起電力式の酸素濃度センサ(安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサ)である。下流側空燃比センサ57は、排気通路であって下流側空燃比センサ57が配設されている部位を通過するガスである被検出ガスの空燃比に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比に応じた値である。
この出力値Voxsは、図8に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V〜1.0V)となる。出力値Vabyfsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V〜0V)となる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(理論空燃比に対応した中間電圧Vst、例えば、約0.5V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
なお、下流側空燃比センサ57も、固体電解質層と、固体電解質層を挟んで対向するように固体電解質層の両面に配設された「排ガス側電極層及び大気側(基準ガス側)電極層」とを備え、且つ、排ガス側電極層は多孔質層(保護層)により覆われている。従って、被検出ガスは、多孔質層を通過する際に酸素平衡後ガス(酸素及び未燃物が化合した後のガス)へと変化し、排ガス側電極層に到達する。水素は、他の未燃物よりも、その多孔質層を容易に通過する。但し、上流側触媒43により、「気筒別空燃比の不均一性が生じた際に発生する過剰な水素」は特別な場合を除き浄化される。従って、下流側空燃比センサ57の出力値Voxsは、特別な場合を除き、気筒別空燃比の不均一性の程度によって変化しない。
図1に示したアクセル開度センサ58は、運転者によって操作されるアクセルペダルAPの操作量Accp(アクセルペダル操作量、アクセルペダルAPの開度)を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。
電気制御装置70は、「CPU、CPUが実行するプログラム、ルックアップテーブル(マップ)、関数及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等」からなる周知のマイクロコンピュータである。
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。
バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化(デフォルト値に設定)するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。
電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ(実際にはイグナイタ)、各気筒に対応して設けられた燃料噴射弁33、及び、スロットル弁アクチュエータ等に駆動信号(指示信号)を送出するようになっている。
なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量(アクセルペダル操作量Accp)に応じて「機関10の吸気通路に配設されたスロットル弁34」の開度を変更するスロットル弁駆動手段を備えている。
(水素の選択的拡散及びメインフィードバック制御に起因する空燃比のリーン側への移行(リーン誤補正)について)
インバランス気筒の空燃比が非インバランス気筒の空燃比よりもリッチ側に偏移した場合、上流側空燃比センサ56の出力値Vabyfsに基く空燃比のフィードバック制御(メインフィードバック制御)により、機関の空燃比がリーン側に偏移する理由については上述した。
即ち、排ガス中の未燃物(HC、CO及びH2)の量は、図2に示したように、気筒に供給される混合気の空燃比がリッチ側の空燃比になるほど急激に増大する。このため、「特定気筒に対して供給される燃料の量のみが40%だけ過剰な量となった場合」に排ガスに含まれる水素H2の総量SH1は、図2によれば、SH1=H3+H0+H0+H0=H3+3・H0となる。
ここで、機関10の各気筒に吸入される空気量(重量)はA0であると仮定する。更に、各気筒に供給される燃料量(重量)がF0であるとき、空燃比A0/F0は理論空燃比に一致すると仮定する。この仮定によれば、「特定気筒に対して供給される燃料の量のみが40%だけ過剰な量となった場合」に4気筒に供給される燃料の総量(各気筒がそれぞれ一回の燃焼行程を終了する間に機関全体に供給される燃料の量)は4.4・F0(=1.4・F0+1・F0+1・F0+1・F0)である。よって、機関の真の平均空燃比は、4・A0/(4.4・F0)=A0/(1.1・F0)となる。
これに対し、「各気筒に対して供給される燃料の量が均等に10%だけ過剰となった場合」に排ガスに含まれる水素H2の総量SH2は、図2によれば、SH2=H1+H1+H1+H1=4・H1となる。この場合の機関10に供給される燃料の総量は4.4・F0(=1.1・F0+1.1・F0+1.1・F0+1.1・F0)である。よって、機関の真の平均空燃比も、4・A0/(4.4・F0)=A0/(1.1・F0)となる。量H1は量H0よりも僅かに大きいが、量H1及び量H0は共に極めて微量である。即ち、量H1と量H0とは、量H3に比べた場合、互いに略等しいと言える。従って、水素総量SH1は水素総量SH2よりも極めて大きくなる(SH1>>SH2)。
このように、機関10全体に供給される混合気の空燃比の真の平均値が同一であっても、空燃比気筒間インバランスが発生した場合に排ガスに含まれる水素の総量SH1は、空燃比気筒間インバランスが発生していない場合に排ガスに含まれる水素の総量SH2よりも、顕著に大きくなる。
従って、特定気筒に対して供給される燃料の量のみが40%だけ過剰な量となった場合、拡散抵抗層564における「水素H2の選択的拡散」に起因して、上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsは「機関10全体に供給される混合気の空燃比の真の平均値(A0/(1.1・F0))」よりもリッチ側の空燃比(小さい空燃比)となる。
つまり、排ガスの空燃比の平均値が同じであっても、空燃比気筒間インバランスが発生している場合には、空燃比気筒間インバランスが発生していない場合よりも、上流側空燃比センサ56の排ガス側電極層562における水素H2の濃度が高くなるから、上流側空燃比センサ56の出力値Vabyfsは「空燃比の真の平均値」よりもリッチ側の空燃比を示す値となるのである。その結果、メインフィードバック制御により、機関10全体に供給される混合気の空燃比の真の平均は、目標空燃比(理論空燃比)よりもリーン側に制御されてしまう。第1制御装置及び本発明の他の実施形態に係る制御装置は、このようなリーン側への補正を補償することにより、窒素酸化物の排出量を低減する。
インバランス気筒の空燃比が、非インバランス気筒の空燃比よりもリーン側に偏移した場合においても、「水素の選択的拡散に起因する空燃比のリーン側への移行」が発生する。このような状況は、例えば、特定気筒に対して備えられている燃料噴射弁33の噴射特性が「指示燃料噴射量よりも相当に少ない量の燃料を噴射する特性」になった場合に生じる。
いま、ある一つの特定気筒(便宜上、第1気筒とする。)に対して供給される燃料の量が40%だけ過小な量(即ち、0.6・F0)であり、残りの3気筒(第2、第3及び第4気筒)に対して供給される燃料の量はそれらの気筒の空燃比が理論空燃比と一致するような燃料の量(即ち、F0)となった場合を想定する。なお、この場合、失火は発生しないものと仮定している。
この場合、メインフィードバック制御により、第1気筒乃至第4気筒に供給される燃料の量は同じ所定量(10%)だけ増大されたと仮定する。このとき、第1気筒に供給される燃料の量は0.7・F0となり、第2乃至第4気筒のそれぞれに供給される燃料の量は1.1・F0となる。
係る状態においては、4気筒エンジンである機関10に供給される空気量の総量(各気筒がそれぞれ一回の燃焼行程を終了する間に機関10全体に供給される空気量)は4・A0である。また、メインフィードバック制御の結果、機関10に供給される燃料量の総量(各気筒がそれぞれ一回の燃焼行程を終了する間に機関10全体に供給される燃料の量)は4・F0(=0.7・F0+1.1・F0+1.1・F0+1.1・F0)となる。よって、機関10全体に供給される混合気の空燃比の真の平均値は、4・A0/(4・F0)=A0/F0、即ち、理論空燃比となる。
しかしながら、実際には、この状態における「排ガスに含まれる水素H2の総量SH3」は、SH3=H4+H1+H1+H1=H4+3・H1となる(図2を参照。)。H4は、空燃比がA0/(0.7・F0)であるときに発生する水素量であり、値H0(空燃比が理論空燃比であるときに発生する水素量)と略等しい。
これに対し、空燃比気筒間インバランスが発生しておらず、各気筒の空燃比が理論空燃比である場合、「排ガスに含まれる水素H2の総量SH4」は、SH4=H0+H0+H0+H0=4・H0となる。以上から、総量SH3(=H4+3・H1)=H0+3・H1>総量SH4(=4・H0)が成立する。
従って、「インバランス気筒の空燃比が、非インバランス気筒の空燃比よりもリーン側に偏移した場合」においても、水素の選択的拡散の影響が上流側空燃比センサ56の出力値Vabyfsに現れる。即ち、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより得られる検出空燃比abyfsは、目標空燃比abyfrである理論空燃比よりも「リッチ側の空燃比(理論空燃比よりも小さい空燃比)」となる。その結果、メインフィードバック制御が更に実行され、機関10全体に供給される混合気の空燃比の真の平均値は、理論空燃比よりもリーン側に補正されてしまう。第1制御装置及び本発明の他の実施形態に係る制御装置は、このようなリーン側への補正を補償することにより、窒素酸化物の排出量を低減する。
(空燃比不均衡指標値の取得)
次に、第1制御装置が採用した「空燃比不均衡指標値の取得方法」について説明する。空燃比不均衡指標値は、燃料噴射弁33の特性が変化すること等に起因する「気筒間における空燃比の不均一性(不均衡・インバランス)の程度」を表すパラメータである。第1制御装置は、この空燃比不均衡指標値に基づいて指示燃料噴射量Fiを増量する(指示空燃比を小さくする)。
第1制御装置は、空燃比不均衡指標値を次のようにして取得する。
(1)第1制御装置は、所定のパラメータ取得条件(空燃比不均衡指標値取得条件)が成立している場合、所定時間(一定のサンプリング時間ts)が経過する毎に「上流側空燃比センサ56の出力値Vabyfs(又は、前述したハイパスフィルタ処理後出力値VHPF)」の「所定の単位時間当たりの変化量」を取得する。
この「出力値Vabyfsの単位時間当たりの変化量」は、その単位時間が例えば4m秒程度の極めて短い時間であるとき、出力値Vabyfsの時間についての微分値(時間微分値d(Vabyfs)/dt、一階微分値d(Vabyfs)/dt)であると言うこともできる。従って、「出力値Vabyfsの単位時間当たりの変化量」は「変化率ΔAF」又は「傾きΔAF」とも称呼される。更に、変化率ΔAFは「基本指標量」又は「基本パラメータ」とも称呼される。
(2)第1制御装置は、一つの単位燃焼サイクル期間において取得された複数の変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを求める。単位燃焼サイクル期間は、一つの上流側空燃比センサ56に到達する排ガスを排出している気筒の総てにおいて、各一回の燃焼行程が終了するのに要するクランク角度が経過する期間である。本例の機関10は、直列4気筒・4サイクル・エンジンであり、且つ、一つの上流側空燃比センサ56には第1〜第4気筒からの排ガスが到達する。よって、単位燃焼サイクル期間は720°クランク角度が経過する期間である。
(3)第1制御装置は、複数の単位燃焼サイクル期間のそれぞれに対して求めた平均値AveΔAFの平均値を求め、その値を空燃比不均衡指標値RIMBとして採用する。なお、空燃比不均衡指標値RIMBは、このように求められる値に限定されることはなく、後述する種々の方法により取得され得る。
上述したように求められる空燃比不均衡指標値RIMB(変化率ΔAFに相関する値)は、吸入空気量Ga及び機関回転速度NEが一定であれば、「気筒間における空燃比の不均一性(不均衡)の程度、即ち、気筒別空燃比差」が大きくなるほど大きくなる値である。換言すると、空燃比不均衡指標値RIMBは、上流側空燃比センサ56の出力値Vabyfsの変動が大きいほど大きくなる空燃比変動指標量AFDと言うこともできる。この空燃比不均衡指標値RIMBは、複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比の気筒間における差(気筒別空燃比差)が大きいほど大きくなる値である。以下、この理由について説明する。
上流側空燃比センサ56には、各気筒からの排ガスが点火順(故に、排気順)に到達する。気筒別空燃比差がない場合(気筒別空燃比の不均一性が発生していない場合)、各気筒から排出され且つ上流側空燃比センサ56に到達する排ガスの空燃比は互いに略同一である。従って、気筒別空燃比差がない場合の出力値Vabyfsは、例えば、図9の(B)において破線C1により示したように変化する。即ち、気筒間における空燃比の不均一性がない場合、上流側空燃比センサ56の出力値Vabyfsの波形は略平坦である。このため、図9の(C)において破線C3により示したように、気筒別空燃比差がない場合、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値は小さい。
一方、「特定気筒(例えば、第1気筒)に対して燃料を噴射する燃料噴射弁33」の特性が「指示燃料噴射量よりも多い燃料を噴射する特性」となると、気筒別空燃比差が大きくなる。即ち、その特定気筒の排ガスの空燃比(インバランス気筒の空燃比)と、その特定気筒以外の気筒の排ガスの空燃比(非インバランス気筒の空燃比)と、は大きく相違する。
従って、空燃比気筒間インバランス状態が発生している場合の出力値Vabyfsは、例えば図9の(B)の実線C2により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図9の(C)において実線C4により示したように、空燃比気筒間インバランス状態が発生している場合、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値は大きくなる。
しかも、変化率ΔAFの絶対値|ΔAF|は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値であるときの出力値Vabyfsが図9(B)の実線C2のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第1の値の値よりも大きい第2の値」であるときの出力値Vabyfsは図9(B)の一点鎖線C2aのように変化する。
従って、図10に示したように、変化率ΔAFの絶対値|ΔAF|の「複数の単位燃焼サイクル期間」における平均値AveΔAF(空燃比不均衡指標値RIMB)は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど(実際のインバランス割合が大きくなるほど)大きくなる。即ち、空燃比不均衡指標値RIMBは、実際の気筒別空燃比差が大きくなるにつれて(気筒別空燃比の不均一性の程度が大きくなるほど)大きくなる。
第1制御装置は、空燃比不均衡指標値RIMBを取得すると、その空燃比不均衡指標値RIMBを不均衡指標学習値RIMBgとしてバックアップRAMに格納する。不均衡指標学習値RIMBgは、機関10の始動後において「新たな空燃比不均衡指標値RIMB」が取得される前において、インバランスリッチ補正量を決定するための空燃比不均衡指標値に相関する値として使用される。
(燃料噴射量制御の概要)
次に、第1制御装置が実行する燃料噴射量制御の概要について説明する。
第1制御装置は、上流側空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsが「目標空燃比(上流側目標空燃比)abyfr」に一致するようにメインフィードバック量(メインフィードバック係数)及びメインFB学習値を求め、これらに基いて指示燃料噴射量をフィードバック補正(増減)している。即ち、第1制御装置は、メインフィードバック制御を実行する。目標空燃比abyfrは、通常、理論空燃比stoichに対応する空燃比である。
更に、第1制御装置は、取得した空燃比不均衡指標値RIMB(実際には、不均衡指標学習値RIMBg)が大きいほど、より多くの燃料が噴射されるように、指示燃料噴射量を増大させる。即ち、第1制御装置は、取得された不均衡指標学習値RIMBgが大きいほど、「指示燃料噴射量によって決まる空燃比(即ち、指示空燃比)」が「よりリッチな空燃比(より小さい空燃比)」となるように、その指示燃料噴射量を増大補正する燃料増量制御を行う。
より詳細には、第1制御装置は、不均衡指標学習値RIMBgが「0」であるとき(即ち、気筒別空燃比差がないとき)インバランスリッチ補正量afimbを「0」に設定し、不均衡指標学習値RIMBgが大きいほどインバランスリッチ補正量afimbを大きくなる値に設定する。更に、第1制御装置は、目標空燃比abyfrを「インバランスリッチ補正量afimbだけ小さい値」に設定する。即ち、第1制御装置は、不均衡指標学習値RIMBgが大きくなるほど、目標空燃比abyfrを「理論空燃比stoichよりも小さい範囲」においてより小さくする。
これにより、メインフィードバック制御によって得られる機関の空燃比は理論空燃比に近づく。即ち、上述した「水素の選択的拡散に起因する空燃比のリーン側への移行(上記リーン誤制御)」を防止することができる。その結果、第1制御装置は、NOxの排出量が増大することを回避することができる。
一方、第1制御装置は、機関10の始動時から所定の時間が経過する時点までの始動後期間において、始動時の冷却水温THWが小さくなるほど大きくなり且つ始動後経過時間とともに減衰する始動補正量afstを算出する。そして、第1制御装置は、目標空燃比abyfrを「始動補正量afstだけ小さい値」に設定する。
ところで、始動後期間においてメインフィードバック制御が実行されるとき、メインフィードバック係数とメインFB学習値とにより上記リーン誤補正が生じうる。更に、始動後期間においてメインフィードバック制御が実行されないときであっても、メインFB学習値により上記リーン誤補正が生じうる。メインFB学習値は、前回の機関10の運転時におけるメインフィードバック係数に応じた値であるからである。
始動後期間におけるリーン誤補正は、上記インバランスリッチ補正量afimbにより補償される。しかしながら、始動後期間においては、始動補正量afstによっても機関の空燃比はリッチ側に移行させられる。従って、始動後期間が経過した期間において適切な値に設定されるインバランスリッチ補正量afimbは、始動後期間においては機関の空燃比を過度にリッチ側の空燃比へと移行させる値(即ち、未燃物の排出量を増大させてしまう値)となる。
そこで、第1制御装置は、始動後期間において、始動後期間が経過した後の期間に比べ、インバランスリッチ補正量afimbを小さい値へと補正する。即ち、インバランスリッチ補正量afimbは、始動後期間において減少補正される。この結果、気筒別空燃比の不均一性の程度が大きくなっている機関についての始動後期間において、機関の空燃比がリッチになり過ぎることに起因してエミッションが悪化すること(特に、未燃物の排出量が増大すること)を回避することができる。
(実際の作動)
次に、第1制御装置の実際の作動について説明する。
<燃料噴射量制御>
第1制御装置のCPUは、図11に示した燃料噴射量制御ルーチンを、任意の気筒のクランク角がその気筒の吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、その気筒(以下、「燃料噴射気筒」とも称呼する。)に対して繰り返し実行するようになっている。
従って、所定のタイミングになると、CPUはステップ1100から処理を開始し、以下に述べるステップ1110乃至ステップ1160の処理を順に行い、ステップ1195に進んで本ルーチンを一旦終了する。
ステップ1110:CPUは「エアフローメータ51により計測された吸入空気量Ga、及び、機関回転速度NE」をルックアップテーブルMapMc(Ga,NE)に適用することにより現時点において燃料噴射気筒に吸入される吸入空気量(筒内吸入空気量)Mc(k)を求める。筒内吸入空気量Mc(k)は、周知の空気量推定モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
ステップ1120:CPUは、メインFB学習値KGをバックアップRAMから読み出す。メインFB学習値KGは、後述する図12に示したメインフィードバック制御ルーチンにより別途求められ、バックアップRAM内に格納されている。
ステップ1130:CPUは、目標空燃比abyfr(k)を読み込む。目標空燃比abyfr(k)は、後述する図13に示したルーチンにより別途算出されている。目標空燃比abyfr(k)は上流側目標空燃比abyfr(k)とも称呼される。
ステップ1140:CPUは、下記(1)式に示したように、筒内吸入空気量Mc(k)を現時点における目標空燃比abyfr(k)(上流側目標空燃比abyfr)によって除すことにより基本燃料噴射量Fb(k)を求める。基本燃料噴射量Fb(k)は、機関の空燃比を目標空燃比abyfrに一致させるための燃料噴射量のフィードフォワード量である。
Fb(k)=Mc(k)/abyfr(k) …(1)
なお、筒内吸入空気量Mc(k)、目標空燃比abyfr(k)及び基本燃料噴射量Fb(k)等は、各吸気行程に対応されながらRAM内に記憶される。
ステップ1150:CPUは、基本燃料噴射量Fb(k)を下記(2)式に従って補正することにより、最終的な燃料噴射量の指令値である指示燃料噴射量Fiを求める。(2)式の右辺における各値は以下の通りである。これらの値は後述するルーチンにより別途求められている。
Fi=KG・FAF・Fb(k) …(2)
KG:メインフィードバック係数の学習値(メインFB学習値KG)。
FAF:メインフィードバック制御により更新(算出)されるメインフィードバック係数。
ステップ1160:CPUは、指示燃料噴射量Fiの燃料が燃料噴射気筒に対応して設けられている燃料噴射弁33から噴射されるように、その燃料噴射弁33に指示信号を送出する。
以上により、基本燃料噴射量Fb(k)がメインフィードバック量DFiに応じたメインフィードバック係数FAF及びメインFB学習値KGにより補正され、指示燃料噴射量Fiが算出される。そして、燃料噴射気筒に対して設けられた燃料噴射弁33の特性が正常である限り、指示燃料噴射量Fiの燃料が燃料噴射気筒に対して噴射される。
<メインフィードバック制御>
CPUは図12にフローチャートにより示したメインフィードバック制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1200から処理を開始し、ステップ1205に進んでメインフィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているか否かを判定する。メインフィードバック制御条件は、例えば、フューエルカット中でなく、機関の冷却水温THWが第1所定温度以上であり、負荷KLが所定値以下であり、目標空燃比abyfrが理論空燃比stoichであり、且つ、上流側空燃比センサ56が活性化しているときに成立する。
なお、負荷KLは、本例において負荷率(充填率)KLであり、下記の(3)式に基いて算出される。この(3)式において、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、4は機関10の気筒数である。但し、負荷KLは、筒内吸入空気量Mc、スロットル弁開度TA及びアクセルペダル操作量Accp等であってもよい。
KL={Mc(k)/(ρ・L/4)}・100(%) …(3)
いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、CPUはステップ1205にて「Yes」と判定して以下に述べるステップ1210乃至ステップ1240の処理を順に行い、メインフィードバック係数FAFを算出する。
ステップ1210:CPUは、下記(4)式に従って検出空燃比abyfs(上流側空燃比abyfs)を取得する。即ち、CPUは、上流側空燃比センサ56の出力値Vabyfsを図7に示したテーブルMapabyfsに適用することにより検出空燃比abyfsを得る。
abyfs=Mapabyfs(Vabyfs) …(4)
ステップ1215:CPUは、下記(5)式に示したように、現時点よりもNサイクル(即ち、N・720°クランク角)前の時点における筒内吸入空気量Mc(k−N)を、上記検出空燃比abyfsで除すことにより、現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量である「筒内燃料供給量Fc(k−N)」を求める。
Fc(k−N)=Mc(k−N)/abyfsc …(5)
このように、現時点からNサイクル前の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)を検出空燃比abyfsで除すのは、燃焼室21内で燃焼された混合気が上流側空燃比センサ56に到達するまでにNストロークに相当する時間を要するからである。但し、実際には、上流側空燃比センサ56には各気筒から排出された排ガスがある程度混合された後に到達する。
ステップ1220:CPUは、下記(6)式に示したように、「現時点からNストローク前の筒内吸入空気量Mc(k−N)」を「現時点からNストローク前の上流側目標空燃比abyfr(k−N)」で除すことにより「現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)」を求める。
Fcr(k−N)=Mc(k−N)/abyfr(k−N) …(6)
ステップ1225:CPUは、下記(7)式に示したように、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。この筒内燃料供給量偏差DFcは、Nストローク前の時点で機関10に供給された燃料の過不足分を表す量となる。
DFc=Fcr(k−N)−Fc(k−N) …(7)
ステップ1230:CPUは、下記(8)式に基いてメインフィードバック量DFiを求める。この(8)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。(8)式の値SDFcは筒内燃料供給量偏差DFcの積分値であり、次のステップ1235にて求められる。つまり、第1制御装置は、検出空燃比abyfsを目標空燃比abyfrに一致させる比例・積分制御(PI制御)によりメインフィードバック量DFiを算出する。
DFi=Gp・DFc+Gi・SDFc …(8)
ステップ1235:CPUは、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1225にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。
ステップ1240:CPUは、メインフィードバック量DFi及び基本燃料噴射量Fb(k−N)を下記(9)式に適用することによりメインフィードバック係数FAFを算出する。即ち、メインフィードバック係数FAFは、「現時点からNストローク前の基本燃料噴射量Fb(k−N)にメインフィードバック量DFiを加えた値」を「基本燃料噴射量Fb(k−N)」で除すことにより求められる。
FAF=(Fb(k−N)+DFi)/Fb(k−N) …(9)
次に、CPUはステップ1245に進み、下記(10)式に従ってメインフィードバック係数FAFの加重平均値をメインフィードバック係数平均FAFAV(以下、「補正係数平均FAFAV」とも称呼する。)として求める。(10)式においてFAFAVnewは更新後の補正係数平均FAFAVであり、そのFAFAVnewが新たな補正係数平均FAFAVとして格納される。また、(10)式において、値qは0より大きく1より小さい定数である。
FAFAVnew=q・FAF+(1−q)・FAFAV …(10)
次に、CPUはステップ1250に進み、補正係数平均FAFAVの値が値1+α(αは0より大きく1より小さい微小な所定値であり、例えば、0.02)以上であるか否かを判定する。このとき、補正係数平均FAFAVの値が値1+α以上であると、CPUはステップ1250にて「Yes」と判定してステップ1255に進み、メインFB学習値KGを正の所定値Xだけ増大させる。その後、CPUはステップ1295に進んで本ルーチンを一旦終了する。
これに対し、CPUがステップ1250の処理を実行する時点において補正係数平均FAFAVの値が値1+αよりも小さいと、CPUはステップ1250にて「No」と判定してステップ1260に進み、補正係数平均FAFAVの値が値1−α以下であるか否かを判定する。このとき、補正係数平均FAFAVの値が値1−α以下であると、CPUはステップ1260にて「Yes」と判定してステップ1265に進み、メインFB学習値KGを正の所定値Xだけ減少させる。その後、CPUはステップ1295に進んで本ルーチンを一旦終了する。
加えて、CPUがステップ1260の処理を実行する時点において、補正係数平均FAFAVの値が値1−αよりも大きいと(即ち、補正係数平均FAFAVの値が値1−αと値1+αの間の値であると)、CPUはステップ1260からステップ1295に直接進んで本ルーチンを一旦終了する。
以上により、メインフィードバック量DFiが比例積分制御により求められ、このメインフィードバック量DFiがメインフィードバック係数FAFへと変換される。更に、メインフィードバック係数FAFを基本値(燃料噴射量を増加も減少もしない値「1」)に近づけるようにメインFB学習値KGが求められる。メインフィードバック係数FAF及びメインFB学習値KGは、上述した図11のステップ1150において指示燃料噴射量Fiに反映される。この結果、燃料供給量の過不足が補償されるので、機関の空燃比(従って、上流側触媒43に流入するガスの空燃比)の平均値が目標空燃比abyfrと略一致させられる。
一方、ステップ1205の判定時において、メインフィードバック制御条件が不成立であると、CPUはそのステップ1205にて「No」と判定し、以下に述べるステップ1270乃至ステップ1285の処理を順に行い、ステップ1295に進んで本ルーチンを一旦終了する。
ステップ1270:CPUは、メインフィードバック量DFiの値を「0」に設定する。
ステップ1275:CPUは、筒内燃料供給量偏差の積分値SDFcを「0」に設定する。
ステップ1280:CPUは、メインフィードバック係数FAFの値を「1」に設定する。
ステップ1285:CPUは、補正係数平均FAFAVの値を「1」に設定する。
このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiの値は「0」に設定され、メインフィードバック係数FAFの値は「1」に設定される。従って、基本燃料噴射量Fb(k)のメインフィードバック係数FAFによる補正は行わない。但し、このような場合であっても、基本燃料噴射量Fb(k)はメインFB学習値KGによって補正される。
<目標空燃比abyfr(k)の決定>
CPUは、所定時間が経過する毎に図13にフローチャートにより示した「目標空燃比決定ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUは図13のステップ1300から処理を開始してステップ1310に進み、下記(11)式に従って目標空燃比abyfr(k)を決定する。即ち、CPUは、理論空燃比stoich(例えば、14.6)に設定された基準空燃比から後述する「始動補正量afst及びインバランスリッチ補正量afimb」を減じた値を目標空燃比abyfr(k)として設定する。始動補正量afstは図14のルーチンにより求められ、インバランスリッチ補正量afimbは図15及び図16のルーチンにより求められる。
abyfr(k)=(stoich−afst)−afimb …(11)
上記(11)式(図13のステップ1310)から理解されるように、目標空燃比abyfrは始動補正量afstが大きいほどリッチ側の空燃比(始動補正量afst分だけ小さい空燃比)となり、インバランスリッチ補正量afimbが大きいほどリッチ側の空燃比(インバランスリッチ補正量afimb分だけ小さい空燃比)となる。なお、メインフィードバック制御条件が不成立であるときであっても、基本燃料噴射量Fb(k)は目標空燃比abyfrに応じた値(目標空燃比abyfrを得るために必要であるフィードフォワード量)に一致する(図11のステップ1140を参照。)。また、始動補正量afstが「0」であり、且つ、インバランスリッチ補正量afimbが「0」である場合、目標空燃比abyfrは理論空燃比stoichに一致する。このとき、前述したように、メインフィードバック制御が実行される。但し、メインフィードバック制御は、上流側空燃比センサ56が正常であり且つ活性化している場合、「始動補正量afstが「0」であり、且つ、インバランスリッチ補正量afimbが「0」である場合」以外の期間において実行されてもよい。
<始動補正量の決定>
次に、始動補正量afstを決定するための処理について説明する。CPUは、所定時間が経過する毎に、図14にフローチャートにより示したルーチンを実行するようになっている。
従って、所定のタイミングになると、CPUは図14のステップ1400から処理を開始してステップ1410に進み、現時点が「機関始動要求(機関10を始動させる要求)」の発生直後の時点であるか否かを判定する。機関始動要求は、図示しないイグニッション・キー・スイッチがオフ位置から始動位置に変更されたときに発生する。或いは、機関10がハイブリッド車両に搭載されている場合、及び、停車時機関自動停止・発進時機関自動運転開始システムが採用された車両に搭載されている場合、機関始動要求は所定の条件が満たされたときに発生する。
CPUがステップ1410の処理を実行する時点において、その時点が機関始動要求の発生直後の時点であると、CPUはステップ1410にて「Yes」と判定してステップ1420に進み、ルックアップテーブルMapafst(THW)に、その時点の冷却水温THW(始動時冷却水温THWst)を適用することによって始動補正量afst(始動補正量afstの初期値)を算出する。このテーブルMapafst(THW)によれば、始動補正量afstは正の値であって且つ始動時冷却水温THWstが低いほど大きくなるように決定される。更に、始動補正量afstは、始動時冷却水温THWstが所定閾値温度THWdth以上であると正の小さい一定値となるように決定される。その後、CPUはステップ1495に進み、本ルーチンを一旦終了する。
一方、CPUがステップ1410の処理を行う時点において、その時点が機関始動要求の発生直後の時点でなければ、CPUはステップ1410にて「No」と判定してステップ1430に進み、その時点の始動補正量afstから正の一定値Δafを減じた値を新たな始動補正量afstとして設定する。従って、始動補正量afstは、機関10の始動後経過時間に応じて次第に減少する。
次に、CPUはステップ1440にて始動補正量afstが「0」以下であるか否かを判定する。このとき、始動補正量afstが「0」よりも大きければ、CPUはステップ1440にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。
これに対し、CPUがステップ1440の処理を実行する時点において、始動補正量afstが「0」以下であると、CPUはそのステップ1440にて「Yes」と判定してステップ1450に進み、始動補正量afstを「0」に設定する。その後、CPUはステップ1495に進んで本ルーチンを一旦終了する。
従って、始動補正量afstは、機関10の始動時に冷却水温THWが低いほど大きい初期値となり、その後、時間が経過するとともに初期値から「0」まで減少する。
<空燃比不均衡指標値の取得>
次に、空燃比不均衡指標値RIMBを取得するための処理について説明する。空燃比不均衡指標値RIMBは、インバランスリッチ補正量afimbを算出する際の基礎となるパラメータである。
CPUは、4ms(上記単位時間である「所定の一定サンプリング時間ts」)が経過する毎に、図15にフローチャートにより示したルーチンを実行するようになっている。
従って、所定のタイミングになると、CPUはステップ1500から処理を開始してステップ1505に進み、パラメータ取得許可フラグXkyokaの値が「1」であるか否かを判定する。
このパラメータ取得許可フラグXkyokaの値は、絶対クランク角度CAが0°クランク角度になった時点において後述するパラメータ取得条件(空燃比不均衡指標値取得許可条件)が成立しているときに「1」に設定され、パラメータ取得条件が不成立になった時点において直ちに「0」に設定される。
パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)が成立したときに成立する。従って、パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得条件を構成する条件は、以下の条件C1乃至条件C5に限定されることはない。
(条件C1)エアフローメータ51により取得される吸入空気量Gaが、所定範囲内である。即ち、吸入空気量Gaが、低側閾値空気量GaLoth以上であり且つ高側閾値空気量GaHith以下である。
(条件C2)機関回転速度NEが所定範囲内である。即ち、機関回転速度NEが、低側閾値回転速度NELoth以上であり且つ高側閾値回転速度NEHith以下である。
(条件C3)冷却水温THWが閾値冷却水温THWth以上である。
(条件C4)メインフィードバック制御条件(及びサブフィードバック制御を行う場合にはサブフィードバック制御条件)が成立している。
(条件C5)フューエルカット制御中でない。
いま、パラメータ取得許可フラグXkyokaの値が「1」であると仮定する。この場合、CPUはステップ1505にて「Yes」と判定してステップ1510に進み、「その時点の空燃比センサ56の出力値Vabyfs」を取得する。なお、CPUは、ステップ1510の処理の前に、本ルーチンを前回実行したときに取得した出力値Vabyfsを前回の出力値Vabyfsoldとして記憶する。即ち、前回の出力値Vabyfsoldは、現時点から4ms(サンプリング時間ts)前の時点における出力値Vabyfsである。前回の出力値Vabyfsの初期値は、上述したイニシャルルーチンにおいて理論空燃比に相当する値(Vstoich)に設定されている。
次に、CPUはステップ1515に進んで、
(A)出力値Vabyfsの変化率ΔAF(微分値d(Vabyfs)/dt)を取得し、
(B)変化率ΔAFの絶対値|ΔAF|の積算値SAFDを更新し、且つ、
(C)変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnを更新する。
以下、これらの更新方法について具体的に説明する。
(A)変化率ΔAFの取得。
出力値Vabyfsの変化率ΔAF(微分値d(Vabyfs)/dt)は、空燃比不均衡指標値RIMBの元データとなるデータ(基本指標量、基本パラメータ)である。CPUは、この変化率ΔAFを、今回の出力値Vabyfsから前回の出力値Vabyfsoldを減じることによって取得する。即ち、今回の出力値VabyfsをVabyfs(n)、前回の出力値VabyfsoldをVabyfs(n−1)と表記すると、CPUはステップ1515にて「今回の変化率ΔAF(n)」を下記の(12)式に従って求める。
ΔAF(n)=Vabyfs(n)−Vabyfs(n−1) …(12)
なお、CPUは、空燃比センサ56の出力値Vabyfsに含まれる機関10の中心空燃比の変動成分を出力値Vabyfsから除去するために、出力値Vabyfsにハイパスフィルタ処理を施した値(ハイパスフィルタ処理後出力値VHPF)を求め、そのハイパスフィルタ処理後出力値VHPFのサンプリング時間tsにおける変化量を変化率ΔAFとして取得してもよい。
(B)変化率ΔAFの絶対値|ΔAF|の積算値SAFDの更新。
CPUは今回の積算値SAFD(n)を下記の(13)式に従って求める。即ち、CPUは、ステップ1515に進んだ時点における前回の積算値SAFD(n−1)に上記算出した今回の変化率ΔAF(n)の絶対値|ΔAF(n)|を加えることにより、積算値SAFDを更新する。
SAFD(n)=SAFD(n−1)+|ΔAF(n)| …(13)
積算値SAFDに「今回の変化率ΔAF(n)の絶対値|ΔAF(n)|」を積算する理由は、図9の(B)及び(C)からも理解されるように、変化率ΔAF(n)は正の値にも負の値にもなるからである。なお、積算値SAFDも、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
(C)変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnの更新。
CPUは、下記の(14)式に従って、カウンタCnの値を「1」だけ増大する。Cn(n)は更新後のカウンタCnであり、Cn(n−1)は更新前のカウンタCnである。このカウンタCnの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1540及びステップ1545にても「0」に設定される。従って、カウンタCnの値は、積算値SAFDに積算された変化率ΔAFの絶対値|ΔAF|のデータ数を示す。
Cn(n)=Cn(n−1)+1 …(14)
次に、CPUはステップ1520に進み、基準気筒(本例では第1気筒)の圧縮上死点を基準としたクランク角度CA(絶対クランク角度CA)が720°クランク角度になっているか否かを判定する。このとき、絶対クランク角度CAが720°クランク角度未満であると、CPUはステップ1520にて「No」と判定してステップ1595に直接進み、本ルーチンを一旦終了する。
なお、ステップ1520は、変化率ΔAFの絶対値|ΔAF|の平均値を求めるための最小単位の期間を定めるステップであり、ここでは「単位燃焼サイクル期間である720°クランク角度」がその最小期間に相当する。勿論、この最小期間は720°クランク角度よりも短くてもよいが、サンプリング時間tsの複数倍の長さ以上の期間であることが望ましい。更に、最小期間は、単位燃焼サイクル期間の自然数倍の期間であることが望ましい。
一方、CPUがステップ1520の処理を行う時点において、絶対クランク角度CAが720°クランク角度になっていると、CPUはそのステップ1520にて「Yes」と判定してステップ1525に進む。
CPUは、ステップ1525にて、
(D)変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出し、
(E)平均値AveΔAFの積算値Saveを更新し、且つ、
(F)積算回数カウンタCsを更新する。
以下、これらの更新方法について具体的に説明する。
(D)変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFの算出。
CPUは、下記の(15)式に示したように、積算値SAFDをカウンタCnの値により除することにより、変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出する。この後、CPUは積算値SAFD及びカウンタCnの値を「0」に設定する。
AveΔAF=SAFD/Cn …(15)
(E)平均値AveΔAFの積算値Saveの更新。
CPUは今回の積算値Save(n)を下記の(16)式に従って求める。即ち、CPUは、ステップ1525に進んだ時点における前回の積算値Save(n−1)に上記算出した今回の平均値AveΔAFを加えることにより、積算値Saveを更新する。この積算値Save(n)の値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1540にても「0」に設定される。
Save(n)=Save(n−1)+AveΔAF …(16)
(F)積算回数カウンタCsの更新。
CPUは、下記の(17)式に従って、カウンタCsの値を「1」だけ増大する。Cs(n)は更新後のカウンタCsであり、Cs(n−1)は更新前のカウンタCsである。このカウンタCsの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1540にても「0」に設定される。従って、カウンタCsの値は、積算値Saveに積算された平均値AveΔAFのデータ数を示す。
Cs(n)=Cs(n−1)+1 …(17)
次に、CPUはステップ1530に進み、カウンタCsの値が閾値Csth以上であるか否かを判定する。このとき、カウンタCsの値が閾値Csth未満であると、CPUはそのステップ1530にて「No」と判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。なお、閾値Csthは自然数であり、2以上であることが望ましい。
一方、CPUがステップ1530の処理を行う時点において、カウンタCsの値が閾値Csth以上であると、CPUはそのステップ1530にて「Yes」と判定してステップ1535に進む。CPUは、そのステップ1535にて、下記(18)式に従って積算値SaveをカウンタCsの値(=Csth)によって除することにより、空燃比不均衡指標値RIMBを取得する。空燃比不均衡指標値RIMBは、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値|ΔAF|の各単位燃焼サイクル期間における平均値AveΔAFを、複数(Csth個)の単位燃焼サイクル期間について平均した値である。空燃比不均衡指標値RIMBは、バックアップRAMに不均衡指標学習値RIMBgとして記憶される。
RIMB=Save/Csth …(18)
次いで、CPUはステップ1540に進み、空燃比不均衡指標値RIMBを算出するために用いられる各値(ΔAF,SAFD,Cn,AveΔAF,Save及び、Cs等)」を「0」に設定(クリア)する。その後、CPUはステップ1595に進んで本ルーチンを一旦終了する。
一方、CPUがステップ1505に進んだ際にパラメータ取得許可フラグXkyokaの値が「1」でなければ、CPUはそのステップ1505にて「No」と判定してステップ1545に進む。CPUは、そのステップ1545にて「平均値AveΔAFを算出するために用いられる各値(ΔAF,SAFD,及び,Cn等)」を「0」に設定(クリア)する。次いで、CPUはステップ1595に進んで本ルーチンを一旦終了する。
<インバランスリッチ補正量afimbの決定>
次に、始動補正量afstを決定するための処理について説明する。CPUは、所定時間が経過する毎に、図16にフローチャートにより示したルーチンを実行するようになっている。
従って、所定のタイミングになると、CPUはステップ1600から処理を開始してステップ1610に進み、基本リッチ量afimb0を「不均衡指標学習値RIMBg(=空燃比不均衡指標値RIMB)及び吸入空気量Ga」に基づいて決定する。基本リッチ量afimb0は、図16のステップ1610内に記載されたルックアップテーブルMapafimb0(RIMBg,Ga)に従って求められる。
このテーブルMapafimb0(RIMBg,Ga)によれば、基本リッチ量afimb0は次のように決定される。
・基本リッチ量afimb0は、吸入空気量Gaが大きくなるほど、大きくなる。
・基本リッチ量afimb0は、不均衡指標学習値RIMBgが大きくなるほど、大きくなる。
次に、CPUはステップ1620に進み、第1反映率k1を「始動後時間(機関10が始動されてからの経過時間)Tafst」に基づいて決定する。第1反映率k1は、基本リッチ量afimb0(インバランスリッチ補正量afimb)を減少補正させる程度を定める値である。第1反映率k1は、図16のステップ1620内に記載されたルックアップテーブルMapk1(Tafst)に従って求められる。
このテーブルMapk1(Tafst)によれば、第1反映率k1は、始動後時間Tafstが所定時間T0に到達するまで、始動後時間Tafstが大きくなるにつれて「1」よりも小さい範囲において次第に大きくなるように決定される。更に、第1反映率k1は、始動後時間Tafstが所定時間T0以上である場合、「1」に一致するように決定される。加えて、第1反映率は、始動補正量afstが「0」になった場合、直ちに「1」に設定されるようになっている。
次いで、CPUはステップ1630に進み、下記の(19)式に示したように、基本リッチ量afimb0に第1反映率k1を乗じた結果をインバランスリッチ補正量afimbとして決定する。
afimb=k1・afimb0 …(19)
その後、CPUはステップ1695に進み、本ルーチンを一旦終了する。この結果、始動後時間Tafstが所定時間T0よりも小さい範囲(即ち、始動後期間)において大きくなるにつれインバランスリッチ補正量afimbは次第に大きくなる。換言すると、始動後時間Tafstが所定時間T0よりも小さい範囲においては、インバランスリッチ補正量afimbは減量され、その減量の程度は始動後時間Tafstが大きくなるほど小さくなる。更に、インバランスリッチ補正量afimbは、始動後時間Tafstが所定時間T0以上であるとき(即ち、始動後期間が経過した後の期間)、減少補正されない。
以上、説明したように、第1制御装置は、三元触媒43と、上流側空燃比センサ56と、複数の燃料噴射弁33と、を備える。
更に、第1制御装置は、
前記三元触媒43に流入する排ガスの空燃比が理論空燃比に一致するように前記燃料噴射弁33から噴射される燃料の量を補正するための空燃比補正量(メインフィードバック係数FAF及びメインFB学習値KG)を前記上流側空燃比センサ56の出力値Vabyfsに基いて算出する空燃比補正量算出手段(図12のステップ1205乃至ステップ1240と、図13のステップ1310において求められる目標空燃比abyfrが理論空燃比stoichである場合と、を参照。)と、
機関10が吸入する吸入空気量(筒内吸入空気量Mc)と前記空燃比補正量に相関する値(メインフィードバック係数FAF及びメインFB学習値KG)とに基づいて前記燃料噴射弁33から噴射される燃料の量の指示値(指示燃料噴射量Fi)を決定する指示燃料噴射量決定手段(図11のステップ1110乃至ステップ1150等を参照。)と、
前記指示燃料噴射量Fiに応じた量の燃料が前記複数の燃料噴射弁33のそれぞれから噴射されるように前記複数の燃料噴射弁33に噴射指示信号を送出する噴射指示信号送出手段(図11のステップ1160を参照。)と、
を備える。
加えて、第1制御装置の前記指示燃料噴射量決定手段は、
「前記機関10の始動時から所定の時間が経過する時点までの始動後期間」において前記吸入空気量と前記指示燃料噴射量Fiとにより定まる指示空燃比(=筒内吸入空気量Mc/指示燃料噴射量Fi)を減少させるための始動補正量afstを算出する始動補正量算出手段(図14のルーチンを参照。)と、
前記複数の気筒のそれぞれの燃焼室21に供給される混合気の空燃比(気筒別空燃比)の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値RIMBを少なくとも前記上流側空燃比センサ56の出力値Vabyfsに相関する値(出力値Vabyfsそのもの及び検出空燃比abyfs等)に基いて取得する空燃比不均衡指標値取得手段(図15のルーチンを参照。)と、
前記取得された空燃比不均衡指標値RIMBに相関する値(空燃比不均衡指標値RIMB又は不均衡指標学習値RIMBg)に基いて前記指示空燃比を減少させるためのインバランスリッチ補正量afimb(実際には、基本リッチ量afimb0)を算出するインバランスリッチ補正量算出手段(図16のステップ1610を参照。)と、
「前記始動後期間における前記インバランスリッチ補正量afimbの大きさ」を「前記始動後期間が経過した後の期間における前記インバランスリッチ補正量afimb」の大きさよりも小さくするように、前記インバランスリッチ補正量afimbを第1反映率k1によって減少補正する減少補正手段(図16のステップ1620及びステップ1630を参照。)と、
を含み、
前記始動補正量afstと前記減少補正されたインバランスリッチ補正量afimbとに基いて前記指示燃料噴射量を決定するように構成されている(図13のルーチン、及び、図11のステップ1130及びステップ1140等を参照。)。
これによれば、始動補正量afstによって機関の空燃比(従って、三元触媒43に流入する排ガスの空燃比)が理論空燃比よりもリッチ側の空燃比に設定される始動後期間において、インバランスリッチ補正量afimbが第1反映率k1によって減少補正されるので、三元触媒43に流入する未燃物(及び窒素酸化物)が過大になることを回避することができる。その結果、第1制御装置は、気筒別空燃比の不均一性の程度が大きい機関の始動後において、エミッションを改善することができる。なお、第1制御装置は、後述するサブフィードバック制御を実施する装置であってもよい。
<第2実施形態>
次に、本発明の第2実施形態に係る制御装置(以下、単に「第2制御装置」と称呼する。)について説明する。
機関10の始動時における三元触媒43の酸素吸蔵量(即ち、始動時酸素吸蔵量)が小さいほど、三元触媒43が始動後期間に浄化することができる未燃物の量は小さくなる。従って、始動時酸素吸蔵量が小さいほど、インバランスリッチ補正量afimbを「より大きく」減少補正する必要がある。
図17に示したように、機関10の運転が停止されているとき(時刻t1−時刻t2を参照。)、三元触媒43は大気に曝されることになるので、機関10の運転停止時間Tstopが長いほど、三元触媒43は「より多くの酸素」を吸蔵する。換言すると、運転停止時間Tstopは始動時酸素吸蔵量に相関を有する値(始動時酸素吸蔵量相関値)である。
そこで、第2制御装置は、運転停止時間Tstopを始動時酸素吸蔵量相関値として取得し、その運転停止時間Tstopが短いほど始動時酸素吸蔵量が小さいとみなしてインバランスリッチ補正量afimbを減少補正する程度を大きくする(インバランスリッチ補正量afimbを大きく減少させて小さい値に設定する)。
更に、図17に示したように、機関10の運転開始後(時刻t2以降)において、上流側空燃比センサ56の出力値Vabyfsに基いて取得される検出空燃比abyfs(上流側空燃比センサ56の出力値Vabyfsにより表される空燃比)は、始動補正量afst及びインバランスリッチ補正量afimbにより極小値をとり、その後、少なくとも始動補正量afstの大きさが次第に小さくなることにより増大する。この極小値は、始動後最深リッチ空燃比africhmaxとも称呼される。始動後最深リッチ空燃比africhmaxが「よりリッチ側の空燃比(より小さい空燃比)」であるほど、三元触媒43に吸蔵されている酸素はより多く消費される。よって、始動時酸素吸蔵量は小さくなる。
そこで、第2制御装置は、始動後最深リッチ空燃比africhmaxを前記始動時酸素吸蔵量相関値として取得し、その始動後最深リッチ空燃比africhmaxが小さいほど(よりリッチ側の値であるほど)始動時酸素吸蔵量が小さいとみなしてインバランスリッチ補正量afimbを減少補正する程度を大きくする(インバランスリッチ補正量afimbを大きく減少させて小さい値に設定する)。以上により、第2制御装置は、インバランスリッチ補正量afimbの減少補正の程度をより適切な値に設定することができる。
(実際の作動)
第2制御装置のCPUは、図11乃至図15に示したルーチンを実行するとともにと、図16に代わる図18に示したルーチンを所定時間の経過毎に実行する。図11乃至図15に示したルーチンについては説明済みである。従って、以下、図18のルーチンに従う処理について説明する。
所定のタイミングになると、CPUはステップ1800から処理を開始し、以下に述べるステップ1810乃至ステップ1850の処理を順に行い、その後、ステップ1895に進んで本ルーチンを一旦終了する。
ステップ1810:CPUは、基本リッチ量afimb0をルックアップテーブルMapafimb0(RIMBg,Ga)に従って求める。このステップは、図16のステップ1610と同じ処理を行うためのステップである。
ステップ1820:CPUは、第1反映率k1をルックアップテーブルMapk1(Tafst)に従って求める。このステップは、図16のステップ1620と同じ処理を行うためのステップである。
ステップ1830:CPUは、第2反映率k2を「始動後最深リッチ空燃比africhmax」に基いて求める。即ち、CPUは、第2反映率k2をルックアップテーブルMapk2(africhmax)に従って求める。このテーブルMapk2(africhmax)によれば、第2反映率k2は、始動後最深リッチ空燃比africhmaxが小さくなるほど(よりリッチ側の空燃比であるほど)小さくなるように決定される。但し、テーブルMapk2(africhmax)によれば、第2反映率k2は、始動後最深リッチ空燃比africhmaxが所定値(本例では、12)に一致するとき1.0に設定される。
なお、CPUは図示しないルーチンにより、機関10の始動後において最初に発生する検出空燃比abyfsの最小値を始動後最深リッチ空燃比africhmaxとして取得するようになっている。機関10の始動後から始動後最深リッチ空燃比africhmaxが取得されるまでの期間、第2反映率k2は「1」に設定される。
ステップ1840:CPUは、第3反映率k3を「機関の運転停止時間Tstop」に基いて求める。即ち、CPUは、第3反映率k3をルックアップテーブルMapk3(Tstop)に従って求める。このテーブルMapk3(Tstop)によれば、第3反映率k3は、運転停止時間Tstopが小さいほど(即ち、今回の機関10の始動の直前における機関停止時間が短いほど)、1.0よりも小さい範囲において小さくなるように決定される。但し、テーブルMapk3(Tstop)によれば、第3反映率k3は、運転停止時間Tstopが所定時間(本例では、10秒)以上となっている場合には1.0に設定される。
ステップ1850:CPUは下記の(20)式に示したように、インバランスリッチ補正量afimbを基本リッチ量afimb0に「第1反映率k1、第2反映率k2及び第3反映率k3」を乗じた結果をインバランスリッチ補正量afimbとして決定する。
afimb=k1・k2・k3・afimb0 …(20)
以上、説明したように、第2制御装置は、始動後期間におけるインバランスリッチ補正量afimbの大きさを、始動後期間が経過した後の期間におけるインバランスリッチ補正量afimbの大きさよりも小さくするように、インバランスリッチ補正量afimbを減少補正する減少補正手段を有する(図18のルーチンを参照。)。
更に、前記減少補正手段は、始動時酸素吸蔵量に相関を有する始動時酸素吸蔵量相関値(運転停止時間Tstop及び/又は始動後最深リッチ空燃比africhmax)を取得し、その取得した酸素吸蔵量相関値により表される前記始動時酸素吸蔵量が小さいほど「前記始動後期間におけるインバランスリッチ補正量afimbの大きさ」を「より小さくする」ように構成される(図18のステップ1830乃至ステップ1850を参照。)。
従って、第2制御装置は、「三元触媒43の始動時酸素吸蔵量が小さい場合にインバランスリッチ補正量afimbの減少補正の程度が不足すること」を回避することができるので、始動後期間における未燃物の排出量をより減少させることが可能となる。
加えて、第2制御装置の減少補正手段は、運転停止時間Tstopを前記始動時酸素吸蔵量相関値として取得するように構成され得る(図18のステップ1840を参照。)。これにより、前記始動時酸素吸蔵量を適切に反映した始動時酸素吸蔵量相関値を取得することができるので、インバランスリッチ補正量afimbの減少補正の程度をより適切な程度とすることができる。その結果、始動後期間におけるエミッションをより改善することができる。
更に、第2制御装置の減少補正手段は、「上流側空燃比センサ56の出力値Vabyfsにより表される空燃比(検出空燃比abyfs)」であって「機関10の始動後において最初に取得される極小値(始動後最深リッチ空燃比africhmax)」を前記始動時酸素吸蔵量相関値として取得するように構成され得る(図18のステップ1830を参照。)。
これにより、前記始動時酸素吸蔵量をより適切に反映した始動時酸素吸蔵量相関値を取得することができるので、インバランスリッチ補正量afimbの減少補正の程度をより適切な程度とすることができる。その結果、始動後期間におけるエミッションをより改善することができる。
なお、第2制御装置のCPUは、図18のステップ1830を省略して第2反映率k2を常に「1」に設定し、第1反映率k1及び第3反映率k3に基いてインバランスリッチ補正量afimb(基本リッチ量afimb0)を減量補正してもよい。或いは、第2制御装置のCPUは、図18のステップのステップ1840を省略して第3反映率k3を常に「1」に設定し、第1反映率k1及び第2反映率k2に基いてインバランスリッチ補正量afimb(基本リッチ量afimb0)を減量補正してもよい。更に、第2制御装置のCPUは、図18のステップ1820を省略して第1反映率k1を常に「1」に設定し、第2反映率k2及び第3反映率k3に基いてインバランスリッチ補正量afimb(基本リッチ量afimb0)を減量補正してもよい。
<第3実施形態>
次に、本発明の第3実施形態に係る制御装置(以下、単に「第3制御装置」と称呼する。)について説明する。第3制御装置は、下流側空燃比センサ57の出力値Voxsと下流側目標値Voxsrefとを一致させるためのサブフィードバック制御をメインフィードバック制御に追加して行うとともに、下流側空燃比センサ57の出力値Voxsと参照値(本例では、下流側目標値Voxsrefと同じ値)との比較の結果に応じて「インバランスリッチ補正量afimbの減少補正の程度」を修正する点において、第2制御装置と相違している。なお、第3制御装置は第1制御装置と組み合わせることもできる。
(実際の作動)
第3制御装置のCPUは、図11、図12、及び、図14乃至図16に示したルーチンを実行するとともに、図19乃至図21に示したルーチンを所定時間の経過毎に実行する。図11、図12、及び、図14乃至図16に示したルーチンについては説明済みである。従って、以下、図19乃至図21のルーチンに従う処理について説明する。
<目標空燃比abyfr(k)の決定>
CPUは、所定時間が経過する毎に図19にフローチャートにより示した「目標空燃比決定ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUは図19のステップ1900から処理を開始してステップ1910に進み、下記(21)式に従って目標空燃比abyfr(k)を決定する。その後、CPUはステップ1995に進み、本ルーチンを一旦終了する。
abyfr(k)=stoich−afst−KSFB−k4・afimb …(21)
即ち、CPUは、理論空燃比stoich(例えば、14.6)から「始動補正量afst、サブフィードバック量KSFB、及び、第4反映率k4とインバランスリッチ補正量afimbとの積」を減じた値を目標空燃比abyfr(k)として設定する。始動補正量afstは図14のルーチンにより求められ、インバランスリッチ補正量afimbは図15及び図16のルーチンにより求められる。サブフィードバック量KSFBは後述する図20のルーチンにより求められ、インバランスリッチ補正量afimbの修正量である第4反映率k4は図21のルーチンにより求められる。
<サブフィードバック量KSFBの算出>
CPUは、サブフィードバック量KSFB及びサブFB学習値(サブフィードバック量KSFBの学習値)KSFBgを算出するために、所定時間が経過する毎に図20にフローチャートにより示した「サブフィードバック量算出ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUは図20のステップ2000から処理を開始してステップ2010に進み、基本リッチ量afimb0が「0」であるか否かを判定する。このとき、基本リッチ量afimb0が「0」でなければ、CPUはステップ2010にて「No」と判定してステップ2050に進み、サブフィードバック量KSFBの値をサブFB学習値KSFBgに設定する。その後、CPUはステップ2095に進んで、本ルーチンを一旦終了する。なお、CPUはステップ2010にて、第4反映率k4とインバランスリッチ補正量afimbとの積が「0」であるか否かを判定するように構成されていてもよい。
このように、基本リッチ量afimb0が「0」でない場合、(換言すると、インバランスリッチ補正量afimbが「0」でない場合)、サブフィードバック量KSFBの更新は停止されるので、サブフィードバック制御は実行されない。
これに対し、CPUがステップ2010の処理を行う時点において、基本リッチ量afimb0が「0」であると、CPUはそのステップ2010にて「Yes」と判定してステップ2020に進み、サブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件はメインフィードバック制御条件が成立し、且つ、下流側空燃比センサ57が活性化していると判定されるときに成立する。
いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、CPUはステップ2020にて「Yes」と判定し、周知の以下に述べる手法に従ってサブフィードバック量KSFBを算出する。
CPUは、下記(22)式に従って下流側目標値Voxsrefと下流側空燃比センサ57の出力値Voxsとの差である出力偏差量DVoxsを取得する。なお、下流側目標値Voxsrefは理論空燃比に相当する値Vstに設定されている。
DVoxs=Voxsref−Voxs …(22)
CPUは、下記(23)式に従ってサブフィードバック量KSFBを求める。この(23)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。また、SDVoxsは出力偏差量DVoxsの積分値(時間積分値)、DDVoxsは出力偏差量DVoxsの微分値(時間微分値)である。
KSFB=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs …(23)
次に、CPUはステップ2040に進み、図20のルーチンの繰り返し実行時間よりも長い学習間隔時間が経過する毎に、積分項Ki・SDVoxsをサブFB学習値FSBFgとして取り込む。サブFB学習値KSFBgはバックアップRAMに格納される。
一方、サブフィードバック制御条件が成立していない場合、CPUは図20のステップ2020にて「No」と判定してステップ2050に進み、サブフィードバック量KSFBにサブFB学習値FSBFgを設定する。更に、CPUは、積分値SDVoxsを、サブFB学習値KSFBgを積分ゲインKiで除した値に設定する。その後、CPUはステップ2095に進んで本ルーチンを一旦終了する。
<インバランスリッチ補正量の修正量(第4反映率k4)の算出>
CPUは、第4反映率k4を算出するために、所定時間が経過する毎に図21にフローチャートにより示した「インバランスリッチ補正量の修正量決定ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUは図21のステップ2100から処理を開始してステップ2110に進み、第1〜第3反映率の積(k1・k2・k3)が「1」よりも小さいか否かを判定する。即ち、CPUはステップ2110にて、インバランスリッチ補正量afimbの減少補正が実行中であるか否かを判定する。なお、ステップ2110は、始動補正量afstが正の値であるか否かを判定するステップであってもよく、第1反映率k1が「1」より小さい値であるか否かを判定するステップであってもよい。
積(k1・k2・k3)が「1」以上であるとき、CPUはステップ2110にて「No」と判定し、ステップ2195に直接進んで本ルーチンを一旦終了する。これに対し、積(k1・k2・k3)が「1」よりも小さいとき、CPUはステップ2110にて「Yes」と判定してステップ2120に進み、基本リッチ量afimb0が「0」であるか否かを判定する。このとき、基本リッチ量afimb0が「0」であると、CPUはステップ2120にて「Yes」と判定し、ステップ2195に進んで、本ルーチンを一旦終了する。
これに対し、基本リッチ量afimb0が「0」でなければ、CPUはステップ2120にて「No」と判定してステップ2130に進み、下流側空燃比センサ57の出力値Voxsが「理論空燃比に相当する値Vst」に設定された下流側目標値Voxsref(即ち、参照値)よりも大きいか否かを判定する。そして、出力値Voxsが下流側目標値Voxsref(参照値)よりも大きい場合、CPUはステップ2130にて「Yes」と判定してステップ2140に進み、インバランスリッチ補正量afimbを小さくするように(インバランスリッチ補正量afimbの減少補正の程度を大きくするように)第4反映率k4の値を正の所定値Δk4だけ減少させる。その後、CPUはステップ2195に進み、本ルーチンを一旦終了する。
一方、出力値Voxsが下流側目標値Voxsref(参照値)以下である場合、CPUはステップ2130にて「No」と判定してステップ2150に進み、インバランスリッチ補正量afimbを大きくするように(インバランスリッチ補正量afimbの減少補正の程度を小さくするように)第4反映率k4の値を正の所定値Δk4だけ増大させる。その後、CPUはステップ2195に進み、本ルーチンを一旦終了する。
以上、説明したように、第3制御装置は、第2制御装置と同様の減少補正手段を備える(図18のルーチンを参照。)。更に、第3制御装置の減少補正手段は、下流側空燃比センサ57を含み、インバランスリッチ補正量afimbを減少補正する程度(第4反映率k4)を「下流側空燃比センサ57の出力値Voxsと所定の参照値(例えば、理論空燃比に相当する値)との比較の結果」に基づいて変更するように構成される(図21のルーチン及び図19のルーチンを参照。)。
下流側空燃比センサ57の出力値Voxsは、種々の要因(混合気の燃焼状態、三元触媒43の状態、及び、機関10及び機関10を構成する部材の個体差等)によりもたらされるインバランスリッチ補正量afimbの過不足の程度(換言すると、インバランスリッチ補正量afimbを減少補正する程度の過不足分)を示す。従って、第3制御装置は、その「下流側空燃比センサ57の出力値Voxs」に基いて、始動後期間におけるインバランスリッチ補正量afimbの減少補正の程度を調整できるので、始動後期間におけるエミッションをより改善することができる。
<第4実施形態>
次に、本発明の第4実施形態に係る制御装置(以下、単に「第4制御装置」と称呼する。)について説明する。第4制御装置は、機関10の暖機状態を表す冷却水温THWにも基いて「インバランスリッチ補正量afimbの減少補正の程度(始動時暖機状態補正係数Kthw)」を変更する点において、第1制御装置と相違している。
(実際の作動)
第4制御装置のCPUは、図11乃至図15、及び、図22に示したルーチンを実行する。図11乃至図15に示したルーチンについては説明済みである。従って、以下、図22のルーチンに従う処理について説明する。
所定のタイミングになると、CPUはステップ2200から処理を開始し、以下に述べるステップ2210乃至ステップ2240の処理を順に行い、その後、ステップ2295に進んで本ルーチンを一旦終了する。
ステップ2210:CPUは、基本リッチ量afimb0をルックアップテーブルMapafimb0(RIMBg,Ga)に従って求める。このステップは、図16のステップ1610と同じ処理を行うためのステップである。
ステップ2220:CPUは、第1反映率k1をルックアップテーブルMapk1(Tafst)に従って求める。このステップは、図16のステップ1620と同じ処理を行うためのステップである。
ステップ2230:CPUは、始動時暖機状態補正係数Kthwを冷却水温THWに基づいて決定する。即ち、CPUは、図22のステップ2230内に記載されたルックアップテーブルMapaKthw(THW)に実際の冷却水温THWを適用することにより、始動時暖機状態補正係数Kthwを求める。このテーブルMapaKthw(THW)によれば、始動時暖機状態補正係数Kthwは「冷却水温THWが所定閾値温度THWdth以下」の範囲において高くなるほど、1.0よりも小さい範囲において大きくなるように決定される。更に、始動時暖機状態補正係数Kthwは、冷却水温THWが所定閾値温度THWdth以上であると1.0となるように決定される。更に、始動時暖機状態補正係数Kthwは、始動補正量afstが「0」になったとき、1.0となるように設定される。
ステップ2240:CPUは、インバランスリッチ補正量afimbを「第1反映率k1と始動時暖機状態補正係数Kthwとの積」に基いて補正する。即ち、CPUは、基本リッチ量afimb0に、「第1反映率k1と始動時暖機状態補正係数Kthwとの積」を乗じた値(=k1・Kthw・afimb0)を最終的なインバランスリッチ補正量afimbとして決定する。
以上、説明したように、第4制御装置は、機関の冷却水温THWを取得するとともに、前記取得した冷却水温THWが低いほど「始動後期間におけるインバランスリッチ補正量afimbの大きさ」をより小さくするように構成された減少補正手段(図22のルーチンを参照。)を備える。
機関の温度が低い場合には燃焼状態が不安定となるので、より多くの未燃物が発生する。これに対し、第4制御装置の減少補正手段は、冷却水温THWが低いほど「始動後期間におけるインバランスリッチ補正量afimbの大きさ」をより小さくするように補正する。従って、始動時における機関10の暖機状態(冷間始動及びHOT再始動等)によらず、始動後期間におけるインバランスリッチ補正量afimbを適切な値へと補正できるので、未燃物の排出量を低減することができる。
なお、第4制御装置は、第2制御装置又は第3制御装置と組み合わせることができる。即ち、例えば、第4制御装置が第2制御装置と組み合わされた場合、CPUは、図22のステップ2230を図18の「ステップ1840とステップ1850との間」に挿入するとともに、ステップ1850を「基本リッチ量afimb0に第1反映率k1、第2反映率k2、第3反映率k3及び始動時暖機状態補正係数Kthw」を乗じた値(k1・k2・k3・Kthw・afimb0)をインバランスリッチ補正量afimbとして算出するステップ」に置換したルーチン、を実行すればよい。
<第5実施形態>
次に、本発明の第5実施形態に係る制御装置(以下、単に「第5制御装置」と称呼する。)について説明する。第5制御装置は、三元触媒43の最大酸素吸蔵量Cmaxに基いて「インバランスリッチ補正量afimbの減少補正の程度(酸素吸蔵量補正係数KCmax)」を変更する点において、第1制御装置と相違している。
(実際の作動)
第5制御装置のCPUは、図11乃至図15、及び、図23に示したルーチンを実行する。図11乃至図15に示したルーチンについては説明済みである。従って、以下、図23のルーチンに従う処理について説明する。
所定のタイミングになると、CPUはステップ2300から処理を開始し、以下に述べるステップ2310乃至ステップ2340の処理を順に行い、その後、ステップ2395に進んで本ルーチンを一旦終了する。
ステップ2310:CPUは、基本リッチ量afimb0をルックアップテーブルMapafimb0(RIMBg,Ga)に従って求める。このステップは、図16のステップ1610と同じ処理を行うためのステップである。
ステップ2320:CPUは、第1反映率k1をルックアップテーブルMapk1(Tafst)に従って求める。このステップは、図16のステップ1620と同じ処理を行うためのステップである。
ステップ2330:CPUは、酸素吸蔵量補正係数KCmaxを最大酸素吸蔵量Cmaxに基づいて決定する。即ち、CPUは、図23のステップ2330内に記載されたルックアップテーブルMapaKCmax(Cmax)に実際の最大酸素吸蔵量Cmaxを適用することにより、酸素吸蔵量補正係数KCmaxを求める。このテーブルMapaKCmax(Cmax)によれば、酸素吸蔵量補正係数KCmaxは「最大酸素吸蔵量Cmaxが所定閾値吸蔵量Cmax0以下」の範囲において大きくなるほど、1.0よりも小さい範囲において大きくなるように決定される。更に、酸素吸蔵量補正係数KCmaxは、最大酸素吸蔵量Cmaxが所定閾値吸蔵量Cmax0以上であると1.0となるように決定される。更に、酸素吸蔵量補正係数KCmaxは、始動補正量afstが「0」になったとき、1.0となるように設定される。
なお、最大酸素吸蔵量Cmaxは、上流側触媒43が吸蔵し得る酸素の量の最大値であり、前回又はそれ以前の機関10の運転時において、所謂「アクティブ空燃比制御」によって別途取得されている。最大酸素吸蔵量Cmaxは、上流側触媒43の劣化が進むほど小さくなる。アクティブ空燃比制御は、例えば、特開平5−133264号公報等に記載された周知の制御であり、例えば、上流側触媒43に理論空燃比stoichよりもリッチな空燃比の排ガスを流入し続けて上流側触媒43の酸素吸蔵量を「0」にし、その時点から上流側触媒43に理論空燃比stoichよりもリーンな空燃比の排ガスを流入し続け、その際の上流側空燃比センサ56の出力値Vabyfsに基いて三元触媒43に吸蔵される酸素量(ΔOSA=(単位時間あたりの燃料量)・0.23・(abyfs-stoich))を下流側空燃比センサ67の出力値Voxsが理論空燃比相当値Vstよりも大きい値となるまで積算することにより求められる。最大酸素吸蔵量Cmaxは、取得される毎にバックアップRAMに記憶・更新されるようになっている。
ステップ2340:CPUは、インバランスリッチ補正量afimbを「第1反映率k1と酸素吸蔵量補正係数KCmaxとの積」に基いて補正する。即ち、CPUは、基本リッチ量afimb0に、「第1反映率k1と酸素吸蔵量補正係数KCmaxとの積」を乗じた値(=k1・KCmax・afimb0)を最終的なインバランスリッチ補正量afimbとして決定する。
以上、説明したように、第5制御装置は、三元触媒43の最大酸素吸蔵量Cmaxを取得するとともに、その取得した最大酸素吸蔵量Cmaxが小さいほど「始動後期間におけるインバランスリッチ補正量afimbの大きさ」をより小さくするように構成された減少補正手段(図23のルーチンを参照。)を備える。
三元触媒43が劣化すると、三元触媒43が吸蔵し得る酸素の最大量(最大酸素吸蔵量Cmax)が小さくなる。従って、三元触媒43の劣化の程度が進行しているほど、三元触媒43が始動後期間において浄化することができる未燃物の量は小さくなる。従って、第5制御装置によれば、三元触媒43の劣化の程度によらず、始動後期間におけるインバランスリッチ補正量afimbインバランスリッチ補正量を適切な値へと減少補正できるので、
未燃物の排出量を低減することができる。
なお、第5制御装置は、第2乃至第4制御装置と組み合わせることができる。即ち、例えば、第5制御装置が第2制御装置と組み合わされた場合、CPUは、図23のステップ2330を図18の「ステップ1840とステップ1850との間」に挿入するとともに、ステップ1850を「基本リッチ量afimb0に第1反映率k1、第2反映率k2、第3反映率k3及び酸素吸蔵量補正係数KCmax」を乗じた値(k1・k2・k3・KCmax・afimb0)をインバランスリッチ補正量afimbとして算出するステップ」に置換したルーチン、を実行すればよい。
以上、説明したように、本発明による燃料噴射量制御装置の各実施形態は、始動後期間におけるインバランスリッチ補正量afimbを適切な値へと減少補正することができる。その結果、始動後期間における未燃物の排出量を低減することができる。
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、空燃比不均衡指標値RIMBは、サブフィードバック量の定常成分に応じた値であるサブFB学習値KSFBg(又は、サブFB学習値KSFBgに相関を有する値)であってもよい。なお、サブFB学習値KSFBgは、メインフィードバック制御によるリーン誤制御の結果を表すので、上流側空燃比センサ56の出力値Vabyfsに基く値であると言うことができる。また、サブFB学習値KSFBgは、気筒別空燃比の不均一性の程度が大きくなるほど大きくなる値である。
更に、上記サブフィードバック量KSFBは目標空燃比abyfrを直接的に修正する値であった。これに代え、「サブフィードバック量KSFBと同様に算出されるサブフィードバック量Vafsfb」を下記の(24)式のように上流側空燃比センサ56の出力値Vabyfsに加えることによりフィードバック制御用出力値Vabyfcを取得してもよい。
Vabyfc=Vabyfs+Vafsfb …(24)
そして、下記(25)式に示したように、そのフィードバック制御用出力値Vabyfcを図7に示したテーブルMapabyfsに適用することによりフィードバック制御用空燃比abyfscを取得し、そのフィードバック制御用空燃比abyfscが目標空燃比abyfrに一致するように、メインフィードバック量DFi(メインフィードバック係数FAF)を求めてもよい。即ち、この形態は、目標空燃比abyfrをサブフィードバック量により直接的に修正するのではなく、上流側空燃比センサ56の出力値Vabyfsをサブフィードバック量により補正することによって目標空燃比abyfrを実質的に補正する。
abyfsc=Mapabyfs(Vabyfc) …(25)
加えて、上記各制御装置は、V型エンジンにも適用することができる。その場合、V型エンジンは右バンクに属する2以上の気筒の排気集合部よりも下流に右バンク上流側触媒を備える。更に、そのV型エンジンは、左バンクに属する2以上の気筒の排気集合部よりも下流に左バンク上流側触媒を備える。
加えて、そのV型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサをそれぞれ備えることができる。各上流側空燃比センサは、上記上流側空燃比センサ56と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
更に、この場合、制御装置は、右バンク用の上流側空燃比センサの出力値に基いて「右バンク用の空燃比不均衡指標値RIMB(及び不均衡指標学習値RIMBg)」を求め、それを用いて右バンクに属する気筒に対するインバランスリッチ補正量afimbを算出する。同様に、制御装置は、左バンク用の上流側空燃比センサの出力値に基いて「左バンク用の空燃比不均衡指標値RIMB(及び不均衡指標学習値RIMBg)」を求め、それを用いて左バンクに属する気筒に対するインバランスリッチ補正量afimbを算出する。
更に、上記各実施形態は、空燃比不均衡指標値RIMBがインバランス判定用閾値よりも大きいか否かを判定し、空燃比不均衡指標値RIMBがインバランス判定用閾値よりも大きいとき空燃比気筒間インバランス状態が発生したと判定してもよい。
加えて、上記各実施形態は、変化率ΔAF(Vabyfsの時間についての微分値d(Vabyfs)/dt)を空燃比不均衡指標値RIMBの基本指標値として用いていたが、基本指標値は以下の何れかであってもよい。
・前記上流側空燃比センサの出力値Vabyfsにハイパスフィルタ処理を施した値(ハイパスフィルタ処理後出力値VHPF)の時間についての微分値d(VHPF)/dtに相関する値。
・前記上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtに相関する値。
・前記上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsにハイパスフィルタ処理を施した値(ハイパスフィルタ処理後出力値abyfsHPF)の時間についての微分値d(abyfsHPF)/dtに相関する値。
・前記上流側空燃比センサの出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2に相関する値。
・前記上流側空燃比センサの出力値Vabyfsにより表される前記検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2に相関する値。
・前記上流側空燃比センサの出力値Vabyfsの所定期間における最大値と最小値の差に相関する値。
・前記ハイパスフィルタ処理後出力値VHPFの所定期間における最大値と最小値の差に相関する値。
・前記上流側空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値の差に相関する値。
・前記ハイパスフィルタ処理後出力値abyfsHPFの所定期間における最大値と最小値の差に相関する値。
・前記上流側空燃比センサの出力値Vabyfsの所定期間おける軌跡長に相関する値。
・前記ハイパスフィルタ処理後出力値VHPFの所定期間おける軌跡長に相関する値。
・前記上流側空燃比センサの出力値により表される検出空燃比abyfsの所定期間における軌跡長に相関する値。
・前記ハイパスフィルタ処理後出力値abyfsHPFの所定期間における軌跡長に相関する値。
・前記上流側空燃比センサに基いて検出される空燃比と、前記下流側空燃比センサに基いて検出される空燃比と、の乖離の状態を表すパラメータである「サブフィードバック量の定常成分に応じた値(時間積分値等、上記特許文献2を参照。)」。
更に、上流側空燃比センサ56は限界電流式の空燃比センサであったが、下流側空燃比センサ57と同様な起電力式酸素濃度センサであってもよい。前述したように、起電力式の酸素濃度センサも多孔質層を備える。従って、起電力式の酸素濃度センサが「排気集合部HKと上流側触媒43との間」に配設されると、起電力式の酸素濃度センサの出力値(下流側空燃比センサ57の出力値Voxsと区別するために出力値Voxsupと記載する)は、水素の選択的拡散の影響を受ける。このため、出力値Voxsupは、気筒別空燃比の不均一性の程度に応じて変化する。
一般に、起電力式の酸素濃度センサが「メインフィードバック制御のための上流側空燃比センサ」として使用される場合、出力値Voxsupが「目標空燃比である理論空燃比に対応した値Vst」に設定された上流側目標値Vrefに一致するように空燃比のフィードバック制御が実行される。従って、気筒別空燃比の不均一性の程度が大きくなるに従ってメインフィードバック制御の結果として得られる排ガスの真の空燃比の平均は、理論空燃比よりもリーン側の空燃比へと移行してしまう。即ち、リーン誤補正が発生する。従って、空燃比不均衡指標値RIMB(又は不均衡指標学習値RIMBg)に基いてインバランスリッチ補正量afimbを求め、インバランスリッチ補正量afimbにより指示空燃比を変更するとともに、始動後期間においてインバランスリッチ補正量afimbを上記各実施形態のように減少補正することが望ましい。
加えて、始動補正量afstは、始動時冷却水温THWstのみでなく始動後期間における冷却水温THWに基いて決定されてもよい。
なお、上記各実施形態に係る燃料噴射量制御装置は、
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部よりも下流側の位置に配設された三元触媒と、
前記排気通路の前記排気集合部と前記三元触媒との間の位置に配設された上流側空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
前記三元触媒に流入する排ガスの空燃比の目標値である目標空燃比を決定する目標空燃比決定手段と、
所定のメインフィードバック制御条件が成立しているとき、前記三元触媒に流入する排ガスの空燃比が前記目標空燃比に一致するように前記燃料噴射弁から噴射される燃料の量を補正するための空燃比補正量(メインフィードバック係数)を前記上流側空燃比センサの出力値に基いて算出する空燃比補正量算出手段(図12のステップ1205乃至ステップ1240)と、
前記空燃比補正量を学習値(メインFB学習値KG)として記憶する学習手段(図12のステップ1250乃至ステップ1265)と、
前記メインフィードバック制御条件が成立しているときには少なくとも「前記機関が吸入する吸入空気量と前記空燃比補正量(FAF、FAF及びKG)」とに基づいて前記三元触媒に流入する排ガスの空燃比を前記目標空燃比に一致させるための燃料の量の指示値である指示燃料噴射量Fiを決定するとともに(図12のステップ1205乃至ステップ1240と、図11のステップ1150を参照。)、前記メインフィードバック制御条件が成立していないときには少なくとも「前記機関が吸入する吸入空気量と前記学習値KG」とに基づいて前記三元触媒に流入する排ガスの空燃比を前記目標空燃比に一致させるための燃料の量の指示値である指示燃料噴射量Fiを決定する指示燃料噴射量決定手段(図12のステップ1280、図11のステップ1120乃至ステップ1150を参照。)、
前記指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段(図11のステップ1160)と、
を備える内燃機関の燃料噴射量制御装置において、
前記目標空燃比決定手段は、
前記機関の始動時から所定の時間が経過する時点までの始動後期間において前記目標空燃比を減少させるための始動補正量を算出する始動補正量算出手段(図14)と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を少なくとも前記上流側空燃比センサの出力値に相関する値に基いて取得する空燃比不均衡指標値取得手段(図15)と、
前記取得された空燃比不均衡指標値に相関する値に基いて前記目標空燃比を減少させるためのインバランスリッチ補正量を算出するインバランスリッチ補正量算出手段(ステップ1610等)と、
前記始動後期間における前記インバランスリッチ補正量の大きさを前記始動後期間が経過した後の期間における前記インバランスリッチ補正量の大きさよりも小さくするように前記インバランスリッチ補正量を減少補正する減少補正手段(図16のステップ1620及びステップ1630、図18のステップ1820乃至ステップ1850、図22のステップ2220乃至ステップ2240、図23のステップ2320乃至ステップ2340等)と、
前記始動補正量と前記減少補正されたインバランスリッチ補正量とに基いて前記目標空燃比を算出する目標空燃比算出手段(図13又は図19等)と、
を備えた燃料噴射量制御装置、
であると言うことができる。
(変形例)
更に、本発明装置の変形例として、以下に述べる形態を採用してもよい。インバランス気筒の空燃比が非インバランス気筒の空燃比よりもリーン側の空燃比になる状態「リーンインバランス状態」が発生した場合、機関回転速度NEの変化率(単位時間あたりの機関回転速度NEの変化量等)に基づいてリーンインバランス指標値を取得することができる。かかる状態におけるインバランス気筒はリーンインバランス気筒とも称呼される。
リーンインバランス気筒の空燃比が非インバランス気筒の空燃比に対してリーン側になるにしたがって、リーンインバランス気筒における混合気の燃焼状態が悪化するので、リーンインバランス気筒が燃焼行程にある場合の機関回転速度NEの変化率は大きくなる。従って、機関回転速度NEの変化率に基いて「空燃比不均衡指標値としてのリーンインバランス指標値」を取得することができる。
リーンインバランス指標値が取得され且つそのリーンインバランス指標値が大きいとき、リーンインバランス状態が発生したと判定することができる。従って、変形例は、リーンインバランス状態が発生したと判定されたとき、リーンインバランス気筒を特定し、そのリーンインバランス気筒に対する燃料噴射量を、非インバランス気筒の燃料噴射量よりも増大させる。但し、機関の始動後の数秒間において、リーンインバランス気筒がどの気筒であるかを確認するため、そのようなリーンインバランス気筒に対する増量制御は一般に停止される。しかし、機関の始動後の数秒間において、リーンインバランス気筒の空燃比が過度にリーン側の空燃比となり、そのために、リーンインバランス気筒において失火が発生することがある。この場合、リーンインバランス気筒から多量の未燃物(HC等)が発生するのでエミッションが悪化する。
そこで、前回の機関の運転時においてリーンインバランス指標値が取得され、そのリーンインバランス指標値がリーンインバランス指標学習値として記憶されている場合には、そのリーンインバランス指標学習値に基いてリーン気筒に対して増量を行う。これにより、失火が発生しないので、エミッションが悪化することを回避することができる。
しかしながら、バッテリが交換されるなどの理由によりリーンインバランス指標学習値が失われていると、リーンインバランス気筒に対する増量が実施できないので、結果としてエミッションが悪化する。
そこで、変形例は、リーンインバランス指標学習値が存在しているか否かを判定し(インバランス指標値の学習履歴があるか否かを判定し)、リーンインバランス指標学習値が存在しない場合には、冷却水温THWが所定冷却水温THWhotst(HOT再始動であると判定することができる冷却水温)よりも大きいときに限り、目標空燃比abyfrを理論空燃比stoichよりもリーン側の空燃比に設定してメインフィードバック制御(リーンフィードバック制御)を実行する。そして、そのリーンフィードバック制御中にリーンインバランス指標学習値を早期に取得する。これにより、エミッションが悪化することを早期に回避することができる。
より具体的に述べると、変形例のCPUは図24にフローチャートにより示したリーンインバランス指標値取得ルーチンをステップ2400から開始し、ステップ2410にて現時点が「機関始動要求」の発生直後の時点であるか否かを判定する。このとき、現時点が「機関始動要求」の発生直後の時点でなければ、CPUはステップ2460に進む。
一方、現時点が「機関始動要求」の発生直後の時点であると、CPUはステップ2410にて「Yes」と判定してステップ2420に進み、リーンインバランスの学習履歴があるか否か(換言すると、リーンインバランス指標学習値が存在しているか否か)を判定する。
リーンインバランスの学習履歴があると、CPUはステップ2480に進み、通常の触媒暖機制御(目標空燃比abyfrを理論空燃比stoichよりもリッチ側の空燃比に設定し、且つ、点火時期を基本点火時期よりも遅角する制御)を実行する。
これに対し、リーンインバランスの学習履歴がなければ、CPUはステップ2420からステップ2430に進み、冷却水温THWが所定冷却水温THWhotstよりも高いか否かを判定する。そして、冷却水温THWが所定冷却水温THWhotstよりも高い場合、CPUはステップ2440に進み、目標空燃比abyfrを理論空燃比stoichよりもリーン側に設定することによってリーンフィードバック制御を実行し且つ点火時期を基本点火時期よりも遅角する。一方、CPUがステップ2430の処理を実行する時点において、冷却水温THWが所定冷却水温THWhotst以下である場合、CPUはステップ2480に進む。
CPUは、ステップ2440又はステップ2480の処理の後、ステップ2450に進み、機関回転速度NEの変化率に基いて「リーンインバランス指標値」を取得する。更に、CPUは、リーンインバランス指標値が取得されたとき、そのリーンインバランス指標値をリーンインバランス指標学習値としてバックアップRAMに格納する。
次に、CPUはステップ2460に進み、始動後期間が経過したか否かを判定する。このステップは、リーンインバランス指標学習値が存在した状態になっているか否かを判定するステップに置換されてもよい。
始動後期間が経過してなければ、CPUはステップ2460からステップ2495に直接進んで本ルーチンを一旦終了する。これに対し、始動後期間が経過していると、CPUはステップ2460からステップ2470に進み、通常の空燃比フィードバック制御を実行する。
この変形例によれば、リーンインバランス指標学習値が消失した場合であっても、エミッションが悪化することを回避することができる。