JP4312164B2 - ノック検出装置 - Google Patents

ノック検出装置 Download PDF

Info

Publication number
JP4312164B2
JP4312164B2 JP2005036108A JP2005036108A JP4312164B2 JP 4312164 B2 JP4312164 B2 JP 4312164B2 JP 2005036108 A JP2005036108 A JP 2005036108A JP 2005036108 A JP2005036108 A JP 2005036108A JP 4312164 B2 JP4312164 B2 JP 4312164B2
Authority
JP
Japan
Prior art keywords
value
background
threshold
knock
engine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005036108A
Other languages
English (en)
Other versions
JP2006220115A (ja
Inventor
孝雄 中尾
博文 田口
健志 前中
浩 有田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Ten Ltd
Original Assignee
Denso Ten Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Ten Ltd filed Critical Denso Ten Ltd
Priority to JP2005036108A priority Critical patent/JP4312164B2/ja
Priority to US11/292,077 priority patent/US7243020B2/en
Publication of JP2006220115A publication Critical patent/JP2006220115A/ja
Application granted granted Critical
Publication of JP4312164B2 publication Critical patent/JP4312164B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本発明はノック検出装置に関し、特に検出した内燃機関のノック信号に基づいてノック判定のためのしきい値を算出するノック検出装置に関する。
エンジンに発生するノッキングを検出し、ノッキングの検出状態に応じて点火時期を制御するノッキング制御方法がある(例えば、特許文献1参照)。このノッキング制御方法は、エンジンのノッキングによる振動を検出するノックセンサからの出力のうち、ノッキングによる振動が含まれる可能性のある周波数成分のみをバンドパスフィルタ(BPF)によって濾波し、そのピーク値をTDC(上死点)ごとにサンプリングしている。そして、サンプリングしたピーク値を平均化した値(以下、バックグランドと呼ぶ)に対し、サンプリングされたピーク値が所定のレベルを超えているか否かに基づいて、ノッキングの有無を判定し、点火進角量をフィードバック制御している。判定によりノッキングが発生していなければ、点火時期を進角していき、ノッキングが発生すれば、点火時期を遅角するようにフィードバック制御している。
ところでバックグランドは、上述したようにピーク値を平均化したもの(具体的には、ピーク値を前回のバックグランドで減算して所定の係数を積算し、その値を前回のバックグランドに加算する形で算出している。この値(更新値)には、ノイズによる急変を防止するための更新ガード値が設けられる。)であるため、エンジン始動時には、一定の値に収束するまでに時間を要する。
図22は、エンジン始動時のバックグランドの収束を説明する図である。図に示すようにエンジン始動とともにピーク値がサンプリングされるが、バックグランドは、ピーク値を平均化したものであるためTDC毎に更新され、徐々にピーク値に収束していく。バックグランドがピーク値に収束しきる前(図中の期間D)にノッキング判定を行うと、ピーク値がバックグランドに対し、所定のレベルを超えていると判定する恐れがあり、ノッキングが発生したと誤判定してしまう。そのため、バックグランドが収束する時間が経過するまではノッキング判定が行えない。
また、バックグランドの算出では、上述したようにノイズによるバックグランドの急変を防止するための更新ガード値を設けている。しかし、ピーク値の急変がノイズによらない適正なものである場合、更新ガード値によってバックグランドの収束が遅れてしまう。そこで、従来、エンジン回転数と吸気管圧力のそれぞれに応じて、更新ガード値を変化させ、バックグランドの収束遅れを回避していた。例えば、エンジン回転数または吸気管圧力が急激に上昇した場合、ピーク値の絶対値も急激に大きくなる。この場合のピーク値の変化はノイズによるものではないので、バックグランドが速やかにピーク値に収束するように更新ガード値を大きくする。これによって、バックグランドは、速やかに所定の値に収束する。
特開平8−218996号公報
このように従来では、エンジン始動時、バックグランド(しきい値)の収束に時間を要し、その間はノッキング判定を行えないという問題点があった。
また、従来では、エンジン回転数と吸気管圧力とにのみ応じて更新ガード値(上限値)を変更し、ノイズを除く他の要素においてピーク値が急変しても上限値を変更しないため
、その場合はしきい値の収束が遅いという問題点があった。
本発明はこのような点に鑑みてなされたものであり、内燃機関の始動時、前回内燃機関が稼動していたときに記憶していたしきい値を用いて、今回のしきい値を算出することにより、しきい値の収束性を高めたノック検出装置を提供することを目的とする。
また、本発明は、燃料の噴射量にも応じて上限値を変更することにより、しきい値の収束性を高めたノック検出装置を提供することを目的とする。
さらに、本発明は、スロットル開度にも応じて上限値を変更することにより、しきい値の収束性を高めたノック検出装置を提供することを目的とする。
本発明では上記問題を解決するために、検出した内燃機関のノック信号に基づいてノック判定のためのしきい値を算出するノック検出装置であって、複数個のノック信号に基づいてしきい値を算出するしきい値算出手段と、前記しきい値算出手段が算出したしきい値に基づいてしきい値を学習記憶するしきい値学習記憶手段と、前記内燃機関の始動時、前記しきい値学習記憶手段が学習記憶していたしきい値に基づいてしきい値を設定するしきい値設定手段と、を備え、前記しきい値学習記憶手段は、前記内燃機関の所定の温度ごとに、しきい値とノック信号との差が所定範囲内であるときしきい値を学習記憶することを特徴とするノック検出装置が提供される。
このようなノック検出装置によれば、内燃機関を始動するとき、しきい値学習記憶手段が学習記憶していたしきい値に基づいてしきい値を設定する。しきい値学習記憶手段は、内燃機関の所定の温度ごとに、しきい値とノック信号との差が所定範囲内であるときしきい値を学習記憶する。これにより、エンジン始動時のしきい値の収束性を高めることができる。
また、本発明では、検出した内燃機関のノック信号に基づいてノック判定のためのしきい値を算出するノック検出装置であって、複数個のノック信号に基づいて前回のしきい値を更新して新たな算出をするしきい値算出手段と、前記しきい値算出手段によるしきい値の更新量に上限値を設けるしきい値更新制限手段と、前記上限値を前記内燃機関の燃料の噴射量に応じて変更する上限値変更手段と、を有することを特徴とするノック検出装置が提供される。
このようなノック検出装置によれば、内燃機関の燃料の噴射量にも応じてしきい値の変化量の上限値が変更され、しきい値の収束性を高めることができる。
さらに、本発明では、検出した内燃機関のノック信号に基づいてノック判定のためのしきい値を算出するノック検出装置であって、複数個のノック信号に基づいて前回のしきい値を更新して新たな算出をするしきい値算出手段と、前記しきい値算出手段によるしきい値の更新量に上限値を設けるしきい値更新制限手段と、前記上限値を前記内燃機関のスロットル開度に応じて変更する上限値変更手段と、を有することを特徴とするノック検出装置が提供される。
このようなノック検出装置によれば、内燃機関のスロットル開度にも応じてしきい値の変化量の上限値が変更され、しきい値の収束性を高めることができる。
本発明のノック検出装置では、内燃機関を始動するとき、しきい値学習記憶手段が学習記憶していたしきい値に基づいてしきい値を設定し、しきい値学習記憶手段は、内燃機関の所定の温度ごとに、しきい値とノック信号との差が所定範囲内であるときしきい値を学習記憶するようにしたので、エンジン始動時のしきい値の収束性を高めることができる。
また、本発明のノック検出装置では、内燃機関の燃料の噴射量にも応じてしきい値の変化量の上限値を変更するようにしたので、しきい値の収束性を高めることができる。
さらに、本発明のノック検出装置では、内燃機関のスロットル開度にも応じてしきい値
の変化量の上限値を変更するようにしたので、しきい値の収束性を高めることができる。
以下、本発明の原理を、図面を参照して詳細に説明する。
図1は、ノック検出装置の概要を示した図である。図に示すようにノック検出装置1は、ピーク値取得手段1a、バックグランド算出手段1b、ノック判定手段1c、バックグランド設定手段1d、およびバックグランド記憶手段1eを有している。ノック検出装置1は、内燃機関2の点火時期を制御してノッキングのフィードバック制御を行っている。
ピーク値取得手段1aは、内燃機関2の、クランク軸の回転周期の所定期間において、内燃機関2の振動のピーク値(ノック信号)を取得する。内燃機関2には、例えば、振動を検出するノックセンサが固定されており、このノックセンサから内燃機関2の振動を取得する。
バックグランド算出手段1bは、ピーク値取得手段1aによって取得されたピーク値を平均化してバックグランド(しきい値)を算出する。具体的には、ピーク値取得手段1aによって取得されたピーク値を前回算出したバックグランドで減算して所定の係数を積算し、その値を前回算出したバックグランドに加算する形で算出している。この加算値(更新値)には、例えば、更新ガード値が設けられる。
ノック判定手段1cは、ピーク値取得手段1aによって取得されたピーク値が、バックグランドに対して所定のレベルを超えているか否かに基づきノッキングの判定を行う。そして、ノッキングの判定に応じて、内燃機関2のノッキングをフィードバック制御する。例えば、ピーク値がバックグランドに対し、所定のレベルを超えていなければ、ノッキングが発生していないと判定し、内燃機関2の点火時期を進角していく。ピーク値がバックグランドに対し、所定のレベルを超えていれば、ノッキングが発生したと判定し、内燃機関2の点火時期を遅角するようにする。
バックグランド設定手段1dは、内燃機関2の始動時、バックグランド算出手段1bが今回のバックグランドを算出するのに用いる前回のバックグランドに、バックグランド記憶手段1eが記憶している、前回内燃機関2が稼動していたときのバックグランドを設定する。つまり、エンジン始動時、前回のバックグランドに、前回内燃機関2が稼動していたときに記憶していたバックグランドを設定して、今回のバックグランドを算出する。
バックグランド記憶手段1eは、内燃機関2が稼動しているとき、バックグランド算出手段1bが算出するバックグランドを記憶装置に記憶する。
このように、内燃機関2を始動するとき、バックグランド算出手段1bがバックグランドを算出するのに用いる前回のバックグランドに、前回内燃機関2が稼動していたときに記憶していたバックグランドを設定するようにしたので、エンジン始動時のバックグランドの収束性を高めることができる。
次に、第1の実施の形態に係るノック検出装置を、図面を参照して詳細に説明する。
図2は、ノック検出装置のブロック構成図である。図に示すようにノック検出装置10は、CPU11、BPF12、ピークホールドアンプ13、入力インターフェース14、RAM15、ROM16、および出力インターフェース17を有している。ノック検出装置10には、ノックセンサ21、水温センサ22、油温センサ23、および吸気温センサ24が接続されている。また、点火プラグ32が接続されたイグナイタ31が接続されている。
ノックセンサ21は、エンジンの振動を電気信号に変換する振動センサである。ノック
センサ21は、例えば、圧電素子であり、エンジンのシリンダブロックなどに固定されている。
BPF12には、ノックセンサ21から出力される電気信号が入力される。BPF12は、ノッキングによる信号成分の現れる可能性のある周波数帯域の信号のみを濾波する。BPF12の中心周波数は、例えば、4kHであり、帯域幅は、1kH〜100kHである。
ピークホールドアンプ13には、BPF12によって濾波された信号が入力される。また、ピークホールドアンプ13には、CPU11の制御(CNT)端子から出力されるゲート制御信号と、CPU11のピークホールドリセット(PHR)端子から出力されるピークホールドリセット信号が入力される。ピークホールドアンプ13は、CPU11のCNT端子からゲート制御信号が出力されている間、BPF12から出力される信号のピーク値を更新しながら、その値を保持する。そして、CPU11のPHR端子からピークホールドリセット信号が出力されると、保持していたピーク値をリセットする。保持されたピーク値は、CPU11のアナログ/デジタル変換(A/D1)端子に入力される。
水温センサ22、油温センサ23、および吸気温センサ24は、エンジンの水温、油温、および吸気温を電気信号に変換して出力するセンサである。水温センサ22、油温センサ23、および吸気温センサ24の信号は、入力インターフェース14を介して、CPU11のアナログ/デジタル変換(A/D2)端子に入力される。
RAM15およびROM16は、バスを介してCPU11に接続されている。RAM15には、CPU11に実行させるOSのプログラムや、ノッキングのフィードバック制御を行うためのアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM15には、CPU11による処理に必要な各種データが保存される。ROM16には、上記のOSやアプリケーションプログラム、各種データなどが格納される。なお、RAM15、ROM16は、CPU11が内蔵していてもよい。また、ROM16は、書換え可能なFALSHメモリなどであってもよい。
イグナイタ31は、点火プラグ32と接続され、出力インターフェース17を介してCPU11と接続されている。イグナイタ31は、CPU11からの指示に従って、点火プラグ32の点火タイミングを駆動制御している。
CPU11は、A/D1端子に入力されるピーク値をアナログ−デジタル変換し、エンジンのノッキング判定を行う。そして、判定結果に基づいて、点火プラグ32の点火タイミングをフィードバック制御している。具体的には、CPU11は、判定によりノッキングが発生していなければ、点火プラグ32の点火時期を進角していき、ノッキングが発生すれば、点火プラグ32の点火時期を遅角するようにノッキングのフィードバック制御をしている。
CPU11は、エンジンが稼動しているとき、エンジンの水温、吸気温、および油温の各温度における各気筒のバックグランドの移動平均をとり、バックグランドの学習(記憶)をする。CPU11は、次にエンジン始動が行われるとき、エンジンの水温、吸気温、および油温に応じて、前回エンジンが稼動していたときに学習したバックグランドを用いて今回のバックグランドを算出する。これによって、バックグランドは、適正な値に速やかに収束することができる。なお、バックグランドの学習は、例えば、バックアップされたRAM15やFLASHメモリなどの記憶が維持される記憶装置に行われる。
次に、ノッキングのフィードバック制御について説明する。
図3は、ノッキング判定を説明するための波形図である。図の(a)は、ピークホールドアンプ13に入力される波形を示している。図の(b)は、図2では示してないが、エンジンのクランク角センサから出力される波形を示している。クランク角センサから出力されるパルスは、点火行程に入ろうとする気筒のピストンがTDCに到達するたびに出力され、例えば、4気筒4サイクルエンジンであるときには、図の(b)に示すように、180°CA(クランク角)ごとに出力される。図の(c)は、CPU11のCNT端子から出力されるゲート制御信号の波形を示している。
ピークホールドアンプ13は、CPU11から出力されるゲート制御信号により、10°CAから75°CAの間をノッキング観測期間として、BPF12から出力される信号のピーク値を更新して、その値を保持する。ピークホールドアンプ13で保持されたピーク値は、CPU11のA/D1端子に入力される。ピークホールドアンプ13で保持されたピーク値は、CPU11のPHR端子から出力されるピークホールドリセット信号によってリセットされる。
CPU11は、アナログ−デジタル変換されたピーク値より、バックグランドを算出する。バックグランドを算出する式は、例えば、次の式(1)で示される。式(1)のBGは、バックグランドを示し、なまし値は、1より大きい値である。なお、バックグランドには、所定以上の変化をしないように更新ガード値を設けるようにしてもよい。
BG=前回のBG+(今回のピーク値−前回のBG)×(1/なまし値)…(1)
バックグランドは、式(1)に示すようにピーク値を平均化したものである。CPU11は、今回アナログ−デジタル変換されたピーク値が、式(1)で求まるバックグランドに対して所定のレベルを超えているか否かを判断し、ノッキングの有無を判定する。ノッキングの有無を判定する式は、例えば、次の式(2)で示される。式(2)のKは、エンジンの回転数や負荷に応じて変更される値である。
Y=BG×K …(2)
CPU11は、今回アナログ−デジタル変換されたピーク値がバックグランドをK倍した値Yを超えている場合、ノッキングが発生したと判断する。そして、進角させていた点火プラグ32の点火タイミングを遅角するようにフィードバック制御する。このようにして、ノッキングのフィードバック制御を行っている。
次に、エンジン始動時のバックグランドの収束について説明する。
図4は、エンジン始動時のバッグランドの収束を説明する図である。図にはエンジン始動時のバックグランドとピーク値が示してある。CPU11は、エンジンが始動されたとき、前回エンジンが稼動していたときに学習したバックグランドを、式(1)に示す前回のBGにセットする。これにより、バックグランドは速やかにピーク値に収束することができる。図4を図22と比較すると、エンジン始動時において、ピーク値とバックグランドの差は小さく、バックグランドの収束を速くすることができる。
次に、バックグランドの学習テーブルについて説明する。バックグランドは、エンジンの各気筒において、エンジンの水温、吸気温、および油温のそれぞれの、所定の温度ごとに学習される。
図5は、水温におけるバックグランドの学習テーブル例を示した図である。図に示す水温学習テーブル41は、例えば、前述したような記憶が保持される記憶装置で実現される。図に示す水温学習テーブル41の水温学習値[A1]には、エンジンの水温が0℃未満において算出されたバックグランドが記憶される。水温学習値[A2]には、エンジンの水温が0℃以上から30℃未満において算出されたバックグランドが記憶される。水温学
習値[A3]には、エンジンの水温が30℃以上から60℃未満において算出されたバックグランドが記憶される。水温学習値[A4]には、エンジンの水温が60℃以上から90℃未満において算出されたバックグランドが記憶される。水温学習値[A5]には、エンジンの水温が90℃以上において算出されたバックグランドが記憶される。
図6は、吸気温におけるバックグランドの学習テーブル例を示した図である。図に示す吸気温学習テーブル42は、例えば、前述したような記憶が保持される記憶装置で実現される。図に示す吸気温学習テーブル42の吸気温学習値[B1]〜吸気温学習値[B5]には、図5の水温学習テーブル41の説明と同様に、各温度において算出されたバックグランドが記憶される。
図7は、油温におけるバックグランドの学習テーブル例を示した図である。図に示す油温学習テーブル43は、例えば、前述したような記憶が保持される記憶装置で実現される。図に示す油温学習テーブル43の油温学習値[C1]〜油温学習値[C5]には、図5の水温学習テーブル41の説明と同様に、各温度において算出されたバックグランドが記憶される。
次に、バックグランドの学習について説明する。バックグランドは、移動平均したものを学習する。ただし、バックグランドとピーク値との差が所定値内である場合にのみ学習する。バックグランドの学習は、エンジンの気筒ごと、かつエンジンの水温、吸気温、および油温の各温度において行われる。
図8は、バックグランドの学習について説明する図である。図の波形W1はピーク値の波形、波形W2はバックグランドの波形、波形W3はカウンタの値を示した波形である。
バックグランドは、ピーク値を平均化したものであるので、エンジン始動後、ピーク値に収束していく。図に示すようにピーク値とバックグランドの差が所定値内になったとき、バックグランドの学習の処理を開始する。
CPU11は、波形W3に示すようにカウンタを動作させ、カウンタの値が所定値になると、バックグランドを取得する。例えば、図に示すようにα1,α2,α4,α5,α6,…においてバックグランドを取得する。CPU11は、バックグランドを取得するたびにカウンタの値をリセットする。なお、α3のとき、バックグランドを取得してないが、これについては後述詳細する。
CPU11は、バックグランドを数点取得し移動平均をとる。そして、エンジンの水温に従って、水温学習テーブル41に移動平均をとったバックグランドを記憶していく。なお、同じ水温が続けば、移動平均をとったバックグランドは上書きされていく。同様に、エンジンの吸気温、油温においてもそれぞれの温度に応じて、吸気温学習テーブル42、油温学習テーブル43にバックグランドの移動平均を記憶していく。
CPU11は、バックグランドとピーク値との差が所定値内である場合に、上記のバックグランドの学習(各テーブルへの書き込み)を行う。つまり、ピーク値が、ノッキングにより大きな値をとり、バックグランドとの差が所定値以上になったときは、バックグランドを取得せず、移動平均を算出しない。例えば、図に示すα3のときは、バックグランドを取得しない。すなわち、定常時のバックグランドを移動平均し、学習するようにする。なお、ピーク値とバックグランドとの差が所定値以上になったときは、カウンタの値を0にし、移動平均も最初から算出し直す。
次に、CPU11の動作についてフローチャートを用いて説明する。
図9は、バックグランドの設定の処理の流れを示したフローチャートである。CPU1
1は、例えば、イニシャルルーチンにおいて以下のステップに従った処理を実行する。なお、フローチャート中のnは、エンジンの気筒数を表し、そのフローの処理は各気筒において行われることを示す。
ステップS1においてCPU11は、学習フラグがオンであるか否か判断する。学習フラグがオンであればステップS2へ進む。学習フラグがオンでなければ処理を終了する。
ステップS2においてCPU11は、エンジン始動時に、式(1)で示した前回のBGに、水温学習値(水温において学習したバックグランド)をセットするか否か判断する。この判断は、例えば、プログラムにおいて水温学習値を用いるか否か設定され、その設定に基づいて判断される。水温学習値を前回のBGにセットすると判断した場合、CPU11はステップS3において、現在のエンジンの水温を水温センサ22で検出し、この水温に対応する水温学習値を、図5で示した水温学習テーブル41を参照して取得する。そして、前回のBGに取得した水温学習値をセットする。これによって、バックグランドは速やかに適正なピーク値に収束することができる。なお、ステップS2において前回のBGに水温学習値をセットしないと判断した場合、ステップS4へ進む。
ステップS4においてCPU11は、エンジン始動時に、式(1)で示した前回のBGに、吸気温学習値(吸気温において学習したバックグランド)をセットするか否か判断する。この判断は、例えば、プログラムにおいて吸気温学習値を用いるか否か設定され、その設定に基づいて判断される。吸気温学習値を前回のBGにセットすると判断した場合、CPU11はステップS5において、現在のエンジンの吸気温を吸気温センサ24で検出し、この吸気温に対応する吸気温学習値を、図6で示した吸気温学習テーブル42を参照して取得する。そして、前回のBGに取得した吸気温学習値をセットする。これによって、バックグランドは速やかに適正なピーク値に収束することができる。なお、ステップS4において前回のBGに吸気温学習値をセットしないと判断した場合、ステップS6へ進む。
ステップS6においてCPU11は、エンジン始動時に、式(1)で示した前回のBGに、油温学習値(油温において学習したバックグランド)をセットするか否か判断する。この判断は、例えば、プログラムにおいて油温学習値を用いるか否か設定され、その設定に基づいて判断される。油温学習値を前回のBGにセットすると判断した場合、CPU11はステップS7において、現在のエンジンの油温を油温センサ23で検出し、この油温に対応する油温学習値を、図7で示した油温学習テーブル43を参照して取得する。そして、前回のBGに取得した油温学習値をセットする。これによって、バックグランドは速やかに適正なピーク値に収束することができる。なお、ステップS2,S4,S6において、水温学習値、吸気温学習値、および油温学習値の何れを採用するか判断せず、全ての学習値の最大値を算出し、それを式(1)で示した前回のBGにセットするようにしてもよい。
次に、バックグランドの学習の処理について説明する。
図10は、バックグランドの学習の処理の流れを示したフローチャートである。CPU11は、所定の周期ごとに以下のステップに従った処理を実行する。なお、フローチャート中のnは、エンジンの気筒数を表し、そのフローの処理は各気筒において行われることを示す。
ステップS11においてCPU11は、ノッキングのフィードバック制御を実施する期間(ノッキング観測期間)であるか否か判断する。ノッキングのフィードバック制御を実施する期間であると判断した場合は、ステップS14へ進む。ノッキングのフィードバック制御を実施する期間でないと判断した場合は、ステップS12へ進む。
ステップS12においてCPU11は、バックグランドを取得するタイミングをカウントするカウンタをクリアする。次いで、ステップS13においてCPU11は、移動平均を算出するのに必要なバックグランドのサンプル数をカウントする変数(学習回数n)を0にする。ステップS12,S13では、次のノッキング観測期間で行う学習のためにカウンタおよび学習回数をクリアしている。
ステップS14においてCPU11は、ピークホールドアンプ13によって保持されているピーク値を取得する。ステップS15においてCPU11は、前述した式(1)によってバックグランドを更新する。
ステップS16においてCPU11は、前述した式(2)で算出される値とピーク値とを比較し、ノッキングの有無を判断する。ノッキングが発生していると判断した場合、ステップS17においてCPU11はカウンタをクリアする。次いで、ステップS18においてCPU11は学習回数nを0にする。つまり、ステップS17,S18では、ノッキングが発生した場合は、移動平均が算出されないように、カウンタおよび学習回数をクリアする。ステップS16においてノッキングが発生していないと判断した場合、ステップS19へ進む。
ステップS19においてCPU11は、カウンタを参照し、一定時間経過したか(カウンタの値が所定の値になったか)否か判断する。すなわち、移動平均をとるためのバックグランドを取得するタイミングであるか判断する。バックグランドを取得するタイミングでない場合、処理を終了する。バックグランドを取得するタイミングであればステップS20へ進む。
ステップS20においてCPU11は、バックグランドを、移動平均を算出する変数(学習値)に順次保存していく。変数学習値の数は、移動平均を算出するのに必要なバックグランドのサンプル数分存在する。ステップS21においてCPU11は、学習回数に1を加算する。ステップS22においてCPU11は、カウンタをクリアする。ステップS23においてCPU11は、学習回数が規定回数以上になったか判断する。つまり、バックグランドを、移動平均を算出するのに必要なサンプル数分取得できたか判断する。移動平均を算出するのに必要なバックグランドが取得できたと判断した場合、ステップS24においてCPU11は、学習値に保存されているバックグランドを用いてバックグランドの移動平均値を算出する。そして、CPU11は、水温センサ22、油温センサ23、および吸気温センサ24から現在のエンジンの水温、油音、および吸気温を取得し、水温学習テーブル41、吸気温学習テーブル42、および油温学習テーブル43の対応する温度の欄に、算出したバックグランドを記憶する。次いで、ステップS25においてCPU11は、学習フラグをオンにする。これによって、次回エンジンが始動されるときは、図9のステップS1の判断においてCPU11はステップS2へ進み、式(1)の前回のBGに、学習したバックグランドを設定することができる。
なお、ステップS23においてCPU11は、移動平均を算出するのに必要なバックグランドを取得できていないと判断した場合、処理を終了する。そして、ノッキング観測期間において図10の処理が所定の周期ごとに繰り返し行われ、移動平均を算出するのに必要なバックグランドを取得できると、ステップS24へ進み、移動平均値が算出される。
このように、エンジンを始動するとき、今回のバックグランドを算出するのに用いられる前回のバックグランドに、前回エンジンを始動していたときに記憶していたバックグランドを設定し、算出するようにしたので、エンジン始動時のバックグランドの収束性を高めることができる。
また、エンジン始動時のバックグランドの収束性を高めたことにより、ノッキングの判定を速やかに開始することが可能になり、ノッキングの制御範囲を広めることができる。
次に、本発明の第2の実施の形態について説明する。第1の実施の形態で説明した式(1)は、ノイズによるバックグランドの急変を防止するため、更新ガード値を設けることができる。つまり、バックグランドを更新ガード値以上更新しないようにすることができる。例えば、更新ガード値を2とすると、バックグランドの値が式(1)に従って5変化しても、この場合は、バックグランドは2しか更新されない。
しかし、ピーク値の急変は、ノイズによらない場合もある。例えば、エンジン回転数や吸気管圧力の変化によって急変する場合もある。この場合、バックグランドは、速やかにピーク値に収束するのが望ましいが、更新ガード値によって、収束が遅くなる。そこで、従来は、エンジン回転数と吸気管圧力のそれぞれの変化に応じて、更新ガード値を変更し、バックグランドの収束性を高めていたが、第2の実施の形態では、さらに燃料の噴射量およびスロットルの開度の変化に応じても、更新ガード値を変更する。
なお、第2の実施の形態におけるノック検出装置のブロック構成図は、図2のノック検出装置10とほぼ同様であるが、入力インターフェース14にスロットルの開度を検出するセンサ、燃料の噴射量を検出するセンサ、および吸気管圧力を検出するセンサが接続される。また、CPU11は、タイマ端子を有し、エンジン回転数を検出するセンサが接続される。エンジン回転数を検出するセンサは、パルス信号としてエンジン回転数を検出し、CPU11は、そのパルス信号のパルス間隔をカウントしてエンジン回転数を算出する。その他の部分は、図2と同様であり、その詳細な説明は省略する。
図11は、エンジン回転数、吸気管圧力、噴射量、およびスロットル開度の変化例を示した図である。例えば、車両が平坦から上り坂を一定の速度で上るとすると、負荷が大きくなるため燃焼状態が変化し、燃料の噴射量およびスロットル開度の変化は大きくなる。一方、吸気管圧力およびエンジン回転数の変化は、一定の速度で上るという条件により小さい。すると、図に示すように噴射量およびスロットル開度の変化は大きく、エンジン回転数、吸気管圧力の変化は小さくなる。
この場合、従来であれば、燃焼状態が変化してピーク値が急変しても、吸気管圧力およびエンジン回転数の変化が小さいため、更新ガード値は変更されず、バックグランドの収束が遅かった。しかし、本実施の形態では、噴射量およびスロットル開度のそれぞれの変化にも応じて更新ガード値を変更するので、バックグランドの収束性がよくなる。なお、噴射量およびスロットル開度の変化が大きい場合、更新ガード値は大きくなるように変更される。
図12は、バックグランドの収束を説明する図である。図の(a)は吸気管圧力およびエンジン回転数のそれぞれの変化に応じて更新ガード値を変更する場合のバックグランドの収束を、図の(b)は吸気管圧力、エンジン回転数、噴射量、およびスロットル開度のそれぞれの変化に応じて更新ガード値を変更する場合のバックグランドの収束を説明している。
例えば、図11で示したように、エンジン回転数および吸気管圧力の変化量は小さく、噴射量およびスロットル開度の変化量は大きい場合、従来であれば、ピーク値が大きく変化しても更新ガード値は変更されないため、図の(a)に示すようにバックグランドの収束が遅い。しかし、本実施の形態では、噴射量および吸気管圧力の変化量にも応じて更新ガード値を変更するので、エンジン回転数および吸気管圧力の変化が小さくても、更新ガード値を変更するので、バックグランドの収束性を高めることができる。なお、ノイズによってピーク値が大きく変化した場合でも、噴射量および吸気管圧力の変化が小さければ
更新ガード値は変更されず、バックグランドがノイズに反応することを抑制できる。
次に、CPU11の動作についてフローチャートを用いて説明する。
図13は、更新ガード値の算出の流れを示したフローチャートである。CPU11は、以下のステップに従って処理を実行する。
ステップS31においてCPU11は、吸気管圧力を検出するセンサから吸気管圧力を取得する。CPU11は、取得した吸気管圧力の変化量に応じて、更新ガード値を算出する。ステップS32においてCPU11は、エンジン回転数を検出するセンサからエンジン回転数を取得する。CPU11は、取得したエンジン回転数の変化量に応じて、更新ガード値を算出する。ステップS33においてCPU11は、燃料の噴射量を検出するセンサから燃料の噴射量を取得する。CPU11は、取得した噴射量の変化量に応じて、更新ガード値を算出する。ステップS34においてCPU11は、スロットル開度を検出するセンサからスロットル開度を取得する。CPU11は、取得したスロットル開度の変化量に応じて、更新ガード値を算出する。
ステップS35においてCPU11は、ステップS31〜ステップS34で算出した更新ガード値の最大値を算出する。
ステップS36においてCPU11は、バックグランドの更新量をステップS35で算出した最大の更新ガード値でガードする。すなわち、CPU11は、バックグランドの更新量が更新ガード値を超える場合、更新ガード値分だけバックグランドを更新するようにする。
このように、エンジンの燃料の噴射量にも応じてバックグランドの変化量の更新ガード値を変更するようにしたので、バックグランドの収束性を高めることができる。また、内燃機関のスロットル開度にも応じてバックグランドの変化量の更新ガード値を変更するようにしたので、バックグランドの収束性を高めることができる。
また、バックグランドの収束性を高めたことにより、適正なノッキング判定が可能となり、エンジンの誤遅角を防止することができる。
次に、本発明の第3の実施の形態について説明する。前述したようにバックグランドは、ピーク値を平均化したものであるため、エンジン始動時には、一定の値に収束するまでに時間を要する。そのため、バックグランドがピーク値に収束しきる前にノッキング判定を行うと、ピーク値がバックグランドに対し、所定のレベルを超えていると判定する恐れがあり、ノッキングが発生したと誤判定してしまう。よって、従来では、バックグランドが収束する時間を考慮して、一定時間経過してから、ノッキングのフィードバック制御を開始し、ノッキングの制御範囲を狭めていた。そこで、第3の実施の形態では、ノッキングの誤判定をしないようにノック判定の開始時期を適正に変化させ、ノッキングの制御範囲を広める。なお、ノック検出装置のブロック構成図は、図2と同様であり、その詳細な説明は省略する。
まず、バックグランドの収束について図面を用いて説明する。
図14は、バックグランドの収束時間を説明する図である。図の(a),(b)には、バックグランドとピーク値が示してある。図の(a)のピーク値は、図の(b)のピーク値より大きい値となっている。
エンジンを始動すると、ピークホールドアンプ13からピーク値が出力される。CPU11は、前述した式(1)に従ってバックグランドを算出する。バックグランドは、ピーク値を平均化したものであるので、図の(a),(b)に示すように、徐々に、ピーク値に収束していく。
バックグランドとピーク値の差が大きいとバックグランドの収束する時間も長くなる。図の(a)に示すピーク値は、図の(b)のピーク値より大きいので、図の(a)のバックグランドの収束時間は、図の(b)のバックグランドの収束時間より長くなる。そこで、CPU11は、エンジン始動後、ノッキングの誤判定によって誤ったフィードバック制御を行わないように、バックグランドの収束時間に応じて、ノッキングのフィードバック制御の開始時間を変化させる。例えば、図の(a)の場合、矢印A1においてノッキングのフィードバック制御を開始するようにする。図の(b)の場合、矢印A2においてノッキングのフィードバック制御を開始するようにする。
次に、エンジンの水温、油温、および吸気温と、ノッキングのフィードバック制御の、開始時間の関係について説明する。図14でも説明したように、エンジン始動後のバックグランドの収束時間は、ピーク値の大きさに依存する。このピーク値の大きさは、エンジンの状態によって様々な値をとり、例えば、前記した水温、油温、および吸気温に依存する。そこで、CPU11は、各センサからエンジンの水温、油温、および吸気温を取得し、ROM16に記憶されている、エンジンのある水温、油温、および吸気温に対するノッキングのフィードバック制御の開始時間を参照して、制御を開始する時間を算出する。
図15は、水温に対するフィードバック制御開始時間の関係を示したテーブルである。図に示すように水温テーブル51は、水温および開始時間の欄を有し、各水温に対するノッキングのフィードバック制御の開始時間が記憶されている。水温の欄に示される値の単位は℃、開始時間の欄に示される値の単位は秒である。水温テーブル51は、例えば、図2で示したROM16などの記憶装置に構築される。
CPU11は、エンジンのある水温に対する開始時間を、水温テーブル51を参照して算出する。水温センサ22から取得した水温が、水温テーブル51に示されている水温の欄の間にある場合は、その両側の欄の水温を基に補間して開始時間を算出する。例えば、水温センサ22から取得した水温が10℃から30℃の間にあるときは、CPU11は、10℃のときの開始時間5.1秒と、30℃のときの開始時間3.1秒とを取得し、これらの開始時間を補間して、水温センサ22から取得した水温に対する開始時間を算出する。
図16は、油温に対するフィードバック制御開始時間の関係を示したテーブルである。図に示すように油温テーブル52は、油温および開始時間の欄を有し、各油温に対するノッキングのフィードバック制御の開始時間が記憶されている。油温の欄に示される値の単位は℃、開始時間の欄に示される値の単位は秒である。油温テーブル52は、例えば、図2で示したROM16などの記憶装置に構築される。
CPU11は、エンジンのある油温に対する開始時間を、油温テーブル52を参照して算出する。なお、油温に対する開始時間の算出方法は、図15で説明した水温の開始時間の算出方法と同じであり、その詳細な説明は省略する。
図17は、吸気温に対するフィードバック制御開始時間の関係を示したテーブルである。図に示すように吸気温テーブル53は、吸気温および開始時間の欄を有し、各吸気温に対するノッキングのフィードバック制御の開始時間が記憶されている。吸気温の欄に示される値の単位は℃、開始時間の欄に示される値の単位は秒である。吸気温テーブル53は、例えば、図2で示したROM16などの記憶装置に構築される。
CPU11は、エンジンのある吸気温に対する開始時間を、吸気温テーブル53を参照して算出する。なお、吸気温に対する開始時間の算出方法は、図15で説明した水温の開
始時間の算出方法と同じであり、その詳細な説明は省略する。
このように、CPU11は、エンジン始動時に各センサからエンジンの水温、油温、および吸気温を取得し、取得した水温、油温、および吸気温に対するノッキングのフィードバック制御の開始時間を算出する。
次に、CPU11の動作を、フローチャートを用いて説明する。
図18は、フィードバック制御開始時間を算出する処理を示したフローチャートである。CPU11は、以下のステップに従って処理を実行する。
ステップS41においてCPU11は、エンジン始動時におけるエンジンの水温、油温、および吸気温を取り込むため、スタータがオフからオンに切替わったか判断する。スタータがオフからオンに切替わった場合、ステップS42へ進む。スタータがオフからオンに切替わらない場合は、ステップS47へ進む。
ステップS42においてCPU11は、水温センサ22、油温センサ23、および吸気温センサ24からエンジンの水温、油温、および吸気温を取得する。
ステップS43においてCPU11は、水温テーブル51を参照し、ステップS42で取得した水温に対するノッキングのフィードバック制御(F/B)の開始時間aを算出する。ステップS44においてCPU11は、油温テーブル52を参照し、ステップS42で取得した油温に対するノッキングのフィードバック制御の開始時間bを算出する。ステップS45においてCPU11は、吸気温テーブル53を参照し、ステップS42で取得した吸気温に対するノッキングのフィードバック制御の開始時間cを算出する。ステップS46においてCPU11は、ステップS43〜S45で算出した開始時間a〜cの最大値dを算出する。
ステップS47においてCPU11は、エンジン始動後、時間がステップS46で算出した最大値dを経過したか判断する。CPU11は、時間が最大値dを経過すると、ステップS48へ進む。時間が最大値d未満であれば、フローチャートの処理を終了し、次の割り込みで開始からフローチャートの処理を繰り返す。
ステップS48においてCPU11は、ノッキングのフィードバック制御を開始する。つまり、ノッキング判定によりノッキングが発生していなければ、点火プラグ32の点火時期を進角していき、ノッキングが発生すれば、点火プラグ32の点火時期を遅角するようにノッキングのフィードバック制御を開始する。
次に、CPU11の動作を、制御チャートを用いて説明する。
図19は、フィードバック制御開始時間を算出する制御チャートを示した図である。図の(a)にはスタータのオン・オフタイミングを示した波形が示してある。図の(b)にはスタータがオンされた後、ノッキングのフィードバック制御の開始時間をカウントするためのタイミングを示した波形が示してある。図の(c)にはバックグランドの波形が示してある。図の(d)には水温、油温、および吸気温に基づいて算出された、ノッキングのフィードバック制御を開始するカウント値が示されている。図の(e)には、時間をカウントするカウンタ値が示してある。
図の点線C1に示すように、スタータがオフからオンに切替わると、CPU11は、バックグランドの算出を開始する。バックグランドは、ピーク値を平均化したものであるため、エンジン始動後、図の(c)に示すように徐々に、ピーク値に収束していく。また、CPU11は、各センサからエンジンの水温、油温、および吸気温を取得し、水温テーブル51、油温テーブル52、および吸気温テーブル53を参照して、取得した水温、油温
、および吸気温に対するノッキングのフィードバック制御の開始時間(カウント値)を算出する。なお、水温、油温、および吸気温に対するノッキングのフィードバック制御を開始するためのカウント値は、図の(d)に示すように水温>油温>吸気温の関係を有し、水温が最大値であるとする。
CPU11は、ノッキングのフィードバック制御を開始するためのカウント値を算出すると、図の(b)に示すようにノッキングのフィードバック制御を開始する時間のカウントを開始する。すると、図の(e)に示すように時間をカウントするカウンタ値は、点線C2のタイミングからカウントアップが開始される。
カウンタ値がカウントアップされ、矢印C3に示すように吸気温に基づいたノッキングのフィードバック制御を開始するカウント値に達したとする。しかし、図19の例では、吸気温のカウント値は、ノッキングのフィードバック制御を開始するカウント値の最大値ではないので、CPU11は、ノッキングのフィードバック制御を開始しない。
カウンタ値がさらにカウントアップされ、矢印C4に示すように油温に基づいたノッキングのフィードバック制御を開始するカウント値に達したとする。しかし、図19の例では、油温のカウント値は、ノッキングのフィードバック制御を開始するカウント値の最大値ではないので、CPU11は、ノッキングのフィードバック制御を開始しない。
カウンタ値がさらにカウントアップされ、矢印C5に示すように水温に基づいたノッキングのフィードバック制御を開始するカウント値に達したとする。図19の例では、水温のカウント値は、ノッキングのフィードバック制御を開始するカウント値の最大値であるので、CPU11は、ノッキングのフィードバック制御を開始する。なお、点線C6に示すように、バックグランドがピーク値に収束した後にノッキングのフィードバック制御が開始されている。このように、水温、油温、および吸気温に基づいて算出された開始時間の最大開始時間により、ノッキングのフィードバック制御を開始することにより、例えば、バックグランドが収束していない収束時間がいくつか算出されても、安全にノッキングのフィードバック制御開始時間を変化させ、制御範囲を広めることができる。
このように、エンジンの始動時にバックグランドがピーク値に収束するであろう収束時間を決定するための水温、油温、および吸気温を取得し、取得した水温、油温、および吸気温に基づいてバックグランドの収束時間を算出するようにした。これによって、ノッキングの誤判定をしないように適正にノッキングの制御開始時間を変化させることができ、ノッキングの制御範囲を広めることができる。
また、エンジンの始動後、ノッキングの誤判定をしないようにノッキングの制御開始時間を変化させるので、エンジンの誤遅角を防止することができる。
さらに、水温、油温、および吸気温で求まった収束時間の最大値を使用することにより、より安全にノッキングのフィードバック処理を開始して、誤遅角を防止することができる。
なお、上記では、水温、油温、および吸気温のパラメータに基づく収束時間の最大値で、ノッキングのフィードバック制御を開始するようにしたが、1つのパラメータに基づく収束時間で、または、1以上のパラメータに基づく収束時間の最大値で、ノッキングのフィードバック制御を開始するようにしてもよい。例えば、水温による収束時間のみを算出して、ノッキングのフィードバック制御を開始してもよく、水温と油温による収束時間のみを算出して、ノッキングのフィードバック制御を開始してもよい。
次に、第4の実施の形態に係るノック検出装置を、図面を参照して詳細に説明する。第
4の実施の形態では、適正なバックグランドに収束するために必要なピーク値のサンプル数を、エンジン始動後のピーク値に基づいて算出し、ピーク値を、算出したサンプル数取得してから、ノッキングのフィードバック制御を開始する。
式(1)で示したようにバックグランドは、ピーク値を平均化したものであるため、エンジン始動時には、所定のピーク値のサンプル数が揃うまでは、適正な値に収束しない。バックグランドが適正な値に収束するピーク値のサンプル数は、ピーク値の大きさによって異なり、バックグランドとピーク値の差が大きければ、適正なバックグランドに収束するピーク値のサンプル数も多く必要とする。また、ピーク値のなまし率(なまし値の逆数)によっても、バックグランドが適正な値に収束するピーク値のサンプル数が異なる。そこで、図2で示したCPU11は、適正なバックグランドを算出するのに必要なピーク値のサンプル数を算出し、ピーク値を、算出されたサンプル数取得してからノッキングのフィードバック制御を開始する。例えば、CPU11は、エンジン始動後に初めて取得したピーク値をなまし率で除算した値を、ノッキングのフィードバック開始のサンプル数とする。
ピーク値のサンプル数とエンジンの回転数の関係について説明する。ピーク値がサンプル数揃う時間は、エンジンの回転数に比例する。エンジンの回転数が高ければピーク値のサンプル数揃う時間は早く、エンジンの回転数が低ければピーク値のサンプル数揃う時間は遅くなる。
図20は、バックグランドとエンジン回転数を示した図である。図の(a)には、ピーク値とバックグランドが示されている。図の(b)には、エンジン回転数が示してある。ピーク値は、エンジンの回転数に比例してサンプリングされる。CPU11は、バックグランドの算出に必要なピーク値のサンプル数を算出し、エンジンの回転数が高ければ早くノッキングのフィードバック制御を開始し、エンジンの回転数が低ければ遅くノッキングのフィードバック制御を開始することになる。
次に、CPU11の動作を、フローチャートを用いて説明する。
図21は、フィードバック制御を開始するためのピーク値のサンプル数を算出する処理を示したフローチャートである。CPU11は、所定の周期にごとに以下のステップに従った処理を実行する。
ステップS51においてCPU11は、エンジン始動時に以下で説明する変数α、βを初期化するため、スタータがオフからオンに切替わったか判断する。スタータがオフからオンに切替わった場合、ステップS52の処理へ進む。スタータがオフからオンに切替わらない場合は、ステップS54へ進む。
ステップS52においてCPU11は、ピーク値のサンプル数をカウントするための変数αを、例えば、0の最小値に初期化する。ステップS53においてCPU11は、ノッキングのフィードバック処理を開始するためのサンプル数を示す変数βを、例えば、0xFFFFの最大値に初期化する。
ステップS54においてCPU11は、ノッキングのフィードバック処理がゲートオープン中(ノッキング観測期間)であるか判断する。すなわち、図2で説明したゲート制御信号をピークホールドアンプ13に出力しているか判断する。ゲートオープン中であれば、ステップS55へ進む。ゲートオープン中でなければ、ステップS60へ進む。
ステップS55においてCPU11は、ピーク値を更新する。すなわち、ピークホールドアンプ13から新たなピーク値を取得する。ステップS56においてCPU11は、取
得したピーク値によりバックグランドを更新する。ステップS57においてCPU11は、変数αに1を加算する。
ステップS58においてCPU11は、ステップS55〜S57の処理が初めてであるか判断する。初めてであればステップS59へ進む。初めてでなければステップS60へ進む。
ステップS59においてCPU11は、ノッキングのフィードバック制御を開始するためのサンプル数を示す変数βを算出する。変数βは、次の式(3)で示される。式(3)のなまし率は、なまし値の逆数である。
β=ピーク値/なまし率 …(3)
すなわち、ノッキングのフィードバック制御を開始するためのサンプル数は、ピーク値に比例する。ピーク値が大きいほど、ノッキングのフィードバック制御を開始するためのサンプル数が多くなる。また、ノッキングのフィードバック制御を開始するためのサンプル数は、なまし率に逆比例する。なまし率が小さければ、バックグランドのピーク値に収束するためのサンプル数も多く必要となるからである。
ステップS60においてCPU11は、ピーク値のサンプル数をカウントするための変数αが、ノッキングのフィードバック制御を開始するためのサンプル数である変数β以上になったか判断する。変数αが変数β以上であれば、ステップS61へ進む。変数αが変数βより小さければ、図21のフローチャートの処理を終了し、次の割り込みで開始からフローチャートの処理を繰り返す。
ステップS61においてCPU11は、ノッキングのフィードバック制御を開始する。
このように、バックグランドを算出するためのピーク値の必要なサンプル数をピーク値の大きさに基づいて算出し、エンジン始動後、ピーク値を、算出したサンプル数取得してから、ノッキングのフィードバック制御を開始するようにした。これによって、ノッキングの誤判定をしないように適正にノッキングの制御開始時間を変化させることができ、ノッキングの制御範囲を広めることができる。
また、エンジンの始動後、ノッキングの誤判定をしないようにピーク値のサンプル数を変化させるので、エンジンの誤遅角を防止することができる。
なお、上記で説明した第1〜第4の実施の形態は、組み合わせて実施することができる。例えば、エンジン始動時には、第1の実施の形態により、前回のバックグランドに学習したバックグランドを設定し、エンジン始動後においては、第2の実施の形態により、更新ガード値を変更することができる。同様に、エンジン始動時には、第3、第4の実施の形態により、ノッキングの制御開始時間を変化させ、エンジン始動後においては、第2の実施の形態により、更新ガード値を変更することができる。また、エンジン始動時、第1の実施の形態により、前回のバックグランドに学習したバックグランドを設定し、第3、第4の実施の形態により、ノッキングの制御開始時間を変化させることができる。この場合、ノッキングの制御開始時間は、前回のバックグランドに学習したバックグランドを設定した場合を考慮し、決定する。
また、第3の実施の形態と第4の実施の形態を組み合わせることもできる。例えば、第4の実施の形態で説明したように、ノッキングのフィードバック制御を開始するためのサンプル数を算出する。そして、ピーク値を算出されたサンプル数取得してから、第3の実施の形態で説明した水温、油温、および吸気温に基づく開始時間を算出し、算出した開始時間後にノッキングのフィードバック制御を開始する。具体的には、図21で示したフローチャートのステップS60で変数αが変数β以上になったとき、図18で示したフロー
チャートのステップS42以下の処理を実行する。
ノック検出装置の概要を示した図である。 ノック検出装置のブロック構成図である。 ノッキング判定を説明するための波形図である。 エンジン始動時のバッグランドの収束を説明する図である。 水温におけるバックグランドの学習テーブル例を示した図である。 吸気温におけるバックグランドの学習テーブル例を示した図である。 油温におけるバックグランドの学習テーブル例を示した図である。 バックグランドの学習について説明する図である。 バックグランドの設定の処理の流れを示したフローチャートである。 バックグランドの学習の処理の流れを示したフローチャートである。 エンジン回転数、吸気管圧力、噴射量、およびスロットル開度の変化例を示した図である。 バックグランドの収束を説明する図である。 更新ガード値の算出の流れを示したフローチャートである。 バックグランドの収束時間を説明する図である。 水温に対するフィードバック制御開始時間の関係を示したテーブルである。 油温に対するフィードバック制御開始時間の関係を示したテーブルである。 吸気温に対するフィードバック制御開始時間の関係を示したテーブルである。 フィードバック制御開始時間を算出する処理を示したフローチャートである。 フィードバック制御開始時間を算出する制御チャートを示した図である。 バックグランドとエンジン回転数を示した図である。 フィードバック制御を開始するためのピーク値のサンプル数を算出する処理を示したフローチャートである。 エンジン始動時のバックグランドの収束を説明する図である。
符号の説明
1 ノック検出装置
1a ピーク値取得手段
1b バックグランド算出手段
1c ノック判定手段
1d バックグランド設定手段
1e バックグランド記憶手段
2 内燃機関

Claims (7)

  1. 検出した内燃機関のノック信号に基づいてノック判定のためのしきい値を算出するノック検出装置であって、
    複数個のノック信号に基づいてしきい値を算出するしきい値算出手段と、
    前記しきい値算出手段が算出したしきい値に基づいてしきい値を学習記憶するしきい値学習記憶手段と、
    前記内燃機関の始動時、前記しきい値学習記憶手段が学習記憶していたしきい値に基づいてしきい値を設定するしきい値設定手段と、を備え、
    前記しきい値学習記憶手段は、前記内燃機関の所定の温度ごとに、しきい値とノック信号との差が所定範囲内であるときしきい値を学習記憶することを特徴とするノック検出装置。
  2. 前記しきい値学習記憶手段は、複数個のしきい値を移動平均して算出したしきい値に基づいて学習記憶することを特徴とする請求項1記載のノック検出装置。
  3. 前記しきい値学習記憶手段は、前記内燃機関の気筒ごとにしきい値を学習記憶することを特徴とする請求項1記載のノック検出装置。
  4. 検出した内燃機関のノック信号に基づいてノック判定のためのしきい値を算出するノック検出装置であって、
    複数個のノック信号に基づいて前回のしきい値を更新して新たな算出をするしきい値算出手段と、
    前記しきい値算出手段によるしきい値の更新量に上限値を設けるしきい値更新制限手段と、
    前記上限値を前記内燃機関の燃料の噴射量に応じて変更する上限値変更手段と、
    を有することを特徴とするノック検出装置。
  5. 前記上限値変更手段は、エンジン回転数および吸気管圧力にも応じて前記上限値を算出し、前記噴射量、前記エンジン回転数、および前記吸気管圧力による前記上限値の最大値を採用することを特徴とする請求項4記載のノック検出装置。
  6. 検出した内燃機関のノック信号に基づいてノック判定のためのしきい値を算出するノック検出装置であって、
    複数個のノック信号に基づいて前回のしきい値を更新して新たな算出をするしきい値算出手段と、
    前記しきい値算出手段によるしきい値の更新量に上限値を設けるしきい値更新制限手段と、
    前記上限値を前記内燃機関のスロットル開度に応じて変更する上限値変更手段と、
    を有することを特徴とするノック検出装置。
  7. 前記上限値変更手段は、エンジン回転数および吸気管圧力にも応じて前記上限値を算出し、前記スロットル開度、前記エンジン回転数、および前記吸気管圧力による前記上限値の最大値を採用することを特徴とする請求項6記載のノック検出装置。
JP2005036108A 2004-12-03 2005-02-14 ノック検出装置 Expired - Fee Related JP4312164B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005036108A JP4312164B2 (ja) 2005-02-14 2005-02-14 ノック検出装置
US11/292,077 US7243020B2 (en) 2004-12-03 2005-12-02 Knock detection apparatus and knock detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005036108A JP4312164B2 (ja) 2005-02-14 2005-02-14 ノック検出装置

Publications (2)

Publication Number Publication Date
JP2006220115A JP2006220115A (ja) 2006-08-24
JP4312164B2 true JP4312164B2 (ja) 2009-08-12

Family

ID=36982599

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005036108A Expired - Fee Related JP4312164B2 (ja) 2004-12-03 2005-02-14 ノック検出装置

Country Status (1)

Country Link
JP (1) JP4312164B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012220356B4 (de) * 2012-02-20 2018-01-18 Mazda Motor Corp. Klopfregelungsvorrichtung eines Verbrennungsmotors
DE102012219842B4 (de) * 2012-02-01 2018-02-08 Mazda Motor Corp. Klopferfassungseinrichtung einer Verbrennungskraftmaschine

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5546595B2 (ja) 2012-08-07 2014-07-09 三菱電機株式会社 内燃機関のノック制御装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102012219842B4 (de) * 2012-02-01 2018-02-08 Mazda Motor Corp. Klopferfassungseinrichtung einer Verbrennungskraftmaschine
DE102012220356B4 (de) * 2012-02-20 2018-01-18 Mazda Motor Corp. Klopfregelungsvorrichtung eines Verbrennungsmotors

Also Published As

Publication number Publication date
JP2006220115A (ja) 2006-08-24

Similar Documents

Publication Publication Date Title
US7243020B2 (en) Knock detection apparatus and knock detection method
JP4465928B2 (ja) 内燃機関のノック制御装置
US8000884B2 (en) Device and method for controlling ignition timing of internal combustion engine
EP1862670A1 (en) Ignition timing control apparatus and method for internal combustion engine
EP1688615B1 (en) Ignition timing controlling device and method
JP6059194B2 (ja) 内燃機関のノック判定装置
US5287837A (en) Knock suppressing apparatus for internal combustion engine
JP4312164B2 (ja) ノック検出装置
JP6591389B2 (ja) 内燃機関のノッキング検出装置
JP4559977B2 (ja) 内燃機関の点火時期制御装置
JP4266975B2 (ja) ノック検出装置
JP4799645B2 (ja) 内燃機関用制御装置
JPH09303243A (ja) 内燃機関の制御装置
JP4859525B2 (ja) 内燃機関の失火判定装置
JP7390433B1 (ja) 内燃機関の制御装置
JPH0740689Y2 (ja) 内燃機関の点火時期制御装置
JP2018091214A (ja) 内燃機関のノッキング検出システム
JP2007303323A (ja) 内燃機関の点火時期制御装置
JP4487453B2 (ja) 内燃機関用ノッキング検出装置
JP2729328B2 (ja) ノッキング制御装置
JP2015166556A (ja) 内燃機関の制御装置
JPWO2019102805A1 (ja) ノックセンサの異常判定装置およびノックセンサの異常判定方法
JP2009281234A (ja) 内燃機関の点火時期制御装置
JPS6181578A (ja) 車両用燃料の判別方法
JPH06100172B2 (ja) 内燃機関用ノツキング制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080111

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081021

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090512

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090512

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120522

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130522

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees