(57)【要約】【課題】特定の気筒をリーン燃焼気筒またはリーン燃焼気筒とすることにより内燃機関の回転変動が大きくなる現象が生じる動作点において、その回転変動を抑制できるようにした内燃機関の制御装置を提供する。【解決手段】ＣＰＵ３２は、所定の動作点において、気筒＃１，＃２の点火時期を残りの気筒＃３〜＃６の点火時期よりも遅角する。また、ＣＰＵ３２は、触媒暖機処理時には、気筒＃１，＃３，＃５（＃２，＃４，＃６）のうちの１つを、理論空燃比よりもリッチとするリッチ燃焼気筒とし、残りを、理論空燃比よりもリーンとするリーン燃焼気筒とするディザ制御を実行し、且つリッチ燃焼気筒を周期的に切り替える。ＣＰＵ３２は、ディザ制御の実行中に所定の動作点に入る場合、気筒＃１，＃２をリッチ燃焼気筒に固定する。【選択図】図１
2019085946.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、を備える内燃機関を制御対象とし、
前記複数の気筒のうちの一部の気筒を、空燃比が理論空燃比よりもリッチであるリッチ燃焼気筒とし、前記複数の気筒のうちの前記一部の気筒とは別の気筒を、空燃比が理論空燃比よりもリーンであるリーン燃焼気筒とすべく、前記燃料噴射弁を操作するディザ制御処理を実行し、
前記ディザ制御処理は、前記リッチ燃焼気筒とする前記一部の気筒を順次変更し、前記複数の気筒のそれぞれを順次リッチ燃焼気筒とする第１モードと、前記複数の気筒のうちの少なくとも１つの気筒を前記リッチ燃焼気筒および前記リーン燃焼気筒のいずれかに固定する第２モードとを、前記内燃機関の動作点に応じて切り替える内燃機関の制御装置。
【請求項２】
前記ディザ制御処理の実行の有無にかかわらず、前記内燃機関の所定の動作点で、前記複数の気筒のうちの少なくとも１つの気筒である特定気筒の燃焼制御のための操作量を前記複数の気筒のうちの残りの気筒の燃焼制御のための操作量に対してずらす特定気筒処理を実行し、
前記第２モードの前記ディザ制御処理を、前記所定の動作点において実行し、前記第２モードにおいて前記特定気筒を前記リッチ燃焼気筒および前記リーン燃焼気筒のいずれかに固定する請求項１記載の内燃機関の制御装置。
【請求項３】
前記特定気筒処理は、前記特定気筒の点火時期を前記残りの気筒の点火時期よりも遅角する処理であり、
前記第２モードにおいて、前記特定気筒をリッチ燃焼気筒に固定する請求項２記載の内燃機関の制御装置。
【請求項４】
前記一部の気筒を変更する場合、変更前の前記リッチ燃焼気筒のリッチ化度合いと前記変更前のリーン燃焼気筒のリーン化度合いとを徐々に小さくした後、変更後のリッチ燃焼気筒のリッチ化度合いと前記変更後のリーン燃焼気筒のリーン化度合いとを徐々に大きくする徐変処理を実行し、
前記徐変処理は、前記第１モードから前記第２モードに移行する場合、前記変更前の前記リッチ燃焼気筒のリッチ化度合いと前記変更前の前記リーン燃焼気筒のリーン化度合いとを小さくする速度を、前記第１モードにおける速度よりも大きくする処理を含む請求項１〜３のいずれか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、を備える内燃機関を制御対象とする内燃機関の制御装置に関する。
【背景技術】
【０００２】
たとえば特許文献１には、触媒装置（排気浄化装置）の昇温要求がある場合、一部の気筒を、空燃比が理論空燃比よりもリッチであるリッチ燃焼気筒とし、残りの気筒を、空燃比が理論空燃比よりもリーンであるリーン燃焼気筒とするディザ制御処理を実行する制御装置が記載されている。この制御装置は、ディザ制御処理において、リッチとされる気筒を周期的に切り替える制御を実行する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−２２３３８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、内燃機関の動作点によっては、たとえば内燃機関を含む駆動系の他のハードウェアとの位置関係や駆動系の共振周波数等の様々な要因によって、特定の気筒をリッチ燃焼気筒またはリーン燃焼気筒とすることにより、内燃機関の回転変動が大きくなる現象が生じうる。このため、こうした動作点において、リッチとされる気筒を周期的に切り替えると、特定の気筒がリッチ燃焼気筒またはリーン燃焼気筒となることにより、回転変動が顕著となるおそれがある。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．内燃機関の制御装置は、複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、を備える内燃機関を制御対象とし、前記複数の気筒のうちの一部の気筒を、空燃比が理論空燃比よりもリッチであるリッチ燃焼気筒とし、前記複数の気筒のうちの前記一部の気筒とは別の気筒を、空燃比が理論空燃比よりもリーンであるリーン燃焼気筒とすべく、前記燃料噴射弁を操作するディザ制御処理を実行し、前記ディザ制御処理は、前記リッチ燃焼気筒とする前記一部の気筒を順次変更し、前記複数の気筒のそれぞれを順次リッチ燃焼気筒とする第１モードと、前記複数の気筒のうちの少なくとも１つの気筒を前記リッチ燃焼気筒および前記リーン燃焼気筒のいずれかに固定する第２モードとを、前記内燃機関の動作点に応じて切り替える。
【０００６】
上記構成では、第２モードにおいて、少なくとも１つの気筒をリッチ燃焼気筒およびリーン燃焼気筒のいずれかに固定するため、第１モードを継続したと仮定した場合に特定の気筒をリーン燃焼気筒またはリーン燃焼気筒とすることにより内燃機関の回転変動が大きくなる現象が生じる動作点において、その回転変動を抑制できる。特に、第１モードと第２モードとを切り替えることにより、特定の気筒をリーン燃焼気筒またはリーン燃焼気筒とすることにより内燃機関の回転変動が大きくなる現象が生じる動作点以外においても不必要に少なくとも１つの気筒をリッチ燃焼気筒またはリーン燃焼気筒に固定することがない。
【０００７】
２．上記１記載の内燃機関の制御装置において、前記ディザ制御処理の実行の有無にかかわらず、前記内燃機関の所定の動作点で、前記複数の気筒のうちの少なくとも１つの気筒である特定気筒の燃焼制御のための操作量を前記複数の気筒のうちの残りの気筒の燃焼制御のための操作量に対してずらす特定気筒処理を実行し、前記第２モードの前記ディザ制御処理を、前記所定の動作点において実行し、前記第２モードにおいて前記特定気筒を前記リッチ燃焼気筒および前記リーン燃焼気筒のいずれかに固定する。
【０００８】
内燃機関と他の駆動系との配置や駆動系の共振周波数等の関係で、所定の動作点において、クランク軸の回転変動が大きくなったり、駆動系の振動が大きくなったりすることがある。その場合、上記特定気筒処理によって、特定気筒の燃焼制御のための操作量に限って残りの気筒の燃焼制御のための操作量に対してずらすことにより、回転変動や振動が抑制できることがある。ただしその場合、特定気筒については、ディザ制御処理によって、リッチ燃焼気筒またはリーン燃焼気筒とすることで、特に燃焼が悪化しやすくなるおそれがあり、ひいては回転変動が大きくなるおそれがある。そこで上記構成では、所定の動作点において、特定気筒をリッチ燃焼気筒またはリーン燃焼気筒に固定する。
【０００９】
３．上記２記載の内燃機関の制御装置において、前記特定気筒処理は、前記特定気筒の点火時期を前記残りの気筒の点火時期よりも遅角する処理であり、前記第２モードにおいて、前記特定気筒をリッチ燃焼気筒に固定する。
【００１０】
特定気筒処理によって特定気筒の点火時期を遅角する場合、特定気筒の空燃比をリーンとすることは、リーン燃焼気筒においては空燃比が理論空燃比とされる場合と比較して燃焼が悪化しやすい傾向が点火時期の遅角によって助長され、回転変動が大きくなるおそれがある。そこで上記構成では、特定気筒をリッチ燃焼気筒に固定する。
【００１１】
４．上記１〜３のいずれか１つに記載の内燃機関の制御装置において、前記一部の気筒を変更する場合、変更前の前記リッチ燃焼気筒のリッチ化度合いと前記変更前のリーン燃焼気筒のリーン化度合いとを徐々に小さくした後、変更後のリッチ燃焼気筒のリッチ化度合いと前記変更後のリーン燃焼気筒のリーン化度合いとを徐々に大きくする徐変処理を実行し、前記徐変処理は、前記第１モードから前記第２モードに移行する場合、前記変更前の前記リッチ燃焼気筒のリッチ化度合いと前記変更前の前記リーン燃焼気筒のリーン化度合いとを小さくする速度を、前記第１モードにおける速度よりも大きくする処理を含む。
【００１２】
第１モードから第２モードへの切り替えに要する時間が長い場合には、回転変動が大きくなりうる期間が長くなるおそれがある。そこで、上記構成では、第１モードから第２モードに移行する場合に、変更直前のリッチ燃焼気筒のリッチ化度合いおよびリーン燃焼気筒のリーン化度合いを小さくする速度を大きくして、回転変動が大きくなり得る期間を短縮する。
【図面の簡単な説明】
【００１３】
【図１】一実施形態にかかる制御装置および内燃機関を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の一部を示すブロック図。
【図３】同実施形態において特定気筒の点火時期を遅角させる領域を示す図。
【図４】同実施形態における特定気筒の点火時期の設定手法を示すタイムチャート。
【図５】同実施形態にかかる要求値出力処理の手順を示す流れ図。
【図６】同実施形態にかかる第１モードおよび第２モードを示すタイムチャート。
【発明を実施するための形態】
【００１４】
以下、内燃機関の制御装置にかかる一実施形態について図面を参照しつつ説明する。
図１に示す内燃機関１０は、車両に搭載され、Ｖ６型のものであり、また、吸気バルブＩＮＶの閉弁タイミングが下死点よりも遅角側となりうるものである。内燃機関１０において、吸気通路１２には、スロットルバルブ１４が設けられている。吸気通路１２から吸入された空気は吸気バルブＩＮＶの開弁に伴って気筒＃１〜＃６のそれぞれの燃焼室１６に流入する。気筒＃１〜＃６のそれぞれには、燃料を噴射する燃料噴射弁１８と、火花放電を生じさせる点火装置２０とが設けられている。燃焼室１６において、空気と燃料との混合気は、燃焼に供され、燃焼に供された混合気は、排気バルブＥＸＶの開弁に伴って、排気として、排気通路２２に排出される。排気通路２２には、酸素吸蔵能力を有した三元触媒２４が設けられている。本実施形態にかかる内燃機関１０は、気筒＃１，＃３，＃５が排出する排気を浄化する排気浄化装置と、気筒＃２，＃４，＃６が排出する排気を浄化する排気浄化装置とが互いに異なるものであるが、図１には、気筒＃２，＃４，＃６が排出する排気を浄化する排気浄化装置としての三元触媒２４を例示している。
【００１５】
制御装置３０は、内燃機関１０を制御対象とし、その制御量（トルク、排気成分等）を制御するために、スロットルバルブ１４や燃料噴射弁１８、点火装置２０等の内燃機関１０の操作部を操作する。この際、制御装置３０は、三元触媒２４の上流側に設けられた空燃比センサ４０によって検出される空燃比Ａｆや、クランク角センサ４２の出力信号Ｓｃｒ、エアフローメータ４４によって検出される吸入空気量Ｇａ、水温センサ４６によって検出される内燃機関１０の冷却水の温度（水温ＴＨＷ）を参照する。また制御装置３０は、ノッキングセンサ４８の出力信号Ｓｎや、アクセルセンサ５０によって検出されるアクセルペダルの踏み込み量（アクセル操作量ＡＣＣＰ）を参照する。制御装置３０は、ＣＰＵ３２、ＲＯＭ３４、およびＲＡＭ３６を備えており、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２が実行することにより上記制御量の制御を実行する。
【００１６】
図２に、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２が実行することにより実現される処理の一部を示す。なお、図２には、便宜上、燃料噴射弁１８の操作処理に関しては、気筒＃２，＃４，＃６の３つについての処理を明記しているが、気筒＃１，＃３，＃５に関する処理も同様の処理となる。
【００１７】
失火検出処理Ｍ１０は、出力信号Ｓｃｒに基づき、失火の有無を判定する処理である。失火検出処理Ｍ１０は、出力信号Ｓｃｒに基づき、回転変動量Δωが負の閾値以下となる場合、失火である旨の仮判定をする処理を含む。ここで、回転変動量Δωは、圧縮上死点を１回のみ含む所定角度間隔の回転速度（瞬時回転速度ω）を、圧縮上死点の出現タイミングが時系列的に隣り合う一対の気筒のうちの先に圧縮上死点が出現する気筒における値から後に圧縮上死点が出現する気筒における値を減算した値である。失火検出処理Ｍ１０は、内燃機関１０のクランク軸が所定回数回転する間に、仮判定される回数が閾値以上となる場合、失火が生じた旨の本判定をし、図１に示した警告灯５２を操作してユーザに報知する処理を含む。なお、失火検出処理Ｍ１０は、所定回数ごとに、仮判定の履歴をリセットする処理を含む。
【００１８】
点火操作処理Ｍ１１は、点火装置２０に操作信号ＭＳ３を出力し、点火装置２０による点火時期を操作する処理である。詳しくは、点火操作処理Ｍ１１は、点火時期を、原則、ＭＢＴ（Minimum advance for the Best Torque）に操作するが、ノッキングセンサ４８の出力信号Ｓｎに基づきノッキングが生じたと判定する場合、点火時期をＭＢＴよりも遅角側に操作する処理である。また、点火操作処理Ｍ１１は、クランク角センサ４２の出力信号Ｓｃｒに基づき算出された回転速度ＮＥおよび負荷率ＫＬにて規定される内燃機関１０の動作点のうち、図３に示す所定の領域Ａ１内において、図４に示すように、気筒＃１，＃２に限って点火時期を所定量Δａｆだけ遅角させる処理を含む。これは、内燃機関１０の動作点が領域Ａ１内に入る場合に内燃機関１０を含む駆動系の共振現象等によって振動が大きくなることを抑制するための設定である。本実施形態では、気筒＃１〜＃６の全てで互いに点火時期を同一として内燃機関１０を駆動した実験によって、内燃機関１０の動作点が領域Ａ１に入る場合に振動が大きくなることを見出した。また、内燃機関１０の動作点が領域Ａ１に入る場合に気筒＃１，＃２に限って点火時期を遅角することにより、振動を抑制できることを見出した。このため、点火操作処理Ｍ１１に、内燃機関１０の動作点が領域Ａ１に入る場合に気筒＃１，＃２に限って点火時期を他の気筒＃３〜＃６の点火時期よりも所定量Δａｆだけ遅角する処理を含めた。
【００１９】
これは、たとえば、ＲＯＭ３４に、回転速度ＮＥおよび負荷率ＫＬを入力変数とし、所定量Δａｆを出力変数とするマップデータを記憶しておき、ＣＰＵ３２により所定量Δａｆをマップ演算することにより実現できる。なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。ちなみに、負荷率ＫＬは、基準流入空気量に対する、１気筒の１燃焼サイクル当たりの流入空気量の比である。本実施形態では、基準流入空気量を、スロットルバルブ１４の開口度を最大としたときの１気筒の１燃焼サイクル当たりの流入空気量とする。ちなみに、基準流入空気量は、回転速度ＮＥに応じて可変設定される量としてもよい。
【００２０】
図２に戻り、ベース噴射量算出処理Ｍ１２は、回転速度ＮＥと吸入空気量Ｇａとに基づき、燃焼室１６における混合気の空燃比を目標空燃比に開ループ制御するための操作量である開ループ操作量として、ベース噴射量Ｑｂを算出する処理である。なお、目標空燃比は、たとえば理論空燃比とすればよい。
【００２１】
目標値設定処理Ｍ１４は、燃焼室１６における混合気の空燃比を上記目標空燃比に制御するためのフィードバック制御量の目標値Ａｆ＊を設定する処理である。
フィードバック処理Ｍ１６は、フィードバック制御量である空燃比Ａｆを目標値Ａｆ＊にフィードバック制御するための操作量であるフィードバック操作量ＫＡＦを算出する処理である。本実施形態では、目標値Ａｆ＊と空燃比Ａｆとの差を入力とする比例要素、積分要素、および微分要素の各出力値の和を、ベース噴射量Ｑｂの補正比率δとし、フィードバック操作量ＫＡＦを、「１＋δ」とする。
【００２２】
フィードバック補正処理Ｍ１８は、ベース噴射量Ｑｂにフィードバック操作量ＫＡＦを乗算することによってベース噴射量Ｑｂを補正し、要求噴射量Ｑｄを算出する処理である。
【００２３】
要求値出力処理Ｍ２０は、内燃機関１０の気筒＃１，＃３，＃５（＃２，＃４，＃６）のそれぞれから排出される排気全体の成分を、気筒＃１，＃３，＃５（＃２，＃４，＃６）の全てで燃焼対象とする混合気の空燃比を目標空燃比とした場合と同等としつつも、燃焼対象とする混合気の空燃比を気筒間で異ならせるディザ制御の噴射量補正要求値αを算出して出力する。ここで、本実施形態にかかるディザ制御では、気筒＃２，＃４，＃６の３つのうちの１つの気筒を、混合気の空燃比を理論空燃比よりもリッチとするリッチ燃焼気筒とし、残りの２つの気筒を、混合気の空燃比を理論空燃比よりもリーンとするリーン燃焼気筒とする。そして、リッチ燃焼気筒における噴射量を、上記要求噴射量Ｑｄの「１＋α」倍とし、リーン燃焼気筒における噴射量を、要求噴射量Ｑｄの「１−（α／２）」倍とする。リーン燃焼気筒とリッチ燃焼気筒との上記噴射量の設定によれば、気筒＃２，＃４，＃６のそれぞれに充填される空気量が同一であるなら、気筒＃２，＃４，＃６から排出される排気全体の成分を、気筒＃２，＃４，＃６の全てで燃焼対象とする混合気の空燃比を目標空燃比とした場合と同等とすることができる。なお、上記噴射量の設定によれば、気筒＃２，＃４，＃６のそれぞれに充填される空気量が同一であるなら、各気筒において燃焼対象とされる混合気の燃空比の平均値の逆数が目標空燃比となる。なお、燃空比とは、空燃比の逆数のことである。
【００２４】
補正係数算出処理Ｍ２２は、「１」に、噴射量補正要求値αを加算して、リッチ燃焼気筒に関し、要求噴射量Ｑｄの補正係数を算出する処理である。ディザ補正処理Ｍ２４は、要求噴射量Ｑｄに補正係数「１＋α」を乗算することによって、リッチ燃焼気筒とされる気筒＃ｗの噴射量指令値Ｑ＊を算出する処理である。ここで、「ｘ」は、「２，４，６」のいずれかを意味する。
【００２５】
乗算処理Ｍ２６は、噴射量補正要求値αを「−１／２」倍する処理であり、補正係数算出処理Ｍ２８は、「１」に、乗算処理Ｍ２６の出力値を加算して、リーン燃焼気筒に関し、要求噴射量Ｑｄの補正係数を算出する処理である。ディザ補正処理Ｍ３０は、要求噴射量Ｑｄに補正係数「１−（α／２）」を乗算することによって、リーン燃焼気筒とされる気筒＃ｙ，＃ｚの噴射量指令値Ｑ＊を算出する処理である。ここで、「ｙ」，「ｚ」は、「２，４，６」のいずれかであって、且つ、「ｘ」，「ｙ」，「ｚ」は、互いに異なるものとする。
【００２６】
噴射量操作処理Ｍ３２は、ディザ補正処理Ｍ２４が出力する噴射量指令値Ｑ＊に基づき、リッチ燃焼気筒とされる気筒＃ｘの燃料噴射弁１８の操作信号ＭＳ２を生成して、同燃料噴射弁１８に出力し、同燃料噴射弁１８から噴射される燃料量が噴射量指令値Ｑ＊に応じた量となるように燃料噴射弁１８を操作する。また、噴射量操作処理Ｍ３２は、ディザ補正処理Ｍ３０が出力する噴射量指令値Ｑ＊に基づき、リーン燃焼気筒とされる気筒＃ｙ，＃ｚの燃料噴射弁１８の操作信号ＭＳ２を生成して、同燃料噴射弁１８に出力し、同燃料噴射弁１８から噴射される燃料量が噴射量指令値Ｑ＊に応じた量となるように燃料噴射弁１８を操作する。
【００２７】
ベーストルク算出処理Ｍ４２は、アクセル操作量ＡＣＣＰに基づき、内燃機関１０に要求されるトルクのベース値であるベーストルクＴｒｑ０を算出する処理である。詳しくは、アクセル操作量ＡＣＣＰが大きい場合に小さい場合よりもベーストルクＴｒｑ０を大きい値に算出する処理である。
【００２８】
嵩上げトルク算出処理Ｍ４４は、噴射量補正要求値αに基づき、ベーストルクＴｒｑ０を嵩上げする嵩上げトルクΔＴｒｑを算出する処理である。詳しくは、噴射量補正要求値αがゼロの場合、嵩上げトルクΔＴｒｑは、ゼロとなり、噴射量補正要求値αが大きいほど、嵩上げトルクΔＴｒｑを大きい値とする処理である。
【００２９】
要求トルク算出処理Ｍ４６は、ベーストルクＴｒｑ０に嵩上げトルクΔＴｒｑを加算することによって、内燃機関１０に対する要求トルクＴｒｑ＊を算出する処理である。
スロットル操作処理Ｍ４８は、要求トルクＴｒｑ＊に基づき、スロットルバルブ１４の開口度を操作すべく、操作信号ＭＳ１を生成してスロットルバルブ１４に出力する処理である。詳しくは、要求トルクＴｒｑ＊が大きい場合に小さい場合よりもスロットルバルブ１４の開口度を大きい値に操作する処理である。本実施形態にかかるスロットル操作処理Ｍ４８は、ディザ制御を実行していない前提で、要求トルクＴｒｑ＊とするうえで必要なスロットルバルブ１４の開口度を設定する処理となっている。そのため、ディザ制御が実行される場合には、全ての気筒の空燃比を同一とする場合よりもトルクが低下することから、嵩上げトルクΔＴｒｑを用いて、要求トルクＴｒｑ＊を嵩上げしている。すなわち、嵩上げトルクΔＴｒｑは、ディザ制御が実行されているときに、スロットル操作処理Ｍ４８によって、ベーストルクＴｒｑ０とするうえで必要なスロットルバルブ１４の開口度に操作することが可能となるように設けられたものである。ちなみに、ディザ制御を実行する場合に実行しない場合よりもトルクが低下するのは、リッチ燃焼気筒において要求噴射量Ｑｄを増量補正することによるトルクの増加量よりもリーン燃焼気筒において要求噴射量Ｑｄを減量補正することによるトルクの減少量の方が大きいためである。
【００３０】
要求値出力処理Ｍ２０は、三元触媒２４の暖機要求が生じる場合に、噴射量補正要求値αをゼロよりも大きい値とする。ここで、暖機要求の実行要求に応じるディザ制御は、リーン燃焼気筒から排出される酸素とリッチ燃焼気筒から排出される未燃燃料との三元触媒２４における反応熱によって三元触媒２４を昇温する処理である。
【００３１】
図５に、要求値出力処理Ｍ２０の手順を示す。図５に示す処理は、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２がたとえば所定の時間周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、ステップ番号を表現する。
【００３２】
図５に示す一連の処理において、ＣＰＵ３２は、まず、三元触媒２４の暖機要求が生じているか否かを判定する（Ｓ１０）。ここで、三元触媒２４の暖機要求は、内燃機関１０の始動からの吸入空気量Ｇａの積算値ＩｎＧａが第１規定値Ｉｎｔｈ１以上である旨の条件（ア）と、積算値ＩｎＧａが第２規定値Ｉｎｔｈ２以下であって且つ水温ＴＨＷが所定温度ＴＨＷｔｈ以下である旨の条件（イ）との論理積が真である場合に生じるものとする。なお、条件（ア）は、三元触媒２４の上流側の端部の温度が活性温度となっていると判定される条件である。また、条件（イ）は、三元触媒２４の全体が未だ活性状態とはなっていないと判定される条件である。
【００３３】
ＣＰＵ３２は、論理和が真であると判定する場合（Ｓ１０：ＹＥＳ）、噴射量補正要求値αのベースとなるベース要求値α０を、回転速度ＮＥおよび負荷率ＫＬに基づき算出する（Ｓ１２）。詳しくは、ＲＯＭ３４に、回転速度ＮＥおよび負荷率ＫＬを入力変数とし、ベース要求値α０を出力変数とするマップデータを記憶しておき、ＣＰＵ３２によりベース要求値α０をマップ演算すればよい。なお、図５には、変数ｎを記載している。変数ｎは、ベース要求値α０等の時系列データのうちの特定のデータを指定するためのものであり、以下では、図３の一連の処理の制御周期の今回の制御周期において算出されるデータを「ｎ」とし、前回の制御周期において算出されるデータを「ｎ−１」と記載する。
【００３４】
次にＣＰＵ３２は、内燃機関１０の動作点が図３に示した領域Ａ１に入ったか否かを判定する（Ｓ１４）。ＣＰＵ３２は、領域Ａ１に入っていないと判定する場合（Ｓ１４：ＮＯ）、噴射量補正要求値αの徐変速度を規定する徐変量Δに、通常時徐変量ΔＬを代入する（Ｓ１６）。通常時徐変量ΔＬは、徐変速度を、スロットルバルブ１４の操作によって、燃焼室１６内に充填される空気量を嵩上げトルクΔＴｒｑの変化に応じて追従遅れを十分に抑制しつつ変化させることができる速度とするための値である。
【００３５】
次にＣＰＵ３２は、ディザ制御の実行開始または気筒＃２，＃４，＃６（＃１，＃３，＃５）のうちリッチ燃焼気筒とするものを変更してからの経過時間が、周期Ｔ１から徐変時間ΔＴ１を減算した値から周期Ｔ１までの期間である所定期間内の時間であるか否かを判定する（Ｓ１８）。ここで、周期Ｔ１は、内燃機関１０のクランク軸が、失火検出処理Ｍ１０によって規定される所定回数以下の規定回数だけ回転する期間に設定されている。また、徐変時間ΔＴ１は、後述のＳ２２〜Ｓ３０の処理によって、噴射量補正要求値αが徐変されてゼロとなるまでに要する時間に設定されている。ＣＰＵ３２は、所定期間内の時間であると判定する場合（Ｓ１８：ＹＥＳ）、ベース要求値α０にゼロを代入する（Ｓ２０）。
【００３６】
なお、リッチ燃焼気筒を周期Ｔ１で変更するのは、次の理由による。ディザ制御時には、リッチ燃焼気筒のトルクがリーン燃焼気筒のトルクよりも大きいことに起因して、ディザ制御を実行しない場合よりも回転変動量Δωの絶対値が大きくなる傾向がある。しかし、ユーザに感じられない程度に回転変動を抑制すべく、噴射量補正要求値αを設定していることなどから、本来、ディザ制御のみが要因となって、失火検出処理Ｍ１０において失火が生じた旨の仮判定がされることはない。ただし、様々な要因によって、たとえば、気筒＃１〜＃６のうちの特定の気筒のみ、狙いとする空燃比よりもわずかにリーンとなる事態が生じうる。こうした要因としては、たとえば、燃料噴射弁１８の経年劣化によって特定の燃料噴射弁１８のみ、噴射量指令値Ｑ＊に対してわずかに少ない燃料を噴射するというものが考えられる。その場合、その気筒がリーン燃焼気筒とされ、圧縮上死点がその気筒に続いて出現する気筒がリッチ燃焼気筒となる場合、回転変動量Δωが閾値以下となりうるため、失火検出処理Ｍ１０によって失火が生じた旨の誤判定がなされるおそれがある。この問題に対し、失火検出処理Ｍ１０において回転変動量Δωと比較する閾値を、ディザ制御に起因して誤判定がなされることがない値に設定することは困難である。これは、失火が生じた場合には、確実に失火である旨検出できるように閾値を設定する必要があるためである。
【００３７】
そこで本実施形態では、周期Ｔ１を、失火検出処理Ｍ１０が仮判定の回数を積算する期間の長さ以下としている。ここで、失火検出処理Ｍ１０が仮判定の回数を積算する期間と、ディザ制御の特定の周期Ｔ１の期間とが完全に一致する確率は低い。しかも、完全に一致したとしても、１つの気筒がリッチ燃焼気筒とされる期間には、徐変時間ΔＴ１が含まれることなどから、噴射量補正要求値αがベース要求値α０とされる期間自体は、周期Ｔ１よりも短い。このため、仮に、想定以上に空燃比がリーンとなる気筒がリーン燃焼気筒とされて且つそれに続いて圧縮上死点が出現する気筒がリッチ燃焼気筒となることによって失火が生じないまでも回転変動量Δωが閾値以下となりえたとしても、そうした事態となりうる期間は、失火検出処理Ｍ１０が仮判定の回数を積算する期間よりも短い。このため、失火検出処理Ｍ１０によって誤判定がなされる事態を抑制できる。
【００３８】
ＣＰＵ３２は、Ｓ２０の処理が完了する場合やＳ１８の処理において否定判定する場合、今回のベース要求値α０（ｎ）から、前回の噴射量補正要求値α（ｎ−１）を減算した値が徐変量Δよりも大きいか否かを判定する（Ｓ２２）。そしてＣＰＵ３２は、徐変量Δよりも大きいと判定する場合（Ｓ２２：ＹＥＳ）、前回の噴射量補正要求値α（ｎ−１）に徐変量Δを加算した値を、今回の噴射量補正要求値α（ｎ）に代入する（Ｓ２４）。これに対し、ＣＰＵ３２は、徐変量Δ以下であると判定する場合（Ｓ２２：ＮＯ）、前回の噴射量補正要求値α（ｎ−１）から今回のベース要求値α０（ｎ）を減算した値が徐変量Δよりも大きいか否かを判定する（Ｓ２６）。そしてＣＰＵ３２は、大きいと判定する場合（Ｓ２６：ＹＥＳ）、前回の噴射量補正要求値α（ｎ−１）から徐変量Δを減算した値を、今回の噴射量補正要求値α（ｎ）に代入する（Ｓ２８）。また、ＣＰＵ３２は、徐変量Δ以下であると判定する場合（Ｓ２６：ＮＯ）、今回の噴射量補正要求値α（ｎ）に、今回のベース要求値α０（ｎ）を代入する（Ｓ３０）。
【００３９】
一方、ＣＰＵ３２は、内燃機関１０の動作点が領域Ａ１に入っていると判定する場合（Ｓ１４：ＹＥＳ）、領域Ａ１への移行期間であるか否かを判定する（Ｓ３２）。ここで、移行期間とは、領域Ａ１に入ってから後述するＳ４４の処理によってリッチ燃焼気筒を切り替えた場合に噴射量補正要求値αがベース要求値α０となるまでに要する時間程度に設定されている。ＣＰＵ３２は、移行期間と判定する場合（Ｓ３２：ＹＥＳ）、徐変量Δに、Ａ１用徐変量ΔＨを代入する（Ｓ３４）。Ａ１用徐変量ΔＨは、通常時徐変量ΔＬよりも大きい値に設定されている。
【００４０】
ＣＰＵ３２は、Ｓ３４の処理が完了する場合や、Ｓ３２の処理において否定判定する場合には、フラグＦが「１」であるか否かを判定する（Ｓ３６）。フラグＦは、「１」である場合に、動作点が領域Ａ１に入ったことに起因してリッチ燃焼気筒を切り替える必要があって且つ切替前のリッチ燃焼気筒に対する噴射量補正要求値αがゼロよりも大きいことを示す。ＣＰＵ３２は、フラグＦが「０」であると判定する場合（Ｓ３６：ＮＯ）、現在のリッチ燃焼気筒が気筒＃１，＃２に設定されていないために切り替えが必要であることと噴射量補正要求値αがゼロよりも大きいこととの論理積が真であるか否かを判定する（Ｓ３８）。そして、ＣＰＵ３２は、論理積が真である場合（Ｓ３８：ＹＥＳ）、フラグＦに「１」を代入し（Ｓ４０）、Ｓ２０の処理に移行する。
【００４１】
一方、ＣＰＵ３２は、フラグＦが「１」であると判定する場合（Ｓ３６：ＹＥＳ）、噴射量補正要求値αがゼロであるか否かを判定する（Ｓ４２）。そしてＣＰＵ３２は、噴射量補正要求値αがゼロではないと判定する場合（Ｓ４２：ＮＯ）、Ｓ２０の処理に移行する。一方、ＣＰＵ３２は、Ｓ４２の処理において肯定判定する場合やＳ３８の処理において否定判定する場合には、気筒＃１，＃２をリッチ燃焼気筒に指定してフラグＦを「０」とし（Ｓ４４）、Ｓ２２の処理に移行する。
【００４２】
なお、ＣＰＵ３２は、Ｓ２４，Ｓ２８，Ｓ３０の処理が完了する場合、図５に示す一連の処理を一旦終了する。
ここで、本実施形態の作用および効果について説明する。
【００４３】
図６に、内燃機関１０の動作点が領域Ａ１に入らない場合のディザ制御である第１モードから、動作点が領域Ａ１に入る場合のディザ制御である第２モードへと切り替わる際の噴射量指令値Ｑ＊を示す。
【００４４】
図６に示すように、本実施形態では、第１モードにおいては、リッチ燃焼気筒を、気筒＃１（＃２）、気筒＃３（＃４）、気筒＃５（＃６）の順に切り替えていく。また、第１モードにおいては、リッチ燃焼気筒とされる気筒を、周期Ｔ１によって切り替えている。これに対し、時刻ｔ１に動作点が領域Ａ１に入ると、ＣＰＵ３２は、リッチ燃焼気筒を気筒＃１，＃２に固定するために、リッチ燃焼気筒が気筒＃１，＃４となっていない場合には（Ｓ３８：ＹＥＳ）、Ｓ２０の処理によってベース要求値α０をゼロとすることにより噴射量補正要求値αを一旦ゼロに減少させる。この際には、徐変速度がＡ１用徐変量ΔＨによって規定されるため、第１モードにおいてリッチ燃焼気筒を切り替えるために噴射量補正要求値αをゼロに徐変させる場合よりもその徐変速度が大きくなる。これにより、点火時期が所定量Δａｆだけ他の気筒よりも遅角されている気筒＃１，＃２がリーン燃焼気筒とされる期間を極力短くすることができる。リーン燃焼気筒においては、空燃比が理論空燃比とされる場合と比較して燃焼が不安定となりやすい傾向があり、点火時期が遅角されると、その傾向が助長されるおそれがある。本実施形態では、この助長されるおそれがある期間を協力短くできるため、回転変動が大きくなることを極力抑制することができる。
【００４５】
そして、ＣＰＵ３２は、時刻ｔ２に噴射量補正要求値αがゼロとなると（Ｓ４２：ＹＥＳ）、Ｓ４４の処理によって気筒＃１，＃２をリッチ燃焼気筒としつつ、噴射量補正要求値αをＡ１用徐変量ΔＨによって規定される徐変速度で上昇させる。これにより、気筒＃１，＃２をリッチ燃焼気筒に切り替えることに起因してディザ制御による昇温効果が低下することを極力抑制することができる。
【００４６】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１］排気浄化装置は、三元触媒２４に対応する。ディザ制御処理は、噴射量補正要求値αがゼロよりも大きい場合における、補正係数算出処理Ｍ２２、ディザ補正処理Ｍ２４、乗算処理Ｍ２６、補正係数算出処理Ｍ２８、ディザ補正処理Ｍ３０、噴射量操作処理Ｍ３２に対応する。第１モードは、Ｓ１４の処理において否定判定される場合のディザ制御処理に対応し、第２モードはＳ４２の処理において肯定判定されるかＳ３８の処理において否定判定される場合のディザ制御に対応する。［２］特定気筒処理は、図４に示す処理に対応し、所定の動作点は、領域Ａ１内の動作点に対応する。［４］徐変処理は、Ｓ２２〜Ｓ３０の処理に対応する。
【００４７】
＜その他の実施形態＞
本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【００４８】
・「第２モードについて」
たとえば下記「内燃機関について」の欄に記載したように、直列６気筒の内燃機関において、２個の気筒をリッチ燃焼気筒とし、残りの４個の気筒をリーン燃焼気筒とする場合であって、所定の動作点において、気筒＃１のみ点火時期を他の気筒＃２〜＃６の点火時期よりも遅角するものである場合、気筒＃１についてはディザ制御時にリッチ燃焼気筒に固定するものの、気筒＃２〜＃６のうちのいずれか１つをリッチ燃焼気筒とし、その気筒を順次変更してもよい。
【００４９】
・「徐変速度について」
上記実施形態では、領域Ａ１に入った時点でリッチ燃焼気筒が気筒＃１，＃２ではない場合、リッチ燃焼気筒が気筒＃１，＃２とされて且つ、噴射量補正要求値αがベース要求値α０となるまで徐変速度をＡ１用徐変量ΔＨによって規定したがこれに限らない。たとえば、領域Ａ１に入った時点でリッチ燃焼気筒が気筒＃１，＃２ではない場合、噴射量補正要求値αを一旦ゼロとするまでの期間において、徐変速度をＡ１用徐変量ΔＨによって規定し、それ以降は、徐変速度を通常時徐変量ΔＬによって規定してもよい。
【００５０】
上記実施形態では、第１モードから第２モードへの移行時における徐変速度を、第１モードにおける徐変速度よりも大きくしたが、これに限らず、たとえば等しくしてもよい。またたとえば、第１モードから第２モードへの移行時には、徐変処理をすることなく、気筒＃１，＃２をリッチ燃焼気筒に切り替えてもよい。
【００５１】
・「リッチ燃焼気筒を変更する狙いについて」
上記実施形態では、失火検出処理Ｍ１０による誤判定を抑制すべく、リッチ燃焼気筒を変更したが、リッチ燃焼気筒を変更することの狙いとしては、これに限らない。たとえば、リッチ燃焼気筒を固定すると、三元触媒２４のうち未燃燃料が流入する部位に偏りが生じる懸念を払拭すべく、リッチ燃焼気筒を切り替えてもよい。またたとえば、リッチ燃焼気筒の燃料噴射弁１８はリーン燃焼気筒の燃料噴射弁１８と比較して燃料が噴口付近に跳ね返ることに起因してカーボンが付着しやすいことに鑑み、リッチ燃焼気筒を切り替えてもよい。なお、こうした場合には、周期Ｔ１の設定は、上記実施形態よりも十分に長く設定してもよい。
【００５２】
・「特定気筒処理について」
特定気筒処理としては、特定気筒の点火時期を、残りの気筒の点火時期よりも遅角させる処理に限らない。たとえば、特定気筒の点火時期を、残りの気筒の点火時期よりも進角させる処理であってもよい。この場合、第２モードにおいて特定気筒をリーン燃焼気筒に固定してもよい。もっとも、特定気筒処理としては、特定気筒と残りの気筒とで点火時期を異ならせる処理に限らない。
【００５３】
なお、特定気筒処理は、第２モードを設けることにとって必須ではない。たとえば、ディザ制御を所定の動作点で実行する場合、特定気筒をリッチ燃焼気筒（リーン燃焼気筒）とすることにより、振動が顕著となるなどする場合には、特定気筒をリーン燃焼気筒（リッチ燃焼気筒）に固定すればよい。
【００５４】
・「ディザ制御処理について」
上記実施形態では、回転速度ＮＥおよび負荷率ＫＬに基づきベース要求値α０を算出したが、これに限らない。たとえば、水温ＴＨＷに応じて定まる基本値に、回転速度ＮＥおよび負荷率ＫＬから定まる補正係数Ｋを乗算した値を、ベース要求値α０としてもよい。
【００５５】
またたとえば、回転速度ＮＥおよび水温ＴＨＷ、または負荷率ＫＬおよび水温ＴＨＷの２つのパラメータのみに基づいてベース要求値α０を可変設定してもよく、またたとえば、上記３つのパラメータのうちの１つのパラメータのみに基づいてベース要求値α０を可変設定してもよい。また、たとえば内燃機関１０の動作点を特定するパラメータとして回転速度ＮＥおよび負荷率ＫＬを用いる代わりに、負荷としての負荷率ＫＬに代えて、たとえば負荷としてのアクセル操作量を用いてもよい。また、回転速度ＮＥおよび負荷に代えて、吸入空気量Ｇａに基づきベース要求値α０を可変設定してもよい。
【００５６】
噴射量補正要求値αを、内燃機関の動作点に基づき可変設定すること自体必須ではない。たとえば、触媒暖機処理時用に定められた単一の値としてもよい。
上記実施形態では、リッチ燃焼気筒の数よりもリーン燃焼気筒の数を多くしたが、これに限らない。たとえば、下記「内燃機関について」の欄に記載されているように、単一の排気浄化装置によって排気が浄化対象とされる気筒の数が偶数である場合、リッチ燃焼気筒の数とリーン燃焼気筒の数とを同一としてもよい。またたとえば、単一の排気浄化装置によって排気が浄化対象とされる全ての気筒を、リーン燃焼気筒かリッチ燃焼気筒かにするものに限らず、たとえば１つの気筒の空燃比を目標空燃比としてもよい。さらに、１燃焼サイクル内で、筒内充填空気量が同一であるなら燃空比の平均値の逆数が目標空燃比となることも必須ではない。たとえば、下記「内燃機関について」の欄に記載されているように直列４気筒の場合において、筒内充填空気量が同一であるなら、５ストロークにおける燃空比の平均値の逆数が目標空燃比となるようにしてもよく、３ストロークにおける燃空比の平均値の逆数が目標空燃比となるようにしてもよい。ただし、１燃焼サイクルにおいて、リッチ燃焼気筒とリーン燃焼気筒との双方が存在する期間が少なくとも２燃焼サイクルに１回以上は生じることが望ましい。換言すれば、所定期間において筒内充填空気量が同一であるなら燃空比の平均値の逆数を目標空燃比とする際、所定期間を２燃焼サイクル以下とすることが望ましい。ここで、たとえば所定期間を２燃焼サイクルとして２燃焼サイクルの間に１度だけリッチ燃焼気筒が存在する場合、リッチ燃焼気筒とリーン燃焼気筒との出現順序は、リッチ燃焼気筒をＲ、リーン燃焼気筒をＬとすると、たとえば「Ｒ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ」となる。この場合、所定期間よりも短い１燃焼サイクルの期間であって「Ｒ，Ｌ，Ｌ，Ｌ」となる期間が設けられており、気筒＃１〜＃４のうちの一部がリッチ燃焼気筒であり、別の気筒がリーン燃焼気筒となっている。ただし、１燃焼サイクルとは異なる期間における燃空比の平均値の逆数を目標空燃比とする場合には、内燃機関が吸気行程において一旦吸入した空気の一部を吸気バルブＩＮＶが閉弁するまでに吸気通路に吹き戻す量が無視できることが望ましい。
【００５７】
・「排気浄化装置について」
上記実施形態では、三元触媒２４を排気浄化装置としたが、これに限らない。たとえば、上流側排気浄化装置を三元触媒２４とし、下流側排気浄化装置をガソリンパティキュレートフィルタ（ＧＰＦ）として、それら２つによって排気浄化装置を構成してもよい。またたとえば、上流側排気浄化装置および下流側排気浄化装置のそれぞれを第１の三元触媒および第２の三元触媒としてもよい。また、たとえば、上流側排気浄化装置をＧＰＦとし、下流側排気浄化装置を三元触媒としてもよい。またたとえばＧＰＦのみであってもよい。ただしＧＰＦの上流に酸素吸蔵能力を有する触媒を備えない場合、ディザ制御による昇温能力を高めるうえでは、ＧＰＦに酸素吸蔵能力を付与することが望ましい。
【００５８】
・「排気の昇温要求について」
昇温要求としては、上記実施形態において例示したものに限らない。たとえば、「排気浄化装置について」の欄に記載したように、ＧＰＦを備える場合、ＧＰＦに捕集された粒子状物質を燃焼除去するためにＧＰＦを昇温する要求であってもよい。またたとえば、排気通路２２への凝縮水の付着を抑制すべく排気通路２２を昇温するためにディザ制御による排気の昇温要求を生じさせてもよい。
【００５９】
・「制御装置について」
制御装置としては、ＣＰＵ３２とＲＯＭ３４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、制御装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、１または複数のソフトウェア処理回路および１または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【００６０】
・「内燃機関について」
内燃機関としては、Ｖ型６気筒の内燃機関に限らない。たとえば直列６気筒の内燃機関や直列４気筒の内燃機関等であってもよい。この場合、全ての気筒から排出される排気が単一の排気浄化装置によって浄化され、単一の排気浄化装置によって排気が浄化対象とされる気筒の数が偶数である構成としてもよい。
【００６１】
・「そのほか」
燃料噴射弁としては、燃焼室１６に燃料を噴射するものに限らず、たとえば吸気通路１２に燃料を噴射するものであってもよい。ディザ制御の実行時に空燃比フィードバック制御をすることは必須ではない。
【符号の説明】
【００６２】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…燃焼室、１８…燃料噴射弁、２０…点火装置、２２…排気通路、２４…三元触媒、３０…制御装置、３２…ＣＰＵ、３４…ＲＯＭ、３６…ＲＡＭ、４０…空燃比センサ、４２…クランク角センサ、４４…エアフローメータ、４６…水温センサ、４８…ノッキングセンサ、５０…アクセルセンサ、５２…警告灯。
【図１】
2019085946.tif 000003
【図２】
2019085946.tif 000004
【図３】
2019085946.tif 000005
【図４】
2019085946.tif 000006
【図５】
2019085946.tif 000007
【図６】
2019085946.tif 000008