以下、本発明の各実施形態に係る多気筒内燃機関の空燃比気筒間インバランス判定装置について図面を参照しながら説明する。この装置は、内燃機関の空燃比を制御する空燃比制御装置の一部であり、燃料噴射量を制御する燃料噴射量制御装置でもある。
<第1実施形態>
(構成)
図1及び図2は、本発明の第1実施形態に係る多気筒内燃機関の空燃比気筒間インバランス判定装置(以下、単に「第1判定装置」と称呼する。)が適用される内燃機関10の概略構成を示している。機関10は、4サイクル・火花点火式・多気筒(本例において4気筒)・ガソリン燃料・可変圧縮比機関である。機関10は、本体部20、吸気系統30及び排気系統40を備えている。
本体部20は、図2に示したように、固定部20A、可動部20B及び圧縮比変更機構20Cを含んでいる。なお、図2は特定の気筒の断面を示しているが、他の気筒も同様な構成を備えている。
固定部20Aは、クランクケース201と、オイルパン202とを含んでいる。
クランクケース201は、クランク軸203を回転可能に支持している。オイルパン202は、クランクケース201の下方(下部)においてクランクケース201に固定されている。オイルパン202は、クランクケース201とともに、クランク軸203及び潤滑油等を収容する空間を形成している。
可動部20Bは、クランクケース201の上方に配置されたシリンダブロック204と、シリンダブロック204の上部に配置されたシリンダヘッド205と、を備えている。
シリンダブロック204は、クランクケース201の上部に固定された側壁206の内側面に沿って摺動できるようになっている。シリンダブロック204は、中空円筒状のシリンダ(シリンダボア)204aを複数個(4気筒分)備えている。ピストン204bは略円筒形であり、シリンダ204aに収容されている。ピストン204bは、コネクティングロッド204cによってクランク軸203に連結されている。シリンダブロック204は、後述するように、クランクケース201に対してシリンダ204aの軸線CC方向(以下、「上下方向」とも称呼する。)に移動することにより、機関10の機械圧縮比を変更するようになっている。なお、機械圧縮比は、「ピストン204bが上死点位置にあるときの燃焼室容積に対するピストン204bが下死点位置にあるときの燃焼室容積の比」として定義される。
シリンダヘッド205はシリンダブロック204に固定されている。シリンダヘッド205には、燃焼室21の上面を形成するシリンダヘッド下面205a、燃焼室21に連通する吸気ポート22、及び、燃焼室21に連通する排気ポート23が形成されている。
更に、シリンダヘッド205は、吸気ポート22を開閉する吸気弁22a、吸気弁22aを駆動するインンテークカムを備えるインテークカムシャフト22b、排気ポート23を開閉する排気弁23a、排気弁23aを駆動するエグゾーストカムを備えるエグゾーストカムシャフト23b、及びイグニッションコイルを含むイグナイタに連結された点火プラグ24等を収容している。点火プラグ24は、その火花発生部が燃焼室21の中央部であってシリンダヘッド部の下面近傍位置に露呈するように配設されている。点火プラグ24は、点火信号に応答して火花発生部から点火用火花を発生するようになっている。
圧縮比変更機構20Cは、例えば、特開2003−206771号公報、特開2007−303423号公報、特開2007−321589号公報及び特開2004−218522号公報等に開示された機構と同様の機構を備える。圧縮比変更機構20Cは、図2において、その機能を示すブロックにより示されている。
圧縮比変更機構20Cは、シリンダブロック204とクランクケース201との間に介装された駆動部207と圧縮比変更機構のアクチュエータ208とを含んでいる。アクチュエータ208は電動モータである。駆動部207は、後述する電気制御装置60(図1を参照。)からアクチュエータ208への駆動信号に応答して「シリンダ204aの軸線CC方向(上下方向)」に伸縮する。この伸縮により、シリンダブロック204とクランクケース201との距離が変更され、その結果、機関10の機械圧縮比が変更される。
再び、図1を参照すると、本体部20には、吸気弁制御装置26が設けられている。この吸気弁制御装置26は、インテークカムシャフト(図示せず)とインテークカム(図示せず)との相対回転角度(位相角度)を油圧により調整・制御する周知の構成を備えている。吸気弁制御装置26は、指示信号(駆動信号)に基いて作動し、吸気弁の開弁タイミング及び閉弁タイミングを変更することができるようになっている。吸気弁制御装置26は、圧縮行程中の吸気弁閉弁タイミングを変更することにより、混合気の実質的な圧縮が開始される時点を変更し、その圧縮開始時点における燃焼室容積を変更することにより、機関10の実圧縮比を変更するようになっている。
本体部20には燃料噴射弁(インジェクタ)25が固定されている。燃料噴射弁25は、各吸気ポート22に一つずつ設けられている。燃料噴射弁25は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示噴射量の燃料」を対応する吸気ポート22内に噴射するようになっている。このように、複数の気筒21のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁25を備えている。
吸気系統30は、インテークマニホールド31、吸気管32、エアフィルタ33、スロットル弁34及びスロットル弁アクチュエータ34aを備えている。
インテークマニホールド31は、各吸気ポート22に接続された複数の枝部と、それらの枝部が集合したサージタンク部と、を備えている。吸気管32はサージタンク部に接続されている。インテークマニホールド31、吸気管32及び複数の吸気ポート22は、吸気通路を構成している。エアフィルタ33は吸気管32の端部に設けられている。スロットル弁34はエアフィルタ33とインテークマニホールド31との間の位置において吸気管32に回動可能に取り付けられている。スロットル弁34は、回動することにより吸気管32が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ34aは、DCモータからなり、指示信号(駆動信号)に応答してスロットル弁34を回動させるようになっている。
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ(排気管)42、上流側触媒43及び下流側触媒44を備えている。
エキゾーストマニホールド41は、各排気ポート23に接続された複数の枝部41aと、それらの枝部41aが集合した集合部(排気集合部)41bと、からなっている。エキゾーストパイプ42は、エキゾーストマニホールド41の集合部41bに接続されている。エキゾーストマニホールド41、エキゾーストパイプ42及び複数の排気ポート23は、排ガスが通過する通路を構成している。なお、本明細書において、エキゾーストマニホールド41の集合部41b及びエキゾーストパイプ42を、便宜上、「排気通路」と称呼する。
上流側触媒43は、セラミックからなる担持体に「触媒物質である貴金属」及び「セリア(CeO2)」を担持していて、酸素吸蔵・放出機能(酸素吸蔵機能)を有する三元触媒である。上流側触媒43はエキゾーストパイプ42に配設(介装)されている。上流側触媒43は所定の活性温度に到達すると、「未燃物(HC、CO及びH2等)と窒素酸化物(NOx)とを同時に浄化する触媒機能」及び「酸素吸蔵機能」を発揮する。
下流側触媒44は、上流側触媒43と同様の三元触媒である。下流側触媒44は、上流側触媒43よりも下流においてエキゾーストパイプ42に配設(介装)されている。
第1判定装置は、熱線式エアフローメータ51、スロットルポジションセンサ52、水温センサ53、クランク角センサ54、インテークカムポジションセンサ55、ストロークセンサ56、上流側空燃比センサ57、下流側空燃比センサ58、及び、アクセル開度センサ59等を備えている。
熱線式エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量を検出し、その質量流量(機関10の単位時間あたりの吸入空気量)Gaを表す信号を出力するようになっている。
スロットルポジションセンサ52は、スロットル弁34の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
水温センサ53は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
クランク角センサ54は、クランク軸203が10度回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置60によって機関回転速度NEに変換される。
インテークカムポジションセンサ55は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。電気制御装置60は、クランク角センサ54及びインテークカムポジションセンサ55からの信号に基いて、特定気筒(例えば第1気筒#1)の圧縮上死点を基準とした絶対クランク角を取得するようになっている。
ストロークセンサ56は、図2に示したクランクケース201(例えば、クランクケース201の上端)と、図2に示したシリンダブロック204(例えば、シリンダブロック204の下端)と、の距離を計測し、その距離STを表す信号を出力するようになっている。電気制御装置60は、距離STに基づいて「機関10の機械圧縮比εact」を取得するようになっている。従って、ストロークセンサ56は機械圧縮比検出センサと称呼することもできる。
上流側空燃比センサ57は、エキゾーストマニホールド41の集合部41bと上流側触媒43との間の位置においてエキゾーストマニホールド41及びエキゾーストパイプ42の何れか(即ち、排気通路)に配設されている。上流側空燃比センサ57は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
上流側空燃比センサ57は、図3及び図4に示したように、空燃比検出素子57aと、外側保護カバー57bと、内側保護カバー57cと、を有している。
外側保護カバー57bは金属からなる中空円筒体である。外側保護カバー57bは内側保護カバー57cを覆うように、内側保護カバー57cを内部に収容している。外側保護カバー57bは、流入孔57b1をその側面に複数備えている。流入孔57b1は、排気通路を流れる排ガス(外側保護カバー57bの外部の排ガス)EXを外側保護カバー57bの内部に流入させるための貫通孔である。更に、外側保護カバー57bは、外側保護カバー57bの内部の排ガスを外部(排気通路)に流出させるための流出孔57b2をその底面に有している。
内側保護カバー57cは、金属からなり、外側保護カバー57bの直径よりも小さい直径を有する中空円筒体である。内側保護カバー57cは、空燃比検出素子57aを覆うように空燃比検出素子57aを内部に収容している。内側保護カバー57cは流入孔57c1をその側面に複数備えている。この流入孔57c1は、外側保護カバー57bの流入孔57b1を通して「外側保護カバー57bと内側保護カバー57cとの間の空間」に流入した排ガスを、内側保護カバー57cの内部に流入させるため貫通孔である。更に、内側保護カバー57cは、内側保護カバー57cの内部の排ガスを外部に流出させるための流出孔57c2をその底面に有している。
上流側空燃比センサ55は、「外側保護カバー57bの中心軸Cgが排ガスの流れの向きに直交し、外側保護カバー57bの底面が排ガスの流れの向きに平行となるように」、配設されている。従って、図3及び図4の矢印Ar1により示したように、排気通路を流れる排ガスEXは、外側の保護カバー57bの流入孔57b1を通って「外側の保護カバー57bと内側保護カバー57cとの間」に流入する。次いで、その排ガスは、矢印Ar2に示したように内側保護カバー57cの流入孔57c1を通って「内側の保護カバー57cの内部」に流入し、空燃比検出素子57aに到達する。その後、その排ガスは、矢印Ar3に示したように「内側保護カバー57cの流出孔57c2及び外側保護カバー57bの流出孔57b2」を通って排気通路に流出する。
図5(A)に示したように、空燃比検出素子57aは、固体電解質層571と、排ガス側電極層572と、大気側電極層573と、拡散抵抗層574と、隔壁部575と、ヒータ576と、を備えている。
図5(B)に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、酸素ポンプ特性が利用されることにより空燃比が検出される。即ち、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、排ガス中に多量に含まれる酸素分子が拡散抵抗層574を通って排ガス側電極層572に到達する。その酸素分子は電子を受け取って酸素イオンになる。酸素イオンは、固体電解質層571を通過し、大気側電極層573にて電子を放出して酸素分子になる。この結果、電源578の正極から、大気側電極層573、固体電解質層571及び排ガス側電極層572を介して電源578の負極へと電流Iが流れる。
この電流Iの大きさは、電源578による印加電圧Vの大きさを所定値Vp以上に設定したとき、拡散抵抗層574の外側表面に到達した排ガスに含まれる酸素分子のうち「拡散抵抗層574を通って排ガス側電極層572へと拡散によって到達する酸素分子」の量に応じて変化する。即ち、電流Iの大きさは、排ガス側電極層572における酸素濃度(酸素分圧)に応じて変化する。排ガス側電極層572における酸素濃度は、拡散抵抗層574の外側表面に到達した排ガスの酸素濃度に応じて変化する。この電流Iは、図6に示したように、電圧Vを所定値Vp以上に設定しても変化しないから、限界電流Ipと呼ばれる。空燃比センサ57は、この限界電流Ip値に基いて空燃比に応じた値を出力する。
これに対し、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、図5(C)に示したように、酸素電池特性が利用されることにより空燃比が検出される。より具体的に述べると、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、排ガス中に多量に含まれる未燃物(HC,CO及びH2等)が拡散抵抗層574を通って排ガス側電極層572に到達する。この場合、大気側電極層573における酸素濃度と排ガス側電極層572における酸素濃度との差(酸素分圧差)が大きくなるので、固体電解質層571は酸素電池として機能する。印加電圧Vは、この酸素電池の起電力よりも小さい値に設定されている。
従って、大気室577に存在する酸素分子は大気側電極層573にて電子を受け取って酸素イオンとなる。その酸素イオンは、固体電解質層571を通過し、排ガス側電極層572へと移動する。そして、排ガス側電極層572にて未燃物を酸化し、電子を放出する。この結果、電源578の負極から、排ガス側電極層572、固体電解質層571及び大気側電極層573を介して電源578の正極へと電流Iが流れる。
この電流Iの大きさは、大気側電極層573から固体電解質層571を通って排ガス側電極層572に到達する酸素イオンの量により定まる。前述したように、この酸素イオンは排ガス側電極層572にて未燃物を酸化するために使用される。従って、拡散により拡散抵抗層574を通過して排ガス側電極層572に到達する未燃物の量が多いほど、固体電解質層571を通過する酸素イオンの量は多くなる。換言すると、空燃比が小さいほど(理論空燃比よりもリッチ側の空燃比であって未燃物の量が多いほど)、電流Iの大きさは大きくなる。但し、拡散抵抗層574の存在により、排ガス側電極層572に到達する未燃物の量は制限されるので、電流Iは空燃比に応じた一定値Ipとなる。上流側空燃比センサ57は、この限界電流値Ipに基いて空燃比に応じた値を出力する。
このような検出原理に基づく上流側空燃比センサ57は、図7に示したように、上流側空燃比センサ57の配設位置を流れる排ガスの空燃比(上流側空燃比abyfs)に応じた出力値Vabyfsを出力する。出力値Vabyfsは限界電流Ipを電圧に変換することにより得られる。出力値Vabyfsは被検出ガスの空燃比が大きくなるほど(リーンとなるほど)増大する。電気制御装置60は、図7に示した空燃比変換テーブル(関係、マップ)Mapabyfsを記憶していて、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する。この空燃比変換テーブルMapabyfsは、水素の選択的拡散も考慮して作成されている。換言すると、テーブルMapabyfsは、各気筒の空燃比を互いに等しい空燃比Aに設定することにより、上流側空燃比センサ57に到達する排ガスの空燃比を値Aに設定した場合の「上流側空燃比センサ57の実際の出力値Vabyfs」に基いて作成される。
再び、図1を参照すると、下流側空燃比センサ58は、上流側触媒43と下流側触媒44との間の位置においてエキゾーストパイプ42(即ち、排気通路)に配設されている。下流側空燃比センサ58は、周知の濃淡電池型の酸素濃度センサ(O2センサ)である。下流側空燃比センサ58は、例えば、図5(A)に示した上流側空燃比センサ57と同様な構成を備える(但し、電源578を除く。)。或いは、下流側空燃比センサ58は、試験管状の固体電解質層と、固体電解質層の外側に形成された排ガス側電極層と、大気室(固体電解質層の内側)に露呈し且つ固体電解室層を挟んで排ガス側電極層と対向するように固体電解質層に形成された大気側電極層と、排ガス側電極層を覆い且つ排ガスが接触する(排ガス中に晒されるように配置される)拡散抵抗層と、を備えるものであってもよい。下流側空燃比センサ58は、下流側空燃比センサ58の配設位置を流れる排ガスの空燃比(下流側空燃比afdown)に応じた出力値Voxsを出力するようになっている。
下流側空燃比センサ58の出力値Voxsは、図8に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V)となり、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V)となり、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、例えば、約0.5V)となる。更に、この出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変し、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
図1に示したアクセル開度センサ59は、運転者によって操作されるアクセルペダルAPの操作量を検出し、アクセルペダルAPの操作量Accpを表す信号を出力するようになっている。
電気制御装置60は、「CPU、ROM、RAM、バックアップRAM(又は、EEPROM等の不揮発性メモリ)、並びに、ADコンバータを含むインターフェース等」からなる「周知のマイクロコンピュータ」である。
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化(デフォルト値に設定)するようになっている。
電気制御装置60のインターフェースは、前記センサ51〜59と接続され、CPUにセンサ51〜59からの信号を供給するようになっている。更に、そのインターフェースは、CPUの指示に応じて、各気筒の点火プラグ24、各気筒の燃料噴射弁25、吸気弁制御装置26、スロットル弁アクチュエータ34a及び圧縮比変更機構のアクチュエータ208等に指示信号(駆動信号)等を送出するようになっている。なお、電気制御装置60は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータ34aに指示信号を送出するようになっている。更に、電気制御装置60は、機関10の負荷KL(後述)が所定値以上の場合に機関10の機械圧縮比が第1の機械圧縮比となるように圧縮比変更機構のアクチュエータ208に指示信号を送出し、機関10の負荷KLが所定値未満の場合に機関10の機械圧縮比が第2の機械圧縮比となるように圧縮比変更機構のアクチュエータ208に指示信号を送出している。本例において、第1の機械圧縮比は第2の機械圧縮比よりも小さい。但し、第1の機械圧縮比及び第2の機械圧縮比の大小関係は機関10の特性により適宜設定される。
(空燃比気筒間インバランス判定の原理)
次に、上記第1判定装置による「空燃比気筒間インバランス判定」の原理について説明する。空燃比気筒間インバランス判定とは、気筒間における空燃比の不均一性が「圧縮比に基づいて定まる所定値」以上となったか否か、換言すると、気筒別空燃比の間にエミッションの大幅な悪化を招く虞のある顕著な不均衡が生じているか否か、を判定することである。
機関10の燃料は炭素と水素との化合物である。従って、燃料が燃焼して水H2Oと二酸化炭素CO2へと変化する過程において、「炭化水素HC、一酸化炭素CO及び水素H2等」の未燃物が中間生成物として生成される。
燃焼に供される混合気の空燃比が理論空燃比よりも小さくなるほど(即ち、空燃比が理論空燃比よりもリッチ側の空燃比になるほど)、燃料が完全燃焼するために必要な酸素の量と実際の酸素の量との差が増大する。換言すると、リッチ側の空燃比になるほど燃焼途中における酸素の不足量が増大し、酸素濃度が低下するから、中間生成物(未燃物)が酸素と出合って結合する(酸化される)確率が急激に小さくなる。この結果、図9に示したように、気筒から排出される未燃物(HC、CO及びH2)の量は、気筒に供給される混合気の空燃比がリッチ側の空燃比になるほど急激に(二次関数的に)増大する。なお、図9の点P1、点P2及び点P3は、ある気筒に供給される燃料の量が、その気筒の空燃比が理論空燃比に一致する場合の燃料の量に対して、それぞれ10%(=AF1)、30%(=AF2)及び40%(=AF3)だけ過剰となった点を示す。
更に、水素H2は、炭化水素HC及び一酸化炭素CO等に比べて小さい分子である。従って、水素H2は他の未燃物(HC,CO)に比較して、上流側空燃比センサ57の拡散抵抗層574を迅速に拡散する。このため、HC,CO及びH2からなる未燃物が多量に発生すると、拡散抵抗層574において水素H2の選択的拡散(優先的な拡散)が顕著に発生する。即ち、水素H2は、空燃比検出素子の表面(固体電解質層571の表面に形成された排ガス側電極層572)に「他の未燃物(HC,CO)」よりも多量に到達するようになる。この結果、水素H2の濃度と他の未燃物(HC,CO)の濃度とのバランスが崩れる。換言すると、「上流側空燃比センサ57の空燃比検出素子(排ガス側電極層572)に到達した排ガス」に含まれる全未燃成分に対する水素H2の割合は、「機関10の各燃焼室21から排出された排ガス」に含まれる全未燃成分に対する水素H2の割合よりも大きくなる。
ところで、上記第1判定装置は空燃比制御装置の一部である。空燃比制御装置は、「上流側空燃比センサ57の出力値Vabyfsにより表される上流側空燃比abyfs(出力値Vabyfsに相当する空燃比)」を「上流側目標空燃比abyfr」に一致させる「空燃比のフィードバック制御(メインフィードバック制御)」を行う。一般に、上流側目標空燃比abyfrは理論空燃比stoichに設定される。
更に、空燃比制御装置は、下流側空燃比センサ58の出力値Voxs(又は、下流側空燃比センサの出力値Voxsにより表される下流側空燃比afdown)を下流側目標値Voxsref(又は、下流側目標値Voxsrefにより表される下流側目標空燃比)に一致させる「空燃比のサブフィードバック制御」を行う。一般に、下流側目標値Voxsrefは理論空燃比に相当する値(0.5V)に設定される。
いま、空燃比気筒間インバランスが発生していない状態において、各気筒の空燃比が一律にリッチ側に偏移した場合を想定する。このような状態は、例えば、燃料噴射量を算出する際の基本量となる「機関の吸入空気量の測定値又は推定値」が「真の吸入空気量」よりも大きくなったとき等において発生する。
この場合、例えば、各気筒の空燃比が図9に示したAF2であった仮定する。ある気筒の空燃比がAF2であると、ある気筒の空燃比がAF2よりも理論空燃比に近い空燃比AF1である場合に比べ、より多くの未燃物(従って、水素H2)が排ガスに含まれる(点P1及び点P2を参照。)。従って、上流側空燃比センサ57の拡散抵抗層574において「水素H2の選択的拡散」が発生する。
しかしながら、この場合、「各気筒が一回の燃焼行程を終了する間(クランク角720度に相当する期間)に機関10に供給される混合気」の空燃比の真の平均値もAF2である。更に、上述したように、図7に示した空燃比変換テーブルMapabyfsは、「水素H2の選択的拡散」を考慮して作成されている。従って、上流側空燃比センサ57の実際の出力値Vabyfsにより表される上流側空燃比abyfs(実際の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより得られる上流側空燃比abyfs)は、上記「空燃比の真の平均値AF2」に一致する。
それ故、メインフィードバック制御により、機関10全体に供給される混合気の空燃比は「上流側目標空燃比abyfrである理論空燃比」に一致するように修正され、空燃比気筒間インバランスは発生していないから、各気筒の空燃比も理論空燃比に略一致する。従って、サブフィードバック量(及び後述するサブフィードバック量の学習値)は、空燃比の補正を大きく行う値となることはない。即ち、空燃比気筒間インバランスが発生していない場合、サブフィードバック量(及び後述するサブフィードバック量の学習値)は、空燃比の補正を大きく行う値とならない。
上述した「空燃比気筒間インバランスが発生していない場合」における各値の挙動について、以下に別の説明を行う。
例えば、機関10の各気筒に吸入される空気量(重量)がA0であり、各気筒に供給される燃料量(重量)がF0であるとき、空燃比A0/F0が理論空燃比(例えば、14.5)であると仮定する。
そして、吸入空気量の推定誤差等に起因して、各気筒に対して供給(噴射)される燃料量が均等に10%だけ過剰となったと仮定する。即ち、各気筒に1.1・F0の燃料が供給されたと仮定する。このとき、4気筒エンジンである機関10に供給される空気量の総量(各気筒がそれぞれ一回の燃焼行程を終了する間に機関10全体に供給される空気量)は4・A0である。また、機関10に供給される燃料量の総量(各気筒がそれぞれ一回の燃焼行程を終了する間に機関10全体に供給される燃料の量)は4.4・F0(=1.1・F0+1.1・F0+1.1・F0+1.1・F0)である。よって、機関10全体に供給される混合気の空燃比の真の平均値は、4・A0/(4.4・F0)=A0/(1.1・F0)となる。このとき、上流側空燃比センサの出力値は、空燃比A0/(1.1・F0)に応じた出力値となる。
従って、メインフィードバック制御により、各気筒に供給される燃料の量が10%ずつ減量され(各気筒に1・F0の燃料が供給されるようになり)、機関10全体に供給される混合気の空燃比は理論空燃比A0/F0に一致させられる。
これに対し、特定気筒の空燃比のみが大きくリッチ側にずれた場合を想定する。このような状況は、例えば、特定気筒に対して備えられている燃料噴射弁25の噴射特性が「指示された燃料噴射量よりも相当に多い量の燃料を噴射する特性」になった場合に生じる。このような燃料噴射弁25の異常は「燃料噴射弁のリッチずれ異常」とも称呼される。
いま、ある一つの特定気筒に対して供給される燃料の量が40%だけ過剰な量(即ち、1.4・F0)であり、残りの3気筒に対して供給される燃料の量はそれらの気筒の空燃比が理論空燃比と一致するような燃料の量(即ち、1・F0)であると仮定する。この場合、特定気筒の空燃比は図9に示した「AF3」であり、残りの気筒の空燃比は理論空燃比である。
このとき、4気筒エンジンである機関10に供給される空気量の総量(各気筒がそれぞれ一回の燃焼行程を終了する間に機関10全体に供給される空気量)は4・A0である。一方、機関10に供給される燃料の総量(各気筒がそれぞれ一回の燃焼行程を終了する間に機関10全体に供給される燃料の量)は4.4・F0(=1.4・F0+F0+F0+F0)である。
従って、機関10全体に供給される混合気の空燃比の真の平均値は、4・A0/(4.4・F0)=A0/(1.1・F0)となる。即ち、この場合の機関10全体に供給される混合気の空燃比の真の平均値は、上述した「各気筒に対して供給される燃料の量が均等に10%だけ過剰である場合」と同じ値となる。
しかしながら、前述したように、排ガス中の未燃物(HC、CO及びH2)の量は、気筒に供給される混合気の空燃比がリッチ側の空燃比になるほど急激に増大する。このため、「特定気筒に対して供給される燃料の量のみが40%だけ過剰な量となった場合」に排ガスに含まれる水素H2の総量SH1は、図9によれば、SH1=H3+H0+H0+H0=H3+3・H0となる。これに対し、「各気筒に対して供給される燃料の量が均等に10%だけ過剰となった場合」に排ガスに含まれる水素H2の総量SH2は、図9によれば、SH2=H1+H1+H1+H1=4・H1となる。このとき、量H1は量H0よりも僅かに大きいが、量H1及び量H0は共に極めて微量である。即ち、量H1と量H0とは、量H3に比べた場合、互いに略等しいと言える。従って、水素総量SH1は水素総量SH2よりも極めて大きくなる(SH1>>SH2)。
このように、機関10全体に供給される混合気の空燃比の真の平均値が同一であっても、空燃比気筒間インバランスが発生した場合に排ガスに含まれる水素の総量SH1は、空燃比気筒間インバランスが発生していない場合に排ガスに含まれる水素の総量SH2よりも、顕著に大きくなる。
従って、特定気筒に対して供給される燃料の量のみが40%だけ過剰な量となった場合、上述した拡散抵抗層574における「水素H2の選択的拡散」に起因して、上流側空燃比センサの出力値Vabyfsにより表される空燃比は「機関10全体に供給される混合気の空燃比の真の平均値(A0/(1.1・F0))」よりもリッチ側の空燃比(小さい空燃比)となる。つまり、排ガスの空燃比の平均値が同じであっても、空燃比気筒間インバランスが発生している場合には、空燃比気筒間インバランスが発生していない場合よりも、上流側空燃比センサ57の排ガス側電極層572における水素H2の濃度が高くなるから、上流側空燃比センサ57の出力値Vabyfsは「空燃比の真の平均値」よりもリッチ側の空燃比を示す値となるのである。
その結果、メインフィードバック制御により、機関10全体に供給される混合気の空燃比の真の平均は、理論空燃比よりもリーン側に制御されてしまう。
一方、下流側空燃比センサ58には、上流側触媒43を通過した排ガスが到達する。排ガスに含まれる水素H2は他の未燃物(HC,CO)とともに上流側触媒43において酸化(浄化)される。従って、下流側空燃比センサ58の出力値Voxsは、機関10全体に供給される混合気の真の空燃比に応じた値となる。従って、サブフィードバック制御にて算出される空燃比の制御量(サブフィードバック量等)は、上記メインフィードバック制御による空燃比のリーン側への過補正を補う値となる。そして、このようなサブフィードバック量等により、機関10の空燃比の真の平均値は理論空燃比に一致させられる。
このように、サブフィードバック制御にて算出される空燃比の制御量(サブフィードバック量)は、燃料噴射弁25のリッチずれ異常(空燃比気筒間インバランス)に起因する「空燃比のリーン側への過補正」を補償するような値となる。また、このリーン側への過補正の程度は、リッチずれ異常を起こした燃料噴射弁25が「指示された噴射量」に比較してより多くの量の燃料を噴射するようになるほど(即ち、特定気筒の空燃比がリッチ側の空燃比になるほど)増大する。
従って、サブフィードバック量が正の値であってその大きさが大きいほど「機関の空燃比がよりリッチ側へと補正されるシステム」においては、「サブフィードバック量に応じて変化する値(実際には、例えば、サブフィードバック量の定常成分を取り込んだサブフィードバック量の学習値)」は、空燃比気筒間インバランスの程度を示す値となる。
かかる知見に基づき、第1判定装置は、サブフィードバック量に応じて変化する値(本例において、サブフィードバック量の学習値である「サブFB学習値」)を、インバランス判定用パラメータとして取得する。つまり、インバランス判定用パラメータは「上流側触媒43を通過する前の排ガスに含まれる水素の量と、上流側触媒43を通過した後の排ガスに含まれる水素の量と、の差が大きいほど、大きくなる値」となる。従って、このインバランス判定用パラメータは、水素量差指示パラメータとも称呼される。
そして、第1判定装置は、そのインバランス判定用パラメータが「所定の閾値」以上となった場合、空燃比気筒間インバランスが発生したと判定する。
図10の曲線C1及び曲線C2は、空燃比気筒間インバランスが発生して、ある一つの気筒の空燃比が理論空燃比からリッチ側又はリーン側に乖離した場合におけるサブFB学習値(インバランス判定用パラメータである水素量差指示パラメータ)を示している。曲線C1は機械圧縮比が高い値である場合のサブFB学習値を示し、曲線C2は機械圧縮比が低い値である場合のサブFB学習値を示す。図10に示したグラフの横軸は、「複数の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の不均衡の程度」を示す「インバランス割合」である。インバランス割合とは、「理論空燃比Xに対する、理論空燃比Xとそのリッチ又はリーンずれした気筒の空燃比Yとの差(=X−Y)、の比(=(X−Y)/X)」のことである。
前述したように、インバランス割合が大きくなるほど、水素H2の選択的拡散の影響が急激に大きくなる。更に、インバランス割合に関わらず、燃焼室21からの水素H2の排出量は、図11に示したように、機械圧縮比εが大きくなるほど大きくなる。その結果、図10の曲線C1及び曲線C2によって示されるように、サブFB学習値は、インバランス割合が大きくなるほど且つ圧縮比ε(機械圧縮比又は実圧縮比)が大きいほど増大する。
なお、図10に示したように、インバランス割合が負の値である場合においても、そのインバランス割合の絶対値が増大するほど、サブFB学習値は増大する。即ち、例えば、一つの特定気筒の空燃比のみが大きくリーン側にずれるような空燃比気筒間インバランスが発生した場合にも、インバランス判定用パラメータとしてのサブFB学習値(サブFB学習値に応じた値)は増大する。このような状況は、例えば、特定気筒に対して備えられている燃料噴射弁25の噴射特性が「指示された燃料噴射量よりも相当に少ない量の燃料を噴射する特性」になった場合に生じる。このような燃料噴射弁25の異常は「燃料噴射弁のリーンずれ異常」とも称呼される。
以下、一つの特定気筒の空燃比のみが大きくリーン側にずれるような空燃比気筒間インバランスが発生した場合にも、サブFB学習値が増大する理由について簡単に説明する。以下の説明においても、機関10の各気筒に吸入される空気量(重量)はA0であると仮定する。更に、各気筒に供給される燃料量(重量)がF0であるとき、空燃比A0/F0は理論空燃比に一致すると仮定する。
いま、ある一つの特定気筒(便宜上、第1気筒#1とする。)に対して供給される燃料の量が40%だけ過小な量(即ち、0.6・F0)であり、残りの3気筒(第2、第3及び第4気筒)に対して供給される燃料の量はそれらの気筒の空燃比が理論空燃比と一致するような燃料の量、即ちF0)となった場合を想定する。なお、この場合、失火は発生しないものと仮定している。
この場合、メインフィードバック制御により、第1気筒#1乃至第4気筒#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となる。但し、H4は、空燃比が理論空燃比よりもリーン側の空燃比A0/(0.7・F0)であるときに発生する水素量であり、H0と略等しい。従って、総量SH3は、最大でも(H0+3・H1)となる。
これに対し、空燃比気筒間インバランスが発生しておらず且つ機関10全体に供給される混合気の空燃比の真の平均値が理論空燃比である場合、「排ガスに含まれる水素H2の総量SH4」は、SH4=H0+H0+H0+H0=4・H0となる。前述したように、H1はH0よりも僅かに大きい。従って、総量SH3(=H0+3・H1)は総量SH4(=4・H0)よりも大きくなる。
従って、「燃料噴射弁のリーンずれ異常」に起因する空燃比気筒間インバランスが発生している場合、メインフィードバック制御によって、機関10全体に供給される混合気の空燃比の真の平均値が理論空燃比に移行されたときであっても、水素の選択的拡散の影響が上流側空燃比センサ57の出力値Vabyfsに表れる。即ち、出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより得られる上流側空燃比abyfsは、上流側目標空燃比abyfrである理論空燃比よりも「リッチ側(小さい)の空燃比」となる。その結果、メインフィードバック制御が更に実行され、機関10全体に供給される混合気の空燃比の真の平均値は、理論空燃比よりもリーン側に補正されてしまう。
従って、サブフィードバック制御にて算出される空燃比の制御量は、燃料噴射弁25のリーンずれ異常(空燃比気筒間インバランス)に起因する「メインフィードバック制御による空燃比のリーン側への過補正」を補償するように増大する。よって、「サブフィードバック制御にて算出される空燃比の制御量」に基いて取得される「サブFB学習値」は、インバランス割合が負の値であってインバランス割合の絶対値が増大するほど増大する。
これにより、第1判定装置は、特定気筒の空燃比が「リッチ側にずれた場合」のみならず「リーン側にずれた場合」にも、サブFB学習値の増減に応じて増減するインバランス判定用パラメータが「所定の閾値」以上となった場合に、空燃比気筒間インバランスが発生したと判定する。但し、一般には、サブFB学習値が「所定の閾値」に達する前に失火が発生する(図10の失火領域MFを参照。)。このため、通常、失火検出により「特定気筒の空燃比が過度にリーン側にずれたこと」が先に検出される。
ところで、図12は、空燃比気筒間インバランス状態が発生した場合における、エミッション(未燃物又は窒素酸化物)の量を示したグラフである。このグラフにおいて、曲線C1は機械圧縮比が高い値である場合のエミッションの排出量を示し、曲線C2は機械圧縮比が低い値である場合のエミッションの排出量を示す。値Cthは、許容限界のエミッションの排出量(許容限界量)を示す。
図12から明らかなように、機械圧縮比が高い場合(曲線C1)、インバランス割合が相対的に小さい値(=IM1)であるときにエミッションの排出量は許容限界値Cthに到達する。これに対し、機械圧縮比が低い場合(曲線C2)、インバランス割合が相対的に大きい値(=IM2>IM1)であるときにエミッションの排出量は許容限界値Cthに到達する。これは、前述したように、燃焼室からの水素H2の排出量が機械圧縮比が大きくなるほど大きくなるからであると推定される。この傾向は、実圧縮比についても同様である。即ち、実圧縮比が大きいほど、より小さいインバランス割合にて、エミッションの排出量は許容限界量に到達する。
従って、圧縮比に関わることなく「空燃比気筒間インバランス状態が発生したと判定する際のインバランス割合」を一定割合(例えば、インバランス割合IM2に対応する割合)に設定していると、圧縮比が変化した場合にエミッションの排出量が許容限界量Cthを超えてしまう虞がある。即ち、インバランス判定用パラメータとしてのサブFB学習値が一定の閾値A0thに到達したときに、空燃比気筒間インバランス状態が発生したと判定するように第1判定装置が構成されていると、圧縮比が高い場合において空燃比気筒間インバランス状態が発生したと判定されたときには、エミッション排出量は許容限界量を超えてしまう。
そこで、第1判定装置は、機械圧縮比が低い場合にはインバランス割合がIM2であるときに「インバランス状態が発生した」と判定されるように、サブFB学習値と比較するインバランス判定用閾値Athを値A0thに設定する(図10を参照。)。更に、機械圧縮比が高い場合にはインバランス割合がIM1であるときに「インバランス状態が発生した」と判定されるように、インバランス判定用閾値Athを値A0thよりもαだけ小さい値(A0th−α、α>0)に設定する(図10を参照。)。
これによれば、機械圧縮比がどのような圧縮比であっても、ミッションの排出量が許容限界値Cthを超えることがない時点にて「空燃比気筒間インバランス状態が発生した」と判定することができる。なお、第1判定装置は、インバランス判定用の閾値を機械圧縮比に基づいて変更しているが、インバランス判定用の閾値は一定に維持しながら、「サブFB学習値を機械圧縮比に基づいて補正した値」をインバランス判定用パラメータとして取得し、そのインバランス判定用パラメータと一定のインバランス判定用の閾値とを比較することにより、インバランス判定を行うように構成されてもよい。この場合、インバランス判定用パラメータには、サブFB学習値を「そのサブFB学習値が得られたときの機械圧縮比が、基準となる機械圧縮比(基準閾値A0thを決定したときの圧縮比)であったとした場合における値」となるように補正した値が用いられ得る。
(実際の作動)
次に、第1判定装置の実際の作動について説明する。
<燃料噴射量制御>
CPUは、図13に示した燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチンを、所定の気筒のクランク角が吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、その気筒(以下、「燃料噴射気筒」とも称呼する。)に対して繰り返し実行するようになっている。従って、所定のタイミングになると、CPUはステップ1300から処理を開始し、以下に述べるステップ1310乃至ステップ1340の処理を順に行い、ステップ1395に進んで本ルーチンを一旦終了する。
ステップ1310:CPUは、「エアフローメータ51により計測された吸入空気量Ga、機関回転速度NE及びルックアップテーブルMapMc」に基いて「燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Mc(k)」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
ステップ1320:CPUは、筒内吸入空気量Mc(k)を上流側目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。上流側目標空燃比abyfrは、後述するような特殊な場合を除き理論空燃比stoichに設定されている。
ステップ1330:CPUは、基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正する(より具体的には、基本燃料噴射量Fbaseにメインフィードバック量DFiを加える)ことにより、最終燃料噴射量Fiを算出する。メインフィードバック量DFiについては後述する。
ステップ1340:CPUは、最終燃料噴射量(指示噴射量)Fiの燃料が「燃料噴射気筒に対応して設けられている燃料噴射弁25」から噴射されるように、その燃料噴射弁25に指示信号を送出する。
このように、各燃料噴射弁25から噴射される燃料の量は、全ての気筒に対して共通したメインフィードバック量DFiによって一律に増減される。
<メインフィードバック量の算出>
CPUは図14にフローチャートにより示したメインフィードバック量算出ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1400から処理を開始し、ステップ1405に進んでメインフィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているか否かを判定する。
メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(条件A1)上流側空燃比センサ57が活性化している。
(条件A2)機関の負荷(負荷率)KLが閾値KLth以下である。
(条件A3)フューエルカット中でない。
なお、負荷率KLは、ここでは下記の(1)式により求められる。この負荷率KLに代え、機関の負荷としてアクセルペダル操作Accp及びスロットル弁開度TA等が用いられても良い。(1)式において、Mcは筒内吸入空気量であり、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、「4」は機関10の気筒数である。
KL=(Mc/(ρ・L/4))・100% …(1)
いま、メインフィードバック制御条件が成立しているものとして説明を続けると、CPUはステップ1405にて「Yes」と判定して以下に述べるステップ1410乃至ステップ1440の処理を順に行い、ステップ1495に進んで本ルーチンを一旦終了する。
ステップ1410:CPUは、下記(2)式に従ってフィードバック制御用出力値Vabyfcを取得する。(2)式において、Vabyfsは上流側空燃比センサ57の出力値、Vafsfbは下流側空燃比センサ58の出力値Voxsに基いて算出されるサブフィードバック量、Vafsfbgはサブフィードバック量の学習値(サブFB学習値)である。これらの値は、何れも現時点において得られている値である。サブフィードバック量Vafsfb及びサブFB学習値Vafsfbgの算出方法については、後述する。
Vabyfc=Vabyfs+(Vafsfb+Vafsfbg) …(2)
ステップ1415:CPUは、下記(3)式に示したように、上記フィードバック制御用出力値Vabyfcを図11に示した空燃比変換テーブルMapabyfsに適用することにより、フィードバック制御用空燃比abyfscを得る。
abyfsc=Mapabyfs(Vabyfc) …(3)
ステップ1420:CPUは、下記(4)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量」である「筒内燃料供給量Fc(k−N)」を求める。即ち、CPUは、「現時点よりもNサイクル(即ち、N・720°クランク角)前の時点における筒内吸入空気量Mc(k−N)」を「上記フィードバック制御用空燃比abyfsc」により除すことにより、筒内燃料供給量Fc(k−N)を求める。
Fc(k−N)=Mc(k−N)/abyfsc …(4)
このように、筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)をフィードバック制御用空燃比abyfscで除すのは、「燃焼室21内での混合気の燃焼により生成された排ガス」が上流側空燃比センサ57に到達するまでに「Nストロークに相当する時間」を要しているからである。但し、実際には、上流側空燃比センサ57には各気筒から排出された排ガスがある程度混合された後に到達する。
ステップ1425:CPUは、下記(5)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に供給されるべきであった燃料の量」である「目標筒内燃料供給量Fcr(k−N)」を求める。即ち、CPUは、現時点からNストローク前の筒内吸入空気量Mc(k−N)を上流側目標空燃比abyfrで除すことにより、目標筒内燃料供給量Fcr(k−N)を求める。なお、上流側目標空燃比abyfrは通常運転時において理論空燃比stoichに設定される。
Fcr=Mc(k−N)/abyfr …(5)
ステップ1430:CPUは、下記(6)式に従って、筒内燃料供給量偏差DFcを取得する。即ち、CPUは、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc=Fcr(k−N)−Fc(k−N) …(6)
ステップ1435:CPUは、下記(7)式に従って、メインフィードバック量DFiを求める。この(7)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。更に、(7)式の「値SDFc」は「筒内燃料供給量偏差DFcの積分値」である。つまり、CPUは、フィードバック制御用空燃比abyfscを上流側目標空燃比abyfrに一致させるための比例積分制御により「メインフィードバック量DFi」を算出する。
DFi=Gp・DFc+Gi・SDFc …(7)
ステップ1440:CPUは、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1430にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。
以上により、メインフィードバック量DFiが比例積分制御により求められ、このメインフィードバック量DFiが前述した図13のステップ1330の処理により最終燃料噴射量Fiに反映される。
ところで、上記(2)式の右辺の「サブフィードバック量VafsfbとサブFB学習値Vafsfbgとの和」は、上流側空燃比センサ57の出力値Vabyfsに比較して小さい値となり、且つ、小さい値となるように制限されている。従って、「サブフィードバック量VafsfbとサブFB学習値Vafsfbgとの和」は、後述するように、「下流側空燃比センサ58の出力値Voxs」を「理論空燃比に相当する値である下流側目標値Voxsref」に一致させるための「補助的な補正量」と考えることができる。この結果、フィードバック制御用空燃比abyfscは上流側空燃比センサ57の出力値Vabyfsに実質的に基づく値であると言うことができる。即ち、メインフィードバック量DFiは「上流側空燃比センサ57の出力値Vabyfsにより表される機関の空燃比」を「上流側目標空燃比abyfr(理論空燃比)」に一致させるための補正量であると言うことができる。
一方、ステップ1405の判定時において、メインフィードバック制御条件が不成立であると、CPUはそのステップ1405にて「No」と判定してステップ1445に進み、メインフィードバック量DFiの値を「0」に設定する。次いで、CPUは、ステップ1450にて筒内燃料供給量偏差の積分値SDFcに「0」を格納する。その後、CPUは、ステップ1495に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiは「0」に設定される。従って、基本燃料噴射量Fbaseのメインフィードバック量DFiによる補正は行われない。
<サブフィードバック量及びサブFB学習値の算出>
CPUは、「サブフィードバック量Vafsfb」及び「サブフィードバック量Vafsfbの学習値(サブFB学習値)Vafsfbg」を算出するために、図15示したルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPUはステップ1500から処理を開始し、ステップ1505に進んでサブフィードバック制御条件が成立しているか否かを判定する。
サブフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(条件B1)メインフィードバック制御条件が成立している。
(条件B2)下流側空燃比センサ58が活性化している。
(条件B3)上流側目標空燃比abyfrが理論空燃比stoichに設定されている。
いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、CPUはステップ1505にて「Yes」と判定し、以下に述べるステップ1510乃至ステップ1530の処理を順に行い、サブフィードバック量Vafsfbを算出する。
ステップ1510:CPUは、下記(8)式に従って、「下流側目標値Voxsref」と「下流側空燃比センサ58の出力値Voxs」との差である「出力偏差量DVoxs」を取得する。即ち、CPUは、「下流側目標値Voxsref」から「現時点の下流側空燃比センサ58の出力値Voxs」を減じることにより「出力偏差量DVoxs」を求める。下流側目標値Voxsrefは理論空燃比に相当する値Vst(0.5V)に設定されている。
DVoxs=Voxsref−Voxs …(8)
ステップ1515:CPUは、下記(9)式に従って、サブフィードバック量Vafsfbを求める。この(9)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。また、SDVoxsは出力偏差量DVoxsの積分値(時間積分値SDVoxs)、DDVoxsは出力偏差量DVoxsの微分値である。
Vafsfb=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs …(9)
ステップ1520:CPUは、「その時点における出力偏差量の積分値SDVoxs」に「上記ステップ1510にて求めた出力偏差量DVoxs」を加えることにより、新たな出力偏差量の積分値SDVoxsを求める。
ステップ1525:CPUは、「上記ステップ1510にて算出した出力偏差量DVoxs」から「本ルーチンを前回実行した際に算出された出力偏差量である前回出力偏差量DVoxsold」を減じることにより、新たな出力偏差量の微分値DDVoxsを求める。
ステップ1530:CPUは、「上記ステップ1510にて算出した出力偏差量DVoxs」を「前回出力偏差量DVoxsold」として格納する。
このように、CPUは、下流側空燃比センサ58の出力Voxsを下流側目標値Voxsrefに一致させるための比例・積分・微分(PID)制御により「サブフィードバック量Vafsfb」を算出する。このサブフィードバック量Vafsfbは、上述した(2)式に示したように、フィードバック制御用出力値Vabyfcを算出するために使用される。
次いで、CPUは、以下に述べるステップ1535乃至ステップ1555の処理を順に行うことにより「サブFB学習値Vafsfbg」を算出し、その後、ステップ1595に進んで本ルーチンを一旦終了する。
ステップ1535:CPUは、その時点のサブFB学習値Vafsfbgを更新前学習値Vafsfbg0として格納する。
ステップ1540:CPUは、下記(10)式に従ってサブFB学習値Vafsfbgを更新する。この(10)式の左辺Vafsfbg(k+1)は更新後のサブFB学習値Vafsfbgを表す。値αは0以上1未満の任意の値である。サブFB学習値VafsfbgはバックアップRAMに格納される。
Vafsfbg(k+1)=α・Vafsfbg+(1−α)・Ki・SDVoxs …(10)
(10)式から明らかなように、サブFB学習値Vafsfbgは「サブフィードバック量Vafsfbの積分項Ki・SDVoxs」に「ノイズ除去のためのフィルタ処理」を施した値である。換言すると、サブFB学習値Vafsfbgは、サブフィードバック量Vafsfbの定常成分(積分項Ki・SDVoxs)に応じた値であり、積分項Ki・SDVoxsの一次遅れ量(なまし値)である。このように、サブFB学習値Vafsfbgは、サブフィードバック量Vafsfbの定常成分に接近するように更新される。サブフィードバック量Vafsfb及びサブFB学習値Vafsfbgは、上流側空燃比センサの出力値Vabyfsに基づくフィードバック制御の結果を補正する値であるので、上流側空燃比センサの出力値Vabyfsに基づいて算出される値(上流側空燃比センサの出力値Vabyfsを用いて取得される値)であるということができる。更新されたサブFB学習値Vafsfbg(=Vafsfbg(k+1))はバックアップRAMに格納される。
ステップ1545:CPUは、下記(11)式に従ってサブFB学習値Vafsfbgの変更量(更新量)ΔGを算出する。
ΔG=Vafsfbg−Vafsfbg0 …(11)
ステップ1550:CPUは、下記(12)式に従ってサブフィードバック量Vafsfbを変更量ΔGにより補正する。
Vafsfb=Vafsfb−ΔG …(12)
このステップ1545及びステップ1550の処理について説明する。上記(2)式に示したように、CPUは、「サブフィードバック量Vafsfb及びサブFB学習値Vafsfbg」を「上流側空燃比センサ57の出力Vabyfs」に加えることにより、フィードバック制御用出力値Vabyfcを得る。サブFB学習値Vafsfbgはサブフィードバック量Vafsfbの積分項Ki・SDVoxs(定常成分)の一部を取り込んだ値である。従って、サブFB学習値Vafsfbgを更新した場合、サブフィードバック量Vafsfbをその更新分に応じて補正しないと、「更新後のサブFB学習値Vafsfbg及びサブフィードバック量Vafsfb」により二重の補正が行われる。従って、サブFB学習値Vafsfbgを更新した場合、サブフィードバック量VafsfbをそのサブFB学習値Vafsfbg の更新分ΔGに応じて補正する。
そこで、CPUは上記(11)及び上記(12)式に示したように、サブFB学習値Vafsfbgを変更量ΔGだけ増加するように更新したとき、サブフィードバック量Vafsfbを変更量ΔGだけ減少させる。(11)式において、Vafsfbg0は更新直前のサブFB学習値Vafsfbgである。従って、変更量ΔGは正の値及び負の値の何れともなる。
ステップ1555:CPUは、下記(13)式に従って出力偏差量DVoxsの積分値を変更量ΔGに基いて補正する。なお、ステップ1545乃至ステップ1555を省略してもよい。また、ステップ1545乃至ステップ1555を省略してもよい。
SDVoxsnew=SDVoxs−ΔG/Ki …(13)
以上の処理により、所定時間の経過毎にサブフィードバック量VafsfbとサブFB学習値Vafsfbgとが更新される。
一方、サブフィードバック制御条件が成立していない場合、CPUは図15のステップ1505にて「No」と判定し、以下に述べるステップ1560及びステップ1565の処理を順に行い、ステップ1595に進んで本ルーチンを一旦終了する。
ステップ1560:CPUはサブフィードバック量Vafsfbの値を「0」に設定する。
ステップ1565:CPUは出力偏差量の積分値SDVoxsの値を「0」に設定する。
これにより、上記(2)式から明らかなように、フィードバック制御用出力値Vabyfcは、上流側空燃比センサ57の出力値VabyfsとサブFB学習値Vafsfbgとの和となる。即ち、この場合、「サブフィードバック量Vafsfbの更新」及び「サブフィードバック量Vafsfbの最終燃料噴射量Fiへの反映」は停止される。但し、少なくとも、サブフィードバック量Vafsfbの積分項に対応するサブFB学習値Vafsfbgは最終燃料噴射量Fiに反映される。
<空燃比気筒間インバランス判定>
次に、「空燃比気筒間インバランス判定」を実行するための処理について図16を参照しながら説明する。
CPUは、図16に示した「空燃比気筒間インバランス判定ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1600から処理を開始し、ステップ1610に進んで「異常判定(空燃比気筒間インバランス判定)の前提条件」が成立しているか否かを判定する。
この異常判定の前提条件は「インバランス判定用パラメータ取得許可条件」でもある。また、この異常判定の前提条件が成立しない場合、空燃比気筒間インバランスの「判定禁止条件」が成立する。空燃比気筒間インバランスの「判定禁止条件」が成立すると、「サブFB学習値Vafsfbgに基いて算出されるインバランス判定用パラメータ」を用いた「以下に述べる空燃比気筒間インバランス」の判定が実行されない。
この異常判定の前提条件は、例えば、次の(条件D1)乃至(条件D4)とすることができる。この前提条件は、(条件D1)乃至(条件D4)の総てが成立したとき成立する。換言すると、判定禁止条件は、(条件D3)乃至(条件D4)の何れか一つが不成立であるとき、成立する。また、これらの条件のうちの任意の一つ以上の組み合わせを前提条件としてもよく、他の条件を加えてもよい。
(条件D1)上流側触媒43の水素を酸化する能力が第1所定能力以下ではない。即ち、上流側触媒43の水素を酸化する能力が第1所定能力より大きい場合。(条件D1)は、例えば、上流側触媒43の酸素吸蔵量が第1閾値酸素吸蔵量以上である場合に成立する条件とすることができる。この場合、上流側触媒43の水素を酸化する能力が第1所定能力よりも大きいと判定することができる。なお、CPUは、上流側触媒43の酸素吸蔵量を周知の手法により別途取得している(例えば、特開2007−239700号公報、特開2003−336535号公報、及び、特開2004−036475号公報等を参照。)。
(条件D2)上流側触媒43の水素を酸化する能力が第2所定能力未満である場合。この第2所定能力は、前記第1所定能力よりも大きい能力である。
(条件D3)機関10の各燃焼室21から排出される排ガスの流量が閾値排ガス流量以上ではない。即ち、機関10から排出される排ガスの流量が閾値排ガス流量未満である。この(条件D3)の条件は、例えば、機関10の負荷(負荷率KL、スロットル弁開度TA及びアクセルペダル操作量Accp等)が閾値負荷以下である場合に成立する条件とすることができる。或いは、上記(条件D3)は、機関10の単位時間あたりの吸入空気量Gaが閾値吸入空気量GAth以下である場合に成立する条件とすることができる。
(条件D4)上流側目標空燃比abyfrが理論空燃比stoichである。
いま、上述した異常判定の前提条件((条件D1)〜(条件D4)の総て)が成立していると仮定する。この場合、CPUはステップ1610にて「Yes」と判定し、CPUは以下に述べるステップ1615以降の処理を実行する。ステップ1615以降の処理は、異常判定(空燃比気筒間インバランス判定)のための処理の一部である。
ステップ1615:CPUは現時点が「サブFB学習値Vafsfbgが更新された直後の時点(サブFB学習値更新直後時点)」であるか否かを判定する。CPUは、現時点がサブFB学習値更新直後の時点であれば、ステップ1620乃至ステップ1635に進む。CPUは、現時点がサブFB学習値更新直後の時点でなければ、ステップ1695に直接進んで本ルーチンを一旦終了する。
ステップ1620:CPUは学習値積算カウンタCexeの値を「1」だけ増大する。
ステップ1625:CPUは図15のルーチンのステップ1540により算出されているサブFB学習値Vafsfbgを読み込む。
ステップ1630:CPUは、サブFB学習値Vafsfbgの積算値SVafsfbgを更新する。即ち、CPUは「その時点の積算値SVafsfbg」に「ステップ1625にて読み込んだサブFB学習値Vafsfbg」を加えることにより、新たな積算値SVafsfbgを得る。
この積算値SVafsfbgは、前述したイニシャルルーチンにより「0」に設定されるようになっている。更に、積算値SVafsfbgは、後述するステップ1675の処理によっても「0」に設定される。このステップ1675は、異常判定(空燃比気筒間インバランス判定、ステップ1660〜ステップ1670)が実行されたときに実行される。従って、積算値SVafsfbgは、機関10の始動後又は直前の異常判定実行後において、「異常判定の前提条件が成立している場合」におけるサブFB学習値Vafsfbgの積算値となる。
ステップ1635:CPUは学習値積算カウンタCexeの値がカウンタ閾値Cexeth以上であるか否かを判定する。カウンタ閾値Cexethは所定の自然数である。CPUは、学習値積算カウンタCexeの値がカウンタ閾値Cexethよりも小さいと、ステップ1635にて「No」と判定してステップ1695に直接進み、本ルーチンを一旦終了する。これに対し、CPUは、学習値積算カウンタCexeの値がカウンタ閾値Cexeth以上であると、ステップ1635にて「Yes」と判定してステップ1640及びステップ1645に進む。
ステップ1640:CPUは、「サブFB学習値Vafsfbgの積算値SVafsfbg」を「学習値積算カウンタCexe」で除することにより、サブFB学習値平均値Avesfbgを求める。このサブFB学習値平均値Avesfbgは、前述したように、上流側触媒43を通過する前の排ガスに含まれる水素の量と上流側触媒43を通過した後の排ガスに含まれる水素の量との差が大きいほど大きくなる「インバランス判定用パラメータ(水素量差指示パラメータ)」である。なお、学習値積算カウンタCexeの値は「1」であってもよく、この場合、サブFB学習値平均値AvesfbgはサブFB学習値Vafsfbgと一致する。
ステップ1645:CPUは、ストロークセンサ56により検出される距離STに基づいて「現時点における実際の機械圧縮比εact(実機械圧縮比εact)」を取得するとともに、その取得した実機械圧縮比εactが閾値機械圧縮比εth以上であるか否かを判定する。なお、前述したように、第1判定装置は、機関10の負荷KLが所定値以上の場合に機関10の機械圧縮比が「目標圧縮比としての第1の機械圧縮比ε1」となるように圧縮比変更機構のアクチュエータ208に指示信号を送出し、機関10の負荷KLが所定値未満の場合に機関10の機械圧縮比が「目標圧縮比としての第2の機械圧縮比ε2」となるように圧縮比変更機構のアクチュエータ208に指示信号を送出している。第1の機械圧縮比ε1は閾値機械圧縮比εth未満であり、第2の機械圧縮比ε2は閾値機械圧縮比εth以上である。CPUは、実機械圧縮比εactが閾値機械圧縮比εth以上である場合には以下に述べるステップ1650に進み、実機械圧縮比εactが閾値機械圧縮比εth未満である場合には以下に述べるステップ1655に進む。
ステップ1650:CPUは、インバランス判定用の閾値Athに、値A0thよりもαだけ小さい値(A0th−α、α>0)を設定する(図10を参照。)。その後、CPUはステップ1660に進む。値A0thは基準閾値である。
ステップ1655:CPUは、インバランス判定用の閾値Athに、値A0thを設定する(図10を参照。)。その後、CPUはステップ1660に進む。
ステップ1660:CPUは、サブFB学習値平均値(インバランス判定用パラメータ、水素量差指示パラメータ)Avesfbgが「上記ステップ1650又はステップ1655にて設定されたインバランス判定閾値Ath」以上であるか否かを判定する。
前述したように、気筒間における空燃比の不均一性が過大となって「空燃比気筒間インバランス」が生じている場合、サブフィードバック量Vafsfbは機関10に供給される混合気の空燃比を大きくリッチ側に補正する値になろうとするから、それに伴って、サブFB学習値Vafsfbgの平均値であるサブFB学習値平均値Avesfbgも「機関10に供給される混合気の空燃比を大きくリッチ側に補正する値(インバランス判定閾値Ath以上の値)」となる。
従って、CPUは、サブFB学習値平均値Avesfbgがインバランス判定閾値Ath以上である場合、空燃比気筒間インバランスが発生していると判定する。即ち、CPUは、サブFB学習値平均値Avesfbgがインバランス判定閾値Ath以上である場合、ステップ1660にて「Yes」と判定してステップ1665に進み、異常発生フラグXIJOの値を「1」に設定する。つまり、異常発生フラグXIJOの値が「1」であることは、空燃比気筒間インバランスが生じていることを示す。なお、この異常発生フラグXIJOの値はバックアップRAMに格納される。また、異常発生フラグXIJOの値が「1」に設定されたとき、CPUは図示しない警告ランプを点灯してもよい。その後、CPUはステップ1675に進む。
これに対し、サブFB学習値平均値Avesfbgがインバランス判定閾値Athよりも小さい場合、CPUはステップ1660にて「No」と判定してステップ1670に進む。そして、CPUは、ステップ1670にて「空燃比気筒間インバランスが生じていない」ことを示すように、異常発生フラグXIJOの値を「0」に設定する。その後、CPUはステップ1675に進む。なお、CPUは、ステップ1670にて、「空燃比気筒間インバランスが生じていないと判定された」ことを示すように、異常発生フラグXIJOの値を「2」に設定してもよい。
ステップ1675:CPUは、学習値積算カウンタCexeの値を「0」に設定する(リセットする)とともに、サブFB学習値の積算値SVafsfbgを「0」に設定する(リセットする)。
なお、CPUは、ステップ1610の処理を実行したとき、異常判定の前提条件が成立していなければ、ステップ1675の処理を実行した後、ステップ1695に進んで本ルーチンを一旦終了する。更に、CPUは、ステップ1615の処理を実行したとき、その時点がサブFB学習値Vafsfbgの更新直後でなければ、ステップ1615からステップ1695に直接進んで本ルーチンを一旦終了する。
以上、説明したように、本発明の第1判定装置は、
複数の気筒を有する多気筒内燃機関(10)に適用され、
前記機関の排気通路であって前記複数の気筒のうちの少なくとも2以上の気筒(第1実施形態においては総ての気筒である4気筒)の燃焼室(21)から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒(43)と、
前記少なくとも2以上の気筒のそれぞれに対応して配設されるとともに同2以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射する燃料噴射弁(25)と、
前記排気集合部(41b)、又は、前記排気通路の前記排気集合部(41b)と前記触媒(43)との間に配設される上流側空燃比センサ(57)であって前記触媒を通過する前の排ガスが接触する拡散抵抗層を含み、同拡散抵抗層に覆われ且つ同拡散抵抗層を通過して到達した排ガスの空燃比に応じた信号を同上流側空燃比センサの出力値として出力する空燃比検出素子、を有する上流側空燃比センサ(57)と、
「前記少なくとも2以上の気筒のそれぞれに供給される混合気の空燃比である気筒別空燃比の間の不均衡の程度(例えば、インバランス割合)」が大きいほど大きくなるインバランス判定用パラメータ(サブFB学習値平均値Avesfbg)を「少なくとも前記上流側空燃比センサの出力値Vabyfsと下流側空燃比センサ(58)の出力値Voxsと」に基づいて取得するとともに(図14乃至図16、特に、ステップ1540及びステップ1640を参照。)、前記取得したインバランス判定用パラメータが所定の閾値(Ath)以上であるか否かの比較結果に基づいて空燃比気筒間インバランス状態が発生しているか否かの判定を実行するインバランス判定手段(図16のステップ1660乃至ステップ1670)と、
を備えた内燃機関の空燃比気筒間インバランス判定装置において、
前記インバランス判定手段は、
前記所定の閾値(Ath)を、前記圧縮比変更手段により変更される前記機関の圧縮比(εact)に応じて変更するように構成されている(図16のステップ1645乃至ステップ1655を参照。)。なお、前記所定の閾値(Ath)は、前記機関の圧縮比が大きくなるほど小さくなるように設定されることが望ましい。但し、機関の特性によっては、所定の閾値(Ath)は、前記機関の圧縮比が特定の範囲内にある場合等において、同機関の圧縮比が大きくなるほど大きくした方がよい場合もある。
従って、機関の10の圧縮比(本例における機械圧縮比)がどのような圧縮比であっても、エミッションが悪化する前の時点にて「空燃比気筒間インバランス状態が発生した」と判定することができ、必要に応じ警告を行うことも可能となる。
この場合、前記インバランス判定手段は、
前記所定の閾値(Ath)を、前記インバランス判定用パラメータが同所定の閾値を超える値となった場合に前記触媒から流出する未燃物の量が前記圧縮比に関わらず一定の許容限界量となるように、前記機関の圧縮比に基づいて決定している。換言すると、各圧縮比の下で、エミッションの排出量が許容限界量Cthに到達するインバランス割合を測定し(図12を参照。)、各圧縮比の下で運転しているときに、空燃比気筒間インバランスの程度がその測定したインバランス割合に一致したときに、空燃比気筒間インバランス状態が発生したと判定するように、閾値(Ath)を圧縮比に基づいて設定する。
これによれば、機関10の圧縮比がどのような圧縮比であっても、前記触媒43から流出する未燃物の量が一定許容限界量を超えない時点にて、「空燃比気筒間インバランス状態が発生した」と判定することができる。
なお、第1判定装置は、
触媒43を通過した後の排ガスの空燃比に応じた出力値を出力する下流側空燃比センサ58と、
所定の第1更新タイミングが到来する毎に前記下流側空燃比センサの出力値を理論空燃比に応じた値に一致させるためのサブフィードバック量Vafsfbを同下流側空燃比センサの出力値に基いて更新するサブフィードバック量更新手段(図15)と、
所定の第2更新タイミングが到来する毎に少なくとも前記上流側空燃比センサ57の出力値Vabyfs及びサブフィードバック量Vafsfbに基づき前記燃料噴射量を決定する燃料噴射量決定手段(図14のステップ1410乃至1435)と、
所定の第3更新タイミングが到来する毎に前記サブフィードバック量の学習値Vafsfbgを前記サブフィードバック量に基いて更新する手段であって同学習値が同サブフィードバック量の定常成分に接近するように同学習値を更新するサブフィードバック量学習手段と(図15のステップ1535乃至ステップ1555)、
を備え、
インバランス判定手段は、
前記インバランス判定用パラメータが前記サブフィードバック量の学習値が大きいほど大きくなるように同インバランス判定用パラメータを同サブフィードバック量の学習値に基づいて取得する(図16のステップ1640)ように構成された、
空燃比気筒間インバランス判定装置であると言うこともできる。
(第2実施形態)
次に、本発明の第2実施形態に係る多気筒内燃機関の空燃比気筒間インバランス判定装置(以下、単に「第2判定装置」と称呼する。)について説明する。この第2判定装置は、インバランス判定用の閾値Athを機械圧縮比に基づいて変更する代わりに、インバランス判定用パラメータを機械圧縮比により補正する(インバランス判定用パラメータを機械圧縮比にも基づいて定める)点のみにおいて、第1判定装置と相違している。従って、以下、この相違点を中心として説明する。
第2判定装置のCPUは、第1判定装置のCPUが実行するルーチンのうち「図16のルーチン」を除くルーチンを実行するとともに、更に、図17にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を所定時間の経過毎に繰り返し実行している。なお、以下において、既に説明されたステップと同一の処理を行うためのステップには、そのようなステップに付された符号と同じ符合を付している。そのようなステップについての説明は適宜省略される。
図17のルーチンは、ステップ1710乃至ステップ1730のみが図16のルーチンと相違している。即ち、第2判定装置のCPUは、ステップ1610乃至ステップ1640までの処理によりサブFB学習値平均値Avesfbgを求める。サブFB学習値平均値Avesfbgは、本例において、インバランス判定用パラメータの基本値である。そして、そのCPUは、ステップ1645にて、実機械圧縮比εactが閾値機械圧縮比εth以上であると判定した場合、ステップ1710に進んでサブFB学習値平均値Avesfbgを補正することによりインバランス判定用パラメータHanpを取得する。
より具体的に述べると、CPUはステップ1710において、サブFB学習値平均値Avesfbgに補正係数khを乗じた値(kh・Avesfbg)をインバランス判定用パラメータHanpとして設定する。補正係数khは「1」より大きい値であり、実機械圧縮比εactが「閾値機械圧縮比εth以上である第2の機械圧縮比ε2」に設定されている場合において、インバランス割合が図10に示した値IM1に一致しているときに、値(kh・Avesfbg)が基準閾値A0thに一致するように予め設定・適合された係数である。その後、CPUはステップ1730に進む。
これに対し、CPUは、ステップ1645にて、実機械圧縮比εactが閾値機械圧縮比εth未満であると判定した場合、ステップ1720に進んでサブFB学習値平均値Avesfbgを(補正することなく)インバランス判定用パラメータHanpとして採用する。その後、CPUはステップ1730に進む。
CPUは、ステップ1730にて、上記ステップ1710又は上記ステップ1720にて得られたインバランス判定用パラメータHanpが「インバランス判定閾値A0th」以上であるか否かを判定する。
CPUは、インバランス判定用パラメータHanpが「インバランス判定閾値A0th」以上である場合、空燃比気筒間インバランスが発生していると判定してステップ1730からステップ1665に進み、異常発生フラグXIJOの値を「1」に設定する。その後、CPUはステップ1675に進む。
これに対し、インバランス判定用パラメータHanpが「インバランス判定閾値A0th」よりも小さい場合、CPUはステップ1730にて「No」と判定してステップ1670に進む。そして、CPUは、ステップ1670にて「空燃比気筒間インバランスが生じていない」ことを示すように、異常発生フラグXIJOの値を「0」に設定する。その後、CPUはステップ1675に進む。
以上、説明したように、第2判定装置は、第1判定装置と同様に、
複数の気筒を有する多気筒内燃機関に適用され、圧縮比変更手段と、触媒と、燃料噴射弁と、上流側空燃比センサと、気筒別空燃比の間の不均衡の程度が大きいほど大きくなるインバランス判定用パラメータを取得するとともに、前記取得したインバランス判定用パラメータが所定の閾値以上であるか否かの比較結果に基づいて空燃比気筒間インバランス状態が発生しているか否かの判定を実行するインバランス判定手段と(例えば、図17のステップ1730、ステップ1665及びステップ1670を参照。)、を備える。
そして、第2判定装置の前記インバランス判定手段は、
前記インバランス判定用パラメータを、前記圧縮比変更手段により変更される前記機関の圧縮比に応じて変更するように構成されている(図17のステップ1645、ステップ1710及びステップ1720)。
これによれば、機関10の圧縮比がどのような圧縮比であっても、前記触媒43から流出する未燃物の量が一定許容限界量を超えない時点にて、「空燃比気筒間インバランス状態が発生した」と判定することができる。
(第3実施形態)
次に、本発明の第3実施形態に係る多気筒内燃機関の空燃比気筒間インバランス判定装置(以下、単に「第3判定装置」と称呼する。)について説明する。この第3判定装置は、機関10の機械圧縮比が「機関10の負荷KL及び機関回転速度NE(即ち、機関10の運転状態)に応じて定まる目標機械圧縮比」となるように圧縮比変更機構のアクチュエータ208に指示信号を送出している。即ち、機関10の機械圧縮比は、下限値から上限値までの間において連続的に変更される。更に、第3判定装置は、インバランス判定用の閾値Athを機械圧縮比によって連続的に変更する点のみにおいて、第1判定装置と相違している。従って、以下、この相違点を中心として説明する。
より具体的に述べると、第3判定装置のCPUは、第1判定装置のCPUが実行するルーチンのうち「図16のルーチン」を除くルーチン、を実行するとともに、更に、図18にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を所定時間の経過毎に繰り返し実行している。
図18のルーチンは、図16のステップ1645乃至ステップ1655を、ステップ1810に置換した点のみにおいて図16のルーチンと相違している。即ち、第3判定装置のCPUは、ステップ1610乃至ステップ1640までの処理によりサブFB学習値平均値Avesfbgを求める。
次いで、CPUはステップ1810に進み、ストロークセンサ56からの距離STに基づいて実機械圧縮比εactを取得するとともに、その実機械圧縮比εactをステップ1810のブロック内に示したテーブルに適用することにより、インバランス判定用閾値Athを決定する。このテーブルによれば、実機械圧縮比εactが高いほどインバランス判定用閾値Athは小さくなるように決定される。その後、CPUは、ステップ1660以降の処理を実行することによりインバランス判定を行う。
前述したように、機械圧縮比が高くなるほど、エミッションが許容限界量に達するインバランス割合が小さくなる。従って、上記第3判定装置のように、機械圧縮比が高くなるほどインバランス判定用閾値Athを小さくすることにより、機械圧縮比が高くなるほど「気筒別空燃比の間の不均衡の程度」が小さい時点にて空燃比気筒間インバランス状態が発生したと判定することができる。従って、機関10の圧縮比がどのような圧縮比であっても、前記触媒43から流出する未燃物の量が一定許容限界量を超えない時点にて、「空燃比気筒間インバランス状態が発生した」と判定することができる。
(第4実施形態)
次に、本発明の第4実施形態に係る多気筒内燃機関の空燃比気筒間インバランス判定装置(以下、単に「第4判定装置」と称呼する。)について説明する。この第4判定装置は、第3判定装置と同様、機関10の機械圧縮比が「機関10の負荷KL及び機関回転速度NE(即ち、機関10の運転状態)に応じて定まる目標機械圧縮比」となるように圧縮比変更機構のアクチュエータ208に指示信号を送出している。即ち、機関10の機械圧縮比は、下限値から上限値までの間において連続的に変更される。更に、第4判定装置は、インバランス判定用の閾値Athを機械圧縮比により変更する代わりに、インバランス判定用パラメータを機械圧縮比により連続的(精密に)に補正する(インバランス判定用パラメータを機械圧縮比にも基づいて定める)。以下、この点を中心として説明する。
より具体的に述べると、第4判定装置のCPUは、第1判定装置のCPUが実行するルーチンのうち「図16のルーチン」を除くルーチンを実行するとともに、更に、図19にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を所定時間の経過毎に繰り返し実行している。
図19のルーチンは、図16のステップ1645乃至ステップ1660を、ステップ1910及びステップ1730に置換した点のみにおいて図16のルーチンと相違している。即ち、第4判定装置のCPUは、ステップ1610乃至ステップ1640までの処理によりサブFB学習値平均値Avesfbg(インバランス判定用パラメータの基準値)を求める。
次いで、CPUはステップ1910に進み、ストロークセンサ56からの距離STに基づいて実機械圧縮比εactを取得するとともに、その実機械圧縮比εactをステップ1910のブロック内に示したテーブルに適用することにより、補正係数khを決定する。このテーブルによれば、実機械圧縮比εactが高いほど補正係数khは大きくなるように決定される。そして、CPUはステップ1910において、サブFB学習値平均値Avesfbgに補正係数khを乗じた値(kh・Avesfbg)をインバランス判定用パラメータHanpとして設定する。その後、CPUはステップ1730以降に進み、ステップ1910にて取得されたインバランス判定用パラメータHanpと、基準閾値A0thと、の比較に基づいてインバランス判定を実行する。
以上、説明したように、第4判定装置は、機械圧縮比が高くなるほど、インバランス判定用パラメータの基準値として取得されたサブFB学習値平均値Avesfbgが大きくなるように、そのサブFB学習値平均値Avesfbgを補正することによって、最終的なインバランス判定用パラメータHanpを取得し、その最終的なインバランス判定用パラメータHanpと一定の基準閾値A0thとの比較に基づいてインバランス判定を実行している。従って、機関10の圧縮比がどのような圧縮比であっても、前記触媒43から流出する未燃物の量が一定許容限界量を超えない時点にて、「空燃比気筒間インバランス状態が発生した」と判定することができる。
(変形例)
次に、本発明の変形例に係る多気筒内燃機関の空燃比気筒間インバランス判定装置(以下、単に「変形例」と称呼する。)について説明する。この変形例は空燃比制御装置であり、機械圧縮比に応じて空燃比変換テーブル(出力値Vabyfsを空燃比に変換するための関係)を切り替えることを特徴としている。
前述したように、機関の圧縮比が高くなるほど水素の発生量が増大する。従って、拡散抵抗層を備える上流側空燃比センサの出力値Vabyfsと、所定の機械圧縮比の下で作成された空燃比変換テーブルMapabyfsと、によって得られる検出空燃比abyfsは、機関の圧縮比が高くなるほど真の空燃比よりもリッチ側の空燃比に対応した値になる。
そこで、この変形例は、機械圧縮比が閾値機械圧縮比εthよりも低い場合(即ち、閾値機械圧縮比εth未満である第1の機械圧縮比ε1である場合)、図20の実線により示した「低圧縮比用の空燃比変換テーブルMapabyfsL(第1の空燃比変換テーブル、出力値Vabyfsと空燃比との関係を定めた第1の関係・関数)」を使用しながら空燃比フィードバック制御(特に、メインフィードバック制御)を実行する。更に、この変形例は、機械圧縮比が閾値機械圧縮比εthよりも高い場合(即ち、閾値機械圧縮比εth以上である第2の機械圧縮比ε2である場合)、図20の破線により示した「高圧縮比用の空燃比変換テーブルMapabyfsH(第2の空燃比変換テーブル、出力値Vabyfsと空燃比との関係を定めた第2の関係・関数)」を使用しながら空燃比フィードバック制御(特に、メインフィードバック制御)を実行する。この高圧縮比用の空燃比変換テーブルMapabyfsHによれば、特に、出力値Vabyfsが理論空燃比に相当するVstoichよりも小さい場合(リッチ側の領域)において、低圧縮比用の空燃比変換テーブルMapabyfsLを用いた場合より、同じ出力値Vr0に対して空燃比はリーン側(理論空燃比に近い側)であるように求められる(a1<a2)。
より具体的に述べると、変形例のCPUは、第1判定装置のCPUが実行するルーチンのうち「図14のルーチン」を除くルーチンを実行するとともに、更に、図14に代わる図21にフローチャートにより示した「メインフィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。
図21のルーチンは、図14のステップ1415を、ステップ2110乃至ステップ2130に置換した点のみにおいて図14のルーチンと相違している。
即ち、変形例のCPUはステップ1410にて上記(2)式に従ってフィードバック制御用出力値Vabyfcを取得し、ステップ2110に進んで実機械圧縮比εactが閾値機械圧縮比εth以上であるか否かを判定する。変形例のCPUは、第1判定装置のCPUと同様、機関10の負荷KLが所定値以上の場合に機関10の機械圧縮比が第1の機械圧縮比ε1となるように圧縮比変更機構のアクチュエータ208に指示信号を送出し、機関10の負荷KLが所定値未満の場合に機関10の機械圧縮比が第2の機械圧縮比ε2となるように圧縮比変更機構のアクチュエータ208に指示信号を送出している。
CPUは、実機械圧縮比εactが閾値機械圧縮比εth以上である場合(即ち、実機械圧縮比εactが第2の機械圧縮比ε2である場合)には以下に述べるステップ2120に進み、実機械圧縮比εactが閾値機械圧縮比εth未満である場合(即ち、実機械圧縮比εactが第1の機械圧縮比ε1である場合)には以下に述べるステップ2130に進む。
ステップ2120:CPUは、ステップ1410にて求めたフィードバック制御用出力値Vabyfcを、図20に破線により示した「高圧縮比用の空燃比変換テーブルMapabyfsH」に適用することにより、フィードバック制御用空燃比abyfscを得る。
ステップ2130:CPUは、ステップ1410にて求めたフィードバック制御用出力値Vabyfcを、図20に実線により示した「低圧縮比用の空燃比変換テーブルMapabyfsL」に適用することにより、フィードバック制御用空燃比abyfscを得る。その後、CPUはステップ1420乃至ステップ1440の処理を実行し、メインフィードバック量DFi」を算出する。
従って、変形例によれば、機械圧縮比が変化したことに伴って生じる「上流側空燃比センサの出力値により表される空燃比と、上流側空燃比センサの配設部位に実際に到達している空燃比(即ち、機関全体に供給される混合気の空燃比の平均値)と、の差」を小さくすることができる。実際には、変形例は、フィードバック制御用出力値Vabyfcが本来表すべき空燃比を精度良く取得することができる。その結果、空燃比気筒間インバランス状態が発生しているか否かに関わらず、エミッションを更に良好に維持することができる。
以上、説明したように、本発明による空燃比気筒間インバランス判定装置の各実施形態によれば、圧縮比が変化しても、エミッションが必要以上に悪化しない適切なタイミングにて空燃比気筒間インバランス状態が発生したと判定することができる。
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記各実施形態におけるインバランス判定用パラメータはサブFB学習値平均値Avesfbg等であったが、「サブFB学習値Vafsfbgそのもの、又は、サブフィードバック量Vafsfbの平均値」をインバランス判定用パラメータとして取得してもよい。更に、インバランス判定用パラメータは、以下のような値であってもよい。
(P1)インバランス判定用パラメータは、上流側空燃比センサ57の出力値Vabyfsの軌跡長又は検出空燃比abyfsの軌跡長であってもよい。例えば、検出空燃比abyfsの軌跡長は、一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得するとともに、その出力値Vabyfsを検出空燃比abyfsへと変換し、その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差の絶対値を積算することによって求めることができる。この積算値は、単位燃焼サイクルが経過する毎に「0」にリセットされるとよい。「単位燃焼サイクル期間」は、上流側空燃比センサ57に排ガスが到達する複数の気筒(本例においては総ての気筒)のうちの任意の一つの気筒が「吸気、圧縮、膨張及び排気の行程からなる一つの燃焼サイクル」を終了するのに要する期間のことである。機関10は、4気筒4サイクル機関であるので、単位燃焼サイクル期間は「機関10のクランク角が720°増大する期間」である。
空燃比気筒間インバランス状態が発生していない場合、図22の(B)の破線により示したように、上流側空燃比センサ57の出力値Vabyfsに基づく検出空燃比abyfsは殆ど変化しない。これに対し、空燃比気筒間インバランス状態が発生している場合、図22の(B)の実線により示したように、検出空燃比abyfsは、「気筒別空燃比が理論空燃比に対してリッチ側又はリーン側に大きく偏移している異常気筒」からの排ガスが上流側空燃比センサ57に到達する毎に、大きく変動する。更に、検出空燃比abyfsは、気筒別空燃比の間の不均衡の程度が大きいほど大きく変動する。
従って、上流側空燃比センサ57の出力値Vabyfsの軌跡長又は検出空燃比abyfsの軌跡長は、空燃比気筒間インバランス状態が発生すると大きくなり、閾値Lth以上となる。そして、本発明による判定装置は、この閾値Lthを圧縮比に応じて変更する。より具体的には、判定装置は、機械圧縮比εactが大きいほど閾値Lthを小さくする。なお、出力値Vabyfsの軌跡長及び検出空燃比abyfsの軌跡長は、機関回転速度NEが大きいほど大きくなる傾向を有するので、判定装置は、機関回転速度NEが大きいほど閾値Lthを大きくすることが好ましい。
(P2)インバランス判定用パラメータは、上流側空燃比センサ57の出力値Vabyfs値の時間変化率に応じた値(即ち、上流側空燃比センサの出力値の時間についての微分値dVabyfs/dt、又は、上流側空燃比センサ57の出力値Vabyfsにより表される検出空燃比abyfs(=Mapabyfs(Vabyfs))の時間についての微分値dabyfs/dt)の絶対値であってもよい(図22の(B)の傾きα1、α2の大きさを参照。)。上流側空燃比センサ57の出力値Vabyfs値の時間変化率に応じた値は、上流側空燃比センサ57の出力値Vabyfsにより表される空燃比(検出空燃比abyfs)の単位時間あたりの変化量ということもできる。
例えば、検出空燃比abyfsの変化率は、一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得するとともに、その出力値Vabyfsを検出空燃比abyfsへと変換し、その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差として取得することができる。この場合、単位燃焼サイクル内において複数得られた「検出空燃比abyfsの変化率の絶対値」の最大値を選択し、その最大値をインバランス判定用パラメータとして採用していもよい。
実際、上流側空燃比センサ57の出力値Vabyfs値の変化率に応じた値の絶対値は、図22の(D)の実線により示したように、空燃比気筒間インバランス状態が発生すると大きくなり、閾値Hthを超える。更に、上流側空燃比センサ57の出力値Vabyfs値の変化率に応じた値の絶対値は、気筒別空燃比の間の不均衡の程度が大きいほど大きくなる。
これに対し、空燃比気筒間インバランス状態が発生していなければ、図22の(D)の破線により示したように、上流側空燃比センサ57の出力値Vabyfs値の変化率に応じた値の絶対値は、閾値Hthを超えない。それ故、上流側空燃比センサ57の出力値Vabyfs値の変化率に応じた値の絶対値は、インバランス判定用パラメータとして使用することができるパラメータとなる。そして、本発明による判定装置は、この閾値Hthを圧縮比に応じて変更する。より具体的には、判定装置は、機械圧縮比εactが大きいほど閾値Hthを小さくする。
なお、上流側空燃比センサ57の出力値Vabyfs値の変化率に応じた値の絶対値は、吸入空気流量Gaに依存して変化するが、機関回転速度NEに依存して変化しない。これは次の理由による。前述したように、上流側空燃比センサ57は、外側保護カバー57bの中心軸Cgが排ガスの流れの向きに直交し、外側保護カバー57bの底面は排ガスの流れの向きに平行となるように、配置されている。従って、図3及び図4に示したように、外側保護カバー57bの流入孔57b1に到達した排気通路内の排ガスEXは、外側保護カバー57bの流出孔57b2近傍を流れる排気通路内の排ガスEXの流れにより、外側保護カバー57b及び内側保護カバー57cの内部へと吸い込まれる。
このため、外側保護カバー57b及び内側保護カバー57cの内部における排ガスの流速は、外側保護カバー57bの流出孔57b2近傍を流れる排ガスEXの流速(従って、単位時間あたりの吸入空気量である吸入空気流量Ga)に応じて変化する。換言すると、「ある空燃比の排ガス(第1排ガス)が流入孔57b1に到達した時点」から「その第1排ガスが空燃比検出素子57aに到達する時点」までの時間は、吸入空気流量Gaに依存するが機関回転速度NEには依存しない。このことは、上流側空燃比センサ57が内側の保護カバーのみを有する場合にも成立する。
この結果、空燃比気筒間インバランス状態が発生することにより、理論空燃比よりも大きくリッチ側に偏移した排ガスが流入孔57b1に到達しはじめると、その時点より僅かに遅れてその排ガスが空燃比検出素子57aに到達する。このとき、前述したように、外側保護カバー57b及び内側保護カバー57cの内部を流れる排ガスの流速は、排気通路を流れる排ガスの流速により決定される。
更に、空燃比検出素子57aに接触する排ガスの空燃比は、「空燃比検出素子57aに新たに到達した排ガス」と「空燃比検出素子57aの近傍に既に存在していた排ガス」とが混合された排ガスの空燃比となる。従って、空燃比検出素子57aに接触(到達)する排ガスの空燃比の変化率(空燃比の時間微分値である変化速度、従って、検出空燃比abyfsの時間についての微分値、検出空燃比変化率、検出空燃比の変化の傾き)は「排ガスEXの流速に実質的に比例する吸入空気流量Ga」が大きいほど大きくなる。即ち、空燃比検出素子57aに接触(到達)する排ガスの空燃比は、吸入空気流量Gaが大きいほど迅速に減少する。
その後、理論空燃比から大きく偏移していない排ガスが流入孔57b1に到達しはじめると、その時点より僅かに遅れてその排ガスが空燃比検出素子57aに到達する。この場合においても、前述したように、外側保護カバー57b及び内側保護カバー57cの内部を流れる排ガスの流速は、排気通路を流れる排ガスEXの流速により決定される。従って、空燃比検出素子57aに接触(到達)する排ガスの空燃比は、吸入空気流量Gaが大きいほど迅速に増大する。従って、検出空燃比abyfsの変化率は、吸入空気流量Gaが大きいほど大きくなる傾向を有する。
一方、機関回転速度NEが大きいほど、理論空燃比よりも大きくリッチ側に偏移した排ガスが流入孔57b1に到達を始める時間間隔(即ち、空燃比変動周期)は小さくなる。しかしながら、上述したように、外側保護カバー57b及び内側保護カバー57cの内部を流れる排ガスの流速は、排気通路を流れる排ガスEXの流速により決定されるが、機関回転速度NEの影響を受けない。従って、機関回転速度NEが変化しても、吸入空気流量Gaが変化しなければ、検出空燃比abyfsの変化率は変化しない。以上のことから、判定装置は、吸入空気流量Gaが大きいほど閾値Hthを大きくすることが好ましい。
(P3)インバランス判定用パラメータは、前記上流側空燃比センサの出力値の変化率(時間変化率)の変化率(時間変化率)に応じた値(上流側空燃比センサ57の出力値Vabyfsの時間に関する二階微分値d2(Vabyfs)/dt2、又は、上流側空燃比センサ57の出力値Vabyfsにより表される検出空燃比abyfsの時間に関する二階微分値d2(abyfs)/dt2)の絶対値であってもよい。上流側空燃比センサ57の出力値Vabyfs値の変化率の変化率に応じた値は、上流側空燃比センサ57の出力値Vabyfsにより表される空燃比(検出空燃比abyfs)の単位時間あたりの変化量の変化量ということもできる。
例えば、検出空燃比abyfsの変化率の変化率は次のようにして取得することができる。
・一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得する。
・その出力Vabyfsを検出空燃比abyfsへと変換する。
・その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差を検出空燃比abyfsの変化率として取得する。
・その検出空燃比abyfsの変化率と、一定サンプリング時間ts前に取得した検出空燃比abyfsの変化率と、の差を検出空燃比abyfsの変化率の変化率として取得する。
この場合、単位燃焼サイクル内において複数得られた「検出空燃比abyfsの変化率の変化率」の中からその絶対値が最大である値」を選択し、その最大値をインバランス判定用パラメータとして採用していもよい。
上述したように、空燃比気筒間インバランス状態が発生している場合、上流側空燃比センサ57の出力値Vabyfsは、上流側空燃比センサ57に到達する排ガスが、「正常気筒からの排ガスから異常気筒からの排ガスへと変化したとき、及び、異常気筒からの排ガスから正常気筒からの排ガスへと変化したとき」急激に変化する。従って、図22の(E)に実線により示したように、上流側空燃比センサ57の出力値Vabyfsにより表される検出空燃比abyfsの変化率の変化率の絶対値(出力値Vabyfsの二階微分値又は検出空燃比abyfsの二階微分値)は、空燃比気筒間インバランス状態が発生すると、大きくなり、閾値Gthを超える。更に、検出空燃比abyfsの変化率の変化率の絶対値は、気筒別空燃比の間の不均衡の程度が大きいほど大きくなる。
これに対し、空燃比気筒間インバランス状態が発生していなければ、図22の(E)の破線により示したように、検出空燃比abyfsの変化率の変化率の絶対値は、閾値Gthを超えない。それ故、検出空燃比abyfsの変化率の変化率に応じた値の絶対値は、インバランス判定用パラメータとして使用することができるパラメータとなる。そして、本発明による判定装置は、この閾値Gthを圧縮比に応じて変更する。より具体的には、判定装置は、機械圧縮比εactが大きいほど閾値Gthを小さくする。
(P4)インバランス判定用パラメータは、「上流側空燃比センサ57の出力値Vabyfsを機関回転速度NE、機関のクランク角及び吸入空気流量Ga等に基づいて分析することによって推定される気筒別空燃比」の間の差の大きさ(例えば、気筒別空燃比のうちの最大値と最小値との差の絶対値等)であってもよい。
更に、上記判定装置のサブフィードバック制御は、下流側空燃比センサ58の出力値Voxsが下流側目標値Voxsrefに一致するように、上流側空燃比センサ57の出力値Vabyfsに基づく空燃比abyfsを見かけ上補正するような態様であった(上記(2)式を参照。)。これに対し、サブフィードバック制御は、特開平6−010738号公報に開示されているように、上流側空燃比センサ57の出力値に基いて作成される空燃比補正係数を「下流側空燃比センサ58の出力値Voxsを積分して求めたサブフィードバック量」に基いて変更する態様であってもよい。
また、上記判定装置は、特開2007−77869号公報、特開2007−146661号公報及び特開2007−162565号公報等に開示されているように、上流側空燃比センサ57の出力値Vabyfsに基いて得られる上流側空燃比abyfsと上流側目標空燃比abyfrとの差をハイパスフィルタ処理してメインフィードバック量KFmainを算出するとともに、下流側空燃比センサ58の出力値Voxsと下流側目標値Voxsrefとの偏差に対してローパスフィルタ処理を施した値を比例積分処理することによりサブフィードバック量Fisubを求めるように構成されていてもよい。この場合、下記(14)式に示したように、それらのフィードバック量を互いに独立させた形態にて基本燃料噴射量Fbaseの補正に用い、それにより、最終燃料噴射量Fiを求めるように構成されていても良い。
Fi=KFmain・Fbase+Fisub …(14)
また、上記判定装置は、下記(15)式に従ってサブFB学習値Vafsfbgを更新してもよい。この場合、(15)式から明らかなように、サブFB学習値Vafsfbgは「サブフィードバック量Vafsfb」に「ノイズ除去のためのフィルタ処理」を施した値となる。換言すると、サブFB学習値Vafsfbgは、サブフィードバック量Vafsfbの一次遅れ量(なまし値)であってもよい。(15)式において、値pは0より大きく1より小さい定数である。
Vafsfbgnew=(1−p)・Vafsfbg+p・Vafsfb …(15)
また、本判定装置は、例えば、V型エンジンにも適用することができる。その場合、V型エンジンは右バンクに属する2以上の気筒の排気集合部よりも下流に右バンク上流側触媒(前記機関の排気通路であって前記複数の気筒のうちの少なくとも2以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒)を備え、左バンクに属する2以上の気筒の排気集合部よりも下流に左バンク上流側触媒(前記機関の排気通路であって前記複数の気筒のうちの少なくとも2以上の気筒以外の残りの2以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒)と、を備えることができる。更に、V型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサを備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサを備えることができる。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
加えて、上記実施形態においては、機械圧縮比に基づいて、空燃比気筒間インバランス状態が発生しているか否かの判定を実行するための閾値(インバランス判定用パラメータと比較される閾値)を変更していたが、判定装置が機関の負荷KL及び機関回転速度NE等の運転状態に応じて機関10の実圧縮比を変更する(吸気弁22aの閉弁タイミングを変更する)ように構成されている場合、この実圧縮比に基づいて前記閾値を変更するように構成されてもよい。