(57)【要約】【課題】  精度良く失火を判定する。【解決手段】  ＥＣＵは、クランクシャフトの回転変動ΔＴが予め定められた失火判定値よりも大きい場合（Ｓ１１４にてＹＥＳ）、失火が発生したと仮判定するステップ（Ｓ１１６）と、失火が発生したと仮判定された気筒の次に点火される気筒の燃焼行程におけるクランクシャフトの回転変動ΔＴＮを算出するステップ（Ｓ１１８）と、回転変動ΔＴＮが、失火が発生していない場合の回転変動ΔＴＮ（０）と予め定められた係数Ｋとの積よりも大きいか否かを判定するステップ（Ｓ１２２）と、回転変動ΔＴＮが、回転変動ΔＴＮ（０）と係数Ｋとの積よりも大きい場合（Ｓ１２２にてＹＥＳ）、失火が発生したと仮判定された気筒に実際に失火が発生したと判定するステップ（Ｓ１２４）とを含むプログラムを実行する。【選択図】        図３
2005307945.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも第１の気筒および第２の気筒を含む複数の気筒を有する内燃機関の失火判定装置であって、前記第２の気筒は、前記第１の気筒の次に点火され、
前記内燃機関の出力軸の回転変動を検出するための検出手段と、
前記第１の気筒の燃焼行程における回転変動に基づいて、前記第１の気筒に失火が発生したか否かを仮判定するための仮判定手段と、
前記仮判定手段により前記第１の気筒に失火が発生したと仮判定された場合、前記第２の気筒の燃焼行程における回転変動に基づいて、前記第１の気筒に失火が発生したか否かを判定するための判定手段とを含む、内燃機関の失火判定装置。
【請求項２】
前記失火判定装置は、内燃機関に失火が発生していない場合における前記複数の気筒のうちのいずれかの気筒の燃焼行程の回転変動を記憶するための記憶手段をさらに含み、
前記判定手段は、前記第２の気筒の燃焼行程における回転変動と前記記憶手段により記憶された回転変動とに基づいて、前記第１の気筒に失火が発生したか否かを判定するための手段を含む、請求項１に記載の内燃機関の失火判定装置。
【請求項３】
前記判定手段は、前記第２の気筒の燃焼行程における回転変動と前記記憶手段により記憶された回転変動との偏差が、予め定められた値よりも大きい場合、前記第１の気筒に失火が発生したと判定するための手段を含む、請求項２に記載の内燃機関の失火判定装置。
【請求項４】
前記回転変動は、前記内燃機関の出力軸が予め定められた角度だけ回転するのに必要な時間の偏差である、請求項１ないし３のいずれかに記載の内燃機関の失火判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の失火判定装置に関し、特に、内燃機関の出力軸の回転変動に基づいて失火を判定する内燃機関の失火判定装置に関する。
【背景技術】
【０００２】
従来より、クランクシャフトの回転変動に基づいて、エンジンの失火を判定する技術が知られている。
【０００３】
特開２００１−１８２６０６号公報（特許文献１）は、第１のクランク角度から第２のクランク角度を通過するまでの時間に基づいてエンジンの失火を判定する、内燃機関の燃焼状態検出装置を開示する。特許文献１に記載の内燃機関の燃料状態検出装置は、各気筒ごとに、第１のクランク角度から第２のクランク角度を通過するまでの時間ＴＤＡＴＡを計測し、現在点火サイクルにある気筒の通過時間ＴＤＡＴＡ（ｎ）が、前回点火サイクルにある気筒の通過時間ＴＤＡＴＡ（ｎ−１）よりも大きくなった場合に、失火を検出する。
【０００４】
この公報に記載の内燃機関の燃焼状態検出装置によれば、エンジンの回転変動に基づいて、エンジンの失火を判定することができる。
【０００５】
特開平１０−１８８９９号公報（特許文献２）は、前回運転時に得ている学習値の継続使用を可能とし、失火判定精度が低下しないようにできるエンジンの失火診断装置を開示する。特許文献２に記載のエンジンの失火診断装置は、予め定められたクランク角度ごとに出力される信号をカウントすることによって燃焼行程に対応するクランク角度に要する時間を気筒別に計測する計測部と、この時間計測値の気筒ごとのバラツキを補正するための学習値を演算する演算部と、この学習値をエンジン停止後も記憶するバックアップメモリと、燃焼行程に対応するクランク角度に要する時間の計測区間が前回運転時と同じ位置（あるいは同じ位相）にあるかどうかを運転ごとに判定する判定手段と、この判定結果より計測区間が前回運転時と同じ位置にない場合に計測区間を前回運転時と同じ位置に戻す戻し手段と、計測区間を前回運転時と同じ位置に戻した後の時間計測値をバックアップメモリに記憶されている学習値で補正した値の変動状態から失火判定を行う失火判定部とを含む。
【０００６】
この公報に記載のエンジンの失火診断装置によると、計測区間を前回運転時と同じ位置に戻すので、前回運転時に得ている学習値を捨てて再学習を行なうことは必要でなく、前回運転時に得ている学習値をそのまま用いて失火判定を行なうことができることから、再学習に要する時間を必要とせず、燃焼行程に対応するクランク角度に要する時間に基づいて、速やかに精度よく失火判定を行なうことができる。
【０００７】
特開平７−２１７４８８号公報（特許文献３）は、奇数の気筒からなる内燃機関にあっても、そのクランク角度の誤差を有効に相殺することができ、内燃機関に発生した失火を精度よく検出することができる内燃機関の失火判定装置を開示する。特許文献３に記載の内燃機関の失火判定装置は、奇数の気筒からなる内燃機関に発生した失火を検出する。この失火検出装置は、内燃機関の回転に基づき同機関の所定の回転角度ごとに回転信号を出力する回転信号出力部と、この出力される回転信号に基づき、任意気筒の爆発行程において内燃機関が特定の第１の回転角度だけ回転するのに要した時間若しくは相当値を求める第１の計測部と、出力される回転信号に基づき、爆発行程が連続する次の気筒の爆発行程において同機関が第１の回転角度だけ回転するのに要した時間若しくは相当値を求める第２の計測部と、出力される回転信号に基づき、第１の計測部が計測対象とする回転角度に対して３６０度クランク角の位相差をもって内燃機関が特定の第２の回転角度だけ回転するのに要した時間若しくは相当値を求める第３の計測部と、出力される回転信号に基づき、第２の計測部が計測対象とする回転角度に対して３６０度クランク角の位相差をもって内燃機関が第２の回転角度だけ回転するのに要した時間若しくは相当値を求める第４の計測部と、第１及び第２の計測部による計測値の偏差を求める第１の偏差演算部と、第３及び第４の計測部による計測値の偏差を求める第２の偏差演算部と、これら第１及び第２の偏差演算部による演算結果に基づいて内燃機関の失火の有無を判定する失火判定部とを含む。
【０００８】
この公報に記載の内燃機関の失火検出装置によると、第１の計測部によって求められる値をＴ（ｘ）とすれば、第２の計測部によって求められる値はＴ（ｘ＋１）となる。同様に、第３の計測部によって求められる値は、値Ｔ（ｘ）から３６０゜ＣＡ（３６０度クランク角）の位相差をもつＴ（ｘ＋３６０゜ＣＡ）となり、第４の計測部によって求められる値は、値Ｔ（ｘ＋１）から３６０゜ＣＡの位相差をもつＴ（ｘ＋３６０゜ＣＡ＋１）となる。第１及び第２の偏差演算部を通じてＴ（ｘ）−Ｔ（ｘ＋１）及びＴ（ｘ＋３６０゜ＣＡ）−Ｔ（ｘ＋３６０゜ＣＡ＋１）といった偏差をとり、失火判定部において、例えば｛Ｔ（ｘ）−Ｔ（ｘ＋１）｝−｛Ｔ（ｘ＋３６０゜ＣＡ）−Ｔ（ｘ＋３６０゜ＣＡ＋１）｝といったような２階差分をとることにより、クランク角度の誤差を相殺することができる。そのため、失火判定部において例えば、２階差分によって抽出される値と失火判定値とを比較するようにすれば、内燃機関の失火の有無について、信頼性の高い正確な判定を行なうことができるようになる。
【特許文献１】特開２００１−１８２６０６号公報
【特許文献２】特開平１０−１８８９９号公報
【特許文献３】特開平７−２１７４８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
一方、近年においては、たとえば車両の急加速時のショックを抑制したり、触媒の暖機を早期に完了させたりするために、点火プラグの点火時期を、予め定められたクランク角から遅角する遅角制御が行なわれているものもある。遅角制御が行なわれた場合、燃焼行程にある気筒には失火は発生していないが、クランクシャフトの回転速度が遅くなる。また、たとえば点火プラグに一時的にすすがつき、一過性の燻りが生じた場合、点火プラグの温度が上昇すれば解消するため問題はないが、点火プラグが燻っている間は適切な点火時期で点火が行なわれないため、クランクシャフトの回転速度が遅くなる。したがって、遅角制御が行なわれた場合および点火プラグに一過性の燻りが生じた場合に、クランクシャフトの挙動が、失火が発生した場合と類似した挙動を示す場合がある。しかしながら、上述のいずれの公報にも、遅角制御が行なわれた場合および点火プラグに一過性の燻りが生じた場合を考慮して失火を判定する技術に関する開示も示唆もない。
【００１０】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、遅角制御が行なわれた場合および点火プラグに一過性の燻りが生じた場合を区別して、精度良く失火を判定することができる内燃機関の失火判定装置を提供することである。
【課題を解決するための手段】
【００１１】
第１の発明に係る内燃機関の失火判定装置は、少なくとも第１の気筒および第２の気筒を含む複数の気筒を有する内燃機関の失火を判定する。第２の気筒は、第１の気筒の次に点火される。判定装置は、内燃機関の出力軸の回転変動を検出するための検出手段と、第１の気筒の燃焼行程における回転変動に基づいて、第１の気筒に失火が発生したか否かを仮判定するための仮判定手段と、仮判定手段により第１の気筒に失火が発生したと仮判定された場合、第２の気筒の燃焼行程における回転変動に基づいて、第１の気筒に失火が発生したか否かを判定するための判定手段とを含む。
【００１２】
第１の発明によると、検出手段が、内燃機関の出力軸の回転変動を検出し、仮判定手段が、第１の気筒の燃焼行程における回転変動に基づいて、第１の気筒に失火が発生したか否かを仮判定する。仮判定手段により第１の気筒に失火が発生したと仮判定された場合、判定手段が、第２の気筒の燃焼行程における回転変動に基づいて、第１の気筒に失火が発生したか否かを判定する。これにより、たとえば、第２の気筒の燃焼行程における回転変動が大きければ、第１の気筒に失火が実際に発生して、第１の気筒の燃焼行程における回転速度が遅くなったため、回転数を維持するために、第２の気筒の燃焼行程における回転速度が速められたと判別することができる。一方、第２の気筒の燃焼行程における回転変動が小さければ、内燃機関の点火時期が遅角されたために、第１の気筒および第２の気筒の燃焼行程における回転速度が遅くなったと判別することができる。この場合、第１の気筒に失火が判定したと誤判定することを抑制することができる。その結果、点火時期が遅角される内燃機関においても、精度よく失火を判定することができる内燃機関の失火判定装置を提供することができる。
【００１３】
第２の発明に係る内燃機関の失火判定装置は、第１の発明の構成に加え、内燃機関に失火が発生していない場合における複数の気筒のうちのいずれかの気筒の燃焼行程の回転変動を記憶するための記憶手段をさらに含む。判定手段は、第２の気筒の燃焼行程における回転変動と記憶手段により記憶された回転変動とに基づいて、第１の気筒に失火が発生したか否かを判定するための手段を含む。
【００１４】
第２の発明によると、記憶手段が、内燃機関に失火が発生していない場合における複数の気筒のうちのいずれかの気筒の燃焼行程の回転変動を記憶し、判定手段が、第２の気筒の燃焼行程における回転変動と記憶手段により記憶された回転変動とに基づいて、第１の気筒に失火が発生したか否かを判定する。これにより、たとえば、失火が発生していない場合の回転変動と第２の気筒の燃焼行程における回転変動とを比較し、第２の気筒の燃焼行程における回転変動が、第１の気筒に失火が発生した場合のものであるか否かを判別することにより、第１の気筒に失火が発生したか否かを精度よく判定することができる。
【００１５】
第３の発明に係る内燃機関の失火判定装置においては、第２の発明の構成に加え、判定手段は、第２の気筒の燃焼行程における回転変動と記憶手段により記憶された回転変動との偏差が、予め定められた値よりも大きい場合、第１の気筒に失火が発生したと判定するための手段を含む。
【００１６】
第３の発明によると、判定手段が、第２の気筒の燃焼行程における回転変動と記憶手段により記憶された回転変動との偏差が、予め定められた値よりも大きい場合、第１の気筒に失火が発生したと判定する。これにより、失火が発生していない場合の回転変動と第２の気筒の燃焼行程における回転変動とを比較し、第２の気筒の燃焼行程における回転変動が、第１の気筒に失火が発生した場合のものであるか否かを判別することにより、第１の気筒に失火が発生したか否かを精度よく判定することができる。
【００１７】
第４の発明に係る内燃機関の失火判定装置においては、第１ないし３のいずれかの発明の構成に加え、回転変動は、内燃機関の出力軸が予め定められた角度だけ回転するのに必要な時間の偏差である。
【００１８】
第４の発明によると、内燃機関の出力軸が予め定められた角度だけ回転するのに必要な時間の偏差を計測することにより、回転変動が検出される。これにより、たとえば予め定められた角度ごとに凸部が設けられたタイミングロータと、クランクポジションセンサとを用いて、精度よく回転変動を検出することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同一である。したがって、それらについての詳細な説明は繰返さない。
【００２０】
図１を参照して、本実施の形態に係る内燃機関の失火判定装置を搭載した車両について説明する。この車両は、エンジン１００と、ＥＣＵ（Electronic Control Unit）２００とを含む。
【００２１】
エンジン１００は、直列４気筒型のエンジンである。なお、エンジン１００は、４気筒以外のエンジンであっても構わない。また、エンジン１００は、Ｖ型エンジンや、ロータリーエンジンであっても構わない。
【００２２】
エンジン１００は、エアフィルタ１０２と、吸気管１０４と、スロットルバルブ１０６と、インテークマニホールド１０８と、エギゾーストマニホールド１１０と、排気管１１２と、触媒１１４とを含む。
【００２３】
エアフィルタ１０２は、エンジン１００に吸入される空気をろ過する。エアフィルタ１０２でろ過された空気は、吸気管１０４を通過する。スロットルバルブ１０６は、アクセルペダル（図示せず）の踏込み量に応じて、エンジン１００に吸入される空気の量を調整する。エンジン１００に吸入される空気は、インテークマニホールド１０８を介して、第１気筒１２１、第２気筒１２２、第３気筒１２３および第４気筒１２４の燃焼室にそれぞれ導入される。
【００２４】
燃焼室に導入された空気は、インジェクタから噴射された燃料と共に点火プラグ１２６により点火され、燃焼させられる。本実施の形態においては、第１気筒１２１、第３気筒１２３、第４気筒１２４、第２気筒１２２の順番で点火される。なお、点火される順番は、これに限らない。燃焼により発生した排気は、エギゾーストマニホールド１１０および排気管１１２を介して、触媒１１４に導かれ、触媒１１４により浄化された後、車外に排出される。なお、燃料は、気筒外で噴射してもよく、気筒内で噴射してもよい。
【００２５】
エンジン１００のクランクシャフト１２８には、クランクシャフト１２８と共に回転するタイミングロータ１３０が設けられている。タイミングロータ１３０には、２歯欠歯した３４の突起が１０°間隔で設けられている。
【００２６】
タイミングロータ１３０の突起と対向するように、クランクポジションセンサ１３２が設けられている。クランクポジションセンサ１３２は、電磁ピックアップセンサである。クランクシャフト１２８が回転することにより、タイミングロータ１３０の突起と、クランクポジションセンサ１３２とのエアギャップが変化するため、クランプポジションセンサ１３２のコイル部を通過する磁束が増減し、コイル部に起電力が発生する。クランクポジションセンサ１３２は、起電力を表す信号を、ＥＣＵ２００に送信する。
【００２７】
ＥＣＵ２００は、ＣＰＵ（Central Processing Unit）２０２と、メモリ２０４と、回転数カウンタ２０６と、失火カウンタ２０８とを含む。ＣＰＵ２０２は、車両に搭載されたセンサなどから送られてきた信号、メモリ２０４に記憶されたプログラムおよびマップに基づいて演算処理を行なう。これにより、ＥＣＵ２００は、エンジン１００を制御する。
【００２８】
本実施の形態において、ＥＣＵ２００は、エンジン１００に失火が発生した場合は、失火により遅くなったクランクシャフト１２８の回転速度を戻すために、スロットルバルブ１０６の開度および燃料噴射量などを制御し、失火が発生した気筒の後に点火される気筒の燃焼行程において、クランクシャフト１２８の回転速度を速くする。
【００２９】
また、本実施の形態において、ＥＣＵ２００は、触媒１１４を暖機する場合および車両の急加速を抑制する場合などに、点火プラグ１２６の点火時期を、予め定められたクランク角よりも遅角させる遅角制御を行なう。
【００３０】
回転数カウンタ２０６は、クランクポジションセンサ１３２から送られた信号に基づき、クランクシャフト１２８が回転した回数をカウントする。カウントされた回数はメモリ２０４に記憶される。失火カウンタ２０６は、エンジン１００で失火が発生した回数をカウントする。カウントされた回数は、メモリ２０４に記憶される。
【００３１】
ＥＣＵ２００は、クランクポジションセンサ１３２から送られた信号に基づき、燃焼行程にある気筒を判別する。燃焼行程にある気筒を判別する技術については、周知の一般的な技術を利用すればよいため、ここではさらなる詳細な説明は繰返さない。
【００３２】
ＥＣＵ２００は、クランクポジションセンサ１３２から送られた信号に基づき、エンジン１００に失火が発生したか否かを判定する。失火を判定する方法については、後で詳述する。エンジン１００の失火異常とみなせる回数の失火が発生した場合、インストルメントパネル（図示せず）に設けられたコンビネーションメータ（図示せず）内の警告ランプ２２０が点灯させられる。
【００３３】
図２に示すように、ＥＣＵ２００は、クランクポジションセンサ２１０から送信された信号に基づいて、各気筒の燃焼行程において、クランクシャフト１２８が３０°だけ回転するために必要な時間を、各気筒の燃焼行程ごとに計測する。
【００３４】
ここで、クランクシャフト１２８が上死点からクランク角３０°まで回転するために必要な時間をＴ（１）と表す。クランクシャフト１２８がクランク角３０°から６０°まで回転するために必要な時間をＴ（２）と表す。クランクシャフト１２８がクランク角６０°から９０°まで回転するために必要な時間をＴ（３）と表す。クランクシャフト１２８がクランク角９０°から１２０°まで回転するために必要な時間をＴ（４）と表す。クランクシャフト１２８がクランク角１２０°から１５０°まで回転するために必要な時間をＴ（５）と表す。クランクシャフト１２８がクランク角１５０°から１８０°まで回転するために必要な時間をＴ（６）と表す。
【００３５】
このようにして計測された時間Ｔ（１）からＴ（６）に基づいて、ＥＣＵ２００は、角気筒の燃焼行程におけるクランクシャフト１２８の回転変動を算出する。クランクシャフト１２８の回転変動は、クランクシャフト１２８が３０°だけ回転するために必要な時間の偏差（回転角速度の偏差）である。
【００３６】
本実施の形態において、ＥＣＵ２００は、時間Ｔ（１）と、時間Ｔ（４）との偏差である第１回転変動ΔＴ（ΔＴ＝Ｔ（４）−Ｔ（１））および時間Ｔ（１）と、時間Ｔ（２）との偏差である第２回転変動ΔＴＮ（ΔＴＮ＝Ｔ（１）−Ｔ（２））を算出する。ＥＣＵ２００は、第１回転変動ΔＴおよび第２回転変動ΔＴＮに基づいて、エンジン１００に失火が発生したか否かを判定する。
【００３７】
なお、時間Ｔ（１）、時間Ｔ（２）および時間Ｔ（４）以外の時間Ｔを用いて、回転変動を算出するように構成してもよい。また、回転変動を、クランクシャフト１２８が予め定められたクランク角だけ回転するために必要な時間の２階差分により算出してもよい。たとえば、クランク角で３６０°位相が異なる燃焼行程（対向気筒の燃焼行程）において、クランクシャフト１２８が上死点からクランク角３０°まで回転するために必要な時間をＴ（７）と表し、クランクシャフト１２８がクランク角９０°から１２０°まで回転するために必要な時間をＴ（１０）と表した場合、第１回転変動ΔＴを、ΔＴ＝（Ｔ（４）−Ｔ（１））−（Ｔ（１０）−Ｔ（７））として算出してもよい。
【００３８】
図３を参照して、本実施の形態に係る内燃機関の失火判定装置におけるＥＣＵ２００が実行するプログラムの制御構造について説明する。
【００３９】
ステップ（以下ステップをＳと略す）１００にて、ＥＣＵ２００は、クランクシャフト１２８が回転した回数（クランクシャフト１２８の総回転数）のインクリメントを開始する。
【００４０】
Ｓ１０２にて、ＥＣＵ２００は、クランクシャフト１２８がクランク角３０°回転するために必要な時間Ｔ（１）、時間Ｔ（２）、時間Ｔ（３）、時間Ｔ（４）、時間Ｔ（５）、時間Ｔ（６）の検出を開始する。検出された時間は、順次メモリ２０４に記憶される。
【００４１】
Ｓ１０４にて、ＥＣＵ２００は、点火された気筒の燃焼行程における第１回転変動ΔＴを算出する。Ｓ１０６にて、ＥＣＵ２００は、第１回転変動ΔＴが予め定められた失火判定値よりも小さいか否かを判定する。なお、失火判定値を、たとえば前回点火された気筒の燃焼行程における第１回転変動ΔＴに基づいて定めてもよい。また、第１回転変動ΔＴが失火判定値よりも小さいか否かを判定する代わりに、現在燃焼行程にある気筒の第１回転変動ΔＴと、位相がクランク角で３６０°異なる対向気筒の第１回転変動ΔＴとの偏差（時間Ｔの２階差分）が、予め定められた失火判定値よりも小さいか否かを判定するように構成してもよい。
【００４２】
第１回転変動ΔＴが失火判定値よりも小さい場合（Ｓ１０６にてＹＥＳ）、処理はＳ１０８に移される。そうでない場合（Ｓ１０６にてＮＯ）、処理はＳ１３４に移される。Ｓ１０８にて、ＥＣＵ２００は、今回点火された気筒では、失火が発生していないと判定する。
【００４３】
Ｓ１１０にて、ＥＣＵ２００は、失火が発生していないと判定された気筒の燃焼行程における第２回転変動ΔＴＮ（０）を算出する。算出された第２回転変動ΔＴＮ（０）は、ＥＣＵ２００のメモリ２０４に記憶される。算出された第２回転変動ΔＴＮ（０）は、後述するＳ１２２において、失火が発生したか否かを判定するための基準値として用いられる。
【００４４】
Ｓ１１２にて、ＥＣＵ２００は、点火された気筒の燃焼行程における第１回転変動ΔＴを算出する。Ｓ１１４にて、ＥＣＵ２００は、第１回転変動ΔＴが予め定められた失火判定値よりも大きいか否かを判定する。なお、失火判定値を、たとえば前回点火された気筒の燃焼行程における第１回転変動ΔＴに基づいて定めてもよい。また、第１回転変動ΔＴが失火判定値よりも大きいか否かを判定する代わり、現在燃焼行程にある気筒の第１回転変動ΔＴと、位相がクランク角で３６０°異なる対向気筒の第１回転変動ΔＴとの偏差（時間Ｔの２階差分）が、予め定められた失火判定値よりも大きいか否かを判定するように構成してもよい。第１回転変動ΔＴが予め定められた失火判定値よりも大きい場合（Ｓ１１４にてＹＥＳ）、処理はＳ１１６に移される。そうでない場合（Ｓ１１４にてＮＯ）、処理はＳ１２０に移される。
【００４５】
Ｓ１１６にて、ＥＣＵ２００は、今回点火された気筒において失火が発生したと仮判定する。Ｓ１１８にて、ＥＣＵ２００は、失火が発生したと仮判定された気筒の次に点火される気筒の燃焼行程における第２回転変動ΔＴＮを算出する。Ｓ１２０にて、ＥＣＵ２００は、失火が発生していないと判定された気筒の燃焼行程における第２回転変動ΔＴＮ（０）を算出する。算出された第２回転変動ΔＴＮ（０）はＥＣＵ２００のメモリ２０４に記憶される。これにより、メモリ２０４に記憶されていた第２回転変動ΔＴＮ（０）が更新される。
【００４６】
Ｓ１２２にて、ＥＣＵ２００は、第２回転変動ΔＴＮが、メモリ２０４に記憶された第２回転変動ΔＴＮ（０）と予め定められた係数Ｋとの積よりも大きいか否かを判定する。すなわち、第２回転変動ΔＴＮと第２回転変動ΔＴＮ（０）との偏差が、予め定められた値よりも大きいか否かを判定する。係数Ｋは、たとえば２に設定される。第２回転変動ΔＴＮが、メモリ２０４に記憶された第２回転変動ΔＴＮ（０）と係数Ｋとの積よりも大きい場合（Ｓ１２２にてＹＥＳ）、処理はＳ１２４に移される。そうでない場合（Ｓ１２２にてＮＯ）、処理はＳ１２８に移される。
【００４７】
Ｓ１２４にて、ＥＣＵ２００は、実際に失火が発生したと判定する。Ｓ１２６にて、ＥＣＵ２００は、失火の発生回数をインクリメントする。Ｓ１２８にて、ＥＣＵ２００は、クランクシャフト１２８が回転した回数が予め定められた基準値を超えたか否かを判定する。クランクシャフト１２８が回転した回数が基準値を超えた場合（Ｓ１２８にてＹＥＳ）、処理はＳ１３０に移される。そうでない場合（Ｓ１２８にてＮＯ）、処理はＳ１１２に移される。
【００４８】
Ｓ１３０にて、ＥＣＵ２００は、失火の発生回数が予め定められた異常回数を超えたか否かを判定する。失火の発生回数が異常回数を超えた場合（Ｓ１３０にてＹＥＳ）、処理はＳ１３２に移される。そうでない場合（Ｓ１３０にてＮＯ）、処理はＳ１３４に移される。
【００４９】
Ｓ１３２にて、ＥＣＵ２００は、エンジン１００に失火異常が発生していると判定する。失火異常が発生したと判定されると、警告ランプ２２０が点灯させられる。Ｓ１３４にて、ＥＣＵ２００は、クランクシャフト１２８が回転した回数および失火の発生回数をリセットする。
【００５０】
以上のような構造およびフローチャートに基づく、本実施の形態に係る内燃機関の失火判定装置におけるＥＣＵの動作について説明する。
【００５１】
エンジン１００が始動させられると、クランクシャフト１２８が回転した回数のインクリメントが開始され（Ｓ１００）、クランクシャフト１２８がクランク角３０°回転するために必要な時間Ｔの計測が開始される（Ｓ１０２）。
【００５２】
計測された時間Ｔ（１）および時間Ｔ（４）に基づいて、点火された気筒の燃焼行程における第１回転変動ΔＴが算出され（Ｓ１０４）、第１回転変動ΔＴが予め定められた失火判定値よりも小さいか否かが判定される（Ｓ１０６）。
【００５３】
第１回転変動ΔＴが失火判定値よりも小さければ（Ｓ１０６にてＹＥＳ）、今回点火された気筒では、失火が発生していないと判定され（Ｓ１０８）、失火が発生していないと判定された気筒の燃焼行程における第２回転変動ΔＴＮ（０）が算出される（Ｓ１１０）。これにより、Ｓ１１２以降の処理において実行される失火判定の準備が完了する。
【００５４】
第１回転変動ΔＴが失火判定値よりも大きければ（Ｓ１０６にてＮＯ）、回転数カウンタ２０６がカウントしたクランクシャフト１２８が回転した回数および失火カウンタ２０８がカウントした失火の発生回数がリセットされ（Ｓ１３４）、失火が発生していないと判定されるまで、Ｓ１００ないしＳ１０６の処理が繰返される。
【００５５】
失火が発生していない場合における第２回転変動ΔＴＮ（０）が算出されると（Ｓ１１４）、今回点火された気筒の燃焼行程における第１回転変動ΔＴが算出される（Ｓ１１２）。ここでは、第１気筒１２１が点火された場合を想定する。
【００５６】
図４において破線で示すように、第１気筒１２１に実際に失火が発生していれば、クランクシャフト１２８の回転速度が遅くなるために、第１気筒１２１の燃焼行程における第１回転変動ΔＴが、失火判定値よりも大きくなり（Ｓ１１４にてＹＥＳ）、第１気筒１２１において失火が発生したと仮判定され（Ｓ１１６）、第１気筒１２１の次に点火される第３気筒１２３の燃焼行程における第２回転変動ΔＴＮが算出される（Ｓ１１８）。
【００５７】
失火が発生した場合は、遅くなったクランクシャフト１２８の回転速度を戻すために、第３気筒１２３の燃焼行程において、クランクシャフト１２８の回転速度が速められる。したがって、算出された第２回転変動ΔＴＮが、メモリ２０４に記憶された第２回転変動ΔＴＮ（０）と係数Ｋとの積よりも大きくなるため（Ｓ１２２にてＹＥＳ）、第１気筒１２１に失火が発生したと判定され（Ｓ１２４）、失火の発生回数がインクリメントされる（Ｓ１２６）。
【００５８】
一方、点火時期の遅角制御が行なわれていれば、クランクシャフト１２８の回転速度が連続的に遅くされているため、第１気筒１２１の燃焼行程における第１回転変動ΔＴが、失火判定値よりも大きい（Ｓ１１４にてＹＥＳ）にも関わらず、第３気筒１２３の燃焼行程における第２回転変動ΔＴＮが、メモリ２０４に記憶された第２回転変動ΔＴＮ（０）と係数Ｋとの積よりも小さくなる（Ｓ１２２にてＹＥＳ）。したがって、第１気筒１２１に失火は発生していないと判定される。
【００５９】
図４において実線で示すように、第１気筒１２１に失火が発生しておらず、遅角制御も行なわれていなければ、クランクシャフト１２８の回転速度は、各気筒において類似した傾向を示す。この場合、第１気筒１２１の燃焼行程における第１回転変動ΔＴが、失火判定値よりも小さくなるため（Ｓ１１４にてＮＯ）、第１気筒１２１に失火は発生していないと判定される。したがって、第１気筒１２１の燃焼行程における第２回転変動ΔＴＮ（０）が算出され（Ｓ１２０）、メモリ２０６に記憶された第２回転変動ΔＴＮ（０）が更新される。
【００６０】
Ｓ１１２ないしＳ１２６の処理は、クランクシャフト１２８が回転した回数が基準値を下回る限り（Ｓ１２８にてＮＯ）、繰返される。クランクシャフト１２８が回転した回数が基準値を超えると（Ｓ１２８にてＹＥＳ）、失火の発生回数が異常回数を超えたか否かが判定される（Ｓ１３０）。失火の発生回数が異常回数を超えた場合（Ｓ１３０にてＹＥＳ）、エンジン１００に失火異常が発生していると判定され（Ｓ１３２）、警告ランプ２２０が点灯させられる。
【００６１】
失火の発生回数が異常回数内であれば（Ｓ１３２にてＮＯ）、失火の発生回数が許容範囲内であると判定される。失火以上の有無の判定が終了すると、クランクシャフト１２８が回転した回数および失火の発生回数がリセットされる（Ｓ１３４）。
【００６２】
以上のように、本実施の形態に係る内燃機関の失火判定装置において、ＥＣＵは、燃焼行程におけるクランクシャフトの回転変動が、失火判定値よりも大きい場合、点火された気筒に失火が発生したと仮判定する。失火が発生したと仮判定された気筒の次に点火される気筒の回転変動が、失火が発生していない場合における回転変動と係数Ｋとの積よりも大きい場合、失火により遅くなったクランクシャフトの回転速度を戻す制御が行なわれており、実際に失火が発生したと判定する。これにより、実際の失火によるクランクシャフトの挙動と、点火時期の遅角制御や点火プラグの一過性の燻りによるクランクシャフトの挙動とを区別して、失火を判定することができる。その結果、制度よく失火を判定することができる。
【００６３】
今回開示された実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態に係る内燃機関の失火判定装置を搭載した車両を示す制御ブロック図である。
【図２】クランクシャフトの回転挙動を示すタイミングチャートである。
【図３】ＥＣＵが実行するプログラムの制御構造を示すフローチャートである。
【図４】クランクシャフトの回転挙動を示すタイミングチャートである。
【符号の説明】
【００６５】
１００  エンジン、１２１，１２２，１２３，１２４  気筒、１２８  クランクシャフト、１３０  タイミングロータ、１３２  クランクポジションセンサ、２００  ＥＣＵ、２０２  ＣＰＵ、２０４  メモリ、２０６  回転数カウンタ、２０８  失火カウンタ。
【図１】
2005307945.tif 000003
【図２】
2005307945.tif 000004
【図３】
2005307945.tif 000005
【図４】
2005307945.tif 000006