JP3922468B2 - 内燃機関の失火検出装置 - Google Patents
内燃機関の失火検出装置 Download PDFInfo
- Publication number
- JP3922468B2 JP3922468B2 JP27216595A JP27216595A JP3922468B2 JP 3922468 B2 JP3922468 B2 JP 3922468B2 JP 27216595 A JP27216595 A JP 27216595A JP 27216595 A JP27216595 A JP 27216595A JP 3922468 B2 JP3922468 B2 JP 3922468B2
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- rotational speed
- correction value
- rotation
- misfire
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【発明の属する技術分野】
本発明は、内燃機関に発生する失火を内燃機関の回転状態から検出する内燃機関の失火検出装置に関するものである。
【0002】
【従来の技術】
一般に、内燃機関(以下「エンジン」という)の気筒内の燃焼室で失火が発生すると、爆発行程の回転速度が低下することから、特開昭61−258955公報に示すように、各気筒の爆発行程毎の回転速度変動量を算出し、この回転速度変動量を所定の失火判定値と比較して各気筒の失火の有無を判定するようにしたものがある。
【0003】
しかしながら、図7に示すように、各気筒の爆発行程毎の回転速度変動量ΔTは各気筒間でばらつきがあるので、全気筒一律の失火判定値を設定すると、失火時に失火を検出できなかったり、正常燃焼時に失火発生と誤判定してしまうおそれがある。
【0004】
この不具合を解消するために、特開平5−195858号公報に示すように、各気筒の燃焼状態のばらつき度合に応じて各気筒毎に予め設定された補正係数で失火判定値を補正し、各気筒毎に補正された失火判定値と各気筒の爆発行程毎の回転速度変動量ΔTとを比較することにより、各気筒の失火の有無を判定するようにしたものがある。
【0005】
【発明が解決しようとする課題】
上記従来構成では、各気筒の燃焼状態のばらつき度合に応じて各気筒毎に補正係数を設定するようにしたが、各気筒の燃焼状態のばらつき度合は、エンジン間でもばらつきがあり、また、経年変化によってもばらつきが生じてくるので、全てのエンジンに対して予め適正な補正係数を設定することは困難であり、まして経年変化に適正に対処することは不可能である。従って、各気筒毎に予め設定された補正係数で失火判定値を補正する方法では、少ないながらも誤判定するおそれがあり、更なる失火判定精度の向上が望まれていた。
【0006】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、失火判定精度を向上することができる内燃機関の失火検出装置を提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項1の内燃機関の失火検出装置は、図1(a)に例示するように、内燃機関(以下「エンジン」という)の回転に応じて所定の回転角度毎に回転信号出力手段1から回転信号を出力し、この回転信号に基づいてエンジンの各気筒の爆発行程毎の回転速度変動量を回転速度変動量算出手段2により算出する。この際、気筒別補正値算出手段3は、回転信号出力手段1からの回転信号のうち点火直後の失火の影響が現れない期間の信号に基づいて各気筒間の回転速度偏差を学習し、各気筒毎に前記回転速度偏差に応じた補正値を算出する。そして、回転速度変動量補正手段4は、前記回転速度変動量算出手段2で算出した各気筒の爆発行程毎の回転速度変動量を前記気筒別補正値算出手段3で算出した補正値で補正し、失火判定手段6は、補正された各気筒の爆発行程毎の回転速度変動量を失火判定値記憶手段5に記憶されている所定の失火判定値と比較して各気筒の失火の有無を判定する。
【0008】
この場合、従来のように失火判定値を補正するのではなく、各気筒間の回転速度偏差を学習して得られた補正値により回転速度変動量を補正することで、各気筒間の回転速度偏差を吸収(是正)するものであるから、エンジン間のばらつきや経年変化にも適切に対応できる。しかも、各気筒間の回転速度偏差の学習タイミングを各気筒の点火直後の失火の影響が現れない期間に設定しているので、失火の影響を受けずに回転速度偏差の学習が可能となり、学習精度を向上することができる。
【0009】
更に、請求項2では、気筒別補正値算出手段3は、各気筒の点火直後の回転速度と1回転前(360℃A前)の回転速度との差分から回転速度偏差を学習する。図5に示すように、各気筒の点火直後は、失火時でも回転速度に影響が現われず、失火時も正常燃焼時と同じ回転速度であるため、各気筒の点火直後の回転速度と1回転前の回転速度との差分から回転速度偏差を学習すれば、失火の影響を受けずに回転速度偏差の学習が可能となり、学習精度が向上する。
【0010】
また、請求項3では、気筒別補正値算出手段3は、特定の気筒と点火時期が1回転(360℃A)ずれた気筒についての補正値として、当該特定の気筒について算出した補正値を用いる。つまり、特定の気筒についての補正値(回転速度偏差)と、点火時期が1回転(360℃A)ずれた気筒についての補正値(回転速度偏差)との関係は、絶対値がほぼ等しく、±が逆になるだけであるから、特定の気筒について算出した補正値を1回転(360℃A)ずれた気筒についても利用するようにすれば、補正値の算出処理を半数の気筒について行えば良く、演算負荷を軽減できる。
【0011】
更に、請求項4では、気筒別補正値算出手段3は、補正値をなまし処理する。これにより、補正値の過大な変化が適度に抑えられ、信頼性のある補正値が求められる。
【0012】
また、請求項5では、気筒別補正値算出手段3は、学習した回転速度偏差の絶対値を点火時期が1回転ずれた気筒について平均して補正値を求める。この場合も、補正値の過大な変化が適度に抑えられ、信頼性のある補正値が求められる。
【0013】
また、請求項6では、図1(b)に例示するように、気筒別補正値算出手段3は、機関負荷出力手段7から出力される機関負荷毎に補正値を学習し、その学習結果を次回の補正値の算出に反映させる。このようにすれば、学習効果により、補正値の精度が更に向上する。
【0015】
また、請求項7では、図15に例示するように、学習許可判定手段9が、各気筒間の回転速度偏差を学習するか否かを回転安定度合から判定し、回転が安定しているときにのみ気筒別補正値算出手段3で各気筒間の回転速度偏差を学習し、回転が不安定なとき(例えば失火時や過渡時)には、回転速度偏差の学習を禁止することで、学習精度を向上させる。
【0016】
また、請求項8では、学習許可判定手段9は、回転安定度合を判断する指標として、全気筒分又は各気筒毎に回転速度変動量の標準偏差若しくはばらつきの程度を表すパラメータを演算し、そのパラメータが所定値以下のときに、回転状態が安定していると判断して各気筒間の回転速度偏差の学習を許可する。つまり、回転安定度合を判断する指標として、回転速度変動量の標準偏差若しくはばらつきの程度を表すパラメータを演算することで、回転安定度合をより正確に判断するものである。
【0017】
【発明の実施の形態】
以下、本発明の第1実施形態を図2乃至図11に基づいて説明する。エンジン(内燃機関)11の吸気管12には、スロットルバルブ13と吸気管圧力センサ14が設けられ、また、エンジン11の各気筒毎に燃料噴射弁15が設けられている。エンジン11には、イグナイタ16で発生した高電圧を各気筒の点火プラグ(図示せず)に順次分配するディストリビュータ17が取り付けられ、このディストリビュータ17には、エンジン11の2回転に1回の割合でパルス信号を発生する気筒判別センサ18が設けられている。また、エンジン11のクランク軸(図示せず)には、所定のクランク角(本実施形態では30℃A)回転する毎にパルス状の回転信号を出力する回転信号出力手段である回転角センサ19が設けられている。更に、エンジン11のウォータジャケット20には、冷却水温を検出する水温センサ21が取り付けられている。
【0018】
これら各センサからの検出信号は、制御回路22に入力される。この制御回路22は、CPU23,ROM24,RAM25,入出力ポート26等を内蔵したマイクロコンピュータにより構成されている。この制御回路22は、ROM24に記憶された各種のエンジン制御プログラムに従って燃料噴射量や点火時期を演算してエンジン11の運転を制御すると共に、ROM24に記憶されている図3及び図4に示す失火判定プログラムに従って各気筒の失火の有無を判定し、失火時には警告ランプ27を点灯させて運転者に警告する。
【0019】
ここで、本実施形態における失火判定の原理を例えば直列6気筒エンジンを例にして説明する。
制御回路22は、図5に示すように、回転角センサ19から30℃A毎に出力される回転信号NE(パルス信号)に基づいて各気筒の点火時期を演算し、点火信号を出力する。各気筒の点火直後のTDC(上死点)〜ATDC(上死点後)30℃Aまでの期間T302は、失火時でも回転速度に影響が現われず、失火時も正常燃焼時とほぼ同じ回転速度である。しかし、その後のATDC60℃A〜90℃Aまでの期間T300は、失火時には図5に点線で示すように回転速度が上がらず、正常燃焼時の回転速度(実線)と大きな差ができる。従って、TDC〜ATDC90℃Aの回転速度変動を所定の失火判定値と比較することで、失火の判定が可能である。そこで、この失火判定に用いる各気筒の爆発行程毎のTDC〜ATDC90℃A間の回転速度変動量ΔTを次の(1)式で算出する(図6参照)。
【0020】
ΔT=(T300−T302)−(T300’−T302’) ……(1)
ここで、T302,T302’は点火直後のTDC〜ATDC30℃Aの時間(パルス間隔)であり、T302’はT302のクランク軸1回転(360℃A)前の時間である。また、T300,T300’はATDC60℃A〜90℃Aの時間(パルス間隔)であり、T300’はT300のクランク軸1回転(360℃A)前の時間である。上記(1)式において、T300−T302は、1点火周期内での瞬時トルク差に相当する回転速度差を時間に換算して算出する式であり、最新の回転速度差(T300−T302)とその1回転前の回転速度差(T300’−T302’)との差分をとって回転速度変動量ΔTを時間に換算して求めるものである。
【0021】
この回転速度変動量ΔTは、各気筒の点火毎に算出されるが、図7に示すように、正常燃焼時(実線)であっても、気筒間で回転速度変動量ΔTにばらつきがある。図7には、各気筒をそれぞれ失火させた場合の回転速度変動量ΔTを点線で示しているが、失火時も、正常燃焼時と同じく、気筒間で回転速度変動量ΔTにばらつきがある。図8に示すように、直列6気筒エンジンになると、クランク軸28が長くなり、このクランク軸28の一端のシグナルロータ29に対向する回転角センサ19の位置(通常はエンジンフロント側である#1気筒側)と爆発行程の気筒との間のクランク軸28のねじれ等によって回転角センサ19の検出回転速度が微妙にずれてしまい、このずれが回転速度変動量ΔTのばらつきを大きくする原因の1つとなっている。
【0022】
このように、気筒の爆発行程毎の回転速度変動量ΔTは各気筒間でばらつきがあるので、図7に示すように、全気筒一律の失火判定値を設定すると、失火時に失火を検出できなかったり、正常燃焼時に失火発生と誤判定してしまうおそれがある。
【0023】
この不具合を解消するために、特開平5−195858号公報に示すように、各気筒の燃焼状態のばらつき度合に応じて各気筒毎に予め設定された補正係数で失火判定値を補正するようにしたものがあるが、各気筒の燃焼状態のばらつき度合は、エンジン間でもばらつきがあり、また、経年変化によってもばらつきが生じてくるので、全てのエンジンに対して予め適正な補正係数を設定することは困難であり、まして経年変化に適正に対処することは不可能であり、少ないながらも誤判定するおそれがある。
【0024】
そこで、本実施形態では、各気筒間の回転速度偏差に応じて各気筒の回転速度変動量ΔTを次のように補正することで、上記問題を解消するようにしている。図9に示すように、TDC〜ATDC30℃Aまでの期間T302の回転速度は、#1気筒が最も速く、#6気筒が最も遅くなるという傾向がある。一方、ATDC60℃A〜90℃Aまでの期間T300の回転速度は、図10に示すように#1〜#6の全ての気筒でほぼ同速度となる。また、直列6気筒エンジンでは点火順序が#1→#5→#3→#6→#2→#4であり、図6に示すように#1気筒と1回転(360℃A)ずれた気筒は#6気筒となる。#1気筒と、その1回転前の#6気筒との回転速度偏差を算出すると、図9にAで示すように他の気筒よりも回転速度偏差が大きくなる。#5気筒はその1回転前の#2気筒との間で回転速度偏差を算出し、#3気筒はその1回転前の#4気筒との間で回転速度偏差を算出する。この回転速度偏差の算出は、失火時でも回転速度に影響が現われない領域、つまりTDC〜ATDC30℃Aまでの期間T302で行う。
【0025】
各気筒の回転速度偏差(T302−T302’)の一例が図11に示されている。回転速度偏差(T302−T302’)は、#6気筒の点火直後(ATDC30℃A)で最大(A)となり、その1回転前の#1気筒の点火直後(ATDC30℃A)で最小(−A)となるが、両者の絶対値はほぼ等しくなる。また、#5気筒とその1回転前の#2気筒とは、回転速度偏差の絶対値Bが同じで、±が逆になる。同様に、#3気筒とその1回転前の#4気筒とは、回転速度偏差の絶対値Cが同じで、±が逆になる。
【0026】
本実施形態では、各気筒間の回転速度偏差(A,B,C,−A,−B,−C)に応じて求めた補正値TCYLiにより各気筒の回転速度変動量ΔTを補正することで、各気筒間の回転速度偏差を吸収(是正)する。この際、前述したように気筒#1,#3,#5と気筒#6,#4,#2とは、それぞれ回転速度偏差の絶対値が同じで、±が逆になるだけであるから、補正値TCYLiの算出は半数の気筒#1,#3,#5についてのみ行い、残りの気筒#6,#4,#2については、対応する気筒#1,#3,#5についての補正値TCYLiを利用する。
【0027】
以下、失火判定処理の流れを図3に示すフローチャートに従って説明する。本ルーチンは、回転角センサ19から入力される回転信号NE(パルス信号)により所定のクランク角毎(本実施形態では30℃A毎)に割込処理される。処理が開始されると、まず、ステップ101で、フリーランタイマーの現時刻TIMERと前回のNE割込時の時刻TNEOLDとの差により、クランク軸28が30℃A回転するのに要した時間(以下「30℃A時間」という)tT30を算出した後、ステップ102で、現時刻TIMERをTNEOLDに記憶する。次のステップ103で、30℃A時間データT300,T301,T302,T303を更新する。ここで、T300は今回の30℃A時間であり、T301は前回(30℃A前)の30℃A時間であり、T302は前々回(60℃A前)の30℃A時間であり、T303は前々々回(90℃A前)の30℃A時間である。
【0028】
この後、ステップ104で、ATDC30℃Aであるか否かを判定し、ATDC30℃Aであれば、ステップ105の学習処理を実行するが、ATDC30℃Aでなければ、学習処理を実行せずにステップ106に移行する。
【0029】
ATDC30℃Aで実行される学習処理(ステップ106)は、各気筒間の回転速度偏差を学習して各気筒毎に回転速度偏差に応じた補正値を算出する気筒別補正値算出手段としての役割を果たす。この学習処理では、図4に示すように、まず、ステップ121で、ATDC30℃Aでの30℃A時間データT3021,T3022,T3023を更新する。ここで、T3021は120℃A前の30℃A時間であり、T3022は240℃A前の30℃A時間であり、T3023は360℃A前の30℃A時間である。この後、ステップ122で、最新のATDC30℃Aでの30℃A時間データT302をT3020に記憶し、次のステップ122で、T3020とその1回転前のT3023との差分(回転速度偏差)をTGとして算出する。
【0030】
次のステップ124で、点火気筒が#1,#3,#5のいずれかに該当するか否かを判定し、#1,#3,#5のいずれかであれば、ステップ125に進んで補正値TCYLiを算出し、#2,#4,#6のいずれかであれば、補正値TCYLiを算出せずに本ルーチンを終了する。前述したように、気筒#1,#3,#5と気筒#6,#4,#2とは、それぞれ回転速度偏差の絶対値が同じで、±が逆になるだけであるから、ステップ124,125により補正値TCYLiの算出は半数の気筒#1,#3,#5についてのみ行い、残りの気筒#6,#4,#2については、対応する気筒#1,#3,#5についての補正値TCYLiを利用する。
【0031】
更に、本実施形態では、補正値TCYLiを次の(2)式によりなまし処理して算出する。
TCYLi={TCYLi(前回の値)+7×TG}/8 ……(2)
上式は、1/8なましであるが、1/4,1/2,1/16,……等のいずれであっても良い。
【0032】
以上のようにして学習処理を実行した後、図3のステップ106に移行し、ATDC90℃Aであるか否かを判定し、ATDC90℃Aでなければ、以降の処理を行わずに本ルーチンを終了するが、ATDC90℃Aであれば、ステップ107に進んで、1点火周期内での瞬時トルク差に相当する回転速度差データΔT301,ΔT302,ΔT303を更新する。ここで、ΔT301は120℃A前の回転速度差データであり、ΔT302は240℃A前の回転速度差データであり、ΔT303は360℃A前の回転速度差データである。次のステップ108で、最新の1点火周期内での瞬時トルク差に相当する回転速度差データΔT300を、30℃A時間データT300とT302との差により算出する。
【0033】
この後、ステップ109で、回転速度変動量ΔTを、最新の回転速度差データΔT300とその1回転(360℃A)前の回転速度差データΔT303との差により算出する。このステップ109の処理が特許請求の範囲でいう回転速度変動量算出手段として機能する。次いで、ステップ110で、点火気筒が#1,#3,#5のいずれかに該当するか否かを判定し、#1,#3,#5のいずれかであれば、ステップ111に進んで、回転速度変動量ΔTに補正値TCYLiを加算して回転速度変動量ΔTを補正する。一方、#2,#4,#6のいずれかであれば、回転速度変動量ΔTから補正値TCYLj を差し引いて回転速度変動量ΔTを補正する。この際、点火気筒が#2(気筒番号i=2)のときには、#5の補正値TCYLj(j=5)を用い、#4(気筒番号i=4)のときには、#3の補正値TCYLj(j=3)を用い、#6(気筒番号i=6)のときには、#1の補正値TCYLj(j=1)を用いる。これらステップ111,112の処理が特許請求の範囲でいう回転速度変動量補正手段として機能する。
【0034】
以上のようにして回転速度変動量ΔTを補正した後、ステップ113に進み、回転速度変動量ΔTを、ROM24に記憶されている所定の失火判定値LVLMFと比較し、ΔT>LVLMFであれば、失火と判定し(ステップ114)、警告ランプ27を点灯して運転者に警告する(ステップ115)。一方、ΔT≦LVLMFであれば、正常燃焼と判定し(ステップ116)、本ルーチンを終了する。上記ステップ113,114,116の処理が特許請求の範囲でいう失火判定手段として機能する。
【0035】
以上説明した第1実施形態では、従来のように失火判定値を補正するのではなく、各気筒間の回転速度偏差を学習して得られた補正値により回転速度変動量ΔTを補正することで、各気筒間の回転速度偏差を吸収(是正)するものであるから、エンジン間のばらつきや経年変化にも適切に対応でき、失火判定精度を向上することができる。しかも、各気筒間の回転速度偏差の学習タイミングを各気筒の点火直後(失火の影響が現れない時期)に設定しているので、失火の影響を受けずに回転速度偏差の学習が可能となり、学習精度を向上することができる。
【0036】
更に、特定の気筒についての補正値(回転速度偏差)と、点火時期が1回転(360℃A)ずれた気筒についての補正値(回転速度偏差)とは、絶対値がほぼ等しく、±が逆になるだけであるという事情に着目し、特定の気筒について算出した補正値を1回転(360℃A)ずれた気筒についても利用するようにしたので、補正値の算出処理を半数の気筒について行えば良く、演算負荷を軽減できる。尚、上記実施形態では、#1,#3,#5の気筒について補正値を算出するようにしたが、#2,#4,#6の気筒について補正値を算出するようにしても良く、要は、点火時期が1回転(360℃A)ずれた2つの気筒(#1,#6),(#3,#4),(#5,#2)の各組からそれぞれ1つの気筒について補正値を算出するようすれば良い。
【0037】
勿論、全ての気筒について補正値を算出するようにしても良いことは言うまでもない。これを具体化した実施形態が図12に示す本発明の第2実施形態である。この第2実施形態の学習処理も、第1実施形態と同じステップ121〜123の処理により、各気筒の回転速度偏差TGiを算出し、続くステップ126で、次の(3)式により補正値TCYLiを算出する。
【0038】
TCYLi={|TGi|+|TGj|}/2 ……(3)
ここで、添字のiとjは、1回転(360℃A)ずれた気筒の番号を表している。従って、i=1のときはj=6であり、i=3のときはj=4であり、i=5のときはj=2である。
【0039】
このようにして、各気筒の回転速度偏差TGiの絶対値を点火時期が1回転ずれた気筒について平均して補正値TCYLiを求めれば、第1実施形態のなまし処理の場合と同じく、補正値TCYLiの過大な変化を適度に抑えることができて、信頼性のある補正値TCYLiを求めることができる。
【0040】
また、吸気量,吸気管圧力,エンジン回転数等のエンジン負荷毎に補正値を学習し、それを次回の補正値の算出に反映させるようにしても良い。これを具体化した実施形態が図13に示す本発明の第3実施形態である。この第3実施形態では、エアフローメータ等の吸気量検出手段により検出される吸気量GNに応じて該当する学習エリアTCYLijに補正値を更新記憶し、これを次回の補正値の算出に反映させる(例えば学習エリアTCYLijの値を用いて補正値をなまし処理する)。このようにすれば、学習効果により補正値の精度が更に向上する。
【0041】
また、図14に示す本発明の第4実施形態では、各気筒間の回転速度偏差を学習しないが、その代わりに、予め各気筒毎に設定された補正マップ(a)及び(b)をROM24に記憶し、その補正マップからエンジン負荷に応じて補正値を求める。ここで、補正マップ(a)は、各気筒毎に吸気量GNに応じた補正係数REijを記憶するマップであり、補正マップ(b)は、各気筒毎にエンジン回転数に応じた補正係数RFijを記憶するマップである。これら両補正マップ(a)及び(b)から補正値TCYLijを次の(4)式により算出する。
TCYLij=REij×RFij ……(4)
【0042】
このように、エンジン負荷に応じて補正値を補正マップから求めれば、エンジン運転状態に合った補正値を求めることができる。尚、第4実施形態では、エンジン負荷として吸気量GNとエンジン回転数とを用いたが、吸気管圧力等の他のエンジン負荷を表すデータを用いるようにしても良い。
【0043】
また、第3及び第4実施形態では、#1,#3,#5の気筒についてのみマップを作り、#6,#4,#2の気筒については、それぞれ#1,#3,#5の気筒についての補正値を利用するものであるが、全ての気筒についてマップを作るようにしても良いことは言うまでもない。
【0044】
また、上記各実施形態において、学習処理は、回転変化、負荷変化、スロットル開度等のエンジン運転条件を表す信号が定常状態であるとき、つまり回転状態が安定しているときに実施することが好ましい。従って、失火発生時は勿論のこと、自動変速機がニュートラルからドライブレンジへ切り替えられるときや、空調装置のオン/オフ切替時、電気負荷(オルタネータ負荷)のオン/オフ切替時等の過渡時には、学習処理を禁止する。これにより、誤学習を未然に防止して学習精度を向上させることができる。
【0045】
以下、これを具体化した本発明の第5実施形態を図16乃至図20に基づいて説明する。まず、図16に基づいて回転速度変動量ΔTの算出方法について説明する。直前のTDCから次のTDCまでの時間、つまりクランク軸28が120℃A(6気筒エンジンの場合)回転するのに要する時間T120を、回転角センサ19から30℃A毎に出力される回転信号NEのパルス間隔を積算することで算出する。そして、今回算出したT120iと、クランク軸1回転前(360℃A前)のT120i-3 とを用いて回転速度変動量ΔTを次式により算出する。
ΔT=T120i−T120i-3
【0046】
この回転速度変動量ΔTの算出は、図17に示すNE割込ルーチンによって行われる。本ルーチンは、回転信号NEの入力に同期して所定のクランク角毎(本実施形態では30℃A毎)に割込処理される。処理が開始されると、まず、ステップ201で、フリーランタイマーの現時刻TIMERと前回のNE割込時の時刻TNEOLDとの差により、クランク軸28が30℃A回転するのに要した時間(以下「30℃A時間」という)tT30を算出した後、ステップ202で、現時刻TIMERをTNEOLDに記憶する。
【0047】
そして、次のステップ203で、30℃A時間データT300,T301,T302,T303,T304を更新する。ここで、T300は今回の30℃A時間であり、T301は前回(30℃A前)の30℃A時間であり、T302は前々回(60℃A前)の30℃A時間であり、T303は前々々回(90℃A前)の30℃A時間であり、T304は前々々々回(120℃A前)の30℃A時間である。そして、次のステップ204で、過去120℃A分の30℃A時間T304〜T301を合算して、クランク軸28が120℃A回転するのに要する時間T120を算出する。
【0048】
一方、図18に示す失火判定ルーチンは、TDC毎に割込処理される。処理が開始されると、まず、ステップ211で、気筒判別を行い、どの気筒のデータか判定する。この気筒判別は、回転信号NEの入力毎(30℃A毎)にカウントアップされる気筒判別カウンタCCRNKの値から次式により点火順番iを算出して行う(CCRNKは23を越えると0に戻る)。
i=CCRNK/4+1
6気筒エンジンでは、点火順序は、#1→#5→#3→#6→#2→#4の繰り返しであり、i=1のとき#1、i=2のとき#5、i=3のとき#3、i=4のとき#6、i=5のとき#2、i=6のとき#4と判別される。
【0049】
この後、ステップ212で、現在のT120iと、クランク軸1回転前(360℃A前)のT120i-3 との差を算出して回転速度変動量ΔTiを求める。そして、次のステップ213で学習処理を実行する。この学習処理は、図19の学習処理ルーチンによって実行される。この学習処理ルーチンでは、まずステップ221で、回転速度変動量ΔTiの標準偏差σと平均値Xを図20のルーチンによって算出する。標準偏差σと平均値Xは、所定の点火回数毎に算出しても良いが、ここでは確率的手法を用いて標準偏差σと平均値Xを次のようにしてリアルタイムに算出する。
【0050】
まず、ステップ231で、現在の回転速度変動量ΔTiと現在のYi(=X+σ)とを比較し、ΔTi>Yiであれば、ステップ232に進み、現在のYiに0.1を加算した値でYiを更新し、ΔTi≦Yiであれば、ステップ233に進み、現在のYiから0.02を減算した値でYiを更新する。この後、ステップ234に進み、現在の回転速度変動量ΔTiと現在の平均値Xiとを比較し、ΔTi>Xiであれば、ステップ235に進み、現在のXiに0.01を加算した値でXiを更新し、ΔTi≦Xiであれば、ステップ236に進んで、現在のXiから0.01を減算した値でXiを更新する。この後、ステップ237に進み、現在の標準偏差σiを現在のYiから現在の平均値Xiを減算して求めて、本ルーチンを終了する。
【0051】
この後、図19の学習処理ルーチンのステップ222に戻り、気筒判別カウンタCCRNKの値が0であるか否か、つまり#1のTDCであるか否かを判定し、「No」であれば、以降の学習処理を行うことなく、本ルーチンを終了する。一方、CCRNK=0(#1のTDC)の場合には、ステップ223に進み、各気筒の回転速度変動量の標準偏差σj(j=1〜6)を所定値と比較し、各気筒の回転速度変動量のばらつきの程度を判定する。もし、σj≧所定値(ばらつきが大)であれば、ステップ224に進み、ディレーカウンタCDKを0にクリアし、続くステップ225で、補正値TCYLiの学習値を読み出して、本ルーチンを終了する。
【0052】
一方、上記ステップ223で、σj<所定値(ばらつきが小)と判定された場合には、ステップ226に進み、ディレーカウンタCDKをカウントアップし、続くステップ227で、ディレーカウンタCDKが15に達したか否かを判定する。もし、ディレーカウンタCDKが15未満であれば、学習値を更新せずに本ルーチンを終了する。つまり、σj<所定値(ばらつきが小)の状態が15回以上連続した場合、つまり回転状態が安定している場合にのみ、学習値を更新すべく、ステップ228に進み、平均値Xの最大値Xmax を算出し、続くステップ229で、補正値TCYLiを次によりなまし処理して算出する。
TCYLi={15TCYLi(前回の値)+(Xmax −Xi)}/16
【0053】
上式は、1/16なましであるが、1/4,1/8,……等のいずれであっても良い。算出した補正値TCYLiを学習領域毎に記憶して本ルーチンを終了する。上記ステップ223,226,227の処理と図20の標準偏差σ・平均値X算出処理が特許請求の範囲でいう学習許可判定手段として機能する。
【0054】
このようにして学習処理ルーチンを終了すると、図18の失火判定ルーチンのステップ214に戻り、回転速度変動量ΔTiに補正値TCYLiを加算して回転速度変動量ΔTiを補正する。そして、次のステップ215で、回転速度変動量ΔTiを、ROM24に記憶されている所定の失火判定値LVLMFと比較し、ΔT>LVLMFであれば、失火と判定し(ステップ216)、警告ランプ27を点灯して運転者に警告する(ステップ217)。一方、ΔT≦LVLMFであれば、正常燃焼と判定し(ステップ218)、本ルーチンを終了する。
【0055】
以上説明した第5実施形態では、回転速度変動量ΔTの標準偏差σを演算し、全気筒の回転速度変動量ΔTの標準偏差σjが所定値未満の状態が所定回数以上連続するときに、回転状態が安定していると判断して補正値TCYLiの学習を許可し、回転が不安定なとき(例えば失火時や過渡時)には、学習を禁止するようにしたので、誤学習を防止できて、学習精度を向上させることができる。
【0056】
尚、図19のステップ227では、σj<所定値の状態が15回連続するか否かによって回転状態が安定しているか否かを判断するようにしたが、この回数は15回に限定されず、14回以下又は16回以上であっても良い。
【0057】
また、図19のステップ223では、全気筒分について回転速度変動量ΔTの標準偏差σjが所定値未満であるかを判定するようにしたが、この判定を気筒毎に別々に行うようにしても良い。また、回転安定具合を判断する指標は標準偏差σに限定されず、要は、全気筒分又は各気筒毎に回転速度変動量ΔTのばらつきの程度を表す何等かのパラメータを演算するようにすれば良い。
【0058】
尚、上記各実施形態は、本発明を6気筒エンジンに適用したものであるが、これに限られず、4気筒以上のエンジンに同様に適用して実施でき、また、直列エンジンに限らず、V型エンジンにも適用して実施できる。また、上記実施形態では、回転角センサ19から30℃A毎に出力される回転信号NE(パルス信号)に基づいて回転速度偏差を学習するようにしたが、回転信号NEのパルス間隔は30℃Aに限定されず、15℃A等、他のクランク角であっても良いことは言うまでもない。
【図面の簡単な説明】
【図1】本発明の3種類の実施態様を示すブロック図
【図2】本発明の第1実施形態のシステム全体の概略構成を示す図
【図3】失火判定ルーチンの処理の流れを示すフローチャート
【図4】学習処理ルーチンの処理の流れを示すフローチャート
【図5】回転速度の変動の一例を示すタイムチャート
【図6】回転速度変動量ΔTの算出方法を説明する図
【図7】各気筒の回転速度変動量ΔTのばらつきを説明する図
【図8】各気筒と回転角センサとの位置関係を説明する図
【図9】各気筒におけるTDC〜ATDC30℃Aの間T302の時間(回転速度差)の関係を説明する図
【図10】各気筒におけるATDC60℃A〜90℃Aの間T300の時間(回転速度差)の関係を説明する図
【図11】各気筒間の回転速度偏差を説明するタイムチャート
【図12】本発明の第2実施形態における学習処理ルーチンの処理の流れを示すフローチャート
【図13】本発明の第3実施形態における学習エリアを概念的に示す図
【図14】本発明の第4実施形態における補正マップ(a),(b)を概念的に示す図
【図15】本発明の第5実施形態を概念的に示す機能ブロック図
【図16】第5実施形態における回転速度変動量ΔTの算出方法を説明する図
【図17】NE割込ルーチンの処理の流れを示すフローチャート
【図18】失火判定ルーチンの処理の流れを示すフローチャート
【図19】学習処理ルーチンの処理の流れを示すフローチャート
【図20】標準偏差σ・平均値X算出処理ルーチンの処理の流れを示すフローチャート
【符号の説明】
1…回転信号出力手段、2…回転変動量算出手段、3…気筒別補正値算出手段、4…回転速度変動量補正手段、5…失火判定値記憶手段、6…失火判定手段、7…機関負荷出力手段、8…補正マップ記憶手段、9…学習許可判定手段、11…エンジン(内燃機関)、14…吸気管圧力センサ、15…燃料噴射弁、18…気筒判別センサ、19…回転角センサ(回転信号出力手段)、22…制御回路(回転変動量算出手段,気筒別補正値算出手段,回転速度変動量補正手段,失火判定手段)、27…警告ランプ、28…クランク軸。
Claims (8)
- 内燃機関の回転に応じて所定の回転角度毎に回転信号を出力する回転信号出力手段と、
前記回転信号に基づいて前記内燃機関の各気筒の爆発行程毎の回転速度変動量を算出する回転速度変動量算出手段と、
前記回転信号のうち点火直後の失火の影響が現れない期間の信号に基づいて各気筒間の回転速度偏差を学習し、各気筒毎に前記回転速度偏差に応じた補正値を算出する気筒別補正値算出手段と、
前記回転速度変動量算出手段で算出した各気筒の爆発行程毎の回転速度変動量を前記気筒別補正値算出手段で算出した補正値で補正する回転速度変動量補正手段と、
この回転速度変動量補正手段で補正された各気筒の爆発行程毎の回転速度変動量を所定の失火判定値と比較して各気筒の失火の有無を判定する失火判定手段と
を備えたことを特徴とする内燃機関の失火検出装置。 - 前記気筒別補正値算出手段は、各気筒の点火直後の回転速度と1回転前の回転速度との差分から回転速度偏差を学習することを特徴とする請求項1に記載の内燃機関の失火検出装置。
- 前記気筒別補正値算出手段は、特定の気筒と点火時期が1回転ずれた気筒についての補正値として、当該特定の気筒について算出した補正値を用いることを特徴とする請求項1又は2に記載の内燃機関の失火検出装置。
- 前記気筒別補正値算出手段は、補正値をなまし処理することを特徴とする請求項1乃至3のいずれかに記載の内燃機関の失火検出装置。
- 前記気筒別補正値算出手段は、学習した回転速度偏差の絶対値を点火時期が1回転ずれた気筒について平均して補正値を求めることを特徴とする請求項1又は2に記載の内燃機関の失火検出装置。
- 前記気筒別補正値算出手段は、機関負荷毎に前記補正値を学習し、それを次回の補正値の算出に反映させるようにしたことを特徴とする請求項1乃至5のいずれかに記載の内燃機関の失火検出装置。
- 前記気筒別補正値算出手段は、各気筒間の回転速度偏差を学習するか否かを回転安定度合から判定する学習許可判定手段を有することを特徴とする請求項1乃至6のいずれかに記載の内燃機関の失火検出装置。
- 前記学習許可判定手段は、回転安定度合を判断する指標として、全気筒分又は各気筒毎に回転速度変動量の標準偏差若しくはばらつきの程度を表すパラメータを演算し、そのパラメータが所定値以下のときに各気筒間の回転速度偏差の学習を許可することを特徴とする請求項7に記載の内燃機関の失火検出装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27216595A JP3922468B2 (ja) | 1995-02-02 | 1995-10-20 | 内燃機関の失火検出装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP1561195 | 1995-02-02 | ||
JP7-15611 | 1995-02-02 | ||
JP27216595A JP3922468B2 (ja) | 1995-02-02 | 1995-10-20 | 内燃機関の失火検出装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08270490A JPH08270490A (ja) | 1996-10-15 |
JP3922468B2 true JP3922468B2 (ja) | 2007-05-30 |
Family
ID=26351793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27216595A Expired - Fee Related JP3922468B2 (ja) | 1995-02-02 | 1995-10-20 | 内燃機関の失火検出装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3922468B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4552687B2 (ja) | 2005-01-11 | 2010-09-29 | トヨタ自動車株式会社 | 内燃機関の失火判定装置および失火判定方法 |
JP4816574B2 (ja) * | 2007-06-04 | 2011-11-16 | トヨタ自動車株式会社 | 内燃機関の出力状態検出装置、車両及び内燃機関の出力状態検出方法 |
JP4946889B2 (ja) | 2008-01-23 | 2012-06-06 | トヨタ自動車株式会社 | 内燃機関の失火検出装置 |
JP4871307B2 (ja) * | 2008-01-29 | 2012-02-08 | 日立オートモティブシステムズ株式会社 | エンジンの燃料制御装置 |
CN102116241B (zh) * | 2009-12-30 | 2015-01-21 | 中国第一汽车集团公司 | 一种汽油机失火诊断方法 |
JP5427715B2 (ja) * | 2010-07-14 | 2014-02-26 | 日立オートモティブシステムズ株式会社 | エンジンの制御装置 |
JP2015140664A (ja) * | 2014-01-27 | 2015-08-03 | マツダ株式会社 | 燃料噴射制御装置 |
US10983029B2 (en) * | 2018-10-08 | 2021-04-20 | GM Global Technology Operations LLC | Engine misfire detection |
JP2021032114A (ja) * | 2019-08-22 | 2021-03-01 | トヨタ自動車株式会社 | 車両用学習制御システム、車両用制御装置、および車両用学習装置 |
-
1995
- 1995-10-20 JP JP27216595A patent/JP3922468B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08270490A (ja) | 1996-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH05195858A (ja) | 多気筒内燃機関の失火検出装置 | |
US5870688A (en) | Misfire diagnostic system for internal combustion engine | |
JPH0472449A (ja) | エンジンの失火診断装置 | |
US6658346B2 (en) | Misfire detection apparatus for internal combustion engine | |
JPH0586956A (ja) | 内燃機関の失火検出装置 | |
JPH03202660A (ja) | エンジンの失火判定装置 | |
JP3922468B2 (ja) | 内燃機関の失火検出装置 | |
JPH1054294A (ja) | 多気筒内燃機関の失火検出装置 | |
EP0733890B1 (en) | Misfire diagnosis apparatus of multi-cylinder combustion engine | |
US5503008A (en) | Apparatus for diagnosing misfire of multi-cylinder internal combustion engine | |
US5050554A (en) | Ignition timing control apparatus for engines | |
US5638278A (en) | Apparatus for detecting an occurence of misfiring in an engine cylinder | |
JPH06101560A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JPH06146999A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JPH0783108A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP3186250B2 (ja) | 内燃機関の空燃比制御装置 | |
JPH0237156A (ja) | 内燃機関の燃焼状態検出装置 | |
JPH0693919A (ja) | 内燃エンジンの燃焼状態検出装置 | |
JP2943045B2 (ja) | 多気筒内燃機関の失火診断装置 | |
JPS6138139A (ja) | 内燃機関の燃料噴射制御装置 | |
JP2605199B2 (ja) | 内燃エンジンの失火検出装置 | |
JPH09329049A (ja) | エンジン制御方法及びエンジン制御装置 | |
JPH06336948A (ja) | 内燃機関用失火検出装置 | |
JP2797608B2 (ja) | 内燃機関の失火判定装置 | |
JPH09112334A (ja) | 内燃機関の失火検出装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041119 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051021 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060808 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070202 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070215 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |