JP2021055587A - エンジン制御装置およびエンジン制御方法 - Google Patents
エンジン制御装置およびエンジン制御方法 Download PDFInfo
- Publication number
- JP2021055587A JP2021055587A JP2019177822A JP2019177822A JP2021055587A JP 2021055587 A JP2021055587 A JP 2021055587A JP 2019177822 A JP2019177822 A JP 2019177822A JP 2019177822 A JP2019177822 A JP 2019177822A JP 2021055587 A JP2021055587 A JP 2021055587A
- Authority
- JP
- Japan
- Prior art keywords
- engine
- filter
- knocking
- data
- correction
- 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.)
- Pending
Links
Images
Landscapes
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
- Testing Of Engines (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
【課題】エンジンの所定の物理量状態を正常に検出することができる。【解決手段】エンジン制御装置1は、エンジンの振動を検出する検出部11と、互いに異なるフィルタ特性を有し、前記振動を示すデータから当該フィルタ特性に応じた振動データを抽出する複数のフィルタ12と、エンジンの動作に関するパラメータに応じて、使用するフィルタを切り替えるフィルタ切替部13と、フィルタにて抽出された振動データを補正する補正部14と、補正部14にて補正された振動データを平滑化する平滑化処理部15と、補正部にて補正された振動データと平滑化処理部15にて平滑化された平滑化データとの差分に基づいてエンジンのノッキングを検出する状態検出部16とを備える。補正部14は、フィルタ切替部13による各フィルタを切り替えるタイミングを含む所定範囲内において、振動データの変化量が所定値以下となるように補正する。【選択図】図1
Description
本発明は、エンジン制御装置およびエンジン制御方法に関するものである。
ノッキングは、エンジンの燃焼室内の端末部の未燃ガスが自己発火することによって燃焼室内のガスが振動を起こし、その振動がエンジン本体に伝わる現象である。ノッキングは、例えば、エンジンの発生エネルギの損失(出力低下)およびエンジン各部への衝撃を発生させる。さらに、ノッキングは、燃費の低下を招来する。このため、エンジンの制御装置は、ノッキングの発生を抑制することが求められる。
特許文献1には、エンジンの高速回転までノッキングの検知精度が優れるノッキング検出装置が開示されている。このノッキング検出装置は、バンドパスフィルタを用いて振動センサの出力信号の中から基本振動周波数および高調波成分を抽出する。ノッキング検出装置は、バンドパスフィルタからの出力がバックグラウンドレベルより大きくなったか否かによって、ノッキングの発生を検出する。なお、バックグラウンドレベルとは、ノッキングが発生していない時の振動センサの出力信号の過去の値を平滑化したものである。
特許文献2には、互いに異なる周波数帯域のフィルタ特性を有する複数のフィルタを備える内燃機関用ノッキング検出装置が開示されている。ノッキングの共鳴周波数はエンジンの運転領域に応じて異なるため、この内燃機関用ノッキング検出装置は、エンジンの運転領域に応じて、使用するフィルタを切り替えることで、信頼性の高いノッキング検出を行うことを可能にしている。
特許文献3には、エンジンの回転数の変化に基づいてエンジンの運転状態を検出し、その運転状態に応じてノッキングを判定するための閾値を補正する内燃機関用ノッキング検出装置が開示されている。この内燃機関用ノッキング検出装置は、ノッキングの検出精度を向上させるために、複数の共鳴周波数の平均値と補正した閾値とを比較することで、ノッキングを判定している。
特許文献1に記載の技術では、基本振動周波数および高調波成分だけに基づいて、ノッキングの発生が検出される。このため、エンジンが高速回転する際にバックグラウンドレベルが大きくなると、ノッキングの発生を正確に検出することが難しい。また、エンジンの諸元が変化すると、ノッキングの共振周波数も変化するため、この観点からも、ノッキングの発生を正確に検出することが難しい。
特許文献2に記載の技術では、エンジンの運転領域に応じてフィルタを切り替えることにより、ノッキング検出の信頼性を高めることができる。しかしながら、フィルタを切り替えることによって、フィルタの出力は変化するが、バックグラウンドレベルは、フィルタの出力を平滑化することによって得られるため、フィルタの出力に対して遅れて変化する。このため、ノッキングの発生を誤検出することがある。なお、ノッキングの発生が誤検出されると、点火時期に誤差が発生し、特に、動力性能、排気浄化性能および燃料消費性能等に影響を与えることがある。
特許文献3では、検出精度を向上させるために複数のノッキングの共鳴周波数の平均値と閾値とを比較した場合、エンジンの回転数の増加に応じて増大する振動センサの出力も、高精度に検出してしまう。そのため、スロットル開度の急変によって、ノッキングの発生が誤検出される恐れがある。
そこで、本発明は、上記の課題を解決する為になされたものであり、ノッキングを正常に検出可能なエンジン制御装置を提供することを目的とする。
エンジン制御装置は、エンジンを制御するエンジン制御装置であって、前記エンジンの振動を検出する検出部と、互いに異なるフィルタ特性を有し、前記振動を示すデータから当該フィルタ特性に応じた振動データを抽出する複数のフィルタと、前記エンジンの動作に関するパラメータに応じて、使用する前記フィルタを切り替えるフィルタ切替部と、前記使用するフィルタにて抽出された振動データを補正する補正部と、前記補正部にて補正された振動データを平滑化する平滑化処理部と、前記補正部にて補正された振動データと前記平滑化処理部にて平滑化された平滑化データとの差分に基づいて、前記エンジンのノッキングを検出する状態検出部と、備え、前記補正部は、前記フィルタ切替部による前記フィルタを切り替えるタイミングを含む所定範囲内において、前記振動データの変化率が所定値以下となるように補正する。
本発明によると、ノッキングを正常に検出することができる。
以下、本開示の実施例を各図面に基づいて説明するが、各実施例は、各図面に記載の内容に限定されるものではない
図1は、エンジン制御装置1の概略図である。エンジン2は、例えば、エアクリーナ21と、熱線式空気流量計22と、ダクト23と、スロットルボディ24と、吸気管25と、インジェクタ26と、シリンダ27と、吸気バルブ28と、点火ユニット30と、分配器31と、点火プラグ32と、ピストン33と、クランクシャフト34と、クランク角センサ35と、排気バルブ36と、排気管37と、排気センサ38と、振動センサ39とを備える。
エンジン2に吸入される空気は、エアクリーナ21の入口部より入り、ゴミ等が取り除かれ、その後、ダクト23、スロットルボディ24および吸気管25を通り、シリンダ27に吸入される。熱線式空気流量計22は、ダクト23に設けられ、ダクト23を通過する空気の流量を吸入空気量Qaとして測定する。熱線式空気流量計22は、吸入空気量Qaを示す情報をエンジン制御装置1へ送信する。エンジン制御装置1は、吸入空気量Qaに基づいて、ダクト23を通過する空気の流量を、スロットルボディ24を用いて調整する。
燃料は、図示していない燃料タンクからインジェクタ26を経て吸気管25に噴射され、空気と混合される。吸気バルブ28が開くと、燃料と空気との混合気は、シリンダ27内の燃焼室29に吸入される。
また、点火ユニット30により発生した高電圧は、分配器31によって各気筒に分配され、点火プラグ32に対して供給される。これにより、燃焼室29内の混合気が点火プラグ32により着火され、燃焼室29内で爆発が生じ、その結果、ピストン33が下降し、そのピストン33の動きがクランクシャフト34に伝えられ、回転運動に変換される。爆発後の混合気は、排気バルブ36が開くことにより、排気管37から排出される。排気管37には、排気センサ38が設けられる。排気センサ38は、検出結果を表す検出信号をエンジン制御装置1に送信する。
クランク角センサ35は、エンジン2の回転状態を検出する。クランク角センサ35は、エンジン2の回転状態を表すクランク角信号として、1回転毎の絶対位置を示すRef(Reference)信号と、絶対位置からの所定角度移動した位置を示すPOS(POSition)信号とをエンジン制御装置1へ送信する。振動センサ(燃焼状態センサ)39は、エンジン2の振動を検出し、その検出結果を表す振動データVdをエンジン制御装置1に送信する。なお、エンジン2の振動には、例えば、ピストン33の摩擦、クランクシャフト34の回転またはスロットルボディ24の作動等による複数の振動成分が含まれる。
エンジン制御装置1は、検出部11と、複数のフィルタ12と、フィルタ切替部13と、補正部14と、平滑化処理部15と、ノッキング検出部16とを備える。
検出部11は、振動センサ39からの振動データVdを取得する。検出部11は、フィルタ12に振動データVdを送信する。各フィルタ12は、エンジン2のノッキングを検出する為に、エンジン2の動作に関する運転パラメータに応じて予め設定される。運転パラメータは、例えば、エンジン2の回転数Ne、エンジン2の負荷Ieおよびエンジン2の温度の少なくとも1を含む。
フィルタ12は、振動データVdの中から、所定の周波数帯域fb1〜fb5(図3参照)のノッキング周波数データKdを抽出する。ノッキング周波数データKdは、例えば、ノッキングが発生する際に起こる振動を示す。各フィルタ12は、マイクロコンピュータに実装されるソフトウェアによるデジタルフィルタで実現されてもよい。
フィルタ切替部13は、複数のフィルタ12の中で、使用するフィルタ12を運転パラメータに応じて切り替える。フィルタ切替部13は、例えば、エンジン2の回転数Neに応じて、使用するフィルタ12を切り替える。この場合、フィルタ切替部13は、クランク角センサ35から送信されるRef信号およびPOS信号に基づいてエンジン2の回転数Neを取得する。
補正部14は、ノッキング周波数データKdを補正して、補正データCd(図7(2)参照)を生成する。補正部14は、補正データCdを平滑化処理部15とノッキング検出部16とに送信する。なお、補正部14の詳細は、図10にて後述する。
平滑化処理部15は、補正データCdからバックグラウンドレベルBl(図7(3)参照)を算出する。
平滑化処理部15は、バックグランドレベルBlのデータをノッキング検出部16に送信する。ノッキング検出部16のことを「状態検出部」と呼んでもよい。ノッキング検出部16は、補正データCdとバックグランドレベルBlとに基づいて、ノッキングを検出する。なお、エンジン制御装置1の各機能11〜16についてのより詳細な説明は、図7にて後述する。
図2〜図4において、エンジン2にて発生する振動データVdについて説明する。図2は、ノッキングが発生していない時の振動データVdの周波数成分を示す図である。なお、図中において、略20KHzまでの範囲内における周波数成分を例示するが、本実施例の対象はこれに限らない。以下の図面においても、略20KHzまでの範囲内における周波数成分を例示するが、本実施例の対象はこれに限らない。
図3は、ノッキングが発生した際の振動データVdの周波数成分を示す図である。図3(1)および図3(2)では、エンジン2の運転パラメータ(具体的には、回転数Ne)が互いに異なる。図2および図3を比較すれば分かるように、ノッキングが発生した場合、ノッキングが発生していない場合と比較して、特有の共鳴周波数成分が大きくなる。図3(1)の例では、周波数fr10、fr01およびfr11の近傍においてノッキングが発生している。
また、図3(1)および図3(2)を比較すれば分かるように、エンジン2の回転数Neに応じてノッキングの特徴周波数が変化する。例えば、図3(1)の場合には、ノッキングは、上述したように周波数fr10、fr01およびfr11の近傍において発生し、図3(2)の場合には、ノッキングは、周波数g10、g01、g30およびg11の近傍において発生している。
したがって、エンジン制御装置1は、エンジン2の運転パラメータに応じて、フィルタ12を切替えることにより信頼性の高いノッキング判定が可能となる。このため、例えば、エンジン制御装置1は、周波数fr10、fr01およびfr11を含む周波数帯域fb1およびfb2を通過させる第1のフィルタf1と、周波数g10、g01、g30およびg11を含む周波数帯域fb3〜fb5を通過させる第2のフィルタf2とを予め用意する。フィルタ切替部13は、エンジン2の運転パラメータに応じて、第1のフィルタf1と第2のフィルタf2とを切り替える。なお、各フィルタ12は、ハイパスフィルタ、ローパスフィルタまたはバンドパスフィルタ等でもよい。使用するフィルタ12は複数あってもよい。つまり、ノッキング周波数データKdを抽出する際に、複数のフィルタを用いてノッキング周波数データKdを抽出してもよい。
図4は、ノッキング判定指標を用いてノッキング発生の有無の判定を説明するための説明図である。以下では、便宜上、図3にて示した共鳴周波数fr1(6.3KHz)の共鳴周波数成分ω1P(fr1)および共鳴周波数fr4(18.0KHz)の共鳴周波数成分ω4P(fr4)をを用いてノッキング判定指標Idを算出する例を説明する。なお、本実施形態は、上述の一例に限定されるものではなく、任意の2以上の共鳴周波数成分を用いてノッキング発生の有無を判定してもよい。
振動センサ39は、ノッキング発生による振動とバックグラウンド振動(ノッキング以外の要因によって発生する振動)とが合成された振動を検出する。ノッキング判定指標Idは、ノッキングが発生した場合には、バックグラウンド振動に対応する指標Ibとノッキングに対応する指標Ikの合成により求められる。ノッキング判定指標Idは、ノッキングが発生していない場合には、バックグラウンド振動に対応する指標Ibと一致する。
ノッキング判定指標Idは、主要な共鳴周波数成分を用いて下記式1により表すことができる。「ω」は、エンジン回転数により定まる実数値である。「ω」は「1」か「0」かの二値をとることもできる。「P」は各共鳴周波数成分の振動強度(パワースペクトル)である。
Id=ω10P(fr10)+ω20P(fr20)+ω01P(fr01)+ω30P(fr30)+ω11P(fr11)・・・(式1)
Id=ω10P(fr10)+ω20P(fr20)+ω01P(fr01)+ω30P(fr30)+ω11P(fr11)・・・(式1)
図4に示すように、バックグラウンド振動の共鳴周波数成分によって示されるノッキング判定指標Idと、ノッキングの発生による振動の共鳴周波数成分によって示される指標Ikとは、それぞれ方向と大きさが異なる。この相違は、人間の聴覚による試験でも聴き分けることができる。具体的には、ノッキングが発生している場合、ノッキングが発生していない場合のエンジン音に加えて、例えば、「カリカリ」とっいた音がさらに聞こえる。
バックグラウンド振動に対してノッキングによる振動が加わると、ノッキング判定指標Idは、閾値mを超過する。これにより、エンジン制御装置1は、エンジン2にてノッキングが発生していると判定する。以下、式1の右辺の5つの項に限らず、振動センサ39の出力に含まれる複数の共鳴周波数成分を組み合わせることにより算出する指標は、全てノッキング判定指標(以下ノック指標という)と定義する。エンジン制御装置1は、バックグラウンド振動に加えてノッキングによる特有な周波数成分を考慮してノック指標を算出することにより、バックグラウンド振動が大きくなってもノッキング発生の有無を判定することができる。
本実施例のエンジン制御装置1は、ノック指標を算出する際に、振動センサが検出した振動を周波数成分ごとに積算することによりバックグラウンドレベルを算出する。エンジン制御装置は、ノッキングが発生していない場合でも、例えば、エンジン2または燃焼振動の増大により振動強度が急変すると、バックグラウンドレベルの算出結果が最新状態に追従することができず、以下の図5で説明するようにノッキングを誤検出することがある。
図5は、ノッキングが誤検出される原理を説明するための図である。図5(1)は、過渡運転時におけるエンジン2の回転数Neを示す。回転数Neは、、時間tが経つにつれて、徐々に増大する。回転数Neは、時間t2において所定の回転数ncに到達する。
図5(2)は、使用するフィルタ12の切り替えから出力される振動データの帯域である通過帯域を示す。フィルタ切替部13は、回転数Neが回転数ncに到達する時間t2までは第1のフィルタf1を、使用するフィルタとして設定し、時間t2において、使用するフィルタ12を第1のフィルタf1から第2のフィルタf2に切り替える。
図5(3)は、ノッキング周波数データKdを示す。ノッキング周波数データKdでは、時間t1において、ノッキングを示す信号kが発生する。その後、ノッキング周波数データKdは、時間t2までは漸次増加する。そして、フィルタ切替部13が第1のフィルタf1から第2のフィルタf2へと切り替える時間t2において、ノッキング周波数データKdには、ステップ状の変化が生じ、その後、ノッキング周波数データKdは、漸次増加する。
図5(4)は、バックグラウンドレベルBl(1)およびBl(2)を示す。バックグラウンドレベルBl(1)は、ノッキング周波数データKdが平滑化処理部15によって平滑化されたデータである。バックグラウンドレベルBl(2)は、理想的なデータを示す。
バックグラウンドレベルBl(1)は、平滑化処理によって算出されるため、時刻t2においてステップ状の変化とならず、時刻t2以降に徐々に増加する。このため、バックグラウンドレベルBl(1)は、理想的なバックグラウンドレベルBl(2)よりも遅れて変化する。
図5(5)は、ノック指標Ki(1)およびKi(2)と閾値mとを示す。図5(6)は、ノック判定信号(ノッキングの有無を表す信号)を示す。ノック指標Ki(1)およびKi(2)は、ノッキング検出部16がS/N(Signal−Noise ratio)比を計算することにより求められる。S/N比は、バックグランドレベルBlに対するノッキング周波数データKdの比である。なお、ノック指標Ki(1)およびKi(2)を区別する必要がない場合、ノック指標Kiと呼ぶことがある。
ノック指標Ki(1)は、時刻t1(ノッキングの信号kの発生時)におけるノッキング周波数データKdの信号強度と、時刻t1におけるバックグラウンドレベルBl(1)とのS/N比によって求められる。図の例では、ノック指標Ki(1)は、閾値mよりも大きい。このため、時刻t1において、ノッキングが検出され、ノック判定信号がhighレベルとなる。
ノック指標Ki(2)は、時刻t2におけるノッキング周波数データKdの信号強度と、時刻t2におけるバックグラウンドレベルBl(1)とのS/N比によって求められる。図の例では、ノック指標Ki(2)は、閾値mよりも大きい。この場合、時刻t2において、ノッキングが発生していないにも関わらず、ノッキングが誤検出されてしまい、ノック判定信号がhighレベルとなる。
時刻t2において、ノッキングが誤検出される理由について説明する。時刻t2において、バックグランドレベルBl(1)は、理想的なバックグランドレベルBl(2)よりも遅れて変化する。これにより、ノッキング周波数データKdとバックグランドレベルBl(1)との間に差分が生じる。
ノック指標Kiとしてノッキング周波数データKdのバックグラウンドレベルBlに対するS/N比を用いる場合、バックグラウンドレベルBlの変化の遅れにより、ノック指標Kiの分母が実際の値よりも小さくなる。したがって、ノック指標Kiは、理想的な値よりも大きくなる。
このため、ノック指標Kiとノック判定の閾値mとの間のクリアランスが小さくなり、ノッキングが発生していないにもかかわらず、ノック指標Ki(2)が閾値mを超過して、ノッキングが誤検出される恐れがある。図5では、ノッキングが誤検出された状態が示されている。
したがって、エンジン制御装置1は、フィルタ12の切り替えタイミング(時刻t2)における、バックグラウンドレベルBlが理想的なバックグラウンドレベルBl(2)よりも遅れて変化することに起因するノッキングの誤検出を抑制することが求められる。以下に、ノッキングの誤検出を抑制するエンジン制御装置1について説明をする。
図6は、エンジン制御装置1のより詳細な構成を示すブロック図である。図7は、ノッキング検出処理を説明するための図である。エンジン制御装置1は、検出部11と、複数のフィルタ12と、フィルタ切替部13と、周波数合算部17と、補正部14と、平滑化処理部15と、ノック指標算出部18と、閾値演算部19と、ノッキング検出部16とを備える。
検出部11は、A/D(Analog−to−Digital)変換器102を備える。A/D変換器102は、振動センサ39から送信される振動データVdをデジタル信号に変換して各フィルタ12に送信する。フィルタ切替部13は、クランク角センサ35から送信されるRef信号およびPOS信号に基づいて、エンジン2の回転数Neを取得し、その回転数Neに応じて、使用するフィルタ12を少なくとも一つ選択する。選択されたフィルタ12は、振動データKdから所定の周波数帯域のデータを抽出し、抽出したデータを周波数合算部17に送信する。
周波数合算部17は、選択されたフィルタ12から送信されるデータを合算することにより、ノッキング周波数データKd(図7(1)参照)を算出する。周波数合算部17は、補正部14にノッキング周波数データKdを送信する。
補正部14は、補正係数算出部141と補正データ算出部142とを備える。補正係数算出部141は、クランク角センサ35から送信されるRef信号およびPOS信号に基づいてエンジン2の回転数Neを取得する。補正係数算出部141は、回転数Neに基づいて、ノッキング周波数データKdを補正するための補正係数を算出する。補正係数算出部141のより詳細な説明は、図11にて後述する。補正データ算出部142は、補正係数算出部141にて算出された補正係数に基づいて、ノッキング周波数データKdを補正して補正データCd(図7(2)参照)を算出する。補正データ算出部142は、平滑化処理部15とノック指標算出部18とに補正データCdを送信する。
補正部14は、フィルタ12を切り替えるタイミング(時刻t2)を含む所定範囲ran内における周波数強度の変化率が所定値以下となるように、ノッキング周波数データKdを補正して補正データCdを算出する。補正データCdは、図7の例では、時刻t1において、ノッキングの信号kが示される。時刻t1の後、補正データCdは、所定範囲ran内にて漸次増加する。すなわち、補正データCdは、所定範囲ran内において、ステップ状の変化が生じない。所定範囲ranは、例えば、時刻t2よりも前の時刻t3から時刻t2よりも後の時刻t4までの範囲である。
平滑化処理部15は、補正データCdに対して平滑化処理を行って、バックグラウンドレベルBl(3)を算出する。バックグラウンドレベルB1(3)では、補正データCdに示されるノッキングの信号kが平滑化される。ノック指標算出部18は、補正データCdとバックグラウンドレベルBl(3)とに基づいて、ノック指標Ki(1)を算出する。ノック指標算出部18は、ノッキング検出部16にノック指標Ki(1)を送信する。
閾値演算部19は、クランク角センサからのRef信号およびPOS信号に基づいて、回転数Neを取得する。閾値演算部19は、回転数Neに基づいて、閾値mを算出し、その閾値mをノッキング検出部16に送信する。例えば、閾値演算部19は、回転数Neと閾値mとの対応関係を定義したデータマップなどを用いて閾値mを算出する。なお、閾値mを算出する方法はこの方法に限らない。例えば、閾値mは予め設定されていてもよい。
ノッキング検出部16は、ノック指標Ki(1)および閾値m2に基づいて、ノッキングが発生しているか否かを判定する。ノッキング検出部16は、図7の例では、時刻t1においてノッキングが発生していると判定する。エンジン制御装置1は、検出結果に基づいて、点火ユニット30を制御する。
図8は、エンジン制御装置1のハードウェア構成図である。エンジン制御装置1は、各センサからの信号に基づいて燃料供給量および点火時期などを演算し、その演算結果に応じてインジェクタ26および点火ユニット30に対して制御信号を出力する。エンジン制御装置1は、制御ブロック100とノッキング検出ブロック110に大別される。
制御ブロック100は、ノッキング検出ブロック110の検出結果に基づいて、点火ユニット30等を制御する。制御ブロック100は、CPU(Central Control Unit)101と、A/D変換器102と、ROM(Read Only Memory)103と、入力I/O(Input/Output)104と、RAM(Random Access Memory)105と、DPRAM(Dual Port RAM)106と、出力I/O107と、バス108とを備える。
ノッキング検出ブロック110は、エンジン2のノッキングを検出する。ノッキング検出ブロック110は、CPU111と、ポート121と、タイミング回路123と、A/D変換器112と、ROM113と、RAM115と、クロック124と、オペレーショナル回路122と、バス118とを備える。CPU101とCPU111の間のデータの交換は、例えば、DPRAM106を介して行われる。
熱線式空気流量計22によって検出された吸入空気量Qaは、A/D変換器102によってデジタル値に変換され、CPU101に取り込まれる。クランク角センサ35によって検出されるRef信号およびPOS信号は、入力I/O104を介してCPU101に取り込まれる。CPU101は、ROM103が格納しているプログラムにしたがって演算を実施し、その演算結果として燃料噴射量を指示する燃料噴射時間信号Tiと、点火時期を指示する点火時期信号θignとを、出力I/O107を介して各アクチュエータに出力する。RAM105は、演算処理に使用するデータを格納する。
オペレーショナル回路122が上死点(TDC:Top Dead Center)を示すTDC信号を発生すると、タイミング回路123はCPU101がポート121に対して入力した内容にしたがって、クロック124の発生する周期信号を分周することにより、サンプリング信号を生成する。A/D変換器102は、サンプリング信号にしたがって、振動センサ39の出力信号をデジタル値に変換する。
CPU111は、ROM113が格納しているプログラムにしたがって、A/D変換器102にて変換されたデジタル値をRAM115に格納するとともに、後述の図9で説明するフローチャートにしたがってノッキング発生の有無を判定する。
振動センサ39は、振動データVdをノッキング検出用のフィルタ12に入力し、フィルタ12の出力がCPU111に入力される。フィルタ12は、CPU111によって任意の周波数帯を設定でき、CPU111により設定された周波数帯の周波数成分を抽出することができる。ノッキング発生の有無の判定結果は、DPRAM106を介してCPU101に対して通知される。
図9は、ノッキング検出処理を説明するためのフローチャートである。本フローチャートの処理は、エンジンの爆発サイクル毎に実行されるものであり、CPU111に対して割り込み処理を行うことにより、CPU111が実施するものである。つまり、以下のフィルタ12、フィルタ切替部13、補正部14、ノッキング検出部16、周波数合算部17、ノック指標算出部18はCPU111にて実現される。
フィルタ切替部13は、クランク角センサ35からのRef信号およびPOS信号によってエンジン2の回転数Neを検出する。フィルタ切替部13は、回転数Neに応じて、使用するフィルタ12を切り替える(ステップS1)。
フィルタ12は、振動センサ39から出力された振動データVdがA/D変換器112にて変換されたデジタル信号を取り込む(ステップS2)。フィルタ12は、取り込んだ振動データVdからノッキングの特徴周波数を含む帯域のデータを抽出する周波数分析を行う(ステップS3)。フィルタ12による周波数分析は、例えば、高速フーリエ変換またはウォルシュフーリエ変換などを用いることで実施することもできる。
周波数合算部17は、フィルタ12から抽出されたデータから、共鳴周波数を含む周波数成分を複数選択し、それらの周波数成分を積算してノッキング周波数データKdを算出する(ステップS4)。例えば、周波数合算部17は、8個の共鳴周波数を選択する。なお、選択される周波数成分は、本実施例では、フィルタ切替部13にて選択されるフィルタ12に応じて決定されるが、エンジン2の仕様等に応じて予め設定されてもよい。これにより、運転領域に応じたノッキングの特徴周波数の抽出漏れを抑制することができるため、ノッキングの検出精度を高めることができる。
補正部14は、周波数合算部17にて算出されたノッキング周波数データKdから補正データCdを算出する(ステップS5)。なお、補正データCdの算出処理のより詳細な説明は、図10〜図12を用いて後述する。
ノック指標算出部18は、補正データCdと後述する平滑化処理により求めるバックグラウンドレベルBl(3)とからノック指標Ki(S/N比)を算出する(ステップS6)。ノック指標Kiの算出式は
Ki=fi/BGL・・・(式2)
である。式(2)において「fi」は、補正データCdにおける周波数強度を示し、「BGL」は、バックグラウンドレベルBl(3)の周波数強度を示す。
Ki=fi/BGL・・・(式2)
である。式(2)において「fi」は、補正データCdにおける周波数強度を示し、「BGL」は、バックグラウンドレベルBl(3)の周波数強度を示す。
ノッキング検出部16は、閾値m2とノック指標Kiとを比較する(ステップS7)。ノック指標Kiが閾値m以上の場合(ステップS7:Yes)、ノッキング検出部16は、ノッキングが発生したと判断する(ステップS8)。ノッキング検出部16は、ノッキングの発生の有無を示すノックフラグに、ノッキングが発生したことを示す値である「1」を設定する(ステップS9)。ノックフラグは、図13にて後述する点火時期の演算において用いられる。
ノック指標Kiが閾値m未満の場合(ステップS7:No)、ノッキング検出部16は、ノッキングが発生しなかったと判定し、平滑化処理部15は、バックグラウンドレベルBlを更新する(ステップS10)。平滑化処理部15は、例えば、補正データCdと前回のバックグラウンドレベルBl(3)との加重平均を算出することにより、バックグラウンドレベルBlを新たに算出する。ノッキング検出部16は、ノックフラグに、ノッキングが発生していないことを示す値である「0」を設定する(ステップS11)。
図10は、補正データCdの説明図である。図10において、縦軸が周波数強度fiを示し、横軸が回転数Neを示す。フィルタf1が選択された場合、ノッキング周波数データKdは、回転数ne1にて周波数強度fi1を示し、回転数ncにて周波数強度fi2を示す。回転数ne1は、フィルタ12を切り替える時刻t2よりも前の時刻t3におけるエンジン2の回転数Neである。
フィルタf2が選択された場合、ノッキング周波数データKdは、回転数ncにて周波数強度fi3を示し、回転数ne2にて周波数強度fi4を示す。回転数ne2は、フィルタ12を切り替える時刻よりも後のt4におけるエンジン2の回転数Neである。図から明らかなように、ノッキング周波数データKdは、フィルタ12が切り替えられる回転数ncにおいて、周波数強度fi2から周波数強度fi3までステップ状に変化する。
補正部14は、フィルタ12の切り替えによるノッキング周波数データKdの変化率が所定値以下となるように、ノッキング周波数データKdを補正して補正データCdを算出する。例えば、補正部14は、ノッキング周波数データKdにおける周波数強度fi1から周波数強度fi4までの範囲に対して線形補間を行ったものを補正データCdとして算出する。この場合、補正係数算出部141は、ノッキング周波数データKdを補正データCdへと補正する補正係数を算出する。
補正係数は、ノッキング周波数データKdに乗算することで、ノッキング周波数データKdを補正データCdに補正する係数であり、回転数Neに応じて変化する。補正係数は、具体的には、回転数Neが回転数ne1から回転数ncまでの間は、ノッキング周波数データKdの周波数強度fiを増加させる方向に設定され、回転数Neが回転数ncから回転数ne2までの間は、ノッキング周波数データKdの周波数強度fiを減少させる方向に設定される。また、回転数Neが回転数ne1よりも小さい場合、および、回転数Neが回転数ne2よりも大きい場合、補正係数は、ノッキング周波数データKdの周波数強度fiを変更しないように設定される。つまり、補正係数は「1」に設定される。
図11は、補正係数算出部141を説明するための図である。図12は、補正データCdを算出する算出処理(ステップS5)を説明するためのフローチャートである。図11では、縦軸は補正係数γを示し、横軸は回転数Neを示す。
先ず、補正係数算出部141は、回転数nc上における目標ノッキング周波数データficを算出する(ステップS51)。目標ノッキング周波数データficは、例えば、ノッキング周波数データKdを直線補間した後の回転数ncにおける周波数強度を示す。以下では、目標ノッキング周波数データficを目標データficと略記する場合がある。ステップS51が終了すると、補正係数算出部141は、回転数nc上におけるノッキング周波数データKdを目標データficに補正するための補正係数γAおよびγBを算出する(ステップS52)。補正係数算出部141は、補正係数γAおよびγBに基づいて、ノッキング周波数データKd全体を補正するための補正係数γを求める第1の補正式F1(Ne)および第2の補正式F2(Ne)を算出する(ステップS53)。
上記のステップS51では、補正係数算出部141は、例えば、回転数ne1およびne2における周波数強度fi1およびfi4を取得する。回転数ne1から回転数ncを減算した差分をnd1とし、回転数ncから回転数ne2を減算した差分をnd2とすると、目標データficは、以下の式3によって求められる。
fic=((fi1×nd2)+(fi4×nd1))/(nd1+nd2)・・・(式3)
なお、式3は、ノッキング周波数データKdを直線補間する場合に用いる式であり、他の補正方法の場合には、他の式を用いて目標データficを算出する。
fic=((fi1×nd2)+(fi4×nd1))/(nd1+nd2)・・・(式3)
なお、式3は、ノッキング周波数データKdを直線補間する場合に用いる式であり、他の補正方法の場合には、他の式を用いて目標データficを算出する。
ステップS52では、補正係数算出部141は、回転数nc上におけるノッキング周波数データKdの周波数強度fi2およびfi3を取得する。補正係数算出部141は、周波数強度fi2およびfi3を目標データficに補正する補正係数γAおよびγBを、以下の式4および5を用いて算出する。
γA=fic/fi2・・・(式4)
γB=fic/fi3・・・(式5)
γA=fic/fi2・・・(式4)
γB=fic/fi3・・・(式5)
ステップS53では、補正係数算出部141は、回転数ne1およびne2における補正係数を「1」と設定する。図11では、回転数ne1と補正係数「1」との関係は点41(1)で示され、回転数ncと補正係数γAとの関係は点41(2)で示され、回転数ncと補正係数γBとの関係は点41(3)で示され、回転数ne2と補正係数「1」との関係は点41(4)で示されている。
補正係数算出部141は、点41(1)と点41(2)とを通る線を表す式を、フィルタf1が選択されている場合に補正係数を算出する第1の補正式F1(Ne)として算出する。また、補正係数算出部141は、点41(3)と点41(4)とを通る線を表す式を、フィルタf2が選択されている場合に補正係数を算出する第2の補正式F2(Ne)として算出する。
補正係数算出部141は、回転数Neを取得する(ステップS54)。補正係数算出部141は、回転数Neが所定の閾値ncよりも小さいか否かを判定する(ステップS55)。回転数Neが閾値ncよりも小さい場合(ステップS55:Yes)、補正係数算出部141は、補正係数を算出する補正式として、第1の補正式を選択する(ステップS56)。
回転数Neが所定の閾値nc以上の場合(ステップS55:No)、補正係数算出部141は、補正係数を算出する補正式として、第2の補正式を選択する(ステップS57)。補正係数算出部141は、選択された補正式に基づいて、回転数Neに応じた補正係数を算出する(ステップS58)。補正データ算出部142は、補正係数算出部141にて算出される補正係数γに基づいて、補正データCdを算出する(ステップS59)。補正データ算出部142は、具体的には、ノッキング周波数データKdの値に補正係数γを乗算することにより、補正データCdを算出する。
なお、補正係数算出部141は、算出した補正係数をROM113等の記憶部に記憶してもよい。この場合、補正データ算出部142は、記憶された補正係数を用いて補正データCdを算出してもよい。
また、本実施例では、回転数Neに基づいて補正データCdを算出しているが、エンジンの負荷またはエンジンの温度等の別の運転パラメータに基づいて補正データCdを算出してもよい。
図13は、点火時期を演算する処理を説明するためのフローチャートである。CPU101は、周期的に起動される。CPU101は、例えば、10msec毎に起動される。
CPU101は、先ず、RAM105内に設定された所定のレジスタから回転数Neおよび吸入空気量Qaを取得する(ステップS12)。CPU101は、吸入空気量Qaに基づいて、単位回転数当たりの吸入空気量Qa/N(基本燃料噴射量)を演算し、さらに単位回転数当たりの吸入空気量Qa/Nからインジェクタ26の燃料噴射時間幅を求める。また、CPU101は、単位回転数当たりの吸入空気量Qa/Nおよび回転数Neと、ROM103に格納されている基本点火時期マップとに基づいて、基本点火時期を求める(ステップS13)。基本点火時期マップは、単位回転数当たりの吸入空気量Qa/N、回転数Neおよび基本点火時期の対応関係を記述したデータマップである。基本点火時期は、エンジン2の回転数Neが所定の回転数の場合における燃料の点火タイミングを示す。
CPU101は、ノックフラグ(図9の処理参照)にしたがってノッキング発生の有無を判定する(ステップS14)。
ノックフラグが「1」である場合、すなわち、ノッキングが発生している場合(ステップS14:Yes)、CPU101は、点火時期を遅角(リタード)する(ステップS15)。例えば、CPU101は、現在の進角値から所定の遅角量を減算することにより、点火時期を遅角する。
そして、CPU101は、カウント値を初期化する(ステップS16)。カウント値は、ノッキング発生回数をカウントするための変数である。カウント値については後述する。
ノックフラグが「0」である場合、すなわち、ノッキングが発生していない場合(ステップS14:No)、CPU101は、カウント値をカウントアップする(ステップS17)。CPU101は、カウント値が上限値(例えば50)に到達したか否かを判定する(ステップS18)。
カウント値が上限値に到達した場合(ステップS18:Yes)、CPU101は、点火時期を進角する(ステップS19)。CPU101は、例えば、現在の進角値に所定の進角量を加算し、その後、カウント値を初期化する(ステップS20)。この加算により、ステップS15において遅角された点火時期が遅角前に戻されることになる。
例えば、CPU101が10msec毎に起動する場合、カウント値が50に到達した時点で、カウント値が初期化されてから0.5秒が経過したことになる。このため、CPU101は、ノッキング発生により点火時期を遅角させてから0.5秒間にノッキングが発生しない場合、点火時期を遅角前に戻すこととなる。
カウント値が上限値に到達していない場合(ステップS18:No)、ステップS16またはS20の処理が終了後に、CPU111は、点火時期設定処理(S21)を実行する。
図14は、点火時期設定処理(ステップS21)を説明するためのフローチャートである。CPU101は、点火時期θignを演算する(ステップS211)。例えば、CPU101は、基本点火時期に対して進角値を加えることにより、点火時期θignを演算する。CPU101は、ROM103に格納されている最大進角値マップから最大進角値を読み出す(ステップS212)。最大進角値マップは、単位回転数当たりの吸入空気量Qa/N、回転数Neおよび最大進角値の対応関係を記述したデータマップである。最大進角値は、進角の上限値を示す。
CPU101は、点火時期θignが最大進角値を超えたか否かを判定する(ステップS213)。点火時期θignが最大進角値を超えた場合(ステップS213:Yes)、CPU101は、点火時期θignが推角しすぎていると判断して、点火時期θignを最大進角値に設定する(ステップS334)。
点火時期θignが最大進角値を超えていない場合(ステップS213:No)またはステップS214の処理が終了した場合、CPU101は、エンジン状態に応じて、ディレイ時間、サンプリング点数、および分周比をI/Oポート27に対して出力する(ステップS215)。タイミング回路123は、分周比によって振動センサ39の出力のデジタル値のサンプリング周期を決定する。
以上に示すエンジン制御装置1は、補正部14を備えることにより、各フィルタ12を切り替えるタイミングである時間t2を含む所定範囲ran内にて、補正データCdの変化量を所定値以下にすることができる。これにより、平滑化されることにより発生するバックグラウンドレベルBlの遅れによるノック指標Kiへの影響が抑制される。すなわち、バックグラウンドレベルBlと補正データCdとの差分は、ノッキング周波数データKdとノッキング周波数データKdを平滑化したバックグラウンドレベルBl(2)よりも少なくすることができる。その結果、エンジン制御装置1は、ノッキングの誤検出を抑制することができる。エンジン制御装置1は、ノッキングの誤検出を抑制することにより、余分な遅角を抑制することができるため、エンジン2の信頼性を向上させることができる。
エンジン制御装置1は、所定範囲ranにおいてノッキング周波数データKdを直線補間することにより、バックグラウンドレベルBlとの差分のバラツキを抑制することができる。すなわち、所定範囲ranにおける補正データCdの変化量を一律にすることによって、バックグラウンドレベルBlの遅れも一律にすることができる。これにより、所定範囲ranにおけるノッキングの検出バラツキを抑制することができる。
ノッキングの共鳴周波数は、エンジンの運転領域によって異なる。例えば、エンジンの回転数が高回転または低回転であるかによって、ノッキングの共鳴周波数も異なる。そのため、それらノッキングの共鳴周波数に対して、互いに異なる周波数帯域のフィルタ特性を有する複数のフィルタを有するフィルタ回路を設け、エンジンの運転状態に応じてフィルタ回路からの出力を選択すれば、信頼性の高いノッキング検出を行うことが可能となる。
本実施例は、第1実施例の変形例に相当するため、第1実施例との相違を中心に説明する。本実施例では、運転領域をエンジンの回転数Neと負荷Ieで定義し、フィルタ切替部13は、エンジン2の回転数Neおよびエンジン2の負荷Ieに応じて、使用するフィルタ12を切り替える。
図15は、エンジン2の運転領域を示す説明図である。図15では、縦軸は負荷Ieを示し、横軸は回転数Neを示す。また、図15では、エンジン2の運転領域は、回転数Neおよび負荷Ieに応じて複数のサブ領域に分かれている。具体的には、運転領域は、回転数nr1〜nc1および負荷ir1〜icの第1の領域と、回転数nc1〜nr2および負荷ir1〜icの第2の領域と、回転数nr1〜nc1および負荷ic〜ir2の第3の領域と、回転数nc1〜nr2および負荷ic〜ir2の第4の領域とに分かれている。
上記のサブ領域ごとに、使用されるフィルタが設定されている。具体的には、第1の領域には第1のフィルタf1が設定され、第2の領域には第2のフィルタf1が設定され、第3の領域には第3のフィルタf1が設定され、第4の領域には第4のフィルタf1が設定されている。
フィルタ切替部13は、使用するフィルタ12を、エンジン2の回転数Neおよび負荷Ieが含まれるサブ領域に応じて切り替える。図15では、エンジン2の状態は、負荷Ieが負荷ie1の状態で、回転数Neが回転数ne0から回転数ne3まで遷移し、その後、負荷Ieが負荷ie1から負荷ie2まで遷移しつつ、回転数Neが回転数ne3から回転数nr2まで遷移する。この場合、フィルタ切替部13は、回転数Neが回転数nc1になった際に、使用するフィルタ12を、第1のフィルタf1から第2のフィルタf2に切り替える。また、フィルタ切替部13は、負荷Ieが負荷icになった際に、使用するフィルタ12を、第2のフィルタf2から第4のフィルタf4に切り替える。使用するフィルタ12が第2のフィルタf2から第4のフィルタf4に切り替えられるタイミングのエンジン2の回転数Neは、回転数nc2である。
図16は、図15の場合に対応するノッキング周波数データKd2を示す図である。図16(1)は、回転数と周波数強度との関係を示す。図16(2)は、負荷と周波数強度との関係を示す。
図16(1)において、ノッキング周波数データKd2は、回転数nr1において、周波数強度fi1を示す。ノッキング周波数データKd2は、回転数nc1において、周波数強度fi2およびfi3を示す。ノッキング周波数データKd2は、回転数nc2において、周波数強度fi4およびfi5を示す。ノッキング周波数データKd2は、、回転数nr1において、周波数強度fi6を示す。
図16(2)において、ノッキング周波数データKd2は、負荷ie1にて、周波数強度fi1、fi2およびfi3を示す。ノッキング周波数データKd2は、例えば、負荷icにて周波数強度fi4およびfi5を示す。ノッキング周波数データKd2は、負荷ie2にて周波数強度fi6を示す。
補正部14は、回転数nc1を含む所定範囲ran1と、負荷icおよび回転数nc2を含む所定範囲ran2とにおいて、ノッキング周波数データKd2を補正する。補正部14は、所定範囲ran1およびran2におけるノッキング周波数データKd2の変化率が所定値以下となるように、ノッキング周波数データKd2を補正する。補正部14は、例えば、所定範囲ran1およびran2におけるノッキング周波数データKd2に対して直線補間を行ってもよい。
補正部14は、例えば、所定範囲ran1において、上述の式3〜5を用いてノッキング周波数データKd2に対して直線補完を行い、補正データCd1を算出する。この場合、補正係数算出部141は、例えば、所定範囲ran1における回転数ne4およびne5を検出し、回転数ne4および回転数ne5のそれぞれに対応する周波数強度fiを算出する。そして、補正係数算出部141は、上述の式3を用いて、回転数nc1における目標データfic1を算出する。
また、補正係数算出部141は、目標データfic1と周波数強度fi2およびfi3とに基づいて、回転数nc1上の補正係数を上述の式4および5を用いて算出する。この場合、補正係数算出部141は、回転数ne4および回転数ne5における補正係数を「1」と設定する。補正係数算出部141は、回転数nc1上の補正係数と、回転数ne4および回転数ne5における補正係数とに基づいて、フィルタf1が選択されている場合に補正係数を算出するための補正式と、フィルタf2が選択されている場合に補正係数を算出するための補正式とを算出する。補正データ算出部142は、算出された補正式に基づいて、補正データCd1を算出する。
ノッキング周波数データKd2(2)において、所定範囲ran2は、回転数ne6に対応する負荷ie3と、回転数ne7に対応するie4とによって規定される。補正部14は、例えば、所定範囲ran2においるノッキング周波数データKd2を、上述の式3〜5を用いて直線補完し、補正データCd2を算出する。この場合、補正係数算出部141は、例えば、所定範囲ran2における回転数ne6およびne7を検出し、回転数ne6および回転数ne7のそれぞれに対応する周波数強度fiを算出する。そして、補正係数算出部141は、上述の式3を用いて、回転数nc2における目標データfic2を算出する。
また、補正係数算出部141は、目標データfic2と周波数強度fi2およびfi3とに基づいて、回転数nc2における補正係数を上述の式4および5を用いて算出する。補正係数算出部141は、回転数ne6および回転数ne7における補正係数を「1」と設定する。補正係数算出部141は、回転数nc2上の補正係数と、回転数ne6および回転数ne7における補正係数とに基づいて、フィルタf2が選択されている場合に補正係数を算出するための補正式と、フィルタf4が選択されている場合に補正係数を算出するための補正式とを算出する。補正データ算出部142は、算出された補正式に基づいて、補正データCd2を算出する。なお、補正係数算出部141は、エンジン2の回転数Neに基づいて補正係数を算出することに限らず、エンジン2の負荷Ieに基づいて補正係数を算出してもよい。
図17は、補正式を選択する処理を説明するためのフローチャートである。CPU111は、回転数Neおよび負荷Ieに応じて補正係数を算出する補正式を選択する。補正式は、例えば、第1のフィルタが選択されている場合に用いられる第1補正式と、第2のフィルタが選択されている場合に用いられる第2補正式と、第3のフィルタが選択されている場合に用いられる第3補正式と、第4のフィルタが選択されている場合に用いられる第4補正式とを備える。
CPU111は、回転数Neと負荷Ieとを取得する(ステップS22)。CPU111は、負荷Ieが所定の負荷icよりも大きいか否かを判定する(ステップS23)。
負荷Ieが所定の負荷icよりも小さい場合(ステップS23:Yes)、CPU111は、回転数Neが所定の回転数nc1よりも小さいか否かを判定する(ステップS24)。回転数Neが所定の回転数nc1よりも小さい場合(ステップS24:Yes)、CPU111は、第1補正式を、ノッキング周波数データKd2を補正する補正式として選択する(ステップS25)。回転数Neが所定の回転数nc1よりも大きい場合(ステップS24:No)、CPU111は、第2補正式を、ノッキング周波数データKd2を補正する補正式として選択する(ステップS26)。
負荷Ieが所定の負荷icよりも大きい場合(ステップS23:No)、CPU111は、回転数Neが所定の回転数nc1よりも大きいか否かを判定する(ステップS27)。回転数Neが所定の回転数nc1よりも小さい場合(ステップS27:Yes)、CPU111は、第3補正式を、ノッキング周波数データKd2を補正する補正式として選択する(ステップS28)。回転数Neが所定の回転数nc1よりも大きい場合(ステップS27:No)、CPU111は、第4補正式を、ノッキング周波数データKd2を補正する補正式として選択する(ステップS29)。
なお、フィルタは、第1〜第4フィルタの4つのフィルタに限らず、五つ以上のフィルタが設定されてもよい。CPU111は、ROM103などの記憶部に補正式を予め記憶してもよい。
本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれてもよい。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換える事が可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について他の構成の追加・削除・置換をすることができる。
以上の実施形態において、CPU111(周波数分析器、平滑化器、バックグラウンドレベル推定器、指標算出器、判定器に相当)がソフトウェアを実行することによりノッキング検出のための各ステップを実施することを説明したが、同等の機能を回路デバイスなどのハードウェアにより実装してもよい。例えば、周波数分析処理、平滑化処理、マップデータから推定値を取得する処理、ノック指標の算出処理、閾値判定処理のうちいずれか1以上を、回路デバイスによって実装してもよい。
シリンダ27に取り付けられた振動センサ39からの出力は、エンジン2の回転数Neまたはエンジン2の負荷Ie等の上昇により増大する特性を有する。これは、エンジン2内でのピストンスラッジなどのメカニカルノイズまたは燃焼モード変化等によるものである。したがって、各フィルタ12は、図9の処理(ステップS4)において、シリンダ27ごとに異なる周波数成分が設定されてもよい。
振動センサ39は、インジェクタ26が動作することに起因するインジェクタノイズを取得するため、インジェクタ26を作動させる期間をサンプリングウインドウとしてセットしてそのウインドウ内でインジェクタノイズを取得する。想定されるインジェクタノイズを記述したデータをあらかじめROM103などに格納しておき、CPU111は、サンプリングウインドウ内における振動センサ39の検出結果からROM103内のインジェクタノイズを減算してもよい。
バックグラウンドレベルの推定値を記述したマップデータは、標準的なバックグラウンドレベルを記述するものであってよく、バックグラウンドレベルの過渡的な変動については同マップデータ内に保存しなくともよい。例えば、エンジン2の回転数Neまたはエンジン2の負荷Ie等が急増したときバックグラウンドレベルも急増することが想定されるが、そのような急変するバックグラウンドレベルについてはマップデータ内に保存しなくてもよい。例えば、バックグラウンドレベルの変動率がある範囲以内のものをマップデータに保存する。
振動センサ39の検出結果から抽出した周波数成分は、必ずしも全て抽出する必要はない。例えば、代表的な周波数成分のみ抽出し、他の周波数成分は補間処理により補ってもよい。補間処理のための演算式は、例えば、試験結果などに基づいて、予め定められてもよい。これにより、周波数成分を抽出するための演算負荷を抑制することができる。
以上の実施形態においては、バックグラウンドレベルに対する周波数成分の比率(S/N比)をその周波数成分のノック指標として算出しているが、比率に代えてバックグラウンドレベルに対する差分をノック指標として用いてもよい。
1・・・エンジン制御装置,2・・・エンジン,11・・・検出部,12・・・フィルタ,13・・・フィルタ切替部,14・・・補正部,15・・・平滑化処理部,16・・・ノッキング検出部,21・・・エアクリーナ,22・・・熱線式空気流量計,23・・・ダクト,24・・・スロットルボディ,25・・・吸気管,26・・・インジェクタ,27・・・シリンダ,28・・・吸気バルブ,29・・・燃焼室,30・・・点火ユニット,31・・・分配器,32・・・点火プラグ,33・・・ピストン,34・・・クランクシャフト,35・・・クランク角センサ,36・・・排気バルブ,37・・・排気管,38・・・排気センサ,39・・・振動センサ
Claims (8)
- エンジンを制御するエンジン制御装置であって、
前記エンジンの振動を検出する検出部と、
互いに異なるフィルタ特性を有し、前記振動を示すデータから当該フィルタ特性に応じた振動データを抽出する複数のフィルタと、
前記エンジンの動作に関するパラメータに応じて、使用する前記フィルタを切り替えるフィルタ切替部と、
前記使用するフィルタにて抽出された振動データを補正する補正部と、
前記補正部にて補正された振動データを平滑化する平滑化処理部と、
前記補正部にて補正された振動データと前記平滑化処理部にて平滑化された平滑化データとの差分に基づいて、前記エンジンのノッキングを検出する状態検出部と、
を備え、
前記補正部は、前記フィルタ切替部による前記フィルタを切り替えるタイミングを含む所定範囲内において、前記振動データの変化率が所定値以下となるように補正する、
エンジン制御装置。 - 前記補正部は、前記フィルタ切替部による前記フィルタを切り替えるタイミングから所定範囲内において、前記振動データの変化率が略一定となるように補正する、
請求項1に記載のエンジン制御装置。 - 前記振動データは、前記パラメータに応じた複数の補正係数に基づいて補正され、
前記補正部は、前記パラメータと前記補正係数との関係を示す補正式に基づいて、前記補正係数を算出する補正係数算出部を備える、
請求項1に記載のエンジン制御装置。 - 前記補正係数は予め設定されている、
請求項3に記載のエンジン制御装置。 - 前記フィルタは、前記振動データとして周波数帯域のデータを抽出し、
前記エンジン制御装置は、前記フィルタにて抽出された前記周波数帯域のデータを合算することにより前記補正部で補正する振動データを算出する周波数合算部を備える、
請求項1に記載のエンジン制御装置。 - 前記パラメータは、前記エンジンの回転数、前記エンジンにかかる負荷および前記エンジンの温度の少なくとも1つを含む、
請求項1に記載のエンジン制御装置。 - 前記パラメータは、前記回転数および前記負荷を含む、
請求項6に記載のエンジン制御装置。 - エンジンを制御するエンジン制御方法であって、
前記エンジンに備えられる振動センサからの振動データを検出し、
互いに異なるフィルタ特性を有し、前記振動を示すデータから当該フィルタ特性に応じた振動データを抽出する複数のフィルタの中で、前記エンジンの動作に関するパラメータに応じて、使用する前記各フィルタを切り替え、 前記使用するフィルタを切り替えるタイミングを含む所定範囲内において、前記振動データの変化率が所定値以下となるように前記振動データを補正し、
前記補正された振動データを平滑化することにより平滑化データを算出し、
前記補正された振動データと前記平滑化データとの差分に基づいて、前記エンジンのノッキングを検出する、
エンジン制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019177822A JP2021055587A (ja) | 2019-09-27 | 2019-09-27 | エンジン制御装置およびエンジン制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019177822A JP2021055587A (ja) | 2019-09-27 | 2019-09-27 | エンジン制御装置およびエンジン制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021055587A true JP2021055587A (ja) | 2021-04-08 |
Family
ID=75273027
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019177822A Pending JP2021055587A (ja) | 2019-09-27 | 2019-09-27 | エンジン制御装置およびエンジン制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021055587A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113514148A (zh) * | 2021-07-09 | 2021-10-19 | 西安因联信息科技有限公司 | 基于低延迟数据平滑的设备振动预警方法及系统 |
-
2019
- 2019-09-27 JP JP2019177822A patent/JP2021055587A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113514148A (zh) * | 2021-07-09 | 2021-10-19 | 西安因联信息科技有限公司 | 基于低延迟数据平滑的设备振动预警方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100321892B1 (ko) | 내연기관의노킹검출방법및점화시기제어방법 | |
JP4311657B2 (ja) | 内燃機関のノック検出装置 | |
JP6580167B2 (ja) | ノッキング検出装置、内燃機関制御装置 | |
KR940001938B1 (ko) | 내연기관용 노크제어장치 | |
JPH01232166A (ja) | 電子式点火時期制御装置 | |
KR940000346B1 (ko) | 내연기관용 녹(Knock) 제어장치 | |
JP2007321704A (ja) | 内燃機関の点火時期制御装置 | |
JP2002364449A (ja) | 内燃機関のノッキング判定装置 | |
JP3325067B2 (ja) | 内燃機関のノッキング検出装置 | |
JPH07119536A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP6182558B2 (ja) | 内燃機関の燃焼ノッキングを認識するための方法 | |
JP6591389B2 (ja) | 内燃機関のノッキング検出装置 | |
JPH0476249A (ja) | 内燃機関のノッキング検出装置及び点火時期補正装置 | |
JP2021055587A (ja) | エンジン制御装置およびエンジン制御方法 | |
CN110475958B (zh) | 用于管理受控点火内燃发动机中的爆震的方法 | |
JPH0874652A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP2536243B2 (ja) | 内燃機関の点火時期制御装置 | |
JP6647192B2 (ja) | 内燃機関のノッキング検出システム | |
JPS62195464A (ja) | 内燃機関の点火時期制御方法 | |
WO2019102805A1 (ja) | ノックセンサの異常判定装置およびノックセンサの異常判定方法 | |
JP2018159332A (ja) | 内燃機関のノッキング検出装置 | |
JP2632659B2 (ja) | 内燃機関のノッキング検出装置 | |
JPH07174773A (ja) | 多気筒内燃機関の燃焼状態判断装置 | |
JP2023017273A (ja) | 内燃機関制御装置 | |
Kjellin et al. | Torque estimation from in-cylinder pressure sensor for closed loop torque control |