(57)【要約】【課題】ディザ制御の実行に起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間配分のばらつきによって助長され、顕在化することを抑制できるようにした内燃機関の制御装置を提供する。【解決手段】ＣＰＵ４２は、パージバルブ３８を操作して、キャニスタ３６から吸気通路１２に流入する燃料蒸気の量を制御する。また、ＣＰＵ４２は、三元触媒２４の昇温要求が生じたことを条件に、気筒＃１〜＃４のうちの１つを、理論空燃比よりもリッチとするリッチ燃焼気筒とし、残りを、理論空燃比よりもリーンとするリーン燃焼気筒とするディザ制御を実行する。ＣＰＵ４２は、ディザ制御を実行していて且つ、キャニスタ３６から吸気通路１２への燃料蒸気の量がゼロよりも大きいことを条件に、気筒＃１〜＃４のそれぞれへの燃料蒸気の配分ばらつきをフィードフォワード補正する。【選択図】図１
2019078244.tif 000002
【特許請求の範囲】
【請求項１】
複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、前記燃料噴射弁によって噴射される燃料が貯蔵される燃料タンク内の燃料蒸気を捕集するキャニスタと、前記キャニスタから吸気通路への流体の流量を調節する調節装置と、を備える内燃機関を制御対象とし、
前記複数の気筒のうちの一部の気筒を、空燃比が理論空燃比よりもリーンであるリーン燃焼気筒とし、前記複数の気筒のうちの前記一部の気筒とは別の気筒を、空燃比が理論空燃比よりもリッチであるリッチ燃焼気筒とすべく、前記燃料噴射弁を操作するディザ制御処理と、
前記流体の流量を制御すべく前記調節装置を操作するパージ制御処理と、
前記パージ制御処理により前記流体の流量がゼロよりも大きい値に制御されていることを条件に、前記ディザ制御処理によって前記燃料噴射弁から噴射される燃料量を、前記キャニスタから前記吸気通路に流入する燃料蒸気の気筒間における配分のばらつきを補償すべく気筒毎に補正する気筒別補正処理と、を実行する内燃機関の制御装置。
【請求項２】
前記気筒別補正処理は、前記内燃機関のクランク軸の回転速度および負荷に応じて気筒毎の補正量を算出する処理を含む請求項１記載の内燃機関の制御装置。
【請求項３】
前記内燃機関の燃焼室に充填される空気量に基づきベース噴射量を算出するベース噴射量算出処理と、
前記流体の流量に基づき、前記ベース噴射量を減量補正する減量補正量を算出する減量補正量算出処理と、
前記減量補正量によって前記ベース噴射量を減量補正する処理に基づき要求噴射量を算出する要求噴射量算出処理と、を実行し、
前記ディザ制御処理は、前記要求噴射量を減量補正することによって前記リーン燃焼気筒に燃料を噴射する前記燃料噴射弁の噴射量を定め、前記要求噴射量を増量補正することによって前記リッチ燃焼気筒に燃料を噴射する前記燃料噴射弁の噴射量を定める処理を含み、
前記気筒別補正処理は、前記ディザ制御処理によって用いられる前記要求噴射量を気筒毎に補正する処理であって、前記気筒毎の補正量を前記減量補正量に応じて算出する処理を含む請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記気筒別補正処理によって補正される燃料量は、前記排気浄化装置の暖機要求に応じて実行される前記ディザ制御処理によって前記燃料噴射弁から噴射される燃料量である請求項１〜３のいずれか１項に記載の内燃機関の制御装置。
【請求項５】
前記暖機要求に応じた前記ディザ制御処理は、前記内燃機関のクランク軸の回転速度および負荷にて定まる動作点の集合のうちの第１集合に実際の動作点が入ることを条件に実行され、該第１集合の動作点が含まれない集合である第２集合においては実行されず、
前記気筒別補正処理は、前記内燃機関のクランク軸の回転速度および負荷に応じて前記気筒別の補正量を算出する処理を含み、前記内燃機関の動作点が前記第２集合に入る場合には実行されない請求項４記載の内燃機関の制御装置。
【請求項６】
前記気筒別補正処理を、前記パージ制御処理によって前記キャニスタから前記吸気通路に流入する燃料蒸気量が規定量以上であることを条件に実行する請求項１〜５のいずれか１項に記載の内燃機関の制御装置。
【請求項７】
前記ディザ制御処理による前記リーン燃焼気筒の空燃比と前記リッチ燃焼気筒の空燃比との差の絶対値が所定値以上である場合に前記所定値未満である場合と比較して、前記パージ制御処理による前記流体の流量を小さくなる側に制限する制限処理を実行する請求項１〜６のいずれか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、前記燃料噴射弁によって噴射される燃料が貯蔵される燃料タンク内の燃料蒸気を捕集するキャニスタと、前記キャニスタから吸気通路への流体の流量を調節する調節装置と、を備える内燃機関を制御対象とする内燃機関の制御装置に関する。
【背景技術】
【０００２】
たとえば特許文献１には、触媒装置（触媒）の暖機要求（昇温要求）がある場合、一部の気筒における空燃比を理論空燃比よりもリッチとし、残りの気筒における空燃比を理論空燃比よりもリーンとするパータベーション制御（ディザ制御）を実行する制御装置が記載されている。
【０００３】
また、内燃機関の制御装置としては、燃料噴射弁から噴射する燃料を貯蔵する燃料タンク内の燃料蒸気を吸気通路に戻すパージ制御が周知である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−５７４９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ディザ制御を実行する場合、リッチ燃焼気筒における空燃比とリーン燃焼気筒における空燃比とに相違を設けることに起因して、全ての気筒における空燃比を同一に制御する場合と比較すると、燃焼が悪化しにくい空燃比への設定に制約が生じることから、燃焼が悪化しやすい。一方、パージ制御が実行される場合、燃料蒸気が必ずしも複数の気筒に均等に分配されないことに起因して各気筒における空燃比同士に相違が生じうる。このため、パージ制御の実行中にディザ制御を実行する場合には、ディザ制御の実行に起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間における配分のばらつきによって助長され、顕在化するおそれがある。
【課題を解決するための手段】
【０００６】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．内燃機関の制御装置は、複数の気筒から排出された排気を浄化する排気浄化装置と、前記複数の気筒毎に設けられた燃料噴射弁と、前記燃料噴射弁によって噴射される燃料が貯蔵される燃料タンク内の燃料蒸気を捕集するキャニスタと、前記キャニスタから吸気通路への流体の流量を調節する調節装置と、を備える内燃機関を制御対象とし、前記複数の気筒のうちの一部の気筒を、空燃比が理論空燃比よりもリーンであるリーン燃焼気筒とし、前記複数の気筒のうちの前記一部の気筒とは別の気筒を、空燃比が理論空燃比よりもリッチであるリッチ燃焼気筒とすべく、前記燃料噴射弁を操作するディザ制御処理と、前記流体の流量を制御すべく前記調節装置を操作するパージ制御処理と、前記パージ制御処理により前記流体の流量がゼロよりも大きい値に制御されていることを条件に、前記ディザ制御処理によって前記燃料噴射弁から噴射される燃料量を、前記キャニスタから前記吸気通路に流入する燃料蒸気の気筒間における配分のばらつきを補償すべく気筒毎に各別に補正する気筒別補正処理と、を実行する。
【０００７】
上記構成では、気筒別補正処理によって、ディザ制御処理に用いられる燃料量を気筒毎に各別に補正することにより、ディザ制御処理の実行に起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間配分のばらつきによって助長され、顕在化することを抑制できる。
【０００８】
２．上記１記載の内燃機関の制御装置において、前記気筒別補正処理は、前記内燃機関のクランク軸の回転速度および負荷に応じて気筒毎の補正量を算出する処理を含む。
キャニスタから吸気通路に流入した燃料蒸気が各気筒に配分される際の配分割合のばらつきは、回転速度や負荷に応じて変動するおそれがある。そこで上記構成では、回転速度および負荷に応じて気筒間における配分のばらつきを補償するための気筒毎の補正量を算出することとした。
【０００９】
３．上記１または２記載の内燃機関の制御装置において、前記内燃機関の燃焼室に充填される空気量に基づきベース噴射量を算出するベース噴射量算出処理と、前記流体の流量に基づき、前記ベース噴射量を減量補正する減量補正量を算出する減量補正量算出処理と、前記減量補正量によって前記ベース噴射量を減量補正する処理に基づき要求噴射量を算出する要求噴射量算出処理と、を実行し、前記ディザ制御処理は、前記要求噴射量を減量補正することによって前記リーン燃焼気筒に燃料を噴射する前記燃料噴射弁の噴射量を定め、前記要求噴射量を増量補正することによって前記リッチ燃焼気筒に燃料を噴射する前記燃料噴射弁の噴射量を定める処理を含み、前記気筒別補正処理は、前記ディザ制御処理によって用いられる前記要求噴射量を気筒毎に補正する処理であって、前記気筒毎の補正量を前記減量補正量に応じて算出する処理を含む。
【００１０】
上記構成では、気筒間における配分のばらつきを補償するための気筒毎の補正量を減量補正量に基づき算出することにより、同補正量をより適切に算出することが可能となる。
４．上記１〜３のいずれか１項に記載の内燃機関の制御装置において、前記気筒別補正処理によって補正される燃料量は、前記排気浄化装置の暖機要求に応じて実行される前記ディザ制御処理によって前記燃料噴射弁から噴射される燃料量である。
【００１１】
排気浄化装置の暖機要求が生じる場合には、温間時と比較して燃料の揮発性が低いことなどに起因して噴射量の制御性が低下する傾向にある。このため、ディザ制御の実行に起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間配分のばらつきに加えて、噴射量の制御性の低下に起因して助長され、顕在化しやすくなる。このため、気筒別補正処理の利用価値が特に大きい。
【００１２】
５．上記４記載の内燃機関の制御装置は、前記暖機要求に応じた前記ディザ制御処理は、前記内燃機関のクランク軸の回転速度および負荷にて定まる動作点の集合のうちの第１集合に実際の動作点が入ることを条件に実行され、該第１集合の動作点が含まれない集合である第２集合においては実行されず、前記気筒別補正処理は、前記内燃機関のクランク軸の回転速度および負荷に応じて前記気筒別の補正量を算出する処理を含み、前記内燃機関の動作点が前記第２集合に入る場合には実行されない。
【００１３】
上記構成では、内燃機関の動作点が、暖機要求に応じたディザ制御処理が実行されない第２集合に入る場合には気筒別補正処理を実行しないため、気筒別補正処理を第２集合において適合する必要がなく、適合工数を低減できる。
【００１４】
６．上記１〜５のいずれか１つに記載の内燃機関の制御装置において、前記気筒別補正処理を、前記パージ制御処理によって前記キャニスタから前記吸気通路に流入する燃料蒸気量が規定量以上であることを条件に実行する。
【００１５】
キャニスタから吸気通路に流入する燃料蒸気量が少ない場合、ＳＮ比が低くなることから、気筒別補正処理による燃料蒸気の配分ばらつきを補償する制御の制御精度が低くなることが懸念される。これに対し、上記構成では、燃料蒸気量が規定量以上であることを条件に気筒別補正処理を実行することにより、気筒別補正処理の精度を高く維持することができる。
【００１６】
７．上記１〜６のいずれか１つに記載の内燃機関の制御装置において、前記ディザ制御処理による前記リーン燃焼気筒の空燃比と前記リッチ燃焼気筒の空燃比との差の絶対値が所定値以上である場合に前記所定値未満である場合と比較して、前記パージ制御処理による前記流体の流量を小さくなる側に制限する制限処理を実行する。
【００１７】
上記構成では、リーン燃焼気筒の空燃比とリッチ燃焼気筒の空燃比との差の絶対値が所定値以上である場合、制限処理によって、流体の流量を小さくなる側に制限する。これにより、制限処理を実行しない場合と比較して、燃料蒸気が必ずしも複数の気筒に均等に分配されないことに起因して複数の気筒のそれぞれにおける空燃比が狙いの空燃比からずれる度合いを小さくすることができる。このため、ディザ制御の実行に起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間配分のばらつきによって助長され、顕在化することを抑制できる。
【図面の簡単な説明】
【００１８】
【図１】一実施形態にかかる制御装置および内燃機関を示す図。
【図２】同実施形態にかかる制御装置が実行する処理の一部を示すブロック図。
【図３】同実施形態にかかる要求値出力処理の手順を示す流れ図。
【図４】同実施形態にかかる目標パージ率設定処理の手順を示す流れ図。
【図５】同実施形態にかかる気筒別補正処理の手順を示す流れ図。
【図６】（ａ），（ｂ），（ｃ）は、同実施形態が解決する課題を示す図。
【図７】同実施形態の効果を示すタイムチャート。
【発明を実施するための形態】
【００１９】
以下、内燃機関の制御装置にかかる一実施形態について図面を参照しつつ説明する。
図１に示す内燃機関１０において、吸気通路１２から吸入された空気は、スロットルバルブ１４を介して各気筒の燃焼室１６に流入する。燃焼室１６において、燃料噴射弁１８から噴射された燃料と吸気通路１２から流入した空気との混合気は、点火装置２０による火花放電によって、燃焼に供され、燃焼に供された混合気は、排気として、排気通路２２に排出される。排気通路２２には、酸素吸蔵能力を有した三元触媒２４が設けられている。
【００２０】
燃料噴射弁１８は、デリバリパイプ３０内の燃料を噴射する。デリバリパイプ３０には、燃料タンク３２に貯蔵されている燃料が燃料ポンプ３４によって汲み上げられて供給される。燃料タンク３２内に貯蔵された燃料の一部は気化して燃料蒸気となる。この燃料蒸気は、キャニスタ３６によって捕集される。キャニスタ３６によって捕集された燃料蒸気は、開口度を電子操作可能なパージバルブ３８を介して吸気通路１２に流入する。
【００２１】
制御装置４０は、内燃機関１０を制御対象とし、その制御量（トルク、排気成分等）を制御するために、スロットルバルブ１４や、燃料噴射弁１８、点火装置２０、燃料ポンプ３４、パージバルブ３８等の内燃機関１０の操作部を操作する。この際、制御装置４０は、三元触媒２４の上流側の空燃比センサ５０によって検出される空燃比Ａｆｕや、クランク角センサ５２の出力信号Ｓｃｒ、エアフローメータ５４によって検出される吸入空気量Ｇａ、水温センサ５６によって検出される内燃機関１０の冷却水の温度（水温ＴＨＷ）を参照する。制御装置４０は、ＣＰＵ４２、ＲＯＭ４４、および電気的に書き換え可能な不揮発性メモリ４６を備えており、ＲＯＭ４４に記憶されたプログラムをＣＰＵ４２が実行することにより上記制御量の制御を実行する。
【００２２】
図２に、ＲＯＭ４４に記憶されたプログラムをＣＰＵ４２が実行することにより実現される処理の一部を示す。
目標パージ率算出処理Ｍ１０は、負荷率ＫＬに基づき、目標パージ率Ｒｐ＊を算出する処理である。ここで、パージ率とは、キャニスタ３６から吸気通路１２に流入する流体の流量を吸入空気量Ｇａで割った値であり、目標パージ率Ｒｐ＊は、制御上のパージ率の目標値である。また、負荷率ＫＬは、燃焼室１６内に充填される空気量を示すパラメータであり、ＣＰＵ４２により、吸入空気量Ｇａに基づき算出される。負荷率ＫＬは、基準流入空気量に対する、１気筒の１燃焼サイクル当たりの流入空気量の比である。本実施形態では、基準流入空気量を、スロットルバルブ１４の開口度を最大としたときの１気筒の１燃焼サイクル当たりの流入空気量とする。ちなみに、基準流入空気量は、回転速度ＮＥに応じて可変設定される量としてもよい。なお、回転速度ＮＥは、ＣＰＵ４２により、クランク角センサ５２の出力信号Ｓｃｒに基づき算出される。
【００２３】
パージバルブ操作処理Ｍ１２は、吸入空気量Ｇａに基づき、パージ率が目標パージ率Ｒｐ＊になるように、パージバルブ３８を操作すべく、パージバルブ３８に操作信号ＭＳ５を出力する処理である。ここで、パージバルブ操作処理Ｍ１２は、目標パージ率Ｒｐ＊が同一である場合、吸入空気量Ｇａが小さいほど、パージバルブ３８の開口度を小さい値とする処理となっている。これは、吸入空気量Ｇａが小さいほど、吸気通路１２内の圧力よりもキャニスタ３６内の圧力が高くなるため、キャニスタ３６から吸気通路１２に流体が流動しやすいためである。
【００２４】
ベース噴射量算出処理Ｍ１４は、回転速度ＮＥと吸入空気量Ｇａとに基づき、燃焼室１６における混合気の空燃比を目標空燃比に開ループ制御するための操作量である開ループ操作量として、ベース噴射量Ｑｂを算出する処理である。また、ベース噴射量算出処理Ｍ１４は、水温ＴＨＷが所定温度Ｔｔｈ以下である場合には、所定温度Ｔｔｈを超える場合よりもベース噴射量Ｑｂを増量させる低温増量処理を含む。
【００２５】
目標値設定処理Ｍ１６は、燃焼室１６における混合気の空燃比を上記目標空燃比に制御するためのフィードバック制御量の目標値Ａｆ＊を設定する処理である。
ローパスフィルタＭ１７は、空燃比センサ５０によって検出される空燃比Ａｆｕにローパスフィルタ処理を施し、空燃比Ａｆを出力する。空燃比Ａｆは、１燃焼サイクル当たりの空燃比Ａｆｕの時間平均値を表現するパラメータである。
【００２６】
フィードバック処理Ｍ１８は、フィードバック制御量である空燃比Ａｆを目標値Ａｆ＊にフィードバック制御するための操作量であるフィードバック操作量ＫＡＦを算出する処理である。フィードバック操作量ＫＡＦは、ベース噴射量Ｑｂの補正係数であり、「１＋δ」と表現できる。ここで、補正比率δが「０」である場合、ベース噴射量Ｑｂの補正比率は、ゼロである。また、補正比率δが「０」よりも大きい場合、ベース噴射量Ｑｂを増量補正し、補正比率δが「０」よりも小さい場合、ベース噴射量Ｑｂを減量補正する。本実施形態では、目標値Ａｆ＊と空燃比Ａｆとの差を入力とする比例要素、積分要素、および微分要素の各出力値の和を、補正比率δとする。
【００２７】
空燃比学習処理Ｍ２０は、空燃比学習期間において、補正比率δと「０」とのずれが小さくなるように空燃比学習値ＬＡＦを逐次更新する処理である。空燃比学習処理Ｍ２０には、補正比率δの「０」からのずれ量が所定値以下となる場合、空燃比学習値ＬＡＦが収束したと判定する処理が含まれる。
【００２８】
係数加算処理Ｍ２２は、フィードバック操作量ＫＡＦに空燃比学習値ＬＡＦを乗算する処理である。
パージ濃度学習処理Ｍ２４は、上記補正比率δに基づき、パージ濃度学習値Ｌｐを算出する処理である。パージ濃度学習値Ｌｐは、キャニスタ３６から吸気通路１２への燃料蒸気の流入に起因した、目標空燃比に制御する上で必要な噴射量に対するベース噴射量Ｑｂのずれを補正する補正比率を、パージ率の１％当たりに換算した値である。ここで、本実施形態では、目標パージ率Ｒｐ＊が「０」よりも大きい値に制御されているときのフィードバック操作量ＫＡＦが「１」からずれる要因を、すべてキャニスタ３６から吸気通路１２に流入した燃料蒸気によるものとみなす。すなわち、補正比率δを、キャニスタ３６から吸気通路１２への燃料蒸気の流入に起因して目標空燃比に制御する上で必要な噴射量に対してベース噴射量Ｑｂがずれることを補正する補正比率とみなす。詳しくは、パージ濃度学習処理Ｍ２４は、パージ率の１％当たりの補正比率「δ／Ｒｐ＊」から前回のパージ濃度学習値Ｌｐ（ｎ−１）を減算した値に係数βを乗算した値に、前回のパージ濃度学習値Ｌｐ（ｎ−１）を加算したものを、今回のパージ濃度学習値Ｌｐ（ｎ）に代入する処理である。ここで、係数βは、「０」よりも大きく「１」よりも小さい値である。
【００２９】
パージ補正比率算出処理Ｍ２６は、目標パージ率Ｒｐ＊にパージ濃度学習値Ｌｐを乗算することによって、パージ補正比率Ｄｐを算出する処理である。
補正係数算出処理Ｍ２８は、係数加算処理Ｍ２２の出力値に、パージ補正比率Ｄｐを加算する処理である。
【００３０】
要求噴射量算出処理Ｍ３０は、ベース噴射量Ｑｂに補正係数算出処理Ｍ２８の出力値を乗算することによってベース噴射量Ｑｂを補正し、要求噴射量Ｑｄ０を算出する処理である。
【００３１】
気筒別補正量算出処理Ｍ３２は、キャニスタ３６から吸気通路１２に流入した燃料蒸気の気筒間配分ばらつきを補償するための気筒＃１〜＃４のそれぞれの各別の補正量である気筒別補正量Ｋｐ１〜Ｋｐ４を算出する処理である。
【００３２】
気筒別乗算処理Ｍ３４は、要求噴射量Ｑｄ０に気筒＃１の気筒別補正量Ｋｐ１を乗算することによって、気筒＃１の要求噴射量Ｑｄ（＃１）を算出する。気筒別乗算処理Ｍ３６は、要求噴射量Ｑｄ０に気筒＃２の気筒別補正量Ｋｐ２を乗算することによって、気筒＃２の要求噴射量Ｑｄ（＃２）を算出する。気筒別乗算処理Ｍ３８は、要求噴射量Ｑｄ０に気筒＃３の気筒別補正量Ｋｐ３を乗算することによって、気筒＃３の要求噴射量Ｑｄ（＃３）を算出する。気筒別乗算処理Ｍ４０は、要求噴射量Ｑｄ０に気筒＃４の気筒別補正量Ｋｐ４を乗算することによって、気筒＃４の要求噴射量Ｑｄ（＃４）を算出する。なお、以下では、要求噴射量Ｑｄ（＃１）〜Ｑｄ（＃４）を総括する場合、要求噴射量Ｑｄと記載する。
【００３３】
なお、気筒別補正量Ｋｐ１〜Ｋｐ４は、「１」である場合、要求噴射量Ｑｄ０を補正しない値となる。また、気筒別補正量Ｋｐ１〜Ｋｐ４は、「１」よりも大きいものを含む場合には「１」よりも小さいものをも含む。換言すれば、要求噴射量Ｑｄ０を増量補正するものを含むなら減量補正するものをも含む。
【００３４】
要求値出力処理Ｍ４２は、内燃機関１０の気筒＃１〜＃４のそれぞれから排出される排気全体の成分を、気筒＃１〜＃４の全てで燃焼対象とする混合気の空燃比を目標空燃比とした場合と同等としつつも、燃焼対象とする混合気の空燃比を気筒間で異ならせるディザ制御の噴射量補正要求値αを算出して出力する処理である。ここで、本実施形態にかかるディザ制御では、第１の気筒＃１〜第４の気筒＃４のうちの１つの気筒を、混合気の空燃比を理論空燃比よりもリッチとするリッチ燃焼気筒とし、残りの３つの気筒を、混合気の空燃比を理論空燃比よりもリーンとするリーン燃焼気筒とする。そして、リッチ燃焼気筒における噴射量を、上記要求噴射量Ｑｄの「１＋α」倍とし、リーン燃焼気筒における噴射量を、要求噴射量Ｑｄの「１−（α／３）」倍とする。リーン燃焼気筒とリッチ燃焼気筒との上記噴射量の設定によれば、気筒＃１〜＃４のそれぞれに充填される空気量が同一であるなら、内燃機関１０の各気筒＃１〜＃４から排出される排気全体の成分を、気筒＃１〜＃４の全てで燃焼対象とする混合気の空燃比を目標空燃比とした場合と同等とすることができる。なお、上記噴射量の設定によれば、気筒＃１〜＃４のそれぞれに充填される空気量が同一であるなら、各気筒において燃焼対象とされる混合気の燃空比の平均値の逆数が目標空燃比となる。なお、燃空比とは、空燃比の逆数のことである。
【００３５】
燃空比の平均値の逆数を目標空燃比とする設定は、排気成分を所望に制御することを狙ったものである。以下では、排気中の未燃燃料成分と酸素とが過不足なく反応できる場合、排気空燃比が理論空燃比であると称し、排気中の未燃燃料成分が酸素と過不足なく反応できる量を超過する量（マイナスとなりうる量）が多ければ多いほど、排気空燃比がリッチであると称し、少なければ少ないほど排気空燃比がリーンであると称する。また、たとえば、１燃焼サイクル当たりの排気空燃比の平均値とは、気筒＃１〜＃４から排出される排気全体に関する排気空燃比のことと定義する。
【００３６】
振分処理Ｍ４４は、ディザ制御が実行される場合、気筒＃１〜＃４のうちの１つをリッチ燃焼気筒とし、残りをリーン燃焼気筒とし、該当する要求噴射量Ｑｄを割り当てる処理である。ちなみに、気筒＃１〜＃４のうちのいずれがリッチ燃焼気筒となるかは、１燃焼サイクルよりも長い周期で変更されることが望ましい。
【００３７】
補正係数算出処理Ｍ４６は、「１」に、噴射量補正要求値αを加算して、リッチ燃焼気筒に関し、要求噴射量Ｑｄの補正係数を算出する処理である。ディザ補正処理Ｍ４８は、要求噴射量Ｑｄに補正係数「１＋α」を乗算することによって、リッチ燃焼気筒とされる気筒＃ｗの噴射量指令値Ｑ＊を算出する処理である。ここで、「ｗ」は、「１」〜「４」のいずれかを意味する。
【００３８】
乗算処理Ｍ５０は、噴射量補正要求値αを「−１／３」倍する処理であり、補正係数算出処理Ｍ５２は、「１」に、乗算処理Ｍ５０の出力値を加算して、リーン燃焼気筒に関し、要求噴射量Ｑｄの補正係数を算出する処理である。ディザ補正処理Ｍ５４は、要求噴射量Ｑｄに補正係数「１−（α／３）」を乗算することによって、リーン燃焼気筒とされる気筒＃ｘ，＃ｙ，＃ｚの噴射量指令値Ｑ＊を算出する処理である。ここで、「ｘ」，「ｙ」，「ｚ」は、「１」〜「４」のいずれかであって、且つ、「ｗ」，「ｘ」，「ｙ」，「ｚ」は、互いに異なるものとする。
【００３９】
噴射量操作処理Ｍ５６は、噴射量指令値Ｑ＊（＃ｗ）に基づき、リッチ燃焼気筒とされる気筒＃ｗの燃料噴射弁１８の操作信号ＭＳ２を生成して、同燃料噴射弁１８に出力し、同燃料噴射弁１８から噴射される燃料量が噴射量指令値Ｑ＊（＃ｗ）に応じた量となるように燃料噴射弁１８を操作する処理である。また、噴射量操作処理Ｍ５６は、噴射量指令値Ｑ＊（＃ｘ），Ｑ＊（＃ｙ），Ｑ＊（＃ｚ）に基づき、リーン燃焼気筒とされる気筒＃ｘ，＃ｙ，＃ｚの燃料噴射弁１８の操作信号ＭＳ２を生成して、同燃料噴射弁１８に出力し、燃料噴射弁１８から噴射される燃料量が噴射量指令値Ｑ＊に応じた量となるように燃料噴射弁１８を操作する処理である。
【００４０】
ちなみに、目標値設定処理Ｍ１６は、ディザ制御を実行する場合には実行しない場合と比較して、目標値Ａｆ＊をリッチ側の値とする。これは、ディザ制御を実行する場合、噴射量補正要求値αが大きいほど、全ての気筒＃１〜＃４の排気空燃比の平均値に対して空燃比Ａｆがリッチ側にずれることに鑑みた設定である。
【００４１】
図３に、要求値出力処理Ｍ４２の処理の手順を示す。図３に示す処理は、ＲＯＭ４４に記憶されたプログラムをＣＰＵ４２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によってステップ番号を表現する。
【００４２】
図３に示す一連の処理において、ＣＰＵ４２は、まず、内燃機関１０の始動からの吸入空気量Ｇａの積算値ＩｎＧａが第１規定値Ｉｎｔｈ１以上である旨の条件（ア）と、積算値ＩｎＧａが第２規定値Ｉｎｔｈ２以下であって且つ水温ＴＨＷが所定温度ＴＨＷｔｈ以下である旨の条件（イ）との論理積が真であるか否かを判定する（Ｓ１０）。この処理は、三元触媒２４の暖機要求が生じるか否かを判定する処理である。ここで、条件（ア）は、三元触媒２４の上流側の端部の温度が活性温度となっていると判定される条件である。また、条件（イ）は、三元触媒２４の全体が未だ活性状態となっていないと判定される条件である。
【００４３】
ＣＰＵ４２は、論理積が真であると判定する場合（Ｓ１０：ＹＥＳ）、暖機要求が生じているとして、噴射量補正要求値αのもととなるベース要求値α０を算出する（Ｓ１２）。
【００４４】
ＣＰＵ４２は、ベース要求値α０を、内燃機関１０の動作点を規定する回転速度ＮＥおよび負荷率ＫＬに基づき設定する。詳しくは、回転速度ＮＥが高いほど負荷率ＫＬが低下する境界線ＢＬよりも低負荷側の動作点の集合である第１集合Ｓ１においては、ベース要求値α０をゼロ以上に設定し、境界線ＢＬよりも高負荷側の動作点の集合である第２集合Ｓ２においては、ベース要求値α０をゼロに設定する。第２集合Ｓ２において、ベース要求値α０をゼロに設定するのは、第２集合Ｓ２においては、もともとの排気温度がある程度高くなるため、ディザ制御を実行しなくても、排気によって三元触媒２４を暖機することができるためである。一方、第１集合Ｓ１においては、ベース要求値α０を動作点に応じて可変設定する。ここでは、たとえば、回転速度ＮＥが大きい場合に小さい場合よりも、単位時間当たりの排気流量が大きくなることに鑑み、ベース要求値α０を小さい値に設定することも可能である。またたとえば、負荷率ＫＬが大きい場合に小さい場合よりも、単位時間当たりの排気流量が大きくなることに鑑み、ベース要求値α０を小さい値に設定することも可能である。なお、ＣＰＵ４２は、第１集合Ｓ１においても、ベース要求値α０をゼロと設定する領域を有してもよい。これは、たとえば、内燃機関１０の通常の運転によっては想定できない動作点について、ベース要求値α０をゼロとする設定とすればよい。
【００４５】
詳しくは、ＲＯＭ４４に、回転速度ＮＥおよび負荷率ＫＬを入力変数とし、ベース要求値α０を出力変数とするマップデータを記憶しておき、ＣＰＵ４２により、ベース要求値α０をマップ演算すればよい。なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００４６】
次に、ＣＰＵ４２は、今回のベース要求値α０（ｎ）から、前回の噴射量補正要求値α（ｎ−１）を減算した値が閾値Δよりも大きいか否かを判定する（Ｓ１４）。ここで、変数ｎは、ベース要求値α０等の時系列データのうちの特定のデータを指定するためのものであり、以下では、図３の一連の処理の制御周期の今回の制御周期において算出されるデータを「ｎ」とし、前回の制御周期において算出されるデータを「ｎ−１」と記載する。そしてＣＰＵ４２は、閾値Δよりも大きいと判定する場合（Ｓ１４：ＹＥＳ）、前回の噴射量補正要求値α（ｎ−１）に閾値Δを加算した値を、今回の噴射量補正要求値α（ｎ）に代入する（Ｓ１６）。これに対し、ＣＰＵ４２は、閾値Δ以下であると判定する場合（Ｓ１４：ＮＯ）、前回の噴射量補正要求値α（ｎ−１）から今回のベース要求値α０（ｎ）を減算した値が閾値Δよりも大きいか否かを判定する（Ｓ１８）。そしてＣＰＵ４２は、大きいと判定する場合（Ｓ１８：ＹＥＳ）、前回の噴射量補正要求値α（ｎ−１）から閾値Δを減算した値を、今回の噴射量補正要求値α（ｎ）に代入する（Ｓ２０）。また、ＣＰＵ４２は、閾値Δ以下であると判定する場合（Ｓ１８：ＮＯ）、今回の噴射量補正要求値α（ｎ）に、今回のベース要求値α０（ｎ）を代入する（Ｓ２２）。
【００４７】
これに対し、ＣＰＵ４２は、Ｓ１０の処理において否定判定する場合には、ベース要求値α０にゼロを代入し（Ｓ２４）、Ｓ１４の処理に移行する。
ＣＰＵ４２は、Ｓ１６，Ｓ２０，Ｓ２２の処理が完了する場合には、図３に示す一連の処理を一旦終了する。
【００４８】
図４に、目標パージ率算出処理Ｍ１０の処理手順を示す。図４に示す処理は、ＲＯＭ４４に記憶されたプログラムをＣＰＵ４２がたとえば所定周期で繰り返し実行することにより実現される。
【００４９】
図４に示す一連の処理において、ＣＰＵ４２は、まず、空燃比学習処理の停止期間であるか否かを判定する（Ｓ３０）。空燃比学習処理は、空燃比学習値ＬＡＦが収束したと判定してから所定期間は停止期間とされる。ただし、本実施形態では、内燃機関１０の始動後、収束した旨の判定がなされていなくても空燃比学習処理の停止期間となりえ、その場合、前回の内燃機関１０の停止前に更新され不揮発性メモリ４６に記憶された空燃比学習値ＬＡＦを用いて、要求噴射量Ｑｄが算出される。
【００５０】
ＣＰＵ４２は、空燃比学習処理の実行期間であると判定する場合（Ｓ３０：ＮＯ）、目標パージ率Ｒｐ＊にゼロを代入する（Ｓ３２）。すなわち、キャニスタ３６から吸気通路１２に流入する燃料蒸気がゼロではない場合、空燃比学習値ＬＡＦが燃料蒸気の影響を受けた値となることから、空燃比学習処理が実行されているときには、キャニスタ３６から吸気通路１２への燃料蒸気の流入を遮断すべく、目標パージ率Ｒｐ＊をゼロとする。
【００５１】
これに対し、ＣＰＵ４２は、停止期間であると判定する場合（Ｓ３０：ＹＥＳ）、負荷率ＫＬに基づき、要求パージ率Ｒｐ０を算出する（Ｓ３４）。ＣＰＵ４２は、たとえば負荷率ＫＬが小さい場合に大きい場合よりも要求パージ率Ｒｐ０を小さい値とすることにより、要求噴射量Ｑｄが燃料噴射弁１８の最小噴射量未満となることを抑制する。この処理は、たとえば、負荷率ＫＬを入力変数とし、要求パージ率Ｒｐ０を出力変数とするマップデータをＲＯＭ４４に記憶しておき、ＣＰＵ４２により要求パージ率Ｒｐ０をマップ演算することにより実現できる。
【００５２】
次に、ＣＰＵ４２は、ディザ制御を実行しているか否かを判定する（Ｓ３６）。そしてＣＰＵ４２は、ディザ制御を実行していないと判定する場合（Ｓ３６：ＮＯ）、目標パージ率Ｒｐ＊に、要求パージ率Ｒｐ０を代入する（Ｓ３８）。これに対し、ＣＰＵ４２は、ディザ制御を実行していると判定する場合（Ｓ３６：ＹＥＳ）、噴射量補正要求値αが閾値αｔｈ以上であるか否かを判定する（Ｓ４０）。ここで、閾値αｔｈは、目標パージ率Ｒｐ＊をＳ３８の処理によって設定したのでは、ディザ制御によって燃焼が悪化しやすい傾向が、燃料蒸気の気筒間配分ばらつきによって特に顕在化しやすくなる値に設定されている。ＣＰＵ４２は、閾値αｔｈ未満であると判定する場合（Ｓ４０：ＮＯ）、Ｓ３８の処理に移行する。
【００５３】
これに対し、ＣＰＵ４２は、閾値α以上であると判定する場合（Ｓ４０：ＹＥＳ）、目標パージ率Ｒｐ＊に、パージ補正上限値ＤｐｔｈＨをパージ濃度学習値Ｌｐで除算した値と、要求パージ率Ｒｐ０とのうちの小さい方を代入する（Ｓ４２）。ここで、パージ補正上限値ＤｐｔｈＨは、パージ補正比率Ｄｐの絶対値の上限値を制限するものであり、負の値を有する。パージ濃度学習値Ｌｐも負の値であるため、「ＤｐｔｈＨ／Ｌｐ」はゼロ以上の値となる。Ｓ４２の処理は、キャニスタ３６から吸気通路１２に流入する燃料蒸気の流量を吸入空気量Ｇａで割った値が過度に大きくならないようにするための設定である。
【００５４】
なお、ＣＰＵ４２は、Ｓ３２，Ｓ３８，Ｓ４２の処理が完了する場合、図４に示す一連の処理を一旦終了する。
図５に、気筒別補正量算出処理Ｍ３２の手順を示す。図５に示す処理は、ＲＯＭ４４に記憶されたプログラムをＣＰＵ４２がたとえば所定周期で繰り返し実行することにより実現される。
【００５５】
図５に示す一連の処理において、ＣＰＵ４２は、まずディザ制御を実行しているか否かを判定する（Ｓ５０）。ＣＰＵ４２は、ディザ制御を実行していないと判定する場合（Ｓ５０：ＮＯ）、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４のそれぞれに「１」を代入する（Ｓ５２）。すなわち、本実施形態では、ディザ制御を実行していないときには、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４による要求噴射量Ｑｄ０の補正を行わない。
【００５６】
これに対し、ＣＰＵ４２は、ディザ制御を実行中であると判定する場合（Ｓ５０：ＹＥＳ）、パージ補正比率Ｄｐが、Ｓ４２の処理で用いたパージ補正上限値ＤｐｔｈＨよりも絶対値が小さい規定比率ＤｐｔｈＬ以下であるか否かを判定する（Ｓ５４）。規定比率ＤｐｔｈＬは、キャニスタ３６から吸気通路１２に流入する燃料蒸気の気筒間配分ばらつきの影響が顕著となる上限値（絶対値の下限値）程度に設定されている。ＣＰＵ４２は、規定比率ＤｐｔｈＬよりも大きいと判定する場合（Ｓ５４：ＮＯ）、Ｓ５２の処理に移行する。これに対しＣＰＵ４２は、規定比率ＤｐｔｈＬ以下であると判定する場合（Ｓ５４：ＹＥＳ）、回転速度ＮＥ、負荷率ＫＬおよびパージ補正比率Ｄｐに応じて、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４のそれぞれを可変設定する（Ｓ５６）。ここで、回転速度ＮＥおよび負荷率ＫＬは、キャニスタ３６から吸気通路１２への燃料蒸気の気筒間配分ばらつきの変動の要因となるパラメータである。詳しくは、ＲＯＭ４４に、回転速度ＮＥ、負荷率ＫＬおよびパージ補正比率Ｄｐを入力変数とし、気筒別補正量Ｋｐ１を出力変数とするマップデータを記憶しておき、ＣＰＵ４２により、気筒別補正量Ｋｐ１をマップ演算すればよい。同様に、気筒別補正量Ｋｐ２，Ｋｐ３，Ｋｐ４についても、それぞれ各別のマップデータをＲＯＭ４４に記憶しておき、ＣＰＵ４２によりマップ演算を行えばよい。
【００５７】
ＣＰＵ４２は、Ｓ５２，Ｓ５６の処理が完了する場合、図５に示す処理を一旦終了する。
ここで、本実施形態の作用を説明する。
【００５８】
ＣＰＵ４２は、内燃機関１０の始動後、三元触媒２４の温度が低くしかも排気温があまり高くならない動作点である場合、三元触媒２４を暖機するために、噴射量補正要求値αをゼロよりも大きくしてディザ制御を実行する。さらに、ＣＰＵ４２は、内燃機関１０の始動後、空燃比学習値ＬＡＦの収束判定がなされていなくても、キャニスタ３６内の燃料蒸気の量が過度に多くなることを抑制すべく、パージ率をゼロよりも大きい値に制御する。パージ率がゼロよりも大きくなることによりキャニスタ３６から吸気通路１２に流入する燃料蒸気は、気筒間に均等に配分されるのではなく、内燃機関１０の構造等に起因したばらつきを生じる。
【００５９】
図６（ａ）は、気筒＃１〜＃４について、気筒＃１〜＃４のそれぞれに流入する燃料蒸気の要求噴射量Ｑｄ０に占める割合を例示する。一方、図６（ｂ）は、気筒＃１をリッチ燃焼気筒とし、噴射量補正要求値αが「０．３」である場合において、気筒＃１〜＃４のそれぞれのディザ制御による噴射量の要求噴射量Ｑｄ０に対する補正割合を示す。図６（ａ）の燃料蒸気が要求噴射量Ｑｄ０に占める割合と、図６（ｂ）のディザ制御による補正量が要求噴射量Ｑｄ０に占める割合とを合わせたものを、図６（ｃ）に示す。図６（ｃ）に例示するように、キャニスタ３６から吸気通路１２に燃料蒸気が流入する際にディザ制御を実行すると、気筒＃１〜＃４のそれぞれの噴射量が要求噴射量Ｑｄ０からずれる度合いは、ディザ制御単独の場合よりも大きくなりうる。このため、リッチ燃焼気筒の空燃比が想定以上にリッチとなり燃焼が悪化したり、リーン燃焼気筒の空燃比が想定以上にリーンとなり燃焼が悪化したりするおそれがある。
【００６０】
もっとも、本実施形態にかかる内燃機関１０は、燃料蒸気の気筒間配分のばらつきが小さくなるよう設計されており、これにより、ディザ制御を実行しない場合、燃料蒸気の気筒間ばらつきによる燃焼への影響は十分抑えられている。しかし、ディザ制御を実行する場合、空燃比をリーンとしたりリッチとしたりすることに起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間配分のばらつきによって助長されやすい。加えて、三元触媒２４の暖機処理時は、内燃機関１０の冷間時であるため、温間時と比較して燃料の揮発性が低いことなどに起因して噴射量の制御性が悪い。すなわち、本実施形態では、水温ＴＨＷが低い場合に高い場合に対してベース噴射量Ｑｂを増量することにより、温度が低いことに起因して燃焼に供されない燃料分を補償するフィードフォワード制御をしているが、その制御誤差の影響等に起因して、噴射量の制御性が悪い。さらに、本実施形態では、内燃機関１０の今回の始動の後に、空燃比学習値ＬＡＦが収束した旨の判定がなされる前であっても、目標パージ率Ｒｐ＊がゼロよりも大きい値とされることがあり、その際ディザ制御が実行されることがある。このため、空燃比学習値ＬＡＦが三元触媒２４の暖機時にとって精度の良いものとならないおそれがあり、噴射量の制御性が低くなる。このため、ディザ制御に起因して燃焼が悪化しやすい傾向は、小さく抑えられている燃料蒸気の気筒間ばらつきの影響のみによっては助長されたとしても顕在化しにくいものの、噴射量の制御性が低いこととの協働で助長され顕在化するおそれがある。
【００６１】
図７に、噴射量補正要求値α、パージ率Ｒｐ、リッチ燃焼気筒（＃ｗ）の気筒別補正量Ｋｐｗ、リーン燃焼気筒（＃ｘ）の気筒別補正量Ｋｐｘ、リッチ燃焼気筒（＃ｗ）の噴射量指令値Ｑ＊（＃ｗ）、リーン燃焼気筒（＃ｘ）の噴射量指令値Ｑ＊（＃ｘ）、および回転変動量Δωの絶対値の推移を示す。ここで、回転変動量Δωは、燃焼の悪化度合いを定量化するパラメータであり、圧縮上死点を１回のみ含む所定角度間隔の回転速度（瞬時回転速度ω）を、圧縮上死点の出現タイミングが時系列的に隣り合う一対の気筒のうちの先に圧縮上死点が出現する気筒における値から後に圧縮上死点が出現する気筒における値を減算した値である。燃焼が悪化してトルクが低下する場合、回転変動量Δωは、負で絶対値が大きい値となる。
【００６２】
図７に示すように、時刻ｔ１から噴射量補正要求値αがゼロから増加することによりディザ制御が開始されると、回転変動量Δωの絶対値が大きくなる。これは、リッチ燃焼気筒において生成されるトルクよりもリーン燃焼気筒において生成されるトルクの方が小さいことが主な要因である。その後、時刻ｔ２〜ｔ３において、パージ率Ｒｐがゼロよりも大きくなる場合、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４のそれぞれによって気筒＃１〜＃４のそれぞれの要求噴射量Ｑｄ０が補正されることから、噴射量指令値Ｑ＊についても、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４のそれぞれが反映されたものとなる。このため、キャニスタ３６から吸気通路１２に流入した燃料蒸気の気筒間配分ばらつきが各気筒の空燃比に与える影響を抑制できることから、ディザ制御によって燃焼が悪化しやすい傾向が、燃料蒸気の気筒間配分ばらつきによって助長され、顕在化することを抑制できる。
【００６３】
なお、図７には、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４による補正がなされない場合の回転変動量Δωの絶対値を一点鎖線にて示す。
以上説明した本実施形態によれば、さらに以下に記載する効果が得られる。
【００６４】
（１）回転速度ＮＥおよび負荷率ＫＬに応じて気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４を可変設定した。これにより、キャニスタ３６から吸気通路１２に流入した燃料蒸気が各気筒に配分される際の配分割合のばらつきが回転速度ＮＥや負荷率ＫＬに応じて変動することに対処できる。
【００６５】
（２）気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４による補正を、内燃機関１０の動作点が第２集合Ｓ２に入る場合には実行しないこととした。これにより、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４を第２集合Ｓ２において適合する必要がなく、適合工数を低減できる。
【００６６】
（３）パージ補正比率Ｄｐの絶対値が小さい場合、ＳＮ比が低くなることから、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４によって燃料蒸気の配分ばらつきを補償する制御の制御精度が低くなることが懸念される。そこで、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４による補正を、パージ補正比率Ｄｐが規定比率ＤｐｔｈＬ以下であることを条件に実行することとした。これにより、燃料蒸気の配分ばらつきを補償する制御を高精度とすることができる。
【００６７】
（４）噴射量補正要求値αが閾値αｔｈ以上である場合、目標パージ率Ｒｐ＊を制限した。これにより、ディザ制御の実行に起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間配分のばらつきによって助長され、顕在化することを抑制できる。
【００６８】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１］排気浄化装置は、三元触媒２４に対応し、調節装置は、パージバルブ３８に対応する。ディザ制御処理は、噴射量補正要求値αがゼロよりも大きい場合における、補正係数算出処理Ｍ４６、ディザ補正処理Ｍ４８、乗算処理Ｍ５０、補正係数算出処理Ｍ５２、ディザ補正処理Ｍ５４、噴射量操作処理Ｍ５６、およびＳ１４〜Ｓ２２の処理に対応する。パージ制御処理は、パージバルブ操作処理Ｍ１２に対応する。気筒別補正処理は、気筒別補正量算出処理Ｍ３２および、ばらつき補正処理Ｍ３４〜Ｍ４０に対応する。［３］減量補正量算出処理は、パージ補正比率算出処理Ｍ２６に対応する。要求噴射量設定処理は、目標値設定処理Ｍ１６、フィードバック処理Ｍ１８、係数加算処理Ｍ２２、補正係数算出処理Ｍ２８、要求噴射量算出処理Ｍ３０に対応する。［４］上記実施形態におけるディザ制御の実行条件がＳ１０の処理によって規定されることに対応する。［５］Ｓ１２，Ｓ５０の処理に対応する。［６］Ｓ５４の処理に対応する。なお、「規定量」は、「Ｑｂ・Ｄｐ」の絶対値に対応する。［７］制限処理は、Ｓ３８〜Ｓ４２の処理に対応する。
【００６９】
＜その他の実施形態＞
なお、上記実施形態の各事項の少なくとも１つを、以下のように変更してもよい。
・「要求噴射量算出処理について」
要求噴射量Ｑｄとしては、ベース噴射量Ｑｂが、フィードバック操作量ＫＡＦ、空燃比学習値ＬＡＦおよびパージ補正比率Ｄｐによって補正されたものに限らない。たとえば、ベース噴射量Ｑｂが、フィードバック操作量ＫＡＦおよび空燃比学習値ＬＡＦによって補正されたものであってパージ補正比率Ｄｐによっては補正されていないものである等、フィードバック操作量ＫＡＦ、空燃比学習値ＬＡＦおよびパージ補正比率Ｄｐのうちの２つのパラメータによって補正された値であってもよい。また、たとえば、ベース噴射量Ｑｂが、空燃比学習値ＬＡＦによって補正されたものであって、フィードバック操作量ＫＡＦおよびパージ補正比率Ｄｐによっては補正されていないもの等、フィードバック操作量ＫＡＦ、空燃比学習値ＬＡＦおよびパージ補正比率Ｄｐのうちの１つのパラメータによって補正された値であってもよい。
【００７０】
・「気筒別補正処理について」
上記実施形態では、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４を要求噴射量Ｑｄ０の補正係数としたが、これに限らない。たとえば、リッチ燃焼気筒の噴射量「Ｑｄ０・（１＋α）」やリーン燃焼気筒の噴射量「Ｑｄ・（１−α／３）」に加算する補正量であってもよい。また、たとえばパージ補正比率Ｄｐを補正する補正係数としてもよい。
【００７１】
なお、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４のそれぞれを回転速度ＮＥおよび負荷に応じて可変設定すること自体必須ではない。たとえば、負荷のみに応じて可変設定したり、回転速度ＮＥのみに応じて可変設定したり、固定値としたりしてもよい。
【００７２】
上記実施形態では、暖機要求のためのディザ制御が実行されている場合に気筒別補正処理を実行したがこれに限らない。たとえば、内燃機関１０の動作点が第１集合Ｓ１内に位置する場合、ディザ制御を実行していなくても、気筒別補正処理を実行してもよい。さらに、内燃機関１０のあらゆる動作点において、目標パージ率Ｒｐ＊がゼロよりも大きい場合に、常時、気筒別補正処理を実行してもよい。
【００７３】
さらに、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４のうちリッチ燃焼気筒に対応するものを、補正係数「１＋α」に基づき算出し、リーン燃焼気筒に対応するものを補正係数「１−α／３」に基づき算出してもよい。すなわち、たとえば、気筒＃１の要求噴射量Ｑｄ（＃１）は、Ｑｄ０・Ｋｐ１となり、気筒＃１がリッチ燃焼気筒である場合、噴射量指令値Ｑ＊（＃１）は、「Ｑｄ０・Ｋｐ１・（１＋α）」となるため、気筒別補正量Ｋｐ１による補正が、補正係数「１＋α」の影響を受ける。このため、補正係数を無視して気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４を算出すると、補正係数の影響によって、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４が適切な補正とならないおそれがある。もっとも、噴射量補正要求値αを回転速度ＮＥおよび負荷率ＫＬに基づき算出する場合、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４を、回転速度ＮＥおよび負荷率ＫＬに加えて、リーン燃焼気筒であるかリッチ燃焼気筒であるかに応じて気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４を算出してもよい。この場合であっても、回転速度ＮＥ、負荷率ＫＬおよびリーン燃焼気筒であるかリッチ燃焼気筒であるかの情報から補正係数の値を把握できるため、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４を補正係数に応じた補正と同等としうる。
【００７４】
・「制限処理について」
上記実施形態では、噴射量補正要求値αが所定値αｔｈ以上である場合、目標パージ率Ｒｐ＊を小さくなる側に制限し、その制限度合いを、パージ濃度学習値Ｌｐの絶対値が大きい場合に小さい場合よりも大きくしたが、これに限らない。たとえば、パージ濃度学習値Ｌｐの値によらない固定値以下に制限してもよい。
【００７５】
・「暖機要求によるディザ制御処理について」
上記実施形態では、ディザ制御処理の実行条件に関し、空燃比センサ５０の状態を入れなかったが、これを加えてもよい。すなわち、空燃比センサ５０が活性状態となり空燃比フィードバック制御が開始されることをディザ制御の実行条件としてもよい。この場合、空燃比センサ５０の活性前からディザ制御を実行する場合と比較すると、噴射量の制御性を向上させることができる。またたとえば、空燃比フィードバック制御が開始され、空燃比学習値ＬＡＦが更新され収束判定がなされることを、ディザ制御の実行条件としてもよい。この場合であっても、冷間時であることに起因して噴射量の制御性が低下するのであれば、目標パージ率Ｒｐ＊がゼロよりも大きい場合には、気筒別補正処理を行うことが特に有効である。
【００７６】
・「気筒別補正処理が利用されるディザ制御について」
たとえば、下記「排気の昇温要求について」の欄に記載したように、硫黄被毒回復処理の実行要求に応じてディザ制御を実行する場合、これについても気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４によって補正された要求噴射量Ｑｄを用いてもよい。これによっても、ディザ制御の実行に起因した燃焼が悪化しやすい傾向が、パージ制御による燃料蒸気の気筒間配分のばらつきによって助長され、顕在化することを抑制できる。さらに、ディザ制御を実行する場合、空燃比Ａｆが実際の排気空燃比の平均値からずれることを、目標値Ａｆ＊のフィードフォワード補正によって補償しているが、このフィードフォワード補正の誤差は、噴射量の制御性の低下を招く要因となる。このため、ディザ制御の実行時には燃焼が悪化しやすいため、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４によって補正された要求噴射量Ｑｄを用いることが有効である。もっとも、三元触媒２４の暖機要求に応じたディザ制御とそれ以外のディザ制御を実行する場合において、暖機要求に応じたディザ制御に限って、気筒別補正量Ｋｐ１，Ｋｐ２，Ｋｐ３，Ｋｐ４によって補正された要求噴射量Ｑｄを用いてもよい。
【００７７】
・「ディザ制御処理について」
噴射量補正要求値αを、回転速度ＮＥおよび負荷率ＫＬに加えて、水温ＴＨＷに基づき可変設定してもよい。またたとえば、回転速度ＮＥおよび水温ＴＨＷ、または負荷率ＫＬおよび水温ＴＨＷの２つのパラメータのみに基づいて可変設定してもよく、またたとえば、上記３つのパラメータのうちの１つのパラメータのみに基づいて可変設定してもよい。また、たとえば内燃機関１０の動作点を特定するパラメータとして回転速度ＮＥおよび負荷率ＫＬを用いる代わりに、負荷としての負荷率ＫＬに代えて、たとえば負荷としてのアクセル操作量を用いてもよい。また、回転速度ＮＥおよび負荷に代えて、吸入空気量Ｇａに基づき可変設定してもよい。
【００７８】
噴射量補正要求値αを上記パラメータに基づき可変設定すること自体必須ではない。
上記実施形態では、リッチ燃焼気筒の数よりもリーン燃焼気筒の数を多くしたが、これに限らない。たとえば、リッチ燃焼気筒の数とリーン燃焼気筒の数とを同一としてもよい。またたとえば、全ての気筒＃１〜＃４を、リーン燃焼気筒かリッチ燃焼気筒かにするものに限らず、たとえば１つの気筒の空燃比を目標空燃比としてもよい。さらに、１燃焼サイクル内で、筒内充填空気量が同一であるなら燃空比の平均値の逆数が目標空燃比となることも必須ではない。たとえば、上記実施形態のように４気筒の場合において、筒内充填空気量が同一であるなら、５ストロークにおける燃空比の平均値の逆数が目標空燃比となるようにしてもよく、３ストロークにおける燃空比の平均値の逆数が目標空燃比となるようにしてもよい。ただし、１燃焼サイクルにおいて、リッチ燃焼気筒とリーン燃焼気筒との双方が存在する期間が少なくとも２燃焼サイクルに１回以上は生じることが望ましい。換言すれば、所定期間において筒内充填空気量が同一であるなら燃空比の平均値の逆数を目標空燃比とする際、所定期間を２燃焼サイクル以下とすることが望ましい。ここで、たとえば所定期間を２燃焼サイクルとして２燃焼サイクルの間に１度だけリッチ燃焼気筒が存在する場合、リッチ燃焼気筒とリーン燃焼気筒との出現順序は、リッチ燃焼気筒をＲ、リーン燃焼気筒をＬとすると、たとえば「Ｒ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ，Ｌ」となる。この場合、所定期間よりも短い１燃焼サイクルの期間であって「Ｒ，Ｌ，Ｌ，Ｌ」となる期間が設けられており、気筒＃１〜＃４のうちの一部がリーン燃焼気筒であり、別の気筒がリッチ燃焼気筒となっている。ちなみに、１燃焼サイクルとは異なる期間における燃空比の平均値の逆数を目標空燃比とする場合には、内燃機関が吸気行程において一旦吸入した空気の一部を吸気バルブが閉弁するまでに吸気通路に吹き戻す量が無視できることが望ましい。なお、ローパスフィルタＭ１７は、空燃比Ａｆｕの上記所定期間あたりの時間平均値を出力する処理とすることが望ましい。
【００７９】
・「パージ制御処理について」
上記実施形態では、パージ率を制御するためにパージバルブ３８を操作したが、これに限らない。たとえば下記「調節装置について」の欄に記載したように、調節装置がポンプを備える場合、ポンプの消費電力の操作によってパージ率を制御してもよい。
【００８０】
・「調節装置について」
上記実施形態では、キャニスタ３６に捕集された燃料蒸気の吸気通路１２への流入量を調節する調節装置として、パージバルブ３８を例示したがこれに限らない。たとえば下記「内燃機関について」の欄に記載したように、過給機を備える内燃機関１０においては、吸気通路１２内の圧力がキャニスタ３６側と比較して低くならないことがあることに鑑み、パージバルブ３８に加えて、キャニスタ３６内の流体を吸入して吸気通路１２に吐出するポンプを備えたものであってもよい。
【００８１】
・「排気の昇温要求について」
昇温要求としては、上記実施形態において例示したものに限らない。硫黄被毒回復処理の実行要求が生じる場合であってもよい。ちなみに、硫黄被毒回復処理による昇温要求は、三元触媒２４の硫黄被毒量が予め定められた値以上となる場合に生じるとすればよく、また硫黄被毒量は、たとえば回転速度ＮＥが高いほど、負荷率ＫＬが高いほど被毒量の増加量を多く算出し、増加量を積算することによって算出すればよい。ただし、ディザ制御が実行される場合、実行されない場合と比較して被毒量の増加量は低減される。またたとえば、三元触媒２４に硫黄が堆積しやすい運転領域（たとえばアイドリング運転領域）である場合に、昇温要求が生じるとしてもよい。
【００８２】
またたとえば、「排気浄化装置について」の欄に記載したように、ＧＰＦを備える場合、ＧＰＦの昇温要求であってもよい。
またたとえば、排気通路２２への凝縮水の付着を抑制すべく排気通路２２を昇温するためにディザ制御による排気の昇温要求を生じさせてもよい。
【００８３】
・「排気浄化装置について」
排気浄化装置としては、三元触媒２４のみからなるものに限らない。たとえば、三元触媒２４の下流にガソリンパティキュレートフィルタ（ＧＰＦ）を備えてもよい。また、たとえば、ＧＰＦの下流に三元触媒を備えるものであってもよい。またたとえば、ＧＰＦのみを備えるものであってもよい。ただしＧＰＦの上流に酸素吸蔵能力を有する触媒を備えない場合、ディザ制御による昇温能力を高めるうえでは、ＧＰＦに酸素吸蔵能力を付与することが望ましい。
【００８４】
・「制御装置について」
制御装置としては、ＣＰＵ４２とＲＯＭ４４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、制御装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、１または複数のソフトウェア処理回路および１または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【００８５】
・「内燃機関について」
内燃機関としては、４気筒の内燃機関に限らない。たとえば直列６気筒の内燃機関であってもよい。またたとえば、Ｖ型の内燃機関等、第１の排気浄化装置と第２の排気浄化装置とを備え、それぞれによって排気が浄化される気筒が異なるものであってもよい。また、過給機を備えるものであってもよい。ちなみに、過給機を備える内燃機関の場合、排気中の熱が過給機で奪われることによってその下流に位置する排気浄化装置の温度が上昇しにくいことから、ディザ制御を利用することが特に有効である。
【００８６】
・「そのほか」
燃料噴射弁としては、燃焼室１６に燃料を噴射するものに限らず、たとえば吸気通路１２に燃料を噴射するものであってもよい。
【符号の説明】
【００８７】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…燃焼室、１８…燃料噴射弁、２０…点火装置、２２…排気通路、２４…三元触媒、３０…デリバリパイプ、３２…燃料タンク、３４…燃料ポンプ、３６…キャニスタ、３８…パージバルブ、４０…制御装置、４２…ＣＰＵ、４４…ＲＯＭ、４６…不揮発性メモリ、５０…空燃比センサ、５２…クランク角センサ、５４…エアフローメータ、５６…水温センサ。
【図１】
2019078244.tif 000003
【図２】
2019078244.tif 000004
【図３】
2019078244.tif 000005
【図４】
2019078244.tif 000006
【図５】
2019078244.tif 000007
【図６】
2019078244.tif 000008
【図７】
2019078244.tif 000009