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

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

Info

Publication number
JPH04318247A
JPH04318247A JP8673091A JP8673091A JPH04318247A JP H04318247 A JPH04318247 A JP H04318247A JP 8673091 A JP8673091 A JP 8673091A JP 8673091 A JP8673091 A JP 8673091A JP H04318247 A JPH04318247 A JP H04318247A
Authority
JP
Japan
Prior art keywords
learning
air
fuel ratio
area
correction coefficient
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
JP8673091A
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 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 JP8673091A priority Critical patent/JPH04318247A/ja
Publication of JPH04318247A publication Critical patent/JPH04318247A/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】空燃比フィードバック補正制御は、目標空
燃比(例えば理論空燃比)に対する実際の空燃比のリッ
チ・リーンを機関排気系に設けた酸素センサにより判別
し、該判別結果に基づき空燃比フィードバック補正係数
LMDを比例・積分制御などにより設定し、機関に吸入
される空気量に関与する機関運転状態のパラメータ(例
えば吸入空気流量Qと機関回転速度N)から算出される
基本燃料噴射量Tpを、前記空燃比フィードバック補正
係数LMDで補正することで、実際の空燃比を目標空燃
比にフィードバック制御するものである。
【0004】ここで、前記空燃比フィードバック補正係
数LMDの基準値(目標収束値)からの偏差を、複数に
区分された運転領域毎に学習して学習補正係数KBLR
C(空燃比学習補正値)を定め、基本燃料噴射量Tpを
前記学習補正係数KBLRC により補正して、補正係
数LMDなしで得られるベース空燃比が略目標空燃比に
一致するようにし、空燃比フィードバック制御中は更に
前記補正係数LMDで補正して燃料噴射量Tiを演算す
るものである。
【0005】これにより、運転条件毎に異なる空燃比の
補正要求に対応した燃料補正が行え、空燃比フィードバ
ック補正係数LMDを基準値付近に安定させて、空燃比
制御性を向上させることができる。
【0006】
【発明が解決しようとする課題】ところで、前記運転領
域別の空燃比学習補正係数KBLRC は、前述のよう
に運転条件の違いによる空燃比補正要求の違いに対応す
べく設定されるものであるから、運転領域を極力細かく
区分してそれぞれの運転領域毎に学習補正係数KBLR
C を学習設定させることが望まれる。しかしながら、
運転領域を細かく区分して狭い運転領域毎に学習補正係
数KBLRC を学習させるようにすると、それぞれの
運転領域における学習機会が減少し、学習の収束性が悪
化すると共に、学習済領域と未学習領域とが混在するこ
とになって、運転領域間で大きな空燃比段差が発生して
しまう。
【0007】そこで、本出願人は、機関運転条件に基づ
く同一運転領域を相互に大きさの異なる単位運転領域に
基づきそれぞれ複数に区分してなる複数の学習マップを
備えるようにし、これら複数の学習マップの中でより大
きな単位運転領域で運転領域を区分する学習マップから
学習を行わせ、学習進行と共により小さな単位運転領域
別の学習へと移行するよう構成し、各学習マップの該当
領域に対応する学習補正値を検索し、これら複数の学習
補正値に基づいて最終的な空燃比学習補正値を設定する
ようにした空燃比学習制御装置を、先に提案した(特願
平1−282883号参照)。
【0008】かかる空燃比学習によれば、学習初期は大
きな単位運転領域別に学習させることで学習収束性が確
保され、学習が進行すればより細かな単位運転領域別の
学習により運転条件の違いによる補正要求の違いに精度
良く対応した学習が行えるものである。しかしながら、
上記の構成であっても、細かく運転領域を区切る学習マ
ップの学習においては、各単位運転領域において均等に
学習機会を得ることは困難であるため、該当単位運転領
域の学習補正値の書き換えを行うときに、前記該当単位
運転領域の周囲の単位運転領域も、前記該当領域と同じ
学習補正値に書き換えてしまう制御を行わせ、学習機会
がなかなか得られない領域についても略適正値が設定さ
れるようにした。
【0009】ところで、上記のように、区分数が相互に
異なる複数の学習マップで構成した場合には、細かく運
転領域を区分した学習マップ上での該当単位運転領域の
周囲の領域が、より大きく運転領域を区分した学習マッ
プ上での同じ単位運転領域に含まれるとは限らず、該当
単位運転領域の学習補正値と同じ学習補正値を周囲の全
ての領域にそのまま適用させると、誤差が生じることが
あった。
【0010】例えば、図17に示すように、比較的大き
く運転領域を区分する学習マップ上のA領域内に含まれ
る別のより細かく運転領域を区分した学習マップ上の該
当領域aの学習結果を、そのまま周囲の8つの隣接領域
にも適用させようとした場合に、前記隣接領域の中には
、前記領域Aとは異なるB領域に含まれるものもある。 ここで、領域Aにおける学習値をK1、領域Bにおける
学習値をK1’とし、今回学習された領域aに対応する
学習値をK2とすると、領域aに隣接する領域の中で同
じ領域A内に含まれる領域については、最終的に該当領
域と同じくK1とK2とに基づいて最終的な学習補正値
が設定されることになるが、領域aに隣接する領域の中
で領域Bに含まれる領域については、K1’とK2とに
基づいて最終的な学習補正値が設定されることになる。 このため、領域aに隣接する領域であるのに、領域Aに
含まれるか領域Bに含まれるかによって最終的な学習補
正結果に段差を生じることになり、領域aに隣接する領
域ではその補正要求レベルが近似するという前提の基に
、隣接領域に同じ学習値を適用させるようにしたのに、
結果として、隣接する領域間で補正レベルに段差が生じ
、かかる段差発生により空燃比段差が発生してしまうと
いう問題があった。
【0011】本発明は上記問題点に鑑みなされたもので
あり、上記のように学習マップ上の該当領域に対応する
空燃比学習補正値の書き換えを行うときに、前記該当領
域の学習補正値に基づいて隣接する領域それぞれに対応
する空燃比学習補正値についても適正値に書き換えるこ
とができるようにすることを目的とする。
【0012】
【課題を解決するための手段】そのため本発明にかかる
内燃機関の空燃比学習制御装置は、図1に示すように構
成される。図1において、機関運転条件検出手段は、機
関に吸入される空気量に関与する運転パラメータを少な
くとも含む機関運転条件を検出し、該検出された機関運
転条件に基づいて基本燃料供給量設定手段が基本燃料供
給量を設定する。
【0013】また、空燃比フィードバック補正値設定手
段は、空燃比検出手段で検出される実際の空燃比と目標
空燃比とを比較して実際の空燃比を前記目標空燃比に近
づけるように前記基本燃料供給量を補正するための空燃
比フィードバック補正値を設定する。一方、空燃比学習
補正値記憶手段は、機関運転条件に基づく同一運転領域
を相互に大きさの異なる単位運転領域に基づきそれぞれ
複数に区分してなる複数の学習マップを備え、前記複数
の学習マップの各単位運転領域毎に前記基本燃料供給量
を補正するための空燃比学習補正値を書き換え可能に記
憶する。
【0014】空燃比学習手段は、前記空燃比フィードバ
ック補正値の目標収束値からの偏差を学習し、前記空燃
比学習補正値記憶手段における各学習マップの該当単位
運転領域に対応して記憶されている前記空燃比学習補正
値を前記偏差を減少させる方向に修正して書き換える空
燃比学習を、より大きな単位運転領域を優先させて行わ
せる。
【0015】ここで、隣接領域書き換え手段は、前記複
数の学習マップのうちより大きな単位運転領域で運転領
域を区分する学習マップが他に存在する学習マップにお
いて、前記空燃比学習手段で該当単位運転領域に対応す
る空燃比学習補正値が書き換えられるときに、前記書き
換えが行われる該当単位運転領域に対して運転条件の近
い同一学習マップ上の複数の単位運転領域それぞれにお
ける空燃比学習補正値を、前記書き換えられる学習マッ
プ上の単位運転領域に対応する空燃比学習補正値と、該
単位運転領域がそれぞれ含まれる他の学習マップ上の単
位運転領域に対応する空燃比学習補正値とによる総合的
な補正レベルが、前記書き換えが行われる該当単位運転
領域における補正レベルと略同レベルになるように書き
換える。
【0016】そして、燃料供給量設定手段は、前記基本
燃料供給量,空燃比フィードバック補正値及び前記空燃
比学習補正値記憶手段における複数の学習マップそれぞ
れの該当運転領域の空燃比学習補正値に基づいて最終的
な燃料供給量を設定し、燃料供給制御手段は、前記設定
された燃料供給量に基づいて燃料供給手段を駆動制御す
る。
【0017】
【作用】かかる構成の空燃比学習制御装置によると、同
一学習マップ上で、該当する単位運転領域と共に、かか
る該当単位運転領域に対して運転条件の近い複数の単位
運転領域(以下、隣接領域という。)の空燃比学習補正
値を書き換えるときに、前記該当領域に対応する空燃比
学習補正値をそのまま隣接領域に対応させて記憶させる
のではなく、前記書き換えが行われる学習マップよりも
大きな単位運転領域で運転領域が複数に区分される学習
マップ(以下、上位学習マップという。)を参照し、上
位学習マップ上での学習補正値を含めた総合的な補正レ
ベルが、隣接領域と当該単位運転領域との間で略同一に
なるように、隣接領域の空燃比学習補正値を書き換える
ものである。
【0018】即ち、前記該当単位運転領域が含まれる前
記上位学習マップ上の単位運転領域に対応して学習され
ている空燃比学習補正値と、該当運転領域に対応して書
き換えられた新たな空燃比学習補正値とに基づく総合的
な学習補正レベルを求め、前記隣接領域が含まれる上位
学習マップ上の単位運転領域に対応して学習されている
空燃比学習補正値と、隣接領域に対応する学習補正値と
に基づく総合的な補正レベルが、前記該当領域における
総合的な補正レベルと略同じレベルになるように、隣接
領域に対応する学習補正値を設定させるものである。こ
こで、隣接領域が含まれる上位学習マップ上の領域と、
該当領域が含まれる上位学習マップ上の領域とが同一で
あれば、同一の学習補正値が隣接領域にも設定されるこ
とになるが、上位学習マップ上で含まれる領域が異なり
、該異なる領域間で異なる学習値が学習されているとき
には、かかる学習補正値の差に応じた差をもった学習補
正値が隣接領域に対して設定されることになる。
【0019】
【実施例】以下に本発明の実施例を説明する。一実施例
を示す図2において、内燃機関1にはエアクリーナ2か
ら吸気ダクト3,スロットル弁4及び吸気マニホールド
5を介して空気が吸入される。吸気マニホールド5の各
ブランチ部には、各気筒別に燃料供給手段としての燃料
噴射弁6が設けられている。この燃料噴射弁6は、ソレ
ノイドに通電されて開弁し、通電停止されて閉弁する電
磁式燃料噴射弁であって、後述するコントロールユニッ
ト12からの駆動パルス信号により通電されて開弁し、
図示しない燃料ポンプから圧送されてプレッシャレギュ
レータにより所定の圧力に調整された燃料を、機関1に
噴射供給する。
【0020】機関1の各燃焼室には点火栓7が設けられ
ていて、これにより火花点火して混合気を着火燃焼させ
る。そして、機関1からは、排気マニホールド8,排気
ダクト9,三元触媒10及びマフラー11を介して排気
が排出される。コントロールユニット12は、CPU,
ROM,RAM,A/D変換器及び入出力インタフェイ
スを含んで構成されるマイクロコンピュータを備え、各
種のセンサからの入力信号を受け、後述の如く演算処理
して、燃料噴射弁6の作動を制御する。
【0021】前記各種のセンサとしては、吸気ダクト3
中にエアフローメータ13が設けられていて、機関1の
吸入空気流量Qに応じた信号を出力する。また、クラン
ク角センサ14が設けられていて、本実施例の4気筒の
場合、クランク角180 °毎の基準信号REFと、ク
ランク角1°又は2°毎の単位信号POSとを出力する
。ここで、基準信号REFの周期、或いは、所定時間内
における単位信号POSの発生数を計測することにより
、機関回転速度Nを算出できる。
【0022】また、機関1のウォータジャケットの冷却
水温度Twを検出する水温センサ15が設けられている
。 ここで、上記エアフローメータ13,クランク角センサ
14,水温センサ15等が本実施例における機関運転条
件検出手段に相当し、機関に吸入される空気量に関与す
る運転パラメータとは、本実施例において吸入空気流量
Q及び機関回転速度Nである。
【0023】また、排気マニホールド8の集合部に空燃
比検出手段としての酸素センサ16が設けられ、排気中
の酸素濃度を介して吸入混合気の空燃比を検出する。前
記酸素センサ16は、排気中の酸素濃度が理論空燃比(
本実施例における目標空燃比)を境に急変することを利
用して、実際の空燃比の理論空燃比に対するリッチ・リ
ーンを検出する公知のものであり、本実施例では、理論
空燃比よりもリッチ空燃比であるときには比較的高い電
圧信号を出力し、逆にリーン空燃比であるときには0V
付近の低い電圧信号を出力するものとする。
【0024】ここにおいて、コントロールユニット12
に内蔵されたマイクロコンピュータのCPUは、図3〜
図14のフローチャートにそれぞれ示すROM上のプロ
グラムに従って演算処理を行い、空燃比フィードバック
補正制御及び運転領域毎の空燃比学習補正制御を実行し
つつ燃料噴射量Tiを設定し、機関1への燃料供給を制
御する。
【0025】尚、本実施例において、基本燃料供給量設
定手段,燃料供給量設定手段,燃料供給制御手段,空燃
比フィードバック補正値設定手段,空燃比学習手段,隣
接領域書き換え手段としての機能は、前記図3〜図14
のフローチャートに示すようにソフトウェア的に備えら
れており、また、空燃比学習補正値記憶手段としてはコ
ントロールユニット12に内蔵された図示しないマイク
ロコンピュータのバックアップ機能付のRAMが相当す
る。
【0026】図3及び図4のフローチャートに示すプロ
グラムは、基本燃料噴射量Tpに乗算される空燃比フィ
ードバック補正係数LMD(空燃比フィードバック補正
値)を、比例・積分制御により設定するプログラムであ
り、機関1の1回転(1rev)毎に実行される。尚、
前記空燃比フィードバック補正係数LMDの初期値(空
燃比学習制御による補正係数LMDの目標収束値Tar
get) は1.0 である。
【0027】まず、ステップ1(図中ではS1としてあ
る。以下同様)では、酸素センサ(O2 /S)16か
ら排気中の酸素濃度に応じて出力される電圧信号を読み
込む。そして、次のステップ2では、ステップ1で読み
込んだ酸素センサ16からの電圧信号と、目標空燃比(
理論空燃比)相当のスライスレベル(例えば500mV
)とを比較して、機関吸入混合気の空燃比が目標空燃比
に対してリッチであるかリーンであるかを判別する。
【0028】酸素センサ16からの電圧信号がスライス
レベルよりも大きく空燃比がリッチであると判別された
ときには、ステップ3へ進み、今回のリッチ判別が初回
であるか否かを判別する。リッチ判別が初回であるとき
には、ステップ4へ進んで前回までに設定されている空
燃比フィードバック補正係数LMDを最大値aにセット
する。リッチ判別が初回であるということは、前回まで
はリーン判別がなされており、これによって空燃比フィ
ードバック補正係数LMDの増大制御(=燃料噴射量T
iの増大補正)が行われていたものであり、リッチ判別
されると今度は補正係数LMDを減少制御するから、リ
ッチ判別初回の減少制御前の値が補正係数LMDの最大
値ということになる。
【0029】次のステップ5では、前回までの補正係数
LMDから所定の比例定数Pだけ減算して補正係数LM
Dの減少制御を図る。また、ステップ6では、比例制御
を実行したことを示すフラグである「P分付加」に1を
セットする。一方、ステップ3で、リッチ判別が初回で
ないと判別されたときには、ステップ7へ進み、積分定
数Iに最新の燃料噴射量Tiを乗算した値を、前回まで
の補正係数LMDから減算して補正係数LMDを更新し
、空燃比のリッチ状態が解消されてリーンに反転するま
での間、本プログラムが実行される毎にこのステップ7
でI×Tiずつの減少制御を繰り返す。
【0030】また、ステップ2で酸素センサ16からの
電圧信号がスライスレベルよりも小さく空燃比が目標に
対してリーンであると判別されたときには、リッチ判別
のときと同様にして、まず、ステップ8で今回のリーン
判別が初回であるか否かを判別し、初回であるときには
、ステップ9へ進んで前回までの補正係数LMD、即ち
、リッチ判別時に徐々に減少制御されていた補正係数L
MDを最小値bにセットする。
【0031】次のステップ10では、前回までの補正係
数LMDに比例定数Pを加算して更新することにより燃
料噴射量Tiの増量補正を図り、ステップ11では、比
例制御が実行されたことを示すフラグである前記「P分
付加」に1をセットする。ステップ8でリーン判別が初
回でないと判別されたときには、ステップ12へ進み、
積分定数Iに最新の燃料噴射量Tiを乗算した値を、前
回までの補正係数LMDに加算し、補正係数LMDを徐
々に増大させる。
【0032】リッチ・リーン判別の初回で補正係数LM
Dの比例制御を実行したときには、更に、空燃比学習補
正制御に関わる後述するような各種処理を行う。尚、本
実施例では、図15に示すように、全運転領域を基本燃
料噴射量Tpと機関回転速度Nとをパラメータとして複
数の単位運転領域に区分する空燃比学習補正値の学習マ
ップを2つ備えており、一方は全運転領域を16の単位
運転領域に区分してそれぞれの単位運転領域別に学習補
正係数KBLRC1を記憶した16領域学習マップであ
り、他方は、全運転領域を256 の単位運転領域に区
分してそれぞれの単位運転領域別に学習補正係数KBL
RC2を記憶する256 領域学習マップであり、16
領域学習マップの1つの単位運転領域が256 領域学
習マップにより更に16領域に細分されるようになって
いる。即ち、機関運転条件(Tp,N)に基づく同一運
転領域を相互に大きさの異なる単位運転領域に基づきそ
れぞれ複数に区分してなる2つの学習マップを備えてい
る。
【0033】また、上記のように運転領域を区分しない
で全運転条件で適用される学習補正係数KBLRC φ
も学習設定されるようにしてあり、2つの学習マップか
らそれぞれ該当する運転領域の学習補正係数KBLRC
1,KBLRC2 を検索し、これらと前記学習補正係
数KBLRC φとによって基本燃料噴射量Tpが補正
されるようになっている。空燃比フィードバック補正係
数LMDの比例制御が行われたときには、まず、ステッ
プ13で、16領域学習マップ上の1つの運転領域に安
定して止まっている状態か否かを判別するためのカウン
ト値cntの判別を行う。
【0034】後述する図5〜図8のフローチャートに示
すプログラムにおいて、16領域学習マップ上で該当す
る運転領域が所定微小時間毎に変化しているときに、前
記カウント値cntには所定値(例えば4)がセットさ
れるようになっており、ステップ13でカウント値cn
tがゼロでないと判別されると、ステップ14へ進んで
カウント値cntを1ダウンさせる処理を行うから、1
6領域学習マップ上の1つの運転領域に止まるようにな
ってからカウント値cntは補正係数LMDの比例制御
毎に1ダウンされることになり、カウント値cntがゼ
ロであるときには16領域学習マップ上の1つの運転領
域に安定して止まっている状態であると見做すことがで
きるようにしてある。
【0035】尚、前記カウント値cntがゼロであるか
否かを判別することで、後述するように学習更新を行う
か否かを判別し、16領域学習マップ上で該当する運転
領域が変化した初期には学習が行われないようにしてあ
る。ステップ15では、後述するように、前記16領域
学習マップの殆どの運転領域で対応する学習補正係数K
BLRC1が学習済であるときに1がセットされるフラ
グflagの判別を行う。
【0036】前記フラグflagが1であって、16領
域学習マップの学習が殆ど終了している状態であるとき
には、ステップ16へ進む。ステップ16では、運転条
件が前回と略同じであるか否かを判別し、前回と略同じ
でない場合にのみステップ17へ進む。ステップ17で
は、最新の補正係数LMD平均値(a+b)/2の目標
収束値Target(=1.0)に対する偏差の絶対値
に基づいて、学習値の不適切度合いを示すΔストレスの
マップを参照し、補正係数LMDの目標収束値Targ
etに対する偏差の増大に応じてΔストレスを増大設定
する。
【0037】ステップ15において16領域学習マップ
のそれぞれの運転領域に対応する学習補正係数KBLR
C1が殆ど学習されていると判別されているから、本来
であれば、運転条件が変化しても補正係数LMDは略目
標収束値Target付近で安定しているはずであるが
、運転条件が変化したときに補正係数LMDが大きく変
動した場合には、学習に不備があるものと推定し前記Δ
ストレスをより大きく設定する。
【0038】そして、前記Δストレスの積算値がセット
される「ストレス」に今回求めたΔストレスを加算する
。後述するように、前記ストレスが所定以上になると、
既に学習済の空燃比学習補正係数が不適切であるものと
判断し、学習を最初からやり直させるようになっている
。図5〜図8のフローチャートに示すプログラムは、運
転領域別の空燃比学習プログラムであり、所定微小時間
(例えば10ms) 毎に実行される。
【0039】ステップ21では、前記図3及び図4のフ
ローチャートに示すプログラムで空燃比フィードバック
補正係数LMDの比例制御を行ったときに1がセットさ
れるフラグ「P分付加」の判別を行い、P分付加が1で
あるときには、ステップ22へ進みP分付加をゼロリセ
ットした後、本プログラムによる各種処理を行い、ゼロ
であるときにはそのまま本プログラムを終了させる。
【0040】ステップ22でP分付加をゼロリセットす
ると、次のステップ23では、全運転領域に共通の空燃
比学習補正値である学習補正係数KBLRC φ(初期
値1.0 )が学習済であるか否かを示すフラグFφの
判別を行う。ここで、フラグFφがゼロであって学習補
正係数 KBLRCφの学習が済んでいないときには、
ステップ24へ進み、前記補正係数LMDの最大・最小
値a,bの平均値(←(a+b)/2)が略1.0 で
あるか否かを判別する。
【0041】(a+b)/2が略1.0 でないときに
は、ステップ26へ進み、(a+b)/2から補正係数
LMDの目標収束値Target(本実施例では1.0
 )を減算した値に所定係数Xを掛けた値を前回までの
学習補正係数KBLRC φに加算し、該加算結果を新
たな学習補正係数KBLRC φとして設定する。 KBLRC φ←KBLRC φ+X{(a+b)/2
−Target}また、ステップ26では、16領域学
習マップ及び256 領域学習マップそれぞれの運転領
域に記憶されている学習補正係数KBLRC1,学習補
正係数KBLRC2を全て初期値である1.0 にリセ
ットする。従って、上記学習補正係数KBLRC φを
学習更新するときには、たとえ16領域学習マップ及び
256 領域学習マップで学習値が学習更新されていて
も、そのデータを全てリセットした状態で、換言すれば
、学習補正係数KBLRC φのみで補正係数LMDが
目標収束値Targetに収束するように、学習補正係
数KBLRC φの学習を行わせるものである。
【0042】前記ステップ24で(a+b)/2が略1
であると判別されると、ステップ25で前記フラグFφ
に1をセットして、全運転領域に対応する学習補正係数
 KBLRCφの学習が済んでいること、換言すれば、
学習補正係数 KBLRCφを学習更新させた結果空燃
比フィードバック補正係数LMDが略1に収束したこと
が判別できるようにする。
【0043】一方、ステップ23で前記フラグFφが1
であると判別された場合には、全運転領域に対応する学
習補正係数 KBLRCφの学習が済んでいることを示
すから、今度は運転領域を基本燃料噴射量Tpと機関回
転速度Nとに基づいて複数に区分した運転領域別の空燃
比学習を行う。まず、ステップ27では、256 領域
学習マップ上で、現在の運転条件が該当する領域〔K,
I〕を検出する。ここで、図15に示すように、Kは機
関回転速度Nをパラメータとして区切られる格子上での
該当位置を示し、Iは基本燃料噴射量Tpをパラメータ
として区切られる格子上での該当位置を示す。
【0044】また、次のステップ28では、16領域学
習マップ上で、現在の運転条件が該当する領域〔B,A
〕を検出する。ここでも、Bが機関回転速度Nをパラメ
ータとする格子位置を示し、Aが基本燃料噴射量Tpを
パラメータとする格子位置を示すものとする。そして、
次のステップ29では、16領域学習マップ上での該当
領域が前回と同一であるか否かを判別する。そして、1
6領域学習マップ上で該当運転領域が変化したときには
、ステップ30へ進んで、前記ステップ14で1ダウン
されるカウント値cnt に所定値(例えば4)をセッ
トする。
【0045】ステップ31では、16領域学習マップに
おいて〔B,A〕を座標として指示される現在の運転条
件が含まれる運転領域で空燃比学習が終了しているか否
かを示すフラグF〔B,A〕を判別し、このフラグF〔
B,A〕がゼロであって現在の運転条件が含まれる16
領域学習マップ上の1つの単位運転領域で学習が終了し
ていないときには、ステップ32へ進む。
【0046】ステップ32では前記カウント値cnt 
がゼロであるか否かを判別し、カウント値cnt がゼ
ロでなく16領域学習マップにおける該当領域の変動が
あるときには、そのまま本プログラムを終了させ、カウ
ント値cnt がゼロであって16領域学習マップ上で
該当する運転領域が安定しているときにのみステップ3
3へ進む。ステップ33では、前記図3及び図4のフロ
ーチャートに示したプログラムでサンプリングされる空
燃比フィードバック補正係数LMDの最大・最小値a,
bの平均値(a+b)/2、即ち、補正係数LMDの中
心値が、目標収束値Targetである初期値(=1.
0)付近であるか否かによって学習の進行を判別する。 ここで、補正係数LMDの平均値が略1.0 であると
認められず学習が済んでいないときにはそのままステッ
プ35へ進み、補正係数LMDの平均値が略1.0 で
あって学習済であると認められるときには、ステップ3
4でフラグF〔B,A〕に1をセットしてからステップ
35へ進む。
【0047】ステップ35では、16領域学習マップに
おいて今回の〔B,A〕領域に対応して記憶されている
学習補正係数KBLRC1に対して、最大・最小値a,
bの平均値から目標収束値Target(本実施例では
1.0)を減算した値に所定係数X1を掛けた値を加算
し、その結果を16領域学習マップ上の今回の運転領域
〔B,A〕に対応する学習補正係数KBLRC1として
新たに設定し、マップデータの更新を行う。
【0048】     KBLRC1〔B,A〕←KBLRC1〔B,
A〕+X1 {(a+b)/2−Target}このよ
うな16領域学習マップ上の〔B,A〕領域の学習中に
おいては、256 領域学習マップにおいてこの〔B,
A〕領域に含まれる16領域の学習補正係数KBLRC
2については、ステップ36でこれを全て初期値1.0
 にリセットする。上記のように、16領域学習マップ
で学習が終了していない領域があるときには、その運転
領域で安定したときに空燃比フィードバック補正係数L
MDの平均値(a+b)/2の目標値Targetに対
する偏差の所定割合を、それまでに記憶されていた学習
補正係数KBLRC1に加算して更新することにより、
空燃比フィードバック補正係数LMDの代わりに学習補
正係数KBLRC φ及び学習補正係数KBLRC1に
よる補正で目標空燃比が得られるようにし、空燃比フィ
ードバック補正係数LMDが目標収束値Targetで
ある初期値1.0 に略収束した時点でその運転領域の
学習が終了したものとする。
【0049】一方、ステップ31で、フラグF〔B,A
〕が1であると判別され、16領域学習マップの該当す
る運転領域に学習済の学習補正係数KBLRC1が記憶
されているときには、ステップ37へ進み、学習補正係
数KBLRC1が記憶されている今回の16領域学習マ
ップ上の運転領域〔B,A〕を、更に16領域に細分す
る256 領域学習マップの学習へ移行する。
【0050】ステップ37では、補正係数LMDの平均
値である(a+b)/2が、目標収束値Targetの
1.0 に略一致しているか否かの判別を行い、(a+
b)/2が略1.0でなく空燃比フィードバック補正係
数LMDによる補正を必要としている未学習状態である
ときには、ステップ38へ進む。ステップ38では、(
a+b)/2から目標収束値Target(本実施例で
は1.0 )を減算した値に所定係数X2を掛けた値を
、256 領域学習マップの現在の運転条件が含まれる
運転領域〔K,I〕に対応して記憶されていた学習補正
係数KBLRC2〔K,I〕に加算し、この加算結果を
当該運転領域〔K,I〕における新たな補正係数KBL
RC2〔K,I〕として設定し、マップデータの更新を
行う。
【0051】   KBLRC2〔K, I〕←KBLRC2〔K, 
I〕+X2 {(a+b)/2−Target}一方、
ステップ37で、補正係数LMDの平均値である(a+
b)/2が目標収束値Targetの1.0 に略一致
していると判別されたときには、ステップ39へ進み、
256 領域学習マップの現在の運転条件が含まれる運
転領域〔K,I〕の学習が終了したことが判別されるよ
うにフラグFF〔K,I〕に1をセットする。
【0052】そして、ステップ40以降では、今回学習
が終了したと判別された256 領域学習マップ上の所
定運転領域〔K,I〕に対して同一マップ上で隣接する
運転条件の近い複数の運転領域(図16参照)それぞれ
に対して、該当領域〔K,I〕における学習補正係数K
BLRC2に基づき推定される適正な学習補正係数KB
LRC2を設定する制御を行う。
【0053】ステップ40では、256 領域学習マッ
プにおいて現在の運転条件が含まれる領域位置を示すK
,Iからそれぞれ1を減算した値をm,nにセットし、
次のステップ41ではm=K+2であるか否かを判別す
る。ステップ40からステップ41へ進んだときにはス
テップ41でNOの判別が下されるから、ステップ42
に進んで〔m,n〕で示される256 領域学習マップ
上の運転領域の学習が終了しているか否かを、フラグF
F〔m,n〕が1であるかゼロであるかによって判別す
る。
【0054】ここで、フラグFF〔m,n〕がゼロであ
って学習が終了していないときには、ステップ43へ進
む。 このステップ43では、前記256 領域学習マップ上
における領域位置〔m,n〕を16領域学習マップ上の
領域位置〔m/4,n/4〕に変換することで、領域〔
m,n〕が16領域学習マップ上で含まれる領域を特定
する。そして、256 領域学習マップ上での該当領域
である〔K,I〕に隣接する領域〔m,n〕が、16領
域学習マップ上で〔K,I〕と同じ〔B,A〕領域に含
まれるか否かを判別する。
【0055】即ち、〔K,I〕は〔B,A〕に含まれる
領域であるが、〔K,I〕の隣接領域は、16領域学習
マップ上で〔B,A〕に隣接する別の領域に含まれる場
合があるためであり、該当領域〔K,I〕と隣接領域〔
m,n〕とが同じ〔B,A〕に含まれるときには(〔m
/4,n/4〕=〔B,A〕)、ステップ44へ進み、
今回学習済であると判別された〔K,I〕領域に対応す
る学習補正係数KBLRC2をそのまま隣接領域〔m,
n〕の学習値として記憶させる。
【0056】一方、ステップ43で該当領域〔K,I〕
の隣接領域〔m,n〕が、16領域学習マップ上で異な
る領域に含まれると判別されたときには(〔m/4,n
/4〕≠〔B,A〕)、ステップ45へ進み、隣接領域
〔m,n〕に以下の式で算出される学習補正係数KBL
RC2を格納させる。   KBLRC2〔m,n〕←KBLRC1〔B,A〕
+KBLRC2〔K,I〕−KBLRC1〔m/4,n
/4〕上記のKBLRC2〔m,n〕を求める演算式は
、〔K,I〕と〔m,n〕とは256領域学習マップ上
で隣接する領域であるから、最終的な補正要求としては
近似しているはずであるという推測に基づくものであり
、それぞれが含まれる16領域学習マップの学習補正係
数KBLRC1が異なるので、それぞれ異なるKBLR
C1〔B,A〕,KBLRC1〔m/4,n/4〕との
合計が、以下の式に示すように近似するものとして設定
されている。
【0057】   KBLRC1〔B,A〕+KBLRC2〔K,I〕
=KBLRC1〔m/4,n/4〕+KBLRC2〔m
,n〕尚、最終的な学習補正係数KBLRC は、本実
施例において後述するように、学習補正係数KBLRC
 φ,KBLRC1, KBLRC2 が加算されて設
定されるから、上記のように256 領域学習マップ上
での隣接領域における最終的な補正レベルを略同一にす
るための処理には、学習補正係数KBLRC φを加味
する必要があるが、前記学習補正係数KBLRC φは
全運転領域に適用されるので省略してある。また、例え
ば学習補正係数KBLRC φ,KBLRC1, KB
LRC2 が相互に乗算されて最終的な学習補正係数K
BLRC が設定される場合には、 KBLRC2 〔
m,n〕←KBLRC1〔B,A〕×KBLRC2〔K
,I〕/KBLRC1〔m/4,n/4〕として隣接領
域〔m,n〕の学習補正係数KBLRC2を更新させれ
ば良い。
【0058】このように、256 領域学習マップ上で
学習された該当領域に隣接する未学習領域にそのまま無
条件に該当領域における学習済の補正係数KBLRC2
を設定するのではなく、最終的な補正レベルが該当領域
と隣接領域とで略同一レベルになるように隣接領域にお
ける学習補正係数KBLRC2を更新設定させるように
してあり、これにより、該当領域での学習結果を精度良
く隣接領域にも波及させることができ、256 領域学
習マップのように運転領域を細分化して各運転領域の学
習機会が少ない場合であっても、運転領域間で空燃比制
御性に段差が発生することを防止できる。
【0059】上記のようにして〔m,n〕領域が学習済
であるときには、その学習値を更新することなく、また
、未学習であるときには、KBLRC2〔K,I〕に基
づきKBLRC2〔m,n〕を更新設定すると、ステッ
プ46では、前記mを1アップさせて再びステップ41
に戻り、m=K+2となるまで、即ち、nを一定として
mをKを中心とする±1の範囲で動かし、各運転領域毎
に学習済・未学習を判別する。
【0060】そして、ステップ46におけるmの1アッ
プ処理の結果ステップ41でm=K+2であると判別さ
れると、今度はステップ47へ進みn=I+2であるか
否かを判別し、n≠I+2であるときには、ステップ4
8で再びmをK−1にセットし、次のステップ49では
nを1アップさせた後、ステップ42へ進む。従って、
最初はn=I−1としてmをKを中心とする±1の範囲
で動かして隣接する領域の判別を行わせたのに対し、次
はn=IとしてmをKを中心とする±1の範囲で動かし
、更に、次にはn=I+1としてmをKを中心とする±
1の範囲で動かし、結果、〔K,I〕を囲む8つの運転
領域(図16参照)について未学習であるときには、学
習補正係数KBLRC2〔K,I〕に基づく値をその運
転領域の学習補正係数KBLRC2〔m,n〕として記
憶させるものである。
【0061】ステップ47でn=I+2であると判別さ
れたときには、〔K,I〕を囲む8つの運転領域全ての
判別処理が終わったことになるので、このときには、ス
テップ38へ進んで、今回の領域〔K,I〕において既
に学習済であると判断されている学習補正係数KBLR
C2の学習更新を行わせる。尚、本実施例では、運転領
域を複数に区分した学習マップとして、16領域学習マ
ップと256 領域学習マップとの2つを備える構成と
したが、例えば、前記学習マップの他に運転領域を64
の単位運転領域に区分する学習マップを備える場合であ
って、256 領域学習マップ上での学習済領域に隣接
する未学習領域の学習補正係数KBLRC2を更新させ
るときには、16領域学習マップ,64領域学習マップ
及び256 領域学習マップそれぞれにおける学習補正
係数KBLRC による総合的な補正レベルが略同一と
なるように、隣接する未学習領域の学習補正係数KBL
RC2を書き換えれば良い。
【0062】前述のように、本実施例では、まず、全運
転領域に対応する学習補正係数KBLRC φを学習し
た後に、16領域学習マップ上での運転領域毎の学習を
行わせ、更に、この16領域学習マップの学習が済んで
いる領域については、その領域を更に16領域に分けて
学習を行わせるようにしたので、大きな運転領域から小
さな運転領域での学習へと進行することになり、大きな
運転領域での学習により空燃比の収束性が確保されると
共に、学習が進行すれば細かな運転領域毎の学習が行わ
れるから、運転条件の違いによる要求補正値の違いに精
度良く対応できる。
【0063】上記のようにして学習される3つの学習補
正係数KBLRC φ,KBLRC1, KBLRC2
に基づく最終的な空燃比学習補正係数KBLRC の設
定は、図9のフローチャートに示すプログラムに従って
行われる。図9のフローチャートに示すプログラムは、
バックグラウンドジョブ(BGJ)として処理されるも
のであり、まず、ステップ71では、16領域学習マッ
プ上の該当領域〔B,A〕に記憶されている学習補正係
数KBLRC1を読み出し、次のステップ72では、2
56 領域学習マップ上の該当領域〔K,I〕に記憶さ
れている学習補正係数KBLRC2を読み出す。尚、フ
ローチャート中に示すB×4+A及びK×16+Iは、
それぞれの領域位置をメモリ上の番地に換算するもので
ある。
【0064】ステップ73では、KBLRC φ+KB
LRC1+KBLRC2−2.0 →KBLRC とし
て最終的な学習補正係数KBLRC を設定する。上記
図9のフローチャートに示すプログラムで最終設定され
た学習補正係数KBLRC は、図10のフローチャー
トに示す燃料噴射量設定プログラムにおいて用いられる
【0065】図10のフローチャートに示す燃料噴射量
設定プログラムは、所定微小時間(例えば10ms) 
毎に実行されるものであり、まず、ステップ81では、
エアフローメータ13で検出された吸入空気流量Q及び
クランク角センサ14からの検出信号に基づき算出した
機関回転速度Nを入力する。そして、次のステップ82
では、ステップ81で入力した吸入空気流量Qと機関回
転速度Nとに基づいて単位回転当たりの吸入空気流量Q
に対応する基本燃料噴射量Tp(←K×Q/N;Kは定
数)を演算する。
【0066】次のステップ83では、前記ステップ82
で演算した基本燃料噴射量Tpに各種の補正を施して最
終的な燃料噴射量(燃料供給量)Tiを演算する。ここ
で、基本燃料噴射量Tpの補正に用いられる補正値は、
前記学習補正係数KBLRC 、空燃比フィードバック
補正係数LMD、及び、水温センサ15で検出される冷
却水温度Twに基づく基本補正係数や始動後増量補正係
数等を含んで設定される各種補正係数COEF、更に、
バッテリ電圧の変化による燃料噴射弁6の有効噴射時間
の変化を補正するための補正分Tsであり、Ti←Tp
×LMD×KBLRC ×COEF+Tsを演算して最
終的な燃料噴射量Tiが所定時間毎に更新される。
【0067】コントロールユニット12は所定の燃料噴
射タイミングになると、最新に演算された燃料噴射量T
iに相当するパルス巾の駆動パルス信号を燃料噴射弁6
に対して出力し、機関1への燃料供給量を制御する。ま
た、図11のフローチャートに示すプログラムは、前記
図3及び図4のフローチャートに示すプログラムに従っ
てサンプリングされる「ストレス」(空燃比フィードバ
ック補正係数LMDの目標収束値に対する偏差を積算し
た値)に基づく処理を行うプログラムであり、バックグ
ラウンドジョブ(BGJ)として実行される。
【0068】ステップ91では、空燃比学習補正値の不
適切度合いを示すパラメータとして、前記図3及び図4
のフローチャートに示すプログラムで設定されるストレ
スと、所定値(例えば0.8)とを比較して、学習が殆
ど終了しているときの空燃比フィードバック補正係数L
MDの変動度合い(ベース空燃比の変動度合い)が所定
以上であるか否かを判別する。
【0069】ここで、前記ストレスが所定値を越えると
きには、学習が殆ど終了しているものの、その学習結果
が不適切で空燃比ずれが発生しているものと判断し、学
習補正係数KBLRC φからの学習を再度行わせるた
めにステップ92へ進む。ステップ92では、各運転領
域の空燃比学習が終了しているか否かを判別するための
フラグFφ,F〔0,0〕〜F〔3,3〕,FF〔0,
0〕〜FF〔16,16〕を全てゼロリセットすると共
に、後述するように16領域学習マップ上で殆どの領域
が学習済となったときに1がセットされるフラグfla
g(図4におけるステップ15で判別されるフラグ)も
ゼロリセットし、更に、上記のようにして学習が最初か
らやり直されることになるから、ストレスについてもこ
れをゼロリセットする。
【0070】このように、空燃比フィードバック補正係
数LMDの基準値に対する偏差の度合いが所定以上に大
きくなったときに、学習をやり直すようにすれば、例え
ば吸気系に穴が開くなどの事故によって空燃比が急激に
変化したときに、大きな運転領域毎の学習が再度行われ
ることになるから、空燃比を速やかに目標空燃比に収束
させることができる。
【0071】次に図12〜図14のフローチャートに示
すプログラムに従って行われる細分領域に基づくより大
きな区分運転領域の学習補正係数の補正を説明する。こ
の図12〜図14のフローチャートに示すプログラムは
、バックグラウンドジョブ(BGJ)として実行される
ものであり、まず、ステップ101 では、全運転領域
に対応する学習補正係数 KBLRCφが学習済である
ときに1がセットされるフラグFφの判別を行い、前記
フラグFφがゼロであるときにはそのまま本プログラム
を終了させるが、1であるときにはステップ102 以
降へ進む。
【0072】ステップ102 では、本プログラムで使
用する各種パラメータであるSum,W,X,Yの初期
設定を行う。ここで、Sumは、16領域学習マップの
各運転領域で学習済である領域に記憶されている学習補
正係数KBLRC1の積算値であり、初期値として1.
0 がセットされ、前記Wはかかる積算演算におけるサ
ンプリング数をカウントアップするもので、初期値とし
ては1がセットされる。また、X,Yは、16領域学習
マップにおける格子位置を指定するものであり、初期値
としてそれぞれにゼロがセットされる。
【0073】次のステップ103 では、上記ステップ
102 でゼロリセットされるX,Yを座標位置とする
フラグF〔X,Y〕(16領域学習マップ上の各領域別
の学習済判別フラグ)の判別を行い、X,Yで指示され
る16領域学習マップ上の運転領域において学習済の領
域を探す。 X,Yは初期値ゼロであるから、〔0,0〕の運転領域
で未学習であるときには、ステップ104 でXが1ア
ップされて〔1,0〕となり、ステップ105 ではX
が4でないと判別されることにより再びステップ103
 での判別が行われる。
【0074】このようにしてXがステップ104 で1
アップされた結果4になると、ステップ106 でXを
ゼロリセットすると共に今度はYを1アップさせ、ステ
ップ107 でYが4であると判別されるまでは再びス
テップ103 へ戻り、ステップ104 へ進むとXが
1アップされるから、結果、Yを固定してXを変化させ
ることを繰り返して、16領域学習マップにおける各運
転領域でのフラグF〔X,Y〕が判別されるようになっ
ている。
【0075】ここで、16領域学習マップの運転領域で
フラグF〔X,Y〕が1であると判別される領域がある
と、ステップ103 からステップ108 へ進む。ス
テップ108 では、フラグF〔X,Y〕が1であると
判別され学習済である16領域学習マップ上の領域〔X
,Y〕に対応する学習補正係数KBLRC1〔X,Y〕
を、それまでの積算値Sumに加算すると共に、該加算
の回数(換言すれば積算サンプル数)をカウントするた
めにサンプリング数Wを1アップさせる。
【0076】そして、次のステップ109 では、前記
16領域学習マップ上の〔X,Y〕領域に含まれる25
6 領域学習マップ上の16領域において、学習済であ
る領域それぞれに対応する学習補正係数KBLRC2の
積算値Sump 及び学習済領域数Zを検出する。そし
て、次のステップ110 では、学習済領域〔X,Y〕
に含まれる16領域の中での学習済の領域数であるZと
所定値(例えば12)とを比較し、所定値を越える学習
済領域があるときには、ステップ111 へ進む。
【0077】ステップ111 では、〔X,Y〕領域に
含まれる学習済の領域に記憶されていた学習補正係数K
BLRC2の平均値(Sump/Z)と目標収束値Ta
rgetとの偏差の絶対値が、所定値(例えば0.04
)未満であるか否かを判別する。そして、前記偏差が所
定値を越える場合には、本来16領域学習マップの学習
補正係数KBLRC1〔X,Y〕で負担すべき補正分が
、256 領域学習マップの学習補正係数KBLRC2
に付加されているものと見做し、前記付加分を学習補正
係数KBLRC1側に転嫁すべくステップ112 へ進
む。
【0078】ステップ112 では、今回学習済である
と判別された16領域学習マップ上の領域〔X,Y〕に
記憶されていた学習補正係数KBLRC1〔X,Y〕を
、以下の式に従って学習更新する。     KBLRC1〔X,Y〕←KBLRC1〔X,
Y〕+(Sump /Z−Target)×γ即ち、上
記演算式によって256 領域学習マップが平均的に負
担している補正分を、それらを含む領域に対応する16
領域学習マップ側に転嫁して、256 領域学習マップ
による補正分を目標収束値Target=1.0 付近
に近づけるものである。
【0079】このように、256 領域学習マップが平
均的に負担している補正分をそれらを含む領域に対応す
る16領域学習マップ側に転嫁した場合には、その分2
56 領域学習マップ上の学習補正係数KBLRC2を
逆補正する必要があるため、ステップ113 の処理を
行う。即ち、次のステップ113 では、ステップ11
2 で補正された学習補正係数KBLRC1〔X,Y〕
の領域に含まれる256 領域学習マップ上の16領域
にそれぞれ記憶されている学習補正係数KBLRC2か
ら、学習補正係数KBLRC1に加算した分をそれぞれ
減算する。
【0080】このようにして、学習補正係数KBLRC
1に対する補正分を、学習補正係数KBLRC2に対し
て逆補正して修正すると、再びステップ104 へ戻っ
て16領域学習マップ上で学習済の領域を探し、学習済
の領域が検出されたときには、その都度前述のような処
理を繰り返すことになる。一方、ステップ110 で学
習済領域数Zが所定値以下であると判別されたときに、
及び、ステップ111 で256 領域学習マップ上の
学習補正係数KBLRC2が、充分に目標Target
に近いと判別されたときには、ステップ112 及びス
テップ113 をジャップしてステップ104 へ戻る
【0081】そして、16領域学習マップ上の全ての領
域について学習済の領域を調べると、ステップ107 
からステップ114 へ進むことになる。ステップ11
4 では、16領域学習マップ上での学習済領域の数を
カウントアップしたWが、所定値(例えば12)を越え
ているか否かを判別し、16領域学習マップの殆どの領
域が学習済であるかを判断する。
【0082】ここで、前記Wが所定値以下である場合に
は、ステップ115 でフラグflagにゼロをセット
してそのまま終了するが、前記Wが所定値を越えている
場合には、ステップ116 で前記フラグflagに1
をセットした後、ステップ117 以降で16領域学習
マップの学習済領域のデータに基づいて全運転領域に対
応する学習補正係数KBLRC φを修正する処理を行
う。
【0083】ステップ117 では、16領域学習マッ
プ上で学習済であると判別された領域における学習補正
係数KBLRC1の平均値(Sum/W)と、目標収束
値Targetとの偏差の絶対値が所定値未満であるか
否かを判別する。そして、前記偏差が所定値未満である
場合にはそのまま本プログラムを終了させるが、所定値
以上である場合には、本来、全運転領域に対応する学習
補正係数KBLRC φ側で負担すべき補正分が、学習
補正係数KBLRC1側に転嫁されているものと見做し
、かかる転嫁分を学習補正係数KBLRCφ側で負担さ
せるべくステップ118 へ進む。
【0084】ステップ118 では、以下の式に従って
学習補正係数KBLRC φの学習更新を行わせる。 KBLRCφ← KBLRCφ+(Sum/Z−Tar
get)×γ2即ち、16領域学習マップ上の学習済領
域で平均的に負担している補正分を、全運転領域で補正
する学習補正係数KBLRC φに転嫁して、学習補正
係数KBLRC1が目標収束値Target=1.0 
付近に学習されるようにするものである。
【0085】ここで、学習補正係数KBLRC1を同じ
領域の学習補正係数KBLRC2に基づいて補正した場
合と同様に、学習補正係数KBLRCφを補正した分を
、各学習補正係数KBLRC1に逆補正することが必要
になり、ステップ119 では、16領域学習マップの
全ての運転領域の学習補正係数KBLRC1それぞれか
ら、学習補正係数KBLRCφに加算補正した分(Su
m/Z−Target)×γ2を減算して修正する。
【0086】尚、上記実施例では、エアフローメータ1
3で検出された吸入空気流量Qと機関回転速度Nとに基
づき基本燃料噴射量Tpが演算される構成としたが、こ
の他、吸入圧力PBと機関回転速度Nとの組み合わせ、
又は、スロットル弁開度TVOと機関回転速度Nとに基
づいて基本燃料噴射量Tpが演算される構成であっても
良い。
【0087】
【発明の効果】以上説明したように本発明によると、複
数の学習マップを備えて構成された空燃比学習において
、比較的細かく運転領域が区分される学習マップ上の該
当領域に対応する空燃比学習補正値の書き換えを行うと
きに、前記該当領域の学習補正値に基づいて隣接する領
域それぞれに対応する空燃比学習補正値についても適正
値に書き換えることができ、運転領域を細かく区分した
学習マップにおいて領域間で補正レベルに段差が発生す
ることを抑止して、良好な空燃比学習補正を施すことが
できるようになるという効果がある。
【図面の簡単な説明】
【図1】本発明の構成を示すブロック図。
【図2】本発明の一実施例を示すシステム概略図。
【図3】空燃比フィードバック制御を示すフローチャー
ト。
【図4】空燃比フィードバック制御を示すフローチャー
ト。
【図5】空燃比学習制御を示すフローチャート。
【図6】空燃比学習制御を示すフローチャート。
【図7】空燃比学習制御を示すフローチャート。
【図8】空燃比学習制御を示すフローチャート。
【図9】空燃比学習補正係数の最終設定を示すフローチ
ャート。
【図10】燃料噴射量の設定を示すフローチャート。
【図11】学習の反復制御に関わる内容を示すフローチ
ャート。
【図12】学習結果の修正制御を示すフローチャート。
【図13】学習結果の修正制御を示すフローチャート。
【図14】学習結果の修正制御を示すフローチャート。
【図15】実施例における学習マップの様子を示す線図
【図16】実施例における学習マップの様子を示す線図
【図17】従来の学習制御の問題点を説明するための状
態図。
【符号の説明】
1    機関 6    燃料噴射弁 12    コントロールユニット 13    エアフローメータ 14    クランク角センサ 15    水温センサ 16    酸素センサ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】機関に吸入される空気量に関与する運転パ
    ラメータを少なくとも含む機関運転条件を検出する機関
    運転条件検出手段と、該機関運転条件検出手段で検出さ
    れた機関運転条件に基づいて基本燃料供給量を設定する
    基本燃料供給量設定手段と、機関吸入混合気の空燃比を
    検出する空燃比検出手段と、該空燃比検出手段で検出さ
    れた空燃比と目標空燃比とを比較して実際の空燃比を前
    記目標空燃比に近づけるように前記基本燃料供給量を補
    正するための空燃比フィードバック補正値を設定する空
    燃比フィードバック補正値設定手段と、機関運転条件に
    基づく同一運転領域を相互に大きさの異なる単位運転領
    域に基づきそれぞれ複数に区分してなる複数の学習マッ
    プを備え、前記複数の学習マップの各単位運転領域毎に
    前記基本燃料供給量を補正するための空燃比学習補正値
    を書き換え可能に記憶する空燃比学習補正値記憶手段と
    、前記空燃比フィードバック補正値の目標収束値からの
    偏差を学習し、前記空燃比学習補正値記憶手段における
    各学習マップの該当単位運転領域に対応して記憶されて
    いる前記空燃比学習補正値を前記偏差を減少させる方向
    に修正して書き換える空燃比学習を、より大きな単位運
    転領域を優先させて行わせる空燃比学習手段と、前記複
    数の学習マップのうちより大きな単位運転領域で運転領
    域を区分する学習マップが他に存在する学習マップにお
    いて、前記空燃比学習手段で該当単位運転領域に対応す
    る空燃比学習補正値が書き換えられるときに、前記書き
    換えが行われる該当単位運転領域に対して運転条件の近
    い同一学習マップ上の複数の単位運転領域それぞれにお
    ける空燃比学習補正値を、前記書き換えられる学習マッ
    プ上の単位運転領域に対応する空燃比学習補正値と、該
    単位運転領域がそれぞれ含まれる他の学習マップ上の単
    位運転領域に対応する空燃比学習補正値とによる総合的
    な補正レベルが、前記書き換えが行われる該当単位運転
    領域における補正レベルと略同レベルになるように書き
    換える隣接領域書き換え手段と、前記基本燃料供給量,
    空燃比フィードバック補正値及び前記空燃比学習補正値
    記憶手段における複数の学習マップそれぞれの該当運転
    領域の空燃比学習補正値に基づいて最終的な燃料供給量
    を設定する燃料供給量設定手段と、該燃料供給量設定手
    段で設定された燃料供給量に基づいて燃料供給手段を駆
    動制御する燃料供給制御手段と、を含んで構成されたこ
    とを特徴とする内燃機関の空燃比学習制御装置。
JP8673091A 1991-04-18 1991-04-18 内燃機関の空燃比学習制御装置 Pending JPH04318247A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8673091A JPH04318247A (ja) 1991-04-18 1991-04-18 内燃機関の空燃比学習制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8673091A JPH04318247A (ja) 1991-04-18 1991-04-18 内燃機関の空燃比学習制御装置

Publications (1)

Publication Number Publication Date
JPH04318247A true JPH04318247A (ja) 1992-11-09

Family

ID=13894967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8673091A Pending JPH04318247A (ja) 1991-04-18 1991-04-18 内燃機関の空燃比学習制御装置

Country Status (1)

Country Link
JP (1) JPH04318247A (ja)

Similar Documents

Publication Publication Date Title
JPH0826805B2 (ja) 内燃機関の空燃比学習制御装置
US4800857A (en) Apparatus for learn-controlling air-fuel ratio for internal combustion engine
JP2742431B2 (ja) エンジンの空燃比制御装置
EP0431627B1 (en) Process and apparatus for learning and controlling air/fuel ratio in internal combustion engine
JPH0689690B2 (ja) 内燃機関の空燃比の学習制御装置
JPH0979071A (ja) 内燃機関の空燃比学習制御装置
JPH076440B2 (ja) 内燃機関の制御方法
JPH04318247A (ja) 内燃機関の空燃比学習制御装置
JPH04321741A (ja) 内燃機関の空燃比学習制御装置
JPH04318246A (ja) 内燃機関の空燃比学習制御装置
JPH04241756A (ja) 内燃機関の空燃比学習制御装置
JPH04237847A (ja) 内燃機関の空燃比学習制御装置
JP2715208B2 (ja) 内燃機関の空燃比学習制御装置
JP2627825B2 (ja) 内燃機関の空燃比学習制御装置
JP2640566B2 (ja) 内燃機関の空燃比学習制御装置
JP2631579B2 (ja) 内燃機関の空燃比学習制御装置
JPH04255544A (ja) 内燃機関の空燃比学習制御装置
JP2665837B2 (ja) 内燃機関の燃料供給装置における自己診断装置
JP2582571B2 (ja) 内燃機関の空燃比の学習制御装置
JPS62195439A (ja) エンジンの制御装置
JPH04255545A (ja) 内燃機関の空燃比学習制御装置
JPH066213Y2 (ja) 内燃機関の空燃比の学習制御装置
JPH04219440A (ja) 内燃機関の空燃比学習制御装置
JPS6146435A (ja) 空燃比制御装置
JPH04175434A (ja) 内燃機関の空燃比学習制御装置