(57)【要約】【課題】  エンジンの失火と、悪路走行時または失火後の揺り戻し現象とを明確に判別することができ、失火判定の信頼性の高い内燃機関の失火判定装置を提供する。【解決手段】  エンジンの回転変動量ΔＮＥが所定の閾値Ｎ１を越えた際、失火が生じた可能性があると判断する。その失火の可能性のある気筒の点火タイミングから２回後の点火タイミングで膨張行程を迎える気筒のその膨張行程時の回転変動量と、３回後の点火タイミングで膨張行程を迎える気筒のその膨張行程時の回転変動量とを比較し、その差が所定量を超えているときに上記失火が生じていたと判定する。【選択図】      図４
2006152971.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の回転変動量が所定の閾値を超えたときに失火が生じている可能性があると判断し、この判断がなされたときに、予め記憶されている失火時特有の回転変動の経時変化パターンに沿って回転変動が変化している場合に失火が発生していると判定する内燃機関の失火判定装置であって、
失火発生の有無を判定するための回転変動の経時変化パターンの１サイクルを、失火発生の可能性があったタイミング以降に回転変動傾向が「負」から「正」へ変化するタイミングを含む期間に設定し、この回転変動傾向が「負」から「正」に変化するタイミングを含む期間における回転変動の経時変化パターンが、予め記憶されている失火時特有の回転変動の経時変化パターンに沿っているか否かによって失火発生の有無を判定する失火判定手段を備えていることを特徴とする内燃機関の失火判定装置。
【請求項２】
内燃機関の回転変動量が所定の閾値を超えたときに失火が生じている可能性があると判断し、この判断がなされたときに、予め記憶されている失火時特有の回転変動の経時変化パターンに沿って回転変動が変化している場合に失火が発生していると判定する内燃機関の失火判定装置であって、
失火発生の有無を判定するための回転変動の経時変化パターンの１サイクルを、失火発生の可能性があった気筒の点火タイミングに対して１回前の点火タイミングを迎えていた気筒の燃焼行程時から、上記失火発生の可能性があった気筒の点火タイミングに対して３回後の点火タイミングを迎える気筒の燃焼行程時までの期間に設定し、この期間における回転変動の経時変化パターンが、予め記憶されている失火時特有の回転変動の経時変化パターンに沿っているか否かによって失火発生の有無を判定する失火判定手段を備えていることを特徴とする内燃機関の失火判定装置。
【請求項３】
上記請求項１または２記載の失火判定装置において、
内燃機関の回転変動量が所定の閾値を超えた原因が失火の発生によるものである場合と揺り戻し現象によるものである場合とを判別可能となるように、それぞれの回転変動の経時変化パターンが記憶手段に記憶されており、
失火判定手段は、この記憶手段に記憶されている経時変化パターンに基づいて失火発生の有無を判定する構成となっていることを特徴とする内燃機関の失火判定装置。
【請求項４】
上記請求項２記載の内燃機関の失火判定装置において、
失火判定開始タイミングに膨張行程を迎えている気筒の膨張行程時における回転変動量をΔＮＥ０、その１点火前の回転変動量をΔＮＥ１、２点火前の回転変動量をΔＮＥ２、３点火前の回転変動量をΔＮＥ３、４点火前の回転変動量をΔＮＥ４として以下の条件式を記憶する記憶手段を備えており、
（Ｉ） ΔＮＥ３≧０
（II） ΔＮＥ３×Ｈ＜｜ΔＮＥ１｜
（III）ΔＮＥ３×Ｉ≧ΔＮＥ４
（IV） ΔＮＥ３×Ｊ≧ΔＮＥ２
（Ｖ）｜ΔＮＥ１｜×Ｋ≧｜ΔＮＥ０｜
（Ｈ、Ｉ、Ｊ、Ｋは定数）
失火判定手段は、上記各条件のうち条件（Ｉ）〜条件（IV）のみの論理積を満たしている場合には、失火発生後の揺り戻しが発生していると判定する一方、条件（Ｉ）〜条件（Ｖ）の全ての論理積を満たしている場合には、上記３点火前の気筒に失火が発生していると判定するよう構成されていることを特徴とする内燃機関の失火判定装置。
【請求項５】
上記請求項２または４記載の失火判定装置において、
揺り戻し現象は、内燃機関の出力軸に車両駆動系が直結されていることに起因して発生
するものであることを特徴とする内燃機関の失火判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の失火判定装置に係る。特に、本発明は、内燃機関の回転変動に基づいて失火発生の有無を認識する失火判定装置における判定動作の信頼性の向上を図るための対策に関する。
【背景技術】
【０００２】
従来より、例えば自動車用内燃機関において混合気への着火がなされない現象、いわゆる「失火」が発生すると、未燃混合気が排気通路に排出され、排気エミッションの悪化や、排気浄化触媒への悪影響が懸念される。
【０００３】
そこで、上記失火の発生時には機関回転速度の変動（以下、単に回転変動と呼ぶ）が大きくなることに着目し、この回転変動に基づいて失火の発生を判定する失火判定装置が提案されている。この種の装置における失火判定の基本原理は以下のとおりである。先ず、ある一つの気筒に失火が発生した場合、その気筒の膨張行程（実際には失火しており爆発していない行程）における機関回転速度が次第に低下していく。その結果、この失火を生じた気筒の膨張行程中においてクランクシャフトが一定クランク角度を回転するのに要する時間が、自他気筒の膨張行程時におけるその時間よりも長くなる。このため、これら時間を計測して比較することにより失火発生の有無を判定することが可能になる。
【０００４】
具体的には、ある気筒（例えば第３番気筒）が膨張行程にあるときに、この膨張行程中においてクランクシャフトが一定クランク角度を回転するのに要する時間と、この膨張行程よりも所定クランク角度前（例えば３６０°前）に膨張行程を迎えていた気筒（例えば第２番気筒）の膨張行程中においてクランクシャフトが一定クランク角度を回転するのに要する時間との差を演算（前者の時間から後者の時間を減算）する。そして、この演算値が所定の閾値を越えている場合には、内燃機関の回転変動が大きくなったと判断して失火（第３番気筒に失火）が発生したと判定している。
【０００５】
ところで、上記失火が発生した場合、その後に「揺り戻し」と呼ばれる現象が生じることがあり、この揺り戻しが原因で回転変動が大きくなった際に失火を誤検出してしまうおそれがある。この揺り戻しの発生原因について以下に説明する。先ず、失火の発生により機関回転速度が低下した場合に、その後、車両の慣性力（パワートレーンの慣性力）やクラッチのダンパースプリング等により内燃機関が強制的に回転され、その結果、機関回転速度が低下した反動でその回転速度が急上昇するといった現象が生じる。この反動は、例えばクラッチディスクに備えられたトーションスプリングの伸縮の影響などによって生じたりする。そして、この機関回転速度の上昇の後には、上昇しすぎた回転速度の反動により再び回転速度が低下する（例えばパワートレーン側が回転抵抗となって回転が落ち込む）といった現象が生じる。このような回転速度の上昇と降下とが繰り返される一種のハンチング現象として上記「揺り戻し」が発生することになる。この回転変動はやがて減衰し、再度の失火が生じない限り、内燃機関は一定回転に落ち着くことになるが、この揺り戻しの発生初期には、上記演算値が閾値を越えてしまう可能性があり、その結果、失火が発生していないにも拘わらず失火が発生したと誤判定されてしまうことになる。
【０００６】
尚、この揺り戻しは、失火の発生後ばかりでなく、車両が悪路を走行する場合にも生じることがある。つまり、路面の凹凸などの影響によって機関回転速度が急激に変動して上記と同様の現象が生じてしまうのである。この場合にも、路面の影響によって機関回転速度の変動が大きくなっただけであるにも拘わらず、上記演算値が閾値を越えてしまって失火の誤判定がなされてしまう可能性がある。
【０００７】
特に、マニュアルトランスミッション車や無段変速機を備える車両のように、内燃機関と車両駆動軸（トランスミッション）とが直結されているタイプの車両にあっては揺り戻しの影響が顕著に現われる。また、オートマティックトランスミッション車のロックアップ（トルクコンバータの直結）時にも同様の現象が発生する可能性がある。
【０００８】
ＯＢＤ対応国向けの自動車では、制御回路中に失火カウンタが備えられており、失火発生の判定を行う度に失火カウンタがインクリメントされ、所定の機関回転回数（例えば１０００回転）当たりの失火カウンタのカウント値が所定値（例えば３０）を越えるとＭＩＬ（警告灯）が点灯することになる。従って、上記のような失火の誤判定が頻繁に行われてしまうと、実際の失火発生回数が上記所定値よりも小さくても早期にＭＩＬが点灯することになってしまい、ユーザに違和感を与えてしまう。
【０００９】
そこで、このような失火の誤判定を解消するべく、回転変動の経時変化パターンが、予め定められた失火パターンとなったときに失火が生じたと判定するようにしたものが知られている（例えば、下記の特許文献１）。
【００１０】
この特許文献１に開示されているものは、各気筒の膨張行程時においてクランクシャフトが一定クランク角度を回転するのに要する経過時間Ｔを検出し、膨張行程が一つ間隔を隔てて行われる気筒間（４気筒エンジンの場合のクランク角度３６０°の角度間隔で膨張行程が行われる気筒同士）の上記経過時間Ｔの偏差ΔＴn（＝Ｔn−Ｔn-2）を求め、この
偏差ΔＴnが閾値Ｋ１を越え且つ経過時間Ｔにおける偏差の変化パターンが失火時特有の
偏差ΔＴnが増大から減少に転じるパターンとなったときに失火が生じたと判定するよう
にしている。
【特許文献１】特開平６−３０７２８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ところが、特に、上述した失火の発生後におけるこの失火に起因する揺り戻しが生じている場合、失火発生時の経過時間Ｔにおける偏差ΔＴnの変化パターンと、この揺り戻し
に伴う経過時間Ｔにおける偏差ΔＴnの変化パターンとは極めて近似したものとなってい
る。
【００１２】
このため、上記特許文献１に開示されている技術にあっては、これらの識別（失火発生と、失火に起因する揺り戻しとの識別）を明確に行うことができない可能性があり、失火判定の信頼性をよりいっそう高めるためには更なる改良が必要であった。
【００１３】
また、上記悪路走行時においてもその際の上記偏差ΔＴnの変化パターンが失火発生時
の変化パターンに近似している場合があり、このような状況で両者を識別するためにも失火判定の信頼性をよりいっそう高める改良が必要であった。
【００１４】
本発明は、かかる点に鑑みてなされたものであり、その目的とするところは、上記失火発生と揺り戻しとを明確に判別することができ、失火判定の信頼性の高い失火判定装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために講じられた本発明の解決手段は、内燃機関の回転変動量が所定の閾値を超えたときに失火が生じている可能性があると判断し、この判断がなされたときに、予め記憶されている失火時特有の回転変動の経時変化パターンに沿って回転変動が変化している場合に失火が発生していると判定する内燃機関の失火判定装置を前提とす
る。この失火判定装置に対し、失火発生の有無を判定するための回転変動の経時変化パターンの１サイクルを、失火発生の可能性があったタイミング以降に回転変動傾向が「負」から「正」へ変化するタイミングを含む期間に設定し、この回転変動傾向が「負」から「正」に変化するタイミングを含む期間における回転変動の経時変化パターンが、予め記憶されている失火時特有の回転変動の経時変化パターンに沿っているか否かによって失火発生の有無を判定する失火判定手段を備えさせている。
【００１６】
この特定事項により、内燃機関の駆動中にその回転変動量が所定の閾値を超えたときには、失火が生じている可能性があると判断する。その後、回転変動量の変動傾向は一旦「正」から「負」に変化することになるが、その後、この回転変動傾向が「負」から「正」へ変化するタイミングにおいて、上記回転変動量が所定の閾値を超えた原因が、失火発生によるものであるか、或いは揺り戻し現象によるものであるかを判定する。つまり、失火発生の可能性あるタイミング以降に回転変動傾向が例えば最初に「負」から「正」へ変化するタイミングを含む期間を、失火発生の有無を判定するための回転変動の経時変化パターンの１サイクルとして設定している。これは、回転変動量が所定の閾値を超えた原因が失火発生によるものであった場合には、上記回転変動傾向が「負」から「正」へ変化するタイミングでの変化量は極めて大きく、一方、回転変動量が所定の閾値を超えた原因が揺り戻し現象によるものであった場合には、上記回転変動傾向が「負」から「正」へ変化するタイミングでの変化量は小さいことを本願発明の発明者らが見出し、この現象を失火判定に利用するものである。このようにして、これまでの回転変動経時変化パターンの認識では十分な信頼性が得られていなかった「失火発生と揺り戻し現象との判別」の信頼性を大幅に高めることができ、失火誤判定の発生を回避することができる。
【００１７】
また、他の解決手段として以下の構成が掲げられる。先ず、内燃機関の回転変動量が所定の閾値を超えたときに失火が生じている可能性があると判断し、この判断がなされたときに、予め記憶されている失火時特有の回転変動の経時変化パターンに沿って回転変動が変化している場合に失火が発生していると判定する内燃機関の失火判定装置を前提とする。この失火判定装置に対し、失火発生の有無を判定するための回転変動の経時変化パターンの１サイクルを、失火発生の可能性があった気筒の点火タイミングに対して１回前の点火タイミングを迎えていた気筒の燃焼行程時から、上記失火発生の可能性があった気筒の点火タイミングに対して３回後の点火タイミングを迎える気筒の燃焼行程時までの期間に設定し、この期間における回転変動の経時変化パターンが、予め記憶されている失火時特有の回転変動の経時変化パターンに沿っているか否かによって失火発生の有無を判定する失火判定手段を備えさせている。
【００１８】
この特定事項により、一般的な自動車用エンジンにあっては、失火が発生した気筒の点火タイミングに対して３回後の点火タイミングを迎える気筒の燃焼行程時において、上記回転変動傾向が負から正に変化するといった特性を有している場合が多い、従って、このタイミングにおいて、上記回転変動量が所定の閾値を超えた原因が、失火発生によるものであるか、或いは揺り戻し現象によるものであるかを判定することが可能である。この解決手段によっても「失火発生と揺り戻し現象との判別」の信頼性を大幅に高めることができ、失火誤判定の発生を回避することができる。
【００１９】
上述した失火発生と揺り戻し現象とを判別するためのより具体的な構成としては以下のものが掲げられる。先ず、内燃機関の回転変動量が所定の閾値を超えた原因が失火の発生によるものである場合と揺り戻し現象によるものである場合とを判別可能となるように、それぞれの回転変動の経時変化パターンを記憶手段に記憶されている。そして、失火判定手段が、この記憶手段に記憶されている経時変化パターンに基づいて失火発生の有無を判定する構成としている。
【００２０】
また、上記記憶手段に記憶されている回転変動の経時変化パターンに係る条件としては以下のものが掲げられる。つまり、失火判定開始タイミングに膨張行程を迎えている気筒の膨張行程時における回転変動量をΔＮＥ０、その１点火前の回転変動量をΔＮＥ１、２点火前の回転変動量をΔＮＥ２、３点火前の回転変動量をΔＮＥ３、４点火前の回転変動量をΔＮＥ４として以下の条件式が記憶手段に記憶されている。
【００２１】
（Ｉ） ΔＮＥ３≧０
（II） ΔＮＥ３×Ｈ＜｜ΔＮＥ１｜
（III）ΔＮＥ３×Ｉ≧ΔＮＥ４
（IV） ΔＮＥ３×Ｊ≧ΔＮＥ２
（Ｖ）｜ΔＮＥ１｜×Ｋ≧｜ΔＮＥ０｜
（Ｈ、Ｉ、Ｊ、Ｋは定数）
そして、失火判定手段が、上記各条件のうち条件（Ｉ）〜条件（IV）のみの論理積を満たしている場合には、失火発生後の揺り戻しが発生していると判定する一方、条件（Ｉ）〜条件（Ｖ）の全ての論理積を満たしている場合には、上記３点火前の気筒に失火が発生していると判定する構成となっている。
【００２２】
これら特定事項により、失火発生と揺り戻し現象とを判別するための構成の具体化を図ることができる。
【００２３】
また、上記揺り戻し現象の起因の一例としては、例えば内燃機関の出力軸に車両駆動系が直結されていることが掲げられる。尚、上述した如く揺り戻し現象の起因はこれに限られるものではない。
【発明の効果】
【００２４】
以上説明したように、本発明では、失火発生の可能性あるタイミング以降に回転変動傾向が「負」から「正」へ変化する状況を把握し、回転変動量が所定の閾値を超えた原因が失火発生によるものであるのか揺り戻し現象によるものであるのかを高精度で判別することが可能になる。このため、失火カウンタによって失火頻度を認識するシステムにあっては、失火の誤判定が頻繁に行われてしまって正確な失火発生回数が把握できなくなるといった状況を回避することができ、システムの信頼性を大幅に向上することができる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明実施の形態を図面に基づいて説明する。本実施形態では、本発明を自動車用４気筒エンジンに適用した場合について説明する。
【００２６】
−エンジンの構成説明−
先ず、図１を参照して、本実施形態に係る失火判定装置が適用されるエンジン（内燃機関）、並びにその周辺装置の概略構成について説明する。図１に示すように、本実施形態に係るエンジン１は、４気筒分（図１では１気筒分のみを示す）のシリンダボア２を有するシリンダブロック１ａと、シリンダヘッド１ｂとを備えている。各シリンダボア２内には上下動可能に設けられたピストン３が備えられ、このピストン３が、コンロッド（コネクティングロッド）３ａを介してエンジン１の出力軸であるクランクシャフト１０に連結されている。そして、シリンダボア２の内部において、ピストン３とシリンダヘッド１ｂとにより囲まれた空間によって燃焼室４が区画形成されている。
【００２７】
シリンダヘッド１ｂには、各燃焼室４に対応して点火プラグ１１が取り付けられている。また、シリンダヘッド１ｂには、各燃焼室４に通じる吸気ポート５ａ及び排気ポート６ａがそれぞれ設けられ、これら吸気ポート５ａ及び排気ポート６ａには、吸気通路５及び排気通路６がそれぞれ接続されている。吸気ポート５ａ及び排気ポート６ａの燃焼室４に
通じる各開口端には、吸気バルブ７及び排気バルブ８がそれぞれ設けられている。吸気バルブ７及び排気バルブ８は、クランクシャフト１０の動力によってそれぞれ回転する吸気カムシャフト３１及び排気カムシャフト３２によって開閉される。クランクシャフト１０の動力は、タイミングベルト３５及び各タイミングプーリー３３，３４を介して、上記吸気カムシャフト３１及び排気カムシャフト３２に伝達されている。
【００２８】
また、上記吸気ポート５ａの近傍には、各気筒に対応して燃料噴射弁（インジェクタ）９がそれぞれ備えられている。各燃料噴射弁９には図示しない燃料供給系を介して所定圧力の燃料が供給されている。
【００２９】
一方、吸気通路５にはサージタンク１６が設けられ、このサージタンク１６の上流側には、アクセルペダル１８の操作に応じて開閉駆動されるスロットルバルブ１９が設けられている。このスロットルバルブ１９の開度に応じて吸気通路５へ導入される吸入空気量が調整される。
【００３０】
エンジン１の運転が開始されると、吸気通路５内への吸入空気の導入とともに燃料噴射弁９から燃料が噴射されることにより、それら吸入空気と燃料とが混合されて混合気となる。そして、エンジン１の吸入行程において、吸気バルブ７により吸気ポート５ａが開かれることにより混合気が吸気ポート５ａを通じて燃焼室４に取り込まれる。この燃焼室４に取り込まれた混合気は、圧縮行程において圧縮された後、点火プラグ１１によって着火され、その混合気が爆発・燃焼してクランクシャフト１０に駆動力が付与される（膨張行程）。燃焼後の排気ガスは、排気バルブ８により排気ポート６ａが開かれることによって排気通路６に排出され（排気行程）、更に触媒１２を経て浄化された後、外部に放出される。なお、上記点火プラグ１１は、イグナイタ１３から出力される高電圧の印加タイミングに応じて混合気への点火動作を実行している。
【００３１】
エンジン１には、その運転状態を検出するための以下に述べるような各種のセンサが設けられている。
【００３２】
上記クランクシャフト１０の近傍には、その回転角（クランク角ＣＡ）及び回転速度（エンジン回転速度ＮＥ）を検出するためのクランク角センサ２１が配設されている。このクランク角センサ２１は、所定のクランク角（例えば３０°）毎にパルス信号を出力する。このクランク角センサ２１によるクランク角の検出手法の一例としては、クランクシャフト１０と回転一体の図示しないロータ（ＮＥロータ）の外周面の３０°おきに外歯を形成しておき、この外歯と対面して電磁ピックアップで成る上記クランク角センサ２１を配置する。そして、クランクシャフト１０の回転に伴って外歯が電磁ピックアップ２１の近傍を通過した際に、この電磁ピックアップ２１が出力パルスを発生するようになっている。尚、このロータとしては、外周面に形成される外歯が１０°おきに形成されたものが適用される場合もある。この場合、ＥＣＵ内で分周して３０°ＣＡ毎の出力パルスを発生する。
【００３３】
上記吸気カムシャフト３１の近傍には、カム角センサ２２が配設されている。このカム角センサ２２は、通常、気筒判別センサとして用いられ、例えば第１気筒＃１の圧縮上死点（ＴＤＣ）に対応してパルス信号を出力する。つまり、このカム角センサ２２は、吸気カムシャフト３１の１回転毎にパルス信号を出力する。このカム角センサ２２によるカム角の検出手法の一例としては、吸気カムシャフト３１と回転一体のロータの外周面の１箇所に外歯を形成しておき、この外歯と対面して電磁ピックアップで成る上記カム角センサ２２を配置し、吸気カムシャフト３１の回転に伴って外歯が電磁ピックアップ２２の近傍を通過した際に、この電磁ピックアップ２２が出力パルスを発生するようになっている。このロータはクランクシャフト１０の１／２の回転速度で回転するため、クランクシャフ
ト１０が７２０°回転する毎に出力パルスを発生する。言い換えると、ある特定の気筒が同一行程（例えば第１気筒♯１が上死点に達した時点）となる度に出力パルスを発生する構成である。
【００３４】
上記サージタンク１６には、吸気通路５内の圧力（吸気管内圧力ＰＭ）を検出するための圧力センサ２３が設けられている。この圧力センサ２３は、サージタンク１６内の圧力に応じた信号を出力する。
【００３５】
以上が、本形態に係る失火判定装置が適用されるエンジンの概略構成である。
【００３６】
−失火判定のための構成及び動作−
次に、本形態の特徴部分であるエンジン失火判定のための構成（失火判定装置の構成）及びその動作について説明する。
【００３７】
本実施形態に係る失火判定装置は、例えばマイクロコンピュータを有して構成される電子制御装置４０を備えている。この電子制御装置４０には、上記各センサ２１〜２３の出力信号がそれぞれ取り込まれている。そして、電子制御装置４０には、これら各信号に基づいてクランク角ＣＡや、エンジン回転速度ＮＥ、現在の運転気筒（例えば現在膨張行程を迎えている気筒）、吸気管内圧力ＰＭ等を演算するとともに、それら演算結果に基づいて、後述する失火判定動作を実行する失火判定手段４１が備えられている。
【００３８】
次に、失火判定装置の失火判定動作について説明する。本失火判定装置は、各気筒の上死点を基準として、３６０°クランク角（ＣＡ）前から遅角側に０°〜３０°ＣＡ回転するのに要する時間をＴ１、また同じく遅角側に９０°〜１２０°ＣＡ回転するのに要する時間をＴ２として算出する。この時間Ｔ１及びＴ２はそれぞれ、各点火毎にクランクシャフト１０が３０°ＣＡ回転するのに要する時間が極大になると推定される角度及び極小になると推定される角度に対応した３０°ＣＡの所要時間である。
【００３９】
また、現在の、すなわち上記時間Ｔ１及びＴ２の算出対象であった気筒のピストン３が上死点に達した位置から３６０°ＣＡ後の同じく遅角側に０°〜３０°ＣＡ回転するのに要する時間をＴ３、遅角側に９０°〜１２０°ＣＡ回転するのに要する時間をＴ４として算出する。これら時間Ｔ３及びＴ４も、各点火毎にクランクシャフト１０が３０°ＣＡ回転するのに要する時間が極大になると推定される角度及び極小になると推定される角度にそれぞれ対応した３０°ＣＡの所要時間である。
【００４０】
そして、これら各時間Ｔ１，Ｔ２，Ｔ３，Ｔ４に基づき、回転変動量ΔＮＥ０を次式
ΔＮＥ０＝（Ｔ４−Ｔ３）−（Ｔ２−Ｔ１） …（１）
から算出する。
【００４１】
これにより、現在膨張行程中の気筒の回転速度における、３６０°進角側で膨張行程を迎えていた気筒（点火タイミングが２点火前の気筒）の回転速度に対する差を反映した回転変動量を求めることができる。
【００４２】
いずれかの気筒において失火が生じてエンジン回転速度が低下すると、クランクシャフト１０が一定クランク角度を回転するのに要する経過時間が長くなる。つまり、上記（１）式における（Ｔ４−Ｔ３）の値が（Ｔ２−Ｔ１）の値に対して大きくなる。そこで、各気筒の膨張行程時においてクランクシャフト１０が一定クランク角度を回転するのに要する経過時間を検出し、この経過時間の長さを上記（１）式に当てはめ、算出された回転変動量ΔＮＥ０に基づいて失火が生じている可能性があるか否かを認識して、後述する失火判定出動作に役立てるようにしている。
【００４３】
また、本失火判定装置は、上記（１）式によって算出される回転変動量について、現時点（失火発生の有無の判定開始時点）での算出量をΔＮＥ０、その１点火前の算出量（点火タイミングが１点火前の気筒の膨張行程時に求められた回転変動量）をΔＮＥ１、２点火前の算出量をΔＮＥ２、３点火前の算出量をΔＮＥ３、４点火前の算出量をΔＮＥ４とし、これら回転変動量に基づいて、「失火の発生」、「悪路走行による回転変動の増大や揺り戻しの発生」、「失火発生後の揺り戻しの発生」の判別を行うようになっている。具体的な判別動作については後述する。
【００４４】
尚、本形態では、上述したように、クランク角度の位相が３６０°離れた気筒における経過時間の偏差（回転変動量）ΔＮＥ０を求めるようにしているので、ＮＥロータに製造誤差があったとしても、同一の外歯の認識に基づいて上記演算が実行され、回転変動量ΔＮＥ０がＮＥロータの製造誤差の影響を受けることがなく、この回転変動量ΔＮＥ０を正確に算出できる。
【００４５】
本形態に係る失火判定装置の動作の特徴は、エンジン１の回転変動量が大きくなった場合に、その原因が、失火発生によるものであるのか、悪路走行によるものであるのか、失火発生後の揺り戻しによるものであるのかを判別する点にある。この判別によって、失火の誤判定による失火カウンタのインクリメントを回避できるようにしている。特に本実施形態の特徴とする判定動作は、上記失火の発生と失火発生後の揺り戻し現象の発生との識別動作にある。
【００４６】
以下の説明では、理解を容易にするために、先ず、失火発生の可能性がある状況と、悪路走行による揺り戻しが発生している状況とを判別するための手法について説明し、その後、失火発生と、失火発生後の揺り戻しとを判別するための手法について説明する。実際には、後述するフローチャートを用いて説明するように、これら判別動作は連続して行われることになる。
【００４７】
また、以下の説明では、失火判定対象とする気筒から点火タイミングで２点火後の気筒の膨張行程時に「失火発生の可能性がある状況と悪路走行との判別」を行い、失火判定対象とする気筒から点火タイミングで３点火後の気筒の膨張行程時に「失火発生と失火発生後の揺り戻しとの判別」を行う場合について説明する。これは、失火判定対象とする気筒から点火タイミングで３点火後の気筒の膨張行程時に回転変動量ΔＮＥの変動傾向が「負」から「正」に変化するといった特性を有する車両であるからであり、この変動傾向が「負」から「正」に変化するタイミングが、失火判定対象とする気筒から点火タイミングで２点火後の気筒の膨張行程時であった場合にはこのタイミングで「失火発生と失火発生後の揺り戻しとの判別」を行うことになる。
【００４８】
−失火発生の可能性がある状況と悪路走行との判別−
この判別動作では、上記各回転変動量ΔＮＥ０〜ΔＮＥ３（本判別動作における経時変化パターンの１サイクル）のうち、特に２点火前（判定動作開始タイミングである回転変動量ΔＮＥ０の算出時に膨張行程を迎えている気筒よりも点火タイミングで２点火前の気筒が膨張行程を迎えていた際）の算出量ΔＮＥ２が所定値（閾値）Ｎ１以上になったときに、各回転変動量ΔＮＥ０〜ΔＮＥ３の関係に基づき、これが失火異常による可能性があるものか、悪路走行によるものかを判別する。
【００４９】
なお、上記所定値Ｎ１は、エンジン回転速度ＮＥが速いほど小さな値として例えばマップ演算される。これは、次の理由による。通常、エンジン回転速度ＮＥが速くなると、それに伴って上記各所要時間Ｔ１〜Ｔ４がそれぞれ短い時間として算出される。このため、上記（１）式に基づき算出される回転変動量ΔＮＥも小さな値として算出されるようにな
る。そこで、所定値Ｎ１をエンジン回転速度ＮＥが速くなるほど小さな値として算出することで、エンジン回転速度ＮＥの変化による影響を極力排除した上で判断することができるようにしている。
【００５０】
また、上記所定値Ｎ１は、吸気管内圧力ＰＭが高いほど大きな値として、同様に、例えばマップ演算される。これは、次の理由による。エンジン１の制御では通常、吸気管内圧力が高くなるほど燃料噴射弁９から多くの燃料が噴射される。このため、吸気管内圧力ＰＭが高くなるほど、燃焼室４内における混合気の燃焼圧力も高くなって、エンジン１のクランクシャフト１０には大きな駆動力が付与されるようになる。これにより、吸気管内圧力ＰＭが高いときには、同圧力ＰＭが低いときと比較して上記極小側の各所要時間Ｔ２，Ｔ４がそれぞれ更に短い時間として算出されるようになり、上記（１）式に基づき算出される回転変動量ΔＮＥは大きな値として算出されるようになる。そこで、所定値Ｎ１を吸気管内圧力ＰＭが高くなるほど大きな値として算出することで、吸気管内圧力ＰＭの変化による影響を極力排除した上で判断することができるようにしている。
【００５１】
図２は、失火が発生した場合における各回転変動量ΔＮＥ０〜ΔＮＥ３の関係の一例を示している。同図２に示されるように、本実施の形態では、第１番気筒を＃１、同様に第２番〜第４番気筒をそれぞれ＃２〜＃４とすると、＃１→＃３→＃４→＃２の順で各気筒における混合気への点火が実行されるようになっている。そして、上記回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターン（経時変化パターン）は、失火発生時において以下のような傾向を示す。
【００５２】
すなわち、例えば２点火前の第３番気筒＃３で失火が発生する場合には、この第３番気筒＃３の膨張行程時に算出された回転変動量ΔＮＥ２が、その直前の第１番気筒＃１の膨張行程時に算出された回転変動量ΔＮＥ３及び直後の第４番気筒＃４の膨張行程時に算出された回転変動量ΔＮＥ１に比べて特に大きくなる。また、これに加えて、今回の第２番気筒＃２の膨張行程時に算出された回転変動量ΔＮＥ０が、上記回転変動量ΔＮＥ２と、ほぼその絶対値が同じであって、且つ正負が逆の値をとるようになる。
【００５３】
一方、悪路走行時には、回転変動量の大きい状態が比較的長く続く。すなわち、図３に悪路走行時における各回転変動量ΔＮＥ０〜ΔＮＥ３の関係の一例を示すように、悪路走行時には、２点火前の第３番気筒＃３の膨張行程時に算出された回転変動量ΔＮＥ２が、その直前の第１番気筒＃１の膨張行程時に算出されたΔＮＥ３及び直後の第４番気筒＃４の膨張行程時に算出された回転変動量ΔＮＥ１と比べて、値の大きい側に大きく突出した値をとることはない。また、今回の第２番気筒＃２の膨張行程時に算出された回転変動量ΔＮＥ０が、失火発生時のように回転変動量ΔＮＥ２と高い相関をもつこともない。
【００５４】
本実施形態の失火判定装置では、このように回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが失火発生時と悪路走行時とで異なることに着目し、それらを判別すべく、以下の各条件が電子制御装置４０内の適宜のメモリ（記憶手段４２）に予め記憶されている。
【００５５】
すなわち、回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが失火発生の可能性がある時における変化パターンとなっていることを判断するための条件（失火パターン）として、以下の条件
（ａ）ΔＮＥ２×Ａ＜｜ΔＮＥ０｜、且つ
（ｂ）ΔＮＥ２×Ｂ≧ΔＮＥ３、且つ
（ｃ）ΔＮＥ２×Ｃ≧ΔＮＥ１
が予め定められている。これら（ａ）〜（ｃ）の論理積が満たされることを条件として、回転変動量ΔＮＥ２が特に大きくなったことの判断が可能になる。
【００５６】
また、回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが悪路走行時における変化パターンとなっていることを判断するための条件（悪路パターン）として、以下の条件
（ｄ）−（ΔＮＥ２×Ｄ）＞ΔＮＥ０、または
（ｅ）ΔＮＥ２×Ｅ≦ΔＮＥ３、または
（ｆ）ΔＮＥ２×Ｆ≦ΔＮＥ１
も予め定められている。これら（ｄ）〜（ｆ）の論理和が満たされることを条件として、回転変動量の多い状態が比較的長く続いていることの判断が可能になる。
【００５７】
ここで、上記各値Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆは、それぞれ「１」未満の正の定数として設定され、それらの関係がそれぞれ、Ａ＞Ｄ、Ｂ＜Ｅ、Ｃ＜Ｆとなるように定められている。
【００５８】
また、これら定数Ａ〜Ｆは、エンジン回転速度ＮＥに基づき算出される。具体的には、上記各所定値Ａ〜Ｆは、エンジン回転速度ＮＥが速くなるほど小さな値として算出される。これは、次の理由による。
【００５９】
上述したように、エンジン回転速度ＮＥが速くなると、それに伴って各回転変動量ΔＮＥ０〜ΔＮＥ３は小さな値として算出されるようになる。そこで、上記各所定値Ａ〜Ｆをエンジン回転速度ＮＥが速いときほど小さな値として算出することで、これら回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンと、上記失火パターン及び悪路パターンとを、エンジン回転速度ＮＥの変化による影響を極力排除した上で比較することができるようにしている。
【００６０】
そして、上記（ａ）〜（ｃ）の論理積条件が満たされているときには、回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが失火パターンになっており、回転変動量ΔＮＥ２が大きくなった原因は失火発生の可能性があるとして「失火可能性有り」と判定される。
【００６１】
一方、上記（ｄ）〜（ｆ）の論理和条件が満たされているときには、回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが悪路パターンとなっており、回転変動量ΔＮＥ２が大きくなったのは悪路走行が原因であるとして「悪路走行」が判定される。
【００６２】
−失火発生と失火発生後の揺り戻しとの判別−
この判別動作では、上記各回転変動量ΔＮＥ０〜ΔＮＥ４（本判別動作における経時変化パターンの１サイクル）のうち、特に３点火前（判定動作開始タイミングである回転変動量ΔＮＥ０の算出時に膨張行程を迎えている気筒よりも点火タイミングで３点火前の気筒が膨張行程を迎えていた際）の算出量ΔＮＥ３が所定値（閾値）Ｎ１以上になったときに、各回転変動量ΔＮＥ０〜ΔＮＥ４の関係に基づき、これが失火異常によるものか、失火発生後の揺り戻しによるものかを判別する。従って、ここで失火判定対象とする気筒が、上述した「失火発生の可能性がある状況と悪路走行との判別」の動作において失火判定対象としていた気筒と同一気筒である場合には、クランク角度で１８０°遅角したタイミングで本「失火発生と失火発生後の揺り戻しとの判別」が行われることになる。
【００６３】
つまり、上述した「失火発生の可能性がある状況と悪路走行との判別」動作では、失火判定対象である気筒（上記の場合は第３番気筒♯３）から点火タイミングの２気筒後（遅角側に３６０°の位相差をもった気筒）の膨張行程時に判定動作を行っていたために、この２気筒後の膨張行程時に得られた回転変動量をΔＮＥ０としていた。これに対し、この「失火発生と失火発生後の揺り戻しとの判別」動作では、失火判定対象である気筒（以下の説明でも上記の場合と同様に第３番気筒♯３とする）から点火タイミングの３気筒後（遅角側に５４０°の位相差をもった気筒）の膨張行程時に判定動作を行うため、この３気筒後の膨張行程時に得られた回転変動量をΔＮＥ０とすることになる。
【００６４】
なお、ここでも、上記所定値Ｎ１は、エンジン回転速度ＮＥが速いほど小さな値として例えばマップ演算される。この理由は上述した判別動作（失火発生の可能性がある状況と悪路走行との判別動作）での説明と同じである。また、上記所定値Ｎ１は、吸気管内圧力ＰＭが高いほど大きな値として、同様に、例えばマップ演算される。この理由も上述した判別動作での説明と同じである。
【００６５】
図４は、失火が発生し、その後、その失火に伴う揺り戻しが生じた場合における各回転変動量ΔＮＥ０〜ΔＮＥ４の関係の一例を示している。同図４においても上述と同様に、第１番気筒を＃１、同様に第２番〜第４番気筒をそれぞれ＃２〜＃４とすると、＃１→＃３→＃４→＃２の順で各気筒における混合気への点火が実行されるようになっている。そして、上記回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンとして、失火発生時におけるパターンと、その失火発生後に揺り戻しが生じた場合におけるパターンとは、以下のような傾向になる。
【００６６】
先ず、例えば３点火前の第３番気筒＃３で失火が発生する場合には、この第３番気筒＃３の膨張行程時に算出された回転変動量ΔＮＥ３が、その直前の第１番気筒＃１の膨張行程時に算出された回転変動量ΔＮＥ４及び直後の第４番気筒＃４の膨張行程時に算出された回転変動量ΔＮＥ２に比べて特に大きくなる。また、これに加えて、第２番気筒＃２の膨張行程時に算出された回転変動量ΔＮＥ１が、上記回転変動量ΔＮＥ３と、ほぼその絶対値が同じであって、且つ正負が逆の値をとるようになる。
【００６７】
一方、失火発生後の揺り戻しが生じた場合には、算出量ΔＮＥが所定値（閾値）Ｎ１以上になった第４番気筒＃４の膨張行程時に算出された回転変動量ΔＮＥ３’が、その直前の第３番気筒＃３の膨張行程時に算出された回転変動量ΔＮＥ４’及び直後の第２番気筒＃２の膨張行程時に算出された回転変動量ΔＮＥ２’に比べて特に大きくなる。また、これに加えて、第１番気筒＃１の膨張行程時に算出された回転変動量ΔＮＥ１’が、上記回転変動量ΔＮＥ３’と、ほぼその絶対値が同じであって、且つ正負が逆の値をとるようになる。この点では、失火発生時におけるパターンと、その失火後に揺り戻しが生じた場合におけるパターンとは近似しており、これだけでは判別ができない。
【００６８】
そこで、本失火判定装置では、今回の気筒（図４に示すものでは第３番気筒♯３）の膨張行程時に算出された回転変動量ΔＮＥ０’と、その直前の第１番気筒♯１の膨張行程時に算出された回転変動量ΔＮＥ１’との差を上記失火発生時のパターンと比較することによって、失火の発生と、その失火後の揺り戻しの発生とを判別できるようにしている。
【００６９】
具体的には、今回の気筒の膨張行程時に算出された回転変動量ΔＮＥ０’の値は、その直前の気筒の膨張行程時に算出された回転変動量ΔＮＥ１’の値よりも大きくなる。つまり、回転変動量の増減の傾きが負から正に変化するタイミングである。このタイミングにおいて、今回の気筒の膨張行程時に算出された回転変動量ΔＮＥ０が、その直前の気筒の膨張行程時に算出された回転変動量ΔＮＥ１に対して大幅に増加している場合には、失火の発生であると判定する（図４におけるタイミングＡ参照）。一方、今回の気筒の膨張行程時に算出された回転変動量ΔＮＥ０’が、その直前の気筒の膨張行程時に算出された回転変動量ΔＮＥ１’に対して増加量が僅かである場合には、失火発生後の揺り戻しの発生であると判定するようにしている（図４におけるタイミングＢ参照）。
【００７０】
本実施形態の失火判定装置では、このように回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンが失火発生時と失火発生後の揺り戻し発生時とで異なることに着目し、それらを判別するべく、以下の各条件が電子制御装置４０内の適宜のメモリに予め記憶されている。
【００７１】
すなわち、回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンが以下の条件のうち条件（ｇ）〜条件（ｊ）のみの論理積を満たしている（条件（ｋ）は満たしていない）場合には、失火発生後の揺り戻しであると判定する一方、回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンが以下の条件（ｇ）〜条件（ｋ）の全ての論理積を満たしている場合には、失火の発生であると判定する。
【００７２】
（ｇ）ΔＮＥ３≧０、且つ
（ｈ）ΔＮＥ３×Ｈ＜｜ΔＮＥ１｜、且つ
（ｉ）ΔＮＥ３×Ｉ≧ΔＮＥ４、且つ
（ｊ）ΔＮＥ３×Ｊ≧ΔＮＥ２
（ｋ）｜ΔＮＥ１｜×Ｋ≧｜ΔＮＥ０｜
このような条件が予め定められている。
【００７３】
ここで、上記各値Ｈ，Ｉ，Ｊ，Ｋは、それぞれ「１」未満の正の定数として設定される。特に、本形態では、上記の値「Ｋ」は「１／２」に定められている。この「Ｋ」の具体的な数値はこれに限るものではなく、エンジン１の形式、気筒数、その他、パワートレーンの構造や重量等の種々の要素によって適宜設定されることになる。上記条件（ｋ）について、失火発生時の左辺は図４では「ａ」の値となる。つまり、ΔＮＥ０よりも絶対値は大きくなる。これに対し、失火発生後の揺り戻しでは左辺は図４では「ｂ」の値となる。つまり、ΔＮＥ０’よりも絶対値は小さくなる。この差を認識することによって、失火発生と失火発生後の揺り戻しとを判別している。
【００７４】
更に、これら定数Ｈ〜Ｋは、エンジン回転速度ＮＥに基づき算出される。具体的には、上記各所定値Ｈ〜Ｋは、エンジン回転速度ＮＥが速くなるほど小さな値として算出される。この理由は、上述した如く、定数Ａ〜Ｆを算出した場合と同じである。
【００７５】
以上のようにして、上記（ｇ）〜（ｊ）のみの論理積条件が満たされているときには、回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンが失火発生後の揺り戻しパターンになっており、回転変動量ΔＮＥが大きくなったのは失火が原因で揺り戻しが発生しているためであると認識され、このときには失火判定を行わず、従って後述する失火カウンタのインクリメントもなされない。
【００７６】
図５は、実際のエンジン運転状態において失火が発生した際の回転変動量の変化状態を示している。この図５は、クランクシャフト１０が３０°ＣＡ回転する毎に、その間に要した時間を算出し、この所要時間をプロットしたグラフとなっている。この図５に示す状況においても、失火発生時には、回転変動量が閾値を越えており、その後の揺り戻し現象によって再び回転変動量が閾値を越える状況が生じている。このような状況で、従来では、図中一点鎖線で示す失火カウンタのカウント動作の如く、回転変動量が閾値を越える度に失火カウンタがインクリメントされ、図５の場合には１度しか失火が発生していないにも拘わらず、カウント値は「２」となっている。本実施形態の判定動作によれば、２回目に回転変動量が閾値を越えた際には、これを失火後の揺り戻し現象によるものであると判別することができ、図中実線で示す失火カウンタのカウント動作の如く、カウント値は「１」となる。このようにして、実際に失火が発生した場合に限り失火カウンタがインクリメントされることになる。
【００７７】
更に、本実施形態に係る失火判定装置では、失火発生の検出頻度に基づいて、排気エミッションの悪化や触媒１２の劣化を招く頻度で失火が発生しているか否かの判定が行われる。具体的には、失火発生の検出頻度が高い場合には、排気エミッションの悪化や触媒１２の劣化等を招くおそれのある頻度で失火が発生しているとして、失火異常と判定される。
【００７８】
こうした失火判定処理によれば、予め記憶されている失火発生パターン、悪路走行パターン、失火後揺り戻しパターンに基づくパターン判定を通じて、エンジン１の回転変動が大きくなった原因が失火発生によるものか、悪路走行によるものか、失火後の揺り戻し現象によるものかが精度よく判別されるようになる。そして、回転変動量ΔＮＥが所定値Ｎ１を超えた原因がエンジン１の失火によるものであると判定された場合に限り、後述する失火カウンタがインクリメントされることになる。
【００７９】
以下、本失火判定装置の判定処理の手順について、図６のフローチャートを参照して説明する。この図６に示すように、この処理では先ず、失火を判定（失火検出）するための前提条件が成立しているか否かが判断される（ステップＳＴ１）。この判断では、上記前提条件に基づく判断を通じて、失火発生、悪路走行、失火後の揺り戻し現象以外の要因でエンジン回転速度ＮＥが大きく変動するおそれがなく、これら失火発生、悪路走行、失火後の揺り戻し現象に伴うエンジン回転速度ＮＥの変動を精度よく検出することができる条件下であるか否かが判断される。なお、上記前提条件としては例えば、エアーコンディショナの作動／非作動が切り換えられてから所定時間が経過していることや、シフトレバーが操作されてから所定時間が経過していること等がある。
【００８０】
そして、上記前提条件が成立していないと判断（ステップＳＴ１でＮＯ判定）された場合には、エンジン１が現在、失火発生や、悪路走行や、失火後の揺り戻し現象に伴うエンジン回転速度ＮＥの変動を精度よく判定することのできない条件下にあるとして、本処理が一旦終了される。
【００８１】
一方、上記前提条件が成立していると判断（ステップＳＴ１でＹＥＳ判定）された場合には、検出カウンタ（１０００ｒｅｖカウンタ）のカウント値がインクリメントされる（ステップＳＴ２）。このカウント値は、後述する失火異常の判定に際し失火発生の検出頻度の算出基準となる総判定回数として用いられる。
【００８２】
その後、エンジン回転速度ＮＥ及び吸気管内圧力ＰＭに基づいて上記閾値Ｎ１がマップ演算され、上述した態様で算出される回転変動量ΔＮＥがこの閾値Ｎ１よりも大きいか否かが判断される（ステップＳＴ３）。なお、上記マップ演算に用いられるマップは、エンジン回転速度ＮＥ及び吸気管内圧力ＰＭから所定値Ｎ１を算出するためのマップであり、これらエンジン回転速度ＮＥ、吸気管内圧力ＰＭ及び所定値Ｎ１の関係が実験等によって求められた上で設定されている。また、このマップも予め電子制御装置４０内の適宜のメモリに記憶されている。
【００８３】
そして、回転変動量ΔＮＥが所定値Ｎ１よりも大きいと判断（ステップＳＴ３でＹＥＳ判定）された場合には、以下の処理（ステップＳＴ４やステップＳＴ５）を通じて、その原因が失火発生によるものか、悪路走行によるものか、失火後の揺り戻し現象によるものかが判別される。
【００８４】
この判別処理では先ず、上記「失火発生の可能性がある状況と悪路走行との判別動作」で説明したように、各回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが上記失火パターンとなっているか否かが、すなわち各回転変動量ΔＮＥ０〜ΔＮＥ３が上記（ａ）〜（ｃ）の論理積条件を満たしているか否かが判断される。そして、同論理積条件を満たしていると判断された場合には、回転変動量ΔＮＥが大きくなったのは失火発生が原因である可能性があるとして、ステップＳＴ５に移る。
【００８５】
一方、上記論理積条件を満たしていない場合には、各回転変動量ΔＮＥ０〜ΔＮＥ３が上記（ｄ）〜（ｆ）の論理和条件を満たしているか否かが判断される。すなわち、この判
断では、回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが上記悪路パターンとなっているか否かが判断される。そして、同論理和条件を満たしていると判断（ステップＳＴ４でＮＯ判定）された場合には、回転変動量ΔＮＥが大きくなったのは悪路走行が原因であるとして、ステップＳＴ７に移る。つまり、失火カウンタのカウント値をインクリメントすることなしにステップＳＴ７に移る。
【００８６】
上記ステップＳＴ４でＹＥＳ判定された場合、つまり、各回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが上記失火パターンとなっており、回転変動量ΔＮＥが大きくなったのは失火発生が原因である可能性があると判断した場合には、ステップＳＴ５に移って、回転変動量ΔＮＥが所定値Ｎ１よりも大きくなった原因が失火発生によるものか、失火後の揺り戻し現象によるものかの判別動作を実行する。この判別動作は、上記「失火発生と失火発生後の揺り戻しとの判別動作」で説明したように、上記各回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンが上記失火パターンとなっているか否か、すなわち各回転変動量ΔＮＥ０〜ΔＮＥ４が上記（ｇ）〜（ｋ）のうち（ｇ）〜（ｊ）のみの論理積条件を満たしているか否か、または上記（ｇ）〜（ｋ）の全ての論理積条件を満たしているかが判断される。そして、後者の場合には、ＹＥＳ判定されてステップＳＴ６に移り、失火検出回数をカウントする失火カウンタのカウント値をインクリメントする。
【００８７】
一方、後者の場合には、ＮＯ判定されて失火カウンタのカウント値をインクリメントすることなしにステップＳＴ７に移る。
【００８８】
このように各回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが悪路パターンとなっている場合（図３参照）や、各回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンが失火発生後の揺り戻しパターンとなっている場合（図４における右側の波形参照）には、失火カウンタのカウント値をインクリメントすることなしにステップＳＴ７に移り、各回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンが失火パターンとなっており、且つ各回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンも失火パターンとなっている場合には、ステップＳＴ６において失火カウンタのカウント値をインクリメントし、その後にステップＳＴ７に移ることになる。また、回転変動量ΔＮＥが閾値Ｎ１以下であると判断（ステップＳＴ３でＮＯ判定）された場合、あるいは回転変動量ΔＮＥが閾値Ｎ１を超えていても上記の何れのパターンにも属さないと判断（ステップＳＴ４でＮＯ判定）された場合には、上記失火カウンタのカウント操作を行うことなく、ステップＳＴ７以降の処理にジャンプする。
【００８９】
そして、このステップＳＴ７以降の処理では、先ず、検出カウンタ（１０００ｒｅｖカウンタ）のカウント値が所定の条件成立カウント値（例えば２０００）以上であるか否かが判断される（ステップＳＴ７）。この判断では、総検出回数が失火発生の検出頻度を判定する基準回数（例えばクランクシャフト１０の１０００回転相当）に達したか否かが判断される。
【００９０】
そして、総検出回数が基準回数に達したと判断（ステップＳＴ７でＹＥＳ判定）された場合には、次に失火カウンタのカウント値が所定の異常回数（例えば３０）以上であるか否かが判断される（ステップＳＴ８）。すなわちこの判断では、総検出回数中に所定回数以上の頻度で失火発生が検出されたか否かが判断される。
【００９１】
そして、失火カウンタのカウント値が所定値（異常回数値）以上であると判断（ステップＳＴ８でＹＥＳ判定）された場合には、排気エミッションの悪化や触媒１２の劣化等を招くおそれのある頻度で失火が発生しているとして、失火異常と判定される（ステップＳＴ９）。この場合には、例えば、この異常判定を異常履歴として記憶したり、異常ランプ（ＭＩＬ）を点灯させたりする。そして、その後、上記各カウンタのカウント値を「０」にリセットした後（ステップＳＴ１０）、リターンされる。
【００９２】
一方、検出カウンタのカウント値が所定値未満であると判断（ステップＳＴ７でＮＯ判定）された場合には、総検出回数が上記基準回数に達していないとして、リターンされる。
【００９３】
また、検出カウンタ（１０００ｒｅｖカウンタ）のカウント値が所定値に達した際の失火カウンタのカウント値が所定値（異常回数値）未満であると判断（ステップＳＴ８でＮＯ判定）された場合には、失火発生の検出頻度がさほど高くないとして、この場合にも各カウント値が「０」にリセットされた後（ステップＳＴ１０）、リターンされる。
【００９４】
以上説明したように、本実施の形態によれば、以下に記載する効果が得られる。
【００９５】
回転変動量ΔＮＥ０〜ΔＮＥ３の変化パターンとして、失火パターン及び悪路パターンをそれぞれ予め記憶し、また、回転変動量ΔＮＥ０〜ΔＮＥ４の変化パターンとして、失火パターン及び失火後揺り戻しパターンをそれぞれ予め記憶し、実際の回転変動量パターンとそれぞれ比較するようにしている。これにより、回転変動量ΔＮＥが大きくなった原因が失火発生によるものか、悪路走行によるものか、あるいは失火後揺り戻し現象によるものかを精度よく判別することができるようになる。従って、回転変動量ΔＮＥが所定値Ｎ１を超えた原因が失火によるものである場合にのみが失火カウンタがインクリメントされ、失火の発生回数が精度よくカウントすることができる。
【００９６】
−その他の実施形態−
上記実施の形態は、以下のように変更して実施してもよい。
・上記実施の形態では、本発明を自動車用４気筒エンジンに適用した場合について説明したが、本発明は、これに限るものではなく、種々のエンジンに対して適用できる。
・上記実施の形態では、失火発生の可能性があったタイミング以降に回転変動傾向が「負」から「正」へ変化するタイミングにおいて、「失火発生と失火発生後の揺り戻しとの判別」を実行するようにしたが、上記「失火発生の可能性がある状況と悪路走行との判別」もこのタイミングで実行するようにしてもよい。
・上記実施の形態では、所定値Ｎ１をエンジン回転速度ＮＥ及び吸気管内圧力ＰＭに基づき算出するようにしたが、これに限られない。例えば、この所定値Ｎ１を、エンジン回転速度ＮＥ及び吸気管内圧力ＰＭの何れか一方に基づき算出したり、あるいは他のパラメータに基づき算出してもよい。また、吸気管内圧力ＰＭに代えて吸入空気量を検出するシステムにあっては、この吸入空気量を代用しても勿論よい。他方、所定値Ｎ１を一定の値として設定するようにしてもよい。要は、失火の発生に伴う回転変動量ΔＮＥの変化を好適に監視できるのであれば、所定値Ｎ１をどのように算出、若しくは設定してもよい。
・上記実施の形態では、各定数Ａ〜Ｋをエンジン回転速度ＮＥに基づき算出するようにしたが、これに限らず、例えば各定数Ａ〜Ｋを吸気管内圧力ＰＭや吸入空気量に基づいて算出したり、あるいは他のパラメータに基づき算出したりするようにしてもよい。また、各定数Ａ〜Ｋを一定の値として設定するようにしてもよい。要は、失火パターン、悪路パターン、失火後揺り戻しパターンを好適なパターンとして設定できるのであれば、定数Ａ〜Ｋをどのように算出、若しくは設定するようにしてもよい。
・上記実施の形態では、検出カウンタ（１０００ｒｅｖカウンタ）によって総検出回数を、失火カウンタによって失火発生の検出回数をそれぞれカウントすることで、失火発生の検出頻度を求めるようにしたが、これら頻度の求め方も任意である。
・上記実施の形態では、回転変動量を前記（１）式から算出するようにしたが、これに限られない。要は、失火発生に伴うエンジン回転速度の変動を把握することが可能な態様であれば、回転変動量の算出態様を適宜変更してもよい。この場合であれ、回転変動量の算出態様に対応したかたちで失火パターンや悪路パターンや失火発生後の揺り戻しパターンを変更することで、上記実施の形態に準じた効果を得ることができる。
・上記実施の形態では、クランク角度の位相が３６０°離れた気筒における経過時間の偏差ΔＮＥを求めるようにしていたが、この偏差ΔＮＥを求めるために対比される気筒はこれに限るものではない。また、上記偏差ΔＮＥの演算に用いる経過時間Ｔ１〜Ｔ４を求めるためのクランクシャフト１０の回転角度も３０°に限らず任意の角度が設定可能である。
【図面の簡単な説明】
【００９７】
【図１】実施形態に係る失火判定装置が適用されるエンジン及びその周辺装置の概略構成を示す図である。
【図２】失火発生時における回転変動量の変化パターンの一例を示す図である。
【図３】悪路走行時における回転変動量の変化パターンの一例を示す図である。
【図４】失火が発生し、その後、その失火に伴う揺り戻しが生じた場合における回転変動量の変化パターンの一例を示す図である。
【図５】実際のエンジン回転の変化と回転変動量との関係の実験データを示す図である。
【図６】失火判定処理動作の手順を示すフローチャート図である。
【符号の説明】
【００９８】
１        エンジン（内燃機関）
１０      クランクシャフト（出力軸）
４１      失火判定手段
４２      記憶手段
【図１】
2006152971.tif 000003
【図２】
2006152971.tif 000004
【図３】
2006152971.tif 000005
【図４】
2006152971.tif 000006
【図５】
2006152971.tif 000007
【図６】
2006152971.tif 000008