JPH10331685A - Air-fuel ratio controller for internal combustion engine - Google Patents

Air-fuel ratio controller for internal combustion engine

Info

Publication number
JPH10331685A
JPH10331685A JP14551497A JP14551497A JPH10331685A JP H10331685 A JPH10331685 A JP H10331685A JP 14551497 A JP14551497 A JP 14551497A JP 14551497 A JP14551497 A JP 14551497A JP H10331685 A JPH10331685 A JP H10331685A
Authority
JP
Japan
Prior art keywords
fuel ratio
air
lean
value
cylinder
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
JP14551497A
Other languages
Japanese (ja)
Inventor
Nobuyuki Shibagaki
信之 柴垣
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP14551497A priority Critical patent/JPH10331685A/en
Publication of JPH10331685A publication Critical patent/JPH10331685A/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 suppress output torque from changing when an engine is in a lean air-fuel ratio operating area again by correcting the air-fuel ratio in the lean air-fuel ratio operating area so as to be small when the air-fuel ratio is kept at a lower limit in a corresponding allowable changing range once in a certain lean air-fuel ratio operating area. SOLUTION: When it is discriminated that the operating state of an engine 1 is in a prescribed lean air-fuel operating area in a control unit 20, a lean correction coefficient is selected according to an engine operating state by referring to a lean correction coefficient map which is stored in a ROM 22 previously as a function of engine load and engine rotational speed in a map form. As a result, the air-fuel ratio is kept at a lean air-fuel ratio in the operating area. When the air-fuel ratio is kept at a lower limit in a allowable changing range in a lean air-fuel ratio operating area, it is controlled so that the air-fuel ratio in the lean air-fuel ratio operating area may be corrected so as to be smaller than the lower limit. The air-fuel ratio, however, is kept at a theoretical air-fuel ratio in any operating area other than the prescribed operating area.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は内燃機関の空燃比制
御装置に関する。
The present invention relates to an air-fuel ratio control device for an internal combustion engine.

【0002】[0002]

【従来の技術】機関の出力トルク変動を検出し、リーン
空燃比の変動許容範囲を定め、機関の出力トルク変動が
大きくなったときには変動許容範囲内において空燃比を
小さくすると共に機関の出力トルク変動が小さくなった
ときには変動許容範囲内において空燃比を大きくするよ
うにした内燃機関が公知である。
2. Description of the Related Art Fluctuations in the output torque of an engine are detected and the allowable range of the lean air-fuel ratio is determined. There is known an internal combustion engine in which the air-fuel ratio is increased within a fluctuation allowable range when the ratio becomes smaller.

【0003】[0003]

【発明が解決しようとする課題】この内燃機関では或る
リーン空燃比運転領域において機関の出力トルク変動が
大きくなると空燃比が小さくされる。ところがこのよう
に空燃比が小さくされても機関の出力トルク変動が小さ
くならない場合には空燃比が更に小さくされ、その結果
最終的には空燃比が変動許容範囲の下限値に達する。空
燃比が変動許容範囲の下限値に達しても機関の出力トル
ク変動が小さくならない場合には機関の出力トルクは変
動し続け、この間空燃比が変動許容範囲の下限値に維持
されることになる。
In this internal combustion engine, when the output torque fluctuation of the engine increases in a certain lean air-fuel ratio operation range, the air-fuel ratio is reduced. However, when the output torque fluctuation of the engine does not become small even if the air-fuel ratio is reduced in this way, the air-fuel ratio is further reduced, and as a result, the air-fuel ratio eventually reaches the lower limit of the fluctuation allowable range. If the output torque fluctuation of the engine does not decrease even if the air-fuel ratio reaches the lower limit of the fluctuation allowable range, the output torque of the engine continues to fluctuate, and during this time the air-fuel ratio is maintained at the lower limit of the fluctuation allowable range. .

【0004】このように空燃比が変動許容範囲の下限値
に維持されたときに空燃比を変動許容範囲の下限値より
も小さくすれば、例えば空燃比を理論空燃比にすれば機
関の出力トルク変動を小さくすることができる。しかし
ながらこのように空燃比が変動許容範囲の下限値よりも
小さくなったときに空燃比をリーン空燃比から理論空燃
比に切換えるようにしても暫らくして再び同じリーン空
燃比運転状態になれば再び空燃比がリーン空燃比から理
論空燃比に切換えられるまでの間、機関の出力トルクが
大きく変動し続けることになる。
If the air-fuel ratio is made smaller than the lower limit of the fluctuation allowable range when the air-fuel ratio is maintained at the lower limit of the fluctuation allowable range, for example, if the air-fuel ratio is set to the stoichiometric air-fuel ratio, the output torque of the engine is increased. Variation can be reduced. However, even if the air-fuel ratio is switched from the lean air-fuel ratio to the stoichiometric air-fuel ratio when the air-fuel ratio becomes smaller than the lower limit value of the fluctuation allowable range, if the same lean air-fuel ratio operation state is established again after a while, Until the air-fuel ratio is switched again from the lean air-fuel ratio to the stoichiometric air-fuel ratio, the output torque of the engine continues to fluctuate greatly.

【0005】[0005]

【課題を解決するための手段】上記問題点を解決するた
めに1番目の発明では、機関の出力トルク変動を検出
し、機関の運転領域を複数個のリーン空燃比運転領域に
分割して各リーン空燃比運転領域に対し夫々リーン空燃
比の変動許容範囲を定め、機関の出力トルク変動が大き
くなったときには対応する変動許容範囲内において空燃
比を小さくすると共に機関の出力トルク変動が小さくな
ったときには対応する変動許容範囲内において空燃比を
大きくするようにした内燃機関において、各リーン空燃
比運転領域について空燃比が対応する変動許容範囲の下
限値に維持されているか否かを判断する判断手段を具備
し、いずれかのリーン空燃比運転領域において空燃比が
対応する変動許容範囲の下限値に維持されていると判断
されたときにはその後そのリーン空燃比運転領域につい
ては対応する変動許容範囲の下限値よりも小さな空燃比
とするようにしている。
In order to solve the above problems, in the first invention, fluctuations in the output torque of the engine are detected, and the operating region of the engine is divided into a plurality of lean air-fuel ratio operating regions, and each of the operating regions is divided into a plurality of lean air-fuel ratio operating regions. An allowable range of the lean air-fuel ratio is defined for each of the lean air-fuel ratio operation ranges, and when the output torque fluctuation of the engine becomes large, the air-fuel ratio is reduced and the engine output torque fluctuation becomes small within the corresponding fluctuation allowable range. Sometimes, in an internal combustion engine in which the air-fuel ratio is increased within the corresponding fluctuation allowable range, a determination means for determining whether or not the air-fuel ratio is maintained at the lower limit value of the corresponding fluctuation allowable range for each lean air-fuel ratio operation region. When it is determined that the air-fuel ratio is maintained at the lower limit of the corresponding fluctuation allowable range in any of the lean air-fuel ratio operation ranges, So that a small air-fuel ratio than the lower limit of the allowable fluctuation range corresponding for the lean air-fuel ratio operating region.

【0006】即ち、1番目の発明では、或るリーン空燃
比運転領域において空燃比が一旦対応する変動許容範囲
の下限値に維持されるとその後そのリーン空燃比運転領
域では空燃比が小さくされ、斯くして機関の運転領域が
再びそのリーン空燃比運転領域になっても機関の出力ト
ルクが変動することがなくなる。2番目の発明では、機
関の出力トルク変動を検出し、リーン空燃比の変動許容
範囲を定め、機関の出力トルク変動が大きくなったとき
には変動許容範囲内において空燃比を小さくすると共に
機関の出力トルク変動が小さくなったときには変動許容
範囲内において空燃比を大きくするようにした内燃機関
において、空燃比が変動許容範囲の下限値に維持されて
いるか否かを判断する判断手段を具備し、或るリーン空
燃比運転領域において空燃比が変動許容範囲の下限値に
維持されていると判断されたときにはその後そのリーン
空燃比運転領域については変動許容範囲の下限値よりも
小さな空燃比とするようにしている。
That is, in the first invention, once the air-fuel ratio is maintained at the lower limit of the corresponding allowable fluctuation range in a certain lean air-fuel ratio operation region, the air-fuel ratio is thereafter reduced in the lean air-fuel ratio operation region, Thus, the output torque of the engine does not fluctuate even when the operating range of the engine again becomes the lean air-fuel ratio operating range. According to a second aspect of the present invention, a variation in the output torque of the engine is detected, and a variation allowable range of the lean air-fuel ratio is determined. In an internal combustion engine in which the air-fuel ratio is increased within the fluctuation allowable range when the fluctuation is reduced, the internal combustion engine is provided with a judging means for judging whether or not the air-fuel ratio is maintained at a lower limit value of the fluctuation allowable range. When it is determined that the air-fuel ratio is maintained at the lower limit of the fluctuation allowable range in the lean air-fuel ratio operation region, then, for the lean air-fuel ratio operation region, the air-fuel ratio is set to be smaller than the lower limit of the fluctuation allowable range. I have.

【0007】即ち、2番目の発明においても、或るリー
ン空燃比運転領域において空燃比が一旦変動許容範囲の
下限値に維持されるとその後そのリーン空燃比運転領域
では空燃比が小さくされ、斯くして機関の運転領域が再
びそのリーン空燃比運転領域になっても機関の出力トル
クが変動することがなくなる。
That is, also in the second invention, once the air-fuel ratio is maintained at the lower limit of the allowable fluctuation range in a certain lean air-fuel ratio operation range, the air-fuel ratio is thereafter reduced in the lean air-fuel ratio operation region. Thus, the output torque of the engine does not fluctuate even when the operating range of the engine again becomes the lean air-fuel ratio operating range.

【0008】[0008]

【発明の実施の形態】図1を参照すると、1は1番気筒
#1、2番気筒#2、3番気筒#3、4番気筒#4から
なる4つの気筒を具備した機関本体を示す。各気筒#
1,#2,#3,#4は夫々対応する吸気枝管2を介し
てサージタンク3に連結され、各吸気枝管2内には夫々
対応する吸気ポート内に向って燃料を噴射する燃料噴射
弁4が取付けられる。サージタンク3は吸気ダクト5お
よびエアフローメータ6を介してエアクリーナ7に連結
され、吸気ダクト5内にはスロットル弁8が配置され
る。一方、各気筒#1,#2,#3,#4は排気マニホ
ルド9および排気管10を介してNOx 吸収剤11を内
蔵したケーシング12に連結される。このNOx 吸収剤
11は空燃比がリーンのときに排気ガス中に含まれるN
x を吸収し、空燃比が理論空燃比又はリッチになると
吸収したNOx を放出しかつ還元する機能を有する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Referring to FIG. 1, reference numeral 1 denotes an engine main body having four cylinders including a first cylinder # 1, a second cylinder # 2, a third cylinder # 3, and a fourth cylinder # 4. . Each cylinder #
The fuel tanks # 1, # 2, # 3, and # 4 are connected to the surge tank 3 through the corresponding intake branch pipes 2 and inject fuel into the corresponding intake ports in the respective intake branch pipes 2. The injection valve 4 is attached. The surge tank 3 is connected to an air cleaner 7 via an intake duct 5 and an air flow meter 6, and a throttle valve 8 is arranged in the intake duct 5. On the other hand, the cylinders # 1, # 2, # 3, # 4 is connected to the casing 12 with a built-in the NO x absorbent 11 via an exhaust manifold 9 and an exhaust pipe 10. This NO x absorbent 11 contains N contained in exhaust gas when the air-fuel ratio is lean.
It has a function of absorbing O x and releasing and reducing the absorbed NO x when the air-fuel ratio becomes stoichiometric or rich.

【0009】電子制御ユニット20はディジタルコンピ
ュータからなり、双方向性バス21によって相互に接続
されたROM(リードオンリメモリ)22、RAM(ラ
ンダムアクセスメモリ)23、CPU(マイクロプロセ
ッサ)24、常時電源に接続されたバックアップRAM
25、入力ポート26および出力ポート27を具備す
る。機関の出力軸13には外歯付ロータ14が取付けら
れ、ロータ14の外歯に対面して電磁ピックアップから
なるクランク角センサ15が配置される。図1に示され
る実施例ではロータ14の外周上に30°クランク角度
毎に外歯が形成されており、例えば1番気筒の圧縮上死
点を検出するために一部の外歯が削除されている。従っ
てこの外歯が削除された部分、即ち欠歯部分を除いてク
ランク角センサ15は出力軸13が30°クランク角度
回転する毎に出力パルスを発生し、この出力パルスが入
力ポート26に入力される。
The electronic control unit 20 is composed of a digital computer, and is connected to a ROM (Read Only Memory) 22, a RAM (Random Access Memory) 23, a CPU (Microprocessor) 24, and a power supply connected to each other by a bidirectional bus 21. Backup RAM connected
25, an input port 26 and an output port 27. A rotor 14 with external teeth is attached to the output shaft 13 of the engine, and a crank angle sensor 15 composed of an electromagnetic pickup is arranged facing the external teeth of the rotor 14. In the embodiment shown in FIG. 1, external teeth are formed on the outer periphery of the rotor 14 at every 30 ° crank angle. For example, some external teeth are deleted in order to detect the compression top dead center of the first cylinder. ing. Therefore, the crank angle sensor 15 generates an output pulse every time the output shaft 13 rotates by 30 ° crank angle except for the portion where the external teeth are deleted, that is, the missing tooth portion, and the output pulse is input to the input port 26. You.

【0010】エアフローメータ6は吸入空気量に比例し
た出力電圧を発生し、この出力電圧が対応するAD変換
器28を介して入力ポート26に入力される。また、ス
ロットル弁8にはスロットル弁8がアイドリング開度に
あることを検出するためのアイドルスイッチ16が取付
けられ、このアイドルスイッチ16の出力信号が入力ポ
ート26に入力される。また、排気マニホルド9内には
空燃比を検出するための空燃比センサ(O2 センサ)1
7が配置されており、この空燃比センサ17の出力信号
が対応するAD変換器28を介して入力ポート26に入
力される。更に、機関本体1には変速機18が取付けら
れ、変速機18の出力軸18aは各駆動輪19に連結さ
れる。変速機18には車速に比例した出力パルスを発生
する車速センサ29が取付けられ、車速センサ29の出
力パルスが入力ポート26に入力される。一方、出力ポ
ート27は対応する駆動回路30を介して各燃料噴射弁
4に接続される。
The air flow meter 6 generates an output voltage proportional to the amount of intake air, and the output voltage is input to an input port 26 via a corresponding AD converter 28. An idle switch 16 for detecting that the throttle valve 8 is at the idling opening is attached to the throttle valve 8, and an output signal of the idle switch 16 is input to an input port 26. An air-fuel ratio sensor (O 2 sensor) 1 for detecting the air-fuel ratio is provided in the exhaust manifold 9.
The output signal of the air-fuel ratio sensor 17 is input to the input port 26 via the corresponding AD converter 28. Further, a transmission 18 is mounted on the engine body 1, and an output shaft 18 a of the transmission 18 is connected to each drive wheel 19. The transmission 18 is provided with a vehicle speed sensor 29 for generating an output pulse proportional to the vehicle speed. On the other hand, the output port 27 is connected to each fuel injection valve 4 via the corresponding drive circuit 30.

【0011】図1に示す内燃機関では燃料噴射時間TA
Uが次式に基づいて算出される。TAU=TP・FLE
AN・FLLFB・FAF+TAUVここでTPは基本
燃料噴射時間を、FLEANはリーン補正係数を、FL
LFBはリーンリミットフィードバック補正係数を、F
AFは理論空燃比フィードバック補正係数を、TAUV
は無効噴射時間を夫々示している。
In the internal combustion engine shown in FIG. 1, the fuel injection time TA
U is calculated based on the following equation. TAU = TP ・ FLE
AN / FLLFFB / FAF + TAUV where TP is the basic fuel injection time, FLEAN is the lean correction coefficient, FL
LFB is the lean limit feedback correction coefficient, F
AF is the stoichiometric air-fuel ratio feedback correction coefficient, TAUV
Indicates the invalid injection time.

【0012】基本燃料噴射時間TPは空燃比を理論空燃
比とするのに必要な噴射時間を示している。この基本燃
料噴射時間TPは実験により求められ、この基本燃料噴
射時間TPは機関負荷Q/N(吸入空気量Q/機関回転
数N)および機関回転数Nの関数として図2に示すマッ
プの形で予めROM22内に記憶されている。リーン補
正係数FLEANは空燃比を目標リーン空燃比とするた
めの補正係数であり、このリーン補正係数FLEANは
機関負荷Q/Nおよび機関回転数Nの関数として図4に
示すマップの形で予めROM22内に記憶されている。
The basic fuel injection time TP indicates the injection time required for setting the air-fuel ratio to the stoichiometric air-fuel ratio. The basic fuel injection time TP is obtained by an experiment. The basic fuel injection time TP is a function of the engine load Q / N (intake air amount Q / engine speed N) and the engine speed N in the form of the map shown in FIG. Is stored in the ROM 22 in advance. The lean correction coefficient FLEAN is a correction coefficient for setting the air-fuel ratio to the target lean air-fuel ratio. The lean correction coefficient FLEAN is previously stored in the ROM 22 as a function of the engine load Q / N and the engine speed N in the form of a map shown in FIG. Is stored within.

【0013】リーンリミットフィードバック補正係数F
LLFBは空燃比をリーン限界に維持するための補正係
数である。本発明による実施例では吸入空気量Qと機関
回転数Nに対してリーン空燃比フィードバック制御に対
する学習領域が図5に示されるように例えば16の領域
で分けられており、各学習領域に対して夫々リーンリミ
ットフィードバック補正係数FLLFB11〜FLLFB
44が設定されている。
The lean limit feedback correction coefficient F
LLFB is a correction coefficient for maintaining the air-fuel ratio at the lean limit. In the embodiment according to the present invention, the learning region for the lean air-fuel ratio feedback control with respect to the intake air amount Q and the engine speed N is divided into, for example, 16 regions as shown in FIG. Lean limit feedback correction coefficients FLLFFB 11 to FLLFB, respectively
44 is set.

【0014】理論空燃比フィードバック補正係数FAF
は空燃比を理論空燃比に維持するための係数である。理
論空燃比フィードバック補正係数FAFは空燃比を理論
空燃比に維持すべきときに空燃比センサ17の出力信号
に基づいて制御され、このとき理論空燃比フィードバッ
ク補正係数FAFはほぼ1.0を中心として上下動す
る。
The stoichiometric air-fuel ratio feedback correction coefficient FAF
Is a coefficient for maintaining the air-fuel ratio at the stoichiometric air-fuel ratio. The stoichiometric air-fuel ratio feedback correction coefficient FAF is controlled based on the output signal of the air-fuel ratio sensor 17 when the air-fuel ratio is to be maintained at the stoichiometric air-fuel ratio. Move up and down.

【0015】図4に示されるように破線により囲まれた
運転領域内については機関の運転状態に応じてリーン補
正係数FLEANが定められており、この運転領域内で
は空燃比がリーン空燃比に維持される。これに対して図
4の破線で囲まれた領域外の運転領域では空燃比が理論
空燃比に維持される。空燃比を理論空燃比に維持すべき
ときにはリーン補正係数FLEANおよびリーンリミッ
トフィードバック補正係数FLLFBは1.0に固定さ
れ、理論空燃比フィードバック補正係数FAFが空燃比
センサ17の出力信号に基づいて制御される。
As shown in FIG. 4, a lean correction coefficient FLEAN is determined according to the operating state of the engine in an operating region surrounded by a broken line, and the air-fuel ratio is maintained at a lean air-fuel ratio in this operating region. Is done. On the other hand, the air-fuel ratio is maintained at the stoichiometric air-fuel ratio in the operation region outside the region surrounded by the broken line in FIG. When the air-fuel ratio should be maintained at the stoichiometric air-fuel ratio, the lean correction coefficient FLEAN and the lean limit feedback correction coefficient FLLFB are fixed to 1.0, and the stoichiometric air-fuel ratio feedback correction coefficient FAF is controlled based on the output signal of the air-fuel ratio sensor 17. You.

【0016】一方、空燃比をリーン空燃比に維持すべき
ときには理論空燃比フィードバック補正係数FAFが
1.0に固定され、即ち空燃比センサ17の出力信号に
基づくフィードバック制御が停止され、リーン補正係数
FLEANとリーンリミットフィードバック補正係数F
LLFBとにより空燃比がリーン空燃比に制御される。
次に図3を参照しつつリーンリミットフィードバック制
御について説明する。図3は機関出力トルク変動量およ
びNOx 発生量と空燃比との関係を示している。空燃比
がリーンになるほど燃料消費率は小さくなり、また空燃
比がリーンになるほどNOx の発生量が少なくなる。従
ってこれらの点からみると空燃比はできるだけリーンに
することが好ましいことになる。ところが空燃比が或る
程度以上リーンになると燃焼が不安定となり、その結果
図3に示されるようにトルク変動量が大きくなる。そこ
で本発明による実施例では図3に示されるようにトルク
変動が増大し始める空燃比制御領域内に空燃比を維持す
るようにしている。
On the other hand, when the air-fuel ratio should be maintained at the lean air-fuel ratio, the stoichiometric air-fuel ratio feedback correction coefficient FAF is fixed at 1.0, that is, the feedback control based on the output signal of the air-fuel ratio sensor 17 is stopped, and the lean correction coefficient FLEAN and lean limit feedback correction coefficient F
The air-fuel ratio is controlled to a lean air-fuel ratio by the LLFB.
Next, the lean limit feedback control will be described with reference to FIG. Figure 3 shows the relationship between the engine output torque variation amount and NO x generation amount and the air-fuel ratio. Fuel consumption rate as the air-fuel ratio is lean becomes small, and the generation amount of the more NO x air-fuel ratio becomes lean is reduced. Therefore, from these points, it is preferable that the air-fuel ratio be as lean as possible. However, when the air-fuel ratio becomes lean to a certain degree or more, combustion becomes unstable, and as a result, the amount of torque fluctuation increases as shown in FIG. Therefore, in the embodiment according to the present invention, as shown in FIG. 3, the air-fuel ratio is maintained within the air-fuel ratio control region where the torque fluctuation starts to increase.

【0017】即ち具体的に云うとリーン補正係数FLE
ANはリーンリミットフィードバック補正係数FLLF
BをFLLFB=1.0としたときに空燃比が図3に示
される空燃比制御領域の中央部となるように定められて
いる。一方、リーンリミットフィードバック補正係数F
LLFBはトルク変動量に応じて図3に示されるトルク
変動制御領域内において制御され、通常はほぼ1.0を
中心として上下動している。即ち、トルク変動量が大き
くなればリーンリミットフィードバック補正係数FLL
FBが増大せしめられ、即ち空燃比が小さくされ、トル
ク変動量が小さくなればリーンリミットフィードバック
補正係数FLLFBが減少せしめられ、即ち空燃比が大
きくされる。このようにして空燃比が図3に示される空
燃比制御領域内に制御される。
That is, specifically, the lean correction coefficient FLE
AN is the lean limit feedback correction coefficient FLLF
When B is set to FLLFFB = 1.0, the air-fuel ratio is determined to be at the center of the air-fuel ratio control region shown in FIG. On the other hand, the lean limit feedback correction coefficient F
LLFB is controlled in the torque fluctuation control region shown in FIG. 3 according to the amount of torque fluctuation, and normally moves up and down about 1.0. That is, if the amount of torque fluctuation increases, the lean limit feedback correction coefficient FLL
When FB is increased, that is, the air-fuel ratio is reduced, and the torque fluctuation amount is reduced, the lean limit feedback correction coefficient FLLFB is reduced, that is, the air-fuel ratio is increased. Thus, the air-fuel ratio is controlled within the air-fuel ratio control region shown in FIG.

【0018】なお、リーンリミットフィードバック補正
係数FLLFBはリーン補正係数FLEANが定められ
ている機関運転領域をカバーするように設定されてい
る。一方、このリーンリミットフィードバック補正係数
FLLFBに対しては変動許容範囲が予め定められてい
る。図5において16個に分割されている各リーン空燃
比運転領域のカッコ内の数字は各リーンリミットフィー
ドバック補正係数FLLFBijに対する変動許容範囲
の上限値Fmax、即ち空燃比の変動許容範囲の下限値
を示している。図5からわかるようにFLLFB11,F
LLFB12,FLLFB21については変動許容範囲の上
限値Fmaxが1.1とされており、その他のFLLF
Bijについては変動許容範囲の上限値Fmaxが1.
2とされている。一方、図5には各リーンリミットフィ
ードバック補正係数FLLFBijに対する変動許容範
囲の下限値Fmin、即ち空燃比の変動許容範囲の上限
値が示されていないが各FLLFBijに対する変動許
容範囲の下限値Fminは全てのFLLFBijに共通
であって0.8に設定されている。
Note that the lean limit feedback correction coefficient FLLFB is set so as to cover the engine operating region in which the lean correction coefficient FLEAN is determined. On the other hand, a variation allowable range is predetermined for the lean limit feedback correction coefficient FLLFB. In FIG. 5, the number in parentheses of each lean air-fuel ratio operation region divided into 16 indicates the upper limit value Fmax of the allowable fluctuation range for each lean limit feedback correction coefficient FLLFBij, that is, the lower limit value of the allowable air-fuel ratio fluctuation range. ing. As can be seen from FIG. 5, FLLFB 11 , F
For LLFB 12 and FLLFB 21 , the upper limit value Fmax of the allowable variation range is set to 1.1, and other FLLFs are set.
For Bij, the upper limit value Fmax of the allowable fluctuation range is 1.
It is 2. On the other hand, FIG. 5 does not show the lower limit value Fmin of the variation allowable range for each lean limit feedback correction coefficient FLLFBij, that is, the upper limit value of the variation allowable range of the air-fuel ratio, but the lower limit value Fmin of the variation allowable range for each FLLFBij is all FLFLBij, and is set to 0.8.

【0019】上述したようにトルク変動量が大きくなれ
ばリーンリミットフィードバック補正係数FLLFBi
jが増大せしめられ、即ち空燃比が小さくされ、空燃比
が小さくされてもトルク変動量が依然として大きい場合
にはFLLFBijは変動許容範囲の上限値Fmaxに
達する。このとき依然としてトルク変動量が大きい場合
にはFLLFBijは変動許容範囲の上限値Fmaxに
維持される。
As described above, if the amount of torque fluctuation increases, the lean limit feedback correction coefficient FLLFBi
If j is increased, that is, the air-fuel ratio is reduced, and the torque fluctuation amount is still large even if the air-fuel ratio is reduced, FLLFBij reaches the upper limit value Fmax of the fluctuation allowable range. At this time, if the torque fluctuation amount is still large, FLLFBij is maintained at the upper limit value Fmax of the fluctuation allowable range.

【0020】なお、機関低速高負荷運転時には燃焼室内
に発生する乱れも弱く、このとき空燃比をあまりリーン
にするとトルク変動が発生するので機関低速高負荷運転
時におけるリーン補正係数FLEANは他の運転状態に
比べてややリッチ側に設定されている。一方、機関低速
高負荷運転時には空燃比が理論空燃比に近づくとノッキ
ングを発生するので空燃比の変動許容範囲の下限値はそ
れほど理論空燃比に近づけることができない。従って図
5に示されるように機関低速高負荷運転時におけるリー
ンリミットフィードバック補正係数FLLFB11,FL
LFB21,FLLFB12に対する変動許容範囲の上限値
Fmax(=1.1)は他の運転領域における上限値F
max(=1.2)よりも小さな値とされている。
When the engine is running at a low speed and a high load, the turbulence generated in the combustion chamber is also weak. At this time, if the air-fuel ratio is made too lean, a torque fluctuation will occur. It is set slightly richer than the state. On the other hand, during low-speed high-load engine operation, knocking occurs when the air-fuel ratio approaches the stoichiometric air-fuel ratio. Therefore, the lower limit of the allowable range of the air-fuel ratio cannot be so close to the stoichiometric air-fuel ratio. Therefore, as shown in FIG. 5, the lean limit feedback correction coefficients FLLFB 11 , FL
The upper limit value Fmax (= 1.1) of the allowable variation range for LFB 21 and FLLFB 12 is the upper limit value F in other operation regions.
The value is smaller than max (= 1.2).

【0021】トルク変動量が図3に示されるトルク変動
制御領域内に制御されると良好な車両の運転性を確保し
つつ燃料消費率およびNOx の発生量を大巾に低減する
ことができる。ただし、このようにトルク変動量をトル
ク変動制御領域内に制御するためにはトルク変動量を検
出しなければならない。ところでトルク変動量を算出す
る方法は従来より種々の方法が提案されている。代表的
な例を挙げると燃焼室内に燃焼圧センサを取付けてこの
燃焼圧センサの出力信号に基づきトルク変動量を算出す
る方法や、或いはクランクシャフトの角速度に基づいて
トルク変動量を算出する方法が挙げられる。
[0021] can be the amount of torque fluctuation is reduced by a large margin the generation amount of the fuel consumption rate and NO x while ensuring the operation of the good vehicle when it is controlled to within the torque fluctuation control region shown in FIG. 3 . However, in order to control the amount of torque fluctuation within the torque fluctuation control region, the amount of torque fluctuation must be detected. By the way, various methods have been conventionally proposed for calculating the amount of torque fluctuation. A typical example is a method of mounting a combustion pressure sensor in a combustion chamber and calculating a torque fluctuation amount based on an output signal of the combustion pressure sensor, or a method of calculating a torque fluctuation amount based on an angular velocity of a crankshaft. No.

【0022】燃焼圧センサを用いると燃焼圧センサを取
付けた気筒が発生するトルクを確実に検出することがで
きるという利点がある反面、燃焼圧センサが必要である
という欠点を有している。これに対してクランクシャフ
トの角速度は従来より内燃機関が備えているクランク角
センサの出力信号から算出することができるのでクラン
クシャフトの角速度に基づき出力トルクを算出するよう
にした場合には新たなセンサを設ける必要がないという
利点がある。ただし、この場合機関駆動系が捩り振動を
生ずるとトルク変動量を正確に検出できなくなるという
問題を有している。しかしながらこの問題を解決しさえ
すれば新たなセンサを必要としない角速度に基づくトル
ク算出方法の方が好ましいことは明らかである。そこで
本発明の実施例では発生トルクをクランクシャフトの角
速度に基づき算出するようにし、その際機関駆動系が捩
り振動を生じたとしてもトルク変動量を正確に検出しう
るようにしている。
The use of a combustion pressure sensor has the advantage that the torque generated by the cylinder to which the combustion pressure sensor is attached can be reliably detected, but has the disadvantage of requiring a combustion pressure sensor. On the other hand, since the angular speed of the crankshaft can be calculated from the output signal of the crank angle sensor provided in the internal combustion engine, a new sensor is used when the output torque is calculated based on the angular speed of the crankshaft. There is an advantage that there is no need to provide However, in this case, if the engine drive system generates torsional vibration, there is a problem that the torque fluctuation amount cannot be accurately detected. However, it is clear that a torque calculation method based on angular velocity that does not require a new sensor is preferable as long as this problem is solved. Therefore, in the embodiment of the present invention, the generated torque is calculated based on the angular velocity of the crankshaft, and in this case, even if the engine drive system generates torsional vibration, the amount of torque fluctuation can be accurately detected.

【0023】次に機関の出力変動およびトルク変動を算
出するための本発明による新たな方法について説明す
る。まず初めに、機関駆動系が捩り振動を生じていない
定常運転時を示す図6(A),(B)を参照しつつ各気
筒が発生する駆動力および各気筒が発生するトルクを算
出する方法について説明する。前述したようにクランク
角センサ15はクランクシャフトが30°クランク角度
回転する毎に出力パルスを発生し、更にクランク角セン
サ15は各気筒#1,#2,#3,#4の圧縮上死点T
DCにおいて出力パルスを発生するように配置されてい
る。従ってクランク角センサ15は各気筒#1,#2,
#3,#4の圧縮上死点TDCから30°クランク角毎
に出力パルスを発生することになる。なお、本発明にお
いて用いられている内燃機関の点火順序は1−3−4−
2である。
Next, a new method according to the present invention for calculating the output fluctuation and the torque fluctuation of the engine will be described. First, a method of calculating the driving force generated by each cylinder and the torque generated by each cylinder with reference to FIGS. 6A and 6B showing a steady operation in which the engine drive system does not generate torsional vibration. Will be described. As described above, the crank angle sensor 15 generates an output pulse every time the crankshaft rotates by 30 ° crank angle, and the crank angle sensor 15 further outputs the compression top dead center of each of the cylinders # 1, # 2, # 3, and # 4. T
It is arranged to generate an output pulse at DC. Therefore, the crank angle sensor 15 is provided for each cylinder # 1, # 2,
An output pulse is generated every 30 ° crank angle from the top dead center TDC of # 3 and # 4. The ignition sequence of the internal combustion engine used in the present invention is 1-3-4-
2.

【0024】図6(A),(B)において縦軸T30は
クランク角センサ15が出力パルスを発生してから次の
出力パルスを発生するまでの30°クランク角度の経過
時間を表わしている。また、Ta(i)はi番気筒の圧
縮上死点(以下TDCと称す)から圧縮上死点後(以下
ATDCと称す)30°までの経過時間を示しており、
Tb(i)はi番気筒のATDC60°からATDC9
0°までの経過時間を示している。従って例えばTa
(1)は1番気筒のTDCからATDC30°までの経
過時間を示しており、Tb(1)は1番気筒のATDC
60°からATDC90°までの経過時間を示している
ことになる。一方、30°クランク角度を経過時間T3
0で除算するとこの除算結果は角速度ωを表わしてい
る。本発明による実施例では30°クランク角度/Ta
(i)をi番気筒における第1の角速度ωaと称し、3
0°クランク角度/Tb(i)をi番気筒における第2
の角速度ωbと称する。従って30°クランク角度/T
a(1)は1番気筒の第1の角速度ωaを表わし、30
°クランク角度/Tb(1)は1番気筒の第2の角速度
ωbを表わすことになる。
6 (A) and 6 (B), the vertical axis T30 represents the elapsed time of a 30 ° crank angle from the time when the crank angle sensor 15 generates an output pulse to the time when the next output pulse is generated. Further, Ta (i) indicates the elapsed time from the compression top dead center (hereinafter, referred to as TDC) of the i-th cylinder to 30 ° after the compression top dead center (hereinafter, referred to as ATDC),
Tb (i) is from ATDC60 ° of the i-th cylinder to ATDC9
The elapsed time up to 0 ° is shown. Therefore, for example, Ta
(1) indicates the elapsed time from TDC of the first cylinder to 30 ° ATDC, and Tb (1) indicates the ATDC of the first cylinder.
This indicates the elapsed time from 60 ° to ATDC 90 °. On the other hand, the 30 ° crank angle is changed to the elapsed time T3.
When divided by 0, the result of the division represents the angular velocity ω. In the embodiment according to the present invention, 30 ° crank angle / Ta
(I) is referred to as a first angular velocity ωa in the i-th cylinder, and 3
0 ° crank angle / Tb (i) is set to the second
Is referred to as the angular velocity ωb. Therefore, 30 ° crank angle / T
a (1) represents the first angular velocity ωa of the first cylinder,
° Crank angle / Tb (1) represents the second angular velocity ωb of the first cylinder.

【0025】図6(A),(B)の1番気筒に注目して
みると、燃焼が開始されて燃焼圧が高まると経過時間が
Ta(1)からTb(1)まで低下し、次いでTb
(1)から再び上昇する。云い換えるとクランクシャフ
トの角速度ωが第1の角速度ωaから第2の角速度ωb
まで上昇し、次いで第2の角速度ωbから再び下降す
る。即ち、燃焼圧によってクランクシャフトの角速度ω
が第1の角速度ωaから第2の角速度ωbへと増大せし
められたことになる。図6(A)は燃焼圧が比較的高い
場合を示しており、図6(B)は燃焼圧が比較的低い場
合を示している。図6(A),(B)から燃焼圧が高い
場合には燃焼圧が低い場合に比べて経過時間の減少量
(Ta(i)−Tb(i))が大きくなり、従って角速
度ωの増大量(ωb−ωa)が大きくなる。燃焼圧が高
くなればその気筒の発生する駆動力が大きくなり、従っ
て角速度ωの増大量(ωb−ωa)が大きくなれば気筒
の発生する駆動力が大きくなることになる。従って第1
の角速度ωaと第2の角速度ωbとの差(ωb−ωa)
から気筒の発生する駆動力を算出することができる。
Focusing on the first cylinder in FIGS. 6A and 6B, when the combustion starts and the combustion pressure increases, the elapsed time decreases from Ta (1) to Tb (1), and then. Tb
It rises again from (1). In other words, the angular velocity ω of the crankshaft is changed from the first angular velocity ωa to the second angular velocity ωb
And then fall again from the second angular velocity ωb. That is, the angular velocity ω of the crankshaft is determined by the combustion pressure.
Has been increased from the first angular velocity ωa to the second angular velocity ωb. FIG. 6A shows a case where the combustion pressure is relatively high, and FIG. 6B shows a case where the combustion pressure is relatively low. 6A and 6B, when the combustion pressure is high, the amount of decrease in the elapsed time (Ta (i) −Tb (i)) is greater than when the combustion pressure is low, and therefore the angular velocity ω is increased. The large amount (ωb−ωa) increases. When the combustion pressure increases, the driving force generated by the cylinder increases. Therefore, when the increase amount (ωb−ωa) of the angular velocity ω increases, the driving force generated by the cylinder increases. Therefore the first
(Ωb−ωa) between the second angular velocity ωb and the second angular velocity ωa
, The driving force generated by the cylinder can be calculated.

【0026】一方、機関の回転慣性モーメントをIとす
ると燃焼圧によって運動エネルギが(1/2)Iωa2
から(1/2)Iωb2 に増大せしめられる。この運動
エネルギの増大量(1/2)・I・(ωb2 −ωa2
はその気筒が発生するトルクを表わしており、従って第
1の角速度ωaの2乗と第2の角速度ωbの2乗との差
(ωb2 −ωa2 )から気筒の発生するトルクを算出で
きることになる。
On the other hand, assuming that the rotational inertia moment of the engine is I, the kinetic energy is (1/2) Iωa 2 due to the combustion pressure.
From () Iωb 2 . Increased amount of kinetic energy (1/2) · I · (ωb 2 -ωa 2)
It is capable of calculating the square and the torque generated by the cylinder from the difference (ωb 2 -ωa 2) of the square of the second angular velocity [omega] b for represents the torque that cylinder will occur, thus the first angular velocity ωa Become.

【0027】このように第1の角速度ωaと第2の角速
度ωbを検出すればこれらの検出値から対応する気筒の
発生する駆動力および対応する気筒の発生するトルクを
算出できることになる。なお、図6(A),(B)に示
される経過時間T30の変化は機関によって若干異な
り、従って第1の角速度ωaを検出すべきクランク角度
範囲および第2の角速度ωbを検出すべきクランク角度
範囲は機関に応じて(ωb−ωa)が機関の発生する駆
動力を最もよく表わすように、或いは(ωb2 −ωa
2 )が機関の発生するトルクを最もよく表わすように定
められる。従って機関によっては第1の角速度ωaを検
出すべきクランク角度範囲が圧縮上死点前BTDC30
°からTDCであり、第2の角速度ωbを検出すべきク
ランク角度範囲がATDC90°からATDC120°
となることもあり得る。
As described above, if the first angular velocity ωa and the second angular velocity ωb are detected, the driving force generated by the corresponding cylinder and the torque generated by the corresponding cylinder can be calculated from these detected values. The changes in the elapsed time T30 shown in FIGS. 6 (A) and 6 (B) are slightly different depending on the engine. The range is set so that (ωb−ωa) best represents the driving force generated by the engine, or (ωb 2 −ωa) depending on the engine.
2 ) is determined to best represent the torque generated by the engine. Therefore, depending on the engine, the crank angle range in which the first angular velocity ωa should be detected is the BTDC 30 before the compression top dead center.
° to TDC, and the crank angle range for detecting the second angular velocity ωb is from ATDC 90 ° to ATDC 120 °.
It is possible that

【0028】従って各角速度ωa,ωbの検出のしかた
について一般的に表現すると、圧縮行程末期から爆発行
程初期までのクランク角度領域内に第1のクランク角度
範囲を設定し、第1のクランク角度範囲から一定のクラ
ンク角を隔てた爆発行程中期のクランク角度領域内に第
2のクランク角度範囲を設定し、第1のクランク角度範
囲内におけるクランクシャフトの第1の角速度ωaを検
出し、第2のクランク角度範囲内におけるクランクシャ
フトの第2の角速度ωbを検出するということになる。
Therefore, if the method of detecting the angular velocities ωa and ωb is generally expressed, the first crank angle range is set within the crank angle range from the end of the compression stroke to the beginning of the explosion stroke, and the first crank angle range is set. A second crank angle range is set in a crank angle region in a middle stage of an explosion stroke separated by a certain crank angle from the first crank angle range, a first angular velocity ωa of the crankshaft in the first crank angle range is detected, and a second This means that the second angular velocity ωb of the crankshaft within the crank angle range is detected.

【0029】上述したように角速度ωa,ωbを検出す
れば検出値に基づいて対応する気筒の発生する駆動力お
よびトルクを算出することができる。しかしながら機関
駆動系には各気筒において順次行われる爆発作用により
駆動系の固有振動数でもって振動する捩り振動が発生し
ており、このように機関駆動系に捩り振動が発生してい
ると角速度ωa,ωbに基づいて気筒の発生する駆動力
およびトルクを正確に算出することができなくなる。次
にこのことについて図7および図8を参照しつつ説明す
る。
As described above, if the angular velocities ωa and ωb are detected, the driving force and torque generated by the corresponding cylinder can be calculated based on the detected values. However, in the engine drive system, torsional vibration oscillating at the natural frequency of the drive system is generated by the explosion effect sequentially performed in each cylinder, and when the torsional vibration is generated in the engine drive system, the angular velocity ωa , Ωb, the driving force and torque generated by the cylinder cannot be accurately calculated. Next, this will be described with reference to FIGS.

【0030】図7は機関駆動系に捩り振動が発生してい
るときに各気筒に対し順次算出される経過時間Ta
(i)の変化を示している。機関駆動系に捩り振動が発
生するとこの捩り振動によってクランクシャフトの角速
度が周期的に増大減少せしめられるので経過時間Ta
(i)は図7に示されるように周期的に増大減少するこ
とになる。
FIG. 7 shows an elapsed time Ta sequentially calculated for each cylinder when torsional vibration occurs in the engine drive system.
The change of (i) is shown. When torsional vibration occurs in the engine drive system, the torsional vibration causes the angular velocity of the crankshaft to periodically increase and decrease, so that the elapsed time Ta
(I) periodically increases and decreases as shown in FIG.

【0031】一方、図8は図7において経過時間Ta
(i)が減少している部分を拡大して示している。図8
に示されるように経過時間Ta(i)はTa(1)とT
a(3)との間でho時間だけ減少しており、このho
時間の減少は捩り振動による捩れ量の増大によるものと
考えられる。この場合、Ta(1)とTa(3)との間
では捩り振動による経過時間の減少量は時間の経過と共
にほぼ直線的に増大するものと考えられ、従ってこの捩
り振動による経過時間の減少量はTa(1)およびTa
(3)を結ぶ破線とTa(1)を通る水平線との差で表
わされることになる。従ってTa(1)とTb(1)と
の間では捩り振動によって経過時間がhだけ減少してい
ることになる。
FIG. 8 shows the elapsed time Ta in FIG.
The portion where (i) is decreasing is shown in an enlarged manner. FIG.
The elapsed time Ta (i) is equal to Ta (1) and T as shown in FIG.
a (3) decreases by ho time.
It is considered that the decrease in time is due to an increase in the amount of torsion due to torsional vibration. In this case, between Ta (1) and Ta (3), the amount of decrease in the elapsed time due to the torsional vibration is considered to increase almost linearly with the passage of time, and therefore, the amount of decrease in the elapsed time due to this torsional vibration. Are Ta (1) and Ta
It is represented by the difference between the dashed line connecting (3) and the horizontal line passing through Ta (1). Therefore, between Ta (1) and Tb (1), the elapsed time is reduced by h due to torsional vibration.

【0032】このように機関駆動系に捩り振動が発生す
るとTb(1)はTa(1)に対して経過時間が減少
し、この減少した経過時間は燃焼圧による経過時間の減
少量fと捩り振動による経過時間の減少量hとを含んで
いることになる。従って燃焼圧により減少した経過時間
Tb(1)だけを求めるためにはTb(1)にhを加算
しなければならないことになる。即ち、検出された経過
時間Ta(i)およびTb(i)に基づいて各気筒が発
生する駆動力或いはトルクを求めても真の駆動力或いは
トルクを求めることができず、斯くして真の機関の出力
変動或いはトルク変動を求めることができない。
As described above, when torsional vibration occurs in the engine drive system, the elapsed time of Tb (1) is reduced with respect to Ta (1). This includes the decrease amount h of the elapsed time due to the vibration. Therefore, in order to obtain only the elapsed time Tb (1) reduced by the combustion pressure, h must be added to Tb (1). That is, even if the driving force or torque generated by each cylinder is obtained based on the detected elapsed times Ta (i) and Tb (i), the true driving force or torque cannot be obtained, and thus the true driving force or torque cannot be obtained. The engine output fluctuation or torque fluctuation cannot be determined.

【0033】更に、多気筒内燃機関ではこのような機関
駆動系の捩り振動に加えてクランクシャフト自体の捩り
振動を発生し、このようなクランクシャフト自体の捩り
振動が発生した場合にも真の機関の出力変動或いはトル
ク変動を求めることができなくなる。次にこのことにつ
いて図9を参照しつつ説明する。多気筒内燃機関、例え
ば図1に示されるような4気筒内燃機関では1番気筒お
よび2番気筒において大きなクランクシャフト自体の捩
り振動が発生する。即ち、クランクシャフト自体の捩り
振動がほとんど発生しない気筒、例えば3番気筒#3で
は図9に示されるようにTa(3)からTb(3)に向
けて経過時間は徐々に減少するが1番気筒#1において
はTa(1)からTb(1)に向けて経過時間は徐々に
減少せず、クランクシャフト自体の捩り振動によってT
b(1)の経過時間が長くなってしまう。その結果、1
番気筒#1については検出された経過時間Ta(1)お
よびTb(1)に基づいて1番気筒#1が発生する駆動
力或いはトルクを求めても真の駆動力或いはトルクを求
めることができず、斯くして真の機関の出力変動或いは
トルク変動を求めることができない。
Further, in a multi-cylinder internal combustion engine, in addition to such torsional vibration of the engine drive system, torsional vibration of the crankshaft itself is generated. Output fluctuation or torque fluctuation cannot be obtained. Next, this will be described with reference to FIG. In a multi-cylinder internal combustion engine, for example, a four-cylinder internal combustion engine as shown in FIG. 1, a large torsional vibration of the crankshaft itself occurs in the first and second cylinders. That is, in the cylinder in which the torsional vibration of the crankshaft itself hardly occurs, for example, the third cylinder # 3, the elapsed time gradually decreases from Ta (3) to Tb (3) as shown in FIG. In the cylinder # 1, the elapsed time does not gradually decrease from Ta (1) to Tb (1), and the time elapses due to torsional vibration of the crankshaft itself.
The elapsed time of b (1) becomes long. As a result, 1
Regarding the # 1 cylinder, even if the driving force or torque generated by the # 1 cylinder # 1 is determined based on the detected elapsed times Ta (1) and Tb (1), the true driving force or torque can be determined. Therefore, it is not possible to obtain the true engine output fluctuation or torque fluctuation.

【0034】そこで本発明の実施例では機関駆動系の捩
り振動が発生しても、またクランクシャフト自体の捩り
振動が発生しても真の機関の出力変動或いはトルク変動
を算出することができる新たな算出方法を採用してい
る。次にこの新たな算出方法について図10を参照しつ
つ説明する。図10においてTa(1)j-1 およびTb
(1)j-1 は1番気筒#1の先の燃焼時における経過時
間を表しており、Ta(1)j およびTb(1)j は1
番気筒#1の次の燃焼時における経過時間を表してい
る。一方、Ta(3)j-1 は1番気筒#1の先の燃焼に
ひき続いて行われる3番気筒#3の先の燃焼時における
経過時間を表しており、Ta(3)j は3番気筒#3の
次の燃焼時における経過時間を表わしている。
Therefore, according to the embodiment of the present invention, even if torsional vibration of the engine drive system or torsional vibration of the crankshaft itself occurs, a new engine output fluctuation or torque fluctuation can be calculated. Calculation method is adopted. Next, this new calculation method will be described with reference to FIG. In FIG. 10, Ta (1) j-1 and Tb
(1) j-1 represents the elapsed time during the preceding combustion of the first cylinder # 1, and Ta (1) j and Tb (1) j are 1
The elapsed time at the time of the next combustion of the cylinder # 1 is shown. On the other hand, Ta (3) j-1 represents the elapsed time at the time of combustion of the third cylinder # 3, which is performed subsequent to the combustion of the first cylinder # 1, and Ta (3) j is 3 This represents the elapsed time of the next cylinder # 3 during the next combustion.

【0035】まず初めにTa(1)j とTa(1)j-1
との差DTa(1)(=Ta(1) j −Ta(1)
j-1 )、およびTa(3)j とTa(3)j-1 との差D
Ta(3)(=Ta(3)j −Ta(3)j-1 )とを求
める。次いで1番気筒#1の先の燃焼時の出力トルクと
次の燃焼時の出力トルクとが同一であったと仮定したと
きの1番気筒#1の次の燃焼時におけるATDC60°
からATDC90°までの仮想の経過時間をTb′
(1)j とし、このTb′(1)j とTb(1)j-1
の差Kb(1)(=Tb′(1)j −Tb(1)j-1
を求める。これらの差DTa(1),Kb(1)および
DTa(3)を一直線上における高さとして書き直すと
図11に示されるようになる。
First, Ta (1)jAnd Ta (1)j-1 
DTa (1) (= Ta (1) j-Ta (1)
j-1 ), And Ta (3)jAnd Ta (3)j-1 And the difference D
Ta (3) (= Ta (3)j-Ta (3)j-1 ) And
Confuse. Next, the output torque of the first cylinder # 1 during the preceding combustion and
Assuming that the output torque during the next combustion is the same
ATDC at the time of the next combustion of the first cylinder # 1
Is the virtual elapsed time from Tb 'to ATDC 90 °
(1)jAnd Tb '(1)jAnd Tb (1)j-1 When
Difference Kb (1) (= Tb '(1)j-Tb (1)j-1 )
Ask for. These differences DTa (1), Kb (1) and
When DTa (3) is rewritten as a height on a straight line,
As shown in FIG.

【0036】図11に示されるように経過時間差DTa
(1)とDTa(3)との間では経過時間差がI0 時間
だけ減少している。クランクシャフト自体に捩り振動が
発生したとしてもこの捩り振動による影響は経過時間差
には表れず、従って経過時間差のI0 時間の減少は機関
駆動系の捩り振動によるものである。この場合、DTa
(1)とDTa(3)との間では機関駆動系の捩り振動
による経過時間差の減少量は時間の経過と共にほぼ直線
的に増大するものと考えられる。従って1番気筒#1の
先の燃焼時の出力トルクと次の燃焼時の出力トルクとが
同一であると仮定すると経過時間差DTa(1)とKb
(1)との間では機関駆動系の捩り振動によって経過時
間差がIだけ減少するものと考えられる。従って図11
からわかるように1番気筒#1の先の燃焼時の出力トル
クと次の燃焼時の出力トルクとが同一であると仮定した
場合に経過時間差Kb(1)は次式で表される。
As shown in FIG. 11, the elapsed time difference DTa
The elapsed time difference between (1) and DTa (3) is reduced by I0 time. Even if torsional vibration occurs in the crankshaft itself, the effect of the torsional vibration does not appear in the elapsed time difference, and therefore, the decrease in the I0 time of the elapsed time difference is due to the torsional vibration of the engine drive system. In this case, DTa
It is considered that the amount of decrease in the elapsed time difference between (1) and DTa (3) due to torsional vibration of the engine drive system increases almost linearly with time. Therefore, assuming that the output torque of the first cylinder # 1 during the previous combustion is the same as the output torque during the next combustion, the elapsed time difference DTa (1) and Kb
It is considered that the elapsed time difference decreases by I due to the torsional vibration of the engine drive system between (1). Therefore, FIG.
As can be seen from the above, the elapsed time difference Kb (1) is expressed by the following equation, assuming that the output torque of the first cylinder # 1 during the previous combustion and the output torque during the next combustion are the same.

【0037】 Kb(1)=(2DTa(1)+DTa(3))/3 ところで1番気筒#1の先の燃焼時の出力トルクと次の
燃焼時の出力トルクとが同一であると仮定したときの1
番気筒#1の仮想の経過時間Tb′(1)j は次式で表
される。 Tb′(1)j =Tb(1)j-1 +Kb(1) 従って1番気筒#1の先の燃焼時の出力トルクと次の燃
焼時における出力トルクが同一であると仮定したときの
1番気筒#1の次の燃焼時における仮想の出力トルクD
SN(1)は次式で表される。 DSN(1)={30°/Tb′(1)j 2 −{30°/Ta(1)j 2 ={30°/(Tb(1)j-1 +Kb(1))}2 −{30°/Ta(1)j 2 一方、1番気筒#1の次の燃焼時におけるATDC60
°からATDC90°までの実際の経過時間Tb(1)
j を用いて実際の出力トルクを算出するとこの出力トル
クDN(1)は次式で表される。
Kb (1) = (2DTa (1) + DTa (3)) / 3 By the way, it is assumed that the output torque of the first cylinder # 1 during the previous combustion is the same as the output torque during the next combustion. Time 1
The virtual elapsed time Tb ′ (1) j of the cylinder # 1 is expressed by the following equation. Tb '(1) j = Tb (1) j-1 + Kb (1) Accordingly, when the output torque of the first cylinder # 1 during the previous combustion is assumed to be the same as the output torque during the next combustion, 1 Virtual output torque D during the next combustion of cylinder # 1
SN (1) is represented by the following equation. DSN (1) = {30 ° / Tb ′ (1) j2 − {30 ° / Ta (1) j2 = {30 ° / (Tb (1) j−1 + Kb (1))} 2 − {30 ° / Ta (1) j } 2 On the other hand, the ATDC 60 at the time of the next combustion of the first cylinder # 1
Actual elapsed time Tb (°) to ATDC 90 ° (1)
When the actual output torque is calculated using j , this output torque DN (1) is expressed by the following equation.

【0038】DN(1)={30°/Tb(1)j 2
−{30°/Ta(1)j 2 この場合、1番気筒#1の仮想の出力トルクDSN
(1)と実際の出力トルクDN(1)との差は1番気筒
#1のトルク変動量を表しており、従って1番気筒#1
のトルク変動量DLN(1)は次式で表されることにな
る。 DLN(1)=DNS(1)−DN(1)={30°/
Tb′(1)j 2−{30°/Tb(1)j 2 一般的に表すとi番気筒のトルク変動量DLN(i)は
次式で表すことができる。
DN (1) = {30 ° / Tb (1) j } 2
− {30 ° / Ta (1) j } 2 In this case, the virtual output torque DSN of the first cylinder # 1
The difference between (1) and the actual output torque DN (1) indicates the amount of torque fluctuation of the first cylinder # 1, and therefore, the first cylinder # 1
The torque fluctuation amount DLN (1) is expressed by the following equation. DLN (1) = DNS (1) −DN (1) = {30 ° /
Tb ′ (1) j2 − {30 ° / Tb (1) j2 Generally, the torque fluctuation amount DLN (i) of the i-th cylinder can be expressed by the following equation.

【0039】DLN(i)=DNS(i)−DN(i)
={30°/Tb′(i)}2−{30°/Tb
(i)}2 即ち、i番気筒のトルク変動量はi番気筒の仮想の第2
の角速度の2乗と実際の第2の角速度の2乗との偏差か
ら求まることになる。このような方法でもってトルク変
動量を算出することによって機関駆動系に捩り振動が発
生したとしても、更にクランクシャフト自体に捩り振動
が発生したとしても各気筒のトルク変動量を正確に検出
できることになる。
DLN (i) = DNS (i) -DN (i)
= {30 ° / Tb '(i)} 2- {30 ° / Tb
(I)} 2 That is, the torque fluctuation amount of the i-th cylinder is the virtual second
And the square of the actual second angular velocity. By calculating the amount of torque fluctuation by such a method, it is possible to accurately detect the amount of torque fluctuation of each cylinder even if torsional vibration occurs in the engine drive system or even if torsional vibration occurs in the crankshaft itself. Become.

【0040】一方、このような方法でもってトルク変動
量を算出する場合、ロータ14(図1)の外周に沿って
形成されている外歯の間隔にばらつきがあると各気筒の
トルク変動量を正確に検出することができない。そこで
本発明による実施例ではロータ14の外歯の間隔にばら
つきがあったとしても各気筒のトルク変動量を正確に検
出しうるように検出された各経過時間Ta(i),Tb
(i)を補正するようにしている。次に経過時間Ta
(i)の補正方法について図12を参照しつつ説明す
る。
On the other hand, when calculating the torque fluctuation amount by such a method, if there is a variation in the interval between the external teeth formed along the outer periphery of the rotor 14 (FIG. 1), the torque fluctuation amount of each cylinder is calculated. It cannot be detected accurately. Therefore, in the embodiment according to the present invention, even if the interval between the external teeth of the rotor 14 varies, the respective elapsed times Ta (i), Tb detected so that the amount of torque fluctuation of each cylinder can be accurately detected.
(I) is corrected. Next, the elapsed time Ta
The correction method (i) will be described with reference to FIG.

【0041】本発明による実施例では経過時間Ta
(i)が次式に基づいて算出される。 Ta(i)=(i番気筒のTDCからATDC30°ま
での所要時間)・(1+KTa(i)) ここでKTa(i)はi番気筒に対する補正係数を表し
ており、これらの補正係数KTa(i)は機関駆動系の
捩り振動が発生せず、クランクシャフト自体の捩り振動
も発生しない減速運転時の燃料供給停止時に算出され
る。
In the embodiment according to the present invention, the elapsed time Ta
(I) is calculated based on the following equation. Ta (i) = (time required from TDC of cylinder i to 30 ° ATDC). (1 + KTa (i)) where KTa (i) represents a correction coefficient for the i-th cylinder, and these correction coefficients KTa ( i) is calculated when fuel supply is stopped during deceleration operation in which no torsional vibration of the engine drive system occurs and no torsional vibration of the crankshaft itself occurs.

【0042】図12は減速運転時における経過時間Ta
(i)の変化を示している。減速運転時にはクランクシ
ャフトの回転速度が次第に低下するので経過時間Ta
(i)はTa(1)j-1 ,Ta(3)j-1 ,Ta(4)
j-1 ,Ta(2)j-1 ,Ta(1)j ,Ta(3)j
Ta(4)j ,Ta(2)j で表されるように次第に増
大する。このときロータ14の外歯の間隔が同一であっ
たとすると各経過時間Ta(i)は図12の実線に沿っ
て変化するものと考えられ、検出された経過時間Ta
(i)が図12の実線からずれている場合には図12の
実線からずれている経過時間Ta(i)を検出するため
の外歯の間隔が正規の間隔からずれているものと考えら
れる。そこで本発明による実施例では経過時間Ta
(i)が図12に示す直線からずれている場合にはその
経過時間Ta(i)が図12の実線上に位置するように
経過時間Ta(i)を補正係数KTa(i)によって補
正するようにしている。
FIG. 12 shows the elapsed time Ta during the deceleration operation.
The change of (i) is shown. Since the rotation speed of the crankshaft gradually decreases during the deceleration operation, the elapsed time Ta
(I) is Ta (1) j−1 , Ta (3) j−1 , Ta (4)
j-1 , Ta (2) j-1 , Ta (1) j , Ta (3) j ,
It gradually increases as represented by Ta (4) j and Ta (2) j . At this time, if the intervals between the external teeth of the rotor 14 are the same, each elapsed time Ta (i) is considered to change along the solid line in FIG. 12, and the detected elapsed time Ta
When (i) deviates from the solid line in FIG. 12, it is considered that the interval between the external teeth for detecting the elapsed time Ta (i) deviating from the solid line in FIG. 12 deviates from the regular interval. . Therefore, in the embodiment according to the present invention, the elapsed time Ta
When (i) deviates from the straight line shown in FIG. 12, the elapsed time Ta (i) is corrected by the correction coefficient KTa (i) such that the elapsed time Ta (i) is located on the solid line in FIG. Like that.

【0043】具体的に云うと、本発明による実施例では
720°クランク角範囲(j−1),(j)…における
4気筒の経過時間Ta(i)の平均値TaAVj-1 {=
(Ta(1)j-1 +Ta(3)j-1 +Ta(4)j-1
Ta(2)j-1 )/4},TaAVj {=(Ta(1)
j +Ta(3)j +Ta(4)j +Ta(2)j )/
4},…を順次算出する。次いで各経過時間Ta(4)
j-1 ,Ta(2)j-1 ,Ta(1)j ,Ta(3)j
平均値TaAVj-1 から平均値TaAVj まで平均的な
一定の増大率でもって増大したと考え、平均的な一定の
増大率でもって増大したと考えたときの各気筒について
の経過時間AAV(4),AAV(2),AAV
(1),AAV(3)を次式より求める。
More specifically, in the embodiment according to the present invention, the average value TaAV j-1 of the elapsed time Ta (i) of the four cylinders in the 720 ° crank angle range (j-1), (j).
(Ta (1) j-1 + Ta (3) j-1 + Ta (4) j-1 +
Ta (2) j-1 ) / 4}, TaAV j } = (Ta (1)
j + Ta (3) j + Ta (4) j + Ta (2) j ) /
Are sequentially calculated. Next, each elapsed time Ta (4)
j-1 , Ta (2) j-1 , Ta (1) j , Ta (3) j are considered to have increased from the average value TaAV j -1 to the average value TaAV j at an average constant increase rate; Elapsed time AAV (4), AAV (2), AAV for each cylinder when considered to have increased at an average constant increase rate
(1), AAV (3) is obtained from the following equation.

【0044】AAV(4)=(TaAVj −TaAV
j-1 )・(1/8)+TaAVj-1 AAV(2)=(TaAVj −TaAVj-1 )・(3/
8)+TaAVj-1 AAV(1)=(TaAVj −TaAVj-1 )・(5/
8)+TaAVj-1 AAV(3)=(TaAVj −TaAVj-1 )・(7/
8)+TaAVj-1 次いで次式に基づき各気筒についてこれら経過時間AA
V(4),AAV(2),AAV(1),AAV(3)
に対する実際に検出された経過時間Ta(4) j-1 ,T
a(2)j-1 ,Ta(1)j ,Ta(3)j のずれ割合
KAFC(4),KAFC(2),KAFC(1),K
AFC(3)を求める。
AAV (4) = (TaAVj-TaAV
j-1 ) ・ (1/8) + TaAVj-1 AAV (2) = (TaAVj-TaAVj-1 ) ・ (3 /
8) + TaAVj-1 AAV (1) = (TaAVj-TaAVj-1 ) ・ (5 /
8) + TaAVj-1 AAV (3) = (TaAVj-TaAVj-1 ) ・ (7 /
8) + TaAVj-1 Next, the elapsed time AA for each cylinder is calculated based on the following equation.
V (4), AAV (2), AAV (1), AAV (3)
Elapsed time Ta (4) actually detected with respect to j-1 , T
a (2)j-1 , Ta (1)j, Ta (3)jDeviation ratio
KAFC (4), KAFC (2), KAFC (1), K
Find AFC (3).

【0045】KAFC(4)={Ta(4)j-1 −AA
V(4)}/AAV(4) KAFC(2)={Ta(2)j-1 −AAV(2)}/
AAV(2) KAFC(1)={Ta(1)j −AAV(1)}/A
AV(1) KAFC(3)={Ta(3)j −AAV(3)}/A
AV(3) 次に次式を用いて基本補正係数KTaB(i)を各気筒
毎に求める。
KAFC (4) = {Ta (4) j−1 −AA
V (4)} / AAV (4) KAFC (2) = {Ta (2) j−1 −AAV (2)} /
AAV (2) KAFC (1) = {Ta (1) j −AAV (1)} / A
AV (1) KAFC (3) = {Ta (3) j −AAV (3)} / A
AV (3) Next, a basic correction coefficient KTaB (i) is obtained for each cylinder using the following equation.

【0046】KTaB(i)=KTa(i)j-1 −KA
FC(i)/4 即ち、各気筒に対するこれまでの補正係数KTa(i)
j-1 からずれ割合KAFC(i)の1/4を減算するこ
とによって基本補正係数KTaB(i)が算出される。
次いで基本補正係数KTaB(i)の平均値tKTaM
が次式に基づき算出される。
KTaB (i) = KTa (i) j-1 -KA
FC (i) / 4 That is, the previous correction coefficient KTa (i) for each cylinder
The basic correction coefficient KTaB (i) is calculated by subtracting 1/4 of the deviation ratio KAFC (i) from j-1 .
Next, the average value tKTaM of the basic correction coefficient KTaB (i)
Is calculated based on the following equation.

【0047】tKTaM={KTaB(1)+KTaB
(2)+KTaB(3)+KTaB(4)}/4 次いで次式に示されるように各基本補正係数KTaB
(i)から平均値tKTaMを減算することによって各
気筒に対する補正係数KTa(i)が算出される。
TKTaM = {KTaB (1) + KTaB
(2) + KTaB (3) + KTaB (4)} / 4 Then, as shown in the following equation, each basic correction coefficient KTaB
The correction coefficient KTa (i) for each cylinder is calculated by subtracting the average value tKTaM from (i).

【0048】 KTa(i)=KTaB(i)−tKTaM 上述したように補正係数KTa(i)j-1 をずれ割合K
AFC(i)に基づいて直接補正せず、一旦基本補正係
数KTaB(i)を求めるようにしているのは次の理由
による。例えば1番気筒#1についてのみずれ割合KA
FC(1)が存在し、このずれ割合KAFC(1)に基
づいて1番気筒#1の補正係数KTa(1)のみを補正
したとする。この場合、1番気筒#1のみの経過時間T
a(1)が増大又は減少せしめられる。しかしながら1
番気筒#1のみの経過時間Ta(1)が増大又は減少せ
しめられると今度は残りの気筒#2,#3,#4の補正
係数KTa(2),KTa(3),KTa(4)がずれ
を生じることになる。
KTa (i) = KTaB (i) −tKTaM As described above, the correction coefficient KTa (i) j−1 is set to the deviation ratio K
The reason why the basic correction coefficient KTaB (i) is once obtained without directly correcting based on AFC (i) is as follows. For example, the deviation ratio KA only for the first cylinder # 1
It is assumed that FC (1) exists and only the correction coefficient KTa (1) of the first cylinder # 1 is corrected based on the deviation ratio KAFC (1). In this case, the elapsed time T of only the first cylinder # 1
a (1) is increased or decreased. However 1
When the elapsed time Ta (1) of only the cylinder # 1 is increased or decreased, the correction coefficients KTa (2), KTa (3), and KTa (4) of the remaining cylinders # 2, # 3, and # 4 are increased. A shift will occur.

【0049】このような問題が生じないようにするため
に基本補正係数KTaB(i)を一旦求め、この基本補
正係数KTaB(i)から基本補正係数の平均値tKT
aMを減算することによって最終的な補正係数KTa
(i)を求めるようにしている。即ち、例えば1番気筒
#1の基本補正係数KTaB(1)が増大せしめられた
場合には全ての気筒#1,#2,#3,#4の基本補正
係数KTaB(i)から基本補正係数の平均値tKTa
Mが減算される。このように全ての気筒の基本補正係数
KTaB(i)からtKTaMが減算されると1番気筒
#1の補正係数KTa(1)は増大するが残りの気筒#
2,#3,#4の補正係数KTa(2),KTa
(3),KTa(4)は減少せしめられ、KTa
(1),KTa(2),KTa(3)およびKTa
(4)の和は常に零に維持される。このようにKTa
(1),KTa(2),KTa(3)およびKTa
(4)の和が常に零になるように各補正係数KTa
(i)を補正するといずれか一つの補正係数KTa
(i)が補正されても他の補正係数KTa(i)はずれ
を生じなくなる。
In order to prevent such a problem from occurring, a basic correction coefficient KTaB (i) is once obtained, and an average value tKT of the basic correction coefficient is calculated from the basic correction coefficient KTaB (i).
The final correction coefficient KTa is obtained by subtracting aM.
(I) is obtained. That is, for example, when the basic correction coefficient KTaB (1) of the first cylinder # 1 is increased, the basic correction coefficient KTaB (i) of all the cylinders # 1, # 2, # 3, and # 4 is calculated. Average value of tKTa
M is subtracted. As described above, when tKTaM is subtracted from the basic correction coefficient KTaB (i) of all cylinders, the correction coefficient KTa (1) of the first cylinder # 1 increases, but the remaining cylinders ##
2, # 3, # 4 correction coefficients KTa (2), KTa
(3), KTa (4) is reduced and KTa
(1), KTa (2), KTa (3) and KTa
The sum of (4) is always maintained at zero. Thus, KTa
(1), KTa (2), KTa (3) and KTa
Each correction coefficient KTa is such that the sum of (4) is always zero.
When (i) is corrected, one of the correction coefficients KTa
Even if (i) is corrected, other correction coefficients KTa (i) do not shift.

【0050】図12に示される実施例では例えば1番気
筒#1の経過時間Ta(1)j が平均的な一定の増大率
でもって増大したと考えたときの経過時間AAV(1)
よりも大きいときには1番気筒#1に対するずれ割合K
AFC(1)が正の値となる。その結果補正係数KTa
(1)は、ずれ割合KAFC(1)が零となるまで減少
せしめられ、ずれ割合KAFC(1)が零になると補正
係数KTa(1)の値は一定値に落ち着くことになる。
このとき経過時間Ta(1)は経過時間AVV(1)に
一致する。全ての気筒についての補正係数KTa(i)
が一定値に落ち着くとロータ14の回転速度が一定のと
きには補正係数KTa(i)を用いて補正された各気筒
の経過時間Ta(i)は全て等しくなる。従ってロータ
14の外歯の間隔にばらつきがあったとしても各気筒の
トルク変動を正確に検出することができる。
In the embodiment shown in FIG. 12, for example, the elapsed time AAV (1) when the elapsed time Ta (1) j of the first cylinder # 1 is considered to have increased at an average constant increasing rate.
Is larger than the displacement ratio K with respect to the first cylinder # 1.
AFC (1) has a positive value. As a result, the correction coefficient KTa
(1) is decreased until the deviation ratio KAFC (1) becomes zero, and when the deviation ratio KAFC (1) becomes zero, the value of the correction coefficient KTa (1) becomes a constant value.
At this time, the elapsed time Ta (1) matches the elapsed time AVV (1). Correction coefficient KTa (i) for all cylinders
Reaches a constant value, when the rotation speed of the rotor 14 is constant, the elapsed time Ta (i) of each cylinder corrected using the correction coefficient KTa (i) becomes equal. Therefore, even if the interval between the external teeth of the rotor 14 varies, the torque variation of each cylinder can be accurately detected.

【0051】再びトルク変動の算出に話しを戻すと機関
駆動系に捩り振動が発生したときに経過時間差DTa
(i)が変動する。しかしながらこの経過時間差DTa
(i)は車両が凸凹道を走行したときにも変動し、しか
もこのときにはDTa(i)の変動巾が極めて大きくな
る場合がある。図13は車両が凸凹道を走行したときの
DTa(i)の変動を示しており、図13のAMPは最
小のDTa(i)と最大のDTa(i)との差、即ち振
幅を示している。この振幅AMPが小さいときにはこれ
まで述べた方法によって各気筒の出力変動およびトルク
変動を正確に検出することができる。
Returning again to the calculation of the torque fluctuation, when the torsional vibration occurs in the engine drive system, the elapsed time difference DTa
(I) fluctuates. However, this elapsed time difference DTa
(I) also fluctuates when the vehicle travels on uneven roads, and at this time, the fluctuation range of DTa (i) may become extremely large. FIG. 13 shows the variation of DTa (i) when the vehicle travels on an uneven road, and AMP in FIG. 13 shows the difference between the minimum DTa (i) and the maximum DTa (i), that is, the amplitude. I have. When the amplitude AMP is small, the output fluctuation and torque fluctuation of each cylinder can be accurately detected by the method described above.

【0052】しかしながら振幅AMPが大きくなるとD
Ta(i)が最大又は最小となる気筒の出力変動又はト
ルク変動を正確に検出できなくなる。即ち、図13にお
いて例えば最初にDTa(i)が最大になる気筒が1番
気筒#1であったとすると1番気筒#1の仮想の経過時
間差Kb(1)の捩り振動による減少量Iは図11のD
Ta(1)とDTa(3)とを結ぶ鎖線の傾きから求め
られる。しかしながらDTa(1)が最大となる付近で
は捩り振動による経過時間の増大量又は減少量はDTa
(2),DTa(1),DTa(3)を通る滑らかな曲
線で変化しており、従って1番気筒#1のKb(1)を
DTa(1)とDTa(3)から求めるとKb(1)の
値は実際の値よりもかなり小さく計算される。その結
果、Kb(1)が正規の値を示さなくなり、斯くして出
力変動量およびトルク変動量を正確に検出できなくな
る。振幅AMPが大きくなるとDTa(i)が最小とな
る気筒においても同じことが生ずる。
However, when the amplitude AMP increases, D
The output fluctuation or torque fluctuation of the cylinder in which Ta (i) becomes maximum or minimum cannot be detected accurately. That is, assuming that, for example, in FIG. 13, for example, the first cylinder having the maximum DTa (i) is the first cylinder # 1, the decrease I due to the torsional vibration of the virtual elapsed time difference Kb (1) of the first cylinder # 1 is shown in FIG. 11 D
It is determined from the inclination of the chain line connecting Ta (1) and DTa (3). However, near the time when DTa (1) becomes maximum, the amount of increase or decrease of the elapsed time due to torsional vibration is DTa (1).
(2), DTa (1), and a smooth curve passing through DTa (3). Therefore, when Kb (1) of the first cylinder # 1 is obtained from DTa (1) and DTa (3), Kb (1) is obtained. The value of 1) is calculated to be much smaller than the actual value. As a result, Kb (1) does not show a regular value, and thus the output fluctuation amount and the torque fluctuation amount cannot be accurately detected. When the amplitude AMP increases, the same occurs in a cylinder in which DTa (i) is minimized.

【0053】また、一つ前に燃焼が行われた気筒のDT
a(i)に対してDTa(i)が急変した気筒において
もKb(i)の値が実際の値からずれ、斯くして出力変
動およびトルク変動を正確に検出できなくなる。そこで
本発明による実施例では振幅AMPが大きいときにはD
Ta(i)が最大又は最小となる気筒については出力変
動量又はトルク変動量を求めずに、更に一つ前に燃焼が
行われた気筒のDTa(i)に対してDTa(i)が急
変した気筒についても出力変動量又はトルク変動量を求
めないようにしている。
Further, the DT of the cylinder in which combustion was performed immediately before
Even in a cylinder in which DTa (i) suddenly changes with respect to a (i), the value of Kb (i) deviates from the actual value, so that output fluctuation and torque fluctuation cannot be detected accurately. Therefore, in the embodiment according to the present invention, when the amplitude AMP is large, D
The output fluctuation amount or the torque fluctuation amount is not obtained for the cylinder in which Ta (i) becomes the maximum or the minimum, and DTa (i) changes abruptly with respect to DTa (i) of the cylinder in which the combustion was performed immediately before. Also, the output fluctuation amount or the torque fluctuation amount is not calculated for the set cylinder.

【0054】次に図14から図25を参照しつつ各気筒
のトルク変動量を求めるためのルーチンについて説明す
る。なお、図25は各ルーチンにおいて行われる各値の
計算タイミングを示している。図14は30°クランク
角度毎に行われる割込みルーチンを示している。図14
を参照するとまず初めに経過時間差DTa(i)および
経過時間Tb(i)を算出するためのルーチン(ステッ
プ100)に進む。このルーチンは図15から図18に
示されている。次いでトルク変動の算出を許可するか否
かをチェックするためのルーチン(ステップ200)に
進む。このルーチンは図19から図21に示されてい
る。次いでトルク変動を算出するためのルーチン(ステ
ップ300)に進む。このルーチンは図23に示されて
いる。次いでトルク変動値の算出に用いるカウンタCD
LNIXの処理ルーチン(ステップ400)に進む。こ
のルーチンは図24に示されている。
Next, a routine for determining the amount of torque fluctuation of each cylinder will be described with reference to FIGS. FIG. 25 shows the calculation timing of each value performed in each routine. FIG. 14 shows an interrupt routine performed every 30 ° crank angle. FIG.
First, the process proceeds to a routine (step 100) for calculating the elapsed time difference DTa (i) and the elapsed time Tb (i). This routine is shown in FIGS. Next, the routine proceeds to a routine (step 200) for checking whether calculation of torque fluctuation is permitted. This routine is shown in FIGS. Next, the routine proceeds to a routine (step 300) for calculating the torque fluctuation. This routine is shown in FIG. Next, a counter CD used for calculating the torque fluctuation value
The process proceeds to the LNIX processing routine (step 400). This routine is shown in FIG.

【0055】経過時間差DTa(i)および経過時間T
b(i)の算出ルーチンを示す図15から図18を参照
すると、まず初めにステップ101において時刻TIM
EがTIMEOとされる。電子制御ユニット20は時刻
を表わすフリーランカウンタを備えており、このフリー
ランカウンタのカウント値から時刻TIMEが算出され
る。次いでステップ102では現在の時刻TIMEが取
込まれる。従ってステップ101のTIMEOは30°
クランク角度前の時刻を表わしていることになる。
Elapsed time difference DTa (i) and elapsed time T
Referring to FIGS. 15 to 18 showing the routine for calculating b (i), first, at step 101, the time TIM
E is set to TIMEO. The electronic control unit 20 includes a free-run counter that indicates the time, and the time TIME is calculated from the count value of the free-run counter. Next, at step 102, the current time TIME is taken. Therefore, the TIMEO of step 101 is 30 °
This indicates the time before the crank angle.

【0056】次いでステップ103では現在i番気筒の
ATDC30°であるか否かが判別される。現在i番気
筒のATDC30°でない場合にはステップ111にジ
ャンプして現在i番気筒のATDC90°であるか否か
が判別される。現在i番気筒のATDC90°でない場
合には経過時間差DTa(i)および経過時間Tb
(i)の算出ルーチンを完了する。
Next, at step 103, it is determined whether or not the i-th cylinder is currently at ATDC 30 °. If the ATDC of the i-th cylinder is not 30 °, the process jumps to step 111 to determine whether or not the ATDC of the i-th cylinder is 90 °. If the current i-th cylinder is not at 90 ° ATDC, the elapsed time difference DTa (i) and the elapsed time Tb
The calculation routine of (i) is completed.

【0057】これに対してステップ103において現在
i番気筒のATDC30°であると判別されたときには
ステップ104に進んで720°クランク角度前に算出
された経過時間Ta(i)がTaO(i)とされる。次
いでステップ105では次式に基づいてi番気筒のTD
CからATDC30°までの最終的な経過時間Ta
(i)が算出される。
On the other hand, when it is determined in step 103 that the ATDC of the i-th cylinder is currently 30 °, the routine proceeds to step 104, where the elapsed time Ta (i) calculated before the 720 ° crank angle is TaO (i). Is done. Next, at step 105, the TD of the i-th cylinder is calculated based on the following equation.
Final elapsed time Ta from C to ATDC 30 °
(I) is calculated.

【0058】Ta(i)=(TIME−TIMEO)・
(1+KTa(i)) 即ち、例えば現在1番気筒#1のATDC30°である
とすると1番気筒#1のTDCからATDC30°まで
の最終的な経過時間Ta(1)が(TIME−TIME
O)・(1+KTa(1))から算出される。ここで
(TIME−TIMEO)はクランク角センサ15によ
り実測された経過時間Ta(1)を表わしており、KT
a(1)はロータ13の外歯間隔による誤差を補正する
ための補正係数であり、従って(TIME−TIME
O)に(1+KTa(1))を乗算することによって得
られた最終的な経過時間Ta(1)はクランクシャフト
が30°クランク角度回転する間の経過時間を正確に表
わしていることになる。
Ta (i) = (TIME-TIMEO).
(1 + KTa (i)) That is, for example, if it is the ATDC 30 ° of the first cylinder # 1 now, the final elapsed time Ta (1) from TDC of the first cylinder # 1 to ATDC 30 ° is (TIME−TIME)
O) · (1 + KTa (1)). Here, (TIME-TIMEO) represents the elapsed time Ta (1) actually measured by the crank angle sensor 15, and KT
a (1) is a correction coefficient for correcting an error due to the external tooth interval of the rotor 13, and accordingly, (TIME-TIME)
The final elapsed time Ta (1) obtained by multiplying (O) by (1 + KTa (1)) accurately represents the elapsed time during which the crankshaft rotates by 30 ° crank angle.

【0059】次いでステップ106では今回算出された
経過時間Ta(i)から720°クランク角度前に算出
された経過時間TaO(i)を減算することによって経
過時間差DTa(i)(=Ta(i)−TaO(i))
が算出される。次いでステップ107では現在2番気筒
#2のATDC30°であるか否かが判別される。現在
2番気筒#2のATDC30°でないときにはステップ
110にジャンプし、一つ前に燃焼が行われた(i−
1)番気筒のトルク変動量を算出すべきことを示すフラ
グXCAL(i−1)がセット(XCAL(i−1)←
“1”)される。次いでステップ111に進む。本発明
による実施例では前述したように点火順序が1−3−4
−2であるので現在1番気筒#1のATDC30°であ
るとすると一つ前に燃焼が行われた2番気筒#2のトル
ク変動量を算出すべきことを示すフラグXCAL(2)
がセットされる。同様に図25に示される如く最終的な
経過時間Ta(3)が算出されるとフラグXCAL
(1)がセットされ、最終的な経過時間Ta(4)が算
出されるとフラグXCAL(3)がセットされ、最終的
な経過時間Ta(2)が算出されるとフラグXCAL
(4)がセットされる。
Next, at step 106, the elapsed time difference DTa (i) (= Ta (i) is obtained by subtracting the elapsed time TaO (i) calculated 720 ° crank angle before from the currently calculated elapsed time Ta (i). -TaO (i))
Is calculated. Next, at step 107, it is determined whether or not the ATDC of the second cylinder # 2 is 30 °. When the ATDC of the second cylinder # 2 is not 30 °, the process jumps to step 110, and the combustion is performed immediately before (i-
1) A flag XCAL (i-1) indicating that the torque variation of the cylinder No. should be calculated is set (XCAL (i-1) ←
"1"). Next, the routine proceeds to step 111. In the embodiment according to the present invention, as described above, the ignition order is set to 1-3-4.
Assuming that the ATDC of the first cylinder # 1 is 30 ° at present, the flag XCAL (2) indicating that the torque fluctuation amount of the second cylinder # 2 in which combustion was performed immediately before should be calculated.
Is set. Similarly, when the final elapsed time Ta (3) is calculated as shown in FIG.
When (1) is set and the final elapsed time Ta (4) is calculated, the flag XCAL (3) is set. When the final elapsed time Ta (2) is calculated, the flag XCAL is set.
(4) is set.

【0060】一方、ステップ111において現在i番気
筒のATDC90°であると判別されたときにはステッ
プ112に進んで720°クランク角度前に算出された
経過時間Tb(i)がTbO(i)とされる。次いでス
テップ113では次式に基づいてi番気筒のATDC6
0°からATDC90°までの最終的な経過時間Tb
(i)が算出される。
On the other hand, if it is determined in step 111 that the ATDC of the i-th cylinder is 90 °, the routine proceeds to step 112, where the elapsed time Tb (i) calculated before the 720 ° crank angle is set to TbO (i). . Next, at step 113, the ATDC6 of the i-th cylinder is determined based on the following equation.
Final elapsed time Tb from 0 ° to 90 ° ATDC
(I) is calculated.

【0061】Tb(i)=(TIME−TIMEO)・
(1+KTb(i)) 即ち、例えば現在1番気筒#1のATDC90°である
とすると1番気筒#1のATDC60°からATDC9
0°までの最終的な経過時間Tb(1)が(TIME−
TIMEO)・(1+KTb(i))から算出される。
この場合にもロータ13の外歯間隔による誤差を補正す
るための値(1+KTb(i))が(TIME−TIM
EO)に乗算されているので最終的な経過時間Tb
(1)はクランクシャフトが30°クランク角度回転す
る間の経過時間を正確に表わしていることになる。次い
でステップ114では現在2番気筒#2のATDC90
°であるか否かが判別される。現在2番気筒#2のAT
DC90°でないときには経過時間差DTa(i)およ
び経過時間Tb(i)の算出ルーチンを完了する。
Tb (i) = (TIME-TIMEO).
(1 + KTb (i)) That is, for example, if the ATDC of the first cylinder # 1 is currently 90 °, the ATDC of the first cylinder # 1 is 60 ° to ATDC9.
The final elapsed time Tb (1) up to 0 ° is (TIME-
TIMEO) · (1 + KTb (i)).
Also in this case, the value (1 + KTb (i)) for correcting the error due to the external tooth interval of the rotor 13 is (TIME-TIM).
EO), the final elapsed time Tb
(1) accurately represents the elapsed time during which the crankshaft rotates by 30 ° crank angle. Next, at step 114, the ATDC 90 of the current second cylinder # 2
° is determined. AT of current cylinder # 2
If DC is not 90 °, the calculation routine of the elapsed time difference DTa (i) and the elapsed time Tb (i) is completed.

【0062】一方、ステップ107において現在2番気
筒#2のATDC30°であると判別されたときにはス
テップ108に進んで次式に基づき図12の720°ク
ランク角度範囲(j)における経過時間Ta(i)の平
均値TaAVj が算出される。 TaAVj =(Ta(1)+Ta(3)+Ta(4)+
Ta(2))/4 ここでTa(1),Ta(3),Ta(4),Ta
(2)は図12におけるTa(1)j ,Ta(3)j
Ta(4)j ,Ta(2)j に夫々相当する。次いでス
テップ109の補正係数KTa(i)の算出ルーチンに
進む。このルーチンは図17に示されている。
On the other hand, if it is determined in step 107 that the ATDC of the second cylinder # 2 is currently 30 ° ATDC, the routine proceeds to step 108, where the elapsed time Ta (i) in the 720 ° crank angle range (j) of FIG. average TaAV j of) is calculated. TaAV j = (Ta (1) + Ta (3) + Ta (4) +
Ta (2)) / 4 where Ta (1), Ta (3), Ta (4), Ta
(2) is Ta (1) j , Ta (3) j ,
Ta (4) j and Ta (2) j respectively. Next, the routine proceeds to a routine for calculating the correction coefficient KTa (i) in step 109. This routine is shown in FIG.

【0063】図17を参照するとまず初めにステップ1
20において減速運転中の燃料供給停止時であるか否か
が判別される。減速運転中の燃料供給停止時でないとき
には処理サイクルを完了し、減速運転中の燃料供給停止
時にはステップ121に進む。ステップ121ではステ
ップ108において算出された経過時間Ta(i)の平
均値TaAVj と、既に算出されている図12の720
°クランク角度範囲(j−1)における経過時間Ta
(i)の平均値TaAVj-1 (=(Ta(1)+Ta
(3)+Ta(4)+Ta(2))/4)(ここでTa
(1),Ta(3),Ta(4),Ta(2)は夫々図
12に示されるTa(1)j-1 ,Ta(3) j-1 ,Ta
(4)j-1 ,Ta(2)j-1 に相当する)から、平均的
な一定の増大率でもって増大したと考えたときの図12
に示す経過時間AAV(4),AAV(2),AAV
(1),AAV(3)が次のようにして算出される。
Referring to FIG. 17, first, in step 1
In 20 whether or not the fuel supply is stopped during deceleration operation
Is determined. When fuel supply is not stopped during deceleration operation
Completes the processing cycle and stops fuel supply during deceleration operation
Sometimes the process proceeds to step 121. Step 121
Of the elapsed time Ta (i) calculated in step 108
Average value TaAVjAnd 720 of FIG. 12 which has already been calculated.
° Elapsed time Ta in crank angle range (j-1)
Average value TaAV of (i)j-1 (= (Ta (1) + Ta
(3) + Ta (4) + Ta (2)) / 4) (where Ta
(1), Ta (3), Ta (4), Ta (2)
Ta (1) shown in 12j-1 , Ta (3) j-1 , Ta
(4)j-1 , Ta (2)j-1 Is equivalent to)
FIG. 12 when it is considered that the increase has occurred at a certain constant increase rate.
Elapsed time AAV (4), AAV (2), AAV
(1), AAV (3) is calculated as follows.

【0064】AAV(4)=(TaAVj −TaAV
j-1 )・(1/8)+TaAVj-1 AAV(2)=(TaAVj −TaAVj-1 )・(3/
8)+TaAVj-1 AAV(1)=(TaAVj −TaAVj-1 )・(5/
8)+TaAVj-1 AAV(3)=(TaAVj −TaAVj-1 )・(7/
8)+TaAVj-1 次いでステップ122では次式に基づいてこれら経過時
間AAV(4),AAV(2),AAV(1),AAV
(3)に対する実際に検出された経過時間TaO
(4),TaO(2),Ta(1),Ta(3)のずれ
割合KAFC(4),KAFC(2),KAFC
(1),KAFC(3)が算出される。ここでTaO
(4),TaO(2),Ta(1),Ta(3)は夫々
図12に示されるTa(4)j-1 ,Ta(2)j-1 ,T
a(1)j ,Ta(3)j に相当する。
AAV (4) = (TaAV j −TaAV
j-1 ). (1/8) + TaAV j-1 AAV (2) = (TaAV j -TaAV j-1 ). (3 /
8) + TaAV j−1 AAV (1) = (TaAV j −TaAV j−1 ) · (5 /
8) + TaAV j−1 AAV (3) = (TaAV j −TaAV j−1 ) · (7 /
8) + TaAV j-1 Next, at step 122, these elapsed times AAV (4), AAV (2), AAV (1), AAV
Elapsed time TaO actually detected for (3)
(4), TaO (2), Ta (1), Ta (3) deviation ratio KAFC (4), KAFC (2), KAFC
(1), KAFC (3) is calculated. Here TaO
(4), TaO (2), Ta (1), Ta (3) are Ta (4) j−1 , Ta (2) j−1 , T
a (1) j and Ta (3) j .

【0065】KAFC(4)={TaO(4)−AAV
(4)}/AAV(4) KAFC(2)={TaO(2)−AAV(2)}/A
AV(2) KAFC(1)={Ta(1)−AAV(1)}/AA
V(1) KAFC(3)={Ta(3)−AAV(3)}/AA
V(3) 次いでステップ123では補正係数KTa(i)の学習
条件が成立しているか否かが判別される。例えば燃料供
給停止から一定時間経過しており、機関回転数が予め定
められた範囲内にあり、かつ車両が悪路を走行していな
いとき、例えば図13に示される経過時間差DTa
(i)の振幅AMPが設定値を越えていないときに学習
条件が成立していると判断される。学習条件が成立して
いないときにはステップ128に進んでずれ量KAFC
(i)の積算値KAFCI(i)が零とされ、次いでス
テップ129において積算カウント値CKAFCがクリ
アされる。
KAFC (4) = {TaO (4) -AAV
(4)} / AAV (4) KAFC (2) = {TaO (2) −AAV (2)} / A
AV (2) KAFC (1) = {Ta (1) -AAV (1)} / AA
V (1) KAFC (3) = {Ta (3) -AAV (3)} / AA
V (3) Next, in step 123, it is determined whether or not the learning condition of the correction coefficient KTa (i) is satisfied. For example, when a certain time has elapsed since the fuel supply was stopped, the engine speed is within a predetermined range, and the vehicle is not traveling on a rough road, for example, the elapsed time difference DTa shown in FIG.
When the amplitude AMP in (i) does not exceed the set value, it is determined that the learning condition is satisfied. If the learning condition is not satisfied, the routine proceeds to step 128, where the deviation amount KAFC
The integrated value KAFCI (i) of (i) is set to zero, and then at step 129, the integrated count value CKAFC is cleared.

【0066】これに対して学習条件が成立している場合
にはステップ124に進んで各気筒に対するずれ量KA
FC(i)が対応する積算値KAFCI(i)に加算さ
れ、次いでステップ125において積算カウント値CK
AFCが1だけインクリメントされる。次いでステップ
126では積算カウント値CKAFCが8になったか否
かが判別される。積算カウント値CKAFCが8でない
ときには処理サイクルを完了し、積算カウント値CKA
FCが8になるとステップ127に進んで補正係数KT
a(i)が算出される。即ち、各気筒についてずれ量K
AFC(i)が8回積算されるとステップ127に進ん
で補正係数KTa(i)が算出される。
On the other hand, if the learning condition is satisfied, the routine proceeds to step 124, where the deviation KA for each cylinder is determined.
FC (i) is added to the corresponding integrated value KAFCI (i), and then at step 125, the integrated count value CK
AFC is incremented by one. Next, at step 126, it is determined whether or not the integrated count value CKAFC has reached 8. When the accumulated count value CKAFC is not 8, the processing cycle is completed, and the accumulated count value CKA
When FC becomes 8, the routine proceeds to step 127, where the correction coefficient KT
a (i) is calculated. That is, the deviation amount K for each cylinder
When AFC (i) is integrated eight times, the routine proceeds to step 127, where the correction coefficient KTa (i) is calculated.

【0067】ステップ127では次のようにして補正係
数KTa(i)が算出される。即ち、まず初めに各積算
値KAFCI(i)がKAFCE(i)に置き換えられ
る。次いで次式に基づき基本補正係数KTaB(i)が
算出される。 KTaB(i)=KTa(i)−(KAFCI(i)/
8)/4 即ち、実際に検出された経過時間Ta(i)が平均的な
一定の増大率でもって増大したと考えたときの経過時間
AAV(i)に対してずれを生じている場合には現在の
補正係数KTa(i)を積算値KAFCI(i)の平均
値の1/4だけ修正した値が基本補正係数KTaB
(i)とされる。次いで次式に基づき全気筒に対する基
本補正係数KTaB(i)の平均値tKTaMが算出さ
れる。
In step 127, the correction coefficient KTa (i) is calculated as follows. That is, first, each integrated value KAFCI (i) is replaced with KAFCE (i). Next, a basic correction coefficient KTaB (i) is calculated based on the following equation. KTaB (i) = KTa (i)-(KAFCI (i) /
8) / 4 That is, when the elapsed time Ta (i) actually detected is shifted from the elapsed time AAV (i) when it is considered that the elapsed time Ta (i) increases at an average constant increase rate. Is the basic correction coefficient KTaB obtained by correcting the current correction coefficient KTa (i) by 4 of the average value of the integrated value KAFCI (i).
(I). Next, the average value tKTaM of the basic correction coefficient KTaB (i) for all cylinders is calculated based on the following equation.

【0068】tKTaM=(KTaB(1)+KTaB
(2)+KTaB(3)+KTaB(4))/4 次いで次式に示されるように基本補正係数KTaB
(i)をその平均値tKTaMでもって修正することに
より補正係数KTa(i)が更新される。 KTa(i)=KTaB(i)−tKTaM このようにして減速運転中の燃料噴射停止時に各気筒に
対する補正係数KTa(i)の更新が行われる。
TKTaM = (KTaB (1) + KTaB
(2) + KTaB (3) + KTaB (4)) / 4 Then, as shown in the following equation, the basic correction coefficient KTaB
By correcting (i) with its average value tKTaM, the correction coefficient KTa (i) is updated. KTa (i) = KTaB (i) -tKTaM In this way, the correction coefficient KTa (i) for each cylinder is updated when fuel injection is stopped during deceleration operation.

【0069】一方、図16のステップ114において現
在2番気筒#2のATDC90°であると判別されたと
きにはステップ115に進んでTaAVj を求めたとき
と同じ方法により次式に基づいて720°クランク角度
範囲における経過時間Tb(i)の平均値TbAVj
算出される。 TbAVj =(Tb(1)+Tb(3)+Tb(4)+
Tb(2))/4 次いでステップ116の補正係数KTb(i)の算出ル
ーチンに進む。このルーチンは図18に示されている。
On the other hand, if it is determined in step 114 of FIG. 16 that the ATDC of the second cylinder # 2 is 90 ° at present, the routine proceeds to step 115, and the 720 ° crank angle is obtained based on the following equation by the same method as when TaAV j is obtained. average TbAV j of the elapsed time in the angular range Tb (i) is calculated. TbAV j = (Tb (1) + Tb (3) + Tb (4) +
Tb (2)) / 4 Next, the routine proceeds to a routine for calculating the correction coefficient KTb (i) in step 116. This routine is shown in FIG.

【0070】図18を参照するとまず初めにステップ1
30において減速運転中の燃料供給停止時であるか否か
が判別される。減速運転中の燃料供給停止時でないとき
には処理サイクルを完了し、減速運転中の燃料供給停止
時にはステップ131に進む。ステップ131ではステ
ップ115において算出された経過時間Tb(i)の平
均値TbAVj と、一つ前の720°クランク角度範囲
における経過時間Tb(i)の平均値TbAVj-1 (=
(Tb(1)+Tb(3)+Tb(4)+Tb(2))
/4)から、平均的な一定の増大率でもって増大したと
考えたときの経過時間BAV(4),BAV(2),B
AV(1),BAV(3)が算出される。
Referring to FIG. 18, first, step 1
At 30, it is determined whether or not the fuel supply is stopped during the deceleration operation. When the fuel supply is not stopped during the deceleration operation, the processing cycle is completed. When the fuel supply is stopped during the deceleration operation, the process proceeds to step 131. The average value TbAV j in step 131 the elapsed time Tb which is calculated in step 115 (i), the average value of the time elapsed in 720 ° crank angle range immediately preceding Tb (i) TbAV j-1 (=
(Tb (1) + Tb (3) + Tb (4) + Tb (2))
/ 4), the elapsed times BAV (4), BAV (2), B
AV (1) and BAV (3) are calculated.

【0071】BAV(4)=(TbAVj −TbAV
j-1 )・(1/8)+TbAVj-1 BAV(2)=(TbAVj −TbAVj-1 )・(3/
8)+TbAVj-1 BAV(1)=(TbAVj −TbAVj-1 )・(5/
8)+TbAVj-1 BAV(3)=(TbAVj −TbAVj-1 )・(7/
8)+TbAVj-1 次いでステップ132では次式に基づいてこれら経過時
間BAV(4),BAV(2),BAV(1),BAV
(3)に対する実際に検出された経過時間TbO
(4),TbO(2),Tb(1),Tb(3)のずれ
割合KBFC(4),KBFC(2),KBFC
(1),KBFC(3)が算出される。
BAV (4) = (TbAV j −TbAV
j-1 ). (1/8) + TbAV j-1 BAV (2) = (TbAV j -TbAV j-1 ). (3 /
8) + TbAV j−1 BAV (1) = (TbAV j −TbAV j−1 ) · (5 /
8) + TbAV j−1 BAV (3) = (TbAV j −TbAV j−1 ) · (7 /
8) + TbAV j-1 Next, at step 132, these elapsed times BAV (4), BAV (2), BAV (1), BAV
Elapsed time TbO actually detected for (3)
(4), deviation ratio of TbO (2), Tb (1), Tb (3) KBFC (4), KBFC (2), KBFC
(1), KBFC (3) is calculated.

【0072】KBFC(4)={TbO(4)−BAV
(4)}/BAV(4) KBFC(2)={TbO(2)−BAV(2)}/B
AV(2) KBFC(1)={Tb(1)−BAV(1)}/BA
V(1) KBFC(3)={Tb(3)−BAV(3)}/BA
V(3) 次いでステップ133では補正係数KTb(i)の学習
条件が成立しているか否かが判別される。前述したよう
に、例えば燃料供給停止から一定時間経過しており、機
関回転数が予め定められた範囲内にあり、かつ車両が悪
路を走行していないとき、例えば図13に示される経過
時間差DTa(i)の振幅AMPが設定値を越えていな
いときに学習条件が成立していると判断される。学習条
件が成立していないときにはステップ138に進んでず
れ量KBFC(i)の積算値KBFCI(i)が零とさ
れ、次いでステップ139において積算カウント値CK
BFCがクリアされる。
KBFC (4) = {TbO (4) -BAV
(4)} / BAV (4) KBFC (2) = {TbO (2) -BAV (2)} / B
AV (2) KBFC (1) = {Tb (1) -BAV (1)} / BA
V (1) KBFC (3) = {Tb (3) -BAV (3)} / BA
V (3) Next, at step 133, it is determined whether or not the learning condition of the correction coefficient KTb (i) is satisfied. As described above, for example, when a certain time has elapsed since the fuel supply was stopped, the engine speed is within a predetermined range, and the vehicle is not traveling on a bad road, for example, the elapsed time difference shown in FIG. When the amplitude AMP of DTa (i) does not exceed the set value, it is determined that the learning condition is satisfied. If the learning condition is not satisfied, the routine proceeds to step 138, where the integrated value KBFCI (i) of the deviation amount KBFC (i) is made zero, and then at step 139, the integrated count value CK
BFC is cleared.

【0073】これに対して学習条件が成立している場合
にはステップ134に進んで各気筒に対するずれ量KB
FC(i)が対応する積算値KBFCI(i)に加算さ
れ、次いでステップ135において積算カウント値CK
BFCが1だけインクリメントされる。次いでステップ
136では積算カウント値CKBFCが8になったか否
かが判別される。積算カウント値CKBFCが8でない
ときには処理サイクルを完了し、積算カウント値CKB
FCが8になるとステップ137に進んで補正係数KT
b(i)が算出される。即ち、各気筒についてずれ量K
BFC(i)が8回積算されるとステップ137に進ん
で補正係数KTb(i)が算出される。
On the other hand, if the learning condition is satisfied, the routine proceeds to step 134, where the deviation KB for each cylinder is determined.
FC (i) is added to the corresponding integrated value KBFCI (i), and then at step 135, the integrated count value CK
BFC is incremented by one. Next, at step 136, it is determined whether or not the integrated count value CKBFC has reached 8. When the accumulated count value CKBFC is not 8, the processing cycle is completed, and the accumulated count value CKB
When FC becomes 8, the routine proceeds to step 137, where the correction coefficient KT
b (i) is calculated. That is, the deviation amount K for each cylinder
When BFC (i) is integrated eight times, the routine proceeds to step 137, where the correction coefficient KTb (i) is calculated.

【0074】ステップ137では次のようにして補正係
数KTb(i)が算出される。即ち、まず初めに各積算
値KBFCI(i)がKBFCE(i)に置き換えられ
る。次いで次式に基づき基本補正係数KTbB(i)が
算出される。 KTbB(i)=KTb(i)−(KBFCI(i)/
8)/4 即ち、実際に検出された経過時間Tb(i)が平均的な
一定の増大率でもって増大したと考えたときの経過時間
BAV(i)に対してずれを生じている場合には現在の
補正係数KTb(i)を積算値KBFCI(i)の平均
値の1/4だけ修正した値が基本補正係数KTbB
(i)とされる。次いで次式に基づき全気筒に対する基
本補正係数KTbB(i)の平均値tKTbMが算出さ
れる。
In step 137, the correction coefficient KTb (i) is calculated as follows. That is, first, each integrated value KBFCI (i) is replaced with KBFCE (i). Next, the basic correction coefficient KTbB (i) is calculated based on the following equation. KTbB (i) = KTb (i)-(KBFCI (i) /
8) / 4 That is, when the actually detected elapsed time Tb (i) is shifted from the elapsed time BAV (i) when it is considered that the elapsed time Tb (i) increases at an average constant increase rate. Is the basic correction coefficient KTbB obtained by correcting the current correction coefficient KTb (i) by 4 of the average value of the integrated value KBFCI (i).
(I). Next, an average value tKTbM of the basic correction coefficients KTbB (i) for all cylinders is calculated based on the following equation.

【0075】tKTbM=(KTbB(1)+KTbB
(2)+KTbB(3)+KTbB(4))/4 次いで次式に示されるように基本補正係数KTbB
(i)をその平均値tKTbMでもって修正することに
より補正係数KTb(i)が更新される。 KTb(i)=KTbB(i)−tKTbM このようにして減速運転中の燃料噴射停止時に各気筒に
対する補正係数KTb(i)の更新が行われる。
TKTbM = (KTbB (1) + KTbB
(2) + KTbB (3) + KTbB (4)) / 4 Then, as shown in the following equation, the basic correction coefficient KTbB
By correcting (i) with its average value tKTbM, the correction coefficient KTb (i) is updated. KTb (i) = KTbB (i) -tKTbM In this manner, when the fuel injection is stopped during the deceleration operation, the correction coefficient KTb (i) for each cylinder is updated.

【0076】次に図19から図21に示されるトルク変
動算出許可チェックルーチンについて図22を参照しつ
つ説明する。このルーチンは車両が凸凹道を走行するこ
とにより経過時間差DTa(i)の変動の振幅AMP
(図13)が大きくなったときには特定の気筒について
のトルク変動量の算出を禁止するために設けられてい
る。
Next, the torque fluctuation calculation permission check routine shown in FIGS. 19 to 21 will be described with reference to FIG. In this routine, the amplitude AMP of the fluctuation of the elapsed time difference DTa (i) due to the vehicle traveling on the uneven road
It is provided to prohibit calculation of the amount of torque fluctuation for a specific cylinder when (FIG. 13) becomes large.

【0077】即ち、図19から図21を参照すると、ま
ず初めにステップ201において現在いずれかの気筒の
ATDC30°であるか否かが判別される。現在いずれ
かの気筒のATDC30°でないときには処理サイクル
を完了し、現在いずれかの気筒のATDC30°である
ときにはステップ202に進む。ステップ202からス
テップ204では経過時間差DTa(i)が増大し次い
で減少する際の最大経過時間差DT30maxが算出さ
れる。即ち、ステップ202では図15のステップ10
6において算出されたDTa(i)が最大経過時間差D
T30maxよりも大きいか否かが判別される。DT3
0max>DTa(i)のときにはステップ205にジ
ャンプし、これに対してDT30max≦DTa(i)
のときにはステップ203に進んでDTa(i)がDT
30maxとされる。次いでステップ204ではDTa
(i)が増大していることを示す増大フラグXMXRE
Cがセット(XMXREC←“1”)され、次いでステ
ップ205に進む。
That is, referring to FIGS. 19 to 21, first, at step 201, it is determined whether or not the ATDC of any of the cylinders is currently 30 °. If the ATDC of any of the cylinders is not 30 °, the processing cycle is completed. If the ATDC of any of the cylinders is currently 30 °, the process proceeds to step 202. In steps 202 to 204, the maximum elapsed time difference DT30max when the elapsed time difference DTa (i) increases and then decreases is calculated. That is, in step 202, step 10 in FIG.
6, the DTa (i) calculated is the maximum elapsed time difference D
It is determined whether it is larger than T30max. DT3
If 0max> DTa (i), the routine jumps to step 205, whereas DT30max ≦ DTa (i)
In the case of, the routine proceeds to step 203, where DTa (i) is DT
30 max. Next, at step 204, DTa
An increase flag XMXRE indicating that (i) is increasing
C is set (XMXREC ← “1”), and then the routine proceeds to step 205.

【0078】ステップ205からステップ207では経
過時間差DTa(i)が減少し次いで増大する際の最小
経過時間差DT30minが算出される。即ち、ステッ
プ205では図15のステップ106において算出され
たDTa(i)が最小経過時間差DT30minよりも
小さいか否かが判別される。DT30min<DTa
(i)のときにはステップ208にジャンプし、これに
対してDT30min≧DTa(i)のときにはステッ
プ206に進んでDTa(i)がDT30minとされ
る。次いでステップ207ではDTa(i)が減少して
いることを示す減少フラグXMNRECがセット(XM
NREC←“1”)され、次いでステップ208に進
む。
In steps 205 to 207, the minimum elapsed time difference DT30min when the elapsed time difference DTa (i) decreases and then increases is calculated. That is, in step 205, it is determined whether or not DTa (i) calculated in step 106 in FIG. 15 is smaller than the minimum elapsed time difference DT30min. DT30min <DTa
In the case of (i), the process jumps to step 208. On the other hand, when DT30min ≧ DTa (i), the process proceeds to step 206, where DTa (i) is set to DT30min. Next, at step 207, a decrease flag XMNREC indicating that DTa (i) is decreasing is set (XM
NREC ← “1”), and then proceed to step 208.

【0079】ステップ208からステップ214ではD
Ta(i)の変動の振幅AMP(図13)が設定値A0
を越えたときにはDTa(i)が最大となった気筒につ
いてのトルク変動量の算出を禁止する禁止フラグがセッ
トされる。即ち、ステップ208ではDT30max>
DTa(i)でかつXMXREC=“1”であるか否か
が判別される。DT30max≦DTa(i)である
か、又は増大フラグXMXRECがリセット(XMXR
EC=“0”)されているときにはステップ215にジ
ャンプし、これに対してDT30max>DTa(i)
でかつXMXREC=“1”のときにはステップ209
に進む。
In steps 208 to 214, D
The amplitude AMP of the fluctuation of Ta (i) (FIG. 13) is equal to the set value A 0.
Is exceeded, a prohibition flag is set to prohibit the calculation of the amount of torque fluctuation for the cylinder in which DTa (i) is maximized. That is, in step 208, DT30max>
It is determined whether or not DTa (i) and XMXREC = "1". DT30max ≦ DTa (i) or the increase flag XMXREC is reset (XMXR
If EC = “0”), the process jumps to step 215, where DT30max> DTa (i)
And if XMXREC = "1", step 209
Proceed to.

【0080】即ち、図22に示されるように時刻t1
おいて1番気筒#1の経過時間差DTa(1)が最大に
なったとする。この場合、時刻t1 において行われる割
込みルーチンではステップ202からステップ203に
進んでDTa(1)がDT30maxとされ、次いでス
テップ204において最大フラグXMXRECがセット
される。一方、図22の時刻t2 において行われる割込
みルーチンではステップ202からステップ205にジ
ャンプする。このときステップ208ではDT30ma
x>DTa(3)であり、かつXMXREC=“1”で
あると判断されるのでステップ209に進む。即ち、ス
テップ209に進むのは経過時間差DTa(i)が減少
しはじめる時刻t2 である。
[0080] That is, the No. 1 cylinder # 1 of the difference of elapsed times DTa at time t 1 as shown in FIG. 22 (1) is to become the maximum. In this case, in the interruption routine performed at the time t 1 proceeds from step 202 to step 203 DTa (1) is a DT30max, then the maximum flag XMXREC is set in step 204. On the other hand, in the interruption routine performed at the time t 2 in FIG. 22 jumps from step 202 to step 205. At this time, in step 208, DT30ma
Since it is determined that x> DTa (3) and XMXREC = "1", the flow proceeds to step 209. That is, the time t 2 the flow proceeds to step 209 where the elapsed time DTa (i) starts to decrease.

【0081】ステップ209では最大経過時間差DT3
0maxがTMXRECとされる。次いでステップ21
0では最大経過時間差TMXRECから最小経過時間差
TMNREC(後述するステップ216で求められる)
を減算することによってDTa(i)の変動の振幅AM
Pが算出される。次いでステップ211では最小経過時
間差DT30minの初期値がDTa(i)とされる。
次いでステップ212では増大フラグXMXRECがリ
セット(XMXREC←“0”)される。次いでステッ
プ213では振幅AMPが設定値A0 よりも大きいか否
かが判別される。AMP<A0 のときにはステップ21
5にジャンプする。これに対してAMP≧A0 のときに
はステップ214に進んでトルク変動算出禁止フラグX
NOCALがセット(XNOCAL←“1”)される。
即ち、図22の時刻t2 において行われる割込みルーチ
ンでは前述したように1番気筒#1のトルク変動量が算
出される。従ってこの割込みルーチンにおいてAMP≧
0 となり、トルク変動算出禁止フラグXNOCALが
セットされると1番気筒#1のトルク変動量の算出、即
ち、DTa(i)が最大となる気筒のトルク変動量の算
出が禁止される。
In step 209, the maximum elapsed time difference DT3
0max is set to TMXREC. Then step 21
At 0, the minimum elapsed time difference TMNREC from the maximum elapsed time difference TMXREC (determined in step 216 described later)
Is subtracted to obtain the amplitude AM of the variation of DTa (i).
P is calculated. Next, at step 211, the initial value of the minimum elapsed time difference DT30min is set to DTa (i).
Next, at step 212, the increase flag XMXREC is reset (XMXREC ← “0”). Next, at step 213 whether the amplitude AMP is greater than the set value A 0 is judged. Step 21 when AMP <A 0
Jump to 5. On the other hand, when AMP ≧ A 0, the routine proceeds to step 214, where the torque fluctuation calculation prohibition flag X
NOCAL is set (XNOCAL ← “1”).
That is, 1st amount of torque fluctuation of the cylinders # 1, as described above in the interruption routine performed at the time t 2 in FIG. 22 is calculated. Therefore, in this interrupt routine, AMP ≧
A 0 becomes, when the torque fluctuation calculation prohibition flag XNOCAL is set determining of the first cylinder # 1 of the amount of torque fluctuation, i.e., DTa (i) to calculate the amount of torque fluctuation of the cylinder giving the maximum is prohibited.

【0082】ステップ215からステップ221ではD
Ta(i)の変動の振幅AMPが設定値A0 を越えたと
きにはDTa(i)が最小となった気筒についてのトル
ク変動量の算出を禁止する禁止フラグがセットされる。
即ち、ステップ215ではDT30min<DTa
(i)でかつXMNREC=“1”であるか否かが判別
される。DT30min≧DTa(i)であるか、又は
減少フラグXMNRECがリセット(XMNREC=
“0”)されているときにはステップ222にジャンプ
し、これに対してDT30min<DTa(i)でかつ
XMNREC=“1”のときにはステップ216に進
む。
In steps 215 to 221, D
Amplitude AMP of the variation of ta (i) is set prohibition flag for prohibiting calculation of the amount of torque fluctuation for cylinder DTa (i) is minimized when it exceeds the set value A 0.
That is, in step 215, DT30min <DTa
It is determined whether or not (i) and XMNREC = "1". DT30min ≧ DTa (i) or the decrease flag XMNREC is reset (XMREC =
If "0"), the process jumps to step 222, whereas if DT30min <DTa (i) and XMNREC = "1", the process proceeds to step 216.

【0083】即ち、図22に示されるように時刻t3
おいて1番気筒#1の経過時間差DTa(1)が最小に
なったとする。この場合、時刻t3 において行われる割
込みルーチンではステップ205からステップ206に
進んでDTa(1)がDT30minとされ、次いでス
テップ207において減少フラグXMNRECがセット
される。一方、図22の時刻t4 において行われる割込
みルーチンではステップ205からステップ208にジ
ャンプする。このときステップ215ではDT30mi
n<DTa(3)であり、かつXMNREC=“1”で
あると判断されるのでステップ216に進む。即ち、ス
テップ216に進むのは経過時間差DTa(i)が増大
しはじめる時刻t4 である。
[0083] That is, the first cylinder # 1 of the difference of elapsed times DTa at time t 3 as shown in FIG. 22 (1) is minimized. In this case, in the interruption routine performed at the time t 3 proceeds from step 205 to step 206 DTa (1) is a DT30min, then decrease flag XMNREC is set in step 207. On the other hand, in the interruption routine performed at the time t 4 in FIG. 22 jumps from step 205 to step 208. At this time, in step 215, DT30mi
Since it is determined that n <DTa (3) and XMNREC = "1", the process proceeds to step 216. That is, the time t 4 when the elapsed time difference DTa proceed to step 216 (i) starts to increase.

【0084】ステップ216では最小経過時間差DT3
0minがTMNRECとされる。次いでステップ21
7では最大経過時間差TMXRECから最小経過時間差
TMNRECを減算することによってDTa(i)の変
動の振幅AMPが算出される。次いでステップ218で
は最大経過時間差DT30maxの初期値がDTa
(i)とされる。次いでステップ219では減少フラグ
XMNRECがリセット(XMNREC←“0”)され
る。次いでステップ220では振幅AMPが設定値A0
よりも大きいか否かが判別される。AMP<A0 のとき
にはステップ222にジャンプする。これに対してAM
P≧A0 のときにはステップ221に進んでトルク変動
算出禁止フラグXNOCALがセット(XNOCAL←
“1”)される。即ち、図22の時刻t4 において行わ
れる割込みルーチンでは1番気筒#1のトルク変動量が
算出される。従ってこの割込みルーチンにおいてAMP
≧A0となり、トルク変動算出禁止フラグXNOCAL
がセットされると1番気筒#1のトルク変動量の算出、
即ち、DTa(i)が最小となる気筒のトルク変動量の
算出が禁止される。
In step 216, the minimum elapsed time difference DT3
0 min is set as TMNREC. Then step 21
In step 7, the amplitude AMP of the fluctuation of DTa (i) is calculated by subtracting the minimum elapsed time difference TMNREC from the maximum elapsed time difference TMXREC. Next, at step 218, the initial value of the maximum elapsed time difference DT30max is set to DTa.
(I). Next, at step 219, the decrease flag XMNREC is reset (XMNREC ← “0”). Next, at step 220, the amplitude AMP is set to the set value A 0.
It is determined whether or not it is greater than At the time of the AMP <A 0 jumps to step 222. AM
When P ≧ A 0, the routine proceeds to step 221, and the torque fluctuation calculation prohibition flag XNOCAL is set (XNOCAL ←
"1"). That is, the torque variation of the first cylinder # 1 is in the interruption routine performed at the time t 4 in FIG. 22 is calculated. Therefore, in this interrupt routine, AMP
≧ A 0 and the torque fluctuation calculation prohibition flag XNOCAL
Is set, the torque fluctuation amount of the first cylinder # 1 is calculated,
That is, calculation of the torque fluctuation amount of the cylinder in which DTa (i) is minimized is prohibited.

【0085】ステップ222およびステップ223では
経過時間差DTa(i)が急変した気筒についてのトル
ク変動量の算出が禁止される。即ち、ステップ222で
は|DTa(i−2)−DTa(i−1)|がKo ・|
DTa(i−1)−DTa(i)|よりも大きいか否か
が判別される。ここで定数Ko は3.0から4.0程度
の値である。ステップ222において|DTa(i−
2)−DTa(i−1)|<Ko ・|DTa(i−1)
−DTa(i)|であると判別されたときには処理ルー
チンを完了し、|DTa(i−2)−DTa(i−1)
|≧Ko ・|DTa(i−1)−DTa(i)|である
と判別されたときにはステップ223に進んでトルク変
動算出禁止フラグXNOCALがセットされる。
In steps 222 and 223, the calculation of the torque fluctuation amount for the cylinder in which the elapsed time difference DTa (i) has suddenly changed is prohibited. That is, at step 222 | DTa (i-2) -DTa (i-1) | is K o · |
DTa (i-1) -DTa (i) | is determined. Here, the constant Ko is a value of about 3.0 to 4.0. In step 222, | DTa (i−
2) -DTa (i-1) | <K o · | DTa (i-1)
-DTa (i) |, the processing routine is completed, and | DTa (i-2) -DTa (i-1).
| ≧ K o · | DTa ( i-1) -DTa (i) | a is judged to be the torque fluctuation calculation prohibition flag XNOCAL proceeds to step 223 when the are set.

【0086】即ち、今図22の時刻t3 における割込み
ルーチンであるとするとこのときには|DTa(4)−
DTa(2)|がKo ・|DTa(2)−DTa(1)
|であるか否かが判別される。図22に示されるように
DTa(4)に対してDTa(2)が急変すると|DT
a(4)−DTa(2)|はKo ・|DTa(2)−D
Ta(1)|よりも大きくなる。このときトルク変動算
出禁止フラグがセットされ、経過時間差DTa(i)が
急変した2番気筒#2のトルク変動量の算出が禁止され
る。
[0086] That is, when an interrupt routine at time t 3 now Figure 22 at this time | DTa (4) -
DTa (2) | is K o · | DTa (2) −DTa (1)
| Is determined. As shown in FIG. 22, when DTa (2) changes rapidly with respect to DTa (4), | DT
a (4) -DTa (2) | is K o · | DTa (2) -D
Ta (1) |. At this time, the torque fluctuation calculation prohibition flag is set, and the calculation of the torque fluctuation amount of the second cylinder # 2 in which the elapsed time difference DTa (i) has suddenly changed is prohibited.

【0087】次に図23に示すトルク変動算出ルーチン
について説明する。図23を参照すると、まず初めにス
テップ301において一つ前に燃焼が行われた(i−
1)番気筒のトルク変動量を算出すべきことを示すフラ
グXCAL(i−1)がセットされているか否かが判別
される。フラグXCAL(i−1)=“0”のとき、即
ちフラグXCAL(i−1)がセットされていないとき
には処理サイクルを完了する。これに対してフラグXC
AL(i−1)=“1”のとき、即ちフラグXCAL
(i−1)がセットされているときにはステップ302
に進んでフラグXCAL(i−1)がリセットされ、次
いでステップ303に進む。
Next, the torque fluctuation calculation routine shown in FIG. 23 will be described. Referring to FIG. 23, first, in step 301, combustion was performed immediately before (i-
1) It is determined whether or not a flag XCAL (i-1) indicating that the torque variation of the cylinder No. should be calculated is set. When the flag XCAL (i-1) = "0", that is, when the flag XCAL (i-1) is not set, the processing cycle is completed. On the other hand, the flag XC
When AL (i-1) = "1", that is, when the flag XCAL
When (i-1) is set, step 302
The flag XCAL (i-1) is reset, and then the routine proceeds to step 303.

【0088】ステップ303では一つ前に燃焼が行われ
た気筒についてのトルク変動量の算出を禁止する禁止フ
ラグXNOCALがリセット(XNOCAL=“0”)
されているか否かが判別される。この禁止フラグがセッ
ト(XNOCAL=“1”)されているときにはステッ
プ311に進んで禁止フラグXNOCALがリセットさ
れる。これに対して禁止フラグがリセットされていると
きにはステップ304に進む。即ち、フラグXCALが
セットされており、かつ禁止フラグXNOCALがリセ
ットされているときのみステップ304に進む。
In step 303, a prohibition flag XNOCAL for prohibiting the calculation of the amount of torque fluctuation for the cylinder in which combustion was performed immediately before is reset (XNOCAL = “0”).
It is determined whether or not it has been performed. When this prohibition flag is set (XNOCAL = "1"), the routine proceeds to step 311 where the prohibition flag XNOCAL is reset. On the other hand, when the prohibition flag has been reset, the routine proceeds to step 304. That is, the process proceeds to step 304 only when the flag XCAL is set and the prohibition flag XNOCAL is reset.

【0089】ステップ304では一つ前に燃焼が行われ
た(i−1)番気筒の仮想の経過時間差Kb(i−1)
(図10および図11参照)が次式に基づいて算出され
る。 Kb(i−1)={2・DTa(i−1)+DTa
(i)}/3 次いでステップ305では次式に基づいて一つ前に燃焼
が行われた(i−1)番気筒の実際の出力トルクDN
(i−1)が算出される。
In step 304, a virtual elapsed time difference Kb (i-1) of the (i-1) th cylinder in which combustion was performed immediately before.
(See FIG. 10 and FIG. 11) is calculated based on the following equation. Kb (i−1) = {2 · DTa (i−1) + DTa
(I)} / 3 Next, at step 305, based on the following equation, the actual output torque DN of the (i-1) th cylinder in which combustion was performed immediately before:
(I-1) is calculated.

【0090】DN(i−1)={30°/Tb(i−
1)}2−{30°/Ta(i−1)}2 次いでステップ306では次式に基づいて一つ前に燃焼
が行われた(i−1)番気筒の仮想の出力トルクDNS
(i−1)が算出される。 DNS(i−1)={30°/(TbO(i−1)+K
b(i−1))}2−{30°/Ta(i−1)}2 次いでステップ307では次式に示すように仮想の出力
トルクDNS(i−1)から実際の出力トルクDN(i
−1)を減算することによって一つ前に燃焼が行われた
(i−1)番気筒のトルク変動量DLN(i−1)が算
出される。
DN (i-1) = {30 ° / Tb (i-
1) { 2- {30 ° / Ta (i-1)} 2 Next, at step 306, the virtual output torque DNS of the (i-1) th cylinder in which combustion was performed immediately before based on the following equation.
(I-1) is calculated. DNS (i-1) = {30 ° / (TbO (i-1) + K
b (i-1)) 2- {30 / Ta (i-1)} 2 Then, in step 307, as shown in the following equation, the virtual output torque DNS (i-1) is converted to the actual output torque DN (i
By subtracting -1), the torque fluctuation amount DLN (i-1) of the (i-1) th cylinder in which combustion was performed immediately before is calculated.

【0091】 DLN(i−1)=DNS(i−1)−DN(i−1) 即ち、例えば今3番気筒#3のATDC30°であって
フラグXCAL(1)がセットされているとするとステ
ップ304において1番気筒#1に対する仮想の経過時
間差Kb(1)が算出され、次いでステップ305にお
いて1番気筒#1の実際の出力トルクDN(1)が算出
され、ステップ306において1番気筒#1の仮想の出
力トルクDNS(1)が算出され、次いでステップ30
7において1番気筒#1のトルク変動量DLN(1)が
算出される。
DLN (i−1) = DNS (i−1) −DN (i−1) That is, for example, suppose that the flag XCAL (1) is set at 30 ° ATDC of the third cylinder # 3. In step 304, a virtual elapsed time difference Kb (1) with respect to the first cylinder # 1 is calculated. Next, in step 305, the actual output torque DN (1) of the first cylinder # 1 is calculated. 1 virtual output torque DNS (1) is calculated, then step 30
At 7, the torque fluctuation amount DLN (1) of the first cylinder # 1 is calculated.

【0092】なお、各気筒の出力変動量GLN(i−
1)を求める場合にはステップ305からステップ30
7において以下のような計算を行えばよい。即ち、ステ
ップ305では実際のトルク変動量DN(i−1)を求
める代りに次式に基づいて実際の出力変動量GN(i−
1)を算出する。 GN(i−1)={30°/Tb(i−1)}−{30
°/Ta(i−1)} 次いでステップ306では仮想のトルク変動量DNS
(i−1)を求める代りに次式に基づいて仮想の出力変
動量GNS(i−1)を算出する。
Note that the output fluctuation amount GLN (i−
When determining 1), steps 305 to 30
7, the following calculation may be performed. That is, in step 305, instead of obtaining the actual torque fluctuation DN (i-1), the actual output fluctuation GN (i-
1) is calculated. GN (i-1) = {30 ° / Tb (i-1)}-{30
° / Ta (i-1)} Next, at step 306, the virtual torque fluctuation amount DNS
Instead of obtaining (i-1), the virtual output fluctuation amount GNS (i-1) is calculated based on the following equation.

【0093】GNS(i−1)={30°/(TbO
(i−1)+Kb(i−1))}−{30°/Ta(i
−1)} 次いでステップ307ではトルク変動量DLN(i−
1)を求める代りに次式に基づいて出力変動量GLN
(i−1)を算出する。 GLN(i−1)=GNS(i−1)−GN(i−1) さて、ステップ307においてトルク変動量DLN(i
−1)が算出されるとステップ308に進んでトルク変
動量DLN(i−1)が正であるか否かが判別される。
DLN(i−1)≧0であればステップ310にジャン
プして一つ前に燃焼が行われた気筒のトルク変動量DL
N(i−1)を積算すべきことを示す積算要求フラグX
DLNI(i−1)がセット(XDLNI(i−1)←
“1”)される。これに対してDLN(i−1)<0で
あればステップ309に進んでDLN(i−1)が零と
され、次いでステップ310に進む。なお、各気筒のト
ルクは上昇と低下を繰返し、この場合トルク変動量を求
めるにはトルクの上昇分かトルクの減少分のいずれかを
積算すればよい。図23に示すルーチンではトルクの減
少分のみを積算するようにしており、従って上述したよ
うにDLN(i−1)<0のときにはDLN(i−1)
を零にしている。
GNS (i-1) = {30 ° / (TbO)
(I-1) + Kb (i-1))}-{30 ° / Ta (i
−1)} Next, at step 307, the torque fluctuation amount DLN (i−
Instead of obtaining 1), the output fluctuation amount GLN is calculated based on the following equation.
(I-1) is calculated. GLN (i-1) = GNS (i-1) -GN (i-1) In step 307, the torque fluctuation amount DLN (i
When -1) is calculated, the routine proceeds to step 308, where it is determined whether or not the torque fluctuation amount DLN (i-1) is positive.
If DLN (i−1) ≧ 0, the routine jumps to step 310 and the torque fluctuation amount DL of the cylinder in which combustion was performed immediately before is performed.
Integration request flag X indicating that N (i-1) should be integrated
DLNI (i-1) is set (XDLNI (i-1) ←
"1"). On the other hand, if DLN (i-1) <0, the routine proceeds to step 309, where DLN (i-1) is set to zero, and then proceeds to step 310. Note that the torque of each cylinder repeatedly increases and decreases. In this case, the amount of torque fluctuation may be obtained by integrating either the increase in torque or the decrease in torque. In the routine shown in FIG. 23, only the decrease in torque is integrated, and therefore, when DLN (i-1) <0, as described above, DLN (i-1)
Is set to zero.

【0094】次に図24を参照しつつカウンタCDLN
IXの処理について説明する。このカウンタCDLNI
Xのカウント値は後に説明する機関のトルク変動値を算
出する際に使用される。図24を参照すると、まず初め
にステップ401において現在3番気筒#3のATDC
30°であるか否かが判別される。現在3番気筒#3の
ATDC30°でないときには処理サイクルを完了し、
現在3番気筒#3のATDC30°であるときにはステ
ップ402に進む。ステップ402では機関のトルク変
動値を算出するためのトルク変動値算出条件が成立して
いるか否かが判別される。例えば空燃比をリーンとする
条件が成立していないか、或いは機関負荷Q/Nの単位
時間当りの変化量ΔQ/Nが設定値以上であるか、或い
は機関回転数の単位時間当りの変化量ΔNが設定値以上
であるときにはトルク変動値算出条件が成立していない
と判断され、それ以外のときにはトルク変動値算出条件
が成立していると判断される。
Next, the counter CDLN will be described with reference to FIG.
IX processing will be described. This counter CDLNI
The count value of X is used when calculating an engine torque fluctuation value described later. Referring to FIG. 24, first, at step 401, the ATDC of the current third cylinder # 3
It is determined whether it is 30 °. If the current ATDC of the third cylinder # 3 is not 30 °, the processing cycle is completed.
If it is currently ATDC 30 ° of the third cylinder # 3, the routine proceeds to step 402. In step 402, it is determined whether a torque fluctuation value calculation condition for calculating a torque fluctuation value of the engine is satisfied. For example, the condition for making the air-fuel ratio lean is not satisfied, or the variation ΔQ / N of the engine load Q / N per unit time is equal to or greater than a set value, or the variation of the engine speed per unit time. When ΔN is equal to or larger than the set value, it is determined that the torque fluctuation value calculation condition is not satisfied. Otherwise, it is determined that the torque fluctuation value calculation condition is satisfied.

【0095】ステップ402においてトルク変動値算出
条件が成立していると判断されたときにはステップ40
8に進んでカウント値CDLNIXが1だけインクリメ
ントされる。このカウント値CDLNIXのインクリメ
ント作用は3番気筒#3がATDC30°となる毎に、
即ち720°クランク角度毎に行われる。次いでステッ
プ409ではカウント値CDLNIXのインクリメント
作用が開始されてからカウント値CDLNIXがクリア
されるまでの間の機関回転数の平均値NAVE および吸入
空気量Qの平均値QAVE が算出される。
When it is determined in step 402 that the torque fluctuation value calculation condition is satisfied, step 40
Proceeding to 8, the count value CDLNIX is incremented by one. The increment operation of the count value CDLNIX is performed every time the third cylinder # 3 reaches ATDC 30 °.
That is, it is performed every 720 ° crank angle. Next, at step 409, the average value N AVE of the engine speed and the average value Q AVE of the intake air amount Q from the start of the increment operation of the count value CDLNIX until the count value CDLNIX is cleared are calculated.

【0096】一方、ステップ402においてトルク変動
値算出条件が成立していないと判断されたときにはステ
ップ403に進んでカウント値CDLNIXがクリアさ
れる。次いでステップ404では各気筒に対するトルク
変動量DLN(i)の積算値DLNI(i)(この積算
値は後に説明するルーチンにおいて算出される)がクリ
アされ、次いでステップ405では各気筒に対する積算
カウント値CDLNI(i)(この積算カウント値は後
に説明するルーチンにおいて算出される)がクリアされ
る。
On the other hand, when it is determined in step 402 that the torque fluctuation value calculation condition is not satisfied, the routine proceeds to step 403, where the count value CDLNIX is cleared. Next, at step 404, the integrated value DLNI (i) of the torque fluctuation amount DLN (i) for each cylinder (this integrated value is calculated in a routine described later) is cleared, and then at step 405, the integrated count value CDLNI for each cylinder. (I) (this integrated count value is calculated in a routine described later) is cleared.

【0097】次いでステップ406では目標トルク変動
値LVLLFBが算出される。本発明による実施例では
後に説明するように算出されたトルク変動値がこの目標
トルク変動値LVLLFBとなるように空燃比がフィー
ドバック制御される。この目標トルク変動値LVLLF
Bは等しい変動値を実線で示した図26(A)に示され
るように機関負荷Q/Nが高くなるほど大きくなり、機
関回転数Nが高くなるほど大きくなる。この目標トルク
変動値LVLLFBは図26(B)に示されるように機
関負荷Q/Nおよび機関回転数Nの関数としてマップの
形で予めROM22内に記憶されている。次いでステッ
プ407では各気筒のトルク変動値DLNISM(i)
(このトルク変動値は後に説明するルーチンにおいて算
出される)が図26(B)のマップから算出された目標
トルク変動値LVLLFBとされる。
Next, at step 406, the target torque fluctuation value LVLLFB is calculated. In the embodiment according to the present invention, the air-fuel ratio is feedback-controlled so that the torque fluctuation value calculated as described later becomes the target torque fluctuation value LVLLFB. This target torque fluctuation value LVLLLF
B increases as the engine load Q / N increases, and increases as the engine speed N increases, as shown in FIG. The target torque fluctuation value LVLLFB is stored in the ROM 22 in advance in the form of a map as a function of the engine load Q / N and the engine speed N as shown in FIG. Next, at step 407, the torque fluctuation value DLNISM (i) of each cylinder
(This torque fluctuation value is calculated in a routine to be described later) is set as a target torque fluctuation value LVLLFB calculated from the map of FIG.

【0098】ところで前述したようにトルク変動量が大
きくなれば現在のリーン空燃比運転領域におけるリーン
リミットフィードバック補正係数FLLFBijが増大
せしめられ、即ち空燃比が小さくされ、空燃比が小さく
されてもトルク変動量が依然として大きい場合にはFL
LFBijは変動許容範囲の上限値Fmaxに達する。
このとき依然としてトルク変動量が大きい場合にはFL
LFBijは変動許容範囲の上限値Fmaxに維持され
る。このようにFLLFBijが変動許容範囲の上限値
Fmaxに維持されているときにトルク変動量が依然と
して小さくならない状態は特に機関低速高負荷運転時に
生じやすい。即ち、機関低速高負荷運転時には前述した
ようにFLLFBijに対する変動許容範囲の上限値F
maxとして小さな値(=1.1)しか使用しえないの
でFLLFBijの変動許容範囲の上限値Fmaxに達
しても機関の出力トルク変動量が依然として大きいとい
う状態になりやすい。
As described above, when the amount of torque fluctuation increases, the lean limit feedback correction coefficient FLLFBij in the current lean air-fuel ratio operation region is increased, that is, the air-fuel ratio is reduced. FL if quantity is still large
LFBij reaches the upper limit value Fmax of the allowable variation range.
If the torque variation is still large at this time, FL
LFBij is maintained at the upper limit value Fmax of the allowable variation range. Such a state where the amount of torque fluctuation does not still decrease when FLLFBij is maintained at the upper limit value Fmax of the fluctuation allowable range is likely to occur particularly during low-speed and high-load engine operation. That is, at the time of engine low speed and high load operation, as described above, the upper limit value F of the allowable variation range for FLLFBij
Since only a small value (= 1.1) can be used as the maximum, the output torque fluctuation amount of the engine is likely to be still large even if it reaches the upper limit value Fmax of the fluctuation allowable range of FLLFBij.

【0099】ところでこのように機関の出力トルク変動
量が大きいと車体の振動をひき起こし、車両の運転性が
悪化する。従って機関の出力トルク変動量が大きいとき
には機関の出力トルク変動量を小さくしなければなら
ず、そのためには空燃比を小さくすればよい。また、或
るリーン空燃比運転状態のときにFLLFBijが変動
許容範囲の上限値Fmaxに維持され、このとき機関の
出力トルク変動量が大きくなり続けると暫らくして再び
同じリーン空燃比運転状態になったときに同じことが生
じる。そこで本発明では一旦或るリーン空燃比運転状態
のときにFLLFBijが変動許容範囲の上限値Fma
xに維持されたとき、即ち、空燃比が変動許容範囲の下
限値に維持されたときにはその後そのリーン空燃比運転
状態になったとき常に空燃比を変動許容範囲の下限値よ
りも小さくするようにしている。
When the output torque variation of the engine is large, vibration of the vehicle body is caused and the drivability of the vehicle is deteriorated. Therefore, when the output torque variation of the engine is large, the output torque variation of the engine must be reduced, and for that purpose, the air-fuel ratio may be reduced. Further, in a certain lean air-fuel ratio operation state, FLLFBij is maintained at the upper limit value Fmax of the fluctuation allowable range. At this time, if the output torque fluctuation amount of the engine continues to increase, the same lean air-fuel ratio operation state is returned again for a while. The same happens when they do. Therefore, in the present invention, once a certain lean air-fuel ratio operating state is established, FLLFBij is set to the upper limit value Fma of the allowable variation range.
When the air-fuel ratio is maintained at x, that is, when the air-fuel ratio is maintained at the lower limit of the fluctuation allowable range, and thereafter when the lean air-fuel ratio operation state is established, the air-fuel ratio is always smaller than the lower limit of the fluctuation allowable range. ing.

【0100】ただし、この場合空燃比を変動許容範囲の
下限値よりもわずかばかり小さくしてもノッキングが発
生する危険性がある。そこで本発明による実施例では一
旦或るリーン空燃比運転状態のときにFLLFBijが
変動許容範囲の上限値Fmaxに維持されたとき、即ち
空燃比が変動許容範囲の下限値に維持されたときはその
後そのリーン空燃比運転状態になったとき常に空燃比を
理論空燃比にするようにしている。
However, in this case, knocking may occur even if the air-fuel ratio is slightly smaller than the lower limit of the allowable fluctuation range. Therefore, in the embodiment according to the present invention, when FLLFBij is maintained at the upper limit value Fmax of the allowable variation range once in a certain lean air-fuel ratio operation state, that is, when the air-fuel ratio is maintained at the lower limit value of the allowable variation range, The air-fuel ratio is always set to the stoichiometric air-fuel ratio when the lean air-fuel ratio operation state is established.

【0101】このように本発明では実際に機関の出力ト
ルク変動量が大きくなるリーン空燃比運転領域を探し出
し、もしそのようなリーン空燃比運転領域が存在した場
合にはそのリーン空燃比運転領域に限って空燃比を変動
許容範囲の下限値よりも小さくするようにしている。図
28は繰返し実行されるメインルーチンを示している。
このメインルーチンではまず初めにトルク変動値および
リーンリミットフィードバック補正係数FLLFBの算
出ルーチン(ステップ500)が実行される。このルー
チンが図29から図31に示されている。次いで予め定
められたクランク角になったときに噴射時間算出ルーチ
ン(ステップ600)が実行される。このルーチンが図
32に示されている。次いでその他のルーチン(ステッ
プ700)が実行される。
As described above, in the present invention, a lean air-fuel ratio operating region where the output torque fluctuation amount of the engine actually becomes large is searched, and if such a lean air-fuel ratio operating region exists, the lean air-fuel ratio operating region is determined. Only the air-fuel ratio is set to be smaller than the lower limit value of the allowable fluctuation range. FIG. 28 shows a main routine that is repeatedly executed.
In this main routine, first, a routine for calculating the torque fluctuation value and the lean limit feedback correction coefficient FLLFB (step 500) is executed. This routine is shown in FIGS. Next, when the predetermined crank angle is reached, an injection time calculation routine (step 600) is executed. This routine is shown in FIG. Next, another routine (step 700) is executed.

【0102】次に図29から図31に示されるトルク変
動値およびFLLFBの算出ルーチンについて説明す
る。図29から図31を参照すると、まず初めにステッ
プ501においてトルク変動量DLN(i)を積算すべ
きことを示す積算要求フラグXDLNI(i)がセット
(XDLNI(i)=“1”)されているか否かが判別
される。積算要求フラグXDLNI(i)がセットされ
ていないときにはステップ509にジャンプし、積算要
求フラグXDLNI(i)がセットされているときには
ステップ502に進む。ステップ502では積算要求フ
ラグXDLNI(i)がリセットされる。次いでステッ
プ503ではトルク変動量DLN(i)がトルク変動量
積算値DLNI(i)に加算される。次いでステップ5
04では積算カウント値CDLNI(i)が1だけイン
クリメントされる。即ち、例えばステップ501におい
て1番気筒についての積算要求フラグXDLNI(1)
がセットされたとするとステップ502においてこのフ
ラグXDLNI(1)がリセットされ、ステップ503
においてトルク変動量積算値DLNI(1)が算出さ
れ、ステップ504において積算カウント値CDLNI
(1)が1だけインクリメントされる。
Next, the routine for calculating the torque fluctuation value and FLLFB shown in FIGS. 29 to 31 will be described. Referring to FIGS. 29 to 31, first, in step 501, an integration request flag XDLNI (i) indicating that the torque variation DLN (i) should be integrated is set (XDLNI (i) = "1"). It is determined whether or not there is. When the integration request flag XDLNI (i) is not set, the process jumps to step 509, and when the integration request flag XDLNI (i) is set, the process proceeds to step 502. In step 502, the integration request flag XDLNI (i) is reset. Next, at step 503, the torque variation DLN (i) is added to the torque variation integrated value DLNI (i). Then step 5
At 04, the integrated count value CDLNI (i) is incremented by one. That is, for example, in step 501, the integration request flag XDLNI (1) for the first cylinder
Is set in step 502, the flag XDLNI (1) is reset in step 502, and step 503 is executed.
In step 504, the integrated torque variation DLNI (1) is calculated, and in step 504, the integrated count value CDLNI
(1) is incremented by one.

【0103】次いでステップ505では積算カウント値
CDLNI(i)が“8”になったか否かが判別され
る。CDLNI(i)が“8”でないときにはステップ
509にジャンプし、CDLNI(i)が“8”になる
とステップ506に進んで次式から各気筒のトルク変動
値DLNISM(i)が算出される。 DLNISM(i)=DLNISM(i)+{DLNI
(i)−DLNISM(i)}/4 次いでステップ507では各気筒に対するトルク変動量
積算値DLNI(i)がクリアされ、次いでステップ5
08では積算カウント値CDLNI(i)がリセットさ
れる。
Next, at step 505, it is determined whether or not the integrated count value CDLNI (i) has become "8". When CDLNI (i) is not "8", the routine jumps to step 509, and when CDLNI (i) becomes "8", the routine proceeds to step 506, where the torque fluctuation value DLNISM (i) of each cylinder is calculated from the following equation. DLNISM (i) = DLNISM (i) + {DLNI
(I) -DLNISM (i)} / 4 Next, in step 507, the torque variation integrated value DLNI (i) for each cylinder is cleared, and then step 5
At 08, the integrated count value CDLNI (i) is reset.

【0104】即ち、算出されたトルク変動量積算値DL
NI(i)とこれまで用いられてきたトルク変動値DL
NISM(i)との間に差があるときにはこの差{DL
NI(i)−DLNISM(i)}に1/4を乗算した
値がトルク変動値DLNISM(i)に加算される。従
って例えば1番気筒#1についての積算カウント値CD
LNI(1)が“8”になるとステップ506において
トルク変動値DLNISM(1)が算出されることにな
る。
That is, the calculated torque variation integrated value DL
NI (i) and torque fluctuation value DL used so far
When there is a difference from NISM (i), this difference {DL
NI (i) -DLNISM (i)} multiplied by 1/4 is added to torque fluctuation value DLNISM (i). Therefore, for example, the integrated count value CD for the first cylinder # 1
When LNI (1) becomes “8”, the torque fluctuation value DLNISM (1) is calculated in step 506.

【0105】次いでステップ509では図24に示すル
ーチンにおいて算出されたカウント値CDLNIXが
“8”になったか否かが判別される。CDLNIXが
“8”でないときには処理サイクルを完了し、CDLN
IXが“8”になるとステップ510に進んで各気筒の
トルク変動値DLNISM(i)の平均値である平均ト
ルク変動値DLNISM(={DLNISM(1)+D
LNISM(2)+DLNISM(3)+DLNISM
(4)}/4)が算出される。次いでステップ511で
はカウント値CDLNIXがクリアされる。このように
して機関のトルク変動量を代表する値DLNISMが算
出される。
Next, at step 509, it is determined whether or not the count value CDLNIX calculated in the routine shown in FIG. 24 has become "8". When CDLNIX is not "8", the processing cycle is completed and CDLNIX is not executed.
When IX becomes "8", the routine proceeds to step 510, where the average torque fluctuation value DLNISM (= {DLNISM (1) + D), which is the average of the torque fluctuation values DLNISM (i) of each cylinder.
LNISM (2) + DLNISM (3) + DLNISM
(4)} / 4) is calculated. Next, at step 511, the count value CDLNIX is cleared. In this way, the value DLNISM representing the torque fluctuation amount of the engine is calculated.

【0106】なお、前述したようにカウント値CDLN
IXは720°クランク角度毎に1だけインクリメント
され、いずれの気筒についてもトルクの算出が禁止され
たことがなければカウント値CDLNIXが“8”にな
ったときには全ての気筒に対する積算カウント値CDL
NI(1),CDLNI(2),CDLNI(3),C
DLNI(4)は既に“8”となっている。従ってこの
場合には全ての気筒についてトルク変動値DLNISM
(i)が算出される。一方、例えば1番気筒#1につい
てトルク変動量の算出が禁止されたとするとカウント値
CDLNIXが“8”になったときに1番気筒#1の積
算カウント値CDLNI(1)だけは“8”になってお
らず、斯くして1番気筒#1については新たなトルク変
動量積算値DLNI(1)は算出されていない。従って
この場合、ステップ510において平均トルク変動値D
LNISMを求める際には1番気筒#1だけについては
以前に算出されたトルク変動値DLNISM(1)が使
用される。
As described above, the count value CDLN
IX is incremented by 1 every 720 ° crank angle, and unless the calculation of torque is prohibited for any cylinder, when the count value CDLNIX becomes “8”, the integrated count value CDL for all cylinders
NI (1), CDLNI (2), CDLNI (3), C
DLNI (4) is already "8". Therefore, in this case, the torque fluctuation value DLNISM for all cylinders
(I) is calculated. On the other hand, for example, if the calculation of the torque fluctuation amount is prohibited for the first cylinder # 1, when the count value CDLNIX becomes "8", only the integrated count value CDLNI (1) of the first cylinder # 1 becomes "8". As a result, a new integrated torque variation amount DLNI (1) is not calculated for the first cylinder # 1. Therefore, in this case, in step 510, the average torque fluctuation value D
When obtaining the LNISM, the torque fluctuation value DLNISM (1) previously calculated is used for only the first cylinder # 1.

【0107】ステップ511においてカウント値CDL
NIXがクリアされるとステップ512に進んでリーン
リミットフィードバック補正係数FLLFBの更新条件
が成立しているか否かが判別される。例えば暖機運転時
であるとき、或いは機関の運転状態が図5において破線
で囲まれた学習領域にないときには更新条件が成立して
いないと判断され、その他のときには更新条件が成立し
ていると判断される。更新条件が成立していないときに
は処理サイクルを完了し、更新条件が成立しているとき
にはステップ513に進む。
At step 511, count value CDL
When NIX is cleared, the routine proceeds to step 512, where it is determined whether or not the condition for updating the lean limit feedback correction coefficient FLLFB is satisfied. For example, when the engine is warming up, or when the operation state of the engine is not in the learning region surrounded by the broken line in FIG. 5, it is determined that the update condition is not satisfied. Is determined. When the update condition is not satisfied, the processing cycle is completed, and when the update condition is satisfied, the process proceeds to step 513.

【0108】ステップ513では機関負荷Q/Nと機関
回転数Nから図26(B)に示すマップに基づいて目標
トルク変動値LVLLFBが算出される。次いでステッ
プ514およびステップ515では目標トルク変動値L
VLLFBに応じた変動量判別値DH(n),DL
(n)に基づいて次式に示されるトルク変動レベルLV
LH(n),LVLL(n)が算出される。
In step 513, a target torque fluctuation value LVLLFB is calculated from the engine load Q / N and the engine speed N based on the map shown in FIG. Next, at steps 514 and 515, the target torque fluctuation value L
Variation discrimination value DH (n), DL according to VLLFB
Based on (n), the torque fluctuation level LV represented by the following equation
LH (n) and LVLL (n) are calculated.

【0109】 LVLH(n)=LVLLFB+DH(n) LVLL(n)=LVLLFB+DL(n) ここで、変動量判別値DH(n)およびDL(n)は図
27(A)に示されるように予め定められている。即
ち、図27(A)からわかるようにDH(n)について
は3つの正の値が定められており、DH(3)>DH
(2)>DH(1)の関係を有する。更に、これらDH
(1),DH(2),DH(3)は目標トルク変動値L
VLLFBが大きくなるにつれて次第に増大する。一
方、DL(n)については3つの負の値が定められてお
り、DL(1)>DL(2)>DL(3)の関係を有す
る。更に、これらDL(1),DL(2),DL(3)
の絶対値は目標トルク変動値LVLLFBが大きくなる
につれて次第に増大する。
LVLH (n) = LVLLFB + DH (n) LVLL (n) = LVLLFB + DL (n) Here, the fluctuation amount determination values DH (n) and DL (n) are predetermined as shown in FIG. 27 (A). Have been. That is, as can be seen from FIG. 27A, three positive values are defined for DH (n), and DH (3)> DH
(2)> DH (1) Furthermore, these DH
(1), DH (2), DH (3) are the target torque fluctuation values L
It gradually increases as VLLFB increases. On the other hand, three negative values are defined for DL (n), and have a relationship of DL (1)> DL (2)> DL (3). Further, DL (1), DL (2), DL (3)
Of the target torque fluctuation value LVLLFB gradually increases.

【0110】ところで今、ステップ513において算出
された目標トルク変動値LVLLFBが破線で示される
値だったとする。この場合、ステップ514では破線上
のDH(1),DH(2),DH(3)を目標トルク変
動値LVLLFBに加算した値が夫々トルク変動レベル
LVLH(1),LVLH(2),LVLH(3)とさ
れ、ステップ515では破線上のDL(1),DL
(2),DL(3)を目標トルク変動値LVLLFBに
加算した値が夫々トルク変動レベルLVLL(1),L
VLL(2),LVLL(3)とされる。
Now, it is assumed that the target torque fluctuation value LVLLFB calculated in step 513 is a value indicated by a broken line. In this case, in step 514, the values obtained by adding the DH (1), DH (2), and DH (3) on the broken line to the target torque fluctuation value LVLFB are the torque fluctuation levels LVLH (1), LVLH (2), LVLH ( 3), and at step 515, DL (1), DL on the broken line
The values obtained by adding (2) and DL (3) to the target torque fluctuation value LVLLFB are the torque fluctuation levels LVLL (1) and LLL, respectively.
VLL (2) and LVLL (3).

【0111】一方、図27(B)に示されるように各ト
ルク変動レベルLVLH(n),LVLL(n)間の領
域に対してフィードバック補正値+a1 ,+a2 ,+a
3 ,+a4 ,−b1 ,−b2 ,−b3 ,−b4 が予め定
められており、例えばトルク変動レベルがLVLH
(1)とLVLH(2)の間の領域に対してはフィード
バック補正値は+a2 となる。これらフィードバック補
正値は+a4 >+a3 >+a2 >+a1 でありかつ−b
1 >−b2 >−b3 >−b4 である。図27(B)に示
す各フィードバック補正値+a1 ,+a2 ,+a3 ,+
4 ,−b1 ,−b 2 ,−b3 ,−b4 が図27(A)
の対応する領域に示されている。
On the other hand, as shown in FIG.
Area between the torque fluctuation levels LVLH (n) and LVLL (n)
Feedback correction value + a1 , + ATwo , + A
Three , + AFour , -B1 , -BTwo , -BThree , -BFour Is predetermined
For example, when the torque fluctuation level is LVLH
Feed for the area between (1) and LVLH (2)
The back correction value is + aTwo Becomes These feedback supplements
Positive value is + aFour > + AThree > + ATwo > + A1 And -b
1 > -BTwo > -BThree > -BFour It is. As shown in FIG.
Each feedback correction value + a1 , + ATwo , + AThree , +
aFour , -B1 , -B Two , -BThree , -BFour Is shown in FIG.
In the corresponding area.

【0112】ステップ514およびステップ515にお
いて夫々トルク変動レベルLVLH(n),LVLL
(n)が算出されるとステップ516に進んで平均トル
ク変動値DLNISMが図27(B)に示されるどのト
ルク変動レベルLVLH(n),LVLL(n)の間に
あるかが判別される。次いでステップ517では対応す
るフィードバック補正値DLFBが算出される。例えば
今、目標トルク変動値LVLLFBが図27(A)にお
いて破線で示される値であり、算出された平均トルク変
動値DLNISMが図27(B)のLVLH(1)とL
VLH(2)との間である場合、即ち目標トルク変動値
LVLLFBに対する平均トルク変動値DLNISMの
偏差が図27(A)の破線上においてDH(1)とDH
(2)の間にある場合にはフィードバック補正値DLF
Bは+a2 とされる。
At steps 514 and 515, the torque fluctuation levels LVLH (n) and LVLL are respectively set.
When (n) is calculated, the routine proceeds to step 516, where it is determined which of the torque fluctuation levels LVLH (n) and LVLL (n) the average torque fluctuation value DLNISM is shown in FIG. Next, at step 517, the corresponding feedback correction value DLFB is calculated. For example, now, the target torque fluctuation value LVLLFB is a value indicated by a broken line in FIG. 27A, and the calculated average torque fluctuation value DLNISM is LVLH (1) and LVLH (1) in FIG.
VLH (2), that is, the deviation of the average torque fluctuation DLNISM from the target torque fluctuation LVLLFB is DH (1) and DH (1) on the broken line in FIG.
If it is between (2), the feedback correction value DLF
B is set to + a 2 .

【0113】次いでステップ518では図24に示すC
DLNIXの処理ルーチンのステップ409において求
められた機関回転数の平均値NAVE および吸入空気量Q
の平均値QAVE に基づいて更新すべきリーンリミットフ
ィードバック補正係数FLLFBijが図5に示される
どのリーン空燃比運転領域のリーンリミットフィードバ
ック補正係数であるかが決定される。次いでステップ5
19では前回更新作用が行われたリーン空燃比運転領域
AREAがAREAOとされる。なお、このリーン空燃
比運転領域AREAは図5に示されるFLLFBの添字
ij(=11,12,13,14,21,22,…)で
定義される。次いでステップ520ではステップ518
において決定された更新すべきリーンリミットフィード
バック補正係数FLLFBijの領域ijがAREAと
される。従って前回更新作用が行われたときのリーン空
燃比運転領域がAREAOとされ、今回更新作用が行わ
れるときのリーン空燃比運転領域がAREAとされるこ
とがわかる。
Next, at step 518, C shown in FIG.
Average engine speed N AVE and intake air amount Q obtained in step 409 of the processing routine of DLNIX
The lean limit feedback correction coefficient FLLFBij to be updated is determined based on the average value Q AVE of the lean air-fuel ratio operation range shown in FIG. Then step 5
In 19, the lean air-fuel ratio operation area AREA in which the previous update operation was performed is set to AREAO. The lean air-fuel ratio operation area AREA is defined by a subscript ij (= 11, 12, 13, 14, 21, 22,...) Of FLLFB shown in FIG. Next, at step 520, step 518
The area ij of the lean limit feedback correction coefficient FLLFBij to be updated determined in is set as AREA. Therefore, it can be seen that the lean air-fuel ratio operation region when the previous update operation was performed is AREAO, and the lean air-fuel ratio operation region when the current update operation is performed is AREA.

【0114】次いでステップ521ではステップ518
において決定されたリーンリミットフィードバック補正
係数FLLFBijにフィードバック補正値DLFBが
加算される。即ち、上述したように例えばDLNISM
>LVLLFBであって、LVLH(1)<DLNIS
M<LVLH(2)である場合にはリーンリミットフィ
ードバック補正係数FLLFBijに+a2 が加算され
る。その結果、空燃比が小さくなるので各気筒のトルク
変動量が減少せしめられる。一方、DLNISM<LV
LLFBであってLVLL(1)>DLNISM>LV
LL(2)である場合にはリーンリミットフィードバッ
ク補正係数FLLFBijに−b2 が加算される。その
結果、空燃比が大きくなるので各気筒のトルク変動量が
増大せしめられる。このようにして全気筒の平均トルク
変動値DLNISMが目標トルク変動値LVLLFBと
なるようにリーン運転時の空燃比が制御される。
Next, at step 521, step 518 is executed.
The feedback correction value DLFB is added to the lean limit feedback correction coefficient FLLFBij determined in. That is, as described above, for example, DLNISM
> LVLLFB and LVLH (1) <DLNIS
When M <LVLH (2), + a 2 is added to the lean limit feedback correction coefficient FLLFBij. As a result, the air-fuel ratio becomes smaller, so that the torque fluctuation amount of each cylinder is reduced. On the other hand, DLNISM <LV
LLFB and LVLL (1)>DLNISM> LV
-B 2 is added to the lean limit feedback correction coefficient FLLFBij when a LL (2). As a result, the air-fuel ratio increases, so that the amount of torque fluctuation in each cylinder is increased. In this way, the air-fuel ratio during the lean operation is controlled such that the average torque fluctuation value DLNISM of all cylinders becomes the target torque fluctuation value LVLLFB.

【0115】なお、図24に示すルーチンに示されるよ
うにトルク変動値の算出条件が成立しないときにはステ
ップ407において全ての気筒に対するDLNISM
(i)がLVLLFBとされ、斯くして平均トルク変動
値DLNISMも目標トルク変動値LVLLFBとされ
る。従ってこのときにはリーンリミットフィードバック
補正係数FLLFBijの更新は行われない。
When the calculation condition of the torque fluctuation value is not satisfied, as shown in the routine shown in FIG.
(I) is LVLLFB, and thus the average torque fluctuation value DLNISM is also the target torque fluctuation value LVLLFB. Therefore, at this time, the lean limit feedback correction coefficient FLLFBij is not updated.

【0116】ステップ521においてリーン空燃比運転
領域AREA(ij)のリーンリミットフィードバック
補正係数FLLFBijが更新されるとステップ522
に進んでリーンリミットフィードバック補正係数FLL
FBijが対応するリーン空燃比運転領域AREA(i
j)の変動許容範囲の上限値Fmaxよりも大きいか否
かが判別される。FLLFBij>Fmaxのときには
ステップ523に進んでFLLFBijが変動許容範囲
の上限値Fmaxとされ、次いでステップ526に進
む。これに対し、FLLFBij≦Fmaxのときには
ステップ524に進んでリーンリミットフィードバック
補正係数FLLFBijが対応するリーン空燃比運転領
域AREA(ij)の変動許容範囲の下限値Fminよ
りも小さいか否かが判別される。FLLFBij<Fm
inのときにはステップ525に進んでFLLFBij
が変動許容範囲の下限値Fminとされ、次いでステッ
プ526に進む。一方、FLLFBij≧Fminのと
きにはステップ526に進む。
When the lean limit feedback correction coefficient FLLFBij in the lean air-fuel ratio operation area AREA (ij) is updated in step 521, step 522 is executed.
To the lean limit feedback correction coefficient FLL
The lean air-fuel ratio operation region AREA (i
It is determined whether or not j is larger than the upper limit value Fmax of the allowable variation range. When FLLFBij> Fmax, the routine proceeds to step 523, where FLLFBij is set to the upper limit value Fmax of the fluctuation allowable range, and then the routine proceeds to step 526. On the other hand, when FLLFBij ≦ Fmax, the routine proceeds to step 524, where it is determined whether or not the lean limit feedback correction coefficient FLLFBij is smaller than the lower limit value Fmin of the fluctuation allowable range of the corresponding lean air-fuel ratio operation region AREA (ij). . FLLFBij <Fm
In the case of “in”, the process proceeds to step 525, where FLLFBij
Is set to the lower limit value Fmin of the variation allowable range, and then the process proceeds to step 526. On the other hand, when FLLFBij ≧ Fmin, the process proceeds to step 526.

【0117】ステップ526では前回更新作用が行われ
たときのリーン空燃比運転領域AREAOと今回更新作
用が行われたときのリーン空燃比運転領域AREAとが
同じであるか否かが判別される。AREAO=AREA
のときにはステップ527に進んでリーンリミットフィ
ードバック補正係数FLLFBijが対応する変動許容
範囲の上限値Fmaxになっているか否かが判別され
る。FLLFBij=Fmaxのときにはステップ52
8に進んで対応するカウント値Cijが1だけインクリ
メントされ、次いでステップ530に進む。これに対し
てAREAOとAREAが異なるとき、又はFLLFB
ijがFmaxでないときにはステップ529に進んで
全てのリーン空燃比運転領域に対するカウント値Cij
が零とされ、次いでステップ530に進む。
In step 526, it is determined whether or not the lean air-fuel ratio operation area AREAO when the previous update operation was performed is the same as the lean air-fuel ratio operation area AREA when the current update operation is performed. AREAO = AREA
In step 527, the routine proceeds to step 527, where it is determined whether the lean limit feedback correction coefficient FLLFBij has reached the upper limit value Fmax of the corresponding allowable fluctuation range. Step FL52 when FLLFBij = Fmax
Proceeding to 8, the corresponding count value Cij is incremented by 1 and then proceeding to step 530. On the other hand, when AREAO and AREA are different, or FLLFB
If ij is not Fmax, the routine proceeds to step 529, where the count values Cij for all the lean air-fuel ratio operation regions are set.
Is set to zero, and then the process proceeds to step 530.

【0118】ステップ530ではカウント値Cijが一
定値nになったか否かが判別され、Cij=nとなった
ときにはステップ531に進んで空燃比を理論空燃比に
すべきことを示すフラグXHijがセットされる。この
フラグXHijは各リーン空燃比運転領域について夫々
設けられている。即ち、同じリーン空燃比運転領域にお
いて機関の運転が継続して行われ、このとき連続するn
回の更新作用時にn回ともFLLFBijがFmaxに
維持されていたときにそのリーン空燃比運転領域に対す
るフラグXHijがセットされる。このフラグXHij
はバックアップRAM25内に記憶されており、従って
このフラグXHijが一旦セットされると機関が停止さ
れてもセットされ続ける。
In step 530, it is determined whether or not the count value Cij has reached a constant value n. When Cij = n, the flow advances to step 531 to set a flag XHij indicating that the air-fuel ratio should be set to the stoichiometric air-fuel ratio. Is done. The flag XHij is provided for each lean air-fuel ratio operation region. That is, the operation of the engine is continuously performed in the same lean air-fuel ratio operation region, and at this time, n
When FLLFBij is maintained at Fmax n times during the update operation, the flag XHij for the lean air-fuel ratio operation region is set. This flag XHij
Is stored in the backup RAM 25. Therefore, once this flag XHij is set, it is kept set even if the engine is stopped.

【0119】次に図32を参照しつつ燃料噴射時間の算
出ルーチンについて説明する。図32を参照すると、ま
ず初めにステップ601において図2に示すマップから
基本燃料噴射時間TPが算出される。次いでステップ6
02ではリーン運転を行うべき運転状態か否かが判別さ
れる。リーン運転を行うべき運転状態のときにはステッ
プ603に進んでいずれかのリーン空燃比運転領域につ
いてフラグXHijがセットされているか否かが判別さ
れる。いずれのリーン空燃比運転領域についてもフラグ
XHijがセットされていないときにはステップ604
に進んで理論空燃比フィードバック補正係数FAFの値
が1.0に固定される。次いでステップ605では図4
に示すマップからリーン補正係数FLEANが算出さ
れ、次いでステップ606では図5に示すマップからリ
ーンリミットフィードバック補正係数FLLFBが読込
まれる。次いでステップ610では次式に基づいて燃料
噴射時間TAUが算出される。
Next, a routine for calculating the fuel injection time will be described with reference to FIG. Referring to FIG. 32, first, in step 601, the basic fuel injection time TP is calculated from the map shown in FIG. Then step 6
In 02, it is determined whether or not the operating state is such that the lean operation should be performed. When the operating state is such that the lean operation is to be performed, the routine proceeds to step 603, where it is determined whether or not the flag XHij is set for any of the lean air-fuel ratio operating regions. If the flag XHij has not been set in any of the lean air-fuel ratio operation ranges, step 604 is executed.
The value of the stoichiometric air-fuel ratio feedback correction coefficient FAF is fixed at 1.0. Next, in step 605, FIG.
The lean correction coefficient FLEAN is calculated from the map shown in FIG. 5, and then in step 606, the lean limit feedback correction coefficient FLLFFB is read from the map shown in FIG. Next, at step 610, the fuel injection time TAU is calculated based on the following equation.

【0120】TAU=TP・FLEAN・FLLFB・
FAF+TAUV これに対し、ステップ602においてリーン運転を行う
べき運転状態でないと判別されたとき、即ち空燃比を理
論空燃比にすべきときにはステップ607に進んでリー
ン補正係数FLEANが1.0に固定され、次いでステ
ップ608においてリーンリミットフィードバック補正
係数FLLFBが1.0に固定される。次いでステップ
609では空燃比センサ17の出力信号に基づいて空燃
比が理論空燃比となるように理論空燃比フィードバック
補正係数FAFが制御される。次いでステップ610に
進み、燃料噴射時間TAUが算出される。
TAU = TP • FLEAN • FLLFB •
FAF + TAUV On the other hand, when it is determined in step 602 that the vehicle is not in the operating state in which the lean operation is to be performed, that is, when the air-fuel ratio is to be the stoichiometric air-fuel ratio, the process proceeds to step 607 and the lean correction coefficient FLEAN is fixed at 1.0. Next, at step 608, the lean limit feedback correction coefficient FLLFB is fixed to 1.0. Next, at step 609, the stoichiometric air-fuel ratio feedback correction coefficient FAF is controlled based on the output signal of the air-fuel ratio sensor 17 so that the air-fuel ratio becomes the stoichiometric air-fuel ratio. Next, the routine proceeds to step 610, where the fuel injection time TAU is calculated.

【0121】一方、いずれかのリーン空燃比運転領域に
ついてフラグXHijがセットされているときには機関
の運転領域がフラグXHijのセットされているリーン
空燃比運転領域になるとステップ603からステップ6
07に進み、その結果空燃比が理論空燃比にされる。即
ち、或るリーン空燃比運転領域についてフラグXHij
が一旦セットされるとその後そのリーン空燃比運転領域
では空燃比が理論空燃比とされる。
On the other hand, when the flag XHij is set for any of the lean air-fuel ratio operating regions, if the operating region of the engine becomes the lean air-fuel ratio operating region where the flag XHij is set, steps 603 to 6 are performed.
07, so that the air-fuel ratio is set to the stoichiometric air-fuel ratio. That is, the flag XHij for a certain lean air-fuel ratio operation region
Is set once, then the air-fuel ratio is set to the stoichiometric air-fuel ratio in the lean air-fuel ratio operation region.

【0122】これまで説明した実施例では或るリーン空
燃比運転領域において空燃比が変動許容範囲の下限値に
維持されたときにはその後そのリーン空燃比運転領域に
ついては空燃比を理論空燃比とするようにしている。こ
の場合、別の方法として、或る機関の運転状態において
空燃比が変動許容範囲の下限値に維持されたときにはそ
の運転状態を記憶しておき、その後機関の運転状態が記
憶された特定の運転になったときに空燃比を理論空燃比
とすることもできる。即ち、リーン空燃比運転中に空燃
比を理論空燃比とすべき特定の運転状態を探し出し、こ
のような特定の運転状態が見い出された場合にはその後
その特定の運転状態においては空燃比を理論空燃比とす
ることもできる。
In the embodiments described so far, when the air-fuel ratio is maintained at the lower limit of the allowable fluctuation range in a certain lean air-fuel ratio operation region, the air-fuel ratio is thereafter set to the stoichiometric air-fuel ratio in the lean air-fuel ratio operation region. I have to. In this case, as another method, when the air-fuel ratio is maintained at the lower limit value of the fluctuation allowable range in an operation state of an engine, the operation state is stored, and then the specific operation state in which the operation state of the engine is stored is stored. The air-fuel ratio can be set to the stoichiometric air-fuel ratio when becomes That is, during the lean air-fuel ratio operation, a specific operating state in which the air-fuel ratio should be set to the stoichiometric air-fuel ratio is searched for. The air-fuel ratio can also be used.

【0123】図33から図39は車体の振動が発生する
可能性のある特定の運転状態を探し出し、このような特
定の運転状態が見い出された場合にはその後その特定の
運転状態においては空燃比を理論空燃比とするようにし
た実施例を示している。即ち、前述したように機関の駆
動系に捩り振動が発生するとこの駆動系の捩り振動によ
ってクランクシャフトに捩り振動が発生せしめられる。
また、駆動輪19のタイヤに傷や偏摩耗が生じたり、駆
動輪19のタイヤにアンバランスが存在すると駆動輪1
9は回転振動を生じ、この回転振動によってもクランク
シャフトに捩り振動が発生せしめられる。この場合、駆
動系の固有振動の周期と駆動輪19の回転振動の周期と
が一致するとクランクシャフトに発生せしめられる捩り
振動が増勢される。ところがクランクシャフトの角速度
に基づいてトルク変動量を算出するようにした場合に
は、上述の如くクランクシャフトに発生せしめられる捩
り振動が増勢されると実際のトルク変動量は小さいにも
かかわらずに計算上のトルク変動量が大きくなる。計算
上のトルク変動量が大きくなるとトルク変動量を小さく
すべく空燃比が小さくされる。しかしながら空燃比が小
さくされてもクランクシャフトの捩り振動はおさまら
ず、斯くして空燃比は変動許容範囲の下限値に達し、次
いで変動許容範囲の下限値に維持されることになる。
FIG. 33 to FIG. 39 search for a specific operating state in which vibration of the vehicle body is likely to occur, and if such a specific operating state is found, then the air-fuel ratio in that specific operating state is determined. Is set to a stoichiometric air-fuel ratio. That is, as described above, when torsional vibration occurs in the drive system of the engine, torsional vibration of the crankshaft is generated by the torsional vibration of the drive system.
Further, if the tire of the driving wheel 19 is damaged or unevenly worn, or if the tire of the driving wheel 19 is unbalanced, the driving wheel 1
9 produces rotational vibration, and this rotational vibration also causes torsional vibration on the crankshaft. In this case, when the cycle of the natural vibration of the drive system coincides with the cycle of the rotational vibration of the drive wheel 19, the torsional vibration generated on the crankshaft is increased. However, when the amount of torque fluctuation is calculated based on the angular velocity of the crankshaft, if the torsional vibration generated on the crankshaft is increased as described above, the calculation is performed even though the actual amount of torque fluctuation is small. The above torque variation increases. When the calculated torque fluctuation increases, the air-fuel ratio is reduced to reduce the torque fluctuation. However, even if the air-fuel ratio is reduced, the torsional vibration of the crankshaft does not stop, so that the air-fuel ratio reaches the lower limit of the allowable fluctuation range, and then is maintained at the lower limit of the allowable fluctuation range.

【0124】ところがこのように空燃比が変動許容範囲
の下限値に維持されていてもこのときの空燃比はリーン
であるためにトルク変動が生じやすく、しかもこのとき
のクランクシャフトに大きな捩り振動が発生していると
車体に振動が発生しやすくなる。そこでこの実施例では
空燃比が変動許容限界の下限値に達しかつクランクシャ
フトに大きな捩り振動が発生しているときには空燃比を
リーン空燃比から理論空燃比に切換え、それでもなお特
定の運転状態においてクランクシャフトに大きな捩り振
動が発生するときには以後、その特定の運転状態につい
ては空燃比を理論空燃比にするようにしている。
However, even if the air-fuel ratio is maintained at the lower limit of the allowable range of fluctuation, the air-fuel ratio at this time is lean, so that torque fluctuations are likely to occur, and large torsional vibrations occur in the crankshaft at this time. If it occurs, vibration is likely to occur in the vehicle body. Therefore, in this embodiment, when the air-fuel ratio has reached the lower limit of the allowable fluctuation limit and a large torsional vibration has occurred in the crankshaft, the air-fuel ratio is switched from the lean air-fuel ratio to the stoichiometric air-fuel ratio. When a large torsional vibration occurs in the shaft, the air-fuel ratio is set to the stoichiometric air-fuel ratio for the specific operation state thereafter.

【0125】図33は繰返し実行されるメインルーチン
を示している。このメインルーチンではまず初めにトル
ク変動値およびリーンリミット補正係数FLLFBの算
出ルーチン(ステップ800)が実行される。このルー
チンが図34および図35に示されている。次いでリー
ン禁止ルーチン(ステップ900)が実行される。この
ルーチンが図36および図37に示されている。次いで
予め定められたクランク角になったときに噴射時間算出
ルーチン(ステップ1000)が実行される。このルー
チンが図39に示されている。次いでその他のルーチン
(ステップ1100)が実行される。
FIG. 33 shows a main routine that is repeatedly executed. In this main routine, first, a routine (step 800) for calculating the torque fluctuation value and the lean limit correction coefficient FLLFB is executed. This routine is shown in FIGS. 34 and 35. Next, a lean prohibition routine (step 900) is executed. This routine is shown in FIGS. 36 and 37. Next, when the predetermined crank angle is reached, an injection time calculation routine (step 1000) is executed. This routine is shown in FIG. Next, another routine (step 1100) is executed.

【0126】次に図34および図35に示されるトルク
変動値の算出ルーチンについて説明する。図34および
図35を参照すると、まず初めにステップ801におい
てトルク変動量DLN(i)を積算すべきことを示す積
算要求フラグXDLNI(i)がセット(XDLNI
(i)=“1”)されているか否かが判別される。積算
要求フラグXDLNI(i)がセットされていないとき
にはステップ809にジャンプし、積算要求フラグXD
LNI(i)がセットされているときにはステップ80
2に進む。ステップ802では積算要求フラグXDLN
I(i)がリセットされる。次いでステップ803では
トルク変動量DLN(i)がトルク変動量積算値DLN
I(i)に加算される。次いでステップ804では積算
カウント値CDLNI(i)が1だけインクリメントさ
れる。即ち、例えばステップ801において1番気筒に
ついての積算要求フラグXDLNI(1)がセットされ
たとするとステップ802においてこのフラグXDLN
I(1)がリセットされ、ステップ803においてトル
ク変動量積算値DLNI(1)が算出され、ステップ8
04において積算カウント値CDLNI(1)が1だけ
インクリメントされる。
Next, the routine for calculating the torque fluctuation value shown in FIGS. 34 and 35 will be described. Referring to FIGS. 34 and 35, first, in step 801, an integration request flag XDLNI (i) indicating that the torque variation DLN (i) should be integrated is set (XDLNI).
(I) = “1”) is determined. If the integration request flag XDLNI (i) is not set, the process jumps to step 809, where the integration request flag XD
Step 80 if LNI (i) is set
Proceed to 2. In step 802, the integration request flag XDLN
I (i) is reset. Next, at step 803, the torque variation DLN (i) is changed to the torque variation integrated value DLN.
It is added to I (i). Next, at step 804, the integrated count value CDLNI (i) is incremented by one. That is, for example, if the integration request flag XDLNI (1) for the first cylinder is set in step 801, this flag XDLN is set in step 802.
I (1) is reset, and in step 803, the torque variation integrated value DLNI (1) is calculated.
At 04, the integrated count value CDLNI (1) is incremented by one.

【0127】次いでステップ805では積算カウント値
CDLNI(i)が“8”になったか否かが判別され
る。CDLNI(i)が“8”でないときにはステップ
809にジャンプし、CDLNI(i)が“8”になる
とステップ806に進んで次式から各気筒のトルク変動
値DLNISM(i)が算出される。 DLNISM(i)=DLNISM(i)+{DLNI
(i)−DLNISM(i)}/4 次いでステップ807では各気筒に対するトルク変動量
積算値DLNI(i)がクリアされ、次いでステップ8
08では積算カウント値CDLNI(i)がリセットさ
れる。
Next, at step 805, it is determined whether or not the integrated count value CDLNI (i) has become "8". If CDLNI (i) is not "8", the routine jumps to step 809. If CDLNI (i) becomes "8", the routine proceeds to step 806, where the torque fluctuation value DLNISM (i) of each cylinder is calculated from the following equation. DLNISM (i) = DLNISM (i) + {DLNI
(I) -DLNISM (i)} / 4 Next, at step 807, the torque variation integrated value DLNI (i) for each cylinder is cleared, and then at step 8
At 08, the integrated count value CDLNI (i) is reset.

【0128】即ち、算出されたトルク変動量積算値DL
NI(i)とこれまで用いられてきたトルク変動値DL
NISM(i)との間に差があるときにはこの差{DL
NI(i)−DLNISM(i)}に1/4を乗算した
値がトルク変動値DLNISM(i)に加算される。従
って例えば1番気筒#1についての積算カウント値CD
LNI(1)が“8”になるとステップ806において
トルク変動値DLNISM(1)が算出されることにな
る。
That is, the calculated torque variation integrated value DL
NI (i) and torque fluctuation value DL used so far
When there is a difference from NISM (i), this difference {DL
NI (i) -DLNISM (i)} multiplied by 1/4 is added to torque fluctuation value DLNISM (i). Therefore, for example, the integrated count value CD for the first cylinder # 1
When LNI (1) becomes “8”, the torque fluctuation value DLNISM (1) is calculated in step 806.

【0129】次いでステップ809では図24に示すル
ーチンにおいて算出されたカウント値CDLNIXが
“8”になったか否かが判別される。CDLNIXが
“8”でないときには処理サイクルを完了し、CDLN
IXが“8”になるとステップ810に進んで各気筒の
トルク変動値DLNISM(i)の平均値である平均ト
ルク変動値DLNISM(={DLNISM(1)+D
LNISM(2)+DLNISM(3)+DLNISM
(4)}/4)が算出される。次いでステップ811で
はカウント値CDLNIXがクリアされる。このように
して機関のトルク変動量を代表する値DLNISMが算
出される。
Next, at step 809, it is determined whether or not the count value CDLNIX calculated in the routine shown in FIG. 24 has become "8". When CDLNIX is not "8", the processing cycle is completed and CDLNIX is not executed.
When IX becomes “8”, the routine proceeds to step 810, where the average torque fluctuation value DLNISM (= {DLNISM (1) + D), which is the average of the torque fluctuation values DLNISM (i) of each cylinder.
LNISM (2) + DLNISM (3) + DLNISM
(4)} / 4) is calculated. Next, at step 811, the count value CDLNIX is cleared. In this way, the value DLNISM representing the torque fluctuation amount of the engine is calculated.

【0130】次いでステップ812においてリーンリミ
ットフィードバック補正係数FLLFBの更新条件が成
立しているか否かが判別される。例えば暖機運転時であ
るとき、或いは機関の運転状態が図5において破線で囲
まれた学習領域にないときには更新条件が成立していな
いと判断され、その他のときには更新条件が成立してい
ると判断される。更新条件が成立していないときには処
理サイクルを完了し、更新条件が成立しているときには
ステップ813に進む。
Next, at step 812, it is determined whether or not the condition for updating the lean limit feedback correction coefficient FLLFB is satisfied. For example, when the engine is warming up, or when the operation state of the engine is not in the learning region surrounded by the broken line in FIG. 5, it is determined that the update condition is not satisfied. Is determined. When the update condition is not satisfied, the processing cycle is completed, and when the update condition is satisfied, the process proceeds to step 813.

【0131】ステップ813では機関負荷Q/Nと機関
回転数Nから図26(B)に示すマップに基づいて目標
トルク変動値LVLLFBが算出される。次いでステッ
プ814およびステップ815では目標トルク変動値L
VLLFBに応じた変動量判別値DH(n),DL
(n)に基づいて次式に示されるトルク変動レベルLV
LH(n),LVLL(n)が算出される。
In step 813, a target torque fluctuation value LVLLFB is calculated from the engine load Q / N and the engine speed N based on a map shown in FIG. Next, at step 814 and step 815, the target torque fluctuation value L
Variation discrimination value DH (n), DL according to VLLFB
Based on (n), the torque fluctuation level LV represented by the following equation
LH (n) and LVLL (n) are calculated.

【0132】 LVLH(n)=LVLLFB+DH(n) LVLL(n)=LVLLFB+DL(n) ここで、変動量判別値DH(n)およびDL(n)は図
27(A)に示されるように予め定められている。即
ち、前述したようにDH(n)については3つの正の値
が定められており、DH(3)>DH(2)>DH
(1)の関係を有する。更に、これらDH(1),DH
(2),DH(3)は目標トルク変動値LVLLFBが
大きくなるにつれて次第に増大する。一方、DL(n)
については3つの負の値が定められており、DL(1)
>DL(2)>DL(3)の関係を有する。更に、これ
らDL(1),DL(2),DL(3)の絶対値は目標
トルク変動値LVLLFBが大きくなるにつれて次第に
増大する。
LVLH (n) = LVLLFB + DH (n) LVLL (n) = LVLLFB + DL (n) Here, the fluctuation amount determination values DH (n) and DL (n) are predetermined as shown in FIG. 27 (A). Have been. That is, as described above, three positive values are defined for DH (n), and DH (3)> DH (2)> DH
It has the relationship of (1). Furthermore, these DH (1), DH
(2) and DH (3) gradually increase as the target torque fluctuation value LVLLFB increases. On the other hand, DL (n)
Are defined as three negative values, and DL (1)
> DL (2)> DL (3). Further, the absolute values of DL (1), DL (2) and DL (3) gradually increase as the target torque fluctuation value LVLLFB increases.

【0133】ところで今、ステップ813において算出
された目標トルク変動値LVLLFBが破線で示される
値だったとする。この場合、ステップ814では破線上
のDH(1),DH(2),DH(3)を目標トルク変
動値LVLLFBに加算した値が夫々トルク変動レベル
LVLH(1),LVLH(2),LVLH(3)とさ
れ、ステップ815では破線上のDL(1),DL
(2),DL(3)を目標トルク変動値LVLLFBに
加算した値が夫々トルク変動レベルLVLL(1),L
VLL(2),LVLL(3)とされる。
Now, suppose that the target torque fluctuation value LVLLFB calculated in step 813 is a value indicated by a broken line. In this case, in step 814, values obtained by adding DH (1), DH (2), and DH (3) on the broken line to the target torque fluctuation value LVLLFB are the torque fluctuation levels LVLH (1), LVLH (2), LVLH ( 3), and in step 815, DL (1), DL on the broken line
The values obtained by adding (2) and DL (3) to the target torque fluctuation value LVLLFB are the torque fluctuation levels LVLL (1) and LLL, respectively.
VLL (2) and LVLL (3).

【0134】一方、図27(B)に示されるように各ト
ルク変動レベルLVLH(n),LVLL(n)間の領
域に対してフィードバック補正値+a1 ,+a2 ,+a
3 ,+a4 ,−b1 ,−b2 ,−b3 ,−b4 が予め定
められており、例えばトルク変動レベルがLVLH
(1)とLVLH(2)の間の領域に対してはフィード
バック補正値は+a2 となる。これらフィードバック補
正値は+a4 >+a3 >+a2 >+a1 でありかつ−b
1 >−b2 >−b3 >−b4 である。図27(B)に示
す各フィードバック補正値+a1 ,+a2 ,+a3 ,+
4 ,−b1 ,−b 2 ,−b3 ,−b4 が図27(A)
の対応する領域に示されている。
On the other hand, as shown in FIG.
Area between the torque fluctuation levels LVLH (n) and LVLL (n)
Feedback correction value + a1 , + ATwo , + A
Three , + AFour , -B1 , -BTwo , -BThree , -BFour Is predetermined
For example, when the torque fluctuation level is LVLH
Feed for the area between (1) and LVLH (2)
The back correction value is + aTwo Becomes These feedback supplements
Positive value is + aFour > + AThree > + ATwo > + A1 And -b
1 > -BTwo > -BThree > -BFour It is. As shown in FIG.
Each feedback correction value + a1 , + ATwo , + AThree , +
aFour , -B1 , -B Two , -BThree , -BFour Is shown in FIG.
In the corresponding area.

【0135】ステップ814およびステップ815にお
いて夫々トルク変動レベルLVLH(n),LVLL
(n)が算出されるとステップ816に進んで平均トル
ク変動値DLNISMが図27(B)に示されるどのト
ルク変動レベルLVLH(n),LVLL(n)の間に
あるかが判別される。次いでステップ817では対応す
るフィードバック補正値DLFBが算出される。例えば
今、目標トルク変動値LVLLFBが図27(A)にお
いて破線で示される値であり、算出された平均トルク変
動値DLNISMが図27(B)のLVLH(1)とL
VLH(2)との間である場合、即ち目標トルク変動値
LVLLFBに対する平均トルク変動値DLNISMの
偏差が図27(A)の破線上においてDH(1)とDH
(2)の間にある場合にはフィードバック補正値DLF
Bは+a2 とされる。
At steps 814 and 815, the torque fluctuation levels LVLH (n) and LVLL are respectively set.
When (n) is calculated, the routine proceeds to step 816, where it is determined which of the torque fluctuation levels LVLH (n) and LVLL (n) shown in FIG. 27 (B) is the average torque fluctuation value DLNISM. Next, at step 817, the corresponding feedback correction value DLFB is calculated. For example, now, the target torque fluctuation value LVLLFB is a value indicated by a broken line in FIG. 27A, and the calculated average torque fluctuation value DLNISM is LVLH (1) and LVLH (1) in FIG.
VLH (2), that is, the deviation of the average torque fluctuation DLNISM from the target torque fluctuation LVLLFB is DH (1) and DH (1) on the broken line in FIG.
If it is between (2), the feedback correction value DLF
B is set to + a 2 .

【0136】次いでステップ818では図24に示すC
DLNIXの処理ルーチンのステップ409において求
められた機関回転数の平均値NAVE および吸入空気量Q
の平均値QAVE に基づいて更新すべきリーンリミットフ
ィードバック補正係数FLLFBijが図5に示される
どの学習領域のリーンリミットフィードバック補正係数
であるかが決定される。次いでステップ819ではステ
ップ818において決定されたリーンリミットフィード
バック補正係数FLLFBijにフィードバック補正値
DLFBが加算される。
Next, at step 818, C shown in FIG.
Average engine speed N AVE and intake air amount Q obtained in step 409 of the processing routine of DLNIX
The lean limit feedback correction coefficient FLFBBij to be updated is determined based on the average value Q AVE of the learning region in FIG. Next, at step 819, the feedback correction value DLFB is added to the lean limit feedback correction coefficient FLLFBij determined at step 818.

【0137】即ち、上述したように例えばDLNISM
>LVLLFBであって、LVLH(1)<DLNIS
M<LVLH(2)である場合にはリーンリミットフィ
ードバック補正係数FLLFBijに+a2 が加算され
る。その結果、空燃比が小さくなるので各気筒のトルク
変動量が減少せしめられる。一方、DLNISM<LV
LLFBであってLVLL(1)>DLNISM>LV
LL(2)である場合にはリーンリミットフィードバッ
ク補正係数FLLFBijに−b2 が加算される。その
結果、空燃比が大きくなるので各気筒のトルク変動量が
増大せしめられる。このようにして全気筒の平均トルク
変動値DLNISMが目標トルク変動値LVLLFBと
なるようにリーン運転時の空燃比が制御される。
That is, as described above, for example, DLNISM
> LVLLFB and LVLH (1) <DLNIS
When M <LVLH (2), + a 2 is added to the lean limit feedback correction coefficient FLLFBij. As a result, the air-fuel ratio becomes smaller, so that the torque fluctuation amount of each cylinder is reduced. On the other hand, DLNISM <LV
LLFB and LVLL (1)>DLNISM> LV
-B 2 is added to the lean limit feedback correction coefficient FLLFBij when a LL (2). As a result, the air-fuel ratio increases, so that the amount of torque fluctuation in each cylinder is increased. In this way, the air-fuel ratio during the lean operation is controlled such that the average torque fluctuation value DLNISM of all cylinders becomes the target torque fluctuation value LVLLFB.

【0138】次いでステップ820ではリーンリミット
フィードバック補正係数FLLFBijが対応する変動
許容範囲の上限値Fmaxよりも大きいか否かが判別さ
れる。FLLFBij>Fmaxのときにはステップ8
21に進んでFLLFBijが変動許容範囲の上限値F
maxとされ、次いで処理サイクルを完了する。これに
対し、FLLFBij≦Fmaxのときにはステップ8
22に進んでリーンリミットフィードバック補正係数F
LLFBijが対応する変動許容範囲の下限値Fmin
よりも小さいか否かが判別される。FLLFBij<F
minのときにはステップ823に進んでFLLFBi
jが変動許容範囲の下限値Fminとされ、次いで処理
サイクルを完了する。
Next, at step 820, it is determined whether or not the lean limit feedback correction coefficient FLLFBij is larger than the upper limit value Fmax of the corresponding allowable fluctuation range. Step 8 when FLLFBij> Fmax
21 and FLLFBij becomes the upper limit value F of the allowable variation range.
max, and then complete the processing cycle. On the other hand, when FLLFBij ≦ Fmax, step 8
Proceeding to 22, the lean limit feedback correction coefficient F
The lower limit value Fmin of the allowable fluctuation range corresponding to LLFBij
It is determined whether it is smaller than. FLLFBij <F
In the case of min, the routine proceeds to step 823, where FLLFBi
j is set as the lower limit value Fmin of the allowable variation range, and then the processing cycle is completed.

【0139】次に図36から図38を参照しつつリーン
禁止ルーチンについて説明する。図36および図38を
参照すると、まず初めにステップ901においてリーン
リミットフィードバック補正係数FLLFBijが対応
する変動許容範囲の上限値Fmaxであるか否かが判別
される。FLLFBij=Fmaxでないときにはステ
ップ910にジャンプし、FLLFBij=Fmaxの
ときにはステップ902に進む。ステップ902ではD
Ta(i)の変動の振幅AMP(図13)が設定値AM
PHよりも大きいか否かが判別される。この設定値AM
PHは図38に示されるように車速SPが低いほど大き
い。AMP≦AMPHのときにはステップ910にジャ
ンプし、AMP>AMPHのときにはステップ903に
進む。
Next, the lean prohibition routine will be described with reference to FIGS. 36 to 38. Referring to FIG. 36 and FIG. 38, first, in step 901, it is determined whether or not the lean limit feedback correction coefficient FLLFBij is the upper limit value Fmax of the corresponding allowable variation range. If FLLFBij = Fmax is not satisfied, the process jumps to step 910. If FLLFBij = Fmax, the process proceeds to step 902. In step 902, D
The amplitude AMP of the fluctuation of Ta (i) (FIG. 13) is equal to the set value AM.
It is determined whether it is greater than PH. This set value AM
PH is higher as the vehicle speed SP is lower as shown in FIG. When AMP ≦ AMPH, the process jumps to step 910. When AMP> AMPH, the process proceeds to step 903.

【0140】ステップ903では空燃比を理論空燃比に
すべきことを示すフラグXHijがセットされる。この
フラグXHijがセットされると後述するように空燃比
がリーン空燃比から理論空燃比に切換えられる。即ち、
リーンリミットフィードバック補正係数FLLFBij
が対応する変動許容範囲の上限値Fmaxとなっており
かつAMP>AMPHのとき、即ちクランクシャフトの
捩り振動が大きいときには空燃比が理論空燃比とされ
る。
At step 903, a flag XHij indicating that the air-fuel ratio should be set to the stoichiometric air-fuel ratio is set. When the flag XHij is set, the air-fuel ratio is switched from the lean air-fuel ratio to the stoichiometric air-fuel ratio as described later. That is,
Lean limit feedback correction coefficient FLLFBij
Is the upper limit value Fmax of the corresponding allowable fluctuation range and AMP> AMPH, that is, when the torsional vibration of the crankshaft is large, the air-fuel ratio is set to the stoichiometric air-fuel ratio.

【0141】次いでステップ904ではDTa(i)の
変動の振幅AMP(図13)が設定値AMPLよりも大
きいか否かが判別される。この設定値AMPLは図38
に示されるように車速SPが低くなるにつれて大きくな
り、しかも設定値AMPHよりも若干小さな値にされて
いる。AMP≦AMPLのときにはステップ910にジ
ャンプし、AMP>AMPLのときにはステップ905
に進む。ステップ905ではリーンリミットフィードバ
ック補正係数FLLFBijに対するカウント値Cij
が1だけインクリメントされ、次いでステップ906で
はリーンリミットフィードバック補正係数FLLFBi
jに対する車速積算値SPIijに現在の車速SPが加
算される。
Next, at step 904, it is determined whether or not the amplitude AMP of the fluctuation of DTa (i) (FIG. 13) is larger than the set value AMPL. This set value AMPL is shown in FIG.
As shown in FIG. 7, the value increases as the vehicle speed SP decreases, and is set to a value slightly smaller than the set value AMPH. If AMP ≦ AMPL, the process jumps to step 910; if AMP> AMPL, step 905
Proceed to. In step 905, the count value Cij for the lean limit feedback correction coefficient FLLFBij
Is incremented by one, and then at step 906, the lean limit feedback correction coefficient FLLFBi
The current vehicle speed SP is added to the vehicle speed integrated value SPIij for j.

【0142】次いでステップ907ではカウント値Ci
jが一定値nになったか否かが判別される。Cij=n
でないときにはステップ911にジャンプし、Cij=
nのときにはステップ908に進んで空燃比を以後理論
空燃比に維持すべきであることを示すフラグXTijが
セットされる。次いでステップ909では車速積算値S
PIijを一定値nで除算することによって車速の平均
値SPAVij(=SPIij/n)が算出される。次
いでステップ910では全てのカウント値Cijおよび
全ての車速積算値SPIijが零とされる。
Next, at step 907, the count value Ci
It is determined whether or not j has reached a constant value n. Cij = n
If not, the process jumps to step 911, where Cij =
If n, the routine proceeds to step 908, where a flag XTij indicating that the air-fuel ratio should be maintained at the stoichiometric air-fuel ratio thereafter is set. Next, at step 909, the vehicle speed integrated value S
By dividing PIij by a constant value n, an average vehicle speed SPAVij (= SPIij / n) is calculated. Next, at step 910, all count values Cij and all vehicle speed integrated values SPIij are set to zero.

【0143】次いでステップ911ではフラグXTij
がセットされているか否かが判別される。フラグXTi
jがセットされたときにはステップ912に進んで現在
の車速SPと車速の平均値SPAVijとの差の絶対値
|SP−SPAVij|が一定値αよりも小さいか否か
が判別される。|SP−SPAVij|≦αのときには
ステップ913に進んでフラグXHijがセットされ
る。このときには空燃比が理論空燃比とされる。これに
対してフラグXTijがセットされていないとき、或い
はフラグXTijがセットされていても|SP−SPA
Vij|>αのときにはステップ914に進んでフラグ
XHijがリセットされる。このときには空燃比がリー
ン空燃比とされる。
Next, at step 911, the flag XTij
Is set or not. Flag XTi
When j is set, the routine proceeds to step 912, where it is determined whether or not the absolute value | SP-SPAVij | of the difference between the current vehicle speed SP and the average vehicle speed SPAVij is smaller than a fixed value α. When | SP-SPAVij | ≦ α, the routine proceeds to step 913, where the flag XHij is set. At this time, the air-fuel ratio is set to the stoichiometric air-fuel ratio. On the other hand, when the flag XTij is not set, or even when the flag XTij is set, | SP-SPA
When Vij |> α, the routine proceeds to step 914, where the flag XHij is reset. At this time, the air-fuel ratio is set to the lean air-fuel ratio.

【0144】即ち、空燃比が理論空燃比にされても依然
としてクランクシャフトの捩り振動が大きい場合にはク
ランクシャフトの捩り振動が大きくなる車速の平均値S
PAVijを求め、以後車速SPがこの車速の平均値S
PAVij付近になったときには空燃比が理論空燃比と
される。なお、フラグXTijがセットされたときには
駆動輪19のタイヤに異常が生じていると考えられる。
従ってフラグXTijがセットされたときには警告ラン
プを点灯する等、運転者にタイヤの異常を知らせる何ら
の措置を講じることが好ましい。
That is, even if the air-fuel ratio is set to the stoichiometric air-fuel ratio, if the torsional vibration of the crankshaft is still large, the average value S of the vehicle speed at which the torsional vibration of the crankshaft becomes large is obtained.
PAVIj is obtained, and thereafter, the vehicle speed SP becomes an average value S of this vehicle speed.
When it comes to the vicinity of PAVIj, the air-fuel ratio is set to the stoichiometric air-fuel ratio. When the flag XTij is set, it is considered that an abnormality has occurred in the tire of the driving wheel 19.
Therefore, it is preferable to take some measure to notify the driver of the tire abnormality, such as turning on a warning lamp when the flag XTij is set.

【0145】次に図39を参照しつつ燃料噴射時間の算
出ルーチンについて説明する。図39を参照すると、ま
ず初めにステップ1001において図2に示すマップか
ら基本燃料噴射時間TPが算出される。次いでステップ
1002ではリーン運転を行うべき運転状態か否かが判
別される。リーン運転を行うべき運転状態のときにはス
テップ1003に進んでフラグXHijがセットされて
いるか否かが判別される。フラグXHijがセットされ
ていないときにはステップ1004に進んで理論空燃比
フィードバック補正係数FAFの値が1.0に固定され
る。次いでステップ1005では図4に示すマップから
リーン補正係数FLEANが算出され、次いでステップ
1006では図5に示すマップからリーンリミットフィ
ードバック補正係数FLLFBが読込まれる。次いでス
テップ1010では次式に基づいて燃料噴射時間TAU
が算出される。
Next, a routine for calculating the fuel injection time will be described with reference to FIG. Referring to FIG. 39, first, in step 1001, the basic fuel injection time TP is calculated from the map shown in FIG. Next, in step 1002, it is determined whether or not the operation state is such that the lean operation should be performed. When the operation state is such that the lean operation is to be performed, the routine proceeds to step 1003, where it is determined whether or not the flag XHij is set. If the flag XHij has not been set, the routine proceeds to step 1004, where the value of the stoichiometric air-fuel ratio feedback correction coefficient FAF is fixed at 1.0. Next, at step 1005, the lean correction coefficient FLEAN is calculated from the map shown in FIG. 4, and then at step 1006, the lean limit feedback correction coefficient FLLFB is read from the map shown in FIG. Next, at step 1010, the fuel injection time TAU is calculated based on the following equation.
Is calculated.

【0146】TAU=TP・FLEAN・FLLFB・
FAF+TAUV これに対し、ステップ1002においてリーン運転を行
うべき運転状態でないと判別されたとき、即ち空燃比を
理論空燃比にすべきときにはステップ1007に進んで
リーン補正係数FLEANが1.0に固定され、次いで
ステップ1008においてリーンリミットフィードバッ
ク補正係数FLLFBが1.0に固定される。次いでス
テップ1009では空燃比センサ17の出力信号に基づ
いて空燃比が理論空燃比となるように理論空燃比フィー
ドバック補正係数FAFが制御される。次いでステップ
1010に進み、燃料噴射時間TAUが算出される。
TAU = TP • FLEAN • FLLFB •
FAF + TAUV On the other hand, if it is determined in step 1002 that the operating state is not such that lean operation should be performed, that is, if the air-fuel ratio should be set to the stoichiometric air-fuel ratio, the routine proceeds to step 1007, where the lean correction coefficient FLEAN is fixed at 1.0. Next, at step 1008, the lean limit feedback correction coefficient FLLFB is fixed to 1.0. Next, at step 1009, the stoichiometric air-fuel ratio feedback correction coefficient FAF is controlled based on the output signal of the air-fuel ratio sensor 17 so that the air-fuel ratio becomes the stoichiometric air-fuel ratio. Next, the routine proceeds to step 1010, where the fuel injection time TAU is calculated.

【0147】一方、ステップ1003においてフラグX
Hijがセットされていると判別されたときにはステッ
プ1007に進み、斯くして空燃比が理論空燃比とされ
る。
On the other hand, in step 1003, the flag X
When it is determined that Hij is set, the routine proceeds to step 1007, and the air-fuel ratio is set to the stoichiometric air-fuel ratio.

【0148】[0148]

【発明の効果】機関の出力トルク変動が生じるのを阻止
することができる。
According to the present invention, it is possible to prevent the output torque of the engine from fluctuating.

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

【図1】内燃機関の全体図である。FIG. 1 is an overall view of an internal combustion engine.

【図2】基本燃料噴射時間のマップを示す図である。FIG. 2 is a diagram showing a map of a basic fuel injection time.

【図3】NOx の発生量とトルク変動を示す図である。3 is a diagram showing a generation amount and the torque fluctuation of the NO x.

【図4】リーン補正係数のマップを示す図である。FIG. 4 is a diagram showing a map of a lean correction coefficient.

【図5】リーンリミットフィードバック補正係数のマッ
プを示す図である。
FIG. 5 is a diagram showing a map of a lean limit feedback correction coefficient.

【図6】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
FIG. 6 shows elapsed times Ta (i) and T of a 30 ° crank angle.
It is a time chart which shows the change of b (i).

【図7】30°クランク角度の経過時間Ta(i)の変
化を示すタイムチャートである。
FIG. 7 is a time chart showing a change in elapsed time Ta (i) at a 30 ° crank angle.

【図8】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
FIG. 8 shows elapsed times Ta (i) and T of a 30 ° crank angle.
It is a time chart which shows the change of b (i).

【図9】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
FIG. 9 shows elapsed times Ta (i) and T of a 30 ° crank angle.
It is a time chart which shows the change of b (i).

【図10】30°クランク角度の経過時間Ta(i)の
変化を示すタイムチャートである。
FIG. 10 is a time chart showing changes in elapsed time Ta (i) at a 30 ° crank angle.

【図11】経過時間差DTa(i)とKb(i)との関
係を示す図である。
FIG. 11 is a diagram showing a relationship between elapsed time differences DTa (i) and Kb (i).

【図12】減速運転時における経過時間Ta(i)の変
化を示すタイムチャートである。
FIG. 12 is a time chart showing changes in elapsed time Ta (i) during deceleration operation.

【図13】経過時間差DTa(i)の変化を示すタイム
チャートである。
FIG. 13 is a time chart showing changes in the elapsed time difference DTa (i).

【図14】割込みルーチンを示すフローチャートであ
る。
FIG. 14 is a flowchart showing an interrupt routine.

【図15】経過時間差DTa(i)および経過時間Tb
(i)を算出するためのフローチャートである。
FIG. 15 shows an elapsed time difference DTa (i) and an elapsed time Tb.
It is a flowchart for calculating (i).

【図16】経過時間差DTa(i)および経過時間Tb
(i)を算出するためのフローチャートである。
FIG. 16 shows an elapsed time difference DTa (i) and an elapsed time Tb.
It is a flowchart for calculating (i).

【図17】KTa(i)を算出するためのフローチャー
トである。
FIG. 17 is a flowchart for calculating KTa (i).

【図18】KTb(i)を算出するためのフローチャー
トである。
FIG. 18 is a flowchart for calculating KTb (i).

【図19】トルク変動量算出の許可をチェックするため
のフローチャートである。
FIG. 19 is a flowchart for checking permission for calculating a torque fluctuation amount.

【図20】トルク変動量算出の許可をチェックするため
のフローチャートである。
FIG. 20 is a flowchart for checking permission for calculating a torque fluctuation amount.

【図21】トルク変動量算出の許可をチェックするため
のフローチャートである。
FIG. 21 is a flowchart for checking permission of calculation of a torque fluctuation amount.

【図22】経過時間差DTa(i)の変化とフラグXM
XREC,XMNRECの変化を示すタイムチャートで
ある。
FIG. 22 shows changes in elapsed time difference DTa (i) and flag XM.
It is a time chart which shows a change of XREC and XMREC.

【図23】トルク変動量を算出するためのフローチャー
トである。
FIG. 23 is a flowchart for calculating a torque fluctuation amount.

【図24】カウンタCDLNIXを処理するためのフロ
ーチャートである。
FIG. 24 is a flowchart for processing a counter CDLNIX.

【図25】種々の値の計算タイミングを示す図である。FIG. 25 is a diagram showing calculation timings of various values.

【図26】目標トルク変動値を示す図である。FIG. 26 is a diagram showing a target torque fluctuation value.

【図27】変動量判別値DH(n),DL(n)および
トルク変動レベルLVLH(n),LVLL(n)を示
す図である。
FIG. 27 is a diagram showing fluctuation amount determination values DH (n) and DL (n) and torque fluctuation levels LVLH (n) and LVLL (n).

【図28】メインルーチンを示すフローチャートであ
る。
FIG. 28 is a flowchart showing a main routine.

【図29】トルク変動値およびリーンリミットフィード
バック補正係数FLLFBを算出するためのフローチャ
ートである。
FIG. 29 is a flowchart for calculating a torque fluctuation value and a lean limit feedback correction coefficient FLLFB.

【図30】トルク変動値およびリーンリミットフィード
バック補正係数FLLFBを算出するためのフローチャ
ートである。
FIG. 30 is a flowchart for calculating a torque fluctuation value and a lean limit feedback correction coefficient FLLFB.

【図31】トルク変動値およびリーンリミットフィード
バック補正係数FLLFBを算出するためのフローチャ
ートである。
FIG. 31 is a flowchart for calculating a torque fluctuation value and a lean limit feedback correction coefficient FLLFB.

【図32】燃料噴射時間を算出するためのフローチャー
トである。
FIG. 32 is a flowchart for calculating a fuel injection time.

【図33】メインルーチンを示すフローチャートであ
る。
FIG. 33 is a flowchart showing a main routine.

【図34】トルク変動値およびリーンリミットフィード
バック補正係数FLLFBを算出するためのフローチャ
ートである。
FIG. 34 is a flowchart for calculating a torque fluctuation value and a lean limit feedback correction coefficient FLLFB.

【図35】トルク変動値およびリーンリミットフィード
バック補正係数FLLFBを算出するためのフローチャ
ートである。
FIG. 35 is a flowchart for calculating a torque fluctuation value and a lean limit feedback correction coefficient FLLFB.

【図36】リーン運転を禁止するためのフローチャート
である。
FIG. 36 is a flowchart for prohibiting lean operation.

【図37】リーン運転を禁止するためのフローチャート
である。
FIG. 37 is a flowchart for prohibiting lean operation.

【図38】設定値AMPHおよびAMPLを示す図であ
る。
FIG. 38 is a diagram showing setting values AMPH and AMPL.

【図39】燃料噴射時間を算出するためのフローチャー
トである。
FIG. 39 is a flowchart for calculating a fuel injection time.

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

3…サージタンク 4…燃料噴射弁 8…スロットル弁 14…ロータ 15…クランク角センサ 3 ... Surge tank 4 ... Fuel injection valve 8 ... Throttle valve 14 ... Rotor 15 ... Crank angle sensor

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】 機関の出力トルク変動を検出し、機関の
運転領域を複数個のリーン空燃比運転領域に分割して各
リーン空燃比運転領域に対し夫々リーン空燃比の変動許
容範囲を定め、機関の出力トルク変動が大きくなったと
きには対応する該変動許容範囲内において空燃比を小さ
くすると共に機関の出力トルク変動が小さくなったとき
には対応する該変動許容範囲内において空燃比を大きく
するようにした内燃機関において、各リーン空燃比運転
領域について空燃比が対応する変動許容範囲の下限値に
維持されているか否かを判断する判断手段を具備し、い
ずれかのリーン空燃比運転領域において空燃比が対応す
る変動許容範囲の下限値に維持されていると判断された
ときにはその後そのリーン空燃比運転領域については対
応する変動許容範囲の下限値よりも小さな空燃比とする
ようにした内燃機関の空燃比制御装置。
Detecting an output torque variation of the engine, dividing an operation region of the engine into a plurality of lean air-fuel ratio operation regions, and determining a permissible range of a lean air-fuel ratio for each lean air-fuel ratio operation region; When the output torque fluctuation of the engine increases, the air-fuel ratio is reduced within the corresponding fluctuation allowable range, and when the output torque fluctuation of the engine decreases, the air-fuel ratio is increased within the corresponding fluctuation allowable range. The internal combustion engine includes a determination unit that determines whether the air-fuel ratio is maintained at the lower limit value of the corresponding variation allowable range for each lean air-fuel ratio operation region, and the air-fuel ratio is determined in any one of the lean air-fuel ratio operation regions. When it is determined that the lower limit value of the corresponding fluctuation allowable range is maintained, the corresponding fluctuation allowable range is thereafter set for the lean air-fuel ratio operation region. An air-fuel ratio control device for an internal combustion engine, wherein the air-fuel ratio is smaller than the lower limit value of.
【請求項2】 機関の出力トルク変動を検出し、リーン
空燃比の変動許容範囲を定め、機関の出力トルク変動が
大きくなったときには該変動許容範囲内において空燃比
を小さくすると共に機関の出力トルク変動が小さくなっ
たときには該変動許容範囲内において空燃比を大きくす
るようにした内燃機関において、空燃比が変動許容範囲
の下限値に維持されているか否かを判断する判断手段を
具備し、或るリーン空燃比運転領域において空燃比が変
動許容範囲の下限値に維持されていると判断されたとき
にはその後そのリーン空燃比運転領域については変動許
容範囲の下限値よりも小さな空燃比とするようにした内
燃機関の空燃比制御装置。
2. An engine output torque variation is detected, a lean air-fuel ratio variation allowable range is determined, and when the engine output torque variation increases, the air-fuel ratio is reduced within the variation allowable range and the engine output torque is reduced. An internal combustion engine configured to increase the air-fuel ratio within the fluctuation allowable range when the fluctuation decreases, the internal combustion engine further comprising a determination unit configured to determine whether the air-fuel ratio is maintained at a lower limit value of the fluctuation allowable range; When it is determined that the air-fuel ratio is maintained at the lower limit of the allowable fluctuation range in the lean air-fuel ratio operating region, the air-fuel ratio is set to be smaller than the lower limit of the allowable fluctuation range for the lean air-fuel ratio operating region thereafter. Air-fuel ratio control device for an internal combustion engine.
JP14551497A 1997-06-03 1997-06-03 Air-fuel ratio controller for internal combustion engine Pending JPH10331685A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP14551497A JPH10331685A (en) 1997-06-03 1997-06-03 Air-fuel ratio controller for internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14551497A JPH10331685A (en) 1997-06-03 1997-06-03 Air-fuel ratio controller for internal combustion engine

Publications (1)

Publication Number Publication Date
JPH10331685A true JPH10331685A (en) 1998-12-15

Family

ID=15387010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14551497A Pending JPH10331685A (en) 1997-06-03 1997-06-03 Air-fuel ratio controller for internal combustion engine

Country Status (1)

Country Link
JP (1) JPH10331685A (en)

Similar Documents

Publication Publication Date Title
JPH02108860A (en) Control method for multi-cylinder internal combustion engine and electronic control device therefor
JPH05149188A (en) Miss-fire detecting device for multicylinder internal combustion engine
JP3303739B2 (en) Air-fuel ratio control method for internal combustion engine
US6199426B1 (en) Method of detection of output fluctuation in internal combustion engine
JP3303732B2 (en) Control device for internal combustion engine
JP3216577B2 (en) Air-fuel ratio control method for internal combustion engine
JP3262003B2 (en) Output fluctuation detection method for multi-cylinder internal combustion engine
JP2004211667A (en) Control system for internal combustion engine
JP3303669B2 (en) Air-fuel ratio control method for internal combustion engine
JP3085220B2 (en) Air-fuel ratio control method for internal combustion engine
JPH10331685A (en) Air-fuel ratio controller for internal combustion engine
JPH1182119A (en) Output control device for internal combustion engine
JP3279179B2 (en) Detection method in a multi-cylinder internal combustion engine
EP0799983B1 (en) Method of detection of angular velocity and torque in an internal combustion engine
JP3246325B2 (en) Detection method in internal combustion engine
JP3246328B2 (en) Detection method in internal combustion engine
EP0811758B1 (en) Method of controlling an air-fuel ratio of an engine
JPH1182086A (en) Method for controlling air-fuel ratio of internal combustion engine
JP3218970B2 (en) Detection method in internal combustion engine
JPH1130148A (en) Method for controlling air-fuel ratio of internal combustion engine
JPH1191409A (en) Motive power transmission control device for internal combustion engine
JP3156588B2 (en) Air-fuel ratio control method for internal combustion engine
JPH09281006A (en) Change detection method in internal-combustion engine
JPH0751929B2 (en) Ignition timing control device for internal combustion engine
JPS6153443A (en) Method of correcting amount of injection of each cylinder in electronic control diesel engine