以下、本発明を実施するための最良の形態を添付図面に基づき説明する。
図1は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、燃焼室3内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関1は自動車用の多気筒内燃機関であり、より具体的には並列4気筒の火花点火式内燃機関即ちガソリンエンジンである。但し本発明が適用可能な内燃機関はこのようなものに限られず、多気筒内燃機関であれば気筒数、形式等は特に限定されない。
図示しないが、内燃機関1のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室3内の混合気に点火するための点火プラグ7が気筒ごとに取り付けられている。
各気筒の吸気ポートは気筒毎の枝管4を介して吸気集合室であるサージタンク8に接続されている。サージタンク8の上流側には吸気管13が接続されており、吸気管13の上流端にはエアクリーナ9が設けられている。そして吸気管13には、上流側から順に、吸入空気量を検出するためのエアフローメータ5と、電子制御式のスロットルバルブ10とが組み込まれている。吸気ポート、枝管、サージタンク8及び吸気管13により吸気通路が形成される。
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ(燃料噴射弁)12が気筒ごとに配設される。インジェクタ12から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室3に吸入され、ピストンで圧縮され、点火プラグ7で点火燃焼させられる。
一方、各気筒の排気ポートは排気マニフォールド14に接続される。排気マニフォールド14は、その上流部をなす気筒毎の枝管14aと、その下流部をなす排気集合部14bとからなる。排気集合部14bの下流側には排気管6が接続されている。排気ポート、排気マニフォールド14及び排気管6により排気通路が形成される。排気管6の上流側と下流側にはそれぞれ三元触媒からなる触媒11,19が直列に取り付けられている。上流触媒11の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第1及び第2の空燃比センサ、即ち触媒前センサ17及び触媒後センサ18が設置されている。これら触媒前センサ17及び触媒後センサ18は、上流触媒11の直前及び直後の位置の排気通路に設置され、排気中の酸素濃度に基づいて空燃比を検出する。このように上流触媒11の上流側の排気合流部に単一の触媒前センサ17が設置されている。
上述の点火プラグ7、スロットルバルブ10及びインジェクタ12等は、制御手段としての電子制御ユニット(以下ECUと称す)20に電気的に接続されている。ECU20は、何れも図示されないCPU、ROM、RAM、入出力ポート、および記憶装置等を含むものである。またECU20には、図示されるように、前述のエアフローメータ5、触媒前センサ17、触媒後センサ18のほか、内燃機関1のクランク角を検出するクランク角センサ16、アクセル開度を検出するアクセル開度センサ15、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU20は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、スロットルバルブ10、インジェクタ12等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。なおスロットル開度は通常アクセル開度に応じた開度に制御される。
触媒前センサ17は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図2には触媒前センサ17の出力特性を示す。図示するように、触媒前センサ17は、検出した排気空燃比(触媒前空燃比A/Ff)に比例した大きさの電圧信号Vfを出力する。排気空燃比がストイキであるときの出力電圧はVreff(例えば約3.3V)であり、このストイキを境に空燃比−電圧特性の傾きが変化する。
他方、触媒後センサ18は所謂O2センサからなり、ストイキを境に出力値が急変する特性を持つ。図3には触媒後センサ18の出力特性を示す。図示するように、触媒後センサ18の出力電圧Vrはストイキを境に過渡的に変化し、排気空燃比(触媒後空燃比A/Fr)がストイキよりリーンのときには0.1V程度の低い電圧を示し、排気空燃比がストイキよりリッチのときには0.9V程度の高い電圧を示す。これらのほぼ中間の電圧Vrefr=0.45Vをストイキ相当値とし、センサ出力電圧がVrefrより高いときには排気空燃比はストイキよりリッチ、センサ出力電圧がVrefrより低いときには排気空燃比はストイキよりリーンというように、排気空燃比を検出している。
上流触媒11及び下流触媒19は、それぞれに流入する排気ガスの空燃比A/Fが理論空燃比(ストイキ、例えばA/F=14.6)近傍のときに排気中の有害成分であるNOx ,HCおよびCOを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅(ウィンドウ)は比較的狭い。加えて上流触媒11及び下流触媒19は、排気中に存在する水素H2も酸化(燃焼)して浄化する。
そして特に上流触媒11に流入する排気ガスの空燃比がストイキ近傍に制御されるように、空燃比制御がECU20により実行される。この空燃比制御は、触媒前センサ17によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるような主空燃比制御(主空燃比フィードバック制御)と、触媒後センサ18によって検出された排気空燃比をストイキに一致させるような補助空燃比制御(補助空燃比フィードバック制御)とからなる。
[空燃比センサ異常診断の基本的内容]
次に、本実施形態における空燃比センサの異常診断について説明する。本実施形態で診断対象となるのは上流触媒11の上流側に設置された空燃比センサ、即ち触媒前センサ17である。
当該異常診断においては、インジェクタ12から触媒前センサ17までの系が一次遅れ要素によりモデル化され、このモデルに対する入力と、触媒前センサ17の出力とに基づき、前記一次遅れ要素におけるパラメータが同定(推定)される。そして、この同定されたパラメータに基づき、触媒前センサ17の所定の特性の異常が判定される。
入力として、インジェクタ12の通電時間に基づいて計算された燃料噴射量Qと、エアフローメータ5の出力に基づいて計算された吸入空気量Gaとの比Ga/Q、即ち入力空燃比が用いられる。以下、入力ないし入力空燃比をu(t)で表す(u(t)=Ga/Q)。他方、触媒前センサ17の出力としては、出力空燃比、即ち触媒前センサ17の出力電圧Vrから換算される触媒前空燃比A/Ffが用いられる。以下、出力ないし出力空燃比をy(t)で表す(y(t)=A/Ff)。入力空燃比u(t)をモデルに与えたときの出力空燃比y(t)の出方から、一次遅れ要素におけるパラメータを同定し、この同定されたパラメータに基づき触媒前センサ17の所定の特性の異常が判定される。
図4に示すように、本実施形態では、パラメータ同定の際に、空燃比を強制的に振動させるアクティブ制御(同定用アクティブ制御)が実行される。このアクティブ制御では、目標空燃比A/Ft即ち入力空燃比u(t)が、所定の中心空燃比A/Fcを境にリーン側及びリッチ側に同一振幅だけ振れるように、一定周期で振動させられる。振動の振幅は通常の空燃比制御のときより大きく、例えば空燃比で0.5などとされる。中心空燃比A/Fcは理論空燃比に等しくされる。
このアクティブ制御を実行する理由は、アクティブ制御がエンジンの定常運転時に実行されることから、各制御量及び各検出値が安定し、診断精度が向上するからである。また入力空燃比u(t)を敢えて大きく変化させたときの方がセンサの各特性(特に出力及び応答性)の良し悪しを好適に診断できるからである。しかしながら、通常の空燃比制御時に異常診断を実行するようにしてもよい。
図示されるように、入力空燃比u(t)はほぼステップ状の波形であり、これに対し出力空燃比y(t)は一次遅れを伴った波形となる。図中Lは、入力空燃比u(t)から出力空燃比y(t)までの輸送遅れに基づくむだ時間である。即ち、このむだ時間Lは、インジェクタ12における燃料噴射時から、その燃料噴射による排気ガスが触媒前センサ17に到達するまでの時間差に相当する。
簡単化のためこのむだ時間Lをゼロと仮定すると、一次遅れ要素はG(s)=k/(1+Ts)で表される。ここで、kは触媒前センサ17のゲインであり、Tは触媒前センサ17の時定数を表す。ゲインkは、触媒前センサ17の特性のうち出力に関わる値であり、他方、時定数Tは、触媒前センサ17の特性のうち応答性に関わる値である。図4において、出力空燃比y(t)を表す実線は触媒前センサ17が正常な場合を示す。これに対し、触媒前センサ17の出力特性に異常が生じると、ゲインkが正常時より大きくなり、aで示す如くセンサ出力が増大(拡大)するか、またはゲインkが正常時より小さくなり、bで示す如くセンサ出力が減少(縮小)する。よって、同定されたゲインkを所定値と比較することでセンサ出力の増大異常又は減少異常を特定することができる。他方、触媒前センサ17の応答性に異常が生じると、殆どの場合、時定数Tが正常時より大きくなり、cで示す如くセンサ出力が遅れて出てくるようになる。よって、同定された時定数Tを所定値と比較することでセンサの応答性異常を特定することができる。
次に、ECU20によって実行されるこれらゲインk及び時定数Tの同定方法を説明する。
式(20)は、今回のサンプル時刻tと前回のサンプル時刻t−1とにおける値の関数であり、この式の意味するところは、今回値と前回値に基づいてb1とb2が、即ちTとkが毎回更新されていくことにほかならない。こうして、時定数Tとゲインkは逐次最小自乗法により逐次同定されることになる。この逐次同定を行うやり方だと、サンプルデータを多数取得して一時記憶し、その上で同定を行うやり方よりも演算負荷を軽減できると共に、データを一時的に溜めるバッファの容量も減少できて、ECU(特に自動車用ECU)への実装に好適である。
ECU20により実行されるセンサ特性の異常判定方法は次の通りである。まず、同定された時定数Tが所定の時定数異常判定値Tsより大きい場合、応答遅れが生じており、触媒前センサ17は応答性異常であると判定される。他方、同定された時定数Tが時定数異常判定値Ts以下の場合、触媒前センサ17は応答性に関して正常と判定される。
また、同定されたゲインkが所定のゲイン増大異常判定値ks1より大きい場合、触媒前センサ17は出力増大異常であると判定され、同定されたゲインkがゲイン縮小異常判定値ks2(<ks1)より小さい場合、触媒前センサ17は出力減少異常であると判定される。同定されたゲインkがゲイン縮小異常判定値ks2以上で且つゲイン増大異常判定値ks1以下の場合、触媒前センサ17は出力に関して正常であると判定される。
このように本発明に係る異常診断によれば、単に空燃比センサ自体の異常が判定されるのではなく、空燃比センサの所定の特性の異常が判定される。そして、二つの同定パラメータT,kにより、応答性及び出力という二つのセンサ特性の異常が、とりわけ同時且つ個別に、判定される。よって空燃比センサの異常診断として極めて緻密で且つ好適なものを実現することが可能となる。
図5及び図6は、正常な触媒前センサ17の場合と異常な触媒前センサ17の場合とで時定数Tとゲインkとを逐次最小自乗法により逐次同定した結果を示す。図5が正常な触媒前センサ17の場合、図6が異常な触媒前センサ17の場合である。図5(A)及び図6(A)は入力空燃比(破線)と出力空燃比(実線)との振動の様子を示す。
図5(B)及び図5(B)は、アクティブ制御開始時からの時定数T(破線)とゲインk(実線)との推移を示す。時定数Tとゲインkとはサンプル時刻毎に毎回更新されていき、次第に一定値に収束していく。アクティブ制御開始時(同定開始時)t0から、それらの値がほぼ収束するような所定時間(例えば5秒)経過後の時点(判定時期)t1で、時定数Tとゲインkとが取得され、これら取得された時定数Tとゲインkとが前記異常判定値Ts1,ks1,ks2と比較されて、応答性及び出力の異常判定がなされる。
異常な触媒前センサ17として、正常な触媒前センサ17に比べ応答性がほぼ同じで出力が1/2であるセンサを用いて試験を行ったところ、判定時期t1での時定数Tについては、正常センサの場合0.18、異常センサの場合0.17とほぼ同等であった。他方、判定時期t1でのゲインkについては、正常センサの場合1、異常センサの場合0.5であった。これにより実際のセンサと同様の結果を得られることが確認された。
ところで、実際のエンジンには負荷変動などの様々な外乱があり、これらを適切に考慮しないと同定精度やロバスト性を向上することができない。このため、本実施形態に係る異常診断では、以下のような入出力データに対する種々の補正を行うこととしている。
図7は、モデルパラメータを同定するためのシステム全体のブロック図である。このようなシステムはECU20内に構築されている。同定部(同定手段)50において前述のようなパラメータT,kの同定を行うため、入力算出部52、バイアス補正部(バイアス補正手段)54及びむだ時間補正部(むだ時間補正手段)56が設けられる。なお、異常診断がアクティブ制御中に実施されることから、アクティブ制御フラグ出力部58も設けられている。
入力算出部52では入力空燃比u(t)の算出が行われる。入力空燃比u(t)は前述の例ではインジェクタ12の通電時間に基づいて計算される燃料噴射量Qと、エアフローメータ5の出力に基づいて計算される吸入空気量Gaとの比Ga/Qであった。しかしながらここでは、インジェクタ通電時間に基づいて計算される燃料噴射量Qが燃料の壁面付着量及び蒸発量に基づき補正され、その補正後の燃料噴射量Q’を使用して入力空燃比u(t)が計算される。u(t)=Ga/Q’であり、結果的に入力空燃比u(t)が燃料の壁面付着量及び蒸発量に基づき補正される。
インジェクタ12から燃料が噴射されると、そのうち大部分は筒内燃焼室3に吸入されるが、残りの部分は吸気ポートの内壁面に付着し燃焼室3に入らない。そこで、インジェクタ12から噴射された燃料量をfiとし、全気筒分の燃料付着率をR(<1)とすると、その噴射燃料量fiのうち、吸気ポート壁面に付着する分はR・fi、燃焼室3に入る分は(1−R)・fiで表される。
他方、吸気ポート壁面に付着した燃料のうち、一部は蒸発して次の吸気行程で燃焼室3内に入るが、残りは残留してそのまま付着し続ける。そこで、吸気ポート壁面に付着した燃料量をfwとし、全気筒分の燃料残留率をP(<1)とすると、壁面付着燃料量fwのうち、そのまま壁面に付着し続ける分はP・fw、燃焼室3に入る分は(1−P)・fwで表される。
4サイクルエンジンの吸気、圧縮、膨張、排気の各行程を1回ずつ終えて1サイクルとし(即ち、1サイクル=720°クランク角)、今回のサイクルをks、次回のサイクルをks+1とする。また、筒内燃焼室3に入る燃料量をfcとすると、次の関係が成り立つ。
fw(ks+1)=P・fw(ks)+R・fi(ks) ・・・(21)
fc(ks)=(1−P)・fw(ks)+(1−R)・fi(ks) ・・・(22)
式(21)の意味するところは、次回サイクルの壁面付着燃料量fw(ks+1)が、今回サイクルの壁面付着燃料量fw(ks)の残留分P・fw(ks)と、今回サイクルの噴射燃料量fi(ks)の壁面付着分R・fi(ks)との和で表される、ということである。また、式(22)の意味するところは、今回サイクルで燃焼室3内に流入する流入燃料量fc(ks)が、今回サイクルの壁面付着燃料量fw(ks)のうちの蒸発分(1−P)・fw(ks)と、今回サイクルの噴射燃料量fi(ks)のうち壁面付着しないで直接燃焼室3内に流入する分(1−R)・fi(ks)との和で表される、ということである。
こうして、入力空燃比u(t)の算出に際し、燃料噴射量Q’の値として流入燃料量fcの値が用いられる。この流入燃料量fcは、燃料の壁面付着量及び蒸発量に基づき、インジェクタ12の通電時間に基づいて計算された燃料噴射量を補正したものにほかならない。よって、入力空燃比u(t)の算出に流入燃料量fcの値を用いることにより、入力空燃比の値を実情に近いより正確な値とすることができ、パラメータの同定精度を向上することが可能になる。
なお、エンジン温度及び吸気温が高いほど、燃料の気化が促進されることから、燃料付着量は減少し、燃料蒸発量は増大する。従って燃料残留率P及び燃料付着率Rはエンジン温度(若しくは水温)及び吸気温の少なくとも一方の関数とするのが好ましい。ここで説明したような燃料の壁面付着量及び蒸発量に基づく補正を「燃料ダイナミクス補正」と称することとする。
図8には、燃料ダイナミクス補正のない場合(破線)とある場合(実線)とでアクティブ制御中の入力空燃比u(t)の変化の違いを調べた試験結果である。図中円内に示されるように、燃料ダイナミクス補正のある場合はない場合に比べ、入力空燃比u(t)が反転された直後に入力空燃比u(t)の波形が若干なまされる傾向にある。
次に、バイアス補正部54について説明する。このバイアス補正部54では、入力空燃比u(t)と出力空燃比y(t)との間のバイアスを除去するように入力空燃比u(t)と出力空燃比y(t)との両方がシフト補正される。
入力空燃比u(t)と出力空燃比y(t)とは、負荷変動、学習ズレ及びセンサ値ズレ等の要因に伴い、一方に対し他方がリーン側又はリッチ側にバイアスしてしまう(ズレてしまう)場合がある。図9はこのバイアスの様子を示す試験結果である。図中、u(t)c及びy(t)cはそれぞれ入力空燃比u(t)と出力空燃比y(t)とをローパスフィルタを通した値、もしくはそれらの移動平均を示す。触媒前センサ17で検出される空燃比が理論空燃比(A/F=14.6)付近となるよう制御されていることから、触媒前センサ17の検出値である出力空燃比y(t)は理論空燃比を中心に変動し、そのローパスフィルタを通した値もしくは移動平均y(t)cも理論空燃比付近に保たれる。これに対し、入力空燃比u(t)は、前述の理由から、図示例ではリーン側にバイアスしている。
かかるバイアス状態で同定を行うのは好ましくないことから、バイアスを除去するような補正が行われる。具体的には、図10に示すように、入力空燃比u(t)と出力空燃比y(t)とのデータがローパスフィルタを通過され、もしくは移動平均を算出し、バイアス値u(t)c、y(t)cが逐次的に算出される。そして、逐次的に、入力空燃比u(t)とそのバイアス値u(t)cとの差Δu(t)(=u(t)−u(t)c)及び出力空燃比y(t)とそのバイアス値y(t)cとの差Δy(t)(=y(t)−y(t)c)が算出され、これら差Δu(t)、Δy(t)がゼロ基準の値に置き換えられる。なお、これら差Δu(t)、Δy(t)をまとめてΔA/Fで表示する(図5(A)及び図6(A)においても同様)。
こうしてバイアスは除去され、バイアス除去後の入出力空燃比の値Δu(t)、Δy(t)は図11に示される如くゼロ基準の値に変更される。即ち、両者の変動の中心がゼロに合わせられ、負荷変動や学習ズレ等の影響を無くすことができる。これにより負荷変動や学習ズレ等に対するロバスト性を高めることができる。
なお、この例では入出力空燃比の両方を補正し、入出力空燃比の変動中心をゼロに合わせてバイアスを除去する方法を採用したが、これ以外の方法も採用できる。例えば、入力空燃比のみを補正し、その変動中心を出力空燃比の変動中心に合わせたり、その逆を行ったりすることができる。補正の対象は入出力空燃比の少なくともいずれか一方であればよい。
次に、むだ時間補正部56について説明する。前述したように、入力空燃比u(t)と出力空燃比y(t)との間には輸送遅れによるむだ時間Lが存在する。しかしながら、正確なモデルパラメータの同定を行うためには、このむだ時間Lを除去するような補正を行うのが好ましい。そこでこのような補正をむだ時間補正部56で行うこととしている。具体的には、後述の方法でむだ時間Lが算出され、このむだ時間L分だけ入力空燃比u(t)が出力空燃比y(t)に近づくよう遅らせられる。
図12には、むだ時間補正前の入力空燃比(破線)、むだ時間補正後の入力空燃比(実線)及び出力空燃比(一点鎖線)が示される。なお入力空燃比及び出力空燃比としてバイアス補正後の値が用いられる。むだ時間Lだけ入力空燃比が遅らせられると、入力空燃比の振動と出力空燃比の振動とが時間差無く同期するようになり、これによりモデルパラメータの同定精度を向上させることができる。
むだ時間算出の第1の態様としては、エンジン運転状態に関する少なくとも一つのパラメータに基づいて所定のマップ又は関数に従ってむだ時間を算出する方法がある。図13にはそのようなむだ時間算出マップの一例を示す。このマップでは、エンジン回転速度Neの検出値に基づきむだ時間Lを算出するようになっている。
むだ時間算出の第2の態様として次のようなものもある。まず、アクティブ制御中の入力空燃比及び出力空燃比の分散値が次式により逐次的に求められる。
ηは入力空燃比又は出力空燃比の値であり、ηavgはM回移動平均、即ち今回(t)から(M−1)回前(t−(M−1))までのデータの平均値である。Mは例えば5などとされる。入力空燃比又は出力空燃比の変化が大きいほどその分散値は大きくなる。
図14はむだ時間補正に関する試験結果であり、正常センサの場合を示す。上段のグラフは、a:むだ時間補正前の入力空燃比、b:むだ時間補正後の入力空燃比、c:出力空燃比をそれぞれ示す。なおa及びbで示した入力空燃比は燃料ダイナミクス補正及びバイアス補正を実施した後の値であり、cで示した出力空燃比はバイアス補正を実施した後の値である。中段のグラフは、d:aで示したむだ時間補正前の入力空燃比の分散値、e:cで示した出力空燃比の分散値をそれぞれ示す。下段のグラフにおいて、鋸歯状の波形fはむだ時間カウンタの値、高い位置にある横線gは後述のようにして算出されるむだ時間、低い位置にある横線hはむだ時間gを1/4になました値をそれぞれ示す。
図15には図12のa,c,d,eのみが簡略化して示してある。この図15から分かるように、入力空燃比の分散値d及び出力空燃比の分散値eは、入力空燃比a及び出力空燃比cが反転するタイミングで分散値d,eのピークdp,epが生ずる。よって、これらピークの時間差(ep−dp)をむだ時間gとして算出する。図14に戻って、入力空燃比の分散値ピークdpが発生すると、その発生時からむだ時間カウンタfが時間のカウントを開始する。そして、出力空燃比の分散値ピークepが発生した時点で、カウントが停止され、そのカウント値がむだ時間gとして保持される。このむだ時間gは入力空燃比の反転毎に更新され、且つその反転毎に、なまし後のむだ時間hが計算されていく。なまし後のむだ時間hを計算する理由はノイズの影響を除去するためである。なまし後のむだ時間hの値はやがて一定値付近に収束するようになる。そこで、アクティブ制御の開始時から、なまし後のむだ時間hがほぼ一定値に収束するようになる所定時間経過後の時点で、なまし後のむだ時間hが取得され、その取得された値が最終的なむだ時間Lとして決定される。
ところで、図14及び図15により説明した以上の算出方法は正常センサの場合であるが、これに対し、異常センサの場合だと、同様の方法を採用するのが必ずしも適切ではない。即ち、図16及び図17に示される如く、例えば応答遅れが生じている異常センサの場合だと、出力空燃比bの分散値eとして十分大きな値を得ることができず、そのピークepが現れるタイミングに関しても誤差が大きくなる。
そこで、出力空燃比の分散値ピークepを所定のしきい値epsと比較し、図14及び図15に示すように、その分散値ピークepがしきい値epsより大きい場合は、前述のように、入出力空燃比の分散値ピークdp,ep同士の時間差(ep−dp)を以てむだ時間gとする。他方、図16及び図17に示すように、出力空燃比の分散値ピークepがしきい値eps以下の場合は、入出力空燃比a,c自体の極値ap,cp同士の時間差(cp−ap)を以てむだ時間gとする。これにより異常センサの場合でも正確にむだ時間を算出することができる。
さて、これら第1の態様及び第2の態様のいずれか一方のみを用いてむだ時間を算出し、入力空燃比のむだ時間補正を行うことができるが、以下の第3の態様では、第1の態様及び第2の態様の両方を使用してむだ時間を算出する。第3の態様では、第1の態様に従ってマップから算出された第1のむだ時間と、第2の態様に従って分散値又は極値から算出された第2のむだ時間とを比較し、両者が接近していればマップから算出された第1のむだ時間を用いる。他方、両者が隔離していれば分散値又は極値から算出された第2のむだ時間を用いると共に、その第2のむだ時間を用いてマップデータを更新する。本来、最適なむだ時間の値はマップ値から大きくずれることはないが、何等かの原因でその最適なむだ時間の値がマップ値から大きくずれる可能性もある。一方、分散値又は極値から算出された第2のむだ時間は現状を反映した実際の値といえる。よって、このようなマップ更新を行うことで不測の事態に対処可能となると共に、マップデータを常に現状に即した最適値に維持することが可能になる。
図18には第3の態様の手順を概略的に示す。まずステップS101では、第1の態様に従い、図13に示したようなマップから第1のむだ時間L1を算出する。次にステップS102では、第2の態様に従い、入出力空燃比の分散値又は極値から第2のむだ時間L2を算出する。この後、ステップS103では、これら第1及び第2のむだ時間L1,L2の差の絶対値であるむだ時間ズレ量L12を算出し、このむだ時間ズレ量L12を所定値L12sと比較する。むだ時間ズレ量L12が所定値L12s以下の場合、両者のズレが小さいとして、ステップS104において、マップから算出された第1のむだ時間L1を最終的なむだ時間Lとして決定する。
他方、むだ時間ズレ量L12が所定値L12sより大きい場合、両者のズレが大きいとして、ステップS105において、入出力空燃比の分散値又は極値から算出された第2のむだ時間L2を最終的なむだ時間Lとして決定する。そして、ステップS106において、その第2のむだ時間L2に対応するマップ中の第1のむだ時間L1を第2のむだ時間L2で置き換え、マップデータを更新する。
なお、前述のむだ時間補正では、入力空燃比をむだ時間分だけ遅らせて出力空燃比とタイミングを一致させる補正を行ったが、これ以外の方法も採用できる。例えば、逐次同定を行わないやり方、例えばサンプルデータを多数取得して一時記憶し、その上で同定を行うやり方だと、出力空燃比をむだ時間分だけ早めて入力空燃比とタイミングを一致させたり、入力空燃比を遅らせ且つ出力空燃比を早めて両者のタイミングを一致させたりすることができる。補正の対象は入出力空燃比の少なくともいずれか一方であればよい。
次に、上述の全ての補正を含む空燃比センサ異常診断の手順を図19に基づいて説明する。まず、ステップS201では空燃比を強制的に振動させるアクティブ制御が実行され、ステップS202では、燃料ダイナミクス補正がなされた後の入力空燃比u(t)の値が算出され、ステップS203では、図9〜図11に示したように、入出力空燃比の間のバイアスが無くなるように入力空燃比u(t)及び出力空燃比y(t)の値がシフト補正される。
続くステップS204ではむだ時間Lが算出され、ステップS205においてむだ時間Lが無くなるように、バイアス補正後の入力空燃比u(t)の値がむだ時間L分だけシフト補正される。次のステップS206では、ステップS205で得られたむだ時間補正後の入力空燃比u(t)と、ステップS203で得られたバイアス補正後の出力空燃比y(t)との関係から、モデルパラメータである時定数Tとゲインkとが同定される。そして、ステップS207において、同定されたパラメータT,kと各異常判定値(時定数異常判定値Ts、ゲイン増大異常判定値ks1及びゲイン縮小異常判定値ks2)とが比較され、空燃比センサ(触媒前センサ17)の応答性及び出力の正常・異常が判定される。
なお、上述のセンサ異常診断については種々の変形例が考えられる。例えば、燃料を燃焼室3に直接噴射する直噴式エンジンの場合、吸気通路壁面への燃料付着を考慮する必要がないので、燃料ダイナミクス補正は省略されることとなる。上記診断は所謂広域空燃比センサへの適用例であったが、触媒後センサ18のような所謂O2センサへの適用例も可能である。このようなO2センサも含めて、広く、排気ガスの空燃比を検出するためのセンサを本発明にいう空燃比センサというものとする。上記診断では空燃比センサの特性のうち応答性及び出力という二つの特性の異常が診断されたが、これに限らず、一若しくは三以上の特性について異常を診断するものであってもよい。同様に、一次遅れ要素におけるパラメータとして時定数T及びゲインkのいずれか一方のみ、或いは時定数T及びゲインkに加えてさらに他のパラメータを同定してもよい。上記診断では一次遅れ要素における二つのパラメータT,kを同時に同定し、空燃比センサの二つの特性の異常を同時に判定しているが、これに限らず、少なくとも二つのパラメータの同定を時間差を以て行ってもよいし、また、少なくとも二つの特性の異常判定を時間差を以て行ってもよい。
ところで、上記の空燃比センサ(触媒前センサ17)異常診断において、例えばある気筒のインジェクタの故障等により、実際の空燃比が気筒間でズレたりばらついたりすると、その影響が空燃比センサの出力に現れてしまい、空燃比センサが正常であるにも拘わらず異常と誤診断してしまうことがあることが判明した。
図20には、そのような空燃比ばらつきが無い場合(点線)と有る場合(実線)における触媒前センサ17の出力(触媒前空燃比A/Ff)を示す。なお空燃比ばらつきが有る場合の波形は、後述するインバランス割合が+30%であるときの波形である。図示するように、空燃比ばらつきが生じると1エンジンサイクル(=720°クランク角)間で空燃比の変動が発生し、これに伴ってセンサ出力の変動が大きくなり、空燃比ばらつきが無い場合の波形に高周波の変動が重畳してくるようになる。この高周波変動の影響で、最終的に得られる時定数T及びゲインkの値が本来得られる値より小さくなってしまう。
図21には、正常な空燃比センサの場合における空燃比ばらつきと時定数T及びゲインkとの関係を示す。横軸には、気筒間空燃比のばらつき(インバランス:imbalance)に関するパラメータであるインバランスパラメータとして、インバランス割合(%)がとってある。インバランス割合とは、全気筒のうちある1気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒(インバランス気筒)の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒(バランス気筒)の燃料噴射量即ち基準噴射量からズレているかを示す値である。インバランス割合をIB、インバランス気筒の燃料噴射量をQ、バランス気筒の燃料噴射量即ち基準噴射量をQsとすると、IB=(Q−Qs)/Qsで表される。インバランス割合が大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつきは大きい。
一方、縦軸には時定数T及びゲインkの同定値のベース比がとってある。即ち、インバランス割合が0%のときの値をベース値とし、実際に同定された時定数T及びゲインkの値をベース値で除した値がベース比である。図中、「L→R時定数」とあるのは入力空燃比をリーンからリッチに切り替えたときに同定された時定数、「R→L時定数」とあるのは入力空燃比をリッチからリーンに切り替えたときに同定された時定数をそれぞれ示す。
図示するように、インバランス割合が大きくなるほど、時定数T及びゲインkの同定値が小さくなり、前述の各異常判定値Ts、ks2を下回って正常なセンサに対して異常と誤判定する可能性がある。
そこで本実施形態では、誤診断を防止するため次の補正を行う。まず実際のインバランス割合IBの値を検出する。そしてこの検出されたインバランス割合IBの値に基づき、同定に用いられる出力空燃比を補正する(補正の第1の態様)か、又は同定されたパラメータである時定数T及びゲインkを補正する(補正の第2の態様)。
[インバランス割合の検出]
まず、インバランス割合検出の第1の態様について説明する。図20に示したように、気筒間空燃比ばらつきが発生すると空燃比センサ出力に高周波変動が重畳するようになる。そこで空燃比センサ出力の所定時間当たりの軌跡長又は軌跡面積に基づきインバランス割合が検出される。空燃比センサ出力の所定時間当たりの軌跡長とは、サンプリング間隔Δ間における空燃比センサ出力の変化量を所定時間積算して得られる値である。また空燃比センサ出力の所定時間当たりの軌跡面積とは、所定の基準値と実際の空燃比センサ出力との差をサンプリング間隔Δ毎に所定時間積算して得られる値である。気筒間空燃比ばらつきが大きくなるほど、高周波変動における振幅が大きくなり、空燃比センサ出力の所定時間当たりの軌跡長又は軌跡面積が大きくなっていく。そこで当該軌跡長又は軌跡面積を計測し、予め定められたマップ又は関数を用いて、インバランス割合の値が求められる。
次にインバランス割合検出の第2の態様について説明する。この態様では気筒間空燃比ばらつきが大きくなるほど補助空燃比制御における制御量が、空燃比をよりリッチ側に補正するような増大側の値に更新されていくという特性を利用して、その制御量に基づきインバランス割合の値を検出する。
補助空燃比制御における制御量を取得する際には、ストイキをそれぞれ目標空燃比とする主空燃比制御及び補助空燃比制御が実行される。ここでこれら空燃比制御について説明する。
図22に空燃比制御ルーチンを示す。このルーチンはECU20により1エンジンサイクル(=720°クランク角)毎、もしくは所定のサンプリング間隔毎に繰り返し実行される。
まずステップS301では、燃焼室内混合気の空燃比をストイキとするような基本の燃料噴射量即ち基本噴射量Qbが算出される。基本噴射量Qbは例えば、エアフローメータにより検出された吸入空気量Gaに基づき、式:Qb=Ga/14.6により算出される。
ステップS302では触媒前センサ17の出力(出力電圧)Vfが取得される。ステップS303では、このセンサ出力Vfとストイキ相当センサ出力Vreff(図2参照)との差、即ち触媒前センサ出力差ΔVf=Vf−Vreffが算出される。
ステップS304では、この触媒前センサ出力差ΔVfに基づき、図23に示したようなマップ(関数でもよい、以下同様)から主空燃比補正量(補正係数)Kfが算出される。触媒前センサ出力差ΔVf及び主空燃比補正量Kfは、主空燃比制御のための制御量をなす。例えばゲインをPfとするとKf=Pf×ΔVfで表される。そしてステップS305では、図24に示すような別ルーチンで設定された補助空燃比補正量Krの値が取得される。最後に、ステップS306にて、各気筒のインジェクタ12から噴射すべき最終的な燃料噴射量即ち最終噴射量Qfnlが式:Qfnl=Kf×Qb+Krにより算出される。
図23のマップによれば、触媒前センサ出力Vfがストイキ相当センサ出力Vreffより大きい(ΔVf>0)ほど、即ち実際の触媒前空燃比がストイキからリーン側に離れるほど、1に対しより大きな補正量Kfが得られ、基本噴射量Qbは増量補正される。反対に、触媒前センサ出力Vfがストイキ相当センサ出力Vreffより小さい(ΔVf<0)ほど、即ち実際の触媒前空燃比がストイキからリッチ側に離れるほど、1に対しより小さな補正量Kfが得られ、基本噴射量Qbは減量補正される。こうして、触媒前センサ17によって検出された触媒前空燃比をストイキに一致させるような主空燃比フィードバック制御が実行される。
ステップS306で得られた最終噴射量Qfnlの値は、全気筒に対し一律に用いられる。即ち、1エンジンサイクルもしくは所定のサンプリング間隔の間、最終噴射量Qfnlに等しい量の燃料が各気筒のインジェクタ12から順次噴射され、次のエンジンサイクルもしくは所定のサンプリング間隔後では新たに計算された最終噴射量Qfnlの燃料が各気筒のインジェクタ12から順次噴射される。
なお、周知のように、最終噴射量Qfnlの算出に当たっては他の補正(水温補正、バッテリ電圧補正等)を追加することも可能である。
図24には補助空燃比補正量の設定ルーチンを示す。このルーチンはECU20により所定の演算周期(例えば16ミリ秒)で繰り返し実行される。
まずステップS401では、ECU20に装備されたタイマのカウントが実行され、ステップS402では、触媒後センサ17の出力(出力電圧)Vrが取得される。ステップS403では、このセンサ出力Vrとストイキ相当センサ出力Vrefr(図3参照)との差、即ち触媒後センサ出力差ΔVr=Vrefr−Vrが算出され、この触媒後センサ出力差ΔVrが前回積算値に積算される。図25には触媒後センサ出力差ΔVrとその積算の様子を示す。
ステップS404では、タイマ値が所定値tsを超えたか否かが判断される。所定値tsを超えていなければルーチンが終了される。
タイマ値が所定値tsを超えている場合、ステップS405で、この時点での触媒後センサ出力差積算値ΣΔVrが、触媒後センサ学習値ΔVrgとして更新記憶される。そしてステップS406で、この触媒後センサ学習値ΔVrgに基づき、図26に示したようなマップから、補助空燃比補正量Krが算出され、この補助空燃比補正量Krが更新記憶される。触媒後センサ学習値ΔVrg及び補助空燃比補正量Krは、補助空燃比制御のための制御量をなす。例えばゲインをPrとするとKr=Pr×ΔVrgで表される。最後に、ステップS407にて、触媒後センサ出力差積算値ΣΔVr及びタイマがリセットされる。
触媒後センサ出力差ΔVrを所定時間tsの間積算する理由は、触媒後センサ出力Vrのストイキ相当センサ出力Vrefrに対する時間平均的なズレ量を検知するためである。積算時間を規定する所定値tsは1エンジンサイクルより遙かに長い時間であり、よって触媒後センサ学習値ΔVrg及び補助空燃比補正量Krの更新は1エンジンサイクルより遙かに長い周期で行われる。
図26のマップによれば、触媒後センサ出力Vrが時間平均的にストイキ相当センサ出力Vrefrより小さい(ΔVrg>0)ほど、即ち実際の触媒後空燃比がストイキからリーン側に離れるほど、0に対しより大きな補正量Krが得られ、最終噴射量算出の際に基本噴射量Qbは増量補正される。反対に、触媒後センサ出力Vrが時間平均的にストイキ相当センサ出力Vrefrより大きい(ΔVrg<0)ほど、即ち実際の触媒後空燃比がストイキからリッチ側に離れるほど、0に対しより小さな補正量Krが得られ、基本噴射量Qbは減量補正される。こうして、触媒後センサ18によって検出された触媒後空燃比をストイキに一致させるような補助空燃比フィードバック制御が実行される。触媒前センサ17の劣化等の理由で主空燃比フィードバック制御を実行してもその結果がストイキからズレることがあるので、このズレを補正する目的で、補助空燃比フィードバック制御が実行される。
ところで、インジェクタ等の燃料供給系やエアフローメータ等の空気系に全気筒に影響を及ぼすような異常が発生した場合、主空燃比制御におけるフィードバック補正量の絶対値が大きくなるため、これをECUでモニタすることでその異常を検出、診断できる。例えば、燃料噴射量が全体的にストイキ相当量より+5%ずれている(即ち、全ての気筒において燃料噴射量がストイキ相当量より5%ずつずれている)と、主空燃比制御におけるフィードバック補正量はその+5%ズレを補正するような値、即ち−5%相当の補正量となり、これにより燃料供給系若しくは空気系が5%ずれていることを検出することができる。そしてこのフィードバック補正量の絶対値が比較的大きい所定値以上となったときに、燃料供給系若しくは空気系が全体として異常であることを検出することができる。
一方、燃料供給系や空気系が全体的にずれているのではなく、気筒間にばらつきが発生している場合を考える。図27は、1気筒(#1気筒)のみが他の3気筒(#2〜#4気筒)よりも空燃比リッチ側にずれている場合を示す。例えば、#1気筒のインジェクタに異常が発生し、#1気筒の燃料噴射量がストイキ相当量から大きく20%ずれており、他方、#2〜#4気筒では正常で、燃料噴射量がストイキ相当量であるとする。このときトータルで見れば20%のずれであり(20+0+0+0=20)、これは、全気筒が5%ずつずれているときと同じとなるはずである(5+5+5+5=20)。
しかし、1気筒のみ大きくリッチ側にずれているときの方が、全気筒で少なく均等にリッチ側にずれているときよりも、燃焼室から発生する水素量が多くなる。そしてこの水素量が多くなった分、排気中の酸素濃度が減少することから、触媒前センサ17の出力Vfは、1気筒のみずれているときの方が全気筒均等にずれているときよりもリッチ側にずれることとなる。
図28には、ストイキ相当量を基準噴射量Qsとした場合のある1気筒におけるインバランス割合(%)と、当該1気筒の燃焼室で発生する水素量(g)との関係を示す。図示するように、インバランス割合が増加するほど、発生水素量は二次関数的に増加する。よって1気筒のみリッチ側に20%ずれた場合の方が、全気筒が5%ずつずれた場合よりトータルでの発生水素量が多くなり、触媒前センサ出力Vfはよりリッチ側の値を示すようになる。
トータルとして同等のずれであっても、気筒間に空燃比ばらつきのある場合の方が、全体がずれている場合よりもエミッションが悪化する。例えば後者で、全気筒が5%ずつずれている場合には、例えば主空燃比フィードバック制御で−5%の補正を行えば、全気筒一律に5%ずれを解消することができる。しかし前者で、1気筒のみ20%ずれている場合には、主空燃比フィードバック制御で−5%の補正をしても、#1気筒=15%、#2気筒=−5%、#3気筒=−5%、#4気筒=−5%のずれとなり、トータルではズレが解消しているように見えるが(15+(−5)+(−5)+(−5)=0)、気筒別に見ればズレているのであり、よって気筒単位でエミッションが悪化する。
一方、主空燃比フィードバック制御では、トータルとしての触媒前空燃比を検出してこれをストイキとするよう制御するため、主空燃比フィードバック制御の補正量からは、気筒間空燃比ばらつきが発生していることを検出することができない。つまり気筒間空燃比ばらつきが発生していても、トータルでのズレ量がゼロであれば補正量もゼロとなり、見掛け上はあたかも主空燃比フィードバック制御が問題なく正常に行われているように見えてしまう。
そこで、気筒間空燃比ばらつきがある場合に全体がずれている場合よりも水素量が多くなり、触媒前センサ出力Vfがリッチ側にずれるという特性を利用して、以下のようにしてインバランス割合を検出することとしている。
排気中に水素が含まれている場合、この排気に触媒を作用させることにより、排気中の水素を酸化(燃焼)して浄化することができる。そして、触媒を通過せず水素が浄化されていない排気の空燃比(触媒前空燃比A/Ff)を触媒前センサ17で検出し、触媒を通過し水素が浄化された排気の空燃比(触媒後空燃比A/Fr)を触媒後センサ18で検出する。触媒前センサ17で検出された空燃比は、触媒後センサ18で検出された空燃比よりも、水素の影響でリッチ側にずれる。逆に言えば、触媒後センサ18で検出された空燃比は、触媒前センサ17で検出された空燃比よりも、水素の影響でリーン側にずれる。そこでこのリーン側へのずれ(乖離)状態に基づき、インバランス割合が検出される。
分かり易くいうと、触媒後センサ18で検出された空燃比が真の排気空燃比と言えるものであり、触媒前センサ17で検出された空燃比は、真の排気空燃比に水素分が加わって見掛け上リッチにずれた排気空燃比である。言ってしまえば、触媒前センサ17が騙されているのである。一部気筒の残部気筒に対する空燃比リッチずれ量が多いほど、水素分は二次関数的に多くなる。よって触媒後センサ18の検出空燃比に対する触媒前センサ17の検出空燃比のリッチ側へのズレ量、即ち触媒前センサ17の検出空燃比に対する触媒後センサ18の検出空燃比のリーン側へのズレ量に基づき、インバランス割合を検出できるのである。
図27に示すように、例えば#1気筒のみでインジェクタに異常が発生し、#1気筒の空燃比が他の#2〜#4気筒の空燃比より大きくリッチ側にずれているとする。このとき主空燃比フィードバック制御が実行されているので、全気筒の排ガスが合流した後のトータルの排ガスの空燃比は、図27(A)に示すように、ストイキ近傍に制御されている。即ち、触媒前センサ出力Vfはストイキ相当センサ出力Vreffの近傍となっている。しかしながら、#1気筒の空燃比はストイキより大きくリッチであり、#2〜#4気筒の空燃比はストイキよりリーンであり、全体のバランスとしてストイキ近傍になっているに過ぎない。しかも#1気筒から水素が多量に発生される結果、触媒前センサ17の出力Vfは、真の空燃比よりもリッチ側にずれた空燃比を誤ってストイキとして表示している。
他方、水素を含む排ガスが触媒11を通過すると、水素が浄化されてその影響が取り除かれる。従って、図27(B)に示すように、触媒後センサ18の出力Vrは、真の空燃比、即ちストイキよりリーンの空燃比を表示することとなる。即ち、触媒後センサ出力Vrはストイキ相当センサ出力Vrefrよりリーン側の低い値となる。
別の見方をすると、例えば全体で25という触媒前空燃比検出値のリッチズレを補正するため、主空燃比フィードバック制御で−25のリーン補正を行い、触媒前空燃比検出値のリッチズレを0とする。しかし、25のうちの5は純粋な空燃比ずれではなく水素の影響によるもので、主空燃比フィードバック制御は5だけリーン側に補正しすぎである。よって触媒後空燃比はリーンに5だけずれる結果となる。
よって、主空燃比フィードバック制御により触媒前空燃比がストイキに制御されているにも拘わらず、触媒後センサ18からは、ストイキよりリーンの触媒後空燃比が継続的に検出されるようになる(即ち、触媒後センサ出力がリーンに張り付く)。
なお、触媒後センサ18がストイキよりリーンの排気空燃比を検出すると、補助空燃比フィードバック制御によるリッチ補正がなされ、燃料噴射量が全気筒一律に増量される。すると触媒前空燃比検出値のリッチずれはさらに大きくなり、触媒後空燃比はリーンに維持される。こうしてやがては、ばらつきの程度に見合った主空燃比補正量及び補助空燃比補正量に収束していく。
ところで、図24〜図26を用いて説明したように、補助空燃比フィードバック制御においては、所定時間毎に(即ち所定の更新速度で)、触媒後センサ学習値ΔVrgと補助空燃比補正量Krとが学習ないし更新される。ここで一部気筒のインジェクタの故障等により気筒間空燃比ばらつきが発生すると、触媒後センサ出力Vrが継続的にリーンな値となるので、触媒後センサ学習値ΔVrg及び補助空燃比補正量Krは、大きなリーンずれをストイキに戻すような大きな正の値となる。
これを示すのが図29である。図29は、インバランス割合と触媒後センサ学習値ΔVrgとの関係を調べた試験結果である。インバランス割合はリッチずれのときが正、リーンずれのときが負である。図示するように、インバランス割合がリッチずれ方向に大きくなるほど、触媒後センサ学習値ΔVrgはより大きな値、即ち空燃比をよりリッチ側に補正するような値となる。
そこで、触媒後センサ学習値ΔVrgがばらつきの程度に見合った一定値に収束した後の触媒後センサ学習値ΔVrgの値を取得し、この値と、予め定められたマップ又は関数から、インバランス割合の値が求められる。
なお、代替的に、触媒後センサ学習値ΔVrgに基づいて算出される補助空燃比補正量Krに基づいてインバランス割合の値を求めてもよい。
このインバランス割合検出方法によれば、空燃比センサに高い応答性が要求されず、高速のデータサンプルや処理能力の高いECUも不要である。また外乱に強く、ロバスト性が高く、機関運転条件やセンサ設置位置にも制約がない。従って非常に実用的であり、高精度な検出が可能である。
次にインバランス割合検出の第3の態様について説明する。本実施形態では、上流触媒11(及び下流触媒19)として酸素吸蔵能を有する三元触媒が用いられている。この場合、触媒11に流入する排気ガスの空燃比(触媒前空燃比A/Ff)がストイキよりリーンのときには触媒11が排気ガス中の酸素を吸蔵し、排気ガスの空燃比がストイキよりリッチのときには触媒11が既に吸蔵していた酸素を放出する。一方、かかる三元触媒の劣化診断法として所謂Cmax法が知られている。これは、触媒が劣化すると触媒の酸素吸蔵能が低下するという特性を利用して、触媒が現状で吸蔵(又は放出)可能な酸素量(即ち、酸素吸蔵容量OSC)を計測し、この計測値を所定値と比較して触媒の劣化を判定する方法である。この劣化検出においては、空燃比をリッチ・リーンに強制的に切替制御するアクティブ空燃比制御が実行され、このアクティブ空燃比制御実行中に触媒の吸蔵酸素量と放出酸素量とを複数ずつ計測し、その平均値を最終的な酸素吸蔵容量OSCとして、所定値と比較する。
ここで、吸蔵酸素量と放出酸素量との計測について図30を参照しつつ説明する。(A)は目標空燃比A/Ft(破線)と、触媒前センサ17で検出された触媒前空燃比A/Ff(実線)を示す。また(B)は触媒後センサ出力電圧Vrを示す。(C)は触媒11から放出された酸素量即ち放出酸素量OSAaの積算値を示し、(D)は触媒に吸蔵された酸素量即ち吸蔵酸素量OSAbの積算値を示す。
図示するように、アクティブ空燃比制御の実行により、触媒に流入する排気ガスの空燃比は所定のタイミングで強制的にリーン及びリッチに交互に切り替えられる。例えば時刻t1より前では目標空燃比A/Ftがストイキよりリーン(例えば15.1)に設定され、触媒11にはリーンガスが流入されている。このとき触媒11では酸素を吸収し続け、排気中のリーン成分(NOx)を還元して浄化するが、飽和状態即ち満杯まで酸素を吸収した時点でそれ以上酸素を吸収できなくなり、リーンガスが触媒11を通り抜けて触媒11の下流側に流れ出す。こうなると触媒後センサ18の出力がリーン側に反転し、触媒後センサ18の出力がストイキ相当値Vrefrに達する(時刻t1)。この時点で、目標空燃比A/Ftがストイキよりリッチ(例えば14.1)に切り替えられる。
そして今度は触媒11にリッチガスが流入される。このとき触媒11では、それまで吸蔵していた酸素を放出し続け、排気中のリッチ成分(HC,CO)を酸化して浄化するが、やがて触媒11から全ての吸蔵酸素が放出され尽くすとその時点で酸素を放出できなくなり、リッチガスが触媒11を通り抜けて触媒11の下流側に流れ出す。こうなると触媒後空燃比がリッチ側に変化し、触媒後センサ18の出力がストイキ相当値Vrefrに達する(時刻t2)。この時点で、目標空燃比A/Ftがリーン空燃比に切り替えられる。このようにして、空燃比のリッチ・リーンへの切替えが繰り返し実行される。
(C)に示すように、時刻t1〜t2の放出サイクルでは、極短い所定周期毎の放出酸素量OSAaが順次積算されていく。より詳しくは、触媒前センサ17の出力がストイキ相当値に達した時t11から、触媒後センサ18の出力がリーン側に反転した(Vrefrに達した)時t2まで、1演算周期毎の放出酸素量dOSA(dOSAa)が次式(1)により計算され、この1演算周期毎の値が周期毎に積算されていく。こうして得られた最終的な積算値が、触媒の酸素吸蔵容量に相当する放出酸素量OSAaの計測値となる。
Qは燃料噴射量であり、空燃比差ΔA/Fに燃料噴射量Qを乗じると過剰又は不足分の空気量を計算できる。Kは空気に含まれる酸素割合(約0.23)である。
時刻t2〜t3の吸蔵サイクルでも同様に、(D)に示すように、触媒前センサ17の出力がストイキ相当値に達した時t21から、触媒後センサ18の出力がリッチ側に反転した(Vrefrに達した)時t3まで、1演算周期毎の吸蔵酸素量dOSA(dOSAb)が前記式(1)により計算され、この1演算周期毎の値が周期毎に積算されていく。こうして得られた最終的な積算値が、触媒の酸素吸蔵容量に相当する吸蔵酸素量OSAbの計測値となる。こうして放出サイクルと吸蔵サイクルを繰り返すことにより、複数ずつの放出酸素量OSAaと吸蔵酸素量OSAbとが計測、取得される。
ところで、原理的には、触媒における吸蔵可能な酸素量と放出可能な酸素量とは等しく、よって上記の放出酸素量OSAaと吸蔵酸素量OSAbとは等しいはずである。つまり両者は対称の関係にある。ところが、気筒間空燃比ばらつきが発生すると、この対称関係が崩れ、両者は非対称となる。即ち、触媒前センサ17の出力は水素の影響で真の値よりリッチ側にずれた値である。このため触媒に実際に与えられている排気ガスの空燃比は、触媒前センサ17で検出される見掛け上の空燃比より若干リーンである。よって、放出酸素量OSAaと吸蔵酸素量OSAbとの計測値は等しくならず、前者は後者より大きくなる。
よってこのことを利用してインバランス割合の検出を行う。即ち、放出酸素量OSAaと吸蔵酸素量OSAbとをそれぞれ計測すると共に、これら計測値の比R=OSAa/OSAbを算出し、この比Rと、予め定められたマップ又は関数から、インバランス割合の値が求められる。比Rが大きくなるほどインバランス割合も大きくなる。
なお、上記第1〜第3の態様以外に、代替的に、触媒上流側の排気ガス中の水素濃度を水素濃度センサにより検出してその検出値に基づいてインバランス割合を検出しても良い。気筒間空燃比ばらつきが発生すると排気中水素濃度が急増し、インバランス割合と排気中水素濃度との間に相関関係が見られるからである。
[補正の第1の態様(出力空燃比の補正)]
さて、以上のようにしてインバランス割合が検出されたならば、次に、触媒前センサ17について、同定パラメータとしての時定数T及びゲインkの同定に用いられる出力空燃比y(t)が補正される。言い換えれば、パラメータ同定を行う前に出力空燃比y(t)が補正され、補正後の出力空燃比y’(t)に基づいてパラメータ同定が行われる。
この補正では、出力空燃比y(t)に対してなまし処理又はフィルタリング処理を実行することにより出力空燃比y(t)が補正される。図20を参照して説明したように、気筒間空燃比ばらつきが有ると触媒前センサ17の出力に高周波変動が重畳してくるので、この高周波成分を除去するようなまし処理又はフィルタリング処理が実行される。そして、検出されたインバランス割合に応じて、なまし処理におけるなまし率が設定されるか、又はフィルタリング処理におけるカットオフ周波数が設定される。
なまし処理は所定のサンプリング周期Δ毎に実行され、今回の出力空燃比をy(t)、今回のなまし後の出力空燃比をy’(t)、前回のなまし後の出力空燃比をy’(t−1)、なまし率をMとすると、今回のなまし後の出力空燃比y’(t)は次式により算出される。
そして、検出されたインバランス割合に応じたなまし率Mが所定のマップ又は関数から取得され、この取得されたなまし率Mが、今回のなまし後の出力空燃比y’(t)の算出に用いられる。図31にはインバランス割合となまし率Mの関係を予め定めたマップの例を示す。図示するように、インバランス割合が0(%)のときはなまし率Mが1で、実質的になましは行われない。しかし、インバランス割合が0(%)からプラス側或いはマイナス側に離れるほど、なまし率Mは1よりも増加していく傾向にあり(図示例では2,4)、なまし度合いが大きくなっていく。これはインバランス割合が大きくなるほど高周波変動の振幅が増大していくことに対応している。こうしてインバランス割合に応じたなまし処理が実行可能となり、触媒前センサ17の出力から気筒間空燃比ばらつきの影響を取り除いて正確な触媒前センサ17の異常診断を行え、誤診断を防止できる。
また、フィルタリング処理については、出力空燃比y(t)の信号がローパスフィルタを通過させられ、所定のカットオフ周波数fcを下回る信号のみがローパスフィルタを通過させられる。そして、検出されたインバランス割合に応じたカットオフ周波数fcが所定のマップ又は関数から取得され、この取得されたカットオフ周波数fcに基づきフィルタリング処理が実行される。図示しないが、インバランス割合が0(%)のときはカットオフ周波数fcが所定の既定値であり、インバランス割合が0(%)からプラス側或いはマイナス側に離れるほど、カットオフ周波数fcは既定値よりも減少していく傾向にある。これはインバランス割合が大きくなるほど高周波変動が増大するため、これを抑制する必要があるからである。こうしてインバランス割合に応じたフィルタリング処理が実行可能となり、触媒前センサ17の出力から気筒間空燃比ばらつきの影響を取り除いて正確な触媒前センサ17の異常診断を行え、誤診断を防止できる。
図32に当該第1の態様を含む空燃比センサ異常診断処理の手順を示す。当該処理はECU20により実行されるものである。
まずステップS501では、異常診断のための前提条件が成立しているか否かが判断される。この前提条件とは、例えば、エンジンの暖機が終了していること(例えば冷却水温が75℃以上)、触媒前センサ17及び触媒後センサ18が活性済みであること、触媒11,19が活性済みであることなどである。
前提条件が成立していない場合、ステップS501が繰り返されて待機状態となる。他方、前提条件が成立した場合、ステップS502において、上述の第1〜第3の態様のいずれかに従って、インバランス割合IBの値が検出、取得される。
次いで、ステップS503に進み、検出されたインバランス割合の値に対応したなまし率M又はカットオフ周波数fcの値が算出、取得される。そしてステップS504において、以降継続的に、触媒前センサ17の出力即ち出力空燃比y(t)がなまし処理されるか又はフィルタリング処理され、出力空燃比y(t)が補正される。
次に、ステップS505において、同定パラメータとしてのゲインk及び時定数Tの同定を実行するのに適した条件(同定条件)が成立しているか否かが判断される。この同定条件とは、例えばエンジンが定常運転状態にあることなどである。
同定条件が成立していない場合、ステップS505が繰り返されて待機状態となる。他方、同定条件が成立した場合、ステップS506において、上述の一次遅れモデルを利用したゲインk及び時定数Tの同定が実行される。
こうしてゲインk及び時定数Tの同定値が得られたならば、ステップS507において、各同定値と、対応する各異常判定値(ゲイン増大異常判定値ks1、ゲイン縮小異常判定値ks2及び時定数異常判定値Ts)とが比較される。同定されたゲインkがks1≦k≦ks2の範囲内にあり、且つ、同定された時定数TがT≦Tsの範囲内にある場合には、ステップS508において触媒前センサ17は正常と判定される。他方、同定されたゲインk及び時定数Tの少なくとも一方が各範囲内にない場合には、ステップS509において触媒前センサ17は異常と判定される。以上で処理が終了する。なお、触媒前センサ17が異常と判定された場合、各同定値と各異常判定値との比較結果に応じて各特性の異常が個別に判定される。また異常の事実をユーザに知らせるべくチェックランプ等の警告装置が起動させられる。
[補正の第2の態様(ゲイン及び時定数の補正)]
次に、補正の第2の態様について説明する。この態様では、検出されたインバランス割合IBの値に基づき、同定されたゲインk及び時定数Tの値が補正される。図21に示したように、気筒間空燃比ばらつきの程度が大きくなりインバランス割合が増大するほど、ゲインk及び時定数Tの値が減少する。そこで、ゲインk及び時定数Tがインバランス割合=0(%)のときの値になるよう、ゲインk及び時定数Tが、検出されたインバランス割合に応じて増大側に補正される。これにより気筒間空燃比ばらつきの影響を排除したゲインk及び時定数Tに対して各異常判定値との比較即ち異常判定を行うことができ、気筒間空燃比ばらつきの影響による誤診断を防止できる。
図33にはインバランス割合とゲイン補正係数Hk及び時定数補正係数HTの関係を予め定めたマップの例を示す。ゲイン補正係数Hk及び時定数補正係数HTはそれぞれ同定されたゲインk及び時定数Tに乗じられる値である。図示するように、インバランス割合が0(%)のときは各補正係数Hk,HTが1で、実質的に補正は行われない。しかし、インバランス割合が0(%)からプラス側或いはマイナス側に離れるほど、各補正係数Hk,HTは1よりも増加していく傾向にあり(図示例では1.1,1.2,1.3)、補正度合いが大きくなっていく。これはインバランス割合が大きくなるほどゲインk及び時定数Tの同定値が減少していくことに対応している。この補正により、ゲインk及び時定数Tの同定値を気筒間空燃比ばらつきが無いときの値に補正することができる。
図34に当該第2の態様を含む異常診断処理の手順を示す。当該処理はECU20により実行されるものである。
まずステップS601では、前記ステップS501と同様、異常診断のための前提条件が成立しているか否かが判断される。前提条件が成立していない場合、ステップS601が繰り返されて待機状態となる。他方、前提条件が成立した場合、ステップS602において、前記ステップS502と同様、インバランス割合の値が検出、取得される。
次いで、ステップS603に進み、検出されたインバランス割合の値に対応したゲイン補正係数Hk及び時定数補正係数HTの値が図33に示したようなマップ等から算出、取得される。
次に、ステップS604において、前記ステップS505と同様、同定条件が成立しているか否かが判断される。同定条件が成立していない場合、ステップS604が繰り返されて待機状態となる。他方、同定条件が成立した場合、ステップS605において、前記ステップS506と同様、ゲインk及び時定数Tの同定が実行される。
こうしてゲインk及び時定数Tの同定値が得られたならば、ステップS606において、各同定値にそれぞれステップS603で取得されたゲイン補正係数Hk及び時定数補正係数HTの値が乗算され、ゲインk及び時定数Tの同定値がk’、T’に補正される。
次いでステップS607において、補正された各同定値と、対応する各異常判定値ks1,ks2,Tsとが比較される。補正されたゲインk’がks1≦k’≦ks2の範囲内にあり、且つ、補正された時定数T’がT’≦Tsの範囲内にある場合、ステップS608において触媒前センサ17は正常と判定される。他方、補正されたゲインk’及び時定数T’の少なくとも一方が各範囲内にない場合には、ステップS609において触媒前センサ17は異常と判定される。以上で処理が終了する。なお、触媒前センサ17が異常と判定された場合、センサの各特性の異常が個別に判定される点、及び警告装置が起動される点は前記同様である。
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば、上述の内燃機関は吸気ポート(吸気通路)噴射式であったが、直噴式エンジンや両噴射方式を兼ね備えたデュアル噴射式エンジンにも、本発明は適用可能である。前記実施形態では触媒前に広域空燃比センサを用い、触媒後にO2センサを用いたが、例えば触媒後に広域空燃比センサを用いたり、触媒前にO2センサを用いてもよい。これら広域空燃比センサ及びO2センサを含め、広く、排気の空燃比を検出するためのセンサを本発明にいう空燃比センサというものとする。補正の第1の態様は前記実施形態のような一次遅れモデルを用いた診断方法以外にも適用可能である。またインバランスパラメータとしては、インバランス割合以外にも、気筒間空燃比ばらつきの大きさに相関したパラメータであれば採用可能である。
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。