(57)【要約】【課題】吸気バルブの閉弁タイミングが下死点付近であって同下死点を含む所定範囲内に入ったとき、内燃機関にノックが発生するのを抑制する。【解決手段】吸気バルブの閉弁タイミングが下死点付近であって同下死点を含む所定範囲Ａ内に入ったときには、点火時期指令値ＳＴを求めるのに用いられるノック限界点火時期（ＢＴ−Ｒ・Ｈ）が遅角側に補正される。そして、この遅角補正されたノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し学習値ＡＧ１による補正等が加えられて点火時期指令値ＳＴが算出される。この学習値ＡＧ１については閉弁タイミングＩＶＣが所定範囲Ａ外にあるときに更新されたものであるが、その学習値ＡＧ１を用いて点火時期指令値ＳＴを算出したとしても、上記ノック限界点火時期（ＢＴ−Ｒ・Ｈ）が遅角側に補正されているため、当該点火時期指令値ＳＴが進角し過ぎた状態になることは抑制される。【選択図】図７
2007138869.tif 000002
【特許請求の範囲】
【請求項１】
吸気バルブのバルブ特性を可変とする可変動弁機構を備える内燃機関に適用され、機関運転状態に基づき算出されるノック限界点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、前記フィードバック項に基づき更新される学習値による補正を加えることで点火時期指令値を算出し、その点火時期指令値に基づき点火時期を制御する内燃機関の点火時期制御装置において、
前記吸気バルブの閉弁タイミングが下死点付近であって且つ同下死点を含む所定範囲内にあるとき、前記ノック限界点火時期を遅角側に補正する補正手段を備える
ことを特徴とする内燃機関の点火時期制御装置。
【請求項２】
前記補正手段は、前記吸気バルブの閉弁タイミングが前記所定範囲内にあるとき、前記吸気バルブの開閉タイミングに基づき内燃機関の圧縮比を求め、その後に予め設定された標準圧縮比に対する前記内燃機関の圧縮比の変化量を算出し、その変化量の大きさが大となるほど前記ノック限界点火時期を遅角側に大きく補正する
請求項１記載の内燃機関の点火時期制御装置。
【請求項３】
前記補正手段は、前記吸気バルブの閉弁タイミングが前記所定範囲内から同所定範囲外に変化したとき、前記ノック限界点火時期における遅角側への補正量を「０」にする
請求項１又は２記載の内燃機関の点火時期制御装置。
【請求項４】
請求項１〜３のいずれか一項に記載の内燃機関の点火時期制御装置において、
ノック発生があるときには前記フィードバック項を遅角更新量ずつ減少させ、ノック発生がないときには前記フィードバック項を進角更新量ずつ増加させるフィードバック制御手段を更に備え、
吸気バルブの閉弁タイミングが前記所定範囲内にあるときには、それ以外のときに比べて前記遅角更新量を大とする
ことを特徴とする内燃機関の点火時期制御装置。
【請求項５】
前記ノック限界点火時期は、機関運転状態に基づき標準的な環境条件下でのノック限界点火時期として算出されるベース点火時期から予め定められたノック余裕代だけ遅角させた値である最もノックが発生しやすい環境条件下でのノック限界点火時期であって、
前記補正手段は、前記ノック余裕代の補正を通じて前記ノック限界点火時期を遅角側に補正するものである
請求項１〜４のいずれか一項に記載の内燃機関の点火時期制御装置。
【請求項６】
請求項５記載の内燃機関の点火時期制御装置において、
前記学習値を前記フィードバック項に基づき更新してメモリに記憶用学習値として記憶し、同メモリに記憶された前記記憶用学習値を読み込んで前記点火時期指令値を算出するための学習値として用いる学習値更新手段を更に備え、
前記補正手段によるノック限界点火時期の遅角側への補正は、最もノックが発生しやすい環境条件であることを前提に大きく行われるものであって、
前記学習値更新は、前記補正手段による補正前のノック余裕代をＲとし、前記補正手段による補正後のノック余裕代をＲ・Ｈとすると、前記点火時期指令値を算出するための学習値として前記メモリに記憶された前記記憶用学習値に「（Ｒ・Ｈ）／Ｒ」を乗算したものを用い、前記フィードバック項に基づき更新された学習値に「Ｒ／（Ｒ・Ｈ）」を乗算したものを記憶用学習値として前記メモリに記憶する
ことを特徴とする内燃機関の点火時期制御装置。
【請求項７】
前記フィードバック項は、ノック発生があるときには遅角更新量ずつ減少させられ、ノック発生がないときには進角更新量ずつ増加させられるものであり、
前記フィードバック項の遅角更新量は、予め定められたベース値に「（Ｒ・Ｈ）／Ｒ」を乗算したものが用いられる
請求項６記載の内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関するものである。
【背景技術】
【０００２】
自動車用エンジン等の内燃機関においては、例えば特許文献１にみられるように、異常燃焼の一種であるいわゆるノックの発生を点火時期の遅角によって抑制することが行われ、こうした点火時期遅角を含めて点火時期制御が行われる。
【０００３】
内燃機関の点火時期制御に用いられる点火時期指令値は、機関運転状態に基づき算出されるノック限界点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、フィードバック項に基づき更新される学習値による補正を加えることによって算出される。そして、このように算出された点火時期指令値に基づき点火時期が調整されることとなる。
【０００４】
点火時期指令値の算出に用いられる上記フィードバック項は、ノック発生ありのときには予め定められた遅角更新量分だけ減量されて点火時期を遅角補正し、ノック発生なしのときには予め定められた進角更新量分だけ増量されて点火時期を進角補正するものである。従って、フィードバック項は、ノック発生時に点火時期を直ちに遅角させてノックの抑制を図るとともに、ノック発生のないときには点火時期を進角させて上記点火時期の遅角によって低下した機関出力を可能な限り回復させるための補正項ということになる。
【０００５】
また、点火時期指令値の算出に用いられる上記学習値は、そのときのフィードバック項に基づき更新されるものであり、例えば同フィードバック項に徐変処理を施した値が新たな学習値とされるものである。従って、学習値は、ノックの発生を抑制すべく点火時期を定常的に補正するための補正項ということになる。
【０００６】
以上のフィードバック項及び学習値を用いて算出される点火時期指令値に基づき点火時期を調整することで、ノック抑制のための点火時期遅角を含む点火時期制御が実現される。
【特許文献１】特開２０００−１４５５３２公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、内燃機関においては、燃費改善等を意図して、吸気バルブのバルブ特性を可変とする可変動弁機構を備えるものが実用化されている。こうした内燃機関に上述した点火時期制御を適用した場合、吸気バルブのバルブ特性の変更により、同バルブの閉弁タイミングが下死点付近のタイミングになるとき、内燃機関の圧縮比が大となってノックが発生しやすくなる。これは、上記点火時期制御においては、機関運転状態に基づくノック限界点火時期の算出が、吸気バルブのバルブ特性を変更しない内燃機関であることを前提として行われるためと推測される。
【０００８】
以上のことから、吸気バルブの閉弁タイミングが下死点付近にある状況のもとで学習値の更新が行われると、それ以外の状況のもとで学習値の更新が行われるときに比べて、更新された学習値がより点火時期を遅角補正する側（減少側）の値となる。すなわち、吸気バルブの閉弁タイミングが下死点付近にある状況のもとでは、それ以外のときに比べて、学習値の適正な値がより遅角補正側（減少側）の値をとることになる。
【０００９】
このため、吸気バルブの閉弁タイミングが下死点から離れている状況から、下死点付近となる状況への変化が生じると、その変化直後においては学習値がノックを抑制しきれないほど大きい値、言い換えれば点火時期を進角させ過ぎる値となる。従って、吸気バルブの閉弁タイミングが下死点付近となる状況へと変化してから、学習値が当該状況下での適正な値に更新されるまでの間は、点火時期指令値が進角し過ぎた状態になってノックが発生しやすくなることは避けられない。
【００１０】
本発明はこのような実情に鑑みてなされたものであって、その目的は、吸気バルブの閉弁タイミングが下死点付近であって同下死点を含む所定範囲内に入ったとき、内燃機関にノックが発生するのを抑制することのできる内燃機関の点火時期制御装置を提供することにある。
【課題を解決するための手段】
【００１１】
以下、上記目的を達成するための手段及びその作用効果について記載する。
上記目的を達成するため、請求項１記載の発明では、吸気バルブのバルブ特性を可変とする可変動弁機構を備える内燃機関に適用され、機関運転状態に基づき算出されるノック限界点火時期に対し、ノック発生の有無に応じて増減するフィードバック項による補正を加えるとともに、前記フィードバック項に基づき更新される学習値による補正を加えることで点火時期指令値を算出し、その点火時期指令値に基づき点火時期を制御する内燃機関の点火時期制御装置において、前記吸気バルブの閉弁タイミングが下死点付近であって且つ同下死点を含む所定範囲内にあるとき、前記ノック限界点火時期を遅角側に補正する補正手段を備えた。
【００１２】
吸気バルブの閉弁タイミングが下死点付近であって同下死点を含む所定範囲内に入ったとき、ノック限界点火時期に対し、吸気バルブの閉弁タイミングが上記所定範囲外にあるときに更新された学習値による補正が加えられ、それによって点火時期指令値の算出が行われる。仮に、上記学習値による補正を上記補正手段による遅角側への補正がなされていないノック限界点火時期に加えて点火時期指令値の算出を行ったとすると、算出される点火時期指令値が進角し過ぎた状態になる。その結果、点火時期指令値が適正な値まで遅角するよう学習値が更新されるまでの間、内燃機関にノックが発生することは避けられない。しかし、上記構成によれば、吸気バルブの閉弁タイミングが下死点付近であって同下死点を含む所定範囲内に入ったとき、補正手段により遅角側に補正されたノック限界点火時期に対し上記学習値による補正が加えられ、それによって点火時期指令値の算出が行われる。従って、吸気バルブの閉弁タイミングが上記所定範囲内に入ったとき、点火時期指令値が進角し過ぎた状態になるのを抑制することができ、その点火時期指令値が適正な値になるよう学習値が更新されるまでの間に上記ノックが発生するのを抑制することができる。
【００１３】
請求項２記載の発明では、請求項１記載の発明において、前記補正手段は、前記吸気バルブの閉弁タイミングが前記所定範囲内にあるとき、前記吸気バルブの開閉タイミングに基づき内燃機関の圧縮比を求め、その後に予め設定された標準圧縮比に対する前記内燃機関の圧縮比の変化量を算出し、その変化量の大きさが大となるほど前記ノック限界点火時期を遅角側に大きく補正するものとした。
【００１４】
吸気バルブの閉弁タイミングが上記所定範囲内に入ったとき、予め設定された標準圧縮比に対する内燃機関の圧縮比の変化量の大きさが大であるほど、内燃機関にてノックが発生しやすくなることから、点火時期指令値の適正値が遅角側の値になる。なお、上記標準圧縮比としては、例えば吸気バルブのバルブ特性を変更するための可変動弁機構を備えてない内燃機関の圧縮比が採用される。上記構成によれば、標準圧縮比に対する内燃機関の圧縮比の変化量の大きさが大であってノックが発生しやすいほど、補正手段によりノック限界点火時期が遅角側に大きく補正され、このノック限界点火時期に対し学習値による補正等を加えることで点火時期指令値が算出される。このため、吸気バルブの閉弁タイミングが上記所定範囲内に入ったとき、点火時期指令値をノック発生を抑制するうえでの適正な値により近い値とすることが可能になる。
【００１５】
請求項３記載の発明では、請求項１又は２記載の発明において、前記補正手段は、前記吸気バルブの閉弁タイミングが前記所定範囲内から同所定範囲外に変化したとき、前記ノック限界点火時期における遅角側への補正量を「０」にするものとした。
【００１６】
吸気バルブの閉弁タイミングが上記所定範囲内にある状況のもとで学習値の更新が行われ、その後に吸気バルブの閉弁タイミングが上記所定範囲外に変化したとき、仮にノック限界点火時期の遅角側への補正が行われたままだとすると、そのノック限界点火時期に対し学習値による補正等を加えて算出される点火時期指令値が、ノックを抑制するうえで必要以上に遅角した値になる。このため、点火時期指令値が適正な値まで進角するよう学習値が更新されるまでの間、内燃機関の出力が低下することは避けられない。上記構成によれば、吸気バルブの閉弁タイミングが上記所定範囲内から所定範囲外へと変化したとき、ノック限界点火時期の遅角側への補正量が「０」とされ、その状態でノック限界点火時期に対し学習値による補正等が加えられて点火時期指令値が算出される。従って、吸気バルブの閉弁タイミングが上記所定範囲外に変化したとき、点火時期指令値が遅角し過ぎた状態になるのを抑制することができ、その点火時期指令値が適正な値になるよう学習値が更新されるまでの間に機関出力の低下が生じるのを抑制することができる。
【００１７】
請求項４記載の発明では、請求項１〜３のいずれか一項に記載の発明において、ノック発生があるときには前記フィードバック項を遅角更新量ずつ減少させ、ノック発生がないときには前記フィードバック項を進角更新量ずつ増加させるフィードバック制御手段を更に備え、吸気バルブの閉弁タイミングが前記所定範囲内にあるときには、それ以外のときに比べて前記遅角更新量を大とすることを要旨とした。
【００１８】
吸気バルブの閉弁タイミングが上記所定範囲内にあるときには、ノックが発生しやすいことから、ノック発生時に同ノックを抑制すべくフィードバック項を遅角更新量ずつ減少させる際、その遅角更新量を吸気バルブの閉弁タイミングが上記所定範囲外にあるときに比べて大きくすることが、フィードバック項によって点火時期指令値をノック抑制のための適正な値に速やかに収束させるうえで好ましい。上記構成によれば、吸気バルブの閉弁タイミングが上記所定範囲内にあるとき、フィードバック項の遅角更新量が大きくされるため、ノック限界点火時期に対しフィードバック項による補正を加える際、点火時期指令値を速やかに上記適正な値に収束させることができる。
【００１９】
請求項５記載の発明では、請求項１〜４のいずれか一項に記載の発明において、前記ノック限界点火時期は、機関運転状態に基づき標準的な環境条件下でのノック限界点火時期として算出されるベース点火時期から予め定められたノック余裕代だけ遅角させた値である最もノックが発生しやすい環境条件下でのノック限界点火時期であって、前記補正手段は、前記ノック余裕代の補正を通じて前記ノック限界点火時期を遅角側に補正するものであることを要旨とした。
【００２０】
上記構成によれば、ベース点火時期を算出するための処理については可変動弁機構のない内燃機関と共通化することができ、ノック余裕代を補正するための処理を新たに加えるだけでノック限界点火時期の遅角側への補正を実現することができる。
【００２１】
請求項６記載の発明では、請求項５記載の発明において、前記学習値を前記フィードバック項に基づき更新してメモリに記憶用学習値として記憶し、同メモリに記憶された前記記憶用学習値を読み込んで前記点火時期指令値を算出するための学習値として用いる学習値更新手段を更に備え、前記補正手段によるノック限界点火時期の遅角側への補正は、最もノックが発生しやすい環境条件であることを前提に大きく行われるものであって、前記学習値更新は、前記補正手段による補正前のノック余裕代をＲとし、前記補正手段による補正後のノック余裕代をＲ・Ｈとすると、前記点火時期指令値を算出するための学習値として前記メモリに記憶された前記記憶用学習値に「（Ｒ・Ｈ）／Ｒ」を乗算したものを用い、前記フィードバック項に基づき更新された学習値に「Ｒ／（Ｒ・Ｈ）」を乗算したものを記憶用学習値として前記メモリに記憶するものとした。
【００２２】
補正手段によるノック限界点火時期の遅角については、最もノックが発生しやすい環境条件であることを前提に行われる。このため、ノック限界点火時期の遅角量が大きめに設定され、吸気バルブの閉弁タイミングが上記所定範囲内に入ったとき、ノック限界点火時期に対し学習値による補正等を加えて算出される点火時期指令値は、僅かながら適正な値に対して遅角し過ぎた状態になる可能性が高い。上記構成によれば、こうした点火時期指令値の適正な値からのずれについては、記憶用学習値に「（Ｒ・Ｈ）／Ｒ」の乗算した値を点火時期指令値を算出するための学習値とすることで、極力小さくすることができる。従って、吸気バルブの閉弁タイミングが上記所定範囲内に入った後における点火時期指令値の適正な値への収束性を向上させることができる。
【００２３】
また、吸気バルブの閉弁タイミングが上記所定範囲内にあるときに学習値の更新が行われた場合、メモリに記憶される記憶用学習値としては、上記更新が行われた学習値に対して「Ｒ／（Ｒ・Ｈ）」を乗算した値が用いられる。仮に、上記更新が行われた学習値がそのまま記憶用学習値としてメモリに記憶されたとすると、吸気バルブの閉弁タイミングが上記所定範囲外に変化したとき、点火時期指令値の算出に用いられる学習値が吸気バルブの閉弁タイミングが上記所定範囲内にあるときに更新された学習値のままになり、同学習値を用いて算出された点火時期指令値が適正値から進角側にずれることになる。これは、補正手段によるノック限界点火時期の遅角を、最もノックが発生しやすい環境条件であることを前提に行っているためである。上述した点火時期指令値の適正値からの進角側へのずれについては、吸気バルブの閉弁タイミングが上記所定範囲内にあるときにメモリに記憶される記憶用学習値として、上記更新が行われた学習値に対して「Ｒ／（Ｒ・Ｈ）」を乗算した値を用いることで、極力小さくすることができる。従って、吸気バルブの閉弁タイミングが上記所定範囲外に出た後における点火時期指令値の適正な値への収束性を向上させることができる。
【００２４】
請求項７記載の発明では、請求項６記載の発明において、前記フィードバック項は、ノック発生があるときには遅角更新量ずつ減少させられ、ノック発生がないときには進角更新量ずつ増加させられるものであり、前記フィードバック項の遅角更新量は、予め定められたベース値に「（Ｒ・Ｈ）／Ｒ」を乗算したものが用いられるものとした。
【００２５】
上記構成によれば、吸気バルブの閉弁タイミングが上記所定範囲内にあるとき、その閉弁タイミングが下死点に近づいてノックが発生しやすくなるほど、補正手段による補正後のノック余裕代Ｒ・Ｈが同補正前のノック余裕代Ｒよりも大になり、補正手段によって遅角側に補正されるノック限界点火時期の遅角量が大とされる。そして、閉弁タイミングが下死点に近づいてノックが発生しやすくなるほど「（Ｒ・Ｈ）／Ｒ」という値が大となることから、フィードバック項の遅角更新量についてもノックが発生しやすくなるほど大きくされることになる。従って、吸気バルブの閉弁タイミングが上記所定範囲内にある状況下で、フィードバック項により点火時期指令値をノックを抑制するのに適正な値に収束させる際、その収束性を一層向上させることができる。
【発明を実施するための最良の形態】
【００２６】
［第１実施形態］
以下、本発明を自動車用エンジンの点火時期制御装置に具体化した第１実施形態を図１〜図１１に従って説明する。
【００２７】
図１に示されるエンジン１においては、その燃焼室２に吸気通路３を通じて空気が吸入されるとともに、燃料噴射弁４から噴射された燃料が同燃焼室２に供給される。この空気と燃料とからなる混合気に対し点火プラグ５による点火が行われると、同混合気が燃焼してピストン６が往復移動し、エンジン１の出力軸であるクランクシャフト７が回転する。そして、燃焼後の混合気は排気として各燃焼室２から排気通路８に送り出される。
【００２８】
エンジン１において、燃焼室２と吸気通路３との間は吸気バルブ９の開閉動作によって連通・遮断され、燃焼室２と排気通路８との間は排気バルブ１０の開閉動作によって連通・遮断される。これら吸気バルブ９及び排気バルブ１０については、クランクシャフト７の回転が伝達される吸気カムシャフト１１及び排気カムシャフト１２の回転に伴い開閉動作する。
【００２９】
エンジン１は、吸気バルブ９のバルブ特性を可変する可変動弁機構として、吸気カムシャフト１１に設けられたバルブタイミング可変機構１３と、吸気カムシャフト１１の吸気バルブ９との間に設けられたリフト量可変機構１４とを備えている。上記バルブタイミング可変機構１３は、クランクシャフト７に対する吸気カムシャフト１１の相対回転位相を調節することで、図２に示されるように吸気バルブ９の開弁期間を一定に保持した状態で同バルブ９の開弁時期及び閉弁時期が共に進角又は遅角させるものである。また、上記リフト量可変機構１４は、吸気バルブ９の最大リフト量及び同バルブ９を開閉させる吸気カム１１ａの作用角を、図３に示されるように互いに同期して変化させるものである。
【００３０】
次に、本実施形態におけるエンジン１の点火時期制御装置の電気的構成について、図１を参照して説明する。
エンジン１の点火時期制御装置は、エンジン１の各種運転制御を実行する電子制御装置２６を備えている。この電子制御装置２６は、上記制御に係る各種演算処理を実行するＣＰＵ、その制御に必要なプログラムやデータの記憶されたＲＯＭ、ＣＰＵの演算結果等が一時記憶されるＲＡＭ、外部との間で信号を入・出力するための入・出力ポート等を備えて構成されている。
【００３１】
電子制御装置２６の入力ポートには、以下に示す各種センサが接続されている。
・自動車の運転者によって踏み込み操作されるアクセルペダル２７の踏み込み量（アクセル踏込量）を検出するアクセルポジションセンサ２８。
【００３２】
・吸気通路３に設けられたスロットルバルブ２９の開度（スロットル開度）を検出するスロットルポジションセンサ３０。
・エンジン１でのノック発生を検出するノックセンサ３１。
【００３３】
・吸気通路３を通じて燃焼室２に吸入される空気の量を検出するエアフローメータ３２。
・クランクシャフト７の回転に対応する信号を出力し、エンジン回転速度の算出等に用いられるクランクポジションセンサ３４。
【００３４】
・吸気カムシャフト１１の回転位置に対応した信号を出力するカムポジションセンサ３５。
電子制御装置２６の出力ポートには、点火プラグ５の駆動回路  バルブタイミング可変機構１３の駆動回路、及びリフト量可変機構１４の駆動回路などが接続されている。
【００３５】
そして、電子制御装置２６は、上記各種センサから入力した検出信号に基づき、エンジン回転速度やエンジン負荷（エンジン１の１サイクル当たりに燃焼室２に吸入される空気の量）といったエンジン運転状態を把握する。なお、エンジン回転速度はクランクポジションセンサ３４からの検出信号に基づき求められる。また、エンジン負荷は、アクセルポジションセンサ２８、スロットルポジションセンサ３０、及び、エアフローメータ３２等の検出信号に基づき求められるエンジン１の吸入空気量とエンジン回転速度とから算出される。電子制御装置２６は、エンジン負荷やエンジン回転速度といったエンジン運転状態に応じて、上記出力ポートに接続された各種駆動回路に指令信号を出力する。こうしてエンジン１の点火時期制御、吸気バルブ９のバルブタイミング（開閉タイミング）の制御、並びに、吸気バルブ９の最大リフト量及び吸気カム１１ａの作用角の制御等が電子制御装置２６を通じて実施される。
【００３６】
次に、エンジン１の点火時期制御について詳しく説明する。
エンジン１の点火時期は、以下の式（１）から求められる点火時期指令値ＳＴに基づいて制御される。
【００３７】
ＳＴ＝（ＢＴ−Ｒ）＋Ｆ＋ＡＧ１      …（１）
ＳＴ        ：点火時期指令値
（ＢＴ−Ｒ）：ノック限界点火時期
ＢＴ        ：ベース点火時期
Ｒ          ：ノック余裕代
Ｆ          ：フィードバック項
ＡＧ１      ：学習値
式（１）のノック限界点火時期（ＢＴ−Ｒ）は、エンジン負荷及びエンジン回転速度に基づき標準的な環境条件下においてノックを生じさせない最も進角側の点火時期として算出されるベース点火時期ＢＴから、実験等により予め定められた固定値であるノック余裕代Ｒを減算することにより算出される。こうした算出されたノック限界点火時期（ＢＴ−Ｒ）は、上記ベース点火時期ＢＴからノック余裕代Ｒだけ遅角させた値となり、最もノックが発生しやすい環境条件下においてノックを生じさせない最も進角側の点火時期を表す値となる。なお、上記環境条件としては気温、湿度、大気圧、及びエンジン冷却水温等があげられ、これらの条件に応じてエンジン１でのノックの発生しやすさが変化することとなる。
【００３８】
式（１）のフィードバック項Ｆは、ノックセンサ３１からの検出信号に基づきノック発生ありの旨判断されたときには予め定められた遅角更新量ａ分だけ減量されて点火時期を遅角補正し、ノック発生なしの旨判断されたときには予め定められた進角更新量ｂ分だけ増量されて点火時期を進角補正するものである。従って、フィードバック項Ｆは、ノック発生時に点火時期を直ちに遅角させてノックの抑制を図るとともに、ノック発生のないには点火時期を進角させて上記点火時期の遅角によって低下したエンジン出力を可能な限り回復させるための補正項ということになる。
【００３９】
また、式（１）の学習値ＡＧ１は、そのときのフィードバック項Ｆに基づき更新されるものであり、例えば同フィードバック項Ｆに徐変処理を施した値が新たな学習値ＡＧ１とされるものである。従って、学習値ＡＧ１は、ノックの発生を抑制すべく点火時期を定常的に補正するための補正項ということになる。なお、フィードバック項Ｆに基づき更新された学習値ＡＧ１は、記憶用学習値ＡＧとして電子制御装置２６の不揮発性メモリ（バックアップＲＡＭ）に記憶される。そして、この学習値ＡＧ１の更新及び記憶は、以下の（Ａ）〜（Ｆ）に示される手順で行われる。
【００４０】
（Ａ）電子制御装置２６の不揮発性メモリから記憶用学習値ＡＧを読み込む。
（Ｂ）読み込んだ記憶用学習値ＡＧを点火時期指令値ＳＴの算出に用いられる学習値ＡＧ１として設定する。
【００４１】
（Ｃ）学習値ＡＧ１等に基づき点火時期指令値ＳＴを算出し、その点火時期指令値ＳＴに基づき点火時期を制御する。
（Ｄ）フィードバック項Ｆに基づき学習値ＡＧ１を更新する。
【００４２】
（Ｅ）更新後の学習値ＡＧ１を記憶用学習値ＡＧとして設定する。
（Ｆ）記憶用学習値ＡＧを電子制御装置２６の不揮発性メモリに記憶する。
ここで、上記式（１）を用いた点火時期指令値ＳＴの算出の概要について、図４を参照して説明する。
【００４３】
点火時期指令値ＳＴを算出するためのベース点火時期ＢＴ（実線Ｌ１）は、エンジン負荷及びエンジン回転速度に基づき、標準的な環境条件下においてノックを生じさせない最も進角側の点火時期として算出される。そして、このベース点火時期ＢＴからノック余裕代Ｒだけ遅角した値（破線Ｌ２）が、最もノックが発生しやすい環境条件下においてノックを生じさせない最も進角側の点火時期を表すノック限界点火時期（ＢＴ−Ｒ）とされる。更に、このノック限界点火時期（ＢＴ−Ｒ）に対し、フィードバック項Ｆによる補正、及び学習値ＡＧ１による補正を加えることで点火時期指令値ＳＴが算出される。ノック限界点火時期（ＢＴ−Ｒ）に対し上記学習値ＡＧ１による補正を加えることで、通常は点火時期指令値ＳＴがノック限界点火時期（ＢＴ−Ｒ）よりも進角側の値になる。この状態にあって、ノック発生の有無に応じてフィードバック項Ｆが増減されると、そのフィードバック項Ｆの増減分だけ点火時期指令値ＳＴが矢印Ｙ１又は矢印Ｙ２で示されるように増減する。そして、この増減するフィードバック項Ｆを徐変処理した値が新たな学習値ＡＧ１とされ、学習値ＡＧ１の更新が行われることとなる。
【００４４】
ところで、バルブタイミング可変機構１３の駆動による吸気バルブ９のバルブタイミングの制御、並びに、リフト量可変機構１４の駆動による吸気バルブ９の最大リフト量及び吸気カム１１ａの作用角の制御が行われるときには、それらの制御を通じて吸気バルブ９の閉弁タイミングが変化する。
【００４５】
図５は、エンジン負荷及びエンジン回転速度に基づき上記バルブタイミング、最大リフト量、及び作用角が制御されるときのエンジン負荷及びエンジン回転速度の変化に対する吸気バルブの閉弁タイミングＩＶＣの変化を示すグラフである。
【００４６】
同図から分かるように、エンジン１が低回転低負荷の状態にあるときには、閉弁タイミングＩＶＣが下死点（ＢＤＣ）よりも進角側のタイミングとなる。これは吸気バルブ９の閉弁を下死点よりも早めることで、エンジン１の圧縮比を低く抑えてエンジン１のポンプロス低減を図るためである。また、エンジン１が高回転の状態にあるときには、閉弁タイミングＩＶＣが下死点よりも遅角側のタイミングとなる。これはエンジン高回転時には、閉弁タイミングＩＶＣを下死点よりも遅くすることで、エンジン１の吸気脈動を利用して吸気充填効率を高めることができ、ひいてはエンジン出力を向上させることができるためである。
【００４７】
従って、エンジン１の運転状態によっては、閉弁タイミングＩＶＣが下死点付近であって同下死点を含む所定範囲Ａに入るようになる。例えば、エンジン１が低回転低負荷の状態にあってエンジン負荷が大となったりエンジン回転速度が大となったりしたときには、閉弁タイミングＩＶＣが上記所定範囲Ａ内に入ることになる。そして、このように閉弁タイミングＩＶＣが所定範囲Ａ内に入ったときには、それ以前の所定範囲Ａ外にあるときに比べて、閉弁タイミングＩＶＣが下死点に近くなってエンジン１の圧縮比が大となることから、［発明が解決しようとする課題］の欄にも記載したとおりノックが発生しやすくなる。
【００４８】
以上のことから、閉弁タイミングＩＶＣが所定範囲Ａ内にある状況のもとで学習値ＡＧ１の更新が行われると、それ以外の状況のもとで学習値ＡＧ１の更新が行われるときに比べて、更新された学習値ＡＧ１がより点火時期を遅角補正する側（減少側）の値となる。すなわち、閉弁タイミングＩＶＣが所定範囲Ａ内にある状況のもとでは、それ以外のときに比べて、学習値ＡＧ１のノック発生を抑制するうえでの適正な値がより遅角補正側の値をとることになる。
【００４９】
次に、例えばエンジン回転速度が低回転一定のときにエンジン負荷が小から大へと変化した場合など、閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったときの学習値ＡＧ１等の動きについて図６のグラフを参照して説明する。この図は、エンジン回転速度を低回転で一定とした条件のもとでのエンジン負荷の変化に対するベース点火時期ＢＴ及びノック限界点火時期（ＢＴ−Ｒ）等の変化、並びに、閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内へと変化したときの学習値ＡＧ１等の変化態様を示したものである。
【００５０】
同図において、エンジン負荷が小であって閉弁タイミングＩＶＣが所定範囲Ａ外であるとき、フィードバック項Ｆに基づき更新される学習値ＡＧ１は、例えば矢印Ｙ３で示される大きさの値となる。そして、ノック限界点火時期（ＢＴ−Ｒ）に対しフィードバック項Ｆによる補正、及び学習値ＡＧ１による補正を加えることによって求められる点火時期指令値ＳＴは、例えば図中に点Ｐ１で示される値となる。
【００５１】
こうした状態にあって、エンジン負荷が大となって閉弁タイミングＩＶＣが所定範囲Ａ内に入ると、その閉弁タイミングＩＶＣの変化直後においては、閉弁タイミングＩＶＣが所定範囲Ａ外にあるときに更新された学習値ＡＧ１が点火時期指令値ＳＴの算出に用いられる。すなわち、同点火時期指令値ＳＴを算出する際、ノック限界点火時期（ＢＴ−Ｒ）に対し、矢印Ｙ３で示される学習値ＡＧ１と同じ大きさである矢印Ｙ４で示される学習値ＡＧ１による補正が加えられる。こうして算出された点火時期指令値ＳＴは、例えば点Ｐ２で示される値となる。
【００５２】
しかし、このときに点火時期指令値ＳＴの算出に用いられる学習値ＡＧ１（矢印Ｙ４）については、ノックを抑制しきれないほど大きい値、言い換えれば点火時期（点火時期指令値ＳＴ）を進角させ過ぎる値となる。すなわち、このときの点火時期指令値ＳＴのノックを抑制するうえでの適正な値は上記点Ｐ２よりも遅角側の値、例えば点Ｐ３で示される値となり、点火時期指令値ＳＴが上記点Ｐ２で示される値となったのでは、同点火時期指令値ＳＴがノックを抑制するうえで進角し過ぎた状態ということになる。
【００５３】
なお、このように点火時期指令値ＳＴが進角し過ぎた状態になるのは、次の（ａ）及び（ｂ）に示される二つの理由によるものと推測される。（ａ）ノック限界点火時期（ＢＴ−Ｒ）を求めるのに用いられるベース点火時期ＢＴの算出処理が、吸気バルブ９のバルブ特性を変更しないエンジン、言い換えればバルブタイミング可変機構１３やリフト量可変機構１４といった可変動弁機構を備えないエンジンを前提としてなされている。（ｂ）上記吸気バルブ９のバルブ特性の変更を通じて閉弁タイミングＩＶＣが所定範囲Ａ内に入ったときには、エンジン１の圧縮比が高くなってノックが発生しやすくなることから、点火時期指令値ＳＴのノックを抑制するうえでの最適な値が上記点Ｐ２で示される値よりも遅角側の値である上記点Ｐ３で示される値になる。
【００５４】
従って、閉弁タイミングＩＶＣが所定範囲Ａ内へと変化すると、点火時期指令値ＳＴがノックを抑制するうえで適切な値（点Ｐ３）よりも進角した状態となり、ノックが発生することとなる。そして、こうしたノックの発生毎にフィードバック項Ｆが遅角更新量ａずつ減少させられ、そのフィードバック項Ｆによる補正がノック限界点火時期（ＢＴ−Ｒ）に加えられることで、点火時期指令値ＳＴが適正な値（点Ｐ３）とされる。その後、上記フィードバック項Ｆに基づき学習値ＡＧ１が更新されることにより、この学習値ＡＧ１による補正を通じて点火時期指令値ＳＴが点Ｐ３で示される値となるよう同学習値ＡＧ１が矢印Ｙ５で示される値へと小さくされる。
【００５５】
以上のように、閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内へと変化し、点火時期指令値ＳＴがノックを抑制するうえで適正な値（点Ｐ３）より進角した状態（点Ｐ２）になると、フィードバック項Ｆによる補正を通じて点火時期指令値ＳＴが適正な値（点Ｐ３）へと変化する。そして、そのフィードバック項Ｆに基づき学習値ＡＧ１が更新されるようにはなる。しかし、閉弁タイミングＩＶＣが所定範囲Ａ内に入ってから、学習値ＡＧ１が更新されて点火時期指令値ＳＴが上記適正な値になるまでの間は、エンジン１にノックが発生することは避けられない。
【００５６】
そこで本実施形態では、閉弁タイミングＩＶＣが所定範囲Ａ内にあるときには、点火時期指令値ＳＴを求めるのに用いられるノック限界点火時期を遅角側に補正する。具体的には、式（１）で用いられるノック余裕代Ｒを補正係数Ｈの乗算を通じて増加側に補正し、この補正後のノック余裕代Ｒ・Ｈを用いてノック限界点火時期を算出することにより、上述したノック限界点火時期の遅角側への補正が行われる。この実施形態では、ノック限界点火時期の遅角側への補正を実現するため、点火時期指令値ＳＴを算出する際、上記式（１）に代えて以下の式（２）が用いられる。
【００５７】
ＳＴ＝（ＢＴ−Ｒ・Ｈ）＋Ｆ＋ＡＧ１      …（２）
ＳＴ            ：点火時期指令値
（ＢＴ−Ｒ・Ｈ）：ノック限界点火時期
ＢＴ            ：ベース点火時期
Ｒ              ：補正前のノック余裕代
Ｈ              ：補正係数
Ｒ・Ｈ          ：補正後のノック余裕代
Ｆ              ：フィードバック項
ＡＧ１          ：学習値
これにより、閉弁タイミングＩＶＣが所定範囲Ａ内にあるときには、遅角側に補正されたノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し、学習値ＡＧ１による補正等を加えて点火時期指令値ＳＴが算出される。従って、閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったとき、上記点火時期指令値ＳＴが進角し過ぎた状態になるのを抑制することができ、上述したように同点火時期指令値ＳＴが適正な値になるよう学習値ＡＧ１が更新されるまでの間にノックが発生するのを抑制することができる。
【００５８】
ここで、上記式（２）を用いて点火時期指令値ＳＴを算出することにより、閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったとき、上記点火時期指令値ＳＴが進角し過ぎた状態になるのを抑制することができる理由について、図７を参照して詳しく説明する。
【００５９】
同図において、閉弁タイミングＩＶＣが所定範囲Ａ外にあって点火時期指令値ＳＴが図６と同じく点Ｐ１で示される値となっているとき、エンジン負荷が大になると閉弁タイミングＩＶＣが所定範囲Ａ内に入る。こうした閉弁タイミングＩＶＣの変化直後においては、閉弁タイミングＩＶＣが所定範囲Ａ外にあるときに更新された学習値ＡＧ１が点火時期指令値ＳＴの算出に用いられる。ただし、同点火時期指令値ＳＴの算出は、図６のノック限界点火時期（ＢＴ−Ｒ）に比べて遅角側に補正されたノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し上記学習値ＡＧ１を加えることによって行われる。従って、この学習値ＡＧ１が矢印Ｙ３で示される学習値ＡＧ１と同じ大きさである矢印Ｙ４で示される大きさであったとしても、算出される点火時期指令値ＳＴがノック発生を抑制するうえで適切な値、すなわち上記点Ｐ３で示される値よりも進角側の値になることは抑制される。このため、上述したように閉弁タイミングＩＶＣが所定範囲Ａ内に入ってから点火時期指令値ＳＴが上記適正な値になるまでの間にノックが発生するという不具合が生じるのを抑制することができる。
【００６０】
なお、このときに算出される点火時期指令値ＳＴについては、具体的には上記点Ｐ３で示される値よりも遅角側の値である点Ｐ４で示される値となる。これは、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）を遅角補正するための補正係数Ｈが、最もノックの発生しやすい環境条件であることを想定して設定されているためである。従って、最もノックの発生しやすい環境条件であるとき以外は、上記のように算出される点火時期指令値ＳＴが点Ｐ３で示される値よりも遅角側の値（点Ｐ４）となるよう算出される。
【００６１】
このため、図７の例では、閉弁タイミングＩＶＣが所定範囲Ａ内に入った後は、ノックが発生しないことに基づきフィードバック項Ｆが進角更新量ｂずつ増加させられ、そのフィードバック項Ｆによる補正がノック限界点火時期（ＢＴ−Ｒ・Ｈ）に加えられることで、点火時期指令値ＳＴが適正な値（点Ｐ３）とされる。その後、上記フィードバック項Ｆに基づき学習値ＡＧ１が更新されることにより、この学習値ＡＧ１による補正を通じて点火時期指令値ＳＴが点Ｐ３で示される値となるよう同学習値ＡＧ１が矢印Ｙ４よりも大きくされる。
【００６２】
次に、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角補正を行うためのノック余裕代Ｒの補正係数Ｈによる補正手順について、ノック余裕代補正ルーチンを示す図８のフローチャートを参照して説明する。このノック余裕代補正ルーチンは、電子制御装置２６を通じて、例えば所定時間毎の時間割り込みにて周期的に実行される。
【００６３】
同ルーチンにおいては、まずエンジン１の圧縮比Ｖ２が吸気バルブ９の開弁タイミングＩＶＯ及び閉弁タイミングＩＶＣに基づき算出される（Ｓ１０１）。ここで用いられる吸気バルブ９の開弁タイミングＩＶＯ及び閉弁タイミングＩＶＣは、バルブタイミング可変機構１３への指令信号及びリフト量可変機構１４への指令信号から求めることが可能である。そして、上記圧縮比Ｖ２については、閉弁タイミングＩＶＣが所定範囲Ａ外であるときには、可変動弁機構を備えないエンジンの圧縮比として予め設定される標準圧縮比Ｖ１と等しくなるように算出される。なお、可変動弁機構を備えないエンジンにおいては、吸気バルブの閉弁タイミングが上記所定範囲Ａから外れた状態となる。従って、閉弁タイミングＩＶＣが所定範囲Ａ内であるときには、同閉弁タイミングＩＶＣが下死点に近づくほど、開弁タイミングＩＶＯ及び閉弁タイミングＩＶＣに基づき算出される圧縮比Ｖ２が上記標準圧縮比Ｖ１よりも大となる。
【００６４】
続いて、予め定められた上記標準圧縮比Ｖ１に対するステップＳ１０１で算出された圧縮比Ｖ２の変化量ΔＶが「ΔＶ＝Ｖ２−Ｖ１」という式を用いて算出される（Ｓ１０２）。こうして算出された変化量ΔＶについては、閉弁タイミングＩＶＣが所定範囲Ａ外であるときには「１．０」となり、閉弁タイミングＩＶＣが所定範囲Ａ内であるときには同閉弁タイミングＩＶＣ下死点に近づくほど大きくなる。そして、上記変化量ΔＶに基づきノック余裕代Ｒを補正するための補正係数Ｈが算出される（Ｓ１０３）。こうして算出された補正係数Ｈについては、閉弁タイミングＩＶＣが所定範囲Ａ外であって上記変化量ΔＶが「０」となるときには図９に示されるように「１．０」となり、閉弁タイミングＩＶＣが所定範囲Ａ内にあるときには閉弁タイミングＩＶＣが下死点に近づいて上記変化量ΔＶが大となるほど「１．０」から増加側に離れた値となる。
【００６５】
その後、予め定められた固定値であるノック余裕代Ｒに補正係数Ｈを乗算することにより、補正後のノック余裕代Ｒ・Ｈが算出される（Ｓ１０４）。従って、閉弁タイミングＩＶＣが所定範囲Ａ内にあるときには、閉弁タイミングＩＶＣが下死点に近づき上記変化量ΔＶが大となるほど、補正係数Ｈが大となって補正後のノック余裕代Ｒ・Ｈが大となることから、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）が遅角側に大きく補正されることとなる。そして、このノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し学習値ＡＧ１による補正等を加えることで点火時期指令値ＳＴが算出される。
【００６６】
ここで、閉弁タイミングＩＶＣが所定範囲Ａ内に入ったとき、上記変化量ΔＶの大きさが大であるほど、エンジン１にてノックが発生しやすくなることから、点火時期指令値ＳＴのノック発生を抑制するうえでの適正な値が遅角側の値になる。このため、上記のように変化量ΔＶが大となるほど遅角側に大きく補正されるノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し学習値ＡＧ１による補正等を加えて点火時期指令値ＳＴを算出することで、閉弁タイミングＩＶＣが所定範囲Ａ内に入ったとき、同点火時期指令値ＳＴをノック発生を抑制するうえで適正な値により近い値とすることが可能になる。
【００６７】
次に、閉弁タイミングＩＶＣが所定範囲Ａ内から所定範囲Ａ外に変化したときの学習値ＡＧ１等の動きについて図１０及び図１１のグラフを参照して説明する。これらの図は、エンジン回転速度を低回転で一定とした条件のもとでのエンジン負荷の変化に対するベース点火時期ＢＴ及びノック限界点火時期（ＢＴ−Ｒ・Ｈ）等の変化、並びに、閉弁タイミングＩＶＣが所定範囲Ａ内から所定範囲Ａ外へと変化したときの学習値ＡＧ１等の変化態様を示したものである。
【００６８】
図１０において、エンジン負荷が大であって閉弁タイミングＩＶＣが所定範囲Ａ内であるとき、フィードバック項Ｆに基づき更新される学習値ＡＧ１は、例えば矢印Ｙ６で示される大きさの値となる。そして、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対しフィードバック項Ｆによる補正、及び学習値ＡＧ１による補正を加えることによって求められる点火時期指令値ＳＴはノック発生を抑制するうえで最適な値、例えば図中に点Ｐ３で示される値となる。
【００６９】
こうした状態にあって、エンジン負荷が小となって閉弁タイミングＩＶＣが所定範囲Ａ外から出ると、上記変化量ΔＶが「０」になって補正係数Ｈが「１．０」になるため、補正後のノック余裕代Ｒ・Ｈが予め定められた固定値であるノック余裕代Ｒと等しくなり、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正量が「０」となる。そして、このノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し、上記矢印Ｙ６で示される上記学習値ＡＧ１と等しい大きさである矢印Ｙ７で示される大きさの学習値ＡＧ１による補正を加えることで、点火時期指令値ＳＴの算出が行われる。このように算出された点火時期指令値ＳＴは、ノック発生を抑制するうえでの適正な値（点Ｐ１）に対し若干進角側にずれるものの極めて近い値になる。
【００７０】
このように点火時期指令値ＳＴは適正な値から若干ずれるのは、閉弁タイミングＩＶＣが所定範囲Ａ内であるときに上記学習値ＡＧ１の更新が行われており、その状況下ではノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角補正が最もノックの発生しやすい環境条件であることを想定して大きく行われているためである。そして、点火時期指令値ＳＴは適正な値からの進角側への僅かなずれは、閉弁タイミングＩＶＣが所定範囲Ａ外に出た後、ノック発生の有無に応じて増減されるフィードバック項Ｆによる補正、及び同フィードバック項Ｆに基づき更新される学習値ＡＧ１による補正を通じて解消される。
【００７１】
ところで、閉弁タイミングＩＶＣが所定範囲Ａ内から所定範囲Ａ外に変化したとき、仮にノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正が行われたままだとすると次のような問題が生じる。すなわち、図１１のノック限界点火時期（ＢＴ−Ｒ・Ｈ）における破線で示される値に対し、上記矢印Ｙ７で示される大きさの学習値ＡＧ１による補正を加えて点火時期指令値ＳＴを算出したとき、その点火時期指令値ＳＴがノックを抑制する上で適正な値（点Ｐ１）に対し必要以上に遅角した値、例えば点Ｐ５で示される値になる。
【００７２】
こうした点火時期指令値ＳＴの適正な値（点Ｐ１）からのずれは、閉弁タイミングＩＶＣが所定範囲Ａ外に出た後、ノック発生の有無に応じて増減されるフィードバック項Ｆによる補正、及び同フィードバック項Ｆに基づき更新される学習値ＡＧ１による補正を通じて解消される。ただし、点火時期指令値ＳＴが適正な値（点Ｐ１）まで進角するよう学習値ＡＧ１が更新されるまでの間は、点火時期指令値ＳＴが遅角し過ぎた状態となることから、エンジン１の出力が低下することは避けられない。この点、本実施形態では、閉弁タイミングＩＶＣが所定範囲Ａ内から所定範囲Ａ外に変化したとき、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正量が「０」とされるため、上記変化直後の点火時期指令値ＳＴが適正な値（点Ｐ１）に対し必要以上に遅角した値になることはない。従って、上述したようにエンジン１の出力が低下するという不具合が生じるのを抑制することができる。
【００７３】
以上詳述した本実施形態によれば、以下に示す効果が得られるようになる。
（１）吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内に入ったときには、点火時期指令値ＳＴを求めるのに用いられるノック限界点火時期（ＢＴ−Ｒ・Ｈ）が遅角側に補正される。そして、この遅角補正されたノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し学習値ＡＧ１による補正等が加えられて点火時期指令値ＳＴが算出される。この学習値ＡＧ１については閉弁タイミングＩＶＣが所定範囲Ａ外にあるときに更新されたものであるが、その学習値ＡＧ１を用いて点火時期指令値ＳＴを算出したとしても、上記ノック限界点火時期（ＢＴ−Ｒ・Ｈ）が遅角側に補正されているため、当該点火時期指令値ＳＴが進角し過ぎた状態になるのを抑制することができる。従って、閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったとき、点火時期指令値ＳＴが適正な値になるよう学習値ＡＧ１が更新されるまでの間にノックが発生するという不具合が生じるのを抑制することができる。
【００７４】
（２）上記ノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正量は、ノック余裕代Ｒの補正係数Ｈによって定められる。そして、この補正係数Ｈについては、閉弁タイミングＩＶＣが下死点に近づいてエンジン１の圧縮比Ｖ２の標準圧縮比Ｖ１に対する変化量ΔＶが大となるほど、「１．０」から増加側に離れた値となる。従って、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正は、閉弁タイミングＩＶＣが下死点に近づいて上記変化量ΔＶが大となるほど、言い換えればノックが発生しやすくなるほど大きく行われることとなる。このため、閉弁タイミングＩＶＣが所定範囲Ａ内に入ったとき、上記のように遅角補正されるノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し学習値ＡＧ１による補正等を加えて点火時期指令値ＳＴを算出することで、その点火時期指令値ＳＴをノック発生を抑制するうえでの適正な値により近い値とすることが可能になる。
【００７５】
（３）閉弁タイミングＩＶＣが所定範囲Ａ内にある状況のもとで学習値ＡＧ１の更新が行われ、その後に閉弁タイミングＩＶＣが所定範囲Ａ外に変化したとき、すなわち上記変化量ΔＶが「０」になったときには、補正係数Ｈが「１．０」とされてノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正量が「０」とされる。このとき、仮にノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正が行われたままだとすると、そのノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し上記学習値ＡＧ１による補正等を加えて算出される点火時期指令値ＳＴが、ノックを抑制する上で必要以上に遅角した値になる。このため、点火時期指令値ＳＴが適正な値まで進角するよう学習値ＡＧ１が更新されるまでの間、エンジン１の出力が低下することは避けられない。しかし、閉弁タイミングＩＶＣが所定範囲Ａ外へと変化したときには、上述したようにノック限界点火時期（ＢＴ−Ｒ・Ｈ）の遅角側への補正量が「０」とされ、その状態でノック限界点火時期（ＢＴ−Ｒ・Ｈ）に対し上記学習値ＡＧ１による補正等が加えられて点火時期指令値ＳＴが算出される。従って、閉弁タイミングＩＶＣが所定範囲Ａ外へと変化したとき、点火時期指令値ＳＴが遅角し過ぎた状態になるのを抑制することができ、その点火時期指令値ＳＴが適正な値になるよう学習値ＡＧ１が更新されるまでの間にエンジン１が出力が低下するという不具合の発生を抑制することができる。
【００７６】
（４）ノック限界点火時期（ＢＴ−Ｒ・Ｈ）としては、エンジン運転状態に基づき算出されるベース点火時期ＢＴから、補正係数Ｈによる補正後のノック余裕代Ｒ・Ｈを減算して遅角側の値としたものが用いられる。このため、上記ベース点火時期ＢＴを算出するための処理については、可変動弁機構を備えていないエンジン１と共通化することができ、ノック余裕代Ｒを補正係数Ｈの分だけ補正する処理を新たに加えるだけで、ノック限界点火時期（ＢＴ−Ｒ・Ｈ）の上記遅角側への補正を実現することができる。
【００７７】
［第２実施形態］
次に、本発明の第２実施形態について図１２〜図１４を参照して説明する。
この実施形態は、第１実施形態において、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったとき、図７に示されるように点火時期指令値ＳＴが適正な値（点Ｐ３）よりも遅角側の値（点Ｐ４）になるのを抑制し、点火時期指令値ＳＴの上記適正な値への収束性を向上させるようにしたものである。また、この実施形態では、第１実施形態において、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内から所定範囲Ａ外に出たとき、点火時期指令値ＳＴが図１０に示されるように適正な値（点Ｐ１）から若干進角側にずれた値になるのを抑制し、点火時期指令値ＳＴの上記適正な値への収束性を高めるようにもしている。
【００７８】
これらのことを実現するため、この実施形態では、上記（Ａ）〜（Ｆ）で示される学習値ＡＧ１の更新手順に変更を加えている。図１２は、この実施形態において学習値ＡＧ１の更新を行うための学習値更新ルーチンを示すフローチャートである。この学習値更新ルーチンは、電子制御装置２６を通じて、例えば所定時間毎の時間割り込みにて周期的に実行される。
【００７９】
同ルーチンにおいて、ステップＳ２０１〜Ｓ２０６の各処理はそれぞれ、第１実施形態における学習値ＡＧ１の更新を行うための上記（Ａ）〜（Ｆ）の各処理に対応している。そして、ステップＳ２０１〜Ｓ２０６の各処理のうち、（Ｂ）に対応する処理（Ｓ２０２）、及び（Ｅ）に対応する処理（Ｓ２０５）のみが第１実施形態と異なっている。
【００８０】
具体的には、ステップＳ２０２の処理では、補正係数Ｈによる補正後のノック余裕代Ｒ・Ｈを同補正前のノック余裕代Ｒで除算した値「｛（Ｒ・Ｈ）／Ｒ｝」が求められ、その値を記憶用学習値ＡＧに乗算したものが点火時期指令値ＳＴを算出するための学習値ＡＧ１として設定される。このステップＳ２０２の処理により、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったとき、図７に示されるように点火時期指令値ＳＴが適正な値（点Ｐ３）よりも遅角側の値（点Ｐ４）になることが抑制される。
【００８１】
また、ステップＳ２０５の処理では、補正係数Ｈによる補正前のノック余裕代Ｒを同補正後のノック余裕代Ｒ・Ｈで除算した値「｛Ｒ／（Ｒ・Ｈ）｝」が求められ、その値を学習値ＡＧ１に乗算したものが記憶用学習値ＡＧとして設定される。このステップＳ２０５の処理により、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内から所定範囲Ａ外に出たとき、点火時期指令値ＳＴが図１０に示されるように適正な値（点Ｐ１）から進角側に若干ずれた値になることが抑制される。
【００８２】
次に、上記ステップＳ２０２，Ｓ２０５の処理を実行することによって得られる作用効果について、図１３及び図１４のグラフを参照して詳しく説明する。これら図は、エンジン回転速度を低回転で一定とした条件のもとでのエンジン負荷の変化に対するベース点火時期ＢＴ及びノック限界点火時期（ＢＴ−Ｒ）等の変化、並びに、閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内へと変化したときの学習値ＡＧ１等の変化態様を示したものである。
【００８３】
図１３において、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ外であるときには、補正係数Ｈが「１．０」となることから、ステップＳ２０５の処理により学習値ＡＧ１に値「｛Ｒ／（Ｒ・Ｈ）｝」を乗算したものを記憶用学習値ＡＧに設定したとき、学習値ＡＧ１と記憶用学習値ＡＧとは等しくなる。従って、フィードバック項Ｆに基づき更新された学習値ＡＧ１はそのまま記憶用学習値ＡＧとして設定され、その記憶用学習値ＡＧが不揮発性メモリに記憶されることとなる。
【００８４】
そして、閉弁タイミングＩＶＣが所定範囲Ａ内に入ったときには、ステップＳ２０２の処理により、上記記憶用学習値ＡＧに値「｛（Ｒ・Ｈ）／Ｒ｝」を乗算したものが点火時期指令値ＳＴの算出に用いる学習値ＡＧ１として設定される。このとき、補正係数Ｈは「１．０」よりも大きい値となることから、学習値ＡＧ１は上記値「｛Ｒ／（Ｒ・Ｈ）｝」に対応する分だけ記憶用学習値ＡＧよりも大きくなる。そして、上記のように大きくされた学習値ＡＧ１を用いて点火時期指令値ＳＴの算出が行われる。従って、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったとき、図７に示されるように点火時期指令値ＳＴが適正な値（点Ｐ３）に対し遅角側にずれるのを抑制し、そのずれを極力小さくすることができる。
【００８５】
また、図１４において、閉弁タイミングＩＶＣが所定範囲Ａ内にあるときにフィードバック項Ｆに基づく学習値ＡＧ１の更新が行われた場合、上記学習値ＡＧ１に対し値「｛Ｒ／（Ｒ・Ｈ）｝」を乗算したものが記憶用学習値ＡＧとして設定される。このとき、補正係数Ｈは「１．０」よりも大きい値となることから、記憶用学習値ＡＧは上記値「｛Ｒ／（Ｒ・Ｈ）｝」に対応する分だけ学習値ＡＧ１よりも小さくなる。
【００８６】
仮に、上記更新が行われた学習値ＡＧ１がそのまま記憶用学習値ＡＧとして不揮発性メモリに記憶されたとすると、閉弁タイミングＩＶＣが所定範囲Ａ外に変化したとき、閉弁タイミングＩＶＣが所定範囲Ａ内にあるときに更新された学習値ＡＧ１をそのまま点火時期指令値ＳＴの算出に用いることになる。このため、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ外に出たとき、図１０に示されるように点火時期指令値ＳＴがノック発生を抑制するうえでの適正な値（点Ｐ１）から進角側に若干ずれる。
【００８７】
しかし、こうした点火時期指令値ＳＴの適正な値（点Ｐ１）から進角側への僅かなずれについては、閉弁タイミングＩＶＣが所定範囲Ａ内にあるとき、学習値ＡＧ１に対し値「Ｒ／（Ｒ・Ｈ）」を乗算したものを記憶用学習値ＡＧとして設定し、その記憶用学習値ＡＧを不揮発性メモリに記憶することで、極力小さくすることができる。
【００８８】
以上詳述した本実施形態によれば、第１実施形態における（１）〜（４）の効果に加え、以下に示す効果が得られるようになる。
（５）吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ外から所定範囲Ａ内に入ったとき、図７に示されるように点火時期指令値ＳＴが適正な値（点Ｐ３）よりも遅角側の値（点Ｐ４）になるのを抑制し、点火時期指令値ＳＴの上記適正な値への収束性を向上させることができる。
【００８９】
（６）吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内から所定範囲Ａ外に出たとき、点火時期指令値ＳＴが図１０に示されるように適正な値（点Ｐ１）から若干進角側にずれた値になるのを抑制し、点火時期指令値ＳＴの上記適正な値への収束性を向上させることができる。
【００９０】
［第３実施形態］
次に、本発明の第３実施形態について図１５を参照して説明する。
吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内にあるときには、それ以外のときに比べてノックが発生しやすい。このため、当該状況下においては、ノック発生時に同ノックを抑制すべくフィードバック項Ｆを遅角更新量ａずつ減少させる際、その遅角更新量ａを閉弁タイミングＩＶＣが所定範囲Ａ外にあるときに比べて大きくすることが、フィードバック項Ｆによって点火時期指令値ＳＴをノック抑制のための適正な値に速やかに収束させるうえで好ましい。この実施形態では、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内にあるときには、それ以外のときに比べてフィードバック項Ｆの遅角更新量ａを大とし、同フィードバック項Ｆによって点火時期指令値ＳＴを適正な値に速やかに収束させるようにしたものである。
【００９１】
図１５は、閉弁タイミングＩＶＣが所定範囲Ａ内に入ったときに遅角更新量ａを大とするためのフィードバック項更新ルーチンを示すフローチャートである。このフィードバック項更新ルーチンは、電子制御装置２６を通じて、例えば所定時間毎の時間割り込みにて周期的に実行される。
【００９２】
同ルーチンにおいては、ノック発生がない旨判断されたとき（Ｓ３０１：ＮＯ）、フィードバック項Ｆが進角更新量ｂだけ増加されることで、同フィードバック項Ｆの進角側への更新が行われる（Ｓ３０４）。また、ノック発生ありの旨判断されたときには（Ｓ３０１：ＹＥＳ）、フィードバック項Ｆの遅角更新量の算出が行われる（Ｓ３０２）。具体的には、第１及び第２実施形態にて設定された遅角更新量ａをベース値とし、そのベース値に対して「｛（Ｒ・Ｈ）／Ｒ｝」を乗算した値を遅角更新量（以下、遅角補正量ａ・｛（Ｒ・Ｈ）／Ｒ｝という）とする。続いて、こうして算出された遅角更新量ａ・｛（Ｒ・Ｈ）／Ｒ｝をフィードバック項Ｆから減算することで、同フィードバック項Ｆの遅角側への更新が行われる（Ｓ３０３）。
【００９３】
この場合、閉弁タイミングＩＶＣが所定範囲Ａ外にあるときには、補正係数Ｈが「１．０」となることから、遅角更新量ａ・｛（Ｒ・Ｈ）／Ｒ｝が上述したベース値と等しくなる。一方、閉弁タイミングＩＶＣが所定範囲Ａ内にあるときには、補正係数Ｈが「１．０」よりも大となりノックが発生しやすい状況になるほど、その補正係数Ｈによる補正後のノック余裕代Ｒ・Ｈが同補正前のノック余裕代Ｒよりも大になる。このため、ノックが発生しやすい状況であるほど、「（Ｒ・Ｈ）／Ｒ」という値が大となり、フィードバック項Ｆの遅角更新量ａ・｛（Ｒ・Ｈ）／Ｒ｝が上述したベース値を基準として大きくなってゆく。このようにノックが発生しやすくなるほど遅角更新量ａ・｛（Ｒ・Ｈ）／Ｒ｝を大とすることができるため、フィードバック項Ｆにより点火時期指令値ＳＴをノックを抑制するのに適正な値に収束させる際、その収束性を一層向上させることができる。
【００９４】
この実施形態では、以下に示す効果が得られる。
（７）吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内に入ったとき、それ以外のときに比べてフィードバック項Ｆの遅角更新量ａ・｛（Ｒ・Ｈ）／Ｒ｝を大とし、同フィードバック項Ｆによって点火時期指令値ＳＴを適正な値に速やかに収束させることができる。
【００９５】
（８）吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内に入ったとき、ノックが発生しやすくなるほど遅角更新量ａ・｛（Ｒ・Ｈ）／Ｒ｝を大とすることができるため、フィードバック項Ｆにより点火時期指令値ＳＴをノックを抑制するのに適正な値に収束させる際、その収束性を一層向上させることができる。
【００９６】
［その他の実施形態］
なお、上記各実施形態は、例えば以下のように変更することもできる。
・第３実施形態において、閉弁タイミングＩＶＣが所定範囲Ａ内にあるとき、遅角更新量ａを予め定められた固定値だけ大きくするようにしてもよい。
【００９７】
・第３実施形態において、閉弁タイミングＩＶＣが所定範囲Ａ内にあるとき、それ以外のときに比べて進角更新量ｂを小さくするようにしてもよい。この場合、例えば同進角更新量ｂを予め定められた固定値だけ小さくすることが考えられる。また、上記進角更新量ｂをベース値とし、そのベース値に「Ｒ／（Ｒ・Ｈ）」を乗算したものを進角更新量として用いることも可能である。このようにすれば、ノックが発生しやすくなるほど進角更新量を小さくすることができるため、フィードバック項Ｆの進角側への更新時にノックが発生するのを抑制しやすくなる。
【００９８】
・第１〜第３実施形態において、エンジン回転速度及びエンジン負荷に基づくマップ演算等によりノック限界点火時期を算出し、そのノック限界点火時期に対しフィードバック項Ｆによる補正、及び学習値ＡＧ１による補正を加えて点火時期指令値ＳＴを算出してもよい。この場合、吸気バルブ９の閉弁タイミングＩＶＣが所定範囲Ａ内に入ったときには、マップ演算されたノック限界点火時期に対し補正係数等による補正を加えることで、同ノック限界点火時期の遅角側への補正を行うことが考えられる。
【００９９】
・第１実施形態において、閉弁タイミングＩＶＣが所定範囲Ａ内に入ったとき、補正係数Ｈを変化量ΔＶに応じて可変としたが、この補正係数Ｈを実験等により最適に定められた固定値とすることも可能である。
【０１００】
・可変動弁機構としてバルブタイミング可変機構１３とリフト量可変機構１４との一方のみを備えるエンジンに本発明を適用してもよい。
【図面の簡単な説明】
【０１０１】
【図１】第１実施形態の点火時期制御装置が適用されるエンジン全体を示す略図。
【図２】バルブタイミング可変機構の駆動に基づく吸気バルブのバルブタイミングの変化態様を示すグラフ。
【図３】リフト量可変機構の駆動に基づく吸気バルブの最大リフト量及び吸気カムの作用角の変化態様を示すグラフ。
【図４】点火時期指令値の算出手順の概要を示す説明図。
【図５】エンジン回転速度及びエンジン負荷の変化に対する吸気バルブの閉弁タイミングの変化を示すグラフ。
【図６】エンジン負荷の変化に対する点火時期指令値、ベース点火時期、ノック限界点火時期、及び学習値等の変化態様を示すグラフ。
【図７】エンジン負荷の変化に対する点火時期指令値、ベース点火時期、ノック限界点火時期、及び学習値等の変化態様を示すグラフ。
【図８】ノック限界点火時期を遅角側に補正するためのノック余裕代の補正手順を示すフローチャート。
【図９】変化量ΔＶの変化に対する補正係数Ｈの変化を示すグラフ。
【図１０】エンジン負荷の変化に対する点火時期指令値、ベース点火時期、ノック限界点火時期、及び学習値等の変化態様を示すグラフ。
【図１１】エンジン負荷の変化に対する点火時期指令値、ベース点火時期、ノック限界点火時期、及び学習値等の変化態様を示すグラフ。
【図１２】第２実施形態における学習値の更新手順を示すフローチャート。
【図１３】エンジン負荷の変化に対する点火時期指令値、ベース点火時期、ノック限界点火時期、及び学習値等の変化態様を示すグラフ。
【図１４】エンジン負荷の変化に対する点火時期指令値、ベース点火時期、ノック限界点火時期、及び学習値等の変化態様を示すグラフ。
【図１５】第３実施形態でのフィードバック項の更新手順を示すフローチャート。
【符号の説明】
【０１０２】
１…エンジン、２…燃焼室、３…吸気通路、４…燃料噴射弁、５…点火プラグ、６…ピストン、７…クランクシャフト、８…排気通路、９…吸気バルブ、１０…排気バルブ、１１…吸気カムシャフト、１１ａ…吸気カム、１２…排気カムシャフト、１３…バルブタイミング可変機構、１４…リフト量可変機構、２６…電子制御装置（補正手段、学習値更新手段、フィードバック制御手段）、２７…アクセルペダル、２８…アクセルポジションセンサ、２９…スロットルバルブ、３０…スロットルポジションセンサ、３１…ノックセンサ、３２…エアフローメータ、３４…クランクポジションセンサ、３５…カムポジションセンサ。
【図１】
2007138869.tif 000003
【図２】
2007138869.tif 000004
【図３】
2007138869.tif 000005
【図４】
2007138869.tif 000006
【図５】
2007138869.tif 000007
【図６】
2007138869.tif 000008
【図７】
2007138869.tif 000009
【図８】
2007138869.tif 000010
【図９】
2007138869.tif 000011
【図１０】
2007138869.tif 000012
【図１１】
2007138869.tif 000013
【図１２】
2007138869.tif 000014
【図１３】
2007138869.tif 000015
【図１４】
2007138869.tif 000016
【図１５】
2007138869.tif 000017