(57)【要約】【課題】フライホイール，クラッチの経時変化によるガタや、車両の悪路走行に影響されて、失火判定の精度が低下することを回避する。【解決手段】機関の回転変動値ΔＮｅ（Ｓ４）と、機関負荷・回転速度に応じた基本値を補正係数Ｋで補正して設定される失火判定値ＳＬ（Ｓ５）とを比較して失火判定を行う（Ｓ６）。ここで、失火していないと判断されたときの回転変動値ΔＮｅ及び失火判定値ＳＬの積算値ΣΔＮｅ，ΣＳＬを求め（Ｓ８〜１０）、ΣΔＮｅ／ΣＳＬに基づいて前記補正係数Ｋを修正する（Ｓ１４）。【選択図】  図２
2004324525.tif 000002
【特許請求の範囲】
【請求項１】
機関の回転変動値と運転条件に応じた失火判定値との比較に基づいて失火を判定する失火判定装置において、
前記回転変動値と前記失火判定値との平均的な相関に基づいて、前記失火判定値を補正することを特徴とする内燃機関の失火判定装置。
【請求項２】
機関の回転変動値を検出する回転変動値検出手段と、
前記回転変動値と比較する失火判定値を機関運転条件に応じて設定する失火判定値設定手段と、
前記回転変動値と失火判定値との比較に基づいて失火を判定する失火判定手段と、
前記回転変動値と前記失火判定値との平均的な相関に基づいて前記失火判定値を補正する失火判定値補正手段と、
を備えたことを特徴とする内燃機関の失火判定装置。
【請求項３】
前記失火判定値補正手段が、前記平均的な相関を示す値として、前記回転変動値の平均的な値と前記失火判定値の平均的な値との比を演算することを特徴とする請求項２記載の内燃機関の失火判定装置。
【請求項４】
前記失火判定値補正手段が、前記平均的な相関を示す値として、前記回転変動値と前記失火判定値との比の平均的な値を演算することを特徴とする請求項２記載の内燃機関の失火判定装置。
【請求項５】
前記失火判定値補正手段が、前記回転変動値が平均的に前記失火判定値に近づくほど前記失火判定値をより大きく補正することを特徴とする請求項２〜４のいずれか１つに記載の内燃機関の失火判定装置。
【請求項６】
前記失火判定値補正手段が、前記回転変動値が前記失火判定値以上であるときの前記回転変動値及び失火判定値を、前記平均的な相関の対象から除外することを特徴とする請求項２〜５のいずれか１つに記載の内燃機関の失火判定装置。
【請求項７】
前記平均的な相関の基になった前記回転変動値及び失火判定値のサンプル数が所定値よりも少ないときに、該平均的な相関に基づく失火判定値の補正を禁止する補正禁止手段を設けたことを特徴とする請求項６記載の内燃機関の失火判定装置。
【請求項８】
前記回転変動値と前記失火判定値との平均的な相関に基づいて、前記失火判定手段による失火判定をキャンセルする失火判定キャンセル手段を設けたことを特徴とする請求項２〜７のいずれか１つに記載の内燃機関の失火判定装置。
【請求項９】
前記平均的な相関を求めた期間における失火頻度が所定以上であるときに、前記失火判定キャンセル手段による失火判定のキャンセルを禁止するキャンセル禁止手段を設けたことを特徴とする請求項８記載の内燃機関の失火判定装置。
【請求項１０】
前記失火判定値補正手段が、前記平均的な相関を所定点火回数当たりの平均値として求めることを特徴とする請求項２〜９のいずれか１つに記載の内燃機関の失火判定装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、機関の回転変動に基づいて失火を判定する内燃機関の失火判定装置に関する。
【０００２】
【従来の技術】
従来、内燃機関の失火を判定する装置として、機関の回転変動値を検出し、該回転変動値と運転条件に応じた失火判定値とを比較することで、失火の有無を判定する装置があった（例えば、特許文献１，２参照）。
【０００３】
【特許文献１】
特開平０４−１７１２４９号公報
【特許文献２】
特開昭５８−０５１２４３号公報
【０００４】
【発明が解決しようとする課題】
ところで、内燃機関においては、失火によって回転変動が発生する他、フライホイールやマニュアルトランスミッションのクラッチなどの経時変化によるガタによっても、回転変動が発生することがあった。
【０００５】
また、車両の悪路走行中には、車体の揺れに伴ってアクセル開度が微小変動することによる出力変化や駆動輪のトラクション変化により、回転変動が生じる場合がある。
【０００６】
従来では、失火判定値を機関負荷・機関回転速度に応じて可変として、運転条件の違いによる回転変動の違いに対応できるようにしているが、上記のような失火以外を要因とする回転変動を区別することができず、失火を誤判定してしまうという問題があった。
【０００７】
本発明は上記問題点に鑑みなされたものであり、機関の回転変動に基づいて失火判定を行う構成であって、フライホイール・クラッチなどのガタや悪路走行による影響で、失火を誤判定することのない内燃機関の失火判定装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
そのため請求項１，２記載の発明は、回転変動値と前記失火判定値との平均的な相関に基づいて、失火判定値を補正する構成とした。
【０００９】
かかる構成によると、回転変動値と失火判定値との平均的な相関に基づいて、回転変動値が、フライホイール・クラッチなどのガタや悪路走行による影響を受けているか否かを判断し、該判断結果に応じて失火判定値を補正する。
【００１０】
従って、ガタや悪路走行による影響を受けて大きくなった回転変動値に基づいて失火が誤判定されることを回避できる。
請求項３記載の発明では、前記平均的な相関を示す値として、回転変動値の平均的な値と失火判定値の平均的な値との比を演算する構成とした。
【００１１】
かかる構成によると、回転変動値の平均的な値を求め、同時に、該回転変動値と比較される失火判定値の平均的な値を求め、これら平均的な値の比から、回転変動値が失火判定値を基準に平均的に大きくなっているか否かを判断する。
【００１２】
従って、失火判定値に対する回転変動値の割合として、回転変動値と失火判定値との平均的な相関を求め、回転変動値が通常よりも大きくなる傾向を示しているか否かを精度良く判定できる。
【００１３】
尚、回転変動値及び失火判定値の平均的な値には、平均値の他、積算値が含まれる。
請求項４記載の発明では、前記平均的な相関を示す値として、回転変動値と失火判定値との比の平均的な値を演算する構成とした。
【００１４】
かかる構成によると、回転変動値と失火判定値との比を求めると共に、該比の平均的な値を求め、この比の平均値から、回転変動値が失火判定値を基準に平均的に大きくなっているか否かを判断する。
【００１５】
従って、失火判定値に対する回転変動値の割合として、回転変動値と失火判定値との平均的な相関を求め、回転変動値が通常よりも大きくなる傾向を示しているか否かを精度良く判定できる。
【００１６】
請求項５記載の発明では、回転変動値が平均的に失火判定値に近づくほど失火判定値をより大きく補正する構成とした。
かかる構成によると、回転変動値が平均的に失火判定値に近づいている場合には、失火以外のフライホイール・クラッチなどのガタや悪路走行による影響を受けて回転変動値が大きくなっているものと推定されるので、回転変動値が平均的に失火判定値に近づくほど失火判定値をより大きくして、失火以外の要因による回転変動によって失火判定がなされないようにする。
【００１７】
従って、フライホイール・クラッチなどのガタや悪路走行による影響で、失火が誤判定されることを確実に回避できる。
請求項６記載の発明では、回転変動値が失火判定値以上であるときの回転変動値及び失火判定値を、前記平均的な相関の対象から除外する構成とした。
【００１８】
かかる構成によると、回転変動値が失火判定値以上で失火発生が判定されたときの回転変動値及び失火判定値は、平均的な相関を求めるときのサンプルとして採用せず、回転変動値と失火判定値との比較によって失火が発生していないと判断されたときの回転変動値及び失火判定値に基づいて平均的な相関を求める。
【００１９】
従って、失火による大きな回転変動が、回転変動値と失火判定値との平均的な相関の検出結果に影響して、フライホイール・クラッチなどのガタや悪路走行による影響を誤って判断してしまうことを回避できる。
【００２０】
請求項７記載の発明では、前記平均的な相関の基になった回転変動値及び失火判定値のサンプル数が所定値よりも少ないときに、該平均的な相関に基づく失火判定値の補正を禁止する構成とした。
【００２１】
かかる構成によると、回転変動値と失火判定値との平均的な相関を求めたときの回転変動値及び失火判定値のサンプル数が少ない場合には、ガタや悪路走行による影響を精度良く判断できないので、前記平均的な相関に基づく失火判定値の補正を禁止する。
【００２２】
従って、少ないサンプル数のときにガタや悪路走行による影響を誤判断して、失火判定値が誤って補正されてしまうことを回避できる。
請求項８記載の発明では、回転変動値と失火判定値との平均的な相関に基づいて、失火判定をキャンセルする構成とした。
【００２３】
かかる構成によると、補正後の失火判定値を用いた失火判定であっても、回転変動値が平均的に失火判定値に近すぎる場合には、失火判定の精度が低下するので、失火判定をキャンセルさせる。
【００２４】
従って、失火の誤判定をより確実に防止することができる。
請求項９記載の発明では、前記平均的な相関を求めた期間における失火頻度が所定以上であるときに、前記失火判定のキャンセルを禁止する構成とした。
【００２５】
かかる構成によると、前記平均的な相関を求めた期間における失火頻度が所定以上であるときには、回転変動値が平均的に失火判定値に近いとしても、実際に失火している可能性が高いので、失火判定のキャンセルを禁止する。
【００２６】
従って、実際に失火している可能性が高い場合に、失火判定がキャンセルされてしまうことを回避できる。
請求項１０記載の発明では、前記平均的な相関を所定点火回数当たりの平均値として求める構成とした。
【００２７】
かかる構成によると、所定の点火回数当たりにおける前記回転変動値及び失火判定値の平均値を求め、又は、前記回転変動値と失火判定値との比の平均値を求めるなどして、回転変動値と失火判定値との平均的な相関を求める。
【００２８】
従って、回転変動値と失火判定値との平均的な相関を、簡便かつ的確に求めることができる。
【００２９】
【発明の実施の形態】
以下に、本発明の実施形態を図に基づいて説明する。
図１は、実施の形態における内燃機関のシステム構成図である。
【００３０】
この図１において、車両用内燃機関１０１の吸気管１０２には、スロットルモータ１０３ａでスロットルバルブ１０３ｂを開閉駆動する電子制御スロットルチャンバ１０４が介装され、該電子制御スロットルチャンバ１０４及び吸気バルブ１０５を介して、燃焼室１０６内に空気が吸入される。
【００３１】
燃焼排気は燃焼室１０６から排気バルブ１０７を介して排出され、フロント触媒１０８及びリア触媒１０９で浄化された後、大気中に放出される。
前記吸気バルブ１０５及び排気バルブ１０７は、それぞれ吸気側カムシャフト１１０Ａ，排気側カムシャフト１１０Ｂに設けられたカムによって開閉駆動される。
【００３２】
また、各気筒の吸気バルブ１０５上流側の吸気ポート１１１には、電磁式の燃料噴射弁１１２が設けられ、該燃料噴射弁１１２は、エンジンコントロールユニット（以下、ＥＣＵと略す）１１３から出力される噴射パルス信号によって開弁駆動されると、所定圧力に調整された燃料を吸気バルブ１０５に向けて噴射する。
【００３３】
尚、燃料噴射弁１１２が燃焼室内に直接燃料を噴射する筒内直接噴射式の機関であっても良い。
シリンダ内に形成された混合気は、点火プラグ１１４による火花点火によって着火燃焼する。
【００３４】
各点火プラグ１１４には、それぞれにパワートランジスタを内蔵したイグニッションコイル１１５が設けられており、前記ＥＣＵ１１３は、前記パワートランジスタをスイッチング制御することによって、各気筒の点火時期（点火進角値）を独立に制御する。
【００３５】
前記ＥＣＵ１１３には、アクセル開度を検出するアクセルペダルセンサＡＰＳ１１６、機関１０１の吸入空気量Ｑを検出するエアフローメータ１１５、クランクシャフト１２１から単位クランク角度毎のポジション信号ＰＯＳを取り出すクランク角センサ１１７、スロットルバルブ１０３ｂの開度ＴＶＯを検出するスロットルセンサ１１８、機関１０１の冷却水温度Ｔｗを検出する水温センサ１１９、吸気側カムシャフト１１０Ａから気筒判別信号ＰＨＡＳＥを取り出すカムセンサ１２０などからの検出信号が入力される
前記ＥＣＵ１１３は、前記ポジション信号ＰＯＳに基づいて機関回転速度Ｎｅを算出する。
【００３６】
また、前記ＥＣＵ１１３は、機関回転速度Ｎｅの変動に基づいて失火の発生を判定する失火判定装置としての機能をソフトウェア的に有しており、係る失火判定機能を、図２〜図４のフローチャートに従って説明する。
【００３７】
図２のフローチャートは、１点火毎に実行されるルーチンを示し、まず、ステップＳ１では、点火カウンタをカウントアップし、ステップＳ２では、機関負荷Ｔｐ，機関回転速度Ｎｅを読み込む。
【００３８】
尚、機関負荷Ｔｐは、燃料噴射弁１１２における基本噴射量，シリンダ吸入空気量，スロットル開度などにより代表させることができる。
ステップＳ３では、前記ステップＳ２で読み込んだ機関負荷Ｔｐ，機関回転速度Ｎｅが、それぞれ予め設定された範囲内であるか否かを判別し、機関負荷Ｔｐ，機関回転速度Ｎｅが所定範囲内であれば、ステップＳ４へ進む。
【００３９】
ステップＳ４では、前記クランク角センサ１１７からの検出信号に基づいて算出される機関回転速度Ｎｅに基づいて回転変動値ΔＮｅを算出する。
前記回転変動値ΔＮｅは、１点火サイクル内での少なくとも２点での機関回転速度Ｎｅから算出され、例えば２点での機関回転速度Ｎｅの偏差として求める。
【００４０】
前記クランク角センサ１１７及び上記ステップＳ４の演算処理が、回転変動値検出手段に相当する。
ステップＳ５では、予め機関負荷Ｔｐ・機関回転速度Ｎｅで区分される領域毎に基本失火判定値ＳＬを記憶したマップを参照し、そのときの機関負荷Ｔｐ・機関回転速度Ｎｅに対応する基本失火判定値ＳＬを算出すると共に、該基本失火判定値ＳＬと補正係数Ｋ（初期値＝０）とに基づいて、最終的な失火補正値ＳＬを算出する。
【００４１】
失火判定値ＳＬ＝基本値＋補正係数Ｋ・基本値
尚、前記基本失火判定値ＳＬは、失火が発生したときに前記回転変動値ΔＮｅが超える値として予め機関負荷Ｔｐ・機関回転速度Ｎｅ毎に設定されている。
【００４２】
上記ステップＳ５の演算処理が、失火判定値設定手段及び失火判定値補正手段に相当する。
ステップＳ６では、前記回転変動値ΔＮｅが前記失火判定値ＳＬ以上であるか否かを判断する。
【００４３】
そして、前記回転変動値ΔＮｅが前記失火判定値ＳＬ以上であれば、ステップＳ７へ進んで、失火カウンタをカウントアップする。
尚、前記回転変動値ΔＮｅが前記失火判定値ＳＬ以上であるときには、失火発生の可能性が高いが、本実施形態では、後述するように、前記回転変動値ΔＮｅが前記失火判定値ＳＬ以上であると判定された頻度（失火頻度）を４００点火間で求め、係る失火頻度を２０００点火間で積算し、該失火頻度積算値が所定値以上であると判断されたときに、最終的な失火判定信号を出力するようになっており、係る演算処理が失火判定手段に相当する。
【００４４】
一方、前記回転変動値ΔＮｅが前記失火判定値ＳＬよりも小さいときには、ステップＳ８へ進み、前記回転変動値ΔＮｅの前回までの積算値ΣΔＮｅに今回の回転変動値ΔＮｅを加算して、積算値ΣΔＮｅを更新する。
【００４５】
次のステップＳ９では、前記失火判定値ＳＬの前回までの積算値ΣＳＬに今回の失火判定値ＳＬを加算して、積算値ΣＳＬを更新する。
ステップＳ１０では、積算カウンタをカウントアップする。
【００４６】
ステップＳ１１では、前記点火カウンタの値が４００になっているか否かを判別し、点火カウンタ＝４００であればステップＳ１２へ進む。
前記点火カウンタは、後述するようにステップＳ１２以降に進んだときに、０にリセットされるようになっているから、４００点火毎にステップＳ１２以降に進むことになる。
【００４７】
ステップＳ１２では、失火カウンタの値と総点火回数としての４００との比として、失火頻度を算出する。
ステップＳ１３では、前記積算カウンタが所定値Ａ以上であるか否かを判別する。
【００４８】
そして、前記積算カウンタが所定値Ａよりも小さく、前記積算値ΣΔＮｅ，積算値ΣＳＬのサンプル数が所定値Ａよりも少ない場合には、ステップＳ１７へ進む。
【００４９】
ステップＳ１７では、今回ステップＳ１２で求めた失火頻度を、それまでの失火頻度積算値に加算して、失火頻度積算値を更新させる。
前記失火頻度積算値は、後述する図４のフローチャートに示すルーチンにおいて、最終的な失火判定信号（失火警告）の出力判断に用いられる。
【００５０】
ステップＳ１３からステップＳ１７へ進んだ場合には、後述するように、前記補正係数Ｋの更新及び失火判定のキャンセルが行われない。
従って、ステップＳ１３の比較演算処理が、補正禁止手段に相当する。
【００５１】
一方、前記積算カウンタが所定値Ａ以上である場合、即ち、前記積算値ΣΔＮｅ，積算値ΣＳＬのサンプル数が所定値Ａ以上である場合には、ステップＳ１４へ進む。
【００５２】
ステップＳ１４では、前記積算値ΣΔＮｅと積算値ΣＳＬとの比（＝ΣΔＮｅ／ΣＳＬ）に基づいて、前記補正係数Ｋの修正更新を行なう。
上記ステップＳ１４の処理内容は、図３のフローチャートに詳細に記してある。
【００５３】
ステップＳ１４１では、ΣΔＮｅ／ΣＳＬと予め設定された基準値との偏差Δαを演算する。
Δα＝ΣΔＮｅ／ΣＳＬ−基準値
そして、ステップＳ１４２では、前記偏差Δαに応じて補正係数Ｋの修正値ΔＫを設定する。
【００５４】
前記修正値ΔＫは、Δαがプラスであるときには、Δαの絶対値の増大に応じて絶対値が増大するプラスの値に設定され、Δαがマイナスであるときには、Δαの絶対値の増大に応じて絶対値が増大するマイナスの値に設定され、Δαが０であるときには、０に設定される。
【００５５】
ステップＳ１４３では、前回までの補正係数Ｋに前記修正値ΔＫを加算した結果を、新たな補正係数Ｋとする。
前記ΣΔＮｅ／ΣＳＬは、回転変動値ΔＮｅが平均的に大きくなって失火判定値ＳＬに対して平均的に近づくと大きくなる値であり、回転変動値ΔＮｅと失火判定値ＳＬとの平均的な相関を示すパラメータである。
【００５６】
尚、ΣΔＮｅ／積算数とすれば、回転変動値ΔＮｅの単純平均値が求められ、ΣＳＬ／積算数とすれば、失火判定値ＳＬの単純平均値が求められるが、（ΣΔＮｅ／積算数）／（ΣＳＬ／積算数）＝ΣΔＮｅ／ΣＳＬであるので、積算数による除算は省略してある。
【００５７】
また、前記ΣΔＮｅ，ΣＳＬの演算において、失火判定されたときの値を除外してあるから、前記ΣΔＮｅ／ΣＳＬで示される回転変動値ΔＮｅと失火判定値ＳＬとの平均的な相関は、失火以外の要因による回転変動の増大傾向を精度良く示すことになる。
【００５８】
ここで、ΣΔＮｅ／ΣＳＬが基準値よりも大きくなっているときには、回転変動値ΔＮｅが平均的に失火判定値ＳＬに近づき過ぎている状態であり、この場合、回転変動値ΔＮｅが失火判定値ＳＬを容易に超えてしまい、失火を誤判定する可能性がある。
【００５９】
そこで、補正係数Ｋを増大補正することで、失火判定値ＳＬを増大補正し、回転変動値ΔＮｅが平均的に大きくなった分だけ、より失火判定値ＳＬを大きくし、失火時にのみ回転変動値ΔＮｅが失火判定値ＳＬを超えるようにする。
【００６０】
一方、ΣΔＮｅ／ΣＳＬが基準値よりも小さい場合には、回転変動値ΔＮｅが平均的に低いのに、失火判定値ＳＬが大き過ぎ、失火による回転変動が検出されなくなってしまう可能性がある。
【００６１】
そこで、補正係数Ｋを減少補正することで、失火判定値ＳＬを減少補正し、失火時に回転変動値ΔＮｅが失火判定値ＳＬを超えるようにする。
即ち、前記補正係数Ｋは、ΣΔＮｅ／ΣＳＬが基準値に近づくように修正されることになる。
【００６２】
このように失火判定値ＳＬを補正すれば、フライホイール，クラッチなどの経時変化によるガタや車両の悪路走行などの失火以外を要因とする回転変動の増大時に、失火が誤判定されてしまうことを回避でき、かつ、回転変動が平均的に低い通常状態では、確実に失火を判定させることができる。
【００６３】
尚、ステップＳ１４における補正係数Ｋの修正結果は、次の４００点火間における失火判定に適用されることになる。
図２のフローチャートのステップＳ１４で上記のようにして、補正係数Ｋを修正すると、次のステップＳ１５では、ΣΔＮｅ／ΣＳＬがキャンセル判定値以上であるか否かを判別する。
【００６４】
上記のように、補正係数Ｋの修正結果は、次の４００点火間における失火判定に適用されるから、悪路走行に入った直後などは、前回までの平坦路走行時に適合した補正係数Ｋに基づく失火判定値ＳＬでステップＳ６における失火判定がなされる場合がある。
【００６５】
そこで、回転変動値ΔＮｅの平均的な大きさの増大変化に、失火判定値ＳＬが追従できていないことを、ΣΔＮｅ／ΣＳＬとキャンセル判定値との比較に基づいて判断するものである。
【００６６】
ここで、ΣΔＮｅ／ΣＳＬ＜キャンセル判定値であれば、上記ステップＳ１２で演算された失火頻度が、適切な失火判定値ＳＬに基づいて検出されたことになるので、ステップＳ１７へ進む。
【００６７】
一方、ΣΔＮｅ／ΣＳＬ≧キャンセル判定値であれば、失火判定値ＳＬに対して回転変動値ΔＮｅが平均的に近すぎ、失火を誤判定した可能性があり、ステップＳ１６へ進む。
【００６８】
前記ステップＳ１６では、前記ステップＳ１２で求めた失火頻度が所定値以上であるか否かを判別する。
そして、失火頻度が所定値以上であれば、ステップＳ１７へ進んで前記失火頻度積算値を更新させ、失火頻度が所定値よりも小さい場合には、ステップＳ１８へ進んで、キャンセルフラグに１をセットする。
【００６９】
ΣΔＮｅ／ΣＳＬがキャンセル判定値以上である場合には、失火を誤判断している可能性があるが、失火頻度が所定値以上である場合には、フライホイール，クラッチの経時変化によるガタや車両の悪路走行などの失火以外を要因とする回転変動の増大があるとしても、実際に失火している可能性が高いので、ステップＳ１７へ進んで失火頻度積算値を更新させる。
【００７０】
ΣΔＮｅ／ΣＳＬがキャンセル判定値以上で、かつ、失火頻度が所定値よりも小さい場合には、実際には失火が発生していないのに、失火を誤判定している可能性が高いので、ステップＳ１８へ進んで、後述する失火頻度積算値に基づく最終的な失火判定をキャンセルさせるべく、キャンセルフラグに１をセットする。
【００７１】
上記ステップＳ１５の比較演算処理が、失火判定キャンセル手段に相当し、ステップＳ１６の比較演算処理が、キャンセル禁止手段に相当する。
また、積算カウンタが所定値Ａよりも小さく、積算値ΣΔＮｅ，ΣＳＬを求めたときの回転変動値ΔＮｅのサンプル数が充分でないときには、フライホイール，クラッチの経時変化によるガタや車両の悪路走行などの回転変動値ΔＮｅに対する影響を、ΣΔＮｅ／ΣＳＬに基づいて精度良く判断することができない。
【００７２】
そこで、ΣΔＮｅ／ΣＳＬに基づく補正係数Ｋの修正、及び、ΣΔＮｅ／ΣＳＬに基づくキャンセルフラグの設定は、積算カウンタが所定値Ａ以上であるときに限定し、積算カウンタが所定値Ａよりも小さい場合には、ステップＳ１７へ進んで失火頻度積算値を更新させ、誤って補正係数Ｋが修正され、また、誤って失火判定がキャンセルされることを回避する。
【００７３】
ステップＳ１９では、点火カウンタ，積算カウンタ，失火カウンタ及び積算値ΣΔＮｅ，ΣＳＬをクリアして、本ルーチンを終了させる。
図４のフローチャートは、２０００点火毎に実行されるルーチンを示し、ステップＳ３１では、前記キャンセルフラグに１がセットされているか否かを判別する。
【００７４】
キャンセルフラグに１がセットされている場合には、ステップＳ３２へ進んで、失火頻度積算値及びキャンセルフラグをクリアし、そのまま本ルーチンを終了させることで、失火頻度積算値に基づく失火警告制御（失火判定信号の出力制御）をキャンセルする。
【００７５】
従って、フライホイール，クラッチなどの経時変化によるガタや車両の悪路走行などの影響で回転変動値ΔＮｅが平均的に大きくなったのに対して、失火判定値ＳＬの修正が追従できていない場合に、誤って失火警告がなされることを防止でき、失火判定の信頼性を向上させることができる。
【００７６】
前記ステップＳ１５の比較演算に基づきステップＳ１８でキャンセルフラグに１を設定する処理、及び、ステップＳ３１の判断に基づいてステップＳ３２へ進む処理が、失火判定キャンセル手段に相当する。
【００７７】
一方、ステップＳ３１で前記キャンセルフラグに０がセットされていると判断されると、ステップＳ３３へ進み、失火頻度積算値が所定値Ｘ以上であるか否かを判別する。
【００７８】
本ルーチンは２０００点火毎に実行されるのに対し、失火頻度は４００点火毎に求められるから、前記ステップＳ３３で所定値Ｘと比較される失火頻度積算値は、４００点火毎に求められた失火頻度を５回分積算した値となる。
【００７９】
ステップＳ３３で失火頻度積算値が所定値Ｘ以上であると判別されると、ステップＳ３４へ進み、ランプやブザーなどの警告装置１２３により運転者への失火警告を行う。
【００８０】
尚、本実施形態では、最終的な失火判定信号の出力を警告装置１２３の作動信号の出力としたが、係る構成に限定されるものではなく、例えば、失火判定信号を、リーン空燃比燃焼の禁止信号として、目標空燃比をリーン空燃比から理論空燃比に強制的に切り換えるようにしても良い。
【００８１】
ステップＳ３５では、前記失火頻度積算値をクリアし、本ルーチンを終了させる。
ところで、上記実施形態では、回転変動値ΔＮｅと失火判定値ＳＬとの平均的な相関を示すパラメータとしてΣΔＮｅ／ΣＳＬを演算させる構成としたが、回転変動値ΔＮｅが算出される毎にΔＮｅ／ＳＬを演算し、該ΔＮｅ／ＳＬを積算させるようにしても良く、係る構成とした実施形態を、図５及び図６のフローチャートに示す。
【００８２】
図５のフローチャートは、ステップＳ８Ａ〜９Ａ及びステップＳ１４Ａ，１５Ａの部分のみが図２のフローチャートと異なるので、同じ処理を行うステップには同一のステップ番号を付して説明を省略する。
【００８３】
図５のフローチャートのステップＳ８Ａでは、今回演算された回転変動値ΔＮｅと失火判定値ＳＬとの比（＝ΔＮｅ／ＳＬ）を演算する。
ステップＳ９Ａでは、前記ΔＮｅ／ＳＬの積算値Σ（ΔＮｅ／ＳＬ）を更新する。
【００８４】
そして、４００点火間で前記ΔＮｅ／ＳＬを積算して、ステップＳ１４Ａに進むと、積算値Σ（ΔＮｅ／ＳＬ）／積算数、即ち、ΔＮｅ／ＳＬの平均値に基づいて補正係数Ｋの修正を行い、ステップＳ１５Ａでは、積算値Σ（ΔＮｅ／ＳＬ）／積算数（ΔＮｅ／ＳＬの平均値）がキャンセル判定値以上であるか否かを判別する。
【００８５】
本実施形態では、前記ΔＮｅ／ＳＬの平均値が、回転変動値ΔＮｅと失火判定値ＳＬとの平均的な相関を示すパラメータとなる。
ステップＳ１４Ａにおける補正係数Ｋの修正処理は、図６のフローチャートに詳細に示してある。
【００８６】
ステップＳ１４１Ａでは、積算値Σ（ΔＮｅ／ＳＬ）／積算数と基準値との偏差Δα（Δα＝Σ（ΔＮｅ／ＳＬ）／積算数−基準値）を演算し、ステップＳ１４２では、積算値Σ（ΔＮｅ／ＳＬ）／積算数が基準値に近づくように、前記偏差Δαに応じて修正値ΔＫを設定し、ステップＳ１４３では、前記修正値ΔＫによって補正係数Ｋを更新する。
【００８７】
また、前記ステップＳ１５Ａで、積算値Σ（ΔＮｅ／ＳＬ）／積算数がキャンセル判定値よりも小さいと判断された場合には、適切な失火判定値ＳＬに基づいて失火判定がなされたものと判断して、ステップＳ１７へ進み、失火頻度の積算を行う。
【００８８】
一方、積算値Σ（ΔＮｅ／ＳＬ）／積算数がキャンセル判定値以上であるときには、更に、ステップＳ１６で失火頻度が所定値以上であるか否かを判断し、失火頻度が所定値よりも小さく明らかな失火状態でない場合には、フライホイール，クラッチなどの経時変化によるガタや車両の悪路走行などの影響に対して失火判定値ＳＬが追従できていなかったものと推定し、ステップＳ１８へ進んで、キャンセルフラグに１をセットする。
【００８９】
また、失火頻度が所定値以上であれば、フライホイール，クラッチなどの経時変化によるガタや車両の悪路走行などの影響に対して失火判定値ＳＬが追従できていなかったとしても、実際に失火が発生したものと判断されるので、ステップＳ１７へ進んで、失火頻度の積算を行う。
【００９０】
尚、上記実施形態では、回転変動値ΔＮｅ，失火判定値ＳＬの平均的な相関を求めるタイミングを４００点火毎とし、最終的な失火判定を２０００点火毎に行わせる構成としたが、係る点火回数に限定されるものでないことは明らかである。
【００９１】
また、回転変動値ΔＮｅと失火判定値ＳＬとの平均的な相関を求める４００点火区間と、前記平均的な相関から設定した補正係数Ｋで補正した失火判定値ＳＬに基づいて失火判定を行なわせる４００点火区間とを区別し、平均的な相関の検出と該相関に基づく補正の適用とを交互に実行させるようにしても良い。
【図面の簡単な説明】
【図１】実施の形態における内燃機関のシステム構成図。
【図２】実施の形態における失火頻度積算値の更新制御を示すフローチャート。
【図３】実施の形態における補正係数Ｋの更新制御を示すフローチャート。
【図４】実施の形態における失火判定制御を示すフローチャート。
【図５】失火頻度積算値の更新制御の別の例を示すフローチャート。
【図６】図５に示す制御に対応する補正係数Ｋの更新制御を示すフローチャート。
【符号の説明】
１０１…内燃機関、１１３…エンジンコントロールユニット（ＥＣＵ）、１１７…クランク角センサ、１１９…水温センサ、１２０…カムセンサ、１２１…クランクシャフト、１２３…警告装置
【図１】
2004324525.tif 000003
【図２】
2004324525.tif 000004
【図３】
2004324525.tif 000005
【図４】
2004324525.tif 000006
【図５】
2004324525.tif 000007
【図６】
2004324525.tif 000008