JPH04265475A - エンジンの気筒別失火判別方法 - Google Patents
エンジンの気筒別失火判別方法Info
- Publication number
- JPH04265475A JPH04265475A JP2628491A JP2628491A JPH04265475A JP H04265475 A JPH04265475 A JP H04265475A JP 2628491 A JP2628491 A JP 2628491A JP 2628491 A JP2628491 A JP 2628491A JP H04265475 A JPH04265475 A JP H04265475A
- Authority
- JP
- Japan
- Prior art keywords
- cylinder
- combustion
- combustion stroke
- misfire
- momentum
- 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.)
- Pending
Links
- 238000002485 combustion reaction Methods 0.000 claims abstract description 241
- 239000000446 fuel Substances 0.000 claims abstract description 54
- 238000002347 injection Methods 0.000 claims abstract description 18
- 239000007924 injection Substances 0.000 claims abstract description 18
- 238000001514 detection method Methods 0.000 claims abstract description 5
- 238000000034 method Methods 0.000 claims description 62
- IAZDPXIOMUYVGZ-UHFFFAOYSA-N Dimethylsulphoxide Chemical compound CS(C)=O IAZDPXIOMUYVGZ-UHFFFAOYSA-N 0.000 abstract 3
- 230000005856 abnormality Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 4
- 238000003745 diagnosis Methods 0.000 description 3
- 239000000498 cooling water Substances 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 230000003197 catalytic effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000012850 discrimination method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000010304 firing Methods 0.000 description 1
- 239000002828 fuel tank Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Ignition Installations For Internal Combustion Engines (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、燃料カット時の回転変
動を基準として各気筒の失火判定レベルを設定し、この
失火判定レベルに基づいて各気筒の失火状態を個別的に
判別するエンジンの気筒別失火判別方法に関する。
動を基準として各気筒の失火判定レベルを設定し、この
失火判定レベルに基づいて各気筒の失火状態を個別的に
判別するエンジンの気筒別失火判別方法に関する。
【0002】
【従来の技術と発明が解決しようとする課題】一般に、
多気筒エンジンにおける燃焼は毎サイクル同一過程を経
て行われることが、安定した出力を得る上で理想である
が、多気筒エンジンにおいては、■吸気管形状の複雑化
、気筒間の吸気干渉などによる吸気分配率の不均一化、
■冷却順路によって生じる各気筒間の若干の燃焼温度の
相違、■各気筒の燃焼室容積、ピストン形状などの製造
上のばらつき、などの相乗的作用から燃焼にばらつきが
生じ易い。
多気筒エンジンにおける燃焼は毎サイクル同一過程を経
て行われることが、安定した出力を得る上で理想である
が、多気筒エンジンにおいては、■吸気管形状の複雑化
、気筒間の吸気干渉などによる吸気分配率の不均一化、
■冷却順路によって生じる各気筒間の若干の燃焼温度の
相違、■各気筒の燃焼室容積、ピストン形状などの製造
上のばらつき、などの相乗的作用から燃焼にばらつきが
生じ易い。
【0003】従来、この気筒間の燃焼変動は、気筒別の
空燃比制御、点火時期制御で最小限に抑制されているが
、最近の高出力、低燃費化の傾向にある高性能エンジン
では、インジェクタ、点火プラグなどに劣化、あるいは
、故障が生じた場合、断続的な失火を起因し出力の低下
を招き易い。
空燃比制御、点火時期制御で最小限に抑制されているが
、最近の高出力、低燃費化の傾向にある高性能エンジン
では、インジェクタ、点火プラグなどに劣化、あるいは
、故障が生じた場合、断続的な失火を起因し出力の低下
を招き易い。
【0004】多気筒エンジンにおいて、ひとつの気筒に
断続的な失火が発生しても気付かずに運転されることが
多く、また、失火の原因が単に一時的に発生したものな
のか、あるいは、インジェクタ、点火プラグなどの劣化
などによって生じたものなのかの判断を運転中に判断す
ることは困難である。
断続的な失火が発生しても気付かずに運転されることが
多く、また、失火の原因が単に一時的に発生したものな
のか、あるいは、インジェクタ、点火プラグなどの劣化
などによって生じたものなのかの判断を運転中に判断す
ることは困難である。
【0005】そのため、例えば、特開昭61−2589
55号公報では、1燃焼行程前気筒のエンジン回転速度
の最小値と最大値との差と、現燃焼行程気筒のエンジン
回転速度の最小値と最大値との差を比較し、この比較値
が予め設定した基準値内に収まっているかどうかで、現
燃焼行程気筒の燃焼状態を判別し、燃焼異常が所定回数
以上発生した場合、失火と判断して警告するようにして
いる。
55号公報では、1燃焼行程前気筒のエンジン回転速度
の最小値と最大値との差と、現燃焼行程気筒のエンジン
回転速度の最小値と最大値との差を比較し、この比較値
が予め設定した基準値内に収まっているかどうかで、現
燃焼行程気筒の燃焼状態を判別し、燃焼異常が所定回数
以上発生した場合、失火と判断して警告するようにして
いる。
【0006】しかし、この先行技術では、各気筒の燃焼
変動を、燃焼行程気筒の最小エンジン回転速度と最大エ
ンジン回転速度との差から求めているが、燃焼中のエン
ジン回転速度は急激に上昇し、また、エンジンに対し負
荷が相対的に大きくかかるため、加速度の変動が大きく
なり、したがって、エンジン回転数の最大値を特定する
ことは困難であり、失火判定時の精度誤差が大きくなっ
てしまう。
変動を、燃焼行程気筒の最小エンジン回転速度と最大エ
ンジン回転速度との差から求めているが、燃焼中のエン
ジン回転速度は急激に上昇し、また、エンジンに対し負
荷が相対的に大きくかかるため、加速度の変動が大きく
なり、したがって、エンジン回転数の最大値を特定する
ことは困難であり、失火判定時の精度誤差が大きくなっ
てしまう。
【0007】ところで、エンジンの燃焼特性は気筒間の
みならず、部品の製造誤差などによりエンジンごとにば
らつきがある。
みならず、部品の製造誤差などによりエンジンごとにば
らつきがある。
【0008】上記先行技術の如く、回転変動を比較する
基準値が絶対値として設定されていると、エンジンごと
の燃焼特性のばらつきにより上記基準値がエンジンごと
に相対変動することになり、あるエンジンにおいては燃
焼異常を正確に把握することが困難になってしまう。
基準値が絶対値として設定されていると、エンジンごと
の燃焼特性のばらつきにより上記基準値がエンジンごと
に相対変動することになり、あるエンジンにおいては燃
焼異常を正確に把握することが困難になってしまう。
【0009】気筒数の少ないエンジンでは、気筒間の燃
焼間隔が比較的長いため回転変動差が大きく、基準値を
絶対値として設定しても、エンジンごとの燃焼特性のば
らつきが失火判定に大きな影響を及ぼすことはないが、
気筒数の多いエンジンでは気筒間の燃焼間隔が短くなり
、その分、回転変動差が小さくなるため判定レベル(基
準値)を絶対値として予め設定すると、エンジンごとの
燃焼特性のばらつきが失火判定精度に大きな影響を及ぼ
すことになる。
焼間隔が比較的長いため回転変動差が大きく、基準値を
絶対値として設定しても、エンジンごとの燃焼特性のば
らつきが失火判定に大きな影響を及ぼすことはないが、
気筒数の多いエンジンでは気筒間の燃焼間隔が短くなり
、その分、回転変動差が小さくなるため判定レベル(基
準値)を絶対値として予め設定すると、エンジンごとの
燃焼特性のばらつきが失火判定精度に大きな影響を及ぼ
すことになる。
【0010】とくに、高回転域においては変動差が少な
くなるため、判定レベルがエンジンごとに相対変動する
と正確な失火判定を行うことが極めて困難になる。
くなるため、判定レベルがエンジンごとに相対変動する
と正確な失火判定を行うことが極めて困難になる。
【0011】例えば、特開昭59−82534号公報で
は、各気筒#i (4気筒であれば、i=1〜4)の燃
焼行程前の瞬時のエンジン回転数NL#iと、燃焼行程
後の瞬時のエンジン回転数NH#i との差である差回
転ΔN#i(ΔN#i=NH#i −NL#i )を気
筒ごとに求め、次いで、この各気筒#i の差回転ΔN
#iの全気筒平均値ΔNA と上記各気筒#i の差回
転ΔN#iとを比較して、各気筒#i の燃焼状態を把
握するようにしている。
は、各気筒#i (4気筒であれば、i=1〜4)の燃
焼行程前の瞬時のエンジン回転数NL#iと、燃焼行程
後の瞬時のエンジン回転数NH#i との差である差回
転ΔN#i(ΔN#i=NH#i −NL#i )を気
筒ごとに求め、次いで、この各気筒#i の差回転ΔN
#iの全気筒平均値ΔNA と上記各気筒#i の差回
転ΔN#iとを比較して、各気筒#i の燃焼状態を把
握するようにしている。
【0012】しかし、この先行技術では、基準値が全気
筒平均差回転ΔNA であるため、燃焼状態により、こ
の全気筒平均差回転ΔNA 自体が常に変動し易く、こ
の全気筒平均差回転ΔNA が変動すると、この全気筒
平均差回転ΔNA を基準として推定する各気筒の燃焼
状態中に、上記全気筒平均差回転ΔNA を設定する際
の他の気筒の燃焼状態因子が含まれてしまい、各気筒の
失火を正確に把握することが困難になる。
筒平均差回転ΔNA であるため、燃焼状態により、こ
の全気筒平均差回転ΔNA 自体が常に変動し易く、こ
の全気筒平均差回転ΔNA が変動すると、この全気筒
平均差回転ΔNA を基準として推定する各気筒の燃焼
状態中に、上記全気筒平均差回転ΔNA を設定する際
の他の気筒の燃焼状態因子が含まれてしまい、各気筒の
失火を正確に把握することが困難になる。
【0013】また、特開昭63−268956号公報に
開示されているように、燃焼前後の運動量の差(公報に
おいては回転周差)から失火判定するものでは、この運
動量の差が負の場合、単純に失火と判断しているが、例
えば定速走行においては機関のフリクションの影響で上
記運動量の差が失火でない(正常燃焼)にも拘らず負と
なることがあり、失火誤判定するおそれがある。
開示されているように、燃焼前後の運動量の差(公報に
おいては回転周差)から失火判定するものでは、この運
動量の差が負の場合、単純に失火と判断しているが、例
えば定速走行においては機関のフリクションの影響で上
記運動量の差が失火でない(正常燃焼)にも拘らず負と
なることがあり、失火誤判定するおそれがある。
【0014】本発明は、上記事情に鑑みてなされたもの
で、失火状態を他の気筒の燃焼状態因子を含むことなく
、気筒間の燃焼のばらつきはもちろん、エンジンごとの
製造上のばらつき、および、機関のフリクションの影響
を受けることなく、正確に検出することのできるエンジ
ンの気筒別失火判別方法を提供することを目的としてい
る。
で、失火状態を他の気筒の燃焼状態因子を含むことなく
、気筒間の燃焼のばらつきはもちろん、エンジンごとの
製造上のばらつき、および、機関のフリクションの影響
を受けることなく、正確に検出することのできるエンジ
ンの気筒別失火判別方法を提供することを目的としてい
る。
【0015】
【課題を解決するための手段】(1) 上記目的を達成
するため、本発明による第一のエンジンの気筒別失火判
別方法は、燃料カット時の2燃焼行程前気筒の所定区間
の運動量と現燃焼行程気筒の所定区間の運動量との平均
値と、1燃焼行程前気筒の所定区間の運動量との差から
1燃焼行程前気筒の燃焼状態判別値を求め、また1燃焼
行程前気筒の上記運動量をパラメータとして読出した1
燃焼行程前気筒の失火判定レベルマップの所定アドレス
に格納されている失火判定レベルを上記燃焼状態判別値
で補正した値で更新し、その後燃料噴射時の2燃焼行程
前気筒の所定区間の運動量と現燃焼行程気筒の所定区間
の運動量との平均値と、1燃焼行程前気筒の所定区間の
運動量との差から1燃焼行程前気筒の燃焼状態判別値を
求め、この1燃焼行程前気筒の燃焼状態判別値と、1燃
焼行程前気筒の上記運動量をパラメータとして読出した
1燃焼行程前気筒の失火判定レベルマップの所定アドレ
スに格納されている失火判定レベルとを比較して1燃焼
行程前気筒の失火状態を判別することを特徴とするもの
である。
するため、本発明による第一のエンジンの気筒別失火判
別方法は、燃料カット時の2燃焼行程前気筒の所定区間
の運動量と現燃焼行程気筒の所定区間の運動量との平均
値と、1燃焼行程前気筒の所定区間の運動量との差から
1燃焼行程前気筒の燃焼状態判別値を求め、また1燃焼
行程前気筒の上記運動量をパラメータとして読出した1
燃焼行程前気筒の失火判定レベルマップの所定アドレス
に格納されている失火判定レベルを上記燃焼状態判別値
で補正した値で更新し、その後燃料噴射時の2燃焼行程
前気筒の所定区間の運動量と現燃焼行程気筒の所定区間
の運動量との平均値と、1燃焼行程前気筒の所定区間の
運動量との差から1燃焼行程前気筒の燃焼状態判別値を
求め、この1燃焼行程前気筒の燃焼状態判別値と、1燃
焼行程前気筒の上記運動量をパラメータとして読出した
1燃焼行程前気筒の失火判定レベルマップの所定アドレ
スに格納されている失火判定レベルとを比較して1燃焼
行程前気筒の失火状態を判別することを特徴とするもの
である。
【0016】(2) 上記目的を達成するため、本発明
による第二のエンジンの気筒別失火判別方法は、燃料カ
ット時の現燃焼行程気筒の所定区間の運動量と1燃焼行
程前気筒の所定区間の運動量との差から現燃焼行程気筒
の燃焼状態判別値を求め、また現燃焼行程気筒の上記運
動量をパラメータとして読出した現燃焼行程気筒の失火
判定レベルマップの所定アドレスに格納されている失火
判定レベルを上記燃焼状態判別値で補正した値で更新し
、その後燃料噴射時の現燃焼行程気筒の所定区間の運動
量と1燃焼行程前気筒の所定区間の運動量との差から現
燃焼行程気筒の燃焼状態判別値を求め、現燃焼行程気筒
の燃焼状態判別値と、現燃焼行程気筒の上記運動量をパ
ラメータとして読出した現燃焼行程気筒の失火判定レベ
ルマップの所定アドレスに格納されている失火判定レベ
ルとを比較して現燃焼行程気筒の失火状態を判別するこ
とを特徴とするものである。
による第二のエンジンの気筒別失火判別方法は、燃料カ
ット時の現燃焼行程気筒の所定区間の運動量と1燃焼行
程前気筒の所定区間の運動量との差から現燃焼行程気筒
の燃焼状態判別値を求め、また現燃焼行程気筒の上記運
動量をパラメータとして読出した現燃焼行程気筒の失火
判定レベルマップの所定アドレスに格納されている失火
判定レベルを上記燃焼状態判別値で補正した値で更新し
、その後燃料噴射時の現燃焼行程気筒の所定区間の運動
量と1燃焼行程前気筒の所定区間の運動量との差から現
燃焼行程気筒の燃焼状態判別値を求め、現燃焼行程気筒
の燃焼状態判別値と、現燃焼行程気筒の上記運動量をパ
ラメータとして読出した現燃焼行程気筒の失火判定レベ
ルマップの所定アドレスに格納されている失火判定レベ
ルとを比較して現燃焼行程気筒の失火状態を判別するこ
とを特徴とするものである。
【0017】
【作 用】(1) 上記第一のエンジンの気筒別失火
判別方法では、1燃焼行程前気筒の失火判別をするに際
し、まず、機関の当該気筒に及ぼすフリクション因子を
検出するため、燃料カット時の1燃焼行程前気筒の前後
の燃焼行程気筒の所定区間の運動量の平均値と、上記1
燃焼行程前気筒の所定区間の運動量との差から燃焼状態
判別値を求める。
判別方法では、1燃焼行程前気筒の失火判別をするに際
し、まず、機関の当該気筒に及ぼすフリクション因子を
検出するため、燃料カット時の1燃焼行程前気筒の前後
の燃焼行程気筒の所定区間の運動量の平均値と、上記1
燃焼行程前気筒の所定区間の運動量との差から燃焼状態
判別値を求める。
【0018】そして、気筒ごとの失火判定レベルマップ
の上記1燃焼行程前気筒の運動量をパラメータとするア
ドレスに格納されている失火判定レベルを上記燃焼状態
判別値で補正し、この補正値にて上記失火判定レベルマ
ップの当該アドレスに格納されている失火判定レベルを
更新して、この失火判定レベルを学習する。
の上記1燃焼行程前気筒の運動量をパラメータとするア
ドレスに格納されている失火判定レベルを上記燃焼状態
判別値で補正し、この補正値にて上記失火判定レベルマ
ップの当該アドレスに格納されている失火判定レベルを
更新して、この失火判定レベルを学習する。
【0019】その後、燃料噴射時の1燃焼行程前気筒の
前後の燃焼行程気筒の所定区間の運動量の平均値と、上
記1燃焼行程前気筒の所定区間の運動量との差から燃焼
状態判別値を求め、この1燃焼行程前気筒の燃焼状態判
別値と、1燃焼行程前気筒の上記運動量をパラメータと
して読出した1燃焼行程前気筒の失火判定レベルマップ
の所定アドレスに格納されている失火判定レベルとを比
較して、上記燃焼状態判別値が上記失火判定レベルより
も小さい場合、当該気筒が失火したと判定する。 (
2) 上記第二のエンジンの気筒別失火判別方法では、
当該燃焼行程気筒の失火判別をするに際し、まず、機関
の当該気筒に及ぼすフリクション因子を検出するため、
燃料カット時の当該燃焼行程気筒と1燃焼行程前気筒の
所定区間の運動量との差から燃焼状態判別値を求める。
前後の燃焼行程気筒の所定区間の運動量の平均値と、上
記1燃焼行程前気筒の所定区間の運動量との差から燃焼
状態判別値を求め、この1燃焼行程前気筒の燃焼状態判
別値と、1燃焼行程前気筒の上記運動量をパラメータと
して読出した1燃焼行程前気筒の失火判定レベルマップ
の所定アドレスに格納されている失火判定レベルとを比
較して、上記燃焼状態判別値が上記失火判定レベルより
も小さい場合、当該気筒が失火したと判定する。 (
2) 上記第二のエンジンの気筒別失火判別方法では、
当該燃焼行程気筒の失火判別をするに際し、まず、機関
の当該気筒に及ぼすフリクション因子を検出するため、
燃料カット時の当該燃焼行程気筒と1燃焼行程前気筒の
所定区間の運動量との差から燃焼状態判別値を求める。
【0020】そして、気筒ごとの失火判定レベルマップ
の当該燃焼行程気筒の運動量をパラメータとするアドレ
スに格納されている失火判定レベルを上記燃焼状態判別
値で補正し、この補正値にて上記失火判定レベルマップ
の当該アドレスに格納されている失火判定レベルを更新
して、この失火判定レベルを学習する。
の当該燃焼行程気筒の運動量をパラメータとするアドレ
スに格納されている失火判定レベルを上記燃焼状態判別
値で補正し、この補正値にて上記失火判定レベルマップ
の当該アドレスに格納されている失火判定レベルを更新
して、この失火判定レベルを学習する。
【0021】その後、燃料噴射時の当該燃焼行程気筒と
1燃焼行程前気筒の所定区間の運動量との差から燃焼状
態判別値を求め、当該燃焼行程気筒の燃焼状態判別値と
、当該燃焼行程気筒の上記運動量をパラメータとして読
出した当該燃焼行程気筒の失火判定レベルマップの所定
アドレスに格納されている失火判定レベルとを比較して
、上記燃焼状態判別値が上記失火判定レベルよりも小さ
い場合、当該気筒が失火したと判定する。
1燃焼行程前気筒の所定区間の運動量との差から燃焼状
態判別値を求め、当該燃焼行程気筒の燃焼状態判別値と
、当該燃焼行程気筒の上記運動量をパラメータとして読
出した当該燃焼行程気筒の失火判定レベルマップの所定
アドレスに格納されている失火判定レベルとを比較して
、上記燃焼状態判別値が上記失火判定レベルよりも小さ
い場合、当該気筒が失火したと判定する。
【0022】
【実施例】以下、図面に基づいて本発明の実施例を説明
する。
する。
【0023】図1〜図10は本発明の第一実施例を示し
、図1〜図3は気筒別失火判別手順を示すフローチャー
ト、図4は燃料カット判別手順を示すフローチャート、
図5はエンジン制御系の概略図、図6はクランクロータ
とクランク角センサの正面図、図7はカムロータとカム
角センサの正面図、図8は気筒内圧力変動、クランクパ
ルス、カムパルス、および、エンジン回転変動を示すタ
イムチャート、図9は失火判定レベルマップの概念図、
図10は基本的な気筒別失火判別方法を示す概念図であ
る。
、図1〜図3は気筒別失火判別手順を示すフローチャー
ト、図4は燃料カット判別手順を示すフローチャート、
図5はエンジン制御系の概略図、図6はクランクロータ
とクランク角センサの正面図、図7はカムロータとカム
角センサの正面図、図8は気筒内圧力変動、クランクパ
ルス、カムパルス、および、エンジン回転変動を示すタ
イムチャート、図9は失火判定レベルマップの概念図、
図10は基本的な気筒別失火判別方法を示す概念図であ
る。
【0024】(構 成)図5の符号1はエンジンで、
図においては4気筒水平対向エンジンを示す。このエン
ジン1のシリンダヘッド2に形成した吸気ポート2aに
インテークマニホルド3が連通され、このインテークマ
ニホルド3の上流にエアチャンバ4を介してスロットル
チャンバ5が連通され、このスロットルチャンバ5の上
流側に吸気管6を介してエアクリーナ7が取付けられて
いる。
図においては4気筒水平対向エンジンを示す。このエン
ジン1のシリンダヘッド2に形成した吸気ポート2aに
インテークマニホルド3が連通され、このインテークマ
ニホルド3の上流にエアチャンバ4を介してスロットル
チャンバ5が連通され、このスロットルチャンバ5の上
流側に吸気管6を介してエアクリーナ7が取付けられて
いる。
【0025】また、上記吸気管6の上記エアクリーナ7
の直下流に吸入空気量センサ(図においては、ホットワ
イヤ式エアフローメータ)8が介装され、さらに、上記
スロットルチャンバ5に設けられたスロットルバルブ5
aにスロットル開度センサ9aとスロットルバルブ全閉
を検出するアイドルスイッチ9bとが連設されている。 また、上記インテークマニホルド3の各気筒の各吸
気ポート2aの直上流側に、マルチポイントインジェク
タ(以下「MPI」と略称)10が配設されている。ま
た、符号11は燃料タンク、12は上記MPI10に燃
料を供給する燃料ポンプである。
の直下流に吸入空気量センサ(図においては、ホットワ
イヤ式エアフローメータ)8が介装され、さらに、上記
スロットルチャンバ5に設けられたスロットルバルブ5
aにスロットル開度センサ9aとスロットルバルブ全閉
を検出するアイドルスイッチ9bとが連設されている。 また、上記インテークマニホルド3の各気筒の各吸
気ポート2aの直上流側に、マルチポイントインジェク
タ(以下「MPI」と略称)10が配設されている。ま
た、符号11は燃料タンク、12は上記MPI10に燃
料を供給する燃料ポンプである。
【0026】また、上記エンジン1のクランクシャフト
13にクランクロータ15が軸着され、このクランクロ
ータ15の外周に、所定クランク角に対応する突起(ス
リットでもよい)を検出するための電磁ピックアップな
どからなるクランク角センサ16が対設され、さらに、
上記クランクシャフト13に対して1/2回転するカム
シャフト14にカムロータ17が連設され、このカムロ
ータ17の外周にカム角センサ18が対設されている。
13にクランクロータ15が軸着され、このクランクロ
ータ15の外周に、所定クランク角に対応する突起(ス
リットでもよい)を検出するための電磁ピックアップな
どからなるクランク角センサ16が対設され、さらに、
上記クランクシャフト13に対して1/2回転するカム
シャフト14にカムロータ17が連設され、このカムロ
ータ17の外周にカム角センサ18が対設されている。
【0027】図6に示すように、上記クランクロータ1
5の外周に突起(スリットでもよい)15a,15b,
15cが形成されている。この各突起15a,15b,
15cが各気筒の圧縮上死点前(BTDC)θ1 ,θ
2 ,θ3 の位置に形成されており、突起15a,1
5b間の通過時間から周期f1,2 (ここにおいて、
f=1/ω ω:角速度)を算出し、また、突起15
b,15c間の通過時間から周期f2,3 を算出する
。さらに、上記突起15bが点火時期を設定する際の基
準クランク角を示す。
5の外周に突起(スリットでもよい)15a,15b,
15cが形成されている。この各突起15a,15b,
15cが各気筒の圧縮上死点前(BTDC)θ1 ,θ
2 ,θ3 の位置に形成されており、突起15a,1
5b間の通過時間から周期f1,2 (ここにおいて、
f=1/ω ω:角速度)を算出し、また、突起15
b,15c間の通過時間から周期f2,3 を算出する
。さらに、上記突起15bが点火時期を設定する際の基
準クランク角を示す。
【0028】一般に、アイドル運転時の点火時期はBT
DC20℃A付近であり、このクランク角で着火しても
、その後約10℃Aまでは、まだ燃焼圧が急激に上昇す
ることはない。
DC20℃A付近であり、このクランク角で着火しても
、その後約10℃Aまでは、まだ燃焼圧が急激に上昇す
ることはない。
【0029】また、図8に示すように、実施例において
は、各気筒の排気弁の開弁時期を、次の燃焼気筒の点火
基準クランク角BTDCθ2 よりやや遅角側に設定さ
れているが、一般に、排気弁開弁直後の燃焼圧は急激に
低下しているため、クランク角BTDCθ3 では、燃
焼圧の影響はほとんどない。
は、各気筒の排気弁の開弁時期を、次の燃焼気筒の点火
基準クランク角BTDCθ2 よりやや遅角側に設定さ
れているが、一般に、排気弁開弁直後の燃焼圧は急激に
低下しているため、クランク角BTDCθ3 では、燃
焼圧の影響はほとんどない。
【0030】したがって、上記突起15cのクランク角
θ3 をBTDC10℃Aより進角側に設定すれば、上
記突起15b,15cのクランク角BTDCθ2 ,θ
3 の間の区間が、各気筒間の燃焼による影響をほとん
ど受けない、すなわち、当該燃焼行程気筒の燃焼による
仕事をしていない区間になる。
θ3 をBTDC10℃Aより進角側に設定すれば、上
記突起15b,15cのクランク角BTDCθ2 ,θ
3 の間の区間が、各気筒間の燃焼による影響をほとん
ど受けない、すなわち、当該燃焼行程気筒の燃焼による
仕事をしていない区間になる。
【0031】また、図7に示すように、上記カムロータ
17の外周に、気筒判別用突起(スリットでもよい)1
7a,17b,17cが形成されている。突起17aが
#3,#4気筒の圧縮上死点後(ATDC)θ4 の位
置に形成され、また、突起17bが3ヶの突起で構成さ
れ、その最初の突起が#1気筒の圧縮上死点後(ATD
C)θ5 の位置に形成され、さらに、突起17cが2
ヶの突起で構成され、その最初の突起が#2気筒の圧縮
上死点後(ATDC)θ6 の位置に形成されている。
17の外周に、気筒判別用突起(スリットでもよい)1
7a,17b,17cが形成されている。突起17aが
#3,#4気筒の圧縮上死点後(ATDC)θ4 の位
置に形成され、また、突起17bが3ヶの突起で構成さ
れ、その最初の突起が#1気筒の圧縮上死点後(ATD
C)θ5 の位置に形成され、さらに、突起17cが2
ヶの突起で構成され、その最初の突起が#2気筒の圧縮
上死点後(ATDC)θ6 の位置に形成されている。
【0032】なお、図の実施例ではθ1 =97℃A、
θ2 =65℃A、θ3 =10℃A、θ4 =20℃
A、θ5 =5℃A、θ6 =20℃A、θ(2−3)
=55℃Aであり、この配列により、図8に示すよう
に、例えば、上記カム角センサ18がθ5 (突起17
b)のカムパルスを検出した場合、その後にクランク角
センサ16で検出するクランクパルスが#3気筒のクラ
ンク角を示す信号であることが判別できる。また、上記
θ5 のカムパルスの後にθ4 (突起17a)のカム
パルスを検出した場合、その後のクランク角センサ16
で検出するクランクパルスが#2気筒のクランク角を示
すものであることが判別できる。同様にθ6 (突起1
7c)のカムパルスを検出した後のクランクパルスが#
4気筒のクランク角を示すものであり、また、上記θ6
のカムパルスの後にθ4 (突起17a)のカムパル
スを検出した場合、その後に検出するクランクパルスが
#1気筒のクランク角を示すものであることが判別でき
る。
θ2 =65℃A、θ3 =10℃A、θ4 =20℃
A、θ5 =5℃A、θ6 =20℃A、θ(2−3)
=55℃Aであり、この配列により、図8に示すよう
に、例えば、上記カム角センサ18がθ5 (突起17
b)のカムパルスを検出した場合、その後にクランク角
センサ16で検出するクランクパルスが#3気筒のクラ
ンク角を示す信号であることが判別できる。また、上記
θ5 のカムパルスの後にθ4 (突起17a)のカム
パルスを検出した場合、その後のクランク角センサ16
で検出するクランクパルスが#2気筒のクランク角を示
すものであることが判別できる。同様にθ6 (突起1
7c)のカムパルスを検出した後のクランクパルスが#
4気筒のクランク角を示すものであり、また、上記θ6
のカムパルスの後にθ4 (突起17a)のカムパル
スを検出した場合、その後に検出するクランクパルスが
#1気筒のクランク角を示すものであることが判別でき
る。
【0033】さらに、上記カム角センサ18でカムパル
スを検出した後に、上記クランク角センサ16で検出す
るクランクパルスが該当気筒の基準クランク角(θ1
)を示すものであることが判別できる。
スを検出した後に、上記クランク角センサ16で検出す
るクランクパルスが該当気筒の基準クランク角(θ1
)を示すものであることが判別できる。
【0034】なお、上記クランク角センサ16、カム角
センサ18はクランク角検出手段を構成しており、カム
パルスパターンを変えることにより、カム角センサ18
のみでクランク角検出手段を構成するようにしてもよい
。
センサ18はクランク角検出手段を構成しており、カム
パルスパターンを変えることにより、カム角センサ18
のみでクランク角検出手段を構成するようにしてもよい
。
【0035】一方、上記エンジンの上記インテークマニ
ホルド3に形成したライザをなす冷却水通路(図示せず
)に冷却水温センサ20が臨まされ、また、上記シリン
ダヘッド2の排気ポート2bに連通する排気管21にO
2 センサ22が臨まされている。なお、符号23は触
媒コンバータで、24は車速センサである。
ホルド3に形成したライザをなす冷却水通路(図示せず
)に冷却水温センサ20が臨まされ、また、上記シリン
ダヘッド2の排気ポート2bに連通する排気管21にO
2 センサ22が臨まされている。なお、符号23は触
媒コンバータで、24は車速センサである。
【0036】(制御装置の回路構成)一方、符号31は
マイクロコンピュータなどからなる制御装置で、この制
御装置31のCPU(中央演算処理装置)32、ROM
33、RAM34、バックアップRAM(不揮発性RA
M)35、および、I/O インターフェイス36がバ
スライン37を介して互いに接続されて、定電圧回路3
8から所定の安定化電圧が供給される。
マイクロコンピュータなどからなる制御装置で、この制
御装置31のCPU(中央演算処理装置)32、ROM
33、RAM34、バックアップRAM(不揮発性RA
M)35、および、I/O インターフェイス36がバ
スライン37を介して互いに接続されて、定電圧回路3
8から所定の安定化電圧が供給される。
【0037】上記定電圧回路38は、制御リレー39を
介してバッテリ41に接続され、キースイッチ40がO
Nされて上記制御リレー39のリレー接点が閉となった
とき各部に制御用電源を供給するとともに、上記バッテ
リ41に直接接続され、上記バックアップRAM35に
、キースイッチ40がOFFされたときでもバックアッ
プ電源を供給する。
介してバッテリ41に接続され、キースイッチ40がO
Nされて上記制御リレー39のリレー接点が閉となった
とき各部に制御用電源を供給するとともに、上記バッテ
リ41に直接接続され、上記バックアップRAM35に
、キースイッチ40がOFFされたときでもバックアッ
プ電源を供給する。
【0038】また、上記I/O インターフェイス36
の入力ポートに、各センサ8,9a,16,18,20
,24、および、アイドルスイッチ9bが接続されると
ともに、上記バッテリ41のプラス端子が接続され、そ
の端子電圧がモニタされ、また、上記I/O インター
フェイス36の出力ポートに、駆動回路42を介してM
PI10と、図示しないインストルメントパネルなどに
配設したインジケータランプなどの警告手段43とが接
続されている。
の入力ポートに、各センサ8,9a,16,18,20
,24、および、アイドルスイッチ9bが接続されると
ともに、上記バッテリ41のプラス端子が接続され、そ
の端子電圧がモニタされ、また、上記I/O インター
フェイス36の出力ポートに、駆動回路42を介してM
PI10と、図示しないインストルメントパネルなどに
配設したインジケータランプなどの警告手段43とが接
続されている。
【0039】上記ROM33には制御プログラム、固定
データなどが記憶されている。固定データとしては、後
述する気筒別の失火判定レベルマップMPΔNLEVE
L のイニシャルセット値ΔNSET などがある。
データなどが記憶されている。固定データとしては、後
述する気筒別の失火判定レベルマップMPΔNLEVE
L のイニシャルセット値ΔNSET などがある。
【0040】また、上記RAM34には上記各センサ類
の出力信号を処理した後のデータ、CPU32で演算処
理したデータなどが格納されている。さらに、バックア
ップRAM35は、キースイッチ40に関係なく常時電
源が通電され、キースイッチ40をOFFにしてエンジ
ンの運転を停止しても記憶内容が消失せず、後述する気
筒別に学習した失火判定レベルΔNLEVEL および
気筒別の気筒別失火データなどのトラブルデータなどが
記憶される。
の出力信号を処理した後のデータ、CPU32で演算処
理したデータなどが格納されている。さらに、バックア
ップRAM35は、キースイッチ40に関係なく常時電
源が通電され、キースイッチ40をOFFにしてエンジ
ンの運転を停止しても記憶内容が消失せず、後述する気
筒別に学習した失火判定レベルΔNLEVEL および
気筒別の気筒別失火データなどのトラブルデータなどが
記憶される。
【0041】このトラブルデータは上記I/O インタ
ーフェイス36の出力ポートに接続した故障診断用コネ
クタ44に、故障診断用シリアルモニタ45を接続する
ことで、読出すことができる。
ーフェイス36の出力ポートに接続した故障診断用コネ
クタ44に、故障診断用シリアルモニタ45を接続する
ことで、読出すことができる。
【0042】さらに、上記CPU32では上記ROM3
3に記憶されている制御プログラムに従い、上記RAM
34、バックアップRAM35に格納した各種データに
基づき、MPI10に対する燃料噴射パルス幅Ti な
どを気筒別に演算する。
3に記憶されている制御プログラムに従い、上記RAM
34、バックアップRAM35に格納した各種データに
基づき、MPI10に対する燃料噴射パルス幅Ti な
どを気筒別に演算する。
【0043】上記制御装置31においては、一般的な燃
料噴射制御に加え、各気筒#i (i=1〜4)の失火
を個別的に判断している。
料噴射制御に加え、各気筒#i (i=1〜4)の失火
を個別的に判断している。
【0044】この気筒別失火判別方法の基本概念を図8
,図10に従って説明する。
,図10に従って説明する。
【0045】図8はエンジンの回転変動を示すもので、
例えば4気筒エンジンの場合、燃焼行程気筒#i が点
火順(例えば#1 →#3 →#2 →#4 )に従っ
て 180℃Aごとに切換えるため、燃焼行程どうしが
その前後において重複することはなく、燃焼行程気筒#
i の燃焼終了後と、次の燃焼行程気筒#i+1 の燃
焼前との間に各気筒の燃焼による影響を受けない、いわ
ゆる燃焼による仕事をしていない区間が存在する。
例えば4気筒エンジンの場合、燃焼行程気筒#i が点
火順(例えば#1 →#3 →#2 →#4 )に従っ
て 180℃Aごとに切換えるため、燃焼行程どうしが
その前後において重複することはなく、燃焼行程気筒#
i の燃焼終了後と、次の燃焼行程気筒#i+1 の燃
焼前との間に各気筒の燃焼による影響を受けない、いわ
ゆる燃焼による仕事をしていない区間が存在する。
【0046】例えば、図8に示すように、気筒#1 〜
#4 の燃焼による仕事をしていない区間の瞬時の運動
量であるエンジン回転数をそれぞれN#1〜N#4とし
た場合、ある気筒#i において失火が発生した場合、
燃焼後のエンジン出力が急激に落込む。この実施例では
、各気筒#i の燃焼状態と上記エンジン回転数N#i
との間に非常に強い相関関係があることに着目し、燃焼
状態を気筒別に判別し、この判別値と失火判定レベルΔ
NLEVEL とを比較して、当該気筒#i の失火状
態を判別しようとするものである。
#4 の燃焼による仕事をしていない区間の瞬時の運動
量であるエンジン回転数をそれぞれN#1〜N#4とし
た場合、ある気筒#i において失火が発生した場合、
燃焼後のエンジン出力が急激に落込む。この実施例では
、各気筒#i の燃焼状態と上記エンジン回転数N#i
との間に非常に強い相関関係があることに着目し、燃焼
状態を気筒別に判別し、この判別値と失火判定レベルΔ
NLEVEL とを比較して、当該気筒#i の失火状
態を判別しようとするものである。
【0047】すなわち、この失火判別方法では、まず、
現燃焼行程気筒#i のエンジン回転数N#iと2燃焼
行程前気筒#i−2 のエンジン回転数N#i−2との
平均値(N#i−2+N#i)/2と、1燃焼行程前気
筒#i−1 のエンジン回転数N#i−1との差から燃
焼状態判別値ΔN#i−1(ΔN#i−1←N#i−1
−(N#i+N#i−2)/2)を求め、この判別値Δ
N#i−1と、当該気筒#i−1 の運転状態に応じて
設定した失火判定レベルΔNLEVEL とを比較し、
上記燃焼状態判別値ΔN#i−1が失火判定レベルΔN
LEVEL より低い場合、失火と判定するものである
。
現燃焼行程気筒#i のエンジン回転数N#iと2燃焼
行程前気筒#i−2 のエンジン回転数N#i−2との
平均値(N#i−2+N#i)/2と、1燃焼行程前気
筒#i−1 のエンジン回転数N#i−1との差から燃
焼状態判別値ΔN#i−1(ΔN#i−1←N#i−1
−(N#i+N#i−2)/2)を求め、この判別値Δ
N#i−1と、当該気筒#i−1 の運転状態に応じて
設定した失火判定レベルΔNLEVEL とを比較し、
上記燃焼状態判別値ΔN#i−1が失火判定レベルΔN
LEVEL より低い場合、失火と判定するものである
。
【0048】ところで、実際のエンジンにおいてはシリ
ンダボア径、ピストン径などの仕上精度誤差、製造誤差
などによりフリクションが気筒ごとに若干相違する。失
火判別に際しては気筒ごとのフリクションの影響で正常
燃焼時の上記判別値ΔN#i−1にはエンジンごとにば
らつきがある。
ンダボア径、ピストン径などの仕上精度誤差、製造誤差
などによりフリクションが気筒ごとに若干相違する。失
火判別に際しては気筒ごとのフリクションの影響で正常
燃焼時の上記判別値ΔN#i−1にはエンジンごとにば
らつきがある。
【0049】この実施例では、フリクションに伴う気筒
ごとの変動因子を排除すべく、上記失火判定レベルΔN
LEVEL を燃料カット時の判別値ΔN#i−1で補
正、学習した変動値としている。失火判別する際の比較
値を点火順で相隣接する気筒のエンジン回転数の平均値
に基づいて設定し、また、失火判定レベルΔNLEVE
L を燃料カット時の判別値ΔN#i−1で学習補正し
てフリクション因子を排除した失火判定レベルΔNLE
VEL を気筒別に設定しているため、定速走行はもち
ろんのこと加速途中においても失火状態を正確に検出す
ることができる。
ごとの変動因子を排除すべく、上記失火判定レベルΔN
LEVEL を燃料カット時の判別値ΔN#i−1で補
正、学習した変動値としている。失火判別する際の比較
値を点火順で相隣接する気筒のエンジン回転数の平均値
に基づいて設定し、また、失火判定レベルΔNLEVE
L を燃料カット時の判別値ΔN#i−1で学習補正し
てフリクション因子を排除した失火判定レベルΔNLE
VEL を気筒別に設定しているため、定速走行はもち
ろんのこと加速途中においても失火状態を正確に検出す
ることができる。
【0050】なお、以下に、各1燃焼行程前気筒#i−
1 の燃焼状態判別値ΔN#i−1の算出方法を具体的
に示す。
1 の燃焼状態判別値ΔN#i−1の算出方法を具体的
に示す。
【0051】ΔN#1=N#1−(N#4+N#3)/
2ΔN#3=N#3−(N#1+N#2)/2ΔN#2
=N#2−(N#3+N#4)/2ΔN#4=N#4−
(N#2+N#1)/2また、以下に、燃焼による仕事
をしていない区間のエンジン回転数Nと、気筒の燃焼状
態、すなわち、図示平均有効圧力Pi との相関式を示
す。
2ΔN#3=N#3−(N#1+N#2)/2ΔN#2
=N#2−(N#3+N#4)/2ΔN#4=N#4−
(N#2+N#1)/2また、以下に、燃焼による仕事
をしていない区間のエンジン回転数Nと、気筒の燃焼状
態、すなわち、図示平均有効圧力Pi との相関式を示
す。
【0052】まず、エンジンが回転している状態を式で
表すと、 I・(2π/60)・(dN/dt)
=Ti −Tf …… (1)
I :慣性モーメント
N :エンジン回転速度
Ti :指示トルク
Tf :フリクショントルクとなり、この(1) 式を
簡略化して、
表すと、 I・(2π/60)・(dN/dt)
=Ti −Tf …… (1)
I :慣性モーメント
N :エンジン回転速度
Ti :指示トルク
Tf :フリクショントルクとなり、この(1) 式を
簡略化して、
【0053】
【0054】とおき、さらに圧力に置換えて表すと、
【
0055】
0055】
【0056】Pi :図示平均有効圧力Pf :摩擦損
失有効圧力 となる。
失有効圧力 となる。
【0057】実験によれば、各気筒#i の燃焼後のエ
ンジン回転数N#iと、このエンジン回転数N#iを検
出する区間の時間的変化ΔT(例えば図6,図8の区間
(θ2 −θ3 )相当)とを基に上記(3)式のdN
/dtを求めた結果、非常に強い相関が得られた。
ンジン回転数N#iと、このエンジン回転数N#iを検
出する区間の時間的変化ΔT(例えば図6,図8の区間
(θ2 −θ3 )相当)とを基に上記(3)式のdN
/dtを求めた結果、非常に強い相関が得られた。
【0058】したがって、各気筒の燃焼後のエンジン回
転数を求めることで、図示平均有効圧力Pi 、すなわ
ち燃焼状態を推定することができ、相隣接する燃焼行程
気筒のエンジン回転数と比較することで、当該燃焼行程
気筒の失火の有無を判断する判別値を設定することがで
きる。
転数を求めることで、図示平均有効圧力Pi 、すなわ
ち燃焼状態を推定することができ、相隣接する燃焼行程
気筒のエンジン回転数と比較することで、当該燃焼行程
気筒の失火の有無を判断する判別値を設定することがで
きる。
【0059】(作 用)次に、上記制御装置31にて
実行する具体的な気筒別失火判別手順を図1〜図3のフ
ローチャートに従って説明する。なお、このフローチャ
ートは回転数に同期して気筒ごとに実行される。
実行する具体的な気筒別失火判別手順を図1〜図3のフ
ローチャートに従って説明する。なお、このフローチャ
ートは回転数に同期して気筒ごとに実行される。
【0060】まず、ステップ(以下「S」と略称)S1
01で、クランク角センサ16およびカム角センサ18
からそれぞれ出力されるクランクパルスおよびカムパル
スに基づき燃焼行程気筒#i (i=1,3,2,4)
を判別し、S102で、クランク角センサ16から出力
されるBTDCθ2 ,θ3 を検出するクランクパル
スを上記カムパルスの割込みにより判別し、S103で
、上記BTDCθ2 ,θ3 を検出するクランクパル
ス間の経過時間と、θ2 ,θ3 の挾み角(θ2 −
θ3 )から周期f2,3を算出する(f2,3 ←d
t2,3 /d(θ2 −θ3 ))。その後、S10
4で、上記周期f2,3 から現燃焼行程気筒#i の
燃焼による仕事をしていない区間のエンジン回転数N#
iを算出する(N#i←60/f2,3 )。
01で、クランク角センサ16およびカム角センサ18
からそれぞれ出力されるクランクパルスおよびカムパル
スに基づき燃焼行程気筒#i (i=1,3,2,4)
を判別し、S102で、クランク角センサ16から出力
されるBTDCθ2 ,θ3 を検出するクランクパル
スを上記カムパルスの割込みにより判別し、S103で
、上記BTDCθ2 ,θ3 を検出するクランクパル
ス間の経過時間と、θ2 ,θ3 の挾み角(θ2 −
θ3 )から周期f2,3を算出する(f2,3 ←d
t2,3 /d(θ2 −θ3 ))。その後、S10
4で、上記周期f2,3 から現燃焼行程気筒#i の
燃焼による仕事をしていない区間のエンジン回転数N#
iを算出する(N#i←60/f2,3 )。
【0061】そして、S105で、後述する燃料カット
判別フローチャートで設定した燃料カットフラグFLA
GFCがセット状態(FLAGFC=1)かどうか判別
し、FLAGFC=1(燃料カット)の場合S106へ
進み、FLAGFC=0(燃料噴射)の場合S107へ
進む。
判別フローチャートで設定した燃料カットフラグFLA
GFCがセット状態(FLAGFC=1)かどうか判別
し、FLAGFC=1(燃料カット)の場合S106へ
進み、FLAGFC=0(燃料噴射)の場合S107へ
進む。
【0062】S106では、S115あるいはS133
で設定する燃料カット/カット解除フラグFLAG1が
セット状態(FLAG1=1)かどうか判別し、FLA
G1=0(前回燃料噴射)の場合S108へ進み、FL
AG1=1(前回燃料カット)の場合S109へ進む。
で設定する燃料カット/カット解除フラグFLAG1が
セット状態(FLAG1=1)かどうか判別し、FLA
G1=0(前回燃料噴射)の場合S108へ進み、FL
AG1=1(前回燃料カット)の場合S109へ進む。
【0063】S108へ進むと、燃料カット後最初のル
ーチンであるため、ディレイカウンタCOUNTを設定
値COUNTSET (この実施例においてはCOUN
TSET =2)にてセットした後(COUNT←CO
UNTSET )、S115へ進む。燃料カット直後に
おける1燃焼行程前気筒#i−1 と2燃焼行程前気筒
#i−2 のエンジン回転数N#i−1,N#i−2は
燃料噴射時のデータであるため、後述するS111で読
出すと気筒ごとのフリクションを検出することができな
い。したがって、S111で燃料カット後少なくとも2
順目以後の燃焼行程気筒#i のときのエンジン回転数
N#i−1,N#i−2を読出させるべくS108でデ
ィレイカウントをセットする。
ーチンであるため、ディレイカウンタCOUNTを設定
値COUNTSET (この実施例においてはCOUN
TSET =2)にてセットした後(COUNT←CO
UNTSET )、S115へ進む。燃料カット直後に
おける1燃焼行程前気筒#i−1 と2燃焼行程前気筒
#i−2 のエンジン回転数N#i−1,N#i−2は
燃料噴射時のデータであるため、後述するS111で読
出すと気筒ごとのフリクションを検出することができな
い。したがって、S111で燃料カット後少なくとも2
順目以後の燃焼行程気筒#i のときのエンジン回転数
N#i−1,N#i−2を読出させるべくS108でデ
ィレイカウントをセットする。
【0064】一方、S106で前回燃料カット(FLA
G1=1)と判断されてS109へ進むと、上記ディレ
イカウンタCOUNTが0かどうか判断し、COUNT
≠0の場合、S110で減算した後(COUNT←CO
UNT−1)、S115へ進む。また、上記S109で
COUNT=0と判断されるとS111へ進み、失火判
定レベルΔNLEVEL の学習を実行する。
G1=1)と判断されてS109へ進むと、上記ディレ
イカウンタCOUNTが0かどうか判断し、COUNT
≠0の場合、S110で減算した後(COUNT←CO
UNT−1)、S115へ進む。また、上記S109で
COUNT=0と判断されるとS111へ進み、失火判
定レベルΔNLEVEL の学習を実行する。
【0065】まず、S111で、前回および前々回のル
ーチンで設定し、RAM34の所定アドレスに格納した
1燃焼行程前気筒#i−1 の燃焼による仕事をしてい
ない区間のエンジン回転数N#i−1と2燃焼行程前気
筒#i−2 の燃焼による仕事をしていない区間のエン
ジン回転数N#i−2とを読出す。図8に示すように点
火順を#1 →#3 →#2 →#4 とした場合、現
燃焼行程気筒#i を#3 とすると、1燃焼行程前気
筒#i−1 が#1 で、2燃焼行程前気筒#i−2
が#4 となる。
ーチンで設定し、RAM34の所定アドレスに格納した
1燃焼行程前気筒#i−1 の燃焼による仕事をしてい
ない区間のエンジン回転数N#i−1と2燃焼行程前気
筒#i−2 の燃焼による仕事をしていない区間のエン
ジン回転数N#i−2とを読出す。図8に示すように点
火順を#1 →#3 →#2 →#4 とした場合、現
燃焼行程気筒#i を#3 とすると、1燃焼行程前気
筒#i−1 が#1 で、2燃焼行程前気筒#i−2
が#4 となる。
【0066】次いで、S112で、現燃焼行程気筒#i
の燃焼による仕事をしていない区間のエンジン回転数
N#iと2燃焼行程前気筒#i−2 の燃焼による仕事
をしていない区間のエンジン回転数N#i−2との平均
値(N#i+N#i−2)/2と、上記1燃焼行程前気
筒#i−1 の燃焼による仕事をしていない区間のエン
ジン回転数N#i−1との差から1燃焼行程前気筒#i
−1 の燃焼状態判別値ΔN#i−1を求める。
の燃焼による仕事をしていない区間のエンジン回転数
N#iと2燃焼行程前気筒#i−2 の燃焼による仕事
をしていない区間のエンジン回転数N#i−2との平均
値(N#i+N#i−2)/2と、上記1燃焼行程前気
筒#i−1 の燃焼による仕事をしていない区間のエン
ジン回転数N#i−1との差から1燃焼行程前気筒#i
−1 の燃焼状態判別値ΔN#i−1を求める。
【0067】
ΔN#i−1←N#i−1−{(N#i+N#i−2)
/2}その後、S113で、1燃焼行程前気筒#i−1
のエンジン回転数N#i−1をパラメータとしてバッ
クアップRAM35に格納されている当該気筒#i−1
の失火判定レベルマップMPΔNLEVEL から失
火判定レベルΔNLEVEL を設定する。
/2}その後、S113で、1燃焼行程前気筒#i−1
のエンジン回転数N#i−1をパラメータとしてバッ
クアップRAM35に格納されている当該気筒#i−1
の失火判定レベルマップMPΔNLEVEL から失
火判定レベルΔNLEVEL を設定する。
【0068】図9に示すように、上記失火判定レベルマ
ップMPΔNLEVEL は、エンジン回転数をパラメ
ータとする二次元マップで、気筒ごとに設けられており
、各領域には失火判定レベルΔNLEVEL が格納さ
れている。なお、失火判定レベルΔNLEVEL のイ
ニシャル値としては予め実験などから求めたΔNSET
がセットされる。
ップMPΔNLEVEL は、エンジン回転数をパラメ
ータとする二次元マップで、気筒ごとに設けられており
、各領域には失火判定レベルΔNLEVEL が格納さ
れている。なお、失火判定レベルΔNLEVEL のイ
ニシャル値としては予め実験などから求めたΔNSET
がセットされる。
【0069】そして、S114で上記燃焼状態判別値Δ
N#i−1と上記失火判定レベルΔNLEVELとに基
づき、次式に示す重みrの加重平均から失火判定レベル
を求め、1燃焼行程前気筒#i−1 の失火判定レベル
マップMPΔNLEVEL の該当アドレスに格納され
ているデータを更新し、S115へ進む。
N#i−1と上記失火判定レベルΔNLEVELとに基
づき、次式に示す重みrの加重平均から失火判定レベル
を求め、1燃焼行程前気筒#i−1 の失火判定レベル
マップMPΔNLEVEL の該当アドレスに格納され
ているデータを更新し、S115へ進む。
【0070】
ΔNLEVEL ←{(2r −1)×Δ
NLEVEL +(ΔN#i−1+k)}/2r k:
予め実験などにより求めた余裕度としての補正量なお、
機関の及ぼすフリクションは気筒ごとに相違するため、
各運転領域の失火判定レベルを気筒ごとに学習する必要
がある。
NLEVEL +(ΔN#i−1+k)}/2r k:
予め実験などにより求めた余裕度としての補正量なお、
機関の及ぼすフリクションは気筒ごとに相違するため、
各運転領域の失火判定レベルを気筒ごとに学習する必要
がある。
【0071】上記S108,S110、あるいは、S1
14からS115へ進むと、燃料カット/カット解除フ
ラグFLAG1をセット(FLAG1←1)し、ルーチ
ンを外れる。
14からS115へ進むと、燃料カット/カット解除フ
ラグFLAG1をセット(FLAG1←1)し、ルーチ
ンを外れる。
【0072】なお、上記S114で更新する失火判定レ
ベルΔNLEVEL は、例えば、 ΔNLEVEL ←{(2r −1)×Δ
NLEVEL +(ΔN#i−1×I)}/2r I:
実験などにより予め設定した余裕度としての補正割合(
例えば、I=1.1 ) でもよく、また、加重平均を用いない場合は、ΔNLE
VEL ←ΔN#i−1+k あるいは、 ΔNLEVEL ←ΔN#i−1×I でもよい。
ベルΔNLEVEL は、例えば、 ΔNLEVEL ←{(2r −1)×Δ
NLEVEL +(ΔN#i−1×I)}/2r I:
実験などにより予め設定した余裕度としての補正割合(
例えば、I=1.1 ) でもよく、また、加重平均を用いない場合は、ΔNLE
VEL ←ΔN#i−1+k あるいは、 ΔNLEVEL ←ΔN#i−1×I でもよい。
【0073】一方、上記S105で燃料カットフラグF
LAGFCがリセット状態(FLAGFC=0、燃料噴
射)と判断されてS107へ進むと、燃料カット/カッ
ト解除フラグFLAG1がセット状態(FLAG1=1
)かどうか判断し、FLAG1=1(前回燃料カット)
の場合S116へ進み、FLAG1=0(前回燃料噴射
)の場合S117へ進む。
LAGFCがリセット状態(FLAGFC=0、燃料噴
射)と判断されてS107へ進むと、燃料カット/カッ
ト解除フラグFLAG1がセット状態(FLAG1=1
)かどうか判断し、FLAG1=1(前回燃料カット)
の場合S116へ進み、FLAG1=0(前回燃料噴射
)の場合S117へ進む。
【0074】S116へ進むと、燃料噴射再開後最初の
ルーチンであるためディレイカウンタCOUNTを設定
値COUNTSET (この実施例においてはCOUN
TSET =2)にてセットした後(COUNT←CO
UNTSET )、S133へ進む。燃料噴射再開直後
における1燃焼行程前気筒#i−1 と2燃焼行程前気
筒#i−2 のエンジン回転数N#i−1,N#i−2
は燃料カット時のデータであるため後述するS120で
読出した値に基づいて失火判定すると誤判定が生じる。 そのため、S120で燃料噴射再開後少なくとも2順目
以後の燃焼行程気筒#i のときのエンジン回転数N#
i−1,N#i−2を読出させるべく、S116でディ
レイカウントをセットする。
ルーチンであるためディレイカウンタCOUNTを設定
値COUNTSET (この実施例においてはCOUN
TSET =2)にてセットした後(COUNT←CO
UNTSET )、S133へ進む。燃料噴射再開直後
における1燃焼行程前気筒#i−1 と2燃焼行程前気
筒#i−2 のエンジン回転数N#i−1,N#i−2
は燃料カット時のデータであるため後述するS120で
読出した値に基づいて失火判定すると誤判定が生じる。 そのため、S120で燃料噴射再開後少なくとも2順目
以後の燃焼行程気筒#i のときのエンジン回転数N#
i−1,N#i−2を読出させるべく、S116でディ
レイカウントをセットする。
【0075】一方、上記S107で前回燃料噴射(FL
AG1=0)と判断されてS117へ進むと、上記ディ
レイカウンタCOUNTが0かどうか判断し、COUN
T≠0の場合、S118で減算した後(COUNT←C
OUNT−1)、S133へ進む。また、上記S117
でCOUNT=0と判断するとS119へ進み、1燃焼
行程前気筒#i−1 の失火判定を実行する。
AG1=0)と判断されてS117へ進むと、上記ディ
レイカウンタCOUNTが0かどうか判断し、COUN
T≠0の場合、S118で減算した後(COUNT←C
OUNT−1)、S133へ進む。また、上記S117
でCOUNT=0と判断するとS119へ進み、1燃焼
行程前気筒#i−1 の失火判定を実行する。
【0076】まず、S119で当該燃焼行程気筒#i
の演算サイクル数C#i1 をカウントアップする(C
#i1 ←C#i+1)。
の演算サイクル数C#i1 をカウントアップする(C
#i1 ←C#i+1)。
【0077】次いで、S120で前回および前々回のル
ーチンで設定し、RAM34の所定アドレスに格納した
1燃焼行程前気筒#i−1 の燃焼による仕事をしてい
ない区間のエンジン回転数N#i−1と2燃焼行程前気
筒#i−2 の燃焼による仕事をしていない区間のエン
ジン回転数N#i−2とを読出し、S121で、現燃焼
行程気筒#i の燃焼による仕事をしていない区間のエ
ンジン回転数N#iと2燃焼行程前気筒#i−2 の燃
焼による仕事をしていない区間のエンジン回転数N#i
−2との平均値(N#i+N#i−2)/2と、上記1
燃焼行程前気筒#i−1 の燃焼による仕事をしていな
い区間のエンジン回転数N#i−1との差から1燃焼行
程前気筒#i−1 の燃焼状態判別値ΔN#i−1を求
める。
ーチンで設定し、RAM34の所定アドレスに格納した
1燃焼行程前気筒#i−1 の燃焼による仕事をしてい
ない区間のエンジン回転数N#i−1と2燃焼行程前気
筒#i−2 の燃焼による仕事をしていない区間のエン
ジン回転数N#i−2とを読出し、S121で、現燃焼
行程気筒#i の燃焼による仕事をしていない区間のエ
ンジン回転数N#iと2燃焼行程前気筒#i−2 の燃
焼による仕事をしていない区間のエンジン回転数N#i
−2との平均値(N#i+N#i−2)/2と、上記1
燃焼行程前気筒#i−1 の燃焼による仕事をしていな
い区間のエンジン回転数N#i−1との差から1燃焼行
程前気筒#i−1 の燃焼状態判別値ΔN#i−1を求
める。
【0078】ΔN#i−1←N#i−1−(N#i+N
#i−2)/2その後、S122で、前回のルーチンに
て求めたエンジン回転数N#i−1をパラメータとして
失火判定レベルマップMPΔNLEVEL から失火判
定レベルΔNLEVEL を設定する。
#i−2)/2その後、S122で、前回のルーチンに
て求めたエンジン回転数N#i−1をパラメータとして
失火判定レベルマップMPΔNLEVEL から失火判
定レベルΔNLEVEL を設定する。
【0079】図10に示すように、燃焼状態判別値ΔN
#i−1は、加速時に比較的大きな変動量を示し、この
変動量はエンジンの運転領域によって相違するが、失火
判定因子から機関の及ぼすフリクションが除かれている
ため失火判定の微妙な領域であっても正確に判定するこ
とができる。
#i−1は、加速時に比較的大きな変動量を示し、この
変動量はエンジンの運転領域によって相違するが、失火
判定因子から機関の及ぼすフリクションが除かれている
ため失火判定の微妙な領域であっても正確に判定するこ
とができる。
【0080】そして、S123で、上記失火判定レベル
ΔNLEVEL と、上記1燃焼行程前気筒#i−1
の燃焼状態判別値ΔN#i−1とを比較し、燃焼状態判
別値ΔN#i−1が失火判定レベルΔNLEVEより低
い(ΔN#i−1<ΔNLEVEL )と判断した場合
(図10参照)、失火と判定してS124へ進み、また
、ΔN#i−1≧ΔNLEVEL の場合、正常燃焼と
判断してS125へ進む。
ΔNLEVEL と、上記1燃焼行程前気筒#i−1
の燃焼状態判別値ΔN#i−1とを比較し、燃焼状態判
別値ΔN#i−1が失火判定レベルΔNLEVEより低
い(ΔN#i−1<ΔNLEVEL )と判断した場合
(図10参照)、失火と判定してS124へ進み、また
、ΔN#i−1≧ΔNLEVEL の場合、正常燃焼と
判断してS125へ進む。
【0081】失火と判定されてS124へ進むと1燃焼
行程前気筒#i−1 の気筒別失火回数C(#i−1)
2 をカウントアップし(C(#i−1)2 ←C(#
i−1)2 +1)、S125へ進む。
行程前気筒#i−1 の気筒別失火回数C(#i−1)
2 をカウントアップし(C(#i−1)2 ←C(#
i−1)2 +1)、S125へ進む。
【0082】そして、S125で、現燃焼行程気筒#i
の演算サイクル数C#i1 と予め設定したサンプリ
ングサイクル数C#i1SET(例えば、100cyc
le)とを比較し、演算サイクル数C#i1 がサンプ
リングサイクル数C#i1SETに達していない場合(
C#i1<C#i1SET)、S133へジャンプし、
また、演算サイクル数C#i1 がサンプリングサイク
ル数C#i1SETに達した場合(C#i1 ≧C#i
1SET)、S126へ進み、上記演算サイクル数C#
i1 をクリアする(C#i1 ←0)。
の演算サイクル数C#i1 と予め設定したサンプリ
ングサイクル数C#i1SET(例えば、100cyc
le)とを比較し、演算サイクル数C#i1 がサンプ
リングサイクル数C#i1SETに達していない場合(
C#i1<C#i1SET)、S133へジャンプし、
また、演算サイクル数C#i1 がサンプリングサイク
ル数C#i1SETに達した場合(C#i1 ≧C#i
1SET)、S126へ進み、上記演算サイクル数C#
i1 をクリアする(C#i1 ←0)。
【0083】
次いで、S127で、RAM34の所定アドレスに
格納されている前回のサンプリ
ング周期において算出した1燃
焼行程前気筒#i−1 の気筒別平均失火回数C(#i
−
1)
2(−1) を読出し、S128で、この気筒別平均失
火回数C(#i−1)2(−1) と、今回のサンプリ
ングサイクル数C#i1SETにおいてカウントした1
燃焼行程前気筒#i−1
の気筒別失火回数C(#i−1)2
に基づき、今回の気筒別平均失火回数C(#i−1)
2 を、次式に示す重みrの加重平均から求める。
格納されている前回のサンプリ
ング周期において算出した1燃
焼行程前気筒#i−1 の気筒別平均失火回数C(#i
−
1)
2(−1) を読出し、S128で、この気筒別平均失
火回数C(#i−1)2(−1) と、今回のサンプリ
ングサイクル数C#i1SETにおいてカウントした1
燃焼行程前気筒#i−1
の気筒別失火回数C(#i−1)2
に基づき、今回の気筒別平均失火回数C(#i−1)
2 を、次式に示す重みrの加重平均から求める。
【0084】
C(#i−1)2 ←{(2r −1
)×C(#i−1)2(−1) +C(#i−1)2
}/2r
気筒別平均失火回数C(#i−1)2 を加重
平均により求めることで、1燃焼行程前気筒#i−1
の失火判別誤差、および急激な燃焼変動による一時的な
失火誤判定を修正することができる。
C(#i−1)2 ←{(2r −1
)×C(#i−1)2(−1) +C(#i−1)2
}/2r
気筒別平均失火回数C(#i−1)2 を加重
平均により求めることで、1燃焼行程前気筒#i−1
の失火判別誤差、および急激な燃焼変動による一時的な
失火誤判定を修正することができる。
【0085】その後、S129で、上記気筒別平均失火
回数C(#i−1)2 をクリアし(C(#i−1)2
←0)、また、S130でRAM34の所定アドレスに
格納されている前回のサンプ
リング周期において算出した気筒別平
均失火回数C(#i−1)2(−1) を今回算出した
気筒別
平均失火回数C(#i−1)2 で更新する(C(#i
−1)2(−1) ←C(#i−1)2 )。
そして
、S131で、今回の気筒別平均失火回数C(#i−1
)2 と、予め設定した失火
異常判定基準回数C(#i−1)
2SETとを比較し、C(#i−1)2 >C(#i−
1)2SET、すなわ
ち、気筒別平均失火回数C(#i−1)
2 が失火異常判定基準回数C(#i−1)2SETを
越えている場合、1燃焼行程前気筒#i−1 が失火異
常であると判断し、S132へ進み、バックアップRA
M35の所定アドレスに1燃焼行程前気筒#i−1 の
失火異常データを格納し、インジケータランプなどの警
告手段43を点灯させて運転者に失
火異常を警告し、S133へ進む。一
方、C(#i−1)2 ≦C(#i−1)2SETと判
断した場合、1燃焼行程前気筒#i−1 に失火異常が
まだ発生していないと判断し、そのままS133へ進む
。
回数C(#i−1)2 をクリアし(C(#i−1)2
←0)、また、S130でRAM34の所定アドレスに
格納されている前回のサンプ
リング周期において算出した気筒別平
均失火回数C(#i−1)2(−1) を今回算出した
気筒別
平均失火回数C(#i−1)2 で更新する(C(#i
−1)2(−1) ←C(#i−1)2 )。
そして
、S131で、今回の気筒別平均失火回数C(#i−1
)2 と、予め設定した失火
異常判定基準回数C(#i−1)
2SETとを比較し、C(#i−1)2 >C(#i−
1)2SET、すなわ
ち、気筒別平均失火回数C(#i−1)
2 が失火異常判定基準回数C(#i−1)2SETを
越えている場合、1燃焼行程前気筒#i−1 が失火異
常であると判断し、S132へ進み、バックアップRA
M35の所定アドレスに1燃焼行程前気筒#i−1 の
失火異常データを格納し、インジケータランプなどの警
告手段43を点灯させて運転者に失
火異常を警告し、S133へ進む。一
方、C(#i−1)2 ≦C(#i−1)2SETと判
断した場合、1燃焼行程前気筒#i−1 に失火異常が
まだ発生していないと判断し、そのままS133へ進む
。
【0086】なお、上記バックアップRAM(記憶手段
)35に格納した1燃焼行程前気筒#i−1 の失火異
常データは、ディーラーのサービスステーションなどに
おいて、制御装置31にシリアルモニタ45を接続して
読出すことで、どの気筒が失火しているのか判断するこ
とができ、また、所定に修理後、このシリアルモニタ4
5を介して上記バックアップRAM35に記憶されてい
る失火異常データをクリアすることができる。
)35に格納した1燃焼行程前気筒#i−1 の失火異
常データは、ディーラーのサービスステーションなどに
おいて、制御装置31にシリアルモニタ45を接続して
読出すことで、どの気筒が失火しているのか判断するこ
とができ、また、所定に修理後、このシリアルモニタ4
5を介して上記バックアップRAM35に記憶されてい
る失火異常データをクリアすることができる。
【0087】そして、上記S116,S118,S12
5,S131、あるいは、S132からS133へ進む
と、燃料カット/カット解除フラグFLAG1をリセッ
ト(FLAG1←0)した後、ルーチンを外れる。
5,S131、あるいは、S132からS133へ進む
と、燃料カット/カット解除フラグFLAG1をリセッ
ト(FLAG1←0)した後、ルーチンを外れる。
【0088】次に、燃料カット判別手順の一例を図4の
フローチャートに従って説明する。まず、S201で車
速Sと燃料カット条件判定基準車速S0 (例えば、S
0 =15km/h)とを比較し、S0 ≦Sの場合S
202へ進み、S0 >Sの場合S205へ進む。
フローチャートに従って説明する。まず、S201で車
速Sと燃料カット条件判定基準車速S0 (例えば、S
0 =15km/h)とを比較し、S0 ≦Sの場合S
202へ進み、S0 >Sの場合S205へ進む。
【0089】S202へ進むと、エンジン回転数Nと燃
料カット条件判定基準エンジン回転数N0 (例えば、
N0 =1500rpm )とを比較し、N0 ≦Nの
場合S203へ進み、N0 >Nの場合S205へ進む
。
料カット条件判定基準エンジン回転数N0 (例えば、
N0 =1500rpm )とを比較し、N0 ≦Nの
場合S203へ進み、N0 >Nの場合S205へ進む
。
【0090】S203へ進むとアイドルスイッチ9bが
ONかどうかが判断され、アイドルスイッチ9bがON
(スロットルバルブ5aが全閉)の場合S204へ進み
、OFF(スロットル開)の場合S205へ進む。
ONかどうかが判断され、アイドルスイッチ9bがON
(スロットルバルブ5aが全閉)の場合S204へ進み
、OFF(スロットル開)の場合S205へ進む。
【0091】燃料カット条件成立(S0 ≦S、N0
≦N、かつ、アイドルスイッチON)と判断されてS2
04へ進むと、燃料カットフラグFLAGFCをセット
し(FLAGFC←1)、ルーチンを外れる。
≦N、かつ、アイドルスイッチON)と判断されてS2
04へ進むと、燃料カットフラグFLAGFCをセット
し(FLAGFC←1)、ルーチンを外れる。
【0092】また、燃料カット条件不成立(S0 >S
、N0 >N、あるいは、アイドルスイッチOFF)と
判断されてS205へ進むと燃料カットフラグFLAG
FCをリセットし(FLAGFC←0)、ルーチンを外
れる。
、N0 >N、あるいは、アイドルスイッチOFF)と
判断されてS205へ進むと燃料カットフラグFLAG
FCをリセットし(FLAGFC←0)、ルーチンを外
れる。
【0093】(第二実施例)
図11,図12は本発明の第二実施例による気筒別失火
判定手順を示すフローチャートである。
判定手順を示すフローチャートである。
【0094】この実施例では、失火回数を気筒別に順次
記憶し、かつ、この失火回数が最大カウント数に達した
場合、この最大失火回数を固定して記憶する。
記憶し、かつ、この失火回数が最大カウント数に達した
場合、この最大失火回数を固定して記憶する。
【0095】まず、S101で、燃焼行程気筒#i を
判別した後、S301で1燃焼行程前気筒#i−1 の
失火最大カウント数フラグFLAG#i−1がセット状
態(FLAG#i−1=1)か、リセット状態(FLA
G#i−1=0)かを判別する。セット状態(FLAG
#i−1=1)の場合、S302へ進み、警告手段43
(図5参照)としてのインジケータランプなどを点灯状
態にして運転者に失火異常を警告し、ルーチンを外れる
。
判別した後、S301で1燃焼行程前気筒#i−1 の
失火最大カウント数フラグFLAG#i−1がセット状
態(FLAG#i−1=1)か、リセット状態(FLA
G#i−1=0)かを判別する。セット状態(FLAG
#i−1=1)の場合、S302へ進み、警告手段43
(図5参照)としてのインジケータランプなどを点灯状
態にして運転者に失火異常を警告し、ルーチンを外れる
。
【0096】一方、上記失火最大カウント数フラグFL
AG#i−1がリセット状態(FLAG#i−1=0)
と判断されると、S102〜S123(但し、S119
は実行せず)まで、前述した第一実施例(図1,図2)
と同じ手順を実行する(S106〜S115までは図2
と同一であるため、同図を参照)。
AG#i−1がリセット状態(FLAG#i−1=0)
と判断されると、S102〜S123(但し、S119
は実行せず)まで、前述した第一実施例(図1,図2)
と同じ手順を実行する(S106〜S115までは図2
と同一であるため、同図を参照)。
【0097】そして、上記S123で、1燃焼行程前気
筒#i−1 が失火(ΔN#i−1<ΔNLEVEL)
と判定されるとS303へ進み、インジケータランプな
どを微小時間点灯させて運転者に失火が発生したことを
警告した後、S124へ進む。
筒#i−1 が失火(ΔN#i−1<ΔNLEVEL)
と判定されるとS303へ進み、インジケータランプな
どを微小時間点灯させて運転者に失火が発生したことを
警告した後、S124へ進む。
【0098】運転者はインジケータランプなどの点灯す
る頻度を認識することで、エンジンの失火状況、すなわ
ち、いかなるエンジンの運転条件下で失火が発生しやす
いかを把握することができる。
る頻度を認識することで、エンジンの失火状況、すなわ
ち、いかなるエンジンの運転条件下で失火が発生しやす
いかを把握することができる。
【0099】また、S123で正常燃焼(ΔN#i−1
≧ΔNLEVEL )と判定されるとS307へ進み、
1燃焼行程前気筒#i−1 の失火最大カウント数フラ
グFLAG#i−1をリセット(FLAG#i−1←0
)した後、S133へ進む。
≧ΔNLEVEL )と判定されるとS307へ進み、
1燃焼行程前気筒#i−1 の失火最大カウント数フラ
グFLAG#i−1をリセット(FLAG#i−1←0
)した後、S133へ進む。
【0100】そして、S124で、1燃焼行程前気筒#
i−1 の失火回数C(#i−1)2 をカウントアッ
プ(C(#i−1)2 ←C(#i−1)2 +1)し
た後、このカウントアップした値C(#i−1)2 を
バックアップRAM35の所定アドレスに格納する。
i−1 の失火回数C(#i−1)2 をカウントアッ
プ(C(#i−1)2 ←C(#i−1)2 +1)し
た後、このカウントアップした値C(#i−1)2 を
バックアップRAM35の所定アドレスに格納する。
【0101】ディーラーのサービスステーションなどで
は、制御装置31に故障診断用コネクタ44を介してシ
リアルモニタ45を接続して上記バックアップRAM3
5に格納されている気筒別の失火回数C(#i−1)2
データを読出し、マニアルを参照するなどして失火状
況を判断する。
は、制御装置31に故障診断用コネクタ44を介してシ
リアルモニタ45を接続して上記バックアップRAM3
5に格納されている気筒別の失火回数C(#i−1)2
データを読出し、マニアルを参照するなどして失火状
況を判断する。
【0102】その後、S304で、1燃焼行程前気筒#
i−1 の失火回数C(#i−1)2 と予め設定した
最大カウント数FFH(但し、マイクロコンピュータの
容量に応じ任意に設定可能)を比較し、C(#i−1)
2=FFHの場合S305へ進み、また、C(#i−1
)2 <FFHの場合S307へ進む。
i−1 の失火回数C(#i−1)2 と予め設定した
最大カウント数FFH(但し、マイクロコンピュータの
容量に応じ任意に設定可能)を比較し、C(#i−1)
2=FFHの場合S305へ進み、また、C(#i−1
)2 <FFHの場合S307へ進む。
【0103】上記失火回数C(#i−1)2 が、最大
カウント数FFHに達している(C(#i−1)2=F
FH)と判断されてステップS305へ進むと、上記バ
ックアップRAM35の所定アドレスに記憶した失火回
数C(#i−1)2 を、上記最大カウント数FFHで
ホールドし、S306で、1燃焼行程前気筒#i−1
の失火最大カウント数フラグFLAG#i−1をセット
して(FLAG#i−1←1)、ルーチンを外れる。
カウント数FFHに達している(C(#i−1)2=F
FH)と判断されてステップS305へ進むと、上記バ
ックアップRAM35の所定アドレスに記憶した失火回
数C(#i−1)2 を、上記最大カウント数FFHで
ホールドし、S306で、1燃焼行程前気筒#i−1
の失火最大カウント数フラグFLAG#i−1をセット
して(FLAG#i−1←1)、ルーチンを外れる。
【0104】(第三実施例)
図13,図14は本発明の第三実施例による気筒別失火
判定手順を示すフローチャートである。
判定手順を示すフローチャートである。
【0105】この実施例では、当該燃焼行程気筒#i
の燃焼による仕事をしていない区間のエンジン回転数N
#iと1燃焼行程前気筒#i−1 の燃焼による仕事を
していない区間のエンジン回転数N#i−1との差回転
速度ΔN#iに基づいて当該気筒#i の失火判定レベ
ルマップMPΔNLEVEL の当該運転領域に格納さ
れている失火判定レベルΔNLEVEL を補正し、学
習するものである。
の燃焼による仕事をしていない区間のエンジン回転数N
#iと1燃焼行程前気筒#i−1 の燃焼による仕事を
していない区間のエンジン回転数N#i−1との差回転
速度ΔN#iに基づいて当該気筒#i の失火判定レベ
ルマップMPΔNLEVEL の当該運転領域に格納さ
れている失火判定レベルΔNLEVEL を補正し、学
習するものである。
【0106】以下、フローチャートに従って説明する。
なお、第一実施例と同一ルーチンは同一符号を付して説
明を省略する。
明を省略する。
【0107】まず、S101〜S110まで第一実施例
と同様の手順を実行し(図1,図13参照)、S401
以下で失火判定レベルΔNLEVEL の学習を実行す
る。
と同様の手順を実行し(図1,図13参照)、S401
以下で失火判定レベルΔNLEVEL の学習を実行す
る。
【0108】S401で、前回のルーチンで設定し、R
AM34の所定アドレスに格納した1燃焼行程前気筒#
i−1 の燃焼による仕事をしていない区間のエンジン
回転数N#i−1を読出し、S402で、現燃焼行程気
筒#i の燃焼による仕事をしていない区間のエンジン
回転数N#iと上記エンジン回転数N#i−1との差か
ら現燃焼行程気筒#i の差回転速度ΔN#iを求める
(ΔN#i←N#i−N#i−1)。
AM34の所定アドレスに格納した1燃焼行程前気筒#
i−1 の燃焼による仕事をしていない区間のエンジン
回転数N#i−1を読出し、S402で、現燃焼行程気
筒#i の燃焼による仕事をしていない区間のエンジン
回転数N#iと上記エンジン回転数N#i−1との差か
ら現燃焼行程気筒#i の差回転速度ΔN#iを求める
(ΔN#i←N#i−N#i−1)。
【0109】また、S403で上記エンジン回転数N#
iをパラメータとしてバックアップRAM35に格納さ
れている当該気筒#i の失火判定レベルマップMPΔ
NLEVEL (図9参照)から失火判定レベルΔNL
EVEL を設定する。
iをパラメータとしてバックアップRAM35に格納さ
れている当該気筒#i の失火判定レベルマップMPΔ
NLEVEL (図9参照)から失火判定レベルΔNL
EVEL を設定する。
【0110】そして、S404で上記差回転速度ΔN#
iと上記失火判定レベルΔNLEVEL とに基づいて
、次式に示す重みrの加重平均から失火判定レベルΔN
LEVEL を求め、現燃焼行程気筒#i の失火判定
レベルマップMPΔNLEVEL の該当アドレスに格
納されているデータを更新し、S115へ進む。
iと上記失火判定レベルΔNLEVEL とに基づいて
、次式に示す重みrの加重平均から失火判定レベルΔN
LEVEL を求め、現燃焼行程気筒#i の失火判定
レベルマップMPΔNLEVEL の該当アドレスに格
納されているデータを更新し、S115へ進む。
【0111】
ΔNLEVEL ←{(2r −1)
×ΔNLEVEL +(ΔN#i+k)}/2r 一方
、S116〜S119まで第一実施例と同様の手順で実
行し(図1,図14参照)、S405以下で現燃焼行程
気筒#i の失火判定を実行する。
×ΔNLEVEL +(ΔN#i+k)}/2r 一方
、S116〜S119まで第一実施例と同様の手順で実
行し(図1,図14参照)、S405以下で現燃焼行程
気筒#i の失火判定を実行する。
【0112】まず、S405で1燃焼行程前気筒#i−
1 のエンジン回転数N#i−1を読出し、S406で
現燃焼行程気筒#i の燃焼状態判別値ΔN#iを、現
燃焼行程気筒#i のエンジン回転数N#iと上記エン
ジン回転数N#i−1との差から求める(ΔN#i←N
#i−N#i−1)。
1 のエンジン回転数N#i−1を読出し、S406で
現燃焼行程気筒#i の燃焼状態判別値ΔN#iを、現
燃焼行程気筒#i のエンジン回転数N#iと上記エン
ジン回転数N#i−1との差から求める(ΔN#i←N
#i−N#i−1)。
【0113】また、S407で上記エンジン回転数N#
iをパラメータとして失火判定レベルマップMPΔNL
EVEL から失火判定レベルΔNLEVEL を設定
する。
iをパラメータとして失火判定レベルマップMPΔNL
EVEL から失火判定レベルΔNLEVEL を設定
する。
【0114】そして、S408で、上記失火判定レベル
ΔNLEVEL と、上記燃焼状態判別値ΔN#iとを
比較し、ΔN#i<ΔNLEVEL の場合(図10参
照)、失火と判断してS409へ進み、ΔN#i≧ΔN
LEVEL の場合、正常燃焼と判断してS125へ進
む。
ΔNLEVEL と、上記燃焼状態判別値ΔN#iとを
比較し、ΔN#i<ΔNLEVEL の場合(図10参
照)、失火と判断してS409へ進み、ΔN#i≧ΔN
LEVEL の場合、正常燃焼と判断してS125へ進
む。
【0115】失火と判断されてS409へ進むと、現燃
焼行程気筒#i の気筒別失火回数C#i2をカウント
アップし(C#i2 ←C#i2 +1)、S125へ
進む。
焼行程気筒#i の気筒別失火回数C#i2をカウント
アップし(C#i2 ←C#i2 +1)、S125へ
進む。
【0116】その後、S125,S126からS410
へ進むと、RAM34の所定アドレスに格納されている
前回のサンプリング周期において算出した現燃焼行程気
筒#i の気筒別平
均失火回数
C#i2(−1) を読出し、S411で、この気筒別
平均失火回数C#i2(−1) と、今回のサンプ
リングサイクル数C#i1SETにおいてカウントした
現燃焼行程気
筒
#i の気筒別失火回数C#i2 に基づき、今回の気
筒別平均失火回数C#i2 を、次式に示す重みrの加
重平均から求める。
へ進むと、RAM34の所定アドレスに格納されている
前回のサンプリング周期において算出した現燃焼行程気
筒#i の気筒別平
均失火回数
C#i2(−1) を読出し、S411で、この気筒別
平均失火回数C#i2(−1) と、今回のサンプ
リングサイクル数C#i1SETにおいてカウントした
現燃焼行程気
筒
#i の気筒別失火回数C#i2 に基づき、今回の気
筒別平均失火回数C#i2 を、次式に示す重みrの加
重平均から求める。
【0117】
C#i2 ←{(2r −1)×C#i2(−1) +
C#i2 }/2r その後、S412で、上記気筒別
失火回数C#i2 をクリアし(C#i2 ←0)、ま
た、S413でRAM34の所定アドレスに格納されて
いる前回のサンプリング周期に
おいて算出した気筒別平均失火回数C#i
2(−1) を今回算出した気筒別平均失火回
数C#i2 で
更新する(C#i2(−1) ←C#i2 )。
C#i2 ←{(2r −1)×C#i2(−1) +
C#i2 }/2r その後、S412で、上記気筒別
失火回数C#i2 をクリアし(C#i2 ←0)、ま
た、S413でRAM34の所定アドレスに格納されて
いる前回のサンプリング周期に
おいて算出した気筒別平均失火回数C#i
2(−1) を今回算出した気筒別平均失火回
数C#i2 で
更新する(C#i2(−1) ←C#i2 )。
【0118】
そして、S414で、今回の気筒別平均失火回数C#i
2 と、予め設定した失火異常
判定基準回数C#i2SETと
を比較し、C#i2 >C#i2SET、すなわち、気
筒別平均失
火回数C#i2 が失火異常判定基準回数C#i2
SETを越えている場合、現燃焼行程気
筒#i が失火異常で
あると判断し、S132へ進み、一方、C#i2 ≦C
#i2SETと判断した場合、現燃焼行程気筒#i に
失火異常がまだ発生していないと判断し、そのままS1
33(図1参照)へ進む。
そして、S414で、今回の気筒別平均失火回数C#i
2 と、予め設定した失火異常
判定基準回数C#i2SETと
を比較し、C#i2 >C#i2SET、すなわち、気
筒別平均失
火回数C#i2 が失火異常判定基準回数C#i2
SETを越えている場合、現燃焼行程気
筒#i が失火異常で
あると判断し、S132へ進み、一方、C#i2 ≦C
#i2SETと判断した場合、現燃焼行程気筒#i に
失火異常がまだ発生していないと判断し、そのままS1
33(図1参照)へ進む。
【0119】なお、本発明は上記各実施例に限るもので
はなく、例えば、燃焼状態判別値は、各気筒の燃焼によ
る仕事を指定内区間の運動量として角加速度、周期、角
速度などを用いて求めるようにしてもよい。
はなく、例えば、燃焼状態判別値は、各気筒の燃焼によ
る仕事を指定内区間の運動量として角加速度、周期、角
速度などを用いて求めるようにしてもよい。
【0120】
【発明の効果】以上、説明したように本発明によれば、
失火状態を、他の気筒の燃焼状態因子を含むことなく、
気筒間の燃焼のばつらきはもちろん、エンジンごとの製
造上のばらつき、および、機関のフリクションの影響を
受けることなく、正確に検出することができるなど優れ
た効果が奏される。
失火状態を、他の気筒の燃焼状態因子を含むことなく、
気筒間の燃焼のばつらきはもちろん、エンジンごとの製
造上のばらつき、および、機関のフリクションの影響を
受けることなく、正確に検出することができるなど優れ
た効果が奏される。
【図1】図1〜図3は気筒別失火判別手順を示すフロー
チャート。
チャート。
【図2】同上
【図3】同上
【図4】燃料カット判別手順を示すフローチャート。
【図5】エンジン制御系の該略図。
【図6】クランクロータとクランク角センサの正面図。
【図7】カムロータとカム角センサの正面図。
【図8】気筒内圧力変動、クランクパルス、カムパルス
、および、エンジン回転変動を示すタイムチャート。
、および、エンジン回転変動を示すタイムチャート。
【図9】失火判定レベルマップの概念図。
【図10】基本的な気筒別失火判別方法を示す概念図。
【図11】本発明の第二実施例による気筒別失火判定手
順を示すフローチャート。
順を示すフローチャート。
【図12】同上
【図13】本発明の第三実施例による気筒別失火判定手
順を示すフローチャート。
順を示すフローチャート。
【図14】同上
Claims (2)
- 【請求項1】 燃料カット時の2燃焼行程前気筒の所
定区間の運動量と現燃焼行程気筒の所定区間の運動量と
の平均値と、1燃焼行程前気筒の所定区間の運動量との
差から1燃焼行程前気筒の燃焼状態判別値を求め、また
1燃焼行程前気筒の上記運動量をパラメータとして読出
した1燃焼行程前気筒の失火判定レベルマップの所定ア
ドレスに格納されている失火判定レベルを上記燃焼状態
判別値で補正した値で更新し、その後燃料噴射時の2燃
焼行程前気筒の所定区間の運動量と現燃焼行程気筒の所
定区間の運動量との平均値と、1燃焼行程前気筒の所定
区間の運動量との差から1燃焼行程前気筒の燃焼状態判
別値を求め、この1燃焼行程前気筒の燃焼状態判別値と
、1燃焼行程前気筒の上記運動量をパラメータとして読
出した1燃焼行程前気筒の失火判定レベルマップの所定
アドレスに格納されている失火判定レベルとを比較して
1燃焼行程前気筒の失火状態を判別することを特徴とす
るエンジンの気筒別失火判別方法。 - 【請求項2】 燃料カット時の現燃焼行程気筒の所定
区間の運動量と1燃焼行程前気筒の所定区間の運動量と
の差から現燃焼行程気筒の燃焼状態判別値を求め、また
現燃焼行程気筒の上記運動量をパラメータとして読出し
た現燃焼行程気筒の失火判定レベルマップの所定アドレ
スに格納されている失火判定レベルを上記燃焼状態判別
値で補正した値で更新し、その後燃料噴射時の現燃焼行
程気筒の所定区間の運動量と1燃焼行程前気筒の所定区
間の運動量との差から現燃焼行程気筒の燃焼状態判別値
を求め、現燃焼行程気筒の燃焼状態判別値と、現燃焼行
程気筒の上記運動量をパラメータとして読出した現燃焼
行程気筒の失火判定レベルマップの所定アドレスに格納
されている失火判定レベルとを比較して現燃焼行程気筒
の失火状態を判別することを特徴とするエンジンの気筒
別失火判別方法。
Priority Applications (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2628491A JPH04265475A (ja) | 1991-02-20 | 1991-02-20 | エンジンの気筒別失火判別方法 |
| US07/779,190 US5307670A (en) | 1990-11-01 | 1991-10-22 | Misfire discriminating method for an engine |
| GB9122769A GB2249839B (en) | 1990-11-01 | 1991-10-28 | Misfire discriminating method for an engine |
| DE4135797A DE4135797C2 (de) | 1990-11-01 | 1991-10-30 | Fehlzündungserkennungsverfahren für eine Brennkraftmaschine |
| DE4143595A DE4143595B4 (de) | 1990-11-01 | 1991-10-30 | Fehlzündungserkennungsverfahren für eine Brennkraftmaschine |
| US08/162,963 US5426587A (en) | 1990-11-01 | 1993-12-08 | Misfire discriminating method for an engine |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2628491A JPH04265475A (ja) | 1991-02-20 | 1991-02-20 | エンジンの気筒別失火判別方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04265475A true JPH04265475A (ja) | 1992-09-21 |
Family
ID=12188994
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2628491A Pending JPH04265475A (ja) | 1990-11-01 | 1991-02-20 | エンジンの気筒別失火判別方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04265475A (ja) |
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4324200A1 (de) * | 1992-07-21 | 1994-01-27 | Fuji Heavy Ind Ltd | Fehlzündungserkennungsverfahren für einen Motor |
| WO1995016856A1 (en) * | 1993-12-13 | 1995-06-22 | Unisia Jecs Corporation | Misfire detector for internal combustion engines |
| US5951617A (en) * | 1996-08-09 | 1999-09-14 | Toyota Jidosha Kabushiki Kaisha | Apparatus and method for detecting misfires in internal combustion engine |
| KR100371210B1 (ko) * | 1994-04-12 | 2003-03-26 | 지멘스 파우데오 오토모티브 에스.아.에스 | 내연기관의연소결함을감지하기위한방법 |
| US7099769B2 (en) | 2003-10-27 | 2006-08-29 | Toyota Jidosha Kabushiki Kaisha | Misfire detector for detecting misfire of internal combustion engine |
| JP2015169169A (ja) * | 2014-03-10 | 2015-09-28 | 日野自動車株式会社 | エンジンシステムの異常判定装置 |
| US20220146375A1 (en) * | 2020-11-09 | 2022-05-12 | Toyota Jidosha Kabushiki Kaisha | Misfire detecting device and method for internal combustion engine |
-
1991
- 1991-02-20 JP JP2628491A patent/JPH04265475A/ja active Pending
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE4324200A1 (de) * | 1992-07-21 | 1994-01-27 | Fuji Heavy Ind Ltd | Fehlzündungserkennungsverfahren für einen Motor |
| DE4324200C2 (de) * | 1992-07-21 | 1998-09-10 | Fuji Heavy Ind Ltd | Fehlzündungserkennungsverfahren für einen Motor |
| WO1995016856A1 (en) * | 1993-12-13 | 1995-06-22 | Unisia Jecs Corporation | Misfire detector for internal combustion engines |
| US5648602A (en) * | 1993-12-13 | 1997-07-15 | Unisia Jecs Corporation | Internal combustion engine misfire detection apparatus |
| KR100371210B1 (ko) * | 1994-04-12 | 2003-03-26 | 지멘스 파우데오 오토모티브 에스.아.에스 | 내연기관의연소결함을감지하기위한방법 |
| US5951617A (en) * | 1996-08-09 | 1999-09-14 | Toyota Jidosha Kabushiki Kaisha | Apparatus and method for detecting misfires in internal combustion engine |
| US7099769B2 (en) | 2003-10-27 | 2006-08-29 | Toyota Jidosha Kabushiki Kaisha | Misfire detector for detecting misfire of internal combustion engine |
| JP2015169169A (ja) * | 2014-03-10 | 2015-09-28 | 日野自動車株式会社 | エンジンシステムの異常判定装置 |
| US20220146375A1 (en) * | 2020-11-09 | 2022-05-12 | Toyota Jidosha Kabushiki Kaisha | Misfire detecting device and method for internal combustion engine |
| US11536628B2 (en) * | 2020-11-09 | 2022-12-27 | Toyota Jidosha Kabushiki Kaisha | Misfire detecting device and method for internal combustion engine |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5426587A (en) | Misfire discriminating method for an engine | |
| US5287282A (en) | Misfire diagnosis apparatus for an internal combustion engine | |
| US5862505A (en) | Misfire discriminating method and apparatus for an engine | |
| JP2784069B2 (ja) | エンジンの失火判定装置 | |
| US5216915A (en) | Misfire diagnosis apparatus for an internal combustion engine | |
| JPH04365958A (ja) | 内燃機関用失火検出装置 | |
| JPH0586956A (ja) | 内燃機関の失火検出装置 | |
| JPH05195858A (ja) | 多気筒内燃機関の失火検出装置 | |
| US5870688A (en) | Misfire diagnostic system for internal combustion engine | |
| JP2009121303A (ja) | 内燃機関の失火検出装置 | |
| US5447061A (en) | Misfire detection method for engine | |
| JPH06101560A (ja) | 内燃エンジンの燃焼状態検出装置 | |
| JPH04265475A (ja) | エンジンの気筒別失火判別方法 | |
| JPH0436044A (ja) | エンジンの失火診断装置 | |
| JPH0693919A (ja) | 内燃エンジンの燃焼状態検出装置 | |
| JP3859789B2 (ja) | エンジンの失火診断装置 | |
| JPH0472450A (ja) | 内燃機関の失火気筒検出装置 | |
| JPH04171250A (ja) | エンジンの気筒別失火判別方法 | |
| JP3963984B2 (ja) | エンジン回転数算出装置及びエンジンの気筒別失火検出装置 | |
| JPH10148153A (ja) | エンジンの失火診断装置 | |
| JPH09184789A (ja) | 内燃機関の失火診断装置 | |
| JP3357092B2 (ja) | エンジンの失火検出方法 | |
| JP2005307945A (ja) | 内燃機関の失火判定装置 | |
| JPH06336948A (ja) | 内燃機関用失火検出装置 | |
| JPH02161172A (ja) | 内燃機関の燃焼状態検出装置 |