(57)【要約】【課題】排気の圧力が高くなる要因が解消した際に、学習値が適切な値に対して過度に進角側の値となることを抑制できるようにした内燃機関の点火時期制御装置を提供する。【解決手段】ＣＰＵ５２は、ノッキングセンサ６４の出力信号Ｓｎに基づくフィードバック制御によって、ノッキングの発生を抑制できる範囲で点火時期を進角側に操作する。ここで、ＣＰＵ５２は、点火時期を、フィードバック操作量と学習値とに基づき設定する。ＣＰＵ５２は、排気圧Ｐｅｘが閾値以上となる場合、学習値の進角側への更新を制限する。【選択図】図１
2020020270.tif 000002
【特許請求の範囲】
【請求項１】
排気通路と吸気通路とを連通させるＥＧＲ通路と、該ＥＧＲ通路内の流路断面積を調整するＥＧＲバルブと、を備える内燃機関を制御対象とし、
前記ＥＧＲバルブを操作して前記吸気通路に吸入される流体に占める前記ＥＧＲ通路から前記吸気通路に流入する排気の割合を開ループ制御するＥＧＲ制御処理と、
ノッキングセンサの出力信号に基づくフィードバック制御によって、ノッキングの発生を抑制できる範囲で点火時期を進角側の時期に設定して点火装置を操作するフィードバック処理と、を実行し、
前記フィードバック処理は、
前記フィードバック制御の操作量に基づき学習値を更新する更新処理と、
前記操作量および前記学習値に基づき前記点火時期を設定する設定処理と、
前記ＥＧＲ通路に流入する排気の圧力が高い場合に低い場合と比較して前記学習値の進角側への更新を制限する更新制限処理と、を含む内燃機関の点火時期制御装置。
【請求項２】
前記学習値は、第１学習値および第２学習値を含み、
前記更新処理は、前記内燃機関のクランク軸の回転速度によって分割された領域毎に前記第１学習値を更新する第１更新処理と、前記内燃機関の負荷パラメータおよび前記回転速度によって分割された領域毎に前記第２学習値を更新する第２更新処理と、を含み、
前記更新制限処理は、前記第１学習値が所定の進角側ガード値よりも進角側に更新されることを禁止する第１学習制限処理と、前記圧力が閾値以上となる場合に前記第２学習値の更新を禁止する第２学習制限処理と、を含む請求項１記載の内燃機関の点火時期制御装置。
【請求項３】
前記学習値は、前記点火時期を遅角側に補正する学習値である第３学習値を含み、
前記更新処理は、前記負荷パラメータが所定量以下である場合に前記第３学習値を更新する第３更新処理を含み、
前記更新制限処理は、前記圧力が前記閾値以上となる場合に前記第３学習値の更新を禁止する第３学習制限処理を含む請求項２記載の内燃機関の点火時期制御装置。
【請求項４】
前記フィードバック処理は、
前記操作量を遅角側上限値よりも遅角側とならないように制限する操作量制限処理と、
前記更新制限処理による前記進角側への更新の制限がなされる場合に前記遅角側上限値を拡大する拡大処理と、を含む請求項２または３記載の内燃機関の点火時期制御装置。
【請求項５】
前記フィードバック処理は、
前記操作量を進角側上限値よりも進角側とならないように制限する操作量制限処理と、
前記更新制限処理による前記進角側への更新の制限がなされる場合に前記進角側上限値を拡大する拡大処理と、を含む請求項１〜４のいずれか１項に記載の内燃機関の点火時期制御装置。
【請求項６】
前記内燃機関の排気通路のうちのＥＧＲ通路よりも下流には、排気中の粒子状物質を捕集するフィルタが設けられており、
前記フィルタに捕集された粒子状物質を除去する除去処理を実行する請求項１〜５のいずれか１項に記載の内燃機関の点火時期制御装置。
【請求項７】
前記更新制限処理は、前記内燃機関の稼働時間が所定時間以上となる場合、前記学習値の進角側への更新を制限する経年制限処理を含む請求項１〜６のいずれか１項に記載の内燃機関の点火時期制御装置。
【請求項８】
前記フィードバック処理は、
前記操作量を進角側上限値よりも進角側とならないように制限する操作量制限処理と、
前記経年制限処理がなされている場合に前記進角側上限値を拡大する拡大処理と、を含む請求項７記載の内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、排気通路と吸気通路とを連通させるＥＧＲ通路と、該ＥＧＲ通路内の流路断面積を調整するＥＧＲバルブと、を備える内燃機関を制御対象とする内燃機関の点火時期制御装置に関する。
【背景技術】
【０００２】
たとえば下記特許文献１には、ＥＧＲ通路を備える内燃機関において、ノッキングセンサの出力信号に基づいて点火時期を変更しながら、点火時期を定める学習値を更新する点火時期制御装置が記載されている。なお、この制御装置では、ＥＧＲ量を、ＥＧＲバルブの開度等から検出する（段落「００１８」）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１６６０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、たとえば排気通路のうちＥＧＲ通路の下流側に排気中の粒子状物質（ＰＭ）を捕集するフィルタを備える内燃機関の場合、フィルタの目詰まりによって排気通路のうちのフィルタの上流側の圧力が高くなることから、ＥＧＲバルブの開度から把握されるＥＧＲ量よりも実際のＥＧＲ量が大きい値となることがある。ＥＧＲ量が多い場合には少ない場合よりもノッキングが生じにくいため、学習値がより進角側の値に更新される。このため、上記フィルタの目詰まり等に起因した排気通路内の圧力の上昇が生じた後、これが解消される場合には、解消された状況にとって学習値が過度に進角された値となるおそれがある。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．排気通路と吸気通路とを連通させるＥＧＲ通路と、該ＥＧＲ通路内の流路断面積を調整するＥＧＲバルブと、を備える内燃機関を制御対象とし、前記ＥＧＲバルブを操作して前記吸気通路に吸入される流体に占める前記ＥＧＲ通路から前記吸気通路に流入する排気の割合を開ループ制御するＥＧＲ制御処理と、ノッキングセンサの出力信号に基づくフィードバック制御によって、ノッキングの発生を抑制できる範囲で点火時期を進角側の時期に設定して点火装置を操作するフィードバック処理と、を実行し、前記フィードバック処理は、前記フィードバック制御の操作量に基づき学習値を更新する更新処理と、前記操作量および前記学習値に基づき前記点火時期を設定する設定処理と、前記ＥＧＲ通路に流入する排気の圧力が高い場合に低い場合と比較して前記学習値の進角側への更新を制限する更新制限処理と、を含む内燃機関の点火時期制御装置である。
【０００６】
排気の圧力が高い場合には低い場合と比較してＥＧＲ通路を介して排気通路から吸気通路に流入する排気の流量が多くなる傾向がある。そして吸気通路に流入する排気の流量が多くなる場合、ノッキングが生じにくくなることから、学習値が進角側に更新される傾向がある。学習値が進角側に更新された状態で、排気の圧力が高くなっていた要因が解消する場合、吸気通路に流入する排気の流量が減少することから、ノッキングが生じやすくなり、学習値が適切な値に対して過度に進角した値となるおそれがある。そこで上記構成では、排気の圧力が高い場合に低い場合と比較して学習値の進角側への更新を制限することにより、排気の圧力が高くなる要因が解消した際に、学習値が適切な値に対して過度に進角側の値となることを抑制できる。
【０００７】
２．前記学習値は、第１学習値および第２学習値を含み、前記更新処理は、前記内燃機関のクランク軸の回転速度によって分割された領域毎に前記第１学習値を更新する第１更新処理と、前記内燃機関の負荷パラメータおよび前記回転速度によって分割された領域毎に前記第２学習値を更新する第２更新処理と、を含み、前記更新制限処理は、前記第１学習値が所定の進角側ガード値よりも進角側に更新されることを禁止する第１学習制限処理と、前記圧力が閾値以上となる場合に前記第２学習値の更新を禁止する第２学習制限処理と、を含む上記１記載の内燃機関の制御装置である。
【０００８】
上記構成では、第１学習値が進角側ガード値よりも進角側に更新されることを禁止することから、何らかの要因でノッキングが生じやすい場合に第１学習値を遅角側に更新することはできる。また上記構成では、圧力が閾値以上となる場合に第２学習値の更新を禁止することにより、圧力が高い異常時におけるフィードバック制御の操作量によって第２学習値が不適切に更新されることを抑制できる。
【０００９】
３．前記学習値は、前記点火時期を遅角側に補正する学習値である第３学習値を含み、
前記更新処理は、前記負荷パラメータが所定量以下である場合に前記第３学習値を更新する第３更新処理を含み、前記更新制限処理は、前記圧力が前記閾値以上となる場合に前記第３学習値の更新を禁止する第３学習制限処理を含む上記２記載の内燃機関の点火時期制御装置である。
【００１０】
上記構成では、圧力が閾値以上となる場合に第３学習値を固定することにより、圧力が高い異常時におけるフィードバック制御の操作量によって第３学習値が不適切に更新されることを抑制できる。
【００１１】
４．前記フィードバック処理は、前記操作量を遅角側上限値よりも遅角側とならないように制限する操作量制限処理と、前記更新制限処理による前記進角側への更新の制限がなされる場合に前記遅角側上限値を拡大する拡大処理と、を含む上記２または３記載の内燃機関の点火時期制御装置である。
【００１２】
上記第２学習制限処理によれば、第２学習値の進角側のみならず遅角側への更新も停止されるため、第２学習値が、ノッキングを抑制する上で適切な値に対して進角側の値となるおそれがある。そして進角側の値となっている場合、フィードバック制御の操作量は、ノッキングを抑制する上で適切な点火時期とするには十分ではなくなるおそれがある。そこで上記構成では、遅角側上限値を拡大することによって、拡大しない場合と比較して、フィードバック制御の操作量をより遅角側の値とすることができることから、ノッキングをより抑制できる。
【００１３】
５．前記フィードバック処理は、前記操作量を進角側上限値よりも進角側とならないように制限する操作量制限処理と、前記更新制限処理による前記進角側への更新の制限がなされる場合に前記進角側上限値を拡大する拡大処理と、を含む上記１〜４のいずれか１つに記載の内燃機関の点火時期制御装置である。
【００１４】
更新制限処理がなされる場合、なされない場合と比較して、学習値が遅角側の値とされうるため、点火時期が進角側の値に設定しずらくなる。そこで上記構成では、制限がなされる場合に進角側上限値を拡大することにより、点火時期をより進角側に設定することが可能となり、ひいてはノッキングを抑制できる範囲でトルクを極力大きくすることができる。
【００１５】
６．前記内燃機関の排気通路のうちのＥＧＲ通路よりも下流には、排気中の粒子状物質を捕集するフィルタが設けられており、前記フィルタに捕集された粒子状物質を除去する除去処理を実行する上記１〜５のいずれか１つに記載の内燃機関の点火時期制御装置である。
【００１６】
フィルタに捕集された粒子状物質の量が多くなる場合、ＥＧＲ通路に流入する排気の圧力が高くなる。これに対し、除去処理がなされることによって、ＥＧＲ通路に流入する排気の圧力が低下する。このため、除去処理の前と比較して後において、ＥＧＲ通路から吸気通路に流入する排気の流量が減少することから、ノッキングが生じやすくなる。このため、更新制限処理を実行しない場合、除去処理直後において学習値が過度に進角側の値となり、点火時期を迅速にノッキングを抑制できる値に遅角させることができないおそれがある。このため、更新制限処理の利用価値が特に大きい。
【００１７】
７．前記更新制限処理は、前記内燃機関の稼働時間が所定時間以上となる場合、前記学習値の進角側への更新を制限する経年制限処理を含む上記１〜６のいずれか１つに記載の内燃機関の点火時期制御装置である。
【００１８】
内燃機関の稼働に伴って、潤滑油の一部が排気通路に排出され、灰としてフィルタに堆積する。灰が堆積される場合、ＥＧＲ通路に流入する排気の圧力が高くなるため、ＥＧＲ通路から吸気通路に流入する排気の流量が多くなり、ノッキングが生じにくくなる。このため、学習値が進角側の値に更新される傾向がある。学習値が進角側の値に更新された状態でフィルタが交換されると、学習値がノッキングを抑制する上で適切な値に対して過度に進角側の値となるおそれがある。そこで上記構成では、稼働時間が所定時間以上となることによりフィルタに詰まった灰によってＥＧＲ通路内に流入する排気の圧力が顕著に高くなるときに、学習値の進角側への更新を制限することにより、フィルタ交換後に、学習値がノッキングを抑制する上で適切な値に対して過度に進角側の値となることを抑制できる。
【００１９】
８．前記フィードバック処理は、前記操作量を進角側上限値よりも進角側とならないように制限する操作量制限処理と、前記経年制限処理がなされている場合に前記進角側上限値を拡大する拡大処理と、を含む上記７記載の内燃機関の点火時期制御装置である。
【００２０】
経年制限処理がなされる場合、学習値が進角側に更新されないために、点火時期を進角側の値に設定することが制限される。そこで上記構成では、経年制限処理がなされている場合に進角側上限値を拡大することにより、拡大しない場合と比較して点火時期を進角側の値に設定することができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態にかかる制御装置および内燃機関を示す図。
【図２】同実施形態にかかる制御装置が実行する処理を示すブロック図。
【図３】同実施形態にかかる点火時期の設定手法を示す図。
【図４】同実施形態にかかる点火時期制御処理の手順を示す流れ図。
【図５】同実施形態にかかる点火時期の学習処理の手順を示す流れ図。
【図６】同実施形態にかかる学習制限処理の手順を示す流れ図。
【図７】同実施形態の作用を示す図。
【図８】第２の実施形態にかかる学習制限処理の手順を示す流れ図。
【発明を実施するための形態】
【００２２】
＜第１の実施形態＞
以下、内燃機関の点火時期制御装置にかかる第１の実施形態について図面を参照しつつ説明する。
【００２３】
図１に示す内燃機関１０は、車両に搭載される。内燃機関１０の吸気通路１２には、上流側から順にスロットルバルブ１４およびポート噴射弁１６が設けられている。ポート噴射弁１６から噴射された燃料や吸気通路１２に吸入された空気は、吸気バルブ１８の開弁に伴って、シリンダ２０およびピストン２２によって区画された燃焼室２４に流入する。燃焼室２４において、燃料と空気との混合気は、点火装置２６の火花放電によって燃焼に供され、燃焼によって生じたエネルギは、ピストン２２を介してクランク軸２８の回転エネルギに変換される。燃焼室２４において燃焼に供された混合気は、排気バルブ３０の開弁に伴って排気として排気通路３２に排出される。排気通路３２には、上流側から順に、酸素吸蔵能力を有した触媒３４と、排気中の粒子状物質（ＰＭ）を捕集するフィルタ（ＧＰＦ３６）とが設けられている。
【００２４】
排気通路３２のうち触媒３４の上流の部分は、ＥＧＲ通路４０によって吸気通路１２に接続されている。ＥＧＲ通路４０には、その流路断面積を調整するＥＧＲバルブ４２が設けられている。
【００２５】
制御装置５０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御すべく、スロットルバルブ１４やポート噴射弁１６、点火装置２６、ＥＧＲバルブ４２等の内燃機関１０の操作部を操作する。制御装置５０は、制御量を制御するために、エアフローメータ６０によって検出される吸入空気量Ｇａや、クランク角センサ６２の出力信号Ｓｃｒ、ノッキングセンサ６４の出力信号Ｓｎ、排気圧センサ６６によって検出される排気通路３２のうちのＧＰＦ３６の上流側の圧力（排気圧Ｐｅｘ）を参照する。
【００２６】
制御装置５０は、ＣＰＵ５２、ＲＯＭ５４、バックアップＲＡＭ５６、および制御装置５０内の各箇所に電力を供給する電源回路５８を備えており、ＲＯＭ５４に記憶されたプログラムをＣＰＵ５２が実行することにより上記制御量の制御を実行する。なお、バックアップＲＡＭ５６は、制御装置５０の主電源がオフとなり、ＣＰＵ５２等に電力が供給されないときであっても給電が維持されるＲＡＭである。
【００２７】
図２に、制御装置５０が実行する処理を示す。図２に示す処理は、ＲＯＭ５４に記憶されたプログラムをＣＰＵ５２が実行することにより実現される。
ＥＧＲ制御処理Ｍ１０は、内燃機関１０の動作点に応じて、吸気通路１２に流入する流体に占めるＥＧＲ通路４０から吸気通路１２に流入する流体の割合であるＥＧＲ率を制御すべく、ＥＧＲバルブ４２に操作信号ＭＳ４を出力してＥＧＲバルブ４２を操作する処理である。ＥＧＲ制御処理Ｍ１０は、ＥＧＲ率を開ループ制御する処理であり、内燃機関１０の動作点に応じた目標値にＥＧＲ率を制御するうえであらかじめ定められたＥＧＲバルブ４２の開口度となるように操作信号ＭＳ４を出力する処理となる。ここで、内燃機関１０の動作点は、回転速度ＮＥおよび充填効率ηによって規定される。回転速度ＮＥは、出力信号ＳｃｒによりＣＰＵ５２に基づき算出される。また、充填効率ηは、内燃機関１０の燃焼室２４内に充填される空気量を示すパラメータ（負荷パラメータ）であり、回転速度ＮＥや吸入空気量Ｇａに基づき算出される。また、本実施形態では、目標値が、中負荷領域において最も大きくなるように設定されている。
【００２８】
堆積量算出処理Ｍ１２は、内燃機関１０の動作点に基づき、ＧＰＦ３６が捕集したＰＭの量（ＰＭ堆積量ＤＰＭ）を算出する処理である。
ＰＭ再生処理Ｍ１４は、ＰＭ堆積量ＤＰＭが所定量以上となる場合、ＧＰＦ３６に捕集されているＰＭを燃焼除去する処理を実行すべく、ポート噴射弁１６に操作信号ＭＳ２を出力してポート噴射弁１６を操作する処理である。ＰＭ再生処理Ｍ１４は、触媒３４において燃料を燃焼させてＧＰＦ３６に流入する排気の温度を上昇させる処理を含む。
【００２９】
点火時期操作処理Ｍ１６は、内燃機関１０の動作点や、排気圧Ｐｅｘ等に基づき、点火時期を制御すべく、点火装置２６に操作信号ＭＳ３を出力して点火装置２６を操作する処理である。
【００３０】
図３に、低負荷領域において点火時期操作処理Ｍ１６によって設定される点火時期Ａｉｇを示す。
図３に示す最進角点火時期Ａｂは、ＭＢＴ点火時期と第１ノック限界点とのうちの遅角側の時期である。ＭＢＴ点火時期は、最大トルクの得られる点火時期（最大トルク点火時期）である。また第１ノック限界点は、ノック限界の高い高オクタン価燃料の使用時に、想定される最良の条件下で、ノッキングを許容できるレベル以内に収めることのできる点火時期の進角限界値（ノック限界点火時期）である。
【００３１】
遅角差分ＡＲは、最進角点火時期Ａｂと第２ノック限界点との差分である。第２ノック限界点は、ノック限界の低い低オクタン価燃料の使用時であってデポジット付着が全く無いときにおいて、ノッキングを許容できるレベル以内に収めることのできる点火時期の進角限界（ノック限界点火時期）を示している。
【００３２】
点火時期Ａｉｇは、低負荷領域においては、第２ノック限界点に対して、第１学習値ａ１と、第２学習値ａ２と、第３学習値ｒおよびデポジット最大遅角量ＤＬの積とフィードバック操作量ＡＦＢとの和だけずらした値に設定される。ここで、フィードバック操作量ＡＦＢは、ノッキングセンサ６４の出力信号Ｓｎに基づくフィードバック制御によって、ノッキングの発生を抑制できる範囲で点火時期を進角側に操作するための操作量である。また、第１学習値ａ１は、全負荷領域において、回転速度ＮＥによって分割された領域毎に、フィードバック操作量ＡＦＢの絶対値を小さくするように更新される値である。第２学習値ａ２は、低負荷領域および中負荷領域において、回転速度ＮＥおよび充填効率ηによって分割された領域毎に、フィードバック操作量ＡＦＢの絶対値を小さくするように更新される値である。第２学習値ａ２は、主に、フィードバック操作量ＡＦＢのうちのＥＧＲ率に起因する量が学習された値である。本実施形態では、ＥＧＲ率が最大となるのが中負荷領域であることなどに起因して、高負荷領域においては、ノッキングの生じやすさに及ぼすＥＧＲ率の影響が中負荷領域等と比較して小さくなることから、高負荷領域では、第２学習値ａ２を用いない。
【００３３】
デポジット最大遅角量ＤＬは、第２ノック限界点と第３ノック限界点との差である。第３ノック限界点は、ノック限界の低い低オクタン価燃料の使用時であってデポジットが想定される最大量付着した場合において、ノッキングを許容できるレベル以内に収めることのできる点火時期の進角限界（ノック限界点火時期）を示している。
【００３４】
第３学習値ｒは、低負荷領域において、回転速度ＮＥおよび充填効率ηによって分割された領域毎に、フィードバック操作量ＡＦＢの絶対値を小さくするように更新される値である。ここで、デポジットによるノッキングの生じやすさの変化は、低負荷において特に顕著となることから、第３学習値ｒを低負荷に限って更新することとしている。
【００３５】
なお、図３には、第２学習値ａ２と、第３学習値ｒおよびデポジット最大遅角量ＤＬの積と、フィードバック操作量ＡＦＢとを、遅角側の補正量として記載しているが、第２学習値ａ２およびフィードバック操作量ＡＦＢは、進角側の値となりうる。なお、本実施形態では、進角側の値を正としている。また、本実施形態では、第３ノック限界点よりも遅角側の基準時期ｒｅｆに対する進角量によって、点火時期Ａｉｇを定義する。
【００３６】
図４に、点火時期操作処理Ｍ１６のうちの特に点火時期Ａｉｇの操作にかかる処理の手順を示す。図４に示す処理は、ＲＯＭ５４に記憶されたプログラムをＣＰＵ５２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を表現する。
【００３７】
図４に示す一連の処理において、ＣＰＵ５２は、まず内燃機関１０の動作点に基づき、最進角点火時期Ａｂを算出する（Ｓ１０）。詳しくは、内燃機関１０の動作点を規定する回転速度ＮＥおよび充填効率ηを入力変数とし、最進角点火時期Ａｂを出力変数とするマップデータがＲＯＭ５４に予め記憶された状態で、ＣＰＵ５２により最進角点火時期Ａｂがマップ演算される。なお、マップデータとは、入力変数の離散的な値と、入力変数の値のそれぞれに対応する出力変数の値と、の組データである。またマップ演算は、たとえば、入力変数の値がマップデータの入力変数の値のいずれかに一致する場合、対応するマップデータの出力変数の値を演算結果とし、一致しない場合、マップデータに含まれる複数の出力変数の値の補間によって得られる値を演算結果とする処理とすればよい。
【００３８】
次にＣＰＵ５２は、バックアップＲＡＭ５６に記憶されている第１学習値ａ１、第２学習値ａ２および第３学習値ｒを取得する（Ｓ１２）。ここで、ＣＰＵ５２は、バックアップＲＡＭ５６に記憶されている回転速度ＮＥ毎の第１学習値ａ１のうち、現在の回転速度ＮＥに応じた第１学習値ａ１を選択的に取得する。またＣＰＵ５２は、バックアップＲＡＭ５６に記憶されている回転速度および充填効率η毎の第２学習値ａ２のうち、現在の回転速度ＮＥおよび充填効率ηに応じた第２学習値ａ２を選択的に取得する。同様に、ＣＰＵ５２は、バックアップＲＡＭ５６に記憶されている回転速度ＮＥおよび充填効率η毎の第３学習値ｒのうち、現在の回転速度ＮＥおよび充填効率ηに応じた第３学習値ｒを選択的に取得する。
【００３９】
次にＣＰＵ５２は、ノッキングセンサ６４の出力信号Ｓｎに基づき、フィードバック操作量ＡＦＢを算出する（Ｓ１４）。詳しくはＣＰＵ５２は、出力信号Ｓｎに基づく振動強度が所定値以上の場合にフィードバック操作量ＡＦＢを遅角側の更新量だけ更新し、所定値を上回る量が大きいほど更新量の絶対値を大きくする。また、ＣＰＵ５２は、振動強度が規定値（＜所定値）以下の場合、フィードバック操作量ＡＦＢを所定の更新量ずつ進角側に更新する。すなわち、振動強度が所定値以上となることによってフィードバック操作量ＡＦＢが遅角側の値とされると、フィードバック操作量ＡＦＢの次の算出周期において、たとえ所定値以下となっていても、フィードバック操作量ＡＦＢは、遅角側の値とされる前の値に直ちに戻ることはない。また、フィードバック操作量ＡＦＢがより遅角側の値に算出された次の算出周期においても出力信号Ｓｎに基づく振動強度が所定値以上の場合、フィードバック操作量ＡＦＢはより遅角側の値とされる。すなわちここでは、フィードバック操作量ＡＦＢの遅角量の更新処理に積分動作が入っている。
【００４０】
次にＣＰＵ５２は、フィードバック操作量ＡＦＢが、進角側上限値ＡＡよりも進角側であるか否かを判定する（Ｓ１６）。そして、ＣＰＵ５２は、進角側上限値ＡＡよりも進角側であると判定する場合（Ｓ１６：ＹＥＳ）、フィードバック操作量ＡＦＢに進角側上限値ＡＡを代入する（Ｓ１８）。これに対しＣＰＵ５２は、進角側上限値ＡＡ以下であると判定する場合（Ｓ１６：ＮＯ）、フィードバック操作量ＡＦＢが遅角側上限値ＡＢよりも遅角側であるか否かを判定する（Ｓ２０）。そしてＣＰＵ５２は、遅角側上限値ＡＢよりも遅角側であると判定する場合（Ｓ２０：ＹＥＳ）、フィードバック操作量ＡＦＢに遅角側上限値ＡＢを代入する（Ｓ２２）。
【００４１】
ＣＰＵ５２は、Ｓ１８，Ｓ２２の処理が完了する場合やＳ２０の処理において否定判定する場合には、充填効率ηが所定量η１以下であるか否かを判定する（Ｓ２４）。この処理は、低負荷領域にあるか否かを判定するためのものである。そしてＣＰＵ５２は、所定量η１以下であると判定する場合（Ｓ２４：ＹＥＳ）、点火時期Ａｉｇに、「Ａｂ−ＡＲ＋ａ１＋ａ２−ｒ・ＤＬ＋ＡＦＢ」を代入する（Ｓ２６）。ここで、ＣＰＵ５２は、第２ノック限界点が内燃機関１０の動作点に応じて値が異なりうることに鑑み、遅角差分ＡＲを、内燃機関１０の動作点に基づき可変設定する。詳しくは、内燃機関１０の動作点を規定する回転速度ＮＥおよび充填効率ηを入力変数とし、遅角差分ＡＲを出力変数とするマップデータがＲＯＭ５４に予め記憶された状態で、ＣＰＵ５２により遅角差分ＡＲをマップ演算する。また、ＣＰＵ５２は、デポジット最大遅角量ＤＬを、内燃機関１０の動作点に応じて可変設定する。詳しくは、内燃機関１０の動作点を規定する回転速度ＮＥおよび充填効率ηを入力変数とし、デポジット最大遅角量ＤＬを出力変数とするマップデータがＲＯＭ５４に予め記憶された状態で、ＣＰＵ５２によりデポジット最大遅角量ＤＬをマップ演算する。
【００４２】
これに対しＣＰＵ５２は、充填効率ηが所定量η１よりも大きいと判定する場合（Ｓ２４：ＮＯ）、充填効率ηが、所定量η１よりも大きい規定量η２以下であるか否かを判定する（Ｓ２８）。この処理は、中負荷領域にあるか否かを判定するためのものである。そしてＣＰＵ５２は、規定量η２以下であると判定する場合（Ｓ２８：ＹＥＳ）、点火時期Ａｉｇに、「Ａｂ−ＡＲ＋ａ１＋ａ２＋ＡＦＢ」を代入する（Ｓ３０）。これに対しＣＰＵ５２は、規定量η２よりも大きいと判定する場合（Ｓ２８：ＮＯ）、点火時期Ａｉｇに、「Ａｂ−ＡＲ＋ａ１＋ＡＦＢ」を代入する（Ｓ３２）。
【００４３】
ＣＰＵ５２は、Ｓ２６，Ｓ３０，Ｓ３２の処理が完了する場合、点火時期Ａｉｇにおいて火花放電を生じさせるべく、点火装置２６に操作信号ＭＳ３を出力する（Ｓ３４）。
なお、ＣＰＵ５２は、Ｓ３４の処理を完了する場合、図４に示す一連の処理を一旦終了する。
【００４４】
図５に、点火時期操作処理Ｍ１６のうちの学習値の更新処理の手順を示す。図５に示す処理は、ＲＯＭ５４に記憶されたプログラムをＣＰＵ５２がたとえば所定周期で繰り返し実行することにより実現される。
【００４５】
図５に示す一連の処理において、ＣＰＵ５２は、まず、フィードバック操作量ＡＦＢの指数移動平均処理値である学習用操作量ＡＦＢｓを更新する（Ｓ４０）。詳しくはＣＰＵ５２は、「０」よりも大きく「１」よりも小さい値αを用いて、学習用操作量ＡＦＢｓを「ＡＦＢｓ＋α・（ＡＦＢ−ＡＦＢｓ）」に更新する。次にＣＰＵ５２は、学習用操作量ＡＦＢｓが、進角更新閾値Ａｔｈ１よりも大きいか否かを判定する（Ｓ４２）。そしてＣＰＵ５２は、進角更新閾値Ａｔｈ１よりも大きいと判定する場合（Ｓ４２：ＹＥＳ）、補正量Δに、学習用操作量ＡＦＢｓから進角更新閾値Ａｔｈ１を減算した値を代入する（Ｓ４４）。
【００４６】
そしてＣＰＵ５２は、充填効率ηが規定量η２以下であるか否かを判定する（Ｓ４６）。ＣＰＵ５２は、規定量η２以下であると判定する場合（Ｓ４６：ＹＥＳ）、第１学習値ａ１に「β・Δ」を加算することによって第１学習値ａ１を更新し、また、第２学習値ａ２に、「（１−β）・Δ」を加算することによって第２学習値ａ２を更新する（Ｓ４８）。ここで、分割数βは、「０」以上「１」以下の値である。分割数βは、内燃機関１０の動作点に応じて可変設定されてもよく、また、第１学習値ａ１および第２学習値ａ２の値に応じて可変設定されてもよい。なお、分割数βが「０」または「１」となりうるのは、第１学習値ａ１または第２学習値ａ２が予め定められた進角側学習上限値に到達している場合に限られるものとする。
【００４７】
これに対しＣＰＵ５２は、規定量η２よりも大きいと判定する場合（Ｓ４６：ＮＯ）、第１学習値ａ１に補正量Δを加算することによって第１学習値ａ１を更新する（Ｓ５０）。
【００４８】
一方、ＣＰＵ５２は、Ｓ４２の処理において否定判定する場合、学習用操作量ＡＦＢｓが遅角更新閾値Ａｔｈ２よりも遅角側であるか否かを判定する（Ｓ５２）。遅角更新閾値Ａｔｈ２は、負の値である。そして、ＣＰＵ５２は、遅角更新閾値Ａｔｈ２よりも遅角側であると判定する場合（Ｓ５２：ＹＥＳ）、補正量Δに、学習用操作量ＡＦＢｓから遅角更新閾値Ａｔｈ２を減算した値を代入する（Ｓ５４）。
【００４９】
そしてＣＰＵ５２は、充填効率ηが所定量η１以下であるか否かを判定する（Ｓ５６）。ＣＰＵ５２は、所定量η１以下であると判定する場合（Ｓ５６：ＹＥＳ）、補正量Δに基づき、第１学習値ａ１、第２学習値ａ２および第３学習値ｒを更新する（Ｓ５８）。ここでは、「０」以上「１」以下であって「β１＋β２」が「１」以下である分割数β１，β２を用いて、第１学習値ａ１に「β１・Δ」を加算することによって第１学習値ａ１を更新し、第２学習値ａ２に「β２・Δ」を加算することによって第２学習値ａ２を更新する。また、第３学習値ｒに、「（１−β１−β２）・Δ／ＤＬ」を加算することによって第３学習値ｒを更新する。なお、分割数β１，β２が「０」や「１」となりうるのは、たとえば第３学習値ｒが「１」である場合等、第１学習値ａ１や第２学習値ａ２、第３学習値ｒのなかに遅角側学習上限値に到達したものがある場合に限るものとする。
【００５０】
これに対し、ＣＰＵ５２は、所定量η１よりも大きいと判定する場合（Ｓ５６：ＮＯ）、充填効率ηが規定量η２以下であるか否かを判定する（Ｓ６０）。そしてＣＰＵ５２は、規定量η２以下であると判定する場合（Ｓ６０；ＹＥＳ）、第１学習値ａ１に「γ・Δ」を加算することによって第１学習値ａ１を更新し、また、第２学習値ａ２に、「（１−γ）・Δ」を加算することによって第２学習値ａ２を更新する（Ｓ６２）。ここで、分割数γは、「０」以上「１」以下の値である。なお、分割数γが「０」または「１」となりうるのは、第１学習値ａ１または第２学習値ａ２が予め定められた遅角側学習上限値に到達している場合に限られるものとする。
【００５１】
これに対しＣＰＵ５２は、規定量η２よりも大きいと判定する場合（Ｓ６０：ＮＯ）、第１学習値ａ１に補正量Δを加算することによって第１学習値ａ１を更新する（Ｓ６４）。
【００５２】
ＣＰＵ５２は、Ｓ５８，Ｓ６２，Ｓ６４の処理が完了する場合、制限処理を実行する（Ｓ６６）。
図６に、制限処理の手順を示す。
【００５３】
図６に示す一連の処理において、ＣＰＵ５２は、まず排気圧Ｐｅｘを取得する（Ｓ７０）。次にＣＰＵ５２は、制限フラグＦが「１」であるか否かを判定する（Ｓ７２）。制限フラグＦは、排気圧Ｐｅｘに起因して学習値の更新を制限する処理を実行している場合に「１」となり、同処理を実行していない場合に「０」となる。ＣＰＵ５２は、制限フラグＦが「０」であると判定する場合（Ｓ７２：ＮＯ）、排気圧Ｐｅｘが第１閾値ＰｔｈＨ以上であるか否かを判定する（Ｓ７４）。この処理は、ＧＰＦ３６の目詰まりによってノッキングが生じにくくなっているか否かを判定する処理である。すなわち、ＧＰＦ３６に目詰まりが生じると、ＥＧＲ通路４０に流入する排気の圧力が過度に上昇し、これによって、ＥＧＲ制御処理Ｍ１０によるＥＧＲ率の目標値よりも実際のＥＧＲ率が大きくなり、ノッキングが生じにくくなる。第１閾値ＰｔｈＨは、ＥＧＲ制御処理Ｍ１０によるＥＧＲ率の制御精度が許容範囲からはずれる値に設定されている。ここで、ＣＰＵ５２は、第１閾値ＰｔｈＨを、吸入空気量Ｇａが大きい場合に小さい場合よりも大きい値に設定する。
【００５４】
ＣＰＵ５２は、第１閾値ＰｔｈＨ未満であると判定する場合（Ｓ７４：ＮＯ）、進角側上限値ＡＡに、通常値ＡＡＬを代入し、遅角側上限値ＡＢに、通常値ＡＢＨを代入する（Ｓ７６）。
【００５５】
これに対しＣＰＵ５２は、第１閾値ＰｔｈＨ以上であると判定する場合（Ｓ７４：ＹＥＳ）、制限フラグＦに「１」を代入する（Ｓ７８）。そしてＣＰＵ５２は、その時点における第２学習値ａ２と、「０」とのうちの小さい方を、第２制限値ａｔｈ２に代入し、また、その時点における第３学習値ｒを、第３制限値ｒｔｈに代入する（Ｓ８０）。なお、第２制限値ａｔｈ２は、回転速度ＮＥおよび充填効率ηによって分割された領域毎に定まるものであり、Ｓ８０の処理においては、分割された各領域毎に、第２制限値ａｔｈ２を定める。同様に、第３制限値ｒｔｈは、回転速度ＮＥおよび充填効率ηによって分割された領域毎に定まるものであり、Ｓ８０の処理においては、分割された各領域毎に、第３制限値ｒｔｈを定める。
【００５６】
ＣＰＵ５２は、制限フラグＦが「１」であると判定する場合（Ｓ７２：ＹＥＳ）、排気圧Ｐｅｘが、第２閾値ＰｔｈＬ以下であるか否かを判定する（Ｓ８２）。ここで、第２閾値ＰｔｈＬは、第１閾値ＰｔｈＨよりも小さい値であり、ＥＧＲ制御処理Ｍ１０によるＥＧＲ率の制御精度を許容範囲内とすることができる値に設定されている。ＣＰＵ５２は、第２閾値ＰｔｈＬを、吸入空気量Ｇａが大きい場合に小さい場合よりも大きい値に設定する。ＣＰＵ５２は、第２閾値ＰｔｈＬよりも大きいと判定する場合（Ｓ８２：ＮＯ）、第１学習値ａ１に、現在の第１学習値ａ１の値と進角側ガード値ａｔｈ１とのうちの小さい方を代入し、第２学習値ａ２に第２制限値ａｔｈ２を代入し、第３学習値ｒに第３制限値ｒｔｈを代入する（Ｓ８４）。なお、本実施形態では、第１学習値ａ１の初期値は、予め定められた量だけ進角側の値とされており、進角側ガード値ａｔｈ１は、進角側の値であって初期値よりも小さい値とされる。これは、経年変化によってノッキングが生じやすくなることがあることを考慮したものである。
【００５７】
ここで、第１学習値ａ１を進角側ガード値ａｔｈｌ以下に制限するのは、排気圧Ｐｅｘが過度に高い場合、ＥＧＲ率が目標値よりも大きくなることに起因してノッキングが生じにくくなることから、第１学習値ａ１が過度に進角側の値とされるおそれがあるためである。また、第２学習値ａ２や第３学習値ｒを固定するのは、排気圧Ｐｅｘが過度に高い場合、ＥＧＲ率が目標値よりも大きくなることに起因してノッキングが生じにくくなることから、ＥＧＲ率が正常である場合の値を学習することができないためである。
【００５８】
次にＣＰＵ５２は、進角側上限値ＡＡに、通常値ＡＡＬよりも大きい拡大値ＡＡＨを代入し、遅角側上限値ＡＢに、通常値ＡＢＨよりも値が小さく遅角側に拡大するための値である拡大値ＡＢＬを代入する（Ｓ８６）。
【００５９】
ここで、遅角側上限値ＡＢに拡大値ＡＢＬを代入することによって、フィードバック操作量ＡＦＢがより遅角側に大きい値をとりうるようにするのは、Ｓ８４の処理によって、第２学習値ａ２および第３学習値ｒの更新が禁止されることに鑑みたものである。すなわち、何らかの要因によってノッキングが生じやすくなってもＳ８４の処理によって第２学習値ａ２および第３学習値ｒの更新が禁止される場合、禁止されない場合と比較して、点火時期Ａｉｇが遅角側に設定されにくくなる。このため、遅角側上限値ＡＢによってフィードバック操作量ＡＦＢが遅角側により大きい値をとれるようにすることにより、ノッキングが発生しやすくなった場合であっても、これに対処する。
【００６０】
また、進角側上限値ＡＡに拡大値ＡＡＨを代入することによって、フィードバック操作量ＡＦＢがより進角側に大きい値をとりうるようにするのは、Ｓ８４の処理によって、第１学習値ａ１の進角側への更新が禁止されて且つ第２学習値ａ２および第３学習値ｒの更新が禁止されることに鑑みたものである。すなわち、進角側への更新が禁止されると、点火時期Ａｉｇが進角側に設定されにくくなる。このため、進角側上限値ＡＡの拡大によってフィードバック操作量ＡＦＢが進角側により大きい値をとれるようにすることにより、ノッキングが生じない場合に、より効率が良い点火時期とすることができる。
【００６１】
一方、ＣＰＵ５２は、排気圧Ｐｅｘが第２閾値ＰｔｈＬ以下であると判定する場合（Ｓ８２：ＹＥＳ）、制限フラグＦに「０」を代入する（Ｓ８８）。
なお、ＣＰＵ５２は、Ｓ７６，Ｓ８０，Ｓ８６の処理が完了する場合、図５のＳ６６の処理を完了し、図５の一連の処理を一旦終了する。ただし、ＣＰＵ５２は、図５の一連の処理を一旦終了するのに先立ち、学習値の更新量に基づき、フィードバック操作量ＡＦＢを更新する。すなわち、たとえばＣＰＵ５２は、Ｓ４８，Ｓ５０，Ｓ５８，Ｓ６２，Ｓ６４の処理を実行している場合であって且つＳ８４の処理を実行していない場合には、フィードバック操作量ＡＦＢから補正量Δを減算することによってフィードバック操作量ＡＦＢを更新する。
【００６２】
ここで、本実施形態の作用および効果について説明する。
図７に、破線にて、ノッキングが生じない進角限界となる点火時期と排気圧Ｐｅｘとの関係を示す。図７に示すように、排気圧Ｐｅｘが高い場合には低い場合よりも、ノッキングが生じない進角限界となる点火時期がより進角側の値となる。
【００６３】
また、図７には、点Ｐ１にてＰＭ堆積量ＤＰＭが小さい場合の点火時期Ａｉｇを示すとともに、点Ｐ２にてＰＭ堆積量ＤＰＭが大きくなった場合の点火時期Ａｉｇを示す。ここで、ＰＭ堆積量ＤＰＭが大きくなると、ＣＰＵ５２は、ＰＭ再生処理を実行する。これにより、ＧＰＦ３６に捕集されていたＰＭが燃焼除去されると、排気圧Ｐｅｘが低下する。この際、第１学習値ａ１や第２学習値ａ２が過度に進角側の値となっている場合には、ノッキングが生じやすいのであるが、学習用操作量ＡＦＢｓがフィードバック操作量ＡＦＢの指数移動平均処理値であることなどから、フィードバック操作量ＡＦＢと比較して第１学習値ａ１や第２学習値ａ２の変化速度は小さい。そのため、ＰＭ再生処理直後に点火時期Ａｉｇは点Ｐ３にて示されるような時期となり、ノッキングが生じた後であっても、点火時期Ａｉｇを迅速に遅角側に変更することができない。
【００６４】
これに対し、本実施形態では、排気圧Ｐｅｘが高くなる場合、第１学習値ａ１の進角側への更新が禁止され、また、第２学習値ａ２の更新が禁止される。このため、ＰＭ再生処理がなされる直前において、第１学習値ａ１や第２学習値ａ２が過度に進角側の値となることを抑制できる。このため、ＰＭ再生処理後においては、点火時期Ａｉｇがノッキングを抑制できる適切な時期に対して過度に進角側に設定されることを抑制できる。
【００６５】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００６６】
本実施形態では、制限処理として、図６に示した処理に加えて、図８に示す処理を実行する。
図８に示す処理は、ＲＯＭ５４に記憶されたプログラムをＣＰＵ５２が実行することにより実現される。
【００６７】
図８に示す一連の処理においてＣＰＵ５２は、まず、Ａｓｈ制限フラグＦａが「１」であるか否かを判定する（Ｓ９０）。Ａｓｈ制限フラグＦａは、後述するＡｓｈ量に基づく学習値の更新制限がなされている場合に「１」となり、同更新制限がなされていない場合に「０」となる。ＣＰＵ５２は、Ａｓｈ制限フラグＦａが「０」の場合（Ｓ９０：ＮＯ）、車両の走行距離を取得する（Ｓ９２）。次にＣＰＵ５２は、走行距離に基づきＧＰＦ３６に堆積した煤の量（Ａｓｈ量）を算出する（Ｓ９４）。ここで、煤は、内燃機関１０の潤滑油の一部が排気中に流出することによって生じるものであるため、Ａｓｈ量は、内燃機関１０の総稼働時間が長いほど大きい値となる。本実施形態では、内燃機関１０の総稼働時間を走行距離によって把握している。詳しくは、走行距離を入力変数とし、Ａｓｈ量を出力変数とするマップデータがＲＯＭ５４に予め記憶された状態でＣＰＵ５２によりＡｓｈ量をマップ演算する。
【００６８】
次にＣＰＵ５２は、Ａｓｈ量が閾値Ａｓｈｔｈ以上であるか否かを判定する（Ｓ９６）。そしてＣＰＵ５２は、閾値Ａｓｈｔｈ以上であると判定する場合（Ｓ９６：ＹＥＳ）、第１Ａｓｈ制限値ａｔｈ１ａｓｈに、現在の第１学習値ａ１を代入し、また、第２Ａｓｈ制限値ａｔｈ２ａｓｈに現在の第２学習値ａ２を代入する（Ｓ９８）。ここで、第１Ａｓｈ制限値ａｔｈ１ａｓｈは、回転速度ＮＥ毎に設定されるものであり、現在の第１学習値ａ１は、対応する回転速度ＮＥ毎の値のことである。また、第２Ａｓｈ制限値ａｔｈ２ａｓｈは、回転速度ＮＥおよび充填効率ηによって分割された領域毎に設定されるものであり現在の第２学習値ａ２は、対応する領域毎の値である。
【００６９】
次にＣＰＵ５２は、Ａｓｈ制限フラグＦａを「１」とする（Ｓ１００）。これに対し、ＣＰＵ５２は、Ａｓｈ制限フラグＦａが「１」であると判定する場合（Ｓ９０：ＹＥＳ）、第１学習値ａ１に第１学習値ａ１と第１Ａｓｈ制限値ａｔｈ１ａｓｈとのうちの小さい方を代入し、第２学習値ａ２に第２学習値ａ２と第２Ａｓｈ制限値ａｔｈ２ａｓｈとのうちの小さい方を代入する（Ｓ１０２）。そして、ＣＰＵ５２は、進角側上限値ＡＡに拡大値ＡＡＨを代入する（Ｓ１０４）。この処理は、Ｓ１０２の処理に起因して点火時期Ａｉｇが進角側の値をとりにくくなることを補償するためのものである。なお、本実施形態においては、Ａｓｈ制限フラグＦａが「１」の場合には、図６のＳ７４の処理において否定判定される場合やＳ８８の処理が完了する場合であっても、Ｓ７６の処理のうちの進角側上限値ＡＡに通常値ＡＡＬを代入する処理については、これを実行しないこととする。
【００７０】
なお、ＣＰＵ５２は、Ｓ１００，Ｓ１０４の処理が完了する場合や、Ｓ９６の処理において否定判定する場合には、図８に示した一連の処理を一旦終了する。
このように、本実施形態では、Ａｓｈ量が多くなる場合、ＣＰＵ５２は、学習値の進角側への更新を禁止する。このため、Ａｓｈ量が大きくなることに起因してＥＧＲ通路４０に流入する排気の圧力が高くなり、ノッキングが生じにくくなる場合であっても、学習値が過度に進角側の値に更新されることを抑制できる。ここで、ＧＰＦ３６に堆積した煤は、ＰＭ再生処理によっては除去できない。しかし、ＧＰＦ３６を交換した直後、学習値が過度に進角側の値となる場合、ノッキングが生じ、これを迅速に解消することが困難となるおそれがある。これに対し本実施形態では、Ａｓｈ量が大きくなる場合に学習値の進角側への更新を禁止することによりＧＰＦ３６の交換後にノッキングが生じた場合にこれに迅速に対処することができる。
【００７１】
なお、ＧＰＦ３６を交換した場合には、Ａｓｈ制限フラグＦａを強制的に初期化することが望ましい。
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１〜３］フィードバック処理は、図４〜図６および図８に示す処理に対応する。更新処理は、Ｓ４０〜Ｓ６４の処理に対応し、設定処理は、Ｓ２６，Ｓ３０，Ｓ３２の処理に対応する。更新制限処理は、Ｓ８４の処理に対応する。点火時期制御装置は、制御装置５０に対応する。［４，５］操作量制限処理は、Ｓ１６〜Ｓ２２の処理に対応し、拡大処理は、Ｓ８６の処理に対応する。［６］フィルタは、ＧＰＦ３６に対応し、除去処理は、ＰＭ再生処理Ｍ１４の処理に対応する。［７］経年制限処理は、Ｓ１０２の処理に対応し、拡大処理は、Ｓ１０４の処理に対応する。
【００７２】
＜その他の実施形態＞
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【００７３】
・「拡大処理について」
図６のＳ８６の処理では、遅角側上限値ＡＢを遅角側に拡大し進角側上限値ＡＡを進角側に拡大したが、これに限らない。たとえば、遅角側上限値ＡＢを遅角側に拡大しつつも、進角側上限値ＡＡについては進角側に拡大しなくてもよい。
【００７４】
・「第１更新処理について」
上記実施形態では、第１学習値ａ１を、回転速度ＮＥによって区分された領域毎に学習したがこれに限らない。たとえば、回転速度ＮＥおよび充填効率η等の負荷パラメータによって分割される領域毎に学習してもよい。なお、回転速度や負荷パラメータによって分割された領域毎に第１学習値ａ１として異なる値を学習可能とすることは必須ではない。
【００７５】
・「第２更新処理について」
上記実施形態では、第２学習値ａ２を、回転速度ＮＥおよび負荷パラメータによって分割される領域毎に学習したが、これに限らない。たとえば、回転速度ＮＥによらずに負荷パラメータによって区分された領域毎に学習してもよい。なお、回転速度や負荷パラメータによって分割された領域毎に第２学習値ａ２として異なる値を学習可能とすることは必須ではない。
【００７６】
上記実施形態では、充填効率ηが規定量η２以下である場合に、第２学習値ａ２を更新したが、これに限らない。たとえば充填効率ηの大きさによらずに第２学習値ａ２を更新してもよい。
【００７７】
・「第３更新処理について」
上記実施形態では、第３学習値ｒを、回転速度ＮＥおよび負荷パラメータによって分割される領域毎に学習したが、これに限らない。たとえば、回転速度ＮＥによらずに負荷パラメータによって区分された領域毎に学習してもよい。なお、回転速度や負荷パラメータによって分割された領域毎に第３学習値ｒとして異なる値を学習可能とすることは必須ではない。
【００７８】
フィードバック操作量ＡＦＢが進角側の値の場合に、第３学習値ｒが「０」以上であることを条件により小さい値に更新する処理を実行してもよい。
上記実施形態では、充填効率ηが所定量η１以下である場合に第３学習値ｒを更新したが、これに限らない。たとえば、充填効率ηが規定量η２以下である場合に第３学習値ｒを更新してもよく、またたとえば充填効率ηの大きさによらずに第３学習値ｒを更新してもよい。
【００７９】
・「更新処理について」
上記実施形態では、フィードバック操作量ＡＦＢの指数移動平均処理値を学習用操作量ＡＦＢｓとしたが、これに限らない。たとえばフィードバック操作量ＡＦＢのローパスフィルタ処理値を学習用操作量ＡＦＢｓとしてもよい。またたとえば、学習用操作量ＡＦＢｓの算出処理を実行せず、Ｓ４２，Ｓ４４，Ｓ５２，Ｓ５４の処理において学習用操作量ＡＦＢｓの代わりにフィードバック操作量ＡＦＢを用いて算出された補正量Δの絶対値を縮小補正した後に、縮小補正した値に基づき学習値を更新してもよい。こうした処理によっても、フィードバック操作量ＡＦＢに含まれるノイズ成分が学習値に反映されることを抑制できる一方、学習値の変化速度（絶対値）は、フィードバック操作量ＡＦＢの変化速度（絶対値）よりも小さくなる。
【００８０】
・「第３学習値について」
上記実施形態では、第３学習値ｒを、０以上１以下の値としたがこれに限らない。たとえば、第３学習値を、「ｒ・ＤＬ」相当の量とし、「０」以上最大遅角量ＤＬ以下の値としてもよい。
【００８１】
・「学習値について」
上記実施形態では、第１学習値ａ１の初期値を進角側の値としたが、これに限らず、ゼロとしてもよい。
【００８２】
学習値としては、第１学習値ａ１、第２学習値ａ２および第３学習値ｒからなるものに限らない。たとえば、これらの区別をせず、単一の値としてもよい。
・「経年制限処理について」
上記実施形態では、Ｓ９６の処理において肯定判定された時点における値よりも進角側への第１学習値ａ１および第２学習値ａ２の更新を禁止したが、これに限らない。たとえば、Ｓ９６の処理において肯定判定された時点における値とは独立に設定された進角側の上限値よりも進角側への更新を禁止してもよい。
【００８３】
上記実施形態では、走行距離を内燃機関１０の稼働時間とみなして、学習値の進角側への更新を制限したが、これに限らない。たとえば、稼働時間自体を取得し、これに基づき学習値の進角側への更新を制限してもよい。
【００８４】
・「更新制限処理について」
上記実施形態において、排気圧Ｐｅｘの値が大きい場合に小さい場合よりも、進角側ガード値ａｔｈ１を段階的に遅角側の値に変更してもよい。
【００８５】
上記実施形態では、排気圧Ｐｅｘが第１閾値ＰｔｈＨ以上である場合、第１学習値ａ１を進角側上限値ａｌｍａｘ以下の値となるように制限したが、これに限らず、たとえば固定値としてもよい。
【００８６】
上記実施形態では、排気圧Ｐｅｘが第１閾値ＰｔｈＨ以上であることによって第２学習値ａ２の更新を制限する処理を、第１閾値ＰｔｈＨ以上となった時点における値とゼロとのうちのより遅角側の値に固定したが、これに限らない。たとえばその時点における値に固定してもよい。
【００８７】
上記実施形態では、第３学習値ｒを固定する処理を実行したが、これに限らず、第３学習値ｒについてはその更新を制限しなくてもよい。またたとえば、「第３更新処理について」の欄に記載したように、フィードバック操作量ＡＦＢが進角側の値の場合に、第３学習値ｒが「０」以上であることを条件により小さい値に更新する処理を実行する場合、第３学習値ｒをより小さい値とする更新のみを禁止する処理を実行してもよい。
【００８８】
上記実施形態では、排気圧Ｐｅｘが第２閾値ＰｔｈＬ以下となる場合に学習値の更新の制限を停止したが、これに限らない。たとえば、排気圧Ｐｅｘが第２閾値ＰｔｈＬ以下となっても、車両の起動スイッチがオフされるまでは、制限を継続してもよい。ここで、車両の起動スイッチとは、ユーザがアクセルやステアリングホイールを操作することによって車両を走行させることが可能な状態と、そうではない状態とを切り替えるスイッチであり、内燃機関１０が車両の推力を生成する唯一の推力生成装置である車両においてはイグニッションスイッチに相当する。
【００８９】
「学習値の更新制限処理の入力となる排気の圧力について」
上記実施形態では、排気圧センサ６６によって検出される排気圧Ｐｅｘに基づき、学習値の更新を制限したが、これに限らない。たとえば、ＧＰＦ３６の下流側の圧力に対する上流側の圧力の差圧を検出するセンサを備え、そのセンサの検出値をＥＧＲ通路に流入する排気の圧力を示すパラメータとして用いて学習値を更新する処理としてもよい。またたとえば、ＰＭ堆積量ＤＰＭと差圧との間に相関があることに鑑み、ＰＭ堆積量ＤＰＭをＥＧＲ通路に流入する排気の圧力を示すパラメータとして用いて学習値の更新を制限してもよい。この場合、Ｓ７４の処理において、ＰＭ堆積量ＤＰＭと比較対象とされる閾値は、固定値としてもよく、Ｓ８２の処理において、ＰＭ堆積量ＤＰＭと比較対象とされる閾値は、固定値としてもよい。
【００９０】
・「ＥＧＲ制御処理について」
上記実施形態では、内燃機関１０の動作点に基づき、ＥＧＲ率を開ループ制御したがこれに限らない。たとえば、内燃機関１０の冷却水の温度が規定温度以下である場合、規定温度以上である場合における内燃機関１０の動作点に応じたＥＧＲ率の目標値よりも小さいＥＧＲ率の目標値に制御する処理が含まれてもよい。
【００９１】
・「点火時期制御装置について」
点火時期制御装置がＣＰＵ５２とＲＯＭ５４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、点火時期制御装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、１または複数のソフトウェア処理回路および１または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【００９２】
・「そのほか」
内燃機関１０がＧＰＦ３６を備えることは必須ではない。ＧＰＦ３６を備えない場合であっても、たとえば触媒３４に堆積物が堆積し流路断面積が小さくなる場合などには、ＥＧＲ率が開ループ制御の目標値に対して過剰となることから、学習値の更新を制限することが有効である。
【００９３】
内燃機関１０がポート噴射弁１６を備えることは必須ではなく、たとえば筒内噴射弁を備えてもよい。
ＥＧＲ通路４０が排気通路３２のうちの触媒３４の上流に接続されることは必須ではなく、例えば触媒３４とＧＰＦ３６との間に接続されるようにしてもよい。
【００９４】
上記実施形態では、学習値をバックアップＲＡＭ５６に記憶させたがこれに限らない。たとえば電気的に書き換え可能な不揮発性メモリに記憶させてもよい。なお、この場合、内燃機関１０の稼働時には制御装置５０の主電源がオフとなることで給電状態が遮断される通常のＲＡＭに学習値を記憶し、制御装置５０の主電源がオフとされるのに先立って、ＲＡＭに記憶された学習値を不揮発性メモリに記憶する処理を実行してもよい。もっとも、この処理における不揮発性メモリをバックアップＲＡＭ５６に読み替えることも可能である。
【符号の説明】
【００９５】
１０…内燃機関、１２…吸気通路、１４…スロットルバルブ、１６…ポート噴射弁、１８…吸気バルブ、２０…シリンダ、２２…ピストン、２４…燃焼室、２６…点火装置、２８…クランク軸、３０…排気バルブ、３２…排気通路、３４…触媒、３６…ＧＰＦ、４０…ＥＧＲ通路、４２…ＥＧＲバルブ、５０…制御装置、５２…ＣＰＵ、５４…ＲＯＭ、５６…バックアップＲＡＭ、５８…電源回路、６０…エアフローメータ、６２…クランク角センサ、６４…ノッキングセンサ、６６…排気圧センサ。
【図１】
2020020270.tif 000003
【図２】
2020020270.tif 000004
【図３】
2020020270.tif 000005
【図４】
2020020270.tif 000006
【図５】
2020020270.tif 000007
【図６】
2020020270.tif 000008
【図７】
2020020270.tif 000009
【図８】
2020020270.tif 000010