以下、図面を参照して本発明の実施形態について説明する。図1は、本発明の大気圧推定装置が用いられる内燃機関を示す図である。図1には筒内噴射型火花点火式内燃機関を示しているが、本発明の大気圧推定装置を別の火花点火式内燃機関や圧縮自着火式内燃機関に用いることも可能である。
図1に示したように、機関本体1はシリンダブロック2と、シリンダブロック2内で往復動するピストン3と、シリンダブロック2上に固定されたシリンダヘッド4とを具備する。ピストン3とシリンダヘッド4との間には燃焼室5が形成される。シリンダヘッド4には各気筒毎に吸気弁6と、吸気ポート7と、排気弁8と、排気ポート9とが配置される。さらに、図1に示したようにシリンダヘッド4の内壁面の中央部には点火プラグ10が配置され、シリンダヘッド4内壁面周辺部には燃料噴射弁11が配置される。またピストン3の頂面には燃料噴射弁11の下方から点火プラグ10の下方まで延びるキャビティ12が形成されている。
各気筒の吸気ポート7は下流側吸気管13を介してサージタンク14に連結され、サージタンク14は上流側吸気管15を介してエアクリーナ16に連結される。吸気管15内にはステップモータ17によって駆動されるスロットル弁18が配置される。一方、各気筒の排気ポート9は排気管19に連結され、この排気管19は排気浄化触媒(三元触媒等)20に連結される。なお、以下の説明では、スロットル弁18から吸気弁6までの間の上流側吸気管15、サージタンク14、下流側吸気管13によって画成される通路を吸気通路部分と称す。
電子制御ユニット(ECU)31はディジタルコンピュータからなり、双方向性バス32を介して相互に接続されたRAM(ランダムアクセスメモリ)33、ROM(リードオンリメモリ)34、CPU(マイクロプロセッサ)35、入力ポート36及び出力ポート37を具備する。サージタンク14には、サージタンク14内の空気(又は吸気管部分内の空気)の圧力を検出するための吸気管内圧力センサ40が設けられており、吸気管内圧力センサ40は吸気管内圧力に比例した出力電圧を発生し、この出力電圧が対応するAD変換器38を介して入力ポート36に入力される。また、スロットル弁18上流の上流側吸気管15内には、上流側吸気管15内を流れる空気の流量を検出するためのエアフロメータ41が設けられており、同様に出力電圧が対応するAD変換器38を介して入力ポート36に入力される。
また、スロットル弁18の開度を検出するためのスロットル開度センサ43と、内燃機関の周囲の大気の温度、又は吸気管15に吸入される空気の温度(吸気温)を検出するための大気温センサ44とが設けられ、これらセンサの出力電圧は対応するAD変換器38を介して入力ポート36に入力される。また、アクセルペダル45にはアクセルペダル45の踏込み量に比例した出力電圧を発生する負荷センサ46が接続され、負荷センサ46の出力電圧は対応するAD変換器38を介して入力ポート36に入力される。クランク角センサ47は例えばクランクシャフトが30度回転する毎に出力パルスを発生し、この出力パルスが入力ポート36に入力される。CPU35ではこのクランク角センサ47の出力パルスから機関回転数が計算される。一方、出力ポート37は対応する駆動回路39を介して点火プラグ10、燃料噴射弁11及びステップモータ17に接続される。
ところで、内燃機関では、内燃機関の燃焼室5において燃焼される混合気の空燃比を目標空燃比にするために、吸気弁が閉じたときに燃焼室5内に充填されている空気の量(以下、「筒内充填空気量Mc」と称す)を推定し、推定された筒内充填空気量Mcに基づいて混合気の空燃比が目標空燃比となるように燃料噴射弁によって内燃機関の燃焼室5(又は吸気通路)に噴射する燃料の量(以下、「燃料噴射量」と称す)を定めている。したがって、内燃機関の燃焼室5において燃焼される混合気の空燃比を正確に目標空燃比とするためには、筒内充填空気量Mcを正確に推定する必要がある。
そこで、本実施形態の内燃機関では、図2に示したエアモデルM10によって筒内充填空気量Mcを算出することとしている。以下このエアモデルM10について説明する。
エアモデルM10は、図2に示したようにスロットルモデルM11、吸気管モデルM12、吸気弁モデルM13を備える。スロットルモデルM11には、スロットル開度センサ43によって検出されたスロットル弁18の開度(スロットル開度)θtと、大気温センサ44によって検出された内燃機関周囲の大気温(又は、吸気管15に吸入される空気の圧力)Taと、内燃機関周囲の大気温度Paと、後述する吸気管モデルM12において算出された吸気通路部分内の圧力(吸気管内圧力)Pmとが入力され、これら入力された各パラメータの値を後述するスロットルモデルM11のモデル式に代入することで、単位時間当たりにスロットル弁18を通過する空気の流量(以下、「スロットル弁通過空気流量mt」と称す)が算出される。スロットルモデルM11において算出されたスロットル弁通過空気流量mtは、吸気管モデルM12へ入力される。
吸気管モデルM12には、スロットルモデルM11において算出されたスロットル弁通過空気流量mtと、以下で詳述する単位時間当たりに燃焼室5内に流入する空気の流量(以下、「筒内吸入空気流量mc」と称す。なお、筒内吸入空気流量mcの定義については、吸気弁モデルM13において詳述する)とが入力され、これら入力された各パラメータの値を後述する吸気管モデルM12のモデル式に代入することで、吸気管部分内の空気の圧力(以下、「吸気管内圧力Pm」と称す)と吸気管部分内の空気の温度(以下、「吸気管内温度Tm」と称す)とが算出される。吸気管モデルM12において算出された吸気管内圧力Pmと吸気管内温度Tmは共に吸気弁モデルM13へ入力され、さらに吸気管内圧力PmはスロットルモデルM11にも入力される。
吸気弁モデルM13には、吸気管モデルM12において算出された吸気管内圧力Pm及び吸気管内温度Tmの他に大気温度Taが入力され、これら入力された各パラメータの値を後述する吸気弁モデルM13のモデル式に代入することで、筒内吸入空気流量mcが算出される。算出された筒内吸入空気流量mcは、筒内充填空気量Mcに変換され、この筒内充填空気量Mcに基づいて燃料噴射弁からの燃料噴射量が決定される。また、吸気管モデルM13において算出された筒内吸入空気流量mcは吸気管モデルM12に入力される。
図2から分かるように、エアモデルM10では或るモデルにおいて算出されたパラメータの値が別のモデルへの入力値として利用されるので、エアモデルM10全体では、実際に入力される値はスロットル開度θt、大気圧Pa、及び大気温度Taの三つのパラメータのみであり、これら三つのパラメータから筒内充填空気量Mcが算出される。
次に、エアモデルM10の各モデルM11〜M13について説明する。
スロットルモデルM11では、大気圧Pa、大気温度Ta、吸気管内圧力Pm、スロットル開度θtから、下記式(1)に基づいてスロットル弁通過空気流量mtが算出される。ここで、式(1)におけるμtはスロットル弁における流量係数で、スロットル開度θtの関数であり、よって図3に示したようなマップから定まる。また、Atはスロットル弁の開口断面積を示し、スロットル開度θtの関数であり、図4に示したようなマップから定まる。なお、これら流量係数μt及び開口断面積Atをまとめたμ・Atをスロットル開度θtから一つのマップで求まるようにしてもよい。また、Rは気体定数に関する定数であり、実際には気体定数を1mol当たりの気体(空気)の質量M
lmolで除算した値である。
また、Φ(Pm/Pa)は下記式(2)に示した関数であり、この式(2)におけるκは比熱比(一定値とする)である。この関数Φ(Pm/Pa)は図5に示したようなグラフに表すことができるので、このようなグラフをマップとしてECU31のROM34に保存し、実際には上記式(2)を用いて計算するのではなくマップからΦ(Pm/Pa)の値を求めるようにしてもよい。
これらスロットルモデルM11の式(1)及び式(2)は、スロットル弁18上流の気体の圧力を大気圧Pa、スロットル弁18上流の気体の温度を大気温度Ta、スロットル弁18の下流の気体の圧力を吸気管内圧力Pmとして、図6に示したようなスロットル弁18のモデルに対して、質量保存則、エネルギ保存則及び運動量保存則を適用し、さらに気体の状態方程式、比熱比の定義式、及びマイヤーの関係式を利用することによって得られる。
吸気管モデルM12では、スロットル弁通過空気流量mt、筒内吸入空気流量mc、及び大気温度Taから、下記式(3)及び式(4)に基づいて吸気管内圧力Pm及び吸気管内温度Tmが算出される。なお、式(3)及び式(4)におけるVmは吸気管部分の容積に等しい定数である。
ここで、吸気管モデルM12について図7を参照して説明する。吸気管部分の総空気量をMとすると、総空気量Mの時間的変化は、吸気管部分に流入する空気の流量、すなわちスロットル弁通過空気流量mtと、吸気管部分から流出する空気の流量、すなわち筒内吸入空気流量mcとの差に等しいため、質量保存則により下記式(5)が得られ、この式(5)及び気体の状態方程式(Pm・Vm=M・R・Tm)より、式(3)が得られる。
また、吸気管部分内の気体のエネルギM・Cv・Tmの時間的変化量は、吸気管部分に流入する気体のエネルギと吸気管部分から流出する気体のエネルギとの差に等しい。このため、吸気管部分に流入する気体の温度を大気温度Ta、吸気管部分から流出する気体の温度を吸気管内温度Tmとすると、エネルギ保存則により下記式(6)が得られ、この式(6)及び上記気体の状態方程式より、式(4)が得られる。
吸気弁モデルM13では、吸気管内圧力Pm、吸気管内温度Tm、及び大気温度Taから、下記式(7)に基づいて、筒内吸入空気流量mcが算出される。なお、式(7)におけるa、bは、機関回転数Neから、さらに吸気弁6の位相角(バルブタイミング)及び作用角を変更できる可変動弁機構を備えた内燃機関の場合には吸気弁6の位相角、作用角から定まる値である。
上述した吸気弁モデルM13について図8を参照して説明する。一般に、吸気弁6が閉じたときに燃焼室5内に充填されている空気の量である筒内充填空気量Mcは、吸気弁6が閉弁するとき(吸気弁閉弁時)に確定し、吸気弁閉弁時の燃焼室5内の圧力に比例する。また、吸気弁閉弁時の燃焼室5内の圧力は吸気弁上流の気体の圧力、すなわち吸気管内圧力Pmと等しいとみなすことができる。したがって、筒内充填空気量Mcは、吸気管内圧力Pmに比例すると近似することができる。
ここで、単位時間当たりに吸気管部分から流出する全空気の量を平均化したもの、又は単位時間当たりに吸気管部分から全ての燃焼室5に吸入される空気の量を一つの気筒の吸気行程に亘って(後述するように本実施形態ではクランク角180°分)平均化したものを筒内吸入空気流量mc(以下で詳述する)とすると、筒内充填空気量Mcが吸気管内圧力Pmに比例することから、筒内吸入空気流量mcも吸気管内圧力Pmに比例すると考えられる。このことから、理論及び経験則に基づいて、上記式(7)が得られる。なお、式(7)における値aは比例係数であり、値bは燃焼室5内に残存していた既燃ガスを表す値(排気弁8閉弁時に燃焼室5内に残る既燃ガス量を後述する時間ΔT180°で除算したものに等しい)である。また、実際の運転では過渡時に吸気管内温度Tmが大きく変化する場合があるため、これに対する補正として理論及び経験則に基づいて導かれたTa/Tmが乗算されている。
ここで、筒内吸入空気流量mcについて、図9を参照して内燃機関が4気筒である場合について説明する。なお、図9は横軸がクランクシャフトの回転角度、縦軸が単位時間当たりに吸気管部分から燃焼室5に実際に流入する空気の流量である。図9に示したように、4気筒の内燃機関では、吸気弁6が例えば1番気筒、3番気筒、4番気筒、2番気筒の順に開弁し、各気筒に対応する吸気弁6の開弁量に応じて吸気管部分から各気筒の燃焼室5内へ空気が流入する。例えば、吸気管部分から各気筒の燃焼室5内に流入する空気の流量の変位は図9に破線で示した通りであり、これを総合して吸気管13から全気筒の燃焼室に流入する空気の流量は図9に実線で示した通りである。また、例えば1番気筒への筒内充填空気量Mcは図9に斜線で示した通りである。
これに対して、実線で示した吸気管から全ての気筒の燃焼室に流入する空気の量を平均化したものが筒内吸入空気流量mcであり、図中に一点鎖線で示す。そして、この一点鎖線で示した筒内吸入空気流量mcに、4気筒の場合にはクランクシャフトが180°(すなわち、4ストローク式内燃機関において1サイクル中にクランクシャフトが回転する角度720°を気筒数で割った角度)回転するのにかかる時間ΔT180°を乗算したものが筒内充填空気量Mcとなる。したがって、吸気弁モデルM13で算出された筒内吸入空気流量mcにΔT180°を乗算することで、筒内充填空気量Mcが算出される(Mc=mc・ΔT180°)。より詳細には、筒内充填空気量Mcが吸気弁閉弁時の圧力に比例することを考慮して、吸気弁閉弁時の筒内吸入空気流量mcにΔT180°を乗算したものが筒内充填空気量Mcとされる。
次に、上記エアモデルM10を内燃機関の制御装置に実装して、実際に筒内充填空気量Mcを算出する場合について説明する。筒内充填空気量Mcはエアモデル10を用いて、上記式(1)、式(3)、式(4)、及び式(7)を解くことにより表される。この場合、ECU31で処理するために、これらの式を離散化する必要がある。時刻t、計算間隔Δtを用いて式(1)、式(3)、式(4)、及び式(7)を離散化すると、それぞれ下記式(8)、式(9)、式(10)、及び式(11)が得られる。なお、吸気管内温度Tm(t+Δt)は、式(9)及び式(10)によってそれぞれ算出されたPm/Tm(t+Δt)及びPm(t+Δt)から、式(12)によって算出される。
このようにして実装されたエアモデルM10では、スロットルモデルM11の式(8)で算出された時刻tにおけるスロットル弁通過空気流量mt(t)と、吸気弁モデルM13の式(11)で算出された時刻tにおける筒内吸入空気流量mc(t)とが、吸気管モデルM12の式(9)及び式(10)に代入され、これにより時刻t+Δtにおける吸気管内圧力Pm(t+Δt)及び吸気管内温度Tm(t+Δt)が算出される。次いで、算出されたPm(t+Δt)及びTm(t+Δt)は、スロットルモデルM11及び吸気弁モデルM13の式(8)及び式(11)に代入され、これにより時刻t+Δtにおけるスロットル弁通過空気流量mt(t+Δt)及び筒内吸入空気流量mc(t+Δt)が算出される。そして、このような計算を繰り返すことによって、スロットル開度θt、大気圧Pa、及び大気温度Taから、任意の時刻tにおける筒内吸入空気流量mcが算出され、算出された筒内吸入空気流量mcに上記時間ΔT180°を乗算することで、任意の時刻tにおける筒内充填空気量Mcが算出される。
なお、内燃機関の始動時には、すなわち時刻t=0においては、吸気管内圧力Pmは大気圧と等しい(Pm(0)=Pa)とされ、吸気管内温度Tmは大気温度と等しい(Tm(0)=Ta)とされて、各モデルM11〜M13における計算が開始される。
次に、本発明の大気圧推定装置について説明する。上述したように、スロットルモデルM11には大気圧Paを入力する必要があるが、大気圧Paを検出するために大気圧センサを設けると製造コストの増大を招く。また、内燃機関の始動直前又は始動時に吸気管内圧力センサ40によって検出された吸気管内圧力Pmを大気圧として用いると、始動直後又は始動時には大気圧をほぼ正確に検出することができるが、その後車両が移動して車両周囲の実際の大気圧が変化すると、スロットルモデルM11で用いている大気圧Paの値と実際の大気圧とが異なる値となってしまい、その結果エアモデルM10によって算出される筒内充填空気量Mcに誤差が生じてしまう。このため、大気圧センサを用いずに車両周囲の実際の大気圧が変化しても実際の大気圧を推定することができる大気圧推定装置が必要とされる。
ところで、スロットル弁通過空気流量mt、吸気管内圧力Pm及びスロットル開度θtが求まれば、上述したスロットルモデルM11で用いられる式(1)にこれらの値を代入することにより大気圧Paを逆算することができる。ここで、吸気管内圧力Pm及びスロットル開度θt(すなわち流量係数μt及びスロットル弁の開口断面積At)はそれぞれ吸気管内圧力センサ40及びスロットル開度センサ43により検出される。
また、上述したエアモデルM10は最も単純なモデルを示しているため、スロットル弁18上流の吸気管15内を流れる空気の流量を検出するためのエアフロメータ41を必要としていないが、上記エアモデルM10よりも複雑な多くのエアモデルではエアフロメータが必要とされる。したがって、このエアフロメータは、スロットル弁18の直ぐ上流に設けられるため、エアフロメータ41によって検出された空気の流量はスロットル弁通過空気流量mtにほぼ等しく、このためエアフロメータ41によって検出された空気の流量をスロットル弁通過空気流量mtと近似することができる。なお、以下の説明ではエアフロメータ41によってスロットル弁通過空気流量mtが検出されるものとして説明する。
ところが、スロットルモデルM11のモデル式(1)では流量係数μtがスロットル開度θtの関数として予め実験により又は計算によって求められるが、この流量係数μtの値に誤差が生じている場合がある。このように流量係数μtの値に誤差が生じていると、吸気管内圧力センサ40、エアフロメータ41及びスロットル開度センサ43によって検出された吸気管内圧力Pm、スロットル弁通過空気流量mt及びスロットル開度θtを式(1)に代入しても大気圧Paを正確に算出することができない。
図10(a)は、エアフロメータ41によって検出されたスロットル弁通過空気流量mtactと吸気管内圧力センサ40によって検出された吸気管内圧力Pmactとに基づいてモデル式(1)を作成した場合に、作成したモデル式(1)によって表される吸気管内圧力とスロットル弁通過空気流量との関係を示す図である。ここで、スロットルモデルM11のモデル式(1)の流量係数μtに誤差がない場合には、作成された式(1)によって表される吸気管内圧力とスロットル弁通過空気流量との関係は図10(a)に曲線Aで示したようになり、実際の吸気管内圧力とスロットル弁通過空気流量との関係とほぼ同一となる。そして、スロットル弁通過空気流量が零であるときの吸気管内圧力、すなわちモデル式(1)を逆算して算出される大気圧は実際の大気圧Paactにほぼ一致している。
一方、スロットルモデルM11のモデル式(1)の流量係数μtに誤差がある場合、例えば流量係数μtが実際の値よりも大きい場合には、作成されたモデル式(1)によって表される吸気管内圧力とスロットル弁通過空気流量との関係は図10(a)に曲線Bで示したようになり、実際の吸気管内圧力とスロットル弁通過空気流量との関係と大きく異なったものとなってしまう。そして、スロットル弁通過空気流量が零であるときの吸気管内圧力として算出された圧力、すなわちモデル式(1)を逆算して算出される大気圧Paestは実際の大気圧Paactと大きく異なった値となってしまう(図10(a)のΔPa)。
このように、スロットルモデルM11のモデル式(1)を逆算して大気圧を推定しようとすると、流量係数μtに誤差がある場合に、逆算により算出された吸気管内圧力Paestと実際の大気圧Paactとが大きく異なった値となってしまう。
しかしながら、スロットル開度が大きい等により、吸気管内圧力が大気圧に近い値となっているときに検出されたスロットル弁通過空気流量mtactと吸気管内圧力Pmactとに基づいてモデル式(1)を作成した場合、流量係数μtに誤差があってもスロットルモデルM11のモデル式(1)を逆算することによって比較的正確に吸気管内圧力を算出することができる。
図10(b)は、吸気管内圧力が大気圧に近い値となっているときに、検出されたスロットル弁通過空気流量mtactと吸気管内圧力Pmactとに基づいてモデル式(1)を作成した場合に、モデル式(1)によって算出される吸気管内圧力とスロットル弁通過空気流量との関係を示す図である。図10(b)に示したように、エアフロメータ41によって検出されたスロットル弁通過空気流量mtact及び吸気管内圧力センサ40によって検出された吸気管内圧力Pmactに基づいて作成されたスロットルモデルM11のモデル式(1)よって表される吸気管内圧力とスロットル弁通過空気流量との関係は、流量係数μtに誤差がない場合には図10(b)に曲線A’で示したようになり、実際の吸気管内圧力とスロットル弁通過空気流量との関係とほぼ同一となる。
一方、スロットルモデルM11のモデル式(1)の流量係数μtに誤差がある場合には、作成されたモデル式(1)によって表される吸気管内圧力とスロットル弁通過空気流量との関係は図10(b)に曲線B’で示したようになり、実際の吸気管内圧力とスロットル弁通過空気流量との関係とは異なったものとなる。しかしながら、スロットル弁通過空気流量が零であるときの吸気管内圧力として算出された圧力、すなわちモデル式(1)を逆算して算出される大気圧Paestは実際の大気圧Paactに比較的近い値となる。
すなわち、吸気管内圧力が大気圧に近い値となっている場合には、モデル式(1)の流量係数μtに誤差があったとしても、モデル式(1)を逆算して算出された大気圧Paestは実際の大気圧Paactからの誤差が小さいものとなる。換言すると、大気圧Paに対する吸気管内圧力Pmの比率(以下、「圧力比率」と称す)Pm/Paが1に近いときには流量係数等に誤差があったとしてもモデル式(1)を逆算して算出された大気圧は実際の大気圧からの誤差が小さいのに対して、圧力比率Pm/Paが小さいときには流量係数等に誤差があるとモデル式(1)を逆算して算出された大気圧は実際の大気圧からの誤差が大きい。
そこで、本実施形態では、圧力比率Pm/Paが1に近いとき、すなわち圧力比率Pm/Paが所定比率α(1に近い値)以上であるときにのみ、スロットルモデルM11のモデル式(1)を逆算して大気圧を算出することとしている。ここで、所定比率αは、モデル式に存在する流量係数等の誤差が一定値(例えば20%)以下であった場合に、このモデル式によって算出された大気圧の誤差が所定値(例えば2%)以下になるように設定される。このようにして、本実施形態では、圧力比率Pm/Paが1に近いときにのみ大気圧の算出を行うため、大気圧を比較的正確に推定することができる。
次に、本発明の第二実施形態の大気圧推定装置について説明する。
ところで、上記実施形態の大気圧推定装置では、エアフロメータ41によって検出されたスロットル弁通過空気流量を利用して、スロットルモデルM11のモデル式(1)を逆算して大気圧を算出することとしており、特に圧力比率Pm/Paが1に近い値であるとき、すなわち吸気管内圧力Pmが高いときに大気圧の算出を行うこととしている。
ところが、圧力比率Pm/Paが1に近い値であるときにはエアフロメータ41によって検出されたスロットル弁通過空気流量は必ずしも実際の流量を表しておらず、検出精度が低くなってしまうことがある。
図11は、スロットル開度が大きくて圧力比率Pm/Paが1に近い値となっている場合において吸気管内を順流方向に(エアクリーナ16から燃焼室5に向かって)流れる空気の流量のタイムチャートである。圧力比率Pm/Paが1近傍となっている場合には、図11に実線Cで示したように、スロットル弁通過空気流量は大きく脈動し、一時的に逆流が生じる場合がある。
ここで一般にエアフロメータ41では吸気管15内を流れる空気の流量を検出することはできるが、その空気の流れる方向が順流方向であるか逆流方向であるかを検出することはできない。このため、図11に破線Dで示したように、吸気管15内を順流方向に流れる空気の流量がマイナスとなっているときであってもエアフロメータ41によって検出される順流方向に流れる空気の流量はプラスとなってしまう。さらに、エアフロメータ41には応答遅れがあるため、図11に破線で示したように、実際のスロットル弁通過空気流量に対して遅れを生じている。
このように、使用するエアフロメータ41によっては圧力比率Pm/Paが1に近い値となっているときに特に検出精度が低くなってしまう。そこで、本実施形態では、エアフロメータ41を用いずに、スロットルモデルM11に加えて吸気管モデルM12及び吸気弁モデルM13を用いて大気圧を推定することとしている。
ここで、エアモデルM10では吸気管モデルM12において吸気管内圧力Pmが算出されるが、この算出された吸気管内圧力Pmの値はスロットルモデルM11に入力される大気圧Paの値が正確でない場合には絶対圧としては正確ではない。しかしながら、このようにして算出された吸気管内圧力Pmに対するスロットルモデルM11に入力される大気圧Paの比率、すなわち圧力比率Pm/Paの値は大気圧Paの値に関わらず比較的正確に算出される。
すなわち、圧力比率Pm/Paの値は、機関回転数Ne、スロットル開度θt、吸気弁6の位相角VT等のパラメータの値が同一であれば、大気圧をどのような値に設定しても等しい値となる。つまり、スロットル開度θtが一定であればスロットルモデルM11における流量係数μt等の値が一定であり、機関回転数Ne、位相角VT等が一定であれば吸気弁モデルM13における定数a、bの値が一定であり、その結果、これらモデルのモデル式を用いて算出される圧力比率Pm/Paの値も一定となり、比較的正確な値となっている。
したがって、本実施形態では、スロットルモデルM11のモデル式(1)に大気圧Paとして任意の値、例えば標準大気圧を入力すると共にその他のパラメータの値をエアモデルM10の各モデル式に入力して吸気管内圧力Pmを算出する。そして、算出された吸気管内圧力Pmをモデル式(1)に入力した任意の大気圧Paで除算して圧力比率Pm/Paを算出する。これにより圧力比率Pm/Paの値を正確に算出することができる。
そして、上述したように本実施形態では、吸気管内圧力センサ40により吸気管内圧力を検出しているため、実際の吸気管内圧力Pmactを正確に求めることができる。そこで、本実施形態では、このようにして検出された吸気管内圧力の実測値Pmactを上記Pm/Paの値で除算することによって比較的正確に実際の大気圧Paを算出することができる。
なお、本実施形態においても、図10を用いて説明したように流量係数μt等の値に誤差が生じている場合においては圧力比率Pm/Paの値が1に近い値である場合の方が算出される圧力比率Pm/Paの値に生じる誤差が小さい。図12は、スロットルモデルM11の流量係数μt及び吸気弁モデルM13の定数aにそれぞれ20%の誤差を加えた場合における、圧力比率Pm/Paの値と圧力比率Pm/Paの値に生じる誤差との関係を示す図である。図12(b)は図12(a)の拡大図である。
図12から、圧力比率Pm/Paの値が低いときには圧力比率Pm/Paに生じる誤差の値も大きく、スロットルモデルM11や吸気弁モデルM13に生じているモデル化誤差の影響を大きく受けることがわかる。逆に圧力比率Pm/Paの値が高いときには圧力比率Pm/Paに生じる誤差の値も小さく、スロットルモデルM11や吸気弁モデルM13に生じているモデル化誤差の影響をほとんど受けないことがわかる。従って、圧力比率Pm/Paが1に近い所定比率α以上(Pm/Pa≧α)であるときに上述したように大気圧を算出すれば、比較的正確に大気圧を推定することができる。例えば、スロットルモデルM11の流量係数μt及び吸気弁モデルM13の定数aにそれぞれ20%の誤差が生じている場合に大気圧の推定誤差を2%以下に抑えたい場合には、圧力比率Pm/Paの値が約0.965以上であるときに大気圧の推定を行えばよい。
なお、図12からわかるように、圧力比率Pm/Paの誤差率は機関回転数によってはほとんど変化せず、よって所定値αの値は機関回転数には依存しないことがわかる。
図13は、本実施形態の大気圧推定装置の制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔毎の割り込みによって実行される。
図13を参照すると、まずステップ101において圧力比率Pm/Paが取得される。本実施形態では、大気圧推定装置とは別にエアモデルM10によって各モデル式による計算が行われており、このエアモデルM10では機関始動時に吸気管内圧力センサ40によって検出された吸気管内圧力を大気圧として用いているか、または本制御ルーチンにより前回算出された大気圧を用いて計算が行われている。これにより、エアモデルM10では吸気管内圧力Pmが算出され、圧力比率Pm/Paが算出される。ステップ101では、このようにして算出された圧力比率Pm/Paが取得せしめられる。
次いで、ステップ102では、ステップ101において取得せしめられた圧力比率Pm/Paが所定値α以上であるか、すなわち大気圧を小さい誤差で推定することができる条件下にあるか否かが判定される。ここで、所定値αは1に近い値であり、圧力比率Pm/Paの誤差を小さく抑えることができるような値とされる。圧力比率Pmが所定値α以上であると判定された場合にはステップ103へと進む。ステップ103では推定フラグflagが1とされる。推定フラグflagは大気圧の推定条件下にあることを示すフラグであり、大気圧の推定条件下にある場合に1とされ、それ以外の場合に0とされる。
次いで、ステップ104では、積算値sumが下記式(13)によって算出される。式(13)において、Pmactは吸気管内圧力センサ40によって検出された吸気管内圧力であり、Pa及びPmはそれぞれエアモデルM10において使用されている大気圧及び吸気管内圧力である。積算値sumは、本制御ルーチンにおいて算出されたPmact×Pa/Pmの値を複数回に亘って積算した値である。
sum=sum+Pmact×Pa/Pm …(13)
また、ステップ104では、カウンタcntに1が加えられる(cnt←cnt+1)。カウンタcntは積算値sumの計算にあたってPmact×Pa/Pmをsumに加算した回数を示すカウンタである。
その後、圧力比率Pm/Paの値がα以上である間はステップ101〜104が繰り返される。そして、圧力比率Pm/Paの値がαよりも小さくなると、ステップ102からステップ105へと進む。ステップ105では、推定フラグflagが1であるか否かが判定される。前回までステップ101〜104を繰り返していた場合には推定フラグflagは1にセットされており、この場合にはステップ106へと進む。
ステップ106では、カウンタcntの値がカウンタ最小値cntmin以上であるか否かが判定される。すなわち、大気圧を正確に算出するためには圧力比率Pm/Paを或る程度の回数に亘って算出してその平均値に基づいて大気圧を算出するのが好ましいため、圧力比率Pm/Paの算出回数が多い場合、すなわちカウンタcntの値がカウンタ最小値cntmin以上である場合にはステップ107に進んで大気圧の推定を行い、逆に圧力比率Pm/Paの算出回数が少ない場合、すなわちカウンタcntの値がカウンタ最小値cntminよりも小さい場合にはステップ108に進んで大気圧の推定を行わないこととしている。なお、ステップ107、108では、積算値sum、カウンタcnt及び推定フラグflagがリセットせしめられ、制御ルーチンが終了せしめられる。このようにして推定された大気圧PaはエアモデルM10のスロットルモデルM11のモデル式(1)に入力される。
なお、上記実施形態ではエアモデルM10において大気圧を用いる場合のみを説明しているが、上記エアモデルM10とは異なるエアモデルや、エアモデルを用いた燃料噴射量の制御とは異なる燃料噴射量の制御においても大気圧を入力することが必要な場合があり、上記実施形態の大気圧推定装置はこのような場合においても利用することができる。