(57)【特許請求の範囲】
【請求項１】
排気の一部を吸気に還流させるＥＧＲ機能と、マニホールドよりも上流側に配されるスロットルとを有し、可変ターボによってシリンダへの吸気が促進される内燃機関の制御装置であって、
前記スロットルよりも上流側に配されて、前記スロットルよりも上流側の吸気管に吸入される吸入空気量を計測する吸気量計測手段と、
前記スロットルよりも下流側に配されて、吸気通路内の吸気圧を検出する吸気圧センサと、
前記スロットルよりも下流側に配されて、前記吸気通路内の空気温度を検出する吸気温センサと、
前記内燃機関の回転角に同期して信号を出力する回転角センサと、
少なくとも前記内燃機関の運転状態に基づいて指令噴射量を算出する指令噴射量算出手段と、
前記吸気圧センサより得られる吸気圧、前記吸気温センサより得られる吸気温、前記回転角センサより得られる回転数、前記シリンダの容積および気体状態式の気体定数を用いて前記シリンダに流入する総ガス量を算出するシリンダ流入ガス量算出手段と、
前記吸気量計測手段から前記スロットルまでの前記吸気通路の空間を前記吸気管と呼ぶときに、前記吸気圧センサより得られる吸気圧の時間変化分を前記吸気管内の圧力の時間変化分として代用し、代用により得られる前記吸気管内の圧力の時間変化分、前記吸気温センサより得られる吸気温、前記吸気管の容積および気体状態式の気体定数を用いて前記吸気管内の質量増分を算出するとともに、算出された前記吸気管内の質量増分、および前記吸気量計測手段より計測される吸入空気量を用いて前記マニホールドに流入する新気量を算出するマニホールド流入新気量算出手段と、
前記スロットルから前記シリンダの入口までの前記吸気通路の空間を前記マニホールドと呼ぶときに、前記吸気圧センサより得られる吸気圧の時間変化分、前記吸気温センサより得られる吸気温、前記マニホールドの容積および気体状態式の気体定数を用いて前記マニホールド内の質量増分を算出するとともに、算出された前記マニホールド内の質量増分、前記シリンダ流入ガス量算出手段により算出された総ガス量、および前記マニホールド流入新気量算出手段により算出された新気量を用いて前記マニホールドに流入するＥＧＲガス量を算出するマニホールド流入ＥＧＲガス量算出手段と、
少なくとも、前記マニホールド流入新気量算出手段により算出された新気量、前記マニホールド流入ＥＧＲガス量算出手段により算出されたＥＧＲガス量、および前記指令噴射量を用いて、前記シリンダ内の燃焼毎の排気Ｏ２濃度を予測する排気Ｏ２濃度予測手段とを有し、
この排気Ｏ２濃度予測手段で予測された予測排気Ｏ２濃度に応じて、前記ＥＧＲ機能に具備されるＥＧＲバルブもしくは燃料噴射量の少なくとも一つを制御し、
前記内燃機関の運転領域毎に排気Ｏ２濃度の目標値を持ち、前記予測排気Ｏ２濃度が前記目標値と一致する様に、前記ＥＧＲバルブをフィードバック制御することを特徴とする内燃機関の制御装置。
【請求項２】
排気の一部を吸気に還流させるＥＧＲ機能と、マニホールドよりも上流側に配されるスロットルとを有し、可変ターボによってシリンダへの吸気が促進される内燃機関の制御装置であって、
前記スロットルよりも上流側に配されて、前記スロットルよりも上流側の吸気管に吸入される吸入空気量を計測する吸気量計測手段と、
前記スロットルよりも下流側に配されて、吸気通路内の吸気圧を検出する吸気圧センサと、
前記スロットルよりも下流側に配されて、前記吸気通路内の空気温度を検出する吸気温センサと、
前記内燃機関の回転角に同期して信号を出力する回転角センサと、
少なくとも前記内燃機関の運転状態に基づいて指令噴射量を算出する指令噴射量算出手段と、
前記吸気圧センサより得られる吸気圧、前記吸気温センサより得られる吸気温、前記回転角センサより得られる回転数、前記シリンダの容積および気体状態式の気体定数を用いて前記シリンダに流入する総ガス量を算出するシリンダ流入ガス量算出手段と、
前記吸気量計測手段から前記スロットルまでの前記吸気通路の空間を前記吸気管と呼ぶときに、前記吸気圧センサより得られる吸気圧の時間変化分を前記吸気管内の圧力の時間変化分として代用し、代用により得られる前記吸気管内の圧力の時間変化分、前記吸気温センサより得られる吸気温、前記吸気管の容積および気体状態式の気体定数を用いて前記吸気管内の質量増分を算出するとともに、算出された前記吸気管内の質量増分、および前記吸気量計測手段より計測される吸入空気量を用いて前記マニホールドに流入する新気量を算出するマニホールド流入新気量算出手段と、
前記スロットルから前記シリンダの入口までの前記吸気通路の空間を前記マニホールドと呼ぶときに、前記吸気圧センサより得られる吸気圧の時間変化分、前記吸気温センサより得られる吸気温、前記マニホールドの容積および気体状態式の気体定数を用いて前記マニホールド内の質量増分を算出するとともに、算出された前記マニホールド内の質量増分、前記シリンダ流入ガス量算出手段により算出された総ガス量、および前記マニホールド流入新気量算出手段により算出された新気量を用いて前記マニホールドに流入するＥＧＲガス量を算出するマニホールド流入ＥＧＲガス量算出手段と、
少なくとも、前記マニホールド流入新気量算出手段により算出された新気量、前記マニホールド流入ＥＧＲガス量算出手段により算出されたＥＧＲガス量、および前記指令噴射量を用いて、前記シリンダ内の燃焼毎の排気Ｏ２濃度を予測する排気Ｏ２濃度予測手段とを有し、
この排気Ｏ２濃度予測手段で予測された予測排気Ｏ２濃度に応じて、前記ＥＧＲ機能に具備されるＥＧＲバルブもしくは燃料噴射量の少なくとも一つを制御し、
前記指令噴射量を用いて計算した時の前記予測排気Ｏ２濃度が、予め決められた目標値と一致する様に、噴射量を再計算して、前記指令噴射量を修正することを特徴とする内燃機関の制御装置。
【請求項３】
請求項１または２に記載した内燃機関の制御装置において、
前記排気Ｏ２濃度予測手段は、前記指令噴射量によって消費されるＯ２量を算出する消費Ｏ２量算出手段を有していることを特徴とする内燃機関の制御装置。
【請求項４】
請求項１〜３に記載した内燃機関の制御装置において、
前記排気Ｏ２濃度予測手段は、前記シリンダに流入するガス中（ＥＧＲガスを含む）のＯ２量を、前記吸気通路内に吸入された新気中のＯ２量とＥＧＲガス中のＯ２量とを用いて算出することを特徴とする内燃機関の制御装置。
【請求項５】
請求項４に記載した内燃機関の制御装置において、
前記排気Ｏ２濃度予測手段は、以前に算出した過去の排気Ｏ２濃度の予測値を用いて前記ＥＧＲガス中のＯ２量を算出することを特徴とする内燃機関の制御装置。
【請求項６】
請求項１〜５に記載した何れかの内燃機関の制御装置において、
排気通路に設置されて実際の排気Ｏ２濃度を検出するＯ２センサを有し、
前記排気Ｏ２濃度の予測値が、定常状態で前記Ｏ２センサの出力値と一致する様に、学習機能を持たせたことを特徴とする内燃機関の制御装置。
【請求項７】
請求項１〜５に記載した何れかの内燃機関の制御装置において、
排気通路に設置されて実際の排気Ｏ２濃度を検出するＯ２センサと、
前記シリンダから排出された排気ガスの排気Ｏ２濃度が前記Ｏ２センサで検出されるまでの時間的な遅れを補正するフィルタリング手段と、
このフィルタリング手段にてフィルタリングを実施した後、前記排気Ｏ２濃度の予測値が前記Ｏ２センサの出力値と一致する様に学習補正量を算出し、この学習補正量にて前記排気Ｏ２濃度の予測値を補正する学習機能とを有することを特徴とする内燃機関の制御装置。
【請求項８】
請求項７に記載した内燃機関の制御装置において、
前記予測排気Ｏ２濃度の変化率が所定以上の条件では、前記学習補正量の更新を禁止することを特徴とする内燃機関の制御装置。
【請求項９】
請求項７または８に記載した内燃機関の制御装置において、
前記シリンダから排出された排気ガスが前記Ｏ２センサに到達するまでの無駄時間及び時定数を、定常状態において噴射量を微小変化させたときの前記Ｏ２センサの出力値から検出することを特徴とする内燃機関の制御装置。
【請求項１０】
請求項７〜９に記載した何れかの内燃機関の制御装置において、
前記排気通路に触媒が設けられ、その触媒の下流側に前記Ｏ２センサが設置されていることを特徴とする内燃機関の制御装置。
【請求項１１】
請求項７〜１０に記載した何れかの内燃機関の制御装置において、
触媒制御のための燃料排気管添加、またはポスト噴射が行われた場合は、前記学習補正量の更新を禁止することを特徴とする内燃機関の制御装置。
【請求項１２】
請求項７〜１１に記載した何れかの内燃機関の制御装置において、
前記学習補正量の絶対値が所定値以上の時は、前記Ｏ２センサの異常と判断することを特徴とする内燃機関の制御装置。
【請求項１３】
請求項１２に記載した内燃機関の制御装置において、
前記Ｏ２センサの異常と判断された時は、前記学習機能による学習補正を禁止することを特徴とする内燃機関の制御装置。
【請求項１４】
請求項１〜１３に記載した何れかの内燃機関の制御装置において、
前記指令噴射量を用いて計算した時の前記排気Ｏ２濃度の予測値が、予め決められたリッチ側の限界値を超えない様に、前記指令噴射量に上限値を設定していることを特徴とする内燃機関の制御装置。
【請求項１５】
請求項１４に記載した内燃機関の制御装置において、
前記リッチ側の限界値は、少なくとも前記内燃機関の回転数の関数であることを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の制御装置に関する。
【０００２】
【従来の技術】
近年、ディーゼルエンジンの排ガス規制は益々厳しくなり、精度の良いＥＧＲ制御や噴射量制御の必要性が増大している。例えば、ＥＧＲ制御では、ＥＧＲ率の精度を上げるために、吸気系に設けられたエアフロメータによりシリンダに吸入される空気量を計測し、これを目標値に合わせ込むようにフィードバック制御する方法（エアフロメータF/B 制御）が量産化されている。
【０００３】
【発明が解決しようとする課題】
ところが、加減速などの過渡状態では、実際にシリンダに入る空気量と、エアフロメータで計測される空気量とが異なるため、空気の伝送遅れを考慮した所謂モデルベース制御も種々検討されている。このモデルベース制御は、エアフロメータで計測された空気量信号を基に、これに空気の伝送遅れを物理的もしくは伝達関数的に算出し、過渡状態でシリンダに入る空気量を推定するものである。
【０００４】
しかし、ＥＧＲ経路から還流するＥＧＲ量は、ＥＧＲ上流側（すなわちシリンダ出口側）の背圧によって大きく変化する。特に、ターボ付きエンジンでは、その背圧が大きく過渡的に変化するため、ＥＧＲ量が変化し、それがＥＧＲ率の誤差となってしまう。特に、可変ターボ付きエンジンでは、その背圧変化が大きく、従来のエアフロメータF/B 制御や、それをベースとしたモデルベース制御では、ＥＧＲ率を精度良く制御できず、スモークの発生などの悪影響を防ぐことができなかった。
【０００５】
また、噴射量制御について言えば、ディーゼルエンジンの場合には、燃料噴射装置の製造公差や経時変化等によって噴射量が指令値と異なってしまい、燃料の過不足が発生し、スモークの発生やトルク不足といった問題が発生する。これを解決する試みとして、排気系に排気Ｏ2 濃度を検出するためのＯ2 センサを設置し、この排気Ｏ2 濃度によって燃料量をフィードバック制御する方法が検討されている。しかし、排気系にＯ2 センサを設置しているため、排気ガスがその設置位置に到達するまでに時間遅れが発生する。また、Ｏ2 センサ自体の化学的反応遅れのため、実際の排気Ｏ2 濃度とＯ2 センサで検出した排気Ｏ2 濃度とが異なり、制御精度、特に過渡時の制御精度が大幅に低下するという問題があった。
本発明は、上記事情に基づいて成されたもので、その目的は、応答性に優れ、且つ精度の良いＥＧＲ制御、及び噴射量制御を実現することにある。
【０００６】
【課題を解決するための手段】
（請求項１の手段）
本発明によれば、吸気圧センサより得られる吸気圧に基づいて、シリンダに流入する総ガス量が算出される。また、吸気圧センサより得られる吸気圧の時間変化分を吸気管内の圧力の時間変化分として代用することで、吸気管内の質量増分が算出されるとともに、算出された吸気管内の質量増分、および吸気量計測手段より計測される吸入空気量に基づいて、マニホールドに流入する新気量が算出される。さらに、吸気圧センサより得られる吸気圧の時間変化分に基づいて、マニホールド内の質量増分が算出されるとともに、算出されたマニホールド内の質量増分、算出された総ガス量、および算出された新気量を用いてマニホールドに流入するＥＧＲガス量が算出される。このため、スロットルよりも上流側の吸気管内と、スロットルよりも下流側のマニホールド内とで個別に質量保存側を適用して、新気量およびＥＧＲガス量を精度よく算出することができる。
また、高精度に算出された新気量およびＥＧＲガス量に加えて、指令噴射量をも参酌することにより、毎噴射後の排気Ｏ２濃度を精度良く予測できる。そして、排気ガスのＯ２濃度が実際にセンサで検出される以前に排気Ｏ２濃度を予測できるので、噴射量制御またはＥＧＲ制御に用いた場合、応答良く制御することができる。
また、内燃機関の運転領域毎に排気Ｏ２濃度の目標値を持ち、排気Ｏ２濃度の予測値が目標値と一致する様に、ＥＧＲバルブをフィードバック制御する。
これにより、応答良く排気Ｏ２濃度を目標値に追従させることができるので、エミッションが向上する。
【０００７】
（請求項２の手段）
本発明によれば、指令噴射量を用いて計算した時の排気Ｏ２濃度の予測値が、予め決められた目標値と一致する様に、噴射量を再計算して、指令噴射量を修正する。
これにより、毎回の噴射毎に排気Ｏ２濃度が制御可能となるので、排気Ｏ２濃度の制御性が向上し、エミッションを向上できる。
【０００８】
（請求項３の手段）
請求項１または２に記載した内燃機関の制御装置において、
排気Ｏ２濃度予測手段は、指令噴射量によって消費されるＯ２量を算出する消費Ｏ２量算出手段を有している。
この場合、指令噴射量によって消費されるＯ２量を算出することにより、噴射後の排気Ｏ２濃度を精度良く算出することが可能である。
【０００９】
（請求項４の手段）
請求項１〜３に記載した何れかの内燃機関の制御装置において、
排気Ｏ２濃度予測手段は、シリンダに流入するガス中（ＥＧＲガスを含む）のＯ２量を、吸気通路内に吸入された新気中のＯ２量とＥＧＲガス中のＯ２量とを用いて算出する。
これにより、シリンダに流入するＯ２量を精度良く計算することができるので、排気Ｏ２濃度の予測精度が向上する。
【００１０】
（請求項５の手段）
請求項４に記載した内燃機関の制御装置において、
排気Ｏ２濃度予測手段は、以前に算出した過去の排気Ｏ２濃度の予測値を用いてＥＧＲガス中のＯ２量を算出する。
この場合、排気ガスのＯ２濃度を実際にセンサで検出する場合と比較して、検出遅れの影響を受けることがないので、精度良く排気Ｏ２濃度を予測することができる。
【００１１】
（請求項６の手段）
請求項１〜５に記載した何れかの内燃機関の制御装置において、
排気通路に設置されて実際の排気Ｏ２濃度を検出するＯ２センサを有し、排気Ｏ２濃度の予測値が、定常状態でＯ２センサの出力値と一致する様に、学習機能を持たせている。
これにより、排気Ｏ２濃度予測手段の誤差を小さくできるので、排気Ｏ２濃度の予測精度が向上する。
【００１２】
（請求項７の手段）
請求項１〜５に記載した何れかの内燃機関の制御装置において、
排気通路に設置されて実際の排気Ｏ２濃度を検出するＯ２センサと、シリンダから排出された排気ガスの排気Ｏ２濃度がＯ２センサで検出されるまでの時間的な遅れを補正するフィルタリング手段と、このフィルタリング手段にてフィルタリングを実施した後、排気Ｏ２濃度の予測値がＯ２センサの出力値と一致する様に学習補正量を算出し、この学習補正量にて排気Ｏ２濃度の予測値を補正する学習機能とを有することを特徴とする。
この構成によれば、フィルタリングを実施することにより、排気Ｏ２濃度の予測値と実測値（Ｏ２センサの出力値）との違いを精度良く検出できる。その結果、過渡時においても精度良い学習制御を実現できる。
【００１３】
（請求項８の手段）
請求項７に記載した内燃機関の制御装置において、
予測排気Ｏ２濃度の変化率が所定以上の条件では、学習補正量の更新を禁止することを特徴とする。
一般的には、定常時に学習を行うのであるが、通常の運転では、定常時となる運転状態が限られており、特に低速高負荷といった領域では、定常状態になり難い。そこで、過渡時まで学習する場合には、どの範囲まで学習を許可するのかが重要となる。
【００１４】
フィルタリングで誤差が生じるのは、排気Ｏ2 濃度の信号が急激に変化する場合である。そこで、予測排気Ｏ2 濃度の変化率が所定以上の条件では、フィルタリングの精度を保証できないので、学習補正量の更新を禁止することにより、所定の範囲内にて過渡状態における学習を実現することが可能である。
なお、ここで言う予測排気Ｏ2 濃度は、シリンダから排出される排気ガスの排気Ｏ2 濃度であっても良いし、フィルタリングした後の排気Ｏ2 濃度であっても良い。
【００１５】
（請求項９の手段）
請求項７または８に記載した内燃機関の制御装置において、
シリンダから排出された排気ガスがＯ２センサに到達するまでの無駄時間及び時定数を、定常状態において噴射量を微小変化させたときのＯ２センサの出力値から検出することを特徴とする。
フィルタリングの要素である無駄時間と時定数は、内燃機関の運転条件毎に予め適合しておくが、内燃機関やＯ２センサにバラツキがあるので、運転中に補正できることが望ましい。これに対し、本発明によれば、定常状態にて噴射量を微小変化させることにより排気Ｏ２濃度を微小変化させ、Ｏ２センサがどれだけ遅れて反応を示すかが検出できるので、フィルタリングの精度を向上することができる。これにより、過渡時において精度良い学習が可能となる。
【００１６】
（請求項１０の手段）
請求項７〜９に記載した何れかの内燃機関の制御装置において、
排気通路に触媒が設けられ、その触媒の下流側にＯ２センサが設置されていることを特徴とする。
近年、ＮＯx 触媒やディーゼルパティキュレートフィルタ等の触媒＆後処理システムの装着が増加している。Ｏ２センサは、圧力の影響を受けやすく、これらの後処理システムが装着されている場合、触媒等が圧損体となってセンサ近傍の圧力が上昇することから、Ｏ２センサの検出精度が低下するという問題がある。  これに対し、本発明では、精度良く時々刻々の排気Ｏ２濃度を予測し、遅れを補正するフィルタリングを用いることにより、触媒の下流側にＯ２センサを配置しても、精度良く学習補正にＯ２センサの出力値を用いることができる。
【００１７】
（請求項１１の手段）
請求項７〜１０に記載した何れかの内燃機関の制御装置において、
触媒制御のための燃料排気管添加、またはポスト噴射が行われた場合は、学習補正量の更新を禁止することを特徴とする。
触媒制御のために、所定の期間に排気管内へ燃料を添加する燃料排気管添加や、燃焼が終わった後にシリンダ内に燃料を噴射するポスト噴射等の技術が開発されている。
【００１８】
しかし、これらの燃料成分がＯ2 センサの検出精度低下につながる虞がある。また、燃料添加により触媒内の化学反応が活発化することにより、触媒温度が上昇し、触媒内ですすの燃焼が行われると、Ｏ2 センサ近傍の排気Ｏ2 濃度がシリンダから排出された際の排気Ｏ2 濃度と異なってくる。このため、学習制御の精度を確保することが難しくなる。そこで、これらの触媒制御が行われた場合は、学習補正量の更新を禁止することにより、誤学習を防止できる。
【００１９】
（請求項１２の手段）
請求項７〜１１に記載した何れかの内燃機関の制御装置において、
学習補正量の絶対値が所定値以上の時は、Ｏ２センサの異常と判断することを特徴とする。
Ｏ２センサは、検出精度を確保するために、センサ素子を600 〜800 ℃といった高温に保つ必要がある。また、被水によりセンサ素子が割れるといった故障を発生する可能性もある。これらの場合、間違った値を学習してしまう問題が生じる。そこで、学習補正量の絶対値が所定値以上の時は、Ｏ２センサの異常と判断する。
【００２０】
（請求項１３の手段）
請求項１２に記載した内燃機関の制御装置において、
Ｏ２センサの異常と判断された時は、学習機能による学習補正を禁止することを特徴とする。
予測排気Ｏ２濃度は、モデル誤差を含んでいるものの、ある程度の精度は保証されている。従って、Ｏ２センサの異常により学習補正を禁止しても、モデル予測値にて制御を実現できるので、排気Ｏ２濃度を用いたＥＧＲ制御や噴射量制御に大きな影響を与えることを防止できる。
【００２３】
（請求項１４の手段）
請求項１〜１３に記載した何れかの内燃機関の制御装置において、
指令噴射量を用いて計算した時の排気Ｏ２濃度の予測値が、予め決められたリッチ側の限界値を超えない様に、指令噴射量に上限値を設定している。
これにより、噴射量の修正を最小限に抑えつつ、スモークの大幅な発生を未然に防ぐことができる。
【００２４】
（請求項１５の手段）
請求項１４に記載した内燃機関の制御装置において、
リッチ側の限界値は、少なくとも内燃機関の回転数の関数である。
これにより、低回転時のトルクが必要な場合に、噴射量を修正する量を小さくできるので、加速性が向上する。
【００２５】
【発明の実施の形態】
次に、本発明をディーゼルエンジンに適用した実施形態を図面に基づいて説明する。
図１はディーゼルエンジン１の制御システムを示す全体構成図である。
先ず、システムの全体構成を図１に基づいて説明する。
本システムは、排気の一部を吸気に戻すためのＥＧＲ機能（下述する）を備えるディーゼルエンジン（以下エンジン１と略す）に適用される。
【００２６】
このエンジン１には、図示しないコモンレールに蓄圧されている高圧燃料を、エンジン１のシリンダヘッドに取り付けられたインジェクタ２から燃焼室１ａに噴射するコモンレール式の噴射システムが採用されている。
ＥＧＲ機能は、吸気通路３と排気通路４とを連通するＥＧＲ通路５と、このＥＧＲ通路５を還流する排気ガス量（ＥＧＲ量）を調節するＥＧＲバルブ６とで構成される。
【００２７】
吸気通路３には、ＥＧＲ通路５との接続点より上流側にエアフロメータ７と可変ターボ８のコンプレッサ８Ａが設けられ、コンプレッサ８Ａの下流にディーゼルスロットル９（以下スロットル９と呼ぶ）を具備している。更に、スロットル９より下流側には、吸気通路３内の吸気圧を検出する吸気圧センサ１０と、吸気通路３内の空気温度を検出する吸気温センサ１１が取り付けられている。なお、本実施例では、吸気通路３のスロットル９より上流側を吸気管３Ａと呼び、スロットル９より下流側をマニホールド３Ｂと呼ぶ。
排気通路４には、ＥＧＲ通路５との接続点より下流側に可変ターボ８の排気タービン８Ｂが設けられ、その排気タービン８Ｂより下流側には、排気ガスのＯ2 濃度を検出するＯ2 センサ１２が取り付けられている。
【００２８】
前記エアフロメータ７、吸気圧センサ１０、吸気温センサ１１、及びＯ2 センサ１２で検出される空気系の各情報は、本システムの作動を制御する電子制御装置（以下ＥＣＵ１３と呼ぶ）に出力される。
また、本システムには、上記センサ類の他にも、エンジン１の回転角に同期して信号を出力する回転角センサ１４、エンジン１の冷却水温を検出する水温センサ１５、アクセルペダル１６の踏み込み量からアクセル開度を検出するアクセル開度センサ１７等が設けられ、それぞれ検出された各種情報がＥＣＵ１３に出力される。
【００２９】
次に、本システムの制御方法を説明する。
（第１実施例）
図２はＥＣＵ１３による制御内容をブロック図に表したもので、排気Ｏ2 濃度予測計算、目標排気Ｏ2 濃度計算、噴射量修正計算、ＥＧＲ操作量計算、及び学習補正量計算の５つのブロックから成る。
図３は、本システムの制御内容を説明する上で使用する各種記号を記した空気系統の図面である。
図４（Ａ）、（Ｂ）はＥＣＵ１３の制御手順を示すフローチャートである。
【００３０】
なお、図４（Ａ）に示すメインルーチンは、噴射同期（Ｎe 同期）で噴射サイクル毎に計算される。噴射同期とすることで、噴射毎の排気Ｏ2 濃度を算出できるので、精度が向上し、エミッションが向上する。
一方、図４（Ｂ）に示すメインルーチンは、時間同期、例えば１６ｍｓ毎に計算される。これは、ＥＧＲバルブ６の応答性が、エンジン回転数Ｎe にあまり依存しないためである。但し、図４（Ａ）に示すルーチンの後（Step600 の後）に計算（噴射同期計算）しても問題はない。
【００３１】
先ず、図４（Ａ）に示すメインルーチンの内容を説明する。
Step100 （指令噴射量算出手段）…指令噴射量Ｑr を計算する。計算手順を示すフローチャートは省略するが、一般には、エンジン回転数Ｎe とアクセル開度のマップから算出される基本噴射量と、エアコン等に必要な駆動力を得るための噴射量との和によって求められる。
Step200 （排気Ｏ2 濃度予測手段）…シリンダ内の燃焼毎の排気Ｏ2 濃度を予測する。
【００３２】
Step300 …Step200 の予測値に、後述するStep611 で算出される学習補正量を加算して精度を向上させる。
Step400 …目標排気Ｏ2 濃度を計算する。
Step500 …Step300 で算出した学習後の予測排気Ｏ2 濃度と、Step400 で算出した目標排気Ｏ2 濃度とを用いて噴射量を修正する。
Step600 …噴射量が修正された後の予測排気Ｏ2 濃度を実測の排気Ｏ2 濃度によって誤差学習を行う。この際、定常状態で積分学習を行うことにより、定常状態における精度が向上する。
【００３３】
続いて、図４（Ａ）のメインルーチンで行う各Stepの内容について詳述する。
ａ）図５はStep200 の処理手順を示すサブルーチンであり、更に図５に示す各Step毎の詳細な処理手順を図６〜図１０の各フローチャートに示す。
Step210 …シリンダに流入するガス量Ｍcld を計算する。
具体的には、図６に示す様に、Step211 〜213 …吸気圧センサ１０で検出される吸気圧Ｐm 、吸気温センサ１１で検出される吸気温Ｔm 、及び回転数Ｎe を順次読み込んだ後、Step214 …体積効率ηをＮe とＰm との関数として算出し、Step215 …気体状態式とηからシリンダに流入するガス量Ｍcld を算出する。
なお、気体状態式に用いるＲは気体定数であり、一定値で良い。
【００３４】
Step220 …マニホールド３Ｂに流入する新気量ＭDth を計算する。
具体的には、図７に示す様に、Step221 〜223 …エアフロメータ７で計測される流量ＭAFM 、吸気圧Ｐm 、及び吸気温Ｔm を順次読み込んだ後、Step224 …吸気圧の変化分ΔＰを算出し、Step225 …新気量ＭDth を算出する。ここでは、エアフロメータ７からスロットル９までの吸気管３Ａ内の圧力をＰm で代用し、吸気管３Ａ内の質量増加分を気体状態式より計算し、下式▲１▼で表される吸気管３Ａ内の質量保存則から新気量ＭDth を算出できる。
ＭAFM ×（２／気筒数）−ＭDth ＝ΔＰ・ＶIN／（Ｔm ・Ｒ）……▲１▼
【００３５】
Step230 …マニホールド３Ｂに流入するＥＧＲガス量ＭEGR を計算する。
具体的には、図８に示す様に、Step231 〜235 …Ｐm 、Ｔm 、ΔＰ、ＭDth 、及びＭcld を順次読み込んだ後、Step236 …ＥＧＲガス量ＭEGR を算出する。即ち、マニホールド３Ｂ内の質量増加分を気体状態式より計算し、下式▲２▼で表されるマニホールド３Ｂ内の質量保存則からＥＧＲガス量ＭEGR を算出する。
ＭDth ＋ＭEGR −Ｍcld ＝ΔＰ・Ｖｍ／（Ｔm ・Ｒ）………………▲２▼
【００３６】
Step240 …シリンダに流入するガス中のＯ2 量Ｏ2-cld を計算する。
具体的には、図９に示す様に、Step241 〜243 …ＭDth 、ＭEGR 、及び過去のサイクルにおいて計算された修正後の排気Ｏ2 濃度Ｃex-c(i-n1)…（ｎ1 サイクル前の修正後排気Ｏ2 濃度）を順次読み込み、Step244 …Ｃex-c(i-n1)をＥＧＲガス中のＯ2 濃度ＣEGR としてメモリに格納する。
【００３７】
なお、ｎ1 はガスの流入遅れを考慮したもので、定数あるいはＮe の関数でも良い。簡単には、Ｃex-cをなまし処理しても良い。また、精度を良くするためには、ｎ1 を過去のＥＧＲガス量ＭEGR の関数とすると良い。具体的には、ＥＧＲ通路５（ＥＧＲ管）の容積にガス密度を掛けて、それをサイクルあたりのＥＧＲガス量（過去の値）で除する方法がある。
【００３８】
続いて、Step245 …新気ガスとＥＧＲガスとが混合する場所でのＯ2 濃度Ｃm-INを算出し、更にStep246 …シリンダに流入するガス中のＯ2 濃度Ｃm-cld を算出する。なお、ｎ2 はガスの流入遅れを考慮したもので、定数あるいはＮe の関数でも良い。また、Ｃm-INをなまし処理しても良い。
続いて、Step247 …シリンダ流入ガス量Ｍcld を読み込み、Step248 …Ｍcld とＣm-cld との積によってシリンダ流入Ｏ2 量Ｏ2-cld を計算する。
【００３９】
Step250 …モデル予測排気Ｏ2 濃度Ｃex-mdlを計算する。
具体的には、図１０に示す様に、Step251 〜253 …Ｍcld 、Ｏ2-cld 、及び指令噴射量Ｑr を順次読み込んだ後、Step254 （消費Ｏ2 量算出手段）…指令噴射量Ｑr によって消費されるＯ2 量を計算する。
Ｋ1 （定数）は、単位燃料量当たりの消費Ｏ2 質量である。但し、燃焼形態により不完全燃焼する割合が大きい（１％以上）場合は、修正すると良い。
【００４０】
更に、Step255 …モデル予測排気Ｏ2 濃度Ｃex-mdlを算出する。
具体的には、シリンダに流入する酸素量Ｏ2-cld から消費酸素量Ｏ2-qrを引いて残存酸素量を算出し、それをシリンダに流入するガス量Ｍcld と燃料量Ｋ2 ×Ｑr との和で除することによりＣex-mdlを算出できる。なお、Ｋ2 は燃料密度で定数である。
【００４１】
ｂ）図１１はStep300 の処理手順を示すサブルーチンである。
ここでは、Step301 …上記Step255 で算出されたモデル予測排気Ｏ2 濃度Ｃex-mdlを読み込み、更にStep302 …後述するStep611 にて算出される学習補正量CLEARNを読み込んだ後、Step303 …Ｃex-mdlにCLEARNを加算して学習後の予測排気Ｏ2 濃度Ｃex-sを算出する。
【００４２】
ｃ）図１２(a) はStep400 の処理手順を示すサブルーチンである。
ここでは、Step401 〜402 …Ｎe とＱr を読み込んだ後、Step403 …図１２(b) に示すマップから目標排気Ｏ2 濃度Ｃex-trgを算出する。
例えば、図中でＮe ＝Ｎ1 、Ｑr ＝Ｑ1 の時、マップ検索によりβが算出される。ここで、マップ中に埋められている目標排気Ｏ2 濃度Ｃex-trgは、エンジン１より排出されるＯ2 濃度を運転域毎に常に良好なエミッション、燃費、ドライバビリティ等が得られる様に、予め実験で求めた値である。続いて、Step404 …Step403 で求めたβを目標排気Ｏ2 濃度Ｃex-trgとしてメモリに格納する。
【００４３】
ｄ）図１３はStep500 の処理手順を示すサブルーチンである。
ここでは、Step501 〜502 …学習後の予測排気Ｏ2 濃度Ｃex-sと目標排気Ｏ2 濃度Ｃex-trgとを読み込んだ後、Step503 …両者の偏差ΔＣexを算出する。
続いて、Step504 …指令噴射量Ｑｒを入力した後、Step505 …ΔＣexが０より大きいか否かを判定する。ΔＣex＞０の場合、つまりＣex-sの方がＣex-trgより小さい場合は、Step506 〜508 …噴射量の修正を行う。
【００４４】
具体的には、Step506 …シリンダに流入するガス量Ｍcld を入力した後、Step507 …目標排気Ｏ2 濃度Ｃex-trgと一致するように噴射修正量ΔＱを算出する。
なお、Step507 の式は、Step254 及びStep255 の式から消費酸素量Ｏ2-qrを消去し、Ｍcld ≫Ｋ2 ×Ｑr という仮定のもと、両辺をＱr にて微分することにより導くことができる。
続いて、Step508 …指令噴射量Ｑr と噴射修正量ΔＱから修正後の噴射量Ｑc を算出する。更に、排気Ｏ2 濃度は、目標排気Ｏ2 濃度Ｃex-trgに一致するように噴射量を変更したことから、Step509 …目標排気Ｏ2 濃度Ｃex-trgを噴射量修正後の排気Ｏ2 濃度Ｃex-cとしてメモリに格納する。
【００４５】
一方、上記Step505 …ΔＣex≦０の場合は、Step510 〜512 …噴射量の修正を行う。ここでは、Step506 〜508 と同様であるが、噴射量を増量側に修正することになるので、係数α（＝０〜１）にて、その修正量を軽減する。これは、ドライバーが要求する以上のトルクとなることを防ぐためである。
なお、係数αは、エミッションとドラビリとの関係から事前に適合しておく。ドラビリを優先するのであれば、αは小さくなるし、エミッションを優先するのであれば、αは大きくなる。
【００４６】
Step510 〜512 の処理を具体的に説明する。
Step510 …シリンダに流入するガス量Ｍcld を入力した後、Step511 …噴射修正量ΔＱを計算し、Step512 …指令噴射量Ｑr と噴射修正量ΔＱから修正後の噴射量Ｑc を算出する。更に、Step513 …噴射量修正後の排気Ｏ2 濃度Ｃex-cをメモリに格納する。このStep513 は、学習後の予測排気Ｏ2 濃度Ｃex-sと目標排気Ｏ2 濃度Ｃex-trgの間をαにて内分する値である。
【００４７】
ｅ）図１４はStep600 の処理手順を示すサブルーチンである。
ここでは、Step601 〜604 …上記Step500 で算出した噴射量修正後の排気Ｏ2 濃度Ｃex-c、Ｏ2 センサ１２の出力値Ｃex-sensor 、Ｑc 及びＮe を順次読み込んだ後、Step605 …学習領域を判定する。この学習領域の一例を図１５に示す。
続いて、Step606 …学習領域から学習値（学習補正量）を読み出し、Step607 〜609 …定常状態か否かを判定する。但し、これは、定常状態を判定する一例である。
【００４８】
このStep607 〜609 の処理について図１６を参照して説明する。
なお、図中に示すＱo 、Ｑc 、ｔo は適合値であり、例えばＱo ＝３mm3/st、Ｑc ＝３mm3/st、ｔo ＝３[s] 等とすると良い。また、Step608 の（６０／Ｎe ）×（２／気筒数）は噴射サイクル毎の時間間隔であり、Step610 のＫI は積分定数（例えば０．０５等）である。
【００４９】
Step607 …判定開始時の噴射量Ｑc-start から噴射量Ｑc が所定範囲内（Ｑc-start −Ｑo 〜Ｑc-start ＋Ｑo ）にあるか否かを判定する。
Step608 …カウンタｔc を噴射サイクル毎の時間間隔分増大させる。
Step609 …ｔc が所定時間ｔo 以上となったとき定常状態と判定する。
なお、Step607 の判定結果がNOの時は、Step612 …噴射量Ｑc を判定開始時の噴射量Ｑc-start に置き換えた後、Step613 …カウンタｔc をリセット（０に戻す）してスタートへ戻る。
【００５０】
次に、図４（Ｂ）に示すメインルーチンの内容を説明する。
Step1100…現在のエンジン１の運転状態に対応した基本ＥＧＲＶ操作量（ＥＧＲバルブの基本制御電流）を計算する。
Step1200…基本ＥＧＲＶ操作量に対する排気Ｏ2 F/B 補正量（以下F/B 補正量と呼ぶ）を計算する。
Step1300…基本ＥＧＲＶ操作量にF/B 補正量を加えて最終ＥＧＲＶ操作量を計算する。
【００５１】
続いて、図４（Ｂ）のメインルーチンで行う各Stepの内容について詳述する。
ａ）図１７はStep1100の処理手順を示すサブルーチンである。
ここでは、Step1101〜1102…Ｎe とＱr を読み込んだ後、Step1103…図１７(b) に示すマップより基本ＥＧＲＶ操作量を算出する。例えば、図中でＮe ＝Ｎ2 、Ｑr ＝Ｑ2 の時、マップ検索によりαが算出される。ここで、マップ中に埋められている基本ＥＧＲＶ操作量は、制御システムの初期中心品にて、エミッション、燃費、ドライバビリティ等がエンジン１の運転域毎に理想値となる様に、予め実験にてＥＧＲ率を設定して求めた値である。
その後、Step1104…Step1103で求めたαを基本ＥＧＲＶ操作量IEBSE としてメモリに格納する。
【００５２】
ｂ）図１８はStep1200の処理手順を示すサブルーチンである。
ここでは、Step1201〜1202…目標排気Ｏ2 濃度Ｃex-trgと学習後の予測排気Ｏ2 濃度Ｃex-sとを読み込んだ後、Step1203…F/B 量IEO2FBを計算する。この計算には、一般的な比例積分制御（ＰＩ制御）や状態量F/B 制御等が考えられる。
ｃ）図１９はStep1300の処理手順を示すサブルーチンである。
ここでは、Step1301〜1302…F/B 量IEO2FBと基本ＥＧＲＶ操作量IEBSE を読み込んだ後、Step1303…両者を加算して最終ＥＧＲＶ操作量IEFIN を求める。
【００５３】
（第１実施例の効果）
上述した本システムでは、吸入空気量ＭAFM 、吸気圧Ｐm 、及び指令噴射量Ｑr に基づいて、シリンダ内の燃焼毎の排気Ｏ2 濃度を算出している。この方法によれば、排気通路４に取り付けられたＯ2 センサ１２で排気Ｏ2 濃度を検出する場合と比較して、排気ガスがＯ2 センサ１２に到達するまでに発生する時間遅れや、Ｏ2 センサ１２自体の化学的反応遅れが無いため、精度良く排気Ｏ2 濃度を予測できる。
従って、予測された排気Ｏ2 濃度に応じてＥＧＲ制御もしくは噴射量制御を行うことにより、Ｏ2 センサ１２で検出される排気Ｏ2 濃度に基づいて噴射量制御もしくはＥＧＲ制御を行う場合より、応答性に優れ、且つ制御精度、特に過渡時の制御精度が大幅に向上する。
【００５４】
（第２実施例）
図２０はＥＣＵ１３による制御内容をブロック図に表したもので、第１実施例（図２）と比較して、噴射量修正計算ブロックの入力に、目標排気Ｏ2 濃度ではなく、限界排気Ｏ2 濃度が用いられる点で異なる。この限界排気Ｏ2 濃度は、加速時等に排気Ｏ2 濃度が低くなると、スモークが増大することから、その限界値を示す濃度である。この限界排気Ｏ2 濃度よりリッチ側（即ち、排気Ｏ2 濃度が低い側）にならない様に、噴射量を制御すれば、スモークを低減できる。
【００５５】
図２１（Ａ）、（Ｂ）はＥＣＵ１３の制御手順を示すフローチャートであり、第１実施例（図４）と比較して、Step400AとStep500Aが異なっている。
Step400A…限界排気Ｏ2 濃度は、図２２に示す様に、回転数Ｎe と許容スモークをパラメータとするマップから求められる。即ち、スモークは、回転数の関数であるので、限界排気Ｏ2 濃度を回転数の関数とすれば、精度が向上し、所望のスモーク濃度限界のぎりぎりまで噴射量を噴くことができる。
図２３はマップの一例である。このマップは、エンジン形状によって異なるが、それほど大きく変化するものではないので、適合が容易である。
【００５６】
Step500A…この処理手順（サブルーチン）を図２４のフローチャートに示す。
ここでは、第１実施例（図１３）と比較して、Step502A、503A、509Aが変更点である。つまり、Step502A…Step400Aで求めた限界排気Ｏ2 濃度Ｃex-guardを読み込み、Step503A…その限界排気Ｏ2 濃度Ｃex-guardと学習後の予測排気Ｏ2 濃度Ｃex-sとの偏差ΔＣexを算出する。
その後、ΔＣexが０より大きい場合は、Step509A…限界排気Ｏ2 濃度Ｃex-guardを噴射量修正後の排気Ｏ2 濃度Ｃex-cとしてメモリに格納する。
なお、ΔＣex≦０の場合は、α（係数）＝０とする。これで、限界排気Ｏ2 濃度よりもリッチ側の時のみ噴射量が修正される。
【００５７】
この第２実施例の動作例を図２５に示す。
図中の上から順に、アクセル開度(1) 、指令噴射量(2) 、エアフロメータ流量(3) 、吸気圧(4) 、学習後の予測排気Ｏ2 濃度(5) 、修正後の噴射量(6) 、及び過渡スモーク(7) を示している。
この動作例では、加速時等にアクセル開度が増加した場合に、(5) 学習後の予測排気Ｏ2 濃度が限界排気Ｏ2 濃度よりリッチ側（排気Ｏ2 濃度が低い側）になると、(6) 噴射量が修正され、修正前の噴射量より減量される。その結果、(7) 噴射量を修正しない場合と比較して、過渡時のスモークを低減できる。
【００５８】
（第３実施例）
本実施例は、シリンダから排出された排気ガスの排気Ｏ2 濃度がＯ2 センサ１２で検出されるまでの時間的な遅れを補正するフィルタリング手段を有する一例である。
図２６はＥＣＵ１３の制御内容をブロック図に表したものであり、第１実施例に対して制御ブロック2000及び2100を追加すると共に、第１実施例の制御ブロック600 に示す学習量計算の内容を変更して制御ブロック2200に置き換えている。
なお、制御ブロック200 〜500 及び1100〜1300は第１実施例と同じであるので、説明を省略する。
【００５９】
先ず、制御ブロック2000（フィルタリング）の処理内容を図２７(a) に示すフローチャートに基づいて説明する。
Step2001…上述のStep500 で算出した噴射量修正後の排気Ｏ2 濃度Ｃex-cを読み込む。
Step2002…Ｑc 及びＮe を読み込む。
Step2003…Ｑc とＮe のマップから時定数ＴA 及び無駄時間ＴB を求める。
なお、フィルタリングの要素である時定数ＴA と無駄時間ＴB は、エンジン１の運転条件毎に予め適合しておく。ここでは、シリンダからＯ2 センサ１２までの限られた範囲での適合なので、時定数ＴA と無駄時間ＴB によるフィルタリングだけでも精度良く適合できる。
【００６０】
Step2004…Step2003で求めた時定数ＴA と無駄時間ＴB を用いて、シリンダから排出された排気ガスの排気Ｏ2 濃度がＯ2 センサ１２で検出されるまでの時間的な遅れをフィルタリングする。ここでは、無駄時間と一次遅れとでフィルタリングする例を示している。
なお、Step2004のｆA は、時定数ＴA 及び無駄時間ＴB によりフィルタリングする関数であり、例えば図２７(b) に示す機能を有する。
【００６１】
次に、制御ブロック2100（学習禁止判定）の処理内容を図２８に示すフローチャートに基づいて説明する。
Step2101…噴射量修正後の排気Ｏ2 濃度Ｃex-cを読み込む。
Step2102…読み込んだ排気Ｏ2 濃度Ｃex-cを微分する。微分のやり方は、例えば、所定時間内の変化量をその時間で割るといった差分などで代用できる。但し、差分はノイズが生じ易いので、差分値をなまし処理して用いても良い。
【００６２】
Step2103…Step2102で求めた微分値の絶対値｜ΔＣex-c｜が所定値ΔＣex-maxより大きいか否かを判定する。なお、所定値は、必要とするフィルタリングの精度により決まる。例えば、５％/sなどの値である。
Step2104…｜ΔＣex-c｜が所定値より大きい場合（判定結果がYES ）は、フィルタリングの精度を保証できないので、学習禁止フラグをONとする。
Step2105…｜ΔＣex-c｜が所定値より小さい場合（判定結果がNO）は、学習禁止フラブをOFF とする。
【００６３】
次に、制御ブロック2200（学習量計算）の処理内容を図２９に示すフローチャートに基づいて説明する。
Step2201〜2204…上記Step2004でフィルタリングしたＣex-cc 、Ｏ2 センサ１２の出力値Ｃex-sensor 、Ｑc 及びＮe を順次読み込む。
Step2205…マップ（図１５参照）から学習領域を判定する。
Step2206…学習領域から学習値（学習補正量）CLEARNを読み出す。
【００６４】
Step2207…上記Step2104及び2105の処理結果に基づいて学習禁止フラグを判定する。
Step2208…学習禁止フラグがOFF の時（判定結果YES ）は、排気Ｏ2 濃度の実測値であるＣex-sensor と、フィルタリングした後のＣex-cc （センサ位置予測排気Ｏ2 濃度）とから積分学習を行う。
Step2209…Step2208で積分学習した値を学習値CLEARN(X) として更新する。
【００６５】
以上の様に、本実施例では、フィルタリングした後の予測排気Ｏ2 濃度とＯ2 センサの出力値との比較から学習値を算出しているので、過渡時においても精度良い学習制御を実現できる。
但し、フィルタリングで誤差が生じるのは、排気Ｏ2 濃度の信号が急激に変化する場合である。そこで、予測排気Ｏ2 濃度の変化率が所定以上の条件（Step2103の判定で｜ΔＣex-c｜が所定値より大きい場合）では、フィルタリングの精度を保証できないので、学習補正量の更新を禁止することにより、所定の範囲内にて過渡状態における学習を実現することが可能である。
【００６６】
（第４実施例）
本実施例は、シリンダから排出された排気ガスがＯ2 センサ１２に到達するまでの無駄時間及び時定数を、定常状態において噴射量を微小変化させたときのＯ2 センサ１２の出力値から検出する方法を示す一例であり、その処理手順を図３０(a) のフローチャートに示す。
Step3000…定常判定を行う。これは、例えば先の｜ΔＣex-c｜が所定時間ｔ0 の間、所定値Ａ以下であるかどうかで判定する（図３０(b) 参照）。他にも、所定時間内の噴射量の変化幅が所定値以内かつ回転数の変化幅が所定値以内といった方法でも良い。
【００６７】
Step3001…噴射量を微小量だけ増量する（図３０(c) 参照）。なお、増量が多いとトルクに影響が出るので、例えば１mm3/stとすると良い。
Step3002…噴射量を増量してから｜ΔＣex-c｜が所定値Ｂに達するまでの経過時間ｔ1 を検出する（図３０(d) 参照）。この時間ｔ1 は、噴射量の変化によるシリンダでの排気Ｏ2 濃度の変化がＯ2 センサ１２で検出されるまでの無駄時間である。
【００６８】
Step3003…噴射量を増量してから｜ΔＣex-c｜が所定値Ｃに達するまでの経過時間ｔ2 を検出する（図３０(e) 参照）。
Step3004…ｔ2 及び（ｔ2 −ｔ1 ）から予め適合した時定数マップと無駄時間マップの値を修正する。修正方法は略すが、例えば無駄時間マップの値とｔ1 との比を補正係数とする方法が考えられる。なお、（ｔ2 −ｔ1 ）は、Ｏ2 センサ１２での無駄時間を検出するものである。
【００６９】
フィルタリングの要素である無駄時間と時定数は、エンジン１の運転条件毎に予め適合しておくが、エンジン１やＯ2 センサ１２にバラツキがあるので、運転中に補正できることが望ましい。これに対し、本実施例の方法によれば、定常状態にて噴射量を微小変化させることにより排気Ｏ2 濃度を微小変化させて、Ｏ2 センサ１２がどれだけ遅れて反応を示すかが検出できるので、第３実施例に示したフィルタリングの精度を向上することができ、過渡時において精度良い学習が可能となる。
【００７０】
（第５実施例）
本実施例は、図３１に示す様に、排気通路４に触媒１８またはディーゼルパティキュレートフィルタ等が設けられ、その触媒１８の下流側にＯ2 センサ１２を設置した一例である。
触媒１８の下流側にＯ2 センサ１２を設置すると、触媒１８が圧損体となってセンサ近傍の圧力が上昇することから、Ｏ2 センサ１２の検出精度が低下するという問題がある。
これに対し、本実施例では、精度良く時々刻々の排気Ｏ2 濃度を予測し、シリンダからＯ2 センサ１２までの遅れを補正するフィルタリングを実施することにより、触媒１８の下流側にＯ2 センサ１２を配置しても、精度良く学習補正にＯ2 センサ１２の出力値を用いることができる。
【００７１】
（第６実施例）
本実施例は、触媒制御のためにポスト噴射が実施された場合の一例であり、その処理手順を図３２のフローチャートに示す。
なお、本実施例の処理は、上述の図２８に示すStep2101より以前（スタートとStep2101との間）に実施されるものである。
Step3101…ポスト噴射が実施された後、所定時間経過したか否かを判定する。
Step3102…所定時間経過している場合（判定結果YES ）は、学習禁止フラグをOFF にする。これは、ポスト噴射が終了しても、触媒内で残留した未燃の燃料が酸化を続ける場合があるので、学習禁止フラグの解除（OFF ）は、ポスト噴射が終了して所定時間以上たった後に行うと学習精度が向上する。
【００７２】
Step3103…所定時間経過していない場合（判定結果NO）は、学習禁止フラグをONにする。
なお、本実施例は、ポスト噴射の代わりに、燃料排気管添加を実施する場合にも適用できる。燃料排気管添加は、図３１に示す様に、排気通路４に設置された燃料添加弁１９より排気通路４内へ燃料が添加される。
【００７３】
この様に、ポスト噴射あるいは燃料排気管添加を実施すると、これらの燃料成分がＯ2 センサ１２の検出精度低下につながる虞がある。また、燃料添加により触媒１８内の化学反応が活発化することにより、触媒温度が上昇し、触媒１８内ですすの燃焼が行われると、Ｏ2 センサ１２近傍の排気Ｏ2 濃度がシリンダから排出された際の排気Ｏ2 濃度と異なってくる。このため、学習制御の精度を確保することが難しくなる。そこで、これらの触媒制御が行われた場合は、所定時間経過するまで学習値（学習補正量）の更新を禁止することにより、誤学習を防止できる。
【００７４】
（第７実施例）
本実施例は、学習値の絶対値に基づいてＯ2 センサ１２の異常を判定し、異常と判定された時は、学習補正を禁止する場合の一例であり、その処理手順を図３３のフローチャートに示す。
なお、本実施例の処理は、図１４に示すStep611 の後に続いて実施されるものである。
【００７５】
Step3201…Step611 で更新された学習値の絶対値が所定値ＣERROR-MAX より大きいか否かを判定する。
Step3202…学習値の絶対値が所定値より大きい場合（判定結果YES ）は、Ｏ2 センサ異常フラグをONとする。
Step3203…学習値CLEARN(X) をゼロにして、学習量が反映されないようにする。これは、図２６に示す制御ブロック300 の中で学習量を反映しないようにしても良い。
【００７６】
Ｏ2 センサ１２は、検出精度を確保するために、センサ素子を600 〜800 ℃といった高温に保つ必要がある。また、被水によりセンサ素子が割れるといった故障を発生する可能性もある。これらの場合、間違った値を学習してしまう問題が生じる。そこで、学習値の絶対値が所定値より大きい時は、Ｏ2 センサ１２の異常と判断して学習補正を禁止する。但し、予測排気Ｏ2 濃度は、モデル誤差を含んでいるものの、ある程度の精度は保証されている。従って、Ｏ2 センサ１２の異常により学習補正を禁止しても、モデル予測値にて制御を実現できるので、排気Ｏ2 濃度を用いたＥＧＲ制御や噴射量制御に大きな影響を与えることを防止できる。
【００７７】
上記の実施例は、本発明をディーゼルエンジン１に適用しているが、ＥＧＲ機能を有するガソリンエンジンにも適用できる。
【図面の簡単な説明】
【図１】ディーゼルエンジンの制御システムを示す全体構成図である。
【図２】ＥＣＵによる制御内容を示すブロック図である（第１実施例）。
【図３】本システムの制御内容を説明する上で使用する各種記号を記した空気系統の図面である。
【図４】ＥＣＵの制御手順を示すフローチャートである（第１実施例）。
【図５】排気Ｏ2 濃度を求めるための手順を示すフローチャートである。
【図６】シリンダ流入ガス量の計算手順を示すフローチャートである。
【図７】マニホールド流入新気量の計算手順を示すフローチャートである。
【図８】マニホールド流入ＥＧＲガス量の計算手順を示すフローチャートである。
【図９】シリンダ流入Ｏ2 量の計算手順を示すフローチャートである。
【図１０】排気Ｏ2 濃度の計算手順を示すフローチャートである。
【図１１】学習後予測排気Ｏ2 濃度を求めるための手順を示すフローチャートである。
【図１２】目標排気Ｏ2 濃度を求めるための手順を示すフローチャート(a) とマップ(b) である。
【図１３】噴射量を修正するための手順を示すフローチャートである。
【図１４】モデル誤差を学習計算するための手順を示すフローチャートである。
【図１５】学習領域を示すマップである。
【図１６】定常状態の説明図である。
【図１７】基本ＥＧＲＶ操作量の計算手順を示すフローチャート(a) とマップ(b) である。
【図１８】排気Ｏ2 F/B 補正量の計算手順を示すフローチャートである。
【図１９】最終ＥＧＲＶ操作量の計算手順を示すフローチャートである。
【図２０】ＥＣＵによる制御内容を示すブロック図である（第２実施例）。
【図２１】ＥＣＵの制御手順を示すフローチャートである（第２実施例）。
【図２２】限界排気Ｏ2 濃度の求め方を図式化した図面である。
【図２３】限界排気Ｏ2 濃度と回転数との相関を示すマップである。
【図２４】噴射量を修正するための手順を示すフローチャートである。
【図２５】第２実施例の動作例を示すタイムチャートである。
【図２６】ＥＣＵによる制御内容を示すブロック図である（第３実施例）。
【図２７】フィルタリングの処理手順を示すフローチャートである（第３実施例）。
【図２８】学習禁止判定の処理手順を示すフローチャートである（第３実施例）。
【図２９】学習量計算の処理手順を示すフローチャートである（第３実施例）。
【図３０】無駄時間と時定数を求めるための処理手順を示すフローチャート(a) と説明図(b) 〜(e) である（第４実施例）。
【図３１】ディーゼルエンジンの制御システムを示す全体構成図である（第５、６実施例）。
【図３２】ポスト噴射が実施された場合の処理手順を示すフローチャートである（第６実施例）。
【図３３】Ｏ2 センサが異常と判定された時に学習補正を禁止する場合の処理手順を示すフローチャートである（第７実施例）。
【符号の説明】
１    ディーゼルエンジン（内燃機関）
３    吸気通路
３Ａ  吸気管（吸気通路）
３Ｂ  マニホールド（吸気通路）
４    排気通路
５    ＥＧＲ通路（ＥＧＲ機能）
６    ＥＧＲバルブ（ＥＧＲ機能）
７    エアフロメータ（吸気量計測手段）
１０    吸気圧センサ
１２    Ｏ2 センサ
１３    ＥＣＵ（制御装置）
１８    触媒
【図１】
0004284906.tif 000002
【図２】
0004284906.tif 000003
【図３】
0004284906.tif 000004
【図４】
0004284906.tif 000005
【図５】
0004284906.tif 000006
【図６】
0004284906.tif 000007
【図７】
0004284906.tif 000008
【図８】
0004284906.tif 000009
【図９】
0004284906.tif 000010
【図１０】
0004284906.tif 000011
【図１１】
0004284906.tif 000012
【図１２】
0004284906.tif 000013
【図１３】
0004284906.tif 000014
【図１４】
0004284906.tif 000015
【図１５】
0004284906.tif 000016
【図１６】
0004284906.tif 000017
【図１７】
0004284906.tif 000018
【図１８】
0004284906.tif 000019
【図１９】
0004284906.tif 000020
【図２０】
0004284906.tif 000021
【図２１】
0004284906.tif 000022
【図２２】
0004284906.tif 000023
【図２３】
0004284906.tif 000024
【図２４】
0004284906.tif 000025
【図２５】
0004284906.tif 000026
【図２６】
0004284906.tif 000027
【図２７】
0004284906.tif 000028
【図２８】
0004284906.tif 000029
【図２９】
0004284906.tif 000030
【図３０】
0004284906.tif 000031
【図３１】
0004284906.tif 000032
【図３２】
0004284906.tif 000033
【図３３】
0004284906.tif 000034