以下、図面を参照して本発明の実施形態を説明する。図1に示されている内燃機関は本発明が適用された内燃機関であって筒内噴射型火花点火式の内燃機関である。なお図1に示されている内燃機関は複数の燃焼室、すなわち複数の気筒を備えた多気筒内燃機関であり、図1には特定の1つの気筒のみの構成が示されているが残りの気筒もこれと同じ構成を備えている。また以下では本発明が筒内噴射型火花点火式の内燃機関に適用された場合を例にとって本発明の実施形態を説明するが本発明は例えば吸気ポートに燃料を噴射する吸気ポート内噴射型火花点火式の内燃機関や圧縮自着火式内燃機関にも適用可能である。
図1において、10は内燃機関である。内燃機関10はシリンダブロック、シリンダブロックロワケース、および、オイルパン等を含むシリンダブロック部20と、該シリンダブロック部20上に固定されるシリンダヘッド部30と、シリンダブロック部20に空気を供給するための吸気通路40と、シリンダブロック部20から排気ガスを外部に放出するための排気通路50とを具備する。
シリンダブロック部20はシリンダヘッド21と、ピストン22と、コンロッド23と、クランクシャフト24とを有する。ピストン22はシリンダ21内で往復動し、このピストン22の往復動がコンロッド23を介してクランクシャフト24に伝達され、これによってクランクシャフト24が回転せしめられる。またシリンダ21の内壁面とピストン22の上壁面とシリンダヘッド部30の下壁面とによって燃焼室25が形成されている。
シリンダヘッド部30は燃焼室25に連通する吸気ポート31と、該吸気ポート31を開閉する吸気弁32と、該吸気弁32を駆動する吸気弁駆動機構32aと、燃焼室25に連通する排気ポート33と、該排気ポート33を開閉する排気弁34と、該排気弁34を駆動する排気弁駆動機構34aと、点火栓35と、該点火栓35に与える高電圧を発生する点火コイルを含むイグナイタ36と、燃料を燃焼室25内に噴射する燃料噴射弁37と、該燃料噴射弁37に燃料を高圧で供給する蓄圧室37aと、該蓄圧室37aに燃料を圧送する燃料ポンプ37bとを有する。吸気弁駆動機構32aおよび排気弁駆動機構34aは駆動回路38に接続されている。
吸気通路40は吸気ポート31に接続された吸気枝管41と、該吸気枝管41に接続されたサージタンク42と、該サージタンク42に接続された吸気ダクト43とを有する。吸気ダクト43にはその上流端から順にエアフィルタ44と、スロットル弁48とが配置されている。スロットル弁48は吸気ダクト43に回転可能に取り付けられており、スロットル弁駆動用アクチュエータ48aによって駆動される。
排気通路50は排気ポート33に接続された排気枝管49と、該排気枝管49に接続された排気管51とを有する。排気管51には排気ガスを浄化するための三元触媒装置52が配置されている。
また内燃機関10は排気管51とスロットル弁48下流の吸気通路40、具体的にはサージタンク42とを接続する排気循環通路53を具備する。排気循環通路53は燃焼室25から排気ポート33および排気枝管49を介して排気管51に排出された排気ガスを吸気通路40に導入するための通路である。吸気通路40に導入された排気ガスは吸気行程中に燃焼室25に吸入される。排気循環通路53には該排気循環通路53内を流れる排気ガスの流量を制御するための排気ガス循環量制御弁(以下「EGR制御弁」という)54と、排気循環通路53内を流れる排気ガスを冷却するためのインタークーラ55とが配置されている。
さらに内燃機関10は吸気ダクト43内を流れる空気の流量を検出するエアフローメータ61と、クランクシャフト24の回転位相、すなわちクランク角度を検出するクランクポジションセンサ62と、燃焼室25内の圧力を検出する筒内圧センサ63と、アクセルペダル65の踏込量を検出するアクセル開度センサ64と、電気制御装置(ECU)70とを具備する。クランクポジションセンサ62はクランクシャフト24が1°回転する毎に幅狭のパルスを出力すると共にクランクシャフト24が360°回転する毎に幅広のパルスを出力する。クランクポジションセンサ62が出力するパルスに基づいて内燃機関の回転数(以下「機関回転数」という)を算出可能である。
電気制御装置(ECU)70はマイクロコンピュータからなり、双方向性バスによって互いに接続されたCPU(マイクロプロセッサ)71と、ROM(リードオンリメモリ)72と、RAM(ランダムアクセスメモリ)73と、バックアップRAM74と、AD変換器を含むインターフェース75とを有する。エアフローメータ61、クランクポジションセンサ62、筒内圧センサ63、およびアクセル開度センサ64はインターフェース75に接続されている。またイグナイタ36、燃料噴射弁37、燃料ポンプ37a、駆動回路38、スロットル弁駆動用アクチュエータ48a、およびEGR制御弁54もインターフェース75に接続されている。
ところで排気循環通路53を介して吸気通路40に導入すべき排気ガスの量、ひいては燃焼室25に供給すべき排気ガスの量(以下「目標EGR量」という)は内燃機関の運転状態、例えば、機関回転数と機関負荷とに応じて決まる。そこで本実施形態では目標EGR量に対応するパラメータとして燃焼室25に供給されるガス中に含まれるべき排気ガスの割合(以下「目標EGR率」という)を採用し、機関回転数と機関負荷とに対応する目標EGR率を予め実験等によって求め、この目標EGR率TReを図2に示されているように機関回転数NEと機関負荷Lとの関数のマップの形でROM72に記憶させておく。そして内燃機関の運転中に機関回転数NEと機関負荷Lとに基づいて図2のマップから目標EGR率TReを求め、燃焼室25に供給されるガス中に含まれる排気ガスの割合、すなわちEGR率が目標EGR率TReとなるようにEGR制御弁54の開度が制御される。
また本実施形態では空燃比が内燃機関の運転状態に応じて決定される目標空燃比となるように吸気行程中に燃焼室25に吸入される空気の量(以下「吸入空気量」という)に応じて燃料噴射弁37から燃焼室25内に供給する燃料の量(以下「燃料供給量」という)が決定される。そして吸気行程または圧縮行程において燃料噴射弁37から燃焼室25内に燃料が噴射される。
ところで上述したように本実施形態では燃焼室25に供給される排気ガスの量はEGR制御弁54の開度を制御することによって制御される。ここでEGR率を正確に目標EGR率に制御するためには実際のEGR率を把握し、この実際のEGR率が目標EGR率となるようにEGR制御弁54の開度を制御することが好ましい。そこで本実施形態では以下のようにして実際のEGR率を算出する。
すなわち燃料供給量を「TAU」で表し、膨張行程中に燃焼室25内で発生する熱量を「筒内発熱量」と称してこれを「Q」で表し、単位燃料供給量当たりの筒内発熱量を「単位筒内発熱量」と称してこれを「Q/TAU」で表すとき、図3に示されているようにEGR率Reが高くなるほど或いは機関回転数NEが大きくなるほど単位筒内発熱量Q/TAUが大きくなる。このことは以下のように説明することができる。
すなわち機関回転数が一定であればEGR率が高いほど吸入ガス量が多い。一方、EGR率が一定であれば機関回転数が大きいほど吸入ガス量が多い。したがってEGR率が高いほど或いは機関回転数が大きいほど吸入ガス量が多いと言える。そして吸入ガス量が多いほど圧縮行程における燃焼室25内のガスに対する圧縮率(以下「筒内圧縮率」という)が高い。したがってEGR率が高いほど或いは機関回転数が大きいほど筒内圧縮率が高いと言える。そして燃料供給量が一定であれば筒内圧縮率が高いほど筒内発熱量が大きい。言い換えれば筒内圧縮率が高いほど単位筒内発熱量は大きい。したがってEGR率が高いほど或いは機関回転数が大きいほど単位筒内発熱量が大きくなるのである。
したがってEGR率は単位筒内発熱量と機関回転数とに基づいて算出することができる。そこで本実施形態では機関回転数と単位筒内発熱量とに対応するEGR率を予め実験等によって求め、このEGR率Reを図4に示されているように筒内発熱量Qと機関回転数NEとの関数のマップの形でROM72に記憶させておく。そして内燃機関の運転中、機関回転数NEと単位筒内発熱量Q/TAUとに基づいて図4のマップからEGR率Reを算出する。
ところで本実施形態では以下のようにして単位筒内発熱量Q/TAUを算出する。すなわち圧縮行程中のクランク角度、特に圧縮行程の開始時点のクランク角度を「基準クランク角度」と称してこれを「θb」で表し、基準クランク角度θbよりも後の同じ圧縮行程中のクランク角度、特に圧縮行程の開始直後のクランク角度を「第1クランク角度」と称してこれを「θ1」で表し、第1クランク角度θ1よりも後の同じ圧縮行程中のクランク角度、特に圧縮行程の終了直前のクランク角度を「第2クランク角度」と称してこれを「θ2」で表し、基準クランク角度θbにおける筒内圧を「P(θb)」で表し、基準クランク角度θbにおける燃焼室25内の容積(以下「筒内容積」という)を「V(θb)」で表し、クランク角度θにおける筒内圧を「P(θ)」で表し、クランク角度θにおける筒内容積を「V(θ)」で表し、クランク角度θの変化量を「Δθ」で表すとしたとき、筒内発熱量Qは次式1に従って算出可能である。
そして上式1に従って算出される筒内発熱量Qを燃料供給量TAUで除算することによって単位筒内発熱量Q/TAUを算出する。
なお上式1の代わりに次式2を利用して筒内発熱量を算出するようにしてもよい。
Q=K・P(θ)・(V(θ)κ) …(2)
上式2において、Kは予め実験等によって求められる係数であり、P(θ)は圧縮行程中のクランク角度θにおける筒内圧であり、V(θ)は圧縮行程中のクランク角度θにおける筒内容積である。上式2を利用して筒内発熱量を算出すれば上式1を利用して筒内発熱量を算出するのに比べて筒内発熱量を算出するために検出すべき筒内圧および筒内容積の数が少なくなるので内燃機関のECUに課される計算負荷が小さくなる。
なお上述した実施形態では機関回転数と単位筒内発熱量との関数のマップを利用してEGR率を算出しているのでEGR率を算出するときには機関回転数と単位筒内発熱量とが同時に考慮される。しかしながら単位筒内発熱量に基づいて暫定的なEGR率を算出し、この暫定的なEGR率を機関回転数に基づいて補正することによって最終的なEGR率を算出するようにしてもよい。この場合、機関回転数が大きいほど最終的なEGR率が小さくなるように暫定的なEGR率が補正されることになる。
したがって上述した実施形態は圧縮行程中の予め定められたタイミング(すなわち予め定められたクランク角度)における筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を算出し、該単位筒内発熱量に基づいて暫定的なEGR率を算出し、この暫定的なEGR率を機関回転数に応じて補正することによって最終的なEGR率を算出するものとも言える。
さらにEGR率は吸気行程中に燃焼室に導入される排気ガスの量(以下「排気導入量」という)に対応するパラメータである。したがって上述した実施形態は圧縮行程中の予め定められたタイミング(すなわち予め定められたクランク角度)における筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を算出し、この単位筒内発熱量に基づいて暫定的な排気導入量を算出し、この暫定的な排気導入量を機関回転数に応じて補正することによって最終的な排気導入量を算出するものとも言える。
また上述した実施形態において単位筒内発熱量に影響を与える内燃機関の運転状態を示すパラメータとして機関回転数以外のパラメータを考慮して単位筒内発熱量に基づいてEGR率または排気導入量を算出するようにしてもよい。したがって上述した実施形態は圧縮行程中の予め定められたタイミング(すなわち予め定められたクランク角度)における筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を算出し、この単位筒内発熱量に基づいて暫定的なEGR率または排気導入量を算出し、この暫定的なEGR率または暫定的な排気導入量を内燃機関の運転状態に応じて補正することによって最終的なEGR率または排気導入量を算出するものと言える。
さらに上述した実施形態において機関回転数を含む内燃機関の運転状態を示すパラメータが単位筒内発熱量に与える影響が小さいときにはこれらパラメータが単位筒内発熱量に与える影響を考慮せずにEGR率または排気導入量を算出するようにしてもよい。したがって上述した実施形態は圧縮行程中の予め定められたタイミング(すなわち予め定められたクランク角度)における筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を算出し、この単位筒内発熱量に基づいてEGR率または排気導入量を算出するものと言える。
次に上述した実施形態(以下「第1実施形態」ともいう)に従ったEGR率の算出を実行するフローチャートの一例について図5を参照して説明する。図5のルーチンが開始されると始めにステップ101において圧縮行程中の予め定められたクランク角度(以下「所定クランク角度」という)θにおける筒内圧P(θ)が読み込まれる。次いでステップ102において同じ所定クランク角度θにおける筒内容積V(θ)が読み込まれる。次いでステップ103において燃料供給量TAUが読み込まれる。次いでステップ104において機関回転数NEが読み込まれる。次いでステップ105において上記筒内圧P(θ)と上記筒内容積V(θ)とに基づいて上式2に従って筒内発熱量Qが算出される。次いでステップ106においてこの筒内発熱量Qを上記燃料供給量TAUで除算することによって単位筒内発熱量Q/TAUが算出される。次いでステップ107においてこの単位筒内発熱量Q/TAUと上記機関回転数NEとに基づいて図4のマップからEGR率Reが算出され、ルーチンが終了する。
次に第1実施形態に従ったEGR率の制御を実行するフローチャートの一例について図6を参照して説明する。図6のルーチンが開始されると始めにステップ201において内燃機関の運転状態がEGR率が零(または略零)でない領域(以下「EGR領域」という)にあるか否かが判別される。ここで内燃機関の運転状態がEGR領域にあると判別されたときにはルーチンはステップ202に進んで機関回転数NEが読み込まれる。次いでステップ203において機関負荷Lが読み込まれる。次いでステップ204において上記機関回転数NEと上記機関負荷Lとに基づいて図2のマップから目標EGR率TReが算出される。次いでステップ205において図5のルーチンによって算出されたEGR率Reが読み込まれる。
次いでステップ206において上記EGR率Reが上記目標EGR率TReよりも大きい(Re>TRe)か否かが判別される。ここでRe>TReであると判別されたときにはルーチンはステップ207に進んでEGR制御弁54の開度が減少せしめられ、ルーチンが終了する。一方、ステップ206においてRe≦TReであると判別されたときにはルーチンはステップ208に進んでEGR制御弁54の開度が増大せしめられ、ルーチンが終了する。
ステップ201において内燃機関の運転状態がEGR領域にないと判別されたときにはルーチンはステップ209に進んでEGR制御弁54の開度が零とされ、すなわちEGR制御弁54が閉弁せしめられ、ルーチンが終了する。
ところで第1実施形態では筒内圧センサ63によって検出される筒内圧を利用して単位筒内発熱量を算出し、この算出された単位筒内発熱量に基づいてEGR率を算出している。しかしながらこれによると筒内圧センサ63に検出誤差があった場合、算出されるEGR率が実際のEGR率に一致していないことになる。そこで第1実施形態に従ったEGR率の算出に代えて以下のようにEGR率を算出するようにしてもよい。
すなわち吸気通路40に導入される排気ガスの量が零(または略零)であるとき、すなわちEGR率が零(または略零)であるときの筒内発熱量を「Q0」で表し、燃料供給量を「TAU0」で表し、単位筒内発熱量を「基準単位筒内発熱量」と称してこれを「Q0/TAU0」で表し、この基準単位筒内発熱量に対するEGR率が零(または略零)でないときの単位筒内発熱量の比を「単位筒内発熱量比」と称したとき、機関回転数と単位筒内発熱量比とに対応するEGR率を予め実験等によって求め、このEGR率Reを図7に示されているように機関回転数NEと単位筒内発熱量比(Q/TAU)/(Q0/TAU0)との関数のマップの形でROM72に記憶させておく。
一方、内燃機関の運転中、吸気通路40に導入される排気ガスの量が零(または略零)であるとき、すなわちEGR率が零(または略零)であるときに上式1または上式2に従って筒内発熱量Q0を算出し、この筒内発熱量Q0を燃料供給量TAU0で除算することによって基準単位筒内発熱量Q0/TAU0を算出し、この基準単位筒内発熱量をROM72に機関回転数に対応させた形で記憶させておく。すなわち内燃機関の運転中、EGR率が零(または略零)となる毎に基準単位筒内発熱量を学習する。
そして内燃機関の運転中、EGR率が零(または略零)ではないときには上式1または上式2に従って筒内発熱量Qを算出し、この筒内発熱量Qを燃料供給量TAUで除算することによって単位筒内発熱量Q/TAUを暫定単位筒内発熱量として算出する。そしてROM72に記憶されている基準単位筒内発熱量Q0/TAU0の中からこのときの機関回転数NEに対応する基準単位筒内発熱量を読み出し、この基準単位筒内発熱量で上記暫定単位筒内発熱量Q/TAUを除算することによって上記暫定単位筒内発熱量Q/TAUを補正して単位筒内発熱量比(Q/TAU)/(Q0/TAU0)を算出する。そしてこの単位筒内発熱量比(Q/TAU)/(Q0/TAU0)と機関回転数NEとに基づいて図7のマップからEGR率Reを算出する。
これによれば内燃機関の運転中、基準単位筒内発熱量も単位筒内発熱量も同じ筒内圧センサによって検出される筒内圧を利用して算出されるのでこれら基準単位筒内発熱量と単位筒内発熱量とに基づいて単位筒内発熱量比が算出されるときには筒内圧センサに検出誤差があったとしてもこの検出誤差が相殺されることになる。したがってこれによれば筒内圧センサに検出誤差があったとしても実際のEGR率に一致するEGR率が算出されることになる。
したがって第2実施形態はEGR率が零または略零であるときに圧縮行程中の予め定められたタイミング(すなわち予め定められたクランク角度)における筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を基準単位筒内発熱量として算出して記憶し、燃焼室に導入される排気ガスの量が零または略零でないときに圧縮行程中の予め定められたタイミングにおける筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を算出し、この単位筒内発熱量を前記基準単位筒内発熱量で除算して単位筒内発熱量比とすることによって燃焼室に導入される排気ガスの量が零または略零でないときに算出される単位筒内発熱量を前記基準単位筒内発熱量に応じて補正し、該単位筒内発熱量比に基づいて排気導入量を算出するものと言える。
次に上述した実施形態(以下「第2実施形態」ともいう)に従ったEGR率の算出を実行するフローチャートの一例を図8を参照して説明する。図8のルーチンが開始されると始めにステップ301において内燃機関の運転状態がEGR領域(すなわちEGR率が零(または略零)でない領域)にあるか否かが判別される。ここで内燃機関の運転状態がEGR領域にないと判別されたときにはルーチンはステップ311に進んで圧縮行程中の所定クランク角度θにおける筒内圧P(θ)が読み込まれる。次いでステップ312において圧縮行程中の同じ所定クランク角度θにおける筒内容積V(θ)が読み込まれる。次いでステップ313において燃料供給量TAU0が読み込まれる。次いでステップ314において機関回転数NEが読み込まれる。次いでステップ315において上記筒内圧P(θ)と上記筒内容積V(θ)とに基づいて上式1または上式2に従って筒内発熱量Q0が算出される。次いでステップ316において上記筒内発熱量Q0を上記燃料供給量TAU0で除算することによって基準単位筒内発熱量Q0/TAU0が算出される。次いでステップ317においてこの基準単位筒内発熱量Q0/TAU0が上記機関回転数NEに対応した形でROM72に記憶され、ルーチンが終了する。
一方、ステップ301において内燃機関の運転状態がEGR領域にあると判別されたときにはルーチンはステップ302に進んで圧縮行程中の所定クランク角度θにおける筒内圧P(θ)が読み込まれる。次いでステップ303において圧縮行程中の同じ所定クランク角度θにおける筒内容積V(θ)が読み込まれる。次いでステップ304において燃料供給量TAUが読み込まれる。次いでステップ305において機関回転数NEが読み込まれる。次いでステップ306において上記筒内圧P(θ)と上記筒内容積V(θ)とに基づいて上式1または上式2に従って筒内発熱量Qが算出される。次いでステップ307において上記筒内発熱量Qを上記燃料供給量TAUで除算することによって単位筒内発熱量Q/TAUが算出される。次いでステップ308においてROM72に記憶されている基準単位筒内発熱量Q0/TAU0の中から上記機関回転数NEに対応する基準単位筒内発熱量が読み込まれる。次いでステップ309においてこの基準単位筒内発熱量Q0/TAU0で上記単位筒内発熱量Q/TAUを除算することによって単位筒内発熱量比(Q/TAU)/(Q0/TAU0)が算出される。次いでステップ310においてこの単位筒内発熱量比(Q/TAU)/(Q0/TAU0)と上記機関回転数NEとに基づいて図7のマップからEGR率Reが算出され、ルーチンが終了する。
なお第2実施形態に従ったEGR率の算出に代えて以下のようにEGR率を算出するようにしてもよい。すなわち筒内圧センサ63に検出誤差がない場合の基準単位筒内発熱量を機関回転数に対応して予め実験等によって求め、この基準単位筒内発熱量Q0/TAU0を図9に示されているように機関回転数NEの関数のマップの形でROM72に記憶させておく。
そして内燃機関の運転中、EGR率が零(または略零)であるときに上式1または上式2に従って筒内発熱量Qを算出し、この筒内発熱量Qを燃料供給量TAUで除算することによって単位筒内発熱量Q/TAUを暫定基準単位筒内発熱量として算出する。一方、このときの機関回転数NEに基づいて図9のマップから基準単位筒内発熱量Q0/TAU0を算出する。そしてこの基準単位筒内発熱量を上記暫定基準単位筒内発熱量から差し引くことによって差を算出し、この差を単位筒内発熱量差としてROM72に機関回転数NEに対応させた形で記憶させておく。すなわち内燃機関の運転中、EGR率が零(または略零)となる毎に単位筒内発熱量差を学習する。
そして内燃機関の運転中、EGR率が零(または略零)ではないときには上式1または上式2に従って筒内発熱量Qを算出し、この筒内発熱量Qを燃料供給量TAUで除算することによって単位筒内発熱量Q/TAUを暫定単位筒内発熱量として算出する。そしてROM72に記憶されている単位筒内発熱量差の中からこのときの機関回転数NEに対応する単位筒内発熱量差を読み出し、この単位筒内発熱量誤差を上記暫定単位筒内発熱量Q/TAUから差し引くことによって上記暫定単位筒内発熱量Q/TAUを補正して単位筒内発熱量を算出する。そしてこの単位筒内発熱量Q/TAUと機関回転数NEとに基づいて図4のマップからEGR率Reを算出する。
これによっても筒内圧センサに検出誤差があったとしても実際のEGR率に一致するEGR率が算出されることになる。すなわち筒内圧センサに検出誤差がないときに算出される単位筒内発熱量と筒内圧センサに検出誤差があるときに算出される単位筒内発熱量との差は筒内圧センサの検出誤差に起因して生じる差である。すなわちこの算出される単位筒内発熱量に差がある場合にこの差分だけ算出される単位筒内発熱量を補正すれば補正後の単位筒内発熱量は実際の単位筒内発熱量に一致することになるのでこの補正後の単位筒内発熱量を利用して算出されるEGR率は実際のEGR率に一致することになる。
したがってこの実施形態(以下「第3実施形態」という)および上述した第2実施形態は広くはEGR率が零または略零であるときに圧縮行程中の予め定められたタイミング(すなわち予め定められたクランク角度)における筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を基準単位筒内発熱量として算出し、EGR率が零または略零でないときに圧縮行程中の予め定められたタイミングにおける筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を算出し、この単位筒内発熱量を前記基準単位筒内発熱量に応じて補正し、この補正された単位筒内発熱量に基づいて排気導入量を算出するものと言える。
なお上述した第1実施形態〜第3実施形態は燃焼室に導入された排気ガスの量に応じて変化する単位筒内発熱量に基づいてEGR率を算出するものであることから排気ガスが排気循環通路を介して燃焼室に導入されようと排気循環通路を介さずに燃焼室に導入されようと等しくEGR率を算出することができる。したがってこれら第1実施形態〜第3実施形態は排気ガスを排気循環通路を介して吸気通路に導入することによって燃焼室に排気ガスを導入するタイプの内燃機関においてEGR率を算出するものであるがこのように燃焼室に排気ガスを導入するのに加えて排気弁の閉弁タイミングを吸気行程中のタイミングに設定したり吸気弁の開弁タイミングを排気行程中のタイミングに設定したりすることによって燃焼室から排気通路にいったん排出された排気ガスがそのまま燃焼室に吸入されるようにしたタイプの内燃機関においても同様にEGR率を算出することができる。
なおこの場合、EGR率が零(または略零)であるときの単位筒内発熱量を基準単位筒内発熱量として利用してEGR率を算出する第2実施形態および第3実施形態では基準単位筒内発熱量としてEGR率が零(または略零)であって且つ燃焼室から排気通路にいったん排出されてそのまま燃焼室に吸入される排気ガスの量が零(または略零)であるときの単位筒内発熱量を利用する必要がある。
もちろん同様の理由から上述した第1実施形態〜第3実施形態は排気ガスを排気循環通路を介して吸気通路に導入することによって燃焼室に排気ガスを導入するのに代えて排気弁の閉弁タイミングを吸気行程中のタイミングに設定したり吸気弁の開弁タイミングを排気行程中のタイミングに設定したりすることによって燃焼室から排気通路にいったん排出された排気ガスがそのまま燃焼室に吸入されるようにしたタイプの内燃機関においてもEGR率を算出することができる。
そしてこの場合、EGR率が零(または略零)であるときの単位筒内発熱量を基準単位筒内発熱量として利用してEGR率を算出する第2実施形態および第3実施形態では基準単位筒内発熱量として燃焼室から排気通路にいったん排出されてそのまま燃焼室に吸入される排気ガスの量が零(または略零)であるときの単位筒内発熱量を利用する必要がある。
したがって上述した第2実施形態および第3実施形態は広くは燃焼室に導入される排気ガスの量が零または略零であるときに圧縮行程中の予め定められたタイミングにおける筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を基準単位筒内発熱量として算出し、燃焼室に導入される排気ガスの量が零または略零であるときに圧縮行程中の予め定められたタイミングにおける筒内圧と圧縮行程中の同じ予め定められたタイミングにおける筒内容積と燃料供給量とに基づいて単位筒内発熱量を算出し、この単位筒内発熱量を前記基準単位筒内発熱量に応じて補正し、この補正された単位筒内発熱量に基づいて排気導入量を算出するものと言える。
また上述した第1実施形態〜第3実施形態は複数の燃焼室を有するタイプの内燃機関においてEGR率を算出するものであるが1つの燃焼室のみを有するタイプの内燃機関においても同様にEGR率を算出することができる。
また上述した第1実施形態〜第3実施形態は複数の燃焼室を有し且つ各燃焼室に筒内圧センサを備えたタイプの内燃機関においてEGR率を算出するものであるがいずれか1つの燃焼室にのみ筒内圧センサを備えたタイプの内燃機関においてもEGR率を算出することができる。
なおこの場合、筒内圧センサを備えた燃焼室において算出されるEGR率と筒内圧を備えていない燃焼室におけるEGR率との関係を予め実験等によって求めておき、筒内圧センサを備えた燃焼室において算出されるEGR率に基づいて上記予め求めておいた関係から筒内圧を備えていない燃焼室におけるEGR率を算出すればよい。
また上述した第1実施形態〜第3実施形態は単位筒内発熱量を算出するために燃料供給量を利用している。この燃料供給量は燃料噴射弁から燃料を噴射するために燃料噴射弁を開弁させておく期間から算出することができる。なお燃料噴射弁から燃料を噴射させるために燃料噴射弁を開弁させようとしたときに即座に燃料噴射弁から燃料が噴射されないことがある。そしてこの燃料噴射弁から燃料が噴射されない期間にバラツキがあったりその期間が長かったりすると燃料噴射弁を開弁させておく期間から算出される燃料供給量が実際の燃料供給量に一致しないことがある。そこで燃料噴射弁を開弁させておく期間の代わりに吸入空気量と機関回転数と目標空燃比とに基づいて燃料供給量を算出するようにしてもよい。また目標空燃比が一定である場合には吸入空気量と機関回転数とに基づいて燃料供給量を算出するようにしてもよい。