(57)【特許請求の範囲】
【請求項１】
複数気筒からなる内燃機関に発生した失火を検出する内燃機関の失火検出装置であって、
前記内燃機関の出力軸の回転に応じた回転信号を出力する回転信号出力手段と、
前記回転信号に基づき、同機関出力軸の気筒別回転速度を算出する回転速度算出手段と、
爆発行程がｍ回離れた相異なる２つの気筒について、前記気筒別回転速度の変動量を回転変動基本項として算出する回転変動基本項算出手段と、
燃焼サイクルがｓ回離れた同一気筒について、前記気筒別回転速度の変動量を「全気筒数＊ｓ／ｍ」値で割った値を回転変動補正項として算出する回転変動補正項算出手段と、
前記回転変動基本項を前記回転変動補正項にて補正し、該補正後の値に基づいて前記内燃機関の失火の有無を検出する失火検出手段と、
を備えることを特徴とする内燃機関の失火検出装置。
【請求項２】
前記回転変動基本項の算出に際し、爆発行程が連続する２つの気筒について気筒別回転速度の変動量を算出する請求項１に記載の内燃機関の失火検出装置。
【請求項３】
前記回転変動補正項の算出に際し、燃焼サイクルが１回だけ離れた同一気筒について前記気筒別回転速度の変動量を「全気筒数／ｍ」で割った値を、当該補正項とする請求項１又は請求項２に記載の内燃機関の失火検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、内燃機関に発生した失火を機関出力軸の回転速度変動を利用して検出する内燃機関の失火検出装置に関するものである。
【０００２】
【従来の技術】
従来、この種の内燃機関の失火検出装置として、爆発行程が連続する２つの気筒間の回転速度（クランク角速度）の変動量に基づいて失火発生の有無を検出するものがある（例えば、特開平４−３６５９５８号公報）。つまり、内燃機関にあっては一般に、ある気筒の爆発行程において失火が発生すると、そのときの回転速度、すなわち機関出力軸であるクランク軸の回転角速度は小さくなる。このため、こうした回転速度の変化を監視することで、それら気筒毎の失火発生の有無を検出することができるようになる。
【０００３】
特に、上記公報（特開平４−３６５９５８号公報）の失火検出装置では、４ストロークサイクル式多気筒内燃機関において、爆発行程が連続する２つの気筒間の回転速度の変動から第１の変動量を算出すると共に、その第１の変動量を算出した気筒よりも３６０°ＣＡ（クランク角度）前の気筒間に対しても同様にそれらの回転速度の変動から第２の変動量を算出している。そして、第１及び第２の変動量の差分（２階差分）に基づいて内燃機関の失火の有無を検出していた。こうして３６０°ＣＡだけ離れた気筒同士で回転速度変動量の差分を求めることは、偶数個の気筒を有する内燃機関において対向気筒（爆発行程がクランク軸の１回転分だけ離れた気筒を意味する）の回転速度変動を監視することとなり、この場合、回転変動の周期（ばらつき度合）が略一致する回転速度変動量をパラメータとして用いることができる。その結果、失火検出の誤差を削減できるものとしていた。
【０００４】
他方、上記の如く回転速度変動の２階差分により失火検出を実施する手法として、７２０°ＣＡだけ離れた気筒同士、すなわち同一気筒同士でその回転速度の変動量を演算し、その演算結果から失火検出するものも従来より提案されている。この手法では、回転速度の気筒間ばらつき起因する検出誤差が略完全に解消されるようになっていた。
【０００５】
【発明が解決しようとする課題】
ところが、上記従来技術においては、以下に示す問題を生ずる。つまり、上記従来の失火検出装置では、特定のパターンで発生する失火の有無を検出できない場合が生ずる。具体的には、上記したように対向気筒同士（３６０°ＣＡだけ離れた気筒同士）で回転速度変動量の差分を求める場合、その対向気筒が共に連続失火している際に、その失火による回転変動が相殺され、失火発生の旨が検出できなくなる。また、同一気筒同士（７２０°ＣＡだけ離れた気筒同士）で回転速度変動量の差分を求める場合にも、特定の同一気筒が連続失火している際に、失火による回転変動が相殺され、失火発生の旨が検出できなくなる。
【０００６】
本発明は、上記問題に着目してなされたものであって、内燃機関に発生するあらゆる失火パターンを精度良く検出することができる内燃機関の失火検出装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
こうした目的を達成するため、本発明ではその特徴として、爆発行程が「ｍ」回離れた相異なる２つの気筒について、気筒別回転速度の変動量を回転変動基本項として算出すると共に、燃焼サイクルが「ｓ」回離れた同一気筒について、気筒別回転速度の変動量を「全気筒数＊ｓ／ｍ」値で割った値を回転変動補正項として算出する。そして、回転変動基本項を回転変動補正項にて補正し、該補正後の値に基づいて前記内燃機関の失火の有無を検出するようにしている。
【０００８】
なおここで、回転速度の変動量は必ずしもそれ自身でなくともよく、それに相当する値、例えば回転角度偏差であってもよい。更に、この回転角度偏差に相当する値、或いは回転所要時間偏差などもこの回転度変動量に相当する値として用いることができる。また、前記燃焼サイクルとは、内燃機関の吸気行程、圧縮行程、爆発行程及び排気行程からなり、４ストロークサイクル式内燃機関では７２０°ＣＡが１燃焼サイクルに相当する。また、２ストロークサイクル式内燃機関では３６０°ＣＡが１燃焼サイクルに相当する。
【０００９】
要するに、気筒別回転速度を「ω」としたとき、ｎ番気筒での前記回転変動基本項は、
ωn-m −ωn
として表すことができ、これに対して、前記回転変動補正項は、
（ωn-m-N*s −ωn-m ）／（Ｎ＊ｓ／ｍ）
として表すことができる。ここで、Ｎは全気筒数であり、ωn-m-N*s −ωn-m は同一気筒同士の回転変動量を示す。
【００１０】
従って、失火の有無を判定するための最終の回転速度変動量Δωは、次の（１）式として表すことができる。
Δω＝（ωn-m −ωn ）−（ωn-m-N*s −ωn-m ）／（Ｎ＊ｓ／ｍ）・・・（１）
このとき、（１）式を解り易くするために、爆発行程が連続する２つの気筒から回転変動基本項を求めると共に、１燃焼サイクルだけ離れた同一気筒から回転変動補正項を求めることとすると（すなわち、ｍ＝１，ｓ＝１とすると）、上記（１）式は、
Δω＝（ωn-1 −ωn ）−（ωn-1-N −ωn-1 ）／Ｎ      ・・・（２）
となる。
【００１１】
かかる場合、上記（２）式の回転変動基本項（ωn-1 −ωn ）は、失火の発生によりｎ番気筒が前回の気筒（ｎ−１番気筒）に対してどれだけ回転変動しているかを示し、回転変動補正項｛（ωn-1-N −ωn-1 ）／Ｎ｝は、主に加速又は減速時に生じる回転変動の誤差分を示している。
【００１２】
このとき、内燃機関が加速又は減速状態にあり、機関回転速度が略一定幅で上昇又は下降していれば、失火が発生していなくても、前記基本項には加速又は減速による気筒間の回転変動要素が含まれ、失火有りと誤検出するおそれがある。しかし、上記（２）式を用いると、上記加速又は減速による気筒間の回転変動要素が前記補正項により相殺され（Δω＝０となる）、失火の誤検出が防止できる。
【００１３】
またこうした状態下において、実際の失火発生時には、上記（２）式を用いることで、失火による回転変動要素と加減速による回転変動要素とが合成された変動量が前記回転変動基本項（ωn-1 −ωn ）により算出され、その基本項から回転変動補正項｛（ωn-1-N −ωn-1 ）／Ｎ｝を減算することにより、当該失火による回転変動分のみが前記Δω値として抽出されることとなる。そして、このΔω値が所定の失火判定値を上回ることを判定することから、正確な失火検出を実施することができる。
【００１４】
因みに、内燃機関が定常運転（定速走行）されていれば、ωn-1-N ≒ωn-1 となるため、前記回転変動補正項が略「０」となり、前記回転変動基本項（ωn-1 −ωn ）に基づいて失火の有無が検出できる（ωn-1 −ωn ＞失火判定値であれば、失火発生の旨が検出できる）。
【００１５】
一方、対向気筒の連続失火や同一気筒の連続失火等、特定気筒の連続失火が発生した場合、当該失火気筒での回転変動補正項｛（ωn-1-N −ωn-1 ）／Ｎ｝は、機関回転速度の変化にのみ対応したものとなる。すなわち、当該補正項は、車両の加減速時における機関回転速度の変化に伴って、その際の回転変動要素に対応するようになる（但し、定速走行時には「０」となる）。そのため、失火による回転変動要素は、前記回転変動基本項（ωn-1 −ωn ）に含まれ、且つ当該基本項（ωn-1 −ωn ）から前記回転変動補正項｛（ωn-1-N −ωn-1 ）／Ｎ｝を減算したものに合致し、それにより上記（２）式では、気筒毎の失火の有無に応じたデータとして前記Δω値が算出できる。つまり、前記基本項から前記補正項を減算することにより、車両速度変化に伴う回転変動要素が除かれ、失火による回転変動要素のみが抽出されることになる。従って、特定気筒の連続失火の発生に際しても、その失火検出が精度良く実施できる。
【００１６】
以上のように本発明によれば、特定気筒の連続失火が検出できない等といった従来の問題が解消でき、内燃機関に発生するあらゆる失火パターンを精度良く検出することができる。
【００１７】
また、請求項２に記載の発明では、前記回転変動基本項の算出に際し、爆発行程が連続する２つの気筒について気筒別回転速度の変動量を算出することを規定している。すなわち、上記（１）式において、ｍ＝１としている。この場合、微小期間内での回転変動（回転脈動）の影響を受けず、失火による気筒間の回転変動要素を確実に検出できる。従って、失火検出結果の信頼性をより一層高めることができる。
【００１８】
更に、請求項３に記載の発明では、前記回転変動補正項の算出に際し、燃焼サイクルが１回だけ離れた同一気筒について前記気筒別回転速度の変動量を「全気筒数／ｍ」で割った値を、当該補正項とすることを規定にしている。すなわち、上記（１）式において、s＝１としている。この場合、前記Δω値の算出時に必要なデータ数が最小限ですみ、それに必要な記憶容量が削減できる。
【００１９】
【発明の実施の形態】
（第１の実施の形態）
図１に、この発明にかかる内燃機関の失火検出装置についてその第１の実施の形態を示す。
【００２０】
この実施の形態では、内燃機関としてＶ型８気筒の４ストロークサイクル式内燃機関を対象とし、該８気筒の内燃機関に発生した失火を検出する装置について示す。すなわち、同図１に示す本実施の形態の装置において、内燃機関１は、第１気筒（＃１）〜第８気筒（＃８）の８つの気筒を有する内燃機関である。なお、本実施の形態の内燃機関１では、便宜上その点火順序を＃１→＃２→＃３→＃４→＃５→＃６→＃７→＃８とする。
【００２１】
内燃機関１には吸気管２が設けられ、図示しないエアクリーナから導入された吸入空気は、該吸気管２を通じて同機関１に取り込まれる。また、この吸気管２には吸気管圧力センサ３が設けられ、この吸気管圧力センサ３を通じて吸気管２内の圧力ＰＭが逐次検出される。この検出される吸気管２内の圧力ＰＭは、内燃機関１の運転状態を示す１パラメータとして、後述する電子制御装置（以下、ＥＣＵという）９に取り込まれる。
【００２２】
一方、内燃機関１の図示しないクランク軸には、同クランク軸の所定クランク角毎に回転信号ＮＥを出力する、電磁ピックアップ式の回転角センサ５が設けられている。同機関１の回転数等は、この回転角センサ５から出力される回転信号ＮＥに基づいて算出される。そしてこの回転信号ＮＥも、内燃機関１の運転状態を示す１パラメータとして、後述するＥＣＵ９に取り込まれる。
【００２３】
また、内燃機関１には、その各気筒に対する点火時期や点火順序等を制御するためのディストリビュータ７が設けられ、該ディストリビュータ７には更に、それら各気筒を判別するための基準位置信号ＣＹＬを出力する基準位置センサ６が内蔵されている。この基準位置センサ６では、同機関１の例えば第１気筒のピストン１３が最上部、すなわち圧縮上死点（＃１ＴＤＣ）に達する毎に、上記基準位置信号ＣＹＬを同じくＥＣＵ９に対して出力する。なお、ディストリビュータ７自体は通常、内燃機関１からの回転動力を得て、その（１／２）の回転速度で回転する。
【００２４】
また、内燃機関１の冷却水路には、同水路を循環する冷却水の温度を検出するための水温センサ８が設けられ、排気管１４には、燃焼ガスの酸素濃度に基づき空燃比のリッチ／リーンを検出する酸素（Ｏ2 ）センサ１５が設けられている。これら水温センサ８を通じて検出される冷却水の温度、並びに酸素センサを通じて検出される空燃比のリッチ／リーンを示す信号も、機関１の運転状態を示すパラメータとしてＥＣＵ９に取り込まれる。
【００２５】
これら水温センサ８や酸素センサ１５をはじめ、上述した吸気管圧力センサ３、回転角センサ５、及び基準位置センサ６による各検出信号が取り込まれるＥＣＵ９は、同図１に併せ示されるように、ＣＰＵ（中央演算処理装置）９ａをはじめ、制御プログラムや演算処理に必要とされる制御定数等を記憶しておくための読み出し専用メモリであるＲＯＭ９ｂ、演算データ等を一時記憶するいわゆるデータメモリとしてのＲＡＭ９ｃ、図示しないバッテリを通じてその記憶内容がバックアップされるバックアップＲＡＭ９ｄ、及び外部装置との間で信号を入出力処理するためのＩ／０ポート９ｅを有して構成されている。
【００２６】
このＥＣＵ９では、大きくは次の（イ）、（ロ）といった処理を実行する。
（イ）上記センサによる各種検出信号に基づき、内燃機関１の燃料系及び点火系の最適な制御量を演算して、燃料噴射手段であるインジェクタ１０、或いは点火手段であるイグナイタ１１等を的確に制御するための制御信号を出力する。
（ロ）同センサによる各種検出信号に基づき、内燃機関１の各気筒において失火が発生したか否かを検出する。
【００２７】
なお、同ＥＣＵ９において、上記（イ）のインジェクタ１０の駆動に際しては、酸素センサ１５の出力に基づく周知の空燃比フィードバック制御を併せ実行する。また、上記（ロ）の失火が発生したか否かの検出において、失火が発生した旨が判断される場合には、例えば警告ランプ１２を点灯制御して失火の発生を運転者等に知らせると共に、フェイルセーフ処理を適宜実行する。
【００２８】
次に、本実施の形態の失火検出装置の作用について説明する。
図２に示すフローチャートは、本実施の形態におけるメインルーチンである失火検出ルーチンを示し、同ルーチンは、ＥＣＵ９内のＣＰＵ９ａにより実行される。また、図３及び図４は失火の形態を説明するためのものであって、クランク角速度の推移を示す特性線図である。以下、図２〜図４を参照して、同実施の形態にかかる装置の失火検出動作を説明する。
【００２９】
はじめに、図２に示す失火検出ルーチンについて説明する。
この失火検出ルーチンは、前記回転信号ＮＥに基づき認識される内燃機関１のクランク角が３０°ＣＡとなる毎に、角度割り込み処理として起動される。すなわちいま、クランク軸が３０°ＣＡ回転してこうした割り込み条件が成立すると、ＣＰＵ９ａは先ず、ステップ１００にて、本ルーチンの前回の割り込み時刻と今回の割り込み時刻との偏差から、同クランク軸が３０°ＣＡ回転するのに要した時間Ｔ３０ｉを算出する。
【００３０】
そして、ＣＰＵ９ａは、続くステップ１１０で今回の割り込みタイミングが上死点（ＴＤＣ）であるか否かを基準位置信号ＣＹＬに基づいて判別する。同割り込みタイミングがＴＤＣでなければ、ＣＰＵ９ａはステップ１９０に進み、時間Ｔ３０i を１回前の値に書き換える。すなわち、Ｔ３０i をＴ３０i-1 に書き換えると共に、Ｔ３０i-1 をＴ３０i-2 に書き換える。なお、これら時間の添字ｉは同ＣＰＵ９ａによる処理回数を示している。そして、ステップ１９０の処理後、ＣＰＵ９ａは本ルーチンを一旦終了する。
【００３１】
また、同割り込みタイミングがＴＤＣであれば、ＣＰＵ９ａはステップ１２０で上記求めた時間Ｔ３０i についての過去３回分データ（今回値Ｔ３０i 、前回値Ｔ３０i-1 、及び前々回値Ｔ３０i-2 ）を累計して、クランク軸が９０°ＣＡ回転するのに要した時間Ｔ９０i を算出する。
【００３２】
更に、ＣＰＵ９ａは、ステップ１３０で気筒別にクランク軸の角速度（クランク角速度）ωｎ（ｎ＝１〜８）を算出する。詳細には、本実施の形態のように８気筒内燃機関を対象とした場合、前記算出した時間Ｔ９０i を用い、これに基づいて、
ωｎ＝ＫＤＳＯＭＧ／Ｔ９０ｉ    ・・・（３）
といった態様で、クランク角速度ωｎを算出する。この（３）式において、係数ＫＤＳＯＭＧは、クランク軸の回転角速度（ｒａｄ：ラジアン）を求めるための変換係数である。
【００３３】
なお因みに、６気筒の内燃機関を対象とする場合には、同クランク角速度ωｎの算出に際し、クランク軸が１２０°ＣＡ回転するのに要する時間Ｔ１２０ｉが用いられ、４気筒の内燃機関を対象とする場合には、同クランク角速度ωｎの算出に際し、クランク軸が１８０°ＣＡ回転するのに要する時間Ｔ１８０ｉが用いられる。
【００３４】
次に、ＣＰＵ９ａは、ステップ１４０で下記の（４）式を用い、上記求めたクランク角速度ωn に基づいて、ｎ−１番気筒について気筒間の角速度変動量Δωを算出する。
【００３５】
Δω＝（ωn-1 −ωn ）−（ωn-9 −ωn-1 ）／８      ・・・（４）
ここで、ωｎはクランク角速度の今回値、ωn-1 はクランク角速度の前回値である。また、ωn-9 は、前記クランク角速度ωn-1 の気筒と同一気筒について７２０°ＣＡ前のクランク角速度である（添字ｎ−９は、（ｎ−１）−８を意味する）。
【００３６】
かかる場合、上記（４）式右辺の前項（ωn-1 −ωn ）は、相異なる２つの気筒同士の回転変動を表す基本項に相当し、同じく後項｛（ωn-9 −ωn-1 ）／８｝は、１燃焼サイクルだけ離れた同一気筒同士の回転変動を表す補正項に相当する。このとき、基本項（ωn-1 −ωn ）は、失火の発生によりｎ番気筒が前回の気筒（ｎ−１番気筒）に対してどれだけ回転変動しているかを示す。また、補正項｛（ωn-9 −ωn-1 ）／８｝は、主に加速又は減速時により同一気筒間でどれだけ回転変動しているかを示し、これは失火検出にとって回転変動要素の誤差分になりうるものとなっている。
【００３７】
その後、ＣＰＵ９ａは、ステップ１５０で角速度変動量Δωと所定の失火判定値Ｋとを比較し、Δω＞Ｋであれば、ステップ１６０に進む。つまり、ＣＰＵ９ａは、該当気筒に失火が発生していると判断し、ステップ１６０で失火検出フラグＸＭＦに「１」をセットする。
【００３８】
また、Δω≦Ｋであれば、ＣＰＵ９ａは、ステップ１７０に進む。つまり、ＣＰＵ９ａは、該当気筒に失火が発生していないと判断し、ステップ１７０で失火検出フラグＸＭＦを「０」にクリアする。なおここで、失火検出フラグＸＭＦを気筒毎に設け、どの気筒が失火しているかを識別できるようにしておいてもよい。
【００３９】
そして、失火検出フラグＸＭＦに「１」がセットされた場合には、エミッション悪化や触媒の損傷等の不具合が発生しうるとして、前記警告ランプ１２の点灯制御等を通じてその旨を運転者に警報する。
【００４０】
失火検出フラグＸＭＦの操作後、ＣＰＵ９ａは、ステップ１８０で前記ＲＡＭ９ｃに格納されているクランク角速度データに対し、ωn-9 →廃棄、ωn-8 →ωn-9 、ωn-7 →ωn-8 、ωn-6 →ωn-7 、ωn-5 →ωn-6 、ωn-4 →ωn-5 、ωn-3 →ωn-4 、ωn-2 →ωn-3 、ωn-1 →ωn-2 、ωｎ→ωn-1 といったかたちで更新処理を実施し、その後本ルーチンを終了する。
【００４１】
因みに、本実施の形態では、上記図２のルーチンのステップ１３０の処理が請求項記載の回転速度算出手段に相当し、ステップ１４０，１５０の処理が請求項記載の回転変動基本項算出手段、回転変動補正項算出手段及び失火検出手段に相当する。
【００４２】
次いで、上記一連の失火検出動作を図３及び図４を用いてより具体的に説明する。なお、これらの図は、いずれも車両減速時におけるクランク角速度ωの推移を第１〜第８の気筒毎に示すものであって、図３は、単一気筒の失火発生時におけるクランク角速度ωの推移を、図４は、特定気筒連続の失火発生時におけるクランク角速度ωの推移を示す。但し、上記各図において、気筒間の個体差による回転バラツキは微小であるものとして、ここではそれを無視している。
【００４３】
また、図３（ｂ），図４では、いずれも第２気筒（＃２）が失火気筒であるとしており、この第２気筒（＃２）をｎ番気筒とすれば、その直前の第１気筒（＃１）はｎ−１番気筒となり、第１気筒（＃１）の７２０°ＣＡ前の同じく第１気筒（＃１）はｎ−９番気筒となっている。
【００４４】
また特に、これら図３及び図４は、前記した数式、
Δω＝（ωn-1 −ωn ）−（ωn-9 −ωn-1 ）／８      ・・・（４）
を用いることにより、あらゆる失火パターンをも精度良く失火の有無が検出できることを立証するものであり、以下図３及び図４の説明では、上記（４）式を参照しつつ失火検出動作を説明する。
【００４５】
図３（ａ）において、クランク角速度ωが略一定幅で下降していれば、失火が発生していなくても、前記（４）式の基本項（ωn-1 −ωn ）には減速による気筒間の回転変動要素が含まれ（ωn-1 −ωn ＞Ｋとなり）、失火有りと誤検出されるおそれがある。しかし、上記（４）式を用いれば、減速による気筒間の回転変動要素が前記（４）式の補正項｛（ωn-9 −ωn-1 ）／８｝により相殺される。つまり、図３（ａ）では、
ωn-1 −ωn ＝（ωn-9 −ωn-1 ）／８
が成立し、角速度変動量Δωは略「０」となる。従って、失火有りの旨が検出されることはなく、失火の誤検出が防止できる。
【００４６】
また、図３（ｂ）において、実際に失火が発生していれば、前記（４）式の基本項（ωn-1 −ωn ）には、減速による気筒間の回転変動要素と失火による回転変動要素とが含まれ、他方、前記（４）式の補正項｛（ωn-9 −ωn-1 ）／８｝には失火による回転変動要素が含まれない。つまり、図３（ｂ）では、
ωn-1 −ωn ＞（ωn-9 −ωn-1 ）／８
となり、角速度変動量Δωは前記図２のルーチンにおける失火判定値Ｋを超えることとなる。従って、上記（４）式を用いることで当該失火による回転変動分のみがΔωとして抽出され、正確な失火検出が実施できる。
【００４７】
因みに、内燃機関１が定常運転（定速走行）されていれば、ωn-9 ≒ωn-1 となるため、前記補正項｛（ωn-9 −ωn-1 ）／８｝が略「０」となり、基本項（ωn-1 −ωｎ）に基づいて失火の有無が検出できる。
【００４８】
一方、図４に示すように、第２気筒（＃２）の連続失火が発生した場合、当該失火気筒での補正項｛（ωn-9 −ωn-1 ）／８｝は、機関回転速度の変化にのみ対応したものとなる。すなわち、当該補正項は、車両の加減速時には機関回転速度の変化による回転変動要素に対応する（但し、定速走行時には「０」となる）。そのため、失火による回転変動要素は、前記基本項（ωn-1 −ωn ）に含まれ、且つ当該基本項（ωn-1 −ωn ）から前記補正項｛（ωn-9 −ωn-1 ）／８｝を減算したものに合致し、それにより上記（４）式では、気筒毎の失火の有無に応じたデータとして前記Δω値が算出できる。つまり、前記基本項から前記補正項を減算することにより、車両速度変化に伴う回転変動要素が除かれ、失火による回転変動要素のみが抽出されることになる。従って、特定気筒の連続失火の発生に際しても、その失火検出が可能となる。
【００４９】
なお、図示及びその説明は省略するが、同一気筒の連続失火の他に、対向気筒の連続失火時や隣接する気筒の連続失火時にも、その失火発生の旨が上記と同様に検出できることをここに追記しておく。
【００５０】
以上説明したように、同実施の形態にかかる失火検出装置によれば、以下に示す優れた効果が得られる。
（ａ）本実施の形態では、特定気筒の連続失火（同一気筒の連続失火や対向気筒の連続失火等）が検出できない等といった従来の問題が解消でき、内燃機関に発生するあらゆる失火パターンを精度良く検出することができる。
【００５１】
（ｂ）また、前記（４）式の回転変動基本項の算出に際し、連続する２つの気筒についてクランク角速度ωの変化量を算出するようにした（変化量＝ωn-1 −ωn ）。この場合、失火による気筒間の回転変動要素を確実に検出でき、失火検出結果の信頼性をより一層高めることができる。
【００５２】
（ｃ）さらに、前記（４）式の回転変動補正項の算出に際し、７２０°ＣＡだけ離れた同一気筒同士で、すなわち１燃焼サイクルだけ離れた同一気筒同士でクランク角速度ωの変化量を算出するようにした（変化量＝ωn-9 −ωn-1 ）。この場合、前記ＲＡＭ９ｃに格納されているクランク角速度データが全気筒数分＋１だけでよく、燃焼サイクルが２以上離れた同一気筒同士でクランク角速度ωの変化量を算出するような場合と比べて、メモリ容量が軽減できる。
【００５３】
なお、本発明は、上記実施の形態の他にも次の形態にて実現可能である。
（１）上記実施の形態では、失火検出装置を８気筒内燃機関に適用した。その際、角速度変動量Δωを算出するための基本式である、
Δω＝（ωn-m −ωn ）−（ωn-m-N*s −ωn-m ）／（Ｎ＊ｓ／ｍ）
に対し、全気筒数Ｎを「８」，回転変動基本項を求めるためのｍ値を「１」，回転変動補正に用いるｓ値を「１」としたが、これら各値を変更して具体化してもよい。
【００５４】
例えば、同じく８気筒内燃機関（Ｎ＝８）において、ｍ＝１，ｓ＝２とした場合、上記基本式は、
Δω＝（ωn-1 −ωn ）−（ωn-17−ωn-1 ）／１６
となる。
【００５５】
また、同じく８気筒内燃機関（Ｎ＝８）において、ｍ＝２，ｓ＝１とした場合、上記基本式は、
Δω＝（ωn-2 −ωn ）−（ωn-10−ωn-2 ）／４
となる。また上記組み合わせに限らず、ｍ，ｓを適宜設定することも可能である。
【００５６】
さらに、例えば６気筒内燃機関（Ｎ＝６）或いは４気筒内燃機関（Ｎ＝４）において、ｍ＝１，ｓ＝１とした場合、上記基本式は、
Δω＝（ωn-1 −ωn ）−（ωn-7−ωn-1 ）／６
Δω＝（ωn-1 −ωn ）−（ωn-5−ωn-1 ）／４
となる。
【００５７】
これら何れの場合にも、上記実施の形態と同様に、内燃機関１に発生するあらゆる失火パターンを精度良く検出することができる。要は、上記基本式から得られる角速度変動量Δωに基づいて失火の有無を検出する構成、すなわち、爆発行程がｍ回離れた相異なる２つの気筒について算出した回転変動基本項と、燃焼サイクルがｓ回離れた同一気筒について気筒別回転速度の変動量を「全気筒数＊ｓ／ｍ」値で割った値から算出した回転変動補正項と、に基づいて内燃機関の失火の有無を検出する構成をとるものであれば、本発明の目的が達せられることとなる。
【００５８】
（２）角速度変動量△ωと失火判定値Ｋとを比較し、△ω＞Ｋあれば、失火数を計数する失火カウンタを「１」ずつインクリメントする。そして、点火数が所定点火数（例えば、５００）に達した際に、前記失火カウンタと所定の判定値（例えば、１００）とを比較し、当該カウント値が判定値を越えていれば、失火検出フラグＸＭＦに「１」をセットするようにしてもよい。
【００５９】
（３）本発明の構成ではその前提として、少なくとも１燃焼サイクル（７２０°ＣＡ）内では定常走行時や加減速時に機関の回転脈動が殆どないものとし、失火による回転変動のみを抽出するようにしている。そのため、急加速時や急減速時等、過渡運転時等、１燃焼サイクル内における回転脈動が生ずる際には、既述した失火検出処理を一時的に中断することが望ましい。具体的には、単位時間当たりのスロットル開度の変化量や吸入空気量の変化量が所定レベルを超えた際には、失火検出を中断するようにすればよい。
【００６０】
（４）上記実施の形態では、気筒別回転速度としてクランク角速度ωを用いたが、これを変更してもよい。例えば連続する２つの気筒のＴＤＣ間に要する時間を気筒別回転速度として用いたり、当該時間の逆数を気筒別回転速度として用いてもよい。
【００６１】
（５）上記した失火検出に際し、電磁ピックアップ式の回転角センサ５が生じる気筒間のクランク角速度偏差をなくすべく、学習処理を実施してもよい。つまり、回転角センサ５は、
・ロータ被検出部の製造公差や、
・ロータ被検出部と電磁ピックアップとの間のエアギャップのばらつき、
といった要因から気筒間で検出誤差を生じる。
【００６２】
そこで、逐次取り込まれる吸気管圧力ＰＭ、回転信号ＮＥ、及び基準位置信号ＣＹＬに基づいて気筒間のクランク角偏差（公差）を学習制御する。それを略述すれば、上記８つの気筒のうち、第１気筒（＃１）に対する第２〜第８気筒（＃２〜＃８）のクランク角偏差を学習するものとし、大きくは、次の（イ）及び（ロ）の処理を実行する。
（イ）上記クランク軸が９０°ＣＡ回転するのに要した時間Ｔ９０ｉに基づいて上記第１気筒（＃１）に対する第２〜第８気筒（＃２〜＃８）のクランク角偏差Δθｎ（ｎ＝２〜８）を気筒別に、且つ内燃機関１の運転条件の別に所定数ずつ積算する。
（ロ）内燃機関１が正常点火されていることを条件に、上記クランク角偏差Δθｎの気筒別、且つ運転条件別の積算値を平均すると共に、その平均値に更になまし処理（徐変処理）を施して、これを同クランク角偏差についての学習値ΔθｎＬとする。
【００６３】
そして、既述した８気筒内燃機関のクランク角速度ωｎの算出に際して、クランク軸が９０°ＣＡ回転するのに要した時間Ｔ９０ｉ及び前記学習値ΔθｎＬを用い、
ωｎ＝（ＫＤＳＯＭＧ−ΔθｎＬ）／Ｔ９０ｉ
といった態様で、当該クランク角速度ωｎを算出する。このΔθｎＬ値は、逐次更新され、バックアップＲＡＭ９ｄ内に気筒別に各々登録される。こうした学習処理により、失火検出の精度がより一層高められる。
【００６４】
（６）以上の実施の形態では、４ストロークサイクル式内燃機関を対象として失火検出装置を具現化したが、２ストロークサイクル式内燃機関にも本発明を適用することができる。この場合には、１燃焼サイクルに要するクランク角が３６０°ＣＡとして取り扱われる。
【図面の簡単な説明】
【図１】この発明にかかる失火検出装置の一実施の形態を示す構成図。
【図２】同実施の形態における失火検出ルーチンを示すフローチャート。
【図３】単一気筒の失火発生時におけるクランク角速度の推移を示す特性線図。
【図４】特定気筒の連続失火発生時におけるクランク角速度の推移を示す特性線図。
【符号の説明】
１…内燃機関、５…回転信号出力手段としての回転角センサ、９…ＥＣＵ（電子制御装置）、９ａ…回転速度算出手段，回転変動基本項算出手段，回転変動補正項算出手段，失火検出手段を構成するＣＰＵ、９ｂ…ＲＯＭ、９ｃ…ＲＡＭ、９ｄ…バックアップＲＡＭ。
【図１】
0003743073.tif 000002
【図２】
0003743073.tif 000003
【図３】
0003743073.tif 000004
【図４】
0003743073.tif 000005