空燃比気筒間インバランス判定装置
【課題】空燃比センサの応答性に関わらず「気筒別空燃比の不均一性の程度を精度良く表す空燃比不均衡指標値」を空燃比センサの出力値に基いて取得することにより、インバランスを精度良く判定することができる空燃比気筒間インバランス判定装置を提供する。
【解決手段】判定装置は、空燃比センサの出力値の時間微分値に基いて、気筒別空燃比の不均一性の程度が大きいほど大きくなる補正前指標量を取得する。一方、判定装置は、フューエルカット運転中に空燃比センサの出力値が大きいほど大きくなる補正用出力値として求める。判定装置は、補正用出力値が大きいほど(即ち、空燃比センサの応答性が高いほど)、補正前指標量が小さくなるように、補正前指標量を補正して空燃比不均衡指標値を取得する。判定装置は、空燃比不均衡指標値がインバランス判定用閾値以上であるとき、空燃比気筒間インバランス状態が発生したと判定する。
【解決手段】判定装置は、空燃比センサの出力値の時間微分値に基いて、気筒別空燃比の不均一性の程度が大きいほど大きくなる補正前指標量を取得する。一方、判定装置は、フューエルカット運転中に空燃比センサの出力値が大きいほど大きくなる補正用出力値として求める。判定装置は、補正用出力値が大きいほど(即ち、空燃比センサの応答性が高いほど)、補正前指標量が小さくなるように、補正前指標量を補正して空燃比不均衡指標値を取得する。判定装置は、空燃比不均衡指標値がインバランス判定用閾値以上であるとき、空燃比気筒間インバランス状態が発生したと判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、空燃比気筒間インバランス判定装置に関する。
【背景技術】
【0002】
従来から、図1に示したように、多気筒内燃機関10の排気通路に配設された三元触媒43と、その三元触媒43の上流に配置された上流側空燃比センサ56と、を備えた空燃比制御装置が広く知られている。
【0003】
この空燃比制御装置は、機関10に供給される混合気の空燃比(機関の空燃比、従って、排ガスの空燃比)が目標空燃比と一致するように、上流側空燃比センサ56の出力値に基いて空燃比フィードバック量(メインフィードバック量)を算出し、そのフィードバック量により機関の空燃比をフィードバック制御するようになっている。このフィードバック量は、全気筒に対して共通する制御量である。目標空燃比は、三元触媒43のウインドウ内の所定の基準空燃比に設定される。基準空燃比は、一般に、理論空燃比である。基準空燃比は、機関の吸入空気量及び三元触媒43の劣化度等に応じて理論空燃比の近傍の値に変更され得る。
【0004】
ところで、一般に、このような空燃比制御装置は電子制御式燃料噴射装置を採用した内燃機関に適用される。その内燃機関は、各気筒又は各気筒に連通した吸気ポートに少なくとも一つの燃料噴射弁33を備えている。従って、ある特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量(指示燃料噴射量)よりも過大な量の燃料を噴射する特性」となると、その特定の気筒に供給される混合気の空燃比(その特定気筒の空燃比)のみが大きくリッチ側に変化する。即ち、気筒間における空燃比の不均一性(空燃比気筒間ばらつき、空燃比の気筒間インバランス割合)が大きくなる。換言すると、各気筒に供給される混合気の空燃比である「気筒別空燃比」の間に著しい不均衡が生じ、気筒別空燃比の不均一性の程度が大きくなる。
【0005】
なお、以下において、「指示燃料噴射量よりも過大又は過小な量の燃料を噴射する特性を有する燃料噴射弁」に対応する気筒を「インバランス気筒」とも称呼し、残りの気筒(「指示燃料噴射量の燃料を噴射する燃料噴射弁」に対応する気筒)を非インバランス気筒(又は正常気筒)とも称呼する。
【0006】
ある特定の気筒の燃料噴射弁の特性が「指示燃料噴射量よりも過大な量の燃料を噴射する特性」となると、機関全体に供給される混合気の空燃比の平均は、基準空燃比に設定された目標空燃比よりもリッチ側の空燃比となる。従って、全気筒に対して共通する空燃比のフィードバック量により、上記特定の気筒の空燃比は基準空燃比に近づけられるようにリーン側へと変更させられ、同時に、他の気筒の空燃比は基準空燃比から遠ざけられるようにリーン側へと変更させられる。この結果、機関全体に供給される混合気の空燃比の平均(排ガスの平均空燃比)は基準空燃比の近傍の空燃比に一致する。
【0007】
しかしながら、上記特定の気筒の空燃比は依然として基準空燃比よりもリッチ側の空燃比となり、残りの気筒の空燃比は基準空燃比よりもリーン側の空燃比となる。この結果、各気筒の空燃比が基準空燃比である場合に比べ、各気筒から排出されるエミッションの量(未燃物の量及び/又は窒素酸化物の量)が増大する。このため、機関に供給される混合気の空燃比の平均が基準空燃比であったとしても、増大したエミッションを三元触媒が浄化しきれず、結果として、エミッションが悪化する虞がある。
【0008】
従って、気筒別空燃比の気筒間における不均一性が過大になっていること(気筒間における空燃比の不均一性が過大になっていること、即ち、空燃比気筒間インバランス状態が発生していること)を検出し、何らかの対策を講じさせるようにすることは、エミッションを悪化させないために重要である。なお、空燃比気筒間インバランスは、特定の気筒の燃料噴射弁の特性が「指示燃料噴射量よりも過小な量の燃料を噴射する特性」となった場合等にも発生する。
【0009】
従来の空燃比気筒間インバランス判定装置の一つは、三元触媒43の上流に配置された起電力式の酸素濃度センサの出力値(出力信号)の軌跡長を「空燃比不均衡指標値(インバランス判定用パラメータ)」として取得する。更に、この判定装置は、その軌跡長と「機関回転速度に応じて変化する参照値」とを比較し、その比較結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定する(例えば、特許文献1を参照。)。なお、空燃比気筒間インバランス状態が発生したか否かの判定は、単に、「インバランス判定」とも称呼される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第7,152,594号明細書
【発明の概要】
【0011】
インバランス判定用閾値と比較されることにより空燃比気筒間インバランス状態が発生しているか否かを判定することができる空燃比不均衡指標値は、「気筒別空燃比の複数の気筒間における不均一性の程度(気筒別空燃比の不均一性の程度)」が大きいほど大きくなるパラメータである。
【0012】
一方、従来の空燃比制御装置の一つは、上流側空燃比センサ56として、所謂「限界電流式の空燃比センサ」を採用している。この場合、空燃比不均衡指標値は、上流側空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量として取得され得る。これは、気筒別空燃比の不均一性の程度が大きくなるとインバランス気筒からの排ガスと非インバランス気筒からの排ガスとが順次に排出されるので、気筒別空燃比の不均一性の程度が大きいほど排ガスの空燃比の変動が大きくなるからである。なお、以下において、限界電流式の空燃比センサは、単に「空燃比センサ」とも称呼される。
【0013】
空燃比変動指標量は、後述するように、「空燃比センサの出力値に基いて算出される種々の基本指標量」に基いて取得され得る。基本指標量の代表例は、「空燃比センサの出力値、空燃比センサの出力値にハイパスフィルタ処理を施したハイパスフィルタ処理後出力値、及び、空燃比センサの出力値により表される空燃比(上流側空燃比)」等の時間に関する「微分値(時間微分値、即ち、傾き)及び二階微分値」等である。
【0014】
ところが、限界電流式の空燃比センサの応答性(検出しようとする排ガスの空燃比の変化に対する空燃比センサの出力値の変化)は、個々の空燃比センサにより相違する。即ち、空燃比センサは個体差を有する。このため、気筒別空燃比の不均一性の程度が「ある特定の値」である場合において、応答性が高い空燃比センサの出力値は図10の(A)に示したように変動し、公差中央の応答性を有する空燃比センサの出力値は図10の(B)に示したように変動し、応答性が低い空燃比センサの出力値は図10の(C)に示したように変動する。即ち、気筒別空燃比の不均一性の程度が「特定の値」であっても、空燃比センサの出力値の変動の様子は空燃比センサの応答性に依存して相違する。従って、空燃比変動指標量が「ある値」であったとしても、気筒別空燃比の不均一性の程度が相違している場合が存在する。この結果、空燃比変動指標量に基いて得られた空燃比不均衡指標値とインバランス判定用閾値との比較に基いてインバランス判定を実行すると、誤判定が生じる可能性がある。
【0015】
本発明は上述した課題に対処するためになされたものである。即ち、本発明の目的の一つは、空燃比センサの応答性に関わらず「気筒別空燃比の不均一性の程度を精度良く表す空燃比不均衡指標値」を空燃比センサの出力値に基いて取得することにより、インバランス判定を精度良く実施することができる空燃比気筒間インバランス判定装置を提供することにある。
【0016】
本発明に係る空燃比気筒間インバランス判定装置(以下、単に「本発明装置」と称呼する。)は、限界電流式の空燃比センサと、複数の燃料噴射弁と、噴射指示信号送出手段と、フューエルカット手段と、空燃比不均衡指標値取得手段と、インバランス判定手段と、を備える。
【0017】
前記限界電流式の空燃比センサは、多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気集合部よりも下流に配設される。
【0018】
前記複数の燃料噴射弁のそれぞれは、前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成されている。
【0019】
前記噴射指示信号送出手段は、所定の指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する。前記所定の指示燃料噴射量は、例えば、「前記空燃比センサよりも下流の排気通路に配設された三元触媒」に流入する排ガスの空燃比が目標空燃比に一致するように、「前記燃料噴射弁から噴射される燃料の量」を「少なくとも前記空燃比センサの出力値に基いてフィードバック補正すること」により決定され得る。
【0020】
前記フューエルカット手段は、所定のフューエルカット条件が成立したときに前記複数の燃料噴射弁による燃料噴射を停止することにより、フューエルカット運転を実行する。
【0021】
前記空燃比不均衡指標値取得手段は、前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を取得する。
【0022】
前記インバランス判定手段は、前記取得された空燃比不均衡指標値と所定のインバランス判定用閾値との比較の結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定する。
【0023】
更に、本発明装置における前記空燃比不均衡指標値取得手段は、前記フューエルカット運転が実行されている期間における前記空燃比センサの出力値が大きいほど大きくなる補正用出力値を取得するように構成されている。
【0024】
後述するように、フューエルカット運転中における空燃比センサの出力値は、その空燃比センサの応答性と強い相関を有する。即ち、フューエルカット運転中における空燃比センサの出力値が大きいほど、空燃比センサの応答性は高い。そこで、本発明装置は、フューエルカット運転中の前記空燃比センサの出力値が大きいほど大きくなる補正用出力値をフューエルカット運転中の空燃比センサの出力値に基いて取得する。従って、気筒別空燃比の不均一性の程度が「ある特定値」であったとしても、補正用出力値が第1の値である場合に「空燃比センサの出力値の変動が大きいほど大きくなるように空燃比センサの出力値に基いて取得される空燃比変動指標量」は、補正用出力値が「第1の値よりも小さい第2の値」である場合に「空燃比センサの出力値の変動が大きいほど大きくなるように空燃比センサの出力値に基いて取得される空燃比変動指標量」よりも大きくなる。
【0025】
そこで、本発明装置における前記空燃比不均衡指標値取得手段は、前記空燃比不均衡指標値として、「前記空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量であって、且つ、前記補正用出力値が大きいほど小さくなる空燃比変動指標量」を前記空燃比センサの出力値及び前記補正用出力値に基いて取得するように構成されている。
【0026】
この結果、取得される空燃比変動指標量は、実際の空燃比センサの応答性に依存することなく、空燃比センサの応答性が「特定の値(例えば、公差中央値)」にある場合に取得される空燃比変動指標量となる。従って、その空燃比変動指標量(即ち、空燃比不均衡指標値)は気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く行うことができる。
【0027】
本発明装置の一態様において、
前記空燃比不均衡指標値取得手段は、
前記空燃比センサの出力値に基いて前記空燃比変動指標量の基本となる補正前指標量を取得し、
前記補正用出力値が大きいほど前記補正前指標量が小さくなるように前記補正前指標量を前記補正用出力値に基いて補正することにより前記空燃比変動指標量を取得するように構成される。
【0028】
これによれば、先ず、空燃比センサの出力値に基いて前記空燃比変動指標量の基本となる補正前指標量が求められ、次いで、その補正前指標値が補正用出力値(即ち、空燃比センサの応答性が高いほど大きくなる値)に基いて、補正用出力値が大きくなるほど小さくなるように補正される。そして、その補正された値(空燃比変動指標量)が空燃比不均衡指標値として採用され且つインバランス判定用閾値と比較される。この結果、空燃比不均衡指標値は空燃比センサの応答性に依らず気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く実施することができる。
【0029】
更に、前記空燃比不均衡指標値取得手段は、
前記補正用出力値を取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値を取得し、
前記素子温度相関値が大きいほど前記補正用出力値が大きくなるように前記補正用出力値を前記素子温度相関値に基いて補正し、前記補正された補正用出力値に基づいて前記補正前指標量を補正するように構成され得る。
【0030】
空燃比センサの応答性は、空燃比センサの素子温度が高いほど良好である。一方、フューエルカット運転中の空燃比センサの出力値は、後述するように、素子温度が高いほど小さくなる(下記の(1)式を参照。)。従って、補正用出力値を取得した際の素子温度が高い場合には、その素子温度が低い場合に比べ、「空燃比センサの応答性が高いほど大きくなる補正用出力値」をより大きくすることが望ましい。
【0031】
従って、上記構成によれば、素子温度相関値により補正される補正用出力値は、補正用出力値を取得しているときの空燃比センサの素子温度に関わらず、空燃比センサの応答性を示す値となる。この結果、補正前指標量を補正用出力値により補正した値である空燃比不均衡指標値は、補正用出力値を取得しているときの空燃比センサの素子温度に依存せず、気筒別空燃比の不均一性の程度をより一層精度良く示す値となるので、インバランス判定をより精度良く実施することができる。
【0032】
前記空燃比変動指標量(空燃比不均衡指標値)は、前記素子温度相関値が大きいほど前記補正前指標量が大きくなるように前記補正前指標量を前記素子温度相関値に基いて補正することにより取得されてもよい。
【0033】
これによっても、空燃比不均衡指標値は、補正用出力値を取得しているときの空燃比センサの素子温度に依存せず、気筒別空燃比の不均一性の程度をより一層精度良く示す値となるので、インバランス判定をより精度良く実施することができる。
【0034】
本発明装置の他の態様において、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値が大きいほど前記空燃比センサの出力値が小さくなるように前記空燃比センサの出力値を前記補正用出力値に基づいて補正することにより応答性補正後センサ出力値を取得し、
前記応答性補正後センサ出力値に基いて前記空燃比変動指標量を取得するように構成される。
【0035】
これによれば、「応答性が高いほど大きくなる補正用出力値」が大きいほど、空燃比センサの出力値が小さい値へと補正される。換言すると、その補正された空燃比センサの出力値は、空燃比センサの応答性について補償がなされた値(応答性が特定の値である場合に正規化された値)である。従って、その補正された空燃比センサの出力値に基いて取得される空燃比変動指標量は、空燃比センサの応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く示す値となる。この結果、インバランス判定を精度良く実施することができる。
【0036】
ところで、後述するように、空燃比センサの出力値は、大気圧の影響を受けて変化する。大気圧は高度によって変化する。従って、補正用出力値が得られたときの「前記機関が搭載されている車両」の高度と、インバランス判定用を行うために「補正用出力値及び空燃比センサの出力値」に基いて空燃比変動指標量を取得するときの車両の高度と、が大きく相違すると、その補正用出力値が空燃比変動指標量を取得することに対して精度の良い値ではない可能性が高い。
【0037】
そこで、前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比気筒間インバランス状態が発生したか否かの判定を実行しないように構成されることが好ましい。
【0038】
車両の走行距離が閾値走行距離以上になっている場合、車両の高度が大きく変化している可能性が高い。よって、上記構成によれば「不適切な補正用出力値を用いて取得された空燃比不均衡指標値に基くインバランス判定が実施されること」がないので、誤判定が発生することを回避することができる。
【0039】
更に、前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比不均衡指標値の算出を実行しないように構成されることが好ましい。
【0040】
これによれば、「不適切な補正用出力値に基いて空燃比不均衡指標値が取得されること」がないので、誤ったインバランス判定が実施されることを回避することができる。
【0041】
本発明装置の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明装置の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【0042】
【図1】図1は、本発明の各実施形態に係る空燃比気筒間インバランス判定装置が適用される内燃機関の概略図である。
【図2】図2は、図1に示した上流側空燃比センサ(空燃比センサ)の部分概略斜視図(透視図)である。
【図3】図3は、図1に示した空燃比センサの部分断面図である。
【図4】図4の(A)〜(C)のそれぞれは、図1に示した上流側空燃比センサが備える空燃比検出部の概略断面図である。
【図5】図5は、排ガスの空燃比(上流側空燃比)と空燃比センサの限界電流値との関係を示したグラフである。
【図6】図6は、排ガスの空燃比(上流側空燃比)と空燃比センサの出力値との関係を示したグラフである。
【図7】図7は、排ガスの空燃比(下流側空燃比)と図1に示した下流側起電力式酸素濃度センサ(下流側空燃比センサ)の出力値との関係を示したグラフである。
【図8】図8は、空燃比気筒間インバランス状態が発生した場合(気筒別空燃比の不均一性の程度が大きい場合)及び空燃比気筒間インバランス状態が発生していない場合(気筒別空燃比の不均一性が生じていない場合)の「空燃比不均衡指標値に関連する各値の挙動」を示したタイムチャートである。
【図9】図9は、実際の気筒別空燃比の不均一性の程度(インバランス割合)と、上流側空燃比センサの出力値の変化率に相関する空燃比不均衡指標値と、の関係を示したグラフである。
【図10】図10は、気筒別空燃比の不均一性の程度が特定の値である場合に、空燃比センサの応答性が種々の応答性であるときの「空燃比センサの出力値の変化の様子」を示したタイムチャートである。
【図11】図11は、フューエルカット運転中の空燃比センサの出力値(限界電流値)と空燃比センサの応答性との関係を示したグラフである。
【図12】図12は、本発明の第1実施形態に係る空燃比気筒間インバランス判定装置(第1判定装置)のCPUが実行するルーチンを示したフローチャートである。
【図13】図13は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図14】図14は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図15】図15は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図16】図16は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図17】図17は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図18】図18は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図19】図19は、発明の第2実施形態に係る空燃比気筒間インバランス判定装置(第2判定装置)のCPUが実行するルーチンを示したフローチャートである。
【発明を実施するための形態】
【0043】
以下、本発明の各実施形態に係る内燃機関の空燃比気筒間インバランス判定装置(以下、単に「判定装置」とも称呼する。)について図面を参照しながら説明する。この判定装置は、内燃機関に供給される混合気の空燃比(機関の空燃比)を制御する空燃比制御装置の一部でもあり、燃料噴射量制御装置の一部でもある。
【0044】
<第1実施形態>
(構成)
図1は、第1実施形態に係る空燃比気筒間インバランス判定装置(以下、「第1判定装置」とも称呼する。)を、4サイクル・火花点火式・多気筒(直列4気筒)・内燃機関10に適用したシステムの概略構成を示している。機関10は図示しない車両に搭載されている。
【0045】
内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、を含む。
【0046】
機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒(燃焼室)21を備えている。各気筒は、図示しない「吸気ポート及び排気ポート」と連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。
【0047】
吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。
【0048】
インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。
【0049】
吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。
【0050】
燃料噴射弁33は、一つの気筒(燃焼室)21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を吸気ポート(従って、燃料噴射弁33に対応する気筒)内に噴射するようになっている。
【0051】
より具体的に述べると、燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁33に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。従って、燃料噴射弁33が正常であれば、燃料噴射弁33は指示燃料噴射量と等量の燃料を噴射する。しかしながら、燃料噴射弁33に異常が発生すると、燃料噴射弁33は指示燃料噴射量とは相違する量の燃料を噴射するようになる。これにより、気筒別空燃比の気筒間における不均一性が発生する。
【0052】
スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。
【0053】
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された「図示しない下流側触媒」を備えている。
【0054】
エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数(2以上であり、本例では4つ)の気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。
【0055】
エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。
【0056】
上流側触媒43及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属(触媒物質)からなる活性成分を担持する三元触媒装置(排気浄化用の触媒)である。各触媒は、各触媒に流入するガスの空燃比が「三元触媒のウインドウ内の空燃比(例えば、理論空燃比)」であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物(NOx)を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、触媒に担持されているセリア(CeO2)等の酸素吸蔵材によってもたらされる。
【0057】
このシステムは、熱線式エアフローメータ51、スロットルポジションセンサ52、水温センサ53、クランクポジションセンサ54、インテークカムポジションセンサ55、上流側空燃比センサ56、下流側酸素濃度センサ57、アクセル開度センサ58、及び、車速センサ59を備えている。
【0058】
エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量(吸入空気流量)Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。
【0059】
スロットルポジションセンサ52は、スロットル弁34の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
【0060】
水温センサ53は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態(機関10の温度)を表すパラメータである。
【0061】
クランクポジションセンサ54は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。
【0062】
インテークカムポジションセンサ55は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ54及びインテークカムポジションセンサ55からの信号に基づいて、基準気筒(例えば第1気筒)の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において「0°クランク角度」に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。
【0063】
上流側空燃比センサ56は、エキゾーストマニホールド41の集合部41b(排気集合部HK)と上流側触媒43との間の位置において「エキゾーストマニホールド41及びエキゾーストパイプ42の何れか」に配設されている。上流側空燃比センサ56は、単に「空燃比センサ」とも称呼される。
【0064】
上流側空燃比センサ56は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【0065】
上流側空燃比センサ56は、図2及び図3に示したように、空燃比検出部56aと、外側保護カバー56bと、内側保護カバー56cと、を有している。
【0066】
外側保護カバー56bは金属からなる中空円筒体である。外側保護カバー56bは内側保護カバー56cを覆うように、内側保護カバー56cを内部に収容している。外側保護カバー56bは、流入孔56b1をその側面に複数備えている。流入孔56b1は、排気通路を流れる排ガス(外側保護カバー56bの外部の排ガス)EXを外側保護カバー56bの内部に流入させるための貫通孔である。更に、外側保護カバー56bは、外側保護カバー56bの内部の排ガスを外部(排気通路)に流出させるための流出孔56b2をその底面に有している。
【0067】
内側保護カバー56cは、金属からなり、外側保護カバー56bの直径よりも小さい直径を有する中空円筒体である。内側保護カバー56cは、空燃比検出部56aを覆うように空燃比検出部56aを内部に収容している。内側保護カバー56cは流入孔56c1をその側面に複数備えている。この流入孔56c1は、外側保護カバー56bの流入孔56b1を通して「外側保護カバー56bと内側保護カバー56cとの間の空間」に流入した排ガスを、内側保護カバー56cの内部に流入させるための貫通孔である。更に、内側保護カバー56cは、内側保護カバー56cの内部の排ガスを外部に流出させるための流出孔56c2をその底面に有している。
【0068】
図4の(A)〜(C)に示したように、空燃比検出部56aは、固体電解質層561と、排ガス側電極層562と、大気側電極層563と、拡散抵抗層564と、第一壁部565と、触媒部566と、第二壁部567と、ヒータ568と、を含んでいる。
【0069】
固体電解質層561は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層561は、ZrO2(ジルコニア)にCaOを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層561は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
【0070】
排ガス側電極層562は、白金(Pt)等の触媒活性の高い貴金属からなる。排ガス側電極層562は、固体電解質層561の一つの面上に形成されている。排ガス側電極層562は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
【0071】
大気側電極層563は、白金(Pt)等の触媒活性の高い貴金属からなる。大気側電極層563は、固体電解質層561の他の面上であって、固体電解質層561を挟んで排ガス側電極層562に対向するように形成されている。大気側電極層563は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
【0072】
拡散抵抗層(拡散律速層)564は、多孔質セラミック(耐熱性無機物質)からなる。拡散抵抗層564は、排ガス側電極層562の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
【0073】
第一壁部565は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部565は拡散抵抗層564の角部(一部)を除いて拡散抵抗層564を覆うように形成されている。即ち、第一壁部565は拡散抵抗層564の一部を外部に露呈させる貫通部を備えている。
【0074】
触媒部566は、第一壁部565の貫通部を閉じるように貫通部に形成されている。触媒部566は、上流側触媒43と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を担持している。触媒部566は多孔質体である。従って、図4の(B)及び図4の(C)に白抜きの矢印により示したように、排ガス(前述した内側保護カバー56cの内部に流入した排ガス)は、触媒部566を通過して拡散抵抗層564に到達し、その排ガスは更に拡散抵抗層564を通過して排ガス側電極層562に到達する。
【0075】
第二壁部567は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部567は大気側電極層563を収容する空間である「大気室56A」を形成するように構成されている。大気室56Aには大気が導入されている。
【0076】
上流側空燃比センサ56には電源569が接続されている。電源569は、大気側電極層563側が高電位となり、排ガス側電極層562が低電位となるように、電圧V(=Vp)を印加する。
【0077】
ヒータ568は第二壁部567に埋設されている。ヒータ568は後述する電気制御装置70によって通電されたときに発熱し、固体電解質層561、排ガス側電極層562及び大気側電極層563を加熱し、それらの温度を調整するようになっている。
【0078】
このような構造を有する上流側空燃比センサ56は、図4の(B)に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層564を通って排ガス側電極層562に到達した酸素をイオン化して大気側電極層563へと通過させる。この結果、電源569の正極から負極へと電流Iが流れる。この電流Iの大きさは、図5に示したように、電圧Vを所定値Vpに設定すると、排ガス側電極層562に到達した酸素の濃度(酸素分圧、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ56は、この電流(即ち、限界電流値IL)を電圧に変換した値を出力値Vabyfsとして出力する。
【0079】
これに対し、図4の(C)に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ56は、大気室56Aに存在する酸素をイオン化して排ガス側電極層562へと導き、拡散抵抗層564を通って排ガス側電極層562に到達する未燃物(HC,CO及びH2等)を酸化する。この結果、電源569の負極から正極へと電流Iが流れる。この電流Iの大きさも、図5に示したように、電圧Vを所定値Vpに設定すると、排ガス側電極層562に到達した未燃物の濃度(即ち、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ56は、この電流(即ち、限界電流値IL)を電圧に変換した値を出力値Vabyfsとして出力する。
【0080】
即ち、空燃比検出部56aは、上流側空燃比センサ56の配設位置を流れ、且つ、外側保護カバー56bの流入孔56b1及び内側保護カバー56cの流入孔56c1を通って空燃比検出部56aに到達しているガスの空燃比に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が大きくなるほど(リーンとなるほど)増大する。即ち、出力値Vabyfsは、図6に示したように、空燃比検出部56aに到達している排ガスの空燃比に実質的に比例する。なお、出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。
【0081】
このように、上流側空燃比センサ56は、「機関10の排気通路であって排気集合部HKと三元触媒43との間の位置に配設されるとともに、空燃比検出素子(固体電解質層)561と、前記空燃比検出素子561を挟んで対向するように配設された排ガス側電極層562及び基準ガス側電極層563と、前記排ガス側電極層562を覆う多孔質層(拡散抵抗層)564と、を有する空燃比センサであって、前記空燃比センサが配設された位置を通過する排ガスのうち前記多孔質層564を通って前記排ガス側電極層562に到達した排ガスに含まれる酸素の量(酸素の濃度、酸素分圧)及び未燃物の量(未燃物の濃度、未燃物の分圧)に応じた出力値を出力する空燃比センサである。」と言うことができる。
【0082】
電気制御装置70は、図6に示した空燃比変換テーブル(マップ)Mapabyfsを記憶している。電気制御装置70は、上流側空燃比センサ56の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する(即ち、検出空燃比abyfsを取得する)。
【0083】
上流側空燃比センサ56は、前述したように、排気集合部HKと上流側触媒43との間の位置に配設されている。更に、上流側空燃比センサ56は、エキゾーストマニホールド41の内部及びエキゾーストパイプ42の内部の何れかに外側保護カバー56bが露呈するように配設されている。
【0084】
より具体的には、上流側空燃比センサ56は、図2及び図3に示したように、保護カバー(56b、56c)の底面が排ガスEXの流れと平行であり、保護カバー(56b、56c)の中心軸線CCが排ガスEXの流れと直交するように排気通路内に配設される。これにより、外側保護カバー56bの流入孔56b1に到達した排気通路内の排ガスEXは、外側保護カバー56bの流出孔56b2近傍を流れる排気通路内の排ガスEXの流れにより、外側保護カバー56b及び内側保護カバー56cの内部へと吸い込まれる。
【0085】
従って、排気通路を流れる排ガスEXは、図2及び図3において矢印Ar1により示したように外側保護カバー56bの流入孔56b1を通って外側保護カバー56bと内側保護カバー56cとの間に流入する。次いで、その排ガスは、矢印Ar2に示したように「内側保護カバー56cの流入孔56c1」を通って「内側保護カバー56cの内部」に流入した後に、空燃比検出部56aに到達する。その後、その排ガスは、矢印Ar3に示したように「内側保護カバー56cの流出孔56c2及び外側の保護カバー56bの流出孔56b2」を通って排気通路に流出する。
【0086】
このため、「外側保護カバー56b及び内側保護カバー56c」の内部における排ガスの流速は、外側保護カバー56bの流出孔56b2近傍を流れる排ガスEXの流速(従って、単位時間あたりの吸入空気量である吸入空気量Ga)に応じて変化する。換言すると、「ある空燃比の排ガス(第1排ガス)が流入孔56b1に到達した時点」から「その第1排ガスが空燃比検出部56aに到達する時点」までの時間は、吸入空気量Gaに依存するが機関回転速度NEには依存しない。従って、上流側空燃比センサ56の「排気通路を流れる排ガスの空燃比」に対する出力応答性(応答性)は、上流側空燃比センサ56の外側保護カバー56bの近傍を流れる排ガスの流量(流速)が大きいほど、即ち、吸入空気量Gaが大きいほど、良好になる。このことは、上流側空燃比センサ56が内側保護カバー56cのみを有する場合にも成立する。
【0087】
再び、図1を参照すると、下流側酸素濃度センサ57は、エキゾーストパイプ42内に配設されている。下流側酸素濃度センサ57の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側(即ち、上流側触媒43と下流側触媒との間の排気通路)である。下流側酸素濃度センサ57は、周知の起電力式の酸素濃度センサ(安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサ)である。下流側酸素濃度センサ57は、排気通路であって下流側酸素濃度センサ57が配設されている部位を通過するガスである被検出ガスの空燃比に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比に応じた値である。
【0088】
この出力値Voxsは、図7に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V〜1.0V)となる。出力値Vabyfsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V〜0V)となる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、例えば、約0.5V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
【0089】
図1に示したアクセル開度センサ58は、運転者によって操作されるアクセルペダルAPの操作量Accp(アクセルペダル操作量、アクセルペダルAPの開度)を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。
【0090】
車速センサ59は、機関10が搭載された車両の速度(車速)spdを表す信号を出力するようになっている。
【0091】
電気制御装置70は、「CPU、CPUが実行するプログラム、テーブル(マップ、関数)及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等」からなる周知のマイクロコンピュータである。
【0092】
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。
【0093】
バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化(デフォルト値に設定)するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。
【0094】
電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ(実際にはイグナイタ)、各気筒に対応して設けられた燃料噴射弁33、及び、スロットル弁アクチュエータ等に駆動信号(指示信号)を送出するようになっている。
【0095】
なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量(アクセルペダル操作量Accp)に応じて「機関10の吸気通路に配設されたスロットル弁34」の開度を変更するスロットル弁駆動手段を備えている。
【0096】
(空燃比気筒間インバランス判定の概要)
次に、第1判定装置が実行するインバランス判定の概要について説明する。
【0097】
第1判定装置は、上流側空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsが「目標空燃比(上流側目標空燃比)abyfr」に一致するように、指示燃料噴射量をフィードバック補正(増減)する。即ち、第1判定装置は、メインフィードバック制御を実行する。更に、第1判定装置は、下流側酸素濃度センサ57の出力値Voxsが下流側目標値Voxsrefに一致するように、指示燃料噴射量をフィードバック補正(増減)する。即ち、第1判定装置は、サブフィードバック制御を実行する。
【0098】
第1判定装置は、空燃比気筒間インバランス状態が発生したか否かを判定するためのインバランス判定用パラメータとして、気筒別空燃比の不均一性の程度が大きくなるほど大きくなる空燃比不均衡指標値RIMBhを取得する。実際には、第1判定装置は、メインフィードバック制御(及び、サブフィードバック制御)が実行されている期間において所定のパラメータ取得条件(空燃比不均衡指標値取得条件)が成立している場合、空燃比センサ56の出力値Vabyfsの変動が大きくなるほど大きくなる空燃比変動指標量AFDを、出力値Vabyfsに基づいて以下に述べるように取得する。空燃比変動指標量AFDは空燃比不均衡指標値RIMBhとして採用される。
【0099】
(1)第1判定装置は、前述したパラメータ取得条件が成立している場合、所定時間(一定のサンプリング時間ts)が経過する毎に「空燃比センサ56の出力値Vabyfs(又は、出力値Vabyfsに対してハイパスフィルタ処理を施したハイパスフィルタ処理後出力値VHPF)」の「所定の単位時間当たりの変化量」を取得する。
【0100】
この「出力値Vabyfsの単位時間当たりの変化量」は、その単位時間が例えば4m秒程度の極めて短い時間であるとき、出力値Vabyfsの時間についての微分値(時間微分値d(Vabyfs)/dt、一階微分値d(Vabyfs)/dt)であると言うこともできる。従って、「出力値Vabyfsの単位時間当たりの変化量」は「変化率ΔAF」又は「傾きΔAF」とも称呼される。更に、変化率ΔAFは「基本指標量」又は「基本パラメータ」とも称呼される。
【0101】
(2)第1判定装置は、一つの単位燃焼サイクル期間において取得された複数の変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを求める。単位燃焼サイクル期間は、一つの空燃比センサ56に到達する排ガスを排出している気筒の総てにおいて、各一回の燃焼行程が終了するのに要するクランク角度が経過する期間である。本例の機関10は、直列4気筒・4サイクル・エンジンであり、且つ、一つの空燃比センサ56には第1〜第4気筒からの排ガスが到達する。よって、単位燃焼サイクル期間は720°クランク角度が経過する期間である。
【0102】
(3)第1判定装置は、複数の単位燃焼サイクル期間のそれぞれに対して求めた平均値AveΔAFの平均値を「補正前指標量RIMB(補正前空燃比変動指標量)」として求める。
(4)第1判定装置は、「後述する補正用出力値AveVaf」が大きくなるほど補正前指標量RIMBが小さくなるように、補正前指標量RIMBを補正用出力値AveVaf(実際には、補正用出力値AveVafを素子温度にて補正した後の補正用出力値AveVafh)に基いて補正し、この補正された値(補正後指標量)を空燃比変動指標量AFD(即ち、空燃比不均衡指標値RIMBh)として採用する。
【0103】
第1判定装置は、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth以上であるとき、空燃比気筒間インバランス状態が発生したと判定する。第1判定装置は、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth未満であるとき、空燃比気筒間インバランス状態が発生していないと判定する。
【0104】
(補正前指標量RIMBについて)
上述したように求められる補正前指標量RIMB(変化率ΔAFに相関する値)は、「気筒間における空燃比の不均一性の程度、即ち、気筒別空燃比差」が大きくなるほど大きくなる値である。以下、この理由について説明する。
【0105】
空燃比センサ56には、各気筒からの排ガスが点火順(故に、排気順)に到達する。気筒別空燃比差がない場合(気筒別空燃比の不均一性が発生していない場合)、各気筒から排出され且つ空燃比センサ56に到達する排ガスの空燃比は互いに略同一である。従って、気筒別空燃比差がない場合の出力値Vabyfsは、例えば、図8の(B)において破線C1により示したように変化する。即ち、気筒間における空燃比の不均一性がない場合、空燃比センサ56の出力値Vabyfsの波形は略平坦である。このため、図8の(C)において破線C3により示したように、気筒別空燃比差がない場合、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値は小さい。
【0106】
一方、「特定気筒(例えば、第1気筒)に対して燃料を噴射する燃料噴射弁33」の特性が「指示燃料噴射量よりも多い燃料を噴射する特性」となると、気筒別空燃比差が大きくなる。即ち、その特定気筒の排ガスの空燃比(インバランス気筒の空燃比)と、その特定気筒以外の気筒の排ガスの空燃比(非インバランス気筒の空燃比)と、は大きく相違する。
【0107】
従って、空燃比気筒間インバランス状態が発生している場合の出力値Vabyfsは、例えば図8の(B)の実線C2により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図8の(C)において実線C4により示したように、空燃比気筒間インバランス状態が発生している場合、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値は大きくなる。
【0108】
しかも、変化率ΔAFの絶対値|ΔAF|は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値であるときの出力値Vabyfsが図8(B)の実線C2のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第1の値の値よりも大きい第2の値」であるときの出力値Vabyfsは図8(B)の一点鎖線C2aのように変化する。
【0109】
従って、図9に示したように、変化率ΔAFの絶対値|ΔAF|の「複数の単位燃焼サイクル期間」における平均値AveΔAF(補正前指標量RIMB)は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど(実際のインバランス割合が大きくなるほど)大きくなる。
【0110】
(補正前指標量RIMBの補正)
ところで、空燃比センサ56の応答性は個々の空燃比センサ56毎に相違する。即ち、空燃比センサは個体差を有する。このため、気筒別空燃比の不均一性の程度が「ある特定の値」である場合において、応答性が高い空燃比センサの出力値は図10の(A)に示したように比較的大きく変動し、公差中央の応答性を有する空燃比センサの出力値は図10の(B)に示したように中程度の振れ幅にて変動し、応答性が低い空燃比センサの出力値は図10の(C)に示したように比較的小さく変動する。
【0111】
即ち、気筒別空燃比の不均一性の程度が「特定の値」であっても、空燃比センサ56の出力値Vabyfsの変動の様子が空燃比センサ56の応答性に依存して相違する。従って、補正前指標量RIMB「ある値」であったとしても、気筒別空燃比の不均一性の程度が相違する場合が生じる。この結果、補正前指標量RIMBをそのまま空燃比不均衡指標値として採用し、その空燃比不均衡指標値とインバランス判定用閾値Rthとの比較に基いてインバランス判定を実行すると、誤判定が生じる可能性がある。従って、補正前指標量RIMBを「空燃比センサ56の応答性を示す値」により補正し、その補正した値を空燃比不均衡指標値として採用してインバランス判定を行う必要がある。
【0112】
第1判定装置は、空燃比センサ56の応答性を示す値の一つとして、「フューエルカット運転中における空燃比センサ56の出力値Vabyfs」が大きいほど大きくなる補正用出力値(素子温度にて補正する前の補正用出力値)AveVafを「フューエルカット運転中における空燃比センサ56の出力値Vabyfs」が大きくなるほど大きくなる値として取得する。以下、補正用出力値AveVafが空燃比センサ56の応答性を示す理由について説明する。
【0113】
空燃比センサ56の限界電流値ILは、下記の(1)式(基本式)により表される。なお、前述したように、限界電流値ILが大きいほど出力値Vabyfsは大きくなる。
【数1】
【0114】
上記(1)式における各値は下記の通りである。
F:ファラデー定数
R:気体定数
T:素子の絶対温度(素子温度)
P:排ガス全圧(排ガス圧力)
PO2:排ガスの酸素分圧
D:拡散係数
S:拡散抵抗層断面積(排ガス側電極層562の面積相当値)
L:拡散距離(拡散抵抗層564の厚み相当値)
【0115】
ところで、フューエルカット運転中の排ガスは大気と実質的に同じガスであるから、フューエルカット運転中の排ガスの酸素濃度は大気の酸素濃度と等しい。更に、一般には、大気の酸素濃度は一定であると見做せるので、値(PO2/P)は大気圧が変化しても一定(1より小さい有限な値)である。従って、(1)式から理解されるように、大気圧が一定であり(フューエルカット運転中の排ガス全圧Pが一定であり)且つ素子温度Tが一定である場合、拡散距離Lが大きくなるほど限界電流値ILは小さくなる。一方、空燃比センサ56の応答性は、排ガス中の酸素(及び未燃物)が拡散抵抗層564を拡散するために必要な時間が短いほど高くなる。即ち、拡散距離Lが小さいほど、空燃比センサ56の応答性は高い。
【0116】
以上から、フューエルカット運転中の限界電流値ILに相当する空燃比センサ56の出力値Vabyfsは、空燃比センサ56の応答性と強い相関を有することが理解される。即ち、図11に概念的に示したように、フューエルカット運転中の限界電流値IL(出力値Vabyfs)が大きいほど、拡散距離Lが短いと考えられるので、空燃比センサ56の応答性は高くなる。
【0117】
以上から、「フューエルカット運転中の限界電流値IL(出力値Vabyfs)が大きくなるほど大きくなる補正用出力値AveVaf」が大きいほど、空燃比センサ56の応答性はより高い、ということが理解される。
【0118】
そこで、第1判定装置は、補正用出力値AveVafを算出し、補正用出力値AveVafが大きくなるほど(つまり、空燃比センサ56の応答性が高いほど)補正前指標量RIMBが小さくなるように、補正前指標量RIMBを補正用出力値AveVafに基いて補正する。更に、第1判定装置は、この補正された値を空燃比変動指標量AFD(即ち、インバランス判定に使用される空燃比不均衡指標値RIMBh)として取得する。
【0119】
この結果、空燃比センサ56の応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く示す空燃比不均衡指標値RIMBhを取得することができる。従って、インバランス判定を精度良く行うことができる。
【0120】
なお、(1)式から理解されるように、素子温度Tが高くなるほど限界電流値ILは小さくなる。換言すると、空燃比センサ56の応答性が一定であっても、素子温度Tが高い場合のフューエルカット運転中の限界電流値IL(出力値Vabyfs)は、素子温度Tが低い場合のフューエルカット運転中の限界電流値IL(出力値Vabyfs)に比べ、小さくなる。よって、フューエルカット運転中の限界電流値IL(出力値Vabyfs)が特定の値である場合、その素子温度Tが高いほど空燃比センサ56の応答性は高いと言うことができる。
【0121】
そこで、第1判定装置は、補正用出力値AveVafhを取得する際の空燃比センサ56の素子温度Tempの平均値を素子温度相関値として取得するとともに、素子温度相関値が高いほど補正用出力値AveVafがより大きくなるように補正用出力値AveVafを補正し、最終的な補正用出力値(素子温度補正後の補正用出力値)AveVafhを取得する。そして、第1判定装置は、その最終的な補正用出力値AveVafhに基いて上述したように補正前指標量RIMBを補正することにより、空燃比変動指標量AFD(即ち、インバランス判定に使用される空燃比不均衡指標値RIMBh)を取得する。
【0122】
(実際の作動)
次に、第1判定装置の実際の作動について説明する。
【0123】
<燃料噴射制御>
第1判定装置のCPUは、図12に示した燃料噴射制御ルーチンを、任意の気筒のクランク角度が吸気上死点前の所定クランク角度に一致する毎に、その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA(吸気上死点前90°クランク角度)である。クランク角度が前記所定クランク角度に一致した気筒は「燃料噴射気筒」とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量Fiの計算及び燃料噴射の指示を行う。
【0124】
任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ1200から処理を開始し、ステップ1210にてフューエルカットフラグXFCが「0」であるか否かを判定する。フューエルカットフラグXFCの値は、イニシャルルーチンにおいて「0」に設定される。更に、フューエルカットフラグXFCの値は、フューエルカット条件が成立したときに「1」に設定され、フューエルカット条件が不成立である場合「0」に設定される。なお、イニシャルルーチンは、機関10が搭載された車両のイグニッション・キー・スイッチがオフからオンに変更されたときにCPUにより実行されるルーチンである。
【0125】
フューエルカット条件は、例えば、フューエルカット条件が不成立と判定されている場合において、スロットル弁開度TAが「0」(スロットル弁34が全閉)であり、且つ、機関回転速度NEがフューエルカット回転速度NEth以上であるとき成立する。
【0126】
フューエルカット条件は、例えば、フューエルカット条件が成立していると判定されている場合において、スロットル弁開度TAが「0」(スロットル弁34が全閉)でなくなるか、又は、機関回転速度NEがフューエルカット復帰回転速度NErth未満となると不成立となる。フューエルカット復帰回転速度NErthは、フューエルカット回転速度NEthよりも正の所定回転速度だけ小さい回転速度である。
【0127】
いま、FC条件が成立してないために、フューエルカットフラグXFCの値が「0」であると仮定する。この場合、CPUは、ステップ1210にて「Yes」と判定し、以下に述べるステップ1220乃至ステップ1260の処理を順に行い、ステップ1295に進んで本ルーチンを一旦終了する。
【0128】
ステップ1220:CPUは、理論空燃比stoichからサブフィードバック量KSFBを減じた値を目標空燃比abyfrに設定する。サブフィードバック量KSFBは、後述する図14に示したルーチンにより別途求められている。
【0129】
ステップ1230:CPUは、「エアフローメータ51により計測された吸入空気量Ga、クランクポジションセンサ54の信号に基いて取得された機関回転速度NE、及び、ルックアップテーブルMapMc」に基いて「燃料噴射気筒の1回の吸気行程において、その燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Mc(k)」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気量推定モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
【0130】
ステップ1240:CPUは、筒内吸入空気量Mc(k)を目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。従って、基本燃料噴射量Fbaseは、機関の空燃比(従って、上流側触媒43に流入する排ガスの空燃比)を目標空燃比abyfrに一致させるために計算上必要な燃料噴射量のフィードフォワード量である。このステップ1240は、機関に供給される混合気の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード制御手段(基本燃料噴射量算出手段)を構成している。
【0131】
ステップ1250:CPUは、基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正する。より具体的には、CPUは、基本燃料噴射量Fbaseにメインフィードバック量DFiを加えることにより、指示燃料噴射量(最終燃料噴射量)Fiを算出する。メインフィードバック量DFiは、機関の空燃比(従って、上流側触媒43に流入する排ガスの空燃比)を目標空燃比abyfrに一致させるための空燃比フィードバック量であり、空燃比センサ56の出力値Vabyfsに基いて求められる。メインフィードバック量DFiの算出方法については後述する。
【0132】
ステップ1260:CPUは、「指示燃料噴射量Fiの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁33」から噴射させるための噴射指示信号を、その燃料噴射弁33に送出する。
【0133】
この結果、機関の空燃比を目標空燃比abyfrに一致させるために計算上必要な量(必要と推定される量)の燃料が燃料噴射気筒の燃料噴射弁33から噴射させられる。即ち、ステップ1230乃至ステップ1260は、「空燃比センサ56に到達する排ガスを排出している2以上の気筒(本例においては総ての気筒)の燃焼室21に供給される混合気の空燃比」が目標空燃比abyfrとなるように指示燃料噴射量Fiを制御する指示燃料噴射量制御手段を構成している。
【0134】
一方、CPUがステップ1210の処理を実行する時点において、フューエルカットフラグXFCの値が「1」に設定されていると、CPUはそのステップ1210にて「No」と判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。この場合、ステップ1260の処理による燃料噴射が実行されないので、フューエルカット運転(燃料供給停止制御)が実行される。
【0135】
<メインフィードバック量の算出>
CPUは図13にフローチャートにより示した「メインフィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1300から処理を開始し、ステップ1305に進んで「メインフィードバック制御条件(上流側空燃比フィードバック制御条件)」が成立しているか否かを判定する。
【0136】
メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(A1)空燃比センサ56が活性化している。
(A2)機関の負荷KLが閾値KLth以下である。
(A3)フューエルカット制御中でない(フューエルカットフラグXFCが「0」である。)。
【0137】
なお、負荷KLは、ここでは下記の(2)式により求められる負荷率である。この負荷KLに代え、アクセルペダル操作量Accpが用いられても良い。(2)式において、Mcは筒内吸入空気量であり、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、「4」は機関10の気筒数である。
KL=(Mc/(ρ・L/4))・100% …(2)
【0138】
いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、CPUはステップ1305にて「Yes」と判定して以下に述べるステップ1310乃至ステップ1340の処理を順に行い、ステップ1395に進んで本ルーチンを一旦終了する。
【0139】
ステップ1310:CPUは、図12のステップ1220にて算出され且つRAMに格納されている「Nサイクル前の目標空燃比abyfr(k−N)」を読み込む。
【0140】
ステップ1315:CPUは、下記(3)式に示したように、空燃比センサ56の出力値Vabyfsを図6に示したテーブルMapabyfsに適用することにより、検出空燃比abyfsを得る。
abyfs=Mapabyfs(Vabyfs) …(3)
【0141】
ステップ1320:CPUは、下記(4)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量」である「筒内燃料供給量Fc(k−N)」を求める。即ち、CPUは、「現時点よりもNサイクル(即ち、N・720°クランク角度)前の時点における筒内吸入空気量Mc(k−N)」を「検出空燃比abyfs」により除すことにより、筒内燃料供給量Fc(k−N)を求める。
Fc(k−N)=Mc(k−N)/abyfs …(4)
【0142】
このように、筒内燃料供給量Fc(k−N)を求めるために、現時点からNサイクル前の筒内吸入空気量Mc(k−N)を検出空燃比abyfsで除すのは、「燃焼室21内での混合気の燃焼により生成された排ガス」が空燃比センサ56に到達するまでに「Nサイクルに相当する時間」を要しているからである。
【0143】
ステップ1325:CPUは、下記(5)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に供給されるべきであった燃料の量」である「目標筒内燃料供給量Fcr(k−N)」を求める。即ち、CPUは、現時点からNサイクル前の筒内吸入空気量Mc(k−N)を現時点からNサイクル前の目標空燃比abyfr(k−N)で除すことにより、目標筒内燃料供給量Fcr(k−N)を求める。
Fcr(k−N)=Mc(k−N)/abyfr(k−N) …(5)
【0144】
ステップ1330:CPUは、下記(6)式に従って、筒内燃料供給量偏差DFcを取得する。即ち、CPUは、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc=Fcr(k−N)−Fc(k−N) …(6)
【0145】
ステップ1335:CPUは、下記(7)式に従って、メインフィードバック量DFiを求める。この(7)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。更に、(7)式の「値SDFc」は「筒内燃料供給量偏差DFcの積分値」である。つまり、CPUは、検出空燃比abyfsを目標空燃比abyfrに一致させるための比例積分制御により「メインフィードバック量DFi」を算出する。
DFi=Gp・DFc+Gi・SDFc …(7)
【0146】
ステップ1340:CPUは、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1330にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。
【0147】
以上により、メインフィードバック量DFiが比例積分制御により算出され、このメインフィードバック量DFiが前述した図12のステップ1250の処理により指示燃料噴射量Fiに反映される。
【0148】
一方、図13のステップ1305の判定時において、メインフィードバック制御条件が不成立であると、CPUはそのステップ1305にて「No」と判定してステップ1345に進み、メインフィードバック量DFiの値を「0」に設定する。次いで、CPUは、ステップ1350にて筒内燃料供給量偏差の積分値SDFcに「0」を格納する。その後、CPUは、ステップ1395に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiは「0」に設定される。従って、基本燃料噴射量Fbaseのメインフィードバック量DFiによる補正は行われない。
【0149】
<サブフィードバック量KSFB及びサブFB学習値KSFBgの算出>
CPUは図14にフローチャートにより示した「サブフィードバック量KSFB及びサブFB学習値KSFBgの算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1400から処理を開始してステップ1405に進み、サブフィードバック制御条件が成立しているか否かを判定する。
【0150】
サブフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(B1)メインフィードバック制御条件が成立している。
(B2)下流側酸素濃度センサ57が活性化している。
【0151】
いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、CPUはステップ1405にて「Yes」と判定し、以下に述べるステップ1410乃至ステップ1430の処理(サブフィードバック量算出処理)を実行し、その後、ステップ1435に進む。
【0152】
ステップ1410:CPUは、下記(8)式に従って、「下流側目標値Voxsref」と「下流側酸素濃度センサ57の出力値Voxs」との差である「出力偏差量DVoxs」を取得する。下流側目標値Voxsrefは、三元触媒43のウインドウ内の基準空燃比abyfr0に対応した値(例えば、理論空燃比)に相当する値に設定されている。即ち、CPUは、「下流側目標値Voxsref」から「現時点の下流側酸素濃度センサ57の出力値Voxs」を減じることにより「出力偏差量DVoxs」を求める。
DVoxs=Voxsref−Voxs …(8)
【0153】
ステップ1415:CPUは、下記(9)式に従って、「その時点における出力偏差量の積分値SDVoxs(=SDVoxs(n−1))」に「上記ステップ1410にて求めた出力偏差量DVoxsとゲインKとの積」を加えることにより、新たな出力偏差量の積分値SDVoxs(=SDVoxs(n))を求める。なお、ゲインKはここでは「1」に設定されている。積分値SDVoxsは「時間積分値SDVoxs又は積分処理値SDVoxs」とも称呼される。
SDVoxs(n)=SDVoxs(n−1)+K・DVoxs …(9)
【0154】
ステップ1420:CPUは、「上記ステップ1410にて算出した出力偏差量DVoxs」から「本ルーチンを前回実行した際に算出された出力偏差量である前回出力偏差量DVoxsold」を減じることにより、新たな出力偏差量の微分値DDVoxsを求める。
【0155】
ステップ1425:CPUは、下記(10)式に従って、サブフィードバック量KSFBを求める。この(10)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。即ち、Kp・DVoxsは比例項、Ki・SDVoxsは積分項、Kd・DDVoxsは微分項である。積分項Ki・SDVoxsは、サブフィードバック量KSFBの定常成分でもある。
KSFB=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs …(10)
【0156】
ステップ1430:CPUは、「上記ステップ1410にて算出した出力偏差量DVoxs」を「前回出力偏差量DVoxsold」として格納する。
【0157】
このように、CPUは、下流側酸素濃度センサ57の出力値Voxsを下流側目標値Voxsrefに一致させるための比例・積分・微分(PID)制御により「サブフィードバック量KSFB」を算出する。このサブフィードバック量KSFBは、前述したように、目標空燃比abyfrを算出するために使用される(abyfr=stoich−KSFB)。
【0158】
即ち、出力値Voxsが下流側目標値Voxsrefよりも小さいとき(リーンであるとき)、サブフィードバック量KSFBは次第に大きくなる。サブフィードバック量KSFBが大きくなるほど目標空燃比abyfrは小さくなる(リッチ側の空燃比になる)ように修正される。その結果、機関10の真の平均空燃比は小さくなる(リッチ側の空燃比になる)ので、出力値Voxsが下流側目標値Voxsrefに一致するように増大する。
【0159】
逆に、出力値Voxsが下流側目標値Voxsrefよりも大きいとき(リッチであるとき)、サブフィードバック量KSFBは次第に小さくなる(負の値を含む。)。サブフィードバック量KSFBが小さくなるほど目標空燃比abyfrは大きくなる(リーン側の空燃比となる)ように修正される。その結果、機関10の真の平均空燃比は大きくなる(リーン側の空燃比になる)ので、出力値Voxsが下流側目標値Voxsrefに一致するように減少する。
【0160】
CPUは、ステップ1435に進むと、前回のサブフィードバック量の学習値(サブFB学習値)KSFBgの更新時点から学習間隔時間Tthが経過しているか否かを判定する。このとき、前回のサブFB学習値KSFBgの更新時点から学習間隔時間Tthが経過していなければ、CPUはステップ1435にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。
【0161】
これに対し、CPUがステップ1435の処理を実行する時点において、前回のサブFB学習値KSFBgの更新時点から学習間隔時間Tthが経過していると、CPUはステップ1435にて「Yes」と判定してステップ1440に進み、その時点の積分値SDVoxsと積分ゲインKiとの積(Ki・SDVoxs)をサブFB学習値KSFBgとしてバックアップRAMに格納する。その後、CPUはステップ1495に進んで本ルーチンを一旦終了する。
【0162】
このように、CPUは、サブフィードバック量KSFBが更新される期間よりも長い期間(学習間隔時間Tth)が経過した時点におけるサブフィードバック量KSFBの定常項Ki・SDVoxsを、サブFB学習値KSFBgとして取り込む。
【0163】
なお、CPUは、積分項(定常項)Ki・SDVoxsをローパスフィルタ処理した後の値をサブFB学習値KSFBgとして取得してもよい。更に、CPUは、サブフィードバック量KSFBをローパスフィルタ処理した後の値をサブFB学習値KSFBgとして取得してもよい。即ち、サブFB学習値KSFBgは、サブフィードバック量KSFBの定常成分に応じた値であればよい。
【0164】
一方、CPUがステップ1405の処理を実行する時点においてサブフィードバック制御条件が成立していない場合、CPUはステップ1405にて「No」と判定し、ステップ1445に進んでサブFB学習値KSFBgをサブフィードバック量KSFBとして設定する。即ち、CPUは、サブフィードバック量KSFBの更新を停止する。次いで、CPUはステップ1450に進み、サブFB学習値KSFBgを積分ゲインKiで除した値(サブFB学習値KSFBg/積分ゲインKi)を、積分値SDVoxsとしてバックアップRAMに格納する。その後、CPUはステップ1495に進み、本ルーチンを一旦終了する。
【0165】
なお、第1判定装置は、サブフィードバック量を用いたサブフィードバック制御を実行しない態様であってもよい。この場合、図14のルーチンは省略される。更に、他のルーチンにおいて使用されるサブフィードバック量KSFBには「0」が代入される。
【0166】
<空燃比不均衡指標値の取得>
次に、空燃比不均衡指標値を取得するための処理について説明する。CPUは、4ms(上記単位時間である「所定の一定サンプリング時間ts」)が経過する毎に、図15にフローチャートにより示したルーチンを実行するようになっている。
【0167】
従って、所定のタイミングになると、CPUはステップ1500から処理を開始してステップ1505に進み、パラメータ取得許可フラグXkyokaの値が「1」であるか否かを判定する。
【0168】
このパラメータ取得許可フラグXkyokaの値は、絶対クランク角度CAが0°クランク角度になった時点において後述するパラメータ取得条件(空燃比不均衡指標値取得許可条件)が成立しているときに「1」に設定され、パラメータ取得条件が不成立になった時点において直ちに「0」に設定される。
【0169】
パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)が成立したときに成立する。従って、パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得条件を構成する条件は、以下の条件C1乃至条件C5に限定されることはない。
【0170】
(条件C1)エアフローメータ51により取得される吸入空気量Gaが、所定範囲内である。即ち、吸入空気量Gaが、低側閾値空気量GaLoth以上であり且つ高側閾値空気量GaHith以下である。
(条件C2)機関回転速度NEが所定範囲内である。即ち、機関回転速度NEが、低側閾値回転速度NELoth以上であり且つ高側閾値回転速度NEHith以下である。
(条件C3)冷却水温THWが閾値冷却水温THWth以上である。
(条件C4)メインフィードバック制御条件及びサブフィードバック制御条件が成立している。
(条件C5)フューエルカット制御中でない(フューエルカットフラグXFCが「0」である。)。
【0171】
いま、パラメータ取得許可フラグXkyokaの値が「1」であると仮定する。この場合、CPUはステップ1505にて「Yes」と判定してステップ1510に進み、「その時点の空燃比センサ56の出力値Vabyfs」を取得する。なお、CPUは、ステップ1510の処理の前に、本ルーチンを前回実行したときに取得した出力値Vabyfsを前回の出力値Vabyfsoldとして記憶する。即ち、前回の出力値Vabyfsoldは、現時点から4ms(サンプリング時間ts)前の時点における出力値Vabyfsである。前回の出力値Vabyfsの初期値は、上述したイニシャルルーチンにおいて理論空燃比に相当する値に設定されている。
【0172】
次に、CPUはステップ1515に進んで、
(A)出力値Vabyfsの変化率ΔAF(微分値d(Vabyfs)/dt)を取得し、
(B)変化率ΔAFの絶対値|ΔAF|の積算値SAFDを更新し、且つ、
(C)変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnを更新する。
以下、これらの更新方法について具体的に説明する。
【0173】
(A)変化率ΔAFの取得。
出力値Vabyfsの変化率ΔAF(微分値d(Vabyfs)/dt)は、補正前指標量RIMB(従って、空燃比不均衡指標値RIMBh)の元データとなるデータ(基本指標量、基本パラメータ)である。CPUは、この変化率ΔAFを、今回の出力値Vabyfsから前回の出力値Vabyfsoldを減じることによって取得する。即ち、今回の出力値VabyfsをVabyfs(n)、前回の出力値VabyfsoldをVabyfs(n−1)と表記すると、CPUはステップ1515にて「今回の変化率ΔAF(n)」を下記の(11)式に従って求める。
ΔAF(n)=Vabyfs(n)−Vabyfs(n−1) …(11)
【0174】
なお、CPUは、空燃比センサ56の出力値Vabyfsに含まれる機関10の中心空燃比の変動成分を出力値Vabyfsから除去するために、出力値Vabyfsにハイパスフィルタ処理を施した値(ハイパスフィルタ処理後出力値VHPF)を求め、そのハイパスフィルタ処理後出力値VHPFのサンプリング時間tsにおける変化量を変化率ΔAFとして取得してもよい。
【0175】
(B)変化率ΔAFの絶対値|ΔAF|の積算値SAFDの更新。
CPUは今回の積算値SAFD(n)を下記の(12)式に従って求める。即ち、CPUは、ステップ1515に進んだ時点における前回の積算値SAFD(n−1)に上記算出した今回の変化率ΔAF(n)の絶対値|ΔAF(n)|を加えることにより、積算値SAFDを更新する。
SAFD(n)=SAFD(n−1)+|ΔAF(n)| …(12)
【0176】
積算値SAFDに「今回の変化率ΔAF(n)の絶対値|ΔAF(n)|」を積算する理由は、図8の(B)及び(C)からも理解されるように、変化率ΔAF(n)は正の値にも負の値にもなるからである。なお、積算値SAFDも、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
【0177】
(C)変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnの更新。
CPUは、下記の(13)式に従って、カウンタCnの値を「1」だけ増大する。Cn(n)は更新後のカウンタCnであり、Cn(n−1)は更新前のカウンタCnである。このカウンタCnの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1545及びステップ1550にても「0」に設定される。従って、カウンタCnの値は、積算値SAFDに積算された変化率ΔAFの絶対値|ΔAF|のデータ数を示す。
Cn(n)=Cn(n−1)+1 …(13)
【0178】
次に、CPUはステップ1520に進み、基準気筒(本例では第1気筒)の圧縮上死点を基準としたクランク角度CA(絶対クランク角度CA)が720°クランク角度になっているか否かを判定する。このとき、絶対クランク角度CAが720°クランク角度未満であると、CPUはステップ1520にて「No」と判定してステップ1595に直接進み、本ルーチンを一旦終了する。
【0179】
なお、ステップ1520は、変化率ΔAFの絶対値|ΔAF|の平均値を求めるための最小単位の期間を定めるステップであり、ここでは「単位燃焼サイクル期間である720°クランク角度」がその最小期間に相当する。勿論、この最小期間は720°クランク角度よりも短くてもよいが、サンプリング時間tsの複数倍の長さ以上の期間であることが望ましい。更に、最小期間は、単位燃焼サイクル期間の自然数倍の期間であることが望ましい。
【0180】
一方、CPUがステップ1520の処理を行う時点において、絶対クランク角度CAが720°クランク角度になっていると、CPUはそのステップ1520にて「Yes」と判定してステップ1525に進む。
【0181】
CPUは、ステップ1525にて、
(D)変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出し、
(E)平均値AveΔAFの積算値Saveを更新し、且つ、
(F)積算回数カウンタCsを更新する。
以下、これらの更新方法について具体的に説明する。
【0182】
(D)変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFの算出。
CPUは、下記の(14)式に示したように、積算値SAFDをカウンタCnの値により除することにより、変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出する。この後、CPUは積算値SAFD及びカウンタCnの値を「0」に設定する。
AveΔAF=SAFD/Cn …(14)
【0183】
(E)平均値AveΔAFの積算値Saveの更新。
CPUは今回の積算値Save(n)を下記の(15)式に従って求める。即ち、CPUは、ステップ1525に進んだ時点における前回の積算値Save(n−1)に上記算出した今回の平均値AveΔAFを加えることにより、積算値Saveを更新する。この積算値Save(n)の値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1545にても「0」に設定される。
Save(n)=Save(n−1)+AveΔAF …(15)
【0184】
(F)積算回数カウンタCsの更新。
CPUは、下記の(16)式に従って、カウンタCsの値を「1」だけ増大する。Cs(n)は更新後のカウンタCsであり、Cs(n−1)は更新前のカウンタCsである。このカウンタCsの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1545にても「0」に設定される。従って、カウンタCsの値は、積算値Saveに積算された平均値AveΔAFのデータ数を示す。
Cs(n)=Cs(n−1)+1 …(16)
【0185】
次に、CPUはステップ1530に進み、カウンタCsの値が閾値Csth以上であるか否かを判定する。このとき、カウンタCsの値が閾値Csth未満であると、CPUはそのステップ1530にて「No」と判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。なお、閾値Csthは自然数であり、2以上であることが望ましい。
【0186】
一方、CPUがステップ1530の処理を行う時点において、カウンタCsの値が閾値Csth以上であると、CPUはそのステップ1530にて「Yes」と判定してステップ1535に進む。CPUは、そのステップ1535にて、下記(17)式に従って積算値SaveをカウンタCsの値(=Csth)によって除することにより、補正前指標量RIMB(空燃比センサ56の応答性補正前の空燃比不均衡指標値RIMB)を取得する。補正前指標量RIMBは、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値|ΔAF|の各単位燃焼サイクル期間における平均値AveΔAFを、複数(Csth個)の単位燃焼サイクル期間について平均した値である。
RIMB=Save/Csth …(17)
【0187】
次にCPUはステップ1540に進み、インバランス判定可能フラグXhanteiの値を「1」に設定する。インバランス判定可能フラグXhanteiの値は、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。従って、インバランス判定可能フラグXhanteiの値は、機関10の始動後において補正前指標量RIMBが取得されたときに「1」に設定される。
【0188】
次いで、CPUはステップ1545に進み、補正前指標量RIMBを算出するために用いられる各値(ΔAF,SAFD,Cn,AveΔAF,Save及び、Cs等)」を「0」に設定(クリア)する。その後、CPUはステップ1595に進んで本ルーチンを一旦終了する。
【0189】
一方、CPUがステップ1505に進んだ際にパラメータ取得許可フラグXkyokaの値が「1」でなければ、CPUはそのステップ1505にて「No」と判定してステップ1550に進む。CPUは、そのステップ1550にて「平均値AveΔAFを算出するために用いられる各値(ΔAF,SAFD,及び,Cn等)」を「0」に設定(クリア)する。次いで、CPUはステップ1595に進んで本ルーチンを一旦終了する。
【0190】
<空燃比気筒間インバランス判定>
次に、空燃比気筒間インバランス状態が発生したか否かを判定するためのルーチンについて説明する。CPUは、所定時間が経過する毎に図16にフローチャートにより示した「インバランス判定ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUは図16のステップ1600から処理を開始してステップ1605に進み、フューエルカットフラグXFCの値が「0」であるか否かを判定する。このとき、フューエルカットフラグXFCの値が「1」であると(即ち、フューエルカットが実行されていると)、CPUはステップ1605にて「No」と判定してステップ1695に進んで本ルーチンを一旦終了する。
【0191】
これに対し、CPUがステップ1605の処理を実行する時点において、フューエルカットフラグXFCの値が「0」であると、CPUはステップ1610に進み、インバランス判定完了フラグXFINの値が「0」であるか否かを判定する。
【0192】
インバランス判定完了フラグXFINの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。更に、インバランス判定完了フラグXFINの値は、インバランス判定が完了したときに「1」に設定される(後述するステップ1660を参照。)。インバランス判定完了フラグXFINの値が「1」であるとき、CPUはステップ1610にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。従って、インバランス判定は実行されない。
【0193】
いま、機関10の始動後においてインバランス判定が実行されていないと仮定する。この場合、インバランス判定完了フラグXFINの値は「0」であるから、CPUはステップ1610にて「Yes」と判定してステップ1615に進み、インバランス判定可能フラグXhanteiの値が「1」であるか否かを判定する。このとき、インバランス判定可能フラグXhanteiの値が「0」であると(即ち、上述したように、機関10の始動後において補正前指標量RIMBが取得されていないと)、CPUはステップ1615にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。従って、インバランス判定は実行されない。
【0194】
これに対し、図15のステップ1535の処理により補正前指標量RIMBが取得され、ステップ1540の処理によりインバランス判定可能フラグXhanteiの値が「1」に設定されると、CPUは図16のステップ1615にて「Yes」と判定してステップ1620に進む。CPUは、ステップ1620にて、補正可能フラグXhoseiの値が「1」であるか否かを判定する。
【0195】
補正可能フラグXhoseiの値は、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。更に、補正可能フラグXhoseiの値は、後述する図17及び図18のルーチンにより「補正用出力値AveVaf及び素子温度相関値AveTemp」が取得されたとき「1」に設定される(図18のステップ1855を参照。)。
【0196】
いま、補正可能フラグXhoseiの値が「0」であると仮定する。この場合、CPUはステップ1620にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。従って、インバランス判定は実行されない。
【0197】
これに対し、CPUがステップ1620の処理を実行する時点において、補正可能フラグXhoseiの値が「1」であると、CPUはステップ1620にて「Yes」と判定し、以下に述べるステップ1625乃至ステップ1640の処理を実行する。これにより、空燃比不均衡指標値RIMBhが取得される。
【0198】
ステップ1625:CPUは、素子温度相関値AveTempに基いて素子温度補正係数ktempを取得する。素子温度相関値AveTempは、後述する図17及び図18のルーチンにより求められる値であって、補正用出力値AveVafを算出した期間における空燃比センサ56の素子温度Tempの平均値である。素子温度補正係数ktempは、素子温度相関値AveTempが大きいほど大きくなるように決定される。より具体的に述べると、素子温度補正係数ktempは、素子温度相関値AveTempが基準温度(基準素子温度)T0よりも高くなるにつれて「1」よりも大きい範囲において次第に大きくなり、素子温度相関値AveTempが基準温度T0よりも低くなるにつれて「1」よりも小さい範囲において次第に小さくなるように決定される。
【0199】
ステップ1630:CPUは、補正用出力値AveVafに素子温度補正係数ktempを乗じることにより、素子温補正後の補正用出力値AveVafh(最終的な補正用出力値AveVafh)を取得する。補正用出力値AveVafは、後述する図17及び図18のルーチンにより求められる値であって、フューエルカット期間中の出力値Vabyfsの平均値である。
【0200】
ステップ1635:CPUは、補正用出力値AveVafhが大きくなるほど指標値補正係数kimbが小さくなるように、補正用出力値AveVafhに基いて指標値補正係数kimbを決定する。より具体的に述べると、指標値補正係数kimbは、補正用出力値AveVafhが「応答性が公差の中央値である空燃比センサ56が使用されている場合に補正用出力値AveVafhが一致する予定の値Vcn」よりも大きくなるにつれて「1」よりも小さい範囲において次第に小さくなり、補正用出力値AveVafhが値Vcnよりも小さくなるにつれて「1」よりも大きい範囲において次第に大きくなるように、決定される。
【0201】
ステップ1640:CPUは、補正前指標量RIMBに指標値補正係数kimbを乗じた値(補正前指標量RIMBと指標値補正係数kimbとの積)を、空燃比変動指標量AFD(即ち、インバランス判定に用いられる空燃比不均衡指標値RIMBh)として設定する。この結果、空燃比不均衡指標値RIMBhは、応答性が所定の値(公差中央値)であり且つ素子温度が基準温度T0である空燃比センサ56の出力値Vabyfsに基いて取得された空燃比変動指標量に一致する。従って、空燃比不均衡指標値RIMBhは、気筒別空燃比の不均一性の程度を精度良く表す値となる。
【0202】
次に、CPUはステップ1645に進み、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth以上であるか否かを判定する。
【0203】
そして、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth以上であると、CPUはステップ1645にて「Yes」と判定してステップ1650に進み、インバランス発生フラグXIMBの値を「1」に設定する。即ち、CPUは空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、CPUは図示しない警告ランプを点灯してもよい。なお、インバランス発生フラグXIMBの値はバックアップRAMに格納される。その後、CPUはステップ1660に進む。
【0204】
これに対し、CPUがステップ1645の処理を行う時点において、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth未満であると、CPUはステップ1645にて「No」と判定してステップ1655に進み、インバランス発生フラグXIMBの値を「2」に設定する。即ち、CPUは、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、CPUはステップ1660に進む。なお、ステップ1655は省略されてもよい。
【0205】
CPUはステップ1660にて、インバランス判定完了フラグXFINの値を「1」に設定し、ステップ1695に進んで本ルーチンを一旦終了する。
【0206】
以上により、変化率ΔAFに基いて得られた補正前指標量RIMBが補正用出力値AveVafhにより補正され、その補正された値(空燃比不均衡指標値RIMBh)に基いてインバランス判定が実行される。
【0207】
<補正用出力値AveVafhの取得>
次に、補正用出力値AveVaf及び素子温度相関値AveTempを取得するためのルーチン(図17及び図18)について説明する。CPUは、所定時間が経過する毎に図17及び図18にフローチャートにより示したルーチンをそれぞれ実行するようになっている。図17のルーチンは、フューエルカット状態が所定時間以上継続しているか否かを判定し、フューエルカット状態が所定時間以上継続している場合に補正用出力値AveVafの取得を許容するフラグ(取得許容フラグXenget)を「1」に設定するためのルーチンである。図18のルーチンは、取得許容フラグXengetの値が「1」であるとき、補正用出力値AveVaf等の取得を行うルーチンである。
【0208】
所定のタイミングになると、CPUは図17のステップ1700から処理を開始してステップ1710に進み、フューエルカットフラグXFCの値が「0」であるか否かを判定する。いま、フューエルカットフラグXFCの値が「0」であると仮定する(即ち、フューエルカットが実行されていないと仮定する)。この場合、CPUはステップ1710にて「Yes」と判定し、以下に述べるステップ1720及びステップ1730の処理を順に行い、その後、ステップ1795に進んで本ルーチンを一旦終了する。
【0209】
ステップ1720:CPUは、フューエルカット継続カウンタCFCの値を「0」に設定する。なお、フューエルカット継続カウンタCFCの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
【0210】
ステップ1730:CPUは、取得許容フラグXengetの値を「0」に設定する。なお、取得許容フラグXengetの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
【0211】
一方、CPUは図18のステップ1800から処理を開始してステップ1810に進み、取得許容フラグXengetの値が「1」であるか否かを判定する。現時点において取得許容フラグXengetの値は「0」である。従って、CPUはステップ1805にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。
【0212】
次に、フューエルカットフラグXFCの値が「1」に設定されることにより、フューエルカットが実行され始めたと仮定する。この場合、CPUはステップ1710に進んだとき、そのステップ1710にて「Yes」と判定してステップ1740に進み、フューエルカット継続カウンタCFCの値を「1」だけ増大する。
【0213】
次いで、CPUはステップ1750に進み、フューエルカット継続カウンタCFCの値がフューエルカット継続閾値時間CFCth以上であるか否かを判定する。この判定は、空燃比センサ56の周囲にフューエルカット運転中の排ガス(即ち、大気)が十分に存在することを保証するためのステップである。
【0214】
フューエルカットが「フューエルカット継続閾値時間CFCthに相当する時間」以上継続していなければ、CPUはステップ1750にて「No」と判定してステップ1770に直接進み、取得許容フラグXengetの値が「0」から「1」へと変更になった直後であるか否かを判定する。この場合、取得許容フラグXengetの値は「0」に維持されている。よって、CPUはステップ1770にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
【0215】
これに対し、フューエルカットが継続することによってフューエルカット継続カウンタCFCの値がフューエルカット継続閾値時間CFCth以上になると、CPUはステップ1750にて「Yes」と判定してステップ1760に進み、取得許容フラグXengetの値を「1」に設定する。
【0216】
この場合、CPUはステップ1770にても「Yes」と判定してステップ1780に進み、出力値積算値SVaf、素子温積算値STemp及びデータ数カウンタCSVの値を総て「0」に設定する。その後、CPUはステップ1795に進んで本ルーチンを一旦終了する。
【0217】
この状態(即ち、取得許容フラグXengetの値が「1」に設定された状態)において、CPUが図18のステップ1805の処理を実行すると、CPUはそのステップ1805にて「Yes」と判定してステップ1810に進む。CPUはステップ1810にて、データ数カウンタCSVの値を「1」だけ増大する。
【0218】
次に、CPUはステップ1815に進み、データ数カウンタCSVの値がデータ数閾値CSVth未満であるか否かを判定する。取得許容フラグXengetの値が「0」から「1」に変更された直後において、データ数カウンタCSVの値はデータ数閾値CSVth未満である。従って、CPUはステップ1815にて「Yes」と判定し、以下に述べるステップ1820及びステップ1825の処理を順に行い、ステップ1895に進んで本ルーチンを一旦終了する。
【0219】
ステップ1820:CPUは、出力値積算値SVafに、その時点の空燃比センサ56の出力値Vabyfsを加えることにより、出力値積算値SVafを更新する。即ち、出力値積算値SVafは出力値Vabyfsを積算した値となる。
【0220】
ステップ1825:CPUは、素子温積算値STempに、その時点の空燃比センサ56の素子温度Tempを加えることにより、素子温積算値STempを更新する。即ち、素子温積算値STempは素子温度Tempを積算した値となる。
【0221】
なお、素子温度Tempは、固体電解質層561の温度である。固体電解質層561の実際のアドミタンスは素子温度Tempが高いほど大きくなる。固体電解質層561の実際のインピーダンスは素子温度Tempが高いほど小さくなる。そこで、CPUは素子温度Temp(固体電解質層561の温度)を、固体電解質層561の実際のアドミタンスYactに基いて推定する。より具体的に述べると、CPUは、排ガス側電極層562と大気側電極層563との間に、「矩形波又は正弦波等の検知電圧」を「電源569による印加電圧」に周期的に重畳させ、その際に固体電解質層561に流れる電流と出力値Vabyfsとに基いて、実際の空燃比センサ56のアドミタンスYactを取得する。なお、アドミタンス(アドミタンスの逆数であるインピーダンス)の取得方法は周知であり、例えば、特開2001−74693号公報、特開2002−48761号公報及び特開2007−17191号公報等にも記載されている。
【0222】
フューエルカットが継続すると、図17のステップ1730の処理は実行されない。従って、取得許容フラグXengetの値は「1」に維持される。この結果、フューエルカット継続カウンタCFCの値は図18のステップ1810の処理により次第に増大し、データ数閾値CSVth以上になる。このとき、CPUが図18のステップ1815に進むと、CPUはそのステップ1815にて「No」と判定し、以下に述べるステップ1830乃至ステップ1855の処理を順に行い、その後、ステップ1895に進んで本ルーチンを一旦終了する。
【0223】
ステップ1830:CPUは、出力値積算値SVafの値をデータ数閾値CSVthで除することにより、素子温補正前の補正用出力値AveVafを求める。即ち、素子温補正前の補正用出力値AveVafは、フューエルカット開始後からフューエルカット継続閾値時間CFCthが経過した後におけるフューエルカット運転中の出力値Vabyfsのデータ数閾値CSVth分の平均値である。
【0224】
ステップ1835:CPUは、素子温積算値STempの値をデータ数閾値CSVthで除することにより、素子温度相関値AveTempを求める。即ち、素子温度相関値AveTempは、フューエルカット開始後からフューエルカット継続閾値時間CFCthが経過した後におけるフューエルカット運転中の素子温度Tempのデータ数閾値CSVth分の平均値である。
【0225】
ステップ1840:CPUは出力値積算値SVafの値を「0」に設定する。
ステップ1845:CPUは素子温積算値STempの値を「0」に設定する。
ステップ1850:CPUはデータ数カウンタCSVの値を「0」に設定する。
ステップ1855:CPUは補正可能フラグXhoseiの値を「1」に設定する。
【0226】
この結果、CPUは図16のステップ1620の処理を実行する時点において、そのステップ1620にて「Yes」と判定し、ステップ1625以降の処理を実行する。従って、インバランス判定が実行される。
【0227】
なお、フューエルカットがその後も継続されると、データ数カウンタCSVの値は「0」から次第に増大され(ステップ1850及びステップ1810を参照。)、データ数カウンタCSVの値がデータ数閾値CSVthに一致すると、ステップ1830及びステップ1835の処理により「素子温補正前の補正用出力値AveVaf及び素子温度相関値AveTemp」が更新される。更に、フューエルカット運転中においてはインバランス判定が実行されないので(図16のステップ1605における「No」との判定を参照。)、インバランス判定及び補正前指標量RIMBの補正は、最新の「素子温補正前の補正用出力値AveVaf及び素子温度相関値AveTemp」に基いて実行される。
【0228】
更に、データ数カウンタCSVの値がデータ数閾値CSVthに至る前にフューエルカットが終了すると(フューエルカットフラグXFCの値が「0」に設定されると)、CPUは図17のステップ1730にて取得許容フラグXengetの値を「0」に設定する。その結果、CPUは図18のステップ1805にて「No」と判定してステップ1895に直接進む。従って、この場合、それまでに更新された「出力値積算値SVaf及び素子温積算値STemp」は破棄される(図17のステップ1780を参照。)。
【0229】
以上、説明したように、第1判定装置は、
所定の指示燃料噴射量Fiに応じた量の燃料が複数の燃料噴射弁33のそれぞれから噴射されるように、複数の燃料噴射弁33に噴射指示信号を送出する噴射指示信号送出手段(図12を参照。)と、
所定のフューエルカット条件が成立したときに複数の燃料噴射弁33による燃料噴射を停止することによりフューエルカット運転を実行するフューエルカット手段(図12のステップ1210での「No」との判定を参照。)と、
複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比(気筒別空燃比)の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値RIMBhを取得する空燃比不均衡指標値取得手段(図15、及び、図16のステップ1605乃至ステップ1640を参照。)と、
前記取得された空燃比不均衡指標値RIMBhと所定のインバランス判定用閾値Rthとの比較の結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定するインバランス判定手段(図16のステップ1645乃至ステップ1655を参照。)と、
を備える。
【0230】
更に、第1判定装置の空燃比不均衡指標値取得手段は、
フューエルカット運転が実行されている期間における空燃比センサ56の出力値Vabyfsが大きいほど大きくなる補正用出力値AveVafを取得し(図17及び図18を参照。)、
前記空燃比不均衡指標値RIMBhとして、前記空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量であって前記補正用出力値AveVafが大きいほど小さくなる空燃比変動指標量を、空燃比センサ56の出力値Vabyfs及び補正用出力値AveVafに基いて取得するように構成されている(図15及び図16のステップ1625乃至ステップ1640を参照。)。
【0231】
これによれば、補正用出力値AveVafは空燃比センサ56の応答性が高いほど大きい値として取得されるので、取得される空燃比変動指標量(空燃比不均衡指標値RIMBh)は、実際の空燃比センサ56の応答性に依存することなく、空燃比センサ56の応答性が「特定の値(例えば、公差中央値)」にある場合に取得される空燃比変動指標量となる。従って、その空燃比変動指標量(即ち、空燃比不均衡指標値)は気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く行うことができる。
【0232】
更に、第1判定装置の空燃比不均衡指標値取得手段は、
空燃比センサ56の出力値Vabyfsに基いて「空燃比変動指標量の基本となる補正前指標量RIMB」を取得し(図15のステップ1510乃至ステップ1535を参照。)、
前記補正用出力値AveVafが大きいほど前記補正前指標量RIMBが小さくなるように、前記補正前指標量RIMBを前記補正用出力値AveVafに基いて補正することにより前記空燃比変動指標量RIMBhを取得するように構成される(図16のステップ1625乃至ステップ1640を参照。)。
【0233】
この結果、空燃比不均衡指標値RIMBhは空燃比センサ56の応答性に依らず気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く実施することができる。
【0234】
更に、第1判定装置の空燃比不均衡指標値取得手段は、
前記補正用出力値AveVafを取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値AveTempを取得し(図18のステップ1825及びステップ1835等を参照。)、
前記素子温度相関値AveTempが大きいほど前記補正用出力値AveVafが大きくなるように前記補正用出力値AveVafを前記素子温度相関値AveTempに基いて補正し、前記補正された補正用出力値AveVafhに基づいて前記補正前指標量RIMBを補正するように構成されている(図16のステップ1625乃至ステップ1640を参照。)。
【0235】
これによれば、素子温度相関値AveTempにより補正される補正用出力値AveVafhは、補正用出力値AveVafを取得しているときの空燃比センサの素子温度に関わらず、空燃比センサの応答性を示す値となる。従って、空燃比不均衡指標値RIMBhが気筒別空燃比の不均一性の程度を一層精度良く表すので、インバランス判定を精度良く実施することができる。
【0236】
<第1判定装置の第1変形例>
この第1変形例は、素子温度相関値AveTempが大きいほど補正前指標量RIMBが大きくなるように、補正前指標量RIMBを素子温度相関値AveTempに基いて直接補正することにより、空燃比変動指標量(空燃比不均衡指標値)RIMBhを取得する。
【0237】
これによっても、素子温度相関値AveTempに関わらず、空燃比不均衡指標値RIMBhが気筒別空燃比の不均一性の程度を一層精度良く表す値となるので、インバランス判定を精度良く実施することができる。
【0238】
<第1判定装置の第2変形例>
この第2変形例は、補正用出力値AveVaf(又は補正用出力値AveVafh)が大きいほど空燃比センサ56の出力値Vabyfsが小さくなるように空燃比センサ56の出力値Vabyfsを補正用出力値AveVafに基づいて補正することにより応答性補正後センサ出力値Vhを取得し、その応答性補正後センサ出力値Vhに基いて空燃比変動指標量RIMBhを取得するように構成される。即ち、応答性補正後センサ出力値Vhを「図15のステップ1510にて取得される出力値Vabyfs」と置換することにより、図15のステップ1535にて空燃比不均衡指標値RIMBhを直接取得する。更に、図16のステップ1625乃至ステップ1640のステップは省略される。
【0239】
これによれば、「応答性が高いほど大きくなる補正用出力値AveVaf」が大きいほど、空燃比センサ56の出力値Vabyfsが小さい値Vhへと補正される。従って、その補正された空燃比センサの出力値Vhに基いて取得される空燃比変動指標量は、空燃比センサ56の応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く示す値となる。この結果、インバランス判定を精度良く実施することができる。
【0240】
<第1判定装置の第3変形例>
第1判定装置及びその変形例において、素子温度相関値AveTempに基く補正は省略されてもよい。この場合、例えば、図16のステップ1625は省略され、ステップ1630の素子温度補正係数ktempには「1」が代入される。更に、図18のステップ1825、ステップ1835及びステップ1845は省略される。
【0241】
<第1判定装置の第4変形例>
第4変形例は、図16のステップ1625乃至ステップ1635の処理を、図18のステップ1835とステップ1840との間に実行するように構成されている。これによれば、補正用出力値AveVaf及び素子温度相関値AveTempが取得される毎に、指標値補正係数kimbが算出される。
【0242】
<第1判定装置の第5変形例>
第5変形例は、図16のステップ1625乃至ステップ1640の処理を、図15のステップ1535とステップ1540との間に実行するように構成されている。これによれば、補正前指標量RIMBが取得される毎に、補正前指標量RIMBが補正用出力値AveVafh(補正用出力値AveVaf及び素子温度相関値AveTemp)に基いて補正される。
【0243】
<第2実施形態>
次に、本発明の第2実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第2判定装置」と称呼する。)について説明する。第2判定装置は、補正用出力値AveVafが取得された時点からの車両の走行距離が閾値走行距離以上になっている場合、空燃比不均衡指標値RIMBhの算出を実行せず、且つ、インバランス判定を実行しないように構成されている点において、第1判定装置と相違する。以下、この相違点について説明する。
【0244】
上述したように、上記(1)式の右辺の値(PO2/P)は大気圧が変化しても一定である。従って、上記(1)式から、限界電流値ILは排ガスの全圧Pに比例することが理解される。従って、限界電流値IL(出力値Vabyfs)は、機関10を搭載した車両が大気圧が大きい低地にて運転されている場合と、大気圧が小さい高地にて運転されている場合と、で大きく相違する。即ち、出力値Vabyfsは高度により変化する。
【0245】
一方、補正前指標量RIMBは、パラメータ取得条件が継続的に成立しない場合(パラメータ取得許可フラグXkyokaが「0」の場合)、取得されるまでに時間を要する。従って、補正用出力値AveVafが取得された時点における車両高度と、補正前指標量RIMBが取得された時点における車両高度と、が大きく相違する場合がある。この場合、補正用出力値AveVafは、補正前指標量RIMBを取得した時点における空燃比センサ56の応答性を精度良く表していないので、補正前指標量RIMBを補正する値として適切ではない。
【0246】
他方、車両の走行距離が長くなるほど、車両の高度が変化している可能性が高くなる。そこで、第2判定装置は、補正用出力値AveVafが取得された時点からの車両の走行距離が閾値走行距離以上になっている場合、補正用出力値AveVafhを用いた空燃比不均衡指標値RIMBhの算出を実行せず、且つ、インバランス判定を実行しない。
【0247】
(実際の作動)
第2判定装置のCPUは、第1判定装置のCPUと同じルーチンを実行する。更に、第2判定装置のCPUは、図19に示したルーチンを所定時間の経過毎に実行する。
【0248】
従って、所定のタイミングになると、CPUはステップ1900から処理を開始してステップ1910に進み、現時点が「補正用出力値AveVafが図18のステップ1830にて更新された直後の時点」であるか否かを判定する。
【0249】
このとき、現時点が「補正用出力値AveVafが図18のステップ1830にて更新された直後の時点」であると、CPUはステップ1910にて「Yes」と判定してステップ1920に進み、走行距離Disを「0」に設定する。次いで、CPUはステップ1940に進む。
【0250】
一方、CPUがステップ1910の処理を実行する時点において、補正用出力値AveVafが更新された直後の時点でなければ、CPUはそのステップ1910にて「No」と判定してステップ1930に進み、走行距離Disに車速spdを加算する。即ち、CPUは、車速spdを積分(積算)することにより走行距離Disを更新する。次いで、CPUはステップ1940に進む。
【0251】
この結果、走行距離Disは、補正用出力値AveVafが更新された時点からの車両の走行距離(移動距離)を示す値となる。
【0252】
CPUはステップ1940にて、走行距離Disが閾値走行距離Disth以上であるか否かを判定する。閾値走行距離Disthは、車両がこの閾値走行距離Disth以上走行した場合、車両の高度が変化し、従って、補正用出力値AveVafが補正前指標量RIMBを補正することに対して不適切な値となる可能性が高い値に設定されている。
【0253】
走行距離Disが閾値走行距離Disth未満であると、CPUはステップ1940にて「No」と判定し、ステップ1995に直接進んで本ルーチンを一旦終了する。
【0254】
これに対し、走行距離Disが閾値走行距離Disth以上であると、CPUはステップ1940にて「Yes」と判定し、以下に述べるステップ1950及びステップ1960の処理を順に行い、ステップ1995に進んで本ルーチンを一旦終了する。
【0255】
ステップ1940:CPUは、補正可能フラグXhoseiの値を「0」に設定する。これにより、CPUが図16のステップ1620に進んだ場合、そのステップ1620にて「No」と判定する。その結果、図16のステップ1625以降の処理が実行されないので、補正前指標量RIMBの補正(空燃比不均衡指標値RIMBhの算出)及びインバランス判定は実行されない。
【0256】
ステップ1950:CPUは、インバランス判定可能フラグXhanteiの値を「0」に設定する。これにより、CPUが図16のステップ1615に進んだ場合、そのステップ1615にて「No」と判定する。その結果、図16のステップ1625以降の処理が実行されないので、補正前指標量RIMBの補正(空燃比不均衡指標値RIMBhの算出)及びインバランス判定は実行されない。
【0257】
なお、図19の「ステップ1950及びステップ1960」の何れか一方は省略されてもよい。
【0258】
第2判定装置によれば、「不適切な補正用出力値AveVafに基いて取得又は補正された空燃比不均衡指標値に基いてインバランス判定が実施されること」がないので、誤判定が発生することを回避することができる。
【0259】
以上、説明したように、本発明の各実施形態に係る空燃比気筒間インバランス判定装置は、空燃比センサ56の応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く表す空燃比不均衡指標値を取得することができるので、インバランス判定を精度良く実行することができる。
【0260】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、補正前指標量RIMBは、次に述べるような方法により取得されてもよい。なお、以下に述べる空燃比センサ56の出力値Vabyfsは、空燃比センサ56の出力値Vabyfsに相関する値を意味する。即ち、以下に述べる空燃比センサ56の出力値Vabyfsは、空燃比センサ56の出力値Vabyfsそのものでもよく、空燃比センサ56の出力値Vabyfsから機関10の空燃比平均(中心空燃比、ベース空燃比)の変動成分が除去されるように、空燃比センサ56の出力値Vabyfsに対してハイパスフィルタ処理を施した値(ハイパスフィルタ処理後出力値VHPF)であってもよい。
【0261】
(A−1)
判定装置は、上述したように、
空燃比センサ56の出力値Vabyfsの時間についての微分値d(Vabyfs)/dt(変化率ΔAF)を取得するとともに、取得した微分値d(Vabyfs)/dtに相関する値を補正前指標量RIMBとして取得するように構成され得る。
【0262】
取得した微分値d(Vabyfs)/dtに相関する値の一例は、上述したように、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された微分値d(Vabyfs)/dtの絶対値の平均値である。取得した微分値d(Vabyfs)/dtに相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された微分値d(Vabyfs)/dtの絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0263】
取得した微分値d(Vabyfs)/dtに相関する値の更に別の一例は、次のように取得してもよい。
・単位燃焼サイクル期間において、正の値を有する微分値d(Vabyfs)/dtの絶対値を所定サンプル時間の経過毎に取得し、それらの平均値ΔAFPLを求める。
・単位燃焼サイクル期間において、負の値を有する微分値d(Vabyfs)/dtの絶対値を所定サンプル時間の経過毎に取得し、それらの平均値ΔAFMNを求める。
・一つの単位燃焼サイクル期間において、平均値ΔAFPLと平均値ΔAFMNのうちの大きい方を、その単位燃焼サイクル期間における変化率ΔAFとして採用する。
・複数の単位燃焼サイクル期間のそれぞれにおいて上記のようにして取得したΔAFの平均値を補正前指標量RIMBとして採用する。
【0264】
(A−2)
判定装置は、
空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtを取得するとともに、その取得した微分値d(abyfs)/dt値に相関する値を補正前指標量RIMBとして取得するように構成され得る。
【0265】
取得した微分値d(abyfs)/dt値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された微分値d(abyfs)/dtの絶対値の平均値である。取得した微分値d(abyfs)/dtに相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された微分値d(abyfs)/dtの絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0266】
(A−3)
判定装置は、
空燃比センサ56の出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2を取得するとともに、その取得した二階微分値d2(Vabyfs)/dt2に相関する値を補正前指標量RIMBとして取得するように構成され得る。二階微分値d2(Vabyfs)/dt2は、気筒別空燃比差が小さい場合には図8の(D)の破線C5に示したように相対的に小さい値となり、気筒別空燃比差が大きい場合には図8の(D)の実線C6に示したように相対的に大きい値となる。
【0267】
なお、二階微分値d2(Vabyfs)/dt2は、現時点の出力値Vabyfsから一定のサンプリング時間前の出力値Vabyfsを減じることにより、一定のサンプリング時間毎の微分値d(Vabyfs)/dtを求め、新たに求められた微分値d(Vabyfs)/dtから一定のサンプリング時間前の微分値d(Vabyfs)/dtを減じることにより求めることができる。
【0268】
取得した二階微分値d2(Vabyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(Vabyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(Vabyfs)/dt2値に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(Vabyfs)/dt2値の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0269】
(A−4)
判定装置は、
空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2を取得するとともに、その取得した二階微分値d2(abyfs)/dt2に相関する値を補正前指標量RIMBとして取得するように構成され得る。出力値Vabyfsと検出空燃比abyfsとは実質的に比例関係にあるので(図6を参照。)、二階微分値d2(abyfs)/dt2は、出力値Vabyfsの二階微分値d2(abyfs)/dt2と同様の傾向を示す。
【0270】
取得した二階微分値d2(abyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(abyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(abyfs)/dt2に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(abyfs)/dt2の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0271】
(A−5)
判定装置は、
空燃比センサ56の出力値Vabyfsの所定期間(例えば、単位燃焼サイクル期間の自然数倍の期間)における最大値と最小値との差ΔXに相関する値、又は、空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値との差ΔYに相関する値を、補正前指標量RIMBとして取得するように構成され得る。図8の(B)に示した実線C2及び破線C1から明らかなように、この差ΔX(ΔXの絶対値)及び差ΔY(ΔYの絶対値)は、気筒別空燃比差が大きいほど大きくなる。従って、差ΔX(ΔXの絶対値)は、気筒別空燃比差が大きいほど大きくなる。差ΔX(又は差ΔY)に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された差ΔX(又はΔY)の絶対値の平均値である。
【0272】
(A−6)
判定装置は、
補正前指標量RIMBとして、空燃比センサ56の出力値Vabyfsの所定期間おける軌跡長に相関する値、又は、空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの前記所定期間における軌跡長に相関する値を取得するように構成され得る。これらの軌跡長は、図8の(B)からも明らかなように、気筒別空燃比差が大きいほど大きくなる。軌跡長に相関する値は、例えば、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された軌跡長の絶対値の平均値である。
【0273】
なお、例えば、検出空燃比abyfsの軌跡長は、一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得するとともに、その出力値Vabyfsを検出空燃比abyfsへと変換し、その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差の絶対値を積算することによって求めることができる。
【0274】
加えて、上記各判定装置は、V型エンジンにも適用することができる。その場合、V型エンジンは右バンクに属する2以上の気筒の排気集合部よりも下流に右バンク上流側触媒を備える。更に、そのV型エンジンは、左バンクに属する2以上の気筒の排気集合部よりも下流に左バンク上流側触媒を備える。
【0275】
加えて、そのV型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側酸素濃度センサをそれぞれ備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側酸素濃度センサをそれぞれ備えることができる。各上流側空燃比センサは、上記空燃比センサ56と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
【0276】
更に、この場合、判定装置は、右バンク用の上流側空燃比センサの出力値に基いて「右バンク用の空燃比不均衡指標値RIMBh」を求め、それを用いて右バンクに属する気筒のインバランス判定を実行してもよい。同様に、判定装置は、左バンク用の上流側空燃比センサの出力値に基いて「左バンク用の空燃比不均衡指標値RIMBh」を求め、それを用いて左バンクに属する気筒のインバランス判定を実行してもよい。
【0277】
更に、上記第1判定装置及び上記第2判定装置において、サブフィードバック量KSFBは目標空燃比abyfrを直接的に修正する値であった。これに代え、「サブフィードバック量KSFBと同様に算出されるサブフィードバック量Vafsfb」を下記の(18)式のように空燃比センサ56の出力値Vabyfsに加えることによりフィードバック制御用出力値Vabyfcを取得してもよい。
Vabyfc=Vabyfs+Vafsfb …(18)
【0278】
そして、下記(19)式に示したように、そのフィードバック制御用出力値Vabyfcを図6に示したテーブルMapabyfsに適用することによりフィードバック制御用空燃比abyfscを取得し、そのフィードバック制御用空燃比abyfscが目標空燃比abyfr(=stoich)」に一致するように、メインフィードバック量DFiを求めてもよい。即ち、この形態は、目標空燃比abyfrをサブフィードバック量により直接的に修正するのではなく、空燃比センサ56の出力値Vabyfsをサブフィードバック量により補正することによって目標空燃比abyfrを実質的に補正する。
abyfsc=Mapabyfs(Vabyfc) …(19)
【符号の説明】
【0279】
10…多気筒内燃機関、21…燃焼室、33…燃料噴射弁、41…エキゾーストマニホールド、41a…枝部、41b…集合部(排気集合部)、42…エキゾーストパイプ、43…三元触媒(上流側触媒)、56…上流側空燃比センサ、57…下流側酸素濃度センサ、70…電気制御装置。
【技術分野】
【0001】
本発明は、空燃比気筒間インバランス判定装置に関する。
【背景技術】
【0002】
従来から、図1に示したように、多気筒内燃機関10の排気通路に配設された三元触媒43と、その三元触媒43の上流に配置された上流側空燃比センサ56と、を備えた空燃比制御装置が広く知られている。
【0003】
この空燃比制御装置は、機関10に供給される混合気の空燃比(機関の空燃比、従って、排ガスの空燃比)が目標空燃比と一致するように、上流側空燃比センサ56の出力値に基いて空燃比フィードバック量(メインフィードバック量)を算出し、そのフィードバック量により機関の空燃比をフィードバック制御するようになっている。このフィードバック量は、全気筒に対して共通する制御量である。目標空燃比は、三元触媒43のウインドウ内の所定の基準空燃比に設定される。基準空燃比は、一般に、理論空燃比である。基準空燃比は、機関の吸入空気量及び三元触媒43の劣化度等に応じて理論空燃比の近傍の値に変更され得る。
【0004】
ところで、一般に、このような空燃比制御装置は電子制御式燃料噴射装置を採用した内燃機関に適用される。その内燃機関は、各気筒又は各気筒に連通した吸気ポートに少なくとも一つの燃料噴射弁33を備えている。従って、ある特定の気筒の燃料噴射弁の特性が「指示された燃料噴射量(指示燃料噴射量)よりも過大な量の燃料を噴射する特性」となると、その特定の気筒に供給される混合気の空燃比(その特定気筒の空燃比)のみが大きくリッチ側に変化する。即ち、気筒間における空燃比の不均一性(空燃比気筒間ばらつき、空燃比の気筒間インバランス割合)が大きくなる。換言すると、各気筒に供給される混合気の空燃比である「気筒別空燃比」の間に著しい不均衡が生じ、気筒別空燃比の不均一性の程度が大きくなる。
【0005】
なお、以下において、「指示燃料噴射量よりも過大又は過小な量の燃料を噴射する特性を有する燃料噴射弁」に対応する気筒を「インバランス気筒」とも称呼し、残りの気筒(「指示燃料噴射量の燃料を噴射する燃料噴射弁」に対応する気筒)を非インバランス気筒(又は正常気筒)とも称呼する。
【0006】
ある特定の気筒の燃料噴射弁の特性が「指示燃料噴射量よりも過大な量の燃料を噴射する特性」となると、機関全体に供給される混合気の空燃比の平均は、基準空燃比に設定された目標空燃比よりもリッチ側の空燃比となる。従って、全気筒に対して共通する空燃比のフィードバック量により、上記特定の気筒の空燃比は基準空燃比に近づけられるようにリーン側へと変更させられ、同時に、他の気筒の空燃比は基準空燃比から遠ざけられるようにリーン側へと変更させられる。この結果、機関全体に供給される混合気の空燃比の平均(排ガスの平均空燃比)は基準空燃比の近傍の空燃比に一致する。
【0007】
しかしながら、上記特定の気筒の空燃比は依然として基準空燃比よりもリッチ側の空燃比となり、残りの気筒の空燃比は基準空燃比よりもリーン側の空燃比となる。この結果、各気筒の空燃比が基準空燃比である場合に比べ、各気筒から排出されるエミッションの量(未燃物の量及び/又は窒素酸化物の量)が増大する。このため、機関に供給される混合気の空燃比の平均が基準空燃比であったとしても、増大したエミッションを三元触媒が浄化しきれず、結果として、エミッションが悪化する虞がある。
【0008】
従って、気筒別空燃比の気筒間における不均一性が過大になっていること(気筒間における空燃比の不均一性が過大になっていること、即ち、空燃比気筒間インバランス状態が発生していること)を検出し、何らかの対策を講じさせるようにすることは、エミッションを悪化させないために重要である。なお、空燃比気筒間インバランスは、特定の気筒の燃料噴射弁の特性が「指示燃料噴射量よりも過小な量の燃料を噴射する特性」となった場合等にも発生する。
【0009】
従来の空燃比気筒間インバランス判定装置の一つは、三元触媒43の上流に配置された起電力式の酸素濃度センサの出力値(出力信号)の軌跡長を「空燃比不均衡指標値(インバランス判定用パラメータ)」として取得する。更に、この判定装置は、その軌跡長と「機関回転速度に応じて変化する参照値」とを比較し、その比較結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定する(例えば、特許文献1を参照。)。なお、空燃比気筒間インバランス状態が発生したか否かの判定は、単に、「インバランス判定」とも称呼される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国特許第7,152,594号明細書
【発明の概要】
【0011】
インバランス判定用閾値と比較されることにより空燃比気筒間インバランス状態が発生しているか否かを判定することができる空燃比不均衡指標値は、「気筒別空燃比の複数の気筒間における不均一性の程度(気筒別空燃比の不均一性の程度)」が大きいほど大きくなるパラメータである。
【0012】
一方、従来の空燃比制御装置の一つは、上流側空燃比センサ56として、所謂「限界電流式の空燃比センサ」を採用している。この場合、空燃比不均衡指標値は、上流側空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量として取得され得る。これは、気筒別空燃比の不均一性の程度が大きくなるとインバランス気筒からの排ガスと非インバランス気筒からの排ガスとが順次に排出されるので、気筒別空燃比の不均一性の程度が大きいほど排ガスの空燃比の変動が大きくなるからである。なお、以下において、限界電流式の空燃比センサは、単に「空燃比センサ」とも称呼される。
【0013】
空燃比変動指標量は、後述するように、「空燃比センサの出力値に基いて算出される種々の基本指標量」に基いて取得され得る。基本指標量の代表例は、「空燃比センサの出力値、空燃比センサの出力値にハイパスフィルタ処理を施したハイパスフィルタ処理後出力値、及び、空燃比センサの出力値により表される空燃比(上流側空燃比)」等の時間に関する「微分値(時間微分値、即ち、傾き)及び二階微分値」等である。
【0014】
ところが、限界電流式の空燃比センサの応答性(検出しようとする排ガスの空燃比の変化に対する空燃比センサの出力値の変化)は、個々の空燃比センサにより相違する。即ち、空燃比センサは個体差を有する。このため、気筒別空燃比の不均一性の程度が「ある特定の値」である場合において、応答性が高い空燃比センサの出力値は図10の(A)に示したように変動し、公差中央の応答性を有する空燃比センサの出力値は図10の(B)に示したように変動し、応答性が低い空燃比センサの出力値は図10の(C)に示したように変動する。即ち、気筒別空燃比の不均一性の程度が「特定の値」であっても、空燃比センサの出力値の変動の様子は空燃比センサの応答性に依存して相違する。従って、空燃比変動指標量が「ある値」であったとしても、気筒別空燃比の不均一性の程度が相違している場合が存在する。この結果、空燃比変動指標量に基いて得られた空燃比不均衡指標値とインバランス判定用閾値との比較に基いてインバランス判定を実行すると、誤判定が生じる可能性がある。
【0015】
本発明は上述した課題に対処するためになされたものである。即ち、本発明の目的の一つは、空燃比センサの応答性に関わらず「気筒別空燃比の不均一性の程度を精度良く表す空燃比不均衡指標値」を空燃比センサの出力値に基いて取得することにより、インバランス判定を精度良く実施することができる空燃比気筒間インバランス判定装置を提供することにある。
【0016】
本発明に係る空燃比気筒間インバランス判定装置(以下、単に「本発明装置」と称呼する。)は、限界電流式の空燃比センサと、複数の燃料噴射弁と、噴射指示信号送出手段と、フューエルカット手段と、空燃比不均衡指標値取得手段と、インバランス判定手段と、を備える。
【0017】
前記限界電流式の空燃比センサは、多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気集合部よりも下流に配設される。
【0018】
前記複数の燃料噴射弁のそれぞれは、前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成されている。
【0019】
前記噴射指示信号送出手段は、所定の指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する。前記所定の指示燃料噴射量は、例えば、「前記空燃比センサよりも下流の排気通路に配設された三元触媒」に流入する排ガスの空燃比が目標空燃比に一致するように、「前記燃料噴射弁から噴射される燃料の量」を「少なくとも前記空燃比センサの出力値に基いてフィードバック補正すること」により決定され得る。
【0020】
前記フューエルカット手段は、所定のフューエルカット条件が成立したときに前記複数の燃料噴射弁による燃料噴射を停止することにより、フューエルカット運転を実行する。
【0021】
前記空燃比不均衡指標値取得手段は、前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を取得する。
【0022】
前記インバランス判定手段は、前記取得された空燃比不均衡指標値と所定のインバランス判定用閾値との比較の結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定する。
【0023】
更に、本発明装置における前記空燃比不均衡指標値取得手段は、前記フューエルカット運転が実行されている期間における前記空燃比センサの出力値が大きいほど大きくなる補正用出力値を取得するように構成されている。
【0024】
後述するように、フューエルカット運転中における空燃比センサの出力値は、その空燃比センサの応答性と強い相関を有する。即ち、フューエルカット運転中における空燃比センサの出力値が大きいほど、空燃比センサの応答性は高い。そこで、本発明装置は、フューエルカット運転中の前記空燃比センサの出力値が大きいほど大きくなる補正用出力値をフューエルカット運転中の空燃比センサの出力値に基いて取得する。従って、気筒別空燃比の不均一性の程度が「ある特定値」であったとしても、補正用出力値が第1の値である場合に「空燃比センサの出力値の変動が大きいほど大きくなるように空燃比センサの出力値に基いて取得される空燃比変動指標量」は、補正用出力値が「第1の値よりも小さい第2の値」である場合に「空燃比センサの出力値の変動が大きいほど大きくなるように空燃比センサの出力値に基いて取得される空燃比変動指標量」よりも大きくなる。
【0025】
そこで、本発明装置における前記空燃比不均衡指標値取得手段は、前記空燃比不均衡指標値として、「前記空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量であって、且つ、前記補正用出力値が大きいほど小さくなる空燃比変動指標量」を前記空燃比センサの出力値及び前記補正用出力値に基いて取得するように構成されている。
【0026】
この結果、取得される空燃比変動指標量は、実際の空燃比センサの応答性に依存することなく、空燃比センサの応答性が「特定の値(例えば、公差中央値)」にある場合に取得される空燃比変動指標量となる。従って、その空燃比変動指標量(即ち、空燃比不均衡指標値)は気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く行うことができる。
【0027】
本発明装置の一態様において、
前記空燃比不均衡指標値取得手段は、
前記空燃比センサの出力値に基いて前記空燃比変動指標量の基本となる補正前指標量を取得し、
前記補正用出力値が大きいほど前記補正前指標量が小さくなるように前記補正前指標量を前記補正用出力値に基いて補正することにより前記空燃比変動指標量を取得するように構成される。
【0028】
これによれば、先ず、空燃比センサの出力値に基いて前記空燃比変動指標量の基本となる補正前指標量が求められ、次いで、その補正前指標値が補正用出力値(即ち、空燃比センサの応答性が高いほど大きくなる値)に基いて、補正用出力値が大きくなるほど小さくなるように補正される。そして、その補正された値(空燃比変動指標量)が空燃比不均衡指標値として採用され且つインバランス判定用閾値と比較される。この結果、空燃比不均衡指標値は空燃比センサの応答性に依らず気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く実施することができる。
【0029】
更に、前記空燃比不均衡指標値取得手段は、
前記補正用出力値を取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値を取得し、
前記素子温度相関値が大きいほど前記補正用出力値が大きくなるように前記補正用出力値を前記素子温度相関値に基いて補正し、前記補正された補正用出力値に基づいて前記補正前指標量を補正するように構成され得る。
【0030】
空燃比センサの応答性は、空燃比センサの素子温度が高いほど良好である。一方、フューエルカット運転中の空燃比センサの出力値は、後述するように、素子温度が高いほど小さくなる(下記の(1)式を参照。)。従って、補正用出力値を取得した際の素子温度が高い場合には、その素子温度が低い場合に比べ、「空燃比センサの応答性が高いほど大きくなる補正用出力値」をより大きくすることが望ましい。
【0031】
従って、上記構成によれば、素子温度相関値により補正される補正用出力値は、補正用出力値を取得しているときの空燃比センサの素子温度に関わらず、空燃比センサの応答性を示す値となる。この結果、補正前指標量を補正用出力値により補正した値である空燃比不均衡指標値は、補正用出力値を取得しているときの空燃比センサの素子温度に依存せず、気筒別空燃比の不均一性の程度をより一層精度良く示す値となるので、インバランス判定をより精度良く実施することができる。
【0032】
前記空燃比変動指標量(空燃比不均衡指標値)は、前記素子温度相関値が大きいほど前記補正前指標量が大きくなるように前記補正前指標量を前記素子温度相関値に基いて補正することにより取得されてもよい。
【0033】
これによっても、空燃比不均衡指標値は、補正用出力値を取得しているときの空燃比センサの素子温度に依存せず、気筒別空燃比の不均一性の程度をより一層精度良く示す値となるので、インバランス判定をより精度良く実施することができる。
【0034】
本発明装置の他の態様において、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値が大きいほど前記空燃比センサの出力値が小さくなるように前記空燃比センサの出力値を前記補正用出力値に基づいて補正することにより応答性補正後センサ出力値を取得し、
前記応答性補正後センサ出力値に基いて前記空燃比変動指標量を取得するように構成される。
【0035】
これによれば、「応答性が高いほど大きくなる補正用出力値」が大きいほど、空燃比センサの出力値が小さい値へと補正される。換言すると、その補正された空燃比センサの出力値は、空燃比センサの応答性について補償がなされた値(応答性が特定の値である場合に正規化された値)である。従って、その補正された空燃比センサの出力値に基いて取得される空燃比変動指標量は、空燃比センサの応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く示す値となる。この結果、インバランス判定を精度良く実施することができる。
【0036】
ところで、後述するように、空燃比センサの出力値は、大気圧の影響を受けて変化する。大気圧は高度によって変化する。従って、補正用出力値が得られたときの「前記機関が搭載されている車両」の高度と、インバランス判定用を行うために「補正用出力値及び空燃比センサの出力値」に基いて空燃比変動指標量を取得するときの車両の高度と、が大きく相違すると、その補正用出力値が空燃比変動指標量を取得することに対して精度の良い値ではない可能性が高い。
【0037】
そこで、前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比気筒間インバランス状態が発生したか否かの判定を実行しないように構成されることが好ましい。
【0038】
車両の走行距離が閾値走行距離以上になっている場合、車両の高度が大きく変化している可能性が高い。よって、上記構成によれば「不適切な補正用出力値を用いて取得された空燃比不均衡指標値に基くインバランス判定が実施されること」がないので、誤判定が発生することを回避することができる。
【0039】
更に、前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比不均衡指標値の算出を実行しないように構成されることが好ましい。
【0040】
これによれば、「不適切な補正用出力値に基いて空燃比不均衡指標値が取得されること」がないので、誤ったインバランス判定が実施されることを回避することができる。
【0041】
本発明装置の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明装置の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【0042】
【図1】図1は、本発明の各実施形態に係る空燃比気筒間インバランス判定装置が適用される内燃機関の概略図である。
【図2】図2は、図1に示した上流側空燃比センサ(空燃比センサ)の部分概略斜視図(透視図)である。
【図3】図3は、図1に示した空燃比センサの部分断面図である。
【図4】図4の(A)〜(C)のそれぞれは、図1に示した上流側空燃比センサが備える空燃比検出部の概略断面図である。
【図5】図5は、排ガスの空燃比(上流側空燃比)と空燃比センサの限界電流値との関係を示したグラフである。
【図6】図6は、排ガスの空燃比(上流側空燃比)と空燃比センサの出力値との関係を示したグラフである。
【図7】図7は、排ガスの空燃比(下流側空燃比)と図1に示した下流側起電力式酸素濃度センサ(下流側空燃比センサ)の出力値との関係を示したグラフである。
【図8】図8は、空燃比気筒間インバランス状態が発生した場合(気筒別空燃比の不均一性の程度が大きい場合)及び空燃比気筒間インバランス状態が発生していない場合(気筒別空燃比の不均一性が生じていない場合)の「空燃比不均衡指標値に関連する各値の挙動」を示したタイムチャートである。
【図9】図9は、実際の気筒別空燃比の不均一性の程度(インバランス割合)と、上流側空燃比センサの出力値の変化率に相関する空燃比不均衡指標値と、の関係を示したグラフである。
【図10】図10は、気筒別空燃比の不均一性の程度が特定の値である場合に、空燃比センサの応答性が種々の応答性であるときの「空燃比センサの出力値の変化の様子」を示したタイムチャートである。
【図11】図11は、フューエルカット運転中の空燃比センサの出力値(限界電流値)と空燃比センサの応答性との関係を示したグラフである。
【図12】図12は、本発明の第1実施形態に係る空燃比気筒間インバランス判定装置(第1判定装置)のCPUが実行するルーチンを示したフローチャートである。
【図13】図13は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図14】図14は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図15】図15は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図16】図16は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図17】図17は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図18】図18は、第1判定装置のCPUが実行するルーチンを示したフローチャートである。
【図19】図19は、発明の第2実施形態に係る空燃比気筒間インバランス判定装置(第2判定装置)のCPUが実行するルーチンを示したフローチャートである。
【発明を実施するための形態】
【0043】
以下、本発明の各実施形態に係る内燃機関の空燃比気筒間インバランス判定装置(以下、単に「判定装置」とも称呼する。)について図面を参照しながら説明する。この判定装置は、内燃機関に供給される混合気の空燃比(機関の空燃比)を制御する空燃比制御装置の一部でもあり、燃料噴射量制御装置の一部でもある。
【0044】
<第1実施形態>
(構成)
図1は、第1実施形態に係る空燃比気筒間インバランス判定装置(以下、「第1判定装置」とも称呼する。)を、4サイクル・火花点火式・多気筒(直列4気筒)・内燃機関10に適用したシステムの概略構成を示している。機関10は図示しない車両に搭載されている。
【0045】
内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、を含む。
【0046】
機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒(燃焼室)21を備えている。各気筒は、図示しない「吸気ポート及び排気ポート」と連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。
【0047】
吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。
【0048】
インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。
【0049】
吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。
【0050】
燃料噴射弁33は、一つの気筒(燃焼室)21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を吸気ポート(従って、燃料噴射弁33に対応する気筒)内に噴射するようになっている。
【0051】
より具体的に述べると、燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁33に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。従って、燃料噴射弁33が正常であれば、燃料噴射弁33は指示燃料噴射量と等量の燃料を噴射する。しかしながら、燃料噴射弁33に異常が発生すると、燃料噴射弁33は指示燃料噴射量とは相違する量の燃料を噴射するようになる。これにより、気筒別空燃比の気筒間における不均一性が発生する。
【0052】
スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。
【0053】
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された「図示しない下流側触媒」を備えている。
【0054】
エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数(2以上であり、本例では4つ)の気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。
【0055】
エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。
【0056】
上流側触媒43及び下流側触媒のそれぞれは、所謂、白金、ロジウム及びパラジウム等の貴金属(触媒物質)からなる活性成分を担持する三元触媒装置(排気浄化用の触媒)である。各触媒は、各触媒に流入するガスの空燃比が「三元触媒のウインドウ内の空燃比(例えば、理論空燃比)」であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物(NOx)を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、触媒に担持されているセリア(CeO2)等の酸素吸蔵材によってもたらされる。
【0057】
このシステムは、熱線式エアフローメータ51、スロットルポジションセンサ52、水温センサ53、クランクポジションセンサ54、インテークカムポジションセンサ55、上流側空燃比センサ56、下流側酸素濃度センサ57、アクセル開度センサ58、及び、車速センサ59を備えている。
【0058】
エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量(吸入空気流量)Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。
【0059】
スロットルポジションセンサ52は、スロットル弁34の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
【0060】
水温センサ53は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態(機関10の温度)を表すパラメータである。
【0061】
クランクポジションセンサ54は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。
【0062】
インテークカムポジションセンサ55は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ54及びインテークカムポジションセンサ55からの信号に基づいて、基準気筒(例えば第1気筒)の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において「0°クランク角度」に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。
【0063】
上流側空燃比センサ56は、エキゾーストマニホールド41の集合部41b(排気集合部HK)と上流側触媒43との間の位置において「エキゾーストマニホールド41及びエキゾーストパイプ42の何れか」に配設されている。上流側空燃比センサ56は、単に「空燃比センサ」とも称呼される。
【0064】
上流側空燃比センサ56は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【0065】
上流側空燃比センサ56は、図2及び図3に示したように、空燃比検出部56aと、外側保護カバー56bと、内側保護カバー56cと、を有している。
【0066】
外側保護カバー56bは金属からなる中空円筒体である。外側保護カバー56bは内側保護カバー56cを覆うように、内側保護カバー56cを内部に収容している。外側保護カバー56bは、流入孔56b1をその側面に複数備えている。流入孔56b1は、排気通路を流れる排ガス(外側保護カバー56bの外部の排ガス)EXを外側保護カバー56bの内部に流入させるための貫通孔である。更に、外側保護カバー56bは、外側保護カバー56bの内部の排ガスを外部(排気通路)に流出させるための流出孔56b2をその底面に有している。
【0067】
内側保護カバー56cは、金属からなり、外側保護カバー56bの直径よりも小さい直径を有する中空円筒体である。内側保護カバー56cは、空燃比検出部56aを覆うように空燃比検出部56aを内部に収容している。内側保護カバー56cは流入孔56c1をその側面に複数備えている。この流入孔56c1は、外側保護カバー56bの流入孔56b1を通して「外側保護カバー56bと内側保護カバー56cとの間の空間」に流入した排ガスを、内側保護カバー56cの内部に流入させるための貫通孔である。更に、内側保護カバー56cは、内側保護カバー56cの内部の排ガスを外部に流出させるための流出孔56c2をその底面に有している。
【0068】
図4の(A)〜(C)に示したように、空燃比検出部56aは、固体電解質層561と、排ガス側電極層562と、大気側電極層563と、拡散抵抗層564と、第一壁部565と、触媒部566と、第二壁部567と、ヒータ568と、を含んでいる。
【0069】
固体電解質層561は酸素イオン導電性酸化物焼結体である。本例において、固体電解質層561は、ZrO2(ジルコニア)にCaOを安定剤として固溶させた「安定化ジルコニア素子」である。固体電解質層561は、その温度が活性温度以上であるとき、周知の「酸素電池特性」及び「酸素ポンプ特性」を発揮する。
【0070】
排ガス側電極層562は、白金(Pt)等の触媒活性の高い貴金属からなる。排ガス側電極層562は、固体電解質層561の一つの面上に形成されている。排ガス側電極層562は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
【0071】
大気側電極層563は、白金(Pt)等の触媒活性の高い貴金属からなる。大気側電極層563は、固体電解質層561の他の面上であって、固体電解質層561を挟んで排ガス側電極層562に対向するように形成されている。大気側電極層563は、化学メッキ等により浸透性を十分に有するように(即ち、多孔質状に)形成されている。
【0072】
拡散抵抗層(拡散律速層)564は、多孔質セラミック(耐熱性無機物質)からなる。拡散抵抗層564は、排ガス側電極層562の外側表面を覆うように、例えば、プラズマ溶射法等により形成されている。
【0073】
第一壁部565は、緻密であってガスを透過させないアルミナセラミックスからなる。第一壁部565は拡散抵抗層564の角部(一部)を除いて拡散抵抗層564を覆うように形成されている。即ち、第一壁部565は拡散抵抗層564の一部を外部に露呈させる貫通部を備えている。
【0074】
触媒部566は、第一壁部565の貫通部を閉じるように貫通部に形成されている。触媒部566は、上流側触媒43と同様、酸化還元反応を促進する触媒物質及び酸素吸蔵機能を発揮する酸素吸蔵材を担持している。触媒部566は多孔質体である。従って、図4の(B)及び図4の(C)に白抜きの矢印により示したように、排ガス(前述した内側保護カバー56cの内部に流入した排ガス)は、触媒部566を通過して拡散抵抗層564に到達し、その排ガスは更に拡散抵抗層564を通過して排ガス側電極層562に到達する。
【0075】
第二壁部567は、緻密であってガスを透過させないアルミナセラミックスからなる。第二壁部567は大気側電極層563を収容する空間である「大気室56A」を形成するように構成されている。大気室56Aには大気が導入されている。
【0076】
上流側空燃比センサ56には電源569が接続されている。電源569は、大気側電極層563側が高電位となり、排ガス側電極層562が低電位となるように、電圧V(=Vp)を印加する。
【0077】
ヒータ568は第二壁部567に埋設されている。ヒータ568は後述する電気制御装置70によって通電されたときに発熱し、固体電解質層561、排ガス側電極層562及び大気側電極層563を加熱し、それらの温度を調整するようになっている。
【0078】
このような構造を有する上流側空燃比センサ56は、図4の(B)に示したように、排ガスの空燃比が理論空燃比よりもリーン側の空燃比であるとき、拡散抵抗層564を通って排ガス側電極層562に到達した酸素をイオン化して大気側電極層563へと通過させる。この結果、電源569の正極から負極へと電流Iが流れる。この電流Iの大きさは、図5に示したように、電圧Vを所定値Vpに設定すると、排ガス側電極層562に到達した酸素の濃度(酸素分圧、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ56は、この電流(即ち、限界電流値IL)を電圧に変換した値を出力値Vabyfsとして出力する。
【0079】
これに対し、図4の(C)に示したように、排ガスの空燃比が理論空燃比よりもリッチ側の空燃比であるとき、上流側空燃比センサ56は、大気室56Aに存在する酸素をイオン化して排ガス側電極層562へと導き、拡散抵抗層564を通って排ガス側電極層562に到達する未燃物(HC,CO及びH2等)を酸化する。この結果、電源569の負極から正極へと電流Iが流れる。この電流Iの大きさも、図5に示したように、電圧Vを所定値Vpに設定すると、排ガス側電極層562に到達した未燃物の濃度(即ち、排ガスの空燃比)に比例した一定値となる。上流側空燃比センサ56は、この電流(即ち、限界電流値IL)を電圧に変換した値を出力値Vabyfsとして出力する。
【0080】
即ち、空燃比検出部56aは、上流側空燃比センサ56の配設位置を流れ、且つ、外側保護カバー56bの流入孔56b1及び内側保護カバー56cの流入孔56c1を通って空燃比検出部56aに到達しているガスの空燃比に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が大きくなるほど(リーンとなるほど)増大する。即ち、出力値Vabyfsは、図6に示したように、空燃比検出部56aに到達している排ガスの空燃比に実質的に比例する。なお、出力値Vabyfsは、空燃比検出部56aに到達しているガスの空燃比が理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。
【0081】
このように、上流側空燃比センサ56は、「機関10の排気通路であって排気集合部HKと三元触媒43との間の位置に配設されるとともに、空燃比検出素子(固体電解質層)561と、前記空燃比検出素子561を挟んで対向するように配設された排ガス側電極層562及び基準ガス側電極層563と、前記排ガス側電極層562を覆う多孔質層(拡散抵抗層)564と、を有する空燃比センサであって、前記空燃比センサが配設された位置を通過する排ガスのうち前記多孔質層564を通って前記排ガス側電極層562に到達した排ガスに含まれる酸素の量(酸素の濃度、酸素分圧)及び未燃物の量(未燃物の濃度、未燃物の分圧)に応じた出力値を出力する空燃比センサである。」と言うことができる。
【0082】
電気制御装置70は、図6に示した空燃比変換テーブル(マップ)Mapabyfsを記憶している。電気制御装置70は、上流側空燃比センサ56の出力値Vabyfsを空燃比変換テーブルMapabyfsに適用することにより、実際の上流側空燃比abyfsを検出する(即ち、検出空燃比abyfsを取得する)。
【0083】
上流側空燃比センサ56は、前述したように、排気集合部HKと上流側触媒43との間の位置に配設されている。更に、上流側空燃比センサ56は、エキゾーストマニホールド41の内部及びエキゾーストパイプ42の内部の何れかに外側保護カバー56bが露呈するように配設されている。
【0084】
より具体的には、上流側空燃比センサ56は、図2及び図3に示したように、保護カバー(56b、56c)の底面が排ガスEXの流れと平行であり、保護カバー(56b、56c)の中心軸線CCが排ガスEXの流れと直交するように排気通路内に配設される。これにより、外側保護カバー56bの流入孔56b1に到達した排気通路内の排ガスEXは、外側保護カバー56bの流出孔56b2近傍を流れる排気通路内の排ガスEXの流れにより、外側保護カバー56b及び内側保護カバー56cの内部へと吸い込まれる。
【0085】
従って、排気通路を流れる排ガスEXは、図2及び図3において矢印Ar1により示したように外側保護カバー56bの流入孔56b1を通って外側保護カバー56bと内側保護カバー56cとの間に流入する。次いで、その排ガスは、矢印Ar2に示したように「内側保護カバー56cの流入孔56c1」を通って「内側保護カバー56cの内部」に流入した後に、空燃比検出部56aに到達する。その後、その排ガスは、矢印Ar3に示したように「内側保護カバー56cの流出孔56c2及び外側の保護カバー56bの流出孔56b2」を通って排気通路に流出する。
【0086】
このため、「外側保護カバー56b及び内側保護カバー56c」の内部における排ガスの流速は、外側保護カバー56bの流出孔56b2近傍を流れる排ガスEXの流速(従って、単位時間あたりの吸入空気量である吸入空気量Ga)に応じて変化する。換言すると、「ある空燃比の排ガス(第1排ガス)が流入孔56b1に到達した時点」から「その第1排ガスが空燃比検出部56aに到達する時点」までの時間は、吸入空気量Gaに依存するが機関回転速度NEには依存しない。従って、上流側空燃比センサ56の「排気通路を流れる排ガスの空燃比」に対する出力応答性(応答性)は、上流側空燃比センサ56の外側保護カバー56bの近傍を流れる排ガスの流量(流速)が大きいほど、即ち、吸入空気量Gaが大きいほど、良好になる。このことは、上流側空燃比センサ56が内側保護カバー56cのみを有する場合にも成立する。
【0087】
再び、図1を参照すると、下流側酸素濃度センサ57は、エキゾーストパイプ42内に配設されている。下流側酸素濃度センサ57の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側(即ち、上流側触媒43と下流側触媒との間の排気通路)である。下流側酸素濃度センサ57は、周知の起電力式の酸素濃度センサ(安定化ジルコニア等の固体電解質を用いた周知の濃淡電池型の酸素濃度センサ)である。下流側酸素濃度センサ57は、排気通路であって下流側酸素濃度センサ57が配設されている部位を通過するガスである被検出ガスの空燃比に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比に応じた値である。
【0088】
この出力値Voxsは、図7に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V〜1.0V)となる。出力値Vabyfsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V〜0V)となる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、例えば、約0.5V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
【0089】
図1に示したアクセル開度センサ58は、運転者によって操作されるアクセルペダルAPの操作量Accp(アクセルペダル操作量、アクセルペダルAPの開度)を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。
【0090】
車速センサ59は、機関10が搭載された車両の速度(車速)spdを表す信号を出力するようになっている。
【0091】
電気制御装置70は、「CPU、CPUが実行するプログラム、テーブル(マップ、関数)及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等」からなる周知のマイクロコンピュータである。
【0092】
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。
【0093】
バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化(デフォルト値に設定)するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。
【0094】
電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ(実際にはイグナイタ)、各気筒に対応して設けられた燃料噴射弁33、及び、スロットル弁アクチュエータ等に駆動信号(指示信号)を送出するようになっている。
【0095】
なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量(アクセルペダル操作量Accp)に応じて「機関10の吸気通路に配設されたスロットル弁34」の開度を変更するスロットル弁駆動手段を備えている。
【0096】
(空燃比気筒間インバランス判定の概要)
次に、第1判定装置が実行するインバランス判定の概要について説明する。
【0097】
第1判定装置は、上流側空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsが「目標空燃比(上流側目標空燃比)abyfr」に一致するように、指示燃料噴射量をフィードバック補正(増減)する。即ち、第1判定装置は、メインフィードバック制御を実行する。更に、第1判定装置は、下流側酸素濃度センサ57の出力値Voxsが下流側目標値Voxsrefに一致するように、指示燃料噴射量をフィードバック補正(増減)する。即ち、第1判定装置は、サブフィードバック制御を実行する。
【0098】
第1判定装置は、空燃比気筒間インバランス状態が発生したか否かを判定するためのインバランス判定用パラメータとして、気筒別空燃比の不均一性の程度が大きくなるほど大きくなる空燃比不均衡指標値RIMBhを取得する。実際には、第1判定装置は、メインフィードバック制御(及び、サブフィードバック制御)が実行されている期間において所定のパラメータ取得条件(空燃比不均衡指標値取得条件)が成立している場合、空燃比センサ56の出力値Vabyfsの変動が大きくなるほど大きくなる空燃比変動指標量AFDを、出力値Vabyfsに基づいて以下に述べるように取得する。空燃比変動指標量AFDは空燃比不均衡指標値RIMBhとして採用される。
【0099】
(1)第1判定装置は、前述したパラメータ取得条件が成立している場合、所定時間(一定のサンプリング時間ts)が経過する毎に「空燃比センサ56の出力値Vabyfs(又は、出力値Vabyfsに対してハイパスフィルタ処理を施したハイパスフィルタ処理後出力値VHPF)」の「所定の単位時間当たりの変化量」を取得する。
【0100】
この「出力値Vabyfsの単位時間当たりの変化量」は、その単位時間が例えば4m秒程度の極めて短い時間であるとき、出力値Vabyfsの時間についての微分値(時間微分値d(Vabyfs)/dt、一階微分値d(Vabyfs)/dt)であると言うこともできる。従って、「出力値Vabyfsの単位時間当たりの変化量」は「変化率ΔAF」又は「傾きΔAF」とも称呼される。更に、変化率ΔAFは「基本指標量」又は「基本パラメータ」とも称呼される。
【0101】
(2)第1判定装置は、一つの単位燃焼サイクル期間において取得された複数の変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを求める。単位燃焼サイクル期間は、一つの空燃比センサ56に到達する排ガスを排出している気筒の総てにおいて、各一回の燃焼行程が終了するのに要するクランク角度が経過する期間である。本例の機関10は、直列4気筒・4サイクル・エンジンであり、且つ、一つの空燃比センサ56には第1〜第4気筒からの排ガスが到達する。よって、単位燃焼サイクル期間は720°クランク角度が経過する期間である。
【0102】
(3)第1判定装置は、複数の単位燃焼サイクル期間のそれぞれに対して求めた平均値AveΔAFの平均値を「補正前指標量RIMB(補正前空燃比変動指標量)」として求める。
(4)第1判定装置は、「後述する補正用出力値AveVaf」が大きくなるほど補正前指標量RIMBが小さくなるように、補正前指標量RIMBを補正用出力値AveVaf(実際には、補正用出力値AveVafを素子温度にて補正した後の補正用出力値AveVafh)に基いて補正し、この補正された値(補正後指標量)を空燃比変動指標量AFD(即ち、空燃比不均衡指標値RIMBh)として採用する。
【0103】
第1判定装置は、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth以上であるとき、空燃比気筒間インバランス状態が発生したと判定する。第1判定装置は、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth未満であるとき、空燃比気筒間インバランス状態が発生していないと判定する。
【0104】
(補正前指標量RIMBについて)
上述したように求められる補正前指標量RIMB(変化率ΔAFに相関する値)は、「気筒間における空燃比の不均一性の程度、即ち、気筒別空燃比差」が大きくなるほど大きくなる値である。以下、この理由について説明する。
【0105】
空燃比センサ56には、各気筒からの排ガスが点火順(故に、排気順)に到達する。気筒別空燃比差がない場合(気筒別空燃比の不均一性が発生していない場合)、各気筒から排出され且つ空燃比センサ56に到達する排ガスの空燃比は互いに略同一である。従って、気筒別空燃比差がない場合の出力値Vabyfsは、例えば、図8の(B)において破線C1により示したように変化する。即ち、気筒間における空燃比の不均一性がない場合、空燃比センサ56の出力値Vabyfsの波形は略平坦である。このため、図8の(C)において破線C3により示したように、気筒別空燃比差がない場合、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値は小さい。
【0106】
一方、「特定気筒(例えば、第1気筒)に対して燃料を噴射する燃料噴射弁33」の特性が「指示燃料噴射量よりも多い燃料を噴射する特性」となると、気筒別空燃比差が大きくなる。即ち、その特定気筒の排ガスの空燃比(インバランス気筒の空燃比)と、その特定気筒以外の気筒の排ガスの空燃比(非インバランス気筒の空燃比)と、は大きく相違する。
【0107】
従って、空燃比気筒間インバランス状態が発生している場合の出力値Vabyfsは、例えば図8の(B)の実線C2により示したように、単位燃焼サイクル期間毎に大きく変動する。このため、図8の(C)において実線C4により示したように、空燃比気筒間インバランス状態が発生している場合、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値は大きくなる。
【0108】
しかも、変化率ΔAFの絶対値|ΔAF|は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど大きく変動する。例えば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが第1の値であるときの出力値Vabyfsが図8(B)の実線C2のように変化するとすれば、インバランス気筒の空燃比と非インバランス気筒の空燃比との差の大きさが「第1の値の値よりも大きい第2の値」であるときの出力値Vabyfsは図8(B)の一点鎖線C2aのように変化する。
【0109】
従って、図9に示したように、変化率ΔAFの絶対値|ΔAF|の「複数の単位燃焼サイクル期間」における平均値AveΔAF(補正前指標量RIMB)は、インバランス気筒の空燃比が非インバランス気筒の空燃比から乖離するほど(実際のインバランス割合が大きくなるほど)大きくなる。
【0110】
(補正前指標量RIMBの補正)
ところで、空燃比センサ56の応答性は個々の空燃比センサ56毎に相違する。即ち、空燃比センサは個体差を有する。このため、気筒別空燃比の不均一性の程度が「ある特定の値」である場合において、応答性が高い空燃比センサの出力値は図10の(A)に示したように比較的大きく変動し、公差中央の応答性を有する空燃比センサの出力値は図10の(B)に示したように中程度の振れ幅にて変動し、応答性が低い空燃比センサの出力値は図10の(C)に示したように比較的小さく変動する。
【0111】
即ち、気筒別空燃比の不均一性の程度が「特定の値」であっても、空燃比センサ56の出力値Vabyfsの変動の様子が空燃比センサ56の応答性に依存して相違する。従って、補正前指標量RIMB「ある値」であったとしても、気筒別空燃比の不均一性の程度が相違する場合が生じる。この結果、補正前指標量RIMBをそのまま空燃比不均衡指標値として採用し、その空燃比不均衡指標値とインバランス判定用閾値Rthとの比較に基いてインバランス判定を実行すると、誤判定が生じる可能性がある。従って、補正前指標量RIMBを「空燃比センサ56の応答性を示す値」により補正し、その補正した値を空燃比不均衡指標値として採用してインバランス判定を行う必要がある。
【0112】
第1判定装置は、空燃比センサ56の応答性を示す値の一つとして、「フューエルカット運転中における空燃比センサ56の出力値Vabyfs」が大きいほど大きくなる補正用出力値(素子温度にて補正する前の補正用出力値)AveVafを「フューエルカット運転中における空燃比センサ56の出力値Vabyfs」が大きくなるほど大きくなる値として取得する。以下、補正用出力値AveVafが空燃比センサ56の応答性を示す理由について説明する。
【0113】
空燃比センサ56の限界電流値ILは、下記の(1)式(基本式)により表される。なお、前述したように、限界電流値ILが大きいほど出力値Vabyfsは大きくなる。
【数1】
【0114】
上記(1)式における各値は下記の通りである。
F:ファラデー定数
R:気体定数
T:素子の絶対温度(素子温度)
P:排ガス全圧(排ガス圧力)
PO2:排ガスの酸素分圧
D:拡散係数
S:拡散抵抗層断面積(排ガス側電極層562の面積相当値)
L:拡散距離(拡散抵抗層564の厚み相当値)
【0115】
ところで、フューエルカット運転中の排ガスは大気と実質的に同じガスであるから、フューエルカット運転中の排ガスの酸素濃度は大気の酸素濃度と等しい。更に、一般には、大気の酸素濃度は一定であると見做せるので、値(PO2/P)は大気圧が変化しても一定(1より小さい有限な値)である。従って、(1)式から理解されるように、大気圧が一定であり(フューエルカット運転中の排ガス全圧Pが一定であり)且つ素子温度Tが一定である場合、拡散距離Lが大きくなるほど限界電流値ILは小さくなる。一方、空燃比センサ56の応答性は、排ガス中の酸素(及び未燃物)が拡散抵抗層564を拡散するために必要な時間が短いほど高くなる。即ち、拡散距離Lが小さいほど、空燃比センサ56の応答性は高い。
【0116】
以上から、フューエルカット運転中の限界電流値ILに相当する空燃比センサ56の出力値Vabyfsは、空燃比センサ56の応答性と強い相関を有することが理解される。即ち、図11に概念的に示したように、フューエルカット運転中の限界電流値IL(出力値Vabyfs)が大きいほど、拡散距離Lが短いと考えられるので、空燃比センサ56の応答性は高くなる。
【0117】
以上から、「フューエルカット運転中の限界電流値IL(出力値Vabyfs)が大きくなるほど大きくなる補正用出力値AveVaf」が大きいほど、空燃比センサ56の応答性はより高い、ということが理解される。
【0118】
そこで、第1判定装置は、補正用出力値AveVafを算出し、補正用出力値AveVafが大きくなるほど(つまり、空燃比センサ56の応答性が高いほど)補正前指標量RIMBが小さくなるように、補正前指標量RIMBを補正用出力値AveVafに基いて補正する。更に、第1判定装置は、この補正された値を空燃比変動指標量AFD(即ち、インバランス判定に使用される空燃比不均衡指標値RIMBh)として取得する。
【0119】
この結果、空燃比センサ56の応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く示す空燃比不均衡指標値RIMBhを取得することができる。従って、インバランス判定を精度良く行うことができる。
【0120】
なお、(1)式から理解されるように、素子温度Tが高くなるほど限界電流値ILは小さくなる。換言すると、空燃比センサ56の応答性が一定であっても、素子温度Tが高い場合のフューエルカット運転中の限界電流値IL(出力値Vabyfs)は、素子温度Tが低い場合のフューエルカット運転中の限界電流値IL(出力値Vabyfs)に比べ、小さくなる。よって、フューエルカット運転中の限界電流値IL(出力値Vabyfs)が特定の値である場合、その素子温度Tが高いほど空燃比センサ56の応答性は高いと言うことができる。
【0121】
そこで、第1判定装置は、補正用出力値AveVafhを取得する際の空燃比センサ56の素子温度Tempの平均値を素子温度相関値として取得するとともに、素子温度相関値が高いほど補正用出力値AveVafがより大きくなるように補正用出力値AveVafを補正し、最終的な補正用出力値(素子温度補正後の補正用出力値)AveVafhを取得する。そして、第1判定装置は、その最終的な補正用出力値AveVafhに基いて上述したように補正前指標量RIMBを補正することにより、空燃比変動指標量AFD(即ち、インバランス判定に使用される空燃比不均衡指標値RIMBh)を取得する。
【0122】
(実際の作動)
次に、第1判定装置の実際の作動について説明する。
【0123】
<燃料噴射制御>
第1判定装置のCPUは、図12に示した燃料噴射制御ルーチンを、任意の気筒のクランク角度が吸気上死点前の所定クランク角度に一致する毎に、その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA(吸気上死点前90°クランク角度)である。クランク角度が前記所定クランク角度に一致した気筒は「燃料噴射気筒」とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量Fiの計算及び燃料噴射の指示を行う。
【0124】
任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ1200から処理を開始し、ステップ1210にてフューエルカットフラグXFCが「0」であるか否かを判定する。フューエルカットフラグXFCの値は、イニシャルルーチンにおいて「0」に設定される。更に、フューエルカットフラグXFCの値は、フューエルカット条件が成立したときに「1」に設定され、フューエルカット条件が不成立である場合「0」に設定される。なお、イニシャルルーチンは、機関10が搭載された車両のイグニッション・キー・スイッチがオフからオンに変更されたときにCPUにより実行されるルーチンである。
【0125】
フューエルカット条件は、例えば、フューエルカット条件が不成立と判定されている場合において、スロットル弁開度TAが「0」(スロットル弁34が全閉)であり、且つ、機関回転速度NEがフューエルカット回転速度NEth以上であるとき成立する。
【0126】
フューエルカット条件は、例えば、フューエルカット条件が成立していると判定されている場合において、スロットル弁開度TAが「0」(スロットル弁34が全閉)でなくなるか、又は、機関回転速度NEがフューエルカット復帰回転速度NErth未満となると不成立となる。フューエルカット復帰回転速度NErthは、フューエルカット回転速度NEthよりも正の所定回転速度だけ小さい回転速度である。
【0127】
いま、FC条件が成立してないために、フューエルカットフラグXFCの値が「0」であると仮定する。この場合、CPUは、ステップ1210にて「Yes」と判定し、以下に述べるステップ1220乃至ステップ1260の処理を順に行い、ステップ1295に進んで本ルーチンを一旦終了する。
【0128】
ステップ1220:CPUは、理論空燃比stoichからサブフィードバック量KSFBを減じた値を目標空燃比abyfrに設定する。サブフィードバック量KSFBは、後述する図14に示したルーチンにより別途求められている。
【0129】
ステップ1230:CPUは、「エアフローメータ51により計測された吸入空気量Ga、クランクポジションセンサ54の信号に基いて取得された機関回転速度NE、及び、ルックアップテーブルMapMc」に基いて「燃料噴射気筒の1回の吸気行程において、その燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Mc(k)」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気量推定モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
【0130】
ステップ1240:CPUは、筒内吸入空気量Mc(k)を目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。従って、基本燃料噴射量Fbaseは、機関の空燃比(従って、上流側触媒43に流入する排ガスの空燃比)を目標空燃比abyfrに一致させるために計算上必要な燃料噴射量のフィードフォワード量である。このステップ1240は、機関に供給される混合気の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード制御手段(基本燃料噴射量算出手段)を構成している。
【0131】
ステップ1250:CPUは、基本燃料噴射量Fbaseをメインフィードバック量DFiにより補正する。より具体的には、CPUは、基本燃料噴射量Fbaseにメインフィードバック量DFiを加えることにより、指示燃料噴射量(最終燃料噴射量)Fiを算出する。メインフィードバック量DFiは、機関の空燃比(従って、上流側触媒43に流入する排ガスの空燃比)を目標空燃比abyfrに一致させるための空燃比フィードバック量であり、空燃比センサ56の出力値Vabyfsに基いて求められる。メインフィードバック量DFiの算出方法については後述する。
【0132】
ステップ1260:CPUは、「指示燃料噴射量Fiの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁33」から噴射させるための噴射指示信号を、その燃料噴射弁33に送出する。
【0133】
この結果、機関の空燃比を目標空燃比abyfrに一致させるために計算上必要な量(必要と推定される量)の燃料が燃料噴射気筒の燃料噴射弁33から噴射させられる。即ち、ステップ1230乃至ステップ1260は、「空燃比センサ56に到達する排ガスを排出している2以上の気筒(本例においては総ての気筒)の燃焼室21に供給される混合気の空燃比」が目標空燃比abyfrとなるように指示燃料噴射量Fiを制御する指示燃料噴射量制御手段を構成している。
【0134】
一方、CPUがステップ1210の処理を実行する時点において、フューエルカットフラグXFCの値が「1」に設定されていると、CPUはそのステップ1210にて「No」と判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。この場合、ステップ1260の処理による燃料噴射が実行されないので、フューエルカット運転(燃料供給停止制御)が実行される。
【0135】
<メインフィードバック量の算出>
CPUは図13にフローチャートにより示した「メインフィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1300から処理を開始し、ステップ1305に進んで「メインフィードバック制御条件(上流側空燃比フィードバック制御条件)」が成立しているか否かを判定する。
【0136】
メインフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(A1)空燃比センサ56が活性化している。
(A2)機関の負荷KLが閾値KLth以下である。
(A3)フューエルカット制御中でない(フューエルカットフラグXFCが「0」である。)。
【0137】
なお、負荷KLは、ここでは下記の(2)式により求められる負荷率である。この負荷KLに代え、アクセルペダル操作量Accpが用いられても良い。(2)式において、Mcは筒内吸入空気量であり、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、「4」は機関10の気筒数である。
KL=(Mc/(ρ・L/4))・100% …(2)
【0138】
いま、メインフィードバック制御条件が成立しているものとして説明を続ける。この場合、CPUはステップ1305にて「Yes」と判定して以下に述べるステップ1310乃至ステップ1340の処理を順に行い、ステップ1395に進んで本ルーチンを一旦終了する。
【0139】
ステップ1310:CPUは、図12のステップ1220にて算出され且つRAMに格納されている「Nサイクル前の目標空燃比abyfr(k−N)」を読み込む。
【0140】
ステップ1315:CPUは、下記(3)式に示したように、空燃比センサ56の出力値Vabyfsを図6に示したテーブルMapabyfsに適用することにより、検出空燃比abyfsを得る。
abyfs=Mapabyfs(Vabyfs) …(3)
【0141】
ステップ1320:CPUは、下記(4)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に実際に供給された燃料の量」である「筒内燃料供給量Fc(k−N)」を求める。即ち、CPUは、「現時点よりもNサイクル(即ち、N・720°クランク角度)前の時点における筒内吸入空気量Mc(k−N)」を「検出空燃比abyfs」により除すことにより、筒内燃料供給量Fc(k−N)を求める。
Fc(k−N)=Mc(k−N)/abyfs …(4)
【0142】
このように、筒内燃料供給量Fc(k−N)を求めるために、現時点からNサイクル前の筒内吸入空気量Mc(k−N)を検出空燃比abyfsで除すのは、「燃焼室21内での混合気の燃焼により生成された排ガス」が空燃比センサ56に到達するまでに「Nサイクルに相当する時間」を要しているからである。
【0143】
ステップ1325:CPUは、下記(5)式に従って、「現時点よりもNサイクル前の時点において燃焼室21に供給されるべきであった燃料の量」である「目標筒内燃料供給量Fcr(k−N)」を求める。即ち、CPUは、現時点からNサイクル前の筒内吸入空気量Mc(k−N)を現時点からNサイクル前の目標空燃比abyfr(k−N)で除すことにより、目標筒内燃料供給量Fcr(k−N)を求める。
Fcr(k−N)=Mc(k−N)/abyfr(k−N) …(5)
【0144】
ステップ1330:CPUは、下記(6)式に従って、筒内燃料供給量偏差DFcを取得する。即ち、CPUは、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc=Fcr(k−N)−Fc(k−N) …(6)
【0145】
ステップ1335:CPUは、下記(7)式に従って、メインフィードバック量DFiを求める。この(7)式において、Gpは予め設定された比例ゲイン、Giは予め設定された積分ゲインである。更に、(7)式の「値SDFc」は「筒内燃料供給量偏差DFcの積分値」である。つまり、CPUは、検出空燃比abyfsを目標空燃比abyfrに一致させるための比例積分制御により「メインフィードバック量DFi」を算出する。
DFi=Gp・DFc+Gi・SDFc …(7)
【0146】
ステップ1340:CPUは、その時点における筒内燃料供給量偏差DFcの積分値SDFcに上記ステップ1330にて求められた筒内燃料供給量偏差DFcを加えることにより、新たな筒内燃料供給量偏差の積分値SDFcを取得する。
【0147】
以上により、メインフィードバック量DFiが比例積分制御により算出され、このメインフィードバック量DFiが前述した図12のステップ1250の処理により指示燃料噴射量Fiに反映される。
【0148】
一方、図13のステップ1305の判定時において、メインフィードバック制御条件が不成立であると、CPUはそのステップ1305にて「No」と判定してステップ1345に進み、メインフィードバック量DFiの値を「0」に設定する。次いで、CPUは、ステップ1350にて筒内燃料供給量偏差の積分値SDFcに「0」を格納する。その後、CPUは、ステップ1395に進んで本ルーチンを一旦終了する。このように、メインフィードバック制御条件が不成立であるとき、メインフィードバック量DFiは「0」に設定される。従って、基本燃料噴射量Fbaseのメインフィードバック量DFiによる補正は行われない。
【0149】
<サブフィードバック量KSFB及びサブFB学習値KSFBgの算出>
CPUは図14にフローチャートにより示した「サブフィードバック量KSFB及びサブFB学習値KSFBgの算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1400から処理を開始してステップ1405に進み、サブフィードバック制御条件が成立しているか否かを判定する。
【0150】
サブフィードバック制御条件は以下の総ての条件が成立したときに成立する。
(B1)メインフィードバック制御条件が成立している。
(B2)下流側酸素濃度センサ57が活性化している。
【0151】
いま、サブフィードバック制御条件が成立していると仮定して説明を続ける。この場合、CPUはステップ1405にて「Yes」と判定し、以下に述べるステップ1410乃至ステップ1430の処理(サブフィードバック量算出処理)を実行し、その後、ステップ1435に進む。
【0152】
ステップ1410:CPUは、下記(8)式に従って、「下流側目標値Voxsref」と「下流側酸素濃度センサ57の出力値Voxs」との差である「出力偏差量DVoxs」を取得する。下流側目標値Voxsrefは、三元触媒43のウインドウ内の基準空燃比abyfr0に対応した値(例えば、理論空燃比)に相当する値に設定されている。即ち、CPUは、「下流側目標値Voxsref」から「現時点の下流側酸素濃度センサ57の出力値Voxs」を減じることにより「出力偏差量DVoxs」を求める。
DVoxs=Voxsref−Voxs …(8)
【0153】
ステップ1415:CPUは、下記(9)式に従って、「その時点における出力偏差量の積分値SDVoxs(=SDVoxs(n−1))」に「上記ステップ1410にて求めた出力偏差量DVoxsとゲインKとの積」を加えることにより、新たな出力偏差量の積分値SDVoxs(=SDVoxs(n))を求める。なお、ゲインKはここでは「1」に設定されている。積分値SDVoxsは「時間積分値SDVoxs又は積分処理値SDVoxs」とも称呼される。
SDVoxs(n)=SDVoxs(n−1)+K・DVoxs …(9)
【0154】
ステップ1420:CPUは、「上記ステップ1410にて算出した出力偏差量DVoxs」から「本ルーチンを前回実行した際に算出された出力偏差量である前回出力偏差量DVoxsold」を減じることにより、新たな出力偏差量の微分値DDVoxsを求める。
【0155】
ステップ1425:CPUは、下記(10)式に従って、サブフィードバック量KSFBを求める。この(10)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。即ち、Kp・DVoxsは比例項、Ki・SDVoxsは積分項、Kd・DDVoxsは微分項である。積分項Ki・SDVoxsは、サブフィードバック量KSFBの定常成分でもある。
KSFB=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs …(10)
【0156】
ステップ1430:CPUは、「上記ステップ1410にて算出した出力偏差量DVoxs」を「前回出力偏差量DVoxsold」として格納する。
【0157】
このように、CPUは、下流側酸素濃度センサ57の出力値Voxsを下流側目標値Voxsrefに一致させるための比例・積分・微分(PID)制御により「サブフィードバック量KSFB」を算出する。このサブフィードバック量KSFBは、前述したように、目標空燃比abyfrを算出するために使用される(abyfr=stoich−KSFB)。
【0158】
即ち、出力値Voxsが下流側目標値Voxsrefよりも小さいとき(リーンであるとき)、サブフィードバック量KSFBは次第に大きくなる。サブフィードバック量KSFBが大きくなるほど目標空燃比abyfrは小さくなる(リッチ側の空燃比になる)ように修正される。その結果、機関10の真の平均空燃比は小さくなる(リッチ側の空燃比になる)ので、出力値Voxsが下流側目標値Voxsrefに一致するように増大する。
【0159】
逆に、出力値Voxsが下流側目標値Voxsrefよりも大きいとき(リッチであるとき)、サブフィードバック量KSFBは次第に小さくなる(負の値を含む。)。サブフィードバック量KSFBが小さくなるほど目標空燃比abyfrは大きくなる(リーン側の空燃比となる)ように修正される。その結果、機関10の真の平均空燃比は大きくなる(リーン側の空燃比になる)ので、出力値Voxsが下流側目標値Voxsrefに一致するように減少する。
【0160】
CPUは、ステップ1435に進むと、前回のサブフィードバック量の学習値(サブFB学習値)KSFBgの更新時点から学習間隔時間Tthが経過しているか否かを判定する。このとき、前回のサブFB学習値KSFBgの更新時点から学習間隔時間Tthが経過していなければ、CPUはステップ1435にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。
【0161】
これに対し、CPUがステップ1435の処理を実行する時点において、前回のサブFB学習値KSFBgの更新時点から学習間隔時間Tthが経過していると、CPUはステップ1435にて「Yes」と判定してステップ1440に進み、その時点の積分値SDVoxsと積分ゲインKiとの積(Ki・SDVoxs)をサブFB学習値KSFBgとしてバックアップRAMに格納する。その後、CPUはステップ1495に進んで本ルーチンを一旦終了する。
【0162】
このように、CPUは、サブフィードバック量KSFBが更新される期間よりも長い期間(学習間隔時間Tth)が経過した時点におけるサブフィードバック量KSFBの定常項Ki・SDVoxsを、サブFB学習値KSFBgとして取り込む。
【0163】
なお、CPUは、積分項(定常項)Ki・SDVoxsをローパスフィルタ処理した後の値をサブFB学習値KSFBgとして取得してもよい。更に、CPUは、サブフィードバック量KSFBをローパスフィルタ処理した後の値をサブFB学習値KSFBgとして取得してもよい。即ち、サブFB学習値KSFBgは、サブフィードバック量KSFBの定常成分に応じた値であればよい。
【0164】
一方、CPUがステップ1405の処理を実行する時点においてサブフィードバック制御条件が成立していない場合、CPUはステップ1405にて「No」と判定し、ステップ1445に進んでサブFB学習値KSFBgをサブフィードバック量KSFBとして設定する。即ち、CPUは、サブフィードバック量KSFBの更新を停止する。次いで、CPUはステップ1450に進み、サブFB学習値KSFBgを積分ゲインKiで除した値(サブFB学習値KSFBg/積分ゲインKi)を、積分値SDVoxsとしてバックアップRAMに格納する。その後、CPUはステップ1495に進み、本ルーチンを一旦終了する。
【0165】
なお、第1判定装置は、サブフィードバック量を用いたサブフィードバック制御を実行しない態様であってもよい。この場合、図14のルーチンは省略される。更に、他のルーチンにおいて使用されるサブフィードバック量KSFBには「0」が代入される。
【0166】
<空燃比不均衡指標値の取得>
次に、空燃比不均衡指標値を取得するための処理について説明する。CPUは、4ms(上記単位時間である「所定の一定サンプリング時間ts」)が経過する毎に、図15にフローチャートにより示したルーチンを実行するようになっている。
【0167】
従って、所定のタイミングになると、CPUはステップ1500から処理を開始してステップ1505に進み、パラメータ取得許可フラグXkyokaの値が「1」であるか否かを判定する。
【0168】
このパラメータ取得許可フラグXkyokaの値は、絶対クランク角度CAが0°クランク角度になった時点において後述するパラメータ取得条件(空燃比不均衡指標値取得許可条件)が成立しているときに「1」に設定され、パラメータ取得条件が不成立になった時点において直ちに「0」に設定される。
【0169】
パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)が成立したときに成立する。従って、パラメータ取得条件は、以下の総ての条件(条件C1乃至条件C5)のうちの少なくとも一つが不成立であるとき、成立しない。勿論、パラメータ取得条件を構成する条件は、以下の条件C1乃至条件C5に限定されることはない。
【0170】
(条件C1)エアフローメータ51により取得される吸入空気量Gaが、所定範囲内である。即ち、吸入空気量Gaが、低側閾値空気量GaLoth以上であり且つ高側閾値空気量GaHith以下である。
(条件C2)機関回転速度NEが所定範囲内である。即ち、機関回転速度NEが、低側閾値回転速度NELoth以上であり且つ高側閾値回転速度NEHith以下である。
(条件C3)冷却水温THWが閾値冷却水温THWth以上である。
(条件C4)メインフィードバック制御条件及びサブフィードバック制御条件が成立している。
(条件C5)フューエルカット制御中でない(フューエルカットフラグXFCが「0」である。)。
【0171】
いま、パラメータ取得許可フラグXkyokaの値が「1」であると仮定する。この場合、CPUはステップ1505にて「Yes」と判定してステップ1510に進み、「その時点の空燃比センサ56の出力値Vabyfs」を取得する。なお、CPUは、ステップ1510の処理の前に、本ルーチンを前回実行したときに取得した出力値Vabyfsを前回の出力値Vabyfsoldとして記憶する。即ち、前回の出力値Vabyfsoldは、現時点から4ms(サンプリング時間ts)前の時点における出力値Vabyfsである。前回の出力値Vabyfsの初期値は、上述したイニシャルルーチンにおいて理論空燃比に相当する値に設定されている。
【0172】
次に、CPUはステップ1515に進んで、
(A)出力値Vabyfsの変化率ΔAF(微分値d(Vabyfs)/dt)を取得し、
(B)変化率ΔAFの絶対値|ΔAF|の積算値SAFDを更新し、且つ、
(C)変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnを更新する。
以下、これらの更新方法について具体的に説明する。
【0173】
(A)変化率ΔAFの取得。
出力値Vabyfsの変化率ΔAF(微分値d(Vabyfs)/dt)は、補正前指標量RIMB(従って、空燃比不均衡指標値RIMBh)の元データとなるデータ(基本指標量、基本パラメータ)である。CPUは、この変化率ΔAFを、今回の出力値Vabyfsから前回の出力値Vabyfsoldを減じることによって取得する。即ち、今回の出力値VabyfsをVabyfs(n)、前回の出力値VabyfsoldをVabyfs(n−1)と表記すると、CPUはステップ1515にて「今回の変化率ΔAF(n)」を下記の(11)式に従って求める。
ΔAF(n)=Vabyfs(n)−Vabyfs(n−1) …(11)
【0174】
なお、CPUは、空燃比センサ56の出力値Vabyfsに含まれる機関10の中心空燃比の変動成分を出力値Vabyfsから除去するために、出力値Vabyfsにハイパスフィルタ処理を施した値(ハイパスフィルタ処理後出力値VHPF)を求め、そのハイパスフィルタ処理後出力値VHPFのサンプリング時間tsにおける変化量を変化率ΔAFとして取得してもよい。
【0175】
(B)変化率ΔAFの絶対値|ΔAF|の積算値SAFDの更新。
CPUは今回の積算値SAFD(n)を下記の(12)式に従って求める。即ち、CPUは、ステップ1515に進んだ時点における前回の積算値SAFD(n−1)に上記算出した今回の変化率ΔAF(n)の絶対値|ΔAF(n)|を加えることにより、積算値SAFDを更新する。
SAFD(n)=SAFD(n−1)+|ΔAF(n)| …(12)
【0176】
積算値SAFDに「今回の変化率ΔAF(n)の絶対値|ΔAF(n)|」を積算する理由は、図8の(B)及び(C)からも理解されるように、変化率ΔAF(n)は正の値にも負の値にもなるからである。なお、積算値SAFDも、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
【0177】
(C)変化率ΔAFの絶対値|ΔAF|の、積算値SAFDへの積算回数カウンタCnの更新。
CPUは、下記の(13)式に従って、カウンタCnの値を「1」だけ増大する。Cn(n)は更新後のカウンタCnであり、Cn(n−1)は更新前のカウンタCnである。このカウンタCnの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1545及びステップ1550にても「0」に設定される。従って、カウンタCnの値は、積算値SAFDに積算された変化率ΔAFの絶対値|ΔAF|のデータ数を示す。
Cn(n)=Cn(n−1)+1 …(13)
【0178】
次に、CPUはステップ1520に進み、基準気筒(本例では第1気筒)の圧縮上死点を基準としたクランク角度CA(絶対クランク角度CA)が720°クランク角度になっているか否かを判定する。このとき、絶対クランク角度CAが720°クランク角度未満であると、CPUはステップ1520にて「No」と判定してステップ1595に直接進み、本ルーチンを一旦終了する。
【0179】
なお、ステップ1520は、変化率ΔAFの絶対値|ΔAF|の平均値を求めるための最小単位の期間を定めるステップであり、ここでは「単位燃焼サイクル期間である720°クランク角度」がその最小期間に相当する。勿論、この最小期間は720°クランク角度よりも短くてもよいが、サンプリング時間tsの複数倍の長さ以上の期間であることが望ましい。更に、最小期間は、単位燃焼サイクル期間の自然数倍の期間であることが望ましい。
【0180】
一方、CPUがステップ1520の処理を行う時点において、絶対クランク角度CAが720°クランク角度になっていると、CPUはそのステップ1520にて「Yes」と判定してステップ1525に進む。
【0181】
CPUは、ステップ1525にて、
(D)変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出し、
(E)平均値AveΔAFの積算値Saveを更新し、且つ、
(F)積算回数カウンタCsを更新する。
以下、これらの更新方法について具体的に説明する。
【0182】
(D)変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFの算出。
CPUは、下記の(14)式に示したように、積算値SAFDをカウンタCnの値により除することにより、変化率ΔAFの絶対値|ΔAF|の平均値AveΔAFを算出する。この後、CPUは積算値SAFD及びカウンタCnの値を「0」に設定する。
AveΔAF=SAFD/Cn …(14)
【0183】
(E)平均値AveΔAFの積算値Saveの更新。
CPUは今回の積算値Save(n)を下記の(15)式に従って求める。即ち、CPUは、ステップ1525に進んだ時点における前回の積算値Save(n−1)に上記算出した今回の平均値AveΔAFを加えることにより、積算値Saveを更新する。この積算値Save(n)の値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1545にても「0」に設定される。
Save(n)=Save(n−1)+AveΔAF …(15)
【0184】
(F)積算回数カウンタCsの更新。
CPUは、下記の(16)式に従って、カウンタCsの値を「1」だけ増大する。Cs(n)は更新後のカウンタCsであり、Cs(n−1)は更新前のカウンタCsである。このカウンタCsの値は上述したイニシャルルーチンにおいて「0」に設定されるとともに、後述するステップ1545にても「0」に設定される。従って、カウンタCsの値は、積算値Saveに積算された平均値AveΔAFのデータ数を示す。
Cs(n)=Cs(n−1)+1 …(16)
【0185】
次に、CPUはステップ1530に進み、カウンタCsの値が閾値Csth以上であるか否かを判定する。このとき、カウンタCsの値が閾値Csth未満であると、CPUはそのステップ1530にて「No」と判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。なお、閾値Csthは自然数であり、2以上であることが望ましい。
【0186】
一方、CPUがステップ1530の処理を行う時点において、カウンタCsの値が閾値Csth以上であると、CPUはそのステップ1530にて「Yes」と判定してステップ1535に進む。CPUは、そのステップ1535にて、下記(17)式に従って積算値SaveをカウンタCsの値(=Csth)によって除することにより、補正前指標量RIMB(空燃比センサ56の応答性補正前の空燃比不均衡指標値RIMB)を取得する。補正前指標量RIMBは、変化率ΔAF(微分値d(Vabyfs)/dt)の絶対値|ΔAF|の各単位燃焼サイクル期間における平均値AveΔAFを、複数(Csth個)の単位燃焼サイクル期間について平均した値である。
RIMB=Save/Csth …(17)
【0187】
次にCPUはステップ1540に進み、インバランス判定可能フラグXhanteiの値を「1」に設定する。インバランス判定可能フラグXhanteiの値は、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。従って、インバランス判定可能フラグXhanteiの値は、機関10の始動後において補正前指標量RIMBが取得されたときに「1」に設定される。
【0188】
次いで、CPUはステップ1545に進み、補正前指標量RIMBを算出するために用いられる各値(ΔAF,SAFD,Cn,AveΔAF,Save及び、Cs等)」を「0」に設定(クリア)する。その後、CPUはステップ1595に進んで本ルーチンを一旦終了する。
【0189】
一方、CPUがステップ1505に進んだ際にパラメータ取得許可フラグXkyokaの値が「1」でなければ、CPUはそのステップ1505にて「No」と判定してステップ1550に進む。CPUは、そのステップ1550にて「平均値AveΔAFを算出するために用いられる各値(ΔAF,SAFD,及び,Cn等)」を「0」に設定(クリア)する。次いで、CPUはステップ1595に進んで本ルーチンを一旦終了する。
【0190】
<空燃比気筒間インバランス判定>
次に、空燃比気筒間インバランス状態が発生したか否かを判定するためのルーチンについて説明する。CPUは、所定時間が経過する毎に図16にフローチャートにより示した「インバランス判定ルーチン」を実行するようになっている。従って、所定のタイミングになると、CPUは図16のステップ1600から処理を開始してステップ1605に進み、フューエルカットフラグXFCの値が「0」であるか否かを判定する。このとき、フューエルカットフラグXFCの値が「1」であると(即ち、フューエルカットが実行されていると)、CPUはステップ1605にて「No」と判定してステップ1695に進んで本ルーチンを一旦終了する。
【0191】
これに対し、CPUがステップ1605の処理を実行する時点において、フューエルカットフラグXFCの値が「0」であると、CPUはステップ1610に進み、インバランス判定完了フラグXFINの値が「0」であるか否かを判定する。
【0192】
インバランス判定完了フラグXFINの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。更に、インバランス判定完了フラグXFINの値は、インバランス判定が完了したときに「1」に設定される(後述するステップ1660を参照。)。インバランス判定完了フラグXFINの値が「1」であるとき、CPUはステップ1610にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。従って、インバランス判定は実行されない。
【0193】
いま、機関10の始動後においてインバランス判定が実行されていないと仮定する。この場合、インバランス判定完了フラグXFINの値は「0」であるから、CPUはステップ1610にて「Yes」と判定してステップ1615に進み、インバランス判定可能フラグXhanteiの値が「1」であるか否かを判定する。このとき、インバランス判定可能フラグXhanteiの値が「0」であると(即ち、上述したように、機関10の始動後において補正前指標量RIMBが取得されていないと)、CPUはステップ1615にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。従って、インバランス判定は実行されない。
【0194】
これに対し、図15のステップ1535の処理により補正前指標量RIMBが取得され、ステップ1540の処理によりインバランス判定可能フラグXhanteiの値が「1」に設定されると、CPUは図16のステップ1615にて「Yes」と判定してステップ1620に進む。CPUは、ステップ1620にて、補正可能フラグXhoseiの値が「1」であるか否かを判定する。
【0195】
補正可能フラグXhoseiの値は、上述したイニシャルルーチンにおいて「0」に設定されるようになっている。更に、補正可能フラグXhoseiの値は、後述する図17及び図18のルーチンにより「補正用出力値AveVaf及び素子温度相関値AveTemp」が取得されたとき「1」に設定される(図18のステップ1855を参照。)。
【0196】
いま、補正可能フラグXhoseiの値が「0」であると仮定する。この場合、CPUはステップ1620にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。従って、インバランス判定は実行されない。
【0197】
これに対し、CPUがステップ1620の処理を実行する時点において、補正可能フラグXhoseiの値が「1」であると、CPUはステップ1620にて「Yes」と判定し、以下に述べるステップ1625乃至ステップ1640の処理を実行する。これにより、空燃比不均衡指標値RIMBhが取得される。
【0198】
ステップ1625:CPUは、素子温度相関値AveTempに基いて素子温度補正係数ktempを取得する。素子温度相関値AveTempは、後述する図17及び図18のルーチンにより求められる値であって、補正用出力値AveVafを算出した期間における空燃比センサ56の素子温度Tempの平均値である。素子温度補正係数ktempは、素子温度相関値AveTempが大きいほど大きくなるように決定される。より具体的に述べると、素子温度補正係数ktempは、素子温度相関値AveTempが基準温度(基準素子温度)T0よりも高くなるにつれて「1」よりも大きい範囲において次第に大きくなり、素子温度相関値AveTempが基準温度T0よりも低くなるにつれて「1」よりも小さい範囲において次第に小さくなるように決定される。
【0199】
ステップ1630:CPUは、補正用出力値AveVafに素子温度補正係数ktempを乗じることにより、素子温補正後の補正用出力値AveVafh(最終的な補正用出力値AveVafh)を取得する。補正用出力値AveVafは、後述する図17及び図18のルーチンにより求められる値であって、フューエルカット期間中の出力値Vabyfsの平均値である。
【0200】
ステップ1635:CPUは、補正用出力値AveVafhが大きくなるほど指標値補正係数kimbが小さくなるように、補正用出力値AveVafhに基いて指標値補正係数kimbを決定する。より具体的に述べると、指標値補正係数kimbは、補正用出力値AveVafhが「応答性が公差の中央値である空燃比センサ56が使用されている場合に補正用出力値AveVafhが一致する予定の値Vcn」よりも大きくなるにつれて「1」よりも小さい範囲において次第に小さくなり、補正用出力値AveVafhが値Vcnよりも小さくなるにつれて「1」よりも大きい範囲において次第に大きくなるように、決定される。
【0201】
ステップ1640:CPUは、補正前指標量RIMBに指標値補正係数kimbを乗じた値(補正前指標量RIMBと指標値補正係数kimbとの積)を、空燃比変動指標量AFD(即ち、インバランス判定に用いられる空燃比不均衡指標値RIMBh)として設定する。この結果、空燃比不均衡指標値RIMBhは、応答性が所定の値(公差中央値)であり且つ素子温度が基準温度T0である空燃比センサ56の出力値Vabyfsに基いて取得された空燃比変動指標量に一致する。従って、空燃比不均衡指標値RIMBhは、気筒別空燃比の不均一性の程度を精度良く表す値となる。
【0202】
次に、CPUはステップ1645に進み、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth以上であるか否かを判定する。
【0203】
そして、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth以上であると、CPUはステップ1645にて「Yes」と判定してステップ1650に進み、インバランス発生フラグXIMBの値を「1」に設定する。即ち、CPUは空燃比気筒間インバランス状態が発生していると判定する。更に、このとき、CPUは図示しない警告ランプを点灯してもよい。なお、インバランス発生フラグXIMBの値はバックアップRAMに格納される。その後、CPUはステップ1660に進む。
【0204】
これに対し、CPUがステップ1645の処理を行う時点において、空燃比不均衡指標値RIMBhがインバランス判定用閾値Rth未満であると、CPUはステップ1645にて「No」と判定してステップ1655に進み、インバランス発生フラグXIMBの値を「2」に設定する。即ち、CPUは、「空燃比気筒間インバランス判定の結果、空燃比気筒間インバランス状態が発生していないと判定された旨」を記憶する。その後、CPUはステップ1660に進む。なお、ステップ1655は省略されてもよい。
【0205】
CPUはステップ1660にて、インバランス判定完了フラグXFINの値を「1」に設定し、ステップ1695に進んで本ルーチンを一旦終了する。
【0206】
以上により、変化率ΔAFに基いて得られた補正前指標量RIMBが補正用出力値AveVafhにより補正され、その補正された値(空燃比不均衡指標値RIMBh)に基いてインバランス判定が実行される。
【0207】
<補正用出力値AveVafhの取得>
次に、補正用出力値AveVaf及び素子温度相関値AveTempを取得するためのルーチン(図17及び図18)について説明する。CPUは、所定時間が経過する毎に図17及び図18にフローチャートにより示したルーチンをそれぞれ実行するようになっている。図17のルーチンは、フューエルカット状態が所定時間以上継続しているか否かを判定し、フューエルカット状態が所定時間以上継続している場合に補正用出力値AveVafの取得を許容するフラグ(取得許容フラグXenget)を「1」に設定するためのルーチンである。図18のルーチンは、取得許容フラグXengetの値が「1」であるとき、補正用出力値AveVaf等の取得を行うルーチンである。
【0208】
所定のタイミングになると、CPUは図17のステップ1700から処理を開始してステップ1710に進み、フューエルカットフラグXFCの値が「0」であるか否かを判定する。いま、フューエルカットフラグXFCの値が「0」であると仮定する(即ち、フューエルカットが実行されていないと仮定する)。この場合、CPUはステップ1710にて「Yes」と判定し、以下に述べるステップ1720及びステップ1730の処理を順に行い、その後、ステップ1795に進んで本ルーチンを一旦終了する。
【0209】
ステップ1720:CPUは、フューエルカット継続カウンタCFCの値を「0」に設定する。なお、フューエルカット継続カウンタCFCの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
【0210】
ステップ1730:CPUは、取得許容フラグXengetの値を「0」に設定する。なお、取得許容フラグXengetの値は上述したイニシャルルーチンにおいて「0」に設定されるようになっている。
【0211】
一方、CPUは図18のステップ1800から処理を開始してステップ1810に進み、取得許容フラグXengetの値が「1」であるか否かを判定する。現時点において取得許容フラグXengetの値は「0」である。従って、CPUはステップ1805にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。
【0212】
次に、フューエルカットフラグXFCの値が「1」に設定されることにより、フューエルカットが実行され始めたと仮定する。この場合、CPUはステップ1710に進んだとき、そのステップ1710にて「Yes」と判定してステップ1740に進み、フューエルカット継続カウンタCFCの値を「1」だけ増大する。
【0213】
次いで、CPUはステップ1750に進み、フューエルカット継続カウンタCFCの値がフューエルカット継続閾値時間CFCth以上であるか否かを判定する。この判定は、空燃比センサ56の周囲にフューエルカット運転中の排ガス(即ち、大気)が十分に存在することを保証するためのステップである。
【0214】
フューエルカットが「フューエルカット継続閾値時間CFCthに相当する時間」以上継続していなければ、CPUはステップ1750にて「No」と判定してステップ1770に直接進み、取得許容フラグXengetの値が「0」から「1」へと変更になった直後であるか否かを判定する。この場合、取得許容フラグXengetの値は「0」に維持されている。よって、CPUはステップ1770にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
【0215】
これに対し、フューエルカットが継続することによってフューエルカット継続カウンタCFCの値がフューエルカット継続閾値時間CFCth以上になると、CPUはステップ1750にて「Yes」と判定してステップ1760に進み、取得許容フラグXengetの値を「1」に設定する。
【0216】
この場合、CPUはステップ1770にても「Yes」と判定してステップ1780に進み、出力値積算値SVaf、素子温積算値STemp及びデータ数カウンタCSVの値を総て「0」に設定する。その後、CPUはステップ1795に進んで本ルーチンを一旦終了する。
【0217】
この状態(即ち、取得許容フラグXengetの値が「1」に設定された状態)において、CPUが図18のステップ1805の処理を実行すると、CPUはそのステップ1805にて「Yes」と判定してステップ1810に進む。CPUはステップ1810にて、データ数カウンタCSVの値を「1」だけ増大する。
【0218】
次に、CPUはステップ1815に進み、データ数カウンタCSVの値がデータ数閾値CSVth未満であるか否かを判定する。取得許容フラグXengetの値が「0」から「1」に変更された直後において、データ数カウンタCSVの値はデータ数閾値CSVth未満である。従って、CPUはステップ1815にて「Yes」と判定し、以下に述べるステップ1820及びステップ1825の処理を順に行い、ステップ1895に進んで本ルーチンを一旦終了する。
【0219】
ステップ1820:CPUは、出力値積算値SVafに、その時点の空燃比センサ56の出力値Vabyfsを加えることにより、出力値積算値SVafを更新する。即ち、出力値積算値SVafは出力値Vabyfsを積算した値となる。
【0220】
ステップ1825:CPUは、素子温積算値STempに、その時点の空燃比センサ56の素子温度Tempを加えることにより、素子温積算値STempを更新する。即ち、素子温積算値STempは素子温度Tempを積算した値となる。
【0221】
なお、素子温度Tempは、固体電解質層561の温度である。固体電解質層561の実際のアドミタンスは素子温度Tempが高いほど大きくなる。固体電解質層561の実際のインピーダンスは素子温度Tempが高いほど小さくなる。そこで、CPUは素子温度Temp(固体電解質層561の温度)を、固体電解質層561の実際のアドミタンスYactに基いて推定する。より具体的に述べると、CPUは、排ガス側電極層562と大気側電極層563との間に、「矩形波又は正弦波等の検知電圧」を「電源569による印加電圧」に周期的に重畳させ、その際に固体電解質層561に流れる電流と出力値Vabyfsとに基いて、実際の空燃比センサ56のアドミタンスYactを取得する。なお、アドミタンス(アドミタンスの逆数であるインピーダンス)の取得方法は周知であり、例えば、特開2001−74693号公報、特開2002−48761号公報及び特開2007−17191号公報等にも記載されている。
【0222】
フューエルカットが継続すると、図17のステップ1730の処理は実行されない。従って、取得許容フラグXengetの値は「1」に維持される。この結果、フューエルカット継続カウンタCFCの値は図18のステップ1810の処理により次第に増大し、データ数閾値CSVth以上になる。このとき、CPUが図18のステップ1815に進むと、CPUはそのステップ1815にて「No」と判定し、以下に述べるステップ1830乃至ステップ1855の処理を順に行い、その後、ステップ1895に進んで本ルーチンを一旦終了する。
【0223】
ステップ1830:CPUは、出力値積算値SVafの値をデータ数閾値CSVthで除することにより、素子温補正前の補正用出力値AveVafを求める。即ち、素子温補正前の補正用出力値AveVafは、フューエルカット開始後からフューエルカット継続閾値時間CFCthが経過した後におけるフューエルカット運転中の出力値Vabyfsのデータ数閾値CSVth分の平均値である。
【0224】
ステップ1835:CPUは、素子温積算値STempの値をデータ数閾値CSVthで除することにより、素子温度相関値AveTempを求める。即ち、素子温度相関値AveTempは、フューエルカット開始後からフューエルカット継続閾値時間CFCthが経過した後におけるフューエルカット運転中の素子温度Tempのデータ数閾値CSVth分の平均値である。
【0225】
ステップ1840:CPUは出力値積算値SVafの値を「0」に設定する。
ステップ1845:CPUは素子温積算値STempの値を「0」に設定する。
ステップ1850:CPUはデータ数カウンタCSVの値を「0」に設定する。
ステップ1855:CPUは補正可能フラグXhoseiの値を「1」に設定する。
【0226】
この結果、CPUは図16のステップ1620の処理を実行する時点において、そのステップ1620にて「Yes」と判定し、ステップ1625以降の処理を実行する。従って、インバランス判定が実行される。
【0227】
なお、フューエルカットがその後も継続されると、データ数カウンタCSVの値は「0」から次第に増大され(ステップ1850及びステップ1810を参照。)、データ数カウンタCSVの値がデータ数閾値CSVthに一致すると、ステップ1830及びステップ1835の処理により「素子温補正前の補正用出力値AveVaf及び素子温度相関値AveTemp」が更新される。更に、フューエルカット運転中においてはインバランス判定が実行されないので(図16のステップ1605における「No」との判定を参照。)、インバランス判定及び補正前指標量RIMBの補正は、最新の「素子温補正前の補正用出力値AveVaf及び素子温度相関値AveTemp」に基いて実行される。
【0228】
更に、データ数カウンタCSVの値がデータ数閾値CSVthに至る前にフューエルカットが終了すると(フューエルカットフラグXFCの値が「0」に設定されると)、CPUは図17のステップ1730にて取得許容フラグXengetの値を「0」に設定する。その結果、CPUは図18のステップ1805にて「No」と判定してステップ1895に直接進む。従って、この場合、それまでに更新された「出力値積算値SVaf及び素子温積算値STemp」は破棄される(図17のステップ1780を参照。)。
【0229】
以上、説明したように、第1判定装置は、
所定の指示燃料噴射量Fiに応じた量の燃料が複数の燃料噴射弁33のそれぞれから噴射されるように、複数の燃料噴射弁33に噴射指示信号を送出する噴射指示信号送出手段(図12を参照。)と、
所定のフューエルカット条件が成立したときに複数の燃料噴射弁33による燃料噴射を停止することによりフューエルカット運転を実行するフューエルカット手段(図12のステップ1210での「No」との判定を参照。)と、
複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比(気筒別空燃比)の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値RIMBhを取得する空燃比不均衡指標値取得手段(図15、及び、図16のステップ1605乃至ステップ1640を参照。)と、
前記取得された空燃比不均衡指標値RIMBhと所定のインバランス判定用閾値Rthとの比較の結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定するインバランス判定手段(図16のステップ1645乃至ステップ1655を参照。)と、
を備える。
【0230】
更に、第1判定装置の空燃比不均衡指標値取得手段は、
フューエルカット運転が実行されている期間における空燃比センサ56の出力値Vabyfsが大きいほど大きくなる補正用出力値AveVafを取得し(図17及び図18を参照。)、
前記空燃比不均衡指標値RIMBhとして、前記空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量であって前記補正用出力値AveVafが大きいほど小さくなる空燃比変動指標量を、空燃比センサ56の出力値Vabyfs及び補正用出力値AveVafに基いて取得するように構成されている(図15及び図16のステップ1625乃至ステップ1640を参照。)。
【0231】
これによれば、補正用出力値AveVafは空燃比センサ56の応答性が高いほど大きい値として取得されるので、取得される空燃比変動指標量(空燃比不均衡指標値RIMBh)は、実際の空燃比センサ56の応答性に依存することなく、空燃比センサ56の応答性が「特定の値(例えば、公差中央値)」にある場合に取得される空燃比変動指標量となる。従って、その空燃比変動指標量(即ち、空燃比不均衡指標値)は気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く行うことができる。
【0232】
更に、第1判定装置の空燃比不均衡指標値取得手段は、
空燃比センサ56の出力値Vabyfsに基いて「空燃比変動指標量の基本となる補正前指標量RIMB」を取得し(図15のステップ1510乃至ステップ1535を参照。)、
前記補正用出力値AveVafが大きいほど前記補正前指標量RIMBが小さくなるように、前記補正前指標量RIMBを前記補正用出力値AveVafに基いて補正することにより前記空燃比変動指標量RIMBhを取得するように構成される(図16のステップ1625乃至ステップ1640を参照。)。
【0233】
この結果、空燃比不均衡指標値RIMBhは空燃比センサ56の応答性に依らず気筒別空燃比の不均一性の程度を精度良く表すので、インバランス判定を精度良く実施することができる。
【0234】
更に、第1判定装置の空燃比不均衡指標値取得手段は、
前記補正用出力値AveVafを取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値AveTempを取得し(図18のステップ1825及びステップ1835等を参照。)、
前記素子温度相関値AveTempが大きいほど前記補正用出力値AveVafが大きくなるように前記補正用出力値AveVafを前記素子温度相関値AveTempに基いて補正し、前記補正された補正用出力値AveVafhに基づいて前記補正前指標量RIMBを補正するように構成されている(図16のステップ1625乃至ステップ1640を参照。)。
【0235】
これによれば、素子温度相関値AveTempにより補正される補正用出力値AveVafhは、補正用出力値AveVafを取得しているときの空燃比センサの素子温度に関わらず、空燃比センサの応答性を示す値となる。従って、空燃比不均衡指標値RIMBhが気筒別空燃比の不均一性の程度を一層精度良く表すので、インバランス判定を精度良く実施することができる。
【0236】
<第1判定装置の第1変形例>
この第1変形例は、素子温度相関値AveTempが大きいほど補正前指標量RIMBが大きくなるように、補正前指標量RIMBを素子温度相関値AveTempに基いて直接補正することにより、空燃比変動指標量(空燃比不均衡指標値)RIMBhを取得する。
【0237】
これによっても、素子温度相関値AveTempに関わらず、空燃比不均衡指標値RIMBhが気筒別空燃比の不均一性の程度を一層精度良く表す値となるので、インバランス判定を精度良く実施することができる。
【0238】
<第1判定装置の第2変形例>
この第2変形例は、補正用出力値AveVaf(又は補正用出力値AveVafh)が大きいほど空燃比センサ56の出力値Vabyfsが小さくなるように空燃比センサ56の出力値Vabyfsを補正用出力値AveVafに基づいて補正することにより応答性補正後センサ出力値Vhを取得し、その応答性補正後センサ出力値Vhに基いて空燃比変動指標量RIMBhを取得するように構成される。即ち、応答性補正後センサ出力値Vhを「図15のステップ1510にて取得される出力値Vabyfs」と置換することにより、図15のステップ1535にて空燃比不均衡指標値RIMBhを直接取得する。更に、図16のステップ1625乃至ステップ1640のステップは省略される。
【0239】
これによれば、「応答性が高いほど大きくなる補正用出力値AveVaf」が大きいほど、空燃比センサ56の出力値Vabyfsが小さい値Vhへと補正される。従って、その補正された空燃比センサの出力値Vhに基いて取得される空燃比変動指標量は、空燃比センサ56の応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く示す値となる。この結果、インバランス判定を精度良く実施することができる。
【0240】
<第1判定装置の第3変形例>
第1判定装置及びその変形例において、素子温度相関値AveTempに基く補正は省略されてもよい。この場合、例えば、図16のステップ1625は省略され、ステップ1630の素子温度補正係数ktempには「1」が代入される。更に、図18のステップ1825、ステップ1835及びステップ1845は省略される。
【0241】
<第1判定装置の第4変形例>
第4変形例は、図16のステップ1625乃至ステップ1635の処理を、図18のステップ1835とステップ1840との間に実行するように構成されている。これによれば、補正用出力値AveVaf及び素子温度相関値AveTempが取得される毎に、指標値補正係数kimbが算出される。
【0242】
<第1判定装置の第5変形例>
第5変形例は、図16のステップ1625乃至ステップ1640の処理を、図15のステップ1535とステップ1540との間に実行するように構成されている。これによれば、補正前指標量RIMBが取得される毎に、補正前指標量RIMBが補正用出力値AveVafh(補正用出力値AveVaf及び素子温度相関値AveTemp)に基いて補正される。
【0243】
<第2実施形態>
次に、本発明の第2実施形態に係る空燃比気筒間インバランス判定装置(以下、単に「第2判定装置」と称呼する。)について説明する。第2判定装置は、補正用出力値AveVafが取得された時点からの車両の走行距離が閾値走行距離以上になっている場合、空燃比不均衡指標値RIMBhの算出を実行せず、且つ、インバランス判定を実行しないように構成されている点において、第1判定装置と相違する。以下、この相違点について説明する。
【0244】
上述したように、上記(1)式の右辺の値(PO2/P)は大気圧が変化しても一定である。従って、上記(1)式から、限界電流値ILは排ガスの全圧Pに比例することが理解される。従って、限界電流値IL(出力値Vabyfs)は、機関10を搭載した車両が大気圧が大きい低地にて運転されている場合と、大気圧が小さい高地にて運転されている場合と、で大きく相違する。即ち、出力値Vabyfsは高度により変化する。
【0245】
一方、補正前指標量RIMBは、パラメータ取得条件が継続的に成立しない場合(パラメータ取得許可フラグXkyokaが「0」の場合)、取得されるまでに時間を要する。従って、補正用出力値AveVafが取得された時点における車両高度と、補正前指標量RIMBが取得された時点における車両高度と、が大きく相違する場合がある。この場合、補正用出力値AveVafは、補正前指標量RIMBを取得した時点における空燃比センサ56の応答性を精度良く表していないので、補正前指標量RIMBを補正する値として適切ではない。
【0246】
他方、車両の走行距離が長くなるほど、車両の高度が変化している可能性が高くなる。そこで、第2判定装置は、補正用出力値AveVafが取得された時点からの車両の走行距離が閾値走行距離以上になっている場合、補正用出力値AveVafhを用いた空燃比不均衡指標値RIMBhの算出を実行せず、且つ、インバランス判定を実行しない。
【0247】
(実際の作動)
第2判定装置のCPUは、第1判定装置のCPUと同じルーチンを実行する。更に、第2判定装置のCPUは、図19に示したルーチンを所定時間の経過毎に実行する。
【0248】
従って、所定のタイミングになると、CPUはステップ1900から処理を開始してステップ1910に進み、現時点が「補正用出力値AveVafが図18のステップ1830にて更新された直後の時点」であるか否かを判定する。
【0249】
このとき、現時点が「補正用出力値AveVafが図18のステップ1830にて更新された直後の時点」であると、CPUはステップ1910にて「Yes」と判定してステップ1920に進み、走行距離Disを「0」に設定する。次いで、CPUはステップ1940に進む。
【0250】
一方、CPUがステップ1910の処理を実行する時点において、補正用出力値AveVafが更新された直後の時点でなければ、CPUはそのステップ1910にて「No」と判定してステップ1930に進み、走行距離Disに車速spdを加算する。即ち、CPUは、車速spdを積分(積算)することにより走行距離Disを更新する。次いで、CPUはステップ1940に進む。
【0251】
この結果、走行距離Disは、補正用出力値AveVafが更新された時点からの車両の走行距離(移動距離)を示す値となる。
【0252】
CPUはステップ1940にて、走行距離Disが閾値走行距離Disth以上であるか否かを判定する。閾値走行距離Disthは、車両がこの閾値走行距離Disth以上走行した場合、車両の高度が変化し、従って、補正用出力値AveVafが補正前指標量RIMBを補正することに対して不適切な値となる可能性が高い値に設定されている。
【0253】
走行距離Disが閾値走行距離Disth未満であると、CPUはステップ1940にて「No」と判定し、ステップ1995に直接進んで本ルーチンを一旦終了する。
【0254】
これに対し、走行距離Disが閾値走行距離Disth以上であると、CPUはステップ1940にて「Yes」と判定し、以下に述べるステップ1950及びステップ1960の処理を順に行い、ステップ1995に進んで本ルーチンを一旦終了する。
【0255】
ステップ1940:CPUは、補正可能フラグXhoseiの値を「0」に設定する。これにより、CPUが図16のステップ1620に進んだ場合、そのステップ1620にて「No」と判定する。その結果、図16のステップ1625以降の処理が実行されないので、補正前指標量RIMBの補正(空燃比不均衡指標値RIMBhの算出)及びインバランス判定は実行されない。
【0256】
ステップ1950:CPUは、インバランス判定可能フラグXhanteiの値を「0」に設定する。これにより、CPUが図16のステップ1615に進んだ場合、そのステップ1615にて「No」と判定する。その結果、図16のステップ1625以降の処理が実行されないので、補正前指標量RIMBの補正(空燃比不均衡指標値RIMBhの算出)及びインバランス判定は実行されない。
【0257】
なお、図19の「ステップ1950及びステップ1960」の何れか一方は省略されてもよい。
【0258】
第2判定装置によれば、「不適切な補正用出力値AveVafに基いて取得又は補正された空燃比不均衡指標値に基いてインバランス判定が実施されること」がないので、誤判定が発生することを回避することができる。
【0259】
以上、説明したように、本発明の各実施形態に係る空燃比気筒間インバランス判定装置は、空燃比センサ56の応答性に関わらず、気筒別空燃比の不均一性の程度を精度良く表す空燃比不均衡指標値を取得することができるので、インバランス判定を精度良く実行することができる。
【0260】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、補正前指標量RIMBは、次に述べるような方法により取得されてもよい。なお、以下に述べる空燃比センサ56の出力値Vabyfsは、空燃比センサ56の出力値Vabyfsに相関する値を意味する。即ち、以下に述べる空燃比センサ56の出力値Vabyfsは、空燃比センサ56の出力値Vabyfsそのものでもよく、空燃比センサ56の出力値Vabyfsから機関10の空燃比平均(中心空燃比、ベース空燃比)の変動成分が除去されるように、空燃比センサ56の出力値Vabyfsに対してハイパスフィルタ処理を施した値(ハイパスフィルタ処理後出力値VHPF)であってもよい。
【0261】
(A−1)
判定装置は、上述したように、
空燃比センサ56の出力値Vabyfsの時間についての微分値d(Vabyfs)/dt(変化率ΔAF)を取得するとともに、取得した微分値d(Vabyfs)/dtに相関する値を補正前指標量RIMBとして取得するように構成され得る。
【0262】
取得した微分値d(Vabyfs)/dtに相関する値の一例は、上述したように、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された微分値d(Vabyfs)/dtの絶対値の平均値である。取得した微分値d(Vabyfs)/dtに相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された微分値d(Vabyfs)/dtの絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0263】
取得した微分値d(Vabyfs)/dtに相関する値の更に別の一例は、次のように取得してもよい。
・単位燃焼サイクル期間において、正の値を有する微分値d(Vabyfs)/dtの絶対値を所定サンプル時間の経過毎に取得し、それらの平均値ΔAFPLを求める。
・単位燃焼サイクル期間において、負の値を有する微分値d(Vabyfs)/dtの絶対値を所定サンプル時間の経過毎に取得し、それらの平均値ΔAFMNを求める。
・一つの単位燃焼サイクル期間において、平均値ΔAFPLと平均値ΔAFMNのうちの大きい方を、その単位燃焼サイクル期間における変化率ΔAFとして採用する。
・複数の単位燃焼サイクル期間のそれぞれにおいて上記のようにして取得したΔAFの平均値を補正前指標量RIMBとして採用する。
【0264】
(A−2)
判定装置は、
空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtを取得するとともに、その取得した微分値d(abyfs)/dt値に相関する値を補正前指標量RIMBとして取得するように構成され得る。
【0265】
取得した微分値d(abyfs)/dt値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された微分値d(abyfs)/dtの絶対値の平均値である。取得した微分値d(abyfs)/dtに相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された微分値d(abyfs)/dtの絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0266】
(A−3)
判定装置は、
空燃比センサ56の出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2を取得するとともに、その取得した二階微分値d2(Vabyfs)/dt2に相関する値を補正前指標量RIMBとして取得するように構成され得る。二階微分値d2(Vabyfs)/dt2は、気筒別空燃比差が小さい場合には図8の(D)の破線C5に示したように相対的に小さい値となり、気筒別空燃比差が大きい場合には図8の(D)の実線C6に示したように相対的に大きい値となる。
【0267】
なお、二階微分値d2(Vabyfs)/dt2は、現時点の出力値Vabyfsから一定のサンプリング時間前の出力値Vabyfsを減じることにより、一定のサンプリング時間毎の微分値d(Vabyfs)/dtを求め、新たに求められた微分値d(Vabyfs)/dtから一定のサンプリング時間前の微分値d(Vabyfs)/dtを減じることにより求めることができる。
【0268】
取得した二階微分値d2(Vabyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(Vabyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(Vabyfs)/dt2値に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(Vabyfs)/dt2値の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0269】
(A−4)
判定装置は、
空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2を取得するとともに、その取得した二階微分値d2(abyfs)/dt2に相関する値を補正前指標量RIMBとして取得するように構成され得る。出力値Vabyfsと検出空燃比abyfsとは実質的に比例関係にあるので(図6を参照。)、二階微分値d2(abyfs)/dt2は、出力値Vabyfsの二階微分値d2(abyfs)/dt2と同様の傾向を示す。
【0270】
取得した二階微分値d2(abyfs)/dt2値に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された二階微分値d2(abyfs)/dt2の絶対値の平均値である。取得した二階微分値d2(abyfs)/dt2に相関する値の他の一例は、単位燃焼サイクルにおいて複数個取得された二階微分値d2(abyfs)/dt2の絶対値の最大値を、複数の単位燃焼サイクルについて平均化した値である。
【0271】
(A−5)
判定装置は、
空燃比センサ56の出力値Vabyfsの所定期間(例えば、単位燃焼サイクル期間の自然数倍の期間)における最大値と最小値との差ΔXに相関する値、又は、空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値との差ΔYに相関する値を、補正前指標量RIMBとして取得するように構成され得る。図8の(B)に示した実線C2及び破線C1から明らかなように、この差ΔX(ΔXの絶対値)及び差ΔY(ΔYの絶対値)は、気筒別空燃比差が大きいほど大きくなる。従って、差ΔX(ΔXの絶対値)は、気筒別空燃比差が大きいほど大きくなる。差ΔX(又は差ΔY)に相関する値の一例は、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された差ΔX(又はΔY)の絶対値の平均値である。
【0272】
(A−6)
判定装置は、
補正前指標量RIMBとして、空燃比センサ56の出力値Vabyfsの所定期間おける軌跡長に相関する値、又は、空燃比センサ56の出力値Vabyfsにより表される検出空燃比abyfsの前記所定期間における軌跡長に相関する値を取得するように構成され得る。これらの軌跡長は、図8の(B)からも明らかなように、気筒別空燃比差が大きいほど大きくなる。軌跡長に相関する値は、例えば、単位燃焼サイクル又は単位燃焼サイクルの自然数倍の期間において複数個取得された軌跡長の絶対値の平均値である。
【0273】
なお、例えば、検出空燃比abyfsの軌跡長は、一定サンプリング時間tsが経過する毎に出力値Vabyfsを取得するとともに、その出力値Vabyfsを検出空燃比abyfsへと変換し、その検出空燃比abyfsと、一定サンプリング時間ts前に取得した検出空燃比abyfsと、の差の絶対値を積算することによって求めることができる。
【0274】
加えて、上記各判定装置は、V型エンジンにも適用することができる。その場合、V型エンジンは右バンクに属する2以上の気筒の排気集合部よりも下流に右バンク上流側触媒を備える。更に、そのV型エンジンは、左バンクに属する2以上の気筒の排気集合部よりも下流に左バンク上流側触媒を備える。
【0275】
加えて、そのV型エンジンは、右バンク上流側触媒の上流及び下流に右バンク用の上流側空燃比センサ及び下流側酸素濃度センサをそれぞれ備え、左バンク上流側触媒の上流及び下流に左バンク用の上流側空燃比センサ及び下流側酸素濃度センサをそれぞれ備えることができる。各上流側空燃比センサは、上記空燃比センサ56と同様、各バンクの排気集合部と各バンクの上流側触媒との間に配設される。この場合、右バンク用のメインフィードバック制御及びサブフィードバック制御が実行され、それとは独立して左バンク用のメインフィードバック制御及びサブフィードバック制御が実行される。
【0276】
更に、この場合、判定装置は、右バンク用の上流側空燃比センサの出力値に基いて「右バンク用の空燃比不均衡指標値RIMBh」を求め、それを用いて右バンクに属する気筒のインバランス判定を実行してもよい。同様に、判定装置は、左バンク用の上流側空燃比センサの出力値に基いて「左バンク用の空燃比不均衡指標値RIMBh」を求め、それを用いて左バンクに属する気筒のインバランス判定を実行してもよい。
【0277】
更に、上記第1判定装置及び上記第2判定装置において、サブフィードバック量KSFBは目標空燃比abyfrを直接的に修正する値であった。これに代え、「サブフィードバック量KSFBと同様に算出されるサブフィードバック量Vafsfb」を下記の(18)式のように空燃比センサ56の出力値Vabyfsに加えることによりフィードバック制御用出力値Vabyfcを取得してもよい。
Vabyfc=Vabyfs+Vafsfb …(18)
【0278】
そして、下記(19)式に示したように、そのフィードバック制御用出力値Vabyfcを図6に示したテーブルMapabyfsに適用することによりフィードバック制御用空燃比abyfscを取得し、そのフィードバック制御用空燃比abyfscが目標空燃比abyfr(=stoich)」に一致するように、メインフィードバック量DFiを求めてもよい。即ち、この形態は、目標空燃比abyfrをサブフィードバック量により直接的に修正するのではなく、空燃比センサ56の出力値Vabyfsをサブフィードバック量により補正することによって目標空燃比abyfrを実質的に補正する。
abyfsc=Mapabyfs(Vabyfc) …(19)
【符号の説明】
【0279】
10…多気筒内燃機関、21…燃焼室、33…燃料噴射弁、41…エキゾーストマニホールド、41a…枝部、41b…集合部(排気集合部)、42…エキゾーストパイプ、43…三元触媒(上流側触媒)、56…上流側空燃比センサ、57…下流側酸素濃度センサ、70…電気制御装置。
【特許請求の範囲】
【請求項1】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気集合部よりも下流に配設される限界電流式の空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
所定の指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
所定のフューエルカット条件が成立したときに前記複数の燃料噴射弁による燃料噴射を停止することによりフューエルカット運転を実行するフューエルカット手段と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を取得する空燃比不均衡指標値取得手段と、
前記取得された空燃比不均衡指標値と所定のインバランス判定用閾値との比較の結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定するインバランス判定手段と、
を備えた空燃比気筒間インバランス判定装置において、
前記空燃比不均衡指標値取得手段は、
前記フューエルカット運転が実行されている期間における前記空燃比センサの出力値が大きいほど大きくなる補正用出力値を取得し、
前記空燃比不均衡指標値として、前記空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量であって前記補正用出力値が大きいほど小さくなる空燃比変動指標量を前記空燃比センサの出力値及び前記補正用出力値に基いて取得するように構成された、
判定装置。
【請求項2】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記空燃比不均衡指標値取得手段は、
前記空燃比センサの出力値に基いて前記空燃比変動指標量の基本となる補正前指標量を取得し、
前記補正用出力値が大きいほど前記補正前指標量が小さくなるように前記補正前指標量を前記補正用出力値に基いて補正することにより前記空燃比変動指標量を取得するように構成された判定装置。
【請求項3】
請求項2に記載の空燃比気筒間インバランス判定装置であって、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値を取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値を取得し、
前記素子温度相関値が大きいほど前記補正用出力値が大きくなるように前記補正用出力値を前記素子温度相関値に基いて補正し、前記補正された補正用出力値に基づいて前記補正前指標量を補正するように構成された判定装置。
【請求項4】
請求項2に記載の空燃比気筒間インバランス判定装置であって、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値を取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値を取得し、
前記素子温度相関値が大きいほど前記補正前指標量が大きくなるように前記補正前指標量を前記素子温度相関値に基いて補正することにより前記空燃比変動指標量を取得するように構成された判定装置。
【請求項5】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値が大きいほど前記空燃比センサの出力値が小さくなるように前記空燃比センサの出力値を前記補正用出力値に基づいて補正することにより応答性補正後センサ出力値を取得し、
前記応答性補正後センサ出力値に基いて前記空燃比変動指標量を取得するように構成された判定装置。
【請求項6】
請求項1乃至請求項5の何れか一項に記載の空燃比気筒間インバランス判定装置であって、
前記機関は車両に搭載された機関であり、
前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比気筒間インバランス状態が発生したか否かの判定を実行しないように構成された判定装置。
【請求項7】
請求項1乃至請求項5の何れか一項に記載の空燃比気筒間インバランス判定装置であって、
前記機関は車両に搭載された機関であり、
前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比不均衡指標値の算出を実行しないように構成された判定装置。
【請求項8】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記不均衡指標値取得手段は、
前記空燃比センサの出力値Vabyfsの時間についての微分値d(Vabyfs)/dtに相関する値、
前記空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtに相関する値、
前記空燃比センサの出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2tに相関する値、
前記空燃比センサの出力値Vabyfsにより表される前記検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2tに相関する値、
前記空燃比センサの出力値Vabyfsの所定期間における最大値と最小値の差に相関する値、
前記空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値の差に相関する値、
のうちの一つを基本指標量として取得するとともに、前記取得した基本指標量に基いて前記空燃比変動指標量を取得するように構成された判定装置。
【請求項9】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記不均衡指標値取得手段は、
前記空燃比センサの出力値Vabyfsの所定期間おける軌跡長に相関する値、及び、
前記空燃比センサの出力値により表される検出空燃比abyfsの所定期間における軌跡長に相関する値、
のうちの一つを基本指標量として取得するとともに、前記取得した基本指標量に基いて前記空燃比変動指標量を取得するように構成された判定装置。
【請求項1】
多気筒内燃機関が有する複数の気筒から排出された排ガスが集合する前記機関の排気通路の排気集合部又は同排気集合部よりも下流に配設される限界電流式の空燃比センサと、
複数の燃料噴射弁であって、それぞれが前記複数の気筒のそれぞれの燃焼室に供給される混合気に含まれる燃料を噴射するように構成された複数の燃料噴射弁と、
所定の指示燃料噴射量に応じた量の燃料が前記複数の燃料噴射弁のそれぞれから噴射されるように前記複数の燃料噴射弁に噴射指示信号を送出する噴射指示信号送出手段と、
所定のフューエルカット条件が成立したときに前記複数の燃料噴射弁による燃料噴射を停止することによりフューエルカット運転を実行するフューエルカット手段と、
前記複数の気筒のそれぞれの燃焼室に供給される混合気の空燃比である気筒別空燃比の前記複数の気筒間における不均一性の程度が大きいほど大きくなる空燃比不均衡指標値を取得する空燃比不均衡指標値取得手段と、
前記取得された空燃比不均衡指標値と所定のインバランス判定用閾値との比較の結果に基いて空燃比気筒間インバランス状態が発生したか否かを判定するインバランス判定手段と、
を備えた空燃比気筒間インバランス判定装置において、
前記空燃比不均衡指標値取得手段は、
前記フューエルカット運転が実行されている期間における前記空燃比センサの出力値が大きいほど大きくなる補正用出力値を取得し、
前記空燃比不均衡指標値として、前記空燃比センサの出力値の変動が大きいほど大きくなる空燃比変動指標量であって前記補正用出力値が大きいほど小さくなる空燃比変動指標量を前記空燃比センサの出力値及び前記補正用出力値に基いて取得するように構成された、
判定装置。
【請求項2】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記空燃比不均衡指標値取得手段は、
前記空燃比センサの出力値に基いて前記空燃比変動指標量の基本となる補正前指標量を取得し、
前記補正用出力値が大きいほど前記補正前指標量が小さくなるように前記補正前指標量を前記補正用出力値に基いて補正することにより前記空燃比変動指標量を取得するように構成された判定装置。
【請求項3】
請求項2に記載の空燃比気筒間インバランス判定装置であって、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値を取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値を取得し、
前記素子温度相関値が大きいほど前記補正用出力値が大きくなるように前記補正用出力値を前記素子温度相関値に基いて補正し、前記補正された補正用出力値に基づいて前記補正前指標量を補正するように構成された判定装置。
【請求項4】
請求項2に記載の空燃比気筒間インバランス判定装置であって、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値を取得しているときの前記空燃比センサの素子温度が高いほど大きくなる素子温度相関値を取得し、
前記素子温度相関値が大きいほど前記補正前指標量が大きくなるように前記補正前指標量を前記素子温度相関値に基いて補正することにより前記空燃比変動指標量を取得するように構成された判定装置。
【請求項5】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記空燃比不均衡指標値取得手段は、
前記補正用出力値が大きいほど前記空燃比センサの出力値が小さくなるように前記空燃比センサの出力値を前記補正用出力値に基づいて補正することにより応答性補正後センサ出力値を取得し、
前記応答性補正後センサ出力値に基いて前記空燃比変動指標量を取得するように構成された判定装置。
【請求項6】
請求項1乃至請求項5の何れか一項に記載の空燃比気筒間インバランス判定装置であって、
前記機関は車両に搭載された機関であり、
前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比気筒間インバランス状態が発生したか否かの判定を実行しないように構成された判定装置。
【請求項7】
請求項1乃至請求項5の何れか一項に記載の空燃比気筒間インバランス判定装置であって、
前記機関は車両に搭載された機関であり、
前記インバランス判定手段は、前記補正用出力値が取得された時点からの前記車両の走行距離が閾値走行距離以上になっている場合、前記空燃比不均衡指標値の算出を実行しないように構成された判定装置。
【請求項8】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記不均衡指標値取得手段は、
前記空燃比センサの出力値Vabyfsの時間についての微分値d(Vabyfs)/dtに相関する値、
前記空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの時間についての微分値d(abyfs)/dtに相関する値、
前記空燃比センサの出力値Vabyfsの時間についての二階微分値d2(Vabyfs)/dt2tに相関する値、
前記空燃比センサの出力値Vabyfsにより表される前記検出空燃比abyfsの時間についての二階微分値d2(abyfs)/dt2tに相関する値、
前記空燃比センサの出力値Vabyfsの所定期間における最大値と最小値の差に相関する値、
前記空燃比センサの出力値Vabyfsにより表される検出空燃比abyfsの所定期間における最大値と最小値の差に相関する値、
のうちの一つを基本指標量として取得するとともに、前記取得した基本指標量に基いて前記空燃比変動指標量を取得するように構成された判定装置。
【請求項9】
請求項1に記載の空燃比気筒間インバランス判定装置において、
前記不均衡指標値取得手段は、
前記空燃比センサの出力値Vabyfsの所定期間おける軌跡長に相関する値、及び、
前記空燃比センサの出力値により表される検出空燃比abyfsの所定期間における軌跡長に相関する値、
のうちの一つを基本指標量として取得するとともに、前記取得した基本指標量に基いて前記空燃比変動指標量を取得するように構成された判定装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【公開番号】特開2012−31774(P2012−31774A)
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願番号】特願2010−171576(P2010−171576)
【出願日】平成22年7月30日(2010.7.30)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成24年2月16日(2012.2.16)
【国際特許分類】
【出願日】平成22年7月30日(2010.7.30)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]