(57)【要約】【課題】ディザ制御の実行や停止の決定をより適切に行えるようにする温度推定モジュールおよび内燃機関の制御装置を提供する。【解決手段】ＣＰＵ３２は、硫黄被毒回復処理として、気筒＃１〜＃４のうちの１つを、理論空燃比よりもリッチとするリッチ燃焼気筒とし、残りを、理論空燃比よりもリーンとするリーン燃焼気筒とするディザ制御を実行する。この際、ＣＰＵ３２は、ディザ制御を実行していないと仮定した場合の三元触媒２４の温度である仮想温度を推定する。そしてＣＰＵ３２は、仮想温度が規定温度未満である場合、ディザ制御を停止する。【選択図】図１
2019070365.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、を備える内燃機関を制御対象とし、前記複数の気筒のうちの一部の気筒を、空燃比が理論空燃比よりもリーンであるリーン燃焼気筒とし、前記複数の気筒のうちの前記一部の気筒とは別の気筒を、空燃比が理論空燃比よりもリッチであるリッチ燃焼気筒とすべく、前記燃料噴射弁を操作するディザ制御処理を実行する内燃機関の制御装置に適用され、
前記ディザ制御処理の実行中に、前記内燃機関の動作点に基づき前記ディザ制御処理が実行されていないと仮定した場合の前記排気浄化装置の温度である仮想温度を推定する仮想温度推定処理と、
前記ディザ制御処理の実行中に、前記リッチ燃焼気筒の空燃比と前記リーン燃焼気筒の空燃比との差および前記内燃機関の動作点に基づき、前記排気浄化装置の実温度を推定する実温度推定処理と、を実行する温度推定モジュール。
【請求項２】
請求項１記載の温度推定モジュールを備え、前記仮想温度推定処理および前記実温度推定処理に加えて、
前記仮想温度と規定温度との大小比較の結果に応じて、前記ディザ制御処理を停止する第１停止処理を実行する内燃機関の制御装置。
【請求項３】
前記排気浄化装置は、触媒を備え、
前記仮想温度と前記規定温度との大小比較によって、前記仮想温度が前記規定温度以上であると判定されることを条件に、所定の診断処理を実行し、
前記第１停止処理は、前記所定の診断処理が実行される場合、前記ディザ制御処理を停止する処理を含む請求項２記載の内燃機関の制御装置。
【請求項４】
前記排気浄化装置の温度が前記規定温度以上であることを条件に、前記排気浄化装置の再生処理のためにディザ制御処理を実行し、
前記第１停止処理は、前記仮想温度が前記規定温度未満である場合、前記再生処理のための前記ディザ制御処理を停止する処理を含む請求項２記載の内燃機関の制御装置。
【請求項５】
前記実温度推定処理は、前記リッチ燃焼気筒の空燃比と前記リーン燃焼気筒の空燃比との差および前記内燃機関の動作点に基づき定常状態における前記実温度である定常実温度を推定する処理と、現在の前記実温度の推定値が前記定常実温度を下回る場合、時間の経過とともに前記実温度の推定値を前記定常実温度へと収束させる処理と、を含む請求項４記載の内燃機関の制御装置。
【請求項６】
前記実温度が前記規定温度よりも高い所定温度以上である場合、前記ディザ制御処理を停止する第２停止処理を実行する請求項２〜５のいずれか１項に記載の内燃機関の制御装置。
【請求項７】
前記内燃機関は、車両に搭載されるものであり、
前記実温度推定処理は、車速が高い場合に低い場合よりも前記実温度を低く推定する処理であり、
前記仮想温度推定処理は、車速が高い場合に低い場合よりも前記仮想温度を低く推定する処理である請求項２〜６のいずれか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置、および同制御装置に搭載されて好適な温度推定モジュールに関する。
【背景技術】
【０００２】
たとえば特許文献１には、触媒装置（排気浄化装置）の昇温要求がある場合、一部の気筒を、その空燃比が理論空燃比よりもリッチとなるリッチ燃焼気筒とし、残りの気筒を、その空燃比が理論空燃比よりもリーンとなるリーン燃焼気筒とするディザ制御を実行する制御装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２１８５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記ディザ制御の実行中においては、昇温対象とされる排気浄化装置の温度をモニタすべく、ディザ制御による昇温効果を反映した排気浄化装置の温度である実温度を推定することが考えられる。しかし、ディザ制御の実行中において様々な処理の実行や停止を決定する場合には、ディザ制御を実行しなかったと仮定した場合に本来、排気浄化装置の温度はどれくらいの値になりうるかといった情報を用いた方が良い場合があり、推定された実温度のみから上記実行や停止を決定したのでは、その決定を適切に行うことができないおそれがある。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．温度推定モジュールは、複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、を備える内燃機関を制御対象とし、前記複数の気筒のうちの一部の気筒を、空燃比が理論空燃比よりもリーンであるリーン燃焼気筒とし、前記複数の気筒のうちの前記一部の気筒とは別の気筒を、空燃比が理論空燃比よりもリッチであるリッチ燃焼気筒とすべく、前記燃料噴射弁を操作するディザ制御処理を実行する内燃機関の制御装置に適用され、前記ディザ制御処理の実行中に、前記内燃機関の動作点に基づき前記ディザ制御処理が実行されていないと仮定した場合の前記排気浄化装置の温度である仮想温度を推定する仮想温度推定処理と、前記ディザ制御処理の実行中に、前記リッチ燃焼気筒の空燃比と前記リーン燃焼気筒の空燃比との差および前記内燃機関の動作点に基づき、前記排気浄化装置の実温度を推定する実温度推定処理と、を実行する。
【０００６】
上記構成では、排気浄化装置の実温度を推定するのみならず、ディザ制御を実行しない場合に排気浄化装置の温度が内燃機関の動作点に応じて定まることに鑑みて仮想温度を推定している。このため、実温度のみを推定する場合と比較すると、ディザ制御の実行や停止の決定をより適切に行うことができる。
【０００７】
２．内燃機関の制御装置は、上記１記載の温度推定モジュールを備え、前記仮想温度推定処理および前記実温度推定処理に加えて、前記仮想温度と規定温度との大小比較の結果に応じて、前記ディザ制御処理を停止する第１停止処理を実行する。
【０００８】
上記構成では、第１停止処理を、仮想温度と規定温度との大小比較に応じて実行するため、内燃機関の現在の運転状態がディザ制御処理を停止するのに適切な状態であるか否かを判定してディザ制御処理を停止することができる。
【０００９】
３．上記２記載の内燃機関の制御装置において、前記排気浄化装置は、触媒を備え、前記仮想温度と前記規定温度との大小比較によって、前記仮想温度が前記規定温度以上であると判定されることを条件に、所定の診断処理を実行し、前記第１停止処理は、前記所定の診断処理が実行される場合、前記ディザ制御処理を停止する処理を含む。
【００１０】
診断処理には、排気浄化装置の触媒が活性状態となっていることなど、排気浄化装置の温度が規定温度以上であることを要求するものがある。また、診断処理には、ディザ制御処理の停止を要求するものがある。ここで、仮にこうした診断処理（所定の診断処理）について、その実行条件が成立するか否かを実温度の推定値に基づき判定する場合には、所定の診断処理の実行条件が成立したとしてディザ制御処理を停止することにより、排気浄化装置の温度が規定温度未満となるおそれがある。そして、その場合、ディザ制御処理の実行および停止のハンチングが生じるおそれがある。そこで上記構成では、所定の診断処理の実行条件が成立するか否かを仮想温度に基づき判定することにより、ハンチングが生じることを抑制できる。
【００１１】
４．上記２記載の内燃機関の制御装置において、前記排気浄化装置の温度が前記規定温度以上であることを条件に、前記排気浄化装置の再生処理のためにディザ制御処理を実行し、前記第１停止処理は、前記仮想温度が前記規定温度未満である場合、前記再生処理のための前記ディザ制御処理を停止する処理を含む。
【００１２】
上記構成では、排気浄化装置の温度が規定温度以上であることを条件に、再生処理のためにディザ制御処理を実行する。この条件によれば、規定温度を調整することにより、仮にディザ制御処理を実行したとしても排気浄化装置の温度を再生処理にとって必要な下限温度まで上昇させることができない場合にディザ制御処理が実行されることを抑制できる。ここで、仮に、ディザ制御処理の開始後には、排気浄化装置の温度が上記下限温度に満たないことを条件にディザ制御処理を停止する場合には、排気浄化装置の温度が下限温度へと到達する過程であるのか、このままディザ制御処理を継続しても下限温度に到達しないのか等の判定処理が必要となり、制御が煩雑化する。これに対し、上記構成では、第１停止処理に仮想温度を利用することにより、制御が煩雑化することを抑制できる。
【００１３】
さらに、上記構成では、ディザ制御処理を実行していない場合にディザ制御処理を実行するか否かを判定する際と、ディザ制御処理を実行しているときにディザ制御処理を停止するか否かを判定する際とに、いずれもディザ制御が実行されていない場合の温度の大きさを用いている。このため、ディザ制御処理の実行中に実温度を用いる場合と比較すると、判定値にヒステリシスを設けるなどしてディザ制御処理の実行、停止のハンチング対策を容易に実行できる。
【００１４】
５．上記４記載の内燃機関の制御装置において、前記実温度推定処理は、前記リッチ燃焼気筒の空燃比と前記リーン燃焼気筒の空燃比との差および前記内燃機関の動作点に基づき定常状態における前記実温度である定常実温度を推定する処理と、現在の前記実温度の推定値が前記定常実温度を下回る場合、時間の経過とともに前記実温度の推定値を前記定常実温度へと収束させる処理と、を含む。
【００１５】
上記構成では、リッチ燃焼気筒の空燃比とリーン燃焼気筒の空燃比との差および動作点が同一であっても、実温度が時間とともに変化する。このため、実温度が再生処理にとって必要な下限温度に満たないことを条件にディザ制御処理を停止する場合には、実温度が今後、さらに上昇するか否か等を判定する必要があり、制御が煩雑化する。このため、第１停止処理が仮想温度を用いることのメリットが特に大きい。
【００１６】
６．上記２〜５のいずれか１項に記載の内燃機関の制御装置において、前記実温度が前記規定温度よりも高い所定温度以上である場合、前記ディザ制御処理を停止する第２停止処理を実行する。
【００１７】
ディザ制御処理によって排気浄化装置を昇温した結果、排気浄化装置の温度が過度に上昇する場合には、ディザ制御処理を停止することが望ましい。この処理の判定は、実温度を用いることが適切であることから、上記構成では、第２停止処理に実温度を用いた。
【００１８】
７．上記２〜６のいずれか１つに記載の内燃機関の制御装置において、前記内燃機関は、車両に搭載されるものであり、前記実温度推定処理は、車速が高い場合に低い場合よりも前記実温度を低く推定する処理であり、前記仮想温度推定処理は、車速が高い場合に低い場合よりも前記仮想温度を低く推定する処理である。
【００１９】
内燃機関の動作点によって、排気温度および排気流量がある程度定まり、これにより、ディザ制御処理を実行しない場合の排気浄化装置の温度を把握することができる。ここで、ディザ制御処理を実行する場合、その昇温能力は、リッチ燃焼気筒の空燃比とリーン燃焼気筒の空燃比との差に応じて定まる。このため、この差と動作点とによれば、ディザ制御処理の実行時における排気浄化装置の実温度を把握することができる。ただし、排気浄化装置の実温度やディザ制御処理の実行中にディザ制御処理を実行していないと仮定した場合の仮想温度は、排気浄化装置の放熱量にも依存するため、車速に依存する。このため、たとえば、第１停止処理等の実行の可否判定を上記実温度の推定値や仮想温度の推定値によらずに動作点等に応じて行う場合には、排気浄化装置の温度の把握精度が低いことに起因して、第１停止処理等の実行の判定が誤判定となるおそれがある。このため、仮想温度の推定値や実温度の推定値に基づき判定することのメリットが特に大きい。
【図面の簡単な説明】
【００２０】
【図１】一実施形態にかかる内燃機関の制御装置および内燃機関を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の一部を示すブロック図。
【図３】同実施形態にかかる温度推定処理の手順を示す流れ図。
【図４】同実施形態にかかる診断処理の手順を示す流れ図。
【図５】同実施形態にかかる要求値出力処理の手順を示す流れ図。
【図６】同実施形態にかかる要求値出力処理の手順を示す流れ図。
【図７】同実施形態が解決する課題を示すタイムチャート。
【図８】同実施形態が解決する課題を示すタイムチャート。
【発明を実施するための形態】
【００２１】
以下、内燃機関の制御装置にかかる一実施形態について図面を参照しつつ説明する。
図１に示す内燃機関１０は、車両に搭載される。内燃機関１０において、吸気通路１２から吸入された空気は、過給機１４を介して気筒＃１〜＃４のそれぞれの燃焼室１６に流入する。気筒＃１〜＃４のそれぞれには、燃料を噴射する燃料噴射弁１８と、火花放電を生じさせる点火装置２０とが設けられている。燃焼室１６において、空気と燃料との混合気は、燃焼に供され、燃焼に供された混合気は、排気として、排気通路２２に排出される。排気通路２２のうちの過給機１４の下流には、酸素吸蔵能力を有した三元触媒２４が設けられている。
【００２２】
制御装置３０は、内燃機関１０を制御対象とし、その制御量（トルク、排気成分等）を制御するために、燃料噴射弁１８や点火装置２０等の内燃機関１０の操作部を操作する。この際、制御装置３０は、三元触媒２４の上流側に設けられた空燃比センサ４０によって検出される空燃比（上流側空燃比Ａｆｕ）や、三元触媒２４の下流側に設けられた空燃比センサ４２によって検出される空燃比（下流側空燃比Ａｆｄ）を参照する。また、制御装置３０は、クランク角センサ４４の出力信号Ｓｃｒや、エアフローメータ４６によって検出される吸入空気量Ｇａ、水温センサ４８によって検出される内燃機関１０の冷却水の温度（水温ＴＨＷ）、車速センサ５０によって検出される車速ＳＰＤを参照する。制御装置３０は、ＣＰＵ３２、ＲＯＭ３４、およびＲＡＭ３６を備えており、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２が実行することにより上記制御量の制御を実行する。
【００２３】
図２に、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２が実行することにより実現される処理の一部を示す。
ベース噴射量算出処理Ｍ１０は、クランク角センサ４４の出力信号Ｓｃｒに基づき算出された回転速度ＮＥと吸入空気量Ｇａとに基づき、燃焼室１６における混合気の空燃比を目標空燃比に開ループ制御するための操作量である開ループ操作量として、ベース噴射量Ｑｂを算出する処理である。
【００２４】
目標値設定処理Ｍ１２は、燃焼室１６における混合気の空燃比を上記目標空燃比に制御するためのフィードバック制御量の目標値Ａｆ＊を設定する処理である。
フィードバック処理Ｍ１４は、フィードバック制御量である上流側空燃比Ａｆｕを目標値Ａｆ＊にフィードバック制御するための操作量であるフィードバック操作量ＫＡＦを算出する処理である。本実施形態では、目標値Ａｆ＊と上流側空燃比Ａｆｕとの差を入力とする比例要素、積分要素、および微分要素の各出力値の和を、ベース噴射量Ｑｂの補正比率δとし、フィードバック操作量ＫＡＦを、「１＋δ」とする。
【００２５】
要求噴射量算出処理Ｍ１６は、ベース噴射量Ｑｂにフィードバック操作量ＫＡＦを乗算することによってベース噴射量Ｑｂを補正し、要求噴射量Ｑｄを算出する処理である。
要求値出力処理Ｍ１８は、内燃機関１０の気筒＃１〜＃４のそれぞれから排出される排気全体の成分を、気筒＃１〜＃４の全てで燃焼対象とする混合気の空燃比を目標空燃比とした場合と同等としつつも、燃焼対象とする混合気の空燃比を気筒間で異ならせるディザ制御の噴射量補正要求値αを算出して出力する。ここで、本実施形態にかかるディザ制御では、第１の気筒＃１〜第４の気筒＃４のうちの１つの気筒を、混合気の空燃比を理論空燃比よりもリッチとするリッチ燃焼気筒とし、残りの３つの気筒を、混合気の空燃比を理論空燃比よりもリーンとするリーン燃焼気筒とする。そして、リッチ燃焼気筒における噴射量を、上記要求噴射量Ｑｄの「１＋α」倍とし、リーン燃焼気筒における噴射量を、要求噴射量Ｑｄの「１−（α／３）」倍とする。リーン燃焼気筒とリッチ燃焼気筒との上記噴射量の設定によれば、気筒＃１〜＃４のそれぞれに充填される空気量が同一であるなら、内燃機関１０の各気筒＃１〜＃４から排出される排気全体の成分を、気筒＃１〜＃４の全てで燃焼対象とする混合気の空燃比を目標空燃比とした場合と同等とすることができる。なお、上記噴射量の設定によれば、気筒＃１〜＃４のそれぞれに充填される空気量が同一であるなら、各気筒において燃焼対象とされる混合気の燃空比の平均値の逆数が目標空燃比となる。なお、燃空比とは、空燃比の逆数のことである。
【００２６】
補正係数算出処理Ｍ２０は、「１」に、噴射量補正要求値αを加算して、リッチ燃焼気筒に関し、要求噴射量Ｑｄの補正係数を算出する処理である。ディザ補正処理Ｍ２２は、要求噴射量Ｑｄに補正係数「１＋α」を乗算することによって、リッチ燃焼気筒とされる気筒＃ｗの噴射量指令値Ｑ＊を算出する処理である。ここで、「ｗ」は、「１」〜「４」のいずれかを意味する。
【００２７】
乗算処理Ｍ２４は、噴射量補正要求値αを「−１／３」倍する処理であり、補正係数算出処理Ｍ２６は、「１」に、乗算処理Ｍ２４の出力値を加算して、リーン燃焼気筒に関し、要求噴射量Ｑｄの補正係数を算出する処理である。ディザ補正処理Ｍ２８は、要求噴射量Ｑｄに補正係数「１−（α／３）」を乗算することによって、リーン燃焼気筒とされる気筒＃ｘ，＃ｙ，＃ｚの噴射量指令値Ｑ＊を算出する処理である。ここで、「ｘ」，「ｙ」，「ｚ」は、「１」〜「４」のいずれかであって、且つ、「ｗ」，「ｘ」，「ｙ」，「ｚ」は、互いに異なるものとする。
【００２８】
噴射量操作処理Ｍ３０は、ディザ補正処理Ｍ２２が出力する噴射量指令値Ｑ＊に基づき、リッチ燃焼気筒とされる気筒＃ｗの燃料噴射弁１８の操作信号ＭＳ１を生成して、同燃料噴射弁１８に出力し、同燃料噴射弁１８から噴射される燃料量が噴射量指令値Ｑ＊に応じた量となるように燃料噴射弁１８を操作する。また、噴射量操作処理Ｍ３０は、ディザ補正処理Ｍ２８が出力する噴射量指令値Ｑ＊に基づき、リーン燃焼気筒とされる気筒＃ｘ，＃ｙ，＃ｚの燃料噴射弁１８の操作信号ＭＳ１を生成して、同燃料噴射弁１８に出力し、同燃料噴射弁１８から噴射される燃料量が噴射量指令値Ｑ＊に応じた量となるように燃料噴射弁１８を操作する。
【００２９】
硫黄被毒量算出処理Ｍ３２は、要求噴射量Ｑｄに基づき、三元触媒２４の硫黄被毒量ＤＳを算出する処理である。詳しくは、硫黄被毒量算出処理Ｍ３２は、要求噴射量Ｑｄが多い場合に少ない場合よりも硫黄被毒量ＤＳの増加量ΔＤＳを大きい量に算出し、増加量ΔＤＳを積算することにより、硫黄被毒量ＤＳを算出する処理である。
【００３０】
温度推定処理Ｍ３４は、第１触媒温度Ｔｃ１および第２触媒温度Ｔｃ２を算出する処理である。
図３に、温度推定処理Ｍ３４の手順を示す。図３に示す処理は、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によってステップ番号を表現する。
【００３１】
図３に示す一連の処理において、ＣＰＵ３２は、まず内燃機関１０の動作点を定める一対のパラメータである回転速度ＮＥおよび負荷率ＫＬに基づき、動作点に応じて定まるベース温度Ｔｂを算出する（Ｓ１０）。ここで、負荷率ＫＬは、燃焼室１６に充填される空気量を定めるパラメータであり、基準流入空気量に対する、１気筒の１燃焼サイクル当たりの流入空気量の比である。ちなみに、基準流入空気量は、回転速度ＮＥに応じて可変設定される量としてもよい。ＣＰＵ３２は、負荷率ＫＬが大きい場合に小さい場合よりもベース温度Ｔｂを高い値に算出する。また、ＣＰＵ３２は、回転速度ＮＥが大きい場合に小さい場合よりもベース温度Ｔｂを高い値に算出する。
【００３２】
詳しくは、回転速度ＮＥおよび負荷率ＫＬを入力変数としベース温度Ｔｂを出力変数とするマップデータをＲＯＭ３４に記憶しておき、ＣＰＵ３２によりベース温度Ｔｂをマップ演算する。なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００３３】
次にＣＰＵ３２は、回転速度ＮＥ、負荷率ＫＬおよび点火装置２０による放電火花の出力タイミング（点火時期）のＭＢＴ（Minimum advance for the Best Torque）からの遅角量ａｆに基づき、点火時期遅角補正量ΔＴａを算出する（Ｓ１２）。点火時期遅角補正量ΔＴａは、ベース温度Ｔｂの増加補正量であり、遅角量ａｆが大きい場合に小さい場合よりもベース温度Ｔｂをより大きい値に補正する。詳しくは、回転速度ＮＥ，負荷率ＫＬおよび遅角量ａｆを入力変数とし点火時期遅角補正量ΔＴａを出力変数とするマップデータをＲＯＭ３４に記憶しておき、ＣＰＵ３２により点火時期遅角補正量ΔＴａをマップ演算する。
【００３４】
次にＣＰＵ３２は、車速ＳＰＤに基づき、ベース温度Ｔｂを減少補正するための車速補正量ΔＴｖを算出する（Ｓ１４）。ＣＰＵ３２は、車速ＳＰＤが高い場合に低い場合よりも車速補正量ΔＴｖを大きい値とすることにより、ベース温度Ｔｂをより小さい値に補正する。詳しくは、車速ＳＰＤを入力変数とし車速補正量ΔＴｖを出力変数とするマップデータをＲＯＭ３４に記憶しておき、ＣＰＵ３２により車速補正量ΔＴｖをマップ演算すればよい。
【００３５】
次にＣＰＵ３２は、ベース温度Ｔｂを点火時期遅角補正量ΔＴａによって増加補正し、車速補正量ΔＴｖによって減少補正することによって、第１定常触媒温度Ｔｓ１を算出する（Ｓ１６）。
【００３６】
次にＣＰＵ３２は、第１触媒温度Ｔｃ１を、第１定常触媒温度Ｔｓ１に収束する温度として算出する（Ｓ１８）。詳しくは、第１定常触媒温度Ｔｓ１と第１触媒温度Ｔｃ１との指数移動平均処理によって、第１触媒温度Ｔｃ１を算出する。具体的には、ＣＰＵ３２は、第１定常触媒温度Ｔｓ１から第１触媒温度Ｔｃ１を減算した値に係数βを乗算したものと、第１触媒温度Ｔｃ１との和を、第１触媒温度Ｔｃ１に代入する。ここで、係数βは、「１」よりも小さい値である。第１触媒温度Ｔｃ１は、ディザ制御が実行されているか否かにかかわらずディザ制御が実行されていない場合の温度の推定値となっている。すなわち、第１触媒温度Ｔｃ１は、ディザ制御が実行されていない場合には、三元触媒２４の実温度の推定値となり、ディザ制御が実行されている場合には、ディザ制御が実行されていないと仮定した場合の三元触媒２４の仮想的な温度（仮想温度）の推定値となる。
【００３７】
なお、ベース温度Ｔｂの設定において述べたことから明らかなように、第１定常触媒温度Ｔｓ１や第１触媒温度Ｔｃ１は、負荷率ＫＬが大きい場合に小さい場合よりも高い値となる。また、第１定常触媒温度Ｔｓ１や第１触媒温度Ｔｃ１は、回転速度ＮＥが大きい場合に小さい場合よりも高い値となる。
【００３８】
次にＣＰＵ３２は、ディザ制御を実行しているか否かを判定する（Ｓ２０）。この処理は、噴射量補正要求値αが「０」よりも大きいか否かの判定処理となる。そしてＣＰＵ３２は、実行していると判定する場合（Ｓ２０：ＹＥＳ）、回転速度ＮＥ、負荷率ＫＬおよび噴射量補正要求値αに基づき、ベース温度Ｔｂを増加補正するディザ補正量ΔＤを算出する（Ｓ２２）。ＣＰＵ３２は、噴射量補正要求値αが大きい場合には小さい場合よりもリッチ燃焼気筒の空燃比とリーン燃焼気筒の空燃比との差が大きくなり、リッチ燃焼気筒から排出されて三元触媒２４に流入する未燃燃料の量とリーン燃焼気筒から排出されて三元触媒２４に流入する酸素の量とが大きくなることに鑑み、ディザ補正量ΔＤを大きい値とする。また、ＣＰＵ３２は、回転速度ＮＥが大きい場合には小さい場合よりも単位時間当たりの排気流量が多くなることに鑑み、ディザ補正量ΔＤを大きい値とする。また、ＣＰＵ３２は、負荷率ＫＬが大きい場合には小さい場合よりも、ディザ補正量ΔＤを小さい値とする。
【００３９】
次にＣＰＵ３２は、ベース温度Ｔｂを点火時期遅角補正量ΔＴａおよびディザ補正量ΔＤによって増加補正し、車速補正量ΔＴｖによって減少補正することによって、第２定常触媒温度Ｔｓ２を算出する（Ｓ２４）。次にＣＰＵ３２は、第２触媒温度Ｔｃ２を、第２定常触媒温度Ｔｓ２へと収束する温度として算出する（Ｓ２６）。詳しくは、第２定常触媒温度Ｔｓ２と第２触媒温度Ｔｃ２との指数移動平均処理によって、第２触媒温度Ｔｃ２を算出する。具体的には、ＣＰＵ３２は、第２定常触媒温度Ｔｓ２から第２触媒温度Ｔｃ２を減算した値に係数βを乗算したものと、第２触媒温度Ｔｃ２との和を、第２触媒温度Ｔｃ２に代入する（Ｓ２６）。第２触媒温度Ｔｃ２は、三元触媒２４の実温度の推定値である。
【００４０】
ここで、ベース温度Ｔｂの設定において述べたことから明らかなように、第２定常触媒温度Ｔｓ２や第２触媒温度Ｔｃ２は、負荷率ＫＬが大きい場合に小さい場合よりも高い値となる。また、第２定常触媒温度Ｔｓ２や第２触媒温度Ｔｃ２は、回転速度ＮＥが大きい場合に小さい場合よりも高い値となる。また、ディザ補正量ΔＤの設定から明らかなように、第２定常触媒温度Ｔｓ２や第２触媒温度Ｔｃ２は、噴射量補正要求値αが大きい場合に小さい場合よりも高い値となる。
【００４１】
なお、ＣＰＵ３２は、Ｓ２６の処理が完了する場合や、Ｓ２０において否定判定する場合には、図３に示す一連の処理を一旦終了する。
第１触媒温度Ｔｃ１や第２触媒温度Ｔｃ２は、上記要求値出力処理Ｍ１８や図２に示す診断処理Ｍ３６の入力となる。
【００４２】
図４に、診断処理Ｍ３６の手順を示す。図４に示す処理は、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２が、たとえば所定周期で繰り返し実行することにより実現される。
図４に示す一連の処理において、ＣＰＵ３２は、まず、三元触媒２４の劣化検出処理が、車両の推力を生成する原動機の駆動を許可するスイッチであるメインスイッチがオフ状態からオン状態に切り替えられた後に実行されたか否かを判定する（Ｓ３０）。ここで車両のメインスイッチとは、たとえば上記原動機が内燃機関１０のみである場合、イグニッションスイッチに相当する。ＣＰＵ３２は、未だ実行されていないと判定する場合（Ｓ３０：ＮＯ）、水温ＴＨＷが閾値ＴＨＷｔｈ以上であるか否かを判定する（Ｓ３２）。そして、ＣＰＵ３２は、閾値ＴＨＷｔｈ以上であると判定する場合（Ｓ３２：ＹＥＳ）、第１触媒温度Ｔｃ１が第１温度Ｔｃｔｈ１以上であるか否かを判定する（Ｓ３４）。この処理は、三元触媒２４の劣化の検出処理をするのに適した温度であるか否かを判定する処理である。三元触媒２４の劣化検出処理は、三元触媒２４の酸素吸蔵能力の低下を検出するものであるが、三元触媒２４の温度が低い場合には酸素吸蔵能力を発揮できないため、低温に起因して劣化していると誤判定するおそれがある。このため、劣化の検出処理の実行条件に、第１触媒温度Ｔｃ１が第１温度Ｔｃｔｈ１以上である旨の条件を加えている。
【００４３】
ＣＰＵ３２は、第１温度Ｔｃｔｈ１以上であると判定する場合（Ｓ３４：ＹＥＳ）、劣化検出処理を実行する（Ｓ３６）。ここでは、目標空燃比を理論空燃比よりもリッチとした状態からリーンとした状態に切り替えた後、下流側空燃比Ａｆｄがリーンとなるまでの時間に基づき、三元触媒２４の酸素吸蔵能力を把握すればよい。またたとえば、目標空燃比を理論空燃比よりもリーンとした状態からリッチとした状態に切り替えた後、下流側空燃比Ａｆｄがリッチとなるまでの時間に基づき、三元触媒２４の酸素吸蔵能力を把握してもよい。
【００４４】
次にＣＰＵ３２は、把握した酸素吸蔵能力の大小に基づき三元触媒２４が劣化しているか否かを判定する（Ｓ３８）。そしてＣＰＵ３２は、劣化していると判定する場合（Ｓ３８：ＹＥＳ）、ユーザに、車両を修理工場に持って行って内燃機関１０を修理してもらうように促すべく、図１に示す警告灯５２を操作して警告処理を実行する（Ｓ４０）。
【００４５】
なお、ＣＰＵ３２は、Ｓ４０の処理が完了する場合や、Ｓ３０の処理において肯定判定する場合、Ｓ３２，Ｓ３４，Ｓ３８の処理において否定判定する場合には、図４に示す一連の処理を一旦終了する。
【００４６】
図５に、要求値出力処理Ｍ１８のうち、特に、三元触媒２４の暖機処理に関する処理の手順を示す。図５に示す処理は、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２がたとえば所定周期で繰り返し実行することにより実現される。
【００４７】
図５に示す一連の処理において、ＣＰＵ３２は、まず上記メインスイッチがオフ状態からオン状態に切り替えられてからの吸入空気量Ｇａの積算値である積算空気量ＩｎＧａを算出する（Ｓ５０）。次にＣＰＵ３２は、積算空気量ＩｎＧａが第１規定値Ｉｎｔｈ１以上である旨の条件（ア）と、積算空気量ＩｎＧａが第２規定値Ｉｎｔｈ２以下である旨の条件（イ）との論理積が真であるか否かを判定する（Ｓ５２）。ここで、第２規定値Ｉｎｔｈ２は、第１規定値Ｉｎｔｈ１よりも大きい。なお、条件（ア）は、三元触媒２４の上流側の端部の温度が活性温度となっていると判定される条件である。また、条件（イ）は、三元触媒２４の全体が未だ活性状態となっていないと判定される条件である。
【００４８】
ＣＰＵ３２は、論理積が真であると判定する場合（Ｓ５２：ＹＥＳ）、三元触媒２４の劣化検出処理を実行しているときであるか否かを判定する（Ｓ５４）。この処理は、ディザ制御を禁止するか否かの判定処理である。すなわち、ディザ制御を実行する場合、ディザ制御を実行しない場合と比較して排気成分の制御性が低下することなどから、三元触媒２４の酸素吸蔵能力を評価する精度が低下するおそれがある。このため、本実施形態では、触媒劣化検出処理を実行していないことを、ディザ制御の実行を許可する条件に含めている。
【００４９】
ＣＰＵ３２は、劣化検出を実行していないと判定する場合（Ｓ５４：ＮＯ）、内燃機関の動作点に応じて噴射量補正要求値αを算出する（Ｓ５６）。ＣＰＵ３２は、内燃機関１０の動作点が図５に示す比較的低負荷の領域Ａに入らないときには、噴射量補正要求値αをゼロとする。これは、領域Ａ以外では、ディザ制御を実行しなくても排気温度がある程度高いためである。また、ＣＰＵ３２は、内燃機関１０の動作点が領域Ａに入る場合、動作点に応じて噴射量補正要求値αをゼロよりも大きい値で可変設定する。ここでは、たとえば、回転速度ＮＥが大きい場合に小さい場合よりも、単位時間当たりの排気流量が大きくなることに鑑み、噴射量補正要求値αを小さい値に設定することも可能である。またたとえば、負荷率ＫＬが大きい場合に小さい場合よりも、単位時間当たりの排気流量が大きくなることに鑑み、噴射量補正要求値αを小さい値に設定することも可能である。具体的には、ＣＰＵ３２は、回転速度ＮＥおよび負荷率ＫＬを入力変数とし噴射量補正要求値αを出力変数とするマップデータをＲＯＭ３４に記憶しておき、ＣＰＵ３２により噴射量補正要求値αをマップ演算すればよい。
【００５０】
これに対し、ＣＰＵ３２は、触媒劣化検出処理の実行中であると判定する場合（Ｓ５４：ＹＥＳ）、噴射量補正要求値αにゼロを代入する（Ｓ５８）。
なお、ＣＰＵ３２は、Ｓ５６，Ｓ５８の処理が完了する場合や、Ｓ５２の処理において否定判定する場合には、図５に示す一連の処理を一旦終了する。
【００５１】
図６に、要求値出力処理Ｍ１８のうち、特に、硫黄被毒回復処理に関する処理の手順を示す。図６に示す処理は、ＲＯＭ３４に記憶されたプログラムをＣＰＵ３２がたとえば所定周期で繰り返し実行することにより実現される。
【００５２】
図６に示す一連の処理において、ＣＰＵ３２は、まず硫黄被毒量ＤＳが規定量ＤＳｔｈ以上であるか否かを判定する（Ｓ６０）。ＣＰＵ３２は、規定量ＤＳｔｈ以上であると判定する場合（Ｓ６０：ＹＥＳ）、噴射量補正要求値αがゼロよりも大きいか否かを判定する（Ｓ６２）。そしてＣＰＵ３２は、ゼロよりも大きいと判定する場合（Ｓ６２：ＹＥＳ）、第２触媒温度Ｔｃ２が所定温度ＴｃＨ以上であるか否かを判定する（Ｓ６４）。ここで、所定温度ＴｃＨは、硫黄被毒回復処理にとって適切な温度の上限値以上に設定されている。この処理は、ディザ制御によって三元触媒２４の温度が過度に昇温されているか否かを判定するための処理である。
【００５３】
ＣＰＵ３２は、所定温度ＴｃＨ未満であると判定する場合（Ｓ６４：ＮＯ）やＳ６２の処理において否定判定する場合には、第１触媒温度Ｔｃ１が基準温度ＴｃＲ以上であるか否かを判定する（Ｓ６６）。ここで、基準温度ＴｃＲは、硫黄被毒回復処理を行う上で必要な三元触媒２４の温度の下限値よりも低い温度であり、ディザ制御によって三元触媒２４の温度を下限値以上にできると想定される温度である。
【００５４】
ＣＰＵ３２は、基準温度ＴｃＲ以上であると判定する場合（Ｓ６６：ＹＥＳ）、内燃機関１０の動作点に応じて噴射量補正要求値αを算出する（Ｓ６８）。ＣＰＵ３２は、内燃機関１０の動作点が、負荷が比較的大きい領域Ｂに入らないときにはゼロとする。これは、領域Ｂよりも低負荷領域において硫黄被毒回復処理を実行するためには、ディザ制御による昇温能力を非常に高くすべく、噴射量補正要求値αを、クランク軸の回転変動がユーザに違和感を与えるレベルの値とする必要が生じるためである。なお、ＣＰＵ３２は、内燃機関１０の動作点が領域Ｂに入る場合、噴射量補正要求値αを、回転速度ＮＥおよび負荷率ＫＬに応じてゼロよりも大きい値で可変設定する。具体的には、ＣＰＵ３２は、回転速度ＮＥおよび負荷率ＫＬを入力変数とし噴射量補正要求値αを出力変数とするマップデータをＲＯＭ３４に記憶しておき、ＣＰＵ３２により噴射量補正要求値αをマップ演算すればよい。
【００５５】
なお、噴射量補正要求値αがゼロよりも大きい値に設定される場合、三元触媒２４の温度が硫黄被毒回復処理を行う上で必要な温度の下限値以上に必ずなることを意味しない。これは、三元触媒２４の温度が、内燃機関１０の動作点と噴射量補正要求値αとによって一義的に定まるものではなく、車速ＳＰＤや点火時期の遅角量ａｆ等に依存して変動するものであるためである。こうしたすべての要因を考慮して、噴射量補正要求値αがゼロよりも大きい値である場合に三元触媒２４の温度が硫黄被毒回復処理を行う上で必要な温度の下限値以上に必ずなるように設定したのでは、ディザ制御が実行されにくくなる。また、噴射量補正要求値αがゼロよりも大きい場合、三元触媒２４の温度は、上記所定温度ＴｃＨを超えて上昇し得る。これは、三元触媒２４の温度が所定温度ＴｃＨを超えない設定とする場合には、たとえば車速ＳＰＤが高い場合にディザ制御によって三元触媒２４の温度を硫黄被毒回復処理を行う上で必要な温度の下限値以上に昇温できないおそれがあることなどに鑑みたものである。
【００５６】
これに対しＣＰＵ３２は、Ｓ６０，Ｓ６６の処理において否定判定する場合や、Ｓ６４の処理において肯定判定する場合には、噴射量補正要求値αにゼロを代入する（Ｓ７０）。
【００５７】
なお、ＣＰＵ３２は、Ｓ６８，Ｓ７０の処理が完了する場合には、図６に示す一連の処理を一旦終了する。
ここで、本実施形態の作用を説明する。
【００５８】
図７は、三元触媒２４の実温度の推定値のみを用いて劣化検出処理を実行する場合における実温度、ディザ制御の実行の有無、および劣化検出処理の実行の有無の推移を示す。
図７に示すように、時刻ｔ１において劣化検出処理が実行されると、時刻ｔ２にディザ制御が停止される。これにより実温度が低下し、時刻ｔ３に第１温度Ｔｃｔｈ１を下回る。これにより、劣化検出処理が停止することから時刻ｔ４にディザ制御が再開される。そして時刻ｔ５において実温度が第１温度Ｔｃｔｈ１以上となることにより劣化検出処理が実行されると、時刻ｔ６においてディザ制御が停止される。
【００５９】
このように、実温度のみを用いる場合には、ディザ制御が停止することによって三元触媒２４の実温度が第１温度Ｔｃｔｈ１を下回るか否かを考慮しないため、劣化検出処理の開始および停止やディザ制御の開始および停止のハンチングが生じるおそれがある。これに対し、本実施形態では、触媒劣化検出の実行の可否判定に、ディザ制御の実行時であってもディザ制御を実行してないと仮定した場合の温度である第１触媒温度Ｔｃ１を用いる。これにより、ディザ制御を停止させることで三元触媒２４の温度がとりうると想定される温度に基づき触媒劣化検出の実行の可否判定ができることから、ハンチングが生じることを抑制できる。
【００６０】
図８に、硫黄被毒回復処理時の三元触媒２４の第１触媒温度Ｔｃ１および第２触媒温度Ｔｃ２、および第２触媒温度Ｔｃ２のみを用いて実行の可否判定をする場合のディザ制御の実行の有無の推移を示す。
【００６１】
図８に示すように、時刻ｔ１において、第１触媒温度Ｔｃ１が基準温度ＴｃＲとなることにより、ディザ制御を開始すると、三元触媒２４の温度が上昇することから、第２触媒温度Ｔｃ２が大きく上昇し、硫黄被毒回復処理のための下限温度ＴｃＬと所定温度ＴｃＨとの間に入る。その後、内燃機関１０の運転状態が変化することによって、排気が上昇しにくい動作点となったり車速ＳＰＤが上昇して三元触媒２４の放熱量が増加したりすると第１触媒温度Ｔｃ１および第２触媒温度Ｔｃ２が低下し、時刻ｔ２に、第１触媒温度Ｔｃ１が基準温度ＴｃＲ未満となり、第２触媒温度Ｔｃ２が下限温度ＴｃＬ未満となる。ただし、第２触媒温度Ｔｃ２に基づきディザ制御の停止の可否判定をする場合、実温度を示す第２触媒温度Ｔｃ２が下限温度ＴｃＬ未満となったことを持って直ちにディザ制御を停止することは困難である。なぜなら、時刻ｔ２よりも前であってもディザ制御の実行中に第２触媒温度Ｔｃ２は下限温度ＴｃＬ未満となっている期間があるためである。そして、第２触媒温度Ｔｃ２が下限温度ＴｃＬ未満となっても直ちにディザ制御を停止できないなら、ディザ制御が無駄に継続され、燃料消費量が増加する。
【００６２】
これに対し本実施形態では、ディザ制御の実行中に第１触媒温度Ｔｃ１が基準温度ＴｃＲ未満となる場合、ディザ制御を停止することにより、三元触媒２４の温度を下限温度ＴｃＬ以上にできないにもかかわらずディザ制御が継続されることを抑制できる。
【００６３】
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
（１）第２触媒温度Ｔｃ２を、第２定常触媒温度Ｔｓ２へと収束する値として算出した。この場合、第２触媒温度Ｔｃ２は、内燃機関１０の動作点等によって一義的に定まらず、時間の経過に伴って変化するため、第２触媒温度Ｔｃ２が下限温度ＴｃＬに満たないことを条件にディザ制御を停止する場合には、実温度が今後、さらに上昇するか否か等を判定する必要があり、制御が煩雑化する。このため、第１触媒温度Ｔｃ１に基づきディザ制御を停止するか否かを判定することのメリットが特に大きい。
【００６４】
（２）三元触媒２４の温度は、内燃機関１０の動作点のみによっては定まらず、車速ＳＰＤに依存する。このため、内燃機関１０の動作点に応じて、ディザ制御を実行するか停止するかの判定や触媒の劣化検出の実行の可否判定をする場合には、その判定精度を高くすることが困難である。これに対し、本実施形態では、第１触媒温度Ｔｃ１や第２触媒温度Ｔｃ２を、車速ＳＰＤが高い場合に低い場合よりも低い値とし、これらに基づきディザ制御を実行するか停止するかの判定や触媒の劣化検出の実行の可否判定をすることにより、同判定を高精度に行うことができる。
【００６５】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。「１」排気浄化装置は、三元触媒２４に対応し、ディザ制御処理は、噴射量補正要求値αがゼロよりも大きい場合における、補正係数算出処理Ｍ２０、ディザ補正処理Ｍ２２、乗算処理Ｍ２４、補正係数算出処理Ｍ２６、ディザ補正処理Ｍ２８、噴射量操作処理Ｍ３０に対応する。仮想温度推定処理は、ディザ制御が実行されているときにおけるＳ１０〜Ｓ１８の処理に対応し、実温度推定処理は、ディザ制御が実行されているときにおけるＳ１０〜Ｓ１４，Ｓ２２〜Ｓ２６の処理に対応する。温度推定モジュールは、温度推定処理Ｍ３４を実現するＲＯＭ３４およびＣＰＵ３２に対応する。［２］第１停止処理は、Ｓ５４の処理において肯定判定する場合のＳ５８の処理や、Ｓ６６の処理において否定判定する場合のＳ７０の処理に対応する。［３］所定の診断処理は、診断処理Ｍ３６に対応し、第１停止処理は、Ｓ５４の処理において肯定判定する場合のＳ５８の処理に対応する。［４］再生処理は、硫黄被毒回復処理に対応し、第１停止処理は、Ｓ６６の処理において否定判定する場合のＳ７０の処理に対応する。［５］定常実温度は、第２定常触媒温度Ｔｓ２に対応し、収束させる処理は、Ｓ２６の処理に対応する。［６］第２停止処理は、Ｓ６４の処理において肯定判定する場合のＳ７０の処理に対応する。［７］Ｓ１６，Ｓ２４の処理において車速補正量ΔＴｖが用いられていることに対応する。
【００６６】
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
・「実温度推定処理、仮想温度推定処理について」
上記実施形態では、ベース温度Ｔｂを、回転速度ＮＥおよび負荷率ＫＬの２つのパラメータに基づき算出したが、これに限らない。たとえば、燃料にアルコールが混ざる可能性があるなら、上記２つのパラメータに加えて、アルコール濃度センサによるアルコール濃度の検出値等を用いて、アルコール濃度が大きい場合に小さい場合よりもベース温度Ｔｂを大きい値に算出してもよい。また、たとえば、排気通路２２と吸気通路１２とを接続するＥＧＲ通路を備える場合、ＥＧＲ通路から吸気通路１２に流入する排気の流量を吸入空気量Ｇａで割ったＥＧＲ率と、上記２つのパラメータとに基づき、ＥＧＲ率が大きい場合に小さい場合よりもベース温度Ｔｂを小さい値に算出してもよい。さらに、上記４つのパラメータの全てによってベース温度Ｔｂを算出してもよい。これは、たとえば、４つのパラメータを入力変数とし、ベース温度Ｔｂを出力変数とするマップデータをＲＯＭ３４に記憶しておき、ＣＰＵ３２によりベース温度Ｔｂをマップ演算することにより実現できる。またこれに代えて、回転速度ＮＥおよび負荷率ＫＬを入力変数とし、基本値Ｔｂ０を出力変数とするマップデータと、アルコール濃度を入力変数としアルコール補正量を出力変数とするマップデータと、ＥＧＲ率を入力変数としＥＧＲ補正量を出力変数とするマップデータとをＲＯＭ３４に記憶しておいてもよい。この場合、ＣＰＵ３２により、基本値、アルコール補正量およびＥＧＲ補正量をマップ演算し、基本値をアルコール補正量およびＥＧＲ補正量にて補正することによってベース温度Ｔｂを算出することができる。
【００６７】
ベース温度Ｔｂを算出する上で用いる内燃機関１０の動作点を定めるパラメータとしては、回転速度ＮＥおよび負荷率ＫＬに限らない。たとえば負荷として、負荷率ＫＬに代えて、ベース噴射量Ｑｂを用いてもよく、またたとえばアクセル操作量を用いてもよい。また、動作点を回転速度ＮＥおよび負荷によって規定するものに限らず、たとえば吸入空気量Ｇａによって規定してもよく、またたとえば負荷のみによって規定してもよい。
【００６８】
上記実施形態では、第１定常触媒温度Ｔｓ１は、ベース温度Ｔｂに点火時期遅角補正量ΔＴａを加算し、車速補正量ΔＴｖを減算した値とされたがこれに限らない。たとえば、過給機１４による過給圧が高い場合に吸気バルブの開弁期間と排気バルブの開弁期間とのオーバーラップ期間において、吸気通路１２から燃焼室に流入した空気が排気通路２２へと吹き抜けるスカベンジが生じる場合には、スカベンジ率を用いた補正量にてベース温度Ｔｂを補正してもよい。ここで、スカベンジ率とは、オーバーラップが生じている期間に吸気通路１２から燃焼室１６に流入した空気が燃焼室１６において燃焼対象とされることなく排気通路２２に流出する量（スカベンジ量）を、燃焼室１６において燃焼対象となる空気量で割った値である。詳しくは、スカベンジ率が高い場合には低い場合よりもベース温度Ｔｂを増加補正すればよい。これはたとえば、スカベンジ率を入力変数とし、スカベンジ補正量を出力変数とするマップデータをＲＯＭ３４に記憶しておき、ＣＰＵ３２によりスカベンジ補正量をマップ演算することにより実現できる。
【００６９】
上記実施形態では、点火時期遅角補正量ΔＴａを、回転速度ＮＥおよび負荷率ＫＬと遅角量ａｆとに基づき可変設定したがこれに限らない。たとえば、燃料にアルコールが混ざる可能性があるなら、アルコール濃度センサによるアルコール濃度の検出値等を加味して点火時期遅角補正量ΔＴａを可変設定してもよい。
【００７０】
上記実施形態では、噴射量補正要求値αに加えて、回転速度ＮＥおよび負荷率ＫＬに基づきディザ補正量ΔＤを算出したが、これに限らない。たとえば、噴射量補正要求値αのみからディザ補正量ΔＤを算出してもよく、またたとえば噴射量補正要求値αと回転速度ＮＥのみからディザ補正量ΔＤを算出してもよく、またたとえば噴射量補正要求値αと負荷率ＫＬのみからディザ補正量ΔＤを算出してもよい。
【００７１】
たとえば、図３の処理からＳ１６〜Ｓ２０の処理を削除し、ディザ補正量ΔＤを、噴射量補正要求値αがゼロの場合にはゼロとなるものとすることにより、Ｓ２６の処理によって、常時、三元触媒２４の実温度の推定値を算出してもよい。
【００７２】
上記実施形態では、第２定常触媒温度Ｔｓ２の算出処理と第１定常触媒温度Ｔｓ１の算出処理とで、Ｓ１０〜Ｓ１４の処理を共有したが、これに限らない。ディザ制御が実行される場合に限って簡易な処理にてディザ制御が実行されないと仮定した場合の仮想温度を推定してもよい。すなわち、たとえば、仮想温度の推定は、ディザ制御が実行される場合に限って、ベース温度Ｔｂから車速補正量ΔＴｖを減算した値を用いたり、ベース温度Ｔｂ自体としたりすればよい。
【００７３】
・「定常値（定常実温度等）へと収束させる処理について」
Ｓ１８，Ｓ２６の処理における係数βを、吸入空気量Ｇａやアルコール濃度に応じて可変設定してもよい。また、Ｓ１８，Ｓ２６の処理のように、指数移動平均処理値を用いること自体必須ではなく、たとえば、１次遅れフィルタや２次遅れフィルタ等を用いてもよい。
【００７４】
・「温度の推定対象について」
たとえば下記「排気浄化装置について」の欄に記載したように、ＧＰＦを備える場合、その温度を推定対象としてもよい。これは、上記と同様に実行することができる。
【００７５】
・「実温度の用途について」
上記実施形態では、ディザ制御の実行中において、実温度となる第２触媒温度Ｔｃ２を、硫黄被毒回復処理に限って利用したが、これに限らない。たとえば、三元触媒２４の暖機処理において、第２触媒温度Ｔｃ２をモニタしてもよい。この場合、たとえば第２触媒温度Ｔｃ２がある程度高くなる場合、ディザ制御処理を停止する処理を行ってもよく、またたとえば、第２触媒温度Ｔｃ２が小さい場合と比較して噴射量補正要求値αを小さくしてもよい。
【００７６】
・「所定の診断処理について」
上記実施形態では、所定の診断処理として、三元触媒２４の劣化検出処理を例示したがこれに限らない。たとえば、空燃比センサ４０の異常診断処理であってもよい。これは、ディザ制御を停止した状態で、目標空燃比をリッチからリーンに変更したりリーンからリッチに変更したりするアクティブ空燃比制御を実行し、そのときの空燃比センサ４０によって検出される上流側空燃比Ａｆｕの変化に基づき、空燃比センサ４０の異常の有無を診断する処理とすればよい。この場合、診断処理の実行に伴って、三元触媒２４の下流の排気の成分を悪化させないうえでは、三元触媒２４が活性状態となり、酸素吸蔵能力を有することが有効であるため、三元触媒２４の温度が規定温度以上であることを条件とすることが望ましい。
【００７７】
・「再生処理の実行条件に用いられる規定温度について」
上記実施形態では、ディザ制御をしていない場合にディザ制御を許可する温度と、ディザ制御を実行している場合にディザ制御を停止させる温度とを同一の基準温度ＴｃＲとしたが、これに限らない。たとえば、ディザ制御をしていない場合にディザ制御を許可する温度よりも、ディザ制御を実行している場合にディザ制御を停止させる温度を低くしてもよい。これにより、ディザ制御の実行および停止のハンチングを抑制できる。なお、ハンチングを抑制するこの設定は、ディザ制御の実行の有無にかかわらずディザ制御の実行の可否判定に第１触媒温度Ｔｃ１を用いることにより実現されたものである。
【００７８】
・「再生処理について」
再生処理としては、硫黄被毒回復処理に限らず、たとえば下記「排気浄化装置について」の欄に記載したようにＧＰＦを備える場合、ＧＰＦに捕集された粒子状物質の量が規定量以上となることにより、粒子状物質を燃焼除去する処理であってもよい。
【００７９】
・「ディザ制御処理について」
上記実施形態では、回転速度ＮＥおよび負荷率ＫＬの２つのパラメータから噴射量補正要求値αを算出したが、これに限らない。たとえば、回転速度ＮＥおよび負荷率ＫＬに加えて、水温ＴＨＷに基づき噴射量補正要求値αを算出してもよい。もっとも、回転速度ＮＥおよび負荷率ＫＬに基づくこと自体必須ではない。たとえば、水温ＴＨＷ、回転速度ＮＥおよび負荷率ＫＬの３つのパラメータのうちの少なくとも１つのパラメータのみに基づいて噴射量補正要求値αを可変設定してもよい。また、たとえば内燃機関１０の動作点を特定するパラメータとして回転速度ＮＥおよび負荷率ＫＬを用いる代わりに、負荷としての負荷率ＫＬに代えて、たとえば負荷としてのアクセル操作量を用いてもよい。また、回転速度ＮＥおよび負荷に代えて、吸入空気量Ｇａに基づき噴射量補正要求値αを可変設定してもよい。
【００８０】
ディザ制御の実行領域において、噴射量補正要求値αを、内燃機関の動作点に基づき「０」よりも大きい値で可変設定すること自体必須ではない。たとえば、暖機処理用のゼロよりも大きい単一の値と、硫黄被毒回復処理用のゼロよりも大きい単一の値とを定めてもよい。
【００８１】
上記実施形態では、リッチ燃焼気筒の数よりもリーン燃焼気筒の数を多くしたが、これに限らない。たとえば、リッチ燃焼気筒の数とリーン燃焼気筒の数とを同一としてもよい。またたとえば、全ての気筒＃１〜＃４を、リーン燃焼気筒かリッチ燃焼気筒かにするものに限らず、たとえば１つの気筒の空燃比を目標空燃比としてもよい。さらに、１燃焼サイクル内で、筒内充填空気量が同一であるなら燃空比の平均値の逆数が目標空燃比となることも必須ではない。たとえば、上記実施形態のように４気筒の場合において、筒内充填空気量が同一であるなら、５ストロークにおける燃空比の平均値の逆数が目標空燃比となるようにしてもよく、３ストロークにおける燃空比の平均値の逆数が目標空燃比となるようにしてもよい。ただし、１燃焼サイクルにおいて、リッチ燃焼気筒とリーン燃焼気筒との双方が存在する期間が少なくとも２燃焼サイクルに１回以上は生じることが望ましい。換言すれば、所定期間において筒内充填空気量が同一であるなら燃空比の平均値の逆数を目標空燃比とする際、所定期間を２燃焼サイクル以下とすることが望ましい。ここで、たとえば所定期間を２燃焼サイクルとして２燃焼サイクルの間に１度だけリッチ燃焼気筒が存在する場合、リッチ燃焼気筒とリーン燃焼気筒との出現順序は、リッチ燃焼気筒をＲ、リーン燃焼気筒をＬとすると、たとえば「Ｒ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ」となる。この場合、所定期間よりも短い１燃焼サイクルの期間であって「Ｒ，Ｌ，Ｌ，Ｌ」となる期間が設けられており、気筒＃１〜＃４のうちの一部がリーン燃焼気筒であり、別の気筒がリッチ燃焼気筒となっている。ただし、１燃焼サイクルとは異なる期間における燃空比の平均値の逆数を目標空燃比とする場合には、内燃機関が吸気行程において一旦吸入した空気の一部を吸気バルブが閉弁するまでに吸気通路に吹き戻す量が無視できることが望ましい。
【００８２】
・「排気浄化装置について」
上記構成では、排気浄化装置として、三元触媒２４を例示したがこれに限らない。たとえば、三元触媒２４の下流にガソリンパティキュレートフィルタ（ＧＰＦ）を備えてもよい。またたとえばＧＰＦのみであってもよい。ただし、その場合、ディザ制御による昇温効果を高めるうえでは、ＧＰＦに、酸素吸蔵能力を付与することが望ましい。
【００８３】
・「排気の昇温要求について」
昇温要求としては、上記実施形態において例示したものに限らない。たとえば、「排気浄化装置について」の欄に記載したように、ＧＰＦを備えるものにあっては、ＧＰＦが捕集した粒子状物質を燃焼させるためにＧＰＦの温度を上昇させる要求であってもよい。ちなみに、三元触媒２４の下流にＧＰＦを備える場合、リッチ燃焼気筒から排出された未燃燃料とリーン燃焼気筒から排出された酸素とを三元触媒２４にて反応させ、その反応熱によって三元触媒２４の下流の排気温を上昇させることによって、ＧＰＦを昇温させてもよい。またたとえば、排気通路２２への凝縮水の付着を抑制すべく排気通路２２を昇温するためにディザ制御による排気の昇温要求を生じさせてもよい。
【００８４】
・「制御装置について」
制御装置としては、ＣＰＵ３２とＲＯＭ３４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、制御装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、１または複数のソフトウェア処理回路および１または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【００８５】
・「温度推定モジュールについて」
上記実施形態では、温度推定モジュールを、制御装置を構成するＣＰＵ３２およびＲＯＭ３４によって実現したがこれに限らない。たとえば、制御装置内に、２組のＣＰＵおよびＲＯＭを備え、そのうちの１組のＣＰＵおよびＲＯＭを温度推定モジュール専用としてもよい。もっとも、ＣＰＵおよびＲＯＭによって温度推定モジュールが実現されることは必須ではなく、たとえば、専用のハードウェア回路にて実現してもよい。
【００８６】
・「内燃機関について」
内燃機関としては、４気筒の内燃機関に限らない。たとえば直列６気筒の内燃機関であってもよい。またたとえば、Ｖ型の内燃機関等、第１の排気浄化装置と第２の排気浄化装置とを備え、それぞれによって排気が浄化される気筒が異なるものであってもよい。
【００８７】
・「そのほか」
燃料噴射弁としては、燃焼室１６に燃料を噴射するものに限らず、たとえば吸気通路１２に燃料を噴射するものであってもよい。ディザ制御の実行時に空燃比フィードバック制御をすることは必須ではない。
【符号の説明】
【００８８】
１０…内燃機関、１２…吸気通路、１４…過給機、１６…燃焼室、１８…燃料噴射弁、２０…点火装置、２２…排気通路、２４…三元触媒、３０…制御装置、３２…ＣＰＵ、３４…ＲＯＭ、３６…ＲＡＭ、４０，４２…空燃比センサ、４４…クランク角センサ、４６…エアフローメータ、４８…水温センサ、５０…車速センサ、５２…警告灯。
【図１】
2019070365.tif 000003
【図２】
2019070365.tif 000004
【図３】
2019070365.tif 000005
【図４】
2019070365.tif 000006
【図５】
2019070365.tif 000007
【図６】
2019070365.tif 000008
【図７】
2019070365.tif 000009
【図８】
2019070365.tif 000010