(57)【要約】【課題】基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域で、ノック発生の抑制を効果的に行えなくなることを抑制できる内燃機関の点火時期制御装置を提供する。【解決手段】基本学習領域内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域では、複数の多点学習領域が設定されるとともに、それら多点学習領域毎に多点学習値が用意される。各多点学習値は、ノック発生の有無に応じて増減するフィードバック項に基づき更新され、上記ばらつきが大きい領域において同ばらつきに応じてそれぞれノック発生を抑制するうえで適切な値とされる。そして、上記領域では、エンジン１の点火時期に、現在のエンジン運転状態に対応する多点学習領域の多点学習値による補正が加えられ、その上で同多点学習領域の存在する基本学習領域に対応した基本学習値による補正が加えられる。【選択図】図１
2010281263.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の点火時期を点火時期指令値に基づき同指令値が減少するほど遅角側に制御する点火時期制御装置であって、前記点火時期指令値は、機関運転状態に基づき算出されるベース点火時期よりも遅角側の値に設定された最大遅角点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、前記フィードバック項に基づき更新される基本学習値による補正を加えることで算出されるものであり、前記基本学習値に関しては、機関運転状態に応じて区画された複数の基本学習領域毎に用意されて現在の機関運転状態に対応する基本学習領域の値が前記フィードバック項に基づき更新されるとともに前記最大遅角点火時期の補正に用いられるものであり、前記ベース点火時期に対する前記最大遅角点火時期の遅角量が判定値以上であるときには前記フィードバック項の増減及び前記基本学習値の更新を許可し、前記遅角量が前記判定値未満となるときには前記フィードバック項の増減及び前記基本学習値の更新を禁止する内燃機関の点火時期制御装置において、
前記複数の基本学習領域のうちの少なくとも一つの領域内にあって、内燃機関の経年劣化によるノック発生への影響にばらつきが生じる領域に、機関運転状態に応じて区画された複数の多点学習領域が設定されるとともに、それら多点学習領域毎に前記最大遅角点火時期の補正に用いられる多点学習値が用意され、
前記多点学習値に関しては、現在の機関運転状態が多点学習領域にあるとき、その多点学習領域の値が前記フィードバック項に基づき更新されるとともに前記最大遅角点火時期の補正に用いられるものであり、
前記多点学習値が前記最大遅角点火時期を進角補正する値であるときには、同多点学習値による前記最大遅角点火時期の補正が禁止される
ことを特徴とする内燃機関の点火時期制御装置。
【請求項２】
前記多点学習値が前記最大遅角点火時期を進角補正する値であるか否かの判断、及び同判断に基づく前記多点学習値による前記最大遅角点火時期の補正の禁止は、各多点学習領域のうち少なくとも最も低負荷側の多点学習領域にて行われる
請求項１記載の内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関する。
【背景技術】
【０００２】
自動車用エンジン等の内燃機関においては、ノックの発生を抑制するための点火時期の遅角を含めて点火時期制御が行われる。
こうした内燃機関の点火時期制御は機関運転状態等に基づき算出される点火時期指令値を用いて行われ、同制御を通じて上記点火時期指令値が減少するほど同機関の点火時期が遅角される。上記点火時期指令値は、機関運転状態に基づき算出されるベース点火時期よりも遅角側に設定された最大遅角点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、前記フィードバック項に基づき更新される基本学習値による補正を加えることによって算出される（特許文献１参照）。
【０００３】
点火時期指令値の算出に用いられる上記フィードバック項は、ノック発生ありのときには予め定められた遅角更新量分だけ減量されて点火時期を遅角補正し、ノック発生なしのときには予め定められた進角更新量分だけ増量されて点火時期を進角補正するものである。従って、フィードバック項は、ノック発生時に点火時期を直ちに遅角させてノックの抑制を図るとともに、ノック発生のないときには点火時期を進角させて上記点火時期の遅角によって低下した機関出力を可能な限り回復させるための補正項ということになる。
【０００４】
また、点火時期指令値の算出に用いられる上記基本学習値に関しては、機関運転状態に応じて区画された複数の基本学習領域毎に用意されて現在の機関運転状態に対応したものが上記フィードバック項に基づき更新される。こうした基本学習値の更新は、例えば、上記フィードバック項に徐変処理を施した値である徐変値がその基準値を中心とする予め定められた所定範囲内の値となるよう基本学習値を増減させることにより実現される。このように更新された基本学習値は、ノックの発生を抑制すべく点火時期を定常的に補正するための補正項ということになる。
【０００５】
なお、上記点火時期指令値を算出する際に最大遅角点火時期に対し補正を加えるための基本学習値としては、現在の機関運転状態に対応する基本学習領域の基本学習値が用いられる。また、上記最大遅角点火時期に対し基本学習値による補正を加える際には、その基本学習値が上記最大遅角点火時期に対し遅角補正を加える値となることのないよう同基本学習値のガードが行われる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２９７９０９公報（段落［００４３］〜［００４８］）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、燃焼室内でのデポジットの付着といった内燃機関の経年劣化が生じると、そのデポジットが高温となって混合気の異常着火の原因となり、内燃機関にノックが発生することとなる。こうした燃焼室内でのデポジットの付着といった内燃機関の経年劣化によるノック発生への影響は、同一の基本学習領域内において、その領域内中における更に細かな機関運転領域によって大きく異なる可能性がある。このため、基本学習領域毎に設定された基本学習値を用いて点火時期の補正を行うとき、同基本学習領域内での機関運転状態によっては上記基本学習値が内燃機関の経年劣化によるノック発生を抑制するうえで不適切な値となるおそれがある。詳しくは、上記ノック発生を抑制するうえで上記基本学習値が大きすぎる値となり、同基本学習値による点火時期の補正を通じてのノック発生の抑制を効果的に行えなくなるおそれがある。
【０００８】
本発明はこのような実情に鑑みてなされたものであって、その目的は、基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域で、ノック発生の抑制を効果的に行えなくなることを抑制できる内燃機関の点火時期制御装置を提供することにある。
【課題を解決するための手段】
【０００９】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１記載の発明によれば、基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域では、複数の多点学習領域が設定されるとともに、それら多点学習領域毎に多点学習値が用意される。そして、現在の機関運転状態が基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域にあるときには、上記複数の多点学習領域のうち現在の機関運転状態が存在する多点学習領域の多点学習値がフィードバック項に基づき更新される。これにより、基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域において、そのばらつきに応じて同領域を細分化した多点学習領域毎の多点学習値をそれぞれノック発生を抑制するうえで適切な値とすることができる。そして、基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域では、最大遅角点火時期に対し、現在の機関運転状態に対応する多点学習領域の多点学習値による補正が加えられ、その上で同多点学習領域の存在する基本学習領域に対応した基本学習値による補正が加えられることとなる。上記のように多点学習値による補正を最大遅角点火時期に対し加えることで、基本学習領域内における内燃機関の経年劣化によるノック発生への影響のばらつきが大きい領域において、内燃機関でのノック発生を効果的に抑制できなくなることを抑制できる。
【００１０】
なお、上記基本学習値の更新、及びそれを行うためのフィードバック項の増減は、ベース点火時期に対する最大遅角点火時期の遅角量が判定値以上であるときに許可され、同遅角量が上記判定値未満となるときには禁止される。ここで、上記最大遅角点火時期に関しては、内燃機関でノックが発生する限界まで点火時期を進角させたときの同点火時期（以下、ノック限界点火時期という）に応じて設定することが一般的であり、同ノック限界点火時期が進角するほど同じように進角側の値に設定される。一方、ベース点火時期に関しては、内燃機関の出力トルクを最大値とすることの可能な点火時期（以下、ＭＢＴという）となるよう算出することが一般的であり、ノック限界点火時期が進角側に移行するほど同ノック限界点火時期に対し大きく遅角した値となる。従って、ベース点火時期に対する最大遅角点火時期の遅角量が小さいということは、内燃機関でのノック発生の可能性が低い状態であることを意味する。このような状態では、フィードバック項の増減及び基本学習値の更新を行ったとしても、それらが無駄になる可能性が高い。こうしたことを回避するため、ベース点火時期に対する最大遅角点火時期の遅角量が判定値未満であるときには、上述したようにフィードバック項の増減及び基本学習値の更新が禁止される。
【００１１】
ところで、多点学習領域においては、多点学習値により最大遅角点火時期が補正されることとなる。詳しくは、多点学習値が正の値である場合には同多点学習値により最大遅角点火時期が進角側に補正され、多点学習値が負の値である場合には同多点学習値により最大点火時期が遅角側に補正される。ここで、多点学習値により最大遅角点火時期が進角側に補正されると、同補正後の最大遅角点火時期におけるベース点火時期に対する遅角量が小さくなる。そして、上記遅角量が判定値未満になると、フィードバック項の増減及び基本学習値の更新が禁止され、更にはフィードバック項の増減に基づく多点学習値の更新も禁止される。このようにフィードバック項の増減及び多点学習値の更新が禁止されると、その後に上記遅角量が判定値以上になってフィードバック項の増減及び多点学習値の更新が再開される可能性が低くなり、上記フィードバック項の増減及び多点学習値の更新を行うことの可能な機関運転領域が狭くなることは避けられない。また、上記のようにフィードバック項の増減及び多点学習値の更新が禁止された多点学習領域において、それらフィードバック項の増減及び多点学習値の更新が再開されないと、同多点学習値が内燃機関におけるノック発生を抑制するうえで適切な値であればよいが、ノック発生の誤検出等に起因して不適切な値になっている場合には、上記多点学習値が不適切な値のままとなって内燃機関でのノック発生を抑制できなくなるおそれがある。
【００１２】
こうした実情を考慮して、請求項１記載の発明では、多点学習領域にあって多点学習値が最大遅角点火時期を進角補正する値であるとき、すなわち同多点学習値が正の値であるときには、同多点学習値による最大遅角点火時期の補正が禁止される。このため、多点学習領域において、多点学習値による最大遅角点火時期の進角側への補正を通じて、同最大遅角点火時期におけるベース点火時期に対する遅角量が判定値未満となることは抑制され、ひいてはフィードバック項の増減及び多点学習値の更新が禁止されることも抑制される。従って、上記のようにフィードバック項の増減及び多点学習値の更新が禁止されることにより、それらフィードバック項の増減及び多点学習値の更新を行うことの可能な機関運転領域が狭くなるという不具合の発生を回避することができる。更に、上記のようにフィードバック項の増減及び多点学習値の更新が禁止される多点学習領域において、その禁止に伴い同多点学習値が内燃機関におけるノック発生を抑制するうえで不適切な値のままとなり、内燃機関でのノック発生を抑制できなくなるという不具合の発生も回避できる。
【００１３】
請求項２記載の発明によれば、各多点学習領域のうち少なくとも最も低負荷側の多点学習領域において、多点学習値が最大遅角点火時期を進角補正する値であるか否かの判断、及び同判断に基づく最大遅角点火時期の多点学習値による補正の禁止が行われる。ここで、ベース点火時期及びノック限界点火時期に関しては、機関低負荷状態となるほどノック限界点火時期に対しベース点火時期が大きく遅角側に位置するようになる傾向がある。このため、ノック限界点火時期と同じような傾向で推移する最大遅角点火時期は機関低負荷状態となるほどベース点火時期に近い値となり、同ベース点火時期に対する最大遅角点火時期の遅角量は機関低負荷状態になるほど小さくなる傾向がある。従って、仮に多点学習値による最大遅角点火時期の進角側への補正が行われるとすると、各多点学習領域のうち最も低負荷側の多点学習領域で上記遅角量が最も判定値未満になり易くなる。しかし、各多点学習領域のうち少なくとも最も低負荷側の多点学習領域において、最大遅角点火時期の多点学習値による進角側への補正が禁止される。このため、上記多点学習領域において、多点学習値による最大遅角点火時期の進角側への補正により、ベース点火時期に対する同最大遅角点火時期の遅角量が判定値未満となることを的確に回避できるようになる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態の点火時期制御装置が適用されるエンジン全体を示す略図。
【図２】エンジン負荷の変化に対するノック限界点火時期、ＭＢＴ、ベース点火時期、及び最大遅角点火時期の推移を示すグラフ。
【図３】点火時期指令値を算出するためのフィードバック項及びその徐変値の推移を示すタイムチャート。
【図４】多点学習領域以外の基本学習領域での点火時期指令値の算出の概要を示す説明図。
【図５】基本学習領域及び多点学習領域を示す説明図。
【図６】多点学習領域での点火時期指令値の算出の概要を示す説明図。
【図７】多点学習領域での点火時期指令値の算出の概要を示す説明図。
【図８】点火時期指令値の算出手順を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、本発明を自動車用エンジンの点火時期制御装置に具体化した一実施形態を図１〜図７に従って説明する。
図１に示されるエンジン１においては、その燃焼室２に吸気通路３を通じて空気が吸入されるとともに、燃料噴射弁４から噴射された燃料が同燃焼室２に供給される。この空気と燃料とからなる混合気に対し点火プラグ５による点火が行われると、同混合気が燃焼してピストン６が往復移動し、エンジン１の出力軸であるクランクシャフト７が回転する。そして、燃焼後の混合気は排気として各燃焼室２から排気通路８に送り出される。
【００１６】
こうしたエンジン１の点火時期制御装置は、同エンジン１の各種運転制御を実行する電子制御装置２６を備えている。この電子制御装置２６は、上記制御に係る各種演算処理を実行するＣＰＵ、その制御に必要なプログラムやデータの記憶されたＲＯＭ、ＣＰＵの演算結果等が一時記憶されるＡＭ、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。
【００１７】
電子制御装置２６の入力ポートには、以下に示す各種センサが接続されている。
・自動車の運転者によって踏み込み操作されるアクセルペダル２７の踏み込み量（アクセル踏込量）を検出するアクセルポジションセンサ２８。
【００１８】
・吸気通路３に設けられたスロットルバルブ２９の開度（スロットル開度）を検出するスロットルポジションセンサ３０。
・エンジン１でのノック発生を検出するノックセンサ３１。
【００１９】
・吸気通路３を通じて燃焼室２に吸入される空気の量を検出するエアフローメータ３２。
・クランクシャフト７の回転に対応する信号を出力し、エンジン回転速度（機関回転速度）の算出等に用いられるクランクポジションセンサ３４。
【００２０】
また、電子制御装置２６の出力ポートには、点火プラグ５の駆動回路及びスロットルバルブ２９の駆動回路等が接続されている。
そして、電子制御装置２６は、上記各種センサから入力した検出信号に基づき、エンジン回転速度やエンジン負荷（エンジン１の１サイクル当たりに燃焼室２に吸入される空気の量）といったエンジン運転状態を把握する。なお、エンジン回転速度はクランクポジションセンサ３４からの検出信号に基づき求められる。また、エンジン負荷は、アクセルポジションセンサ２８、スロットルポジションセンサ３０、及び、エアフローメータ３２等の検出信号に基づき求められるエンジン１の吸入空気量とエンジン回転速度とから算出される。電子制御装置２６は、エンジン負荷やエンジン回転速度といったエンジン運転状態に応じて、上記出力ポートに接続された各種駆動回路に指令信号を出力する。こうしてエンジン１の点火時期制御等の各種運転制御が電子制御装置２６を通じて実施される。
【００２１】
次に、エンジン１の点火時期制御の概要について説明する。
エンジン１の点火時期に関しては、エンジン運転状態等から求められる点火時期指令値ＳＴに基づき、同点火時期指令値ＳＴが減少するほど遅角側に制御されることとなる。同点火時期指令値ＳＴは、エンジン運転状態に基づき算出されるベース点火時期ＢＴ、及びエンジン１でのノック発生を抑制するための点火時期の補正量である遅角量ＡＫＣＳに基づき、以下の式（１）を用いて算出される。
【００２２】
ＳＴ＝ＢＴ−ＡＫＣＳ      …（１）
ＳＴ    ：点火時期指令値
ＢＴ    ：ベース点火時期
ＡＫＣＳ：遅角量
式（１）の上記ベース点火時期ＢＴは、標準的な環境条件のもとエンジン１でノックが発生する限界まで点火時期を進角させたときの同点火時期（以下、ノック限界点火時期ＡＫｎという）、及び、同じく標準的な環境条件のもとエンジン１の出力トルクを最大値とすることの可能な点火時期（以下、ＭＢＴという）を考慮して算出される。なお、上記環境条件としては気温、湿度、大気圧、及びエンジン冷却水温等があげられ、これらの条件に応じてエンジン１でのノックの発生しやすさが変化することとなる。
【００２３】
ここで、上記ノック限界点火時期ＡＫｎ及びＭＢＴは、エンジン回転速度及びエンジン負荷に基づき可変とされる値であり、エンジン回転速度一定の条件下ではエンジン負荷に基づき図２に示されるように推移する。同図から分かるように、ノック限界点火時期ＡＫｎ（図中の二点鎖線）、及びＭＢＴ（図中の一点鎖線）は共に、エンジン負荷の減少に伴い徐々に進角側の値となるよう推移する。ただし、ノック限界点火時期ＡＫｎ（図中の二点鎖線）は、ＭＢＴ（図中の一点鎖線）と比較してエンジン負荷の変化に対し大きく変化する傾向を有しており、通常はＭＢＴよりも進角側の値になるもののエンジン１の高負荷状態ではＭＢＴよりも遅角側の値となる。
【００２４】
式（１）のベース点火時期ＢＴは、エンジン回転速度及びエンジン負荷といったエンジン運転状態に基づき、上記ノック限界点火時期ＡＫｎと上記ＭＢＴとのうちのより遅角側の値と等しい値となるよう算出される。その結果、算出されるベース点火時期ＢＴは、エンジン回転速度一定の条件のもとでは、エンジン負荷の変化に対し図２に実線で示されるように推移する値となる。これは、エンジン１でのノック発生を抑制しつつ、同エンジン１の出力トルクを可能な限り大きくするためである。
【００２５】
上記遅角量ＡＫＣＳは、エンジン１の点火時期を制御するうえでのベース点火時期ＢＴに対する遅角量の最大値を表す最大遅角量ＡＫｍａｘ、エンジン１でのノック発生の有無に応じて増減するフィードバック項Ｆ、及び同フィードバック項Ｆに基づき更新される基本学習値ＡＧ(i) を用いて、以下の式（２）から算出される。
【００２６】
ＡＫＣＳ＝ＡＫｍａｘ−（ＡＧ(i) ＋Ｆ）      …（２）
ＡＫｍａｘ：最大遅角量
ＡＧ(i)   ：基本学習値
Ｆ        ：フィードバック項
式（２）の最大遅角量ＡＫｍａｘは、上述したベース点火時期ＢＴ、及び、最もノックが発生しやすい環境条件下においてノックを生じさせない最も進角側の点火時期を表す値である最大遅角点火時期ＡＫｍｆに基づき、以下の式（３）を用いて算出される。
【００２７】
ＡＫｍａｘ＝ＢＴ−ＡＫｍｆ      …（３）
ＢＴ      ：ベース点火時期
ＡＫｍｆ  ：最大遅角点火時期
式（３）の最大遅角点火時期ＡＫｍｆは、上述したノック限界点火時期ＡＫｎからノック余裕代Ｒを減算した値「ＡＫｎ−Ｒ」である。なお、ここで用いられるノック余裕代Ｒは、最大遅角点火時期ＡＫｍｆが上述した意味の値となるよう、予め実験等により設定された固定値である。
【００２８】
上記式（１）は上記式（２）を用いて以下の式（４）のように変形することが可能であり、この式（４）は上記式（３）を用いて以下の式（５）のように変形することが可能である。
【００２９】
ＳＴ＝ＢＴ−ＡＫＣＳ
＝ＢＴ−｛ＡＫｍａｘ−（ＡＧ(i) ＋Ｆ）｝
＝ＢＴ−ＡＫｍａｘ＋（ＡＧ(i) ＋Ｆ）      …（４）
＝ＢＴ−（ＢＴ−ＡＫｍｆ）＋（ＡＧ(i) ＋Ｆ）
＝ＡＫｍｆ＋ＡＧ(i) ＋Ｆ      …（５）
次に、式（５）で用いられるフィードバック項Ｆ及び基本学習値ＡＧ(i) について詳しく説明する。
【００３０】
上記フィードバック項Ｆは、ノックセンサ３１からの検出信号に基づきノック発生ありの旨判断されたときには予め定められた遅角更新量ａ分だけ減量されて点火時期を遅角補正し、ノック発生なしの旨判断されたときには予め定められた進角更新量ｂ分だけ増量されて点火時期を進角補正するものである。こうしたフィードバック項Ｆのノック発生の有無に基づく推移の一例を図３に実線で示す。このように推移するフィードバック項Ｆは、ノック発生時に点火時期を直ちに遅角させてノックの抑制を図るとともに、ノック発生のないときには点火時期を進角させて上記点火時期の遅角によって低下したエンジン出力を可能な限り回復させるための補正項ということになる。
【００３１】
上記基本学習値ＡＧ(i) は、エンジン負荷及びエンジン回転速度といったエンジン運転状態に応じて区画された複数（この例では「２」）の基本学習領域ｉ（ｉ＝０、１）毎に用意され、それぞれ電子制御装置２６に設けられた不揮発性のＲＡＭに記憶されている。そして、点火時期指令値ＳＴの算出に用いられる基本学習値ＡＧ(i) としては、現在のエンジン運転状態に対応する基本学習領域ｉの値が用いられる。また、現在のエンジン運転状態のある基本学習領域ｉでは、フィードバック項Ｆに徐変処理を施した値である徐変値Ｆｓｍに基づき基本学習値ＡＧ(i) の更新が行われる。こうした徐変値Ｆｓｍは、上記フィードバック項Ｆが図３に実線で示されるように推移したとすると、例えば同図に破線で示されるように推移する。
【００３２】
上記基本学習値ＡＧ(i) の更新に関しては、例えば、上記徐変値Ｆｓｍがその基準値（初期値）を中心とする予め定められた所定範囲Ｈ内の値となるよう基本学習値ＡＧ(i) を増減させることによって実現される。詳しくは、所定の時間間隔をおいた更新タイミング毎に、徐変値Ｆｓｍが上記所定範囲Ｈから外れているか否かが判断される。そして、上記徐変値Ｆｓｍが上記所定範囲Ｈに対し増加側に外れているときには基本学習値ＡＧ(i) が予め定められた進角更新量Ｋ１だけ増大され、上記徐変値Ｆｓｍが上記所定範囲Ｈに対し減少側に外れているときには基本学習値ＡＧ(i) が予め定められた遅角更新量Ｋ２だけ減少される。ちなみに、図３の例においては、タイミングＴ１以降で徐変値Ｆｓｍが上記所定範囲Ｈに対し減少側に外れており、そのときに上記更新タイミングを迎えると、基本学習値ＡＧ(i) が予め定められた遅角更新量Ｋ２だけ減少される。以上のように更新される基本学習値ＡＧ(i) は、ノックの発生を抑制すべく点火時期を定常的に補正するための補正項ということになる。
【００３３】
図４は、上記フィードバック項Ｆ及び上記基本学習値ＡＧ(i) 等に基づく点火時期指令値ＳＴの算出の概要を示している。同図に示されるように、上記点火時期指令値ＳＴは、最大遅角点火時期ＡＫｍｆに対しフィードバック項Ｆ及び基本学習値ＡＧ(i) による補正を加えることで算出される。上記最大遅角点火時期ＡＫｍｆは、ベース点火時期ＢＴから最大遅角量ＡＫｍａｘを減算した値である。また、最大遅角量ＡＫｍａｘから基本学習値ＡＧ(i) 及びフィードバック項Ｆの合計値を減算した値は、式（１）の遅角量ＡＫＣＳとなる。上記フィードバック項Ｆがノック発生の有無に応じて増減されると、同フィードバック項Ｆの増減分だけ点火時期指令値ＳＴが矢印Ｙ１又は矢印Ｙ２で示されるように増減する。更に、この増減するフィードバック項Ｆの徐変値Ｆｓｍが所定範囲Ｈ内の値となるよう基本学習値ＡＧ(i) が増減されることにより、同基本学習値ＡＧ(i) の更新が実現される。なお、上記最大遅角点火時期ＡＫｍｆに対し基本学習値ＡＧ(i) による補正を加える際には、その基本学習値ＡＧ(i) が上記最大遅角点火時期ＡＫｍｆに対し遅角補正を加える値、すなわち負の値となることのないよう、同基本学習値ＡＧ(i) のガードが行われる。
【００３４】
ここで、燃焼室２内でのデポジットの付着などエンジン１の経年劣化が生じると、同エンジン１でノックが発生しやすくなることから、それに基づいて基本学習値ＡＧ(i) が減少側の値に更新される。そして、上記更新後の基本学習値ＡＧ(i) を用いて点火時期を補正することで、エンジン１の経年劣化によってノックが発生しやすくなることの抑制が図られる。
【００３５】
ところで、燃焼室２内でのデポジットの付着といったエンジン１の経年劣化によるノック発生への影響は、同一の基本学習領域ｉ内において、その領域ｉ内中における更に細かなエンジン運転領域によって大きく異なる可能性がある。この場合、基本学習領域ｉ毎に設定された基本学習値ＡＧ(i) を用いて点火時期の補正を行うとき、同基本学習領域ｉ内でのエンジン運転状態によっては上記基本学習値ＡＧ(i) がエンジン１の経年劣化によるノック発生を抑制するうえで不適切な値となるおそれがある。詳しくは、上記ノック発生を抑制するうえで、上記基本学習値ＡＧ(i) が大きすぎる値となって同ノック発生の抑制を効果的に行うことができなくなるおそれがある。
【００３６】
こうしたことを抑制するため、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域に複数の多点学習領域ｎが設定されるとともに、それら多点学習領域ｎ毎に多点学習値ＡＧｄｐ(n) が用意される。そして、現在のエンジン運転状態が多点学習領域ｎにあるときには、同多点学習領域ｎに対応する多点学習値ＡＧｄｐ(n) をフィードバック項Ｆに基づき更新するとともに式（５）の最大遅角点火時期ＡＫｍｆの補正に用いる。
【００３７】
この場合、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域において、そのばらつきに応じて同領域を細分化した多点学習領域ｎ毎の多点学習値ＡＧｄｐ(n) をそれぞれノック発生を抑制するうえで適切な値とすることができる。そして、上記多点学習領域ｎにおいては、最大遅角点火時期ＡＫｍｆに対し、現在のエンジン運転状態に対応する多点学習領域ｎの多点学習値ＡＧｄｐ(n) による補正が加えられることとなる。上記のように多点学習値ＡＧｄｐ(n) による補正を最大遅角点火時期ＡＫｍｆに対し加えることで、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域において、エンジン１でのノック発生の抑制を効果的に行えなくなることを抑制できる。
【００３８】
次に、上記多点学習値ＡＧｄｐ(n) を考慮に入れた点火時期指令値ＳＴの算出の仕方について説明する。
現在のエンジン運転状態が多点学習領域ｎにあるときには、式（４）の最大遅角量ＡＫｍａｘに上記多点学習領域ｎに対応した多点学習値ＡＧｄｐ(n) が反映され、それによって式（４）が以下の式（６）のようになる。
【００３９】
ＳＴ＝ＢＴ−ＡＫｍａｘ＋ＡＧｄｐ(n) ＋（ＡＧ(i) ＋Ｆ）      …（６）
ＢＴ        ：ベース点火時期
ＡＫｍａｘ  ：最大遅角量
ＡＧｄｐ(n) ：多点学習値
ＡＧ(i)     ：基本学習値
Ｆ          ：フィードバック項
更に、式（６）は、上記式（３）を用いることにより、以下の式（７）のように変形することが可能である。
【００４０】
ＳＴ＝ＢＴ−ＡＫｍａｘ＋ＡＧｄｐ(n) ＋（ＡＧ(i) ＋Ｆ）
＝ＢＴ−（ＢＴ−ＡＫｍｆ）＋ＡＧｄｐ(n) ＋（ＡＧ(i) ＋Ｆ）
＝ＡＫｍｆ＋ＡＧｄｐ(n) ＋ＡＧ(i) ＋Ｆ      …（７）
ＢＴ        ：ベース点火時期
ＡＫｍｆ    ：最大遅角点火時期
ＡＧｄｐ(n) ：多点学習値
ＡＧ(i)     ：基本学習値
Ｆ          ：フィードバック項
この式（７）の多点学習値ＡＧｄｐ(n) は、上述したように基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域にエンジン運転状態に応じて同基本学習領域ｉよりも更に細かく区画された複数の多点学習領域ｎ毎に用意されており、それぞれ電子制御装置２６の不揮発性のＲＡＭに記憶されている。これら多点学習値ＡＧｄｐ(n) は、燃焼室２内でのデポジットの付着などエンジン１の経年劣化が生じたとき、その経年劣化によるノック発生への影響のばらつきに対応して点火時期を補正するための補正項である。
【００４１】
図５は、上記基本学習領域ｉ及び多点学習領域ｎを示したものである。この例では、基本学習領域ｉとして、エンジン回転速度に応じて二つに区画された基本学習領域ｉ（ｉ＝０、１）が設定されている。また、複数の基本学習領域ｉのうちエンジン回転速度の変化方向について最も低回転側に存在する基本学習領域ｉ（ｉ＝０）内において、エンジン負荷の変化方向について低負荷側の領域には、複数の多点学習領域ｎが設定されている。これは、こうした領域において、エンジン１の経年劣化によるノック発生への影響の度合いのばらつきが大きくなるためである。
【００４２】
上記各多点学習領域ｎの多点学習値ＡＧｄｐ(n) のうち、エンジン１の運転時に現在のエンジン運転状態のある多点学習領域ｎに対応したものがフィードバック項Ｆに基づき更新される。詳しくは、基本学習値ＡＧ(i) の更新と同様、フィードバック項Ｆに徐変処理を施した値である徐変値Ｆｓｍが所定範囲Ｈ内に収束するよう多点学習値ＡＧｄｐ(n) を増減させることにより、同多点学習値ＡＧｄｐ(n) の更新が実現されるようになる。なお、現在のエンジン運転状態が多点学習領域ｎ内にあるときには、その多点学習領域ｎの存在する基本学習領域ｉの基本学習値ＡＧ(i) のフィードバック項Ｆに基づく更新は行われないようにされる。
【００４３】
上記式（７）の多点学習値ＡＧｄｐ(n) としては、現在のエンジン運転状態が複数の多点学習領域ｎ内のいずれかにあるときには、同エンジン運転状態のある多点学習領域ｎに対応したものが用いられる。また、現在のエンジン運転状態が複数の多点学習領域ｎのうちのいずれにもないときには、点火時期指令値ＳＴが上記式（７）ではなく上記式（５）を用いて算出される。このため、現在のエンジン運転状態が複数の多点学習領域ｎのうちのいずれにもないときには、点火時期指令値ＳＴが多点学習値ＡＧｄｐ(n) を用いずに算出されることになり、点火時期の同多点学習値ＡＧｄｐ(n) による補正も行われなくなる。
【００４４】
図６は、エンジン運転状態が多点学習領域ｎにあり、同領域ｎの多点学習値ＡＧｄｐ(n) が負の値であるときの点火時期指令値ＳＴの算出の概要を示している。また、図７は、エンジン運転状態が多点学習領域ｎにあり、同領域ｎの多点学習値ＡＧｄｐ(n) が正の値であるときの点火時期指令値ＳＴの算出の概要を示している。これらの図から分かるように、最大遅角量ＡＫｍａｘに多点学習値ＡＧｄｐ(n) を反映させるということは、最大遅角点火時期ＡＫｍｆを多点学習値ＡＧｄｐ(n) 分だけ進角側もしくは遅角側に補正することと同義である。ちなみに、多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍｆの補正後の値は、式（７）の右辺における「ＡＫｍｆ＋ＡＧｄｐ(n) 」という項によって表される。従って、多点学習値ＡＧｄｐ(n) が負の値である場合には、同多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍｆの遅角補正により、補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）が例えば図２に破線Ｌ２で示される値となる。一方、多点学習値ＡＧｄｐ(n) が正の値である場合には、同多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍｆの進角補正により、補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）が例えば図２に破線Ｌ１で示される値となる。
【００４５】
なお、上記基本学習値ＡＧ(i) 及び多点学習値ＡＧｄｐ(n) の更新、並びにそれらの更新を行うためのフィードバック項Ｆの増減は、以下の［１］もしくは「２」の条件の成立をもって実行され、これら［１］の条件の不成立時や［２］の条件の不成立時には実行禁止されるようになっている。
【００４６】
［１］多点学習領域ｎ以外の基本学習領域ｉにおいて、最大遅角点火時期ＡＫｍｆのベース点火時期ＢＴに対する遅角量が判定値以上であること。なお、上記最大遅角点火時期ＡＫｍｆは、式（５）等で用いられる値である。また、上記遅角量は、最大遅角量ＡＫｍａｘと等しい値となる。
【００４７】
［２］多点学習領域ｎにおいて、多点学習値ＡＧｄｐ(n) による補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）のベース点火時期ＢＴに対する遅角量が判定値以上であること。なお、上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）は、式（７）等で用いられる値である。また、上記遅角量は、上記多点学習値ＡＧｄｐ(n) を反映させた後の最大遅角量（「−ＡＫｍａｘ＋ＡＧｄｐ(n)」 の絶対値）と等しい値となる。
【００４８】
これら［１］及び［２］の条件における上記遅角量が小さいということは、ノック限界点火時期ＡＫｎがベース点火時期ＢＴに対し比較的進角側に位置する状態であり、エンジン１でのノック発生の可能性が極めて低い状態であることを意味する。
【００４９】
ここで、最大遅角点火時期ＡＫｍｆに関しては、ノック限界点火時期ＡＫｎに対しノック余裕代Ｒだけ減算した値として設定されるため、ノック限界点火時期ＡＫｎが進角するほど同じように進角側の値になる。なお、ノック限界点火時期ＡＫｎは、エンジン負荷の減少に伴い、図２に二点鎖線で示されるように徐々に進角側の値となってゆく。このため、上記最大遅角点火時期ＡＫｍｆ、及び、多点学習値ＡＧｄｐ(n) による補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）も、エンジン負荷の減少に伴い徐々に進角側の値となってゆく。一方、ベース点火時期ＢＴに関しては、図２に実線で示されるように、エンジン１が高負荷運転以外の運転状態にあるときにはＭＢＴ（一点鎖線）と等しい値とされる。このため、エンジン負荷の減少に伴いノック限界点火時期ＡＫｎ（二点鎖線）及び最大遅角点火時期ＡＫｍｆが進角側に移行するほど、ベース点火時期ＢＴは上記ノック限界点火時期ＡＫｎに対し大きく遅角した値となり、ベース点火時期ＢＴと最大遅角点火時期ＡＫｍｆとが近い値となる。
【００５０】
従って、上述した［１］及び［２］の条件で用いられる上記遅角量が小さいということは、ノック限界点火時期ＡＫｎが比較的進角側にあり、エンジン１でのノック発生の可能性が低い状態であることを意味する。このような状態では、フィードバック項Ｆの増減及び基本学習値ＡＧ(i) や多点学習値ＡＧｄｐ(n) の更新を行ったとしても、それらが無駄になる可能性が高い。こうしたことを回避するため、上記遅角量が判定値未満であって上記［１］の条件の不成立や上記［２］の条件の不成立が生じたには、上述したように基本学習値ＡＧ(i) 及び多点学習値ＡＧｄｐ(n) の更新、並びにそれらの更新を行うためのフィードバック項Ｆの増減が禁止される。なお、上記判定値としては、フィードバック項Ｆの増減及び基本学習値ＡＧ(i) や多点学習値ＡＧｄｐ(n) の更新が無駄に行われることを回避するうえでの最適値となるよう予め実験等により定められた値が用いられる。
【００５１】
次に、多点学習領域ｎでの多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍｆの補正に伴って生じる不具合、及びその対策について説明する。
多点学習領域ｎにおいて、多点学習値ＡＧｄｐ(n) が正の値となって同多点学習値ＡＧｄｐ(n) により最大遅角点火時期ＡＫｍｆが進角補正されると、同補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）が例えば図２の破線Ｌ１で示されるようにベース点火時期ＢＴに近い値となる。このため、補正後の最大遅角点火時期のベース点火時期ＢＴに対する遅角量が上記判定値未満となって上記［２］の条件が不成立となり、多点学習値ＡＧｄｐ(n) の更新及びそれ行うためのフィードバック項Ｆの増減が実行禁止されるおそれがある。
【００５２】
このようにフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が実行禁止されると、その後に上記遅角量が判定値以上になってフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が再開される可能性が低くなるため、上記増減及び上記更新を行うことの可能なエンジン運転領域が狭くなることは避けられない。なお、上述したフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新の実行禁止は、各多点学習領域ｎのうち最もエンジン低負荷側の多点学習領域ｎで生じ易くなる。これは、図２に示されるように、最大遅角点火時期ＡＫｍｆはエンジン低負荷領域においてエンジン負荷の減少に伴いベース点火時期ＢＴに近い値となり、上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）のベース点火時期ＢＴに対する遅角量はエンジン低負荷領域においてエンジン負荷の減少に伴い小さくなる傾向を有するためである。
【００５３】
また、上記のようにフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が禁止された多点学習領域ｎにおいて、多点学習値ＡＧｄｐ(n) がエンジン１の経年劣化に伴うノック発生を抑制するうえで適切な値になっていればよいが、ノック発生の誤検出等に起因して不適切な値になっている場合には、エンジン１のノック発生を抑制できなくなる。これは、上記のようにフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が禁止されると、それら増減及び更新を通じて上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）のベース点火時期ＢＴに対する遅角量が判定値以上となって上記［２］の条件が成立することがなくなるためである。このように、［２］の条件が成立しなくなるということは、フィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が再開されないことを意味し、上記多点学習値ＡＧｄｐ(n) がノック発生を抑制するうえで不適切な値のままとなり、エンジン１でのノック発生を抑制できなくなる。
【００５４】
図８は、上記不具合の回避を目的として実行される点火時期指令値算出ルーチンを示すフローチャートである。この点火時期指令値算出ルーチンは、電子制御装置２６を通じて、例えば所定時間毎の時間割り込みにて周期的に実行される。
【００５５】
同ルーチンにおいては、まず、現在のエンジン運転状態が多点学習領域ｎにあるか否かが判断される（Ｓ１０１）。ここで否定判定であれば、上記式（５）を用いて点火時期指令値ＳＴが算出され（Ｓ１０２）、同点火時期指令値ＳＴに基づくエンジン１の点火時期制御が行われる。一方、現在のエンジン運転状態が多点学習領域ｎにある場合にはステップＳ１０１で肯定判定がなされ、ステップＳ１０３に進む。このステップＳ１０３以降の一連の処理は、上記多点学習領域ｎに対応した多点学習値ＡＧｄｐ(n) が最大遅角点火時期ＡＫｍｆを進角補正する値であるとき、同多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍｆの補正を禁止するためのものである。
【００５６】
この一連の処理として具体的には、まず上記多点学習値ＡＧｄｐ(n) が「０」以上であるか否かが判断される（Ｓ１０３）。ここで上記多点学習値ＡＧｄｐ(n) が「０」未満（負の値）である場合には、同多点学習値ＡＧｄｐ(n) が最大遅角点火時期ＡＫｍｆを遅角補正する値である旨判断され、上記式（６）及び式（７）の「ＡＧｄｐ(n) 」に現在のエンジン運転状態に対応する多点学習値ＡＧｄｐ(n) が代入される（Ｓ１０４）。その後、式（７）を用いて点火時期指令値ＳＴが算出され（Ｓ１０６）、同点火時期指令値ＳＴに基づくエンジン１の点火時期制御が行われる。一方、ステップＳ１０３で上記多点学習値ＡＧｄｐ(n) が「０」以上である旨の判断、すなわち同多点学習値ＡＧｄｐ(n) が最大遅角点火時期ＡＫｍｆを進角側に補正する値である旨の判断がなされると、上記（６）及び式（７）の「ＡＧｄｐ(n) 」に「０」が代入される（Ｓ１０５）。その後、式（７）を用いて点火時期指令値ＳＴが算出され（Ｓ１０６）、同点火時期指令値ＳＴに基づくエンジン１の点火時期制御が行われる。
【００５７】
ここで、ステップＳ１０５において、式（６）の「ＡＧｄｐ(n) 」に「０」が代入されるということは、式（６）の最大遅角量ＡＫｍａｘに対する多点学習値ＡＧｄｐ(n) の反映が禁止されることを意味する。また、ステップＳ１０５において、式（７）の「ＡＧｄｐ(n) 」に「０」が代入されるということは、式（７）の最大遅角点火時期ＡＫｍｆに対する多点学習値ＡＧｄｐ(n) による進角補正が禁止されることを意味する。この場合、式（７）において、上記多点学習値ＡＧｄｐ(n) による補正後の最大遅角点火時期を表す項「ＡＫｍｆ＋ＡＧｄｐ(n) 」は最大遅角点火時期ＡＫｍｆと等しくなり、上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）が式（７）の「ＡＧｄｐ(n) 」分だけベース点火時期ＢＴに近い値になることがない。このため、上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）のベース点火時期ＢＴに対する遅角量が式（７）の「ＡＧｄｐ(n) 」分だけ小さくなり、上記［２］の条件における判定値未満の値となることが抑制される。更に、上記遅角量が判定値未満の値となることに伴い上記［２］の条件が不成立となり、多点学習値ＡＧｄｐ(n) の更新及びそれ行うためのフィードバック項Ｆの増減が実行禁止されることも抑制される。
【００５８】
このように上記［２］の条件が不成立となって多点学習値ＡＧｄｐ(n) の更新及びフィードバック項Ｆの増減が禁止されるということが抑制されるため、同禁止によって多点学習値ＡＧｄｐ(n) の更新及びフィードバック項Ｆの増減を行うことの可能なエンジン運転領域が狭くなるという上記不具合の発生が回避される。更に、上記のように多点学習値ＡＧｄｐ(n) 及びフィードバック項Ｆの増減が禁止される多点学習領域ｎにおいて、その禁止に伴い同多点学習値ＡＧｄｐ(n) がエンジン１におけるノック発生を抑制するうえで不適切な値のままとなり、エンジン１でのノック発生を抑制できなくなるという上記不具合の発生も回避される。
【００５９】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域では、複数の多点学習領域ｎが設定されるとともに、それら多点学習領域ｎ毎に多点学習値ＡＧｄｐ(n) が用意される。そして、現在のエンジン運転状態が基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域にあるときには、上記複数の多点学習領域ｎのうち現在のエンジン運転状態が存在する多点学習領域ｎの多点学習値ＡＧｄｐ(n) がフィードバック項Ｆに基づき更新される。これにより、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域において、そのばらつきに応じて同領域を細分化した多点学習領域ｎ毎の多点学習値ＡＧｄｐ(n) をそれぞれノック発生を抑制するうえで適切な値とすることができる。そして、上記エンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域では、最大遅角点火時期ＡＫｍｆに対し、現在のエンジン運転状態に対応する多点学習領域ｎの多点学習値ＡＧｄｐ(n) による補正が加えられ、その上で同多点学習領域ｎの存在する基本学習領域ｉに対応した基本学習値ＡＧ(i) による補正が加えられる。上記のように多点学習値ＡＧｄｐ(n) による補正を最大遅角点火時期ＡＫｍｆに対し加えることで、基本学習領域ｉ内におけるエンジン１の経年劣化によるノック発生への影響のばらつきが大きい領域において、エンジン１でのノック発生を効果的に抑制できなくなることを抑制できる。
【００６０】
（２）多点学習領域ｎにあって多点学習値ＡＧｄｐ(n) が最大遅角点火時期ＡＫｍｆを進角補正する値であるとき、すなわち同多点学習値ＡＧｄｐ(n) が正の値であるときには、同多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍｆの補正が禁止される。すなわち、式（７）の項「ＡＧｄｐ(n) 」に「０」が代入され、式（７）における上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）が最大遅角点火時期ＡＫｍｆと等しくされる。このため、上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）のベース点火時期ＢＴに対する遅角量が判定値未満に小さくなることは抑制され、それに伴い上記［２］の条件が不成立となってフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が禁止されることも抑制される。従って、上記のようにフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が禁止されることにより、それらフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新を行うことの可能なエンジン運転領域が狭くなるという不具合の発生を回避することができる。更に、上記のようにフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新が禁止される多点学習領域ｎにおいて、その禁止に伴い同多点学習値ＡＧｄｐ(n) がエンジン１におけるノック発生を抑制するうえで不適切な値のままとなり、エンジン１でのノック発生を抑制できなくなるという不具合の発生も回避できる。
【００６１】
（３）多点学習値ＡＧｄｐ(n) が最大遅角点火時期ＡＫｍｆを進角補正する値であるか否かの判断（図８のＳ１０３）、及び同判断に基づく最大遅角点火時期ＡＫｍｆの上記多点学習値ＡＧｄｐ(n) による進角補正の禁止（図８のＳ１０５）は、各多点学習領域ｎのうちすべての領域で行われることから、最も低負荷側の多点学習領域ｎでも行われる。ここで、上記（１）に記載したフィードバック項Ｆの増減及び多点学習値ＡＧｄｐ(n) の更新の禁止は、各多点学習領域ｎのうち最もエンジン低負荷側の多点学習領域ｎで生じ易くなる。これは、最大遅角点火時期ＡＫｍｆはエンジン低負荷領域においてエンジン負荷の減少に伴いベース点火時期ＢＴに近い値となり（図２参照）、上記補正後の最大遅角点火時期（ＡＫｍｆ＋ＡＧｄｐ(n) ）のベース点火時期ＢＴに対する遅角量はエンジン低負荷領域においてエンジン負荷の減少に伴い小さくなる傾向を有するためである。従って、仮に多点学習値ＡＧｄｐ(n) による最大遅角点火時期ＡＫｍｆの進角側への補正が行われるとすると、各多点学習領域ｎのうち最も低負荷側の多点学習領域ｎで上記遅角量が最も判定値未満になり易くなる。しかし、こうした多点学習領域ｎにおいても、最大遅角点火時期ＡＫｍｆの多点学習値ＡＧｄｐ(n) による進角側への補正が禁止されるため、同補正により上記遅角量が判定値未満となることを的確に回避できるようになる。
【００６２】
なお、上記各実施形態は、例えば以下のように変更することもできる。
・多点学習値ＡＧｄｐ(n) が最大遅角点火時期ＡＫｍｆを進角補正する値であるか否かの判断、及び同判断に基づく最大遅角点火時期ＡＫｍｆの上記多点学習値ＡＧｄｐ(n) による進角補正の禁止を、各多点学習領域ｎのうち最も低負荷側の多点学習領域ｎに限って実行してもよい。また、上記判断及び上記進角補正の禁止を、上記最も低負荷側の多点学習領域ｎを含む低負荷側の幾つかの多点学習領域ｎに限って実行してもよい。これらの場合、最大遅角点火時期ＡＫｍｆの上記多点学習値ＡＧｄｐ(n) による進角補正の禁止が行われない多点学習領域ｎにおいて、上記進角補正の禁止によりエンジン１の点火時期が必要以上に遅角側に留められてエンジン出力が低下することを回避できる。
【００６３】
・最も低回転側の基本学習領域ｉ内において、低負荷側の領域以外の領域に多点学習領域ｎを設定してもよい。
・基本学習領域ｉの合計数や多点学習領域ｎの合計数を適宜変更してもよい。
【符号の説明】
【００６４】
１…エンジン、２…燃焼室、３…吸気通路、４…燃料噴射弁、５…点火プラグ、６…ピストン、７…クランクシャフト、８…排気通路、２６…電子制御装置、２７…アクセルペダル、２８…アクセルポジションセンサ、２９…スロットルバルブ、３０…スロットルポジションセンサ、３１…ノックセンサ、３２…エアフローメータ、３４…クランクポジションセンサ。
【図１】
2010281263.tif 000003
【図２】
2010281263.tif 000004
【図３】
2010281263.tif 000005
【図４】
2010281263.tif 000006
【図５】
2010281263.tif 000007
【図６】
2010281263.tif 000008
【図７】
2010281263.tif 000009
【図８】
2010281263.tif 000010