以下、本発明を実施するための最良の形態を添付図面に基づき説明する。
図1は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関1は、シリンダブロック2に形成された燃焼室3の内部で燃料および空気の混合気を燃焼させ、燃焼室3内でピストン4を往復移動させることにより動力を発生する。本実施形態の内燃機関1は車両用多気筒エンジン(例えば4気筒エンジン、1気筒のみ図示)であり、火花点火式内燃機関、より具体的にはガソリンエンジンである。
内燃機関1のシリンダヘッドには、吸気ポートを開閉する吸気弁Viと、排気ポートを開閉する排気弁Veとが気筒ごとに配設されている。各吸気弁Viおよび各排気弁Veは図示しないカムシャフトによって開閉させられる。また、シリンダヘッドの頂部には、燃焼室3内の混合気に点火するための点火プラグ7が気筒ごとに取り付けられている。
各気筒の吸気ポートは気筒毎の枝管を介して吸気集合室であるサージタンク8に接続されている。サージタンク8の上流側には吸気集合通路をなす吸気管13が接続されており、吸気管13の上流端にはエアクリーナ9が設けられている。そして吸気管13には、上流側から順に、吸入空気量を検出するためのエアフローメータ5と、電子制御式スロットルバルブ10とが組み込まれている。吸気ポート、枝管、サージタンク8及び吸気管13により吸気通路が形成される。
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ(燃料噴射弁)12が気筒ごとに配設される。インジェクタ12から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁Viの開弁時に燃焼室3に吸入され、ピストン4で圧縮され、点火プラグ7で点火燃焼させられる。
一方、各気筒の排気ポートは気筒毎の枝管を介して排気集合通路をなす排気管6に接続されている。排気ポート、枝管及び排気管6により排気通路が形成される。排気管6には、その上流側と下流側とに三元触媒からなる触媒11,19が取り付けられている。上流側触媒11の前後の位置にそれぞれ排気ガスの空燃比を検出するための空燃比センサ17,18、即ち触媒前センサ及び触媒後センサ17,18が設置されている。これら触媒前センサ及び触媒後センサ17,18は排気ガス中の酸素濃度に基づいて空燃比を検出する。触媒前センサ17は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能で、その空燃比に比例した電流信号を出力する。他方、触媒後センサ18は所謂O2センサからなり、理論空燃比を境に出力電圧が急変する特性を持つ。
上述の点火プラグ7、スロットルバルブ10及びインジェクタ12等は、制御手段としての電子制御ユニット(以下ECUと称す)20に電気的に接続されている。ECU20は、何れも図示されないCPU、ROM、RAM、入出力ポート、および記憶装置等を含むものである。またECU20には、図示されるように、前述のエアフローメータ5、触媒前センサ17、触媒後センサ18のほか、内燃機関1のクランク角を検出するクランク角センサ14、アクセル開度を検出するアクセル開度センサ15、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU20は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ7、スロットルバルブ10、インジェクタ12等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。なおスロットル開度は通常アクセル開度に応じた開度に制御される。
触媒11,19は、これに流入する排気ガスの空燃比A/Fが理論空燃比(ストイキ、例えばA/F=14.6)のときにNOx ,HCおよびCOを同時に浄化する。そしてこれに対応して、ECU20は、内燃機関の通常運転時、触媒11,19に流入する排気ガスの空燃比A/Fが理論空燃比に等しくなるように、空燃比を制御する(所謂ストイキ制御)。具体的にはECU20は、理論空燃比に等しい目標空燃比A/Ftを設定すると共に、燃焼室3内に流入する混合気の空燃比を目標空燃比A/Ftに一致させるような基本噴射量を算出する。そして、触媒前センサ17によって検出される実際の空燃比と目標空燃比A/Ftとの差に応じて基本噴射量をフィードバック補正し、この補正後の噴射量に応じた通電時間だけインジェクタ12を通電(オン)する。この結果、触媒11,19に供給される排気ガスの空燃比は理論空燃比近傍に保たれ、触媒11,19において最大の浄化性能が発揮されるようになる。このようにECU20は、触媒前センサ17によって検出される実際の空燃比が目標空燃比A/Ftに近づくように空燃比ないし燃料噴射量をフィードバック制御する。なお、触媒後センサ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の所定の特性の異常が判定される。
図2に示すように、本実施形態では、パラメータ同定の際に、オープンループ制御により空燃比を強制的に振動させるアクティブ制御(同定用アクティブ制御)が実行される。このアクティブ制御では、目標空燃比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の特性のうち応答性に関わる値である。図2において、出力空燃比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により、応答性及び出力という二つのセンサ特性の異常が、とりわけ同時且つ個別に、判定される。よって空燃比センサの異常診断として極めて緻密で且つ好適なものを実現することが可能となる。
図3及び図4は、正常な触媒前センサ17の場合と異常な触媒前センサ17の場合とで時定数Tとゲインkとを逐次最小自乗法により逐次同定した結果を示す。図3が正常な触媒前センサ17の場合、図4が異常な触媒前センサ17の場合である。図3(A)及び図4(A)は入力空燃比(破線)と出力空燃比(実線)との振動の様子を示す。
図3(B)及び図4(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であった。これにより実際のセンサと同様の結果を得られることが確認された。
ところで、実際のエンジンには負荷変動などの様々な外乱があり、これらを適切に考慮しないと同定精度やロバスト性を向上することができない。このため、本実施形態に係る異常診断では、以下のような入出力データに対する種々の補正を行うこととしている。
図5は、モデルパラメータを同定するためのシステム全体のブロック図である。このようなシステムは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とすると、次の関係が成り立つ。
式(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はエンジン温度(若しくは水温)及び吸気温の少なくとも一方の関数とするのが好ましい。ここで説明したような燃料の壁面付着量及び蒸発量に基づく補正を「燃料ダイナミクス補正」と称することとする。
図6には、燃料ダイナミクス補正のない場合(破線)とある場合(実線)とでアクティブ制御中の入力空燃比u(t)の変化の違いを調べた試験結果である。図中円内に示されるように、燃料ダイナミクス補正のある場合はない場合に比べ、入力空燃比u(t)が反転された直後に入力空燃比u(t)の波形が若干なまされる傾向にある。
次に、バイアス補正部54で行われるバイアス補正について説明する。このバイアス補正部54では、入力空燃比u(t)と出力空燃比y(t)との間のバイアスを除去するように入力空燃比u(t)と出力空燃比y(t)との両方がシフトされる。
入力空燃比u(t)と出力空燃比y(t)とは、負荷変動、学習ズレ及びセンサ値ズレ等の要因に伴い、一方に対し他方がリーン側又はリッチ側にバイアスしてしまう(ズレてしまう)場合がある。図7はこのバイアスの様子を示す試験結果である。図中、u(t)c及びy(t)cはそれぞれ入力空燃比u(t)と出力空燃比y(t)とをローパスフィルタを通した値、もしくはそれらの移動平均を示す。触媒前センサ17で検出される空燃比が理論空燃比(A/F=14.6)付近となるよう制御されていることから、触媒前センサ17の検出値である出力空燃比y(t)は理論空燃比を中心に変動し、そのローパスフィルタを通した値もしくは移動平均y(t)cも理論空燃比付近に保たれる。これに対し、入力空燃比u(t)は、前述の理由から、図示例ではリーン側にバイアスしている。
かかるバイアス状態で同定を行うのは好ましくないことから、バイアスを除去するような補正が行われる。具体的には、図8に示すように、入力空燃比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で表示する(図3(A)及び図4(A)においても同様)。
こうしてバイアスは除去され、バイアス除去後の入出力空燃比の値Δu(t)、Δy(t)は図9に示される如くゼロ基準の値に変更される。即ち、両者の変動の中心がゼロに合わせられ、負荷変動や学習ズレ等の影響を無くすことができる。これにより負荷変動や学習ズレ等に対するロバスト性を高めることができる。
なお、この例では入出力空燃比の両方を補正し、入出力空燃比の変動中心をゼロに合わせてバイアスを除去する方法を採用したが、これ以外の方法も採用できる。例えば、入力空燃比のみを補正し、その変動中心を出力空燃比の変動中心に合わせたり、その逆を行ったりすることができる。補正の対象は入出力空燃比の少なくともいずれか一方であればよい。
次に、むだ時間補正部56について説明する。前述したように、入力空燃比u(t)と出力空燃比y(t)との間には輸送遅れによるむだ時間Lが存在する。しかしながら、正確なモデルパラメータの同定を行うためには、このむだ時間Lを除去するような補正を行うのが好ましい。そこでこのような補正をむだ時間補正部56で行うこととしている。具体的には、後述の方法でむだ時間Lが算出され、この算出されたむだ時間Lに基づいて入力空燃比u(t)と出力空燃比y(t)の少なくとも一方が補正される。特に本実施形態の場合、算出されたむだ時間L分だけ、入力空燃比u(t)が出力空燃比y(t)に近づくよう遅らせられる。
図10には、むだ時間補正前の入力空燃比(破線)、むだ時間補正後の入力空燃比(実線)及び出力空燃比(一点鎖線)が示される。なお入力空燃比及び出力空燃比としてバイアス補正後の値が用いられる。むだ時間Lだけ入力空燃比が遅らせられると、入力空燃比の振動と出力空燃比の振動とが時間差無く同期するようになり、これによりモデルパラメータの同定精度を向上させることができる。
以下、むだ時間の算出方法を説明する。まず、アクティブ制御中の入力空燃比及び出力空燃比の分散値σが次式(23)により逐次的に求められる。
ηは入力空燃比又は出力空燃比を意味し、ηavgは入力空燃比又は出力空燃比の今回(t)時点におけるM回移動平均、即ち今回(t)から(M−1)回前(t−(M−1))までのデータの平均値である。Mは例えば5などとされる。入力空燃比又は出力空燃比の変化が大きいほどその分散値は大きくなる。
図11はむだ時間補正に関する試験結果であり、正常センサの場合を示す。上段のグラフは、a:むだ時間補正前の入力空燃比、b:むだ時間補正後の入力空燃比、c:出力空燃比をそれぞれ示す。なおa及びbで示した入力空燃比は燃料ダイナミクス補正及びバイアス補正を実施した後の値であり、cで示した出力空燃比はバイアス補正を実施した後の値である。中段のグラフは、d:aで示したむだ時間補正前の入力空燃比の分散値、e:cで示した出力空燃比の分散値をそれぞれ示す。下段のグラフにおいて、鋸歯状の波形fはむだ時間カウンタの値、高い位置にある横線gは後述のようにして算出されるむだ時間、低い位置にある横線hはむだ時間gを1/4になました値をそれぞれ示す。
図12には図11のa,c,d,eのみが簡略化して示してある。この図12から分かるように、入力空燃比及び出力空燃比の分散値d,eは、入力空燃比a及び出力空燃比cが反転を開始するタイミングに合わせて瞬時的に立ち上がる。よってむだ時間の算出開始タイミングを、例えば入力空燃比aの分散値ピークdpが現れたタイミングとし、むだ時間の算出終了タイミングを、出力空燃比の分散値eが所定のしきい値epsを超えたタイミングとし、これらタイミング同士の時間差をむだ時間gとして算出する。図11を参照して、入力空燃比の分散値ピークdpが発生すると、その発生時からむだ時間カウンタfが時間のカウントを開始する。そして、出力空燃比の分散値eがしきい値epsを超えた時点で、カウントが停止され、そのカウント値がむだ時間gとして保持される。このむだ時間gは入力空燃比の反転毎に更新され、且つその反転毎に、なまし後のむだ時間hが計算されていく。なまし後のむだ時間hを計算する理由はノイズの影響を除去するためである。なまし後のむだ時間hの値はやがて一定値付近に収束するようになる。そこで、アクティブ制御の開始時から、なまし後のむだ時間hがほぼ一定値に収束するようになる所定時間経過後の時点で、なまし後のむだ時間hが取得され、その取得された値が最終的なむだ時間Lとして決定される。
ところで、図11及び図12により説明した以上の算出方法は正常センサの場合であるが、これに対し、ある程度劣化したセンサの場合だと、同様の方法を採用するのが困難な場合もある。即ち、図13及び図14に示される如く、例えば応答遅れが生じているセンサの場合だと、出力空燃比bの分散値eとしてしきい値epsを超えるような十分大きな値を得ることができず、むだ時間の算出が行えない。
そこで、出力空燃比eの分散値を所定のしきい値epsと比較し、図11及び図12に示すように、その分散値eがしきい値epsを超えた場合は、前述のようにその超えた時点と、入力空燃比の分散値ピークdpが現れた時点との時間差を以てむだ時間gとする。他方、図13及び図14に示すように、出力空燃比の分散値eがしきい値epsを超えない場合は、入出力空燃比a,c自体の極値ap,cp同士の時間差(cp−ap)を以てむだ時間gとする。これにより劣化したセンサの場合でも正確にむだ時間を算出することができる。なお極値に代わってピーク値を用いることもできる。これら極値及びピーク値については後に説明する。
このむだ時間補正では、入力空燃比をむだ時間分だけ遅らせて出力空燃比とタイミングを一致させる補正を行ったが、これ以外の方法も採用できる。例えば、逐次同定を行わないやり方、例えばサンプルデータを多数取得して一時記憶し、その上で同定を行うやり方だと、出力空燃比をむだ時間分だけ早めて入力空燃比とタイミングを一致させたり、入力空燃比を遅らせ且つ出力空燃比を早めて両者のタイミングを一致させたりすることができる。補正の対象は入出力空燃比の少なくともいずれか一方であればよい。
また、むだ時間算出の開始タイミングは、前述の如き、入力空燃比aの分散値ピークdpが現れたタイミングに限られない。そもそも、入力空燃比a(具体的には目標空燃比A/Ft)の切り替えないし反転はECU自身が行うので、そのタイミングはECU自身が把握している。また、目標空燃比A/Ftの切り替えから実際の燃料噴射量が切り替えられるまでのタイムラグは無視し得る程度である。よってECU20が入力空燃比aを切り替えた時点、具体的には目標空燃比A/Ftを切り替えた時点或いは燃料噴射量を切り替えた時点を、むだ時間算出の開始タイミングとすることが可能である。ちなみに、入力空燃比aの分散値ピークdpが現れるタイミングは、燃料噴射量が切り替えられるタイミングに一致している。
次に、上述の全ての補正を含む空燃比センサ異常診断の手順を図15に基づいて説明する。まず、ステップS101では空燃比を強制的に振動させるアクティブ制御が実行され、ステップS102では、燃料ダイナミクス補正がなされた後の入力空燃比u(t)の値が算出され、ステップS103では、入出力空燃比の間のバイアスが無くなるように入力空燃比u(t)及び出力空燃比y(t)の値がシフト補正される。
続くステップS104ではむだ時間Lが算出され、ステップS105においてむだ時間Lが無くなるように、バイアス補正後の入力空燃比u(t)の値がむだ時間L分だけシフト補正される。次のステップS106では、ステップS105で得られたむだ時間補正後の入力空燃比u(t)と、ステップS103で得られたバイアス補正後の出力空燃比y(t)との関係から、モデルパラメータである時定数Tとゲインkとが同定される。そして、ステップS107において、同定されたパラメータT,kと各異常判定値(時定数異常判定値Ts、ゲイン増大異常判定値ks1及びゲイン縮小異常判定値ks2)とが比較され、空燃比センサ(触媒前センサ17)の応答性及び出力の正常・異常が判定される。
なお、上述の異常診断については種々の変形例が考えられる。例えば、燃料を燃焼室3に直接噴射する直噴式エンジンの場合、吸気通路壁面への燃料付着を考慮する必要がないので、燃料ダイナミクス補正は省略されることとなる。上記診断は所謂広域空燃比センサへの適用例であったが、触媒後センサ18のような所謂O2センサへの適用例も可能である。このようなO2センサも含めて、広く、排気ガスの空燃比を検出するためのセンサを本発明にいう空燃比センサというものとする。上記診断では空燃比センサの特性のうち応答性及び出力という二つの特性の異常が診断されたが、これに限らず、一若しくは三以上の特性について異常を診断するものであってもよい。同様に、一次遅れ要素におけるパラメータとして時定数T及びゲインkのいずれか一方のみ、或いは時定数T及びゲインkに加えてさらに他のパラメータを同定してもよい。上記診断では一次遅れ要素における二つのパラメータT,kを同時に同定し、空燃比センサの二つの特性の異常を同時に判定しているが、これに限らず、少なくとも二つのパラメータの同定を時間差を以て行ってもよいし、また、少なくとも二つの特性の異常判定を時間差を以て行ってもよい。内燃機関の形式、種類、用途等は特に限定されない。
ところで、診断精度向上のためには、上記補正の一つであるむだ時間補正を適切に行ったり、パラメータ同定を適切に行うのが有効である。そこで以下にこれらについて説明する。
[第1の態様:むだ時間算出方法の適正化]
むだ時間補正におけるむだ時間算出方法として、分散値を利用する方法、極値を利用する方法及びピーク値を利用する方法があることは既に述べた通りである。図16〜図18はそれぞれ分散値利用法、極値利用法及びピーク値利用法の様子を描いた概略図である。
図16に示すように、分散値利用法では、所定の開始タイミングからむだ時間の算出(即ちむだ時間カウンタのカウントアップ)が開始され、この開始時点から、図中点で示されるようなM個(本実施形態ではM=5)の出力空燃比y(t)のデータを用いて、分散値eが逐次的に算出される。そしてこの分散値がしきい値epsを超えたタイミングでむだ時間の算出が終了され、両タイミングの時間差がむだ時間Lとして算出される。なお前述のように、算出開始タイミングは、入力空燃比の分散値ピークが現れたタイミング又はECU20が入力空燃比を切り替えたタイミングとすることができる。
また図17に示すように、極値利用法では、所定の開始タイミングからむだ時間の算出が開始され、この開始時点から、図中点で示されるようなN個(本実施形態ではN=3)の出力空燃比y(t)のデータを用いて、出力空燃比y(t)の極値が算出される。出力空燃比の今回値ないし現在値をy(t)、前回値をy(t−1)、前々回値をy(t−2)で表す。前回値y(t−1)が前々回値y(t−2)及び現在値y(t)より小さいとき、前回値y(t−1)が小さい方の極値、即ち極小値をなす。また前回値y(t−1)が前々回値y(t−2)及び現在値y(t)より大きいとき、前回値y(t−1)が大きい方の極値、即ち極大値をなす。極小値及び極大値のいずれかが現れた時、その時のタイミングがむだ時間の算出終了タイミングとされる。結局、算出開始タイミングから、極小値又は極大値が検出されたタイミングまでの時間がむだ時間Lとされる。
また図18に示すように、ピーク値利用法では、所定の開始タイミングからむだ時間の算出が開始され、この開始時点から、サンプル時刻毎に、最小値(小さい方のピーク値)又は最大値(大きい方のピーク値)が更新される。入力空燃比u(t)が例えばリッチ側からリーン側に切り替えられたとき、その時以降、サンプル時刻毎に出力空燃比の最小値が更新され、今回値y(t)が最新の最小値より所定値以上大きくなった時点で、最新の最小値が現れたタイミングをむだ時間の算出終了タイミングとする。逆に、入力空燃比u(t)がリーン側からリッチ側に切り替えられたときには、その時以降、サンプル時刻毎に出力空燃比の最大値が更新され、今回値y(t)が最新の最大値より所定値以上小さくなった時点で、最新の最大値が現れたタイミングをむだ時間の算出終了タイミングとする。結局、算出開始タイミングから、最小値又は最大値が検出されたタイミングまでの時間がむだ時間Lとされる。
ところで、これら三つの方法にはそれぞれ長所と短所がある。まず分散値利用法は、応答が遅くなったり出力が低下してきた劣化度の高いセンサの場合だと、先に述べたように、しきい値epsを超えるような十分大きな分散値が得られず、むだ時間が算出できなくなることがあるという短所がある。他方、応答が早く出力も高い劣化度の低いセンサの場合だと、ノイズがあった場合でもその影響を受けづらく、むだ時間を正確に算出できるという長所がある。
一方、極値利用法及びピーク値利用法は、劣化度の低いセンサの場合にノイズの影響を大きく受けてしまって正確なむだ時間を算出し難いという短所がある。他方、劣化度の高いセンサの場合だと、先に述べたように、極値及びピーク値を確実に得られ、むだ時間を算出できるという長所がある。
このように、分散値利用法と、極値利用法及びピーク値利用法とには、互いに相反する長所と短所がある。そこでこの第1の態様では、分散値と、極値及びピーク値の少なくとも一方とを検出し、これら分散値と、極値及びピーク値の少なくとも一方とを所定の優先順位で適用してむだ時間の算出に用いることとしている。ここで、極値利用法及びピーク値利用法の長所と短所は同様であるから、極値及びピーク値の少なくとも一方を検出、適用すればよいが、本実施形態では精度向上の観点から両方を検出、適用する。勿論、極値及びピーク値のいずれか一方を検出、適用するようにしてもよい。このように三者を所定の優先順位で適用して使用することにより、むだ時間算出精度の向上を図れる。
本実施形態では、分散値を第1優先で適用し、極値及びピーク値を第2優先で適用する。即ち、センサの劣化度が低く、しきい値を超える分散値が得られるときは、ノイズの影響を受けづらい分散値を適用し、むだ時間算出精度向上を図る。そしてセンサの劣化度が高くなり、しきい値を超える分散値が得られなくなったときは、極値及びピーク値を適用し、むだ時間を確実に算出できるようにする。
また本実施形態では、極値及びピーク値の両方を適用したとき、それぞれに対して算出されたむだ時間のうち大きい方を最終的なむだ時間とする。即ち本実施形態では、三つの方法のいずれかで算出されたむだ時間が異常なほどに大きくなっているとき、即ち所定のむだ時間異常判定値を超えたとき、むだ時間異常として判定するようにしている。このとき、異常なむだ時間を正常と誤判定するのを確実に防止する観点から、大きい方のむだ時間を最終的なむだ時間としている。
さらに本実施形態では、極値及びピーク値の両方を適用したときであっても、実際上いずれか一方しか検出できなかったときには、その検出できた一方をむだ時間算出に用いる。かかる場合は、例えば、応答遅れや出力低下が著しい劣化センサの場合に起こる可能性がある。その理由はセンサ出力の反転開始時付近で出力波形が急峻に変化せず、その変化が著しく緩慢となり、極値及びピーク値が得難くなるからである。
加えて、本実施形態では、分散値、極値及びピーク値のいずれによってもむだ時間が算出できなかったとき、所定のガード値を最終的なむだ時間とする。このガード値としてはむだ時間異常判定値より大きい値が設定されており、よってガード値がむだ時間として算出された場合には即座にむだ時間異常と判定される。これにより明らかなむだ時間異常を即座に検出することができる。なおかかる状況としては、例えば、アクティブ制御により入力空燃比を切り替えているのに触媒前センサ17の出力が全く変化しなかったり、断線等で触媒前センサ17の出力がECU20に全く送られないような場合に起こり得る。
図19に本態様に係るむだ時間算出のロジックを示す。ECU20は図示されたフローチャートに従って、入力空燃比の切替毎に、分散値、極値、ピーク値及びガード値を選択的に適用し、むだ時間を算出する。
まずステップS201では、しきい値を超える分散値が検出できたか否かが判断される。イエスの場合、ステップS202において当該分散値に基づきむだ時間が算出される。他方、ノーの場合、ステップS203において、極値及びピーク値の両方を検出できたか否かが判断される。イエスの場合、ステップS204において極値及びピーク値の両方に基づきむだ時間が算出され、ステップS205において、そのうち大きい方のむだ時間が最終的なむだ時間とされる。
他方、ステップS203の判断結果がノーの場合、ステップS206において、極値及びピーク値の一方を検出できたか否かが判断される。イエスの場合、ステップS207においてその検出できた一方に基づきむだ時間が算出される。他方、ノーの場合、ステップS208において所定のガード値が最終的なむだ時間とされる。
[第2の態様:出力データ取得期間の適正化]
次に、診断精度向上のための第2の態様である出力データ取得期間の適正化について説明する。図20は、入力空燃比u(t)の変化(実線)とこれに対応する出力空燃比y(t)の変化(破線)とを示している。基本例は次の通りである。入力空燃比u(t)が例えば時刻t1でリーンからリッチに切り替えられた場合、時刻t1からむだ時間L1経過後の時刻t2から、次に入力空燃比u(t)が反転される(即ちリッチからリーンに切り替えられる)時刻t3までの期間E1が、出力空燃比y(t)のデータの取得期間である。当該期間E1中に取得されたデータが同定に用いられる。入力空燃比u(t)が時刻t3でリッチからリーンに切り替えられた場合にも同様に、時刻t3からむだ時間L3経過後の時刻t4から、次に入力空燃比u(t)が反転される時刻t5までの期間E3が出力空燃比データ取得期間である。
しかしこの基本例だと、例えば図中一点鎖線xで示すように、むだ時間が非常に大きくなった場合やむだ時間が異常である場合に、期間E1(或いはE3)中に得られる出力空燃比y(t)のデータ数が極端に少なくなり、正しいゲイン及び時定数の同定が実施できなくなる可能性がある。
そこで本態様では、基本例の期間E1,E3を図示するような期間E1’,E3’まで延長した期間を採用可能とする。以下、基本例の期間E1,E3を基本期間と称し、延長された期間E1’,E3’を延長期間と称す。例えば延長期間E1’は、入力空燃比u(t)がリーンからリッチに切り替えられた時刻t1からむだ時間L1経過後の時刻t2から、次に入力空燃比u(t)がリッチからリーンに切り替えられた時刻t3からむだ時間L3経過後の時刻t4までの期間である。こうすると、基本例よりも出力空燃比データ取得期間がL3だけ延長され(E1’=E1+L3)、この延長分だけ出力空燃比y(t)のデータ数が増加する。よってむだ時間が非常に大きくなった場合やむだ時間が異常である場合でも、正しいゲイン及び時定数の同定が可能となる。入力空燃比u(t)をリッチからリーンに切り替えたときの延長期間E3’についても同様のことが言える。この場合、基本例よりも出力空燃比データ取得期間がL5だけ延長される(E3’=E3+L5)。
延長期間の採用の仕方としては、例えば、常に延長期間を採用する方法がある。これを図20の例で説明する。例えば時刻t1でアクティブ制御が開始され、入力空燃比u(t)がリッチに切り替えられたとする。するとむだ時間L1経過後の時刻t2から延長期間E1’が開始し、出力空燃比データが取得される。時刻t3で入力空燃比u(t)がリーンに切り替えられても、出力空燃比データの取得は続行され、他方、時刻t3からむだ時間L3の計測が開始される。その後時刻t4でむだ時間L3が確定した時点で、入力空燃比のリッチへの切り替えに対応した出力空燃比データの取得が終了し、延長期間E1’が終了する。またこれと同時に、入力空燃比のリーンへの切り替えに対応した出力空燃比データの取得が開始し、延長期間E3’が開始する。入力空燃比を切り替える度にこれらを繰り返すことで、延長期間が常に採用されることとなる。
代替的に、検出されたむだ時間に応じて基本期間と延長期間を選択して採用する方法もある。具体的には、むだ時間が所定値以下のときには基本期間を採用し、むだ時間が所定値より大きくなったときには延長期間を採用する。むだ時間が大きくなったときのみ出力空燃比データ数が少なくなり、ゲイン及び時定数の同定に悪問題を及ぼすことから、むだ時間が大きくなったときのみ延長期間を採用することも非常に有効である。この場合、所定値より大きいむだ時間が検出される毎に、このむだ時間直後の期間を延長期間とするのが好ましい。或いは、あるトリップで1回ないし所定回、所定値より大きいむだ時間が検出されたならば、次のトリップ以降で延長期間を採用するようにしてもよい。ここでトリップとは、エンジンの1回の始動から停止までの期間をいう。あるトリップで所定値より大きいむだ時間が検出されたときは、次回以降のトリップでも所定値より大きいむだ時間が検出される可能性が高いことから、このようにすることも効果的である。
[第3の態様:むだ時間算出方法の適正化]
次に、診断精度向上のための第3の態様であるむだ時間算出方法の適正化について説明する。前述の式(23)から明らかなように、分散値は常に正の値となる。そしてこのことに起因して次のような問題点があることが判明した。
図21において、(A)は、入力空燃比u(t)の変化(実線)とこれに対応する出力空燃比y(t),y(t)’の変化(破線及び一点鎖線)を示している。ここでy(t)は正常センサの場合を示し、y(t)’は、アクティブ制御の半周期以上にむだ時間が長期化し、センサの応答開始が遅れている場合を示す。ここでアクティブ制御の半周期とは入力空燃比u(t)がリーン又はリッチに切り替えられた時から入力空燃比u(t)が逆方向に切り替えられた時までの期間をいう。
正常センサの場合、(B)から分かるように、入力空燃比u(t)の切替1,2,3に対応して、アクティブ制御の半周期より短い通常のタイミングで分散値1,2,3が立ち上がっており、これにより通常のむだ時間が算出できる。
ところが、むだ時間が半周期以上長期化している場合だと、(C)から分かるように、入力空燃比u(t)の切替1に対応した分散値1が、入力空燃比u(t)の次の切替2(切替1と逆方向である)の後に立ち上がり、入力空燃比u(t)の切替2に対応した分散値2が、入力空燃比u(t)の次の切替3(切替2と逆方向である)の後に立ち上がるようになる。こうなると、入力空燃比u(t)の切替2の後に立ち上がった分散値1を、入力空燃比u(t)の切替2に対応した分散値と誤って判断してしまい、真のむだ時間より極端に短い誤ったむだ時間を算出してしまう。
そこでこの対策として、本態様では、分散値がリーン方向及びリッチ方向のいずれの入力変化に対応した値かを識別して分散値を適用する。ここでリーン方向とはリッチからリーンに変化する方向をいい、リッチ方向とはリーンからリッチに変化する方向をいう。かかる識別を行うことにより、むだ時間がアクティブ制御の半周期以上長期化している場合でも、入力空燃比u(t)の変化に対応した分散値が確実に得られ、むだ時間算出精度を高めることが可能となる。
具体的には、次式(24)により出力空燃比の分散値σyを求め、且つ、出力空燃比の今回値y(t)及び移動平均値yavg(t)に基づき、当該分散値σyの方向を特定する。
出力空燃比の今回値y(t)と移動平均値yavg(t)との差Dy=y(t)−yavg(t)が正のとき、求められた分散値σyはリーン方向の分散値と特定する。また差Dyが負のとき、求められた分散値σyはリッチ方向の分散値と特定する。そして、しきい値より大きな分散値σyが得られた時点で、差Dyに基づき分散値σyの方向を特定し、それがリーン方向の分散値であれば、直前のリーン方向の入力空燃比u(t)の切替に対応した値であるとして、その入力空燃比切替時から、分散値σyがしきい値を超えた時点までの時間をむだ時間とする。また分散値σyがリッチ方向の値であれば、これは直前のリッチ方向の入力空燃比u(t)の切替に対応した値であるとして、その入力空燃比切替時から分散値σyがしきい値を超えた時点までの時間をむだ時間とする。
こうした方向付けは、極値に基づくむだ時間の算出でも可能である。先にも述べたように、前回値y(t−1)が前々回値y(t−2)及び現在値y(t)より小さいとき、即ちy(t−1)<y(t−2)且つy(t−1)<y(t)のとき、前回値y(t−1)は極小値即ちリーン方向の極値である。よって直前のリーン方向の入力空燃比u(t)の切替時から前回値y(t−1)が得られた時点までの時間を、リーン方向の入力空燃比u(t)の切替に対応したむだ時間とする。また、前回値y(t−1)が前々回値y(t−2)及び現在値y(t)より大きいとき、即ちy(t−1)>y(t−2)且つy(t−1)>y(t)のとき、前回値y(t−1)は極大値即ちリッチ方向の極値である。よって直前のリッチ方向の入力空燃比u(t)の切替時から前回値y(t−1)が得られた時点までの時間を、リッチ方向の入力空燃比u(t)の切替に対応したむだ時間とする。
[第4の態様:むだ時間算出方法の適正化]
次に、診断精度向上のための第4の態様であるむだ時間算出方法の適正化について説明する。前述の分散値利用法では、入力空燃比u(t)の切替時から、出力空燃比y(t)の分散値がしきい値epsを超えたタイミングまでの時間がむだ時間として算出される。
ところで、触媒前センサ17の出力Vfは、吸入空気量が少ないほど、即ち排気ガス流量が少ないほど変化速度が緩やかになり、吸入空気量が多いほど、即ち排気ガス流量が多いほど変化速度が急になる傾向がある。よって、入力空燃比u(t)の切替に対応する出力空燃比y(t)の分散値も、吸入空気量に応じて変化し、これがむだ時間算出精度を悪化させる原因になることが判明した。
図22及び図23はそれぞれ同一の触媒前センサ17に対して吸入空気量が少ない場合と多い場合を示す。図22に示すように、吸入空気量が少ない場合、入力空燃比u(t)の切替に対応する出力空燃比y(t)の分散値の立ち上がりが少なくなり、場合によっては図示の如くしきい値epsに達せず、むだ時間を正確に算出できない場合がある。他方、図23に示すように、吸入空気量が多い場合、入力空燃比u(t)の切替に対応する出力空燃比y(t)の分散値の立ち上がりが多くなり、しきい値epsに達するタイミングが早まって本来より短いむだ時間を算出してしまう場合がある。なお吸入空気量が多い場合、触媒前センサ17の出力Vfにノイズも多く重畳するようになり、この影響でもむだ時間算出精度が悪化する。
そこで本態様では、吸入空気量に応じてしきい値epsを変更する。こうすることにより吸入空気量の大小に応じたむだ時間の算出誤差等を解消し、むだ時間算出精度を向上することが可能となる。
具体的には、ECU20が、エアフローメータ5により検出された吸入空気量Gaに基づき、図24に示すような所定のマップ(関数でもよい)に従い、しきい値epsを算出する。このとき、吸入空気量が多いほど大きなしきい値epsが算出される。そしてこの算出されたしきい値epsを実際の分散値と比較して後者が前者を超えたタイミングを定める。これにより適切なタイミングを得て、正確なむだ時間を算出することが可能となる。
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。例えば、前記実施形態では一次遅れモデルにおける同定手法として逐次最小自乗法を用いたが、他にも様々な同定手法が採用可能であり、例えばカルマンフィルタ法等が採用可能である。
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。