(57)【特許請求の範囲】
【請求項１】
点火時期が制御される複数気筒を有するエンジンのクランクシャフトの角速度を所定の回転角度毎に検出するための角速度検出手段と、
前記所定の回転角度毎に検出される角速度に基づいて前記各気筒の燃焼行程に対応する回転変動量を算出するための回転変動量算出手段と、
今回算出される回転変動量と今回より３６０°ＣＡ前に算出された回転変動量との偏差を所定の判定値と比較することにより前記各気筒の燃焼行程に対応する失火を判定するための失火判定手段と
を備えたエンジンの失火検出装置において、
前記回転変動量算出手段は、前記各気筒の燃焼行程において異なる二つの時期に検出される角速度の差を回転変動量として算出することと、
前記異なる二つの角速度が検出される時期の少なくとも一方を前記制御される点火時期の違いに応じて補正するための時期補正手段とを備え、
前記異なる二つの角速度が検出される時期は、前記角速度が極小となる時期及び極大となる時期であることと、
前記時期補正手段により補正される時期は、前記角速度が極大となる方の時期であることと、
を特徴とするエンジンの失火検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、クランクシャフトの角速度の変動に基づいてエンジンの失火を検出するようにしたエンジンの失火検出装置に関する。
【０００２】
【従来の技術】
エンジンの失火（ミスファイヤ）は、エンジンの燃焼室に吸入された混合気が完全に燃焼しないことを意味する。このため、失火が発生すると、未燃焼の混合気が排気ガスと共にエンジンから排出され、エンジンの出力低下や回転変動を招くという問題がある。そこで、この問題に対処するために、エンジンの失火を検出するようにした失火検出装置が種々提案されている。
【０００３】
実開平４−１９６４３号公報は、この種の失火検出装置の一例を開示する。この失火検出装置は、ノッキング制御等により点火時期が遅角されるのに伴い、図６に示すように、最大燃焼圧力の発生時期が実線で示す状態から１点鎖線で示す状態へ遅角されたときに、その遅角の影響を抑え、クランクシャフトの回転角変動に基づいて行われる失火の判定精度を高めるようにしている。そのために、この失火検出装置では、複数気筒を有するエンジンにおいて、各気筒に対応した基準クランク角位置で基準信号を発するクランク角センサと、この基準クランク角位置からの回転角度を検出するためのリングギアセンサとを設けている。そして、コントロールユニットは、基準クランク角位置を基準として計測が開始される計測開始クランク角位置から計測が終了する計測終了クランク角位置までクランクシャフトが回転するのに要する所要時間を各気筒毎に順次に計測し、それら計測される所要時間の変動に基づいて失火を判定し、計測開始クランク角位置及び計測終了クランク角位置を、点火時期の違いに応じて可変的に設定するようにしている。
【０００４】
失火検出のためにコントロールユニットが行う具体的な処理内容を図８にフローチャートに示す。即ち、ステップ５００では、種々の条件が失火判定の可能な診断領域内にあるか否かを判断する。診断領域内にない場合、ステップ５０２で、所要時間Ｔの計測を停止し、更にステップ５１３で、後述するＴＲＡＶＭＸ等の値をクリアする。診断領域内にある場合、ステップ５０３で、所要時間Ｔの計測を開始する。
図７に示すように、１２０°ＣＡ毎にクランク角センサから出力されるＲＥＦ信号が検出された後、リングギアセンサの出力パルスのカウントが開始され、計測開始クランク角位置に対応する個数（例えばＰ１個）の歯数が検出された時点でプリセットカウンタにより第１のトリガが出力される。更に、ＲＥＦ信号の検出から計測終了クランク角位置に対応する個数（例えばＰ２個）の歯数が検出された時点でプリセットカウンタにより第２のトリガが出力される。そして、第１のトリガから第２のトリガまでの期間が所要時間Ｔとして計測される。ここでは、エンジンの気筒数をＮとし、最新の所要時間Ｔ１、その前の所要時間Ｔ２、更にその前の所要時間Ｔ３、・・・所要時間Ｔ（Ｎ＋１）というように（Ｎ＋１）個のデータが、順次更新される形でメモリに保存され、それらが失火判定のために使用される。
その後、ステップ５０４で、複数の所要時間Ｔ１〜Ｔ（Ｎ＋１）のデータに基づいてラフネス度ＲＯを逐次演算する。ラフネス度ＲＯは、所要時間Ｔの偏差を所要時間Ｔの平均値で除したものである。ラフネス度ＲＯは、所要時間Ｔが計測される度、即ちＲＥＦ信号が出力される度に演算される。従って、個々の気筒番号ｎのＲＥＦ信号について演算されたラフネス度ＲＯは各気筒のラフネス度ＲＯ（ｎ）として定義され、点火順序に従ったラフネス度ＲＯ（ｎ）が順次求められる。ラフネス度ＲＯは、クランクシャフトの角速度に変動が全く無ければ「０」となる。失火があれば、対応する気筒のラフネス度ＲＯは負の値を示し、その他の気筒のラフネス度ＲＯは相対的に正の値を示すことになる。
次に、ステップ５０５で、ラフネス度ＲＯ（ｎ）の絶対値の移動平均ＴＲＡＶＬＵを、ＲＥＦ信号が出力される度に演算する。
次に、ステップ５０６で、移動平均ＴＲＡＶＬＵをデータ収集期間中の過去の最大値ＴＲＡＶＭＸと比較し、これを上回った場合には、新たな最大値ＴＲＡＶＭＸとしてメモリ内容を更新する。
その後、ステップ５０７で、各気筒ｎの正負規則性を示す指標ＦＵ（ｎ）を演算する。即ち、ある気筒ｎのラフネス度ＲＯ（ｎ）が正であれば指標ＦＵ（ｎ）をインクリメントし、負であれば指標ＦＵ（ｎ）はデクリメントする。ある気筒ｎで失火が繰り返し起こるときには、その気筒ｎの指標ＦＵ（ｎ）は負側に大きく減少することになる。
次に、ステップ５０８で、リングギアの欠け歯を検出する。更に、ステップ５０９で、演算された移動平均ＴＲＡＶＬＵの値が所定の基準値ＴＲＡＶＣＯ以上であるか否かを判断する。この判断が肯定の場合のみ、ステップ５１０で、第１のパラメータＭＭＦ１の値をインクリメントする。
そして、ステップ５１１で、所定のデータ収集期間が経過したか否かを判断する。このデータ収集期間が経過する場合のみ、ステップ５１２で、故障判定、即ち失火判定を行う。この判定は、前述したラフネス度ＲＯから求められる移動平均ＴＲＡＶＬＵの最大値ＴＲＡＶＭＸ及び指標ＦＵ（ｎ）の値に基づいて行われる。その後、ステップ５１３で、ＴＲＡＶＭＸ等の値をクリアし、その後の処理を一旦終了する。
【０００５】
【発明が解決しようとする課題】
しかしながら、前記従来の失火検出装置では、失火判定を行うために、ラフネス度ＲＯが参照される。このラフネス度ＲＯが、第１のトリガから第２のトリガまでの所要時間Ｔにつき、今回の所要時間Ｔとその１サイクル前（７２０°ＣＡ前）の前回の所要時間Ｔとの偏差を所要時間Ｔの平均値で除したものとして各気筒毎に定義される。従って、ラフネス度ＲＯにつき、正常時の値と失火時の値との間で区別がつき難く、これにより、ラフネス度ＲＯから求められる最大値ＴＲＡＶＭＸ及び指標ＦＵ（ｎ）についても正常時の値と失火時の値との間で区別がつき難くなる傾向にあった。このため、失火の判定精度が低下するおそれがあった。
【０００６】
この発明は上記事情に鑑みてなされたものであって、その目的は、クランクシャフトの角速度の変動に基づいて失火を判定すると共に点火時期の違いに応じて失火を判定するものにおいて、失火の検出精度を向上させることを可能にしたエンジンの失火検出装置を提供することにある。
【０００７】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明は、点火時期が制御される複数気筒を有するエンジンのクランクシャフトの角速度を所定の回転角度毎に検出するための角速度検出手段と、所定の回転角度毎に検出される角速度に基づいて各気筒の燃焼行程に対応する回転変動量を算出するための回転変動量算出手段と、今回算出される回転変動量と今回より３６０°ＣＡ前に算出された回転変動量との偏差を所定の判定値と比較することにより各気筒の燃焼行程に対応する失火を判定するための失火判定手段とを備えたエンジンの失火検出装置において、回転変動量算出手段は、各気筒の燃焼行程において異なる二つの時期に検出される角速度の差を回転変動量として算出することと、異なる二つの角速度が検出される時期の少なくとも一方を制御される点火時期の違いに応じて補正するための時期補正手段と、前記異なる二つの角速度が検出される時期は、前記角速度が極小となる時期及び極大となる時期であることと、前記時期補正手段により補正される時期は、前記角速度が極大となる方の時期であることと、を備えたことを趣旨とする。
【０００８】
上記の発明の構成によれば、点火時期が制御されることにより、各気筒の燃焼行程における燃焼圧力の極大時期が変わる。ここで、角速度検出手段により検出される個々の角速度に基づいて各気筒の燃焼行程に対応する回転変動量が回転変動量算出手段により算出される。そして、今回算出される回転変動量と今回より３６０°ＣＡ前に算出された回転変動量との偏差が所定の判定値と比較されることにより、各気筒の燃焼行程に対応する失火が失火判定手段により判定される。例えば、今回算出される回転変動量が正常時のものであり、今回より３６０°ＣＡ前に算出された回転変動量も正常時のものである場合には、回転変動量の偏差が相対的に小さくなり、正常判定がなされることになる。一方、今回算出される回転変動量が失火時のものであり、今回より３６０°ＣＡ前に算出された回転変動量が正常時のものである場合には、回転変動量の偏差が相対的に大きくなり、失火判定がなされることになる。
特に、この発明では、各気筒の燃焼行程において異なる二つの時期に検出される角速度の差が回転変動量として回転変動量算出手段により算出される。そして、上記異なる二つの角速度が検出される時期の少なくとも一方が点火時期の違いに応じて時期補正手段により補正される。
従って、この発明では、各気筒に対応して算出される回転変動量が、異なる二つの角速度の差によって明確に定義されることになる。しかも、各気筒に対応した回転変動量を算出するために参照される異なる二つの角速度が検出される時期の少なくとも一方が、点火時期の違いに応じて補正される。例えば、点火時期が遅角されるか否かにより角速度の検出時期が補正される。このため、それら二つの角速度が検出される時期が、点火時期の違いにより変わる燃焼圧力の極大時期に応じて補正され、各気筒の間で均質に定義された回転変動量が失火判定のために使われることになる。
【０００９】
【００１０】
上記の発明の構成によれば、極小の角速度と極大の角速度とにより回転変動量が算出され、その極大の角速度が検出される時期が、点火時期の違いに応じて補正されることになる。
従って、各気筒に対応して算出される回転変動量が、極小の角速度と極大の角速度との差によって明確に定義されることになる。しかも、その極大の角速度が点火時期の違いに応じて補正される。このため、極大の角速度が検出される時期が、点火時期の違いにより変わる燃焼圧力の極大時期に応じて補正されることになり、各気筒の間で均質に定義された回転変動量が失火判定のために使われることになる。
【００１１】
【００１２】
【００１３】
【発明の実施の形態】
以下、本発明（請求項１〜３に係る発明）のエンジンの失火検出装置を具体化した一実施の形態を図面を参照して詳細に説明する。
【００１４】
図１には、自動車に搭載されたエンジンシステムに係る概略構成を示す。エンジン１は周知の構造を有する多気筒タイプのものであり、この実施の形態では、１番気筒＃１〜６番気筒＃６の６つの気筒を有するものである。エンジン１は、吸気通路２を通じて供給される燃料及び空気、即ち可燃混合気を、各気筒＃１〜＃６の燃焼室で爆発・燃焼させ、その燃焼後の排気ガスを排気通路３を通じて排出させることにより、ピストン（図示しない）を駆動させクランクシャフト４を回転させて動力を得るものである。
【００１５】
吸気通路２に設けられたスロットルバルブ５は、同通路２を流れて各気筒＃１〜＃６に吸入される空気量（吸気量）Ｑａを調節するために開閉されるものである。このバルブ５は、運転席に設けられたアクセルペダル６の操作に連動して作動するものである。スロットルバルブ５に対して設けられたスロットルセンサ２１は、このバルブ５の開度（スロットル開度）ＴＡを検出し、その検出値に応じた電気信号を出力するものである。吸気通路２に設けられた吸気圧センサ２２は、スロットルバルブ５より下流の吸気通路２における吸気圧力ＰＭを検出し、その検出値に応じた電気信号を出力するものである。
【００１６】
各気筒＃１〜＃６に対応する吸気ポートに設けられた複数のインジェクタ７は、各気筒＃１〜＃６に対応して燃料を噴射供給するためのものである。これらインジェクタ７は、共通するデリバリパイプ８に設けられる。デリバリパイプ８は、燃料タンク９から圧送される燃料を、各インジェクタ７へ分配するためのものである。
【００１７】
各気筒＃１〜＃６に対応してエンジン１に設けられた複数の点火プラグ１０は、ディストリビュータ１１から分配される点火信号を受けて作動する。ディストリビュータ１１は、イグナイタ１２から出力される高電圧をクランクシャフト４の回転角、即ち「クランク角（°ＣＡ）」の変化に対応して各点火プラグ１０へ分配するものである。各点火プラグ１０の作動時期、即ち点火時期は、イグナイタ１２から出力される高電圧の出力タイミングにより決定される。従って、イグナイタ１２を制御することにより、各気筒＃１〜＃６における各点火プラグ１３による点火時期が制御される。
【００１８】
排気通路３に設けられた酸素センサ２３は、各気筒＃１〜＃６から同通路３へ排出される排気ガス中の酸素濃度Ｏｘを検出し、その検出値に応じた電気信号を出力するものである。
【００１９】
ディストリビュータ１１に設けられた回転速度センサ２４は、クランクシャフト４の角速度、即ち、エンジン回転速度ＮＥを検出し、その検出値に応じた電気信号を出力するものである。ディストリビュータ１１には、クランクシャフト４の回転に連動して回転すると共に外周に複数の歯を有するロータ（図示しない）が内蔵される。回転速度センサ２４は、このロータと、ロータの外周に対向配置された電磁ピックアップ（図示しない）とを備える。このロータの回転に伴って電磁ピックアップが各歯の通過を検出する毎に、回転速度センサ２４からは一つのパルス信号が出力される。この実施の形態では、クランク角が３０°ＣＡ進む毎に、回転速度センサ２４から一つのパルス信号が出力されることになる。この実施の形態では、回転速度センサ２４により、クランクシャフト４の角速度を所定の回転角度毎、即ち「３０°ＣＡ」毎に検出するための角速度検出手段が構成される。
同じく、ディストリビュータ１１には、ロータの回転に応じてクランク角の変化を所定の割合で検出するための気筒判別センサ２５が設けられる。この実施の形態では、１番気筒＃１〜６番気筒＃６の全てが順次に燃焼行程を終了するまでにクランクシャフト４が２回転するものとして、７２０°ＣＡ毎の割合で、気筒判別センサ２５から基準位置信号ＧＳとしての一つのパルス信号が出力されるようになっている。
エンジン１に設けられ水温センサ２６は、エンジン１の内部を流れる冷却水の温度（冷却水温）ＴＨＷを検出し、その検出値に応じた電気信号を出力するものである。
【００２０】
この実施の形態において、上記のスロットルセンサ２１、吸気圧センサ２２、酸素センサ２３、回転速度センサ２４、気筒判別センサ２５及び水温センサ２６等は、エンジン１の運転状態を検出するための運転状態検出手段を構成する。
【００２１】
前述した各インジェクタ７、デリバリパイプ８及び燃料タンク９等は燃料供給装置を構成する。燃料タンク９はガソリン等の燃料を貯留するものである。燃料タンク９に内蔵された電動式の燃料ポンプ１３は、同タンク９内の燃料を汲み上げ、吐出するものである。燃料ポンプ１３の吐出ポート側に接続された燃料パイプ１４は、燃料フィルタ１５を介してデリバリパイプ８に接続される。ここで、燃料ポンプ１３が作動することにより、燃料タンク９内の燃料は、同ポンプ１３から燃料パイプ１４へと吐出され、燃料フィルタ１５で異物が除去された後、デリバリパイプ８へと圧送され、各インジェクタ７へ分配される。各インジェクタ７に圧送された燃料は、それらインジェクタ７の作動に伴い吸気ポートへと噴射さ、各気筒＃１〜＃６へと供給される。
【００２２】
運転席に設けられた警告ランプ１６は、エンジン１に異常が発生した場合に点灯してその異常の発生を運転者に警告するためのものである。
【００２３】
この実施の形態で、電子制御装置（ＥＣＵ）３０は、前述したスロットルセンサ２１、吸気圧センサ２２、酸素センサ２３、回転速度センサ２４、気筒判別センサ２５及び水温センサ２６等から出力される各種信号を入力する。ＥＣＵ３０は、これらの入力信号に基づき、空燃比制御を含む燃料噴射制御、点火時期制御及びエンジン１の失火検出等を実行するために、各インジェクタ７、イグナイタ１２及び警告ランプ１６等をそれぞれ制御する。
【００２４】
ここで、燃料噴射制御とは、エンジン１の運転状態に応じて各インジェクタ７から噴射される燃料量（燃料噴射量）及びその噴射タイミングを制御することである。
空燃比制御とは、少なくとも酸素センサ２３の検出値に基づいてエンジン１における空燃比をフィードバック制御することである。
点火時期制御とは、エンジン１の運転状態に応じてイグナイタ１２を制御することにより、各点火プラグ１０による点火時期を制御することである。この実施の形態では、例えば、ノッキング制御等において点火時期が遅角されるようになっている。この点火時期の遅角により、各気筒＃１〜＃６の燃焼行程で燃焼圧力が極大となる時期が遅角されることになり、これに伴い各気筒＃１〜＃６におけるクランクシャフト４の角速度の周期的な変動に係る位相が遅角されることになる。失火検出とは、クランクシャフト４の角速度の変動に基づいてエンジン１の失火を検出することである。
【００２５】
この実施の形態で、ＥＣＵ３０は、本発明の回転変動量算出手段、失火判定手段及び時期補正手段に相当する。このＥＣＵ３０は中央処理装置（ＣＰＵ）、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）及びバックアップＲＡＭ等よりなる周知の構成を備えたものである。ＲＯＭは、前述した各種制御に係る所定の制御プログラムを予め記憶している。ＥＣＵ（ＣＰＵ）３０は、これらの制御プログラムに従って前述した各種制御等を実行する。
【００２６】
次に、ＥＣＵ３０が実行する各種制御のうち、エンジン１の失火検出のための処理内容について説明する。図２に失火検出に関する「３０°ＣＡ割り込みルーチン」のフローチャートを示す。図３に失火検出におけるクランク角、カウント値ＣＣＲＮＫ、所要時間Ｔ３０、回転変動量の偏差ＤＬＴＭＦＬ及び燃焼圧力の挙動をそれぞれ示す。図４に図３の一部を拡大して示す。
【００２７】
ＥＣＵ３０は、このルーチンを回転速度センサ２４からのパルス信号に基づいて３０°ＣＡ毎の割り込みにより実行する。
【００２８】
処理がこのルーチンへ移行すると、先ずステップ１００で、ＥＣＵ３０は、回転速度センサ２４及び気筒判別センサ２５からの信号に基づき、エンジン回転速度ＮＥのパルス信号、基準位置信号ＧＳのパルス信号をそれぞれ読み込む。
【００２９】
次に、ステップ１０１で、ＥＣＵ３０は、前回の３０°ＣＡの割り込みから今回の３０°ＣＡの割り込みまでの所要時間Ｔ３０を算出する。この所要時間Ｔ３０は、回転速度センサ２４により３０°ＣＡ毎に検出されるクランクシャフト４の微小角速度に相当するものであり、角速度が高いときに小さくなり、角速度が低いときに大きくなるものである。つまり、この所要時間Ｔ３０は、個々の角速度の逆数に比例するものである。この実施の形態では、３０°ＣＡ毎の所要時間Ｔ３０が３０°ＣＡ毎の角速度に相当するものとして、３０°ＣＡ毎の角速度を、大小の関係は逆になるものの、３０°ＣＡ毎の所要時間Ｔ３０に置き換えて表すものとする。
【００３０】
その後、ステップ１０２で、ＥＣＵ３０は、気筒判別フラグＹＧが「１」であるか否かを判断する。この気筒判別フラグＹＧは、気筒判別センサ２５が７２０°ＣＡ毎のタイミングで基準位置信号ＧＳを出力するときに「１」にセットされるものである。従って、ここでは回転速度センサ２４から出力されるパルス信号による今回の３０°ＣＡの割り込みと、気筒判別センサ２５から７２０°ＣＡ毎に出力される基準位置信号ＧＳとが一致しているか否かが判断されることになる。
【００３１】
そして、ステップ１０２で、気筒判別フラグＹＧが「１」である場合、ステップ１０３で、ＥＣＵ３０はクランク角の進度を段階的に表すカウント値ＣＣＲＮＫを「０」にリセットする。この実施の形態では、図３に示すように、１番気筒＃１のピストンが上死点（ＴＤＣ）となるタイミングをクランク角で「０°ＣＡ」と定義し、そのタイミングに対応するカウント値ＣＣＲＮＫを「０」と表すようにしている。そして、最終的に６番気筒＃６の燃焼行程が終了するタイミングをクランク角で「７２０°ＣＡ」と定義し、そのタイミングに対応するカウント値ＣＣＲＮＫを「２３」と表すようにしている。
【００３２】
一方、ステップ１０２で、気筒判別フラグＹＧが「０」である場合、ＥＣＵ３０は、ステップ１０４で、カウント値ＣＣＲＮＫを「１」だけインクリメントし、ステップ１０５で、そのカウント値ＣＣＲＮＫが「２３」よりも大きいか否かを判断する。図３（ａ），（ｂ）に示すように、全ての気筒＃１〜＃６が連続的に燃焼行程を終了するまでに、即ちクランクシャフト４が２回転（７２０°ＣＡ）するまでに回転速度センサ２４から３０°ＣＡ毎のパルス信号が２４個出力されることになる。従って、ステップ１０５では、６番気筒＃６の燃焼行程が終了して次の１番気筒＃１の燃焼行程へ移行するタイミングであるか否かが判断されることになる。ここで、カウント値ＣＣＲＮＫが「２３」よりも大きい場合、ＥＣＵ３０は処理をステップ１０３へ移行する。カウント値ＣＣＲＮＫが「２３」よりも大きくない場合、ＥＣＵ３０は処理をステップ１０６へ移行する。
【００３３】
ステップ１０３又はステップ１０５から移行してステップ１０６において、ＥＣＵ３０は、別途実行される点火時期制御で算出される点火時期に関する遅角値を読み込む。即ち、ＥＣＵ３０は、ノッキング制御等のために点火時期が遅角された場合の遅角値を読み込む。
【００３４】
そして、ステップ１０７で、ＥＣＵ３０は、後述する回転変動量の偏差ＤＬＴＭＦＬを算出するタイミングを、読み込まれた遅角値に応じて補正する。即ち、この実施の形態では、各気筒＃１〜＃６の燃焼行程に対応して、点火時期が遅角されていない場合には、カウント値ＣＣＲＮＫが「３，７，１１，１５，１９，２３」となるときを各気筒＃１〜＃６に対応した偏差ＤＬＴＭＦＬの算出タイミングとするようにしている。これに対して、点火時期が遅角されている場合には、カウント値ＣＣＲＮＫが「４，８，１２，１６，２０，１」となるときを各気筒＃１〜＃６に対応した偏差ＤＬＴＭＦＬの算出タイミングとして補正するようにしている。
【００３５】
その後、ステップ１０８で、ＥＣＵ３０は偏差ＤＬＴＭＦＬの算出タイミングであるか否かを判断する。即ち、カウント値ＣＣＲＮＫが、点火時期に遅角補正がない場合の「３，７，１１，１５，１９，２３」であるか、或いは、点火時期に遅角補正がある場合の「４，８，１２，１６，２０，１」であるか否かを判断する。この判断が否定である場合、ＥＣＵ３０は後述するステップ１１４で、所要時間Ｔ３０からメモリに置き換えられる所要時間Ｔ３１を、それ以前の所要時間Ｔ３２としてメモリに置き換えたり、所要時間Ｔ３２を、それ以前の所要時間Ｔ３３としてメモリに置き換えたりする。その後、ステップ１１４で、ＥＣＵ３０は今回の所要時間Ｔ３０を前回の所要時間Ｔ３１としてメモリに置き換え、その後の処理を一旦終了する。
【００３６】
一方、ステップ１０８の判断が肯定である場合、ＥＣＵ３０はステップ１１０で偏差ＤＬＴＭＦＬを算出する。即ち、この実施の形態では、点火時期に遅角補正がない場合に、図３（ｃ），（ｅ）及び図４に実線で示すように、各気筒＃１〜＃６の燃焼行程に対応した燃焼圧力の極大値がＡＴＤＣ３０°ＣＡのタイミングで発生することから、そのとに極小となる所要時間を「Ｔ３０」と定義し、それよりも６０°ＣＡ前の所要時間Ｔ３２との回転変動量ｔＤＴ３ＸＤを算出する（次式（１）参照）。そして、今回の回転変動量ｔＤＴ３ＸＤとその３点火前（３６０°ＣＡ前）の回転変動量ｔＤＴ３ＸＤ（ｉ−１）との差を回転変動量ｔＤＴ３ＸＤの偏差ＤＬＴＭＦＬとして算出する（次式（２）参照）。
ｔＤＴ３ＸＤ＝Ｔ３０−Ｔ３２                          …（１）
ＤＬＴＭＦＬ＝ｔＤＴ３ＸＤ−ｔＤＴ３ＸＤ（ｉ−１）    …（２）
しかし、点火時期が遅角補正された場合には、図３，４に二点鎖線で示すように、燃焼圧力の極大値がＡＴＤＣ３０°ＣＡからＡＴＤＣ６０°ＣＡまで遅れることになる。そこで、この実施の形態では、点火時期に遅角補正がある場合に、図３（ｃ），（ｅ）及び図４に二点差線で示すように、燃焼圧力が極大となるＡＴＤＣ６０°ＣＡのときに極小となる所要時間を「Ｔ３０」と定義し、それよりも９０°ＣＡ前の所要時間Ｔ３３との回転変動量ｔＤＴ３ＸＤを算出する（次式（３）参照）。そして、今回の回転変動量ｔＤＴ３ＸＤとその３点火前（３６０°ＣＡ前）の回転変動量ｔＤＴ３ＸＤ（ｉ−１）との差を回転変動量ｔＤＴ３ＸＤの偏差ＤＬＴＭＦＬとして算出する（次式（４）参照）。
ｔＤＴ３ＸＤ＝Ｔ３０−Ｔ３３                          …（３）
ＤＬＴＭＦＬ＝ｔＤＴ３ＸＤ−ｔＤＴ３ＸＤ（ｉ−１）    …（４）
【００３７】
その後、ステップ１１１で、ＥＣＵ３０は、算出された偏差ＤＬＴＭＦＬの値が所定の失火判定値ＬＶＬＭＦＬよりも大きいか否かを判断する。ここで、偏差ＤＬＴＭＦＬが失火判定値ＬＶＬＭＦＬよりも大きくない場合、ステップ１１２で、ＥＣＵ３０はエンジン１に失火が発生していないものとして正常判定処理を実行する。例えば、その処理として、ＥＣＵ３０は、警告ランプ１６を消灯させたり、正常判定コードをバックアップＲＡＭに記憶させたりする。そして、ＥＣＵ３０は、ステップ１１４で所要時間Ｔ３０を所要時間Ｔ３１に置き換え、その後の処理を一旦終了する。
一方、偏差ＤＬＴＭＦＬが失火判定値ＬＶＬＭＦＬよりも大きい場合、ステップ１１３で、ＥＣＵ３０はエンジン１に失火が発生しているものとして失火判定処理を実行する。例えば、その処理として、ＥＣＵ３０は、警告ランプ１６を点灯させたり、失火判定コードをバックアップＲＡＭに記憶させたりする。この失火判定コードは、必要に応じてバックアップＲＡＭより読み出されることにより、点検に供されることになる。そして、ＥＣＵ３０は、ステップ１１４で所要時間Ｔ３０を所要時間Ｔ３１に置き換え、その後の処理を一旦終了する。
【００３８】
上記のように「３０°ＣＡ割り込みルーチン」がＥＣＵ３０により実行される。即ち、ＥＣＵ３０は、点火時期の遅角補正に応じて所要時間Ｔ３０の回転変動量ｔＤＴ３ＸＤの偏差ＤＬＴＭＦＬの算出タイミングを補正することにより、失火を判定する。
【００３９】
以上説明したように、この実施の形態の失火検出装置によれば、点火時期が制御されることにより、図３（ｅ）及び図４（ｂ）に示すように、各気筒＃１〜＃６の燃焼行程における燃焼圧力が極大となる時期が変わる。ここで、回転速度センサ２４で検出される３０°ＣＡ毎の角速度により算出される個々の所要時間Ｔ３０に基づいて各気筒＃１〜＃６の燃焼行程に対応する回転変動量ｔＤＴ３ＸＤがＥＣＵ３０により算出される。そして、その算出される回転変動量ｔＤＴ３ＸＤに基づいて各気筒＃１〜＃６の燃焼行程に対応する失火の有無がＥＣＵ３０により判定される。
【００４０】
特に、この実施の形態では、各気筒＃１〜＃６の燃焼行程において異なる二つの時期に算出される所要時間Ｔ３０の差が回転変動量ｔＤＴ３ＸＤとしてＥＣＵ３０により算出される。ここで、回転変動量ｔＤＴ３ＸＤを算出するために参照される異なる二つの所要時間Ｔ３０の算出時期の少なくとも一方が、点火時期の違いに応じて、即ち遅角補正の有無に応じてＥＣＵ３０により補正される。そして、今回算出される回転変動量ｔＤＴ３ＸＤと今回以前、即ち３点火前（３６０°ＣＡ前）に算出された回転変動量ｔＤＴ３ＸＤ（ｉ−１）との偏差ＤＬＴＭＦＬが所定の失火判定値ＬＶＬＭＦＬと比較されることにより、ＥＣＵ３０により失火が判定されることになる。
即ち、図３（ｃ）に実線及び波線で示すように、時刻ｔ２において今回算出される回転変動量ｔＤＴ３ＸＤが正常時のものであり、その３点火前の時刻ｔ１に算出された回転変動量ｔＤＴ３ＸＤ（ｉ−１）も正常時のものである場合には、回転変動量ｔＤＴ３ＸＤの偏差ＤＬＴＭＦＬが相対的に小さくなり、正常判定がなされることになる。一方、今回算出される回転変動量ｔＤＴ３ＸＤが失火時のものであり、その３点火前に算出された回転変動量ｔＤＴ３ＸＤ（ｉ−１）が正常時のものである場合には、回転変動量ｔＤＴ３ＸＤの偏差ＤＬＴＭＦＬが相対的に大きくなり、失火判定がなされることになる。
従って、各気筒＃１〜＃６に対応して算出される回転変動量ｔＤＴ３ＸＤが、異なる二つの角速度に対応する所要時間Ｔ３０，Ｔ３２（Ｔ３０，Ｔ３３）の差、即ち、所要時間Ｔ３０が極大及び極小となる時期に検出される二つ所要時間Ｔ３０，Ｔ３２（Ｔ３０，Ｔ３３）の差によって明確に定義されることになる。これにより、各気筒＃１〜＃６の間で均質に定義された回転変動量ｔＤＴ３ＸＤが失火判定のために使われることになる。しかも、上記異なる二つの所要時間Ｔ３０，Ｔ３２（Ｔ３０，Ｔ３３）の検出時期の一方、即ち、所要時間Ｔ３０が極小となる方の時期が点火時期が遅角されるか否かによって補正される。この結果、点火時期の違いに応じて失火を判定する場合において、正常時及び失火時のそれぞれで点火時期を遅角させたことに起因する誤検出を防止することができ、失火の検出精度を向上させることができるようになる。
即ち、図３（ｃ），（ｄ）に二点鎖線で示すように、時刻ｔ３において、遅角された点火時期に応じて偏差ＤＬＴＭＦＬが正確に算出され、その偏差ＤＬＴＭＦＬの値が失火判定値ＬＶＬＭＦＬを上回わることになり、失火の発生を精度よく検出することができる。これに対して、図３（ｃ），（ｄ）に示す二点鎖線において、通常の点火時期と同様、時刻ｔ２で偏差ＤＬＴＭＦＬが算出された場合には、その偏差ＤＬＴＭＦＬの値が失火判定値ＬＶＬＭＦＬを下回ることもあり、失火が発生しているにも拘わらず、その失火を検出することができなくなるおそれがある。この点で本実施の形態の失火検出装置の優位性は明らかである。
【００４１】
この実施の形態の失火検出装置の別の側面として、ＥＣＵ３０は、各気筒＃１〜＃６の燃焼行程に対応して３０°ＣＡ毎に算出される所要時間Ｔ３０が極大となる時期の所要時間Ｔ３０と、算出される所要時間Ｔ３０が点火時期の遅角補正の違いに応じて極小となる時期の所要時間Ｔ３０との差を回転変動量ｔＤＴ３ＸＤとして算出している。そして、ＥＣＵ３０は、各気筒＃１〜＃６の燃焼行程に対応して今回算出される回転変動量ｔＤＴ３ＸＤと、その３点火前に算出される回転変動量ｔＤＴ３ＸＤ（ｉ−１）との偏差ＤＬＴＭＦＬを所定の失火判定値ＬＶＬＭＦＬと比較することにより、各気筒＃１〜＃６の燃焼行程に対応した失火を判定することになる。
従って、この側面においても、各気筒＃１〜＃６に対応して算出される回転変動量ｔＤＴ３ＸＤが、極大となる時期の所要時間Ｔ３０と極小となる時期の所要時間Ｔ３０との差によって明確に定義されることになり、回転変動量ｔＤＴ３ＸＤが各気筒＃１〜＃６の間で均質に定義され、失火の判定に使われることになる。この結果、上記と同様に正常時及び失火時のそれぞれで点火時期を遅角させたことに起因する誤検出を防止することができ、失火の検出精度を向上させることができるようになる。
【００４２】
尚、この発明は前記実施の形態に限定されるものではなく、発明の趣旨を逸脱することのない範囲で以下のように実施することもできる。
【００４３】
（１）前記実施の形態では、各気筒＃１〜＃６の燃焼行程に対応して、点火時期が遅角されていない場合には、カウント値ＣＣＲＮＫが「３，７，１１，１５，１９，２３」となるときを各気筒＃１〜＃６に対応した偏差ＤＬＴＭＦＬの算出タイミングとし、点火時期が遅角される場合には、カウント値ＣＣＲＮＫが「４，８，１２，１６，２０，１」となるときを各気筒＃１〜＃６に対応した偏差ＤＬＴＭＦＬの算出タイミングとすることにより、偏差ＤＬＴＭＦＬの算出タイミングを補正するようにしている。
これに対し、図５に示すような関数データを参照することにより、点火時期の遅角値の違いに応じた算出タイミング（ＡＴＤＣにおけるクランク角）を決定し、その決定された算出タイミングにより、偏差ＤＬＴＭＦＬの算出タイミングを補正するようにしてもよい。
【００４４】
【００４５】
【発明の効果】
請求項１に記載の発明の構成によれば、各気筒の燃焼行程において異なる二つの時期に検出される角速度の差を回転変動量として算出し、それら異なる二つの角速度が検出される時期の少なくとも一方を制御される点火時期の違いに応じて補正するようにしている。
従って、各気筒に対応して算出される回転変動量が異なる二つの角速度の差によって明確に定義され、それら角速度の検出時期の少なくとも一方が点火時期の違いにより変わる燃焼圧力の極大時期に応じて補正されることになり、各気筒の間で均質に定義された回転変動量が失火の判定に使われることになる。この結果、クランクシャフトの角速度の変動に基づいて失火を判定すると共に点火時期の違いに応じて失火を判定するものにおいて、失火の誤検出を防止して失火の検出精度を向上させることができるという効果を発揮する。
【００４６】
異なる二つの角速度が検出される時期を、角速度が極小となる時期及び極大となる時期とし、それらのうち角速度が極大となる方の時期を点火時期に応じて補正するようにしている。
従って、この発明においても、クランクシャフトの角速度の変動に基づいて失火を判定すると共に点火時期の違いに応じて失火を判定するものにおいて、失火の誤検出を防止して失火の検出精度を向上させることができるという効果を発揮する。
【００４７】
【図面の簡単な説明】
【図１】  一実施の形態に係り、エンジンシステムを示す概略構成図である。
【図２】  同じく、「３０°ＣＡ割り込みルーチン」を示すフローチャートである。
【図３】  同じく、失火検出に係る各種パラメータの挙動を示すタイムチャートである。
【図４】  同じく、図３の一部を拡大して示すタイムチャートである。
【図５】  別の実施の形態に係り、関数データを示すグラフである。
【図６】  従来の失火検出装置に係り、燃焼圧力の挙動を示すグラフである。
【図７】  同じく、失火検出に係る各種パラメータの挙動を示すタイムチャートである。
【図８】  同じく、失火検出の内容を示すフローチャートである。
【符号の説明】
１            エンジン
４            クランクシャフト
３０          ＥＣＵ（回転変動量算出手段、失火判定手段及び時期補正手段）＃１〜＃６    １番気筒〜６番気筒
Ｔ３０        所要時間（角速度に相当する。）
ｔＤＴ３ＸＤ  回転変動量
ＤＬＴＭＦＬ  偏差
【図１】
0003643250.tif 000002
【図２】
0003643250.tif 000003
【図３】
0003643250.tif 000004
【図４】
0003643250.tif 000005
【図５】
0003643250.tif 000006
【図６】
0003643250.tif 000007
【図７】
0003643250.tif 000008
【図８】
0003643250.tif 000009