JP3348604B2 - 内燃機関の空燃比制御装置 - Google Patents
内燃機関の空燃比制御装置Info
- Publication number
- JP3348604B2 JP3348604B2 JP22460496A JP22460496A JP3348604B2 JP 3348604 B2 JP3348604 B2 JP 3348604B2 JP 22460496 A JP22460496 A JP 22460496A JP 22460496 A JP22460496 A JP 22460496A JP 3348604 B2 JP3348604 B2 JP 3348604B2
- Authority
- JP
- Japan
- Prior art keywords
- fuel ratio
- value
- air
- target air
- engine
- 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
Links
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/02—Circuit arrangements for generating control signals
- F02D41/14—Introducing closed-loop corrections
- F02D41/1438—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor
- F02D41/1444—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases
- F02D41/1454—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases the characteristics being an oxygen content or concentration or the air-fuel ratio
- F02D41/1456—Introducing closed-loop corrections using means for determining characteristics of the combustion gases; Sensors therefor characterised by the characteristics of the combustion gases the characteristics being an oxygen content or concentration or the air-fuel ratio with sensor output signal being linear or quasi-linear with the concentration of oxygen
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Description
【0001】
【発明の属する技術分野】本発明は、内燃機関の空燃比
制御装置に関し、特に、いわゆるリーンバーン制御時
に、内燃機関の回転変動量に応じて目標空燃比を変更す
る内燃機関の空燃比制御装置に関する。
制御装置に関し、特に、いわゆるリーンバーン制御時
に、内燃機関の回転変動量に応じて目標空燃比を変更す
る内燃機関の空燃比制御装置に関する。
【0002】
【従来の技術】従来、内燃機関が定常運転時や緩加速時
に、内燃機関に供給される混合気の空燃比を理論空燃比
よりリーン側に制御する、いわゆるリーンバーン制御を
行うようにした内燃機関の空燃比制御装置が知られてい
る。
に、内燃機関に供給される混合気の空燃比を理論空燃比
よりリーン側に制御する、いわゆるリーンバーン制御を
行うようにした内燃機関の空燃比制御装置が知られてい
る。
【0003】かかる内燃機関の空燃比制御装置は、リー
ンバーン制御を行うことが可能な所定条件(以下、「リ
ーンバーン制御許可条件」という)が成立した場合に、
内燃機関に供給する混合気の空燃比を理論空燃比から所
定幅宛リーン方向に変更しながら所定のリーン目標空燃
比に変更し、内燃機関の回転変動量を検出する。そし
て、前記検出された回転変動量と所定の設定値とを比較
し、回転変動量が大きいときには目標空燃比を若干リッ
チ方向に変更するように制御している。すなわち、リー
ンバーン制御中においてエンジンの不安定度を検出し、
この検出された不安定度がエンジンの失火防止に対応し
て予め設定した値より高いときには、前記不安定度が前
記予め設定した値以下となるように空燃比を濃くするも
のである(特公平6−23553号)。
ンバーン制御を行うことが可能な所定条件(以下、「リ
ーンバーン制御許可条件」という)が成立した場合に、
内燃機関に供給する混合気の空燃比を理論空燃比から所
定幅宛リーン方向に変更しながら所定のリーン目標空燃
比に変更し、内燃機関の回転変動量を検出する。そし
て、前記検出された回転変動量と所定の設定値とを比較
し、回転変動量が大きいときには目標空燃比を若干リッ
チ方向に変更するように制御している。すなわち、リー
ンバーン制御中においてエンジンの不安定度を検出し、
この検出された不安定度がエンジンの失火防止に対応し
て予め設定した値より高いときには、前記不安定度が前
記予め設定した値以下となるように空燃比を濃くするも
のである(特公平6−23553号)。
【0004】
【発明が解決しようとする課題】しかしながら、上記従
来の内燃機関の空燃比制御装置では、リーンバーン制御
中における回転変動量の大きさに応じて濃くされた空燃
比の補正量を用いて制御されるのでNOxの発生量が増
大するという問題が生じる。
来の内燃機関の空燃比制御装置では、リーンバーン制御
中における回転変動量の大きさに応じて濃くされた空燃
比の補正量を用いて制御されるのでNOxの発生量が増
大するという問題が生じる。
【0005】図19(a)は、従来の内燃機関の空燃比
制御装置におけるリーンバーン制御による空燃比の変化
の説明図である。図19(a)において、リーンバーン
制御時に(1)、燃焼変動が安定するまで空燃比がリッ
チ化するが燃焼が安定した状態となってもリッチ化され
た空燃比で制御されるのでNOxが発生する(2)。ま
た、リッチ化された空燃比は燃焼限界付近にあるのでリ
ーン化が急激に行われると燃焼が不安定になる。
制御装置におけるリーンバーン制御による空燃比の変化
の説明図である。図19(a)において、リーンバーン
制御時に(1)、燃焼変動が安定するまで空燃比がリッ
チ化するが燃焼が安定した状態となってもリッチ化され
た空燃比で制御されるのでNOxが発生する(2)。ま
た、リッチ化された空燃比は燃焼限界付近にあるのでリ
ーン化が急激に行われると燃焼が不安定になる。
【0006】本発明の目的は、リーンバーン制御中に、
安定したリーンバーン制御を実現すると共に、燃焼状態
が安定しているときに空燃比をリーン化する補正量を制
御してNOxの発生を抑制することができる内燃機関の
空燃比制御装置を提供することにある。
安定したリーンバーン制御を実現すると共に、燃焼状態
が安定しているときに空燃比をリーン化する補正量を制
御してNOxの発生を抑制することができる内燃機関の
空燃比制御装置を提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に、請求項1の内燃機関の空燃比制御装置は、内燃機関
の排気系に取付けられ、排気中の空燃比に比例した値を
出力する空燃比検出手段と、前記空燃比検出手段の出力
に基づき空燃比を所定の目標空燃比にフィードバック制
御するフィードバック制御手段と、前記内燃機関の運転
状態が所定運転状態にあるとき前記フィードバック制御
の目標空燃比を理論空燃比よりリーン側の空燃比に設定
する目標空燃比設定手段と、前記内燃機関の燃焼変動量
を検出する燃焼変動量検出手段と、前記燃焼変動量検出
手段により検出された燃焼変動量が第1の所定値より大
きいときには前記目標空燃比をリッチ側に補正し前記第
1の所定値以下の第2の所定値より小さいときには前記
目標空燃比をリーン側に補正する目標空燃比補正手段と
を有する内燃機関の空燃比制御装置において、前記目標
空燃比設定手段により設定された目標空燃比と前記目標
空燃比補正手段により補正された目標空燃比との偏差に
よりリーンバーン制御中における実燃焼限界相当の目標
空燃比と設定目標空燃比との偏差を更新する更新手段
と、前記更新手段により更新された偏差に基づいて前記
目標空燃比補正手段による目標空燃比のリーン側への補
正量を制御する補正制御手段とを有することを特徴とす
る。
に、請求項1の内燃機関の空燃比制御装置は、内燃機関
の排気系に取付けられ、排気中の空燃比に比例した値を
出力する空燃比検出手段と、前記空燃比検出手段の出力
に基づき空燃比を所定の目標空燃比にフィードバック制
御するフィードバック制御手段と、前記内燃機関の運転
状態が所定運転状態にあるとき前記フィードバック制御
の目標空燃比を理論空燃比よりリーン側の空燃比に設定
する目標空燃比設定手段と、前記内燃機関の燃焼変動量
を検出する燃焼変動量検出手段と、前記燃焼変動量検出
手段により検出された燃焼変動量が第1の所定値より大
きいときには前記目標空燃比をリッチ側に補正し前記第
1の所定値以下の第2の所定値より小さいときには前記
目標空燃比をリーン側に補正する目標空燃比補正手段と
を有する内燃機関の空燃比制御装置において、前記目標
空燃比設定手段により設定された目標空燃比と前記目標
空燃比補正手段により補正された目標空燃比との偏差に
よりリーンバーン制御中における実燃焼限界相当の目標
空燃比と設定目標空燃比との偏差を更新する更新手段
と、前記更新手段により更新された偏差に基づいて前記
目標空燃比補正手段による目標空燃比のリーン側への補
正量を制御する補正制御手段とを有することを特徴とす
る。
【0008】請求項1の内燃機関の空燃比制御装置によ
れば、目標空燃比設定手段により設定された目標空燃比
と目標空燃比補正手段により燃焼変動量に応じて補正さ
れた目標空燃比との偏差に基づいて実燃焼限界相当の目
標空燃比と設定目標空燃比との偏差を更新することによ
り実燃焼限界相当の目標空燃比と設定目標空燃比を学習
して実燃焼限界相当の目標空燃比を検出することがで
き、加えて、前記学習した偏差に応じて目標空燃比を補
正制御することにより実燃焼限界相当の目標空燃比にお
いて燃焼の不安定による運転性の悪化を防止することが
できる。その結果、安定したリーンバーンフィードバッ
ク空燃比制御を実現すると共に、燃焼状態が安定してい
るときに空燃比をリーン化して、NOxの発生を抑制す
ることができる。
れば、目標空燃比設定手段により設定された目標空燃比
と目標空燃比補正手段により燃焼変動量に応じて補正さ
れた目標空燃比との偏差に基づいて実燃焼限界相当の目
標空燃比と設定目標空燃比との偏差を更新することによ
り実燃焼限界相当の目標空燃比と設定目標空燃比を学習
して実燃焼限界相当の目標空燃比を検出することがで
き、加えて、前記学習した偏差に応じて目標空燃比を補
正制御することにより実燃焼限界相当の目標空燃比にお
いて燃焼の不安定による運転性の悪化を防止することが
できる。その結果、安定したリーンバーンフィードバッ
ク空燃比制御を実現すると共に、燃焼状態が安定してい
るときに空燃比をリーン化して、NOxの発生を抑制す
ることができる。
【0009】請求項2の内燃機関の空燃比制御装置は、
前記補正制御手段は、前記目標空燃比設定手段により設
定された目標空燃比と前記目標空燃比補正手段により補
正された目標空燃比との偏差が前記更新手段により更新
された偏差より小さいときは前記目標空燃比補正手段に
よる目標空燃比のリーン側への補正量を前記偏差が前記
更新された偏差より大きいときに比べて小さくすること
を特徴とする。
前記補正制御手段は、前記目標空燃比設定手段により設
定された目標空燃比と前記目標空燃比補正手段により補
正された目標空燃比との偏差が前記更新手段により更新
された偏差より小さいときは前記目標空燃比補正手段に
よる目標空燃比のリーン側への補正量を前記偏差が前記
更新された偏差より大きいときに比べて小さくすること
を特徴とする。
【0010】請求項2の内燃機関の空燃比制御装置によ
れば、目標空燃比設定手段により設定された目標空燃比
と目標空燃比補正手段により補正された目標空燃比との
偏差が更新手段により更新された偏差より小さいときは
目標空燃比補正手段による目標空燃比のリーン側への補
正量を前記偏差が前記更新された偏差より大きいときに
比べて小さくするので、燃焼不安定によりリーンバーン
中の運転性を損ねることなくNOxの発生量を最小限に
抑えることができる。
れば、目標空燃比設定手段により設定された目標空燃比
と目標空燃比補正手段により補正された目標空燃比との
偏差が更新手段により更新された偏差より小さいときは
目標空燃比補正手段による目標空燃比のリーン側への補
正量を前記偏差が前記更新された偏差より大きいときに
比べて小さくするので、燃焼不安定によりリーンバーン
中の運転性を損ねることなくNOxの発生量を最小限に
抑えることができる。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を添付
図面を参照して詳述する。
図面を参照して詳述する。
【0012】図1は本発明の実施の形態に係る内燃機関
(以下「エンジン」という)及びその制御装置の全体の
構成図であり、同図中1は各シリンダに吸気弁と排気弁
(図示せず)とを各1対に設けたSOHC直列4気筒エ
ンジンである。このエンジン1は、吸気弁及び排気弁の
作動特性(具体的には、弁の開弁時期及びリフト量、以
下「バルブタイミング」という)を、エンジンの高速回
転領域に適した高速バルブタイミングと、中速回転領域
に適したバルブタイミングと、低速回転領域に適した低
速バルブタイミングとに切換可能に構成されている。
(以下「エンジン」という)及びその制御装置の全体の
構成図であり、同図中1は各シリンダに吸気弁と排気弁
(図示せず)とを各1対に設けたSOHC直列4気筒エ
ンジンである。このエンジン1は、吸気弁及び排気弁の
作動特性(具体的には、弁の開弁時期及びリフト量、以
下「バルブタイミング」という)を、エンジンの高速回
転領域に適した高速バルブタイミングと、中速回転領域
に適したバルブタイミングと、低速回転領域に適した低
速バルブタイミングとに切換可能に構成されている。
【0013】エンジン1の吸気管2の途中にはスロット
ルボディ3が設けられ、その内部にはスロットル弁3′
が配されている。スロットル弁3′にはスロットル弁開
度(θTH)センサ4が連結されており、当該スロットル弁
3の開度に応じた電気信号を出力して電子コントロール
ユニット(以下「ECU」という)5に供給する。
ルボディ3が設けられ、その内部にはスロットル弁3′
が配されている。スロットル弁3′にはスロットル弁開
度(θTH)センサ4が連結されており、当該スロットル弁
3の開度に応じた電気信号を出力して電子コントロール
ユニット(以下「ECU」という)5に供給する。
【0014】燃料噴射弁6はエンジン1とスロットル弁
3との間且つ吸気管2の図示しない吸気弁の少し上流側
に各気筒毎に設けられており、各噴射弁6は図示しない
燃料ポンプに接続されていると共にECU5に電気的に
接続されて当該ECU5からの信号により燃料噴射の開
弁時間が制御される。
3との間且つ吸気管2の図示しない吸気弁の少し上流側
に各気筒毎に設けられており、各噴射弁6は図示しない
燃料ポンプに接続されていると共にECU5に電気的に
接続されて当該ECU5からの信号により燃料噴射の開
弁時間が制御される。
【0015】また、ECU5の出力側には、前記バルブ
タイミングの切換制御を行なうための電磁弁21が接続
されており、該電磁弁21の開閉作動がECU5により
制御される。電磁弁21は、バルブタイミングの切換を
行う切換機構(図示せず)の油圧を高/中/低に切換え
るものであり、該油圧の高/中/低に対応してバルブタ
イミングが高速バルブタイミングと、中速バルブタイミ
ングと、低速バルブタイミングとに切換えられる。前記
切換機構の油圧は、油圧(POIL)センサ20によって
検出され、その検出信号がECU5に供給される。
タイミングの切換制御を行なうための電磁弁21が接続
されており、該電磁弁21の開閉作動がECU5により
制御される。電磁弁21は、バルブタイミングの切換を
行う切換機構(図示せず)の油圧を高/中/低に切換え
るものであり、該油圧の高/中/低に対応してバルブタ
イミングが高速バルブタイミングと、中速バルブタイミ
ングと、低速バルブタイミングとに切換えられる。前記
切換機構の油圧は、油圧(POIL)センサ20によって
検出され、その検出信号がECU5に供給される。
【0016】一方、スロットル弁3の直ぐ下流には管7
を介して吸気管内絶対圧(PBA)センサ8が設けられ
ており、この絶対圧センサ8により電気信号に変換され
た絶対圧信号は前記ECU5に供給される。また、その
下流には吸気温(TA)センサ9が取付けられており、
吸気温TAを検出して対応する電気信号を出力してEC
U5に供給する。
を介して吸気管内絶対圧(PBA)センサ8が設けられ
ており、この絶対圧センサ8により電気信号に変換され
た絶対圧信号は前記ECU5に供給される。また、その
下流には吸気温(TA)センサ9が取付けられており、
吸気温TAを検出して対応する電気信号を出力してEC
U5に供給する。
【0017】エンジン1の本体に装着されたエンジン水
温(TW)センサ10はサーミスタ等から成り、エンジ
ン水温(冷却水温)TWを検出して対応する温度信号を
出力してECU5に供給する。クランク角(CRK)セ
ンサ11、TDCセンサ12及び気筒判別(CYL)セ
ンサ22は、エンジン1の図示しないカム軸周囲又はク
ランク軸周囲に取付けられている。TDCセンサ12は
エンジン1のクランク軸の180度回転毎に所定のクラン
ク角度位置でパルス(以下「TDC信号パルス」とい
う)を出力し、気筒判別センサ22は特定の気筒の所定
のクランク角度位置で信号パルスを出力し、クランク角
センサ11は、前記TDC信号パルスの周期より短い一
定クランク角(例えば30度)周期でパルス(以下「C
RK信号パルス」という)を発生するものであり、これ
らの各信号パルスはECU5に供給される。
温(TW)センサ10はサーミスタ等から成り、エンジ
ン水温(冷却水温)TWを検出して対応する温度信号を
出力してECU5に供給する。クランク角(CRK)セ
ンサ11、TDCセンサ12及び気筒判別(CYL)セ
ンサ22は、エンジン1の図示しないカム軸周囲又はク
ランク軸周囲に取付けられている。TDCセンサ12は
エンジン1のクランク軸の180度回転毎に所定のクラン
ク角度位置でパルス(以下「TDC信号パルス」とい
う)を出力し、気筒判別センサ22は特定の気筒の所定
のクランク角度位置で信号パルスを出力し、クランク角
センサ11は、前記TDC信号パルスの周期より短い一
定クランク角(例えば30度)周期でパルス(以下「C
RK信号パルス」という)を発生するものであり、これ
らの各信号パルスはECU5に供給される。
【0018】三元触媒14はエンジン1の排気管13に
配置されており、排気ガス中のHC,CO,NOx等の
成分の浄化を行う。空燃比検出手段としての酸素濃度セ
ンサ(以下「LAFセンサ」という)15は排気管13の
三元触媒14の上流側に装着されており、排気ガス中の
酸素濃度に略比例するレベルの電気信号を出力しECU
5に供給する。
配置されており、排気ガス中のHC,CO,NOx等の
成分の浄化を行う。空燃比検出手段としての酸素濃度セ
ンサ(以下「LAFセンサ」という)15は排気管13の
三元触媒14の上流側に装着されており、排気ガス中の
酸素濃度に略比例するレベルの電気信号を出力しECU
5に供給する。
【0019】ECU5には更に大気圧(PA)センサ1
6、車速(VSP)センサ17、クラッチの断続を検出
するクラッチセンサ18及び変速機のシフト位置を検出
するギヤ位置センサ19が接続されており、これらのセ
ンサの検出信号がECU5に供給される。
6、車速(VSP)センサ17、クラッチの断続を検出
するクラッチセンサ18及び変速機のシフト位置を検出
するギヤ位置センサ19が接続されており、これらのセ
ンサの検出信号がECU5に供給される。
【0020】ECU5は各種センサからの入力信号波形
を整形し、電圧レベルを所定レベルに修正し、アナログ
信号値をデジタル信号値に変換する等の機能を有する入
力回路5a、中央演算処理回路(以下「CPU」とい
う)5b、CPU5bで実行される各種演算プログラム
及び演算結果等を記憶する記憶手段5c、前記燃料噴射
弁6、電磁弁21に駆動信号を供給する出力回路5d等
から構成される。
を整形し、電圧レベルを所定レベルに修正し、アナログ
信号値をデジタル信号値に変換する等の機能を有する入
力回路5a、中央演算処理回路(以下「CPU」とい
う)5b、CPU5bで実行される各種演算プログラム
及び演算結果等を記憶する記憶手段5c、前記燃料噴射
弁6、電磁弁21に駆動信号を供給する出力回路5d等
から構成される。
【0021】またECU5には、電圧調整器51が設け
られており、その出力電圧はA/D変換されてCPU5
bに入力される。この電圧調整器51は、本実施の形態
においては図示しない定電圧回路に接続された分圧抵抗
等で構成される3つの可変電圧回路から成り、3つの可
変電圧回路はそれぞれ別個に人為的に調整可能である。
これらの可変電圧回路の出力電圧に対応して、後述する
図7のプログラムにおいて使用される第1〜第3の量産
補正変数KCMPRO1〜3の値が決定される。
られており、その出力電圧はA/D変換されてCPU5
bに入力される。この電圧調整器51は、本実施の形態
においては図示しない定電圧回路に接続された分圧抵抗
等で構成される3つの可変電圧回路から成り、3つの可
変電圧回路はそれぞれ別個に人為的に調整可能である。
これらの可変電圧回路の出力電圧に対応して、後述する
図7のプログラムにおいて使用される第1〜第3の量産
補正変数KCMPRO1〜3の値が決定される。
【0022】電圧調整器51は、図1の制御装置をエン
ジンに組込む組立時や定期的メンテナンス時等に、エン
ジンの特性のばらつきや経時変化を補償するように調整
される。
ジンに組込む組立時や定期的メンテナンス時等に、エン
ジンの特性のばらつきや経時変化を補償するように調整
される。
【0023】CPU5bは上述の各種エンジンパラメー
タ信号に基づいて、排気ガス中の酸素濃度に応じたフィ
ードバック制御運転領域やオープンループ制御運転領域
等の種々のエンジン運転状態を判別するとともに、エン
ジン運転状態に応じ、次式(1)に基づき、前記TDC
信号パルスに同期する燃料噴射弁6の燃料噴射時間To
utを演算する。
タ信号に基づいて、排気ガス中の酸素濃度に応じたフィ
ードバック制御運転領域やオープンループ制御運転領域
等の種々のエンジン運転状態を判別するとともに、エン
ジン運転状態に応じ、次式(1)に基づき、前記TDC
信号パルスに同期する燃料噴射弁6の燃料噴射時間To
utを演算する。
【0024】 Tout=Ti×KCMD×KLAF×KEVAP×K
1+K2 …(1) ここに、Tiは基本燃料量、具体的にはエンジン回転数
NEと吸気管内絶対圧PBAとに応じて決定される基本
燃料噴射時間であり、このTi値を決定するためのTi
マップが記憶手段5cに記憶されている。
1+K2 …(1) ここに、Tiは基本燃料量、具体的にはエンジン回転数
NEと吸気管内絶対圧PBAとに応じて決定される基本
燃料噴射時間であり、このTi値を決定するためのTi
マップが記憶手段5cに記憶されている。
【0025】KCMDは、エンジン運転状態に応じて算
出される目標空燃比係数であり、前記式(1)から明ら
かなように、目標空燃比係数KCMDが増加すれば燃料
噴射時間Toutは増加するので、KCMD値はいわゆ
る空燃比A/Fの逆数に比例する値となる。
出される目標空燃比係数であり、前記式(1)から明ら
かなように、目標空燃比係数KCMDが増加すれば燃料
噴射時間Toutは増加するので、KCMD値はいわゆ
る空燃比A/Fの逆数に比例する値となる。
【0026】KLAFは、空燃比補正係数であり、空燃
比フィードバック制御中はLAFセンサ15によって検
出された空燃比が目標空燃比に一致するように設定さ
れ、オープンループ制御中はエンジン運転状態に応じた
所定値に設定される。
比フィードバック制御中はLAFセンサ15によって検
出された空燃比が目標空燃比に一致するように設定さ
れ、オープンループ制御中はエンジン運転状態に応じた
所定値に設定される。
【0027】KEVAPは、パージによる蒸発燃料の影
響を補償するためのエバポ補正係数であり、パージを行
わないときは値1.0に設定され、パージ実行時は0〜
1.0の間に設定される。この係数KEVAPの値が小
さいほど、パージの影響が大きいことを示す。
響を補償するためのエバポ補正係数であり、パージを行
わないときは値1.0に設定され、パージ実行時は0〜
1.0の間に設定される。この係数KEVAPの値が小
さいほど、パージの影響が大きいことを示す。
【0028】K1及びK2は夫々各種エンジンパラメー
タ信号に応じて演算される他の補正係数及び補正変数で
あり、エンジン運転状態に応じた燃費特性、エンジン加
速特性等の諸特性の最適化が図られるような値に設定さ
れる。
タ信号に応じて演算される他の補正係数及び補正変数で
あり、エンジン運転状態に応じた燃費特性、エンジン加
速特性等の諸特性の最適化が図られるような値に設定さ
れる。
【0029】CPU5bは更にエンジン運転状態に応じ
てバルブタイミングの切換指示信号を出力して電磁弁2
1の開閉制御を行なう。
てバルブタイミングの切換指示信号を出力して電磁弁2
1の開閉制御を行なう。
【0030】CPU5bは上述のようにして算出、決定
した結果に基づいて、燃料噴射弁6および電磁弁21を
駆動する信号を、出力回路5dを介して出力する。
した結果に基づいて、燃料噴射弁6および電磁弁21を
駆動する信号を、出力回路5dを介して出力する。
【0031】図2は、燃焼不安定を判定するために使用
する回転変動量DMSSLBを算出する処理のフローチ
ャートであり、本処理はCPU5bにおいて実行され
る。
する回転変動量DMSSLBを算出する処理のフローチ
ャートであり、本処理はCPU5bにおいて実行され
る。
【0032】図2(a)は、前記CRK信号パルスの発
生毎にこれと同期して実行されるCRK処理を示し、ス
テップS1ではCRK信号パルスの発生時間間隔の計測
を行う。具体的には、図3に示すようにクランク軸が3
0度回転する毎に順次CRME(n),CRME(n+
1),CRME(n+2)…が計測される。
生毎にこれと同期して実行されるCRK処理を示し、ス
テップS1ではCRK信号パルスの発生時間間隔の計測
を行う。具体的には、図3に示すようにクランク軸が3
0度回転する毎に順次CRME(n),CRME(n+
1),CRME(n+2)…が計測される。
【0033】なお、クランク軸が180度回転する期間
を30度毎に分割し、それぞれ#0STG〜#5STG
(#0ステージ〜#5ステージ)と呼んでいる。
を30度毎に分割し、それぞれ#0STG〜#5STG
(#0ステージ〜#5ステージ)と呼んでいる。
【0034】ステップS2では、次式(2)により11
回前の計測値CRME(n−11)から最新の計測値C
RME(n)までの12個のCRME値の合計値とし
て、第1の合計値CR12ME(n)を算出する。
回前の計測値CRME(n−11)から最新の計測値C
RME(n)までの12個のCRME値の合計値とし
て、第1の合計値CR12ME(n)を算出する。
【0035】
【数1】 本実施の形態ではCRK信号パルスはクランク軸が30
度回転する毎に発生するので、第1の合計値CR12M
E(n)はクランク軸1回転に対応する合計値である。
本来、第1の合計値CR12ME(n)を12で割った
ものをCR12ME(n)として用いるものであるが、
演算の簡素化のため本実施の形態では合計値で処理を行
っている。このような処理を行うことにより、クランク
軸1回転で1周期のエンジン回転の1次振動成分、即
ち、クランク角センサ16を構成するパルサ又はピック
アップの機械的誤差(製造誤差、取付誤差等)によるノ
イズ成分を除去することができる。
度回転する毎に発生するので、第1の合計値CR12M
E(n)はクランク軸1回転に対応する合計値である。
本来、第1の合計値CR12ME(n)を12で割った
ものをCR12ME(n)として用いるものであるが、
演算の簡素化のため本実施の形態では合計値で処理を行
っている。このような処理を行うことにより、クランク
軸1回転で1周期のエンジン回転の1次振動成分、即
ち、クランク角センサ16を構成するパルサ又はピック
アップの機械的誤差(製造誤差、取付誤差等)によるノ
イズ成分を除去することができる。
【0036】なおCR12ME(n)値に基づいてエン
ジン回転速度NEが算出される。
ジン回転速度NEが算出される。
【0037】図2(b)は、TDC信号パルスの発生周
期と同一周期であって、#3STG(#3ステージ、図
3参照)で実行される処理を示す。先ずステップS11
では、次式(3)により、第1の合計値CR12MEの
5回前の算出値CR12ME(n−5)から最新の算出
値CR12ME(n)までの6個のCR12ME値の合
計値として、第2の合計値MSME(n)を算出する。
期と同一周期であって、#3STG(#3ステージ、図
3参照)で実行される処理を示す。先ずステップS11
では、次式(3)により、第1の合計値CR12MEの
5回前の算出値CR12ME(n−5)から最新の算出
値CR12ME(n)までの6個のCR12ME値の合
計値として、第2の合計値MSME(n)を算出する。
【0038】
【数2】 本実施の形態では、エンジン1は4気筒4サイクルエン
ジンであり、クランク軸が180度回転する毎にいずれ
かの気筒で点火が行われる。従って、第2の合計値MS
ME(n)は、第1の合計値CR12ME(n)の点火
周期毎の合計値である。本来、ここでも第2の合計値M
SME(n)を6で割ったものをMSME(n)として
用いるものであるが、演算の簡素化のため本実施の形態
では合計値で処理を行っている。このような処理を行う
ことにより、燃焼によるエンジン回転のトルク変動分と
して表わされる2次振動成分、即ち、クランク軸半回転
周期の振動成分を除去することができる。
ジンであり、クランク軸が180度回転する毎にいずれ
かの気筒で点火が行われる。従って、第2の合計値MS
ME(n)は、第1の合計値CR12ME(n)の点火
周期毎の合計値である。本来、ここでも第2の合計値M
SME(n)を6で割ったものをMSME(n)として
用いるものであるが、演算の簡素化のため本実施の形態
では合計値で処理を行っている。このような処理を行う
ことにより、燃焼によるエンジン回転のトルク変動分と
して表わされる2次振動成分、即ち、クランク軸半回転
周期の振動成分を除去することができる。
【0039】次いで、次式(4)により回転変動量DM
SSLB(n)を算出する。
SSLB(n)を算出する。
【0040】 DMSSLB(n)=|(MSME(n)−MSME
(n−1))/KDMSSLB|…(4) ここで、KDMSSLBは、リーンバーン制御時の制御
精度がエンジン回転数に応じて変化しないようにするた
めに、エンジン回転数NEに反比例するように設定され
る係数であり、回転変動量DMSSLBがエンジン回転
数NEに応じて変化しないようにするものである。
(n−1))/KDMSSLB|…(4) ここで、KDMSSLBは、リーンバーン制御時の制御
精度がエンジン回転数に応じて変化しないようにするた
めに、エンジン回転数NEに反比例するように設定され
る係数であり、回転変動量DMSSLBがエンジン回転
数NEに応じて変化しないようにするものである。
【0041】図4は、目標空燃比係数KCMD及び空燃
比補正係数KLAFの算出処理のメインフローチャート
であり、本処理はTDC信号パルスの発生毎にこれと同
期してCPU5bで実行される。
比補正係数KLAFの算出処理のメインフローチャート
であり、本処理はTDC信号パルスの発生毎にこれと同
期してCPU5bで実行される。
【0042】同図において、まず、エンジン回転数NE
と吸気内絶対圧PBAを参照して、回転変動量DMSS
LBの燃焼不安定判定用の下側閾値MSLEAN1及び
上側閾値MSLEAN2(図18参照)をMSLEAN
マップから検索する(ステップS401)。
と吸気内絶対圧PBAを参照して、回転変動量DMSS
LBの燃焼不安定判定用の下側閾値MSLEAN1及び
上側閾値MSLEAN2(図18参照)をMSLEAN
マップから検索する(ステップS401)。
【0043】次に、LAFセンサ15の出力をECU5
内の記憶手段5cに読み込むと共に(ステップS40
2)、後述する図5のLAFフィードバック領域判定処
理を行う(ステップS403)。
内の記憶手段5cに読み込むと共に(ステップS40
2)、後述する図5のLAFフィードバック領域判定処
理を行う(ステップS403)。
【0044】次に、ステップS404で、始動モードで
あるか否かを判別する。具体的には、始動モードである
ことを「1」で示す始動モード判定フラグFSTMOD
が「1」か否かを判別する。FSTMOD=1であれ
ば、エンジン水温TWを参照して、低水温時の低水温目
標空燃比係数KTWLAFをテーブルから検索すると共
に(ステップS405)、KCMD値にKTWLAF値
を設定する(ステップS406)。そして、フィードバ
ックリミットフラグFLAFLMTを「0」に設定し
(ステップS407)、LAFセンサ16のフィードバ
ック制御を実行していることを「1」で示すフラグFL
AFFBを「0」に設定し(ステップS408)、空燃
比補正係数KLAFを「1.0」に設定し(ステップS
409)、空燃比補正係数積分項KLAFIを「1.
0」に設定し(ステップS410)、さらに、蒸発燃料
の影響を補償するのに用いるエバポパージ補正係数KE
VAPを算出し(ステップS411)、本処理を終了す
る。
あるか否かを判別する。具体的には、始動モードである
ことを「1」で示す始動モード判定フラグFSTMOD
が「1」か否かを判別する。FSTMOD=1であれ
ば、エンジン水温TWを参照して、低水温時の低水温目
標空燃比係数KTWLAFをテーブルから検索すると共
に(ステップS405)、KCMD値にKTWLAF値
を設定する(ステップS406)。そして、フィードバ
ックリミットフラグFLAFLMTを「0」に設定し
(ステップS407)、LAFセンサ16のフィードバ
ック制御を実行していることを「1」で示すフラグFL
AFFBを「0」に設定し(ステップS408)、空燃
比補正係数KLAFを「1.0」に設定し(ステップS
409)、空燃比補正係数積分項KLAFIを「1.
0」に設定し(ステップS410)、さらに、蒸発燃料
の影響を補償するのに用いるエバポパージ補正係数KE
VAPを算出し(ステップS411)、本処理を終了す
る。
【0045】また、上記ステップS404において、始
動モードではないと判別されたときは、後述する図6の
目標空燃比係数KCMDの算出処理を行い(ステップS
412)、次いで、LAFセンサ15が活性状態である
か否かを判別する(ステップS413)。LAFセンサ
15が活性状態であるときは、該LAFセンサ15の出
力に基づいて、実際の空燃比(以下「検出空燃比」とい
う)KACTの算出処理を行い(ステップS414)、
この検出空燃比KACTと、上記ステップS412で算
出された目標空燃比係数KCMDとが一致するように、
空燃比補正係数KLAFを算出し(ステップS41
5)、上記ステップS411のエバポパージ補正係数K
EVAPの算出処理に進む。
動モードではないと判別されたときは、後述する図6の
目標空燃比係数KCMDの算出処理を行い(ステップS
412)、次いで、LAFセンサ15が活性状態である
か否かを判別する(ステップS413)。LAFセンサ
15が活性状態であるときは、該LAFセンサ15の出
力に基づいて、実際の空燃比(以下「検出空燃比」とい
う)KACTの算出処理を行い(ステップS414)、
この検出空燃比KACTと、上記ステップS412で算
出された目標空燃比係数KCMDとが一致するように、
空燃比補正係数KLAFを算出し(ステップS41
5)、上記ステップS411のエバポパージ補正係数K
EVAPの算出処理に進む。
【0046】また、上記ステップS413において、L
AFセンサ15が不活性であるときは、LAFセンサ1
5の出力を用いた検出空燃比KACTの算出処理は行わ
ずに、上記ステップS407以下の処理に進む。
AFセンサ15が不活性であるときは、LAFセンサ1
5の出力を用いた検出空燃比KACTの算出処理は行わ
ずに、上記ステップS407以下の処理に進む。
【0047】図5は、上記ステップS403のLAFフ
ィードバック領域判定処理のフローチャートである。
ィードバック領域判定処理のフローチャートである。
【0048】同図において、まず、エンジン回転数NE
が所定範囲内であるか否かを判定する(ステップS50
1,S502)。すなわち、まず、エンジン回転数NE
が上記所定範囲の上限回転数NLAFH以下であるか否
かを判定する(ステップS501)。ここで、NE>N
LAFHであるときには、上述した空燃比フィードバッ
ク制御実行の条件が成立していないものとして、空燃比
フィードバック制御実行の条件が成立していることを
「1」で示すLAFフィードバック領域判定フラグFL
AFFBZを「0」に設定し(ステップS506)、本
処理を終了する。
が所定範囲内であるか否かを判定する(ステップS50
1,S502)。すなわち、まず、エンジン回転数NE
が上記所定範囲の上限回転数NLAFH以下であるか否
かを判定する(ステップS501)。ここで、NE>N
LAFHであるときには、上述した空燃比フィードバッ
ク制御実行の条件が成立していないものとして、空燃比
フィードバック制御実行の条件が成立していることを
「1」で示すLAFフィードバック領域判定フラグFL
AFFBZを「0」に設定し(ステップS506)、本
処理を終了する。
【0049】上記ステップS501において、NE≦N
LAFHであるときには、更にNE値が上記所定範囲の
下限値NLAFLより大きいか否かを判別する(ステッ
プS502)。ここで、NE≦NLAFLであれば、同
じく空燃比フィードバック制御実行の条件が成立してい
ないものとして、LAFフィードバック領域判定フラグ
FLAFFBZを「0」に設定し(ステップS50
6)、本処理を終了する。
LAFHであるときには、更にNE値が上記所定範囲の
下限値NLAFLより大きいか否かを判別する(ステッ
プS502)。ここで、NE≦NLAFLであれば、同
じく空燃比フィードバック制御実行の条件が成立してい
ないものとして、LAFフィードバック領域判定フラグ
FLAFFBZを「0」に設定し(ステップS50
6)、本処理を終了する。
【0050】上記ステップS502において、NE>N
LAFLであれば、エンジン回転数NEが上記所定範囲
内にあるものとし、ステップS503に進んでエンジン
1がWOT(スロットル弁全開運転、Wide Ope
n Throttle)領域にあることを「1」で示す
WOTフラグFWOTが「1」か否かを判別する(ステ
ップS503)。FWOT=1であるときは、上記空燃
比フィードバック制御実行の条件が成立していないもの
として、LAFフィードバック領域判定フラグLAFF
BZを「0」に設定し(ステップS506)、本処理を
終了する。尚、ステップS501及びステップS502
において、上限回転数NLAFHおよび下限回転数NL
AFLには、制御の不安定化防止のためのヒステリシス
が設定してある。すなわち、上限回転数NLAFH及び
下限回転数NLAFLにはそれぞれ大小2つの値を設
け、エンジン回転数NEが増加しつつ下限回転数NLA
FL又は上限回転数NLAFHに近づいたときにはそれ
ぞれ大きい値が適用され、エンジン回転数NEが減少し
つつ下限回転数NLAFL又は上限回転数NLAFHに
近づいたときにはそれぞれ小さい値が適用される。
LAFLであれば、エンジン回転数NEが上記所定範囲
内にあるものとし、ステップS503に進んでエンジン
1がWOT(スロットル弁全開運転、Wide Ope
n Throttle)領域にあることを「1」で示す
WOTフラグFWOTが「1」か否かを判別する(ステ
ップS503)。FWOT=1であるときは、上記空燃
比フィードバック制御実行の条件が成立していないもの
として、LAFフィードバック領域判定フラグLAFF
BZを「0」に設定し(ステップS506)、本処理を
終了する。尚、ステップS501及びステップS502
において、上限回転数NLAFHおよび下限回転数NL
AFLには、制御の不安定化防止のためのヒステリシス
が設定してある。すなわち、上限回転数NLAFH及び
下限回転数NLAFLにはそれぞれ大小2つの値を設
け、エンジン回転数NEが増加しつつ下限回転数NLA
FL又は上限回転数NLAFHに近づいたときにはそれ
ぞれ大きい値が適用され、エンジン回転数NEが減少し
つつ下限回転数NLAFL又は上限回転数NLAFHに
近づいたときにはそれぞれ小さい値が適用される。
【0051】上記ステップS503において、FWOT
=0であるときは、更にエンジン1がフューエルカット
運転領域にあることを「1」で示すフラグFFCが
「1」か否かを判定する(ステップS504)。FFC
=1であるときは、上記空燃比フィードバック制御実行
の条件が成立していないものとして、LAFフィードバ
ック領域判定フラグFLAFFBZを「0」に設定し
(ステップS506)、本処理を終了する。
=0であるときは、更にエンジン1がフューエルカット
運転領域にあることを「1」で示すフラグFFCが
「1」か否かを判定する(ステップS504)。FFC
=1であるときは、上記空燃比フィードバック制御実行
の条件が成立していないものとして、LAFフィードバ
ック領域判定フラグFLAFFBZを「0」に設定し
(ステップS506)、本処理を終了する。
【0052】ステップS504において、FFC=0で
あるときは、エンジン1がフューエルカット運転状態で
はなく、上記空燃比フィードバック制御実行の条件が成
立しているものとして、LAFフィードバック領域判定
フラグFLAFFBZを「1」に設定し(ステップS5
05)、本処理を終了する。
あるときは、エンジン1がフューエルカット運転状態で
はなく、上記空燃比フィードバック制御実行の条件が成
立しているものとして、LAFフィードバック領域判定
フラグFLAFFBZを「1」に設定し(ステップS5
05)、本処理を終了する。
【0053】次に、図6及び図7を参照して、図4のス
テップS412における目標空燃比係数KCMDの算出
処理を説明する。
テップS412における目標空燃比係数KCMDの算出
処理を説明する。
【0054】図6及び図7は図4のステップS412に
おける目標空燃比係数KCMD算出処理のフローチャー
トである。本処理はTDC信号の発生毎にこれと同期し
て実行される。
おける目標空燃比係数KCMD算出処理のフローチャー
トである。本処理はTDC信号の発生毎にこれと同期し
て実行される。
【0055】図6のステップS612ではシフトチェン
ジ中であるか否かを判別する。この判別は、前記クラッ
チセンサ18によってクラッチが接続されているか否か
を検出することによって行う。ステップS612の答が
肯定(YES)、即ちシフトチェンジ中のときにはシフ
トチェンジ終了後の経過時間を計測するシフトチェンジ
ディレイタイマtmKBSに所定のシフトチェンジディ
レイ時間(例えば500ミリ秒)tmDLYBSをセッ
トしてこれをスタートさせ(ステップS613)、更に
フューエルカットの継続時間を計測するF/Cディレイ
タイマtmAFCに所定のF/Cディレイ時間tmAF
CDLY(300ミリ秒)をセットしてこれをスタート
させ(ステップS617)、本処理を終了する。
ジ中であるか否かを判別する。この判別は、前記クラッ
チセンサ18によってクラッチが接続されているか否か
を検出することによって行う。ステップS612の答が
肯定(YES)、即ちシフトチェンジ中のときにはシフ
トチェンジ終了後の経過時間を計測するシフトチェンジ
ディレイタイマtmKBSに所定のシフトチェンジディ
レイ時間(例えば500ミリ秒)tmDLYBSをセッ
トしてこれをスタートさせ(ステップS613)、更に
フューエルカットの継続時間を計測するF/Cディレイ
タイマtmAFCに所定のF/Cディレイ時間tmAF
CDLY(300ミリ秒)をセットしてこれをスタート
させ(ステップS617)、本処理を終了する。
【0056】前記ステップS612の答が否定(N
O)、即ち、シフトチェンジ中でないときには、シフト
チェンジディレイタイマtmKBSのタイマ値が「0」
が否かを判別する(ステップS614)。この答が肯定
(YES)、即ちシフトチェンジ終了後、所定時間tm
DLYBS経過したときは、直ちにステップS618に
進み、ステップS614の判別の答が否定(NO)、即
ちシフトチェンジ終了後、所定時間tmDLYBS経過
していないときには、バルブタイミングが変更されたか
否かを判別する(ステップS615)。ステップS61
5の答が否定(NO)のときには、前記ステップS61
7に進み、肯定(YES)のときにはシフトチェンジデ
ィレイタイマtmKBSを値0にリセットして(ステッ
プS616)ステップS618に進む。
O)、即ち、シフトチェンジ中でないときには、シフト
チェンジディレイタイマtmKBSのタイマ値が「0」
が否かを判別する(ステップS614)。この答が肯定
(YES)、即ちシフトチェンジ終了後、所定時間tm
DLYBS経過したときは、直ちにステップS618に
進み、ステップS614の判別の答が否定(NO)、即
ちシフトチェンジ終了後、所定時間tmDLYBS経過
していないときには、バルブタイミングが変更されたか
否かを判別する(ステップS615)。ステップS61
5の答が否定(NO)のときには、前記ステップS61
7に進み、肯定(YES)のときにはシフトチェンジデ
ィレイタイマtmKBSを値0にリセットして(ステッ
プS616)ステップS618に進む。
【0057】ステップS618では、フューエルカット
中か否かを判別し、その答が肯定(YES)のときに
は、TDCカウンタNFBに所定値NTDCX(例えば
6)をセットし(ステップS619)、F/Cディレイ
タイマtmAFCのタイマ値が「0」か否かを判別する
(ステップS620)。TDCカウンタNFBは、フュ
ーエルカット終了後のTDC信号パルス数に応じて空燃
比フィードバック制御の制御ゲインを変更するために設
けられている。ステップS620の答が否定(NO)、
即ちフューエルカット継続期間が前記所定時間tmAF
CDLY未満のときには、直ちに本処理を終了する。ス
テップS620の答が肯定(YES)、即ちフューエル
カットが所定時間tmAFCDLY以上継続したときに
は、リーンバーン制御用の目標空燃比係数KBSを略理
論空燃比(A/F=14.7)相当の所定値KCMDF
Cに設定する(ステップS621)。次いで、KCMD
値をKBS値に設定して(ステップS628)、ステッ
プS632(図7)に進む。
中か否かを判別し、その答が肯定(YES)のときに
は、TDCカウンタNFBに所定値NTDCX(例えば
6)をセットし(ステップS619)、F/Cディレイ
タイマtmAFCのタイマ値が「0」か否かを判別する
(ステップS620)。TDCカウンタNFBは、フュ
ーエルカット終了後のTDC信号パルス数に応じて空燃
比フィードバック制御の制御ゲインを変更するために設
けられている。ステップS620の答が否定(NO)、
即ちフューエルカット継続期間が前記所定時間tmAF
CDLY未満のときには、直ちに本処理を終了する。ス
テップS620の答が肯定(YES)、即ちフューエル
カットが所定時間tmAFCDLY以上継続したときに
は、リーンバーン制御用の目標空燃比係数KBSを略理
論空燃比(A/F=14.7)相当の所定値KCMDF
Cに設定する(ステップS621)。次いで、KCMD
値をKBS値に設定して(ステップS628)、ステッ
プS632(図7)に進む。
【0058】上述のように、フューエルカット継続期間
が短時間(tmAFCDLY未満)のときには、直ちに
本処理は終了し、フューエルカット継続期間がtmAF
CDLY以上のときには、KBS値は理論空燃比相当の
所定値KCMDFCに設定されるので、フューエルカッ
ト終了直後の供給空燃比を適切に制御することができ
る。即ち、フューエルカット継続期間が短時間の場合に
は、エンジン運転状態がほとんど変化しないので、フュ
ーエルカット直前の値からフィードバック制御を開始す
ることにより、迅速に所望の供給空燃比を得ることがで
きる。また、フューエルカット継続期間が長時間の場合
には、KBS値は略理論空燃比値に設定されるので、フ
ューエルカット終了後のエンジン運転状態に応じて設定
されるKBS値がリーン側又はリッチ側のいずれ側の値
であっても、迅速に追従することができる。
が短時間(tmAFCDLY未満)のときには、直ちに
本処理は終了し、フューエルカット継続期間がtmAF
CDLY以上のときには、KBS値は理論空燃比相当の
所定値KCMDFCに設定されるので、フューエルカッ
ト終了直後の供給空燃比を適切に制御することができ
る。即ち、フューエルカット継続期間が短時間の場合に
は、エンジン運転状態がほとんど変化しないので、フュ
ーエルカット直前の値からフィードバック制御を開始す
ることにより、迅速に所望の供給空燃比を得ることがで
きる。また、フューエルカット継続期間が長時間の場合
には、KBS値は略理論空燃比値に設定されるので、フ
ューエルカット終了後のエンジン運転状態に応じて設定
されるKBS値がリーン側又はリッチ側のいずれ側の値
であっても、迅速に追従することができる。
【0059】前記ステップS618の答が否定(N
O)、即ちフューエルカット中でないときには、KCM
Dの前回値KCMD(n−1)と、上述した検出空燃比
KACTの前回算出値KACT(n−1)との偏差の絶
対値が所定値DKAFC(例えばA/F換算で0.8に
相当する値)以下か否かを判別する(ステップS62
3)。その答が肯定(YES)、即ち前記偏差が所定値
DKAFC以下のときには、TDCカウンタNFBのカ
ウント値を「0」にリセットする(ステップS625)
一方、否定(NO)のときにはNFBのカウント値を値
1だけデクリメントして(ステップS624)、ステッ
プS626に進む。
O)、即ちフューエルカット中でないときには、KCM
Dの前回値KCMD(n−1)と、上述した検出空燃比
KACTの前回算出値KACT(n−1)との偏差の絶
対値が所定値DKAFC(例えばA/F換算で0.8に
相当する値)以下か否かを判別する(ステップS62
3)。その答が肯定(YES)、即ち前記偏差が所定値
DKAFC以下のときには、TDCカウンタNFBのカ
ウント値を「0」にリセットする(ステップS625)
一方、否定(NO)のときにはNFBのカウント値を値
1だけデクリメントして(ステップS624)、ステッ
プS626に進む。
【0060】ステップS623〜S625により、フュ
ーエルカット終了直後において、目標空燃比係数KCM
Dと検出空燃比KACTとの偏差が大きい(DKAFC
以上)ときには、TDCカウンタNFBのカウント値は
値1以上となり、空燃比フィードバック制御の制御ゲイ
ンがNFB=0のときより小さな値に設定される。
ーエルカット終了直後において、目標空燃比係数KCM
Dと検出空燃比KACTとの偏差が大きい(DKAFC
以上)ときには、TDCカウンタNFBのカウント値は
値1以上となり、空燃比フィードバック制御の制御ゲイ
ンがNFB=0のときより小さな値に設定される。
【0061】ステップS626では、前記F/Cディレ
イタイマに所定時間tmAFCDLYをセットしてこれ
をスタートさせ、次いで後述する図8の処理によりリー
ンバーン制御用の目標空燃比係数KBSの算出処理(ス
テップS627)を行う。次いで、KCMD値をKBS
値に設定して(ステップS628)、ステップS632
(図7)に進む。
イタイマに所定時間tmAFCDLYをセットしてこれ
をスタートさせ、次いで後述する図8の処理によりリー
ンバーン制御用の目標空燃比係数KBSの算出処理(ス
テップS627)を行う。次いで、KCMD値をKBS
値に設定して(ステップS628)、ステップS632
(図7)に進む。
【0062】ステップS632では、エンジンがアイド
ル状態か否かを判別し、その答が肯定(YES)のとき
には、前記電圧調整器51の出力電圧に応じて設定され
る第1の量産補正変数KCMPRO1をKCMD値に加
算し(ステップS634)、ステップS638に進む。
ステップS632の答が否定(NO)、即ちアイドル状
態でないときには、リーンバーン制御中か否かを調べる
ためにKCMD値が理論空燃比よりリーン側の所定値で
あるリーンバーン判定用閾値KCMDZL(例えばA/
F=18相当の値)より小さいか否かを判別する(ステ
ップS633)。ステップS633の答が否定(N
O)、即ちKCMD≧KCMDZLのときには、リーン
バーン制御中ではないものとして、前記電圧調整器51
の出力電圧に応じて設定される第2の量産補正変数KC
MPRO2をKCMD値に加算し(ステップS63
5)、ステップS638に進む。ステップS633の答
が肯定(YES)、即ちKCMD<KCMDZLであっ
ていわゆるリーンバーン制御中のときには、前記電圧調
整器51の出力電圧に応じて設定される第3の量産補正
変数KCMPRO3をKCMD値に加算し(ステップS
636)、ステップS638に進む。
ル状態か否かを判別し、その答が肯定(YES)のとき
には、前記電圧調整器51の出力電圧に応じて設定され
る第1の量産補正変数KCMPRO1をKCMD値に加
算し(ステップS634)、ステップS638に進む。
ステップS632の答が否定(NO)、即ちアイドル状
態でないときには、リーンバーン制御中か否かを調べる
ためにKCMD値が理論空燃比よりリーン側の所定値で
あるリーンバーン判定用閾値KCMDZL(例えばA/
F=18相当の値)より小さいか否かを判別する(ステ
ップS633)。ステップS633の答が否定(N
O)、即ちKCMD≧KCMDZLのときには、リーン
バーン制御中ではないものとして、前記電圧調整器51
の出力電圧に応じて設定される第2の量産補正変数KC
MPRO2をKCMD値に加算し(ステップS63
5)、ステップS638に進む。ステップS633の答
が肯定(YES)、即ちKCMD<KCMDZLであっ
ていわゆるリーンバーン制御中のときには、前記電圧調
整器51の出力電圧に応じて設定される第3の量産補正
変数KCMPRO3をKCMD値に加算し(ステップS
636)、ステップS638に進む。
【0063】ステップS632〜S636によれば、エ
ンジンがアイドル状態にあるときには第1の量産補正変
数KCMPRO1が適用され、アイドル以外の状態のと
きには目標空燃比係数KCMDの値と、所定値KCMD
ZLとの大小関係に応じて第2又は第3の量産補正変数
KCMPRO2又はKCMPRO3が適用されるので、
排気ガス特性や運転性を損うことなく、それぞれのエン
ジン運転状態及び目標空燃比に適合した量産補正を行う
ことができる。特にエンジンのアイドル状態における排
気ガス特性の安定性を確保し、リーンバーン制御時の失
火やエンジン回転数変動を回避する上で有利である。
ンジンがアイドル状態にあるときには第1の量産補正変
数KCMPRO1が適用され、アイドル以外の状態のと
きには目標空燃比係数KCMDの値と、所定値KCMD
ZLとの大小関係に応じて第2又は第3の量産補正変数
KCMPRO2又はKCMPRO3が適用されるので、
排気ガス特性や運転性を損うことなく、それぞれのエン
ジン運転状態及び目標空燃比に適合した量産補正を行う
ことができる。特にエンジンのアイドル状態における排
気ガス特性の安定性を確保し、リーンバーン制御時の失
火やエンジン回転数変動を回避する上で有利である。
【0064】ステップS638では、後述する図13の
処理によりKCMD値のリミット処理を行う。このリミ
ット処理は、KCMDの前回値と今回値の差が、エンジ
ン運転状態に応じて設定される上限値を超えないように
して、KCMD値を急激に変更しないようにするもので
ある。ただし、KCMD値が理論空燃比よりリーン側に
ある場合において、アクセルペダルが急激に踏み込まれ
たようなときには、理論空燃比相当の値まで直ちに増加
させるようにしている。
処理によりKCMD値のリミット処理を行う。このリミ
ット処理は、KCMDの前回値と今回値の差が、エンジ
ン運転状態に応じて設定される上限値を超えないように
して、KCMD値を急激に変更しないようにするもので
ある。ただし、KCMD値が理論空燃比よりリーン側に
ある場合において、アクセルペダルが急激に踏み込まれ
たようなときには、理論空燃比相当の値まで直ちに増加
させるようにしている。
【0065】次に、図8を参照して、図6のステップS
627におけるリーンバーン制御用の目標空燃比KBS
の算出処理を説明する。
627におけるリーンバーン制御用の目標空燃比KBS
の算出処理を説明する。
【0066】図8は、図6のステップS627における
リーンバーン制御用の目標空燃比係数KBSの算出処理
のフローチャートである。
リーンバーン制御用の目標空燃比係数KBSの算出処理
のフローチャートである。
【0067】まず、ステップS841では、後述する図
9の処理により、目標空燃比係数の基準値KBSMを算
出する。
9の処理により、目標空燃比係数の基準値KBSMを算
出する。
【0068】次いで、ステップS842で、エンジンが
所定の高負荷運転状態にあるとき適用される高負荷目標
空燃比係数KWOTを算出する。このKWOT値は、エ
ンジン回転数NE及び吸気管内絶対圧PBAに応じて設
定されたKWOTマップから読み出される。ステップS
843では、エンジンが所定の高負荷運転状態にあると
き「1」に設定されるフラグFWOTが「1」であるか
否かを判別し、その答が肯定(YES)、即ちエンジン
が所定の高負荷運転状態にあるときには、KWOT値が
KBSM値以上か否かを判別する(ステップS84
4)。この答が肯定(YES)、即ちKWOT≧KBS
Mのときには、後述するステップS854において経過
時間を判定するためのタイマtmKCMに所定時間tm
KCMHLD(例えば2秒)をセットとしてこれをスタ
ートさせ(ステップS845)、KBS値をKWOT値
に設定して(ステップS846)、本処理を終了する。
所定の高負荷運転状態にあるとき適用される高負荷目標
空燃比係数KWOTを算出する。このKWOT値は、エ
ンジン回転数NE及び吸気管内絶対圧PBAに応じて設
定されたKWOTマップから読み出される。ステップS
843では、エンジンが所定の高負荷運転状態にあると
き「1」に設定されるフラグFWOTが「1」であるか
否かを判別し、その答が肯定(YES)、即ちエンジン
が所定の高負荷運転状態にあるときには、KWOT値が
KBSM値以上か否かを判別する(ステップS84
4)。この答が肯定(YES)、即ちKWOT≧KBS
Mのときには、後述するステップS854において経過
時間を判定するためのタイマtmKCMに所定時間tm
KCMHLD(例えば2秒)をセットとしてこれをスタ
ートさせ(ステップS845)、KBS値をKWOT値
に設定して(ステップS846)、本処理を終了する。
【0069】ステップS844の答が否定(NO)、即
ちKWOT<KBSMのときには、前記ステップS84
5と同様の処理を行い(ステップS848)、KBS値
をKBSM値に設定して(ステップS856)、本処理
を終了する。
ちKWOT<KBSMのときには、前記ステップS84
5と同様の処理を行い(ステップS848)、KBS値
をKBSM値に設定して(ステップS856)、本処理
を終了する。
【0070】前記ステップS843の答が否定(N
O)、即ちエンジンが所定高負荷運転状態にないときに
は、基準値KBSMが理論空燃比相当の所定値KBSM
0より小さいか否かを判別する(ステップS847)。
この答が否定(NO)、即ちKBSM≧KBSM0のと
きには、前記ステップS848に進み、肯定(YE
S)、即ちKBSM<KBSM0のときには、アクセル
ペダルの踏み込みが大きいか否か、即ちスロットル弁開
度θTHの開弁方向の変化量(今回検出値−前回検出
値)が加速側の所定値(例えば4度)より大きいか否か
を判別する(ステップS851)。ステップS851の
答が肯定(YES)のときには、前記ステップS845
と同様にtmKCMに所定時間tmKCMHLDをセッ
トしてこれをスタートさせ(ステップS853)、KB
S値を理論空燃比相当の所定値KBSM0に設定して
(ステップS858)、本処理を終了する。
O)、即ちエンジンが所定高負荷運転状態にないときに
は、基準値KBSMが理論空燃比相当の所定値KBSM
0より小さいか否かを判別する(ステップS847)。
この答が否定(NO)、即ちKBSM≧KBSM0のと
きには、前記ステップS848に進み、肯定(YE
S)、即ちKBSM<KBSM0のときには、アクセル
ペダルの踏み込みが大きいか否か、即ちスロットル弁開
度θTHの開弁方向の変化量(今回検出値−前回検出
値)が加速側の所定値(例えば4度)より大きいか否か
を判別する(ステップS851)。ステップS851の
答が肯定(YES)のときには、前記ステップS845
と同様にtmKCMに所定時間tmKCMHLDをセッ
トしてこれをスタートさせ(ステップS853)、KB
S値を理論空燃比相当の所定値KBSM0に設定して
(ステップS858)、本処理を終了する。
【0071】前記ステップS851の答が否定(N
O)、即ちスロットル弁の開弁方向の変化量が小さいと
きには、吸気管内絶対圧PBAの変化量(今回検出値−
前回検出値)DPBが所定値DPBKCR(例えば80
mmHg)より大きいか否かを判別する(ステップS8
52)。この答が肯定(YES)、即ちDPB>DPB
KCRのときには前記ステップS853に進み、否定
(NO)、即ちDPB≦DPBKCRのときには、前記
タイマtmKCMのタイマ値が「0」か否かを判別する
(ステップS854)。ステップS854の答が否定
(NO)、即ちtmKCM>0のときには、前記ステッ
プS858に進み、肯定(YES)のときは前記ステッ
プS856に進む。
O)、即ちスロットル弁の開弁方向の変化量が小さいと
きには、吸気管内絶対圧PBAの変化量(今回検出値−
前回検出値)DPBが所定値DPBKCR(例えば80
mmHg)より大きいか否かを判別する(ステップS8
52)。この答が肯定(YES)、即ちDPB>DPB
KCRのときには前記ステップS853に進み、否定
(NO)、即ちDPB≦DPBKCRのときには、前記
タイマtmKCMのタイマ値が「0」か否かを判別する
(ステップS854)。ステップS854の答が否定
(NO)、即ちtmKCM>0のときには、前記ステッ
プS858に進み、肯定(YES)のときは前記ステッ
プS856に進む。
【0072】以下、図9を参照して、図8のステップS
841における目標空燃比係数の基準値KBSMの算出
処理を説明する。図9は、図8のステップS841にお
ける目標空燃比係数の基準値KBSMの算出処理のフロ
ーチャートである。
841における目標空燃比係数の基準値KBSMの算出
処理を説明する。図9は、図8のステップS841にお
ける目標空燃比係数の基準値KBSMの算出処理のフロ
ーチャートである。
【0073】まず、ステップS901で、エバポパージ
補正係数KEVAPに基づくリーンバーン制御の実行が
許可されているか否かを判別する。このエバポパージ補
正係数KEVAPに基づくリーンバーン制御の実行は、
エバポパージ補正係数KEVAPが所定値より大きく蒸
発燃料のパージ量が少ないときに許可され、エバポパー
ジ補正係数KEVAPが所定値より小さく蒸発燃料のパ
ージ量が多いときは許可されないものである。
補正係数KEVAPに基づくリーンバーン制御の実行が
許可されているか否かを判別する。このエバポパージ補
正係数KEVAPに基づくリーンバーン制御の実行は、
エバポパージ補正係数KEVAPが所定値より大きく蒸
発燃料のパージ量が少ないときに許可され、エバポパー
ジ補正係数KEVAPが所定値より小さく蒸発燃料のパ
ージ量が多いときは許可されないものである。
【0074】ステップS901で、エバポパージ補正係
数KEVAPに基づくリーンバーン制御の実行が許可さ
れているときは、ステップS902で失火検知に基づく
リーンバーン制御の実行が許可されているか否かを判別
する。この失火検知に基づくリーンバーン制御の実行
は、エンジンが失火していない場合はリーンバーン制御
の実行が許可され、エンジンが失火している場合は燃焼
不安定状態であると判断してリーンバーン制御の実行が
許可されないものである。
数KEVAPに基づくリーンバーン制御の実行が許可さ
れているときは、ステップS902で失火検知に基づく
リーンバーン制御の実行が許可されているか否かを判別
する。この失火検知に基づくリーンバーン制御の実行
は、エンジンが失火していない場合はリーンバーン制御
の実行が許可され、エンジンが失火している場合は燃焼
不安定状態であると判断してリーンバーン制御の実行が
許可されないものである。
【0075】ステップS902で失火検知に基づくリー
ンバーン制御の実行が許可されている場合は、ステップ
S903に進み、エンジン水温TWが低温側水温TWL
EAN5より高いか否かを判別する。ステップS903
でTW>TWLEAN5である場合は、ステップS90
4に進み、エンジン水温TWが高温側水温TWLEAN
より低いか否かを判別する。
ンバーン制御の実行が許可されている場合は、ステップ
S903に進み、エンジン水温TWが低温側水温TWL
EAN5より高いか否かを判別する。ステップS903
でTW>TWLEAN5である場合は、ステップS90
4に進み、エンジン水温TWが高温側水温TWLEAN
より低いか否かを判別する。
【0076】ステップS904で、TW≧TWLEAN
である場合はステップS906に進み、低水温時の目標
空燃比係数KTWLAFを初期化し1.0とする。
である場合はステップS906に進み、低水温時の目標
空燃比係数KTWLAFを初期化し1.0とする。
【0077】ステップS904で、TW<TWLEAN
である場合は、ステップS905に進み、シフト位置判
定値NGRが5速であるか否かを判別する。ステップS
905でNGR=5のときは、エンジン水温TWが高温
側水温TWLEANより低くてもエンジンの燃焼が安定
するものと判断して、低水温時の目標空燃比係数KTW
LAFを初期化し1.0とする(ステップS906)。
である場合は、ステップS905に進み、シフト位置判
定値NGRが5速であるか否かを判別する。ステップS
905でNGR=5のときは、エンジン水温TWが高温
側水温TWLEANより低くてもエンジンの燃焼が安定
するものと判断して、低水温時の目標空燃比係数KTW
LAFを初期化し1.0とする(ステップS906)。
【0078】次に、ステップS907で、後述する図1
0の処理によりKBSMマップの検索処理を行い、ステ
ップS908に進む。
0の処理によりKBSMマップの検索処理を行い、ステ
ップS908に進む。
【0079】ステップS901でエバポパージ補正係数
KEVAPに基づくリーンバーン制御の実行が許可され
ていない場合、ステップS902で失火検知に基づくリ
ーンバーン制御の実行が許可されていない場合、ステッ
プS903でTW≦TWLWAN5である場合、又はス
テップS905でNGR≠5である場合は、ステップS
909に進み、低水温時の目標空燃比係数KTWLAF
テーブルを検索して、低水温時の目標空燃比係数KTW
LAFを決定する。ここに、KTWLAFテーブルで
は、エンジン水温TWが高いほどKTWLAF値が低く
なるように設定されている。
KEVAPに基づくリーンバーン制御の実行が許可され
ていない場合、ステップS902で失火検知に基づくリ
ーンバーン制御の実行が許可されていない場合、ステッ
プS903でTW≦TWLWAN5である場合、又はス
テップS905でNGR≠5である場合は、ステップS
909に進み、低水温時の目標空燃比係数KTWLAF
テーブルを検索して、低水温時の目標空燃比係数KTW
LAFを決定する。ここに、KTWLAFテーブルで
は、エンジン水温TWが高いほどKTWLAF値が低く
なるように設定されている。
【0080】次いで、ステップS910において、ステ
ップS909で検索されたKTWLAF値が理論空燃比
相当の所定値KBSM0より小さいか否かを判別する。
ステップS910で、KTWLA≧KBSM0である場
合は、基準値KBSMをKTWLAF値に設定し(ステ
ップS911)、KTWLAF<KBSM0である場合
は、基準値KBSMを理論空燃比相当の所定値KBSM
0に設定して(ステップS912)、ステップS908
に進む。
ップS909で検索されたKTWLAF値が理論空燃比
相当の所定値KBSM0より小さいか否かを判別する。
ステップS910で、KTWLA≧KBSM0である場
合は、基準値KBSMをKTWLAF値に設定し(ステ
ップS911)、KTWLAF<KBSM0である場合
は、基準値KBSMを理論空燃比相当の所定値KBSM
0に設定して(ステップS912)、ステップS908
に進む。
【0081】ステップS908では、エンジン1がアイ
ドル運転中か否かを判別し、アイドル中でなければ、エ
ンジン1がアイドル運転状態になってからの所定の経過
時間をカウントするタイマtmKBSIDLの値をセッ
トして(ステップS912)、本処理を終了する。
ドル運転中か否かを判別し、アイドル中でなければ、エ
ンジン1がアイドル運転状態になってからの所定の経過
時間をカウントするタイマtmKBSIDLの値をセッ
トして(ステップS912)、本処理を終了する。
【0082】ステップS908で、エンジン1がアイド
ル状態にある場合は、ステップS913に進み、エンジ
ン水温TWが高温側水温TWLEAN以上か否かを判別
する。ステップS913でTW≧TWLEANである場
合は、ステップS914に進み、タイマtmKBSID
Lの値が0であるか否か判別する。ステップS914
で、タイマtmKBSIDLの値が0の場合は基準値K
BSMにアイドル状態におけるリーン側目標空燃比KB
SIDLを設定し(ステップS915)、タイマtmK
BSIDLの値が0でなく所定の経過時間が経過してい
ない場合は基準値KBSMにアイドル状態におけるリッ
チ側目標空燃比KBSIDLRを設定して(ステップS
916)、本処理を終了する。
ル状態にある場合は、ステップS913に進み、エンジ
ン水温TWが高温側水温TWLEAN以上か否かを判別
する。ステップS913でTW≧TWLEANである場
合は、ステップS914に進み、タイマtmKBSID
Lの値が0であるか否か判別する。ステップS914
で、タイマtmKBSIDLの値が0の場合は基準値K
BSMにアイドル状態におけるリーン側目標空燃比KB
SIDLを設定し(ステップS915)、タイマtmK
BSIDLの値が0でなく所定の経過時間が経過してい
ない場合は基準値KBSMにアイドル状態におけるリッ
チ側目標空燃比KBSIDLRを設定して(ステップS
916)、本処理を終了する。
【0083】次に、図10を参照して、図9のステップ
S907における目標空燃比係数の基準値KBSMのマ
ップ検索処理を説明する。
S907における目標空燃比係数の基準値KBSMのマ
ップ検索処理を説明する。
【0084】図10は、図9のステップS907におけ
る目標空燃比係数の基準値KBSMのマップ検索処理の
フローチャートである。
る目標空燃比係数の基準値KBSMのマップ検索処理の
フローチャートである。
【0085】まず、ステップS1001で、吸気管内絶
対圧PBAとエンジン回転数NEとを参照して、目標空
燃比係数の基準値KBSMをKBSMマップから検索す
る。
対圧PBAとエンジン回転数NEとを参照して、目標空
燃比係数の基準値KBSMをKBSMマップから検索す
る。
【0086】次いで、ステップS1002で、後述する
図11の処理によりリーンバーン制御の実行を許可する
ことを「0」で示すリーンバーン制御実行許可フラグF
KBSMJGの決定を行う。
図11の処理によりリーンバーン制御の実行を許可する
ことを「0」で示すリーンバーン制御実行許可フラグF
KBSMJGの決定を行う。
【0087】次に、ステップS1004で、上記ステッ
プS1002で決定されたフラグFKBSMJGが
「1」であるか否かを判別する。ステップS1004で
フラグFKBSJGが「0」であり、リーンバーン制御
の実行が許可されている場合は、ステップS1005に
進み、後述する図16の処理において設定される、目標
空燃比が所定値(KCMDFBH)までリッチ化された
ことを「1」で示す空燃比リッチ化フラグFMSFBR
ICHが「1」であるか否かを判別する。
プS1002で決定されたフラグFKBSMJGが
「1」であるか否かを判別する。ステップS1004で
フラグFKBSJGが「0」であり、リーンバーン制御
の実行が許可されている場合は、ステップS1005に
進み、後述する図16の処理において設定される、目標
空燃比が所定値(KCMDFBH)までリッチ化された
ことを「1」で示す空燃比リッチ化フラグFMSFBR
ICHが「1」であるか否かを判別する。
【0088】ステップS1005で、空燃比リッチ化フ
ラグFMSFBRICHが「1」であるときは、ステッ
プS1006に進み、シフト位置が4速を越えるかるか
否かを判別する。ステップS1006でシフト位置が4
速を越える場合、又はステップS1005でフラグFM
SFBRICHが「0」である場合は、ステップS10
07に進み、シフト位置が3速を越えるか否かを判別す
る。
ラグFMSFBRICHが「1」であるときは、ステッ
プS1006に進み、シフト位置が4速を越えるかるか
否かを判別する。ステップS1006でシフト位置が4
速を越える場合、又はステップS1005でフラグFM
SFBRICHが「0」である場合は、ステップS10
07に進み、シフト位置が3速を越えるか否かを判別す
る。
【0089】ステップS1004でフラグFKBSMJ
Gが「1」であり、リーンバーン制御が許可されていな
い場合、ステップS1006でシフト位置が4速以下で
ある場合、又はステップS1007でシフト位置が3速
以下である場合は、基準値KBSMを理論空燃比相当の
所定値KMSM0に設定して(ステップS1008)、
本処理を終了する。また、ステップS1007でシフト
位置が3速を越えるときは直ちに本処理を終了する。な
お、ステップS1006で、シフト位置が4速を越えて
いれば、ステップS1007の判定で、当然にシフト位
置が3速を越えるものと判別される。
Gが「1」であり、リーンバーン制御が許可されていな
い場合、ステップS1006でシフト位置が4速以下で
ある場合、又はステップS1007でシフト位置が3速
以下である場合は、基準値KBSMを理論空燃比相当の
所定値KMSM0に設定して(ステップS1008)、
本処理を終了する。また、ステップS1007でシフト
位置が3速を越えるときは直ちに本処理を終了する。な
お、ステップS1006で、シフト位置が4速を越えて
いれば、ステップS1007の判定で、当然にシフト位
置が3速を越えるものと判別される。
【0090】図10の処理によれば、ステップS100
5において、リーンフィードバック制御中におけるKC
MD値のリッチ側への補正量が所定値より大きい場合
(FMSFBRICH=1)、シフト位置が4速を越え
る場合にのみ(通常は3速)、空燃比のリーンフィード
バック制御を実行するものとし、燃焼の安定する高シフ
ト位置でのみリーンフィードバック制御を実行するよう
にして、不必要なNOxの発生を回避しようとするもの
である。
5において、リーンフィードバック制御中におけるKC
MD値のリッチ側への補正量が所定値より大きい場合
(FMSFBRICH=1)、シフト位置が4速を越え
る場合にのみ(通常は3速)、空燃比のリーンフィード
バック制御を実行するものとし、燃焼の安定する高シフ
ト位置でのみリーンフィードバック制御を実行するよう
にして、不必要なNOxの発生を回避しようとするもの
である。
【0091】次に、図11を参照して、図10のステッ
プS1002におけるリーンバーン制御実行許可フラグ
FKBSMJGの決定処理を説明する。図11は、図1
0のステップS1002におけるリーンバーン制御実行
許可フラグFKBSMJGの決定処理のフローチャート
である。
プS1002におけるリーンバーン制御実行許可フラグ
FKBSMJGの決定処理を説明する。図11は、図1
0のステップS1002におけるリーンバーン制御実行
許可フラグFKBSMJGの決定処理のフローチャート
である。
【0092】まず、ステップS1101で目標空燃比係
数KCMDが理論空燃比相当の所定値KCMD0より小
さいか否かを判別する。ステップS1101でKCMD
<KCMD0、すなわち燃焼状態がリーン状態である場
合は、ステップS1102に進み、後述するステップS
1109,S1110で設定されるエンジン負荷フラグ
FPBKBSが「1」であるか否かを判別する。
数KCMDが理論空燃比相当の所定値KCMD0より小
さいか否かを判別する。ステップS1101でKCMD
<KCMD0、すなわち燃焼状態がリーン状態である場
合は、ステップS1102に進み、後述するステップS
1109,S1110で設定されるエンジン負荷フラグ
FPBKBSが「1」であるか否かを判別する。
【0093】ステップS1101でKCMD≧KCMD
0、すなわち燃焼状態がリッチ状態である場合、又はス
テップS1102でフラグFPBKBSが「1」である
場合は、ステップS1103に進み、図12に示すマッ
プにおける吸気管内絶対圧PBKBSLテーブルより低
負荷側吸気管内絶対圧PBKBSLを検索してステップ
S1108に進む。ステップS1102で、フラグFP
BKBSが「0」である場合は、ステップS1104に
進み、図12に示す吸気管内絶対圧PBKBSHテーブ
ルより高負荷側吸気管内絶対圧PBKBSHを検索す
る。
0、すなわち燃焼状態がリッチ状態である場合、又はス
テップS1102でフラグFPBKBSが「1」である
場合は、ステップS1103に進み、図12に示すマッ
プにおける吸気管内絶対圧PBKBSLテーブルより低
負荷側吸気管内絶対圧PBKBSLを検索してステップ
S1108に進む。ステップS1102で、フラグFP
BKBSが「0」である場合は、ステップS1104に
進み、図12に示す吸気管内絶対圧PBKBSHテーブ
ルより高負荷側吸気管内絶対圧PBKBSHを検索す
る。
【0094】図12は、吸気管内絶対圧PBKBS及び
リーンバーン制御実行許可フラグFKBSMJGを決定
するマップである。図12において、横軸はエンジン回
転数NEであり、縦軸はエンジン負荷を示す吸気管内絶
対圧PBAである。エンジン回転数NEが下限エンジン
回転数NEKBSL及び上限エンジン回転数NEKBS
Hの間の領域において、吸気管内絶対圧PBAが低負荷
側吸気管内絶対圧PBKBSL以下の領域はリーンバー
ン許可領域であり、低負荷側吸気管内絶対圧PBKBS
L値と高負荷側吸気管内絶対圧PBKBSHとの間の領
域はヒステリシス領域である。また、エンジン回転数N
Eが下限エンジン回転数NEKBSL以下、エンジン回
転数NEが上限エンジン回転数NEKBSL以上、吸気
管内絶対圧PBAが高負荷側吸気管内絶対圧PBKBS
H以上の領域はリーンバーン制御実行禁止領域である。
本マップで、低負荷側吸気管内絶対圧PBKBSL値及
び高負荷側吸気管内絶対圧PBKBSHのそれぞれは、
エンジン回転数NEが高回転になるほど小さくなるよう
に設定されている。また、下限エンジン回転数NEKB
SL及び上限エンジン回転数NEKBSHのそれぞれは
ヒステリシス付きである。
リーンバーン制御実行許可フラグFKBSMJGを決定
するマップである。図12において、横軸はエンジン回
転数NEであり、縦軸はエンジン負荷を示す吸気管内絶
対圧PBAである。エンジン回転数NEが下限エンジン
回転数NEKBSL及び上限エンジン回転数NEKBS
Hの間の領域において、吸気管内絶対圧PBAが低負荷
側吸気管内絶対圧PBKBSL以下の領域はリーンバー
ン許可領域であり、低負荷側吸気管内絶対圧PBKBS
L値と高負荷側吸気管内絶対圧PBKBSHとの間の領
域はヒステリシス領域である。また、エンジン回転数N
Eが下限エンジン回転数NEKBSL以下、エンジン回
転数NEが上限エンジン回転数NEKBSL以上、吸気
管内絶対圧PBAが高負荷側吸気管内絶対圧PBKBS
H以上の領域はリーンバーン制御実行禁止領域である。
本マップで、低負荷側吸気管内絶対圧PBKBSL値及
び高負荷側吸気管内絶対圧PBKBSHのそれぞれは、
エンジン回転数NEが高回転になるほど小さくなるよう
に設定されている。また、下限エンジン回転数NEKB
SL及び上限エンジン回転数NEKBSHのそれぞれは
ヒステリシス付きである。
【0095】ステップS1104の後、ステップS11
05に進み、車速VPLSが所定値VKBSMより小さ
いかか否かを判別する。この判別は、ヒステリシス付き
である。ステップS1105でVPLS<VKBSMで
あって低車速の場合は、ステップS1106に進み吸気
管内絶対圧PBKBSが上限値PKBHLMTより大き
いか否かを判別する。ステップS1106でPBKBS
>PKBHLMTである場合は、吸気管内絶対圧PBK
BSに上限値PKBHLMTを設定して(ステップS1
107)、ステップS1108に進む。
05に進み、車速VPLSが所定値VKBSMより小さ
いかか否かを判別する。この判別は、ヒステリシス付き
である。ステップS1105でVPLS<VKBSMで
あって低車速の場合は、ステップS1106に進み吸気
管内絶対圧PBKBSが上限値PKBHLMTより大き
いか否かを判別する。ステップS1106でPBKBS
>PKBHLMTである場合は、吸気管内絶対圧PBK
BSに上限値PKBHLMTを設定して(ステップS1
107)、ステップS1108に進む。
【0096】ステップS1105で、VPLS≧VKB
SM、又はステップS1106でPBKBS≦PKBH
LMTである場合、ステップS1107をスキップして
ステップS1108に進む。
SM、又はステップS1106でPBKBS≦PKBH
LMTである場合、ステップS1107をスキップして
ステップS1108に進む。
【0097】次いで、ステップS1108で、吸気管内
絶対圧PBAがPBKBS値より大きいか否かを判別
し、PBA>PBKBSである場合は、吸気管内絶対圧
PBKBSが高負荷であることを「1」で示すエンジン
負荷フラグFPBKBSを「1」に設定し(ステップS
1109)、PBA≦PBKBSである場合は、エンジ
ン負荷フラグFPBKBSを「0」に設定して(ステッ
プS1110)、ステップS1111に進む。
絶対圧PBAがPBKBS値より大きいか否かを判別
し、PBA>PBKBSである場合は、吸気管内絶対圧
PBKBSが高負荷であることを「1」で示すエンジン
負荷フラグFPBKBSを「1」に設定し(ステップS
1109)、PBA≦PBKBSである場合は、エンジ
ン負荷フラグFPBKBSを「0」に設定して(ステッ
プS1110)、ステップS1111に進む。
【0098】ステップS1111では、後述する図16
の処理により設定される前記空燃比リッチ化フラグFS
FBRICHが「1」であるか否かを判別する。ステッ
プS1111において、空燃比リッチ化フラグFSFB
RICHが「0」の場合はステップS1113に進み、
エンジン回転数NEが下限エンジン回転数NEKBSL
より大きいか否かを判別する。ステップS1111で空
燃比リッチ化フラグFSFBRICHが「1」の場合
は、エンジン回転数NEが、下限エンジン回転数NEK
BSL(例えば1700rpm)より若干高い値に設定
された、リーンバーン許可領域の高回転側エンジン回転
数NEKBSMF(例えば2500rpm)より大きい
か否かを判別し(ステップS1112)、大きい場合に
はステップS1113に進む。
の処理により設定される前記空燃比リッチ化フラグFS
FBRICHが「1」であるか否かを判別する。ステッ
プS1111において、空燃比リッチ化フラグFSFB
RICHが「0」の場合はステップS1113に進み、
エンジン回転数NEが下限エンジン回転数NEKBSL
より大きいか否かを判別する。ステップS1111で空
燃比リッチ化フラグFSFBRICHが「1」の場合
は、エンジン回転数NEが、下限エンジン回転数NEK
BSL(例えば1700rpm)より若干高い値に設定
された、リーンバーン許可領域の高回転側エンジン回転
数NEKBSMF(例えば2500rpm)より大きい
か否かを判別し(ステップS1112)、大きい場合に
はステップS1113に進む。
【0099】ステップS1113で、NE>NEKBS
Lである場合は、ステップS1114に進み、エンジン
回転数NEが上限エンジン回転数NEKBSHより小さ
いか否かを判別する。ステップS1114で、NE<N
EKBSHである場合はステップS1115に進み、ス
テップS1109,S1110で設定されたエンジン負
荷フラグFPBKBSが「1」であるか否かを判別す
る。ここで、ステップS1112、ステップS111
3、ステップS1114の判別はヒステリシス付きであ
る。
Lである場合は、ステップS1114に進み、エンジン
回転数NEが上限エンジン回転数NEKBSHより小さ
いか否かを判別する。ステップS1114で、NE<N
EKBSHである場合はステップS1115に進み、ス
テップS1109,S1110で設定されたエンジン負
荷フラグFPBKBSが「1」であるか否かを判別す
る。ここで、ステップS1112、ステップS111
3、ステップS1114の判別はヒステリシス付きであ
る。
【0100】ステップS1115で、エンジン負荷フラ
グFPBKBSが「0」である場合は、リーンバーン制
御実行許可フラグFKBSMJGを「0」に設定する。
グFPBKBSが「0」である場合は、リーンバーン制
御実行許可フラグFKBSMJGを「0」に設定する。
【0101】一方、ステップS1112でNE≦NEK
BSMFである場合、ステップS1113でNE≦NE
KBSLである場合、ステップS1114でNE≧NE
KBSHである場合、又はステップS1115でエンジ
ン負荷フラグFPBKBSが「1」である場合、リーン
バーン制御実行許可フラグFKBSMJGを「1」に設
定する。
BSMFである場合、ステップS1113でNE≦NE
KBSLである場合、ステップS1114でNE≧NE
KBSHである場合、又はステップS1115でエンジ
ン負荷フラグFPBKBSが「1」である場合、リーン
バーン制御実行許可フラグFKBSMJGを「1」に設
定する。
【0102】図11の処理によれば、図10のステップ
S1005と同様に、ステップS1111において、リ
ーンフィードバック制御中におけるKCMD値のリッチ
側への補正量が所定値より大きい場合(FMSFBRI
CH=1)、エンジン回転数NEが通常の場合よりも大
きい下側閾値NEKBSMFを越える場合にのみ、空燃
比のリーンフィードバック制御を実行するものとし、燃
焼が安定する高回転域においてのみ空燃比のリーンフィ
ードバック制御を実行するようにして、不必要なNOx
の発生を回避しようとするものである。
S1005と同様に、ステップS1111において、リ
ーンフィードバック制御中におけるKCMD値のリッチ
側への補正量が所定値より大きい場合(FMSFBRI
CH=1)、エンジン回転数NEが通常の場合よりも大
きい下側閾値NEKBSMFを越える場合にのみ、空燃
比のリーンフィードバック制御を実行するものとし、燃
焼が安定する高回転域においてのみ空燃比のリーンフィ
ードバック制御を実行するようにして、不必要なNOx
の発生を回避しようとするものである。
【0103】以下、図13を参照して、図7のステップ
S638におけるKCMD値のリミット処理を詳細に説
明する。ここに、図13は、図7のステップS638に
おけるKCMD値のリミット処理のフローチャートであ
る。
S638におけるKCMD値のリミット処理を詳細に説
明する。ここに、図13は、図7のステップS638に
おけるKCMD値のリミット処理のフローチャートであ
る。
【0104】まず、ステップS1310でKCMD値の
変化量DKCMDを今回算出値KCMD(n)と前回算
出値KCMD(n−1)との差(KCMD(n)−KC
MD(n−1))として算出し、ステップS1311で
は、後述する図15の処理により、回転変動量DMSS
LBに応じたKCMDの補正処理の実行を許可すること
を「1」で示す目標空燃比係数補正実行フラグFSLB
FBの決定処理を行う。
変化量DKCMDを今回算出値KCMD(n)と前回算
出値KCMD(n−1)との差(KCMD(n)−KC
MD(n−1))として算出し、ステップS1311で
は、後述する図15の処理により、回転変動量DMSS
LBに応じたKCMDの補正処理の実行を許可すること
を「1」で示す目標空燃比係数補正実行フラグFSLB
FBの決定処理を行う。
【0105】次いで、ステップS1312で、目標空燃
比係数補正実行フラグFSLBFBが「1」であるか否
かを判別する。ステップS1312でフラグFSLBF
Bが「0」である場合は、燃焼が安定であるものとし
て、ステップS1322で、目標空燃比係数の前回算出
値KCMD(n−1)が理論空燃比相当の所定値KCM
D0より小さいか否かを判定する。その答が肯定(YE
S)、すなわちKCMD(n−1)<KCMD0であっ
て、KCMD値が理論空燃比よりリーン側にあるときに
は、前回算出値KCMD(n−1)がリーン側所定値K
CMDX(例えばA/F=17相当)より大きいか否か
を判別する(ステップS1325)。この答が肯定(Y
ES)、すなわち、KCMD(n−1)>KCMDXの
ときには、目標空燃比のリーン方向の変更速度に相当す
る減少変数DKC2を第1のリーン側減少所定値DKC
2L(例えば、A/F=0.3相当)に設定し(ステッ
プS1326)、ステップS1328に進む、減少変数
DKC2は、後述するステップS1347におけるKC
MD値の今回値KCMD(n)の算出式に適用され、K
CMD値を減少させるものである。ステップS1325
の答が否定(NO)、すなわちKCMD(n−1)≦K
CMDXのときには、減少変数DKC2を前記第1のリ
ーン側減少所定値より小さい第2のリーン側減少所定値
DKC2M(例えばA/F=0.1相当の値)に設定し
(ステップS1327)、ステップS1328に進む。
比係数補正実行フラグFSLBFBが「1」であるか否
かを判別する。ステップS1312でフラグFSLBF
Bが「0」である場合は、燃焼が安定であるものとし
て、ステップS1322で、目標空燃比係数の前回算出
値KCMD(n−1)が理論空燃比相当の所定値KCM
D0より小さいか否かを判定する。その答が肯定(YE
S)、すなわちKCMD(n−1)<KCMD0であっ
て、KCMD値が理論空燃比よりリーン側にあるときに
は、前回算出値KCMD(n−1)がリーン側所定値K
CMDX(例えばA/F=17相当)より大きいか否か
を判別する(ステップS1325)。この答が肯定(Y
ES)、すなわち、KCMD(n−1)>KCMDXの
ときには、目標空燃比のリーン方向の変更速度に相当す
る減少変数DKC2を第1のリーン側減少所定値DKC
2L(例えば、A/F=0.3相当)に設定し(ステッ
プS1326)、ステップS1328に進む、減少変数
DKC2は、後述するステップS1347におけるKC
MD値の今回値KCMD(n)の算出式に適用され、K
CMD値を減少させるものである。ステップS1325
の答が否定(NO)、すなわちKCMD(n−1)≦K
CMDXのときには、減少変数DKC2を前記第1のリ
ーン側減少所定値より小さい第2のリーン側減少所定値
DKC2M(例えばA/F=0.1相当の値)に設定し
(ステップS1327)、ステップS1328に進む。
【0106】ステップS1328ではエンジンがアイド
ル状態にあるか否かを判別し、その答が肯定(YES)
のときには、目標空燃比のリッチ方向への変更速度に相
当する増加変数DKC1をアイドル用変更速度に相当す
るアイドル用増加所定値DKC1IDL(例えばA/F
=2.0相当の値)に設定し(ステップS1332)、
ステップS1343に進む。増加変数DKC1は、後述
するステップS1345におけるKCMD値の今回値K
CMD(n)の算出式に適用され、KCMD値を増加さ
せるものである。ステップS1328の答が否定(N
O)、すなわちエンジンがアイドル状態にないときに
は、エンジン回転数NEが所定回転数NKCMD(例え
ば1800rpm)より低いか否かを判別する(ステッ
プS1329)。この答が肯定(YES)のときには、
増加変数DKC1を前記アイドル用増加所定値DKC1
IDLより小さい低回転用増加所定値DKC1M1H
(例えば、A/F=1.0相当の値)に設定する(ステ
ップS1330)一方、この答が否定(NO)のときに
は、増加変数DKC1を前記低回転用増加所定値DKC
1M1Hより小さい高回転用増加所定値DKC1M1L
(例えばA/F=0.05相当の値)に設定し(ステッ
プS1331)、ステップS1343に進む。
ル状態にあるか否かを判別し、その答が肯定(YES)
のときには、目標空燃比のリッチ方向への変更速度に相
当する増加変数DKC1をアイドル用変更速度に相当す
るアイドル用増加所定値DKC1IDL(例えばA/F
=2.0相当の値)に設定し(ステップS1332)、
ステップS1343に進む。増加変数DKC1は、後述
するステップS1345におけるKCMD値の今回値K
CMD(n)の算出式に適用され、KCMD値を増加さ
せるものである。ステップS1328の答が否定(N
O)、すなわちエンジンがアイドル状態にないときに
は、エンジン回転数NEが所定回転数NKCMD(例え
ば1800rpm)より低いか否かを判別する(ステッ
プS1329)。この答が肯定(YES)のときには、
増加変数DKC1を前記アイドル用増加所定値DKC1
IDLより小さい低回転用増加所定値DKC1M1H
(例えば、A/F=1.0相当の値)に設定する(ステ
ップS1330)一方、この答が否定(NO)のときに
は、増加変数DKC1を前記低回転用増加所定値DKC
1M1Hより小さい高回転用増加所定値DKC1M1L
(例えばA/F=0.05相当の値)に設定し(ステッ
プS1331)、ステップS1343に進む。
【0107】ステップS1343では、前記KCMD値
の変化量DKCMDが負の値か否かを判別し、その答が
肯定(YES)のとき、すなわちKCMD値が減少方向
に変化したときには、偏差DKCMDの絶対値が前記減
少変数DKC2より小さいか否かを判別する(ステップ
S1346)。ステップS1346の答が否定(N
O)、すなわち|DKCMD|≧DKC2のときには、
今回値KCMD(n)を(KCMD(n−1)−DKC
2)に変更する(ステップS1347)一方、ステップ
S1346の答が肯定(YES)のときには直ちにステ
ップS1348に進む。
の変化量DKCMDが負の値か否かを判別し、その答が
肯定(YES)のとき、すなわちKCMD値が減少方向
に変化したときには、偏差DKCMDの絶対値が前記減
少変数DKC2より小さいか否かを判別する(ステップ
S1346)。ステップS1346の答が否定(N
O)、すなわち|DKCMD|≧DKC2のときには、
今回値KCMD(n)を(KCMD(n−1)−DKC
2)に変更する(ステップS1347)一方、ステップ
S1346の答が肯定(YES)のときには直ちにステ
ップS1348に進む。
【0108】前記ステップS1343の答が否定(N
O)、すなわちDKCMD≧0であってKCMD値が増
加方向に変化したときには、変化量DKCMDの絶対値
が前記増加変数DKC1より小さいか否かを判別する
(ステップS1344)。ステップS1344の答が否
定(NO)、すなわち|DKCMD|≧DKC1のとき
には、今回値KCMD(n)を(KCMD(n−1)+
DKC1)に変更する(ステップS1345)一方、ス
テップS1344の答が肯定(YES)のときには直ち
にステップS1348に進む。
O)、すなわちDKCMD≧0であってKCMD値が増
加方向に変化したときには、変化量DKCMDの絶対値
が前記増加変数DKC1より小さいか否かを判別する
(ステップS1344)。ステップS1344の答が否
定(NO)、すなわち|DKCMD|≧DKC1のとき
には、今回値KCMD(n)を(KCMD(n−1)+
DKC1)に変更する(ステップS1345)一方、ス
テップS1344の答が肯定(YES)のときには直ち
にステップS1348に進む。
【0109】ステップS1343〜S1347によれ
ば、KCMD値の変化量DKCMDの絶対値が増加変数
DKC1又は減少変数DKC2より大きいときには、今
回値KCMD(n)をDKC1値又はDKC2値と前回
値KCMD(n−1)とによって算出した値に変更する
ことにより、KCMD値が急激に変化し、運転性が悪化
することを防止している。
ば、KCMD値の変化量DKCMDの絶対値が増加変数
DKC1又は減少変数DKC2より大きいときには、今
回値KCMD(n)をDKC1値又はDKC2値と前回
値KCMD(n−1)とによって算出した値に変更する
ことにより、KCMD値が急激に変化し、運転性が悪化
することを防止している。
【0110】一方、前記ステップS1322の答が否定
(NO)、すなわちKCMD(n−1)≧KCMD0で
あってKCMD値が理論空燃比相当の値又はそれよりリ
ッチ側にあるときには、ステップS1333〜S134
2において、減少変数DKC2又は増加変数DKC1の
設定を行って、前記ステップS1343に進む。
(NO)、すなわちKCMD(n−1)≧KCMD0で
あってKCMD値が理論空燃比相当の値又はそれよりリ
ッチ側にあるときには、ステップS1333〜S134
2において、減少変数DKC2又は増加変数DKC1の
設定を行って、前記ステップS1343に進む。
【0111】先ずステップS1333では前記WOTフ
ラグFWOTが値1であるか否かを判別し、その答が否
定(NO)のときには、増加変数DKC1を通常用増加
所定値DKC1M2(例えばA/F=0.3相当の値)
に設定し(ステップS1339)、ステップS1342
に進む。ステップS1333の答が肯定(YES)、す
なわちFWOT=1であってエンジンが所定の高負荷運
転状態にあるときには、前回値KCMD(n−1)がエ
ンジン水温TWの低温時に使用される低水温目標空燃比
係数KTWLAFより大きいか否かを判別する(ステッ
プS1334)。この答が否定(NO)のときには前記
ステップS1339に進み、肯定(YES)のときには
ECU5に接続されたセンサ等のシステムの故障を検知
しているか否かを判別する(ステップS1335)。ス
テップS1335の答が肯定(YES)、すなわち何ら
かの故障を検知しているときには、増加変数DKC1を
前記通常用増加所定値DKC1M2より大きい高水温用
増加所定値DKC1H(例えばA/F=0.8相当の
値)に設定し(ステップS1340)、ステップS13
42に進む。
ラグFWOTが値1であるか否かを判別し、その答が否
定(NO)のときには、増加変数DKC1を通常用増加
所定値DKC1M2(例えばA/F=0.3相当の値)
に設定し(ステップS1339)、ステップS1342
に進む。ステップS1333の答が肯定(YES)、す
なわちFWOT=1であってエンジンが所定の高負荷運
転状態にあるときには、前回値KCMD(n−1)がエ
ンジン水温TWの低温時に使用される低水温目標空燃比
係数KTWLAFより大きいか否かを判別する(ステッ
プS1334)。この答が否定(NO)のときには前記
ステップS1339に進み、肯定(YES)のときには
ECU5に接続されたセンサ等のシステムの故障を検知
しているか否かを判別する(ステップS1335)。ス
テップS1335の答が肯定(YES)、すなわち何ら
かの故障を検知しているときには、増加変数DKC1を
前記通常用増加所定値DKC1M2より大きい高水温用
増加所定値DKC1H(例えばA/F=0.8相当の
値)に設定し(ステップS1340)、ステップS13
42に進む。
【0112】前記ステップS1335の答が否定(N
O)、すなわち故障を検知していないときには、エンジ
ンが所定高負荷運転状態にあってエンジン水温TWが高
温時に「1」に設定される高水温リッチフラグFXWO
Tが「1」であるか否かを判別する(ステップS133
6)。この答が肯定(YES)のときには前記ステップ
S1340に進み、否定(NO)のときには、高速バル
ブタイミングが選択されているか否かを判別する(ステ
ップS1337)。ステップS1337の答が否定(N
O)、すなわち低速バルブタイミングが選択されている
ときには、スロットル弁が略全開状態のとき「1」に設
定されるスロットル弁全開フラグがFTHWOTが
「1」であるか否かを判別する(ステップS133
8)。ステップS1337又はS1338の答が肯定
(YES)のとき、すなわち高速バルブタイミング選択
時又は低速バルブタイミング選択時であってスロットル
弁が略全開状態のときには前記ステップS1339に進
む。ステップS1337及びS1338の答がともに否
定(NO)、すなわち低速バルブタイミング選択時であ
って、スロットル弁が略全開状態でないときには、増加
変数DKC1を前記通常用増加所定値DKC1M2より
小さい高負荷用増加所定値DKC1L(例えばA/F=
0.05相当の値)に設定し(ステップS1341)、
前記ステップS1342に進む。
O)、すなわち故障を検知していないときには、エンジ
ンが所定高負荷運転状態にあってエンジン水温TWが高
温時に「1」に設定される高水温リッチフラグFXWO
Tが「1」であるか否かを判別する(ステップS133
6)。この答が肯定(YES)のときには前記ステップ
S1340に進み、否定(NO)のときには、高速バル
ブタイミングが選択されているか否かを判別する(ステ
ップS1337)。ステップS1337の答が否定(N
O)、すなわち低速バルブタイミングが選択されている
ときには、スロットル弁が略全開状態のとき「1」に設
定されるスロットル弁全開フラグがFTHWOTが
「1」であるか否かを判別する(ステップS133
8)。ステップS1337又はS1338の答が肯定
(YES)のとき、すなわち高速バルブタイミング選択
時又は低速バルブタイミング選択時であってスロットル
弁が略全開状態のときには前記ステップS1339に進
む。ステップS1337及びS1338の答がともに否
定(NO)、すなわち低速バルブタイミング選択時であ
って、スロットル弁が略全開状態でないときには、増加
変数DKC1を前記通常用増加所定値DKC1M2より
小さい高負荷用増加所定値DKC1L(例えばA/F=
0.05相当の値)に設定し(ステップS1341)、
前記ステップS1342に進む。
【0113】ステップS1342では減少変数DKC2
をリッチ側減少所定値DKC2H(例えばA/F=0.
4相当の値)に設定し(ステップS1341)、前記ス
テップS1343に進む。
をリッチ側減少所定値DKC2H(例えばA/F=0.
4相当の値)に設定し(ステップS1341)、前記ス
テップS1343に進む。
【0114】ステップS1312で、フラグFSLBF
Bが「1」である場合は、後述する図16の処理により
DMSSLBによるKCMD補正処理を行い(ステップ
S1356)、ステップS1348に進む。
Bが「1」である場合は、後述する図16の処理により
DMSSLBによるKCMD補正処理を行い(ステップ
S1356)、ステップS1348に進む。
【0115】ステップS1348〜S1351では、K
CMD値のリミットチェックを行う。すなわちKCMD
値と所定の上下限値KCMLMH、KCMLMLとを比
較し(ステップS1348,S1349)、KCMD値
が上限値KCMLMHより大きいときには、KCMD値
をその上限値に設定し(ステップS1351)、KCM
D値が下限値KCMLMLより小さいときには、KCM
D値をその下限値に設定しする(ステップS135
0)。
CMD値のリミットチェックを行う。すなわちKCMD
値と所定の上下限値KCMLMH、KCMLMLとを比
較し(ステップS1348,S1349)、KCMD値
が上限値KCMLMHより大きいときには、KCMD値
をその上限値に設定し(ステップS1351)、KCM
D値が下限値KCMLMLより小さいときには、KCM
D値をその下限値に設定しする(ステップS135
0)。
【0116】次いでステップS1352で、後述する図
16の処理により回転変動の平均値DMSBAVE算出
処理を行い、本処理を終了する。
16の処理により回転変動の平均値DMSBAVE算出
処理を行い、本処理を終了する。
【0117】次に、図15を参照して、図13のステッ
プS1311のKCMD補正実行フラグFSLBFBの
決定処理を説明する。図15は、図13のステップS1
311のKCMD補正実行フラグFSLBFBの決定処
理のフローチャートである。
プS1311のKCMD補正実行フラグFSLBFBの
決定処理を説明する。図15は、図13のステップS1
311のKCMD補正実行フラグFSLBFBの決定処
理のフローチャートである。
【0118】まず、吸気管内絶対圧PBAを参照して、
燃焼不安定判定係数テーブルSLBALPHから燃焼不
安定判定係数αを検索する(ステップS1501)。こ
こで、係数αは高負荷ほど小さくなるように設定されて
いる。燃焼不安定側判定係数αは、後述する図16の処
理により、そのエンジン固有の燃焼変動検出特性に応じ
てKCMD値をリッチ側に補正するときの補正速度を設
定するための閾値である。
燃焼不安定判定係数テーブルSLBALPHから燃焼不
安定判定係数αを検索する(ステップS1501)。こ
こで、係数αは高負荷ほど小さくなるように設定されて
いる。燃焼不安定側判定係数αは、後述する図16の処
理により、そのエンジン固有の燃焼変動検出特性に応じ
てKCMD値をリッチ側に補正するときの補正速度を設
定するための閾値である。
【0119】次に、図13のステップS1310で設定
したDKCMD値が正であるか否かを判定する(ステッ
プS1502)。ステップS1502でDKCMD>0
であれば目標空燃比係数KCMDがリッチ側に変化して
いるので、DMSBAVE値の更新を許可することを
「1」で示すDMSBAVE更新フラグFAVEHLD
を「0」に設定すると共に(ステップS1503)、目
標空燃比係数補正実行フラグFSLBFBを「0」とし
(ステップS1504)、本処理を終了する。
したDKCMD値が正であるか否かを判定する(ステッ
プS1502)。ステップS1502でDKCMD>0
であれば目標空燃比係数KCMDがリッチ側に変化して
いるので、DMSBAVE値の更新を許可することを
「1」で示すDMSBAVE更新フラグFAVEHLD
を「0」に設定すると共に(ステップS1503)、目
標空燃比係数補正実行フラグFSLBFBを「0」とし
(ステップS1504)、本処理を終了する。
【0120】ステップS1502でDKCMD≦0であ
れば、ステップS1505に進み、目標空燃比係数補正
実行フラグFSLBFBが「1」であるか否かを判定す
る。初回はFSLBFB=0であり、この場合は、更に
目標空燃比係数KCMDの前回値KCMD(n−1)が
リーンバーン判定閾値KCMDZLより小さいか否かを
判別する(ステップS1506)。
れば、ステップS1505に進み、目標空燃比係数補正
実行フラグFSLBFBが「1」であるか否かを判定す
る。初回はFSLBFB=0であり、この場合は、更に
目標空燃比係数KCMDの前回値KCMD(n−1)が
リーンバーン判定閾値KCMDZLより小さいか否かを
判別する(ステップS1506)。
【0121】上記ステップS1506において、KCM
D(n−1)≧KCMDZLであるときは、リーンバー
ン中ではないので、上記ステップS1503以下の処理
に進み、KCMD(n−1)<KCMDZLであるとき
はリーンバーン中であると判断してステップS1507
に進み、前記偏差DKCMDの絶対値が、後述する図1
6のステップS1619で算出されるDKCMDX値よ
りも大きいか否かを判別する。
D(n−1)≧KCMDZLであるときは、リーンバー
ン中ではないので、上記ステップS1503以下の処理
に進み、KCMD(n−1)<KCMDZLであるとき
はリーンバーン中であると判断してステップS1507
に進み、前記偏差DKCMDの絶対値が、後述する図1
6のステップS1619で算出されるDKCMDX値よ
りも大きいか否かを判別する。
【0122】上記ステップS1507において、|DK
CMD|≦DKCMDXであるときは、目標空燃比係数
KCMD(n−1)が燃焼限界に近い値であるので、燃
焼変動の監視を開始するために、目標空燃比係数補正実
行フラグFSLBFBを「1」とし(ステップS150
8)、本処理を終了する。ステップS1507におい
て、|DKCMD|>DKCMDXであるときは、ステ
ップS1509に進み、上記偏差DKCMDの絶対値が
燃焼変動判定禁止閾値DKCMDX2よりも大きいか否
かを判別する。この燃焼変動判定禁止閾値DKCMDX
2はDKCMDX値よりも大きな値に設定され、空燃比
のリーンフィードバック制御の開始時点において、燃焼
不安定度に応じた目標空燃比係数のリッチ側への補正を
禁止するための閾値として機能する。
CMD|≦DKCMDXであるときは、目標空燃比係数
KCMD(n−1)が燃焼限界に近い値であるので、燃
焼変動の監視を開始するために、目標空燃比係数補正実
行フラグFSLBFBを「1」とし(ステップS150
8)、本処理を終了する。ステップS1507におい
て、|DKCMD|>DKCMDXであるときは、ステ
ップS1509に進み、上記偏差DKCMDの絶対値が
燃焼変動判定禁止閾値DKCMDX2よりも大きいか否
かを判別する。この燃焼変動判定禁止閾値DKCMDX
2はDKCMDX値よりも大きな値に設定され、空燃比
のリーンフィードバック制御の開始時点において、燃焼
不安定度に応じた目標空燃比係数のリッチ側への補正を
禁止するための閾値として機能する。
【0123】上記ステップS1509において、|DK
CMD|>DKCMDX2であれば、上記ステップS1
503に進み、|DKCMD|≦DKCMDX2であれ
ば、更に、回転変動量DMSSLBが燃焼不安定判定係
数αと後述する図17の処理で算出される回転変動平均
値DMSBAVEとを乗じた第2の燃焼不安定判定上側
閾値α×DMSBAVEより大きいか否かを判別する
(ステップS1510)。
CMD|>DKCMDX2であれば、上記ステップS1
503に進み、|DKCMD|≦DKCMDX2であれ
ば、更に、回転変動量DMSSLBが燃焼不安定判定係
数αと後述する図17の処理で算出される回転変動平均
値DMSBAVEとを乗じた第2の燃焼不安定判定上側
閾値α×DMSBAVEより大きいか否かを判別する
(ステップS1510)。
【0124】上記ステップS1510において、DMS
SLB>α×DMSBAVEであれば、燃焼が不安定で
あると判断して、上記ステップS1508に進み、DM
SSLB≦α×DMSBAVEであれば、更にDMSS
LB値が前記第1の燃焼不安定判定上側閾値MSLEA
N2より大きいか否かを判定する(ステップS151
1)。
SLB>α×DMSBAVEであれば、燃焼が不安定で
あると判断して、上記ステップS1508に進み、DM
SSLB≦α×DMSBAVEであれば、更にDMSS
LB値が前記第1の燃焼不安定判定上側閾値MSLEA
N2より大きいか否かを判定する(ステップS151
1)。
【0125】上記ステップS1511において、DMS
SLB>MSLEAN2であれば、燃焼が不安定である
と判断して、目標空燃比係数補正実行フラグFSLBF
Bを「1」に設定し(ステップS1508)、DMSS
LB≦MSLEAN2であれば、燃焼が安定していると
判断して、ステップS1503及びS1504を実行
し、本処理を終了する。
SLB>MSLEAN2であれば、燃焼が不安定である
と判断して、目標空燃比係数補正実行フラグFSLBF
Bを「1」に設定し(ステップS1508)、DMSS
LB≦MSLEAN2であれば、燃焼が安定していると
判断して、ステップS1503及びS1504を実行
し、本処理を終了する。
【0126】以上詳述したように、図15の処理によれ
ば、図18に示すように、DKCMD値がDKCMDX
2値よりリーン側に移行したときに(図15のステップ
S1509でNO)、DMSSLB値の監視を開始し
(同ステップS1510、S1511)、DMSSLB
値がMSLEAN2値又はα×DMSBAVE値を越え
たら、目標空燃比係数補正実行フラグFSLBFB=1
として(同ステップS1508)、KCMD値の補正処
理を開始する。ただし、DKCMD値の絶対値がDKC
MDX値より小さくなったときは(同ステップS150
7でNO)、DMSSLB値によらずにKCMD補正実
行フラグFSLBFBを「1」に設定する(同ステップ
S1508)。
ば、図18に示すように、DKCMD値がDKCMDX
2値よりリーン側に移行したときに(図15のステップ
S1509でNO)、DMSSLB値の監視を開始し
(同ステップS1510、S1511)、DMSSLB
値がMSLEAN2値又はα×DMSBAVE値を越え
たら、目標空燃比係数補正実行フラグFSLBFB=1
として(同ステップS1508)、KCMD値の補正処
理を開始する。ただし、DKCMD値の絶対値がDKC
MDX値より小さくなったときは(同ステップS150
7でNO)、DMSSLB値によらずにKCMD補正実
行フラグFSLBFBを「1」に設定する(同ステップ
S1508)。
【0127】また、ステップS1509において、偏差
DKCMDの絶対値が燃焼変動判定禁止閾値DKCMD
X2よりも大きいか否かを判別し、|DKCMD|>D
KCMDX2であるときには、目標空燃比係数補正実行
フラグFSLBFBを「0」に設定するので(ステップ
S1504)、この場合には、燃焼不安定による目標空
燃比係数KCMD値のリッチ側への補正処理が実行され
ない。このため、目標空燃比を理論空燃比からリーン目
標空燃比に移行していくときのトルク変化を燃焼不安定
と誤判定して、目標空燃比を誤ってリッチ側に補正して
しまうことがないので、目標空燃比をリーン目標空燃比
にスムースに移行することができる。
DKCMDの絶対値が燃焼変動判定禁止閾値DKCMD
X2よりも大きいか否かを判別し、|DKCMD|>D
KCMDX2であるときには、目標空燃比係数補正実行
フラグFSLBFBを「0」に設定するので(ステップ
S1504)、この場合には、燃焼不安定による目標空
燃比係数KCMD値のリッチ側への補正処理が実行され
ない。このため、目標空燃比を理論空燃比からリーン目
標空燃比に移行していくときのトルク変化を燃焼不安定
と誤判定して、目標空燃比を誤ってリッチ側に補正して
しまうことがないので、目標空燃比をリーン目標空燃比
にスムースに移行することができる。
【0128】以下、図16を参照して、図13のステッ
プS1356のDMSSLBによるKCMD補正処理を
説明する。この処理は前記CRK信号パルスの発生毎に
これと同期して実行される。図16は、図13のステッ
プS1356のDMSSLBによるKCMD補正処理の
フローチャートである。
プS1356のDMSSLBによるKCMD補正処理を
説明する。この処理は前記CRK信号パルスの発生毎に
これと同期して実行される。図16は、図13のステッ
プS1356のDMSSLBによるKCMD補正処理の
フローチャートである。
【0129】まず、ステップS1601で、DMSSL
B値がMSLEAN2値より大きいか否かを判別し、D
MSSLB>MSLEAN2であるときは、燃焼が不安
定であると判断して、KCMD値をリッチ側に補正する
が、この場合は、KCMD値に加算されるリッチ側補正
量DKCRを比較的大きな値の第1の補正量DKCR1
(例えばA/F=0.02相当の値)に設定する(ステ
ップS1602)。MSLEAN2値はエンジンの個体
差に係わらず、運転状態に応じて設定される燃焼不安定
判定用の閾値である。
B値がMSLEAN2値より大きいか否かを判別し、D
MSSLB>MSLEAN2であるときは、燃焼が不安
定であると判断して、KCMD値をリッチ側に補正する
が、この場合は、KCMD値に加算されるリッチ側補正
量DKCRを比較的大きな値の第1の補正量DKCR1
(例えばA/F=0.02相当の値)に設定する(ステ
ップS1602)。MSLEAN2値はエンジンの個体
差に係わらず、運転状態に応じて設定される燃焼不安定
判定用の閾値である。
【0130】上記ステップS1601で、DMSSLB
≦MSLEAN2であるときは、更に、DMSSLB値
がα×DMSBAVE値より大きいか否かを判別する
(ステップS1603)。DMSSLB>α×DMSB
AVEであれば、KCMD値をリッチ側に補正するが、
この場合には、上記リッチ側補正量DKCRを比較的小
さな値の第2の補正量DKCR2(例えばA/F=0.
01相当の値)(DKCR1>DKCR2)に設定する
(ステップS1604)。α×DMSBAVE値は、燃
焼が安定しているときに検出した回転変動の平均値DM
SBAVE値に、運転状態に応じて設定される係数αを
乗ずることにより算出される燃焼不安定判定用の閾値で
あり、この閾値により燃焼不安定と判別したときには、
比較的小さなDKCR2値により目標空燃比係数KCM
Dを補正するので、各エンジンの個体差に応じて目標空
燃比係数KCMDをドライバビィリティと燃費の調和が
得られる最適ポイントに微調整することができる。
≦MSLEAN2であるときは、更に、DMSSLB値
がα×DMSBAVE値より大きいか否かを判別する
(ステップS1603)。DMSSLB>α×DMSB
AVEであれば、KCMD値をリッチ側に補正するが、
この場合には、上記リッチ側補正量DKCRを比較的小
さな値の第2の補正量DKCR2(例えばA/F=0.
01相当の値)(DKCR1>DKCR2)に設定する
(ステップS1604)。α×DMSBAVE値は、燃
焼が安定しているときに検出した回転変動の平均値DM
SBAVE値に、運転状態に応じて設定される係数αを
乗ずることにより算出される燃焼不安定判定用の閾値で
あり、この閾値により燃焼不安定と判別したときには、
比較的小さなDKCR2値により目標空燃比係数KCM
Dを補正するので、各エンジンの個体差に応じて目標空
燃比係数KCMDをドライバビィリティと燃費の調和が
得られる最適ポイントに微調整することができる。
【0131】このようにして、DKCR1またはDKC
R2に設定されたリッチ側補正量DKCRを、KCMD
値の前回値KCMD(n−1)に加算して、KCMD
(n)を決定し(ステップS1605)、次いで、ステ
ップS1606でKCMD値がリーンバーン制御中の上
限値KCMDFBH(例えばA/F=19相当の値)よ
り大きいか否かを判定する。
R2に設定されたリッチ側補正量DKCRを、KCMD
値の前回値KCMD(n−1)に加算して、KCMD
(n)を決定し(ステップS1605)、次いで、ステ
ップS1606でKCMD値がリーンバーン制御中の上
限値KCMDFBH(例えばA/F=19相当の値)よ
り大きいか否かを判定する。
【0132】ステップS1606で、KCMD(n)>
KCMDFBHであれば、KCMD(n)値を上限値K
CMDFBHに設定し(ステップS1607)、前記空
燃比リッチ化フラグFMSFBRICHを「1」とし
(ステップS1608)、上記DMSBAVE更新フラ
グFAVEHLDを「1」に設定する(ステップS16
09)。ステップS1606で、KCMD(n)≦KC
MDFBHであれば、上記ステップS1609に進む。
KCMDFBHであれば、KCMD(n)値を上限値K
CMDFBHに設定し(ステップS1607)、前記空
燃比リッチ化フラグFMSFBRICHを「1」とし
(ステップS1608)、上記DMSBAVE更新フラ
グFAVEHLDを「1」に設定する(ステップS16
09)。ステップS1606で、KCMD(n)≦KC
MDFBHであれば、上記ステップS1609に進む。
【0133】上記ステップS1603において、DMS
SLB≦α×DMSBAVEであるときは、ステップS
1610に進み、DMSSLB値が下側閾値MSLEA
N1より大きいか否かを判定する。ステップS1610
で、DMSSLB>MSLEAN1であれば、KCMD
の前回値KCMD(n−1)をそのまま今回値KCMD
(n)とし(ステップS1611)、DMSBAVE更
新判定フラグFAVEHLDを「0」に設定する(ステ
ップS1612)。
SLB≦α×DMSBAVEであるときは、ステップS
1610に進み、DMSSLB値が下側閾値MSLEA
N1より大きいか否かを判定する。ステップS1610
で、DMSSLB>MSLEAN1であれば、KCMD
の前回値KCMD(n−1)をそのまま今回値KCMD
(n)とし(ステップS1611)、DMSBAVE更
新判定フラグFAVEHLDを「0」に設定する(ステ
ップS1612)。
【0134】上記ステップS1610において、DMS
SLB≦MSLEAN1であるときは、燃焼が安定して
いるものとして、ステップS1613に進み、KCMD
値を更にリーン側に補正するために、上述した偏差DK
CMDの絶対値が、リーンバーン制御中における実燃焼
限界相当の目標空燃比係数と設定目標空燃比係数との偏
差DKCMDXよりも大きいか否かを判定する。ステッ
プS1613で|DKCMD|>DKCMDXであると
きは、リーン側補正量DKCLを比較的大きな値の補正
量DKCL1(例えばA/F=0.01相当の値)に設
定し(ステップS1614)、|DKCMD|≦DKC
MDXであるときは、リーン側補正量DKCLを比較的
小さな値の補正量DKCL2に設定する(ステップS1
615)。
SLB≦MSLEAN1であるときは、燃焼が安定して
いるものとして、ステップS1613に進み、KCMD
値を更にリーン側に補正するために、上述した偏差DK
CMDの絶対値が、リーンバーン制御中における実燃焼
限界相当の目標空燃比係数と設定目標空燃比係数との偏
差DKCMDXよりも大きいか否かを判定する。ステッ
プS1613で|DKCMD|>DKCMDXであると
きは、リーン側補正量DKCLを比較的大きな値の補正
量DKCL1(例えばA/F=0.01相当の値)に設
定し(ステップS1614)、|DKCMD|≦DKC
MDXであるときは、リーン側補正量DKCLを比較的
小さな値の補正量DKCL2に設定する(ステップS1
615)。
【0135】このように、偏差DKCMDの絶対値が前
記DKCMDX値よりも大きいか否かでリーン側への補
正速度を変化させることにより、リーン側への補正の行
き過ぎを回避することができる。
記DKCMDX値よりも大きいか否かでリーン側への補
正速度を変化させることにより、リーン側への補正の行
き過ぎを回避することができる。
【0136】上記リーン側補正量DKCLの設定が終了
すると、ステップS1616で、偏差DKCMDの絶対
値が上記設定されたDKCLより小さいか否かを判定
し、|DKCMD|<DKCLであるときはKCMD値
をそのまま今回値KCMD(n)として用い、上記ステ
ップS1612に進み、DKCMD≧DKCLであると
きは、KCMD値の前回値KCMD(n−1)からDK
CL値を減算することにより目標空燃比係数KCMDの
今回値KCMD(n)を算出し(ステップS161
7)、上記ステップS1612に進む。
すると、ステップS1616で、偏差DKCMDの絶対
値が上記設定されたDKCLより小さいか否かを判定
し、|DKCMD|<DKCLであるときはKCMD値
をそのまま今回値KCMD(n)として用い、上記ステ
ップS1612に進み、DKCMD≧DKCLであると
きは、KCMD値の前回値KCMD(n−1)からDK
CL値を減算することにより目標空燃比係数KCMDの
今回値KCMD(n)を算出し(ステップS161
7)、上記ステップS1612に進む。
【0137】次に、上記ステップS1609およびステ
ップS1612のフラグFAVEHLDの設定処理が終
了すると、ステップS1618で、上記図10のルーチ
ンで検索したKBSM値が閾値KBSDKCX(例えば
A/F=21.4)より小さいか否かを判別し、KBS
M<KBSDKCXであるときは、上記DKCMDX値
を更新するためのDKCMDX算出処理を下記式(5)
に従って実行し(ステップS1619)、得られたDK
CMDX値をバックアップされた記憶手段5cの記憶部
に記憶し、本処理を終了する。
ップS1612のフラグFAVEHLDの設定処理が終
了すると、ステップS1618で、上記図10のルーチ
ンで検索したKBSM値が閾値KBSDKCX(例えば
A/F=21.4)より小さいか否かを判別し、KBS
M<KBSDKCXであるときは、上記DKCMDX値
を更新するためのDKCMDX算出処理を下記式(5)
に従って実行し(ステップS1619)、得られたDK
CMDX値をバックアップされた記憶手段5cの記憶部
に記憶し、本処理を終了する。
【0138】 DKCMDX(n)=c×|DKCMD|+(1−c)
×DKCMDX(n−1) ……(5) 但し、cは0〜1.0の定数である。
×DKCMDX(n−1) ……(5) 但し、cは0〜1.0の定数である。
【0139】ステップS1618で、KBSM≧KBS
DKCXであるときは、DKCMDX値の算出処理を行
うことなく処理を終了する。
DKCXであるときは、DKCMDX値の算出処理を行
うことなく処理を終了する。
【0140】上述したように、図16の処理において
は、検出された回転変動DMSSLBが固定の閾値であ
るMSLEAN2よりも大きいときに、比較的大きな補
正量DKCR1で目標空燃比KCMDをリッチ側に補正
し、DMSSLB≦MSLEAN2且つDMSSLB>
α×DMSBAVEであるときには、比較的小さなDK
CR2値により目標空燃比係数KCMDを補正するの
で、各エンジンの個体差に応じて目標空燃比係数KCM
Dをドライバビィリティと燃費の調和が得られる最適ポ
イントに微調整することができる。
は、検出された回転変動DMSSLBが固定の閾値であ
るMSLEAN2よりも大きいときに、比較的大きな補
正量DKCR1で目標空燃比KCMDをリッチ側に補正
し、DMSSLB≦MSLEAN2且つDMSSLB>
α×DMSBAVEであるときには、比較的小さなDK
CR2値により目標空燃比係数KCMDを補正するの
で、各エンジンの個体差に応じて目標空燃比係数KCM
Dをドライバビィリティと燃費の調和が得られる最適ポ
イントに微調整することができる。
【0141】以下、図17を参照して、図13のステッ
プS1352における回転変動の平均値DMSBAVE
算出処理を説明する。この処理は前記TDC信号パルス
の発生毎にこれと同期して実行される。図17は、回転
変動の平均値DMSBAVEの算出処理のフローチャー
トである。
プS1352における回転変動の平均値DMSBAVE
算出処理を説明する。この処理は前記TDC信号パルス
の発生毎にこれと同期して実行される。図17は、回転
変動の平均値DMSBAVEの算出処理のフローチャー
トである。
【0142】まず、ステップS1701でフューエルカ
ット中であることを「1」で示すフューエルカット判定
フラグFFCが「1」であるか否かを判別し(ステップ
S1701)、FFC=1であれば、フューエルカット
中であるためDMSBAVE値の更新は行わずに本処理
を終了する。ステップS1701で、FFC=0であれ
ば、ステップS1702に進み、前記DMSBAVE更
新判定フラグFAVEHLDが「1」であるか否かを判
別する。ステップS1702で、FAVEHLD=1で
あれば、DMSBAVE値の更新は行わずに処理を終了
し、FAVEHLD=0であれば、下記式(6)に従っ
てDMSBAVE値の算出処理を実行し、DMSBAV
E値を更新して(ステップS1703)、本処理を終了
する。
ット中であることを「1」で示すフューエルカット判定
フラグFFCが「1」であるか否かを判別し(ステップ
S1701)、FFC=1であれば、フューエルカット
中であるためDMSBAVE値の更新は行わずに本処理
を終了する。ステップS1701で、FFC=0であれ
ば、ステップS1702に進み、前記DMSBAVE更
新判定フラグFAVEHLDが「1」であるか否かを判
別する。ステップS1702で、FAVEHLD=1で
あれば、DMSBAVE値の更新は行わずに処理を終了
し、FAVEHLD=0であれば、下記式(6)に従っ
てDMSBAVE値の算出処理を実行し、DMSBAV
E値を更新して(ステップS1703)、本処理を終了
する。
【0143】 DMSBAVE(n)=c×DMSSLB+(1−c)
×DMSBAVE(n−1) ……(6) 但し、cは0〜1.0の定数である。
×DMSBAVE(n−1) ……(6) 但し、cは0〜1.0の定数である。
【0144】本実施の形態によれば、図16のステップ
S1601,ステップS1603、ステップS1610
において、エンジン1の回転変動量を検出し、この検出
されたエンジン1の回転変動量に応じて目標空燃比係数
KCMDを補正するので、安定したリーンバーンフィー
ドバック空燃比制御を実現することができる(図19
(b)の(2))。
S1601,ステップS1603、ステップS1610
において、エンジン1の回転変動量を検出し、この検出
されたエンジン1の回転変動量に応じて目標空燃比係数
KCMDを補正するので、安定したリーンバーンフィー
ドバック空燃比制御を実現することができる(図19
(b)の(2))。
【0145】図16のステップS1619において算出
し記憶したリーンバーン制御中における実燃焼限界相当
の目標空燃比係数と設定目標空燃比係数との偏差DKC
MDXに基づいて、同ステップS1613〜ステップS
1617の処理により、リーンフィードバック中の実制
御空燃比のリーン側への移行速度を前記DKCMDX値
よりリッチ側のときは(図16のステップS1613で
YES)速く、リーン側のときは(同ステップS161
3でNO)遅くするので、燃焼不安定によりリーンバー
ン中の運転性を損ねることなくNOxの発生量を最小限
に抑えることができる(図19(b)の(4)参照)。
し記憶したリーンバーン制御中における実燃焼限界相当
の目標空燃比係数と設定目標空燃比係数との偏差DKC
MDXに基づいて、同ステップS1613〜ステップS
1617の処理により、リーンフィードバック中の実制
御空燃比のリーン側への移行速度を前記DKCMDX値
よりリッチ側のときは(図16のステップS1613で
YES)速く、リーン側のときは(同ステップS161
3でNO)遅くするので、燃焼不安定によりリーンバー
ン中の運転性を損ねることなくNOxの発生量を最小限
に抑えることができる(図19(b)の(4)参照)。
【0146】
【発明の効果】以上詳細に説明したように、請求項1の
内燃機関の空燃比制御装置によれば、目標空燃比設定手
段により設定された目標空燃比と目標空燃比補正手段に
より燃焼変動量に応じて補正された目標空燃比との偏差
に基づいて実燃焼限界相当の目標空燃比と設定目標空燃
比との偏差を更新することにより実燃焼限界相当の目標
空燃比と設定目標空燃比を学習して実燃焼限界相当の目
標空燃比を検出することができ、加えて、前記学習した
偏差に応じて目標空燃比を補正制御することにより実燃
焼限界相当の目標空燃比において燃焼の不安定による運
転性の悪化を防止することができる。その結果、安定し
たリーンバーンフィードバック空燃比制御を実現すると
共に、燃焼状態が安定しているときに空燃比をリーン化
して、NOxの発生を抑制することができる。
内燃機関の空燃比制御装置によれば、目標空燃比設定手
段により設定された目標空燃比と目標空燃比補正手段に
より燃焼変動量に応じて補正された目標空燃比との偏差
に基づいて実燃焼限界相当の目標空燃比と設定目標空燃
比との偏差を更新することにより実燃焼限界相当の目標
空燃比と設定目標空燃比を学習して実燃焼限界相当の目
標空燃比を検出することができ、加えて、前記学習した
偏差に応じて目標空燃比を補正制御することにより実燃
焼限界相当の目標空燃比において燃焼の不安定による運
転性の悪化を防止することができる。その結果、安定し
たリーンバーンフィードバック空燃比制御を実現すると
共に、燃焼状態が安定しているときに空燃比をリーン化
して、NOxの発生を抑制することができる。
【0147】請求項2の内燃機関の空燃比制御装置によ
れば、目標空燃比設定手段により設定された目標空燃比
と目標空燃比補正手段により補正された目標空燃比との
偏差が更新手段により更新された偏差より小さいときは
目標空燃比補正手段による目標空燃比のリーン側への補
正量を前記偏差が前記更新された偏差より大きいときに
比べて小さくするので、燃焼不安定によりリーンバーン
中の運転性を損ねることなくNOxの発生量を最小限に
抑えることができる。
れば、目標空燃比設定手段により設定された目標空燃比
と目標空燃比補正手段により補正された目標空燃比との
偏差が更新手段により更新された偏差より小さいときは
目標空燃比補正手段による目標空燃比のリーン側への補
正量を前記偏差が前記更新された偏差より大きいときに
比べて小さくするので、燃焼不安定によりリーンバーン
中の運転性を損ねることなくNOxの発生量を最小限に
抑えることができる。
【図1】本発明の実施の形態に係る内燃機関及びその制
御装置の全体の構成図である。
御装置の全体の構成図である。
【図2】機関の回転変動量DMSSLBを算出する処理
のフローチャートである。
のフローチャートである。
【図3】機関の回転速度を表すパラメータの計測とクラ
ンク軸の回転速度との関係を説明するための図である。
ンク軸の回転速度との関係を説明するための図である。
【図4】目標空燃比係数KCMD及び空燃比補正係数K
LAFの算出処理のメインフローチャートのフローチャ
ートである。
LAFの算出処理のメインフローチャートのフローチャ
ートである。
【図5】LAFフィードバック領域判定処理のフローチ
ャートである。
ャートである。
【図6】図4のステップS412における前記目標空燃
比係数KCMDを算出するプログラムのフローチャート
である。
比係数KCMDを算出するプログラムのフローチャート
である。
【図7】図6のフローチャートの続きのフローチャート
である。
である。
【図8】図6のステップS626における目標空燃比係
数の基準値KBSMの算出処理のプログラムである。
数の基準値KBSMの算出処理のプログラムである。
【図9】図8のステップS841における目標空燃比係
数の基準値KBSMの算出処理のフローチャートであ
る。
数の基準値KBSMの算出処理のフローチャートであ
る。
【図10】図9のステップS907における目標空燃比
係数の基準値KBSMの算出処理のフローチャートであ
る。
係数の基準値KBSMの算出処理のフローチャートであ
る。
【図11】図10のステップS1002におけるリーン
バーン制御実行許可フラグFKBSMJGの決定処理の
フローチャートである。
バーン制御実行許可フラグFKBSMJGの決定処理の
フローチャートである。
【図12】吸気管内絶対圧PBKBS及びリーンバーン
制御実行許可フラグFKBSMJGの決定するマップで
ある。
制御実行許可フラグFKBSMJGの決定するマップで
ある。
【図13】図7のステップS638におけるKCMD値
のリミット処理を行うプログラムのフローチャートであ
る。
のリミット処理を行うプログラムのフローチャートであ
る。
【図14】図13のフローチャートの続きのフローチャ
ートである。
ートである。
【図15】図13のステップS1311の燃焼不安定監
視判定フラグFSLBFBの決定処理のフローチャート
である。
視判定フラグFSLBFBの決定処理のフローチャート
である。
【図16】図13のステップS1356のDMSSLB
フィードバック処理のフローチャートである。
フィードバック処理のフローチャートである。
【図17】図17は、回転変動の平均値DMSBAVE
の算出処理のフローチャートである。
の算出処理のフローチャートである。
【図18】DMSSLBに応じたKCMD補正処理の説
明図である。
明図である。
【図19】(a)は、従来の内燃機関の空燃比制御装置
におけるリーンバーン制御による空燃比の変化の説明図
であり、(b)は、本発明の実施の形態に係る内燃機関
の空燃比制御装置におけるリーンバーン制御による空燃
比の変化の説明図である。
におけるリーンバーン制御による空燃比の変化の説明図
であり、(b)は、本発明の実施の形態に係る内燃機関
の空燃比制御装置におけるリーンバーン制御による空燃
比の変化の説明図である。
1 内燃エンジン 5 電子コントロールユニット 6 燃料噴射弁 15 排気濃度センサ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 田辺 友一朗 埼玉県和光市中央1丁目4番1号 株式 会社本田技術研究所内
Claims (2)
- 【請求項1】 内燃機関の排気系に取付けられ、排気中
の空燃比に比例した値を出力する空燃比検出手段と、前
記空燃比検出手段の出力に基づき空燃比を所定の目標空
燃比にフィードバック制御するフィードバック制御手段
と、前記内燃機関の運転状態が所定運転状態にあるとき
前記フィードバック制御の目標空燃比を理論空燃比より
リーン側の空燃比に設定する目標空燃比設定手段と、前
記内燃機関の燃焼変動量を検出する燃焼変動量検出手段
と、前記燃焼変動量検出手段により検出された燃焼変動
量が第1の所定値より大きいときには前記目標空燃比を
リッチ側に補正し前記第1の所定値以下の第2の所定値
より小さいときには前記目標空燃比をリーン側に補正す
る目標空燃比補正手段とを有する内燃機関の空燃比制御
装置において、前記目標空燃比設定手段により設定され
た目標空燃比と前記目標空燃比補正手段により補正され
た目標空燃比との偏差によりリーンバーン制御中におけ
る実燃焼限界相当の目標空燃比と設定目標空燃比との偏
差を更新する更新手段と、前記更新手段により更新され
た偏差に基づいて前記目標空燃比補正手段による目標空
燃比のリーン側への補正量を制御する補正制御手段とを
有することを特徴とする内燃機関の空燃比制御装置。 - 【請求項2】 前記補正制御手段は、前記目標空燃比設
定手段により設定された目標空燃比と前記目標空燃比補
正手段により補正された目標空燃比との偏差が前記更新
手段により更新された偏差より小さいときは前記目標空
燃比補正手段による目標空燃比のリーン側への補正量を
前記偏差が前記更新された偏差より大きいときに比べて
小さくすることを特徴とする請求項1記載の内燃機関の
空燃比制御装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22460496A JP3348604B2 (ja) | 1996-08-08 | 1996-08-08 | 内燃機関の空燃比制御装置 |
| US08/908,676 US5954028A (en) | 1996-08-08 | 1997-08-07 | Air-fuel ratio control system for internal combustion engines |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP22460496A JP3348604B2 (ja) | 1996-08-08 | 1996-08-08 | 内燃機関の空燃比制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH1054280A JPH1054280A (ja) | 1998-02-24 |
| JP3348604B2 true JP3348604B2 (ja) | 2002-11-20 |
Family
ID=16816337
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP22460496A Expired - Fee Related JP3348604B2 (ja) | 1996-08-08 | 1996-08-08 | 内燃機関の空燃比制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3348604B2 (ja) |
-
1996
- 1996-08-08 JP JP22460496A patent/JP3348604B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH1054280A (ja) | 1998-02-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2678985B2 (ja) | 内燃エンジンの空燃比制御装置 | |
| JP3980424B2 (ja) | 内燃機関の空燃比制御装置 | |
| US5199403A (en) | Air fuel ratio control system for variable valve timing type internal combustion engines | |
| JPH1073042A (ja) | 内燃機関の空燃比制御装置 | |
| US5701871A (en) | Fuel supply control system for internal combustion engines | |
| JPH1073040A (ja) | 内燃機関の空燃比制御装置 | |
| JP3422447B2 (ja) | 内燃機関の制御装置 | |
| US5850815A (en) | Control system and control process in internal combustion engine | |
| US5954028A (en) | Air-fuel ratio control system for internal combustion engines | |
| JPH1047122A (ja) | 内燃機関の燃料噴射制御装置 | |
| US5869744A (en) | Oxygen concentration-detecting device for internal combustion engines | |
| JPH0886238A (ja) | 内燃機関の空燃比制御装置 | |
| JP3683363B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3348604B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3010140B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP3237091B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP2843933B2 (ja) | 内燃機関の空燃比制御装置 | |
| JPH1073043A (ja) | 内燃機関の空燃比制御装置 | |
| JP3227319B2 (ja) | 内燃機関の空燃比制御装置 | |
| JP2000045831A (ja) | 内燃機関の空燃比制御装置 | |
| JP2869820B2 (ja) | 内燃エンジンの空燃比制御方法 | |
| JPH08232707A (ja) | 内燃機関の制御装置 | |
| JP2817106B2 (ja) | 内燃エンジンの空燃比制御方法 | |
| JPH0419377B2 (ja) | ||
| JP2759918B2 (ja) | 内燃エンジンの空燃比制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070913 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080913 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080913 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090913 Year of fee payment: 7 |
|
| LAPS | Cancellation because of no payment of annual fees |