(57)【特許請求の範囲】
【請求項１】
複数の気筒が設けられた内燃機関の点火時期制御装置であって、
ノッキングが発生したか否かを気筒毎に判定するための手段と、
前記複数の気筒のうちのいずれかの第１の気筒にノッキングが発生したと判定された場合、前記第１の気筒における点火時期を他の気筒における点火時期に比べて遅角するための第１の遅角手段と、
前記第１の気筒における点火時期が他の気筒における点火時期に比べて遅角された状態で前記複数の気筒のうちのいずれかの第２の気筒にノッキングが発生したと判定された場合、前記第１の気筒の遅角量および前記第２の気筒の遅角量の合計が予め定められた制限値以下になるように、前記第２の気筒における点火時期を前記第１の気筒を除く他の気筒における点火時期に比べて遅角するための第２の遅角手段とを備える、内燃機関の点火時期制御装置。
【請求項２】
前記第２の遅角手段は、前記制限値から前記第１の気筒の遅角量を減算した値だけ前記第２気筒における点火時期を遅角するための手段を含む、請求項１に記載の内燃機関の点火時期制御装置。
【請求項３】
前記第１の遅角手段は、前記制限値よりも小さい第１の値だけ前記第１の気筒における点火時期を他の気筒における点火時期に比べて遅角するための手段を含む、請求項１または２に記載の内燃機関の点火時期制御装置。
【請求項４】
前記第１の気筒における点火時期を遅角した後に前記第１の気筒にノッキングが発生していないと判定されると、前記第１の値よりも小さい第２の値だけ前記第１の気筒の遅角量を段階的に小さくするための手段と、
前記第２の気筒における点火時期を遅角した後に前記第２の気筒にノッキングが発生していないと判定されると、前記第２の値だけ前記第２の気筒の遅角量を段階的に小さくするための手段とをさらに備える、請求項１〜３のいずれかに記載の内燃機関の点火時期制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の点火時期制御装置に関し、特に、ノッキングが発生したか否かを気筒毎に判定し、ノッキングが発生したと判定された気筒の点火時期のみを他の気筒の点火時期に比べて遅角する技術に関する。
【背景技術】
【０００２】
従来より、内燃機関の気筒内でノッキングが発生し得ることが知られている。ノッキングが発生した場合、一般的には点火時期が遅角される。ノッキングは、複数の気筒のうちの一部の気筒のみで発生する場合がある。この場合、ノッキングが発生した気筒の点火時期のみを遅角することが好ましい。
【０００３】
特開昭６２−１９５４６５号公報（特許文献１）は、同一の気筒に連続してノッキングが発生した場合に、ノッキングが発生した気筒のみの点火時期を遅角させる点火時期制御装置を開示する。
【特許文献１】特開昭６２−１９５４６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数の気筒のうちのいずれか一つの気筒のみの点火時期を遅角した後、他の複数の気筒のうちのいずれか一つの気筒に連続してノッキングが発生した場合に、その気筒の点火時期を遅角すると、複数の気筒のうちの二つの気筒の点火時期が遅角される結果になる。そのため、複数の気筒のうちの二つの気筒の燃焼行程における内燃機関の出力トルクが、他の気筒の燃焼行程における出力トルクに比べて低下する。したがって、内燃機関のトルク変動が大きくなり得る。
【０００５】
本発明は、上述した課題を解決するためになされたものであって、その目的は、点火時期を遅角した後のトルク変動を小さくすることができる内燃機関の点火時期制御装置を提供することである。
【課題を解決するための手段】
【０００６】
第１の発明に係る内燃機関の点火時期制御装置は、複数の気筒が設けられた内燃機関の点火時期制御装置である。この点火時期制御装置は、ノッキングが発生したか否かを気筒毎に判定するための手段と、複数の気筒のうちのいずれかの第１の気筒にノッキングが発生したと判定された場合、第１の気筒における点火時期を他の気筒における点火時期に比べて遅角するための第１の遅角手段と、第１の気筒における点火時期が他の気筒における点火時期に比べて遅角された状態で複数の気筒のうちのいずれかの第２の気筒にノッキングが発生したと判定された場合、第１の気筒の遅角量および第２の気筒の遅角量の合計が予め定められた制限値以下になるように、第２の気筒における点火時期を第１の気筒を除く他の気筒における点火時期に比べて遅角するための第２の遅角手段とを備える。
【０００７】
この構成によると、複数の気筒のうちのいずれかの第１の気筒にノッキングが発生したと判定された場合、第１の気筒における点火時期が他の気筒における点火時期に比べて遅角される。第１の気筒における点火時期が他の気筒における点火時期に比べて遅角された状態で複数の気筒のうちのいずれかの第２の気筒にノッキングが発生したと判定された場合、第１の気筒の遅角量および第２の気筒の遅角量の合計が予め定められた制限値以下になるように、第２の気筒における点火時期が第１の気筒を除く他の気筒における点火時期に比べて遅角される。これにより、他の気筒に比べて点火時期が遅角される気筒の燃焼行程における出力トルクの低下量を制限することができる。そのため、点火時期を遅角した後のトルク変動を小さくすることができる内燃機関の点火時期制御装置を提供することができる。
【０００８】
第２の発明に係る内燃機関の点火時期制御装置においては、第１の発明の構成に加えて、第２の遅角手段は、制限値から第１の気筒の遅角量を減算した値だけ第２気筒における点火時期を遅角するための手段を含む。
【０００９】
この構成によると、制限値から第１の気筒の遅角量を減算した値だけ第２気筒における点火時期が遅角される。これにより、トルク変動を許容できる範囲内でできるだけ大きく第２の気筒における点火時期を遅角することができる。そのため、ノッキングの抑制とトルク変動の低減とを両立することができる。
【００１０】
第３の発明に係る内燃機関の点火時期制御装置においては、第１または２の発明の構成に加えて、第１の遅角手段は、制限値よりも小さい第１の値だけ第１の気筒における点火時期を他の気筒における点火時期に比べて遅角するための手段を含む。
【００１１】
この構成によると、複数の気筒のうちのいずれかの第１の気筒にノッキングが発生したと判定された場合、制限値よりも小さい第１の値だけ第１の気筒における点火時期が他の気筒における点火時期に比べて遅角される。これにより、第１の気筒における遅角量を制限することができる。そのため、トルク変動を小さくすることができる。
【００１２】
第４の発明に係る内燃機関の点火時期制御装置においては、第１〜３のいずれかの発明の構成に加えて、第１の気筒における点火時期を遅角した後に第１の気筒にノッキングが発生していないと判定されると、第１の値よりも小さい第２の値だけ第１の気筒の遅角量を段階的に小さくするための手段と、第２の気筒における点火時期を遅角した後に第２の気筒にノッキングが発生していないと判定されると、第２の値だけ第２の気筒の遅角量を段階的に小さくするための手段とをさらに備える。
【００１３】
この構成によると、点火時期を遅角した後にノッキングが発生していないと判定されると、点火時期が遅角された気筒の遅角量が段階的に小さくされる。これにより、ノッキングが発生しなくなった場合には、遅角量を徐々に小さくすることができる。そのため、出力トルクを徐々に増大することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００１５】
図１を参照して、本発明の実施の形態に係る点火時期制御装置を搭載した車両のエンジン１００について説明する。エンジン１００には４つの気筒が設けられる。なお、気筒の数は「４」限らず、「５」、「６」、「８」、「１０」および「１２」などであってもよい。
【００１６】
本実施の形態に係る点火時期制御装置は、たとえばエンジンＥＣＵ（Electronic Control Unit）２００が実行するプログラムにより実現される。なお、エンジンＥＣＵ２００により実行されるプログラムをＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disc）などの記録媒体に記録して市場に流通させてもよい。
【００１７】
エンジン１００は、エアクリーナ１０２から吸入された空気とインジェクタ１０４から噴射される燃料との混合気を、燃焼室内で点火プラグ１０６により点火して燃焼させる内燃機関である。
【００１８】
点火時期は、エンジン１００の運転状態に応じて設定される。以下、エンジン１００の運転状態に応じて設定される点火時期を基本点火時期とも記載する。ノッキングが発生した場合などには、点火時期は基本点火時期から遅角される。
【００１９】
基本点火時期は、エンジン回転数ＮＥおよび負荷ＫＬをパラメータとして有するマップに従って設定される。たとえば、エンジン回転数ＮＥがしきい値ＮＥ１より小さく、かつ負荷ＫＬがしきい値ＫＬ１より小さい運転状態（運転領域）において、ＭＢＴ（Minimum advance for Best Torque）が基本点火時期として設定される。エンジン回転数ＮＥがしきい値ＮＥ１より小さく、かつ負荷ＫＬがしきい値ＫＬ１より小さい運転状態では、ノッキングがほとんど発生しないからである。なお、ＭＢＴとは、エンジン１００の出力が最大になる点火時期を示す。
【００２０】
負荷ＫＬは、後述するエアフローメータ３１４により検出された吸入空気量およびエンジン回転数ＮＥなどに基づいて算出される。なお、負荷ＫＬを算出する方法は周知の一般的な技術を利用すればよいため、ここではそれらの詳細な説明は繰り返さない。
【００２１】
混合気が燃焼すると、燃焼圧によりピストン１０８が押し下げられ、クランクシャフト１１０が回転する。燃焼後の混合気（排気ガス）は、三元触媒１１２により浄化された後、車外に排出される。エンジン１００に吸入される空気の量は、スロットルバルブ１１４により調整される。吸気バルブ１１６が開いた際に燃焼室に混合気が導入される。排気バルブ１１８が開いた際に燃焼室から排気ガスが排出される。
【００２２】
エンジン１００は、エンジンＥＣＵ２００により制御される。エンジンＥＣＵ２００には、ノックセンサ３００と、水温センサ３０２と、タイミングロータ３０４に対向して設けられたクランクポジションセンサ３０６と、スロットル開度センサ３０８と、車速センサ３１０と、イグニッションスイッチ３１２と、エアフローメータ３１４とが接続されている。
【００２３】
ノックセンサ３００は、エンジン１００のシリンダブロックに設けられる。ノックセンサ３００は、圧電素子により構成されている。ノックセンサ３００は、エンジン１００の振動により電圧を発生する。電圧の大きさは、振動の大きさと対応した大きさとなる。ノックセンサ３００は、電圧を表わす信号をエンジンＥＣＵ２００に送信する。水温センサ３０２は、エンジン１００のウォータージャケット内の冷却水の温度（水温）を検出し、検出結果を表わす信号を、エンジンＥＣＵ２００に送信する。
【００２４】
タイミングロータ３０４は、クランクシャフト１１０に設けられており、クランクシャフト１１０と共に回転する。タイミングロータ３０４の外周には、予め定められた間隔で複数の突起が設けられている。クランクポジションセンサ３０６は、タイミングロータ３０４の突起に対向して設けられている。タイミングロータ３０４が回転すると、タイミングロータ３０４の突起と、クランクポジションセンサ３０６とのエアギャップが変化するため、クランクポジションセンサ３０６のコイル部を通過する磁束が増減し、コイル部に起電力が発生する。クランクポジションセンサ３０６は、起電力を表わす信号を、エンジンＥＣＵ２００に送信する。エンジンＥＣＵ２００は、クランクポジションセンサ３０６から送信された信号に基づいて、クランク角およびクランクシャフト１１０の回転数を検出する。
【００２５】
スロットル開度センサ３０８は、スロットル開度を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。車速センサ３１０は、車輪（図示せず）の回転数を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。エンジンＥＣＵ２００は、車輪の回転数から、車速を算出する。イグニッションスイッチ３１２は、エンジン１００を始動させる際に、運転者によりオン操作される。エアフローメータ３１４は、エンジン１００に吸入される空気量を検出し、検出結果を表わす信号をエンジンＥＣＵ２００に送信する。
【００２６】
エンジンＥＣＵ２００は、電源である補機バッテリ３２０から供給された電力により作動する。エンジンＥＣＵ２００は、各センサおよびイグニッションスイッチ３１２から送信された信号、ＲＯＭ（Read Only Memory）２０２に記憶されたマップおよびプログラムに基づいて演算処理を行ない、エンジン１００が所望の運転状態となるように、機器類を制御する。
【００２７】
本実施の形態において、エンジンＥＣＵ２００は、ノックセンサ３００から送信された信号およびクランク角に基づいて、予め定められたノック検出ゲート（予め定められた第１クランク角から予め定められた第２クランク角までの区間）におけるエンジン１００の振動の波形（以下、振動波形と記載する）を検出し、検出された振動波形に基づいて、エンジン１００にノッキングが発生したか否かを判定する。本実施の形態におけるノック検出ゲートは、燃焼行程において上死点（０度）から９０度までである。なお、ノック検出ゲートはこれに限らない。
【００２８】
ノッキングが発生した場合、図２に示すように、エンジン１００には、周波数帯Ａ〜Ｃに含まれるの周波数の振動が発生する。そこで、本実施の形態においては、周波数帯Ａ〜Ｃを含む広域の周波数帯Ｄにおける振動が検出される。
【００２９】
図３に示すように、エンジンＥＣＵ２００は、Ａ／Ｄ（アナログ／デジタル）変換部４００と、バンドパスフィルタ４１０と、積算部４２０とを含む。
【００３０】
Ａ／Ｄ変換部４００は、アナログ信号をデジタル信号に変換する。バンドパスフィルタ４１０は、ノックセンサ３００から送信された信号のうち、周波数帯Ｄの信号のみを通過させる。すなわち、バンドパスフィルタ４１０により、ノックセンサ３００が検出した振
動から、周波数帯Ｄの振動のみが抽出される。
【００３１】
積算部４２０は、バンドパスフィルタ４１０により選別された信号、すなわち振動の強度を、クランク角度で５度分づつ積算した積算値（以下、５度積算値とも記載する）を算出する。これにより、図４に示すように、周波数帯Ｄの振動波形が検出される。
【００３２】
検出された振動波形は、振動波形がノック波形モデルに類似する度合を表わす（振動波形の形状とノック波形モデルの形状との差を表わす）相関係数Ｋを算出するために用いられる。図５に示すように、隣接するクランク角の強度に比べて大きく、かつそのような強度の中で最大の強度のクランク角、すなわち強度がピークになるクランク角以降のクランク角の範囲において、検出された振動波形とノック波形モデルとを比較することにより、相関係数Ｋが算出される。
【００３３】
ノック波形モデルは、ノッキングが発生した場合のエンジン１００の振動波形の基準として定められる。本実施の形態において、ノック波形モデルの強度は、振動波形と比較する度に設定される。より具体的には、ノック波形モデルにおける強度の最大値が、振動波形において、隣接する強度に比べて大きい強度（強度のピーク値）と同じになるように設定される。
【００３４】
一方、最大値以外の強度は、エンジン回転数ＮＥおよびエンジン１００の負荷に応じて設定される。より具体的には、隣接するクランク角における強度の減衰率が、エンジン回転数ＮＥおよびエンジン１００の負荷をパラメータに有するマップに従って設定される。
【００３５】
たとえば、２５％の減衰率で、クランク角で２０度分の強度を設定する場合、図６に示すように、２５％ずつ強度が減少する。なお、ノック波形モデルの強度を設定する方法はこれに限らない。
【００３６】
振動波形における強度とノック波形モデルにおける強度との差の絶対値（ズレ量）をクランク角ごと（５度ごと）に算出することにより、相関係数Ｋが算出される。なお、５度以外のクランク角ごとに振動波形における強度とノック波形モデルにおける強度との差の絶対値を算出するようにしてもよい。
【００３７】
振動波形における強度とノック波形モデルにおける強度とのクランク角ごとの差の絶対値をΔＳ（Ｉ）（Ｉは自然数）とおく。図７において斜線で示すように、ノック波形モデルの振動の強度を合計した値、すなわち、ノック波形モデルの面積をＳとおく。相関係数Ｋは、下記の式１を用いて算出される。
【００３８】
Ｋ＝（Ｓ−ΣΔＳ（Ｉ））／Ｓ・・・（１）
ΣΔＳ（Ｉ）は、ΔＳ（Ｉ）の総和である。なお、相関係数Ｋの算出方法はこれに限らない。
【００３９】
本実施の形態においては、相関係数Ｋの他、ノック強度Ｎが算出される。ノック強度Ｎは、図８において斜線で示すように、振動波形における強度（５度積算値）を合計した９０度積算値ｌｐｋｋｎｋを用いて算出される。なお、９０度積算値ｌｐｋｋｎｋの代わりに、振動波形における最大の強度を用いるようにしてもよい。
【００４０】
エンジン１００にノッキングが発生していない状態におけるエンジン１００の振動の強度を表わす値をＢＧＬ（Back Ground Level）と表わす。ノック強度Ｎは、下記の式２を用いて算出される。
【００４１】
Ｎ＝ｌｐｋｋｎｋ／ＢＧＬ・・・（２）
なお、ノック強度Ｎの算出方法はこれに限らない。ＢＧＬは、各９０度積算値ｌｐｋｋｎｋが検出された頻度（回数、確率ともいう）を表わす頻度分布において、標準偏差σと係数（たとえば「１」）との積を、中央値ＶＭＥＤから減算した値として算出される。ノック強度Ｎを算出する際、ＢＧＬは逆対数変換される。なお、ＢＧＬの算出方法はこれに限らず、ＢＧＬをＲＯＭ２０２に記憶しておくようにしてもよい。また、頻度分布を作成する際、９０度積算値ｌｐｋｋｎｋの対数変換値が用いられる。
【００４２】
本実施の形態においては、振動波形の形状に基づいて算出される相関係数Ｋおよび振動波形の強度に基づいて算出されるノック強度Ｎを用いて、ノッキングが発生したか否かが１点火毎に判定される。ノッキングが発生したか否かは気筒毎に判定される。相関係数Ｋがしきい値Ｋ１以上であり、かつノック強度Ｎが判定値ＶＪ以上であると、ノッキングが発生したと判定される。もしそうでないと、ノッキングが発生していないと判定される。
【００４３】
ノッキングが発生したと判定された場合、予め定められた量だけ全ての気筒における点火時期が遅角される。ノッキングが発生していないと判定された場合、予め定められた量だけ全ての気筒における点火時期が進角される。
【００４４】
ところで、エンジン１００もしくは車両の出荷時において、ＲＯＭ２０２に記憶される判定値ＶＪ（出荷時における判定値ＶＪの初期値）には、予め実験などにより定められる値が用いられる。ところが、ノックセンサ３００の出力値のばらつきや劣化などにより、エンジン１００で同じ振動が生じた場合であっても、検出される強度が変化し得る。この場合、判定値ＶＪを補正し、実際に検出される強度に応じた判定値ＶＪを用いてノッキングが発生したか否かを判定する必要がある。
【００４５】
そこで、本実施の形態においては、気筒毎に作成される９０度積算値ｌｐｋｋｎｋの頻度分布を用いて判定値ＶＪが補正される。
【００４６】
図９に示すように、各点火サイクルにおいて算出された９０度積算値ｌｐｋｋｎｋの頻度分布を用いて判定値ＶＪが補正される。頻度分布を作成する際には、９０度積算値ｌｐｋｋｎｋの対数変換値が用いられる。
【００４７】
頻度分布においては、図９に示すように、９０度積算値ｌｐｋｋｎｋの中央値ＶＭＥＤおよび標準偏差σが算出される。中央値ＶＭは、下記の式３を用いて１点火サイクル毎に算出される。
【００４８】
ＶＭ（ｉ）＝ＶＭ（ｉ−１）＋（ｌｐｋｋｎｋ−ＶＭ（ｉ−１））／Ｘ・・・（３）
式３においてＶＭ（ｉ）は今回値を示す。ＶＭ（ｉ−１）は前回値を示す。Ｘは正の値である。すなわち、中央値ＶＭは、積算値ｌｐｋｋｎｋに応じて定められる更新量（ｌｐｋｋｎｋ−ＶＭ（ｉ−１））／Ｘだけ更新することにより算出される。Ｘが小さくなることにより、中央値ＶＭの更新量が大きくなる。
【００４９】
なお、式３を用いて算出される中央値ＶＭは、複数（たとえば２００点火サイクル）の積算値ｌｐｋｋｎｋに基づいて算出される中央値を表わす近似値である。したがって、式３を用いて算出される中央値ＶＭは、実際の中央値とは異なり得る。
【００５０】
標準偏差σは、下記の式４を用いて１点火サイクル毎に算出される。
σ（ｉ）＝σ（ｉ−１）＋（ｌｐｋｋｎｋ−σ（ｉ−１））／Ｙ・・・（４）
式４においてσ（ｉ）は今回値を示す。σ（ｉ−１）は前回値を示す。Ｙは正の値である。すなわち、標準偏差σは、積算値ｌｐｋｋｎｋに応じて定められる更新量（ｌｐｋｋｎｋ−σ（ｉ−１））／Ｙだけ更新することにより算出される。
【００５１】
なお、式４を用いて算出される標準偏差σは、複数（たとえば２００点火サイクル）の積算値ｌｐｋｋｎｋに基づいて算出される標準偏差を表わす近似値である。したがって、式４を用いて算出される標準偏差σは、実際の標準偏差とは異なり得る。
【００５２】
なお、式３および式４を用いて中央値ＶＭおよび標準偏差σを算出する代わりに、以下の算出方法を用いるようにしてもよい。
【００５３】
今回算出された積算値ｌｐｋｋｎｋが前回算出された中央値ＶＭよりも大きい場合、前回算出された中央値ＶＭに予め定められた値Ｃ１を加算した値が、今回の中央値ＶＭとして算出される。逆に、今回算出された積算値ｌｐｋｋｎｋが前回算出された中央値ＶＭよりも小さい場合、前回算出された中央値ＶＭから予め定められた値Ｃ２（たとえばＣ２はＣ１と同じ値）を減算した値が、今回の中央値ＶＭとして算出される。
【００５４】
今回算出された積算値ｌｐｋｋｎｋが、前回算出された中央値ＶＭよりも小さく、かつ前回算出された中央値ＶＭから前回算出された標準偏差σを減算した値よりも大きい場合、前回算出された標準偏差σから予め定められた値Ｃ３を２倍した値を減算した値が、今回の標準偏差σとして算出される。逆に、今回算出された積算値ｌｐｋｋｎｋが、前回算出された中央値ＶＭよりも大きい場合、または前回算出された中央値ＶＭから前回算出された標準偏差σを減算した値よりも小さい場合、前回算出された標準偏差σに予め定められた値Ｃ４（たとえばＣ４はＣ３と同じ値）を加算した値が、今回の標準偏差σとして算出される。中央値ＶＭおよび標準偏差σの初期値は、予め設定された値であってもよいし、「０」であってもよい。
【００５５】
中央値ＶＭＥＤおよび標準偏差σを用いて、ノック判定レベルＶＫＤが算出される。図９に示すように、中央値ＶＭＥＤに係数Ｕ（Ｕは定数で、たとえばＵ＝３）と標準偏差σとの積を加算した値が、ノック判定レベルＶＫＤとなる。なお、ノック判定レベルＶＫＤの算出方法はこれに限らない。
【００５６】
係数Ｕは、実験などより得られたデータや知見から求められた係数である。Ｕ＝３とした場合のノック判定レベルＶＫＤよりも大きい９０度積算値ｌｐｋｋｎｋが、実際にノッキングが発生した点火サイクルにおける９０度積算値ｌｐｋｋｎｋと略一致する。なお、係数Ｕに「３」以外の値を用いるようにしてもよい。
【００５７】
ノック判定レベルＶＫＤよりも大きい９０度積算値ｌｐｋｋｎｋの割合（頻度）としてカウントされるノック占有率ＫＣがしきい値ＫＣ１以上である場合、予め定められた補正量Ａ１だけ小さくなるように、判定値ＶＪが補正される。また、ノック占有率ＫＣがしきい値ＫＣ１よりも小さい場合、予め定められた補正量Ａ２だけ大きくなるように判定値ＶＪが補正される。なお、本実施の形態において、ノック占有率ＫＣは、予め定められた点火サイクル（例えば２００点火サイクル）においてノッキングが発生した頻度を示す。
【００５８】
判定値ＶＪは、予め定められた点火サイクル（例えば２００点火サイクル）毎に補正される。また、判定値ＶＪは気筒毎に補正される。ただし、判定値ＶＪは、判定値ＶＪの平均値を基準にして定められた上限値以下であって、かつ下限値以上になるように制限される。すなわち、判定値ＶＪが上限値より大きい場合、判定値ＶＪに上限値が設定される。判定値ＶＪが下限値より小さい場合、判定値ＶＪに下限値が設定される。
【００５９】
ところで、エンジン１００に設けられた複数の気筒のうちの一部の気筒のみでノッキングが発生する場合がある。この場合、ノッキングが集中する気筒における点火時期のみを他の気筒における点火時期に比べて遅角することが好ましい。
【００６０】
そこで、本実施の形態においては、予め定められた回数ＩＧＮ１（たとえば３回）連続して同じ気筒のみでノッキングが発生した場合、ノッキングが連続して発生した気筒における点火時期が他の気筒における点火時期に比べて遅角される。
【００６１】
図１０を参照して、エンジンＥＣＵ２００の機能について説明する。なお、以下に説明する機能はソフトウェアにより実現するようにしてもよく、ハードウェアにより実現するようにしてもよい。
【００６２】
エンジンＥＣＵ２００は、判定部５００と、第１遅角部５０１と、第２遅角部５０２と、減衰部５０４とを備える。
【００６３】
判定部５００は、複数の気筒のうちのいずれかの気筒において予め定められた回数ＩＧＮ１以上連続してノッキングが発生したか否かを判定する。なお、ノッキングが発生したか否かは、各気筒の各点火サイクル毎に順番に判定される。したがって、同じに気筒に連続してノッキングが発生する場合、４ストロークのエンジンであればクランクシャフトが２回転する間に他の気筒でノッキングが発生しなかったことになる。
【００６４】
第１遅角部５０１は、複数の気筒のうちのいずれかの気筒において予め定められた回数ＩＧＮ１以上連続してノッキングが発生した場合、図１１に示すように、ノッキングが連続して発生した気筒における点火時期をＣＡ１だけ、他の気筒における点火時期に比べてさらに遅角する。なお、ＣＡ１は、たとえば３°ＣＡ（Crank Angle）である。また、図１１には、一例として１番、２番、３番および４番気筒のうち、１番気筒の点火時期をＣＡ１だけ時間Ｔ１において遅角した状態を示す。
【００６５】
本実施の形態においては、複数の気筒のうちのいずれかの気筒においてノッキングが発生した場合、全ての気筒における点火時期が遅角されるので、予め定められた回数ＩＧＮ１以上連続してノッキングが発生した気筒における点火時期は、全ての気筒に共通の遅角量に加えてさらにＣＡ１だけ多く遅角される。
【００６６】
その他、各気筒における点火時期は、実験およびシミュレーションなどにより予め定められるベース遅角量だけ他の気筒における点火時期に比べて遅角される場合がある。したがって、連続してノッキングが発生した気筒における遅角量は、全ての気筒に共通の遅角量、実験およびシミュレーションなどにより予め定められるベース遅角量および連続してノッキングが発生した場合に追加される遅角量rtdetcの和として表わされる。
【００６７】
なお、水温がしきい値以下であるという条件、エンジン１００の運転状態がノッキングが発生し得ない状態であるという条件、基本点火時期がＭＢＴであるという条件、プレミアムガソリン（ハイオクガソリン）仕様のエンジンにレギュラーガソリンが入れられたという条件、エンジン１００がアイドル状態であるという条件、ノッキングを抑制するために要求される点火時期が、ノッキング以外（たとえば変速時のトルクダウン）の要件により要求される点火時期よりも進角側にあるという条件などが満たされた場合は、誤作動を防止するため、連続してノッキングが発生した気筒における点火時期のみの遅角を禁止するようにしてもよい。
【００６８】
第２遅角部５０２は、ノッキングが連続して発生した気筒における点火時期を他の気筒における点火時期に比べてさらに遅角した状態において、別の気筒でノッキングが予め定められた回数ＩＧＮ１以上連続して発生した場合、ノッキングが連続して発生した気筒に対して追加される遅角量の合計が制限値以下になるように、連続してノッキングが発生したと新たに判定された気筒の点火時期を遅角する。
【００６９】
図１１には、一例として、１番気筒に加えて、３番気筒における点火時期を遅角した状態を示す。図１１に示すように、３番気筒でノッキングが連続して発生した場合、時間Ｔ５において３番気筒の点火時期が１番気筒を除く他の気筒における点火時期に比べて遅角される。
【００７０】
３番気筒における追加の遅角量rtdetc3は、制限値から１番気筒における追加の遅角量rtdetc１を減算した値（制限値−rtdetc１）である。ただし、３番気筒における追加の遅角量rtdetc3は、ＣＡ１以下に制限される。なお、３番気筒における追加の遅角量rtdetc3が、制限値から１番気筒における追加の遅角量rtdetc１を減算した値よりも小さくなるようにしてもよい。また、制限値はＣＡ１よりも大きい値であって、たとえば４°ＣＡである。
【００７１】
減衰部５０４は、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒において、ノッキングが発生したと判定されなくなると、図１１に示すように、遅角量をＣＡ２だけ段階的に小さくする。より具体的には、予め定められた回数ＩＧＮ２（たとえば３回）分のノッキングが発生したと判定された気筒に、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒が含まれていないと、追加の遅角量rtdetcがＣＡ２だけ小さくされる。予め定められた回数ＩＧＮ２分のノッキングが発生したと判定された気筒に、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒が含まれていると、追加の遅角量rtdetcが維持される。
【００７２】
なお、ＣＡ２はＣＡ１よりも小さい値であって、たとえば０．１°ＣＡである。また、図１１には、一例として時間Ｔ２、Ｔ３、Ｔ４およびＴ５において１番気筒における追加の遅角量rtdetc１を小さくした状態を示す。
【００７３】
図１２を参照して、エンジンＥＣＵ２００が実行するプログラムの制御構造について説明する。
【００７４】
ステップ（以下、ステップをＳと略す）１００にて、エンジンＥＣＵ２００は、ノッキングが発生したか否かを複数の気筒毎に判定する。
【００７５】
Ｓ１１０にて、エンジンＥＣＵ２００は、複数の気筒のうちのいずれかの気筒において予め定められた回数ＩＧＮ１以上連続してノッキングが発生したか否かを判定する。
【００７６】
複数の気筒のうちのいずれかの気筒において予め定められた回数ＩＧＮ１以上連続してノッキングが発生すると（Ｓ１１０にてＹＥＳ）、処理はＳ１１２に移される。もしそうでないと（Ｓ１１０にてＮＯ）、処理はＳ１１４に移される。Ｓ１１２にて、エンジンＥＣＵ２００は、ノッキングが連続して発生した気筒における点火時期をＣＡ１だけ、他の気筒における点火時期に比べてさらに遅角する。
【００７７】
Ｓ１１４にて、エンジンＥＣＵ２００は、予め定められた回数ＩＧＮ２分のノッキングが発生したと判定された気筒に、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒が含まれているか否かを判定する。
【００７８】
予め定められた回数ＩＧＮ２分のノッキングが発生したと判定された気筒に、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒が含まれていると（Ｓ１１４にてＹＥＳ）、処理はＳ１１６に移される。もしそうでないと（Ｓ１１４にてＮＯ）、処理はＳ１１８に移される。
【００７９】
Ｓ１１６にて、エンジンＥＣＵ２００は、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒に対して追加された遅角量rtdetcを維持する。Ｓ１１８にて、エンジンＥＣＵ２００は、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒に対して追加された遅角量rtdetcをＣＡ２だけ小さくする。
【００８０】
Ｓ１２０にて、エンジンＥＣＵ２００は、ノッキングが連続して発生した気筒における点火時期を他の気筒における点火時期に比べてさらに遅角した状態において、別の気筒でノッキングが予め定められた回数ＩＧＮ１以上連続して発生したか否かを判定する。別の気筒でノッキングが予め定められた回数ＩＧＮ１以上連続して発生すると（Ｓ１２０にてＹＥＳ）、処理はＳ１２２に移される。もしそうでないと（Ｓ１２０にてＮＯ）、処理はＳ１００に戻される。
【００８１】
Ｓ１２２にて、エンジンＥＣＵ２００は、ノッキングが予め定められた回数ＩＧＮ１以上連続して発生したと新たに判定された気筒における点火時期を、制限値から先にノッキングが予め定められた回数ＩＧＮ１以上連続して発生したと判定された気筒における追加の遅角量rtdetcを減算した値だけ遅角する。
【００８２】
以上のような構造およびフローチャートに基づく、本実施の形態に係る点火時期制御装置の動作について説明する。
【００８３】
エンジン１００の運転中、ノッキングが発生したか否かが複数の気筒毎に判定される（Ｓ１００）。複数の気筒のうちのいずれかの気筒において予め定められた回数ＩＧＮ１以上連続してノッキングが発生すると（Ｓ１１０にてＹＥＳ）、ノッキングが連続して発生した気筒における点火時期がＣＡ１だけ、他の気筒における点火時期に比べてさらに遅角される（Ｓ１１２）。
【００８４】
これにより、ノッキングが発生し難くすることができる。遅角量は制限値よりも小さいＣＡ１に制限される。そのため、点火時期の遅角に起因するトルク変動を小さくすることができる。
【００８５】
その後、予め定められた回数ＩＧＮ２分のノッキングが発生したと判定された気筒に、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒が含まれていると（Ｓ１１４にてＹＥＳ）、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒に対して追加された遅角量rtdetcは維持される（Ｓ１１６）。
【００８６】
予め定められた回数ＩＧＮ２分のノッキングが発生したと判定された気筒に、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒が含まれていないと（Ｓ１１４にてＮＯ）、予め定められた回数ＩＧＮ１以上連続してノッキングが発生したと判定された気筒に対して追加された遅角量rtdetcがＣＡ２だけ小さくされる（Ｓ１１８）。ノッキングが発生しなくなった場合には、追加の遅角量rtdetcを徐々に小さくすることができる。そのため、出力トルクを徐々に増大することができる。
【００８７】
ノッキングが連続して発生した気筒における点火時期を他の気筒における点火時期に比べてさらに遅角した状態において、別の気筒でノッキングが予め定められた回数ＩＧＮ１以上連続して発生すると（Ｓ１２０にてＹＥＳ）、その気筒における点火時期のみが遅角される。
【００８８】
ノッキングが予め定められた回数ＩＧＮ１以上連続して発生したと新たに判定された気筒における点火時期は、制限値から先にノッキングが予め定められた回数ＩＧＮ１以上連続して発生したと判定された気筒における追加の遅角量rtdetcを減算した値だけ遅角される（Ｓ１２２）。
【００８９】
これにより、他の気筒に比べて点火時期が追加的に遅角される気筒の燃焼行程における出力トルクの低下量を制限することができる。そのため、点火時期を遅角した後のトルク変動を小さくすることができる。また、トルク変動を許容できる範囲内でできるだけ大きく点火時期が遅角される。そのため、ノッキングの抑制とトルク変動の低減とを両立することができる。
【００９０】
以上のように、本実施の形態に係る点火時期制御装置によれば、ノッキングが連続して発生した気筒における点火時期がＣＡ１だけ、他の気筒における点火時期に比べてさらに遅角される。ノッキングが連続して発生した気筒における点火時期を他の気筒における点火時期に比べてさらに遅角した状態において、別の気筒でノッキングが予め定められた回数ＩＧＮ１以上連続して発生すると、その気筒における点火時期のみが遅角される。ノッキングが予め定められた回数ＩＧＮ１以上連続して発生したと新たに判定された気筒における点火時期は、制限値から先にノッキングが予め定められた回数ＩＧＮ１以上連続して発生したと判定された気筒における追加の遅角量rtdetcを減算した値だけ遅角される。これにより、他の気筒に比べて点火時期が追加的に遅角される気筒の燃焼行程における出力トルクの低下量を制限することができる。そのため、点火時期を遅角した後のトルク変動を小さくすることができる。
【００９１】
＜第１参考例＞
以下、第１参考例について説明する。以下に説明する第１参考例では、ノック占有率ＫＣと目標占有率ＫＣＴとの差が最も大きい気筒における点火時期のみを他の気筒における点火時期に比べて遅角する。エンジン１００の構造については前述の実施の形態と同じである。したがって、ここではそれらの詳細な説明は繰り返さない。
【００９２】
図１３に示すように、実際のノック占有率ＫＣが気筒毎に定められる目標占有率ＫＣＴよりも大きく、かつ実際のノック占有率ＫＣと目標占有率ＫＣＴとの差が最も大きい気筒における点火時期のみが、他の気筒における点火時期に比べて追加的に遅角される。いずれの気筒における点火時期を他の気筒における点火時期に比べて追加的に遅角するかは、たとえば２００点火サイクル毎に判定される。
【００９３】
ただし、ノック占有率ＫＣと目標占有率ＫＣＴとの差の最大値Δ１と、２番目に大きい値Δ２との差がしきい値より小さい場合、２つの気筒においてノッキングが頻発していると考えられるため、１つの気筒のみに対する追加的な遅角は行なわれない。
【００９４】
＜第２参考例＞
以下、第２参考例について説明する。以下に説明する第２参考例では、判定値ＶＪが先に述べた判定値ＶＪの下限値よりも小さい気筒における点火時期のみを他の気筒における点火時期に比べて遅角する。エンジン１００の構造については前述の実施の形態と同じである。したがって、ここではそれらの詳細な説明は繰り返さない。
【００９５】
図１４に示すように、判定値ＶＪが下限値よりも小さい気筒における点火時期のみが、他の気筒における点火時期に比べて追加的に遅角される。いずれの気筒における点火時期を他の気筒における点火時期に比べて追加的に遅角するかは、たとえば２００点火サイクル毎に判定される。
【００９６】
ただし、２つ以上の気筒の判定値ＶＪが下限値よりも小さい場合、２つ以上の気筒においてノッキングが頻発していると考えられるため、１つの気筒のみに対する追加的な遅角は行なわれない。
【００９７】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９８】
【図１】エンジンを示す概略構成図である。
【図２】ノッキング時にエンジンで発生する振動の周波数帯を示す図である。
【図３】エンジンＥＣＵを示す制御ブロック図である。
【図４】エンジンの振動波形を示す図である。
【図５】振動波形とノック波形モデルとを比較した図である。
【図６】ノック波形モデルを示す図である。
【図７】ノック波形モデルの面積Ｓを示す図である。
【図８】９０度積算値ｌｐｋｋｎｋを示す図である。
【図９】９０度積算値ｌｐｋｋｎｋの頻度分布を示す図である。
【図１０】エンジンＥＣＵの機能ブロック図である。
【図１１】ノッキングが連続して発生した気筒における追加の遅角量rtdetcを示す図である。
【図１２】エンジンＥＣＵが実行するプログラムの制御構造を示すフローチャートである。
【図１３】各気筒のノック占有率ＫＣを示す図である。
【図１４】各気筒の判定値ＶＪを示す図である。
【符号の説明】
【００９９】
１００  エンジン、１０４  インジェクタ、１０６  点火プラグ、１１０  クランクシャフト、１１６  吸気バルブ、１１８  排気バルブ、２００  エンジンＥＣＵ、２０２  ＲＯＭ、３００  ノックセンサ、３０２  水温センサ、３０４  タイミングロータ、３０６  クランクポジションセンサ、３０８  スロットル開度センサ、３１０  車速センサ、３１２  イグニッションスイッチ、３１４  エアフローメータ、３２０  補機バッテリ、４００  Ａ／Ｄ変換部、４１０  バンドパスフィルタ、４２０  積算部、５００  判定部、５０１  第１遅角部、５０２  第２遅角部、５０４  減衰部。
【図１】
0004877276.tif 000002
【図２】
0004877276.tif 000003
【図３】
0004877276.tif 000004
【図４】
0004877276.tif 000005
【図５】
0004877276.tif 000006
【図６】
0004877276.tif 000007
【図７】
0004877276.tif 000008
【図８】
0004877276.tif 000009
【図９】
0004877276.tif 000010
【図１０】
0004877276.tif 000011
【図１１】
0004877276.tif 000012
【図１２】
0004877276.tif 000013
【図１３】
0004877276.tif 000014
【図１４】
0004877276.tif 000015