(57)【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けた触媒に吸蔵した窒素酸化物を還元浄化するために、内燃機関のリーン運転中に空燃比を一時的にリッチ側に制御するリッチスパイク制御を行う内燃機関の排出ガス浄化制御装置において、
前記触媒に吸蔵した窒素酸化物を十分に還元浄化できない運転状態のときに前記リッチスパイク制御を禁止又は遅延するリッチスパイク禁止手段を備え、
前記リッチスパイク禁止手段は、アイドル運転時に前記リッチスパイク制御を禁止又は遅延し、リーン運転を継続することを特徴とする内燃機関の排出ガス浄化制御装置。
【請求項２】
内燃機関の排気通路に設けた触媒に吸蔵した窒素酸化物を還元浄化するために、内燃機関のリーン運転中に空燃比を一時的にリッチ側に制御するリッチスパイク制御を行う内燃機関の排出ガス浄化制御装置において、
前記触媒に吸蔵した窒素酸化物を十分に還元浄化できない運転状態のときに前記リッチスパイク制御を禁止又は遅延するリッチスパイク禁止手段を備え、
前記リッチスパイク禁止手段は、減速運転時に前記リッチスパイク制御を禁止又は遅延し、リーン運転を継続することを特徴とする内燃機関の排出ガス浄化制御装置。
【請求項３】
内燃機関の排気通路に設けた触媒に吸蔵した窒素酸化物を還元浄化するために、内燃機関のリーン運転中に空燃比を一時的にリッチ側に制御するリッチスパイク制御を行う内燃機関の排出ガス浄化制御装置において、
前記触媒に吸蔵した窒素酸化物を十分に還元浄化できない運転状態のときに前記リッチスパイク制御を禁止又は遅延するリッチスパイク禁止手段を備え、
前記リッチスパイク禁止手段は、低回転・低負荷運転時に前記リッチスパイク制御を禁止又は遅延し、リーン運転を継続することを特徴とする内燃機関の排出ガス浄化制御装置。
【請求項４】
内燃機関の排気通路に設けた触媒に吸蔵した窒素酸化物を還元浄化するために、内燃機関のリーン運転中に空燃比を一時的にリッチ側に制御するリッチスパイク制御を行う内燃機関の排出ガス浄化制御装置において、
前記触媒に吸蔵した窒素酸化物を十分に還元浄化できない運転状態のときに前記リッチスパイク制御を禁止又は遅延するリッチスパイク禁止手段と、
所定の運転条件で一部の気筒への燃料供給を休止して残りの気筒で内燃機関を運転する減筒運転を実施する減筒運転制御手段とを備え、
前記リッチスパイク禁止手段は、前記減筒運転時に前記リッチスパイク制御を禁止又は遅延し、リーン運転を継続することを特徴とする内燃機関の排出ガス浄化制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、触媒に吸蔵した窒素酸化物（以下「ＮＯｘ」と表記する）を還元浄化するために、空燃比を一時的にリッチ側に制御するリッチスパイク制御を行う内燃機関の排出ガス浄化制御装置に関するものである。
【０００２】
【従来の技術】
近年、燃費向上等を目的として、空燃比を理論空燃比よりもリーン側に制御するリーンバーンエンジンや筒内噴射エンジンが開発されている。これらのエンジンでは、ＮＯｘ排出量を低減するために、ＮＯｘ吸蔵還元型触媒（以下「ＮＯｘ触媒」と表記する）を採用したものがある。このＮＯｘ触媒は、排出ガスの空燃比がリーンのときに排出ガス中のＮＯｘを吸蔵し、空燃比がリッチになったときに吸蔵ＮＯｘを還元浄化して放出する特性をもっている。
【０００３】
そこで、リーン運転中にＮＯｘ触媒のＮＯｘ吸蔵量が飽和するのを防止するため、特開２０００−３４９４３号公報に示すように、リーン運転時間とリッチ運転時間を所定比率（例えば５０：１）に設定して、リーン運転中に所定周期で空燃比を一時的にリッチにするリッチスパイク制御を実施することで、リーン運転中にＮＯｘ触媒に吸蔵したＮＯｘを還元浄化する処理を繰り返すようにしたものがある。
【０００４】
【発明が解決しようとする課題】
しかしながら、上記公報の技術では、リーン運転中に所定周期でリッチスパイク制御を実施するため、ＮＯｘ触媒で吸蔵ＮＯｘを十分に還元浄化できない運転状態のときにも、リッチスパイク制御を実施してしまう可能性がある。このような場合、せっかくリッチスパイク制御を実施しても、そのリッチスパイク制御によって得られるＮＯｘ浄化効果が少なく、逆に、リッチスパイク制御によって発生するトルク変動、排気エミッション悪化、燃費悪化等の悪影響の方が大きくなってしまう。
【０００５】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、触媒に吸蔵したＮＯｘを還元浄化しやすい運転状態でリッチスパイク制御を実施することができ、ＮＯｘ浄化率を向上できると共に、ＮＯｘ浄化効果の少ない無駄なリッチスパイク制御を行わずに済み、リッチスパイク制御によるドライバビリティや排気エミッション等への悪影響を回避することができる内燃機関の排出ガス浄化制御装置を提供することにある。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１〜４の内燃機関の排出ガス浄化制御装置は、触媒に吸蔵したＮＯｘを十分に還元浄化できない運転状態のときには、リッチスパイク禁止手段によってリッチスパイク制御を禁止又は遅延し、リーン運転を継続することを共通の技術的特徴としている。このようにすれば、リッチスパイク制御によって得られるＮＯｘ浄化効果が少ないときには、仮に、他のリッチスパイク制御実施条件が成立しても、リッチスパイク制御が実施されないため、リッチスパイク制御によるトルク変動、排気エミッション悪化、燃費悪化等の悪影響を回避することができる。しかも、触媒で吸蔵ＮＯｘを効率良く還元浄化できる運転状態のときのみに、リッチスパイク制御が実施されるため、リッチスパイク制御によるＮＯｘ浄化効果も高めることができる。
【０００７】
この場合、請求項１のように、アイドル運転時にリッチスパイク制御を禁止又は遅延し、リーン運転を継続するようにしても良い。或は、請求項２のように、減速運転時にリッチスパイク制御を禁止又は遅延し、リーン運転を継続するようにしても良い。また、請求項３のように、低回転・低負荷運転時にリッチスパイク制御を禁止又は遅延し、リーン運転を継続するようにしても良い。アイドル運転、減速運転、低回転・低負荷運転は、いずれも吸入空気量（排出ガス流量）が少なくなる運転状態である。吸入空気量（排出ガス流量）が少ないときは、空燃比をリッチにしても、触媒に供給するリッチ成分の絶対量が少ないため、還元浄化できるＮＯｘ量も少なく、吸蔵ＮＯｘを十分に還元浄化することができない。従って、アイドル運転、減速運転、低回転・低負荷運転などの吸入空気量が少ない運転状態のときにリッチスパイク制御を禁止又は遅延し、リーン運転を継続すれば、リッチスパイク制御によって得られるＮＯｘ浄化効果が少ないときにリッチスパイク制御を実施せずに済み、ＮＯｘ浄化効果の高い運転状態のときにリッチスパイク制御を効率良く実施することができる。
【００１０】
また、トラクション制御のためのトルク制御等を行うために、所定の運転条件で一部の気筒への燃料供給を休止して残りの気筒で内燃機関を運転する減筒運転を行うシステムでは、減筒運転時にリッチスパイク制御を実施すると、運転気筒からはリッチガスが排出されるが、休止気筒からは吸入空気（リーンガス）がそのまま排出されるため、触媒に流れる排出ガスの空燃比が十分にリッチにならず、触媒でＮＯｘを十分に還元浄化することができない。
【００１１】
そこで、請求項４のように、減筒運転時にリッチスパイク制御を禁止又は遅延し、リーン運転を継続するようにしても良い。このようにすれば、吸蔵ＮＯｘを十分に還元浄化できない減筒運転時に無駄なリッチスパイク制御を行うことを防止できる。
【００１２】
【発明の実施の形態】
以下、本発明をリーンバーンエンジンに適用した一実施形態を図面に基づいて説明する。
【００１３】
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側には、吸気温度を検出する吸気温センサ１４が設けられている。この吸気温センサ１４の下流側には、スロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００１４】
更に、スロットルバルブ１５の下流側には、吸気管圧力を検出する吸気管圧力センサ１７が設けられ、この吸気管圧力センサ１７の下流側に、サージタンク１８が設けられている。このサージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。エンジン１１のシリンダヘッドには、気筒毎に点火プラグ２１が取り付けられ、各気筒の点火プラグ２１には、点火時期毎に点火装置２２で発生した高電圧が印加される。
【００１５】
一方、エンジン１１の排気管２３（排気通路）の途中には、排出ガスを浄化するＮＯｘ吸蔵還元型触媒（以下「ＮＯｘ触媒」と表記する）２４が設置されている。このＮＯｘ触媒２４は、排出ガス中の酸素濃度が高いリーン運転中に排出ガス中のＮＯｘを吸蔵し、空燃比がリッチ（又はストイキ）に切り換えられて排出ガス中の酸素濃度が低下したリッチ運転中に、それまでに吸蔵したＮＯｘを還元浄化して放出する。
【００１６】
このＮＯｘ触媒２４の上流側には、排出ガスの空燃比に応じたリニアな空燃比信号ＡＦを出力する空燃比センサ２５が設けられ、ＮＯｘ触媒２４の下流側には、排出ガスの空燃比が理論空燃比に対してリッチかリーンかによって出力電圧ＶＯＸ２が反転する酸素センサ２６が設けられている。尚、エンジン１１のシリンダブロックには、冷却水温を検出する水温センサ２７や、エンジン回転速度を検出するクランク角センサ２８が取り付けられている。
【００１７】
エンジン制御回路（以下「ＥＣＵ」と表記する）２９は、ＣＰＵ３０、ＲＯＭ３１、ＲＡＭ３２、バッテリ（図示せず）でバックアップされたバックアップＲＡＭ３３、入力ポート３４、出力ポート３５等からなるマイクロコンピュータを主体として構成されている。入力ポート３４には、前述した各種センサの出力信号が入力される。また、出力ポート３５には、燃料噴射弁２０、点火装置２２等が接続されている。ＥＣＵ２９は、ＲＯＭ３１に記憶された各種のエンジン制御プログラムをＣＰＵ３０で実行することでエンジン１１の運転を制御する。
【００１８】
ＥＣＵ２９は、エンジン運転状態に基づいてリーン運転時間とリッチ運転時間を所定比率（例えば５０：１）で設定して、リーン運転中に一時的にリッチ運転を実施するリッチスパイク制御を実施する。これにより、ＮＯｘ触媒２４では、リーン運転中に排出ガス中のＮＯｘを吸蔵し、その吸蔵ＮＯｘをリッチスパイク制御により還元浄化して放出する処理が繰り返される。その際、ＥＣＵ２９は、ＮＯｘ触媒２４で吸蔵ＮＯｘを十分に還元浄化できない運転状態のときには、リッチスパイク制御を禁止して、ＮＯｘ触媒２４で吸蔵ＮＯｘを効率良く還元浄化できるときのみ、リッチスパイク制御を実施する。
以下、ＥＣＵ２９が実行する各ルーチンの具体的な処理内容を説明する。
【００２０】
［燃料噴射量設定］
図２の燃料噴射量設定ルーチンは、空燃比のＦ／Ｂ（フィードバック）制御を通じて燃料噴射量ＴＡＵを設定するルーチンであり、各気筒の燃料噴射タイミング毎に実行される。本ルーチンが起動されると、まず、ステップ１０１で、エンジン運転状態（エンジン回転速度Ｎｅ、吸気圧ＰＭ、冷却水温等Ｔｗ等）を読み込み、次のステップ１０２で、ＲＯＭ３１に予め記憶されている基本噴射量マップを検索して、現在のエンジン回転速度Ｎｅと吸気圧ＰＭに応じた基本噴射量Ｔｐを算出する。この後、ステップ１０３に進み、空燃比Ｆ／Ｂ条件が成立しているか否かを判定する。ここで、空燃比Ｆ／Ｂ条件は、冷却水温Ｔｗが所定温度以上であること、運転状態が高回転・高負荷領域でないこと、空燃比センサ２５が活性状態であること等であり、これらの条件を全て満たしたときに空燃比Ｆ／Ｂ条件が成立する。
【００２１】
上記ステップ１０３で、空燃比Ｆ／Ｂ条件が不成立と判定された場合には、ステップ１０７に進み、空燃比補正係数ＦＡＦを「１．０」に設定して、ステップ１０６に進む。この場合は、空燃比の補正は行われない。
【００２２】
一方、上記ステップ１０３で、空燃比Ｆ／Ｂ条件成立と判定された場合には、ステップ１０４に進み、後述する図３の目標空燃比設定ルーチンを実行して目標空燃比ＡＦＴＧを設定し、次のステップ１０５で、空燃比センサ２５で検出した実空燃比Ａ／Ｆと目標空燃比ＡＦＴＧとの偏差に基づいて空燃比補正係数ＦＡＦを算出する。
【００２３】
この後、ステップ１０６に進み、基本噴射量Ｔｐ、空燃比補正係数ＦＡＦ及び他の補正係数ＦＡＬＬ（水温、エアコン負荷等の各種補正係数）を用いて、次式により燃料噴射量ＴＡＵを算出して、本ルーチンを終了する。
ＴＡＵ＝Ｔｐ×ＦＡＦ×ＦＡＬＬ
【００２４】
［目標空燃比設定］
次に、図２のステップ１０４で実行される図３の目標空燃比設定ルーチンの処理内容を説明する。本ルーチンが起動されると、まず、ステップ２０１で、リッチスパイク禁止フラグＸＲＳＮＧが、リッチスパイク制御の禁止を意味する「１」にセットされているか否かを判定する。このリッチスパイク禁止フラグＸＲＳＮＧは、後述する図７のリッチスパイク禁止ルーチンによって、リッチスパイク禁止条件が成立したときに、リッチスパイク制御を禁止するために「１」にセットされる。
【００２５】
このステップ２０１で、リッチスパイク禁止フラグＸＲＳＮＧ＝０（リッチスパイク制御許可）と判定された場合は、ステップ２０２以降の処理を実行して、リーン運転中に所定周期でリッチスパイク制御が実施されるように（図６参照）、リーン運転時間とリッチ運転時間の時間比を設定すると共に、リーン運転時とリッチ運転時の目標空燃比ＡＦＴＧをそれぞれ設定する。
【００２６】
まず、ステップ２０２で、前回のリッチスパイク制御終了後のリーン運転時間をカウントする周期カウンタの値が「０」であるか否か（つまりリッチスパイク制御終了時であるか否か）を判定し、周期カウンタ＝０であれば、ステップ２０３に進み、エンジン回転速度Ｎｅと吸気圧ＰＭに基づいてリーン運転時間ＴＬとリッチ運転時間ＴＲを設定する。ここで、リーン運転時間ＴＬとリッチ運転時間ＴＲは、それぞれリーン空燃比での燃料噴射回数、リッチ空燃比での燃料噴射回数に相当するものであって、基本的には、エンジン回転速度Ｎｅが高いほど又は吸気圧ＰＭが高いほど、リーン運転時間ＴＬとリッチ運転時間ＴＲが大きな値に設定される。本実施形態では、図４に示すリッチ運転時間ＴＲのマップを検索して、現在のエンジン回転速度Ｎｅと吸気圧ＰＭに応じたリッチ運転時間ＴＲを算出し、このリッチ運転時間ＴＲに所定係数αを乗算することでリーン運転時間ＴＬを算出する。
ＴＬ＝ＴＲ×α
【００２７】
ここで、係数αは、演算処理の簡略化のために固定値（例えば５０）としても良いが、エンジン運転状態（エンジン回転速度Ｎｅ、吸気圧ＰＭ等）に応じて可変しても良い。このようにしてリーン運転時間ＴＬとリッチ運転時間ＴＲを設定した後、ステップ２０４に進む。
【００２８】
前回までの処理で周期カウンタがインクリメントされている場合（リーン運転中）は、上記ステップ２０２で、周期カウンタ≠０と判定されて、ステップ２０３の処理を飛び越して、ステップ２０４に進む。
【００２９】
リーン運転中は、ステップ２０４で、周期カウンタを「１」だけインクリメントしてリーン運転時間をカウントし、次のステップ２０５で、周期カウンタの値が上記ステップ２０３で設定したリーン運転時間ＴＬに相当する値に達したか否かを判定する。もし、周期カウンタの値が設定リーン運転時間ＴＬに達していなければ、ステップ２０６に進み、図５に示す目標空燃比ＡＦＴＧのマップを検索して、現在のエンジン回転速度Ｎｅと吸気圧ＰＭに応じた目標空燃比ＡＦＴＧを算出し、本ルーチンを終了する。この場合、目標空燃比ＡＦＴＧは、リーン制御値（例えばＡ／Ｆ＝２０〜２３に相当する値）に設定され、リーン運転が継続される。但し、過渡運転時等で、リーン運転の実施条件が不成立となる場合には、目標空燃比ＡＦＴＧは、ストイキ近傍の値に設定される。
【００３０】
その後、周期カウンタの値が設定リーン運転時間ＴＬに達したときに、ステップ２０５からステップ２０７に進み、目標空燃比ＡＦＴＧをリッチ制御値に設定する。この場合、目標空燃比ＡＦＴＧは、演算処理の簡略化のために固定値としても良いが、エンジン回転速度Ｎｅや吸気圧ＰＭをパラメータとするマップを検索して目標空燃比ＡＦＴＧを設定しても良い。マップ検索を行う場合は、エンジン回転速度Ｎｅが高いほど又は吸気圧ＰＭが高いほど、そのリッチ度合いが強くなるように目標空燃比ＡＦＴＧを設定することが好ましい。
【００３１】
目標空燃比ＡＦＴＧの設定後、ステップ２０８に進み、周期カウンタの値がリーン運転時間ＴＬとリッチ運転時間ＴＲの合計時間「ＴＬ＋ＴＲ」に相当する値に達したか否かを判定し、周期カウンタ＜ＴＬ＋ＴＲの期間中（リッチスパイク制御中）は、そのまま本ルーチンを終了し、その後、周期カウンタ≧ＴＬ＋ＴＲと判定されたときに（つまりリッチスパイク制御を終了するときに）、ステップ２０８からステップ２０９に進み、周期カウンタを「０」にクリアして本ルーチンを終了する。
【００３２】
これにより、リッチスパイク禁止フラグＸＲＳＮＧ＝０（リッチスパイク制御許可）の期間中は、図６に示すように、周期カウンタ＝０〜ＴＬの期間（時刻ｔ１〜ｔ２の期間）は、空燃比をリーン制御するリーン運転を実施して、排出ガス中のＮＯｘをＮＯｘ触媒２４に吸蔵する。そして、周期カウンタ＝ＴＬ〜ＴＬ＋ＴＲの期間（時刻ｔ２〜ｔ３の期間）は、空燃比をリッチに制御するリッチスパイク制御を実施して、排出ガス中のリッチ成分（ＨＣ、ＣＯ）によりＮＯｘ触媒２４の吸蔵ＮＯｘを還元して放出する。
【００３３】
これに対して、上記ステップ２０１で、リッチスパイク禁止フラグＸＲＳＮＧ＝１（リッチスパイク制御禁止）と判定された場合は、ステップ２０１からステップ２０６に進み、図５に示す目標空燃比のマップを検索して、エンジン回転速度Ｎｅと吸気圧ＰＭに応じて目標空燃比ＡＦＴＧをリーン制御値に設定して、リーン運転を実施する。従って、リッチスパイク禁止フラグＸＲＳＮＧ＝１の期間中は、他のリッチスパイク制御実施条件が成立しても、リッチスパイク制御は実施されない。
【００３４】
［リッチスパイク禁止］
図７のリッチスパイク禁止ルーチンは、後述するリッチスパイク禁止条件が成立したときに、リッチスパイク禁止フラグＸＲＳＮＧを「１」にセットしてリッチスパイク制御を禁止するルーチンである。
【００３５】
本ルーチンは、所定時間毎又は所定クランク角毎に実行され、特許請求の範囲でいうリッチスパイク禁止手段に相当する役割を果たす。本ルーチンが起動されると、まず、ステップ３０１〜３０５で、リッチスパイク禁止条件が成立しているか否かを判定する。リッチスパイク禁止条件は、例えば次の▲１▼〜▲５▼である。
【００３６】
▲１▼アイドル運転中であること（ステップ３０１）
▲２▼減速運転中であること（ステップ３０２）
▲３▼低回転・低負荷運転中であること（ステップ３０３）
▲４▼燃料カット中又は燃料カット終了から所定期間内であること（ステップ３０４）
▲５▼減筒運転中であること（ステップ３０５）
【００３６】
この場合、▲１▼のアイドル運転、▲２▼の減速運転、▲３▼の低回転・低負荷運転は、いずれも吸入空気量（排出ガス流量）が少なくなる運転状態である。吸入空気量（排出ガス流量）が少ないときは、空燃比をリッチにしても、ＮＯｘ触媒２４に供給するリッチ成分の絶対量が少ないため、ＮＯｘ触媒２４で還元浄化できるＮＯｘ量も少なく、ＮＯｘ触媒２４の吸蔵ＮＯｘを十分に還元浄化することができない。従って、アイドル運転中であること、減速運転中であること、低回転・低負荷運転中であることを、それぞれリッチスパイク禁止条件▲１▼〜▲３▼とし、吸入空気量が少ない運転状態のときには、リッチスパイク制御を禁止して、リッチスパイク制御による悪影響（トルク変動、排気エミッション悪化、燃費悪化等）を防止する。
【００３７】
また、燃料カット中は、エンジン１１ヘの燃料供給がカットされるため、リッチスパイク制御の実施指令が出されても、空燃比をリッチにすることはできない。また、燃料カット終了直後、つまり、燃料噴射再開直後は、燃焼状態が十分に安定化していないため、この時期にリッチスパイク制御を実施すると、空燃比の急激な変化により燃焼状態が不安定になってドライバビリティや排気エミッションが悪化するおそれがある。従って、燃料カット中又は燃料カット終了から所定期間内であることをリッチスパイク禁止条件▲４▼とし、燃料カット中又は燃料カット終了直後は、リッチスパイク制御を禁止して、ドライバビリティや排気エミッションの悪化を防止する。
【００３８】
尚、燃料カット中か否かは、燃料カットフラグＸＦＣが、燃料カットの実行を意味する「１」にセットされているか否かによって判定し、燃料カット終了から所定期間内か否かは、燃料カットフラグＸＦＣが「１」から「０」に切り換わってから所定期間内か否かによって判定すれば良い。燃料カットフラグＸＦＣは、後述する図８の燃料カット制御ルーチンによってセット／リセットされる。
【００３９】
また、トラクション制御のためのトルク制御等を行うために、所定の運転条件で一部の気筒への燃料供給を休止して残りの気筒でエンジン１１を運転する減筒運転中に、リッチスパイク制御を実施すると、運転気筒からはリッチガスが排出されるが、減筒気筒からは吸入空気（リーンガス）がそのまま排出されるため、ＮＯｘ触媒２４に流れる排出ガスの空燃比が十分にリッチにならず、ＮＯｘを十分に還元浄化することができない。従って、減筒運転中であることをリッチスパイク禁止条件▲５▼とし、減筒運転中は、リッチスパイク制御を禁止して、リッチスパイク制御による悪影響（トルク変動や燃費悪化等）を防止する。
【００４０】
尚、減筒運転中か否かは、減筒運転フラグＸＰＦＣが、減筒運転の実行を意味する「１」にセットされているか否かによって判定すれば良い。減筒運転フラグＸＰＦＣは、後述する図９及び図１０の減筒運転制御ルーチンによってセット／リセットされる。
【００４１】
以上説明した▲１▼〜▲５▼の条件のうちいずれか１つでも満たせば、リッチスパイク禁止条件が成立し、ステップ３０６に進み、リッチスパイク禁止フラグＸＲＳＮＧをリッチスパイク制御禁止を意味する「１」にセットして、本ルーチンを終了する。これにより、図３のステップ２０１で「Ｙｅｓ」と判定されるようになり、リッチスパイク制御が禁止される。
【００４２】
一方、上記▲１▼〜▲５▼の条件を全て満たさない場合は、リッチスパイク禁止条件が不成立となり、ステップ３０７に進み、リッチスパイク禁止フラグＸＲＳＮＧを「０」にリセットして、本ルーチンを終了する。これにより、図３のステップ２０１で「Ｎｏ」と判定されるようになり、リッチスパイク制御の禁止が解除される。
【００４３】
尚、上記▲１▼〜▲５▼の条件のいずれか１つ又は複数の条件を省略するようにしても良い。
【００４４】
［燃料カット制御］
図８の燃料カット制御ルーチンは、車両が減速状態（スロットル全閉、且つ、エンジン回転速度が燃料カット回転速度以上）のときに、全ての気筒の燃料噴射をカットする全気筒燃料カット（単に「燃料カット」という）を実施するルーチンであり、所定時間毎又は所定クランク角毎に実行され、特許請求の範囲でいう燃料カット制御手段に相当する役割を果たす。本ルーチンが起動されると、まず、ステップ４０１で、スロットルバルブ１５の全閉を検出するアイドルスイッチ（図示せず）から出力されるアイドル信号がオン（スロットル全閉状態）か否かを判定する。もし、アイドル信号がオフであれば、スロットルバルブ１５が開かれていると判断して、ステップ４０９に進み、燃料カットフラグＸＦＣを、燃料カット復帰を意味する「０」にリセットして、本ルーチンを終了する。
【００４５】
一方、アイドル信号がオン（スロットル全閉状態）と判定されたときには、ステップ４０２に進み、エンジン回転速度Ｎｅが燃料カット回転速度ＮｅＦＣ以上か否かを判定する。この燃料カット回転速度ＮｅＦＣは、後述するステップ４０７で検出された前回の燃料カット終了直後の最大エンジン回転速度ＮｅＭＡＸに補正係数Ｋ1 を加算して算出される。もし、アイドル信号がオン（スロットル全閉状態）で、且つ、エンジン回転速度Ｎｅが燃料カット回転速度ＮｅＦＣ以上であれば、ステップ４０３に進み、燃料カットフラグＸＦＣを、燃料カット実行を意味する「１」にセットして、本ルーチンを終了する。
【００４６】
その後、燃料カットによってエンジン回転速度Ｎｅが低下して燃料カット回転速度ＮｅＦＣより低回転になったときに、ステップ４０２からステップ４０４に進み、エンジン回転速度Ｎｅが燃料カット復帰回転速度ＮｅＦＣＲ以上か否かを判定する。エンジン回転速度Ｎｅが燃料カット復帰回転速度ＮｅＦＣＲ以下に低下するまでの期間は、ステップ４０５に進み、燃料カット中（燃料カットフラグＸＦＣ＝１）か否かを判定し、燃料カット中であれば、ステップ４０３に進み、燃料カットフラグＸＦＣを「１」にセットしたまま本ルーチンを終了する。
【００４７】
その後、エンジン回転速度Ｎｅが燃料カット復帰回転速度ＮｅＦＣＲ以下に低下したときに、ステップ４０４からステップ４０９に進み、燃料カットフラグＸＦＣを「０」にリセットして燃料カットを終了し、燃料噴射を再開する。燃料噴射を再開すると、エンジン回転速度Ｎｅが上昇して燃料カット復帰回転速度ＮｅＦＣＲ以上となるため、次回の処理時に、ステップ４０４で「Ｙｅｓ」と判定されてステップ４０５に進むが、この場合、燃料カット中でないため、ステップ４０５で「Ｎｏ」と判定されてステップ４０６に進む。
【００４８】
このステップ４０６で、車速センサ（図示せず）からの車速信号に基づいて車速が増加しているか否を判定する。アイドル信号がオン（スロットル全閉状態）であるにも拘らず、車速が増加していれば、車両が下り坂を走行していると判断し、車速が増加していなければ、車両が平坦路を走行していると判断する。
【００４９】
車速が増加していない場合（平坦路を走行している場合）は、ステップ４０７に進み、燃料カット終了直後の最大エンジン回転速度ＮｅＭＡＸを検出する。この後、ステップ４０８に進み、この最大エンジン回転速度ＮｅＭＡＸをバックアップＲＡＭ３３に記憶して、ステップ４０９に進み、燃料カットフラグＸＦＣを「０」にリセットしたまま、本ルーチンを終了する。これにより、次回の処理時には、バックアップＲＡＭ３３内に記憶された前回の燃料カット終了直後の最大エンジン回転速度ＮｅＭＡＸに基づいて設定された燃料カット回転速度ＮｅＦＣが用いられる。
【００５０】
一方、上記ステップ４０６で、車速が増加状態にあり、車両が下り坂を走行していると判断した場合は、ステップ４０７、４０８の処理を行うことなく、ステップ４０９に進み、燃料カットフラグＸＦＣを「０」にリセットしたまま、本ルーチンを終了する。
【００５１】
［減筒運転制御］
図９及び図１０の減筒運転制御ルーチンは、トラクション制御のためのトルク制御を行うために、所定の運転条件で一部の気筒への燃料供給を休止して残りの気筒でエンジン１１を運転する減筒運転を実施するルーチンである。本ルーチンは、各気筒の吸気行程に同期して実行され、特許請求の範囲でいう減筒運転制御手段に相当する役割を果たす。
【００５２】
本ルーチンが起動されると、まず、ステップ５０１で、減速時や最高速、過回転防止などによる全気筒燃料カット要求が発生しているか否かを判定し、全気筒燃料カット要求が発生していなければ、ステップ５０３に進み、図１１のテーブルを用いて、休止気筒判別カウンタＣinj2の値を減筒運転実行値ＦＣＬＢに変換する。尚、休止気筒判別カウンタＣinj2は、減筒運転中に燃料噴射をカットする休止気筒を判別するためのカウンタであり、後述するステップ５１９でインクリメントされる。
【００５３】
そして、次のステップ５０４で、トラクション制御用ルーチン（図示せず）で算出されたエンジントルク低減率ＴＲに基づいて要求休止気筒数ＦＣＬを次式により算出する。
ＦＣＬ＝１２×ＴＲ／１００
【００５４】
この後、ステップ５０５に進み、要求休止気筒数ＦＣＬが１以上であるか否かを判定し、１以上であれば、ステップ５０６に進み、減筒運転フラグＸＰＦＣを減筒運転実行を意味する「１」にセットしてステップ５０８に進む。一方、要求休止気筒数ＦＣＬが１未満である場合は、ステップ５０７に進み、減筒運転フラグＸＰＦＣを、減筒運転解除を意味する「０」にリセットしてステップ５０８に進む。
【００５５】
このステップ５０８では、要求休止気筒数ＦＣＬが上記ステップ５０３で算出した減筒運転実行値ＦＣＬＢ以上であるか否かを判定する。例えば、要求休止気筒数ＦＣＬが「４」の場合、図１１のテーブルに示すように、休止気筒判別カウンタＣinj2の値が「１」，「４」，「７」，「１０」のときに、それぞれ減筒運転実行値ＦＣＬＢが「１」，「３」，「２」，「４」となり、ＦＣＬ≧ＦＣＬＢの関係が成立する。もし、ＦＣＬ≧ＦＣＬＢであれば、休止気筒の燃料噴射処理（ステップ５０９〜５１２）をカットしてステップ５０２に進み、気筒毎のＦ／Ｃ回数カウンタＣＦＣ＃（ここで、＃は気筒Ｎｏ．を意味し、後述する気筒判別カウンタＣinj の値が用いられる）をインクリメントした後、ステップ５１３に進む。
【００５６】
一方、ステップ５０８で、ＦＣＬ＜ＦＣＬＢと判定された場合は、ステップ５０９以降の燃料噴射処理を次のようにして実施する。まず、ステップ５０９で、図１２のテーブルを用いて、気筒毎のＦ／Ｃ回数カウンタＣＦＣ＃に応じてＦ／Ｃ補正量ＴＦＣを算出した後、ステップ５１０に進み、気筒毎のＦ／Ｃ回数カウンタＣＦＣ＃を「０」にクリアする。この後、ステップ５１１に進み、燃料噴射量ＴＡＵにバッテリ電圧補正量ＴＢとＦ／Ｃ補正量ＴＦＣを加算して最終噴射時間Ｔinj を算出する。
Ｔinj ＝ＴＡＵ＋ＴＢ＋ＴＦＣ
【００５７】
この後、ステップ５１２に進み、最終噴射時間Ｔinj に応じたパルス幅の噴射信号を燃料噴射弁２０へ出力して燃料を噴射する。
この後、ステップ５１３に進み、次に本ルーチンを実行する噴射開始時期を次式により算出して、噴射開始時期レジスタにセットする。
0004453060.tif 000002
ここで、θIN：次の噴射開始気筒の吸気開始クランク角
θn ：現在のクランク角
ｔi ：燃料噴射弁２０の噴霧到達時間（例えば２ｍｓ）
【００５９】
この後、図１０のステップ５１４に進み、まず、ステップ５１４〜５１６で、気筒判別カウンタＣinj を１〜６の範囲でインクリメントした後、続くステップ５１７〜５１９で、休止気筒判別カウンタＣinj2を１〜１２の範囲でインクリメントして、本ルーチンを終了する。
これにより、エンジントルク低減率ＴＲに基づいて算出された要求休止気筒数ＦＣＬ分の気筒の燃料噴射をカットして減筒運転を実施する。
【００６１】
一方、図９のステップ５０１で、全気筒燃料カット要求有りと判定されている期間中は、毎回、ステップ５０１→ステップ５０２→ステップ５１３と進み、全気筒に対して燃料カットを実施する。
【００６２】
以上説明した本実施形態によれば、吸入空気量（排出ガス流量）が少ないときは、リッチスパイク制御を実施しても、ＮＯｘ触媒２４の吸蔵ＮＯｘを十分に還元浄化することができないことを考慮して、アイドル運転、減速運転、低回転・低負荷運転などの吸入空気量が少ない運転状態のときにリッチスパイク制御を禁止するようにしたので、リッチスパイク制御によって得られるＮＯｘ浄化効果が少ないときには、仮に、他のリッチスパイク制御実施条件が成立しても、リッチスパイク制御が実施せずに済み、リッチスパイク制御によるトルク変動、排気エミッション悪化、燃費悪化等の悪影響を回避することができる。しかも、ＮＯｘ触媒２４で吸蔵ＮＯｘを効率良く還元浄化できる運転状態のときのみに、リッチスパイク制御が実施されるため、リッチスパイク制御によるＮＯｘ浄化効果も高めることができる。
【００６３】
また、燃料カット中は、リッチスパイク制御の実施指令が出されても、実際にリッチスパイク制御を実施することはできない。また、燃料カット終了直後、つまり、燃料噴射再開直後は、燃焼状態が十分に安定していないため、この時期にリッチスパイク制御を実施すると、燃焼状態が不安定になってドライバビリティや排気エミッションが悪化するおそれがある。
【００６４】
このような事情を考慮して、本実施形態では、燃料カット中及び燃料カット終了から所定期間、リッチスパイク制御を禁止するようにしたので、燃料カット中に、無駄なリッチスパイク制御の実施指令を出力することを防止できると共に、燃料カット終了直後の燃焼状態が安定しない時期にリッチスパイク制御を行うことを防止できて、ドライバビリティや排気エミッションの悪化を防止することができる。
【００６５】
更に、本実施形態では、減筒運転中は、リッチスパイク制御を実施しても、ＮＯｘ触媒２４に流れる排出ガスの空燃比が十分にリッチにならず、ＮＯｘを十分に還元浄化することができないことを考慮して、減筒運転中に、リッチスパイク制御を禁止するようにしたので、吸蔵ＮＯｘを十分に還元浄化することができない減筒運転中にも無駄なリッチスパイク制御を行うことを防止することができ、リッチスパイク制御を効率良く実施することができる。
尚、本発明は、減筒運転を実施しないシステムに適用しても良く、この場合、図７のステップ３０５の処理を省略すれば良い。
【００６７】
また、本実施形態では、リッチスパイク禁止条件が成立している期間中（リッチスパイク制御禁止期間中）に、他のリッチスパイク制御実行条件が成立してもリッチスパイク制御が実施されない。この場合、リッチスパイク禁止条件が不成立となってリッチスパイク制御の禁止が解除された時点で、再度、他のリッチスパイク制御実行条件が成立しているか否かを判定し、他のリッチスパイク制御実行条件が成立していれば、リッチスパイク制御を実施するようにしても良い。或は、リッチスパイク禁止条件が成立している期間中に、他のリッチスパイク制御実行条件が成立したときは、リッチスパイク制御の実施を遅延させ、リッチスパイク禁止条件が不成立となってリッチスパイク制御の禁止が解除された時点、又は、リッチスパイク禁止条件が不成立となるのに十分な時間が経過した時点で、リッチスパイク制御を実施するようにしても良い。
【００６８】
その他、本発明は、リーンバーンエンジン以外に、筒内噴射エンジン等、リッチスパイク制御によって吸蔵ＮＯｘを還元浄化する必要がある触媒を備えたエンジンに適用することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態を示すエンジン制御システム全体の概略構成図
【図２】燃料噴射量設定ルーチンの処理の流れを示すフローチャート
【図３】目標空燃比設定ルーチンの処理の流れを示すフローチャート
【図４】リッチ運転時間ＴＲの算出マップを概念的に示す図
【図５】目標空燃比ＡＦＴＧの算出マップを概念的に示す図
【図６】空燃比と周期カウンタの挙動を示すタイムチャート
【図７】リッチスパイク禁止ルーチンの処理の流れを示すフローチャート
【図８】燃料カット制御ルーチンの処理の流れを示すフローチャート
【図９】減筒運転制御ルーチンの処理の流れを示すフローチャート（その１）
【図１０】減筒運転制御ルーチンの処理の流れを示すフローチャート（その２）
【図１１】休止気筒判別カウンタＣinj2と減筒運転実行値ＦＣＬＢのテーブルを概念的に示す図
【図１２】Ｆ／Ｃ回数カウンタＣＦＣ＃とＦ／Ｃ補正量ＴＦＣのテーブルを概念的に示す図
【符号の説明】
１１…エンジン（内燃機関）、２０…燃料噴射弁、２３…排気管（排気通路）、２４…ＮＯｘ触媒、２５…空燃比センサ、２９…ＥＣＵ（リッチスパイク禁止手段，燃料カット制御手段，減筒運転制御手段）。
【図１】
0004453060.tif 000003
【図２】
0004453060.tif 000004
【図３】
0004453060.tif 000005
【図４】
0004453060.tif 000006
【図５】
0004453060.tif 000007
【図６】
0004453060.tif 000008
【図７】
0004453060.tif 000009
【図８】
0004453060.tif 000010
【図９】
0004453060.tif 000011
【図１０】
0004453060.tif 000012
【図１１】
0004453060.tif 000013
【図１２】
0004453060.tif 000014