JP3246328B2 - Detection method in internal combustion engine - Google Patents

Detection method in internal combustion engine

Info

Publication number
JP3246328B2
JP3246328B2 JP10032796A JP10032796A JP3246328B2 JP 3246328 B2 JP3246328 B2 JP 3246328B2 JP 10032796 A JP10032796 A JP 10032796A JP 10032796 A JP10032796 A JP 10032796A JP 3246328 B2 JP3246328 B2 JP 3246328B2
Authority
JP
Japan
Prior art keywords
crank angle
cylinder
angular velocity
torque
elapsed time
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.)
Expired - Fee Related
Application number
JP10032796A
Other languages
Japanese (ja)
Other versions
JPH09288043A (en
Inventor
信之 柴垣
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 JP10032796A priority Critical patent/JP3246328B2/en
Priority to DE1997622842 priority patent/DE69722842T2/en
Priority to EP19970105581 priority patent/EP0799983B1/en
Publication of JPH09288043A publication Critical patent/JPH09288043A/en
Application granted granted Critical
Publication of JP3246328B2 publication Critical patent/JP3246328B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は内燃機関における検
出方法に関する。
The present invention relates to a detection method for an internal combustion engine.

【0002】[0002]

【従来の技術】クランクシャフトが圧縮上死点後30°
から60°まで回転するのに要する時間からこの間にお
けるクランクシャフトの第1の角速度を求め、クランク
シャフトが圧縮上死点後90°から120°まで回転す
るのに要する時間からこの間におけるクランクシャフト
の第2の角速度を求め、第1の角速度の2乗と第2の角
速度の2乗から気筒が発生するトルクを求め、この発生
トルクの変動量からトルク変動量を算出するようにした
内燃機関が公知である。(特公平7−33809号公報
参照)。
2. Description of the Related Art Crankshaft is 30 ° after compression top dead center
The first angular velocity of the crankshaft during this period is determined from the time required to rotate from 60 ° to 60 °, and the first angular velocity of the crankshaft during this period is determined from the time required for the crankshaft to rotate from 90 ° to 120 ° after compression top dead center. 2. Description of the Related Art An internal combustion engine is known in which an angular velocity of 2 is obtained, a torque generated by a cylinder is obtained from a square of a first angular velocity and a square of a second angular velocity, and a torque fluctuation is calculated from a fluctuation of the generated torque. It is. (See Japanese Patent Publication No. 7-33809).

【0003】即ち、各気筒において燃焼が行われると燃
焼圧によってクランクシャフトの角速度は第1の角速度
ωaから第2の角速度ωbへ上昇せしめられる。このと
き、機関の回転慣性モーメントをIとすると燃焼圧によ
って運動エネルギが(1/2)・Iωa2 から(1/
2)・Iωb2 へ上昇せしめられる。概略的に云うとこ
の運動エネルギの上昇量(1/2)・I・(ωb2 −ω
2 )によってトルクが発生するので発生トルクは(ω
2 −ωa2 )に比例することになる。従って発生トル
クは第1の角速度ωaの2乗と第2の角速度ωbの2乗
との差から求まることになり、従って上述の内燃機関で
はこのようにして求めた発生トルクからトルク変動量を
算出するようにしている。
That is, when combustion is performed in each cylinder, the angular velocity of the crankshaft is increased from the first angular velocity ωa to the second angular velocity ωb by the combustion pressure. At this time, assuming that the rotational inertia moment of the engine is I, the kinetic energy is changed from (1/2) · Iωa 2 to (1 /
2) It is raised to Iωb 2 . Roughly speaking, the amount of increase in kinetic energy (1/2) · I · (ωb 2 −ω
a 2 ), the generated torque is (ω
b 2 −ωa 2 ). Therefore, the generated torque is obtained from the difference between the square of the first angular velocity ωa and the square of the second angular velocity ωb. Therefore, in the above-described internal combustion engine, the amount of torque fluctuation is calculated from the generated torque thus obtained. I am trying to do it.

【0004】[0004]

【発明が解決しようとする課題】ところでこのように第
1の角速度ωaおよび第2の角速度ωbから発生トルク
を正確に求めるためには第1の角速度ωaおよび第2の
角速度ωbを正確に検出しなければならない。しかしな
がら角速度は第1の角速度を検出すべきときであっても
第2の角速度を検出すべきときであっても変動を繰返し
ており、従って第1の角速度および第2の角速度を夫々
最も正確に表す値としては発生トルクを適切に検出する
ことのできるクランク角度領域内において或る程度長い
期間内における角速度の平均値を用いなければならない
ことになる。この角速度の平均値は、例えばクランクシ
ャフトが一定クランク角度回転するのに要する経過時間
を検出し、この一定クランク角度を検出された経過時間
で除算することにより算出することができる。従ってこ
の場合に正確な第1の角速度および第2の角速度を求め
るためには上述の一定クランク角度を或る程度長いクラ
ンク角度とする必要がある。
However, in order to accurately determine the generated torque from the first angular velocity ωa and the second angular velocity ωb, the first angular velocity ωa and the second angular velocity ωb are accurately detected. There must be. However, the angular velocity changes repeatedly whether the first angular velocity is to be detected or the second angular velocity is to be detected, so that the first angular velocity and the second angular velocity can be determined most accurately, respectively. As a value to be expressed, an average value of angular velocities in a certain long period in a crank angle region in which the generated torque can be appropriately detected must be used. The average value of the angular velocities can be calculated, for example, by detecting the elapsed time required for the crankshaft to rotate at a constant crank angle, and dividing the constant crank angle by the detected elapsed time. Therefore, in this case, it is necessary to set the above-mentioned constant crank angle to a somewhat longer crank angle in order to obtain accurate first and second angular velocities.

【0005】一方、機関の運転が行われると種々の次数
の捩り振動がクランクシャフトに発生し、このうちで特
に6次の捩り振動(60°クランク角度を周期とする捩
り振動)が第1の角速度ωaの検出に大きな影響を与え
る。図29はこの6次の捩り振動の振幅と機関回転数N
との関係を示している。また、図30(A)は機関回転
数Nが低いときの角速度ωの変化を示しており、図30
(B)は機関回転数Nが高いときの角速度ωの変化を示
している。図29に示されるように機関回転数Nが低い
ときには6次の捩り振動の振幅が小さく、従ってこのと
きには図30(A)に示されるように角速度ωは圧縮上
死点TDCを過ぎると燃焼圧によって比較的滑らかに上
昇する。これに対して機関回転数Nが高くなると図29
に示されるように6次の捩り振動の振幅が大きくなり、
その結果図30(B)において矢印Zで示すように角速
度ωは圧縮上死点TDCを過ぎると6次の捩り振動の影
響により一時的に大きく低下することになる。
[0005] On the other hand, when the engine is operated, various orders of torsional vibration are generated in the crankshaft, and among them, the sixth torsional vibration (torsional vibration having a cycle of 60 ° crank angle) is particularly the first. This has a great effect on the detection of the angular velocity ωa. FIG. 29 shows the amplitude of the sixth-order torsional vibration and the engine speed N.
The relationship is shown. FIG. 30A shows a change in the angular velocity ω when the engine speed N is low.
(B) shows a change in the angular velocity ω when the engine speed N is high. As shown in FIG. 29, when the engine speed N is low, the amplitude of the sixth-order torsional vibration is small. Therefore, at this time, as shown in FIG. Rises relatively smoothly. On the other hand, when the engine speed N becomes higher, FIG.
As shown in the figure, the amplitude of the sixth order torsional vibration increases,
As a result, as shown by the arrow Z in FIG. 30B, the angular velocity ω temporarily decreases greatly after the compression top dead center TDC due to the influence of the sixth-order torsional vibration.

【0006】ところがこのように6次の捩り振動の影響
によって角速度ωが低下すると第1の角速度ωaを検出
すべきクランク角度範囲の後半が6次の捩り振動による
角速度ωの低下領域の前半と重なってしまい、その結果
この6次の捩り振動の影響によって第1の角速度ωaを
正確に検出できなくなってしまうという問題を生ずる。
この問題を解決するためには第1の角速度ωaを検出す
べきクランク角度範囲を6次の捩り振動による角速度ω
の低下領域と重ならないように圧縮行程側にずらせばよ
いことになる。しかしながら第1の角速度ωaを検出す
べきクランク角度範囲を圧縮行程側にずらすとクランク
角度範囲の前半が発生トルクを検出するための第1の角
速度の検出領域として不適切なクランク角度領域と重な
ってしまい、斯くして正確な発生トルクを検出すること
ができないという問題を生ずる。
However, when the angular velocity ω decreases due to the influence of the sixth-order torsional vibration, the second half of the crank angle range in which the first angular velocity ωa is to be detected overlaps with the first half of the region where the angular velocity ω is reduced due to the sixth-order torsional vibration. As a result, there arises a problem that the first angular velocity ωa cannot be accurately detected due to the influence of the sixth-order torsional vibration.
In order to solve this problem, the crank angle range in which the first angular velocity ωa is to be detected is changed to the angular velocity ω due to the sixth order torsional vibration.
Is shifted to the compression stroke side so as not to overlap with the lowering region of the compression stroke. However, if the crank angle range where the first angular velocity ωa is to be detected is shifted toward the compression stroke, the first half of the crank angle range overlaps with the inappropriate crank angle area as the first angular velocity detection area for detecting the generated torque. As a result, there arises a problem that the generated torque cannot be detected accurately.

【0007】[0007]

【課題を解決するための手段】上記問題点を解決するた
めに1番目の発明では、圧縮上死点前25°から圧縮上
死点後10°までのクランク角度領域内に第1のクラン
ク角度範囲を設定し、圧縮上死点後45°から圧縮上死
点後100°までのクランク角度領域内に第2のクラン
ク角度範囲を設定し、該第1のクランク角度範囲を第2
のクランク角度範囲よりも小さなクランク角度に設定
し、該第1のクランク角度範囲内におけるクランクシャ
フトの第1の角速度を検出すると共に該第2のクランク
角度範囲内におけるクランクシャフトの第2の角速度を
検出し、該第1の角速度と第2の角速度の差に基づいて
気筒が発生する駆動力を求めるようにしている。即ち、
第1の角速度を検出すべきクランク角度範囲が6次の捩
り振動による角速度の低下領域と重ならずかつ第1の角
速度の検出領域として不適切なクランク角度領域とも重
ならないように第2のクランク角度領域よりも小さな
ランク角度に設定されている。
In order to solve the above-mentioned problems, the first aspect of the present invention relates to a method of increasing the compression angle from 25 ° before the compression top dead center.
The first crank angle range is set within the crank angle range up to 10 ° after dead center , and compression top dead from 45 ° after compression top dead center
A second crank angle range is set within a crank angle range up to 100 ° after the point , and the first crank angle range is set to a second crank angle range.
The crank angle is set to be smaller than the crank angle range, the first angular speed of the crankshaft within the first crank angle range is detected, and the second angular speed of the crankshaft within the second crank angle range is detected. The driving force generated by the cylinder is determined based on the difference between the first angular velocity and the second angular velocity. That is,
The second crank so that the crank angle range in which the first angular velocity is to be detected does not overlap with the area where the angular velocity is reduced due to the sixth-order torsional vibration and does not overlap with the inappropriate crank angle area as the first angular velocity detection area. The crank angle is set smaller than the angle region.

【0008】2番目の発明では、圧縮上死点前25°か
ら圧縮上死点後10°までのクランク角度領域内に第1
のクランク角度範囲を設定し、圧縮上死点後45°から
圧縮上死点後100°までのクランク角度領域内に第2
のクランク角度範囲を設定し、第1のクランク角度範囲
を第2のクランク角度範囲よりも小さなクランク角度に
設定し、第1のクランク角度範囲内におけるクランクシ
ャフトの第1の角速度を検出すると共に第2のクランク
角度範囲内におけるクランクシャフトの第2の角速度を
検出し、第1の角速度の2乗と第2の角速度の2乗の差
に基づいて気筒が発生するトルクを求めるようにしてい
る。3番目の発明では2番目の発明において、トルクを
各気筒について求め、各気筒における発生トルクの変動
からトルク変動量を算出するようにしている。
[0008] In the second aspect of the present invention, the angle of 25 ° before the compression top dead center
1 to 10 ° after compression top dead center
Set the crank angle range from 45 ° after top dead center
Second within the crank angle range up to 100 ° after compression top dead center
Of the first crank angle range
To a crank angle smaller than the second crank angle range
And set the crankshaft within the first crank angle range.
Detecting a first angular velocity of the shaft and a second crank;
The second angular velocity of the crankshaft within the angular range
The difference between the square of the first angular velocity and the square of the second angular velocity
The torque generated by the cylinder based on the
You. According to a third aspect, in the second aspect, the torque is obtained for each cylinder, and the amount of torque variation is calculated from the variation in the torque generated in each cylinder.

【0009】[0009]

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

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

【0011】サージタンク3にはサージタンク3内の絶
対圧に比例した出力電圧を発生する圧力センサ15が取
付けられ、この圧力センサ15の出力電圧が対応するA
D変換器28を介して入力ポート26に入力される。ま
た、スロットル弁7にはスロットル弁7がアイドリング
開度にあることを検出するためのアイドルスイッチ16
が取付けられ、このアイドルスイッチ16の出力信号が
入力ポート26に入力される。また、排気マニホルド8
内には空燃比を検出するための空燃比センサ(O2 セン
サ)17が配置されており、この空燃比センサ17の出
力信号が対応するAD変換器28を介して入力ポート2
6に入力される。一方、出力ポート27は対応する駆動
回路29を介して各燃料噴射弁4に接続される。
A pressure sensor 15 for generating an output voltage proportional to the absolute pressure in the surge tank 3 is attached to the surge tank 3, and the output voltage of the pressure sensor 15 corresponds to A
The data is input to the input port 26 via the D converter 28. The throttle valve 7 has an idle switch 16 for detecting that the throttle valve 7 is at the idling opening.
The output signal of the idle switch 16 is input to the input port 26. Also, the exhaust manifold 8
An air-fuel ratio sensor (O 2 sensor) 17 for detecting an air-fuel ratio is arranged in the inside, and an output signal of the air-fuel ratio sensor 17 is supplied to an input port 2 via a corresponding AD converter 28.
6 is input. On the other hand, the output port 27 is connected to each fuel injection valve 4 via the corresponding drive circuit 29.

【0012】図1に示す内燃機関では燃料噴射時間TA
Uが次式に基づいて算出される。 TAU=TP・FLEAN・FLLFB・FAF+TA
UV ここでTPは基本燃料噴射時間を、FLEANはリーン
補正係数を、FLLFBはリーンリミットフィードバッ
ク補正係数を、FAFは理論空燃比フィードバック補正
係数を、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 ・ FLEAN ・ FLLFB ・ FAF + TA
UV Here, TP indicates a basic fuel injection time, FLEAN indicates a lean correction coefficient, FLLFB indicates a lean limit feedback correction coefficient, FAF indicates a stoichiometric air-fuel ratio feedback correction coefficient, and TAUV indicates an invalid injection time.

【0013】基本燃料噴射時間TPは空燃比を理論空燃
比とするのに必要な噴射時間を示している。この基本燃
料噴射時間TPは実験により求められ、この基本燃料噴
射時間TPはサージタンク3内の絶対圧PMおよび機関
回転数Nの関数として図2に示すマップの形で予めRO
M22内に記憶されている。リーン補正係数FLEAN
は空燃比を目標リーン空燃比とするための補正係数であ
り、このリーン補正係数FLEANはサージタンク3内
の絶対圧PMおよび機関回転数Nの関数として図4に示
すマップの形で予めROM22内に記憶されている。
The basic fuel injection time TP indicates the injection time required to make the air-fuel ratio the stoichiometric air-fuel ratio. The basic fuel injection time TP is determined by an experiment. The basic fuel injection time TP is determined in advance in the form of a map shown in FIG. 2 as a function of the absolute pressure PM in the surge tank 3 and the engine speed N.
It is stored in M22. 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 stored in the ROM 22 in advance in the form of a map shown in FIG. 4 as a function of the absolute pressure PM in the surge tank 3 and the engine speed N. Is stored in

【0014】リーンリミットフィードバック補正係数F
LLFBは空燃比をリーン限界に維持するための補正係
数である。本発明による実施例ではサージタンク3内の
絶対圧PMと機関回転数Nに対してリーン空燃比フィー
ドバック制御に対する学習領域が図5に示されるように
例えば9つの領域に分けられており、各学習領域に対し
て夫々リーンリミットフィードバック補正係数FLLF
11〜FLLFB33が設定されている。
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 absolute pressure PM in the surge tank 3 and the engine speed N is divided into, for example, nine regions as shown in FIG. Lean limit feedback correction coefficient FLLF for each area
B 11 to FLLFB 33 are set.

【0015】理論空燃比フィードバック補正係数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.

【0016】図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 in this operating region, the air-fuel ratio becomes equal to the target lean air-fuel ratio. Will be maintained. 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 is to 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.

【0017】一方、空燃比を目標リーン空燃比に維持す
べきときには理論空燃比フィードバック補正係数FAF
が1.0に固定され、即ち空燃比センサ17の出力信号
に基づくフィードバック制御が停止され、リーン補正係
数FLEANとリーンリミットフィードバック補正係数
FLLFBとにより空燃比が目標リーン空燃比に制御さ
れる。
On the other hand, when the air-fuel ratio should be maintained at the target 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 air-fuel ratio is controlled to the target lean air-fuel ratio by the lean correction coefficient FLEAN and the lean limit feedback correction coefficient FLLFB.

【0018】次に図3を参照しつつリーンリミットフィ
ードバック制御について説明する。図3は機関出力トル
ク変動量およびNOx発生量と空燃比との関係を示して
いる。空燃比がリーンになるほど燃料消費率は小さくな
り、また空燃比がリーンになるほどNOxの発生量が少
なくなる。従ってこれらの点からみると空燃比はできる
だけリーンにすることが好ましいことになる。ところが
空燃比が或る程度以上リーンになると燃焼が不安定とな
り、その結果図3に示されるようにトルク変動量が大き
くなる。そこで本発明による実施例では図3に示される
ようにトルク変動が増大し始める空燃比制御領域内に空
燃比を維持するようにしている。
Next, the lean limit feedback control will be described with reference to FIG. FIG. 3 shows the relationship between the engine output torque fluctuation amount, the NOx generation amount, and the air-fuel ratio. The leaner the air-fuel ratio, the lower the fuel consumption rate, and the leaner the air-fuel ratio, the smaller the amount of NOx generated. 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.

【0019】即ち具体的に云うとリーン補正係数FLE
ANはリーンリミットフィードバック補正係数FLLF
BをFLLFB=1.0としたときに空燃比が図3に示
される空燃比制御領域の中央部となるように定められて
いる。一方、リーンリミットフィードバック補正係数F
LLFBはトルク変動量に応じて図3に示されるトルク
変動制御領域内において制御され、トルク変動量が大き
くなればリーンリミットフィードバック補正係数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 in accordance with the torque fluctuation amount, and when the torque fluctuation amount becomes large, 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.

【0020】なお、図4と図5とを比較すればわかるよ
うにリーンリミットフィードバック補正係数FLLFB
はリーン補正係数FLEANが定められている機関運転
領域とほぼ同じ領域に対して設定されている。トルク変
動量が図3に示されるトルク変動制御領域内に制御され
ると良好な車両の運転性を確保しつつ燃料消費率および
NOxの発生量を大巾に低減することができる。ただ
し、このようにトルク変動量をトルク変動制御領域内に
制御するためにはトルク変動量を検出しなければなら
ず、トルク変動量を検出するためにはトルクを検出しな
ければならないことになる。
As can be seen by comparing FIG. 4 and FIG. 5, the lean limit feedback correction coefficient FLLFFB
Is set for a region substantially the same as the engine operation region in which the lean correction coefficient FLEAN is determined. When the torque variation is controlled within the torque variation control region shown in FIG. 3, it is possible to significantly reduce the fuel consumption rate and the amount of NOx generated while ensuring good vehicle drivability. However, in order to control the torque variation within the torque variation control region, the torque variation must be detected, and in order to detect the torque variation, the torque must be detected. .

【0021】ところで各気筒の出力トルクを算出する方
法は従来より種々の方法が提案されている。即ち、各気
筒の出力トルクを算出することができればこの算出され
た出力トルクを用いて上述の如きリーン空燃比制御がで
きるばかりでなく、その他種々の制御を行うことができ
るので各気筒の出力トルクを算出する最良の方法を見い
出すことには重要な意味があり、従って従来より各気筒
の出力トルクを算出するための種々の方法が提案されて
いる。代表的な例を挙げると燃焼室内に燃焼圧センサを
取付けてこの燃焼圧センサの出力信号に基づき出力トル
クを算出する方法や、或いは冒頭で述べたように第1の
角速度ωaの2乗と第2の角速度ωbの2乗との差から
出力トルクを算出する方法が挙げられる。
Various methods have been conventionally proposed for calculating the output torque of each cylinder. That is, if the output torque of each cylinder can be calculated, not only the lean air-fuel ratio control as described above can be performed using the calculated output torque, but also various other controls can be performed. It is important to find the best method for calculating the output torque. Therefore, various methods for calculating the output torque of each cylinder have been conventionally proposed. A typical example is a method of mounting a combustion pressure sensor in a combustion chamber and calculating an output torque based on an output signal of the combustion pressure sensor, or, as described at the beginning, the square of the first angular velocity ωa and the second. A method of calculating the output torque from the difference between the square of the angular velocity ωb of 2 and the square is used.

【0022】燃焼圧センサを用いると燃焼圧センサを取
付けた気筒が発生するトルクを確実に検出することがで
きるという利点がある反面、燃焼圧センサが必要である
という欠点を有している。これに対して角速度ωa,ω
bは従来より内燃機関が備えているクランク角センサの
出力信号から算出することができるので角速度ωa,ω
bに基づき出力トルクを算出するようにした場合には新
たなセンサを設ける必要がないという利点がある。この
場合、新たなセンサを必要としない角速度に基づくトル
ク算出方法の方が好ましいことは明らかであり、従って
本発明による実施例では角速度に基づいてトルクを算出
するようにしている。
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, the angular velocities ωa, ω
b can be calculated from the output signal of the crank angle sensor provided in the internal combustion engine, so that the angular velocities ωa, ω
When the output torque is calculated based on b, there is an advantage that it is not necessary to provide a new sensor. In this case, it is clear that the torque calculation method based on the angular velocity that does not require a new sensor is obviously preferable. Therefore, in the embodiment according to the present invention, the torque is calculated based on the angular velocity.

【0023】ところで第1の角速度ωaおよび第2の角
速度ωbから発生トルクを正確に求めるためには第1の
角速度ωaおよび第2の角速度ωbを正確に検出しなけ
ればならない。しかしながら冒頭で述べたように角速度
は第1の角速度ωaを検出すべきときであっても第2の
角速度ωbを検出すべきときであっても変動を繰返して
おり、従って第1の角速度ωaおよび第2の角速度ωb
を夫々最も正確に表す値としては発生トルクを適切に検
出することのできるクランク角度領域内において或る程
度長い期間内における角速度の平均値を用いなければな
らないことになる。本発明による実施例ではこの角速度
の平均値は、クランクシャフトが一定クランク角度回転
するのに要する経過時間を検出し、この一定クランク角
度を検出された経過時間で除算することにより算出する
ようにしており、従って本発明による実施例において正
確な第1の角速度ωaおよび第2の角速度ωbを求める
ためには上述の一定クランク角度を或る程度長いクラン
ク角度とする必要がある。
Incidentally, in order to accurately determine the generated torque from the first angular velocity ωa and the second angular velocity ωb, the first angular velocity ωa and the second angular velocity ωb must be accurately detected. However, as described at the beginning, the angular velocity repeatedly changes regardless of whether the first angular velocity ωa is to be detected or the second angular velocity ωb is to be detected. Second angular velocity ωb
Have to be used as the values that most accurately represent the average values of the angular velocities within a certain long period in the crank angle region where the generated torque can be appropriately detected. In the embodiment according to the present invention, the average value of the angular velocities is calculated by detecting the elapsed time required for the crankshaft to rotate at a constant crank angle, and dividing the constant crank angle by the detected elapsed time. Therefore, in the embodiment according to the present invention, it is necessary to set the above-mentioned constant crank angle to a somewhat longer crank angle in order to obtain accurate first angular velocity ωa and second angular velocity ωb.

【0024】しかしながらこのように角速度を検出する
ための一定クランク角度を或る程度長いクランク角度に
すると別の問題を生ずる場合がある。例えば図29およ
び図30(A),(B)を参照しつつ冒頭で説明したよ
うに角速度を検出するためのクランク角度範囲を長くす
ると第1の角速度ωaを検出すべき角度範囲の後半が6
次の捩り振動による角速度ωの低下領域の前半と重なっ
てしまい、その結果この6次の捩り振動の影響によって
第1の角速度ωaを正確に検出できなくなってしまうと
いう問題を生ずる。この場合、この問題を解決するため
には第1の角速度ωaを検出すべきクランク角度範囲を
6次の捩り振動による角速度ωの低下領域と重ならない
ように圧縮行程側にずらせばよいことになる。しかしな
がら第1の角速度ωaを検出すべきクランク角度範囲を
圧縮行程側にずらすと今度はクランク角度範囲の前半が
発生トルクを検出するための第1の角速度の検出領域と
して不適切なクランク角度領域と重なってしまい、斯く
して正確な発生トルクを検出することができないという
問題を生ずる。
However, if the constant crank angle for detecting the angular velocity is set to a somewhat longer crank angle, another problem may occur. For example, if the crank angle range for detecting the angular velocity is increased as described at the beginning with reference to FIGS. 29 and 30A and 30B, the latter half of the angular range for detecting the first angular velocity ωa is 6
The first angular velocity ωa cannot be accurately detected due to the influence of the sixth-order torsional vibration because of the overlap with the first half of the region where the angular velocity ω decreases due to the next torsional vibration. In this case, in order to solve this problem, the crank angle range in which the first angular velocity ωa is to be detected may be shifted to the compression stroke side so as not to overlap with the area where the angular velocity ω is reduced by the sixth-order torsional vibration. . However, if the crank angle range in which the first angular velocity ωa is to be detected is shifted to the compression stroke side, then the first half of the crank angle range becomes an inappropriate crank angle area as the first angular velocity detection area for detecting the generated torque. This causes a problem that the generated torque cannot be detected accurately.

【0025】そこで本発明による実施例では第1の角速
度ωaを検出すべきクランク角度範囲を第2の角速度ω
bを検出すべきクランク角度範囲よりも小さなクランク
角度に設定している。本発明による実施例において用い
られている具体例で言うと第1の角速度 ωaを検出す
べきクランク角度範囲は圧縮上死点前(以下BTDCと
称す)20°から圧縮上死点後(以下ATDCと称す)
10°までの30°クランク角度とされ、第2の角速度
ωbを検出すべきクランク角度範囲はATDC50°か
らATDC100°までの50°クランク角度とされて
いる。
Therefore, in the embodiment according to the present invention, the crank angle range in which the first angular velocity ωa is to be detected is set to the second angular velocity ωa.
b is set to a crank angle smaller than the crank angle range to be detected. In a specific example used in the embodiment according to the present invention, the crank angle range in which the first angular velocity ωa is to be detected is from 20 ° before the compression top dead center (hereinafter, referred to as BTDC) to after the compression top dead center (hereinafter, ATDC). Is called)
The crank angle is a 30 ° crank angle up to 10 °, and the crank angle range for detecting the second angular velocity ωb is a 50 ° crank angle from 50 ° ATDC to 100 ° ATDC.

【0026】このように第1の角速度ωaを検出すべき
クランク角度範囲を第2の角速度ωbを検出すべきクラ
ンク角度範囲よりも小さなクランク角度に設定すると第
1の角速度ωaを検出すべきクランク角度範囲が6次の
捩り振動による角速度の低下領域と重ならず、しかも第
1の角速度の検出領域として不適切なクランク角度領域
とも重ならないので第2の角速度ωbはもとより、第1
の角速度ωaも正確に検出できることになる。
As described above, when the crank angle range in which the first angular velocity ωa is to be detected is set to a smaller crank angle than the crank angle range in which the second angular velocity ωb is to be detected, the crank angle at which the first angular velocity ωa is to be detected is set. Since the range does not overlap with the region where the angular velocity is reduced due to the sixth order torsional vibration and does not overlap with the crank angle region that is inappropriate as the first angular velocity detection region, the first angular velocity ωb as well as the second angular velocity ωb is used.
Can be accurately detected.

【0027】なお、6次の捩り振動が発生する場合以外
でも、第1の角速度ωaおよび第2の角速度ωbを正確
に検出するために第1の角速度ωaを検出すべきクラン
ク角度範囲の大きさと第2の角速度ωbを検出すべきク
ランク角度範囲の大きさとを異なる大きさに設定しなけ
ればならない場合が存在する。例えば第2の角速度ωb
を検出すべきタイミングとクランク角センサ14がロー
タ13の欠歯部分に対面するタイミングとが重なる場合
には第2の角速度ωbを正確に検出するために第2の角
速度ωbを検出すべきクランク角度範囲が第1の角速度
ωaを検出すべきクランク角度範囲よりも大きなクラン
ク角度とされる。
In addition to the case where the sixth order torsional vibration is generated, the size of the crank angle range in which the first angular velocity ωa is to be detected in order to accurately detect the first angular velocity ωa and the second angular velocity ωb. There are cases where the magnitude of the crank angle range in which the second angular velocity ωb is to be detected must be set to a different magnitude. For example, the second angular velocity ωb
When the timing at which the second angular velocity ωb is detected overlaps the timing at which the crank angle sensor 14 faces the missing tooth portion of the rotor 13, the crank angle at which the second angular velocity ωb is to be detected in order to accurately detect the second angular velocity ωb The range of the crank angle is larger than the range of the crank angle in which the first angular velocity ωa is to be detected.

【0028】次に各気筒が発生する駆動力および各気筒
が発生するトルクを算出するための方法を具体例に基づ
いて説明する。まず初めに、定常運転時を示す図6
(A),(B)を参照しつつ各気筒が発生する駆動力お
よび各気筒が発生するトルクを算出する方法について説
明する。前述したようにクランク角センサ14はクラン
クシャフトが10°クランク角度回転する毎に出力パル
スを発生し、更にクランク角センサ14は各気筒#1,
#2,#3,#4の圧縮上死点(以下TDCと称す)に
おいて出力パルスを発生するように配置されている。従
ってクランク角センサ14は各気筒#1,#2,#3,
#4のTDCから10°クランク角毎に出力パルスを発
生することになる。なお、本発明において用いられてい
る内燃機関の点火順序は1−3−4−2である。
Next, a method for calculating the driving force generated by each cylinder and the torque generated by each cylinder will be described based on specific examples. First of all, FIG.
A method of calculating the driving force generated by each cylinder and the torque generated by each cylinder will be described with reference to (A) and (B). As described above, the crank angle sensor 14 generates an output pulse every time the crankshaft rotates by 10 ° crank angle.
It is arranged to generate an output pulse at the compression top dead center (hereinafter referred to as TDC) of # 2, # 3, and # 4. Accordingly, the crank angle sensor 14 determines whether each of the cylinders # 1, # 2, # 3
An output pulse is generated from the # 4 TDC every 10 ° crank angle. The ignition sequence of the internal combustion engine used in the present invention is 1-3-4-2.

【0029】図6(A),(B)の実線は、破線で区切
られた各クランク角度範囲内をクランクシャフトが回転
するのに要する時間をクランクシャフトが30°クラン
ク角度回転するのに要する時間に換算したときの経過時
間を示している。即ち、図6(A),(B)においてT
a(i)はi番気筒のBTDC20°からATDC10
°までの30°クランク角度の経過時間T30を示して
おり、これに対してTb(i)はi番気筒のATDC5
0°からATDC100°までの50°クランク角度の
経過時間T50を30°クランク角度の経過時間に換算
した時間、即ち50°クランク角度の経過時間T50の
3/5倍を示している。従って例えばTa(1)は1番
気筒のBTDC20°からATDC10°までの経過時
間を示しており、Tb(1)は1番気筒のATDC50
°からATDC100°までの経過時間の3/5倍を示
していることになる。一方、破線で区切られた各クラン
ク角度をその経過時間で除算するとこの除算結果は角速
度ωを表わしている。本発明による実施例では30°ク
ランク角度/Ta(i)をi番気筒における第1の角速
度ωaと称し、30°クランク角度/Tb(i)をi番
気筒における第2の角速度ωbと称する。従って30°
クランク角度/Ta(1)は1番気筒の第1の角速度ω
aを表わし、30°クランク角度/Tb(1)は1番気
筒の第2の角速度ωbを表わすことになる。
The solid lines in FIGS. 6A and 6B indicate the time required for the crankshaft to rotate within each crank angle range defined by the broken line, and the time required for the crankshaft to rotate by 30 ° crank angle. It shows the elapsed time when converted to. That is, in FIGS. 6A and 6B, T
a (i) is BTDC20 ° to ATDC10 of the i-th cylinder.
, The elapsed time T30 of the 30 ° crank angle up to 30 ° is shown, whereas Tb (i) is the ATDC5 of the i-th cylinder.
It shows the time obtained by converting the elapsed time T50 of the 50 ° crank angle from 0 ° to 100 ° ATDC into the elapsed time of the 30 ° crank angle, that is, 3/5 times the elapsed time T50 of the 50 ° crank angle. Therefore, for example, Ta (1) indicates the elapsed time from BTDC20 ° of the first cylinder to ATDC10 °, and Tb (1) indicates the ATDC50 of the first cylinder.
This indicates that the elapsed time from °° to 100 ° ATDC is / times. On the other hand, when each crank angle divided by a broken line is divided by the elapsed time, the division result indicates the angular velocity ω. In the embodiment according to the present invention, the 30 ° crank angle / Ta (i) is referred to as a first angular velocity ωa in the i-th cylinder, and the 30 ° crank angle / Tb (i) is referred to as a second angular velocity ωb in the i-th cylinder. Therefore 30 °
Crank angle / Ta (1) is the first angular velocity ω of the first cylinder
and 30 ° crank angle / Tb (1) indicates the second angular velocity ωb of the first cylinder.

【0030】図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)
から気筒の発生する駆動力を算出することができる。
Looking at the first cylinder in FIGS. 6A and 6B, when the combustion is started 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.

【0031】一方、機関の回転慣性モーメントを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.

【0032】このように第1の角速度ωaと第2の角速
度ωbを検出すればこれらの検出値から対応する気筒の
発生する駆動力および対応する気筒の発生するトルクを
算出できることになる。なお、図6(A),(B)に示
される経過時間の変化は機関によって若干異なり、従っ
て第1の角速度ωaを検出すべきクランク角度範囲およ
び第2の角速度ωbを検出すべきクランク角度範囲は機
関に応じて(ωb−ωa)が機関の発生する駆動力を最
もよく表わすように、或いは(ωb2 −ωa2)が機関
の発生するトルクを最もよく表わすように定められる。
従って機関によっては第1の角速度ωaを検出すべき角
度範囲が圧縮上死点前BTDC25°からATDC5°
であり、第2の角速度ωbを検出すべきクランク角度範
囲がATDC45°からATDC95°となることもあ
り得る。
By detecting the first angular velocity ωa and the second angular velocity ωb as described above, 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 shown in FIGS. 6A and 6B slightly differ depending on the engine, and therefore, the crank angle range in which the first angular velocity ωa is to be detected and the crank angle range in which the second angular velocity ωb is to be detected. , as expressed according to (ωb-ωa) best driving force is generated in the engine to the engine, or (ωb 2 -ωa 2) is determined to represent best the torque generated by the engine.
Therefore, depending on the engine, the angle range in which the first angular velocity ωa should be detected is from BTDC 25 ° before compression top dead center to ATDC 5 °.
Therefore, the crank angle range in which the second angular velocity ωb is to be detected may be from 45 ° ATDC to 95 ° ATDC.

【0033】従って各角速度ωa,ωbの検出のしかた
について一般的に表現すると、圧縮行程末期から爆発行
程初期までのクランク角度領域内に第1のクランク角度
範囲を設定し、第1のクランク角度範囲から一定のクラ
ンク角を隔てた爆発行程中期のクランク角度領域内に第
2のクランク角度範囲を設定し、第1のクランク角度範
囲内におけるクランクシャフトの第1の角速度ωaを検
出し、第2のクランク角度範囲内におけるクランクシャ
フトの第2の角速度ωbを検出するということになる。
Therefore, in general terms, how to detect each of the angular velocities ωa and ωb is as follows. The first crank angle range is set in the crank angle range from the end of the compression stroke to the beginning of the explosion stroke. 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, This means that the second angular velocity ωb of the crankshaft within the crank angle range is detected.

【0034】このようにして第1の角速度ωaおよび第
2の角速度ωbを求めれば各気筒が発生する駆動力およ
びトルクを正確に検出することができる。しかしながら
このようにして第1の角速度ωaおよび第2の角速度ω
bを求めても例えば機関駆動系が捩り振動したときには
角速度ωa,ωbに基づき算出された発生トルクが真の
発生トルクを表わさなくなる。即ち、機関駆動系に捩り
振動が発生していないときには第2の角速度ωbは第1
の角速度ωaに対して燃焼圧による角速度増大分だけ増
大する。これに対して機関駆動系に捩り振動が発生する
と第2の角速度ωbは燃焼圧による角速度増大分に加
え、第1の角速度ωaを検出してから第2の角速度ωb
を検出するまでの間における機関駆動系の捩り振動によ
る角速度の変化分を含むことになる。例えば第1の角速
度ωaを検出してから第2の角速度ωbを検出するまで
の間に機関駆動系の捩り振動により角速度が増大したと
すると第1の角速度ωaに対する第2の角速度ωbの増
大分は燃焼圧による角速度増大分に加え、機関駆動系の
捩り振動による角速度増大分を含むことになる。従って
この場合には第2の角速度ωbから機関駆動系の捩り振
動による角速度増大分を差し引かない限り、第1の角速
度ωaの2乗と第2の角速度ωbの2乗との差は発生ト
ルクを表わしていないことになる。次にこのことについ
て図7および図8を参照しつつ説明する。
By determining the first angular velocity ωa and the second angular velocity ωb in this manner, the driving force and torque generated by each cylinder can be accurately detected. However, in this manner, the first angular velocity ωa and the second angular velocity ω
Even if b is obtained, for example, when the engine drive system undergoes torsional vibration, the generated torque calculated based on the angular velocities ωa and ωb does not represent the true generated torque. That is, when no torsional vibration occurs in the engine drive system, the second angular velocity ωb is equal to the first angular velocity ωb.
Is increased by an amount corresponding to the increase in angular velocity due to the combustion pressure. On the other hand, when torsional vibration occurs in the engine drive system, the second angular velocity ωb is added to the angular velocity increase due to the combustion pressure, and the second angular velocity ωb is detected after detecting the first angular velocity ωa.
Until the time is detected, the change in angular velocity due to torsional vibration of the engine drive system is included. For example, if the angular velocity increases due to torsional vibration of the engine drive system between the time when the first angular velocity ωa is detected and the time when the second angular velocity ωb is detected, the increase in the second angular velocity ωb with respect to the first angular velocity ωa Includes the increase in angular velocity due to torsional vibration of the engine drive system in addition to the increase in angular velocity due to combustion pressure. Therefore, in this case, the difference between the square of the first angular velocity ωa and the square of the second angular velocity ωb is the generated torque unless the increase in the angular velocity due to the torsional vibration of the engine drive system is subtracted from the second angular velocity ωb. It is not represented. Next, this will be described with reference to FIGS.

【0035】図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.

【0036】一方、図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 the 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.

【0037】即ち、Tb(1)はTa(1)に対して経
過時間が減少するがこの減少した経過時間は燃焼圧によ
る経過時間の減少量fと捩り振動による経過時間の減少
量hとを含んでいることになる。従って燃焼圧により減
少した経過時間Tb′(1)だけを求めるためにはTb
(1)にhを加算しなければならないことになる。即
ち、気筒間における経過時間Ta(i)が減少した場合
(Ta(1)→Ta(3))において燃焼圧により減少
した経過時間Tb′(1)だけを求めるためには検出さ
れた経過時間Tb(1)を増大方向に補正しなければな
らないことになる。云い換えると気筒間において第1の
角速度ωaが増大したときには先に燃焼が行われた気筒
の第2の角速度ωbを減少方向に補正しなければならな
いことになる。
That is, Tb (1) decreases the elapsed time with respect to Ta (1), and the decreased elapsed time is determined by the decrease amount f of the elapsed time due to the combustion pressure and the decrease amount h due to the torsional vibration. Will be included. Therefore, to obtain only the elapsed time Tb '(1) reduced by the combustion pressure, Tb
H must be added to (1). That is, when the elapsed time Ta (i) between the cylinders decreases (Ta (1) → Ta (3)), only the elapsed time Tb ′ (1) reduced by the combustion pressure is detected. Tb (1) must be corrected in the increasing direction. In other words, when the first angular velocity ωa increases between the cylinders, the second angular velocity ωb of the cylinder in which combustion has been performed first must be corrected in a decreasing direction.

【0038】これに対しTa(1)に対してTa(3)
が増大したときにはTa(1)に対して減少した経過時
間Tb(1)は燃焼圧による経過時間の減少量と捩り振
動による経過時間の増大量とを含んでいる。従ってこの
場合、燃焼圧により減少した経過時間Tb′(1)だけ
を求めるためにはTb(1)から捩り振動による経過時
間の増大量を減算しなければならない。即ち、気筒間に
おける経過時間Ta(i)が増大した場合において燃焼
圧により減少した経過時間Tb′(1)だけを求めるた
めには検出された経過時間Tb(1)を減少方向に補正
しなければならないことになる。云い換えると気筒間に
おいて第1の角速度ωaが減少したときには先に燃焼が
行われた気筒の第2の角速度ωbを増大方向に補正しな
ければならないことになる。
On the other hand, for Ta (1), Ta (3)
When the time has increased, the elapsed time Tb (1), which has decreased with respect to Ta (1), includes the decrease in the elapsed time due to the combustion pressure and the increase in the elapsed time due to the torsional vibration. Therefore, in this case, in order to obtain only the elapsed time Tb '(1) reduced by the combustion pressure, the amount of increase in the elapsed time due to torsional vibration must be subtracted from Tb (1). That is, in order to obtain only the elapsed time Tb '(1) reduced by the combustion pressure when the elapsed time Ta (i) between the cylinders increases, the detected elapsed time Tb (1) must be corrected in the decreasing direction. Must be done. In other words, when the first angular velocity ωa decreases between the cylinders, the second angular velocity ωb of the cylinder in which combustion has been performed first must be corrected in the increasing direction.

【0039】上述したように第2の角速度ωbを補正す
ることによって機関駆動系に捩り振動が発生したとして
も第1の角速度ωaと第2の角速度ωbとの差(ωb−
ωa)から各気筒が発生する駆動力を正確に算出するこ
とができ、第1の角速度ωaの2乗と第2の角速度ωb
の2乗との差(ωb2 −ωa2 )から各気筒が発生する
トルクを正確に算出することができる。ところがロータ
13(第1図)の外周に沿って形成されている外歯の間
隔にばらつきがあると上述したように第2の角速度ωb
を補正したとしても各気筒が発生する駆動力およびトル
クを正確に検出することができない。次にこのことにつ
いて図9を参照しつつ説明する。
As described above, even if torsional vibration occurs in the engine drive system by correcting the second angular velocity ωb, the difference between the first angular velocity ωa and the second angular velocity ωb (ωb−
ωa), the driving force generated by each cylinder can be accurately calculated, and the square of the first angular velocity ωa and the second angular velocity ωb
The torque generated by each cylinder can be accurately calculated from the difference (ωb 2 −ωa 2 ) from the square of. However, if there is a variation in the interval between the external teeth formed along the outer periphery of the rotor 13 (FIG. 1), as described above, the second angular velocity ωb
However, the driving force and the torque generated by each cylinder cannot be accurately detected even if is corrected. Next, this will be described with reference to FIG.

【0040】図9は1番気筒#1のBTDC20°を示
すロータ13の外歯とATDC10°を示すロータ13
の外歯との間隔が他の外歯間の間隔よりも短かい場合を
示している。この場合には図8と図9とを比較すればわ
かるように経過時間Ta(1)が30°クランク角度に
対する正規の経過時間に比べて小さくなってしまう。ま
た、このとき図8と図9とを比較すればわかるように捩
り振動による経過時間の減少量h′は正規の減少量hと
比べて小さくなり、従って燃焼圧により減少した経過時
間だけを表わすTb′(1)の値も正規の値に対して小
さくなってしまう。
FIG. 9 shows the external teeth of the rotor 13 indicating the BTDC 20 ° of the first cylinder # 1 and the rotor 13 indicating the ATDC 10 °.
The case where the distance between the external teeth is shorter than the distance between the other external teeth. In this case, as can be seen by comparing FIGS. 8 and 9, the elapsed time Ta (1) is smaller than the normal elapsed time for the 30 ° crank angle. Also, at this time, as can be seen by comparing FIG. 8 and FIG. 9, the decrease amount h ′ of the elapsed time due to the torsional vibration is smaller than the normal decrease amount h, and therefore represents only the elapsed time decreased by the combustion pressure. The value of Tb '(1) is also smaller than the normal value.

【0041】そこで本発明による実施例では機関駆動系
に捩り振動が発生しない減速運転時の燃料供給停止時に
全気筒の経過時間Ta(i)の平均値Ta(i)mと各
気筒の経過時間Ta(i)との比KTa(i)(=Ta
(i)m/Ta(i))および全気筒の経過時間Tb
(i)の平均値Tb(i)mと各気筒の経過時間Tb
(i)との比KTb(i)(=Tb(i)m/Tb
(i))を求め、燃料が供給されているときに各気筒に
ついて実際に検出された経過時間Ta(i)に比KTa
(i)を乗算することによって各気筒に対する最終的な
経過時間Ta(i)を求め、各気筒について実際に検出
された経過時間Tb(i)に比KTb(i)を乗算する
ことによって各気筒に対する最終的な経過時間Tb
(i)を求めるようにしている。
Therefore, in the embodiment according to the present invention, the average value Ta (i) m of the elapsed time Ta (i) of all the cylinders and the elapsed time of each cylinder when the fuel supply is stopped during the deceleration operation in which no torsional vibration occurs in the engine drive system. Ratio KTa (i) to Ta (i) (= Ta)
(I) m / Ta (i)) and elapsed time Tb of all cylinders
Average value Tb (i) m of (i) and elapsed time Tb of each cylinder
Ratio KTb (i) to (i) (= Tb (i) m / Tb
(I)), and the ratio KTa is compared with the elapsed time Ta (i) actually detected for each cylinder while fuel is being supplied.
(I) is multiplied to obtain the final elapsed time Ta (i) for each cylinder, and each cylinder is multiplied by the ratio KTb (i) to the elapsed time Tb (i) actually detected for each cylinder. Elapsed time Tb for
(I) is obtained.

【0042】従って例えば上述したように1番気筒#1
について実際に検出された経過時間Ta(1)が正規の
経過時間に比べて短かい場合には比KTa(1)は1.
0よりも大きくなり、斯くして実際の検出経過時間Ta
(1)に比KTa(1)を乗算することによって得られ
る最終的な経過時間Ta(1)は正規の経過時間Ta
(1)にかなり近づくことになる。また、このようにし
て得られた最終的な経過時間Ta(i)に基いて捩り振
動による経過時間の減少量hを求めればこの減少量hは
正規の減少量にほぼ一致することになり、斯くして燃焼
圧により減少した経過時間だけを表わすTb′(1)の
値もほぼ正規の値を示すことになる。このように本発明
による実施例ではロータ13の外歯の間隔にばらつきが
あったとしても各気筒の発生する駆動力およびトルクを
正確に検出することができる。
Accordingly, for example, as described above, the first cylinder # 1
If the elapsed time Ta (1) actually detected is shorter than the normal elapsed time, the ratio KTa (1) becomes 1.
0, and thus the actual detection elapsed time Ta
The final elapsed time Ta (1) obtained by multiplying (1) by the ratio KTa (1) is the regular elapsed time Ta.
It will be quite close to (1). Further, if the amount of decrease h of the elapsed time due to torsional vibration is obtained based on the final elapsed time Ta (i) obtained in this way, the amount of decrease h substantially coincides with the normal amount of decrease. Thus, the value of Tb '(1) representing only the elapsed time reduced by the combustion pressure also shows a substantially regular value. As described above, in the embodiment according to the present invention, the driving force and the torque generated by each cylinder can be accurately detected even if the interval between the external teeth of the rotor 13 varies.

【0043】一方、各気筒に対するTa(i)は車両が
凸凹道を走行したときにも変動し、しかもこのときには
Ta(i)の変動巾が極めて大きくなる場合がある。図
10は車両が凸凹道を走行したときのTa(i)の変動
を示しており、図10のAMPは最小のTa(i)と最
大のTa(i)との差、即ち振幅を示している。この振
幅AMPが小さいときにはこれまで述べた方法によって
図8に示すhを算出すれば燃焼圧により減少した経過時
間だけを表わすTb′(i)の値を正確に検出すること
ができる。
On the other hand, Ta (i) for each cylinder fluctuates even when the vehicle travels on an uneven road, and at this time, the fluctuation range of Ta (i) may become extremely large. FIG. 10 shows the variation of Ta (i) when the vehicle travels on an uneven road, and AMP in FIG. 10 shows the difference between the minimum Ta (i) and the maximum Ta (i), that is, the amplitude. I have. When the amplitude AMP is small, the value of Tb '(i) representing only the elapsed time reduced by the combustion pressure can be accurately detected by calculating h shown in FIG. 8 by the method described above.

【0044】しかしながら振幅AMPが大きくなるとT
a(i)が最大又は最小となる気筒が発生する駆動力又
はトルクを正確に検出できなくなる。即ち、図10にお
いて例えば最初にTa(i)が最大になる気筒が1番気
筒であったとすると1番気筒#1のTb′(1)を算出
するための捩り振動による減少量hは図10のTa
(1)とTa(3)とを結ぶ破線の傾きから求められ
る。しかしながら1番気筒#1がTDCとなる付近では
捩り振動による経過時間の増大量又は減少量はTa
(2),Ta(1),Ta(3)を通る滑らかな曲線で
変化しており、従って1番気筒#1のTb(1)に対す
る減少量hの値をTa(1)とTa(3)とを結ぶ破線
の傾きから求めるとこの減少量hの値は実際の値よりも
かなり大きく計算される。その結果、Tb′(1)が正
規の値を示さなくなり、斯くして気筒が発生する駆動力
およびトルクを正確に検出できなくなる。振幅AMPが
大きくなるとTa(i)が最小となる気筒においても同
じことが生ずる。
However, when the amplitude AMP increases, T
The driving force or torque generated by the cylinder in which a (i) becomes maximum or minimum cannot be accurately detected. That is, assuming that, for example, in FIG. 10, for example, the first cylinder having the maximum Ta (i) is the first cylinder, the reduction amount h due to torsional vibration for calculating Tb ′ (1) of the first cylinder # 1 is shown in FIG. Ta
It is obtained from the slope of the broken line connecting (1) and Ta (3). However, in the vicinity where the first cylinder # 1 becomes TDC, the amount of increase or decrease of the elapsed time due to torsional vibration is Ta.
(2), changes in a smooth curve passing through Ta (1) and Ta (3). Therefore, the value of the reduction amount h of the first cylinder # 1 with respect to Tb (1) is Ta (1) and Ta (3). ), The value of the decrease h is calculated to be considerably larger than the actual value. As a result, Tb '(1) does not show a regular value, and thus the driving force and torque generated by the cylinder cannot be accurately detected. When the amplitude AMP increases, the same occurs in a cylinder where Ta (i) is minimized.

【0045】また、一つ前に燃焼が行われた気筒のTa
(i)に対してTa(i)が急変した気筒においてもh
の値が実際の値からずれ、斯くして気筒が発生する駆動
力およびトルクを正確に検出できなくなる。そこで本発
明による実施例では振幅AMPが大きいときにはTa
(i)が最大又は最小となる気筒については駆動力又は
トルクを求めず、更に一つ前に行われた気筒Ta(i)
に対してTa(i)が急変した気筒についても駆動力又
はトルクを求めないようにしている。
The Ta of the cylinder in which combustion was performed immediately before
Even in a cylinder where Ta (i) changes rapidly with respect to (i), h
Is deviated from the actual value, so that the driving force and torque generated by the cylinder cannot be accurately detected. Therefore, in the embodiment according to the present invention, when the amplitude AMP is large, Ta
No driving force or torque is obtained for the cylinder in which (i) is the maximum or minimum, and the cylinder Ta (i) that was performed immediately before is not calculated.
On the other hand, the driving force or the torque is not determined for the cylinder in which Ta (i) is suddenly changed.

【0046】次に図11から図21を参照しつつ各気筒
が発生するトルクを求めるためのルーチンについて説明
する。なお、図21は各ルーチンにおいて行われる各値
の計算タイミングを示している。図11はBTDC20
°,ATDC10°,ATDC50°およびATDC1
00°において行われる割込みルーチンを示している。
図11を参照するとまず初めに経過時間Ta(i),T
b(i)を算出するためのルーチン(ステップ100)
に進む。このルーチンは図12に示されている。次いで
トルクの算出を許可するか否かをチェックするためのル
ーチン(ステップ200)に進む。このルーチンは図1
3から図15に示されている。次いでトルクを算出する
ためのルーチン(ステップ300)に進む。このルーチ
ンは図17に示されている。次いで比KTa(i),K
Tb(i)を算出するためのルーチン(ステップ40
0)に進む。このルーチンは図18および図19に示さ
れている。次いでトルク変動値の算出に用いるカウンタ
CDLNIXの処理ルーチン(ステップ500)に進
む。このルーチンは図20に示されている。
Next, a routine for obtaining the torque generated by each cylinder will be described with reference to FIGS. FIG. 21 shows the calculation timing of each value performed in each routine. FIG. 11 shows a BTDC20
°, ATDC10 °, ATDC50 ° and ATDC1
9 shows an interrupt routine performed at 00 °.
Referring to FIG. 11, first, the elapsed times Ta (i), T
Routine for calculating b (i) (step 100)
Proceed to. This routine is shown in FIG. Next, the routine proceeds to a routine (step 200) for checking whether to permit the calculation of the torque. This routine is shown in FIG.
3 to 15 are shown. Next, the routine proceeds to a routine for calculating the torque (step 300). This routine is shown in FIG. Then the ratio KTa (i), K
Routine for calculating Tb (i) (step 40)
Go to 0). This routine is shown in FIGS. Next, the process proceeds to a processing routine (step 500) of the counter CDLNIX used for calculating the torque fluctuation value. This routine is shown in FIG.

【0047】経過時間Ta(i),Tb(i)の算出ル
ーチンを示す図12を参照すると、まず初めにステップ
101において時刻TIMEがTIMEOとされる。電
子制御ユニット20は時刻を表わすフリーランカウンタ
を備えており、このフリーランカウンタのカウント値か
ら時刻が算出される。次いでステップ102では現在の
時刻が取込まれる。従ってステップ101のTIMEO
は前回割込みが行われたときの、即ちBTDC20°又
はATDC10°又はATDC50°又はATDC10
0°における時刻を表わしていることになる。
Referring to FIG. 12 showing a routine for calculating the elapsed times Ta (i) and Tb (i), first, at step 101, the time TIME is set to TIMEO. The electronic control unit 20 includes a free-run counter that indicates the time, and the time is calculated from the count value of the free-run counter. Next, at step 102, the current time is acquired. Therefore, the TIMEO of step 101
Is the time when the interrupt was last performed, that is, BTDC20 ° or ATDC10 ° or ATDC50 ° or ATDC10
This represents the time at 0 °.

【0048】次いでステップ103では現在i番気筒の
ATDC10°であるか否かが判別される。現在i番気
筒のATDC10°でない場合にはステップ106にジ
ャンプして現在i番気筒のATDC100°であるか否
かが判別される。現在i番気筒のATDC100°でな
い場合には経過時間Ta(i),Tb(i)の算出ルー
チンを完了する。
Next, in step 103, it is determined whether or not the ATDC of the i-th cylinder is 10 °. If it is not the ATDC of the i-th cylinder, the process jumps to step 106 to determine whether or not the ATDC of the i-th cylinder is 100 °. When the ATDC of the i-th cylinder is not 100 °, the routine for calculating the elapsed times Ta (i) and Tb (i) is completed.

【0049】これに対してステップ103において現在
i番気筒のATDC10°であると判別されたときには
ステップ104に進んで次式に基づきi番気筒のBTD
C20°からATDC10°までの最終的な経過時間T
a(i)が算出される。 Ta(i)=KTa(i)・(TIME−TIMEO) ここでTIMEOはBTDC20°における時刻を表わ
している。
On the other hand, if it is determined in step 103 that the ATDC of the i-th cylinder is currently 10 °, the routine proceeds to step 104, where the BTD of the i-th cylinder is calculated based on the following equation.
Final elapsed time T from C20 ° to ATDC10 °
a (i) is calculated. Ta (i) = KTa (i) · (TIME−TIMEO) Here, TIMEO represents a time at BTDC 20 °.

【0050】即ち、例えば現在1番気筒#1のATDC
10°であるとすると1番気筒#1のBTDC20°か
らATDC10°までの最終的な経過時間Ta(1)が
KTa(1)・(TIME−TIMEO)から算出され
る。ここで(TIME−TIMEO)はクランク角セン
サ14により実測された30°クランク角度の経過時間
Ta(1)を表わしており、KTa(1)はロータ13
の外歯間隔による誤差を補正するための比であり、従っ
て(TIME−TIMEO)にKTa(1)を乗算する
ことによって得られた最終的な経過時間Ta(1)はク
ランクシャフトが30°クランク角度回転する間の経過
時間を正確に表わしていることになる。
That is, for example, the ATDC of the current cylinder # 1
If it is 10 °, the final elapsed time Ta (1) from BTDC 20 ° to ATDC 10 ° of the first cylinder # 1 is calculated from KTa (1) · (TIME-TIMEO). Here, (TIME-TIMEO) represents the elapsed time Ta (1) of the 30 ° crank angle actually measured by the crank angle sensor 14, and KTa (1) is the rotor 13
Is the ratio for correcting the error due to the external tooth interval of the crankshaft. Therefore, the final elapsed time Ta (1) obtained by multiplying (TIME-TIMEO) by KTa (1) is a value obtained by multiplying the crankshaft by 30 ° crank angle. The elapsed time during the angular rotation is accurately represented.

【0051】次いでステップ105では一つ前に燃焼が
行われた(i−1)番気筒の発生トルクを算出すべきこ
とを示すフラグXCAL(i−1)がセット(XCAL
(i−1)←“1”)される。本発明による実施例では
前述したように点火順序が1−3−4−2であるので現
在1番気筒#1のATDC10°であるとすると一つ前
に燃焼が行われた2番気筒#2の発生トルクを算出すべ
きことを示すフラグXCAL(2)がセットされる。同
様に図21に示される如く最終的な経過時間Ta(3)
が算出されるとフラグXCAL(1)がセットされ、最
終的な経過時間Ta(4)が算出されるとフラグXCA
L(3)がセットされ、最終的な経過時間Ta(2)が
算出されるとフラグXCAL(4)がセットされる。
Next, at step 105, a flag XCAL (i-1) indicating that the generated torque of the (i-1) th cylinder in which combustion was performed immediately before should be calculated is set (XCAL).
(I-1) ← “1”) is performed. In the embodiment according to the present invention, as described above, since the ignition order is 1-3-4-2, assuming that the ATDC of the first cylinder # 1 is 10 ° at present, the second cylinder # 2 in which the combustion was performed immediately before # 1. A flag XCAL (2) indicating that the generated torque should be calculated is set. Similarly, as shown in FIG. 21, the final elapsed time Ta (3)
Is calculated, the flag XCAL (1) is set, and when the final elapsed time Ta (4) is calculated, the flag XCAL (1) is set.
When L (3) is set and the final elapsed time Ta (2) is calculated, the flag XCAL (4) is set.

【0052】一方、ステップ106において現在i番気
筒のATDC100°であると判別されたときにはステ
ップ107に進んで次式に基づきi番気筒のATDC5
0°からATDC100°までの50°クランク角度の
経過時間を30°クランク角度の経過時間に換算した最
終的な経過時間Tb(i)が算出される。 Tb(i)=3/5・KTb(i)・(TIME−TI
MEO) ここでTIMEOはATDC50°における時刻を表わ
している。
On the other hand, when it is determined in step 106 that the ATDC of the i-th cylinder is 100 °, the process proceeds to step 107, where the ATDC5 of the i-th cylinder is calculated based on the following equation.
The final elapsed time Tb (i) is calculated by converting the elapsed time at 50 ° crank angle from 0 ° to 100 ° ATDC into the elapsed time at 30 ° crank angle. Tb (i) = 3/5 · KTb (i) · (TIME−TI
MEO) Here, TIMEO represents the time at 50 ° ATDC.

【0053】即ち、例えば現在1番気筒#1のATDC
100°であるとすると1番気筒#1の最終的な経過時
間Tb(1)が3/5・KTb(1)・(TIME−T
IMEO)から算出される。ここで(TIME−TIM
EO)はクランク角センサ14により実測された50°
クランク角度の経過時間を表わしており、KTb(1)
はロータ13の外歯間隔による誤差を補正するための比
であり、従って(TIME−TIMEO)に3/5およ
びKTb(1)を乗算することによって得られた最終的
な経過時間Tb(1)はクランクシャフトが30°クラ
ンク角度回転する間の経過時間を正確に表わしているこ
とになる。
That is, for example, the ATDC of the current cylinder # 1
If it is 100 °, the final elapsed time Tb (1) of the first cylinder # 1 is 3/5 · KTb (1) · (TIME-T
IMEO). Here (TIME-TIM
EO) is 50 ° actually measured by the crank angle sensor 14.
It represents the elapsed time of the crank angle, and KTb (1)
Is the ratio for correcting the error due to the external tooth spacing of the rotor 13, and therefore the final elapsed time Tb (1) obtained by multiplying (TIME-TIMEO) by 3/5 and KTb (1). Will accurately represent the elapsed time during which the crankshaft rotates by 30 ° crank angle.

【0054】次に図13から図15に示されるトルク算
出許可チェックルーチンについて図16を参照しつつ説
明する。このルーチンは車両が凸凹道を走行することに
よりTa(i)の変動の振幅AMP(図10)が大きく
なったときには特定の気筒についてのトルクの算出を禁
止するために設けられている。即ち、図13から図15
を参照すると、まず初めにステップ201において現在
いずれかの気筒のATDC10°であるか否かが判別さ
れる。現在いずれかの気筒のATDC10°でないとき
には処理サイクルを完了し、現在いずれかの気筒のAT
DC10°であるときにはステップ202に進む。
Next, the torque calculation permission check routine shown in FIGS. 13 to 15 will be described with reference to FIG. This routine is provided to prohibit the calculation of the torque for a specific cylinder when the amplitude AMP (FIG. 10) of the variation in Ta (i) increases due to the vehicle traveling on an uneven road. That is, FIGS.
First, in step 201, it is determined whether or not ATDC of any of the cylinders is currently 10 degrees. If the ATDC of any of the cylinders is not 10 °, the processing cycle is completed, and the ATDC of any of the cylinders is completed.
When it is DC 10 °, the process proceeds to step 202.

【0055】ステップ202からステップ204では経
過時間Ta(i)が増大し次いで減少する際の最大経過
時間T30maxが算出される。即ち、ステップ202
では図12に示すルーチンにおいて算出されたTa
(i)が最大経過時間T30maxよりも大きいか否か
が判別される。T30max>Ta(i)のときにはス
テップ205にジャンプし、これに対してT30max
≦Ta(i)のときにはステップ203に進んでTa
(i)がT30maxとされる。次いでステップ204
ではTa(i)が増大していることを示す増大フラグX
MXRECがセット(XMXREC←“1”)され、次
いでステップ205に進む。
In steps 202 to 204, a maximum elapsed time T30max when the elapsed time Ta (i) increases and then decreases is calculated. That is, step 202
Now, Ta calculated in the routine shown in FIG.
It is determined whether (i) is greater than the maximum elapsed time T30max. When T30max> Ta (i), the process jumps to step 205, and in contrast, T30max
If ≤ Ta (i), the routine proceeds to step 203, where Ta
(I) is T30max. Then step 204
Now, an increase flag X indicating that Ta (i) is increasing
MXREC is set (XMXREC ← “1”), and then the routine proceeds to step 205.

【0056】ステップ205からステップ207では経
過時間Ta(i)が減少し次いで増大する際の最小経過
時間T30minが算出される。即ち、ステップ205
では図12に示すルーチンにおいて算出されたTa
(i)が最小経過時間T30minよりも小さいか否かが
判別される。T30min<Ta(i)のときにはステ
ップ208にジャンプし、これに対してT30min≧
Ta(i)のときにはステップ206に進んでTa
(i)がT30minとされる。次いでステップ207
ではTa(i)が減少していることを示す減少フラグX
MNRECがセット(XMNREC←“1”)され、次
いでステップ208に進む。
In steps 205 to 207, the minimum elapsed time T30min when the elapsed time Ta (i) decreases and then increases is calculated. That is, step 205
Now, Ta calculated in the routine shown in FIG.
It is determined whether (i) is smaller than the minimum elapsed time T30min. If T30min <Ta (i), the routine jumps to step 208, whereas T30min ≧ Ta (i).
In the case of Ta (i), the process proceeds to step 206 and Ta
(I) is T30min. Next, step 207
Now, a decrease flag X indicating that Ta (i) is decreasing
NMREC is set (XMNREC ← “1”), and then the process proceeds to step 208.

【0057】ステップ208からステップ214ではT
a(i)の変動の振幅AMP(図10)が設定値A0
越えたときにはTa(i)が最大となった気筒について
のトルクの算出を禁止する禁止フラグがセットされる。
即ち、ステップ208ではT30max>Ta(i)で
かつXMXREC=“1”であるか否かが判別される。
T30max≦Ta(i)であるか、又は増大フラグX
MXRECがリセット(XMXREC=“0”)されて
いるときにはステップ215にジャンプし、これに対し
てT30max>Ta(i)でかつXMXREC=
“1”のときにはステップ209に進む。
In steps 208 to 214, T
prohibition flag when a magnitude of the fluctuation of (i) AMP (Fig. 10) exceeds the set value A 0 is the Ta (i) prohibits the calculation of the torque of the cylinder becomes maximum is set.
That is, in step 208, it is determined whether or not T30max> Ta (i) and XMXREC = "1".
T30max ≦ Ta (i) or the increase flag X
When MXREC is reset (XMXREC = "0"), the routine jumps to step 215, where T30max> Ta (i) and XMXREC =
When it is “1”, the process proceeds to step 209.

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

【0059】ステップ209では最大経過時間T30m
axがMXRECとされる。次いでステップ210で
は最大経過時間TMXRECから最小経過時間TMNR
EC(後述するステップ216で求められる)を減算す
ることによってTa(i)の変動の振幅AMPが算出さ
れる。次いでステップ211では最小経過時間T30m
inの初期値がTa(i)とされる。次いでステップ2
12では増大フラグXMXRECがリセット(XMXR
EC←“0”)される。次いでステップ213では振幅
AMPが設定値A0 よりも大きいか否かが判別される。
AMP<A0 のときにはステップ215にジャンプす
る。これに対してAMP≧A0 のときにはステップ21
4に進んでトルク算出禁止フラグXNOCALがセット
(XNOCAL←“1”)される。即ち、図16の時刻
2 において行われる割込みルーチンでは前述したよう
に1番気筒#1の発生トルクが算出される。従ってこの
割込みルーチンにおいてAMP≧A0 となり、トルク算
出禁止フラグXNOCALがセットされると1番気筒#
1の発生トルクの算出、即ち、Ta(i)が最大となる
気筒の発生トルクの算出が禁止される。
In step 209, the maximum elapsed time T30m
ax is set to T MXREC. Next, at step 210, the minimum elapsed time TMNR is calculated from the maximum elapsed time TMXREC.
The amplitude AMP of the fluctuation of Ta (i) is calculated by subtracting EC (determined in step 216 described later). Next, at step 211, the minimum elapsed time T30m
The initial value of in is set to Ta (i). Then step 2
12, the increase flag XMXREC is reset (XMXR
EC ← “0”). Next, at step 213 whether the amplitude AMP is greater than the set value A 0 is judged.
At the time of the AMP <A 0 jumps to step 215. On the other hand, when AMP ≧ A 0 , step 21
The program proceeds to step 4, where a torque calculation inhibition flag XNOCAL is set (XNOCAL ← “1”). That is, the generated torque of the first cylinder # 1 as described above is calculated in the interruption routine performed at the time t 2 in FIG. 16. Therefore, in this interrupt routine, when AMP ≧ A 0 and the torque calculation inhibition flag XNOCAL is set, the first cylinder #
The calculation of the generated torque of 1, that is, the calculation of the generated torque of the cylinder in which Ta (i) becomes the maximum is prohibited.

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

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

【0062】ステップ216では最小経過時間T30m
inがTMNRECとされる。次いでステップ217で
は最大経過時間TMXRECから最小経過時間TMNR
ECを減算することによってTa(i)の変動の振幅A
MPが算出される。次いでステップ218では最大経過
時間T30maxの初期値がTa(i)とされる。次い
でステップ219では減少フラグXMNRECがリセッ
ト(XMNREC←“0”)される。次いでステップ2
20では振幅AMPが設定値A0 よりも大きいか否かが
判別される。AMP<A0 のときにはステップ222に
ジャンプする。これに対してAMP≧A0 のときにはス
テップ221に進んでトルク算出禁止フラグXNOCA
Lがセット(XNOCAL←“1”)される。即ち、図
16の時刻t4 において行われる割込みルーチンでは1
番気筒#1の発生トルクが算出される。従ってこの割込
みルーチンにおいてAMP≧A0 となり、トルク算出禁
止フラグXNOCALがセットされると1番気筒#1の
発生トルクの算出、即ち、Ta(i)が最小となる気筒
の発生トルクの算出が禁止される。
In step 216, the minimum elapsed time T30m
in is set to TMNREC. Next, at step 217, the minimum elapsed time TMNR is calculated from the maximum elapsed time TMXREC.
By subtracting the EC, the amplitude A of the variation of Ta (i)
MP is calculated. Next, at step 218, the initial value of the maximum elapsed time T30max is set to Ta (i). Next, at step 219, the decrease flag XMNREC is reset (XMNREC ← “0”). Then step 2
20 the amplitude AMP whether large is determined than the set value A 0. At the time of the AMP <A 0 jumps to step 222. On the other hand, when AMP ≧ A 0, the routine proceeds to step 221, where the torque calculation prohibition flag XNOCA
L is set (XNOCAL ← “1”). That is, 1 is in the interruption routine performed at the time t 4 in FIG. 16
The generated torque of cylinder # 1 is calculated. Thus next AMP ≧ A 0 In this interruption routine, when the torque calculation prohibition flag XNOCAL is set determining of the first cylinder # 1 of the generated torque, i.e., the calculation of the generated torque of the cylinder Ta (i) is minimum forbidden Is done.

【0063】ステップ222およびステップ223では
経過時間Ta(i)が急変した気筒についてのトルクの
算出が禁止される。即ち、ステップ222では|Ta
(i−2)−Ta(i−1)|がKOTa(i−
1)−Ta(i)|よりも大きいか否かが判別される。
ここで定数KO は3.0から4.0程度の値である。ス
テップ222において|Ta(i−2)−Ta(i−
1)|<KO ・|Ta(i−1)−Ta(i)|である
と判別されたときには処理ルーチンを完了し、|Ta
(i−2)−Ta(i−1)|≧KO ・|Ta(i−
1)−Ta(i)|であると判別されたときにはステッ
プ223に進んでトルク算出禁止フラグXNOCALが
セットされる。
In steps 222 and 223, the calculation of the torque for the cylinder whose elapsed time Ta (i) has suddenly changed is prohibited. That is, in step 222, | Ta
(I-2) -Ta (i-1) | is K O · | Ta (i-
1) It is determined whether it is larger than -Ta (i) |.
Here, the constant K O is a value of about 3.0 to 4.0. In step 222, | Ta (i-2) -Ta (i-
1) | <K O · | Ta (i-1) -Ta (i) | when it is determined that the completed processing routine, | Ta
(I-2) −Ta (i−1) | ≧ K O · | Ta (i−
1) When it is determined that -Ta (i) |, the routine proceeds to step 223, where the torque calculation inhibition flag XNOCAL is set.

【0064】即ち、今図16の時刻t3 における割込み
ルーチンであるとするとこのときには|Ta(4)−T
a(2)|がKO ・|Ta(2)−Ta(1)|よりも
大きいか否かが判別される。図16に示されるようにT
a(4)に対してTa(2)が急変すると|Ta(4)
−Ta(2)|はKO ・|Ta(2)−Ta(1)|よ
りも大きくなる。このときトルク算出禁止フラグがセッ
トされ、経過時間Ta(i)が急変した2番気筒#2の
トルクの算出が禁止される。
[0064] That is, at this time and that the interrupt routine at time t 3 of now to FIG. 16 | Ta (4) -T
It is determined whether or not a (2) | is larger than K O · | Ta (2) −Ta (1) |. As shown in FIG.
When Ta (2) changes suddenly with respect to a (4), | Ta (4)
−Ta (2) | is larger than K O · | Ta (2) −Ta (1) |. At this time, the torque calculation prohibition flag is set, and the calculation of the torque of the second cylinder # 2 in which the elapsed time Ta (i) has suddenly changed is prohibited.

【0065】次に図17に示すトルク算出ルーチンにつ
いて説明する。図17を参照すると、まず初めにステッ
プ301において一つ前に燃焼が行われた(i−1)番
気筒の発生トルクを算出すべきことを示すフラグXCA
L(i−1)がセットされているか否かが判別される。
フラグXCAL(i−1)=“0”のとき、即ちフラグ
XCAL(i−1)がセットされていないときには処理
サイクルを完了する。これに対してフラグXCAL(i
−1)=“1”のとき、即ちフラグXCAL(i−1)
がセットされているときにはステップ302に進んでフ
ラグXCAL(i−1)がリセットされ、次いでステッ
プ303に進む。
Next, the torque calculation routine shown in FIG. 17 will be described. Referring to FIG. 17, first, in step 301, a flag XCA indicating that the generated torque of the (i-1) th cylinder in which combustion was performed immediately before should be calculated.
It is determined whether L (i-1) 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 XCAL (i
-1) = "1", that is, the flag XCAL (i-1)
Is set, the process proceeds to step 302, where the flag XCAL (i-1) is reset, and then proceeds to step 303.

【0066】ステップ303では一つ前に燃焼が行われ
た気筒についてのトルクの算出を禁止する禁止フラグX
NOCALがリセット(XNOCAL=“0”)されて
いるか否かが判別される。この禁止フラグがセット(X
NOCAL=“1”)されているときにはステップ31
0に進んで禁止フラグXNOCALがリセットされる。
これに対して禁止フラグがリセットされているときには
ステップ304に進む。即ち、フラグXCALがセット
されており、かつ禁止フラグXNOCALがリセットさ
れているときのみ304に進む。
In step 303, a prohibition flag X for prohibiting the calculation of the torque for the cylinder in which combustion was performed immediately before.
It is determined whether or not NOCAL is reset (XNOCAL = “0”). When this prohibition flag is set (X
If NOCAL = “1”), step 31
Proceeding to 0, 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 304 only when the flag XCAL is set and the prohibition flag XNOCAL is reset.

【0067】ステップ304では次式に基づいて機関駆
動系の捩り振動に基づく経過時間の変動値h(図8)が
算出される。 h={Ta(i−1)−Ta(i)}・80/180 即ち、図8からわかるように経過時間の変動値hはhO
(=Ta(i−1)−Ta(i))の九分の四となる。
次いでステップ305では次式に基いて燃焼圧により減
少した経過時間だけを表わすTb′(i−1)が算出さ
れる。
In step 304, the variation value h (FIG. 8) of the elapsed time based on the torsional vibration of the engine drive system is calculated based on the following equation. h = {Ta (i-1 ) -Ta (i)} · 80/180 i.e., variation value h of the elapsed time as can be seen from FIG. 8 h O
(= Ta (i-1) -Ta (i)).
Next, at step 305, Tb '(i-1) representing only the elapsed time reduced by the combustion pressure is calculated based on the following equation.

【0068】Tb′(i−1)=Tb(i−1)+h 即ち、1番気筒#1についてのTb′(1)を求める場
合にはh={Ta(1)−Ta(3)}・80/180
となり、Tb′(1)=Tb(1)+hとなる。また、
3番気筒#3についてのTb′(3)を求める場合には
h={Ta(3)−Ta(4)}・80/180とな
り、Tb′(3)=Tb(3)+hとなる。
Tb '(i-1) = Tb (i-1) + h That is, when obtaining Tb' (1) for the first cylinder # 1, h = {Ta (1) -Ta (3)}.・ 80/180
And Tb '(1) = Tb (1) + h. Also,
When Tb ′ (3) for the third cylinder # 3 is obtained, h = {Ta (3) −Ta (4)} · 80/180, and Tb ′ (3) = Tb (3) + h.

【0069】次いでステップ306では一つ前に燃焼が
行われた気筒の発生トルクDN(i−1)が次式に基づ
いて算出される。 DN(i−1)=ωb2 −ωa2 =(30°/Tb′
(i−1))2 −(30°/Ta(i−1))2 この発生トルクDN(i−1)は機関駆動系の捩り振動
による影響およびロータ13の外歯の間隔のばらつきに
よる影響が取除かれたトルクを表わしており、従ってこ
の発生トルクDN(i−1)は燃焼圧により発生する真
のトルクを表わしていることになる。
Next, at step 306, the generated torque DN (i-1) of the cylinder in which combustion was performed immediately before is calculated based on the following equation. DN (i-1) = ωb 2 -ωa 2 = (30 ° / Tb '
(I-1)) 2- (30 ° / Ta (i-1)) 2 The generated torque DN (i-1) is affected by torsional vibration of the engine drive system and by variation in the interval between the external teeth of the rotor 13. Represents the torque removed, and therefore the generated torque DN (i-1) represents the true torque generated by the combustion pressure.

【0070】なお、各気筒が発生する駆動力GN(i−
1)を求める場合にはこの駆動力GN(i−1)は次式
に基づいて算出することができる。 GN(i−1)=(30°/Tb′(i−1))−(3
0°/Ta(i−1)) ステップ306において発生トルクDN(i−1)が算
出されるとステップ307に進んで次式に基づき同一気
筒の1サイクルの間におけるトルク変動量DLN(i−
1)が算出される。
The driving force GN (i−i) generated by each cylinder
When determining 1), the driving force GN (i-1) can be calculated based on the following equation. GN (i−1) = (30 ° / Tb ′ (i−1)) − (3
0 ° / Ta (i−1)) When the generated torque DN (i−1) is calculated in step 306, the process proceeds to step 307, and the torque fluctuation amount DLN (i−) during one cycle of the same cylinder is calculated based on the following equation.
1) is calculated.

【0071】 DLN(i−1)=DN(i−1)j−DN(i−1) ここでDN(i−1)jはDN(i−1)に対して一サ
イクル(720°クランク角度)前の同一気筒の発生ト
ルクを表わしている。次いでステップ308ではトルク
変動量DLN(i−1)が正であるか否かが判別され
る。DLN(i−1)≧0であればステップ310にジ
ャンプして一つ前に燃焼が行われた気筒のトルク変動量
DLN(i−1)を積算すべきことを示す積算要求フラ
グXCDLN(i−1)がセット(XCDLN(i−
1)←“1”)される。これに対してDLN(i−1)
<0であればステップ309に進んでDLN(i−1)
が0とされ、次いでステップ310に進む。なお、各気
筒のトルクは上昇と低下を繰返し、この場合トルク変動
量を求めるにはトルクの上昇分かトルクの減少分のいず
れかを積算すればよい。図17に示すルーチンではトル
クの減少分のみを積算するようにしており、従って上述
したようにDLN(i−1)<0のときにはDLN(i
−1)を0にしている。
DLN (i-1) = DN (i-1) j-DN (i-1) Here, DN (i-1) j is one cycle (720 ° crank angle) with respect to DN (i-1). ) Represents the generated torque of the same cylinder before. Next, at step 308, it is determined whether or not the torque fluctuation amount DLN (i-1) is positive. If DLN (i−1) ≧ 0, the process jumps to step 310 to indicate that an integration request flag XCDLN (i) indicating that the torque fluctuation amount DLN (i−1) of the cylinder in which combustion was performed immediately before should be integrated. -1) is set (XCDLN (i-
1) ← “1”) is performed. On the other hand, DLN (i-1)
If <0, the process proceeds to step 309 and DLN (i-1)
Is set to 0, and then the routine 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. 17, only the amount of decrease in torque is integrated. Therefore, as described above, when DLN (i-1) <0, DLN (i
-1) is set to 0.

【0072】次に図18および図19を参照しつつ比K
Ta(i),KTb(i)を算出するためのルーチンに
ついて説明する。図18および図19を参照すると、ま
ず初めにステップ401において減速運転中に燃料の供
給が停止されたか否か、即ち燃料カット中であるか否か
が判別される。燃料カット中でなければステップ415
に進んで経過時間Ta(i),Tb(i)の積算値ΣT
a(i),ΣTb(i)がクリアされ、次いで処理サイ
クルを完了する。これに対して燃料カット中であるとき
にはステップ402に進んでトルク算出許可チェックル
ーチンにおいて算出された振幅AMPが設定値B0より
も大きいか否かが判別される。AMP>B0 のときには
ステップ415に進み、これに対してAMP≦B0 のと
きにはステップ403に進む。
Next, referring to FIG. 18 and FIG.
A routine for calculating Ta (i) and KTb (i) will be described. Referring to FIGS. 18 and 19, first, at step 401, it is determined whether or not the supply of fuel is stopped during the deceleration operation, that is, whether or not the fuel is being cut. If not during fuel cut, step 415
And the integrated value ΔT of the elapsed times Ta (i) and Tb (i)
a (i), ΔTb (i) are cleared, and then the processing cycle is completed. This whether when fuel is being cut amplitude AMP calculated in the torque calculation permission check routine is larger than the set value B 0 the routine proceeds to step 402 is determined relative to. When AMP> B 0, the process proceeds to step 415, whereas when AMP ≦ B 0 , the process proceeds to step 403.

【0073】ステップ403からステップ408ではK
Ta(i)が算出される。即ち、ステップ403では各
気筒について夫々対応する経過時間Ta(i)が積算値
ΣTa(i)に加算される。例えばTa(1)がΣTa
(1)に加算され、Ta(2)がΣTa(2)に加算さ
れる。次いでステップ404では各気筒に対するTa
(i)が夫々n回積算されたか否かが判別される。n回
積算されていないときにはステップ409にジャンプ
し、n回積算されるとステップ405に進む。ステップ
405では各気筒の積算値ΣTa(i)の平均値Ma
(={ΣTa(1)+ΣTa(2)+ΣTa(3)+Σ
Ta(4)}/4)が算出される。次いでステップ40
6では各気筒について夫々補正値α(i)(=Ma/Σ
Ta(i))が算出される。次いでステップ407では
次式に基づいて比KTa(i)が更新される。
In steps 403 to 408, K
Ta (i) is calculated. That is, in step 403, the elapsed time Ta (i) corresponding to each cylinder is added to the integrated value ΣTa (i). For example, if Ta (1) is ΣTa
(1) is added, and Ta (2) is added to ΣTa (2). Next, at step 404, Ta for each cylinder
It is determined whether or not (i) has been integrated n times. When the integration is not performed n times, the process jumps to step 409. When the integration is performed n times, the process proceeds to step 405. In step 405, the average value Ma of the integrated value ΣTa (i) of each cylinder
(= {Ta (1) + {Ta (2) + {Ta (3) +})
Ta (4)} / 4) is calculated. Then step 40
6, the correction value α (i) (= Ma / に つ い て) for each cylinder
Ta (i)) is calculated. Next, at step 407, the ratio KTa (i) is updated based on the following equation.

【0074】KTa(i)←KTa(i)+{α(i)
−KTa(i)}/4 このようにして各気筒に対する比KTa(1),KTa
(2),KTa(3),KTa(4)が算出される。例
えばα(1)がこれまで用いられていたKTa(1)よ
りも大きくなったとするとα(1)とKTa(1)との
差{α(1)−KTa(1)}の1/4がKTa(1)
に加算され、斯くしてKTa(1)はα(1)に徐々に
近づくことになる。ステップ407において各気筒に対
するKTa(i)が算出されるとステップ408に進ん
で各気筒に対する積算値ΣTa(i)がクリアされる。
KTa (i) ← KTa (i) + {α (i)
−KTa (i)} / 4 Thus, the ratio KTa (1), KTa for each cylinder
(2), KTa (3), and KTa (4) are calculated. For example, if α (1) is larger than KTa (1) used up to now, one-fourth of the difference {α (1) −KTa (1)} between α (1) and KTa (1) is KTa (1)
, And KTa (1) gradually approaches α (1). When KTa (i) for each cylinder is calculated in step 407, the process proceeds to step 408, where the integrated value ΣTa (i) for each cylinder is cleared.

【0075】一方、ステップ409からステップ414
ではKTb(i)が算出される。即ち、ステップ409
では各気筒について夫々対応する経過時間Tb(i)が
積算値ΣTb(i)に加算される。例えばTb(1)が
ΣTb(1)に加算され、Tb(2)がΣTb(2)に
加算される。次いでステップ410では各気筒に対する
Tb(i)が夫々n回積算されたか否かが判別される。
n回積算されていないときには処理サイクルを完了し、
n回積算されるとステップ411に進む。ステップ41
1では各気筒の積算値ΣTb(i)の平均値Mb(=
{ΣTb(1)+ΣTb(2)+ΣTb(3)+ΣTb
(4)}/4)が算出される。次いでステップ412で
は各気筒について夫々補正値β(i)(=Mb/ΣTb
(i))が算出される。次いでステップ413では次式
に基いて比KTb(i)が更新される。
On the other hand, steps 409 to 414
Calculates KTb (i). That is, step 409
In, the elapsed time Tb (i) corresponding to each cylinder is added to the integrated value ΣTb (i). For example, Tb (1) is added to ΣTb (1), and Tb (2) is added to ΣTb (2). Next, at step 410, it is determined whether or not Tb (i) for each cylinder has been integrated n times.
When the count has not been performed n times, the processing cycle is completed,
After the integration is performed n times, the process proceeds to step 411. Step 41
At 1, the average value Mb of the integrated value ΣTb (i) of each cylinder (=
{ΣTb (1) + ΣTb (2) + ΣTb (3) + ΣTb
(4)} / 4) is calculated. Next, at step 412, the correction value β (i) (= Mb / ΣTb) for each cylinder
(I)) is calculated. Next, at step 413, the ratio KTb (i) is updated based on the following equation.

【0076】KTb(i)←KTb(i)+{β(i)
−KTb(i)}/4 このようにして各気筒に対する比KTb(1),KTb
(2),KTb(3),KTb(4)が算出される。例
えばβ(1)がこれまで用いられてきたKTb(1)よ
りも大きくなったとするとβ(1)とKTb(1)との
差{β(1)−KTb(1)}の1/4がKTb(1)
に加算され、斯くしてKTb(1)はβ(1)に徐々に
近づくことになる。ステップ413において各気筒に対
するKTb(i)が算出されるとステップ414に進ん
で各気筒に対する積算値ΣTb(i)がクリアされる。
KTb (i) ← KTb (i) + {β (i)
−KTb (i)} / 4 Thus, the ratio KTb (1), KTb for each cylinder
(2), KTb (3), KTb (4) are calculated. For example, if β (1) is larger than KTb (1) used so far, the difference between β (1) and KTb (1), {1 / (1) −KTb (1)}, is が. KTb (1)
, And thus KTb (1) gradually approaches β (1). When KTb (i) for each cylinder is calculated in step 413, the process proceeds to step 414, where the integrated value ΔTb (i) for each cylinder is cleared.

【0077】次に図20を参照しつつカウンタCDLN
IXの処理について説明する。このカウンタCDLNI
Xのカウント値は後に説明するトルク変動値を算出する
際に使用される。図20を参照すると、まず初めに現在
3番気筒#3のATDC10°であるか否かが判別され
る。現在3番気筒#3のATDC10°でないときには
処理サイクルを完了し、現在3番気筒#3のATDC1
0°であるときにはステップ502に進む。ステップ5
02ではトルク変動値を算出するためのトルク変動値算
出条件が成立しているか否かが判別される。例えは空燃
比をリーンとする条件が成立していないか、或いはサー
ジタンク3内の絶対圧の単位時間当りの変化量ΔPMが
設定値以上であるか、或いは機関回転数の単位時間当り
の変化量Δ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 a torque fluctuation value described later. Referring to FIG. 20, first, it is determined whether or not ATDC10 ° of the third cylinder # 3 is present. When the ATDC of the third cylinder # 3 is not 10 °, the processing cycle is completed, and the ATDC1 of the third cylinder # 3 is
When it is 0 °, the process proceeds to step 502. Step 5
In 02, it is determined whether or not the torque fluctuation value calculation condition for calculating the torque fluctuation value is satisfied. For example, the condition for making the air-fuel ratio lean is not satisfied, the change ΔPM in absolute pressure in the surge tank 3 per unit time is equal to or greater than a set value, or the change in engine speed per unit time. When the amount ΔN is equal to or larger than the set value, it is determined that the torque fluctuation value calculation condition is not satisfied, and otherwise, it is determined that the torque fluctuation value calculation condition is satisfied.

【0078】ステップ502においてトルク変動値算出
条件が成立していると判断されたときにはステップ50
8に進んでカウント値CDLNIXが1だけインクリメ
ントされる。このカウント値CDLNIXのインクリメ
ント作用は3番気筒#3がATDC10°となる毎に、
即ち720°クランク角度毎に行われる。次いでステッ
プ509ではカウント値CDLNIXのインクリメント
作用が開始されてからカウント値CDLNIXがクリア
されるまでの間の機関回転数の平均値NAVE およびサー
ジタンク3内の絶対圧の平均値PMAVE が算出される。
If it is determined in step 502 that the torque fluctuation value calculation condition is satisfied, the flow proceeds to step 50.
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 10 ° ATDC.
That is, it is performed every 720 ° crank angle. Next, in step 509, the average value N AVE of the engine speed and the average value PM AVE of the absolute pressure in the surge tank 3 from the start of the increment operation of the count value CDLNIX until the count value CDLNIX is cleared are calculated. You.

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

【0080】次いでステップ506では目標トルク変動
値LVLLFBが算出される。本発明による実施例では
後に説明するように算出されたトルク変動値がこの目標
トルク変動値LVLLFBとなるように空燃比がフィー
ドバック制御される。この目標トルク変動値LVLLF
Bは等しい変動値を実線で示した図22(A)に示され
るようにサージタンク3内の絶対圧PMが高くなるほど
大きくなり、機関回転数Nが高くなるほど大きくなる。
この目標トルク変動値LVLLFBは図22(B)に示
されるようにサージタンク3内の絶対圧PMおよび機関
回転数Nの関数としてマップの形で予めROM22内に
記憶されている。次いでステップ507では各気筒のト
ルク変動値DLNISM(i)(このトルク変動値は後
に説明するルーチンにおいて算出される)が図22
(B)のマップから算出された目標トルク変動値LVL
LFBとされる。
Next, at step 506, the target torque fluctuation value LVLLFB is calculated. In the embodiment according to the present invention, the air-fuel ratio is feedback-controlled such 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 absolute pressure PM in the surge tank 3 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 absolute pressure PM in the surge tank 3 and the engine speed N as shown in FIG. Next, at step 507, the torque fluctuation value DLNISM (i) of each cylinder (this torque fluctuation value is calculated in a routine described later) is shown in FIG.
Target torque fluctuation value LVL calculated from the map of (B)
LFB.

【0081】図24は繰返し実行されるメインルーチン
を示している。このメインルーチンではまず初めにトル
ク変動値の算出ルーチン(ステップ600)が実行され
る。このルーチンが図25および図26に示されてい
る。次いでリーンリミットフィードバック補正係数FL
LFBの算出ルーチン(ステップ700)が実行され
る。このルーチンが図27に示されている。次いで予め
定められたクランク角になったときに噴射時間算出ルー
チン(ステップ800)が実行される。このルーチンが
図28に示されている。次いでその他のルーチン(ステ
ップ900)が実行される。
FIG. 24 shows a main routine that is repeatedly executed. In this main routine, first, a torque fluctuation value calculation routine (step 600) is executed. This routine is shown in FIG. 25 and FIG. Next, the lean limit feedback correction coefficient FL
An LFB calculation routine (step 700) is executed. This routine is shown in FIG. Next, when a predetermined crank angle is reached, an injection time calculation routine (step 800) is executed. This routine is shown in FIG. Next, another routine (step 900) is executed.

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

【0083】次いでステップ605では積算カウント値
CDLNI(i)が“8”になったか否かが判別され
る。CDLNI(i)が“8”でないときにはステップ
609にジャンプし、CDLNI(i)が“8”になる
とステップ606に進んで次式から各気筒のトルク変動
値DLNISM(i)が算出される。 DLNISM(i)=DLNISM(i)+{DLNI
(i)−DLNISM(i)}/4 次いでステップ607ではトルク変動積算値DLNI
(i)がクリアされ、次いでステップ608では積算カ
ウント値CDLNI(i)がリセットされる。
Next, at step 605, 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 609. If CDLNI (i) becomes "8", the routine proceeds to step 606, 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 607, the torque fluctuation integrated value DLNI
(I) is cleared, and then at step 608, the integrated count value CDLNI (i) is reset.

【0084】即ち、算出されたトルク変動量積算値DL
NI(i)とこれまで用いられてきたトルク変動量DL
NISM(i)との間に差があるときにはこの差{DL
NI(i)−DLNISM(i)}に1/4を乗算した
値がトルク変動量DLNISM(i)に加算される。従
って例えば1番気筒#1についての積算カウント値CD
LNI(1)が“8”になるとステップ606において
トルク変動値DLNISM(1)算出されることにな
る。
That is, the calculated torque variation integrated value DL
NI (i) and torque fluctuation amount 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 variation 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 606.

【0085】次いでステップ609では図20に示すル
ーチンにおいて算出されたカウント値CDLNIXが
“8”になったか否かが判別される。CDLNIXが
“8”でないときには処理サイクルを完了し、CDLN
IXが“8”になるとステップ610に進んで各気筒の
トルク変動値DLNISM(i)の平均値である平均ト
ルク変動値DLNISM(={DLNISM(1)+D
LNISM(2)+DLNISM(3)+DLNISM
(4)}/4)が算出される。次いでステップ611で
はカウント値CDLNIXがクリアされる。このように
して機関のトルク変動量を代表する値DLNISMが算
出される。
Next, at step 609, it is determined whether or not the count value CDLNIX calculated in the routine shown in FIG. 20 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 610, 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 611, the count value CDLNIX is cleared. In this way, the value DLNISM representing the torque fluctuation amount of the engine is calculated.

【0086】なお、前述したようにカウント値CDLN
IXは720°クランク角度毎に1だけインクリメント
され、いずれの気筒についてもトルクの算出が禁止され
たことがなければカウント値CDLNIXが“8”にな
ったときには全ての気筒に対する積算カウント値CDL
NI(1),CDLNI(2),CDLNI(3),C
DLNI(4)は既に“8”となっている。従ってこの
場合には全ての気筒についてトルク変動値DLNISM
(i)が算出される。一方、例えば1番気筒#1につい
てトルクの算出が禁止されたとするとカウント値CDL
NIXが“8”になったときに1番気筒#1の積算カウ
ント値CDLNI(1)だけは“8”になっておらず、
斯くして1番気筒#1については新たなトルク変動値D
LNISM(1)は算出されていない。従ってこの場
合、ステップ610において平均トルク変動値DLNI
SMを求める際には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 is prohibited for the first cylinder # 1, the count value CDL
When NIX becomes “8”, only the integrated count value CDLNI (1) of the first cylinder # 1 does not become “8”,
Thus, for the first cylinder # 1, a new torque fluctuation value D
LNISM (1) has not been calculated. Therefore, in this case, in step 610, the average torque fluctuation value DLNI
When calculating SM, the torque fluctuation value DLNISM (1) previously calculated is used for only the first cylinder # 1.

【0087】次に図27を参照しつつFLLFB算出ル
ーチンについて説明する。図27を参照すると、まず初
めにステップ701においてリーンリミットフィードバ
ック補正係数FLLFBの更新条件が成立しているか否
かが判別される。例えば暖機運転時であるとき、或いは
機関の運転状態が図5において破線で囲まれた学習領域
にないときには更新条件が成立していないと判断され、
その他のときには更新条件が成立していると判断され
る。更新条件が成立していないときには処理サイクルを
完了し、更新条件が成立しているときにはステップ70
2に進む。
Next, the FLLFB calculation routine will be described with reference to FIG. Referring to FIG. 27, first, at step 701, 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 operating 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,
At other times, it is determined that the update condition is satisfied. When the update condition is not satisfied, the processing cycle is completed, and when the update condition is satisfied, step 70 is executed.
Proceed to 2.

【0088】ステップ702ではサージタンク3内の絶
対圧PMと機関回転数Nから図22(B)に示すマップ
に基づいて目標トルク変動値LVLLFBが算出され
る。次いでステップ703およびステップ704では目
標トルク変動値LVLLFBに応じた変動量判別値DH
(n),DL(n)に基づいて次式に示されるトルク変
動レベルLVLH(n),LVLL(n)が算出され
る。
In step 702, a target torque fluctuation value LVLLFB is calculated from the absolute pressure PM in the surge tank 3 and the engine speed N based on a map shown in FIG. Next, at step 703 and step 704, a fluctuation amount discrimination value DH corresponding to the target torque fluctuation value LVLLFB.
Based on (n) and DL (n), torque fluctuation levels LVLH (n) and LVLL (n) represented by the following equations are calculated.

【0089】 LVLH(n)=LVLLFB+DH(n) LVLL(n)=LVLLFB+DL(n) ここで、変動量判別値DH(n)およびDL(n)は図
23(A)に示されるように予め定められている。即
ち、図23(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 variation discrimination values DH (n) and DL (n) are predetermined as shown in FIG. Have been. That is, as can be seen from FIG. 23A, 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.

【0090】ところで今、ステップ702において算出
された目標トルク変動値LVLLFBが破線で示される
値だったとする。この場合、ステップ703では破線上
のDH(1),DH(2),DH(3)を目標トルク変
動値LVLLFBに加算した値が夫々トルク変動レベル
LVLH(1),LVLH(2),LVLH(3)とさ
れ、ステップ704では破線上の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 702 is a value indicated by a broken line. In this case, in step 703, the values obtained by adding 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), and LVLH ( 3), and in step 704, 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).

【0091】一方、図23(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 である。図23(B)に示
す各フィードバック補正値+a1 ,+a2 ,+a3 ,+
4 ,−b1 ,−b 2 ,−b3 ,−b4 が図23(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, -BFourIs predetermined
For example, when the torque fluctuation level is LVLH
Feed for the area between (1) and LVLH (2)
The back correction value is + aTwoBecomes These feedback supplements
Positive value is + aFour> + AThree> + ATwo> + A1And -b
1> -BTwo> -BThree> -BFourIt is. As shown in FIG.
Each feedback correction value + a1, + ATwo, + AThree, +
aFour, -B1, -B Two, -BThree, -BFourIs shown in FIG.
In the corresponding area.

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

【0093】次いでステップ707では図20に示すC
DLNIXの処理ルーチンのステップ509において求
められた機関回転数の平均値NAVE およびサージタンク
3内の絶対圧の平均値PMAVE に基づいて更新すべきリ
ーンリミットフィードバック補正係数FLLFBijが
図5に示されるどの学習領域のリーンリミットフィード
バック補正係数であるかが決定される。次いでステップ
708ではステップ707において決定されたリーンリ
ミットフィードバック補正係数FLLBFijにフィー
ドバック補正値DLFBが加算される。
Next, at step 707, C shown in FIG.
The lean limit feedback correction coefficient FLLFBij to be updated based on the average value N AVE of the engine speed and the average value PM AVE of the absolute pressure in the surge tank 3 obtained in step 509 of the processing routine of DLNIX is shown in FIG. It is determined which learning region is the lean limit feedback correction coefficient. Next, at step 708, the feedback correction value DLFB is added to the lean limit feedback correction coefficient FLLBFij determined at step 707.

【0094】即ち、上述したように例えばDLNISM
>LVLLFBであって、LVLH(1)<DLNIS
M<LVLH(2)である場合にはリーンリミットフィ
ードバック補正係数FLLFBijに+a2 が加算され
る。その結果、空燃比が小さくなるので各気筒のトルク
変動量が減少せしめられる。一方、DLNISM<LV
LLFBであってLVLL(1)>DLNISM>LV
LL(2)である場合にはリーンリミットフィードバッ
ク補正係数FLLBFijに−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
If it is LL (2), -b 2 is added to the lean limit feedback correction coefficient FLLBFij. 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.

【0095】なお、図20に示すルーチンに示されるよ
うにトルク変動値の算出条件が成立しないときにはステ
ップ507において全ての気筒に対するDLNISM
(i)がLVLLFBとされ、斯くして平均トルク変動
値DLNISMも目標トルク変動値LVLLFBとされ
る。従ってこのときにはリーンリミットフィードバック
補正係数FLLFBijの更新は行われない。次に図2
8を参照しつつ燃料噴射時間の算出ルーチンについて説
明する。
When the conditions for calculating the torque fluctuation value are not satisfied as shown in the routine shown in FIG. 20, at step 507, DLNISM for all cylinders is set.
(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. Next, FIG.
The routine for calculating the fuel injection time will be described with reference to FIG.

【0096】図28を参照すると、まず初めにステップ
801において図2に示すマップから基本燃料噴射時間
TPが算出される。次いでステップ802ではリーン運
転を行うべき運転状態か否かが判別される。リーン運転
を行うべき運転状態のときにはステップ803に進んで
理論空燃比フィードバック補正係数FAFの値が1.0
に固定される。次いでステップ804では図4に示すマ
ップからリーン補正係数FLEANが算出され、次いで
図5に示すマップからリーンリミットフィードバック補
正係数FLLFBが読込まれる。次いでステップ809
では次式に基づいて燃料噴射時間TAUが算出される。
Referring to FIG. 28, first, at step 801, the basic fuel injection time TP is calculated from the map shown in FIG. Next, at step 802, it is determined whether or not the operation state is such that the lean operation should be performed. When the engine is in the operating state in which the lean operation is to be performed, the routine proceeds to step 803, where the value of the stoichiometric air-fuel ratio feedback correction coefficient FAF is set to 1.0.
Fixed to Next, at step 804, the lean correction coefficient FLEAN is calculated from the map shown in FIG. 4, and then the lean limit feedback correction coefficient FLLFB is read from the map shown in FIG. Next, step 809
Then, the fuel injection time TAU is calculated based on the following equation.

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

【0098】[0098]

【発明の効果】各気筒の発生する駆動力、或いは各気筒
の発生するトルクを正確に検出することができる。ま
た、検出されたこれら駆動力或いはトルクから駆動力或
いはトルクの変動量を求めるようにした場合にはこれら
駆動力或いはトルクの変動量を正確に検出することがで
きる。
The driving force generated by each cylinder or the torque generated by each cylinder can be accurately detected. Further, when the amount of change in the driving force or the torque is obtained from the detected driving force or the torque, the amount of the change in the driving force or the torque can be accurately detected.

【図面の簡単な説明】[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の発生量とトルク変動を示す図である。FIG. 3 is a diagram showing an NOx generation amount and torque fluctuation.

【図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)およ
び50°クランク角度の経過時間Tb(i)の変化を示
すタイムチャートである。
FIG. 6 is a time chart showing changes in the elapsed time Ta (i) at a 30 ° crank angle and the elapsed time Tb (i) at a 50 ° crank angle.

【図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)およ
び50°クランク角度の経過時間Tb(i)の変化を示
すタイムチャートである。
FIG. 8 is a time chart showing changes in elapsed time Ta (i) at a 30 ° crank angle and elapsed time Tb (i) at a 50 ° crank angle.

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

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

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

【図12】経過時間Ta(i),Tb(i)を算出する
ためのフローチャートである。
FIG. 12 is a flowchart for calculating elapsed times Ta (i) and Tb (i).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【図27】リーンリミットフィードバック補正係数を算
出するためのフローチャートである。
FIG. 27 is a flowchart for calculating a lean limit feedback correction coefficient.

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

【図29】機関駆動系の捩り振動の振幅を示す図であ
る。
FIG. 29 is a diagram showing the amplitude of torsional vibration of the engine drive system.

【図30】クランクシャフトの角速度の変化を示す図で
ある。
FIG. 30 is a diagram showing a change in angular velocity of a crankshaft.

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

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

───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G01L 5/00 G01M 15/00 F02D 45/00 ──────────────────────────────────────────────────続 き Continuation of front page (58) Field surveyed (Int. Cl. 7 , DB name) G01L 5/00 G01M 15/00 F02D 45/00

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 圧縮上死点前25°から圧縮上死点後1
0°までのクランク角度領域内に第1のクランク角度範
囲を設定し、圧縮上死点後45°から圧縮上死点後10
0°までのクランク角度領域内に第2のクランク角度範
囲を設定し、該第1のクランク角度範囲を第2のクラン
ク角度範囲よりも小さなクランク角度に設定し、該第1
のクランク角度範囲内におけるクランクシャフトの第1
の角速度を検出すると共に該第2のクランク角度範囲内
におけるクランクシャフトの第2の角速度を検出し、該
第1の角速度と第2の角速度の差に基づいて気筒が発生
する駆動力を求めるようにした内燃機関における検出方
法。
(1) From 25 ° before compression top dead center to 1 after compression top dead center.
The first crank angle range is set within the crank angle range up to 0 °, and 45 ° after compression top dead center to 10 ° after compression top dead center.
Setting a second crank angle range within a crank angle range up to 0 ° , setting the first crank angle range to a crank angle smaller than the second crank angle range,
Of the crankshaft within the crank angle range
And the second angular speed of the crankshaft within the second crank angle range is detected, and the driving force generated by the cylinder is determined based on the difference between the first angular speed and the second angular speed. Detection method in an internal combustion engine.
【請求項2】 圧縮上死点前25°から圧縮上死点後1
0°までのクランク角度領域内に第1のクランク角度範
囲を設定し、圧縮上死点後45°から圧縮上死点後10
0°までのクランク角度領域内に第2のクランク角度範
囲を設定し、該第1のクランク角度範囲を第2のクラン
ク角度範囲よりも小さなクランク角度に設定し、該第1
のクランク角度範囲内におけるクランクシャフトの第1
の角速度を検出すると共に該第2のクランク角度範囲内
におけるクランクシャフトの第2の角速度を検出し、該
第1の角速度の2乗と第2の角速度の2乗の差に基づい
て気筒が発生するトルクを求めるようにした内燃機関に
おける検出方法。
(2) From 25 ° before compression top dead center to 1 after compression top dead center.
The first crank angle range within the crank angle range up to 0 °
Enclosure is set and 45 ° after compression top dead center to 10% after compression top dead center.
The second crank angle range is within the crank angle range up to 0 °.
And set the first crank angle range to the second crank angle.
The crank angle is set to be smaller than the crank angle range.
Of the crankshaft within the crank angle range
Of the second crank angle range.
Detecting the second angular velocity of the crankshaft at
Based on the difference between the square of the first angular velocity and the square of the second angular velocity
A detection method for an internal combustion engine , wherein a torque generated by a cylinder is obtained .
【請求項3】 上記トルクを各気筒について求め、各気
筒における発生トルクの変動からトルク変動量を算出す
る請求項2に記載の内燃機関における検出方法。
3. The detection method for an internal combustion engine according to claim 2, wherein the torque is obtained for each cylinder, and a torque variation is calculated from a variation in the torque generated in each cylinder.
JP10032796A 1996-04-05 1996-04-22 Detection method in internal combustion engine Expired - Fee Related JP3246328B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP10032796A JP3246328B2 (en) 1996-04-22 1996-04-22 Detection method in internal combustion engine
DE1997622842 DE69722842T2 (en) 1996-04-05 1997-04-04 Method for detecting the angular velocity and the torque of an internal combustion engine
EP19970105581 EP0799983B1 (en) 1996-04-05 1997-04-04 Method of detection of angular velocity and torque in an internal combustion engine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10032796A JP3246328B2 (en) 1996-04-22 1996-04-22 Detection method in internal combustion engine

Publications (2)

Publication Number Publication Date
JPH09288043A JPH09288043A (en) 1997-11-04
JP3246328B2 true JP3246328B2 (en) 2002-01-15

Family

ID=14271076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10032796A Expired - Fee Related JP3246328B2 (en) 1996-04-05 1996-04-22 Detection method in internal combustion engine

Country Status (1)

Country Link
JP (1) JP3246328B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102005035408A1 (en) * 2005-07-28 2007-02-01 Robert Bosch Gmbh Method for determining cylinder-specific rotational characteristics of a shaft of an internal combustion engine

Also Published As

Publication number Publication date
JPH09288043A (en) 1997-11-04

Similar Documents

Publication Publication Date Title
JP3303739B2 (en) Air-fuel ratio control method for internal combustion engine
US6199426B1 (en) Method of detection of output fluctuation in internal combustion engine
JPH0751926B2 (en) Ignition timing control device for internal combustion engine
JP3303732B2 (en) Control device for internal combustion engine
JP3246328B2 (en) Detection method in internal combustion engine
JP3216577B2 (en) Air-fuel ratio control method for internal combustion engine
JP3246325B2 (en) Detection method in internal combustion engine
JP3279179B2 (en) Detection method in a multi-cylinder internal combustion engine
JP3262003B2 (en) Output fluctuation detection method for multi-cylinder internal combustion engine
JP3303669B2 (en) Air-fuel ratio control method for internal combustion engine
JP3218970B2 (en) Detection method in internal combustion engine
EP0811758B1 (en) Method of controlling an air-fuel ratio of an engine
EP0799983B1 (en) Method of detection of angular velocity and torque in an internal combustion engine
JP3156588B2 (en) Air-fuel ratio control method for internal combustion engine
JPH1182119A (en) Output control device for internal combustion engine
JP3085220B2 (en) Air-fuel ratio control method for internal combustion engine
JPH1182086A (en) Method for controlling air-fuel ratio of internal combustion engine
JPH09281006A (en) Change detection method in internal-combustion engine
JPH0751929B2 (en) Ignition timing control device for internal combustion engine
JPH10331685A (en) Air-fuel ratio controller for internal combustion engine
JPH1130148A (en) Method for controlling air-fuel ratio of internal combustion engine
JPS61255233A (en) Fuel injection controller for engine
JPH0751927B2 (en) Ignition timing control device for internal combustion engine
JPH0751930B2 (en) Ignition timing control device for internal combustion engine
JPH0751928B2 (en) Ignition timing control device for internal combustion engine

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081102

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091102

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees