(57)【要約】【課題】内燃機関から出力されるトルクを増大させにくくなってしまうことを抑制できる内燃機関の点火時期制御装置を提供する。【解決手段】点火時期制御装置である制御装置３０は、内燃機関でノッキングが発生しているか否かの判定結果を基にＦ／Ｂ補正値ｅａｋｓｃを更新するＦ／Ｂ補正部３０２と、Ｆ／Ｂ補正値ｅａｋｓｃに基づいた学習更新量を基に即時成分学習値と長期成分学習値とを更新し、即時成分学習値と長期成分学習値とを基に合計学習値ｅａｔｌｌを導出する学習部３０５と、Ｆ／Ｂ補正値ｅａｋｓｃ及び合計学習値ｅａｔｌｌを基にベース点火時期ｅａｃａｌｂｓｅよりも遅角側に補正した時期を要求点火時期ｅａｆｉｎとして導出する要求導出部３０７とを備える。学習部３０５は、長期成分学習値を更新する場合、予め設定されている規定期間内での長期成分学習値の更新量が規定量を超えない範囲で長期成分学習値を更新する。【選択図】図５
2019019718.tif 000002
【特許請求の範囲】
【請求項１】
ノックセンサからの検出信号を基に、内燃機関でノッキングが発生しているか否かを判定するノック判定部と、
前記ノック判定部による判定の結果を基にフィードバック補正値を更新するフィードバック補正部と、
前記フィードバック補正値に基づいた学習更新量のうちの一部に基づき、前記内燃機関の経時変化以外の要因による点火時期の変化分を補償する第１の学習値を、前記フィードバック補正値の絶対値が小さくなるように更新し、前記学習更新量のうちの残りに基づき、前記内燃機関の経時変化を要因とする点火時期の変化分を補償する第２の学習値を、前記フィードバック補正値の絶対値が小さくなるように更新する学習部と、
前記フィードバック補正値と前記各学習値とを基にベース点火時期よりも遅角側に補正した時期を要求点火時期として導出する要求導出部と、を備えた内燃機関の制御装置において、
前記学習部は、前記第２の学習値を更新する場合、予め設定されている規定期間内での前記第２の学習値の更新量が規定量を超えない範囲で同第２の学習値を更新する
ことを特徴とする内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関する。
【背景技術】
【０００２】
内燃機関の点火時期制御装置として、内燃機関に設けられているノックセンサからの検出信号を基に内燃機関でノッキングが発生しているか否かを判定し、その判定結果に基づいて点火時期を調整する装置が知られている。こうした装置では、内燃機関でノッキングが発生していると判定したときには、点火時期を遅角させることにより、内燃機関でのノッキングの発生を抑制するようにしている。
【０００３】
例えば特許文献１に記載される装置では、設定可能な最進角点火時期及び最遅角点火時期が機関運転状態に基づいてそれぞれ設定されるとともに、最進角点火時期と最遅角点火時期との差分である最大遅角量が算出される。また、当該装置では、ノッキングが発生しているか否かの判定結果に即時に対応するためのフィードバック補正値と、フィードバック補正値の絶対値が大きくなりすぎることを抑制するためのノッキング学習値とが導出される。また、最大遅角量からノッキング学習値を減じた差と、フィードバック補正値との和が、最進角点火時期からの点火時期の遅角量である点火時期遅角量として導出される。そして、最進角点火時期から点火時期遅角量を減じることで、要求点火時期が導出される。
【０００４】
なお、特許文献１に記載の装置では、最遅角点火時期を以下のようにして導出している。すなわち、内燃機関へのデポジットの付着量を考慮する値として、デポジット学習値が算出される。このデポジット学習値は、ノッキングが発生していると判定される頻度が高いほど大きくなる。そして、デポジット学習値が大きいほど、最遅角点火時期が、より遅角側に設定されることとなる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−３０５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、ノックセンサには、ノッキングによる振動以外に内燃機関で発生する他の振動もまた入力される。このような他の振動としては、例えば、機関バルブの駆動に起因する振動、ピストンの往復動に起因する振動を挙げることができる。そのため、ノックセンサからの検出信号を用いてノッキングが発生しているか否かを判定する場合、実際にはノッキングが発生していないにも拘わらず、他の振動がノックセンサに入力されているためにノッキングが発生していると判定してしまうことがある。このような場合であっても、上記点火時期制御装置では、点火時期が遅角されることとなる。
【０００７】
他の振動がノックセンサに入力されていることに起因してノッキングが発生していると誤判定する場合、点火時期を遅角しても、他の振動がノックセンサに入力される事象が解消されるとは限らない。このように点火時期を遅角しても他の振動がノックセンサに入力される事象が解消されない場合、点火時期が遅角され続けるおそれがある。この場合、各学習値が誤ったかたちで更新されてしまう。その結果、点火時期が過剰に遅角された状態を解消させることができず、内燃機関から出力されるトルクを増大させにくくなってしまう。
【課題を解決するための手段】
【０００８】
上記課題を解決するための内燃機関の点火時期制御装置は、ノックセンサからの検出信号を基に、内燃機関でノッキングが発生しているか否かを判定するノック判定部と、前記ノック判定部による判定の結果を基にフィードバック補正値を更新するフィードバック補正部と、前記フィードバック補正値に基づいた学習更新量のうちの一部に基づき、前記内燃機関の経時変化以外の要因による点火時期の変化分を補償する第１の学習値を、前記フィードバック補正値の絶対値が小さくなるように更新し、前記学習更新量のうちの残りに基づき、前記内燃機関の経時変化を要因とする点火時期の変化分を補償する第２の学習値を、前記フィードバック補正値の絶対値が小さくなるように更新する学習部と、前記フィードバック補正値と前記各学習値とを基にベース点火時期よりも遅角側に補正した時期を要求点火時期として導出する要求導出部と、を備えた装置を前提としている。この内燃機関の制御装置において、前記学習部は、前記第２の学習値を更新する場合、予め設定されている規定期間内での前記第２の学習値の更新量が規定量を超えない範囲で同第２の学習値を更新する。
【０００９】
ノックセンサからの検出信号を基にノッキングが内燃機関で発生していると判定されると、フィードバック補正値が更新され、点火時期が遅角される。また、学習更新量を基に、フィードバック補正値の絶対値を小さくすべく、第１の学習値及び第２の学習値が更新される。そして、第１の学習値や第２の学習値が大きいほど、要求点火時期が遅角側に設定されやすくなる。
【００１０】
ここで、第２の学習値は、内燃機関の経時変化による点火時期の変化分を補償するための値である。そのため、第２の学習値は、時間が経過するにつれて少しずつ大きくなるものである。言い換えると、第２の学習値が短期間で大きくなることは好ましい状態ではない。例えば、内燃機関にデポジットがそれほど付着していないにも拘わらず、デポジットの付着量がある程度多くなったことを示すような値に第２の学習値が設定されてしまうと、フィードバックによる点火時期の進角には制限があるため、点火時期をベース点火時期に近づけにくくなってしまう。すなわち、内燃機関から出力されるトルクを大きくしにくくなるおそれがある。
【００１１】
そこで、上記構成では、規定期間内での第２の学習値の更新量が規定量を超えないようになっている。そのため、上記規定期間内では、ノッキングによる振動以外の他の振動がノックセンサに入力されているためにノッキングが発生していると誤判定されている場合であっても、第２の学習値が短期間で大きくなることを抑制できる。その結果、ベース点火時期とフィードバック補正値と各学習値とを基に要求点火時期を導出するに際し、第２の学習値が大きくなりにくい分、フィードバックによって要求点火時期をベース点火時期に近づけやすくなる。
【００１２】
したがって、実際にはノッキングが発生していないにも拘わらずノッキングが発生していると判定されたとしても、内燃機関から出力されるトルクを増大させにくくなることを抑制できるようになる。
【図面の簡単な説明】
【００１３】
【図１】内燃機関の点火時期制御装置の一実施形態である制御装置を備える内燃機関の概略を示す構成図。
【図２】要求点火時期の算出態様を示す模式図。
【図３】最大遅角量の配分を示す模式図。
【図４】機関運転領域を説明する図。
【図５】同制御装置の機能構成を示すブロック図。
【図６】Ｆ／Ｂ補正値を遅角させる側の制限値を設定するために実行される処理ルーチンを説明するフローチャート。
【図７】Ｆ／Ｂ補正値及び学習更新量を算出する際に実行される処理ルーチンを説明するフローチャート。
【図８】各学習値を算出する際に実行される処理ルーチンを説明するフローチャート。
【図９】各学習値及び点火時期の推移を示すタイミングチャート。
【発明を実施するための形態】
【００１４】
以下、内燃機関の点火時期制御装置を具体化した一実施形態を図１〜図９に従って説明する。
図１には、本実施形態の点火時期制御装置である制御装置３０を備える内燃機関１０が図示されている。この内燃機関１０は車両に搭載されており、当該車両は、内燃機関１０を動力源として走行するようになっている。
【００１５】
図１に示すように、内燃機関１０は、点火プラグ１１を備えている。そして、内燃機関１０の燃焼室１２では、点火プラグ１１による点火によって、吸入空気と燃料とを含む混合気が燃焼される。また、内燃機関１０のシリンダブロック１３には、混合気の燃焼に伴うノッキングの発生状況を検出するノックセンサ２１が設けられている。このノックセンサ２１に振動が入力されると、入力された振動に応じた検出信号をノックセンサ２１が制御装置３０に出力する。
【００１６】
内燃機関１０の運転にかかる各種制御は、制御装置３０により行われる。制御装置３０は、各種制御を実施するＣＰＵ、及び、同制御に必要な情報が記憶されるメモリを有している。制御装置３０には、上記ノックセンサ２１、クランク角センサ２２及びスロットルセンサ２３などの各種のセンサから検出信号が入力される。クランク角センサ２２は、クランクシャフトの回転速度である機関回転速度ＮＥに応じた信号を出力する。スロットルセンサ２３は、スロットル開度ＴＡに応じた信号を出力する。
【００１７】
また、制御装置３０は、上記各種のセンサ２１〜２３からの検出信号を基に、機関制御に必要なアクチュエータの駆動を制御する。このようなアクチュエータとしては、例えば、点火プラグ１１による混合気の点火に必要な高圧電流を発生させるイグナイタ１１ａを挙げることができる。
【００１８】
制御装置３０は、ノックセンサ２１からの検出信号を基にノッキングが内燃機関１０で発生しているか否かを判定し、この判定結果を基に点火時期の要求値である要求点火時期ｅａｆｉｎを導出し、要求点火時期ｅａｆｉｎを基にイグナイタ１１ａを駆動させるノッキング制御を実施する。そして、要求点火時期ｅａｆｉｎを遅角側に設定するほど、ノッキングの発生を抑制することができる。
【００１９】
次に、図２を参照し、ノッキング制御の概要を説明する。なお、ここでは点火時期を、点火対象となる気筒の圧縮上死点に対するクランク角の進角量［°ＣＡ］として表すようにしている。
【００２０】
図２に示すように、要求点火時期ｅａｆｉｎは、ベース点火時期ｅａｃａｌｂｓｅと、フィードバック補正値（「Ｆ／Ｂ補正値」という。）ｅａｋｃｓと、第１の学習値としての即時成分学習値ｅａｇｋｎｋと、第２の学習値としての長期成分学習値ｅａｄｅｐとを基に設定される。
【００２１】
例えば、ベース点火時期ｅａｃａｌｂｓｅは、ＭＢＴ点ａｍｂｔ及び第１のノック限界点ａｋｎｏｋ１に基づき算出される。具体的には、ＭＢＴ点ａｍｂｔ及び第１のノック限界点ａｋｎｏｋ１のうち、より遅角側の値が、ベース点火時期ｅａｃａｌｂｓｅとして設定される。ＭＢＴ点ａｍｂｔは、現状の機関運転条件において、最大トルクを得ることのできる点火時期である最大トルク点火時期のことである。第１のノック限界点ａｋｎｏｋ１は、ノック限界の高い高オクタン価燃料の使用時に、想定される最良の条件下で、ノッキングが発生していると判定されないようにすることのできる点火時期の進角限界値であるノック限界点火時期のことである。ＭＢＴ点ａｍｂｔ及び第１のノック限界点ａｋｎｏｋ１は、現状の機関回転速度ＮＥや機関負荷率ＫＬなどに基づき、制御装置３０のメモリに記憶された設定マップを参照して設定される。例えば、機関負荷率ＫＬは、機関回転速度ＮＥ及び吸入空気量を基に算出することができる。
【００２２】
Ｆ／Ｂ補正値ｅａｋｃｓは、ノッキングが発生しているか否かの判定の結果に応じて設定される。具体的には、ノッキングが発生していると判定されていないときには、Ｆ／Ｂ補正値ｅａｋｃｓが徐々に減少される。一方、ノッキングが発生していると判定されているときには、Ｆ／Ｂ補正値ｅａｋｃｓが徐々に増大される。
【００２３】
即時成分学習値ｅａｇｋｎｋは、内燃機関１０の経時変化以外の要因による点火時期の変化分を補償するための値である。内燃機関１０の経時変化以外の要因としては、例えば、使用している燃料のオクタン価の相違、及び、内燃機関１０の構成部品の製造誤差（内燃機関１０の個体差）を挙げることができる。長期成分学習値ｅａｄｅｐは、内燃機関１０の経時変化を要因とする点火時期の変化分を補償するための値である。内燃機関１０の経時変化の要因としては、例えば、内燃機関１０へのカーボンなどのデポジットの付着を挙げることができる。これら各学習値ｅａｇｋｎｋ，ｅａｄｅｐは、学習更新量ｅａｋｃｓｓｍを基にそれぞれ算出される。学習更新量ｅａｋｃｓｓｍは、例えば、Ｆ／Ｂ補正値ｅａｋｃｓの一次遅れの要素を基に導出される。そして、即時成分学習値ｅａｇｋｎｋは学習更新量ｅａｋｃｓｓｍのうちの一部を基に算出され、長期成分学習値ｅａｄｅｐは学習更新量ｅａｋｃｓｓｍのうちの残りを基に算出される。
【００２４】
そして、要求点火時期ｅａｆｉｎは、Ｆ／Ｂ補正値ｅａｋｃｓと各学習値ｅａｇｋｎｋ，ｅａｄｅｐとを基に、ベース点火時期ｅａｃａｌｂｓｅよりも遅角側に補正した時期と等しくされる。なお、本実施形態では、Ｆ／Ｂ補正値ｅａｋｃｓは、点火時期を遅角側に変更するときには正の値に設定される一方、点火時期を進角側に変更するときには負の値に設定される。そのため、要求点火時期ｅａｆｉｎは、Ｆ／Ｂ補正値ｅａｋｃｓが大きいほど遅角側に設定されやすい。また、各学習値ｅａｇｋｎｋ，ｅａｄｅｐは、「０」以上の値に設定されるようになっている。そのため、各学習値ｅａｇｋｎｋ，ｅａｄｅｐが大きいほど、要求点火時期ｅａｆｉｎが遅角側に設定されやすくなる、すなわち要求点火時期ｅａｆｉｎが進角側に設定されにくくなる。
【００２５】
また、図２に示すように、Ｆ／Ｂ補正値ｅａｋｃｓの更新には制限が設けられている。すなわち、基本的には、Ｆ／Ｂ補正値ｅａｋｃｓは、進角させる側の制限値ＬｉｍＡ（＝−Ａ（ただし、Ａ＞０））と、遅角させる側の制限値ＬｉｍＲ（＝Ａ）との間で更新される。ただし、後述するが、内燃機関１０が特定の運転領域で運転されている場合、遅角させる側の制限値ＬｉｍＲが、「Ａ」よりも大きい値（＝Ｂ（ただし、Ｂ＞Ａ））に変更される。
【００２６】
また、図２における最遅角点火時期ｅａｋｍｆは、設定可能な要求点火時期ｅａｆｉｎの遅角側の限界値である。この最遅角点火時期ｅａｋｍｆは、ノック限界の低い低オクタン価燃料の使用時に、想定される最悪の条件下で、例えば内燃機関１０へのデポジットの付着量が想定される最大量に達していても、ノッキングが発生していると判定されないようにすることのできる点火時期の限界であるノック限界点火時期のことである。なお、最遅角点火時期ｅａｋｍｆは、現状の機関回転速度ＮＥや機関負荷率ＫＬなどを考慮して設定される。
【００２７】
なお、図２に示すように、最遅角点火時期ｅａｋｍｆよりも進角側の時期である規定時期ｅａｋｍｆ１と、最遅角点火時期ｅａｋｍｆとの間は、加速不良領域Ｒ１となっている。点火時期が加速不良領域Ｒ１内に含まれている場合、車両の加速性能が著しく低下するおそれがある。
【００２８】
本実施形態では、ベース点火時期ｅａｃａｌｂｓｅから最遅角点火時期ｅａｋｍｆを減じた差である最大遅角量ｅａｋｍａｘを、図３に示すように振り分けている。すなわち、最大遅角量ｅａｋｍａｘは、内燃機関１０で使用される燃料のオクタン価に起因する遅角量であるオクタン価分最大遅角量ｅａｋ１と、内燃機関１０の構成部品の製造誤差（内燃機関１０の個体差）や内燃機関１０の使用環境に起因する遅角量である誤差分最大遅角量ｅａｋ２と、内燃機関１０へのデポジットの付着に起因する遅角量であるデポジット最大遅角量ｅａｋ３とを含んでいる。これら各最大遅角量ｅａｋ１，ｅａｋ２，ｅａｋ３のうち、オクタン価分最大遅角量ｅａｋ１及び誤差分最大遅角量ｅａｋ２は、内燃機関１０の経時変化以外の要因による点火時期の変化分である。一方、内燃機関１０におけるデポジットの付着量は、時間が経過するにつれて徐々に増大される。そのため、デポジット最大遅角量ｅａｋ３は、内燃機関１０の経時変化による点火時期の変化分である。
【００２９】
そこで、本実施形態では、即時成分学習値ｅａｇｋｎｋは、オクタン価分最大遅角量ｅａｋ１と誤差分最大遅角量ｅａｋ２との和を上限とする学習値である。一方、長期成分学習値ｅａｄｅｐは、デポジット最大遅角量ｅａｋ３を上限とする学習値である。
【００３０】
次に、図４及び図５を参照し、制御装置３０の機能構成について説明する。
図５に示すように、制御装置３０は、ノッキング制御を行うための機能部として、ノック判定部３０１、フィードバック補正部（以下、「Ｆ／Ｂ補正部」という。）３０２、フィードバックガード設定部（以下、「Ｆ／Ｂガード設定部」という。）３０３、運転領域判別部３０４、学習部３０５、ベース設定部３０６、要求導出部３０７、点火制御部３０８を有している。
【００３１】
ノック判定部３０１は、ノックセンサ２１からの検出信号を基に内燃機関１０でノッキングが発生しているか否かを判定する。例えば、ノック判定部３０１は、ノックセンサ２１に入力された振動の態様を取得し、振動の態様を基にノッキングが発生しているか否かを判定することができる。
【００３２】
運転領域判別部３０４は、現状の機関回転速度ＮＥ及び機関負荷率ＫＬを取得する。そして、運転領域判別部３０４は、取得した機関回転速度ＮＥ及び機関負荷率ＫＬを基に、図４に一点鎖線で囲むデポジット影響大領域ＤＲ１内で機関運転が行われているか否かを判定する。デポジット影響大領域ＤＲ１とは、内燃機関１０に付着しているデポジットによってノッキングの発生リスクが高くなりやすい領域のことであり、実験やシミュレーションなどによって予め把握されている。本実施形態では、当該判定のことを、「デポジット影響大判定」ともいう。
【００３３】
また、運転領域判別部３０４は、クランク角センサ２２からの検出信号、及び、スロットルセンサ２３からの検出信号を基に、内燃機関１０で高負荷運転が行われているか否かを判定する。例えば、運転領域判別部３０４は、図４に示すように現状の機関負荷率ＫＬが判定負荷率ＫＬＴＨ以上であるときに、高負荷運転が行われていると判定することができる。本実施形態では、当該判定のことを、「高負荷運転判定」ともいう。
【００３４】
ベース設定部３０６は、運転領域判別部３０４で取得された機関回転速度ＮＥ及び機関負荷率ＫＬを基に、上記のＭＢＴ点ａｍｂｔ及び第１のノック限界点ａｋｎｏｋ１を算出する。そして、ベース設定部３０６は、ＭＢＴ点ａｍｂｔ及び第１のノック限界点ａｋｎｏｋ１のうち、より遅角側の値をベース点火時期ｅａｃａｌｂｓｅとする。
【００３５】
Ｆ／Ｂガード設定部３０３は、運転領域判別部３０４によるデポジット影響大判定の結果を基に、Ｆ／Ｂ補正値ｅａｋｃｓを遅角させる側の制限値ＬｉｍＲを決定する。
Ｆ／Ｂ補正部３０２は、ノック判定部３０１での判定の結果と、Ｆ／Ｂガード設定部３０３によって設定された制限値ＬｉｍＲとを基に、Ｆ／Ｂ補正値ｅａｋｃｓを算出する。また、Ｆ／Ｂ補正部３０２は、Ｆ／Ｂ補正値ｅａｋｃｓを基に学習更新量ｅａｋｃｓｓｍもまた算出する。
【００３６】
学習部３０５は、運転領域判別部３０４による高負荷運転判定の結果と、Ｆ／Ｂ補正部３０２によって算出された学習更新量ｅａｋｃｓｓｍとを基に、即時成分学習値ｅａｇｋｎｋ及び長期成分学習値ｅａｄｅｐを算出する。そして、学習部３０５は、算出した即時成分学習値ｅａｇｋｎｋと長期成分学習値ｅａｄｅｐとを基に合計学習値ｅａｔｌｌを算出する。
【００３７】
要求導出部３０７は、ベース設定部３０６で設定されたベース点火時期ｅａｃａｌｂｓｅ、Ｆ／Ｂ補正部３０２によって算出されたＦ／Ｂ補正値ｅａｋｃｓと、学習部３０５で算出された合計学習値ｅａｔｌｌとを基に、要求点火時期ｅａｆｉｎを導出する。具体的には、要求導出部３０７は、以下の関係式（式１）を用い、要求点火時期ｅａｆｉｎを導出する。すなわち、Ｆ／Ｂ補正値ｅａｋｃｓと合計学習値ｅａｔｌｌとの和が、ベース点火時期ｅａｃａｌｂｓｅからの遅角量である。したがって、要求点火時期ｅａｆｉｎは、Ｆ／Ｂ補正値ｅａｋｃｓが大きいほど遅角側に設定されるとともに、合計学習値ｅａｔｌｌが大きいほど遅角側に設定される。ただし、関係式（式１）を用いた算出結果が、最遅角点火時期ｅａｋｍｆよりも遅角側の値である場合、要求点火時期ｅａｆｉｎは、最遅角点火時期ｅａｋｍｆと等しい値に設定される。
【００３８】
ｅａｆｉｎ＝ｅａｃａｌｂｓｅ＋（ｅａｋｃｓ＋ｅａｔｌｌ）  ・・・（式１）
点火制御部３０８は、要求導出部３０７によって導出された要求点火時期ｅａｆｉｎを基に、イグナイタ１１ａを制御する。
【００３９】
次に、図６を参照し、Ｆ／Ｂガード設定部３０３が実行する処理ルーチンについて説明する。本処理ルーチンは、予め設定された制御サイクル毎に実行される。
図６に示すように、本処理ルーチンにおいて、Ｆ／Ｂガード設定部３０３は、運転領域判別部３０４によってデポジット影響大領域ＤＲ１で機関運転が行われていると判定されていない場合（ステップＳ１１：ＮＯ）、Ｆ／Ｂ補正値ｅａｋｃｓを遅角させる側の制限値ＬｉｍＲとして「Ａ」を選択する（ステップＳ１２）。その後、Ｆ／Ｂガード設定部３０３は、本処理ルーチンを一旦終了する。一方、Ｆ／Ｂガード設定部３０３は、運転領域判別部３０４によってデポジット影響大領域ＤＲ１で機関運転が行われていると判定されている場合（ステップＳ１１：ＹＥＳ）、制限値ＬｉｍＲとして「Ｂ」を選択する（ステップＳ１３）。すなわち、ステップＳ１３では、Ｆ／Ｂ補正値ｅａｋｃｓを算出するに際しての遅角側のガードが緩和される。その後、Ｆ／Ｂガード設定部３０３は、本処理ルーチンを一旦終了する。
【００４０】
次に、図７を参照し、Ｆ／Ｂ補正部３０２が実行する処理ルーチンについて説明する。本処理ルーチンは、予め設定された制御サイクル毎に実行される。
図７に示すように、本処理ルーチンにおいて、Ｆ／Ｂ補正部３０２は、ノック判定部３０１によって内燃機関１０でノッキングが発生していると判定されている場合（ステップＳ２１：ＹＥＳ）、Ｆ／Ｂ補正値ｅａｋｃｓを増大させる、すなわちＦ／Ｂ補正値ｅａｋｃｓを遅角側に更新する（ステップＳ２２）。そして、Ｆ／Ｂ補正部３０２は、Ｆ／Ｂ補正値ｅａｋｃｓの遅角時ガード処理を実施する。すなわち、Ｆ／Ｂ補正部３０２は、遅角時ガード処理では、ステップＳ２２で更新したＦ／Ｂ補正値ｅａｋｃｓと、Ｆ／Ｂガード設定部３０３によって設定されている制限値ＬｉｍＲ（Ａ又はＢ）とのうち、小さい方の値をＦ／Ｂ補正値ｅａｋｃｓとする。その後、Ｆ／Ｂ補正部３０２は、その処理を後述するステップＳ２６に移行する。
【００４１】
一方、Ｆ／Ｂ補正部３０２は、ノック判定部３０１によって内燃機関１０でノッキングが発生していると判定されていない場合（ステップＳ２１：ＮＯ）、Ｆ／Ｂ補正値ｅａｋｃｓを減少させる、すなわちＦ／Ｂ補正値ｅａｋｃｓを進角側に更新する（ステップＳ２４）。そして、Ｆ／Ｂ補正部３０２は、Ｆ／Ｂ補正値ｅａｋｃｓの進角時ガード処理を実施する。すなわち、Ｆ／Ｂ補正部３０２は、進角時ガード処理では、ステップＳ２４で更新したＦ／Ｂ補正値ｅａｋｃｓと、図２に示す進角させる側の制限値ＬｉｍＡ（＝−Ａ）とのうち、大きい方の値をＦ／Ｂ補正値ｅａｋｃｓとする。その後、Ｆ／Ｂ補正部３０２は、その処理を後述するステップＳ２６に移行する。
【００４２】
ステップＳ２６において、Ｆ／Ｂ補正部３０２は、Ｆ／Ｂ補正値ｅａｋｃｓの一次遅れの要素を基に、学習更新量ｅａｋｃｓｓｍを算出する。本実施形態では、Ｆ／Ｂ補正部３０２は、学習更新量ｅａｋｃｓｓｍをＦ／Ｂ補正値ｅａｋｃｓの一次遅れの要素と等しくする。なお、学習更新量ｅａｋｃｓｓｍを、Ｆ／Ｂ補正値ｅａｋｃｓの一次遅れの要素にオフセット値を加算した和であってもよい。
【００４３】
その後、Ｆ／Ｂ補正部３０２は、本処理ルーチンを一旦終了する。
次に、図８を参照し、学習部３０５が実行する処理ルーチンについて説明する。なお、本処理ルーチンは、予め設定された制御サイクル毎に実行される。
【００４４】
図８に示すように、本処理ルーチンにおいて、学習部３０５は、Ｆ／Ｂ補正部３０２によって算出された学習更新量ｅａｋｃｓｓｍの絶対値が更新判定値ｅａｋｃｓｓｍＴＨよりも大きいか否かを判定する（ステップＳ３１）。更新判定値ｅａｋｃｓｓｍＴＨは、即時成分学習値ｅａｇｋｎｋ及び長期成分学習値ｅａｄｅｐを更新するか否かの判断基準として設定された値である。そのため、学習更新量ｅａｋｃｓｓｍの絶対値が更新判定値ｅａｋｃｓｓｍＴＨよりも大きいときには各学習値ｅａｇｋｎｋ，ｅａｄｅｐの更新が許容される一方、学習更新量ｅａｋｃｓｓｍの絶対値が更新判定値ｅａｋｃｓｓｍＴＨ以下であるときには各学習値ｅａｇｋｎｋ，ｅａｄｅｐの更新が禁止される。
【００４５】
そして、学習更新量ｅａｋｃｓｓｍの絶対値が更新判定値ｅａｋｃｓｓｍＴＨ以下である場合（ステップＳ３１：ＮＯ）、学習部３０５は、本処理ルーチンを一旦終了する。一方、学習更新量ｅａｋｃｓｓｍの絶対値が更新判定値ｅａｋｃｓｓｍＴＨよりも大きい場合（ステップＳ３１：ＹＥＳ）、学習部３０５は、分配率Ｂを設定する（ステップＳ３２）。すなわち、学習部３０５は、運転領域判別部３０４によって高負荷運転が行われていると判定されているときには、分配率Ｂを「１」と等しくする。一方、学習部３０５は、運転領域判別部３０４によって高負荷運転が行われていると判定されていないときには、分配率Ｂを「α」と等しくする。なお、「α」は、「０」よりも大きく且つ「１」未満の値である。例えば、本実施形態では、「α」は「０．５」である。なお、「α」を「０．５」とは異なる値（例えば、０．３や０．７）であってもよい。
【００４６】
続いて、学習部３０５は、即時成分学習値ｅａｇｋｎｋを更新する（ステップＳ３３）。すなわち、学習部３０５は、学習更新量ｅａｋｃｓｓｍと分配率Ｂとを基に、即時成分学習値ｅａｇｋｎｋを算出する。例えば、以下に示す関係式（式２）を基に、即時成分学習値ｅａｇｋｎｋが算出される。なお、関係式（式２）における「ｅａｇｋｎｋＡ」は、本処理ルーチンの実行が今回開始された時点における即時成分学習値ｅａｇｋｎｋのことである。
【００４７】
ｅａｇｋｎｋ＝ｅａｇｋｎｋＡ＋（ｅａｋｃｓｓｍ×Ｂ）  ・・・（式２）
また、ステップＳ３３では、学習部３０５は、関係式（式２）を用いた算出結果が正の値である場合、図３に示すオクタン価分最大遅角量ｅａｋ１と誤差分最大遅角量ｅａｋ２との和の絶対値と、関係式（式２）を用いて算出した即時成分学習値ｅａｇｋｎｋの絶対値とを比較する。そして、学習部３０５は、当該和の絶対値よりも即時成分学習値ｅａｇｋｎｋの絶対値が大きいときには、当該和を即時成分学習値ｅａｇｋｎｋとする。また、学習部３０５は、即時成分学習値ｅａｇｋｎｋの絶対値が当該和の絶対値以下であるときには、関係式（式２）を用いた算出結果をそのまま即時成分学習値ｅａｇｋｎｋとする。一方、学習部３０５は、関係式（式２）を用いた算出結果が負の値である場合、即時成分学習値ｅａｇｋｎｋは「０」と等しくされる。
【００４８】
そして、学習部３０５は、長期成分学習値ｅａｄｅｐを仮更新する（ステップＳ３４）。すなわち、学習部３０５は、学習更新量ｅａｋｃｓｓｍと分配率Ｂとを基に、長期成分学習値ｅａｄｅｐを算出する。例えば、以下に示す関係式（式３）を基に、長期成分学習値ｅａｄｅｐが算出される。なお、関係式（式３）における「ｅａｄｅｐＡ」は、本処理ルーチンの実行が今回開始された時点における長期成分学習値ｅａｄｅｐのことである。
【００４９】
ｅａｄｅｐ＝ｅａｄｅｐＡ＋（ｅａｋｃｓｓｍ×（１−Ｂ））  ・・・（式３）
また、ステップＳ３４では、学習部３０５は、関係式（式３）を用いた算出結果が正の値である場合、図３に示すデポジット最大遅角量ｅａｋ３の絶対値と、関係式（式３）を用いて算出した長期成分学習値ｅａｄｅｐの絶対値とを比較する。そして、学習部３０５は、デポジット最大遅角量ｅａｋ３の絶対値よりも長期成分学習値ｅａｄｅｐの絶対値が大きいときには、長期成分学習値ｅａｄｅｐをデポジット最大遅角量ｅａｋ３と等しくする。また、学習部３０５は、デポジット最大遅角量ｅａｋ３の絶対値が長期成分学習値ｅａｄｅｐの絶対値以下であるときには、関係式（式２）を用いた算出結果をそのまま長期成分学習値ｅａｄｅｐとする。一方、学習部３０５は、関係式（式３）を用いた算出結果が負の値である場合、長期成分学習値ｅａｄｅｐは「０」と等しくされる。
【００５０】
続いて、学習部３０５は、長期成分学習値ｅａｄｅｐの更新ガード処理を実施する（ステップＳ３５）。上述したように、長期成分学習値ｅａｄｅｐは、内燃機関１０におけるデポジットの付着を考慮した学習値である。そのため、本実施形態では、規定期間ＴＭ内での長期成分学習値ｅａｄｅｐの更新に対して制限が設けられている。すなわち、学習部３０５は、規定期間ＴＭ内での長期成分学習値の更新量Δｅａｄｅｐが規定量ΔｅａｄｅｐＴＨを超えないように、ステップＳ３４で算出した長期成分学習値ｅａｄｅｐを補正する。例えば、規定期間ＴＭ内での長期成分学習値の更新量Δｅａｄｅｐが規定量ΔｅａｄｅｐＴＨ未満である場合、ステップＳ３４での算出結果が、そのまま長期成分学習値ｅａｄｅｐとされる。一方、更新量Δｅａｄｅｐが規定量ΔｅａｄｅｐＴＨ以上である場合、規定期間ＴＭの開始時点における長期成分学習値ｅａｄｅｐに規定量ΔｅａｄｅｐＴＨを加算した和が、長期成分学習値ｅａｄｅｐとされる。
【００５１】
なお、規定量ΔｅａｄｅｐＴＨは、上記デポジット最大遅角量ｅａｋ３よりも十分に小さいこと、及び、オクタン価分最大遅角量ｅａｋ１と誤差分最大遅角量ｅａｋ２との和よりも十分に小さいことの双方の条件が成立するような値に設定されている。
【００５２】
ここで、本実施形態では、内燃機関１０から出力されるトルクが車両の駆動輪に伝達されることによる車両の走行距離が規定走行距離に達するまでの期間のことを、規定期間ＴＭと定義している。規定走行距離は、内燃機関１０へのデポジットの付着量の増大速度と規定量ΔｅａｄｅｐＴＨとを考慮した値である。そして、仮に点火時期を遅角し続けるような機関運転が行われているとした場合、規定期間ＴＭ毎に、長期成分学習値ｅａｄｅｐが規定量ΔｅａｄｅｐＴＨだけ更新されることになる。すなわち、内燃機関１０におけるデポジットの付着量の緩やかな増大に合わせ、長期成分学習値ｅａｄｅｐは緩やかに更新される。
【００５３】
続いて、学習部３０５は、合計学習値ｅａｔｌｌを算出する（ステップＳ３６）。すなわち、学習部３０５は、ステップＳ３３で更新した即時成分学習値ｅａｇｋｎｋとステップＳ３５で更新した長期成分学習値ｅａｄｅｐとの和と、遅角ガード値Ｙとを比較する。そして、学習部３０５は、即時成分学習値ｅａｇｋｎｋと長期成分学習値ｅａｄｅｐとの和と、遅角ガード値Ｙとのうち、小さい方の値を合計学習値ｅａｔｌｌとする。その後、学習部３０５は、本処理ルーチンを一旦終了する。
【００５４】
なお、遅角ガード値Ｙは、例えば、合計学習値ｅａｔｌｌが遅角ガード値Ｙと等しい状態の継続時間が、Ｎ回分（Ｎは１以上の正数）の規定期間ＴＭに相当する時間に到達すると、所定量だけインクリメントされる。また、遅角ガード値Ｙは、例えば、合計学習値ｅａｔｌｌが遅角ガード値Ｙよりも小さい状態の継続時間が判定継続時間に到達すると、所定量だけデクリメントされる。この場合、遅角ガード値Ｙは、オクタン価分最大遅角量ｅａｋ１と誤差分最大遅角量ｅａｋ２との和が初期値として設定される。
【００５５】
次に、図４及び図９を参照し、高負荷運転が行われていない状況下でノッキングが発生していると判定されている場合における作用を効果とともに説明する。
内燃機関１０でノッキングが発生すると、ノッキングに起因する振動がノックセンサ２１に入力される。すると、制御装置３０では、ノッキングが発生していると判定されるため、Ｆ／Ｂ補正値ｅａｋｓｃが増大され、点火時期が遅角される。こうした点火時期の遅角は、ノッキングが発生していると判定されなくなるまで行われる。これにより、ノッキングの発生を抑制することができる。
【００５６】
ノックセンサ２１には、内燃機関１０で発生するノッキング以外の振動が入力されることがある。このときにノックセンサ２１に入力される振動の態様が、ノッキングの発生時にノックセンサ２１に入力される振動の態様に似ていると、制御装置３０では、ノッキングが発生していないにも拘わらず、ノッキングが発生していると判定されてしまうことがある。
【００５７】
なお、このような誤判定が行われてしまうような振動は、特定の運転領域で機関運転が行われているときに発生しやすい。すなわち、図４に破線で囲む運転領域ＤＲ２では、内燃機関１０で共振が発生し、振幅の大きい振動がノックセンサ２１に入力されやすい。その結果、実際にはノッキングが発生していないにも拘わらず、ノッキングが発生しているという誤判定が行われてしまう。本実施形態では、このように誤判定がなされていても、Ｆ／Ｂ補正値ｅａｋｓｃが増大され、点火時期が遅角される。しかしながら、このように点火時期を遅角しても、ノックセンサ２１に入力されている振動の振幅は小さくならない。すなわち、ノッキングが発生していると判定されている状態が継続される。
【００５８】
その結果、Ｆ／Ｂ補正値ｅａｋｓｃが増大され続け、Ｆ／Ｂ補正値ｅａｋｓｃの一次遅れの要素を基に算出された学習更新量ｅａｋｃｓｓｍの絶対値が更新判定値ｅａｋｃｓｓｍＴＨよりも大きくなる。すると、即時成分学習値ｅａｇｋｎｋ及び長期成分学習値ｅａｄｅｐがそれぞれ増大される。
【００５９】
運転領域ＤＲ２で機関運転が行われている状態が継続されている場合、このように即時成分学習値ｅａｇｋｎｋ及び長期成分学習値ｅａｄｅｐを更新しても、Ｆ／Ｂ補正値ｅａｋｓｃの増大が継続されるため、図９に示すように、即時成分学習値ｅａｇｋｎｋ及び長期成分学習値ｅａｄｅｐの更新（増大）も継続される。
【００６０】
その結果、図９に示すように、一の規定期間ＴＭ内（すなわち、タイミングｔ１からタイミングｔ４までの規定期間ＴＭ内）のタイミングｔ２で、長期成分学習値ｅａｄｅｐの更新量Δｅａｄｅｐが規定量ΔｅａｄｅｐＴＨに達する。そのため、一の規定期間ＴＭ内においてタイミングｔ２以降では、長期成分学習値ｅａｄｅｐの更新（この場合、増大）が停止される。すなわち、上記運転領域ＤＲ２での機関運転が継続され、ノッキングが発生していないにも拘わらずノッキングが発生していると誤判定されている場合であっても、長期成分学習値ｅａｄｅｐが短期間で大きくなりすぎることが抑制される。
【００６１】
そのため、その後に運転領域ＤＲ２の外で機関運転が行われるようになり、ノッキングが発生していると判定されなくなった場合、長期成分学習値ｅａｄｅｐが過剰に大きくなっていない分、Ｆ／Ｂ補正値ｅａｋｓｃを減少させることで、点火時期を、ベース点火時期ｅａｃａｌｂｓｅに近づけることができる。したがって、内燃機関１０の出力を増大させにくくなることを抑制できる、すなわち車両を加速させにくくなることを抑制できる。
【００６２】
なお、このように長期成分学習値ｅａｄｅｐの更新を制限している場合であっても、Ｆ／Ｂ補正値ｅａｋｓｃの遅角させる側の制限値ＬｉｍＲが増大されている。そのため、長期成分学習値ｅａｄｅｐの更新を制限しても、Ｆ／Ｂ補正値ｅａｋｓｃを増大させることで、点火時期を、必要に応じて最遅角点火時期ｅａｋｍｆまで遅角させることはできる。
【００６３】
上記のように長期成分学習値ｅａｄｅｐの増大が停止されても、一の規定期間ＴＭ（タイミングｔ１からタイミングｔ４までの規定期間）が終わり、次の規定期間ＴＭ（タイミングｔ４からタイミングｔ５までの規定期間）に入ると、長期成分学習値ｅａｄｅｐの更新は、規定量ΔｅａｄｅｐＴＨを超えない範囲で再び行うことができるようになる。したがって、内燃機関１０におけるデポジットの付着量の増大に合わせ、長期成分学習値ｅａｄｅｐを適切に更新することができる。
【００６４】
ちなみに、本実施形態では、合計学習値ｅａｔｌｌが上記遅角ガード値Ｙよりも大きくならないようにしている。図９に示す例では、タイミングｔ１からタイミングｔ４までの規定期間ＴＭ内で、合計学習値ｅａｔｌｌが遅角ガード値Ｙで保持されるようになっている。そのため、要求点火時期ｅａｆｉｎが加速不良領域Ｒ１内に設定されにくくなる。
【００６５】
ただし、合計学習値ｅａｔｌｌが上記遅角ガード値Ｙと等しい状態が長期に亘って継続される場合、Ｆ／Ｂ補正値ｅａｋｓｃが大きく、要求点火時期ｅａｆｉｎが最遅角点火時期ｅａｋｍｆに近づいていることがある。そこで、本実施形態では、合計学習値ｅａｔｌｌが上記遅角ガード値Ｙと等しい状態が長期に亘って継続されていると、遅角ガード値Ｙが増大補正される（タイミングｔ５）。これにより、合計学習値ｅａｔｌｌを大きくすることができる。したがって、ベース点火時期ｅａｃａｌｂｓｅから大きく遅角された時期が要求点火時期ｅａｆｉｎに設定されている場合であっても、Ｆ／Ｂ補正値ｅａｋｓｃの絶対値が大きい状態を解消しやすくなる。
【００６６】
なお、上記実施形態は以下のような別の実施形態に変更してもよい。
・上記実施形態では、規定期間ＴＭを車両の走行距離が規定走行距離に達するまでの期間としていた。しかしながら、これに限らず、例えば、内燃機関１０の運転時間の合計が規定時間に達するまでの期間のことを規定期間ＴＭとするようにしてもよい。
【００６７】
・図４に示す運転領域ＤＲ２で機関運転が行われているときに限り、Ｆ／Ｂ補正値ｅａｋｓｃを遅角させる側の制限値ＬｉｍＲに「Ｂ」を設定し、それ以外のときには制限値ＬｉｍＲに「Ａ」を設定するようにしてもよい。
【００６８】
・運転領域ＤＲ２で機関運転が行われている場合には、即時成分学習値ｅａｇｋｎｋの更新を停止するようにしてもよい。また、運転領域ＤＲ２で機関運転が行われている場合には、長期成分学習値ｅａｄｅｐの更新を停止するようにしてもよい。
【００６９】
・機関運転がどのような運転領域で行われていても、Ｆ／Ｂ補正値ｅａｋｓｃを遅角させる側の制限値ＬｉｍＲを「Ａ」で固定してもよい。
・高負荷運転を行っていないときでも、即時成分学習値ｅａｇｋｎｋが切替判定値に達するまでは分配率Ｂに「１」を設定し、即時成分学習値ｅａｇｋｎｋが切替判定値に達した以降では分配率Ｂに「α」を設定するようにしてもよい。この場合、切替判定値は、正の値であれば、図３に示すオクタン価分最大遅角量ｅａｋ１と誤差分最大遅角量ｅａｋ２との和と等しくてもよいし、当該和よりも小さい値であってもよい。
【００７０】
・合計学習値ｅａｔｌｌを、即時成分学習値ｅａｇｋｎｋと長期成分学習値ｅａｄｅｐとの和が遅角ガード値Ｙよりも大きい場合であっても、当該和と等しくしてもよい。
【符号の説明】
【００７１】
１０…内燃機関、２１…ノックセンサ、３０…制御装置、３０１…ノック判定部、３０２…Ｆ／Ｂ補正部、３０５…学習部、３０７…要求導出部。
【図１】
2019019718.tif 000003
【図２】
2019019718.tif 000004
【図３】
2019019718.tif 000005
【図４】
2019019718.tif 000006
【図５】
2019019718.tif 000007
【図６】
2019019718.tif 000008
【図７】
2019019718.tif 000009
【図８】
2019019718.tif 000010
【図９】
2019019718.tif 000011