(57)【特許請求の範囲】
【請求項１】
複数備えられている気筒での燃焼が完全にはおこなわれない失火による回転変動を検出し、検出された回転変動の回数に基づいて失火を判定する多気筒内燃機関の失火検出装置において、
失火に起因する回転変動と失火以外の要因による回転変動との差が大きい高Ｓ／Ｎ比運転状態を検出する運転状態検出手段と、
複数の気筒ごとに失火に起因する回転変動を検出しかつ失火回数を積算する失火積算手段と、
前記高Ｓ／Ｎ比運転状態において前記失火積算手段で積算された複数の気筒についての失火に起因する回転変動回数に基づいて失火が生じていることを判定する失火判定手段と、
前記高Ｓ／Ｎ比運転状態とそれ以外の運転状態とを含む内燃機関が運転されている状態において前記失火積算手段で積算された複数の気筒についての失火に起因する回転変動回数に基づいて失火が生じていることを判定する全域失火判定手段とを備え、
所定の経過時間もしくは前記内燃機関の所定の回転回数に対する前記失火判定手段が失火を判定する基準値の割合が、所定の経過時間もしくは前記内燃機関の所定の回転回数に対する前記全域失火判定手段で失火を判定する基準値の割合より小さいことを特徴とする多気筒内燃機関の失火検出装置。
【請求項２】
内燃機関の所定の回転変動を検出し、その回転変動の検出回数に基づいて失火を判定する多気筒内燃機関の失火検出装置において、
前記内燃機関がアイドリング状態にあるときの所定の基準時間内もしくは前記内燃機関が所定回数回転する間の前記回転変動回数を積算し、かつその積算数が第１基準値を超えた場合に失火を判定する第１失火判定手段と、前記内燃機関が所定の基準回転数以下の回転数でかつ所定の負荷以上の高負荷状態で運転されているときの所定の基準時間内もしくは前記内燃機関が所定回数回転する間の前記回転変動回数を積算し、かつその積算数が第２基準値を超えた場合に失火を判定する第２失火判定手段とを備え、
前記第１失火判定手段で使用する前記所定の基準時間もしくは前記内燃機関の所定回転回数に対する前記第１基準値の割合が、前記第２失火判定手段で使用する前記基準時間もしくは前記内燃機関の所定回転回数に対する第２基準値の割合より小さく設定されていることを特徴とする多気筒内燃機関の失火検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、複数の気筒（シリンダー）の内部で燃料が繰り返し燃焼することにより動力を発生する内燃機関の失火を検出する装置に関し、特に複数の気筒での失火に伴う回転変動を検出して失火の判定をおこなう失火検出装置に関するものである。
【０００２】
【従来の技術】
ガソリンエンジンやディーゼルエンジンなどの内燃機関では、気筒の内部に燃料と空気との混合気を封入し、これを圧縮した状態で爆発的に燃料させて動力を出力させている。しかしながら、燃料の供給系統や点火系統などの各種の機器に異常があるなどの場合には、混合気が点火されずに燃焼が生じなかったり、あるいは一旦火炎が発生したものの火炎が混合気の全体に伝播しないなどのいわゆる失火が生じることがある。混合気が燃焼せずに気筒から排出されると、排気系統に設けられている排気浄化触媒がダメージを受けるなどの不都合が生じるので、失火が生じた場合にはこれを直ちに検出して対策を採る必要がある。
【０００３】
従来、内燃機関での失火を検出するための装置の一例が、特開平２−５５８５９号公報によって提案されている。これは、内燃機関がアイドリング運転されている状態で、燃料噴射量の補正量を検出し、その補正量の絶対値が正負に反転する頻度を検出し、その頻度に基づいて失火を判定するように構成されている。
【０００４】
【発明が解決しようとする課題】
上記の公報に記載された装置は、内燃機関の特定のクランク角度ごとに生じる回転変動に基づいて失火を検出するいわゆる回転変動法での不都合を解消するために、回転変動に応じた燃料の補正を利用して失火を検出するように構成したものである。しかしながら、内燃機関の回転数と燃料の供給量との間に相関関係があるものの、回転速度の変化と燃料の供給量の変更との相互の応答性は必ずしも高くない。そのため、燃料量の補正が失火を正確に反映しないので、上記の公報に記載された装置では、失火の検出精度が実用に耐え得るほどには高くならない不都合があった。
【０００５】
また、多気筒内燃機関では、複数の気筒で失火が生じることがあるが、その場合、いずれか一つの気筒での失火に伴う回転変動と他の気筒での失火に伴う回転変動とが相互に干渉することがある。そのために複数気筒での失火を正確に検出するには、複雑かつ困難な処理を余儀なくされるのが実情であった。
【０００６】
この発明は、上記の技術的課題に着目してなされたものであり、容易かつ正確に内燃機関の複数の気筒での失火を検出することのできる装置を提供することを目的とするものである。
【０００７】
【課題を解決するための手段およびその作用】
上記の目的を達成するために、この発明は、失火に起因する回転変動と他の要因での回転変動とを峻別しやすい高Ｓ／Ｎ比運転状態における回転変動回数を検出し、その検出を複数の気筒についておこなうとともにその回転変動回数に基づいて失火を判定するように構成したことを特徴とするものである。より具体的には、請求項１の発明は、複数備えられている気筒での燃焼が完全にはおこなわれない失火による回転変動を検出し、検出された回転変動の回数に基づいて失火を判定する多気筒内燃機関の失火検出装置において、失火に起因する回転変動と失火以外の要因による回転変動との差が大きい高Ｓ／Ｎ比運転状態を検出する運転状態検出手段と、複数の気筒ごとに失火に起因する回転変動を検出しかつ失火回数を積算する失火積算手段と、前記高Ｓ／Ｎ比運転状態において前記失火積算手段で積算された複数の気筒についての失火に起因する回転変動回数に基づいて失火が生じていることを判定する失火判定手段と、前記高Ｓ／Ｎ比運転状態とそれ以外の運転状態とを含む内燃機関が運転されている状態において前記失火積算手段で積算された複数の気筒についての失火に起因する回転変動回数に基づいて失火が生じていることを判定する全域失火判定手段とを備え、所定の経過時間もしくは前記内燃機関の所定の回転回数に対する前記失火判定手段が失火を判定する基準値の割合が、所定の経過時間もしくは前記内燃機関の所定の回転回数に対する前記全域失火判定手段で失火を判定する基準値の割合より小さいことを特徴とする失火検出装置である。
【０００８】
したがって請求項１の発明では、高Ｓ／Ｎ比運転状態での失火の検出感度が鋭敏になり、しかも高Ｓ／Ｎ比運転状態では失火に起因する回転変動を他の要因での回転変動とから峻別し易いので、失火の検出精度を向上させることができる。
【００１５】
また、請求項２の発明は、内燃機関の所定の回転変動を検出し、その回転変動の検出回数に基づいて失火を判定する多気筒内燃機関の失火検出装置において、前記内燃機関がアイドリング状態にあるときの所定の基準時間内もしくは前記内燃機関が所定回数回転する間の前記回転変動回数を積算し、かつその積算数が第１基準値を超えた場合に失火を判定する第１失火判定手段と、前記内燃機関が所定の基準回転数以下の回転数でかつ所定の負荷以上の高負荷状態で運転されているときの所定の基準時間内もしくは前記内燃機関が所定回数回転する間の前記回転変動回数を積算し、かつその積算数が第２基準値を超えた場合に失火を判定する第２失火判定手段とを備え、前記第１失火判定手段で使用する前記所定の基準時間もしくは前記内燃機関の所定回転回数に対する前記第１基準値の割合が、前記第２失火判定手段で使用する前記基準時間もしくは前記内燃機関の所定回転回数に対する第２基準値の割合より小さく設定されていることを特徴とする失火検出装置である。
【００１６】
したがって請求項２の発明では、いずれも高Ｓ／Ｎ比運転状態であるアイドリング状態と、低回転数かつ高負荷の運転状態のいずれにおいても回転変動の所定時間内での回数に基づいて失火を検出するので、失火の検出精度が向上し、さらに、アイドリング状態での検出感度が鋭敏になるので、その点でも失火の検出精度が向上する。
【００２１】
【発明の実施の形態】
つぎにこの発明を図面に示す具体例に基づいて説明する。この発明の失火検出装置が対象とする内燃機関１は、複数の気筒を備え、かつそれらの気筒に燃料および空気を供給し、その混合気を燃焼させる動力機械であり、ガソリンエンジンやディーゼルエンジンがその例である。この内燃機関１には、図１に示すように、スロットルバルブ（図示せず）の開度を検出して信号を出力するスロットル開度センサ２、吸入空気量を検出して信号を出力するエアーフローメータ３、出力軸（図示せず）の回転数すなわちエンジン回転数を検出して信号を出力するエンジン回転数センサ４、出力軸の回転角度すなわちクランク角度を検出して信号を出力するクランク角センサ５、冷却水の温度を検出して信号を出力する水温センサ６などの各種のセンサが取り付けられている。
【００２２】
これらの各センサ２，３，４，５，６は、電子制御装置（ＥＣＵ）７に電気的に接続され、検出値に応じた信号を電子制御装置７に入力するように構成されている。また、電子制御装置７は、マイクロコンピュータを主体として構成され、入力されたデータおよび予め記憶しているデータならびにプログラムに従って演算をおこない、内燃機関１の運転状態の判断や失火の判断ならびにそれらの判断結果に基づく制御信号の出力をおこなうように構成されている。
【００２３】
上記の装置により実行される失火検出の制御について、次に説明する。図２および図３ならびに図４はその失火検出のための制御を説明するフローチャートであって、複数設けられている気筒での各点火ごとに実行される。先ず、失火に起因する回転変動と他の要因での回転変動とを峻別し易い高Ｓ／Ｎ比運転状態か否かの判断がおこなわれる。具体的には、アイドリング状態か否かが判断される（ステップＳ１）。これは、例えばスロットル開度がアイドル開度であり、かつエンジン回転数が１０００ｒｐｍ以下であることにより判断することができる。
【００２４】
内燃機関１の運転状態がアイドリング状態であることによりステップＳ１で肯定的に判断された場合には、失火検出のための前提条件が成立しているか否か（失火検出前提条件の成立）が判断される（ステップＳ２）。その前提条件は、一例として、エンジン水温が−１０℃以上でかつエンジン回転数Ｎe が４００ｒｐｍと６０００ｒｐｍとの範囲にあり、さらに１回転あたりの吸入空気量Ｇa が０．２ｇ以上である。この前提条件が成立していない場合には、内燃機関１が正常に運転されていないことになるので、失火の検出はおこなわれず、図に示すルーチンが終了される。
【００２５】
これに対して失火検出の前提条件が成立していることによりステップＳ２で肯定的に判断された場合には、全域カウンタＣT とアイドル専用カウンタＣI とがインクリメントされる（ステップＳ３）。この全域カウンタＣT は、内燃機関１が運転している間、常時、経過時間あるいは回転回数を検出するためのものであり、図に示すルーチンが実行される都度、“１”ずつ“２００”までカウントアップし、かつリセット後に再度、カウントするカウンタである。したがってこの全域カウンタＣT は、図に示すルーチンの実行サイクルを単位時間として時間を繰り返し検出していることになる。これに対してアイドル専用カウンタＣI は、内燃機関１がアイドリング状態となることによりカウントを開始し、図に示すルーチンが実行される都度、“１”ずつ“１７０”までカウントアップし、かつリセット後に再度、カウントするカウンタである。したがってこのアイドル専用カウンタＣI は、アイドリング状態になった後の経過時間を、図に示すルーチンの実行サイクルを単位時間として繰り返し検出する。
【００２６】
内燃機関１が運転されている間は、前記のエンジン回転数センサ４からの検出信号に基づいて回転変動ΔＮe が検出されており、点火ごとにその回転変動ΔＮe が基準値α以上が否かが判断される（ステップＳ４）。いずれかの気筒で失火が生じると、それに起因して内燃機関１の回転数が低下する。その回転数の低下は、例えば前回所定のクランク角度位置を検出した時点から今回そのクランク角度位置を検出した時点までの経過時間が長くなることを利用して検出することができる。したがって具体的には、クランク角度が３０度（３０°ＣＡ）ごとの経過時間の差が基準値α以上か否かが判断される。なお、所定のクランク角ごとの経過時間は、エンジン回転数Ｎe や負荷によって異なるから、上記の基準値αは、エンジン回転数Ｎe および負荷（１回転あたりの吸入空気量）とをパラメータとしたマップとして予め定め、その時点の内燃機関１の運転状態に応じた基準値αが採用される。
【００２７】
ステップＳ４で肯定的に判断されれば、混合気に点火されることが予定されている気筒での失火に起因して回転変動が生じ、例えば３０°ＣＡごとの経過時間が長くなっていることになるので、各気筒ごとに設けられている気筒別失火カウンタＣTmf，ＣImfがインクリメントされる（ステップＳ５）。すなわち全域気筒別失火カウンタＣTmfとアイドル専用気筒別失火カウンタＣImfとが失火回数を“１”ずつ積算する。
【００２８】
ここで全域気筒別失火カウンタＣTmfは、前記全域カウンタＣT がゼロリセットされた後、時間をカウントしている間の失火に起因する回転変動の回数を積算するカウンタであり、したがって全域カウンタＣT がゼロリセットされる都度、すなわち内燃機関１が２００回、回転する都度、全域気筒別失火カウンタＣTmfがゼロリセットされ、新たにカウントを開始する。言い換えれば、全域気筒別失火カウンタＣTmfは、全域カウンタＣT が検出する所定の経過時間の間に検出された失火に伴う回転変動の回数を積算するようになっている。
【００２９】
また、アイドル専用気筒別失火カウンタＣImfは、前記アイドル専用カウンタＣI がゼロリセットされた後、時間をカウントしている間の失火に起因する回転変動の回数を積算するカウンタであり、したがってアイドル専用カウンタＣI がゼロリセットされる都度、すなわち内燃機関１が１７０回、回転する都度、アイドル専用気筒別失火カウンタＣImfがゼロリセットされ、新たにカウントを開始する。言い換えれば、アイドル専用気筒別失火カウンタＣImfは、アイドル専用カウンタＣI が検出する所定の経過時間の間に検出された失火に伴う回転変動の回数を積算するようになっている。
【００３０】
ついで、アイドル専用カウンタＣI が予め定めた時間を検出したか否か、すなわちそのカウント値が“１７０”になったか否かが判断される（ステップＳ６）。このステップＳ６で肯定的に判断された場合には、失火検出のための単位時間が経過したことになるので、複数のアイドル専用気筒別失火カウンタＣImfの合算した積算値ΣCImfが失火判定基準値Ｍfi以上か否かが判断される（ステップＳ７）。具体的には、４気筒の内燃機関１であれば、２つの気筒についてのアイドル専用気筒別失火カウンタＣImfの積算値が合算され、その値について判断される。また、この失火判定基準値Ｍfiは、この具体例では、“７２”である。
【００３１】
このステップＳ７で肯定的に判断された場合には、内燃機関１が１７０回、回転する間に、７２回の回転変動が検出されたことになるので、この場合には複数気筒で失火が生じていることを示す複数気筒失火仮フラグＦmfがＯＮとされる（ステップＳ８）。これに対してステップＳ７で否定的に判断された場合には、複数気筒失火仮フラグＦmfがＯＦＦとされる（ステップＳ９）。すなわちアイドル運転状態での所定時間あるいは所定の点火回数の内に検出された回転変動の回数が判定基準値に達することにより、複数の気筒で失火が発生していることが判定される。
【００３２】
なお、回転変動が検出されないことにより上記のステップＳ４で否定的に判断された場合には、各気筒別失火カウンタＣTmf，ＣImfのインクリメントをおこなわずに、直ちにステップＳ６に進む。
【００３３】
上記のようにしてアイドリング状態での失火の判定が実行された後、アイドル専用カウンタＣI およびアイドル専用気筒別失火カウンタＣImfのそれぞれがゼロリセットされ、新たにカウントが開始される（ステップＳ１０）。ついで、全域カウンタＣT が予め定めた時間を検出したか否か、すなわちそのカウント値が“２００”になったか否かが判断される（ステップＳ１１）。このステップＳ１１で肯定的に判断された場合には、失火検出のための単位時間が経過したことになるので、複数の全域気筒別失火カウンタＣTmfの合算した積算値ΣCTmfが失火判定基準値Ｍft以上か否かが判断される（ステップＳ１２）。具体的には、４気筒の内燃機関１であれば、２つの気筒についての全域気筒別失火カウンタＣTmfの積算値が合算され、その値について判断される。また、この失火判定基準値Ｍftは、この具体例では、“１０３”である。
【００３４】
したがって内燃機関１の運転全域についての失火の判定は、複数気筒での失火による回転変動の回数が、２００回転について１０３回検出されることによりおこなわれ、その割合は、（１０３／２００＝０．５１５）であるのに対して、アイドリング状態での失火の判定は、複数気筒での失火による回転変動の回数が、１７０回転について７２回検出されることによりおこなわれ、その割合は、（７２／１７０＝０．４２４）であり、アイドリング状態での失火の判定基準が厳しくなっている。言い換えれば、失火の判定が生じやすくなっている。
【００３５】
このステップＳ１２で肯定的に判断された場合には、内燃機関１が２００回転する間に、１０３回の回転変動が検出されたことになる。すなわち失火の程度がかなり顕著であるから、触媒ダメージ失火異常検出フラグＦcdmfがＯＮとされる（ステップＳ１３）。これに対してステップＳ１２で否定的に判断された場合には、前記の複数気筒失火仮フラグＦmfがＯＮか否かが判断される（ステップＳ１４）。このステップＳ１４で肯定的に判断された場合には、アイドリング状態で複数気筒での失火が検出されていることになるので、ステップＳ１３に進んで触媒ダメージ失火異常検出フラグＦcdmfがＯＮとされる。これとは反対にステップＳ１４で否定的に判断された場合には、内燃機関１の運転の全域およびアイドリング状態のいずれでも複数気筒での失火が判定されていないので、触媒ダメージ失火異常検出フラグＦcdmfがＯＦＦとされる（ステップＳ１５）。
【００３６】
上記のようにして２００回転ごとの失火の判定が実行された後、全域カウンタＣT および全域気筒別失火カウンタＣTmfのそれぞれがゼロリセットされ、新たにカウントが開始される（ステップＳ１６）。そして、このルーチンを一旦終了する。なお、全域カウンタＣT の積算値が“２００”に達していないことによりステップＳ１１で否定的に判断された場合には、直ちにこのルーチンを一旦終了する。
【００３７】
さらに、アイドル専用カウンタＣI の積算値が“１７０”に達していないことによりステップＳ６で否定的に判断された場合には、上記のステップＳ１１に進んで、内燃機関１の運転の全域についての失火の発生の判定が実行される。
【００３８】
内燃機関１がアイドリング運転状態にないことにより、上記のステップＳ１で否定的に判断された場合には、他の高Ｓ／Ｎ比運転状態における失火の判定が実行される。すなわちアイドル運転中ではないので、図２に示すようにアイドル専用の各カウンタＣI ,ＣImfのそれぞれがゼロリセットされる（ステップＳ１７）。ついで図４に示すように、高Ｓ／Ｎ比運転状態か否かが判断される。すなわちエンジン回転数Ｎe が所定の低回転域（例えば６５０ｒｐｍ以上かつ３０００ｒｐｍ未満）に入っているか否か（ステップＳ１８）、および負荷Ｇa が高負荷判定値Ｇo 以上か否か（ステップＳ１９）が判断される。ここで負荷Ｇa は１回転あたりの吸入空気量（ｇ／rev ）であり、また高負荷判定値Ｇo はエンジン回転数Ｎe に応じて変化する値であり、一例を示せば図５のとおりである。したがってこの具体例における高Ｓ／Ｎ比運転状態とは、図５にハッチングを施して示す低回転数かつ高負荷の運転領域にある状態である。
【００３９】
上記のステップＳ１８およびステップＳ１９のいずれかで否定的に判断された場合には、内燃機関１の運転状態が高Ｓ／Ｎ比運転状態にないことになるので、この場合は、上記のステップＳ１０に進む。これに対してこれらのステップＳ１８，１９で共に肯定的に判断された場合には、内燃機関１の運転状態が高Ｓ／Ｎ比運転状態にあることになるので、高Ｓ／Ｎ比状態専用カウンタＣSNがインクリメントされる（ステップＳ２０）。この高Ｓ／Ｎ比状態専用カウンタＣSNは、内燃機関１が上記の低回転数かつ高負荷の運転領域にある間、常時、経過時間を検出するためのものであり、図に示すルーチンが実行される都度、“１”ずつ“２００”までカウントアップし、かつリセット後に再度、カウントするカウンタである。したがってこの高Ｓ／Ｎ比状態専用カウンタＣSNは、図に示すルーチンの実行サイクルを単位時間として時間を繰り返し検出していることになる。
【００４０】
内燃機関１が運転されている間は、前記のエンジン回転数センサ４からの検出信号に基づいて回転変動ΔＮe が検出されており、点火ごとにその回転変動ΔＮe が基準値α以上が否かが判断される（ステップＳ２１）。これは、前述したステップＳ４での判断と同様である。失火に起因する回転変動すなわち回転数の低下が生じていてステップＳ２１で肯定的に判断された場合には、その回転変動のパターンが複数気筒での失火パターンとなっているか否か、すなわち複数気筒失火用パターンの判定が成立しているか否かが判断される（ステップＳ２２）。そしてこのステップＳ２２で肯定的に判断された場合には、高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfがインクリメントされる（ステップＳ２３）。すなわち高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfが失火回数を“１”ずつ積算する。
【００４１】
ついで、高Ｓ／Ｎ比状態専用カウンタＣSNが予め定めた時間を検出したか否か、すなわちそのカウント値が“２００”になったか否かが判断される（ステップＳ２４）。このステップＳ２４で否定的に判断された場合には、上記のステップＳ１０に進み、また反対に肯定的に判断された場合には、失火検出のための単位時間が経過したことになるので、複数の高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfの合算した積算値ΣCSNmf が失火判定基準値Ｍfsn 以上か否かが判断される（ステップＳ２５）。具体的には、４気筒の内燃機関１であれば、２つの気筒についての高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfの積算値が合算され、その値について判断される。また、この失火判定基準値Ｍfsn は、この具体例では、“８５”である。
【００４２】
このステップＳ２５で肯定的に判断された場合には、内燃機関１が２００回転する間に、８５回の回転変動が検出されたことになるので、この場合には複数気筒で失火が生じていることを示す複数気筒失火仮フラグＦmfがＯＮとされる（ステップＳ２６）。これに対してステップＳ２５で否定的に判断された場合には、複数気筒失火仮フラグＦmfがＯＦＦとされる（ステップＳ２７）。すなわちアイドル運転状態での所定時間あるいは所定の点火回数の内に検出された回転変動の回数が判定基準値に達することにより、複数の気筒で失火が発生していることが判定される。
【００４３】
なお、回転変動が検出されないことにより上記のステップＳ２１で否定的に判断された場合および１気筒のみの失火のためにステップＳ２２で否定的に判断された場合には、高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfのインクリメントをおこなわずに、直ちにステップＳ２４に進む。
【００４４】
上記のようにして高Ｓ／Ｎ比運転状態での失火の判定が実行された後、高Ｓ／Ｎ比状態カウンタＣSNおよび高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfのそれぞれがゼロリセットされ、新たにカウントが開始される（ステップＳ２８）。そして上述したステップＳ１０に進む。
【００４５】
したがって内燃機関１の高Ｓ／Ｎ比運転状態についての失火の判定は、複数気筒での失火による回転変動の回数が、２００回転について８５回検出されることによりおこなわれ、その割合は、（８５／２００＝０．４２５）であるのに対して、アイドリング状態での失火の判定は、複数気筒での失火による回転変動の回数が、１７０回転について７２回検出されることによりおこなわれ、その割合は、（７２／１７０＝０．４２４）であり、アイドリング状態での失火の判定基準が厳しくなっている。言い換えれば、失火の判定が生じやすくなっている。
【００４６】
上記のフローチャートに従った失火検出制御の典型的な事例のタイムチャートを図６に示してある。４気筒の内燃機関１において第１（＃１）と（＃４）第４との２気筒で失火が生じており、かつアイドリングと走行とが図６に示すように所定時間ずつ交互に生じている例である。全域カウンタＣT は、内燃機関１の運転状態に関わらず、“２００”までカウントした後、ゼロリセットされて再度カウントをおこなうサイクルを繰り返している。したがってこの全域カウンタＣT のカウント開始あるいはカウント終了のタイミングと、アイドリングの開始もしくは終了とのタイミングとは必ずしも一致しない。
【００４７】
したがってエンジン回転数Ｎe が高い場合では複数気筒での失火を検出しにくいので、全域カウンタＣT がカウントをおこなっている途中であってかつアイドリングが開始された時点に、全域気筒別失火カウンタＣTmfが回転変動すなわち失火の回数をカウントし始める。そのため、たとえ失火が生じていても、そのカウント値が、全域カウンタＣT のゼロリセットに伴ってゼロリセットされてしまったり、あるいはアイドリング状態が終了して走行状態になることにより失火を検出できなくなってカウントが停止し、そのままゼロリセットされたりすることが頻発する。すなわちこの全域カウンタＣT および全域気筒別失火カウンタＣTmfでは失火を正確には検出することが困難である。
【００４８】
これに対してアイドル専用カウンタＣI は、アイドリング状態となることによりカウントを開始し、“１７０”までカウントする都度、リセットされる。これと併せてアイドル専用気筒別失火カウンタＣImfが失火に起因する回転変動の回数をカウントし、そのカウントを、アイドル専用カウンタＣI のカウント値が“１７０”になるまで継続する。したがって失火の生じている第１番目と第４番目との気筒別失火カウンタＣImfのカウント値が、アイドリング中に失火判定値Ｍfiを超える事態が繰り返し生じる。そのため、アイドル専用気筒別失火カウンタＣImfのカウント値が最初に失火判定基準値Ｍfiを超えたｔ1 時点に複数気筒失火仮フラグＦmfがＯＮとなる。これが前述したステップＳ８での制御である。
【００４９】
その後に、全域カウンタＣT が“２００”までカウントアップし、その時点の全域気筒別失火カウンタＣTmfのカウント値が失火判定基準値Ｍftに満たないことが判定されるが、既に複数気筒失火仮フラグＦmfがＯＮとなっているので、全域カウンタＣT が“２００”までカウントアップしたｔ2 時点に触媒ダメージ失火異常検出フラグＦcdmfがＯＮとされる。これが、上記のステップＳ１３での制御である。その後のアイドリング状態でアイドル専用気筒別失火カウンタＣImfのカウント値が繰り返し失火判定基準値Ｍfiを超えるので、一旦ＯＮとなった触媒ダメージ失火異常検出フラグＦcdmfが不用意にＯＦＦとされることはない。
【００５０】
一方、空調装置（エアコン）がＯＮであるなどのことにより、エンジン回転数Ｎe が高く、そのためにアイドル判断が成立しない場合には、以下のように失火検出の制御がおこなわれる。図７はその失火検出を説明するためのタイムチャートであり、エンジン回転数Ｎe および負荷（１回転あたりの吸入空気量）Ｇa が図７に示すように変化したとすると、エンジン回転数Ｎe および負荷Ｇa が図４を参照して説明した判定基準を満たすｔ10時点に高Ｓ／Ｎ比状態専用カウンタＣSNがカウントを開始する。これが図４に示すステップＳ２０の制御である。また、これと同時に高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfが失火に起因する回転変動の回数を積算し始める。これが、図４に示すステップＳ２３の制御である。なお、その過程で負荷Ｇa が一時的に高負荷判定値Ｇo より小さくなるなどのことによって高Ｓ／Ｎ比運転状態が成立しなくなると、その間では、各カウンタＣSN，ＣSNmfのカウントが中断する。これは、図４に示すステップＳ１９で否定的に判断されてステップＳ２８までの各ステップがスキップされるためである。
【００５１】
高Ｓ／Ｎ比運転状態で複数気筒での失火に起因する回転変動が検出され、その検出回数すなわち高Ｓ／Ｎ比状態専用複数気筒失火カウンタＣSNmfのカウント値が失火判定基準値Ｍfsn を超え（ｔ11時点）、その後のｔ12時点に高Ｓ／Ｎ比状態専用カウンタＣSNが“２００”をカウントアップする。したがってその時点では、複数気筒の失火判定が成立しているので、ここで複数気筒失火仮フラグＦmfがＯＮとされる。
【００５２】
その後、エンジン回転数Ｎe および負荷Ｇa が低下してアイドリング状態となると、前述したアイドル専用カウンタＣI およびアイドル専用気筒別失火カウンタＣImfによるアイドリング状態での失火の検出がおこなわれる。このアイドリング状態での失火の検出は、前述したように正確かつ容易におこなわれるので、アイドル専用気筒別失火カウンタＣImfのカウント値に基づいて失火の判定が成立するが、上記のようにｔ12時点に既に複数気筒失火仮フラグＦmsがＯＮとなっているので、その状態が維持される。
【００５３】
ここでこの発明と上記の具体例との関係を説明すると、請求項１の発明における運転状態検出手段には上述したステップＳ１の機能的手段およびステップＳ１８，Ｓ１９の機能的手段が相当し、また失火積算手段には上記のステップＳ４，Ｓ５の機能的手段およびステップＳ２１，Ｓ２２，Ｓ２３の機能的手段が相当し、さらに失火判定手段には上記のステップＳ７の機能的手段およびステップＳ２５の機能的手段が相当し、そして全域失火判定手段にはステップＳ１２の機能的手段が相当する。また、請求項２の発明における第１失火判定手段にはステップＳ７の機能的手段が相当し、第２失火判定手段にはステップＳ１２の機能的手段が相当する。
【００５４】
なお、上記の具体例では、４気筒エンジンにおいて２気筒で失火が生じた場合を例にとって説明したが、この発明は、上記の具体例に限定されないのであって、要は、多気筒の内燃機関において複数の気筒で生じる失火の検出に適用することができる。
【００５５】
【発明の効果】
以上説明したように、請求項１の発明によれば、内燃機関が運転されている全域での失火の検出と、高Ｓ／Ｎ比運転状態での失火の検出とが並行しておこなわれ、その高Ｓ／Ｎ比運転状態での失火の検出感度が鋭敏になり、しかも高Ｓ／Ｎ比運転状態では失火に起因する回転変動を他の要因での回転変動とから峻別し易いので、失火の検出精度を向上させることができる。
【００５９】
また、請求項２の発明によれば、いずれも高Ｓ／Ｎ比運転状態であるアイドリング状態と、低回転数かつ高負荷の運転状態のいずれにおいても回転変動の回数に基づいて失火を検出するので、失火の検出精度が向上し、さらに、アイドリング状態での検出感度が鋭敏になるので、その点でも失火の検出精度が向上する。
【図面の簡単な説明】
【図１】  この発明で使用する検出システムを模式的に示すブロック図である。
【図２】  この発明の装置で実行される検出プロセスの一例を説明するフローチャートの一部を示す図である。
【図３】  この発明の装置で実行される検出プロセスの一例を説明するフローチャートの他の一部を示す図である。
【図４】  この発明の装置で実行される検出プロセスの一例を説明するフローチャートの更に他の一部を示す図である。
【図５】  低回点・高負荷運転領域を示す線図である。
【図６】  アイドリング時と全運転領域とで失火の検出をおこなった場合の一例におけるタイムチャートである。
【図７】  低回転・高負荷運転状態で失火検出をおこなった場合の例を主として示すタイムチャートである。
【符号の説明】
１…内燃機関、  ７…電子制御装置。
【図１】
0003726631.tif 000002
【図２】
0003726631.tif 000003
【図３】
0003726631.tif 000004
【図４】
0003726631.tif 000005
【図５】
0003726631.tif 000006
【図６】
0003726631.tif 000007
【図７】
0003726631.tif 000008