(57)【特許請求の範囲】
【請求項１】
燃料を噴射するインジェクタの開閉弁を制御する駆動信号を出力する演算部と、
前記インジェクタ周辺の振動を検出した結果を示す振動信号を受信する信号検出部と、
を備え、
前記演算部は、
前記信号検出部が受信した前記振動信号のうち前記インジェクタの開弁または閉弁を示すものを取り込み始める開始時刻を、所定の初期値から次第に遅らせながら前記振動信号を取り込むことを繰り返すことにより、最適な前記開始時刻を学習し、
前記学習した最適な開始時刻に応じて取り込んだ前記振動信号に基づき前記インジェクタの開弁時刻または閉弁時刻を判定し、その結果にしたがって前記駆動信号を出力する時刻を調整する
ことを特徴とする燃料噴射制御装置。
【請求項２】
前記演算部は、
前記開始時刻を前記初期値から次第に遅らせながら前記振動信号を取り込み、取り込んだ前記振動信号の値またはその複数回分の平均値が所定の検出閾値以上になった時点で前記学習を完了し、その時点を前記開始時刻として採用する
ことを特徴とする請求項１記載の燃料噴射制御装置。
【請求項３】
前記演算部は、
前記振動信号のうち前記インジェクタの開弁または閉弁を示すものを取り込む時間帯以外の時刻における前記振動信号をサンプリングすることにより、バックグラウンドノイズの振動レベルをあらかじめ求めておき、
前記バックグラウンドノイズの振動レベルを前記振動信号が示す値から差し引いた振動レベルに基づき、前記学習を完了するか否かを判定する
ことを特徴とする請求項２記載の燃料噴射制御装置。
【請求項４】
前記演算部は、
前記燃料が点火された後の所定時間帯、前記燃料が点火された際にともなうノッキング振動を検出する時間帯、および前記インジェクタが前記燃料を噴射する時間帯を除く時間帯において、前記振動信号をサンプリングすることにより、前記バックグラウンドノイズの振動レベルを求める
ことを特徴とする請求項３記載の燃料噴射制御装置。
【請求項５】
前記演算部は、
前記駆動信号を出力してから前記開始時刻までの時間帯において、前記振動信号をサンプリングすることにより、前記バックグラウンドノイズの振動レベルを求める
ことを特徴とする請求項４記載の燃料噴射制御装置。
【請求項６】
前記演算部は、前記バックグラウンドノイズの振動レベルを前記検出閾値として用いる  ことを特徴とする請求項３記載の燃料噴射制御装置。
【請求項７】
前記演算部は、
前記バックグラウンドノイズとしてサンプリングした前記振動信号の平均値を、前記バックグラウンドノイズの振動レベルとして採用する
ことを特徴とする請求項３記載の燃料噴射制御装置。
【請求項８】
前記演算部は、
前記バックグラウンドノイズとしてサンプリングした前記振動信号の平均値を求める際に、前記振動信号のうち所定範囲を逸脱した異常値を、前記平均値を求める対象から除外する
ことを特徴とする請求項７記載の燃料噴射制御装置。
【請求項９】
前記演算部は、
前記駆動信号を出力する時刻と前記最適な開始時刻との間の差分が所定範囲内に収まらなくなった場合は、前記インジェクタが故障している旨を示す信号を出力する
ことを特徴とする請求項１記載の燃料噴射制御装置。
【請求項１０】
前記燃料噴射制御装置は、
前記演算部が学習した前記最適な開始時刻を記憶する記憶部を備え、
前記演算部は、
前記最適な開始時刻を最初に学習したときの値を前記記憶部に格納しておき、
前記学習した最適な開始時刻と前記記憶部に格納されている前記最適な開始時刻との間の差分が所定範囲内に収まらなくなった場合は、前記インジェクタが故障している旨を示す信号を出力する
ことを特徴とする請求項１記載の燃料噴射制御装置。
【請求項１１】
前記信号検出部は、
複数の前記インジェクタについて共通にその周辺の振動を検出した結果を示す前記振動信号を受信し、
前記演算部は、
前記燃料が点火された際にともなうノッキング振動を検出する時間帯と、インジェクタの閉弁を示す前記振動信号を取り込み始める開始時刻とが重なる場合は、その時間帯については前記ノッキング振動を検出する処理を中断する
ことを特徴とする請求項１記載の燃料噴射制御装置。
【請求項１２】
前記演算部は、
前記駆動信号を出力していない時間帯において、前記燃料が点火された際にともなうノッキング振動を検出する時間帯と、前記インジェクタの閉弁を示す前記振動信号を取り込む時間帯とが重なる場合は、その時間帯については前記学習を中断する
ことを特徴とする請求項１１記載の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒エンジンやそのエンジンが備えている燃料噴射弁（インジェクタ）が燃料を噴射する動作を制御する技術に関するものである。
【背景技術】
【０００２】
エンジンの動作環境下においては、インジェクタ開弁時および閉弁時の振動（バルブバウンス等）、燃料点火時の振動（点火ノイズ）、点火による気筒内圧の膨張に伴ってエンジンがノッキングする際のノッキング振動など、さまざまな振動が振動センサにより検出されている。しかし、実際の制御に使用されているのは、一般的にノッキング振動のみであり、他の振動はＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）が検出信号を認識する過程においてノイズとして処理されている。
【０００３】
例えば、ノッキング振動を計測するノックセンサ（以下それぞれ、ＫＮＫ振動／ＫＮＫセンサ）においては、ＥＣＵが振動信号をサンプリングする時間帯（以下、ウインドウタイミング）をコントロールして、さまざまな振動の中からＫＮＫ振動時の信号のみを取得する手法が広く用いられている。
【０００４】
下記特許文献１には、ＫＮＫセンサが検出したＫＮＫ振動の周波数スペクトルから、あらかじめサンプリングしておいた所定のバックグランドノイズ相当量を相殺することにより、ＫＮＫ振動の信号のみを抽出する手法が記載されている。
【０００５】
下記特許文献２には、ＫＮＫセンサをＫＮＫ振動の検出のために使用するのみならず、様々な振動の中から、インジェクタの閉弁時の振動有無を検出し、インジェクタの故障を診断する実施例が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−２７２６０７号公報
【特許文献２】特開２００４−２６３６４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
エンジンを制御するＥＣＵは、エンジンの気筒内で圧縮する空気と燃料の比（空燃比）が最適な燃料噴射量となるようにインジェクタの開弁時間を制御している。一方インジェクタは、ＥＣＵ内のＣＰＵが出力する駆動信号をトリガにして、同ＥＣＵ内で生成された駆動電流を印加することによって動作する。しかしながら、ＥＣＵがインジェクタに駆動電流を印加したタイミングから、インジェクタが実際に開弁動作するタイミングまでは、遅延（噴射無効時間）があり、各インジェクタ固有の開弁タイミングがあることが知られている。インジェクタの閉弁に関しても同様に、ＥＣＵが駆動電流を印加し終わった後からインジェクタが実際に閉弁動作をするまで遅延があり、各インジェクタ固有の閉弁タイミングが存在する。
【０００８】
ＥＣＵは、車両に搭載されているＯ２センサや空燃比センサ（以下、Ａ／Ｆセンサ）によって、燃焼効率が最適になっているか否かを知ることができる。しかしこれは、ＥＣＵがインジェクタの駆動信号を制御するタイミングにフィードバックをかけるためのものであり、実際の燃料噴射タイミング（実噴射タイミング）を認識できるものではない。
【０００９】
多気筒エンジンに複数取り付けられた各インジェクタの正確な開弁および閉弁（以下、開閉弁）タイミングをＥＣＵに認識させるためには、あらかじめ各インジェクタ固有の開閉弁タイミングを計測してＥＣＵに入力しておくことが考えられる。しかしながら、インジェクタの故障や経年劣化により、開閉弁タイミングは変化するので、上記手法ではかかる変化に対応することが困難である。
【００１０】
上記のような開閉弁タイミングの変化に追従して、ＥＣＵがインジェクタの開閉弁タイミングをリアルタイムで認識するためには、各インジェクタ個別に専用のセンサを取り付ける必要がある。しかしこれでは、制御系の回路および端子数が増加し、ソフトウェアの改修などに係るコストアップが大きいため、それらが許容される場合でない限り、かかる手法を採用することは難しい。
【００１１】
本発明は、上記のような課題に鑑みてなされたものであり、エンジンが備えている振動センサにより検出される振動信号からインジェクタの開閉弁タイミングを取り出す技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る燃料噴射制御装置は、インジェクタの開閉弁を検出するウインドウの開始位置を次第に遅らせながら振動信号を取り込むことを繰り返し、最適なウインドウタイミングを学習する。
【発明の効果】
【００１３】
本発明に係る燃料噴射制御装置によれば、エンジンが備えている既存の振動センサを用いてインジェクタの開閉弁タイミングを検出することができるので、エンジン設備をコストアップすることなく、インジェクタの開閉弁タイミングを認識することができる。その結果、最適な燃料噴射量となるようにＥＣＵが駆動信号を制御する際に、インジェクタの実噴射時間をＥＣＵにフィードバックできるため、Ａ／Ｆセンサによるフィードバックよりも早く、高精度に燃料噴射量を最適に制御することができる。
【００１４】
上記した以外の課題、構成、および効果は、以下の実施形態の説明により明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】実施形態１に係る燃料噴射制御装置（ＥＣＵ）７とその周辺構成を示す図である。
【図２】インジェクタ３固有の開閉弁時間を示すタイミングチャートである。
【図３】図２の詳細を説明する図である。
【図４】ＥＣＵ７がインジェクタ３の開弁タイミングをする処理を説明するフローチャートである。
【図５】他の気筒２の状態が学習を阻害する例を説明する図である。
【図６】実施形態３における各振動と検出ウインドウを示すタイミングチャートである。
【発明を実施するための形態】
【００１６】
＜実施の形態１：装置構成＞
図１は、本発明の実施形態１に係る燃料噴射制御装置（ＥＣＵ）７とその周辺構成を示す図である。図１において、エンジンブロック１は、エンジン気筒２、インジェクタ３、振動センサ４、各気筒内で燃焼した排気ガスが通過する吸気マニホールド５、空燃比を検出するＡ／Ｆセンサ６を備えている。インジェクタ３は、燃料を噴射する装置であり、エンジン気筒２の数に応じて複数設けられている。振動センサ４は、インジェクタ３周辺の振動を検出してその結果を振動信号１０として出力する。振動は伝搬するので、必ずしもインジェクタ３本体等に振動センサ４を直接取り付ける必要はない。Ａ／Ｆセンサ６は、例えば吸気マニホールド５に取り付けられている。
【００１７】
ＥＣＵ７は、インジェクタ３を駆動制御する装置であり、インジェクタドライバ９、信号検出回路１１、ハードウェアフィルタ１３、ＣＰＵ１２を備える。インジェクタドライバ９は、ＣＰＵ１２が出力する駆動信号８にしたがって、インジェクタ３を駆動する電流を出力する。信号検出回路１１は、振動センサ４が出力した振動信号１０を受信して検出結果を取り出し、ＣＰＵ１２に出力する。ハードウェアフィルタ１３は、振動信号１０のうち不要な成分を除去してＣＰＵ１２に出力する。
【００１８】
ＣＰＵ１２は、Ａ／Ｆセンサ６の検出結果に基づき空燃比をモニタし、空燃比が最適となるような駆動信号８を発生させる。インジェクタドライバ９は駆動信号８にしたがってインジェクタ３に駆動電流を印加する。各インジェクタ３は、固有の開弁タイミング（噴射無効時間）が経過した後に開弁し、実際に燃料が噴射される。
【００１９】
インジェクタ３が実際に開弁するタイミングにおいてはバウンス等による振動が起きており、振動センサ４はこれを振動信号１０として検出する。通常は、振動センサ４が本来取り込むべき振動（例えばＫＮＫ振動）以外は、ＣＰＵ１２が取り込み時間（ウインドウタイミング）を制御することによって振動信号１０を取り込まないように設定されている。さらに場合によってはハードウェアフィルタ１３によって振動信号１０の不要な成分が除去される。そのため従来は、インジェクタ３が動作するタイミングにおいて生じる振動信号１０は破棄されていた。
【００２０】
本実施形態１においては、インジェクタ３が動作するタイミングにおいても振動信号１０を取り込み、ＣＰＵ１２がインジェクタ３の実際の開弁タイミングを認識するために利用する。そのためには、インジェクタ３の開弁タイミングに応じて振動信号１０を取り込むウインドウタイミングを設定する必要があるが、これは信号受信回路１１が設定してもよいしＣＰＵ１２がソフトウェア上で設定してもよい。以下ではＣＰＵ１２がこれを設定することを前提とする。
【００２１】
インジェクタの閉弁時の動作についても、開弁時の動作と同様に考えることができる。すなわち、ＣＰＵ１２が駆動信号８を停止し、インジェクタドライバ９が非動作状態（インジェクタ３に電流が流れない状態）になってからも、インジェクタ３は開弁動作（燃料噴射）を一定時間続けており、各インジェクタ３固有の閉弁タイミングに応じて実際に閉弁する。閉弁時にはバルブバウンス等の着座振動が発生するため、開弁時と同じく振動センサ４によって振動信号１０としてその着座振動を検出することができる。ＣＰＵ１２は閉弁タイミングを検出するためのウインドウタイミングを設定し、そのタイミングで振動信号１０を取り込む。
【００２２】
＜実施の形態１：固有の開閉弁タイミング＞
図２は、インジェクタ３固有の開閉弁時間を示すタイミングチャートである。記載の簡易のため、インジェクタ番号１の固有開閉弁時間と実噴射時間のみ説明を付したが、その他のインジェクタ番号についても同様である。図２に示すように、各インジェクタ３はそれぞれ固有の開閉弁時間を有し、ＣＰＵ１２が駆動信号８を出力してから実際に開閉弁するまでの時間はインジェクタ３毎に異なる。
【００２３】
インジェクタ３は気筒毎に設置されているが、ＣＰＵ１２は各インジェクタ３の噴射タイミングが互いにオーバーラップしないように駆動信号８を制御する。ＣＰＵ１２は、駆動信号８を出力している気筒番号に対応して、その気筒２に燃料を噴射するインジェクタ３の開閉弁を検出するためのウインドウタイミングを設定する。これにより、ウインドウタイミングがインジェクタ３間でオーバーラップすることなく、インジェクタ３毎に開閉弁タイミングを判定することができる。
【００２４】
＜実施の形態１：ウインドウタイミングの調整＞
図３は、図２の詳細を説明する図である。説明の簡易のため、１つのインジェクタの動作を示す信号波形のみを記載した。ＣＰＵ１２は、インジェクタ３の開弁にともなう振動信号１０を検出するためのウインドウタイミング（開弁時ウインドウ）を開始する時刻の初期値を設定し、その初期値から振動信号１０の検出を開始する。開弁時ウインドウ内において検出される振動信号１０は、インジェクタ３の開弁にともなう振動のみを含んでいることが望ましいが、開弁時ウインドウが広すぎると、その他の振動を併せて検出してしまう可能性がある。
【００２５】
そこでＣＰＵ１２は、より高精度にインジェクタ３の開弁タイミングを検出するため、開弁時ウインドウの幅を次第に短くして振動信号１０を検出することを繰り返す。具体的には、開弁時ウインドウの開始時刻を初期値から次第に遅らせながら振動信号１０を検出することを繰り返し、検出した振動レベル（またはその平均値）が所定の検出閾値以上になった時点で、開弁時ウインドウの開始時刻が最適値になったとみなして開弁時ウインドウを決定する。
【００２６】
上記手法によれば、インジェクタ３と振動センサ４の間の距離によるディレイや信号レベルが気筒２毎に異なる場合でも、その差異を考慮してインジェクタ３毎の固有の開弁タイミングを学習することができる。また、開弁時ウインドウを次第に小さくすることにより、不要な振動信号１０が開弁時ウインドウ内に混入する可能性を抑制し、検出精度を高めることができる。以上の手法は閉弁時ウインドウについても同様である。
【００２７】
＜実施の形態１：バックグラウンドノイズ＞
インジェクタ３が開弁した状態を確実に検出するため、誤検知防止の観点から検出閾値を大きく設定する必要がある。しかし、インジェクタ３の開弁による振動信号１０の信号レベルは他の振動に比べて小さく、真の発生タイミングから検出閾値を超える振動信号１０を検出するまでのディレイはそのまま誤差となる。
【００２８】
そこでＣＰＵ１２は、開弁時ウインドウ以外の時間帯におけるバックグラウンドノイズを測定するため、振動信号１０をサンプリングしてバックグラウンドノイズの振動レベルをあらかじめ求めておき、開弁時ウインドウの開始時刻を決定する際の検出閾値からバックグラウンドノイズの信号レベルを差し引く。これにより開弁時ウインドウを正確に設定することができる。ただし以下の時間帯においては、バックグラウンドノイズをサンプリングすることは避けることが望ましい。
【００２９】
（バックグラウンドノイズ検出を避ける時間帯：その１）
インジェクタ３が噴射する燃料に点火された後は、点火にともなう爆発により振動センサ４が一時的に大きな振動レベルを検出すると思われる。そこで、燃料が点火されてからこれにともなう振動が収まると想定される所定範囲内の時間帯は、バックグラウンドノイズをサンプリングしないことが望ましい。
【００３０】
（バックグラウンドノイズ検出を避ける時間帯：その２）
燃料に点火されると気筒２内の気体が膨張してエンジンのノッキングが生じ、いわゆるノッキング振動が発生する場合がある。ノッキング振動を検出するためのウインドウタイミングと開弁時ウインドウが重なると、各振動レベルが混同して検出不可能となってしまう。そのため、ノッキング振動を検出するためのウインドウタイミングにおいてはバックグラウンドノイズをサンプリングしないことが望ましい。
【００３１】
（バックグラウンドノイズ検出を避ける時間帯：その３）
インジェクタ３が燃料を噴射する時間帯は、噴射にともなって一時的に振動が大きくなる。そこで、インジェクタ３が燃料を噴射していると想定される時間帯は、バックグラウンドノイズをサンプリングしないことが望ましい。
【００３２】
ＣＰＵ１２は、以上のように取得したバックグラウンドノイズを、開弁時ウインドウの開始時刻を決定する際の検出閾値として利用することもできる。すなわち、開弁時ウインドウの開始時刻においては、バックグラウンドノイズ以外の振動は存在していないと想定しているので、振動信号１０の検出値がバックグラウンドノイズまたはこれに適当な閾値を加減算した振動レベル以上になった時点で、インジェクタ３が開弁したとみなすことができる。
【００３３】
ＣＰＵ１２は、バックグラウンドノイズをサンプリングした後にその平均値を求め、その平均値を最終的なバックグラウンドノイズの信号レベルとして用いることもできる。バックグラウンドノイズの信号レベルは様々に変動するからである。平均値を求める際に、他の検出値の平均から突出した値などの異常値は、平均値を算出する際に除外するようにしてもよい。同様の平均化処理は、開弁時ウインドウ内で検出する振動レベルについても実施することができる。
【００３４】
なお、バックグラウンドノイズをサンプリングするのに最も適した時間帯は、ＣＰＵ１２が駆動信号８を出力してから開弁時ウインドウの開始時刻までの時間帯であると考えられる。この時間帯は、インジェクタ３がまだ動作しておらず、またインジェクタ３を動作させる前後においては燃料点火やノッキング振動検出などは実施しないと考えられるからである。
【００３５】
上記手法によれば、バックグラウンドノイズを勘案して開弁時ウインドウの開始時刻を定めることにより、他の振動に比較して小さいインジェクタ３の開弁時振動を、精度よく検出することができる。以上の手法は閉弁時ウインドウについても同様である。
【００３６】
＜実施の形態１：動作フロー＞
図４は、ＥＣＵ７がインジェクタ３の開弁タイミングをする処理を説明するフローチャートである。閉弁タイミングを学習する処理は同様であるため、説明を省略する。以下、図４の各ステップについて説明する。
【００３７】
（図４：ステップＳ４０１〜Ｓ４０３）
ＣＰＵ１２は、駆動信号８をＨＩレベルに設定する（Ｓ４０１）。ＣＰＵ１２は、現時点においてＫＮＫ振動を検出するウインドウタイミングに到達しているか否かを判断し（Ｓ４０２）、到達している場合はそのウインドウをいったんＯＦＦにする（Ｓ４０３）。
【００３８】
（図４：ステップＳ４０４〜Ｓ４０５）
ＣＰＵ１２は、開弁時バックグラウンドノイズを検出するためのウインドウを開き、振動信号１０をサンプリングする（Ｓ４０４）。バックグラウンドノイズの振動レベルが異常である場合（振動レベルが想定範囲を逸脱している場合）は本フローチャートを終了して次回の学習を開始するまで学習処理を中断し、異常でない場合はステップＳ４０６へ進む（Ｓ４０５）。
【００３９】
（図４：ステップＳ４０６）
ＣＰＵ１２は、振動信号１０を適当な回数サンプリングし、必要に応じて平均化処理などを実施してバックグラウンドノイズの振動レベルを求める。バックグラウンドノイズのサンプリングが完了するまでステップＳ４０４〜Ｓ４０６を繰り返す。
【００４０】
（図４：ステップＳ４０７）
ＣＰＵ１２は、図３で説明した開弁時ウインドウを開き、振動信号１０をサンプリングする（Ｓ４０７）。ＣＰＵ１２は、所定の検出閾値を用いて、インジェクタ３が開弁したか否かを判定する（Ｓ４０８）。
【００４１】
（図４：ステップＳ４０９）
ＣＰＵ１２は、ステップＳ４０８においてインジェクタ３が開弁したと判定したタイミングが異常であるか否かを判定する。具体的には、開弁時ウインドウの開始時刻が、駆動信号８の出力時刻から想定される範囲内にある場合は正常であり、これを逸脱している場合は異常であるとみなす。異常である場合はステップＳ４１２へ進み、正常である場合はステップＳ４１０へ進む。
【００４２】
（図４：ステップＳ４１０）
ＣＰＵ１２は、図３で説明した手法にしたがって、開弁時ウインドウの最適な開始時刻を学習する。学習結果は適当なメモリに格納しておき、次に学習を実施するまでの間はその学習結果を利用して駆動信号８を出力することができる。学習が完了した場合はステップＳ４１１へ進み、未完了である場合はステップＳ４０７〜Ｓ４１０を繰り返す。
【００４３】
（図４：ステップＳ４１１）
ＣＰＵ１２は、駆動信号８をＬＯレベルに設定し、本フローチャートを終了する。
【００４４】
（図４：ステップＳ４１２〜Ｓ４１３）
ＣＰＵ１２は、ステップＳ４０９で開弁タイミングが異常と判定された回数が所定の閾値を超えているか否かを判定する（Ｓ４１２）。超えている場合はインジェクタ３が故障していると判定し（Ｓ４１３）、超えていなければ本フローチャートを終了する。
【００４５】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る燃料噴射制御装置７は、開弁時ウインドウの開始時刻を次第に遅らせながら、最適な開始時刻を学習する。これにより、インジェクタ３毎に固有の噴射無効時間が異なる場合でも、インジェクタ３毎の開弁タイミングを学習することができる。閉弁タイミングについても以下同様である。
【００４６】
また、本実施形態１に係る燃料噴射制御装置１０によれば、開弁時ウインドウ内に不要な振動信号１０が混入する可能性を抑制し、開弁タイミングを精度よく判定することができる。
【００４７】
本実施形態１において、インジェクタ３固有の開閉弁タイミングを学習しているが、学習による誤差が積み重なると、本来であれば異常な開閉弁タイミングが正常であると判定される可能性もある。そこで、燃料噴射制御装置７の出荷時点における学習結果をあらかじめ適当な不揮発性の記憶装置に格納しておき、運用開始後の学習結果が出荷時点における学習結果から所定範囲以内に収まらなくなった場合は、インジェクタ３に異常が発生していると判定することもできる。
【００４８】
＜実施の形態２＞
本発明の実施形態２では、各気筒２がそれぞれ異なる動作行程にある場合において、開閉弁ウインドウの開始時刻またはバックグラウンドノイズを学習する際に他の気筒２の動作が学習を阻害する例を説明する。各装置の構成は実施形態１と同様であるため、以下では気筒２間の干渉を中心に説明する。
【００４９】
図５は、他の気筒２の状態が学習を阻害する例を説明する図である。振動センサ４は、気筒２毎に設けられるわけではなく、各気筒２および各インジェクタ３の周辺で生じる振動を共通的に検出する。そのため、ある気筒２またはインジェクタ３に係る振動が他のインジェクタ３に係る開閉弁タイミングを学習する際に混入して学習を阻害する可能性がある。以下、図５に示す各例について説明する。
【００５０】
図５の例１は、他の気筒２の状態によって学習が阻害されない場合を示す。駆動信号８がＨＩになるタイミングとＬＯになるタイミングそれぞれに対応して、開弁時ウインドウと閉弁時ウインドウがそれぞれ設定されている。ＫＮＫ振動（最も大きいセンサ波形）を検出するためのウインドウ、および点火時振動を検出するためのウインドウは、これらのいずれにもオーバーラップしていない。したがって例１においては、インジェクタ３の開閉弁タイミングの学習とバックグラウンドノイズの取得をともに正常に実施することができる。
【００５１】
図５の例２は、インジェクタ３が燃料を噴射した後の閉弁時ウインドウが、ＫＮＫウインドウに重なる場合を示す。例２においては、インジェクタ３の閉弁振動とＫＮＫ振動が混ざり、閉弁振動を誤検知する可能性があるため、閉弁時ウインドウに関する学習は中断する。もっとも実際の動作においては、閉弁タイミングとＫＮＫウインドウが重ならないように制御するため、例２のような状態が生じる場合は少ないと考えられる。
【００５２】
図５の例３は、インジェクタ３が燃料を噴射している途中にＫＮＫウインドウが重なった場合を示す。ＥＣＵ７は一般的にインジェクタ３の噴射を優先するため、この場合はＫＮＫウインドウをＯＦＦする。また、ＫＮＫウインドウをＯＦＦにしたとしても、実際にＫＮＫ振動が発生してバックグラウンドノイズとして表れる可能性もあるため、バックグラウンドノイズが異常であれば、閉弁時ウインドウに関する学習は中断する。
【００５３】
図５の例４は、インジェクタ３の噴射時間が極端に短い場合を示す。この場合、インジェクタ３の開弁振動が、閉弁時のバックグラウンドノイズを検出するウインドウと重なる可能性がある。この状態は、閉弁時バックグラウンドノイズの異常として表れるので、かかる場合は閉弁時ウインドウに関する学習を中断する。
【００５４】
＜実施の形態２：まとめ＞
以上のように、本実施形態２に係る燃料噴射制御装置７は、ＫＮＫウインドウと閉弁時ウインドウまたはその前のバックグラウンドノイズが重なる場合には、閉弁時ウインドウに係る学習を中断する。これにより、振動センサ４が各インジェクタ３について共通に用いられており、各気筒２または各インジェクタ３に係る振動が他のインジェクタ３に係る学習を阻害する場合においても、誤った学習をしないようにすることができる。
【００５５】
＜実施の形態３＞
実施形態１〜２では、振動センサ４がインジェクタ３周辺の振動一般を検出するセンサであることを想定したが、これに代えてＫＮＫ振動を検出するセンサを用いる場合でも、実施形態１〜２と同様の効果を発揮することができる。本発明の実施形態３では、振動センサ４としてＫＮＫセンサを用いる場合の動作例を説明する。各装置のその他の構成は実施形態１〜２と同様である。
【００５６】
図６は、本実施形態３における各振動と検出ウインドウを示すタイミングチャートである。通常、エンジンの動作サイクルにおいて、ＣＰＵ１２は膨張行程においてＫＮＫセンサのウインドウタイミングを設定し、その他のタイミングにおいてＫＮＫ振動を検出するためのウインドウを設定することはない。そのため、膨張行程以外の時間帯においてインジェクタ３の開閉弁振動を検出するのであれば、ＫＮＫセンサを用いて実施形態１〜２と同様の処理を実施することができる。
【００５７】
例えば図６に示すタイミングチャートにおいて、ＫＮＫウインドウは膨張行程内に設定され、点火ノイズを検出するウインドウは圧縮行程内に設定されているが、その他の時間帯においては振動を検出していないことが分かる。したがって、例えば吸気行程においてインジェクタ３の開閉弁ウインドウを学習する限りにおいては、ＫＮＫセンサが本来使用される時間帯とインジェクタ３の開閉弁ウインドウを学習する時間帯が重なり合うことはないので、実施形態１〜２と同様の効果を発揮することができる。何らかの原因によりこれらのウインドウが重なり合う場合には、図５で説明したものと同様の基準により学習を一時中断すればよい。
【００５８】
本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることもできる。また、ある実施形態の構成に他の実施形態の構成を加えることもできる。また、各実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。
【００５９】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【００６０】
１：エンジンブロック、２：エンジン気筒、３：インジェクタ、４：振動センサ、５：吸気マニホールド、６：Ａ／Ｆセンサ、７：燃料噴射制御装置（ＥＣＵ）、８：駆動信号、９：インジェクタドライバ、１０：振動信号、１１：信号検出回路、１２：ＣＰＵ、１３：ハードウェアフィルタ。
【図１】
0005826713.tif 000002
【図２】
0005826713.tif 000003
【図３】
0005826713.tif 000004
【図４】
0005826713.tif 000005
【図５】
0005826713.tif 000006
【図６】
0005826713.tif 000007