(57)【要約】過渡時におけるノッキングの誤判定を抑制するとともに、エンジンの定常運転／過渡運転を問わずノック検出精度を向上させることができるノッキング検出装置を提供する。本発明に係るノッキング検出装置は、内燃機関の運転状態に基づきバックグラウンドレベルを推定し、その推定値を用いてノッキング判定指標を算出する。
2017141582.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関のノッキングを検出するノッキング検出装置であって、
前記内燃機関の振動を検出する振動センサ、
前記振動センサが検出した振動から２以上の周波数成分を抽出する周波数分析器、
前記周波数成分を平滑化することにより前記内燃機関の振動のバックグラウンドレベルを算出する平滑化器、
前記内燃機関の運転状態に基づき前記内燃機関のバックグラウンドレベルの推定値を取得するバックグラウンドレベル推定器、
前記周波数成分、前記バックグラウンドレベル、および前記推定値を用いて、前記内燃機関のノッキング有無を表すノッキング指標を算出する指標算出器、
前記ノッキング指標を判定閾値と比較することにより前記内燃機関のノッキングが生じているか否かを判定する判定器、
を備えることを特徴とするノッキング検出装置。
【請求項２】
前記指標算出器は、前記周波数成分から前記推定値を減算した後にその減算後の前記周波数成分を平滑化し、前記平滑化した周波数成分を合算することにより前記ノッキング指標を算出する
ことを特徴とする請求項１記載のノッキング検出装置。
【請求項３】
前記バックグラウンドレベル推定器は、前記周波数成分に対応する周波数ごとに前記推定値を取得し、
前記指標算出器は、前記平滑化した周波数成分に対して前記周波数ごとの推定値を合算することにより前記ノッキング指標を算出する
ことを特徴とする請求項２記載のノッキング検出装置。
【請求項４】
前記指標算出器は、前記周波数ごとの推定値を合算した結果に対する、前記周波数成分の比または差分を、前記周波数ごとに算出し、その算出結果を合算することにより、前記ノッキング指標を算出する
ことを特徴とする請求項３記載のノッキング検出装置。
【請求項５】
前記ノッキング検出装置は、前記内燃機関の負荷、前記内燃機関の回転数、および前記推定値の対応関係を記述したマップデータを格納する記憶装置を備え、
前記バックグラウンドレベル推定器は、前記内燃機関の負荷と前記内燃機関の回転数を用いて前記マップデータを参照することにより、前記推定値を取得する
ことを特徴とする請求項１記載のノッキング検出装置。
【請求項６】
前記バックグラウンドレベル推定器は、
前記内燃機関が備えるスロットルの開閉状態を表すスロットルセンサ信号、
前記内燃機関に対する吸入空気量を表す吸入空気量信号、
前記内燃機関の内部における燃料噴射を指示する燃料噴射パルス信号、
前記内燃機関に接続された吸気管の内部の圧力を示す吸気管圧力信号、
のうち少なくともいずれかを取得し、
前記バックグラウンドレベル推定器は、前記取得したスロットルセンサ信号、前記取得した吸入空気量信号、前記取得した燃料噴射パルス信号、前記取得した吸気管圧力信号のうち少なくともいずれかを用いて、前記推定値を取得する
ことを特徴とする請求項１記載のノッキング検出装置。
【請求項７】
前記ノッキング検出装置は、前記内燃機関が備えるインジェクタが発生させるインジェクタノイズの想定値を記述したデータを格納する記憶装置を備え、
前記平滑化器は、前記周波数成分から前記想定値を減算することにより、前記インジェクタノイズに対応する成分を除去する
ことを特徴とする請求項１記載のノッキング検出装置。
【請求項８】
前記平滑化器は、前記周波数分析器が抽出していない周波数成分を、前記周波数分析器が抽出した周波数成分を用いて補間することにより補う
ことを特徴とする請求項１記載のノッキング検出装置。
【請求項９】
請求項１記載のノッキング検出装置、
前記ノッキング指標を用いて前記内燃機関の点火時期を制御する制御装置、
を備えることを特徴とする内燃機関制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関のノッキングを検出する技術に関する。
【背景技術】
【０００２】
内燃機関の燃焼室の中では、条件によっては過早着火が発生し、これによりエンジンから異音が発生したり、燃焼室内の過剰な圧力により機関が破損したりする可能性がある。これらを防止するために、ノッキングを精度良く検出することが必要である。【０００３】
周知のようにノッキングは、燃焼室内の端末部の未燃ガスの自己発火により燃焼室内のガスが振動を起こし、この振動が機関本体に伝わる現象である。ノッキングは、機関の発生エネルギの損失（出力低下）や機関各部への衝撃、さらには燃費の低下等を招来するので、できるだけ回避するのが望ましい。そのためには、ノッキングの発生を正確に検出することが不可欠である。【０００４】
従来、例えば下記特許文献１に記載のように、振動検出センサの出力信号の中から５〜１２ｋＨｚの範囲の単一の共鳴周波数成分だけをバンドパスフィルタを用いて分離し、その出力の積分値がバックグラウンドレベル（ノックセンサの信号自体の過去値を加重平均して平均化したもの）より大きくなったか否かにより、ノッキングの発生を検出するものが知られている。【０００５】
特許文献１のように、単一の共鳴周波数成分だけを用いてノッキングの発生を検出する手法は、バックグラウンドレベルが高速回転時に大きくなり正確なノッキング発生の検出ができなかったり、機関の諸元が変化するとノッキングの共鳴周波数も変化して正確なノッキング発生の検出ができなかったりする課題があった。そこで下記特許文献２は、複数の共鳴周波数成分を取り出してノッキングの検出を行う方法を提案している。【０００６】
下記特許文献３は、バックグラウンドレベルを検出するために用いる遅れフィルタに起因する応答遅れを解決する手法を記載している。同文献においては、エンジン回転数変化により運転状態を検出し、その運転状態に基づきノッキング判定閾値を補正する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭５８−４５５２０号公報
【特許文献２】特開平３−４７４４９号公報
【特許文献３】特開昭６３−２９５８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
燃費の向上や排気浄化性能の向上などの要求により、機関の圧縮比を上げる試みがなされている。他方で、圧縮比を上げることによりノッキングが発生し易くなるので、ノッキングの検出精度をさらに向上することが期待されている。【０００９】
特許文献２記載のように、複数の共鳴周波数成分を取り出してノッキングを検出する方法においてさらにノッキングの検出精度を高める場合、以下に述べるような課題を解決する必要がある。すなわち、ノッキングを検出するための１つのパラメータとして用いられるバックグラウンドレベルを算出するためには、ノッキングが発生していないときのノックセンサ入力の平均値を正確に算出する必要がある。例えば遅れフィルタを用いて平均値を算出する場合は、フィルタをより強くかける必要がある。一方、遅れフィルタは運転状態変動時に応答性が遅れる特性を有している。この応答遅れが大きいと、機関の負荷変動時にノッキング発生の誤検出による点火時期の誤差が発生し、特に、動力性能、排気ガス性能、燃料消費性能等に悪影響を及ぼす場合があった。【００１０】
特許文献３において、複数の共鳴周波数を用いて検出制度を向上させた場合、エンジン回転数変化によるノックセンサの出力増大のみならず、エンジン負荷状態によるノックセンサの出力増大についても高精度に検出してしまう。そのため、スロットル開度の急変によって上記と同様の誤検出の危険性が増大する可能性がある。【００１１】
本発明は、上記のような課題に鑑みてなされたものであり、その目的は、過渡時におけるノッキングの誤判定を抑制するとともに、エンジンの定常運転／過渡運転を問わずノック検出精度を向上させることができるノッキング検出装置を提供することである。
【課題を解決するための手段】
【００１２】
本発明に係るノッキング検出装置は、内燃機関の運転状態に基づきバックグラウンドレベルを推定し、その推定値を用いてノッキング判定指標を算出する。
【発明の効果】
【００１３】
本発明に係るノッキング検出装置によれば、過渡運転時においてバックグラウンドレベルを算出する際の追従性が高まるので、平滑化処理を強くかけることができる。これにより過渡時におけるノッキングの誤判定を抑制するとともに、エンジンの定常運転／過渡運転を問わずノック検出精度を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】ノッキングが発生していない時の振動センサ出力の周波数成分の解析結果を表わした図である。
【図２】ノッキングが発生した時の振動センサ出力の周波数成分の解析結果を表わした図である。
【図３】ノッキング判定指標を用いてノッキング発生の有無を判定する一般的原理について説明する図である。
【図４】過渡運転時におけるスロットル開度、エンジン回転数、周波数ｆｉのバックグラウンドレベルＢＧＬｉ、ノック指標、ノック判定信号（ノック有無を表す信号）の経時変化を示す例である。
【図５】エンジン点火装置のシステム構成図である。
【図６】コントロールユニット９のブロック図である。
【図７】ノッキング有無を判定する手順を説明するフローチャートである。
【図８】従来技術におけるノッキング有無を判定する手順を説明する演算チャートである。
【図９】本発明におけるノッキング有無を判定する手順を説明する演算チャートである。
【図１０】ＣＰＵ２０が点火時期を演算する手順を説明するフローチャートである。
【図１１】バックグラウンドレベルの推定値を記述したマップデータのイメージ図である。
【発明を実施するための形態】
【００１５】
以下ではまず本発明におけるノッキング検出の一般的原理について説明する。その後、本発明の実施形態について説明する。
【００１６】
＜ノッキング検出の一般的原理＞
エンジンの振動には、例えば、ピストンの摩擦、クランク軸の回転、弁の作動等による多くの振動成分が含まれている。しかも、これらの振動成分はエンジン状態によって変化する。エンジンにノッキングが発生すると、ノッキングに特有な振動が発生する。ノッキングの発生有無の判定は、振動センサが検出するエンジン全体の振動からノッキングに特有な振動を分離することによってなされる。
【００１７】
図１は、ノッキングが発生していない時の振動センサ出力の周波数成分の解析結果を表わした図である。ここでは略２０ＫＨｚまでの範囲内における解析結果を例示したが、本発明の対象はこれに限らない。以下の図面においても同様である。
【００１８】
図２は、ノッキングが発生した時の振動センサ出力の周波数成分の解析結果を表わした図である。図１と図２を比較すれば分かるように、ノッキングが発生している場合は、ノッキングが発生していない場合に比して、各々の共鳴周波数成分が大きくなっていることが理解できる。例えば、周波数ｆ１０、ｆ０１、ｆ１１近傍においてノッキングが発生している。
【００１９】
図３は、ノッキング判定指標を用いてノッキング発生の有無を判定する一般的原理について説明する図である。以下の原理説明においては、便宜上、図２で示した共鳴周波数ｆ１０（６．３ＫＨｚ）とｆ０１（１３．０ＫＨｚ）の共鳴周波数成分ω１０Ｐ（ｆ１０）、ω０１Ｐ（ｆ０１）を用いてノッキング判定指標を算出する例を説明する。ただし本発明はこれに拘束されるものではなく、任意の２以上の共鳴周波数成分を用いてノッキング発生の有無を判定することができる。
【００２０】
振動センサは、ノッキング発生による振動とバックグラウンド振動（ノッキング以外の要因によって発生する振動）を合成して検出する。したがってノッキング判定指標Ｉは、ノッキングが発生していないときはバックグラウンド振動に対応する指標Ｉｂであり、ノッキングが発生したときはバックグラウンド振動に対応する指標Ｉｂとノッキングに対応する指標Ｉｋの合成により求められる。
【００２１】
ノッキング判定指標Ｉは、主要な共鳴周波数成分を用いて下記式１により表すことができる。ωはエンジン回転数により定まる実数値である。ωは１か０かの２値をとることもできる。Ｐは各共鳴周波数成分の振動強度（パワースペクトル）である。
【００２２】
Ｉ＝ω１０Ｐ（ｆ１０）＋ω２０Ｐ（ｆ２０）＋ω０１Ｐ（ｆ０１）＋ω３０Ｐ（ｆ３０）＋ω１１Ｐ（ｆ１１）  （式１）
【００２３】
図３に示すように、バックグラウンド振動の共鳴周波数成分によって示されるノッキング判定指標Ｉｂと、ノッキングの発生による振動の共鳴周波数成分によって示される指標Ｉｋとは、方向と大きさを異にしている。これは人間による聴覚試験でも明らかなように、ノック無の場合のエンジン音に対し、ノック有の場合は例えばカリカリ等という音で聴き分けられることに対応する。
【００２４】
バックグラウンド振動に対してノッキング発生による振動が加わると、ノッキング判定指標Ｉは閾値Ｉ０２を超過する。これによりノッキングが発生していることを判定することができる。以下本明細書において、式１の右辺の５つの項に限らず、振動センサの出力に含まれる複数の共鳴周波数成分を組み合わせることにより算出する指標は、すべてノッキング判定指標（以下ノック指標という）と定義する。
【００２５】
このように、バックグラウンド振動に加えてノッキング発生による特有な周波数成分を考慮してノック指標を算出するので、バックグラウンド振動が大きくなってもノッキング発生の有無を判定することができる。
【００２６】
＜本発明におけるノッキング検出の基本的考え方＞
本発明においては、ノック指標を算出する際に、従来と同様に、振動センサが検出した振動を周波数成分ごとに平均化することによりバックグラウンドレベルを算出する。この場合、ノッキングが発生していないとしても、例えばエンジンや燃焼振動の増大により振動強度が急変すると、バックグラウンドレベルの算出結果が最新状態に追従することができず、以下の図４で説明するようにノッキングを誤検出する可能性がある。
【００２７】
図４は、過渡運転時におけるスロットル開度、エンジン回転数、周波数ｆｉのバックグラウンドレベルＢＧＬｉ、ノック指標、ノック判定信号（ノック有無を表す信号）の経時変化を示す例である。図４において、スロットル開度ＴＶＯを全閉から全開にした場合、実際にエンジン回転数Ｎｅが立ち上がるのは遅れ時間をおいてからである。ＢＧＬｉは本来破線で示したような動きであるが、平均化処理によりＢＧＬｉを算出すると実線で示したような遅れが生じてしまう。ノック指標はＳ／Ｎ比（ＢＧＬｉに対する各周波数成分成分の比）の計算により求めている。
【００２８】
図４に示す例によれば、ＢＧＬｉが遅れることにより、ノッキングが発生していないにもかかわらず、ノック指標は理論的なノック指標を超過し、その結果としてノッキングを誤判定していることが分かる。この理由についてさらに説明する。
【００２９】
バックグラウンドレベルが急増したとき、平均化処理を実施することにより求めるバックグラウンドレベルの算出結果が実際の値に対して遅れることになる。ノック指標としてＢＧＬｉに対するノイズの比を用いる場合、バックグランドレベルの算出遅れはノック指標の分母が実際の値よりも小さくなることにつながり、したがってノック指標が本来の値よりも大きく算出されることになる。そうすると過渡運転状態においては、ノック指標とノック判定閾値との間のクリアランスが小さくなり、ノッキングが発生していないにもかかわらずノッキング有りと判定される可能性がある。図４に示す例はこのような状態を示している。
【００３０】
本発明は、図４に例示するようにバックグラウンドレベルの算出結果が実際のバックグラウンドレベルに対して追従できずに遅れることに起因する誤判定を抑制する。具体的には、内燃機関の運転状態からバックグラウンドレベルを別途推定し、その推定結果を用いてノック指標を算出する。これにより、バックグラウンドレベルの算出遅れに起因するノッキング誤判定を抑制する。
【００３１】
＜実施の形態１：装置構成＞
図５は、エンジン点火装置のシステム構成図である。空気はエアクリーナ１の入口部より入り、ダクト３、絞弁を有するスロットルボディ５、吸気管６を通り、エンジン７のシリンダ内に吸入される。ダクト３には熱線式空気流量計２が設けられている。熱線式空気流量計２は、吸入空気量を検出してその結果を表す検出信号をコントロールユニット９に対して出力する。
【００３２】
燃料は、図示していない燃料タンクからインジェクタ１６を経て噴射され、吸入通路内で吸入空気と混合され、エンジン７のシリンダ内に供給される。混合気はエンジン７により圧縮され、点火プラグ１５により着火される。爆発後の混合気は排気管８から排出される。排気管８には排気センサ１１が設けられている。排気センサ１１の検出結果を表す検出信号は、コントロールユニット９に対して入力される。
【００３３】
点火コイル１３により発生した高電圧は、分配器１４によって各気筒に分配され、点火プラグ１５に対して供給される。クランク角センサ１２は、エンジンの回転状態を検出する。クランク角センサ１２は、１回転毎の絶対位置を示すＲｅｆ信号および当該絶対位置からの所定角度移動した位置を示すＰＯＳ信号を出力する。Ｒｅｆ信号及びＰＯＳ信号はコントロールユニット９に対して入力される。エンジン７には振動を検出する振動センサ（燃焼状態センサ）１５１が取り付けてあり、その検出結果を表す検出信号はコントロールユニット９に対して入力される。
【００３４】
図６は、コントロールユニット９のブロック図である。コントロールユニット９は、各センサからの信号に基づいて燃料供給量や点火時期などを演算し、インジェクタ１６と点火コイル１３に対して制御信号を出力する。コントロールユニット９は、制御ブロック３４とノッキング検出ブロック３５に大別される。
【００３５】
制御ブロック３４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）２０、Ａ／Ｄ変換器２１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２、入力Ｉ／Ｏ２３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２４、ＤＰＲＡＭ（Ｄｕａｌ  Ｐｏｒｔ  ＲＡＭ）２５、出力Ｉ／Ｏ２６、バス３７を備える。
【００３６】
ノッキング検出ブロック３５は、ＣＰＵ２９、ポート２７、タイミング回路２８、Ａ／Ｄ変換器３０、ＲＯＭ３１、ＲＡＭ３２、クロック３３、オペレーショナル回路３８、バス３６を備える。ＣＰＵ２０とＣＰＵ２９の間のデータの交換は、例えばＤＰＲＡＭ２５を介してなされる。
【００３７】
熱線式空気流量計２によって検出された吸入空気量Ｑａは、Ａ／Ｄ変換器２１によってデジタル値に変換され、ＣＰＵ２０に取り込まれる。クランク角センサ１２によって検出されるＲｅｆ信号及びＰＯＳ信号は、入力Ｉ／Ｏ２３を通じてＣＰＵ２０に取り込まれる。ＣＰＵ２０は、ＲＯＭ２２が格納しているプログラムにしたがって演算を実施し、演算結果は出力Ｉ／Ｏ２６を介して、燃料噴射量を指示する燃料噴射時間信号Ｔｉ、点火時期を指示する点火時期信号θｉｇｎとして各アクチュエータに対して出力される。ＲＡＭ２４は演算処理中の必要なデータを格納する。
【００３８】
オペレーショナル回路３８が上死点（Ｔｏｐ  Ｄｅａｄ  Ｃｅｎｔｅｒ）を示すＴＤＣ信号を発生すると、タイミング回路２８はＣＰＵ２０がポート２７に対して入力した内容にしたがって、クロック３３の発生する周期信号を分周することによりサンプリング信号を発生する。Ａ／Ｄ変換器３０は、サンプリング信号が発生すると、振動センサ１５１の出力信号をデジタル値に変換する。
【００３９】
ノッキングを検出するための従来の振動センサは、１３ＫＨｚ付近で共振するが、本実施形態においては少なくとも１８〜２０ＫＨｚまでの共鳴周波数成分を得るために、１８ＫＨｚ以上で共振するものを用いる。ＣＰＵ２９は、ＲＯＭ３１が格納しているプログラムにしたがって、サンプリングされたデジタル値をＲＡＭ３２に格納するとともに、後述の図７で説明するフローチャートにしたがってノッキング発生の有無を判定する。ノッキング発生の有無の判定結果は、ＤＰＲＡＭ２５を介してＣＰＵ２０に対して通知される。
【００４０】
＜実施の形態１：ノッキング判定手順＞
図７は、ノッキング有無を判定する手順を説明するフローチャートである。本フローチャートは、エンジンの爆発サイクル毎に実行されるものであり、ＣＰＵ２９に対して割り込みをかけることにより、ＣＰＵ２９が実施するものである。以下図７の各ステップについて説明する。
【００４１】
（図７：ステップＳ１０１〜Ｓ１０２）
ＣＰＵ２９は、振動センサ１５１からの検出信号がＡ／Ｄ変換器３０によって変換されたＡ／Ｄ変換値を取り込む（Ｓ１０１）。ＣＰＵ２９は、振動センサ１５１の検出信号を周波数分析する（Ｓ１０２）。この周波数分析は、例えば高速フーリエ変換やウォルシュフーリエ変換などによって実施することができる。
【００４２】
（図７：ステップＳ１０３）
ＣＰＵ２９は、ステップＳ１０２において分析した周波数成分のうち、共鳴周波数を含むものを複数個選択する。例えば８個の共鳴周波数を選択する。本ステップにおいて選択する周波数成分は、例えばエンジンの仕様などに応じてあらかじめ定めておくことができる。
【００４３】
（図７：ステップＳ１０４）
ＣＰＵ２９は、振動強度を表わすＳ／Ｎ比を、ステップＳ１０３において選択した周波数成分毎に求める。具体的には、選択した周波数成分（ｆ１、・・・、ｆｉ）に対応するバックグラウンドレベル（ＢＧＬ１、・・・、ＢＧＬｉ）を平滑化処理により求め、周波数毎のＳ／Ｎ比ＳＬｉ＝ｆｉ／ＢＧＬｉを求める。ステップＳ１０３において８個の周波数成分を選択した場合は、ＳＬ１〜ＳＬ８を求めることになる。
【００４４】
（図７：ステップＳ１０４：補足）
本ステップにおいてバックグラウンドレベルを算出する際には、振動センサ１５１が検出した信号成分をそのまま用いるのではなく、バックグラウンドレベルの推定値をあらかじめ減算した上で加重平均を算出し、その後にバックグラウンドレベルの推定値を加算し直す。その結果に対するｆｉの比率を、本ステップにおけるＳＬｉとして算出する。具体的な手順は後述の図８〜図９で説明する。
【００４５】
（図７：ステップＳ１０５）
ＣＰＵ２９は、ステップＳ１０３において選択した周波数成分のうち、ステップＳ１０４において求めたＳ／Ｎ比が大きい順にｍ個を抽出し、これらを合算することによりノック指標Ｉを求める。例えば上位５個の周波数成分のＳ／Ｎ比を抽出して加算することができる。
【００４６】
（図７：ステップＳ１０６）
ＣＰＵ２９は、判定閾値とステップＳ１０５において求めたノック指標Ｉを比較する（Ｓ１０６）。ノック指標Ｉのほうが大きい場合はステップＳ１０７へ進み、それ以外であればステップＳ１１１へ進む。
【００４７】
（図７：ステップＳ１０６：補足）
本ステップにおいて用いる判定閾値は、あらかじめ定めておくこともできるし、例えばエンジン回転数などの運転状態に基づき算出することもできる。算出手法としては、例えば運転状態と判定閾値との間の対応関係をあらかじめ定義したデータマップなどを用いることができるが、これに限られるものではない。
【００４８】
（図７：ステップＳ１０７〜Ｓ１０８）
ＣＰＵ２９は、ノッキングが発生したと判断し（Ｓ１０７）、ノッキング発生を示すノックフラグに“１”をセットする（Ｓ１０８）。このノックフラグは、別に起動される点火制御タスクにおいて用いられる。
【００４９】
（図７：ステップＳ１１１）
ＣＰＵ２９は、ノッキングが発生していないと判断する。ＣＰＵ２９は、バックグラウンドレベルＢＧＬｉを更新する。ＢＧＬｉは、ステップＳ１０３において選択した周波数成分の振動強度を遅れフィルタ処理することにより求める。具体的には、周波数成分毎にＢＧＬｉ＝ＢＧＬｉ×（１−α）＋ｆｉ×αを求める。
【００５０】
（図７：ステップＳ１１２）
ＣＰＵ２９は、ノックフラグを“０”にセットする。
【００５１】
以上、本発明におけるノッキング有無を判定する手順を説明した。以下では従来技術におけるノッキング有無を判定する手順と本発明を比較しながら、本発明における手順の詳細について説明する。
【００５２】
図８は、従来技術におけるノッキング有無を判定する手順を説明する演算チャートである。各ステップはＣＰＵが実施するものとする。以下図８における各演算ブロックの処理について説明する。
【００５３】
振動センサはエンジンの振動を検出し（Ｓ３０１）、ＡＤ変換器はその検出結果をデジタル信号に変換する（Ｓ３０２）。振動信号に対して例えばバンドパスフィルタを適用することにより、ノック指標を算出するために用いる周波数成分（ここでは３つの周波数成分を例示した）を抽出する（Ｓ３０３）。ＣＰＵは、周波数成分ごとに加重平均を算出する（Ｓ３０４）。ＣＰＵは、算出した加重平均を適当な指標（例えばステップＳ１０４で説明したバックグラウンドレベルに対する比率）に変換する（Ｓ３０５）。ＣＰＵは、各周波数成分の指標を加算することによりノック指標を求める（Ｓ３０６）。ノック判定閾値は、ステップＳ１０６と同様に求めることができる（Ｓ３０７）。ＣＰＵは、ノック指標とノック判定閾値を比較することにより、ノッキング有無を判定する。
【００５４】
図８の各演算ブロックには、過渡運転時における算出結果を模式的に示す図を併記している。過渡運転時においては、周波数成分が時間とともに増加する。Ｓ３０４において加重平均によりバックグラウンドレベルを算出すると、バックグラウンドレベルが実際よりも小さい値として得られるので、結果としてノック指標が大きくなり、誤判定が生じる可能性がある。
【００５５】
図９は、本発明におけるノッキング有無を判定する手順を説明する演算チャートである。各ステップはＣＰＵ２９が実施するものである。以下図９における各演算ブロックの処理について説明する。
【００５６】
ステップＳ３０１〜Ｓ３０３は従来技術と同様である。これらは図７におけるＳ１０１〜Ｓ１０３に対応する。
【００５７】
ステップＳ４０１において、ＣＰＵ２９は、例えばエンジン回転数や負荷などに基づきエンジンの運転状態を推定する。ＲＯＭ３１は、エンジンの運転状態とその運転状態における標準的なバックグラウンドレベルとの間の対応関係を記述したマップデータをあらかじめ格納している。バックグラウンドレベルは周波数成分ごとに記述されている。ＣＰＵ２９は、推定した運転状態に基づきマップデータを参照することにより、現在の運転状態におけるバックグラウンドレベルを推定する。本ステップは、ステップＳ１０４：補足で説明した処理に対応する。
【００５８】
ステップＳ４０２において、ＣＰＵ２９は、Ｓ３０３において抽出した周波数成分ごとに、対応する周波数成分のバックグラウンドレベルを減算する。これにより、回転数や負荷の変化によるバックグラウンドレベルの変動が後続の加重平均に対して入力されないことになるので、加重平均処理にともなう追従遅れを抑制することができる。ただし本ステップにおいて減算したバックグラウンドレベルは、加重平均後のステップＳ４０３において周波数成分ごとに足し戻すこととする。本ステップは、ステップＳ１０４：補足で説明した処理に対応する。
【００５９】
ステップＳ３０４は従来技術と同様であるが、周波数成分ごとにあらかじめバックグラウンドレベルを減算した後に、改めて周波数成分ごとに加重平均を算出する点が異なる。ステップＳ４０３において、ＣＰＵ２９は、周波数成分ごとの加重平均結果に対して、ステップＳ４０２で減算したバックグラウンドレベルを周波数成分ごとに足し戻す。これにより、信号レベルは減算前の水準まで戻されることになる。これらステップは、ステップＳ１０４：補足で説明した処理に対応する。
【００６０】
ステップＳ３０５は従来技術と同様であり、ステップＳ１０４に対応する。ただしＳ／Ｎ比ＳＬｉを算出する際の分母はステップＳ４０３の結果であり、分子はステップＳ３０３において抽出した周波数成分である。本ステップに到達する前にステップＳ３０４とステップＳ４０３を介してバックグラウンドレベルの過渡変動が除去されているので、従来技術とは異なり過渡変動にともなう誤判定を抑制することができる。ステップＳ３０６以降は従来技術と同様でありステップＳ１０５以降に対応する。
【００６１】
図１０は、ＣＰＵ２０が点火時期を演算する手順を説明するフローチャートである。ＣＰＵ２０は、周期的に（例えば１０ｍｓｅｃ毎）起動される。以下図１０の各ステップについて説明する。
【００６２】
（図１０：ステップＳ２０１）
ＣＰＵ２０は、ＲＡＭ２４内に設定された所定のレジスタからエンジン回転数Ｎと吸入空気量Ｑを読みこむ。
【００６３】
（図１０：ステップＳ２０２）
ＣＰＵ２０は、単位回転数当たりの吸入空気量Ｑ／Ｎ（基本燃料噴射量）を演算し、さらに吸入空気量Ｑ／Ｎから燃料噴射時間幅Ｔｉを求める。ＣＰＵ２０は、ＲＯＭ２２内に格納されている基本点火時期マップから基本点火時期θｂａｓｅを求める。基本点火時期マップは、吸入空気量Ｑ／Ｎ、回転数Ｎ、および基本点火時期θｂａｓｅの対応関係を記述したデータマップである。
【００６４】
（図１０：ステップＳ２０３）
ＣＰＵ２０は、ノックフラグ（ＣＰＵ２９が図７にしたがって求めたもの）にしたがってノッキング発生の有無を判定する。ノッキングが発生していればステップＳ２１３へ進み、発生していなければステップＳ２０４へ進む。
【００６５】
（図１０：ステップＳ２１３）
ＣＰＵ２０は、点火時期θａｄｖから所定の遅角量Δθｒｅｔを減算する。この減算によって点火時期が遅角（リタード）される。
【００６６】
（図１０：ステップＳ２１４）
ＣＰＵ２０は、カウント値Ａを初期化してステップＳ２０８に進む。カウント値Ａは、ノッキング発生回数をカウントするための変数である。カウント値Ａの用い方については後述のステップで説明する。
【００６７】
（図１０：ステップＳ２０４）
ＣＰＵ２０は、カウント値Ａを１つカウントアップする（Ｓ２０４）。ＣＰＵ２０は、カウント値Ａが所定値（例えば５０）に到達したか否かを判断する。到達している場合はステップＳ２０６へ進み、到達していない場合はステップＳ２０８へスキップする。
【００６８】
（図１０：ステップＳ２０６〜Ｓ２０７）
ＣＰＵ２０は、進角値θａｄｖに対して所定の進角量Δθａｄｖを加算する。この加算により、ステップＳ２１３において遅角された点火時期がリカバーされることになる。本フローチャートを１０ｍｓｅｃ毎に起動する場合、カウント値Ａが５０に到達した時点において、カウント値Ａが初期化されてから０. ５秒が経過したことになる。すなわち本ステップは、ノッキング発生により点火時期を遅角させてから０. ５秒が経過する毎に、点火時期をリカバーするものである。ＣＰＵ２０は、Ａを初期化する。
【００６９】
（図１０：ステップＳ２０８）
ＣＰＵ２０は、基本点火時期θｂａｓｅに対して進角値θａｄｖを加えることにより、点火時期θｉｇｎを演算する。
【００７０】
（図１０：ステップＳ２０９）
ＣＰＵ２０は、ＲＯＭ２２内に格納されている最大進角値マップから最大進角値θｒｅｓを読み出す。最大進角値マップは、吸入空気量Ｑ／Ｎ、回転数Ｎ、および基本点火時期θｒｅｓの対応関係を記述したデータマップである。
【００７１】
（図１０：ステップＳ２１０〜Ｓ２１１）
ＣＰＵ２０は、点火時期θｉｇｎが最大進角値θｒｅｓを超えたかを判断する。超えていなければステップＳ２１２へスキップする。超えている場合、θｉｇｎは進角しすぎているので、ステップＳ２１１において点火時期θｉｇｎを最大進角値θｒｅｓにセットする。
【００７２】
（図１０：ステップＳ２１２）
ＣＰＵ２０は、エンジン状態に応じて、ディレイ時間ｔｄ、サンプリング点数ｎｓ、分周比ｔｓをポート２７に対して出力する。分周比ｔｓによって振動センサ１５１の出力のデジタル値のサンプリング周期が決まり、サンプリング点数ｎｓによってサンプリング点数が決まる。
【００７３】
＜実施の形態１：まとめ＞
本実施形態１に係るコントロールユニット（ノッキング検出装置）９は、振動センサ１５１の周波数成分からバックグラウンドレベルの推定値をあらかじめ減算した上で加重平均し、その後にバックグラウンドレベルの推定値を足し戻す。これにより、加重平均処理においてはバックグラウンドレベルの過渡変動が除外されるので、その過渡変動にともなう算出遅れとこれを原因とするノッキング誤検出を抑制することができる。したがって、全ての運転状態において化点火時期を最適に制御することが可能となる。
【００７４】
＜実施の形態２＞
図１１は、バックグラウンドレベルの推定値を記述したマップデータのイメージ図である。マップデータは、エンジン回転数（または変化率）、エンジン負荷（または変化率）、バックグラウンドレベル（または規定レベルに対する補正値）の対応関係を記述している。図１１に示す例においては、高回転側／高負荷側でバックグラウンドレベルが上がる傾向がある。
【００７５】
バックグラウンドレベルを推定するその他手法として、ＣＰＵ２９は、スロットルセンサ信号（スロットル開度を表す信号）、吸入空気量信号（エンジンに対する吸入空気量を表す信号）、燃料噴射パルス信号（燃料噴射を指示するパルス信号）、吸気管圧力信号（吸気管６の内部の圧力を表す信号）などの負荷状態を表すセンサ信号を取得し、これら信号に基づき運転状態を推定してもよい。これら信号と運転状態との間の対応関係は、例えば図１１と同様のマップデータなどによって記述することもできるし、その他適当な手法により運転状態を算出することもできる。さらには、図１１に例示するエンジン回転数とエンジン負荷のマップデータを組み合わせてもよい。
【００７６】
＜本発明の変形例について＞
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換える事が可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について他の構成の追加・削除・置換をすることができる。
【００７７】
以上の実施形態において、ＣＰＵ２９（周波数分析器、平滑化器、バックグラウンドレベル推定器、指標算出器、判定器に相当）がソフトウェアを実行することによりノッキング検出のための各ステップを実施することを説明したが、同等の機能を回路デバイスなどのハードウェアにより実装してもよい。例えば周波数分析、平滑化、マップデータから推定値を取得する処理、ノック指標の算出、閾値判定のうちいずれか１以上を、回路デバイスによって実装してもよい。
【００７８】
シリンダブロックに取り付けられた振動センサ１５１からの出力は、エンジン回転数や負荷の上昇により増大する特性を持っている。これは、エンジン内でのピストンスラッジなどのメカニカルノイズや燃焼モード変化によるものである。したがってステップＳ１０３において、シリンダごとに異なる周波数成分を選択することもできる。
【００７９】
振動センサ１５１は、インジェクタ１６が動作することに起因するインジェクタノイズを取得するため、インジェクタ１６を作動させる期間をサンプリングウインドウとしてセットしてそのウインドウ内でインジェクタノイズを取得する。このインジェクタノイズはノック指標を算出する際に不要であるので、除去することが望ましい。そこで、想定されるインジェクタノイズを記述したデータをあらかじめＲＯＭ２２などに格納しておき、ＣＰＵ２９はサンプリングウインドウ内における振動センサ１５１の検出結果からそのインジェクタノイズを減算してもよい。これにより、インジェクタノイズに影響されることなくノック指標を正確に算出することができる。
【００８０】
バックグラウンドレベルの推定値を記述したマップデータは、標準的なバックグラウンドレベルを記述するものであるので、バックグラウンドレベルの過渡的な変動については同マップデータ内に記述しないことが望ましい。例えば、エンジン回転数やエンジン負荷が急増したときバックグラウンドレベルも急増することが想定されるが、そのような急変するバックグラウンドレベルについてはマップデータ内に記述しないこととする。具体的には、バックグラウンドレベルの変動率がある範囲以内のもののみマップデータ内に記述することが望ましい。
【００８１】
振動センサ１５１の検出結果から抽出した周波数成分は、必ずしも全て抽出する必要はなく、例えば代表的な周波数成分のみ抽出して他の周波数成分は補間処理により補うこともできる。補間処理のための演算式は、例えば試験結果などに基づきあらかじめ定めておくことができる。これにより周波数成分を抽出するための演算負荷を抑制することができる。
【００８２】
以上の実施形態においては、バックグラウンドレベルに対する周波数成分の比率（Ｓ／    Ｎ比）をその周波数成分のノック指標として算出しているが、比率に代えてバックグラウンドレベルに対する差分をノック指標として用いてもよい。
【符号の説明】
【００８３】
１：エアクリーナ、２：熱線式空気流量計、３：ダクト、５：スロットルボディ、６：吸気管、７：エンジン、８：排気管、９：コントロールユニット、１１：排気センサ、１２：クランク角センサ、１３：点火コイル、１４：分配器、１５：点火プラグ、１６：インジェクタ、１５１：振動センサ。
【図１】
2017141582.tif 000003
【図２】
2017141582.tif 000004
【図３】
2017141582.tif 000005
【図４】
2017141582.tif 000006
【図５】
2017141582.tif 000007
【図６】
2017141582.tif 000008
【図７】
2017141582.tif 000009
【図８】
2017141582.tif 000010
【図９】
2017141582.tif 000011
【図１０】
2017141582.tif 000012
【図１１】
2017141582.tif 000013
【国際調査報告】
2017141582.tif 000014
2017141582.tif 000015