以下、図面を参照しながら、本発明の一実施形態に係る内燃機関のEGR制御装置について説明する。図2に示すように、このEGR制御装置1は、ECU2を備えており、このECU2は、後述するように、内燃機関(以下「エンジン」という)3の運転状態に応じて、EGR制御処理などの各種の制御処理を実行する。
図1および図3に示すように、エンジン3は、4組の気筒3aおよびピストン3b(1組のみ図示)を有する直列4気筒ガソリンエンジンであり、図示しない車両に搭載されているとともに、各気筒3aのピストン3bとシリンダヘッド3cとの間に燃焼室3gが形成されている。
エンジン3は、気筒3a毎に設けられた一対の吸気弁4,4(1つのみ図示)および一対の排気弁7,7(図9参照)と、吸気カムシャフト5および吸気カム6を有するとともに各吸気弁4を開閉駆動する吸気側動弁機構40と、排気カムシャフト8および排気カム9を有するとともに各排気弁7を開閉駆動する排気側動弁機構60と、燃料噴射弁10(図2参照)と、点火プラグ11(図2参照)などを備えている。
吸気弁4は、そのステム4aがガイド4bに摺動自在に嵌合しており、このガイド4bは、シリンダヘッド3cに固定されている。さらに、吸気弁4は、上下のスプリングシート4c,4dと、これらの間に設けられたバルブスプリング4eとにより、閉弁方向に付勢されている。
また、吸気カムシャフト5および排気カムシャフト8はそれぞれ、図示しないホルダを介して、シリンダヘッド3cに回動自在に取り付けられているとともに、気筒3aの配列方向に沿って延びている。この吸気カムシャフト5の一端部上には、吸気スプロケット(図示せず)が同軸に配置され、回転自在に設けられている。この吸気スプロケットは、図示しないタイミングチェーンを介してクランクシャフト3dに連結され、後述する吸気カム位相可変機構50を介して吸気カムシャフト5に連結されている。以上の構成により、吸気カムシャフト5は、クランクシャフト3dが2回転する毎に1回転する。
また、吸気カム6は、吸気カムシャフト5上にこれと一体に回転するように設けられており、図示しないが、気筒3a毎に設けられた2つの低速カムと、気筒3a毎に設けられ、低速カムよりも高いカムノーズを有する1つの高速カムで構成されている。
さらに、吸気側動弁機構40は、クランクシャフト3dの回転に伴う吸気カムシャフト5の回転により、各気筒3aの吸気弁4を開閉駆動するものであり、後述するように、吸気弁4のリフトを2段階に切り換えるとともに、吸気弁4のバルブタイミングを無段階に変更する可変式の動弁機構で構成されている。なお、本実施形態では、「吸気弁4のリフト(以下「吸気リフト」という)」は、吸気弁4の最大揚程を表すものとする。
一方、排気弁7は、そのステム7aがガイド7bに摺動自在に嵌合しており、このガイド7bは、シリンダヘッド3cに固定されている。さらに、排気弁7は、上下のスプリングシート7c,7dと、これらの間に設けられたバルブスプリング7eとにより、閉弁方向に付勢されている。
また、排気カムシャフト8の一端部上には、排気スプロケット(図示せず)が同軸に配置され、回転自在に設けられている。この排気スプロケットは、図示しないタイミングチェーンを介してクランクシャフト3dに連結され、後述する排気カム位相可変機構90を介して排気カムシャフト8に連結されている。以上の構成により、排気カムシャフト8は、クランクシャフト3dが2回転する毎に1回転する。さらに、排気カム9は、排気カムシャフト8上にこれと一体に回転するように気筒3a毎に設けられている。
さらに、排気側動弁機構60は、クランクシャフト3dの回転に伴う排気カムシャフト8の回転により、各気筒3aの排気弁7を開閉駆動するものであり、後述するように、排気弁7のリフトおよびバルブタイミングを無段階に変更する可変式の動弁機構で構成されている。なお、本実施形態では、「排気弁7のリフト(以下「排気リフト」という)」は、排気弁7の最大揚程を表すものとする。
一方、燃料噴射弁10は、気筒3a毎に設けられ、燃料を燃焼室3g内に直接噴射するようにシリンダヘッド3cに取り付けられている。すなわち、エンジン3は直噴エンジンとして構成されている。また、燃料噴射弁10は、ECU2に電気的に接続されており、ECU2により、後述する燃料噴射量TOUTに基づいて、開弁時間および開弁タイミングが制御される。
また、点火プラグ11も、気筒3a毎に設けられ、シリンダヘッド3cに取り付けられている。点火プラグ11は、ECU2に電気的に接続されており、ECU2により、点火時期に応じたタイミングで燃焼室3g内の混合気を燃焼させるように、放電状態が制御される。
一方、エンジン3には、クランク角センサ20および水温センサ21が設けられている。このクランク角センサ20は、マグネットロータおよびMREピックアップで構成されており、クランクシャフト3dの回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。
このCRK信号は、所定クランク角(例えば10゜)毎に1パルスが出力され、ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。なお、本実施形態では、エンジン回転数NEが第1、第2および第3の運転状態パラメータに相当する。また、TDC信号は、各気筒3aのピストン3bが吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に1パルスが出力される。
さらに、水温センサ21は、エンジン3のシリンダブロック3e内を循環する冷却水の温度であるエンジン水温TWを検出して、それを表す検出信号を、ECU2に出力する。
一方、エンジン3の吸気管12には、上流側から順に、エアフローセンサ22およびスロットル弁機構13がそれぞれ設けられている。このエアフローセンサ22は、熱線式エアフローメータで構成されており、吸気管12内を流れる新気の流量(以下「新気流量」という)GINを検出して、それを表す検出信号をECU2に出力する。なお、本実施形態では、新気流量が第1の運転状態パラメータに相当する。
さらに、スロットル弁機構13は、スロットル弁13aおよびこれを開閉駆動するTHアクチュエータ13bなどを備えている。スロットル弁13aは、吸気管12の途中に回動自在に設けられており、回動に伴う開度の変化により吸気管12内の新気流量を変化させる。THアクチュエータ13bは、ECU2に接続されたモータにギヤ機構(いずれも図示せず)を組み合わせたものであり、ECU2からの後述するTH制御入力U_THによって駆動されることにより、スロットル弁13aの開度を変化させる。
また、スロットル弁13aには、これを開弁方向および閉弁方向にそれぞれ付勢する2つのばね(いずれも図示せず)が取り付けられている。これら2つのばねの付勢力により、スロットル弁13aは、後述するように、TH制御入力U_THが値0に設定されているときや、TH制御入力U_THがTHアクチュエータ13bに入力されていないときには、所定の初期開度に保持される。この初期開度は、全閉状態に近い値であって、停車中はアイドル運転やエンジン始動を適切に行うことができると同時に、走行中は低速走行状態を維持できるような吸入空気量を確保できる値(例えば6゜)に設定されている。
また、吸気管12のスロットル弁機構13よりも下流側には、吸気温センサ23および吸気管内圧センサ24(いずれも図2参照)が設けられている。この吸気温センサ23は、吸気管12内を流れる空気の温度(以下「吸気温」という)TAを検出して、それを表す検出信号をECU2に出力する。
吸気管内圧センサ24は、例えば半導体圧力センサなどで構成され、吸気管12内の圧力(以下「吸気管内圧」という)PBAを検出して、それを表す検出信号をECU2に出力する。この吸気管内圧PBAは、絶対圧として検出される。なお、本実施形態では、吸気管内圧PBAが第1の運転状態パラメータに相当する。
一方、エンジン3の排気管14には、上流側から順に、LAFセンサ25および触媒装置15がそれぞれ設けられている。LAFセンサ25は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気管14内を流れる排ガス中の酸素濃度をリニアに検出して、それを表す検出信号をECU2に出力する。ECU2は、このLAFセンサ25の検出信号の値に基づき、排ガス中の空燃比を表す検出空燃比KACTを算出する。この場合、検出空燃比KACTは、具体的には当量比として算出される。
また、エンジン3には、排気還流機構16が設けられている。この排気還流機構16は、排気管14内の排ガスを吸気管12側に還流させるものであり、吸気管12および排気管14の間に接続されたEGR管16aと、このEGR管16aを開閉するEGR制御弁16bなどで構成されている。EGR管16aの一端は、排気管14の触媒装置15よりも上流側の部分に開口し、他端は、吸気管12のスロットル弁機構13よりも下流側の部分に開口している。
また、EGR制御弁16bは、リニア電磁弁タイプのもので、ECU2からの後述するEGRリフト制御入力U_LIFTに応じて、そのリフト(以下「EGRリフト」という)が最大値と最小値との間でリニアに変化するように構成されており、それにより、EGR管16aの開度すなわち排気還流量(以下「外部EGR量」という)を変化させる。
このEGR制御弁16bには、EGRリフトセンサ26が取り付けられており、EGRリフトセンサ26は、EGR制御弁16bの実際のEGRリフトLACTを検出して、それを表す検出信号をECU2に出力する。ECU2は、後述するように、EGR制御弁16bを介して、EGRリフトLACTが目標EGRリフトLCMDに収束するように、外部EGR量を制御する。なお、以下の説明では、排気還流機構16により排気を還流させることを「外部EGR」という。
なお、本実施形態では、排気還流機構16が低温ガス還流装置に相当し、この排気還流機構16により還流される排ガスが低温ガスに相当する。
次に、前述した吸気側動弁機構40について説明する。この吸気側動弁機構40は、図4に示すように、吸気カムシャフト5、吸気カム6、吸気リフト切換機構41および吸気カム位相可変機構50などを備えている。
吸気リフト切換機構41は、本出願人が特開2000−227013号公報などで既に提案したものと同様に構成されているので、その詳細な説明は省略するが、ロッカアームシャフト42と、これに回動自在に取り付けられた2つの低速ロッカアーム43,43(1つのみ図示)および高速ロッカアーム(図示せず)と、ECU2に接続された吸気リフト電磁弁44(図2参照)などを備えている。
この吸気リフト切換機構41では、ECU2からの吸気リフト制御入力U_VTECにより吸気リフト電磁弁44が制御されることによって、吸気リフト切換機構41の動作モードが低リフトモードまたは高リフトモードに切り換えられる。この低リフトモードでは、吸気カムシャフト5が回転すると、低速カムにより低速ロッカアーム43が駆動され、高速カムにより高速ロッカアームが駆動されるものの、高速ロッカアームは、吸気弁4とは無関係にロッカアームシャフト42の回りを回動する。それにより、吸気弁4は、低速ロッカアーム43によって開閉駆動され、所定のリフトでかつ所定の開弁時間で開閉する。
一方、高リフトモードでは、吸気カムシャフト5が回転すると、高速カムにより駆動されることで、高速ロッカアームが回動するとともに、これと一体に低速ロッカアーム43が回動する。その結果、吸気弁4は、低速ロッカアーム43を介して高速ロッカアームにより開閉駆動され、それによって、低リフトモードと比べて、より高いリフトでかつより長い開弁時間で開閉する。なお、エンジン3が後述する圧縮着火燃焼モードで運転されるときには、吸気リフト切換機構41の動作モードが低リフトモードに設定される。
次に、吸気カム位相可変機構50について説明する。この吸気カム位相可変機構50は、吸気カムシャフト5のクランクシャフト3dに対する相対的な位相(以下「吸気カム位相」という)CAINを無段階に進角側または遅角側に変更するものであり、吸気カムシャフト5の吸気スプロケット側の端部に設けられている。図5に示すように、吸気カム位相可変機構50は、ハウジング51、3枚羽根式のベーン52、油圧ポンプ53および吸気カム位相電磁弁54などを備えている。
このハウジング51は、吸気カムシャフト5上の吸気スプロケットと一体に構成されており、互いに等間隔に形成された3つの隔壁51aを備えている。ベーン52は、吸気カムシャフト5の吸気スプロケット側の端部に同軸に取り付けられ、吸気カムシャフト5から外方に放射状に延びているとともに、ハウジング51内に回転可能に収容されている。また、ハウジング51では、隔壁51aとベーン52との間に、3つの進角室55および3つの遅角室56が形成されている。
油圧ポンプ53は、クランクシャフト3dに連結された機械式のものであり、クランクシャフト3dが回転すると、それに伴って、エンジン3のオイルパン3eに蓄えられた潤滑用のオイルを、油路57cを介して吸い込むとともに、これを昇圧した状態で、油路57cを介して吸気カム位相電磁弁54に供給する。
吸気カム位相電磁弁54は、スプール弁機構54aおよびソレノイド54bを組み合わせたものであり、進角油路57aおよび遅角油路57bを介して、進角室55および遅角室56にそれぞれ接続されているとともに、油圧ポンプ53から供給された油圧Poilを、進角油圧Padおよび遅角油圧Prtとして、進角室55および遅角室56にそれぞれ出力する。吸気カム位相電磁弁54のソレノイド54bは、ECU2に電気的に接続されており、ECU2からの後述する吸気位相制御入力U_CAINにより、スプール弁機構54aのスプール弁体を所定の移動範囲内で移動させることで、進角油圧Padおよび遅角油圧Prtをいずれも変化させる。
以上の吸気カム位相可変機構50では、油圧ポンプ53の動作中、吸気カム位相電磁弁54が吸気位相制御入力U_CAINに応じて作動することにより、進角油圧Padが進角室55に、遅角油圧Prtが遅角室56にそれぞれ供給され、それにより、ベーン52とハウジング51との間の相対的な位相が進角側または遅角側に変更される。その結果、前述した吸気カム位相CAINが、所定の最遅角値と所定の最進角値との間で連続的に変化し、それにより、吸気弁4のバルブタイミングは、図6に実線で示す最遅角タイミングと、図6に2点鎖線で示す最進角タイミングとの間で無段階に変更される。
なお、この吸気カム位相可変機構50には、図示しないロック機構が設けられており、このロック機構により、吸気カム位相CAINが吸気位相制御入力U_CAINに対応する値に保持される。さらに、油圧ポンプ53からの供給油圧が低いとき、吸気位相制御入力U_CAINが後述するように値0に設定されているとき、または断線などによりU_CAINが吸気カム位相電磁弁54に入力されないときには、ロック機構により、吸気カム位相可変機構50による吸気カム位相CAINの変更が禁止され、吸気カム位相CAINが所定の故障時用値に保持される。
一方、吸気カムシャフト5の吸気カム位相可変機構50と反対側の端部には、吸気カム角センサ27(図2参照)が設けられている。この吸気カム角センサ27は、例えばマグネットロータおよびMREピックアップで構成されており、吸気カムシャフト5の回転に伴い、パルス信号であるINCAM信号を所定のカム角(例えば1゜)ごとにECU2に出力する。ECU2は、このINCAM信号および前述したCRK信号に基づき、吸気カム位相CAINを算出する。
次に、前述した排気側動弁機構60について説明する。この排気側動弁機構60は、図7に示すように、排気カムシャフト8、排気カム9、排気リフト可変機構70および排気カム位相可変機構90などを備えている。
この排気リフト可変機構70は、クランクシャフト3dの回転に伴う排気カムシャフト8の回転により排気弁7を開閉駆動するとともに、排気リフトを値0と所定の最大値LEXMAX(図10参照)との間で無段階に変更するものであり、図8〜9に示すように、コントロールシャフト71およびロッカアームシャフト72と、これらのシャフト71,72上に気筒3a毎に設けられたロッカアーム機構73と、これらのロッカアーム機構73を同時に駆動する排気リフトアクチュエータ80などを備えている。
コントロールシャフト71は、回動軸部71a、ホルダ部71bおよび偏心軸部71cを一体に組み立てたものであり、排気カムシャフト8に沿って延び、回動軸部71aがシリンダヘッド3cに回動自在に取り付けられているとともに、その一端部が排気リフトアクチュエータ80に連結されている。
一方、各ロッカアーム機構73は、上下のロッカアーム74,75を組み合わせたものであり、この上ロッカアーム74は、一対のリンク74a,74a、ローラ軸74b、ローラ74cおよび一対のコイルばね74d,74dを備えている。ローラ軸74bは、その両端部がリンク74a,74aの一端部にそれぞれ取り付けられているとともに、リンク74a,74aにより回転自在に支持されている。また、ローラ74cは、このローラ軸74b上に回転自在に設けられている。
また、各リンク74aの他端部は、コントロールシャフト71の偏心軸部71cに回動自在に取り付けられているとともに、コイルばね74dを介してホルダ部71bに連結されている。リンク74aでは、このコイルばね74dの付勢力により、ローラ74cが排気カム9のカム面に当接するとともに、ローラ74cが排気カム9のカム面のベース円部に当接しているときには、ローラ軸74bは、その軸心が回動軸部71aの軸線上に位置するような原点位置(図7に示す位置)に保持される。
一方、下ロッカアーム75は、その一端部がロッカアームシャフト72に回動自在に支持され、他端部にはアジャストボルト75a,75aが取り付けられている。各アジャストボルト75aは、下ロッカアーム75が図7に示す閉弁位置にある場合には、排気弁7を閉弁状態に保持するとともに、下ロッカアーム75がロッカアームシャフト72を中心として閉弁位置から下方に回動すると、バルブスプリング7eの付勢力に抗しながら、ステム7aを下方に駆動し、排気弁7を開放する。
また、下ロッカアーム75は、上方に突出する一対の案内部75b,75bを備えている。各案内部75bは、その上面が上ロッカアーム74のローラ軸74bを案内する案内面75cになっており、バルブスプリング7eの付勢力により、この案内面75cを介してローラ軸74bに当接している。この案内面75cは、リンク74aが図7に実線で示す閉弁位置にある場合の偏心軸部71cを中心とする円弧と一致するような、下方に凸の円弧形状を有している。また、案内部75bとローラ軸74bが互いに当接している状態では、ローラ74cは、案内部75b,75b間に位置するとともに、下ロッカアーム75に当接することなく、排気カム9のみに当接する。
一方、排気リフトアクチュエータ80は、モータおよび減速ギヤ機構(いずれも図示せず)などを組み合わせたものであり、ECU2に電気的に接続されているとともに、後述するように、ECU2により駆動されると、コントロールシャフト71をその回動軸部71aを中心として回動させる。このコントロールシャフト71の回動に伴い、リンク74aもローラ軸74bを中心として回動する。
次に、以上のように構成された排気リフト可変機構70の動作について説明する。この排気リフト可変機構70では、ECU2からの後述する排気リフト制御入力U_SAAEXにより、排気リフトアクチュエータ80が駆動されると、コントロールシャフト71が回動する。その際、図示しないストッパにより、コントロールシャフト71の回動角SAAEXは所定範囲内に規制され、それにより、リンク74aの回動範囲も、例えばローラ軸74bが前述した原点位置にある場合、図7に実線で示すゼロリフト位置と図7に2点鎖線で示す最大リフト位置との間に規制される。
このようにリンク74aがゼロリフト位置にある場合、排気カム9が回転し、そのカムノーズによりローラ74cがロッカアームシャフト72側に押されると、リンク74aは偏心軸部71cを中心として、図7の時計回りに回動する。その際、前述したように、下ロッカアーム75の案内面75cが偏心軸部71cを中心とする円弧と一致するような形状を有しているので、バルブスプリング7eの付勢力により、下ロッカアーム75は図7に示す閉弁位置に保持される。それにより、排気リフトは値0に保持され、排気弁7は閉弁状態に保持される。
一方、リンク74aがゼロリフト位置から最大リフト位置側の位置まで回動し、その位置に保持されている状態では、排気カム9の回転により、リンク74aが偏心軸部71cを中心として図7の時計回りに回動すると、下ロッカアーム75は、バルブスプリング7eの付勢力に抗しながら、図7に示す閉弁位置から下方に回動し、排気弁7を開放する。その際、下ロッカアーム75の回動量すなわち排気リフトは、リンク74aが最大リフト位置側に近い位置にあるほど、より大きくなる。
以上の理由により、排気弁7は、リンク74aが最大リフト位置側に近い位置にあるほど、より大きなリフトで開弁し、具体的には、排気カム9の回転中、排気弁7は、リンク74aが最大リフト位置にあるときには、図10に実線で示すバルブリフト曲線に従って開弁し、排気リフトは、その最大値LEXMAXを示す。したがって、この排気リフト可変機構70では、排気リフトアクチュエータ80を介して、リンク74aをゼロリフト位置と最大リフト位置との間で回動させることにより、排気リフトを値0と所定の最大値LEXMAXとの間で無段階に変化させることができる。
なお、この排気リフト可変機構70には、図示しないロック機構が設けられており、このロック機構により、排気リフト制御入力U_SAAEXが後述するように値0に設定されているとき、または断線などにより排気リフト制御入力U_SAAEXが排気リフトアクチュエータ80に入力されないときには、コントロールシャフト71の回動角すなわち排気リフトが所定の故障時用値に保持される。
また、排気リフト可変機構70には、回動角センサ28が設けられており(図2参照)、この回動角センサ28は、コントロールシャフト71の回動角SAAEXを検出して、それを表す検出信号をECU2に出力する。
次に、排気カム位相可変機構90について説明する。この排気カム位相可変機構90は、排気カムシャフト8のクランクシャフト3dに対する相対的な位相(以下「排気カム位相」という)CAEXを無段階に進角側または遅角側に変更するものであり、排気カムシャフト8の排気スプロケット側の端部に設けられている。
この排気カム位相可変機構90は、前述した吸気カム位相可変機構50と同様に構成されているので、その詳細な説明は省略するが、排気カム位相電磁弁91などを備えており、ECU2からの後述する排気位相制御入力U_CAEXにより排気カム位相電磁弁91が駆動されると、排気カム位相CAEXを、所定の最遅角値と所定の最進角値との間で連続的に変化させる。それにより、排気弁7のバルブタイミングは、図6に実線で示す最遅角タイミングと、図6に2点鎖線で示す最進角タイミングとの間で無段階に変更される。
なお、この排気カム位相可変機構90には、図示しないロック機構が設けられており、このロック機構により、排気カム位相CAEXが排気位相制御入力U_CAEXに対応する値に保持される。さらに、排気位相制御入力U_CAEXが後述するように値0に設定されているとき、または断線などにより排気位相制御入力U_CAEXが排気カム位相電磁弁91に入力されないときには、ロック機構により、排気カム位相可変機構90による排気カム位相CAEXの変更が禁止され、排気カム位相CAEXが所定の故障時用値に保持される。
一方、排気カムシャフト8の排気カム位相可変機構90と反対側の端部には、排気カム角センサ29(図2参照)が設けられている。この排気カム角センサ29は、例えばマグネットロータおよびMREピックアップで構成されており、排気カムシャフト8の回転に伴い、パルス信号であるEXCAM信号を所定のカム角(例えば1゜)ごとにECU2に出力する。ECU2は、このEXCAM信号および前述したCRK信号に基づき、排気カム位相CAEXを算出する。
以上のように、このエンジン3では、吸気側動弁機構40により、吸気弁4のバルブタイミングを無段階に変更できるとともに、排気側動弁機構60により、排気弁7のリフトおよびバルブタイミングを無段階に変更でき、それにより、燃焼行程後も気筒3a内に残留する既燃ガスの量(以下「内部EGR量」という)を、2つの動弁機構40,60により自在に変更できるように構成されている。この既燃ガスは、排気還流機構16により還流される排ガスよりも高い温度を示す。なお、以下の説明では、2つの動弁機構40,60により既燃ガスを気筒3a内に残留させることを「内部EGR」という。
なお、本実施形態では、吸気カム位相可変機構50、排気リフト可変機構70および排気カム位相可変機構90が高温ガス還流装置に相当し、気筒3a内に残留する既燃ガスが高温ガスに相当する。
さらに、ECU2には、大気圧センサ30、アクセル開度センサ31およびスロットル弁開度センサ32が接続されている。この大気圧センサ30は、半導体圧力センサで構成されており、大気圧PAを検出して、それを表す検出信号をECU2に出力する。
また、アクセル開度センサ31は、図示しないアクセルペダルの操作量であるアクセル開度APを検出して、それを表す検出信号をECU2に出力する。なお、本実施形態では、アクセル開度APが第1、第2および第3の運転状態パラメータに相当する。さらに、スロットル弁開度センサ32は、ポテンショメータで構成され、スロットル弁13bの開度(以下「スロットル弁開度」という)THを検出して、それを表す検出信号をECU2に出力する。
一方、ECU2は、CPU、RAM、ROMおよびI/Oインターフェース(いずれも図示せず)などからなるマイクロコンピュータで構成されており、前述した各種のセンサ20〜32の検出信号などに応じて、エンジン3の運転状態を判別するとともに、各種の制御処理を実行する。
具体的には、ECU2は、エンジン3の運転状態に応じて、後述するように、燃料噴射制御処理、EGR制御処理、点火時期制御処理および可変機構制御処理などを実行する。これらの制御処理により、エンジン3は、所定の圧縮着火燃焼領域では、混合気を火花点火することなく圧縮自着火により燃焼させる圧縮着火燃焼モードで運転され、それ以外の火花点火燃焼領域では、混合気を火花点火により燃焼させる火花点火燃焼モードで運転される。
なお、本実施形態では、ECU2がEGR率パラメータ算出手段、目標値設定手段、フィードバック補正値算出手段、ガス量割合設定手段、制御手段および学習値算出手段に相当する。
以下、図11を参照しながら、ECU2により、TDC信号の発生に同期する制御周期で実行される制御処理について説明する。この処理では、まず、ステップ1(図では「S1」と略す。以下同じ)で、燃料噴射制御処理を実行する。この燃料噴射制御処理は、燃料噴射弁10を介して気筒3a内に噴射すべき燃料量(以下「燃料噴射量」という)TOUTを算出するものであり、その詳細については後述する。なお、以下の説明において算出される各種の値は、ECU2のRAM内に記憶されるものとする。
次いで、ステップ2で、EGR制御処理を実行する。このEGR制御処理は、排気還流機構16を介して外部EGR量を制御するための、目標EGRリフトLCMDを算出するとともに、排気側動弁機構60および吸気側動弁機構40を介して内部EGR量を制御するための、目標回動角SAAEXCMD、目標排気カム位相CAEXCMDおよび目標吸気カム位相CAINCMDを算出するものであり、その詳細については後述する。
次に、ステップ3で、点火時期制御処理を実行した後、本処理を終了する。この点火時期制御処理では、その詳細についてはここでは省略するが、火花点火燃焼モードでは、点火時期がエンジン負荷などに応じて算出され、圧縮着火燃焼モードでは、点火時期の算出が中止される。その結果、火花点火燃焼モードでは、点火プラグ11による点火が実行される一方、圧縮着火燃焼モードでは、点火プラグ11による点火が停止される。
以下、図12を参照しながら、前述した燃料噴射制御処理について説明する。この処理では、まず、ステップ10で、エンジン回転数NEおよびアクセル開度APに応じて、図13に示すマップを検索することにより、要求トルクPMCMDを算出する。同図の記号i,jは、正の整数を示しており、この点は以下の説明においても同様である。このマップでは、要求トルクPMCMDは、エンジン回転数NEが高いほど、またはアクセル開度APが大きいほど、より大きな値に設定されている。これは、エンジン回転数NEが高いほど、またはアクセル開度APが大きいほど、エンジン負荷がより大きい状態になるので、それに対応するためである。
次いで、ステップ11に進み、基本燃料噴射量TIMを算出する。この基本燃料噴射量TIMは、具体的には図14に示すように算出される。
すなわち、まず、ステップ30において、吸入新気量GAIRCYLを算出する。この吸入新気量GAIRCYLは、気筒3a内に吸入されたと推定される新気量であり、エアフローセンサ22により検出された新気流量GINおよびエンジン回転数NEなどに基づいて算出される。
次いで、ステップ31に進み、上記ステップ30で算出した吸入新気量GAIRCYLに応じて、図15に示すマップを検索することにより、第1基本燃料噴射量TIMAFMXを算出する。このマップでは、吸入新気量GAIRCYLが大きいほど、第1基本燃料噴射量TIMAFMXがより大きい値に設定されている。これは、吸入新気量GAIRCYLが大きいほど、エンジン3に要求される出力がより大きくなることによる。
次に、ステップ32に進み、吸気リフトフラグF_VTECが「1」であるか否かを判別する。この吸気リフトフラグF_VTECは、エンジン3の運転領域が吸気リフト切換機構41の動作モードを前述した高リフトモードに設定すべき領域にあるときには「1」に設定され、低リフトモードに設定すべき領域にあるときには「0」に設定される。なお、図中では、低リフトモードを「LO.MD」と表記し、高リフトモードを「HI.MD」と表記する。
ステップ32の判別結果がNOで、吸気リフト切換機構41の動作モードを低リフトモードに設定すべき運転領域であるときには、ステップ33に進み、エンジン回転数NEおよび吸気カム位相CAINに応じて、図示しないマップを検索することにより、低リフトモード用の燃料補正係数ATIを算出する。
次いで、ステップ34で、エンジン回転数NEおよび吸気カム位相CAINに応じて、図示しないマップを検索することにより、低リフトモード用の燃料補正項BTIを算出する。
一方、ステップ32の判別結果がYESで、吸気リフト切換機構41の動作モードを高リフトモードに設定すべき運転領域であるときには、ステップ35に進み、エンジン回転数NEおよび吸気カム位相CAINに応じて、図示しないマップを検索することにより、高リフトモード用の燃料補正係数ATIを算出する。
次いで、ステップ36で、エンジン回転数NEおよび吸気カム位相CAINに応じて、図示しないマップを検索することにより、高リフトモード用の燃料補正項BTIを算出する。
ステップ34または36に続くステップ37では、吸気管内圧および燃料補正係数の積と燃料補正項との和(PBA・ATI+BTI)を、第2基本燃料噴射量TIMBSXとして設定する。
次いで、ステップ38に進み、エンジン始動フラグF_ENGSTARTが「1」であるか否かを判別する。このエンジン始動フラグF_ENGSTARTは、エンジン始動制御中すなわちクランキング中であるときには「1」に、それ以外のときには「0」にそれぞれ設定される。この判別結果がNOで、エンジン始動済みであるときには、ステップ39に進み、基本燃料噴射量TIMを第2基本燃料噴射量TIMBSXに設定した後、本処理を終了する。
一方、ステップ38の判別結果がYESで、エンジン始動制御中であるときには、ステップ40で、エンジン水温TWに応じて、図示しないマップを検索することにより、始動時用の基本燃料噴射量TIMSTXを算出する。次いで、ステップ41で、基本燃料噴射量TIMを始動時用の基本燃料噴射量TIMSTXに設定した後、本処理を終了する。
図12に戻り、ステップ11で以上のように基本燃料噴射量TIMを算出した後、ステップ12に進み、実新気率KEGRを算出する。この実新気率KEGRは、気筒3a内に吸入された新気量と総ガス量(新気量+内部EGR量+外部EGR量)との比率に相当するとともに、値1.0からこの実新気率KEGRを減算した値(1.0−KEGR)が、総還流ガス量(内部EGR量+外部EGR量)と総ガス量との比率すなわちEGR率に相当する。すなわち、実新気率KEGRは、EGR率も表すものであり、本実施形態では、EGR率パラメータに相当する。この実新気率KEGRは、具体的には図16に示すように算出される。
すなわち、まず、ステップ50で、下式(1)により、実新気率KEGRの今回算出値KEGRORGを算出する。ここで、KTAは、吸気温補正係数であり、吸気温TAに応じて、図示しないマップを検索することにより算出される。
次いで、ステップ51に進み、今回算出値KEGRORGが値1.0以上であるか否かを判別する。この判別結果がNOのときには、後述するステップ53に進む。一方、この判別結果がYESのときには、ステップ52で、今回算出値KEGRORGを値1.0に設定した後、ステップ53に進む。
ステップ51または52に続くステップ53では、RAM内に記憶されているm(mは正の整数)個の今回算出値KEGRORGのバッファ値KEGR_TMPn(n=1〜m)を更新する。具体的には、RAM内のバッファ値の各々を、燃料噴射制御における1制御サイクル分、前の演算値としてセットする(例えば、バッファ値の今回値KEGR_TMP1を前回値KEGR_TMP2にシフトさせ、前回値KEGR_TMP2を前々回値KEGR_TMP3にシフトさせる)とともに、ステップ51または52で算出した今回算出値KEGRORGをバッファ値の今回値KEGR_TMP1としてセットする。
次いで、ステップ54に進み、下式(2)により、バッファ値KEGR_TMPnの移動平均値KEGR_AVEを算出する。
次に、ステップ55で、実新気率KEGRを上記ステップ54で算出した移動平均値KEGR_AVEに設定した後、本処理を終了する。
図12に戻り、ステップ12で以上のように実新気率KEGRを算出した後、ステップ13に進み、内部EGR目標値KEGRCMDINおよび外部EGR目標値KEGRCMDEXを算出する。これらの値KEGRCMDIN,KEGRCMDEXは、具体的には図17に示すように算出される。
すなわち、まず、ステップ60で、要求トルクPMCMDおよびエンジン回転数NEに応じて、図18に示すマップを検索することにより、実新気率KEGRの目標値KEGRCMDを算出する。なお、本実施形態では、実新気率KEGRの目標値KEGRCMDがEGR率パラメータの目標値に相当する。
次いで、ステップ61に進み、要求トルクPMCMDおよびエンジン回転数NEに応じて、図19に示すマップを検索することにより、内部EGR割合EGRDIVINを算出する。その後、ステップ62で、外部EGR割合EGRDIVEXを、値1から内部EGR割合EGRDIVINを減算した値に設定する。なお、本実施形態では、内部EGR割合EGRDIVINが高温ガス量の総還流ガス量に対する割合に相当し、外部EGR割合EGRDIVEXが低温ガス量の総還流ガス量に対する割合に相当する。
次に、ステップ63で、内部EGR割合EGRDIVINおよび目標値KEGRCMDに基づき、下式(3)により、内部EGR目標値KEGRCMDINを算出する。
この内部EGR目標値KEGRCMDINは、値1から、総EGR量における内部EGR量の割合の目標値を減算した値に相当し、言い換えれば、外部EGR量が値0に制御されていると仮定した場合において、内部EGR量の制御により、気筒3a内に吸入すべき新気量の割合の目標値に相当する。
次いで、ステップ64で、外部EGR割合EGRDIVEXおよび目標値KEGRCMDに基づき、下式(4)により、外部EGR目標値KEGRCMDEXを算出した後、本処理を終了する。
この外部EGR目標値KEGRCMDEXは、値1から、総EGR量における外部EGR量の割合の目標値を減算した値に相当し、言い換えれば、内部EGR量が値0に制御されていると仮定した場合において、外部EGR量の制御により、気筒3a内に吸入すべき新気量の割合の目標値に相当する。
図12に戻り、ステップ13で以上のように2つの目標値KEGRCMDIN,KEGRCMDEXを算出した後、ステップ14に進み、目標空燃比KCMDを算出する。この目標空燃比KCMDは、具体的には図20に示すように算出される。
すなわち、まず、ステップ70で、要求トルクPMCMDおよびエンジン回転数NEに応じて、図21に示すマップを検索することにより、目標空燃比のマップ値KCMDMAPを算出する。
次いで、ステップ71に進み、外部EGR過小故障フラグFS_EXEGRDNが「1」であるか否かを判別する。この判別結果がYESで、EGR制御弁16bの故障により外部EGR量が過小な状態にあるときには、ステップ72に進み、目標空燃比KCMDを、マップ値と実新気率の目標値との積KCMDMAP・KEGRCMDに設定した後、本処理を終了する。
一方、ステップ71の判別結果がNOのときには、ステップ73に進み、目標空燃比KCMDをマップ値KCMDMAPに設定した後、本処理を終了する。
図12に戻り、ステップ14で以上のように目標空燃比KCMDを算出した後、ステップ15に進み、空燃比補正係数KAFを算出する。この空燃比補正係数KAFは、具体的には、以下に述べるように算出される。
すなわち、空燃比フィードバック制御の実行条件が成立しているときには、空燃比補正係数KAFは、検出空燃比KACTを目標空燃比KCMDに収束させるように、図示しない所定のフィードバック制御アルゴリズム(例えば、PID制御アルゴリズムや応答指定型制御アルゴリズムなど)により算出される。一方、空燃比フィードバック制御の実行条件が不成立であるときには、空燃比補正係数KAFは、値1に設定される。
次いで、ステップ16に進み、総補正係数KTOTALおよびバッテリ電圧補正項TIVBを算出する。この総補正係数KTOTALは、各種の運転パラメータ(例えば、吸気温TA、エンジン水温TWおよび大気圧PAなど)に応じて各種のマップを検索することで、各種の補正係数を算出するとともに、これらの各種の補正係数を互いに乗算することにより算出される。また、バッテリ電圧補正項TIVBは、バッテリ電圧に応じて、図示しないマップを検索することにより、算出される。
次に、ステップ17で、以上のように算出した各種の値に基づき、下式(5)により、燃料噴射量TOUTを算出した後、本処理を終了する。それにより、燃料噴射量TOUTに応じた開弁タイミングおよび開弁時間で、燃料噴射弁10が制御される。
以下、図22を参照しながら、前述したEGR制御処理について説明する。本処理では、まず、ステップ80において、フィードバック補正係数(以下「FB補正係数」という)KEGRFBの算出処理を実行する。このFB補正係数KEGRFBは、実新気率KEGRを目標値KEGRCMDに収束させるための値であり、その具体的な内容については後述するが、この処理では、FB補正係数KEGRFBに加えて、その内部EGR用学習値KEGRREFINおよび外部EGR用学習値KEGRREFEXが算出される。なお、本実施形態では、FB補正係数KEGRFBがフィードバック補正値に相当し、内部EGR用学習値KEGRREFINが高温ガス用のフィードバック補正値の学習値に相当し、外部EGR用学習値KEGRREFEXが低温ガス用のフィードバック補正値の学習値に相当する。
次に、ステップ81で、前述した内部EGR割合EGRDIVINが値0.5以上であるか否かを判別する。この判別結果がYESのとき、すなわち内部EGR量が外部EGR量以上のときには、ステップ82で、前述した内部EGR目標値とFB補正係数の積KEGRCMDIN・KEGRFBを、補正後内部EGR率KEGRMAPINとして設定する。
一方、ステップ81の判別結果がNOで、内部EGR量が外部EGR量よりも小さいときには、ステップ83で、内部EGR目標値とFB補正係数の内部EGR用学習値との積KEGRCMDIN・KEGRREFINを、補正後内部EGR率KEGRMAPINとして設定する。
ステップ82または83に続くステップ84では、前述した吸気リフトフラグF_VTECが「1」であるか否かを判別する。この判別結果がNOで、吸気リフト切換機構41が低リフトモードに設定されているときには、ステップ85で、上記ステップ82または83で算出した補正後内部EGR率KEGRMAPINとエンジン回転数NEに応じて、図23に示すマップを検索することにより、低リフトモード用の目標回動角SAAEXCMDを算出する。この目標回動角SAAEXCMDは、後述するように、回動角SAAEXの目標値として用いられる。
次いで、ステップ86に進み、補正後内部EGR率KEGRMAPINおよびエンジン回転数NEに応じて、図24に示すマップを検索することにより、低リフトモード用の目標排気カム位相CAEXCMDを算出する。この目標排気カム位相CAEXCMDは、後述するように、排気カム位相CAEXの目標値として用いられる。
次に、ステップ87で、補正後内部EGR率KEGRMAPINおよびエンジン回転数NEに応じて、図25に示すマップを検索することにより、低リフトモード用の目標吸気カム位相CAINCMDを算出する。この目標吸気カム位相CAINCMDは、後述するように、吸気カム位相CAINの目標値として用いられる。
一方、前述したステップ84の判別結果がYESで、吸気リフト切換機構41が高リフトモードに設定されているときには、ステップ88〜90において、要求トルクPMCMDおよびエンジン回転数NEに応じて、それぞれの所定のマップ(図示せず)を検索することにより、高リフトモード用の目標回動角SAAEXCMD、目標排気カム位相CAEXCMDおよび目標吸気カム位相CAINCMDを算出する。
前述したステップ87または90に続くステップ91では、外部EGR割合EGRDIVEXが値0.5よりも大きいか否かを判別する。この判別結果がYESで、外部EGR量が内部EGR量よりも大きいときには、ステップ92に進み、前述した外部EGR目標値とFB補正係数の積KEGRCMDEX・KEGRFBを、補正後外部EGR率KEGRMAPEXとして設定する。
一方、上記ステップ91の判別結果がNOで、外部EGR量が内部EGR量以下のときには、ステップ93で、外部EGR目標値とFB補正係数の外部EGR用学習値との積KEGRCMDEX・KEGRREFEXを、補正後外部EGR率KEGRMAPEXとして設定する。
次いで、ステップ94において、ステップ92または93で算出した補正後外部EGR率KEGRMAPEXと吸気管内ゲージ圧HPBGAに応じて、図26に示すマップを検索することにより、目標EGRリフトLCMDを算出した後、本処理を終了する。この吸気管内ゲージ圧HPBGAは、吸気管内圧PBAおよび大気圧PAに基づいて算出される。また、目標EGRリフトLCMDは、後述するように、EGRリフトLACTの目標値として用いられる。
以下、図27および図28を参照しながら、前述した図22のステップ80のFB補正係数KEGRFBの算出処理について説明する。本処理では、まず、ステップ100において、空燃比フィードバックフラグF_LAFFB=0、または、実新気率KEGRの目標値KEGRCMD=1.0が成立しているか否かを判別する。
この判別結果がYESのとき、すなわち、F_LAFFB=0で、LAFセンサ25の検出空燃比KACTに基づく空燃比フィードバック制御が実行されていないとき、またはKEGRCMD=1.0で、内部EGRおよび外部EGRがともに停止中のときには、実新気率KEGRのフィードバック制御領域にないとして、ステップ113に進み、FB補正係数KEGRFBを値1.0に設定した後、本処理を終了する。
一方、ステップ100の判別結果がNOのとき、すなわち、空燃比フィードバック制御の実行中で、かつ内部EGRおよび外部EGRの少なくとも一方の実行中であるときには、以下のステップ101〜106において、FB補正係数KEGRFBをI−PD制御アルゴリズムによって算出する。
すなわち、まず、ステップ101で、エンジン回転数NEおよび要求トルクPMCMDに応じて、それぞれのマップ(図示せず)を検索することにより、P項ゲインKEIPDP、I項ゲインKEIPDIおよびD項ゲインKEIPDDを算出する。
次いで、ステップ102〜104において、ステップ101で算出したP項ゲインKEIPDP、I項ゲインKEIPDIおよびD項ゲインKEIPDDを用い、下式(6)〜(8)により、P項KEGRFB_P、I項KEGRFB_IおよびD項KEGRFB_Dをそれぞれ算出する。なお、下式(6)および下式(8)のKEGRZ1は、FB補正係数の前回値を表しており、下式(8)のKEGRZ2は、FB補正係数の前々回値を表している。
次に、ステップ105で、ステップ102〜104で算出したP項KEGRFB_P、I項KEGRFB_IおよびD項KEGRFB_Dを用い、下式(9)によって、I−PD項KEGRFB_Sを算出する。
次いで、ステップ106で、I−PD項とFB補正係数の前回値との和KEGRFB_S+KEGRFB_Zを、FB補正係数KEGRFBとして設定する。
その後、ステップ107,108において、FB補正係数KEGRFBの内部EGR用学習値KEGRREFINおよび外部EGR用学習値KEGRREFEXを算出するとともに、FB補正係数KEGRFBのリミットチェック処理を行う。これらの具体的な処理については後述する。
次に、図28のステップ109に進み、上記ステップ107または108の処理で後述するようにして設定される、外部EGR故障フラグFS_EXEGRFAIL、内部EGR故障フラグFS_INEGRFAIL、内部EGR過大故障フラグFS_INEGROおよび内部EGR過小フラグFS_INEGRDNのいずれかが「1」であるか否かを判別する。
この判別結果がNOで、上記4つのフラグがいずれも「0」のときには、内部EGRおよび外部EGRがいずれも正常に行われているとして、ステップ110で、それを表すためにEGR正常フラグF_EGROKを「1」にセットする。
一方、ステップ109の判別結果がYESで、上記4つのフラグのいずれかが「1」のときには、内部EGRおよび/または外部EGRが正常に行われていないとして、ステップ111で、それを表すためにEGR正常フラグF_EGROKを「0」にセットする。
ステップ110または111に続くステップ112では、実新気率の前回値KEGRZ1を前々回値KEGRZ2に、実新気率KEGRを前回値KEGRZ1に、FB補正係数KEGRFBを前回値KEGRFB_Zにそれぞれシフトする。その後、本処理を終了する。
以下、図29を参照しながら、前述した図27のステップ107におけるFB補正係数KEGRFBの内部EGR用学習値KEGRREFINおよび外部EGR用学習値KEGRREFEXの算出処理について説明する。
この処理では、まず、ステップ120において、内部EGR割合EGRDIVINが値1.0(第2の所定値)であるか否かを判別する。この判別結果がYESのとき、すなわち内部EGRのみが実行されているときには、ステップ121で、内部EGR用学習値KEGRREFINを、下式(10)の加重平均演算により算出する。
ここで、KEGRREFINZは、内部EGR用学習値KEGRREFINの前回値、CREFEGRINは、値0と値1.0の間に設定される所定の重み係数である。
次に、以下のステップ122〜127において、ステップ121で算出した内部EGR用学習値KEGRREFINのリミットチェック処理を行う。すなわち、まず、ステップ122で、内部EGR用学習値KEGRREFINが所定の下限値KEGRREFINLL以下であるか否かを判別する。この判別結果がNOのときには、ステップ123に進み、内部EGR用学習値KEGRREFINが所定の上限値KEGRREFINLH以上であるか否かを判別する。
この判別結果がNOのとき、すなわちKEGRREFINLL<KEGRREFIN<KEGRREFINLHが成立しているときには、内部EGRが正常に行われているとして、ステップ124で、それを表すために内部EGR故障フラグFS_INEGRFAILを「0」にセットする。その後、本処理を終了する。
一方、前述したステップ123の判別結果がYESで、KEGRREFIN≧KEGRREFINLHのときには、ステップ125で、内部EGR用学習値KEGRREFINをこの上限値KEGRREFINLHに設定する。
次いで、内部EGRが正常に行われていないとして、ステップ126に進み、それを表すために内部EGR故障フラグFS_INEGRFAILを「1」にセットする。その後、本処理を終了する。
一方、前述したステップ122の判別結果がYESで、KEGRREFIN≦KEGRREFINLLのときには、ステップ127で、内部EGR用学習値KEGRREFINをこの下限値KEGRREFINLLに設定する。
次いで、内部EGRが正常に行われていないとして、前述したステップ126で、それを表すために内部EGR故障フラグFS_INEGRFAILを「1」にセットした後、本処理を終了する。
一方、前述したステップ120の判別結果がNOのときには、ステップ128で、外部EGR割合EGRDIVEXが値1.0(第1の所定値)であるか否かを判別する。この判別結果がYESで、外部EGRのみが実行されているときには、ステップ129に進み、外部EGR用学習値KEGRREFEXを、下式(11)の加重平均演算により算出する。
ここで、KEGRREFEXZは、外部EGR用学習値KEGRREFEXの前回値であり、CREFEGREXは、値0と値1.0の間に設定される所定の重み係数である。
次に、ステップ130〜135において、前述したステップ122〜127と同様の手法により、外部EGR用学習値KEGRREFEXのリミットチェック処理を行う。まず、ステップ130で、外部EGR用学習値KEGRREFEXが所定の下限値KEGRREFEXLL以下であるか否かを判別する。この判別結果がNOのときには、ステップ131に進み、外部EGR用学習値KEGRREFEXが所定の上限値KEGRREFEXLH以上であるか否かを判別する。
この判別結果がNOで、KEGRREFEXLL<KEGRREFEX<KEGRREFEXLHが成立しているときには、外部EGRが正常に行われているとして、ステップ132に進み、それを表すために外部EGR故障フラグFS_EXEGRFAILを「0」にセットする。その後、本処理を終了する。
一方、前述したステップ131の判別結果がYESで、KEGRREFEX≧KEGRREFEXLHのときには、ステップ133で、外部EGR用学習値KEGRREFEXをこの上限値KEGRREFEXLHに設定する。次いで、外部EGRが正常に行われていないとして、ステップ134に進み、それを表すために外部EGR故障フラグFS_EXEGRFAILを「1」にセットする。その後、本処理を終了する。
一方、前述したステップ130の判別結果がYESで、KEGRREFEX≦KEGRREFEXLLのときには、ステップ135に進み、外部EGR用学習値KEGRREFEXをこの下限値KEGRREFEXLLに設定する。次いで、外部EGRが正常に行われていないとして、前述したステップ134に進み、それを表すために外部EGR故障フラグFS_EXEGRFAILを「1」にセットした後、本処理を終了する。
一方、前述したステップ128の判別結果がNOで、内部EGRおよび外部EGRの双方が実行されているときには、そのまま本処理を終了する。すなわち、この場合には、内部EGR用および外部EGR用学習値KEGRREFIN,KEGRREFEXの算出は行われない。
以下、図30を参照しながら、前述した図27のステップ108におけるFB補正係数KEGRFBのリミットチェック処理について説明する。本処理では、まず、ステップ150において、FB補正係数KEGRFBが所定の上限値KSTEPEIPDLH以上であるか否かを判別する。この判別結果がYESのときには、ステップ151に進み、FB補正係数KEGRFBをこの上限値KSTEPEIPDLHに設定する。その後、ステップ152で、過大故障判定用のカウンタ値C_STEPEPCをインクリメントする。
次に、ステップ153に進み、このカウンタ値C_STEPEPCが所定値STEPEPCCONTを超えたか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。一方、この判別結果がYESのとき、すなわち、FB補正係数KEGRFBが上限値KSTEPEIPDLH以上になった回数が、所定回数を超えたときには、EGR量が過大な状態で張り付いた過大故障が生じていると判定し、次いで、ステップ154に進み、内部EGR割合EGRDIVINが値0.5よりも大きいか否かを判別する。
この判別結果がYESで、内部EGR量が外部EGR量よりも大きいときには、内部EGR側の故障であると判定して、ステップ155に進み、それを表すために内部EGR過大故障フラグFS_INEGROを「1」にセットした後、本処理を終了する。
一方、ステップ154の判別結果がNOで、外部EGR量が内部EGR量以上であるときには、外部EGR側の故障であると判定して、ステップ156に進み、それを表すために外部EGR過大故障フラグFS_EXEGROを「1」にセットした後、本処理を終了する。
一方、前述したステップ150の判別結果がNOのときには、ステップ157で、FB補正係数KEGRFBが所定の下限値KSTEPEIPDLL以下であるか否かを判別する。この判別結果がYESのときには、ステップ158に進み、FB補正係数KEGRFBをこの下限値KSTEPEIPDLLに設定する。次いで、ステップ159で、過小故障判定用のカウンタ値C_STEPEVOをインクリメントする。
次に、ステップ160に進み、このカウンタ値C_STEPEVOが所定値STEPEVOCONTを超えたか否かを判別する。この判別結果がNOのときには、そのまま本処理を終了する。一方、この判別結果がYESのときには、すなわちFB補正係数KEGRFBが下限値KSTEPEIPDLL以下になった回数が所定回数を超えたときには、EGR量が過小な状態で張り付いた過小故障が生じていると判定し、次いで、ステップ161に進み、内部EGR割合EGRDIVINが値0.5よりも大きいか否かを判別する。
この判別結果がYESで、内部EGR量が外部EGR量よりも大きいときには、内部EGR側の故障であると判定して、ステップ162で、それを表すために内部EGR過小故障フラグFS_INEGRDNを「1」にセットする。その後、本処理を終了する。
一方、ステップ161の判別結果がNOで、外部EGR量が内部EGR量以上であるときには、外部EGR側の故障であると判定して、ステップ163に進み、それを表すために外部EGR過小故障フラグFS_EXEGRDNを「1」にセットした後、本処理を終了する。
一方、前述したステップ157の判別結果がNOのとき、すなわちKSTEPEIPDLL<KEGRFB<KSTEPEIPDLHが成立しているときには、ステップ164に進み、過大・過小故障判定用のカウンタ値C_STEPEPC,C_STEPEVOを、それぞれ値0にリセットした後、本処理を終了する。
以下、図31を参照しながら、本実施形態の6つの可変機構、すなわちスロットル弁機構13、排気還流機構16、吸気リフト切換機構41、吸気カム位相可変機構50、排気リフト可変機構70および排気カム位相可変機構90をそれぞれ制御する処理について説明する。この処理は、具体的には、以下に述べるように、6つの可変機構をそれぞれ制御するための6つの制御入力U_VTEC,U_SAAEX,U_CAEX,U_CAIN,U_LIFT,U_THを算出するものであり、タイマ設定により所定周期(例えば10msec)で実行される。
この処理では、まず、ステップ180において、可変機構故障フラグF_VDNGが「1」であるか否かを判別する。この可変機構故障フラグF_VDNGは、前述した各種の故障フラグの値などに基づき、上記の6つの可変機構13,16,41,50,70,90の少なくとも1つが故障していると判定されたときに、「1」にセットされるものである。
このステップ180の判別結果がNOで、これらの可変機構がいずれも正常なときには、ステップ181に進み、吸気リフトフラグF_VTECが「1」であるか否かを判別する。この判別結果がNOで、吸気リフト切換機構41が低リフトモードに設定されているときには、ステップ182に進み、吸気リフト制御入力U_VTECを値0に設定する。
一方、ステップ181の判別結果がYESで、吸気リフト切換機構41が高リフトモードに設定されているときには、ステップ183に進み、吸気リフト制御入力U_VTECを高リフトモード用の所定値U_HIVTに設定する。
以上のステップ182または183に続くステップ184では、前述した図22のステップ85または88で算出された目標回動角SAAEXCMDをサンプリングする。その後、ステップ185に進み、この目標回動角SAAEXCMDおよび回動角SAAEXに基づいて、排気リフト可変機構70を制御するための排気リフト制御入力U_SAAEXを算出する。具体的には、排気リフト制御入力U_SAAEXは、回動角SAAEXが目標回動角SAAEXCMDに収束するように、所定のフィードバック制御アルゴリズム(例えばPID制御アルゴリズムや応答指定型制御アルゴリズム)により算出される。
次に、ステップ186で、図22のステップ86または89で算出した目標排気カム位相CAEXCMDをサンプリングする。その後、ステップ187に進み、上記ステップ185と同様の手法により、排気カム位相可変機構90を制御するための排気位相制御入力U_CAEXを算出する。すなわち、排気位相制御入力U_CAEXは、排気カム位相CAEXが目標排気カム位相CAEXCMDに収束するように、所定のフィードバック制御アルゴリズムにより算出される。
ステップ187に続くステップ188では、図22のステップ87または90で算出した目標吸気カム位相CAINCMDをサンプリングする。その後、ステップ189に進み、上記ステップ185,187と同様の手法により、吸気カム位相可変機構50を制御するための吸気位相制御入力U_CAINを算出する。すなわち、吸気位相制御入力U_CAINは、吸気カム位相CAINが目標吸気カム位相CAINCMDに収束するように、所定のフィードバック制御アルゴリズムにより算出される。
次いで、ステップ190に進み、図22のステップ94で算出した目標EGRリフトLCMDをサンプリングする。その後、ステップ191で、前述したステップ185,187,189と同様の手法により、排気還流機構16を制御するためのEGRリフト制御入力U_LIFTを算出する。すなわち、EGRリフト制御入力U_LIFTは、EGRリフトLACTが目標EGRリフトLCMDに収束するように、所定のフィードバック制御アルゴリズムにより算出される。
次に、ステップ192に進み、スロットル弁機構13を制御するためのTH制御入力U_THを、前述したステップ185,187,189,191と同様の手法により算出する。すなわち、要求トルクPMCMDおよびエンジン回転数NEに応じて、図示しないマップ検索により、目標スロットル弁開度THCMDを算出し、スロットル弁開度THが目標スロットル弁開度THCMDに収束するように、所定のフィードバック制御アルゴリズムにより、TH制御入力U_THを算出する。ステップ192で以上のようにTH制御入力U_THを算出した後、本処理を終了する。
一方、前述したステップ180の判別結果がYESで、前述した6つの可変機構の少なくとも1つが故障しているときには、ステップ193に進み、6つの制御入力U_VTEC,U_SAAEX,U_CAEX,U_CAIN,U_LIFTおよびU_THを、いずれも値0に設定した後、本処理を終了する。このように6つの制御入力がいずれも値0に設定された場合、所定の吸入空気量および排気状態が確保され、それにより、停車中は、アイドル運転およびエンジン始動が可能となるとともに、走行中は低速走行を継続することが可能となる。
なお、以上の可変機構制御処理では、ステップ185において、回動角制御入力U_SAAEXをフィードバック制御アルゴリズムにより算出したが、これを目標回動角SAAEXCMDに応じて、マップ検索により算出してもよい。さらに、これと同様の手法により、他の制御入力U_CAEX,U_CAIN,U_LIFT,U_THを算出してもよい。
以上のように、本実施形態のEGR制御装置1によれば、エンジン回転数NEおよび要求トルクPMCMDに応じて、内部EGR割合EGRDIVINが算出され、値1から内部EGR割合EGRDIVINを減算することにより、外部EGR割合EGRDIVEXが算出される。そして、内部EGR割合EGRDIVINが外部EGR割合EGRDIVEXよりも大きいときには、内部EGR割合EGRDIVIN、目標値KEGRCMDおよびFB補正係数KEGRFBに応じて、吸気カム位相可変機構50、排気リフト可変機構70および排気カム位相可変機構90を制御するための3つの目標値SAAEXCMD,CAEXCMD,CAINCMDが算出されることにより、実新気率KEGRがその目標値KEGRCMDに収束するように、内部EGR量がフィードバック制御される。これと同時に、外部EGR割合EGRDIVEX、目標値KEGRCMDおよびFB補正係数の外部EGR用学習値KEGRREFEXに応じて、排気還流機構16を制御するための目標EGRリフトLCMDが算出されることにより、外部EGR量がフィードフォワード制御される。この外部EGR用学習値KEGRREFEXは、内部EGRが停止されかつ外部EGRのみが実行されているときのFB補正係数KEGRFBを用い、その加重平均演算により算出される。
一方、上記とは逆に、外部EGR割合EGRDIVEXが内部EGR割合EGRDIVINよりも大きいときには、外部EGR割合EGRDIVEX、目標値KEGRCMDおよびFB補正係数KEGRFBに応じて、目標EGRリフトLCMDが算出されることにより、実新気率KEGRがその目標値KEGRCMDに収束するように、外部EGR量がフィードバック制御される。これと同時に、内部EGR割合EGRDIVIN、目標値KEGRCMDおよびFB補正係数の内部EGR用学習値KEGRREFINに応じて、3つの目標値SAAEXCMD,CAEXCMD,CAINCMDが算出されることにより、内部EGR量がフィードフォワード制御される。この内部EGR用学習値KEGRREFINは、外部EGRが停止されかつ内部EGRのみが実行されていたときのFB補正係数KEGRFBを用い、その加重平均演算により算出される。
このように、内部EGR量および外部EGR量のうちの大きい方がフィードバック制御されるので、実新気率KEGRを目標値KEGRCMDに収束させることができる。言い換えれば、実際の総還流ガス量を、適切な値に収束させることができる。これに加えて、内部EGR量および外部EGR量のうちの小さい方が、小さい方のEGR用の学習値(KEGRREFINまたはKEGRREFEX)に応じて、フィードフォワード制御されるとともに、この学習値(KEGRREFINまたはKEGRREFEX)は、この小さい方のEGRのみが実行されていたときのFB補正係数KEGRFBの加重平均演算値であることにより、小さい方のEGR量が不適切な値になるのを回避できる。したがって、割合の小さい方のEGR量の制御が、割合の大きい方のEGR量のフィードバック制御に干渉するのを回避しながら、実新気率KEGRをその目標値KEGRCMDに迅速に収束させることができる。
これに加えて、実新気率KEGR、目標値KEGRCMD、内部EGR割合EGRDIVINおよび外部EGR割合EGRDIVEXがいずれも、エンジン回転数NEおよび要求トルクPMCMDに応じて算出されるので、エンジン3の運転状態が変化したときでも、それに応じて、内部EGR量および外部EGR量を適切に制御することができる。
以上の理由により、低温ガス量および高温ガス量をいずれもデューティ制御する従来のEGR制御と比べて、EGR制御の制御精度を向上させることができ、筒内温度の制御精度を向上させることができる。その結果、燃費、運転性および排ガス特性をいずれも向上させることができるとともに、本実施形態の圧縮着火燃焼式のエンジン3のような、筒内温度を高精度で制御する必要があるエンジンにも適用することができる。
なお、実施形態は、高温ガス還流装置として、内部EGR量を調整するための吸気カム位相可変機構50、排気リフト可変機構70および排気カム位相可変機構90を用いた例であるが、本願発明の高温ガス還流装置はこれに限らず、外部EGRよりも高温の排ガスを気筒内に還流する量を調整可能なものや、既燃ガスを気筒内に残留させる量を調整可能なものであればよい。
また、実施形態は、フィードバック補正値としてのフィードバック補正係数KEGRFBを算出する所定のフィードバック制御アルゴリズムとして、I−PD制御アルゴリズムを用いた例であるが、本願発明のフィードバック制御アルゴリズムはこれに限らず、その他のフィードバック制御アルゴリズムを用いてもよい。例えば、PID制御アルゴリズムや応答指定型制御アルゴリズム(スライディングモード制御アルゴリズムまたはバックステッピング制御アルゴリズム)などを用いてもよい。
さらに、実施形態は、外部EGR割合EGRDIVEXと比較する第1の所定値として、値1.0を用いた例であるが、本願発明の低温ガス量の割合と比較する第1の所定値はこれに限らず、値0.5より大きくかつ値1.0未満の範囲内の値であればよい。また、実施形態は、内部EGR割合EGRDIVINと比較する第2の所定値として、値1.0を用いた例であるが、本願発明の低温ガス量の割合と比較する第2の所定値はこれに限らず、値0.5より大きくかつ値1.0未満の範囲内の値であればよい。
また、実施形態は、第1の運転状態パラメータとして、アクセル開度AP、エンジン回転数NE、新気流量GINおよび吸気管内圧PBAなどを用いた例であるが、第1の運転状態パラメータはこれに限らず、エンジン3の運転状態を表すものであればよい。例えば、エンジン水温TWなどを用いてもよい。
さらに、実施形態は、第2および第3の運転状態パラメータとして、アクセル開度APおよびエンジン回転数NEを用いた例であるが、第2および第3の運転状態パラメータはこれに限らず、エンジン3の運転状態を表すものであればよい。例えば、吸入新気量GAIRCYLや吸気管内圧PBAなどを用いてもよい。
また、実施形態は、EGR率パラメータとして実新気率KEGRを用いた例であるが、EGR率パラメータはこれに限らず、総還流ガス量と総ガス量との比率を表すものであればよい。例えば、EGR率パラメータとして、値1から実新気率KEGRを減算した値であるEGR率を用いてもよい。