以下、図面を参照しながら、本発明の一実施形態による内燃機関の制御装置について説明する。図1に示すように、制御装置1はECU2を備えており、このECU2は、後述するように、内燃機関(以下「エンジン」という)3の燃料噴射制御処理などを行う。
エンジン3は、例えば車両(図示せず)に搭載された4気筒(1つのみ図示)タイプのガソリンエンジンである。各気筒のピストン3aとシリンダヘッド3bの間には、燃焼室3cが形成されており、ピストン3aの上面の中央部には、凹部3dが形成されている。また、シリンダヘッド3bには、燃焼室3cに臨むように燃料噴射弁(以下「インジェクタ」という)4、点火プラグ5、吸気弁8および排気弁9が取り付けられている。すなわち、このエンジン3は、燃料を燃焼室3c内に直接、噴射する筒内噴射式のものである。
インジェクタ4は、燃焼室3cの天壁中央部に配置されており、燃料パイプ4bを介して高圧ポンプ4aに接続されている。燃料は、燃料タンク(図示せず)から高圧ポンプ4aで高圧に昇圧された後、レギュレータ(図示せず)で調圧された状態で、インジェクタ4に供給されるとともに、インジェクタ4を介して、ピストン3aの凹部3d側に向かって噴射される。これにより、燃料は、凹部3dを含むピストン3aの上面に衝突して燃料噴流を形成する。特に、後述する成層燃焼のときには、インジェクタ4が噴射した燃料の大部分が凹部3dに衝突することによって、燃料噴流が形成される。
また、燃料パイプ4bのインジェクタ4付近には、燃料圧センサ20が取り付けられている。この燃料圧センサ20は、インジェクタ4から噴射される燃料の燃料圧PFを検出し、その検出信号をECU2に出力する。さらに、ECU2には、燃料温センサ21から、燃料の温度(以下「燃料温」という)TFを表す検出信号が出力される。また、インジェクタ4は、後述するように、ECU2からの駆動信号により、その開弁時間である燃料噴射時間および燃料噴射時期(開弁タイミングおよび閉弁タイミング)が制御される。なお、このインジェクタ4の燃料噴射時間は、気筒内に噴射される燃料量すなわち燃料噴射量に相当するので、以下、「燃料噴射量」という。
また、点火プラグ5は、ECU2から点火時期に応じたタイミングで高電圧が加えられることによって放電し、それにより、燃焼室3c内の混合気が燃焼される。
また、エンジン3は、DOHC型のものであり、吸気弁8および排気弁9をそれぞれ開閉駆動する吸気カムシャフト6および排気カムシャフト7を備えている。これらのカムシャフト6,7はそれぞれ、タイミングベルト(図示せず)を介してクランクシャフト3eに連結されており、クランクシャフト3eの回転に従って、その2回転ごとに1回転する。
このクランクシャフト3eには、マグネットロータ22aが取り付けられている。このマグネットロータ22aとMREピックアップ22bによって、クランク角センサ22(運転状態検出手段)が構成されている。クランク角センサ22は、クランクシャフト3eの回転に伴い、パルス信号であるCRK信号およびTDC信号を出力する。CRK信号は、所定のクランク角(例えば30゜)ごとに出力される。ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを求める。TDC信号は、各気筒のピストン3aが吸気行程開始時のTDC(上死点)付近の所定クランク角度位置にあることを表す信号であり、4気筒タイプの本例では、クランク角180゜ごとに1パルスされる。
また、エンジン3の本体には、水温センサ23が取り付けられている。水温センサ23は、サーミスタなどで構成されており、エンジン3の本体内を循環する冷却水の温度であるエンジン水温TWを検出し、その検出信号をECU2に出力する。さらに、エンジン3の吸気管12には、上流側から順に、エアフローセンサ24(運転状態検出手段)、スロットル弁機構13、スロットル弁開度センサ25および吸気管内絶対圧センサ26(運転状態検出手段)などが設けられている。エアフローセンサ24は、熱線式エアフローメータなどで構成されており、スロットル弁機構13のスロットル弁13aを通過する吸入空気量GTHを検出し、その検出信号をECU2に出力する。
スロットル弁機構13は、スロットル弁13aおよびこれを開閉駆動するアクチュエータ13bなどで構成されている。スロットル弁13aは、吸気管12の途中に回動自在に設けられており、その開度に応じて吸入空気量GTHが変化する。アクチュエータ13bは、ECU2に接続されたモータとギヤ機構(いずれも図示せず)を組み合わせたものであり、ECU2からの駆動信号によって駆動されることにより、スロットル弁13aの開度(以下「スロットル弁開度」という)THが変化する。
スロットル弁開度センサ25は、ポテンショメータなどで構成され、スロットル弁開度THを検出し、その検出信号をECU2に出力する。吸気管内絶対圧センサ26は、半導体圧力センサなどで構成されており、吸気管12内の絶対圧である吸気管内絶対圧PBAを検出し、その検出信号をECU2に出力する。さらに、吸気管12には、吸気温センサ27が設けられている。吸気温センサ27は、サーミスタなどで構成されており、吸気温TAを検出し、その検出信号をECU2に出力する。
また、エンジン3の排気管14には、触媒装置17が設けられている。この触媒装置17は、NOx触媒と三元触媒を組み合わせたものであり、このNOx触媒は、図示しないが、イリジウム触媒(イリジウムを担持した炭化ケイ素ウイスカ粉末とシリカの焼成体)をハニカム構造の基材の表面に被覆し、その上にペロブスカイト型複酸化物(LaCoO3粉末とシリカの焼成体)をさらに被覆したものである。触媒装置17は、NOx触媒の還元作用により、後述する成層燃焼モードでの運転時およびリーンバーン運転時に、排気ガス中のNOxを浄化するとともに、三元触媒の酸化還元作用により、リーンバーン運転以外の運転時に、排気ガス中のCO、HCおよびNOxを浄化する。
さらに、吸気管12のスロットル弁機構13よりも下流側と、排気管14の触媒装置17よりも上流側との間には、EGR管15が接続されている。このEGR管15を介して、エンジン3の排気ガスが吸気側に再循環することによって、前記燃焼室3c内の燃焼温度を下げることにより排気ガス中のNOxを低減させるEGR動作が行われる。また、EGR管15には、EGR制御弁16が設けられている。EGR制御弁16は、リニア電磁弁であり、そのバルブリフト量がリECU2からの駆動信号に応じてリニアに変化することによって、EGR管15が開閉される。EGR制御弁16のバルブリフト量は、バルブリフト量センサ(図示せず)によって検出され、その検出信号はECU2に出力される。
ECU2は、エンジン3の運転状態に応じてEGR制御弁16の目標バルブリフト量を算出するとともに、実際のバルブリフト量が目標バルブリフト量になるように、EGR制御弁16を制御することによって、EGR量を制御する。
さらに、排気管14の触媒装置17よりも上流側および下流側にはそれぞれ、LAFセンサ28およびO2センサ(図示せず)が設けられている。LAFセンサ28は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気ガス中の酸素濃度をリニアに検出し、その検出信号をECU2に出力する。ECU2は、このLAFセンサ28の検出信号に基づき、排気ガス中の空燃比を表す検出空燃比KACTを算出する。なお、この検出空燃比KACTは、具体的には当量比として算出される。また、O2センサは、排気ガス中の酸素濃度を表す検出信号をECU2に出力する。
さらに、ECU2には、大気圧センサ29、アクセル開度センサ30(運転状態検出手段)およびシフト位置センサ31が接続されている。この大気圧センサ29は、半導体圧力センサで構成されており、大気圧PAを検出し、その検出信号をECU2に出力する。アクセル開度センサ30は、アクセルペダル(図示せず)の操作量であるアクセル開度APを検出し、その検出信号をECU2に出力する。また、シフト位置センサ31は、自動変速機(図示せず)のシフト位置POSIを検出し、その検出信号をECU2に出力する。さらに、ECU2には、エアコンスイッチ33およびパワステスイッチ34から、エアコンディショナ(以下「エアコン」という)35およびパワーステアリング(以下「パワステ」という)36の各作動・停止状態を表す検出信号が、それぞれ出力される。
ECU2は、本実施形態において、運転状態検出手段、要求燃料量算出手段、要求トルク算出手段、記憶手段、燃焼効率推定手段、切換時要求燃料量算出手段、目標トルク設定手段およびフィードバック制御禁止手段を構成するものである。ECU2は、CPU2a、RAM2bおよびROM2cなどからなるマイクロコンピュータで構成されており、前述した各種のセンサ20〜32の検出信号などに応じ、ROM2cに記憶された制御プログラムなどに基づいて、各種の演算処理を実行する。具体的には、上記各種の検出信号からエンジン3の運転状態を判別し、その判別結果に基づいて、エンジン3の燃焼モードを決定するとともに、決定した燃焼モードに従って、インジェクタ4の燃料噴射量TOUTおよび点火プラグ5の点火時期などを制御する。また、エンジン3のアイドル運転時には、エンジン回転数NEを目標回転数にフィードバック制御するアイドル回転数制御を実行する。
上記の燃焼モードは、エンジン回転数NEと、後述するようにして算出される要求トルクPMCMDに応じて決定される。燃焼モードは、原則として、アイドル運転時などの極低負荷運転時には成層燃焼モードに決定され、それに応じて、成層燃焼許可フラグF_DISCOKが「1」にセットされる。また、極低負荷運転時以外の運転時には均一燃焼モードに決定され、それに応じて、成層燃焼許可フラグF_DISCOKが「0」にセットされる。また、両燃焼モード間の切換時には、燃焼モードが2回噴射燃焼モードに決定される。
上記の成層燃焼モードでは、燃料をインジェクタ4から圧縮行程中に燃焼室3c内に噴射し、噴射燃料の大部分を凹部3dに衝突させることによって、燃料噴流が形成される。この燃料噴流と、吸気管12から流入する空気の流動によって、混合気が生成されるとともに、ピストン3aが圧縮行程の上死点に近い位置にあることで、混合気を点火プラグ5の付近に偏在させながら、成層燃焼が行われる。また、成層燃焼モードでの混合気の空燃比は、スロットル弁13aをほぼ全開状態に制御することにより、理論空燃比よりも極めてリーンな空燃比(例えば27〜60)に制御される。
均一燃焼モードでは、燃料を吸気行程中に燃焼室3c内に噴射し、燃料噴流と空気の流動によって生成した混合気を燃焼室3c内に均一に分散させながら、均一燃焼が行われる。また、均一燃焼モードでの空燃比は、成層燃焼モードのときよりも、スロットル弁13aを小さな開度に制御し、吸入空気量を小さくすることによって、成層燃焼モードよりもリッチな空燃比(例えば12〜22)に制御される。さらに、均一燃焼モードでのEGR制御弁16の目標バルブリフト量は、成層燃焼モードのときよりも小さな値に設定される。
さらに、2回噴射燃焼モードでは、1燃焼サイクル中の吸気行程および圧縮行程に燃料をそれぞれ噴射し、成層燃焼モードよりもリッチな空燃比(例えば14.7〜27)で燃焼が行われる。
なお、均一燃焼モードは、ストイキ燃焼モードとリーン燃焼モードに区分される。ストイキ燃焼モードでは、空燃比が理論空燃比またはこれよりもリッチ側に制御され、リーン燃焼モードでは、空燃比がストイキ燃焼モードの場合よりもリーン側に制御される。
次に、ECU2で実行される燃料噴射制御処理について、図2〜図8を参照しながら説明する。図2は、この燃料噴射制御処理のメインルーチンを示しており、本処理は、TDC信号の入力に同期して実行される。そのステップ1(「S1」と図示。以下同じ)では、各種の補正係数を算出する。これらの補正係数はそれぞれ、各種のパラメータ、例えば吸気温TA、大気圧PAやエンジン水温TWなどに応じて、テーブルやマップ(いずれも図示せず)を検索することによって算出される。
次いで、ステップ2および3において、吸気行程噴射用の目標空燃比KCMD1STおよび圧縮行程噴射用の目標空燃比KCMD2NDをそれぞれ算出する。これらの吸気・圧縮行程噴射用の目標空燃比KCMD1ST,KCMD2NDは、エンジン回転数NEや要求トルクPMCMDなどに応じて算出される。この要求トルクPMCMDは、図3に示す算出処理によって算出され、具体的には、そのステップ15において、エンジン回転数NEおよびアクセル開度APに応じ、マップ(図示せず)を検索することによって算出される。なお、要求トルクPMCMDは、混合気の燃焼時の図示平均有効圧力である。
次に、F/B補正係数KAFを算出する(ステップ4)。このF/B補正係数KAFは、燃焼モードに応じて算出される。具体的には、検出空燃比KACTや前記ステップ2および3で求めた吸気または圧縮行程噴射用の目標空燃比KCMD1ST,KCMD2NDなどに応じ、フィードバック制御アルゴリズムによって算出される。
次いで、吸気行程噴射用の基本燃料噴射量TIM1STを算出する(ステップ5)。この基本燃料噴射量TIM1STは、次のようにして算出される。すなわち、吸入空気量GTHおよび吸気管内絶対圧PBAなどに基づいて、気筒内に実際に吸入されたと推定される実吸入空気量を算出する。そして、算出した実吸入空気量に応じ、テーブル(図示せず)を検索することなどによって、吸気行程噴射用の基本燃料噴射量TIM1STを算出する。
次に、圧縮行程噴射用の基本燃料噴射量TIM2NDを算出する(ステップ6)。この基本燃料噴射量TIM2NDは、上記の吸気行程噴射用の基本燃料噴射量TIM1STとほぼ同様にして算出される。その算出方法の説明については省略する。
次いで、要求燃料噴射量TCYL(要求燃料量)を算出する(ステップ7)。この算出処理については後述する。次に、算出した要求燃料噴射量TCYLを、燃料圧PFおよび燃料温TFに応じたそれぞれの補正係数で補正することによって、最終的な燃料噴射量TOUTを算出する(ステップ8)。次いで、算出した燃料噴射量TOUTに基づく駆動信号をインジェクタ4に出力することによって、燃料噴射を実行し(ステップ9)、本処理を終了する。なお、2回噴射燃焼モードでは、燃料噴射量TOUTを分割することによって、吸気行程中および圧縮行程中に噴射する燃料噴射量が求められ、求めた燃料噴射量に基づく駆動信号がインジェクタ4に出力される。
次に、図2の前記ステップ7で実行される要求燃料噴射量TCYLの算出処理について、図4のフローチャートを参照しながら説明する。まず、ステップ20において、吸気行程噴射用の要求燃料噴射量TCYL1STTを算出する。この要求燃料噴射量TCYL1STTは、均一燃焼モードにおいて、要求燃料噴射量TCYLとして用いられるものである。要求燃料噴射量TCYL1STTは、前述した図2の処理で求めた各種の補正係数、吸気行程噴射用の目標空燃比KCMD1ST、F/B補正係数KAF、および吸気行程噴射用の基本燃料噴射量TIM1STを互いに乗算することによって算出される。
次いで、圧縮行程噴射用の要求燃料噴射量TCYL2NDTを算出する(ステップ21)。この要求燃料噴射量TCYL2NDTは、成層燃焼モードにおいて、要求燃料噴射量TCYLとして用いられるものである。要求燃料噴射量TCYL2NDTは、各種の補正係数、圧縮行程噴射用の目標空燃比KCMD2ND、F/B補正係数KAF、および圧縮行程噴射用の基本燃料噴射量TIM2NDを互いに乗算することによって算出される。
次に、暫定要求燃料噴射量TCYLLMTを算出する(ステップ22)。この算出処理については後述する。次いで、膨張行程噴射用の要求燃料噴射量TCYL3RDを算出する(ステップ23)。この膨張行程噴射は、触媒装置17に吸着したNOxおよび硫黄をそれぞれ還元および脱離させることにより、触媒装置17の吸着能力を回復させるために、膨張行程中に気筒内に燃料を噴射するものである。なお、この要求燃料噴射量TCYL3RDの算出方法の説明については省略する。
次に、成層燃焼許可フラグF_DISCOKが「1」であるか否かを判別する(ステップ24)。このステップ24の答がYESで、成層燃焼の実行条件が成立しているときには、上記ステップ22で算出した暫定要求燃料噴射量TCYLLMTを要求燃料噴射量TCYLとして設定し(ステップ25)、本処理を終了する。
一方、ステップ24の答がNOで、成層燃焼の実行条件が成立していないときには、膨張行程噴射フラグF_DIBCが「1」であるか否かを判別する(ステップ26)。この膨張行程噴射フラグF_DIBCは、前述した膨張行程噴射の実行条件が成立しているときに「1」にセットされるものである。
このステップ26の答がYESで、膨張行程噴射の実行条件が成立しているときには、暫定要求燃料噴射量TCYLLMTと膨張行程噴射用の要求燃料噴射量TCYL3RDとの和を、要求燃料噴射量TCYLとして設定し(ステップ27)、本処理を終了する。一方、ステップ26の答がNOのときには、前記ステップ25を実行し、本処理を終了する。
次に、前記ステップ22で実行される暫定要求燃料噴射量TCYLLMTの算出処理について、図5および図6のフローチャートを参照しながら説明する。本処理では、暫定要求燃料噴射量TCYLLMTは、均一燃焼モード中には吸気行程噴射用の要求燃料噴射量TCYL1STTに設定され、成層燃焼モード中には圧縮行程噴射用の要求燃料噴射量TCYL2NDTに設定されるのに対し、両燃焼モード間の切換時には、その切換パターンに応じて、後述する第1〜第4のリミット値TCYLDS,TCYLDL,TCYLSD,TCYLLD(切換時要求燃料量)のいずれかに設定される。
このように燃焼モードの切換時に通常時とは異なる切換時要求燃料量を用いるのは、次の理由による。すなわち、前述したように、成層燃焼モードと均一燃焼モードでは、設定される吸入空気量が大きく異なり、成層燃焼モードの方が大きいとともに、燃焼モードの切換時、吸入空気量は、スロットル弁の動作に対して応答遅れを伴って変化する。一方、吸気・圧縮行程噴射用の要求燃料噴射量TCYL1STT,TCYL2NDTは、気筒内に実際に吸入される実吸入空気量に応じて設定される。このため、均一燃焼モードへの切換時に、吸気行程噴射用の要求燃料噴射量TCYL1STTは、応答遅れを伴って減少する吸気空気量に応じて設定される結果、過大になりやすい。同じ理由から、成層燃焼モードへの切換時には、圧縮行程噴射用の要求燃料噴射量TCYL2NDTが過小になりやすい。
上記の切換時要求燃料量は、燃焼モードの切換時に吸入空気量が安定するまでの間、このような要求燃料噴射量TCYL1STT/2NDTの過大化・過小化を防止すべく、これらを制限するために用いられる。このため、均一燃焼モードへの切換時に適用される第1リミット値TCYLDSなどは、吸気行程噴射用の要求燃料噴射量TCYL1STTを上限側で制限するように設定される一方、成層燃焼モードへの切換時に適用される第3リミット値TCYLSDなどは、圧縮行程噴射用の要求燃料噴射量TCYL2NDTを下限側で制限するように設定される。以下、このような燃焼モードの切換時における第1リミット値TCYLDSなどによる要求燃料噴射量の制限を、「リミット処理」という。
まず、図5のステップ30では、暫定要求燃料噴射量TCYLLMTの算出に必要な各種のパラメータを算出する。図示しないが、この算出処理では、まず、成層燃焼許可フラグF_DISCOKに応じ、均一燃焼モードのときには吸気行程噴射用の要求燃料噴射量TCYL1STTを、成層燃焼モードのときには圧縮行程噴射用の要求燃料噴射量TCYL2NDTを、それぞれ通常時要求燃料噴射量TCYLTとして設定する。
また、燃焼モードの切換の有無および切換パターンを判別し、その判別結果に応じて、切換ステータスEMOD_STSを次のように設定する。
(a)成層燃焼モード→ストイキ燃焼モードの切換時:「1」
(b)成層燃焼モード→リーン燃焼モードの切換時 :「2」
(c)ストイキ燃焼モード→成層燃焼モードの切換時:「3」
(d)リーン燃焼モード→成層燃焼モードの切換時 :「4」
(e)(a)〜(d)以外のとき :「0」
また、この処理では、燃焼モードが切り換えられたときに、その直前に得られた暫定要求燃料噴射量TCYLLMTを切換直前要求燃料噴射量TCYLMINIとして設定する。さらに、燃焼モードの切換中、燃焼モードの切換直前からの要求トルクPMCMDの変化量を求めるとともに、求めた変化量を燃料量に換算することによって、トルク変化量補正項TCYLDPMを算出する。
前記ステップ30に続くステップ31では、要求トルクPMCMDが値0よりも大きいか否かを判別する。この答がNOで、エンジン3にトルクが要求されていないときには、アップカウント式の切換後経過時間タイマのタイマ値TTCYLMCを所定時間TTCYLREF(例えば6.0sec)にセットし(ステップ32)、暫定要求燃料噴射量TCYLLMTを通常時要求燃料噴射量TCYLTに設定する(ステップ33)とともに、リミット実行フラグF_TCYLLMTを「0」にセットし(ステップ34)、リミット処理を禁止する。
一方、ステップ31の答がYESで、PMCMD>0のときには、切換ステータスEMOD_STSが「0」であるか否かを判別する(ステップ35)。この答がYESで、燃焼モードの切換中でないときには、前記ステップ32〜34を実行する。
一方、ステップ35の答がNOで、EMOD_STS≠0のときには、切換ステータスEMOD_STSが、その前回値EMOD_STSZと等しいか否かを判別する(ステップ36)。この答がYESで、切換ステータスEMOD_STSが変化しておらず、今回のループが燃焼モードの切換直後でないときには、リミット実行フラグF_TCYLLMTが「1」であるか否かを判別する(ステップ37)。この答がNOで、リミット処理を実行していないときには、前記ステップ32〜34を実行する。一方、ステップ37の答がYESで、リミット処理を実行しているときには、ステップ39に進む。
一方、上記ステップ36の答がNOで、EMOD_STS≠EMOD_STSZのとき、すなわち、今回のループが燃焼モードの切換直後であるときには、前記ステップ32でセットした切換後経過時間タイマのタイマ値TTCYLMCを値0にリセットし(ステップ38)、ステップ39に進む。
このステップ39では、切換後経過時間タイマのタイマ値TTCYLMCが、リミット時間TMTCYLMTよりも小さいか否かを判別する。この答がYESのとき、すなわち、燃焼モードの切換後、リミット時間TMTCYLMTが経過していないときには、切換ステータスEMOD_STSが「1」であるか否かを判別する(ステップ40)。この答がYESで、切換パターンが成層燃焼モード→ストイキ燃焼モードのときには、この切換パターン用の第1リミット値TCYLDSを算出する(ステップ41)。次いで、算出した第1リミット値TCYLDSを暫定要求燃料噴射量TCYLLMTとして設定し(ステップ42)、リミット実行フラグF_TCYLLMTを第1リミット値算出フラグF_TCYLDSの値にセットする(ステップ43)。
一方、ステップ40の答がNOのときには、上記ステップ40〜43と同様に、ステップ44〜54を実行する。まず、ステップ44および45では、切換ステータスEMOD_STSが「2」および「3」であるか否かをそれぞれ判別する。そして、ステップ44の答がYES(EMOD_STS=2)で、切換パターンが成層燃焼モード→リーン燃焼モードのときには、この切換パターン用の第2リミット値TCYLDLを算出し(ステップ46)、この第2リミット値TCYLDLを暫定要求燃料噴射量TCYLLMTとして設定する(ステップ47)とともに、リミット実行フラグF_TCYLLMTを第2リミット値算出フラグF_TCYLDLの値にセットする(ステップ48)。
また、上記ステップ45の答がYES(EMOD_STS=3)で、切換パターンがストイキ燃焼モード→成層燃焼モードのときには、この切換パターン用の第3リミット値TCYLSDを算出し(ステップ49)、この第3リミット値TCYLSDを暫定要求燃料噴射量TCYLLMTとして設定する(ステップ50)とともに、リミット実行フラグF_TCYLLMTを第3リミット値算出フラグF_TCYLSDの値にセットする(ステップ51)。さらに、上記ステップ45の答がNO(EMOD_STS=4)で、切換パターンがリーン燃焼モード→成層燃焼モードのときには、この切換パターン用の第4リミット値TCYLLDを算出し(ステップ52)、この第4リミット値TCYLLDを暫定要求燃料噴射量TCYLLMTとして設定する(ステップ53)とともに、リミット実行フラグF_TCYLLMTを第4リミット値算出フラグF_TCYLLDの値にセットする(ステップ54)。
一方、前記ステップ39の答がNOで、TTCYLMC≧TMTCYLMTのとき、すなわち、燃焼モードの切換後、リミット時間TMTCYLMTが経過したときには、リミット処理の実行期間が終了したとして、前記ステップ33および34を実行し、リミット処理を終了する。
前記ステップ34、43、48、51または54に続くステップ55では、リミット実行フラグF_TCYLLMTが「1」であるか否かを判別する。この答がYESで、リミット処理を実行しているときには、成層燃焼許可フラグF_DISCOKが「0」であるか否かを判別する(ステップ56)。この答がYESで、成層燃焼の実行条件が成立していないときには、ダウンカウント式のディレイタイマのタイマ値TAFDTOSを所定の待機時間TMAFDTOS(例えば3.0sec)にセットし(ステップ57)、ステップ58に進む。一方、ステップ55の答がNOで、F_TCYLLMT=0のとき、またはステップ56の答がNOで、F_DISCOK=1のときには、ステップ57をスキップし、ステップ58に進む。
このステップ58では、上記ステップ57でセットしたディレイタイマのタイマ値TAFDTOSが値0であるか否かを判別する。この答がNOのときには、成層燃焼モードを禁止するために、成層燃焼実行フラグF_TAFDTOS0を「0」にセットし(ステップ59)、本処理を終了する。一方、この答がYESで、TAFDTOS=0のときには、成層燃焼実行フラグF_TAFDTOS0を「1」にセットし(ステップ60)、本処理を終了する。
上記ステップ55〜59から明らかなように、成層燃焼モードから均一燃焼モードへの切換時にリミット処理が実行されている状態から、リミット処理が終了した後、または成層燃焼の実行条件が成立した後、待機時間TMAFDTOSが経過するまでは、成層燃焼モードが禁止される。これにより、成層燃焼モードから均一燃焼モードへの切換時に、成層燃焼の実行条件の成立あるいはリミット処理の終了に応じて、成層燃焼がすぐに実行されるのを防止することができる。
また、燃焼モードの切換時(前記ステップ35:NO)には、前記ステップ40〜54により、そのときの切換パターンに応じて、第1〜第4のリミット値TCYLDS,TCYLDL,TCYLSD,TCYLLDのいずれかが算出され、算出されたリミット値によるリミット処理が実行される。そして、燃焼モードの切換後、リミット時間TMTCYLMTが経過すると(前記ステップ39:NO)、前記ステップ33および34により、リミット処理が終了される。
次に、上記の第1〜第4のリミット値の算出処理(ステップ41,46,49,52)を代表して、ステップ52で実行される、リーン燃焼モードから成層燃焼モードへの切換時用の第4リミット値TCYLLDの算出処理を、図7を参照しながら説明する。
まず、ステップ70では、切換後経過時間タイマのタイマ値TTCYLMCに応じて、図8に示すKTCLLDテーブルを検索することにより、燃焼効率パラメータKTCLLD(燃焼効率)を求める。このテーブルでは、燃焼効率パラメータKTCLLDは、タイマ値TTCYLMCが大きいほど、徐々に大きくなるように設定されている。
次いで、ステップ71において、燃焼効率パラメータKTCLLD、図5のステップ30で算出した切換直前要求燃料噴射量TCYLMINIおよびトルク変化量補正項TCYLDPMを用い、次式(1)によって、第4リミット値TCYLLDを算出する。
TCYLLD
=(TCYLMINI+TCYLDPM)×(1−KTCLLD)…(1)
この式(1)の第2項(1−KTCLLD)は、切換直前を基準とした燃焼効率の上昇度合を表す。すなわち、燃焼効率は、燃焼モードの切換が行われるような低負荷運転状態では、成層燃焼モードよりも均一燃焼モードの方が低い。このため、均一燃焼モードから成層燃焼モードへの切換時には、燃焼効率が次第に上昇し、それに伴い、同一のトルクを出力するための要求燃料噴射量TCYLが減少する傾向にある。燃焼効率パラメータKTCLLDは、この燃焼効率の上昇度合を表すものであり、このため、前述した図8のテーブルにより、切換後の経過時間TTCYLMCが大きいほど、徐々に大きくなるように設定される。したがって、この第2項(1−KTCLLD)を乗算することによって、第4リミット値TCYLLDを、燃焼モードの切換後における燃焼効率の実際の推移に応じて、適切に設定することができる。
次いで、算出した第4リミット値TCYLLDが、切換直前要求燃料噴射量TCYLMINIよりも大きいか否かを判別する(ステップ72)。この答がYESで、第4リミット値TCYLLDが切換直前要求燃料噴射量TCYLMINIを上回ったときには、第4リミット値TCYLLDを切換直前要求燃料噴射量TCYLMINIに設定し(ステップ73)、ステップ74に進む一方、NOのときには、そのままステップ74に進む。
上記ステップ72および73の趣旨は、次のとおりである。前述したように、均一燃焼モードから成層燃焼モードへの切換時には、燃焼効率が上昇する傾向にあるため、通常、第4リミット値TCYLLDは、切換直前要求燃料噴射量TCYLMINIよりも小さくなり、ステップ72の答はNOになる。一方、低負荷運転時にエアコン35などの補機がOFFされることによって燃焼モードが成層燃焼モードに切り換えられた後、そのリミット処理中に補機がONされたような場合には、それに応じて要求トルクPMCMDが増加するのに伴い、第4リミット値TCYLLDが過大に算出される場合がある。そのような第4リミット値TCYLLDをそのまま用いてリミット処理を実行すると、空燃比が極めてリッチになることで、燃焼が不安定になるおそれがある。ステップ72の判別は、このような状況を想定したものであり、第4リミット値TCYLLDが切換直前要求燃料噴射量TCYLMINIを上回ったときに、ステップ73で第4リミット値TCYLLDを切換直前要求燃料噴射量TCYLMINIに設定し、空燃比をリーン側に維持することによって、安定した燃焼を確保することができる。
前記ステップ72または73に続くステップ74では、通常時要求燃料噴射量TCYLTが第4リミット値TCYLLDよりも小さいか否かを判別する。この答がYESのときには、第4リミット値TCYLLDによるリミット処理の実行中であることを表すために、第4リミット値算出フラグF_TCYLLDを「1」にセットし(ステップ75)、本処理を終了する。
一方、ステップ74の答がNOで、TCYLT≧TCYLLDのときには、第4リミット値TCYLLDによるリミット処理を行えない状態であるとして、通常時要求燃料噴射量TCYLTを第4リミット値TCYLLDとして設定する(ステップ76)とともに、第4リミット値TCYLLDの算出が終了したことを表すために、第4リミット値算出フラグF_TCYLLDを「0」にセットし(ステップ77)、本処理を終了する。
なお、図示しないが、第1〜第3のリミット値TCYLDS,TCYLDL,TCYLSDの算出処理(ステップ41,46,49)も、上述した第4リミット値TCYLLDの場合と基本的に同様に行われ、これらのリミット値もまた、切換直前要求燃料噴射量TCYLMINI、トルク変化量補正項TCYLDPM、および燃焼効率パラメータに応じて算出される。
以上のように、燃焼モードの切換時に、第1〜第4のリミット値TCYLDS,TCYLDL,TCYLSD,TCYLLDを、切換直前要求燃料噴射量TCYLMINIをベースとして算出するので、この切換前後においてトルクの急激な段差を生じることなく、燃焼モードの移行を滑らかに行うことができる。また、第4リミット値TCYLLDなどをトルク変化量補正項TCYLDPMに応じて算出するので、実吸入空気量に応じて算出される吸気・圧縮行程噴射用の要求燃料噴射噴射量TCYL1STT,TCYL2NDTと異なり、切換直前からその時点までの実際の要求トルクPMCMDの変化分を良好に反映させながら、第4リミット値TCYLLDSなどを適切に設定できる。さらに、燃焼効率パラメータKTCLLDなどに応じて、対応するリミット値を算出するので、これをそのときの実際の燃焼効率に応じて適切に設定することができる。以上により、燃焼モードの切換時において、内燃機関の出力トルクを要求トルクに良好に一致させることができ、それにより、ドライバビリティを向上させることができる。
次に、図9を参照しながら、アイドル運転時の目標トルクPMEIDLEの算出処理について説明する。この目標トルクPMEIDLEは、アイドル運転時のエンジン回転数NEを目標回転数NOBJに維持するアイドル回転数制御のために設定されるものである。
まず、そのステップ80および81では、目標トルクPMEIDLEの水温補正項PMTWおよび始動後補正項PMASTを、エンジン水温TWに応じ、それぞれのテーブル(図示せず)を検索することによって算出する。始動後補正項PMASTは、エンジン3の始動中にのみ設定され、水温補正項PMTWは、エンジン3の暖機が完了した後には、値0に設定される。次に、ジェネレータ負荷補正項PMACGを算出する(ステップ82)。このジェネレータ負荷補正項PMACGは、図示しないジェネレータの作動時には所定値に、停止時には値0に設定される。次いで、エアコン負荷補正項PMHACを算出する(ステップ83)。このエアコン負荷補正項PMHACは、エアコンスイッチ33の検出信号に応じ、エアコン35の作動時には所定値に、停止時には値0に設定される。
次に、トルクショット補正項PMSAを算出する(ステップ84)。このトルクショット補正項PMSAは、エンジン回転数NEのダウンシュートを防止するための一時的なトルク増加(トルクショット)を実行するときに算出される。次いで、パワステ負荷補正項PMPSを算出する(ステップ85)。このパワステ負荷補正項PMPSは、パワステ36の作動に伴う要求トルクを表すものであり、パワステスイッチ34で検出されるパワステ36の作動状態、エンジン回転数NEや燃焼モードなどに応じて算出される。
次に、AT補正項PMATを算出する(ステップ86)。このAT補正項PMATは、エンジン3に接続された変速機が自動変速機(AT)であるか否か、そのインギヤ状態、およびエンジン水温TWなどに応じて算出される。次いで、フィードバック補正項PMFBを算出する(ステップ87)。その詳細については後述する。
次に、ステップ88では、目標トルクPMEIDLEを、次式(2)によって算出する。
PMEIDLE
=(PMAST+PMTW+PMACG+PMHAC+PMSA+PMPS
+PMAT+PMFB)×KPMPA+PMPA …(2)
ここで、KPMPA、PMPAはそれぞれ、大気圧PAに応じて設定される大気圧補正係数および大気圧補正項である。この式(2)から明らかなように、目標トルクPMEIDLEは、ステップ80〜87で算出されたフィードバック補正項PMFBを含む各種の補正項の和に、大気圧補正係数KPMPAを乗算し、さらに大気圧補正項PMPAを加算した値として算出される。次いで、算出した目標トルクPMEIDLEを、アイドル運転時の要求トルクPMCMDとして設定し(ステップ89)、本処理を終了する。
次に、前記ステップ87で実行されるフィードバック補正項PMFBの算出処理について、図10および図11のフローチャートを参照しながら説明する。この処理ではまず、制御モードステータスAICMODEの値が「5」であるか否かを判別する(ステップ90)。この制御モードステータスAICMODEは、アイドル回転数制御の実行中に「5」にセットされるものである。このステップ90の答がNOで、アイドル回転数制御の実行中でないときには、フィードバック制御実行フラグF_PFBONを「0」にセットし(ステップ91)、本処理を終了する。
前記ステップ90の答がYESのときには、成層燃焼許可フラグF_DISCOKが「1」であるか否かを判別する(ステップ92)。この答がNOで、成層燃焼の実行条件が成立していないときには、フィードバック制御の実行条件が成立していないとして、前記ステップ91を実行し、フィードバック制御を禁止する。前記ステップ92の答がYESのときには、燃焼移行モードフラグF_DSCMODが「1」であるか否かを判別する(ステップ93)。この燃焼移行モードフラグF_DSCMODは、燃焼モードの切換時の移行期間中に「1」にセットされるものである。このステップ93の答がYESで、燃焼モードの切換時の移行期間中であるときには、前記ステップ91を実行し、フィードバック制御を禁止する。前記ステップ93の答がNOのときには、リミット実行フラグF_TCYLLMTが「1」であるか否かを判別する(ステップ94)。この答がYESで、リミット処理を実行しているときには、前記ステップ91を実行する。このように、リミット処理の実行中には、フィードバック制御の実行条件が成立していないとして、フィードバック制御が禁止される。
前記ステップ94の答がNOで、リミット処理の実行中でないときには、フィードバック制御の実行条件が成立しているとして、ステップ95以降において、フィードバック補正項PMFBを算出する。まず、ステップ95では、フィードバック制御のP項PMFBP、I項今回値PMFBIおよびD項PMFBDを算出する。この算出は、目標回転数NOBJとエンジン回転数NEとの偏差、エンジン回転数NEの今回値と前回値との偏差や、エアコン35およびパワステ36のON/OFF状態などに応じて、行われる。
次に、フィードバック制御実行フラグF_PFBONが「1」であるか否かを判別する(ステップ96)。この答がYESで、フィードバック制御が実行されているときには、後述するフィードバック補正項PMFBのリミット中フラグF_PFBLMTが「1」であるか否かを判別する(ステップ97)。この答がYESで、フィードバック補正項PMFBのリミット処理が実行されているときには、前回時のI項PMINWをI項前回値PMINWZにシフトした(ステップ98)後、後述するステップ101に進む。また、ステップ97の答がNOのときには、ステップ98をスキップして、ステップ101に進む。
前記ステップ96の答がNOで、フィードバック制御が実行されていないときには、I項PMINWが所定値PFMIRSTL以下であるか否かを判別する(ステップ99)。この答がNOで、PMINW>PFMIRSTLのときには、前記ステップ98に進み、I項PMINWをそのままI項前回値PMINWZにシフトする。一方、ステップ99の答がYESでPMINW≦PFMIRSTLのときには、所定値PFMIRSTLをI項前回値PMINWZとして設定した(ステップ100)後、ステップ101に進む。これは、このI項前回値PMINWZが、フィードバック制御の再開時にI項PMINWの初期値として用いられることから、フィードバック制御が過小なI項PMINWから開始されることによるトルクダウンを防止するためである。
前記ステップ101では、前記ステップ98または100で設定したI項前回値PMINWZに、前記ステップ95で算出したI項今回値PMFBIを加算することによって、I項暫定値PMINWZTMPを算出する。次いで、このI項暫定値PMINWZTMPをリミット処理した値を、I項PMINWとして設定する(ステップ102)。このリミット処理は、I項暫定値PMINWZTMPを、その上限値PMFBLMTHおよび下限値PMFBLMTLと比較し、I項PMINWを、PMINWZTMP≧PMFBLMTHのときには上限値PMFBLMTHに、PMINWZTMP≦PMFBLMTLのときには下限値PMFBLMTLに、他の場合にはI項暫定値PMINWZTMに、それぞれ設定することによって行われる。
次に、ステップ103では、上記ステップ102で求めたI項PMINWと、前記ステップ95で算出したP項PMFBPおよびD項PMFBDとの和を、フィードバック補正項PMFBの暫定値PMINWTMPとして算出する。また、フィードバック制御実行フラグF_PFBONを「1」にセットする(ステップ104)。
次いで、ステップ105以降において、ステップ103で算出した暫定値PMINWTMPのリミット処理を行う。まず、暫定値PMINWTMPがその上限値PMFBLMTH以上であるか否かを判別し(ステップ105)、その答がYESで、PMINWTMP≧PMFBLMTHのときには、フィードバック補正項PMFBを上限値PMFBLMTHに設定する(ステップ106)とともに、フィードバック補正項PMFBのリミット処理中であることを表すために、リミット中フラグF_PFBLMTを「1」にセットする(ステップ107)。前記ステップ105の答がNOのときには、暫定値PMINWTMPがその下限値PMFBLMTL以下であるか否かを判別し(ステップ108)、その答がYESで、PMINWTMP≦PMFBLMTLのときには、フィードバック補正項PMFBを下限値PMFBLMTLに設定する(ステップ109)とともに、リミット中フラグF_PFBLMTを「1」にセットする(ステップ110)。また、ステップ108の答がNOのときには、暫定値PMINWTMPをそのままフィードバック補正項PMFBとして設定する(ステップ111)とともに、リミット処理中でないことを表すために、リミット中フラグF_PFBLMTを「0」にセットし(ステップ112)、本処理を終了する。
以上のように、本実施形態によれば、アイドル運転時、燃焼モードの切換に伴って、リミット処理が実行されているときに、目標トルクPMEIDLのフィードバック制御を禁止する。したがって、リミット処理中において、アイドル回転数制御による燃料噴射量の変動を回避でき、それにより、エンジン回転数NEの変動を抑制することができ、ドライバビリティを向上させることができる。
なお、本発明は、説明した実施形態に限定されることなく、種々の態様で実施することができる。例えば、実施形態では、燃焼モードの切換中の要求トルクを表すパラメータとして、燃焼モードの切換直前からその時点までの要求トルクPMCMDの変化量を求め、この変化量を燃料量に換算することによって、トルク変化量補正項TCYLDPMを算出したが、これに限らず、他の適当な手法によって求めてもよい。また、本発明は、クランクシャフトを鉛直方向に配置した船外機などのような船舶推進機用エンジンを含む、様々な産業用の筒内噴射式の内燃機関の制御装置に適用することが可能である。その他、本発明の趣旨の範囲内で、細部の構成を適宜、変更することが可能である。