以下、図面を参照しながら、本発明の好ましい実施形態について説明する。図1および2は、本発明を適用した制御装置1、およびそれによって制御される内燃機関3などを示している。この内燃機関(以下「エンジン」という)3は、車両(図示せず)に搭載された、例えば4気筒(1つのみ図示)のディーゼルエンジンである。各気筒3aのピストン3bとシリンダヘッド3cの間には、燃焼室3dが形成されている。燃焼室3dには吸気管4および排気管5が接続されており、これらの吸気ポートおよび排気ポートには、吸気弁および排気弁(いずれも図示せず)がそれぞれ設けられている。また、シリンダヘッド3cには、燃料噴射弁(以下「インジェクタ」という)6が、燃焼室3dに臨むように取り付けられている。
インジェクタ6は、シリンダヘッド3cの中央に配置されており、コモンレールを介して高圧ポンプ(いずれも図示せず)に接続されている。燃料タンク(図示せず)内の燃料は、高圧ポンプで昇圧された後、コモンレールを介してインジェクタ6に送られ、インジェクタ6から燃焼室3dに噴射される。インジェクタ6の噴射圧力、噴射時間および噴射タイミングは、ECU2からの制御信号によって制御される。
また、エンジン3のクランクシャフト3eには、マグネットロータ22aが取り付けられており、このマグネットロータ22aとMREピックアップ22bによって、クランク角センサ22が構成されている。クランク角センサ22は、クランクシャフト3eの回転に伴い、パルス信号であるCRK信号およびTDC信号をECU2に出力する。
CRK信号は、所定のクランク角(例えば30度)ごとに出力される。ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを求める。TDC信号は、各気筒3aのピストン3bが吸気行程開始時のTDC(上死点)付近の所定のクランク角度位置にあることを表す信号であり、4気筒タイプの本例では、クランク角180°ごとに出力される。
吸気管4には、スロットル弁7(温度制御手段)が設けられており、スロットル弁7には、これを駆動するスロットルアクチュエータ8が連結されている。スロットルアクチュエータ8は、モータやギヤ機構(いずれも図示せず)などで構成されており、その動作がECU2からの制御信号で制御されることにより、スロットル弁7の開度(以下「スロットル弁開度」という)THが変化し、それに応じて、燃焼室3dに吸入される吸入空気量QAIRが制御される。スロットル弁開度THは、スロットル弁開度センサ23によって検出され、その検出信号はECU2に出力される。
吸気管4のスロットル弁7よりも下流側には、吸気圧センサ24および吸気温センサ25が設けられている。吸気圧センサ24は、吸気管4内の圧力(以下「吸気圧」という)PINを検出し、吸気温センサ25は、吸気管4内の温度(以下「吸気温」という)TINを検出し、それらの検出信号はECU2に出力される。エンジン3の本体には、エンジン水温センサ26が取り付けられている。エンジン水温センサ26は、エンジン3の本体内を循環する冷却水温度(以下「エンジン水温」という)TWを検出し、その検出信号をECU2に出力する。
また、吸気管4には過給装置9が設けられている。過給装置9は、ターボチャージャ式の過給機10と、これに連結されたベーンアクチュエータ11を有している。過給機10は、吸気管4のスロットル弁7よりも上流側に設けられた回転自在のコンプレッサブレード10aと、排気管5の途中に設けられたタービンブレード10bおよび複数の回動自在の可変ベーン10c(2つのみ図示)と、これらのブレード10a、10bを一体に連結するシャフト10dを有している。過給機10は、排気管5内の排ガスによってタービンブレード10aが回転駆動されることによって、過給動作を行う。ベーンアクチュエータ11は、ECU2からの制御信号で制御され、それに伴い、各可変ベーン10cの開度が変化することによって、過給圧が制御される。
また、吸気管4の吸気温センサ25よりも下流側と、排気管5の後述する酸化触媒15のすぐ下流側との間には、EGR装置14が設けられており、このEGR装置14は、排気管5と吸気管4を連通するEGR管14aと、その途中に設けられたEGR制御弁14b(温度制御手段)を有しており、このEGR管14aを介して、エンジン3の排ガスの一部がEGRガスとして吸気管4に還流される。EGR制御弁14bは、リニア電磁弁で構成されており、その開度によって、EGRガス流量が制御される。EGR弁開度LEは、EGR弁開度センサ28によって検出され、その検出信号はECU2に出力される。
また、吸気管4の過給機10よりも上流側には、エアフローセンサ27が設けられている。このエアフローセンサ27は、吸入空気量QAIRを検出し、その検出信号をECU2に出力する。
また、排気管5の過給機10よりも下流側には、上流側から順に、酸化触媒15およびNOx触媒16(NOx捕捉材)が設けられている。酸化触媒15は、排ガス中のHCおよびCOを酸化し、排ガスを浄化する。また、NOx触媒16は、リーンな酸化雰囲気下において、排ガス中のNOxを捕捉するとともに、捕捉したNOxを、リッチな還元雰囲気下において還元する。
さらに、排気管5の過給機10と酸化触媒15の間には、酸素濃度センサ29が設けられている。酸素濃度センサ29は、排ガス中の酸素濃度λをリニアに検出し、その検出信号をECU2に出力する。ECU2は、この酸素濃度λに基づいて、燃焼室3dで燃焼されるガスの空燃比A/Fを算出する。ECU2にはさらに、アクセル開度センサ30から、車両のアクセルペダル(図示せず)の踏込み量(以下「アクセルペダル開度」という)APを表す検出信号が出力される。
ECU2は、本実施形態において、NOx捕捉量算出手段、燃料噴射制御手段および燃料噴射停止手段を構成するものであり、I/Oインターフェース、CPU、RAMおよびROMなどからなるマイクロコンピュータで構成されている(いずれも図示せず)。前述した各種のセンサ22〜30からの検出信号はそれぞれ、I/OインターフェースでA/D変換や整形がなされた後、CPUに入力される。
CPUは、これらの入力信号に応じ、ROMに記憶された制御プログラムなどに従って、エンジン3の制御を実行する。また、NOx触媒16に捕捉されたNOxを還元するための還元動作として、リッチスパイクを適宜、実行する。なお、このリッチスパイクは、燃料噴射量QINJを増大させるとともに吸入空気量QAIRを減少させ、空燃比A/Fを理論空燃比よりもリッチ化することによって行われ、それにより、燃焼室3dから排出される排ガス中に含ませた未燃燃料を還元剤として、還元動作が行われる。
以下、ECU2で実行される処理について説明する。図3は、エンジン3の制御処理のメインフローを示しており、この処理は所定の周期で実行される。この処理では、まず、ステップ1(「S1」と図示。以下同じ)において、エンジン回転数NEが、所定回転数NEREF(例えば900rpm)以上か否かを判別する。この答がYESのときには、ステップ2に進み、アクセル開度APが、所定開度APREFよりも小さいか否かを判別する。
この答がYESのとき、すなわち、アクセルペダルの踏込み量が小さく、エンジン3が減速状態にあり、且つエンジン回転数NEが所定回転数NEREFまで低下していないときには、フューエルカット運転の実行条件が成立しているとして、ステップ3に進み、掃気許可フラグF_CLEANが「1」であるか否かを判別する。この掃気許可フラグF_CLEANは、後述する掃気制御の実行条件が成立しているときに「1」にセットされるものである。
このステップ3の答がNOのときには、リッチスパイク設定フラグF_SETが「1」であるか否かを判別する(ステップ4)。このリッチスパイク設定フラグF_SETは、次に述べるF_RICH設定処理においてセットされるものである。この答がYESのときには、ステップ5に進み、F_RICH設定処理を実行する。
図4は、このF_RICH設定処理を示している。この処理では、まずステップ21において、NOx捕捉量S_QNOxを算出する。このNOx捕捉量S_QNOxは、NOx触媒16に捕捉されているNOxの量の推定値であり、以下に述べるように、NOx排出量QNOxの積算値として算出される。
具体的には、まず、エンジン回転数NEおよびアクセル開度APに応じ、図示しないマップを検索することによって、要求トルクPMCMDを算出し、次いで、要求トルクPMCMDとエンジン回転数NEに応じ、図示しないマップを検索することによって、NOx排出量QNOxを算出する。そして、NOx捕捉量S_NOxの前回値に、NOx排出量QNOxの今回値を加算することによって、NOx捕捉量S_QNOxを算出する。
次いで、上記ステップ21で算出されたNOx捕捉量S_QNOxが、所定値SQREF以上か否かを判別する(ステップ22)。この答がNOで、NOx捕捉量S_QNOxが、所定値SQREFにまだ達していないときには、リッチスパイク許可フラグF_RICHを「0」にセットする(ステップ25)。
一方、上記ステップ22の答がYESで、NOx捕捉量S_QNOxが、所定値SQREF以上に達したときには、リッチスパイクを実行するものとして、そのことを表すために、リッチスパイク許可フラグF_RICHを「1」にセットする(ステップ23)。
上記ステップ23または25に続くステップ24では、リッチスパイク設定フラグF_SETを「1」にセットする。これにより前記ステップ4の答がYESになり、次回以降のループでは、このリッチスパイク設定フラグF_SETがリセットされるまで、本処理はスキップされる。すなわち、本処理は、フューエルカット運転の実行条件が成立した直後に1回のみ、実行される。
図3に戻り、前記ステップ4または5に続くステップ6では、リッチスパイク許可フラグF_RICHが「1」であるか否かを判別する(ステップ6)。この答がNOで、リッチスパイクの実行条件が成立していないときには、フューエルカット制御処理を実行し(ステップ7)、本処理を終了する。これにより、フューエルカット運転の実行条件が不成立になるまで、燃料の噴射が停止されることによって、フューエルカットが実行される。
一方、上記ステップ6の答がYESで、リッチスパイクの実行条件が成立しているときには、リッチ準備完了フラグF_READYが「1」であるか否かを判別する(ステップ8)。このリッチ準備完了フラグF_READYは、後述するリッチ準備制御処理において、フューエルカット運転条件の成立中におけるリッチスパイク(以下「F/Cリッチスパイク」という)を実行する準備が完了したときに「1」にセットされるものである。この答がNOのときには、リッチ準備制御処理を実行し(ステップ9)、本処理を終了する。
一方、上記ステップ8の答がYESで、F/Cリッチスパイクの実行準備が完了しているときには、後述するF/Cリッチスパイク制御処理を実行し(ステップ10)、本処理を終了する。一方、前記ステップ3の答がYESで、掃気制御の実行が許可されているときには、後述する掃気制御処理を実行し(ステップ11)、本処理を終了する。
一方、前記ステップ2の答がNOで、エンジン回転数NEが所定回転数NEREF以上、且つアクセルペダル開度APが所定開度APREF以上のとき、すなわち、アクセルペダルが踏み込まれたことにより、フューエルカット運転の実行条件が不成立になったときには、ステップ12に進み、掃気実行中フラグF_CLEANONが「1」であるか否かを判別する。この掃気実行中フラグF_CLEANONは、掃気制御処理において、掃気の実行中のときに「1」にセットされるものである。
この答がYESで、掃気の実行中のときには、前記ステップ11を実行する。一方、ステップ12の答がNOで、掃気が実行されていないときには、ステップ13に進み、リッチスパイク実行中フラグF_RICHONが、「1」であるか否かを判別する。このリッチスパイク実行中フラグF_RICHONは、F/Cリッチスパイク制御処理において、F/Cリッチスパイクが実行されているときに、「1」にセットされるものである。
このステップ13の答がYESのときには、前記ステップ11に進み、掃気制御処理を実行する。一方、この答がNOで、掃気制御およびF/Cリッチスパイクがともに実行されていないときには、リッチスパイク設定フラグF_SET、後述する吸気圧算出終了フラグF_PIN、およびリッチ準備完了フラグF_READYをそれぞれ、「0」にリセットする(ステップ14)。次いで、ステップ15に進み、通常制御処理を実行し、本処理を終了する。これにより、エンジン3は、通常の運転状態で運転される。
一方、前記ステップ1の答がNOで、エンジン回転数NEが所定回転数NEREFを下回ったときには、ステップ16に進み、掃気許可フラグF_CLEAN、掃気実行中フラグF_CLEANON、およびリッチスパイク実行中フラグF_RICHONを、それぞれ「0」にリセットする。次いで、前記ステップ14を経て前記ステップ15に進み、通常制御処理を実行する。
図5は、前記ステップ9で実行されるリッチ準備制御処理を示している。この処理は、F/Cリッチスパイクの実行に先立ち、エンジン3の圧縮温度を自己着火温度よりも低い温度に低減させるために実行される。この処理では、まずステップ31において、吸気圧算出終了フラグF_PINが「1」であるか否かを算出する。
この答がNOで、目標吸気圧PIN_CMDがまだ算出されていないときには、ステップ32に進み、目標吸気圧PIN_CMDを算出する。この目標吸気圧PIN_CMDは、気筒3aに吸入されるべき吸入空気量QAIRに相当するものであり、エンジン3の圧縮温度が、自己着火温度よりも低いとともに、燃料を気筒3a内で蒸発させ、且つNOx触媒16を活性状態に維持するのに十分な高い温度になるように設定される。具体的には、目標吸気圧PIN_CMDは、吸気温TIN、エンジン速度NEおよび冷却水温TWに応じ、図示しないマップに基づいて、これらの値TIN、NEおよびTWが高いほど、より小さな値に設定される。
次いで、目標吸気圧PIN_CMDの算出が終了したことを表すために、吸気圧算出終了フラグF_PINを「1」にセットした(ステップ33)後、ステップ34に進む。このステップ33の実行により、次回以降のループでは、上記ステップ31の答がYESになり、その場合には、上記ステップ32および33をスキップして、ステップ34に進む。
このステップ34では、吸気圧PINと目標吸気圧PIN_CMDとの差の絶対値を、吸気圧偏差DPとして算出する。次いで、算出した吸気圧偏差DPが、設定値DPREF以下であるか否かを判別する(ステップ35)。この答がNOのとき、すなわち、実際の吸気圧PINが目標吸気圧PIN_CMDにまだ収束していないときには、ステップ36およびステップ37において、スロットル弁開度THの第1目標値TH_CMD1、およびEGR弁開度LEの第1目標値LE_CMD1をそれぞれ算出する。
これらの第1目標値TH_CMD1およびLE_CMD1は、F/Cリッチスパイクを実行するにあたり、吸気圧PINを低下させ、上述した目標吸気圧PIN_CMDに収束させるためのものであり、目標吸気圧PIN_CMDに応じ、図示しないマップを検索することによって、目標吸気圧PIN_CMDが低いほど、それぞれより小さな値に設定される。
次いで、フューエルカット制御を実行する(ステップ38)。具体的には、スロットル弁開度THおよびEGR弁開度LEを、算出した第1目標値TH_CMD1およびLE_EGR1になるようにそれぞれ制御するとともに、燃料の噴射を停止する。これにより、エンジン3の圧縮温度が、自己着火温度よりも低いとともに、燃料を気筒3a内で蒸発させ、且つNOx触媒16を活性状態に維持するのに十分な高い温度に制御される。次に、F/Cリッチスパイクの実行準備がまだ完了していないことを表すために、リッチ準備完了フラグF_READYを「0」に維持する(ステップ39)。
一方、前記ステップ35の答がYESで、吸気圧PINが目標吸気圧PIN_CMDに収束したときには、エンジン3の圧縮温度が上述したような温度に制御され、F/Cリッチスパイクの実行準備が完了したとして、そのことを表すために、リッチ準備完了フラグF_READYを「1」にセットする(ステップ40)。
図6は、前記ステップ10で実行されるF/Cリッチスパイク制御処理を示している。この処理では、まず、リッチスパイク実行中フラグF_RICHONが「1」であるか否かを判別する。この答がNOで、F/Cリッチスパイクがまだ実行されていないときには、リッチスパイクタイマのタイマ値TM_RICHを、所定値TMREFにセットする(ステップ42)。この所定値TMREFは、NOx触媒16に捕捉された、所定量SQREF以上のNOxを、F/Cリッチスパイクによって還元するのに必要な時間に相当する値に設定されている。
次いで、燃料噴射量QINJを、酸素濃度λおよび吸入空気量QAIRに応じて算出する(ステップ43)。この燃料噴射量QINJは、排ガスの空燃比A/Fが、理論空燃比よりもリッチな所定の空燃比になるように算出される。
次に、噴射タイミングφINJを、目標噴射タイミングφIN_RICHにセットする(ステップ44)。この目標噴射タイミングφIN_RICHは、気筒3aごとに、例えば、圧縮行程と膨張行程の間の上死点付近に設定されている。
次いで、F/Cリッチスパイクの実行中であることを表すために、リッチスパイク実行中フラグF_RICHONを「1」にセットした(ステップ45)後、ステップ46に進む。また、このステップ45の実行により、次回以降のループでは、前記ステップ41の答がYESになり、その場合には、前記ステップ42〜45をスキップしてステップ46に進む。
このステップ46では、リッチスパイクタイマのタイマ値TM_RICHをデクリメントし、次に、このタイマ値TM_RICHが0であるか否かを判別する(ステップ47)。
この答がNOのときには、上記ステップ43および44で設定した燃料噴射量QINJおよび噴射タイミングφINJに従い、燃焼室3dに燃料を噴射することによって、F/Cリッチスパイクを実行する(ステップ48)。この時点では、前記ステップ36〜38の実行により、エンジン3の圧縮温度が自己着火温度よりも低い前述したような温度に制御されているので、F/Cリッチスパイクによって噴射された燃料は、燃焼することなく、気筒3a内で十分に蒸発した後、排ガスとともに燃焼室3dから排気管5に排出される。
一方、前記ステップ47の答がYESで、リッチスパイクタイマのタイマ値TM_RICHが0に達したときには、NOxの還元が終了したとして、F/Cリッチスパイクを終了させるために、リッチスパイク実行中フラグTM_RICHONを「0」にリセットするととともに、掃気許可フラグF_CLEANを「1」にセット(ステップ49)する。これにより、前記ステップ3の答がYESになり、F/Cリッチスパイク制御に続いて、前記ステップ11で掃気制御が実行される。
図7は、この掃気制御処理を示している。この処理は、F/Cリッチスパイク制御から通常制御への移行に先立ち、F/Cリッチスパイクの実行終了時に、気筒3a、排気管4およびEGR管14a内に残留する、未燃燃料を含む排ガス(以下「残留排ガス」という)を排出するために実行される。本処理では、まず、掃気実行中フラグF_CLEANONが「1」であるか否かを判別する。この答がNOのときには、掃気タイマのタイマ値TM_CLEANを、所定値TMREF2(所定時間)にセットする(ステップ52)。
次いで、掃気制御の実行中であることを表すために、掃気実行中フラグF_CLEANONを「1」にセットした(ステップ53)後、ステップ54に進む。このステップ53の実行により、前記ステップ51の答がYESになり、その場合には、ステップ52および53をスキップし、ステップ54に進む。
このステップ54では、掃気タイマのタイマ値TM_CLEANをデクリメントし、次いで、このタイマ値TM_CLEANが0であるか否かを判別する(ステップ55)。
この答がNOのときには、ステップ56および57において、スロットル弁開度THの第2目標値TH_CMD2、およびEGR弁開度LEの第2目標値LE_CMD2をそれぞれ算出する。これらの第2目標値TH_CMD2およびLE_CMD2は、残留排ガスを速やかに排出するために、F/Cリッチスパイク制御処理で設定される第1目標値TM_CMD1およびLE_CMD1よりも、それぞれ大きな値に設定される。
次いで、ステップ58に進み、スロットル弁開度THおよびEGR弁開度LEを、算出した第2目標値TH_CMD2およびLE_EGR2になるようにそれぞれ制御するとともに、フューエルカットを続行する。これにより、吸入空気量QAIRが増大することによって、残留排ガスが、気筒3a、排気管4およびEGR管14aから速やかに排出される。
一方、前記ステップ55の答がYESで、掃気制御の開始から所定時間が経過したときには、残留排ガスの排出が終了したとして、ステップ59に進み、掃気実行中フラグF_CLEANON、掃気許可フラグF_CLEANおよびリッチスパイク許可フラグF_RICHを、それぞれ「0」にリセットする。
図8は、上述した制御によって得られる動作例を示すタイミングチャートである。同図に示すように、タイミングt1以前においては、エンジン3の通常制御中に、アクセルペダルが戻され、アクセルペダル開度APが値0まで減少するのに伴い、スロットル弁開度THが徐々に減少し、且つEGR弁開度LEが増大するように制御されることにより、吸入空気量QAIRが緩やかに減少する。それに応じて、燃料噴射量QINJも次第に減少し、その結果、エンジン3が減速され、エンジン回転数NEが緩やかに低下する。
上記のようなエンジン3の減速中に、タイミングt1において、フューエルカット運転の実行条件が成立するとともに(ステップ1および2:YES)、そのときのNOx捕捉量S_QNOxが、所定値SQREF以上に達していた場合(ステップ22:YES)には、まず、リッチ準備制御が実行される(ステップ9)。それにより、スロットル弁開度THおよびEGR弁開度LEが、第1目標値TH_CMD1およびLE_CMD1にそれぞれ制御されることによって(ステップ36〜38)、吸入空気量QAIRが低減される。
そして、吸気圧PINが、目標吸気圧PIN_CMDに収束すると(ステップ35:YES)、F/Cリッチスパイク制御が開始される(ステップ10)(t2)。それにより、燃料噴射量QINJが、ステップ43で算出した目標燃料噴射量QINJ_CMDになるように増量制御されることによって、F/Cリッチスパイクが実行される(ステップ48)。
そして、F/Cリッチスパイクの開始から所定時間が経過すると(ステップ47:YES)、F/Cリッチスパイクが終了し、掃気制御が開始される(t3)。それにより、燃料の噴射が停止されるとともに、スロットル弁開度THおよびEGR弁開度LEが、第2目標値TH_CMD2およびLE_CMD2にそれぞれ制御される(ステップ56〜58)。それに伴い、吸入空気量QAIRが増大し、残留排ガスが排出される。そして、所定時間が経過すると(ステップ55:YES)、掃気制御が終了し、通常制御が再開されることによって燃料の噴射が再開される(t4)。
一方、図示しないが、掃気制御が終了した時点で、フューエルカット運転の実行条件が引き続き成立しているときには、フューエルカットが続行され、燃料噴射量QINJは0に維持される。
また、図9は、F/Cリッチスパイクの実行中に、アクセルペダルが踏み込まれた場合の動作例である。すなわち、この場合には、前記ステップ2の答がNOになることで、F/Cリッチスパイクが直ちに中止されるとともに、ステップ12および13を経て、掃気制御が開始される(t5)。その後、所定時間が経過したときに、通常制御処理に移行する(t6)。
以上のように、本実施形態によれば、エンジン3が減速状態にある場合において、フューエルカット運転の実行条件が成立しているときに、F/Cリッチスパイクに先立ってリッチ準備制御を実行し、吸入空気量QAIRを減少させることにより、エンジン3の圧縮温度を自己着火温度よりも低い温度に低減させる。それにより、リッチ準備制御の実行後、F/Cリッチスパイクによって噴射された燃料のうち、吸気中の酸素と反応し、酸素を消費するのに用いられる燃料量を低減させることができる。その結果、燃焼を伴う場合よりも、還元剤として噴射される燃料量を低減でき、全体として燃費を向上させることができる。
また、このときのエンジン3の圧縮温度は、前述したように、燃料が気筒3a内で十分に蒸発し、且つ、NOx触媒16の活性状態を維持するのに十分な高い温度に制御される。したがって、噴射された燃料を、十分に蒸発させ、排ガス中で均質化させることによって、NOx触媒16にその劣化の原因になるホットスポットを生じさせることなく、NOx触媒16に捕捉されたNOxを効率的に還元することができる。したがって、NOx触媒16が活性状態に維持されることと相まって、良好な排ガス特性を確保することができる。
また、F/Cリッチスパイクの際の燃料の噴射を、圧縮行程と膨張行程の間の上死点付近において行うので、噴射された燃料が、気筒3aの壁面に付着するのを抑制できる。それにより、オイルダイリューションを防止できるとともに、その分の燃料がむだにならないことで、燃費をさらに向上させることができる。
また、掃気制御により、F/Cリッチスパイクの終了後、所定値TMREF2に相当する時間が経過するまで、燃料の噴射が停止されるので、その間に残留排ガスが排出される。したがって、残留排ガス中に含まれる未燃燃料の燃焼に起因するトルク変動を確実に防止でき、その結果、良好なドライバビリティを確保することができる。
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、F/Cリッチスパイク制御の際の噴射タイミングφINJを、圧縮行程と膨張行程の間の上死点付近に設定しているが、これに限定されることなく、排気行程と吸気行程の間の上死点付近、またはこれらの双方に設定してもよく、その場合にも、実施形態と同様の効果を得ることができる。
また、実施形態では、温度制御手段として、スロットル弁7およびEGR制御弁14bを用い、スロットル弁開度THおよびEGR弁開度LEを制御することにより吸入空気量QAIRを減少させることによって、エンジン3の圧縮温度を制御しているが、これに限定されることなく、他の適当な温度制御手段を採用することができる。例えば、スロットル弁7およびEGR制御弁14bに代えて、過給装置9で過給圧を制御することによって、吸入空気量QAIRを減少させてもよい。また、これら三者7,14b,10のうちの任意のものを組み合わせて用いてもよい。また、この圧縮温度の低下を、例えば、吸気管5に設けたインタークーラで吸気を冷却することによって、あるいは、EGR管14aに設けたEGRクーラでEGRガスを冷却することによって、行ってもよい。
さらに、本発明は、車両に搭載されたディーゼルエンジンに限らず、リーンバーンエンジンなどのガソリンエンジンにも適用することができる。また、本発明は、クランク軸が鉛直方向に配置された船外機などのような船舶推進機用エンジンを含む、様々な産業用の内燃機関に適用できることはもちろんである。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。