JPH10148153A - Misfire diagnostic device for engine - Google Patents

Misfire diagnostic device for engine

Info

Publication number
JPH10148153A
JPH10148153A JP8309676A JP30967696A JPH10148153A JP H10148153 A JPH10148153 A JP H10148153A JP 8309676 A JP8309676 A JP 8309676A JP 30967696 A JP30967696 A JP 30967696A JP H10148153 A JPH10148153 A JP H10148153A
Authority
JP
Japan
Prior art keywords
misfire
cylinder
engine
change
rotation state
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
JP8309676A
Other languages
Japanese (ja)
Inventor
Tetsukazu Inoue
哲一 井上
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 JP8309676A priority Critical patent/JPH10148153A/en
Publication of JPH10148153A publication Critical patent/JPH10148153A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To positively prevent erroneous diagnosis due to snatch or disturbance to improve the misfire diagnostic accuracy. SOLUTION: The engine speed is calculated for every a specified crank angle between cylinders, the last engine speed is subtracted from the present engine speed to calculate a difference rotation, a correction value of the difference rotation is subtracted from the difference rotation to calculate a corrected difference rotation, and the corrected difference rotation of an object cylinder #n-1 prior to one combustion process, is subtracted from the corrected difference rotation to calculate a corrected difference rotation-change DDNEAn of a cylinder #n. A false judgement preventing-judging level LVLMISL for judging the rotational variations due to a misfire judging level LVLMISH and factors other than misfire, is set based on the engine speed NE and the basic fuel injection pulse width Tp (S42, 43). When the corrected difference rotation-change DDNEAn-1 in relation to the object cylinder #n-1 is a minus misfire judging level or less (S44) and a minus false judgment preventing-judging level or above (S46), and when the corrected difference rotation- change DDNEAn in relation to the cylinder #n in the present process is a misfire judging level or above (S46), the diagnostic object cylinder #n-1 is judged to be misfired (S47).

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 diagnosis apparatus for diagnosing a misfire based on a change in an engine rotation state quantity for each predetermined crank angle. The present invention relates to an engine misfire diagnosis device that improves misfire diagnosis accuracy.

【0002】[0002]

【従来の技術】従来から、所定クランク角毎のエンジン
回転状態量の変化に基づいてエンジンの失火を診断する
エンジンの失火診断装置が採用されている。
2. Description of the Related Art Conventionally, an engine misfire diagnosis apparatus for diagnosing engine misfire based on a change in an engine rotation state quantity for each predetermined crank angle has been employed.

【0003】しかし、スナッチや外乱等によっても、エ
ンジン回転状態量が変化するため、単に所定クランク角
毎のエンジン回転状態量の変化に基づいてエンジンの失
火を診断すると、誤診断を生じる。
[0003] However, since the engine rotational state quantity also changes due to snatching, disturbance, or the like, erroneous diagnosis occurs if the misfire of the engine is simply diagnosed based on the change in the engine rotational state quantity for each predetermined crank angle.

【0004】これに対処するに、本出願人は、特開平6
−42397号公報による技術を提案した。
To cope with this, the present applicant has disclosed in
No. 4,423,972.

【0005】この先行例においては、エンジン回転状態
量としてエンジン回転数を用い、気筒間における所定ク
ランク角毎のエンジン回転数の差、即ち差回転DELN
Eを算出し、現在の燃焼行程気筒#nの差回転DELN
Enから加重平均による統計処理によって1サイクル
(720°CA)前に算出した当該気筒#nに対する差
回転補正値AVEDNXを減算して、当該気筒に対する
補正差回転DELNAnを算出することで、クランク角
を検出するためのクランクロータやクランク角センサの
製造許容誤差、取付許容誤差等の影響を排除する。さら
に、この補正差回転DELNAnから1燃焼行程前の失
火診断対象気筒#n-1の補正差回転DELNAn-1を減
算して当該気筒#nに対する補正差回転変化DDNEA
nを算出し、この補正差回転変化DDNEAnをエンジ
ン運転状態に基づいて設定した失火判定レベルLVLM
ISと比較すると共に、前回ルーチン実行時に算出した
1燃焼行程前の失火診断対象気筒#n-1に対する補正差
回転変化DDNEAn-1をマイナスの失火判定レベル−
LVLMISと比較する。そして、現在の燃焼行程気筒
#nの補正差回転変化DDNEAnが失火判定レベルL
VLMIS以上で、且つ失火診断対象気筒#n-1の補正
差回転変化DDNEAn-1がマイナス失火判定レベル以
下のとき、失火診断対象気筒#n-1の失火と判断するこ
とで、スナッチ等の断続的な回転変動の影響を排除し、
スナッチ等による誤診断を防止している。
In this prior art, an engine speed is used as an engine speed state quantity, and a difference in engine speed between cylinders at each predetermined crank angle, that is, a differential speed DELN.
E is calculated and the differential rotation DELN of the current combustion stroke cylinder #n is calculated.
The crank angle is calculated by subtracting the differential rotation correction value AVEDNX for the cylinder #n calculated one cycle (720 ° CA) earlier by a statistical process using a weighted average from En to calculate the corrected differential rotation DELNAn for the cylinder. Eliminate the effects of manufacturing tolerances, mounting tolerances, etc. of the crank rotor and crank angle sensor for detection. Further, the corrected differential rotation change DDNEA for the cylinder #n is subtracted from the corrected differential rotation DELNAn by subtracting the corrected differential rotation DELNAn-1 of the misfire diagnosis target cylinder # n-1 one combustion stroke before.
n, and calculates the corrected differential rotation change DDNEAn based on the engine operating state.
In addition to the comparison with IS, the correction difference rotation change DDNEAn-1 for the misfire diagnosis target cylinder # n-1 one combustion stroke before calculated at the time of execution of the previous routine is minus the misfire determination level minus.
Compare with LVLMIS. Then, the current change in the correction difference rotational speed DDNEAn of the combustion stroke cylinder #n is determined by the misfire determination level L.
When VLMIS or more and the correction differential rotation change DDNEAn-1 of the misfire diagnosis target cylinder # n-1 is equal to or less than the minus misfire determination level, it is determined that misfire of the misfire diagnosis target cylinder # n-1 is misfired. Eliminates the effects of dynamic rotation fluctuations,
Prevents misdiagnosis due to snatching.

【0006】すなわち、エンジンにスナッチ等の断続的
な回転変動が生じると、補正差回転DELNAを所定の
失火判定レベルと比較するだけでは、スナッチ等による
断続的な回転変動をも失火と誤診断してしまう。このた
め、上記各先行例では、前後の気筒の補正差回転DEL
NAの変化、すなわち、補正差回転変化DDNEAによ
って失火を判断することで、スナッチ等の断続的な回転
変動の影響を排除して、失火診断精度を向上している。
In other words, if an intermittent rotation fluctuation such as a snatch occurs in the engine, the intermittent rotation fluctuation due to the snatch or the like is erroneously diagnosed as a misfire simply by comparing the corrected differential rotation DELNA with a predetermined misfire determination level. Would. For this reason, in each of the preceding examples, the correction difference rotation DEL of the front and rear cylinders
By determining the misfire based on the change in NA, that is, the corrected differential rotation change DDNEA, the influence of intermittent rotation fluctuation such as a snatch is eliminated, and the misfire diagnosis accuracy is improved.

【0007】[0007]

【発明が解決しようとする課題】しかしながら、上記先
行例においては、今回と前回の補正差回転変化DDNE
An,DDNEAn-1を、エンジン運転状態に基づいて
設定した失火を判断するための単一の失火判定レベルL
VLMISを基にした正負の失火判定レベルLVLMI
S,−LVLMISとそれぞれ比較することで、失火診
断対象気筒#n-1の失火を判断するようにしており、必
ずしもスナッチや外乱等を直接判断していないため、失
火診断精度の向上には限界がある。
However, in the above-mentioned prior art, the present and previous correction difference rotation change DDNE
An, DDNEAn-1 is a single misfire determination level L for judging misfire set based on the engine operating state.
Positive / negative misfire determination level LVLMI based on VLMIS
S, -LVLMIS are compared with each other to determine the misfire of the cylinder # n-1 for which misfire is to be diagnosed. Since the snatch, disturbance, and the like are not necessarily directly determined, there is a limit to the improvement of the misfire diagnostic accuracy. There is.

【0008】本発明は、上記事情に鑑み、スナッチや外
乱等による誤診断を確実に防止して失火診断精度をより
向上することが可能なエンジンの失火診断装置を提供す
ることを目的とする。
The present invention has been made in view of the above circumstances, and has as its object to provide an engine misfire diagnosis device capable of reliably preventing misdiagnosis due to snatching, disturbance, or the like and further improving misfire diagnosis accuracy.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明によるエンジンの失火診断装置
は、図1(a)の基本構成図に示すように、所定クラン
ク角毎のエンジン回転状態量の変化を検出する回転状態
量変化検出手段と、現在の燃焼行程気筒を判別し、1燃
焼行程前の気筒を失火診断対象気筒と判断する気筒判別
手段と、失火を判定するための失火判定レベルをエンジ
ン運転状態に基づき設定する失火判定レベル設定手段
と、上記失火判定レベルよりも大きい値で失火以外の要
因による回転状態量の変化を判定するための誤判定防止
判定レベルをエンジン運転状態に基づき設定する誤判定
防止判定レベル設定手段と、失火診断対象気筒に対する
上記エンジン回転状態量の変化がマイナスの上記失火判
定レベル以下で且つマイナスの上記誤判定防止判定レベ
ル以上で、且つ、現在の燃焼行程気筒に対するエンジン
回転状態量の変化が上記失火判定レベル以上のとき、失
火診断対象気筒の失火と判断する失火判別手段とを備え
たことを特徴とする。
In order to achieve the above object, an engine misfire diagnosis apparatus according to the first aspect of the present invention, as shown in the basic configuration diagram of FIG. A rotational state quantity change detecting means for detecting a change in the rotational state quantity, a cylinder discriminating means for discriminating a current combustion stroke cylinder and judging a cylinder one combustion stroke earlier as a misfire diagnosis target cylinder, and a cylinder discriminating means for judging misfire. A misfire determination level setting means for setting a misfire determination level based on an engine operation state; and an erroneous determination prevention determination level for determining a change in the rotational state amount due to a factor other than a misfire with a value larger than the misfire determination level. An erroneous determination prevention determination level setting means that is set based on the state; and a change in the engine rotation state amount with respect to the misfire diagnosis target cylinder is equal to or less than the negative misfire determination level. Misfire determination means for determining that a misfire diagnosis target cylinder is misfired when the change in the engine rotation state quantity for the current combustion stroke cylinder is equal to or greater than the misfire determination level when the eggplant misjudgment prevention determination level is equal to or greater than the misjudgment prevention determination level. It is characterized by the following.

【0010】請求項2記載の発明によるエンジンの失火
診断装置は、図1(b)に示すように、気筒間における
所定クランク角毎のエンジン回転状態量を検出するエン
ジン回転状態量検出手段と、前回検出したエンジン回転
状態量から今回検出したエンジン回転状態量を減算して
回転状態量の差を算出する差回転状態量算出手段と、現
在の燃焼行程気筒を判別し、1燃焼行程前の気筒を失火
診断対象気筒と判断する気筒判別手段と、現在の燃焼行
程気筒の差回転状態量から加重平均による統計処理によ
って1サイクル前に算出した当該気筒に対する差回転状
態量補正値を減算して、当該気筒に対する補正差回転状
態量を算出する補正差回転状態量算出手段と、上記補正
差回転状態量から1燃焼行程前の失火診断対象気筒の補
正差回転状態量を減算して当該気筒に対する補正差回転
状態量の変化を算出する補正差回転状態量変化算出手段
と、失火を判定するための失火判定レベルをエンジン運
転状態に基づき設定する失火判定レベル設定手段と、上
記失火判定レベルよりも大きい値で失火以外の要因によ
る回転状態量の変化を判定するための誤判定防止判定レ
ベルをエンジン運転状態に基づき設定する誤判定防止判
定レベル設定手段と、1燃焼行程前の上記失火診断対象
気筒に対する補正差回転状態量の変化がマイナスの上記
失火判定レベル以下で且つマイナスの上記誤判定防止判
定レベル以上で、且つ、現在の燃焼行程気筒に対するエ
ンジン回転状態量の変化が上記失火判定レベル以上のと
き、失火診断対象気筒の失火と判断する失火判別手段と
を備えたことを特徴とする。
The engine misfire diagnosis apparatus according to the second aspect of the present invention, as shown in FIG. 1 (b), has an engine rotation state quantity detecting means for detecting an engine rotation state quantity at every predetermined crank angle between cylinders. A difference rotation state amount calculation means for calculating a difference between the rotation state amounts by subtracting the engine rotation state amount detected this time from the engine rotation state amount detected last time, and a current combustion stroke cylinder, and a cylinder one combustion stroke earlier. And a cylinder discriminating means for judging the cylinder as a misfire diagnosis target cylinder, and subtracting a differential rotation state amount correction value for the cylinder calculated one cycle before by a statistical process using a weighted average from the current rotation state amount of the combustion stroke cylinder, A correction difference rotation state amount calculation means for calculating a correction difference rotation state amount for the cylinder; and a correction difference rotation state amount of the misfire diagnosis target cylinder one combustion stroke prior to the correction difference rotation state amount. Correction difference rotation state amount change calculating means for calculating a change in the correction difference rotation state amount for the cylinder, misfire determination level setting means for setting a misfire determination level for determining misfire based on the engine operating state, Erroneous determination prevention determination level setting means for setting an erroneous determination prevention determination level for determining a change in the rotational state amount due to a factor other than misfire with a value larger than the misfire determination level based on the engine operation state; The change in the correction difference rotational state amount for the misfire diagnosis target cylinder is equal to or less than the negative misfire determination level and equal to or greater than the negative misjudgment prevention determination level, and the change in the engine rotational state amount for the current combustion stroke cylinder is A misfire determining means for determining that a misfire has occurred in the cylinder to be misfired when the misfire is at or above the misfire determination level.

【0011】請求項3記載の発明によるエンジンの失火
診断装置は、請求項1或いは請求項2記載の発明におい
て、上記エンジン回転状態量は、エンジン回転数である
ことを特徴とする。
According to a third aspect of the present invention, in the engine misfire diagnosis apparatus according to the first or second aspect, the engine rotation state quantity is an engine speed.

【0012】すなわち、請求項1記載の発明では、所定
クランク角毎のエンジン回転状態量の変化を検出すると
共に、現在の燃焼行程気筒を判別し、1燃焼行程前の気
筒を失火診断対象気筒と判断する。そして、失火を判定
するための失火判定レベル、及び、該失火判定レベルよ
りも大きい値で失火以外の要因による回転状態量の変化
を判定するための誤判定防止判定レベルを、それぞれエ
ンジン運転状態に基づいて設定する。そして、失火診断
対象気筒に対するエンジン回転状態量の変化が、マイナ
スの失火判定レベル以下、且つマイナスの誤判定防止判
定レベル以上であり、且つ、現在の燃焼行程気筒に対す
るエンジン回転状態量の変化が失火判定レベル以上のと
き、失火診断対象気筒の失火と判断する。ここで、エン
ジン運転状態に基づいて失火以外の要因によるエンジン
回転状態量の変化を判定するための誤判定防止判定レベ
ルを設定し、失火診断対象気筒に対するエンジン回転状
態量の変化がマイナスの誤判定防止判定レベル未満のと
き、失火以外の要因すなわちスナッチや外乱等によるエ
ンジン回転変動と判断して、このときには、失火診断を
除外する。これに対し、失火診断対象気筒に対するエン
ジン回転状態量の変化がマイナスの誤判定防止判定レベ
ル以上のとき、失火診断対象気筒に対するエンジン回転
状態量の変化がマイナスの失火判定レベル以下、且つ、
現在の燃焼行程気筒に対するエンジン回転状態量の変化
が失火判定レベル以上の場合のみ、失火診断対象気筒の
失火と判断するため、スナッチや外乱等による誤診断を
確実に防止して失火診断精度をより向上することが可能
となる。
That is, according to the first aspect of the present invention, a change in the amount of engine rotation for each predetermined crank angle is detected, the current combustion stroke cylinder is determined, and the cylinder one combustion stroke earlier is determined as the misfire diagnosis target cylinder. to decide. Then, a misfire determination level for determining misfire and a misjudgment prevention determination level for determining a change in the rotational state amount due to a factor other than misfire with a value larger than the misfire determination level are set to the engine operating state, respectively. Set based on: The change in the amount of engine rotation for the misfire diagnosis target cylinder is equal to or less than the negative misfire determination level and equal to or greater than the negative misjudgment prevention determination level, and the change in the amount of engine rotation for the current combustion stroke cylinder is misfired. When it is equal to or higher than the determination level, it is determined that a misfire has occurred in the cylinder subject to misfire diagnosis. Here, an erroneous determination prevention determination level for determining a change in the engine rotation state amount due to a factor other than misfire based on the engine operating state is set, and the change in the engine rotation state amount for the misfire diagnosis target cylinder is determined as a negative erroneous determination. If it is less than the prevention determination level, it is determined that there is a factor other than misfire, that is, engine rotation fluctuation due to snatch or disturbance, and in this case, misfire diagnosis is excluded. On the other hand, when the change in the engine rotation state amount for the misfire diagnosis target cylinder is equal to or greater than the negative misjudgment prevention determination level, the change in the engine rotation state amount for the misfire diagnosis target cylinder is equal to or less than the negative misfire determination level, and
Only when the change in the amount of engine rotation with respect to the current combustion stroke cylinder is equal to or greater than the misfire determination level is determined to be misfire of the cylinder subject to misfire diagnosis, so that misdiagnosis due to snatch or disturbance is reliably prevented to improve misfire diagnosis accuracy. It is possible to improve.

【0013】請求項2記載の発明では、気筒間における
所定クランク角毎にエンジン回転状態量を検出し、前回
検出したエンジン回転状態量から今回検出したエンジン
回転状態量を減算して回転状態量の差を算出すると共
に、現在の燃焼行程気筒を判別し、1燃焼行程前の気筒
を失火診断対象気筒と判断する。そして、現在の燃焼行
程気筒の差回転状態量から加重平均による統計処理によ
って1サイクル前に算出した当該気筒に対する差回転状
態量補正値を減算して、当該気筒に対する補正差回転状
態量を算出し、この補正差回転状態量から1燃焼行程前
の失火診断対象気筒の補正差回転状態量を減算して当該
気筒に対する補正差回転状態量の変化を算出する。そし
て、失火を判定するための失火判定レベル、及び、該失
火判定レベルよりも大きい値で失火以外の要因による回
転状態量の変化を判定するための誤判定防止判定レベル
を、それぞれエンジン運転状態に基づいて設定する。そ
して、1燃焼行程前の上記失火診断対象気筒に対する補
正差回転状態量の変化が、マイナスの上記失火判定レベ
ル以下、且つマイナスの上記誤判定防止判定レベル以上
であり、且つ、現在の燃焼行程気筒に対するエンジン回
転状態量の変化が上記失火判定レベル以上のとき、失火
診断対象気筒の失火と判断する。
According to the second aspect of the present invention, the amount of engine rotation is detected at each predetermined crank angle between cylinders, and the amount of rotation of the engine is detected by subtracting the amount of engine rotation detected this time from the previously detected amount of engine rotation. The difference is calculated, the current combustion stroke cylinder is determined, and the cylinder one combustion stroke earlier is determined as the misfire diagnosis target cylinder. Then, by subtracting the differential rotation state amount correction value for the cylinder calculated one cycle ago by statistical processing using a weighted average from the current rotation stroke amount of the cylinder in the combustion stroke cylinder, a corrected differential rotation state amount for the cylinder is calculated. Then, the change in the corrected differential rotation state amount for the cylinder is calculated by subtracting the corrected differential rotation state amount of the misfire diagnosis target cylinder one combustion stroke before from the corrected differential rotation state amount. Then, a misfire determination level for determining misfire and a misjudgment prevention determination level for determining a change in the rotational state amount due to a factor other than misfire with a value larger than the misfire determination level are set to the engine operating state, respectively. Set based on: Then, the change in the corrected difference rotational state amount with respect to the misfire diagnosis target cylinder one combustion stroke before is equal to or less than the negative misfire determination level and equal to or greater than the negative misjudgment prevention determination level, and the current combustion stroke cylinder is changed. When the change of the engine rotation state quantity with respect to the engine is equal to or more than the above-mentioned misfire determination level, it is determined that the misfire diagnosis target cylinder is misfired.

【0014】この際、請求項3記載の発明では、上記回
転状態量としてエンジン回転数を用いる。
At this time, according to the third aspect of the invention, the engine speed is used as the rotational state quantity.

【0015】[0015]

【発明の実施の形態】以下、図2〜図18を参照して本
発明の実施の一形態を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to FIGS.

【0016】先ず、図15に基づいてエンジンの全体構
成について説明する。同図において、符号1はエンジン
であり、本形態においては水平対向型4気筒ガソリンエ
ンジンである。このエンジン1のシリンダブロック1a
の左右両バンクには、シリンダヘッド2がそれぞれ設け
られ、各シリンダヘッド2に吸気ポート2aと排気ポー
ト2bが形成されている。
First, the overall structure of the engine will be described with reference to FIG. In the figure, reference numeral 1 denotes an engine, which in this embodiment is a horizontally opposed four-cylinder gasoline engine. The cylinder block 1a of this engine 1
In each of the left and right banks, a cylinder head 2 is provided, and an intake port 2a and an exhaust port 2b are formed in each cylinder head 2.

【0017】このエンジン1の吸気系は、各吸気ポート
2aにインテークマニホルド3が連通され、このインテ
ークマニホルド3に各気筒の吸気通路が集合するエアチ
ャンバ4を介してスロットルチャンバ5が連通されてい
る。そして、このスロットルチャンバ5の上流側に吸気
管6を介してエアクリーナ7が取り付けられ、このエア
クリーナ7がエアインテークチャンバ8に連通されてい
る。
In the intake system of the engine 1, an intake manifold 3 communicates with each intake port 2a, and a throttle chamber 5 communicates with the intake manifold 3 via an air chamber 4 in which intake passages of respective cylinders are gathered. . An air cleaner 7 is attached to the upstream side of the throttle chamber 5 via an intake pipe 6, and the air cleaner 7 is communicated with the air intake chamber 8.

【0018】また、上記スロットルチャンバ5には、ア
クセルペダルに連動するスロットル弁5aが設けられて
いる。上記吸気管6には、スロットル弁5aをバイパス
するバイパス通路9が接続され、このバイパス通路9
に、アイドル時にその弁開度によって該バイパス通路9
を流れるバイパス空気量を調整することでアイドル回転
数を制御するアイドル回転数制御弁(ISC弁)10が
介装されている。
The throttle chamber 5 is provided with a throttle valve 5a linked to an accelerator pedal. The intake pipe 6 is connected to a bypass passage 9 that bypasses the throttle valve 5a.
At the time of idling, the bypass passage 9 depends on the valve opening.
An idle speed control valve (ISC valve) 10 for controlling the idle speed by adjusting the amount of bypass air flowing through the engine is provided.

【0019】更に、上記インテークマニホルド3の各気
筒の吸気ポート2aの直上流側にインジェクタ11が配
設されている。上記インジェクタ11は燃料供給路12
を介して燃料タンク13に連通されており、この燃料タ
ンク13にはインタンク式の燃料ポンプ14が設けられ
ている。この燃料ポンプ14からの燃料が、上記燃料供
給路12に介装された燃料フィルタ15を経て上記イン
ジェクタ11及びプレッシャレギュレータ16に圧送さ
れ、このプレッシャレギュレータ16から上記燃料タン
ク13にリターンされて、上記インジェクタ11への燃
料圧力が所定の圧力に調圧される。
Further, an injector 11 is disposed immediately upstream of the intake port 2a of each cylinder of the intake manifold 3. The injector 11 has a fuel supply path 12
The fuel tank 13 is provided with an in-tank type fuel pump 14. The fuel from the fuel pump 14 is pressure-fed to the injector 11 and the pressure regulator 16 via the fuel filter 15 interposed in the fuel supply path 12, and is returned from the pressure regulator 16 to the fuel tank 13, where The fuel pressure to the injector 11 is adjusted to a predetermined pressure.

【0020】一方、上記シリンダヘッド2の各気筒毎
に、先端の放電電極を燃焼室に露呈する点火プラグ17
が取り付けられ、この点火プラグ17に、各気筒毎に配
設された点火コイル18を介してイグナイタ19が接続
されている。
On the other hand, for each cylinder of the cylinder head 2, a spark plug 17 for exposing the discharge electrode at the tip to the combustion chamber is provided.
The ignition plug 17 is connected to an igniter 19 via an ignition coil 18 provided for each cylinder.

【0021】また、エンジン1の排気系としては、上記
シリンダヘッド2の各排気ポート2bに連通するエキゾ
ーストマニホルド20の集合部に排気管21が連通さ
れ、この排気管21に触媒コンバータ22が介装されて
マフラ23に連通されている。
In the exhaust system of the engine 1, an exhaust pipe 21 is communicated with a collection portion of an exhaust manifold 20 communicating with each exhaust port 2b of the cylinder head 2, and a catalytic converter 22 is interposed in the exhaust pipe 21. And is communicated with the muffler 23.

【0022】次に、エンジン運転状態を検出するための
センサ類について説明する。上記吸気管6のエアクリー
ナ7の直下流に、ホットワイヤ或いはホットフィルム等
を用いた熱式の吸入空気量センサ24が介装され、更
に、上記スロットルチャンバ5に設けられたスロットル
弁5aに、スロットル開度センサ25aとスロットル弁
5aの全閉でONするアイドルスイッチ25bとを内蔵
したスロットルセンサ25が連設されている。
Next, sensors for detecting the operating state of the engine will be described. Immediately downstream of the air cleaner 7 in the intake pipe 6, a thermal intake air amount sensor 24 using a hot wire or a hot film is interposed, and a throttle valve 5a provided in the throttle chamber 5 is provided with a throttle valve 5a. A throttle sensor 25 having a built-in opening sensor 25a and an idle switch 25b that is turned on when the throttle valve 5a is fully closed is connected in series.

【0023】また、エンジン1のシリンダブロック1a
にノックセンサ26が取り付けられていると共に、シリ
ンダブロック1aの左右バンクを連通する冷却水通路2
7に冷却水温センサ28が臨まされ、更に、上記触媒コ
ンバータ22の上流に空燃比状態を検出するためのO2
センサ29が配設されている。
The cylinder block 1a of the engine 1
A knock sensor 26 is mounted on the cooling water passage 2 which communicates the left and right banks of the cylinder block 1a.
7, a cooling water temperature sensor 28 is provided, and an O2 for detecting an air-fuel ratio state is provided upstream of the catalytic converter 22.
A sensor 29 is provided.

【0024】また、エンジン1のクランクシャフト30
に軸着するクランクロータ31の外周に、クランク角セ
ンサ32が対設され、更に、クランクシャフト30に対
して1/2回転するカムシャフト33に連設するカムロ
ータ34に、気筒判別用のカム角センサ35が対設され
ている。
The crankshaft 30 of the engine 1
A crank angle sensor 32 is provided on the outer periphery of a crank rotor 31 that is axially mounted on the cam shaft 33. Further, a cam rotor 34 connected to a cam shaft 33 that makes a half turn with respect to the crank shaft 30 has a cam angle for cylinder identification. A sensor 35 is provided opposite.

【0025】上記クランクロータ31は、図16に示す
ように、その外周に突起31a,31b,31cが形成
され、これらの各突起31a,31b,31cが、各気
筒(#1,#2気筒と#3,#4気筒)の圧縮上死点前
(BTDC)θ1,θ2,θ3の位置に形成されている。
本実施の形態においては、θ1=97°CA,θ2=65
°CA,θ3=10°CAである。
As shown in FIG. 16, the crank rotor 31 has projections 31a, 31b and 31c formed on its outer periphery, and these projections 31a, 31b and 31c are connected to the cylinders (# 1 and # 2 cylinders). (# 3, # 4 cylinders) before compression top dead center (BTDC) θ1, θ2, θ3.
In the present embodiment, θ1 = 97 ° CA, θ2 = 65
° CA, θ3 = 10 ° CA.

【0026】また、図17に示すように、上記カムロー
タ34の外周には、気筒判別用の突起34a,34b,
34cが形成され、突起34aが#3,#4気筒の圧縮
上死点後(ATDC)θ4の位置に形成され、突起34
bが3個の突起で構成されて最初の突起が#1気筒のA
TDCθ5の位置に形成されている。更に、突起34c
が2個の突起で構成され、最初の突起が#2気筒のAT
DCθ6の位置に形成されている。本実施の形態におい
ては、θ4=20°CA,θ5=5°CA,θ6=20°
CAである。
As shown in FIG. 17, on the outer periphery of the cam rotor 34, projections 34a, 34b,
The protrusion 34a is formed at a position θ4 after the compression top dead center (ATDC) of the # 3 and # 4 cylinders.
b is composed of three protrusions, and the first protrusion is A of the # 1 cylinder.
It is formed at the position of TDCθ5. Further, the protrusion 34c
Is composed of two projections, and the first projection is the AT of the # 2 cylinder.
It is formed at the position of DCθ6. In the present embodiment, θ4 = 20 ° CA, θ5 = 5 ° CA, θ6 = 20 °
CA.

【0027】そして、図7のタイムチャートに示すよう
に、エンジン運転に伴いクランクシャフト30及びカム
シャフト33の回転により上記クランクロータ31及び
カムロータ34が回転して、クランクロータ31の各突
起が上記クランク角センサ32によって検出され、クラ
ンク角センサ32からθ1,θ2,θ3(BTDC97
°,65°,10°)の各クランクパルスがエンジン1
/2回転(180°CA)毎に出力される。一方、θ3
クランクパルスとθ1クランクパルスとの間で上記カム
ロータ34の各突起が上記カム角センサ35によって検
出され、カム角センサ35から所定数のカムパルスが出
力される。
As shown in the time chart of FIG. 7, the crank rotor 31 and the cam rotor 34 are rotated by the rotation of the crankshaft 30 and the camshaft 33 in association with the operation of the engine. Detected by the angle sensor 32 and detected from the crank angle sensor 32 by θ1, θ2, θ3 (BTDC97
°, 65 °, 10 °) of the engine 1
Output every 1/2 rotation (180 ° CA). On the other hand, θ3
Each protrusion of the cam rotor 34 is detected by the cam angle sensor 35 between the crank pulse and the θ1 crank pulse, and a predetermined number of cam pulses are output from the cam angle sensor 35.

【0028】そして、後述する電子制御装置40(図1
8参照)において、上記クランク角センサ32から出力
されるクランクパルスの入力間隔時間Tθに基づいてエ
ンジン回転数NEを算出し、また、各気筒の燃焼行程順
(例えば、#1気筒→#3気筒→#2気筒→#4気筒)
と、上記カム角センサ35からのカムパルスをカウンタ
によって計数した値とのパターンに基づいて、燃料噴射
対象気筒や点火対象気筒等の気筒判別を行う。
Then, an electronic control unit 40 described later (FIG. 1)
8), the engine speed NE is calculated based on the input interval time Tθ of the crank pulse output from the crank angle sensor 32, and the order of combustion stroke of each cylinder (for example, # 1 cylinder → # 3 cylinder) → # 2 cylinder → # 4 cylinder)
Based on the pattern of the cam pulse from the cam angle sensor 35 and the value counted by the counter, the cylinders such as the fuel injection target cylinder and the ignition target cylinder are determined.

【0029】上記インジェクタ11、点火プラグ17,
ISC弁10等のアクチュエータ類に対する制御量の演
算、制御信号の出力、すなわち燃料噴射制御、点火時期
制御、アイドル回転数制御等のエンジン制御は、図18
に示す電子制御装置(ECU)40によって行われる。
The injector 11, the spark plug 17,
The calculation of control amounts for actuators such as the ISC valve 10 and the output of control signals, that is, engine control such as fuel injection control, ignition timing control, idle speed control, etc.
Is performed by an electronic control unit (ECU) 40 shown in FIG.

【0030】上記ECU40は、CPU41、ROM4
2、RAM43、バックアップRAM44、カウンタ・
タイマ群45、及びI/Oインターフェイス46がバス
ラインを介して互いに接続されるマイクロコンピュータ
を中心として構成され、各部に安定化電源を供給する定
電圧回路47、上記I/Oインターフェイス46に接続
される駆動回路48及びA/D変換器49等の周辺回路
が内蔵されている。
The ECU 40 includes a CPU 41, a ROM 4
2, RAM 43, backup RAM 44, counter
A timer group 45 and an I / O interface 46 are mainly configured by a microcomputer connected to each other via a bus line, and are connected to the constant voltage circuit 47 for supplying a stabilized power to each unit, and to the I / O interface 46. And a peripheral circuit such as an A / D converter 49.

【0031】なお、上記カウンタ・タイマ群45は、フ
リーランカウンタ、カム角センサ信号(カムパルス)の
入力計数用カウンタ等の各種カウンタ、燃料噴射用タイ
マ、点火用タイマ、定期割り込みを発生させるための定
期割り込み用タイマ、クランク角センサ信号(クランク
パルス)の入力間隔計時用タイマ、及びシステム異常監
視用のウオッチドッグタイマ等の各種タイマを便宜上総
称するものであり、その他、各種のソフトウエアカウン
タ・タイマが用いられる。
The counter / timer group 45 includes various counters such as a free-run counter, a counter for counting the input of a cam angle sensor signal (cam pulse), a fuel injection timer, an ignition timer, and a timer for generating a periodic interrupt. Various timers such as a periodic interrupt timer, a timer for measuring the input interval of a crank angle sensor signal (crank pulse), and a watchdog timer for monitoring a system abnormality are collectively referred to for convenience. Is used.

【0032】上記定電圧回路47は、2回路のリレー接
点を有する電源リレー50の第1のリレー接点を介して
バッテリ51に接続され、バッテリ51に、上記電源リ
レー50のリレーコイルがイグニッションスイッチ52
を介して接続されている。また、上記定電圧回路47
は、直接、上記バッテリ51に接続されており、イグニ
ッションスイッチ52がONされて電源リレー50の接
点が閉となるとECU40内の各部へ電源を供給する一
方、上記イグニッションスイッチ52のON,OFFに
拘らず、常時、上記バックアップRAM44にバックア
ップ用の電源を供給する。更に、上記バッテリ51に
は、燃料ポンプリレー53のリレー接点を介して燃料ポ
ンプ14が接続されている。なお、上記電源リレー50
の第2のリレー接点には、上記バッテリ51から各アク
チュエータに電源を供給するための電源線が接続されて
いる。
The constant voltage circuit 47 is connected to a battery 51 via a first relay contact of a power supply relay 50 having two relay contacts, and a relay coil of the power supply relay 50 is connected to the ignition switch 52 by the battery 51.
Connected through. The constant voltage circuit 47
When the ignition switch 52 is turned on and the contact of the power supply relay 50 is closed, power is supplied to each unit in the ECU 40 while the ignition switch 52 is turned on and the ignition switch 52 is turned on and off. Instead, the backup power is always supplied to the backup RAM 44. Further, the fuel pump 14 is connected to the battery 51 via a relay contact of a fuel pump relay 53. The power supply relay 50
A power line for supplying power from the battery 51 to each actuator is connected to the second relay contact.

【0033】上記I/Oインターフェイス46の入力ポ
ートには、アイドルスイッチ25b、ノックセンサ2
6、クランク角センサ32、カム角センサ35、車速を
検出するための車速センサ36、及び始動状態を検出す
るためにスタータスイッチ37が接続されており、更
に、上記A/D変換器49を介して、吸入空気量センサ
24、スロットル開度センサ25a、冷却水温センサ2
8、及びO2センサ29が接続されると共に、バッテリ
電圧VBが入力されてモニタされる。
The input port of the I / O interface 46 includes an idle switch 25b, a knock sensor 2
6. A crank angle sensor 32, a cam angle sensor 35, a vehicle speed sensor 36 for detecting a vehicle speed, and a starter switch 37 for detecting a starting state are connected, and further, via the A / D converter 49. And the intake air amount sensor 24, the throttle opening degree sensor 25a, the cooling water temperature sensor 2
8 and the O2 sensor 29 are connected, and the battery voltage VB is input and monitored.

【0034】一方、上記I/Oインターフェイス46の
出力ポートには、上記燃料ポンプリレー53のリレーコ
イル、ISC弁10、インジェクタ11、及び、図示し
ないインストルメントパネルに配設され各種警報を集中
表示する警報ランプ38が上記駆動回路48を介して接
続されると共に、イグナイタ19が接続されている。
On the other hand, an output port of the I / O interface 46 is disposed on the relay coil of the fuel pump relay 53, the ISC valve 10, the injector 11, and an instrument panel (not shown) to display various alarms in a centralized manner. The alarm lamp 38 is connected via the drive circuit 48 and the igniter 19 is connected.

【0035】また、上記I/Oインターフェイス46に
は、外部接続用コネクタ55が接続されており、この外
部接続用コネクタ55にシリアルモニタ(携帯型故障診
断装置)60を接続することで、シリアルモニタ60に
よってECU40における入出力データ及びECU40
の自己診断機能により上記バックアップRAM44にス
トアされた失火と診断したことを示す後述する失火判定
NGフラグFLGNG、失火気筒データを含む故障部位、
故障内容を示すトラブルデータを読み出して診断可能と
している。更に、上記シリアルモニタ60によって、上
記トラブルデータのイニシャルセット(クリア)が行え
るようになっている。
An external connector 55 is connected to the I / O interface 46. A serial monitor (portable failure diagnostic device) 60 is connected to the external connector 55 to provide a serial monitor. 60, input / output data in the ECU 40 and the ECU 40
A misfire determination NG flag FLGNG, which indicates that a misfire stored in the backup RAM 44 has been diagnosed by the self-diagnosis function described below, a failed part including misfire cylinder data,
Trouble data indicating the content of the failure is read out to enable diagnosis. Further, the serial monitor 60 allows the trouble data to be initially set (cleared).

【0036】なお、このシリアルモニタ60によるトラ
ブルデータの診断、及びイニシャルセットについては、
本出願人による特公平7−76730号公報に詳述され
ている。
The diagnosis of trouble data by the serial monitor 60 and the initial set are described below.
It is described in detail in Japanese Patent Publication No. 7-76730 by the present applicant.

【0037】上記CPU41では、ROM42に記憶さ
れている制御プログラムに従って、I/0インターフェ
イス46を介して入力されるセンサ・スイッチ類からの
検出信号、及びバッテリ電圧等を処理し、RAM43に
格納される各種データ、及びバックアップRAM44に
格納されている各種学習値データ,ROM42に記憶さ
れている固定データ等に基づき、燃料噴射量、点火時
期、ISC弁10に対する駆動信号のデューティ比等を
演算し、燃料噴射制御、点火時期制御、アイドル回転数
制御等のエンジン制御を行う。
In accordance with the control program stored in the ROM 42, the CPU 41 processes the detection signals from the sensors and switches, which are input via the I / O interface 46, the battery voltage, etc., and stores them in the RAM 43. Based on various data, various learning value data stored in the backup RAM 44, fixed data stored in the ROM 42, and the like, a fuel injection amount, an ignition timing, a duty ratio of a drive signal for the ISC valve 10, and the like are calculated. It performs engine control such as injection control, ignition timing control, and idle speed control.

【0038】このようなエンジン制御系において、EC
U40では、エンジン回転状態量の変化に基づいて失火
診断を行う。すなわち、エンジン回転状態量の一例とし
てエンジン回転数NEを用い、所定クランク角毎のエン
ジン回転数の変化を検出すると共に、クランク角センサ
32、カム角センサ35からそれぞれ出力されるクラン
クパルス、カムパルスに基づいて現在の燃焼行程気筒#
nを判別し、1燃焼行程前の気筒#n-1を失火診断対象
気筒と判断する。そして、失火を判定するための失火判
定レベルLVLMISH、及び、該失火判定レベルLV
LMISHよりも大きい値で失火以外の要因による回転
変動を判定するための誤判定防止判定レベルLVLMI
SLを、それぞれエンジン運転状態に基づいて設定す
る。そして、失火診断対象気筒#n-1に対するエンジン
回転数の変化が、マイナス失火判定レベル−LVLMI
SH以下、且つマイナス誤判定防止判定レベル−LVL
MISL以上であり、且つ、現在の燃焼行程気筒#nに
対するエンジン回転数の変化が失火判定レベルLVLM
ISH以上のとき、失火診断対象気筒#n-1の失火と判
断する。
In such an engine control system, EC
In U40, misfire diagnosis is performed based on the change in the engine rotation state quantity. That is, using the engine rotational speed NE as an example of the engine rotational state amount, a change in the engine rotational speed for each predetermined crank angle is detected, and the crank pulse and the cam pulse output from the crank angle sensor 32 and the cam angle sensor 35 are detected. Based on current combustion stroke cylinder #
n is determined, and cylinder # n−1 one combustion stroke before is determined as a misfire diagnosis target cylinder. A misfire determination level LVLMISH for determining misfire and the misfire determination level LV
A misjudgment prevention judgment level LVLMI for judging rotation fluctuation caused by factors other than misfire with a value larger than LMISH
SL is set based on the engine operating state. Then, the change in the engine speed for the misfire diagnosis target cylinder # n-1 is represented by a minus misfire determination level-LVLMI.
SH or less and a negative erroneous determination prevention determination level -LVL
MISL or more, and the change in the engine speed for the current combustion stroke cylinder #n is the misfire determination level LVLM.
If ISH or more, it is determined that the misfire of the misfire diagnosis target cylinder # n-1 has occurred.

【0039】すなわち、エンジン運転状態に基づいて失
火以外の要因によるエンジン回転数の変化を判定するた
めの誤判定防止判定レベルLVLMISLを設定し、失
火診断対象気筒#n-1に対するエンジン回転数の変化が
マイナスの誤判定防止判定レベル−LVLMISL未満
のとき、失火以外の要因すなわちスナッチや外乱等によ
るエンジン回転変動と判断して、このときには、失火診
断を除外する。
That is, an erroneous judgment prevention judgment level LVLMISL for judging a change in the engine speed due to factors other than the misfire based on the engine operating state is set, and the change in the engine speed for the misfire diagnosis target cylinder # n-1 is set. Is less than the negative erroneous determination prevention determination level -LVLMISL, it is determined that a factor other than misfire, that is, engine rotation fluctuation due to snatch, disturbance, or the like, and in this case, misfire diagnosis is excluded.

【0040】そして、失火診断対象気筒#n-1に対する
エンジン回転数の変化がマイナス誤判定防止判定レベル
−LVLMISL以上のとき、該失火診断対象気筒#n-
1に対するエンジン回転数の変化がマイナスの失火判定
レベル−LVLMISH以下、且つ、現在の燃焼行程気
筒#nに対するエンジン回転数の変化が失火判定レベル
LVLMISH以上の場合のみ、失火診断対象気筒#n-
1の失火と判断する。従って、失火以外のスナッチや外
乱等に起因する回転変動による誤診断を確実に防止して
失火診断精度をより向上することが可能となる。
When the change in the engine speed with respect to the misfire diagnosis target cylinder # n-1 is equal to or more than the minus erroneous judgment prevention judgment level -LVLMISL, the misfire diagnosis target cylinder # n-
Only when the change in the engine speed with respect to 1 is equal to or less than the negative misfire determination level -LVLMISH and the change in the engine speed with respect to the current combustion stroke cylinder #n is equal to or greater than the misfire determination level LVLMISH, the misfire diagnosis target cylinder # n-
Judge as 1 misfire. Therefore, it is possible to reliably prevent erroneous diagnosis due to rotation fluctuations caused by snatches, disturbances and the like other than misfires, and to further improve misfire diagnosis accuracy.

【0041】より詳細には、本実施の形態においては、
気筒間における所定クランク角毎のエンジン回転数とし
て、BTDCθ2,θ3間、すなわちθ2,θ3クランクパ
ルス入力間のエンジン回転数を採用し、今回算出したエ
ンジン回転数MNXnから前回の同区間におけるエンジ
ン回転数MNXn-1を減算して回転数の差、すなわち差
回転DELNEnを算出する。また、クランク角センサ
32、カム角センサ35からそれぞれ出力されるクラン
クパルス、カムパルスに基づいて現在の燃焼行程気筒#
nを判別し、1燃焼行程前の気筒#n-1を失火診断対象
気筒と判断する。そして、現在の燃焼行程気筒#nの差
回転DELNEnから加重平均による統計処理によって
1サイクル(720°CA)前に算出した当該気筒#n
に対する差回転補正値AVEDNXn-4を減算して、当
該気筒#nに対する補正差回転DELNAnを算出し、
この補正差回転DELNAnから1燃焼行程前の失火診
断対象気筒#n-1の補正差回転DELNAn-1を減算し
て当該気筒#nに対する補正差回転変化DDNEAnを
算出する。そして、失火を判定するための失火判定レベ
ルLVLMISH、及び、該失火判定レベルLVLMI
SHよりも大きい値で失火以外の要因による回転変動を
判定するための誤判定防止判定レベルLVLMISL
を、それぞれエンジン運転状態に基づいて設定する。そ
して、失火診断対象気筒#n-1に対する補正差回転変化
DDNEAn-1が、マイナス失火判定レベル−LVLM
ISH以下、且つマイナス誤判定防止判定レベル−LV
LMISL以上であり、且つ、現在の燃焼行程気筒#n
に対する補正差回転変化DDNEAnが失火判定レベル
LVLMISH以上のとき、失火診断対象気筒#n-1の
失火と判断する。
More specifically, in the present embodiment,
The engine speed between BTDC θ2 and θ3, that is, the engine speed between θ2 and θ3 crank pulse inputs is adopted as the engine speed between cylinders for each predetermined crank angle, and the engine speed in the same section last time is calculated from the engine speed MNXn calculated this time. MNXn-1 is subtracted to calculate the difference between the rotation speeds, that is, the difference rotation DELNEn. Further, based on the crank pulse and the cam pulse respectively output from the crank angle sensor 32 and the cam angle sensor 35, the current combustion stroke cylinder #
n is determined, and cylinder # n−1 one combustion stroke before is determined as a misfire diagnosis target cylinder. Then, the current cylinder #n calculated one cycle (720 ° CA) earlier by the statistical processing based on the weighted average from the differential rotation DELNEn of the cylinder #n of the combustion stroke cylinder #n
Is subtracted from the differential rotation correction value AVEDNXn−4 to calculate a corrected differential rotation DELNAn for the cylinder #n.
The correction differential rotation change DDNEAn for the cylinder #n is calculated by subtracting the correction differential rotation DELNAn-1 of the misfire diagnosis target cylinder # n-1 one combustion stroke earlier from the corrected differential rotation DELNAn. A misfire determination level LVLMISH for determining misfire and the misfire determination level LVLMI
Misjudgment prevention judgment level LVLMISL for judging rotation fluctuation caused by factors other than misfire with a value larger than SH
Are set based on the respective engine operating conditions. The correction difference rotation change DDNEAn-1 for the misfire diagnosis target cylinder # n-1 is equal to the minus misfire determination level -LVLM.
ISH or less, and minus erroneous judgment prevention judgment level -LV
LMISL or higher and the current combustion stroke cylinder #n
Is greater than or equal to the misfire determination level LVLMISH, it is determined that the misfire diagnosis target cylinder # n-1 has misfired.

【0042】従って、上述のように、エンジン回転数を
検出する際の基となるクランク角を検出するためのクラ
ンクロータ31やクランク角センサ32の製造許容誤
差、取付許容誤差等の影響を排除した補正差回転DEL
NAを用い、この補正差回転DELNAの変化、すなわ
ち補正差回転変化DDNEAを失火判定レベルLVLM
ISH及び誤判定防止判定レベルLVLMISLと比較
し、前後の気筒の補正差回転変化DDNEAn,DDN
EAn-1によって失火診断対象気筒#n-1に対する失火
を判断することで、クランクロータ31やクランク角セ
ンサ32の許容誤差の排除と、スナッチや外乱等による
誤診断の防止との相乗により、更に失火診断精度を向上
する。
Therefore, as described above, the effects of the manufacturing tolerance, the mounting tolerance, and the like of the crank rotor 31 and the crank angle sensor 32 for detecting the crank angle which is the basis for detecting the engine speed are eliminated. Correction difference rotation DEL
NA, the change in the corrected differential rotation DELNA, that is, the corrected differential rotation change DDNEA is determined by the misfire determination level LVLM.
Compared with ISH and the erroneous determination prevention determination level LVLMISL, the correction difference rotation change DDNEAn, DDN of the front and rear cylinders is compared.
By determining the misfire of the cylinder # n-1 to be misfire-diagnosed by EAn-1, the synergy between the elimination of the tolerance of the crank rotor 31 and the crank angle sensor 32 and the prevention of the misdiagnosis due to the snatch, disturbance, and the like is further improved. Improve misfire diagnosis accuracy.

【0043】すなわち、ECU40は、本発明に係る回
転状態量変化検出手段、気筒判別手段、失火判定レベル
設定手段、誤判定防止判定レベル設定手段、失火判別手
段の機能を有し、更に、エンジン回転状態量検出手段、
差回転状態量算出手段、補正差回転状態量算出手段、補
正差回転状態量変化算出手段としての機能をも実現す
る。
That is, the ECU 40 has the functions of the rotational state amount change detecting means, the cylinder determining means, the misfire determination level setting means, the erroneous determination prevention determination level setting means, and the misfire determination means according to the present invention. State quantity detection means,
It also implements functions as a difference rotation state amount calculation unit, a correction difference rotation state amount calculation unit, and a correction difference rotation state amount change calculation unit.

【0044】以下、上記ECU40によって実行される
本発明に係る失火診断処理について、図2〜図6に示す
フローチャートに従って説明する。
Hereinafter, the misfire diagnosis processing according to the present invention executed by the ECU 40 will be described with reference to the flowcharts shown in FIGS.

【0045】先ず、イグニッションスイッチ52がON
され、ECU40に電源が投入されると、システムがイ
ニシャライズされ、バックアップRAM44に格納され
ているトラブルデータ及び各種学習値等のデータを除
く、各フラグ、各カウンタ類が初期化される。そして、
スタータスイッチ37がONされてエンジンが起動する
と、クランク角センサ32からのクランクパルス入力毎
に、図2に示す気筒判別/エンジン回転数算出ルーチン
が実行される。
First, the ignition switch 52 is turned on.
Then, when the power is supplied to the ECU 40, the system is initialized, and each flag and each counter are initialized except for trouble data and data such as various learning values stored in the backup RAM 44. And
When the starter switch 37 is turned on and the engine is started, a cylinder discrimination / engine speed calculation routine shown in FIG. 2 is executed every time a crank pulse is input from the crank angle sensor 32.

【0046】この気筒判別/エンジン回転数算出ルーチ
ンでは、エンジン運転に伴いクランクロータ31が回転
してクランク角センサ32からのクランクパルスが入力
されると、先ず、ステップS1で、今回入力されたクラン
クパルスがθ1,θ2,θ3の何れのクランク角に対応す
る信号かをカム角センサ35からのカムパルスの入力パ
ターンに基づいて識別し、ステップS2で、クランクパル
スとカムパルスとの入力パターンから現在の燃焼行程気
筒、失火診断対象気筒、点火対象気筒、及び燃料噴射対
象気筒等の気筒判別を行う。
In this cylinder discriminating / engine speed calculating routine, when the crank rotor 31 rotates with the engine operation and the crank pulse from the crank angle sensor 32 is input, first, in step S1, the crank input at this time is input. Whether the pulse corresponds to the crank angle of θ1, θ2, or θ3 is identified based on the input pattern of the cam pulse from the cam angle sensor 35. In step S2, the current combustion is determined based on the input pattern of the crank pulse and the cam pulse. The cylinders such as the stroke cylinder, the misfire diagnosis target cylinder, the ignition target cylinder, and the fuel injection target cylinder are determined.

【0047】すなわち、図7のタイムチャートに示すよ
うに、例えば、前回クランクパルスが入力してから今回
クランクパルスが入力されるまでの間にカムパルス入力
が有れば、今回のクランクパルスはθ1クランクパルス
であると識別でき、更に次回入力されるクランクパルス
はθ2クランクパルスと識別できる。
That is, as shown in the time chart of FIG. 7, for example, if there is a cam pulse input between the input of the previous crank pulse and the input of the current crank pulse, the current crank pulse will be θ1 crank It can be identified as a pulse, and the crank pulse input next time can be identified as a θ2 crank pulse.

【0048】また、前回と今回とのクランクパルス入力
間にカムパルス入力が無く、前々回と前回のクランクパ
ルス入力間にカムパルス入力が有ったときには、今回の
クランクパルスはθ2クランクパルスと識別でき、次回
入力されるクランクパルスはθ3クランクパルスと識別
できる。また、前回と今回との間、及び前々回と前回と
のクランクパルス入力間に、何れもカムパルス入力が無
いときには、今回入力されたクランクパルスはθ3クラ
ンクパルスと識別でき、次回入力されるクランクパルス
はθ1クランクパルスと識別できる。
If there is no cam pulse input between the previous and current crank pulse inputs and there is a cam pulse input between the last and previous crank pulse inputs, the current crank pulse can be identified as a θ2 crank pulse, and The input crank pulse can be identified as a θ3 crank pulse. Further, when there is no cam pulse input between the previous and current times and between the last and last crank pulse inputs, the currently input crank pulse can be identified as the θ3 crank pulse, and the next input crank pulse is It can be identified as a θ1 crank pulse.

【0049】さらに、前回と今回とのクランクパルス入
力間にカムパルスが3個入力(突起34bに対応するθ
5カムパルス)したときには、次の圧縮上死点は#3気
筒であり、現在の燃焼行程気筒は#1気筒、失火診断対
象気筒は1燃焼行程前の#4気筒、点火対象気筒は#3
気筒、燃料噴射対象気筒は、その2つ後の#4気筒とな
ることが判別できる。また、前回と今回のクランクパル
ス入力間にカムパルスが2個入力(突起34cに対応す
るθ6カムパルス)したときには、次の圧縮上死点は#
4気筒であり、現在の燃焼行程気筒は#2気筒、失火診
断対象気筒は#3気筒、点火対象気筒は#4気筒、燃料
噴射対象気筒は#3気筒と判別できる。
Further, three cam pulses are input between the previous and current crank pulse inputs (θ corresponding to the projection 34b).
(5 cam pulses), the next compression top dead center is # 3 cylinder, the current combustion stroke cylinder is # 1 cylinder, the misfire diagnosis target cylinder is # 4 cylinder one combustion stroke earlier, and the ignition target cylinder is # 3 cylinder.
It can be determined that the cylinder and the fuel injection target cylinder are the # 4 cylinder that is two cylinders behind the cylinder. When two cam pulses (θ6 cam pulse corresponding to the projection 34c) are input between the previous and current crank pulse inputs, the next compression top dead center is #
There are four cylinders. The current combustion stroke cylinder is # 2 cylinder, the misfire diagnosis target cylinder is # 3 cylinder, the ignition target cylinder is # 4 cylinder, and the fuel injection target cylinder is # 3 cylinder.

【0050】また、前回と今回とのクランクパルス入力
間にカムパルスが1個入力(突起34aに対応するθ4
カムパルス)し、前の圧縮上死点判別が#4気筒であっ
たときには、次の圧縮上死点は#1気筒であり、現在の
燃焼行程気筒は#4気筒、失火診断対象気筒は#2気
筒、点火対象気筒は#1気筒、燃料噴射気筒は#2気筒
と判別できる。同様に、前回と今回とのクランクパルス
入力間にカムパルスが1個入力し、前の圧縮上死点判別
が#3気筒であったときには次の圧縮上死点は#2気筒
であり、現在の燃焼行程気筒は#3気筒、失火診断対象
気筒は#1気筒、点火対象気筒は#2気筒、燃料噴射対
象気筒は#1気筒と判別できる。
One cam pulse is input between the previous and current crank pulse inputs (θ4 corresponding to the projection 34a).
When the previous compression top dead center determination is # 4 cylinder, the next compression top dead center is # 1 cylinder, the current combustion stroke cylinder is # 4 cylinder, and the misfire diagnosis target cylinder is # 2. The cylinder and the cylinder to be ignited can be determined as # 1 cylinder, and the fuel injection cylinder can be determined as # 2 cylinder. Similarly, when one cam pulse is input between the previous and current crank pulse inputs, and the previous compression top dead center determination was # 3 cylinder, the next compression top dead center is # 2 cylinder, and the current compression top dead center is # 2 cylinder. The combustion stroke cylinder can be determined to be # 3 cylinder, the misfire diagnosis target cylinder is # 1 cylinder, the ignition target cylinder is # 2 cylinder, and the fuel injection target cylinder is # 1 cylinder.

【0051】本形態の4サイクル4気筒エンジン1で
は、燃焼行程は#1→#3→#2→#4の気筒順であ
り、図7のタイムチャートに示すように、カムパルス出
力時の今回の燃焼行程気筒#nを#1気筒とすると、失
火診断対象気筒はその1つ前の#n-1気筒すなわち#4
気筒であり、点火対象気筒は圧縮上死点を迎える#n+1
=#3気筒、このときの燃料噴射対象気筒#iはその2
つ後の#n+3=#4気筒となる。そして、今回の燃焼行
程気筒#n、及び失火診断対象気筒#n-1の気筒判別結
果が、θ3クランクパルス入力毎に実行される図3〜図
4の失火診断ルーチンにおいて参照され、該当失火診断
対象気筒#n-1に対する失火診断が行われる。
In the four-stroke four-cylinder engine 1 of the present embodiment, the combustion strokes are in the order of # 1 → # 3 → # 2 → # 4, and as shown in the time chart of FIG. Assuming that the combustion stroke cylinder #n is the # 1 cylinder, the misfire diagnosis target cylinder is the immediately preceding # n-1 cylinder, that is, the # 4 cylinder.
Cylinder, and the cylinder to be ignited reaches the compression top dead center # n + 1
= # 3 cylinder, the fuel injection target cylinder #i at this time is part 2
The subsequent # n + 3 = # 4 cylinder. The cylinder discrimination results of the current combustion stroke cylinder #n and the misfire diagnosis target cylinder # n-1 are referred to in the misfire diagnosis routine shown in FIGS. Misfire diagnosis is performed for the target cylinder # n-1.

【0052】また、ここでは詳述しないが、点火対象気
筒#n+1の判別結果に応じて該当気筒#n+1に対する点
火時期が設定されて、気筒毎に点火時期制御が行われ
る。更に、燃料噴射対象気筒#i(#n+3気筒)の判別
結果が、所定周期毎に実行される図示しない燃料噴射量
設定ルーチンにおいて参照されて、気筒毎に燃料噴射量
が設定される。
Although not described in detail here, the ignition timing for the cylinder # n + 1 is set in accordance with the result of the determination of the cylinder # n + 1 to be ignited, and the ignition timing is controlled for each cylinder. Further, the determination result of the fuel injection target cylinder #i (# n + 3 cylinder) is referred to in a fuel injection amount setting routine (not shown) executed every predetermined cycle, and the fuel injection amount is set for each cylinder.

【0053】その後、ステップS2からステップS3へ進
み、前記クランクパルス入力間隔計時用タイマによって
計時された前回のクランクパルス入力から今回のクラン
クパルス入力までの時間、すなわちクランクパルス入力
間隔時間(θ1クランクパルスとθ2クランクパルスの入
力間隔時間Tθ12、θ2クランクパルスとθ3クランクパ
ルスの入力間隔時間Tθ23、或いはθ3クランクパルス
とθ1クランクパルスの入力間隔時間Tθ31)を読み出
し、クランクパルス入力間隔時間Tθを検出する。
Thereafter, the process proceeds from step S2 to step S3, in which the time from the previous crank pulse input to the present crank pulse input measured by the crank pulse input interval timer, that is, the crank pulse input interval time (θ1 crank pulse And the input interval time Tθ12 of the θ2 crank pulse, the input interval time Tθ23 of the θ2 crank pulse and the θ3 crank pulse, or the input interval time Tθ31 of the θ3 crank pulse and the θ1 crank pulse), and the crank pulse input interval time Tθ is detected.

【0054】次いで、ステップS4へ進み、今回識別した
クランクパルスに対応するクランクパルス間角度を読み
出し、このクランクパルス間角度と上記クランクパルス
入力間隔時間Tθとに基づいて現在のエンジン回転数N
Eを算出し、RAM43の所定アドレスにストアしてル
ーチンを抜ける。なお、上記クランクパルス間角度は既
知であり、予めROM42に固定データとして記憶され
ているものであり、本実施の形態においては、θ1クラ
ンクパルスとθ2クランクパルス間の角度は32°CA
であり、θ2クランクパルスとθ3クランクパルス間の角
度は55°CA、θ3クランクパルスとθ1クランクパル
ス間の角度は93°CAである。また、エンジン始動時
を考慮し、エンジン回転数NEは、例えば、150rpm以
上で算出される。
Next, the routine proceeds to step S4, where the angle between the crank pulses corresponding to the crank pulse identified this time is read out, and the current engine speed N is determined based on the angle between the crank pulses and the crank pulse input interval time Tθ.
E is calculated, stored at a predetermined address in the RAM 43, and the routine exits. The angle between the crank pulses is known and is stored in advance in the ROM 42 as fixed data. In the present embodiment, the angle between the θ1 crank pulse and the θ2 crank pulse is 32 ° CA.
The angle between the θ2 crank pulse and the θ3 crank pulse is 55 ° CA, and the angle between the θ3 crank pulse and the θ1 crank pulse is 93 ° CA. Further, in consideration of the engine start, the engine speed NE is calculated at, for example, 150 rpm or more.

【0055】そして、θ3クランクパルス入力毎に実行
される図3〜図4に示す失火診断ルーチンにおいて、上
記失火診断対象気筒#n-1、今回の燃焼行程気筒#n、
及びエンジン回転数NEの各データが読み出され、該当
失火診断対象気筒#n-1に対する失火診断が行われる。
In the misfire diagnosis routine shown in FIGS. 3 and 4 executed every time the θ3 crank pulse is input, the misfire diagnosis target cylinder # n-1, the current combustion stroke cylinder #n,
And the respective data of the engine speed NE are read out, and misfire diagnosis is performed for the cylinder # n-1 for misfire diagnosis.

【0056】ここで、上記失火診断ルーチンは、θ3ク
ランクパルス入力に対応して実行され、このとき、上記
気筒判別/エンジン回転数算出ルーチンによりθ2クラ
ンクパルスとθ3クランクパルス間の入力間隔時間Tθ2
3に基づきBTDCθ2,θ3間のエンジン回転数NEが算
出されており、上述のBTDCθ2,θ3間のエンジン回
転数NEに基づいて該当気筒の失火診断が行われること
になる。
The misfire diagnosis routine is executed in response to the input of the θ3 crank pulse. At this time, the input interval time Tθ2 between the θ2 crank pulse and the θ3 crank pulse is obtained by the cylinder discrimination / engine speed calculation routine.
The engine speed NE between the BTDCs θ2 and θ3 is calculated based on (3), and the misfire diagnosis of the corresponding cylinder is performed based on the engine speed NE between the BTDCs θ2 and θ3.

【0057】この失火診断ルーチンにおいては、先ず、
ステップS11で、前回のルーチン実行時に得られた各デ
ータをワークエリアにストアし、ステップS12で、現在
のエンジン回転数NE、すなわち最新のBTDCθ2,θ
3間のエンジン回転数NEを読み出して、現在の気筒#n
に対応するエンジン回転数MNXnとする(MNXn←
NE)。
In this misfire diagnosis routine, first,
In step S11, each data obtained in the previous execution of the routine is stored in the work area. In step S12, the current engine speed NE, that is, the latest BTDC θ2, θ
The engine speed NE between 3 is read and the current cylinder #n
(MNXn ←←)
NE).

【0058】次にステップS13へ進み、上記ステップS12
で設定された現在の気筒#nに対応するエンジン回転数
MNXnから、前回ルーチン実行時に設定されワークエ
リアにストアされた1燃焼行程前の気筒#n-1に対応す
るエンジン回転数MNXn-1を減算し、気筒間における
所定クランク角毎のエンジン回転数の変化、すなわち差
回転DELNEnを算出する(DELNEn←MNXn
−MNXn-1)。
Next, the process proceeds to step S13, and the process proceeds to step S12.
From the engine speed MNXn corresponding to the current cylinder #n set in the above, the engine speed MNXn-1 corresponding to the cylinder # n-1 one combustion stroke earlier set in the previous routine and stored in the work area is set. A subtraction is performed to calculate a change in the engine speed between cylinders at each predetermined crank angle, that is, a differential rotation DELNEn (DELNEn ← MNXn).
-MNXn-1).

【0059】そして、ステップS14,S15で、上記気筒判
別/エンジン回転数算出ルーチンにおいて気筒判別され
た今回の燃焼行程気筒データ#n,失火診断対象気筒デ
ータ#n-1を読み出して、今回の燃焼行程気筒#n,失
火診断対象気筒#n-1(=1燃焼行程前の気筒)をそれ
ぞれ特定する。
In steps S14 and S15, the present combustion stroke cylinder data #n and misfire diagnosis target cylinder data # n-1 determined in the cylinder determination / engine speed calculation routine are read out, and the current combustion is performed. The stroke cylinder #n and the misfire diagnosis target cylinder # n-1 (= 1 cylinder before the combustion stroke) are specified.

【0060】次いでステップS16で、上記差回転DEL
NEnから、後述のステップS26,S27による統計処理に
より4回前の本ルーチン実行時、すなわち1サイクル
(720°CA)前に算出した当該気筒#nに対する差
回転補正値AVEDNXn-4を減算し、補正差回転DE
LNAnを算出する(DELNAn←DELNEn−A
VEDNXn-4)。この差回転補正値AVEDNXは、
詳しくは後述するが、全気筒の補正差回転DELNAを
加重平均して全気筒差回転加重平均値AVEDNを算出
し、さらに、この全気筒差回転加重平均値AVEDNに
対する当該気筒#nの差回転DELNEnとの差を、加
重平均したものである。
Next, at step S16, the differential rotation DEL
A difference rotation correction value AVEDNXn−4 for the cylinder #n calculated at the time of execution of this routine four times before, that is, one cycle (720 ° CA) ago by statistical processing in steps S26 and S27 described later is subtracted from NEn, Correction difference rotation DE
Calculate LNAn (DELNAn ← DELNen-A
VEDNXn-4). This difference rotation correction value AVEDNX is
As will be described in detail later, the corrected differential rotation DELNA of all cylinders is weighted and averaged to calculate an all cylinder differential rotation weighted average value AVEDN, and further, the differential rotation DELNEn of the cylinder #n with respect to this all cylinder differential rotation weighted average value AVEDN. Is a weighted average.

【0061】すなわち、上記クランク角センサ32によ
って検出されるクランク角には、クランクロータ31の
各突起31a,31b,31cの位置及び形状等、製造
上の許容誤差、クランク角センサ32のエンジン1への
取付位置の許容誤差等がエンジン毎に存在する。従っ
て、上記クランク角センサ32からのクランクパルスに
基づいて算出される上記差回転DELNEには、これら
の誤差によるばらつきが含まれている。このため、特に
エンジン高回転時には、図8に示すように、見掛け上、
大きなエンジン回転変動が一律に発生するような結果と
なり、この差回転DELNEによって直接、失火診断を
行うと、誤診断を生じる。
That is, the crank angle detected by the crank angle sensor 32 includes manufacturing tolerances, such as the position and shape of each of the projections 31a, 31b, 31c of the crank rotor 31, and the crank angle sensor 32 to the engine 1. There is a permissible error or the like in the mounting position of each engine. Therefore, the difference rotation DELNE calculated based on the crank pulse from the crank angle sensor 32 includes variations due to these errors. For this reason, especially at the time of high engine rotation, as shown in FIG.
As a result, large engine speed fluctuations occur uniformly. If the misfire diagnosis is made directly by this differential speed DELNE, an erroneous diagnosis will occur.

【0062】従って、上記差回転DELNEnから、統
計処理により1サイクル前に算出した当該気筒#nに対
する差回転補正値AVEDNXn-4を減算し、補正差回
転DELNAnを算出することで、クランクロータ31
の各突起31a,31b,31cの位置及び形状等の製
造上の許容誤差、クランク角センサ32のエンジン1へ
の取付位置の許容誤差等の影響を除去し、当該気筒#n
に対するエンジン回転数MNXnと1燃焼行程前の気筒
#n-1に対するエンジン回転数MNXn-1との間の正確
な差回転を得る。なお、図9のタイミングチャートに、
上記補正差回転DELNAを示す。図8に示す差回転D
ELNEに対し、図9に示すように、補正差回転DEL
NAでは、上記許容誤差の影響が排除された正確な差回
転が得られていることが解る。
Therefore, by subtracting the differential rotation correction value AVEDNXn-4 for the cylinder #n calculated one cycle earlier by the statistical processing from the differential rotation DELNEn, and calculating the corrected differential rotation DELNAn, the crank rotor 31
Of the projections 31a, 31b, and 31c, and the tolerance of the mounting position of the crank angle sensor 32 to the engine 1 and the like.
, And an accurate difference between the engine speed MNXn-1 for the cylinder # n-1 one combustion stroke before and the engine speed MNXn-1 for the cylinder # n-1 one combustion stroke earlier. In the timing chart of FIG.
The correction differential rotation DELNA is shown. Differential rotation D shown in FIG.
With respect to ELNE, as shown in FIG.
It can be seen that in the case of NA, an accurate differential rotation in which the influence of the above-described tolerance is eliminated is obtained.

【0063】なお、図8、図9、及び後述する図10に
おいては、縦軸の1目盛りを50rpm、横軸の1目盛り
(1div)を720°CAとして、ECU40で算出さ
れた差回転データを示す。
In FIGS. 8, 9 and FIG. 10, which will be described later, the differential rotation data calculated by the ECU 40 is shown with one scale on the vertical axis being 50 rpm and one scale (1 div) on the horizontal axis being 720 ° CA. Show.

【0064】ここで、例えば、この失火診断ルーチンが
#3気筒のBTDCθ3クランクパルス入力により実行
された場合、今回の燃焼行程気筒#nは#1気筒であ
り、1燃焼行程前の気筒#n-1として#4気筒が失火診
断対象気筒となる(図7参照)。 そして、今回のルー
チンにおいて、#3気筒のBTDCθ2,θ3のクランク
パルス入力間隔時間に基づいて算出した現在燃焼行程の
#1気筒(#n気筒)の回転数MNX#1(=MNXn)
から、#1気筒のBTDCθ2,θ3のクランクパルス入
力間隔時間に基づく1燃焼行程前の#4気筒(#n-1気
筒)の回転数MNX#4(=MNXn-1)を減算して#1
気筒に対する差回転DELNE#1(DELNEn=MN
Xn−MNXn-1)を算出する。そして、この差回転D
ELNE#1から4回前の本ルーチン実行時すなわち1サ
イクル前に算出した当該#1気筒に対する差回転補正値
AVEDNX#1(AVEDNXn-4)を減算し、当該#
1気筒の補正差回転DELNA#1(DELNAn)を算
出する(図11参照)。
Here, for example, if the misfire diagnosis routine is executed by inputting the BTDCθ3 crank pulse of the # 3 cylinder, the current combustion stroke cylinder #n is the # 1 cylinder, and the cylinder # n- one cylinder before the combustion stroke is executed. As # 1, cylinder # 4 becomes a cylinder subject to misfire diagnosis (see FIG. 7). In the current routine, the rotation speed MNX # 1 (= MNXn) of the # 1 cylinder (#n cylinder) in the current combustion stroke calculated based on the BTDC θ2 and θ3 crank pulse input interval times of the # 3 cylinder.
Is subtracted from the rotational speed MNX # 4 (= MNXn-1) of the # 4 cylinder (# n-1 cylinder) one combustion stroke before, based on the BTDC .theta.2, .theta.3 crank pulse input interval time of the # 1 cylinder.
DELNE # 1 (DELNEn = MN)
Xn-MNXn-1) is calculated. And this differential rotation D
Subtract the differential rotation correction value AVEDNX # 1 (AVEDNXn-4) for the # 1 cylinder calculated at the time of execution of this routine four times before, that is, one cycle before, from ELNE # 1.
The correction differential rotation DELNA # 1 (DELNAn) for one cylinder is calculated (see FIG. 11).

【0065】そして、ステップS17以降の処理で、図1
1に示すように、この#1気筒の補正差回転DELNA
#1(DELNAn)から、前回のルーチン実行時に算出
した1燃焼行程前の診断対象気筒#n-1となる#4気筒
の補正差回転DELNA#4(DELNAn-1)を減算し
て、#1気筒の補正差回転変化DDNEA#1(DDNE
An)を算出する。そして、この#1気筒の補正差回転
変化DDNEA#1(DDNEAn)と、前回ルーチン実
行時に算出した#4気筒の補正差回転変化DDNEA#4
(DDNEAn-1)との変化状態によって、該当失火診
断対象の#4気筒(#n-1気筒)に対する失火診断を行
う。
Then, in the processing after step S17, FIG.
As shown in FIG. 1, the corrected differential rotation DELNA of the # 1 cylinder
# 1 (DELNAn) is subtracted from the corrected differential rotation DELNA # 4 (DELNAn-1) of the # 4 cylinder, which is the cylinder # n-1 to be diagnosed one combustion stroke before, calculated at the time of execution of the previous routine. Cylinder correction differential rotation change DDNEA # 1 (DDNEA # 1)
An) is calculated. Then, the corrected differential rotation change DDNEA # 1 (DDNEAn) of the # 1 cylinder and the corrected differential rotation change DDNEA # 4 of the # 4 cylinder calculated at the time of execution of the previous routine.
A misfire diagnosis is performed for the # 4 cylinder (# n-1 cylinder) to be subjected to the misfire diagnosis based on the change state with (DDNEAn-1).

【0066】すなわち、ステップS17では、上記ステッ
プS16で算出した#n気筒の補正差回転DELNAnか
ら、前回ルーチン実行時に算出されワークエリアにスト
アされている#n-1気筒の補正差回転DELNAn-1を
減算して、#n気筒に対する補正差回転変化DDNEA
nを算出する(DDNEAn←DELNAn−DELN
An-1)。
That is, in step S17, the corrected differential rotation DELNAn-1 of the # n-1 cylinder calculated in the previous execution of the routine and stored in the work area is calculated from the corrected differential rotation DELNAn of the #n cylinder calculated in step S16. Is subtracted to obtain the corrected differential rotation change DDNEA for the #n cylinder.
n (DDNEAn ← DELNAn−DELN)
An-1).

【0067】この補正差回転変化DDNEAの挙動を、
図10のタイミングチャートに示す。
The behavior of the corrected differential rotation change DDNEA is
This is shown in the timing chart of FIG.

【0068】ここで、エンジン1にスナッチ等の断続的
な回転変動が発生すると、補正差回転DELNAを所定
の失火判定レベルと比較するだけでは、このスナッチ等
による断続的な回転変動をも失火と誤診断してしまい、
正確な失火診断を行うことができない。従って、前後の
気筒の補正差回転DELNAの変化、すなわち補正差回
転変化DDNEAによって失火を診断することで、失火
発生時のエンジン運転状態に応じてレベルの変化する差
回転(補正差回転DELNA)に対し、スナッチ等の断
続的な回転変動の影響を排除して正確な失火診断を可能
とする。
Here, if an intermittent rotation fluctuation such as a snatch occurs in the engine 1, the intermittent rotation fluctuation due to the snatch or the like can be regarded as a misfire simply by comparing the corrected differential rotation DELNA with a predetermined misfire determination level. Misdiagnosed,
Accurate misfire diagnosis cannot be performed. Therefore, by diagnosing misfire based on the change in the corrected differential rotation DELNA of the front and rear cylinders, that is, the corrected differential rotation change DDNEA, the differential rotation (corrected differential rotation DELNA) whose level changes according to the engine operating state at the time of the misfire occurs. On the other hand, the influence of intermittent rotation fluctuations such as snatches is eliminated to enable accurate misfire diagnosis.

【0069】次いでステップS18へ進み、ステップS18〜
S20で、失火診断条件が成立するか否かを判断する。
Next, the process proceeds to step S18, and steps S18 to S18 are performed.
In S20, it is determined whether a misfire diagnosis condition is satisfied.

【0070】すなわち、ステップS18で、燃料カット中
か否かを判断し、燃料カットが行われていないとき、ス
テップS19で、後述する燃料噴射量設定ルーチンにおい
て設定され基本燃料噴射量を定める基本燃料噴射パルス
幅Tpを下限値TpLWERと比較し、現在のエンジン運転
領域が失火診断可能領域にあるか否かを判断する。そし
て、Tp≧TpLWREのとき、続くステップS20で、現在
のエンジン回転数NEを上限値NEUPERと比較する。
That is, it is determined in step S18 whether or not the fuel cut is being performed. If the fuel cut is not being performed, in step S19, the basic fuel which is set in a fuel injection amount setting routine described later and determines the basic fuel injection amount is determined. The injection pulse width Tp is compared with the lower limit value TpLWER, and it is determined whether or not the current engine operation region is in the misfire diagnosable region. Then, when Tp ≧ TpLWRE, in a succeeding step S20, the current engine speed NE is compared with an upper limit value NEUPER.

【0071】ここで、燃料カット中のときには、燃料が
噴射されておらず、各気筒とも強制失火状態にあり、失
火診断を行うことができない。また、Tp<TpLWREで
燃料噴射量が微少のときには、失火以外の回転変動成分
が大きくエンジン回転数変化によって失火診断を行うと
誤診断を生じる。さらに、NE≧NEUPERの高回転域で
は、回転変動がなまされ、この領域においては失火診断
を行うことはできない。
Here, during fuel cut, no fuel is injected, and each cylinder is in a forced misfire state, so that misfire diagnosis cannot be performed. In addition, when Tp <TpLWRE and the fuel injection amount is small, a rotational fluctuation component other than misfire is large, and misfire diagnosis is performed if misfire diagnosis is performed based on a change in engine speed. Further, in a high rotation range of NE ≧ NEEUPER, the rotation fluctuation is moderated, and a misfire diagnosis cannot be performed in this range.

【0072】従って、燃料カット中のとき、或いはTp
<TpLWREの失火診断不能領域のとき、或いはNE>NE
UPERの高回転域のときには、失火診断条件の不成立によ
り該当するステップからステップS21へ進み、診断許可
フラグFLGDIAGをクリア(FLGDIAG←0)して失火
診断を禁止し、ステップS23へ進む。
Therefore, during fuel cut, or when Tp
<TpLWRE misfire diagnosable area, or NE> NE
If the UPER is in the high rotation range, the process proceeds from the relevant step to step S21 due to the failure of the misfire diagnosis condition, clears the diagnosis permission flag FLGDIAG (FLGDIAG ← 0), prohibits the misfire diagnosis, and proceeds to step S23.

【0073】一方、燃料噴射が行われており、Tp≧T
pLWREで現在のエンジン運転状態が失火診断可能領域に
あり、且つNE<NEUPERで高回転を除く領域のとき、失
火診断条件成立と判断してステップS22へ進み、診断許
可フラグFLGDIAGをセット(FLGDIAG←1)して失
火診断を許可し、ステップS23へ進む。
On the other hand, when fuel injection is performed, Tp ≧ T
When the current engine operating state is in the misfire diagnosable area in pLWRE and is in the area excluding high revolutions with NE <NEEUPER, it is determined that the misfire diagnosing condition is satisfied, and the routine proceeds to step S22, where the diagnosis permission flag FLGDIAG is set (FLGDIAG ← 1) to permit misfire diagnosis, and proceed to step S23.

【0074】そして、ステップS23で、図5に示す単発
失火診断サブルーチンを実行し、該当失火診断対象気筒
#n-1に対する1回毎の失火診断、すなわち気筒毎の単
発失火を判断する。
Then, in step S23, a single-fire misfire diagnosis subroutine shown in FIG. 5 is executed, and a single-fire misfire diagnosis for the cylinder # n-1 to be subjected to the misfire diagnosis, that is, a single-fire misfire for each cylinder is determined.

【0075】この単発失火診断サブルーチンでは、ステ
ップS41で、上記診断許可フラグFLGDIAGを参照し、
FLGDIAG=0で診断条件の不成立により失火診断が禁
止されているときには、ステップS48へジャンプし、該
当失火診断対象気筒#n-1の単発失火を表す気筒別失火
フラグFLGMISn-1をクリアして(FLGMISn
-1←0)、失火診断ルーチン(図4)のステップS24へ
進む。
In this single-shot misfire diagnosis subroutine, in step S41, the diagnosis permission flag FLGDIAG is referred to.
If FLGDIAG = 0 and the misfire diagnosis is not satisfied and the misfire diagnosis is prohibited, the process jumps to step S48, and clears the cylinder-specific misfire flag FLGMISn-1 indicating the single-shot misfire of the cylinder # n-1 to be misfire-diagnosed ( FLGMISn
-1 ← 0), and proceeds to step S24 of the misfire diagnosis routine (FIG. 4).

【0076】一方、上記ステップS41においてFLGDIA
G=1で、失火診断が許可されているときには、ステッ
プS42へ進み、現在のエンジン回転数NEとエンジン負荷
を表す基本燃料噴射パルス幅Tpとに基づいて失火判定
レベルマップを参照し、補間計算により失火判定レベル
LVLMISHを設定する。
On the other hand, in step S41, FLGDIA
If G = 1 and the misfire diagnosis is permitted, the process proceeds to step S42, where the misfire determination level map is referred to based on the current engine speed NE and the basic fuel injection pulse width Tp representing the engine load, and interpolation calculation is performed. To set the misfire determination level LVLMISH.

【0077】この失火判定レベルLVLMISHは、上
記補正差回転変化DDNEAとの比較により失火を判断
するためのもので、エンジン型式毎のエンジン特性、及
びエンジン運転状態によって相違する。従って、予め実
験、或いはシュミレーション等によりエンジン回転数N
Eと基本燃料噴射パルス幅Tpとによる運転領域毎に、
失火を生じたときの補正差回転変化DDNEAを求め、
これに対応する失火判定レベルLVLMISHを、図1
2(a)に示すように、エンジン回転数NEと基本燃料
噴射パルス幅Tpとをパラメータとする失火判定レベル
マップとして設定し(本実施の形態では、8×8格子の
マップとして設定されている)、ROM42の一連のア
ドレスにメモリしておく。
The misfire determination level LVLMISH is used for judging misfire by comparing with the above-described corrected differential rotation change DDNEA, and differs depending on the engine characteristics for each engine type and the engine operating state. Therefore, the engine speed N is determined in advance by an experiment or a simulation.
For each operation region based on E and the basic fuel injection pulse width Tp,
The correction difference rotation change DDNEA when a misfire occurs is obtained,
The corresponding misfire determination level LVLMISH is shown in FIG.
As shown in FIG. 2A, a misfire determination level map is set using the engine speed NE and the basic fuel injection pulse width Tp as parameters (in the present embodiment, it is set as an 8 × 8 grid map). ), And stored in a series of addresses in the ROM 42.

【0078】なお、図13に示すように、上記失火判定
レベルLVLMISHは、基本燃料噴射パルス幅Tpが
下限値以下の場合を診断不可能な領域として設定し、こ
れ以外の領域について、基本燃料噴射パルス幅Tpが増
加しエンジン負荷が高くなるに従い、高い値に設定され
る。
As shown in FIG. 13, the misfire determination level LVLMISH is set when the basic fuel injection pulse width Tp is less than the lower limit as a non-diagnosable area. The value is set to a higher value as the pulse width Tp increases and the engine load increases.

【0079】続くステップS43では、現在のエンジン回
転数NEとエンジン負荷を表す基本燃料噴射パルス幅T
pとに基づいて誤判定防止判定レベルマップを参照し、
補間計算により誤判定防止判定レベルLVLMISLを
設定する。
In the following step S43, a basic fuel injection pulse width T representing the current engine speed NE and the engine load is set.
Referring to the erroneous determination prevention determination level map based on p and
An erroneous determination prevention determination level LVLMISL is set by interpolation calculation.

【0080】この誤判定防止判定レベルLVLMISL
は、失火診断対象気筒#n-1に対する補正差回転変化D
DNEAn-1との比較により失火以外の要因すなわちス
ナッチや外乱等によるエンジン回転変動を判断するため
のものである。
This erroneous judgment prevention judgment level LVLMISL
Is the correction difference rotation change D for the misfire diagnosis target cylinder # n-1.
This is for judging factors other than misfire, that is, engine rotation fluctuations due to snatch, disturbance, and the like, by comparing with DNEAn-1.

【0081】ここで、スナッチや外乱等によりエンジン
回転変動を生じたときには、エンジン回転数が一時的に
大きく低下する。従って、上記誤判定防止判定レベルL
VLMISLは上記失火判定レベルLVLMISHよりも
大きい値に設定される。なお、留意すべき点は、スナッ
チや外乱等によりエンジン回転変動を生じたときには、
エンジン回転数が一時的に大きく低下し、失火診断対象
気筒#n-1の補正差回転変化DDNEAn-1にスナッチ
や外乱等によるエンジン回転変動が含まれているときに
は、この補正差回転変化DDNEAn-1はマイナス値を
示す。従って、これを誤診断防止判定レベルLVLMI
SLにより判断するためには、実際には、誤判定防止判
定レベルLVLMISLもマイナス値で与える必要があ
る。また、スナッチや外乱等による回転変動の大きさ
は、エンジン型式毎のエンジン特性、及びエンジン運転
状態によって相違する。
Here, when the engine speed fluctuates due to snatching or disturbance, the engine speed temporarily drops significantly. Therefore, the erroneous determination prevention determination level L
VLMISL is set to a value larger than the misfire determination level LVLMISH. It should be noted that when the engine speed fluctuates due to snatching or disturbance,
When the engine rotational speed temporarily drops greatly and the corrected differential rotation change DDNEAn-1 of the misfire diagnosis target cylinder # n-1 includes the engine rotation fluctuation due to snatch, disturbance, or the like, the corrected differential rotation change DDNEAn- 1 indicates a negative value. Therefore, the erroneous diagnosis prevention determination level LVLMI
In order to make a determination based on SL, it is actually necessary to give the erroneous determination prevention determination level LVLMISL as a negative value. Further, the magnitude of the rotation fluctuation due to snatch, disturbance, and the like differs depending on the engine characteristics and the engine operating state for each engine type.

【0082】このため、予め実験、或いはシミュレーシ
ョン等によりエンジン回転数NEと基本燃料噴射パルス
幅Tpとによる運転領域毎に、スナッチや外乱等による
回転変動を生じたときの失火診断対象行程気筒#n-1の
補正差回転変化DDNEAn-1を求め、これに対応する
マイナス値の誤診断防止判定レベル−LVLMISLを
設定する。そして、マイナスの符号を削除したプラス値
の誤診断防止判定レベルLVLMISLを、図12
(b)に示すように、エンジン回転数NEと基本燃料噴
射パルス幅Tpとをパラメータとする誤診断防止判定レ
ベルマップとして設定し(本実施の形態では、上記失火
判定レベルマップとの整合を得るため、8×8格子のマ
ップとして設定されている)、ROM42の一連のアド
レスにメモリしておく。
For this reason, a misfire diagnosis target cylinder #n when a rotational fluctuation occurs due to a snatch, a disturbance, or the like in each operating region based on the engine rotational speed NE and the basic fuel injection pulse width Tp through experiments or simulations in advance. A correction differential rotation change DDNEAn-1 of -1 is obtained, and a negative value erroneous diagnosis prevention determination level -LVLMISL corresponding to this is set. Then, the plus value erroneous diagnosis prevention determination level LVLMISL from which the minus sign is deleted is shown in FIG.
As shown in (b), an erroneous diagnosis prevention determination level map is set using the engine speed NE and the basic fuel injection pulse width Tp as parameters (in the present embodiment, consistency with the misfire determination level map is obtained). Therefore, it is set as an 8 × 8 grid map) and stored in a series of addresses in the ROM 42.

【0083】そして、誤診断防止判定レベルマップから
補間計算を伴い読み出した誤診断防止判定レベルLVL
MISLに、後述するステップS45において、マイナスの
符号を付してマイナス値の誤診断防止判定レベル−LV
LMISLとし、失火診断対象気筒#n-1の補正差回転
変化DDNEAn-1を、このマイナスの誤診断防止判定
レベル−LVLMISLと比較することで、失火診断対
象気筒#n-1の補正差回転変化DDNEAn-1が、スナ
ッチや外乱等によるエンジン回転変動によるものか否か
を判断するのである。
The erroneous diagnosis prevention judgment level LVL read out together with the interpolation calculation from the erroneous diagnosis prevention judgment level map
In step S45 to be described later, the MISL is provided with a minus sign, and a negative value erroneous diagnosis prevention determination level -LV
LMISL, and the corrected differential rotation change DDNEAn-1 of the misfire diagnosis target cylinder # n-1 is compared with the minus erroneous diagnosis prevention determination level -LVLMISL to obtain the corrected differential rotation change of the misfire diagnosis target cylinder # n-1. It is determined whether or not DDNEAn-1 is due to engine rotation fluctuation due to snatch, disturbance, or the like.

【0084】次いでステップS44へ進み、前回ルーチン
実行時に算出されワークエリアにストアされている該当
失火診断対象気筒#n-1に対する補正差回転変化DDN
EAn-1を読み出し、この補正差回転変化DDNEAn
-1を、上記失火判定レベルLVLMISHに負の符号を
付したマイナス失火判定レベル−LVLMISHと比較
する。そして、DDNEAn-1>−LVLMISHのと
きには、該当失火診断対象気筒#n-1に失火を生じてい
ないと判断して、ステップS48へジャンプし、該当失火
診断対象気筒#n-1に失火が生じたことを示す失火フラ
グFLGMISn-1をクリアして(FLGMISn-1←
0)、失火診断ルーチンのステップS24へ進む。
Then, the process proceeds to a step S44, wherein the corrected differential rotation change DDN for the cylinder # n-1 to be subjected to the misfire diagnosis calculated in the previous execution of the routine and stored in the work area.
EAn-1 is read out and the correction difference rotation change DDNEAn
-1 is compared with a minus misfire determination level -LVLMISH in which the misfire determination level LVLMISH is given a negative sign. When DDNEAn-1> -LVLMISH, it is determined that no misfire has occurred in the cylinder # n-1 to be subjected to misfire diagnosis, and the routine jumps to step S48 to cause misfire in the cylinder # n-1 to be subjected to misfire diagnosis. Clears the misfire flag FLGMISn-1 indicating that (FLGMISn-1 ←
0), and proceed to step S24 of the misfire diagnosis routine.

【0085】これに対し、DDNEAn-1≦−LVLM
ISHのときには、続くステップS45で、上記該当失火診
断対象気筒#n-1の補正差回転変化DDNEAn-1を、
上記ステップS43で設定した誤判定防止判定レベルLV
LMISLに負の符号を付したマイナス誤判定防止判定
レベル−LVLMISLと比較することで、失火診断対
象気筒の補正差回転変化DDNEAn-1が失火以外の要
因すなわちスナッチや外乱等に起因する回転変動による
ものか否かを判断する。
On the other hand, DDNEAn-1 ≦ −LVLM
In the case of ISH, in the following step S45, the correction difference rotation change DDNEAn-1 of the cylinder # n-1 corresponding to the misfire diagnosis is calculated as
Erroneous judgment prevention judgment level LV set in step S43
By comparing the LMISL with a minus misjudgment prevention determination level −LVLMISL in which a negative sign is added to the LMISL, the corrected differential rotation change DDNEAn−1 of the misfire diagnosis target cylinder is caused by a rotation change caused by a factor other than the misfire, that is, a snatch or disturbance. It is determined whether it is a thing.

【0086】そして、DDNEAn-1≧−LVLMIS
Lで、失火診断対象気筒#n-1の補正差回転変化DDN
EAn-1がマイナス誤判定防止判定レベル−LVLMI
SL以上のとき、この補正差回転変化DDNEAn-1は
スナッチや外乱等に起因する回転変動ではないと判断
し、ステップS46へ進み、今回算出した#n気筒に対す
る補正差回転変化DDNEAnを失火判定レベルLVL
MISHと比較することで、該当失火診断対象気筒#n-
1に対する失火を検証する。
Then, DDNEAn-1 ≧ -LVLMIS
L, the correction difference rotation change DDN of the misfire diagnosis target cylinder # n-1
EAn-1 is a negative erroneous determination prevention determination level -LVLMI.
If not less than SL, it is determined that the corrected differential rotation change DDNEAn-1 is not a rotation fluctuation caused by snatch, disturbance, or the like, and the process proceeds to step S46, where the currently calculated corrected differential rotation change DDNEAn for the #n cylinder is determined as the misfire determination level. LVL
By comparing with the MISH, the cylinder # n-
Verify misfire for 1.

【0087】そして、DDNEAn≧LVLMISHの
とき、該当失火診断対象気筒#n−1の失火と確定判断
して、ステップS47へ進み、該当失火診断対象気筒#n-
1に対する失火フラグFLGMISn-1をセットして
(FLGMISn-1←1)、失火診断ルーチンのステッ
プS24へ進む。
When DDNEAn ≧ LVLMISH, it is determined that the misfire diagnosis target cylinder # n-1 is misfired, and the routine proceeds to step S47, where the misfire diagnosis target cylinder # n-
A misfire flag FLGMISn-1 for 1 is set (FLGMISn-1 ← 1), and the routine proceeds to step S24 of the misfire diagnosis routine.

【0088】一方、上記ステップS45で、DDNEAn-
1<−LVLMISLのときには、該当失火診断対象気筒
#n-1の補正差回転変化DDNEAn-1が、失火以外の
要因すなわちスナッチや外乱等に起因する回転変動によ
るものと判断して、上記ステップS48へジャンプし、該
当失火診断対象気筒#n-1の失火フラグFLGMISn
-1をクリアして(FLGMISn-1←0)、失火診断ル
ーチンのステップS24へ進む。
On the other hand, in step S45, DDNEAn-
When 1 <-LVLMISL, it is determined that the correction difference rotation change DDNEAn-1 of the cylinder # n-1 to be misfire-diagnosed is due to a rotation fluctuation caused by a factor other than misfire, that is, a snatch or disturbance, and the above-described step S48 is performed. To the misfire flag FLGMISn of the cylinder # n-1 to be misfired.
-1 is cleared (FLGMISn-1 ← 0), and the routine proceeds to step S24 of the misfire diagnosis routine.

【0089】更に、上記ステップS46での検証の結果、
DDNEAn<LVLMISHであり、該当失火診断対
象気筒#n-1に失火が生じていないと判断されるとき
は、同様に、上記ステップS48で該当失火診断対象気筒
#n-1に対する失火フラグFLGMISn-1をクリアし
て、失火診断ルーチンのステップS24へ進む。
Further, as a result of the verification in step S46,
If DDNEAn <LVLMISH, and it is determined that the misfire diagnosis target cylinder # n-1 has not suffered a misfire, similarly, in step S48, the misfire flag FLGMISn-1 for the relevant misfire diagnosis target cylinder # n-1 Is cleared, and the routine proceeds to step S24 of the misfire diagnosis routine.

【0090】ここで、図14に破線で示すように、スナ
ッチや外乱等が生じると、エンジン回転数が大きく低下
し、補正差回転変化DDNEAn-1がマイナス誤判定判
定レベル−LVLMISL未満の値を示す。すなわち、
エンジン回転数NEとエンジン負荷を表す基本燃料噴射
パルス幅Tpとによるエンジン運転状態に基づいて失火
以外の要因によるエンジン回転変動を判定するための誤
判定防止判定レベルLVLMISLを設定し、失火診断
対象気筒#n-1の補正差回転変化DDNEAn-1がマイ
ナスの誤判定防止判定レベル−LVLMISL未満のと
き、失火以外の要因すなわちスナッチや外乱等によるエ
ンジン回転変動と判断して、このときには、失火診断を
除外することで、確実にスナッチや外乱等の回転変動に
よる誤判定を防止することが可能となる。
Here, as shown by the broken line in FIG. 14, when a snatch, disturbance, or the like occurs, the engine speed is greatly reduced, and the correction difference rotation change DDNEAn-1 is set to a value less than the minus erroneous determination determination level -LVLMISL. Show. That is,
A misjudgment prevention judgment level LVLMISL for judging engine revolution fluctuations due to factors other than misfire is set based on the engine operating state based on the engine speed NE and the basic fuel injection pulse width Tp representing the engine load, and the misfire diagnosis target cylinder is set. When the correction differential rotation change DDNEAn-1 of # n-1 is less than the negative erroneous determination prevention determination level -LVLMISL, it is determined that the engine rotation has fluctuated due to a factor other than misfire, that is, a snatch, disturbance, or the like. By exclusion, it is possible to reliably prevent erroneous determination due to rotation fluctuation such as snatch or disturbance.

【0091】そして、失火診断対象気筒#n-1に対する
補正差回転変化DDNEAn-1が、マイナス誤判定防止
判定レベル−LVLMISL以上のとき、この補正差回
転変化DDNEAn-1はスナッチや外乱等に起因する回
転変動ではないと判断することができる。そして、この
状態下で、失火診断対象気筒#n-1が失火したときに
は、図14に実線で示すように、該当気筒#n-1におい
て燃焼による有効圧力を得られないため、該当失火診断
対象気筒#n-1の燃焼行程前のエンジン回転数MNXn
-2に対して、該当気筒#n-1の排気弁が開弁する燃焼行
程終期のエンジン回転数MNXn-1が低下し、補正差回
転変化DDNEAn-1はマイナスの値となって、マイナ
ス失火判定レベル−LVLMISH以下の値を示す。そ
して、このエンジン回転数MNXn-1に対し、次気筒#
nの燃焼により次の区間のMNXnが上昇し、従って、
#n気筒に対する補正差回転変化DDNEAnはプラス
値となり、上記失火判定レベルLVLMISH以上の値
を示す。従って、これにより該当失火診断対象気筒#n
-1に対する失火を適正に診断することが可能となり、失
火以外のスナッチや外乱等に起因する回転変動による誤
診断を確実に防止して失火診断精度をより向上すること
が可能となる。
When the correction difference rotation change DDNEAn-1 for the misfire diagnosis target cylinder # n-1 is equal to or more than the minus erroneous determination prevention determination level -LVLMISL, the correction difference rotation change DDNEAn-1 is caused by a snatch, disturbance, or the like. It can be determined that the rotation does not fluctuate. In this state, when the misfire diagnosis target cylinder # n-1 misfires, as shown by the solid line in FIG. 14, the effective pressure due to combustion cannot be obtained in the corresponding cylinder # n-1. Engine speed MNXn before combustion stroke of cylinder # n-1
In contrast to -2, the engine speed MNXn-1 at the end of the combustion stroke in which the exhaust valve of the corresponding cylinder # n-1 opens decreases, the corrected differential speed change DDNEAn-1 becomes a negative value, and a negative misfire occurs Indicates a value equal to or less than the judgment level -LVLMISH. Then, for the engine speed MNXn-1, the next cylinder #
n increases MNXn in the next section, and
The correction difference rotation change DDNEAn for the #n cylinder is a positive value, and indicates a value equal to or higher than the misfire determination level LVLMISH. Therefore, this causes the misfire diagnosis target cylinder #n
Therefore, it is possible to properly diagnose misfire for -1, and to surely prevent misdiagnosis due to rotation fluctuation caused by snatch or disturbance other than misfire, and to further improve misfire diagnosis accuracy.

【0092】そして、以上の単発失火診断サブルーチン
の終了により、失火診断ルーチンのステップS24へ進む
と(図4参照)、ステップS24〜S30の処理により次回の
失火診断に備え、統計処理によって当該気筒#n-1に対
する差回転補正値AVEDNXn-1を算出する。
When the single-fire misfire diagnosis subroutine is completed and the process proceeds to step S24 of the misfire diagnosis routine (see FIG. 4), the processing of steps S24 to S30 prepares for the next misfire diagnosis, and the statistical processing performs the relevant cylinder #. A difference rotation correction value AVEDNXn-1 for n-1 is calculated.

【0093】ステップS24では、今回の該当失火診断対
象気筒#n-1の失火フラグFLGMISn-1を参照し、
FLGMISn-1=0で今回の失火診断対象気筒#n-1
に失火が発生していないとき、ステップS25へ進む。そ
して、ワークエリアにストアされている該当気筒#n-1
の差回転DELNEn-1と全気筒の差回転を加重平均し
た前回ルーチン実行時の全気筒差回転加重平均値AVE
DNn-1との差(DELNEn-1−AVEDNn-1)を
算出して、下限値MINDN及び上限値MAXDNと比
較することで、クランクロータ31の各突起31a,3
1b,31cの位置及び形状等の製造上の許容誤差、ク
ランク角センサ32のエンジン1への取付位置の許容誤
差等による回転変動が上記差回転DELNEn-1に含ま
れているか否かを判断する。
In step S24, referring to the misfire flag FLGMISn-1 of the cylinder # n-1 to be subjected to misfire diagnosis this time,
FLGMISn-1 = 0, cylinder # n-1 to be misfired this time
If no misfire has occurred, the process proceeds to step S25. Then, the corresponding cylinder # n-1 stored in the work area
AVE of all cylinders at the time of execution of the previous routine in which the differential rotation of DELNEn-1 and the differential rotation of all cylinders are weighted and averaged.
By calculating the difference (DELNEn-1-AVEDNn-1) from DNn-1 and comparing it with the lower limit value MINDN and the upper limit value MAXDN, each of the protrusions 31a, 3 of the crank rotor 31 is calculated.
It is determined whether or not rotational variations due to manufacturing tolerances such as the position and shape of the 1b and 31c, and tolerances for mounting the crank angle sensor 32 to the engine 1 are included in the differential rotation DELNEn-1. .

【0094】そして、MINDN<DELNEn-1−A
VEDNn-1<MAXDNで、該当気筒#n-1の差回転
DELNEn-1と全気筒差回転加重平均値ADVDNn
-1との差が、上,下限値MAXDN,MINDNにより
定まる設定範囲内のときには、クランクロータ31、ク
ランク角センサ32に係る誤差により差回転DELNE
n-1が変動していると判断してステップS26へ進み、前
回までの上記全気筒差回転加重平均値AVEDNn-1と
該当気筒#n-1の補正差回転DELNAn-1とを加重平
均して、今回の全気筒差回転加重平均値AVEDNnを
算出する(AVEDNn←(3/4)×AVEDNn-1
+(1/4)×DELNAn-1)。
Then, MINDN <DELNEn-1-A
If VEDNn-1 <MAXDN, the differential rotation DELNEn-1 of the relevant cylinder # n-1 and the average differential weight ADVDNn of all the cylinder differential rotations
When the difference from -1 is within a set range determined by the upper and lower limits MAXDN and MINDN, the differential rotation DELNE is caused by an error relating to the crank rotor 31 and the crank angle sensor 32.
Since it is determined that n-1 has fluctuated, the process proceeds to step S26, where the weighted average of the all cylinder difference rotation weighted average value AVEDNn-1 up to the previous time and the correction difference rotation DELNAn-1 of the corresponding cylinder # n-1 is calculated. To calculate the current all-cylinder differential rotation weighted average value AVEDNn (AVEDNn ← (3/4) × AVEDNn−1).
+ (1/4) * DELNAn-1).

【0095】次いでステップS27で、5回前の本ルーチ
ンで算出した当該気筒#n-1(本実施の形態では4気筒
エンジンであり、#n-1気筒と#n-5気筒は同一気筒で
ある)に対する差回転補正値AVEDNXn-5を、ワー
クエリアにストアされている当該気筒#n-1の差回転D
ELNEn-1と前回ルーチン実行時に上記ステップS26
により算出した全気筒差回転加重平均値AVEDNn-1
との差(DELNEn-1−AVEDNn-1)を用い加重
平均して、該当気筒#n-1に対する差回転補正値AVE
DNXn-1とし(AVEDNXn-1←(7/8)×AV
EDNXn-5+(1/8)×(DELNEn-1−AVE
DNn-1))、ステップS31へ進む。
Next, at step S27, the cylinder # n-1 (four cylinder engine in the present embodiment, the cylinder # n-1 and the cylinder # n-5 are the same cylinder) calculated in the present routine five times before. The differential rotation correction value AVEDNXn-5 for the cylinder # n-1 stored in the work area is stored in the work area.
The above-described step S26 is performed when ELNEn-1 and the previous routine are executed.
AVENn-1
Weighted average using the difference (DELNEn-1 -AVEDNn-1) with respect to the difference rotation correction value AVE for the corresponding cylinder # n-1.
DNXn-1 (AVEDNXn-1 ← (7/8) × AV
EDNXn-5 + (1/8) × (DELNEn-1-AVE
DNn-1)), and proceeds to the step S31.

【0096】そして、次回(3回後の本ルーチン実行
時)に該当気筒#n-1(#n)に対する補正差回転DE
LNAn-1(DELNAn)を算出する際に、この差回
転補正値AVEDNXn-1(AVEDNXn-4)が用い
られ、差回転からクランクロータ31の各突起31a,
31b,31cの位置及び形状等の製造上の許容誤差、
クランク角センサ32のエンジン1への取付位置の許容
誤差等の影響が除去される。
Then, the next time (when this routine is executed three times later), the corrected differential rotation DE for the corresponding cylinder # n-1 (#n) will be described.
When calculating LNAn-1 (DELNAn), the difference rotation correction value AVEDNXn-1 (AVEDNXn-4) is used, and the projections 31a,
Manufacturing tolerances such as the position and shape of 31b and 31c,
Influences such as a permissible error in the mounting position of the crank angle sensor 32 to the engine 1 are eliminated.

【0097】一方、上記ステップS24で、FLGMIS
n-1=1で該当気筒#n-1に失火が生じているときに
は、ステップS24からステップS28へ進み、該当気筒#n
-1の失火回数をカウントするための失火回数カウント値
MISCNTn-1をカウントアップし、ステップS29
で、前回ルーチン実行時の全気筒差回転加重平均値AV
EDNn-1を今回の全気筒差回転加重平均値AVEDN
nとし(AVEDNn←AVEDNn-1)、続くステッ
プS30で、5回前の本ルーチンで算出した差回転補正値
AVEDNXn-5を、当該気筒#n-1に対する差回転補
正値AVEDNn-1とし(AVEDNXn-1←AVED
NXn-5)、ステップS31へ進む。
On the other hand, in step S24, FLGMIS
If n-1 = 1 and a misfire has occurred in the corresponding cylinder # n-1, the process proceeds from step S24 to step S28, in which the corresponding cylinder #n
The misfire frequency count value MISCNTn-1 for counting the misfire frequency of -1 is counted up, and step S29 is performed.
And the weighted average value AV of all cylinder difference rotations at the time of execution of the previous routine
EDNn-1 is the weighted average value of all cylinder differential rotation AVEDN
n (AVEDNn ← AVEDNn−1), and in a succeeding step S30, the differential rotation correction value AVENDXn−5 calculated in the present routine five times before is set as the differential rotation correction value AVEDNn−1 for the relevant cylinder # n−1 (AVEDNXn). -1 ← AVED
NXn-5), and it proceeds to step S31.

【0098】また、上記ステップS25において、MIN
DN≧DELNEn-1−AVEDNn-1のときには、差
回転DELNEn-1に含まれるクランクロータ31、ク
ランク角センサ32に係る誤差の影響が無視できると判
断し、また、DELNEn-1−AVEDNn-1≧MAX
DNで回転変動が大きいときには、スナッチ等による回
転変動と判断して、同様に、上記ステップS29,S30を経
て、ステップS31へ進む。
In step S25, MIN
When DN ≧ DELNEn−1−AVEDnn−1, it is determined that the influence of the error relating to the crank rotor 31 and the crank angle sensor 32 included in the differential rotation DELNEn−1 is negligible, and DELNEn−1−AVEDnn−1 ≧ MAX
When the rotation fluctuation is large in DN, it is determined that the rotation fluctuation is caused by snatching or the like, and similarly, the processing proceeds to step S31 via steps S29 and S30.

【0099】そして、ステップS31以降の処理で、総合
的な失火判定を行う。
Then, in the processing after step S31, comprehensive misfire determination is performed.

【0100】ステップS31では、上記診断許可フラグF
LGDIAGを参照し、FLGDIAG=0で診断条件の不成立
により失火診断が禁止されているときには、ステップS3
7へジャンプする。
In step S31, the diagnosis permission flag F
Referring to LGDIAG, if FLGDIAG = 0 and the misfire diagnosis is prohibited due to the failure of the diagnostic conditions, step S3
Jump to 7.

【0101】一方、FLGDIAG=1で、失火診断が許可
されているときには、ステップS32へ進み、カウント値
CRACNTをカウントアップし、続くステップS33
で、このカウント値CRACNTを設定値(2000)
と比較し、設定値に達したか否かを判断する。すなわ
ち、FLGDIAG=1で上記単発失火診断サブルーチンに
よって気筒毎の失火診断が上記設定値により定まる設定
回数(2000回)行われる都度、後述の図6に示す失
火判定サブルーチンによって総合的な失火判定を行う。
On the other hand, when FLGDIAG = 1 and misfire diagnosis is permitted, the flow advances to step S32 to count up the count value CRACNT, and then to step S33.
Then, the count value CRACNT is set to a set value (2000).
To determine whether the set value has been reached. That is, whenever FLGDIAG = 1, the misfire diagnosis for each cylinder is performed a set number of times (2000 times) determined by the above set value by the single-shot misfire diagnosis subroutine, a comprehensive misfire determination is performed by a misfire determination subroutine shown in FIG. .

【0102】そして、CRACNT<2000で設定回
数に未だ達していないときには、総合失火判定を行うこ
となく、ステップS37へジャンプし、CRACNT≧2
000で気筒毎の失火診断が設定回数(2000回)に
達したとき、ステップS34へ進む。そして、ステップS34
で、図6に示す失火判定サブルーチンを実行し、総合的
な失火判定を行う。
If CRACNT <2000 and the set number of times has not yet been reached, the routine jumps to step S37 without making a comprehensive misfire determination, and CRACNT ≧ 2.
When the misfire diagnosis for each cylinder has reached the set number of times (2000 times) at 000, the process proceeds to step S34. Then, step S34
Then, the misfire determination subroutine shown in FIG. 6 is executed to make a comprehensive misfire determination.

【0103】この失火判定サブルーチンでは、先ずステ
ップS51で、上記ステップS28においてカウントアップさ
れた各気筒毎の失火回数MISCNT#1〜#4を合計して
全気筒失火回数合計値ΣMISCNT#1〜#4を算出し、
この間の失火率MISPCNTを算出する(MISPC
NT←ΣMISCNT#1〜#4×100/2000)。
In the misfire determination subroutine, first, in step S51, the misfire counts MISCNT # 1 to # 4 for each cylinder counted up in step S28 are summed up, and the total value of all cylinder misfire counts ΣMISCNT # 1 to # 4 Is calculated,
The misfire rate MISPCNT during this period is calculated (MISPC
NT ← ΣMISCNT # 1 to # 4 × 100/2000).

【0104】次いでステップS52で、上記失火率MIS
PCNTを設定値LMSCNTと比較することで、恒常
的に失火が生じているか否かを判断する。そして、MI
SPCNT≧LMSCNTで、恒常的に失火が生じてい
るときには、失火によるエンジン異常と判断してステッ
プS53へ進み、上記失火率MISPCNTをバックアッ
プRAM44の所定アドレスにストアする。
Next, in step S52, the misfire rate MIS
By comparing PCNT with the set value LMSCNT, it is determined whether or not misfire has occurred constantly. And MI
If SPCNT ≧ LMSCNT and a misfire occurs constantly, it is determined that the engine is abnormal due to the misfire, and the process proceeds to step S 53, where the misfire rate MISPCNT is stored at a predetermined address in the backup RAM 44.

【0105】続くステップS54では、バックアップRA
M44にストアされ失火によるエンジン異常と判断され
たときセットされる1回目失火判定NGフラグFLGNG
1を参照し、FLGNG1=1で既に失火によるエンジン異
常と判断されているときには、ステップS55へ進み、バ
ックアップRAM44にストアされ失火によるエンジン
異常と確定する2回目失火判定NGフラグFLGNG2を
セットし(FLGNG2←1)、ステップS56へ進む。この
失火のエンジン異常の確定により上記警報ランプ38を
点灯或いは点滅し、失火によるエンジン異常を運転者に
報知する。すなわち、2回連続して恒常的な失火が生じ
ていると判断されるときに、失火によるエンジン異常と
確定することで、失火診断の信頼性を向上する。
In the following step S54, the backup RA
First misfire determination NG flag FLGNG stored in M44 and set when it is determined that the engine is abnormal due to misfire
Referring to FIG. 1, if FLGNG1 = 1 and it is already determined that the engine is abnormal due to a misfire, the process proceeds to step S55, in which a second misfire determination NG flag FLGNG2 stored in the backup RAM 44 and determined to be an engine abnormality due to the misfire is set (FLGNG2). ← 1), proceed to step S56. The alarm lamp 38 is turned on or blinks when the misfiring engine abnormality is determined, and the driver is notified of the misfiring engine abnormality. That is, when it is determined that a permanent misfire has occurred twice consecutively, the reliability of the misfire diagnosis is improved by determining that the engine is abnormal due to the misfire.

【0106】また、上記ステップS54で、FLGNG1=0
で失火によるエンジン異常と判断される初回のときに
は、ステップS56へジャンプする。
In step S54, FLGNG1 = 0.
At the first time when it is determined that the engine is abnormal due to misfire, the process jumps to step S56.

【0107】そして、ステップS56で、1回目失火判定
NGフラグFLGNG1をセットし(FLGNG1←1)、続
くステップS57で、失火異常判定解除を判断するための
異常なしの判定回数カウント値CNTOKをクリアして
(CNTOK←0)、失火診断ルーチン(図4)のステッ
プ35へ進む。
Then, in step S56, the first-time misfire determination NG flag FLGNG1 is set (FLGNG1 ← 1), and in the following step S57, the count value CNTOK for determining the absence of abnormality for determining the cancellation of the misfire abnormality determination is cleared. (CNTOK ← 0), the routine proceeds to step 35 of the misfire diagnosis routine (FIG. 4).

【0108】一方、上記ステップS52において、MIS
PCNT<LMSCNTのときには、恒常的な失火が生
じておらず、或いは、加減速等に伴う一時的な失火と判
断して、ステップS58へ進み、異常なしの判定回数カウ
ント値CNTOKをカウントアップする(CNTOK←CN
TOK+1)。続くステップS59では、上記判定回数カウ
ント値CNTOKを設定値(80)と比較することで、失
火異常の判定の解除条件を判断する。
On the other hand, in step S52, the MIS
If PCNT <LMSCNT, it is determined that no permanent misfire has occurred or that a temporary misfire has occurred due to acceleration or deceleration, etc., and the process proceeds to step S58, where the count value CNTOK for determining the absence of abnormality is counted up ( CNTOK ← CN
TOK + 1). In a succeeding step S59, the condition for canceling the misfire abnormality determination is determined by comparing the determination count value CNTOK with a set value (80).

【0109】そして、CNTOK<80のときには、失火
異常の判定解除条件が未だ成立していないと判断し、そ
のまま失火診断ルーチンのステップS35へ進む。
When CNTOK <80, it is determined that the condition for canceling the misfire abnormality has not been satisfied, and the routine proceeds directly to step S35 of the misfire diagnosis routine.

【0110】また、CNTOK≧80で異常なしの判定が
設定値により定まる設定回数(80回)継続したとき、
失火異常なしと確定し、失火異常の判定解除条件の成立
により、ステップS59からステップS60へ進み、ステップ
S60〜S62で、1回目失火判定NGフラグFLGNG1,2
回目失火判定NGフラグFLGNG2,失火率MISPC
NTをそれぞれクリアし、上記ステップS57へ進んで、
上記判定回数カウント値CNTOKをクリアして、失火診
断ルーチンのステップS35へ進む。
When CNTOK ≧ 80 and the judgment of no abnormality continues for the set number of times (80 times) determined by the set value,
It is determined that there is no misfire abnormality, and the process proceeds from step S59 to step S60 when the condition for canceling the misfire abnormality determination is satisfied.
In S60 to S62, the first misfire determination NG flag FLGNG1,2
Second misfire determination NG flag FLGNG2, misfire rate MISPC
Clear each NT, proceed to the above step S57,
The above-mentioned determination count value CNTOK is cleared, and the routine proceeds to step S35 of the misfire diagnosis routine.

【0111】以上の失火判定サブルーチンの終了によ
り、失火診断ルーチンのステップS35へ進むと(図4参
照)、次回の総合失火判定に備え、上記カウント値CR
ACNTをクリアし、続くステップS36で、各気筒毎の
失火回数MISCNT#1〜#4をそれぞれクリアして、ス
テップS37へ進む。
When the misfire determination subroutine ends and the process proceeds to step S35 of the misfire diagnosis routine (see FIG. 4), the count value CR is prepared for the next total misfire determination.
The ACNT is cleared, and in the following step S36, the number of misfires MISCNT # 1 to # 4 for each cylinder is cleared, and the process proceeds to step S37.

【0112】そして、ステップS37で、上記各データを
モニタ用データとしてストアし、ルーチンを抜ける。
Then, in step S37, the above data is stored as monitor data, and the routine exits.

【0113】なお、本実施の形態においては、エンジン
回転状態量としてエンジン回転数を用い、所定周期毎の
エンジン回転変化量に基づいて失火を検出するようにし
ているが、本発明はこれに限定されず、エンジン回転数
に代えてエンジン回転周期、エンジン回転角速度、或い
はエンジン回転角加速度を用いるようにしてもよい。
In the present embodiment, the engine speed is used as the engine speed state quantity, and the misfire is detected based on the engine speed change amount for each predetermined period. However, the present invention is not limited to this. Instead, an engine rotation cycle, an engine rotation angular velocity, or an engine rotation angular acceleration may be used instead of the engine rotation speed.

【0114】[0114]

【発明の効果】以上説明したように請求項1記載の発明
によれば、所定クランク角毎にエンジン回転状態量の変
化を検出すると共に、現在の燃焼行程気筒を判別し、1
燃焼行程前の気筒を失火診断対象気筒と判断する。そし
て、失火を判定するための失火判定レベル、及び、該失
火判定レベルよりも大きい値で失火以外の要因による回
転状態量の変化を判定するための誤判定防止判定レベル
を、それぞれエンジン運転状態に基づいて設定し、失火
診断対象気筒に対するエンジン回転状態量の変化が、マ
イナスの失火判定レベル以下、且つマイナスの誤判定防
止判定レベル以上であり、且つ、現在の燃焼行程気筒に
対するエンジン回転状態量の変化が失火判定レベル以上
のとき、失火診断対象気筒の失火と判断するので、失火
診断対象気筒のエンジン回転状態量の変化が失火以外の
要因すなわちスナッチや外乱等による回転変動によるも
のか否かを、誤判定防止判定レベルとの比較により直接
判断することができ、失火診断対象気筒に対するエンジ
ン回転状態量の変化がマイナスの誤判定防止判定レベル
未満のときには、失火以外の要因すなわちスナッチや外
乱等によるエンジン回転変動と判断して、このときには
失火診断を除外することができる。
As described above, according to the first aspect of the present invention, a change in the engine rotation state quantity is detected at every predetermined crank angle, and the current combustion stroke cylinder is determined.
The cylinder before the combustion stroke is determined to be the cylinder to be misfired. Then, a misfire determination level for determining misfire and a misjudgment prevention determination level for determining a change in the rotational state amount due to a factor other than misfire with a value larger than the misfire determination level are set to the engine operating state, respectively. The change of the engine rotation state amount for the misfire diagnosis target cylinder is equal to or less than the negative misfire determination level and equal to or greater than the negative misjudgment prevention determination level, and the engine rotation state amount for the current combustion stroke cylinder is set. When the change is equal to or higher than the misfire determination level, it is determined that the misfire diagnosis target cylinder is misfired.Therefore, it is determined whether or not the change in the engine rotational state quantity of the misfire diagnosis target cylinder is due to rotation fluctuation due to a factor other than misfire, that is, a snatch or disturbance. , Which can be directly determined by comparison with the erroneous determination prevention determination level, and the engine rotational state quantity for the misfire diagnosis target cylinder When the change is less than the negative of erroneous determination prevention determination level, it is determined that the engine rotational fluctuations due to factors other than misfire i.e. snatch or disturbance, at this time may be excluded misfire diagnostics.

【0115】また、失火診断対象気筒に対するエンジン
回転状態量の変化がマイナスの誤判定防止判定レベル以
上のときには、この回転状態量の変化がスナッチや外乱
等によるものではないと判断して、失火診断対象気筒に
対するエンジン回転状態量の変化がマイナスの失火判定
レベル以下、且つ、現在の燃焼行程気筒に対するエンジ
ン回転状態量の変化が失火判定レベル以上の場合のみ、
失火診断対象気筒の失火と判断するため、従って、該当
失火診断対象気筒に対する失火を適正に診断することが
可能となり、失火以外のスナッチや外乱等に起因する回
転変動による誤診断を確実に防止して失火診断精度をよ
り向上することができる。
If the change in the engine rotational state quantity for the cylinder subject to misfire diagnosis is equal to or greater than the negative erroneous determination prevention determination level, it is determined that the change in the rotational state quantity is not due to snatching or disturbance, and the misfire diagnosis is made. Only when the change in the engine rotation state quantity for the target cylinder is equal to or less than the negative misfire determination level and the change in the engine rotation state quantity for the current combustion stroke cylinder is equal to or greater than the misfire determination level,
Since it is determined that the misfiring diagnosis target cylinder is misfiring, it is possible to properly diagnose misfiring for the relevant misfiring diagnosis target cylinder, and to reliably prevent erroneous diagnosis due to rotation fluctuations caused by snatches and disturbances other than misfiring. Thus, the misfire diagnosis accuracy can be further improved.

【0116】さらに、従来例に対して、誤判定防止判定
レベルの設定処理と、この誤判定防止判定レベルに対す
るエンジン回転状態量の変化の比較処理とを付加するの
みで、失火診断精度の向上を簡単に実現することができ
る効果を有する。
Further, the accuracy of misfire diagnosis can be improved only by adding a process of setting an erroneous determination prevention determination level and a process of comparing a change in the amount of engine rotation with respect to the erroneous determination prevention determination level. It has an effect that can be easily realized.

【0117】請求項2記載の発明によれば、気筒間にお
ける所定クランク角毎にエンジン回転状態量を検出し、
前回検出したエンジン回転状態量から今回検出したエン
ジン回転状態量を減算して回転状態量の差を算出すると
共に、現在の燃焼行程気筒を判別し、1燃焼行程前の気
筒を失火診断対象気筒と判断する。そして、現在の燃焼
行程気筒の差回転状態量から加重平均による統計処理に
よって1サイクル前に算出した当該気筒に対する差回転
状態量補正値を減算して、当該気筒に対する補正差回転
状態量を算出し、この補正差回転状態量から1燃焼行程
前の失火診断対象気筒の補正差回転状態量を減算して当
該気筒に対する補正差回転状態量の変化を算出する。そ
して、失火を判定するための失火判定レベル、及び、該
失火判定レベルよりも大きい値で失火以外の要因による
回転状態量の変化を判定するための誤判定防止判定レベ
ルを、それぞれエンジン運転状態に基づいて設定し、1
燃焼行程前の失火診断対象気筒に対する補正差回転状態
量の変化が、マイナスの失火判定レベル以下、且つマイ
ナスの誤判定防止判定レベル以上であり、且つ、現在の
燃焼行程気筒に対するエンジン回転状態量の変化が失火
判定レベル以上のとき、失火診断対象気筒の失火と判断
するので、失火診断の際に、エンジン回転状態量を検出
する際の基となるクランク角を検出するためのクランク
ロータやクランク角センサの製造許容誤差、取付許容誤
差等の影響を排除した補正差回転状態量を用い、この補
正差回転状態量の変化を失火判定レベル及び誤判定防止
判定レベルと比較し、前後の気筒の補正差回転状態量の
変化によって失火診断対象気筒に対する失火を判断する
ため、クランクロータやクランク角センサの許容誤差の
排除と、スナッチや外乱等による誤診断の防止との相乗
効果によって、更に失火診断精度を向上することができ
る。
According to the second aspect of the present invention, the engine rotation state amount is detected at every predetermined crank angle between the cylinders,
The engine rotation state quantity detected this time is subtracted from the engine rotation state quantity detected last time to calculate the difference in the rotation state quantity, the current combustion stroke cylinder is determined, and the cylinder one combustion stroke earlier is set as the misfire diagnosis target cylinder. to decide. Then, by subtracting the differential rotation state amount correction value for the cylinder calculated one cycle ago by statistical processing using a weighted average from the current rotation stroke amount of the cylinder in the combustion stroke cylinder, a corrected differential rotation state amount for the cylinder is calculated. Then, the change in the corrected differential rotation state amount for the cylinder is calculated by subtracting the corrected differential rotation state amount of the misfire diagnosis target cylinder one combustion stroke before from the corrected differential rotation state amount. Then, a misfire determination level for determining misfire and a misjudgment prevention determination level for determining a change in the rotational state amount due to a factor other than misfire with a value larger than the misfire determination level are set to the engine operating state, respectively. Set based on 1
The change in the corrected difference rotational state amount for the misfire diagnosis target cylinder before the combustion stroke is equal to or less than the negative misfire determination level and equal to or greater than the negative misjudgment prevention determination level, and the engine rotational state amount for the current combustion stroke cylinder is changed. When the change is equal to or greater than the misfire determination level, it is determined that the cylinder to be misfired is misfired.Therefore, in the misfire diagnosis, a crank rotor or a crank angle for detecting a crank angle which is a basis for detecting an engine rotation state quantity. Using the corrected differential rotation state amount excluding the effects of the sensor manufacturing tolerance and the mounting tolerance error, the change in the corrected differential rotation state amount is compared with the misfire determination level and the erroneous determination prevention determination level to correct the front and rear cylinders. In order to determine the misfire of the cylinder for which misfire is to be diagnosed based on the change in the differential rotation amount, the tolerance of the crank rotor and the crank angle sensor must be eliminated and snatching must be performed. By the synergistic effect with the prevention of erroneous diagnosis due to disturbance or the like, it is possible to further improve the misfire diagnostic accuracy.

【0118】この際、請求項3記載の発明では、上記回
転状態量としてエンジン回転数を用いるので、上記請求
項1或いは請求項2記載の発明を、従来のエンジンの失
火診断装置に極めて容易に組み込むことができ、失火診
断精度を向上することができる効果を有する。
In this case, in the invention according to claim 3, the engine speed is used as the rotational state quantity, so that the invention described in claim 1 or 2 can be applied to a conventional engine misfire diagnosis apparatus very easily. It can be incorporated and has the effect of improving the misfire diagnosis accuracy.

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

【図1】本発明の基本構成図FIG. 1 is a basic configuration diagram of the present invention.

【図2】気筒判別/エンジン回転数算出ルーチンのフロ
ーチャート
FIG. 2 is a flowchart of a cylinder discrimination / engine speed calculation routine.

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

【図4】失火診断ルーチンのフローチャート(続き)FIG. 4 is a flowchart of a misfire diagnosis routine (continued).

【図5】単発失火診断サブルーチンのフローチャートFIG. 5 is a flowchart of a single-shot misfire diagnosis subroutine.

【図6】失火判定サブルーチンのフローチャートFIG. 6 is a flowchart of a misfire determination subroutine.

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

【図8】差回転の挙動を示すタイミングチャートFIG. 8 is a timing chart showing a differential rotation behavior.

【図9】補正差回転の挙動を示すタイミングチャートFIG. 9 is a timing chart showing the behavior of the correction differential rotation.

【図10】失火発生時の補正差回転変化の挙動を示すタ
イミングチャート
FIG. 10 is a timing chart showing a behavior of a change in the correction difference rotation when a misfire occurs.

【図11】差回転、補正差回転、及び補正差回転変化の
算出関係を示す説明図
FIG. 11 is an explanatory diagram showing a calculation relationship of a differential rotation, a corrected differential rotation, and a corrected differential rotation change.

【図12】失火判定レベルマップ及び誤判定防止判定レ
ベルマップの説明図
FIG. 12 is an explanatory diagram of a misfire determination level map and an erroneous determination prevention determination level map.

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

【図14】スナッチ発生時及び失火発生時の補正差回転
変化と、誤判定防止判定レベル及び失火判定レベルとの
関係を示す説明図
FIG. 14 is an explanatory diagram showing a relationship between a change in correction difference rotation when a snatch occurs and a misfire occurs, and an erroneous determination prevention determination level and a misfire determination level.

【図15】エンジンの全体概略図FIG. 15 is an overall schematic diagram of an engine.

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

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

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

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

1 エンジン 32 クランク角センサ 40 電子制御装置(回転状態量変化検出手段、気筒判
別手段、失火判定レベル設定手段、誤判定防止判定レベ
ル設定手段、失火判別手段、エンジン回転状態量検出手
段、差回転状態量算出手段、補正差回転状態量算出手
段、補正差回転状態量変化算出手段) NE エンジン回転数(エンジン回転状態量;エンジン
運転状態) #n 現在の燃焼行程気筒 #n-1 失火診断対象気筒(1燃焼行程前の気筒) LVLMISH 失火判定レベル Tp 基本燃料噴射パルス幅(エンジン運転状態) LVLMISL 誤判定防止判定レベル −LVLMISH マイナス失火判定レベル −LVLMISL マイナス誤判定防止判定レベル MNXn-1 1燃焼行程前の気筒#n-1に対応するエン
ジン回転数(前回検出したエンジン回転状態量) MNXn 現在の燃焼行程気筒#nに対応するエンジン
回転数(今回検出したエンジン回転状態量) DELNE 差回転(エンジン回転状態量の変化;回転
状態量の差) DELNEn 現在の燃焼行程気筒#nの差回転(現在
の燃焼行程気筒の差回転状態量) AVEDNX 差回転補正値(差回転状態量補正値) DELNA 補正差回転(補正差回転状態量) DELNAn 現在の燃焼行程気筒#nの補正差回転
(現在の燃焼行程気筒の補正差回転状態量) DELNAn-1 1燃焼行程前の失火診断対象気筒#n
-1の補正差回転(1燃焼行程前の失火診断対象気筒の補
正差回転状態量) DDNEA 補正差回転変化(補正差回転状態量の変
化) DDNEAn-1 失火診断対象気筒#n-1に対する補正
差回転変化(1燃焼行程前の失火診断対象気筒に対する
補正差回転状態量の変化) DDNEAn 現在の燃焼行程気筒#nに対する補正差
回転変化(現在の燃焼行程気筒に対するエンジン回転状
態量の変化)
DESCRIPTION OF SYMBOLS 1 Engine 32 Crank angle sensor 40 Electronic control device (rotational state amount change detecting means, cylinder determining means, misfire determination level setting means, misjudgment prevention determining level setting means, misfire determining means, engine rotational state quantity detecting means, differential rotation state Amount calculating means, correction difference rotation state quantity calculation means, correction difference rotation state quantity change calculation means) NE engine speed (engine rotation state quantity; engine operating state) #n current combustion stroke cylinder # n-1 misfire diagnosis target cylinder (Cylinder before one combustion stroke) LVLMISH misfire determination level Tp Basic fuel injection pulse width (engine operating state) LVLMISL misjudgment prevention judgment level -LVLMISH minus misfire judgment level -LVLMISL minus misjudgment prevention judgment level MNXn-1 one combustion stroke before Engine speed corresponding to cylinder # n-1 (engine rotation state detected last time) Amount) MNXn Engine speed (currently detected engine rotation amount) corresponding to current combustion stroke cylinder #n DELNE Differential rotation (change in engine rotation state amount; difference in rotation state amount) DELNEn Current combustion stroke cylinder #n Differential rotation (current differential rotation state amount of combustion stroke cylinder) AVEDNX differential rotation correction value (differential rotation state correction value) DELNA correction differential rotation (corrected differential rotation state amount) DELNAn Correction difference of current combustion stroke cylinder #n Rotation (current difference rotational state quantity of the combustion stroke cylinder) DELNAn-1 Misfire diagnosis target cylinder #n one combustion stroke before
Correction differential rotation of -1 (correction differential rotation state amount of cylinder subject to misfire diagnosis before one combustion stroke) DDNEA Correction differential rotation change (change of correction differential rotation state amount) DDNEAn-1 Correction for misfire diagnosis target cylinder # n-1 Change in differential rotation (change in corrected differential rotation state quantity for cylinder subject to misfire diagnosis before one combustion stroke) DDNEAn Change in corrected differential rotation for current combustion stroke cylinder #n (change in engine rotation state quantity for current combustion stroke cylinder)

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】所定クランク角毎のエンジン回転状態量の
変化を検出する回転状態量変化検出手段と、 現在の燃焼行程気筒を判別し、1燃焼行程前の気筒を失
火診断対象気筒と判断する気筒判別手段と、 失火を判定するための失火判定レベルをエンジン運転状
態に基づき設定する失火判定レベル設定手段と、 上記失火判定レベルよりも大きい値で失火以外の要因に
よる回転状態量の変化を判定するための誤判定防止判定
レベルをエンジン運転状態に基づき設定する誤判定防止
判定レベル設定手段と、 失火診断対象気筒に対する上記エンジン回転状態量の変
化が、マイナスの上記失火判定レベル以下、且つマイナ
スの上記誤判定防止判定レベル以上であり、且つ、現在
の燃焼行程気筒に対するエンジン回転状態量の変化が上
記失火判定レベル以上のとき、失火診断対象気筒の失火
と判断する失火判別手段とを備えたことを特徴とするエ
ンジンの失火診断装置。
The present invention is characterized in that a rotation state quantity change detecting means for detecting a change in an engine rotation state quantity for each predetermined crank angle, a current combustion stroke cylinder is determined, and a cylinder one combustion stroke before is determined as a misfire diagnosis target cylinder. Cylinder discrimination means, misfire judgment level setting means for setting a misfire judgment level for judging misfire based on the engine operating state, and judging a change in the rotational state amount due to factors other than misfire with a value larger than the misfire judgment level Error determination prevention determination level setting means for setting an error determination prevention determination level for performing a misfire determination based on the engine operating state, and a change in the engine rotation state amount for the misfire diagnosis target cylinder is equal to or less than the negative misfire determination level, and is negative. The change in the amount of engine rotation with respect to the current combustion stroke cylinder is equal to or greater than the erroneous determination prevention determination level and is equal to or less than the misfire determination level. An engine misfire diagnosis device comprising: a misfire determining means for determining that a misfire has occurred in a cylinder subject to misfire diagnosis.
【請求項2】気筒間における所定クランク角毎のエンジ
ン回転状態量を検出するエンジン回転状態量検出手段
と、 前回検出したエンジン回転状態量から今回検出したエン
ジン回転状態量を減算して回転状態量の差を算出する差
回転状態量算出手段と、 現在の燃焼行程気筒を判別し、1燃焼行程前の気筒を失
火診断対象気筒と判断する気筒判別手段と、 現在の燃焼行程気筒の差回転状態量から加重平均による
統計処理によって1サイクル前に算出した当該気筒に対
する差回転状態量補正値を減算して、当該気筒に対する
補正差回転状態量を算出する補正差回転状態量算出手段
と、 上記補正差回転状態量から1燃焼行程前の失火診断対象
気筒の補正差回転状態量を減算して当該気筒に対する補
正差回転状態量の変化を算出する補正差回転状態量変化
算出手段と、 失火を判定するための失火判定レベルをエンジン運転状
態に基づき設定する失火判定レベル設定手段と、 上記失火判定レベルよりも大きい値で失火以外の要因に
よる回転状態量の変化を判定するための誤判定防止判定
レベルをエンジン運転状態に基づき設定する誤判定防止
判定レベル設定手段と、 1燃焼行程前の上記失火診断対象気筒に対する補正差回
転状態量の変化が、マイナスの上記失火判定レベル以
下、且つマイナスの上記誤判定防止判定レベル以上であ
り、且つ、現在の燃焼行程気筒に対するエンジン回転状
態量の変化が上記失火判定レベル以上のとき、失火診断
対象気筒の失火と判断する失火判別手段とを備えたこと
を特徴とするエンジンの失火診断装置。
2. An engine rotation state amount detecting means for detecting an engine rotation state amount at each predetermined crank angle between cylinders, and a rotation state amount by subtracting a currently detected engine rotation state amount from a previously detected engine rotation state amount. Differential rotation state quantity calculation means for calculating the difference between the cylinders, cylinder determination means for determining the current combustion stroke cylinder, and determining the cylinder one combustion stroke before as the misfire diagnosis target cylinder, and current difference rotation state of the combustion stroke cylinder A correction difference rotation state amount calculating means for subtracting the difference rotation state amount correction value for the cylinder calculated one cycle ago by a statistical process using a weighted average from the amount to calculate a correction difference rotation state amount for the cylinder; A corrected differential rotation state quantity for subtracting the corrected differential rotation state quantity of the cylinder subject to misfire diagnosis one combustion stroke before from the differential rotation state quantity to calculate a change in the corrected differential rotation state quantity for the cylinder concerned A change calculation means; a misfire determination level setting means for setting a misfire determination level for determining misfire based on the engine operating state; and determining a change in rotation state amount due to a factor other than misfire with a value larger than the misfire determination level. Means for setting an erroneous determination prevention determination level based on the engine operating state, and a correction difference rotation state quantity for the cylinder subject to misfire diagnosis one combustion stroke before which the change in the rotation amount is minus. A misfire determination that determines that a misfire diagnosis target cylinder is misfired when the engine misfire determination cylinder level is equal to or less than the negative misjudgment prevention determination level and the change in the engine rotation state quantity for the current combustion stroke cylinder is equal to or greater than the misfire determination level. And a means for diagnosing misfire of an engine.
【請求項3】上記エンジン回転状態量は、エンジン回転
数であることを特徴とする請求項1或いは請求項2記載
のエンジンの失火診断装置。
3. The engine misfire diagnosis apparatus according to claim 1, wherein the engine rotation state quantity is an engine speed.
JP8309676A 1996-11-20 1996-11-20 Misfire diagnostic device for engine Pending JPH10148153A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8309676A JPH10148153A (en) 1996-11-20 1996-11-20 Misfire diagnostic device for engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8309676A JPH10148153A (en) 1996-11-20 1996-11-20 Misfire diagnostic device for engine

Publications (1)

Publication Number Publication Date
JPH10148153A true JPH10148153A (en) 1998-06-02

Family

ID=17995939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8309676A Pending JPH10148153A (en) 1996-11-20 1996-11-20 Misfire diagnostic device for engine

Country Status (1)

Country Link
JP (1) JPH10148153A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060072844A (en) * 2004-12-24 2006-06-28 현대자동차주식회사 Method for misfire detection of engine in vehicle
JP2009281189A (en) * 2008-05-20 2009-12-03 Nippon Soken Inc Device for determining misfire of internal combustion engine, vehicle, and method for determining misfire of internal combustion engine
JP2010169079A (en) * 2008-12-25 2010-08-05 Honda Motor Co Ltd Engine load detecting device and engine load detecting method
US7958778B2 (en) 2007-10-26 2011-06-14 Toyota Jidosha Kabushiki Kaisha Multiple cylinder internal combustion engine misfiring cylinder identifying apparatus and misfiring cylinder identifying method
EP3480445A1 (en) * 2017-11-02 2019-05-08 Denso Corporation Unequal interval combustion engine misfire determination device and vehicle
EP3480446A1 (en) * 2017-11-02 2019-05-08 Denso Corporation Engine misfire determination device and vehicle

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060072844A (en) * 2004-12-24 2006-06-28 현대자동차주식회사 Method for misfire detection of engine in vehicle
US7958778B2 (en) 2007-10-26 2011-06-14 Toyota Jidosha Kabushiki Kaisha Multiple cylinder internal combustion engine misfiring cylinder identifying apparatus and misfiring cylinder identifying method
JP2009281189A (en) * 2008-05-20 2009-12-03 Nippon Soken Inc Device for determining misfire of internal combustion engine, vehicle, and method for determining misfire of internal combustion engine
JP2010169079A (en) * 2008-12-25 2010-08-05 Honda Motor Co Ltd Engine load detecting device and engine load detecting method
CN102589888A (en) * 2008-12-25 2012-07-18 本田技研工业株式会社 Engine load detection apparatus and engine load detection method
TWI464379B (en) * 2008-12-25 2014-12-11 Honda Motor Co Ltd Engine load detection device and engine load detection method
EP3480445A1 (en) * 2017-11-02 2019-05-08 Denso Corporation Unequal interval combustion engine misfire determination device and vehicle
EP3480446A1 (en) * 2017-11-02 2019-05-08 Denso Corporation Engine misfire determination device and vehicle
JP2019085890A (en) * 2017-11-02 2019-06-06 株式会社デンソー Engine misfire determination device and vehicle
US10788397B2 (en) 2017-11-02 2020-09-29 Denso Corporation Engine misfire determination device and vehicle
US10794314B2 (en) 2017-11-02 2020-10-06 Denso Corporation Unequal interval combustion engine misfire determination device and vehicle

Similar Documents

Publication Publication Date Title
JP3357091B2 (en) Engine misfire detection method
US5426587A (en) Misfire discriminating method for an engine
US5808186A (en) Method for detecting misfire by fluctuation in crankshaft rotation
US5870688A (en) Misfire diagnostic system for internal combustion engine
US5447061A (en) Misfire detection method for engine
JPH10110649A (en) Misfire detection device for internal combustion engine
JP2666232B2 (en) Device for detecting combustion state of internal combustion engine
US5503008A (en) Apparatus for diagnosing misfire of multi-cylinder internal combustion engine
JPH06146999A (en) Combustion condition detector for internal combustion engine
JPH10148153A (en) Misfire diagnostic device for engine
JPH0693919A (en) Combustion condition detection device for internal combustion engine
JP3859789B2 (en) Engine misfire diagnostic device
JP2943045B2 (en) Misfire diagnosis device for multi-cylinder internal combustion engine
JP2000328930A (en) Catalyst deterioration diagnostic system for engine
JPH10148154A (en) Fuel injection control device for engine
JPH07310585A (en) Diagnostic device for cylinder internal pressure sensor
JP2807736B2 (en) Device for determining combustion state of internal combustion engine
JP3357092B2 (en) Engine misfire detection method
JP2679468B2 (en) Misfire detection device for internal combustion engine
JP2001132532A (en) Misfire diagnosis device for engine
JPH10121991A (en) Failure diagnosing device for engine intake-air control system
JP3324795B2 (en) Engine misfire detection method
JP3284137B2 (en) Engine misfire detection method
JP4037485B2 (en) Engine catalyst deterioration diagnosis device
JPH0763110A (en) Combustion condition judgement device for internal combustion engine