(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気の状態量を検出する吸気系センサの検出値、燃料の要求噴射量および機関回転速度に基づき、新気量およびＥＧＲ量を推定するとともに排気酸素濃度を推定する推定手段と、
前記内燃機関の定常運転時に排気酸素濃度センサにより検出された排気酸素濃度検出値と、前記推定手段による排気酸素濃度推定値との誤差に基づき、前記排気酸素濃度推定値に対する補正値を学習する補正値学習手段と、
前記補正値により補正された排気酸素濃度推定値である補正後推定値を目標値に一致させるよう、ＥＧＲ量を調整するＥＧＲバルブの開度をフィードバック制御するＥＧＲバルブ制御手段と、
基準となる規範内燃機関を用いて計測したＥＧＲ量の規範値、または前記規範内燃機関を用いて計測した新気量の規範値が前記内燃機関の機関回転速度と機関負荷とで定まる運転領域毎に予め記憶された記憶手段と、
前記排気酸素濃度検出値と前記補正後推定値との誤差が所定範囲内であり、かつ、前記補正後推定値と前記目標値との誤差が所定範囲内となっている安定制御時に、その時の機関回転速度と機関負荷とに対応する前記ＥＧＲ量の規範値または前記新気量の規範値を前記記憶手段から取得する規範値取得手段と、
前記安定制御時に前記推定手段により推定された前記ＥＧＲ量または前記新気量と、前記規範値取得手段により取得された前記ＥＧＲ量の規範値または前記新気量の規範値との乖離量に基づき、燃焼状態を表した燃焼パラメータである消費酸素量補正係数をその時の機関回転速度と機関負荷とに関連付けて学習する消費酸素量補正係数学習手段と、
を備え、
前記推定手段は、前記消費酸素量補正係数学習手段により学習された前記消費酸素量補正係数の中から現時点での機関回転速度と機関負荷とに対応する消費酸素量補正係数を取得し、その取得した消費酸素量補正係数を用いて排気酸素濃度を推定することを特徴とする内燃機関の制御装置。
【請求項２】
前記消費酸素量補正係数学習手段により学習された前記消費酸素量補正係数に基づき、前記消費酸素量補正係数が１より小さいほど、前記内燃機関の燃焼室へ燃料を噴射する時期を進角させること、燃料の供給圧力を上昇させること、パイロット噴射量を増量させることの少なくとも１つを実施することを特徴とする請求項１に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気酸素濃度の推定値を目標値に一致させるようにＥＧＲバルブの開度をフィードバック制御する手段を備えた、内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来より、排気の一部をＥＧＲガスとして循環させるＥＧＲ配管に設けられ、ＥＧＲガスの流量（ＥＧＲ量）を調整するＥＧＲバルブを備えた内燃機関が知られている。そして、目標のＥＧＲ量になるようにＥＧＲ量をフィードバック制御する際の制御指標として、排気酸素濃度を用いる場合がある。
【０００３】
但し、排気管に搭載されたＡ／Ｆセンサ（排気酸素濃度センサ）で排気酸素濃度を直接検出して前記制御に利用する場合には、排ガスが排気管を流通してＡ／Ｆセンサへ到達するのに要する時間と、Ａ／Ｆセンサが酸素濃度を検出してから信号を出力するまでの反応時間を合わせた遅れ時間がある。そのため、Ａ／Ｆセンサの検出値を上記ＥＧＲバルブのフィードバック制御に直接用いることは困難である。
【０００４】
そこで、特許文献１記載の従来装置では、吸気の状態量を検出する吸気系センサ（例えばエアフローメータ、吸気圧センサ、吸気温センサ）の検出値や燃料の要求噴射量および機関回転速度をモデル演算式に代入して、排気酸素濃度を推定している。これによれば、応答遅れが排除された現時点（燃焼室から排出された時点）での排気酸素濃度を推定することができ、その推定値を前記フィードバック制御の制御指標に用いている。
【０００５】
また、内燃機関を定常運転させている時は、エンジンから排出される排気酸素濃度は一定であるため、Ａ／Ｆセンサ検出値は前記遅れ時間が排除された現時点での排気酸素濃度と見なすことができるので、定常運転時のＡ／Ｆセンサ検出値と推定値との誤差量を学習（定常時学習）し、その学習値に基づき排気酸素濃度推定値を補正している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４２８４９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１記載のモデル演算式には、以下に説明する空気系パラメータおよび燃焼系パラメータが用いられている。すなわち、空気系パラメータは、ＥＧＲガスおよび吸気の流通経路長や各種配管の断面積、シリンダ容積等に関するパラメータであり、主に内燃機関の構造により特定されるものである。一方、燃焼系パラメータは、燃料の燃焼度合い（例えば、所定量の燃料が燃焼する際に消費する酸素量）に関するパラメータであり、想定される使用燃料が想定される燃焼（例えば完全燃焼）をしていると仮定して設定されるものである。
【０００８】
したがって、前記定常時学習で検出された誤差量には、空気系パラメータの真値に対する誤差（構造誤差）と、燃焼系パラメータの真値に対する誤差（燃焼誤差）の両方が含まれていると言える。よって、先述した定常時学習の学習値（誤差量）は、構造誤差および燃焼誤差の両方を補償するものといえる。
【０００９】
そして、構造誤差は、内燃機関の機差ばらつきにより生じる。これに対し、燃焼誤差は、今まで使用していた燃料と異なる性状の燃料（例えばバイオ燃料）を使用した場合に、燃焼時に消費される酸素量が変化することに起因して生じる。
【００１０】
従来技術では、燃料性状が変化し、想定している燃焼状態が達成できていない場合、補正後の排気酸素濃度推定値とＡ／Ｆセンサの出力値にずれが生じる。そのため、排気酸素濃度を推定するモデルは定常時学習により、補正後の排気酸素濃度推定値とＡ／Ｆセンサの出力値が一致するように学習を行う。その結果、補正後の排気酸素濃度推定値と目標排気酸素濃度との乖離が生じるため、ＥＧＲバルブをフィードバック制御させ、補正後排気酸素濃度と目標排気酸素濃度を一致させる。
【００１１】
しかし、ＥＧＲバルブを作動させた結果、ＥＧＲ量が変化するため、本来所望している量に対してＥＧＲ量に過不足が生じる可能性があった。つまり、現在の燃焼状態が想定する燃焼状態から変化した時、制御指標である排気酸素濃度を目標排気酸素濃度に一致させることで、ＥＧＲ量に過不足が生じ、エミッション性能が悪化する可能性があるという課題がある。
【００１２】
本発明は、上記課題を解決するためになされたものであり、その目的は、排気酸素濃度の推定精度向上を図った内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
以下、上記課題を解決するための手段、及びその作用効果について記載する。
【００１４】
第１の発明では、内燃機関の吸気の状態量を検出する吸気系センサの検出値、燃料の要求噴射量および機関回転速度に基づき、新気量およびＥＧＲ量を推定するとともに排気酸素濃度を推定する推定手段と、前記内燃機関の定常運転時に排気酸素濃度センサにより検出された排気酸素濃度検出値と、前記推定手段による排気酸素濃度推定値との誤差に基づき、前記排気酸素濃度推定値に対する補正値を学習する補正値学習手段と、前記補正値により補正された排気酸素濃度推定値である補正後推定値を目標値に一致させるよう、ＥＧＲ量を調整するＥＧＲバルブの開度をフィードバック制御するＥＧＲバルブ制御手段と、を備えることを前提とする。
【００１５】
そして、前記ＥＧＲ量の規範値または前記新気量の規範値が前記内燃機関の運転領域毎に予め記憶された記憶手段と、前記排気酸素濃度検出値と前記補正後推定値との誤差が所定範囲内であり、かつ、前記補正後推定値と前記目標値との誤差が所定範囲内となっている安定制御時に、その時の運転領域に対応する前記規範値を前記記憶手段から取得する規範値取得手段と、前記安定制御時に前記推定手段により推定された前記ＥＧＲ量または前記新気量と、前記規範値取得手段により取得された前記規範値との乖離量に基づき、燃焼状態を表した燃焼パラメータをその時の運転領域と関連付けて学習する燃焼パラメータ学習手段と、を備え、前記推定手段は、前記燃焼パラメータ学習手段により学習された前記燃焼パラメータの中から現時点での運転領域に対応する燃焼パラメータを取得し、その取得した燃焼パラメータを用いて排気酸素濃度を推定することを特徴とする。
【００１６】
ここで、排気酸素濃度の補正後推定値≒目標値、かつ、排気酸素濃度センサによる検出値≒補正後推定値となっている安定制御時には、先述した構造誤差が排気酸素濃度の推定に及ぼす影響は殆ど無く、推定値は燃焼誤差により大きく影響を受ける状態になる、との知見を本発明者は見出した。したがって、このような安定制御時に、ＥＧＲ量または新気量と規範値とが乖離していれば、その乖離の原因は燃焼誤差（燃焼パラメータの誤差）であると言える。
【００１７】
この点を鑑みた上記発明では、上記安定制御時における前記乖離量に基づき燃焼パラメータを学習し、その学習値を用いて排気酸素濃度を推定するので、燃焼誤差を補償できる。よって、排気酸素濃度の推定精度を向上できる。なお、燃焼誤差が補償された推定値に対して検出値との誤差（補正値）が補正値学習手段により学習されるので、この学習により構造誤差は補償されることになる。
【００１８】
なお、上記発明では、ＥＧＲ量の規範値または新気量の規範値は、内燃機関の運転領域に応じて異なる値になることを考慮している。すなわち、運転領域毎に規範値を記憶させておき、運転領域に応じた規範値を用いて燃焼パラメータを学習する。そして、現時点での運転領域に対応する学習値（燃焼パラメータ）を用いて排気酸素濃度を推定するので、その推定精度を向上できる。
【００１９】
第２の発明では、前記内燃機関の燃焼室へ燃料を噴射する時期、燃料の供給圧力、およびパイロット噴射量の少なくとも１つを、前記燃焼パラメータ学習手段により学習された前記燃焼パラメータに基づき補正することを特徴とする。
【００２０】
ここで、燃焼パラメータ学習手段により学習された燃焼パラメータは、運転領域に応じた燃焼状態を表した値であるので、この燃焼パラメータに基づき内燃機関を制御すれば、燃焼状態を所望の状態にすることを高精度で実現できる。
【００２１】
この点を鑑みた上記発明では、燃料の噴射時期、供給圧力およびパイロット噴射量の少なくとも１つを、運転領域に応じた燃焼状態を表した燃焼パラメータの学習値に基づき補正するので、例えば、燃焼状態が悪い運転領域の場合には、燃料噴射時期を進角させて、所望の着火タイミングで燃料が着火するようにし、燃焼状態の悪化を是正できる。或いは、燃料の供給圧力を上昇させて噴射燃料の微粒化を促進させ、燃焼状態の悪化を是正できる。或いは、パイロット噴射量を増量させて、燃料の着火タイミングを是正することで、燃焼状態の悪化を是正できる。よって、燃焼状態を所望の状態にすることを高精度で実現できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の第１実施形態において、エンジンの吸排気系システムの構成を示す図。
【図２】図１のＥＧＲバルブをフィードバック制御する手法を説明するブロック図。
【図３】図２のモデル演算手段の詳細を示す制御ブロック図。
【図４】図１に示すＥＣＵのマイコンが実施する、ＥＧＲバルブのフィードバック制御の処理手順を示すフローチャート。
【図５】図１に示すＥＣＵのマイコンが実施する、消費酸素量補正係数Ｋ１ｆの学習手順を示すフローチャート。
【図６】第１実施形態において、燃料のメイン噴射時期を算出する処理手順を示すフローチャート。
【発明を実施するための形態】
【００２３】
以下、本発明にかかる内燃機関の制御装置を具体化した各実施形態について、図面を参照しつつ説明する。なお、本実施形態では、自着火性の燃料（軽油）を燃焼室へ直接噴射して圧縮自着火燃焼させるエンジン（内燃機関）を想定している。
【００２４】
（第１実施形態）
図１は、エンジンの吸排気系システムの構成図である。当該エンジンは、排気管１０から分岐して吸気管１１に接続されるＥＧＲ配管１２を備えている。このＥＧＲ配管１２を通じて排気の一部（ＥＧＲガス）を吸気管１１に戻して還流させることで、燃焼温度を下げてＮＯｘ低減等を図っている。
【００２５】
ＥＧＲ配管１２には、ＥＧＲ配管１２の流通路を開閉するＥＧＲバルブ１３が備えられており、ＥＧＲバルブ１３によるＥＧＲ配管１２の流路面積を調整することで、ＥＧＲガスの流量（ＥＧＲ量）が調整される。なお、ＥＧＲバルブ１３の作動は電子制御装置（ＥＣＵ３０）により制御され、ＥＧＲバルブ１３の全開作動時にＥＧＲ量は最大となり、全閉作動時にＥＧＲ量はゼロとなる。
【００２６】
燃焼室１５に流入する吸気は、スロットルバルブ１６により流量調整された新気と、ＥＧＲ配管１２により還流するＥＧＲガスとが混合したものであり、新気については、吸気管１１に備えられたインタークーラ（図示せず）により冷却され、ＥＧＲガスについては、ＥＧＲ配管１２に備えられたＥＧＲクーラ（図示せず）により冷却される。これらのクーラにより、新気およびＥＧＲガスを冷却して体積減少（密度上昇）を図ることで、燃焼室１５に流入する吸気の充填効率向上を図っている。
【００２７】
排気管１０と吸気管１１には、排気の流速エネルギにより回転駆動して新気を圧縮する過給機１９が備えられている。これにより、燃焼室１５に流入する新気は過給されて充填効率が向上する。なお、過給圧を調整する機構を有した過給機１９を採用する場合、その調整機構の作動は、エンジンの運転状態に応じてＥＣＵ３０が制御する。
【００２８】
排気管１０には、排気を浄化する浄化装置２０が取り付けられている。浄化装置２０の具体例としては、排気中のＰＭを捕集するためのＤＰＦ（ディーゼルパティキュレートフィルタ）、排気中のＮＯｘを浄化するＮＯｘ触媒や排気中のＨＣやＣＯを浄化する酸化触媒等が挙げられる。
【００２９】
排気管１０のうち浄化装置２０の下流側には、排気中の酸素濃度を検出するＡ／Ｆセンサ２１（排気酸素濃度センサ）が取り付けられている。また、吸気管１１には、吸気圧ＰＭ（過給機１９により圧縮されたガスの圧力）を検出する吸気圧センサ２２と、吸気温度ＴＭを検出する吸気温センサ２３と、単位時間あたりに流入する吸入空気の質量流量（以下、単に吸入空気量又は吸気量と呼ぶ）を検出するエアフローメータ２４（吸気量センサ）が取り付けられている。
【００３０】
これらのセンサ２２〜２４（吸気系センサ）およびＡ／Ｆセンサ２１（排気系センサ）から出力される検出信号（検出値）は、ＥＣＵ３０に入力される。また、ＥＣＵ３０は、クランク軸の回転角を検出するクランク角センサ（図示せず）の検出信号に基づき、クランク軸の回転速度（機関回転速度Ｎｅ）を算出するとともに、アクセル操作量センサ（図示せず）の検出信号に基づき要求エンジン出力（エンジン負荷）を算出する。
【００３１】
さらにＥＣＵ３０は、上述した各種検出値に基づきＥＧＲバルブ１３および燃料噴射弁１４の作動を制御する。つまり、エンジンの運転領域（例えば機関回転速度Ｎｅおよびエンジン負荷の値）がいずれの領域になっているかに応じて燃焼状態を制御する。
【００３２】
詳細には、燃料噴射弁１４の作動を制御するにあたり、高負荷高Ｎｅであるほど、燃料の要求噴射量Ｑｒを増大させて、燃料噴射弁１４の開弁時間を長くするようＥＣＵ３０は制御する。エンジン運転領域に応じて、多段噴射における噴射回数、各々の噴射量および噴射時期を制御する。
【００３３】
また、ＥＣＵ３０は、ＥＧＲバルブ１３の作動を制御するにあたり、エンジン運転領域（例えば機関回転速度Ｎｅおよび要求噴射量Ｑｒ）に応じて目標排気酸素濃度を設定する。そして、後述する推定手法により演算した排気酸素濃度の推定値が目標値（目標排気酸素濃度）と一致するよう、ＥＧＲバルブ１３の開度をフィードバック制御する。
【００３４】
ちなみに、ＥＧＲ量が過少の場合には十分なＮＯｘ低減効果が得られず、ＥＧＲ量が過大の場合には、気筒内の酸素が不足してパティキュレート（特にスモーク）が増加する。そのため、本ＥＧＲ制御は、スモークの発生量が急増する限界（スモークリミット）までＥＧＲ量を増やすことで、ＮＯｘの低減を狙っている。そこで、スモークの発生量と相関が強い排気酸素濃度を制御指標とし、スモークリミットの排気酸素濃度を上述の目標排気酸素濃度に設定している。また、浄化装置２０の状態に応じても目標排気酸素濃度は設定される。
【００３５】
さらにＥＣＵ３０は、エンジン運転領域に応じて、燃料噴射弁１４へ供給する燃料の圧力を制御する。この供給圧力は、各気筒の燃料噴射弁１４へ燃料を分配するコモンレール内の圧力であり、コモンレールへ燃料を圧送する燃料ポンプの吐出量を制御することで調整する。ちなみに、供給圧力を高くするほど、燃料噴射弁１４から噴射される燃料の微粒化が促進されて燃焼状態を向上できる。
【００３６】
次に、先述した排気酸素濃度の推定手法について説明する。
【００３７】
図２中のブロック図は、ＥＣＵ３０のマイクロコンピュータにより実施される各種処理を示すものであり、以下に説明するモデル演算手段３１（推定手段）、遅れ補償手段３３、モデル誤差学習手段３４（補正値学習手段）、補正手段３５、フィードバック制御手段３６（ＥＧＲバルブ制御手段）による処理をＥＣＵ３０は実施する。そして、これらの処理により、排気酸素濃度が目標排気酸素濃度にフィードバック制御され、ひいてはＥＧＲ量が目標量に制御される。
【００３８】
モデル演算手段３１は、燃焼室１５から排出された時点での排気酸素濃度を、物理モデルを用いて予測（推定）する。なお、前記物理モデルについては図３を用いて後に詳述する。ここで、モデル演算手段３１による推定値は、燃焼室１５から排出された時点での排ガスを対象とした酸素濃度である。この推定値の精度を向上させるため、Ａ／Ｆセンサ２１の検出値とのズレに基づいて補正が実施される。しかし、Ａ／Ｆセンサ２１の検出値は、Ａ／Ｆセンサ２１の取り付け位置に達した時点での排ガスを対象とした酸素濃度である。したがって、モデル演算手段３１による推定値とＡ／Ｆセンサ２１の検出値とでは遅れ時間によるずれが生じる筈である。
【００３９】
遅れ補償手段３３は、この遅れ時間によるずれ分を補償するよう、モデル演算手段３１による推定値を補正する。
【００４０】
そこで、モデル誤差学習手段３４は、エンジンが定常運転している時に、Ａ／Ｆセンサ２１による検出値と、モデル演算手段３１による推定値であって前記遅れ時間が補償された値との誤差を算出して学習する。この学習値は、モデル演算手段３１の推定値に対する補正値に相当する。
【００４１】
補正手段３５は、モデル誤差学習手段３４により学習された誤差（補正値ＣＬＥＡＲＮ）を、モデル演算手段３１による推定値に加算することで前記推定値を補正する。要するに、モデル演算手段３１の物理モデルで用いられている各種パラメータは、エンジンの機差ばらつきや各種経年変化等により、規範値に対するずれが生じており、このずれが原因で推定誤差が生じる。そこで、エンジンの定常運転時におけるＡ／Ｆセンサ２１の検出値を用いて推定誤差を補正している。
【００４２】
フィードバック制御手段３６は、このように補正された排気酸素濃度推定値と目標値との偏差に基づき、ＥＧＲバルブ１３に対する駆動信号を出力する。これにより、排気酸素濃度推定値が目標値に一致するようＥＧＲバルブ１３の開度がフィードバック制御され、ひいてはＥＧＲ量が目標量に制御される。
【００４３】
次に、モデル演算手段３１により用いられる先述の物理モデルについて、図３を用いて説明する。
【００４４】
吸気管モデル３１ａは、１回の吸気行程で燃焼室１５に吸入された吸気に含まれる、新気の質量ＭＤＴＨを演算する。具体的には、図３中の符号３１ａに示すモデル演算式に、ＭＡＦＭ、ＰＩＮ、ＴＩＮを代入してＭＤＴＨを演算する。ＭＡＦＭは、エアフローメータ２４による検出値を吸気行程期間で積分した値である。ＰＩＮおよびＴＩＮは、エアフローメータ２４からスロットルバルブ１６までの吸気管１１内の圧力および温度であり、ここでは吸気圧センサ２２により検出される吸気圧ＰＭをＰＩＮとして代用し、吸気温センサ２３により検出される吸気温度ＴＭをＴＩＮとして代用する。なお、式中のＶＩＮは吸気管１１の容積、Ｒは気体定数であり、これらの値は定数として予め設定しておく。
【００４５】
なお、吸気管モデル３１ａでは、エアフローメータ２４で検出された新気量に対し、実際に燃焼室１５へ流入する新気量はスロットルバルブ１６で絞られることにより減少することを加味している。つまり、ＰＩＮの微分値（変化量ΔＰＩＮ）に基づき、気体の状態方程式にしたがって前記減少の量を算出し、その減少量をＭＡＦＭから減算してＭＤＴＨを演算する。
【００４６】
シリンダモデル３１ｂは、１回の吸気行程で燃焼室１５に吸入された吸気の質量ＭＣＬＤを、気体の状態方程式にしたがって演算する。具体的には、図３中の符号３１ｂに示すモデル演算式に、η、ＰＭ、ＴＭを代入してＭＣＬＤを演算する。ηは体積効率であり、エンジン回転速度Ｎｅおよび吸気圧ＰＭに基づき算出した値を用いる。ＶＣＬＤは、シリンダ２５の容積である。
【００４７】
ＥＧＲ算出モデル３１ｃは、１回の吸気行程で燃焼室１５に吸入された吸気に含まれる、ＥＧＲガスの質量ＭＥＧＲを演算する。具体的には、図３中の符号３１ｃに示すモデル演算式に、ＭＤＴＨ、ＭＣＬＤ、ＰＭ、ＴＭを代入してＭＥＧＲを演算する。ＭＤＴＨおよびＭＣＬＤの値には、吸気管モデル３１ａおよびシリンダモデル３１ｂの演算結果を用いる。ＶＭは、吸気管１１のうち、ＥＧＲ配管１２の接続部位から燃焼室１５の吸入口に至るまでの容積であり、吸気マニホールドの容積を代用している。また、ΔＰＭは、吸気圧ＰＭの微分値（変化量）である。
【００４８】
なお、ＥＧＲ算出モデル３１ｃでは、吸気マニホールド内で吸気圧が変化することによりＭＥＧＲが変化することを加味している。つまり、質量保存則に基づき気体の状態方程式にしたがって、その圧力変化量を算出し、その量をＭＣＬＤ−ＭＤＴＨに加算してＭＥＧＲを演算する。
【００４９】
吸気酸素濃度モデル３１ｄは、今回の吸入行程で吸入された吸気の酸素濃度ＣＭを演算する。具体的には、図３中の符号３１ｄに示すモデル演算式に、ＭＤＴＨ、ＭＥＧＲ、ＣＥＧＲを代入してＣＭを演算する。ＭＤＴＨおよびＭＥＧＲには、吸気管モデル３１ａおよびシリンダモデル３１ｂの演算結果を用いる。ＣＥＧＲは、ＥＧＲ配管１２の下流端部でのＥＧＲガスの濃度であり、ＥＧＲガス濃度モデル３１ｅにより算出される値が用いられる。ＣＡＩＲは空気の酸素濃度であり、この値は定数として予め設定しておく。
【００５０】
ＥＧＲガス濃度モデル３１ｅは、前回の燃焼時に演算された補正手段３５による補正後の排気酸素濃度ＣＥＸに基づき、ＥＧＲガスがＥＧＲ配管１２を流通するのに要する時間（遅れ時間を考慮した値ｎ１）を加味してＥＧＲガス濃度ＣＥＧＲを演算する。なお、図２中の符号３１ｅに示すモデル演算式で用いられる遅れ時間を考慮した値ｎ１は、ＥＧＲ配管１２の容積とＥＧＲ流量に基づいて計算される。
【００５１】
シリンダ内酸素濃度モデル３１ｆは、新気とＥＧＲガスが混合する部分での酸素濃度ＣＭに基づいて算出する。なお、ｎ２はガスの流入遅れを考慮した値で、定数あるいはエンジン回転数の関数でもよく、また、ＣＭをなまし処理して用いてもよい。
【００５２】
排気酸素濃度モデル３１ｇは、今回の吸入行程で吸入された吸気と燃料の混合気が燃焼した時に生じる排気酸素の濃度ＣＥＸ（排気酸素濃度推定値）を予測演算する。具体的には、図３中の符号３１ｇに示すモデル演算式に、ＭＣＬＤ、ＣＭＣＬＤ、ＭＱ、Ｋ１ｆを代入してＣＥＸを演算する。ＭＣＬＤおよびＣＭＣＬＤには、シリンダモデル３１ｂおよびシリンダ内酸素濃度モデル３１ｆの演算結果を用いる。
【００５３】
ＭＱは燃料噴射弁１４に対する指令噴射量であり、先述した要求噴射量Ｑｒに基づきＥＣＵ３０にて算出される。例えば、エンジン冷却水の温度に応じた補正値、気筒間の出力トルクのばらつきを是正する補正値を加味して、要求噴射量Ｑｒを補正して指令噴射量ＭＱを算出する。なお、符号３１ｇに示すモデル演算式では指令噴射量ＭＱを代入しているが、要求噴射量Ｑｒを代入して演算するようにしてもよい。
【００５４】
Ｋ１は、単位燃料量当りの消費酸素量であり、燃料が完全燃焼した場合を想定した値である。この値は、想定される使用燃料の物性値に基づき定数として予め設定しておく。Ｋ２は燃料の密度であり、この値も、想定される使用燃料の物性値に基づき定数として予め設定しておく。
【００５５】
Ｋ１ｆは、消費酸素量の補正係数であり、燃料の燃焼状態を表した燃焼パラメータに相当する。具体的には、完全燃焼した場合の値を１とする燃焼度合いを表したパラメータであり、１以下の正の実数に設定されている。要するに、符号３１ｇに示すモデル演算式中のＫ１・Ｋ１ｆ・ＭＱの項は、今回の燃焼行程における燃焼で消費された酸素量を示す。なお、この消費酸素量補正係数Ｋ１ｆは、後に詳述するように、エンジンの運転中に学習される。
【００５６】
以上により、モデル演算手段３１は、エアフローメータ２４の検出値（新気量ＭＡＦＭ）、吸気温センサ２３の検出値（吸気温ＴＭ）、吸気圧センサ２２の検出値（吸気圧ＰＭ）および指令噴射量ＭＱを取得し、これらの取得値を各種モデル演算式に代入して、排気酸素濃度ＣＥＸを予測演算する。なお、予測演算した排気酸素濃度ＣＥＸは、先述した補正手段３５により補正され、フィードバック制御手段３６によるＥＧＲバルブ１３のフィードバック制御に用いられる。
【００５７】
図４は、ＥＣＵ３０が有するマイクロコンピュータによる上記フィードバック制御の処理手順を示すフローチャートであり、所定周期（例えばマイコンの演算周期又は１燃焼サイクル毎）で繰り返し実行される。なお、図中の処理で用いる各種マップＭＡ，ＭＢ，ＭＣ，ＭＤは、ＥＣＵ３０（記憶手段）のマイコンが有するメモリに記憶されている。なお、学習値の更新に用いられるマップＭＡ，ＭＢ，ＭＣは書き換え可能な不揮発性メモリに記憶され、後述する規範値ＭＥＧＲｎｏｒｍを記憶する規範マップＭＤは書き換え不能な不揮発性メモリに記憶されている。
【００５８】
先ず、図４に示すステップＳ１０において、排気酸素濃度ＣＥＸの予測値を、先述した各種モデル演算式３１ａ〜３１ｇにしたがってモデル演算手段３１により演算する。以下、モデル演算手段３１による演算値（排気酸素濃度ＣＥＸ）をＣＥＸ＿ｍｄｌと記載する。
【００５９】
ここで、排気酸素濃度モデル３１ｇで用いられる消費酸素量補正係数Ｋ１ｆは、マップＭＡから取得される。このマップＭＡは、エンジンの運転領域毎に学習値Ｋ１ｆＬＥＡＲＮを記憶している。マップＭＡの運転領域は、エンジン回転速度Ｎｅおよびエンジン負荷（要求噴射量Ｑｒ）に基づいて複数の領域に分割した領域である。つまり、現時点での運転領域に対応する消費酸素量補正係数Ｋ１ｆをマップＭＡから取得する。
【００６０】
なお、このようにマップＭＡに学習値Ｋ１ｆＬＥＡＲＮを直接記憶させることに換え、次のようにＫ１ｆを算出してもよい。すなわち、エンジン運転領域に対応する番号が記憶されたマップを予め作成しておく。そして、そのマップを参照して運転領域に応じた番号を取得する。その後、取得した番号に対応する消費酸素量補正係数Ｋ１ｆを算出する（メモリから読み出す）。
【００６１】
続くステップＳ１１では、ステップＳ１０で予測演算した排気酸素濃度ＣＥＸ＿ｍｄｌを、モデル誤差学習手段３４の学習値（補正値ＣＬＥＡＲＮ）を用いて補正手段３５により補正する。以下、補正手段３５による補正後の排気酸素濃度ＣＥＸを補正後推定値ＣＥＸ＿ｓと記載する。図４の例では、ＣＥＸ＿ｍｄｌにＣＬＥＡＲＮを加算してＣＥＸ＿ｓを算出する（ＣＥＸ＿ｓ＝ＣＥＸ＿ｍｄｌ＋ＣＬＥＡＲＮ）。
【００６２】
続くステップＳ１２では、現時点での運転領域に基づき目標排気酸素濃度ＣＥＸ＿ｔｒｇ（目標値）を算出する。例えば、運転領域（エンジン回転速度Ｎｅおよびエンジン負荷）毎に目標排気酸素濃度ＣＥＸ＿ｔｒｇの適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、目標排気酸素濃度ＣＥＸ＿ｔｒｇとして採用する。
【００６３】
続くステップＳ１３では、エンジンが定常運転の状態であることを条件として、先述したモデル誤差学習手段３４によりＣＬＥＡＲＮを演算する。エンジンが定常運転であるか否かの判定については、例えば要求噴射量Ｑｒが所定範囲内である状態が所定時間以上継続した場合に、定常運転であると判定すればよい。
【００６４】
演算した補正値ＣＬＥＡＲＮは、現時点での運転領域と関連付けてマップＭＢに記憶させる。このマップＭＢは、エンジンの運転領域毎に補正値ＣＬＥＡＲＮを記憶している。マップＭＢの運転領域は、エンジン回転速度Ｎｅおよびエンジン負荷（要求噴射量Ｑｒ）に基づいて複数の領域に分割した領域である。
【００６５】
続くステップＳ１４（燃焼パラメータ学習手段）では、ステップＳ１０における排気酸素濃度モデル３１ｇの演算式で用いる消費酸素量補正係数Ｋ１ｆを、エンジンが安定制御状態であることを条件として学習する。この学習手順については図５を用いて後述する。続くステップＳ１５〜Ｓ１７（ＥＧＲバルブ制御手段）では、排気酸素濃度の補正後推定値ＣＥＸ＿ｓを目標値に一致させるよう、ＥＧＲバルブ１３の開度をフィードバック制御する。
【００６６】
詳細には、先ずステップＳ１５において、現時点での運転領域に基づきＥＧＲバルブ１３の基本操作量ＩＥＢＳＥを算出する。例えば、運転領域（エンジン回転速度Ｎｅおよびエンジン負荷）毎にＥＧＲバルブ開度の適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、ＥＧＲバルブ１３の基本操作量ＩＥＢＳＥとして採用する。
【００６７】
続くステップＳ１６では、ステップＳ１１で算出された補正後推定値ＣＥＸ＿ｓが目標値と一致するよう、補正後推定値ＣＥＸ＿ｓと目標値との偏差に基づきフィードバック補正値ＩＥＯ２ＦＢを算出する。なお、前記目標値は、現時点での運転領域に基づき算出すればよい。例えば、運転領域（エンジン回転速度Ｎｅおよびエンジン負荷）毎に目標排気酸素濃度の適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、目標排気酸素濃度として採用する。
【００６８】
続くステップＳ１７では、ステップＳ１５で算出した基本操作量ＩＥＢＳＥおよびステップＳ１６で算出したフィードバック補正値ＩＥＯ２ＦＢに基づき、ＥＧＲバルブ１３の操作量ＩＥＦＩＮを算出し、その操作量ＩＥＦＩＮに相当する駆動信号をＥＧＲバルブ１３に出力する。例えば、基本操作量ＩＥＢＳＥにフィードバック補正値ＩＥＯ２ＦＢを加算して操作量ＩＥＦＩＮを算出すればよい（ＩＥＦＩＮ＝ＩＥＢＳＥ＋ＩＥＯ２ＦＢ）。
【００６９】
図５は、図４のステップＳ１４にて実行される消費酸素量補正係数Ｋ１ｆの学習手順を示すフローチャートである。
【００７０】
先ず、図５のステップＳ２０において、現時点でのエンジン運転状態（エンジン回転速度Ｎｅ、要求噴射量Ｑｒ）が、先述したマップＭＡの領域のいずれに該当するかを判定する。続くステップＳ２１では、ステップＳ２０で判定した運転領域に対応する消費酸素量補正係数Ｋ１ｆを、先述のマップＭＡから取得し、制御用ＲＡＭに格納する。
【００７１】
続くステップＳ２２では、図４のステップＳ１２で算出した目標排気酸素濃度ＣＥＸ＿ｔｒｇと、ステップＳ１１で算出した補正後推定値ＣＥＸ＿ｓとの誤差が、所定範囲内となっているか否かを判定する。例えば、ＣＥＸ＿ｔｒｇ−ＣＥＸ＿ｓの絶対値が所定値ＣＥＸ＿ｄｅｌ以下であれば所定範囲内であると判定する。
【００７２】
続くステップＳ２３では、Ａ／Ｆセンサ２１により検出された排気酸素濃度の検出値ＣＥＸ＿ｓｅｎｓｏｒと、ステップＳ１１で算出した補正後推定値ＣＥＸ＿ｓとの誤差が、所定範囲内となっているか否かを判定する。例えば、ＣＥＸ＿ｓｅｎｓｏｒ−ＣＥＸ＿ｓの絶対値が所定値ＣＥＸ＿ｄｅｌ以下であれば所定範囲内であると判定する。図５の例では、ステップＳ２２の判定に用いる所定値ＣＥＸ＿ｄｅｌと、ステップＳ２３の判定に用いる所定値ＣＥＸ＿ｄｅｌに同一の値を用いているが、別々の値を用いてもよい。いずれにしても、所定値ＣＥＸ＿ｄｅｌは定数として予め設定しておく。
【００７３】
いずれの誤差も所定範囲内であると判定されれば（Ｓ２２：ＹＥＳかつＳ２３：ＹＥＳ）、安定制御時であるとみなしてステップＳ２４（規範値取得手段）に進み、ＥＧＲ算出モデル３１ｃで算出したＥＧＲ量ＭＥＧＲを取得するとともに、現時点での運転領域に対応するＥＧＲ量の規範値ＭＥＧＲ＿ｎｏｒｍを取得する。例えば、運転領域（エンジン回転速度Ｎｅおよびエンジン負荷）毎にＥＧＲ量の規範値ＭＥＧＲ＿ｎｏｒｍを予め設定して規範マップＭＤに記憶させておく。そして、規範マップＭＤに記憶された規範値の中から現時点での運転領域に応じた規範値を取得する。
【００７４】
規範マップＭＤに記憶させる規範値は、基準となる規範エンジンを用いて計測したＥＧＲ量を採用する。すなわち、規範エンジンが安定制御の状態になった時のＥＧＲ量を計測する試験を、エンジンの運転領域毎に実施する。そして、その運転領域毎の計測結果を、規範値ＭＥＧＲ＿ｎｏｒｍとして規範マップＭＤに記憶させておく。なお、規範マップＭＤでの運転領域の分割数とその分割領域は、消費酸素量補正係数Ｋ１ｆの学習マップＭＡでの運転領域と一致させている。
【００７５】
続くステップＳ２５では、ステップＳ２４で取得したＥＧＲ量ＭＥＧＲと規範値ＭＥＧＲ＿ｎｏｒｍとの乖離量ΔＭＥＧＲを算出する（ΔＭＥＧＲ＝ＭＥＧＲ＿ｎｏｒｍ−ＭＥＧＲ）。続くステップＳ２６では、ステップＳ２５で算出した乖離量ΔＭＥＧＲが所定値ＭＥＧＲ＿ｄｅｌ以上であるか否かを判定し、ステップＳ２８では、ステップＳ２５で算出した乖離量ΔＭＥＧＲが所定値−ＭＥＧＲ＿ｄｅｌ以下であるか否かを判定する。なお、図５の例では、両判定に用いる所定値の絶対値が同一に設定されている。
【００７６】
ΔＭＥＧＲ≧ＭＥＧＲ＿ｄｅｌと判定された場合には（Ｓ２６：ＹＥＳ）、推定したＥＧＲ量ＭＥＧＲが推定誤差により過小値になっていると見なす。つまり、マップＭＡに記憶されている学習値（消費酸素量補正係数Ｋ１ｆに相当）が過大値になっていると見なす。そして、次のステップＳ２７において、ステップＳ２１で算出した消費酸素量補正係数Ｋ１ｆＬＥＡＲＮを減少させるように補正する。例えば、乖離量ΔＭＥＧＲの絶対値に積分定数Ｋｌ２を乗算して得られた値を、Ｋ１ｆＬＥＡＲＮから減算して補正する。
【００７７】
ΔＭＥＧＲ≦−ＭＥＧＲ＿ｄｅｌと判定された場合には（Ｓ２８：ＹＥＳ）、推定したＥＧＲ量ＭＥＧＲが推定誤差により過大値になっていると見なす。つまり、マップＭＡに記憶されている学習値（消費酸素量補正係数Ｋ１ｆに相当）が過小値になっていると見なす。そして、次のステップＳ２９において、ステップＳ２１で算出した消費酸素量補正係数Ｋ１ｆＬＥＡＲＮを増大させるように補正する。例えば、乖離量ΔＭＥＧＲの絶対値に積分定数Ｋｌ２を乗算して得られた値を、Ｋ１ｆＬＥＡＲＮに加算して補正する。
【００７８】
続くステップＳ３０では、ステップＳ２７，Ｓ２９にて算出された補正後のＫ１ｆＬＥＡＲＮに、マップＭＡ中の値を更新（学習）する。なお、ΔＭＥＧＲ＜ＭＥＧＲ＿ｄｅｌ（Ｓ２６：ＮＯ）、かつΔＭＥＧＲ＞−ＭＥＧＲ＿ｄｅｌ（Ｓ２８：ＮＯ）と判定された場合には、ステップＳ３０による学習を実施することなく図５の処理を終了する。
【００７９】
要するに、安定制御の状態の時には、ＥＧＲ算出モデル３１ｃにより推定されたＥＧＲ量ＭＥＧＲは規範値ＭＥＧＲ＿ｎｏｒｍに一致する筈である。そのため、この安定制御時におけるＭＥＧＲ＿ｎｏｒｍに対するＭＥＧＲの乖離量ΔＭＥＧＲは、消費酸素量補正係数Ｋ１ｆの値のずれにより生じていると見なすことができる。そこで、マップＭＡ中の学習値Ｋ１ｆＬＥＡＲＮを乖離量ΔＭＥＧＲに基づき補正して更新する。
【００８０】
なお、ステップＳ２７またはＳ２９による補正が連続して繰り返されていくと、ステップＳ３０における消費酸素量補正係数Ｋ１ｆＬＥＡＲＮが短時間で大きく変化することになる。すると、モデル演算手段３１およびステップＳ１０において排気酸素濃度ＣＥＸ＿ｍｄｌの推定に用いる消費酸素量補正係数Ｋ１ｆが、短時間で大きく変化することになるので、補正後推定値ＣＥＸ＿ｓも大きく変化することになる。但しこの場合には、安定制御の状態ではなくなり、ステップＳ２２にて否定判定されるようになるので、消費酸素量補正係数Ｋ１ｆＬＥＡＲＮは安定制御状態になるまで補正されなくなる。
【００８１】
図６は、燃料のメイン噴射時期を算出する処理手順を示すフローチャートであり、上述の如く学習した消費酸素量補正係数Ｋ１ｆの値を用いてメイン噴射時期を補正するものである。
【００８２】
先ず、図６に示すステップＳ４０において、現時点での運転領域（エンジン回転速度Ｎｅおよびエンジン負荷）に対応する消費酸素量補正係数Ｋ１ｆを、先述したマップＭＡから読み出す。続くステップＳ４１では、現時点での運転領域に基づきメイン噴射の基本噴射時期ＴＢＡＳＥを算出する。例えば、運転領域（Ｎｅ，Ｑｒ）毎にＴＢＡＳＥの適合値を予め設定してマップ等に記憶させておく。そして、マップに記憶された適合値の中から現時点での運転領域に応じた適合値を取得し、基本噴射時期ＴＢＡＳＥの値として採用する。
【００８３】
続くステップＳ４２では、エンジン冷却水温度の検出値ＴＨＷに基づき水温補正係数ＴＴＨＷを算出する。続くステップＳ４３では、吸気温センサ２３の検出値ＴＭに基づき吸気温補正係数ＴＴＭを算出する。続くステップＳ４４では、大気圧の検出値ＰＡＴＭに基づき大気圧補正係数ＴＰＡＴＭを算出する。
【００８４】
続くステップＳ４５では、現時点での運転領域に該当する消費酸素量補正係数Ｋ１ｆをマップＭＡから取得し、その取得した消費酸素量補正係数Ｋ１ｆに基づき燃焼補正係数ＴＫ１ｆを算出する。例えば、Ｋ１ｆを関数式に代入してＴＫ１ｆを算出してもよいし、消費酸素量補正係数Ｋ１ｆに対応する燃焼補正係数ＴＫ１ｆの適合値を、マップＭＣ（図６参照）に直接記憶させておき、マップＭＣから燃焼補正係数ＴＫ１ｆを取得してもよい。
【００８５】
なお、マップＭＣに示す燃焼補正係数ＴＫ１ｆは、メイン噴射時期の進角補正量を表しており、Ｋ１ｆの値が１であれば、完全燃焼していると見なして燃焼補正係数ＴＫ１ｆをゼロに設定する（進角補正量ゼロ）。そして、Ｋ１ｆの値が小さいほど、燃焼度合いが低く燃焼状態が悪くなっているとみなして、燃焼補正係数ＴＫ１ｆの値（進角補正量）を大きい値に設定する。
【００８６】
続くステップＳ４６では、ステップＳ４２〜Ｓ４５で算出した各種補正係数ＴＴＨＷ，ＴＴＭ，ＴＰＡＴＭ，ＴＫ１ｆに基づき、ステップＳ４１で算出した基本噴射時期ＴＢＡＳＥを補正して最終的なメイン噴射時期ＴＦＩＮを算出する。例えば、ＴＢＡＳＥに各種ＴＴＨＷ，ＴＴＭ，ＴＰＡＴＭ，ＴＫ１ｆを加算してＴＦＩＮを算出する（ＴＦＩＮ＝ＴＢＡＳＥ＋ＴＴＨＷ＋ＴＴＭ＋ＴＰＡＴＭ＋ＴＫ１ｆ）。
【００８７】
以上により、本実施形態によれば、燃焼度合いの誤差を補償して排気酸素濃度を推定できるようになる。その理由を以下に説明すると、先ず、補正後推定値ＣＥＸ＿ｓに推定誤差が生じる主な原因として、モデル演算手段３１の各種モデル演算式（図３参照）で用いられるパラメータ値が、実値からずれていることが挙げられる。上記パラメータのうち各種センサの検出値を除いては、以下に説明する空気系パラメータおよび燃焼系パラメータがある。空気系パラメータの具体例としては、図３を用いて先述した吸気管１１の容積ＶＩＮ、シリンダ２５の容積ＶＣＬＤ、吸気管１１の容積ＶＭ、ＥＧＲ配管１２の容積等が挙げられる。燃焼系パラメータの具体例としては、単位燃料量当りの消費酸素量Ｋ１、消費酸素量補正係数Ｋ１ｆ、燃料の密度Ｋ２等が挙げられる。
【００８８】
そして、排気酸素濃度の補正後推定値ＣＥＸ＿ｓ≒目標値ＣＥＸ＿ｔｒｇ、かつ、排気酸素濃度センサによる検出値ＣＥＸ＿ｓｅｎｓｏｒ≒補正後推定値ＣＥＸ＿ｓとなっている安定制御時には、先述した空気系パラメータの誤差（各種配管容積の構造誤差）が補正後推定値ＣＥＸ＿ｓの値に及ぼす影響は殆ど無く、補正後推定値ＣＥＸ＿ｓは燃焼パラメータの誤差（燃焼誤差）により大きく影響を受ける状態になる。
【００８９】
特に、エンジンの運転領域に応じて燃焼状態（燃焼度合い）を制御するにあたり、その燃焼度合いを表した消費酸素量補正係数Ｋ１ｆは運転領域に応じて異なる値になる筈である。したがって、上述した安定制御時に、排気酸素濃度の補正後推定値ＣＥＸ＿ｓと規範値ＭＥＧＲ＿ｎｏｒｍとの乖離量ΔＭＥＧＲが大きくなっていれば、その原因は消費酸素量補正係数Ｋ１ｆの誤差であると言える。
【００９０】
この点を鑑みた本実施形態では、上記安定制御時における乖離量ΔＭＥＧＲに基づき消費酸素量補正係数Ｋ１ｆを補正して学習更新し（図５参照）、その学習値を用いて排気酸素濃度ＣＥＸ＿ｍｄｌを推定する（図４のステップＳ１０参照）ので、燃焼度合いの誤差（消費酸素量補正係数Ｋ１ｆの誤差）を補償できる。よって、排気酸素濃度の推定精度を向上できる。
【００９１】
なお、燃焼誤差が補償された排気酸素濃度ＣＥＸ＿ｍｄｌと検出値ＣＥＸ＿ｓｅｎｓｏｒとの誤差が、モデル誤差学習手段３４により学習され、その学習値（補正値ＣＬＥＡＲＮ）によりＣＥＸ＿ｍｄｌを補正するので、この補正により、空気系パラメータの誤差（構造誤差）は補償される。
【００９２】
さらに本実施形態では、運転領域毎に学習された消費酸素量補正係数Ｋ１ｆの値は、運転領域毎の燃焼度合いを表していることに着目し、消費酸素量補正係数Ｋ１ｆの学習値に基づきメイン噴射時期を補正している。よって、燃焼状態を所望の状態にすることを高精度で実現できる。要するに、本実施形態によれば、安定制御時の乖離量ΔＭＥＧＲ、或いは消費酸素量補正係数Ｋ１ｆの学習値に基づき、燃焼度合いを把握できると言える。
【００９３】
（第２実施形態）
上記第１実施形態では、図５に示すように、モデル演算手段３１により推定されたＥＧＲ量ＭＥＧＲと規範値ＭＥＧＲ＿ｎｏｒｍとの乖離量に基づき、消費酸素量補正係数Ｋ１ｆを学習している。これに対し本実施形態では、モデル演算手段３１により推定された新気量ＭＤＴＨと新気量の規範値ＭＤＴＨ＿ｎｏｒｍとの乖離量に基づき、消費酸素量補正係数Ｋ１ｆを学習する。本実施形態によっても上記第１実施形態と同様の効果が発揮される。
【００９４】
より詳細に説明すると、新気量の規範値ＭＤＴＨ＿ｎｏｒｍは、運転領域（エンジン回転速度Ｎｅおよびエンジン負荷）毎に予め設定してマップに記憶させておく。そして、このマップに記憶された規範値の中から現時点での運転領域に応じた規範値を取得する。
【００９５】
マップに記憶させる規範値ＭＤＴＨ＿ｎｏｒｍは、基準となる規範エンジンを用いて計測した新気量を採用する。すなわち、規範エンジンが安定制御の状態になった時の新気量を計測する試験を、エンジンの運転領域毎に実施する。そして、その運転領域毎の計測結果を、規範値ＭＤＴＨ＿ｎｏｒｍとしてマップに記憶させておく。
【００９６】
要するに、安定制御の状態の時には、吸気管モデル３１ａにより推定された新気量ＭＤＴＨは規範値ＭＤＴＨ＿ｎｏｒｍに一致する筈である。そのため、この安定制御時におけるＭＤＴＨ＿ｎｏｒｍに対するＭＤＴＨの乖離量ΔＭＤＴＨは、消費酸素量補正係数Ｋ１ｆの値のずれにより生じていると見なすことができる。そこで、マップ中の学習値Ｋ１ｆＬＥＡＲＮを乖離量ΔＭＤＴＨに基づき補正して更新する。
【００９７】
換言すれば、安定制御の状態の時には、新気量ＭＤＴＨとＥＧＲ量ＭＥＧＲとの割合は、規範エンジン等を用いて予め設定しておいた規範割合と一致する筈である。そのため、安定制御時における新気量ＭＤＴＨと規範値ＭＤＴＨ＿ｎｏｒｍとの乖離量に基づき、マップ中の学習値Ｋ１ｆＬＥＡＲＮを乖離量ΔＭＤＴＨに基づき補正して更新するようにしてもよい。
【００９８】
（第３実施形態）
上記各実施形態では、消費酸素量補正係数Ｋ１ｆが燃焼度合いを表していることを利用して、運転領域毎のＫ１ｆの値（燃焼度合い）に応じてメイン噴射時期を補正している。これに対し、燃料の供給圧力やパイロット噴射量を、運転領域毎のＫ１ｆの値に応じて補正するようにしてもよい。
【００９９】
例えば、燃焼状態が悪い運転領域の場合には、燃料の供給圧力を上昇させて噴射燃料の微粒化を促進させ、燃焼状態の悪化を是正する。或いは、パイロット噴射量を増量させて燃料の着火性を促進させ、燃焼状態の悪化を是正する。なお、燃料の供給圧力（コモンレール内の圧力）は、コモンレールへ燃料を圧送する燃料ポンプの吐出量を制御することで調整する。
【０１００】
なお、本実施形態にかかる供給圧力の補正と、パイロット噴射量の補正と、上記第１実施形態にかかるメイン噴射時期の補正とを、任意に組み合わせて実施するようにしてもよい。
【符号の説明】
【０１０１】
１３…ＥＧＲバルブ、２１…Ａ／Ｆセンサ（排気酸素濃度センサ）、２２…吸気圧センサ（吸気系センサ）、２３…吸気温センサ（吸気系センサ）、２４…エアフローメータ（吸気系センサ）、３０…ＥＣＵ（記憶手段）、３１…モデル演算手段（推定手段）、３４…モデル誤差学習手段（補正値学習手段）、３６…フィードバック制御手段（ＥＧＲバルブ制御手段）、ＣＥＸ…排気酸素濃度推定値、ＣＥＸ＿ｓ…補正後推定値、ＣＥＸ＿ｓｅｎｓｏｒ…排気酸素濃度検出値、ＣＥＸ＿ｔｒｇ…目標値、ＣＬＥＡＬＮ…補正値、Ｋ１ｆ…消費酸素量補正係数（燃焼パラメータ）、ＭＥＧＲ＿ｎｏｒｍ…ＥＧＲ量の規範値、ΔＭＥＧＲ…乖離量、Ｓ１４…燃焼パラメータ学習手段、Ｓ１５〜Ｓ１７…ＥＧＲバルブ制御手段、Ｓ２４…規範値取得手段。
【図１】
0005849685.tif 000002
【図２】
0005849685.tif 000003
【図３】
0005849685.tif 000004
【図４】
0005849685.tif 000005
【図５】
0005849685.tif 000006
【図６】
0005849685.tif 000007