JP3851591B2 - 自動適合用ノック自動検出装置 - Google Patents
自動適合用ノック自動検出装置 Download PDFInfo
- Publication number
- JP3851591B2 JP3851591B2 JP2002154619A JP2002154619A JP3851591B2 JP 3851591 B2 JP3851591 B2 JP 3851591B2 JP 2002154619 A JP2002154619 A JP 2002154619A JP 2002154619 A JP2002154619 A JP 2002154619A JP 3851591 B2 JP3851591 B2 JP 3851591B2
- Authority
- JP
- Japan
- Prior art keywords
- knock
- cycle
- cylinder
- cylinder pressure
- frequency
- 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
Links
- 230000006978 adaptation Effects 0.000 title claims description 32
- 238000001514 detection method Methods 0.000 title claims description 31
- 238000012545 processing Methods 0.000 claims description 20
- 238000002485 combustion reaction Methods 0.000 claims description 10
- 238000012935 Averaging Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 2
- 238000000034 method Methods 0.000 description 86
- PUFGCEQWYLJYNJ-UHFFFAOYSA-N didodecyl benzene-1,2-dicarboxylate Chemical compound CCCCCCCCCCCCOC(=O)C1=CC=CC=C1C(=O)OCCCCCCCCCCCC PUFGCEQWYLJYNJ-UHFFFAOYSA-N 0.000 description 20
- 230000006835 compression Effects 0.000 description 10
- 238000007906 compression Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 7
- 230000007423 decrease Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000000446 fuel Substances 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000013517 stratification Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
本発明は、内燃機関の点火時期等を自動適合する装置に適用される自動適合用ノック自動検出装置に関する。
【0002】
【従来の技術】
一般に、内燃機関としてのエンジンで発生するノック波形の周波数(ノック周波数)は、エンジン毎に異なり、シリンダのボア径で決まる。そのため、筒内圧センサの出力或いはブロック振動センサの出力からノック波形を抽出するのにバンドパスフィルタ等のフィルタを使う方法が主流である。
【0003】
【発明が解決しようとする課題】
ところで、(1)エンジンのシリンダブロックに直接取り付けるタイプの非共振或いは共振型ブロック振動センサでノックを検出する場合、機械ノイズ等のノック以外の振動成分とノックによる振動発生成分とを分離しなければならない。このため、事前に、ノック周波数の選定と、その周波数に応じたフィルタ中心波長をもつバンドパスフィルタの設定(共振型のセンサはセンサそのものの設定)と、センサ出力と比較されるノック判定のしきい値の設定とを行なう必要がある。なぜなら、ブロック振動センサでは、シリンダブロックに伝わるあらゆる振動を拾ってしまうため、ノック振動のみを分離する必要があるが、ノック周波数はエンジン毎に異なるとともに、機械ノイズの発生周波数も異なるからである。
【0004】
ノック周波数に応じたバンドパスフィルタの設定や前記しきい値の設定をする際には、まずはそのエンジンで実際に聴覚で聞えるノックを発生させて、その時のセンサ出力のFFT解析によりノック共振周波数がどこに有るのかを特定する必要がある。しかし、ノック共振周波数には機械ノイズ周波数のピークが重なることも有り得るため、必ずしもS/Nが良いとは限らない。したがって、ノック判定のためのしきい値も一義的には決まらず、エンジン毎の適合が必要となる。
【0005】
(2)一方、筒内圧センサ、例えば点火プラグ一体型の筒内圧センサでノックを検出する場合、筒内圧最大値の直後に発生するノック特有の圧力振動を捕らえることにより、機械ノイズ等とは無縁でノック検出が可能になる。しかし、あくまでも筒内で発生しているノック起因の異常燃焼を捕らえてしまうため、ノックによる圧力振動がシリンダブロックやシリンダヘッドを伝わって外部へ振動音を伝えているとは限らず、聴感で捕らえるノックとは強度、頻度共に合わない。これは、筒内圧では逆にエンジンの機械振動を取り込まないため、ノックがこれらバックグラウンドノイズにかき消される分まで検出してしまっているからである。これをしきい値等を設定して聴感と合わせようとすると、結局人間による合わせ込みが必要となってしまう。
【0006】
すなわち、エンジンの点火時期、燃料増量値、VVT進角等を自動適合化する場合、そのエンジンでの最適燃費、最適出力、最適エミッション性能を求めたい。このため、狙いの点火時期は、MBT(Minimum advance for the Best Torque)かMBTより遅角側でノックが発生する場合は、聴感上許容可能なノックレベルとなる。前記各適合を自動的に求めようとした場合、ノック検出を自動で行なうことが必須となるが、現状のノック制御(KCS制御)では、ノックを検出させるために人間による合わせ込みが必須である。
【0007】
したがって、点火時期等を自動適合化しようとした際に、エンジン損傷防止も含めて狙いのノックレベルを検出しようとした場合には、ブロック振動センサ、筒内圧センサ共に、各々単体では完全自動化は不可能である。
【0008】
本発明は、このような従来の問題点に着目してなされたもので、その目的は、内燃機関の点火時期等を自動適合する際に、狙いのノックレベルを自動検出可能にして、自動適合を可能にした自動適合用ノック自動検出装置を提供することにある。
【0009】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項1に係る発明は、内燃機関の点火時期等を自動適合する装置に適用され、各気筒の筒内圧センサ出力を高周波サンプリングした筒内圧データに基づき気筒毎およびサイクル毎にノックかノイズの判定をするノック判定手段を備える自動適合用ノック自動検出装置であって、前記各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、前記ノック判定手段によりノック有りと判定されたノックサイクルとノック無しと判定されたノイズサイクルに分けて抽出する振動センサ出力抽出手段と、前記ノックサイクルと前記ノイズサイクルに分けて抽出した各気筒のブロック振動センサ出力をそれぞれFFT処理して1ノックサイクル毎のFFT結果(a)と1ノイズサイクル毎のFFT結果(t-b)を算出するFFT処理手段と、各ノックサイクルに対して、そのノックサイクルと前回ノックと判定されたノックサイクルとの間のノイズサイクル全ての前記FFT結果(t-b)を加算平均したFFT加算平均値(b)を算出する加算平均値算出手段と、前記FFT結果(a)と前記FFT加算平均値(b)との差分に基づき、ノックサイクル毎にノック強度を算出するノック強度算出手段とを備えることを要旨とする。
【0010】
この構成によれば、各気筒の筒内圧センサ出力と同時に各気筒のブロック振動センサ出力を計測することで、筒内圧情報をもとにノック有り無しの層別を自動的に行なうことができる。すなわち、人間の聴感でノック判定をする必要がない。
【0011】
また、各ブロック振動センサ出力にバックグラウンドノイズ以上の振動が含まれていれば、間違いなく音としてノックが発生していることになる。このようなノックの強度を、各ノックサイクルのFFT結果aとFFT加算平均値bとの差分に基づき、ノックサイクル毎に算出することができる。すなわち、そのFFT加算平均値bは、各ノックサイクルに対して、そのノックサイクルと前回「ノック」と判定されたノックサイクルとの間のノイズサイクル全てのFFT結果t-bを加算平均した値であり、これらノイズサイクル全てのバックグラウンドレベルを表している。各ノックサイクルのFFT結果aとそのノックサイクルに対して算出したバックグラウンドレベルとの差分(a−b)に基づいて、ノック強度をノックサイクル毎に算出することができる。その結果、人間の聴感でノック判定する場合は、ある一定時間エンジン近傍で音を聞き、その時のバックグラウンド音とノック音を聞き分けてノックレベルを決定する。この場合、人による差や、聞く方向の違いにより、レベルが異なってしまうが、こうした自動適合をする上で妨げとなる要因を排除できる。したがって、内燃機関の点火時期等を自動適合する際に、狙いのノックレベルを自動検出可能になり、点火時期等の自動適合が可能になる。
【0012】
さらに、任意サイクル中のノックサイクル毎にノック強度を算出するのに、FFT結果aとFFT加算平均値b(バックグラウンドレベル)の差分(a−b)をノックとしている。これにより、各ブロック振動センサ出力にバックグラウンドノイズ以上の振動が含まれていれば、間違いなく音としてノックが発生していることになる。このようなシリンダヘッド、シリンダブロックを通して外部へノック音として伝わるノックを、FFT結果aとFFT加算平均値bの差分で表すことができる。
【0013】
請求項2に係る発明は、請求項1に記載の自動適合用ノック自動検出装置において、前記ノック強度算出手段は、前記差分を所定の周波数区間で積分してノックサイクル毎のノック強度を算出することを要旨とする。
【0014】
自動適合時にノックを自動検出する狙いのノックレベルは聴感上許容可能なノックレベルであり、このような狙いのノックレベルを自動検出するためには、ノックレベルを定量的に扱う必要がある。聴感上許容可能なノックレベルは、1回当たりに聞えるノック強度とその頻度により決まる。そのうちのノック強度を算出できる。つまり、ノックサイクル毎のノック強度を、人間によりしきい値を設定することなく、前記差分を所定の周波数区間で積分して求めることができる。
【0015】
請求項3に係る発明は、請求項2に記載の自動適合用ノック自動検出装置において、前記所定の周波数区間は可聴帯であることを要旨とする。
この構成によれば、シリンダブロックを通して外部へ音として伝わるノックの強度を算出することができる。
【0016】
請求項4に係る発明は、請求項1〜3のいずれか一項に記載の自動適合用ノック自動検出装置において、前記ノック強度算出手段により算出したノック強度毎に任意サイクル中のノック頻度を算出するノック頻度算出手段と、前記ノック強度と前記ノック頻度から任意サイクルでのノックレベルを算出するノックレベル算出手段とを備えることを要旨とする。
【0017】
この構成によれば、ノック強度に加えてノック頻度を算出し、ノック強度とその頻度からノックレベルを算出することで、任意サイクルでのノックレベルを自動的に検出することができる。
【0018】
請求項5に係る発明は、請求項4に記載の自動適合用ノック自動検出装置において、前記ノック頻度算出手段は、前記ノック強度を任意の強度段階に分けて各段階の頻度を算出し、前記ノックレベル算出手段は、前記ノック頻度算出手段により算出した頻度が最も高い強度段階のノック強度を任意サイクルのノックレベルと決定することを要旨とする。
【0019】
この構成によれば、ノックレベルを定量的に扱うことができ、聴感上許容可能なノックレベルを自動的に検出することができる。
【0020】
【発明の実施の形態】
以下、本発明に係る自動適合用ノック自動検出装置を具体化した一実施形態を図面に基づいて説明する。
【0021】
[一実施形態]
図1は、一実施形態に係る自動適合用ノック自動検出装置の全体構成を模式的に示している。この自動適合用ノック自動検出装置は、エンジンの点火時期、燃料増量値、VVT進角等を自動適合化するための装置であり、筒内圧を利用してノックを自動検出するものである。ここにいう「VVT」とは、エンジン21の吸気カムシャフト(図示略)のクランクシャフト(図示略)に対する相対角を連続的に変化させるための可変バルブタイミング機構をいう。
【0022】
エンジン21には、クランク角センサ22、ブロック振動センサ23、および筒内圧センサ24が取り付けられている。筒内圧センサ24は、4気筒エンジン21の各気筒に設けられている。クランク角センサ22は、クランクシャフトの1回転につき所定角度毎(例えば15度毎)にパルス状の信号(クランク角信号)を出力する。このクランク角信号は、各気筒の圧縮上死点位置TDCを算出するのに用いられる。ブロック振動センサ23は、各気筒のシリンダブロック(図示略)に取り付けられており、各シリンダブロックに伝わる振動を検出し、ブロック振動センサ信号を出力する。そして、各筒内圧センサ24は、気筒毎の筒内圧(燃焼圧)をそれぞれ検出し、筒内圧信号を出力する。図12は、各気筒の筒内圧センサ24の出力(筒内圧センサ出力)が表す1/2サイクル分の筒内圧波形(指圧線)を示している。この指圧線には、筒内圧が最大値Pmaxとなる位置付近(破線65で囲んだ領域)に、ノック波形が含まれている。
【0023】
自動適合用ノック自動検出装置(以下、単に「ノック自動検出装置」という。)は、増幅回路25と、高速データ収録手段としての高速データロガー26と、筒内圧解析用パソコン(パーソナルコンピュータ)27とを備える。増幅回路25は、4つの気筒の各筒内圧センサ24からそれぞれ出力される筒内圧センサ出力を増幅して高速データロガー26に出力する。
【0024】
高速データロガー26は、増幅回路25により増幅された各筒内圧センサ出力を高周波サンプリングして、気筒毎およびサイクル毎に単位期間毎の筒内圧データPdata[i]を収録する。なお、高速データロガー26による高周波サンプリングは、時間ベースまたはクランク角ベースのいずれでも良い。本実施形態では、高速データロガー26は、各筒内圧センサ出力(各気筒の筒内圧波形)に含まれるノック波形(振動周波数が12〜14KHz程度の振動成分)を精度良く解析して抽出するのに十分高い周波数、例えば200KHzで各気筒の筒内圧センサ出力をサンプリングする。
【0025】
また、高速データロガー26には、各筒内圧センサ出力の他に、クランク角センサ22から出力されるクランク角信号と、各気筒のブロック振動センサ23から出力されるブロック振動センサ信号(ブロック振動センサ出力)とがそれぞれ入力されている。これにより、高速データロガー26は、デジタル信号にそれぞれ変換したクランク角信号および各気筒のブロック振動センサ信号と、各気筒の筒内圧データPdata[i]とを同期して筒内圧解析用パソコン27へ出力するようになっている。
【0026】
また、筒内圧解析用パソコン27は、高速データロガー26にデータ計測指示を与えて、同データロガーから各気筒の筒内圧データPdata[i]、各気筒のブロック振動センサ信号、およびクランク角信号のデータを任意サイクル分(例えば、100サイクル分)一括して取り込むようになっている。
【0027】
また、筒内圧解析用パソコン27には、「ノックレベル算出処理」用のプログラムが組み込まれている。このノックレベル算出処理では、各気筒の筒内圧データとクランク角信号とに基づき、各筒内圧センサ出力に含まれるノック波形等の振動成分の振幅相当量Amp[i](図13に示す振動波形)を気筒毎およびサイクル毎に算出し、気筒毎およびサイクル毎にノック判定を行なう。そして、各筒内圧センサ出力と同時計測の各ブロック振動センサ出力に基づき、ノック強度とノック頻度を算出して現在の運転条件でのノックレベルを自動的に検出する。
【0028】
次に、この「ノックレベル算出処理」について図2〜図15を参照して説明する。
まず、図2に示すフローチャートのステップS10で、エンジン21の運転状態を定常状態に設定し、所定の運転条件および所定の点火時期にてエンジン21を運転する。つまり、エンジン21を、エンジン回転数、吸入空気量および空燃比をそれぞれ一定に設定するとともに、点火時期を一定値に設定して運転する。
【0029】
次に、ステップS100に進み、高速データロガー26により気筒毎にそれぞれ収録された筒内圧データPdata[i]とクランク角信号を、上記任意サイクル分取り込む。ここで、高速データロガー26による1サイクル当たりの筒内圧データのサンプリングデータ数をsizeとすると、筒内圧データPdata[i]は、i=0(吸気工程下死点付近の基準点で、クランク角0度)〜i=size(クランク角720度)である。また、筒内圧解析用パソコン27は、取り込んだクランク角信号に基づき、各気筒の圧縮上死点位置TDCを算出する。
【0030】
次に、ステップS200に進み、ステップS100で取り込んだ各気筒の筒内圧データに基づき、気筒毎およびサイクル毎に筒内圧最大値Pmaxとその位置imaxを算出する。このステップS200が最大値算出手段に相当する。
【0031】
次に、ステップS300に進み、気筒毎およびサイクル毎に、筒内圧波形(指圧線)の形から点火時期の大遅角状態を検出する。具体的には、気筒毎およびサイクル毎に、ステップS200で算出した筒内圧最大値Pmaxと圧縮上死点位置での筒内圧P[i=TDC]との差が所定のしきい値を超えているか否かを判定する。その差がしきい値を超えている場合には大遅角状態ではないと判定されてステップS400に進み、その差がしきい値以下の場合には、大遅角状態であると判定されてステップS310に進み、分析を終了する。
【0032】
大遅角状態ではないと判定されてステップS400に進むと、筒内圧データに基づき気筒毎およびサイクル毎に筒内圧最小値Pminとその位置iminを算出する。
【0033】
次に、ステップS500に進み、気筒毎およびサイクル毎に指圧線全体の変曲点の数を算出する。ここにいう、「指圧線全体」とは、1サイクルの指圧線をいう。このステップS500では、図5に示すように、ステップS400で算出した筒内圧最小値PminとステップS100で算出した圧縮上死点位置での筒内圧P[i=TDC]を比較し、両者が等しい場合には指圧線全体の変曲点が1つであると判定し、そうでない場合には変曲点が3つであると判定する。つまり、筒内圧が圧縮上死点位置TDCの前後で上昇し続けて筒内圧最大値Pmaxに達し、この位置imaxから筒内圧が下降し続ける場合には、指圧線全体の変曲点が1つであると判定される。この判定がなされると、ステップS510に進み、1つの変曲点の位置をimaxとして設定する。
【0034】
一方、圧縮上死点位置TDCの近傍に極大値を持つ場合には、指圧線全体の変曲点が3つであると判定される。この判定がなされると、ステップS520に進み、3つの変曲点の位置をそれぞれTDC、iminおよびimaxとして設定する。なお、指圧線の圧縮上死点位置TDC近傍に極大値(変曲点)ができる場合には、その変曲点はTDCの近傍にできるので、TDCをその変曲点に代えて1つの変曲点に設定している。これにより、圧縮上死点位置TDC近傍の変曲点を算出する処理を省略でき、処理速度を早くすることができる。
【0035】
こうして気筒毎およびサイクル毎に指圧線全体の変曲点の数を算出した後、図2のステップS600に進む。このステップS600では、気筒毎およびサイクル毎に、筒内圧データPdata[i]に基づき筒内圧波形(指圧線)に含まれる振動波形を抽出し、その振動成分の振幅相当量Amp[i]を算出する。
【0036】
次に、変曲点の数が1と判定された場合にステップS600で実行される振幅相当量Amp[i]の計算処理を図6および図7に基づいて説明する。上記ステップS500で変曲点が1つと判定された場合、気筒毎およびサイクル毎に、筒内圧Pの上昇中(0<i<imax)と、筒内圧Pの下降中(imax<i<size)とに分けて振幅相当量Amp[i]を計算する。
【0037】
まず、筒内圧データPdata[i]のデータ数iが0〜imaxまでの筒内圧上昇中(0<i<imax)、すなわち図12で筒内圧PがPmaxに達するまでのクランク角区間では、上記ステップS510から図6のステップS610に進み、同図に示す計算処理を実行する。
【0038】
このステップS610は、データ数iが0〜imaxまでのクランク角区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップS610では、最初にiを0に設定し、iがimaxになるまでの間、ステップS614以下の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0039】
iがimaxになるまでの間はステップS610の判定結果はYESになり、ステップS614に進む。このステップS614では、筒内圧データの単位期間当たりの変化量DLP[i](DLP[i]=Pdata[i]−Pdata[i−1])を算出し、DLP[i]が負または0であるか否かを判定する。DLP[i]が正の場合、すなわち筒内圧データの今回値Pdata[i]がその前回値Pdata[i−1]より大きい場合、ステップS614の判定結果はNOになり、ステップS616に進み、振幅相当量Amp[i]およびt-ampを共に0に設定する。
【0040】
この後、ステップS610に戻り、筒内圧データのデータ数iを1だけインクリメントし(i←i+1)、iがimaxより小さいか否かを判定する。i<imaxでかつDLP[i]が正の間は、ステップS610の判定結果はYESでかつステップS614の判定結果はNOであるので、ステップS610,S614およびS616が繰り返し実行される。その間、ステップS610でデータ数iが1ずつインクリメントされていくとともに、Amp[i]およびt-ampは共に0のままに維持される。
【0041】
こうして、ステップS610,S614およびS616が繰り返される間に、図10の符号90で示すように筒内圧が低下すると、筒内圧データの今回値DLP[i]がその前回値Pdata[i−1]より小さくなり、DLP[i]が負になるので、ステップS614からステップS618に進む。
【0042】
このステップS618では、t-ampとDLP[i]の加算値をt-ampとして設定する。このとき、t-ampは上記ステップS616で0に設定されているので、このステップS618で設定されるt-ampはDLP[i]に等しい。
【0043】
この後、ステップS620に進み、筒内圧データの今回値と次回値の変化量DLP[i+1](DLP[i+1]=Pdata[i+1]−Pdata[i])が正であるか否かを判定する。図10の区間90で示すようにその変化量DLP[i+1]が負の場合には、ステップS622に進み、振幅相当量Amp[i]を0に維持する。
【0044】
この後、ステップS610に戻り、ステップS614に進む。このとき、ステップS614では、前回算出した変化量DLP[i]よりデータ数が1つ増えたデータ数iの筒内圧データ(今回値)とその前回値の変化量DLP[i]を算出し、その変化量が負または0であるか否かについて判定する。つまり、図10の区間90で、DLP[i+1]が負または0であるか否かを判定する。DLP[i+1]は負であるので、ステップS614の判定結果はYESになり、ステップS618に進む。このとき、t-amp=DLP[i]であるので、ステップS618で設定されるt-ampはDLP[i]にDLP[i+1]を加算した値に設定される。
【0045】
この後、ステップS620に進み、筒内圧データの今回値と次回値の変化量DLP[i+1]が正であるか否かを判定する。ここでは、図10の場合でいうと、その今回値に相当する区間90のi+1位置の筒内圧と、その次回値であるi+2位置の筒内圧の変化量が正であるか否かを判定する。同図の場合、筒内圧はi+1位置からi+2位置の間で上昇に転じているので、ステップS620の判定結果がYESになり、ステップS624に進む。
【0046】
このステップS624では、ステップS618で設定したt-amp(負の値)の絶対値を振幅相当量Amp[i]として設定する。こうして、筒内圧上昇中には(データ数iが0〜imaxまでのクランク角区間では)、図10の区間90、91、92のように筒内圧データの変化量DLP[i]が負である各区間内での同変化量の総和の絶対値を振幅相当量Amp[i]として算出する。
【0047】
そして、データ数iがimaxに達すると、ステップS610の判定結果がNOになるので、ステップS612に進み、図6の計算処理を終了する。また、i=imaxの位置では、変化量DLP[i]は0に設定される。
【0048】
次に、変曲点が1つと判定された場合、気筒毎およびサイクル毎に、筒内圧Pの下降中(imax<i<size)に、図7の計算処理が実行される。筒内圧データPdata[i]のデータ数iがimax〜sizeまでの筒内圧下降中、すなわち図12で筒内圧PがPmaxから低下し続けるクランク角区間では、上記ステップS510から図7のステップS630に進み、図7に示す計算処理を実行する。
【0049】
このステップS630は、データ数iがimax〜sizeまでのクランク角区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップS630では、最初にiをimax+1に設定し、iがsizeになるまでの間、ステップS634以下の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0050】
iがsizeになるまでの間はステップS630の判定結果はYESになり、ステップS634に進む。このステップS634では、筒内圧データの単位期間当たりの変化量DLP[i]を算出し、DLP[i]が正または0であるか否かを判定する。DLP[i]が負の場合、ステップS634の判定結果はNOになり、ステップS636に進み、振幅相当量Amp[i]およびt-ampを共に0に設定する。
【0051】
この後、ステップS630に戻り、筒内圧データのデータ数iを1だけインクリメントし(i←i+1)、iがsizeより小さいか否かを判定する。i<sizeでかつDLP[i]が負の間は、ステップS630の判定結果はYESでかつステップS634の判定結果はNOであるので、ステップS630,S634およびS636が繰り返し実行される。その間、ステップS630でデータ数iが1ずつインクリメントされていくとともに、Amp[i]およびt-ampは共に0のままに維持される。
【0052】
こうして、ステップS630,S634およびS636が繰り返される間に、図11の符号95で示すように筒内圧が上昇すると、筒内圧データの今回値Pdata[i]がその前回値Pdata[i−1]より大きくなり、DLP[i]が正になるので、ステップS634からステップS638に進む。
【0053】
このステップS638では、t-ampとDLP[i]の加算値をt-ampとして設定する。このとき、t-ampは上記ステップS636で0に設定されているので、このステップS638で設定されるt-ampはDLP[i]に等しい。
【0054】
この後、ステップS640に進み、筒内圧データの今回値と次回値の変化量DLP[i+1](DLP[i+1]=Pdata[i+1]−Pdata[i])が負であるか否かを判定する。図11の区間95で示すようにその変化量DLP[i+1]が正の場合には、ステップS642に進み、振幅相当量Amp[i]を0に維持する。
【0055】
この後、ステップS630に戻り、ステップS634に進む。このとき、ステップS634では、前回算出した変化量DLP[i]よりデータ数が1つ増えたデータ数iの筒内圧データ(今回値)とその前回値の変化量DLP[i]を算出し、その変化量が正または0であるか否かについて判定する。つまり、図11の区間95で、DLP[i+1]が正または0であるか否かを判定する。DLP[i+1]は正であるので、ステップS634の判定結果はYESになり、ステップS638に進む。このとき、t-amp=DLP[i]であるので、ステップS638で設定されるt-ampはDLP[i]にDLP[i+1]を加算した値に設定される。
【0056】
この後、ステップS640に進み、筒内圧データの今回値と次回値の変化量DLP[i+1]が負であるか否かを判定する。ここでは、図11の場合でいうと、その今回値に相当する区間95のi+1位置の筒内圧と、その次回値であるi+2位置の筒内圧の変化量が負であるか否かを判定する。同図の場合、筒内圧はi+1位置からi+2位置の間で下降に転じているので、ステップS640の判定結果がYESになり、ステップS644に進む。
【0057】
このステップS644では、ステップS638で設定したt-amp( 正の値)を振幅相当量Amp[i]として設定する。こうして、筒内圧下降中には(データ数iがi〜sizeまでのクランク角区間では)、図11の区間94、95、96のように筒内圧データの変化量DLP[i]が正である各区間内での同変化量の総和を振幅相当量Amp[i]として算出する。そして、データ数iがsizeに達すると、ステップS630の判定結果がNOになるので、ステップS632に進み、図7の計算処理を終了する。
【0058】
このようにして、指圧線全体の変曲点が1つの場合、気筒毎およびサイクル毎に、筒内圧データPdata[i]に基づき筒内圧波形(指圧線)に含まれる振動波形を抽出し、その振動成分の振幅相当量Amp[i]を算出することができる。こうして気筒毎およびサイクル毎に算出される振幅相当量Amp[i]を、図13で示してある。
【0059】
次に、上記ステップS500で変曲点の数が3と判定された場合に、ステップS600で実行される振幅相当量Amp[i]の計算処理について説明する。
(1)まず、筒内圧P上昇中のクランク角区間(0<i<TDC)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が負である各区間内での同変化量の総和の絶対値を振幅相当量Amp[i]として算出する。
【0060】
(2)次に、圧縮上死点位置(i=TDC)では、振幅相当量Amp[i]を0に設定する。
(3)次に、筒内圧P下降中のクランク角区間(TDC<i<imin)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が正である各区間内での同変化量の総和を振幅相当量Amp[i]として算出する。
【0061】
(4)次に、筒内圧最小値Pminの位置(i=imin)では、振幅相当量Amp[i]を0に設定する。
(5)次に、筒内圧P上昇中のクランク角区間(imin<i<imax)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が負である各区間内での同変化量の総和の絶対値を振幅相当量Amp[i]として算出する。
【0062】
(6)次に、筒内圧最大値Pmaxの位置(i=imax)では、振幅相当量Amp[i]を0に設定する。
(7)そして、筒内圧P下降中のクランク角区間(imax<i<size)では、気筒毎およびサイクル毎に、筒内圧データの変化量DLP[i]が正である各区間内での同変化量の総和を振幅相当量Amp[i]として算出する。
【0063】
このようにして、指圧線全体の変曲点が3つの場合、気筒毎およびサイクル毎に、筒内圧データPdata[i]に基づき筒内圧波形(指圧線)に含まれる振動波形を抽出し、図13で示すその振動成分の振幅相当量Amp[i]を算出することができる。上記ステップS600が振動成分抽出手段に相当する。
【0064】
このようにして上記ステップS600で振幅相当量Amp[i]を計算した後、図2のステップS700に進む。このステップS700では、気筒毎およびサイクル毎に、1サイクル中の第1ゲート区間内での振幅相当量Amp[i]の最大値Ampmaxを算出する。その第1ゲート区間は、図12で示すように、上記ステップS200で算出したimax前後のα+βのクランク角区間である。
【0065】
ステップS700の処理を図8のフローチャートに基づいて説明する。
まず、ステップS710では、データ数iがimax−αからimax−βまでの第1ゲート区間で計算処理がなされるように、ゲートをかけている。すなわち、このステップS710では、最初にiをimax−αに設定し、iがimax−βになるまでの間、ステップS710、S720およびS730の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0066】
iがimax−βになるまでの間はステップS710の判定結果はYESになり、ステップS720に進む。このステップS720では、振幅相当量Amp[i]の今回値が最大値Ampmaxを超えているか否かを判定する。その今回値がAmpmax以下の場合には、ステップS710に戻る。一方、その今回値がAmpmaxを超えている場合には、ステップS720に進み、振幅相当量Amp[i]の今回値をAmpmaxとして設定する。この後、ステップS710に戻る。
【0067】
こうして、データ数iがimax−αからimax−βまでの第1ゲート区間において、振幅相当量Amp[i]の今回値が最大値Ampmaxを超える度にその今回値でAmpmaxを更新していくことで、第1ゲート区間内での最大値Ampmaxを算出する。なお、上記ステップS700が、振幅最大値算出手段に相当する。
【0068】
この後、図2のステップS800に進み、気筒毎に、しきい値1としきい値2を設定する(図14参照)。このステップS800では、ステップS700で算出した最大値Ampmaxの任意サイクル(例えば100サイクル)分の加算平均値と、その標準偏差σを3倍した値との加算値(任意サイクル平均値+3σ)をしきい値1として算出する。また、最大値Ampmaxの任意サイクル分の加算平均値(任意サイクル平均値)をしきい値2として算出する。なお、このステップS800が、しきい値算出手段に相当する。
【0069】
この後、図3のステップS900に進み、気筒毎およびサイクル毎にノック判定を行なう。このステップS900では、上記ステップS700で算出した振幅相当量Amp[i]の最大値Ampmaxと、振動成分の繰り返し性の有無とに基づき、気筒毎およびサイクル毎にノック判定を行なう。
【0070】
ステップS900の処理(「ノックORノイズ判定処理」)を図9のフローチャートに基づいて説明する。
まず、ステップS910では、ステップS700で算出した振幅相当量Amp[i]の最大値AmpmaxがステップS800で設定したしきい値1を超えているか否かについて判定する。この判定結果がNOの場合、すなわち最大値Ampmaxがしきい値1以下の場合、ステップS960に進み、「ノイズ」と判定される。こうして、気筒毎に最大値Ampmaxがしきい値1以下のサイクルについては、「ノイズ」と判定される。
【0071】
また、ステップS910の判定結果がYESの場合、すなわち最大値Ampmaxがしきい値1を超えている場合には、振動が大きくノックである可能性が高いので、次のステップ920に進む。このステップS920では、データ数iが最大値Ampmaxの位置であるiampmaxからiampmax+γまでの第2ゲート区間(図14参照)で計算処理がなされるように、ゲートをかけている。すなわち、このステップS920では、最初にiをiampmaxに設定し、iがiampmax+γになるまでの間、ステップS920〜S970の処理を繰り返しつつ、データ数iを1ずつインクリメント(i←i+1)する。
【0072】
iがiampmax+γになるまでの間はステップS920の判定結果はYESになり、ステップS930に進む。このステップS930では、振幅相当量Amp[i]の今回値がステップS800で設定したしきい値2を超えているか否かを判定する。この判定結果がNOの場合にはステップS920に戻る。一方、その判定結果がYESの場合にはステップS940に進む。
【0073】
このステップS940では、振幅相当量Amp[i]がしきい値2を超える回数である振幅繰り返し数Nを1だけインクリメントする。なお、ステップS940では、iampmaxでの最大値Ampmaxを含めて振幅繰り返し数Nをカウントする。つまり、図9の処理が開始されたときのiampmaxの位置で、ステップS940において振幅繰り返し数Nが1に設定されるようになっている。この後、ステップS920に戻る。
【0074】
こうしてiがiampmax+γになるまでの第2ゲート区間内に、最大値Ampmaxを含めて振幅相当量Amp[i]がしきい値2を超えた振幅繰り返し数Nをカウントする。
【0075】
そして、iがiampmax+γになると、ステップS920の判定結果がNOになり、ステップS950に進む。このステップS950では、ステップS940で設定した振幅繰り返し数Nがしきい値3を超えているか否かを判定する。振幅繰り返し数Nがしきい値3以下の場合には、ステップS950の判定結果がNOになり、上記ステップS960に進み、「ノイズ」と判定される。すなわち、ノック無しサイクルであるノイズサイクルと判定される。一方、振幅繰り返し数Nがしきい値3を超えている場合には、ステップS950の判定結果がYESになり、ステップS970に進み、「ノック」と判定される。すなわち、ノック有りサイクルであるノックサイクルと判定される。
【0076】
このようにして、気筒毎に、次の2つの条件が成立したサイクルについては、「ノック」と判定される(ステップS970)。(条件1)図14で示すように、第1ゲート区間内での最大値Ampmaxがしきい値1を超えている(ステップS910でYES)。(条件2)第2ゲート区間内での振幅繰り返し数Nがしきい値3を超えている(ステップS950でYES)。すなわち、振動成分の繰り返し性が有ると判定される。
【0077】
これに対して、最大値Ampmaxがしきい値1以下(ステップS910でNO)となる各気筒のサイクル、或いは振幅繰り返し数Nがしきい値3以下(ステップS950でNO)となる各気筒のサイクルは、いずれもノック無し、すなわち「ノイズ」(ノイズサイクル)と判定される。なお、上記ステップS900が、ノック判定手段に相当する。
【0078】
そして、図3に示す上記ステップS960に進み、「ノイズ」と判定された場合には、図3のステップS1000に進む。このステップS1000では、図2の上記ステップS800で算出したしきい値1,しきい値2を再計算する。すなわち、任意サイクルのうちステップS900でノック無しと判定されたノイズサイクルだけの最大値Ampmaxの加算平均値と、その標準偏差σを3倍した値との加算値(「ノイズ」サイクルのAmpmaxの平均値+3σ)をしきい値1として算出する。また、ノイズサイクルだけの最大値Ampmaxの加算平均値(ノイズサイクルのAmpmaxの平均値)をしきい値2として算出する。このステップS1000も、しきい値設定手段に相当する。
【0079】
この後、ステップS1100に進み、しきい値の収束判定を行なう。すなわち、ステップS1000で再計算したしきい値2の今回値が前回のしきい値2(しきい値2の前回値)と同じになったか否かを判定する。しきい値2の今回値がその前回値と同じになるまでは、ステップS900、S960およびS1000が繰り返されるので、しきい値1,しきい値2がそれぞれ徐々に下がっていく(図12参照)。また、その間にステップS900の判定結果がYESになる場合には、ステップS970に進み「ノック」と判定される。こうして、しきい値2の今回値がその前回値と同じになるまでは、「ノック」と判定されるサイクルを除外しながら(図15参照)、ノック無しと判定されたノイズサイクルだけの最大値Ampmaxの加算平均値とその標準偏差σとに基づき両しきい値1,2が再計算される。
【0080】
そして、しきい値2の今回値がその前回値と同じになり、ステップS1100の判定結果がYESになると、ステップS1200に進み、ステップS900〜S1100の繰り返し判定を終了する。これにより、気筒毎およびサイクル毎に「ノック」か「ノイズ」の判定結果(k,cycle)=「ノック」OR「ノイズ」が得られる。ここで、kは気筒番号であり、cycleはサイクル番号である。例えば、気筒#1の4サイクル目が「ノック」の場合には、(1,4)=「ノック」という判定結果が得られる。こうして、ステップS1100の判定結果がYESになった時点でノック無しと判定されていたサイクルが最終的に「ノイズ」となり、それ以外のサイクルは「ノック」となる。
【0081】
この後、図4に示すステップS1300に進む。このステップS1300では、高速データロガー26から取り込んだ各気筒のブロック振動センサ出力(任意サイクル分のブロック振動データ)を、気筒毎にノックサイクルとノイズサイクルに分けて抽出する。つまり、このステップS1300では、上記ステップS1200で得られた気筒毎およびサイクル毎の「ノック」か「ノイズ」の判定結果に基づき、任意サイクル分の各ブロック振動センサ出力をノックサイクルとノイズサイクルとに層別する。例えば、任意サイクルの2サイクル目では、気筒#1,#3,#2の各ブロック振動センサ出力はそれぞれノイズサイクル、気筒#4のブロック振動センサ出力はノックサイクル、というように任意サイクル分のブロック振動データを層別する。なお、このステップS1300が、振動センサ出力抽出手段に相当する。
【0082】
この後、ステップS1400に進む。このステップS1400では、ノックサイクルとノイズサイクルに分けて抽出した任意サイクル分の各ブロック振動センサ出力をそれぞれFFT処理する。これにより、1ノックサイクル毎のパワースペクトル(FFT結果a)と1ノイズサイクル毎のパワースペクトル(FFT結果t-b)とが算出される。なお、このステップS1400がFFT処理手段に相当する。
【0083】
この後、ステップS1500に進む。このステップS1500では、各ノックサイクルに対して、そのノックサイクルと前回「ノック」と判定されたノックサイクルとの間のノイズサイクル全ての前記FFT結果t-bを加算平均したFFT加算平均値bを算出する。すなわち、各ノックサイクルに対して、そのサイクル以前でかつ前回の判定結果「ノック」以降のノイズサイクル全てのFFT結果t-bの加算平均値を算出する。
【0084】
つまり、任意サイクルのうち、i回目のノックサイクルのFFT加算平均値をbiとすると、
biは、(i−1)回目のノックサイクルと、i回目のノックサイクルとの間のノイズサイクル全てのFFT結果t-bを加算平均した値である。4気筒エンジンの判定結果(ノック判定結果)およびbiの計算例をステップS1500で示してある。ここでは、判定結果「ノイズ」を×で、判定結果「ノック」を○でそれぞれ示してある。また、ここでは、気筒#4の2サイクル目が1回目のノックサイクルであり、気筒#4の3サイクル目が2回目のノックサイクルであり、そして、気筒#3の5サイクル目が3回目のノックサイクルであることを示している。また、ここでは、i回目のノックサイクルの前記FFT結果をaiで、1回目のノックサイクルのFFT結果をa1で、2回目のノックサイクルのFFT結果をa2で、そして、3回目のノックサイクルのFFT結果をa3でそれぞれ示している。
【0085】
1回目のノックサイクルに対しては、そのノックサイクル以前のノイズサイクル全て、すなわち気筒#1の1サイクル目から気筒#3の2サイクル目までのノイズサイクル全てのFFT結果t-bを加算平均したFFT加算平均値b1がステップS1500で算出される。同様に、2回目のノックサイクルに対しては、気筒#2の2サイクル目から気筒#3の3サイクル目までのノイズサイクル全てのFFT結果t-bを加算平均したFFT加算平均値b2が算出される。また、3回目のノックサイクルに対しては、気筒#2の3サイクル目から気筒#1の5サイクル目までのノイズサイクル全てのFFT結果t-bを加算平均したFFT加算平均値b3が算出される。
【0086】
このようにステップS1500では、ノックサイクル毎に、(i−1)回目のノックサイクルとi回目のノックサイクルとの間のバックグラウンドレベルを表すi回目のノックサイクルのFFT結果biを算出している。なお、このステップS1500が加算平均値算出手段に相当する。
【0087】
この後、ステップS1600に進む。このステップS1600では、上記ステップS1500で算出したi回目のノックサイクルのFFT結果aiと、i回目のノックサイクルのFFT加算平均値をbiとの差分(ai−bi)に基づき、ノックサイクル毎にノック強度ciを算出する。すなわち、このステップS1600では、差分(ai−bi)を所定の周波数区間で積分してノックサイクル毎のノック強度を算出する。例えば、差分(ai−bi)をノック波形の振動周波数に相当する12〜14KHz程度の可聴帯で積分する。なお、このステップS1600がノック強度算出手段に相当する。
【0088】
この後、ステップS1700に進む。このステップS1700では、任意サイクルのノックレベルを、次の手順で算出する。
(1)まず、ステップS1600で算出したノック強度ciに対して3つのしきい値A,B,Cを設け、ノック強度を4領域に分割する(4つの強度段階に分ける)。つまり、0<ci<しきい値Aの場合、ノック強度ciはTK(トレースノック)であると判定する。また、しきい値A≦ci<しきい値Bの場合、ノック強度ciは小ノックであると判定する。また、しきい値B≦ci<しきい値Cの場合、ノック強度ciは中ノックであると判定する。そして、しきい値C≦ciの場合、大ノックであると判定する。
【0089】
(2)次に、任意サイクル(解析サイクルNサイクル)中のノック強度の分布、つまりノック強度毎に任意サイクル中のノック頻度を算出する。算出したノック強度の分布を、ステップS1700のグラフで示している。このグラフの横軸はノック強度を、その縦軸は頻度をそれぞれ表している。ここでは、小ノックの頻度が一番大きい(最も高い)ことを示している。
【0090】
(3)次に、(2)で求めた4つの強度段階に分けて求めた各段階のノック頻度のうち、頻度が最も高い強度段階のノック強度を任意サイクルのノックレベルとして算出する(決定する)。ここでは小ノックの頻度が最も高いので、任意サイクルの(現在の)ノックレベルとして小ノックが算出される。なお、ステップS1700の(1)および(2)の処理がノック頻度算出手段に相当し、また、その(3)の処理がノックレベル算出手段に相当する。
【0091】
以上説明したように、エンジン21の点火時期等を自動適合するには、ステップS10で定常状態と点火時期の設定を変えながら、各設定条件でエンジン21を任意サイクル運転して得たデータに基づき、上記ノックレベル算出処理を行う。これにより、各設定条件でのノックレベルをそれぞれ自動的に検出することができる。
【0092】
以上のように構成された一実施形態によれば、以下の作用効果を奏する。
(イ)各気筒のブロック振動センサ23の出力を、ノック有りと判定されたノックサイクルとノック無しと判定されたノイズサイクルに分けて抽出する(ステップS1300)。これにより、筒内圧を利用して1サイクル毎に、絶対にノックの発生していないサイクルと、少なくとも筒内ではノックが発生しているサイクルとに層別できる。このため、各筒内圧センサ出力と同時に各ブロック振動センサ出力を計測することで、筒内圧情報をもとにノック有り無しの層別を自動的に行なうことができる。すなわち、人間の聴感でノック判定をする必要がない。
【0093】
(ロ)各ブロック振動センサ出力にバックグラウンドノイズ以上の振動が含まれていれば、間違いなく音としてノックが発生していることになる。このようなノックの強度を、各ノックサイクルのFFT結果aとFFT加算平均値bとの差分(a−b)に基づき、ノックサイクル毎に算出することができる(ステップS1600)。すなわち、そのFFT加算平均値bは、各ノックサイクルとそのサイクル以前に「ノック」と判定されたサイクルとの間のバックグラウンドレベルを表している。各ノックサイクルのFFT結果aとそのノックサイクルに対して算出したバックグラウンドレベルとの差分(a−b)に基づいて、ノック強度をノックサイクル毎に算出することができる。その結果、人間の聴感でノック判定する場合は、ある一定時間エンジン近傍で音を聞き、その時のバックグラウンド音とノック音を聞き分けてノックレベルを決定する。この場合、人による差や、聞く方向の違いにより、レベルが異なってしまうが、こうした自動適合をする上で妨げとなる要因を排除できる。したがって、エンジンの点火時期等を自動適合する際に、狙いのノックレベルを自動検出可能になり、点火時期等の自動適合が可能になる。
【0094】
(ロ)エンジン21の点火時期等を自動適合する際に、ステップS10で定常状態と点火時期の設定を変えながら、各設定条件でエンジン21を任意サイクル運転して得たデータに基づき、上記ノックレベル算出処理を行う。これにより、各設定条件でのノックレベルをそれぞれ自動的に検出することができる(ステップS1700)。
【0095】
(ハ)自動適合時にノックを自動検出する狙いのノックレベルは聴感上許容可能なノックレベルであり、このような狙いのノックレベルを自動検出するためには、ノックレベルを定量的に扱う必要がある。聴感上許容可能なノックレベルは、1回当たりに聞えるノック強度とその頻度により決まる。そのうちのノック強度をステップS1600で算出できる。つまり、ノックサイクル毎のノック強度を、人間によりしきい値を設定することなく、前記差分を所定の周波数区間で積分して求めることができる。
【0096】
定の周波数区間は可聴帯であることを要旨とする。
(ニ)任意サイクル中のノックサイクル毎にノック強度を算出するのに、FFT結果aとFFT加算平均値b(上記バックグラウンドレベル)の差分(a−b)をノックとしている。これにより、各ブロック振動センサ出力にバックグラウンドノイズ以上の振動が含まれていれば、間違いなく音としてノックが発生していることになる。このようなシリンダヘッド、シリンダブロックを通して外部へノック音として伝わるノックを、FFT結果aとFFT加算平均値bの差分で表すことができる。
【0097】
(ホ)ステップS1600で算出したノック強度毎に任意サイクル中のノック頻度を算出する(ステップS1700の処理(1),(2))。こうして求めたノック強度とノック頻度からノックレベルを算出する(ステップS1700の処理(3))。このように、ノック強度に加えてノック頻度を算出し、ノック強度とその頻度からノックレベルを算出することで、現在の運転条件でのノックレベルを自動検出することができる。
【0098】
(ヘ)ノック強度を4つの強度段階に分け、各段階の頻度を算出し(ステップS1700の処理(1),(2))、算出した頻度が最も高い強度段階のノック強度を現在のノックレベルと決定する(ステップS1700の処理(3))。これにより、ノックレベルを定量的に扱うことができ、聴感上許容可能なノックレベルを自動的に検出することができる。(請求項5)
(ト)ステップS1600では、差分(ai−bi)を所定の周波数区間、例えば、ノック波形の振動周波数に相当する12〜14KHz程度の可聴帯で積分する。このため、シリンダブロックを通して外部へ音として伝わるノックの強度を算出することができる。
【0099】
(チ)ステップS1500では、ノックサイクル毎に、(i−1)回目のノックサイクルとi回目のノックサイクルとの間のバックグラウンドレベルを表すi回目のノックサイクルのFFT結果biを算出している。このバックグラウンドレベルと各ノックサイクルのパワースペクトル(FFT結果a)の差分(ai−bi)を積分してノック強度を算出する(ステップS1600)。このため、各ノックサイクルのノック強度として、ノックサイクル毎に異なるバックグランドレベルに応じた最適な値を算出することができる。
【0100】
[ 変形例]
なお、この発明は以下のように変更して具体化することもできる。
・上記一実施形態では、任意サイクル運転して得られる任意サイクル分の各ブロック振動センサ出力を、2つのサイクルに層別して(ステップS1300)、FFT処理する(ステップS1400)ようにしているが、本発明はこのような構成に限定されない。例えば、任意サイクルの運転中に、各ブロック振動センサ出力を順次取得しながら、ステップS1300〜S1600およびS1700の処理(1)をリアルタイムで行なうようにしてもよい。これにより、任意サイクルの運転が終了した時点では、ステップS1700の処理(2)と(3)を行なえだけでよく、ノックレベルを迅速に算出することができる。
【0101】
・上記一実施形態では、ステップS1600で差分(ai−bi)を所定の周波数区間で積分するようにしているが、その周波数区間は上記可聴帯に限らず、適宜の積分範囲を設定可能である。
【0102】
・上記一実施形態では、ステップS1700の処理(1)で、ノック強度ciに対して3つのしきい値A,B,Cを設け、ノック強度を4つの強度段階に分けるようにしているが、その強度段階の数は「4」に限らず、適宜設定可能である。
【0103】
・上記一実施形態において、ステップS800で算出するしきい値1を、最大値Ampmaxの任意サイクル分の加算平均値と、その標準偏差σを3以外の整数倍した値との加算値としてもよい。
【0104】
・上記一実施形態では、本発明を4気筒のエンジン21に適用した例を示したが、本発明は多気筒の内燃機関に広く適用可能である。
・上記一実施形態では、指圧線の圧縮上死点位置TDC近傍に極大値(変曲点)ができる場合には、その変曲点はTDCの近傍にできるので、TDCをその変曲点に代えて1つの変曲点に設定しているが、その変曲点の位置を算出して、この変曲点を1つの変曲点として設定するようにしても良い。
【0105】
・上記一実施形態では、高速データロガー26は、各筒内圧センサ出力を例えば200KHzでサンプリングしているが、そのサンプリング周波数は適宜変更可能である。
【0106】
・上記一実施形態において、図12に示す第1ゲート区間を図14に示す第2ゲート区間と同じにしても良い。
以下、上記一実施形態から把握できる技術思想について説明する。
【0107】
(1)各気筒の筒内圧を検出する複数の筒内圧センサを備えた自動適合用ノック自動検出装置において、
前記複数の筒内圧センサからそれぞれ出力される各筒内圧センサ出力を高周波サンプリングして、気筒毎およびサイクル毎に筒内圧データを収録する高速データ収録手段と、
前記筒内圧データに基づき、前記各筒内圧センサ出力に含まれる振動成分の振幅相当量を気筒毎およびサイクル毎に算出する振動成分抽出手段と、
気筒毎およびサイクル毎に、前記振幅相当量の最大値或いは積分値を算出する振幅最大値算出手段と、
前記最大値或いは積分値の任意サイクル分の加算平均値と標準偏差とからしきい値を算出するしきい値算出手段と、
前記最大値或いは積分値と前記振動成分の繰り返し性の有無とに基づくノック判定を気筒毎およびサイクル毎に行い、同最大値或いは積分値がしきい値を超えかつ前記繰り返し性が有る場合にノックと判定するノック判定手段と、
前記各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、前記判定結果に基づきノックサイクルとノイズサイクルに分けて抽出する振動センサ出力抽出手段と、
前記ノックサイクルと前記ノイズサイクルに分けて抽出した各気筒のブロック振動センサ出力をそれぞれFFT処理して1ノックサイクル毎のFFT結果(a)と1ノイズサイクル毎のFFT結果(t-b)を算出するFFT処理手段と、
各ノックサイクルに対して、そのノックサイクルと前回ノックと判定されたノックサイクルとの間のノイズサイクル全ての前記FFT結果(t-b)を加算平均したFFT加算平均値(b)を算出する加算平均値算出手段と、
前記FFT結果(a)と前記FFT加算平均値(b)との差分に基づき、ノックサイクル毎にノック強度を算出するノック強度算出手段とを備えることを特徴とする自動適合用ノック自動検出装置。
【0108】
(2)上記(1)に記載の自動適合用ノック自動検出装置において、前記ノック強度算出手段は、前記差分を所定の周波数区間で積分してノックサイクル毎のノック強度を算出することを特徴とする自動適合用ノック自動検出装置。
【0109】
(3)上記(2)に記載の自動適合用ノック自動検出装置において、前記所定の周波数区間は可聴帯であることを特徴とする自動適合用ノック自動検出装置。
(4)上記(1)〜(3)のいずれかに記載の自動適合用ノック自動検出装置において、前記ノック強度算出手段により算出したノック強度毎に任意サイクル中のノック頻度を算出するノック頻度算出手段と、前記ノック強度と前記ノック頻度から任意サイクルでのノックレベルを算出するノックレベル算出手段とを備えることを特徴とする。自動適合用ノック自動検出装置。
【0110】
(5)上記(4)に記載の自動適合用ノック自動検出装置において、前記ノック頻度算出手段は、前記ノック強度を任意の強度段階に分けて各段階の頻度を算出し、前記ノックレベル算出手段は、前記ノック頻度算出手段により算出した頻度が最も高い強度段階のノック強度を任意サイクルのノックレベルと決定することを特徴とする自動適合用ノック自動検出装置。
【図面の簡単な説明】
【図1】 一実施形態に係る自動適合用ノック自動検出装置の全体を模式的に示す構成図。
【図2】 ノックレベル算出処理を示すフローチャート。
【図3】 図2のノックレベル算出処理の続きを示すフローチャート。
【図4】 図3のノックレベル算出処理の続きを示すフローチャート
【図5】 図2のステップS500の処理内容を示すフローチャート。
【図6】 図2のステップS600における変曲点1つの場合で筒内圧上昇中の振幅相当量の計算処理を示すフローチャート。
【図7】 図2のステップS600における変曲点1つの場合で筒内圧下降中の振幅相当量の計算処理を示すフローチャート。
【図8】 図2のステップS700の処理内容を示すフローチャート。
【図9】 図3のステップS900の処理内容を示すフローチャート。
【図10】 変曲点1つの場合で筒内圧上昇中の振幅相当量の計算処理を示す説明図。
【図11】 変曲点1つの場合で筒内圧下降中の振幅相当量の計算処理を示す説明図。
【図12】 筒内圧波形を示すグラフ。
【図13】 図12の筒内圧波形から抽出した振動波形を示すグラフ。
【図14】 しきい値と振動成分の関係を示す説明図。
【図15】 しきい値の再計算についての説明図。
【符号の説明】
21…内燃機関としてのエンジン、23…ブロック振動センサ、24…筒内圧センサ、26…高速データ収録手段としての高速データロガー、27…筒内圧解析用パソコン。
Claims (5)
- 内燃機関の点火時期等を自動適合する装置に適用され、各気筒の筒内圧センサ出力を高周波サンプリングした筒内圧データに基づき気筒毎およびサイクル毎にノックかノイズの判定をするノック判定手段を備える自動適合用ノック自動検出装置であって、
前記各気筒の筒内圧センサ出力と同時計測する各気筒のブロック振動センサ出力を、前記ノック判定手段によりノック有りと判定されたノックサイクルとノック無しと判定されたノイズサイクルに分けて抽出する振動センサ出力抽出手段と、
前記ノックサイクルと前記ノイズサイクルに分けて抽出した各気筒のブロック振動センサ出力をそれぞれFFT処理して1ノックサイクル毎のFFT結果(a)と1ノイズサイクル毎のFFT結果(t-b)を算出するFFT処理手段と、
各ノックサイクルに対して、そのノックサイクルと前回ノックと判定されたノックサイクルとの間のノイズサイクル全ての前記FFT結果(t-b)を加算平均したFFT加算平均値(b)を算出する加算平均値算出手段と、
前記FFT結果(a)と前記FFT加算平均値(b)との差分に基づき、ノックサイクル毎にノック強度を算出するノック強度算出手段とを備えることを特徴とする自動適合用ノック自動検出装置。 - 前記ノック強度算出手段は、前記差分を所定の周波数区間で積分してノックサイクル毎のノック強度を算出することを特徴とする請求項1に記載の自動適合用ノック自動検出装置。
- 前記所定の周波数区間は可聴帯であることを特徴とする請求項2に記載の自動適合用ノック自動検出装置。
- 前記ノック強度算出手段により算出したノック強度毎に任意サイクル中のノック頻度を算出するノック頻度算出手段と、前記ノック強度と前記ノック頻度から任意サイクルでのノックレベルを算出するノックレベル算出手段とを備えることを特徴とする請求項1〜3のいずれか一項に記載の自動適合用ノック自動検出装置。
- 前記ノック頻度算出手段は、前記ノック強度を任意の強度段階に分けて各段階の頻度を算出し、前記ノックレベル算出手段は、前記ノック頻度算出手段により算出した頻度が最も高い強度段階のノック強度を任意サイクルのノックレベルと決定することを特徴とする請求項4に記載の自動適合用ノック自動検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002154619A JP3851591B2 (ja) | 2002-05-28 | 2002-05-28 | 自動適合用ノック自動検出装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002154619A JP3851591B2 (ja) | 2002-05-28 | 2002-05-28 | 自動適合用ノック自動検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003343338A JP2003343338A (ja) | 2003-12-03 |
JP3851591B2 true JP3851591B2 (ja) | 2006-11-29 |
Family
ID=29771375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002154619A Expired - Fee Related JP3851591B2 (ja) | 2002-05-28 | 2002-05-28 | 自動適合用ノック自動検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3851591B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4925251B2 (ja) * | 2005-09-16 | 2012-04-25 | 株式会社デンソー | 内燃機関のノック判定装置 |
JP4663467B2 (ja) * | 2005-09-28 | 2011-04-06 | 株式会社デンソー | ノック発生状態判定装置 |
CN105891637A (zh) * | 2016-04-14 | 2016-08-24 | 云南电网有限责任公司电力科学研究院 | 一种智能变电站二次设备测试方法及系统 |
JP7224493B2 (ja) * | 2019-12-04 | 2023-02-17 | 三菱電機株式会社 | 内燃機関の制御装置及び制御方法 |
-
2002
- 2002-05-28 JP JP2002154619A patent/JP3851591B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003343338A (ja) | 2003-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7669582B2 (en) | Knocking state determination device | |
JP3668497B2 (ja) | 内燃機関のノッキング検出方法及び点火時期制御方法 | |
US8000884B2 (en) | Device and method for controlling ignition timing of internal combustion engine | |
US7669459B2 (en) | Knocking determination device for internal combustion engine | |
RU2442116C2 (ru) | Устройство определения детонации и способ определения детонации для двигателя внутреннего сгорания | |
US8005607B2 (en) | Device and method for controlling ignition timing of internal combustion engine | |
KR20020092246A (ko) | 내연기관의 노킹제어장치 | |
JP3851591B2 (ja) | 自動適合用ノック自動検出装置 | |
JP3821033B2 (ja) | 自動適合用ノック自動検出装置 | |
US7621172B2 (en) | Knocking determination device for internal combustion engine | |
KR101032595B1 (ko) | 내연기관의 노킹을 판정하기 위한 장치 및 방법 | |
JP4096584B2 (ja) | 内燃機関のノック自動検出装置 | |
JP4167487B2 (ja) | 内燃機関のノック検出装置 | |
JP2004184228A (ja) | ノッキング検出装置 | |
JP3855811B2 (ja) | 内燃機関のノック自動検出装置 | |
JP2011179322A (ja) | ノック制御の適合方法、適合装置、および、ノック制御装置 | |
JP2015125075A (ja) | ピストンスラップ音信号検出方法とそれを用いたエンジン調整方法 | |
JP2000110653A (ja) | エンジンのノッキング判定装置 | |
Otaka et al. | Development of a device that detects knocking by analyzing engine radiation noise | |
JP4799530B2 (ja) | 内燃機関のノッキング判定装置およびノッキング判定方法 | |
JPH01318744A (ja) | 内燃機関のノッキング検出装置 | |
JPH0566151A (ja) | ノツキング検出装置 | |
JPH04326036A (ja) | ノッキング検出方法 | |
JPH0734956A (ja) | 内燃機関のノッキング検出装置 | |
JP2017190767A (ja) | 内燃機関のノッキング検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050322 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060525 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20060530 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060728 |
|
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: 20060829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060901 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100908 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110908 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120908 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130908 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |