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