JPH06123252A - Misfire detection method for engine - Google Patents

Misfire detection method for engine

Info

Publication number
JPH06123252A
JPH06123252A JP27059892A JP27059892A JPH06123252A JP H06123252 A JPH06123252 A JP H06123252A JP 27059892 A JP27059892 A JP 27059892A JP 27059892 A JP27059892 A JP 27059892A JP H06123252 A JPH06123252 A JP H06123252A
Authority
JP
Japan
Prior art keywords
cylinder
misfire
engine
differential rotation
snatch
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
Application number
JP27059892A
Other languages
Japanese (ja)
Inventor
Haruo Fujiki
晴夫 藤木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Subaru Corp
Original Assignee
Fuji Heavy Industries Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Heavy Industries Ltd filed Critical Fuji Heavy Industries Ltd
Priority to JP27059892A priority Critical patent/JPH06123252A/en
Priority to US08/128,229 priority patent/US5447061A/en
Priority to GB9320514A priority patent/GB2271854B/en
Priority to GB9620869A priority patent/GB2303455B/en
Priority to GB9620893A priority patent/GB2303456B/en
Priority to DE4334068A priority patent/DE4334068C2/en
Publication of JPH06123252A publication Critical patent/JPH06123252A/en
Pending legal-status Critical Current

Links

Landscapes

  • Ignition Installations For Internal Combustion Engines (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

PURPOSE:To detect a misfire surely by preventing an error diagnosis because of an influence of rotational change in an engine. CONSTITUTION:It is determined whether a postcorrection differential rotation DELNA #n-1 of the #n-1 cylinder reaches a determination level (a snatch determination level) KXLVLMIS or the more, by which an engine rotational change due to a disturbance is determined (S202), and when DELNA n-1) KXLVLMIS is found, it is determined that a snatch is generated, so that a snatch flag FLGSN is set (S203). On the other hand, when DELNA n-1< KXLVLMIS and FLGSN=1 are found, it is determined whether a count value TMSNC reaches the predetermined value (an ignition number) KTSNC or not, and when the predetermined time has passed in TMSNC #KTSNC after the postcorrection differential rotation DELNA n-1 of the #n-1 cylinder passes across the snatch determination level. KXLVLMIS, it is determined that the snatch is finished to clear the snatch flag FLGSN (S207). In a subroutine of the continuous misfire diagnosis, an erroneous diagnosis is prevented, as the misfire diagnosis is not carried out when FLGSN=1.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、エンジンの回転変動分
から失火を検出するエンジンの失火検出方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an engine misfire detection method for detecting misfire based on engine speed fluctuations.

【0002】[0002]

【従来の技術】一般に、多気筒エンジンにおける燃焼は
毎サイクル同一過程を経て行なわれることが、安定した
出力を得る上で理想であるが、多気筒エンジンにおいて
は、吸気管形状の複雑化、気筒間の吸気干渉などによる
吸気分配率の不均一化、冷却順路によって生じる各気筒
間の若干の燃焼温度の相違、各気筒の燃焼室容積、ピス
トン形状などの製造上のばらつきなどの相乗的作用か
ら、燃焼にばらつきが生じ易い。
2. Description of the Related Art Generally, it is ideal that combustion in a multi-cylinder engine is performed through the same process every cycle in order to obtain a stable output. However, in a multi-cylinder engine, a complicated intake pipe shape and a cylinder are used. Due to synergistic effects such as non-uniform intake distribution ratio due to air intake interference between the cylinders, slight difference in combustion temperature between cylinders caused by cooling path, variation in combustion chamber volume of each cylinder, manufacturing variation such as piston shape, etc. , Combustion tends to vary.

【0003】従来、この気筒間の燃焼変動は、気筒別の
空燃比制御、点火時期制御で最小限に抑制されている
が、最近の高出力、低燃費化の傾向にある高性能エンジ
ンでは、インジェクタ、点火プラグなどに劣化、あるい
は、故障が生じた場合、断続的な失火を生じる原因とな
り、出力の低下を招き易い。
Conventionally, the combustion fluctuation between the cylinders has been suppressed to a minimum by the air-fuel ratio control and the ignition timing control for each cylinder. However, in the high performance engine which has a tendency toward high output and low fuel consumption recently, When the injector, the spark plug, or the like is deteriorated or malfunctions, it causes intermittent misfires, and the output is easily reduced.

【0004】一般に、気筒が失火状態にあるか否かは、
失火によるトルク変動に伴う回転数変動分を検出し、こ
の回転数変動分を所定の判定レベルと比較することによ
り検出することができる。例えば、特開昭62−118
031号公報には、クランク軸の1回転毎に発生する複
数のパルス信号の間隔を計測し、このパルス間隔の時間
変化から機関の回転変動の極大値を判別し、この極大値
とパルス信号の計数値に基づいて異常燃焼気筒を判定す
る技術が開示されている。
Generally, whether or not a cylinder is in a misfire state is
It can be detected by detecting the rotational speed fluctuation due to the torque fluctuation due to misfire and comparing the rotational speed fluctuation with a predetermined determination level. For example, JP-A-62-118
In Japanese Patent Publication No. 031, the intervals of a plurality of pulse signals generated for each revolution of the crankshaft are measured, the maximum value of the rotational fluctuation of the engine is discriminated from the time change of the pulse intervals, and the maximum value and the pulse signal A technique for determining an abnormal combustion cylinder based on a count value is disclosed.

【0005】また、特開平2−112646号公報に
は、多気筒内燃機関の1回転につき複数の角度位置を検
出し、検出した角度位置間隔から各気筒の特定の回転位
置の瞬時回転数を検出し、この瞬時回転数の変動分から
異常気筒を検出する技術が開示されている。
Further, in Japanese Patent Laid-Open No. 2-112646, a plurality of angular positions are detected per revolution of a multi-cylinder internal combustion engine, and the instantaneous rotational speed at a specific rotational position of each cylinder is detected from the detected angular position intervals. However, there is disclosed a technique for detecting an abnormal cylinder from the variation of the instantaneous rotation speed.

【0006】[0006]

【発明が解決しようとする課題】しかしながら、エンジ
ンには、急加速の際、あるいは、変速時等のトルク変動
に伴う回転変動など失火以外の外乱の原因による大きな
回転変動、いわゆるスナッチが発生する場合があり、こ
のような場合、単にエンジンの回転変動分を失火判定レ
ベルと比較して失火判定を行なうと、失火でない回転変
動を失火と誤判定するおそれがある。
However, in the case where a large rotation fluctuation, so-called snatch, occurs in the engine due to a disturbance other than misfire, such as a rotation fluctuation associated with torque fluctuation during rapid acceleration or during gear shifting, etc. In such a case, if the misfire determination is performed by simply comparing the engine speed fluctuation amount with the misfire determination level, there is a possibility that a non-misfire rotation fluctuation is erroneously determined as misfire.

【0007】本発明は上記事情に鑑みてなされたもの
で、外乱によるエンジン回転変動の影響を排除して誤診
断を防止し、確実に失火を検出することのできるエンジ
ンの失火検出方法を提供することを目的としている。
The present invention has been made in view of the above circumstances, and provides an engine misfire detection method capable of eliminating the influence of engine speed fluctuations due to disturbances to prevent erroneous diagnosis and reliably detecting misfires. Is intended.

【0008】[0008]

【課題を解決するための手段】本発明によるエンジンの
失火検出方法は、燃焼行程順が前後する二つの気筒間の
エンジン回転数の差分を用いて失火を検出するエンジン
の失火検出方法において、外乱によるエンジン回転変動
を判定するための判定レベルをエンジン運転状態に基づ
き設定し、上記差分が上記判定レベル以上となった場
合、及び、上記差分が上記判定レベルを上から下に横切
った後、所定の時間が経過していない場合、失火検出の
ための診断を中止することを特徴とする。
An engine misfire detection method according to the present invention is an engine misfire detection method for detecting an engine misfire by using a difference in engine speed between two cylinders whose combustion stroke order is reversed. The determination level for determining the engine rotation fluctuation due to is set based on the engine operating state, and when the difference is equal to or higher than the determination level, and after the difference crosses the determination level from top to bottom, If the time has not elapsed, the diagnosis for detecting misfire is stopped.

【0009】[0009]

【作用】本発明によるエンジンの失火検出方法では、燃
焼行程順が前後する二つの気筒間のエンジン回転数の差
分が外乱によるエンジン回転変動を判定する判定レベル
以上となって大きなエンジン回転変動が発生した場合、
失火検出のための診断を中止し、また、エンジン回転変
動の収束を待つため、上記差分が上記判定レベルを上か
ら下に横切って所定の時間が経過していない場合にも、
失火検出のための診断を中止する。
In the engine misfire detection method according to the present invention, the difference in engine speed between the two cylinders whose combustion stroke order is changed is higher than the judgment level for judging the engine speed fluctuation due to the disturbance, and a large engine speed fluctuation occurs. if you did this,
In order to stop the diagnosis for misfire detection, and also to wait for the convergence of the engine speed fluctuation, even when the above-mentioned difference has crossed the above-mentioned judgment level from above to below and a predetermined time has not passed,
Stop diagnostics for misfire detection.

【0010】[0010]

【実施例】以下、図面を参照して本発明の実施例を説明
する。図面は本発明の一実施例に係わり、図1はスナッ
チ判定のサブルーチンを示すフローチャート、図2は失
火診断ルーチンを示すフローチャートの1、図3は失火
診断ルーチンを示すフローチャートの2、図4は連続失
火診断のサブルーチンを示すフローチャート、図5は失
火判定のサブルーチンを示すフローチャート、図6はエ
ンジン制御系の概略構成図、図7はクランクロータとク
ランク角センサの正面図、図8はカムロータとカム角セ
ンサの正面図、図9は電子制御系の回路構成図、図10
はクランクパルス、カムパルス、燃焼行程気筒、及び点
火タイミングの関係を示すタイムチャート、図11は補
正前の差回転を示す説明図、図12は補正後の差回転を
示す説明図、図13は失火判定レベルの説明図、図14
はスナッチ発生時の差回転を示す説明図、図15は連続
失火発生時の差回転を示す説明図である。
Embodiments of the present invention will be described below with reference to the drawings. The drawings relate to an embodiment of the present invention, FIG. 1 is a flowchart showing a subroutine for snatch determination, FIG. 2 is a flowchart 1 showing a misfire diagnosis routine, FIG. 3 is a flowchart 2 showing a misfire diagnosis routine, and FIG. 5 is a flowchart showing a subroutine for misfire diagnosis, FIG. 5 is a flowchart showing a subroutine for misfire determination, FIG. 6 is a schematic configuration diagram of an engine control system, FIG. 7 is a front view of a crank rotor and a crank angle sensor, and FIG. 8 is a cam rotor and a cam angle. A front view of the sensor, FIG. 9 is a circuit configuration diagram of an electronic control system, and FIG.
Is a time chart showing the relationship among crank pulse, cam pulse, combustion stroke cylinder, and ignition timing, FIG. 11 is an explanatory diagram showing differential rotation before correction, FIG. 12 is an explanatory diagram showing differential rotation after correction, and FIG. 13 is misfire. Explanatory drawing of judgment level, FIG.
Is an explanatory diagram showing differential rotation when a snatch occurs, and FIG. 15 is an explanatory diagram showing differential rotation when a continuous misfire occurs.

【0011】図6において、符号1はエンジンであり、
図においては水平対向4気筒型エンジンを示す。このエ
ンジン1のシリンダヘッド2に形成された各吸気ポート
2aにインテークマニホルド3が連通され、このインテ
ークマニホルド3にエアチャンバ4を介してスロットル
チャンバ5が連通され、このスロットルチャンバ5上流
側に吸気管6を介してエアクリーナ7が取付けられてい
る。
In FIG. 6, reference numeral 1 is an engine,
In the figure, a horizontally opposed four cylinder engine is shown. An intake manifold 3 is communicated with each intake port 2a formed in the cylinder head 2 of the engine 1, a throttle chamber 5 is communicated with the intake manifold 3 through an air chamber 4, and an intake pipe is provided upstream of the throttle chamber 5. An air cleaner 7 is attached via 6.

【0012】また、上記吸気管6の上記エアクリーナ7
の直下流に吸入空気量センサ(図においては、ホットワ
イヤ式吸入空気量センサ)8が介装され、さらに、上記
スロットルチャンバ5に設けられたスロットルバルブ5
aに、スロットルセンサ9が連設されている。
Also, the air cleaner 7 of the intake pipe 6
An intake air amount sensor (a hot wire type intake air amount sensor in the figure) 8 is installed immediately downstream of the throttle valve 5 provided in the throttle chamber 5.
A throttle sensor 9 is connected to a.

【0013】また、上記スロットルバルブ5aの上流側
と下流側とを連通するバイパス通路10に、アイドルス
ピードコントロール(ISC)バルブ11が介装され、
上記インテークマニホルド3の各気筒の各吸気ポート2
a直上流側に、インジェクタ12が臨まされている。
Further, an idle speed control (ISC) valve 11 is provided in a bypass passage 10 connecting the upstream side and the downstream side of the throttle valve 5a.
Each intake port 2 of each cylinder of the intake manifold 3
The injector 12 is exposed immediately upstream.

【0014】さらに、先端を燃焼室に露呈する点火プラ
グ13aが上記シリンダヘッド2の各気筒毎に取付けら
れ、上記点火プラグ13aに連設される点火コイル13
bにイグナイタ14が接続されている。
Further, an ignition plug 13a whose tip is exposed to the combustion chamber is attached to each cylinder of the cylinder head 2 and is connected to the ignition plug 13a.
The igniter 14 is connected to b.

【0015】上記インジェクタ12は、燃料供給路15
を介して燃料タンク16に連通されており、この燃料タ
ンク16内にはインタンク式の燃料ポンプ17が設けら
れている。この燃料ポンプ17からの燃料は、上記燃料
供給路15に介装された燃料フィルタ18を経て上記イ
ンジェクタ12、プレッシャレギュレータ19に圧送さ
れ、このプレッシャレギュレータ19から上記燃料タン
ク16にリターンされて所定の圧力に調圧される。
The injector 12 has a fuel supply path 15
The fuel tank 16 is communicated with the fuel tank 16 through the fuel tank 16. An in-tank type fuel pump 17 is provided in the fuel tank 16. The fuel from the fuel pump 17 is pressure-fed to the injector 12 and the pressure regulator 19 through the fuel filter 18 provided in the fuel supply passage 15, and is returned from the pressure regulator 19 to the fuel tank 16 to a predetermined position. Adjusted to pressure.

【0016】また、上記エンジン1のシリンダブロック
1aにノックセンサ25が取付けられるとともに、この
シリンダブロック1aの左右バンクを連通する冷却水通
路26に冷却水温センサ27が臨まされ、さらに、上記
シリンダヘッド2の排気ポート2bに連通するエグゾー
ストマニホルド28の集合部に、O2センサ29が臨ま
されている。尚、符号30は触媒コンバータである。
Further, a knock sensor 25 is attached to the cylinder block 1a of the engine 1, a cooling water temperature sensor 27 is exposed in a cooling water passage 26 which communicates the left and right banks of the cylinder block 1a, and the cylinder head 2 is also provided. The O2 sensor 29 is exposed to the gathering portion of the exhaust manifold 28 communicating with the exhaust port 2b. Reference numeral 30 is a catalytic converter.

【0017】また、上記シリンダブロック1aに支承さ
れたクランクシャフト1bに、クランクロータ31が軸
着され、このクランクロータ31の外周に、電磁ピック
アップなどの磁気センサあるいは光センサなどからなる
クランク角センサ32が対設されてエンジンの回転を検
出する回転検出手段が構成される。さらに、上記シリン
ダヘッド2のカムシャフト1cにカムロータ33が連設
され、このカムロータ33の外周に、電磁ピックアップ
などの磁気センサあるいは光センサなどからなる気筒判
別用のカム角センサ34が対設されている。
A crank rotor 31 is mounted on a crank shaft 1b supported by the cylinder block 1a, and a crank angle sensor 32 including a magnetic sensor such as an electromagnetic pickup or an optical sensor is provided around the crank rotor 31. Are arranged opposite to each other to constitute rotation detecting means for detecting the rotation of the engine. Further, a cam rotor 33 is connected to the cam shaft 1c of the cylinder head 2, and a cam angle sensor 34 for discriminating a cylinder including a magnetic sensor such as an electromagnetic pickup or an optical sensor is provided on the outer periphery of the cam rotor 33 so as to be opposed thereto. There is.

【0018】図7に示すように、上記クランクロータ3
1の外周には突起(スリットでも良い)31a,31
b,31cが形成されている。各突起31a,31b,
31cは、各気筒の圧縮上死点前(BTDC)θ1 ,θ
2 ,θ3 の位置に形成されており、上記クランク角セン
サ32から出力される各突起31a,31b,31cの
検出信号が波形整形されてθ1 ,θ2 ,θ3クランクパ
ルスとしてECU41に入力され、エンジン回転数が算
出されるとともに、点火時期制御、燃料噴射制御の制御
タイミングが得られる。
As shown in FIG. 7, the crank rotor 3
Around the outer periphery of 1 are projections (or slits) 31a, 31
b and 31c are formed. Each protrusion 31a, 31b,
31c is before compression top dead center (BTDC) θ1, θ of each cylinder
The detection signals of the respective projections 31a, 31b, 31c output from the crank angle sensor 32 are formed in the positions of 2 and θ3, and the detected signals are input to the ECU 41 as θ1, θ2, and θ3 crank pulses, and the engine rotation speed is increased. The number is calculated, and the control timings of the ignition timing control and the fuel injection control are obtained.

【0019】また、図8に示すように、上記カムロータ
33の外周に、気筒判別用突起(スリットでもよい)3
3a,33b,33cが形成されている。突起33aが
#3,#4気筒の圧縮上死点後(ATDC)θ4 の位置
に形成され、また、突起33bが3ヶの突起で構成さ
れ、その最初の突起が#1気筒の圧縮上死点後(ATD
C)θ5 の位置に形成されている。さらに、突起33c
が2ヶの突起で構成され、その最初の突起が#2気筒の
圧縮上死点後(ATDC)θ6 の位置に形成されてい
る。
Further, as shown in FIG. 8, a cylinder discriminating projection (or a slit) 3 is provided on the outer periphery of the cam rotor 33.
3a, 33b, 33c are formed. The projection 33a is formed at the position of the compression top dead center (ATDC) θ4 of the # 3 and # 4 cylinders, and the projection 33b is composed of three projections, and the first projection is the compression top dead of the # 1 cylinder. After the point (ATD
C) It is formed at the position of θ5. Furthermore, the protrusion 33c
Is formed by two projections, and the first projection is formed at the position of the compression dead center (ATDC) θ6 of the # 2 cylinder.

【0020】上記カムロータ33の各突起33a,33
b,33cは、上記カム角センサ34によって検出さ
れ、波形整形されてECU41に気筒判別用のθ4,θ
5,θ6カムパルスとしてECU41に入力される。
Each protrusion 33a, 33 of the cam rotor 33
b, 33c are detected by the cam angle sensor 34, the waveform is shaped, and the ECU 41 determines θ4, θ for cylinder discrimination.
It is input to the ECU 41 as a 5 and θ6 cam pulse.

【0021】これにより、エンジン運転時に、図10に
示すようにクランクパルスと重ならない位置でカムパル
スを生じ、このカムパルスの個数と発生状態から気筒判
別することが可能になる。
As a result, when the engine is in operation, a cam pulse is generated at a position where it does not overlap the crank pulse as shown in FIG. 10, and it becomes possible to discriminate the cylinder from the number and generation state of this cam pulse.

【0022】尚、図の実施例では、θ1 =97℃A、θ
2 =65℃A、θ3 =10℃A、θ4 =20℃A、θ5
=5℃A、θ6 =20℃Aである。
In the illustrated embodiment, θ1 = 97 ° C. A, θ
2 = 65 ° C A, θ3 = 10 ° C A, θ4 = 20 ° C A, θ5
= 5 ° C.A, θ6 = 20 ° C.A.

【0023】一方、図9において、符号41はマイクロ
コンピュータなどからなる電子制御装置(ECU)であ
り、CPU42、ROM43、RAM44、バックアッ
プRAM44a、及び、I/Oインターフェース45が
バスライン46を介して互いに接続され、定電圧回路4
7から所定の安定化電圧が供給される。
On the other hand, in FIG. 9, reference numeral 41 is an electronic control unit (ECU) composed of a microcomputer, etc., and the CPU 42, ROM 43, RAM 44, backup RAM 44a, and I / O interface 45 are mutually connected via a bus line 46. Connected, constant voltage circuit 4
A predetermined stabilizing voltage is supplied from 7.

【0024】上記定電圧回路47は、ECUリレー48
のリレー接点を介してバッテリ49に接続されるととも
に、直接、バッテリ49に接続されており、上記ECU
リレー48のリレーコイルと上記バッテリ49との間に
接続されたイグニッションスイッチ50がONされ、上
記ECUリレー48のリレー接点が閉となったとき、各
部に制御用電源を供給し、また、上記イグニッションス
イッチ50がOFFされたとき、上記バックアップRA
M44aにバックアップ電源を供給する。
The constant voltage circuit 47 includes an ECU relay 48.
Is connected to the battery 49 via the relay contact of the ECU and directly connected to the battery 49.
When the ignition switch 50 connected between the relay coil of the relay 48 and the battery 49 is turned on and the relay contact of the ECU relay 48 is closed, the control power is supplied to each part and the ignition is also performed. When the switch 50 is turned off, the backup RA
Supply backup power to M44a.

【0025】また、上記バッテリ49には、燃料ポンプ
リレー51のリレーコイル、及び、この燃料ポンプリレ
ー51のリレー接点を介して燃料ポンプ17が接続され
ている。
The battery 49 is connected to the fuel pump 17 via a relay coil of the fuel pump relay 51 and a relay contact of the fuel pump relay 51.

【0026】また、上記I/Oインターフェース45の
入力ポートには、吸入空気量センサ8、スロットルセン
サ9、ノックセンサ25、冷却水温センサ27、O2セ
ンサ29、クランク角センサ32、カム角センサ34、
車速センサ35などが接続されるとともに、上記 バッ
テリ49が接続されてバッテリ電圧がモニタされる。
Further, the input port of the I / O interface 45 has an intake air amount sensor 8, a throttle sensor 9, a knock sensor 25, a cooling water temperature sensor 27, an O 2 sensor 29, a crank angle sensor 32, a cam angle sensor 34,
The vehicle speed sensor 35 and the like are connected, and the battery 49 is connected to monitor the battery voltage.

【0027】また、上記I/Oインターフェース45の
出力ポートには、イグナイタ14が接続され、さらに、
駆動回路52を介して、ISCバルブ11、インジェク
タ12、燃料ポンプリレー51のリレーコイル、及び、
図示しないインストルメントパネルに配設したECS
(Electronic Control System)ランプ53が接続され
ている。
The igniter 14 is connected to the output port of the I / O interface 45, and further,
Via the drive circuit 52, the ISC valve 11, the injector 12, the relay coil of the fuel pump relay 51, and
ECS installed on an instrument panel (not shown)
An (Electronic Control System) lamp 53 is connected.

【0028】上記ROM43には制御プログラム、及
び、各種制御用固定データが記憶されており、また、上
記RAM44には、データ処理した後の上記各センサ
類、スイッチ類の出力信号及び上記CPU42で演算処
理したデータが格納されている。さらに、上記バックア
ップRAM44aには、イグニッションスイッチ50に
関係なく常時電源が供給され、イグニッションスイッチ
50をOFFにしてエンジンの運転を停止しても記憶内
容が消失せず、自己診断機能により検出した故障部位に
対応するトラブルコードなどがストアされるようになっ
ている。
The ROM 43 stores a control program and various fixed data for control, and the RAM 44 outputs the output signals of the sensors and switches after data processing and the CPU 42 calculates the data. Stores processed data. Further, the backup RAM 44a is constantly supplied with power regardless of the ignition switch 50. Even if the ignition switch 50 is turned off and the operation of the engine is stopped, the stored contents are not lost, and the faulty part detected by the self-diagnosis function is detected. The trouble codes etc. corresponding to are stored.

【0029】尚、上記トラブルデータは、ECU41に
シリアルモニタ54をコネクタ55を介して接続するこ
とで外部に読出すことができる。このシリアルモニタ5
4については、本出願人が先に提出した特開平2−73
131号公報に詳述されている。
The trouble data can be read out to the outside by connecting the serial monitor 54 to the ECU 41 via the connector 55. This serial monitor 5
Regarding No. 4, JP-A-2-73 previously filed by the applicant.
No. 131 is described in detail.

【0030】上記CPU42では上記ROM43に記憶
されている制御プログラムに従って、燃料噴射量、点火
時期、ISCバルブ11の駆動信号のデューティ比など
を演算し、空燃比制御、点火時期制御、アイドル回転数
制御などの各種制御を行なうとともに、各気筒#n(n
=1〜4)の失火を個別的に判断している。
The CPU 42 calculates the fuel injection amount, the ignition timing, the duty ratio of the drive signal of the ISC valve 11, etc. in accordance with the control program stored in the ROM 43, and controls the air-fuel ratio, the ignition timing, and the idle speed. Each cylinder #n (n
= 1 to 4) misfires are individually judged.

【0031】次に、上記ECU41で実行される失火検
出手順を図1〜図5のフローチャートに従って説明す
る。
Next, the misfire detection procedure executed by the ECU 41 will be described with reference to the flow charts of FIGS.

【0032】図2及び図3のフローチャートは、クラン
ク角センサ32からのθ3クランクパルスに同期して割
込み実行される失火診断ルーチンを示し、まず、ステッ
プS101で、前回ルーチン実行時に得られた各データをワ
ークエリアにストアし、ステップS102で、θ2 , θ3
クランクパルス間の入力間隔時間と、θ2 ,θ3 を示す
クランクロータ31の挾み角(θ2 −θ3 )から、#n
(n=1,3,2,4)気筒に対応するエンジン回転数
MNXnを、エンジン低回転域での失火を考慮し、例え
ば150rpm以上の範囲で算出 する。
The flowcharts of FIGS. 2 and 3 show a misfire diagnosis routine which is interrupted in synchronism with the θ3 crank pulse from the crank angle sensor 32. First, in step S101, each data obtained during the execution of the previous routine is executed. Is stored in the work area, and in step S102, θ2, θ3
From the input interval time between crank pulses and the included angle (θ2-θ3) of the crank rotor 31, which indicates θ2 and θ3,
The engine speed MNXn corresponding to the (n = 1, 3, 2, 4) cylinder is calculated in the range of, for example, 150 rpm or more in consideration of the misfire in the low engine speed region.

【0033】尚、以下の説明において、各パラメータ、
各フラグの添字n,n-1,n-2,…は各気筒番号を表わす
ものとする。
In the following description, each parameter,
The subscripts n, n-1, n-2, ... Of each flag represent each cylinder number.

【0034】次に、ステップS103へ進むと、上記ステッ
プS102で算出した#n気筒に対応するエンジン回転数M
NXnと、1燃焼行程前の#n−1気筒に対応するエン
ジン回転数MNXn-1(前回ルーチン実行時に算出)と
の差を、#n気筒に対応する差回転DELNEnと して
算出する(DELNEn←MNXn−MNXn-1)。
Next, in step S103, the engine speed M corresponding to the #n cylinder calculated in step S102 is calculated.
The difference between NXn and the engine speed MNXn-1 corresponding to the # n-1 cylinder one combustion stroke before (calculated at the time of the previous routine execution) is calculated as the differential rotation speed DELNEn corresponding to the #n cylinder (DELNEn. <-MNXn-MNXn-1).

【0035】次いで、ステップS104で、クランク角セン
サ32及びカム角センサ34からそれぞれ出力されるク
ランクパルス及びカムパルスに基づき、今回の燃焼行程
気筒である#n気筒がn=1,3,2,4のいずれであ
るかを判別し、ステップS105で、1燃焼行程前の#n−
1気筒を判別する。
Next, at step S104, based on the crank pulse and the cam pulse output from the crank angle sensor 32 and the cam angle sensor 34, respectively, the #n cylinder which is the combustion stroke cylinder this time is n = 1, 3, 2, 4 It is determined which of the two is # n- before one combustion stroke in step S105.
Determine one cylinder.

【0036】例えば、図10に示すように、カム角セン
サ34からθ5カムパルスが入力された後に、クランク
角センサ32からクランクパルスが入力された場合、こ
のクランクパルスは、#3気筒のクランク角を示す信号
であることが判別でき、また、上記θ5カムパルスの後
に、θ4カムパルスが入力された場合、その後のクラン
クパルスは、#2気筒のクランク角を示すものであるこ
とが判別できる。
For example, as shown in FIG. 10, when a crank pulse is input from the crank angle sensor 32 after the θ5 cam pulse is input from the cam angle sensor 34, this crank pulse indicates the crank angle of the # 3 cylinder. When the θ4 cam pulse is input after the θ5 cam pulse, it can be determined that the subsequent crank pulse indicates the crank angle of the # 2 cylinder.

【0037】同様にθ6 カムパルス入力後のクランクパ
ルスが#4気筒のクランク角を示すものであり、また、
上記θ6カムパルスの後にθ4カムパルスが入力された場
合、その後のクランクパルスが#1気筒のクランク角を
示すものであることが判別できる。
Similarly, the crank pulse after the θ6 cam pulse is input indicates the crank angle of the # 4 cylinder, and
When the θ4 cam pulse is input after the θ6 cam pulse, it can be determined that the subsequent crank pulse indicates the crank angle of the # 1 cylinder.

【0038】さらに、上記カム角センサ34からカムパ
ルスが入力された後に、上記クランク角センサ32から
入力されるクランクパルスが該当気筒の基準クランク角
(θ1 )を示すものであることが判別できる。
Further, after the cam pulse is input from the cam angle sensor 34, it can be determined that the crank pulse input from the crank angle sensor 32 indicates the reference crank angle (θ1) of the corresponding cylinder.

【0039】実施例においては、点火順が、#1→#3
→#2→#4であり、例えば、今、失火診断ルーチンが
#3気筒のBTDCθ3のθ3クランクパルスに同期して
実行される場合、燃焼行程気筒#nは#1気筒であり、
1燃焼行程前の気筒#n−1は#4気筒、2燃焼行程前
の気筒#n−2は#2気筒となる。
In the embodiment, the ignition order is # 1 → # 3.
→ # 2 → # 4. For example, when the misfire diagnosis routine is executed in synchronization with the θ3 crank pulse of BTDCθ3 of the # 3 cylinder, the combustion stroke cylinder #n is the # 1 cylinder,
Cylinder # n-1 before one combustion stroke is # 4 cylinder, and cylinder # n-2 before one combustion stroke is # 2 cylinder.

【0040】ここで、上記クランク角センサ32による
クランク角の検出位置は、クランクロータ31の各突起
31a,31b,31cの位置及び形状の製造上の許容
誤差、上記クランク角センサ32のエンジン1への取付
位置の許容誤差などがエンジン毎に存在する。
Here, the detected position of the crank angle by the crank angle sensor 32 is a manufacturing tolerance of the positions and shapes of the protrusions 31a, 31b, 31c of the crank rotor 31, the crank angle sensor 32 is directed to the engine 1. There is an error in the mounting position of each engine.

【0041】従って、上記クランク角センサ32からの
クランクパルスに基づいて算出される差回転DELNE
には、これらの誤差によるばらつきが含まれており、特
に、エンジン高回転時には、図11に示すように、見か
け上、比較的小さなエンジン回転変動が一律に発生して
いるような結果となる。
Therefore, the differential rotation speed DELNE calculated based on the crank pulse from the crank angle sensor 32.
Include variations due to these errors, and in particular, at the time of high engine speed, apparently relatively small engine speed fluctuations are uniformly generated as shown in FIG.

【0042】このため、上記ステップS105からステップ
S106へ進むと、上記ステップS103で算出した差回転DE
LNEnから、この差回転DELNEnを統計処理して算
出した前回までの#n気筒の差回転補正値AVEDN0
nを減算し、補正後差回転DELNAnとして算出する
(DELNAn←DELNEn−AVEDN0n)。
Therefore, from step S105 to step
When proceeding to S106, the differential rotation DE calculated in the above step S103
The differential rotation correction value AVEDN0 of the #n cylinder up to the last time calculated by statistically processing the differential rotation DELNEn from LNEn.
n is subtracted and the corrected differential rotation DELNAn is calculated (DELNAn ← DELNEn-AVEDN0n).

【0043】これにより、図11に示すように、失火に
よる回転変動と、クランクロータ31の各突起31a,
31b,31cの位置及び形状の製造上の許容誤差、ク
ランク角センサ32のエンジン1への取付位置の許容誤
差などによる見かけ上の回転変動とが混在する補正前の
差回転DELNEnから、#n気筒と#n−1気筒との
間のエンジン回転数の正確な差分、すなわち、補正後差
回転DELNAを求めることができ、図12に示すよう
に、失火による回転変動を正確に抽出することができ
る。
As a result, as shown in FIG. 11, the rotation fluctuation due to the misfire and the protrusions 31a of the crank rotor 31,
From the uncorrected differential rotation speed DELNEn in which the manufacturing tolerances of the positions and shapes of 31b and 31c, the apparent rotation fluctuation due to the tolerance of the mounting position of the crank angle sensor 32 to the engine 1, and the like are mixed, An accurate difference in engine speed between the # 1 and # n-1 cylinders, that is, the corrected differential rotation speed DELNA can be obtained, and as shown in FIG. 12, rotational fluctuation due to misfire can be accurately extracted. .

【0044】尚、図11、図12、及び、後述する図1
5においては、縦軸の1目盛りを50回転、横軸の1目
盛り(1div)を720°CAとして、ECU41内
で算出した差回転データを示している。
Incidentally, FIG. 11, FIG. 12, and FIG.
In FIG. 5, differential rotation data calculated in the ECU 41 is shown by setting one scale on the vertical axis to 50 rotations and one scale on the horizontal axis (1 div) to 720 ° CA.

【0045】前述のように、例えばこの失火診断ルーチ
ンが#3気筒のBTDCθ3クランクパルスに同期して
実行された場合、1燃焼行程前の気筒#n−1としての
#4気筒が失火診断対象気筒となり、#1気筒のBTD
Cθ2,θ3のθ2,θ3クランクパルス間の入力間隔時間
に基づき算出した1燃焼行程前の#4気筒(#n−1気
筒)の回転数MNX4(=MNXn-1)から#4気筒のB
TDCθ2,θ3クランクパルス間の入力間隔時間に基づ
く2燃焼行程前の#2気筒(#n−2)の回転数MNX
2(=MNXn-2)を減算し統計処理して前回のルーチン
実行時に求めた#4気筒(#n−1気筒)の補正後差回
転DELNA4(=DELNAn-1)と、#3気筒のBT
DCθ2,θ3クランクパルス間の入力間隔時間に基づく
回転数MNX1(=MNXn)から#1気筒のBTDCθ
2,θ3クランクパルス間の入力間隔時間に基づく回転数
MNX4(=MNXn-1)を減算し統計処理して今回のル
ーチンにて求めた#1気筒(#n気筒)の補正後差回転
DELNA1(=DELNAn)との変化状態により、以
後の処理で該当気筒#4(#n−1気筒)に対する失火
診断が行われるのである。
As described above, for example, when this misfire diagnosis routine is executed in synchronization with the BTDCθ3 crank pulse of the # 3 cylinder, the cylinder # 4, which is the cylinder # n-1 one combustion stroke before, is the cylinder subject to the misfire diagnosis. And the # 1 cylinder BTD
The rotation speed MNX4 (= MNXn-1) of the # 4 cylinder (# n-1 cylinder) before one combustion stroke calculated from the input interval time between the C2 and θ3 crank pulses of Cθ2 and θ3 to the B of the # 4 cylinder.
Rotational speed MNX of the # 2 cylinder (# n-2) before two combustion strokes based on the input interval time between the TDC θ2 and θ3 crank pulses
2 (= MNXn-2) is subtracted and statistically processed to obtain the corrected differential rotation speed DELNA4 (= DELNAn-1) of the # 4 cylinder (# n-1 cylinder) and the BT of the # 3 cylinder obtained in the previous routine execution.
DCθ2, θ3 From the rotational speed MNX1 (= MNXn) based on the input interval time between crank pulses, the BTDCθ of the # 1 cylinder
Rotational speed MNX4 (= MNXn-1) based on the input interval time between 2 and θ3 crank pulses is subtracted and statistically processed to obtain the corrected differential rotation speed DELNA1 (# 1 cylinder (#n cylinder) obtained in this routine. = DELNAn), the misfire diagnosis for the corresponding cylinder # 4 (# n-1 cylinder) is performed in the subsequent processing.

【0046】次に、上記ステップS106からステップS107
へ進み、#n気筒の補正後差回転DELNAnと、前回
ルーチン実行時に算出した#n−1気筒の補正後差回転
DELNAn-1との差を、補正後差回転変化DDNEAn
として算出する(DDNEAn←DELNAn−D EL
NAn-1)。すなわち、補正後差回転DELNAの変化
を捕えることにより、失火以外の原因によって発生する
比較的小さなエンジン回転変動の影響を排除し、正確な
失火検出を可能にする。
Next, from step S106 to step S107
Then, the difference between the corrected differential rotation speed DELNAn of the #n cylinder and the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder calculated during the execution of the previous routine is calculated.
Is calculated as (DDNEAn ←← DELNAn−DEL
NAn-1). That is, by catching the change in the corrected differential rotation speed DELNA, the influence of a relatively small engine speed fluctuation caused by a cause other than misfire is eliminated, and accurate misfire detection is possible.

【0047】その後、上記ステップS107からステップS1
08以降へ進み、ステップS108,S109,S110の各ステップで
失火診断条件が成立するか否かを判別する。すなわち、
ステップS108で燃料カット中か否かを調べ、ステップS1
09で基本燃料噴射パルス幅Tpが設定値TpLWERより小さ
いか否かを調べる。また、ステップS110でエンジン回転
数NEが設定回転数NEUPER以上か否かを調べる。
After that, the above steps S107 to S1
After 08, it is determined whether or not the misfire diagnosis condition is satisfied in each of steps S108, S109, and S110. That is,
In step S108, it is checked whether fuel is being cut, and step S1
At 09, it is checked whether the basic fuel injection pulse width Tp is smaller than the set value TpLWER. In step S110, it is checked whether the engine speed NE is equal to or higher than the set speed NEUPER.

【0048】上記ステップS108,S109,S110の各ステップ
を経て、燃料カット中でなく、Tp≧TpLWER、且つ、N
E<NEUPERのときには、診断条件成立としてステップS1
11で、診断許可フラグFLGDIAGをセットし(FLGDI
AG←1)、一方、上記ステップS108で燃料カット中のと
き、上記ステップS109でTp<TpLWERのとき、あるい
は、上記ステップS110でNE≧NEUPERのときには、診断
条件不成立として各ステップからステップS112へ分岐
し、診断許可フラグFLGDIAGをクリアする(FLGDI
AG←0)。
After the steps S108, S109, S110, the fuel is not being cut, Tp ≧ TpLWER, and N
If E <NEUPER, it is determined that the diagnostic condition is satisfied, and step S1
At 11, the diagnosis permission flag FLGDIAG is set (FLGDIG
AG ← 1) On the other hand, when the fuel is being cut in step S108, Tp <TpLWER in step S109, or NE ≧ NEUPER in step S110, it is determined that the diagnostic condition is not satisfied and the process branches from step S112 to step S112. Then, the diagnosis permission flag FLGDIAG is cleared (FLGDI
AG ← 0).

【0049】そして、上記ステップS111あるいは上記ス
テップS112からステップS113へ進むと、後述するスナッ
チ判定のサブルーチンを実行して外乱によるエンジン回
転変動、すなわち、スナッチ発生の有無を判別し、スナ
ッチ発生の場合、後述するように、スナッチフラグFL
GSNを1にセットする。その後、ステップS114で、後
述する連続失火診断のサブルーチンを実行し、スナッチ
フラグFLGSNの値を参照してスナッチ発生が無い場
合、連続して発生する失火の始まりと終了とを検出す
る。
When the process proceeds from step S111 or step S112 to step S113, a subroutine for snatch determination, which will be described later, is executed to determine engine speed fluctuation due to disturbance, that is, whether or not snatch is generated. If snatch is generated, As will be described later, the snatch flag FL
Set GSN to 1. Then, in step S114, a subroutine for continuous misfire diagnosis, which will be described later, is executed, and when the snatch is not generated by referring to the value of the snatch flag FLGSN, the start and end of continuously occurring misfires are detected.

【0050】次に、上記ステップS114からステップS115
へ進み、1燃焼行程前の#n−1気筒の失火フラグFL
GMISn-1の値を参照する。この失火フラグは、上記
ステップS114における連続失火診断において失火と判定
されたとき、FLGMISn-1=1にセットされるもの
であり、FLGMISn-1=0、すなわち、#n−1気
筒に失火が発生していないときには、ステップS115から
ステップS116へ進み、#n−1気筒の差回転DELNE
n-1と、前回までの全気筒の差回転加重平均値AVED
N0との差Δ(=DELNEn-1−AVEDN0)が、
上下の設定値MINDN,MAXDN(MINDN<M
AXDN)の間の所定の設定範囲内にあるか否かを判別
する。
Next, the above steps S114 to S115.
To the misfire flag FL of the # n-1 cylinder before one combustion stroke.
Refer to the value of GMISn-1. This misfire flag is set to FLGMISn-1 = 1 when the misfire is determined in the continuous misfire diagnosis in step S114, and FLGMISn-1 = 0, that is, misfire occurs in the # n-1 cylinder. If not, the process proceeds from step S115 to step S116, and the differential rotation DELNE of the # n-1 cylinder is performed.
n-1 and differential rotation weighted average value AVED of all cylinders up to the previous time
The difference Δ with N0 (= DELNEn-1 −AVEDN0) is
Upper and lower set values MINDN, MAXDN (MINDN <M
AXDN) is determined to be within a predetermined setting range.

【0051】上記ステップS116で、MINDN<Δ<M
AXDNであり、設定範囲内のときには、クランクロー
タ31あるいはクランク角センサ32に係わる誤差によ
り、差回転DELNEnが変動していると判別してステ
ップS120,S121で、差回転DELNEn-1を統計処 理
し、ステップS122へ進む。
In step S116, MINDN <Δ <M
When AXDN is within the set range, it is determined that the differential rotation speed DELNEn is fluctuating due to an error related to the crank rotor 31 or the crank angle sensor 32, and the differential rotation speed DELNEn-1 is statistically processed in steps S120 and S121. Then, the process proceeds to step S122.

【0052】すなわち、ステップS120で、誤差による差
回転変動を補正するため、前回までの全気筒の差回転加
重平均値AVEDN0と、#n−1気筒の補正後差回転
DELNAn-1とから、新たな全気筒差回転加重平均値
AVEDNを算出すると(AVEDN←(3/4 )×
AVEDN0+(1/4)×DELNAn-1)、ステッ
プS121で、この新たな全気筒差回転加重平均値AVED
Nと#n−1気筒の差回転DELNEn-1との差、及
び、前回までの#n−1気筒の差回転補正値AVEDN
0n-1から、新たな#n−1気筒の差 回転補正値AVE
DNn-1を算出する(AVEDNn-1←(7/8)×AV
EDN0n-1+(1/8)×(DELNEn-1−AVED
N))。
That is, in step S120, in order to correct the differential rotation variation due to the error, the differential rotation weighted average value AVEDN0 of all cylinders up to the previous time and the corrected differential rotation DELNAn-1 of the # n-1 cylinder are newly added. When calculating the all-cylinder differential rotation weighted average value AVEDN (AVEDN ← (3/4) ×
AVEDN0 + (1/4) × DELNAn-1), in step S121, this new all cylinder differential rotation weighted average value AVED
The difference between N and the differential rotation speed DELNEn-1 of the # n-1 cylinder, and the differential rotation correction value AVEDN of the # n-1 cylinder up to the previous time.
0n-1 to new # n-1 cylinder difference Rotation correction value AVE
Calculate DNn-1 (AVEDNn-1 ← (7/8) x AV
EDN0n-1 + (1/8) × (DELNEn-1-AVED
N)).

【0053】一方、上記ステップS115で、FLGMIS
n-1=1、すなわち、#n−1気筒が失火のときには、
ステップS117で、失火回数のカウント値MISCNTn-
1をカウントアップして(MISCNTn-1←MISCN
Tn-1+1)ステップS118へ進む。
On the other hand, in step S115, FLGMIS
When n-1 = 1, that is, when # n-1 cylinder misfires,
In step S117, the misfire count value MISCNTn-
Count up 1 (MISCNTn-1 ← MISCN
Tn-1 + 1) The process proceeds to step S118.

【0054】また、上記ステップS116で、Δ≦MIND
N、あるいは、Δ≧MAXDNのときには、クランクロ
ータ31あるいはクランク角センサ32に係わる誤差に
よる差回転DELNEn-1の変動ではなく、#n−1気
筒の燃焼状態のばらつきによる差回転DELNEn-1の
変動と判別してステップS118へ進む。
Further, in step S116, Δ ≦ MIND
When N or Δ ≧ MAXDN, not the fluctuation of the differential rotation speed DELNEn−1 due to an error relating to the crank rotor 31 or the crank angle sensor 32, but the fluctuation of the differential rotation speed DELNEn−1 due to the variation of the combustion state of the # n−1 cylinder. And proceeds to step S118.

【0055】ステップS118では、前回までの全気筒差回
転加重平均値AVEDN0を今回の全気筒差回転加重平
均値AVEDNとし(AVEDN←AVEDN0)、ス
テップS119で、前回までの#n−1気筒の差回転補正値
AVEDN0n-1を新たな#n−1気筒の差回転補正値
AVEDNn-1として(AVEDNn-1←AVEDN0n-
1)、ステップS122へ進む。
In step S118, the all-cylinder differential rotation weighted average value AVEDN0 up to the previous time is set as the current all-cylinder differential rotation weighted average value AVEDN (AVEDN ← AVEDEN0). In step S119, the difference between the # n-1 cylinders up to the previous time is calculated. The rotation correction value AVEDN0n-1 is set as a new differential rotation correction value AVEDNn-1 for the # n-1 cylinder (AVEDENn-1 ← AVEDN0n-
1), proceed to step S122.

【0056】そして、上記ステップ119あるいは上記ス
テップS121からステップS122へ進むと、診断許可フラグ
FLGDIAGの値を参照し、FLGDIAG=0のときには、
ステップS128へジャンプし、FLGDIAG=1のときに
は、ステップS123で、失火診断の実行毎にカウント さ
れるカウント値CRACNTをカウントアップし(CR
ACNT←CRACNT+1)、ステップS124で、カウ
ント値CRACNTが2000に達したか否かを判別す
る。
When the process proceeds from step 119 or step S121 to step S122, the value of the diagnosis permission flag FLGDIAG is referred to. When FLGDIAG = 0,
If the flag jumps to step S128 and FLGDIAG = 1, then in step S123, the count value CRACNT that is counted each time the misfire diagnosis is executed is incremented (CR
(ACNT ← CRACNT + 1), and it is determined in step S124 whether the count value CRACNT has reached 2000.

【0057】尚、前述したように、この失火診断ルーチ
ンは、θ3クランクパルス入力毎、すなわちエンジン1
/2回転毎に実行されるため、上記カウント値CRAC
NTの値2000は、エンジン1000回転を示す。
As described above, this misfire diagnosis routine is executed every θ3 crank pulse input, that is, the engine 1
Since it is executed every / 2 rotations, the above count value CRAC
An NT value of 2000 indicates 1000 engine revolutions.

【0058】上記ステップS124では、CRACNT<2
000のとき、ステップS128へ分岐し、CRACNT≧
2000のときには、ステップS125で、後述する失火判
定のサブルーチンを実行し、ステップS126,S127で、そ
れぞれ、カウント値CRACNT、全ての気筒に 対す
る失火回数のカウント値MISCNT1〜4をクリアする
と(CRACNT←0、MISCNT1〜4←0)、ス
テップS128へ進む。ステップS128では、今回算出した差
回転DELNEn、補正後差回転DELNAn、全気筒差
回転加重平均値AVEDN、#n−1気筒の差回転補正
値AVEDNn-1などの各データをモニタ用データとし
てRAM44にセットし、ルーチンを抜ける。
In step S124, CRACNT <2
When the value is 000, the process branches to step S128 and CRACNT ≧
If 2000, a misfire determination subroutine to be described later is executed in step S125, and in steps S126 and S127, the count value CRACNT and the misfire count values MISCNT1 to 4 for all cylinders are cleared (CRACNT ← 0. , MISCNT1 to 4 ← 0), and proceeds to step S128. In step S128, each data such as the differential rotation speed DELNEn calculated this time, the corrected differential rotation speed DELNAn, the differential rotation weighted average value AVEDN of all cylinders, and the differential rotation correction value AVEDNn-1 of # n-1 cylinder is stored in the RAM 44 as monitoring data. Set and exit the routine.

【0059】次に、以上の失火診断ルーチンにおける各
サブルーチン(ステップS113のスナッチ判定、ステップ
S114の連続失火診断、ステップS125の失火判定)につい
て説明する。
Next, each subroutine in the above misfire diagnosis routine (snatch determination in step S113, step
The continuous misfire diagnosis in S114 and the misfire determination in step S125) will be described.

【0060】まず、図1に示されるスナッチ判定のサブ
ルーチンでは、ステップS201で、エンジン回転数NEと
基本燃料噴射パルス幅Tpとをパラメータとして失火判
定レベルマップを補間計算付きで参照し、失火判定レベ
ルLVLMISをエンジン運転状態に基づき設定する。
First, in the snatch determination subroutine shown in FIG. 1, in step S201, the misfire determination level map is referenced with interpolation calculation using the engine speed NE and the basic fuel injection pulse width Tp as parameters to determine the misfire determination level. Set LVLMIS based on engine operating conditions.

【0061】上記失火判定レベルLVLMISは、図1
3に示すように、基本燃料噴射パルス幅Tpが小さいエ
ンジン低負荷域を診断不可能な領域として、基本燃料噴
射パルス幅Tpが大きくなって負荷が増大する程、スラ
イスレベルが上昇するような値が、ROM43にマップ
としてストアされている。
The misfire determination level LVLMIS is shown in FIG.
As shown in Fig. 3, the engine low load region where the basic fuel injection pulse width Tp is small is set as a non-diagnosable region, and the slice level increases as the basic fuel injection pulse width Tp increases and the load increases. Is stored in the ROM 43 as a map.

【0062】次いで、上記ステップS201からステップS2
02へ進み、急加速の際や変速時等の外乱によるトルク変
動に伴うエンジン回転変動、いわゆるスナッチの有無を
判定するため、上記失火判定レベルLVLMISをK倍
(エンジンの特性等によって異なるが、通常K=1〜
2)して得た判定レベル(以下「スナッチ判定レベル」
という)と、#n−1気筒の補正後差回転DELNAn-
1とを比較し、DELNAn-1≧K×LVLMISのとき
には、外乱による大きなエンジン回転変動、いわゆるス
ナッチ発生と判別してステッ プS203へ分岐し、スナッ
チフラグFLGSNをセット(FLGSN←1)した
後、ステップS208で、後述するカウント値TMSNCを
クリアして(TMSNC←0)ルーチンを抜ける。
Next, from step S201 to step S2
Proceeding to 02, in order to determine the presence or absence of so-called snatch, which is the engine speed fluctuation associated with torque fluctuations due to disturbances during sudden acceleration or gear shifting, the above misfire judgment level LVLMIS is multiplied by K (depending on engine characteristics, etc. K = 1 to
2) The judgment level obtained by doing (hereinafter, “snatch judgment level”)
), And the corrected differential rotation speed DELNAn- of the # n-1 cylinder.
When DELNAn-1 ≧ K × LVLMIS is compared with 1, it is determined that a large engine speed fluctuation due to disturbance, so-called snatch, is detected, the process branches to step S203, and the snatch flag FLGSN is set (FLGSN ← 1). In step S208, a count value TMSNC to be described later is cleared (TMSNC ← 0) and the routine exits.

【0063】一方、上記ステップS202で、DELNAn-
1<K×LVLMISのときには、上記ステップS202か
らステップS204へ進み、スナッチフラグFLGSNがク
リアされているか否かを判別し、FLGSN=0のとき
には、前述のステップS208を経てルーチンを抜け 、F
LGSN=1のとき、すなわち、前回ルーチン実行時に
DELNAn-1≧K×LVLMISとなってスナッチフ
ラグFLGSNがセットされ、今回、DELNAn-1<
K×LVLMISとなったとき、およびその後の所定時
間内には、上記ステップS204からステップS205へ進み、
カウント値TMSNCをカウントアップする(TMSN
C←TMSNC+1)。
On the other hand, in step S202, DELNAn-
When 1 <K × LVLMIS, the process proceeds from step S202 to step S204, and it is determined whether or not the snatch flag FLGSN is cleared. If FLGSN = 0, the routine exits through the above step S208 and F
When LGSN = 1, that is, when the previous routine was executed, DELNAn-1 ≧ K × LVMLMIS, the snatch flag FLGSN is set, and this time, DELNAn-1 <
When K × LVLMIS is reached and within a predetermined time thereafter, the process proceeds from step S204 to step S205,
Count up the count value TMSNC (TMSN
C ← TMSNC + 1).

【0064】上記カウント値TMSNCは、一旦、#n
−1気筒の補正後差回転DELNAn-1がスナッチ判定
レベル(K×LVLMIS)以上となり、その後、スナ
ッチ判定レベル(K×LVLMIS)より小さくなった
ときにカウントが開始されてその後の経過時間を 計時
するためのものであり、上記ステップS205で、カウント
値TMSNCをカウントアップすると、ステップS206
で、上記カウント値TMSNCが設定値(点火回数)K
TSNCに達したか否かを判別する。
The count value TMSNC is temporarily set to #n.
-When the corrected differential rotation speed DELNAn-1 of the -1 cylinder becomes higher than the snatch judgment level (K x LVLMIS) and then becomes smaller than the snatch judgment level (K x LVLMIS), counting is started and the elapsed time thereafter is measured. If the count value TMSNC is counted up in step S205, step S206 is performed.
Then, the count value TMSNC is the set value (the number of ignitions) K
It is determined whether TSNC has been reached.

【0065】上記設定値KTSNCは、例えばエンジン
回転数NEから算出され(KTSNC=NE/100)、
上記ステップS206で、TMSNC<KTSNC、すなわ
ち、#n−1気筒の補正後差回転DELNAn-1がスナ
ッチ判定レベル(K×LVLMIS)を上から下に横切
ってから、上記設定値KTSNCで示される所定の時間
が経過していないときには、そのままルーチンを抜け
る。
The set value KTSNC is calculated, for example, from the engine speed NE (KTSNC = NE / 100),
In step S206, TMSNC <KTSNC, that is, after the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder crosses the snatch determination level (K × LVLMIS) from top to bottom, a predetermined value indicated by the set value KTSNC is given. When the time of has not elapsed, the routine is exited as it is.

【0066】一方、上記ステップS206で、TMSNC≧
KTSNC、すなわち、#n−1気筒の補正後差回転D
ELNAn-1 がスナッチ判定レベル(K×LVLMI
S)を横切ってから、上記設定点値KTSNCで示され
る所定の時間が経過したときには、スナッチ(外乱によ
るエンジン回転変動)終了と判別してステップS207へ進
み、スナッチフラグFLGSNをクリアすると(FLG
SN←0)、前述のステップS208でカウント値TMSN
Cをクリアしてルーチンを抜ける。
On the other hand, in step S206, TMSNC ≧
KTSNC, that is, the corrected differential rotation D of the # n-1 cylinder
ELNAn-1 is the snatch judgment level (K x LVLMI
When the predetermined time indicated by the set point value KTSNC has passed after the step S) is crossed, it is determined that the snatch (engine rotation fluctuation due to disturbance) has ended, the process proceeds to step S207, and the snatch flag FLGSN is cleared (FLG).
SN ← 0), the count value TMSN in step S208 described above.
Clear C and exit the routine.

【0067】上記スナッチフラグFLGSNの値は、図
4の連続失火診断のサブルーチンにおいて参照され、こ
のサブルーチンでは、ステップS301で、診断許可フラグ
FLGDIAGの値を参照し、FLGDIAG=0のとき、ステ
ップS311で#n−1気筒の失火フラグFLGMISn-1
をクリアして(FLGMISn-1←0)ルーチンを抜
け、FLGDIAG=1のとき、ステップS302でスナッチフ
ラグFLGSNの値を参照する。
The value of the snatch flag FLGSN is referred to in the subroutine for continuous misfire diagnosis in FIG. 4. In this subroutine, the value of the diagnosis permission flag FLGDIAG is referenced in step S301, and when FLGDIAG = 0, in step S311. # N-1 cylinder misfire flag FLGMISn-1
Is cleared (FLGMISn-1.rarw.0) and the routine exits, and when FLGDIAG = 1, the value of the snatch flag FLGSN is referred to in step S302.

【0068】そして、上記ステップS302で、FLGSN
=1のときには、外乱によるエンジン回転変動(スイッ
チ)があるため、失火診断を実行せずに前述のステップ
S311を経てルーチンを抜ける。すなわち、図14に示す
ように、急加速などによりスロットル開度が急激に大き
くなると、これに応じて直ちに燃料噴射量(基本燃料噴
射パルス幅Tp)が増量され、エンジン回転数NE及び車
速が遅れて上昇する。この際、気筒間のエンジン回転数
の差分が大きく変動し、前後加速度が大きく変動するス
ナッチが発生するため、このスナッチによる回転変動中
は、失火のための診断を中止し、誤診断を防止するので
ある。
Then, in step S302, the FLGSN
When = 1, there is an engine speed fluctuation (switch) due to disturbance, so the misfire diagnosis is not executed and the above steps are executed.
Exit the routine via S311. That is, as shown in FIG. 14, when the throttle opening suddenly increases due to sudden acceleration or the like, the fuel injection amount (basic fuel injection pulse width Tp) is immediately increased accordingly, and the engine speed NE and the vehicle speed are delayed. Rise. At this time, the difference in the engine speed between the cylinders fluctuates greatly, and a snatch occurs in which the longitudinal acceleration fluctuates greatly.Therefore, during rotation fluctuations due to this snatch, the diagnosis for misfire is stopped and misdiagnosis is prevented. Of.

【0069】一方、上記ステップS302で、FLGSN=
0のときには、スナッチによる回転変動が収まっている
ため、上記ステップS302からステップS303以降へ進み、
連続失火診断を実行する。この連続失火診断では、ま
ず、ステップS303で、負の失火判定レベル−LVLMI
Sと#n−1気筒の補正後差回転DELNAn-1とを比
較する。
On the other hand, in step S302, FLGSN =
When the value is 0, the rotation fluctuation due to the snatch has subsided, so the process proceeds from step S302 to step S303 and thereafter.
Perform a continuous misfire diagnosis. In this continuous misfire diagnosis, first, in step S303, the negative misfire determination level-LVMLMI is set.
S is compared with the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder.

【0070】上記ステップS303での比較結果、DELN
An-1>−LVLMISであり、#n−1気筒の補正後
差回転DELNAn-1が負の失火判定レベル−LVLM
ISより落込んでいないときには、失火ではないと判断
してステップS311へ分岐し、失火フラグをクリアして
(FLGMISn-1←0)ルーチンを抜ける。
The comparison result in step S303, DELN
An-1> -LVMLMIS, and the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder is negative. Misfire determination level -LVLM
If it has not fallen below the IS, it is judged that there is no misfire, the process branches to step S311, the misfire flag is cleared (FLGMISn-1 ← 0), and the routine exits.

【0071】また、上記ステップS303での比較結果、D
ELNAn-1≦−LVLMISであり、#n−1気筒の
補正後差回転DELNAn-1が負の失火判定レベル−L
VLMIS以下に落込んでいるときには、上記ステップ
S303からステップS304へ進んで、#n気筒の補正後差回
転変化DDNEAnと負の失火判定レベル−LVLMI
Sとを比較し、#n−1気筒から#n気筒にかけての補
正後差回転DELNAの変化を調べる。
The comparison result in step S303, D
ELNAn-1 ≤ -LVMLMIS, and the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder is negative.
If it is below VLMIS, follow the steps above.
The routine proceeds from step S303 to step S304, and the corrected differential rotation change DDNEAn of the #n cylinder and the negative misfire determination level-LVMLMI.
By comparing with S, the change in the corrected differential rotation speed DELNA from the # n−1 cylinder to the #n cylinder is examined.

【0072】そして、上記ステップS304で、DDNEA
n≦−LVLMISであり、#n−1気筒から#n気筒
にかけて、補正後差回転DELNAが段階的に落込んで
いるときには、失火以外の原因による回転変動と判断し
て前述のステップS311を経てルーチンを抜け、D DN
EAn>−LVLMISであり、負の失火判定レベル−
LVLMIS以下に落込んだ補正後差回転DELNAが
#n−1気筒から#n気筒にかけて負の失火判定レベル
−LVLMIS付近で変動しているときには、ステップ
S305で、#n−1気筒の補正後差 回転変化DDNEAn
-1と負の失火判定レベル−LVLMISとを比較し、#
n−2気筒から#n−1気筒にかけての補正後差回転D
ELNAの変化を調べる。
Then, in step S304, DDNEA
When n ≦ −LVMLMIS, and when the corrected differential rotation speed DELNA gradually decreases from the # n−1 cylinder to the #n cylinder, it is determined that the rotation fluctuation is due to a cause other than misfire, and the routine proceeds through step S311 described above. Exit through D DN
EAn> -LVMLMIS and a negative misfire determination level-
If the post-correction differential rotation speed DELNA dropped below LVLMIS fluctuates near the negative misfire determination level −LVMLMIS from the # n−1 cylinder to the #n cylinder,
In S305, the corrected differential rotation change DDNEAn of the # n-1 cylinder
-1 is compared with the negative misfire determination level-LVMLMIS, and #
Corrected differential rotation D from the n-2 cylinder to the # n-1 cylinder
Investigate changes in ELNA.

【0073】その結果、上記ステップS305で、DDNE
An-1≦−LVLMISであり、上記ステップS303,S304
における比較結果を合わせ、補正後差回転DELNA
が、#n−2気筒から#n−1気筒にかけて負の失火判
定レベル−LVLMIS以下に落込み、#n−1気筒か
ら#n気筒にかけても、負の失火判定レベル−LVLM
IS付近にあるときには、#n−1気筒から失火が始ま
っていると判定し、上記ステップS305からステップS308
へ進む。
As a result, in the above step S305, DDNE
An-1 ≤ -LVMLMIS, and the above steps S303 and S304
Compensated differential rotation DELNA
However, it falls below the negative misfire determination level −LVMLMIS from the # n−2 cylinder to the # n−1 cylinder, and the negative misfire determination level −LVLM from the # n−1 cylinder to the #n cylinder.
When it is near the IS, it is determined that the misfire has started from the # n-1 cylinder, and the steps S305 to S308 are performed.
Go to.

【0074】ステップS308では、#n−1気筒の補正後
差回転DELNAn-1を最小値DNEAMSとしてセッ
トし(DNEAMS←DELNAn-1)、次いで、ステ
ップS310へ進んで、#n−1気筒の失火フラグFLGM
ISn-1をセットし(FLGMISn-1←1)、ルーチン
を抜ける。
In step S308, the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder is set as the minimum value DNEAMS (DNEAMS ← DELNAn-1), and then the routine proceeds to step S310 to misfire the # n-1 cylinder. Flag FLGM
Set ISn-1 (FLGMISn-1 ← 1) and exit the routine.

【0075】一方、上記ステップS305で、DDNEAn-
1>−LVLMISであり、補正後差回転DELNAが
#n−2気筒から#n−1気筒にかけては負の失火判定
レベル−LVLMIS以下に落込んでいないときには、
上記ステップS305からステップS306へ分岐し、#n−2
気筒の失火フラグFLGMISn-2がセットされている
か否か、すなわち 、#n−2気筒が失火状態にあるか
否かを判別する。
On the other hand, in step S305, DDNEAn-
1> -LVMLMIS, and when the corrected differential rotation speed DELNA has not dropped below the negative misfire determination level -LVMLMIS from the # n-2 cylinder to the # n-1 cylinder,
The process branches from step S305 to step S306, # n-2.
It is determined whether or not the cylinder misfire flag FLGMISn-2 is set, that is, whether or not the # n-2 cylinder is in the misfire state.

【0076】上記ステップS306では、FLGMISn-2
=0であり、#n−2気筒が失火していないときには、
前述のステップS311を経てルーチンを抜け、FLGMI
Sn-2=1であり、#n−2気筒が失火しているときに
は、上記ステップS306からステップS307へ進んで、#n
−1気筒の補正後差回転DELNAn-1の落込みレベル
を調べる。
At step S306, FLGMISn-2
= 0, and when the # n-2 cylinder does not misfire,
After the above step S311, the routine is exited and FLGMI
When Sn-2 = 1 and # n-2 cylinder is misfiring, the routine proceeds from step S306 to step S307, where #n
Check the drop level of the corrected differential rotation speed DELNAn-1 for the -1 cylinder.

【0077】すなわち、ステップS307で、#n−1気筒
の補正後差回転DELNAn-1と差回転の最小値DNE
AMSとを比較し、DELNAn-1<DNEAMSであ
り、#n−1気筒の補正後差回転DELNAn-1が、失
火時の差回転の最小値DNEAMSより落込んでい る
ときには、#n−2気筒から#n−1気筒にかけて失火
が連続して発生していると判断して前述のステップS308
で最小値DNEAMSを更新し、ステップS310で失火フ
ラグFLGMISn-1をセットしてルーチンを抜ける。
That is, in step S307, the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder and the minimum differential rotation speed DNE are calculated.
Compared with AMS, DELNAn-1 <DNEAMS, and when the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder is lower than the minimum differential rotation speed DNEAMS at the time of misfire, # n-2 cylinder To # n-1 cylinder, it is determined that the misfires are continuously occurring, and the above-mentioned step S308 is executed.
Then, the minimum value DNEAMS is updated, the misfire flag FLGMISn-1 is set in step S310, and the routine exits.

【0078】一方、上記ステップS307で、DELNAn-
1≧DNEAMSであり、#n−1気筒の補正後差回転
DELNAn-1が最小値DNEAMS以上であるときに
は、上記ステップS307からステップS309へ進み、#n−
1気筒の補正後差回転DELNAn-1と、失火判定 レベ
ルLVLMISに最小値DNEAMSを加算した値とを
比較し、補正後差回転DELNAの落込みが所定のレベ
ルに回復しているか否かを判別する。
On the other hand, in step S307, DELNAn-
When 1 ≧ DNEAMS and the corrected differential rotation speed DELNAn−1 of the # n−1 cylinder is equal to or larger than the minimum value DNEAMS, the routine proceeds from step S307 to step S309, where # n−
The corrected differential rotation speed DELNAn-1 of one cylinder is compared with the value obtained by adding the minimum value DNEAMS to the misfire determination level LVLMIS to determine whether or not the drop of the corrected differential rotation speed DELNA has recovered to a predetermined level. To do.

【0079】そして、上記ステップS309で、DELNA
n-1<DNEAMS+LVLMISであり、#n−1気
筒の補正後差回転DELNAn-1の落込みが回復してい
ないときには、同様に、#n−1気筒においても失火が
継続していると判定し、前述のステップS310で失火フラ
グFLGMISn-1をセットしてルーチンを抜ける。
Then, in step S309, DELNA
When n-1 <DNEAMS + LVLMIS, and when the drop in the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder has not recovered, it is similarly determined that the misfire continues in the # n-1 cylinder. In step S310, the misfire flag FLGMISn-1 is set and the routine exits.

【0080】一方、上記ステップS309で、DELNAn-
1≧DNEAMS+LVLMISであり、#n−1気筒
の補正後差回転DELNAn-1の落込みが回復している
ときには、失火終了と判定し、前述のステップS311で失
火フラグFLGMISn-1をクリアしてルーチンを抜け
る。
On the other hand, in step S309, DELNAn-
When 1 ≧ DNEAMS + LVMLMIS and the drop of the corrected differential rotation speed DELNAn-1 of the # n-1 cylinder is recovered, it is determined that the misfire has ended, and the misfire flag FLGMISn-1 is cleared in step S311 described above to execute the routine. Exit through.

【0081】すなわち、#n−2気筒から#n−1気筒
にかけて補正後差回転DELNAが失火判定レベルLV
LMIS以下の負の方向に落込み、#n−1気筒から#
n気筒にかけて、その状態が継続しているとき、#n−
1気筒から失火が始まったと判定し、失火発生と判定
後、補正後差回転DELNAが所定のレベル以上に回復
したときに失火終了と判定することにより、図15に示
すように、例えば、連続した2つの気筒、#1,#3気
筒で連続して発生する失火を確実に検出することができ
るのである。
That is, from the # n-2 cylinder to the # n-1 cylinder, the corrected differential rotation speed DELNA is the misfire determination level LV.
In the negative direction below LMIS, from # n-1 cylinder to #
When the state continues for n cylinders, # n-
By determining that the misfire has started from one cylinder, determining that the misfire has occurred, and determining that the misfire has ended when the corrected differential rotation speed DELNA has recovered to a predetermined level or higher, as shown in FIG. It is possible to reliably detect misfires that continuously occur in the two cylinders, # 1 and # 3 cylinders.

【0082】また、図5の失火判定のサブルーチンで
は、ステップS401で、4気筒分の合計失火回数ΣMIS
CNTn(n=1〜4)を、前述の失火診断ルーチンに
おけるカウント値CRACNT(=2000)で割算し
て、エンジン1000回転当りの失火率MISCN T
(%)を算出する(MISCNT←ΣMISCNTn/
CRACNT×100)。
In the misfire determination subroutine of FIG. 5, the total number of misfires ΣMIS for four cylinders is determined in step S401.
CNTn (n = 1 to 4) is divided by the count value CRACCNT (= 2000) in the above-mentioned misfire diagnosis routine to calculate the misfire rate MISCN T per 1000 revolutions of the engine.
Calculate (%) (MISCNT ← ΣMISCNTn /
CRACNT x 100).

【0083】次いで、ステップS402へ進み、上記ステッ
プS401で算出した失火率MISCNTが設定値LMSC
NTより小さいか否かを判別する。この設定値LMSC
NTは、エンジン回転数NEと基本燃料噴射パルス幅Tp
とをパラメータとして予めROM43にストアされた定
数である。
Then, the procedure proceeds to step S402, where the misfire rate MISCNT calculated in step S401 is the set value LMSC.
It is determined whether it is smaller than NT. This set value LMSC
NT is the engine speed NE and the basic fuel injection pulse width Tp
These are constants previously stored in the ROM 43 with and as parameters.

【0084】上記ステップS402における判別結果、MI
SCNT≧LMSCNTのときには、ステップS403で、
失火率MISCNTをバックアップRAM44aの所定
アドレスにストアし、ステップS404で、バックアップR
AM44aの所定アドレスにストアされている1回目失
火判定NGフラグFLGNG1がセットされているか否か
を調べる。
As a result of the determination in step S402, MI
When SCNT ≧ LMSCNT, in step S403,
The misfire rate MISCNT is stored in a predetermined address of the backup RAM 44a, and the backup R is stored in step S404.
It is checked whether or not the first misfire determination NG flag FLGNG1 stored in the predetermined address of the AM 44a is set.

【0085】そして、上記ステップS404で、まだ1回目
失火判定NGフラグFLGNG1がセットされておらずF
LGNG1=0のときには、上記ステップS404からステッ
プS406へジャンプし、1回目失火判定NGフラグFLG
NG1がセットされておりFLGNG1=1のときには、上記
ステップS404からステップS405へ進んで、バックアップ
RAM44aの所定アドレスにストアされる2回目失火
判定NGフラグFLGNG2をセットし(FLGNG2←
1)、ECSランプ53を点灯あるいは点滅させるなど
してユーザーに警告を発し、ステップS406へ進む。
Then, in step S404, the first misfire determination NG flag FLGNG1 has not been set and F
When LGNG1 = 0, the routine jumps from step S404 to step S406, and the first misfire determination NG flag FLG
When NG1 is set and FLGNG1 = 1, the process proceeds from step S404 to step S405 to set the second misfire determination NG flag FLGNG2 stored in a predetermined address of the backup RAM 44a (FLGNG2 ←
1) A warning is given to the user by turning on or blinking the ECS lamp 53, and the process proceeds to step S406.

【0086】ステップS406では、1回目失火判定NGフ
ラグFLGNG1をセットし(FLGNG1←1)、ステップ
S412で、異常なしの判定回数をカウントするための失火
OKカウンタをクリアして(CNTOK←0)ルーチン
を抜ける。
In step S406, the first misfire determination NG flag FLGNG1 is set (FLGNG1 ← 1), and the step
In S412, the misfire OK counter for counting the number of times of determination of no abnormality is cleared (CNTOK ← 0) and the routine is exited.

【0087】すなわち、ノイズなどによる誤診断を避け
るため、一回目の判定で失火率MISCNTが設定値L
MSCNT以上となっても、すぐには警告を発せず、2
回目の判定で続けて失火率MISCNTが設定値LMS
CNT以上となった場合に、その気筒は異常であると断
定して警告を発するのである。
That is, in order to avoid erroneous diagnosis due to noise or the like, the misfire rate MISCNT is set to the set value L in the first judgment.
No warning is issued immediately even if it becomes MSCNT or higher. 2
The misfire rate MISCNT is set value LMS continuously in the second judgment.
When the number of cylinders exceeds CNT, it is determined that the cylinder is abnormal and a warning is issued.

【0088】尚、このとき、バックアップRAM44a
には、失火気筒のトラブルデータがストアされ、ディー
ラにおけるトラブルシュートの際に、ECU41のモニ
タランプの点滅コードあるいはシリアルモニタ54にて
上記バックアップRAM44aに記憶されているトラブ
ルデータが読出される。そして、失火気筒が判別されて
修理がなされた後、上記バックアップRAM44aのト
ラブルデータは上記シリアルモニタ54などを介してク
リアされる。
At this time, the backup RAM 44a
The trouble data of the misfiring cylinder is stored in, and the trouble data stored in the backup RAM 44a is read by the blinking code of the monitor lamp of the ECU 41 or the serial monitor 54 at the time of troubleshooting in the dealer. After the misfiring cylinder is discriminated and repaired, the trouble data in the backup RAM 44a is cleared via the serial monitor 54 or the like.

【0089】一方、上記ステップS402で、MISCNT
<LMSCNTのときには異常なしと判定し、ステップ
S407で、失火OKカウンタCNTOKをインクリメント
すると(CNTOK←CNTOK+1)、ステップS408
で、失火OKカウンタCNTOKの値が80回を越えた
か否かを判別し、CNTOK<80のときには、そのま
まルーチンを抜け、CNTOK≧80のとき、ステップ
S409,S410,S411で、それぞれ、1回目失火判定NGフラ
グFLGNG1、2回目失火判定NGフラグFLGNG2、失
火率MISCNTをクリアする と(FLGNG1←0、F
LGNG2←0、MISCNT←0)、前述のステップS41
2で、失火OKカウンタCNTOKをクリアして(CN
TOK←0)ルーチンを抜ける。
On the other hand, in step S402, MISCNT
<When LMSCNT, it is judged that there is no abnormality, and the step
In S407, if the misfire OK counter CNTOK is incremented (CNTOK ← CNTOK + 1), step S408
Then, it is determined whether or not the value of the misfire OK counter CNTOK exceeds 80 times. When CNTOK <80, the routine is exited as it is, and when CNTOK ≧ 80, the step is executed.
In S409, S410, and S411, clearing the first misfire determination NG flag FLGNG1, the second misfire determination NG flag FLGNG2, and the misfire rate MISCNT (FLGNG1 ← 0, F
LGNG2 ← 0, MISCNT ← 0), step S41 described above.
In 2, clear the misfire OK counter CNTOK (CN
TOK ← 0) Exit the routine.

【0090】[0090]

【発明の効果】以上説明したように本発明によれば、燃
焼行程順が前後する二つの気筒間のエンジン回転数の差
分が外乱によるエンジン回転変動を判定する判定レベル
以上となって大きなエンジン回転変動が発生した場合、
失火検出のための診断を中止し、また、上記差分が上記
判定レベルを上から下に横切って所定の時間が経過して
いない場合にも、失火検出のための診断を中止して、エ
ンジン回転変動の収束を待つため、誤診断を防止するこ
とができ、確実に失火を検出することができるなど優れ
た効果が得られる。
As described above, according to the present invention, the difference in engine speed between the two cylinders whose combustion stroke order is changed is greater than or equal to the determination level for determining the engine rotation fluctuation due to the disturbance, and the large engine rotation is performed. If fluctuations occur,
Stop the diagnosis for misfire detection, and also stop the diagnosis for misfire detection when the difference crosses the judgment level from top to bottom and the predetermined time has not passed, and Since it waits for the fluctuations to converge, erroneous diagnosis can be prevented, and an excellent effect such as reliable detection of misfire can be obtained.

【図面の簡単な説明】[Brief description of drawings]

【図1】スナッチ判定のサブルーチンを示すフローチャ
ート
FIG. 1 is a flowchart showing a subroutine for snatch determination.

【図2】失火診断ルーチンを示すフローチャートの1FIG. 2 is a flowchart showing a misfire diagnosis routine.

【図3】失火診断ルーチンを示すフローチャートの2FIG. 3 is a flowchart 2 showing a misfire diagnosis routine.

【図4】連続失火診断のサブルーチンを示すフローチャ
ート
FIG. 4 is a flowchart showing a subroutine for continuous misfire diagnosis.

【図5】失火判定のサブルーチンを示すフローチャートFIG. 5 is a flowchart showing a subroutine for misfire determination.

【図6】エンジン制御系の概略構成図FIG. 6 is a schematic configuration diagram of an engine control system.

【図7】クランクロータとクランク角センサの正面図FIG. 7 is a front view of a crank rotor and a crank angle sensor.

【図8】カムロータとカム角センサの正面図FIG. 8 is a front view of a cam rotor and a cam angle sensor.

【図9】電子制御系の回路構成図FIG. 9 is a circuit configuration diagram of an electronic control system.

【図10】クランクパルス、カムパルス、燃焼行程気
筒、及び点火タイミングの関係を示すタイムチャート
FIG. 10 is a time chart showing the relationship between crank pulse, cam pulse, combustion stroke cylinder, and ignition timing.

【図11】補正前の差回転を示す説明図FIG. 11 is an explanatory diagram showing a differential rotation before correction.

【図12】補正後の差回転を示す説明図FIG. 12 is an explanatory diagram showing a differential rotation after correction.

【図13】失火判定レベルの説明図FIG. 13 is an explanatory diagram of a misfire determination level.

【図14】スナッチ発生時の差回転を示す説明図FIG. 14 is an explanatory diagram showing a differential rotation when a snatch occurs.

【図15】連続失火発生時の差回転を示す説明図FIG. 15 is an explanatory diagram showing a differential rotation when a continuous misfire occurs.

【符号の説明】[Explanation of symbols]

1 エンジン DELNA 補正後差回転(差分) K×LVLMIS スナッチ判定レベル(判定レベル) 1 Engine DELNA Corrected differential rotation (difference) K × LVMLMIS Snatch judgment level (judgment level)

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】 燃焼行程順が前後する二つの気筒間のエ
ンジン回転数の差分を用いて失火を検出するエンジンの
失火検出方法において、 外乱によるエンジン回転変動を判定するための判定レベ
ルをエンジン運転状態に基づき設定し、 上記差分が上記判定レベル以上となった場合、及び、上
記差分が上記判定レベルを上から下に横切った後、所定
の時間が経過していない場合、失火検出のための診断を
中止することを特徴とするエンジンの失火検出方法。
1. A method for detecting misfire of an engine, which detects a misfire by using a difference in engine speed between two cylinders whose combustion stroke order is different from each other. Set based on the state, if the difference is above the judgment level, and if the predetermined time has not elapsed after the difference crosses the judgment level from top to bottom, for misfire detection A method for detecting engine misfire, characterized by stopping diagnosis.
JP27059892A 1992-10-08 1992-10-08 Misfire detection method for engine Pending JPH06123252A (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP27059892A JPH06123252A (en) 1992-10-08 1992-10-08 Misfire detection method for engine
US08/128,229 US5447061A (en) 1992-10-08 1993-09-29 Misfire detection method for engine
GB9320514A GB2271854B (en) 1992-10-08 1993-10-05 Misfire detection method for engine
GB9620869A GB2303455B (en) 1992-10-08 1993-10-05 Misfire detection method for engine
GB9620893A GB2303456B (en) 1992-10-08 1993-10-05 Misfire detection method for engine
DE4334068A DE4334068C2 (en) 1992-10-08 1993-10-06 Engine misfire detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP27059892A JPH06123252A (en) 1992-10-08 1992-10-08 Misfire detection method for engine

Publications (1)

Publication Number Publication Date
JPH06123252A true JPH06123252A (en) 1994-05-06

Family

ID=17488335

Family Applications (1)

Application Number Title Priority Date Filing Date
JP27059892A Pending JPH06123252A (en) 1992-10-08 1992-10-08 Misfire detection method for engine

Country Status (1)

Country Link
JP (1) JPH06123252A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114233552A (en) * 2021-12-21 2022-03-25 潍柴动力股份有限公司 Method and device for determining failure of spark plug, storage medium and electronic equipment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114233552A (en) * 2021-12-21 2022-03-25 潍柴动力股份有限公司 Method and device for determining failure of spark plug, storage medium and electronic equipment

Similar Documents

Publication Publication Date Title
JP3357091B2 (en) Engine misfire detection method
US5426587A (en) Misfire discriminating method for an engine
US5287282A (en) Misfire diagnosis apparatus for an internal combustion engine
US5216915A (en) Misfire diagnosis apparatus for an internal combustion engine
US5447061A (en) Misfire detection method for engine
JPH03202660A (en) Engine misfire judging device
US20150192498A1 (en) Engine Misfiring Diagnosis Device
US5493901A (en) Combustion state-detecting system for internal combustion engines
US6023964A (en) Misfire diagnosis method and apparatus of internal combustion engine
EP1367378A2 (en) Apparatus and method for detecting misfire in internal combustion engine
US5337556A (en) Detecting device and method for engine catalyst deterioration
US5571958A (en) Apparatus and method for detecting misfire in an internal combustion engine
JP3357092B2 (en) Engine misfire detection method
US5471870A (en) Combustion state-determining system for internal combustion engines
JPH0560004A (en) Misfire detecting device for internal combustion engine
JP3324795B2 (en) Engine misfire detection method
JPH06123252A (en) Misfire detection method for engine
JPH10148153A (en) Misfire diagnostic device for engine
JP3859789B2 (en) Engine misfire diagnostic device
JP3284137B2 (en) Engine misfire detection method
JPH04265475A (en) Mis-fire judgment for respective cylinders of engine
JPH10148154A (en) Fuel injection control device for engine
US5513520A (en) Combustion state-determining system for internal combustion engines
JPH1077899A (en) Missfire diagnosing device for engine
JPH04171250A (en) Misfire judging method for each engine cylinder