JPH10148154A - Fuel injection control device for engine - Google Patents

Fuel injection control device for engine

Info

Publication number
JPH10148154A
JPH10148154A JP30967796A JP30967796A JPH10148154A JP H10148154 A JPH10148154 A JP H10148154A JP 30967796 A JP30967796 A JP 30967796A JP 30967796 A JP30967796 A JP 30967796A JP H10148154 A JPH10148154 A JP H10148154A
Authority
JP
Japan
Prior art keywords
misfire
cylinder
fuel injection
correction coefficient
engine
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
JP30967796A
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 JP30967796A priority Critical patent/JPH10148154A/en
Publication of JPH10148154A publication Critical patent/JPH10148154A/en
Pending legal-status Critical Current

Links

Landscapes

  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a fuel injection device enabling the engine to operate around a limit of air-fuel ratio or an allowable limit of fluctuation of engine speed due to misfire even immediately after an engine starts. SOLUTION: Misfire of each cylinder is judged by the difference in fluctuation of engine speed for every specified crank angle. When a misfire is detected, a constant of proportionality PKMF is added to a misfire-time correction factor by cylinder KMF #i for a cylinder #1 in question to be skipped in the plus direction (S62). The KMF #i is incorporated in a computing equation for the fuel injection pulse width of the fuel injection quantity for the cylinder #i, and when the misfire occurs, the injection quantity for the cylinder #i is increased to be corrected, and the misfire of the cylinder #i is eliminated. After the misfire is eliminated, the KMF #i is set to be gradually reduced by an integration constant IKMF (S66), and the increased amount of fuel for the cylinder #i by the KMF #i is gradually decreased. Since the fuel injection is increased to be corrected when the misfire is detected, the basic fuel injection quantity can be set, corresponding to the limit of air-fuel ratio around a theoretical air-fuel ratio which corresponds to an allowable limit of fluctuation of the engine speed due to misfire, even immediately after an engine starts.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、エンジン始動直後
においても、失火によるエンジン回転変動許容限界とな
る空燃比限界付近での運転を可能とし、排気エミッショ
ンの改善とドライバビリティの向上とを両立するエンジ
ンの燃料噴射制御装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention enables an engine to be operated near an air-fuel ratio limit, which is an allowable limit of engine rotation fluctuation due to a misfire, even immediately after the start of an engine, thereby achieving both improvement in exhaust emission and improvement in drivability. The present invention relates to a fuel injection control device for an engine.

【0002】[0002]

【従来の技術】従来から、エンジン始動直後においてド
ライバビリティの悪化を防止すると共に、エンジン回転
の安定化を図るため、エンジン温度を表す冷却水温度や
エンジン始動後の経過時間によって燃料増量補正係数を
設定し、この燃料増量補正係数によって燃料噴射量を増
量補正し、空燃比をリッチ方向に制御している。
2. Description of the Related Art Conventionally, in order to prevent deterioration of drivability immediately after starting an engine and to stabilize engine rotation, a fuel increase correction coefficient is set based on a cooling water temperature representing an engine temperature and an elapsed time after the engine is started. Then, the fuel injection amount is increased and corrected by the fuel increase correction coefficient to control the air-fuel ratio in the rich direction.

【0003】また、上記燃料増量補正係数は、エンジン
毎のばらつきを考慮して燃料増量率を増加するよう高め
に設定されており、このため、空燃比はよりリッチ方向
となる。
[0003] The fuel increase correction coefficient is set high so as to increase the fuel increase rate in consideration of the variation of each engine, so that the air-fuel ratio becomes more rich.

【0004】[0004]

【発明が解決しようとする課題】従って、エンジン始動
直後の空燃比オープンループ制御時には、排気エミッシ
ョンの改善に効果のある理論空燃比近辺での運転ができ
ない。
Therefore, during the air-fuel ratio open loop control immediately after the start of the engine, it is not possible to operate around the stoichiometric air-fuel ratio which is effective for improving the exhaust emission.

【0005】また逆に、エンジン始動直後において排気
ガスエミッションを改善するため理論空燃比近辺でエン
ジンを運転した場合には、失火によりエンジン回転数が
変動したりエンスト等を生じドライバビリティが悪化す
る。
[0005] Conversely, when the engine is operated near the stoichiometric air-fuel ratio in order to improve the exhaust gas emission immediately after the start of the engine, the engine speed fluctuates due to misfiring, engine stall and the like, and drivability deteriorates.

【0006】尚、特開平4−66750号公報には、ア
イドル時において、所定クランク角毎のエンジン回転数
変動差に基づいて気筒毎の燃焼状態を判断し、燃焼状態
が悪い気筒に対しては燃料噴射量を増量して燃焼状態の
改善を図り、他の気筒に対しては上記燃料増量分に対応
して燃料噴射量を分配減量することで、各気筒の燃焼状
態を均一化してアイドル回転変動を防止すると共に、こ
のときのトータル空燃比のオーバリーン或いはオーバリ
ッチを防止する技術が開示されている。
Japanese Unexamined Patent Publication No. Hei 4-66750 discloses that during idling, the combustion state of each cylinder is determined based on the engine speed fluctuation difference for each predetermined crank angle. The combustion state is improved by increasing the fuel injection amount, and by distributing and decreasing the fuel injection amount for the other cylinders in accordance with the increased fuel amount, the combustion state of each cylinder is made uniform and idle rotation is performed. A technique has been disclosed that prevents fluctuation and also prevents overlean or overrich of the total air-fuel ratio at this time.

【0007】しかしながら、上記先行例においては、ア
イドル時に、各気筒毎の燃焼状態に応じて各気筒毎に燃
料噴射量を一義的に継続して補正することで、各気筒の
燃焼状態を均一化し、アイドル回転変動を防止するよう
にしており、失火を生じる空燃比限界での運転に対処す
るものではない。
However, in the above-mentioned prior art, the combustion state of each cylinder is made uniform by continuously and uniquely correcting the fuel injection amount for each cylinder according to the combustion state of each cylinder at the time of idling. However, the present invention does not cope with the operation at the air-fuel ratio limit that causes misfire, because idling rotation fluctuation is prevented.

【0008】本発明は、上記事情に鑑み、エンジン始動
直後においても、失火によるエンジン回転変動許容限界
となる空燃比限界付近での運転を可能とし、排気エミッ
ションの改善とドライバビリティの向上とを両立するこ
とが可能なエンジンの燃料噴射制御装置を提供すること
を目的とする。
In view of the above circumstances, the present invention enables operation near the air-fuel ratio limit, which is an allowable limit of engine rotation fluctuation due to misfire, even immediately after engine start, thereby achieving both improvement in exhaust emission and improvement in drivability. It is an object of the present invention to provide an engine fuel injection control device capable of performing the following.

【0009】[0009]

【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明によるエンジンの燃料噴射制御
装置は、図1(a)の基本構成図に示すように、失火を
検出する失火検出手段と、失火を検出したとき、燃料噴
射量を増量補正する燃料噴射量補正手段とを備えたこと
を特徴とする。
According to a first aspect of the present invention, there is provided an engine fuel injection control apparatus for detecting a misfire as shown in FIG. 1 (a). It is characterized by comprising a detecting means and a fuel injection amount correcting means for increasing and correcting the fuel injection amount when a misfire is detected.

【0010】請求項2記載の発明によるエンジンの燃料
噴射制御装置は、図1(b)の基本構成図に示すよう
に、失火を検出する失火検出手段と、失火を検出したと
き燃料増量補正のための失火時補正係数に設定値を加算
し、失火が解消したときは該失火時補正係数を漸次減少
する失火時補正係数設定手段と、エンジン運転状態に基
づき設定される基本燃料噴射量を上記失火時補正係数に
より補正して燃料噴射量を設定する燃料噴射量設定手段
とを備えたことを特徴とする。
As shown in FIG. 1 (b), a fuel injection control device for an engine according to the present invention has a misfire detecting means for detecting misfire, and a correction for increasing fuel quantity when misfire is detected. The set value is added to the misfire correction coefficient for misfire, and the misfire correction coefficient setting means for gradually reducing the misfire correction coefficient when the misfire has been eliminated, and the basic fuel injection amount set based on the engine operating state as described above. Fuel injection amount setting means for setting the fuel injection amount by correcting with the misfire correction coefficient.

【0011】請求項3記載の発明によるエンジンの燃料
噴射制御装置は、請求項3記載の発明において、上記失
火時補正係数設定手段は、上記失火時補正係数を上限値
により制限することを特徴とする。
According to a third aspect of the present invention, in the fuel injection control apparatus for an engine according to the third aspect, the misfire correction coefficient setting means limits the misfire correction coefficient by an upper limit value. I do.

【0012】請求項4記載の発明によるエンジンの燃料
噴射制御装置は、気筒毎の失火を検出する失火検出手段
と、失火を検出したとき、該当気筒の気筒別失火時補正
係数に第1の設定値を加算すると共に、他の気筒の気筒
別失火時補正係数から第2の設定値を減算し、失火が解
消したときには、上記各気筒別失火時補正係数を補正無
しの状態となるまで漸次増加或いは減少する失火時補正
係数設定手段と、エンジン運転状態に基づき設定される
基本燃料噴射量を上記気筒別失火時補正係数により補正
して気筒毎に燃料噴射量を設定する燃料噴射量設定手段
とを備えたことを特徴とする。
According to a fourth aspect of the present invention, there is provided a fuel injection control apparatus for an engine, wherein a misfire detecting means for detecting misfire for each cylinder, and a first misfire correction coefficient for each cylinder of the corresponding cylinder when the misfire is detected. In addition to adding the values, the second set value is subtracted from the cylinder-specific misfire correction coefficients of the other cylinders, and when the misfire has been eliminated, the cylinder-specific misfire correction coefficients are gradually increased until no correction is made. Or a misfiring correction coefficient setting means that decreases, and a fuel injection quantity setting means that corrects the basic fuel injection amount set based on the engine operating state by the cylinder-specific misfiring correction coefficient and sets the fuel injection amount for each cylinder. It is characterized by having.

【0013】請求項5記載の発明によるエンジンの燃料
噴射制御装置は、請求項4記載の発明において、上記失
火時補正係数設定手段は、上記気筒別失火時補正係数を
上限値及び下限値により制限することを特徴とする。
According to a fifth aspect of the present invention, in the fuel injection control apparatus for an engine according to the fourth aspect, the misfire correction coefficient setting means limits the cylinder-specific misfire correction coefficient by an upper limit value and a lower limit value. It is characterized by doing.

【0014】請求項6記載の発明によるエンジンの燃料
噴射制御装置は、請求項4記載の発明において、上記第
2の設定値は、第1の設定値に対応して該当失火気筒を
除く他の気筒に対する燃料噴射量を等分配減少させる値
に設定されることを特徴とする。
According to a sixth aspect of the present invention, in the fuel injection control device for an engine according to the fourth aspect of the invention, the second set value corresponds to the first set value except for the other misfire cylinders. It is characterized in that the fuel injection amount for the cylinder is set to a value that reduces the equal distribution.

【0015】すなわち、請求項1記載の発明では、失火
を検出したとき、燃料噴射量を増量補正するので、エン
ジン始動直後においても、基となる燃料噴射量を失火に
よるエンジン回転変動許容限界に対応する理論空燃比近
辺の限界空燃比に対応して設定することができる。従っ
て、この限界空燃比での運転により排気エミッションの
改善が図れ、且つ失火時には直ちに燃料増量補正により
失火が解消されて、失火によるエンジン回転変動が防止
されてドライバビリティが向上する。
That is, according to the first aspect of the present invention, when a misfire is detected, the fuel injection amount is increased and corrected, so that the base fuel injection amount corresponds to the permissible limit of engine rotation fluctuation due to misfire immediately after the engine is started. Can be set corresponding to the limit air-fuel ratio near the stoichiometric air-fuel ratio. Therefore, the exhaust emission can be improved by operating at the limit air-fuel ratio, and at the time of a misfire, the misfire is immediately eliminated by the fuel increase correction, whereby fluctuations in the engine speed due to the misfire are prevented and drivability is improved.

【0016】請求項2記載の発明では、失火を検出した
とき、燃料増量補正のための失火時補正係数に設定値を
加算し、失火が解消したときは該失火時補正係数を漸次
減少設定する。そして、エンジン運転状態に基づいて設
定される基本燃料噴射量を上記失火時補正係数により補
正して燃料噴射量を設定する。ここで、失火検出時に
は、失火時補正係数に設定値が加算されて、この失火時
補正係数により直ちに燃料噴射量が増量補正され、これ
により失火が解消し、また、失火の解消後は、失火時補
正係数が漸次的に減少されることで空燃比の急変による
制御性の悪化が防止される。
According to the second aspect of the present invention, when a misfire is detected, a set value is added to a misfire correction coefficient for fuel increase correction, and when the misfire is resolved, the misfire correction coefficient is gradually reduced. . Then, the basic fuel injection amount set based on the engine operating state is corrected by the misfire correction coefficient to set the fuel injection amount. Here, when a misfire is detected, the set value is added to the misfire correction coefficient, and the fuel injection amount is immediately increased and corrected by the misfire correction coefficient, thereby eliminating the misfire. By gradually reducing the time correction coefficient, deterioration of controllability due to a sudden change in the air-fuel ratio is prevented.

【0017】この際、請求項3記載の発明では、上記失
火時補正係数を上限値により制限することで、必要以上
の燃料増量による空燃比のオーバリッチを防止し、制御
性の悪化及び失火の解消が阻害されることを防ぐ。
In this case, according to the third aspect of the invention, by limiting the misfire correction coefficient by the upper limit value, it is possible to prevent the air-fuel ratio from becoming excessively rich due to an excessive increase in fuel, thereby deteriorating controllability and causing misfire. Prevent dissolution from being hindered.

【0018】請求項4記載の発明では、気筒毎の失火を
検出し、失火を検出したときには、該当気筒の気筒別失
火時補正係数を第1の設定値を加算した値により設定す
ると共に、他の気筒の気筒別失火時補正係数を第2の設
定値を減算した値により設定する。また、失火が解消し
たときには、上記各気筒別失火時補正係数を補正無しの
状態となるまで漸次増加或いは減少させる。そして、エ
ンジン運転状態に基づき設定される基本燃料噴射量を上
記気筒別失火時補正係数により補正して気筒毎に燃料噴
射量を設定する。ここで、失火検出時には、該当失火気
筒に対する気筒別失火時補正係数に第1の設定値が加算
されて、この失火時補正係数により直ちに燃料噴射量が
増量補正され、これにより該当失火気筒の失火が解消
し、且つ、このとき他の気筒に対しては、気筒別失火時
補正係数が第2の設定値によって減少設定されて燃料噴
射量が減量補正される。その結果、失火解消後、直ちに
各気筒の燃焼状態が均一化し、気筒毎の燃焼状態の不均
一に起因するエンジン回転変動が防止される。また、失
火の解消後は、燃料噴射量に対する補正無しの状態とな
るまで、該当失火気筒に対する気筒別失火時補正係数が
漸次的に減少され、他の気筒に対する気筒別失火時補正
係数が漸次的に増加され、失火時補正係数による補正解
除時の空燃比の急変が抑制されて制御性の悪化が防止さ
れる。
According to the present invention, a misfire for each cylinder is detected, and when a misfire is detected, a cylinder-by-cylinder misfire correction coefficient of the cylinder is set by a value obtained by adding the first set value. The cylinder-by-cylinder misfire correction coefficient is set by subtracting the second set value. When the misfire is eliminated, the cylinder-specific misfire correction coefficient is gradually increased or decreased until no correction is made. Then, the basic fuel injection amount set based on the operating state of the engine is corrected by the cylinder-specific misfire correction coefficient to set the fuel injection amount for each cylinder. Here, when a misfire is detected, the first set value is added to the cylinder-specific misfire correction coefficient for the relevant misfire cylinder, and the fuel injection amount is immediately increased and corrected by the misfire correction coefficient. At this time, the misfire correction coefficient for each cylinder is set to be reduced by the second set value for the other cylinders, and the fuel injection amount is corrected to be reduced. As a result, immediately after the misfire is eliminated, the combustion state of each cylinder is made uniform, and fluctuations in engine rotation caused by uneven combustion state of each cylinder are prevented. Further, after the misfire is eliminated, the cylinder-specific misfire correction coefficient for the relevant misfire cylinder is gradually reduced until the fuel injection amount is not corrected, and the cylinder-specific misfire correction coefficient for the other cylinders is gradually reduced. The sudden change of the air-fuel ratio at the time of cancellation of the correction by the misfire correction coefficient is suppressed, and deterioration of controllability is prevented.

【0019】この際、請求項5記載の発明では、上記気
筒別失火時補正係数を上限値及び下限値により制限する
ことで、必要以上の過補正を防止する。
In this case, according to the fifth aspect of the present invention, the cylinder-specific misfire correction coefficient is limited by an upper limit value and a lower limit value, thereby preventing unnecessary overcorrection.

【0020】また、請求項6記載の発明では、上記第2
の設定値を、第1の設定値に対応して該当失火気筒を除
く他の気筒に対する燃料噴射量を等分配減少させる値に
設定することで、失火時の燃料補正によるマクロ的なト
ータル空燃比の変化を防ぎ、空燃比制御性の悪化を防
ぐ。
Further, in the invention according to claim 6, in the above-mentioned second aspect,
Is set to a value corresponding to the first set value so that the fuel injection amount to other cylinders other than the corresponding misfire cylinder is equally distributed and reduced, the macro total air-fuel ratio by the fuel correction at the time of misfire To prevent changes in air-fuel ratio controllability.

【0021】[0021]

【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図2〜図19は本発明の実施の第
1形態を示す。
Embodiments of the present invention will be described below with reference to the drawings. 2 to 19 show a first embodiment of the present invention.

【0022】先ず、図16に基づいてエンジンの全体構
成について説明する。同図において、符号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.

【0023】このエンジン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.

【0024】また、上記スロットルチャンバ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.

【0025】更に、上記インテークマニホルド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.

【0026】一方、上記シリンダヘッド2の各気筒毎
に、先端の放電電極を燃焼室に露呈する点火プラグ17
が取り付けられ、この点火プラグ17に、各気筒毎に配
設された点火コイル18を介してイグナイタ19が接続
されている。
On the other hand, for each cylinder of the cylinder head 2, a spark plug 17 exposing a 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.

【0027】また、エンジン1の排気系としては、上記
シリンダヘッド2の各排気ポート2bに連通するエキゾ
ーストマニホルド20の集合部に排気管21が連通さ
れ、この排気管21に触媒コンバータ22が介装されて
マフラ23に連通されている。
As an exhaust system of the engine 1, an exhaust pipe 21 is communicated with a collection portion of an exhaust manifold 20 which communicates 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.

【0028】次に、エンジン運転状態を検出するための
センサ類について説明する。上記吸気管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.

【0029】また、エンジン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.

【0030】また、エンジン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.

【0031】上記クランクロータ31は、図17に示す
ように、その外周に突起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. 17, the crank rotor 31 has projections 31a, 31b and 31c formed on the outer periphery thereof, 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.

【0032】また、図18に示すように、上記カムロー
タ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. 18, 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.

【0033】そして、図9のタイムチャートに示すよう
に、エンジン運転に伴いクランクシャフト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. 9, 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.

【0034】そして、後述する電子制御装置40(図1
9参照)において、上記クランク角センサ32から出力
されるクランクパルスの入力間隔時間Tθに基づいてエ
ンジン回転数NEを算出し、また、各気筒の燃焼行程順
(例えば、#1気筒→#3気筒→#2気筒→#4気筒)
と、上記カム角センサ35からのカムパルスをカウンタ
によって計数した値とのパターンに基づいて、燃料噴射
対象気筒や点火対象気筒等の気筒判別を行う。
Then, an electronic control unit 40 (FIG. 1)
9), 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.

【0035】上記インジェクタ11、点火プラグ17,
ISC弁10等のアクチュエータ類に対する制御量の演
算、制御信号の出力、すなわち燃料噴射制御、点火時期
制御、アイドル回転数制御等のエンジン制御は、図19
に示す電子制御装置(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.

【0036】上記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.

【0037】なお、上記カウンタ・タイマ群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.

【0038】上記定電圧回路47は、2回路のリレー接
点を有する電源リレー50の第1のリレー接点を介して
バッテリ51に接続され、バッテリ51に、上記電源リ
レー50のリレーコイルがイグニッションスイッチ52
を介して接続されている。また、上記定電圧回路47
は、直接、上記バッテリ51に接続されており、イグニ
ッションスイッチ52がONされて電源リレー50の接
点が閉となるとECU40内の各部へ電源を供給する一
方、上記イグニッションスイッチ52のON,OFFに
拘らず、常時、上記バックアップRAM44にバックア
ップ用の電源を供給する。更に、上記バッテリ51に
は、燃料ポンプリレー53のリレー接点を介して燃料ポ
ンプ18が接続されている。なお、上記電源リレー50
の第2のリレー接点には、上記バッテリ51から各アク
チュエータに電源を供給するための電源線が接続されて
いる。
The constant voltage circuit 47 is connected to a battery 51 via a first relay contact of a power relay 50 having two relay contacts, and a relay coil of the power relay 50 is connected to an 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 18 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.

【0039】上記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 has 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.

【0040】一方、上記I/Oインターフェイス46の
出力ポートには、ISC弁10、インジェクタ11、燃
料ポンプリレー53のリレーコイルが上記駆動回路48
を介して接続されると共に、イグナイタ19が接続され
ている。
On the other hand, an ISC valve 10, an injector 11, and a relay coil of a fuel pump relay 53 are connected to an output port of the I / O interface 46 by the drive circuit 48.
And the igniter 19 is connected.

【0041】上記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, and the like, 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.

【0042】このようなエンジン制御系において、EC
U40では、エンジン回転状態量の一例としてエンジン
回転数NEを用い、所定周期毎のエンジン回転数変化量
に基づいて気筒毎に失火が生じたか否かを判断し、失火
を検出したとき、該当気筒の燃料噴射量を増量補正して
失火を解消させる。
In such an engine control system, EC
In U40, the engine rotational speed NE is used as an example of the engine rotational state amount, and it is determined whether or not a misfire has occurred for each cylinder based on the amount of change in the engine rotational speed in each predetermined cycle. The misfire is eliminated by increasing the fuel injection amount of the fuel tank.

【0043】すなわち、失火を検出したとき燃料噴射量
を増量補正するので、エンジン始動直後においても、基
となる燃料噴射量を失火によるエンジン回転変動許容限
界に対応する理論空燃比近辺の限界空燃比に対応して設
定することができ、従って、この限界空燃比での運転に
より排気エミッションの改善が図れ、且つ失火時には直
ちに燃料増量補正により失火が解消されて、失火による
エンジン回転変動が防止されてドライバビリティが向上
する。換言すれば、エンジン始動直後において、失火に
よるエンジン回転変動許容限界となる空燃比限界付近で
の運転が可能となり、排気エミッションの改善とドライ
バビリティの向上とを両立することが可能となる。
That is, when the misfire is detected, the fuel injection amount is increased and corrected. Even immediately after the engine is started, the base fuel injection amount is changed to the limit air-fuel ratio near the stoichiometric air-fuel ratio corresponding to the engine rotation fluctuation allowable limit due to the misfire. Therefore, exhaust emission can be improved by operating at this limit air-fuel ratio, and at the time of misfire, misfire is immediately eliminated by fuel increase correction, and fluctuations in engine rotation due to misfire are prevented. Drivability is improved. In other words, immediately after the start of the engine, operation near the air-fuel ratio limit, which is the allowable limit for engine rotation fluctuation due to misfire, becomes possible, and both improvement in exhaust emission and improvement in drivability can be achieved.

【0044】より詳細には、本形態においては、所定ク
ランク角毎のエンジン回転数の変動差により各気筒の失
火を判断する。具体的には、BTDCθ2,θ3間、すな
わちθ2,θ3クランクパルス入力間のエンジン回転数を
採用し、今回算出したエンジン回転数から前回の同区間
におけるエンジン回転数を減算して差回転を算出し、こ
の差回転に基づいて該当気筒の失火を判断する。そし
て、失火を検出したとき、燃料増量補正のための該当気
筒に対応する失火時補正係数に設定値を加算し、失火が
解消したときは該失火時補正係数を漸次減少設定する。
そして、エンジン運転状態に基づいて設定される基本燃
料噴射量を上記失火時補正係数により補正して該当気筒
に対する燃料噴射量を設定する。従って、失火検出時に
は、失火時補正係数に設定値が加算されて、この失火時
補正係数により直ちに燃料噴射量が増量補正され、これ
により失火が解消し、また、失火の解消後は、失火時補
正係数が漸次的に減少されることで空燃比の急変による
制御性の悪化が防止される。
More specifically, in this embodiment, the misfire of each cylinder is determined based on the difference in the engine speed for each predetermined crank angle. Specifically, the engine speed between the BTDC θ2 and θ3, that is, between the θ2 and θ3 crank pulse inputs is adopted, and the engine speed in the same section last time is subtracted from the engine speed calculated this time to calculate the differential speed. The misfire of the corresponding cylinder is determined based on the differential rotation. When the misfire is detected, the set value is added to the misfire correction coefficient corresponding to the cylinder for fuel increase correction, and when the misfire is eliminated, the misfire correction coefficient is gradually reduced.
Then, the basic fuel injection amount set based on the engine operating state is corrected by the misfire correction coefficient to set the fuel injection amount for the corresponding cylinder. Therefore, when a misfire is detected, the set value is added to the misfire correction coefficient, and the fuel injection amount is immediately increased and corrected by the misfire correction coefficient, thereby eliminating the misfire. Gradual reduction of the correction coefficient prevents deterioration of controllability due to a sudden change in the air-fuel ratio.

【0045】すなわち、ECU40は、本発明に係る失
火検出手段、燃料噴射量補正手段の機能を有し、更に、
失火時補正係数設定手段、燃料噴射量設定手段としての
機能をも実現する。
That is, the ECU 40 has the functions of a misfire detection unit and a fuel injection amount correction unit according to the present invention.
Functions as misfire correction coefficient setting means and fuel injection amount setting means are also realized.

【0046】以下、上記ECU40によって実行される
本発明に係る制御処理について、図2〜図8に示すフロ
ーチャートに従って説明する。
The control process according to the present invention executed by the ECU 40 will be described below with reference to the flowcharts shown in FIGS.

【0047】先ず、イグニッションスイッチ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 data such as various learning values stored in the backup RAM 44. And the starter switch 37
Is turned on and the engine is started, a cylinder discriminating / engine speed calculating routine shown in FIG. 2 is executed every time a crank pulse is input from the crank angle sensor 32.

【0048】この気筒判別/エンジン回転数算出ルーチ
ンでは、エンジン運転に伴いクランクロータ31が回転
してクランク角センサ32からのクランクパルスが入力
されると、先ず、ステップS1で、今回入力されたクラン
クパルスがθ1,θ2,θ3の何れのクランク角に対応す
る信号かをカム角センサ35からのカムパルスの入力パ
ターンに基づいて識別し、ステップS2で、クランクパル
スとカムパルスとの入力パターンから現在の燃焼行程気
筒、失火診断対象気筒、点火対象気筒、及び燃料噴射対
象気筒等の気筒判別を行う。
In this cylinder discriminating / engine speed calculating routine, when the crank rotor 31 rotates and the crank pulse is input from the crank angle sensor 32 in accordance with the operation of the engine, first, in step S1, the presently input crank 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.

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

【0050】また、前回と今回とのクランクパルス入力
間にカムパルス入力が無く、前々回と前回のクランクパ
ルス入力間にカムパルス入力が有ったときには、今回の
クランクパルスはθ2クランクパルスと識別でき、次回
入力されるクランクパルスはθ3クランクパルスと識別
できる。また、前回と今回との間、及び前々回と前回と
のクランクパルス入力間に、何れもカムパルス入力が無
いときには、今回入力されたクランクパルスはθ3クラ
ンクパルスと識別でき、次回入力されるクランクパルス
はθ1クランクパルスと識別できる。
When 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 the θ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.

【0051】さらに、前回と今回とのクランクパルス入
力間にカムパルスが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.

【0052】また、前回と今回とのクランクパルス入力
間にカムパルスが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.

【0053】本形態の4サイクル4気筒エンジン1で
は、燃焼行程は#1→#3→#2→#4の気筒順であ
り、図9の点火及び燃料噴射のタイムチャートに示すよ
うに、カムパルス出力時の今回の燃焼行程気筒#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-cycle four-cylinder engine 1 of this embodiment, the combustion stroke is in the order of cylinders # 1, # 3, # 2, and # 4. As shown in the ignition and fuel injection time chart of FIG. This combustion stroke cylinder #n at the time of output is #
Assuming that there is one cylinder, the misfire diagnosis target cylinder is #n
-1 cylinder, that is, # 4 cylinder, the cylinder to be ignited reaches the compression top dead center # n + 1 = # 3 cylinder, and the fuel injection target cylinder #i at this time is # n + 3 = # It becomes four cylinders. 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 for n-1 is performed.

【0054】また、ここでは詳述しないが、点火対象気
筒#n+1の判別結果に応じて該当気筒#n+1に対する点
火時期が設定されて、気筒毎に点火時期制御が行われ
る。更に、燃料噴射対象気筒#i(#n+3気筒)の判別
結果が、所定周期毎に実行される燃料噴射量設定ルーチ
ンにおいて参照されて、気筒毎に燃料噴射量が設定さ
れ、燃料噴射は該当気筒に対して720°CA(エンジ
ン2回転)毎に1回のシーケンシャル噴射が行われる。
Although not described in detail here, the ignition timing for the corresponding cylinder # n + 1 is set in accordance with the determination result 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 executed at predetermined intervals, and the fuel injection amount is set for each cylinder. One sequential injection is performed on the relevant cylinder every 720 ° CA (two engine revolutions).

【0055】その後、ステップ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.

【0056】次いで、ステップS4へ進み、今回識別した
クランクパルスに対応するクランクパルス間角度を読み
出し、このクランクパルス間角度と上記クランクパルス
入力間隔時間Tθとに基づいて現在のエンジン回転数N
Eを算出し、RAM43の所定アドレスにストアしてル
ーチンを抜ける。なお、上記クランクパルス間角度は既
知であり、予めROM42に固定データとして記憶され
ているものであり、本実施の形態においては、θ1クラ
ンクパルスとθ2クランクパルス間の角度は32°CA
であり、θ2クランクパルスとθ3クランクパルス間の角
度は55°CA、θ3クランクパルスとθ1クランクパル
ス間の角度は93°CAである。また、エンジン始動時
を考慮し、エンジン回転数NEは、例えば、150rpm以
上で算出される。
Next, the process proceeds to step S4, in which the angle between the crank pulses corresponding to the crank pulse identified this time is read, 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.

【0057】そして、θ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.

【0058】ここで、上記失火診断ルーチンは、θ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.

【0059】この失火診断ルーチンにおいては、先ず、
ステップ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).

【0060】次にステップ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. The difference DELNEn is subtracted to obtain the engine speed variation amount for each predetermined crank angle.
Is calculated (DELNEn ← MNXn-MNXn-1).

【0061】そして、ステップS14,S15で、上記気筒判
別/エンジン回転数算出ルーチンにおいて気筒判別され
た今回の燃焼行程気筒データ#n,失火診断対象気筒デ
ータ#n-1を読み出して、今回の燃焼行程気筒#n,失
火診断対象気筒#n-1(=1燃焼行程前の気筒)をそれ
ぞれ特定する。
Then, 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, 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.

【0062】次いでステップ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
The 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 before (720 ° CA before) by the 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. Are weighted averages.

【0063】すなわち、上記クランク角センサ32によ
って検出されるクランク角には、クランクロータ31の
各突起31a,31b,31cの位置及び形状等、製造
上の許容誤差、クランク角センサ32のエンジン1への
取付位置の許容誤差等がエンジン毎に存在する。従っ
て、上記クランク角センサ32からのクランクパルスに
基づいて算出される上記差回転DELNEには、これら
の誤差によるばらつきが含まれている。このため、特に
エンジン高回転時には、図10に示すように、見掛け
上、大きなエンジン回転変動が一律に発生するような結
果となり、この差回転DELNEによって直接、失火診
断を行うと、誤診断を生じる。
In other words, 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, apparently large engine rotation fluctuations occur uniformly as shown in FIG. 10. If misfire diagnosis is directly performed by this differential rotation DELNE, erroneous diagnosis will occur. .

【0064】従って、上記差回転DELNEnから、統
計処理により1サイクル前に算出した当該気筒#nに対
する差回転補正値AVEDNXn-4を減算し、補正差回
転DELNAnを算出することで、クランクロータ31
の各突起31a,31b,31cの位置及び形状等の製
造上の許容誤差、クランク角センサ32のエンジン1へ
の取付位置の許容誤差等の影響を除去し、当該気筒#n
に対するエンジン回転数MNXnと1燃焼行程前の気筒
#n-1に対するエンジン回転数MNXn-1との間の正確
な差回転を得る。なお、図11のタイミングチャート
に、上記補正差回転DELNAを示す。図10に示す差
回転DELNEに対し、図11に示すように、補正差回
転DELNAでは、上記許容誤差の影響が排除された正
確な差回転が得られていることが解る。
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. Note that the timing chart of FIG. 11 shows the corrected differential rotation DELNA. In contrast to the differential rotation DELNE shown in FIG. 10, as shown in FIG. 11, it can be seen that the corrected differential rotation DELNA provides an accurate differential rotation excluding the influence of the allowable error.

【0065】なお、図10、図11、及び後述する図1
2においては、縦軸の1目盛りを50rpm、横軸の1目
盛り(1div)を720°CAとして、ECU40で算
出された差回転データを示す。
Note that FIGS. 10 and 11 and FIGS.
2 shows differential rotation data calculated by the ECU 40, with one scale on the vertical axis being 50 rpm and one scale (1 div) on the horizontal axis being 720 ° CA.

【0066】ここで、例えば、この失火診断ルーチンが
#3気筒のBTDCθ3クランクパルス入力により実行
された場合、今回の燃焼行程気筒#nは#1気筒であ
り、1燃焼行程前の気筒#n-1として#4気筒が失火診
断対象気筒となる(図9参照)。 そして、今回のルー
チンにおいて、#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)を算
出する。
Here, for example, when this 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. As # 1, cylinder # 4 becomes the misfire diagnosis target cylinder (see FIG. 9). 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) of one cylinder is calculated.

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

【0068】すなわち、ステップ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).

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

【0070】ここで、エンジン1にスナッチ等の断続的
な回転変動が発生すると、補正差回転DELNAを所定
の失火判定レベルと比較するだけでは、このスナッチ等
による断続的な回転変動をも失火と誤診断してしまい、
正確な失火診断を行うことができない。従って、前後の
気筒の補正差回転DELNAの変化、すなわち補正差回
転変化DDNEAによって失火を診断することで、失火
発生時のエンジン運転状態に応じてレベルの変化する差
回転(補正差回転DELNA)に対し、スナッチ等の断
続的な回転変動の影響を排除して正確な失火診断を可能
とする。
Here, if an intermittent rotational fluctuation such as a snatch occurs in the engine 1, the intermittent rotational 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.

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

【0072】すなわち、ステップ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 that 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.

【0073】ここで、燃料カット中のときには、燃料が
噴射されておらず、各気筒とも強制失火状態にあり、失
火診断を行うことができない。また、Tp<TpLWREで
燃料噴射量が微少のときには、失火以外の回転変動成分
が大きくエンジン回転数変化によって失火診断を行うと
誤診断を生じる。さらに、NE≧NEUPERの高回転域で
は、回転変動がなまされ、この領域においては失火診断
を行うことはできない。
Here, during the 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.

【0074】従って、燃料カット中のとき、或いはTp
<TpLWREの失火診断不能領域のとき、或いはNE>NE
UPERの高回転域のときには、失火診断条件の不成立によ
り該当するステップからステップS21へ進み、診断許可
フラグFLGDIAGをクリア(FLGDIAG←0)して失火
診断を禁止し、ステップS23へ進む。
Therefore, when the fuel is being 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.

【0075】一方、燃料噴射が行われており、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.

【0076】そして、ステップS23で、図5に示す失火
診断サブルーチンを実行し、該当失火診断対象気筒#n
-1に対する失火診断を行う。
Then, in step S23, the misfire diagnosis subroutine shown in FIG.
Perform misfire diagnosis for -1.

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

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

【0079】この失火判定レベルLVLMISは、上記
補正差回転変化DDNEAとの比較により失火を判断す
るためのもので、エンジン型式毎のエンジン特性、及び
エンジン運転状態によって相違する。従って、予め実
験、或いはシュミレーション等によりエンジン回転数N
Eと基本燃料噴射パルス幅Tpとによる運転領域毎に、
失火を生じたときの補正差回転変化DDNEAを求め、
これに対応する失火判定レベルLVLMISを、エンジ
ン回転数NEと基本燃料噴射パルス幅Tpとをパラメー
タとするマップとして設定し、ROM42の一連のアド
レスにメモリしておく。
The misfire determination level LVLMIS 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 LVLMIS is set as a map using the engine speed NE and the basic fuel injection pulse width Tp as parameters, and is stored in a series of addresses in the ROM 42.

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

【0081】そして、ステップS33で、上記ステップS17
で算出した#n気筒に対する補正差回転変化DDNEA
nを読み出して、上記失火判定レベルLVLMISと比
較する。そして、DDNEAn≧LVLMISのとき、
続くステップS34で、前回ルーチン実行時に算出されワ
ークエリアにストアされている該当失火診断対象気筒#
n-1に対する補正差回転変化DDNEAn-1を読み出
し、マイナスの失火判定レベル−LVLMISと比較す
る。
Then, in step S33, the above-described step S17
Differential rotation change DDNEA for cylinder #n calculated in
n is read and compared with the misfire determination level LVLMIS. And when DDNEAn ≧ LVLMIS,
In a succeeding step S34, the relevant misfire diagnosis target cylinder # calculated in the previous execution of the routine and stored in the work area.
The correction difference rotation change DDNEAn-1 with respect to n-1 is read and compared with a minus misfire determination level -LVLMIS.

【0082】そして、DDNEAn-1≦−LVLMIS
のとき、該当失火診断対象気筒#n−1の失火と判断し
て、ステップS35へ進み、該当気筒の失火フラグFLG
MISn-1をセットして(FLGMISn-1←1)、失
火診断ルーチンのステップS24へ進む。
Then, DDNEAn-1≤-LVLMIS
At this time, it is determined that the misfire diagnosis target cylinder # n-1 is misfired, and the process proceeds to step S35, where the misfire flag FLG of the corresponding cylinder is determined.
MISn-1 is set (FLGMISn-1 ← 1), and the routine proceeds to step S24 of the misfire diagnosis routine.

【0083】また、上記ステップS33でDDNEAn<
LVLMISのとき、或いはステップS34でDDNEA
n-1>−LVLMISのときには、該当失火診断対象気
筒#n-1に失火を生じていないと判断して、ステップS3
6へ進み、該当気筒の失火フラグFLGMISn-1をク
リアして、失火診断ルーチンのステップS24へ進む。
In step S33, DDNEAn <
In the case of LVLMIS or DDNEA in step S34
If n-1> -LVLMIS, it is determined that a misfire has not occurred in the relevant cylinder # n-1 for misfire diagnosis, and step S3 is performed.
The program proceeds to S6, where the misfire flag FLGMISn-1 of the corresponding cylinder is cleared, and the procedure proceeds to Step S24 of the misfire diagnosis routine.

【0084】ここで、図14に示すように、#n-1気筒
が失火したときには、燃焼による有効圧力を得られない
ないため、#n-1気筒の燃焼行程前のエンジン回転数M
NXn-2に対して、#n-1気筒の排気弁が開弁する燃焼
行程終期のエンジン回転数MNXn-1が低下し、補正差
回転変化DDNEAn-1はマイナスの値となって、マイ
ナス失火判定レベル−LVLMIS以下の値を示す。そ
して、このエンジン回転数MNXn-1に対し、次気筒#
nの燃焼により次の区間のMNXnが上昇し、従って、
#n気筒に対する補正差回転変化DDNEAnはプラス
値となり、上記失火判定レベルLVLMIS以上の値を
示す。従って、これにより該当失火診断対象気筒#n-1
に対する失火を適切に診断することが可能となる。
Here, as shown in FIG. 14, when the # n-1 cylinder misfires, the effective pressure due to combustion cannot be obtained, so the engine speed M before the combustion stroke of the # n-1 cylinder is lost.
In contrast to NXn-2, the engine speed MNXn-1 at the end of the combustion stroke when the exhaust valve of the # n-1 cylinder opens decreases, and the corrected differential speed change DDNEAn-1 becomes a negative value, resulting in a negative misfire. Indicates a value equal to or lower than the judgment level -LVLMIS. 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 LVLMIS. Therefore, this causes the misfire diagnosis target cylinder # n-1
It is possible to appropriately diagnose misfires on the vehicle.

【0085】また、前後の気筒の補正差回転DELNA
の変化、すなわち1燃焼行程前の失火診断対象気筒#n
-1の補正差回転変化DDNEAn-1と、現在燃焼行程気
筒#nの補正差回転変化DDNEAnとを用い、該当失
火診断対象気筒#n-1に対する補正差回転変化DDNE
An-1がマイナス失火判定レベル−LVLMIS以下と
なった後、次気筒すなわち今回の燃焼行程気筒#nの補
正差回転変化DDNEAnが失火判定レベルLVLMI
S以上となったときのみ、該当失火診断対象気筒#n-1
が失火したと判断するので、失火発生時のエンジン運転
状態に応じてレベルの変化する差回転(補正差回転DE
LNA)に対し、スナッチ等の断続的な回転変動の影響
を排除して、正確に失火を検出することができる。
Also, the correction difference rotation DELNA of the front and rear cylinders
, That is, cylinder #n for misfire diagnosis one combustion stroke before
Using the corrected differential rotation change DDNEAn-1 of -1 and the corrected differential rotation change DDNEAn of the current combustion stroke cylinder #n, the corrected differential rotation change DDNE for the relevant misfire diagnosis target cylinder # n-1.
After An-1 becomes equal to or less than the minus misfire determination level -LVLMIS, the correction difference rotation change DDNEAn of the next cylinder, that is, the current combustion stroke cylinder #n, becomes the misfire determination level LVLMI.
Only when it becomes S or more, the relevant cylinder # n-1 for misfire diagnosis
Is determined to have misfired, the difference rotation (correction difference rotation DE) whose level changes according to the engine operating state at the time of misfire occurrence
LNA), the misfire can be accurately detected by eliminating the influence of intermittent rotation fluctuation such as snatching.

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

【0087】ステップ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 current cylinder # n-1 for misfire diagnosis,
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. .

【0088】そして、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).

【0089】次いでステップ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))、ルーチンを抜ける。
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)), exits the routine.

【0090】そして、次回(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.

【0091】一方、上記ステップS24で、FLGMIS
n-1=1で該当気筒#n-1に失火が生じているときに
は、ステップS24からステップS28へ進み、前回ルーチン
実行時の全気筒差回転加重平均値AVEDNn-1を今回
の全気筒差回転加重平均値AVEDNnとし(AVED
Nn←AVEDNn-1)、続くステップS29で、5回前
の本ルーチンで算出した差回転補正値AVEDNXn-5
を、当該気筒#n-1に対する差回転補正値AVEDNn
-1とし(AVEDNXn-1←AVEDNXn-5)、ルー
チンを抜ける。
On the other hand, in step S24, the FLGMIS
If n-1 = 1 and a misfire has occurred in the relevant cylinder # n-1, the process proceeds from step S24 to step S28, in which the weighted average value of all cylinder difference rotations AVEDNn-1 at the time of execution of the previous routine is used as the current all cylinder difference rotation. The weighted average value is AVEDnn (AVED
Nn ← AVEDNn-1), and in the following step S29, the differential rotation correction value AVEDNXn-5 calculated in the present routine five times before.
Is the differential rotation correction value AVEDNn for the cylinder # n-1.
It is set to -1 (AVEDNXn-1 ← AVEDNXn-5), and the routine exits.

【0092】また、上記ステップS25において、MIN
DN≧DELNEn-1−AVEDNn-1のときには、差
回転DELNEn-1に含まれるクランクロータ31、ク
ランク角センサ32に係る誤差の影響が無視できると判
断し、また、DELNEn-1−AVEDNn-1≧MAX
DNで回転変動が大きいときには、スナッチ等による回
転変動と判断して、同様に、上記ステップS28,S29を経
てルーチンを抜ける。
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
If the rotational fluctuation is large in DN, it is determined that the rotational fluctuation is due to snatching or the like, and similarly, the routine exits through steps S28 and S29.

【0093】そして、以上の失火診断処理による気筒別
失火フラグFLGMISが燃料噴射量設定の際に参照さ
れ、該当気筒に失火が生じているときには、該当気筒に
対する燃料噴射量が直ちに増量補正される。
Then, the cylinder-by-cylinder misfire flag FLGMIS obtained by the above-described misfire diagnosis processing is referred to at the time of setting the fuel injection amount, and when misfire has occurred in the relevant cylinder, the fuel injection amount for the relevant cylinder is immediately increased and corrected.

【0094】次に、図6〜図8のフローチャートに従っ
て、本発明に係る燃料噴射制御処理について説明する。
Next, the fuel injection control process according to the present invention will be described with reference to the flowcharts of FIGS.

【0095】図6〜図7に示すフローチャートは、燃料
噴射量設定ルーチンであり、気筒毎にエンジンに供給す
る最終的な燃料噴射量を定める燃料噴射パルス幅Ti#i
が設定される。この燃料噴射量設定ルーチンは、所定周
期(例えば、180°CA)毎に実行され、ステップS4
1で、現在のエンジン回転数NEと吸入空気量センサ24
からの出力信号に基づく吸入空気量Qとから、基本燃料
噴射量を定める基本燃料噴射パルス幅Tpを算出する
(Tp←K×Q/NE ;Kはインジェクタ特性補正定
数)。
The flowcharts shown in FIGS. 6 and 7 show a fuel injection amount setting routine. The fuel injection pulse width Ti # i determines the final fuel injection amount supplied to the engine for each cylinder.
Is set. This fuel injection amount setting routine is executed at predetermined intervals (for example, 180 ° CA), and the routine proceeds to step S4.
At 1, the current engine speed NE and the intake air amount sensor 24
The basic fuel injection pulse width Tp that determines the basic fuel injection amount is calculated from the intake air amount Q based on the output signal from the controller (Tp ← K × Q / NE; K is an injector characteristic correction constant).

【0096】次いでステップS42で、スタータスイッチ
37の作動状態を判断し、スタータスイッチ37がON
(クランキング中)のとき、ステップS43へ進んで、始
動増量係数KSTを設定値CKST(但し、CKST>1.0)に
より設定してステップS45へ進み、また、スタータスイ
ッチ37がOFFのときは、ステップS44で、始動増量
係数KSTを1.0(補正無し)に設定してステップS45
へ進む。上記始動増量係数KSTは、始動性確保のためス
タータモータ作動中のクランキング時のみ燃料増量を行
うためのものである。
Next, in step S42, the operation state of the starter switch 37 is determined, and the starter switch 37 is turned on.
In the case of (during cranking), the process proceeds to step S43, in which the starting increase coefficient KST is set by the set value CKST (where CKST> 1.0), and then the process proceeds to step S45. When the starter switch 37 is OFF, In step S44, the starting increase coefficient KST is set to 1.0 (no correction), and then in step S45.
Proceed to. The start increase coefficient KST is used to increase the fuel only during cranking during operation of the starter motor to ensure startability.

【0097】そして、ステップS45では、エンジン回転
数NEと基本燃料噴射パルス幅Tpとに基づきテーブル参
照により混合比割付係数KMRを設定する。この混合比割
付係数KMRは、エンジン回転数NEとエンジン負荷を表
す基本燃料噴射パルス幅Tpとにより特定される領域毎
に適正空燃比を得るためのもので、テーブルには予め実
験等により求めた最適値がストアされている。
In step S45, the mixture ratio allocation coefficient KMR is set by referring to the table based on the engine speed NE and the basic fuel injection pulse width Tp. The mixture ratio allocation coefficient KMR is used to obtain an appropriate air-fuel ratio for each region specified by the engine speed NE and the basic fuel injection pulse width Tp representing the engine load. The optimal value is stored.

【0098】次いで、ステップS46では、スロットル開
度センサ25aによるスロットル開度THV、基本燃料
噴射パルス幅Tp、エンジン回転数NEに基づいてフル増
量係数KFULLを設定する。このフル増量係数KFULLは、
スロットル開度THVが全開状態のとき、或いは基本燃
料噴射パルス幅Tpにより判断されるエンジン負荷が高
負荷状態のとき、エンジン回転数NEをパラメータとす
るテーブルにより設定されるもので、エンジン出力が要
求される領域での出力性能を確保する。なお、スロット
ル全開領域及び高負荷域を除く領域においては、KFULL
=0である。
Next, at step S46, a full increase coefficient KFULL is set based on the throttle opening THV, the basic fuel injection pulse width Tp, and the engine speed NE by the throttle opening sensor 25a. This full increase coefficient KFULL is
When the throttle opening THV is in the fully opened state or when the engine load determined by the basic fuel injection pulse width Tp is in a high load state, it is set by a table using the engine speed NE as a parameter. Output performance in the area where Note that KFULL is not used in areas other than the throttle fully open area and the high load area.
= 0.

【0099】続くステップS47では、冷却水温センサ2
8による冷却水温度TWに基づいてテーブル参照により
水温増量係数KTWを設定する。この水温増量係数KTW
は、エンジン冷態時の運転性を確保するための燃料増量
率を定めるものであり、ステップS47中に図示するよう
に、冷却水温度TWが低い程、大きい値の水温増量係数
KTWがテーブルにストアされている。
In the following step S47, the cooling water temperature sensor 2
The water temperature increase coefficient KTW is set by referring to the table on the basis of the cooling water temperature TW obtained in step 8. This water temperature increase coefficient KTW
Defines the fuel increase rate for ensuring the drivability when the engine is cold. As shown in step S47, the lower the cooling water temperature TW, the larger the water temperature increase coefficient KTW in the table. Stored.

【0100】次いで、ステップS48で、始動後増量係数
KASを設定する。この始動後増量係数KASは、エンジン
始動直後のエンジン回転数の安定性を確保するためのも
ので、ステップS48中に示すように、スタータスイッチ
37がONのとき、冷却水温度TWに基づき初期値を設
定し、スタータスイッチ37のOFF後、KAS=0にな
るまで漸次的に減少される。
Next, at step S48, a post-start increase coefficient KAS is set. The post-start increase coefficient KAS is used to secure the stability of the engine speed immediately after the start of the engine. As shown in step S48, when the starter switch 37 is ON, the initial value is determined based on the coolant temperature TW. Is set, and after the starter switch 37 is turned off, it is gradually decreased until KAS = 0.

【0101】続くステップS49では、アイドル後増量係
数KAIを設定する。このアイドル増量後係数KAIは、ア
イドル解除時のもたつきを防止するためのものであり、
同ステップ中に示すように、車速VSPが設定値(例え
ば、15km/h)以下で且つアイドルスイッチ25bがO
N(スロットル弁全閉)からOFF(スロットル弁開)
に移行したとき冷却水温度TWに基づき初期値に設定さ
れ、その後、KAI=0になるまで漸次的に減少される。
In a succeeding step S49, an after-idle increase coefficient KAI is set. The post-idle increase coefficient KAI is for preventing the backlash when the idle is released.
As shown in the step, the vehicle speed VSP is equal to or lower than the set value (for example, 15 km / h) and the idle switch 25b is
N (throttle valve fully closed) to OFF (throttle valve open)
Is set to the initial value based on the cooling water temperature TW, and then gradually decreased until KAI = 0.

【0102】そして、ステップS50で、上記気筒判別/
エンジン回転数算出ルーチンによって気筒判別された燃
料噴射対象気筒データ#iを読み出し、ステップS51
で、図8に示す失火時補正係数設定サブルーチンを実行
し、該当気筒#iに失火が生じたときに燃料増量補正し
て失火を解消するための該当気筒#iに対する気筒別失
火時補正係数KMF#iを設定する。
Then, in step S50, the cylinder discrimination /
The fuel injection target cylinder data #i determined in the cylinder by the engine speed calculation routine is read, and step S51 is performed.
Then, a misfire correction coefficient setting subroutine shown in FIG. 8 is executed, and when a misfire occurs in the corresponding cylinder #i, a fuel-specific misfire correction coefficient KMF for the corresponding cylinder #i for correcting the fuel increase and eliminating the misfire. Set #i.

【0103】この失火時補正係数設定サブルーチンで
は、ステップS61で、上記失火診断処理により設定され
た燃料噴射対象気筒#iに対応する失火フラグFLGM
IS#iを参照する。そして、FLGMIS#i=1で
燃料噴射対象気筒#iに失火が生じているときには、ス
テップS62へ進み、失火に対応して燃料噴射量を増量補
正するための該当気筒#iに対する気筒別失火時補正係
数KMF#iに、設定値として比例積分制御(PI制御)の
比例定数PKMFを加算して更新し(KMF#i←KMF#i+PK
MF)、該気筒別失火時補正係数KMF#iをプラス方向にス
キップさせる。
In the misfire correction coefficient setting subroutine, in step S61, the misfire flag FLGM corresponding to the fuel injection target cylinder #i set by the misfire diagnosis processing.
Refer to IS # i. If FLGMIS # i = 1 and misfiring has occurred in the fuel-injection target cylinder #i, the process proceeds to step S62, in which a cylinder-specific misfire for the corresponding cylinder #i for increasing the fuel injection amount in response to misfire The correction coefficient KMF # i is updated by adding a proportional constant PKMF of proportional integration control (PI control) as a set value (KMF # i ← KMF # i + PK).
MF), the cylinder-specific misfire correction coefficient KMF # i is skipped in the plus direction.

【0104】そして、ステップS63で、上記気筒別失火
時補正係数KMF#iを、この気筒別失火時補正係数KMF#i
による燃料増量の過補正を防止するための上限値KMFMA
Xと比較する。そして、KMF#i≦KMFMAXで気筒別失火時
補正係数KMF#iが上限値KMFMAX以下のときには、その
まま燃料噴射量設定ルーチンのステップS52へ進む。ま
た、KMF#i>KMFMAXで、上記気筒別失火時補正係数KM
F#iの増加更新によって該気筒別失火時補正係数KMF#i
が上限値KMFMAXに達したときには、ステップS64へ進
み、気筒別失火時補正係数KMF#iを上限値KMFMAXによ
って制限して(KMF#i←KMFMAX)、燃料噴射量設定ル
ーチンのステップS52へ進む。
In step S63, the cylinder-specific misfire correction coefficient KMF # i is replaced with the cylinder-specific misfire correction coefficient KMF # i.
Upper limit value KMFMA to prevent overcorrection of fuel increase due to fuel
Compare with X. When KMF # i ≦ KMFMAX and the cylinder-specific misfire correction coefficient KMF # i is equal to or smaller than the upper limit KMFMAX, the process proceeds directly to step S52 of the fuel injection amount setting routine. When KMF # i> KMFMAX, the cylinder-specific misfire correction coefficient KM
The cylinder-specific misfire correction coefficient KMF # i is updated by increasing F # i.
Has reached the upper limit KMFMAX, the routine proceeds to step S64, in which the cylinder-specific misfire correction coefficient KMF # i is limited by the upper limit KMFMAX (KMF # i ← KMFMAX), and the routine proceeds to step S52 of the fuel injection amount setting routine.

【0105】一方、上記ステップS61においてFLGM
IS#i=0で、該当燃料噴射対象気筒#iに失火が発
生していないときには、ステップS65へ進み、該当気筒
#iの気筒別失火時補正係数KMF#iを補正無しに対応す
る基準値1.0と比較する。そして、KMF#i>1.0の
ときには、ステップS66へ進み、上記気筒別失火時補正
係数KMF#iをPI制御の積分定数IKMFにより該当気筒
#iに対するルーチン実行毎に漸次減少させ(KMF#i←
KMF#i−IKMF)、燃料噴射量設定ルーチンのステップS
52へ進む。
On the other hand, in step S61, FLGM
If IS # i = 0 and no misfire has occurred in the relevant fuel injection target cylinder #i, the process proceeds to step S65, in which the cylinder-specific misfire correction coefficient KMF # i of the relevant cylinder #i is set to a reference value corresponding to no correction. Compare with 1.0. When KMF # i> 1.0, the routine proceeds to step S66, in which the cylinder-specific misfire correction coefficient KMF # i is gradually decreased by the PI control integration constant IKMF every time the routine for the corresponding cylinder #i is executed (KMF # i ←
KMF # i-IKMF), Step S of the fuel injection amount setting routine
Go to 52.

【0106】また、上記ステップS65においてKMF#i≦
1.0のときには、ステップS67へ進み、該当気筒#i
に対する気筒別失火時補正係数KMF#iを、KMF#i←1.
0として該気筒別失火時補正係数KMF#iによる燃料増量
補正無しの状態とし、燃料噴射量設定ルーチンのステッ
プS52へ進む。
In step S65, KMF # i ≦
If it is 1.0, the process proceeds to step S67, and the corresponding cylinder #i
, The cylinder-by-cylinder misfire correction coefficient KMF # i for KMF # i ← 1.
If the value is set to 0, the fuel increase correction by the cylinder-specific misfire correction coefficient KMF # i is not performed, and the process proceeds to step S52 of the fuel injection amount setting routine.

【0107】ここで、上記気筒別失火時補正係数KMF#i
が、燃料噴射量設定ルーチンのステップS52において各
種増量係数COEFの演算式に組み込まれ、この各種増
量係数COEFが該当気筒#iに対する最終的な燃料噴
射量を定める燃料噴射パルス幅Ti#iの演算式に組み込
まれることで(ステップS56参照)、該当気筒#iに失
火が生じたときには、直ちに該当気筒#iに対する燃料
噴射量が増量補正される。
Here, the cylinder-specific misfire correction coefficient KMF # i
Are incorporated into the equation for calculating the various increase coefficients COEF in step S52 of the fuel injection amount setting routine, and the various increase coefficients COEF are used to calculate the fuel injection pulse width Ti # i that determines the final fuel injection amount for the corresponding cylinder #i. By incorporating it into the equation (see step S56), when a misfire occurs in the relevant cylinder #i, the fuel injection amount for the relevant cylinder #i is immediately increased and corrected.

【0108】すなわち、該当気筒#iに失火が生じたと
き、上述の失火診断処理によって該当気筒#iの失火フ
ラグFLGMIS#iがセットされ(FLGMIS#i
=1)、この失火フラグFLGMIS#iのセットによ
り、図15のタイミングチャートに示すように、該当気
筒#iの失火の都度、該当気筒#iに対する気筒別失火
時補正係数KMF#iが比例定数PKMFによってプラス方向
にスキップされる。その結果、該当気筒#iに対する燃
料噴射量が増量補正されて、該当気筒#iの失火が解消
される。また、このとき、上記気筒別失火時補正係数K
MF#iは、上述のように、上限値KMFMAXにより制限され
るため、気筒別失火時補正係数KMF#iによる必要以上の
燃料増量補正が防止され、空燃比のオーバリッチによる
制御性の悪化、及び失火の解消が阻害されるのを防止す
ることができる。
That is, when a misfire occurs in the cylinder #i, the misfire flag FLGMIS # i of the cylinder #i is set by the above-described misfire diagnosis processing (FLGMIS # i).
= 1), by setting the misfire flag FLGMIS # i, as shown in the timing chart of FIG. 15, each time a misfire of the corresponding cylinder #i occurs, the cylinder-specific misfire correction coefficient KMF # i for the corresponding cylinder #i is set to a proportional constant. Skipped in the plus direction by PKMF. As a result, the fuel injection amount for the relevant cylinder #i is increased and corrected, and the misfire of the relevant cylinder #i is eliminated. At this time, the cylinder-specific misfire correction coefficient K
Since MF # i is limited by the upper limit value KMFMAX as described above, unnecessary fuel increase correction by the cylinder-specific misfire correction coefficient KMF # i is prevented, and controllability deteriorates due to over-rich air-fuel ratio. In addition, it is possible to prevent the elimination of the misfire from being hindered.

【0109】そして、該当気筒#iの失火が解消すると
失火フラグFLGMIS#iがクリアし、これにより、
該当気筒#iの失火の解消後は、該当気筒#iに対する
気筒別失火時補正係数KMF#iが積分定数IKMFによって
漸次的に減少される。その結果、失火の解消後は、該当
気筒#iに対する燃料噴射量の気筒別失火時補正係数K
MF#iによる燃料増量分が漸次減少され、空燃比の急変に
よる制御性の悪化が防止される。
Then, when the misfire of the corresponding cylinder #i is eliminated, the misfire flag FLGMIS # i is cleared.
After the elimination of the misfire of the relevant cylinder #i, the cylinder-specific misfire correction coefficient KMF # i for the relevant cylinder #i is gradually reduced by the integration constant IKMF. As a result, after the misfire has been eliminated, the misfire correction coefficient K for each cylinder of the fuel injection amount for the corresponding cylinder #i.
The amount of fuel increase by MF # i is gradually reduced, and deterioration of controllability due to a sudden change in the air-fuel ratio is prevented.

【0110】さらに、該当気筒#iの無失火状態が継続
すると、やがて気筒別失火時補正係数KMF#iが、KMF#i
≦1.0となり、以後、失火が再度発生するまではKMF
#i=1.0に保持されて、気筒別失火時補正係数KMF#i
による燃料増量補正が中止される。
Further, if the non-misfire state of the cylinder #i continues, the cylinder-specific misfire correction coefficient KMF # i eventually becomes KMF # i.
≦ 1.0, and then KMF until misfire occurs again
# i = 1.0, and the misfire correction coefficient KMF # i for each cylinder
The fuel increase correction due to is stopped.

【0111】そして、失火時補正係数設定サブルーチン
の終了により、燃料噴射量設定ルーチンのステップS52
へ進むと(図7参照)、上記各係数により各種増量係数
COEFを算出し(COEF←KST×KMF#i×(1+K
MR+KFULL+KTW+KAS+KAI))、ステップS53で、
空燃比フィードバック補正係数αを読み出す。
Then, upon completion of the misfire correction coefficient setting subroutine, step S52 of the fuel injection amount setting routine is performed.
(See FIG. 7), various increase coefficients COEF are calculated from the above coefficients (COEF ← KST × KMF # i × (1 + K
MR + KFULL + KTW + KAS + KAI)), at step S53,
The air-fuel ratio feedback correction coefficient α is read.

【0112】この空燃比フィードバック補正係数αは、
周知のように、O2センサ29の出力信号に応じて設定
され、エンジン始動直後のO2センサ29の非活性時
は、α=1.0に固定される。従って、このときには、
空燃比オープンループ制御となる。
This air-fuel ratio feedback correction coefficient α is
As is well known, it is set in accordance with the output signal of the O2 sensor 29, and when the O2 sensor 29 is inactive immediately after the engine is started, α is fixed to 1.0. Therefore, at this time,
The air-fuel ratio open loop control is performed.

【0113】また、O2センサ29の活性後において
は、加減速等の過渡時を除き、空燃比フードバック補正
係数αは、O2センサ29の出力信号(出力電圧)とス
トイキオ(理論空燃比)に対応するスライスレベルとの
比較結果に基づいてPI制御等により設定される。そし
て、これにより空燃比がストイキオに収束するよう制御
される。
After the O2 sensor 29 is activated, the air-fuel ratio feedback correction coefficient α is determined by the output signal (output voltage) of the O2 sensor 29 and the stoichiometric air (the stoichiometric air-fuel ratio) except during transients such as acceleration and deceleration. It is set by PI control or the like based on the result of comparison with the corresponding slice level. Thus, the air-fuel ratio is controlled so as to converge to stoichiometry.

【0114】続くステップS54では、エンジン回転数NE
と基本燃料噴射パルス幅Tpとに基づいてバックアップ
RAM44の一連のアドレスからなる空燃比学習値テー
ブルを参照して空燃比学習値KLRを検索し、補間計算に
より空燃比学習補正係数KBLRCを設定して、ステップS5
5へ進む。この空燃比学習補正係数KBLRCの基となる空
燃比学習値KLRは、周知のように、エンジン回転数NE
とエンジン負荷を表す基本燃料噴射パルス幅Tpとによ
る領域毎に、上記空燃比フィードバック補正係数αの所
定周期における平均値の基準値に対するずれに応じて学
習され、生産時のばらつき、吸入空気量センサ24等の
吸入空気量計測系およびインジェクタ11等の燃料供給
系の経時劣化等を補正するためのものである。
In the following step S54, the engine speed NE
The air-fuel ratio learning value KLR is searched by referring to the air-fuel ratio learning value table composed of a series of addresses in the backup RAM 44 based on the basic fuel injection pulse width Tp and the air-fuel ratio learning correction coefficient KBLRC is set by interpolation calculation. , Step S5
Proceed to 5. The air-fuel ratio learning value KLR, which is the basis of the air-fuel ratio learning correction coefficient KBLRC, is, as is well known, the engine speed NE.
And the basic fuel injection pulse width Tp representing the engine load is learned in accordance with the deviation of the average value of the air-fuel ratio feedback correction coefficient α from the reference value in a predetermined cycle with respect to the reference value. This is for correcting deterioration with time of the intake air amount measuring system such as 24 and the fuel supply system such as the injector 11.

【0115】ステップS55では、バッテリ電圧VBに基づ
きテーブル参照によりインジェクタ11の無効噴射時間
を補償する電圧補正パルス幅Tsを設定する。
In step S55, the voltage correction pulse width Ts for compensating the invalid injection time of the injector 11 is set by referring to the table based on the battery voltage VB.

【0116】続くステップS56で、上記基本燃料噴射パ
ルス幅Tpに、上記各種増量係数COEF及び空燃比フ
ィードバック補正係数αを乗算して空燃比補正すると共
に、空燃比学習補正係数KBLRCを乗算して学習補正し、
更に上記電圧補正パルス幅Tsを加算して電圧補正し、
該当燃料噴射対象気筒#iへ供給する最終的な燃料噴射
量を定める気筒別の燃料噴射パルス幅Ti#iを算出する
(Ti#i←Tp×COEF×α×KBLRC+Ts)。
In the subsequent step S56, the basic fuel injection pulse width Tp is multiplied by the various increase coefficients COEF and the air-fuel ratio feedback correction coefficient α to perform air-fuel ratio correction, and is further multiplied by the air-fuel ratio learning correction coefficient KBLRC to perform learning. Amend,
Further, the voltage is corrected by adding the voltage correction pulse width Ts,
The fuel injection pulse width Ti # i for each cylinder that determines the final fuel injection amount to be supplied to the relevant fuel injection target cylinder #i is calculated (Ti # i ← Tp × COEF × α × KBRRC + Ts).

【0117】そして、ステップS57で、上記燃料噴射パ
ルス幅Ti#iを該当燃料噴射対象気筒#iに対応する燃
料噴射タイマにセットして、ルーチンを抜ける。
Then, in step S57, the fuel injection pulse width Ti # i is set in the fuel injection timer corresponding to the relevant cylinder #i, and the process exits.

【0118】その結果、所定タイミングで上記燃料噴射
タイマがスタートされ、上記燃料噴射パルス幅Ti#iの
駆動パルス信号が該当燃料噴射対象気筒#iのインジェ
クタ11へ出力され、該インジェクタ11から所定に計
量された燃料が噴射される。ここで、気筒毎に失火診断
を行い、失火を生じたときに、該当気筒#iに対する気
筒別失火時補正係数KMF#iを比例定数PKMFによる設定
値分増加し、該当気筒#iに対する燃料噴射量を直ちに
増量補正して該当気筒#iの失火を解消するため、エン
ジン始動直後においても、基となる燃料噴射量を失火に
よるエンジン回転変動許容限界に対応する理論空燃比近
辺の限界空燃比に対応して設定することができる。
As a result, the fuel injection timer is started at a predetermined timing, and a drive pulse signal of the fuel injection pulse width Ti # i is output to the injector 11 of the corresponding cylinder #i for fuel injection. Metered fuel is injected. Here, misfire diagnosis is performed for each cylinder, and when a misfire occurs, the cylinder-specific misfire correction coefficient KMF # i for the relevant cylinder #i is increased by the set value based on the proportionality constant PKMF, and fuel injection for the relevant cylinder #i is performed. Immediately after the engine is started, the base fuel injection amount is set to the limit air-fuel ratio near the stoichiometric air-fuel ratio corresponding to the permissible limit of engine rotation fluctuation due to the misfire in order to eliminate the misfire of the corresponding cylinder #i by immediately increasing and correcting the amount. Can be set accordingly.

【0119】すなわち、失火時に該当気筒#iに対する
燃料噴射量を気筒別失火時補正係数KMF#iによって増量
補正するので、エンジン始動直後の安定性を確保するた
めの上記始動後増量係数KAS、及び水温増量係数KTWを
相対的に低く設定することができ、且つ、始動後増量係
数KAS及び水温増量係数KTWを、エンジン毎のばらつき
を考慮して燃料増量率を増加するよう高めに設定する必
要がなくなる。
That is, since the fuel injection amount for the corresponding cylinder #i at the time of misfire is increased by the cylinder-by-cylinder misfire correction coefficient KMF # i, the post-start increase coefficient KAS for ensuring the stability immediately after the engine is started, and The water temperature increase coefficient KTW can be set relatively low, and it is necessary to set the post-start increase coefficient KAS and the water temperature increase coefficient KTW to be high so as to increase the fuel increase rate in consideration of the variation of each engine. Disappears.

【0120】従って、エンジン始動直後の空燃比オープ
ンループ制御時においても、失火による回転変動を防止
してドライバビリティを向上しつつ、排気エミッション
の改善に効果のある理論空燃比近辺での限界空燃比によ
る運転が可能となり、排気エミッションの改善とドライ
バビリティの向上とを両立することができる。
Therefore, even in the air-fuel ratio open loop control immediately after the engine is started, the limit air-fuel ratio in the vicinity of the stoichiometric air-fuel ratio which is effective for improving the exhaust emission while preventing the rotation fluctuation due to the misfire and improving the drivability. , The exhaust emission and the drivability can be improved at the same time.

【0121】次に、図20及び図21に基づいて実施の
第2形態を説明する。
Next, a second embodiment will be described with reference to FIGS.

【0122】本実施の形態では、上記実施の第1形態に
おける失火時補正係数設定サブルーチンを代えるのみで
あり、実施の第1形態の図8に示す処理に代え、図20
に示す処理を採用する。
In this embodiment, only the misfire correction coefficient setting subroutine in the first embodiment described above is changed, and instead of the process shown in FIG. 8 of the first embodiment, FIG.
Is adopted.

【0123】本実施の形態においては、気筒毎に失火診
断を行い、失火を検出したとき、該当気筒#iの気筒別
失火時補正係数KMF#iを上記比例定数PKMFによる第1
の設定値分増加し、該当気筒#iに対する燃料噴射量を
直ちに増量補正して該当気筒#iの失火を解消すると共
に、このとき他の気筒#i+1,#i+2,#i+3の気筒別
失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)
を、上記比例定数PKMFを等分配した第2の設定値に相
当するリーン補正比例定数PDKMFにより減少し、他の気
筒#i+1,#i+2,#i+3に対する燃料噴射量を上記該
当気筒#iの燃料増量補正に対応して等分配減量補正す
ることで、失火時の燃料補正によるマクロ的なトータル
空燃比(全気筒によるトータル空燃比)の変化を防ぎ、
空燃比制御性の悪化を防ぐ。
In the present embodiment, misfire diagnosis is performed for each cylinder, and when misfire is detected, the cylinder-by-cylinder misfire correction coefficient KMF # i of the corresponding cylinder #i is determined by the first proportional constant PKMF.
And the fuel injection amount for the corresponding cylinder #i is immediately increased and corrected to eliminate the misfire of the corresponding cylinder #i, and at this time, the other cylinders # i + 1, # i + 2, # i + Misfire correction coefficient for each cylinder KMF # (i + 1), KMF # (i + 2), KMF (i + 3)
Is reduced by a lean correction proportional constant PDKMF corresponding to a second set value obtained by equally dividing the proportional constant PKMF, and the fuel injection amount for the other cylinders # i + 1, # i + 2, # i + 3 is reduced as described above. By performing the equal distribution reduction correction corresponding to the fuel increase correction of the corresponding cylinder #i, the macro total air-fuel ratio (total cylinder-by-cylinder total air-fuel ratio) change due to the fuel correction at the time of misfire is prevented.
Prevent deterioration of air-fuel ratio controllability.

【0124】なお、上記リーン補正比例定数PDKMFは、
エンジン1の気筒数をmとすれば、PDKMF=PKMF/
(m−1)で与えられ、本形態においては4気筒エンジ
ンのため、PDKMF=PKMF/3である。
The lean correction proportional constant PDKMF is
If the number of cylinders of engine 1 is m, PDKMF = PKMF /
In this embodiment, PDKMF = PKMF / 3 because the engine is a four-cylinder engine.

【0125】そして、失火の解消後は、該当気筒#iに
ついては、気筒別失火時補正係数KMF#iを、ルーチン実
行周期により与えられる所定周期毎に上記積分定数IKM
FによりKMF#i=0の補正無しの状態となるまで漸次的
に減少して、失火時補正係数KMF#iによる燃料増量補正
を漸次的に解消する。また、このとき、他の気筒#i+
1,#i+2,#i+3については、これらの気筒に対する
気筒別失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i
+3)を、上記所定周期毎に上記積分定数IKMFを等分配し
たリッチ補正積分定数IUKMFにより、それぞれ補正無し
の状態となるまで漸次的に増加させ、失火時補正係数K
MF#(i+1),KMF#(i+2),KMF(i+3)による各気筒#i+
1,#i+2,#i+3に対する燃料減量補正を漸次的に解
消する。
After the misfire has been eliminated, the cylinder-specific misfire correction coefficient KMF # i for the relevant cylinder #i is changed at every predetermined cycle given by the routine execution cycle.
F gradually decreases until KMF # i = 0 without correction, and the fuel increase correction by the misfire correction coefficient KMF # i is gradually eliminated. At this time, the other cylinder # i +
Regarding 1, # i + 2 and # i + 3, cylinder-specific misfire correction coefficients KMF # (i + 1), KMF # (i + 2), and KMF (i
+3) is gradually increased by the rich correction integration constant IUKMF obtained by equally distributing the integration constant IKMF in the predetermined cycle until no correction is made, and the misfire correction coefficient K
Each cylinder # i + by MF # (i + 1), KMF # (i + 2), KMF (i + 3)
The fuel reduction correction for 1, # i + 2 and # i + 3 is gradually eliminated.

【0126】これにより、各気筒別失火時補正係数KMF
#i,KMF#(i+1),KMF#(i+2),KMF(i+3)による各気筒
に対する燃料補正解除時の空燃比の急変が抑制されて制
御性の悪化を防止することが可能となり、また、失火解
消後の上述の処理により、このときにおいても、マクロ
的なトータル空燃比の変化を防ぎ、空燃比制御性の悪化
を防ぐことが可能となる。そして、失火の解消後は、直
ちに各気筒の燃焼状態が均一化し、気筒毎の燃焼状態の
不均一に起因するエンジン回転変動をも防止することが
可能となる。
As a result, the misfire correction coefficient KMF for each cylinder is obtained.
#i, KMF # (i + 1), KMF # (i + 2), and KMF (i + 3) suppress sudden changes in the air-fuel ratio when canceling the fuel correction for each cylinder to prevent deterioration of controllability. In addition, the above-described processing after the elimination of the misfire also makes it possible to prevent a change in the total air-fuel ratio on a macro scale and prevent the deterioration of the air-fuel ratio controllability. After the elimination of the misfire, the combustion state of each cylinder is immediately made uniform, and it is possible to prevent engine rotation fluctuation caused by uneven combustion state of each cylinder.

【0127】なお、上記リッチ補正積分定数IUKMFは、
IUKMF=IKMF/(m−1);mは気筒数、で与えら
れ、本形態においては4気筒エンジンのため、IUKMF=
IKMF/3である。
The above-mentioned rich correction integration constant IUKMF is
IUKMF = IKMF / (m-1); m is given by the number of cylinders. In this embodiment, since the four-cylinder engine is used, IUKMF =
IKMF / 3.

【0128】図20の失火時補正係数設定サブルーチン
について説明すると、上述の燃料噴射量設定ルーチンの
ステップS50(図7参照)で、燃料噴射対象気筒データ
#iを読み出した後、ステップS51で、この失火時補正
係数設定サブルーチンを実行する。
The misfire correction coefficient setting subroutine of FIG. 20 will be described. The fuel injection target cylinder data #i is read in step S50 (see FIG. 7) of the above-described fuel injection amount setting routine, and then in step S51, A misfire correction coefficient setting subroutine is executed.

【0129】この図20の失火時補正係数設定サブルー
チンでは、先ず、ステップS71で、上述の失火診断処理
により設定された燃料噴射対象気筒#iに対応する失火
フラグFLGMIS#iを参照する。
In the misfire correction coefficient setting subroutine of FIG. 20, first, in step S71, the misfire flag FLGMIS # i corresponding to the fuel injection target cylinder #i set by the misfire diagnosis processing is referred to.

【0130】そして、FLGMIS#i=1で燃料噴射
対象気筒#iに失火が生じているときには、ステップS7
2へ進み、失火に対応して燃料噴射量を増量補正するた
めの該当気筒#iに対する気筒別失火時補正係数KMF#i
に、比例定数PKMFを加算して更新し(KMF#i←KMF#i
+PKMF)、該当気筒#iに対する気筒別失火時補正係
数KMF#iをプラス方向にスキップさせる。
If FLGMIS # i = 1 and misfiring has occurred in the fuel injection target cylinder #i, step S7
2 and the cylinder-by-cylinder misfire correction coefficient KMF # i for the corresponding cylinder #i for increasing the fuel injection amount in response to misfire
Is updated by adding the proportionality constant PKMF to (KMF # i ← KMF # i
+ PKMF), the cylinder-specific misfire correction coefficient KMF # i for the corresponding cylinder #i is skipped in the plus direction.

【0131】次いでステップS73で、他の気筒#i+1,
#i+2,#i+3に対する気筒別失火時補正係数KMF#(i+
1),KMF#(i+2),KMF(i+3)を、上記比例定数PKMFを等
分配した値に相当するリーン補正比例定数PDKMFによっ
て、それぞれ減少更新し(KMF#(i+1)←KMF#(i+1)−P
DKMF、KMF#(i+2)←KMF#(i+2)−PDKMF、KMF#(i+3)←
KMF#(i+3)−PDKMF)、これら各気筒#i+1,#i+2,
#i+3に対する気筒別失火時補正係数KMF#(i+1),KMF
#(i+2),KMF(i+3)をマイナス方向にスキップさせる。
Next, at step S73, the other cylinders # i + 1,
Cylinder-specific misfire correction coefficient KMF # (i + 2) for # i + 2 and # i + 3
1), KMF # (i + 2) and KMF (i + 3) are respectively reduced and updated by a lean correction proportional constant PDKMF corresponding to a value obtained by equally dividing the proportional constant PKMF (KMF # (i + 1)). ← KMF # (i + 1) -P
DKMF, KMF # (i + 2) ← KMF # (i + 2) −PDKMF, KMF # (i + 3) ←
KMF # (i + 3) -PDKMF), and these cylinders # i + 1, # i + 2,
Cylinder misfire correction coefficient KMF # (i + 1), KMF for # i + 3
# (i + 2) and KMF (i + 3) are skipped in the negative direction.

【0132】そして、ステップS74で、該当気筒#iの
気筒別失火時補正係数KMF#iを、この気筒別失火時補正
係数KMF#iによる燃料増量の過補正を防止するための上
限値KMFMAXと比較する。そして、KMF#i≦KMFMAXで気
筒別失火時補正係数KMF#iが上限値KMFMAX以下のとき
には、そのまま上述の燃料噴射量設定ルーチンのステッ
プS52(図7参照)へ進む。また、KMF#i>KMFMAXで、
上記気筒別失火時補正係数KMF#iの増加更新によって該
気筒別失火時補正係数KMF#iが上限値KMFMAXに達した
ときには、ステップS75へ進み、この気筒別失火時補正
係数KMF#iを上限値KMFMAXによって制限して(KMF#i
←KMFMAX)、燃料噴射量設定ルーチンのステップS52へ
進む。
In step S74, the cylinder-specific misfire correction coefficient KMF # i of the cylinder #i is set to an upper limit value KMFMAX for preventing the fuel increase from being excessively corrected by the cylinder-specific misfire correction coefficient KMF # i. Compare. If KMF # i ≦ KMFMAX and the cylinder-specific misfire correction coefficient KMF # i is equal to or smaller than the upper limit KMFMAX, the routine proceeds directly to step S52 (see FIG. 7) of the fuel injection amount setting routine described above. Also, if KMF # i> KMFMAX,
When the cylinder-specific misfire correction coefficient KMF # i reaches the upper limit value KMFMAX by increasing and updating the cylinder-specific misfire correction coefficient KMF # i, the process proceeds to step S75, where the cylinder-specific misfire correction coefficient KMF # i is set to the upper limit. Limited by the value KMFMAX (KMF # i
← KMFMAX), and proceeds to step S52 of the fuel injection amount setting routine.

【0133】一方、上記ステップS71においてFLGM
IS#i=0で、該当燃料噴射対象気筒#iに失火が発
生していないときには、ステップS76へ進み、該当気筒
#iの気筒別失火時補正係数KMF#iを補正無しに対応す
る基準値1.0と比較する。そして、KMF#i>1.0の
ときには、ステップS77へ進み、この気筒別失火時補正
係数KMF#iを積分定数IKMFにより該当気筒#iに対す
るルーチン実行毎に漸次減少させ(KMF#i←KMF#i−I
KMF)、燃料噴射量設定ルーチンのステップS52へ進む。
On the other hand, in step S71, FLGM
If IS # i = 0 and no misfire has occurred in the relevant fuel injection target cylinder #i, the process proceeds to step S76, in which the cylinder-specific misfire correction coefficient KMF # i of the relevant cylinder #i is set to a reference value corresponding to no correction. Compare with 1.0. When KMF # i> 1.0, the routine proceeds to step S77, in which the cylinder-specific misfire correction coefficient KMF # i is gradually decreased by the integration constant IKMF every time the routine for the corresponding cylinder #i is executed (KMF # i ← KMF). # i-I
KMF), and the process proceeds to Step S52 of the fuel injection amount setting routine.

【0134】また、上記ステップS76においてKMF#i=
1.0で該当気筒#iに対し気筒別失火時補正係数KMF
#iによる燃料補正無しのときには、そのままルーチンを
抜けて、燃料噴射量設定ルーチンのステップS52へ進
み、この気筒別失火時補正係数KMF#iによる燃料補正無
しの状態を継続する。
In step S76, KMF # i =
At 1.0, the cylinder-specific misfire correction coefficient KMF for the corresponding cylinder #i
When there is no fuel correction by #i, the routine directly exits the routine and proceeds to step S52 of the fuel injection amount setting routine to continue the state without fuel correction by the cylinder-specific misfire correction coefficient KMF # i.

【0135】従って、該当気筒#iの失火解消後は、こ
の該当気筒#iに対する気筒別失火時補正係数KMF#i
が、積分値IKMFによってKMF#i=0の補正無しの状態
となるまで漸次的に減少され、この気筒別失火時補正係
数KMF#iによる該当気筒#iに対する燃料増量補正が漸
次的に解消される。
Therefore, after the misfire of the relevant cylinder #i is eliminated, the cylinder-specific misfire correction coefficient KMF # i for the relevant cylinder #i
Is gradually decreased by the integral value IKMF until KMF # i = 0 without correction, and the fuel increase correction for the corresponding cylinder #i by the cylinder-specific misfire correction coefficient KMF # i is gradually eliminated. You.

【0136】一方、KMF#i<1.0のときには、前回以
前のルーチン実行時に、他の気筒#i+1,#i+2,#i
+3の何れかに失火が生じ、該当気筒#iに対する失火時
補正係数KMF#iが上記ステップS73の処理によってマイ
ナス方向へスキップされた後であり、このときにはステ
ップS78へ進む。
On the other hand, when KMF # i <1.0, the other cylinders # i + 1, # i + 2, #i are executed when the previous routine is executed.
After the misfire has occurred in any of +3 and the misfire correction coefficient KMF # i for the corresponding cylinder #i has been skipped in the negative direction by the processing in step S73, the process proceeds to step S78.

【0137】ステップS78では、該当気筒#iの気筒別
失火時補正係数KMF#iを、この気筒別失火時補正係数K
MF#iによる燃料減量の過補正を防止するための下限値K
MFMINと比較する。すなわち、この下限値KMFMINは、上
記上限値KMFMAXに対応して設定され、失火気筒の気筒
別失火時補正係数が上限値KMFMAXによって制限された
とき、これに対応して、他の気筒の気筒別失火時補正係
数を下限値KMFMINによって制限することで、この場合
においても、マクロ的なトータル空燃比の変化を防ぐ。
従って、下限値KMFMINは、KMFMIN=1.0−(KMFMA
X−1.0)/(m−1)で与えられ、本実施の形態に
おいては、4気筒エンジンのためm=4であり、KMFMI
N=1.0−(KMFMAX−1.0)/3により設定され
る。
In step S78, the cylinder-by-cylinder misfire correction coefficient KMF # i of the corresponding cylinder #i is replaced by the cylinder-by-cylinder misfire correction coefficient K
Lower limit K for preventing overcorrection of fuel loss by MF # i
Compare with MFMIN. That is, the lower limit value KMFMIN is set corresponding to the upper limit value KMFMAX. When the cylinder-specific misfire correction coefficient of the misfiring cylinder is limited by the upper limit value KMFMAX, the lower limit value KMFMIN is set corresponding to the cylinder type of the other cylinder. By limiting the misfire correction coefficient by the lower limit value KMFMIN, a macroscopic change in the total air-fuel ratio is prevented in this case as well.
Therefore, the lower limit value KMFMIN is KMFMIN = 1.0− (KMFMA
X−1.0) / (m−1). In the present embodiment, m = 4 for a four-cylinder engine, and KMFMI
N = 1.0− (KMFMAX−1.0) / 3.

【0138】そして、KMF#i<KMFMINで、上記気筒別
失火時補正係数KMF#iのマイナス方向へのスキップによ
って該気筒別失火時補正係数KMF#iが下限値KMFMINに
達しているときには、ステップS79へ進み、この気筒別
失火時補正係数KMF#iを下限値KMFMINによって制限し
て(KMF#i←KMFMIN)、燃料噴射量設定ルーチンのス
テップS52へ進む。
If KMF # i <KMFMIN and the cylinder-specific misfire correction coefficient KMF # i has reached the lower limit value KMFMIN due to the skipping of the cylinder-specific misfire correction coefficient KMF # i in the negative direction. The process proceeds to S79, in which the cylinder-specific misfire correction coefficient KMF # i is limited by the lower limit KMFMIN (KMF # i ← KMFMIN), and the process proceeds to step S52 of the fuel injection amount setting routine.

【0139】また、KMF#i≧KMFMINで気筒別失火時補
正係数KMF#iが下限値KMFMIN以上のときには、ステッ
プS80へ進み、この気筒別失火時補正係数KMF#iを、上
記積分定数IKMFを等分配した値に相当するリッチ補正
積分定数IUKMFによって、該当気筒#iに対するルーチ
ン実行毎に漸次増加させ(KMF#i←KMF#i+IUKMF)、
燃料噴射量設定ルーチンのステップS52へ進む。
If KMF # i ≧ KMFMIN and the cylinder-specific misfire correction coefficient KMF # i is equal to or greater than the lower limit KMFMIN, the routine proceeds to step S80, where the cylinder-specific misfire correction coefficient KMF # i is calculated by subtracting the integral constant IKMF from the above-mentioned integral constant IKMF. By the rich correction integration constant IUKMF corresponding to the equally distributed value, the value is gradually increased every time the routine for the corresponding cylinder #i is executed (KMF # i ← KMF # i + IUKMF),
The routine proceeds to step S52 of the fuel injection amount setting routine.

【0140】従って、他の気筒#i+1,#i+2,#i+3
の何れかに失火が生じ、該当気筒#iに対する失火時補
正係数KMF#iがリーン補正比例定数PDKMFによってマイ
ナス方向へスキップされた後は、この該当気筒#iに対
する気筒別失火時補正係数KMF#iが、リッチ補正積分値
IUKMFによってKMF#i=0の補正無しの状態となるまで
漸次的に増加され、この気筒別失火時補正係数KMF#iに
よる該当気筒#iに対する燃料減量補正が漸次的に解消
される。
Therefore, the other cylinders # i + 1, # i + 2, # i + 3
After the misfire correction coefficient KMF # i for the relevant cylinder #i is skipped in the negative direction by the lean correction proportional constant PDKMF, the cylinder-specific misfire correction coefficient KMF # for the relevant cylinder #i i is gradually increased by the rich correction integrated value IUKMF until KMF # i = 0 without correction, and the fuel loss correction for the corresponding cylinder #i by the cylinder-specific misfire correction coefficient KMF # i is gradually performed. Will be resolved.

【0141】そして、上記気筒別失火時補正係数KMF#i
が、図7に示す燃料噴射量設定ルーチンのステップS52
において各種増量係数COEFの演算式に組み込まれ、
この各種増量係数COEFが該当気筒#iに対する最終
的な燃料噴射量を定める燃料噴射パルス幅Ti#iの演算
式に組み込まれることで(図7のステップS56参照)、
該当気筒#iに失火が生じたときには、直ちに該当気筒
#iに対する燃料噴射量が増量補正される。
Then, the cylinder-specific misfire correction coefficient KMF # i
Is the step S52 of the fuel injection amount setting routine shown in FIG.
Is incorporated into the equation for calculating the increase coefficient COEF,
By incorporating these various increase coefficients COEF into the equation for calculating the fuel injection pulse width Ti # i that determines the final fuel injection amount for the corresponding cylinder #i (see step S56 in FIG. 7),
When a misfire occurs in the relevant cylinder #i, the fuel injection amount for the relevant cylinder #i is immediately increased and corrected.

【0142】すなわち、該当気筒#iに失火が生じたと
き、前述の失火診断処理によって該当気筒#iの失火フ
ラグFLGMIS#iがセットされ(FLGMIS#i
=1)、この失火フラグFLGMIS#iのセットによ
り、図21のタイミングチャートに示すように、該当気
筒#iの失火の都度、該当気筒#iに対する気筒別失火
時補正係数KMF#iが比例定数PKMFによってプラス方向
にスキップされる。その結果、該当気筒#iに対する燃
料噴射量が増量補正されて、該当気筒#iの失火が解消
される。また、このとき、上記気筒別失火時補正係数K
MF#iは、上述のように、上限値KMFMAXにより制限され
るため、気筒別失火時補正係数KMF#iによる必要以上の
燃料増量補正が防止され、空燃比のオーバリッチによる
制御性の悪化、及び失火の解消が阻害されるのを防止す
ることができる。
That is, when a misfire occurs in the cylinder #i, the misfire flag FLGMIS # i of the cylinder #i is set by the above-described misfire diagnosis processing (FLGMIS # i).
= 1), by setting the misfire flag FLGMIS # i, as shown in the timing chart of FIG. 21, the misfiring correction coefficient KMF # i for each cylinder #i for each cylinder #i is proportional to the proportional constant every time a misfire occurs in the corresponding cylinder #i. Skipped in the plus direction by PKMF. As a result, the fuel injection amount for the relevant cylinder #i is increased and corrected, and the misfire of the relevant cylinder #i is eliminated. At this time, the cylinder-specific misfire correction coefficient K
Since MF # i is limited by the upper limit value KMFMAX as described above, unnecessary fuel increase correction by the cylinder-specific misfire correction coefficient KMF # i is prevented, and controllability deteriorates due to over-rich air-fuel ratio. In addition, it is possible to prevent the elimination of the misfire from being hindered.

【0143】更に、このとき、他の気筒#i+1,#i+
2,#i+3に対しては、これらの各気筒#i+1,#i+
2,#i+3に対する気筒別失火時補正係数KMF#(i+1),
KMF#(i+2),KMF(i+3)が、上記比例定数PKMFを等分配
した値に相当するリーン補正比例定数PDKMFによって、
それぞれマイナス方向にスキップされる。これにより、
他の気筒#i+1,#i+2,#i+3に対する燃料噴射量が
上記該当気筒#iの燃料増量補正に対応して等分配減量
補正される。その結果、失火時の燃料補正によるマクロ
的なトータル空燃比の変化が防止され、空燃比制御性の
悪化が防止される。そして、マイナス方向へのスキップ
された気筒別失火時補正係数は、上記下限値KMFMINに
より制限され、必要以上の燃料減量過補正が防止され
る。
At this time, the other cylinders # i + 1, # i +
2, # i + 3, these cylinders # i + 1, # i +
2, cylinder-specific misfire correction coefficient KMF # (i + 1) for # i + 3,
KMF # (i + 2) and KMF (i + 3) are obtained by a lean correction proportional constant PDKMF corresponding to a value obtained by equally dividing the proportional constant PKMF.
Each is skipped in the minus direction. This allows
The fuel injection amounts for the other cylinders # i + 1, # i + 2, # i + 3 are equally-distributed and reduced in correspondence with the fuel increase correction for the corresponding cylinder #i. As a result, a change in the total air-fuel ratio on a macro scale due to the fuel correction at the time of misfire is prevented, and deterioration of the air-fuel ratio controllability is prevented. Then, the cylinder-by-cylinder misfire correction coefficient skipped in the minus direction is limited by the lower limit value KMFMIN, so that excessive correction of fuel loss more than necessary is prevented.

【0144】また、該当気筒#iの失火の解消後は、該
当気筒#iの失火フラグFLGMIS#iがクリアし、
これにより、該当気筒#iに対する気筒別失火時補正係
数KMF#iが積分定数IKMFによって漸次的に減少され
る。その結果、該当気筒#iの失火の解消後は、該当気
筒#iに対する燃料噴射量の気筒別失火時補正係数KMF
#iによる燃料増量分が漸次減少され、空燃比の急変によ
る制御性の悪化が防止される。
After the misfire of the corresponding cylinder #i is resolved, the misfire flag FLGMIS # i of the corresponding cylinder #i is cleared.
As a result, the cylinder-by-cylinder misfire correction coefficient KMF # i for the corresponding cylinder #i is gradually reduced by the integration constant IKMF. As a result, after the misfire of the corresponding cylinder #i is eliminated, the cylinder-by-cylinder misfire correction coefficient KMF of the fuel injection amount for the corresponding cylinder #i
The amount of fuel increase due to #i is gradually reduced, and deterioration in controllability due to a sudden change in the air-fuel ratio is prevented.

【0145】また、このとき、他の気筒#i+1,#i+
2,#i+3については、これらの気筒に対する気筒別失
火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)が、
上記積分定数IKMFを等分配したリッチ補正積分定数IU
KMFにより漸次的に増加される。その結果、これらの各
気筒#i+1,#i+2,#i+3についても、それぞれ気筒
別失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)
による燃料減量補正が漸次的に解消され、空燃比の急変
による制御性の悪化が防止される。また、これらの気筒
別失火時補正係数KMF#(i+1),KMF#(i+2),KMF(i+3)
を漸次的に増加させるに際し、上記積分定数IKMFを等
分配したリッチ補正積分定数IUKMFを用いるので、この
場合においても、マクロ的なトータル空燃比の変化が防
止され、空燃比制御性の悪化を防ぐことが可能となる。
そして、失火の解消後は、直ちに各気筒の燃焼状態が均
一化し、気筒毎の燃焼状態の不均一に起因するエンジン
回転変動をも防止することが可能となる。
At this time, the other cylinders # i + 1, # i +
2, # i + 3, cylinder-specific misfire correction coefficients KMF # (i + 1), KMF # (i + 2), and KMF (i + 3) for these cylinders are given by
Rich correction integration constant IU obtained by equally dividing the above integration constant IKMF
Gradually increased by KMF. As a result, for each of the cylinders # i + 1, # i + 2, and # i + 3, the cylinder-specific misfire correction coefficients KMF # (i + 1), KMF # (i + 2), and KMF (i +3)
The fuel loss correction due to the above is gradually eliminated, and deterioration in controllability due to a sudden change in the air-fuel ratio is prevented. Further, these cylinder-specific misfire correction coefficients KMF # (i + 1), KMF # (i + 2), and KMF (i + 3)
Is gradually increased, the rich correction integration constant IUKMF obtained by equally dividing the integration constant IKMF is used. In this case as well, a macroscopic change in the total air-fuel ratio is prevented, and the deterioration of the air-fuel ratio controllability is prevented. It becomes possible.
After the elimination of the misfire, the combustion state of each cylinder is immediately made uniform, and it is possible to prevent engine rotation fluctuation caused by uneven combustion state of each cylinder.

【0146】さらに、各気筒の無失火状態が継続する
と、やがて各気筒別失火時補正係数KMF#i,KMF#(i+
1),KMF#(i+2),KMF(i+3)は、1.0となり、以後、
失火が発生するまでは1.0に保持されて、各気筒別失
火時補正係数KMF#i,KMF#(i+1),KMF#(i+2),KMF(i
+3)による各気筒#i,#i+1,#i+2,#i+3に対す
る燃料補正が中止される。
Further, if the non-misfire state of each cylinder continues, the misfire correction coefficient KMF # i, KMF # (i +
1), KMF # (i + 2), KMF (i + 3) become 1.0, and thereafter,
Until a misfire occurs, the value is maintained at 1.0, and the misfire correction coefficient KMF # i, KMF # (i + 1), KMF # (i + 2), KMF (i
+3), the fuel correction for each cylinder #i, # i + 1, # i + 2, # i + 3 is stopped.

【0147】なお、上記実施の各形態においては、エン
ジン回転状態量としてエンジン回転数を用い、所定周期
毎のエンジン回転変化量に基づいて失火を検出するよう
にしているが、エンジン回転数に代えてエンジン回転周
期、エンジン回転角速度、或いはエンジン回転角加速度
を用いるようにしてもよい。また、本発明はこれに限定
されず、エンジン回転状態量に基づく失火検出に限ら
ず、例えば、点火プラグの放電電極間のイオン電流を検
出し、このイオン電流によって失火を検出するようにし
てもよい。
In each of the above embodiments, 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 cycle. Alternatively, the engine rotation cycle, the engine rotation angular velocity, or the engine rotation angular acceleration may be used. Further, the present invention is not limited to this, and is not limited to misfire detection based on the amount of engine rotation. For example, an ion current between discharge electrodes of a spark plug may be detected, and misfire may be detected based on the ion current. Good.

【0148】[0148]

【発明の効果】請求項1記載の発明によれば、失火を検
出したとき燃料噴射量を増量補正するので、エンジン始
動直後においても、基となる燃料噴射量を失火によるエ
ンジン回転変動許容限界に対応する理論空燃比近辺の限
界空燃比に対応して設定することができる。従って、こ
の限界空燃比での運転により排気エミッションの改善が
図れ、且つ、失火時には直ちに燃料増量補正により失火
が解消されて、失火によるエンジン回転変動が防止され
てドライバビリティが向上し、これにより、エンジン始
動直後においても、排気エミッションの改善とドライバ
ビリティの向上とを両立することができる。
According to the first aspect of the present invention, when the misfire is detected, the fuel injection amount is increased and corrected. Therefore, even immediately after the engine is started, the base fuel injection amount is set to the allowable limit of the engine rotation fluctuation due to the misfire. It can be set corresponding to the limit air-fuel ratio near the corresponding stoichiometric air-fuel ratio. Accordingly, exhaust emission can be improved by operating at this limit air-fuel ratio, and at the time of misfire, misfire is immediately eliminated by fuel increase correction, and engine rotation fluctuation due to misfire is prevented, thereby improving drivability. Immediately after the engine is started, it is possible to achieve both improvement in exhaust emission and improvement in drivability.

【0149】請求項2記載の発明によれば、上記請求項
1記載の発明の効果に加え、失火を検出したときには、
失火時補正係数に設定値が加算されて、この失火時補正
係数により直ちに燃料噴射量が増量補正され、これによ
り失火が解消し、また、失火の解消後は、上記失火時補
正係数が漸次的に減少されるので、燃料噴射量の失火時
補正係数による燃料増量分が漸次減少し、補正解除時の
空燃比の急変による制御性の悪化を防止することができ
る。
According to the second aspect of the present invention, in addition to the effects of the first aspect of the present invention, when a misfire is detected,
The set value is added to the misfire correction coefficient, and the fuel injection amount is immediately increased and corrected by the misfire correction coefficient, whereby the misfire is eliminated.After the misfire is eliminated, the misfire correction coefficient is gradually increased. Therefore, the amount of fuel increase by the misfire correction coefficient of the fuel injection amount is gradually reduced, and it is possible to prevent deterioration in controllability due to a sudden change in the air-fuel ratio when the correction is canceled.

【0150】その際、請求項3記載の発明では、上記失
火時補正係数を上限値により制限するので、請求項2記
載の発明の効果に加え、失火時補正係数による必要以上
の燃料増量の過補正が防止され、空燃比のオーバリッチ
による制御性の悪化、及び失火の解消が阻害されるのを
防止することができる効果を有する。
In this case, according to the third aspect of the present invention, the misfire correction coefficient is limited by the upper limit value. Correction is prevented, and there is an effect that deterioration of controllability due to over-rich air-fuel ratio and obstruction of elimination of misfire are prevented.

【0151】請求項4記載の発明によれば、気筒毎に失
火を検出し、失火を検出したときには、該当失火気筒に
対する気筒別失火時補正係数に第1の設定値が加算され
て、この失火時補正係数により直ちに燃料噴射量が増量
補正され、これにより該当失火気筒の失火が解消し、且
つ、このとき他の気筒に対しては、気筒別失火時補正係
数が第2の設定値により減少設定されて燃料噴射量が減
量補正されるので、請求項1記載の発明の効果に加え、
失火解消後、直ちに各気筒の燃焼状態が均一化し、気筒
毎の燃焼状態の不均一に起因するエンジン回転変動をも
防止することができる。また、失火の解消後は、燃料噴
射量に対する補正無しの状態となるまで、該当失火気筒
に対する気筒別失火時補正係数が漸次的に減少され、燃
料噴射量の失火時補正係数による燃料増量分が漸次減少
し、また、他の気筒については、これら気筒に対する気
筒別失火時補正係数が補正無しの状態となるまで漸次的
に減少されて、気筒別失火時補正係数による燃料減量補
正が漸次的に解消するので、全ての気筒について、補正
解除時の空燃比の急変による制御性の悪化を防止するこ
とができる。
According to the fourth aspect of the present invention, the misfire is detected for each cylinder. When the misfire is detected, the first set value is added to the cylinder-specific misfire correction coefficient for the misfire cylinder, and the misfire is detected. The fuel injection amount is immediately increased by the time correction coefficient, whereby the misfire of the corresponding misfiring cylinder is eliminated, and at this time, the misfiring correction coefficient for each cylinder is reduced by the second set value for the other cylinders. Since the fuel injection amount is set and corrected to be reduced, in addition to the effect of the invention described in claim 1,
Immediately after the misfire is eliminated, the combustion state of each cylinder becomes uniform, and fluctuations in the engine rotation caused by the uneven combustion state of each cylinder can be prevented. After the misfire is resolved, the cylinder-by-cylinder misfire correction coefficient for the corresponding misfire cylinder is gradually reduced until the fuel injection amount is not corrected, and the fuel increase by the misfire correction coefficient of the fuel injection amount is reduced. For other cylinders, the cylinder-by-cylinder misfire correction coefficient for these cylinders is gradually decreased until no correction is made, and the fuel loss correction by the cylinder-by-cylinder misfire correction coefficient is gradually reduced. Therefore, it is possible to prevent deterioration of controllability due to a sudden change in the air-fuel ratio at the time of cancellation of correction for all cylinders.

【0152】その際、請求項5記載の発明では、上記気
筒別失火時補正係数を上限値及び下限値により制限する
ので、請求項4記載の発明の効果に加え、全ての気筒に
ついて、上記気筒別失火時補正係数による燃料噴射量に
対する必要以上の過補正を防止することができ、空燃比
制御性を向上することができる。
In this case, according to the fifth aspect of the present invention, the cylinder-specific misfire correction coefficient is limited by an upper limit value and a lower limit value. Unnecessary overcorrection of the fuel injection amount by the different misfire correction coefficient can be prevented, and the air-fuel ratio controllability can be improved.

【0153】請求項6記載の発明によれば、上記第2の
設定値を、第1の設定値に対応して該当失火気筒を除く
他の気筒に対する燃料噴射量を等分配減少させる値に設
定するので、該当失火気筒に対する気筒別失火時補正係
数による燃料増量分に対応して、他の気筒の燃料噴射量
が等分配減量される。従って、失火時の燃料補正による
マクロ的なトータル空燃比の変化が防止され、空燃比制
御性の悪化を防止することができる。
According to the sixth aspect of the invention, the second set value is set to a value corresponding to the first set value so that the fuel injection amount to the other cylinders except the misfired cylinder is equally distributed and reduced. Therefore, the fuel injection amounts of the other cylinders are equally distributed and reduced in accordance with the amount of fuel increase by the cylinder-by-cylinder misfire correction coefficient for the relevant misfire cylinder. Therefore, it is possible to prevent a change in the total air-fuel ratio on a macro scale due to the fuel correction at the time of misfire, and to prevent deterioration of the air-fuel ratio controllability.

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

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

【図2】本発明の実施の第1形態に係り、気筒判別/エ
ンジン回転数算出ルーチンのフローチャート
FIG. 2 is a flowchart of a cylinder discrimination / engine speed calculation routine according to the first embodiment of the present invention;

【図3】同上、失火診断ルーチンのフローチャートFIG. 3 is a flowchart of a misfire diagnosis routine according to the first embodiment;

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

【図5】同上、失火診断サブルーチンのフローチャートFIG. 5 is a flowchart of a misfire diagnosis subroutine according to the first embodiment;

【図6】同上、燃料噴射量設定ルーチンのフローチャー
FIG. 6 is a flowchart of a fuel injection amount setting routine;

【図7】同上、燃料噴射量設定ルーチンのフローチャー
ト(続き)
FIG. 7 is a flowchart of a fuel injection amount setting routine (continued).

【図8】同上、失火時補正係数設定サブルーチンのフロ
ーチャート
FIG. 8 is a flow chart of a misfire correction coefficient setting subroutine;

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

【図10】同上、差回転の挙動を示すタイミングチャー
FIG. 10 is a timing chart showing the behavior of the differential rotation according to the first embodiment;

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

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

【図13】同上、失火判定レベルの説明図FIG. 13 is an explanatory diagram of a misfire determination level according to the first embodiment;

【図14】同上、失火発生時の補正差回転変化と失火判
定レベルとの関係を示す説明図
FIG. 14 is an explanatory diagram showing a relationship between a correction difference rotation change when a misfire occurs and a misfire determination level;

【図15】同上、該当気筒の失火状態を表す失火フラグ
と、これに対応する該当気筒の気筒別失火時補正係数の
設定状態を示すタイミングチャート
FIG. 15 is a timing chart showing a misfire flag indicating a misfire state of a corresponding cylinder and a setting state of a cylinder-specific misfire correction coefficient of the corresponding cylinder corresponding thereto;

【図16】同上、エンジンの全体概略図FIG. 16 is an overall schematic diagram of the engine.

【図17】同上、クランクロータとクランク角センサの
正面図
FIG. 17 is a front view of the crank rotor and the crank angle sensor according to the first embodiment;

【図18】同上、カムロータとカム角センサの正面図FIG. 18 is a front view of the cam rotor and the cam angle sensor according to the third embodiment;

【図19】同上、電子制御系の回路構成図FIG. 19 is a circuit diagram of an electronic control system according to the embodiment.

【図20】本発明の実施の第2形態に係り、失火時補正
係数設定サブルーチンのフローチャート
FIG. 20 is a flowchart of a misfire correction coefficient setting subroutine according to the second embodiment of the present invention.

【図21】同上、該当気筒の失火状態を表す失火フラグ
と、これに対応する該当気筒の気筒別失火時補正係数、
並びに、他の気筒の気筒別失火時補正係数の設定状態を
示すタイミングチャート
FIG. 21 shows a misfire flag indicating a misfiring state of a corresponding cylinder, a misfiring correction coefficient for each cylinder of the corresponding cylinder corresponding thereto,
And a timing chart showing a setting state of a misfire correction coefficient for each cylinder of another cylinder.

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

1 エンジン 11 インジェクタ 32 クランク角センサ 40 電子制御装置(失火検出手段、燃料噴射量補正手
段、失火時補正係数設定手段、燃料噴射量設定手段) NE エンジン回転数(エンジン回転状態量) KMF#i 気筒別失火時補正係数(失火時補正係数) PKMF 比例定数(設定値、第1の設定値) Tp 基本燃料噴射パルス幅(基本燃料噴射量) Ti 燃料噴射パルス幅(燃料噴射量) KMFMAX 上限値 PDKMF リーン補正比例定数(第2の設定値) KMFMIN 下限値
DESCRIPTION OF SYMBOLS 1 Engine 11 Injector 32 Crank angle sensor 40 Electronic control unit (misfire detection means, fuel injection amount correction means, misfire correction coefficient setting means, fuel injection amount setting means) NE Engine rotation speed (engine rotation state amount) KMF # i cylinder Other misfire correction coefficient (misfire correction coefficient) PKMF Proportional constant (set value, first set value) Tp Basic fuel injection pulse width (basic fuel injection amount) Ti Fuel injection pulse width (fuel injection amount) KMFMAX Upper limit value PDKMF Lean correction proportional constant (second set value) KMFMIN lower limit

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】失火を検出する失火検出手段と、 失火を検出したとき、燃料噴射量を増量補正する燃料噴
射量補正手段とを備えたことを特徴とするエンジンの燃
料噴射制御装置。
A fuel injection control device for an engine, comprising: a misfire detecting means for detecting a misfire; and a fuel injection amount correcting means for increasing and correcting the fuel injection amount when the misfire is detected.
【請求項2】失火を検出する失火検出手段と、 失火を検出したとき燃料増量補正のための失火時補正係
数に設定値を加算し、失火が解消したときは該失火時補
正係数を漸次減少する失火時補正係数設定手段と、 エンジン運転状態に基づき設定される基本燃料噴射量を
上記失火時補正係数により補正して燃料噴射量を設定す
る燃料噴射量設定手段とを備えたことを特徴とするエン
ジンの燃料噴射制御装置。
2. A misfire detecting means for detecting misfire, a set value is added to a misfire correction coefficient for fuel increase correction when misfire is detected, and the misfire correction coefficient is gradually reduced when misfire is eliminated. And a fuel injection amount setting means for correcting the basic fuel injection amount set based on the engine operating state with the misfire correction coefficient to set the fuel injection amount. Engine fuel injection control device.
【請求項3】上記失火時補正係数設定手段は、上記失火
時補正係数を上限値により制限することを特徴とする請
求項2記載のエンジンの燃料噴射制御装置。
3. The fuel injection control device for an engine according to claim 2, wherein said misfire correction coefficient setting means limits said misfire correction coefficient by an upper limit value.
【請求項4】気筒毎の失火を検出する失火検出手段と、 失火を検出したとき、該当気筒の気筒別失火時補正係数
に第1の設定値を加算すると共に、他の気筒の気筒別失
火時補正係数から第2の設定値を減算し、失火が解消し
たときには、上記各気筒別失火時補正係数を補正無しの
状態となるまで漸次増加或いは減少する失火時補正係数
設定手段と、 エンジン運転状態に基づき設定される基本燃料噴射量を
上記気筒別失火時補正係数により補正して気筒毎に燃料
噴射量を設定する燃料噴射量設定手段とを備えたことを
特徴とするエンジンの燃料噴射制御装置。
4. A misfire detecting means for detecting a misfire for each cylinder, and when a misfire is detected, adding a first set value to a cylinder-specific misfire correction coefficient of the corresponding cylinder, and a cylinder-specific misfire of another cylinder. When the second set value is subtracted from the hourly correction coefficient, and the misfire is eliminated, the misfire-time correction coefficient setting means for gradually increasing or decreasing the cylinder-by-cylinder misfire-time correction coefficient until no correction is made; A fuel injection amount setting means for correcting the basic fuel injection amount set based on the state by the cylinder-specific misfire correction coefficient to set a fuel injection amount for each cylinder. apparatus.
【請求項5】上記失火時補正係数設定手段は、上記気筒
別失火時補正係数を上限値及び下限値により制限するこ
とを特徴とする請求項4記載のエンジンの燃料噴射制御
装置。
5. The fuel injection control device for an engine according to claim 4, wherein said misfire correction coefficient setting means limits said cylinder-specific misfire correction coefficient by an upper limit value and a lower limit value.
【請求項6】上記第2の設定値は、第1の設定値に対応
して該当失火気筒を除く他の気筒に対する燃料噴射量を
等分配減少させる値に設定されることを特徴とする請求
項4記載のエンジンの燃料噴射制御装置。
6. The system according to claim 1, wherein the second set value is set to a value which, in accordance with the first set value, reduces the fuel injection amount to the other cylinders except for the corresponding misfired cylinder. Item 5. An engine fuel injection control device according to item 4.
JP30967796A 1996-11-20 1996-11-20 Fuel injection control device for engine Pending JPH10148154A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30967796A JPH10148154A (en) 1996-11-20 1996-11-20 Fuel injection control device for engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30967796A JPH10148154A (en) 1996-11-20 1996-11-20 Fuel injection control device for engine

Publications (1)

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

Family

ID=17995952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30967796A Pending JPH10148154A (en) 1996-11-20 1996-11-20 Fuel injection control device for engine

Country Status (1)

Country Link
JP (1) JPH10148154A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000060230A1 (en) * 1999-04-06 2000-10-12 Toyota Jidosha Kabushiki Kaisha Device for controlling rotational speed of internal combustion engine
US6360160B1 (en) 1999-04-06 2002-03-19 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
US6367446B1 (en) 1999-04-27 2002-04-09 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
JP2008267239A (en) * 2007-04-19 2008-11-06 Hitachi Ltd Engine speed control device
JP2010084773A (en) * 2005-01-11 2010-04-15 Toyota Motor Corp Misfire determining device for internal combustion engine and misfire determining method
JP2014199040A (en) * 2013-03-29 2014-10-23 本田技研工業株式会社 Engine controller

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000060230A1 (en) * 1999-04-06 2000-10-12 Toyota Jidosha Kabushiki Kaisha Device for controlling rotational speed of internal combustion engine
US6360160B1 (en) 1999-04-06 2002-03-19 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
US6742497B1 (en) 1999-04-06 2004-06-01 Toyota Jidosha Kabushiki Kaisha Device for controlling rotational speed of internal combustion engine
US6367446B1 (en) 1999-04-27 2002-04-09 Toyota Jidosha Kabushiki Kaisha Internal combustion engine control apparatus and method
JP2010084773A (en) * 2005-01-11 2010-04-15 Toyota Motor Corp Misfire determining device for internal combustion engine and misfire determining method
JP2010133419A (en) * 2005-01-11 2010-06-17 Toyota Motor Corp Engine misfire determination device and engine misfire determination method for internal combustion engine
JP2008267239A (en) * 2007-04-19 2008-11-06 Hitachi Ltd Engine speed control device
JP2014199040A (en) * 2013-03-29 2014-10-23 本田技研工業株式会社 Engine controller

Similar Documents

Publication Publication Date Title
JP3357091B2 (en) Engine misfire detection method
JP2884472B2 (en) Fuel property detection device for internal combustion engine
JP3449170B2 (en) Misfire detection device for internal combustion engine
JPH0323333A (en) Learning correction device and self-diagnosing device for fuel feed control device for internal combustion engine
JPH10148154A (en) Fuel injection control device for engine
JP3498392B2 (en) Electronic control fuel injection device
JP2000205025A (en) Control apparatus for engine
JP2000328930A (en) Catalyst deterioration diagnostic system for engine
JP3859789B2 (en) Engine misfire diagnostic device
JP2010150953A (en) Misfire diagnostic device for internal combustion engine
JPH10148153A (en) Misfire diagnostic device for engine
JPH10121991A (en) Failure diagnosing device for engine intake-air control system
JP3560264B2 (en) Engine fuel injection control device
JP3357092B2 (en) Engine misfire detection method
JP2000291467A (en) Controller for internal combustion engine
JP3963993B2 (en) Engine air-fuel ratio control device
JP4263258B2 (en) Fuel injection control device for lean burn engine
JP4186350B2 (en) Combustion state detection device for internal combustion engine
JPS6248939A (en) Trouble detector for internal combustion engine
JP3324795B2 (en) Engine misfire detection method
JPH09324676A (en) Fuel injection control device of engine
JPH09324693A (en) Device for detecting nature of fuel
JP2010007523A (en) Air-fuel ratio control device for engine
JPH0763110A (en) Combustion condition judgement device for internal combustion engine
JP2001173485A (en) Fuel injection control device for engine