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