(57)【要約】【課題】エンジンの失火検出精度を向上させながら、失火判定値の記憶データ量の低減及び制御回路の演算負荷の軽減の要求を満たすことができるようにする。【解決手段】エンジン１１の各気筒の燃焼行程毎にクランク角センサ２８の出力信号に基づいて演算した回転速度変動量を失火判定値と比較して失火の有無を判定する。その際、エンジン回転速度が所定回転速度よりも高いか否かによって高回転域か低回転域かを判別し、気筒間の回転速度変動量のばらつきの影響度合が大きくなる高回転域では、ＲＯＭ３２に記憶された高回転域用の失火判定値のマップを参照して、各気筒毎にエンジン回転速度と負荷とに応じた失火判定値を設定する。一方、気筒間の回転速度変動量のばらつきの影響度合が小さくなる低回転域では、ＲＯＭ３２に記憶された低回転域用の失火判定値のマップを参照して、エンジン回転速度と負荷とに応じた全気筒共通の失火判定値を設定する。【選択図】図１
2009174361.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の各気筒の燃焼行程毎に回転速度変動量を演算する回転速度変動量演算手段と、内燃機関の運転状態に応じた失火判定値が記憶された失火判定値記憶手段とを備え、各気筒毎に前記回転速度変動量演算手段で演算した回転速度変動量を前記失火判定値記憶手段に記憶された失火判定値と比較して失火の有無を判定する内燃機関の失火検出装置において、
前記失火判定値記憶手段には、内燃機関の回転速度が所定回転速度よりも高い高回転域では各気筒毎に前記失火判定値が記憶され、内燃機関の回転速度が前記所定回転速度以下の低回転域では全気筒共通の失火判定値が記憶されていることを特徴とする内燃機関の失火検出装置。
【請求項２】
前記失火判定値記憶手段には、前記高回転域では内燃機関の回転速度と負荷とに応じて前記失火判定値が各気筒毎に記憶され、前記低回転域では内燃機関の回転速度と負荷とに応じて前記全気筒共通の失火判定値が記憶されていることを特徴とする請求項１に記載の内燃機関の失火検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の各気筒の燃焼行程毎に回転速度変動量を失火判定値と比較して失火の有無を判定する内燃機関の失火検出装置に関する発明である。
【背景技術】
【０００２】
従来、内燃機関の失火検出装置として、各気筒の燃焼行程毎に回転速度変動量の変化量を求め、その回転速度変動量の変化量を全気筒共通の失火判定値と比較して失火の有無を判定するようにしたものがある。しかし、失火が発生していなくても、各気筒の燃焼状態等のばらつきによって各気筒の回転速度変動量にばらつきが生じることがあるため、全気筒共通の失火判定値を設定すると、気筒間の回転速度変動量のばらつきの影響を受けて失火の有無を誤判定する可能性がある。
【０００３】
この対策として、例えば、特許文献１（特開平５−１９５８５８号公報）に記載されているように、内燃機関の運転状態に基づいて全気筒共通の基準失火判定値ＲＥＦをマップにより設定する共に、各気筒毎に内燃機関の回転速度に応じた気筒別補正値ΔＲＥＦをマップにより設定して、各気筒毎に基準失火判定値ＲＥＦを気筒別補正値ΔＲＥＦで補正して気筒別失火判定値ＲＥＦn を設定し、各気筒毎に回転速度変動量の変化量Δωn を気筒別失火判定値ＲＥＦn と比較して失火の有無を判定することで、失火検出精度を向上させるようにしたものがある。
【特許文献１】特開平５−１９５８５８号公報（第４頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献１の技術では、内燃機関の低回転域から高回転域までの全回転域において各気筒毎に気筒別補正値ΔＲＥＦのデータを制御回路のＲＯＭ等のメモリに記憶しておく必要があるため、気筒別補正値ΔＲＥＦの記憶データ量が増大すると共に、基準失火判定値ＲＥＦを気筒別補正値ΔＲＥＦで補正して気筒別失火判定値ＲＥＦn を各気筒毎に演算する必要があるため、制御回路の演算負荷が増大するという欠点がある。
【０００５】
本発明は、このような事情を考慮してなされたものであり、従って本発明の目的は、失火検出精度を向上させることができると共に、失火判定値に関する記憶データ量の低減及び制御回路の演算負荷の軽減の要求を満たすことができる内燃機関の失火検出装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に係る発明は、内燃機関の各気筒の燃焼行程毎に回転速度変動量を演算する回転速度変動量演算手段と、内燃機関の運転状態に応じた失火判定値が記憶された失火判定値記憶手段とを備え、各気筒毎に回転速度変動量演算手段で演算した回転速度変動量を失火判定値記憶手段に記憶された失火判定値と比較して失火の有無を判定する内燃機関の失火検出装置において、失火判定値記憶手段には、内燃機関の回転速度が所定回転速度よりも高い高回転域では各気筒毎に失火判定値が記憶され、内燃機関の回転速度が所定回転速度以下の低回転域では全気筒共通の失火判定値が記憶されている構成としたものである。
【０００７】
一般に、高回転域では失火によって生じる回転速度変動量が相対的に小さくなって、失火による回転速度変動量に対して、気筒間の燃焼状態等のばらつきによる回転速度変動量のばらつきの影響度合が大きくなる傾向があるため、高回転域では各気筒毎に失火判定値を記憶しておいて各気筒毎に失火判定値を設定することで、気筒間の回転速度変動量のばらつきの影響を受けずに失火の有無を精度良く判定することができ、失火検出精度を向上させることができる。
【０００８】
一方、低回転域では失火によって生じる回転速度変動量が相対的に大きくなって、失火による回転速度変動量に対して、気筒間の燃焼状態等のばらつきによる回転速度変動量のばらつきの影響度合が小さくなる傾向があるため、低回転域では全気筒共通の失火判定値を記憶しておいて全気筒共通の失火判定値を設定しても、失火の有無を精度良く判定することができ、失火検出精度を確保することができる。
【０００９】
また、高回転域では各気筒毎に失火判定値を記憶しておくが、低回転域では全気筒共通の失火判定値のみを記憶しておけば良いため、低回転域から高回転域までの全回転域において各気筒毎に失火判定値を記憶しておく場合に比べて、失火判定値の記憶データ量を低減することができる。しかも、失火判定値自体を記憶しておくため、基準失火判定値を気筒別補正値で補正して気筒別失火判定値を求めるといった演算が不要となり、制御回路の演算負荷を軽減することができる。
【００１０】
この場合、請求項２のように、失火判定値記憶手段には、高回転域では内燃機関の回転速度と負荷とに応じて失火判定値が各気筒毎に記憶され、低回転域では内燃機関の回転速度と負荷とに応じて全気筒共通の失火判定値が記憶されているようにしても良い。内燃機関の回転速度や負荷に応じて燃焼状態等が変化して回転速度変動量のばらつきが変化すると共に、内燃機関の回転速度や負荷に応じて回転速度の検出誤差が変化して回転速度変動量の検出誤差が変化するため、内燃機関の回転速度と負荷とに応じて失火判定値を記憶しておけば、内燃機関の回転速度や負荷に応じて回転速度変動量のばらつきや検出誤差が変化するのに対応して、回転速度変動量を評価するための失火判定値を変化させて失火判定値を適正値に設定することができ、失火検出精度を更に向上させることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態を具体化した一実施例を説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１２】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００１３】
一方、エンジン１１の排気管２３には、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられ、この排出ガスセンサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００１４】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、ノッキング振動を検出するノックセンサ２９が取り付けられている。また、クランク軸２７の外周側には、クランク軸２７が所定クランク角（例えば３０℃Ａ）回転する毎にパルス信号を出力するクランク角センサ２８が取り付けられ、このクランク角センサ２８の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００１５】
これら各種センサの出力は、制御回路（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、バックアップＲＡＭ３４等を備えたマイクロコンピュータを主体として構成され、ＲＯＭ３２に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や点火プラグ２２の点火時期を制御する。
【００１６】
また、ＥＣＵ３０は、後述する図２及び図３の失火判定用の各ルーチンを実行することで、各気筒の燃焼行程毎に設定した失火判定区間の回転速度の変動量に基づいて各気筒毎に失火の有無を判定し、失火検出時には警告ランプ３５（図１参照）を点灯させて運転者に警告する。
【００１７】
次に、図４（４気筒エンジンの例）に基づいて失火判定方式を説明する。本実施例では、エンジン回転速度が第１の所定回転速度（例えば５０００ｒｐｍ）よりも高い否かによって高回転域か低回転域かを判別し、低回転域では失火判定区間を例えばＡＴＤＣ１４５℃Ａから開始し、その失火判定区間のクランク角度幅を例えば９０℃Ａとしている。
【００１８】
一方、高回転域では、低回転域と比較して、失火発生後のエンジン回転速度低下の最下点の位置（クランク角）が後側にずれると共に、失火発生後のクランク角に対するエンジン回転速度の下降・上昇が遅くなって最下点付近がほぼフラットになるため、失火判定区間を低回転域より例えば３０℃Ａ遅らせてＡＴＤＣ１７５℃Ａから開始すると共に、その失火判定区間のクランク角度を低回転域より例えば３０℃Ａ拡大して１２０℃Ａとしている。
【００１９】
そして、エンジン運転中は、失火判定区間内に出力されるクランク角信号のパルス間隔から失火判定区間の時間ＴＭＦ０を積算し、それを前回（４気筒エンジンでは１８０℃Ａ前）の失火判定区間の時間ＴＭＦ１と比較して両者の差ＤＭＦを算出することで、失火判定区間の時間の変動量を回転速度変動量として演算し、その回転速度低下量（時間変動量ＤＭＦ）が失火判定値ＭＦＲＥＦを越えたときに失火と判定するようになっている。
【００２０】
その際、本実施例では、エンジン回転速度が第２の所定回転速度（例えば４０００〜５０００ｒｐｍ）よりも高いか否かによって高回転域か低回転域かを判別し、高回転域では、図５に示す高回転域用の失火判定値ＭＦＲＥＦのマップを参照して、各気筒毎にエンジン回転速度ＮＥと負荷ＰＭ（例えば吸気管圧力）とに応じた失火判定値ＭＦＲＥＦ(#i)を求める。尚、(#i)は気筒番号である。この高回転域用の失火判定値ＭＦＲＥＦのマップは、予め実験データや設計データ等に基づいてエンジン回転速度ＮＥと負荷ＰＭとに応じた失火判定値ＭＦＲＥＦ(#i)が各気筒毎に設定され、ＥＣＵ３０のＲＯＭ３２（失火判定値記憶手段）に記憶されている。
【００２１】
高回転域では失火によって生じる回転速度変動量が相対的に小さくなって、失火による回転速度変動量に対して、気筒間の燃焼状態等のばらつきによる回転速度変動量のばらつきの影響度合が大きくなる傾向があるため、高回転域では各気筒毎に失火判定値ＭＦＲＥＦ(#i)を設定することで、気筒間の回転速度変動量のばらつきの影響を受けずに失火の有無を精度良く判定することができる。
【００２２】
一方、低回転域では、図６に示す低回転域用の失火判定値ＭＦＲＥＦのマップを参照して、エンジン回転速度ＮＥと負荷ＰＭ（例えば吸気管圧力）とに応じた全気筒共通の失火判定値ＭＦＲＥＦを求める。この低回転域用の失火判定値ＭＦＲＥＦのマップは、予め実験データや設計データ等に基づいてエンジン回転速度ＮＥと負荷ＰＭとに応じた全気筒共通の失火判定値ＭＦＲＥＦが設定され、この全気筒共通の失火判定値ＭＦＲＥＦがＥＣＵ３０のＲＯＭ３２（失火判定値記憶手段）に記憶されている。
【００２３】
低回転域では失火によって生じる回転速度変動量が比較的大きくなって、失火による回転速度変動量に対して、気筒間の燃焼状態等のばらつきによる回転速度変動量のばらつきの影響度合が小さくなる傾向があるため、低回転域では全気筒共通の失火判定値ＭＦＲＥＦを設定しても、失火の有無を精度良く判定することができる。
【００２４】
また、エンジン回転速度ＮＥや負荷ＰＭに応じて燃焼状態等が変化して回転速度変動量のばらつきが変化すると共に、エンジン回転速度ＮＥや負荷ＰＭに応じて回転速度ＮＥの検出誤差が変化して回転速度変動量の検出誤差が変化するため、図５及び図６の失火判定値ＭＦＲＥＦのマップは、それぞれエンジン回転速度ＮＥや負荷ＰＭに応じて回転速度変動量のばらつきや検出誤差が変化するのに対応して、回転速度変動量（時間変動量ＤＭＦ）を評価するための失火判定値ＭＦＲＥＦを変化させて失火判定値ＭＦＲＥＦを適正値に設定するようになっている。
【００２５】
以上説明した失火判定処理は、ＥＣＵ３０によって図２及び図３の各ルーチンに従って実行される。以下、各ルーチンの処理内容を説明する。
【００２６】
［Ｔ３０割込みルーチン］
図２に示すＴ３０割込みルーチンは、クランク角信号の立ち下がり入力毎に割込み処理にて実行される。本ルーチンが起動されると、まずステップ１０１で、前回のクランク角信号の立ち下がりから次のクランク角信号の立ち下がりまでの時間Ｔ３０、つまりクランク軸が３０℃Ａ回転するのに要した時間（以下「３０℃Ａ時間」という）を算出する。
【００２７】
そして、続くステップ１０２〜１０７の処理で、過去１５０℃Ａ前からの３０℃Ａ時間データＴ３０５〜Ｔ３００を順次更新する。ここで、Ｔ３００は今回の３０℃Ａ時間であり、Ｔ３０１は前回（３０℃Ａ前）の３０℃Ａ時間であり、Ｔ３０２は前々回（６０℃Ａ前）の３０℃Ａ時間であり、Ｔ３０３は９０℃Ａ前の３０℃Ａ時間であり、Ｔ３０４は１２０℃Ａ前の３０℃Ａ時間であり、Ｔ３０５は１５０℃Ａ前の３０℃Ａ時間である。尚、Ｔ３０□の□内の数字は図４のクランクＮｏ．に対応している。
【００２８】
［失火検出ルーチン］
図３に示す失火検出ルーチンは、図４に示すクランクＮｏ．０のクランク角信号の立ち下がり入力毎に割込み処理にて実行される。本ルーチンが起動されると、まずステップ２０１で、エンジン回転速度ＮＥを読み込み、続くステップ２０２で、エンジン回転速度ＮＥが第１の所定回転速度（例えば５０００ｒｐｍ）よりも高いか否かによって高回転域か低回転域かを判別する。
【００２９】
このステップ２０２で、低回転域（ＮＥ≦第１の所定回転速度）であると判定された場合には、ステップ２０３に進み、低回転域での失火判定区間の時間ＴＭＦ０を次式により算出する。
ＴＭＦ０＝Ｔ３０４＋Ｔ３０３＋Ｔ３０２
【００３０】
ここで、低回転域での失火判定区間は、ＡＴＤＣ１４５℃Ａから始まってＡＴＤＣ２３５℃Ａで終了するクランク角度９０℃Ａの区間であり、この区間内に図２のＴ３０割込みルーチンで求められた３０℃Ａ時間であるＴ３０４，Ｔ３０３，Ｔ３０２を積算して、低回転域での失火判定区間の時間ＴＭＦ０を算出するものである。
【００３１】
一方、上記ステップ２０２で、高回転域（ＮＥ＞第１の所定回転速度）であると判定された場合には、ステップ２０４に進み、高回転域での失火判定区間の時間ＴＭＦ０を次式により算出する。
ＴＭＦ０＝Ｔ３０３＋Ｔ３０２＋Ｔ３０１＋Ｔ３００
【００３２】
ここで、高回転域での失火判定区間は、ＡＴＤＣ１７５℃Ａから始まってＡＴＤＣ２９５℃Ａで終了する角度幅１２０℃Ａの区間であり、この区間内の３０℃Ａ時間であるＴ３０３，Ｔ３０２，Ｔ３０１，Ｔ３００を積算して、高回転域での失火判定区間の時間ＴＭＦ０を算出するものである。
【００３３】
以上のようにして回転域に応じて失火判定区間の時間ＴＭＦ０を算出した後、ステップ２０５に進み、今回算出した失火判定区間の時間ＴＭＦ０を前回（４気筒エンジンでは１８０℃Ａ前）の失火判定区間の時間ＴＭＦ１と比較して両者の差ＤＭＦを算出することで、失火判定区間の時間の変動量を回転速度変動量として演算する。これらのステップ２０２〜２０５の処理が特許請求の範囲でいう回転速度変動量演算手段としての役割を果たす。
【００３４】
この後、ステップ２０６に進み、エンジン回転速度ＮＥが第２の所定回転速度（例えば４０００〜５０００ｒｐｍの範囲で設定した回転速度）よりも高いか否かによって高回転域か低回転域かを判別する。尚、第２の所定回転速度は、第１の所定回転速度と同じ値に設定しても良いし、第１の所定回転速度と異なる値に設定しても良い。また、第２の所定回転速度は、４０００〜５０００ｒｐｍの範囲に限定されず、４０００ｒｐｍよりも低い回転速度や５０００ｒｐｍよりも高い回転速度に設定しても良い。
【００３５】
このステップ２０６で、高回転域（ＮＥ＞第２の所定回転速度）であると判定された場合には、ステップ２０８に進み、図５に示す高回転域用の各気筒の失火判定値ＭＦＲＥＦのマップの中から今回失火判定する第ｉ気筒＃ｉ（今回の時間変化量ＤＭＦに対応する気筒）のマップを選択し、そのマップを参照して、エンジン回転速度ＮＥと負荷ＰＭ（例えば吸気管圧力）とに応じた第ｉ気筒＃ｉの失火判定値ＭＦＲＥＦ(#i)を求める。
【００３６】
一方、上記ステップ２０６で、低回転域（ＮＥ≦第２の所定回転速度）であると判定された場合には、ステップ２０７に進み、図６に示す低回転域用の失火判定値ＭＦＲＥＦのマップを参照して、エンジン回転速度ＮＥと負荷ＰＭ（例えば吸気管圧力）とに応じた全気筒共通の失火判定値ＭＦＲＥＦを求める。
【００３７】
以上のようにして失火判定値ＭＦＲＥＦを設定した後、ステップ２０９に進み、時間変化量ＤＭＦ（回転速度低下量）を失火判定値ＭＦＲＥＦと比較し、ＤＭＦ＞ＭＦＲＥＦであれば、失火と判定する。もし、失火（ＤＭＦ＞ＭＦＲＥＦ）と判定されれば、ステップ２１０に進み、警告ランプ３５を点灯したり、或は、運転席のインストルメントパネルの警告表示部（図示せず）に警告表示して運転者に警告すると共に、続くステップ２１１で、その失火の情報をＥＣＵ３０のバックアップＲＡＭ３４等の書き換え可能な不揮発性メモリに記憶した後、次のステップ２１２で、今回算出した失火判定区間の時間ＴＭＦ０を前回の失火判定区間の時間ＴＭＦ１として記憶し、次回の失火判定に用いる。
【００３８】
尚、上記ステップ２０９で、失火でないと判定された場合（ＤＭＦ≦ＭＦＲＥＦ）には、直ちにステップ２１２へ移行し、今回算出した失火判定区間の時間ＴＭＦ０を前回の失火判定区間の時間ＴＭＦ１として記憶して、本ルーチンを終了する。
【００３９】
以上説明した本実施例では、高回転域用の失火判定値ＭＦＲＥＦのマップを各気筒毎に設定してＥＣＵ３０のＲＯＭ３２に記憶しておくようにしたので、気筒間の回転速度変動量のばらつきの影響度合が大きくなる高回転域では、各気筒毎に失火判定値ＭＦＲＥＦを設定して、気筒間の回転速度変動量のばらつきの影響を受けずに失火の有無を精度良く判定することができ、失火検出精度を向上させることができる。一方、低回転域用の失火判定値ＭＦＲＥＦのマップは全気筒共通のマップで設定してＥＣＵ３０のＲＯＭ３２に記憶するようにしたが、気筒間の回転速度変動量のばらつきの影響度合が小さくなる低回転域では、全気筒共通の失火判定値ＭＦＲＥＦを設定しても、失火の有無を精度良く判定することができ、失火検出精度を向上させることができる。
【００４０】
また、高回転域用の失火判定値ＭＦＲＥＦは各気筒毎に失火判定値ＭＦＲＥＦのマップを記憶しておくが、低回転域用の失火判定値ＭＦＲＥＦは全気筒共通の失火判定値ＭＦＲＥＦのマップのみを記憶しておけば良いため、低回転域から高回転域までの全回転域において各気筒毎に失火判定値ＭＦＲＥＦを記憶しておく場合に比べて、失火判定値ＭＦＲＥＦの記憶データ量を低減することができ、ＲＯＭ３２の記憶容量を低減することができる。しかも、失火判定値ＭＦＲＥＦ自体を記憶しておくため、基準失火判定値を気筒別補正値で補正して気筒別失火判定値を求めるといった演算が不要となり、ＥＣＵ３０（ＣＰＵ３１）の演算負荷を軽減することができる。
【００４１】
また、本実施例では、高回転域用の失火判定値ＭＦＲＥＦのマップと低回転域用の失火判定値ＭＦＲＥＦのマップは、いずれもエンジン回転速度ＮＥと負荷ＰＭとをパラメータとして失火判定値ＭＦＲＥＦを設定するマップとしたので、エンジン回転速度ＮＥや負荷ＰＭに応じて回転速度変動量のばらつきや検出誤差が変化するのに対応して、回転速度変動量（時間変化量ＤＭＦ）を評価するための失火判定値ＭＦＲＥＦを変化させて失火判定値ＭＦＲＥＦを適正値に設定することができ、失火検出精度を更に向上させることができる。
【００４２】
尚、上記実施例では、エンジン回転速度ＮＥと負荷ＰＭとに応じて失火判定値ＭＦＲＥＦを設定する際の負荷ＰＭとして、吸気管圧力を用いるようにしたが、これに限定されず、吸入空気量やスロットル開度等を用いるようにしても良い。
【００４３】
また、上記実施例では、図３のステップ２０５で、今回算出した失火判定区間の時間ＴＭＦ０と前回の失火判定区間の時間ＴＭＦ１との差ＤＭＦを算出して回転速度変動量を推定するようにしたが、例えば、次式により今回の失火判定区間の角速度Ｋ／ＴＭＦ０と前回の失火判定区間の角速度Ｋ／ＴＭＦ１との差ＤＭＦを算出して回転速度変動量を推定するようにしても良い。
ＤＭＦ＝Ｋ／ＴＭＦ１−Ｋ／ＴＭＦ０      （Ｋ：定数）
【００４４】
また、上記実施例では、クランク角信号を３０℃Ａ毎に発生するようにしたが、これに限定されず、例えば１５℃Ａ毎に発生するようにしても良い。また、エンジンの気筒数も４気筒に限定されないことは言うまでもない。
【００４５】
その他、本発明は、図１に示すような吸気ポート噴射式の内燃機関に限定されず、筒内噴射式の内燃機関や、吸気ポート噴射用の燃料噴射弁と筒内噴射用の燃料噴射弁の両方を備えたデュアル噴射式の内燃機関にも適用して実施できる等、要旨を逸脱しない範囲内で種々変更して実施できることは言うまでもない。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図２】Ｔ３０割込みルーチンの処理の流れを示すフローチャートである。
【図３】失火検出ルーチンの処理の流れを示すフローチャートである。
【図４】エンジン回転域と失火判定区間の位置・角度幅との関係を説明するタイムチャート
【図５】高回転域用の失火判定値ＭＦＲＥＦのマップの一例を概念的に示す図である。
【図６】低回転域用の失火判定値ＭＦＲＥＦのマップの一例を概念的に示す図である。
【符号の説明】
【００４７】
１１…エンジン（内燃機関）、１２…吸気管、１６…スロットルバルブ、１９…吸気管圧力センサ、２１…燃料噴射弁、２２…点火プラグ、２８…クランク角センサ、３０…ＥＣＵ（回転速度変動量演算手段）、３２…ＲＯＭ（失火判定値記憶手段）
【図１】
2009174361.tif 000003
【図２】
2009174361.tif 000004
【図３】
2009174361.tif 000005
【図４】
2009174361.tif 000006
【図５】
2009174361.tif 000007
【図６】
2009174361.tif 000008