(57)【特許請求の範囲】
【請求項１】
（ａ）多気筒内燃機関の各気筒毎に燃料を噴射する複数の燃料噴射弁と、
（ｂ）前記多気筒内燃機関の各気筒毎の爆発行程時の瞬時最低回転速度および瞬時最高回転速度を検出する回転速度検出手段と、
（ｃ）前記多気筒内燃機関の各気筒毎の前記瞬時最低回転速度と前記瞬時最高回転速度とを比較し、この比較結果に基づいて各気筒毎の回転変動時間差の単独値を算出する単独値演算手段と、
（ｄ）前記多気筒内燃機関の全気筒の前記瞬時最低回転速度と前記瞬時最高回転速度とを比較し、この比較結果に基づいて全気筒の回転変動時間差の平均値を算出する平均値演算手段と、
（ｅ）前記各気筒毎の回転変動時間差の単独値と前記全気筒の回転変動時間差の平均値とを比較し、この比較結果に基づいて各気筒毎の回転変動偏差を算出する回転変動偏差演算手段と、
（ｆ）前記各気筒毎の回転変動偏差と第１、第２異常判定値とを比較して、この比較結果に基づいてその気筒が異常気筒であるか否かを検出する異常気筒検出手段と、
（ｇ）前記多気筒内燃機関のアイドル運転状態を検出するアイドル運転検出手段とを備えた多気筒内燃機関の異常気筒検出装置において、
前記異常気筒検出手段は、前記アイドル運転検出手段にて前記多気筒内燃機関のアイドル運転状態を検出した際に、前記各気筒毎の回転変動偏差と第１、第２異常判定値とを比較して、この比較結果に基づいてその気筒が異常気筒であるか否かを検出し、
前記各気筒毎の回転変動偏差が前記第１異常判定値よりも小さい時に、その気筒の燃焼状態が不十分またはその気筒が失火であるか、あるいはその気筒の前記燃料噴射弁が機能故障により燃料を十分に噴射できない状態であることを検出し、
前記各気筒毎の回転変動偏差が前記第２異常判定値よりも大きい時に、その気筒の前記燃料噴射弁からの噴射が過剰噴射であることを検出し、
前記第１異常判定値は、前記第２異常判定値よりも小さな値であることを特徴とする多気筒内燃機関の異常気筒検出装置。
【請求項２】
請求項１に記載の多気筒内燃機関の異常気筒検出装置において、
前記異常気筒検出手段は、前記異常気筒の回転変動偏差が前記第１異常判定値よりも小さくなった回数が３回以上になった場合に、前記異常気筒の前記燃料噴射弁の機能故障による異常噴射を検出することを特徴とする多気筒内燃機関の異常気筒検出装置。
【請求項３】
請求項１または請求項２に記載の多気筒内燃機関の異常気筒検出装置において、
前記異常気筒検出手段は、前記異常気筒の回転変動偏差が前記第２異常判定値よりも大きくなった回数が３回以上になった場合に、前記異常気筒の前記燃料噴射弁の機能故障による異常噴射を検出することを特徴とする多気筒内燃機関の異常気筒検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば自動車等の車両に搭載される多気筒内燃機関の各気筒の爆発によって生じる瞬時最高回転速度と瞬時最低回転速度との回転変動時間差に基づいて、燃焼状態が不十分または失火、あるいは燃料噴射弁の機能故障による異常噴射を検出できるようにした多気筒内燃機関の異常気筒検出装置に関するものである。
【０００２】
【従来の技術】
従来より、多気筒内燃機関の各気筒の燃焼状態および燃料噴射弁の機能故障による異常噴射を検出する多気筒内燃機関の異常気筒検出装置として、特開平１１−８２２７１号公報や特開平５−１９５８５８号公報に示されているものがある。先ず、特開平１１−８２２７１号公報においては、ディーゼルエンジン用グロープラグを使って燃料の燃焼時に発生するイオン電流を検出し、そのイオン電流の検出結果からディーゼルエンジンの異常気筒を検出するようにしたディーゼルエンジンの異常気筒検出装置（第１従来例）が記載されている。
【０００３】
また、特開平５−１９５８５８号公報においては、回転角センサからのクランク角信号に基づいて多気筒内燃機関の各気筒毎に爆発行程時の回転速度を求め、この回転速度から多気筒内燃機関の回転変動量の変化量を算出する。そして、多気筒内燃機関の運転状態に基づいて気筒別失火判定値を設定し、気筒別失火判定値と回転変動量の変化量とを比較して、多気筒内燃機関の各気筒毎に失火の判定を行うようにした多気筒内燃機関の失火検出装置（第２従来例）が記載されている。
【０００４】
【発明が解決しようとする課題】
ところが、第１従来例のディーゼルエンジンの異常気筒検出装置においては、各グロープラグの発熱体とそれに対面するシリンダヘッド（燃焼室の内壁面）との間に定電圧を印加するための出力装置、および波形処理回路が必要でコストアップの要因を伴うという問題が生じている。また、第２従来例の多気筒内燃機関の失火検出装置のように、回転角センサを用いてエンジン回転速度を求めて各気筒毎の失火を検出するものは、専用のセンサや回路を追加するものではないので、コストアップは無いものの、多気筒内燃機関の全運転域で検出精度を確保する必要があるため、ロジック回路が複雑で、ＣＰＵ処理負荷を増大させてしまうという問題が生じている。
【０００５】
ここで、各気筒毎で爆発行程の回転変化にバラツキの生じ易いディーゼルエンジンにおいては、特開昭５９−８２５３４号公報に示されているように、アイドル運転でエンジン回転速度の情報を用いてアイドル振動を低減させる制御が用いられる場合が多いが、これを用いればコストアップすること無しに簡素なロジック回路によって多気筒内燃機関の各気筒毎の燃焼異常状態および燃料噴射弁の異常（例えば燃料噴射弁が機能故障により燃料を十分に噴射できない状態にある時）を検出可能とする手法が構築できる。
【０００６】
【発明の目的】
本発明の目的は、コストアップすること無く、簡素なロジック回路の構成によって、異常気筒またはその気筒に対応して取り付けられる燃料噴射弁の機能故障による異常噴射を検出することのできる多気筒内燃機関の異常気筒検出装置を提供することにある。
【０００７】
【課題を解決するための手段】
請求項１に記載の発明によれば、図９（ａ）のグラフに示したように、多気筒内燃機関の各気筒（＃１〜＃６）毎の爆発行程時の瞬時最低回転速度（ＴＮＬ）と瞬時最高回転速度（ＴＮＨ）とを比較する（例えばＴＮＬ−ＴＮＨのように減算する）ことで、各気筒毎の回転変動時間差の単独値（ＤＮＥｋ：μｓ）が算出される。また、多気筒内燃機関の全気筒の瞬時最低回転速度と瞬時最高回転速度とを比較することで、全気筒の回転変動時間差の平均値（ＮＤＬＴ：μｓ）が算出される。
【０００８】
そして、図９（ｂ）のグラフに示したように、各気筒毎の回転変動時間差の単独値（ＤＮＥｋ）と全気筒の回転変動時間差の平均値（ＮＤＬＴ）とを比較することで、各気筒毎の回転変動偏差（ＤＤＮＥｋ：μｓ）が算出される。そして、多気筒内燃機関の各気筒毎の回転変動偏差（ＤＤＮＥｋ）と第１、第２異常判定値［ＫＤＧＮＯＩＮＪ、ＫＤＧＥＸＩＮＪ］とを比較することで、その気筒が異常気筒であるか正常気筒であるかを検出したり、その気筒の燃料噴射弁の機能故障による異常噴射が発生しているか否かを検出したりすることができる。それによって、コストアップすること無く、簡素なロジック回路の構成によって、その気筒が異常気筒であることを検出、あるいはその気筒の燃料噴射の機能故障による異常噴射を検出することができる。
【０００９】
そして、アイドル運転検出手段にて多気筒内燃機関のアイドル運転状態を検出した場合にのみ、異常気筒の検出が成される。それによって、比較的に各気筒の回転変動偏差が非常に小さいアイドル運転時にのみ、その気筒が異常気筒であるか正常気筒であるかの検出を行うことにより、異常気筒の検出を精度良く実施することができる。
【００１０】
そして、多気筒内燃機関の各気筒毎の回転変動偏差が第１異常判定値（下限値）〔ＫＤＧＮＯＩＮＪ〕よりも小さい場合には、その気筒の燃焼状態が不十分（失火）であるか、あるいはその気筒の燃料噴射弁からの燃料噴射が過少噴射、つまり燃料噴射弁が機能故障により燃料を十分に噴射できない状態であることが検出される。また、多気筒内燃機関の各気筒毎の回転変動偏差が第２異常判定値（上限値）〔ＫＤＧＥＸＩＮＪ〕よりも大きい場合には、その気筒の燃料噴射弁からの燃料噴射が過剰噴射（過大噴射）、つまり燃料噴射弁が機能故障により燃料を過剰に噴射している状態であることが検出される。
また、請求項２に記載の発明によれば、異常気筒の回転変動偏差（ＤＤＮＥｋ）の値は、図９（ｂ）のグラフに示したように、他の正常気筒に対して小さな値となる。そこで、異常気筒の回転変動偏差（ＤＤＮＥｋ）が、第１異常判定値（下限値）〔ＫＤＧＮＯＩＮＪ〕よりも小さくなった回数が３回以上になった場合には、その異常気筒の燃焼状態が不十分（失火）であるか、あるいは異常気筒の燃料噴射弁の機能故障による異常噴射、つまり異常気筒内へ燃料を十分に噴射できない状態であることを検出できる。
また、請求項３に記載の発明によれば、異常気筒の回転変動偏差（ＤＤＮＥｋ）の値は、図１０のグラフに示したように、他の正常気筒に対して大きな値となる。そこで、異常気筒の回転変動偏差（ＤＤＮＥｋ）が、第２異常判定値（上限値）〔ＫＤＧＥＸＩＮＪ〕よりも大きくなった回数が３回以上になった場合には、異常気筒の燃料噴射弁の機能故障による異常噴射、つまり異常気筒への燃料噴射が過剰噴射（正常気筒よりも燃料噴射量が多い）であることを検出できる。
【００１１】
【発明の実施の形態】
〔実施例の構成〕
発明の実施の形態を実施例に基づき図面を参照して説明する。ここで、図１はディーゼルエンジン用蓄圧式燃料噴射制御システムの全体構成を示した図で、図２はクランク角センサ、警告ランプおよびエンジンＥＣＵを示した図である。
【００１２】
本実施例のディーゼルエンジン用蓄圧式燃料噴射制御システムは、一般にコモンレールシステムと呼ばれており、例えば６気筒のディーゼルエンジン（多気筒内燃機関：以下エンジンと略す）９の運転状態、自動車等の車両の走行状態および運転者の操作量（意思）を各種センサにより検出して、電子式コントロールユニット（以下エンジンＥＣＵと言う）１０に伝えて、各種センサからの情報により最適な燃料噴射量および燃料噴射時期を演算し、それぞれを制御するアクチュエータに指令するように構成されている。
【００１３】
ここで、ディーゼルエンジン用蓄圧式燃料噴射制御システムの燃料配管系には、燃料タンク１１内の燃料を汲み上げるフィードポンプを内蔵し、このフィードポンプにより吸い出された燃料を加圧して高圧燃料を圧送する燃料噴射ポンプ１２と、この燃料噴射ポンプ１２より圧送された高圧燃料を蓄圧する蓄圧室であるコモンレール１３と、高圧パイプ１４を介してコモンレール１３に接続されて、エンジン９の各気筒＃１〜＃６に取り付けられた複数個の燃料噴射弁（以下インジェクタと言う）１〜６とが配設されている。
【００１４】
そして、燃料噴射ポンプ１２に取り付けられたアクチュエータとしての調整用電磁弁１５は、エンジンＥＣＵ１０からの制御信号により電子制御されることにより、燃料噴射ポンプ１２から燃料配管１６を経てコモンレール１３への高圧燃料の圧送量を調整することで、コモンレール圧力を変更する。そのコモンレール１３は、比較的に高い圧力（コモンレール圧力）の高圧燃料を蓄えるサージタンクの一種で、燃料配管を形成する高圧パイプ１４を介して各インジェクタ１〜６に接続されている。コモンレール１３から燃料タンク１１への燃料のリターン配管１７は、コモンレール圧力が、限界蓄圧圧力を超えることがないようにプレッシャリミッタ１８からも圧力を逃がせるように構成されている。
【００１５】
複数個のインジェクタ１〜６は、本発明の燃料噴射弁に相当するもので、エンジン９のシリンダブロックに（各気筒＃１〜＃６に個別に対応して）取り付けられ、各気筒毎の燃焼室内に高圧燃料を噴射する燃料噴射ノズルである。そして、各インジェクタ１〜６からエンジン９への燃料噴射量および燃料噴射時期等は、アクチュエータとしての複数個の調整用電磁弁１９への通電および通電停止をエンジンＥＣＵ１０で電子制御することにより決められる。なお、インジェクタ１〜６の弁体の開弁時間が長ければ長い程、燃料噴射量が増加し、インジェクタ１〜６の弁体の開弁時間が短ければ短い程、燃料噴射量が減少する。
【００１６】
エンジンＥＣＵ１０は、本発明の回転速度検出手段、単独値演算手段、平均値演算手段、回転変動偏差演算手段、異常気筒検出手段に相当するもので、内部に制御処理、演算処理を行うＣＰＵ、各種プログラムおよび各種データを保存するＲＡＭ、ＲＯＭ、タイマー等からなるマイクロコンピュータが設けられている。
【００１７】
そして、車両の走行速度を検出する車速センサ２１、アクセルペダルの踏み込み量（アクセル開度：ＡＣＣＰ）を検出するアクセル開度センサ２２、エンジン９の冷却水温度（ＴＨＷ）を検出するエンジン冷却水温センサ２３、コモンレール１４内に蓄圧された高圧燃料の燃料圧力を検出する燃料圧センサ２４等の各種センサからのセンサ信号は、エンジンＥＣＵ１０内のＡ／Ｄ変換器によってＡ／Ｄ変換された後にマイクロコンピュータに入力されるように構成されている。
【００１８】
各種センサとしては、その他に、エンジン９のクランクシャフトに取り付けられて、クランクシャフトの回転角度を検出してクランク角信号（ＮＥパルス信号）を発生するクランク角センサ２５、エンジン９のカムシャフトに取り付けられて、カムシャフトの回転角度を検出してカム角信号を発生するカム角センサ２６、リターン配管２０に取り付けられて、燃料温度を検出する燃料温度センサ２７等がある。
【００１９】
また、吸気圧センサ２８、吸入空気量センサ２９、吸入空気温度センサ３０、ＥＧＲバルブ開口度センサ３１、ＶＮＴ駆動量センサ３２およびシフト位置センサ３３等を使用しても良い。なお、燃料温度センサ２７は、検出精度を上げるために各インジェクタ１〜６のリターン配管２０の集合部分にできる限り近い位置に搭載することが望ましい。
【００２０】
ここで、クランク角センサ２５は、本発明の回転速度検出手段に相当するもので、図１および図２に示したように、エンジン９のクランクシャフトに固定された磁性体製のタイミングロータ３４、このタイミングロータ３４の外周側に配置されたピックアップコイル３５、および磁束を発生させる永久磁石（マグネット）等で構成された電磁式回転センサである。なお、マイクロコンピュータは、クランク角信号（ＮＥパルス信号）の間隔時間を計測することによって、エンジン回転速度（ＮＥ）を検出する。
【００２１】
本実施例では、エンジン１の１周期（吸気行程、圧縮行程、爆発行程、排気行程）、つまりクランクシャフトが２回転（７２０°）する間に、４８個のクランク角信号（１パルス１５°ＣＡ）が発生するように、タイミングロータ３４の外周面に歯状部３６を２４個設けている。なお、図３のタイムチャートに示したように、ＮＥパルスのＮｏ．６とＮｏ．０の間に欠歯部３７が設けられている。また、ＮＥパルスのＮｏ．３は、気筒＃１〜＃６の各上死点（ＴＤＣ）の位置に対応している。
【００２２】
ここで、エンジンＥＣＵ１０は、クランク角センサ２５からのクランク角信号（ＮＥパルス信号）、カム角センサ２６からのカム角信号を基準にして、インジェクタ１〜６の燃料噴射時期（開弁時期）や、燃料噴射ポンプ１２の燃料圧送期間を決定することで、コモンレール圧力を所定の圧力値に保持するように制御する。
【００２３】
そして、クランク角センサ２５により検出されるエンジン回転速度（ＮＥ）、およびアクセル開度センサ２２により検出されるアクセル開度（ＡＣＣＰ）等から、エンジン冷却水温センサ２３により検出される冷却水温度（ＴＨＷ）の補正などを加味して燃料噴射量を計算し、この計算した燃料噴射量を達成するために、運転状態毎にコモンレール１４内の燃料圧力から算出された開閉指令でインジェクタ１〜６を駆動することで、エンジン９が運転される。
【００２４】
ここで、エンジン９の運転中で気筒（シリンダ）＃１〜＃６内で燃焼した排気ガスは、排気管４１を通り、バリアブルノズルターボ（ＶＮＴ）４２のタービンの駆動源となった後に、触媒４３、マフラー４４を経て排出される。また、そのＶＮＴ４２の制御は、吸気圧センサ２８およびＶＮＴ駆動量センサ３２の信号に基づいて行われる。
【００２５】
また、ＶＮＴ４２で過給された吸入空気は、吸気管４５を経てエンジン９の各気筒＃１〜＃６へと導入される。そして、吸入空気は、エミッションを低減するために、運転状態毎に設定された所定のＥＧＲ量になるようにＥＧＲバルブ４６の開口度を制御され、排気管４１からの排気ガスとミキシングされる。そのＥＧＲ量は、吸入空気量センサ２９、吸入空気温度センサ３０およびＥＧＲバルブ開口度センサ３１からの信号で、所定のＥＧＲ量を保持できるようにエンジンＥＣＵ１０によってフィードバック制御されている。
【００２６】
ここで、エンジンＥＣＵ１０は、図３のタイムチャートに示したように、クランク角センサ２５によって検出される各気筒毎の爆発行程時の瞬時最高回転速度と瞬時最低回転速度との回転変動時間差と、全気筒の爆発行程時の瞬時最高回転速度と瞬時最低回転速度との回転変動時間差との比較結果に基づいてエンジン９のいずれかの気筒が異常気筒であるか正常気筒であるかを判定する。そして、少なくとも１つの気筒が異常気筒であると判定した場合には、その異常状態を乗員に知らせるための視覚表示手段としての警告ランプ５１を点灯させる。また、聴覚表示手段としてのブザー等を鳴動させても良い。
【００２７】
〔実施例の異常気筒検出方法〕
次に、本実施例のエンジンＥＣＵ１０による異常気筒検出方法を図１ないし図１０に基づいて簡単に説明する。ここで、図４および図５は診断実施条件の判定を示したフローチャートである。
【００２８】
エンジン９が始動されると、図４および図５のフローチャートが開始される。そして、エンジンＥＣＵ１０に各種センサからのセンサ信号が入力されて診断実施条件の判定が実施される。先ず、アクセル開度センサ２２によって検出されたアクセル開度（ＡＣＣＰ）が所定値（例えば２％）以下であるか否かを判定する（アイドル運転検出手段：ステップＳ１）。この判定結果がＮＯの場合には、ＸＦＣＣＢフラグをＯＦＦ（ＸＦＣＣＢ＝０）し、ＦＣＣＢ制御を実施しない（ステップＳ２）。
【００２９】
また、ステップＳ１の判定結果がＹＥＳの場合には、クランク角センサ２５からのクランク角信号（ＮＥパルス信号）の間隔時間を計測することによって検出されたエンジン回転速度（ＮＥ）が所定値（ＩＳＣ目標回転速度＋１００ｒｐｍ：例えば７００ｒｐｍ）以下であるか否かを判定する（アイドル運転検出手段：ステップＳ３）。この判定結果がＮＯの場合には、ステップＳ２の制御処理に進む。
【００３０】
また、ステップＳ３の判定結果がＹＥＳの場合には、指令噴射量（ＱＦＩＮ）が所定値（例えば５ｍｍ3 ／ｓｔ）以下であるか否かを判定する（アイドル運転検出手段：ステップＳ４）。この判定結果がＮＯの場合には、ステップＳ２の制御処理に進む。
【００３１】
ここで、エンジンＥＣＵ１０は、エンジン回転速度（ＮＥ）とアクセル開度（ＡＣＣＰ）に基づいて２次元マップまたは計算式からエンジン冷却水温センサ２３により検出される冷却水温度（ＴＨＷ）の補正などを加味して基本噴射量を計算し、その基本噴射量の指令値、つまり指令噴射量（ＱＦＩＮ）としてアクチュエータ（複数個の調整用電磁弁１９）に制御信号を送る。
【００３２】
また、ステップＳ４の判定結果がＹＥＳの場合には、｜ＮＥ−ＩＳＣ目標エンジン回転速度｜が所定値（例えば５０ｒｐｍ）以下であるか否かを判定する（アイドル運転検出手段：ステップＳ５）。この判定結果がＮＯの場合には、ステップＳ２の制御処理に進む。
【００３３】
また、ステップＳ５の判定結果がＹＥＳの場合には、車速センサ２１によって検出される車両の走行速度（車速）が所定値（例えば０ｋｍ／ｈ）以下であるか否かを判定する（アイドル運転検出手段：ステップＳ６）。この判定結果がＮＯの場合には、ステップＳ２の制御処理に進む。また、ステップＳ６の判定結果がＹＥＳの場合には、シフトレバー（セレクトレバー）の位置がニュートラル（Ｎ）位置であるか否かを判定する（アイドル運転検出手段：ステップＳ７）。この判定結果がＮＯの場合には、ステップＳ２の制御処理に進む。なお、ステップＳ１、Ｓ３〜Ｓ７の判定処理は、少なくとも１つ以上行えば良い。
【００３４】
また、ステップＳ７の判定結果がＹＥＳの場合、すなわち、エンジン９がアイドル運転状態で運転されている場合には、ＸＦＣＣＢフラグをＯＮ（ＸＦＣＣＢ＝１）し、ＦＣＣＢ制御を実施する（ステップＳ８）。次に、ＸＦＣＣＢフラグがＯＮ（ＸＦＣＣＢ＝１）されているか否かを判定する（ステップＳ９）。この判定結果がＮＯの場合には、ＦＣＣＢ制御および診断実施条件の判定を実施しないで、リターンする。
【００３５】
また、ステップＳ９の判定結果がＹＥＳの場合には、ＸＦＣＣＢ＝１が５秒間以上連続しているか否かを判定する（ステップＳ１０）。この判定結果がＮＯの場合には、ＦＣＣＢ制御（Ｆｕｅｌ  Ｃｏｎｔｒｏｌ  ｆｏｒ  Ｃｙｌｉｎｄｅｒ  ｂａｌａｎｃｕｎｇ：図６のサブルーチン）を実施する（ステップＳ１１）。その後に、リターンする。
【００３６】
また、ステップＳ１０の判定結果がＹＥＳの場合には、エンジン冷却水温センサ２３によって検出された冷却水温度（ＴＨＷ）が所定値（例えば６０℃）よりも高温であるか否かを判定する（ステップＳ１２）。この判定結果がＮＯの場合には、ステップＳ１１の制御処理に進む。また、ステップＳ１２の判定結果がＹＥＳの場合には、異常気筒診断制御（図７のサブルーチン）を実施する（ステップＳ１３）。その後に、リターンする。
【００３７】
ここで、図６はＦＣＣＢ制御を示したフローチャートである。先ず、ある気筒の上死点前（ＢＴＤＣ１５°ＣＡ）の割り込み（ステップＳ２０）があると、今回の処理が以下のどの気筒に関して行われるのかを認識するための認識ナンバーｋ値に１を加える（ステップＳ２１）。つまり、ｋ＝１の時は気筒＃１、ｋ＝２の時は気筒＃２、ｋ＝３の時は気筒＃３、ｋ＝４の時は気筒＃４、ｋ＝５の時は気筒＃５、ｋ＝６の時は気筒＃６と認識する。
【００３８】
次に、１を加えた認識ナンバーｋ値が７（ｋ＝７）であるか否かを判定する（ステップＳ２２）。この判定結果がＹＥＳの場合には、本実施例が６気筒ディーゼルエンジン９について説明されているため、認識ナンバーｋ値を１（ｋ＝１）に置き換える（ステップＳ２３）。
【００３９】
次に、クランク角センサ２５からのクランク角信号（本実施例ではＮＥパルス信号のＮＯ．２〜ＮＯ．４：ＢＴＤＣ１５°ＣＡ〜ＡＴＤＣ１５°ＣＡ）の間隔時間（３０°ＣＡ時間：μｓ）を計算することにより、瞬時回転速度（ＮＥ）を読み込む（ステップＳ２４）。この瞬時回転速度（ＮＥ）をこの気筒の瞬時最低回転速度（ＴＮＬ）として記憶して（瞬時最低回転速度検出手段：ステップＳ２５）、割り込みを終了する。以降、マイクロコンピュータは、次の割り込み処理までは本制御処理に関する以外の他の制御処理を実施する等している。
【００４０】
その後に、ある気筒の上死点後（ＡＴＤＣ４５°ＣＡ）の割り込み（ステップＳ２６）があると、クランク角センサ２５からのクランク角信号（本実施例ではＮＥパルス信号のＮＯ．６〜ＮＯ．０：ＡＴＤＣ４５°ＣＡ〜ＡＴＤＣ７５°ＣＡ）の間隔時間（３０°ＣＡ時間：μｓ）を計算することにより、瞬時回転速度（ＮＥ）を読み込む（ステップＳ２７）。この瞬時回転速度（ＮＥ）をこの気筒の瞬時最高回転速度（ＴＮＨ）として記憶する（瞬時最高回転速度検出手段：ステップＳ２８）。
【００４１】
次に、図３のタイムチャートに示したように、瞬時最低回転速度（ＴＮＬ）から瞬時最高回転速度（ＴＮＨ）を減算し、この速度差（ＴＮＬ−ＴＮＨ）を、今回の噴射による回転変動時間差の単独値（ＤＮＥｋ）として記憶する（単独値演算手段：ステップＳ２９）。例えばエンジン９の各気筒＃１〜＃６毎の回転変動時間差の単独値（ＤＮＥｋ）は、図３に示したように、ＤＮＥ１＝ＴＮＬ−ＴＮＨ、ＤＮＥ２＝ＴＮＬ−ＴＮＨ、ＤＮＥ３＝ＴＮＬ−ＴＮＨ、ＤＮＥ４＝ＴＮＬ−ＴＮＨ、ＤＮＥ５＝ＴＮＬ−ＴＮＨ、およびＤＮＥ６＝ＴＮＬ−ＴＮＨとなる。したがって、気筒毎の回転変動は、瞬時回転速度が最高となるＢＤＣを挟む３０°ＣＡ時間（ＴＮＨ）と、瞬時回転速度が最低となるＴＤＣを挟む３０°ＣＡ時間（ＴＮＬ）との差（μｓ）として算出される。
【００４２】
次に、ＤＮＥｋ（＝ＤＮＥ１〜ＤＮＥ６）の平均値（ＮＤＬＴ）を算出し、この平均値（ＮＤＬＴ）を、毎回の回転変動時間差の平均値（ＮＤＬＴ：μｓ）として記憶する（平均値演算手段：ステップＳ３０）。次に、毎回の回転変動時間差の平均値（ＮＤＬＴ）から今回の回転変動時間差の単独値（ＤＮＥｋ）を減算した値を、今回の回転変動偏差（ＤＤＮＥｋ：μｓ）として記憶する（回転変動偏差演算手段：ステップＳ３１）。その後に、異常気筒診断制御（図７のサブルーチン）を実施する。例えば今回の回転変動偏差（ＤＤＮＥｋ）は、図３に示したように、ＤＤＮＥ１＝ＮＤＬＴ−ＤＮＥ１、ＤＤＮＥ２＝ＮＤＬＴ−ＤＮＥ２、ＤＤＮＥ３＝ＮＤＬＴ−ＤＮＥ３、ＤＤＮＥ４＝ＮＤＬＴ−ＤＮＥ４、ＤＤＮＥ５＝ＮＤＬＴ−ＤＮＥ５、およびＤＤＮＥ６＝ＮＤＬＴ−ＤＮＥ６となる。
【００４３】
ここで、図７は異常気筒診断制御を示したフローチャートである。先ず、今回の回転変動偏差（ＤＤＮＥｋ）が第１異常判定値［ＫＤＧＮＯＩＮＪ］よりも小さいか否かを判定する（ステップＳ３２）。この判定結果がＹＥＳの場合、例えば図３および図９（ｂ）に示したように、気筒＃１のＤＤＮＥ１が第１異常判定値［ＫＤＧＮＯＩＮＪ］よりも小さい場合には、各気筒の異常気筒カウンタ（ＣＮＯＩＮＪｋ）のｋ値に１を加える（ステップＳ３３）。
【００４４】
次に、異常気筒カウンタ（ＣＮＯＩＮＪｋ）のｋ値が判定値（α：例えば３回）以上であるか否かを判定する（ステップＳ３４）。この判定結果がＹＥＳの場合には、異常気筒判定フラグ（ＸＤＧＮＯＩＮＪｋ）をＯＮする（異常気筒検出手段、失火検出手段：ステップＳ３５）。
【００４５】
また、ステップＳ３２の判定結果がＮＯの場合には、今回の回転変動偏差（ＤＤＮＥｋ）が第２異常判定値［ＫＤＧＥＸＩＮＪ］よりも大きいか否かを判定する（ステップＳ３６）。この判定結果がＹＥＳの場合、例えば図３および図９（ｂ）に示したように、気筒＃１のＤＤＮＥ１が第２異常判定値［ＫＤＧＥＸＩＮＪ］よりも大きい場合には、異常気筒カウンタ（ＣＥＸＩＮＪｋ）のｋ値に１を加える（ステップＳ３７）。
【００４６】
次に、異常気筒カウンタ（ＣＥＸＩＮＪｋ）のｋ値が判定値（β：例えば３回）以上であるか否かを判定する（ステップＳ３８）。この判定結果がＹＥＳの場合には、異常気筒判定フラグ（ＸＤＧＥＸＩＮＪｋ）をＯＮする（異常気筒検出手段、過剰噴射検出手段：ステップＳ３９）。また、ステップＳ３６の判定結果がＮＯの場合には、ＦＣＣＢ補正制御（図８のサブルーチン）を実施する（ステップＳ４０）。
【００４７】
次に、異常気筒判定フラグ（ＸＤＧＮＯＩＮＪｋ）または異常気筒判定フラグ（ＸＤＧＥＸＩＮＪｋ）の少なくとも１つがＯＮしているか否かを判定する（ステップＳ４１）。この判定結果がＮＯの場合には、異常気筒診断制御を終了して、リターンする。また、ステップＳ４１の判定結果がＹＥＳの場合には、警告ランプ５１を点灯（ＯＮ）して、乗員に複数の気筒のうちに異常気筒が存在することを知らせる（異常気筒警告手段：ステップＳ４２）。その後に、異常気筒診断制御を終了して、リターンする。
【００４８】
ここで、図８はＦＣＣＢ補正制御を示したフローチャートである。先ず、今回の回転変動偏差（ＤＤＮＥｋ）と毎回の回転変動時間差の平均値（ＮＤＬＴ）との大小関係を判定する（ステップＳ５１）。この比較結果、ＤＤＮＥｋがＮＤＬＴよりも大きい場合、すなわち、今回の燃料噴射による回転変動量が、前６回の平均値よりも大きい場合には、今回の燃料噴射量が過多であるので、各気筒毎の気筒補正量（ＱＣＭＰｋ）から、予め設定した微小な値（ΔＱＣＭＰ）を減算した値を、次回の気筒補正量（ＱＣＭＰｋ）として記憶する（ステップＳ５２）。
【００４９】
また、ＤＤＮＥｋがＮＤＬＴよりも小さい場合、すなわち、今回の燃料噴射による回転変動量が、前６回の平均値よりも小さい場合には、今回の燃料噴射量が不足しているので、各気筒毎の気筒補正量（各気筒毎の補正噴射量：ＱＣＭＰｋ）から、予め設定した微小な値（ΔＱＣＭＰ）を加算した値を、次回の気筒補正量（ＱＣＭＰｋ）として記憶する（ステップＳ５３）。なお、ＤＤＮＥｋがＮＤＬＴと等しければ気筒補正量（ＱＣＭＰｋ）に何ら加減することなく、次の制御処理に進む。
【００５０】
次に、今回の瞬時最低回転速度（ＴＮＬ）と今回の瞬時最高回転速度（ＴＮＨ）とから、現在の瞬時回転速度の平均値（ＮＥｋ）を算出する（ステップＳ５４）。次に、現在のエンジン負荷信号（γ）、つまりアクセル開度センサ２２によって検出されたアクセル開度（ＡＣＣＰ）を読み込む（ステップＳ５５）。
【００５１】
次に、現在の制御処理の次に燃料が噴射される気筒への、基本燃料噴射量に対応したインジェクタへの基本制御電流値（Ｉ0 ）を、現在の瞬時回転速度の平均値（ＮＥｋ）とアクセル開度（γ）とから算出する（ステップＳ５６）。次に、認識ナンバーｋ値に１を加えてこれを補正気筒対応ナンバーｊとして記憶する（ステップＳ５７）。
【００５２】
次に、補正気筒対応ナンバーｊが７（ｊ＝７）であるか否かを判定する（ステップＳ５８）。この判定結果がＹＥＳの場合には、本実施例が６気筒ディーゼルエンジン９について説明されているため、補正気筒対応ナンバーｊを１（ｊ＝１）に置き換える（ステップＳ５９）。次に、次回の各気筒毎の基本燃料噴射量（噴射期間）を演算して、それに基づいてインジェクタの調整用電磁弁１９を制御する（ＴＷＶ制御）。すなわち、ｊに対応する気筒への基本制御電流値（Ｉ0 ）にＦＣＣＢ補正値（Ｋｊ）を加え、次の噴射に備えてインジェクタを変位させるように制御信号を出力する（ステップＳ６０）。その後に、リターンする。
【００５３】
〔実施例の特徴〕
ここで、一般的に、エンジン９の各気筒＃１〜＃６が燃焼異常状態またはエンジン９の各気筒＃１〜＃６内でインジェクタ１〜６から十分な噴射が得られないと、エンジン９の各気筒＃１〜＃６内で完全な燃焼が得られず、エンジン９の各気筒＃１〜＃６の爆発行程時の瞬時回転速度が低下する。また、エンジン９の各気筒＃１〜＃６内でインジェクタ１〜６から過剰噴射が成されると、エンジン９の各気筒＃１〜＃６の爆発行程時の瞬時回転速度が上昇する。
【００５４】
そこで、本実施例では、次に、本実施例の特徴を図１ないし図１０に基づいて簡単に説明する。６気筒のエンジン９において、先ず１２０°ＣＡ毎にＮＥパルスの割り込みにて下記の値、つまり▲１▼各気筒毎の爆発行程時の瞬時最低回転速度（ＴＮＬ）および瞬時最高回転速度（ＴＮＨ）、▲２▼各気筒毎の回転変動時間差の単独値（ＤＮＥｋ）、▲３▼全気筒の回転変動時間差の平均値（ＮＤＬＴ）、▲４▼回転変動偏差（ＤＤＮＥｋ）を算出する。
【００５５】
クランク角センサ２５からのクランク角（ＮＥパルス）信号に基づいて、エンジン９の各気筒毎の爆発行程時の瞬時最低回転速度（ＴＮＬ）および瞬時最高回転速度（ＴＮＨ）を算出し、エンジン９の各気筒毎のＴＮＬからＴＮＨを減算することで各気筒毎の回転変動時間差の単独値（ＤＮＥｋ）を算出するようにしている。そして、エンジン９の全気筒のＴＮＬからＴＮＨを減算することで全気筒の回転変動時間差の平均値（ＮＤＬＴ）を算出し、ＤＮＥｋとＮＤＬＴとから回転変動偏差（ＤＤＮＥｋ）を算出するようにしている。なお、ｋは気筒番号である。また、計算された各気筒毎のＤＤＮＥｋは、気筒別に用意されたＲＡＭに格納される。
【００５６】
次に、ＦＣＣＢ制御実施条件が８ｍｓ毎に算出される。そして、ＸＦＣＣＢ＝１となった時には、公知の方法でＦＣＣＢ制御が実施される。また、同じく８ｍｓ毎に異常気筒診断条件が算出される。そして、ＸＦＣＣＢ＝１が所定値（例えば５秒間）以上連続、すなわち、ＦＣＣＢ制御にて各気筒の回転変動バラツキが吸収されるのに十分な時間が経過しており、且つエンジン冷却水温が６０℃よりも高温の時、すなわち、各気筒のＤＮＥｋが外乱の影響を受け難くなったという２つの条件が満たされたとき、図９（ａ）、（ｂ）および図１０に示したように、例えば１００ｍｓ毎に６気筒全て一括で以上の診断が実施される。
【００５７】
そして、燃焼状態またはインジェクタに異常のある気筒の回転変動偏差（ＤＤＮＥｋ）の値は、図９（ｂ）のグラフに示したように、他の正常気筒に対して小さな値となる。例えば気筒＃１の回転変動偏差（ＤＤＮＥ１）が第１異常判定値（下限値）［ＫＤＧＮＯＩＮＪ］よりも小さくなった回数が例えば３回以上になった場合には、異常気筒（＃１）の燃焼状態が不十分（失火）であるか、あるいはその気筒（＃１）のインジェクタ１の機能故障による異常噴射、つまりその気筒（＃１）内へ燃料を十分に噴射できない状態であることを検出できる。
【００５８】
また、インジェクタに異常のある気筒の回転変動偏差（ＤＤＮＥｋ）の値は、図１０のグラフに示したように、他の正常気筒に対して大きな値となる。例えば気筒＃１の回転変動偏差（ＤＤＮＥ１）が第２異常判定値（上限値）［ＫＤＧＥＸＩＮＪ］よりも大きくなった回数が例えば３回以上になった場合には、その気筒＃１のインジェクタ１の機能故障による異常噴射、つまりその気筒（＃１）への燃料噴射が過剰噴射（正常気筒よりも燃料噴射量が多い）であることを検出できる。それによって、異常気筒診断にクランク角センサ２５からのクランク角信号を使用することにより、新たに特別な波形整形回路などの専用のセンサを設ける必要がないので、コストアップすること無く、簡素なロジック回路の構成によって、正常気筒に対して回転変動偏差（ＤＤＮＥｋ）の値が小さい、あるいは大きい気筒を異常気筒と特定することができる。
【００５９】
〔変形例〕
本実施例では、気筒の回転変動偏差（ＤＤＮＥｋ）の値が第１異常判定値［ＫＤＧＮＯＩＮＪ］よりも小さくなるとカウントアップされる異常気筒カウンタ（ＣＮＯＩＮＪｋ）のｋ値が判定値（α：例えば３回）以上の時にその気筒が失火状態または燃料噴射弁から燃料を十分に噴射できない状態であると判定したが、気筒の回転変動偏差（ＤＤＮＥｋ）の値が第１異常判定値［ＫＤＧＮＯＩＮＪ］よりも連続して３回以上、あるいはエンジン運転中に１回以上小さくなったらその気筒が失火状態であると判定しても良い。
【００６０】
本実施例では、気筒の回転変動偏差（ＤＤＮＥｋ）の値が第２異常判定値［ＫＤＧＥＸＩＮＪ］よりも大きくなるとカウントアップされる異常気筒カウンタ（ＣＥＸＩＮＪｋ）のｋ値が判定値（β：例えば３回）以上の時にその気筒が過剰噴射であると判定したが、気筒の回転変動偏差（ＤＤＮＥｋ）の値が第２異常判定値［ＫＤＧＥＸＩＮＪ］よりも連続して３回以上、あるいはエンジン運転中に１回以上大きくなったらその気筒の燃料噴射弁からの噴射が過剰噴射であると判定しても良い。
【００６１】
本実施例では、燃料噴射ポンプ１２としてエンジン気筒数に関係なく、１本または２対以下のプランジャで燃料を順次各気筒に分配圧送する分配型燃料噴射ポンプを使用した例を説明したが、燃料噴射ポンプ１２としてエンジン気筒数に対応する複数のプランジャを有し、カム軸１回転で各プランジャ毎に燃料を圧送する列型燃料噴射ポンプを使用しても良い。燃料噴射ポンプ１２とインジェクタ１〜６との間にコモンレール１３はなくても良い。
【００６２】
本実施例では、多気筒内燃機関として６気筒のディーゼルエンジンを採用した例を説明したが、多気筒内燃機関として２気筒、４気筒または８気筒以上のディーゼルエンジンを採用しても良い。また、多気筒内燃機関として２気筒以上のガソリンエンジンを採用しても良い。この場合には、燃料噴射弁は、気筒の吸気ポートよりも上流側の吸気管に取り付けられる。
【図面の簡単な説明】
【図１】ディーゼルエンジン用蓄圧式燃料噴射制御システムの全体構成を示した概略構成図である（実施例）。
【図２】クランク角センサ、警告ランプおよびエンジンＥＣＵを示した概略構成図である（実施例）。
【図３】各気筒毎の回転変動時間差、回転変動偏差および各気筒補正量の変化を示したタイムチャートである（実施例）。
【図４】診断実施条件の判定を示したタイムチャートである（実施例）。
【図５】診断実施条件の判定を示したタイムチャートである（実施例）。
【図６】ＦＣＣＢ制御を示したタイムチャートである（実施例）。
【図７】異常気筒診断制御を示したタイムチャートである（実施例）。
【図８】ＦＣＣＢ補正制御を示したタイムチャートである（実施例）。
【図９】（ａ）は各気筒毎の回転変動時間差を示したグラフで、（ｂ）は各気筒毎の回転変動偏差を示したグラフである（実施例）。
【図１０】各気筒毎の回転変動偏差を示したグラフである（実施例）。
【符号の説明】
１  インジェクタ（燃料噴射弁）
２  インジェクタ（燃料噴射弁）
３  インジェクタ（燃料噴射弁）
４  インジェクタ（燃料噴射弁）
５  インジェクタ（燃料噴射弁）
６  インジェクタ（燃料噴射弁）
９  エンジン（多気筒内燃機関）
１０  エンジンＥＣＵ（回転速度検出手段、単独値演算手段、平均値演算手段、回転変動偏差演算手段、異常気筒検出手段）
＃１  気筒
＃２  気筒
＃３  気筒
＃４  気筒
＃５  気筒
＃６  気筒
【図１】
0003861550.tif 000002
【図２】
0003861550.tif 000003
【図３】
0003861550.tif 000004
【図４】
0003861550.tif 000005
【図５】
0003861550.tif 000006
【図６】
0003861550.tif 000007
【図７】
0003861550.tif 000008
【図８】
0003861550.tif 000009
【図９】
0003861550.tif 000010
【図１０】
0003861550.tif 000011