本発明は上記課題に対処するようになされたものである。本発明の目的の一つは、燃焼割合を用いて点火時期を最適な時期に近づけるとともに燃焼割合を用いて空燃比を希薄限界に近い空燃比に制御し、且つ、機関の運転状態を安定化させることが可能な制御装置を提供することにある。
本発明の内燃機関の制御装置は、複数の気筒を有する多気筒内燃機関に適用され、燃焼割合取得手段と、燃料供給手段と、吸入空気量制御手段と、点火時期制御手段と、目標第一燃焼割合変更手段と、を備える。
前記燃焼割合取得手段は、前記複数の気筒のそれぞれについて、圧縮上死点後第一クランク角における実際の燃焼割合を第一燃焼割合として取得する。圧縮上死点後第一クランク角は燃焼が開始した時点から燃焼が終了する時点までの燃焼期間内であって燃焼期間の初期〜中期に相当するクランク角に設定される。例えば、圧縮上死点後第一クランク角は圧縮上死点後8度クランク角(ATDC8°)である。更に、前記燃焼割合取得手段は、前記複数の気筒のそれぞれについて、前記圧縮上死点後第一クランク角よりも遅角側である圧縮上死点後第二クランク角における実際の燃焼割合を第二燃焼割合として取得する。圧縮上死点後第二クランク角は、燃焼が実質的に終了する直前の時点(即ち、燃焼期間の後期)のクランク角に設定される。例えば、圧縮上死点後第二クランク角は圧縮上死点後30度クランク角(ATDC30°)である。
前記燃料供給手段は、前記機関に要求されるトルクである「要求トルク」を変更するために変更される「要求トルク関連量」に基づいて、前記複数の気筒のそれぞれに供給する燃料量を決定する。更に、前記燃料供給手段は、その決定した燃料量の燃料を前記複数の気筒のそれぞれに供給する。「要求トルク関連量」は、前記機関が発生すべきトルクを決定するパラメータである。例えば、要求トルク関連量は、アクセルペダル操作量、アクセルペダル操作量及び機関回転速度、及び、他の装置(例えば、ハイブリッド車両の制御装置)からの要求トルク等である。
図1は、ある内燃機関について、点火時期SAと、第一燃焼割合(圧縮上死点後8度クランク角における燃焼割合MFB8)と、その機関の発生トルクTRQと、の関係を示したグラフである。図1から理解されるように、発生トルクTRQが最大となる第一燃焼割合(MFB8)は約60%(図1の領域Aを参照。)である。目標第一燃焼割合は、このように発生トルクTRQが最大となる場合の第一燃焼割合又はその近傍の割合に設定される。
ある気筒において所定の燃料量、所定の吸入空気量及び所定の点火時期にて混合気を燃焼させた場合の第一燃焼割合は、他の気筒において同所定の燃料量、同所定の吸入空気量及び同所定の点火時期にて混合気を燃焼させた場合の第一燃焼割合と一致するとは限らない。これは、ある気筒の「燃焼室の形状、デポジットの付着の仕方及び量、吸気弁の移動軌跡、点火プラグ性能、燃焼室の冷却効率、並びに、ガスの流れ方」等の燃焼状態に影響を及ぼす気筒性能が、他の気筒の気筒性能と完全には一致しないからである。更に、同一機種の内燃機関であっても、各機関は製造上の個体差を有する。
そこで、本制御装置の点火時期制御手段は、それぞれの気筒の第一燃焼割合が目標第一燃焼割合に近しくなるようにそれぞれの気筒の点火時期を制御する。この結果、各気筒は最大トルクに近しいトルクを発生することができる。目標第一燃焼割合は、例えば、45〜65%のうちの適値である。
図2は、燃料供給量を変化させることなく吸入空気量を変更することにより機関に供給される混合気の空燃比を変化させた場合における燃焼割合を示したグラフである。図2において点火時期Aigは一定である。図2において、破線は混合気の空燃比が理論空燃比である場合の燃焼割合を示し、実線は混合気の空燃比が理論空燃比よりも大きい第一リーン空燃比である場合の燃焼割合を示し、一点鎖線は混合気の空燃比が第一リーン空燃比よりも大きい第二リーン空燃比である場合の燃焼割合を示す。
図2に示したように、空燃比が大きくなるほど(リーン側の空燃比になるほど)、燃焼割合の変化率(即ち、燃焼速度に相当する値)は減少する。従って、点P1a、P1b及びP1cにより示されるように、燃焼期間の初期〜中期の第一燃焼割合(図2においては圧縮上死点後8度クランク角における燃焼割合MFB8)は、燃焼される混合気の空燃比が大きいほど小さくなる。更に、点P2a、P2b及びP2cにより示されるように、燃焼期間の後期の燃焼割合である第二燃焼割合(図2においては圧縮上死点後30度クランク角における燃焼割合MFB30)は、燃焼される混合気の空燃比が大きいほど小さくなる。
以上のことから、第二燃焼割合が目標第二燃焼割合よりも大きい場合、燃料供給量を一定に維持しながら吸入空気量を増大することにより空燃比を大きくすれば(リーン化すれば)、第二燃焼割合は目標第二燃焼割合に近づくことが理解される。更に、第二燃焼割合が目標第二燃焼割合よりも小さい場合、燃料供給量を一定に維持しながら吸入空気量を減少することにより空燃比を小さくすれば(リッチ化すれば)、第二燃焼割合は目標第二燃焼割合に近づくことが理解される。
図3は、燃料供給量及び吸入空気量を変化させることなく(即ち、空燃比を変化させることなく)、点火時期を変化させた場合における燃焼割合を示したグラフである。図3において、破線は点火時期が第一点火時期Aig1である場合の燃焼割合を示し、実線は点火時期が第一点火時期Aig1よりも遅角側の第二点火時期Aig2である場合の燃焼割合を示し、一点鎖線は点火時期が第二点火時期Aig2よりも遅角側の第三点火時期Aig3である場合の燃焼割合を示す。
図3に示したように、点火時期が遅角側に移行するほど、燃焼割合の立ち上がり開始時期が遅くなる。従って、点P1d、P1e及びP1fにより示されるように、第一燃焼割合(図3の例における燃焼割合MFB8)は、点火時期が遅角側に移行するほど小さくなる。更に、点P2d、P2e及びP2fにより示されるように、第二燃焼割合(図3の例における燃焼割合MFB30)は、点火時期が遅角側に移行するほど小さくなる。
以上のことから、第一燃焼割合が目標第一燃焼割合よりも大きい場合、点火時期を遅角側に変化させれば、第一燃焼割合は目標第一燃焼割合に近づくことが理解される。更に、第一燃焼割合が目標第一燃焼割合よりも小さい場合、点火時期を進角側に変化させれば、第一燃焼割合は目標第一燃焼割合に近づくことが理解される。加えて、点火時期を進角側に変化させれば第二燃焼割合は大きくなり、点火時期を遅角側に変化させれば第二燃焼割合は小さくなることが理解される。
以上の観点に立ち、本制御装置の吸入空気量制御手段は、空気量制御用第二燃焼割合が目標第二燃焼割合に一致するように前記機関の吸入空気量を制御する。空気量制御用第二燃焼割合は、前記複数の気筒のそれぞれに対して取得された前記第二燃焼割合に基づいて定められる。例えば、空気量制御用第二燃焼割合は、それぞれの気筒に対して取得された前記第二燃焼割合の平均値、それぞれの気筒に対して取得された前記第二燃焼割合のうちの最小値、及び、それぞれの気筒に対して取得された前記第二燃焼割合のうちの最小値を除いた残りの前記第二燃焼割合の平均値等である。例えば、目標第二燃焼割合は、85〜95%のうちの適値である。目標第二燃焼割合は、正常な燃焼が発生しているとき、空気量制御用第二燃焼割合が目標第二燃焼割合に一致するように前記機関の吸入空気量を制御することにより、機関(各気筒)に供給される混合気の空燃比が希薄限界に近いリーン空燃比になるように設定される。
このように、本発明の制御装置によれば、燃料量は要求トルク関連量に応じて定められ、吸入空気量は空気量制御用第二燃焼割合が目標第二燃焼割合に一致するように制御される。更に、点火時期は、「前記複数の気筒のそれぞれに対して取得された前記第一燃焼割合」が「前記目標第二燃焼割合よりも小さい目標第一燃焼割合」に一致するように、気筒毎に独立して制御され、MBTに近づく。従って、理想的な希薄燃焼が行われ、優れた燃費を期待することができる。
しかしながら、そもそも、混合気の空燃比が大きい場合の燃焼(希薄燃焼)は不安定な燃焼になり易い。また、混合気の空燃比が過大になると、空気量制御用第二燃焼割合は目標第二燃焼割合よりも小さくなり、同時に第一燃焼割合は目標第一燃焼割合より小さくなる。その結果、点火時期は進角側に移行される。これにより、希薄燃焼時の着火遅れ(点火時期から実際の燃焼が開始するまでの時間)は補償されるものの、点火時期は相当に進角側の値となるから、燃焼が更に不安定となり易い。
加えて、前述した燃焼状態に影響を及ぼす気筒性能は、他の気筒の気筒性能と完全には一致しない。以上から、燃焼が極めて不安定となる気筒が発生する場合が生じる。
そこで、前記目標第一燃焼割合変更手段は、前記機関の状態を表す運転状態パラメータを取得するとともに同取得した運転状態パラメータに応じて前記目標第一燃焼割合を変更する。この運転状態パラメータは、後述するように、例えば、「それぞれの気筒の第一燃焼割合の標準偏差」、「機関のトルク変動量に応じた値」及び「機関に供給された混合気の実際の空燃比」等である。このように、所定の運転状態パラメータに応じて目標第一燃焼割合を変更することにより、各気筒の燃焼を安定化させることができる。
より具体的に述べると、本発明の一態様に係る内燃機関の制御装置において、前記目標第一燃焼割合変更手段は、「前記運転状態パラメータ」として「前記複数の気筒のそれぞれについて取得された前記第一燃焼割合の、所定の期間における標準偏差(それぞれの気筒の第一燃焼割合の標準偏差)」を取得する。更に、前記目標第一燃焼割合変更手段は、「前記複数の気筒のうちの任意の一つの気筒である特定気筒」に対して取得した第一燃焼割合の標準偏差が、所定の標準偏差閾値よりも大きいとき、その特定気筒に対する「前記目標第一燃焼割合」を減少する。
所定の期間における「ある気筒の第一燃焼割合の標準偏差」が所定の標準偏差閾値よりも大きいことは、その気筒の第一燃焼割合が点火毎に大きく変動していることを示す。即ち、そのような気筒においては、点火時期がその気筒にとって過進角状態となっていて正常な燃焼が成立していない可能性が高い。そこで、上記目標第一燃焼割合変更手段のように、そのような気筒に対する「前記目標第一燃焼割合」を減少すれば、点火時期が遅角側に移行されるので、その気筒の燃焼が安定化する。以上により、本制御装置は、燃焼割合を用いて各気筒の点火時期を最適な時期に近づけるとともに、燃焼割合を用いて空燃比を希薄限界に近い空燃比に制御し、且つ、機関の運転状態を安定化させることができる。
上記目標第一燃焼割合変更手段が、正常な燃焼が成立していない可能性の高い気筒に対する「前記目標第一燃焼割合」を減少することにより、その気筒の点火時期が遅角側に移行されると、その気筒の点火時期が他の気筒の点火時期と大きく相違する事態が発生する。換言すると、気筒間の点火時期の差が大きくなる場合が生じる。この場合、気筒間の発生トルク差が大きくなるから機関のトルク変動量が大きくなり、その結果、機関の振動が過大となる。
そこで、前記目標第一燃焼割合変更手段は、「前記運転状態パラメータ」として「前記機関のトルク変動量に応じた値」を取得するとともに、「その取得したトルク変動量に応じた値」が「所定のトルク変動量閾値」よりも大きくなったと推定されるとき、「前記複数の気筒のそれぞれに対する前記目標第一燃焼割合」を「同複数の気筒の総てに対して共通の所定値」に設定するように構成されることが望ましい。この「共通の所定値」は、点火時期が過進角とならない値に選択される。これによれば、機関の振動を低減することができる。なお、この場合、空燃比は狙いとするリーン空燃比よりもリッチ側の空燃比に収束する。
更に、この場合、前記目標第一燃焼割合変更手段は、前記機関のトルク変動量に応じた値として、以下の(1)〜(4)のうちの少なくとも一つを取得するように構成され得る。
(1)前記複数の気筒のそれぞれが一回の燃焼行程を終了する期間において同複数の気筒のそれぞれの点火時期を制御する際に前記点火時期制御手段によって用いられた前記目標第一燃焼割合のうちの最大値と最小値との差(即ち、前記複数の気筒のそれぞれが一回の燃焼行程を終了する期間におけるそれぞれの気筒に対する前記目標第一燃焼割合のうちの最大値と最小値との差)、
(2)前記複数の気筒のうちの点火順序が連続する二つの気筒のそれぞれに対する前記目標第一燃焼割合の差、
(3)前記複数の気筒のそれぞれが一回の燃焼行程を終了する期間におけるそれぞれの気筒に対する図示トルクのうちの最大値と最小値との差、及び、
(4)前記複数の気筒のうちの点火順序が連続する二つの気筒のそれぞれに対する図示トルクの差。
ところで、上述したように、空燃比を大きくして希薄燃焼を行うと、点火時期はかなり進角側の時期となる。また、前述した気筒性能が気筒間において一致しないので、ある気筒が発生するトルクと他の気筒が発生するトルクとの差が大きくなる。加えて、ある気筒においては正常な燃焼が成立していても、他の気筒においては正常な燃焼が成立していない場合が発生する。
以上のことから、点火時期をMBTに厳密に一致させるために目標第一燃焼割合を相当に大きい値に設定することは必ずしも得策ではない。よって、第一目標燃焼割合を、MBTを狙うための理想値(例えば、60%)よりも僅かに小さい値(例えば、50%)に設定することにより、点火時期を遅角側に設定し、もって、燃焼を安定させることにより結果的に燃費を向上することが考えられる。
しかしながら、このように目標第一燃焼割合を理想値よりも小さい値に設定すると、点火時期は遅角側となる。従って、燃焼割合の立ち上がりが遅れる。この結果、混合気の空燃比が希薄限界近傍の空燃比であると、運転状態によっては空気量制御用第二燃焼割合が目標第二燃焼割合に到達できない場合が発生する。この場合、吸入空気量制御手段は空気量制御用第二燃焼割合を目標第二燃焼割合に一致させるように吸入空気量を減少させる。即ち、空燃比は希薄限界から遠ざかる(リッチ側の空燃比となる)。その結果、燃費が悪化する。
そこで、本発明の他の態様に係る内燃機関の制御装置において、
前記目標第一燃焼割合変更手段は、「前記運転状態パラメータ」として「前記機関に供給された混合気の実際の空燃比」を取得するとともに、その取得した空燃比が「理論空燃比、又は、理論空燃比から所定空燃比だけ大きい空燃比」よりも小さいとき、前記目標第一燃焼割合を増大させるように構成される。
これによれば、点火時期の制御に当初の目標第一燃焼割合(安定した燃焼を実現するために点火時期を若干遅角側に設定する目標第一燃焼割合)を使用した場合であって、実際の空燃比が希薄限界から遠い空燃比(リッチ側の空燃比)となったときには、その目標第一燃焼割合が増大される。この結果、点火時期は進角されるから、燃焼割合が速やかに増大する。従って、空気量制御用第二燃焼割合は目標第二燃焼割合よりも大きくなるので、吸入空気量が増大され、その結果、混合気の空燃比を希薄限界に近づけることができる。
この場合、前記目標第一燃焼割合変更手段は、「前記運転状態パラメータ」として「前記複数の気筒のそれぞれが少なくとも一回の燃焼行程を終了する期間における前記機関のトルク変動量に応じた値」を取得するとともに、「その取得したトルク変動量に応じた値」が所定のトルク変動量閾値を超えないように前記目標第一燃焼割合を増大させることが望ましい。
これによれば、「点火時期が過進角となることに起因して、機関のトルク変動量が大きくなり、よって、機関の振動が大きくなること」を回避することができる。換言すると、空燃比をリーン側の空燃比へ移行するよりも、燃焼が安定化するための制御が優先される。
以下、本発明の各実施形態に係る内燃機関の制御装置について図面を参照しつつ説明する。
<第一実施形態>
(構成)
図4は、第一実施形態に係る内燃機関の制御装置(以下、「第一制御装置」と称呼することもある。)をピストン往復動型の火花点火式多気筒(4気筒)4サイクル内燃機関10に適用したシステムの概略構成を示している。なお、図1は、特定の気筒の断面のみを図示しているが、他の気筒も同様な構成を備えている。
この内燃機関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を開閉駆動する吸気弁制御装置33、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射手段)39を備えている。
吸気弁制御装置33は、インテークカムシャフトとインテークカム(図示せず)との相対回転角度(位相角度)を油圧により調整・制御する周知の構成を備え、吸気弁32の開弁時期(吸気弁開弁時期)VTを変更することができるようになっている。本例において、吸気弁の開弁期間(開弁クランク角幅)は一定である。従って、吸気弁開弁時期が所定角度だけ進角又は遅角させられると、吸気弁閉弁時期も同所定角度だけ進角又は遅角させられる。
吸気系統40は、吸気ポート31に連通し吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットル弁43及びスロットル弁駆動手段(スロットル弁制御手段)を構成するDCモータからなるスロットル弁アクチュエータ43aを備えている。スロットル弁アクチュエータ43aは、目標スロットル弁開度TAtgtを表す指示信号(駆動信号)が与えられたとき、スロットル弁43の実際の開度TAを目標スロットル弁開度TAtgtに一致させるようになっている。
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51に接続されたエキゾーストパイプ(排気管)52、上流側の三元触媒53及び下流側の三元触媒54を備えている。上流側の三元触媒53は、エキゾーストパイプ52に配設されている。下流側の三元触媒54は、上流側の三元触媒53の下流においてエキゾーストパイプ52に配設されている。排気ポート34、エキゾーストマニホールド51及びエキゾーストパイプ52は、排気通路を構成している。
一方、このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、カムポジションセンサ63、クランクポジションセンサ64、各気筒に設けられた筒内圧センサ65、冷却水温センサ66、第1触媒53の上流の排気通路に配設された空燃比センサ67、第1触媒53の下流であって第2触媒54の上流の排気通路に配設された空燃比センサ68及びアクセル操作量センサ69を備えている。
熱線式エアフローメータ61は、吸気管41内を流れる吸入空気の単位時間あたりの質量流量を検出し、質量流量Gaを表す信号を出力するようになっている。
スロットルポジションセンサ62は、スロットル弁43の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
カムポジションセンサ63は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。
クランクポジションセンサ64は、クランク軸24が10度回転する毎にパルスを出力するようになっている。クランクポジションセンサ64から出力されるパルスはエンジン回転速度NEを表す信号に変換されるようになっている。
更に、カムポジションセンサ63及びクランクポジションセンサ64からの信号に基いて、機関10の絶対的なクランク角及び各気筒の圧縮上死点を基準としたクランク角が求められるようになっている。
筒内圧センサ65は、筒内圧センサ65が取り付けられた燃焼室25内の圧力を検出し、その燃焼室25内の圧力である筒内圧Pcを表す信号を出力するようになっている。
上流側空燃比センサ67は、限界電流式の空燃比センサである。空燃比センサ67は、検出対象ガス(本例では、触媒53の上流の排ガス)中の酸素濃度及び燃料の未燃成分(例えば、炭化水素)濃度に基づいて上流側空燃比を検出し、上流側空燃比Abyfsを表す信号を出力するようになっている。この上流側空燃比Abyfsは機関に供給される混合気の空燃比(以下、「機関の空燃比」とも称呼する。)がリーン側の空燃比になるほど大きくなる。
下流流側空燃比センサ68は、濃淡電池型の空燃比センサである。空燃比センサ68は、検出対象ガス(本例では、触媒53の下流の排ガス)の空燃比が理論空燃比よりもリッチであるとき約0.9V、理論空燃比よりもリーンであるとき約0.1V、理論空燃比であるとき約0.5Vの電圧信号を出力するようになっている。
アクセル操作量センサ69は、運転者によって操作されるアクセルペダル81の操作量を検出し、アクセルペダル81の操作量Accpを表す信号を出力するようになっている。
電気制御装置70は、CPU71、CPU71が実行するルーチン(プログラム)、テーブル(ルックアップテーブル、マップ)及び定数等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップRAM74、並びに、ADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、前記センサ61〜69と接続され、CPU71にセンサ61〜69からの信号を供給するようになっている。インターフェース75は、CPU71の指示に応じて吸気弁制御装置33、各気筒の燃料噴射弁39及びスロットル弁アクチュエータ43aに指示信号(駆動信号)を送出するとともに、各気筒のイグナイタ38に点火指示信号を送出するようになっている。
(第一制御装置の作動)
第一制御装置を含む本発明に係る制御装置は、内燃機関の制御に燃焼割合を使用する。燃焼割合は機関の燃焼状態を示す燃焼状態指標値である。燃焼割合は図示熱量の割合と実質的に等価な値である。図示熱量の割合は、一回の燃焼行程に関して、「燃焼室において燃焼した総ての燃料によって発生した熱のうちピストンに対する仕事に変換された熱の総量Qtotalに対する、所定のタイミング(圧縮上死点後クランク角θ)までに同燃焼室において燃焼した燃料によって発生した熱のうちピストンに対する仕事に変換された熱の積算量Qsumの割合Qsum/Qtotal」と定義される。燃焼割合は、「燃焼室において燃焼した総ての燃料のうちピストンに対する仕事に寄与した燃料の総量に対する、所定のタイミング(圧縮上死点後クランク角θ)までに同燃焼室において燃焼した燃料のうちピストンに対する仕事に寄与した燃料の積算量の割合」と定義される。
このように定義される燃焼割合は図示熱量の割合Qsum/Qtotalを表す値として推定(取得)される。燃焼割合を「筒内圧センサ65によって検出された筒内圧Pc」に基づいて求める手法の詳細は、例えば、特開2006−144645号公報に開示されているので、以下、その概略について述べる。
本例において、燃焼割合は所定のタイミングを表すクランク角θに対応して求められる。クランク角θにおける燃焼割合をMFBθと表す。このクランク角θは圧縮上死点において「0」となり、圧縮上死点から圧縮上死点前に向って進角するほど絶対値が大きくなる負の値をとり、圧縮上死点から圧縮上死点後に向って遅角するほど絶対値が大きくなる正の値をとるように定義される。即ち、燃焼割合MFBθにおいてθが−θ1度クランク角(=−θ1°、θ1>0)であるとき、その燃焼割合MFBθは「BTDCθ1°における燃焼割合」である。燃焼割合MFBθにおいてθがθ2度クランク角(=θ2°、θ2>0)であるとき、その燃焼割合MFBθは「ATDCθ2°における燃焼割合」である。
クランク角θにおける燃焼割合MFBθは、下記の(1)式により推定される。(1)式において、クランク角θs(θs<0)は、対象とする燃焼行程(膨張行程)に向う圧縮行程において吸気弁32及び排気弁35の両方が閉じた状態にあり且つ点火時期よりも十分に進角した時期(例えば、θs=−60°、即ち、BTDC60°)である。クランク角θe(θe>0)は、対象とする燃焼行程における燃焼が実質的に終了する最も遅い時期よりも遅い所定の時期且つ排気弁開弁時期よりも進角した時期(例えば、θe=60°、即ち、ATDC60°)である。
この(1)式は、発生した熱のうちピストンに対する仕事に寄与した熱の積算量Qの変化パターンがPc(θ)V(θ)κの変化パターンと概ね一致するという知見に基いている。Pc(θ)は圧縮上死点後クランク角θにおける筒内圧、V(θ)は圧縮上死点後クランク角θにおける燃焼室25の容積、κは混合ガスの比熱比(例えば、1.32)である。なお、(1)式の分母はMFBの100%に相当する値である。
第一制御装置は、第一燃焼割合及び第二燃焼割合を用いて内燃機関10の制御を行う。
第一燃焼割合は、圧縮上死点後第一クランク角における燃焼割合である。圧縮上死点後第一クランク角は燃焼が開始した時点から燃焼が終了する時点までの燃焼期間内であって燃焼期間の初期から中期までの間の所定のクランク角に設定される。本例において、圧縮上死点後第一クランク角はATDC8°である。よって、以下、第一燃焼割合は8deg燃焼割合MFB8(又は単にMFB8)とも表記される。8deg燃焼割合MFB8は、上記(1)式においてPc(θ)にPc(8°)を代入し、V(θ)にV(8°)を代入することにより取得される。
第二燃焼割合は、圧縮上死点後第二クランク角における燃焼割合である。圧縮上死点後第二クランク角は圧縮上死点後第一クランク角よりも遅角側のクランク角である。即ち、圧縮上死点後第二クランク角は、燃焼が実質的に終了する直前の時点(即ち、燃焼期間の後期)のクランク角に設定される。本例において、圧縮上死点後第二クランク角はATDC30°である。よって、以下、第二燃焼割合は30deg燃焼割合MFB30(又は単にMFB30)とも表記される。30deg燃焼割合MFB30は、上記(1)式においてPc(θ)にPc(30°)を代入し、V(θ)にV(30°)を代入することにより取得される。
(第一制御装置による制御の概要)
次に、図5に示した概略フローチャートに沿って第一制御装置による制御の概要について説明する。
第一制御装置は、ステップ510において、各気筒の30deg燃焼割合MFB30(第二燃焼割合)に基づいて空気量制御用第二燃焼割合MFB30TAを求める。この空気量制御用第二燃焼割合MFB30TAは、例えば、
(1)それぞれの気筒に対して取得された30deg燃焼割合MFB30(第二燃焼割合)の平均値、
(2)それぞれの気筒に対して取得された30deg燃焼割合MFB30(第二燃焼割合)のうちの最小値、及び、
(3)それぞれの気筒に対して取得された30deg燃焼割合MFB30(第二燃焼割合)のうちの最小値を除いた残りの30deg燃焼割合MFB30の平均値、
等のうちの一つである。
更に、第一制御装置は空気量制御用第二燃焼割合MFB30TAに基づいて吸入空気量を制御する。即ち、第一制御装置は、ステップ510において、その空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtに一致するようにスロットル弁43の開度を制御する。本例において、目標第二燃焼割合MFB30tgtは90%である。
ところで、燃焼される混合気の空燃比(各気筒に供給される混合気の空燃比)が大きくなるほど燃焼速度は低下する。従って、図2に示したように、燃焼される混合気の空燃比が大きくなるほど、燃焼割合の変化率(上昇率)は減少する。この結果、点P2a、P2b及びP2cにより示されるように、燃焼期間の後期の燃焼割合である30deg燃焼割合MFB30(第二燃焼割合)は、燃焼される混合気の空燃比が大きいほど小さくなる。この結果、空気量制御用第二燃焼割合MFB30TAは、燃焼される混合気の空燃比が大きいほど小さくなる。
従って、第一制御装置は、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtより大きいとき、要求トルクに基づいて決定される燃料供給量を変化させることなくスロットル弁開度を増大することによって吸入空気量を増大させ、それにより、燃焼される混合気の空燃比を大きくする(リーン側の空燃比に制御する)。これに対し、第一制御装置は、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtより小さいとき、要求トルクに基づいて決定される燃料供給量を変化させることなくスロットル弁開度を減少することによって吸入空気量を減少させ、それにより、燃焼される混合気の空燃比を小さくする(リッチ側の空燃比に制御する)。このステップ510の処理により、燃焼される混合気の空燃比は希薄限界の空燃比へと近づく。
次に、第一制御装置はステップ520に進み、第n気筒(nは1〜4の整数)の8deg燃焼割合MFB8(#n)が第n気筒の目標8deg燃焼割合MFB8tgt(#n)と一致するように、第n気筒の点火時期SA(#n)を制御する。目標8deg燃焼割合MFB8tgt(#n)の初期値は、点火時期をMBTに一致させるための値(本例において60%)に設定される。このステップ520の処理により、各気筒の点火時期はMBTに近づく。
次に、第一制御装置はステップ530に進み、第n気筒の8deg燃焼割合MFB8(#n)の過去数10サイクル(過去数10回の燃焼行程)に対する標準偏差σ(MFB8(#n))を取得する。そして、第一制御装置は、第n気筒の標準偏差σ(MFB8(#n))が閾値標準偏差σthよりも大きい場合、その第n気筒の目標8deg燃焼割合MFB8tgt(#n)を所定割合ΔMFB8tgtだけ減少させる。なお、標準偏差σ(MFB8(#n))は、機関10の状態を表す運転状態パラメータである。
燃焼室25の形状、デポジットの付着の仕方及び量、吸気弁32の移動軌跡、並びに、点火プラグ37の点火性能等の燃焼状態に関係する「気筒性能」は気筒間において相違する。従って、第n気筒の標準偏差σ(MFB8(#n))が閾値標準偏差σthよりも大きい場合、その第n気筒の気筒性能に起因して第n気筒の点火時期SA(#n)が過進角となっているために、第n気筒において着火不良が発生していると考えられる。即ち、そのような場合、第n気筒における燃焼が不安定になっている。そこで、第一制御装置は、上述したステップ530の処理によって、そのような気筒の目標8deg燃焼割合MFB8tgt(#n)を減少させることにより、その気筒の点火時期を遅角側に移行させ、その気筒の燃焼を安定化させる。この結果、その気筒においても正常な(安定した)燃焼が成立する。
ところが、気筒毎に目標8deg燃焼割合MFB8tgt(#n)を変更(設定)していると、ある気筒(第q気筒)の目標8deg燃焼割合MFB8tgt(#q)と別の気筒(第r気筒)の目標8deg燃焼割合MFB8tgt(#r)との差が所定値(許容値)ΔAthよりも大きくなる場合が生じる。図1に示したように、図示トルクは目標8deg燃焼割合MFB8tgt(#n)に基づいて制御される8deg燃焼割合MFB8(#n)に依存して大きく変化する。以上のことから、ある気筒(第q気筒)の目標8deg燃焼割合MFB8tgt(#q)と別の気筒(第r気筒)の目標8deg燃焼割合MFB8tgt(#r)との差が所定値(許容値)ΔAthよりも大きくなると、第q気筒が発生するトルクと第r気筒が発生するトルクとの差が大きくなり(即ち、各気筒が発生するトルクのうちの最大値と最小値との差が大きくなり)、機関10の振動が過大になる。
そこで、第一制御装置は、ステップ540にて以下に述べる条件1及び条件2のうちの少なくとも一方が成立しているか否かを判定する。条件1は気筒別第一目標値設定禁止条件1であり、条件2は気筒別第一目標値設定禁止条件2である。
(条件1)第n気筒(nは1〜4の整数)の目標8deg燃焼割合MFB8tgt(#n)のうちの最大値と最小値の差が所定値ΔAthよりも大きい。第n気筒の目標8deg燃焼割合MFB8tgt(#n)のうちの最大値とは、各気筒に対する目標8deg燃焼割合MFB8tgtの中の最大値のことである。第n気筒の目標8deg燃焼割合MFB8tgt(#n)のうちの最小値とは、各気筒に対する目標8deg燃焼割合MFB8tgtの中の最小値のことである。
(条件2)第n気筒(nは1〜4の整数)の図示トルクTRQ(#n)の最大値と最小値の差が所定値ΔBthよりも大きい。第n気筒の図示トルクTRQ(#n)の最大値とは、各気筒の図示トルクTRQの中の最大値のことである。第n気筒の図示トルクTRQ(#n)の最小値とは、各気筒の図示トルクTRQの中の最小値のことである。
そして、第一制御装置は、条件1又は条件2が成立しているとき機関の振動が許容レベルよりも大きくなっていると判断し、ステップ550に進んで第n気筒(nは1〜4の整数)の8deg燃焼割合MFB8(#n)が総ての気筒に共通の(唯一の)目標8deg燃焼割合MFB8tgtALLと一致するように第n気筒の点火時期SA(#n)を制御する。共通の目標8deg燃焼割合MFB8tgtALLは、気筒間に気筒性能のバラツキがある場合でも、各気筒における燃焼が安定するような値である。より具体的に述べると、共通の目標8deg燃焼割合MFB8tgtALLは、気筒毎の燃焼割合による制御を行うことなく、各気筒の点火時期を一律に制御する場合において点火時期が極力MBTに近くなるように適合された場合に相当する値(例えば、35〜40%)である。これにより、機関の振動レベルを小さくすることができる。以上が、第一制御装置による制御の概要である。
(第一制御装置による制御の詳細)
次に、第一制御装置による制御の詳細について説明する。
1.燃料噴射制御
CPU71は、図6に示した燃料噴射制御ルーチンを「各気筒のクランク角が吸気上死点前の所定クランク角度(例えば、吸気上死点前90°)に一致する毎」に繰り返し実行するようになっている。以下、クランク角が吸気上死点前の前記所定クランク角に一致した気筒を燃料噴射気筒とも称呼する。
従って、何れかの気筒のクランク角が吸気上死点前の所定クランク角度に一致すると、CPU71はステップ600から処理を開始し、以下に述べるステップ610及びステップ620の処理を順に行い、ステップ695に進んで本ルーチンを一旦終了する。
ステップ610:CPU71は、燃料噴射量TAUを決定する。より具体的に述べると、CPU71は、現時点のアクセルペダル操作量Accp及び現時点のエンジン回転速度NEを噴射量決定用テーブルMapTAUに適用することにより今回の燃料噴射量TAUを算出する。噴射量決定用テーブルMapTAUは、アクセルペダル操作量Accp及びエンジン回転速度NEにより定まる「要求トルク」を発生するために必要な「燃料噴射量TAU」を算出するためのルックアップテーブルである。噴射量決定用テーブルMapTAUは、予め実験により測定された「アクセルペダル操作量Accp及びエンジン回転速度NEと、要求トルクを発生させるために必要な燃料噴射量TAUと、の関係」がルックアップテーブルの形式にてROM72内に格納されたテーブルである。アクセルペダル操作量Accp及びエンジン回転速度NEは、「機関10に要求されるトルク(即ち、要求トルク)」を変更するために変更される要求トルク関連量である。
ステップ620:CPU71は、燃料噴射気筒に対応する燃料噴射弁39から燃料噴射量TAUの燃料が噴射されるように、その燃料噴射弁39に指示信号を送出する。
2.スロットル弁制御(吸入空気量制御・空燃比制御)
CPU71は、図7に示したスロットル弁制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ700から処理を開始し、ステップ710に進んで空気量制御用第二燃焼割合MFB30TAを求める。ここでは、CPU71は、「現時点から720°クランク角前の時点」から「現時点」までに「それぞれの気筒に対して取得された30deg燃焼割合MFB30(第二燃焼割合)」の平均値を、空気量制御用第二燃焼割合MFB30TAとして算出する。なお、CPU71は、後述する図9のステップ940の処理により、各気筒のクランク角が圧縮上死点後60度となったとき、そのクランク角が圧縮上死点後60度となった気筒の30deg燃焼割合MFB30を上記(1)式に基づいて取得し、その気筒の30deg燃焼割合MFB30としてRAM73に格納している。
次に、CPU71はステップ720に進み、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtよりも小さいか否かを判定する。そして、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtよりも小さいとき、CPU71はステップ730に進んで目標スロットル弁開度TAtgtを所定値ΔTAtgtだけ減少させる。その後、CPU71はステップ740に進み、スロットル弁開度TAが目標スロットル弁開度TAtgtに一致するようにスロットル弁アクチュエータ43aに指示信号を送出する。これにより、燃料供給量は変化しない状態において吸入空気量が減少する。従って、燃焼される混合気の空燃比は僅かにリッチ側に移行させられる。その後、CPU71はステップ795に進み、本ルーチンを一旦終了する。
一方、ステップ720の判定時において、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgt以上であるとき、CPU71はステップ720からステップ750に進んで目標スロットル弁開度TAtgtを所定値ΔTAtgtだけ増大させる。その後、CPU71はステップ740の処理を実行する。これにより、燃料供給量は変化しない状態において吸入空気量が増大する。従って、燃焼される混合気の空燃比は僅かにリーン側に移行させられる。その後、CPU71はステップ795に進み、本ルーチンを一旦終了する。
なお、CPU71は、ステップ720、ステップ730及びステップ750に代えて、以下のように目標スロットル弁開度TAtgtを決定してもよい。
(1)CPU71は、アクセルペダル操作量Accp及び現時点のエンジン回転速度NEを目標基本スロットル弁開度決定用テーブルMapTAbtgtに適用することにより目標基本スロットル弁開度TAbtgtを決定する。例えば、目標基本スロットル弁開度決定用テーブルMapTAbtgtは、アクセルペダル操作量Accp及び現時点のエンジン回転速度NEと噴射量決定用テーブルMapTAUとにより定まる燃料噴射量TAUが噴射されたとき、混合気の空燃比を理論空燃比又は所定の希薄空燃比に一致させるのに必要な吸入空気量の空気が機関に供給されるような目標基本スロットル弁開度TAbtgtを決定するように定められる。
(2)CPU71は、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtより小さいとき、補正量ΔTAhを所定量ΔT(ΔT>0)だけ増大する。
(3)CPU71は、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgt以上であるとき、補正量ΔTAhを所定量ΔTだけ減少する。
(4)CPU71は、目標基本スロットル弁開度TAbtgtに補正量ΔTAhを加えた値を目標スロットル弁開度TAtgtとして決定する。
3.点火時期制御
3−1.目標8deg燃焼割合MFB8tgt(目標第一燃焼割合)の気筒別設定
CPU71は、図8に示した目標第一燃焼割合MFB8tgt設定ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ800から処理を開始し、気筒別制御フラグXKTBTの値が「1」であるか否かを判定する。
気筒別制御フラグXKTBTは、その値が「1」であるとき目標8deg燃焼割合MFB8tgtを気筒別に設定することを許容し、その値が「0」であるとき目標8deg燃焼割合MFB8tgtを気筒別に設定することを禁止するフラグである。気筒別制御フラグXKTBTの値は、イグニッション・キー・スイッチがオフ位置からオン位置へと変更されたときに実行される図示しないイニシャルルーチンにおいて「1」に設定される。
いま、気筒別制御フラグXKTBTの値が「1」であると仮定する。この場合、CPU71はステップ810にて「Yes」と判定し、ステップ820に進んで各気筒の燃焼割合MFB8(#n)の過去数10サイクルに対する標準偏差σ(MFB8(#n))を各気筒毎に取得する。nは1以上4以下の整数である。
次に、第一制御装置はステップ830に進み、変数nに「1」を設定する。次いで、CPU71はステップ840に進み、第n気筒(この場合、n=1)の標準偏差σ(MFB8(#n))が閾値標準偏差σthよりも大きいか否かを判定する。このとき、第n気筒の標準偏差σ(MFB8(#n))が閾値標準偏差σthよりも大きいと、CPU71はステップ840にて「Yes」と判定してステップ850に進み、第n気筒の目標8deg燃焼割合MFB8tgt(#n)を所定割合ΔMFB8tgtだけ減少させ、ステップ860に進む。これに対し、第n気筒の標準偏差σ(MFB8(#n))が閾値標準偏差σth以下であると、CPU71はステップ840にて「No」と判定してステップ860に直接進む。
CPU71は、ステップ860にて変数nの値が「4(機関10の気筒数)」であるか否かを判定する。現時点においてnの値は「1」である。従って、CPU71はステップ860にて「No」と判定してステップ870に進み、変数nの値を「1」だけ増大する。その後、CPU71はステップ840に戻る。このような処理はnの値が4に一致するまで繰り返し実行される。その結果、第n気筒の標準偏差σ(MFB8(#n))が閾値標準偏差σthよりも大きいとき、その第n気筒の目標8deg燃焼割合MFB8tgt(#n)が所定割合ΔMFB8tgtだけ減少させられる。そして、nの値が4となったとき、CPU71はステップ860にて「Yes」と判定し、ステップ895に進んで本ルーチンを一旦終了する。この結果、気筒別制御フラグXKTBTの値が「1」であるとき、目標8deg燃焼割合MFB8tgtは気筒毎に設定・変更される。なお、気筒別制御フラグXKTBTの値が「0」であるときの処理については後述する。
3−2.点火時期制御(気筒別点火時期制御)
CPU71は、図9に示した点火時期制御ルーチンを所定の微小時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ900から処理を開始してステップ910に進み、変数nの値を「1」に設定する。次いで、CPU71はステップ920に進み、現時点のクランク角が「第n気筒(この場合、第1気筒)の圧縮上死点後60度クランク角」であるか否かを判定する。
このとき、現時点のクランク角が「第n気筒(この場合、第1気筒)の圧縮上死点後60度クランク角」であると、CPU71はステップ920にて「Yes」と判定し、後述するステップ930乃至ステップ960の処理を順に行うことにより、第n気筒の点火時期SA(#n)を設定し、ステップ995に進んで本ルーチンを一旦終了する。一方、ステップ920の処理の実行時点において、現時点のクランク角が「第n気筒(この場合、第1気筒)の圧縮上死点後60度クランク角」でないと、CPU71は以下に述べるステップ970及びステップ980の処理を実行する。
ステップ970:CPU71は変数nの値を「1」だけ増大する。
ステップ980:CPU71は変数nの値が「4(機関10の気筒数)」よりも大きいか否かを判定する。変数nの値が「4」よりも大きいと、CPU71はステップ980にて「Yes」と判定し、ステップ995に進んで本ルーチンを一旦終了する。一方、変数nの値が「4」以下であると、CPU71はステップ980にて「No」と判定し、ステップ920に戻る。
このステップ970及びステップ980の処理により、現時点が「第1気筒乃至第4気筒のうちの何れかの気筒のクランク角がその気筒の圧縮上死点後60度クランク角」である場合に、ステップ930乃至ステップ960の処理が行われることになる。
ステップ930:CPU71は、上記(1)式に従って第n気筒の8deg燃焼割合MFB8(#n)を取得する。即ち、CPU71は、上記(1)式のPc(θ)に第n気筒の筒内圧センサ65の出力に基づいて得られたPc(8°)を代入し、V(θ)にV(8°)を代入することにより、第n気筒の8deg燃焼割合MFB8(#n)を算出する。このステップ930は、機能ブロック図である図10に示した「実燃焼割合MFB8算出手段A1」の機能に対応している。V(8°)は予めROM72に記憶されている。
ステップ940:CPU71は、上記(1)式に従って第n気筒の30deg燃焼割合MFB30(#n)を取得する。即ち、CPU71は、上記(1)式のPc(θ)に第n気筒の筒内圧センサ65の出力に基づいて得られたPc(30°)を代入し、V(θ)にV(30°)を代入することにより、第n気筒の30deg燃焼割合MFB30(#n)を算出する。V(30°)は予めROM72に記憶されている。
ステップ950:CPU71は、ステップ930にて取得した8deg燃焼割合MFB8(#n)を、第n気筒の目標8deg燃焼割合MFB8tgt(#n)と一致させるための点火時期補正量ΔSA(#n)を決定する。このステップ950は、図10に示した「偏差算出手段A3及び点火時期補正量算出手段A4」の機能に対応している。
より具体的に説明すると、図10に示した目標値設定手段A2は、図8に示したルーチンの機能に対応している。即ち、目標値設定手段A2は、第n気筒の目標8deg燃焼割合MFB8tgt(#n)を出力する。偏差算出手段A3は、この第n気筒の目標8deg燃焼割合MFB8tgt(#n)から実燃焼割合MFB8算出手段A1により算出された第n気筒の8deg燃焼割合MFB8(#n)を減じることにより、これらの偏差ΔMを算出する。点火時期補正量算出手段A4は、下記(2)式に示したように、差ΔMに対してPI(比例・積分)処理を行うことにより第n気筒の点火時期補正量ΔSA(#n)を求める。(2)式のKpは比例定数であり、Kiは積分定数である。SΔMは差ΔMの積分値であり、下記(3)式に基いて求められる。
ステップ960:CPU71は、点火時期モデルFSAを用いて基本点火時期SAbを求める。即ち、CPU71は、図10に示した運転状態量取得手段A5によって取得された実運転状態量(NE(k),KL(k))を図10に示した基本点火時期決定手段A6に相当する「点火時期モデルFSA」に適用する。これにより、CPU71は、今回の燃焼に対する基本点火時期SAbを算出する。NE(k)は現時点におけるエンジン回転速度NEであり、KL(k)は現時点における負荷率である。負荷率KL(k)は、下記の(4)式により求められる。(4)式において、Mc(k)は筒内吸入空気量であり、エアフローメータ61の検出する質量流量Ga及びエンジン回転速度NEに基づいて求められる。ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、「4」は機関10の気筒数である。点火時期モデルは、下記の(5)式の形の関数によって表される。θ0〜θ3、a、b、c及びdは予め定められた定数である。
なお、筒内吸入空気量Mc(k)は、空気の挙動を記述した周知の空気モデルにより取得されてもよい。運転状態量取得手段A5は、負荷KL(k)として、アクセルペダル81の操作量Accpを取得するように構成されていてもよい。
更に、CPU71は図9のステップ960において、基本点火時期SAbにステップ950にて算出した第n気筒の点火時期補正量ΔSA(#n)を加え、第n気筒の点火時期SA(#n)を決定する。加えて、CPU71は、第n気筒の実際の点火時期が第n気筒の点火時期SA(#n)と一致するように、第n気筒のイグナイタ38に点火指示信号を送出する。なお、このステップ960は、図10に示した「運転状態量取得手段A5、基本点火時期決定手段A6及び点火時期設定手段A7」に相当している。
以上の作動は、気筒別制御フラグXKTBTの値が「1」である場合、即ち、気筒別点火時期制御が許容されている場合の作動である。次に、気筒別点火時期制御を中止すべきか否かを判定するルーチンについて説明する。
3−3.気筒別点火時期制御の中止判定(その1)
CPU71は、図11に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1100から処理を開始し、ステップ1110に進んで気筒別制御フラグXKTBTの値が「1」であるか否かを判定する。
現時点において気筒別制御フラグXKTBTの値が「1」であると仮定する。この場合、CPU71はステップ1110にて「Yes」と判定し、以下に述べるステップ1120乃至ステップ1150の処理を順に行う。
ステップ1120:CPU71は、各気筒の目標8deg燃焼割合MFB8tgt(#n)(即ち、第1気筒の目標8deg燃焼割合MFB8tgt(#1)、第2気筒の目標8deg燃焼割合MFB8tgt(#2)、第3気筒の目標8deg燃焼割合MFB8tgt(#3)及び第4気筒の目標8deg燃焼割合MFB8tgt(#4))の最新値を読み込む。これらの値は、先に説明した図8のステップ850において更新される毎にRAM73に格納されている。
ステップ1130:第n気筒の目標8deg燃焼割合MFB8tgt(#n)(即ち、第1気筒の目標8deg燃焼割合MFB8tgt(#1)乃至第4気筒の目標8deg燃焼割合MFB8tgt(#4))の中で最小値MINを選択し、その最小値MINを最小目標燃焼割合MFB8tgtMinに格納する。
ステップ1140:第n気筒の目標8deg燃焼割合MFB8tgt(#n)(即ち、第1気筒の目標8deg燃焼割合MFB8tgt(#1)乃至第4気筒の目標8deg燃焼割合MFB8tgt(#4))の中で最大値MAXを選択し、その最大値MAXを最大目標燃焼割合MFB8tgtMaxに格納する。
ステップ1150:最大目標燃焼割合MFB8tgtMaxから最小目標燃焼割合MFB8tgtMinを減じることにより、それらの差(最大最小差)ΔMFB8tgtを取得する。この最大最小差ΔMFB8tgtは、機関10の総ての気筒のそれぞれが「少なくとも一回の燃焼行程を終了する期間」における機関10のトルク変動量に応じた値である。
次に、CPU71はステップ1160に進み、最大最小差ΔMFB8tgtが所定の閾値ΔAthよりも大きいか否かを判定する。最大最小差ΔMFB8tgtが所定の閾値ΔAthよりも大きい場合、「目標8deg燃焼割合MFB8tgtが最大目標燃焼割合MFB8tgtMaxとなっている気筒が発生するトルク(図示トルク)」と「目標8deg燃焼割合MFB8tgtが最小目標燃焼割合MFB8tgtMinとなっている気筒が発生するトルク(図示トルク)」との差が許容値を超えていて、機関10の振動が過大となっていると推定される。
そこで、CPU71は、最大最小差ΔMFB8tgtが所定の閾値ΔAthよりも大きい場合、ステップ1160にて「Yes」と判定してステップ1170に進み、気筒別点火時期制御(気筒別に目標8deg燃焼割合MFB8tgtを設定する制御)を中止するように、気筒別制御フラグXKTBTの値を「0」に設定する。その後、CPU71はステップ1195に進み、本ルーチンを一旦終了する。なお、ステップ1160の処理が実行される時点において最大最小差ΔMFB8tgtが所定の閾値ΔAth以下である場合、CPU71はそのステップ1160にて「No」と判定し、ステップ1195に直接進んで本ルーチンを一旦終了する。また、ステップ1110の処理が実行される時点において気筒別制御フラグXKTBTの値が「0」であれば、CPU71はそのステップ1110にて「No」と判定し、ステップ1195に直接進んで本ルーチンを一旦終了する。
3−4.点火時期制御(全気筒同時点火時期制御)
このように気筒別制御フラグXKTBTの値が「0」に設定されたとき、CPU71が図8に示したルーチンの処理をステップ800から開始すると、CPU71は続くステップ810にて「No」と判定する。そして、CPU71はステップ880に進み、第n気筒(nは1以上4以下の整数)目標8deg燃焼割合MFB8tgt(#n)に「総ての気筒に共通の(唯一の)目標8deg燃焼割合MFB8tgtALL」を格納し、ステップ895に進んで本ルーチンを一旦終了する。この結果、各気筒の目標8deg燃焼割合MFB8tgt(#n)は目標8deg燃焼割合MFB8tgtALLに一致させられる。
この結果、CPU71が図9のルーチンのステップ950及びステップ960を実行することにより、各気筒の目標8deg燃焼割合MFB8(#n)が目標8deg燃焼割合MFB8tgtALLと一致するように各気筒の点火時期SA(#n)が制御される。
3−5.気筒別点火時期制御の中止判定(その2)
更に、CPU71は、図12に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1200から処理を開始し、ステップ1210に進んで気筒別制御フラグXKTBTの値が「1」であるか否かを判定する。
現時点において気筒別制御フラグXKTBTの値が「1」であると仮定する。この場合、CPU71はステップ1210にて「Yes」と判定し、以下に述べるステップ1220乃至ステップ1250の処理を順に行う。
ステップ1220:CPU71は、各気筒の図示トルクTRQ(#n)(即ち、第1気筒の図示トルクTRQ(#1)、第2気筒の図示トルクTRQ(#2)、第3気筒の図示トルクTRQ(#3)及び第4気筒の図示トルクTRQ(#4))の最新値を読み込む。これらの図示トルクTRQは、別途説明する図13に示したルーチンの処理を実行することにより気筒別に取得され、且つ、RAM73に格納されている。
ステップ1230:第n気筒の図示トルクTRQ(#n)(即ち、第1気筒の図示トルクTRQtgt(#1)乃至第4気筒の図示トルクTRQ(#4))の中で最小値MINを選択し、その最小値MINを最小図示トルクTRQMINに格納する。
ステップ1240:第n気筒の図示トルクTRQ(#n)(即ち、第1気筒の図示トルクTRQtgt(#1)乃至第4気筒の図示トルクTRQ(#4))の中で最大値MAXを選択し、その最大値MAXを最大図示トルクTRQMAXに格納する。
ステップ1250:最大図示トルクTRQMAXから最小図示トルクTRQMINを減じることにより、それらの差(最大最小差)ΔTRQを取得する。この最大最小差ΔTRQは、機関10の総ての気筒のそれぞれが「少なくとも一回の燃焼行程を終了する期間」における機関10のトルク変動量に応じた値である。
次に、CPU71はステップ1260に進み、最大最小差ΔTRQが所定の閾値ΔBthよりも大きいか否かを判定する。最大最小差ΔTRQが所定の閾値ΔBthよりも大きい場合、機関10の振動が過大となっていると推定される。そこで、CPU71は、最大最小差ΔTRQが所定の閾値ΔBthよりも大きい場合、ステップ1260にて「Yes」と判定してステップ1270に進み、気筒別点火時期制御(気筒別に目標8deg燃焼割合MFB8tgtを設定する制御)を中止するように、気筒別制御フラグXKTBTの値を「0」に設定する。その後、CPU71はステップ1295に進み、本ルーチンを一旦終了する。
なお、ステップ1260の処理が実行される時点において最大最小差ΔTRQが所定の閾値ΔBth以下である場合、CPU71はそのステップ1260にて「No」と判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。また、ステップ1210の処理が実行される時点において気筒別制御フラグXKTBTの値が「0」であれば、CPU71はそのステップ1210にて「No」と判定し、ステップ1295に直接進んで本ルーチンを一旦終了する。
3−6.点火時期制御(全気筒同時点火時期制御)
このように気筒別制御フラグXKTBTの値が「0」に設定されると、前述したように、CPU71は図8に示したルーチンの処理を実行することにより、各気筒の最大目標燃焼割合MFB8tgtMax(#n)を各気筒に共通の目標8deg燃焼割合MFB8tgtALLに設定する。更に、CPU71は図9に示したルーチンの処理を実行することにより、各気筒の8deg燃焼割合MFB8(#n)が目標8deg燃焼割合MFB8tgtALLに一致するように、各気筒の点火時期SA(#n)を制御する。
3−7.図示トルクTRQの取得(推定)
CPU71は、図12に示したルーチンにおいて使用される図示トルクTRQ(#n)を取得するために、図13に示した「図示トルクTRQ算出ルーチン」を所定時間(クランク軸が1°クランク角回転するよりも短い時間)の経過毎に実行するようになっている。なお、このルーチンは気筒毎に独立して実行される。
CPU71は、図示トルクTRQとしての「平均有効トルク値」を、以下に記載したステップ1302乃至ステップ1346の処理を行うことにより算出(推定)する。この方法は、特開平5−248290号公報、特開平8−319862号公報及び特開平2−153243号公報等に記載されている周知の方法である。以下、第1気筒〜第4気筒のうちの特定の気筒に着目して説明を行う。なお、ここではその特定気筒の筒内圧センサ65が検出する筒内圧をPc1と表記する。
ステップ1302:CPU71は特定気筒のクランク角がBTDC205°(圧縮上死点前205°)であるか否かを判定する。CPU71は、現在の特定気筒のクランク角がBTDC205°であればステップ1304に進み、現在のクランク角がBTDC205°でなければステップ1306に進む。
ステップ1304:CPU71は、特定気筒に設けられている筒内圧センサ65から筒内圧Pc1を値V01として取得し、ステップ1306に進む。
ステップ1306〜ステップ1316:以下、CPU71は、ステップ1302及びステップ1304と同様な処理を行うことにより、特定気筒のクランク角が、BTDC190°であるときの筒内圧Pc1を値V02として取得し(ステップ1306及びステップ1308)、BTDC175°であるときの筒内圧Pc1を値V03として取得し(ステップ1310及びステップ1312)、BTDC160°であるときの筒内圧Pc1を値V04として取得する(ステップ1314及びステップ1316)。
ステップ1318:CPU71はステップ1316の処理を行った後、ステップ1318に進み、値V01〜V04の平均値(=(V01+V02+V03+V04)/4)を基準値V0として設定する。その後、CPU71はステップ1320に進む。
ステップ1320:CPU71は、特定気筒のクランク角が圧縮上死点後5°(ATDC5°)であるか否かを判定する。CPU71は、現在のクランク角がATDC5°であればステップ1322〜ステップ1326に進み、現在のクランク角がATDC5°でなければステップ1326に直接進む。
ステップ1322:CPU71は特定気筒に設けられている筒内圧センサ65から筒内圧Pc1を値V1として取得する。
ステップ1324:CPU71は、値V1から基準値V0を減算した値を特定気筒の第1筒内圧Pc1(1)として取得する。
ステップ1326〜ステップ1330:CPU71は、ステップ1320乃至ステップ1324と同様な処理を行うことにより、特定気筒のクランク角がATDC20°であるときの筒内圧Pc1を値V2として取得するとともに、値V2から基準値V0を減算した値を第2筒内圧Pc1(2)として取得する。
ステップ1332〜ステップ1336:CPU71は、ステップ1320乃至ステップ1324と同様な処理を行うことにより、特定気筒のクランク角がATDC35°であるときの筒内圧Pc1を値V3として取得するとともに、値V3から基準値V0を減算した値を第3筒内圧Pc1(3)として取得する。
ステップ1338〜ステップ1342:CPU71は、ステップ1320乃至ステップ1324と同様な処理を行うことにより、特定気筒のクランク角がATDC50°であるときの筒内圧Pc1を値V4として取得するとともに、値V4から基準値V0を減算した値を第4筒内圧Pc1(4)として取得する。CPU71は、ステップ1342を処理した後、ステップ1346に進む。
ステップ1346:CPU71は、下記の(6)式に従って前回の燃焼サイクルにおける特定気筒の図示トルクTRQ(平均有効トルク値TRQ)を算出する。
以上、説明したように、第一制御装置は、
機関10の有する複数の気筒のそれぞれについて圧縮上死点後第一クランク角における実際の燃焼割合(例えば、8deg燃焼割合MFB8(#n))を第一燃焼割合として取得するとともに、その第一クランク角よりも遅角側である圧縮上死点後第二クランク角における実際の燃焼割合(例えば、30deg燃焼割合MFB30(#n))を第二燃焼割合として取得する燃焼割合取得手段(図5のステップ510及びステップ520、図9のステップ930及びステップ940等)と、
前記機関に要求されるトルクである要求トルクを変更するために変更される要求トルク関連量に基づいて前記複数の気筒のそれぞれに供給する燃料量を決定するとともに同決定した燃料量の燃料を同複数の気筒のそれぞれに供給する燃料供給手段(図6のルーチン)と、
前記複数の気筒のそれぞれに対して取得された前記第二燃焼割合に基づいて定められる空気量制御用第二燃焼割合(MFB30TA)が目標第二燃焼割合(MFB30tgt)に一致するように前記機関の吸入空気量を制御する吸入空気量制御手段(図5のステップ510、図7のルーチン)と、
前記複数の気筒のそれぞれに対して取得された前記第一燃焼割合が前記目標第二燃焼割合よりも小さい目標第一燃焼割合(目標8deg燃焼割合MFB8tgt(#n))に一致するように同複数の気筒のそれぞれの点火時期を制御する点火時期制御手段(図5のステップ520、図9のルーチン、図10)と、
前記機関の状態を表す運転状態パラメータを取得するとともに同取得した運転状態パラメータに応じて前記目標第一燃焼割合を変更する目標第一燃焼割合変更手段(図5のステップ530、図8のステップ820〜ステップ870)と、
を備える。
これにより、気筒間に気筒性能の差がある場合であっても、各気筒における燃焼が安定する。従って、第一制御装置は、燃焼割合(第一燃焼割合)を用いて点火時期を最適な時期に近づけるとともに、燃焼割合(第二燃焼割合)を用いて空燃比を希薄限界に近い空燃比に制御し、且つ、機関10の運転状態を安定化させることができる。
更に詳細には、第一制御装置の目標第一燃焼割合変更手段は、前記運転状態パラメータとして前記複数の気筒のそれぞれについて取得された前記第一燃焼割合の所定の期間における標準偏差σ(MFB8(#n))を取得するとともに、前記複数の気筒のうちの任意の一つの気筒である特定気筒に対して取得した同標準偏差が所定の標準偏差閾値よりも大きいとき同特定気筒に対する前記目標第一燃焼割合を減少するように構成されている(図5のステップ530、図8のステップ820〜ステップ870)。
これにより、燃焼が不安定となっている気筒の点火時期が遅角側に移行されるので、その気筒の燃焼が安定化する。
更に、前記目標第一燃焼割合変更手段は、前記運転状態パラメータとして(前記複数の気筒のそれぞれが少なくとも一回の燃焼行程を終了する期間における)前記機関のトルク変動量に応じた値(最大最小差ΔMFB8tgt、最大最小差ΔTRQ)を取得するとともに、同取得したトルク変動量に応じた値が所定のトルク変動量閾値よりも大きくなったと推定されるとき同複数の気筒のそれぞれに対する前記目標第一燃焼割合(目標8deg燃焼割合MFB8tgt(#n))を同複数の気筒の総てに対して共通の所定値(目標8deg燃焼割合MFB8tgtALL)に設定する(気筒別点火時期制御を中止する)ように構成されている(図5のステップ540及びステップ550、図11のルーチン、図12のルーチン、図8のステップ810及びステップ880、並びに、図9のルーチン)。
この「共通の所定値(目標8deg燃焼割合MFB8tgtALL)」は、各気筒の点火時期が過進角とならない値に選択される。従って、第一制御装置は、機関10の振動を低減することができる。
なお、第一制御装置は、上記最大最小差ΔMFB8tgt(即ち、機関10の有する複数の気筒のそれぞれが一回の燃焼行程を終了する期間において同複数の気筒のそれぞれの点火時期を制御する際に前記点火時期制御手段によって用いられた前記目標第一燃焼割合のうちの最大値と最小値との差)、及び、上記最大最小差ΔTRQ(即ち、前記複数の気筒のそれぞれが一回の燃焼行程を終了する期間におけるそれぞれの気筒に対する図示トルクのうちの最大値と最小値との差)の何れか一方のみを取得し、それに基づいて気筒別点火時期制御を中止するか否かを判定するように構成され得る。
更に、第一制御装置は、運転状態パラメータとしての「機関のトルク変動量に応じた値」として、複数の気筒のうちの点火順序が連続する二つの気筒のそれぞれに対する前記目標第一燃焼割合の差ΔY1、又は、前記複数の気筒のうちの点火順序が連続する二つの気筒のそれぞれに対する図示トルクの差ΔY2、を取得し、それに基づいて気筒別点火時期制御を中止するか否かを判定するように構成されることもできる。即ち、この場合、第一制御装置は、差ΔY1が所定値ΔY1thよりも大きければ気筒別点火時期制御を中止し、差ΔY2が所定値ΔY2thよりも大きければ気筒別点火時期制御を中止する。これは、点火順序が連続する二つの気筒が発生するトルク差が大きいと、機関10が振動し易くなるからである。
<第二実施形態>
次に、本発明の第二実施形態に係る制御装置(以下、「第二制御装置」と称呼する。)について説明する。第二制御装置において、目標第一燃焼割合は総ての気筒に対して共通(目標8deg燃焼割合MFB8tgtA)である。即ち、第二制御装置は、気筒別点火時期制御(目標第一燃焼割合である目標8deg燃焼割合MFB8tgtを気筒別に設定する制御)を実行しない。但し、第二制御装置は、機関10に供給された混合気の実際の空燃比を取得するとともに、その取得した空燃比が「理論空燃比又は理論空燃比から所定空燃比だけ大きい空燃比」よりも小さいとき目標第一燃焼割合(目標8deg燃焼割合MFB8tgtA)を変更(増大)させる。
(第二制御装置による制御の概要)
以下、図14に示した概略フローチャートに沿って第二制御装置による制御の概要について説明する。
先ず、第二制御装置はステップ1410に進み、先に説明した図5のステップ510と同じ処理を行う。即ち、第二制御装置は、各気筒の30deg燃焼割合MFB30(第二燃焼割合)に基づいて空気量制御用第二燃焼割合MFB30TAを求める。更に、第二制御装置は空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtと一致するように吸入空気量(実際には、スロットル弁43の開度)を制御する。本例においても、目標第二燃焼割合MFB30tgtは90%である。
ところで、ある機関において点火時期をMBTに設定するための目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)は60%である(即ち、図1に示した領域Aに対応するMFB8tgtが60%である)と仮定する。しかし、圧縮上死点後8°クランク角は、燃焼の初期〜中期であるから、目標8deg燃焼割合MFB8tgtを60%に設定すると、点火時期はかなり進角側の時期になる。その結果、燃焼は不安定になる傾向にある。
更に、上述した気筒性能は気筒間において相違する。従って、ある気筒の燃焼状態が他の気筒に比べて大きく悪化する可能性がある。その場合、燃費が悪化する場合が発生する。
以上のことから、点火時期をMBTに厳密に一致させるために目標第一燃焼割合を相当に大きい値に設定することは必ずしも得策ではない。よって、第一目標燃焼割合を、MBTを狙うための理想値(例えば、60%)よりも僅かに小さい値(例えば、50%)に設定することにより、点火時期を遅角側に設定し、もって、燃焼を安定させることにより結果的に燃費を向上することが考えられる。
しかしながら、このように目標第一燃焼割合を相対的に小さい値に設定すると点火時期は遅角側となるから、燃焼割合MFBの立ち上がりが遅れる。この結果、機関の空燃比が希薄限界近傍の空燃比であると、第二燃焼割合(30deg燃焼割合MFB30)が十分な大きさとならず、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtに到達できない場合が発生する。この場合、第二制御装置は、空気量制御用第二燃焼割合MFB30TAを目標第二燃焼割合MFB30tgtに一致させるように吸入空気量を減少させ、それにより空燃比をリッチ化する。即ち、空燃比は希薄限界から遠ざかる。その結果、燃費が悪化する場合がある。
図15乃至図17は、このような現象を示したグラフである。図15は、機関10を搭載した車両の速度(車速)に対する燃料消費率を示したグラフである。このグラフにおいて、燃料消費率が小さいほど機関の熱効率が良好である(即ち、燃費が良好である)ことを示す。図15から理解されるように、車速が60km/hである場合、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が50%であるときの燃料消費率(ケースB)のほうが、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が60%であるときの燃料消費率(ケースC)よりも良好である。
図16は、車速が60km/hである場合における空燃比と燃焼のバラツキ度合いを示したグラフである。この図16から、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が50%であるとき(ケースB)の空燃比と目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が60%であるとき(ケースC)の空燃比とは同じ程度の希薄空燃比であることが判る。これに対し、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が50%であるとき(ケースB)の燃焼バラツキは、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が60%であるとき(ケースC)の燃焼バラツキよりも小さい。即ち、図16は、車速60km/hの場合、燃焼バラツキが小さくなるように(燃焼が安定するように)目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)を小さめの値に設定したほうが、結果的に燃費が良くなることを示している。
一方、図15から理解されるように、車速が120km/hである場合、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が60%であるときの燃料消費率(ケースC)のほうが、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が50%であるときの燃料消費率(ケースB)よりも良好である。
図17は、車速が120km/hである場合における空燃比と燃焼のバラツキ度合いを示したグラフである。この図17から、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が60%であるとき(ケースC)の空燃比は19以上の希薄空燃比になっているが、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が50%であるとき(ケースB)の空燃比は15.5前後であって希薄空燃比になっていない。これに対し、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が60%であるとき(ケースC)の燃焼バラツキは、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)が50%であるとき(ケースB)の燃焼バラツキよりも僅かに大きい。即ち、図17は、車速120km/hの場合、燃焼バラツキは多少大きくなるものの、目標第一燃焼割合(目標8deg燃焼割合MFB8tgt)を60%に設定することにより空燃比が大きくなり、その結果、燃費率が良好になることを示している。
そこで、第二制御装置は、図14のステップ1420において、第n気筒(nは1〜4の整数)の8deg燃焼割合MFB8(#n)が「総ての気筒に共通の目標8deg燃焼割合MFB8tgtA」と一致するように、第n気筒の点火時期SA(#n)を制御する。この目標8deg燃焼割合MFB8tgtAの初期値は、MBTを狙う値(例えば、60%)より小さい値(例えば、50%)に設定される。
次に、第二制御装置はステップ1430に進み、空燃比センサ67の出力に基づいて取得される実際の空燃比が閾値空燃比(例えば、17)よりも小さい(リッチ側の空燃比)であるか否かを判定する。この閾値空燃比は、理論空燃比又は理論空燃比から所定空燃比だけ大きい空燃比に設定される。
このとき、実際の空燃比が閾値空燃比以上であれば(即ち、実際の空燃比が希薄限界空燃比に十分に近しい空燃比となっていれば)、第二制御装置はステップ1430にて「No」と判定してステップ1410に戻る。
これに対し、実際の空燃比が閾値空燃比よりも小さいと、第二制御装置はステップ1430にて「Yes」と判定してステップ1440に進み、現時点の燃焼は安定しているか否かを判定する。より具体的には、第二制御装置は、少なくとも総ての気筒のそれぞれが一回の燃焼行程を終了する期間(例えば、720度クランク角)における「機関10のトルク変動量に応じた値」を取得し、その取得したトルク変動量に応じた値が所定のトルク変動量閾値よりも小さいか否かを判定する。
現時点の燃焼が安定している場合、第二制御装置はステップ1450に進み、目標8deg燃焼割合MFB8tgtAを所定量だけ増大する。この結果、目標8deg燃焼割合MFB8tgtAは例えば60%に近づく。但し、第二制御装置は、目標8deg燃焼割合MFB8tgtAが最大目標8deg燃焼割合MFB8max(例えば60%)を超えないように、目標8deg燃焼割合MFB8tgtAを変更する。その後、第二制御装置はステップ1400からの処理を繰り返す。
このような処理により、目標8deg燃焼割合MFB8tgtAは増大して行く。その結果、点火時期は進角側に移行する。従って、燃焼割合が上昇を開始する時点が早くなるので、空気量制御用第二燃焼割合MFB30TAは上昇し、目標第二燃焼割合MFB30tgtよりも大きくなる。よって、空気量制御用第二燃焼割合MFB30TAが目標第二燃焼割合MFB30tgtに一致するように吸入空気量が増大せしめられ、実際の空燃比は大きくなる(希薄限界の空燃比に近づく)。従って、燃費が良好になる。
また、ステップ1440の判定時において、現時点の燃焼が安定していない場合、第二制御装置はステップ1440からステップ1460に進み、目標8deg燃焼割合MFB8tgtAを所定量だけ減少する。この結果、目標8deg燃焼割合MFB8tgtAは例えば50%に近づく。但し、第二制御装置は、目標8deg燃焼割合MFB8tgtAが最小目標8deg燃焼割合MFB8min(例えば50%)を下回ることがないように、目標8deg燃焼割合MFB8tgtAを変更する。これにより、燃焼が過度に不安定になり、トルク変動が大きくなることを回避することができる。その後、第二制御装置はステップ1400からの処理を繰り返す。なお、第二制御装置は、ステップ1430からステップ1410に戻る途中に、実際の空燃比が希薄限界空燃比に近い空燃比よりも大きくなっているとき、目標8deg燃焼割合MFB8tgtAを所定量だけ増大してもよい。
(第二制御装置による制御の詳細)
次に、第二制御装置による制御の詳細について説明する。
第二制御装置のCPU71は、図6及び図7に示したルーチンを実行することにより、燃料噴射制御及びスロットル弁(吸入空気量)制御を行う。更に、第二制御装置のCPU71は、図18及び図19に示したルーチンを実行することにより、点火時期制御を行う。図6及び図7に示したルーチンによる処理は説明済みである。従って、以下、図18及び図19に示したルーチンに従って第二制御装置の点火時期制御について説明する。
4−1.点火時期制御
CPU71は、図18に示した点火時期制御ルーチンを所定の微小時間の経過毎に繰り返し実行している。図18に示したルーチンは図9に示したルーチンにおけるステップ950をステップ1810に置換した点のみにおいて、図9に示したルーチンと相違している。なお、図18において図9に示したステップと同一の処理を行うためのステップには、図9のそのようなステップに付された符号と同一の符号が付されている。これらのステップについての詳細な説明は省略される。
CPU71は、現時点のクランク角が「第n気筒の圧縮上死点後60度クランク角」に一致するとステップ930に進み、第n気筒の8deg燃焼割合MFB8(#n)を取得する。次に、CPU71は、ステップ940にて第n気筒の30deg燃焼割合MFB30(#n)を取得する。次いで、CPU71はステップ1810に進み、ステップ930にて取得した8deg燃焼割合MFB8(#n)を、総ての気筒に共通の目標8deg燃焼割合MFB8tgtAと一致させるための点火時期補正量ΔSA(#n)を決定する。点火時期補正量ΔSA(#n)の算出の仕方はステップ950と同様である。そして、CPU71はステップ960に進み、第n気筒の点火時期SA(#n)を決定するとともに、第n気筒の実際の点火時期が第n気筒の点火時期SA(#n)と一致するように、第n気筒のイグナイタ38に点火指示信号を送出する。
4−2.目標8deg燃焼割合MFB8tgtAの設定
CPU71は、図19に示した目標第一燃焼割合MFB8tgt設定ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1900から処理を開始し、720度クランク角前の時点から現時点までにおける「機関10のトルク変動量dTRQ」を取得する。機関10のトルク変動量dTRQは、720度クランク角前の時点から現時点までにおける図示トルクの最大値と最小値との差である。更に、CPU71は、そのトルク変動量dTRQが閾値トルク変動量dTRQthより小さいか否かを判定する。なお、CPU71は、図13に示したルーチンを各気筒別に実行し、取得したトルクTRQを気筒別に且つその時点のクランク角に対応付けてRAM73に格納している。
いま、燃焼が安定していて、機関10のトルク変動量dTRQが閾値トルク変動量dTRQthより小さいと仮定する。この場合、CPU71はステップ1910にて「Yes」と判定してステップ1920に進み、空燃比センサ67によって検出された空燃比Abyfsが閾値空燃比ALth(例えば、17)よりも小さい(リッチ側の空燃比である)か否かを判定する。この閾値空燃比ALthは、理論空燃比又は理論空燃比から所定空燃比だけ大きい空燃比に設定される。
いま、検出された空燃比Abyfsが閾値空燃比ALthよりも小さいと仮定する。この場合、CPU71はステップ1920にて「Yes」と判定し、ステップ1930に進んで目標8deg燃焼割合MFB8tgtAを所定量Δmfbだけ増大する。次いで、CPU71は以下に述べるステップ1940乃至ステップ1970のうちの必要な処理を実行し、ステップ1995に進んで本ルーチンを一旦終了する。
ステップ1940:CPU71は、目標8deg燃焼割合MFB8tgtAが最小目標8deg燃焼割合MFB8min(本例においては50%)以下であるか否かを判定する。目標8deg燃焼割合MFB8tgtAが最小目標8deg燃焼割合MFB8min以下であると、CPU71はステップ1950に進む。目標8deg燃焼割合MFB8tgtAが最小目標8deg燃焼割合MFB8minよりも大きいと、CPU71はステップ1940からステップ1960に直接進む。
ステップ1950:CPU71は、目標8deg燃焼割合MFB8tgtAに最小目標8deg燃焼割合MFB8minを格納する。
ステップ1960:CPU71は、目標8deg燃焼割合MFB8tgtAが最大目標8deg燃焼割合MFB8max(本例においては60%)以上であるか否かを判定する。目標8deg燃焼割合MFB8tgtAが最大目標8deg燃焼割合MFB8max以上であると、CPU71はステップ1970に進む。目標8deg燃焼割合MFB8tgtAが最大目標8deg燃焼割合MFB8maxよりも小さいと、CPU71はステップ1960からステップ1995に直接進む。
ステップ1970:CPU71は、目標8deg燃焼割合MFB8tgtAに最大目標8deg燃焼割合MFB8maxを格納する。
一方、ステップ1910の判定時点において機関10のトルク変動量dTRQが閾値トルク変動量dTRQth以上であると、CPU71はステップ1910にて「No」と判定してステップ1980に進み、目標8deg燃焼割合MFB8tgtAを所定量Δmfbだけ減少する。次いで、CPU71はステップ1940乃至ステップ1970のうちの必要な処理を実行し、ステップ1995に進んで本ルーチンを一旦終了する。
以上、説明したように、第二制御装置は、第一制御装置と同様に、燃焼割合取得手段、燃料供給手段、吸入空気量制御手段及び点火時期制御手段を有する。更に、第二制御装置は、前記機関の状態を表す運転状態パラメータ(実際の空燃比Abyfs)を取得するとともに同取得した運転状態パラメータに応じて前記目標第一燃焼割合を変更する目標第一燃焼割合変更手段(図14のステップ1430及びステップ1450、図19のステップ1920及びステップ1930)を備える。
従って、第二制御装置は、点火時期の制御に「安定した燃焼を実現するために点火時期を若干遅角側に設定する目標第一燃焼割合」を使用することができるので、燃焼を安定させながら空燃比を希薄限界に近しいリーン空燃比に設定できる。更に、第二制御装置は、実際の空燃比が希薄限界から遠い空燃比(リッチ側の空燃比)となったときには、その目標第一燃焼割合を増大する。この結果、点火時期は進角されるから、燃焼割合が速やかに増大する。従って、空気量制御用第二燃焼割合が目標第二燃焼割合よりも大きくなるので、吸入空気量が増大され、その結果、混合気の空燃比が希薄限界に近づくので、燃費が改善される。
更に、第二制御装置の目標第一燃焼割合変更手段は、「前記運転状態パラメータ」として「前記複数の気筒のそれぞれが少なくとも一回の燃焼行程を終了する期間における前記機関のトルク変動量に応じた値(dTRQ)」を取得するとともに、「その取得したトルク変動量に応じた値」が所定のトルク変動量閾値(dTRQth)を超えないように前記目標第一燃焼割合を増大させる(図19のステップ1910を参照。)。
従って、「点火時期が過進角となることに起因して、機関のトルク変動量が大きくなり、よって、機関10の振動が大きくなること」を回避することができる。
以上、説明したように、本発明に係る内燃機関の制御装置によれば、第一燃焼割合を用いて点火時期を最適な時期に近づけるとともに第二燃焼割合を用いて空燃比を希薄限界に近い空燃比に制御し、且つ、機関10の運転状態を安定化させることができる。
更に、上記実施形態によれば、空燃比がよりリーンな空燃比に変更される際、燃焼に寄与する燃料の量である燃料噴射量TAUが低下しないので、機関発生トルクは要求トルクに一致し続ける。即ち、「機関発生トルクが比較的大きく減少することに起因して運転者が違和感を覚える」という問題を回避することもできる。
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記各実施形態は、燃焼割合MFB(従って、図示熱量の割合Qsum/Qtotal)を筒内圧に基いて取得していたが、燃焼割合MFBをWiebe関数と呼ばれる燃焼モデル(例えば、特開2006−9720号公報を参照。)により求めるように構成することもできる。
10…内燃機関、20…シリンダブロック部、25…燃焼室、30…シリンダヘッド部、37…点火プラグ、38…イグナイタ、39…燃料噴射弁、40…吸気系統、43…スロットル弁、43a…スロットル弁アクチュエータ、50…排気系統、61…エアフローメータ、65…筒内圧センサ、67…上流側空燃比センサ、69…アクセル操作量センサ、70…電気制御装置、71…CPU。