(57)【要約】【課題】学習値がそれまでの適切な値から、より適切ではない値へと更新されることを的確に抑制することができる。【解決手段】電子制御装置は、ノック限界点火時期ＢＫ２に対してフィードバック項Ｆ及び基本学習値ＡＧ（ｉ）による補正を加えることにより点火時期指令値ＳＴを算出し、同指令値ＳＴに基づいて内燃機関の点火時期を制御する。また、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となったとき、そのときの基本学習値ＡＧ（１）である相対ガード値設定用基本学習値ＡＧＴに基づいて相対ガード値ＡＧＴＵ，ＡＧＴＬを設定するとともに、基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となった後においては基本学習値ＡＧ（１）を更新するに際して相対ガード値ＡＧＴＵ，ＡＧＴＬにより基本学習値ＡＧ（１）をガードする。【選択図】図１２
2010270688.tif 000002
【特許請求の範囲】
【請求項１】
機関運転状態に基づいてノック限界点火時期を算出するノック限界点火時期算出手段と、
ノックの発生の有無に応じてフィードバック項を設定するフィードバック項設定手段と、
前記フィードバック項に基づいて学習値を更新する学習値更新手段と、
前記ノック限界点火時期に対して前記フィードバック項及び前記学習値による補正を加えることにより点火時期指令値を算出する点火時期指令値算出手段と、を備え、
前記点火時期指令値算出手段により算出される前記点火時期指令値に基づいて内燃機関の点火時期を制御する内燃機関の点火時期制御装置において、
前記学習値更新手段により更新される前記学習値の収束度合が所定度合以上であるか否かを判定する収束度合判定手段と、
前記収束度合判定手段により前記学習値の収束度合が前記所定度合以上である旨の判定がなされたとき、そのときの前記学習値に基づいて相対ガード値を設定するとともに、前記判定がなされた後においては前記学習値更新手段により前記学習値を更新するに際して前記相対ガード値により同学習値をガードするガード手段と、を備える
ことを特徴とする内燃機関の点火時期制御装置。
【請求項２】
請求項１に記載の内燃機関の点火時期制御装置において、
前記ガード手段は、前記収束度合判定手段により前記学習値の収束度合が前記所定度合以上である旨の判定がなされる前においては、前記学習値更新手段により前記学習値を更新するに際して絶対ガード値により同学習値をガードするものであり、
前記相対ガード値の上限ガード値と下限ガード値との乖離度合は、前記絶対ガード値の上限ガード値と下限ガード値との乖離度合よりも小さな値として設定される
ことを特徴とする内燃機関の点火時期制御装置。
【請求項３】
請求項２に記載の内燃機関の点火時期制御装置において、
前記ガード手段は、前記収束度合判定手段により前記学習値の収束度合が前記所定度合以上である旨の判定がなされた後においては、前記学習値更新手段により前記学習値を更新するに際して前記相対ガード値及び前記絶対ガード値の双方により同学習値をガードする
ことを特徴とする内燃機関の点火時期制御装置。
【請求項４】
請求項１〜請求項３のいずれか一項に記載の内燃機関の点火時期制御装置において、
前記点火時期指令値算出手段は、前記学習値としての基本学習値と、多点学習値とに基づいて前記点火時期指令値を算出するものであり、
前記学習値更新手段は、機関運転状態に基づいて区画される複数の基本学習領域のいずれかに現在の機関運転状態があるときに前記基本学習値の更新を許可する一方、前記収束度合判定手段により前記学習値としての前記基本学習値の収束度合が前記所定度合以上である旨の判定がなされ、且つ前記複数の基本学習領域のうちの１つにおいて機関運転状態に基づいて区画される複数の多点学習領域のいずれかに現在の機関運転状態があるときに前記基本学習値の更新を禁止するとともに前記多点学習値の更新を許可するものである
ことを特徴とする内燃機関の点火時期制御装置。
【請求項５】
請求項１〜請求項４のいずれか一項に記載の内燃機関の点火時期制御装置において、
前記収束度合判定手段は、機関始動がなされてからの前記学習値更新手段による前記学習値の更新回数が所定回数以上となることをもって前記学習値の収束度合が前記所定度合以上である旨の判定をする
ことを特徴とする内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、機関運転状態に基づいて算出されるノック限界点火時期に対し、ノックの発生の有無に応じて設定されるフィードバック項による補正を加えるとともに、フィードバック項に基づいて更新される学習値による補正を加えることにより点火時期指令値を算出する内燃機関の点火時期制御装置に関する。
【背景技術】
【０００２】
この種の内燃機関の点火時期制御装置としては、例えば特許文献１に記載のものがある。特許文献１に記載のものも含めて従来一般の内燃機関の点火時期制御装置においては、点火時期についてのノック限界点火時期が機関運転状態に基づいて算出される。また、ノック限界点火時期に対して、ノックの発生の有無に応じて設定されるフィードバック項が加えられることにより点火時期指令値が算出される。具体的には、ノックセンサの出力信号に基づいてノックが発生していないと判断されたときには予め設定された進角更新量分だけ点火時期を進角するようにフィードバック項が設定され、ノックセンサの出力信号に基づいてノックが発生していると判断されたときには予め設定された遅角更新量分だけ点火時期を遅角するようにフィードバック項が設定される。こうしたフィードバック項による補正を通じて、ノックが発生していないときには点火時期を進角させて機関出力の増大が図られる一方、ノックが発生したときには点火時期を直ちに遅角させてその発生の抑制が図られる。
【０００３】
また、点火時期指令値を算出する際には、ノック限界点火時期に対して、フィードバック項に基づいて更新される学習値が加えられる。この学習値は、フィードバック項に基づいて更新されるものであり、例えばフィードバック項に徐変処理を施すことにより算出される。こうした学習値による補正を通じて、内燃機関の経時変化（例えば機関燃焼室内へのデポジットの付着）による点火時期の変化分が補償される。
【０００４】
ところで、ノックセンサの出力信号にノイズが発生すること等に起因して、学習値が不適切な値へと更新されることがある。そこで従来の点火時期制御装置においては、学習値を更新するに際して、予め設定された上限ガード値及び下限ガード値（以下、「絶対ガード値」と総称する）により学習値をガードするようにしている。すなわち、フィードバック項に基づいて算出された学習値が絶対ガード値の下限ガード値から上限ガード値までの範囲に含まれる場合には、算出された値がそのまま学習値として更新される。ただし、フィードバック項に基づいて算出された学習値が上限ガード値を上回る場合には、算出された値に代えて上限ガード値が学習値として更新される。また、フィードバック項に基づいて算出された学習値が下限ガード値を下回る場合には、算出された値に代えて下限ガード値が学習値として更新される。このように絶対ガード値により学習値をガードすることにより、学習値が不適切な値へと更新されることが抑制される。尚、内燃機関の個体差や経時変化の度合等によって学習値が変化することを考慮して、絶対ガード値の上限ガード値は、ある程度の余裕をもって比較的大きな値に設定されるとともに、絶対ガード値の下限ガード値は、ある程度の余裕をもって比較的小さな値に設定されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５―１４７１１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、学習値を更新するに際して、絶対ガード値により学習値をガードするものにあっては、学習値が不適切な値へと更新されることを抑制することはできる。しかしながら、内燃機関の経時変化が進行せず、学習値が比較的大きくは変化しない状態においては、絶対ガード値の上限ガード値を学習値が上回る、或いは下限ガード値を学習値が下回るまでは学習値がガードされないことから、以下の問題が生じることを回避することができない。すなわち、ノックセンサの出力信号にノイズが発生すること等に起因して、学習値がそれまでの適切な値から比較的大きく変化すること、例えば学習値が絶対ガード値の上限ガード値近傍から下限ガード値近傍へと大きく変化することをガードすることができず、学習値がそれまでの適切な値から、より適切ではない値へと更新されることを抑制することができない。
【０００７】
本発明は、こうした実情に鑑みてなされたものであり、その目的は、学習値がそれまでの適切な値から、より適切ではない値へと更新されることを的確に抑制することのできる内燃機関の点火時期制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
以下、上記課題を解決するための手段及びその作用効果について記載する。
（１）請求項１に記載の発明は、機関運転状態に基づいてノック限界点火時期を算出するノック限界点火時期算出手段と、ノックの発生の有無に応じてフィードバック項を設定するフィードバック項設定手段と、前記フィードバック項に基づいて学習値を更新する学習値更新手段と、前記ノック限界点火時期に対して前記フィードバック項及び前記学習値による補正を加えることにより点火時期指令値を算出する点火時期指令値算出手段と、を備え、前記点火時期指令値算出手段により算出される前記点火時期指令値に基づいて内燃機関の点火時期を制御する内燃機関の点火時期制御装置において、前記学習値更新手段により更新される前記学習値の収束度合が所定度合以上であるか否かを判定する収束度合判定手段と、前記収束度合判定手段により前記学習値の収束度合が前記所定度合以上である旨の判定がなされたとき、そのときの前記学習値に基づいて相対ガード値を設定するとともに、前記判定がなされた後においては前記学習値更新手段により前記学習値を更新するに際して前記相対ガード値により同学習値をガードするガード手段と、を備えることをその要旨としている。
【０００９】
同構成によれば、学習値更新手段により学習値を更新するに際して相対ガード値により同学習値がガードされる。ここで、収束度合の比較的高いときの学習値に基づいて相対ガード値が設定されることから、相対ガード値を的確に設定することができる。従って、学習値がそれまでの適切な値から、より適切ではない値へと更新されることを的確に抑制することができるようになる。
【００１０】
（２）請求項２に記載の発明は、請求項１に記載の内燃機関の点火時期制御装置において、前記ガード手段は、前記収束度合判定手段により前記学習値の収束度合が前記所定度合以上である旨の判定がなされる前においては、前記学習値更新手段により前記学習値を更新するに際して絶対ガード値により同学習値をガードするものであり、前記相対ガード値の上限ガード値と下限ガード値との乖離度合は、前記絶対ガード値の上限ガード値と下限ガード値との乖離度合よりも小さな値として設定されることをその要旨としている。
【００１１】
同構成によれば、学習値の収束度合が所定度合以上である旨の判定がなされる前においては、学習値更新手段により学習値を更新するに際して絶対ガード値により同学習値がガードされることから、学習値の収束度合が所定度合以上である旨の判定がなされる前において学習値が不適切な値に更新されることを抑制することができるようになる。また、相対ガード値の上限ガード値と下限ガード値との乖離度合は、絶対ガード値の上限ガード値と下限ガード値との乖離度合よりも小さな値して設定されることから、学習値の収束度合が所定度合以上である旨の判定がなされた後においては、学習値がそれまでの適切な値から、より適切ではない値へと更新されることを的確に抑制することができるようになる。
【００１２】
（３）請求項３に記載の発明は、請求項２に記載の内燃機関の点火時期制御装置において、前記ガード手段は、前記収束度合判定手段により前記学習値の収束度合が前記所定度合以上である旨の判定がなされた後においては、前記学習値更新手段により前記学習値を更新するに際して前記相対ガード値及び前記絶対ガード値の双方により同学習値をガードすることをその要旨としている。
【００１３】
学習値の収束度合が所定度合以上である旨の判定がなされた後において、学習値更新手段により学習値を更新するに際して相対ガード値のみにより同学習値をガードすることとすると、以下の問題が生じるおそれがある。すなわち例えば、相対ガード値を設定する際に用いられる学習値が、絶対ガード値の下限ガード値よりは大きいものの、同下限ガード値に近い場合には、同学習値に基づいて設定される相対ガード値の下限ガード値が上記絶対ガード値の下限ガード値を下回ることがある。この場合、学習値が、絶対ガード値の下限ガード値を下回っても、相対ガード値の下限ガード値を下回るまではガードされることはない。従って、更新される学習値が過度に小さい不適切な値となる。
【００１４】
この点、上記構成によれば、学習値の収束度合が所定度合以上である旨の判定がなされた後においては、学習値更新手段により学習値を更新するに際して相対ガード値及び前記絶対ガード値の双方により同学習値がガードされる。すなわち、相対ガード値の下限ガード値が絶対ガード値の下限ガード値を下回る場合には絶対ガード値の下限ガード値によって同学習値がガードされ、相対ガード値の上限ガード値が絶対ガード値の上限ガード値を上回る場合には絶対ガード値の上限ガード値によって同学習値がガードされる。従って、更新される学習値が、過度に小さい不適切な値となることや、過度に大きい不適切な値となることを的確に抑制することができるようになる。
【００１５】
（４）請求項１〜請求項３のいずれか一項に記載の内燃機関の点火時期制御装置は、請求項４に記載の発明によるように、前記点火時期指令値算出手段は、前記学習値としての基本学習値と、多点学習値とに基づいて前記点火時期指令値を算出するものであり、前記学習値更新手段は、機関運転状態に基づいて区画される複数の基本学習領域のいずれかに現在の機関運転状態があるときに前記基本学習値の更新を許可する一方、前記収束度合判定手段により前記学習値としての前記基本学習値の収束度合が前記所定度合以上である旨の判定がなされ、且つ前記複数の基本学習領域のうちの１つにおいて機関運転状態に基づいて区画される複数の多点学習領域のいずれかに現在の機関運転状態があるときに前記基本学習値の更新を禁止するとともに前記多点学習値の更新を許可するものであるといった態様をもって具体化することができる。
【００１６】
（５）請求項５に記載の発明は、請求項１〜請求項４のいずれか一項に記載の内燃機関の点火時期制御装置において、前記収束度合判定手段は、機関始動がなされてからの前記学習値更新手段による前記学習値の更新回数が所定回数以上となることをもって前記学習値の収束度合が前記所定度合以上である旨の判定をすることをその要旨としている。
【００１７】
例えば機関停止中においてそれまでの燃料とはそれまでの燃料とは性状の異なる燃料が給油された場合には、機関始動が開始された後に、燃焼に供される燃料の性状が給油前のものから給油後のものへと徐々に変化する。この場合、燃焼に供される燃料の性状が給油後のものとなるまでは、そのときどきの燃料の性状に応じて更新される学習値が変化することとなり、学習値の収束度合は低いものとなる。一方、燃焼に供される燃料の性状が給油後のものとなった後においては、学習値の収束度合は高いものとなる。これらのことから、上記構成によるように、機関始動がなされてからの学習値更新手段による学習値の更新回数が所定回数以上となることをもって学習値の収束度合が所定度合以上である旨の判定をすることとすれば、これを的確に判定することができるようになる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係る内燃機関の点火時期制御装置を具体化した一実施形態について、内燃機関及び同内燃機関を制御する電子制御装置を中心とした概略構成を示す概略構成図。
【図２】同実施形態における点火時期制御装置について、点火時期指令値の算出手順を示すグラフ。
【図３】同実施形態における点火時期制御装置について、機関運転領域における基本学習領域及び多点学習領域の関係を示すグラフ。
【図４】同実施形態における点火時期制御装置について、基本学習領域における機関負荷に対する点火時期指令値の関係の一例を示すグラフ。
【図５】同実施形態における点火時期制御装置について、多点学習領域における機関負荷に対する点火時期指令値の関係の一例を示すグラフ。
【図６】同実施形態における点火時期制御装置について、基本学習値及び多点学習値の更新処理の実行手順を示すフローチャート。
【図７】同実施形態における点火時期制御装置について、基本学習値の優先更新の実行中におけるガード処理の実行手順を示すフローチャート。
【図８】同実施形態における点火時期制御装置について、基本学習値の優先更新の実行中におけるガード処理を説明するためのグラフ。
【図９】同実施形態における点火時期制御装置について、相対ガード値を設定する処理の実行手順を示すフローチャート。
【図１０】同実施形態における点火時期制御装置について、基本学習値の通常更新の実行中における最終的なガード値を設定する処理の実行手順を示すフローチャート。
【図１１】同実施形態における点火時期制御装置について、基本学習値の通常更新の実行中におけるガード処理の実行手順を示すフローチャート。
【図１２】（ａ），（ｂ）同実施形態における点火時期制御装置について、基本学習値の通常更新の実行中におけるガード処理を説明するためのグラフ。
【発明を実施するための形態】
【００１９】
図１〜図１２を参照して、本発明の内燃機関の点火時期制御装置を具体化した一実施形態について説明する。
図１に、内燃機関１０及び同機関１０を制御する電子制御装置３０を中心とする概略構成を示す。
【００２０】
図１に示すように、内燃機関１０の燃焼室１１には、吸気通路１２を通じて空気が吸入されるとともに、燃料噴射弁１３から噴射された燃料が供給される。そして、吸入空気（以下、「吸気」）と噴射燃料とからなる混合気に対して点火プラグ１４による点火が行われると、その混合気が燃焼してピストン１５が往復運動し、内燃機関１０のクランクシャフト１６が回転する。また、燃焼後の混合気は排気として内燃機関１０の燃焼室１１から排気通路１７に送り出される。
【００２１】
電子制御装置３０は、内燃機関１０の運転のための各種制御を実行するものであり、各種制御に関係する各種の演算処理を実行する中央処理装置、その演算に必要なプログラムやデータが記憶された不揮発性メモリ、中央処理装置の演算結果が一時的に記憶される揮発性メモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、以下、「ＲＡＭ」）３０ａ、外部との間で信号を入力及び出力するための入力ポート及び出力ポート等を備えている。
【００２２】
電子制御装置３０の入力ポートには各種のセンサ類が接続されている。そうしたセンサ類としては、例えば、アクセルペダル１８の踏み込み量（以下、「アクセル踏み込み量ＡＣ」）を検出するアクセルセンサ３１や、吸気通路１２に設けられたスロットルバルブ１９の開度（以下、「スロットル開度ＴＡ」）を検出するスロットルセンサ３２、及び内燃機関１０におけるノックの発生を検出するノックセンサ３３が設けられている。また、吸気通路１２を通過する吸気の量（以下、「吸気量ＧＡ」）を検出する吸気量センサ３４、クランクシャフト１６の回転速度（以下、「機関回転速度ＮＥ」）を検出するクランクセンサ３５、内燃機関１０の冷却水の温度（以下、「冷却水温ＴＨＷ」）を検出する水温センサ３６、並びに内燃機関１０の運転開始や運転停止に際して操作されるイグニッションスイッチ３７等も設けられている。
【００２３】
電子制御装置３０は、各種センサ類の出力信号に基づき、機関回転速度ＮＥや機関負荷ＫＬ等の機関運転状態を把握する。電子制御装置３０は、そのようにして把握した機関運転状態に応じて、出力ポートに接続された各種の駆動回路に指令信号を出力する。このようにして電子制御装置３０により行われる制御としては、スロットルバルブ１９の開度を調整するスロットル制御、燃料噴射弁１３による燃料噴射を調整する燃料噴射制御、及び点火プラグ１４による点火時期を調整する点火時期制御が挙げられる。
【００２４】
電子制御装置３０をはじめとする内燃機関１０の電気系の各種装置は、バッテリ２０からの電力の供給を受けて駆動する。電子制御装置３０は、内燃機関１０の運転を停止させるためにイグニッションスイッチ３７が操作された後においてもＲＡＭ３０ａへの電力供給が維持されてその記憶値が保持されるようになっている。
【００２５】
次に、図２〜図５を参照して、点火時期制御の概要について説明する。尚、図２に、点火プラグ１４による点火時期の制御指令値（以下、「点火時期指令値ＳＴ」）の算出手順を示す。また、図３に、機関運転領域における基本学習領域及び多点学習領域の関係を示す。また、図４に、基本学習領域における機関負荷ＫＬに対する点火時期指令値ＳＴの関係の一例を示す。また、図５に、多点学習領域における機関負荷ＫＬに対する点火時期指令値ＳＴの関係の一例を示す。
【００２６】
点火時期制御では、機関運転状態に基づいて点火時期指令値ＳＴを算出する。尚、本実施形態においては、点火プラグ１４による点火時期は、点火時期指令値ＳＴが大きくなるにつれて進角されるようになっている。
【００２７】
図２に示すように、実線Ｌ１にて示す基本点火時期ＢＴは、標準的な環境条件下においてノックを発生させない最も進角側の点火時期に相当する値であり、機関負荷ＫＬ及び機関回転速度ＮＥに基づき算出される。具体的には、基本点火時期ＢＴは、機関トルクが最大となるＭＢＴ点火時期Ａ１と、最もノックが発生しにくい環境条件下において、ノックを生じさせない点火時期の範囲における最も進角側の点火時期である第１ノック限界点火時期ＢＫ１とのうち、より遅角側の値を選択して設定される。
【００２８】
破線Ｌ２にて示す第２ノック限界点火時期ＢＫ２は、最もノックが発生しやすい環境条件下において、ノックを生じさせない点火時期の範囲における最も進角側の点火時期を表す値である。上記環境条件としては、外気温、湿度、大気圧、及び冷却水温ＴＨＷ等を挙げることができる。すなわち、これらの条件に応じて内燃機関１０におけるノックの発生しやすさが変化するということができる。第２ノック限界点火時期ＢＫ２は、基本点火時期ＢＴからノック余裕代Ｒを減算した値、すなわち基本点火時期ＢＴからノック余裕代Ｒだけ遅角した値として算出される。ノック余裕代Ｒは、実験等により予め定められた固定値である。尚、本実施形態における第２ノック限界点火時期ＢＫ２が、本発明に係るノック限界点火時期に相当する。
【００２９】
フィードバック項Ｆは、ノックセンサ３３の出力信号に基づいてノックが発生していないと判断されたときに、予め定められた進角更新量ａ分だけ点火時期指令値ＳＴを増量（進角）するものである。一方、ノックセンサ３３の出力信号に基づいてノックが発生していると判断されたときに、予め定められた遅角更新量ｂ分だけ点火時期指令値を減量（遅角）するものである。こうしたフィードバック項Ｆによる点火時期指令値ＳＴの増減を通じて、ノックが発生したときには点火時期指令値ＳＴを直ちに遅角させてその発生の抑制が図られる一方、ノックが発生していないときには点火時期指令値ＳＴを進角させて機関出力の増大が図られる。
【００３０】
点火時期学習値ＡＧｔｏｔａｌは、基本学習値ＡＧ（ｉ）と多点学習値ＡＧｄｐ（ｎ）とに基づいて、以下の関係式（１）から求められる値である。
ＡＧｔｏｔａｌ  ＝  ＡＧ（ｉ）  ＋  ＡＧｄｐ（ｎ）      …（１）
ここで、基本学習値ＡＧ（ｉ）は、フィードバック項Ｆに徐変処理を施した値が、そのときどきの機関回転速度ＮＥにより定まる基本学習領域ＲＡｉ（ｉ＝１〜３）に対応する新たな基本学習値ＡＧ（ｉ）として電子制御装置３０のＲＡＭ３０ａに記憶される。こうした基本学習値ＡＧ（ｉ）により、ノックの発生を抑制すべく点火時期指令値ＳＴが定常的に補正される。具体的には、基本学習値ＡＧ（ｉ）は、例えば以下の関係式（２）から求められる。
ＡＧ（ｉ）  ＝｛  ＡＧ（ｉ）  ×  （ｎ−１） ＋ Ｆ  ｝  ／  ｎ      …（２）
すなわち、基本学習値ＡＧ（ｉ）は、直前の算出周期において更新された基本学習値ＡＧ（ｉ）に対して、１以上の正の数である「ｎ」から「１」を減じた値「ｎ−１」を乗じた値に、フィードバック項Ｆを加算し、これを「ｎ」にて除した値として求められる。尚、本実施形態における基本学習値ＡＧ（ｉ）が、本発明に係る学習値に相当する。
【００３１】
多点学習値ＡＧｄｐ（ｎ）は、そのときどきの機関運転状態が含まれる多点学習領域ＲＢｎ（ｎ＝１〜２４）に対応する値がフィードバック項Ｆに基づいて更新される。多点学習値ＡＧｄｐ（ｎ）の算出態様は、基本的には、基本学習値ＡＧ（ｉ）の算出態様と同様であり、多点学習値ＡＧｄｐ（ｎ）は、フィードバック項Ｆに除変処理を施すことにより算出され、新たな多点学習値ＡＧｄｐ（ｎ）として電子制御装置３０のＲＡＭ３０ａに記憶される。
【００３２】
点火時期指令値ＳＴは、第２ノック限界点火時期ＢＫ２、フィードバック項Ｆ、及び点火時期学習値ＡＧｔｏｔａｌに基づいて、以下の関係式（３）から求められる。すなわち、点火時期指令値ＳＴは、第２ノック限界点火時期ＢＫ２に対して、フィードバック項Ｆによる補正と点火時期学習値ＡＧＴによる補正とを加えることによって算出される。
ＳＴ  ＝  ＢＫ２  ＋  Ｆ  ＋  ＡＧｔｏｔａｌ      …（３）
尚、こうして算出される点火時期指令値ＳＴは、通常、第２ノック限界点火時期ＢＫ２よりも進角側の時期に相当する値となる。こうした点火時期指令値ＳＴから、ノックの発生の有無に応じてフィードバック項Ｆが設定されると、フィードバック項Ｆの増減分だけ点火時期指令値ＳＴが図中の矢印Ｙ１又は矢印Ｙ２で示すように増減する。そして、このように増減するフィードバック項Ｆに除変処理が施されることにより、新たな基本学習値ＡＧ（ｉ）或いは多点学習値ＡＧｄｐ（ｎ）が算出されるとともに電子制御装置３０のＲＡＭ３０ａに記憶されることによって基本学習値ＡＧ（ｉ）或いは多点学習値ＡＧｄｐ（ｎ）の更新が行われる。
【００３３】
図３を参照して、基本学習値ＡＧ（ｉ）及び多点学習値ＡＧｄｐ（ｎ）について詳細に説明する。
図３に示すように、機関回転速度ＮＥに応じて区画された複数の基本学習領域ＲＡｉ（本実施形態では、ｉ＝１〜３）が設定されている。そして、各基本学習領域ＲＡｉには、基本学習値ＡＧ（ｉ）が用意されている。上述したように、基本学習値ＡＧ（ｉ）は、フィードバック項Ｆに徐変処理を施した値が、そのときどきの機関回転速度ＮＥにより定まる基本学習領域ＲＡｉに対応する新たな基本学習値ＡＧ（ｉ）として記憶される。ただし、燃焼室１１内のデポジットによるノックの発生への影響は、同一の基本学習領域ＲＡｉ内であっても、その領域ＲＡｉ内における更に細かな機関運転領域毎に大きく異なったものとなる。このため、基本学習領域ＲＡｉ内における機関運転状態によっては、燃焼室１１内のデポジットに起因するノックの発生を抑制するうえで基本学習値ＡＧ（ｉ）が不適切な値となるおそれがある。詳しくは、例えばノックの発生を抑制するうえで基本学習値ＡＧ（ｉ）が大きすぎる値となってノックの発生を効果的に抑制することができなくなる場合がある。
【００３４】
そこで、基本学習領域ＲＡｉ内の中でも燃焼室１１内のデポジットによるノックの発生の影響度合のばらつきが大きい領域である基本学習領域ＲＡ１（ｉ＝１）には、基本学習領域ＲＡ１よりも更に細かい複数の多点学習領域ＲＢｎ（本実施形態では、ｎ＝１〜２４）が設定されている。そして、各多点学習領域ＲＢｎには、多点学習値ＡＧｄｐ（ｎ）（ｎ＝１〜２４）が用意されている。
【００３５】
多点学習領域ＲＢｎは、複数の基本学習領域ＲＡｉのうちの機関回転速度ＮＥの変化方向について最も低回転側に存在する基本学習領域ＲＡ１内において、機関負荷ＫＬの変化方向について低負荷側の領域に設定されている。これは、こうした領域において、燃焼室１１内のデポジットによるノックの発生の影響度合のばらつきが大きくなるためである。
【００３６】
具体的には、多点学習領域ＲＢｎは、機関負荷ＫＬの変化方向に対して４つに区画されるとともに、機関回転速度ＮＥの変化方向に対して６つに区画されており、合計で２４の多点学習領域ＲＢｎを有している。
【００３７】
このように、基本学習領域ＲＡ１において同領域ＲＡ１を細分化して複数の多点学習領域ＲＢｎを設定するとともに、これら多点学習領域ＲＢｎ毎に多点学習値ＡＧｄｐ（ｎ）を更新することにより、同多点学習値ＡＧｄｐ（ｎ）をノックの発生を抑制する上で適切な値とすることができる。
【００３８】
こうした基本学習値ＡＧ（ｉ）及び多点学習値ＡＧｄｐ（ｎ）の更新は以下のように行われる。すなわち、基本学習値ＡＧ（ｉ）については、内燃機関１０の暖機が完了したと判定され、且つ複数の基本学習領域ＲＡｉのいずれかに現在の機関運転状態があるときに基本学習値ＡＧ（ｉ）の更新が許可される（以下、「基本学習値ＡＧ（ｉ）の通常更新」）。ただし、現在の機関運転状態が、基本学習領域ＲＡ１にあって、且つ複数の多点学習領域ＲＢｎのうちのいずれかにあるときには、基本学習値ＡＧ（ｉ）の更新は禁止される。
【００３９】
一方、多点学習値ＡＧｄｐ（ｎ）については、内燃機関１０の暖機が完了したと判定され、且つ複数の多点学習領域ＲＢｎのいずれかに現在の機関運転状態があるときに多点学習値ＡＧｄｐ（ｎ）の更新が許可される。すなわち、基本学習領域ＲＡ１において、複数の多点学習領域ＲＢｎのいずれかに現在の機関運転状態があるときには多点学習値ＡＧｄｐ（ｎ）のみが学習され、多点学習領域ＲＢｎ以外の領域に現在の機関運転状態があるときには基本学習値ＡＧ（ｉ）のみが学習される。
【００４０】
また、本実施形態においては、機関始動がなされた後、基本学習値ＡＧ（１）の収束度合が所定度合以上となるまでは、基本学習値ＡＧ（１）の更新を、多点学習値ＡＧｄｐ（ｎ）の更新に優先して行うようにしている。具体的には、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となるまでは、基本学習値ＡＧ（１）の収束度合が所定度合未満であるとして、内燃機関１０の暖機が完了したと判定され、且つ現在の機関運転状態が基本学習領域ＲＡ１にありさえすれば、現在の機関運転状態が複数の多点学習領域ＲＢｎのいずれかにあるか否かに関係なく、基本学習値ＡＧ（１）の更新を許可する一方、多点学習値ＡＧｄｐ（ｎ）の更新を禁止するようにしている（以下、「基本学習値ＡＧ（１）の優先更新」）。
【００４１】
上記のように、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となることをもって基本学習値ＡＧ（１）の収束度合が所定度合以上であると判定する理由について、以下に説明する。すなわち、例えば機関停止中においてそれまでの燃料とは性状の異なる燃料が給油された場合には、機関始動が開始された後に、燃焼に供される燃料の性状が給油前のものから給油後のものへと徐々に変化する。この場合、燃焼に供される燃料の性状が給油後のものとなるまでは、そのときどきの燃料の性状に応じて更新される基本学習値ＡＧ（１）が変化することとなり、基本学習値ＡＧ（１）の収束度合は低いものとなる。一方、燃焼に供される燃料の性状が給油後のものとなった後においては、基本学習値ＡＧ（１）の収束度合は高いものとなる。これらのことから、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となることをもって基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定をすることとすれば、これを的確に判定することができるようになる。尚、ここでの所定回数Ｎ１としては、実験を通じて求められる最適値が設定されている。
【００４２】
また、点火時期指令値ＳＴを求める際に、現在の機関運転状態が複数の多点学習領域ＲＢｎのいずれかにあるときには、多点学習値ＡＧｄｐ（ｎ）として、同運転状態が含まれる多点学習領域ＲＢｎに対応する値ＡＧｄｐ（ｎ）が用いられる。一方、現在の機関運転状態が複数の多点学習領域ＲＢｎのうちのいずれにもないときには、多点学習値ＡＧｄｐ（ｎ）として「０」が設定される。すなわち、機関運転状態が多点学習領域ＲＢｎ以外にあるときには、多点学習値ＡＧｄｐ（ｎ）が用いられることなく点火時期指令値ＳＴが算出され、機関運転状態が多点学習領域ＲＢｎ内にあるときには、多点学習値ＡＧｄｐ（ｎ）が用いられて点火時期指令値ＳＴが算出される。
【００４３】
このようにして点火時期指令値ＳＴの算出が行われることにより、現在の機関運転状態が基本学習領域ＲＡ１にある場合においても、内燃機関１０における定常的なノックの発生を的確に抑制することができるようになる。言い換えれば、点火時期指令値ＳＴが適正な時期より進角側に補正されることでノックの発生を的確に抑制できなくなったり、点火時期指令値ＳＴが適正な時期より遅角側に補正されることで内燃機関１０の出力低下を招いたりするといった不具合の発生を抑制することができるようになる。
【００４４】
次に、図４及び図５を参照して、燃焼室１１内のデポジットの有無による点火時期指令値ＳＴの変化について、最も低回転側の基本学習領域ＲＡ１内における多点学習領域ＲＢｎとそれ以外の領域との違いについて説明する。
【００４５】
図４は、現在の機関運転状態が、上記基本学習領域ＲＡ１にあって、複数の多点学習領域ＲＢｎ以外の領域にあるときにおける、燃焼室１１内のデポジットの有無による機関負荷ＫＬの変化にともなう点火時期指令値ＳＴの変化態様の一例を示したものである。
尚、同図における実線及び二点鎖線は共に、機関回転速度ＮＥが一定の条件のもとでの機関負荷ＫＬの変化に対する点火時期指令値ＳＴの推移の一例を示しており、実線は燃焼室１１内にデポジットがない条件のもとでの推移の一例を、二点鎖線は同デポジットがある条件のもとでの推移の一例をそれぞれ示している。
【００４６】
図４に示すように、現在の機関運転状態が、基本学習領域ＲＡ１にあって、複数の多点学習領域ＲＢｎ以外の領域にあるときには、燃焼室１１内のデポジットによってノックが発生しやすくなると、点火時期指令値ＳＴが実線で示す状態から二点鎖線で示す状態へと機関負荷ＫＬの変化方向について一律の幅をもって遅角側に変化する。この点火時期指令値ＳＴの遅角側への変化量は、燃焼室１１内のデポジットによるノックの発生を抑えるために上記基本学習領域ＲＡ１の基本学習値ＡＧ（ｉ）が遅角側に変化した変化分に対応している。
【００４７】
図５は、現在の機関運転状態が、上記複数の多点学習領域ＲＢｎのいずれかにあるときにおける、燃焼室１１内のデポジットの有無による点火時期指令値ＳＴの変化態様の一例を示したものである。尚、同図における実線及び破線は共に、機関回転速度ＮＥが一定の条件のものでの機関負荷ＫＬの変化に対する点火時期指令値ＳＴの推移の一例を示しており、実線は燃焼室１１内にデポジットがない条件のもとでの推移の一例を、破線は同デポジットがある条件のもとでの推移の一例をそれぞれ示している。
【００４８】
図５に示すように、現在の機関運転状態が、複数の多点学習領域ＲＢｎのいずれかにあるときには、燃焼室１１内のデポジットによってノックが発生しやすくなると、点火時期指令値ＳＴが実線で示される状態から破線で示される状態へと機関負荷ＫＬ毎に異なる幅をもって遅角側に変化する。この点火時期指令値ＳＴの遅角側への変化量には、上記基本学習値ＡＧ（ｉ）の遅角側への変化分に加えて、上記多点学習値ＡＧｄｐ（ｎ）の遅角側への変化分も含まれている。
【００４９】
さて、前述したように、ノックセンサ３３の出力信号にノイズが発生すること等に起因して、基本学習値ＡＧ（ｉ）が不適切な値へと更新されることがある。そこで、基本学習値ＡＧ（ｉ）を更新するに際して、予め設定された上限ガード値ＡＧＳＵ及び下限ガード値ＡＧＳＬ（以下、「絶対ガード値」と総称する）により基本学習値ＡＧ（ｉ）をガードするようにしている。すなわち、フィードバック項Ｆに基づいて算出された基本学習値ＡＧ（ｉ）が絶対ガード値の下限ガード値ＡＧＳＬから上限ガード値ＡＧＳＵまでの範囲に含まれる場合には、算出された値がそのまま基本学習値ＡＧ（ｉ）として更新される。ただし、フィードバック項Ｆに基づいて算出された基本学習値ＡＧ（ｉ）が上限ガード値ＡＧＳＵを上回る場合には、算出された値に代えて上限ガード値ＡＧＳＵが学習値として更新される。また、フィードバック項Ｆに基づいて算出された基本学習値ＡＧ（ｉ）が下限ガード値ＡＧＳＬを下回る場合には、算出された値に代えて下限ガード値ＡＧＳＬが基本学習値ＡＧ（ｉ）として更新される。このように絶対ガード値ＡＧＳＵ，ＡＧＳＬにより基本学習値ＡＧ（ｉ）をガードすることにより、基本学習値ＡＧ（ｉ）が不適切な値へと更新されることが抑制されるようになっている。尚、内燃機関１０の個体差や経時変化の度合等によって基本学習値ＡＧ（ｉ）が変化することを考慮して、絶対ガード値の上限ガード値ＡＧＳＵは、ある程度の余裕をもって比較的大きな値に設定されるとともに、絶対ガード値の下限ガード値ＡＧＳＬは、ある程度の余裕をもって比較的小さな値に設定されている。
【００５０】
ところで、基本学習値ＡＧ（ｉ）を更新するに際して、絶対ガード値ＡＧＳＵ，ＡＧＳＬにより基本学習値ＡＧ（ｉ）をガードするものにあっては、基本学習値ＡＧ（ｉ）が不適切な値へと更新されることを抑制することはできる。しかしながら、内燃機関１０の経時変化が進行せず、基本学習値ＡＧ（ｉ）が比較的大きくは変化しない状態においては、絶対ガード値の上限ガード値ＡＧＳＵを基本学習値ＡＧ（ｉ）が上回る、或いは下限ガード値ＡＧＳＬを基本学習値ＡＧ（ｉ）が下回るまでは基本学習値ＡＧ（ｉ）がガードされないことから、以下の問題が生じることを回避することができない。すなわち、ノックセンサ３３の出力信号にノイズが発生すること等に起因して、基本学習値ＡＧ（ｉ）がそれまでの適切な値から比較的大きく変化すること、例えば基本学習値ＡＧ（ｉ）が絶対ガード値の上限ガード値ＡＧＳＵ近傍から下限ガード値ＡＧＳＬ近傍へと大きく変化することをガードすることができず、基本学習値ＡＧ（ｉ）がそれまでの適切な値から、より適切ではない値へと更新されることを抑制することができない。
【００５１】
そこで、本実施形態では、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となって上記基本学習値ＡＧ（１）の優先更新が完了したとき、すなわち基本学習値ＡＧ（１）の収束度合が所定度合以上となったときの基本学習値ＡＧ（１）に基づいて相対ガード値ＡＧＴＵ，ＡＧＴＬを設定するとともに、上記基本学習値ＡＧ（１）の優先更新の完了後においては基本学習値ＡＧ（１）を更新するに際して相対ガード値ＡＧＴＵ，ＡＧＴＬにより同基本学習値ＡＧ（１）をガードするようにしている。ここで、相対ガード値ＡＧＴＵ，ＡＧＴＬは、これら上限ガード値ＡＧＴＵと下限ガード値ＡＧＴＬとの乖離度合ΔＡＧＴが、上記絶対ガード値の上限ガード値ＡＧＳＵと下限ガード値ＡＧＳＬとの乖離度合ΔＡＧＳよりも小さな値となるように設定されている（ΔＡＧＴ＜ΔＡＧＳ）。
【００５２】
これにより、基本学習値ＡＧ（１）がそれまでの適切な値から、より適切ではない値へと更新されることを抑制するようにしている。
また、上記基本学習値ＡＧ（１）の優先更新が完了後において、基本学習値ＡＧ（１）を更新するに際して相対ガード値ＡＧＴＵ，ＡＧＴＬのみにより基本学習値ＡＧ（１）をガードすることとすると、以下の問題が生じるおそれがある。すなわち例えば、相対ガード値ＡＧＴＵ，ＡＧＴＬを設定する際に用いられる基本学習値（以下、「相対ガード設定用基本学習値ＡＧＴ」）が、絶対ガード値の下限ガード値ＡＧＳＬよりは大きいものの、同下限ガード値ＡＧＳＬに近い場合には、設定される相対ガード値の下限ガード値ＡＧＴＬが上記絶対ガード値の下限ガード値ＡＧＳＬを下回ることがある（ＡＧＴＬ＜ＡＧＳＬ）。この場合、基本学習値ＡＧ（１）が、絶対ガード値の下限ガード値ＡＧＳＬを下回っても、相対ガード値の下限ガード値ＡＧＴＬを下回るまではガードされることはない。従って、更新される基本学習値ＡＧ（ｉ）が過度に小さい不適切な値となる。
【００５３】
そこで、上記基本学習値ＡＧ（１）の優先更新が完了後においては、基本学習値ＡＧ（１）を更新するに際して相対ガード値ＡＧＴＵ，ＡＧＴＬ及び絶対ガード値ＡＧＳＵ，ＡＧＳＬの双方により同基本学習値ＡＧ（１）をガードするようにしている。これにより、更新される基本学習値ＡＧ（１）が、過度に小さい不適切な値となることや、過度に大きい不適切な値となることを抑制するようにしている。
【００５４】
次に、図６を参照して、本実施形態における基本学習値ＡＧ（１）及び多点学習値ＡＧｄｐ（ｎ）の更新処理について説明する。尚、図６にフローチャートとして示す一連の処理は、電子制御装置３０を通じて、内燃機関１０の運転中において現在の機関回転速度ＮＥが基本学習領域ＲＡ１にあるときに所定のクランク角毎の割り込みにて繰り返し実行される。
【００５５】
図６に示すように、この一連の処理では、内燃機関の暖機完了条件が成立しているか否かを判断する（ステップＳ１０１）。内燃機関の暖機完了条件としては冷却水温ＴＨＷが所定温度（例えば８０℃）以上であること等を挙げることができる。ここで、内燃機関の暖機完了条件が成立していない場合には（ステップＳ１０１：「ＮＯ」）、基本学習値ＡＧ（１）及び多点学習値ＡＧｄｐ（ｎ）の更新を実行する前提条件が成立していないものとして、この一連の処理を一旦終了する。
【００５６】
一方、内燃機関の暖機完了条件が成立している場合には（ステップＳ１０１：「ＹＥＳ」）、次に、基本学習値ＡＧ（１）の優先更新の実行条件が成立しているか否かを判断する。基本学習値ＡＧ（１）の優先更新の実行条件としては、基本学習値ＡＧ（１）の優先更新が完了していないことを挙げることができる。ここで、基本学習値ＡＧ（１）の優先更新の実行条件が成立していない場合には（ステップＳ１０２：「ＮＯ」）、次に、ステップＳ１０６に移行する。
【００５７】
一方、基本学習値ＡＧ（１）の優先更新の実行条件が成立している場合には（ステップＳ１０２：「ＹＥＳ」）、次に、基本学習値ＡＧ（１）の優先更新を実行する（ステップＳ１０３）。そして、次に、基本学習値ＡＧ（１）の優先更新の完了条件が成立しているか否かを判断する（ステップＳ１０４）。基本学習値ＡＧ（１）の優先更新の完了条件としては、上述したように、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上であることを挙げることができる。ここで、基本学習値ＡＧ（１）の優先更新の完了条件が成立していない場合には（ステップＳ１０４：「ＮＯ」）、この一連の処理を一旦終了する。
【００５８】
一方、基本学習値ＡＧ（１）の優先更新の完了条件が成立している場合には（ステップＳ１０４：「ＹＥＳ」）、次に、基本学習値ＡＧ（１）の優先更新を完了する（ステップＳ１０５）。そして、次に、ステップＳ１０６に移行する。
【００５９】
ステップＳ１０６においては、基本学習値ＡＧ（１）の通常更新の実行条件が成立しているか否かを判断する。基本学習値ＡＧ（１）の通常更新の実行条件としては、上述したように、現在の機関運転状態（機関回転速度ＮＥ及び機関負荷ＫＬ）が複数の多点学習領域ＲＢｎのいずれにも含まれないことを挙げることができる。ここで、基本学習値ＡＧ（１）の通常更新の実行条件が成立している場合には（ステップＳ１０６：「ＹＥＳ」）、次に、基本学習値ＡＧ（１）の通常更新を実行して（ステップＳ１０７）、この一連の処理を一旦終了する。
【００６０】
一方、基本学習値ＡＧ（１）の通常更新の実行条件が成立していない場合には（ステップＳ１０６：「ＮＯ」）、次に、多点学習値ＡＧｄｐ（ｎ）の通常更新を実行して（ステップＳ１０８）、この一連の処理を一旦終了する。
【００６１】
次に、図７及び図８を参照して、基本学習値ＡＧ（１）の優先更新の実行中におけるガード処理について説明する。尚、図７にフローチャートとして示す一連の処理は、電子制御装置３０を通じて、基本学習値ＡＧ（１）の優先更新が実行される毎に実行される。
【００６２】
図７に示すように、この一連の処理では、フィードバック項Ｆに基づいて算出された基本学習値ＡＧ（１）が絶対ガード値の上限ガード値ＡＧＳＵよりも大きいか否かを判断する（ステップＳ２０１）。そしてこの結果、算出された値が絶対ガード値の上限ガード値ＡＧＳＵよりも大きい場合には（ステップＳ２０１：「ＹＥＳ」）、次に、算出された値に代えて、絶対ガード値の上限ガード値ＡＧＳＵが基本学習値ＡＧ（１）として更新され（ステップＳ２０２）、この一連の処理を一旦終了する。
【００６３】
一方、算出された基本学習値ＡＧ（１）が絶対ガード値の上限ガード値ＡＧＳＵよりも大きくない場合には（ステップＳ２０１：「ＮＯ」）、次に、算出された値が絶対ガード値の下限ガード値ＡＧＳＬよりも小さいか否かを判断する（ステップＳ２０３）。そしてこの結果、算出された値が絶対ガード値の下限ガード値ＡＧＳＬよりも小さい場合には（ステップＳ２０３：「ＹＥＳ」）、次に、算出された値に代えて、絶対ガード値の下限ガード値ＡＧＳＬが基本学習値ＡＧ（１）として更新され（ステップＳ２０４）、この一連の処理を一旦終了する。
【００６４】
一方、ステップＳ２０３において、算出された値が絶対ガード値の下限ガード値ＡＧＳＬよりも小さくない場合には（ステップＳ２０３：「ＹＥＳ」）、すなわち、算出された値が絶対ガード値の下限ガード値ＡＧＳＬから上限ガード値ＡＧＳＵまでの範囲に含まれる場合には（ステップＳ２０３：「ＮＯ」、次に、算出された値がそのまま基本学習値ＡＧ（１）として更新され（ステップＳ２０５）、この一連の処理を一旦終了する。
【００６５】
以上のようにして基本学習値ＡＧ（１）についての絶対ガード処理が行われることにより、図８に示すように、基本学習値ＡＧ（１）の優先更新の実行中においては、更新される基本学習値ＡＧ（１）は、絶対ガード値の下限ガード値ＡＧＳＬから上限ガード値ＡＧＳＵまでの範囲に含まれることとなる。
【００６６】
次に、図９〜図１２を参照して、基本学習値ＡＧ（１）の通常更新の実行中におけるガード処理について説明する。尚、図９にフローチャートとして示す一連の処理は、相対ガード値ＡＧＴＵ，ＡＧＴＬを設定するためのものであり、電子制御装置３０を通じて、基本学習値ＡＧ（１）の優先更新が完了した直後に実行される。また、尚、図１０にフローチャートとして示す一連の処理は、相対ガード値ＡＧＴＵ，ＡＧＴＬ及び絶対ガード値ＡＧＳＵ，ＡＧＳＬの双方に基づいて最終的なガード値ＡＧＵ，ＡＧＬを設定するためのものであり、電子制御装置３０を通じて、図１０に示す一連の処理が完了した直後に実行される。また、図１１にフローチャートとして示す一連の処理は、電子制御装置３０を通じて、基本学習値ＡＧ（１）の通常更新が実行される毎に実行される。
【００６７】
まずは、図９に示すように、この一連の処理では、基本学習値ＡＧ（１）の優先更新が完了した直後における基本学習値ＡＧ（１）を、相対ガード値設定用基本学習値ＡＧＴとして設定する（ステップＳ３０１）。そして、次に、相対ガード値設定用基本学習値ＡＧＴに対して第１所定値ΔＵを加算した値を相対ガード値の上限ガード値ＡＧＴＵとして設定するとともに、相対ガード値設定用基本学習値ＡＧＴから第２所定値ΔＬを減算した値を相対ガード値の下限ガード値ＡＧＴＬとして設定して（ステップＳ３０２）、この一連の処理を終了する。ここで、第１所定値ΔＵ及び第２所定値ΔＬとしては、実験を通じて最適値が設定されている。
【００６８】
次に、図１０に示すように、この一連の処理では、相対ガード値の上限ガード値ＡＧＴＵが、絶対ガード値の上限ガード値ＡＧＳＵよりも大きいか否かを判断する（ステップＳ４０１）。ここで、相対ガード値の上限ガード値ＡＧＴＵが、絶対ガード値の上限ガード値ＡＧＳＵよりも大きい場合には（ステップＳ３０１：「ＹＥＳ」）、次に、最終的なガード値の上限ガード値ＡＧＵとして、絶対ガード値の上限ガード値ＡＧＳＵを設定する（ステップＳ４０２）。
【００６９】
一方、相対ガード値の上限ガード値ＡＧＴＵが、絶対ガード値の上限ガード値ＡＧＳＵよりも大きくない場合には（ステップＳ３０１：「ＮＯ」）、次に、最終的なガード値の上限ガード値ＡＧＵとして、相対ガード値の上限ガード値ＡＧＴＵを設定する（ステップＳ４０３）。
【００７０】
こうして最終的なガード値の上限ガード値ＡＧＵを設定すると、次に、相対ガード値の下限ガード値ＡＧＴＬが、絶対ガード値の下限ガード値ＡＧＳＬよりも小さいか否かを判断する（ステップＳ４０４）。ここで、相対ガード値の下限ガード値ＡＧＴＬが、絶対ガード値の下限ガード値ＡＧＳＬよりも小さい場合には（ステップＳ４０４：「ＹＥＳ」）、次に、最終的なガード値の下限ガード値ＡＧＬとして、絶対ガード値の下限ガード値ＡＧＳＬを設定して（ステップＳ４０５）、この一連の処理を終了する。
【００７１】
一方、相対ガード値の下限ガード値ＡＧＴＬが、絶対ガード値の下限ガード値ＡＧＳＬよりも大きくない場合には（ステップＳ４０４：「ＮＯ」）、次に、最終的なガード値の下限ガード値ＡＧＬとして、相対ガード値の下限ガード値ＡＧＴＬを設定して（ステップＳ４０６）、この一連の処理を終了する。
【００７２】
次に、図１１に示すように、この一連の処理では、フィードバック項Ｆに基づいて算出された基本学習値ＡＧ（１）が最終ガード値の上限ガード値ＡＧＵよりも大きいか否かを判断する（ステップＳ５０１）。そしてこの結果、算出された値が最終ガード値の上限ガード値ＡＧＵよりも大きい場合には（ステップＳ５０１：「ＹＥＳ」）、次に、算出された値に代えて、最終ガード値の上限ガード値ＡＧＵが基本学習値ＡＧ（１）として更新され（ステップＳ５０２）、この一連の処理を一旦終了する。
【００７３】
一方、算出された基本学習値ＡＧ（１）が最終ガード値の上限ガード値ＡＧＵよりも大きくない場合には（ステップＳ５０１：「ＮＯ」）、次に、算出された値が最終ガード値の下限ガード値ＡＧＬよりも小さいか否かを判断する（ステップＳ５０３）。そしてこの結果、算出された値が最終ガード値の下限ガード値ＡＧＬよりも小さい場合には（ステップＳ５０３：「ＹＥＳ」）、次に、算出された値に代えて、最終ガード値の下限ガード値ＡＧＬが基本学習値ＡＧ（１）として更新され（ステップＳ５０４）、この一連の処理を一旦終了する。
【００７４】
一方、ステップＳ５０３において、算出された値が最終ガード値の下限ガード値ＡＧＬよりも小さくない場合には（ステップＳ５０３：「ＹＥＳ」）、すなわち、算出された値が最終ガード値の下限ガード値ＡＧＬから上限ガード値ＡＧＵまでの範囲に含まれる場合には（ステップＳ５０３：「ＮＯ」、次に、算出された値がそのまま基本学習値ＡＧ（１）として更新され（ステップＳ５０５）、この一連の処理を一旦終了する。
【００７５】
以上のようにして基本学習値ＡＧ（１）についてのガード処理が行われることにより、基本学習値ＡＧ（１）の通常更新の実行中においては、例えば図１２（ａ）に示すように、相対ガード値の下限ガード値ＡＧＴＬが絶対ガード値の下限ガード値ＡＧＳＬよりも大きく、且つ相対ガード値の上限ガード値ＡＧＴＵが絶対ガード値の上限ガード値ＡＧＳＵよりも小さい場合には、更新される基本学習値ＡＧ（１）は、相対ガード値の下限ガード値ＡＧＴＬから上限ガード値ＡＧＴＵまでの範囲に含まれることとなる。
【００７６】
また、例えば図１２（ｂ）に示すように、相対ガード値の下限ガード値ＡＧＴＬは絶対ガード値の下限ガード値ＡＧＳＬよりも大きいものの、相対ガード値の上限ガード値ＡＧＴＵが絶対ガード値の上限ガード値ＡＧＳＵよりも大きい場合には、更新される基本学習値ＡＧ（１）は、相対ガード値の下限ガード値ＡＧＴＬから絶対ガード値の上限ガード値ＡＧＳＵまでの範囲に含まれることとなる。
【００７７】
以上説明した本実施形態に係る内燃機関の点火時期制御装置によれば、以下に示す作用効果が得られるようになる。
（１）電子制御装置３０は、機関運転状態に基づいて第２ノック限界点火時期ＢＫ２を算出する。また、ノックの発生の有無に応じてフィードバック項Ｆを設定するものとした。また、フィードバック項Ｆに基づいて基本学習値ＡＧ（ｉ）を更新するものとした。そして、ノック限界点火時期ＢＫ２に対してフィードバック項Ｆ及び基本学習値ＡＧ（ｉ）による補正を加えることにより点火時期指令値ＳＴを算出し、点火時期指令値ＳＴに基づいて内燃機関１０の点火時期を制御するものとした。また、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となることをもって基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定をするものとした。そして、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となったとき、そのときの基本学習値である相対ガード値設定用基本学習値ＡＧＴに基づいて相対ガード値ＡＧＴＵ，ＡＧＴＬを設定するとともに、基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となった後においては基本学習値ＡＧ（１）を更新するに際して相対ガード値ＡＧＴＵ，ＡＧＴＬにより基本学習値ＡＧ（１）をガードするものとした。これにより基本学習値ＡＧ（１）を更新するに際して相対ガード値ＡＧＴＵ，ＡＧＴＬにより同基本学習値ＡＧ（１）がガードされる。ここで、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となったとき、すなわち収束度合の比較的高いときの基本学習値ＡＧＴに基づいて相対ガード値ＡＧＴＵ，ＡＧＴＬが設定されることから、相対ガード値ＡＧＴＵ，ＡＧＴＬを的確に設定することができる。従って、基本学習値ＡＧ（１）がそれまでの適切な値から、より適切ではない値へと更新されることを的確に抑制することができるようになる。
【００７８】
（２）電子制御装置３０は、基本学習値ＡＧ（１）の優先更新が完了する前においては、基本学習値ＡＧ（１）を更新するに際して絶対ガード値ＡＧＳＵ，ＡＧＳＬにより同基本学習値ＡＧ（１）をガードするものとした。また、相対ガード値ＡＧＴＵ，ＡＧＴＬの上限ガード値ＡＧＴＵと下限ガード値ＡＧＴＬとの乖離度合ΔＡＧＴは、絶対ガード値ＡＧＳＵ，ＡＧＳＬの上限ガード値ＡＧＳＵと下限ガード値ＡＧＳＬとの乖離度合ΔＡＧＳよりも小さな値として設定されるものとした（ΔＡＧＴ＜ΔＡＧＳ）。これにより、基本学習値ＡＧ（１）の優先更新が完了する前においては、すなわち基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定がなされる前においては、基本学習値ＡＧ（１）を更新するに際して絶対ガード値ＡＧＳＵ，ＡＧＳＬにより同基本学習値ＡＧ（１）がガードされることから、基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定がなされる前において基本学習値ＡＧ（１）が不適切な値に更新されることを抑制することができるようになる。また、相対ガード値ＡＧＴＵ，ＡＧＴＬの上限ガード値ＡＧＴＵと下限ガード値ＡＧＴＬとの乖離度合ΔＡＧＴは、絶対ガード値ＡＧＳＵ，ＡＧＳＬの上限ガード値ＡＧＳＵと下限ガード値ＡＧＳＬとの乖離度合ΔＡＧＳよりも小さな値して設定されることから、基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定がなされた後においては、基本学習値ＡＧ（１）がそれまでの適切な値から、より適切ではない値へと更新されることを的確に抑制することができるようになる。
【００７９】
（３）電子制御装置３０は、基本学習値ＡＧ（１）の優先更新が完了した後においては、すなわち基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定がなされた後においては、基本学習値ＡＧ（１）を更新するに際して相対ガード値ＡＧＴＵ，ＡＧＴＬ及び絶対ガード値ＡＧＳＵ，ＡＧＳＬの双方により同基本学習値ＡＧ（１）をガードすることとした。これにより、相対ガード値の下限ガード値ＡＧＴＬが絶対ガード値の下限ガード値ＡＧＳＬを下回る場合には絶対ガード値の下限ガード値ＡＧＳＬによって基本学習値ＡＧ（１）がガードされ、相対ガード値の上限ガード値ＡＧＴＵが絶対ガード値の上限ガード値ＡＧＳＵを上回る場合には絶対ガード値の上限ガード値ＡＧＳＵによって基本学習値ＡＧ（１）がガードされる。従って、更新される基本学習値ＡＧ（１）が、過度に小さい不適切な値となることや、過度に大きい不適切な値となることを的確に抑制することができるようになる。
【００８０】
尚、本発明にかかる内燃機関の点火時期制御装置は、上記実施形態にて例示した構成に限定されるものではなく、これを適宜変更した例えば次のような形態として実施することもできる。
【００８１】
・上記実施形態では、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となることをもって基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定をするようにしているが、基本学習値ＡＧ（１）の収束度合が所定度合以上であるか否かを判定するための収束度合判定手段による判定態様はこれに限られるものではない。他に例えば、機関始動がなされてからの経過期間が所定期間以上となることをもって基本学習値ＡＧ（１）の収束度合が所定度合以上である旨の判定を行うようにしてもよい。この場合、所定期間としては、機関始動がなされてからの基本学習値ＡＧ（１）の更新回数Ｎが所定回数Ｎ１以上となるまでに要する期間以上に設定することが望ましい。
【００８２】
・上記実施形態によるように、基本学習値ＡＧ（ｉ）と多点学習値ＡＧｄｐ（ｎ）との双方に基づいて点火時期指令値ＳＴを算出することが、燃焼室１１内のデポジットによるノックの発生への影響が同一の基本学習領域ＲＡ１内であっても、その領域ＲＡ１内における更に細かな機関運転領域毎に大きく異なったものとなることを考慮して点火時期指令値を設定する上では望ましい。しかしながら、本発明に係る点火時期指令値算出手段による点火時期指令値の算出態様はこれに限られるものではなく、このような問題が無視できる場合であれば、基本学習値ＡＧ（ｉ）のみに基づいて点火時期指令値を算出するようにしてもよい。
【００８３】
・上記実施形態では、基本学習値ＡＧ（ｉ）の優先更新の完了後においては、相対ガード値ＡＧＴＵ，ＡＧＴＬ及び絶対ガード値ＡＧＳＵ，ＡＧＳＬの双方により基本学習値ＡＧ（ｉ）をガードするようにしているが、本発明に係るガード手段による学習値のガード態様はこれに限られるものではなく、学習値の収束度合が所定度合以上である旨の判定がなされた後において、相対ガード値ＡＧＴＵ，ＡＧＴＬのみにより同学習値をガードするようにしてもよい。
【符号の説明】
【００８４】
１０…内燃機関、１１…燃焼室、１２…吸気通路、１３…燃料噴射弁、１４…点火プラグ、１５…ピストン、１６…クランクシャフト、１７…排気通路、１８…アクセルペダル、１９…スロットルバルブ、２０…バッテリ、３０…電子制御装置（ノック限界点火時期算出手段、フィードバック項設定手段、学習値更新手段、点火時期指令値算出手段、収束度合判定手段、ガード手段）、３０ａ…ＲＡＭ、３１…アクセルセンサ、３２…スロットルセンサ、３３…ノックセンサ、３４…吸気量センサ、３５…クランク角センサ、３６…冷却水温センサ、３７…イグニッションスイッチ。
【図１】
2010270688.tif 000003
【図２】
2010270688.tif 000004
【図３】
2010270688.tif 000005
【図４】
2010270688.tif 000006
【図５】
2010270688.tif 000007
【図６】
2010270688.tif 000008
【図７】
2010270688.tif 000009
【図８】
2010270688.tif 000010
【図９】
2010270688.tif 000011
【図１０】
2010270688.tif 000012
【図１１】
2010270688.tif 000013
【図１２】
2010270688.tif 000014