JPH09281006A - 内燃機関における変動検出方法 - Google Patents

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

Info

Publication number
JPH09281006A
JPH09281006A JP9685796A JP9685796A JPH09281006A JP H09281006 A JPH09281006 A JP H09281006A JP 9685796 A JP9685796 A JP 9685796A JP 9685796 A JP9685796 A JP 9685796A JP H09281006 A JPH09281006 A JP H09281006A
Authority
JP
Japan
Prior art keywords
torque
cylinder
crank angle
angular velocity
driving force
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9685796A
Other languages
English (en)
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 JP9685796A priority Critical patent/JPH09281006A/ja
Publication of JPH09281006A publication Critical patent/JPH09281006A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)
  • Testing Of Engines (AREA)

Abstract

(57)【要約】 【課題】 各気筒の発生する駆動力又はトルクの変動の
程度を正確に判断する。 【解決手段】 圧縮上死点付近の30°クランク角度の
経過時間Ta(i)と圧縮上死点後90°付近の30°
クランク角度の経過時間Tb(i)とを求める。これら
経過時間Ta(i),Tb(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】
【発明が解決しようとする課題】しかしながらクランク
シャフトに連結されかつ欠歯部分を有するロータの歯に
クランク角センサを対面配置してこのクランク角センサ
の出力信号に基づいて第1の角速度および第2の角速度
を検出し、第1の角速度又は第2の角速度を検出すべき
タイミングとクランク角センサが欠歯部分に対面するタ
イミングとが重なる場合には上述の如く角速度ωa,ω
bに基づいて発生トルクを算出してもトルク変動を正確
に検出することができない。
【0005】即ち、例えば第2の角速度を検出すべきタ
イミングとクランク角センサが欠歯部分に対面するタイ
ミングとが重なった場合には検出された第2の角速度が
実際の角速度から大巾にずれるばかりでなく、このずれ
量が機関回転数に応じて変化する。従ってこの場合には
検出された第2の角速度が実際の角速度を表わしていな
いことになり、従って第1の角速度ωaの2乗と第2の
角速度の2乗との差(ωb2 −ωa2 )から発生トルク
を求めてもこの発生トルクは真の発生トルクを表わして
いないことになる。その結果、この発生トルクからトル
ク変動量を算出しても真のトルク変動量を算出すること
ができないという問題が生ずる。
【0006】
【課題を解決するための手段】上記問題点を解決するた
めに1番目の発明によれば、圧縮行程末期から爆発行程
初期までのクランク角度領域内に第1のクランク角度範
囲を設定し、第1のクランク角度範囲から一定のクラン
ク角を隔てた爆発行程中期のクランク角度領域内に第2
のクランク角度範囲を設定し、第1のクランク角度範囲
内におけるクランクシャフトの第1の角速度を検出する
と共に第2のクランク角度範囲内におけるクランクシャ
フトの第2の角速度を検出し、第1の角速度と第2の角
速度から気筒が発生する駆動力を求め、次いでこの駆動
力から駆動力の変動量を求め、次いで駆動力の変動量と
駆動力との比である駆動力の変動率を求めてこの駆動力
の変動率から駆動力の変動の程度を判断するようにして
いる。
【0007】即ち、検出された第1の角速度又は第2の
角速度が真の角速度を表わしていない場合には算出され
た気筒の駆動力およびこの駆動力の変動量は夫々真の駆
動力および真の駆動力の変動量を表わしていないことに
なるが駆動力の変動量と駆動力との比である駆動力の変
動率は常に真の駆動力の変動率を表わしている。従って
この駆動力の変動率から駆動力の変動の程度を正確に判
断することができる。
【0008】2番目の発明では1番目の発明において、
駆動力が第1の角速度の2乗と第2の角速度の2乗との
差から算出された気筒の発生トルクを表わしている。即
ち、この発明では第1の角速度の2乗と第2の角速度の
2乗との差から気筒が発生するトルクを求め、次いでこ
のトルクからトルクの変動量を求め、次いでこのトルク
の変動量とトルクとの比であるトルクの変動率を求めて
このトルクの変動率からトルクの変動の程度を判断する
ようにしている。
【0009】3番目の発明は1番目の発明において、ク
ランクシャフトに連結されかつ欠歯部分を有するロータ
の歯にクランク角センサを対面配置してこのクランク角
センサの出力信号に基づいて角速度を検出し、角速度を
検出すべきタイミングとクランク角センサが欠歯部分に
対面するタイミングとが重なることがある内燃機関に適
用しうることを示している。
【0010】
【発明の実施の形態】図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 を放出しかつ
還元する機能を有する。
【0011】電子制御ユニット20はディジタルコンピ
ュータからなり、双方向性バス21によって相互に接続
されたROM(リードオンリメモリ)22、RAM(ラ
ンダムアクセスメモリ)23、CPU(マイクロプロセ
ッサ)24、常時電源に接続されたバックアップRAM
25、入力ポート26および出力ポート27を具備す
る。機関の出力軸12には外歯付ロータ13が取付けら
れ、ロータ13の外歯に対面して電磁ピックアップから
なるクランク角センサ14が配置される。図1に示され
る実施例ではロータ13の外周上に10°クランク角度
毎に外歯が形成されており、例えば1番気筒の圧縮上死
点を検出するために一部の外歯が削除されている。従っ
てこの外歯が削除された部分、即ち欠歯部分を除いてク
ランク角センサ14は出力軸12が10°クランク角度
回転する毎に出力パルスを発生し、この出力パルスが入
力ポート26に入力される。
【0012】サージタンク3にはサージタンク3内の絶
対圧に比例した出力電圧を発生する圧力センサ15が取
付けられ、この圧力センサ15の出力電圧が対応するA
D変換器28を介して入力ポート26に入力される。ま
た、スロットル弁7にはスロットル弁7がアイドリング
開度にあることを検出するためのアイドルスイッチ16
が取付けられ、このアイドルスイッチ16の出力信号が
入力ポート26に入力される。また、排気マニホルド8
内には空燃比を検出するための空燃比センサ(O2 セン
サ)17が配置されており、この空燃比センサ17の出
力信号が対応するAD変換器28を介して入力ポート2
6に入力される。一方、出力ポート27は対応する駆動
回路29を介して各燃料噴射弁4に接続される。
【0013】図1に示す内燃機関では燃料噴射時間TA
Uが次式に基づいて算出される。 TAU=TP・FLEAN・FLLFB・FAF+TA
UV ここでTPは基本燃料噴射時間を、FLEANはリーン
補正係数を、FLLFBはリーンリミットフィードバッ
ク補正係数を、FAFは理論空燃比フィードバック補正
係数を、TAUVは無効噴射時間を夫々示している。
【0014】基本燃料噴射時間TPは空燃比を理論空燃
比とするのに必要な噴射時間を示している。この基本燃
料噴射時間TPは実験により求められ、この基本燃料噴
射時間TPはサージタンク3内の絶対圧PMおよび機関
回転数Nの関数として図2に示すマップの形で予めRO
M22内に記憶されている。リーン補正係数FLEAN
は空燃比を目標リーン空燃比とするための補正係数であ
り、このリーン補正係数FLEANはサージタンク3内
の絶対圧PMおよび機関回転数Nの関数として図4に示
すマップの形で予めROM22内に記憶されている。
【0015】リーンリミットフィードバック補正係数F
LLFBは空燃比をリーン限界に維持するための補正係
数である。本発明による実施例ではサージタンク3内の
絶対圧PMと機関回転数Nに対してリーン空燃比フィー
ドバック制御に対する学習領域が図5に示されるように
例えば9つの領域に分けられており、各学習領域に対し
て夫々リーンリミットフィードバック補正係数FLLF
11〜FLLFB33が設定されている。
【0016】理論空燃比フィードバック補正係数FAF
は空燃比を理論空燃比に維持するための係数である。理
論空燃比フィードバック補正係数FAFは空燃比を理論
空燃比に維持すべきときに空燃比センサ17の出力信号
に基づいて制御され、このとき理論空燃比フィードバッ
ク補正係数FAFはほぼ1.0を中心として上下動す
る。
【0017】図4に示されるように破線により囲まれた
運転領域内については機関の運転状態に応じてリーン補
正係数FLEANが定められており、この運転領域内で
は空燃比が目標リーン空燃比に維持される。これに対し
て図4の破線で囲まれた領域外の運転領域では空燃比が
理論空燃比に維持される。空燃比を理論空燃比に維持す
べきときにはリーン補正係数FLEANおよびリーンリ
ミットフィードバック補正係数FLLFBは1.0に固
定され、理論空燃比フィードバック補正係数FAFが空
燃比センサ17の出力信号に基づいて制御される。
【0018】一方、空燃比を目標リーン空燃比に維持す
べきときには理論空燃比フィードバック補正係数FAF
が1.0に固定され、即ち空燃比センサ17の出力信号
に基づくフィードバック制御が停止され、リーン補正係
数FLEANとリーンリミットフィードバック補正係数
FLLFBとにより空燃比が目標リーン空燃比に制御さ
れる。
【0019】次に図3を参照しつつリーンリミットフィ
ードバック制御について説明する。図3は機関出力トル
ク変動量およびNOx 発生量と空燃比との関係を示して
いる。空燃比がリーンになるほど燃料消費率は小さくな
り、また空燃比がリーンになるほどNOx の発生量が少
なくなる。従ってこれらの点からみると空燃比はできる
だけリーンにすることが好ましいことになる。ところが
空燃比が或る程度以上リーンになると燃焼が不安定とな
り、その結果図3に示されるようにトルク変動量が大き
くなる。そこで本発明による実施例では図3に示される
ようにトルク変動が増大し始める空燃比制御領域内に空
燃比を維持するようにしている。
【0020】即ち具体的に云うとリーン補正係数FLE
ANはリーンリミットフィードバック補正係数FLLF
BをFLLFB=1.0としたときに空燃比が図3に示
される空燃比制御領域の中央部となるように定められて
いる。一方、リーンリミットフィードバック補正係数F
LLFBはトルク変動量に応じて図3に示されるトルク
変動制御領域内において制御され、トルク変動量が大き
くなればリーンリミットフィードバック補正係数FLL
FBが増大せしめられ、即ち空燃比が小さくされ、トル
ク変動量が小さくなればリーンリミットフィードバック
補正係数FLLFBが減少せしめられ、即ち空燃比が大
きくされる。このようにして空燃比が図3に示される空
燃比制御領域内に制御される。
【0021】なお、図4と図5とを比較すればわかるよ
うにリーンリミットフィードバック補正係数FLLFB
はリーン補正係数FLEANが定められている機関運転
領域とほぼ同じ領域に対して設定されている。トルク変
動量が図3に示されるトルク変動制御領域内に制御され
ると良好な車両の運転性を確保しつつ燃料消費率および
NOx の発生量を大巾に低減することができる。ただ
し、このようにトルク変動量をトルク変動制御領域内に
制御するためにはトルク変動量を検出しなければなら
ず、トルク変動量を検出するためにはトルクを検出しな
ければならないことになる。
【0022】ところで各気筒の出力トルクを算出する方
法は従来より種々の方法が提案されている。即ち、各気
筒の出力トルクを算出することができればこの算出され
た出力トルクを用いて上述の如きリーン空燃比制御がで
きるばかりでなく、その他種々の制御を行うことができ
るので各気筒の出力トルクを算出する最良の方法を見い
出すことには重要な意味があり、従って従来より各気筒
の出力トルクを算出するための種々の方法が提案されて
いる。代表的な例を挙げると燃焼室内に燃焼圧センサを
取付けてこの燃焼圧センサの出力信号に基づき出力トル
クを算出する方法や、或いは冒頭で述べたように第1の
角速度ωaの2乗と第2の角速度ωbの2乗との差から
出力トルクを算出する方法が挙げられる。
【0023】燃焼圧センサを用いると燃焼圧センサを取
付けた気筒が発生するトルクを確実に検出することがで
きるという利点がある反面、燃焼圧センサが必要である
という欠点を有している。これに対して角速度ωa,ω
bは従来より内燃機関が備えているクランク角センサの
出力信号から算出することができるので角速度ωa,ω
bに基づき出力トルクを算出するようにした場合には新
たなセンサを設ける必要がないという利点がある。ただ
し、この場合冒頭に述べたように角速度ωa,ωbを検
出すべきタイミングとクランク角センサ14がロータ1
3の欠歯部分に対面するタイミングとが重なることがあ
る場合には発生トルクを正確に検出できなくなるという
問題を有している。しかしながらこの問題を解決しさえ
すれば新たなセンサを必要としない角速度に基づくトル
ク算出方法の方が好ましいことは明らかである。そこで
本発明では発生トルクを角速度に基づき算出するように
し、その際角速度ωa,ωbを検出すべきタイミングと
クランク角センサ14がロータ13の欠歯部分に対面す
るタイミングとが重なることがあったとしても発生トル
クを正確に検出しうるようにしている。
【0024】次に各気筒が発生する駆動力および各気筒
が発生するトルクを算出するための本発明による新たな
方法について説明する。まず初めに、定常運転時を示す
図6(A),(B)を参照しつつ各気筒が発生する駆動
力および各気筒が発生するトルクを算出する方法につい
て説明する。なお、この図6(A),(B)は角速度ω
a,ωbを検出すべきタイミングとクランク角センサ1
4がロータ13の欠歯部分に対面するタイミングとが重
ならないと仮定した場合を示している。前述したように
クランク角センサ14はクランクシャフトが10°クラ
ンク角度回転する毎に出力パルスを発生し、更にクラン
ク角センサ14は各気筒#1,#2,#3,#4の圧縮
上死点TDCにおいて出力パルスを発生するように配置
されている。従ってクランク角センサ14は各気筒#
1,#2,#3,#4の圧縮上死点TDCから10°ク
ランク角毎に出力パルスを発生することになる。なお、
本発明において用いられる内燃機関の点火順序は1−3
−4−2である。
【0025】図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を表わすことになる。
【0026】図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)
から気筒の発生する駆動力を算出することができる。
【0027】一方、機関の回転慣性モーメントをIとす
ると燃焼圧によって運動エネルギが(1/2)Iωa2
から(1/2)Iωb2 に増大せしめられる。この運動
エネルギの増大量(1/2)・I・(ωb2 −ωa2
はその気筒が発生するトルクを表わしており、従って第
1の角速度ωaの2乗と第2の角速度ωbの2乗との差
(ωb2 −ωa2 )から気筒の発生するトルクを算出で
きることになる。
【0028】このように第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
°となることもあり得る。
【0029】従って各角速度ωa,ωbの検出のしかた
について一般的に表現すると、圧縮行程末期から爆発行
程初期までのクランク角度領域内に第1のクランク角度
範囲を設定し、第1のクランク角度範囲から一定のクラ
ンク角を隔てた爆発行程中期のクランク角度領域内に第
2のクランク角度範囲を設定し、第1のクランク角度範
囲内におけるクランクシャフトの第1の角速度ωaを検
出し、第2のクランク角度範囲内におけるクランクシャ
フトの第2の角速度ωbを検出するということになる。
【0030】上述したように角速度ωa,ωbを検出す
れば検出値に基づいて対応する気筒の発生する駆動力お
よびトルクを算出することができる。しかしながら上述
したように角速度ωa,ωbを検出すべきタイミングと
クランク角センサ14がロータ13の欠歯部分に対面す
るタイミングとが重なることがある場合には角速度ω
a,ωbに基づいて気筒の発生する駆動力およびトルク
を正確に算出することができなくなる。次にこのことに
ついて図7および図8を参照しつつ説明する。
【0031】図7に示されるように本発明による実施例
ではクランク角の検出に用いられる外歯付ロータ13が
欠歯部分18を有しており、更に本発明による実施例で
は2番気筒#2および3番気筒#3のATDC60°か
らATDC90°においてクランク角センサ14が欠歯
部分18に対面するようにクランク角センサ14と欠歯
部分18の位置関係が設定されている。しかしながらこ
のように2番気筒#2および3番気筒#3のATDC6
0°からATDC90°においてクランク角センサ14
が欠歯部分18に対面すると2番気筒#2の経過時間T
b(2)と3番気筒#3の経過時間Tb(3)を正確に
検出することができなくなる。
【0032】図8は各気筒#1,#2,#3,#4の経
過時間Tb(i)と機関回転数Nとの関係を示してい
る。図8に示されるように1番気筒#1および4番気筒
#4についてはクランク角センサ14により夫々経過時
間Tb(1),Tb(4)を正確に検出することがで
き、従ってこれら経過時間Tb(1),Tb(4)は機
関回転数Nが高くなるほど短かくなる。これに対して欠
歯部分18ではクランク角センサ14の出力信号の波形
が変化するために2番気筒#2および3番気筒#3に対
する経過時間Tb(2),Tb(3)が実際の経過時間
に対してずれ、またこのクランク角センサ14の出力信
号の波形は機関回転数Nの影響を大きく受けるので実際
の経過時間に対する経過時間Tb(2),Tb(3)の
ずれ量は機関回転数Nに応じて大巾に変化することにな
る。従って本発明による実施例では2番気筒#2および
3番気筒#3については角速度ωa,ωbに基づいてこ
れら気筒が発生する駆動力およびトルクを正確に算出す
ることができず、その結果これら気筒についての駆動力
の変動量およびトルクの変動量も正確に検出することが
できないことになる。
【0033】しかしながらこのように駆動力の変動量お
よびトルクの変動量を正確に検出することができないと
しても駆動力の変動量と駆動力との比である駆動力の変
動率(=駆動力の変動量/駆動力)は駆動力の変動の程
度を正確に表わしており、従ってこの駆動力の変動率に
基づいて駆動力の変動の程度を判断すれば駆動力の変動
の程度を正確に検出できることになる。同様に、トルク
の変動量とトルクとの比であるトルクの変動率(=トル
クの変動量/トルク)はトルクの変動の程度を正確に表
わしており、従ってこのトルクの変動率に基づいてトル
クの変動の程度を判断すればトルクの変動の程度を正確
に検出できることになる。
【0034】そこで本発明による実施例では駆動力の変
動率に基いて駆動力の変動の程度を判断し、トルクの変
動率に基いてトルクの変動の程度を判断するようにして
いる。ところで図8に示されるように経過時間Tb
(i)が機関回転数Nのみの影響を受けて変化する場合
には駆動力の変動率に基いて駆動力の変動の程度を正確
に判断することができ、トルクの変動率に基いてトルク
の変動の程度を正確に判断することができる。しかしな
がら経過時間Tb(i)が機関回転数N以外の外乱の影
響、例えば機関駆動系に発生する捩り振動の影響を受け
た場合には駆動力の変動率に基いて駆動力の変動の程度
を正確に判断することができず、トルクの変動率に基い
てトルクの変動の程度を正確に判断することができなく
なる。従って機関駆動系に捩り振動が発生した場合には
この捩り振動が経過時間Tb(i)に与える影響を除去
する必要がある。
【0035】即ち、機関駆動系に捩り振動が発生してい
ないときには第2の角速度ωbは第1の角速度ωaに対
して燃焼圧による角速度増大分だけ増大する。これに対
して機関駆動系に捩り振動が発生すると第2の角速度ω
bは燃焼圧による角速度増大分に加え、第1の角速度ω
aを検出してから第2の角速度ωbを検出するまでの間
における機関駆動系の捩り振動による角速度の変化分を
含むことになる。例えば第1の角速度ωaを検出してか
ら第2の角速度ωbを検出するまでの間に機関駆動系の
捩り振動により角速度が増大したとすると第1の角速度
ωaに対する第2の角速度ωbの増大分は、燃焼圧によ
る角速度増大分に加え、機関駆動系の捩り振動による角
速度増大分を含むことになる。従ってこの場合には第2
の角速度ωbから機関駆動系の捩り振動による角速度増
大分を差し引かない限り、捩り振動が経過時間Tb
(i)に与える影響を除去しえないことになる。次にこ
のことについて図9および図10を参照しつつ説明す
る。
【0036】図9は機関駆動系に捩り振動が発生してい
るときに各気筒に対し順次算出される経過時間Ta
(i)の変化を示している。機関駆動系に捩り振動が発
生するとこの捩り振動によってクランクシャフトの角速
度が周期的に増大減少せしめられるので経過時間Ta
(i)は図9に示されるように周期的に増大減少するこ
とになる。
【0037】一方、図10は図9において経過時間Ta
(i)が減少している部分を拡大して示している。図1
0に示されるように経過時間Ta(i)はTa(1)と
Ta(3)との間でho時間だけ減少しており、このh
o時間の減少は捩り振動による捩れ量の増大によるもの
と考えられる。この場合、Ta(1)とTa(3)との
間では捩り振動による経過時間の減少量は時間の経過と
共にほぼ直線的に増大するものと考えられる。従ってこ
の捩り振動による経過時間の減少量はTa(1)および
Ta(3)を結ぶ破線とTa(1)を通る水平線との差
で表わされることになる。従ってTa(1)とTb
(1)との間では捩り振動によって経過時間がhだけ減
少していることになる。
【0038】即ち、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を減少方向に補正しなければならな
いことになる。
【0039】これに対しTa(1)に対してTa(3)
が増大したときにはTa(1)に対して減少した経過時
間Tb(1)は燃焼圧による経過時間の減少量と捩り振
動による経過時間の増大量とを含んでいる。従ってこの
場合、燃焼圧により減少した経過時間Tb′(1)だけ
を求めるためにはTb(1)から捩り振動による経過時
間の増大量を減少しなければならない。即ち、気筒間に
おける経過時間Ta(i)が増大した場合において燃焼
圧により減少した経過時間Tb′(1)だけを求めるた
めには検出された経過時間Tb(1)を減少方向に補正
しなければならないことになる。云い換えると気筒間に
おいて第1の角速度ωaが減少したときには先に燃焼が
行われた気筒の第2の角速度ωbを増大方向に補正しな
ければならないことになる。
【0040】上述したように第2の角速度ωbを補正す
ることによって機関駆動系に捩り振動が発生したとして
もこの捩り振動が経過時間Tb(i)に与える影響を除
去することができる。ところがロータ13(第1図)の
外周に沿って形成されている外歯の間隔にばらつきがあ
ると上述したように第2の角速度ωbを補正したとして
も機関駆動系の捩り振動が経過時間Tb(i)に与える
影響を除去することができなくなる。次にこのことにつ
いて図11を参照しつつ説明する。
【0041】図11は1番気筒#1のTDCを示すロー
タ13の外歯とATDC30°を示すロータ13の外歯
との間隔が他の外歯間の間隔よりも短かい場合を示して
いる。この場合には図10と図11とを比較すればわか
るように経過時間Ta(1)が30°クランク角度に対
する正規の経過時間に比べて小さくなってしまう。ま
た、このとき図10と図11とを比較すればわかるよう
に捩り振動による経過時間の減少量h′は正規の減少量
hと比べて小さくなり、従って燃焼圧により減少した経
過時間だけを表わすTb′(1)の値も正規の値に対し
て小さくなってしまう。
【0042】そこで本発明による実施例では機関駆動系
に捩り振動が発生しない減速運転時の燃料供給停止時に
1番気筒#1の経過時間Ta(1)とその他の各気筒#
2,#3,#4の経過時間Ta(i)との比KTa
(i)(=Ta(1)/Ta(i))を求め、燃料が供
給されているときに各気筒#2,#3,#4について実
際に検出された経過時間Ta(i)に比KTa(i)を
乗算することによって各気筒#2,#3,#4に対する
最終的な経過時間Ta(i)を求めるようにしている。
【0043】従って例えば上述したように1番気筒#1
について実際に検出された経過時間Ta(1)が正規の
経過時間に比べて短かい場合には各気筒#2,#3,#
4に対する比KTa(i)は1.0よりも小さくなり、
斯くして実際の検出経過時間Ta(i)に比KTa
(i)を乗算することによって得られる最終的な経過時
間Ta(i)は同一回転数であれば互いに等しくなる。
従ってこのようにして得られた最終的な経過時間Ta
(i)に基いて捩り振動による経過時間の減少量hを求
めればこの減少量hは正規の減少量にほぼ一致すること
になり、斯くしてロータ13の外歯の間隔にばらつきが
あったとしてもこのばらつきが経過時間Tb′(i)の
値に与える影響を除去することができる。
【0044】一方、各気筒に対するTa(i)は車両が
凸凹道を走行したときにも変動し、しかもこのときには
Ta(i)の変動巾が極めて大きくなる場合がある。図
12は車両が凸凹道を走行したときのTa(i)の変動
を示しており、図12のAMPは最小のTa(i)と最
大のTa(i)との差、即ち振幅を示している。この振
幅AMPが小さいときにはこれまで述べた方法によって
図10に示すhを算出すれば経過時間Tb(i)に与え
る外乱の影響を除去することができる。
【0045】しかしながら振幅AMPが大きくなるとT
a(i)が最大又は最小となる気筒についての経過時間
Tb(i)に対し外乱が与える影響を除去しえなくな
る。即ち、図12において例えば最初にTa(i)が最
大になる気筒が1番気筒であったとすると1番気筒#1
のTb′(1)を算出するための経過時間の減少量hは
図12のTa(1)とTa(3)とを結ぶ破線の傾きか
ら求められる。しかしながら1番気筒#1がTDCとな
る付近では経過時間の増大量又は減少量はTa(2),
Ta(1),Ta(3)を通る滑らかな曲線で変化して
おり、従って1番気筒#1のTb(1)に対する減少量
hの値をTa(1)とTa(3)とを結ぶ破線の傾きか
ら求めるとこの減少量hの値は実際の値よりもかなり大
きく計算される。即ち、経過時間Ta(i)に対して外
乱が大きな影響を与えることになる。振幅AMPが大き
くなるとTa(i)が最小となる気筒においても同じこ
とが云える。
【0046】また、一つ前に燃焼が行われた気筒のTa
(i)に対してTa(i)が急変した気筒においてもh
の値が実際の値からずれ、斯くして経過時間Tb(i)
に対して外乱が大きな影響を与えることになる。そこで
本発明による実施例では振幅AMPが大きいときにはT
b(i)が最大又は最小となる気筒については駆動力又
はトルクを求めず、更に一つ前に燃焼が行われた気筒T
a(i)に対してTa(i)が急変した気筒についても
駆動力又はトルクを求めないようにしている。
【0047】次に図13から図23を参照しつつ各気筒
が発生するトルクを求めるためのルーチンについて説明
する。なお、図23は各ルーチンにおいて行われる各値
の計算タイミングを示している。図13は30°クラン
ク角度毎に行われる割込みルーチンを示している。図1
3を参照するとまず初めに経過時間Ta(i),Tb
(i)を算出するためのルーチン(ステップ100)に
進む。このルーチンは図14に示されている。次いでト
ルクの算出を許可するか否かをチェックするためのルー
チン(ステップ200)に進む。このルーチンは図15
から図17に示されている。次いでトルクを算出するた
めのルーチン(ステップ300)に進む。このルーチン
は図19および図20に示されている。次いで比KTa
(i)を算出するためのルーチン(ステップ400)に
進む。このルーチンは図21に示されている。次いでト
ルク変動値の算出に用いるカウンタCDLNIXの処理
ルーチン(ステップ500)に進む。このルーチンは図
22に示されている。
【0048】経過時間Ta(i),Tb(i)の算出ル
ーチンを示す図14を参照すると、まず初めにステップ
101において時刻TIMEがTIMEOとされる。電
子制御ユニット20は時刻を表わすフリーランカウンタ
を備えており、このフリーランカウンタのカウント値か
ら時刻が算出される。次いでステップ102では現在の
時刻が取込まれる。従ってステップ101のTIMEO
は30°クランク角度前の時刻を表わしていることにな
る。
【0049】次いでステップ103では現在i番気筒の
ATDC30°であるか否かが判別される。現在i番気
筒のATDC30°でない場合にはステップ106にジ
ャンプして現在i番気筒のATDC90°であるか否か
が判別される。現在i番気筒のATDC90°でない場
合には経過時間Ta(i),Tb(i)の算出ルーチン
を完了する。
【0050】これに対してステップ103において現在
i番気筒のATDC30°であると判別されたときには
ステップ104に進んで次式に基づきi番気筒のTDC
からATDC30°までの最終的な経過時間Tb(i)
が算出される。 Ta(i)=KTa(i)・(TIME−TIMEO) 即ち、現在1番気筒#1のATDC30°であるとする
と1番気筒#1のTDCからATDC30°までの最終
的な経過時間Ta(1)がKTa(1)・(TIME−
TIMEO)から算出される。ここで(TIME−TI
MEO)はクランク角センサ14により実測された経過
時間Ta(1)を表わしており、KTa(1)はロータ
13の外歯間隔による誤差を補正するための比であり、
(TIME−TIMEO)にKTa(1)を乗算するこ
とによって最終的な経過時間Ta(1)が算出される。
なお、後述するようKTa(1)は1.0に固定されて
いるので1番気筒#1についての最終的な経過時間Ta
(1)は(TIME−TIMEO)に一致する。
【0051】一方、現在2番気筒#2のATDC30°
であるとすると2番気筒#2のTDCからATDC30
°までの最終的な経過時間Ta(2)がKTa(2)・
(TIME−TIMEO)から算出される。ここで(T
IME−TIMEO)はクランク角センサ14により実
測された経過時間Ta(2)を表わしており、KTa
(2)はロータ13の外歯間隔による誤差を補正するた
めの比であり、(TIME−TIMEO)にKTa
(2)を乗算することによって最終的な経過時間Ta
(2)が算出される。
【0052】次いでステップ105では一つ前に燃焼が
行われた(i−1)番気筒の発生トルクを算出すべきこ
とを示すフラグXCAL(i−1)がセット(XCAL
(i−1)←“1”)される。本発明による実施例では
前述したように点火順序が1−3−4−2であるので現
在1番気筒#1のATDC30°であるとすると一つ前
に燃焼が行われた2番気筒#2の発生トルクを算出すべ
きことを示すフラグXCAL(2)がセットされる。同
様に図23に示される如く最終的な経過時間Ta(3)
が算出されるとフラグXCAL(1)がセットされ、最
終的な経過時間Ta(4)が算出されるとフラグXCA
L(3)がセットされ、最終的な経過時間Ta(2)が
算出されるとフラグXCAL(4)がセットされる。
【0053】一方、ステップ106において現在i番気
筒のATDC90°であると判別されたときにはステッ
プ107に進んで次式に基づきi番気筒のATDC60
°からATDC90°までの経過時間Tb(i)が算出
される。 Tb(i)=TIME−TIMEO 次に図15から図17に示されるトルク算出許可チェッ
クルーチンについて図18を参照しつつ説明する。この
ルーチンは車両が凸凹道を走行することによりTa
(i)の変動の振幅AMP(図12)が大きくなったと
きには特定の気筒についてのトルクの算出を禁止するた
めに設けられている。
【0054】即ち、図15から図17を参照すると、ま
ず初めにステップ201において現在いずれかの気筒の
ATDC30°であるか否かが判別される。現在いずれ
かの気筒のATDC30°でないときには処理サイクル
を完了し、現在いずれかの気筒のATDC30°である
ときにはステップ202に進む。ステップ202からス
テップ204では経過時間Ta(i)が増大し次いで減
少する際の最大経過時間T30max が算出される。即
ち、ステップ202では図14に示すルーチンにおいて
算出されたTa(i)が最大経過時間T30max よりも
大きいか否かが判別される。T30max >Ta(i)の
ときにはステップ205にジャンプし、これに対してT
30max ≦Ta(i)のときにはステップ203に進ん
でTa(i)がT30max とされる。次いでステップ2
04ではTa(i)が増大していることを示す増大フラ
グXMXRECがセット(XMXREC←“1”)さ
れ、次いでステップ205に進む。
【0055】ステップ205からステップ207では経
過時間Ta(i)が減少し次いで増大する際の最小経過
時間T30min が算出される。即ち、ステップ205で
は図14に示すルーチンにおいて算出されたTa(i)
が最小経過時間T30min よりも小さいか否かが判別さ
れる。T30min <Ta(i)のときにはステップ20
8にジャンプし、これに対してT30min ≧Ta(i)
のときにはステップ206に進んでTa(i)がT30
min とされる。次いでステップ207ではTa(i)が
減少していることを示す減少フラグXMNRECがセッ
ト(XMNREC←“1”)され、次いでステップ20
8に進む。
【0056】ステップ208からステップ214ではT
a(i)の変動の振幅AMP(図12)が設定値A0
越えたときにはTa(i)が最大となった気筒について
のトルクの算出を禁止する禁止フラグがセットされる。
即ち、ステップ208ではT30max >Ta(i)でか
つXMXREC=“1”であるか否かが判別される。T
30max ≦Ta(i)であるか、又は増大フラグXMX
RECがリセット(XMXREC=“0”)されている
ときにはステップ215にジャンプし、これに対してT
30max >Ta(i)でかつXMXREC=“1”のと
きにはステップ209に進む。
【0057】即ち、図18に示されるように時刻t1
おいて1番気筒#1の経過時間Ta(1)が最大になっ
たとする。この場合、時刻t1 において行われる割込み
ルーチンではステップ202からステップ203に進ん
でTa(1)がT30max とされ、次いでステップ20
4において増大フラグXMXRECがセットされる。一
方、図18の時刻t2 において行われる割込みルーチン
ではステップ202からステップ205にジャンプす
る。このときステップ208ではT30max >Ta
(3)であり、かつXMXREC=“1”であると判断
されるのでステップ209に進む。即ち、ステップ20
9に進むのは経過時間Ta(i)が減少しはじめる時刻
2 である。
【0058】ステップ209では最大経過時間T30ma
x がTMXRECとされる。次いでステップ210では
最大経過時間TMXRECから最小経過時間TMNRE
C(後述するステップ216で求められる)を減算する
ことによってTa(i)の変動の振幅AMPが算出され
る。次いでステップ211では最小経過時間T30min
の初期値がTa(i)とされる。次いでステップ212
では増大フラグXMXRECがリセット(XMXREC
←“0”)される。次いでステップ213では振幅AM
Pが設定値A0 よりも大きいか否かが判別される。AM
P<A0 のときにはステップ215にジャンプする。こ
れに対してAMP≧A0 のときにはステップ214に進
んでトルク算出禁止フラグXNOCALがセット(XN
OCAL←“1”)される。即ち、図18の時刻t2
おいて行われる割込みルーチンでは前述したように1番
気筒#1の発生トルクが算出される。従ってこの割込み
ルーチンにおいてAMP≧A0 となり、トルク算出禁止
フラグXNOCALがセットされると1番気筒#1の発
生トルクの算出、即ち、Ta(i)が最大となる気筒の
発生トルクの算出が禁止される。
【0059】ステップ215からステップ221ではT
a(i)の変動の振幅AMPが設定値A0 を越えたとき
にはTa(i)が最小となった気筒についてのトルクの
算出を禁止する禁止フラグがセットされる。即ち、ステ
ップ215ではT30min <Ta(i)でかつXMNR
EC=“1”であるか否かが判別される。T30min≧
Ta(i)であるか、又は減少フラグXMNRECがリ
セット(XMNREC=“0”)されているときにはス
テップ222にジャンプし、これに対してT30min <
Ta(i)でかつXMNREC=“1”のときにはステ
ップ216に進む。
【0060】即ち、図18に示されるように時刻t3
おいて1番気筒#1の経過時間Ta(1)が最小になっ
たとする。この場合、時刻t3 において行われる割込み
ルーチンではステップ205からステップ206に進ん
でTa(1)がT30min とされ、次いでステップ20
7において減少フラグXMNRECがセットされる。一
方、図18の時刻t4 において行われる割込みルーチン
ではステップ205からステップ208にジャンプす
る。このときステップ215ではT30min <Ta
(3)であり、かつXMNREC=“1”であると判断
されるのでステップ216に進む。即ち、ステップ21
6に進むのは経過時間Ta(i)が増大しはじめる時刻
4 である。
【0061】ステップ216では最小経過時間T30mi
n がTMNRECとされる。次いでステップ217では
最大経過時間TMXRECから最小経過時間TMNRE
Cを減算することによってTa(i)の変動の振幅AM
Pが算出される。次いでステップ218では最大経過時
間T30max の初期値がTa(i)とされる。次いでス
テップ219では減少フラグXMNRECがリセット
(XMNREC←“0”)される。次いでステップ22
0では振幅AMPが設定値A0 よりも大きいか否かが判
別される。AMP<A0 のときにはステップ222にジ
ャンプする。これに対してAMP≧A0 のときにはステ
ップ221に進んでトルク算出禁止フラグXNOCAL
がセット(XNOCAL←“1”)される。即ち、図1
8の時刻t 4 において行われる割込みルーチンでは1番
気筒#1の発生トルクが算出される。従ってこの割込み
ルーチンにおいてAMP≧A0 となり、トルク算出禁止
フラグXNOCALがセットされると1番気筒#1の発
生トルクの算出、即ち、Ta(i)が最小となる気筒の
発生トルクの算出が禁止される。
【0062】ステップ222およびステップ223では
経過時間Ta(i)が急変した気筒についてのトルクの
算出が禁止される。即ち、ステップ222では|Ta
(i−2)−Ta(i−1)|がKo ・|Ta(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)|であると判別されたときにはステップ22
3に進んでトルク算出禁止フラグXNOCALがセット
される。
【0063】即ち、今図18の時刻t3 における割込み
ルーチンであるとするとこのときには|Ta(4)−T
a(2)|がKo ・|Ta(2)−Ta(1)|よりも
大きいか否かが判別される。図18に示されるようにT
a(4)に対してTa(2)が急変すると|Ta(4)
−Ta(2)|はKo ・|Ta(2)−Ta(1)|よ
りも大きくなる。このときトルク算出禁止フラグがセッ
トされ、経過時間Ta(i)が急変した2番気筒#2の
トルクの算出が禁止される。
【0064】次に図19および図20に示すトルク算出
ルーチンについて説明する。図19および図20を参照
すると、まず初めにステップ301において一つ前に燃
焼が行われた(i−1)番気筒の発生トルクを算出すべ
きことを示すフラグXCAL(i−1)がセットされて
いるか否かが判別される。フラグXCAL(i−1)=
“0”のとき、即ちフラグXCAL(i−1)がセット
されていないときには処理サイクルを完了する。これに
対してフラグXCAL(i−1)=“1”のとき、即ち
フラグXCAL(i−1)がセットされているときには
ステップ302に進んでフラグXCAL(i−1)がリ
セットされ、次いでステップ303に進む。
【0065】ステップ303では一つ前に燃焼が行われ
た気筒についてのトルクの算出を禁止する禁止フラグX
NOCALがリセット(XNOCAL=“0”)されて
いるか否かが判別される。この禁止フラグがセット(X
NOCAL=“1”)されているときにはステップ31
2に進んで禁止フラグXNOCALがリセットされる。
これに対して禁止フラグがリセットされているときには
ステップ304に進む。即ち、フラグXCALがセット
されており、かつ禁止フラグXNOCALがリセットさ
れているときのみステップ304に進む。
【0066】ステップ304では次式に基づいて機関駆
動系の捩り振動に基づく経過時間の変動値h(図10)
が算出される。 h={Ta(i−1)−Ta(i)}・60/180 即ち、図10からわかるように経過時間の変動値hはh
o (=Ta(i−1)−Ta(i))の三分の一とな
る。次いでステップ305では次式に基いて燃焼圧によ
り減少した経過時間だけを表わすTb′(i−1)が算
出される。
【0067】Tb′(i−1)=Tb(i−1)+h 即ち、1番気筒#1についてのTb′(1)を求める場
合にはh={Ta(1)−Ta(3)}・60/180
となり、Tb′(1)=Tb(1)+hとなる。また、
3番気筒#3についてのTb′(3)を求める場合には
h={Ta(3)−Ta(4)}・60/180とな
り、Tb′(3)=Tb(3)+hとなる。
【0068】次いでステップ306では一つ前に燃焼が
行われた気筒の発生トルクDN(i−1)が次式に基づ
いて算出される。 DN(i−1)=ωb2 −ωa2 =(30°/Tb′
(i−1))2 −(30°/Ta(i−1))2 この発生トルクDN(i−1)は機関駆動系の捩り振動
による影響およびロータ13の外歯の間隔のばらつきに
よる影響が取除かれたトルクを表わしている。
【0069】なお、各気筒が発生する駆動力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)が算出される。
【0070】 DLN(i−1)=DN(i−1)j−DN(i−1) ここでDN(i−1)jはDN(i−1)に対して一サ
イクル(720°クランク角度)前の同一気筒の発生ト
ルクを表わしている。次いでステップ308では一つ前
に燃焼が行われた(i−1)番気筒についてトルク変動
量DLN(i−1)と発生トルクDN(i−1)との比
であるトルク変動率ZLN(i−1)(=DLN(i−
1)/DN(i−1))が算出される。前述したように
このトルク変動率ZLN(i−1)は(i−1)番気筒
のトルクの変動の程度を正確に表わしている。なお、こ
のトルク変動率ZLN(i−1)を求める際の分母とし
てはDN(i−1)に代えて一サイクル(720°クラ
ンク角度)前の同一気筒の発生トルクDN(i−1)j
を用いることもでき、この場合にはトルク変動率はZL
N(i−1)=DLN(i−1)/DN(i−1)jで
表わされる。また、トルク変動率ZLN(i−1)を求
める際の分母としてDN(i−1)とDN(i−1)j
の平均値を用いるとトルク変動率はZLN(i−1)=
DLN(i−1)/{DN(i−1)+DN(i−1)
j}/2で表わされる。
【0071】次いでステップ309ではトルク変動率Z
LN(i−1)が正であるか否かが判別される。ZLN
(i−1)≧0であればステップ311にジャンプして
一つ前に燃焼が行われた気筒のトルク変動率ZLN(i
−1)を積算すべきことを示す積算要求フラグXCDL
N(i−1)がセット(XCDLN(i−1)←
“1”)される。これに対してZLN(i−1)<0で
あればステップ310に進んでZLN(i−1)が零と
され、次いでステップ311に進む。なお、各気筒のト
ルクは上昇と低下を繰返し、この場合トルク変動率を求
めるにはトルクの上昇分かトルクの減少分のいずれかを
積算すればよい。図19および図20に示すルーチンで
はトルクの減少分のみを積算するようにしており、従っ
て上述したようにZLN(i−1)<0のときにはZL
N(i−1)を零にしている。
【0072】次に図21を参照しつつ比KTa(i)を
算出するためのルーチンについて説明する。図21を参
照すると、まず初めにステップ401において減速運転
中に燃料の供給が停止されたか否か、即ち燃料カット中
であるか否かが判別される。燃料カット中でなければス
テップ409に進んで経過時間Ta(i)の積算値ΣT
a(i)がクリアされ、次いで処理サイクルを完了す
る。これに対して燃料カット中であるときにはステップ
402に進んでトルク算出許可チェックルーチンにおい
て算出された振幅AMPが設定値B0 よりも大きいか否
かが判別される。AMP>B0 のときにはステップ40
9に進み、これに対してAMP≦B0 のときにはステッ
プ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回
積算されていないときには処理サイクルを完了し、n回
積算されるとステップ405に進む。ステップ405で
は1番気筒#1に対する補正値KTa(1)が1.0と
される。次いでステップ406では残りの各気筒#2,
#3,#4について夫々補正値α(i)(=ΣTa
(1)/ΣTa(i))が算出される。次いでステップ
407では次式に基づいて2番気筒#2、3番気筒#
3、4番気筒#4に対する補正値KTa(i)が更新さ
れる。
【0074】KTa(i)←KTa(i)+{α(i)
−KTa(i)}/4 このようにして各気筒に対する比KTa(1),KTa
(2),KTa(3),KTa(4)が算出される。例
えばα(2)がこれまで用いられていたKTa(2)よ
りも大きくなったとするとα(2)とKTa(2)との
差{α(2)−KTa(2)}の1/4がKTa(2)
に加算され、斯くしてKTa(2)はα(2)に徐々に
近づくことになる。ステップ407において各気筒#
2,#3,#4に対するKTa(i)が算出されるとス
テップ408に進んで全気筒#1,#2,#3,#4に
対する積算値ΣTa(i)がクリアされる。
【0075】次に図22を参照しつつカウンタCDLN
IXの処理について説明する。このカウンタCDLNI
Xのカウント値は後に説明するトルク変動値を算出する
際に使用される。図22を参照すると、まず初めに現在
3番気筒#3のATDC30°であるか否かが判別され
る。現在3番気筒#3のATDC30°でないときには
処理サイクルを完了し、現在3番気筒#3のATDC3
0°であるときにはステップ502に進む。ステップ5
02ではトルク変動値を算出するためのトルク変動値算
出条件が成立しているか否かが判別される。例えば空燃
比をリーンとする条件が成立していないか、或いはサー
ジタンク3内の絶対圧の単位時間当りの変化量ΔPMが
設定値以上であるか、或いは機関回転数の単位時間当り
の変化量ΔNが設定値以上であるときにはトルク変動値
算出条件が成立していないと判断され、それ以外のとき
にはトルク変動値算出条件が成立していると判断され
る。
【0076】ステップ502においてトルク変動値算出
条件が成立していると判断されたときにはステップ50
8に進んでカウント値CDLNIXが1だけインクリメ
ントされる。このカウント値CDLNIXのインクリメ
ント作用は3番気筒#3がATDC30°となる毎に、
即ち720°クランク角度毎に行われる。次いでステッ
プ509ではカウント値CDLNIXのインクリメント
作用が開始されてからカウント値CDLNIXがクリア
されるまでの間の機関回転数の平均値NAVE およびサー
ジタンク3内の絶対圧の平均値PMAVE が算出される。
【0077】一方、ステップ502において変動値算出
条件が成立していないと判断されたときにはステップ5
03に進んでカウント値CDLNIXがクリアされる。
次いでステップ504では各気筒に対するトルク変動率
ZLN(i)の積算値DLNI(i)(この積算値は後
に説明するルーチンにおいて算出される)がクリアさ
れ、次いでステップ505では各気筒に対する積算カウ
ント値CDLNI(i)(この積算カウント値は後に説
明するルーチンにおいて算出される)がクリアされる。
【0078】次いでステップ506では目標トルク変動
値LVLLFBが算出される。本発明による実施例では
後に説明するように算出されたトルク変動値がこの目標
トルク変動値LVLLFBとなるように空燃比がフィー
ドバック制御される。この目標トルク変動値LVLLF
Bは等しい変動値を実線で示した図24(A)に示され
るようにサージタンク3内の絶対圧PMが高くなるほど
大きくなり、機関回転数Nが高くなるほど大きくなる。
この目標トルク変動値LVLLFBは図24(B)に示
されるようにサージタンク3内の絶対圧PMおよび機関
回転数Nの関数としてマップの形で予めROM22内に
記憶されている。次いでステップ507では各気筒のト
ルク変動値DLNISM(i)(このトルク変動値は後
に説明するルーチンにおいて算出される)が図24
(B)のマップから算出された目標トルク変動値LVL
LFBとされる。
【0079】図26は繰返し実行されるメインルーチン
を示している。このメインルーチンではまず初めにトル
ク変動値の算出ルーチン(ステップ600)が実行され
る。このルーチンが図27および図28に示されてい
る。次いでリーンリミットフィードバック補正係数FL
LFBの算出ルーチン(ステップ700)が実行され
る。このルーチンが図29に示されている。次いで予め
定められたクランク角になったときに噴射時間算出ルー
チン(ステップ800)が実行される。このルーチンが
図30に示されている。次いでその他のルーチン(ステ
ップ900)が実行される。
【0080】次に図27および図28に示されるトルク
変動値の算出ルーチンについて説明する。図27および
図28を参照すると、まず初めにステップ601におい
てトルク変動率ZLN(i)を積算すべきことを示す積
算要求フラグXCDLN(i)がセット(XCDLN
(i)=“1”)されているか否かが判別される。積算
要求フラグXCDLN(i)がセットされていないとき
にはステップ609にジャンプし、積算要求フラグXC
DLN(i)がセットされているときにはステップ60
2に進む。ステップ602では積算要求フラグXCDL
N(i)がリセットされる。次いでステップ603では
トルク変動率ZLN(i)がトルク変動率積算値DLN
I(i)に加算される。次いでステップ604では積算
カウント値CDLNI(i)が1だけインクリメントさ
れる。即ち、例えばステップ601において1番気筒に
ついての積算要求フラグXCDLN(1)がセットされ
たとするとステップ602においてこのフラグXCDL
N(1)がリセットされ、ステップ603においてトル
ク変動率積算値DLNI(1)が算出され、ステップ6
04において積算カウント値CDLNI(1)が1だけ
インクリメントされる。
【0081】次いでステップ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)がリセットされる。
【0082】即ち、算出されたトルク変動率積算値DL
NI(i)とこれまで用いられてきたトルク変動値DL
NISM(i)との間に差があるときにはこの差{DL
NI(i)−DLNISM(i)}に1/4を乗算した
値がトルク変動値DLNISM(i)に加算される。従
って例えば1番気筒#1についての積算カウント値CD
LNI(1)が“8”になるとステップ606において
トルク変動値DLNISM(1)が算出されることにな
る。
【0083】次いでステップ609では図22に示すル
ーチンにおいて算出されたカウント値CDLNIXが
“8”になったか否かが判別される。CDLNIXが
“8”でないときには処理サイクルを完了し、CDLN
IXが“8”になるとステップ610に進んで各気筒の
トルク変動値DLNISM(i)の平均値である平均ト
ルク変動値DLNISM(={DLNISM(1)+D
LNISM(2)+DLNISM(3)+DLNISM
(4)}/4)が算出される。次いでステップ611で
はカウント値CDLNIXがクリアされる。このように
して機関のトルク変動量を代表する値DLNISMが算
出される。
【0084】なお、前述したようにカウント値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については新たなトルク変動率積
算値DLNI(1)は算出されていない。従ってこの場
合、ステップ610において平均トルク変動値DLNI
SMを求める際には1番気筒#1だけについては以前に
算出されたトルク変動値DLNISM(1)が使用され
る。
【0085】次に図29を参照しつつFLLFB算出ル
ーチンについて説明する。図29を参照すると、まず初
めにステップ701においてリーンリミットフィードバ
ック補正係数FLLFBの更新条件が成立しているか否
かが判別される。例えば暖機運転時であるとき、或いは
機関の運転状態が図5において破線で囲まれた学習領域
にないときには更新条件が成立していないと判断され、
その他のときには更新条件が成立していると判断され
る。更新条件が成立していないときには処理サイクルを
完了し、更新条件が成立しているときにはステップ70
2に進む。
【0086】ステップ702ではサージタンク3内の絶
対圧PMと機関回転数Nから図24(B)に示すマップ
に基づいて目標トルク変動値LVLLFBが算出され
る。次いでステップ703およびステップ704では目
標トルク変動値LVLLFBに応じた変動量判別値DH
(n),DL(n)に基づいて次式に示されるトルク変
動レベルLVLH(n),LVLL(n)が算出され
る。
【0087】 LVLH(n)=LVLLFB+DH(n) LVLL(n)=LVLLFB+DL(n) ここで、変動量判別値DH(n)およびDL(n)は図
25(A)に示されるように予め定められている。即
ち、図25(A)からわかるようにDH(n)について
は3つの正の値が定められており、DH(3)>DH
(2)>DH(1)の関係を有する。更に、これらDH
(1),DH(2),DH(3)は目標トルク変動値L
VLLFBが大きくなるにつれて次第に増大する。一
方、DH(n)については3つの負の値が定められてお
り、DL(1)>DL(2)>DL(3)の関係を有す
る。更に、これらDL(1),DL(2),DL(3)
の絶対値は目標トルク変動値LVLLFBが大きくなる
につれて次第に増大する。
【0088】ところで今、ステップ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)とされる。
【0089】一方、図25(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 である。図25(B)に示
す各フィードバック補正値+a1 ,+a2 ,+a3 ,+
4 ,−b1 ,−b 2 ,−b3 ,−b4 が図25(A)
の対応する領域に示されている。
【0090】ステップ703およびステップ704にお
いて夫々トルク変動レベルLVLH(n),LVLL
(n)が算出されるとステップ705に進んで図27お
よび図28に示すトルク変動値の算出ルーチンにより算
出された平均トルク変動値DLNISMが図25(B)
に示されるどのトルク変動レベルLVLH(n),LV
LL(n)の間にあるか否かが判別される。次いでステ
ップ706では対応するフィードバック補正値DLFB
が算出される。例えば今、目標変動レベルLVLLFB
が図25(A)において破線で示される値であり、算出
された平均トルク変動値DLNISMが図25(B)の
LVLH(1)とLVLH(2)との間である場合、即
ち目標変動レベルLVLLFBに対する平均トルク変動
値DLNISMの偏差が図25(A)の破線上において
DH(1)とDH(2)の間にある場合にはフィードバ
ック補正値DLFBは+a2 とされる。
【0091】次いでステップ707では図22に示すC
DLNIXの処理ルーチンのステップ509において求
められた機関回転数の平均値NAVE およびサージタンク
3内の絶対圧の平均値PMAVE に基づいて更新すべきリ
ーンリミットフィードバック補正係数FLLBFijが
図5に示されるどの学習領域のリーンリミットフィード
バック補正係数であるかが決定される。次いでステップ
708ではステップ707において決定されたリーンリ
ミットフィードバック補正係数FLLFBijにフィー
ドバック補正係数DLFBが加算される。
【0092】即ち、上述したように例えばDLNISM
>LVLLFBであって、LVLH(1)<DLNIS
M<LVLH(2)である場合にはリーンリミットフィ
ードバック補正係数FLLFBijに+a2 が加算され
る。その結果、空燃比が小さくなるので各気筒のトルク
変動量が減少せしめられる。一方、DLNISM<LV
LLFBであってLVLL(1)>DLNISM>LV
LL(2)である場合にはリーンリミットフィードバッ
ク補正係数FLLFBijに−b2 が加算される。その
結果、空燃比が大きくなるので各気筒のトルク変動量が
増大せしめられる。このようにして全気筒の平均トルク
変動値DLNISMが目標トルク変動値LVLLFBと
なるようにリーン運転時の空燃比が制御される。
【0093】なお、図22に示すルーチンに示されるよ
うにトルク変動値の算出条件が成立しないときにはステ
ップ507において全ての気筒に対するDLNISM
(i)がLVLLFBとされ、斯くして平均トルク変動
値DLNISMも目標トルク変動値LVLLFBとされ
る。従ってこのときにはリーンリミットフィードバック
補正係数FLLFBijの更新は行われない。
【0094】次に図30を参照しつつ燃料噴射時間の算
出ルーチンについて説明する。図30を参照すると、ま
ず初めにステップ801において図2に示すマップから
基本燃料噴射時間TPが算出される。次いでステップ8
02ではリーン運転を行うべき運転状態か否かが判別さ
れる。リーン運転を行うべき運転状態のときにはステッ
プ803に進んで理論空燃比フィードバック補正係数F
AFの値が1.0に固定される。次いでステップ804
では図4に示すマップからリーン補正係数FLEANが
算出され、次いで図5に示すマップからリーンリミット
フィードバック補正係数FLLFBが読込まれる。次い
でステップ809では次式に基づいて燃料噴射時間TA
Uが算出される。
【0095】TAU=TP・FLEAN・FLLFB・
FAF+TAUV これに対し、ステップ802においてリーン運転を行う
べき運転状態でないと判別されたとき、即ち空燃比を理
論空燃比にすべきときにはステップ806に進んでリー
ン補正係数FLEANが1.0に固定され、次いでステ
ップ807においてリーンリミットフィードバック補正
係数FLLFBが1.0に固定される。次いでステップ
808では空燃比センサ17の出力信号に基づいて空燃
比が理論空燃比となるように理論空燃比フィードバック
補正係数FAFが制御される。次いでステップ809に
進み、燃料噴射時間TAUが算出される。
【0096】
【発明の効果】各気筒の発生する駆動力或いはトルクの
変動の程度を正確に判断することができる。
【図面の簡単な説明】
【図1】内燃機関の全体図である。
【図2】基本燃料噴射時間のマップを示す図である。
【図3】NOx の発生量とトルク変動を示す図である。
【図4】リーン補正係数のマップを示す図である。
【図5】リーンリミットフィードバック補正係数のマッ
プを示す図である。
【図6】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
【図7】ロータとクランク角センサの拡大側面図であ
る。
【図8】各気筒についての経過時間Tb(i)と機関回
転数Nとの関係を示す図である。
【図9】30°クランク角度の経過時間Ta(i)の変
化を示すタイムチャートである。
【図10】30°クランク角度の経過時間Ta(i),
Tb(i)の変化を示すタイムチャートである。
【図11】30°クランク角度の経過時間Ta(i),
Tb(i)の変化を示すタイムチャートである。
【図12】30°クランク角度の経過時間Ta(i)の
変化を示すタイムチャートである。
【図13】割込みルーチンを示すフローチャートであ
る。
【図14】経過時間Ta(i),Tb(i)を算出する
ためのフローチャートである。
【図15】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図16】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図17】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図18】経過時間Ta(i)の変化とフラグXMXR
EC,XMNRECの変化を示すタイムチャートであ
る。
【図19】トルクを算出するためのフローチャートであ
る。
【図20】トルクを算出するためのフローチャートであ
る。
【図21】比KTa(i)を算出するためのフローチャ
ートである。
【図22】カウンタCDLNIXを処理するためのフロ
ーチャートである。
【図23】種々の値の計算タイミングを示す図である。
【図24】目標トルク変動値を示す図である。
【図25】変動量判別値DH(n),DL(n)および
トルク変動レベルLVLH(n),LVLL(n)を示
す図である。
【図26】メインルーチンを示すフローチャートであ
る。
【図27】トルク変動値を算出するためのフローチャー
トである。
【図28】トルク変動値を算出するためのフローチャー
トである。
【図29】リーンリミットフィードバック補正係数を算
出するためのフローチャートである。
【図30】燃料噴射時間を算出するためのフローチャー
トである。
【符号の説明】
3…サージタンク 4…燃料噴射弁 7…スロットル弁 13…ロータ 14…クランク角センサ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 圧縮行程末期から爆発行程初期までのク
    ランク角度領域内に第1のクランク角度範囲を設定し、
    第1のクランク角度範囲から一定のクランク角を隔てた
    爆発行程中期のクランク角度領域内に第2のクランク角
    度範囲を設定し、該第1のクランク角度範囲内における
    クランクシャフトの第1の角速度を検出すると共に該第
    2のクランク角度範囲内におけるクランクシャフトの第
    2の角速度を検出し、第1の角速度と第2の角速度から
    気筒が発生する駆動力を求め、次いでこの駆動力から駆
    動力の変動量を求め、次いで該駆動力の変動量と該駆動
    力との比である駆動力の変動率を求めて該駆動力の変動
    率から駆動力の変動の程度を判断するようにした内燃機
    関における変動検出方法。
  2. 【請求項2】 上記駆動力が第1の角速度の2乗と第2
    の角速度の2乗との差から算出された気筒の発生トルク
    である請求項1に記載の内燃機関における変動検出方
    法。
  3. 【請求項3】 クランクシャフトに連結されかつ欠歯部
    分を有するロータの歯にクランク角センサを対面配置し
    て該クランク角センサの出力信号に基づいて角速度を検
    出し、角速度を検出すべきタイミングとクランク角セン
    サが欠歯部分に対面するタイミングとが重なることのあ
    る請求項1に記載の内燃機関における変動検出方法。
JP9685796A 1996-04-18 1996-04-18 内燃機関における変動検出方法 Pending JPH09281006A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9685796A JPH09281006A (ja) 1996-04-18 1996-04-18 内燃機関における変動検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9685796A JPH09281006A (ja) 1996-04-18 1996-04-18 内燃機関における変動検出方法

Publications (1)

Publication Number Publication Date
JPH09281006A true JPH09281006A (ja) 1997-10-31

Family

ID=14176150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9685796A Pending JPH09281006A (ja) 1996-04-18 1996-04-18 内燃機関における変動検出方法

Country Status (1)

Country Link
JP (1) JPH09281006A (ja)

Similar Documents

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