図1は、本発明による吸気量推定装置が取り付けられる内燃機関を示す概略図である。同図において、1は機関本体であり、2は各気筒共通のサージタンクである。3はサージタンク2と各気筒とを連通する吸気枝管であり、4はサージタンク2の上流側の吸気通路である。各吸気枝管3には燃料噴射弁5が配置され、吸気通路4におけるサージタンク2の直上流側にはスロットル弁6が配置されている。ここで、スロットル弁6下流側の機関吸気系(サージタンク2及び吸気枝管3)は吸気管と称される。スロットル弁6は、アクセルペダルに連動するものではなく、ステップモータ等の駆動装置によって自由に開度設定可能なものである。7は吸気通路4のスロットル弁6より上流側の吸気流量を検出するエアフローメータである。機関本体1において、8は吸気弁であり、9は排気弁であり、10はピストンである。
内燃機関1における燃焼空燃比を、例えば、理論空燃比等の所望空燃比にするためには、機関過渡時を含めて気筒内へ流入した吸入空気量を正確に推定することが必要とされる。エアフローメータ7は、機関定常時においては、比較的正確に吸入空気量を測定することができる。しかしながら、機関過渡時においては、急激に変化する吸入空気量に対してエアフローメータ7の出力が直ぐに応答せず、正確な吸入空気量の測定は不可能である。
本吸入空気量推定装置は、機関過渡時においても、正確な吸入空気量を把握することを可能とするために、機関吸気系をモデル化して吸入空気量を推定するようになっている。
先ず、スロットル弁6をモデル化することにより、吸気がスロットル弁6を通過する際のエネルギ保存則、運動量保存則、及び、状態方程式を使用して、今回のスロットル弁通過空気量mt
(i)(g/sec)が、次式(1)によって表される。以下の式を含めて、スロットル弁通過空気量等の変数の添え字(i)は今回を示し、(i−1)は前回を示している。
ここで、μ
(i)は流量係数であり、A
(i)はスロットル弁6の開口面積(m
3)である。もちろん、機関吸気系にアイドルスピードコントロールバルブ(ISC弁)が設けられている時には、A
(i)には、ISC弁の開口面積が加えられる。流量係数及びスロットル弁の開口面積は、それぞれがスロットル弁開度TA
(i)(度)の関数となっており、図2及び3には、それぞれのスロットル弁開度TAに対するマップが図示されている。Rは気体定数であり、Taはスロットル弁上流側の吸気温度(K)であり、Paはスロットル弁上流側の吸気通路圧力(kPa)であり、Pm
(i)はスロットル弁下流側の吸気管圧力(kPa)である。また、関数Φ(Pm
(i)/Pa)は、比熱比κを使用して次式(2)によって表されるものであり、図4にはPm/Paに対するマップが図示されている。
次いで、吸気弁をモデル化する。気筒内へ供給される吸入空気量mc
(i)(g/sec)は、吸気管圧力Pm
(i)に基づきほぼ線形に変化するものであるために、次式(3)によって表すことができる。
ここで、Tm(i)はスロットル弁下流側の吸気温度(K)であり、a及びbは経験則から得られた定数である。但し、bは気筒内の残留既燃ガス量に相当する値であり、バルブオーバーラップがある場合には、吸気管へ既燃ガスが逆流するために、bの値は無視できないほど増加する。それにより、バルブオーバーラップの有無と、機関回転数NEとに基づき、正確な吸入空気量mcが算出されるように、a及びbの値をマップ化することが好ましい。また、バルブオーバーラップがある場合において、吸気管圧力Pmが所定圧力以上である時には、吸気管圧力が高いほど既燃ガスの逆流が顕著に減少するために、所定値以下である時に比較して、aの値を大きくしbの値を小さくすることが好ましい。
ところで、機関定常時においては、この時のスロットル弁通過空気量mtTAと吸入空気量とが一致するために、式(1)において、吸気管圧力をこの機関定常時の吸気管圧力PmTAとしたスロットル弁通過空気量mtTAは、吸入空気量(a・PmTA−b)と等しく、それにより、式(1)は、次式(4)と書き換えることもできる。
ここで、機関定常時の吸気管圧力PmTAは、現在を定常時とした時の今回のスロットル弁開度TA(i)、機関回転数NE(i)、及び、バルブオーバーラップの大きさVT(i)に基づいて予めマップ化しておくことができる。
次いで、吸気管をモデル化する。吸気管内に存在する吸気の質量保存則、エネルギ保存則、及び、状態方程式を使用して、吸気管圧力Pmとスロットル弁下流側の吸気温度Tmとの比における時間変化率は次式(5)によって表され、また、吸気管圧力Pmの時間変化率は次式(6)によって表される。ここで、Vは吸気管の容積(m
3)であり、具体的には、サージタンク2と吸気枝管3との合計容積である。
式(5)及び式(6)は離散化され、それぞれ、次式(7)及び(8)が得られ、式(8)によって今回の吸気管圧力Pm
(i)が得られれば、式(7)によって今回の吸気管内の吸気温度Tm
(i)を得ることができる。式(7)及び(8)において、離散時間Δtは、現在の吸入空気量mc
(i)を算出するための第一フローチャート(図5及び6)の実行間隔とされ、例えば8msである。
次に、図5及び6に示す第一フローチャートを説明する。本フローチャートは、機関始動完了(例えば、機関回転数が400rpm以上となった時に機関始動完了とすることができる)と同時に実行される。先ず、ステップ101において、フラグFが1であるか否かが判断される。このフラグFは機関停止と同時に0にリセットされるものであり、当初は、ステップ101における判断は否定されて、ステップ102へ進む。ステップ102においては、大気圧の初期値Paが次式(9)により算出される。
Pa={K1・ekpa+(1−K1)}・Pas …(9)
ここで、ekpaは、詳しくは後述するが、基準大気圧Pas(例えば、標準大気圧101.3kPa)を標高に応じた現在の大気圧に補正するための補正係数であり、通常時は、基準大気圧Pasへ直接乗算されて補正大気圧(ekpa・Pas)が算出される。現在の補正係数ekpaは、今回の機関始動以前の機関運転により学習及び更新された値とされている。
次いで、ステップ103において、ステップ102において算出された大気圧の初期値Paが前回の吸気管圧力Pm(i-1)とされ、ステップ104においてはフラグFが1に設定される。それにより、次回の本フローチャートの実施においては、ステップ101における判断が肯定されることとなり、以下に説明するステップ105以降の処理だけが行われる。
ステップ105においては、式(8)を使用して吸気管圧力Pm(i)が算出される。式(8)は、前回の吸気管圧力Pm(i-1)と、前回のスロットル弁通過空気量mt(i-1)と、前回の吸入空気量mc(i-1)と、前回の吸気管内の吸気温度Tm(i-1)とに基づき、今回の吸気管圧力Pm(i)を算出するようになっている。これらの初期値として、Pm(i-1)はステップ103において大気圧の初期値Paとされており、Tm(i-1)にはスロットル弁上流側の吸気温度Taが実測されて使用され、mt(i-1)には、これらのPm(i-1)及びTm(i-1)を使用して式(1)又は(4)から算出された値が使用され、また、mc(i-1)には、これらのPm(i-1)及びTm(i-1)を使用して式(3)により算出された値が使用される。
次いで、ステップ106において、ステップ105において算出された今回の吸気管圧力Pm(i)がガード値Pgより高いか否かが判断される。ガード値Pgに関しては詳しくは後述するが、このガード処理は、吸気管圧力が大気圧より高くはならないことに基づいている。通常は、この判断は否定されてステップ108に進み、式(7)を使用して今回の吸気管内の吸気温度Tm(i)が算出される。次いで、ステップ109において、式(1)又は(4)を使用して今回のスロットル弁通過空気量mt(i)が算出される。この式(1)又は(4)を使用するスロットル弁通過空気量mt(i)の算出において、現在のスロットル弁開度TAは、スロットル弁の駆動装置(ステップモータ)の応答遅れが考慮される。
次いで、ステップ110において、式(3)を使用して今回の吸入空気量mc(i)が算出される。その後は、ステップ111から114において、今回の吸気管圧力Pm(i)は前回の吸気管圧力Pm(i-1)とされ、今回の吸気管内の吸気温度Tm(i)は前回の吸気管内の吸気温度Tm(i-1)とされ、今回のスロットル弁通過空気量mt(i)は前回のスロットル弁通過空気量mt(i-1)とされ、今回の吸入空気量mc(i)は前回の吸入空気量mc(i-1)とされる。こうして、吸入空気量mcは、機関始動完了と同時に逐次算出される吸気管圧力Pmに基づき、逐次推定されることとなる。
しかしながら、何らかの要因により、算出された今回の吸気管圧力Pm(i)がガード値Pgより高くなってしまうことがある。この時には、算出された今回の吸気管圧力Pm(i)は明らかな異常値であり、ステップ106における判断が肯定されてステップ107に進み、算出された今回の吸気管圧力Pm(i)はガード値Pgに置換される。
前述した補正係数ekpa及びガード値Pgは、学習及び更新されるものであり、図8はそのための第二フローチャートである。第二フローチャートでは、エアフローメータ7の出力に基づき算出されるスロットル弁通過空気量mt’及び吸気管圧力Pm’(それぞれにはダッシュを付してスロットル弁開度に基づき算出された前述のものと区別する)が使用される。それにより、先ず、エアフローメータ7の出力に基づくスロットル弁通過空気量mt’の算出について説明する。
図7はエアフローメータ7の断面モデルを示している。エアフローメータ7は、熱線7aの周囲を吸気が通過する際に熱線7aから奪われる熱量がこの吸気量、すなわち、スロットル弁通過空気量に応じて変化するのを利用してスロットル弁通過空気量を検出するものである。こうして、エアフローメータ7の出力に基づきマップ等からスロットル弁通過空気量GA(i)(このマップ値には、算出されるスロットル弁通過空気量mt’(i)と区別するために異なる記号を付する)を得ることができる。
しかしながら、一般的なエアフローメータにおいて、熱線7aの回りにはガラス層7bが設けられていて、このガラス層7bの熱容量は比較的大きい。それにより、実際のスロットル弁通過空気量の変化に対してエアフローメータ7の出力は直ぐには変化せずに応答遅れが発生する。この応答遅れを見越してエアフローメータの出力から実際のスロットル弁通過空気量mt’(i)を算出することを考える。
現在の熱線7aの温度をThとすると、熱線7aからガラス層7bへ伝達される熱量と、ガラス層7bから吸気へ伝達される熱量とは等しいために、ガラス層Bの温度変化量dTg/dtは次式(10)のように表すことができる。
ここで、A、B、C、及びDは、熱線7aの断面積、長さ、及びその抵抗率や、ガラス層7bと熱線7aとの間の熱伝達率、ガラス層7bと吸気との間の熱伝達率等に応じて決定される定数である。式(10)において、定常運転時には、ガラス層7bと、熱線7a及び吸気との間の熱の授受が無くなるために、ガラス層7bの温度変化量dTg/dt、すなわち、式(10)の右辺は0になり、また、この時、スロットル弁通過空気量のマップ値GAと算出値mtとは等しくなる。この条件により、GAを熱線7aの温度Th、ガラス層7bの温度Tg、及び、吸気温度Taにより表して、式10においてガラス層7bの温度Tgを消去することにより、次式(11)を得ることができる。
式(11)において、α及びβは、前述の定数A、B、C、及びDによって定まる定数であり、こうして、スロットル弁通過空気mt’(i)は、エアフローメータの応答遅れを考慮して、現在のエアフローメータ7の出力に基づくスロットル弁通過空気量のマップ値GA(i)と、前回のエアフローメータ7の出力に基づくスロットル弁通過空気量のマップ値GA(i-1)とに基づいて算出することができる。
次に、第二フローチャートを説明する。本フローチャートも第一フローチャートと同様に機関始動と同時に実行され、実行間隔は例えば8msである。先ず、ステップ201において、今回のスロットル弁開度TA(i)が設定開度TA1より大きいか否かが判断される。この判断が肯定される時にはステップ202において、第一フローチャートにより今回算出されたスロットル弁開度に基づくスロットル弁通過空気量mt(i)が前述の式(11)により算出されたエアフローメータの出力に基づくスロットル弁通過空気量mt’(i)より大きいか否かが判断される。式(11)において、GA(i-1)の初期値は0とされる。
ステップ202における判断が肯定される時には、ステップ203へ進み、大気圧の補正係数ekpaからは比較的小さな所定値qが減算される。一方、ステップ202における判断が否定される時には、ステップ204へ進み、大気圧の補正係数ekpaへは所定値qが加算される。補正係数ekpaは、車両出荷時においては、例えば1が設定されており、ステップ202における判断が肯定されると、すなわち、式(1)又は(4)を使用して大気圧とスロットル弁開度とに基づき算出されたスロットル弁通過空気量mt(i)が、式(11)を使用してエアフローメータの出力に基づき算出されたスロットル弁通過空気量mt’(i)より大きくなると、式(1)又は(4)において算出に使用した大気圧が、実際より高くなっているとし、補正係数ekpaを減少させるのである。また、スロットル弁通過空気量mt(i)が、スロットル弁通過空気量mt’(i)より小さくなると、式(1)又は(4)において算出に使用した大気圧が、実際より低くなっているとし、補正係数ekpaを増加させるのである。
次いで、ステップ205においては、こうして、エアフローメータの出力に基づき算出されるスロットル弁通過空気量mt’を真値として学習及び更新された補正係数ekpaによって基準大気圧Pasを乗算補正し、標高に応じて変化する現在の大気圧Paを算出する。この大気圧Paが第一フローチャートにおいて使用されることとなる。
補正係数ekpaの学習及び更新は、ステップ201における判断が肯定される時、すなわち、スロットル弁開度TA(i)が設定開度TA1より大きい時にだけ実施される。これは、スロットル弁開度TA(i)が設定開度TA1以下であると、実際のスロットル弁通過空気量が少なくなり、スロットル弁の経時変化及び吸気系の付着デポジットによって大きく影響を受けるために、スロットル弁開度に基づき算出されるスロットル弁通過空気量mt(i)とエアフローメータの出力に基づき算出されるスロットル弁通過空気量mt’(i)との違いをもたらす主要因が現在の大気圧とはならない可能性があるためである。このようにして学習及び更新された補正係数ekpaは、機関停止に際しても記憶され、次回の運転時にも現在の大気圧算出に使用される。
ところで、車両が低地から高地へ向かう時には、登坂走行となってスロットル弁開度が設定開度TA1より大きくなる機会は多く、補正係数ekpaの良好な学習及び更新が実施される。しかしながら、高地から低地へ向かう時には、降坂走行となってスロットル弁開度を設定開度TA1より大きくする機会が少なく、補正係数ekpaが十分に学習されていないことがある。こうして、特に、高地から低地への降坂走行直後に車両停止した場合には、補正係数ekpaが、高地の大気圧に適応する値のまま記憶されている可能性が高い。
一般的には、機関始動時において、最初にスロットル弁開度に基づき吸気管圧力Pm(i)を算出する時には、大気圧Pa及び前回の吸気管圧力Pm(i-1)として基準大気圧Pasに記憶されている補正係数ekpaを乗算した補正大気圧Paが使用される。しかしながら、これでは、前述の場合において、算出される今回の吸気管圧力Pm(i)が実際より異常に低くなって、それに基づき算出される吸入空気量mc(i)は実際より異常に少なくなり、この吸入空気量mc(i)に基づき所望空燃比を実現するように算出される燃料噴射量では、実際の空燃比は非常にリーンとなって機関始動完了と同時に吸入空気量の推定が開始されるが、その直後には、エンジンストールが発生してしまう。また、クランキングから吸入空気量を推定する場合には、機関始動が不可能となる。
本実施形態では、このような問題を解決するために、第一フローチャートのステップ101から104の処理により、初回の吸入空気量mc(i)の推定に使用される大気圧Paは、記憶されている補正係数ekpaを単に基準大気圧Pasに乗算して算出するのではなく、前述の式(9)に基づき算出するようになっている。すなわち、現在の大気圧Paは、適合定数K1(0<K1<1)を使用して、補正係数ekpaを基準大気圧に乗算した補正大気圧と、基準大気圧Pasとの間の値とされる。こうして、大気圧の初期値Paが算出されるために、もし、補正係数ekpaが現在の大気圧に対して異常に小さく記憶されていても、吸入空気量mc(i)が異常に少なく推定されることはなく、エンジンストールを防止することができる。また、記憶されている補正係数ekpaが現在の大気圧に対して正確なものである場合には、推定される吸入空気量mc(i)が実際より多く推定されることとなるが、大気圧の初期値Paが基準大気圧を超えて算出されることはなく、それほど問題とはならない。この大気圧の初期値Paは、第二フローチャートにおいて、スロットル弁開度TAが設定開度TA1より大きくなって補正係数ekpaが更新される(ステップ205)まで大気圧として使用されることとなる。
次に、第一フローチャートのステップ106におけるガード処理に使用されるガード値Pgに関して、第二フローチャートに戻り説明する。実際の吸気管圧力は大気圧を超えることはなく、それにより、一般的には、スロットル弁開度に基づき算出される吸気管圧力Pm(i)は現在の大気圧によってガード処理される。現在の大気圧は、補正係数ekpaが正しいものであれば、基準大気圧Pasとekpaとの積としての補正大気圧であり、この補正大気圧がガード値とされるが、補正大気圧に僅かな余裕分として係数K2(例えば、1.05)を乗算してガード値とされることもある。
しかしながら、前述した場合のように、機関始動直後において、補正係数ekpaが不正確である場合があり、この時に補正大気圧に基づくガード値によりガード処理されると、スロットル弁開度に基づき算出された吸気管圧力Pm(i)が比較的正確であるにも係らずに、ガード処理によって吸気管圧力Pm(i)が低くされてしまう。それにより、吸入空気量mc(i)は実際より異常に少なく推定され、燃焼空燃比が異常にリーンとなって、失火が発生したり、また、機関排気系に空燃比センサが配置されて燃料噴射量のフィードバック制御が実施される場合には、燃料噴射量を増加するために、フィードバック補正係数が異常に大きくなってしまう。
この問題を解決するために、本実施形態では、第二フローチャートのステップ206以降の処理によりガード値Pgを更新するようにしている。第二フローチャートでは、前述の式(8)において、式(1)又は(4)を使用してスロットル弁開度に基づき算出されたスロットル弁通過空気量mtではなく、式(11)を使用してエアフローメータの出力に基づき算出されたスロットル弁通過空気量mt’を使用して吸気管圧力Pm’が算出されるようになっており、ステップ206では、今回算出された吸気管圧力Pm’(i)が前回算出された吸気管圧力Pm’(i-1)より小さいか否かが判断される。
機関始動完了直後においては、機関排気系に設けられた触媒装置を早期に暖機するために、燃料噴射量を増大すると共にスロットル弁開度が比較的大きくされて吸入空気量も多くされる。それにより、エアフローメータの出力に基づき算出される初回の吸気管圧力Pm’(i)は現在の大気圧に比較的近い値となる。しかしながら、Pm’(i-1)の初期値は、第一フローチャートのステップ102において算出された大気圧の初期値Paであるために、初回におけるステップ206の判断は肯定されることが多く、ステップ207において、ガード値Pgは、エアフローメータの出力に基づき算出された今回(初回)の吸気管圧力Pm’(i)とされる。次いで、ステップ208では、この吸気管圧力Pm’(i)とされたガード値Pgが、補正係数ekpaにより基準大気圧Pasを補正した前述の補正大気圧に基づく値より小さいか否かが判断される。
補正係数ekpaが比較的大きい時には、第一フローチャートのステップ102において算出された大気圧Paよりは小さな値とされているガード値Pgより、補正大気圧に係数K2を乗算した値の方が大きくなる傾向にあり、ステップ208における判断は肯定され、ステップ209においてガード値Pgは、補正大気圧に基づく一般的な値とされる。
しかしながら、前述したように補正係数ekpaが現在の大気圧に対して異常に小さい場合には、補正大気圧に基づく値は、かなり小さくなり、これをガード値とすると、前述したような失火等を引き起こすこととなる。このような場合には、ステップ208における判断が否定され、ガード値Pgとしては、エアフローメータの出力に基づき算出された吸気管圧力とされる。この吸気管圧力Pm’は、エアフローメータの出力に基づく実際的な圧力であり、実際の大気圧は、この吸気管圧力より確実に高いものである。それにより、スロットル弁開度に基づき算出された吸気管圧力Pmは、少なくとも、この吸気管圧力Pm’までは異常ではない。こうして、補正係数ekpaが異常に小さい場合には、エアフローメータの出力に基づき算出された吸気管圧力Pm’をガード値として使用することが有効であり、それにより、スロットル弁開度に基づき算出された吸気管圧力Pmが異常に小さくガードされることはなく、前述したような失火及びフィードバック補正係数が異常値となることは防止される。
しかしながら、エアフローメータの出力に基づく吸気管圧力をガード値として使用するのはあくまでも暫定処置であり、スロットル弁開度が大きくされた運転が頻繁に行われて、大気圧の補正係数ekpaが適正な値に学習補正されれば、現在の正確な大気圧が算出されるようになり、この時には、補正大気圧に基づくガード値が使用されることが好ましい。それにより、第二フローチャートのステップ208及び209において、補正大気圧に基づき算出される値がエアフローメータの出力に基づく吸気管圧力より大きくなれば、補正大気圧に基づく値がガード値Pgとして使用されるようになっている。
また、エアフローメータの出力に基づき算出される吸気管圧力Pm’は、機関始動直後において車両が高地へ向かう場合もあり、現在の大気圧が初回に算出した吸気管圧力より低くなることがある。それにより、初回に算出した吸気管圧力Pm’を大気圧の補正係数ekpaが適正な値となるまで使用することは好ましくなく、第二フローチャートのステップ206及び207では、エアフローメータの出力に基づき算出された今回の吸気管圧力Pm’(i)が前回Pm’(i-1)より小さくなれば、ガード値Pgとして確実に使用可能な値は、今回の吸気管圧力Pm’(i)であるとして、これをガード値Pgとするようになっている。
例えば、記憶されている補正係数ekpaが不適当な場合に備えて、機関始動直後はガード処理を実施しない又は第一フローチャートのステップ102において算出したような大気圧Paを単にガード値として使用することも考えられるが、補正係数ekpaが、何時の時点で適当な値に学習更新されるかが明確ではないために、補正大気圧に基づくガード処理を開始した時に、依然として失火等の問題が発生することがある。本実施形態では、前述したように、このような問題が発生することはない。
ところで、第二フローチャートにおいて、補正係数ekpaの学習更新には、スロットル弁開度に基づくスロットル弁通過空気量mtとエアフローメータの出力に基づくスロットル弁通過空気量mt’とが比較されるようにした。しかしながら、これは、本発明を限定するものではなく、例えば、比較する特定値は、スロットル弁通過空気量ではなく、スロットル弁開度及びエアフローメータの出力に基づきそれぞれに算出される吸気管圧力でも、吸入空気量でも良い。
ところで、燃焼空燃比を正確に制御するためには、燃料噴射を開始する以前に気筒内への正確な吸入空気量を推定して、燃料噴射量を決定しなければならない。しかしながら、正確な吸入空気量を推定するためには、厳密には、吸気弁閉弁時における吸入空気流量を算出しなければならない。すなわち、燃料噴射量を決定する時において、現在の吸入空気量mc(i)ではなく、吸気弁閉弁時における吸入空気量mc(i+n)を算出しなければならない。これは、図1に示すような吸気枝管3に燃料を噴射する内燃機関だけでなく、吸気行程において筒内へ直接燃料を噴射する内燃機関においても同様である。
そのためには、現在において、現在のスロットル弁開度TA(i)だけでなく、吸気弁閉弁時までの時間Δt毎のスロットル弁開度TA(i+1),TA(i+2),・・・TA(i+n)に基づき、式(1)においてμ・Aを変化させ、又は、式(4)においてPmTAを変化させ、各時間のスロットル弁通過空気量mtを算出することが必要となる。
各時間のスロットル弁開度TAは、現在の時間に対するアクセルペダルの踏み込み変化量に基づき、この踏み込み変化量が吸気弁閉弁時まで持続するとして、各時間のアクセルペダルの踏み込み量を推定し、それぞれの推定踏み込み量に対して、スロットル弁アクチュエータの応答遅れを考慮して決定することが考えられる。この方法は、スロットル弁がアクセルペダルと機械的に連結されている場合にも適用することができる。
しかしながら、こうして推定される吸気弁閉弁時におけるスロットル弁開度TA(i+n)は、あくまでも予測であり、実際と一致している保証はない。吸気弁閉弁時におけるスロットル弁開度TA(i+n)を実際と一致させるために、スロットル弁を遅れ制御するようにしても良い。アクセルペダルの踏み込み量が変化した時に、アクチュエータの応答遅れによって、スロットル弁開度は遅れて変化するが、この遅れ制御は、このスロットル弁の応答遅れを意図的に増大させるものである。
例えば、機関過渡時において、燃料噴射量を決定する時における現在のアクセルペダルの踏み込み量に対応するスロットル弁開度が、吸気弁閉弁時に実現されるように、実際の応答遅れ(無駄時間)を考慮してスロットル弁のアクチュエータを制御すれば、現在から吸気弁閉弁時までの時間毎のスロットル弁開度TA(i),TA(i+1),・・・TA(i+n)を正確に把握することができる。さらに具体的に言えば、アクセルペダルの踏み込み量が変化する時には、直ぐにアクチュエータへ作動信号を発するのではなく、燃料噴射量を決定する時から吸気弁閉弁時までの時間から無駄時間を差し引いた時間だけ経過した時にアクチュエータへの作動信号を発するようにするのである。もちろん、現在のアクセルペダルの踏み込み量に対応するスロットル弁開度を、吸気弁閉弁時以降に実現するようにスロットル弁の遅れ制御を実施しても良い。
エアフローメータ7の出力は機関定常時において信頼性が高く、それにより、機関定常時においては、式(11)を使用して算出される現在のスロットル弁通過空気量mt(i)は、式(1)又は(4)により算出されるスロットル弁通過空気量よりも信頼性が高い。こうして、機関定常時には、式(11)により算出された前回のスロットル弁通過空気量mt(i)を使用して、式(8)において今回の吸気管圧力Pm(i)を算出すると共に式(7)において今回のスロットル弁下流側の吸気温度Tm(i)を算出して、式(3)により今回の吸入空気量mc(i)を算出することが好ましい。
それにより、第一フローチャートを使用して、現在の吸入空気量mc(i)及び吸気弁閉弁時の吸入空気量mc(i+n)を算出すると共に、前述のように式(11)、式(8)、式(7)及び式(3)を使用してエアフローメータの出力に基づく現在の吸入空気量mc(i)’を逐次算出し、吸気弁閉弁時の吸入空気量を、mc(i+n)−mc(i)+mc(i)’により算出するようにしても良い。このような算出方法により、機関定常時には、同じモデル式に基づき同じスロットル弁開度として算出されるmc(i+n)とmc(i)とが確実に相殺され、エアフローメータの出力に基づき算出される正確な現在の吸入空気量が、吸気弁閉弁時の吸入空気量として得られる。また、機関過渡時には、mc(i)とmc(i)’とがほぼ相殺されるために、mc(i+n)として算出された吸気弁閉弁時の吸入空気量を得ることができる。