(57)【要約】【課題】内燃機関１の異常燃焼の発生の有無を精度良く判定する。【解決手段】火花点火式内燃機関１の気筒サイクルにおける所定の検出期間内で、内燃機関の、所定周波数帯域の振動波形を検出する工程、検出した振動波形の振幅に関連するパラメータである振幅導出値の、検出期間内での積分値を算出する工程、及び、前記積分値と、所定の判定しきい値とを比較すると共に、その比較結果に基づいて内燃機関の異常燃焼の発生の有無を判定する工程、を含む。【選択図】図５
2009174459.tif 000002
【特許請求の範囲】
【請求項１】
火花点火式内燃機関の気筒サイクルにおける所定の検出期間内で、当該内燃機関の、所定周波数帯域の振動波形を検出する工程、
検出した振動波形の振幅に関連するパラメータである振幅導出値の、前記検出期間内での積分値を算出する工程、及び、
前記積分値と、所定の判定しきい値とを比較すると共に、その比較結果に基づいて前記内燃機関の異常燃焼の発生の有無を判定する工程、を含む内燃機関の制御方法。
【請求項２】
前記振動波形の振幅と所定の重み付け係数との積によって前記振幅導出値を算出する工程を含み、
前記重み付け係数は、前記検出期間の後半における値が、前半における値に比べて大に設定される、請求項１に記載の制御方法。
【請求項３】
前記重み付け係数は、前記検出期間内における時間経過と共に、その値が次第に増大するように設定される、請求項２に記載の制御方法。
【請求項４】
前記重み付け係数は、前記内燃機関のクランク角の関数である、請求項３に記載の制御方法。
【請求項５】
前記重み付け係数は、前記検出期間の開始時点から当該期間内における所定時点まで、一定値に設定される、請求項２〜４のいずれか１項に記載の制御方法。
【請求項６】
前記重み付け係数は、前記検出期間内における所定時点からその期間終了時点まで、当該所定時点以前の値よりも大の一定値に設定される、請求項２〜５のいずれか１項に記載の制御方法。
【請求項７】
前記振幅導出値は、前記振動波形の振幅の絶対値に基づいて算出される、請求項１〜６のいずれか１項に記載の制御方法。
【請求項８】
前記検出期間の開始時点は、前記クランク角が第１位相角になった時点であり、その終了時点は、前記クランク角が第２位相角になった時点である、請求項１〜７のいずれか１項に記載の制御方法。
【請求項９】
前記内燃機関は、複数の気筒を有しており、
前記検出期間は、前記気筒毎に設定されていると共に、各検出期間は互いに離間している、請求項８に記載の制御方法。
【請求項１０】
火花点火式内燃機関を制御するコンピュータに、
前記内燃機関の気筒サイクルにおける所定の検出期間内で、当該内燃機関の、所定周波数帯域の振動波形を検出する工程、
検出した振動波形の振幅に関連するパラメータである振幅導出値の、前記検出期間内での積分値を算出する工程、及び、
前記積分値と、所定の判定しきい値とを比較すると共に、その比較結果に基づいて前記内燃機関の異常燃焼の発生の有無を判定する工程、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、火花点火式内燃機関の制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
従来より、火花点火式内燃機関のシリンダブロックに加速度センサからなるノックセンサを取り付け、そのノックセンサが検出した内燃機関の振動波形に基づいて、ノッキング（異常燃焼）の発生の有無を判定する技術が知られている（例えば特許文献１参照）。具体的に特許文献１に記載の技術では、ノックセンサが検出した振動の強度が、予め設定している判定値を超えたときに、ノッキングが発生したと判定するようにしている。
【特許文献１】特開２００７−２５５２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところが、内燃機関の回転数が増大するにつれて、ノックセンサのノイズが増大するため、ノックセンサの検出信号に基づく振動強度は実際よりも高く検出されることになる。このため、ノックセンサが検出した振動の強度に基づいてノッキングの発生の有無を判定する従来の構成では、実際にはノッキングが発生していないにも拘わらず、検出した振動の強度が判定値を超えてしまうことでノッキングが発生したと誤判定してしまう場合がある。
【０００４】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、内燃機関の異常燃焼の発生の有無を精度良く判定することにある。
【課題を解決するための手段】
【０００５】
本発明は、異常燃焼が発生したときの内燃機関の振動波形は、異常燃焼が発生していないときの振動波形に比べて減衰し難いという知見を得たことによって成されたものである。
【０００６】
本発明の一側面によると、内燃機関の制御方法は、火花点火式内燃機関の気筒サイクルにおける所定の検出期間内で、当該内燃機関の、所定周波数帯域の振動波形を検出する工程、検出した振動波形の振幅に関連するパラメータである振幅導出値の、前記検出期間内での積分値を算出する工程、及び、前記積分値と、所定の判定しきい値とを比較すると共に、その比較結果に基づいて前記内燃機関の異常燃焼の発生の有無を判定する工程、を含む。
【０００７】
このように、内燃機関の振動波形の強度に基づくのではなく、振動波形の振幅に関連するパラメータである振幅導出値の、検出期間内での積分値に基づいて、異常燃焼の発生の有無を判定することによって、ノイズの影響を受けることがなくなり、判定精度が向上する。従って、誤判定が防止される。
【０００８】
前記制御方法は、前記振動波形の振幅と所定の重み付け係数との積によって前記振幅導出値を算出する工程を含み、前記重み付け係数は、前記検出期間の後半における値が、前半における値に比べて大に設定される、としてもよい。
【０００９】
前述したように、異常燃焼が発生したときの振動波形は、異常燃焼が発生していないときの振動波形に比べて減衰し難いことから、異常燃焼が発生したときには、検出期間の後半においても、振動波形の振幅は比較的大きいままである。このため、検出期間の後半における値が、前半における値に比べて大に設定される重み付け係数によって、振動波形の振幅に重み付けをして、振幅導出値を算出することにより、その振幅導出値は、異常燃焼の発生時の振動波形の特性を強調した値となる。その振幅導出値の積分値に基づいて、異常燃焼の発生の有無を判定することで、ノイズの影響がさらに排除されて、判定精度がさらに向上する。
【００１０】
前記重み付け係数は、前記検出期間内における時間経過と共に、その値が次第に増大するように設定される、としてもよい。
【００１１】
前記重み付け係数は、前記内燃機関のクランク角の関数である、としてもよい。
【００１２】
前記重み付け係数は、前記検出期間の開始時点から当該期間内における所定時点まで、一定値に設定される、としてもよい。
【００１３】
前記重み付け係数は、前記検出期間内における所定時点からその期間終了時点まで、当該所定時点以前の値よりも大の一定値に設定される、としてもよい。
【００１４】
前記振幅導出値は、前記振動波形の振幅の絶対値に基づいて算出される、としてもよい。
【００１５】
前記検出期間の開始時点は、前記クランク角が第１位相角になった時点であり、その終了時点は、前記クランク角が第２位相角になった時点である、としてもよい。
【００１６】
前記内燃機関は、複数の気筒を有しており、前記検出期間は、前記気筒毎に設定されていると共に、各検出期間は互いに離間している、としてもよい。
【００１７】
本発明の他の側面によると、制御プログラムは、火花点火式内燃機関を制御するコンピュータに、前記内燃機関の気筒サイクルにおける所定の検出期間内で、当該内燃機関の、所定周波数帯域の振動波形を検出する工程、検出した振動波形の振幅に関連するパラメータである振幅導出値の、前記検出期間内での積分値を算出する工程、及び、前記積分値と、所定の判定しきい値とを比較すると共に、その比較結果に基づいて前記内燃機関の異常燃焼の発生の有無を判定する工程、を実行させる。
【発明の効果】
【００１８】
以上説明したように、本発明によると、異常燃焼が発生したときの、内燃機関の振動波形は、異常燃焼が発生していないときの振動波形に比べて減衰し難いことから、振動波形の振幅に関連するパラメータである振幅導出値の、検出期間内での積分値に基づいて、異常燃焼の発生の有無を判定することによって、振動強度に基づいて判定を行う場合に比べて、その判定精度を向上させることができ、異常燃焼であるとする誤判定を防止することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の実施形態を図面に基づいて説明する。尚、以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものではない。
【００２０】
（エンジン・システムの全体構成）
図１に示されるように、エンジン・システムは、エンジン１、エンジン１に付随する様々なアクチュエーター、様々なセンサー、及びセンサーからの信号に基づきアクチュエーターを制御するエンジン制御器１００を有する。
【００２１】
エンジン１は、火花点火式内燃機関であって、第１〜第４の４つのシリンダ１１，１１，…を有する。但し、エンジン１は、いかなる数のシリンダを有するものであってもよい。エンジン１は、自動車等の車両に搭載され、その出力軸は、図示しないが、変速機を介して駆動輪に連結されている。エンジン１の出力が駆動輪に伝達されることによって、車両が推進する。
【００２２】
エンジン１は、シリンダブロック１２と、その上に載置されるシリンダヘッド１３とを備えており、ブロック１２の内部にシリンダ１１，１１，…が形成されている。周知のように、シリンダブロック１２には、ジャーナル、ベアリングなどによりクランクシャフト１４が回転自在に支持されており、このクランクシャフト１４が、コネクティングロッド１６を介してピストン１５に連結されている。
【００２３】
前記ピストン１５は、各シリンダ１１内に摺動自在に嵌挿されており、シリンダ１１及びシリンダヘッド１３と共に燃焼室１７を区画している。図には１つのみ示すが、シリンダ１１毎に２つの吸気ポート１８がシリンダヘッド１３に形成され、それぞれが燃焼室１７に連通している。同様に、シリンダ１１毎に２つの排気ポート１９がシリンダヘッド１３に形成され、それぞれが燃焼室１７に連通している。図に示すように、吸気弁２１及び排気弁２２はそれぞれ、吸気ポート１８及び排気ポート１９を燃焼室１７から遮断（閉）することができるように配設されている。吸気弁２１は吸気弁駆動機構３０により、排気弁２２は排気弁駆動機構４０により、それぞれ駆動され、それによって所定のタイミングで往復動して、吸気ポート１８及び排気ポート１９を開閉する。
【００２４】
吸気弁駆動機構３０及び排気弁駆動機構４０は、それぞれ吸気カムシャフト３１及び排気カムシャフト４１を有する。カムシャフト３１，４１は、周知のチェーン／スプロケット機構等の動力伝達機構を介してクランクシャフト１４に連結される。動力伝達機構は、周知のように、クランクシャフト１４が二回転する間に、カムシャフト３１，４１を一回転させる。
【００２５】
吸気弁駆動機構３０は、吸気カムシャフト３１の位相を所定の角度範囲内で連続的に変更可能な位相可変機構（Variable Valve Timing：ＶＶＴ）３２を含んで構成されている。ＶＶＴ３２は、動力伝達機構と吸気カムシャフト３１との間に設けられ、このＶＶＴ３２は、クランクシャフト１４に直接駆動されかつ、吸気カムシャフト３１と同軸に配置された被駆動軸（図示省略）と吸気カムシャフト３１との間に、エンジン制御器１００からの制御信号θＶＶＴ＿Ｄに応じた位相差を設けるように構成される。具体的にＶＶＴ３２は、被駆動軸と吸気カムシャフト３１との間に周方向に並ぶ複数の液室を設けかつ、それらの液室間に圧力差を設けることによって、前記位相差を作り出す液圧式、又は、被駆動軸と吸気カムシャフト３１との間に電磁石と一方向に位相差を設けるような付勢力を生じるスプリングとを有しかつ、その電磁石に電力を付与することによって、前記位相差を作り出す電磁式等を採用することが可能である。
【００２６】
吸気カムシャフト３１の位相角は、カム位相センサー３５により検出され、その出力信号θＶＶＴ＿Ａがエンジン制御器１００に入力される。
【００２７】
点火プラグ５１は、例えばねじ等の周知の構造によって、シリンダヘッド１３に取り付けられている。点火システム５２は、エンジン制御器１００からの制御信号ＳＡを受けて、点火プラグ５１が所望の点火タイミングで火花を発生するよう、それに通電する。
【００２８】
燃料噴射弁５３は、例えばブラケットを使用する等、周知の構造でシリンダヘッド１３の一側（図例では吸気側）に取り付けられている。燃料噴射弁５３の先端は、上下方向については２つの吸気ポート１８の下方に、また、水平方向については２つの吸気ポート１８の中間に位置して、燃焼室１７内に臨んでいる。
【００２９】
燃料供給システム５４は、図示しないが、燃料噴射弁５３に燃料を昇圧して供給する高圧ポンプと、この高圧ポンプに対して燃料タンクからの燃料を送る配管やホース等と、燃料噴射弁５３を駆動する電気回路と、を備えている。この電気回路は、エンジン制御器１００からの制御信号ＦＰを受けて燃料噴射弁５３のソレノイドを作動させ、所定のタイミングで所望量の燃料を、燃焼室１７内に噴射させる。
【００３０】
吸気ポート１８は、吸気マニホルド５５内の吸気経路５５ｂによってサージタンク５５ａに連通している。図示しないエアクリーナからの吸気流は、スロットルボデー５６を通過してサージタンク５５ａに供給される。スロットルボデー５６にはスロットル弁５７が配置されており、このスロットル弁５７は、周知のようにサージタンク５５ａに向かう吸気流を絞って、その流量を調整する。スロットル・アクチュエーター５８が、エンジン制御器１００からの制御信号ＴＶＯＤを受けて、スロットル弁５７の開度を調整する。
【００３１】
排気ポート１９は、排気マニホルド６０内の排気経路によって周知のように排気管内の通路に連通している。排気マニホルド６０よりも下流の排気通路には、１つ以上の触媒コンバータ６１を有する排気ガス浄化システムが配置される。触媒コンバータ６１は、周知の三元触媒、リーンＮＯｘ触媒、酸化触媒等とすることができ、それ以外にも、特定の燃料制御手法による排気ガス浄化の目的にかなうものであれば、いかなるタイプの触媒としてもよい。
【００３２】
また、排気ガスの一部を吸気系に循環させる（以下、ＥＧＲともいう）ために、吸気マニホルド５５（スロットル弁５７よりも下流側）と排気マニホルド６０との間がＥＧＲパイプ６２によって接続されている。排気側の圧力は吸入側よりも高いので、排気ガスの一部は吸気マニホルド５５に流れ込むようになり（ＥＧＲガスと呼ぶ）、この吸気マニホルド５５から燃焼室１７に吸入される新気と混ざることになる。ＥＧＲパイプ６２にはＥＧＲバルブ６３が配設され、このバルブ６３によってＥＧＲガスの流量を調整する。ＥＧＲバルブ・アクチュエーター６４は、エンジン制御器１００からの制御信号ＥＧＲＯＰＥＮを受けて、ＥＧＲバルブ６３の開度を調整する。
【００３３】
エンジン制御器１００は、周知のマイクロコンピュータをベースとするコントローラであって、プログラムを実行する中央演算処理装置（ＣＰＵ）と、例えばＲＡＭやＲＯＭにより構成されてプログラム及びデータを格納するメモリと、電気信号の入出力をする入出力（Ｉ／Ｏ）バスと、を備えている。
【００３４】
エンジン制御器１００は、エアフローセンサー７１からの吸気流量ＡＦ、吸気圧センサー７２からの吸気マニホルド圧ＭＡＰ、クランク角センサー７３からのクランク角パルス信号というように、種々の入力を受ける。エンジン制御器１００は、例えばクランク角パルス信号に基づいて、エンジン回転数ＮＥＮＧを計算する。また、エンジン制御器１００は、酸素濃度センサー７４からの排気ガスの酸素濃度ＥＧＯの入力も受ける。さらに、エンジン制御器１００は、アクセル・ペダルの踏み込み量を検出するアクセル開度センサー７５からのアクセル開度信号αを受ける。またエンジン制御器１００には、変速機の出力軸の回転速度を検出する車速センサー７６からの車速信号ＶＳＰが入力される。
【００３５】
さらに、シリンダブロック１２には、当該シリンダブロック１２の振動を電圧信号に変換して出力する加速度センサからなるノックセンサ７７が取り付けられており、その検出信号ａｋｎｋもエンジン制御器１００に入力される。
【００３６】
より具体的に、エンジン制御器１００は前記のような入力に基づいて、以下のようなエンジン１の制御パラメーターを計算する。例えば、所望のスロットル開度信号ＴＶＯＤ、燃料噴射パルスＦＰ、点火信号ＳＡ、バルブ位相角信号θＶＶＴ＿Ｄ、ＥＧＲ開度信号ＥＧＲＯＰＥＮ等である。
【００３７】
そしてエンジン制御器１００は、それらの信号を、スロットル・アクチュエーター５８、燃料供給システム５４、点火システム５２、ＶＶＴ３２及びＥＧＲバルブ・アクチュエーター６４等に出力する。
【００３８】
（エンジン制御）
図２は、エンジン制御器１００が実行する制御フローを示している。この制御フローは、エンジン１の始動後の通常運転状態において、エンジン制御器１００が実行するフローである。
【００３９】
具体的にステップＳ２１では、各種信号を読み込み、続くステップＳ２２において、アクセル開度α、エンジン回転数ＮＥＮＧ、及び車速ＶＳＰに基づいて、例えば予め設定されたマップ（図示省略）に従い、目標トルクＴＱＤを算出する。
【００４０】
ステップＳ２３では、算出した目標トルクＴＱＤ、及びエンジン回転数ＮＥＮＧに基づいて、例えば予め設定されたマップ（図示省略）に従い、燃料噴射量ＦＰ、要求気筒空気充填量ＣＥＤ及び点火時期ＳＡをそれぞれ算出する。
【００４１】
ステップＳ２４では、要求気筒空気充填量ＣＥＤ、及びエンジン回転数ＮＥＮＧに基づいて、予め設定されたマップに従い、目標ＶＶＴ進角値θＶＶＴ＿Ｄを算出する。このマップは、図２に示すように、縦軸を要求気筒空気充填量ＣＥＤ、横軸をエンジン回転数ＮＥＮＧとして設定されていて、右上がりに設定された所定値以下の領域においては、要求気筒空気充填量ＣＥＤ及びエンジン回転数ＮＥＮＧに拘わらず、目標ＶＶＴ進角値θＶＶＴ＿Ｄが最小に設定される一方、その所定値よりも大きい領域においては、要求気筒空気充填量ＣＥＤが大きいほど、目標ＶＶＴ進角値θＶＶＴ＿Ｄが大きくなるように設定される。
【００４２】
ステップＳ２５では、要求気筒空気充填量ＣＥＤ、及びエンジン回転数ＮＥＮＧに基づいて、予め設定されたマップに従い、目標スロットル開度ＴＶＯＤを算出する。このマップは、図２に示すように、縦軸を要求気筒空気充填量ＣＥＤ、横軸をエンジン回転数ＮＥＮＧとして設定されていて、右上がりに設定された所定値以下の領域においては、要求気筒空気充填量ＣＥＤが大きいほど、目標スロットル開度ＴＶＯＤが大きくなるように設定される一方、その所定値よりも大きい領域においては、要求気筒空気充填量ＣＥＤに拘わらず、目標スロットル開度ＴＶＯＤが一定に設定される。
【００４３】
ステップＳ２６では、ノッキングが発生したか否かを判定する。ノッキング判定の詳細は後述する。ステップＳ２６において、ノッキングが発生していないのＮＯのときには、ステップＳ２７に移行する一方、ノッキングが発生したのＹＥＳのときには、ステップＳ２８に移行する。
【００４４】
ステップＳ２７では、点火進角補正値ＳＡＣを増加させる（ＳＡＣ＝ＳＡＣ＋ｄＳＡＣ）。一方、ステップＳ２８では、点火進角補正値ＳＡＣを減少させる（ＳＡＣ＝ＳＡＣ−ｄＳＡＣ）。そうして、ステップＳ２９では、ステップＳ２３で設定した点火時期ＳＡを、点火進角補正値ＳＡＣによって補正する（ＳＡ＝ＳＡ＋ＳＡＣ）。従って、ステップＳ２７を経由した場合、換言すればノッキングが発生していない場合には点火時期ＳＡは進角し、ステップＳ２８を経由した場合、換言すればノッキングが発生した場合には点火時期ＳＡは遅角する。この点火時期の遅角制御によって、ノッキングが抑制されることになる。
【００４５】
ステップＳ２１０では、算出した燃焼噴射量ＦＰ、点火時期ＳＡ、目標ＶＶＴ進角値θＶＶＴ＿Ｄ、及び目標スロットル開度ＴＶＯＤに基づいて、燃料供給システム５４、点火システム５２、ＶＶＴ３２、及びスロットルアクチュエーター５８をそれぞれ制御する。
【００４６】
（ノッキング判定）
次に、前記エンジン制御器１００が実行するノッキング判定について説明する。図３は、ノッキングが発生したときのノックセンサ７７の信号波形（図３の（ｂ）参照）を示しているのに対し、図４は、ノッキングが発生していないときのノックセンサ７７の信号波形（図４の（ｂ）参照）を示している。尚、これらのセンサ波形は、ノックセンサ７７の信号に対してバンドパスフィルタ処理を施した後の波形を示している。
【００４７】
これらを比較すると、ノックセンサ７７の信号波形の振幅の最大値は互いに略同じである。このことから、単にノックセンサ７７の信号波形の振幅の最大値（振動の強度）に基づいて、ノッキングの発生の有無を判断することは困難であることが判る。
【００４８】
前記２つの波形を比較すると、ノッキングが発生したときのノックセンサ７７の信号波形は、ノッキングが発生していないときのノックセンサ７７の信号波形に比べて、減衰し難いことが判る。そこで、この実施形態では、ノックセンサ７７の信号波形の振幅に関連するパラメータである振幅導出値を算出し、その振幅導出値の、ノックウインドウ（ノックセンサ７７の信号を検出する期間、詳細は後述する）における積分値に基づいて、ノッキングの発生の有無を判定するようにしている。
【００４９】
このことについて図５を参照しながら説明する。先ず同図の（ａ）は筒内圧の変動を示しており、同図の（ｂ）はそのときのノックセンサ７７の出力波形（ａｋｎｋ）を示している。
【００５０】
ノッキングの発生に係る振動周波数は、所定帯域の周波数であるため、同図（ｂ）に示すノックセンサ７７の出力波形に対して、バンドパスフィルタ処理を施す。バンドバスフィルタの通過帯域は、エンジン１の種類毎に適宜設定すればよい。同図（ｃ）は、バンドパスフィルタ処理後のノックセンサ７７の出力波形（ｋｎｋｂｐｆ）を示している。そして、バンドパスフィルタ処理後のノックセンサ７７の出力波形の絶対値を取る（同図の（ｄ）参照）。
【００５１】
同図（ｅ）は、ノックウインドウを示している。このノックウインドウは、前述したように、ノックセンサ７７の信号を検出する期間であり、気筒毎に、クランク角に基づいて設定されている。具体的にノックウインドウは、各気筒において着火から膨張に至る期間として設定されており、そのウインドウ幅は、エンジン回転数に応じて変化する。尚、本実施形態では、エンジン１は４気筒エンジンであるため、各気筒に対応するノックウインドウは、互いに１８０°ＣＡだけ離れることになる。
【００５２】
同図（ｆ）は、重み付け関数を示している。この重み付け関数は、前記（ｄ）に示すバンドパスフィルタ処理後のノックセンサ７７の出力波形の絶対値に乗算される関数であり、本実施形態では、ノックウインドウ内において時間の経過と共にその値が増大する単調増加関数として設定されている。重み付け関数は、例えば二次や三次の関数としてもよい。この重み付け関数は、エンジン回転数に応じてノックウインドウの幅が変化することに対応して、エンジン回転数に依存する関数とするのがよい。
【００５３】
前述したように、バンドパスフィルタ処理後のノックセンサ７７の出力波形の絶対値と、重み付け関数との積によって、振幅導出値を算出する（同図の（ｇ）参照）。この振幅導出値は、ノックウインドウの後半におけるノックセンサ出力を、その前半におけるノックセンサ出力に対して、相対的に大にした値であり、これは、ノッキングが発生したときのノックセンサ７７の信号波形は、ノッキングが発生していないときのノックセンサ７７の信号波形に比べて減衰し難いことに対応している。
【００５４】
そうして算出した振幅導出値の、ノックウインドウ内における積分値を算出する（同図の（ｈ）参照）。その積分値ｋｎｋｓｕｍは、ノックウインドウの後半におけるセンサ出力が大きいほど大きくなり、ノックウインドウの後半におけるセンサ出力が小さいときには小さくなるため、ノッキングが発生したときのノックセンサ７７の信号波形は減衰し難いという点を反映する値になる。この値が予め設定したしきい値よりも大きいときに、ノッキングが発生したと判定することによって、ノッキングの発生の有無を、精度良く判定することが可能になる。
【００５５】
次に、図６のフローチャートを参照しながら、前記エンジン制御器１００が実行するノッキング判定の手順について説明する。
【００５６】
先ずステップＳ６１では、ノックセンサ信号を読み込む（ａｋｎｋ）。続くステップＳ６２では、ノックセンサ信号ａｋｎｋに対して、バンドパスフィルタ処理を施す（ｋｎｋｂｐｆ）。
【００５７】
ステップＳ６３では、ノックウインドウがオープンであるか否かを判定し、オープンであるのＹＥＳのときには、ステップＳ６４に移行し、オープンでないのＮＯのときには、ステップＳ６５に移行する。
【００５８】
ステップＳ６４では、バンドパスフィルタ処理後のノックセンサ出力に対して、重み付け関数ｇ（ｔ）（但し、ｔは時間）をかけて重み付けをすると共に、その値を積算する（ｋｎｋｓｕｍ）。そうしてステップＳ６１に戻り、そのステップＳ６１〜Ｓ６４を繰り返す。これによって、ノックウインドウがクローズするまで、重み付けをしたノックセンサ出力の積算が継続される。
【００５９】
ステップＳ６３でノックウインドウがオープンでないと判定され、ステップＳ６５に移行したときには、そのステップＳ６５において、積算値ｋｎｋｓｕｍが、予め設定した所定値（しきい値）よりも大きいか否かを判定する。積算値ｋｎｋｓｕｍが所定値よりも大きいのＹＥＳのときには、ステップＳ６６に移行してノッキングと判定し、ステップＳ６７に移行する。積算値ｋｎｋｓｕｍが所定値以下であるのＮＯのときには、ステップＳ６６に移行することなく、ステップＳ６７に移行し、そこで積算値ｋｎｋｓｕｍを０にリセットした上で、ステップＳ６１に戻る。
【００６０】
ステップＳ６６においてノッキングが判定されなかった場合には、図２のステップＳ２６において「ノッキングなし」の判定がなされ、ステップＳ２７で点火進角補正値ＳＡＣが所定量ｄＳＡＣだけ増加されて、ステップＳ２９で点火時期ＳＡが進角される。一方、ステップＳ６６でノッキングが判定された場合には、図２のステップＳ２６で「ノッキングあり」の判定がなされ、ステップＳ２８で点火進角補正値ＳＡＣが所定量ｄＳＡＣだけ増加されて、ステップＳ２９で点火時期ＳＡが遅角される。つまり、ノッキングが生じない範囲で、点火時期が進角される。これにより、エンジン運転効率ができるだけ高められる。
【００６１】
次に、前記のノッキング判定の精度を評価した結果について、図７を参照しながら説明する。ここでは、エンジン１の各種運転状態において、筒内圧とノックセンサ出力とを対応付けたデータを１０００個取得し、そのデータに対して、３種類のノッキング判定手法をそれぞれ適用した。そうして、それらの手法の判定精度を互いに比較した。
【００６２】
同図の（ａ）は、ノックセンサの出力（バンドパスフィルタ処理後の出力を意味し、以下同じである）の最大値に基づいて、ノッキングの発生の有無を判定する手法に対応する。同図（ａ）は、横軸を筒内圧の変動量とし、縦軸をノックセンサの出力最大値とした平面に、前記１０００個のデータをプロットした分布図を示している。
【００６３】
同図の（ｂ）は、ノックセンサ出力の、ノックウインドウにおける積算値に基づいて、ノッキングの発生の有無を判定する手法に対応する。同図（ｂ）は、横軸を筒内圧の変動量とし、縦軸をノックセンサ出力の積算値とした平面に、前記１０００個のデータをプロットした分布図を示している。
【００６４】
同図の（ｃ）は、ノックセンサ出力に重み付け関数を乗算した振幅導出値の、ノックウインドウにおける積算値に基づいて、ノッキングの発生の有無を判定する手法に対応する。同図の（ｃ）は、横軸を筒内圧の変動量とし、縦軸を振幅導出値の積算値とした平面に、前記１０００個のデータをプロットした分布図を示している。
【００６５】
前記（ａ）〜（ｃ）のぞれぞれにおいて、白丸は、筒内圧のデータに基づいてノッキングが発生したと判定されたデータであるのに対し、黒点は、ノッキングが発生していないと判定されたデータである。また、一点鎖線は、ノッキングが発生した場合がすべて含まれるように設定した判定しきい値に相当する。つまり、（ａ）〜（ｃ）のぞれぞれにおいて、一点鎖線よりも上の点はすべて、ノッキングが発生したと判定されることになる。
【００６６】
先ず、同図（ａ）について見ると、ノックセンサの出力最大値に基づいてノッキングの発生の有無を判断する手法では、ノッキングが発生していない場合も、ノッキングが発生したと判定してしまう誤判定が増えてしまう。具体的に、同図（ａ）の例においては、７３点もの誤判定が発生している。
【００６７】
次に、同図（ｂ）について見ると、ノックセンサ出力の積算値に基づいてノッキングの発生の有無を判定する手法では、誤判定が２５点発生しており、前記（ａ）に比べて誤判定が減少している。
【００６８】
次に、同図（ｃ）について見ると、振幅導出値の積算値に基づいてノッキングの発生の有無を判定する手法では、誤判定は６点のみであり、誤判定は、ほとんど発生していない。
【００６９】
従って、重み付け関数によって振幅導出値を算出し、それの積分値に基づいてノッキング判定を行う、本実施形態に係るノッキング判定では、誤判定を防止して、その判定精度を大幅に向上させることができる。
【００７０】
尚、重み付け関数は、図５（ｆ）に示す関数に限らない。重み付け関数は、ノックウインドウの後半の値が、前半の値よりも大である関数であればよい。例えばノックウインドウの前半は一定値となるようにしてもよい。また逆に、ノックウインドウの後半が一定値となるようにしてもよい。また一例として、例えば図８に示すように、ステップ状の関数を設定してもよい。
【産業上の利用可能性】
【００７１】
以上説明したように、本発明は、判定精度を向上させることができるから、内燃機関の異常燃焼を検出する方法として有用である。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施形態に係るエンジン・システムの概略構成図である。
【図２】エンジン制御に係るフローチャートである。
【図３】ノッキングが発生した場合の、筒内圧の変動及びノックセンサの出力波形の一例を示す図である。
【図４】ノッキングが発生していない場合の、筒内圧の変動及びノックセンサの出力波形の一例を示す図である。
【図５】ノッキングの発生の有無を判定する手順に係る各波形を示す図である。
【図６】ノッキングの発生の有無を判定する手順に係るフローチャートである。
【図７】ノッキングの発生の有無を判定する各種手法の判定精度を比較するための図である。
【図８】重み付け関数の別の例を示す図である。
【符号の説明】
【００７３】
１    エンジン（火花点火式内燃機関）
１００  エンジン制御器（コンピュータ）
【図１】
2009174459.tif 000003
【図２】
2009174459.tif 000004
【図３】
2009174459.tif 000005
【図４】
2009174459.tif 000006
【図５】
2009174459.tif 000007
【図６】
2009174459.tif 000008
【図７】
2009174459.tif 000009
【図８】
2009174459.tif 000010