JPH09280100A - 内燃機関における検出方法 - Google Patents

内燃機関における検出方法

Info

Publication number
JPH09280100A
JPH09280100A JP9410796A JP9410796A JPH09280100A JP H09280100 A JPH09280100 A JP H09280100A JP 9410796 A JP9410796 A JP 9410796A JP 9410796 A JP9410796 A JP 9410796A JP H09280100 A JPH09280100 A JP H09280100A
Authority
JP
Japan
Prior art keywords
cylinder
angular velocity
torque
elapsed time
crank angle
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.)
Granted
Application number
JP9410796A
Other languages
English (en)
Other versions
JP3218970B2 (ja
Inventor
Nobuyuki Shibagaki
信之 柴垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP09410796A priority Critical patent/JP3218970B2/ja
Priority to DE1997622842 priority patent/DE69722842T2/de
Priority to EP19970105581 priority patent/EP0799983B1/en
Publication of JPH09280100A publication Critical patent/JPH09280100A/ja
Application granted granted Critical
Publication of JP3218970B2 publication Critical patent/JP3218970B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Force Measurement Appropriate To Specific Purposes (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

(57)【要約】 【課題】 各気筒の発生する駆動力又はトルクを正確に
検出する。 【解決手段】 圧縮上死点付近の30°クランク角度の
経過時間Ta(i)と圧縮上死点後90°付近の30°
クランク角度の経過時間Tb(i)とを求める。減速運
転時における燃料の供給停止時に経過時間Tb(i)と
経過時間Ta(i)との差を求める。燃料の供給時に検
出された経過時間Tb(i)からこの差を減算補正する
ことによりピストンの慣性による影響を除去し、この減
算補正された経過時間Tb(i)と経過時間Ta(i)
から各気筒の発生する駆動力又はトルクを算出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は内燃機関における検
出方法に関する。
【0002】
【従来の技術】クランクシャフトが圧縮上死点後30°
から60°まで回転するのに要する時間からこの間にお
けるクランクシャフトの第1の角速度を求め、クランク
シャフトが圧縮上死点後90°から120°まで回転す
るのに要する時間からこの間におけるクランクシャフト
の第2の角速度を求め、第1の角速度の2乗と第2の角
速度の2乗から気筒が発生するトルクを求め、この発生
トルクの変動量からトルク変動量を算出するようにした
内燃機関が公知である。(特公平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乗
との差から求まることになり、従って上述の内燃機関で
はこのようにして求めた発生トルクからトルク変動量を
算出するようにしている。
【0004】
【発明が解決しようとする課題】しかしながらこのよう
に角速度ωa,ωbに基づいて発生トルクを算出すると
機関回転数が高くなったときに角速度ωa,ωbに基づ
き算出された発生トルクが真の発生トルクを表わさなく
なる。即ち、ピストンの往復動速度変化は上死点付近に
おいて最も小さくなり、上死点後90°付近において最
も大きくなる。この場合、ピストンの往復動速度変化が
大きくなるとピストン等の往復部材への慣性(以下、単
にピストンの慣性という)による減速作用がクランクシ
ャフトに働き、斯くしてピストンの往復動速度変化が最
も大きくなる上死点後90°付近におけるクランクシャ
フトの角速度がピストンの慣性による減速作用により低
下せしめられる。この場合、機関回転数が高くなるほど
ピストンの往復動速度変化は大きくなり、斯くしてピス
トンの慣性による減速作用は機関回転数が高くなるほど
強力となる。
【0005】ところでこのようにピストンの慣性による
減速作用が働くと上死点後90°付近におけるクランク
シャフトの角速度、即ち第2の角速度ωbは減速せしめ
られることになる。即ち、検出された第2の角速度ωb
は燃焼圧による角速度増大分に加え、ピストンの慣性に
よる角速度減速分を含むことになる。従ってこの場合、
第2の角速度ωbにピストンの慣性による角速度減速分
を加算しない限り、第1の角速度ωaの2乗と第2の角
速度ωbの2乗との差は発生トルクを表わしていないこ
とになる。
【0006】しかしながら上述の内燃機関ではピストン
の慣性による角速度の変化分について何ら考慮されてお
らず、従って上述の内燃機関では真の発生トルクを検出
することができないという問題がある。
【0007】
【課題を解決するための手段】上記問題点を解決するた
めに1番目の発明によれば、圧縮行程末期から爆発行程
初期までのクランク角度領域内に第1のクランク角度範
囲を設定し、第1のクランク角度範囲から一定のクラン
ク角を隔てた爆発行程中期のクランク角度領域内に第2
のクランク角度範囲を設定し、第1のクランク角度範囲
内におけるクランクシャフトの第1の角速度を検出する
と共に第2のクランク角度範囲内におけるクランクシャ
フトの第2の角速度を検出し、燃料の供給停止時に第1
の角速度から第2の角速度を差引いた角速度差を検出す
ると共に燃料の供給時に第2の角速度に対しこの角速度
差を加算することによって第2の角速度を補正し、予め
定められた気筒の第1の角速度と補正された第2の角速
度とに基づいて該予め定められた気筒が発生する駆動力
を求めるようにしている。
【0008】即ち、燃焼圧が発生しない燃料の供給停止
時にピストンの慣性による角速度減速分を表わしている
上述の角速度差が検出され、燃料の供給時にはピストン
の慣性がクランクシャフトの角速度に与える影響を取除
くためにこの角速度差が第2の角速度に加算される。2
番目の発明では1番目の発明において、燃料の供給停止
時に上述の角速度差を予め定められた機関回転数領域毎
に検出し、燃料の供給時にそのときの機関回転数に対応
した機関回転数領域について検出されている角速度差で
もって第2の角速度を補正するようにしている。即ち、
ピストンの慣性による上述の角速度差は機関回転数に依
存しているので機関回転数に応じた角速度差でもって第
2の角速度が補正される。
【0009】3番目の発明では1番目の発明において、
予め定められた気筒の第1の角速度の2乗と補正された
第2の角速度の2乗との差を求め、上述の駆動力がこの
差によって表わされる予め定められた気筒の発生トルク
を示している。即ち、3番目の発明では第1の角速度ω
aの2乗と第2の角速度ωbの2乗との差より発生トル
クが求められる。
【0010】4番目の発明では3番目の発明において、
発生トルクを各気筒について求め、各気筒における発生
トルクの変動からトルク変動量を算出するようにしてい
る。5番目の発明では3番目の発明において、クランク
シャフトに連結されかつ欠歯部分を有するロータの歯に
クランク角センサを対面配置してクランク角センサの出
力信号に基づいて角速度を検出し、角速度を検出すべき
ときにクランク角センサが欠歯部分に対面する気筒以外
の気筒について発生トルクを算出すると共にこの算出さ
れた発生トルクに基づいてトルク変動量を算出するよう
にしている。即ち、この発明は角速度を検出するために
欠歯部分を有する歯付ロータが使用され、しかも角速度
を検出すべきときにクランク角センサが欠歯部分に対面
する気筒が存在している場合のトルク変動量の算出方法
に関する。この場合には角速度を検出すべきときにクラ
ンク角センサが欠歯部分に対面する気筒についてはトル
ク変動量の算出から除外される。
【0011】
【発明の実施の形態】図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 を放出しかつ
還元する機能を有する。
【0012】電子制御ユニット20はディジタルコンピ
ュータからなり、双方向性バス21によって相互に接続
されたROM(リードオンリメモリ)22、RAM(ラ
ンダムアクセスメモリ)23,CPU(マイクロプロセ
ッサ)24、常時電源に接続されたバックアップRAM
25、入力ポート26および出力ポート27を具備す
る。機関の出力軸12には外歯付ロータ13が取付けら
れ、ロータ13の外歯に対面して電磁ピックアップから
なるクランク角センサ14が配置される。図1に示され
る実施例ではロータ13の外周上に10°クランク角度
毎に外歯が形成されており、例えば1番気筒の圧縮上死
点を検出するために一部の外歯が削除されている。従っ
てこの外歯が削除された部分、即ち欠歯部分を除いてク
ランク角センサ14は出力軸12が10°クランク角度
回転する毎に出力パルスを発生し、この出力パルスが入
力ポート26に入力される。
【0013】サージタンク3にはサージタンク3内の絶
対圧に比例した出力電圧を発生する圧力センサ15が取
付けられ、この圧力センサ15の出力電圧が対応するA
D変換器28を介して入力ポート26に入力される。ま
た、スロットル弁7にはスロットル弁7がアイドリング
開度にあることを検出するためのアイドルスイッチ16
が取付けられ、このアイドルスイッチ16の出力信号が
入力ポート26に入力される。また、排気マニホルド8
内には空燃比を検出するための空燃比センサ(O2 セン
サ)17が配置されており、この空燃比センサ17の出
力信号が対応するAD変換器28を介して入力ポート2
6に入力される。一方、出力ポート27は対応する駆動
回路29を介して各燃料噴射弁4に接続される。
【0014】図1に示す内燃機関では燃料噴射時間TA
Uが次式に基づいて算出される。 TAU=TP・FLEAN・FLLFB・KGTP
(i)・FAF+TAUV ここでTPは基本燃料噴射時間を、FLEANはリーン
補正係数を、FLLFBはリーンリミットフィードバッ
ク補正係数を、KGTPは気筒間補正係数を、FAFは
理論空燃比フィードバック補正係数を、TAUVは無効
噴射時間を夫々示している。
【0015】基本燃料噴射時間TPは空燃比を理論空燃
比とするのに必要な噴射時間を示している。この基本燃
料噴射時間TPは実験により求められ、この基本燃料噴
射時間TPはサージタンク3内の絶対圧PMおよび機関
回転数Nの関数として図2に示すマップの形で予めRO
M22内に記憶されている。リーン補正係数FLEAN
は空燃比を目標リーン空燃比とするための補正係数であ
り、このリーン補正係数FLEANはサージタンク3内
の絶対圧PMおよび機関回転数Nの関数として図4に示
すマップの形で予めROM22内に記憶されている。
【0016】リーンリミットフィードバック補正係数F
LLFBは空燃比をリーン限界に維持するための補正係
数である。本発明による実施例ではサージタンク3内の
絶対圧PMと機関回転数Nに対してリーン空燃比フィー
ドバック制御に対する学習領域が図5に示されるように
例えば9つの領域に分けられており、各学習領域に対し
て夫々リーンリミットフィードバック補正係数FLLF
11〜FLLFB33が設定されている。
【0017】気筒間補正係数KGTP(i)は各気筒#
1,#2,#3,#4の爆発行程の所要時間が等しくな
るように気筒毎に燃料噴射量を補正するための補正係数
である。理論空燃比フィードバック補正係数FAFは空
燃比を理論空燃比に維持するための係数である。理論空
燃比フィードバック補正係数FAFは空燃比を理論空燃
比に維持すべきときに空燃比センサ17の出力信号に基
づいて制御され、このとき理論空燃比フィードバック補
正係数FAFはほぼ1.0を中心として上下動する。
【0018】図4に示されるように破線により囲まれた
運転領域内については機関の運転状態に応じてリーン補
正係数FLEANが定められており、この運転領域内で
は空燃比が目標リーン空燃比に維持される。これに対し
て図4の破線で囲まれた領域外の運転領域では空燃比が
理論空燃比に維持される。空燃比を理論空燃比に維持す
べきときにはリーン補正係数FLEAN、リーンリミッ
トフィードバック補正係数FLLFBおよび気筒間補正
係数KGTP(i)は1.0に固定され、理論空燃比フ
ィードバック補正係数FAFが空燃比センサ17の出力
信号に基づいて制御される。
【0019】一方、空燃比を目標リーン空燃比に維持す
べきときには理論空燃比フィードバック補正係数FAF
が1.0に固定され、即ち空燃比センサ17の出力信号
に基づくフィードバック制御が停止され、リーン補正係
数FLEANとリーンリミットフィードバック補正係数
FLLFBと気筒間補正係数KGTP(i)とにより空
燃比が目標リーン空燃比に制御される。
【0020】次に図3を参照しつつリーンリミットフィ
ードバック制御について説明する。図3は機関出力トル
ク変動量およびNOx 発生量と空燃比との関係を示して
いる。空燃比がリーンになるほど燃料消費率は小さくな
り、また空燃比がリーンになるほどNOx の発生量が少
なくなる。従ってこれらの点からみると空燃比はできる
だけリーンにすることが好ましいことになる。ところが
空燃比が或る程度以上リーンになると燃焼が不安定とな
り、その結果図3に示されるようにトルク変動量が大き
くなる。そこで本発明による実施例では図3に示される
ようにトルク変動が増大し始める空燃比制御領域内に空
燃比を維持するようにしている。
【0021】即ち具体的に云うとリーン補正係数FLE
ANはリーンリミットフィードバック補正係数FLLF
BをFLLFB=1.0としたときに空燃比が図3に示
される空燃比制御領域の中央部となるように定められて
いる。一方、リーンリミットフィードバック補正係数F
LLFBはトルク変動量に応じて図3に示されるトルク
変動制御領域内において制御され、トルク変動量が大き
くなればリーンリミットフィードバック補正係数FLL
FBが増大せしめられ、即ち空燃比が小さくされ、トル
ク変動量が小さくなればリーンリミットフィードバック
補正係数FLLFBが減少せしめられ、即ち空燃比が大
きくされる。このようにして空燃比が図3に示される空
燃比制御領域内に制御される。
【0022】なお、図4と図5とを比較すればわかるよ
うにリーンリミットフィードバック補正係数FLLFB
はリーン補正係数FLEANが定められている機関運転
領域とほぼ同じ領域に対して設定されている。トルク変
動量が図3に示されるトルク変動制御領域内に制御され
ると良好な車両の運転性を確保しつつ燃料消費率および
NOx の発生量を大巾に低減することができる。ただ
し、このようにトルク変動量をトルク変動制御領域内に
制御するためにはトルク変動量を検出しなければなら
ず、トルク変動量を検出するためにはトルクを検出しな
ければならないことになる。
【0023】ところで各気筒の出力トルクを算出する方
法は従来より種々の方法が提案されている。即ち、各気
筒の出力トルクを算出することができればこの算出され
た出力トルクを用いて上述の如きリーン空燃比制御がで
きるばかりでなく、その他種々の制御を行うことができ
るので各気筒の出力トルクを算出する最良の方法を見い
出すことには重要な意味があり、従って従来より各気筒
の出力トルクを算出するための種々の方法が提案されて
いる。代表的な例を挙げると燃焼室内に燃焼圧センサを
取付けてこの燃焼圧センサの出力信号に基づき出力トル
クを算出する方法や、或いは冒頭で述べたように第1の
角速度ωaの2乗と第2の角速度ωbの2乗との差から
出力トルクを算出する方法が挙げられる。
【0024】燃焼圧センサを用いると燃焼圧センサを取
付けた気筒が発生するトルクを確実に検出することがで
きるという利点がある反面、燃焼圧センサが必要である
という欠点を有している。これに対して角速度ωa,ω
bは従来より内燃機関が備えているクランク角センサの
出力信号から算出することができるので角速度ωa,ω
bに基づき出力トルクを算出するようにした場合には新
たなセンサを設ける必要がないという利点がある。ただ
し、この場合冒頭に述べたようにピストンの慣性の影響
によって発生トルクを正確に検出できなくなるという問
題を有している。しかしながらこの問題を解決しさえす
れば新たなセンサを必要としない角速度に基づくトルク
算出方法の方が好ましいことは明らかである。そこで本
発明では発生トルクを角速度に基づき算出するように
し、その際ピストンの慣性の影響を考慮して発生トルク
を正確に検出しうるようにしている。
【0025】次に各気筒が発生する駆動力および各気筒
が発生するトルクを算出するための本発明による新たな
方法について説明する。まず初めに、ピストンの慣性の
影響を無視した定常運転時を示す図6(A),(B)を
参照しつつ各気筒が発生する駆動力および各気筒が発生
するトルクを算出する方法について説明する。前述した
ようにクランク角センサ14はクランクシャフトが10
°クランク角度回転する毎に出力パルスを発生し、更に
クランク角センサ14は各気筒#1,#2,#3,#4
の圧縮上死点TDCにおいて出力パルスを発生するよう
に配置されている。従ってクランク角センサ14は各気
筒#1,#2,#3,#4の圧縮上死点TDCから10
°クランク角毎に出力パルスを発生することになる。な
お、本発明において用いられている内燃機関の点火順序
は1−3−4−2である。
【0026】図6(A),(B)において縦軸T30は
クランク角センサ14が出力パルスを発生してから3つ
目の出力パルスを発生するまでの30°クランク角度の
経過時間を表わしている。また、Ta(i)はi番気筒
の圧縮上死点(以下TDCと称す)から圧縮上死点後
(以下ATDCと称す)30°までの経過時間を示して
おり、Tb(i)はi番気筒のATDC60°からAT
DC90°までの経過時間を示している。従って例えば
Ta(1)は1番気筒のTDCからATDC30°まで
の経過時間を示しており、Tb(1)は1番気筒のAT
DC60°からATDC90°までの経過時間を示して
いることになる。一方、30°クランク角度を経過時間
T30で除算するとこの除算結果は角速度ωを表わして
いる。本発明による実施例では30°クランク角度/T
a(i)をi番気筒における第1の角速度ωaと称し、
30°クランク角度/Tb(i)をi番気筒における第
2の角速度ωbと称する。従って30°クランク角度/
Ta(1)は1番気筒の第1の角速度ωaを表わし、3
0°クランク角度/Tb(1)は1番気筒の第2の角速
度ωbを表わすことになる。
【0027】図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)
から気筒の発生する駆動力を算出することができる。
【0028】一方、機関の回転慣性モーメントをIとす
ると燃焼圧によって運動エネルギが(1/2)Iωa2
から(1/2)Iωb2 に増大せしめられる。この運動
エネルギの増大量(1/2)・I・(ωb2 −ωa2
はその気筒が発生するトルクを表わしており、従って第
1の角速度ωaの2乗と第2の角速度ωbの2乗との差
(ωb2 −ωa2 )から気筒の発生するトルクを算出で
きることになる。
【0029】このように第1の角速度ωaと第2の角速
度ωbを検出すればこれらの検出値から対応する気筒の
発生する駆動力および対応する気筒の発生するトルクを
算出できることになる。なお、図6(A),(B)に示
される経過時間T30の変化は機関によって若干異な
り、従って第1の角速度ωaを検出すべきクランク角度
範囲および第2の角速度ωbを検出すべきクランク角度
範囲は機関に応じて(ωb−ωa)が機関の発生する駆
動力を最もよく表わすように、或いは(ωb2 −ω
2 )が機関の発生するトルクを最もよく表わすように
定められる。従って機関によっては第1の角速度ωaを
検出すべきクランク角度範囲が圧縮上死点前BTDC3
0°からTDCであり、第2の角速度ωbを検出すべき
クランク角度範囲がATDC90°からATDC120
°となることもあり得る。
【0030】従って各角速度ωa,ωbの検出のしかた
について一般的に表現すると、圧縮行程末期から爆発行
程初期までのクランク角度領域内に第1のクランク角度
範囲を設定し、第1のクランク角度範囲から一定のクラ
ンク角を隔てた爆発行程中期のクランク角度領域内に第
2のクランク角度範囲を設定し、第1のクランク角度範
囲内におけるクランクシャフトの第1の角速度ωaを検
出し、第2のクランク角度範囲内におけるクランクシャ
フトの第2の角速度ωbを検出するということになる。
【0031】上述したように角速度ωa,ωbを検出す
れば検出値に基づいて対応する気筒の発生する駆動力お
よびトルクを算出することができる。しかしながらピス
トンの慣性による影響を考慮に入れると角速度ωa,ω
bの検出値そのものに基づいて気筒の発生駆動力および
トルクを算出しても気筒の発生する駆動力およびトルク
を正確に算出することができなくなる。次にこのことに
ついて図7および図8を参照しつつ説明する。
【0032】冒頭で述べたように機関回転数が高くなる
とピストンの慣性による減速作用が強力となり、その結
果上死点後90°付近におけるクランクシャフトの角速
度、即ち第2の角速度ωbが減速せしめられる。云い換
えると、ピストンの慣性による減速作用によって上死点
後90°付近における経過時間T30が長くなる。図7
は機関高回転時における経過時間T30の変化を示して
おり、図7から上死点後90°付近における経過時間T
b(1),Tb(3)が長くなることがわかる。
【0033】一方、燃焼が行われると燃焼圧によって経
過時間T30はTa(i)からTb(i)へ減少せしめ
られる。即ち、燃焼が行われると燃焼圧によってクラン
クシャフトの角速度は第1の角速度ωaから第2の角速
度ωbへ上昇せしめられる。ところが上述したようにピ
ストンの慣性による減速作用によって第2の角速度ωb
が減速せしめられ、従って検出された第2の角速度ωb
は燃焼圧による角速度増大分に加え、ピストンの慣性に
よる角速度減速分を含むことになる。従ってこの場合、
第2の角速度ωbにピストンの慣性による角速度減速分
を加算しない限り、第1の角速度ωaと第2の角速度ω
bとの差は気筒の発生駆動力を表わしていないことにな
り、第1の角速度ωaの2乗と第2の角速度ωbの2乗
との差は気筒の発生トルクを表わしていないことにな
る。
【0034】そこで本発明では減速運転時において燃料
の供給が停止されたときに経過時間Ta(i)とTb
(i)との差を求め、この差に基づいて経過時間Tb
(i)を補正するようにしている。即ち、燃料の供給が
停止されたときには燃焼圧が発生せず、従ってこのとき
にはピストンの慣性による影響のみが経過時間T30に
表われる。図8(A)は燃料の供給が停止されたときの
経過時間T30の変化を示している。図8(A)に示さ
れるように燃料の供給が停止されるとピストンの慣性に
よる減速作用によって経過時間Tb(1),Tb
(3),即ちTb(i)が長くなり、このときの経過時
間Ta(i)とTb(i)との差r(r=Tb(i)−
Ta(i))はピストンの慣性による経過時間Tb
(i)の増大量を表わしている。従ってこの増大量rを
図7に示される実際に検出されたTb(i)から減算す
ればこの減算結果(実際に検出されたTb(i)−増大
量α)は燃焼圧により減少した経過時間Tb(i)を表
わすことになる。この燃焼圧により減少した経過時間T
b(i)が図8(B)に示されている。従って図8
(B)に示される経過時間Ta(i),Tb(i)に基
づいて気筒の発生駆動力および発生トルクを算出すれば
これら発生駆動力および発生トルクはピストンの慣性の
影響が取除かれた真の発生駆動力および発生トルクを表
わしていることになる。
【0035】云い換えると燃料の供給停止時には第2の
角速度ωbがピストンの慣性によって第1の角速度ωa
と第2の角速度ωbとの差だけ減少する。このときの角
速度の減少量(ωa−ωb)を実際に検出された第2の
角速度ωbに加算すればこの加算結果は燃焼圧により増
大した第2の角速度ωbを表わすことになる。ところで
上述したピストンの慣性による経過時間の増大量rは機
関回転数の関数となる。即ち、機関回転数が高くなると
ピストンの慣性による減速作用が強力となるので経過時
間の増大量rは大きくなるが経過時間Ta(i),Tb
(i)自体が短かくなるので経過時間の増大量rは図9
において破線で示されるように機関回転数Nが高くなる
につれて小さくなる。従って本発明による実施例では図
9において破線で示される関係から機関回転数Nに応じ
た経過時間の増大量rが算出され、この増大量rでもっ
て経過時間Tb(i)が補正される。
【0036】ところでこの経過時間の増大量rとしては
予め実験により求めた値を使用することもできるが本発
明による実施例ではこの増大量rを学習するようにして
いる。即ち、図9に示すように機関回転数Nに対して複
数の学習領域S1 ,S2 ,S 3 ,S4 ,S5 ,…を設定
し、減速運転時において燃料の供給が停止されたときに
そのときの機関回転数Nに応じた経過時間の増大量r1
(i),r2 (i),r3 (i),r4 (i),r
5 (i)…を気筒毎に求めるようにしている。
【0037】一方、前述したようにクランク角の検出に
用いる外歯付ロータ13は欠歯部分を有しており、この
欠歯部分が図10において符号18で示される。更に、
本発明による実施例では2番気筒#2および3番気筒#
3のATDC60°からATDC90°においてクラン
ク角センサ14が欠歯部分18に対面するようにクラン
ク角センサ14と欠歯部分18の位置関係が設定されて
いる。しかしながらこのように2番気筒#2および3番
気筒#3のATDC60°からATDC90°において
クランク角センサ14が欠歯部分18に対面すると2番
気筒#2の経過時間Tb(2)と3番気筒#3の経過時
間Tb(3)を正確に検出することができず、従って2
番気筒#2に対する経過時間の増大量α(2)および3
番気筒#3に対する経過時間α(3)を正確に検出でき
なくなる。
【0038】即ち、欠歯部分18ではクランク角センサ
14の出力信号が機関回転数Nにより大きく変動し、そ
の結果図11に示されるように2番気筒#2および3番
気筒#3に対する経過時間の増大量α(i)が正規の値
を示す1番気筒#1および4番気筒#4の増大量α
(i)に対して大巾にずれることになる。従って本発明
による実施例では2番気筒#2および3番気筒#3につ
いてはこれら気筒が発生する駆動力およびトルクを正確
に算出することができず、斯くして2番気筒#2および
3番気筒#3についてはこれら気筒が発生する駆動力お
よびトルクを算出しないようにしている。無論この場
合、経過時間Ta(i),Tb(i)を検出するときに
クランク角センサ14が欠歯部分18に対面しないよう
にクランク角センサ14と欠歯部分18の位置関係を設
定した場合には全ての気筒について正確に駆動力および
トルクを算出することができる。
【0039】このようにピストンの慣性を考慮に入れて
第2の角速度ωbを求めれば各気筒が発生する駆動力お
よびトルクを正確に検出することができる。しかしなが
らこのようにピストンの慣性を考慮に入れて第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乗との差は発生
トルクを表わしていないことになる。次にこのことにつ
いて図12および図13を参照しつつ説明する。
【0040】図12は機関駆動系に捩り振動が発生して
いるときに各気筒に対し順次算出される経過時間Ta
(i)の変化を示している。機関駆動系に捩り振動が発
生するとこの捩り振動によってクランクシャフトの角速
度が周期的に増大減少せしめられるので経過時間Ta
(i)は図12に示されるように周期的に増大減少する
ことになる。
【0041】一方、図13は図12において経過時間T
a(i)が減少している部分を拡大して示している。図
13に示されるように経過時間Ta(i)はTa(1)
とTa(3)との間でho時間だけ減少しており、この
ho時間の減少は捩り振動による捩れ量の増大によるも
のと考えられる。この場合、Ta(1)とTa(3)と
の間では捩り振動による経過時間の減少量は時間の経過
と共にほぼ直線的に増大するものと考えられ、従ってこ
の捩り振動による経過時間の減少量はTa(1)および
Ta(3)を結ぶ破線とTa(1)を通る水平線との差
で表わされることになる。従ってTa(1)とTb
(1)との間では捩り振動によって経過時間がhだけ減
少していることになる。
【0042】即ち、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を減少方向に補正しなければならな
いことになる。
【0043】これに対しTa(1)に対してTa(3)
が増大したときにはTa(1)に対して減少した経過時
間Tb(1)は燃焼圧による経過時間の減少量と捩り振
動による経過時間の増大量とを含んでいる。従ってこの
場合、燃焼圧により減少した経過時間Tb′(1)だけ
を求めるためにはTb(1)から捩り振動による経過時
間の増大量を減算しなければならない。即ち、気筒間に
おける経過時間Ta(i)が増大した場合において燃焼
圧により減少した経過時間Tb′(1)だけを求めるた
めには検出された経過時間Tb(1)を減少方向に補正
しなければならないことになる。云い換えると気筒間に
おいて第1の角速度ωaが減少したときには先に燃焼が
行われた気筒の第2の角速度ωbを増大方向に補正しな
ければならないことになる。
【0044】上述したように第2の角速度ωbを補正す
ることによって機関駆動系に捩り振動が発生したとして
も第1の角速度ωaと第2の角速度ωbとの差(ωb−
ωa)から各気筒が発生する駆動力を正確に算出するこ
とができ、第1の角速度ωaの2乗と第2の角速度ωb
の2乗との差(ωb2 −ωa2 )から各気筒が発生する
トルクを正確に算出することができる。ところがロータ
13(第10図)の外周に沿って形成されている外歯の
間隔にばらつきがあると上述したように第2の角速度ω
bを補正したとしても各気筒が発生する駆動力およびト
ルクを正確に検出することができない。次にこのことに
ついて図14を参照しつつ説明する。図14は1番気筒
#1のTDCを示すロータ13の外歯とATDC30°
を示すロータ13の外歯との間隔が30°クランク角度
隔てた他の外歯間の間隔よりも短い場合を示している。
この場合には図13と図14とを比較すればわかるよう
に経過時間Ta(1)が30°クランク角度に対する正
規の経過時間に比べて小さくなってしまう。また、この
とき図13と図14とを比較すればわかるように捩り振
動による経過時間の減少量h′は正規の減少量hと比べ
て小さくなり、従って燃焼圧により減少した経過時間だ
けを表わすTb′(1)の値も正規の値に対して小さく
なってしまう。
【0045】そこで本発明による実施例では機関駆動系
に捩り振動が発生しない減速運転時の燃料供給停止時に
全気筒の経過時間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)を求めるようにしている。
【0046】従って例えば上述したように1番気筒#1
について実際に検出された経過時間Ta(1)が正規の
経過時間に比べて短かい場合には比KTa(1)は1.
0よりも大きくなり、斯くして実際の検出経過時間Ta
(1)に比KTa(1)を乗算することによって得られ
る最終的な経過時間Ta(1)は正規の経過時間Ta
(1)にかなり近づくことになる。また、このようにし
て得られた最終的な経過時間Ta(i)に基いて捩り振
動による経過時間の減少量hを求めればこの減少量hは
正規の減少量にほぼ一致することになり、斯くして燃焼
圧により減少した経過時間だけを表わすTb′(1)の
値もほぼ正規の値を示すことになる。このように本発明
による実施例ではロータ13の外歯の間隔にばらつきが
あったとしても各気筒の発生する駆動力およびトルクを
正確に検出することができる。
【0047】一方、各気筒に対するTa(i)は車両が
凸凹道を走行したときにも変動し、しかもこのときには
Ta(i)の変動巾が極めて大きくなる場合がある。図
15は車両が凸凹道を走行したときのTa(i)の変動
を示しており、図15のAMPは最小のTa(i)と最
大のTa(i)との差、即ち振幅を示している。この振
幅AMPが小さいときにはこれまで述べた方法によって
図13に示すhを算出すれば燃焼圧により減少した経過
時間だけを表わすTb′(i)の値を正確に検出するこ
とができる。
【0048】しかしながら振幅AMPが大きくなるとT
a(i)が最大又は最小となる気筒が発生する駆動力又
はトルクを正確に検出できなくなる。即ち、図15にお
いて例えば最初にTa(i)が最大になる気筒が1番気
筒であったとすると1番気筒#1のTb′(1)を算出
するための捩り振動による減少量hは図15の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)が最小となる気筒においても同
じことが生ずる。
【0049】また、一つ前に燃焼が行われた気筒のTa
(i)に対してTa(i)が急変した気筒においてもh
の値が実際の値からずれ、斯くして気筒が発生する駆動
力およびトルクを正確に検出できなくなる。そこで本発
明による実施例では振幅AMPが大きいときにはTa
(i)が最大又は最小となる気筒については駆動力又は
トルクを求めず、更に一つ前に燃焼が行われた気筒Ta
(i)に対してTa(i)が急変した気筒についても駆
動力又はトルクを求めないようにしている。
【0050】次に図16から図28を参照しつつ各気筒
が発生するトルクを求めるためのルーチンについて説明
する。なお、図28は各ルーチンにおいて行われる各値
の計算タイミングを示している。図16は30°クラン
ク角度毎に行われる割込みルーチンを示している。図1
6を参照するとまず初めに経過時間Ta(i),Tb
(i)を算出するためのルーチン(ステップ100)に
進む。このルーチンは図17に示されている。次いでト
ルクの算出を許可するか否かをチェックするためのルー
チン(ステップ200)に進む。このルーチンは図18
から図20に示されている。次いでトルクを算出するた
めのルーチン(ステップ300)に進む。このルーチン
は図22から図24に示されている。次いで比KTa
(i),KTb(i)を算出するためのルーチン(ステ
ップ400)に進む。このルーチンは図25および図2
6に示されている。次いでトルク変動値の算出に用いる
カウンタCDLNIXの処理ルーチン(ステップ50
0)に進む。このルーチンは図27に示されている。
【0051】経過時間Ta(i),Tb(i)の算出ル
ーチンを示す図17を参照すると、まず初めにステップ
101において時刻TIMEがTIMEOとされる。電
子制御ユニツト20は時刻を表わすフリーランカウンタ
を備えており、このフリーランカウンタのカウント値か
ら時刻が算出される。次いでステップ102では現在の
時刻が取込まれる。従ってステップ101のTIMEO
は30°クランク角度前の時刻を表わしていることにな
る。
【0052】次いでステップ103では現在i番気筒の
ATDC30°であるか否かが判別される。現在i番気
筒のATDC30°でない場合にはステップ107にジ
ャンプして現在i番気筒のATDC90°であるか否か
が判別される。現在i番気筒のATDC90°でない場
合にはステップ109にジャンプする。これに対してス
テップ103において現在i番気筒のATDC30°で
あると判別されたときにはステップ104に進んで次式
に基づきi番気筒のTDCからATDC30°までの最
終的な経過時間Ta(i)が算出される。
【0053】 Ta(i)=KTa(i)・(TIME−TIMEO) 即ち、例えば現在1番気筒#1のATDC30°である
とすると1番気筒#1のTDCからATDC30°まで
の最終的な経過時間Ta(1)がKTa(1)・(TI
ME−TIMEO)から算出される。ここで(TIME
−TIMEO)はクランク角センサ14により実測され
た経過時間Ta(1)を表わしており、KTa(1)は
ロータ13の外歯間隔による誤差を補正するための比で
あり、従って(TIME−TIMEO)にKTa(1)
を乗算することによって得られた最終的な経過時間Ta
(1)はクランクシャフトが30°クランク角度回転す
る間の経過時間を正確に表わしていることになる。
【0054】次いでステップ105では一つ前に燃焼が
行われた(i−1)番気筒が1番気筒#1であるか又は
4番気筒#4であるか否かが判別される。一つ前に燃焼
が行われた(i−1)番気筒が2番気筒#2又は3番気
筒#3のときにはステップ109にジャンプする。これ
に対して一つ前に燃焼が行われた(i−1)番気筒が1
番気筒#1又は4番気筒#4のときにはステップ106
に進む。
【0055】ステップ106では一つ前に燃焼が行われ
た(i−1)番気筒の発生トルクを算出すべきことを示
すフラグXCAL(i−1)がセット(XCAL(i−
1)←“1”)される。本発明による実施例では前述し
たように点火順序が1−3−4−2であるので現在3番
気筒#3のATDC30°であるとすると一つ前に燃焼
が行われた1番気筒#1の発生トルクを算出すべきこと
を示すフラグXCAL(1)がセットされる。同様に図
28に示される如く最終的な経過時間Ta(2)が算出
されるとフラグXCAL(4)がセットされる。即ち、
発生トルクを算出すべきことを示すフラグは1番気筒#
1および4番気筒#4についてのみセットされる。
【0056】一方、ステップ107において現在i番気
筒のATDC90°であると判別されたときにはステッ
プ108に進んで次式に基づきi番気筒のATDC60
°からATDC90°までの最終的な経過時間Tb
(i)が算出される。 Tb(i)=KTb(i)・(TIME−TIMEO) 即ち、例えば現在1番気筒#1のATDC90°である
とすると1番気筒#1のATDC60°からATDC9
0°までの最終的な経過時間Tb(1)がKTb(1)
・(TIME−TIMEO)から算出される。この場合
にもロータ13の外歯間隔による誤差を補正するための
比KTb(1)が(TIME−TIMEO)に乗算され
ているので最終的な経過時間Tb(1)はクランクシャ
フトが30°クランク角度回転する間の経過時間を正確
に表わしていることになる。
【0057】次いでステップ109では現在i番気筒の
ATDC210°であるか否かが判別され、現在i番気
筒のATDC210°である場合にはi番気筒のATD
C30°からATDC210°までの経過時間T180
(i)、即ちi番気筒の爆発行程の経過時間T180
(i)が算出される。本願明細書においては詳細に説明
しないが各気筒の爆発行程の経過時間T180(i)と
その気筒の次の爆発行程の経過時間T180(i)との
差が各気筒毎に算出され、各気筒に対するこれら差が小
さくなるように各気筒に対する気筒間補正係数KGTP
(i)が算出される。なお、この気筒間補正係数KGT
P(i)の詳細については例えば特開平4−37034
6号公報に開示されている。
【0058】次に図18から図20に示されるトルク算
出許可チェックルーチンについて図21を参照しつつ説
明する。このルーチンは車両が凸凹道を走行することに
よりTa(i)の変動の振幅AMP(図15)が大きく
なったときには特定の気筒についてのトルクの算出を禁
止するために設けられている。即ち、図18から図20
を参照すると、まず初めにステップ201において現在
いずれかの気筒のATDC30°であるか否かが判別さ
れる。現在いずれかの気筒のATDC30°でないとき
には処理サイクルを完了し、現在いずれかの気筒のAT
DC30°であるときにはステップ202に進む。
【0059】ステップ202からステップ204では経
過時間Ta(i)が増大し次いで減少する際の最大経過
時間T30maxが算出される。即ち、ステップ202
では図17に示すルーチンにおいて算出されたTa
(i)が最大経過時間T30maxよりも大きいか否か
が判別される。T30max>Ta(i)のときにはス
テップ205にジャンプし、これに対してT30max
≦Ta(i)のときにはステップ203に進んでTa
(i)がT30maxとされる。次いでステップ204
ではTa(i)が増大していることを示す増大フラグX
MXRECがセット(XMXREC←“1”)され、次
いでステップ205に進む。
【0060】ステップ205からステップ207では経
過時間Ta(i)が減少し次いで増大する際の最小経過
時間T30minが算出される。即ち、ステップ205
では図17に示すルーチンにおいて算出されたTa
(i)が最小経過時間T30minよりも小さいか否か
が判別される。T30min<Ta(i)のときにはス
テップ208にジャンプし、これに対してT30min
≧Ta(i)のときにはステップ206に進んでTa
(i)がT30minとされる。次いでステップ207
ではTa(i)が減少していることを示す減少フラグX
MNRECがセット(XMNREC←“1”)され、次
いでステップ208に進む。
【0061】ステップ208からステップ214ではT
a(i)の変動の振幅AMP(図15)が設定値A0
越えたときにはTa(i)が最大となった気筒について
のトルクの算出を禁止する禁止フラグがセットされる。
即ち、ステップ208ではT30max>Ta(i)で
かつXMXREC=“1”であるか否かが判別される。
T30max≦Ta(i)であるか、又は増大フラグX
MXRECがリセット(XMXREC=“0”)されて
いるときにはステップ215にジャンプし、これに対し
てT30max>Ta(i)でかつXMXREC=
“1”のときにはステップ209に進む。
【0062】即ち、図21に示されるように時刻t1
おいて1番気筒#1の経過時間Ta(1)が最大になっ
たとする。この場合、時刻t1 において行われる割込み
ルーチンではステップ202からステップ203に進ん
でTa(1)がT30maxとされ、次いでステップ2
04において増大フラグXMXRECがセットされる。
一方、図21の時刻t2 において行われる割込みルーチ
ンではステップ202からステップ205にジャンプす
る。このときステップ208ではT30max>Ta
(3)であり、かつXMXREC=“1”であると判断
されるのでステップ209に進む。即ち、ステップ20
9に進むのは経過時間Ta(i)が減少しはじめる時刻
2 である。
【0063】ステップ209では最大経過時間T30m
axがTMXRECとされる。次いでステップ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”)される。即ち、図21の時刻
2 において行われる割込みルーチンでは前述したよう
に1番気筒#1の発生トルクが算出される。従ってこの
割込みルーチンにおいてAMP≧A0 となり、トルク算
出禁止フラグXNOCALがセットされると1番気筒#
1の発生トルクの算出、即ち、Ta(i)が最大となる
気筒の発生トルクの算出が禁止される。
【0064】ステップ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に進む。
【0065】即ち、図21に示されるように時刻t3
おいて1番気筒#1の経過時間Ta(1)が最小になっ
たとする。この場合、時刻t3 において行われる割込み
ルーチンではステップ205からステップ206に進ん
でTa(1)がT30minとされ、次いでステップ2
07において減少フラグXMNRECがセットされる。
一方、図21の時刻t4 において行われる割込みルーチ
ンではステップ205からステップ208にジャンプす
る。このときステップ215ではT30min<Ta
(3)であり、かつXMNREC=“1”であると判断
されるのでステップ216に進む。即ち、ステップ21
6に進むのは経過時間Ta(i)が増大しはじめる時刻
4 である。
【0066】ステップ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”)される。即ち、図
21の時刻t4 において行われる割込みルーチンでは1
番気筒#1の発生トルクが算出される。従ってこの割込
みルーチンにおいてAMP≧A0 となり、トルク算出禁
止フラグXNOCALがセットされると1番気筒#1の
発生トルクの算出、即ち、Ta(i)が最小となる気筒
の発生トルクの算出が禁止される。
【0067】ステップ222およびステップ223では
経過時間Ta(i)が急変した気筒についてのトルクの
算出が禁止される。即ち、ステップ222では|Ta
(i−2)−Ta(i−1)|がK0 ・|Ta(i−
1)−Ta(i)|よりも大きいか否かが判別される。
ここで定数K0 は3.0から4.0程度の値である。ス
テップ222において|Ta(i−2)−Ta(i−
1)|<K0 ・|Ta(i−1)−Ta(i)|である
と判別されたときには処理ルーチンを完了し、|Ta
(i−2)−Ta(i−1)|≧K0 ・|Ta(i−
1)−Ta(i)|であると判別されたときにはステッ
プ223に進んでトルク算出禁止フラグXNOCALが
セットされる。
【0068】即ち、今図21の時刻t3 における割込み
ルーチンであるとするとこのときには|Ta(4)−T
a(2)|がK0 ・|Ta(2)−Ta(1)|よりも
大きいか否かが判別される。図21に示されるようにT
a(4)に対してTa(2)が急変すると|Ta(4)
−Ta(2)|はK0 ・|Ta(2)−Ta(1)|よ
りも大きくなる。このときトルク算出禁止フラグがセッ
トされ、経過時間Ta(i)が急変した2番気筒#2の
トルクの算出が禁止される。なお、本発明による実施例
では欠歯部分18(図10)との関係でもって2番気筒
#2および3番気筒#3についてはトルクの算出が禁止
されており、従って図18から図20に示されるトルク
算出許可チェックルーチンにおいて実質的にトルクの算
出を行うべきか否かが判断されるのは1番気筒#1およ
び4番気筒#4である。
【0069】次いで図22から図24に示すトルク算出
ルーチンについて説明する。図22から図24を参照す
るとまず初めにステップ301では減速運転時において
燃料の供給が停止されているか否か、即ち燃料カット中
であるか否かが判別される。燃料の供給が停止されてい
ないときにはステップ313にジャンプし、燃料の供給
が停止されているときにはステップ302に進む。ステ
ップ302では図18から図20に示されるトルク算出
許可チェックルーチンにおいて算出された振幅AMPが
設定値B0 よりも大きいか否かが判別される。AMP>
0 のときにはステップ313にジャンプし、これに対
してAMP≦B0 のときにはステップ303に進む。ス
テップ303では現在i番気筒のATDC90°である
か否かが判別される。現在i番気筒のATDC90°で
ない場合にはステップ313にジャンプし、これに対し
て現在i番気筒のATDC90°のときにはステップ3
04に進む。
【0070】ステップ304では一つ前に爆発行程であ
った(i−1)番気筒(このとき燃焼は行われていな
い)が1番気筒#1であるか又は4番気筒#4であるか
否かが判別される。一つ前に爆発行程であった(i−
1)番気筒が2番気筒#2又は3番気筒#3のときには
ステップ313にジャンプする。これに対して一つ前に
爆発行程であった(i−1)番気筒が1番気筒#1又は
4番気筒#4のときにはステップ305に進む。
【0071】ステップ305では一つ前に爆発行程であ
った(i−1)番気筒が機関回転数Nに対して図9に示
すいずれのrn (i−1)の算出領域S1 ,S2
3 ,S 4 ,S5 …であったかが判別される。(i−
1)番気筒がいずれの算出領域S1,S2 ,S3
4 ,S5 …でもなかったときにはステップ313にジ
ャンプし、(i−1)番気筒がいずれかの算出領域
1 ,S2 ,S3 ,S4 ,S5 …であるときにはステッ
プ306に進む。ステップ306では一つ前に爆発行程
であった(i−1)番気筒の経過時間Tb(i−1)と
経過時間Ta(i−1)との差T(i−1)(=Tb
(i−1)−Ta(i−1))が算出される。即ち、一
つ前に爆発行程であった気筒が1番気筒#1であれば差
T(1)(=Tb(1)−Ta(1))が算出され、一
つ前に爆発行程であった気筒が4番気筒#4であれば差
T(4)(=Tb(4)−Ta(4))が算出される。
【0072】次いでステップ307では差T(i−1)
が差T(i−1)の積算値ΣT(i−1)に加算される
(ΣT(i−1)=ΣT(i−1)+T(i−1))。
次いでステップ308では(i−1)番気筒の算出領域
Snに対するカウント値Cn(i−1)が1だけインク
リメントされる。次いでステップ309では機関回転数
Nが算出領域Snを通過したか否かが判別される。機関
回転数Nが算出領域Sn内にあるときにはステップ31
3にジャンプし、これに対して機関回転数Nが算出領域
Snを通過したときにはステップ310に進む。ステッ
プ310では次式に基づいて経過時間の増大量rn (i
−1)が算出される。
【0073】rn (i−1)=rn (i−1)+{ΣT
(i−1)/Cn(i−1)−rn(i−1)}/16 即ち、例えば一つ前に爆発行程であった(i−1)番気
筒が1番気筒#1であり、算出領域Snが図9のS1
あったとすると経過時間の増大量r1(1) は次式のよう
に表わされる。
【0074】r1(1) =r1(1) +{ΣT(1)/C
1(1) −r1(1) }/16 即ち、ΣT(1)/C1(1) は1番気筒#1が算出領域
1 内にあるときの経過時間の差T(i−1)の平均値
を示しており、この平均値ΣT(1)/C1(1) とこれ
まで使用されてきた増大量r1(1) との間に差がある場
合には増大量r 1(1) が平均値ΣT(1)/C1(1) に
近づくように更新される。ステップ310において増大
量rn (i−1)が更新されるとステップ311に進ん
で積算値ΣT(i−1)がクリアされ、次いでステップ
312ではカウント値Cn(i−1)がクリアされる。
【0075】一方、ステップ313において一つ前に燃
焼が行われた(i−1)番気筒の発生トルクを算出すべ
きことを示すフラグXCAL(i−1)がセットされて
いるか否かが判別される。フラグXCAL(i−1)=
“0”のとき、即ちフラグXCAL(i−1)がセット
されていないときには処理サイクルを完了する。これに
対してフラグXCAL(i−1)=“1”のとき、即ち
フラグXCAL(i−1)がセットされているときには
ステップ314に進んでフラグXCAL(i−1)がリ
セットされ、次いでステップ315に進む。
【0076】ステップ315では一つ前に燃焼が行われ
た気筒についてのトルクの算出を禁止する禁止フラグX
NOCALがリセット(XNOCAL=“0”)されて
いるか否かが判別される。この禁止フラグがセット(X
NOCAL=“1”)されているときにはステップ32
4に進んで禁止フラグXNOCALがリセットされる。
これに対して禁止フラグがリセットされているときには
ステップ316に進む。即ち、フラグXCALがセット
されており、かつ禁止フラグXNOCALがリセットさ
れているときのみステップ316に進む。
【0077】ステップ316では各算出領域S1
2 ,S3 ,S4 ,S5 …に対して夫々求められている
各増大量r1(i) ,r2(i) ,r3(i) ,r4(i) ,r
5(i) …から現在の機関回転数Nに応じた増大量r
n (i−1)が補間計算することにより算出される。次
いでステップ317では次式に基づいて機関駆動系の捩
り振動に基づく経過時間の変動値h(図13)が算出さ
れる。
【0078】 h={Ta(i−1)−Ta(i)}・60/180 即ち、図13からわかるように経過時間の変動値hはh
0 (=Ta(i−1)−Ta(i))の三分の一とな
る。次いでステップ318では次式に基いて燃焼圧によ
り減少した経過時間だけを表わすTb′(i−1)が算
出される。 Tb′(i−1)=Tb(i−1)−rn (i−1)+
h 即ち、1番気筒#1についてのTb′(1)を求める場
合にはh={Ta(1)−Ta(3)}・60/180
となり、Tb′(1)=Tb(1)−rn (1)+hと
なる。また、4番気筒#4についてのTb′(4)を求
める場合にはh={Ta(4)−Ta(2)}・60/
180となり、Tb′(4)=Tb(4)−rn (4)
+hとなる。
【0079】次いでステップ319では一つ前に燃焼が
行われた気筒の発生トルク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)は燃焼圧により発生する真のトルクを表わしてい
ることになる。
【0080】なお、各気筒が発生する駆動力GN(i−
1)を求める場合にはこの駆動力GN(i−1)は次式
に基づいて算出することができる。 GN(i−1)=(30°/Tb′(i−1))−(3
0°/Ta(i−1)) ステップ319において発生トルクDN(i−1)が算
出されるとステップ320に進んで次式に基づき同一気
筒の1サイクルの間におけるトルク変動量DLN(i−
1)が算出される。
【0081】 DLN(i−1)=DN(i−1)j−DN(i−1) ここでDN(i−1)jはDN(i−1)に対して一サ
イクル(720°クランク角度)前の同一気筒の発生ト
ルクを表わしている。次いでステップ321ではトルク
変動量DLN(i−1)が正であるか否かが判別され
る。DLN(i−1)≧0であればステップ323にジ
ャンプして一つ前に燃焼が行われた気筒のトルク変動量
DLN(i−1)を積算すべきことを示す積算要求フラ
グXCDLN(i−1)がセット(XCDLN(i−
1)←“1”)される。これに対してDLN(i−1)
<0であればステップ322に進んでDLN(i−1)
が零とされ、次いでステップ323に進む。なお、各気
筒のトルクは上昇と低下を繰返し、この場合トルク変動
量を求めるにはトルクの上昇分がトルクの減少分のいず
れかを積算すればよい。図22から図24に示すルーチ
ンではトルクの減少分のみを積算するようにしており、
従って上述したようにDLN(i−1)<0のときには
DLN(i−1)を零にしている。
【0082】次に図25および図26を参照しつつ比K
Ta(i),KTb(i)を算出するためのルーチンに
ついて説明する。図25および図26を参照すると、ま
ず初めにステップ401において減速運転中に燃料の供
給が停止されたか否か、即ち燃料カット中であるか否か
が判別される。燃料カット中でなければステップ415
に進んで経過時間Ta(i),Tb(i)の積算値ΣT
a(i),ΣTb(i)がクリアされ、次いで処理サイ
クルを完了する。これに対して燃料カット中であるとき
にはステップ402に進んでトルク算出許可チェックル
ーチンにおいて算出された振幅AMPが設定値B0より
も大きいか否かが判別される。AMP>B0 のときには
ステップ415に進み、これに対してAMP≦B0 のと
きにはステップ403に進む。
【0083】ステップ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)が更新される。
【0084】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)がクリアされる。
【0085】一方、ステップ409からステップ415
では1番気筒#1と4番気筒#4に対するKTb(i)
が算出される。即ち、ステップ409では1番気筒#1
のTb(1)又は4番気筒#4のTb(4)が算出され
たか否かが判別される。1番気筒#1のTb(1)又は
4番気筒#4のTb(4)が算出されたときでなければ
処理サイクルを完了する。これに対して1番気筒#1の
Tb(1)又は4番気筒#4のTb(4)が算出された
ときにはステップ410に進む。
【0086】ステップ410では1番気筒#1又は4番
気筒#4について夫々対応する経過時間Tb(i)が積
算値ΣTb(i)に加算される。即ち、Tb(1)がΣ
Tb(1)に加算され、Tb(4)がΣTb(4)に加
算される。次いでステップ411では各Tb(i)が夫
々n回積算されたか否かが判別される。n回積算されて
いないときには処理サイクルを完了し、n回積算される
とステップ412に進む。ステップ412では各積算値
ΣTb(i)の平均値Mb(={ΣTb(1)+ΣTb
(4)}/2)が算出される。次いでステップ413で
は1番気筒#1と4番気筒#4の各気筒について夫々補
正値β(i)(=Mb/ΣTb(i))が算出される。
次いでステップ414では次式に基いて比KTb(i)
が更新される。
【0087】KTb(i)←KTb(i)+{β(i)
−KTb(i)}/4 このようにして1番気筒#1と4番気筒#4の各気筒に
対する比KTb(1)およびKTb(4)が算出され
る。例えばβ(1)がこれまで用いられていたKTb
(1)よりも大きくなったとするとβ(1)とKTb
(1)との差{β(1)−KTb(1)}の1/4かK
Tb(1)に加算され、斯くしてKTb(1)はβ
(1)に徐々に近づくことになる。ステップ414にお
いてKTb(i)が算出されるとステップ415に進ん
で各積算値ΣTb(i)がクリアされる。
【0088】次に図27を参照しつつカウンタCDLN
IXの処理について説明する。このカウンタCDLNI
Xのカウント値は後に説明するトルク変動値を算出する
際に使用される。図27を参照すると、まず初めに現在
3番気筒#3のATDC30°であるか否かが判別され
る。現在3番気筒#3のATDC30°でないときには
処理サイクルを完了し、現在3番気筒#3のATDC3
0°であるときにはステップ502に進む。ステップ5
02ではトルク変動値を算出するためのトルク変動値算
出条件が成立しているか否かが判別される。例えば空燃
比をリーンとする条件が成立していないか、或いはサー
ジタンク3内の絶対圧の単位時間当りの変化量ΔPMが
設定値以上であるか、或いは機関回転数の単位時間当り
の変化量ΔNが設定値以上であるときにはトルク変動値
算出条件が成立していないと判断され、それ以外のとき
にはトルク変動値算出条件が成立していると判断され
る。
【0089】ステップ502においてトルク変動値算出
条件が成立していると判断されたときにはステップ50
8に進んでカウント値CDLNIXが1だけインクリメ
ントされる。このカウント値CDLNIXのインクリメ
ント作用は3番気筒#3がATDC30°となる毎に、
即ち720°クランク角度毎に行われる。次いでステッ
プ509ではカウント値CDLNIXのインクリメント
作用が開始されてからカウント値CDLNIXがクリア
されるまでの間の機関回転数の平均値NAVE およびサー
ジタンク3内の絶対圧の平均値PMAVE が算出される。
【0090】一方、ステップ502において変動値算出
条件が成立していないと判断されたときにはステップ5
03に進んでカウント値CDLNIXがクリアされる。
次いでステップ504では1番気筒#1および4番気筒
#4の各気筒に対するトルク変動値DLN(i)の積算
値DLNI(i)(この積算値は後に説明するルーチン
において算出される)がクリアされ、次いでステップ5
05ではこれら気筒に対する積算カウント値CDLNI
(i)(この積算カウント値は後に説明するルーチンに
おいて算出される)がクリアされる。
【0091】次いでステップ506では目標トルク変動
値LVLLFBが算出される。本発明による実施例では
後に説明するように算出されたトルク変動値がこの目標
トルク変動値LVLLFBとなるように空燃比がフィー
ドバック制御される。この目標トルク変動値LVLLF
Bは等しい変動値を実線で示した図29(A)に示され
るようにサージタンク3内の絶対圧PMが高くなるほど
大きくなり、機関回転数Nが高くなるほど大きくなる。
この目標トルク変動値LVLLFBは図29(B)に示
されるようにサージタンク3内の絶対圧PMおよび機関
回転数Nの関数としてマップの形で予めROM22内に
記憶されている。次いでステップ507では1番気筒#
1と4番気筒#4の各気筒の平均トルク変動値DLNI
SM(i)(この平均トルク変動値は後に説明するルー
チンにおいて算出される)が図29(B)のマップから
算出された目標トルク変動値LVLLFBとされる。図
31は繰返し実行されるメインルーチンを示している。
このメインルーチンではまず初めにトルク変動値の算出
ルーチン(ステップ600)が実行される。このルーチ
ンが図32および図33に示されている。次いでリーン
リミットフィードバック補正係数FLLFBの算出ルー
チン(ステップ700)が実行される。このルーチンが
図34に示されている。次いで予め定められたクランク
角になったときに噴射時間算出ルーチン(ステップ80
0)が実行される。このルーチンが図35に示されてい
る。次いでその他のルーチン(ステップ900)が実行
される。
【0092】次に図32および図33に示されるトルク
変動値の算出ルーチンについて説明する。図32および
図33を参照すると、まず初めにステップ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(1)が算出され、ステップ6
04において積算カウント値CDLNI(1)が1だけ
インクリメントされる。
【0093】次いでステップ605では積算カウント値
CDLNI(i)が“8”になったか否かが判別され
る。CDLNI(i)が“8”でないときにはステップ
609にジャンプし、CDLNI(i)が“8”になる
とステップ606に進んで次式から各気筒の平均トルク
変動値DLNISM(i)が算出される。 DLNISM(i)=DLNISM(i)+{DLNI
(i)−DLNISM(i)}/4 次いでステップ607では1番気筒#1又は4番気筒#
4に対するトルク変動量積算値DLNI(i)がクリア
され、次いでステップ608では積算カウント値CDL
NI(i)がリセットされる。
【0094】即ち、算出されたトルク変動量積算値DL
NI(i)とこれまで用いられてきたトルク変動量DL
NISM(i)との間に差があるときにはこの差{DL
NI(i)−DLNISM(i)}に1/4を乗算した
値がトルク変動量DLNISM(i)に加算される。従
って例えば1番気筒#1についての積算カウント値CD
LNI(1)が“8”になるとステップ606において
トルク変動値DLNISM(1)が算出されることにな
る。
【0095】次いでステップ609では図27に示すル
ーチンにおいて算出されたカウント値CDLNIXが
“8”になったか否かが判別される。CDLNIXが
“8”でないときには処理サイクルを完了し、CDLN
IXが“8”になるとステップ610に進んで1番気筒
#1と4番気筒#4の各気筒のトルク変動値DLNIS
M(i)の平均値である平均トルク変動値DLNISM
(={DLNISM(1)+DLNISM(4)}/
2)が算出される。次いでステップ611ではカウント
値CDLNIXがクリアされる。このようにして機関の
トルク変動量を代表する値DLNISMが算出される。
【0096】なお、前述したようにカウント値CDLN
IXは720°クランク角度毎に1だけインクリメント
され、1番気筒#1と4番気筒#4のいずれの気筒につ
いてもトルクの算出が禁止されたことがなければカウン
ト値CDLNIXが“8”になったときにはこれら気筒
に対する積算カウント値CDLNI(1)およびCDL
NI(4)は既に“8”となっている。従ってこの場合
にはこれらの気筒についてトルク変動値DLNISM
(i)が算出される。一方、例えば1番気筒#1につい
てトルクの算出が禁止されたとするとカウント値CDL
NIXが“8”になったときに1番気筒#1の積算カウ
ント値CDLNI(1)は“8”になっておらず、斯く
して1番気筒#1については新たなトルク変動量積算値
DLNI(1)は算出されていない。従ってこの場合、
ステップ610において平均トルク変動値DLNISM
を求める際には1番気筒#1だけについては以前に算出
されたトルク変動値DLNISM(1)が使用される。
【0097】次に図34を参照しつつFLLFB算出ル
ーチンについて説明する。図34を参照すると、まず初
めにステップ701においてリーンリミットフィードバ
ック補正係数FLLFBの更新条件が成立しているか否
かが判別される。例えば暖機運転時であるとき、或いは
機関の運転状態が図5において破線で囲まれた学習領域
にないときには更新条件が成立していないと判断され、
その他のときには更新条件が成立していると判断され
る。更新条件が成立していないときには処理サイクルを
完了し、更新条件が成立しているときにはステップ70
2に進む。
【0098】ステップ702ではサージタンク3内の絶
対圧PMと機関回転数Nから図29(B)に示すマップ
に基づいて目標トルク変動値LVLLFBが算出され
る。次いでステップ703およびステップ704では目
標トルク変動値LVLLFBに応じた変動量判別値DH
(n),DL(n)に基づいて次式に示されるトルク変
動レベルLVLH(n),LVLL(n)が算出され
る。
【0099】 LVLH(n)=LVLLFB+DH(n) LVLL(n)=LVLLFB+DL(n) ここで、変動量判別値DH(n)およびDL(n)は図
30(A)に示されるように予め定められている。即
ち、図30(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が大きくなる
につれて次第に増大する。
【0100】ところで今、ステップ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)とされる。
【0101】一方、図30(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 である。図30(B)に示
す各フィードバック補正値+a1 ,+a2 ,+a3 ,+
4 ,−b1 ,−b 2 ,−b3 ,−b4 が図30(A)
の対応する領域に示されている。
【0102】ステップ703およびステップ704にお
いて夫々トルク変動レベルLVLH(n),LVLL
(n)が算出されるとステップ705に進んで図32お
よび図33に示すトルク変動値の算出ルーチンにより算
出された平均トルク変動値DLNISMが図30(B)
に示されるどのトルク変動レベルLVLH(n),LV
LL(n)の間にあるか否かが判別される。次いでステ
ップ706では対応するフィードバック補正値DLFB
が算出される。例えば今、目標変動レベルLVLLFB
が図30(A)において破線で示される値であり、算出
されたトルク変動値の平均値DLNISMが図30
(B)のLVLH(1)とLVLH(2)との間である
場合、即ち目標変動レベルLVLLFBに対するトルク
変動値の平均値DLNISMの偏差が図30(A)の破
線上においてDH(1)とDH(2)の間にある場合に
はフィードバック補正値DLFBは+a2 とされる。
【0103】次いでステップ707では図27に示すC
DLNIXの処理ルーチンのステップ509において求
められた機関回転数の平均値NAVE およびサージタンク
3内の絶対圧の平均値PMAVE に基づいて更新すべきリ
ーンリミットフィードバック補正係数FLLBFijが
図5に示されるどの学習領域のリーンリミットフィード
バック補正係数であるかが決定される。次いでステップ
708ではステップ707において決定されたリーンリ
ミットフィードバック補正係数FLLFBijにフィー
ドバック補正値DLFBが加算される。
【0104】即ち、上述したように例えばDLNISM
>LVLLFBであって、LVLH(1)<DLNIS
M<LVLH(2)である場合にはリーンリミットフィ
ードバック補正係数FLLFBijに+a2 が加算され
る。その結果、空燃比が小さくなるので各気筒のトルク
変動量が減少せしめられる。一方、DLNISM<LV
LLFBであってLVLL(1)>DLNISM>LV
LL(2)である場合にはリーンリミットフィードバッ
ク補正係数FLLFBijに−b2 が加算される。その
結果、空燃比が大きくなるので各気筒のトルク変動量が
増大せしめられる。このようにして全気筒のトルク変動
量平均値DLNISMが目標トルク変動値LVLLFB
となるようにリーン運転時の空燃比が制御される。
【0105】なお、図27に示すルーチンに示されるよ
うにトルク変動値の算出条件が成立しないときにはステ
ップ507においてDLNISM(i)がLVLLFB
とされ、斯くして平均トルク変動値DLNISMも目標
トルク変動値LVLLFBとされる。従ってこのときに
はリーンリミットフィードバック補正係数FLLFBi
jの更新は行われない。
【0106】次に図35を参照しつつ燃料噴射時間の算
出ルーチンについて説明する。図35を参照すると、ま
ず初めにステップ801において図2に示すマップから
基本燃料噴射時間TPが算出される。次いでステップ8
02ではリーン運転を行うべき運転状態か否かが判別さ
れる。リーン運転を行うべき運転状態のときにはステッ
プ803に進んで理論空燃比フィードバック補正係数F
AFの値が1.0に固定される。次いでステップ804
では図4に示すマップからリーン補正係数FLEANが
算出され、次いで図5に示すマップからリーンリミット
フィードバック補正係数FLLFBが読込まれる。次い
でステップ806では気筒間補正係数KGTP(i)が
算出される。次いでステップ811では次式に基づいて
燃料噴射時間TAUが算出される。
【0107】TAU=TP・FLEAN・FLLFB・
FAF・KGTP(i)+TAUV これに対し、ステップ802においてリーン運転を行う
べき運転状態でないと判別されたとき、即ち空燃比を理
論空燃比にすべきときにはステップ807に進んでリー
ン補正係数FLEANが1.0に固定され、次いでステ
ップ808においてリーンリミットフィードバック補正
係数FLLFBが1.0に固定される。次いでステップ
809では気筒間補正係数KGTP(i)が1.0に固
定される。次いでステップ810では空燃比センサ17
の出力信号に基づいて空燃比が理論空燃比となるように
理論空燃比フィードバック補正係数FAFが制御され
る。次いでステップ811に進み、燃料噴射時間TAU
が算出される。
【0108】
【発明の効果】各気筒の発生する駆動力、或いは各気筒
の発生するトルクを正確に検出することができる。ま
た、検出されたこれら駆動力或いはトルクから駆動力或
いはトルクの変動量を求めるようにした場合にはこれら
駆動力或いはトルクの変動量を正確に検出することがで
きる。
【図面の簡単な説明】
【図1】内燃機関の全体図である。
【図2】基本燃料噴射時間のマップを示す図である。
【図3】NOxの発生量とトルク変動を示す図である。
【図4】リーン補正係数のマップを示す図である。
【図5】リーンリミットフィードバック補正係数のマッ
プを示す図である。
【図6】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
【図7】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
【図8】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
【図9】経過時間の増大量を示す図である。
【図10】ロータの拡大側面図である。
【図11】経過時間の増大量を示す図である。
【図12】30°クランク角度の経過時間Ta(i)の
変化を示すタイムチャートである。
【図13】30°クランク角度の経過時間Ta(i),
Tb(i)の変化を示すタイムチャートである。
【図14】30°クランク角度の経過時間Ta(i),
Tb(i)の変化を示すタイムチャートである。
【図15】30°クランク角度の経過時間Ta(i)の
変化を示すタイムチャートである。
【図16】割込みルーチンを示すフローチャートであ
る。
【図17】経過時間Ta(i),Tb(i)を算出する
ためのフローチャートである。
【図18】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図19】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図20】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図21】経過時間Ta(i)の変化とフラグXMXR
EC,XMNRECの変化を示すタイムチャートであ
る。
【図22】トルクを算出するためのフローチャートであ
る。
【図23】トルクを算出するためのフローチャートであ
る。
【図24】トルクを算出するためのフローチャートであ
る。
【図25】比KTa(i),KTb(i)を算出するた
めのフローチャートである。
【図26】比KTa(i),KTb(i)を算出するた
めのフローチャートである。
【図27】カウンタCDLNIXを処理するためのフロ
ーチャートである。
【図28】種々の値の計算タイミングを示す図である。
【図29】目標トルク変動値を示す図である。
【図30】変動量判別値DH(n),DL(n)および
トルク変動レベルLVLH(n),LVLL(n)を示
す図である。
【図31】メインルーチンを示すフローチャートであ
る。
【図32】トルク変動値を算出するためのフローチャー
トである。
【図33】トルク変動値を算出するためのフローチャー
トである。
【図34】リーンリミットフィードバック補正係数を算
出するためのフローチャートである。
【図35】燃料噴射時間を算出するためのフローチャー
トである。
【符号の説明】
3…サージタンク 4…燃料噴射弁 7…スロットル弁 13…ロータ 14…クランク角センサ

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 圧縮行程末期から爆発行程初期までのク
    ランク角度領域内に第1のクランク角度範囲を設定し、
    第1のクランク角度範囲から一定のクランク角を隔てた
    爆発行程中期のクランク角度領域内に第2のクランク角
    度範囲を設定し、該第1のクランク角度範囲内における
    クランクシャフトの第1の角速度を検出すると共に該第
    2のクランク角度範囲内におけるクランクシャフトの第
    2の角速度を検出し、燃料の供給停止時に第1の角速度
    から第2の角速度を差引いた角速度差を検出すると共に
    燃料の供給時に第2の角速度に対して該角速度差を加算
    することによって第2の角速度を補正し、予め定められ
    た気筒の第1の角速度と補正された第2の角速度とに基
    づいて該予め定められた気筒が発生する駆動力を求める
    ようにした内燃機関における検出方法。
  2. 【請求項2】 燃料の供給停止時に上記角速度差を予め
    定められた機関回転数領域毎に検出し、燃料の供給時に
    そのときの機関回転数に対応した該機関回転数領域につ
    いて検出されている角速度差でもって第2の角速度を補
    正するようにした請求項1に記載の内燃機関における検
    出方法。
  3. 【請求項3】 上記予め定められた気筒の第1の角速度
    の2乗と補正された第2の角速度の2乗との差を求め、
    上記駆動力が該差によって表わされる予め定められた気
    筒の発生トルクを示している請求項1に記載の内燃機関
    における検出方法。
  4. 【請求項4】 上記発生トルクを各気筒について求め、
    各気筒における発生トルクの変動からトルク変動量を算
    出する請求項3に記載の内燃機関における検出方法。
  5. 【請求項5】 クランクシャフトに連結されかつ欠歯部
    分を有するロータの歯にクランク角センサを対面配置し
    て該クランク角センサの出力信号に基づいて角速度を検
    出し、角速度を検出すべきときにクランク角センサが欠
    歯部分に対面する気筒以外の気筒について発生トルクを
    算出すると共にこの算出された発生トルクに基づいてト
    ルク変動量を算出するようにした請求項3に記載の内燃
    機関における検出方法。
JP09410796A 1996-04-05 1996-04-16 内燃機関における検出方法 Expired - Fee Related JP3218970B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP09410796A JP3218970B2 (ja) 1996-04-16 1996-04-16 内燃機関における検出方法
DE1997622842 DE69722842T2 (de) 1996-04-05 1997-04-04 Verfahren zum Erfassen der Winkelgeschwindigkeit und des Drehmoments einer Brennkraftmaschine
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
JP09410796A JP3218970B2 (ja) 1996-04-16 1996-04-16 内燃機関における検出方法

Publications (2)

Publication Number Publication Date
JPH09280100A true JPH09280100A (ja) 1997-10-28
JP3218970B2 JP3218970B2 (ja) 2001-10-15

Family

ID=14101224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09410796A Expired - Fee Related JP3218970B2 (ja) 1996-04-05 1996-04-16 内燃機関における検出方法

Country Status (1)

Country Link
JP (1) JP3218970B2 (ja)

Also Published As

Publication number Publication date
JP3218970B2 (ja) 2001-10-15

Similar Documents

Publication Publication Date Title
JP3303739B2 (ja) 内燃機関の空燃比制御方法
EP0849581B1 (en) Method of detection of output fluctuation in internal combustion engine
JP4135504B2 (ja) 内燃機関の制御装置
JP3303732B2 (ja) 内燃機関の制御装置
JP3216577B2 (ja) 内燃機関の空燃比制御方法
JP3279179B2 (ja) 多気筒内燃機関における検出方法
JP3262003B2 (ja) 多気筒内燃機関の出力変動検出方法
EP0811758B1 (en) Method of controlling an air-fuel ratio of an engine
JP3246325B2 (ja) 内燃機関における検出方法
JP3218970B2 (ja) 内燃機関における検出方法
EP0799983B1 (en) Method of detection of angular velocity and torque in an internal combustion engine
JP3246328B2 (ja) 内燃機関における検出方法
JP3303669B2 (ja) 内燃機関の空燃比制御方法
JP3156588B2 (ja) 内燃機関の空燃比制御方法
JPH09281006A (ja) 内燃機関における変動検出方法
JP3085220B2 (ja) 内燃機関の空燃比制御方法
JPH1182119A (ja) 内燃機関の出力制御装置
JPH1182086A (ja) 内燃機関の空燃比制御方法
JP2005207366A (ja) 内燃機関の制御装置
JPH10331685A (ja) 内燃機関の空燃比制御装置
JPH0751929B2 (ja) 内燃機関の点火時期制御装置
JPH02291459A (ja) 車両のサージング防止装置
JPH1130148A (ja) 内燃機関の空燃比制御方法
JP2002089345A (ja) エンジンの失火検出装置
JPH1191409A (ja) 内燃機関の動力伝達制御装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20070810

Year of fee payment: 6

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20080810

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

Free format text: PAYMENT UNTIL: 20080810

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090810

Year of fee payment: 8

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

Year of fee payment: 9

Free format text: PAYMENT UNTIL: 20100810

LAPS Cancellation because of no payment of annual fees