JPH04219440A - 内燃機関の空燃比学習制御装置 - Google Patents

内燃機関の空燃比学習制御装置

Info

Publication number
JPH04219440A
JPH04219440A JP40435290A JP40435290A JPH04219440A JP H04219440 A JPH04219440 A JP H04219440A JP 40435290 A JP40435290 A JP 40435290A JP 40435290 A JP40435290 A JP 40435290A JP H04219440 A JPH04219440 A JP H04219440A
Authority
JP
Japan
Prior art keywords
air
fuel ratio
learning
operating
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP40435290A
Other languages
English (en)
Inventor
Shinpei Nakaniwa
伸平 中庭
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.)
Hitachi Unisia Automotive Ltd
Original Assignee
Japan Electronic Control Systems Co Ltd
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 Japan Electronic Control Systems Co Ltd filed Critical Japan Electronic Control Systems Co Ltd
Priority to JP40435290A priority Critical patent/JPH04219440A/ja
Publication of JPH04219440A publication Critical patent/JPH04219440A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は内燃機関の空燃比学習制
御装置に関し、詳しくは、運転領域別の空燃比学習制御
において、該当運転領域で要求される学習補正値が確実
に学習できるようにした空燃比学習制御装置に関する。
【0002】
【従来の技術】従来、空燃比フィードバック補正制御機
能をもつ電子制御燃料噴射装置を備えた内燃機関におい
ては、特開昭60−90944号公報,特開昭61−1
90142号公報等に開示されるように、空燃比の学習
制御が採用されているものがある。
【0003】空燃比フィードバック補正制御は、機関に
吸入される空気量に関与する機関運転状態のパラメータ
(例えば吸入空気流量Qと機関回転速度N)から算出さ
れる基本燃料噴射量Tpを、機関排気系に設けた酸素セ
ンサにより判別される目標空燃比(例えば理論空燃比)
に対するリッチ・リーンに基づいて比例・積分制御など
により設定される空燃比フィードバック補正係数LMD
に基づいて補正することで、実際の空燃比を目標空燃比
にフィードバック制御するものである。
【0004】ここで、前記空燃比フィードバック補正係
数LMDの基準値(実質的に燃料量を補正しない値であ
り目標収束値となる)からの偏差を、予め定めた複数に
区分された運転領域毎に学習して学習補正係数KBLR
C を定め、基本燃料噴射量Tpを前記学習補正係数K
BLRC により補正して、補正係数LMDなしで得ら
れるベース空燃比が略目標空燃比に一致するようにし、
空燃比フィードバック制御中は更に前記補正係数LMD
で補正して燃料噴射量Tiを演算するものである。
【0005】これにより、運転条件毎に異なる空燃比補
正の要求値に対応した補正が行え、空燃比フィードバッ
ク補正係数LMDを基準値付近に安定させて、特に過渡
時の空燃比制御性を向上させることができる。
【0006】
【発明が解決しようとする課題】ところで、例えば前記
学習補正係数KBLRC の学習マップ上におけるある
運転領域で略目標空燃比に制御されている状態から過渡
運転されて隣接する運転領域に移行したときに、該移行
後の運転領域でのベース空燃比が大きくリッチ化した場
合には、図15に示すように、空燃比フィードバック補
正係数LMDを徐々に減少させて前記リッチ化を解消し
ようとするが、かかるリーン化制御の途中で更に異なる
運転領域に移行した場合には、前記空燃比のリッチ化を
招いた運転領域に対応する学習補正値の学習が行われず
、最終的にリッチ化が解消されてリーン空燃比に反転し
たときに該当していた運転領域に対応して誤った空燃比
学習がなされることがあった。
【0007】即ち、従来では実際の空燃比の目標空燃比
に対するリッチ・リーン反転時に、空燃比フィードバッ
ク補正係数LMDの平均値の目標収束値に対する偏差を
求め、そのときに学習マップ上で該当している運転領域
に対応して記憶されている学習補正係数KBLRC を
前記偏差に基づいて書き換え修正するようにしており、
図15に示すように空燃比段差が発生したときに、かか
る空燃比段差を解消して空燃比を反転させ得る値に空燃
比フィードバック補正係数LMDが減少制御されるまで
の間に、該当する運転領域が変化すると、実際に大きな
空燃比段差を招く原因となった運転領域とは関係なく、
空燃比の反転時に該当している運転領域に対応する学習
補正係数KBLRC が学習修正されることになってい
たものである。
【0008】上記のように、実際に空燃比段差を招いた
運転領域に対応する学習が確実に行えないと、前記空燃
比段差を招いた運転領域でのベース空燃比のずれが解消
されないと共に、誤学習がなされた隣接する運転領域に
おいてもベース空燃比が目標空燃比から大きくずれるこ
とがあり、これによって、次回に同じ運転領域での運転
が行われると、大きな空燃比段差が発生して空燃比フィ
ードバック制御の周期が延び、その間排気中のCO、H
C又はNOxが増大してしまい、学習の収束性及び空燃
比制御性を悪化させることになっていた。
【0009】特に、運転領域を細かく区分することによ
り運転条件の違いによる要求補正値の違いに精度良く対
応できる学習を行わせるようにすると、それぞれの運転
領域が狭いために、上記のようにある運転領域を原因と
して空燃比段差が発生したときに、前記空燃比段差の原
因となった運転領域に対する学習を確実に行わせること
がより困難になるという問題があった。
【0010】本発明は上記問題点に鑑みなされたもので
あり、運転領域別の空燃比学習において、空燃比フィー
ドバック補正値の目標収束値に対する偏差に基づき、真
に空燃比段差の発生原因となった運転領域に対応させて
運転領域別の空燃比学習が行えるようにして、空燃比学
習の収束性及び空燃比制御性を改善することを目的とす
る。
【0011】
【課題を解決するための手段】そのため本発明にかかる
内燃機関の空燃比学習制御装置は、図1に示すように構
成される。図1において、基本燃料供給量設定手段は、
運転条件検出手段で検出される機関に吸入される空気量
に関与する運転パラメータを少なくとも含む機関運転条
件に基づいて基本燃料供給量を設定する。
【0012】一方、空燃比フィードバック補正値設定手
段は、空燃比検出手段で検出された機関吸入混合気の空
燃比と目標空燃比とを比較して実際の空燃比を目標空燃
比に近づけるように前記基本燃料供給量を補正するため
の空燃比フィードバック補正値を設定する。また、学習
補正値領域別記憶手段は、機関運転条件に基づき複数に
区分される運転領域別に前記基本燃料供給量を補正する
ための空燃比学習補正値をそれぞれ書き換え可能に記憶
しており、学習領域特定手段は、前記学習補正値領域別
記憶手段における複数の運転領域の中で前記空燃比フィ
ードバック補正値の目標収束値に対する発生偏差に相関
する運転領域を特定する。
【0013】そして、学習修正手段は、空燃比フィード
バック補正値の目標収束値からの偏差を学習し、前記偏
差を減少させる方向に学習領域特定手段で特定される運
転領域に対応して学習補正値領域別記憶手段に記憶され
ている空燃比学習補正値を修正して書き換える。燃料供
給量設定手段は、前記基本燃料供給量、空燃比フィード
バック補正値、及び、学習補正値領域別記憶手段に記憶
されている該当する区分運転領域の空燃比学習補正値に
基づいて最終的な燃料供給量を設定し、燃料供給制御手
段は前記設定された燃料供給量に基づいて燃料供給手段
を駆動制御する。
【0014】ここで、前記学習修正手段が、実際の空燃
比の目標空燃比に対するリッチ・リーン反転時において
求められた空燃比フィードバック補正値の目標収束値か
らの偏差に基づき空燃比学習補正値を修正するよう構成
されると共に、前記学習領域特定手段が、前回の空燃比
反転時に該当していた運転領域を最新の前記偏差に基づ
き学習すべき運転領域として設定するよう構成すること
ができる。
【0015】また、前記学習修正手段が、実際の空燃比
の目標空燃比に対するリッチ・リーン反転時において求
められた空燃比フィードバック補正値の目標収束値から
の偏差に基づき空燃比学習補正値を修正するよう構成さ
れると共に、前記学習領域特定手段が、前回の空燃比反
転時の該当運転領域と前々回の空燃比反転時の該当運転
領域が異なり、かつ、かかる該当運転領域の変化に伴う
空燃比学習補正値の変化方向と前回の空燃比反転時にお
ける空燃比フィードバック補正値の変化方向とが一致す
るときに、前々回の空燃比反転時の該当運転領域を最新
の空燃比反転時に求められた前記偏差に基づき学習すべ
き運転領域として特定し、前記該当運転領域の変化がな
かったとき又は前記変化方向が不一致であったときに前
回の空燃比反転時の該当運転領域を学習すべき運転領域
として特定するよう構成することが好ましい。
【0016】
【作用】かかる構成によると、空燃比フィードバック補
正値の目標収束値からの偏差を学習し、該偏差を減少さ
せる方向に空燃比学習補正値を運転領域別に学習修正す
るときに、複数の運転領域の中で空燃比フィードバック
補正値の目標収束値に対する発生偏差に相関する運転領
域を特定し、現状の運転条件が含まれる運転領域ではな
く、前記特定された運転領域に対応する空燃比学習が行
われる。
【0017】従って、実際の空燃比の目標空燃比に対す
るずれが発生し、これを補償すべく空燃比フィードバッ
ク補正値を設定するときに、学習時点において前記空燃
比ずれの発生要因となった運転領域以外に該当していて
も、前記発生要因の運転領域に対する空燃比学習を確実
に行わせることができ、誤学習による空燃比学習の発散
及びこれに伴うフィードバック制御周期の増大を防止で
きるようになる。
【0018】ここで、学習修正手段が、実際の空燃比の
目標空燃比に対するリッチ・リーン反転時において求め
られた空燃比フィードバック補正値の目標収束値からの
偏差に基づき空燃比学習補正値を修正するよう構成され
る場合には、学習すべき運転領域として特定される前記
発生偏差に相関する運転領域は、前回の空燃比反転時に
該当していた運転領域とすることができる。即ち、空燃
比反転時において空燃比フィードバック補正値の目標収
束値に対する偏差を学習すると、該偏差に基づいて現状
の運転条件が該当する運転領域に対応する空燃比学習補
正値を修正するのではなく、前回の空燃比反転時に該当
していた運転領域に対応する空燃比学習補正値を修正さ
せるものである。
【0019】また、同様に、学習修正手段が、実際の空
燃比の目標空燃比に対するリッチ・リーン反転時におい
て求められた空燃比フィードバック補正値の目標収束値
からの偏差に基づき空燃比学習補正値を修正するよう構
成される場合に、学習領域特定手段が、前回の空燃比反
転時の該当運転領域と前々回の空燃比反転時の該当運転
領域が異なり、かつ、かかる該当運転領域の変化に伴う
空燃比学習補正値の変化方向と前回の空燃比反転時にお
ける空燃比フィードバック補正値の変化方向とが一致す
るか否かを判別し、上記の2つの条件が揃っている場合
には、最新の空燃比反転時に求められた前記偏差に基づ
き前々回の空燃比反転時の該当運転領域の学習が行われ
るようにし、少なくとも一方の条件が欠けていたときに
は前回の空燃比反転時の該当運転領域を学習運転領域と
して特定する。この場合には、空燃比ずれの要因となっ
た運転領域を更に精度良く特定できることになる。
【0020】
【実施例】以下に本発明の実施例を説明する。一実施例
を示す図2において、内燃機関1にはエアクリーナ2か
ら吸気ダクト3,スロットル弁4及び吸気マニホールド
5を介して空気が吸入される。吸気マニホールド5のブ
ランチ部には各気筒別に燃料供給手段としての燃料噴射
弁6が設けられている。この燃料噴射弁6は、ソレノイ
ドに通電されて開弁し、通電停止されて閉弁する常閉型
の電磁式燃料噴射弁であって、後述するコントロールユ
ニット12からの駆動パルス信号により通電されて開弁
し、図示しない燃料ポンプから圧送されてプレッシャレ
ギュレータにより所定の圧力に調整された燃料を噴射供
給する。
【0021】機関1の各燃焼室には点火栓7が設けられ
ていて、これにより火花点火して混合気を着火燃焼させ
る。そして、機関1からは、排気マニホールド8,排気
ダクト9,三元触媒10及びマフラー11を介して排気
が排出される。尚、前記三元触媒10は、NOx,CO
,HCを酸化・還元して無害な成分に転換するものであ
り、酸化・還元の両方で高い転化率を得るには、機関吸
入混合気の空燃比を理論空燃比に制御する必要があるた
め、後述する空燃比のフィードバック制御では、前記理
論空燃比を目標空燃比とした制御が行われるようにして
ある。
【0022】コントロールユニット12は、CPU,R
OM,RAM,A/D変換器及び入出力インタフェイス
を含んで構成されるマイクロコンピュータを備え、各種
のセンサからの入力信号を受け、後述の如く演算処理し
て、燃料噴射弁6の作動を制御する。前記各種のセンサ
としては、吸気ダクト3中にエアフローメータ13が設
けられていて、機関1の吸入空気流量Qに応じた信号を
出力する。
【0023】また、クランク角センサ14が設けられて
いて、4気筒の場合クランク角180 °毎の基準信号
REFと、クランク角1°又は2°毎の単位信号POS
とを出力する。ここで、基準信号REFの周期、或いは
、所定時間内における単位信号POSの発生数を計測す
ることにより、機関回転速度Nを算出できる。また、機
関1のウォータジャケットの冷却水温度Twを検出する
水温センサ15が設けられている。
【0024】また、排気マニホールド8の集合部に空燃
比検出手段としての酸素センサ16が設けられ、排気中
の酸素濃度を介して吸入混合気の空燃比を検出する。前
記酸素センサ16は、排気中の酸素濃度が理論空燃比を
境に急変することを利用して、機関吸入混合気の実際の
空燃比が、理論空燃比に対してリッチであるかリーンで
あるかを間接的に検出する公知のものである。
【0025】ここにおいて、コントロールユニット12
に内蔵されたマイクロコンピュータのCPUは、図3〜
図12のフローチャートにそれぞれ示すROM上のプロ
グラムに従って演算処理を行い、空燃比フィードバック
補正制御及び運転領域毎の空燃比学習補正制御を実行し
つつ燃料噴射量Tiを設定し、機関1への燃料供給を制
御するようになっている。
【0026】尚、本実施例において、基本燃料供給量設
定手段,空燃比フィードバック補正値設定手段,燃料供
給量設定手段,燃料供給制御手段,学習修正手段,学習
領域特定手段としての機能は、前記図3〜図12のフロ
ーチャートに示すようにコントロールユニット12がソ
フトウェア的に備えている。また、学習補正値領域別記
憶手段は、本実施例においてコントロールユニット12
に内蔵されたマイクロコンピュータのバックアップされ
たRAMが相当するものとする。更に、本実施例におけ
る運転条件検出手段は、エアフローメータ13,クラン
ク角センサ14等が相当する。
【0027】まず、図3のフローチャートに従って、本
実施例における空燃比学習制御の概略を説明し、後に図
4〜図12のフローチャートに従って詳細な空燃比制御
の内容を説明する。図3のフローチャートにおいて、ま
ず、ステップ1(図中ではS1としてある。以下同様)
では、実際の空燃比を目標空燃比に近づけるように基本
燃料噴射量(基本燃料供給量)Tp(←K×Q/N;K
は定数)を補正するための空燃比フィードバック補正係
数LMD(空燃比フィードバック補正値)を、比例・積
分制御によって設定する。
【0028】次のステップ2では、上記の空燃比フィー
ドバック補正係数LMDの比例・積分制御において、比
例制御が行われた否か、換言すれば、空燃比のリッチ・
リーン反転があったか否かを判別する。本実施例におい
て、前記空燃比フィードバック補正係数LMDは、後述
するように、空燃比のリッチ・リーン反転時に比例制御
によって増減され、リッチ又はリーン空燃比状態の継続
時には積分制御で徐々に増減されるようになっているの
で、比例制御時が行われた否かの判別は、空燃比の目標
空燃比に対するリッチ・リーン反転があったか否かの判
別に変えても良い。
【0029】比例制御が行われたときには、ステップ3
へ進み、前回に比例制御を実行したときに空燃比学習マ
ップ上での該当運転領域の変化があった否かを判別する
。本実施例において、機関運転条件として前記基本燃料
噴射量Tp(機関負荷)及び機関回転速Nを用い、これ
らの2つのパラメータに基づいて運転領域を複数に区分
し、この区分された各運転領域毎に空燃比学習補正係数
KBLRC を書き換え可能に記憶してある。前記ステ
ップ3では、前回の空燃比反転時に前々回の空燃比反転
時において判別されていた該当運転領域とは異なる運転
領域が、前回の空燃比反転時に該当するものと判別され
た否かを判断するものであり、該当運転領域の変化があ
ったときには、ステップ4へ進む。
【0030】ステップ4では、前述のように該当運転領
域が変化したと判別された前回比例制御時において、該
当運転領域の変化に伴う空燃比学習補正係数KBLRC
 の変化の方向と、比例制御による空燃比フィードバッ
ク補正係数LMDの増減方向とが一致していたか否かを
判別し、前記両者の変化方向が一致しているときにはス
テップ5へ進む。
【0031】ステップ5では、今回の比例制御時に求め
られる空燃比フィードバック補正係数LMD平均値の目
標収束値に対する偏差に基づき学習すべき学習マップ上
の運転領域として、前々回の比例制御時に該当していた
運転領域を特定する。一方、ステップ3で前回比例制御
時に該当運転領域の変化がなかったと判別されたとき、
又は、ステップ4で変化方向が異なると判別されたとき
には、ステップ6へ進む。
【0032】ステップ6では、今回の比例制御時に求め
られる空燃比フィードバック補正係数LMD平均値の目
標収束値に対する偏差に基づき学習すべき学習マップ上
の運転領域として、前回の比例制御時に該当していた運
転領域を特定する。そして、ステップ7では、前記ステ
ップ5又はステップ6で特定された空燃比学習マップ上
の運転領域に対応して記憶されている学習補正係数KB
LRC を、最新に求めれた前記偏差に基づいて学習し
て修正する。
【0033】このように、空燃比フィードバック補正係
数LMD平均値の目標収束値に対する偏差を運転領域別
に学習して学習補正係数KBLRC を設定するに当た
って、前記偏差をサンプリングした時点で(最新の比例
制御時又は最新の空燃比反転時に)該当している運転領
域を学習するのではなく、前述のように、前記偏差をサ
ンプリングした最新の比例制御時の前回又は前々回の比
例制御時に該当していた運転領域を、最新の偏差データ
に基づいて学習させるものである。
【0034】ここで、学習領域を、前述のような判別に
基づいて前回の比例制御時又は前々回の比例制御時に該
当していた運転領域とすれば、後述するように、最新に
求められた空燃比フィードバック補正係数LMDの目標
収束値に対する偏差の要因となった運転領域に対する学
習が、たとえ運転領域を細かく区分させて学習される場
合であっても確実に行えるようになり、空燃比学習制御
の収束性及び空燃比制御性を改善できる。
【0035】ここで、上記図3のフローチャートに示し
た空燃比学習制御の詳細な実施例を、図4〜図12のフ
ローチャートに従って説明する。図4〜図6のフローチ
ャートに示すプログラムは、基本燃料噴射量Tp(←K
×Q/N;Kは定数)に乗算される空燃比フィードバッ
ク補正係数LMD(空燃比フィードバック補正値)を、
比例・積分制御により設定すると共に、空燃比学習補正
値の学習を行うプログラムであり、機関1の1回転(1
rev)毎に実行される。尚、前記空燃比フィードバッ
ク補正係数LMDの初期値は1であって、基本燃料噴射
量Tpに乗算される補正項であり、実際の空燃比が目標
空燃比である理論空燃比に近づくように前記基本燃料噴
射量Tpを増減補正して、実際の空燃比を目標空燃比を
中心に変動させるものである。
【0036】まず、ステップ11では、酸素センサ(O
2 /S)16から排気中の酸素濃度に応じて出力され
る電圧信号を読み込む。そして、次のステップ12では
、ステップ11で読み込んだ酸素センサ16からの電圧
信号と、目標空燃比(理論空燃比)相当のスライスレベ
ル(例えば500mV)とを比較して、機関吸入混合気
の空燃比が目標空燃比に対してリッチであるかリーンで
あるかを判別する。
【0037】酸素センサ16からの電圧信号がスライス
レベルよりも大きく空燃比がリッチであると判別された
ときには、ステップ13へ進み、今回のリッチ判別が初
回であるか否かを判別する。リッチ判別が初回であると
きには、ステップ14へ進んで前回までに設定されてい
る空燃比フィードバック補正係数LMDを最大値aにセ
ットする。リッチ判別が初回であるということは、前回
まではリーン判別がなされており、これによって空燃比
フィードバック補正係数LMDの増大制御(=燃料噴射
量Tiの増大補正)が行われていたものであり、リッチ
判別されると今度は補正係数LMDを減少制御するから
、リッチ判別初回の減少制御前の値が補正係数LMDの
最大値ということになる。
【0038】次のステップ15では、前回までの補正係
数LMDから所定の比例定数Pだけ減算して補正係数L
MDの減少制御を行い、空燃比がリーン化して目標空燃
比に近づくようにする。また、次のステップ16では、
比例制御により補正係数LMDを減少させたことが判別
されるように、フラグFzに1をセットする。一方、ス
テップ13で、リッチ判別が初回でないと判別されたと
きには、ステップ17へ進み、積分定数Iに最新の燃料
噴射量Tiを乗算した値を、前回までの補正係数LMD
から減算して補正係数LMDを更新し、空燃比のリッチ
状態が解消されてリーンに反転するまでの間、本プログ
ラムが実行される毎にこのステップ17でI×Tiずつ
の減少制御を繰り返す。
【0039】また、ステップ12で実際の空燃比が目標
空燃比(理論空燃比)に対してリーンであると判別され
たときには、リッチ判別のときと同様にして、まず、ス
テップ18で今回のリーン判別が初回であるか否かを判
別し、初回であるときには、ステップ19へ進んで前回
までの補正係数LMD、即ち、リッチ判別時に徐々に減
少制御されていた補正係数LMDを最小値bにセットし
、次のステップ20では、前回までの補正係数LMDに
比例定数Pを加算して更新することにより燃料噴射量T
iの増量補正を図り、更に、ステップ21では、前記フ
ラグFzにゼロをセットすることにより比例制御によっ
て補正係数LMDが増大されたことが判別されるように
する。
【0040】一方、ステップ18でリーン判別が初回で
ないと判別されたときには、ステップ22へ進み、積分
定数Iに最新の燃料噴射量Tiを乗算した値を、前回ま
での補正係数LMDに加算し、補正係数LMDを徐々に
増大させる。リッチ・リーン判別の初回で補正係数LM
Dの比例制御を実行したときには、更に、ステップ23
以降(図5及び図6参照)へ進む。
【0041】尚、本実施例では、図13に示すように、
全運転領域を基本燃料噴射量Tpと機関回転速度Nとを
パラメータとして複数に区分して、該区分領域毎に空燃
比学習補正値を書き換え可能に記憶保持する学習マップ
を2つ備えており、一方の学習マップは4×4格子で全
運転領域を16の単位領域に区分し、また、他方の学習
マップは、16×16格子で全運転領域を256 の単
位運転領域に区分するようにしてあり、4×4格子マッ
プの1つの区分運転領域が、16×16格子の学習マッ
プにより更に4×4=16領域に細分化されるようにし
てある。また、上記のように運転領域を区分しない全運
転領域に適合される空燃比学習補正値も別途学習設定さ
れるようにしてある。
【0042】ステップ23では、4×4格子の学習マッ
プ上の16運転領域の中の1つの領域に安定して止まっ
ているか否かを判別するために、カウント値cntがゼ
ロであるか否かを判別する。後述する図8のフローチャ
ートにおいて、4×4格子の学習マップ上で該当する運
転領域が所定微小時間毎に変化しているときに、前記カ
ウント値cntには所定値(例えば4)がセットされる
ようになっており、ステップ23でカウント値cntが
ゼロでないと判別されると、ステップ24へ進んでカウ
ント値cntを1ダウンさせる処理を行うから、4×4
格子学習マップ上の1つの運転領域に止まるようになっ
てからカウント値cntは補正係数LMDの比例制御毎
に1ダウンされることになり、カウント値cntがゼロ
であるときには4×4格子マップ上の1つの運転領域に
安定して止まっている状態であると見做すことができる
ようにしてある。
【0043】尚、前記カウント値cntがゼロであるか
否かを判別することで、後述するように学習更新を行う
か否かを判別し、4×4格子マップ上で該当する運転領
域が変化した初期には学習が行われないようにしてある
。ステップ25では、前記4×4格子の学習マップのそ
れぞれの区分運転領域に対応する学習補正係数KBLR
C1(空燃比学習補正値)が殆ど学習済であるか否かを
判別する。
【0044】ここで、4×4格子の学習マップ上で殆ど
の領域が学習済であると判別されるときには、基本的に
全運転領域で略ベース空燃比が目標空燃比に学習制御さ
れるものと推定され、この場合には、次のステップ26
へ進み、16×16格子の学習マップ上で該当する運転
領域が前回と同じであるか又は変化したかを判別する。 ここで、運転領域が同じであるときには、ステップ27
へ進み、最新の補正係数LMD平均値の目標収束値(=
1.0)に対する偏差の絶対値と、前回における前記偏
差の絶対値との差を求め、かかる値に基づいて学習値の
不適切度合いを示すΔストレスのマップを参照し、Δス
トレスを補正係数LMDの平均値変動が大きいときほど
増大設定する。
【0045】即ち、4×4格子の学習マップの学習は略
終了している状態であるから、運転条件が変化しても、
学習が精度良く進行していれば、かかる運転条件の変化
による要求補正量の違いに対応してベース空燃比の変化
は比較的小さいレベルに抑止されるはずである。ここで
、運転条件の変化によるベース空燃比の変化が大きく、
空燃比フィードバック補正係数LMDが目標収束値から
大きく変化してこれを補償した場合には、学習値が不適
切であることを間接的に示すので、前記補正係数LMD
の変動レベルに応じて学習値の不適切度合いを示すΔス
トレスを設定するものである。
【0046】また、上記ステップ27では、前記Δスト
レスを積算し、該積算結果をデータ名「ストレス」にセ
ットするようにしてある。後述するようにこのストレス
が所定以上になると、既に学習済の空燃比学習補正係数
KBLRCが不適切であるものと判断し、より大きな運
転領域に対応する空燃比学習補正値から学習をやり直す
ようになっており、部品劣化や故障などによって急激な
ベース空燃比の変動があったときには、より大きな運転
領域に対する学習からやり直して、速やかな学習収束に
よって前記ベース空燃比の変動を補償できるようにして
ある。
【0047】次のステップ28では、現在の基本燃料噴
射量Tp及び機関回転速度Nが16×16格子の学習マ
ップ上で該当する運転領域を示す座標位置〔K,I〕を
検出する。ここで、図13に示すように、前記Kは機関
回転速度Nが該当する格子位置を示す数値であり、また
、Iは基本燃料噴射量Tpが該当する格子位置を示す数
値である。
【0048】次のステップ29では、現在の基本燃料噴
射量Tp及び機関回転速度Nが4×4格子の学習マップ
上で該当する運転領域を示す座標位置〔B,A〕を検出
する。ここで、図13に示すように、前記Bは機関回転
速度Nが該当する格子位置を示す数値であり、また、A
は基本燃料噴射量Tpが該当する格子位置を示す数値で
ある。
【0049】そして、次のステップ30では、上記のよ
うにして求められた16×16格子マップ上の該当領域
及び4×4格子マップ上の該当領域それぞれに対応して
記憶されている学習補正係数KBLRC2,KBLRC
1を検索して求め、これらと全運転領域に共通の学習補
正係数 KBLRCφとによって最終的な空燃比学習補
正係数KBLRC(← KBLRCφ+KBLRC1〔
B,A〕+KBLRC2〔K,I〕−2.0 )を設定
する。
【0050】ステップ31では、今回上記ステップ30
で求められた最終的な空燃比学習補正係数KBLRC 
と、前回の比例制御時に求められた学習補正係数KBL
RC old とを比較し、補正係数LMDが比例制御
される毎に新たに求められる学習補正係数KBLRC 
の変化方向を判別する。ここで、学習補正係数KBLR
C が増大傾向にあるときには、ステップ32へ進んで
フラグFmにゼロをセットし、逆に、学習補正係数KB
LRC が減少傾向にあるときには、ステップ33へ進
んでフラグFmに1をセットし、前記フラグFmによっ
て学習補正係数KBLRC の変化方向が判別できるよ
うにする。
【0051】そして、次のステップ34では、前記補正
係数LMDの最大・最小値a,bの最新データに基づき
判別される補正係数LMDの目標収束値(=1.0)に
対する偏差に従って運転領域別の空燃比学習制御を行う
。尚、かかる学習制御の内容については、図7〜図10
のフローチャートに示してあり、後で詳細に説明する。 一方、ステップ35では、ステップ34における空燃比
学習制御の結果を受けて、改めて現在の運転条件に対応
する学習補正係数KBLRC を設定し、次のステップ
36では、次回の比例制御時におけるステップ31の判
別のために、ステップ35で新たに設定した学習補正係
数KBLRC を前回値としてKBLRC old に
セットする。
【0052】ここで、前記ステップ34における空燃比
学習制御の内容を、図7〜図10のフローチャートに示
す空燃比学習プログラムに従って説明する。まず、ステ
ップ51では、全運転領域に共通の空燃比学習補正値で
ある学習補正係数KBLRC φ(初期値1)が学習済
であるか否かを示すフラグFφの判別を行う。ここで、
フラグFφがゼロであって学習補正係数 KBLRCφ
の学習が済んでいないときには、ステップ52へ進み、
前記補正係数LMDの最大・最小値a,bの平均値(←
(a+b)/2)が、補正係数LMDの目標収束値であ
る1.0 (初期値)に略等しいか否かを判別する。
【0053】そして、ステップ52で(a+b)/2が
略1でないと判別されたときには、ステップ54へ進み
、(a+b)/2から補正係数LMDの目標収束値Ta
rget(本実施例では前述のように初期値である1.
0 )を減算した値に所定係数Xを掛けた値を前回まで
の学習補正係数KBLRC φに加算し、該加算結果を
新たな学習補正係数KBLRC φとして設定する。
【0054】 KBLRC φ←KBLRC φ+X{(a+b)/2
−Target  }また、ステップ54では、4×4
格子マップ及び16×16格子マップのそれぞれの区分
運転領域毎に記憶される学習補正係数KBLRC1及び
学習補正係数KBLRC2に全て初期値である1.0 
をセットして、初期状態に戻しておく。従って、上記学
習補正係数KBLRC φを新たに学習更新するときに
は、たとえそれまでに4×4格子マップ及び16×16
格子マップに学習値が記憶されていても、そのデータを
リセットした上で全運転領域に共通の学習補正係数KB
LRC φからの学習を行わせるものである。
【0055】一方、前記ステップ52で補正係数LMD
の平均値(a+b)/2が略1であると判別されると、
ステップ53で前記フラグFφに1をセットして、全運
転領域に対応する学習補正係数 KBLRCφの学習が
済んでいること、換言すれば、学習補正係数 KBLR
Cφを学習更新させた結果、空燃比フィードバック補正
係数LMDが目標収束値の1.0 に略収束したことが
判別できるようにする。
【0056】また、ステップ51で前記フラグFφが1
であると判別された場合には、全運転領域に対応する学
習補正係数 KBLRCφの学習が済んでいることを示
すから、今度は運転領域を基本燃料噴射量Tpと機関回
転速度Nとに基づいて複数に区分した各運転領域毎の空
燃比学習を行う。まず、ステップ55では、前回の空燃
比反転時(比例制御時)に16×16格子マップ上で該
当する運転領域の切り替えがあったか否か、換言すれば
、前々回の空燃比反転時における16×16格子マップ
上の該当運転領域と、前回の空燃比反転時における16
×16格子マップ上の該当運転領域とが異なっていたか
否かを判別する。
【0057】ここで、前回の空燃比反転時(比例制御時
)に、16×16格子マップ上の該当運転領域の切り替
えがあったと判別されたときには、ステップ56へ進み
、かかる該当運転領域の切り替えに伴う学習補正係数K
BLRC の変化方向と、前回の比例制御時における空
燃比フィードバック補正係数LMDの変化方向とが一致
していたか否かを、前回の空燃比反転時における学習補
正係数KBLRC の変化方向を示す前記フラグFm1
と、前回の空燃比反転時における補正係数LMDの比例
制御による変化方向を示す前記フラグFz1とが等しい
か否かによって判別する。
【0058】例えば、図16に示すように、前回の空燃
比反転時に該当運転領域の切り替えがあり、このときに
学習補正係数KBLRC が増大変化し、かつ、空燃比
フィードバック補正係数LMDが比例制御によって増大
制御されたときには、学習補正係数KBLRC と補正
係数LMDとの両方によってリッチ化制御を行っている
状態であるから、前回の空燃比反転時から今回までの補
正係数LMDの積分制御による増大は、かかる積分制御
中に用いられた切り替え後の学習補正係数KBLRC 
(図16中A示の学習補正係数KBLRC であり、前
回の空燃比反転時の該当運転領域に対応する学習補正値
)に影響されたものではなく、切り替え前の学習補正係
数KBLRC (図16中B示の学習補正係数KBLR
C であり、前々回の空燃比反転時の該当運転領域に対
応する学習補正値)が適正値に対して低過ぎたことを補
償するためであったと推定される。
【0059】従って、このようなときには、今回の空燃
比反転時に新たに判別される該当運転領域の学習補正係
数KBLRC を学習更新すべきではなく、前々回の空
燃比反転時に該当すると判別された運転領域に対応する
学習補正係数KBLRC を、今回の空燃比反転によっ
て求められる補正係数LMDの平均値に基づいて学習更
新すべきである。
【0060】このため、ステップ56でフラグFm1と
フラグFz1とが等しいと判別され、前回の空燃比反転
時における学習補正係数KBLRC の変化方向と補正
係数LMDの変化方向とが等しい場合には、ステップ5
7へ進み、学習マップ上の該当運転領域を決定するため
の基本燃料噴射量Tpm及び機関回転速度Nmとして、
前々回の空燃比反転時における基本燃料噴射量Tp2及
び機関回転速度N2をセットし、今回新たに求められる
補正係数LMDの平均値に基づいて前々回の空燃比反転
時に該当していた運転領域の空燃比学習を行わせるよう
にする。
【0061】一方、例えば、図15に示すように、前回
の空燃比反転時に該当運転領域の切り替えがあり、この
ときに学習補正係数KBLRC が増大変化し、空燃比
フィードバック補正係数LMDが比例制御によって逆に
減少制御されたときには、学習補正係数KBLRC の
過大な増大変化による空燃比のリッチ化を、補正係数L
MDの減少制御によって補償したのもと推定される。
【0062】従って、このようなときには、今回の空燃
比反転時に新たに判別される該当運転領域の学習補正係
数KBLRC を学習更新すべきではなく、前回の空燃
比反転時に該当すると判別された運転領域に対応する学
習補正係数KBLRC を、今回の空燃比反転によって
求められる補正係数LMDの平均値に基づいて学習更新
すべきである。
【0063】このため、ステップ56でフラグFm1と
フラグFz1とが異なると判別され、前回の空燃比反転
時における学習補正係数KBLRC の変化方向と補正
係数LMDの変化方向とが異なる場合には、ステップ5
8へ進み、学習マップ上の該当運転領域を決定するため
の基本燃料噴射量Tpm及び機関回転速度Nmとして、
前回の空燃比反転時における基本燃料噴射量Tp1及び
機関回転速度N1をセットし、今回新たに求められる補
正係数LMDの平均値に基づいて前回の空燃比反転時に
該当していた運転領域の空燃比学習を行わせるようにす
る。
【0064】また、ステップ55で、前回の空燃比反転
時に該当運転領域の切り替えがなかったと判別されたと
き、換言すれば、前々回の該当運転領域と前回の該当運
転領域とが等しいときには、前回の空燃比反転時から今
回の空燃比反転時までの間における空燃比フィードバッ
ク補正係数LMDの積分制御は、何れにしても前回の空
燃比反転時に該当していた運転領域に対応する学習補正
係数KBLRC が用いられている間に対応しているの
で、ステップ58へ進み、学習マップ上の該当運転領域
を決定するための基本燃料噴射量Tpm及び機関回転速
度Nmとして、前回の空燃比反転時における基本燃料噴
射量Tp1及び機関回転速度N1をセットする。
【0065】上記のように、今回の空燃比反転時に求め
られる補正係数LMDの平均値の目標収束値に対する偏
差を学習し、該偏差に基づいて運転領域別の空燃比学習
補正値を更新設定するときに、今回の空燃比反転時にお
ける基本燃料噴射量Tpと機関回転速度Nとが含まれる
運転領域を対象とするのではなく、前記偏差の要因とな
ったと予測される運転領域を、前回空燃比反転時におけ
る学習補正係数KBLRC の変化方向と比例制御によ
る補正係数LMDの変化方向とを比較して特定するよう
にした。このため、学習補正係数KBLRC が不適切
であるためにベース空燃比ずれが発生したときに、空燃
比学習が不適切であるためにかかるベース空燃比ずれの
要因となった運転領域の学習を確実に行わせることがで
き、空燃比ずれの要因ではない運転領域が誤って学習さ
れて空燃比学習が発散し、フィードバック制御の周期が
延びてしまうことを回避できるようになる。
【0066】尚、本実施例では、前回空燃比反転時にお
ける学習補正係数KBLRC の変化方向と比例制御に
よる補正係数LMDの変化方向とを比較して、前回又は
前々回の空燃比反転時における該当運転領域を学習領域
として特定するようにしたが、簡易的には前回の空燃比
反転時における該当運転領域を学習領域として常時特定
するようにしても、図15に示すような特性のときには
所望の学習を行わせることができるので、空燃比反転時
に該当している運転領域を対象とした学習を行わせる場
合に比べ空燃比学習制御性を改善できる。
【0067】上記のようにして学習すべき運転領域を特
定するための基本燃料噴射量Tpmと機関回転速度Nm
とをそれぞれに設定すると、次のステップ59では、今
回の空燃比反転時における学習補正係数KBLRC の
変化方向と比例制御による補正係数LMDの変化方向と
をそれぞれに示すフラグFmとフラグFzとを、それぞ
れ前回の空燃比反転時における変化方向を示すデータと
してFm1,Fz1にセットする。また、このステップ
59では、今回の空燃比反転時における基本燃料噴射量
Tpと機関回転速度Nとを、それぞれ前回データとして
Tp1,N1にセットする一方、それまでにTp1,N
1にセットされていた前回の空燃比反転時におけるデー
タを、それぞれ前々回のデータとしてTp2,N2にセ
ットする。
【0068】次のステップ60では、前述のようにして
設定された基本燃料噴射量Tpmと機関回転速度Nmと
が、16×16格子マップ上及び4×4格子マップ上で
それぞれ含まれる運転領域を検出する。ここで、本実施
例では、前述のように16×16格子マップ上の該当運
転領域が座標〔K,I〕で示され、4×4格子マップ上
の該当運転領域が座標〔B,A〕で示される(図13参
照)。
【0069】次のステップ61では、4×4格子マップ
上の該当する領域位置を示す〔B,A〕を用い、4×4
格子上で該当する運転領域が変化したか否かを判別する
ために、前記Aに16を乗算した値とBとを加算してそ
の結果をABにセットする。そして、ステップ62では
前回演算されたABであるABOLD と最新のABと
を比較することにより、4×4格子マップ上で今回該当
する運転領域と前回に該当していた運転領域とが同じで
あるか否かを判別する。AB≠ABOLD であって、
4×4格子マップ上で該当する領域が前回と異なるとき
には、ステップ63でカウント値cnt に所定値(例
えば4)をセットする。
【0070】ステップ64では、次回におけるステップ
62での判別のために、今回ステップ61で演算したA
Bを前回値としてABOLD にセットする。ステップ
65では、4×4格子マップにおいて〔B,A〕を座標
として指示される学習運転領域で空燃比学習が終了して
いるか否かを示すフラグF〔B,A〕を判別し、このフ
ラグF〔B,A〕がゼロであって4×4格子マップ上の
学習運転領域で学習が終了していないときには、ステッ
プ66へ進む。
【0071】ステップ66では前記カウント値cnt 
がゼロであるか否かを判別し、ゼロでなく4×4格子マ
ップにおける学習運転領域の変動があるときには、その
まま本プログラムを終了させ、カウント値cnt がゼ
ロであって4×4格子マップ上で学習すべき運転領域が
安定しているときにのみステップ67へ進む。ステップ
67では、空燃比フィードバック補正係数LMDの最大
・最小値a,bの平均値(a+b)/2、即ち、補正係
数LMDの中心値が、補正係数LMDの目標収束値であ
る初期値(=1)付近であるか否かによって学習の進行
を判別し、略1であると認められず、学習が済んでいな
いときにはステップ69へ進む。
【0072】ステップ69では、4×4格子マップにお
いて今回学習運転領域として特定された〔B,A〕領域
に対応して記憶されている学習補正係数KBLRC1に
対して、最大・最小値a,bの平均値から目標収束値T
arget(本実施例では1.0)を減算した値に所定
係数X1を掛けた値を加算し、その結果を4×4格子マ
ップ上で特定された学習運転領域〔B,A〕に対応する
学習補正係数KBLRC1として新たに更新設定する。
【0073】     KBLRC1〔B,A〕←KBLRC1〔B,
A〕+X1{(a+b)/2−Target  }  
ステップ67で、(a+b)/2が略1であると判別さ
れれば、学習領域として特定された4×4格子マップ上
の〔B,A〕領域での学習が終了したことになるから、
ステップ68でフラグF〔B,A〕に1をセットし、フ
ラグF〔B,A〕が1である領域については学習が終了
していることが判別されるようにする。
【0074】このような4×4格子マップ上の領域〔B
,A〕での学習中においては、更に細かい16×16格
子マップにおいて前記〔B,A〕に含まれる4×4=1
6領域それぞれにおける学習補正係数KBLRC2につ
いては、ステップ70でこれを全て初期値1にリセット
する。このように、4×4格子マップで学習が終了して
いない領域があるときには、その運転領域で安定したと
きに(a+b)/2の目標値Targetからの偏差の
所定割合を、それまでに記憶されていた学習補正係数K
BLRC1に加算して更新することにより、空燃比フィ
ードバック補正係数LMDの代わりに学習補正係数KB
LRC1による補正で目標空燃比が得られるようにし、
空燃比フィードバック補正係数LMDが目標収束値であ
る初期値1に略収束した時点でその運転領域の学習が終
了したものとする。
【0075】一方、ステップ65で、フラグF〔B,A
〕が1であると判別され、4×4格子マップの学習運転
領域が学習済であるときには、学習補正係数KBLRC
1が記憶されている4×4格子マップ上の運転領域〔B
,A〕を、更に16領域に細分する16×16格子学習
マップの該当領域における学習へ移行する。ステップ7
1では、補正係数LMDの平均値である(a+b)/2
が、目標収束値の1に略一致しているか否かの判別を行
い、(a+b)/2が略1でなく空燃比フィードバック
補正係数LMDによる補正を必要としている未学習状態
であるときには、ステップ72へ進む。
【0076】ステップ72では、(a+b)/2から目
標収束値Target(本実施例では1.0 )を減算
した値に所定係数X2を掛けた値を、16×16格子学
習マップ上での学習領域として特定された運転領域〔K
,I〕に対応してそれまでに記憶されていた学習補正係
数KBLRC2〔K,I〕に加算し、この加算結果を当
該運転領域〔K,I〕における新たな補正係数KBLR
C2〔K,I〕として更新設定する。
【0077】     KBLRC2〔K,I〕←KBLRC2〔K,
I〕+X2{(a+b)/2−Target  }  
一方、ステップ71で、補正係数LMDの平均値である
(a+b)/2が目標収束値Targetの1に略一致
していると判別されたときには、ステップ73へ進み、
16×16格子マップ上の学習運転領域として特定され
た運転領域〔K,I〕の学習が終了したことが判別され
るようにフラグFF〔K,I〕に1をセットする。
【0078】そして、ステップ74以降では、今回学習
が終了したと判別され対応するフラグFF〔K,I〕に
1がセットされた16×16格子マップ上の学習運転領
域〔K,I〕に基づき、この領域〔K,I〕に隣接する
運転領域(図14参照)で学習が終了していない運転領
域がある場合に、その運転領域に今回の運転領域〔K,
I〕に対応して記憶されている学習補正係数KBLRC
2と同じ値を更新記憶させる制御を行う。
【0079】ステップ74では、16×16格子マップ
において学習領域として特定された領域位置の座標を示
す〔K,I〕からそれぞれ1を減算した値をm(←K−
1),n(←I─1)にセットし、次のステップ75で
は、m=K+2であるか否かを判別する。ステップ74
からステップ75へ進んだときには、ステップ75でN
Oの判別が下されるから、ステップ76に進んで〔m,
n〕で示される16×16格子のうちの1つの運転領域
の学習が終了しているか否かを、フラグFF〔m,n〕
が1であるかゼロであるかによって判別する。
【0080】ここで、フラグFF〔m,n〕がゼロであ
って学習が終了していないときには、ステップ77へ進
む。 このステップ77では、前記16×16格子上の領域座
標〔m,n〕を4×4格子上の領域座標〔m/4,n/
4〕に変換して、〔B,A〕と等しいか否かを判別する
ことで、学習領域として特定された領域〔K,I〕に隣
接する領域〔m,n〕が、同じ領域〔B,A〕に含まれ
ているか否かを判別する。
【0081】即ち、〔K,I〕は〔B,A〕に含まれる
領域であるが、〔K,I〕の周囲の領域は、4×4格子
マップ上で〔B,A〕に隣接する別の領域に含まれる場
合があるためであり、同じ〔B,A〕に含まれる領域で
あるときには(〔m/4,n/4〕=〔B,A〕)、ス
テップ78へ進み、今回学習済であると判別された〔K
,I〕領域に対応する学習補正係数KBLRC2をその
まま〔m,n〕領域の学習値として更新記憶させる。
【0082】一方、ステップ77で〔K,I〕に隣接す
る〔m,n〕が、4×4格子マップ上で異なる領域に含
まれると判別されたときには、ステップ79へ進み、か
かる領域〔m,n〕に以下の式で算出される学習補正係
数KBLRC2を格納させる。KBLRC2〔m,n〕
←KBLRC1〔B,A〕+KBLRC2〔K,I〕−
KBLRC1〔m/4,n/4〕上記のKBLRC2〔
m,n〕を求める演算式は、〔K,I〕と〔m,n〕と
は16×16格子上で隣接する領域であるから、最終的
な補正要求としては近似しているはずであるという推測
に基づくものであり、それぞれが含まれる4×4格子マ
ップの学習補正係数KBLRC1が異なるので、それぞ
れ異なるKBLRC1〔B,A〕,KBLRC1〔m/
4,n/4〕との合計が、以下の式にように近似するも
のとして設定されている。
【0083】   KBLRC1〔B, A〕+KBLRC2〔K, 
I〕=KBLRC1〔m/4, n/4〕+KBLRC
2〔m, n〕  上記のようにして〔m,n〕領域が
学習済であるときには、その学習値を更新することなく
、また、未学習であるときには、KBLRC2〔K,I
〕に基づき隣接する領域〔m,n〕のKBLRC2を更
新設定すると、ステップ80では、前記mを1アップさ
せて再びステップ75に戻り、m=K+2となるまで、
即ち、nを一定としてmをKを中心とする±1の範囲で
動かし、各運転領域毎に学習済・未学習を判別する。
【0084】そして、ステップ80におけるmの1アッ
プ処理の結果、ステップ75でm=K+2であると判別
されると、今度はステップ81へ進みn=I+2である
か否かを判別し、n≠I+2であるときには、ステップ
82で再びmをK−1にセットし、次のステップ83で
nを1アップさせた後、ステップ76へ進む。従って、
最初はn=I−1としてmをKを中心とする±1の範囲
で動かして隣接する領域の判別を行わせたのに対し、次
はn=IとしてmをKを中心とする±1の範囲で動かし
、更に、次にはn=I+1としてmをKを中心とする±
1の範囲で動かし、結果、〔K,I〕を囲む8つの運転
領域(図14参照)について未学習であるときには、学
習補正係数KBLRC2〔K,I〕に基づく値をその運
転領域の学習補正係数KBLRC2〔m,n〕として記
憶させるものである。
【0085】このように学習済の領域の学習結果を回り
の未学習領域にも適用させるようにすれば、16×16
格子の学習マップのように運転領域を細分化してあるた
めに各運転領域の学習機会が少ない場合であっても、運
転領域間で空燃比制御性に大きな段差が発生することを
防止できる。ステップ81でn=I+2であると判別さ
れたときには、〔K,I〕を囲む8つの運転領域全ての
判別処理が終わったことになるので、このときには、ス
テップ72へ進んで、今回の領域〔K,I〕において既
に学習済であると判断されている学習補正係数KBLR
C2の学習更新を行わせ、更に学習精度の向上を図る。
【0086】このように、本実施例では、まず、全運転
領域に対応する学習補正係数KBLRCφを学習した後
に、4×4格子の学習マップで区分される運転領域毎の
学習を行わせ、更に、この4×4格子の学習マップで学
習が済んでいる領域についてはその領域を更に4×4格
子に分けて学習(16×16格子学習マップの学習)を
行わせるようにしたので、大きな運転領域から小さな運
転領域での学習へと進行することになり、大きな運転領
域での学習により空燃比の収束性が確保されると共に、
学習が進行すればより細かな運転領域毎の学習が行われ
るから、運転領域の違いによる要求補正値の違いに精度
良く対応できる。
【0087】また、特に16×16格子の学習マップの
学習に当たって、空燃比反転時(補正係数LMDの比例
制御時)に該当していた運転領域ではなく、前述のよう
に、空燃比ずれの要因となった運転領域(空燃比フィー
ドバック補正係数LMDの目標収束値に対する発生偏差
に相関する運転領域)を、前回の空燃比反転時における
学習補正係数KBLRC 及び補正係数LMDの変化方
向に基づいて特定して学習させるようにしたので、16
×16格子の学習マップのように運転領域を細かく分け
て学習させるときに、該当運転領域の変動が頻繁であっ
ても、空燃比ずれの要因となっている所望領域での学習
を確実に行わせることができる。
【0088】このため、16×16格子マップにおいて
空燃比ずれの要因でない運転領域に対して誤学習がなさ
れ、これにより空燃比フィードバック制御の周期が長く
なって排気特性を悪化させることを防止できると共に、
16×16格子学習マップの学習収束性を改善できるも
のである。尚、本実施例の4×4格子の学習マップでは
、該当運転領域が一定しているときにはのみ学習を行わ
せるようにしたので、本発明にかかる学習領域の特定を
実質的には行う必要がなかったが、該当運転領域が一定
していることを学習条件としない場合には16×16格
子学習マップの学習と同様にして学習領域を特定するこ
とで、ベース空燃比ずれの要因以外の運転領域への誤学
習を防止できる。
【0089】上記のようにして設定される空燃比フィー
ドバック補正係数LMD及び学習補正係数KBLRC 
は、図11のフローチャートに示すプログラムにおける
燃料噴射量Tiの演算設定に用いられる。図11のフロ
ーチャートに示すプログラムは、所定微小時間(例えば
10ms) 毎に実行されるものであり、まず、ステッ
プ111 では、エアフローメータ13で検出された吸
入空気流量Q及びクランク角センサ14からの検出信号
に基づき算出した機関回転速度Nを入力する。
【0090】そして、次のステップ112 では、ステ
ップ111 で入力した吸入空気流量Qと機関回転速度
Nとに基づいて単位回転当たりの吸入空気流量Qに対応
する基本燃料噴射量Tp(←K×Q/N;Kは定数)を
演算する。次のステップ113 では、前記ステップ1
12 で演算した基本燃料噴射量Tpに各種の補正を施
して最終的な燃料噴射量(燃料供給量)Tiを演算する
。ここで、基本燃料噴射量Tpの補正に用いられる補正
値は、前述のように比例・積分制御により設定される空
燃比フィードバック補正係数LMD、該空燃比フィード
バック補正係数LMDの目標収束値に対する偏差を運転
領域別に学習して得た学習補正係数KBLRC 、水温
センサ15で検出される冷却水温度Twに基づく基本補
正係数や始動後増量補正係数等を含んで設定される各種
補正係数COEF、バッテリ電圧の変化による燃料噴射
弁6の有効噴射時間の変化を補正するための補正分Ts
であり、Ti←Tp×LMD×KBLRC×COEF+
Tsとして最終的な燃料噴射量Tiが所定時間毎に更新
される。
【0091】コントロールユニット12は所定の燃料噴
射タイミングになると、上記図11のフローチャートに
示すプログラムに従って最新に演算された燃料噴射量T
iに相当するパルス巾の駆動パルス信号を燃料噴射弁6
に対して出力し、機関1への燃料供給量を制御する。ま
た、図12のフローチャートに示すプログラムは、前記
図5のフローチャートに従ってサンプリングされる学習
補正値の不適切度合いを示す「ストレス」に基づく処理
を行うプログラムであり、バックグラウンドジョブ(B
GJ)として実行される。
【0092】ステップ121 では、図5のフローチャ
ートのステップ27において、空燃比学習補正値の不適
切度合いとして積算される「ストレス」と、所定値(例
えば0.8)とを比較して、学習が殆ど終了していると
きの空燃比ずれ度合いが所定以上であるか否かを判別す
る。ここで、前記ストレスが所定値を越えるときには、
学習が殆ど終了しているものの、その学習結果が不適切
で大きな空燃比ずれが発生しているものと判断し、大き
な運転領域に対応する学習補正係数KBLRC からの
再度学習(学習反復)を行わせるためにステップ122
 へ進む。
【0093】ステップ122 では、各運転領域の空燃
比学習が終了しているか否かを判別するためのフラグF
φ,F〔0,0〕〜F〔3,3〕,FF〔0,0〕〜F
F〔16,16〕を全てゼロリセットし、全運転領域に
対応する学習補正係数KBLRC φからの学習が行わ
れるようにすると共に、ストレスをゼロリセットする。 このように、空燃比フィードバック補正係数LMDの基
準値に対する偏差の度合い(ストレス)が所定以上に大
きくなったときに、学習をやり直すようにすれば、例え
ば吸気系に穴が開くなどの事故によってベース空燃比が
急激に変化したときに、大きな運転領域に対応する学習
が再度行われることになるから、空燃比を速やかに収束
させることができる。
【0094】尚、本実施例では、4×4格子の学習マッ
プと16×16格子の学習マップとを備えるようにした
が、例えば4×4格子の学習マップ又は16×16格子
の学習マップのみを備える構成であっても良く、4×4
格子の学習マップのみを備える場合には、前回の空燃比
反転時に4×4格子マップ上で該当運転運転領域が切り
替わったか否かを判別し、該当運転領域の切り替えがあ
ったときには、かかる該当運転領域の切り替えに伴う学
習補正係数KBLRC の変化方向と補正係数LMDの
変化方向とを比較して、4×4格子マップ上で学習させ
るべき運転領域を特定させるようにすれば良い。但し、
本実施例のように学習領域を前回の空燃比反転時又は前
々回の空燃比反転時に特定するのは、特に学習領域を細
かく区切った学習マップを備え、該当運転領域が頻繁に
変化するときに有効である。
【0095】また、本実施例では、運転領域別の学習マ
ップにおいて、運転領域を区分するパラメータとして基
本燃料噴射量Tpと機関回転速度Nとを用いたが、これ
らに限定するものではなく、ブースト等の運転条件を用
いても良いことは明らかであり、更に、運転領域の区分
数を上記実施例に限定するものでないことは明らかであ
る。
【0096】
【発明の効果】以上説明したように本発明によると、空
燃比フィードバック補正値の目標収束値に対する偏差を
、複数に区分された運転領域毎に学習して、前記運転領
域別の空燃比学習補正値を修正書き換えするに当たって
、学習時に該当している運転領域ではなく、空燃比ずれ
の要因となった運転領域を学習領域として特定して学習
させることができるようになり、空燃比ずれの要因では
ない運転領域に対して誤った学習がなされることで、空
燃比フィードバック制御の周期が延びたり、学習の収束
性が悪化することを防止できるようになるという効果が
ある。
【図面の簡単な説明】
【図1】本発明の構成を示すブロック図。
【図2】本発明の一実施例を示すシステム概略図。
【図3】空燃比制御の概要を示すフローチャート。
【図4】空燃比フィードバック制御の内容を示すフロー
チャート。
【図5】空燃比フィードバック制御の内容を示すフロー
チャート。
【図6】空燃比フィードバック制御の内容を示すフロー
チャート。
【図7】空燃比学習制御の内容を示すフローチャート。
【図8】空燃比学習制御の内容を示すフローチャート。
【図9】空燃比学習制御の内容を示すフローチャート。
【図10】空燃比学習制御の内容を示すフローチャート
【図11】燃料噴射量の設定制御の内容を示すフローチ
ャート。
【図12】空燃比学習の反復に関わる制御内容を示すフ
ローチャート。
【図13】実施例における学習マップの様子を示す線図
【図14】実施例における学習済の運転領域に隣接する
運転領域の座標位置を示す線図。
【図15】従来の空燃比学習における問題点と同上実施
例における学習特性とを示すタイムチャート。
【図16】従来の空燃比学習における問題点と同上実施
例における学習特性とを示すタイムチャート。
【符号の説明】
1    機関 6    燃料噴射弁 12    コントロールユニット 13    エアフローメータ 14    クランク角センサ 15    水温センサ 16    酸素センサ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】機関に吸入される空気量に関与する運転パ
    ラメータを少なくとも含む機関運転条件を検出する運転
    条件検出手段と、該運転条件検出手段で検出した機関運
    転条件に基づいて基本燃料供給量を設定する基本燃料供
    給量設定手段と、機関吸入混合気の空燃比を検出する空
    燃比検出手段と、該空燃比検出手段で検出された実際の
    空燃比と目標空燃比とを比較して実際の空燃比を目標空
    燃比に近づけるように前記基本燃料供給量を補正するた
    めの空燃比フィードバック補正値を設定する空燃比フィ
    ードバック補正値設定手段と、機関運転条件に基づき複
    数に区分される運転領域別に前記基本燃料供給量を補正
    するための空燃比学習補正値をそれぞれ書き換え可能に
    記憶した学習補正値領域別記憶手段と、該学習補正値領
    域別記憶手段における複数の運転領域の中で前記空燃比
    フィードバック補正値の目標収束値に対する発生偏差に
    相関する運転領域を特定する学習領域特定手段と、前記
    空燃比フィードバック補正値の目標収束値からの偏差を
    学習し、前記偏差を減少させる方向に前記学習領域特定
    手段で特定される運転領域に対応して前記学習補正値領
    域別記憶手段に記憶されている空燃比学習補正値を修正
    して書き換える学習修正手段と、前記基本燃料供給量、
    空燃比フィードバック補正値、及び、学習補正値領域別
    記憶手段に記憶されている該当する区分運転領域の空燃
    比学習補正値に基づいて最終的な燃料供給量を設定する
    燃料供給量設定手段と、該燃料供給量設定手段で設定さ
    れた燃料供給量に基づいて燃料供給手段を駆動制御する
    燃料供給制御手段と、を含んで構成されたことを特徴と
    する内燃機関の空燃比学習制御装置。
  2. 【請求項2】前記学習修正手段が、実際の空燃比の目標
    空燃比に対するリッチ・リーン反転時において求められ
    た空燃比フィードバック補正値の目標収束値からの偏差
    に基づき空燃比学習補正値を修正するよう構成されると
    共に、前記学習領域特定手段が、前回の空燃比反転時に
    該当していた運転領域を最新の空燃比反転時に求められ
    た前記偏差に基づき学習すべき運転領域として特定する
    ことを特徴とする請求項1記載の内燃機関の空燃比学習
    制御装置。
  3. 【請求項3】前記学習修正手段が、実際の空燃比の目標
    空燃比に対するリッチ・リーン反転時において求められ
    た空燃比フィードバック補正値の目標収束値からの偏差
    に基づき空燃比学習補正値を修正するよう構成されると
    共に、前記学習領域特定手段が、前回の空燃比反転時の
    該当運転領域と前々回の空燃比反転時の該当運転領域が
    異なり、かつ、かかる該当運転領域の変化に伴う空燃比
    学習補正値の変化方向と前回の空燃比反転時における空
    燃比フィードバック補正値の変化方向とが一致するとき
    に、前々回の空燃比反転時の該当運転領域を最新の空燃
    比反転時に求められた前記偏差に基づき学習すべき運転
    領域として特定し、前記該当運転領域の変化がなかった
    とき又は前記変化方向が不一致であったときに前回の空
    燃比反転時の該当運転領域を学習すべき運転領域として
    特定するよう構成されたことを特徴とする請求項1記載
    の内燃機関の空燃比学習制御装置。
JP40435290A 1990-12-20 1990-12-20 内燃機関の空燃比学習制御装置 Pending JPH04219440A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP40435290A JPH04219440A (ja) 1990-12-20 1990-12-20 内燃機関の空燃比学習制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP40435290A JPH04219440A (ja) 1990-12-20 1990-12-20 内燃機関の空燃比学習制御装置

Publications (1)

Publication Number Publication Date
JPH04219440A true JPH04219440A (ja) 1992-08-10

Family

ID=18514030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP40435290A Pending JPH04219440A (ja) 1990-12-20 1990-12-20 内燃機関の空燃比学習制御装置

Country Status (1)

Country Link
JP (1) JPH04219440A (ja)

Similar Documents

Publication Publication Date Title
JPH0826805B2 (ja) 内燃機関の空燃比学習制御装置
JP4607163B2 (ja) エンジン制御装置
JPH03179147A (ja) 内燃機関の空燃比学習制御装置
JP2927074B2 (ja) 内燃機関の空燃比制御装置
JPH04219440A (ja) 内燃機関の空燃比学習制御装置
JPS5910764A (ja) 内燃機関の空燃比制御方法
JPS61190142A (ja) 内燃機関の学習制御装置
JPH04241756A (ja) 内燃機関の空燃比学習制御装置
JP2715208B2 (ja) 内燃機関の空燃比学習制御装置
JPH04237847A (ja) 内燃機関の空燃比学習制御装置
JPH04318250A (ja) 内燃機関の燃料供給装置における自己診断装置
JPH0979072A (ja) 内燃機関の空燃比学習制御装置
JPH04321741A (ja) 内燃機関の空燃比学習制御装置
JP2631579B2 (ja) 内燃機関の空燃比学習制御装置
JPH066213Y2 (ja) 内燃機関の空燃比の学習制御装置
JP2627825B2 (ja) 内燃機関の空燃比学習制御装置
JP2640566B2 (ja) 内燃機関の空燃比学習制御装置
JPH04318247A (ja) 内燃機関の空燃比学習制御装置
JPH04255544A (ja) 内燃機関の空燃比学習制御装置
JPS6270641A (ja) 内燃機関の学習制御装置
JPH04255545A (ja) 内燃機関の空燃比学習制御装置
JPH04175434A (ja) 内燃機関の空燃比学習制御装置
JPH04318246A (ja) 内燃機関の空燃比学習制御装置
JPH01106954A (ja) 内燃機関の学習制御装置
JPH05156988A (ja) 内燃機関の空燃比制御装置