ところで、周知の空燃比センサは、例えば図2の(A)に示したように、少なくとも「固体電解質層(671)、排ガス側電極層(672)、大気側電極層(673)、拡散抵抗層(674)及びヒータ(678)」を含む空燃比検出部を備える。
排ガス側電極層(672)は固体電解質層(671)の一面に形成されている。排ガス側電極層(672)は拡散抵抗層(674)により覆われている。排気通路内の排ガスは、拡散抵抗層(674)の外側表面に到達し、拡散抵抗層(674)を通過して排ガス側電極層(672)に到達する。大気側電極層(673)は固体電解質層(671)の他面に形成されている。大気側電極層(673)は大気が導入される大気室(67A)に露呈している。ヒータ(678)は、通電されることにより発熱し、センサ素子部の温度を調節する。センサ素子部は、少なくとも、固体電解質層(671)、排ガス側電極層(672)及び大気側電極層(673)を含む。
図2の(B)及び(C)に示したように、排ガス側電極層(672)と大気側電極層(673)との間には「排ガスの空燃比に応じて変化する限界電流」を発生させるための電圧(Vp)が印加されている。この電圧は、一般に、大気側電極層(673)の電位が排ガス側電極層(672)の電位よりも高くなるように印加される。
図2の(B)に示したように、拡散抵抗層(674)を通過して排ガス側電極層(672)に到達した排ガスに過剰な酸素が含まれているとき(即ち、排ガス側電極層に到達した排ガスの空燃比が理論空燃比よりもリーンであるとき)、その酸素は前記電圧と固体電解質層(671)の酸素ポンプ特性とにより酸素イオンとして排ガス側電極層(672)から大気側電極層(673)へと導かれる。
これに対し、図2の(C)に示したように、拡散抵抗層(674)を通過して排ガス側電極層(672)に到達した排ガスに過剰な未燃物が含まれているとき(即ち、排ガス側電極層に到達した排ガスの空燃比が理論空燃比よりもリッチであるとき)、大気室(67A)内の酸素は固体電解質層(671)の酸素電池特性により酸素イオンとして大気側電極層(673)から排ガス側電極層(672)へと導かれ、排ガス側電極層(672)の未燃物と反応する。
このような酸素イオンの移動量は、拡散抵抗層(674)の存在により、「拡散抵抗層(674)の外側表面に到達した排ガスの空燃比」に応じた値に制限される。換言すると、酸素イオンの移動により生じる電流は排ガスの空燃比(A/F)に応じた値(即ち、限界電流Ip)となる(図3を参照。)。
空燃比センサは、この限界電流(排ガス側電極層と大気側電極層との間に電圧が印加されることにより固体電解質層を流れる電流)に基いて「空燃比センサが配設された部位を通過する排ガスの空燃比」に応じた出力値Vabyfsを出力する。この出力値Vabyfsは、一般には、予め求められている「出力値Vabyfsと空燃比との図4に示した関係」に基いて検出空燃比abyfsに変換される。図4から理解されるように、出力値Vabyfsと検出空燃比abyfsとは実質的に比例する。
一方、「インバランス判定用パラメータの基礎となるデータ」である空燃比変動指標量は、「空燃比センサの出力値Vabyfs又は検出空燃比abyfs」の軌跡長に限られず、空燃比センサが配設された部位を通過する排ガスの空燃比の変動の状態(例えば、所定期間における変動の幅)を反映した値であればよい。以下、この点について説明を加える。
空燃比センサには、各気筒からの排ガスが点火順(従って、排気順)に到達する。空燃比気筒間インバランス状態が発生していない場合、各気筒から排出される排ガスの空燃比は互いに略同一である。従って、空燃比気筒間インバランス状態が発生していない場合、図5の(B)において破線C1により示したように、空燃比センサの出力値Vabyfsの波形(図5の(B)においては検出空燃比abyfsの波形)は略平坦である。
これに対し、「特定気筒(例えば、第1気筒)の空燃比のみが理論空燃比よりもリッチ側に偏移した空燃比気筒間インバランス状態(特定気筒リッチずれインバランス状態)」が発生している場合、その特定気筒の排ガスの空燃比と、その特定気筒以外の気筒(残りの気筒)の排ガスの空燃比と、は大きく相違する。
従って、例えば図5の(B)において実線C2により示したように、特定気筒リッチずれインバランス状態が発生している場合の空燃比センサの出力値Vabyfsの波形(図5の(B)においては検出空燃比abyfsの波形)は、4気筒・4サイクル・エンジンの場合に720°クランク角(一つの空燃比センサに到達する排ガスを排出している総ての気筒において各一回の燃焼行程が終了するのに要するクランク角)毎に大きく変動する。なお、「一つの空燃比センサに到達する排ガスを排出している総ての気筒において各一回の燃焼行程が終了するのに要するクランク角が経過する期間」は、本明細書において「単位燃焼サイクル期間」とも称呼される。
更に、インバランス気筒の空燃比が正常気筒の空燃比から乖離するほど、空燃比センサの出力値Vabyfs及び検出空燃比abyfsの振幅は大きくなり、これらの値はより大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値であるときの検出空燃比abyfsが図5(B)の実線C2のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第1の値の値よりも大きい第2の値」であるときの検出空燃比abyfsは図5(B)の一点鎖線C2aのように変化する。
そのため、「空燃比センサの出力値Vabyfs又は検出空燃比abyfs」の単位時間あたりの変化量(即ち、「空燃比センサの出力値Vabyfs又は検出空燃比abyfs」の時間についての一階微分値、図5の(B)の角度α1,α2を参照。)は、気筒別空燃比差が小さいときには図5の(C)の破線C3により示したように小さく変動し、気筒別空燃比差が大きいときには図5の(C)の実線C4により示したように大きく変動する。即ち、微分値d(Vabyfs)/dt及び微分値d(abyfs)/dtは、空燃比気筒間インバランス状態の程度が大きくなる(気筒別空燃比差が大きくなる)につれてその絶対値が大きくなる。
従って、例えば、単位燃焼サイクル期間において複数個取得される「微分値d(Vabyfs)/dt又は微分値d(abyfs)/dt」の絶対値の「最大値又は平均値」は、空燃比変動指標量として採用することができる。更に、そのような空燃比変動指標量そのもの、又は、複数の単位燃焼サイクル期間についてのそのような空燃比変動指標量の平均値は、インバランス判定用パラメータとして採用され得る。
更に、図5の(D)に示したように、「空燃比センサの出力値Vabyfs又は検出空燃比abyfs」の単位時間あたりの変化量の変化量(二階微分値d2(Vabyfs)/dt2又は二階微分値d2(abyfs)/dt2)」は、気筒別空燃比差が小さい場合には破線C5により示したように殆ど変動しないが、気筒別空燃比差が大きくなると実線C6により示したように大きく変動する。
従って、例えば、単位燃焼サイクル期間において複数個取得される「二階微分値d2(Vabyfs)/dt2及び二階微分値d2(abyfs)/dt2」の絶対値の「最大値又は平均値」は、空燃比変動指標量として採用することができる。更に、そのような空燃比変動指標量そのもの、又は、複数の単位燃焼サイクル期間についてのそのような空燃比変動指標量の平均値は、インバランス判定用パラメータとして採用され得る。
そして、空燃比気筒間インバランス判定装置は、上記のようにして求められるインバランス判定用パラメータが所定の閾値(インバランス判定用閾値)よりも大きいか否かを判定することにより、空燃比気筒間インバランス状態が発生しているか否かを判定する。
しかしながら、本発明者は、空燃比センサの出力値Vabyfsが「その排ガスの変動に対して十分に良好な応答性をもって変化しない状態(空燃比センサの応答性が十分でない場合)」が発生し、そのために空燃比変動指標量に応じて取得されるインバランス判定用パラメータが「空燃比気筒間インバランス状態の程度」を十分な精度にて表さなくなり、その結果、空燃比気筒間インバランス判定を精度良く行えない場合があるとの知見を得た。
空燃比センサの出力値Vabyfsが排ガスの変動に対して十分に良好な応答性をもって変化しない状態(換言すると、空燃比センサの応答性が低下する状態)は、例えば、排ガスの空燃比が理論空燃比に非常に近い空燃比領域において変動している場合等において生じる。排ガスの空燃比が理論空燃比に非常に近い空燃比領域において変動している場合に空燃比センサの応答性が不十分となるのは、排ガスの空燃比が「理論空燃比よりもリッチな空燃比」から「理論空燃比よりもリーンな空燃比」へと又はその逆へと変化した際、排ガス側電極層における反応(酸化・還元反応)の方向が逆の方向に変化しなければならず、その結果、固体電解質層を通過する酸素イオンの向きが逆転するためにはある程度の時間が必要だからである、と推定される。
ところで、図6は、空燃比センサの素子部の温度(以下、「空燃比センサ素子温度、又は、センサ素子温度」とも称呼する。)と空燃比センサの応答性との関係を示したグラフである。図6において、空燃比センサの応答性を表す応答時間tは、例えば、「空燃比センサの近傍に存在する排ガスの空燃比」を特定時点において「理論空燃比よりもリッチな第1空燃比(例えば14)」から「理論空燃比よりもリーンな第2空燃比(例えば15)」へと変更させ、「その特定時点」から「検出空燃比abyfsが第1空燃比と第2空燃比との間の第3空燃比(例えば、14.63=14+0.63・(15−14))へと変化する時点」までの時間である。従って、応答時間tが短いほど空燃比センサの応答性は良好である(空燃比センサの応答性が高くなる)。
図6から理解されるように、空燃比センサ素子温度が高いほど、空燃比センサの応答性は良好になる。これは、センサ素子部(特に、排ガス側電極層)における反応(酸化・還元反応等)が活発になるからであると考えられる。従って、空燃比センサ素子温度を高い値に維持するようにヒータの発熱量を調整すれば、精度の良いインバランス判定用パラメータを取得することができる。その一方、空燃比センサ素子温度が常に高い温度に維持されていると、空燃比センサが比較的早期に劣化(経時変化)する虞が生じる。
従って、本発明の目的の一つは、空燃比センサの劣化をできるだけ回避しながら、空燃比気筒間インバランス判定を精度良く行うことが可能な空燃比気筒間インバランス判定装置(以下、単に「本発明装置」とも称呼する。)を提供することにある。
本発明装置は、「インバランス判定用パラメータ取得する期間における空燃比センサ素子温度(パラメータ取得時素子温度)」を「インバランス判定用パラメータを取得していない期間における空燃比センサ素子温度(パラメータ非取得時素子温度)」よりも上昇させるように、ヒータ(ヒータの発熱量)を制御する。これにより、インバランス判定用パラメータを「空燃比センサの応答性が良好な状態」にて取得することができる。従って、取得されるインバランス判定用パラメータが、空燃比気筒間インバランスの状態(気筒別空燃比差)を精度良く表する値となる。その結果、空燃比気筒間インバランス判定を精度良く行うことができる。
更に、本発明装置は、インバランス判定用パラメータを取得していない期間における空燃比センサ素子温度(パラメータ非取得時素子温度)を「空燃比センサの活性温度以上ではあるが相対的に低い温度」に維持する。従って、常に空燃比センサ素子温度を相対的に高い温度に維持しておく場合に比較して、空燃比センサの劣化が早期化することを回避することができる。
より具体的に述べると、本発明装置の一態様は、複数の気筒を有する多気筒内燃機関に適用され、空燃比センサと、複数の燃料噴射弁と、ヒータ制御手段と、インバランス判定手段と、を備える。
前記空燃比センサは、前記複数の気筒のうちの少なくとも2以上(好ましくは3以上)の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部、又は、前記排気通路の前記排気集合部よりも下流側の部位、に配設される。
更に、前記空燃比センサは、固体電解質層、同固体電解質層の一面に形成された排ガス側電極層、同排ガス側電極層を覆うとともに前記排ガスが到達する拡散抵抗層、同固体電解質層の他面に形成されるとともに大気室内に露呈された大気側電極層、及び、ヒータを有する空燃比検出部を含む。前記ヒータはセンサ素子部を加熱し、そのセンサ素子部の温度を調整することができる。前記センサ素子部は、「前記固体電解質層と前記排ガス側電極層と前記大気側電極層」とを含む。加えて、前記空燃比センサは、「前記排ガス側電極層と前記大気側電極層との間に所定の電圧が印加されることにより前記固体電解質層に流れる限界電流」に基いて「前記空燃比センサが配設された部位を通過する排ガスの空燃比」に応じた出力値を出力する。
前記複数の燃料噴射弁のそれぞれは、前記少なくとも2以上の気筒のそれぞれに対応して配設されるとともに同2以上の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射する。即ち、燃料噴射弁は、一つの気筒に対して一つ以上設けられている。各燃料噴射弁は、その燃料噴射弁に対応する気筒に対して燃料を噴射する。
前記ヒータ制御手段は、前記ヒータの発熱量を制御する。
前記インバランス判定手段は、
(1)「所定のパラメータ取得条件が成立している期間」である「パラメータ取得期間」において、「前記空燃比センサが配設された部位を通過する排ガスの空燃比の変動」が大きくなるほど大きくなるインバランス判定用パラメータを、前記空燃比センサの出力値に基づいて取得し、
(2)その取得されたインバランス判定用パラメータが所定のインバランス判定用閾値よりも大きいとき、空燃比気筒間インバランス状態が発生したと判定し、且つ、
(3)その取得されたインバランス判定用パラメータが前記インバランス判定用閾値よりも小さいとき空燃比気筒間インバランス状態が発生していないと判定する。
前記インバランス判定用パラメータは、例えば、前述した「微分値d(Vabyfs)/dt又は微分値d(abyfs)/dt」の絶対値の所定期間(例えば、前記単位燃焼サイクル期間)における「最大値又は平均値」、「二階微分値d2(Vabyfs)/dt2又は二階微分値d2(abyfs)/dt2」の絶対値の所定期間(例えば、前記単位燃焼サイクル期間)における「最大値又は平均値」、及び、所定期間(例えば、前記単位燃焼サイクル期間)における「出力値Vabyfs又は検出空燃比abyfs」の軌跡長等、或いは、これらに基く値であってよく、これらに限定されない。
更に、前記インバランス判定手段は、
「前記パラメータ取得期間における前記センサ素子部の温度(パラメータ取得時素子温度)」を「前記パラメータ取得期間以外の期間(パラメータ非取得期間)における前記センサ素子部の温度(パラメータ非取得時素子温度)」よりも高くする制御を「前記ヒータ制御手段」に実行させるように構成されている。この制御は、「センサ素子部温度上昇制御」とも称呼される。換言すると、パラメータ非取得時素子温度は「第1温度」に設定され、パラメータ取得時素子温度は「第1温度よりも高い第2温度」に設定される。
これによれば、インバランス判定用パラメータは、空燃比センサの素子部の温度が高められることにより空燃比センサの応答性が良好になっている場合(即ち、空燃比センサの出力値が排ガスの空燃比の変動に過大な遅れなく追従できる場合)において、その空燃比センサの出力値に基いて取得される。従って、インバランス判定用パラメータが気筒別空燃比差を精度良く表す値となるので、空燃比気筒間インバランス状態が発生しているか否かを精度良く判定することができる。
更に、上記構成によれば、パラメータ非取得期間における空燃比センサの素子部の温度は相対的に低い温度(第1温度)に制御される。この結果、常に空燃比センサ素子温度を相対的に高い温度(第2温度)に維持しておく場合に比較して、空燃比センサの熱による劣化(経時変化)が早期化することを回避することができる。
なお、上記パラメータ取得条件は、例えば、今回の機関の始動後においてインバランス判定が一度もなされていないこと、吸入空気流量が所定範囲内であること、機関回転速度が所定範囲内であること、冷却水温が閾値冷却水温以上であること、及び、「スロットル弁開度又はアクセルペダル操作量」の単位時間における変化量が所定値以下となってから所定時間以上が経過していること等のうちの一つ以上の条件を含む。もちろん、インバランス判定用パラメータ取得条件はこれらに限定されない。
ところで、気筒別空燃比差が非常に大きければ、排ガスの空燃比の変動は極めて大きくなる。従って、気筒別空燃比差が非常に大きい場合、空燃比センサの応答性が比較的低い場合であっても、取得されるインバランス判定用パラメータは極めて大きな値となる。従って、空燃比センサ素子温度を相対的に低い温度(第1温度)に維持した状態においてインバランス判定用パラメータを取得し、そのインバランス判定用パラメータが「所定の閾値(高側閾値とも称呼される閾値)」よりも大きければ、明らかに「空燃比気筒間インバランス状態が発生している」と判定することができる。
これに対し、気筒別空燃比差が非常に小さければ、排ガスの空燃比の変動は極めて小さい。従って、インバランス判定用パラメータが「空燃比センサの応答性が比較的低い場合において得られた値」であったとしても、そのインバランス判定用パラメータが極めて小さければ、明らかに「空燃比気筒間インバランス状態は発生していない」と判定することができる。換言すると、空燃比センサ素子温度を相対的に低い温度(第1温度)に維持した状態においてインバランス判定用パラメータを取得し、そのインバランス判定用パラメータが「前記高側閾値よりも所定値だけ小さい閾値(低側閾値とも称呼される閾値)」よりも小さければ、明らかに「空燃比気筒間インバランス状態は発生していない」と判定することができる。
そこで、本発明装置の他の態様に係るインバランス判定手段は、
(4)前記パラメータ取得期間において前記センサ素子部温度上昇制御を前記ヒータ制御手段に実行させる前に(即ち、空燃比センサ素子温度を比較的低い温度に維持したまま)、前記空燃比センサの出力値に基いて前記インバランス判定用パラメータを暫定パラメータとして取得し、
(5)前記取得された暫定パラメータが「所定の高側閾値」よりも大きいとき「空燃比気筒間インバランス状態が発生した」と判定し、
(6)前記取得された暫定パラメータが「前記高側閾値よりも所定値だけ小さい低側閾値」よりも小さいとき「空燃比気筒間インバランス状態は発生していない」と判定するように、構成される。
この場合、前記高側閾値は前記インバランス判定用閾値以上の値であり、前記低側閾値は前記インバランス判定用閾値よりも小さい値であることが好適である。
一方、空燃比センサ素子温度が比較的低い場合(空燃比センサの応答性が比較的低い場合)に得られたインバランス判定用パラメータが、上記高側閾値と上記低側閾値との間にある場合、空燃比気筒間インバランス状態が発生したか否かを明確に判定することはできない。
よって、前記インバランス判定手段は、
(7)前記取得された暫定パラメータが前記高側閾値よりも小さく且つ前記低側閾値よりも大きいとき空燃比気筒間インバランス状態が発生したか否かについての判定を保留し、
(8)前記空燃比気筒間インバランス状態が発生したか否かについての判定が保留された状態にある場合に、前記パラメータ取得期間において前記センサ素子部温度上昇制御を前記ヒータ制御手段に実行させるとともに前記空燃比センサの出力値に基いて前記インバランス判定用パラメータを最終パラメータとして取得し、
(9)前記取得された最終パラメータが前記インバランス判定用閾値よりも大きいとき「空燃比気筒間インバランス状態が発生した」と判定し、且つ、同取得された最終パラメータが同インバランス判定用閾値よりも小さいとき「空燃比気筒間インバランス状態が発生していない」と判定するように、構成される。
これによれば、空燃比気筒間インバランス状態が発生したか否かについての判定が保留された場合には、空燃比センサ素子温度が上昇せしめられるから、空燃比センサの応答性が高い状態にてインバランス判定用パラメータ(最終パラメータ)を取得することができる。従って、暫定パラメータによっては空燃比気筒間インバランス状態が発生したか否かについて明確に判定することができない場合であっても、最終パラメータを用いることによってインバランス判定を精度良く行うことができる。
加えて、この態様の装置によれば、空燃比センサの応答性が比較的低い場合において得られたインバランス判定用パラメータ(暫定パラメータ)に基いて「空燃比気筒間インバランス状態が発生したか否か」について明確な判定を行うことができる場合、センサ素子部温度上昇制御を実行する必要がない。従って、空燃比センサ素子温度がインバランス判定のために比較的高い温度に上昇させられる頻度が低減するので、空燃比センサの劣化の進行が早まることを回避することができる。
センサ素子部温度上昇制御の実行開始後から空燃比センサ素子温度が実際に上昇するまでにはある程度の時間を要する。従って、センサ素子部温度上昇制御の開始直後からインバランス判定用パラメータを取得すると、そのインバランス判定用パラメータは空燃比センサの応答性が十分に高くなっていない状態において得られる可能性がある。
そこで、センサ素子温度上昇制御を実行する本発明装置において、
前記インバランス判定手段は、
前記センサ素子部温度上昇制御を開始させた時点から所定の遅延時間が経過した後に前記インバランス判定用パラメータの取得を開始するように構成されることが好適である。
これによれば、空燃比センサ素子温度が高くなることにより空燃比センサの応答性が十分に高くなった時点以降において、インバランス判定用パラメータを空燃比センサの出力値に基いて取得することができる。従って、気筒別空燃比差をより精度良く表すインバランス判定用パラメータを取得することができる。
前記インバランス判定手段は、
前記所定の遅延時間を前記排ガスの温度が高いほど短く設定するように構成されることが好適である。
また、前記インバランス判定手段は、
前記所定の遅延時間を「前記機関の吸入空気流量又は前記機関の負荷」が大きいほど短く設定するように構成されることが好適である。
排ガスの温度が高いほど空燃比センサ素子温度は迅速に上昇する。従って、排ガスの温度が高いほど、前記遅延時間を短く設定することができる。更に、排ガスの温度は排ガス温度センサにより取得されてもよく、吸入空気流量又は機関の負荷に基いて推定することもできる。この場合、排ガスの温度は、吸入空気流量又は機関の負荷が大きいほど高くなる。よって、吸入空気流量又は機関の負荷が大きいほど、前記遅延時間を短く設定することができる。
ところで、前述したように、センサ素子部温度上昇制御の実行開始後から空燃比センサ素子温度が実際に上昇するまでにはある程度の時間を要する。従って、パラメータ取得条件が成立した後にセンサ素子部温度上昇制御の実行を開始すると、空燃比センサ素子温が十分に高くなるまで、インバランス判定用パラメータの取得を開始できない場合がある。しかも、センサ素子部温度上昇制御の実行の開始後から空燃比センサ素子温が十分に高くなるまでの期間に、パラメータ取得条件が不成立になると、センサ素子部温度上昇制御が停止されることになる。この結果、インバランス判定用パラメータを取得する機会が低下してしまう虞がある。
一方、機関の始動後において機関の暖機が完了していない場合、排ガス中の水分が冷却されて水滴となり易い。このような水滴が空燃比センサの空燃比検出部に付着する(以下、「空燃比センサが被水する」とも表現する。)可能性が高い場合にセンサ素子部温度上昇制御により「センサ素子部を含む空燃比検出部」の温度を上昇させると、実際に空燃比センサが被水している場合には空燃比検出部に大きな温度むらが生じ、空燃比検出部が割れてしまう(破損する)虞がある。従って、機関の始動直後からセンサ素子部温度上昇制御を実行することは得策でない。
そこで、本発明装置の他の態様に係るインバランス判定手段は、
「前記機関の始動後において同機関の暖機が終了した時点」にて「前記センサ素子部温度上昇制御を前記ヒータ制御手段に開始させる」とともに、「前記インバランス判定用パラメータの取得が完了した時点」にて「前記センサ素子部温度上昇制御を終了させる」ように構成される。
機関の暖機が完了した時点以降、空燃比センサは被水し難い。従って、上記構成のように機関の暖機が完了した時点にてセンサ素子部温度上昇制御を開始しても、空燃比センサが破損する可能性は低い。加えて、上記構成によれば、パラメータ取得条件が成立した時点において空燃比センサ素子温度が十分に高くなっている頻度を高められるので、精度の良いインバランス判定用パラメータを取得する機会を増大することができる。
前記空燃比センサのセンサ素子部を構成する固体電解質層の温度は、固体電解質層のアドミタンス(インピーダンスの逆数)と強い相関を有する。一般に、固体電解質層のアドミタンスは、固体電解質層の温度が高いほど大きくなる。
そこで、前記ヒータ制御手段は、
前記固体電解質層の実際のアドミタンスに応じた値(例えば、アドミタンス又はインピーダンス)と目標値との差が小さくなるように前記ヒータの発熱量を制御するとともに、前記センサ素子部温度上昇制御中の前記目標値を前記素子部温度上昇制御を実行していないときの前記目標値と相違させることにより同センサ素子部温度上昇制御を実現するように構成される。
例えば、「前記固体電解質層の実際のアドミタンスに応じた値」がその固体電解質層の実際のアドミタンスであれば、前記目標値は前記センサ素子部温度上昇制御中において前記センサ素子部温度上昇制御を行っていない場合よりも高められる。或いは、「前記固体電解質層の実際のアドミタンスに応じた値」がその固体電解質層の実際のインピーダンスであれば、前記目標値は前記センサ素子部温度上昇制御中において前記センサ素子部温度上昇制御を行っていない場合よりも低められる。
ところで、空燃比センサの使用時間が長くなると空燃比センサは経時変化する。その結果、図23に示したように、経時変化した空燃比センサのアドミタンス(破線Y2を参照。)は、経時変化する前の空燃比センサのアドミタンス(実線Y1を参照。)よりも小さくなる。
従って、固体電解質層の実際のアドミタンスが「ある特定のアドミタンス」に一致している場合であっても、空燃比センサ素子温度は、空燃比センサが経時変化していない場合よりも空燃比センサが経時変化した場合の方が高くなる。換言すると、ヒータ制御をアドミタンスに基いて実行している場合、空燃比センサが経時変化していると、センサ素子部温度上昇制御中の目標値(目標アドミタンス)を、センサ素子部温度上昇制御を行っていない場合の目標値(目標アドミタンス)よりも増大させなくても、空燃比センサ素子温度は十分に高く、空燃比センサの応答性も良好である。同様に、ヒータ制御をインピーダンスに基いて実行している場合、空燃比センサが経時変化していると、センサ素子部温度上昇制御中の目標値(目標インピーダンス)を、センサ素子部温度上昇制御を行っていない場合の目標値(目標インピーダンス)よりも減少させなくても、空燃比センサ素子温度は十分に高く、空燃比センサの応答性も良好である。
そこで、前記インバランス判定手段は
前記空燃比センサに経時変化が生じているか否かを判定する経時変化発生判定手段を含み、前記経時変化が生じていると判定された場合には前記センサ素子部温度上昇制御を実行すべきときであっても同センサ素子部温度上昇制御を実行することなく前記インバランス判定用パラメータを取得するように構成されることが好適である。
これによれば、空燃比センサ素子温度が必要以上に上昇することがないので、空燃比センサの劣化が早期化することを回避することができる。
本発明の判定装置の他の態様は、上述した態様と同様、多気筒内燃機関に適用されるとともに、前記空燃比センサと、前記複数の燃料噴射弁と、を備えるとともに、次のように構成されたインバランス判定手段を備える。
即ち、この態様のインバランス判定手段は、
(10)所定のパラメータ取得条件が成立している期間であるパラメータ取得期間において、前記ヒータにより前記センサ素子部の温度を第1温度に制御するとともに、前記空燃比センサが配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなる空燃比変動指標量に応じた値を通常温度空燃比変動指標量として取得し、
(11)前記パラメータ取得期間において、前記ヒータにより前記センサ素子部の温度を前記第1温度よりも高い第2温度に制御するとともに、前記空燃比センサが配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなる空燃比変動指標量に応じた値を上昇温度空燃比変動指標量として取得し、更に、
(12)前記上昇温度空燃比変動指標量と前記通常温度空燃比変動指標量とに基いて同上昇温度空燃比変動指標量と同通常温度空燃比変動指標量との相違の程度が大きくなるほど大きくなる値をインバランス判定用パラメータとして取得し、
(13)その取得されたインバランス判定用パラメータが所定のインバランス判定用閾値よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し、且つ、同取得されたインバランス判定用パラメータが同インバランス判定用閾値よりも小さいとき空燃比気筒間インバランス状態が発生していないと判定する、
ように構成されている。
図11は、空燃比センサ素子温度に対する空燃比変動指標量の変化の様子を示したグラフの一例である。図11において、実線L2は空燃比気筒間インバランス状態が発生している場合の空燃比変動指標量を示し、破線L1は空燃比気筒間インバランス状態が発生していない場合の空燃比変動指標量を示している。
図11から理解されるように、空燃比センサ素子温度が上昇するにつれて、「上昇温度空燃比変動指標量Ztupと通常温度空燃比変動指標量Ztujoとの相違の程度」が大きくなるほど大きくなる値DX(例えば、DX=Ztuo−Ztup)、は大きくなる。しかも、「インバランス状態が発生している場合(実線L2を参照。)の値DX(=DX1)」は、「インバランス状態が発生していない場合(破線L1を参照。)の値DX(=DX2)」よりも大きくなる。加えて、値DX1と値DX2との差は空燃比センサ素子温度(より正確には上昇温度と通常温度との差)が大きくなるほど大きくなる。
従って、上記構成のように、第1温度と第2温度とにおいて空燃比変動指標量に応じた値を取得し、それらの空燃比変動指標量に応じた値の相違の程度が大きくなるほど大きくなる値(例えば、それらの空燃比変動指標量の差DX及び比等)に基いてインバランス判定用パラメータを得て、そのインバランス判定用パラメータに基いてインバランス判定を行えば、インバランス判定を精度良く行うことができる。更に、そのようなインバランス判定用パラメータは、空燃比センサの個体差の影響が低減された値となるので、インバランス判定を精度良く行うことができる。
前記空燃比センサの前記空燃比検出部は、酸素吸蔵機能を有するとともに酸化還元反応を促進する触媒部を有し、
前記空燃比センサは、前記排気通路を通過する排ガスを前記触媒部を通して前記拡散抵抗層に到達させるように構成され得る。
例えば、リッチずれインバランス状態が発生すると、排ガスの空燃比の平均値は所定のリッチ空燃比へと変化する。この場合、総ての気筒の空燃比が一律にその所定のリッチ空燃比へと変化したときに比べ、水素を含む未燃物がより多く発生する。水素は粒子径が小さいので空燃比検出部の拡散抵抗層を他の未燃物よりも通過し易い。その結果、空燃比センサの出力値は、所定のリッチ空燃比よりも更にリッチ側の空燃比に応じた値へと移行してしまう。その結果、空燃比センサの出力値に基く空燃比フィードバック制御が正常に行われなくなる虞がある。
これに対し、空燃比センサに上記触媒部を設ければ、その触媒部において過剰な水素を酸化させることができるので、排ガス側電極層に到達する排ガスに含まれる過剰な水素を低減することができる。その結果、空燃比センサの出力値は排ガスの空燃比を精度良く表す値に近づく。
ところが、この触媒部における酸化還元反応及び酸素吸蔵機能に起因して「排ガスの空燃比の変化に対する空燃比センサの出力値の変化」が遅れる。その結果、空燃比センサの応答性は、触媒部を設けていない空燃比センサの応答性よりも低下する。特に、排ガスが理論空燃比を横切るように変動している場合、酸素吸蔵機能に起因する空燃比センサの出力値の遅れは顕著になる。
従って、触媒部を有する空燃比センサを使用していると、排ガスの空燃比が理論空燃比の近傍で変動している場合、インバランス判定用パラメータはより一層小さくなる。それ故、触媒部を有する空燃比センサを備えた内燃機関において、その空燃比センサの出力値に基いて得られるインバランス判定用パラメータを用いてインバランス判定を行う場合、空燃比センサ素子温度を上昇させることにより空燃比センサの応答性を良好にしてインバランス判定用パラメータを取得する本発明装置は、より優れた効果を奏することができる。
前記空燃比センサは、前記空燃比検出部を覆うように同空燃比検出部をその内部に収容するとともに、前記排気通路を通過する排ガスを同内部に流入させる流入孔及び同内部に流入した排ガスを前記排気通路に流出させる流出孔を有する、保護カバー、を更に備えることが多い。
この場合、前記インバランス判定手段は、
「前記空燃比センサの出力値又は同出力値により表される空燃比である検出空燃比」の時間についての微分値を「基本指標量」として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得するように構成されることが好適である。
空燃比センサの出力値Vabyfs及び検出空燃比abyfsは、気筒別空燃比差が「0」でない限り、単位燃焼サイクル期間を一周期として変動する。従って、出力値Vabyfsの軌跡長は機関回転速度の影響を強く受ける。そのため、インバランス判定用閾値を機関回転速度に応じて精度良く設定する必要が生じる。
これに対し、空燃比センサが上記保護カバーを備えている場合、その保護カバーの内部における排ガスの流速は機関回転速度に依存せず、排気通路を流れる排ガスの流速(従って、吸入空気流量)に依存する。これは、保護カバーの流出孔近傍を流れる排ガスによって生じる負圧により、排ガスが保護カバーの流入孔から保護カバーの内部へと流入するからである。
従って、吸入空気流量が一定であれば、「前記空燃比センサの出力値の時間についての微分値d(Vabyfs)/dt、又は、前記空燃比センサの出力値により表される空燃比である検出空燃比の時間についての微分値d(abyfs)/dt」は、機関回転速度に依らず、排ガスの空燃比の変動を精度良く表す。従って、これらの微分値を基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得することにより、インバランス判定用パラメータを、機関回転速度の高低に関わらず気筒別空燃比差を精度良く表す値として取得することができる。
代替として、前記インバランス判定手段は、
「前記空燃比センサの出力値又は同出力値により表される空燃比である検出空燃比」の時間についての二階微分値を「基本指標量」として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得するように構成されることが好適である。
前記空燃比センサの出力値又は同出力値により表される空燃比である検出空燃比の時間についての二階微分値(d2(Vabyfs)/dt2又はd2(abyfs)/dt2)は、排ガスの空燃比の平均値の緩やかな変化の影響を受け難い。従って、これらの二階微分値を基本指標量として取得するとともに、同取得した基本指標量に基いて前記インバランス判定用パラメータを取得することにより、排ガスの空燃比の中心が比較的穏やかに変化しているときであっても、インバランス判定用パラメータを「気筒別空燃比差を精度良く表す値」として取得することができる。
以下、本発明の各実施形態に係る内燃機関の空燃比気筒間インバランス判定装置(以下、単に「判定装置」とも称呼する。)について図面を参照しながら説明する。この判定装置は、内燃機関に供給される混合気の空燃比(機関の空燃比)を制御する空燃比制御装置の一部であり、更に、燃料噴射量を制御する燃料噴射量制御装置の一部でもある。
<第1実施形態>
(構成)
図7は、第1実施形態に係る判定装置(以下、「第1判定装置」とも称呼する。)を、4サイクル・火花点火式・多気筒(直列4気筒)・内燃機関10に適用したシステムの概略構成を示している。なお、図7は、特定気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
この内燃機関10は、シリンダブロック、シリンダブロックロワーケース及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排ガスを外部に放出するための排気系統50と、を含んでいる。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21の壁面及びピストン22の上面は、シリンダヘッド部30の下面とともに燃焼室25を形成している。
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング制御装置33、可変吸気タイミング制御装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフトを含むとともに同エキゾーストカムシャフトの位相角を連続的に変更する可変排気タイミング制御装置36、可変排気タイミング制御装置36のアクチュエータ36a、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38及び燃料噴射弁(燃料噴射手段、燃料供給手段)39を備えている。
燃料噴射弁39は、一つの燃焼室25に対して一つずつ配設されている。燃料噴射弁39は吸気ポート31に設けられている。燃料噴射弁39は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を対応する吸気ポート31内に噴射するようになっている。このように、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁39を備えている。
吸気系統40は、インテークマニホールド41、吸気管42、エアフィルタ43、及び、スロットル弁44を備えている。
インテークマニホールド41は、図1に示したように、複数の枝部41aとサージタンク41bとからなる。複数の枝部41aのそれぞれの一端は、図7に示したように、複数の吸気ポート31のそれぞれに接続されている。複数の枝部41aの他端はサージタンク41bに接続されている。吸気管42の一端はサージタンク41bに接続されている。エアフィルタ43は吸気管42の他端に配設されている。スロットル弁44は、吸気管42内にあって吸気通路の開口断面積を可変とするようになっている。スロットル弁44は、DCモータからなるスロットル弁アクチュエータ44a(スロットル弁駆動手段の一部)により吸気管42内で回転駆動されるようになっている。
排気系統50は、エキゾーストマニホールド51、エキゾーストパイプ52、エキゾーストパイプ52に配設された上流側触媒53、及び、上流側触媒53よりも下流のエキゾーストパイプ52に配設された図示しない下流側触媒を備えている。
エキゾーストマニホールド51は、図1に示したように、それぞれの一端が排気ポートに接続された複数の枝部51aと、その複数の枝部51aのそれぞれの他端であって総ての枝部51aが集合している集合部51bとを備えている。この集合部51bは、複数(2以上であり、本例では4つ)の気筒から排出された排ガスが集合するから、排気集合部HKとも称呼される。エキゾーストパイプ52は集合部51bに接続されている。図7に示したように、排気ポート34、エキゾーストマニホールド51及びエキゾーストパイプ52は、排気通路を構成している。
上流側触媒53及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属(触媒物質)からなる活性成分を担持する三元触媒装置(排気浄化触媒)である。各触媒は、各触媒に流入するガスの空燃比が理論空燃比であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物(NOx)を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有し、この酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。この酸素吸蔵機能は、触媒に担持されているセリア(CeO2)等の酸素吸蔵材によってもたらされる。
このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、水温センサ63、クランクポジションセンサ64、インテークカムポジションセンサ65、エキゾーストカムポジションセンサ66、上流側空燃比センサ67、下流側空燃比センサ68、及び、アクセル開度センサ69を備えている。
エアフローメータ61は、吸気管42内を流れる吸入空気の質量流量(吸入空気流量)Gaに応じた信号を出力するようになっている。即ち、吸入空気流量Gaは、単位時間あたりに機関10に吸入される空気量を表す。
スロットルポジションセンサ62は、スロットル弁44の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
水温センサ63は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
クランクポジションセンサ64は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。
インテークカムポジションセンサ65は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ64及びインテークカムポジションセンサ65からの信号に基づいて、基準気筒(例えば第1気筒)の圧縮上死点を基準とした絶対クランク角CAを取得するようになっている。この絶対クランク角CAは、基準気筒の圧縮上死点において「0°クランク角」に設定され、クランク角の回転角度に応じて720°クランク角まで増大し、その時点にて再び0°クランク角に設定される。
エキゾーストカムポジションセンサ66は、エキゾーストカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。
上流側空燃比センサ67(本発明における空燃比センサ)は、図1にも示したように、エキゾーストマニホールド51の集合部51b(排気集合部HK)と上流側触媒53との間の位置において「エキゾーストマニホールド51及びエキゾーストパイプ52の何れか(即ち、排気通路)」に配設されている。上流側空燃比センサ67は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
上流側空燃比センサ67は、図8及び図9に示したように、空燃比検出部67aと、外側保護カバー67bと、内側保護カバー67cと、を有している。
外側保護カバー67bは金属からなる中空円筒体である。外側保護カバー67bは内側保護カバー67cを覆うように、内側保護カバー67cを内部に収容している。外側保護カバー67bは、流入孔67b1をその側面に複数備えている。流入孔67b1は、排気通路を流れる排ガス(外側保護カバー67bの外部の排ガス)EXを外側保護カバー67bの内部に流入させるための貫通孔である。更に、外側保護カバー67bは、外側保護カバー67bの内部の排ガスを外部(排気通路)に流出させるための流出孔67b2をその底面に有している。
内側保護カバー67cは、金属からなり、外側保護カバー67bの直径よりも小さい直径を有する中空円筒体である。内側保護カバー67cは、空燃比検出部67aを覆うように空燃比検出部67aを内部に収容している。内側保護カバー67cは流入孔67c1をその側面に複数備えている。この流入孔67c1は、外側保護カバー67bの流入孔67b1を通して「外側保護カバー67bと内側保護カバー67cとの間の空間」に流入した排ガスを、内側保護カバー67cの内部に流入させるための貫通孔である。更に、内側保護カバー67cは、内側保護カバー67cの内部の排ガスを外部に流出させるための流出孔67c2をその底面に有している。
図2の(A)〜(C)に示したように、空燃比検出部67aは、固体電解質層671と、排ガス側電極層672と、大気側電極層673と、拡散抵抗層674と、第一壁部675と、触媒部676と、第二壁部677と、ヒータ678と、を含んでいる。
固体電解質層671は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層671は、ZrO2(ジルコニア)にCaOを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層671は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
排ガス側電極層672は、白金(Pt)等の触媒活性の高い貴金属からなる。排ガス側電極層672は、固体電解質層671の一つの面上に形成されている。排ガス側電極層672は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
大気側電極層673は、白金(Pt)等の触媒活性の高い貴金属からなる。大気側電極層673は、固体電解質層671の他の面上であって、固体電解質層671を挟んで排ガス側電極層672に対向するように形成されている。大気側電極層673は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
拡散抵抗層(拡散律速層)674は、多孔質セラミック(耐熱性無機物質)からなる。拡散抵抗層674は、排ガス側電極層672の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
第一壁部675は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部675は拡散抵抗層674の角部(一部)を除いて拡散抵抗層674を覆うように形成されている。即ち、第一壁部675は拡散抵抗層674の一部を外部に露呈させる貫通部を備えている。
触媒部676は、第一壁部675の貫通部を閉じるように貫通部に形成されている。触媒部676は、上流側触媒53と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を担持している。触媒部676は多孔質体である。従って、図2の(B)及び図2の(C)に白抜きの矢印により示したように、排ガス(前述した内側保護カバー67cの内部に流入した排ガス)は、触媒部676を通過して拡散抵抗層674に到達し、その排ガスは更に拡散抵抗層674を通過して排ガス側電極層672に到達する。
第二壁部677は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部677は大気側電極層673を収容する空間である「大気室67A」を形成するように構成されている。大気室67Aには大気が導入されている。
上流側空燃比センサ67には電源679が接続されている。電源679は、大気側電極層673側が高電位となり、排ガス側電極層672が低電位となるように、電圧V(=Vp)を印加する。
ヒータ678は第二壁部677に埋設されている。ヒータ678は後述する電気制御装置70によって通電されたときに発熱し、固体電解質層671、排ガス側電極層672及び大気側電極層673を加熱し、それらの温度を調整するようになっている。以下、ヒータ678により加熱される「固体電解質層671、排ガス側電極層672及び大気側電極層673」を「センサ素子部、又は、空燃比センサ素子」とも称呼する。従って、ヒータ678は、センサ素子部の温度である「空燃比センサ素子温度」を制御するようになっている。ヒータ678の通電量(従って、発熱量)は、電気制御装置70が出力するデューティ信号(以下、「ヒータデューティDuty」とも称呼する。)が大きいほど大きくなるように調整される。ヒータデューティDutyが100%であるときヒータ678の発熱量は最大となる。ヒータデューティDutyが0%であるときヒータ678への通電は遮断され、その結果、ヒータ678は発熱しない。
固体電解質層671のアドミタンスYは空燃比センサ素子温度に応じて変化する。換言すると、アドミタンスYに基いて空燃比センサ素子温度を推定することができる。一般に、空燃比センサ素子温度が高いほどアドミタンスYは大きくなる。電気制御装置70は、排ガス側電極層672と大気側電極層673との間に、「矩形波又は正弦波等の電圧」を「電源679による印加電圧」に周期的に重畳させ、その際に固体電解質層671に流れる電流に基いて、実際の空燃比センサ67のアドミタンスYactを取得するようになっている。
このような構造を有する上流側空燃比センサ67は、図2の(B)に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層674を通って排ガス側電極層672に到達した酸素をイオン化して大気側電極層673へと通過させる。この結果、電源679の正極から負極へと電流Iが流れる。この電流Iの大きさは、図3に示したように、電圧Vを所定値Vp以上に設定すると、排ガス側電極層672に到達した酸素の濃度(酸素分圧、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ67は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
これに対し、図2の(C)に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ67は、大気室67Aに存在する酸素をイオン化して排ガス側電極層672へと導き、拡散抵抗層674を通って排ガス側電極層672に到達する未燃物(HC,CO及びH2等)を酸化する。この結果、電源679の負極から正極へと電流Iが流れる。この電流Iの大きさも、図3に示したように、電圧Vを所定値Vp以上に設定すると、排ガス側電極層672に到達した未燃物の濃度(即ち、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ67は、この電流(即ち、限界電流Ip)を電圧に変換した値を出力値Vabyfsとして出力する。
即ち、空燃比検出部67aは、図4に示したように、上流側空燃比センサ67の配設位置を流れ、且つ、外側保護カバー67bの流入孔67b1及び内側保護カバー67cの流入孔67c1を通って空燃比検出部67aに到達しているガスの空燃比(上流側空燃比abyfs、検出空燃比abyfs)に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。出力値Vabyfsは、空燃比検出部67aに到達しているガスの空燃比が大きくなるほど(リーンとなるほど)増大する。即ち、出力値Vabyfsは、空燃比検出部67aに到達している排ガスの空燃比に実質的に比例する。なお、出力値Vabyfsは、検出空燃比abyfsが理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。
電気制御装置70は、図4に示した空燃比変換テーブル(マップ)Mapabyfsを記憶していて、空燃比センサ67の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する(即ち、検出空燃比abyfsを取得する)。
ところで、上流側空燃比センサ67は、エキゾーストマニホールド51の排気集合部HKと上流側触媒53との間の位置においてエキゾーストマニホールド51及びエキゾーストパイプ52の何れかに外側保護カバー67bが露呈するように配設される。
より具体的には、空燃比センサ67は、図8及び図9に示したように、保護カバー(67b、67c)の底面が排ガスEXの流れと平行であり、保護カバー(67b、67c)の中心軸線CCが排ガスEXの流れと直交するように排気通路内に配設される。これにより、外側保護カバー67bの流入孔67b1に到達した排気通路内の排ガスEXは、外側保護カバー67bの流出孔67b2近傍を流れる排気通路内の排ガスEXの流れにより、外側保護カバー67b及び内側保護カバー67cの内部へと吸い込まれる。
従って、排気通路を流れる排ガスEXは、図8及び図9において矢印Ar1により示したように外側の保護カバー67bの流入孔67b1を通って外側の保護カバー67bと内側の保護カバー67cとの間に流入する。次いで、その排ガスは、矢印Ar2に示したように「内側の保護カバー67cの流入孔67c1」を通って「内側の保護カバー67cの内部」に流入した後に、空燃比検出部67aに到達する。その後、その排ガスは、矢印Ar3に示したように「内側の保護カバー67cの流出孔67c2及び外側の保護カバー67bの流出孔67b2」を通って排気通路に流出する。
このため、「外側保護カバー67b及び内側保護カバー67c」の内部における排ガスの流速は、外側保護カバー67bの流出孔67b2近傍を流れる排ガスEXの流速(従って、単位時間あたりの吸入空気量である吸入空気流量Ga)に応じて変化する。換言すると、「ある空燃比の排ガス(第1排ガス)が流入孔67b1に到達した時点」から「その第1排ガスが空燃比検出部67aに到達する時点」までの時間は、吸入空気流量Gaに依存するが機関回転速度NEには依存しない。従って、空燃比センサ67の「排気通路を流れる排ガスの空燃比」に対する出力応答性(応答性)は、空燃比センサ67の外側保護カバー67bの近傍を流れる排ガスの流量(流速)が大きいほど良好になる。このことは、上流側空燃比センサ67が内側保護カバー67cのみを有する場合にも成立する。
再び、図7を参照すると、下流側空燃比センサ68は、エキゾーストパイプ52であって上流側触媒53よりも下流側であり且つ下流側触媒よりも上流側(即ち、上流側触媒53と下流側触媒との間の排気通路)に配設されている。下流側空燃比センサ68は、周知の起電力式の酸素濃度センサ(安定化ジルコニアを用いた周知の濃淡電池型の酸素濃度センサ)である。下流側空燃比センサ68は、排気通路であって下流側空燃比センサ68が配設されている部位を通過するガスである被検出ガスの空燃比(即ち、上流側触媒53から流出し且つ下流側触媒に流入するガスの空燃比、従って、機関に供給される混合気の空燃比の時間的平均値)に応じた出力値Voxsを発生するようになっている。
この出力値Voxsは、図10に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V)となり、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V)となり、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、例えば、約0.5V)となる。更に、この出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変し、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
図7に示したアクセル開度センサ69は、運転者によって操作されるアクセルペダル81の操作量Accp(アクセルペダル操作量Accp)を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダル81の開度(アクセルペダル操作量)が大きくなるとともに大きくなる。
電気制御装置70は、互いにバスで接続された「CPU71、CPU71が実行するプログラム、テーブル(マップ、関数)及び定数等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、及び、バックアップRAM74並びにADコンバータを含むインターフェース75等」からなる周知のマイクロコンピュータである。
バックアップRAM74は、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAM74は、バッテリから電力の供給を受けている場合、CPU71の指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。バックアップRAM74は、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPU71は、バックアップRAM74への電力供給が再開されたとき、バックアップRAM74に保持されるべきデータを初期化(デフォルト値に設定)するようになっている。
インターフェース75は、センサ61〜69と接続され、CPU71にそれらのセンサからの信号を供給するようになっている。更に、インターフェース75は、CPU71の指示に応じて可変吸気タイミング制御装置33のアクチュエータ33a、可変排気タイミング制御装置36のアクチュエータ36a、各気筒のイグナイタ38、各気筒に対応して設けられた燃料噴射弁39、スロットル弁アクチュエータ44a及び空燃比センサ67のヒータ678等に駆動信号(指示信号)を送出するようになっている。
なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータ44aに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量(アクセルペダル操作量Accp)に応じて「機関10の吸気通路に配設されたスロットル弁44」の開度を変更するスロットル弁駆動手段を備えている。
(空燃比気筒間インバランス判定の概要)
次に、第1判定装置が採用した空燃比気筒間インバランス判定方法の概要について説明する。空燃比気筒間インバランス判定は、燃料噴射弁39の特性が変化すること等に起因して気筒間における空燃比の不均一性が警告必要値以上となったか否かを判定するための判定である。換言すると、第1判定装置は、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさ(気筒別空燃比差)が「エミッション上許容できない程度」以上となっている場合、空燃比気筒間インバランス状態が発生したと判定する。
第1判定装置は、空燃比気筒間インバランス判定を行うために、「空燃比センサ67の出力値Vabyfsにより表される空燃比(即ち、出力値Vabyfsを図4に示した空燃比変換テーブルMapabyfsに適用することにより得られる検出空燃比abyfs)」の「単位時間(一定のサンプリング時間ts)当たりの変化量」を取得する。この「検出空燃比abyfsの単位時間当たりの変化量」は、その単位時間が例えば4m秒程度の極めて短い時間であるとき、検出空燃比abyfsの時間微分値d(abyfs)/dtであると言うこともできる。従って、「検出空燃比abyfsの単位時間当たりの変化量」は「検出空燃比変化率ΔAF」とも称呼される。
空燃比センサ67には、各気筒からの排ガスが点火順(故に、排気順)に到達する。空燃比気筒間インバランス状態が発生していない場合、各気筒から排出され且つ空燃比センサ67に到達する排ガスの空燃比は互いに略同一である。従って、空燃比気筒間インバランス状態が発生していない場合の検出空燃比abyfsは、例えば、図5の(B)において破線C1により示したように変化する。即ち、空燃比気筒間インバランス状態が発生していない場合、空燃比センサ67の出力値Vabyfsの波形は略平坦である。このため、図5の(C)において破線C3により示したように、空燃比気筒間インバランス状態が発生していない場合、検出空燃比変化率ΔAFの絶対値は小さい。
一方、「特定気筒(例えば、第1気筒)に対して燃料を噴射する燃料噴射弁39」の特性が「指示燃料噴射量よりも多い燃料を噴射する特性」となって空燃比気筒間インバランス状態が発生すると、その特定気筒の排ガスの空燃比(インバランス気筒の空燃比)と、その特定気筒以外の気筒の排ガスの空燃比(非インバランス気筒の空燃比)と、は大きく相違する。
従って、空燃比気筒間インバランス状態が発生している場合の検出空燃比abyfsは、例えば図5の(B)の実線C2により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図5の(C)において実線C4により示したように、空燃比気筒間インバランス状態が発生している場合、検出空燃比変化率ΔAFの絶対値は大きくなる。なお、直列4気筒・4サイクル・エンジンの場合における単位燃焼サイクル期間は、720°クランク角が経過する期間、即ち、一つの空燃比センサ67に到達する排ガスを排出している総ての気筒である第1〜第4気筒において各一回の燃焼行程が終了するのに要するクランク角が経過する期間である。
しかも、検出空燃比変化率ΔAFの絶対値|ΔAF|は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値であるときの検出空燃比abyfsが図5(B)の実線C2のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第1の値よりも大きい第2の値」であるときの検出空燃比abyfsは図5(B)の一点鎖線C2aのように変化する。従って、検出空燃比変化率ΔAFの絶対値は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きくなる。
そこで、第1判定装置は、所定のパラメータ取得条件が成立している期間(パラメータ取得期間)において、一つの単位燃焼サイクル期間中にサンプリング時間tsが経過する毎に、検出空燃比変化率ΔAF(一階微分値d(abyfs)/dt)を基本指標量として取得する。第1判定装置は、一つの単位燃焼サイクル期間において取得された複数の検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値を求める。そして、第1判定装置は、複数の単位燃焼サイクル期間のそれぞれに対して求めた「検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値」の平均値を求め、その値を空燃比変動指標量AFDとして採用するとともに、その空燃比変動指標量AFDをインバランス判定用パラメータXとして採用する。但し、インバランス判定用パラメータXはこれに限定されることはなく、後述する種々の方法により取得され得る。
一方、第1判定装置は、空燃比センサ素子温度をヒータ678の発熱量により制御している。第1判定装置は、パラメータ取得期間以外の期間(即ち、インバランス判定用パラメータXの基礎となるデータである検出空燃比変化率ΔAFを取得していない期間)において、空燃比センサ素子温度を第1温度t1(通常温度)に制御する。空燃比センサ素子温度が第1温度であるとき、空燃比センサ67は活性状態にあり、空燃比センサ67の出力値Vabyfsは排ガスの空燃比を示す。但し、空燃比センサ67の応答性は相対的に低いので、排ガスの空燃比の早い変動には十分に追従できない。
そこで、第1判定装置は、パラメータ取得期間(即ち、検出空燃比変化率ΔAFを取得する期間)において、空燃比センサ素子温度を「第1温度よりも高い第2温度t2(上昇温度)」に制御する。これにより、検出空燃比変化率ΔAFを取得する際の空燃比センサ67の応答性は、検出空燃比変化率ΔAFを取得していないときの空燃比センサ67の応答性よりも高くなる。
この結果、第1判定装置は、空燃比センサの応答性がより高くされた状態においてインバランス判定用パラメータXを取得することができる。よって、第1判定装置により取得されるインバランス判定用パラメータXは「空燃比気筒間インバランス状態の程度(気筒別空燃比差)」を精度よく表す。
第1判定装置は、インバランス判定用パラメータXを取得すると、そのインバランス判定用パラメータXとインバランス判定用閾値Xthとを比較する。第1判定装置は、インバランス判定用パラメータXがインバランス判定用閾値Xthよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。これに対し、第1判定装置は、インバランス判定用パラメータXがインバランス判定用閾値Xthよりも小さいとき、空燃比気筒間インバランス状態が発生していないと判定する。以上が、第1判定装置が採用した空燃比気筒間インバランス判定方法の概要である。
(実際の作動)
<燃料噴射量制御>
第1判定装置のCPU71は、図12に示した「指示燃料噴射量Fiの計算及び燃料噴射の指示を行うルーチン」を、任意の気筒のクランク角が吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、その気筒(以下、「燃料噴射気筒」とも称呼する。)に対して繰り返し実行するようになっている。従って、所定のタイミングになると、CPU71はステップ1200から処理を開始し、ステップ1210にてフューエルカット条件(以下、「FC条件」と表記する。)が成立しているか否かを判定する。
いま、FC条件が成立してないと仮定する。この場合、CPU71は、ステップ1210にて「No」と判定し、以下に述べるステップ1220乃至ステップ1250の処理を順に行う。その後、CPU71は、ステップ1295に進んで本ルーチンを一旦終了する。
ステップ1220:CPU71は、「エアフローメータ61により計測された吸入空気流量Ga、クランクポジションセンサ64の信号に基いて取得された機関回転速度NE、及び、ルックアップテーブルMapMc」に基いて「燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Mc(k)」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
ステップ1230:CPU71は、筒内吸入空気量Mc(k)を目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。目標空燃比abyfr(上流側目標空燃比abyfr)は、始動後及び高負荷時等の特殊な場合を除き、理論空燃比stoich(例えば、14.6)に設定されている。従って、基本燃料噴射量Fbaseは、理論空燃比stoichである目標空燃比abyfrを得るために必要な燃料噴射量のフィードフォワード量である。このステップ1230は、機関に供給される混合気の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード制御手段(空燃比制御手段)を構成している。
ステップ1240:CPU71は、基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正する。より具体的には、CPU71は、基本燃料噴射量Fbaseにメインフィードバック量DFiを加えることにより、指示燃料噴射量(最終燃料噴射量)Fiを算出する。メインフィードバック量DFiは、機関の空燃比を目標空燃比abyfrに一致させるための空燃比フィードバック量である。メインフィードバック量DFiの算出方法については後述する。
ステップ1250:CPU71は、「指示燃料噴射量Fiの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁39」から噴射させるための噴射指示信号を、その燃料噴射弁39に送出する。
この結果、機関の空燃比を目標空燃比abyfr(殆どの場合、理論空燃比)に一致させるために必要な量の燃料が燃料噴射気筒の燃料噴射弁39から噴射させられる。即ち、ステップ1220乃至ステップ1250は、「空燃比センサ67に到達する排ガスを排出している2以上の気筒(本例においては総ての気筒)の燃焼室25に供給される混合気の空燃比」が目標空燃比abyfrとなるように指示燃料噴射量Fiを制御する指示燃料噴射量制御手段を構成している。
一方、CPU71がステップ1210の処理を実行する時点において、FC条件が成立していると、CPU71はそのステップ1210にて「Yes」と判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。この場合、ステップ1250の処理による燃料噴射が実行されないので、フューエルカット制御(燃料供給停止制御)が実行される。
<メインフィードバック量の算出>
CPU71は図13にフローチャートにより示した「メインフィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1300から処理を開始し、ステップ1305に進んで「メインフィードバック制御条件(上流側空燃比フィードバック制御条件)」が成立しているか否かを判定する。
メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(A1)空燃比センサ67が活性化している。
(A2)機関の負荷KLが閾値KLth以下である。
(A3)フューエルカット制御中でない。
なお、負荷KLは、ここでは下記の(1)式により求められる負荷率である。この負荷KLに代え、アクセルペダル操作量Accpが用いられても良い。(1)式において、Mcは筒内吸入空気量であり、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、「4」は機関10の気筒数である。
KL=(Mc/(ρ・L/4))・100% …(1)
いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、CPU71はステップ1305にて「Yes」と判定して以下に述べるステップ1310乃至ステップ1340の処理を順に行い、ステップ1395に進んで本ルーチンを一旦終了する。
ステップ1310:CPU71は、下記(2)式に従ってフィードバック制御用出力値Vabyfcを取得する。(2)式において、Vabyfsは空燃比センサ67の出力値、Vafsfbは下流側空燃比センサ68の出力値Voxsに基づいて算出されるサブフィードバック量である。サブフィードバック量Vafsfbの算出方法は周知である。サブフィードバック量Vafsfbは、例えば、下流側空燃比センサ68の出力値Voxsが理論空燃比に相当する値Vstよりもリッチ側の空燃比を示す値であるとき減少させられ、下流側空燃比センサ68の出力値Voxsが理論空燃比に相当する値Vstよりもリーン側の空燃比を示す値であるとき増大させられる。第1判定装置は、サブフィードバック量Vafsfbを「0」に設定することにより、サブフィードバック制御を実行しなくてもよい。
Vabyfc=Vabyfs+Vafsfb …(2)
ステップ1315:CPU71は、下記(3)式に示したように、上記フィードバック制御用出力値Vabyfcを図4に示したテーブルMapabyfsに適用することにより、フィードバック制御用空燃比abyfscを得る。
abyfsc=Mapabyfs(Vabyfc) …(3)
ステップ1320:CPU71は、下記(4)式に従って、「現時点よりもNサイクル前の時点において燃焼室25に実際に供給された燃料の量」である「筒内燃料供給量Fc(k−N)」を求める。即ち、CPU71は、「現時点よりも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で除すのは、「燃焼室25内での混合気の燃焼により生成された排ガス」が空燃比センサ67に到達するまでに「Nサイクルに相当する時間」を要しているからである。
ステップ1325:CPU71は、下記(5)式に従って、「現時点よりもNサイクル前の時点において燃焼室25に供給されるべきであった燃料の量」である「目標筒内燃料供給量Fcr(k−N)」を求める。即ち、CPU71は、現時点からNサイクル前の筒内吸入空気量Mc(k−N)を目標空燃比abyfrで除すことにより、目標筒内燃料供給量Fcr(k−N)を求める。
Fcr=Mc(k−N)/abyfr …(5)
ステップ1330:CPU71は、下記(6)式に従って、筒内燃料供給量偏差DFcを取得する。即ち、CPU71は、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc=Fcr(k−N)−Fc(k−N) …(6)
ステップ1335:CPU71は、下記(7)式に従って、メインフィードバック量DFiを求める。この(7)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。更に、(7)式の「値SDFc」は「筒内燃料供給量偏差DFcの積分値」である。つまり、CPU71は、フィードバック制御用空燃比abyfscを目標空燃比abyfrに一致させるための比例積分制御により「メインフィードバック量DFi」を算出する。
DFi=Gp・DFc+Gi・SDFc …(7)
ステップ1340:CPU71は、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1330にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。
以上により、メインフィードバック量DFiが比例積分制御により求められ、このメインフィードバック量DFiが前述した図12のステップ1240の処理により指示燃料噴射量Fiに反映される。
一方、図13のステップ1305の判定時において、メインフィードバック制御条件が不成立であると、CPU71はそのステップ1305にて「No」と判定してステップ1345に進み、メインフィードバック量DFiの値を「0」に設定する。次いで、CPU71は、ステップ1350にて筒内燃料供給量偏差の積分値SDFcに「0」を格納する。その後、CPU71は、ステップ1395に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiは「0」に設定される。従って、基本燃料噴射量Fbaseのメインフィードバック量DFiによる補正は行わない。
<空燃比気筒間インバランス判定>
次に、「空燃比気筒間インバランス判定」を実行するための処理について説明する。CPU71は、4ms(所定の一定サンプリング時間ts)が経過する毎に、図14にフローチャートにより示した「空燃比気筒間インバランス判定ルーチン」を実行するようになっている。
従って、所定のタイミングになると、CPU71はステップ1400から処理を開始してステップ1405に進み、パラメータ取得許可フラグXkyokaの値が「1」であるか否かを判定する。
このパラメータ取得許可フラグXkyokaの値は、絶対クランク角CAが0°クランク角になった時点において後述するパラメータ取得条件(インバランス判定用パラメータ取得許可条件)が成立しているときに「1」に設定され、パラメータ取得条件が不成立になった時点において直ちに「0」に設定される。
パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C6)が成立したときに成立する。従って、パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C6)のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得条件を構成する条件は、以下の条件C1乃至条件C6に限定されることはない。
(条件C1)今回の機関10の始動後、空燃比気筒間インバランス判定の最終的な結果が得られていない。この条件C1は、インバランス判定実施要求条件とも称呼される。条件C1は、前回のインバランス判定からの「機関10の運転時間の積算値、又は、吸入空気流量Gaの積算値、が所定値以上である。」ことに置換されてもよい。
(条件C2)エアフローメータ61により取得される吸入空気流量Gaが、所定範囲内である。即ち、吸入空気流量Gaが、低側閾値空気流量GaLoth以上であり且つ高側閾値空気流量GaHith以下である。
(条件C3)機関回転速度NEが所定範囲内である。即ち、機関回転速度NEが、低側閾値回転速度NELoth以上であり且つ高側閾値回転速度NEHith以下である。
(条件C4)冷却水温THWが閾値冷却水温THWth以上である。
(条件C5)メインフィードバック制御条件が成立している。
(条件C6)フューエルカット制御中でない。
いま、パラメータ取得許可フラグXkyokaの値が「1」であると仮定する。この場合、CPU71はステップ1405にて「Yes」と判定し、ステップ1410に進んでセンサ素子温上昇要求フラグXtupreqの値を「1」に設定する。センサ素子温上昇要求フラグXtupreqの値は、イニシャルルーチンにおいて「0」に設定されている。イニシャルルーチンは、機関10が搭載された車両のイグニッション・キー・スイッチがオフからオンに変更されたときにCPU71により実行されるルーチンである。
センサ素子温上昇要求フラグXtupreqの値が「1」に設定されると、後述する図15に示した「空燃比センサヒータ制御ルーチン」の処理により、ヒータ通電量を示すヒータデューティDutyが増大させられ、空燃比検出部67a(特に、固体電解質層671、排ガス側電極層672及び大気側電極層673からなるセンサ素子部)の温度(空燃比センサ素子温度)が、「パラメータ非取得時素子温度である第1温度t1(通常温度)」から「パラメータ取得時素子温度である第2温度t2(上昇温度)」へと上昇させられる。その結果、空燃比センサ67の応答性が高くなる(図6を参照。)。
次に、CPU71はステップ1415に進み、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間(所定時間)Tdelaythが経過したか否かを判定する。このとき、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していなければ、CPU71はステップ1415にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。
一方、CPUがステップ1415の処理を実行する時点において、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していると、CPU71はそのステップ1415からステップ1420に進み、「その時点の空燃比センサ67の出力値Vabyfs」をAD変換することにより取得する。なお、ステップ1415は省略されてもよい。この場合、CPU71はステップ1410に続き、ステップ1420へと直接進む。
次に、CPU71はステップ1425に進み、ステップ1420にて取得した出力値Vabyfsを図4に示した空燃比変換テーブルMapabyfsに適用することにより、今回の検出空燃比abyfsを取得する。なお、CPU71は、ステップ1425の処理の前に、本ルーチンを前回実行したときに取得した検出空燃比abyfsを前回の検出空燃比abyfsoldとして記憶する。即ち、前回の検出空燃比abyfsoldは、現時点から4ms(サンプリング時間ts)前の時点における検出空燃比abyfsである。前回の検出空燃比abyfsoldの初期値は、上述したイニシャルルーチンにおいて理論空燃比相当値VstoichのAD変換値に相当する値に設定されている。
次に、CPU71はステップ1430に進んで、
(A)検出空燃比変化率ΔAFを取得し、
(B)検出空燃比変化率ΔAFの絶対値|ΔAF|の積算値SAFDを更新し、且つ、
(C)検出空燃比変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnを更新する。
以下、これらの更新方法について具体的に説明する。
(A)検出空燃比変化率ΔAFの取得。
検出空燃比変化率ΔAF(微分値d(abyfs)/dt)は、空燃比変動指標量AFD及びインバランス判定用パラメータXの元データとなるデータ(基本指標量)である。CPU71は、この検出空燃比変化率ΔAFを、今回の検出空燃比abyfsから前回の検出空燃比abyfsoldを減じることによって取得する。即ち、今回の検出空燃比abyfsをabyfs(n)、前回の検出空燃比abyfsoldをabyfs(n−1)と表記すると、CPU71はステップ1430にて「今回の検出空燃比変化率ΔAF(n)」を下記の(8)式に従って求める。
ΔAF(n)=abyfs(n)−abyfs(n−1) …(8)
(B)検出空燃比変化率ΔAFの絶対値|ΔAF|の積算値SAFDの更新。
CPU71は今回の積算値SAFD(n)を下記の(9)式に従って求める。即ち、CPU71は、ステップ1430に進んだ時点における前回の積算値SAFD(n−1)に上記算出した今回の検出空燃比変化率ΔAF(n)の絶対値|ΔAF(n)|を加えることにより、積算値SAFDを更新する。
SAFD(n)=SAFD(n−1)+|ΔAF(n)| …(9)
積算値SAFDに「今回の検出空燃比変化率の絶対値|ΔAF(n)|」を積算する理由は、図5の(B)及び(C)からも理解されるように、検出空燃比変化率ΔAF(n)は正の値にも負の値にもなるからである。なお、積算値SAFDも、イニシャルルーチンにおいて「0」に設定されるようになっている。
(C)検出空燃比変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnの更新。
CPU71は、下記の(10)式に従って、カウンタCnの値を「1」だけ増大する。Cn(n)は更新後のカウンタCnであり、Cn(n−1)は更新前のカウンタCnである。このカウンタCnの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1475にても「0」に設定される。従って、カウンタCnの値は、積算値SAFDに積算された検出空燃比変化率ΔAFの絶対値|ΔAF|のデータ数を示す。
Cn(n)=Cn(n−1)+1 …(10)
次に、CPU71はステップ1435に進み、基準気筒(本例では第1気筒)の圧縮上死点を基準としたクランク角CA(絶対クランク角CA)が720°クランク角になっているか否かを判定する。このとき、絶対クランク角CAが720°クランク角未満であると、CPU71はステップ1435にて「No」と判定してステップ1495に直接進み、本ルーチンを一旦終了する。
なお、ステップ1435は、検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値を求めるための最小単位の期間を定めるステップであり、ここでは「単位燃焼サイクル期間である720°クランク角」がその最小期間に相当する。勿論、この最小期間は720°クランク角よりも短くてもよいが、サンプリング時間tsの複数倍の長さ以上の期間であることが望ましい。即ち、最小単位の期間内に複数個の検出空燃比変化率ΔAFが取得されるように、その最小単位の期間が定められていることが望ましい。
一方、CPU71がステップ1435の処理を行う時点において、絶対クランク角CAが720°クランク角になっていると、CPU71はそのステップ1435にて「Yes」と判定し、ステップ1440に進む。
CPU71は、ステップ1440にて、
(D)検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出し、
(E)平均値AveΔAFの積算値Saveを更新し、且つ、
(F)積算回数カウンタCsを更新する。
以下、これらの更新方法について具体的に説明する。
(D)検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFの算出。
CPU71は、下記の(11)式に示したように、積算値SAFDをカウンタCnの値により除することにより、検出空燃比変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出する。この後、CPU71は積算値SAFDを「0」に設定する。
AveΔAF=SAFD/Cn …(11)
(E)平均値AveΔAFの積算値Saveの更新。
CPU71は今回の積算値Save(n)を下記の(12)式に従って求める。即ち、CPU71は、ステップ1440に進んだ時点における前回の積算値Save(n−1)に上記算出した今回の平均値AveΔAFを加えることにより、積算値Saveを更新する。この積算値Save(n)の値は上述したイニシャルルーチンにおいて「0」に設定される。
Save(n)=Save(n−1)+AveΔAF …(12)
(F)積算回数カウンタCsの更新。
CPU71は、下記の(13)式に従って、カウンタCsの値を「1」だけ増大する。Cs(n)は更新後のカウンタCsであり、Cs(n−1)は更新前のカウンタCsである。このカウンタCsの値は上述したイニシャルルーチンにおいて「0」に設定される。従って、カウンタCsの値は、積算値Saveに積算された平均値AveΔAFのデータ数を示す。
Cs(n)=Cs(n−1)+1 …(13)
次に、CPU71はステップ1445に進み、カウンタCsの値が閾値Csth以上であるか否かを判定する。このとき、カウンタCsの値が閾値Csth未満であると、CPU71はそのステップ1445にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。なお、閾値Csthは自然数であり、2以上であることが望ましい。
一方、CPU71がステップ1445の処理を行う時点において、カウンタCsの値が閾値Csth以上であると、CPU71はそのステップ1445にて「Yes」と判定し、以下に述べるステップ1450及びステップ1455の処理を順に行い、ステップ1460に進む。
ステップ1450:CPU71は、下記(14)式に従って積算値SaveをカウンタCsの値(=Csth)によって除することにより、空燃比変動指標量AFDを取得する。この空燃比変動指標量AFDは、検出空燃比変化率ΔAFの絶対値|ΔAF|の各単位燃焼サイクル期間における平均値を、複数(Csth分)の単位燃焼サイクル期間について平均した値である。
AFD=Save/Csth …(14)
ステップ1455:CPU71はステップ1450にて取得した空燃比変動指標量AFDをインバランス判定用パラメータXとして採用する。
その後、CPU71はステップ1460に進み、インバランス判定用パラメータXがインバランス判定用閾値Xthよりも大きいか否かを判定する。
このとき、インバランス判定用パラメータXがインバランス判定用閾値Xthよりも大きいと、CPU71はステップ1460にて「Yes」と判定してステップ1465に進み、インバランス発生フラグXINBの値を「1」に設定する。即ち、CPU71は空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、CPU71は図示しない警告ランプを点灯してもよい。なお、インバランス発生フラグXINBの値はバックアップRAM74に格納される。その後、CPU71はステップ1495に進んで本ルーチンを一旦終了する。
これに対し、CPU71がステップ1460の処理を行う時点において、インバランス判定用パラメータXがインバランス判定用閾値Xth以下であると、CPU71はステップ1460にて「No」と判定してステップ1470に進み、インバランス発生フラグXINBの値を「2」に設定する。即ち、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、CPU71はステップ1495に進んで本ルーチンを一旦終了する。なお、ステップ1470は省略されてもよい。
ところで、CPU71がステップ1405に進んだ際にパラメータ取得許可フラグXkyokaの値が「1」でなければ、CPU71はそのステップ1405にて「No」と判定してステップ1475に進む。そして、CPU71はステップ1475にて各値(例えば、ΔAF,SAFD,SABF,Cn等)を「0」に設定(クリア)する。次いで、CPU71はステップ1480に進み、センサ素子温上昇要求フラグXtupreqの値を「0」に設定する。これにより、ヒータデューティDutyが減少し、空燃比センサ素子温度が通常温度(パラメータ非取得時素子温度である第1温度t1)に戻される。その後、ステップ1495に直接進んで本ルーチンを一旦終了する。
<空燃比センサヒータ制御>
更に、CPU71は、空燃比センサ素子温度を制御するために、所定時間が経過する毎に図15にフローチャートにより示した「空燃比センサヒータ制御ルーチン」を実行するようになっている。
従って、所定のタイミングになると、CPU71は図15のステップ1500から処理を開始してステップ1510に進み、目標アドミタンスYtgtを通常値Ytujoに設定する。目標アドミタンスYtgtは、空燃比センサ素子温度の目標値に対応する値である。通常値Ytujoは、空燃比センサ67が活性状態にあり、排ガスの空燃比が安定している限り出力値Vabyfsがその空燃比に応じた値となる値に定められている。例えば、通常値Ytujoは、センサ素子温度が700℃程度であるときのアドミタンスYである。通常値Ytujoに対応する空燃比センサ素子温度は前述した「通常温度及び第1温度t1」である。
次に、CPU71はステップ1520に進み、センサ素子温上昇要求フラグXtupreqの値が「1」であるか否かを判定する。このとき、センサ素子温上昇要求フラグXtupreqの値が「1」に設定されていると、CPU71はステップ1520にて「Yes」と判定してステップ1530に進み、目標アドミタンスYtgtを「通常値Ytujoに正の所定値ΔYを加えた値」に設定する。即ち、CPU71は、目標アドミタンスYtgtを通常値Ytujoよりも増大する。その後、CPU71はステップ1540に進む。
この「通常値Ytujoに正の所定値ΔYを加えた値」は、上昇値とも称呼される。上昇値は、空燃比センサ67が活性状態にあり、且つ、空燃比センサ67の応答性が「排ガスの空燃比の変動に出力値Vabyfsが十分に追従できる程度」になる値に定められている。例えば、上昇値は、センサ素子温度が850℃程度であるときのアドミタンスYである。上昇値に対応するセンサ素子温度は前述した「上昇温度及び第2温度2」である。
一方、CPUがステップ1520の処理を実行する時点において、センサ素子温上昇要求フラグXtupreqの値が「1」でなければ(即ち、「0」であると)、CPU71はステップ1520にて「No」と判定してステップ1540に直接進む。
CPU71は、ステップ1540にて空燃比センサ67(固体電解質層671)の実際のアドミタンスYactが「目標アドミタンスYtgtに正の所定値αを加えた値」よりも大きいか否かを判定する。
このとき、ステップ1540の条件が成立していると、CPU71はステップ1540にて「Yes」と判定してステップ1550に進み、ヒータデューティDutyを所定量ΔDだけ減少する。次いで、CPU71はステップ1560に進み、ヒータデューティDutyに基いてヒータ678に通電する。この場合、ヒータデューティDutyが減少されているので、ヒータ678への通電量(電流量)が減少し、ヒータ678の発熱量が減少する。その結果、空燃比センサ素子温度が低下する。その後、CPU71はステップ1595に進んで、本ルーチンを一旦終了する。
これに対し、CPUがステップ1540の処理を実行する時点において、実際のアドミタンスYactが「目標アドミタンスYtgtに正の所定値αを加えた値」以下であると、CPU71はステップ1540にて「No」と判定してステップ1570に進む。CPU71はステップ1570にて、実際のアドミタンスYactが「目標アドミタンスYtgtから正の所定値αを減じた値」よりも小さいか否かを判定する。
このとき、ステップ1570の条件が成立していると、CPU71はステップ1570にて「Yes」と判定してステップ1580に進み、ヒータデューティDutyを所定量ΔDだけ増大する。次いで、CPU71はステップ1560に進み、ヒータデューティDutyに基いてヒータ678に通電する。この場合、ヒータデューティDutyが増大されているので、ヒータ678への通電量(電流量)が増大し、ヒータ678の発熱量が増大する。その結果、空燃比センサ素子温度が上昇する。その後、CPU71はステップ1595に進んで、本ルーチンを一旦終了する。
他方、CPUがステップ1570の処理を実行する時点において、実際のアドミタンスYactが「目標アドミタンスYtgtから正の所定値αを減じた値」よりも大きいと、CPU71はそのステップ1570にて「No」と判定し、ステップ1560に直接進む。この場合、ヒータデューティDutyは変化しないので、ヒータ678への通電量も変化しない。その結果、ヒータ678の発熱量は変化しないので、空燃比センサ素子温度も大きく変化しない。その後、CPU71はステップ1560に進んで、本ルーチンを一旦終了する。
このように、ヒータ制御により、実際のアドミタンスYactが「目標アドミタンスYtgtの近傍の範囲(Ytgt−αからYtgt+αまでの範囲)内に制御される。換言すると、空燃比センサ素子温度は、目標アドミタンスYtgtに応じた値に略一致させられる。従って、センサ素子温上昇要求フラグXtupreqの値が「0」であれば空燃比センサ素子温度は通常温度近傍に維持され、センサ素子温上昇要求フラグXtupreqの値が「1」であれば空燃比センサ素子温度は上昇温度近傍に維持される。
以上、説明したように、第1判定装置は、複数の気筒を有する多気筒内燃機関10に適用される。
更に、第1判定装置は、センサ素子部を有する空燃比センサ67と、複数の燃料噴射弁39と、ヒータ678の発熱量を制御するヒータ制御手段(図15のルーチン)と、を備える。
加えて、第1判定装置は、
所定のパラメータ取得条件が成立している期間(パラメータ取得許可フラグXkyokaの値が「1」であるパラメータ取得期間)において「空燃比センサ67が配設された部位を通過する排ガス」の空燃比の変動が大きくなるほど大きくなるインバランス判定用パラメータXを空燃比センサ67の出力値Vabyfsに基づいて取得し(図14のステップ1405における「Yes」との判定、及び、ステップ1420乃至ステップ1455)、その取得されたインバランス判定用パラメータXが所定のインバランス判定用閾値Xthよりも大きいとき空燃比気筒間インバランス状態が発生したと判定し(図14のステップ1460及びステップ1465)、且つ、その取得されたインバランス判定用パラメータXがインバランス判定用閾値Xthよりも小さいとき空燃比気筒間インバランス状態が発生していないと判定する(図14のステップ1460及びステップ1470)、インバランス判定手段を備える。
しかも、そのインバランス判定手段は、
「前記パラメータ取得期間における前記センサ素子部の温度を前記パラメータ取得期間以外の期間における前記センサ素子部の温度よりも高くする(センサ素子部の温度を上昇温度である第2温度に制御する)センサ素子部温度上昇制御」を、ヒータ制御手段に実行させるように構成されている(図14のステップ1405での「Yes」との判定、ステップ1410、図15のステップ1520での「Yes」との判定及びステップ1530)。
従って、第1判定装置は、インバランス判定用パラメータXを「空燃比センサ67の応答性が良好な状態」にて取得することができる。これにより、取得されるインバランス判定用パラメータXが、空燃比気筒間インバランスの状態(気筒別空燃比差)を精度良く表する値となる。その結果、第1判定装置は、空燃比気筒間インバランス判定を精度良く行うことができる。
更に、第1判定装置は、インバランス判定用パラメータXを取得していない期間(パラメータ取得許可フラグXkyokaの値が「0」であるとき)において、空燃比センサ素子温度を「活性温度以上ではあるが相対的に低い温度(通常温度、第1温度)」に維持する(図14のステップ1405での「No」との判定、ステップ1480、及び、図15のステップ1520での「No」との判定)。従って、空燃比センサ素子温度を相対的に高い温度(上昇温度、第2温度)に常に維持しておく場合に比較して、空燃比センサ67の劣化が早期化することを回避することができる。
<第2実施形態>
次に、本発明の第2実施形態に係る判定装置(以下、単に「第2判定装置」と称呼する。)について説明する。
第2判定装置は、先ず、空燃比センサ素子温度を通常温度(第1温度t1)に維持した状態にて空燃比変動指標量AFDを暫定パラメータXとして取得し、その暫定パラメータXと所定の高側閾値XHithとを比較し、暫定パラメータXがインバランス判定用閾値XHithよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。
この高側閾値XHithは、空燃比センサ素子温度が通常温度であって空燃比センサ67の応答性が比較的低い状態において得られた暫定パラメータXが高側閾値XHithよりも大きいとき、「空燃比気筒間インバランス状態が発生した」と明らかに判定することができる比較的大きな値に設定されている。
一方、暫定パラメータXが高側閾値XHithよりも小さいとき、第2判定装置は暫定パラメータXと低側閾値XLothとを比較する。低側閾値XLothは、高側閾値XHithよりも所定値だけ小さい。低側閾値XLothは、暫定パラメータXが低側閾値XLothよりも小さい場合、「空燃比気筒間インバランス状態が発生していない」と明らかに判定することができる比較的小さい値に設定されている。そして、第2判定装置は、暫定パラメータXが低側閾値XLothよりも小さいとき、空燃比気筒間インバランス状態が発生していないと判定する。
このように暫定パラメータXによって空燃比気筒間インバランス状態が発生しているか否かが判定されたとき、第2判定装置は、少なくとも機関10の今回の運転が停止されるまでセンサ素子部温度上昇制御を実行しない。
他方、第2判定装置は、暫定パラメータXが「高側閾値XHithよりも小さく、且つ、低側閾値XLothよりも大きい」とき、空燃比気筒間インバランス状態が発生したか否かについての判定を保留し、センサ素子部温度上昇制御を実行する。
そして、第2判定装置は、空燃比センサ素子温度を上昇温度(第2温度t2)に上昇させた状態にて、上述した手法に基いて空燃比変動指標量AFDを再度取得する。このとき取得される空燃比変動指標量AFDは、インバランス判定用パラメータXであり、便宜上、最終パラメータXとも称呼される。
最終パラメータXが取得されると、第2判定装置は、その最終パラメータXとインバランス判定用閾値Xth(第2判定装置において、インバランス判定用閾値Xthは高側閾値XHithと等しい。)と、を比較し、最終パラメータXがインバランス判定用閾値Xthよりも大きいとき、空燃比気筒間インバランス状態が発生したと判定する。これに対し、最終パラメータXがインバランス判定用閾値Xthよりも小さいとき、第2判定装置は空燃比気筒間インバランス状態が発生していないと判定する。以上が、第2判定装置が採用した空燃比気筒間インバランス判定の原理である。
なお、インバランス判定用閾値Xthは、高側閾値XHithと低側閾値XLothとの間の適値に設定されればよい。換言すると、高側閾値XHithはインバランス判定用閾値Xth以上であり、低側閾値XLothはインバランス判定用閾値Xthよりも小さい。
(実際の作動)
第2判定装置のCPU71は、図12、図13及び図15に示したルーチンを第1判定装置のCPU71と同様に実行する。更に、第2判定装置のCPU71は、図14に代わる「図16乃至図18」にフローチャートにより示したルーチンを所定時間(サンプリング時間ts)が経過する毎に実行するようになっている。図12、図13及び図15に示したルーチンについては説明済みである。従って、以下、図16乃至図18に示したルーチンについて説明する。なお、図16乃至図18において図14に示したステップと同一の処理を行うためのステップには、図14のそのようなステップに付された符号と同一の符合が付されている。
いま、機関10の今回の始動後から未だインバランス判定がなされていない状態にてパラメータ取得許可条件が成立することにより、パラメータ取得許可フラグXkyokaの値が「1」に設定されたと仮定する。この場合、CPU71は図16のステップ1405にて「Yes」と判定してステップ1610に進み、インバランス判定保留フラグXhoryuの値が「0」であるか否かを判定する。
インバランス判定保留フラグXhoryuの値は上述したイニシャルルーチンにおいて「0」に設定される。更に、「インバランス判定保留フラグXhoryuの値は、空燃比センサ素子温度を上昇させることのない状態(空燃比センサ素子温度が通常温度に制御されている状態)において取得された暫定パラメータX」に基いたインバランス判定が行われた後(且つインバランス判定が保留された場合)に「1」に設定されるようになっている(後述する図17のステップ1780を参照。)。
従って、現時点においてインバランス判定保留フラグXhoryuの値は「0」である。このため、CPU71はステップ1610にて「Yes」と判定してステップ1620に進み、センサ素子温上昇要求フラグXtupreqの値を「0」に設定する。この結果、空燃比センサ素子温度は通常温度(実際のアドミタンスYactが「通常時における目標アドミタンスYtgt=Ytujo」であるときの空燃比センサ素子温度)に維持される。
なお、前述したようにセンサ素子温上昇要求フラグXtupreqの値はイニシャルルーチンにおいて「0」に設定されるようになっている。従って、現段階におけるステップ1620の処理はセンサ素子温上昇要求フラグXtupreqの値を実質的に変更しない。
その後、CPU71はステップ1420乃至ステップ1455の処理によりインバランス判定用パラメータXを「暫定パラメータX」として取得する。つまり、空燃比センサ素子温度を上昇させることのない状態(空燃比センサ素子温度が通常温度に制御されている状態)において空燃比変動指標量AFDが取得され、その空燃比変動指標量AFDがインバランス判定用パラメータX(暫定パラメータX)として採用される。
ステップ1455にて暫定パラメータXが取得されると、CPU71はステップ1640に進み、パラメータ取得完了フラグXobtainの値を「1」に設定する。このパラメータ取得完了フラグXobtainも上述したイニシャルルーチンにおいて「0」に設定されるようになっている。その後、CPU71はステップ1695に進み、本ルーチンを一旦終了する。
一方、CPU71は所定のタイミングにて、図17に示したルーチンの処理をステップ1700から開始し、ステップ1710にて「現時点が、パラメータ取得完了フラグXobtainの値が「0」から「1」へと変化した直後の時点であるか否か」を判定する。CPU71は、ステップ1710における判定条件が成立しないとき、ステップ1710にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
同様に、CPU71は所定のタイミングにて、図18に示したルーチンの処理をステップ1800から開始し、ステップ1810にて「現時点が、パラメータ取得完了フラグXobtainの値が「0」から「1」へと変化した直後の時点であるか否か」を判定する。CPU71は、ステップ1810における判定条件が成立しないとき、ステップ1810にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。
従って、暫定パラメータXが図16のステップ1455にて取得され、次いでステップ1640の処理によりパラメータ取得完了フラグXobtainの値が「1」に変更されると、CPU71は図17のステップ1710に進んだとき、そのステップ1710にて「Yes」と判定してステップ1720に進み、インバランス判定保留フラグXhoryu(又はセンサ素子温上昇要求フラグXtupreq)の値が「0」であるか否かを判定する。
現時点において、インバランス判定保留フラグXhoryuの値は「0」である。従って、CPU71はステップ1720にて「Yes」と判定してステップ1730に進み、暫定パラメータXの値が「所定の高側閾値XHith」よりも大きいか否かを判定する。
このとき、暫定パラメータXが高側閾値XHithよりも大きいと、CPU71はステップ1730にて「Yes」と判定してステップ1740に進み、インバランス発生フラグXINBの値を「1」に設定する。即ち、CPU71は空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、CPU71は図示しない警告ランプを点灯してもよい。その後、CPU71はステップ1795に進んで本ルーチンを一旦終了する。
これに対し、CPU71がステップ1730の処理を行う時点において、暫定パラメータXが高側閾値XHith以下であると、CPU71はステップ1730にて「No」と判定してステップ1750に進み、暫定パラメータXが「所定の低側閾値XLoth」よりも小さいか否かを判定する。低側閾値XLothは高側閾値XHithよりも小さい値である。
このとき、暫定パラメータXが低側閾値XLothよりも小さいと、CPU71はステップ1750にて「Yes」と判定してステップ1760に進み、インバランス発生フラグXINBの値を「2」に設定する。即ち、CPU71は、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、CPU71はステップ1795に進んで本ルーチンを一旦終了する。
一方、CPUがステップ1750の処理を実行する時点において、暫定パラメータXが低側閾値XLoth以上であると、CPU71はインバランス判定を保留する。即ち、CPU71は、空燃比気筒間インバランス状態が発生したか否かについての判定の結論を出すことを保留する。そして、CPU71は、空燃比センサ素子温度を上昇させるとともに、インバランス判定用パラメータX(空燃比変動指標量AFD)の取得及びインバランス判定を再び行う。
より具体的に述べると、暫定パラメータXが低側閾値XLoth以上であると、CPU71はステップ1750にて「No」と判定してステップ1770に進み、パラメータ取得完了フラグXobtainの値を「0」に設定する。次に、CPU71はステップ1780に進み、インバランス判定保留フラグXhoryuの値を「1」に設定する。そして、CPU71はステップ1790に進み、インバランス判定用パラメータXを取得する際に使用する各値(例えば、ΔAF、SAFD、Cn、AveΔAF、Save、Cs等)を「0」に設定(クリア)し、その後、ステップ1795に直接進んで本ルーチンを一旦終了する。
以降、CPU71が再び図16のルーチンの処理を開始し、ステップ1610に進むと、この時点においてはインバランス判定保留フラグXhoryuの値が「1」に設定されているから、CPU71はそのステップ1610にて「No」と判定してステップ1630に進み、センサ素子温上昇要求フラグXtupreqの値を「1」に設定する。
このようにステップ1630にてセンサ素子温上昇要求フラグXtupreqの値が「1」に設定されると、図15のステップ1530にて目標アドミタンスYtgtが上昇値(通常値Ytujoに正の所定値ΔYを加えた値)に設定される。これにより、空燃比センサ67の応答性が十分に高くなり、精度の良いインバランス判定用パラメータXを得ることが可能になる。
更に、CPU71は図16のステップ1415乃至ステップ1445の処理を実行する。従って、CPU71は、カウンタCsが閾値Csth以上となったとき、ステップ1445からステップ1450に進んでインバランス判定用パラメータXを再び取得する。
このインバランス判定用パラメータXは、空燃比センサ素子温度を上昇させた状態において取得されたパラメータであり、便宜上「最終パラメータX」とも称呼される。
次いで、CPU71はステップ1640にてパラメータ取得完了フラグXobtainの値を「1」に設定し、ステップ1695に進んで本ルーチンを一旦終了する。
この結果、パラメータ取得完了フラグXobtainの値は「0」から「1」へと変更される。従って、CPU71が図17のステップ1710に進むと、CPU71はそのステップ1710にて「Yes」と判定してステップ1720に進む。このとき、インバランス判定保留フラグXhoryuの値は「1」である。従って、CPU71はステップ1720にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
一方、この段階において、CPU71が図18のステップ1810に進むと、CPU71はそのステップ1810にて「Yes」と判定してステップ1820に進む。CPU71は、そのステップ1820にてインバランス判定保留フラグXhoryuの値が「1」であるか否かを判定する。このとき、インバランス判定保留フラグXhoryuの値は「1」である。従って、CPU71はステップ1820にて「Yes」と判定し、ステップ1830に進んで最終パラメータXがインバランス判定用閾値Xth(本例においては、高側閾値XHithと等しい。)よりも大きいか否かを判定する。
この場合、最終パラメータXがインバランス判定用閾値Xthよりも大きいと、CPU71はステップ1830にて「Yes」と判定してステップ1840に進み、インバランス発生フラグXINBの値を「1」に設定する。即ち、CPU71は空燃比気筒間インバランス状態が発生していると判定する。その後、CPU71はステップ1860へと進む。
これに対し、CPU71がステップ1830の処理を行う時点において、最終パラメータXがインバランス判定用閾値Xth以下であると、CPU71はステップ1830にて「No」と判定してステップ1850に進み、インバランス発生フラグXINBの値を「2」に設定する。即ち、CPU71は、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、CPU71はステップ1860へと進む。
CPU71はステップ1860にてセンサ素子温上昇要求フラグXtupreqの値を「0」に設定し、ステップ1895に進んで本ルーチンを終了する。この結果、空燃比センサ素子温度は通常温度へと戻される。
なお、CPU71が図18のステップ1820に進んだとき、インバランス判定保留フラグXhoryuの値が「0」であれば、CPU71はそのステップ1820にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。
以上、説明したように、第2判定装置のインバランス判定手段は、
パラメータ取得期間(パラメータ取得許可フラグXkyoka=1)において「センサ素子部温度上昇制御」をヒータ制御手段に実行させる前に、空燃比センサ67の出力値Vabyfsに基いてインバランス判定用パラメータXを暫定パラメータXとして取得し(図16のステップ1610、ステップ1620、ステップ1420乃至ステップ1455)、
その取得された暫定パラメータXが「高側閾値XHith」よりも大きいとき空燃比気筒間インバランス状態が発生したと判定し(図17のステップ1730及びステップ1740)、
その取得された暫定パラメータXが「高側閾値XHithよりも所定値だけ小さい低側閾値XLoth」よりも小さいとき空燃比気筒間インバランス状態は発生していないと判定する(図17のステップ1750及びステップ1760)。
更に、そのインバランス判定手段は、
前記取得された暫定パラメータXが「高側閾値XHithよりも小さく且つ低側閾値XLothよりも大きいとき空燃比気筒間インバランス状態が発生したか否かについての判定を保留し(図17のステップ1730及びステップ1750の両ステップにおける「No」との判定を参照。)、
前記空燃比気筒間インバランス状態が発生したか否かについての判定が保留された状態にある場合(インバランス判定保留フラグXhoryu=1)に、パラメータ取得期間(パラメータ取得許可フラグXkyoka=1)においてセンサ素子部温度上昇制御を前記ヒータ制御手段に実行させるとともに(図17のステップ1780、図16のステップ1610、ステップ1630、図15のステップ1520及びステップ1530)、空燃比センサ67の出力値Vabyfsに基いてインバランス判定用パラメータXを最終パラメータXとして取得し(図16のステップ1420乃至ステップ1455)、
前記取得された最終パラメータXがインバランス判定用閾値Xthよりも大きいとき空燃比気筒間インバランス状態が発生したと判定し(図18のステップ1830及びステップ1840)、且つ、取得された最終パラメータXがインバランス判定用閾値Xthよりも小さいとき空燃比気筒間インバランス状態が発生していないと判定する(図18のステップ1830及びステップ1850)。
従って、第2判定装置によれば、空燃比センサの応答性が比較的低い場合において得られたインバランス判定用パラメータ(暫定パラメータ)に基いて「空燃比気筒間インバランス状態が発生したか否か」について明確な判定を行うことができる場合、センサ素子部温度上昇制御が実行されない。その結果、空燃比センサ素子温度がインバランス判定のために比較的高い温度(上昇温度)に上昇させられる頻度が低減するので、空燃比センサ67の劣化の進行が早まることを回避することができる。
更に、第2判定装置によれば、暫定パラメータによるインバランス判定が保留された場合には、空燃比センサ素子温度が上昇温度へと上昇せしめられるから、空燃比センサ67の応答性が高い状態にてインバランス判定用パラメータ(最終パラメータ)を取得することができる。従って、暫定パラメータによっては空燃比気筒間インバランス状態が発生したか否かについて明確に判定することができない場合であっても、最終パラメータを用いることによってインバランス判定を精度良く行うことができる。
<第3実施形態>
次に、本発明の第3実施形態に係る判定装置(以下、単に「第3判定装置」と称呼する。)について説明する。
第3判定装置は、空燃比センサ素子温度を上昇させるためにヒータ678への通電量を増大した時点(即ち、センサ素子部温度上昇制御をヒータ制御手段に開始させた時点)から、空燃比変動指標量AFD(インバランス判定用パラメータ)の元データである基本指標量(検出空燃比変化率ΔAF)の取得を開始するまでの遅延時間Tdelaythを、吸入空気流量Gaが大きいほど短くする点のみにおいて第1判定装置と相違している。
(実際の作動)
第3判定装置のCPU71は、図14のステップ1415に進んだとき、遅延時間Tdelaythを吸入空気流量Gaに基いて決定する。より具体的に述べると、CPU71は、ステップ1415にて、その時点の吸入空気流量Gaを図19に示した遅延時間テーブルMapTdelayth(Ga)に適用することにより、遅延時間Tdelaythを決定する。
この遅延時間テーブルMapTdelayth(Ga)によれば、吸入空気流量Gaが大きいほど遅延時間Tdelaythが短くなるように、遅延時間Tdelaythが決定される。これは、吸入空気流量Gaが大きいほど排ガスの温度が高いので、空燃比センサ素子温度が速やかに上昇するからである。
このように第3判定装置は、遅延時間Tdelaythを吸入空気流量Gaに基いて変更するので、遅延時間を出来るだけ短く設定することができる。その結果、空燃比変動指標量AFD(インバランス判定用パラメータ)を取得する機会を増加させることができる。
なお、第3判定装置のように「遅延時間Tdelaythを吸入空気流量Gaに基いて変更する」点は、第1実施形態のみならず「第2実施形態及び後述する他の実施形態」にも適用することができる。更に、遅延時間Tdelaythは、吸入空気流量Gaに代わる「機関の負荷KL及び排ガス温度(推定値又は実測値)等」に基いて決定されてもよい。即ち、機関10の排ガスの温度に関係する運転パラメータに基いて遅延時間Tdelaythが決定されればよい。例えば、排ガス温度センサを配設した判定装置においては、その排ガス温度センサにより検出される排ガスの温度が高いほど、遅延時間Tdelaythは短く設定される。或いは、機関10の負荷(KL)が大きいほど、遅延時間Tdelaythは短く設定される。
<第4実施形態>
次に、本発明の第4実施形態に係る判定装置(以下、単に「第4判定装置」と称呼する。)について説明する。
第4判定装置は、センサ素子部温度上昇制御を、パラメータ取得条件が成立していなくても、「機関10の始動後において機関10の暖機が終了した時点(完全暖機時)」にて直ちに開始する点のみにおいて、第1判定装置と相違している。
(実際の作動)
第4判定装置のCPU71は、図12及び図13に示したルーチンを第1判定装置のCPU71と同様に実行する。更に、第4判定装置のCPU71は、図20乃至図22にフローチャートにより示したルーチンを所定時間(サンプリング時間ts)が経過する毎にそれぞれ実行するようになっている。図12及び図13に示したルーチンについては説明済みである。従って、以下、図20乃至図22に示したルーチンについて説明する。なお、図20乃至図22において「既説したステップと同一の処理を行うためのステップ」には、そのような既設したステップに付された符号と同一の符合が付されている。
いま、現時点が「機関10が始動された直後である」と仮定する。通常、この始動直後の時点において機関10の暖機は完了していない(完全暖機状態となっていない)。
CPU71は所定のタイミングになると、図20のステップ2000から処理を開始してステップ2010に進み、今回の機関始動後において「機関10の状態が完全暖機状態に到達したか否か」を判定する。例えば、CPU71は、機関10の状態が完全暖機状態にあるか否かを、冷却水温THWが「完全暖機時の冷却水温である閾値冷却水温THWth」以上であるか否かを判定することにより、判定する。更に、CPU71は、機関10の状態が完全暖機状態にあるか否かを、例えば、機関10の始動時における冷却水温THWが高いほど小さくなる閾値空気流量積算値SGathを求めるとともに機関10の始動後の吸入空気流量Gaの積算値SGaを求め、その積算値SGaが閾値空気流量積算値SGathを超えたか否かを判定することにより、判定してもよい。
前述した仮定に従うと、現時点は始動直後であるので、機関10の状態は完全暖機状態に到達していない。従って、CPU71はステップ2010にて「No」と判定してステップ2020に進み、センサ素子温上昇要求フラグXtupreqの値を「0」に設定する。その後、CPU71はステップ2095に進み、本ルーチンを一旦終了する。
更に、CPU71は所定のタイミングにて図21のステップ2100から処理を開始する。この図21の「空燃比センサヒータ制御ルーチン」は第1判定装置のCPU71が実行する図15の「空燃比センサヒータ制御ルーチン」と同一である。
加えて、現時点において、センサ素子温上昇要求フラグXtupreqの値は「0」に設定されている。従って、CPU71はステップ1510及びステップ1520の処理を行った後、ステップ1530の処理を行うことなくステップ1540以降へと進む。この結果、空燃比センサ素子温度が通常温度となるように(実際のアドミタンスYactが通常値Ytujoとなるように)、ヒータ678への通電が行われる。
更に、CPU71は所定のタイミングにて図22のステップ2200から処理を開始する。この図22の「空燃比気筒間インバランス判定ルーチン」は第1判定装置のCPU71が実行する図14の「空燃比気筒間インバランス判定ルーチン」から「ステップ1410及びステップ1480」を削除した点を除き、図14のルーチンと同一である。
従って、CPU71が図22のステップ1405の処理を実行する時点においてパラメータ取得許可フラグXkyokaの値が「1」になっていなければ(パラメータ取得条件が成立していなければ)、CPU71はそのステップ1405にて「No」と判定してステップ1475に進み、各値をクリアする。その後、CPU71は、ステップ2295に進んで本ルーチンを一旦終了する。
これに対し、CPU71がステップ1405の処理を実行する時点においてパラメータ取得許可フラグXkyokaの値が「1」になっていると(パラメータ取得条件が成立していると)、CPU71はそのステップ1405にて「Yes」と判定してステップ1415に進む。そして、CPU71はステップ1415において、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過したか否かを判定する。
現時点において、センサ素子温上昇要求フラグXtupreqの値は「0」に設定されている(前述した図20のステップ2020を参照。)。従って、CPU71は図22のステップ1415にて「No」と判定し、ステップ2295に直接進んで本ルーチンを一旦終了する。
その後、所定の時間が経過すると機関10の状態は完全暖機状態に到達する。このとき、CPU71が図20のステップ2010の処理を行うと、CPU71はそのステップ2010にて「Yes」と判定してステップ2030に進み、「今回の機関10の始動後においてインバランス判定用パラメータXの取得が完了していない(インバランス判定用パラメータXが未取得である)」か否かを判定する。
現時点は、機関10の始動後において機関10の状態が完全暖機状態となった直後である。従って、インバランス判定用パラメータXは取得されていないので、CPU71はステップ2030にて「Yes」と判定してステップ2040に進み、センサ素子温上昇要求フラグXtupreqの値を「1」に設定する。その後、CPU71はステップ2095に進み、本ルーチンを一旦終了する。
この状態において、CPU71が図21に示したルーチンの処理をステップ2100から開始すると、センサ素子温上昇要求フラグXtupreqの値は「1」に設定されているから、CPU71はステップ2100、ステップ1510及びステップ1520に続いてステップ1530に進み、目標アドミタンスYtgtを「通常値Ytujoに正の所定値ΔYを加えた値(上昇値)」に設定する。その後、CPU71はステップ1540以降へと進む。この結果、空燃比センサ素子温度が上昇温度になるように(実際のアドミタンスYactが、通常値Ytujoに正の所定値ΔYを加えた値となるように)、ヒータ678への通電が行われる。
このような状態において、パラメータ取得条件が成立することによってパラメータ取得許可フラグXkyokaの値が「1」に設定されると、CPU71は図22のステップ1405に進んだとき、そのステップ1405にて「Yes」と判定してステップ1415に進む。
このとき、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していなければ、CPU71はステップ1415にて「No」と判定し、ステップ2295に直接進んで本ルーチンを一旦終了する。
これに対し、CPUがステップ1415の処理を実行する時点において、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していると、CPU71はそのステップ1415からステップ1420以降へと進む。
この結果、空燃比センサ素子温度が上昇温度になっている状態において、空燃比変動指標量AFD及びインバランス判定用パラメータXが取得される。そして、図22のステップ1460以降の処理により、そのインバランス判定用パラメータXとインバランス判定用閾値Xthとの比較に基くインバランス判定が実行される。
更に、図22のステップ1450及びステップ1455の処理が実行されることによって、インバランス判定用パラメータXの取得が完了した時点移行において、CPU71が図20のステップ2030の処理を実行すると、CPU71はそのステップ2030にて「No」と判定し、ステップ2020に進むようになる。即ち、インバランス判定用パラメータXが取得されてインバランス判定が完了すると、センサ素子温上昇要求フラグXtupreqは直ちに「0」へと戻される。この結果、インバランス判定用パラメータXの取得が完了すると、空燃比センサ素子温度は通常温度へと直ちに低下させられる。
以上、説明したように、第4判定装置は、
機関10の始動後において機関10の暖機が終了した時点にて「センサ素子部温度上昇制御をヒータ制御手段に開始させる」とともに(図20のステップ2010、ステップ2030及びステップ2040)、インバランス判定用パラメータXの取得が完了した時点にて「センサ素子部温度上昇制御を終了させる」ように構成されたインバランス判定手段を備える(図20のステップ2030及びステップ2020)。
センサ素子部温度上昇制御の実行開始後から空燃比センサ素子温度が実際に上昇温度に上昇するまでにはある程度の時間を要する。従って、パラメータ取得条件が成立した後にセンサ素子部温度上昇制御の実行を開始すると、空燃比センサ素子温が十分に高くなるまで、インバランス判定用パラメータXの元データとなる基本指標量(検出空燃比変化率ΔAF)の取得を開始できない。或いは、パラメータ取得条件が成立した後にセンサ素子部温度上昇制御の実行を開始すると同時に基本指標量(検出空燃比変化率ΔAF)の取得を開始すると、空燃比センサ67の応答性が十分高くないことに起因してその基本指標量(従って、空燃比変動指標量AFD及びインバランス判定用パラメータX)が気筒別空燃比差を十分に精度良く表す値にならない。
しかも、例えば、第1判定装置によれば、センサ素子部温度上昇制御の実行の開始後から空燃比センサ素子温が十分に高くなるまでの期間に、パラメータ取得条件が不成立になると、センサ素子部温度上昇制御が停止されることになる。この結果、インバランス判定用パラメータを取得する機会が低下してしまう虞がある。
一方、機関10の始動後において機関の暖機が完了していない場合、排ガス中の水分が機関10を構成する部材や空燃比センサ67の外側保護カバー67b等により冷却されて水滴となり易い。このような水滴が空燃比センサ67に付着している(以下、「空燃比センサが被水する」とも表現する。)状態において、センサ素子部温度上昇制御により「センサ素子部を含む空燃比検出部」の温度を上昇させると、空燃比センサ67の空燃比検出部に大きな温度むらが生じ、空燃比検出部が割れてしまう(破損する)虞がある。従って、機関10の始動直後からセンサ素子部温度上昇制御を実行することは得策でない。
これに対し、第4判定装置のインバランス判定手段は、機関10の暖機が終了した時点にてセンサ素子部温度上昇制御を開始する。従って、空燃比センサが被水し難い状態において空燃比センサ素子温度が上昇させられる。よって、第4判定装置は、「空燃比センサ67が被水することによって破損すること」を回避しながら、パラメータ取得条件が成立した時点において空燃比センサ素子温度が十分に高くなっている頻度を高められる。その結果、第4判定装置は、精度の良いインバランス判定用パラメータXを取得する機会及びそのようなインバランス判定用パラメータXを用いたインバランス判定を実行する機会、を増大することができる。
<第5実施形態>
次に、本発明の第5実施形態に係る判定装置(以下、単に「第5判定装置」と称呼する。)について説明する。
図23は、空燃比センサ素子温度と固体電解質層671のアドミタンスYとの関係を示したグラフである。図23において、実線Y1は空燃比センサ67が経時変化していない場合(例えば、空燃比センサ67が新品である場合)のアドミタンスYを示し、破線Y2は空燃比センサ67が経時変化した場合(例えば、空燃比センサ67が比較的長い時間に渡り使用された場合)のアドミタンスYを示す。
図23から理解されるように、アドミタンスYが「ある特定の値」であるとき、「経時変化後の空燃比センサ67の素子温度」は「経時変化前の空燃比センサ67の素子温度」よりも高くなる。一方、電気制御装置70は、空燃比センサ67の実際のアドミタンスYactが目標アドミタンスYtgtに一致するように、ヒータ678の通電量を制御している。
以上のことから、経時変化後の空燃比センサ67の素子温度は、目標アドミタンスYtgtを通常値Ytujoに維持している場合であっても十分に高いことが理解される。即ち、図23に示した例においては、経時変化前の空燃比センサ67の実際のアドミタンスYactが通常値Ytujoに一致させられている場合、空燃比センサ素子温度は約800℃であり、経時変化前の空燃比センサ67の実際のアドミタンスYactが上昇値(Ytujo+ΔY)に一致させられている場合、空燃比センサ素子温度は約870℃である。これに対し、経時変化後の空燃比センサ67については、その実際のアドミタンスYactが通常値Ytujoに一致させられている場合であっても、空燃比センサ素子温度は約870℃である。
換言すると、目標アドミタンスYtgtを通常値Ytujoに設定している場合の経時変化後の空燃比センサ67の素子温度は、目標アドミタンスYtgtを上昇値(Ytujo+ΔY)に設定している場合の経時変化前の空燃比センサ67の素子温度と略等しい。従って、経時変化後の空燃比センサ67の応答性は、目標アドミタンスYtgtを通常値Ytujoに設定していても十分に高いと言うことができる。
そこで、第5判定装置は、空燃比センサ67が経時変化していないとき、第1判定装置と同様、空燃比変動指標量AFD及びインバランス判定用パラメータXを取得する際にセンサ素子部温度上昇制御を実行する。一方、第5判定装置は、空燃比センサ67が経時変化したとき、空燃比変動指標量AFD及びインバランス判定用パラメータXを取得する際にセンサ素子部温度上昇制御を実行しない。
(実際の作動)
第5判定装置のCPU71は、図12、図13及び図15に示したルーチンを第1判定装置のCPU71と同様に実行する。更に、第5判定装置のCPU71は、図24及び図25にフローチャートにより示したルーチンを所定時間(サンプリング時間ts)が経過する毎にそれぞれ実行するようになっている。図12、図13及び図15に示したルーチンについては説明済みである。従って、以下、図24及び図25に示したルーチンを参照しながらCPU71の作動について説明する。なお、図24及び図25において「既説したステップと同一の処理を行うためのステップ」には、そのような既設したステップに付された符号と同一の符合が付されている。
CPU71が所定のタイミングにて図24のステップ2400から処理を開始してステップ1405に進んだとき、パラメータ取得許可フラグXkyokaの値が「0」であると、CPU71はそのステップ1405にて「No」と判定し、ステップ1475及びステップ1480の処理を実行し、ステップ2495に直接進んで本ルーチンを一旦終了する。
これに対し、CPU71がステップ1405の処理を実行する時点において、パラメータ取得許可フラグXkyokaの値が「1」に設定されていると、CPU71はそのステップ1405にて「Yes」と判定する。
そして、CPU71はステップ2410にて、例えば、以下の何れかの方法により、空燃比センサ67が経時変化しているか否か(新品の場合に比べて劣化しているか否か)を判定する。即ち、空燃比センサ67が耐久後のセンサであるか否かを判定する。
(経時変化判定方法1)
CPU71は、「ヒータ678への指示信号であるヒータデューティDutyの値を積算した値(時間積分した値)」である「デューティ積算値SD」を求める。この積算値SDはバックアップラム74に格納される。つまり、積算値SDは、空燃比センサ67が新品である時点から現時点に至るまでの期間のヒータデューティDutyの積算値である。そして、CPU71は、積算値SDが所定の劣化判定閾値SDth以上となったとき、空燃比センサ67は経時変化していると判定する。
(経時変化判定方法2)
CPU71は、ヒータ678に流される実際の電流値(ヒータ電流)Ihの時間積分値SIhを求める。この時間積分値SIはバックアップラム74に格納される。つまり、時間積分値SIhは、空燃比センサ67が新品である時点から現時点に至るまでの期間のヒータ電流Ihの積算値である。そして、CPU71は、時間積分値SIhが所定の劣化判定閾値SIhth以上となったとき、空燃比センサ67は経時変化していると判定する。
(経時変化判定方法3)
CPU71は、吸入空気流量Gaの時間積分値SGaを求める。この時間積分値SGaはバックアップラム74に格納される。つまり、時間積分値SGaは、空燃比センサ67が新品である時点から現時点に至るまでの期間の吸入空気流量Gaの積算値である。そして、CPU71は、時間積分値SGaが所定の劣化判定閾値SrGath以上となったとき、空燃比センサ67は経時変化していると判定する。
(経時変化判定方法4)
CPU71は、機関10が搭載された車両の積算走行距離SSを求める。この積算走行距離SSはバックアップラム74に格納される。つまり、積算走行距離SSは、空燃比センサ67が新品である時点から現時点に至るまでの期間の「車両の総走行距離」である。そして、CPU71は、積算走行距離SSが所定の劣化判定閾値SSth以上となったとき、空燃比センサ67は経時変化していると判定する。
いま、空燃比センサ67が新品に近い状態にあり経時変化していないと仮定する。この場合、CPU71はステップ2410にて「No」と判定してステップ2420に進み、センサ素子温上昇要求フラグXtupreqの値を「1」に設定する。この結果、図15のルーチンが実行されることにより、センサ素子部温度上昇制御が実行される。
次に、CPU71はステップ1415に進み、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過したか否かを判定する。このとき、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していなければ、CPU71はステップ1415にて「No」と判定し、ステップ2495に直接進んで本ルーチンを一旦終了する。
一方、CPUが図24のステップ1415の処理を実行する時点において、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していると、CPU71はそのステップ1415からステップ1420以降に進む。その結果、ステップ1450にて空燃比変動指標量AFDが取得され、ステップ1455にてインバランス判定用パラメータXが取得される。更に、ステップ1640にて、パラメータ取得完了フラグXobtainの値が「1」に設定される。
ところで、CPU71は所定時間の経過毎に図25のルーチンの処理をステップ2500から開始し、ステップ1810にてパラメータ取得完了フラグXobtainの値が「0」から「1」へと変化したか判定している。
従って、図24のステップ1640にてパラメータ取得完了フラグXobtainの値が「1」に設定されると、CPU71は図25のステップ1810にて「Yes」と判定してステップ1830以降に進み、インバランス判定用パラメータXとインバランス判定用閾値Xthとの比較に基いて空燃比気筒間インバランス状態が発生したか否かを判定する。即ち、CPU71は、インバランス判定用パラメータXがインバランス判定用閾値Xthよりも大きければ、空燃比気筒間インバランス状態が発生していると判定する(ステップ1830及びステップ1840)。更に、CPU71は、インバランス判定用パラメータXがインバランス判定用閾値Xth以下であると、空燃比気筒間インバランス状態が発生していないと判定する(ステップ1830及びステップ1850)。
その後、CPU71はステップ1860にてセンサ素子温上昇要求フラグXtupreqの値を「0」に設定し、ステップ2595に進んで本ルーチンを一旦終了する。これにより、センサ素子部温度上昇制御が停止される。
以上、説明したように、空燃比センサ67が経時変化していない場合、センサ素子部温度上昇制御を実行した状態においてインバランス判定用パラメータXが取得され、そのインバランス判定用パラメータXを用いた空燃比気筒間インバランス判定が実行される。
次に、空燃比センサ67が経時変化した場合について説明する。この場合、CPU71は図24のステップ2410に進んだとき、そのステップ2410にて「Yes」と判定する。そして、CPU71はステップ2430に進み、センサ素子温上昇要求フラグXtupreqの値を「0」に設定する。なお、実際にはセンサ素子温上昇要求フラグXtupreqの値は上述したイニシャルルーチンにおいて「0」に設定されているから、CPU71はステップ2430にてセンサ素子温上昇要求フラグXtupreqの値を変更しない。これにより、センサ素子部温度上昇制御は実行されない。
その後、CPU71はステップ1420以降に進む。その結果、ステップ1450にて空燃比変動指標量AFDが取得され、ステップ1455にてインバランス判定用パラメータXが取得される。更に、ステップ1640にて、パラメータ取得完了フラグXobtainの値が「1」に設定される。
図24のステップ1640にてパラメータ取得完了フラグXobtainの値が「1」に設定されると、CPU71は図25のステップ1810にて「Yes」と判定してステップ1830以降に進み、インバランス判定用パラメータXとインバランス判定用閾値Xthとの比較に基く上述した空燃比気筒間インバランス判定を実行する。その後、CPU71はステップ1860を経由してステップ2595に進み、本ルーチンを一旦終了する。
以上、説明したように、第5判定装置によれば、空燃比センサ67が経時変化している場合、センサ素子部温度上昇制御が実行されることなくインバランス判定用パラメータXが取得され、そのインバランス判定用パラメータXを用いた空燃比気筒間インバランス判定が実行される。
即ち、第5判定装置のヒータ制御手段は、第1〜第4判定装置のヒータ制御手段と同様、固体電解質層671の実際のアドミタンスYactに応じた値(例えば、実際のアドミタンス)と目標値(目標アドミタンスYtgt)との差が小さくなるようにヒータの発熱量を制御する(図15のルーチンを参照。)。更に、ヒータ制御手段は、センサ素子部温度上昇制御中の目標値(目標アドミタンスYtgt)を「素子部温度上昇制御を実行していないときの目標値と相違させる(増大させる)」ことにより、センサ素子部温度上昇制御を実現するように構成されている(図15のステップ1510乃至ステップ1530)。
更に、第5判定装置のインバランス判定手段は、
空燃比センサ67に経時変化が生じているか否かを判定する経時変化発生判定手段を含み(図24のステップ2410)、空燃比センサ67に経時変化が生じていると判定された場合には前記センサ素子部温度上昇制御を実行すべきときであっても(即ち、パラメータ取得許可フラグXkyokaの値が「1」であっても)、センサ素子部温度上昇制御を実行することなくインバランス判定用パラメータXを取得するように構成されている(図24のステップ2410、ステップ2430及びステップ1420乃至ステップ1455)。
従って、第5判定装置は、空燃比センサ素子温度を必要以上に上昇させないので、空燃比センサの劣化が早期化することを回避しながら、精度のよい空燃比気筒間インバランス判定を実行することができる。
なお、第5判定装置(及び他の判定装置)のヒータ制御手段は、固体電解質層671の実際のアドミタンスYactに応じた値として固体電解質層671のインピーダンスZactを採用し、実際のインピーダンスZactと目標値(目標インピーダンスZtgt)との差が小さくなるようにヒータの発熱量を制御してもよい。この場合、ヒータ制御手段は、センサ素子部温度上昇制御中の目標値(目標インピーダンスZtgt)を「素子部温度上昇制御を実行していないときの目標値と相違させる(減少させる)」ことにより、センサ素子部温度上昇制御を実現するように構成される。
<第6実施形態>
次に、本発明の第6実施形態に係る判定装置(以下、単に「第6判定装置」と称呼する。)について説明する。
第6判定装置は、空燃比センサ素子温度を通常温度(第1温度)に維持した状態において空燃比変動指標量AFDを通常温度空燃比変動指標量Ztujoとして取得し、空燃比センサ素子温度を上昇温度(第2温度)に維持した状態において空燃比変動指標量AFDを上昇温度空燃比変動指標量Ztupとして取得し、それらの値の相違に応じた値(例えば、差=Ztup−Ztujo)とインバランス判定用閾値との比較に基いてインバランス判定を行う。その他の点は第1判定装置と同様である。
(実際の作動)
第6判定装置のCPU71は、図12、図13及び図15に示したルーチンを第1判定装置のCPU71と同様に実行する。更に、第6判定装置のCPU71は、図14に代わる「図26及び図27」にフローチャートにより示したルーチンを所定時間(サンプリング時間ts)が経過する毎に実行するようになっている。図12、図13及び図15に示したルーチンについては説明済みである。従って、以下、図26乃至図27に示したルーチンについて説明する。なお、図26乃至図27において「既説したステップと同一の処理を行うためのステップ」には、そのような既設したステップに付された符号と同一の符合が付されている。
いま、機関10の今回の始動後に始めてパラメータ取得条件が成立することにより、パラメータ取得許可フラグXkyokaの値が「1」に設定されたと仮定する。この場合、CPU71は図26のステップ1405にて「Yes」と判定してステップ2610に進み、仮フラグXkariの値が「0」であるか否かを判定する。この仮フラグXkariの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
従って、CPU71はステップ2610にて「Yes」と判定してステップ2620に進み、センサ素子温上昇要求フラグXtupreqの値を「0」に設定する。この結果、空燃比センサ素子温度は通常温度に維持される。
なお、センサ素子温上昇要求フラグXtupreqの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。従って、現段階におけるステップ2620の処理はセンサ素子温上昇要求フラグXtupreqの値を実質的に変更しない。
その後、CPU71はステップ1420乃至ステップ1450の処理により空燃比変動指標量AFDを取得する。つまり、空燃比センサ素子温度を上昇させることのない状態(空燃比センサ素子温度が通常温度に制御されている状態)において空燃比変動指標量AFDが取得される。
ステップ1450にて空燃比変動指標量AFDが取得された後、CPU71はステップ2630に進み、仮フラグXkariの値が「0」であるか否かを判定する。現時点において、仮フラグXkariの値は「0」である。従って、CPU71はステップ2630にて「Yes」と判定してステップ2640に進み、仮フラグXkariの値を「1」に設定する。
次に、CPU71はステップ2650に進み、ステップ1450にて取得した空燃比変動指標量AFDを「通常温度空燃比変動指標量Ztujo」として記憶する(図11を参照。)。その後、CPU71はステップ2695に進み、本ルーチンを一旦終了する。
一方、CPU71は所定のタイミングにて、図27に示したルーチンの処理をステップ2700から開始し、ステップ2710にて「現時点が、パラメータ取得完了フラグXobtainの値が「0」から「1」へと変化した直後の時点であるか否か」を判定する。このパラメータ取得完了フラグXobtainの値は、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。更に、パラメータ取得完了フラグXobtainは現時点において「1」に変更されていない。従って、CPU71はステップ2710にて「No」と判定し、ステップ2795に直接進んで本ルーチンを一旦終了する。
この状態において、パラメータ取得許可フラグXkyokaの値が「1」であると、CPU71は図26のステップ1405に進んだとき、そのステップ1405にて「Yes」と判定してステップ2610に進む。
この時点において、仮フラグXkariの値は「1」に設定されている。従って、CPU71はステップ2610にて「No」と判定してステップ2660に進み、センサ素子温上昇要求フラグXtupreqの値を「1」に設定する。この結果、図15のルーチンが実行されることにより、空燃比センサ素子温度は上昇温度へと上昇させられる。
次に、CPU71はステップ1415に進み、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過したか否かを判定する。このとき、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していなければ、CPU71はステップ1415にて「No」と判定し、ステップ2695に直接進んで本ルーチンを一旦終了する。
一方、CPUが図26のステップ1415の処理を実行する時点において、センサ素子温上昇要求フラグXtupreqの値が「0」から「1」へと変更されてから遅延時間Tdelaythが経過していると、CPU71はそのステップ1415からステップ1420以降に進む。その結果、ステップ1450にて空燃比変動指標量AFDが取得される。
この時点において、仮フラグXkariの値は「1」に設定されている。従って、CPU71はステップ1450に続くステップ2630に進んだとき、そのステップ2630にて「No」と判定してステップ2670に進み、パラメータ取得完了フラグXobtainの値を「1」に設定する。
次に、CPU71はステップ2680に進み、ステップ1450にて取得した空燃比変動指標量AFDを「上昇温度空燃比変動指標量Ztup」として記憶する(図11を参照。)。その後、CPU71はステップ2695に進み、本ルーチンを一旦終了する。
この直後にCPU71が図27のステップ2710に進むと、パラメータ取得完了フラグXobtainの値は「0」から「1」へと変化した直後の時点であるから、CPU71はそのステップ2710にて「Yes」と判定しステップ2720に進む。
CPU71は、ステップ2720にて「上昇温度空燃比変動指標量Ztupから通常温度空燃比変動指標量Ztujoを減じた値(Ztup−Ztujo)」をインバランス判定用パラメータDXとして取得する。インバランス判定用パラメータDXは、上昇温度空燃比変動指標量Ztupと通常温度空燃比変動指標量Ztujoとの相違の程度が大きくなるほど大きくなる値である。インバランス判定用パラメータDXは、通常温度空燃比変動指標量Ztujoに対する上昇温度空燃比変動指標量Ztupの比であってもよい。次に、CPU71はステップ2730に進み、インバランス判定用パラメータDXが所定のインバランス判定用閾値DXthよりも大きいか否かを判定する。
このとき、インバランス判定用パラメータDXがインバランス判定用閾値DXthよりも大きいと、CPU71はステップ2730にて「Yes」と判定してステップ2740に進み、インバランス発生フラグXINBの値を「1」に設定する。即ち、CPU71は空燃比気筒間インバランス状態が発生していると判定する。その後、CPU71はステップ2795に進んで本ルーチンを一旦終了する。
これに対し、CPU71がステップ2730の処理を行う時点において、インバランス判定用パラメータDXがインバランス判定用閾値DXth以下であると、CPU71はステップ2730にて「No」と判定してステップ2750に進み、インバランス発生フラグXINBの値を「2」に設定する。即ち、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、CPU71はステップ2760に進んでセンサ素子温上昇要求フラグXtupreqの値を「0」に設定し、ステップ2795に進んで本ルーチンを一旦終了する。これにより、センサ素子部温度上昇制御は停止される。なお、ステップ2750は省略されてもよい。
以上、説明したように、第6判定装置のインバランス判定手段は、
所定のパラメータ取得条件が成立している期間であるパラメータ取得期間(パラメータ取得許可フラグXkyoka=1)において、ヒータ678によりセンサ素子部の温度を第1温度に制御するとともに(図26のステップ1405、ステップ2610、ステップ2620、図15のステップ1510及び「ステップ1520での「No」との判定」を参照。)、空燃比センサ67が配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなる空燃比変動指標量AFDに応じた値を通常温度空燃比変動指標量Ztujoとして取得し(図26のステップ1420乃至ステップ1450、ステップ2630及びステップ2650)、
前記パラメータ取得期間(パラメータ取得許可フラグXkyoka=1)において、ヒータ678によりセンサ素子部の温度を「前記第1温度よりも高い第2温度」に制御するとともに(図26のステップ1405、ステップ2610、ステップ2660、図15のステップ1510、ステップ1520及びステップ1530)、空燃比センサ67が配設された部位を通過する排ガスの空燃比の変動が大きくなるほど大きくなる空燃比変動指標量AFDに応じた値を上昇温度空燃比変動指標量Ztupとして取得し(図26のステップ1420乃至ステップ1450、ステップ2630及びステップ2680)、更に、
前記上昇温度空燃比変動指標量Ztupと前記通常温度空燃比変動指標量Ztujoとに基いて同上昇温度空燃比変動指標量Ztupと同通常温度空燃比変動指標量Ztujoとの相違の程度が大きくなるほど大きくなる値(Ztup−Ztujo)をインバランス判定用パラメータDXとして取得し(図27のステップ2720)、
その取得されたインバランス判定用パラメータDXが所定のインバランス判定用閾値DXthよりも大きいとき「空燃比気筒間インバランス状態が発生した」と判定し、且つ、インバランス判定用パラメータDXがインバランス判定用閾値DXthよりも小さいとき「空燃比気筒間インバランス状態が発生していない」と判定する(図27のステップ2730乃至ステップ2750)、
ように構成されている。
図11から理解されるように、上昇温度空燃比変動指標量Ztupと通常温度空燃比変動指標量Ztujoとの相違の程度が大きくなるほど大きくなる値DX(例えば、DX=Ztup−Ztujo)は、空燃比センサ素子温度が上昇するほど、大きくなる。しかも、「インバランス状態が発生している場合(実線L2を参照。)の値DX(=DX1)」は、「インバランス状態が発生していない場合(破線L1を参照。)の値DX(=DX2)」よりも大きくなる。加えて、値DX1と値DX2との差は上昇温度(第2温度t2)と通常温度(第1温度t1)との差が大きくなるほど大きくなる。
従って、第6判定装置のように、第1温度t1と第2温度t2とにおいて空燃比変動指標量に応じた値を取得し、それらの空燃比変動指標量に応じた値の相違の程度が大きくなるほど大きくなる値(例えば、それらの空燃比変動指標量の差DX及び比Ztup/Ztujo等)に基いてインバランス判定を行えば、インバランス判定を精度良く行うことができる。
なお、第6判定装置は、先に通常温度空燃比変動指標量Ztujoを取得しその後に上昇温度空燃比変動指標量Ztupを取得していたが、先に上昇温度空燃比変動指標量Ztupを取得しその後に通常温度空燃比変動指標量Ztujoを取得してもよい。
以上、説明したように、本発明の各実施形態に係る判定装置は、空燃比センサ67のセンサ素子部の温度をインバランス判定用パラメータを取得する際に高めることにより、空燃比気筒間インバランス状態の程度を精度良く表すインバランス判定用パラメータを取得することができる。従って、各実施形態に係る判定装置は、空燃比気筒間インバランス状態が発生したか否かを精度良く判定することができる。
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、「インバランス判定用パラメータX、上昇温度空燃比変動指標量Ztup及び通常温度空燃比変動指標量Ztujo等」として取得される空燃比変動指標量AFD又は、以下に述べるパラメータであってもよい。
(P1)空燃比変動指標量AFDは、空燃比センサ67の出力値Vabyfsの軌跡長(基本指標量)又は検出空燃比abyfsの軌跡長(基本指標量)に応じた値であってもよい。例えば、検出空燃比abyfsの軌跡長は、一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得するとともに、その出力値Vabyfsを検出空燃比abyfsへと変換し、その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差の絶対値を積算することによって求めることができる。
この軌跡長は、単位燃焼サイクル期間毎に求められることが望ましい。複数の単位燃焼サイクル期間についての軌跡長の平均値(即ち、軌跡長に応じた値)を空燃比変動指標量AFDとして採用してもよい。なお、出力値Vabyfsの軌跡長及び検出空燃比abyfsの軌跡長は、機関回転速度NEが大きいほど大きくなる傾向を有するので、この軌跡長に基くインバランス判定用パラメータをインバランス判定に使用する場合、機関回転速度NEが大きいほどインバランス判定用閾値Xthを大きくすることが好ましい。
(P2)空燃比変動指標量AFDは、「空燃比センサ67の出力値Vabyfs又は検出空燃比abyfs」の変化率の変化率(即ち、これらの値の時間に関する二階微分値)を基本指標量として求め、その基本指標量に応じた値として求められてもよい。例えば、空燃比変動指標量AFDは、「空燃比センサ67の出力値Vabyfsの時間に関する二階微分値d2(Vabyfs)/dt2」の絶対値の単位燃焼サイクル期間における最大値、又は、「上流側空燃比センサ67の出力値Vabyfsにより表される検出空燃比abyfsの時間に関する二階微分値d2(abyfs)/dt2)」の絶対値の単位燃焼サイクル期間における最大値であってもよい。
例えば、検出空燃比abyfsの変化率の変化率は次のようにして取得することができる。
・一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得する。
・その出力値Vabyfsを検出空燃比abyfsへと変換する。
・その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差を検出空燃比abyfsの変化率として取得する。
・その検出空燃比abyfsの変化率と、一定サンプリング時間ts前に取得した検出空燃比abyfsの変化率と、の差を検出空燃比abyfsの変化率の変化率(二階微分値d2(abyfs)/dt2)として取得する。
この場合、「単位燃焼サイクル期間内において複数得られた検出空燃比abyfsの変化率の変化率」の中から「その絶対値が最大である値」を代表値として選択し、そのような代表値を複数の単位燃焼サイクル期間に対して求め、得られた複数の代表値の絶対値の平均値を空燃比変動指標量AFDとして採用してもよい。
更に、上記各判定装置は、微分値d(abyfs)/dt(検出空燃比変化率ΔAF)を基本指標量として採用し、その基本指標量の絶対値の単位燃焼サイクル期間における平均値に基く値を空燃比変動指標量AFDとして採用していた。
これに対し、上記各判定装置は、微分値d(abyfs)/dt(検出空燃比変化率ΔAF)を基本指標量として取得し、単位燃焼サイクル期間において得られた微分値d(abyfs)/dtのうち正の値を有するデータ中からその絶対値が最大の値P1を取得するとともに、同じ単位燃焼サイクル期間において得られた微分値dVabyfs/dtのうち負の値を有するデータ中からその絶対値が最大の値P2を取得し、値P1の絶対値及び値P2の絶対値のうちの大きい方を基本指標量として採用してもよい。そして、上記各判定装置は、複数の単位燃焼サイクル期間に対して得られた基本指標量の絶対値の平均値を、空燃比変動指標量AFDとして採用してもよい。
更に、上記各判定装置は、例えば、V型エンジンにも適用することができる。その場合、V型エンジンは右バンクに属する2以上の気筒の排気集合部よりも下流に右バンク上流側触媒(前記機関の排気通路であって前記複数の気筒のうちの少なくとも2以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒)を備え、左バンクに属する2以上の気筒の排気集合部よりも下流に左バンク上流側触媒(前記機関の排気通路であって前記複数の気筒のうちの少なくとも2以上の気筒以外の残りの2以上の気筒の燃焼室から排出された排ガスが集合する排気集合部よりも下流側の部位に配設された触媒)、を備えることができる。
更に、V型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側空燃比センサを備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側空燃比センサを備えることができる。各上流側空燃比センサは、上記空燃比センサ67と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用の上流側空燃比センサ及び下流側空燃比センサの出力値に基いて右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して、左バンク用の上流側空燃比センサ及び下流側空燃比センサの出力値に基いて左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
更に、この場合、判定装置は、右バンク用の上流側空燃比センサの出力値に基いて右バンク用の「空燃比変動指標量AFD(インバランス判定用パラメータX)」を求め、それらを用いて右バンクに属する気筒間において空燃比気筒間インバランス状態が発生しているか否かを判定することができる。
同様に、判定装置は、左バンク用の上流側空燃比センサの出力値に基いて左バンク用の「空燃比変動指標量AFD(インバランス判定用パラメータX)」を求め、それらを用いて左バンクに属する気筒間において空燃比気筒間インバランス状態が発生しているか否かを判定することができる。
加えて、上記各判定装置は、インバランス判定用閾値Xth(高側閾値XHith及び低側閾値XLothを含む。)を、吸入空気流量Gaが大きいほど大きくなるように変更してもよい。これは、保護カバー67b及び67cの存在により、吸入空気流量Gaが小さいほど、空燃比センサ67の応答性が低くなるからである。
更に、前記高側閾値XHithは前記インバランス判定用閾値Xth以上の値であり、前記低側閾値XLothは前記インバランス判定用閾値Xthよりも小さい値であることが好適である。但し、高側閾値XHithは、暫定パラメータXzが高側閾値XHithよりも大きいとき、明らかに空燃比気筒間インバランス状態が発生していると断定できる値であれば、前記インバランス判定用閾値Xthよりも小さい値であってもよい。同様に、低側閾値XLothは、暫定パラメータXzが低側閾値XLothよりも小さいとき、明らかに空燃比気筒間インバランス状態が発生していないと断定できる値であればよい。
更に、上記各判定装置は、前記2以上の気筒の燃焼室に供給される混合気の空燃比が目標空燃比となるように前記指示燃料噴射量を制御する指示燃料噴射量制御手段を備える(図12及び図13のルーチン)。この指示燃料噴射量制御手段は、空燃比センサ67の出力値Vabyfsにより表される空燃比(検出空燃比abyfs)と目標空燃比abyfrとに基いて、それらが一致するように空燃比フィードバック量(DFi)を算出し、その空燃比フィードバック量(DFi)に基いて前記指示燃料噴射量を決定(調整・制御)する空燃比フィードバック制御手段を含んでいる(図12のステップ1240及び図13のルーチン)。また、指示燃料噴射量制御手段は、係る空燃比フィードバック制御手段を含むことなく、例えば、吸入空気流量と機関回転速度とから定まる筒内吸入空気量(一回の吸気行程において一つの気筒に吸入される空気量)Mcを目標空燃比abyfrによって除した値を前記指示燃料噴射量として決定(制御)するフィードフォワード制御手段であってもよい。即ち、図12のルーチンの空燃比フィードバック量DFiを「0」に設定してもよい。
更に、上記各判定装置のヒータ制御手段は、実際のアドミタンスYactが「目標アドミタンスYtgtから正の所定値αを減じた値」よりも小さい場合には前記ヒータデューティDutyを100%に設定し(即ち、ヒータ678への通電量を最大値に設定し)、実際のアドミタンスYactが「目標アドミタンスYtgtに正の所定値αを加えた値」よりも大きい場合には前記ヒータデューティDutyを「0」に設定し(即ち、ヒータ678への通電量を最小値に設定し)、実際のアドミタンスYactが「目標アドミタンスYtgtから正の所定値αを減じた値」と「目標アドミタンスYtgtに正の所定値αを加えた値」との間にある場合には、ヒータデューティDutyを「0よりも大きく100%よりも小さい所定値(例えば、50%)」に設定するように構成されていてもよい。