(57)【特許請求の範囲】
【請求項１】
内燃機関の振動に基づく振動波形信号を出力するノックセンサと、このノックセンサからの出力信号に基づいてバックグランドレベルを更新し、前記バックグランドレベルの変化量とノック判定値とを比較することによりノックの発生を検出する制御部を備えた内燃機関のノック制御装置であって、前記制御部において、
前記バックグランドレベルは、前記ノックセンサからの出力信号の一次フィルタ演算により算出され、これが、
今回バックグランドレベル＝フィルタ係数×前回バックグランドレベル＋（１−フィルタ係数）×ノックセンサからの出力信号
で演算される場合、
（１−フィルタ係数）／（１＋フィルタ係数）×ノックが発生していない場合の前記ノックセンサからの出力信号の変化量の最大値、
を前記ノック判定値とすることを特徴とする内燃機関のノック制御装置。
【請求項２】
前記ノックが発生していない場合のノックセンサからの出力信号の変化量の最大値は、内燃機関の回転数に依存して設定されることを特徴とする請求項１に記載の内燃機関のノック制御装置。
【請求項３】
前記制御部は、前記バックグランドレベルの変化量と前記ノック判定値との比較におけるノック発生の検出が、所定時間内に所定回成立する場合を、ノックの発生を検出、であるとし、かつ、前記所定時間は、連続したノック発生を許容できる時間の最小値以下、とすることを特徴とする請求項１または請求項２に記載の内燃機関のノック制御装置。
【請求項４】
前記ノックセンサからの出力信号は、前記ノックセンサの出力信号のピークホールド値であることを特徴とする請求項１〜請求項３のいずれか１項に記載の内燃機関のノック制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、検出した内燃機関のノック信号に基づいてバックグランドレベルを算出し、バックグランドレベルの変化量とノック判定値とを比較してノック判定を行うノック制御部を備えた内燃機関のノック制御装置に関するものである。
【背景技術】
【０００２】
ガソリンを燃料とするエンジン等では、燃焼行程において、点火プラグからの火花でシリンダ内の混合気を着火させて燃焼させるが、着火後の火炎伝播の途中でシリンダ内の圧力が異常に高くなった場合には、火炎伝播が終了する前に混合気の未燃焼部分が自己着火するノックが発生することがある。そして、このノックが発生すると、乗員に違和感を与える振動が発生する、最悪の場合は、ピストン上面が溶損しエンジンが故障する、などの問題がある。
【０００３】
そこで、従来から、ノック発生時には、点火プラグの点火時期を遅角（リタード）させることでノックを解消し、最適なトルクや燃費を実現するノック制御が提案されている。
このノック制御では、ノックの発生を検出するために、シリンダブロックにノックセンサと呼ばれる振動検出センサが取り付けられており、このノックセンサで検出したエンジンの振動波形を解析することでノック発生の有無を判定している。
【０００４】
具体的には、もしノックが発生すれば振動波形が得られる点火後の所定のクランク角度範囲を、ノック判定期間とし、このノック判定期間内において、ノックセンサからの出力信号をＡ／Ｄ変換し、ピーク値をこのノック判定期間でのピークホールド値とする。そして、ピークホールド値をなまし処理することにより、バックグランドレベルを算出する。また、このバックグランドレベルを所定倍（例えば２倍）するなどしてノック判定値を設定する。
【０００５】
そして、このノック判定値とピークホールド値とを比較し、ピークホールド値がノック判定値を超えている場合にはノッキングが発生していると判定して、点火プラグの点火時期を遅角させる等のノックの解消動作を行うようにしている。
【０００６】
特許文献１では、バックグランドレベルの更新量に上限値を設けることで安定化を図りつつ、時間あたりの燃料噴射量の変化量やスロットル開度の変化量が大きくなる程、更新量上限値を大きくして、バックグランドレベルがピークホールド値へ早く収束するようにしている。
【０００７】
この目的は、エンジンの負荷が上がると、ノックが発生していない場合もピークホールド値が大きくなるが、なまし処理や更新量制限処理により安定化を続けていては、バックグランドレベルがすぐには上昇せず、結果、ノック判定値が過小となり、ノックを誤判定してしまう、という事象に対する対策である。
【０００８】
一方で、エンジンの負荷が上がったとき、ノックが発生する場合もあり、また、場合によっては、非常に強いノックが連続して発生する場合がある。このような状態（以下、ノック多発状態と呼ぶことにする。）になった場合、すみやかに点火時期を遅角し、ノックを解消する必要がある。
【０００９】
特許文献１においては、図１に示すように、負荷変化時にバックグランドレベルを早く追従させてしまうため、ノック判定値も早く上昇してしまい、結果、非常に強いノック信
号であっても、これをノックと判定できない。すると、上記のようなノック多発状態から離脱できず、ノックが発生し続け、エンジンに重篤な影響が発生してしまう。
【００１０】
また、上記を解決するため、図２に示すように、更新量上限値を適切に調整して、バックグランドレベルの追従を適正化することで、負荷変化時の追従性とノック多発状態の検出を両立させる方法もある。しかし、バックグランドレベルの変化が更新量上限値を下回るようにエンジンの負荷が徐々に上昇した場合は、図３に示すように、ノックを検出できず、ノック多発状態から離脱できない。
【００１１】
つまり、ピークホールド値をもとにノック判定値を生成し、ピークホールド値と比較してノックを検出する方法は、負荷が変化する過渡時には有効であるが、この方法だけでは、ノック多発状態の検出に漏れが生じる。従って、ピークホールド値に依存しないノック判定値を用いたノック検出方法が必要となる。これを、上記のピークホールド値に依存する方法に対比させて、定常時のノック検出方法と呼ぶことにすると、このような定常時のノック検出技術として、従来より下記の特許文献２〜特許文献４が提案されている。
【００１２】
特許文献２は、包絡線検波により、ノック信号の包絡線の傾きを取り出し、ノック時とそれ以外の傾きの違いを利用して、ノック検出を行っている。
【００１３】
特許文献３は、ノック信号が基準値以上、平均勾配が基準値以上、を条件とするノック検出を行っている。
【００１４】
特許文献４は、ノックが発生しえない点火前の所定期間中のピークホールド値と、回転数及び負荷で定める係数の積をノック判定値とし、ノック検出を行っている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特許第４３１２１６４号公報
【特許文献２】特開昭５８−８０５３９号公報
【特許文献３】特許第１６２４６７８号公報
【特許文献４】特開昭５８−１０８４３４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
上記のように、定常時に適用できるノック検出方法として、特許文献２から特許文献４までの方法が提案されているが、いずれも、以前のノック検出システムが対象であったため、近年の仕様である、バックグランドレベルがノック信号の１次フィルタ演算結果として定義されるノック検出システムに適用するとき、それぞれ、次のような問題が生じる。
【００１７】
特許文献２では、包絡線検波を行い、包絡線の勾配によりノック検出を行う技術が提案されているが、本願の技術の適用対象となる、バックグランドレベルがノック信号の１次フィルタ演算結果として定義されているノック検出システムに適用するためには、包絡線検波回路が新規に必要となる、又は、ノックセンサからの出力信号をＡ／Ｄ変換後、ソフトウエア的に包絡線検波と等価な処理を行う必要があり、検波回路のコスト、包絡線検波と等価なソフトウエア処理によるＣＰＵ負荷増、が問題となる。
【００１８】
特許文献３では、平均勾配や、継続時間によるノック検出を行う技術が提案されているが、これらの判定値の具体的な設定方法が提示されていない。このため、ノック多発状態はノック検出し、単発ノックなどノック多発状態以外は検出しない、という定数設定方法が不明である。また、ソフトウエア的に平均勾配や継続時間を演算する必要があるため、
ＣＰＵ負荷増の問題もある。
【００１９】
特許文献４では、ピークホールド値と係数の積であるノック判定値は、実際にノックが発生している時のピークホールド値の最小値となるように、係数が設定される。
つまり、実際にノックが発生している時のピークホールド値の最小値がノック判定値である。ところが、このような値を実際のエンジンで計測することは困難である。なぜなら、定常時のノック多発状態の検出に適用するためには、ノック多発状態という連続した強いノック状態を継続しながらデータ計測を行い、かつ、これを様々な内燃機関の運転状態、負荷にて計測し、最小値を設定する必要がある。このような評価を行うと、エンジンを損傷させるため、損傷が進行する中で取得されたデータは、計測開始からどこまでが信頼できるデータなのか、という信頼性の問題も生じる。さらには、損傷したエンジンを修理したり、複数のエンジンで評価を行うこととなり、コスト上にも問題が生じる。
【００２０】
この発明は、上記のような従来技術の問題点を解決するためになされたもので、この発明を適用するための新たなデータの取得が不要で、設定工数が増加せず、また追加される処理が少なく、ＣＰＵ負荷も増加させることのない、低コストで、正確なノック検出が可能な内燃機関のノック制御装置を提供することを目的とする。
【課題を解決するための手段】
【００２１】
この発明に係る内燃機関のノック制御装置は、内燃機関の振動に基づく振動波形信号を出力するノックセンサと、このノックセンサからの出力信号に基づいてバックグランドレベルを更新し、前記バックグランドレベルの変化量とノック判定値とを比較することによりノックの発生を検出する制御部とを備えた内燃機関のノック制御装置であって、前記制御部において、前記バックグランドレベルは、前記ノックセンサからの出力信号の一次フィルタ演算により算出され、これを、
今回バックグランドレベル＝フィルタ係数×前回バックグランドレベル＋（１−フィルタ係数）×ノックセンサからの出力信と表記する場合、
（１−フィルタ係数）／（１＋フィルタ係数）×ノックが発生していない場合のノックセンサからの出力信号の変化量の最大値、を、前記ノック判定値とするようにしたものである。
【発明の効果】
【００２２】
この発明の内燃機関のノック制御装置によれば、ノックセンサからの出力信号の変化量の最大値Ｌは、ノックが発生していない場合のデータから設定するため、ノックが発生していない場合のピークホールド値の変化量という、通常のノック適合時に測定するデータから設定できる。従って、本発明を適用するための新たなデータ取得が不要で、設定工数が増大しない。
また、ノックが発生していない内燃機関の運転状態で測定するため、内燃機関を損傷させたり、データの信憑性が不明、という問題も生じない。
さらに、追加される処理は少なく、ＣＰＵ負荷も増加することはなく、また、包絡線検波回路のような、回路の追加も不要であり、従って、低コストで、正確なノック検出が可能な内燃機関のノック制御装置を得ることができる。
【００２３】
上述した、またその他の、この発明の目的、特徴、効果は、以下の実施の形態における詳細な説明および図面の記載からより明らかとなるであろう。
【図面の簡単な説明】
【００２４】
【図１】ノック検出を説明するタイミングチャートであって、ノック多発状態をノックと判定できない場合の例を示す図である。
【図２】ノック検出を説明するタイミングチャートであって、ノック多発状態をノックと判定する場合の例を示す図である。
【図３】ノック検出を説明するタイミングチャートであって、ノック多発状態をノックと判定できない場合の例を示す図である。
【図４】ノック検出を説明するタイミングチャートであって、ピークホールド値の変化量が最も大きな場合を示す図である。
【図５】この発明の実施の形態１における、ピークホールド値の変化量の最大値Ｌの適合方法を示す図である。
【図６】この発明の実施の形態２における、ピークホールド値の変化量の最大値Ｌの適合方法を示す図である。
【図７】この発明の実施の形態１による内燃機関のノック制御装置を適用した内燃機関を概略的に示す構成図である。
【図８】この発明の実施の形態１における、内燃機関のノック制御装置の構成を示すブロック図である。
【図９】この発明の実施の形態１における、内燃機関のノック制御装置のノック制御部の構成を示すブロック図である。
【図１０】この発明の実施の形態１における内燃機関のノック制御装置のノック制御部のフローチャートである。
【図１１】この発明の実施の形態２における、ピークホールド値の変化量の最大値Ｌを定義する適合値の一例を示す図である。
【図１２】この発明の実施の形態２における、ピークホールド値の変化量の最大値Ｌ算出するステップのフローチャートである。
【図１３】この発明の実施の形態３における、連続ノック時の定常ノック判定の動作を説明するタイミングチャートである。
【図１４】この発明の実施の形態３における、非連続ノック時の定常ノック判定の動作を説明するタイミングチャートである。
【図１５】この発明の実施の形態３における、内燃機関のノック制御装置のノック制御部のフローチャートである。
【図１６】この発明の実施の形態３における、内燃機関のノック制御装置のノック制御部の初期化のフローチャートである。
【発明を実施するための形態】
【００２５】
実施の形態１．
最初にこの発明の基本的な概念を説明し、その後、図面を参照してこの発明の実施の形態１による内燃機関のノック制御装置について具体的に詳述する。
【００２６】
この発明のノック制御装置においては、バックグランドレベルはノックセンサからの出力信号の１次フィルタ演算結果として定義されるため、以下の式（１）で定義されるものとする。
ＶＢＧＬ（ｎ）＝Ｋ×ＶＢＧＬ（ｎ−１）＋（１−Ｋ）×ＶＰ（ｎ）・・・式（１）
但し、ＶＢＧＬ（ｎ）：バックグランドレベル
ＶＰ（ｎ）：ピークホールド値
Ｋ：フィルタ係数
ｎ：処理タイミング（離散時間）
【００２７】
なお、ノックセンサからの出力信号を、ノックセンサからのピークホールド値として以下説明を行うが、ノックセンサの出力信号のピークホールド値は、ノックセンサの出力信号の積分値（振動中心より高電位側の面積）でもよい。要はノックセンサの出力信号に応
じた値であればよく、本発明を適用する対象のノック制御装置が定義する信号のままでよい。また、フィルタ係数Ｋは、定数、あるいは、内燃機関の回転数に依存する値、など、本発明を適用する対象のノック制御装置が定義するフィルタ係数Ｋのままでよい。
【００２８】
このとき、ノックの発生していない、内燃機関の様々な運転状態や負荷における、ピークホールド値のデータを測定し、その変化量の最大値Ｌを得ておく。そして、バックグランドレベルの変化量ΔＶＢＧＬ（ｎ）を、以下の式（１−１）と定義し、
ΔＶＢＧＬ（ｎ）＝ＶＢＧＬ（ｎ）−ＶＢＧＬ（ｎ−１）・・・・式（１−１）
ノック判定値ＶＴＨを、以下の式（１−２）と定義する。
ＶＴＨ＝（１−Ｋ）／（１＋Ｋ）×Ｌ・・・・・式（１−２）
【００２９】
また、ノック強度ＶＫ（ｎ）を、以下の式（１−３）と定義し、
ＶＫ（ｎ）＝ΔＶＢＧＬ（ｎ）−ＶＴＨ・・・・式（１−３）
ＶＫ（ｎ）＞０であれば、ノック発生ありと判定し、それ以外をノック発生なし、とする。
【００３０】
ここで、上記式（１−１）のバックグランドレベルの変化量ΔＶＢＧＬ（ｎ）の定義
ΔＶＢＧＬ（ｎ）＝ＶＢＧＬ（ｎ）−ＶＢＧＬ（ｎ−１）
に、式（１）を適用すると、
ΔＶＢＧＬ（ｎ）＝Ｋ（ｎ）×ＶＢＧＬ（ｎ−１）＋（１−Ｋ（ｎ））×ＶＰ（ｎ）
−Ｋ（ｎ−１）×ＶＢＧＬ（ｎ−２）−（１−Ｋ（ｎ−１））
×ＶＰ（ｎ−１）
となる。
なお、フィルタ係数Ｋは、本発明の適用対象にて定義されているため、処理タイミングに依存する場合があり、Ｋ（ｎ）と表記している。
【００３１】
フィルタ係数Ｋ（ｎ）が、仮に、内燃機関の運転状態や負荷に応じて設定されていたとしても、本発明で検討するのは定常状態であるから、
Ｋ（ｎ）＝Ｋ（ｎ−１）
と仮定する。また、Ｋ（ｎ）の処理タイミングがｎのみとなったので、Ｋと表記する。
すると、上式は、
ΔＶＢＧＬ（ｎ）＝Ｋ×ΔＶＢＧＬ（ｎ−１）＋（１−Ｋ）×ΔＶＰ（ｎ）
となる。但し、
ΔＶＰ（ｎ）＝ＶＰ（ｎ）−ＶＰ（ｎ−１）
である。
【００３２】
ここで、ピークホールド値の変動は、その変化速度が最も早い場合、すなわち、変動周期が２処理タイミングである図４のような場合を考えると、
ΔＶＢＧＬ（ｎ）＝−ΔＶＢＧＬ（ｎ−１）
の関係が成立するから、上式は、
ΔＶＢＧＬ（ｎ）＝（１−Ｋ）／（１＋Ｋ）×ΔＶＰ（ｎ）・・・・・式（２）
となる。
【００３３】
ここで、ΔＶＰ（ｎ）の代わりに、ノックが発生していない場合のピークホールド値の変化量ΔＶＰ（ｎ）の最大値をＬと設定すれば、各処理タイミングｎにおいて、ノックが発生しない場合は、以下の式（２−１）が成立する。
ΔＶＢＧＬ（ｎ）≦（１−Ｋ）／（１＋Ｋ）×Ｌ・・・・式（２−１）
すなわち、（１−Ｋ）／（１＋Ｋ）×Ｌは、ノックが発生していない場合のバックグランドレベルの変化量の最大値となる。
【００３４】
ここで、Ｌの設定方法は、前述のように、ノックの発生していない、様々な内燃機関の運転状態や負荷における、ピークホールド値の変化量データを取得し、その最大値をＬとするのであるが、具体的には、図５を用いて説明する。
【００３５】
図５は、様々な内燃機関の運転状態や負荷におけるピークホールド値の変化量（増加側、すなわち＋側、のみを表示）の測定結果から、ノックの発生がなかった場合、ノック多発状態だった場合、の２つを抽出し、それぞれについて、内燃機関の回転数ｎｅでさらに分類し、それぞれの場合における、ピークホールド値の変化量の最大値をグラフ化した模式図である。
【００３６】
ピークホールド値の変化量の最大値Ｌは、ノックの発生がなかった場合のピークホールド値の変化量の最大値であるから、図５内のＰのデータにより定められる。
すなわち、全ての運転状態や負荷において、ノックが発生しなければ、ピークホールド値の変化量は、常にＬ以下の値となる。
【００３７】
よって、式（２）において、ΔＶＰ（ｎ）の代わりに、ピークホールド値の変化量の最大値Ｌをおけば、ノックが発生していない場合のバックグランドレベルの変化量ΔＶＢＧＬ（ｎ）の最大値として、（１−Ｋ）／（１＋Ｋ）×Ｌが得られることになる。
【００３８】
以上のことから、バックグランドレベルの変化量ΔＶＢＧＬ（ｎ）に対する判定値として、（１−Ｋ）／（１＋Ｋ）×Ｌを設定すれば、ノックではない場合は、判定値はバックグランドレベルの変化量ΔＶＢＧＬ（ｎ）より常に大きいため、ノックと判定することはない。逆に、バックグランドレベルの変化量ΔＶＢＧＬ（ｎ）が判定値より大きければ、ノックであると判定できる。
【００３９】
一方、ノックが発生しているとき、必ずしもΔＶＢＧＬ（ｎ）が判定値（１−Ｋ）／（１＋Ｋ）×Ｌより大きいとは言えないが、Ｌの設定方法から、ノック発生中のあるタイミングでは、ΔＶＢＧＬ（ｎ）は判定値より大きくなり、ノックと検出できることが期待される。特に、ノック多発状態は、ピークホールド値の変化量が大きいため、ΔＶＢＧＬ（ｎ）は判定値より大きくなり、ノックと判定することができる。
【００４０】
次に、以上の基本的概念を具体化したこの発明の実施の形態１による内燃機関のノック制御装置について、図面を参照して、詳細に説明する。
図７は、この発明の実施の形態１による内燃機関のノック制御装置を適用した内燃機関を概略的に示す構成図である。なお、自動車等車両用の内燃機関は、通常、複数のシリンダ及びピストンを備えているが、図７では説明の便宜上、一つのシリンダ及びピストンのみを示している。
【００４１】
図７において、内燃機関１の吸気系１００には、上流側から、吸入空気流量を測定しその測定値に対応した吸入空気流量信号を出力するエアフローセンサ２、電子的に開度が制御されて吸気系１００の吸入空気流量を調整する電子制御式スロットルバルブ３、サージタンクに設けられたインテークマニホールド圧力センサ４（以下、インマニ圧センサと称する）、が設けられ、インテークマニホールド５を介して内燃機関１の複数のシリンダに連結されている。
【００４２】
スロットル開度センサ６は、電子制御式スロットルバルブ３の開度を測定し、その測定
値に対応したスロットルバルブ開度信号を出力する。なお、電子制御式スロットルバルブ３の代わりに、図示しないアクセルペダルに直接ワイヤで繋がれた機械式スロットルバルブを用いてもよい。
【００４３】
インマニ圧センサ４は、インテークマニホールド５内の吸気圧を測定し、その測定値に対応するインテークマニホールド圧力信号（以下、インマニ圧信号と称す）を出力する。なお、この実施の形態１では、エアフローセンサ２とインマニ圧センサ４との両方を設けているが、何れか一方のみを設けるようにしても良い。
【００４４】
インテークマニホールド５の吸気ポートには、燃料を噴射するインジェクタ７が設けられている。なお、インジェクタ７は内燃機関１のシリンダ内に直接噴射できるように設けられてもよい。
【００４５】
内燃機関１のシリンダヘッドには、シリンダ内の混合気に点火するための点火コイル８と、この点火コイル８と接続された点火プラグ９が設けられている。又、内燃機関１のクランク軸には、周面に定められた間隔で設置された複数のエッジを備えたプレート１０が設けられている。クランク角センサ１１は、プレート１０のエッジに対向して設けられ、クランク軸と共に回転するプレート１０のエッジを検出し、夫々のエッジの設置間隔に同期したパルス信号を出力する。内燃機関１に設けられたノックセンサ１２は、内燃機関１の振動に基づく振動波形信号を出力する。
【００４６】
内燃機関１の排気系１０１には、排気ガス中の酸素濃度を測定する酸素濃度センサ１３、排気ガスを浄化する触媒装置１４が設けられている。
【００４７】
図８は、この発明の実施の形態１による内燃機関のノック制御装置の構成を示すブロック図である。図８において、内燃機関１の電子制御ユニット１５（以下、ＥＣＵと称する）は、マイクロコンピュータ等の演算装置により構成され、エアフローセンサ２から出力された吸入空気流量信号と、インマニ圧センサ４から出力されたインマニ圧信号と、スロットル開度センサ６から出力されたスロットルバルブ開度信号と、クランク角センサ１１から出力されたプレート１０のエッジの設置間隔に同期したパルス信号と、ノックセンサ１２から出力された内燃機関１の振動波形信号と、酸素濃度センサ１３から出力された排気ガス中の酸素濃度信号が、夫々入力される。
【００４８】
又、ＥＣＵ１５には、前述の各信号以外の図示していない他の各種センサからも夫々の測定値に対応した信号が入力され、更に、例えば、自動変速機制御システム、ブレーキ制御システム、トラクション制御システム等の他のコントローラからの信号も入力される。
【００４９】
ＥＣＵ１５は、図示しないアクセル開度や内燃機関１の運転状態等を基にして目標スロットル開度を算出し、その算出した目標スロットル開度に基づいて電子制御式スロットルバルブ３の開度を制御する。又、ＥＣＵ１５は、内燃機関１の運転状態に応じて、目標空燃比を達成するようにインジェクタ７を駆動して燃料噴射量を制御し、更に、目標点火時期を達成するように点火コイル８への通電を制御して点火時期を制御する。
【００５０】
又、ＥＣＵ１５は、後述のようにして内燃機関１のノックを検出した場合には、目標点火時期を遅角側に設定することでノックの発生を抑制する制御も行う。更に、前述以外の各種アクチュエータを制御するための指示値を算出し、その指示値に基づいて各種アクチュエータを制御する。
【００５１】
次に、ＥＣＵ１５内に構成されているノック制御部の構成、及びその動作について説明する。図９は、この発明の実施の形態１による内燃機関のノック制御装置における、ノッ
ク制御部の構成を示すブロック図である。
図９において、ＥＣＵ１５内に構成されたノック制御部は、Ｉ／Ｆ回路とマイクロコンピュータ１６から構成されている。Ｉ／Ｆ回路は、ノックセンサ１２から出力された内燃機関１の振動波形信号を受け、その振動波形信号から高周波成分を除去するローパスフィルタ（以下、ＬＰＦと称する）１７により構成されている。
【００５２】
マイクロコンピュータ１６は、全体としては、アナログ信号をデジタル信号に変換するＡ／Ｄ変換器と、制御プログラムや制御定数を記憶しておくＲＯＭ領域と、プログラムを実行した際の変数を記憶しておくＲＡＭ領域等から構成されているが、ノック制御部の構成としては、Ａ／Ｄ変換部１８と、ＤＦＴ処理部１９と、ピークホールド部２０と、２１のフィルタ係数Ｋと、１次フィルタ演算部２２と、過渡判定値演算部２３と、過渡比較演算部２４と、２５のピークホールド値の変化量の最大値Ｌと、定常判定値演算部２６と、定常比較演算部２７と、ノック補正量演算部２８とを備える。
このうち、２５のピークホールド値の変化量の最大値Ｌと、定常判定値演算部２６と、定常比較演算部２７が、本発明による新規部分で、ノック補正量演算部２８は本発明の適用元となる制御に変更を加える部分、それ以外は、本発明の適用元となる制御の部分となる。
【００５３】
ＬＰＦ１７は、前述のように、ノックセンサ１２から出力された内燃機関１の振動波形信号を受け、その振動波形信号から高周波成分を除去するが、Ａ／Ｄ変換部１８にて全振動成分を取り込むために、例えば、２．５Ｖのバイアスを加えることにより、振動成分の中心を２．５Ｖにしておき、２．５Ｖを中心として、０Ｖ〜５Ｖの範囲に振動成分が収まるように構成されている。なお、ＬＰＦ１７には、ノックセンサ１２からの振動波形信号の振動成分が小さい場合には、２．５Ｖを中心に増幅し、大きい場合には２．５Ｖを中心に減少させるゲイン変換機能も含まれている。
【００５４】
Ａ／Ｄ変換部１８は、Ｉ／Ｆ回路により高調波成分が除去されたノックセンサからの振動波形信号をデジタル信号に変換する。このＡ／Ｄ変換部１８によるＡ／Ｄ変換は、一定の時間間隔、例えば、１０μｓや２０μｓ毎に実行される。
【００５５】
なお、Ａ／Ｄ変換部１８は、ＬＰＦ１７からのアナログ信号に対して常時Ａ／Ｄ変換を行い、内燃機関１にノックが発生する期間、例えば、ピストンの上死点（Top Death Center以下、ＴＤＣと称する）から上死点後（After Top Death Center以下、ＡＴＤＣと称する）５０°ＣＡに設定されたノック検出期間のデータのみをＤＦＴ処理部１９へ送るようにしても良く、あるいは、例えばＴＤＣからＡＴＤＣ５０°ＣＡに設定されたノック検出期間のみＡ／Ｄ変換を行い、そのデータをＤＦＴ処理部１９へ送るようにしても良い。
【００５６】
ＤＦＴ処理部１９は、Ａ／Ｄ変換部１８からのデジタル信号に対して、時間−周波数解析を行う。具体的には、例えば、離散フーリエ変換（ＤＦＴ）若しくは短時間フーリエ変換（ＳＴＦＴ）の処理により、所定時間毎のノック固有周波数成分のスペクトル列を算出する。なお、ＤＦＴ処理部１９によるデジタル信号処理としては、無限インパルス応答（ＩＩＲ）フィルタや有限インパルス応答（ＦＩＲ）フィルタを用いてノック固有周波数成分を抽出するようにしてもよい。
【００５７】
ＤＦＴ処理部１９は、Ａ／Ｄ変換部１８による前述のノック検出期間におけるＡ／Ｄ変換の完了後に処理を開始し、後述するピークホールド部２０からノック補正量演算部２８による処理を実施するクランク角同期の割り込み処理、例えば、上死点前（Before Top Death Center以下、ＢＴＤＣと称する）７５°ＣＡでの割込み処理までに処理を終了する
。
【００５８】
ピークホールド部２０では、ＤＦＴ処理部１９にて算出したスペクトル列のピークホールド値を算出する。２１のフィルタ係数Ｋは、１次フィルタ演算部２２と定常判定値演算部２６へＫの値を出力する。フィルタ係数Ｋは、前述のように、本発明を適用する対象のノック制御装置が定義するフィルタ係数Ｋのままでよい。例えば、定数であれば０．９とする。
【００５９】
１次フィルタ演算部２２は、ピークホールド部２０により算出されたピークホールド値に対する１次フィルタ演算を、２１のフィルタ係数Ｋを用いて、前述の式（１）に従い行う。この値をバックグランドレベルとする。
【００６０】
過渡判定値演算部２３は、次に示す式（３）により、過渡ノック判別値を算出する。
ＶＴＨｔ（ｎ）＝ＶＢＧＬ（ｎ）×Ｋｔｈ＋Ｖｏｆｓ・・・・・式（３）
但し、ＶＴＨｔ（ｎ）：過渡ノック判定値
Ｋｔｈ：判定値係数
Ｖｏｆｓ：判定値オフセット
判定値係数Ｋｔｈ、及び、判定値オフセットＶｏｆｓは、ノックが発生しない場合は、過渡ノック判定値ＶＴＨｔ（ｎ）がピークホールド値ＶＰ（ｎ）より大きく、ノックが発生した場合は、過渡ノック判定値ＶＴＨｔ（ｎ）がピークホールド値ＶＰ（ｎ）より小さくなるよう、あらかじめ適合された値である。これらも、本発明を適用する対象のノック制御装置が定義する値のままでよい。例えば、判定値係数Ｋｔｈ＝２、判定値オフセットＶｏｆｓ＝０、である。
【００６１】
過渡比較演算部２４は、ピークホールド部２０により算出されたピークホールド値ＶＰ（ｎ）と、過渡判定値演算部２３により演算された過渡ノック判定値ＶＴＨｔ（ｎ）とを比較し、次に示す式（４）により、過渡ノック強度ＶＫｔ（ｎ）を算出する。
ＶＫｔ（ｎ）＝ＶＰ（ｎ）−ＶＴＨｔ（ｎ）・・・・・式（４）
但し、ＶＫｔ（ｎ）：過渡ノック強度
【００６２】
２５のピークホールド値の変化量の最大値Ｌは、図５で説明したように、あらかじめ適合された所定値であり、定常判定値演算部２６へ出力する。
【００６３】
定常判定値演算部２６は、２１のフィルタ係数Ｋと２５のピークホールド値の変化量の最大値Ｌとを用いて、次に示す式（５）により、定常ノック判定値ＶＴＨｓを算出する。
ＶＴＨｓ＝（１−Ｋ）／（１＋Ｋ）×Ｌ・・・・・式（５）
但し、ＶＴＨｓ：定常ノック判定値
【００６４】
定常比較演算部２７は、１次フィルタ演算部２２にて算出されたバックグランドレベルＶＢＧＬ（ｎ）の変化量と、定常判定値演算部２６にて算出された定常ノック判定値ＶＴＨｓを比較し、次に示す式（６）により、定常ノック強度ＶＫｓ（ｎ）を算出する。
ＶＫｓ（ｎ）＝ＶＢＧＬ（ｎ）−ＶＢＧＬ（ｎ−１）−ＶＴＨｓ・・・・式（６）
但し、ＶＫｓ（ｎ）：定常ノック強度
【００６５】
ノック補正量演算部２８は、過渡比較演算部２４にて算出した過渡ノック強度ＶＫｔ（ｎ）と、定常比較演算部２７にて算出した定常ノック強度ＶＫｓ（ｎ）とを用いて、ノック補正量θＲ（ｎ）を更新する。
【００６６】
具体的には、まず、過渡ノック強度ＶＫｔ（ｎ）＞０であれば、過渡ノック発生ありと判定し、更新量θｃｈｇ＝−θｒｔｄとする。ＶＫｔ（ｎ）≦０であれば、過渡ノック発生なしと判定し、更新量θｃｈｇ＝θａｄｖとする。
次に、定常ノック強度ＶＫｓ（ｎ）＞０であれば、定常ノック発生ありと判定し、更新量θｃｈｇ＝更新量θｃｈｇ−θｒｔｄｓとする。そして、次に示す式（７）により、ノック補正量θＲ（ｎ）を更新する。
θＲ（ｎ）＝ｍｉｎ（ｍａｘ（θＲ（ｎ−１）＋θｃｈｇ、θｍｉｎ）、θｍａｘ）
・・・・・・式（７）
但し、θＲ（ｎ）：ノック補正量
θｃｈｇ：更新量
θｍｉｎ：ノック補正量の下限値
θｍａｘ：ノック補正量の上限値
ｍｉｎ（Ａ、Ｂ）：ＡとＢの小さい方を選択
ｍａｘ（Ａ、Ｂ）：ＡとＢの大きい方を選択
【００６７】
θｍｉｎ、θｍａｘ、θｒｔｄ、θａｄｖは、本発明を適用する対象のノック制御装置が定義するままでよい。
θｒｔｄｓは、ノック多発状態を解消するために必要な遅角量などを、あらかじめ適合により得た、所定値、あるいは、ＶＫｓ（ｎ）などに依存して定められる値、である。
例えば、３°ＣＡなど、比較的大きな値とし、すみやかに点火時期を遅角する。
【００６８】
ＥＣＵ１５におけるマイクロコンピュータ１６は、前述のようにして演算されたノック補正量θＲ（ｎ）を用いて、次に示す式（８）により、最終点火時期θＩＧ（ｎ）を算出する。
θＩＧ（ｎ）＝θＢ（ｎ）＋θＲ（ｎ）・・・・・・・・・・式（８）
但し、θＩＧ（ｎ）：最終点火時期
θＢ（ｎ）：基本点火時期
θＢ（ｎ）についても、あらかじめ適合により定められた所定値であり、本発明を適用する対象のノック制御装置が定義するままでよい。なお、ノック補正量θＲ（ｎ）、基本点火時期θＢ（ｎ）、最終点火時期θＩＧ（ｎ）の何れも、進角側を正、遅角側を負としている。
【００６９】
以上、ＥＣＵ１５内に構成されているノック制御部の構成について説明した。次に、図１０を用いて、ノック制御部の動作を示す。
図１０は、この発明の実施の形態１による内燃機関のノック制御装置における、ノック制御部のフローチャートである。図１０に示す処理は、前述の通りクランク角同期の割り込み処理、例えば、ＢＴＤＣ７５°ＣＡでの割込み処理、により実施される。
【００７０】
ステップＳ１では、ピークホールド値ＶＰ（ｎ）を算出する。このピークホールド値ＶＰ（ｎ）は、前述のように、ＤＦＴ処理部１９にて算出したスペクトル列の最大値を、ピークホールド部２０にて出力する値である。
【００７１】
ステップＳ２では、フィルタ係数Ｋを算出する。フィルタ係数Ｋは、あらかじめ適合さ
れた定数、あるいは、内燃機関の回転数に依存する値、などである。
【００７２】
ステップＳ３では、ピークホールド値の変化量の最大値Ｌを算出する。実施の形態１においては、ピークホールド値の変化量の最大値Ｌは、図５で説明したように、あらかじめ適合された所定値である。
【００７３】
ステップＳ４では、バックグランドレベルＶＢＧＬ（ｎ）を算出する。
バックグランドレベルＶＢＧＬ（ｎ）は、１次フィルタ演算部２２にて、前述の式（１）にて演算される。
【００７４】
ステップＳ５では、過渡ノック判定値ＶＴＨｔ（ｎ）、定常ノック判定値ＶＴＨｓ、を算出する。過渡ノック判定値ＶＴＨｔ（ｎ）は、過渡判定値演算部２３にて、前述の式（３）にて演算される。定常ノック判定値ＶＴＨｓは、定常判定値演算部２６にて、前述の式（５）にて演算される。
【００７５】
ステップＳ６では、過渡ノック強度ＶＫｔ（ｎ）、定常ノック強度ＶＫｓ（ｎ）、を算出する。過渡ノック強度ＶＫｔ（ｎ）は、過渡比較演算部２４にて、前述の式（４）にて演算される。定常ノック強度ＶＫｓ（ｎ）は、定常比較演算部２７にて、前述の式（６）にて演算される。
【００７６】
ステップＳ７は、前記ステップＳ６で演算された過渡ノック強度ＶＫｔ（ｎ）を０と比較する。０より大きい場合はステップＳ８へ、それ以外はステップＳ９へ進む。このステップＳ７からステップＳ１９までは、ノック補正量演算部２８に含まれる。
【００７７】
ステップＳ８は、過渡ノック発生ありの時であるから、更新量θｃｈｇ＝−θｒｔｄとする。ステップＳ９は、過渡ノック発生なしの時であるから、更新量θｃｈｇ＝θａｄｖとする。
【００７８】
ステップＳ１０は、前記ステップＳ６で演算された定常ノック強度ＶＫｓ（ｎ）を０と比較する。０より大きい場合はステップＳ１４へ、それ以外はステップＳ１９へ進む。
【００７９】
ステップＳ１４は、定常ノック発生ありの時であるから、更新量θｃｈｇ＝θｃｈｇ−θｒｔｄｓとする。
【００８０】
ステップＳ１９は、更新量θｃｈｇをノック補正量θＲ（ｎ）に反映すべく、前述の式（７）にてθＲ（ｎ）を更新する。
【００８１】
ステップＳ２０は、最終点火時期θＩＧ（ｎ）を算出する。最終点火時期θＩＧ（ｎ）は、前述の式（８）にて算出される。そして、θＩＧ（ｎ）に従い点火が実行される。すなわち、ノック判定結果に依存して、進角や遅角した点火時期を実現できる。
【００８２】
以上のように、この発明の実施の形態１の内燃機関のノック制御装置によれば、ノックセンサからの出力信号の変化量の最大値Ｌは、ノックが発生していない場合のデータから設定するため、ノックが発生していない場合のピークホールド値の変化量という、通常のノック適合時に測定するデータから設定できる。従って、本発明を適用するための新たなデータ取得が不要で、設定工数が増大しない。また、ノックが発生していない内燃機関の運転状態で測定するため、内燃機関を損傷させたり、データの信憑性が不明、という問題も生じない。
【００８３】
また、追加される処理は少なく、ＣＰＵ負荷も増加することはない。また、包絡線検波
回路のような、回路の追加も不要であり、従って、低コストで、正確なノック検出が可能な内燃機関のノック制御装置を得ることができる効果がある。
【００８４】
実施の形態２．
この発明の実施の形態２による内燃機関のノック制御装置について説明する。
実施の形態２が実施の形態１と異なるのは、ピークホールド値の変化量の最大値Ｌの算出方法についてだけであるため、この部分のみ説明する。
【００８５】
ピークホールド値の変化量の最大値Ｌは、内燃機関の回転数ｎｅに依存して定義される。Ｌの設定方法は、実施の形態１と同様、ノックの発生していない、様々な内燃機関の運転状態や負荷における、ピークホールド値のデータを取得し、その変化量の最大値を、内燃機関の回転数ｎｅで分類し、テーブルデータとして設定する。これは、図６のＬのことであり、例えば、図１１のように設定される。
【００８６】
図９の２５のピークホールド値の変化量の最大値Ｌにおいて、回転数ｎｅで図１１のテーブルを補間し、その結果を、定常判定値演算部２６における、上記式（５）のＬとして用いる。
【００８７】
図１０のステップＳ３において、ピークホールド値の変化量の最大値Ｌを算出するが、実施の形態２においては、図１２に従い演算する。図１２は、この発明の実施の形態２による内燃機関のノック制御装置における、ノック制御部のピークホールド値の変化量の最大値Ｌを算出するステップのフローチャートである。
【００８８】
図１０のステップＳ２の次に、図１２のステップＳ２１に進む。ステップＳ２１では、内燃機関の回転数ｎｅを用いて、図１１のテーブルを補間し、ピークホールド値の変化量の最大値Ｌを算出する。そして、図１０のステップＳ４へ進み、以下は、実施の形態１と同様に演算を行う。
【００８９】
図６は、図５におけるＬを、内燃機関の回転数ｎｅに応じて設定する場合である。回転数ｎｅが小さい領域では、図６のＬは、図５のＬよりも小さくなる（図６のＱ部分）。
このため、判定値（１−Ｋ）／（１＋Ｋ）×Ｌの値も小さくなり、ノック多発状態のバックグランドレベルの変化量が判定値をより超えやすくなる。つまり、ノック検出がより正確になる。
【００９０】
以上のように、この発明の実施の形態２によれば、ノックが発生していない場合のノックセンサからのピークホールド値の変化量の最大値Ｌを、内燃機関の回転数に応じて設定できるため、回転数によってはＬをより小さな値に設定できる。このため、より確実に、ノック多発状態にノックを検出することができる。
【００９１】
実施の形態３．
この発明の実施の形態３による内燃機関のノック制御装置について説明する。
実施の形態３が実施の形態１と異なるのは、図９でのノック補正量演算部２８の部分、図１０では、定常ノック有無を判定するステップＳ１０からノック補正量θＲ（ｎ）を算出するステップＳ１９までの部分、だけであるため、この変更部分についてのみ説明する。
【００９２】
この実施の形態３においては、図９のノック補正量演算部２８の部分は、定常ノックありの時、「定常ノックあり」の判定を所定処理タイミングＴ１間保留し、その保留時間内に次の定常ノックありの判定が成立する、という繰り替えし回数が所定回Ｔ２となった場合を、実施の形態１での定常ノック判定あり、とする。この保留時間をカウントする保留カウンタと、繰り替えし回数をカウントする発生カウンタとを設ける。
【００９３】
具体的には、図１３を用いて説明する。図１３は、この発明の実施の形態３による内燃機関のノック制御装置における、定常ノック判定の動作を説明するタイミングチャートである。バックグランドレベル、保留カウンタ、発生カウンタ、定常ノック判定、それぞれの動作を、処理タイミングの時系列で示している。処理タイミングＮの時、バックグランドレベルの変化量が定常ノック判定値を超えたタイミングとする。すなわち、
ＶＫｓ（ｎ）＞０が成立したタイミングである。また、Ｔ１＝３、Ｔ２＝３、とする。
【００９４】
保留カウンタは、ＶＫｓ（ｎ）＞０の場合にＴ１にセットされ、それ以外はカウントダウンする。処理タイミングＮ以降、２処理タイミングごとに、バックグランドレベルが定常ノック判定値を超えるため、保留カウンタは、Ｔ１とＴ１−１とを交互に繰り返す動きとなる。
【００９５】
発生カウンタは、ＶＫｓ（ｎ）＞０の場合にカウントダウンし、保留カウンタ＝０の場合にＴ２にセットされ、前記以外はその値を保持する。処理タイミングＮ以降、保留カウンタ＞０であり、かつ、バックグランドレベルが２処理タイミングごとに定常ノック判定値を超えるため、発生カウンタは２処理タイミングごとにカウントダウンする。
Ｔ１＝３、Ｔ２＝３、としているため、Ｎ＋４の処理タイミングの時点で、発生カウンタ＝０となり、そのとき、実施の形態１での定常ノック判定あり、となる。この後も、保留カウンタ＞０、かつ、ＶＫｓ（ｎ）＞０、であるから、発生カウンタ＝０が継続し、すなわち、定常ノック判定ありも継続される。
【００９６】
一方、図１４は、この発明の実施の形態３による内燃機関のノック制御装置における、定常ノック判定の動作を説明するタイミングチャートであり、かつ、保留カウンタ＞０の期間内にＶＫｓ（ｎ）＞０が成立しなかった場合の例である。項目などは図１３と同一である。
【００９７】
図１３と同様、処理タイミングＮの時、バックグランドレベルの変化量が定常ノック判定値を超えたタイミングとする。このとき、保留カウンタ＝Ｔ１、発生カウンタ＝Ｔ２−１、となる。Ｎ＋３の時点で、再びＶＫｓ（ｎ）＞０が成立し保留期間が延長されるが、その後、ＶＫｓ（ｎ）≦０が継続し、Ｎ＋６の時点で、保留カウンタ＝０となり、発生カウンタ＝Ｔ２にセットされ、Ｎの時点から始まった定常ノック判定がやり直しとなる。
【００９８】
上記から、最初のＶＫｓ（ｎ）＞０成立から定常ノック判定の成立まで、最長でＴ１×（Ｔ２−１）の処理タイミングが必要となる。そこで、様々なエンジン運転状態でのノック多発状態において、ノックが発生してからノックを解消しなければならない最短の時間が分かっていれば、Ｔ１×（Ｔ２−１）はその時間よりも短く設定しなければならない。つまり、このようにＴ１とＴ２を設定すれば、定常ノック判定で検出するノックであれば、様々なエンジン運転状態において、ノックを解消しなければならない時間までに、必ずノックを検出し解消できる。
【００９９】
図１５は、この発明の実施の形態３による内燃機関のノック制御装置における、ノック制御部のフローチャートである。これは、実施の形態１における図１０に対応している。図１５と図１０で同じステップ番号は、同一の処理を示している。処理に違いのある、ステップ１０から説明する。
【０１００】
ステップＳ１０は、前記ステップＳ６で演算された定常ノック強度ＶＫｓ（ｎ）を０と比較する。０より大きい場合はステップＳ１１へ、それ以外はステップＳ１６へ進む。
【０１０１】
ステップＳ１１は、保留カウンタにＴ１をセットする。そして、続くステップＳ１２は
、発生カウンタから１減算する。負にならないよう０で下限制限する。（以下、明記しないが、カウンタの減算処理は０で下限制限を行う。）
【０１０２】
ステップＳ１３は、発生カウンタが０か否かを判定し、０であればステップＳ１４へ、０以外はステップＳ１９へ進む。ステップＳ１９は、図１０と同じ処理である。
【０１０３】
ステップＳ１４は、更新量θｃｈｇ＝θｃｈｇ−θｒｔｄｓとする。図１０のステップＳ１４と同じ処理であり、次のステップＳ１９以降も図１０と同じである。
【０１０４】
ステップＳ１０からステップＳ１６へ進むと、ここで保留カウンタから１減算する。
【０１０５】
ステップＳ１７は、保留カウンタが０か否かを判定し、０であればステップＳ１８へ、０以外はステップＳ１９へ進む。
【０１０６】
ステップＳ１８は発生カウンタにＴ２をセットする。そして、ステップＳ１９へ進む。
【０１０７】
図１６は、この発明の実施の形態３による内燃機関のノック制御装置における、内燃機関のノック制御装置のノック制御部の初期化のフローチャートである。マイクロコンピュータ１６に電源が投入された初回時のみ、この処理を実施する。ステップＳ２２は、２つのカウンタの初期値を設定する、すなわち、保留カウンタに０を、発生カウンタにＴ２をセットし、終了する。
【０１０８】
以上のように、この発明の実施の形態３によれば、１回の比較ではなく、複数回の比較によりノック検出を行うため、単発のノックでは遅角されず、ノック多発状態のような連続的にノックが発生する場合のみに遅角することができる。すなわち、ノック誤判定の可能性を下げることができる。また、ノック検出に必要となる期間は、内燃機関が連続ノック発生を許容できる期間の最小値より小さいため、連続してノック発生していたとしても、内燃機関に損傷を与える前にノック検出し遅角が可能である。
【０１０９】
なお、上記の説明においては、説明の簡略のため、ピークホールド値の変化量の最大値Ｌは、図５に示すＰの値そのままであるように説明したが、通常は、適当なマージンを設けてＰの値より若干大きな値とするのが普通である。
【符号の説明】
【０１１０】
１      内燃機関
１２    ノックセンサ
１５    ＥＣＵ
１６    マイクロコンピュータ
２０    ピークホールド部
２２    １次フィルタ演算部
２３    過渡判定値演算部
２４    過渡比較演算部
２６    定常判定値演算部
２７    定常比較演算部
２８    ノック補正量演算部
【図１】
0005843652.tif 000002
【図２】
0005843652.tif 000003
【図３】
0005843652.tif 000004
【図４】
0005843652.tif 000005
【図５】
0005843652.tif 000006
【図６】
0005843652.tif 000007
【図７】
0005843652.tif 000008
【図８】
0005843652.tif 000009
【図９】
0005843652.tif 000010
【図１０】
0005843652.tif 000011
【図１１】
0005843652.tif 000012
【図１２】
0005843652.tif 000013
【図１３】
0005843652.tif 000014
【図１４】
0005843652.tif 000015
【図１５】
0005843652.tif 000016
【図１６】
0005843652.tif 000017