(57)【要約】【課題】触媒の昇温性能と燃焼の安定化との好適な両立を図れるようにした内燃機関の制御装置を提供する。【解決手段】ＣＰＵ３２は、三元触媒２２の昇温要求が生じた場合、第１の気筒＃１を、理論空燃比よりもリッチとするリッチ燃焼気筒とし、第２〜第４の気筒＃２〜＃４を、理論空燃比よりもリーンとするリーン燃焼気筒とするディザ制御を実行する。そして、ＣＰＵ３２は、各気筒における燃焼に伴う回転速度の時系列データにおいて、所定以上の変動が生じることを条件に、ディザ制御を継続しつつも、リッチ燃焼気筒のリッチ化度合いとリーン燃焼気筒のリーン化度合いとを減少させる。【選択図】図１
2018105296.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒から排出された排気を浄化対象とする触媒を備えた内燃機関を制御対象とし、
前記触媒の昇温要求が生じた場合、前記複数の気筒のうちの一部の気筒であるリーン燃焼気筒における空燃比を前記複数の気筒における空燃比の平均値に対する目標値よりもリーンに制御し、前記複数の気筒のうちの前記一部の気筒とは別の気筒であるリッチ燃焼気筒における空燃比を前記目標値よりもリッチに制御するように前記各気筒に対応する燃料噴射弁を操作するディザ制御処理と、
前記ディザ制御処理がなされているときのクランク軸の回転変動が所定以上となることを条件に、前記リーン燃焼気筒の空燃比を前記目標値よりもリーンとし前記リッチ燃焼気筒の空燃比を前記目標値よりもリッチとし前記複数の気筒における空燃比の平均値を前記目標値に維持しつつ、前記リーン燃焼気筒における空燃比と前記目標値との差、および前記リッチ燃焼気筒における空燃比と前記目標値との差を減少させる減少処理と、を実行する内燃機関の制御装置。
【請求項２】
前記減少処理を実行した後、前記回転変動が所定以上となることを条件に、前記減少処理を再度実行する請求項１記載の内燃機関の制御装置。
【請求項３】
前記減少処理は、前記回転変動が所定以上となることを条件に前記差を減少させるときの前記差の減少量を、前記回転変動が所定以上となる頻度が高い場合に低い場合よりも大きくする処理である請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記減少処理が実行された後、所定期間内に前記所定以上の前記回転変動が検知されないことを条件に、前記複数の気筒における空燃比の平均値を前記目標値に維持しつつ、前記リーン燃焼気筒における空燃比と前記目標値との差、および前記リッチ燃焼気筒における空燃比と前記目標値との差を増加させる増加処理を実行する請求項１〜３のいずれか１項に記載の内燃機関の制御装置。
【請求項５】
前記増加処理を実行した後、前記所定期間内に前記所定以上の前記回転変動が検知されないことを条件に、前記増加処理を再度実行する請求項４記載の内燃機関の制御装置。
【請求項６】
前記増加処理は、前記所定期間内に前記所定以上の前記回転変動が検知されないことを条件に前記差を増加させるときの前記差の増加量を、前記回転変動が所定以上となる頻度が低い場合に高い場合よりも大きくする請求項４または５記載の内燃機関の制御装置。
【請求項７】
前記リーン燃焼気筒における空燃比と前記目標値との差、および前記リッチ燃焼気筒における空燃比と前記目標値との差、の要求値のベース値であるベース要求値を前記内燃機関の運転状態に応じて可変設定する要求値設定処理と、
前記ベース要求値を入力とし、前記要求値がガード値以下となるように制限するガード処理と、を実行し、
前記ディザ制御処理は、前記リーン燃焼気筒の空燃比と前記目標値との差、および前記リッチ燃焼気筒の空燃比と前記目標値との差を、前記要求値に制御するものであり、
前記減少処理は、前記ガード値を減少させるものであり、
前記増加処理は、前記ガード値を前記ベース要求値に向けて増加させるものである請求項４〜６のいずれか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒から排出された排気を浄化対象とする触媒を備えた内燃機関を制御対象とする内燃機関の制御装置に関する。
【背景技術】
【０００２】
たとえば特許文献１には、４つの気筒の排気が流入する三元触媒を備えた内燃機関の制御装置が記載されている。この制御装置は、触媒の暖機（昇温）制御として、内燃機関の１つの気筒の空燃比を理論空燃比よりもリッチとするリッチ燃焼気筒とし、残りの３つの気筒の空燃比を理論空燃比よりもリーンとするリーン燃焼気筒とする、パータベーション制御（ディザ制御）を実行する。これは、リッチ燃焼気筒から排出された排気中の未燃燃料成分や不完全燃焼成分をリーン燃焼気筒から排出された排気中の酸素によって酸化させ、その酸化熱によって三元触媒の温度を上昇させることを狙ったものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−５７４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記ディザ制御を実行すると、ディザ制御に起因して各気筒における混合気の燃焼が不安定となるおそれがある。これに対し、燃焼が不安定化した場合に、燃焼を安定化させるためにディザ制御を停止するなら、触媒の温度を早期に上昇させることができない。また、触媒の温度が活性温度に達した後にディザ制御がなされるなら、燃焼が不安定化した場合に、燃焼を安定化させるためにディザ制御を停止することにより、触媒の温度を早期に上昇させることができないおそれ以外にも、触媒の温度が低下するおそれがある。
【０００５】
本発明は、そうした実情に鑑みてなされたものであり、その目的は、触媒の温度を早期に上昇させることと、燃焼の安定化との好適な両立を図れるようにした内燃機関の制御装置を提供することにある。また、本発明の目的は、ティザ制御の停止による触媒の温度低下を抑制しつつ燃焼の安定化を図ることができるようにした内燃機関の制御装置を提供することにある。要するに、本発明の目的は、触媒の昇温性能と燃焼の安定化との好適な両立を図れるようにした内燃機関の制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．内燃機関の制御装置は、複数の気筒から排出された排気を浄化対象とする触媒を備えた内燃機関を制御対象とし、前記触媒の昇温要求が生じた場合、前記複数の気筒のうちの一部の気筒であるリーン燃焼気筒における空燃比を前記複数の気筒における空燃比の平均値に対する目標値よりもリーンに制御し、前記複数の気筒のうちの前記一部の気筒とは別の気筒であるリッチ燃焼気筒における空燃比を前記目標値よりもリッチに制御するように前記各気筒に対応する燃料噴射弁を操作するディザ制御処理と、前記ディザ制御処理がなされているときのクランク軸の回転変動が所定以上となることを条件に、前記リーン燃焼気筒の空燃比を前記目標値よりもリーンとし前記リッチ燃焼気筒の空燃比を前記目標値よりもリッチとし前記複数の気筒における空燃比の平均値を前記目標値に維持しつつ、前記リーン燃焼気筒における空燃比と前記目標値との差、および前記リッチ燃焼気筒における空燃比と前記目標値との差を減少させる減少処理と、を実行する。
【０００７】
上記構成では、ディザ制御処理がなされているときに回転変動が所定以上となることを条件に、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いを減少させることにより、燃焼状態の改善を図る。しかも、このとき、ディザ制御自体は継続されるため、ディザ制御を停止する場合と比較すると、触媒の温度を早期に上昇させることや、触媒の温度の低下を抑制することができる。このため、上記構成では、触媒の温度を早期に上昇させることと、燃焼の安定化との好適な両立を図ることや、触媒の温度低下を抑制しつつ燃焼の安定化を図ることができる。すなわち、上記構成によれば、触媒の昇温性能と燃焼の安定化との好適な両立を図れる。
【０００８】
２．上記１記載の内燃機関の制御装置において、前記減少処理を実行した後、前記回転変動が所定以上となることを条件に、前記減少処理を再度実行する。
上記構成では、クランク軸の回転変動が所定以上となることを条件に、都度、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いを段階的に減少させるために、１度のみ減少させる場合と比較すると、１度の減少量を小さく設定しやすい。このため、燃焼の安定化を図りつつもリーン化度合いおよびリッチ化度合いが過度に減少補正されることを抑制できる。
【０００９】
３．上記１または２記載の内燃機関の制御装置において、前記減少処理は、前記回転変動が所定以上となることを条件に前記差を減少させるときの前記差の減少量を、前記回転変動が所定以上となる頻度が高い場合に低い場合よりも大きくする処理である。
【００１０】
上記構成では、リーン燃焼気筒のリーン化度合いの減少量およびリッチ燃焼気筒のリッチ化度合いの減少量を、回転変動の上記頻度が高い場合に低い場合よりも大きくするため、頻度によらずに減少量を一律に設定する場合と比較すると、燃焼状態の改善を図りつつも、減少量を極力小さくすることが可能となる。これは、頻度が高い場合には低い場合よりも燃焼の不安定化度合いが大きい傾向があり、燃焼の安定化を図る上では、減少量をより大きくすることが望まれる傾向があるためである。
【００１１】
４．上記１〜３のいずれか１つに記載の内燃機関の制御装置において、前記減少処理が実行された後、所定期間内に前記所定以上の前記回転変動が検知されないことを条件に、前記複数の気筒における空燃比の平均値を前記目標値に維持しつつ、前記リーン燃焼気筒における空燃比と前記目標値との差、および前記リッチ燃焼気筒における空燃比と前記目標値との差を増加させる増加処理を実行する。
【００１２】
上記構成では、所定以上の回転変動が検知されないことを条件に、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いを増加させることにより、増加させない場合と比較すると、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いを大きくすることができる。このため、増加処理を実行しない場合と比較して、燃焼の安定化を図りつつも、触媒の温度の上昇速度を高くするなど、昇温性能を高くすることができる。
【００１３】
５．上記４記載の内燃機関の制御装置において、前記増加処理を実行した後、前記所定期間内に前記所定以上の前記回転変動が検知されないことを条件に、前記増加処理を再度実行する。
【００１４】
上記構成では、所定以上の回転変動が検知されないことを条件に、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いを段階的に増加させることにより、一度のみ増加させる場合と比較すると、燃焼の安定化を図りつつもリーン化度合いおよびリッチ化度合いを極力大きくすることができる。
【００１５】
６．上記４または５記載の内燃機関の制御装置において、前記増加処理は、前記所定期間内に前記所定以上の前記回転変動が検知されないことを条件に前記差を増加させるときの前記差の増加量を、前記回転変動が所定以上となる頻度が低い場合に高い場合よりも大きくする。
【００１６】
上記構成では、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いの増加量を、回転変動の上記頻度が低い場合に高い場合よりも大きくするため、頻度によらずに増加量を一律に設定する場合と比較すると、燃焼状態の改善を図りつつも、増加量を極力大きくすることが可能となる。これは、頻度が低い場合には高い場合よりも燃焼の不安定化度合いが低い傾向があり、燃焼の安定化を図りつつも増加量をより大きくすることが可能となるためである。
【００１７】
７．上記４〜６のいずれか１つに記載の内燃機関の制御装置において、前記リーン燃焼気筒における空燃比と前記目標値との差、および前記リッチ燃焼気筒における空燃比と前記目標値との差、の要求値のベース値であるベース要求値を前記内燃機関の運転状態に応じて可変設定する要求値設定処理と、前記ベース要求値を入力とし、前記要求値がガード値以下となるように制限するガード処理と、を実行し、前記ディザ制御処理は、前記リーン燃焼気筒の空燃比と前記目標値との差、および前記リッチ燃焼気筒の空燃比と前記目標値との差を、前記要求値に制御するものであり、前記減少処理は、前記ガード値を減少させるものであり、前記増加処理は、前記ガード値を前記ベース要求値に向けて増加させるものである。
【００１８】
上記構成では、ベース要求値を内燃機関の運転状態に応じて可変設定することにより、可変設定しない場合と比較して、各運転状態において、たとえば触媒の温度を早期に上昇させる上で、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いとして適切な値をきめ細かく設定することができる。また、上記構成では、減少処理および増加処理を実行することにより、燃焼の安定化を図りつつも、実際の要求値をベース要求値に極力近づけることができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態にかかる制御装置および内燃機関を示す図。
【図２】同実施形態にかかる燃料噴射弁の操作信号の生成処理を示すブロック図。
【図３】同実施形態にかかる噴射量補正要求値の算出処理の手順を示す流れ図。
【図４】同実施形態にかかる各種カウンタの更新処理の手順を示す流れ図。
【図５】同実施形態にかかる気筒間回転変動およびサイクル間回転変動を規定するタイムチャート。
【図６】同実施形態にかかるガード値の減少処理の手順を示す流れ図。
【図７】同実施形態にかかるガード値の増加処理の手順を示す流れ図。
【図８】同実施形態にかかる噴射量補正要求値の推移を示すタイムチャート。
【図９】第２の実施形態にかかるガード値の減少処理の手順を示す流れ図。
【図１０】第３の実施形態にかかる各種カウンタの更新処理の手順を示す流れ図。
【図１１】同実施形態にかかるガード値の増加処理の手順を示す流れ図。
【発明を実施するための形態】
【００２０】
＜第１の実施形態＞
以下、内燃機関の制御装置にかかる第１の実施形態について図面を参照しつつ説明する。
【００２１】
図１に示すように、内燃機関１０は、第１の気筒＃１〜第４の気筒＃４の４つの気筒を備えている。内燃機関１０の吸気通路１２内の空気は、第１の気筒＃１〜第４の気筒＃４のそれぞれの燃焼室１４に吸入される。燃焼室１４には、燃料噴射弁１６が突出しており、燃料噴射弁１６から噴射された燃料と、吸気通路１２から燃焼室１４に吸入された空気との混合気は、点火装置１８の火花放電によって、燃焼に供される。燃焼に供された混合気は、排気として、排気通路２０に排出される。排気通路２０には、排気を浄化するための三元触媒２２が設けられている。
【００２２】
制御装置３０は、内燃機関１０を制御対象とし、その制御量（トルク、排気成分）を制御するために、燃料噴射弁１６や点火装置１８等の各種アクチュエータを操作する。制御装置３０は、制御量の制御のために、三元触媒２２の上流に設けられた空燃比センサ４０によって検出される空燃比Ａｆや、回転速度センサ４２によって検出されるクランク軸の回転速度ＮＥ、エアフローメータ４４によって検出される吸入空気量Ｇａ、水温センサ４６によって検出される水温ＴＨＷを参照する。制御装置３０は、中央処理装置（ＣＰＵ３２）およびメモリ３４を備え、メモリ３４に記憶されたプログラムをＣＰＵ３２が実行することにより、上記制御量を制御する。
【００２３】
図２に、メモリ３４に記憶されたプログラムをＣＰＵ３２が実行することにより実現される処理の一部を示す。
ベース噴射量算出処理部Ｍ１０は、回転速度ＮＥおよび負荷ＫＬに基づき、燃焼室１４における混合気の空燃比を目標値Ａｆ＊に制御するための開ループ操作量として、ベース噴射量Ｑｂを算出する。ここで、本実施形態では、目標値を理論空燃比とする。また、負荷ＫＬとして、本実施形態では、現在の回転速度ＮＥにおける燃焼室１４への充填空気量の基準値に対する実際の充填空気量の割合である負荷率を例示する。負荷率は、吸入空気量Ｇａおよび回転速度ＮＥに基づき算出される。
【００２４】
目標値設定処理部Ｍ１２は、燃焼室１４における混合気の空燃比の目標値Ａｆ＊を設定する。フィードバック処理部Ｍ１４は、空燃比センサ４０によって検出される空燃比Ａｆを目標値Ａｆ＊にフィードバック制御するための操作量ＫＡＦを算出する。本実施形態では、目標値Ａｆ＊から空燃比Ａｆを減算した値を入力とする比例要素、積分要素、および微分要素の各出力値の和を、操作量ＫＡＦとする。
【００２５】
フィードバック補正処理部Ｍ１６は、ベース噴射量Ｑｂに操作量ＫＡＦを乗算することによって、ベース噴射量Ｑｂを補正する。
要求値出力処理部Ｍ２０は、三元触媒２２の昇温要求が生じた場合、内燃機関１０の各気筒＃１〜＃４における空燃比の平均値を目標値Ａｆ＊としつつも、気筒間で空燃比を異ならせるディザ制御の噴射量補正要求値αを算出する。ここで、本実施形態にかかるディザ制御では、第１の気筒＃１を、空燃比を目標値Ａｆ＊よりもリッチとするリッチ燃焼気筒とし、第２〜第４の気筒＃２〜＃４を、空燃比を目標値Ａｆ＊よりもリーンとするリーン燃焼気筒とする。そして、リッチ燃焼気筒における噴射量を、上記フィードバック補正処理部Ｍ１６の出力値の「１＋α」倍とし、リーン燃焼気筒における噴射量を、同出力値の「１−（α／３）」倍とする。
【００２６】
補正係数算出処理部Ｍ２２では、「１」に、噴射量補正要求値αを加算して、第１の気筒＃１に関し、フィードバック補正処理部Ｍ１６の出力値の補正係数を算出する。乗算処理部Ｍ２４では、噴射量補正要求値αを「−１／３」倍し、補正係数算出処理部Ｍ２６では、「１」に、乗算処理部Ｍ２４の出力値を加算して、第２〜第４の気筒＃２〜＃４に関し、フィードバック補正処理部Ｍ１６の出力値の補正係数を算出する。
【００２７】
ディザ補正処理部Ｍ２８は、フィードバック補正処理部Ｍ１６の出力値に補正係数「１＋α」を乗算することによって、第１の気筒＃１の噴射量指令値Ｑ＊を算出する。ディザ補正処理部Ｍ３０は、フィードバック補正処理部Ｍ１６の出力値に補正係数「１−（α／３）」を乗算することによって、第２〜第４の気筒＃２〜＃４の噴射量指令値Ｑ＊を算出する。
【００２８】
操作信号生成処理部Ｍ３２は、噴射量指令値Ｑ＊に基づき、各燃料噴射弁１６の操作信号ＭＳ１を生成して、対応する燃料噴射弁１６に出力し、各燃料噴射弁１６から噴射される燃料量が噴射量指令値Ｑ＊となるように各燃料噴射弁１６を操作する。
【００２９】
次に、図３〜図７を用いて、要求値出力処理部Ｍ２０の処理について説明する。
図３は、噴射量補正要求値αの算出処理の手順を示す。図３に示す処理は、メモリ３４に記憶されたプログラムをＣＰＵ３２が所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、ステップ番号を表現する。
【００３０】
図３に示す一連の処理において、ＣＰＵ３２は、まずフラグＦ１が「１」であるか否かを判定する（Ｓ１０）。フラグＦ１は、ディザ制御を実行するときに「１」となり、実行しないときに「０」となる。ＣＰＵ３２は、フラグＦ１が「０」であると判定する場合（Ｓ１０：ＮＯ）、水温ＴＨＷが所定温度Ｔｗｔｈ以下であることと、内燃機関１０の始動からの吸入空気量Ｇａの積算値ＩｎＧが第１閾値ＩｎｔｈＬ以上であることとの論理積が真であるか否かを判定する（Ｓ１２）。この処理は、ディザ制御の実行条件が成立したか否かを判定するためのものである。ここで、水温ＴＨＷが所定温度Ｔｗｔｈ以下である旨の条件は、内燃機関１０の冷間始動時であって三元触媒２２の昇温要求があると判定するための条件である。一方、積算値ＩｎＧが第１閾値ＩｎｔｈＬ以上である旨の条件は、三元触媒２２の上流側の端部の温度が、触媒活性温度に達していることを判定するための条件である。これは、リッチ燃焼気筒からの排気中の未燃燃料成分や不完全燃焼成分と、リーン燃焼気筒からの排気中の酸素との反応を三元触媒２２によって促進し、効果的に三元触媒２２を昇温するための条件である。ちなみに、積算値ＩｎＧは、内燃機関１０の始動時以降において燃焼室１４において混合気が燃焼することにより生じた熱エネルギの総量と相関を有する量として利用されている。
【００３１】
ＣＰＵ３２は、論理積が真であると判定する場合（Ｓ１２：ＹＥＳ）、フラグＦ１を「１」とする（Ｓ１４）。そしてＣＰＵ３２は、上記噴射量補正要求値αのベース値であるベース補正要求値α０を算出する（Ｓ１６）。具体的には、ＣＰＵ３２は、回転速度ＮＥ、負荷ＫＬ、および水温ＴＨＷに応じて、ベース補正要求値α０を可変設定する。ここで、ＣＰＵ３２は、水温ＴＨＷが低い場合には高い場合よりも、ベース補正要求値α０を大きい値とする。これは、水温ＴＨＷが低い場合には、高い場合よりも三元触媒２２の昇温速度を高くする要求が生じるためである。また、ＣＰＵ３２は、回転速度ＮＥが低い場合に高い場合よりも、ベース補正要求値α０を大きい値に設定する。これは、回転速度ＮＥが低い場合には、単位時間当たりの燃焼サイクル数が小さくなることから、高い場合と比較して、ディザ制御による三元触媒２２の温度上昇速度が低くなることに鑑みたものである。また、ＣＰＵ３２は、負荷ＫＬが高い場合には低い場合よりも、ベース補正要求値α０を大きい値に設定する。これは、負荷ＫＬが低い場合よりも高い場合の方が、燃焼の安定性が高いため、リーン燃焼気筒のリーン化度合いとリッチ燃焼気筒のリッチ化度合いとを大きくしやすいためである。
【００３２】
そしてＣＰＵ３２は、後述する気筒間変動カウンタＣａｎが閾値Ｃａｎｔｈに到達した履歴があることと、サイクル間変動カウンタＣａｃが閾値Ｃａｃｔｈに到達した履歴があることと、の論理和が真であるか否かを判定する（Ｓ１８）。そしてＣＰＵ３２は、論理和が偽であると判定する場合（Ｓ１８：ＮＯ）、噴射量補正要求値αのガード値αｔｈを、ベース補正要求値α０とする（Ｓ２０）。この処理は、ディザ制御の開始直後において、クランク軸の回転変動が大きくならない場合、噴射量補正要求値αをベース補正要求値α０とするためのものである。
【００３３】
ＣＰＵ３２は、Ｓ２０の処理を完了する場合や、論理和が真であると判定する場合（Ｓ１８：ＹＥＳ）には、ベース補正要求値α０がガード値αｔｈよりも大きいか否かを判定する（Ｓ２２）。そしてＣＰＵ３２は、ガード値αｔｈ以下であると判定する場合（Ｓ２２：ＮＯ）、噴射量補正要求値αに、ベース補正要求値α０を代入する（Ｓ２６）。一方、ＣＰＵ３２は、ガード値αｔｈよりも大きいと判定する場合（Ｓ２２：ＹＥＳ）、噴射量補正要求値αに、ガード値αｔｈを代入する（Ｓ２４）。
【００３４】
ＣＰＵ３２は、Ｓ２４，Ｓ２６の処理が完了する場合、噴射量補正要求値αの急激な変化を抑制すべく、噴射量補正要求値αに徐変処理を施す（Ｓ２７）。なお、ＣＰＵ３２は、フラグＦ１が「０」から「１」に切り替わることにより、噴射量補正要求値αが初めて算出される場合、噴射量補正要求値αの初期値をゼロとみなす。
【００３５】
一方、ＣＰＵ３２は、フラグＦ１が「１」であると判定する場合（Ｓ１０：ＹＥＳ）、積算値ＩｎＧが、第１閾値ＩｎｔｈＬよりも大きい第２閾値ＩｎｔｈＨ以上であるか否かを判定する（Ｓ２８）。この処理は、ディザ制御の終了条件が成立するか否かを判定するものである。ここで、第２閾値ＩｎｔｈＨは、三元触媒２２が全体に渡って活性状態となるときの値に設定されている。ＣＰＵ３２は、第２閾値ＩｎｔｈＨ未満であると判定する場合（Ｓ２８：ＮＯ）、Ｓ１６の処理に移行する一方、第２閾値ＩｎｔｈＨ以上であると判定する場合（Ｓ２８：ＹＥＳ）、フラグＦ１をゼロとする（Ｓ３０）。
【００３６】
なお、ＣＰＵ３２は、Ｓ２７，Ｓ３０の処理が完了する場合や、Ｓ１２において否定判定する場合には、図３に示す一連の処理を一旦終了する。
図４に、気筒間変動カウンタＣａｎや、サイクル間変動カウンタＣａｃ等の各種カウンタの更新処理の手順を示す。図４に示す処理は、メモリ３４に記憶されたプログラムをＣＰＵ３２が、たとえば１８０°ＣＡ周期で繰り返し実行することにより実現される。
【００３７】
図４に示す一連の処理において、ＣＰＵ３２は、まず、最も最近（以下、今回）圧縮上死点となった気筒の「０〜３０°ＣＡ」の区間の回転に要した時間Ｔ３０（ｎ）と、１つ前に圧縮上死点となった気筒の「０〜３０°ＣＡ」の区間の回転に要した時間Ｔ３０（ｎ−１）との差の絶対値が閾値Ｔｔｈ１以上であるか否かを判定する（Ｓ３０）。図５には、今回、圧縮上死点となった気筒を第１の気筒＃１とする場合の時間Ｔ３０（ｎ），Ｔ３０（ｎ−１）を例示している。図４のＳ３０の処理は、燃焼行程が時系列的に前後する気筒間で燃焼に起因した回転速度に所定以上の相違（気筒間回転変動）が生じるか否かを判定する処理である。ＣＰＵ３２は、閾値Ｔｔｈ１を、回転速度ＮＥおよび負荷ＫＬに基づき可変設定する。ここで、回転速度ＮＥに応じて閾値Ｔｔｈ１を可変設定するのは、気筒間回転変動を定量化する上では、時間Ｔ３０（ｎ），Ｔ３０（ｎ−１）同士の差の大きさというより、それらのうちの一方と他方との比の大きさを評価した方が適切であるためである。このため、ＣＰＵ３２は、回転速度ＮＥが高い場合に低い場合よりも閾値Ｔｔｈ１を小さい値に設定する。また、負荷ＫＬに応じて閾値Ｔｔｈ１を可変設定するのは、ディザ制御をしていない前提で、負荷ＫＬが高い場合に低い場合よりも燃焼の安定性が高くなることに鑑みたためである。すなわち、ＣＰＵ３２は、負荷ＫＬが低い場合に高い場合よりも閾値Ｔｔｈ１を大きい値とすることにより、ディザ制御に起因しない燃焼の不安定性によって、気筒間回転変動を検知することを抑制する。
【００３８】
ＣＰＵ３２は、閾値Ｔｔｈ１以上であると判定する場合（Ｓ３０：ＹＥＳ）、気筒間回転変動の検知回数をカウントする気筒間変動カウンタＣａｎをインクリメントするとともに、回転変動が検知されなかった回数をカウントする正常燃焼カウンタＣｎを初期化する（Ｓ３２）。
【００３９】
ＣＰＵ３２は、Ｓ３２の処理を完了する場合や、Ｓ３０において否定判定する場合には、Ｓ３４の処理に移行する。ＣＰＵ３２は、Ｓ３４の処理において、今回、圧縮上死点となった気筒における「０〜９０ＡＴＤＣ」の区間の回転に要した時間Ｔ９０（ｎ）と、同気筒における１燃焼サイクル前における「０〜９０ＡＴＤＣ」の区間の回転に要した時間Ｔ９０（ｎ−１）との差の絶対値が閾値Ｔｔｈ２以上であるか否かを判定する。図５には、今回、圧縮上死点となった気筒を第１の気筒＃１とする場合の時間Ｔ９０（ｎ），Ｔ９０（ｎ−１）を例示している。図４のＳ３４の処理は、時系列的に前後する燃焼サイクルのそれぞれにおける特定の気筒での燃焼に起因した回転速度に所定以上の相違（サイクル間回転変動）が生じるか否かを判定する処理である。ＣＰＵ３２は、閾値Ｔｔｈ２を、回転速度ＮＥおよび負荷ＫＬに基づき可変設定する。ここで、閾値Ｔｔｈ２を可変設定する理由は、閾値Ｔｔｈ１を可変設定する理由と同じである。
【００４０】
ＣＰＵ３２は、閾値Ｔｔｈ２以上であると判定する場合（Ｓ３４：ＹＥＳ）、サイクル間回転変動の検知回数をカウントするサイクル間変動カウンタＣａｃをインクリメントするとともに、正常燃焼カウンタＣｎを初期化する（Ｓ３６）。
【００４１】
ＣＰＵ３２は、Ｓ３６の処理を完了する場合や、Ｓ３４において否定判定する場合には、図４に示す一連の処理の今回の制御周期において、気筒間回転変動が検知されないこととサイクル間回転変動が検知されないこととの論理積が真であるか否かを判定する（Ｓ３８）。そして、ＣＰＵ３２は、論理積が真であると判定する場合（Ｓ３８：ＹＥＳ）、正常燃焼カウンタＣｎをインクリメントする（Ｓ４０）。
【００４２】
なお、ＣＰＵ３２は、Ｓ４０の処理を完了する場合や、Ｓ３８において否定判定する場合には、図４に示す一連の処理を一旦終了する。
図６に、上記ガード値αｔｈの減少処理の手順を示す。図６に示す処理は、メモリ３４に記憶されたプログラムをＣＰＵ３２が所定の時間周期で繰り返し実行することにより実現される。
【００４３】
図６に示す一連の処理において、ＣＰＵ３２は、まず、気筒間変動カウンタＣａｎが閾値Ｃａｎｔｈ以上であることと、サイクル間変動カウンタＣａｃが閾値Ｃａｃｔｈ以上であることとの論理和が真であるか否かを判定する（Ｓ５０）。この処理は、ガード値αｔｈを減少させる条件が成立したか否かを判定するものである。ＣＰＵ３２は、論理和が真であると判定する場合（Ｓ５０：ＹＥＳ）、ガード値αｔｈを、所定量Δ１だけ減少補正する（Ｓ５２）。そして、ＣＰＵ３２は、減少補正後のガード値αｔｈが、下限値αｔｈＬよりも小さいか否かを判定する（Ｓ５４）。ここで、下限値αｔｈＬは、ゼロよりも大きい値に設定されている。ＣＰＵ３２は、下限値αｔｈＬよりも小さいと判定する場合（Ｓ５４：ＹＥＳ）、ガード値αｔｈに下限値αｔｈＬを代入する（Ｓ５６）。
【００４４】
ＣＰＵ３２は、Ｓ５６の処理が完了する場合や、Ｓ５４において否定判定する場合には、気筒間変動カウンタＣａｎおよびサイクル間変動カウンタＣａｃを初期化する（Ｓ５８）。なお、ＣＰＵ３２は、Ｓ５８の処理を完了する場合や、Ｓ５０において否定判定する場合には、図６に示す一連の処理を一旦終了する。
【００４５】
図７に、ガード値αｔｈの増加処理の手順を示す。図７に示す処理は、メモリ３４に記憶されたプログラムをＣＰＵ３２が所定の時間周期で繰り返し実行することにより実現される。
【００４６】
図７に示す一連の処理において、ＣＰＵ３２は、まずガード値αｔｈが、ベース補正要求値α０よりも小さいか否かを判定する（Ｓ６０）。そしてＣＰＵ３２は、ベース補正要求値α０よりも小さいと判定する場合（Ｓ６０：ＹＥＳ）、正常燃焼カウンタＣｎが閾値Ｃｎｔｈ以上であるか否かを判定する（Ｓ６２）。Ｓ６０，Ｓ６２の処理は、ガード値αｔｈを増加させる条件が成立したか否かを判定するためのものである。そしてＣＰＵ３２は、閾値Ｃｔｈ以上であると判定する場合（Ｓ６２：ＹＥＳ）、ガード値αｔｈを、所定量Δ２だけ増加させる（Ｓ６４）。
【００４７】
次に、ＣＰＵ３２は、ガード値αｔｈが、ベース補正要求値α０よりも大きいか否かを判定する（Ｓ６６）。そしてＣＰＵ３２は、ベース補正要求値α０よりも大きいと判定する場合（Ｓ６６：ＹＥＳ）、ガード値αｔｈに、ベース補正要求値α０を代入する（Ｓ６８）。ＣＰＵ３２は、Ｓ６８の処理が完了する場合や、Ｓ６６において否定判定する場合には、燃焼カウンタＣｎを初期化する（Ｓ７０）。
【００４８】
なお、ＣＰＵ３２は、Ｓ７０の処理が完了する場合や、Ｓ６０，Ｓ６２において否定判定する場合には、図７に示す一連の処理を一旦終了する。
ここで、本実施形態の作用を説明する。
【００４９】
図８に、気筒間変動カウンタＣａｎ、サイクル間変動カウンタＣａｃ、正常燃焼カウンタＣｎ、および噴射量補正要求値αの推移を示す。
図８に示すように、時刻ｔ１にディザ制御が開始されると、噴射量補正要求値αがベース補正要求値α０に向けて変化する。ここでは、ベース補正要求値α０が大きいために、噴射量補正要求値αの変化を制限する徐変処理によって、噴射量補正要求値αが上限変化量Δｍａｘずつ段階的に増加している例を示している。なお、図８には、噴射量補正要求値αがベース補正要求値α０に到達する時刻ｔ２まで気筒間回転変動もサイクル間回転変動も検知されない例を示している。
【００５０】
図８には、説明を簡素化するために、時刻ｔ３以降、気筒間回転変動のみが検知される例を示した。これは、気筒＃１〜＃４のうち特定の１つの気筒においてのみ燃焼サイクル毎に燃焼が不安定となっている場合に起こりうる。ただし実際には、単一の気筒において連続的に失火等に起因した回転変動が生じる場合、何らかのフェールセーフ処理が入りうる。しかし、図８に示した例では、説明の便宜上、フェールセーフ処理等が入らないこととした。
【００５１】
図８に示すように、気筒間回転変動が生じるたびに、正常燃焼カウンタＣｎは初期化される。一方、時刻ｔ４，ｔ５，ｔ６において例示するように、気筒間変動カウンタＣａｎが閾値Ｃａｎｔｈ以上となると、ガード値αｔｈが所定量Δ１だけ減少補正され、気筒間変動カウンタＣａｎが初期化される。なお、所定量Δ１は上限変化量Δｍａｘよりも小さい値に設定されている。また、時刻ｔ５においては、気筒間変動カウンタＣａｎが閾値Ｃａｎｔｈよりも大きい値となっていたのが初期化されている。これは、図６に示す処理の周期が時間周期であることに起因して生じた現象である。
【００５２】
図８には、時刻ｔ７にベース補正要求値α０が減少し、これにより、気筒間回転変動が解消される例を示している。この場合、正常燃焼カウンタＣｎが増加するものの、時刻ｔ８以前には、ベース補正要求値α０と噴射量補正要求値αとが一致するため、ガード値αｔｈが増加されない。しかし、時刻ｔ８においてベース補正要求値α０が増加すると、噴射量補正要求値α（この場合は、ガード値αｔｈ）がベース補正要求値α０よりも小さいため、ガード値αｔｈが所定量Δ２だけ増加補正され、正常燃焼カウンタＣｎが初期化される。その後、正常燃焼カウンタＣｎが再度、閾値Ｃｎｔｈ以上となることにより、ガード値αｔｈが再度所定量Δ２だけ増加される。
【００５３】
このように、本実施形態では、ディザ制御の実行中に燃焼が不安定化すると、噴射量補正要求値αを段階的に減少させることにより、燃焼状態の改善を図りつつも、ディザ制御によって三元触媒２２の昇温処理を継続する。これにより、三元触媒２２の温度を早期に上昇させることと、燃焼の安定化との好適な両立を図ることができる。
【００５４】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（１）燃焼が不安定化する都度、噴射量補正要求値αを段階的に減少させた。これにより、１度のみ減少させる場合と比較すると、１度の減少量（所定量Δ１）を小さく設定しやすい。このため、燃焼の安定化を図りつつもリーン化度合いおよびリッチ化度合いが過度に減少補正されることを抑制できる。
【００５５】
（２）正常燃焼カウンタＣｎが閾値Ｃｎｔｈ以上となることを条件に、ガード値αｔｈを増加させた。これにより、増加させない場合と比較して、燃焼の安定化を図りつつも、三元触媒２２の温度の上昇速度を高くすることができる。
【００５６】
（３）正常燃焼カウンタＣｎに基づき、ガード値αｔｈを段階的に増加させた。これにより、１度のみ増加させる場合と比較すると、燃焼の安定化を図りつつもリーン化度合いおよびリッチ化度合いを極力大きくすることができる。
【００５７】
（４）ベース補正要求値α０を内燃機関１０の運転状態に応じて可変設定し、ベース補正要求値α０にガード値αｔｈによるガード処理を施した。このように、ベース補正要求値α０を内燃機関１０の運転状態に応じて可変設定することにより、可変設定しない場合と比較して、各運転状態において、三元触媒２２の温度を早期に上昇させる上で、リーン燃焼気筒のリーン化度合いおよびリッチ燃焼気筒のリッチ化度合いとして適切な値をきめ細かく設定することができる。
【００５８】
（５）正常燃焼カウンタＣｎに基づきガード値αｔｈを増加させるときのガード値αｔｈの増加量（所定量Δ１）を、噴射量補正要求値αの変化速度を制限するための上限変化量Δｍａｘよりも小さくした。これにより、正常燃焼カウンタＣｎに基づき噴射量補正要求値αを増加させることによって燃焼が再度不安定となることを抑制することができる。
【００５９】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に、図面を参照しつつ説明する。
【００６０】
本実施形態では、リーン化度合いおよびリッチ化度合いの減少速度を、燃焼状態に応じて可変設定する。
図９に、上記ガード値αｔｈの減少処理の手順を示す。図９に示す処理は、メモリ３４に記憶されたプログラムをＣＰＵ３２が所定の時間周期で繰り返し実行することにより実現される。なお、図９において、図６に示した処理に対応する処理については、同一のステップ番号を付してその説明を省略する。
【００６１】
図９に示す一連の処理において、ＣＰＵ３２は、Ｓ５０において肯定判定する場合、ガード値αｔｈを、気筒間変動カウンタＣａｎおよびサイクル間変動カウンタＣａｃのうちの大きい方の値に応じて可変設定される所定量Δ１に応じて減少補正する（Ｓ５２ａ）。ここで、ＣＰＵ３２は、気筒間変動カウンタＣａｎおよびサイクル間変動カウンタＣａｃのうちの大きい方の値が大きい場合に小さい場合よりも、所定量Δ１を大きい値とする。そしてＣＰＵ３２は、Ｓ５２ａの処理が完了する場合、Ｓ５４の処理に移行する。
【００６２】
なおＣＰＵ３２は、Ｓ５６の処理が完了する場合や、Ｓ５４において否定判定する場合に加えて、Ｓ５０において否定判定する場合にも、Ｓ５８の処理に移行する。これにより、Ｓ５２ａの処理が実行されるときにおける気筒間変動カウンタＣａｎおよびサイクル間変動カウンタＣａｃは、図９の一連の処理の制御周期内における、気筒間回転変動やサイクル間回転変動の頻度を示す。
【００６３】
本実施形態によれば、ガード値αｔｈの減少速度を上記のように可変設定することにより、燃焼の安定度の低さに応じて、リーン化度合いおよびリッチ化度合いを減少させることができる。
【００６４】
＜第３の実施形態＞
以下、第３の実施形態について、第２の実施形態との相違点を中心に、図面を参照しつつ説明する。
【００６５】
本実施形態では、リーン化度合いおよびリッチ化度合いの増加速度についても、燃焼状態に応じて可変設定する。
図１０に、気筒間変動カウンタＣａｎや、サイクル間変動カウンタＣａｃ等の各種カウンタの更新処理の手順を示す。図１０に示す処理は、メモリ３４に記憶されたプログラムをＣＰＵ３２が、たとえば１８０°ＣＡ周期で繰り返し実行することにより実現される。なお、図１０において、図４に示した処理に対応する処理については、同一のステップ番号を付与してその説明を省略する。
【００６６】
図１０に示す一連の処理において、ＣＰＵ３２は、Ｓ３０において肯定判定する場合、気筒間変動カウンタＣａｎをインクリメントするものの、正常燃焼カウンタＣｎを初期化しない（Ｓ３２ａ）。また、ＣＰＵ３２は、Ｓ３４において肯定判定する場合、サイクル間変動カウンタＣａｃをインクリメントするものの、正常燃焼カウンタＣｎを初期化しない（Ｓ３６ａ）。こうした変更は、正常燃焼カウンタＣｎによって気筒間回転変動やサイクル間回転変動が検知されない頻度を定量化するためのものである。
【００６７】
図１１に、ガード値αｔｈの増加処理の手順を示す。図１１に示す処理は、メモリ３４に記憶されたプログラムをＣＰＵ３２が所定の時間周期で繰り返し実行することにより実現される。なお、図１１において、図７に示した処理に対応する処理については、同一のステップ番号を付与してその説明を省略する。
【００６８】
図１１に示す一連の処理において、ＣＰＵ３２は、Ｓ６２において肯定判定する場合、正常燃焼カウンタＣｎによって可変設定した所定量Δ２によって、ガード値αｔｈを増加補正する（Ｓ６４ａ）。ここで、ＣＰＵ３２は、正常燃焼カウンタＣｎが大きい場合に小さい場合よりも、所定量Δ２を大きい値に設定する。なお、ＣＰＵ３２は、Ｓ６８の処理が完了する場合や、Ｓ６６において否定判定する場合に加えて、Ｓ６０，Ｓ６２において否定判定する場合においても、Ｓ７０に移行する。これは、Ｓ６４ａの処理が実行される時点における正常燃焼カウンタＣｎを、図１１の一連の処理の制御周期内における気筒間回転変動やサイクル間回転変動が検知されない頻度とするための設定である。
【００６９】
本実施形態によれば、ガード値αｔｈの増加速度を上記のように可変設定することにより、燃焼の安定度の低さに応じて、リーン化度合いおよびリッチ化度合いを増加させることができる。
【００７０】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。
【００７１】
［１］ディザ制御処理は、噴射量補正要求値αが「０」ではないときにおける、補正係数算出処理部Ｍ２２，乗算処理部Ｍ２４，補正係数算出処理部Ｍ２６、ディザ補正処理部Ｍ２８，Ｍ３０、操作信号生成処理部Ｍ３２の処理に対応する。減少処理は、Ｓ５２，５２ａの処理に対応する。［２］減少処理は、Ｓ５２，５２ａの処理に対応する。［３］減少量の可変設定は、Ｓ５２ａの処理によって実現されている。［４］所定期間は、時系列的に隣り合う燃焼行程の出現間隔に、換言すれば、１８０°ＣＡの回転期間に対応する。すなわち、図４の処理は、１８０°ＣＡ毎になされており、その期間内に気筒間回転変動およびサイクル間回転変動が検知されない場合、正常燃焼カウンタＣｎがインクリメントされ、これに基づき、ガード値αｔｈが所定量Δ２だけ増加補正されている。これは、１８０°ＣＡの回転期間に気筒間回転変動およびサイクル間回転変動が検知されないことを条件に、ガード値αｔｈを増加させることに対応する。増加処理は、Ｓ６４，６４ａの処理に対応する。［５］増加処理は、Ｓ６４，６４ａの処理に対応する。［６］増加量の可変設定は、Ｓ６４ａの処理によって実現されている。［７］要求値設定処理は、Ｓ１６の処理に対応し、ガード処理は、Ｓ２２〜Ｓ２６の処理に対応する。なお、リーン燃焼気筒における空燃比と目標値との差の要求値は、「１−（α０／３）」に対応し、リッチ燃焼気筒における空燃比と目標値との差の要求値は、「１＋α０」に対応する。ここで、それら差の要求値は、Ｓ１６の処理においてベース補正要求値α０を設定する処理によって設定されると見なせる。
【００７２】
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
「減少処理について」
減少処理としては、気筒間変動カウンタＣａｎが閾値Ｃａｎｔｈ以上となることと、サイクル間変動カウンタＣａｃが閾値Ｃａｃｔｈ以上となることとの論理和が真となることを条件に、ガード値αｔｈを減少させるものに限らない。たとえば、気筒間変動カウンタＣａｎを用いることなくサイクル間変動カウンタＣａｃが閾値Ｃａｃｔｈ以上となることを条件にガード値αｔｈを減少させるものであってもよい。またたとえば、サイクル間変動カウンタＣａｃを用いることなく、気筒間変動カウンタＣａｎが閾値Ｃａｎｔｈ以上となることを条件にガード値αｔｈを減少させるものであってもよい。またたとえば、気筒間変動カウンタＣａｎとサイクル間変動カウンタＣａｃとを各別に備えることなく、気筒間回転変動とサイクル間回転変動との合計値が閾値以上となることを条件にガード値αｔｈを減少させるものであってもよい。
【００７３】
減少処理としては、噴射量補正要求値αを段階的に減少させるものに限らない。たとえば、回転変動が所定以上となることにより、噴射量補正要求値αを、下限値αｔｈＬに減少させるものであってもよい。ただし、この場合、回転変動が所定以上とならないことを条件に、噴射量補正要求値αを段階的に増加させる処理を実行することが望ましい。
【００７４】
図９のＳ５２ａの処理では、気筒間変動カウンタＣａｎとサイクル間変動カウンタＣａｃとのうちの大きい方の値に応じて所定量Δ１を可変設定したがこれに限らない。たとえば、気筒間変動カウンタＣａｎとサイクル間変動カウンタＣａｃとの合計値に応じて所定量Δ１を可変設定してもよい。
【００７５】
「増加処理について」
増加処理としては、気筒間回転変動が検知されないことと、サイクル間回転変動が検知されないこととの論理積が真であることを条件にインクリメントされる正常燃焼カウンタＣｎが閾値Ｃｎｔｈ以上となることを条件に、ガード値αｔｈを増加させるものに限らない。たとえば、正常燃焼カウンタＣｎを、気筒間回転変動を参照せず、サイクル間回転変動が検知されないことを条件にインクリメントされるものとしてもよい。またたとえば、正常燃焼カウンタＣｎを、サイクル間回転変動を参照せず、気筒間回転変動が検知されないことを条件にインクリメントされるものとしてもよい。
【００７６】
増加処理としては、噴射量補正要求値αを段階的に増加させるものに限らない。たとえば、第３の実施形態において、ベース補正要求値α０に変化がない状態では、噴射量補正要求値αを１度だけ増加させるものであってもよい。
【００７７】
「ベース要求値について」
ベース補正要求値α０を、回転速度ＮＥ、負荷ＫＬおよび水温ＴＨＷに基づき可変設定することは必須ではない。たとえば、回転速度ＮＥ、負荷ＫＬおよび水温ＴＨＷの３つのパラメータのうちの２つのパラメータのみに基づいて可変設定してもよく、またたとえば、３つのパラメータのうちの１つのパラメータのみに基づいて可変設定してもよい。
【００７８】
ベース補正要求値α０を上記パラメータに基づき可変設定すること自体必須ではない。ベース補正要求値α０の上記パラメータによる可変設定処理を行わない場合、ベース補正要求値α０，噴射量補正要求値α、およびガード値αｔｈを区別しなくてよい。すなわちたとえば、上記実施形態におけるガード値αｔｈの減少処理を、噴射量補正要求値αの減少処理とするなどすればよい。
【００７９】
「ディザ制御の実行条件について」
ディザ制御の実行条件としては、上記実施形態において例示したものに限らず、たとえば、三元触媒の温度を検出するセンサを備え、センサの検出値が所定温度以上且つ規定温度以下であることを実行条件としてもよい。もっとも、これに限らず、制御を簡素化することなどを狙って、内燃機関１０が冷間始動することを条件に内燃機関１０の始動時からディザ制御を実行してもよい。
【００８０】
なお、ディザ制御の実行期間としては、三元触媒が全体に渡って活性温度となるまでの期間に限らない。たとえば、三元触媒が全体に渡って活性温度となった後であっても、硫黄被毒回復処理のためにディザ制御を実行してもよい。またたとえば三元触媒の活性温度よりも高い温度領域のうち硫黄の被毒量が増加しやすい温度領域に入る場合に、その温度領域よりも三元触媒の温度を高温とすべくディザ制御を実行してもよい。またたとえば、排気管への凝縮水の付着を抑制するために排気管を昇温する要求が生じることを実行条件としてもよい。これは、たとえば、外気温が判定値以下であることと、負荷が所定値以下であることとの論理積が真であることを実行条件とすることにより実現できる。またたとえば下記の「触媒について」の欄に記載したように触媒としてＧＰＦを用いる場合において、ＧＰＦに詰まった微粒子状物質を除去する要求が生じることを実行条件としてもよい。これは、ＧＰＦの上流側の圧力と下流側の圧力との差が閾値以上であることを実行条件とすることにより実現できる。またたとえば、三元触媒の上流側の端部の温度が触媒活性温度に達している場合において、三元触媒の信頼性の低下を招くほどの過度の高温とならない限り、ディザ制御を常時実行してもよい。これらの実施例の場合、燃焼が不安化する場合にディザ制御を停止することは、必ずしも触媒の温度を早期に上昇させることの妨げとなるとは限らず、触媒の温度が低下する要因となる場合もある。そしてその場合、上記実施形態の要領でリーン化度合いやリッチ化度合いを変更することは、燃焼の安定性を確保しつつも触媒の温度の低下を抑制し昇温性能を確保することができるという技術的意義を有する。
【００８１】
「リーン燃焼気筒、リッチ燃焼気筒の数について」
上記実施形態では、リーン燃焼気筒の数をリッチ燃焼気筒の数よりも多くしたが、これに限らない。たとえば、リーン燃焼気筒の数とリッチ燃焼気筒の数とを同一としてもよい。なお、リーン燃焼気筒の数とリッチ燃焼気筒の数との合計が、内燃機関１０の気筒数に一致することも必須ではなく、たとえば、特定の気筒を、その燃焼室１４における空燃比を理論空燃比とすることにより、リーン燃焼気筒およびリッチ燃焼気筒のいずれでもない気筒としてもよい。ちなみに、下記の「内燃機関について」に記載したように、排気の浄化対象が異なる複数の触媒を備える場合にも、１つの触媒が排気を浄化対象とするリーン燃焼気筒の数とリッチ燃焼気筒の数との合計が内燃機関の気筒数よりも少なくなる。
【００８２】
「ディザ制御について」
ディザ制御処理としては、噴射量の補正量を設定するものに限らない。たとえば、ベース噴射量算出処理部Ｍ１０を、リッチ燃焼気筒とリーン燃焼気筒とで各別に備えることとしてもよい。この場合、リッチ燃焼気筒用のベース噴射量算出処理部Ｍ１０は、リッチな目標空燃比とするための開ループ操作量としてのベース噴射量Ｑｂを算出し、リーン燃焼気筒用のベース噴射量算出処理部Ｍ１０は、リーンな目標空燃比とするための開ループ操作量としてのベース噴射量Ｑｂを算出する。なお、この際、各気筒の燃焼室１４内の混合気の空燃比の平均値が目標値Ａｆ＊となるようにしてもよい。この場合、全気筒の正味の排気成分は、排気空燃比の平均値を目標値とした場合の排気成分からずれうるが、これは空燃比フィードバック制御によって補償すればよい。
【００８３】
ちなみに、対象排気の上記排気空燃比は、仮想混合気を用いて定義される。すなわち、仮想混合気を、新気および燃料のみからなって且つ燃焼させた場合に生成される排気の未燃燃料濃度（たとえばＨＣ）、不完全燃焼成分濃度（たとえばＣＯ）および酸素濃度が対象排気の未燃燃料濃度、不完全燃焼成分濃度および酸素濃度と同一となる混合気と定義し、排気空燃比を、仮想混合気の空燃比と定義する。ただし、ここで仮想混合気の燃焼には、未燃燃料濃度および不完全燃焼成分濃度と酸素濃度との少なくとも一方がゼロまたはゼロと見なせる値となる燃焼に限らず、未燃燃料濃度および不完全燃焼成分濃度と酸素濃度との双方がゼロよりも大きい状態となる燃焼も含まれることとする。また、複数の気筒の排気空燃比の平均値とは、複数の気筒から排出される排気全体を対象排気とした場合の排気空燃比のこととする。ちなみに、上記実施形態では、全気筒の排気空燃比の平均値を目標値に制御している。
【００８４】
「目標値について」
上記実施形態では、内燃機関の空燃比の平均値の目標値を理論空燃比としたが、これに限らない。たとえば、「触媒について」の欄に記載したように触媒として三元触媒を備えたＧＰＦを用いる場合、理論空燃比よりもリーンとしてもよい。なお、この場合、リーン燃焼気筒の空燃比を、理論空燃比および目標値の双方よりもリーンとし、リッチ燃焼気筒の空燃比を、理論空燃比および目標値の双方よりもリッチとする。
【００８５】
「触媒について」
触媒としては、三元触媒２２に限らない。たとえば、三元触媒を備えたガソリンパティキュレートフィルタ（ＧＰＦ）であってもよい。要は、昇温要求が生じうるものであって、リーン燃焼気筒の酸素によってリッチ燃焼気筒の未燃燃料成分や不完全燃焼成分を酸化させる際の酸化熱を利用して昇温が可能であるものであればよい。
【００８６】
「制御装置について」
制御装置としては、ＣＰＵ３２とメモリ３４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、制御装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するメモリとを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラムを記憶するメモリと、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびメモリの組や、専用のハードウェア回路は複数であってもよい。
【００８７】
「内燃機関について」
内燃機関としては、４気筒の内燃機関に限らない。たとえば直列６気筒の内燃機関であってもよい。この場合、時系列的に隣り合う燃焼行程の出現周期が１２０°ＣＡであることに鑑み、図４の処理の周期を、たとえば１２０°ＣＡとすればよい。またたとえば、Ｖ型の内燃機関等、第１の触媒と第２の触媒とを備え、それぞれによって排気が浄化される気筒が異なるものであってもよい。
【００８８】
「そのほか」
燃料噴射弁としては、燃焼室１４に燃料を噴射するものに限らず、たとえば吸気通路１２に燃料を噴射するものであってもよい。ディザ制御の実行時に空燃比フィードバック制御をすることは必須ではない。
【符号の説明】
【００８９】
１０…内燃機関、１２…吸気通路、１４…燃焼室、１６…燃料噴射弁、１８…点火装置、２０…排気通路、２２…三元触媒、３０…制御装置、３２…ＣＰＵ、３４…メモリ、４０…空燃比センサ、４２…回転速度センサ、４４…エアフローメータ、４６…水温センサ。
【図１】
2018105296.tif 000003
【図２】
2018105296.tif 000004
【図３】
2018105296.tif 000005
【図４】
2018105296.tif 000006
【図５】
2018105296.tif 000007
【図６】
2018105296.tif 000008
【図７】
2018105296.tif 000009
【図８】
2018105296.tif 000010
【図９】
2018105296.tif 000011
【図１０】
2018105296.tif 000012
【図１１】
2018105296.tif 000013