JP3156588B2 - 内燃機関の空燃比制御方法 - Google Patents

内燃機関の空燃比制御方法

Info

Publication number
JP3156588B2
JP3156588B2 JP14176396A JP14176396A JP3156588B2 JP 3156588 B2 JP3156588 B2 JP 3156588B2 JP 14176396 A JP14176396 A JP 14176396A JP 14176396 A JP14176396 A JP 14176396A JP 3156588 B2 JP3156588 B2 JP 3156588B2
Authority
JP
Japan
Prior art keywords
fuel ratio
torque
air
value
cylinder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP14176396A
Other languages
English (en)
Other versions
JPH09324674A (ja
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 JP14176396A priority Critical patent/JP3156588B2/ja
Priority to EP97108963A priority patent/EP0811758B1/en
Priority to DE1997625929 priority patent/DE69725929T2/de
Publication of JPH09324674A publication Critical patent/JPH09324674A/ja
Application granted granted Critical
Publication of JP3156588B2 publication Critical patent/JP3156588B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

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の角速度ωaおよび第2の角速度ωbに基づいて算出
されたトルク変動が燃焼圧の変動によるトルク変動を表
している場合に可能となる。
【0005】しかしながら車両が悪路を走行すると機関
駆動系に振幅の大きな捩り振動が発生し、その結果第1
の角速度ωaと第2の角速度ωbに基づき算出されたト
ルクが大きく変動する。このように燃焼圧の変動によら
ないトルク変動が生じたときに大きなトルク変動が生じ
たということで空燃比が補正されると空燃比がリーン限
界から大巾にずれてしまうことになり、従って悪路の走
行により大きなトルク変動が生じた場合には空燃比の補
正を禁止する必要がある。
【0006】ところが第1の角速度ωaおよび第2の角
速度ωbに基づき算出されるトルク変動量は燃焼圧が変
動しても変化し、車両が悪路を走行しても変化するので
燃焼圧の変動又は悪路の走行のいずれが原因でトルク変
動が生じたかがわからない。従ってこのように第1の角
速度ωaおよび第2の角速度ωbに基づき算出されたト
ルク変動量に応じて空燃比を制御するようにした場合に
はトルク変動が燃焼圧の変動に基づいているのか、又は
悪路の走行に基づいているのかを正確に判断する必要が
ある。
【0007】いずれにしても上述の内燃機関では悪路の
走行によるトルク変動の発生については何ら示唆してお
らず、従って上述の内燃機関に記載された方法を適用す
ると空燃比が目標とする空燃比からずれてしまうという
問題がある。
【0008】
【課題を解決するための手段】上記問題点を解決するた
めに1番目の発明によれば、自動変速機を備え、自動変
速機のトルクコンバータ内にロックアップ機構を設けた
内燃機関の空燃比制御方法において、圧縮行程末期から
爆発行程初期までのクランク角度領域内に第1のクラン
ク角度範囲を設定し、第1のクランク角度範囲から一定
のクランク角を隔てた爆発行程中期のクランク角度領域
内に第2のクランク角度範囲を設定し、第1のクランク
角度範囲内におけるクランクシャフトの第1の角速度を
検出すると共に第2のクランク角度範囲内におけるクラ
ンクシャフトの第2の角速度を検出して第1の角速度お
よび第2の角速度に基づき各気筒が発生する駆動力の変
動量を求め、ロックアップ機構がオフのときにトルクコ
ンバータのタービンの回転数変動から車両が悪路を走行
しているか否かを判断し、車両が悪路を走行していると
判断されたときには駆動力の変動量に基づく空燃比の補
正を禁止するようにしている。即ち、ロックアップ機構
がオフのときに車両が悪路を走行していると一方では燃
焼圧の変動に基づく角速度の変動と区別し得ない程度の
悪路走行に基づく角速度の小さな変動がクランクシャフ
トに発生し、他方では大きな回転数変動がトルクコンバ
ータのタービンに発生する。従って車両が悪路を走行し
ていることを確実に判断しうるようにロックアップ機構
がオフのときにはトルクコンバータのタービンの回転数
変動から車両が悪路を走行しているか否かを判断するよ
うにしている。
【0009】2番目の発明では1番目の発明において、
タービンの回転速度を検出する回転速度センサの出力パ
ルスをサンプリングしてタービンの回転速度を求め、こ
れら出力パルスのサンプリング頻度をタービンの回転数
が高くなるほど低くするようにしている。即ち、タービ
ンの回転速度センサの出力パルスをサンプリングしてタ
ービンの回転速度を求め、この回転速度から回転速度変
動を求める場合にはサンプリング頻度に最適値が存在す
る。従ってサンプリング頻度が最適となるようにサンプ
リング頻度がタービンの回転数が高くなるほど低くされ
る。
【0010】3番目の発明では1番目の発明において、
第1の角速度の2乗と第2の角速度の2乗との差を求
め、上述の駆動力の変動量がこの差によって表わされる
トルクの変動量を示している。即ち、3番目の発明では
第1の角速度ωaの2乗と第2の角速度ωbの2乗との
差よりトルクの変動量が求められる。4番目の発明では
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の外周上に30°ク
ランク角度毎に外歯が形成されており、例えば1番気筒
の圧縮上死点を検出するために一部の外歯が削除されて
いる。従ってこの外歯が削除された部分、即ち欠歯部分
を除いてクランク角センサ14はクランクシャフト12
が30°クランク角度回転する毎に出力パルスを発生
し、この出力パルスが入力ポート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に示されるように機関のクランクシャ
フト12は自動変速機30に連結され、自動変速機30
の出力軸31が駆動輪に連結される。自動変速機30は
トルクコンバータ32を備えており、このトルクコンバ
ータ32内にロックアップ機構33が設けられている。
即ち、トルクコンバータ32はクランクシャフト12に
連結されてクランクシャフト12と共に回転するポンプ
カバー34と、ポンプカバー34により支承されたポン
プインペラ35と、自動変速機30の入力軸36に取付
けられたタービンランナ37と、ステータ37aとを具
備し、クランクシャフト12の回転運動がポンプカバー
34、ポンプインペラ35およびタービンランナ37を
介して入力軸36に伝達される。
【0015】一方、ロックアップ機構33は入力軸36
に対してその軸線方向に移動可能に取付けられかつ入力
軸36と共に回転するロックアップクラッチ板38を具
備する。通常は、即ちロックアップオフ時には入力軸3
6内のオイル通路を介してロックアップクラッチ板38
とポンプカバー34間の部屋39内に加圧オイルが供給
され、次いでこの部屋39から流出した加圧オイルはポ
ンプインペラ35およびタービンランナ37の周りの部
屋40内に送り込まれた後、入力軸36内のオイル通路
を介して排出される。このときロックアップクラッチ板
38両側の部屋39,40間の圧力差はほとんど生じな
いためにロックアップクラッチ板38はポンプカバー3
4の内壁面から離れており、従ってこのときにはクラン
クシャフト12の回転力はポンプカバー34、ポンプイ
ンペラ35およびタービンランナ37を介して入力軸3
6に伝達される。
【0016】一方、ロックアップをオンすべきときには
入力軸36内のオイル通路を介して部屋40内に加圧オ
イルが供給され、部屋39内のオイルは入力軸36内の
オイル通路を介して排出される。このとき部屋40内の
圧力が部屋39内の圧力よりも高くなり、斯くしてロッ
クアップクラッチ板38がポンプカバー34の内周面上
に圧接されてクランクシャフト12と入力軸36とが同
速度で回転する直結状態となる。部屋39,40内への
オイルの供給制御、即ちロックアップ機構33のオン・
オフ制御は自動変速機30内に設けられた制御弁によっ
て制御され、この制御弁は電子制御ユニット20の出力
信号に基づいて制御される。また、自動変速機20内に
は変速作用を行うための多数のクラッチが設けられてお
り、これらのクラッチも電子制御ユニット20の出力信
号に基づいて制御される。
【0017】また、自動変速機30内には入力軸36、
即ちタービンランナ37の回転速度を表わす出力パルス
を発生する回転速度センサ41および出力軸31の回転
速度を表わす出力パルスを発生する回転速度センサ42
が配置されており、これら回転速度センサ41,42の
出力パルスは入力ポート26に入力される。図1に示す
内燃機関では燃料噴射時間TAUが次式に基づいて算出
される。
【0018】TAU=TP・FLEAN・FLLFB・
FAF+TAUV ここでTPは基本燃料噴射時間を、FLEANはリーン
補正係数を、FLLFBはリーンリミットフィードバッ
ク補正係数を、FAFは理論空燃比フィードバック補正
係数を、TAUVは、無効噴射時間を夫々示している。
基本燃料噴射時間TPは空燃比を理論空燃比とするのに
必要な噴射時間を示している。この基本燃料噴射時間T
Pは実験により求められ、この基本燃料噴射時間TPは
サージタンク3内の絶対圧PMおよび機関回転数Nの関
数として図2に示すマップの形で予めROM22内に記
憶されている。
【0019】リーン補正係数FLEANは空燃比を目標
リーン空燃比とするための補正係数であり、このリーン
補正係数FLEANはサージタンク3内の絶対圧PMお
よび機関回転数Nの関数として図4に示すマップの形で
予めROM22内に記憶されている。リーンリミットフ
ィードバック補正係数FLLFBは空燃比をリーン限界
に維持するための補正係数である。本発明による実施例
ではサージタンク3内の絶対圧PMと機関回転数Nに対
してリーン空燃比フィードバック制御に対する学習領域
が図5に示されるように例えば9つの領域に分けられて
おり、各学習領域に対して夫々リーンリミットフィード
バック補正係数FLLFB11〜FLLFB33が設定され
ている。
【0020】理論空燃比フィードバック補正係数FAF
は空燃比を理論空燃比に維持するための係数である。理
論空燃比フィードバック補正係数FAFは空燃比を理論
空燃比に維持すべきときに空燃比センサ17の出力信号
に基づいて制御され、このとき理論空燃比フィードバッ
ク補正係数FAFはほぼ1.0を中心として上下動す
る。
【0021】図4に示されるように破線により囲まれた
運転領域内については機関の運転状態に応じてリーン補
正係数FLEANが定められており、この運転領域内で
は空燃比が目標リーン空燃比に維持される。これに対し
て図4の破線で囲まれた領域外の運転領域では空燃比が
理論空燃比に維持される。空燃比を理論空燃比に維持す
べきときにはリーン補正係数FLEANおよびリーンリ
ミットフィードバック補正係数FLLFBは1.0に固
定され、理論空燃比フィードバック補正係数FAFが空
燃比センサ17の出力信号に基づいて制御される。
【0022】一方、空燃比を目標リーン空燃比に維持す
べきときには理論空燃比フィードバック補正係数FAF
が1.0に固定され、即ち空燃比センサ17の出力信号
に基づくフィードバック制御が停止され、リーン補正係
数FLEANとリーンリミットフィードバック補正係数
FLLFBとにより空燃比が目標リーン空燃比に制御さ
れる。
【0023】次に図3を参照しつつリーンリミットフィ
ードバック制御について説明する。図3は機関出力トル
ク変動量およびNOx 発生量と空燃比との関係を示して
いる。空燃比がリーンになるほど燃料消費率は小さくな
り、また空燃比がリーンになるほどNOx の発生量が少
なくなる。従ってこれらの点からみると空燃比はできる
だけリーンにすることが好ましいことになる。ところが
空燃比が或る程度以上リーンになると燃焼が不安定とな
り、その結果図3に示されるようにトルク変動量が大き
くなる。そこで本発明による実施例では図3に示される
ようにトルク変動が増大し始める空燃比制御領域内に空
燃比を維持するようにしている。
【0024】即ち具体的に云うとリーン補正係数FLE
ANはリーンリミットフィードバック補正係数FLLF
BをFLLFB=1.0としたときに空燃比が図3に示
される空燃比制御領域の中央部となるように定められて
いる。一方、リーンリミットフィードバック補正係数F
LLFBはトルク変動量に応じて図3に示されるトルク
変動制御領域内において制御され、トルク変動量が大き
くなればリーンリミットフィードバック補正係数FLL
FBが増大せしめられ、即ち空燃比が小さくされ、トル
ク変動量が小さくなればリーンリミットフィードバック
補正係数FLLFBが減少せしめられ、即ち空燃比が大
きくされる。このようにして空燃比が図3に示される空
燃比制御領域内に制御される。
【0025】なお、図4と図5とを比較すればわかるよ
うにリーンリミットフィードバック補正係数FLLFB
はリーン補正係数FLEANが定められている機関運転
領域とほぼ同じ領域に対して設定されている。トルク変
動量が図3に示されるトルク変動制御領域内に制御され
ると良好な車両の運転性を確保しつつ燃料消費率および
NOx の発生量を大巾に低減することができる。ただ
し、このようにトルク変動量をトルク変動制御領域内に
制御するためにはトルク変動量を検出しなければなら
ず、トルク変動量を検出するためにはトルクを検出しな
ければならないことになる。
【0026】ところで各気筒の出力トルクを算出する方
法は従来より種々の方法が提案されている。代表的な例
を挙げると燃焼室内に燃焼圧センサを取付けてこの燃焼
圧センサの出力信号に基づき出力トルクを算出する方法
や、或いは冒頭で述べたように第1の角速度ωaの2乗
と第2の角速度ωbの2乗との差から出力トルクを算出
する方法が挙げられる。
【0027】燃焼圧センサを用いると燃焼圧センサを取
付けた気筒が発生するトルクを確実に検出することがで
きるという利点がある反面、燃焼圧センサが必要である
という欠点を有している。これに対して角速度ωa,ω
bは従来より内燃機関が備えているクランク角センサの
出力信号から算出することができるので角速度ωa,ω
bに基づき出力トルクを算出するようにした場合には新
たなセンサを設ける必要がないという利点がある。ただ
し、この場合冒頭に述べたように車両が悪路を走行する
ことによってトルク変動が大きくなった場合には空燃比
の補正を禁止する必要がある。このことを除けば新たな
センサを必要としない角速度に基づくトルク算出方法の
方が好ましいことは明らかである。そこで本発明では発
生トルクを角速度に基づき算出するようにし、車両が悪
路を走行していると判断されたときには空燃比の補正を
禁止するようにしている。
【0028】次に各気筒が発生する駆動力および各気筒
が発生するトルクを算出するための方法について説明す
る。まず初めに、機関駆動系が捩り振動を生じていない
定常運転時を示す図6(A),(B)を参照しつつ各気
筒が発生する駆動力および各気筒が発生するトルクを算
出する方法について説明する。前述したようにクランク
角センサ14はクランクシャフトが30°クランク角度
回転する毎に出力パルスを発生し、更にクランク角セン
サ14は各気筒#1,#2,#3,#4の圧縮上死点T
DCにおいて出力パルスを発生するように配置されてい
る。従ってクランク角センサ14は各気筒#1,#2,
#3,#4の圧縮上死点TDCから30°クランク角毎
に出力パルスを発生することになる。なお、本発明にお
いて用いられている内燃機関の点火順序は1−3−4−
2である。
【0029】図6(A),(B)において縦軸T30は
クランク角センサ14が出力パルスを発生してから次の
出力パルスを発生するまでの30°クランク角度の経過
時間を表わしている。また、Ta(i)はi番気筒の圧
縮上死点(以下TDCと称す)から圧縮上死点後(以下
ATDCと称す)30°までの経過時間を示しており、
Tb(i)はi番気筒のATDC60°からATDC9
0°までの経過時間を示している。従って例えばTa
(1)は1番気筒のTDCからATDC30°までの経
過時間を示しており、Tb(1)は1番気筒のATDC
60°からATDC90°までの経過時間を示している
ことになる。一方、30°クランク角度を経過時間T3
0で除算するとこの除算結果は角速度ωを表わしてい
る。本発明による実施例では30°クランク角度/Ta
(i)をi番気筒における第1の角速度ωaと称し、3
0°クランク角度/Tb(i)をi番気筒における第2
の角速度ωbと称する。従って30°クランク角度/T
a(1)は1番気筒の第1の角速度ωaを表わし、30
°クランク角度/Tb(1)は1番気筒の第2の角速度
ωbを表わすことになる。
【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)
から気筒の発生する駆動力を算出することができる。
【0031】一方、機関の回転慣性モーメントをIとす
ると燃焼圧によって運動エネルギが(1/2)Iωa2
から(1/2)Iωb2 に増大せしめられる。この運動
エネルギの増大量(1/2)・I・(ωb2 −ωa2
はその気筒が発生するトルクを表わしており、従って第
1の角速度ωaの2乗と第2の角速度ωbの2乗との差
(ωb2 −ωa2 )から気筒の発生するトルクを算出で
きることになる。
【0032】このように第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
°となることもあり得る。
【0033】従って各角速度ωa,ωbの検出のしかた
について一般的に表現すると、圧縮行程末期から爆発行
程初期までのクランク角度領域内に第1のクランク角度
範囲を設定し、第1のクランク角度範囲から一定のクラ
ンク角を隔てた爆発行程中期のクランク角度領域内に第
2のクランク角度範囲を設定し、第1のクランク角度範
囲内におけるクランクシャフトの第1の角速度ωaを検
出し、第2のクランク角度範囲内におけるクランクシャ
フトの第2の角速度ωbを検出するということになる。
【0034】上述したように角速度ωa,ωbを検出す
れば検出値に基づいて対応する気筒の発生する駆動力お
よびトルクを算出することができる。しかしながら機関
駆動系には各気筒において順次行われる爆発作用により
駆動系の固有振動数でもって振動する捩り振動が発生し
ており、このように機関駆動系に捩り振動が発生してい
ると角速度ωa,ωbに基づいて気筒の発生する駆動力
およびトルクを正確に算出することができなくなる。次
にこのことについて図7および図8を参照しつつ説明す
る。
【0035】図7は機関駆動系に捩り振動が発生してい
るときに各気筒に対し順次算出される経時時間Ta
(i)の変化を示している。機関駆動系に捩り振動が発
生するとこの捩り振動によってクランクシャフトの角速
度が周期的に増大減少せしめられるので経過時間Ta
(i)は図7に示されるように周期的に増大減少するこ
とになる。
【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だけ減少してい
ることになる。
【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を減少方向に補正しなければならな
いことになる。
【0038】これに対しTa(1)に対してTa(3)
が増大したときにはTa(1)に対して減少した経過時
間Tb(1)は燃焼圧による経過時間の減少量と捩り振
動による経過時間の増大量とを含んでいる。従ってこの
場合、燃焼圧により減少した経過時間Tb′(1)だけ
を求めるためにはTb(1)から捩り振動による経過時
間の増大量を減算しなければならない。即ち、気筒間に
おける経過時間が増大した場合において燃焼圧により減
少した経過時間Tb′(1)だけを求めるためには検出
された経過時間Tb(1)を減少方向に補正しなければ
ならないことになる。云い換えると気筒間において第1
の角速度ωaが減少したときには先に燃焼が行われた気
筒の第2の角速度ωbを増大方向に補正しなければなら
ないことになる。
【0039】上述したように第2の角速度ωbを補正す
ることによって各気筒の爆発作用により機関駆動系に捩
り振動が発生したとしても第1の角速度ωaと第2の角
速度ωbとの差(ωb−ωa)から各気筒が発生する駆
動力を正確に算出することができ、第1の角速度ωaの
2乗の第2の角速度ωbの2乗との差(ωb2 −ω
2 )から各気筒が発生するトルクを正確に算出するこ
とができる。ところがロータ13(第1図)の外周に沿
って形成されている外歯の間隔にばらつきがあると上述
したように第2の角速度ωbを補正したとしても各気筒
が発生する駆動力およびトルクを正確に検出することが
できない。次にこのことについて図9を参照しつつ説明
する。
【0040】図9は1番気筒#1のTDCを示すロータ
13の外歯とATDC30°を示すロータ13の外歯と
の間隔が他の外歯間の間隔よりも短かい場合を示してい
る。この場合には図8と図9とを比較すればわかるよう
に経過時間Ta(1)が30°クランク角度に対する正
規の経過時間に比べて小さくなってしまう。また、この
とき図8と図9とを比較すればわかるように捩り振動に
よる経過時間の減少量h′は正規の減少量hと比べて小
さくなり、従って燃焼圧により減少した経過時間だけを
表わすTb′(1)の値も正規の値に対して小さくなっ
てしまう。
【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)を求めるようにしている。
【0042】従って例えば上述したように1番気筒#1
について実際に検出された経過時間Ta(1)が正規の
経過時間に比べて短かい場合には比KTa(1)は1.
0よりも大きくなり、斯くして実際の検出経過時間Ta
(1)に比KTa(1)を乗算することによって得られ
る最終的な経過時間Ta(1)は正規の経過時間Ta
(1)にかなり近づくことになる。また、このようにし
て得られた最終的な経過時間Ta(i)に基づいて捩り
振動による経過時間の減少量hを求めればこの減少量h
は正規の減少量にほぼ一致することになり、斯くして燃
焼圧により減少した経過時間だけを表わすTb′(1)
の値もほぼ正規の値を示すことになる。このように本発
明による実施例ではロータ13の外歯の間隔にばらつき
があったとしても各気筒の発生する駆動力およびトルク
を正確に検出することができる。
【0043】一方、図1においてロックアップ機構33
がオンになっていると、即ちクランクシャフト12と自
動変速機30の入力軸36とが直結状態になっていると
すると駆動輪に作用する外力が自動変速機30を介して
直接クランクシャフト12に加わる。その結果、車両が
悪路を走行することによって機関駆動系に振幅の大きな
捩り振動が発生するとそれによってTa(i)の変動巾
が極めて大きくなる。図10は車両が悪路を走行したと
きのTa(i)の変動を示しており、図10のAMPは
最小のTa(i)と最大のTa(i)との差、即ち振幅
を示している。図8を参照しつつ説明したように各気筒
の爆発作用により機関駆動系に捩り振動が発生している
ときには振幅AMPはさほど大きくならず、従ってこの
ときにはこれまで述べた方法によって図8に示すhを算
出すれば燃焼圧により減少した経過時間だけを表わすT
b′(1)の値を正確に検出することができる。
【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)が最小となる気筒においても同
じことが生ずる。
【0045】また、一つ前に燃焼が行われた気筒のTa
(i)に対してTa(i)が急変した気筒においてもh
の値が実際の値からずれ、斯くして気筒が発生する駆動
力およびトルクを正確に検出できなくなる。そこで本発
明による実施例では振幅AMPが大きいときにはTa
(i)が最大又は最小となる気筒については駆動力又は
トルクを求めず、更に一つ前に燃焼が行われた気筒Ta
(i)に対してTa(i)が急変した気筒についても駆
動力又はトルクを求めないようにしている。
【0046】更に、本発明による実施例では、ロックア
ップ機構33がオンとなっているときには振幅AMPの
平均値を求め、この振幅AMPの平均値が一定時間以
上、一定値を越えたときには空燃比の補正を禁止するよ
うにしている。一方、本発明による実施例では回転速度
センサ41の出力パルスからトルクコンバータ32のタ
ービンランナ37の回転速度の変動量を検出し、ロック
アップ機構33がオフのときにはタービンランナ32の
回転速度の変動量の平均値が一定時間以上、一定値を越
えたときには車両が悪路を走行していると判断して空燃
比の補正を禁止するようにしている。即ち、車両が悪路
を走行しているときには駆動輪に作用する外力が直接ト
ルクコンバータ32のタービンランナ37に加わるため
にタービンランナ37の回転速度は大きく変動する。一
方、このときロックアップ機構33がオフになっている
とタービンランナ37の回転速度変動はポンプインペラ
35を介してクランクシャフト12に伝達されるのでク
ランクシャフト12の回転速度は大きく変動せず、この
ときクランクシャフト12の回転速度は小さく変動す
る。一方、このときクランクシャフト12には燃焼圧の
変動による回転速度変動も生じており、従ってクランク
シャフト12の回転速度変動が悪路の走行に基づく変動
なのか或いは燃焼圧の変動に基づく変動なのかがわから
ない。
【0047】しかしながら悪路を走行しているときには
クランクシャフト12に発生する回転速度変動が小さく
てもタービンランナ37の回転速度は大きく変動する。
一方、燃焼圧の変動によりクランクシャフト12が大き
く変動してもこのクランクシャフト12の回転速度変動
はポンプインペラ35を介してタービンランナ37に伝
達されるのでタービンランナ12の回転速度の変動量は
小さくなる。即ち、タービンランナ37の回転速度が大
きく変動するのは車両が悪路を走行しているときだけで
あり、従ってタービンランナ37の回転速度変動が大き
くなったときには車両が悪路を走行していると判断でき
ることになる。従って前述したように本発明による実施
例では、ロックアップ機構33がオフのときにはタービ
ンランナ32の回転速度の変動量の平均値が一定時間以
上、一定値を越えたときには車両が悪路を走行している
と判断して空燃比の補正を禁止するようにしている。
【0048】一方、ロックアップ機構33がオンのとき
には前述したように車両が悪路を走行するとクランクシ
ャフト12の回転速度は大きく変動し、従ってこのとき
には車両が悪路を走行しているか否かをクランクシャフ
ト12の回転速度変動から判断することができる。しか
しながら路面の影響によってクランクシャフト12の回
転速度が小さく変動している場合にはクランクシャフト
12の回転速度変動が路面の影響によるものか、又は燃
焼圧の変動によるものかは判断できない。
【0049】次に図11から図21を参照しつつ各気筒
が発生するトルクを求めるためのルーチンについて説明
する。なお、図21は各ルーチンにおいて行われる各値
の計算タイミングを示している。図11は30°クラン
ク角度毎に行われる割込みルーチンを示している。図1
1を参照するとまず初めに経過時間Ta(i),Tb
(i)を算出するためのルーチン(ステップ100)に
進む。このルーチンは図12に示されている。次いでト
ルクの算出を許可するか否かをチェックするためのルー
チン(ステップ200)に進む。このルーチンは図13
から図15に示されている。次いでトルクを算出するた
めのルーチン(ステップ300)に進む。このルーチン
は図17に示されている。次いで比KTa(i),KT
b(i)を算出するためのルーチン(ステップ400)
に進む。このルーチンは図18および図19に示されて
いる。次いでトルク変動値の算出に用いるカウンタCD
LNIXの処理ルーチン(ステップ500)に進む。こ
のルーチンは図20に示されている。
【0050】経過時間Ta(i),Tb(i)の算出ル
ーチンを示す図12を参照すると、まず初めにステップ
101において時刻TIMEがTIMEOとされる。電
子制御ユニット20は時刻を表わすフリーランカウンタ
を備えており、このフリーランカウンタのカウント値か
ら時刻が算出される。次いでステップ102では現在の
時刻が取込まれる。従ってステップ101のTIMEO
は30°クランク角度前の時刻を表わしていることにな
る。
【0051】次いでステップ103では現在i番気筒の
ATDC30°であるか否かが判別される。現在i番気
筒のATDC30°でない場合にはステップ106にジ
ャンプして現在i番気筒のATDC90°であるか否か
が判別される。現在i番気筒のATDC90°でない場
合には経過時間Ta(i),Tb(i)の算出ルーチン
を完了する。
【0052】これに対してステップ103において現在
i番気筒のATDC30°であると判別されたときには
ステップ104に進んで次式に基づきi番気筒のTDC
からATDC30°までの最終的な経過時間Ta(i)
が算出される。 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°クランク角度回転す
る間の経過時間を正確に表わしていることになる。
【0053】次いでステップ105では一つ前に燃焼が
行われた(i−1)番気筒の発生トルクを算出すべきこ
とを示すフラグXCAL(i−1)がセット(XCAL
(i−1)←“1”)される。本発明による実施例では
前述したように点火順序が1−3−4−2であるので現
在1番気筒#1のATDC30°であるとすると一つ前
に燃焼が行われた2番気筒#2の発生トルクを算出すべ
きことを示すフラグXCAL(2)がセットされる。同
様に図21に示される如く最終的な経過時間Ta(3)
が算出されるとフラグXCAL(1)がセットされ、最
終的な経過時間Ta(4)が算出されるとフラグXCA
L(3)がセットされ、最終的な経過時間Ta(2)が
算出されるとフラグXCAL(4)がセットされる。
【0054】一方、ステップ106において現在i番気
筒のATDC90°であると判別されたときにはステッ
プ107に進んで次式に基づき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°クランク角度回転する間の経過時間を正確
に表わしていることになる。
【0055】次に図13から図15に示されるトルク算
出許可チェックルーチンについて図16を参照しつつ説
明する。このルーチンは車両が悪路を走行することによ
りTa(i)の変動の振幅AMP(図10)が大きくな
ったときには特定の気筒についてのトルクの算出を禁止
し、かつ空燃比の補正を禁止する判断基準となる振幅A
MPの平均値を求めるために設けられている。
【0056】即ち、図13から図15を参照すると、ま
ず初めにステップ201において現在いずれかの気筒の
ATDC30°であるか否かが判別される。現在いずれ
かの気筒のATDC30°でないときには処理サイクル
を完了し、現在いずれかの気筒のATDC30°である
ときにはステップ202に進む。ステップ202からス
テップ204では経過時間Ta(i)が増大し次いで減
少する際の最大経過時間T30maxが算出される。即
ち、ステップ202では図12に示すルーチンにおいて
算出されたTa(i)が最大経過時間T30maxより
も大きいか否かが判別される。T30max>Ta
(i)のときにはステップ205にジャンプし、これに
対してT30max≦Ta(i)のときにはステップ2
03に進んでTa(i)がT30maxとされる。次い
でステップ204ではTa(i)が増大していることを
示す増大フラグXMXRECがセット(XMXREC←
“1”)され、次いでステップ205に進む。
【0057】ステップ205からステップ207では経
過時間Ta(i)が減少し次いで増大する際の最小経過
時間T30minが算出される。即ち、ステップ205
では図12に示すルーチンにおいて算出されたTa
(i)が最小経過時間T30minよりも小さいか否か
が判別される。T30min<Ta(i)のときにはス
テップ208にジャンプし、これに対してT30min
≧Ta(i)のときにはステップ205に進んでTa
(i)がT30minとされる。次いでステップ207
ではTa(i)が減少していることを示す減少フラグX
MNRECがセット(XMNREC←“1”)され、次
いでステップ208に進む。
【0058】ステップ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に進む。
【0059】即ち、図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 である。
【0060】ステップ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”)される。即ち、図16の時刻
2 において行われる割込みルーチンでは前述したよう
に1番気筒#1の発生トルクが算出される。従ってこの
割込みルーチンにおいてAMP≧A0 となり、トルク算
出禁止フラグXNOCALがセットされると1番気筒#
1の発生トルクの算出、即ち、Ta(i)が最大となる
気筒の発生トルクの算出が禁止される。
【0061】ステップ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に進む。
【0062】即ち、図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 である。
【0063】ステップ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)が最小となる気筒
の発生トルクの算出が禁止される。
【0064】ステップ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)|である
と判別されたときにはステップ224にジャンプし、|
Ta(i−2)−Ta(i−1)|≧K0 ・|Ta(i
−1)−Ta(i)|であると判別されたときにはステ
ップ223に進んでトルク算出禁止フラグXNOCAL
がセットされる。次いでステップ224に進む。
【0065】即ち、今図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の
トルクの算出が禁止される。
【0066】ステップ224では振幅の積算値ΣAMP
に振幅AMPが加算される。次いでステップ225では
振幅AMPがn回積算されたか否かが判別され、n回積
算されたときにはステップ226に進んで空燃比の補正
を禁止する判断基準となる振幅の平均値SINPAV1
(=C1 ・ΣAMP/n)が算出される。ここでC1
定数である。次いでステップ229ではΣAMPがクリ
アされる。
【0067】次に図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に進む。
【0068】ステップ303では一つ前に燃焼が行われ
た気筒についてのトルクの算出を禁止する禁止フラグX
NOCALがリセット(XNOCAL=“0”)されて
いるか否かが判別される。この禁止フラグがセット(X
NOCAL=“1”)されているときにはステップ31
1に進んで禁止フラグXNOCALがリセットされる。
これに対して禁止フラグがリセットされているときには
ステップ304に進む。即ち、フラグXCALがセット
されており、かつ禁止フラグXNOCALがリセットさ
れているときのみステップ304に進む。
【0069】ステップ304では次式に基づいて機関駆
動系の捩り振動に基づく経過時間の変動値h(図8)が
算出される。 h={Ta(i−1)−Ta(i)}・60/180 即ち、図8からわかるように経過時間の変動値hはho
(=Ta(i−1)−Ta(i))の三分の一となる。
次いでステップ305では次式に基づいて燃焼圧により
減少した経過時間だけを表わすTb′(i−1)が算出
される。
【0070】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となる。
【0071】次いでステップ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)は燃焼圧により発生する真
のトルクを表わしていることになる。
【0072】なお、各気筒が発生する駆動力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)が算出される。
【0073】 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)
が零とされ、次いでステップ310に進む。なお、各気
筒のトルクは上昇と低下を繰返し、この場合トルク変動
量を求めるにはトルクの上昇分かトルクの減少分のいず
れかを積算すればよい。図17に示すルーチンではトル
クの減少分のみを積算するようにしており、従って上述
したようにDLN(i−1)<0のときにはDLN(i
−1)を零にしている。
【0074】次に図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に進む。
【0075】ステップ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)が更新される。
【0076】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)がクリアされる。
【0077】一方、ステップ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)が更新される。
【0078】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)がクリアされる。
【0079】次に図20を参照しつつカウンタCDLN
IXの処理について説明する。このカウンタCDLNI
Xのカウント値は後に説明するトルク変動値を算出する
際に使用される。図20を参照すると、まず初めに現在
3番気筒#3のATDC30°であるか否かが判別され
る。現在3番気筒#3のATDC30°でないときには
処理サイクルを完了し、現在3番気筒#3のATDC3
0°であるときにはステップ502に進む。ステップ5
02ではトルク変動値を算出するためのトルク変動値算
出条件が成立しているか否かが判別される。例えば空燃
比をリーンとする条件が成立していないか、或いはサー
ジタンク3内の絶対圧の単位時間当りの変化量ΔPMが
設定値以上であるか、或いは機関回転数の単位時間当り
の変化量ΔNが設定値以上であるときにはトルク変動値
算出条件が成立していないと判断され、それ以外のとき
にはトルク変動値算出条件が成立していると判断され
る。
【0080】ステップ502においてトルク変動値算出
条件が成立していると判断されたときにはステップ50
8に進んでカウント値CDLNIXが1だけインクリメ
ントされる。このカウント値CDLNIXのインクリメ
ント作用は3番気筒#3がATDC30°となる毎に、
即ち720°クランク角度毎に行われる。次いでステッ
プ509ではカウント値CDLNIXのインクリメント
作用が開始されてからカウント値CDLNIXがクリア
されるまでの間の機関回転数の平均値NAVE およびサー
ジタンク3内の絶対圧の平均値PMAVE が算出される。
【0081】一方、ステップ502において変動値算出
条件が成立していないと判断されたときにはステップ5
03に進んでカウント値CDLNIXがクリアされる。
次いでステップ504では各気筒に対するトルク変動量
DLN(i)の積算値DLNI(i)(この積算値は後
に説明するルーチンにおいて算出される)がクリアさ
れ、次いでステップ505では各気筒に対する積算カウ
ント値CDLNI(i)(この積算カウント値は後に説
明するルーチンにおいて算出される)がクリアされる。
【0082】次いでステップ506では目標トルク変動
値LVLLFBが算出される。本発明による実施例では
後に説明するように算出されたトルク変動値がこの目標
トルク変動値LVLLFBとなるように空燃比がフィー
ドバック制御される。この目標トルク変動値LVLLF
Bは等しい変動値を実線で示した図22(A)に示され
るようにサージタンク3内の絶対圧PMが高くなるほど
大きくなり、機関回転数Nが高くなるほど大きくなる。
この目標トルク変動値LVLLFBは図22(B)に示
されるようにサージタンク3内の絶対圧PMおよび機関
回転数Nの関数としてマップの形で予めROM22内に
記憶されている。次いでステップ507では各気筒のト
ルク変動値DLNISM(i)(このトルク変動値は後
に説明するルーチンにおいて算出される)が図22
(B)のマップから算出された目標トルク変動値LVL
LFBとされる。
【0083】ところで前述したようにロックアップ機構
33がオフのときにはトルクコンバータ32のタービン
ランナ37の回転速度変動に基づいて空燃比の補正を禁
止するか否かが判別される。次にこのことについて図2
3から図28を参照しつつ説明する。即ち、本発明によ
る実施例では自動変速機30の入力軸36上に例えば等
角度間隔でもって16個の突起が形成されており、これ
ら突起と対面可能なように回転速度センサ41が配置さ
れている。回転速度センサ41はこれら突起に対面する
毎にパルスを発生し、従って回転速度センサ41は入力
軸36、即ちタービンランナ37が22.5度回転する
毎にパルスを発生する。
【0084】一方、車両が悪路を走行すると機関駆動系
には機関駆動系の固有振動数から定まる一定周期の捩り
振動が発生する。このときこの捩り振動に基づく回転速
度の変動量を求めるには捩り振動の一周期の間に8回か
ら10回程度、回転速度センサ41の出力パルスの発生
時間間隔からタービンランナ37の回転速度を検出する
ことが好ましいことが実験により確認されている。
【0085】即ち、捩り振動の一周期の間におけるター
ビンランナ37の検出回数を少なくしすぎると回転速度
の変動を求めることが困難であることは明らかである。
一方、タービンランナ37は短かい周期で常時回転変動
しており、この回転変動が悪路の走行によるタービンラ
ンナ37の回転変動に重疊される。この場合、捩り振動
の一周期の間におけるタービンランナ37の検出回数を
多くしすぎるとタービンランナ37に常時発生している
短かい周期の回転変動の重疊によってタービンランナ3
7の検出回転速度が大きく変化し、その結果タービンラ
ンナ37の回転速度の変動量を正確に検出することが不
可能となる。
【0086】そこで本発明による実施例ではタービンラ
ンナ17の回転速度に応じて捩り振動の一周期の間に8
回から10回程度、タービンランナ17の回転速度を検
出しうるように回転速度センサ41の出力パルスの速度
算出用サンプリング頻度を変えるようにしている。即
ち、図23においてPは回転速度センサ41の出力パル
スの発生タイミングを示しており、Sはこの出力パルス
の速度算出用サンプリングタイミングを示している。更
に図23(A)はタービンランナ37の回転速度が低い
ときを示しており、図23(B)はタービンランナ37
の回転速度が高いときを示している。図23(A)に示
されるようにタービンランナ37の回転速度が低いとき
には出力パルスが4つ発生する毎に速度算出のために出
力パルスがサンプリングされ、サンプリングが行われる
毎に前回サンプリングが行われたときから今回サンプリ
ングが行われるまでの経過時間NTj−4,NTj−
3,NTj−2,NTj−1,NTjが算出される。こ
れに対して図23(B)に示されるようにタービンラン
ナ37の回転速度が高いときには出力パルスが8つ発生
する毎に速度算出のために出力パルスがサンプリングさ
れ、サンプリングが行われる毎に前回サンプリングが行
われたときから今回サンプリングが行われるまでの経過
時間NTj−2,NTj−1,NTjが算出される。従
ってタービンランナ37の回転数が高くなると出力パル
スのサンプリング頻度が低くなることがわかる。
【0087】次に図24から図27に示す割込みルーチ
ンについて説明する。なお、この割込みルーチンは回転
速度センサ41が出力パルスを発生する毎に実行され
る。図24から図27を参照するとまず初めにステップ
550において回転速度センサ41の出力パルスからタ
ービンランナ37の平均回転数NTAVが算出される。次
いでステップ551ではタービンランナ37の平均回転
数NTAVが予め定められた設定回転数、例えば1800
r. p. m よりも低いか否かが判別される。NTAV<18
00r. p. m のときにはステップ552に進んで回転速
度センサ41の出力パルスが4つ発生したか否かが判別
される。出力パルスが4つ発生していないときにはステ
ップ563にジャンプし、出力パルスが4つ発生したと
きにはステップ553に進む。
【0088】ステップ553では4つ前の出力パルスが
発生したときから今回出力パルスが発生するまでの経過
時間NTjが算出される。次いでステップ554ではタ
ービンランナ37がこれまで360度回転するのに要し
た経過時間NT360j(=NTj+NTj−1+NT
j−2+NTj−3)が算出される。次いでステップ5
55ではNTj−2がNTj−3に、NTj−1がNT
j−2に、NTjがNTj−1とされる。次いでステッ
プ556では今回算出された経過時間NT360jから
前回算出された経過時間NT360j−1を減算するこ
とによって経過時間の変動量DLNTが算出される。な
お、これらNT360j−1とNT360jとの関係は
図23(A)に示されており、このようにしてDLNT
を算出することによって出力パルス間隔の誤差を相殺す
ることができる。次いでステップ562ではNT360
jがNT360j−1とされ、次いでステップ563に
進む。
【0089】一方、ステップ551においてNTAV≧1
800r. p. m であると判断されたときにはステップ5
57に進んで回転速度センサ41の出力パルスが8つ発
生したか否かが判別される。出力パルスが8つ発生して
いないときにはステップ563にジャンプし、出力パル
スが8つ発生したときにはステップ558に進む。ステ
ップ558では8つ前の出力パルスが発生したときから
今回出力パルスが発生するまでの経過時間NTjが算出
される。次いでステップ559ではタービンランナ37
がこれまで360度回転するのに要した経過時間NT3
60j(=NTj+NTj−1)が算出される。次いで
ステップ560ではNTjがNTj−1とされる。次い
でステップ561では今回算出された経過時間NT36
0jから前回算出された経過時間NT360j−1を減
算した減算結果を1/2することによって経過時間の変
動量DLNTが算出される。なお、これらNT360j
−1とNT360jとの関係は図23(B)に示されて
いる。即ち、経過時間差(NT360j−NT360j
−1)が同じであってもステップ561において算出さ
れる経過時間差(NT360j−NT360j−1)は
ステップ556において算出される経過時間差(NT3
60j−NT360j−1)の2倍になるのでステップ
561では(NT360j−NT360j−1)の1/
2がDLNTとされる。次いでステップ562ではNT
360jがNT360j−1とされ、次いでステップ5
63に進む。
【0090】ステップ563からステップ582では図
13から図15に示されるルーチンと同様な処理が行わ
れて経過時間の変動量DLNTの増幅AMNの平均値が
算出される。即ち、ステップ563からステップ565
ではDLNTが増大し次いで減少する際の最大値NTm
axが算出される。即ち、ステップ563ではDLNT
が最大値NTmaxよりも大きいか否かが判別される。
NTmax>DLNTのときにはステップ566にジャ
ンプし、これに対してNTmax≦DLNTのときには
ステップ564に進んでDLNTがNTmaxとされ
る。次いでステップ565ではDLNTが増大している
ことを示す増大フラグXNXRECがセット(XNXR
EC←“1”)され、次いでステップ566に進む。
【0091】ステップ566からステップ568ではD
LNTが減少し次いで増大する際の最小値NTminが
算出される。即ち、ステップ566ではDLNTが最小
値NTminよりも小さいか否かが判別される。NTm
in<DLNTのときにはステップ569にジャンプ
し、これに対してNTmin≧DLNTのときにはステ
ップ567に進んでDLNTがNTminとされる。次
いでステップ568ではDLNTが減少していることを
示す減少フラグXNNRECがセット(XNNREC←
“1”)され、次いでステップ569に進む。
【0092】ステップ569からステップ573ではD
LNTの振幅AMNが算出される。即ち、ステップ56
9ではNTmax>DLNTでかつXNXREC=
“1”であるか否かが判別される。NTmax≦DLN
Tであるか、又は増大フラグXNXRECがリセット
(XNXREC=“0”)されているときにはステップ
574にジャンプし、これに対してNTmax>DLN
TでかつXNXREC=“1”のときにはステップ57
0に進む。即ち、図28に示されるように時刻t1 にお
いてDLNTが最大になったとする。この場合、時刻t
1 において行われる割込みルーチンではステップ563
からステップ564に進んでDLNTがNTmaxとさ
れ、次いでステップ565において増大フラグXNXR
ECがセットされる。一方、図28の時刻t2 において
行われる割込みルーチンではステップ563からステッ
プ566にジャンプする。このときステップ569では
NTmax>DLNTであり、かつXNXREC=
“1”であると判断されるのでステップ570に進む。
即ち、ステップ570に進むのはDLNTが減少しはじ
める時刻t2 である。
【0093】ステップ570では最大値NTmaxがT
NXRECとされる。次いでステップ571では最大値
TNXRECから最小値TNNREC(後述するステッ
プ575で求められる)を減算することによってDLN
Tの振幅AMNが算出される。次いでステップ572で
は最小値NTminの初期値がDLNTとされる。次い
でステップ573では増大フラグXNXRECがリセッ
ト(XNXREC←“0”)される。
【0094】ステップ574からステップ578ではD
LNTの振幅AMNが算出される。即ち、ステップ57
4ではNTmin<DLNTでかつXNNREC=
“1”であるか否かが判別される。NTmin≧DLN
Tであるか、又は減少フラグXNNRECがリセット
(XMNREC=“0”)されているときにはステップ
579にジャンプし、これに対してNTmin<DLN
TでかつXNNREC=“1”のときにはステップ57
5に進む。
【0095】即ち、図28に示されるように時刻t3
おいてDLNTが最小になったとする。この場合、時刻
3 において行われる割込みルーチンではステップ56
6からステップ567に進んでDLNTがNTminと
され、次いでステップ568において減少フラグXNN
RECがセットされる。一方、図28の時刻t4 におい
て行われる割込みルーチンではステップ566からステ
ップ569にジャンプする。このときステップ574で
はNTmin<DLNTであり、かつXNNREC=
“1”であると判断されるのでステップ575に進む。
即ち、ステップ575に進むのはDLNTが増大しはじ
める時刻t4 である。
【0096】ステップ575では最小値NTminがT
NNRECとされる。次いでステップ576では最大値
TNXRECから最小値TNNRECを減算することに
よってDLNTの振幅AMNが算出される。次いでステ
ップ577では最大値NTmaxの初期値がDLNTと
される。次いでステップ578では減少フラグXNNR
ECがリセット(XNNREC←“0”)される。
【0097】ステップ579では振幅の積算値ΣAMN
に振幅AMNが加算される。次いでステップ580では
振幅AMNがn回積算されたか否かが判別され、n回積
算されたときにはステップ581に進んで空燃比の補正
を禁止する判断基準となる振幅の平均値SINPAV2
(=C2 ・ΣAMN/n)が算出される。ここでC2
定数である。次いでステップ582ではΣAMNがクリ
アされる。
【0098】図29は繰返し実行されるメインルーチン
を示している。このメインルーチンではまず初めにトル
ク変動値の算出ルーチン(ステップ600)が実行され
る。このルーチンが図30および図31に示されてい
る。次いでリーンリミットフィードバック補正係数FL
LFBの算出ルーチン(ステップ700)が実行され
る。このルーチンが図32および図33に示されてい
る。次いで予め定められたクランク角になったときに噴
射時間算出ルーチン(ステップ800)が実行される。
このルーチンが図37に示されている。次いでその他の
ルーチン(ステップ900)が実行される。
【0099】次に図30および図31に示されるトルク
変動値の算出ルーチンについて説明する。図30および
図31を参照すると、まず初めにステップ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だけ
インクリメントされる。
【0100】次いでステップ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)がクリアされ、次いでステップ6
08では積算カウント値CDLNI(i)がリセットさ
れる。
【0101】即ち、算出されたトルク変動量積算値DL
NI(i)とこれまで用いられてきたトルク変動値DL
NISM(i)との間に差があるときにはこの差{DL
NI(i)−DLNISM(i)}に1/4を乗算した
値がトルク変動値DLNISM(i)に加算される。従
って例えば1番気筒#1についての積算カウント値CD
LNI(1)が“8”になるとステップ606において
トルク変動値DLNISM(1)が算出されることにな
る。
【0102】次いでステップ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が算
出される。
【0103】なお、前述したようにカウント値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において平均トルク変動値DLNISM
を求める際には1番気筒#1だけについては以前に算出
されたトルク変動値DLNISM(1)が使用される。
【0104】次に図32および図33を参照しつつFL
LFB算出ルーチンについて説明する。図32および図
33を参照すると、まず初めにステップ701において
リーンリミットフィードバック補正係数FLLFBの更
新条件が成立しているか否かが判別される。例えば暖機
運転時であるとき、或いは機関の運転状態が図5におい
て破線で囲まれた学習領域にないときには更新条件が成
立していないと判断され、その他のときには更新条件が
成立していると判断される。更新条件が成立していない
ときには処理サイクルを完了し、更新条件が成立してい
るときにはステップ702に進む。
【0105】ステップ702では、経過時間Ta(i)
の変動の振幅AMPの平均値SINPAV1又はタービ
ンランナ37の回転速度の変動を表しているDLNTの
変動の振幅AMNの平均値SINPAV2のいずれか一
方が基準値SINPo を越えたか否かが判別される。S
INPAV1およびSINPAV2のいずれも基準値S
INPo よりも小さいときにはステップ703に進んで
ラフロードカウンタCRRがクリアされる。即ち、図3
5において区画ZにおけるようにSINPAV1および
SINPAV2のいずれもが基準値SINPo よりも小
さいときにはラフロードカウンタCRRは零に維持され
る。
【0106】次いでステップ704ではサージタンク3
内の絶対圧PMと機関回転数Nから図22(B)に示す
マップに基づいて目標トルク変動値LVLLFBが算出
される。次いでステップ705およびステップ706で
は目標トルク変動値LVLLFBに応じた変動量判別値
DH(n),DL(n)に基づいて次式に示されるトル
ク変動レベルLVLH(n),LVLL(n)が算出さ
れる。
【0107】 LVLH(n)=LVLLFB+DH(n) LVLL(n)=LVLLFB+DL(n) ここで、変動量判別値DH(n)およびDL(n)は図
34(A)に示されるように予め定められている。即
ち、図34(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が大きくなる
につれて次第に増大する。
【0108】ところで今、ステップ704において算出
された目標トルク変動値LVLLFBが破線で示される
値だったとする。この場合、ステップ705では破線上
のDH(1),DH(2),DH(3)を目標トルク変
動値LVLLFBに加算した値が夫々トルク変動レベル
LVLH(1),LVLH(2),LVLH(3)とさ
れ、ステップ706では破線上のDL(1),DL
(2),DL(3)を目標トルク変動値LVLLFBに
加算した値が夫々トルク変動レベルLVLL(1),L
VLL(2),LVLL(3)とされる。
【0109】一方、図34(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 である。図34(B)に示
す各フィードバック補正値+a1 ,+a2 ,+a3 ,+
4 ,−b1 ,−b 2 ,−b3 ,−b4 が図34(A)
の対応する領域に示されている。
【0110】ステップ705およびステップ706にお
いて夫々トルク変動レベルLVLH(n),LVLL
(n)が算出されるとステップ707に進んで図30お
よび図31に示すトルク変動値の算出ルーチンにより算
出された平均トルク変動値DLNISMが図34(B)
に示されるどのトルク変動レベルLVLH(n),LV
LL(n)の間にあるか否かが判別される。次いでステ
ップ708では対応するフィードバック補正値DLFB
が算出される。例えば今、目標トルク変動値LVLLF
Bが図34(A)において破線で示される値であり、算
出されたトルク変動値の平均値DLNISMが図34
(B)のLVLH(1)とLVLH(2)との間である
場合、即ち目標トルク変動値LVLLFBに対するトル
ク変動値の平均値DLNISMの偏差が図34(A)の
破線上においてDH(1)とDH(2)の間にある場合
にはフィードバック補正値DLFBは+a2 とされる。
【0111】次いでステップ709では図20に示すC
DLNIXの処理ルーチンのステップ509において求
められた機関回転数の平均値NAVE およびサージタンク
3内の絶対圧の平均値PMAVE に基づいて更新すべきリ
ーンリミットフィードバック補正係数FLLBFijが
図5に示されるどの学習領域のリーンリミットフィード
バック補正係数であるかが決定される。次いでステップ
710ではステップ709において決定されたリーンリ
ミットフィードバック補正係数FLLFBijにフィー
ドバック補正値DLFBが加算される。
【0112】即ち、上述したように例えばDLNISM
>LVLLFBであって、LVLH(1)<DLNIS
M<LVLH(2)である場合にはリーンリミットフィ
ードバック補正係数FLLFBijに+a2 が加算され
る。その結果、空燃比が小さくなるので各気筒のトルク
変動量が減少せしめられる。一方、DLNISM<LV
LLFBであってLVLL(1)>DLNISM>LV
LL(2)である場合にはリーンリミットフィードバッ
ク補正係数FLLFBijに−b2 が加算される。その
結果、空燃比が大きくなるので各気筒のトルク変動量が
増大せしめられる。このようにして全気筒の平均トルク
変動値DLNISMが目標トルク変動値LVLLFBと
なるようにリーン運転時の空燃比が制御される。
【0113】なお、図20に示すルーチンに示されるよ
うにトルク変動値の算出条件が成立しないときにはステ
ップ507においてDLNISM(i)がLVLLFB
とされ、斯くして平均トルク変動値DLNISMも目標
トルク変動値LVLLFBとされる。従ってこのときに
はリーンリミットフィードバック補正係数FLLFBi
jの更新は行われない。
【0114】ステップ710においてリーンリミットフ
ィードバック補正係数FLLFBijの更新作用が完了
するとステップ711に進んで学習カウント値CFLL
FBが1だけインクリメントされる。次いでステップ7
12ではラフロードカウント値CRRが零でありかつ学
習カウント値CFLLFBが一定値nに達したか否かが
判別される。CCR=0でないか又はCFLLFB=n
でないときには処理サイクルを完了する。これに対して
CRR=0でかつCFLLFB=nのときにはステップ
713に進んで次式に基づきリーンリミットフィードバ
ック補正係数FLLFBijの学習値KBUijが算出
される。
【0115】KBUij=KBUij+(FLLFBi
j−KBUij)/m ここでmは正の整数であり、学習値KBUijは図36
に示されるように図5に示すFLLFBijの各学習領
域に対応した学習領域について夫々定められている。上
式からわかるようにFLLFBijとKBUijとの間
に差があるときにはこの差に1/mを乗じた値にKBU
ijが加算され、従って学習値KBUijは徐々にFL
LFBijに近ずくように変化する。ステップ713に
おいて学習値KBUijが算出されるとステップ714
に進んで学習カウンタCFLLFBがクリアされる。即
ち、図35の区画Zに示されるように学習カウント値の
CFLLBがnに達する毎にリーンリミットフィードバ
ック補正係数FLLBFijに基づいて対応する学習値
KBUijが更新され、次いで学習カウンタCFLLF
Bがクリアされる。
【0116】一方、ステップ702においてSINPA
V1又はSINPAV2のいずれか一方が基準値SIN
o を越えたと判断されるとステップ715に進んでラ
フロードカウンタ値CRRが1だけインクリメントされ
る。次いでステップ716において学習カウンタCFL
LFBがクリアされる。次いでステップ717ではラフ
ロードカウンタCRRのカウントアップ作用が開始され
てから一定時間TCが経過したか否かが判別される。一
定時間TCが経過していないときにはステップ704に
進み、従ってリーンリミットフィードバック補正係数F
LLBFijの更新作用が行われる。このとき平均トル
ク変動値DLNISMが大きくなるので図35に示され
るようにFLLFBijが増大する。なお、このとき学
習値KBUijの更新作用は停止されている。
【0117】次いで一定時間CTを経過するとステップ
718に進んで機関の運転が8サイクル経過したか否か
が判別される。8サイクル経過したときにはステップ7
19に進んでリーンリミットフィードバック補正係数F
LLFBijが一定値αだけ減少せしめられる。即ち、
FLLFBijは8サイクル毎に一定値αずつ減少せし
められる。次いでステップ720ではFLLFBijが
対応する学習値KBUijよりも小さくなったか否かが
判別される。FLLFBij<KBUijになるとステ
ップ721に進んでFLLFBijがKBUijとされ
る。即ち、図35に示されるようにSINPAV1又は
SIMPAV2が基準SINPo を越えてから一定時間
TCを経過するとリーンリミットフィードバック補正係
数FLLFBijは学習KBUijまで徐々に戻され
る。
【0118】車両が悪路を走行すると平均トルク変動値
DLNISMが大きくなるので図35に示されるように
リーンリミットフィードバック補正係数FLLFBij
が大きくなる。その結果、空燃比はリッチ側に移行し、
斯くしてNOx の発生量が増大する。しかしながらこの
ときのトルク変動は悪路の走行によって生じているので
あって燃焼圧の変動によるものではなく、燃焼からみて
このときの最適なリーンリミットフィードバック補正係
数FLLFBijはほぼ学習値KBUijに一致する。
従ってNOx の発生を抑制しかつ良好な燃焼を得るため
にFLLFBijは学習値KBUijまで徐々に戻され
る。なお、このように車両が悪路を走行したときにFL
LFBijがKBUijまで戻されると悪路から平滑路
に移行したときにリーンリミットフィードバック補正係
数FLLFBijが荒れないという利点もある。
【0119】次に図37を参照しつつ燃料噴射時間の算
出ルーチンについて説明する。図37を参照すると、ま
ず初めにステップ801において図2に示すマップから
基本燃料噴射時間TPが算出される。次いでステップ8
02ではリーン運転を行うべき運転状態か否かが判別さ
れる。リーン運転を行うべき運転状態のときにはステッ
プ803に進んで理論空燃比フィードバック補正係数F
AFの値が1.0に固定される。次いでステップ804
では図4に示すマップからリーン補正係数FLEANが
算出され、次いで図5に示すマップからリーンリミット
フィードバック補正係数FLLFBが読込まれる。次い
でステップ809では次式に基づいて燃料噴射時間TA
Uが算出される。
【0120】TAU=TP・FLEAN・FLLFB・
FAF+TAUV これに対し、ステップ802においてリーン運転を行う
べき運転状態でないと判別されたとき、即ち空燃比を理
論空燃比にすべきときにはステップ806に進んでリー
ン補正係数FLEANが1.0に固定され、次いでステ
ップ807においてリーンリミットフィードバック補正
係数FLLFBが1.0に固定される。次いでステップ
808では空燃比センサ17の出力信号に基づいて空燃
比が理論空燃比となるように理論空燃比フィードバック
補正係数FAFが制御される。次いでステップ809に
進み、燃料噴射時間TAUが算出される。
【0121】
【発明の効果】車両が悪路を走行したときにこの悪路の
走行によって空燃比が誤補正されるのを阻止することが
できる。
【図面の簡単な説明】
【図1】内燃機関の全体図である。
【図2】基本燃料噴射時間のマップを示す図である。
【図3】NOx の発生量とトルク変動を示す図である。
【図4】リーン補正係数のマップを示す図である。
【図5】リーンリミットフィードバック補正係数のマッ
プを示す図である。
【図6】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
【図7】30°クランク角度の経過時間Ta(i)の変
化を示すタイムチャートである。
【図8】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
【図9】30°クランク角度の経過時間Ta(i),T
b(i)の変化を示すタイムチャートである。
【図10】30°クランク角度の経過時間Ta(i)の
変化を示すタイムチャートである。
【図11】割込みルーチンを示すフローチャートであ
る。
【図12】経過時間Ta(i),Tb(i)を算出する
ためのフローチャートである。
【図13】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図14】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図15】トルク算出の許可をチェックするためのフロ
ーチャートである。
【図16】経過時間Ta(i)の変化とフラグXMXR
EC,XMNRECの変化を示すタイムチャートであ
る。
【図17】トルクを算出するためのフローチャートであ
る。
【図18】比KTa(i),KTb(i)を算出するた
めのフローチャートである。
【図19】比KTa(i),KTb(i)を算出するた
めのフローチャートである。
【図20】カウンタCDLNIXを処理するためのフロ
ーチャートである。
【図21】種々の値の計算タイミングを示す図である。
【図22】目標トルク変動値を示す図である。
【図23】タービン回転数の検出方法を説明するための
図である。
【図24】割込みルーチンを示すフローチャートであ
る。
【図25】割込みルーチンを示すフローチャートであ
る。
【図26】割込みルーチンを示すフローチャートであ
る。
【図27】割込みルーチンを示すフローチャートであ
る。
【図28】DLNTの変化とフラグXNXREC,XN
NRECの変化を示すタイムチャートである。
【図29】メインルーチンを示すフローチャートであ
る。
【図30】トルク変動値を算出するためのフローチャー
トである。
【図31】トルク変動値を算出するためのフローチャー
トである。
【図32】リーンリミットフィードバック補正係数を算
出するためのフローチャートである。
【図33】リーンリミットフィードバック補正係数を算
出するためのフローチャートである。
【図34】変動量判別値DH(n),DL(n)および
トルク変動レベルLVLH(n),LVLL(n)を示
す図である。
【図35】SINPAV1,SINPAV2等の変化を
示すタイムチャートである。
【図36】学習値KBUijのマップを示す図である。
【図37】燃料噴射時間を算出するためのフローチャー
トである。
【符号の説明】
3…サージタンク 4…燃料噴射弁 7…スロットル弁 13…ロータ 14…クランク角センサ 32…トルクコンバータ 33…ロックアップ機構 37…タービンランナ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI F02D 45/00 301 F02D 45/00 301G 358 358J (58)調査した分野(Int.Cl.7,DB名) F02D 41/04 305 F02D 29/00 F02D 29/02

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 自動変速機を備え、自動変速機のトルク
    コンバータ内にロックアップ機構を設けた内燃機関の空
    燃比制御方法において、圧縮行程末期から爆発行程初期
    までのクランク角度領域内に第1のクランク角度範囲を
    設定し、第1のクランク角度範囲から一定のクランク角
    を隔てた爆発行程中期のクランク角度領域内に第2のク
    ランク角度範囲を設定し、該第1のクランク角度範囲内
    におけるクランクシャフトの第1の角速度を検出すると
    共に該第2のクランク角度範囲内におけるクランクシャ
    フトの第2の角速度を検出して該第1の角速度および第
    2の角速度に基づき各気筒が発生する駆動力の変動量を
    求め、ロックアップ機構がオフのときにトルクコンバー
    タのタービンの回転数変動から車両が悪路を走行してい
    るか否かを判断し、車両が悪路を走行していると判断さ
    れたときには該駆動力の変動量に基づく空燃比の補正を
    禁止するようにした内燃機関の空燃比制御方法。
  2. 【請求項2】 タービンの回転速度を検出する回転速度
    センサの出力パルスをサンプリングしてタービンの回転
    速度を求め、該出力パルスのサンプリング頻度をタービ
    ンの回転数が高くなるほど低くする請求項1に記載の内
    燃機関の空燃比制御方法。
  3. 【請求項3】 上記第1の角速度の2乗と第2の角速度
    の2乗との差を求め、上記駆動力の変動量が該差によっ
    て表わされるトルクの変動量を示している請求項1に記
    載の内燃機関の空燃比制御方法。
  4. 【請求項4】 上記トルク変動量が予め定められた範囲
    内となるように空燃比のフィードバック補正係数を制御
    すると共に車両が悪路を走行していないと判断されたと
    きのフィードバック補正係数の平均値を記憶しておき、
    車両が悪路を走行していると判断されたときに該フィー
    ドバック補正係数を記憶されているフィードバック補正
    係数の平均値に戻すようにした請求項3に記載の内燃機
    関の空燃比制御方法。
JP14176396A 1996-06-04 1996-06-04 内燃機関の空燃比制御方法 Expired - Fee Related JP3156588B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP14176396A JP3156588B2 (ja) 1996-06-04 1996-06-04 内燃機関の空燃比制御方法
EP97108963A EP0811758B1 (en) 1996-06-04 1997-06-04 Method of controlling an air-fuel ratio of an engine
DE1997625929 DE69725929T2 (de) 1996-06-04 1997-06-04 Verfahren zur Steuerung des Luft-Kraftstoffverhältnisses in einer Brennkraftmaschine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP14176396A JP3156588B2 (ja) 1996-06-04 1996-06-04 内燃機関の空燃比制御方法

Publications (2)

Publication Number Publication Date
JPH09324674A JPH09324674A (ja) 1997-12-16
JP3156588B2 true JP3156588B2 (ja) 2001-04-16

Family

ID=15299623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP14176396A Expired - Fee Related JP3156588B2 (ja) 1996-06-04 1996-06-04 内燃機関の空燃比制御方法

Country Status (1)

Country Link
JP (1) JP3156588B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4497376B2 (ja) * 2006-05-11 2010-07-07 ヤンマー株式会社 エンジン

Also Published As

Publication number Publication date
JPH09324674A (ja) 1997-12-16

Similar Documents

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

Legal Events

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

Free format text: PAYMENT UNTIL: 20080209

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090209

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees