JPH10196436A - エンジンの空燃比制御装置 - Google Patents

エンジンの空燃比制御装置

Info

Publication number
JPH10196436A
JPH10196436A JP9005715A JP571597A JPH10196436A JP H10196436 A JPH10196436 A JP H10196436A JP 9005715 A JP9005715 A JP 9005715A JP 571597 A JP571597 A JP 571597A JP H10196436 A JPH10196436 A JP H10196436A
Authority
JP
Japan
Prior art keywords
learning
value
learning value
limiter
injection amount
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.)
Granted
Application number
JP9005715A
Other languages
English (en)
Other versions
JP3644172B2 (ja
Inventor
Sadaaki Yoshioka
禎明 吉岡
Hatsuo Nagaishi
初雄 永石
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.)
Nissan Motor Co Ltd
Original Assignee
Nissan Motor 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 Nissan Motor Co Ltd filed Critical Nissan Motor Co Ltd
Priority to JP00571597A priority Critical patent/JP3644172B2/ja
Priority to US09/008,501 priority patent/US6116227A/en
Publication of JPH10196436A publication Critical patent/JPH10196436A/ja
Application granted granted Critical
Publication of JP3644172B2 publication Critical patent/JP3644172B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D41/00Electrical control of supply of combustible mixture or its constituents
    • F02D41/24Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
    • F02D41/2406Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using essentially read only memories
    • F02D41/2425Particular ways of programming the data
    • F02D41/2429Methods of calibrating or learning
    • F02D41/2451Methods of calibrating or learning characterised by what is learned or calibrated
    • F02D41/2454Learning of the air-fuel ratio control
    • F02D41/2461Learning of the air-fuel ratio control by learning a value and then controlling another value

Abstract

(57)【要約】 【課題】 加算項の学習値と乗算項の学習値を合わせも
つものにおいても、誤学習の悪影響を小さくするととも
に、エンスト等の不具合を回避する。 【解決手段】 乗算項の学習値と加算項の学習値と空燃
比フィードバック補正量ALPHAとで基本噴射量を補
正して演算手段28が燃料噴射量を演算する。この場合
に加算項の学習値を基本噴射量に対する割合に換算した
値と乗算項の学習値とのトータルでリミッタが所定の範
囲に収まるように前記2つの学習値を制限手段24、2
5がそれぞれ制限することで、基本噴射量の大小に関係
なく2つの学習値のトータルでリミッタが所定の範囲に
収まり、これによって、誤学習の悪影響を小さくし、か
つエンスト等の不具合を回避することができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明はエンジンの空燃比
制御装置、特に空燃比学習値にリミッタを設け、学習値
がこのリミッタを超えないように制限するものに関す
る。
【0002】
【従来の技術】空燃比制御に2種以上の学習値を導入す
るものがある。この種の装置として、たとえば特開昭6
4−19143号公報では、マップ学習値KLCD2の
ほかに、噴射弁流量特性値の学習値(1データ)KLC
D1と無効噴射パルス幅の学習値(以下、簡単に「TS
学習値」という、1データ)KLCD3を導入し、 Tp=(Qa/N)×KCONST×KLCD1 ただし、Tp:基本噴射パルス幅 Qa:吸入空気流量 N:エンジン回転数 KCONST:噴射定数 の式により基本噴射パルス幅Tpを計算するとともに、 Ti=Tp×COEF×KLCD2×ALPHA+Ts
+KLCD3 ただし、COEF:1と各種補正係数の和 ALPHA:空燃比フィードバック補正係数 Ts:無効噴射パルス幅 の式により1サイクル値に必要となる燃料噴射パルス幅
Tiを計算している。
【0003】
【発明が解決しようとする課題】ところで、最近の空燃
比学習制御では、学習値に対して所定の範囲(あるいは
一定割合)のリミッタを設けることで、燃料インジェク
タやエアフローメータの製造時の部品バラツキや経時劣
化を吸収することができ、また誤学習による理論空燃比
からの空燃比誤差も同じ所定の範囲以内であれば、エン
スト等の不具合を回避できることがわかっている。
【0004】しかしながら、従来装置において、KLC
D1、KCLD2は乗算の形で導入された学習値(以下
「乗算項の学習値」という)であるのに対してKLCD
3は加算の形で導入された学習値(以下「加算項の学習
値」という)であり、このように異なる形式の2つの学
習値を合わせもつものにおいて、各学習値毎に独立して
リミッタを設けたのでは、2つの学習値のトータルで所
定の範囲のリミッタを確保するのが難しく、一方の学習
値が上限リミッタや下限リミッタに張り付いたとき2つ
の学習値のトータルでリミッタが所定の範囲を超えてし
まう事態が生じる。
【0005】たとえば、話を簡単にするため従来装置に
おいてKLCD1、COEFを省略し、 Tp=(Qa/N)×KCONST …(a) Ti=Tp×マップ学習値×ALPHA+Ts+TS学習値 …(b) の式で考える。
【0006】ここで、学習値のリミッタの説明に入る前
に、燃料噴射パルス幅の演算式の意味するところを簡単
に説明する。まずTsは燃料インジェクタの応答遅れを
考慮するものである。燃料インジェクタにTpの間だけ
開弁する信号を与えても、すぐには開くことができず、
応答遅れをもって開くので、この応答遅れ分だけ噴射期
間が短くなって燃料が不足する。そこで、Tsの分だけ
多くすることによって実際にTpの間だけ開弁させるよ
うにしているわけである。通常、Tsはバッテリ電圧の
影響を大きく受け、バッテリ電圧が低下するほど応答遅
れが大きくなるので、バッテリ電圧が低下するほど大き
くなる値となっている。
【0007】一方、エアフローメータや燃料インジェク
タの流量特性に製作バラツキや経時劣化があると、排気
の空燃比が理論空燃比からずれてくるが(この場合の理
論空燃比からのずれ(空燃比偏差)が定常偏差といわれ
る)、マップ学習値はこれら空燃比制御部品の製作バラ
ツキや経時劣化に左右されずに、空燃比フィードバック
制御を行わない運転条件においても定常偏差を解消する
ための値である。たとえば、燃料インジェクタの流量特
性が設定値より小さいものでは、噴射量が不足して排気
の空燃比がリーン側に傾き、このリーン側に傾いた空燃
比を理論空燃比に戻そうとALPHA(中心値は100
%)が100%よりも大きな値へと変化していく。この
ときのALPHAに基づいてマップ学習値(中心値は1
00%)が更新されるので、マップ学習値は100%よ
り大きい値へと変化してゆく。このようにして、マップ
学習値が収束した段階では、ALPHAが演算されなく
とも、ふたたび空燃比が理論空燃比へと落ち着くことに
なり、燃料インジェクタの流量特性が設定値より小さい
ものであっても、流量特性が設定通りの燃料インジェク
タと変わらなくなるわけである。
【0008】同様にして、燃料インジェクタの開き初め
のタイミングに製作バラツキや経時劣化があっても、排
気の空燃比が理論空燃比からずれるので、このずれを解
消するための値がTS学習値である。たとえば燃料イン
ジェクタの開き初めのタイミングが設定値より遅れるも
のでは、噴射量が不足して排気の空燃比がリーン側に傾
き、このリーン側に傾いた空燃比を理論空燃比に戻そう
とALPHAが100%よりも大きな値へと変化し、こ
のときのALPHAに基づいて更新されるTS学習値
(中心値は0ms)、0msより大きい値へと変化す
る。したがって、TS学習値が収束した段階で、ALP
HAが演算されなくともふたたび空燃比が理論空燃比へ
と落ち着くことになり、燃料インジェクタの開き初めの
タイミングが設定値より遅れるものであっても、開き初
めのタイミングが設定通りの燃料インジェクタと変わら
なくなる。
【0009】ただし、マップ学習値とTS学習値とで学
習許可条件を相違させており、マップ学習値は学習領域
毎に更新するのに対して、TS学習値は低負荷域でだけ
更新している。これは、低負荷域ではTsよりもTpが
相対的に小さく、したがって低負荷域における理論空燃
比からのずれ(空燃比偏差)は、Tsによる分が支配的
となるので、Ts学習値を更新させるようにしたもので
ある。
【0010】これで燃料噴射パルス幅の演算式の説明を
終える。
【0011】さて、上記(b)式のマップ学習値(乗算
項の学習値)とTS学習値(加算項の学習値)を、 90%≦マップ学習値≦110% …(c) −0.1ms≦TS学習値≦+0.1ms …(d) のように各学習値毎に独立してリミッタを設定したとす
る。このとき、マップ学習値はTpに対する乗算項とし
て、またTS学習値はTpに対する加算項として加わる
ことから、マップ学習値のリミッタについてはTpの大
小に関係なく110%が上限リミッタ、90%が下限リ
ミッタとなるのに対して、TS学習値のリミッタについ
てはTpが小さくなるほどTpに対するリミッタ分が大
きくなっていくため、いまTpを横軸にとり、マップ学
習値のリミッタとTS学習値のリミッタを重ねてみる
と、図15上段に示したようになる。つまり、Tpが小
さい領域では、TS学習値のTpに対するリミッタ分が
急激に大きくなるため、マップ学習値が上限リミッタの
110%や下限リミッタの90%に張り付いたとき、T
S学習値がリミッタ分を超えなくても、2つの学習値の
トータルでリミッタが±10%を超えてしまうのであ
る。
【0012】そこで本発明は、加算項の学習値を基本噴
射量に対する割合(たとえばパーセント)に換算した値
と、もともと割合の単位で設けられる乗算項の学習値と
のトータルでリミッタが所定の範囲(たとえば±10パ
ーセント)に収まるように2つの学習値をそれぞれ制限
することにより、単位の異なる加算項の学習値と乗算項
の学習値を合わせもつものにおいても、2つの学習値の
トータルでのリミッタを所定の範囲に収めることがで
き、これによって誤学習の悪影響を小さくするととも
に、エンスト等の不具合を回避することを目的とする。
【0013】
【課題を解決するための手段】第1の発明は、図25に
示すように、エンジンの負荷と回転数に基づいて基本噴
射量TP0を演算する手段21と、乗算項の学習値を割
合の単位(たとえばパーセント)で格納する手段22
と、加算項の学習値を噴射量の単位(たとえばms)で
格納する手段23と、前記加算項の学習値を前記基本噴
射量TP0に対する割合に換算した値と前記乗算項の学
習値とのトータルでリミッタが所定の範囲(たとえば±
10パーセント)に収まるように前記2つの学習値をそ
れぞれ制限する手段24、25と、排気の空燃比を検出
する手段26と、この空燃比検出手段26の出力に基づ
いて空燃比が理論空燃比と一致するように空燃比フィー
ドバック補正量ALPHAを演算する手段27と、この
空燃比フィードバック補正量ALPHAと前記制限され
た2つの学習値とで前記基本噴射量TP0を補正して燃
料噴射量を演算する手段28と、この噴射量の燃料をエ
ンジンに供給する手段29とを設けた。
【0014】第2の発明では、第1の発明において前記
燃料噴射量が前記基本噴射量と無効噴射量の和からな
り、前記加算項の学習値がこの無効噴射量の学習値であ
る。
【0015】第3の発明では、第2の発明において前記
無効噴射量の学習値を低負荷域でだけ前記空燃比フィー
ドバック補正量ALPHAに基づいて更新する。
【0016】第4の発明では、第2または第3の発明に
おいて前記乗算項の学習値が学習領域毎の学習値であ
る。
【0017】第5の発明では、第4の発明において前記
学習領域毎の学習値を低負荷域以外の運転域で前記空燃
比フィードバック補正量ALPHAに基づいて更新す
る。
【0018】第6の発明では、第2または第3の発明に
おいて前記乗算項の学習値がパージカット時の学習値で
ある。
【0019】第7の発明では、第6の発明において前記
パージカット時の学習値を所定の1つの学習領域でだけ
前記空燃比フィードバック補正量ALPHAに基づいて
更新する。
【0020】第8の発明では、第2または第3の発明に
おいて前記乗算項の学習値がパージカット時の学習値と
学習領域毎の学習値とからなり、パージカット時の学習
値からしきい値SLALPを差し引いた値と学習領域毎
の学習値との比較により、パージカット時の学習値から
しきい値SLALPを差し引いた値が学習領域毎の学習
値以下のときパージカット時の学習値を、またパージカ
ット時の学習値からしきい値SLALPを差し引いた値
が学習領域毎の学習値を超えるとき学習領域毎の学習値
を選択する。
【0021】第9の発明では、第2または第3の発明に
おいて前記無効噴射量の学習値単独でリミッタLTSM
AX#、LTSMIN#を設ける(たとえばLTSMA
X#=+0.1ms、LTSMIN#=−0.1m
s)。
【0022】第10の発明では、第9の発明において前
記無効噴射量の学習値の更新時に、前記基本噴射量TP
0に応じたリミッタLTSMAX2、LTSMIN2で
無効噴射量の学習値を制限するとともに、そのリミッタ
で無効噴射量の学習値が制限されるときは、そのリミッ
タで無効噴射量の学習値を更新する。
【0023】第11の発明では、第9の発明において前
記無効噴射量の学習値の更新時に、前記基本噴射量TP
0に応じたリミッタLTSMAX2、LTSMIN2と
前記無効噴射量の学習値単独のリミッタLTSMAX
#、LTSMIN#との狭いほうで無効噴射量の学習値
を制限するとともに、その狭いほうのリミッタで無効噴
射量の学習値が制限されるときは、その狭いほうのリミ
ッタで無効噴射量の学習値を更新する。
【0024】第12の発明では、第9または第10の発
明において前記無効噴射量の学習値の参照時に、低負荷
域に限り前記基本噴射量TP0に応じたリミッタLTS
MAX2、LTSMIN2で無効噴射量の学習値を制限
する。
【0025】第13の発明では、第10から第12まで
のいずれか一つの発明において前記リミッタが、2つの
学習値(無効噴射量の学習値と乗算項の学習値)のトー
タルとして割合の単位(たとえばパーセント)で予め定
めたリミッタRLRMAX#、RLRMIN#から前記
乗算項の学習値を差し引いた値に前記基本噴射量TP0
をかけた値である。
【0026】第14の発明では、第4または第5の発明
において前記学習領域毎の学習値の更新時に、前記無効
噴射量の学習値に応じたリミッタRLMAX1、RLM
AX2、RLMAX3、RLMIN1、RLMIN2、
RLMIN3で学習領域毎の学習値を制限するととも
に、そのリミッタで学習領域毎の学習値が制限されると
きは、そのリミッタで学習領域毎の学習値を更新する。
【0027】第15の発明では、第4または第5の発明
において前記学習領域毎の学習値の更新時に、前記無効
噴射量の学習値に応じたリミッタRLMAX1、RLM
AX2、RLMAX3、RLMIN1、RLMIN2、
RLMIN3と2つの学習値(無効噴射量の学習値と学
習領域毎の学習値)のトータルとして割合の単位で予め
定めたリミッタRLRMAX#、RLRMIN#との狭
いほうで学習領域毎の学習値を制限するとともに、その
狭いほうのリミッタで学習領域毎の学習値が制限される
ときは、その狭いほうのリミッタで学習領域毎の学習値
を更新する。
【0028】第16の発明では、第4、第5、第14、
第15のいずれか一つの発明において前記学習領域毎の
学習値の参照時に、前記無効噴射量の学習値に応じたリ
ミッタRLMAX1、RLMAX2、RLMAX3、R
LMIN1、RLMIN2、RLMIN3で学習領域毎
の学習値を制限するとともに、そのリミッタで学習領域
毎の学習値が制限されるときは、そのリミッタで学習領
域毎の学習値を更新する。
【0029】第17の発明では、第4、第5、第14、
第15のいずれか一つの発明において前記学習領域毎の
学習値の参照時に、前記無効噴射量の学習値に応じたリ
ミッタRLMAX1、RLMAX2、RLMAX3、R
LMIN1、RLMIN2、RLMIN3と2つの学習
値(無効噴射量の学習値と学習領域毎の学習値)のトー
タルとして割合の単位で予め定めたリミッタRLRMA
X#、RLRMIN#との狭いほうで学習領域毎の学習
値を制限するとともに、その狭いほうのリミッタで学習
領域毎の学習値が制限されるときは、その狭いほうのリ
ミッタで学習領域毎の学習値を更新する。
【0030】第18の発明では、第14から第17まで
のいずれか一つの発明において前記リミッタが、2つの
学習値(無効噴射量の学習値と学習領域毎の学習値)の
トータルとして割合の単位で予め定めたリミッタRLR
MAX#、RLRMIN#から前記無効噴射量の学習値
を前記基本噴射量TP0に対する割合に換算した値を差
し引いた値である。
【0031】第19の発明では、第18の発明において
前記基本噴射量TP0に代えて各学習領域の負荷の下限
を定める値を用いる。
【0032】第20の発明では、第6または第7の発明
において前記パージカット時の学習値の更新時に前記無
効噴射量の学習値に応じたリミッタRLMAX0、RL
MIN0でパージカット時の学習値を制限するととも
に、そのリミッタでパージカット時の学習値が制限され
るときは、そのリミッタでパージカット時の学習値を更
新する。
【0033】第21の発明では、第6または第7の発明
において前記パージカット時の学習値の更新時に前記無
効噴射量の学習値に応じたリミッタRLMAX0、RL
MIN0と2つの学習値(無効噴射量の学習値とパージ
カット時の学習値)のトータルとして割合の単位で予め
定めたリミッタRLRMAX#、RLRMIN#との狭
いほうでパージカット時の学習値を制限するとともに、
その狭いほうのリミッタでパージカット時の学習値が制
限されるときは、その狭いほうのリミッタでパージカッ
ト時の学習値を更新する。
【0034】第22の発明では、第20または第21の
発明において前記リミッタが、2つの学習値(無効噴射
量の学習値とパージカット時の学習値)のトータルとし
て割合の単位で予め定めたリミッタRLRMAX#、R
LRMIN#から前記無効噴射量の学習値を前記基本噴
射量TP0に対する割合に換算した値を差し引いた値で
ある。
【0035】第23の発明では、第22の発明において
前記基本噴射量TP0に代えて学習領域の負荷の下限を
定める値を用いる。
【0036】第24の発明では、第6、第7、第20、
第21の発明のいずれか一つにおいて前記パージカット
時の学習値の参照時に前記無効噴射量の学習値に応じた
リミッタRLMAX0、RLMIN0で前記パージカッ
ト時の学習値を制限する。
【0037】第25の発明では、第6、第7、第20、
第21の発明のいずれか一つにおいて前記パージカット
時の学習値の参照時に前記無効噴射量の学習値に応じた
リミッタRLMAX0、RLMIN0と2つの学習値
(無効噴射量の学習値とパージカット時の学習値)のト
ータルとして割合の単位で予め定めたリミッタRLRM
AX#、RLRMIN#との狭いほうで前記パージカッ
ト時の学習値を制限する。
【0038】第26の発明では、第24または第25の
発明において前記リミッタが、2つの学習値(無効噴射
量の学習値とパージカット時の学習値)のトータルとし
て割合の単位で予め定めたリミッタRLRMAX#、R
LRMIN#から前記無効噴射量の学習値を前記基本噴
射量TP0に対する割合に換算した値を差し引いた値で
ある。
【0039】
【発明の効果】第1の発明では、乗算項の学習値が割合
の単位、加算項の学習値が噴射量の単位となっており、
両者で単位が相違している場合に、両者の単位をそろえ
るため加算項の学習値を基本噴射量に対する割合に換算
し、その加算項の学習値の割合の単位への換算値と、も
ともと割合の単位である乗算項の学習値とのトータルで
リミッタが所定の範囲に収まるように2つの学習値を制
限するので、空燃比学習制御において加算項の学習値と
乗算項の学習値を合わせもつものに対しても、基本噴射
量の大小に関係なく、2つの学習値のトータルでリミッ
タが所定の範囲に収まり、これによって、誤学習の悪影
響を小さくするとともに、エンスト等の不具合を回避す
ることができる。
【0040】低負荷域では基本噴射量よりも無効噴射量
のほうが燃料噴射量に対する寄与割合が大きく、したが
ってこのときの理論空燃比からのずれは主に無効噴射量
の誤差に伴うものであることより、第3の発明では低負
荷域に限り無効噴射量の学習値を更新するので、無効噴
射量の学習値の精度を高いものに維持できる。
【0041】キャニスタにたくさんの燃料蒸気がたまっ
ていた状態からパージが行われたときは、空燃比が一時
的にリッチ側に傾き、このリッチに傾いた空燃比を理論
空燃比に戻そうと空燃比フィードバック補正量が100
%よりも小さい側に移動していくため、この空燃比フィ
ードバック補正量に基づいて更新される学習領域毎の学
習値が小さい側に移動し、しきい値を下回ってピークを
とる。その後はパージガス濃度の減少とともに学習領域
毎の学習値が再び大きくなり、パージがしばらく継続し
た後の状態に対する学習値へと収束してゆく。この場合
に、そのピーク位置でリーン運転が開始されたときパー
ジの継続によりキャニスタ内の燃料蒸気がなくなってゆ
くのに対して、学習領域毎の学習値はピーク位置の値の
ままでそれ以上更新されることがない。したがって、ピ
ーク位置でリーン運転が開始された後も、更新されるこ
とのない学習領域毎の学習値を用いたのでは、パージの
継続につれて実際のパージ状態と学習領域毎の学習値と
が対応しなくなり、リーン運転中の空燃比がリーン側に
大きく傾いてゆくため、空燃比の理論空燃比への制御精
度が落ちてしまう。このとき、第8の発明では100%
に近い値にあるパージカット時時の学習値を用いるの
で、空燃比の理論空燃比への制御精度が落ちてしまうこ
とがない。
【0042】第11の発明では無効噴射量の学習値の更
新時に基本噴射量に応じたリミッタと無効噴射量の学習
値単独のリミッタとの狭いほうで無効噴射量の学習値
を、第15、第17の各発明では学習領域毎の学習値の
更新時、参照時に無効噴射量の学習値に応じたリミッタ
と2つの学習値のトータルとして割合の単位で予め定め
たリミッタとの狭いほうで学習領域毎の学習値を、第2
1、第25の各発明ではパージカット時の学習値の更新
時、参照時に無効噴射量の学習値に応じたリミッタと2
つの学習値のトータルとして割合の単位で予め定めたリ
ミッタとの狭いほうでパージカット時の学習値をそれぞ
れ制限するので、いずれも学習値の範囲を狭めることが
でき、誤学習の影響をより小さくすることができる。
【0043】基本噴射量に応じたリミッタを設ける場合
に、他の負荷域より基本噴射量が小さい低負荷域におい
て基本噴射量が小さくなるほどに基本噴射量に応じたリ
ミッタも小さくなることから、このときにも無効噴射量
の学習値を更新したのでは、無効噴射量の学習値を小さ
な値としてしまうのであるが、第12の発明では低負荷
域に限り学習値を更新することはしないので、それまで
比較的大きな値だった学習値を無用に小さくすることが
ない。
【0044】2つの学習値(学習領域毎の学習値と無効
噴射量の学習値)がある場合は、両方を同じタイミング
で更新して各学習値とも最新値に置き換えていくことに
より初めて、2つの学習値のトータルでリミッタを所定
範囲に収めることができる。しかしながら、2つの学習
値の学習許可条件が異なるときは同じタイミングで更新
されることがないため、2つの学習値のトータルでリミ
ッタが所定範囲に収まらないことが考えられる。このと
き、第16の発明では学習領域毎の学習値の参照時にリ
ミッタにより制御した値で、また、第17の発明では学
習領域毎の学習値の参照時に狭いほうのリミッタにより
制御した値で学習値を更新することで、できるだけ更新
の機会を増やしているので、トータルの学習値のリミッ
タが所定範囲からはみ出す機会を減らすことができる。
【0045】同じ学習領域において基本噴射量が小さく
なるのにつれて学習値に対するリミッタを小さくしなけ
ればならない。したがって、同じ学習領域において比較
的大きな値の基本噴射量(これをTP0Hとする)のと
きのリミッタをその学習領域全体についてのリミッタと
したのでは、同じ学習領域のうちTP0H未満の領域で
学習値のリミッタが大きくなり過ぎ、2つの学習値のト
ータルでリミッタが所定範囲に収まらない事態が生じ
る。このとき第19と第23の各発明では、学習領域の
負荷の下限を定める値に対するリミッタを、その同じ学
習領域全体についてのリミッタとするので、広がりのあ
る学習領域内で同じ値の学習値をもつ場合であっても、
2つの学習値のトータルでリミッタが所定範囲に収まら
ない事態が生じることがない。
【0046】無効噴射量の学習値に応じたリミッタを設
ける場合に、基本噴射量が0に近づいていくときリミッ
タが0に近づいていくので、このときにまでパージカッ
ト時の学習値を更新したのでは、学習値がごくわずかな
値になってしまうのであるが、第24の発明ではパージ
カット時の学習値の参照時にリミッタにより制限した値
でベース学習値を更新することはしないので、また、第
25の発明でもパージカット時の学習値の参照時に、狭
いほうのリミッタにより制限した値でベース学習値を更
新することはしないので、それまで比較的大きな値だっ
た学習値を無用に小さくすることがない。
【0047】
【発明の実施の形態】図1において、1はエンジン本体
で、吸入空気はエアクリーナ11から吸気マニフォール
ドのコレクタ12a、分岐部12bを通ってシリンダに
供給される。燃料は、運転条件に応じて所定の空燃比と
なるようにコントロールユニット2よりの噴射信号に基
づき燃料インジェクタ3からエンジン1の吸気ポートに
向けて噴射される。
【0048】コントロールユニット2にはディストリビ
ュータ内蔵のクランク角センサ7からのRef信号(4
気筒では180°毎、6気筒では120°毎に発生)と
Pos信号(1°信号)、エアフローメータ4からの吸
入空気量信号、三元触媒19の上流側に設置したO2
ンサ9からの空燃比(酸素濃度)信号、水温センサ8か
らのエンジン冷却水温信号、スロットルセンサ6からの
絞り弁5開度信号等が入力され、これらに基づいて吸入
空気流量とエンジン回転数から基本噴射パルス幅を算出
するとともに、三元触媒19に流入する排気の空燃比が
理論空燃比を中心として所定の周期で振れるように空燃
比のフィードバック制御を行う。
【0049】この場合、さらに目標空燃比への制御精度
を高めるため、燃料インジェクタ3やエアフローメータ
4の流量特性の製作時の部品バラツキやその後の経時劣
化に伴う理論空燃比からのずれの解消を目的とするマッ
プ学習値と燃料インジェクタの開き初めのタイミングが
燃料インジェクタの部品バラツキやその後の経時劣化に
伴う理論空燃比からのずれの解消を目的とするTS学習
値を導入するほか、リーン運転時のキャニスタパージと
の両立を図るためのベース学習値を導入している。
【0050】コントロールユニット2で実行されるこの
空燃比制御の内容を、以下のフローチャートにしたがっ
て説明する。
【0051】図2のフローチャートは、気筒別同期噴射
パルス幅Tin[ms]の演算を行わせるためのもの
で、一定時間毎(たとえば10ms毎)に実行する。
【0052】なお、図2のフローにおいて、記号の最後
に気筒番号nをつけることで、気筒別の値であることを
示している(CTin、Chosn、ERACIn)。
【0053】ステップ1ではエアフローメータ出力より
得られる吸入空気流量Qs[g/s]とクランク角セン
サより得られるエンジン回転数N[rpm]より基本噴
射パルス幅TP0[ms]を TP0=(Qs/N)×K×Ktrm …(1) ただし、K:噴射定数 Ktrm:トリミング係数 の式で計算する。
【0054】ここで、(1)式のKは理論空燃比の混合
気が得られるように定めた定数、Ktrmはインジェク
タ4の流量特性により定まる固有の定数である。
【0055】ステップ2では回転数Nおよびシリンダ容
積V[cc]の積N×Vと絞り弁部の総流路面積Aa
[cm2]から所定のマップを参照して加重平均係数Fl
oad[%]を求める。なお、総流路面積Aaは絞り弁5
の流路面積[cm2]にアイドル調整弁22やエアレギ
ュレータ(図示しない)の流路面積[cm2]を足した
ものである。
【0056】ステップ3ではシリンダ空気量相当パルス
幅TP[ms]を TP=TP0×Fload+TP(old)×(1−Fload) …(2) ただし、TP(old):Avtpの前回値 の式により計算し、このTPを用いステップ4におい
て、 CTin={(TP+Kathos)×Tfbya ×(ALPHA+LALPHA−1)}×2 +Ts+LRNTS+(CHOSn−ERACIn) …(3) ただし、Kathos:過渡補正量[ms] Tfbya:目標燃空比相当量[無名数] ALPHA:空燃比フィードバック補正係数[無名数] LALPHA:空燃比学習値[無名数] Ts:無効パルス幅[ms] LRNTS:TS学習値[ms] CHOSn:気筒別壁流補正パルス幅[ms] ERACIn:割込噴射移行化パルス幅[ms] の式により、シーケンシャル噴射モードにおける気筒別
同期噴射パルス幅Tin[ms]を計算する。
【0057】なお、始動時のときは CTin={(TP+Kathos)×Tfbya ×(ALPHA+LALPHA−1)} +Ts+LRNTS+(CHOSn−ERACIn) …(4) の式により、同時噴射モードにおける気筒別同期噴射パ
ルス幅Tin[ms]を計算する。
【0058】ここで、(3)、(4)式の記号を説明す
ると、まずTfbyaは水温増量補正係数Ktwや始動
後増量補正係数Kasと目標燃空比Dmlの和である。
空燃比フィードバック制御を行う条件では、Ktw=
0、Kas=0、Dml=1.0(つまりTfbya=
1.0)であるが、エンジン回転の不安定となる冷間始
動時にはKtwとKasが0を超える値(つまりTfb
yaが1.0より大きい値)となって燃料増量が行われ
る。また、暖機完了後においてリーン運転条件になる
と、Dmlが1未満の値となって燃料減量され、リーン
運転が行われる。
【0059】エンジンの加減速時における空燃比の目標
値からのずれは、吸気マニフォールドや吸気ポートに付
着し、液状のまま壁面を伝ってシリンダに流れ込む、い
わゆる壁流燃料の量的変化に起因するものであり、この
壁流燃料による過不足分を補正量として燃料補正を行
う。この場合、壁流燃料には直接にシリンダに流入され
る分が少なく比較的応答の遅いものと、直接にシリンダ
に流入される分が主で比較的応答の速いものとがあり、
Kathosが応答の遅い壁流燃料に関する補正量、ま
たChosnとERACIn(および図示しない気筒別
割込噴射パルス幅Injsetn)とが応答の速い壁流
燃料に関する補正量である(特開平1−305144号
参照)。
【0060】インジェクタに対して噴射信号が出力され
たとしてもインジェクタは応答遅れをもって開くので、
この応答遅れの分を考慮した値がTsである。
【0061】(3)式右辺のTsの前にある2は、シー
ケンシャル噴射(1気筒当たりエンジン2回転に1回の
噴射)のときに必要となる値である。
【0062】なお、上記(2)式のメモリTP(old)
の値は、後述するALPHA(old)とともに、始動時
に0に初期設定されている。
【0063】(3)、(4)式の空燃比学習値LALP
HAの検索については図3のフローチャートにより説明
する。同図のフローは一定時間毎に(あるいはバックグ
ランドジョブで)実行する。なお、(3)、(4)式の
LALPHA(ALPHAについても)は、1.0を中
心とする無名数の単位であるが、実際のフロー上では1
00%を中心とする値(パーセント表示)で計算する。
【0064】この実施形態ではリーン運転時のキャニス
タパージを考慮して、通常のマップ学習値の外にベース
学習値(1データ)を導入しており、いずれかを選択し
てLALPHAに入れることになる。
【0065】まず、マップ学習値TALPの学習領域
は、図4に示したように、TP格子である所定値TAL
PP0#(=0)、TALPP1#、TALPP2#、
TALPP3#とN格子とで16に区分けし、各学習領
域毎に独立の学習値を格納している。したがって、運転
条件の属する学習領域の学習値を参照するとともに、各
学習領域毎に学習値を更新することになる。なお、学習
領域には0から15までの番号を割り振ることで、他の
学習領域と区別している。以下で学習領域が0といえ
ば、図4のTALPマップの0が指す学習領域のことで
ある。
【0066】これに対してベース学習値はパージカット
時の学習値として導入しているもので、図5に示したよ
うに、マップ学習値の学習領域とは無関係に、リーン運
転時の全域を代表できるような領域を学習領域として定
めており、その1つの学習領域でだけ学習値の更新を行
い、その学習領域に限らず全域で参照する。
【0067】なお、マップ学習値、ベース学習値を格納
するためのメモリは、TS学習値を格納するためのメモ
リとともに、バックアップRAMである。
【0068】図3においてステップ11ではどの学習領
域にあるかをみて学習領域が0のときは、TS学習を行
わせるためステップ12に進んでLALPHA[%]に
100を入れる。
【0069】学習領域が0以外のときはステップ11よ
りステップ13、14、15に進み、冷却水温Twが所
定値TWLCL#以上かどうか、フラグFLEANによ
りリーン運転条件であるかどうか、マップ学習収束カウ
ンタCLRNTDi(i=0〜15)はマップ学習収束
回数NLRNTD#以上かどうかをそれぞれみる。ここ
で、フラグFLEANはリーン運転条件を許可するとき
に“1”となるフラグである。マップ学習収束カウンタ
(バックアップRAMに格納)CLRNTDi(iは学
習領域の番号)は、各学習領域でマップ学習値が更新さ
れる毎にその更新の回数を学習領域毎に計測するための
ものである。
【0070】Tw≧TWLCL#のときかつリーン運転
条件のときかつCLRNTDi≧NLRNTD#のとき
は、ステップ16に進んで図4のTALPマップを参照
してマップ学習値TALP[%]を求め、変数LRNA
LP[%]に入れる。ここではマップ学習値そのものと
演算に用いるマップ学習値とを区別するため、変数LR
NALPを用いている。同様にして、後述する変数BS
ALP[%]は演算用のベース学習値、変数LRNTS
[%]は演算用のTS学習値である。
【0071】ステップ18では、演算用のベース学習値
BSALP[%]としきい値SLALP[%]の差と演
算用のマップ学習値LRNALPを比較し、BSALP
−SLALP≦LRNALPのときはマップ学習値のほ
うを選択するためステップ19でLRNALPの値を空
燃比学習値LALPHAに入れ、BSALP−SLAL
P>LRNALPのときはベース学習値のほうを選択す
るためステップ20、22でベース学習値を変数BSA
LPに入れるとともに、BSALPの値をLALPHA
に移す。
【0072】ここで、ベース学習値とマップ学習値を使
い分けるのは次の理由による。空燃比学習制御中にパー
ジが行われたときの学習値の変化を図6に示すと、ベー
ス学習値はパージカット時の学習値であるからベース学
習値の収束後はほぼ一定である。これに対して、キャニ
スタ(図示しない)にたくさんの燃料蒸気がたまってい
た状態からパージが行われたときは、空燃比が一時的に
リッチ側に傾き、このリッチに傾いた空燃比を理論空燃
比に戻そうと空燃比フィードバック補正係数ALPHA
が100%よりも小さい側に移動していくため、このA
LPHAに基づいて更新されるマップ学習値がしきい値
SLALPを下回って小さい側に移動し、たとえば80
%でピークをとる。その後はパージガス濃度の減少とと
もにマップ学習値が再び大きくなり、パージがしばらく
継続した後の状態に対する学習値へと収束してゆく。
【0073】一方、そのピーク位置でリーン運転が開始
されたときは、パージの継続によりキャニスタ内の燃料
蒸気がなくなってゆくのに対して、マップ学習値はピー
ク位置の値のままでそれ以上更新されることがないため
一点鎖線で示したようにピーク位置の値のままである。
したがって、ピーク位置でリーン運転が開始された後
も、その一点鎖線で示したマップ学習値を用いたので
は、パージの継続につれて実際のパージ状態とマップ学
習値とが対応しなくなり、リーン運転中の空燃比がリー
ン側に大きく傾いてゆくため、空燃比の理論空燃比への
制御精度が落ちてしまう。そこで、ベース学習値を中心
としてしきい値SLALPよりもマップ学習値が下側に
あるときは、マップ学習値を用いない(ベース学習値を
用いる)ようにしたのである。
【0074】なお、Tw<TWLCL#のときやTw≧
TWLCL#かつFLEAN=1でもCLRNTDi<
NLRNTD#のときは、マップ学習が十分に進んでい
ないと考えられるためステップ13や15よりステップ
20、22に進んで、ベース学習値を選択する。
【0075】一方、リーン運転条件でないときはステッ
プ14よりステップ23に進み、フラグFBSLTDよ
りベース学習値が収束したかどうかをみる。このフラグ
はFBSLTD=0のときベース学習が未収束であるこ
とを、FBSLTD=1はベース学習が収束したことを
表すので、ベース学習が未収束(FBSLTD=0)の
ときはベース学習を進めるためステップ24、26に進
んでベース学習値をLALPHAに入れ、ベース学習が
収束(FBSLTD=1)した後はマップ学習を進める
ためステップ27、29に進んでマップ学習値をLAL
PHAに入れる。
【0076】図3において説明しなかったステップ1
7、28のリミッタ処理B2、ステップ21、25のリ
ミッタ処理C2は本発明により新たに追加した部分であ
るため後で詳述する。
【0077】次に、マップ学習値やベース学習値の更新
は空燃比フィードバック補正係数ALPHAに基づいて
行うため、空燃比フィードバック補正係数ALPHAの
演算途中(正確にはリッチ、リーンの反転時)で学習値
の更新を指示することになる。
【0078】図7のフローチャートはO2センサ出力V
O2に基づいて空燃比フィードバック補正係数ALPH
Aを演算するためのもので、Ref信号に同期して実行
する。Ref信号に同期させるのは、燃料噴射がRef
信号同期であり、系の乱れもRef信号同期であるた
め、これに合わせたものである。
【0079】ステップ31では空燃比フィードバック制
御条件が成立しているかどうかをみる。たとえば、次の
条件、 冷却水温Twが空燃比フィードバック制御の開始水温
TWCLMPを越えていること、 目標燃空比相当量Tfbya=1であること、 フラグFLGCL=1であること(つまりO2センサ
出力が所定回数(たとえば1回)反転していること)、 を一つずつチェックし、いずれかでも満たさないときは
空燃比フィードバック制御条件の非成立時と判断して、
ステップ32に進み、メモリALPHA(old)にAL
PHAの値を移したあとALPHAに100%を入れて
(ALPHAをクランプ)、図7のフローを終了する。
【0080】上記の〜のすべてを満足するときは空
燃比フィードバック制御条件の成立時と判断してステッ
プ33に進む。
【0081】ステップ33ではO2センサ出力VO2を
A/D変換して取り込み、ステップ34においてVO2
とスライスレベル(たとえば500mV付近)SLを比
較する。VO2>SLであればステップ35でフラグA
F1に“1”を、VO2≦SLであるときはステップ3
6においてフラグAF1に“0”を入れる。これによっ
てAF1=0はO2センサ出力がリーン側にあること
を、AF1=1はリッチ側にあることを表す。
【0082】なお、フラグAF1は、他のフラグ(図3
のステップ14のFLEAN、ステップ23のFBSL
TD、図7のステップ37のAF0、図8のステップ5
7、58のFLRNTD、図9のステップ68のFBS
LTD、図10のステップ86、87のFBSLTD、
図11のステップ98のFBSLTD、図13のステッ
プ140、141のFLTSTD)とともに電源投入時
のイニシャライズで“0”に初期設定し、また変数を格
納するためのメモリ(たとえば図7のステップ38のA
LP 1、ALP 2、ステップ39のTP 1、TP
2、ステップ40のNE 1、NE 2、図8のステ
ップ53のX1(new)、X1(old)、図10のステッ
プ82のX2(new)、X2(old)、図13のステップ
134、135、136のX3(new)、X3(old))
も電源投入時のイニシャライズで0に初期設定するもの
であり、以下のフローチャートおいて、フラグ、メモリ
についての初期設定については省略する。
【0083】ステップ37では2つのフラグAF0、A
F1を比較する。ここで、フラグAF0は前回にO2
ンサ出力VO2がリッチあるいはリーンのいずれの側に
あったかを示すフラグであり、AF0=0は前回リーン
側にあったことを、AF0=1は前回リッチ側にあった
ことを表す。したがって、2つのフラグAF0、AF1
の値が等しくないときは、VO2のリッチからリーンへ
の反転時あるいはその反対にリーンからリッチへの反転
時であると判断し、ステップ38でメモリALP
[%]の値をメモリALP 1[%]に移し、メモリA
LP 2[%]にALPHAの値(前回演算時の値)を
入れる。メモリALP 2にリッチ、リーン反転時の最
新のALPHAを、メモリALP 1に前回反転時のA
LPHAを格納するわけである。同様にしてステップ3
9、40ではメモリTP 2[ms]の値をメモリTP
1[ms]に移し、メモリTP 2[ms]にTP
(図2のステップ3で既に得ている)の値を入れるとと
もに、メモリNE 2[rpm]の値をメモリNE
[rpm]に移し、メモリNE 2に回転数Nを入れ
る。メモリTP 2、NE 2にリッチ、リーン反転時
の最新のTP、Nを、メモリTP 1、NE 1に前回
反転時のTP、Nを格納するのである。
【0084】ステップ41ではマップ学習値、ベース学
習値およびTS学習値の更新を指示する(図8と図10
と図13のフローを起動させる)。
【0085】ステップ42ではフラグAF1の値をみ
る。AF1=0(リッチからリーンへの反転時)であれ
ばステップ43で ALPHA=ALPHA(old)+PL …(5) ただし、ALPHA(old):ALPHAの前回値 の式により、またAF1=1(リーンからリッチへの反
転時)であるときはステップ44において ALPHA=ALPHA(old)−PR …(6) の式によりALPHAをそれぞれ更新する。
【0086】ステップ45では次回演算のため、フラグ
AF1の値をフラグAF0に、またALPHAの値をメ
モリALPHA(old)に移して図7のフローを終了す
る。
【0087】ステップ37で2つのフラグAF0、AF
1の値が等しいときは、反転時でないと判断し、ステッ
プ46に進んでフラグAF1の値をみる。AF1=0
(前回、今回ともリーン)であれば、ステップ47でA
LPHA(old)に積分分ILを加算することによっ
て、またAF1=1(前回、今回ともリッチ)であると
きはステップ48でALPHA(old)より積分分IR
を減算することによってそれぞれALPHAを更新した
あと、ステップ45の操作を実行する。
【0088】上記の比例分PL、PRと積分分IL、I
RはTPとNをパラメータとするマップ値である。
【0089】図8のフローチャートはマップ学習値を更
新するためのもので、O2センサ出力のリッチ、リーン
の反転毎に実行する。
【0090】ステップ51で学習許可条件が成立してい
るかどうかの判定を行うが、このための具体的な内容を
図9に示す。学習許可条件の判定は図9のステップ61
〜68の内容を一つずつチェックすることにより行い、
各項目のすべてを満たしたときにマップ学習を許可し、
一つでも反するときはマップ学習を禁止する。すなわ
ち、 ステップ61;空燃比フィードバック制御中である、 ステップ62;クランプ中でない状態になってからAL
PHAが2回以上反転した、 ステップ63;冷却水温Twが所定温度範囲(TWLC
L#≦Tw≦TWLCH#)となってALPHAが2回
以上反転した、 ステップ64;|ALP 2−ALP 1|≦所定値A
LP21#である、 ステップ65;|TP 2−TP 1|≦所定値TP2
1#である、 ステップ66;|NE 2−NE 1|≦所定値NE2
1#である、 ステップ67;学習領域が0でない、 ステップ68;ベース学習が収束している(FBSLT
D=1) ときに、ステップ69でマップ学習を許可し、そうでな
ければステップ70に移行してマップ学習を禁止する。
【0091】ここで、学習領域が0のときマップ学習値
の更新を許可しないのは、学習領域が0のときはTS学
習値の更新を行わせるためである。したがって、学習領
域0でのマップ学習値は初期値の100%のままで、更
新されないことになる。後述するように学習領域が0で
ある場合にだけTS学習を許可するのは、この領域では
TPよりもTsのほうがCTinに対する寄与割合が大
きく、したがってこのときの理論空燃比からの空燃比誤
差は主にTsの誤差に伴うものであるからである。ベー
ス学習が収束していることを条件とするのは、ベース学
習値の収束後にマップ学習値の更新を行わせるためであ
る。
【0092】このようにして学習許可条件を判定したら
図8のステップ51に戻り、学習許可条件が成立してい
るときはステップ52で運転条件がどの学習領域にある
のかを判定し、運転条件が属する学習領域のマップ学習
値を用いて X1(new)=X1(old)+{(ALP 1+ALP 2)/2−100} ×WEIGHT …(9) ただし、X1(new):更新後のマップ学習値[%] X1(old):更新前のマップ学習値[%] WEIGHT:更新割合 の式によりマップ学習値を更新し、運転条件が属する学
習領域に対応するマップ学習収束カウンタCLRNTD
iをステップ55においてインクリメントする。ただ
し、この段階ではX1(new)の値を、運転条件が属す
る学習領域にマップ学習値として格納することはしな
い。
【0093】ステップ56ではマップ学習収束カウンタ
CLRNTDiと所定値NLRNTD#を比較し、すべ
ての学習領域でCLRNTDi≧NLRNTD#のとき
ステップ57に進んでマップ学習収束フラグFLRNT
Dに“1”をセットし、それ以外ではステップ58に進
んでFLRNTD=0とする。
【0094】図8において説明を飛ばしたステップ54
のリミッタ処理B1は本発明により新たに導入する部分
であり、後で詳述する。
【0095】図10のフローチャートはベース学習値を
更新するためのもの、図11のフローチャートは学習許
可条件を判定するためのもので、それぞれ図8、図9に
対応する。
【0096】ベース学習値の更新の方法は、マップ学習
値の更新の方法と基本的に変わらないので、異なる部分
を主に説明する。
【0097】まず、図11のほうではステップ98、9
9、100が図9と相違する。ベース学習では、ベース
学習が未収束(フラグFBSLTD=0)であり、かつ
TPとNがベース学習領域にあるとき(BSLTPL#
≦TP≦BSLTPH#かつBSLNEL#≦N≦BS
LNEH#のとき)が、学習許可条件に加わるわけであ
る。
【0098】また、ベース学習値は1データであるた
め、図10を図8と比較すればわかるようにマップ学習
値の更新の場合よりベース学習値の更新のほうが簡単に
なっている。つまり、図10において学習許可条件の成
立時にステップ81よりステップ82に進み、 X2(new)=X2(old)+{(ALP 1+ALP 2)/2−100} ×WEIGHT …(10) ただし、X2(new):更新後のベース学習値[%] X2(old):更新前のベース学習値[%] WEIGHT:更新割合 の式によりベース学習値を更新し、ベース学習収束カウ
ンタ(電源投入時のイニシャライズで0に初期設定)C
BSLTDをステップ84においてインクリメントして
いる。ただし、この段階ではX2(new)の値を、ベー
ス学習値として格納することはしない。また、ステップ
85ではベース学習収束カウンタCBSLTDと所定値
NBSLTD#を比較し、CBSLTD≧NBSLTD
#のときステップ86に進んでベース学習収束フラグF
BSLTDに“1”をセットし、それ以外ではステップ
87に進んでFBSLTD=0とする。
【0099】図10において説明を飛ばしたステップ8
3のリミッタ処理C1は本発明により新たに導入する部
分であり、後で詳述する。
【0100】次に、TS学習値の参照について図12の
フローチャートにより説明する。同図のフローは図3と
は独立に一定時間毎に(あるいはバックグランドジョブ
で)実行する。
【0101】ステップ111ではTS学習値を変数LR
NTS[ms]に入れる。ここでも、無効パルス幅学習
値そのものと演算に用いる無効パルス幅学習値を区別す
るため変数LRNTSを用いている。
【0102】ステップ112〜115はTS学習値に対
してリミッタ処理を行う部分である。ステップ112で
はTS学習値の上限値LTSMAX#[ms](たとえ
ば+0.1ms)とLRNTSを比較し、LTSMAX
#<LRNTSのときはステップ113に進んでLTS
MAX#の値をLRNTSに、またステップ114でT
S学習値の下限値LTSMIM#[ms](たとえば−
0.1ms)とLRNTSを比較し、LTSMIN#>
LRNTSのときはステップ115に進んでLTSMI
N#の値をLRNTSに入れる。
【0103】図12において説明を飛ばしたステップ1
16〜122のリミッタ処理は本発明により新たに導入
する部分であり、後で詳述する。
【0104】図13のフローチャートはTS学習値を更
新するためのもの、図14のフローチャートは学習許可
条件を判定するためのもので、それぞれ図8、図9ある
いは図10、図11に対応する。図13のフローチャー
トも図8、図10と同じにO2センサ出力のリッチ、リ
ーンの反転毎に実行する。
【0105】TS学習値の更新の方法もマップ学習値や
ベース学習値の更新の方法と基本的に変わらない。
【0106】学習許可条件の判定では、図14のステッ
プ155、156、157が図9と相違する。つまり、
TS学習では ステップ155;学習領域が0である、 ステップ156;アイドル回転数制御(図ではISC制
御で略記)がクローズド中である、 ステップ157;アイドルスイッチがOFFよりONに
切換わってからTS学習ディレイ時間DTSLRN#が
経過したときをTS学習許可条件に含めている。
【0107】ここで、学習領域が0である場合にだけT
S学習を許可するのは、この領域ではTPよりもTsの
ほうがCTinに対する寄与割合が大きく、したがって
このときの理論空燃比からの空燃比誤差は主にTsの誤
差に伴うものであるからである。また、負荷の小さい学
習領域でありながら、4、8、12の各学習領域でTS
学習を許可しないのは、この領域ではフュエルカットが
行われることがあり、フュエルカット時にはTS学習を
行うことができないからである。アイドル回転数制御が
クローズド中に限りTS学習を許可するのは、回転数、
空燃比がクローズド中以外よりも安定するからである。
アイドルスイッチがOFFよりONに切換わってからデ
ィレイ時間が経過するのを待つのは、TS学習値を安定
させるためである。
【0108】なお、図14においては図9のステップ6
5、66と同じ部分がない。これは、TS学習値の更新
を行うのがアイドル時に限られるので、TPとNより運
転条件をみる必要がないからである。
【0109】図13においては、学習許可条件の成立時
にステップ132、133で(ALP 1+ALP
2)/2と100%を比較し、(ALP 1+ALP
2)/2<100のとき(リッチ側にあるとき)、ステ
ップ134に進んで X3(new)=X3(old)−DLRNTS …(11) ただし、X3(new):更新後のTS学習値[%] X3(old):更新前のTS学習値[%] DLRNTS:更新量[%] の式により、また(ALP 1+ALP 2)/2>1
00のとき(リーン側にあるとき)、ステップ135に
進んで X3(new)=X3(old)+DLRNTS …(12) ただし、X3(new):更新後のTS学習値[%] X3(old):更新前のTS学習値[%] DLRNTS:更新量[%] の式によりTS学習値を更新する。一方、(ALP
+ALP 2)/2=100のときはステップ132、
133よりステップ136に進み、 X3(new)=X3(old) …(13) の式によりTS学習値を更新する。ただし、この段階で
はX3(new)の値を、TS学習値として格納すること
はしない。
【0110】学習領域が0のときは主にアイドル時であ
り、アイドル時に学習値を大きく変化させる(つまり空
燃比を大きく変化させる)と回転変動が大きくなるの
で、これを避けるため、(11)、(12)式のDLR
NTSには比較的小さな値を与えている。
【0111】ステップ138ではTS学習収束カウンタ
(バックアップRAMに格納)CLTSTDをインクリ
メントし、この学習収束カウンタCLTSTDと所定値
NLTSTD#をステップ139において比較する。C
LTSTD≧NLTSTD#のときステップ140に進
んでTS学習収束フラグFLTSTDに“1”をセット
し、それ以外ではステップ141、142に進んでFL
TSTD=0かつすべてのマップ学習収束カウンタCL
RNTDi=0とする。TS学習値が未収束のときは、
マップ学習値の更新をやり直すため、CLRNTDi=
0とするのである。
【0112】図13において説明を飛ばしたステップ1
37のリミッタ処理Aは本発明により新たに導入する部
分であり、後で詳述する。
【0113】これで、単位の異なる学習値を用いた現状
の空燃比学習制御の説明を終える。
【0114】さて、最近の空燃比学習制御では、学習値
に対して所定の範囲のリミッタを設けることで、燃料イ
ンジェクタやエアフローメータの製造時の部品バラツキ
や経時劣化を吸収でき、かつ誤学習による理論空燃比か
らの空燃比誤差も同じ所定の範囲以内であれば、エンス
ト等の不具合を回避できることがわかっている。
【0115】しかしながら、上記のようにマップ学習値
(あるいはベース学習値)とTS学習値をともに用いる
ものでは、現在のところ各学習値毎に独立してリミッタ
を設けているため、2つの学習値のトータルで所定の範
囲のリミッタを確保するのが難しく、一方の学習値が上
限リミッタや下限リミッタに張り付いたときには、2つ
の学習値のトータルでリミッタが所定の範囲を超えてし
まう事態が生じる。
【0116】たとえば現在のところ、マップ学習値、ベ
ース学習値、TS学習値の各学習値に対して、 RLRMIN#[%]≦マップ学習値≦RLRMAX#[%]…(14) RLRMIN#[%]≦ベース学習値≦RLRMAX#[%]…(15) LTSMIN#[ms]≦TS学習値≦LTSMAX#[ms] …(16) のように各学習値ごとに独立してリミッタを設定してい
る。ただし、(14)、(15)、(16)式において
RLRMAX#、RLRMIN#はマップ学習値(また
はベース学習値)の上限値(たとえば110%)、下限
値(たとえば90%)、また、LTSMAX#、LTS
MIN#はTS学習値の上限値(たとえば+0.1m
s)、下限値(たとえば−0.1ms)である。
【0117】ここで、マップ学習値とベース学習値はい
ずれかが選択され、両方がともに選択されることはない
ので、マップ学習値とTS学習値の組み合わせで考え
る。この場合に、マップ学習値はTPに対する乗算項と
して、またTS学習値はTPに対する加算項として加わ
ることから、マップ学習値のリミッタについてはTPに
関係なくRLRMAX#が上限リミッタ、RLRMIN
#が下限リミッタとなるのに対して、TS学習値のリミ
ッタについてはTPが小さくなるほどTPに対するリミ
ッタ分が大きくなっていくため、TPを横軸にとり、マ
ップ学習値のリミッタと無効パルス幅のリミッタを重ね
たとき、図15上段のようになる。つまり、マップ学習
値が上限リミッタや下限リミッタに張り付いたとき、T
S学習値がリミッタ分を超えなくても、2つの学習値の
トータルでリミッタが所定の範囲(±10%)を超えて
しまうのである。
【0118】これに対処するため本発明の第1実施形態
では、TS学習値をTPに対するパーセントに換算した
値と、もともとパーセントで設定されるマップ学習値と
のトータルでリミッタが所定の範囲である±10パーセ
ントに収まるように2つの学習値をそれぞれ制限する。
【0119】ここで、本発明のリミッタの制御イメージ
を図15下段を参照して概説すると、TS学習値のリミ
ッタをTPに対するパーセント表示に換算した値とマッ
プ学習値のリミッタとのトータルで±10%となるよう
に、マップ学習値のリミッタを定めたとき、図示のよう
に、TPが小さくなるほど100%に近づいていく曲線
がそれぞれマップ学習値の上限リミッタ、下限リミッタ
となる。したがって、マップ学習値を更新したり参照す
るとき、マップ学習値のリミッタを外れないように、ま
たTS学習値についてもTS学習値を更新したり参照す
るときTS学習値のリミッタを外れないように各学習値
を制限することで、噴射時間表示のTS学習値と%表示
の学習値を合わせもつものにおいても、2つの学習値の
トータルでのリミッタ(%単位)を±10%以内に収
め、これによって誤学習の悪影響を小さくするととも
に、エンスト等の不具合を回避することができるのであ
る。
【0120】ただし、マップ学習値は学習領域毎の値で
あり、TPに対して不連続な値をとることから、実際に
は図15下段に示した曲線がそのままマップ学習値のリ
ミッタを定めるものではない。
【0121】具体的には、図16にまとめて示したよう
に、マップ学習値とTS学習値に対して学習値の更新
時、参照時のリミッタ処理を学習領域毎に行う。図16
に示したリミッタ処理を実現するため、 図3に示すLALPHAの検索においてステップ1
7、28のリミッタ処理B2とステップ21、25のリ
ミッタ処理C2を、 図8に示すマップ学習値の更新においてステップ54
のリミッタ処理B1を、 図10に示すベース学習値の更新においてステップ8
3のリミッタ処理C1を、 図12に示すTS学習値の参照においてステップ11
6〜122のリミッタ処理を、 図13に示すTS学習値の更新においてステップ13
7のリミッタ処理Aを追加している。
【0122】なお、図16はマップ学習値が選択された
ときの2つの学習値(マップ学習値とTS学習値)のリ
ミッタ処理を示しているが、実施形態ではベース学習値
が選択されることがあり、このときもマップ学習値が選
択されたときと同様に2つの学習値(ベース学習値とT
S学習値)のリミッタ処理を行わなければならないの
で、〜にはベース学習値についてのリミッタ処理も
含めている。
【0123】以下、〜の順ではなく、 〈1〉TS学習値の更新時のリミッタ処理(上記に対
応) 〈2〉TS学習値の参照時のリミッタ処理(上記に対
応) 〈3〉マップ学習値の更新時、参照時のリミッタ処理
(上記、に対応) 〈4〉ベース学習値の更新時、参照時のリミッタ処理
(上記、に対応) の順に項分けして説明する。
【0124】〈1〉TS学習値の更新時のリミッタ処理 TS学習値の更新時のリミッタ処理は図13のステップ
137のリミッタ処理Aのことである。この処理を行う
ため、サブルーチンとして図17のフローチャートを設
けている。つまり、図13においてステップ137に進
んだときは、図17に飛んで図17の処理をすべて実行
した後、再び図13に戻り、ステップ138以降を実行
することになる。なお、後述するリミッタ処理B1、C
1、C2についてもサブルーチンとして図19、図2
0、図22、図23のフローチャートを設けている。
【0125】図17においてステップ161〜165は
上限リミッタ処理を、166〜170は下限リミッタ処
理をそれぞれ行う部分である。上限リミッタ処理と下限
リミッタ処理とで内容は同様であるので、主に上限リミ
ッタ処理を説明する。
【0126】ステップ161ではTP(図2のステップ
3で得ている)を用いて LTSMAX2=TP×(RLRMAX#−TALP0)/100×2 …(17) ただし、RLRMAX#:学習値上限値[%] TALP0:学習領域0でのマップ学習値[%] の式によりTS学習値の上限値LTSMAX2[ms]
を計算する。
【0127】ここで、(17)式がどういう値であるか
を図18を用いて説明すると、同図は前述した図15下
段と基本的に同じもので、図18においてTPが大きく
なるほど学習値上限値RLRMAX#に近づいていく曲
線が、TS学習値に対するリミッタ分とマップ学習値に
対するリミッタ分を分ける境界である。実際にはマップ
学習値は学習領域毎の値(不連続値)であるから、図示
のように、マップ学習値に対するリミッタは階段状の値
となる。なお、TP格子点(TALPP0#、TALP
P1#、TALPP2#、TALPP3#)では黒丸の
ほうの値である。
【0128】さて、学習領域が0のときTS学習値に対
する上限リミッタ分として許されるのは、RLRMAX
#からTALP0までのあいだ(つまり図示の矢印幅)
であり、この値はパーセント単位であるため、これを1
00パーセントで割った値にTP[ms]をかけること
によってms単位でのTS学習値に対する上限値へと換
算するのである。なお、(17)式右辺の2はシーケン
シャル噴射に対応させるための値である。
【0129】ステップ162では、この上限値LTSM
AX2とTS学習上限値LTSMAX#[ms]との小
さいほうを上限リミッタ[ms]として選択する。これ
は次の理由からである。TS学習上限値LTSMAX#
は、現状と同じにTS学習値単独で設定している上限値
であり(上記の(16)式参照)、このLTSMAX#
とLTSMAX2との小さいほうを選択することでTS
学習値の範囲を狭めて誤学習の影響を小さくするためで
ある。
【0130】このようにしてTS学習値に対する上限リ
ミッタが定まれば、ステップ163においてこの上限リ
ミッタとLRNTSを比較し、LRNTSが上限リミッ
タを超えているときはステップ164、165に進んで
LRNTSを上限リミッタに制限するとともに、その上
限リミッタの値を変数X3(new)に入れる。
【0131】同様にして、ステップ166では LTSMIN2=TP×(RLRMIN#−TALP0)/100×2 …(18) ただし、RLRMIN#:学習値下限値[%] TALP0:学習領域0でのマップ学習値[%] の式によりTS学習値の下限値LTSMIN2[ms]
を計算し、このLTSMIN2とTS学習下限値LTS
MIN#[ms]の大きいほうをステップ167におい
て下限リミッタ[ms]として選択する。この下限リミ
ッタとLRNTSを比較し、LRNTSが下限リミッタ
を下回るときはステップ169、170に進んでLRN
TSを下限リミッタに制限するとともに、その下限リミ
ッタの値を変数X3(new)に入れる。
【0132】ステップ171では変数X3(new)の値
をTS学習値として格納する。つまり、TS学習値の更
新時に図13のステップ134、135、136でTS
学習値が更新されていても、ステップ137のリミッタ
処理AにおいてLRNTSがリミッタで制限されたとき
はその制限された値でTS学習値をさらに更新するので
ある。
【0133】〈2〉TS学習値の参照時のリミッタ処理 TS学習値の参照時のリミッタ処理は図12のステップ
116〜122である。
【0134】図12において、ステップ116で学習領
域をみて、学習領域が0、4、8、12のときだけステ
ップ117以降に進む。
【0135】ステップ117、118、119は上限リ
ミッタ処理を、ステップ120、121、122は下限
リミッタ処理をそれぞれ行う部分である。
【0136】ステップ117では、 LTSMAX2=TP×(RLRMAX#−TALP)/100×2 …(19) ただし、RLRMAX#:学習値上限値[%] TALP:0、4、8、12の各学習領域でのマップ学
習値[%] の式によりTS学習値の上限値LTSMAX2[ms]
を計算し、このLTSMAX2とLRNTSをステップ
118において比較し、LTSMAX2<LRNTSの
ときはステップ119に進んでLTSMAX2の値をL
RNTSに移す。
【0137】同様にして、ステップ120では LTSMIN2=TP×(RLRMIN#−TALP)/100×2 …(20) ただし、RLRMIN#:学習値下限値[%] TALP:0、4、8、12の各学習領域でのマップ学
習値[%] の式によりTS学習の下限値LTSMIN2[ms]を
計算し、このLTSMIN2とLRNTSをステップ1
21において比較し、LTSMIN2>LRNTSのと
きはステップ122に進んでLTSMIN2の値をLR
NTSに移す。
【0138】(19)、(20)式を上記の(17)、
(18)式と比較すればわかるように、学習領域でのマ
ップ学習値が異なるだけで同等の式である。
【0139】しかしながら、TS学習値の参照時には、
リミッタでLRNTSを制限するだけで、LRNTSが
リミッタにより制限されたとき、そのリミッタ値でTS
学習値を更新することはしていない(図17のステップ
165、170に対応するステップが図12にない)。
これは次の理由による。学習領域0、4、8、12では
他の学習領域よりTPが小さいのであるが、これら4つ
の学習領域の中でもTPが小さくなると、(19)式右
辺の値、(20)式右辺の値が小さくなる。したがっ
て、このときにもTS学習値を更新したのでは、TS学
習値が小さな値となってしまうので、これを避けるた
め、学習領域が0、4、8、12での参照時に限っては
リミッタでTS学習値を更新することはしないのであ
る。
【0140】〈3〉マップ学習値の更新時、参照時のリ
ミッタ処理 マップ学習値の更新時のリミッタ処理は、図8のステッ
プ54のリミッタ処理B1のことで、このリミッタ処理
B1を図19、図20(図8ステップ54のサブルーチ
ン)のフローチャートにより説明する。
【0141】図19においてステップ181、182で
は学習領域をみる。ここでの学習領域は、図4に示した
ようにTP格子だけにより4つに分割し、各学習領域を
区別するためA0、A1、A2、A3を割り振ってい
る。たとえば学習領域A0は学習領域0、4、8、12
を合わせたものである。
【0142】学習領域がA0、A1にあるときは図19
のステップ183〜187、図20のステップ188〜
193に、学習領域がA2にあるときは図19のステッ
プ194〜198、図20のステップ199〜204
に、学習領域がA3にあるときは図19のステップ20
5〜209、図20のステップ210〜215に進む。
このうち、図19のほうのステップ183〜187、ス
テップ194〜198、ステップ205〜209が上限
リミッタ処理、図20のほうのステップ188〜19
2、ステップ199〜203、ステップ210〜214
が下限リミッタ処理をそれぞれ行う部分であり、両者で
処理内容は同様であるので、これも上限リミッタ処理の
ほうで代表させる。
【0143】ステップ183、194、205では 学習領域A0、A1;RLMAX1=RLRMAX# −{LRNTS0/(TALPP1#×2)}×100 …(21) 学習領域A2;RLMAX2=RLRMAX# −{LRNTS0/(TALPP2#×2)}×100 …(22) 学習領域A3;RLMAX3=RLRMAX# −{LRNTS0/(TALPP3#×2)}×100 …(23) ただし、RLRMAX#:学習値上限値[%] LRNTS0:TS学習値[ms] の式によりマップ学習領域毎上限値RLMAX1
[%]、RLMAX2[%]、RLMAX3[%]をそ
れぞれ計算し、これらのそれぞれと学習値上限値RLR
MAX#のいずれか小さいほうをステップ184、19
5、206において上限リミッタに設定する。
【0144】ここで、(21)、(22)、(23)式
の中から(21)式を例にとり、(21)式右辺の値
を、TPでなくTALPP1#(学習領域A1の下限を
定めるTP格子)に対する値とする理由を図21を用い
て説明する。
【0145】学習領域A1においてTPがTP1のと
き、TS学習値に対するリミッタ分は{LRNTS0/
(TP1×2)}×100(%表示)であるから、RL
RMAX#からこの分を差し引いた値、つまり RLRMAX#−{LRNTS0/(TP1×2)}×100…(24) がマップ学習値に対する上限値となる。
【0146】これに対して、同じ学習領域A1において
TP1よりも小さなTP2のときは、 RLRMAX#−{LRNTS0/(TP2×2)}×100…(25) がマップ学習値に対する上限値になることから、TPが
TP1より小さくなるのにつれてマップ学習値に対する
上限値を減少させなけれならない。したがって、(2
4)の値を学習領域A1の全体についてのマップ学習値
の上限値としたのでは、学習領域A1のうちTP1未満
の領域でマップ学習値の上限値が大きくなり過ぎ、2つ
の学習値のトータルでリミッタがRLRMAX#を超え
る事態が生じてしまう。そこで、学習領域A1において
最小のTP(つまりTALPP1#)のときの値である RLRMAX#−{LRNTS0/(TALPP1#×
2)}×100 を学習領域A1の全体についてのマップ学習値の上限値
としたわけである。
【0147】なお、学習領域A0でのマップ学習領域毎
上限値は学習領域A1でのマップ学習領域毎上限値に等
しくしている。これは、学習領域A0においては、(2
1)式からの類推により RLRMAX#−{LRNTS0/(TALPP0#×2)}×100 …(26) の値がマップ学習領域毎上限値となりそうであるが、T
ALPP0#が0であることより、(26)第2項目の
値を計算することができないこと、また学習領域A0で
はTS学習値のほうでリミッタにより制限していること
から、学習領域A0でのマップ学習領域毎上限値を学習
領域A1でのマップ学習領域毎上限値に等しくしている
のである。
【0148】図19のステップ185、196、207
では上限リミッタとLRNALPを比較し、上限リミッ
タ<LRNALPのときはステップ186、197、2
08に進んで、上限リミッタをLRNALPに入れ、さ
らにステップ187、198、209において上限リミ
ッタの値を変数X1(new)に移す。
【0149】図20のステップ188〜192、ステッ
プ199〜203、ステップ210〜214では図19
のステップ183〜187、ステップ194〜198、
ステップ205〜209と同様にして、学習領域毎に下
限リミッタ処理を行う。
【0150】ステップ193、204、215では、変
数X1(new)の値を、対応する学習領域(このときの
学習領域はA0、A1、A2、A3でなく、図4の1〜
15の各領域である)のマップ学習値TALPとして格
納する。つまり、マップ学習値の更新時に図8のステッ
プ53でマップ学習値が更新されていても、ステップ5
4のリミッタ処理B1においてLRNALPがリミッタ
で制限されたときはその制限された値でマップ学習値を
さらに更新する。
【0151】次に、マップ学習値の参照時のリミッタ処
理は、図3のステップ17、28の各リミッタ処理B2
のことであるが、このリミッタ処理B2も図19、図2
0に示したリミッタ処理B1(マップ学習値の更新時の
リミッタ処理)と同様である。このときは、図19、図
20においてステップ187、192、193、19
8、203、204、209、214、215で上限リ
ミッタ、下限リミッタの各リミッタを変数X1(new)
に入れたあと、この変数X1(new)の値を、対応する
学習領域のマップ学習値として格納する代わりに、上限
リミッタ、下限リミッタの各リミッタを直接に、対応す
る学習領域のマップ学習値として格納すればよい。つま
り、マップ学習値の参照時にも、上限リミッタ、下限リ
ミッタの各リミッタでLRNALPを制限するととも
に、リミッタでLRNALPを制限したときはその制限
した値でマップ学習値を更新するのである。
【0152】ここで、マップ学習値の参照時にもリミッ
タにより制限した値でマップ学習値を更新するのは次の
理由からである。2つの学習値(マップ学習値とTS学
習値)がある場合は、両方を同じタイミングで更新して
各学習値とも最新値に置き換えていくことにより初め
て、2つの学習値のトータルでリミッタを学習値上限値
RLRMAX#と学習値下限値RLRMIN#の間に収
めることができる。しかしながら、2つの学習値は学習
許可条件が異なり、同じタイミングで更新されることが
ないため、2つの学習値のトータルでリミッタが学習値
上限値RLRMAX#を超えたり学習値下限値RLRM
IN#を下回ることが考えられる。そこで、マップ学習
値の参照時にもリミッタにより制御した値でマップ学習
値を更新することにより、できるだけ更新の機会を増や
し、トータルの学習値のリミッタが学習値上限値RLR
MAX#を超えることも、学習値下限値RLRMIN#
を下回ることもないようにしているのである。
【0153】〈4〉ベース学習値の更新時、参照時のリ
ミッタ処理 ベース学習値の更新時のリミッタ処理は図10のステッ
プ83のリミッタ処理C1、またベース学習値の参照時
のリミッタ処理は図3のステップ21、25のリミッタ
処理C2である。このうちリミッタ処理C1を図22
(図10のステップ83のサブルーチン)のフローチャ
ートにより、またリミッタ処理C2を図23(図3のス
テップ21、25のサブルーチン)のフローチャートに
より説明する。
【0154】ベース学習値の更新時のリミッタ処理はマ
ップ学習値の更新時のリミッタ処理と同様である。ただ
し、マップ学習値と異なりベース学習値は図5に示した
ように1つの学習領域であるため、ベース学習値の上限
値、下限値の各計算式が図22のステップ221、22
6に示したように、 RLMAX0=RLRMAX# −{LRNTS0/(BSLTPL#×2)}×100 …(27) RLMIN0=RLRMIN# −{LRNTS0/(BSLTPL#×2)}×100 …(28) ただし、RLMAX0:ベース学習値の上限値[%] RLMIN0:ベース学習値の下限値[%] RLRMAX#:学習値上限値[%] RLRMIN#:学習値上限値[%] LRNTS0:TS学習値[ms] BSLTPL#:ベース学習許可下限TP となっている。
【0155】ここで、(27)、(28)式において右
辺第2項の分母がTP×2でなくBSLTPL#×2で
あるのは、図19のステップ183、図20のステップ
188において右辺第2項の分母がTP×2でなくTA
LPP1#×2であるのと同じ理由からである。なお、
(27)式右辺の値を図24に示す。
【0156】これに対してベース学習値の参照時には、
ベース学習値の上限値、下限値の各計算式が図23のス
テップ241、245に示したように、 RLMAX0=RLRMAX# −{LRNTS0/(TP×2)}×100 …(29) RLMIN0=RLRMIN# −{LRNTS0/(TP×2)}×100 …(30) ただし、RLMAX0:ベース学習値の上限値[%] RLMIN0:ベース学習値の下限値[%] RLRMAX#:学習値上限値[%] RLRMIN#:学習値上限値[%] LRNTS0:TS学習値[ms] となり、これら上限値RLMAX0、下限値RLMIN
0でBSALPを制限するものの(ステップ242、2
43、244、246、247、248)、制限した値
でベース学習値を更新することはしない(図22のステ
ップ225、230、231に対応する部分が図23に
ない)。
【0157】ベース学習値の参照時に、リミッタにより
制限するだけで、その制限した値でベース学習値を更新
しないのは次の理由からである。(29)、(30)式
においてTPが0に近づいていくとき、(29)、(3
0)式右辺第2項が大きくなり、(29)、(30)式
右辺の値が0に近づいていくので、このときにまでベー
ス学習値を更新したのでは、ベース学習値がごくわずか
な値になってしまう。これを避けるため、ベース学習値
の参照時にリミッタにより制限した値でベース学習値を
更新することはしないのである。
【0158】実施形態では、加算項の学習値がTS学習
値、乗算項の学習値がマップ学習値(またはベース学習
値)である場合で説明したが、これに限られるものでな
い。
【図面の簡単な説明】
【図1】第1実施形態の制御システム図である。
【図2】気筒別燃料噴射パルス幅CTinの演算を説明
するためのフローチャートである。
【図3】空燃比学習値LALPHAの検索を説明するた
めのフローチャートである。
【図4】マップ学習値の学習領域図である。
【図5】ベース学習値の学習領域図である。
【図6】マップ学習値とベース学習値の切換を説明する
ための波形図である。
【図7】空燃比フィードバック補正係数ALPHAの演
算を説明するためのフローチャートである。
【図8】マップ学習値の更新を説明するためのフローチ
ャートである。
【図9】学習許可条件の判定を説明するためのフローチ
ャートである。
【図10】ベース学習値の更新を説明するためのフロー
チャートである。
【図11】学習許可条件の判定を説明するためのフロー
チャートである。
【図12】TS学習値の参照を説明するためのフローチ
ャートである。
【図13】TS学習値の更新を説明するためのフローチ
ャートである。
【図14】学習許可条件の判定を説明するためのフロー
チャートである。
【図15】現状のリミッタ処理の制御イメージと本発明
のリミッタ処理の制御イメージを対比して示す特性図で
ある。
【図16】各学習領域毎のリミッタ処理をまとめて示す
特性図である。
【図17】TS学習値の更新時のリミッタ処理を説明す
るためのフローチャートである。
【図18】TS学習値に対するリミッタ分を説明するた
めの特性図である。
【図19】マップ学習値の更新時のリミッタ処理を説明
するためのフローチャートである。
【図20】マップ学習値の更新時のリミッタ処理を説明
するためのフローチャートである。
【図21】マップ学習値の更新時のマップ学習値に対す
るリミッタ分を説明するための特性図である。
【図22】ベース学習値の更新時のリミッタ処理を説明
するためのフローチャートである。
【図23】ベース学習値の参照時のリミッタ処理を説明
するためのフローチャートである。
【図24】ベース学習値の更新時のベース学習値に対す
るリミッタ分を説明するための特性図である。
【図25】第1の発明のクレーム対応図である。
【符号の説明】
1 エンジン 2 コントロールユニット 3 燃料インジェクタ 4 エアフローメータ 7 クランク角センサ 9 O2センサ

Claims (26)

    【特許請求の範囲】
  1. 【請求項1】エンジンの負荷と回転数に基づいて基本噴
    射量を演算する手段と、 乗算項の学習値を割合の単位で格納する手段と、 加算項の学習値を噴射量の単位で格納する手段と、 前記加算項の学習値を前記基本噴射量に対する割合に換
    算した値と前記乗算項の学習値とのトータルでリミッタ
    が所定の範囲に収まるように前記2つの学習値をそれぞ
    れ制限する手段と、 排気の空燃比を検出する手段と、 この空燃比検出手段の出力に基づいて空燃比が理論空燃
    比と一致するように空燃比フィードバック補正量を演算
    する手段と、 この空燃比フィードバック補正量と前記制限された2つ
    の学習値とで前記基本噴射量を補正して燃料噴射量を演
    算する手段と、 この噴射量の燃料をエンジンに供給する手段とを設けた
    ことを特徴とするエンジンの空燃比制御装置。
  2. 【請求項2】前記燃料噴射量が前記基本噴射量と無効噴
    射量の和からなり、前記加算項の学習値がこの無効噴射
    量の学習値であることを特徴とする請求項1に記載のエ
    ンジンの空燃比制御装置。
  3. 【請求項3】前記無効噴射量の学習値を低負荷域でだけ
    前記空燃比フィードバック補正量に基づいて更新するこ
    とを特徴とする請求項2に記載のエンジンの空燃比制御
    装置。
  4. 【請求項4】前記乗算項の学習値が学習領域毎の学習値
    であることを特徴とする請求項2または3に記載のエン
    ジンの空燃比制御装置。
  5. 【請求項5】前記学習領域毎の学習値を低負荷域以外の
    運転域で前記空燃比フィードバック補正量に基づいて更
    新することを特徴とする請求項4に記載のエンジンの空
    燃比制御装置。
  6. 【請求項6】前記乗算項の学習値がパージカット時の学
    習値であることを特徴とする請求項2または3に記載の
    エンジンの空燃比制御装置。
  7. 【請求項7】前記パージカット時の学習値を所定の1つ
    の学習領域でだけ前記空燃比フィードバック補正量に基
    づいて更新することを特徴とする請求項6に記載のエン
    ジンの空燃比制御装置。
  8. 【請求項8】前記乗算項の学習値がパージカット時の学
    習値と学習領域毎の学習値とからなり、パージカット時
    の学習値からしきい値を差し引いた値と学習領域毎の学
    習値との比較により、パージカット時の学習値からしき
    い値を差し引いた値が学習領域毎の学習値以下のときパ
    ージカット時の学習値を、またパージカット時の学習値
    からしきい値を差し引いた値が学習領域毎の学習値を超
    えるとき学習領域毎の学習値を選択することを特徴とす
    る請求項2または3に記載のエンジンの空燃比制御装
    置。
  9. 【請求項9】前記無効噴射量の学習値単独でリミッタを
    設けることを特徴とする請求項2または3に記載のエン
    ジンの空燃比制御装置。
  10. 【請求項10】前記無効噴射量の学習値の更新時に、前
    記基本噴射量に応じたリミッタで無効噴射量の学習値を
    制限するとともに、そのリミッタで無効噴射量の学習値
    が制限されるときは、そのリミッタで無効噴射量の学習
    値を更新することを特徴とする請求項9に記載のエンジ
    ンの空燃比制御装置。
  11. 【請求項11】前記無効噴射量の学習値の更新時に、前
    記基本噴射量に応じたリミッタと前記無効噴射量の学習
    値単独のリミッタとの狭いほうで無効噴射量の学習値を
    制限するとともに、その狭いほうのリミッタで無効噴射
    量の学習値が制限されるときは、その狭いほうのリミッ
    タで無効噴射量の学習値を更新することを特徴とする請
    求項9に記載のエンジンの空燃比制御装置。
  12. 【請求項12】前記無効噴射量の学習値の参照時に、低
    負荷域に限り前記基本噴射量に応じたリミッタで無効噴
    射量の学習値を制限することを特徴とする請求項9また
    は10に記載のエンジンの空燃比制御装置。
  13. 【請求項13】前記リミッタは、2つの学習値のトータ
    ルとして割合の単位で予め定めたリミッタから前記乗算
    項の学習値を差し引いた値に前記基本噴射量をかけた値
    であることを特徴とする請求項10から12までのいず
    れか一つに記載のエンジンの空燃比制御装置。
  14. 【請求項14】前記学習領域毎の学習値の更新時に、前
    記無効噴射量の学習値に応じたリミッタで学習領域毎の
    学習値を制限するとともに、そのリミッタで学習領域毎
    の学習値が制限されるときは、そのリミッタで学習領域
    毎の学習値を更新することを特徴とする請求項4または
    5に記載のエンジンの空燃比制御装置。
  15. 【請求項15】前記学習領域毎の学習値の更新時に、前
    記無効噴射量の学習値に応じたリミッタと2つの学習値
    のトータルとして割合の単位で予め定めたリミッタとの
    狭いほうで学習領域毎の学習値を制限するとともに、そ
    の狭いほうのリミッタで学習領域毎の学習値が制限され
    るときは、その狭いほうのリミッタで学習領域毎の学習
    値を更新することを特徴とする請求項4または5に記載
    のエンジンの空燃比制御装置。
  16. 【請求項16】前記学習領域毎の学習値の参照時に、前
    記無効噴射量の学習値に応じたリミッタで学習領域毎の
    学習値を制限するとともに、そのリミッタで学習領域毎
    の学習値が制限されるときは、そのリミッタで学習領域
    毎の学習値を更新することを特徴とする請求項4、5、
    14、15のいずれか一つに記載のエンジンの空燃比制
    御装置。
  17. 【請求項17】前記学習領域毎の学習値の参照時に、前
    記無効噴射量の学習値に応じたリミッタと2つの学習値
    のトータルとして割合の単位で予め定めたリミッタとの
    狭いほうで学習領域毎の学習値を制限するとともに、そ
    の狭いほうのリミッタで学習領域毎の学習値が制限され
    るときは、その狭いほうのリミッタで学習領域毎の学習
    値を更新することを特徴とする請求項4、5、14、1
    5のいずれか一つに記載のエンジンの空燃比制御装置。
  18. 【請求項18】前記リミッタは、2つの学習値のトータ
    ルとして割合の単位で予め定めたリミッタから前記無効
    噴射量の学習値を前記基本噴射量に対する割合に換算し
    た値を差し引いた値であることを特徴とする請求項14
    から17までのいずれか一つに記載のエンジンの空燃比
    制御装置。
  19. 【請求項19】前記基本噴射量に代えて各学習領域の負
    荷の下限を定める値を用いることを特徴とする請求項1
    8に記載のエンジンの空燃比制御装置。
  20. 【請求項20】前記パージカット時の学習値の更新時に
    前記無効噴射量の学習値に応じたリミッタでパージカッ
    ト時の学習値を制限するとともに、そのリミッタでパー
    ジカット時の学習値が制限されるときは、そのリミッタ
    でパージカット時の学習値を更新することを特徴とする
    請求項6または7に記載のエンジンの空燃比制御装置。
  21. 【請求項21】前記パージカット時の学習値の更新時に
    前記無効噴射量の学習値に応じたリミッタと2つの学習
    値のトータルとして割合の単位で予め定めたリミッタと
    の狭いほうでパージカット時の学習値を制限するととも
    に、その狭いほうのリミッタでパージカット時の学習値
    が制限されるときは、その狭いほうのリミッタでパージ
    カット時の学習値を更新することを特徴とする請求項6
    または7に記載のエンジンの空燃比制御装置。
  22. 【請求項22】前記リミッタは、2つの学習値のトータ
    ルとして割合の単位で予め定めたリミッタから前記無効
    噴射量の学習値を前記基本噴射量に対する割合に換算し
    た値を差し引いた値であることを特徴とする請求項20
    または21に記載のエンジンの空燃比制御装置。
  23. 【請求項23】前記基本噴射量に代えて学習領域の負荷
    の下限を定める値を用いることを特徴とする請求項22
    に記載のエンジンの空燃比制御装置。
  24. 【請求項24】前記パージカット時の学習値の参照時に
    前記無効噴射量の学習値に応じたリミッタで前記パージ
    カット時の学習値を制限することを特徴とする請求項
    6、7、20、21のいずれか一つに記載のエンジンの
    空燃比制御装置。
  25. 【請求項25】前記パージカット時の学習値の参照時に
    前記無効噴射量の学習値に応じたリミッタと2つの学習
    値のトータルとして割合の単位で予め定めたリミッタと
    の狭いほうで前記パージカット時の学習値を制限するこ
    とを特徴とする請求項6、7、20、21のいずれか一
    つに記載のエンジンの空燃比制御装置。
  26. 【請求項26】前記リミッタは、2つの学習値のトータ
    ルとして割合の単位で予め定めたリミッタから前記無効
    噴射量の学習値を前記基本噴射量に対する割合に換算し
    た値を差し引いた値であることを特徴とする請求項24
    または25に記載のエンジンの空燃比制御装置。
JP00571597A 1997-01-16 1997-01-16 エンジンの空燃比制御装置 Expired - Fee Related JP3644172B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP00571597A JP3644172B2 (ja) 1997-01-16 1997-01-16 エンジンの空燃比制御装置
US09/008,501 US6116227A (en) 1997-01-16 1998-01-16 Engine air-fuel ratio controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP00571597A JP3644172B2 (ja) 1997-01-16 1997-01-16 エンジンの空燃比制御装置

Publications (2)

Publication Number Publication Date
JPH10196436A true JPH10196436A (ja) 1998-07-28
JP3644172B2 JP3644172B2 (ja) 2005-04-27

Family

ID=11618823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00571597A Expired - Fee Related JP3644172B2 (ja) 1997-01-16 1997-01-16 エンジンの空燃比制御装置

Country Status (2)

Country Link
US (1) US6116227A (ja)
JP (1) JP3644172B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012035889A1 (ja) * 2010-09-17 2012-03-22 ボッシュ株式会社 制御部材の制御処理装置、圧力制御処理装置、egr制御処理装置及び過給圧制御処理装置
JP2012097693A (ja) * 2010-11-04 2012-05-24 Hitachi Automotive Systems Ltd 内燃機関の制御装置
CN104153899A (zh) * 2014-08-25 2014-11-19 北京理工大学 一种确定电控柴油机异常情况下的输出油量的方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4225645B2 (ja) * 1999-08-25 2009-02-18 株式会社日立製作所 車両用コントロールユニットのデータ書き換え装置
JP4259109B2 (ja) * 2002-12-20 2009-04-30 日産自動車株式会社 エンジンの燃料噴射制御装置
US7167791B2 (en) * 2004-09-27 2007-01-23 Ford Global Technologies, Llc Oxygen depletion sensing for a remote starting vehicle
JP4453538B2 (ja) * 2004-12-16 2010-04-21 トヨタ自動車株式会社 内燃機関の燃料噴射制御装置
DE102005009101B3 (de) * 2005-02-28 2006-03-09 Siemens Ag Verfahren und Vorrichtung zum Ermitteln eines Korrekturwertes zum Beeinflussen eines Luft/Kraftstoff-Verhältnisses
EP2469064A1 (en) * 2010-12-24 2012-06-27 Delphi Technologies, Inc. Method of controlling an internal combustion engine
DE102015200898B3 (de) * 2015-01-21 2015-11-05 Continental Automotive Gmbh Vorsteuerung eines Verbrennungsmotors

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4785784A (en) * 1986-11-18 1988-11-22 Nissan Motor Co., Ltd. Fuel injection control system for internal combustion engine
JP2526250B2 (ja) * 1987-07-13 1996-08-21 日産自動車株式会社 内燃機関の燃料制御装置
JPH0693910A (ja) * 1992-09-10 1994-04-05 Nissan Motor Co Ltd エンジンの蒸発燃料処理装置
JP3321877B2 (ja) * 1993-03-16 2002-09-09 日産自動車株式会社 エンジンの空燃比制御装置
JP2884469B2 (ja) * 1994-02-28 1999-04-19 株式会社ユニシアジェックス 内燃機関の空燃比制御装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012035889A1 (ja) * 2010-09-17 2012-03-22 ボッシュ株式会社 制御部材の制御処理装置、圧力制御処理装置、egr制御処理装置及び過給圧制御処理装置
JP5430770B2 (ja) * 2010-09-17 2014-03-05 ボッシュ株式会社 制御部材の制御処理装置、圧力制御処理装置、egr制御処理装置及び過給圧制御処理装置
JP2012097693A (ja) * 2010-11-04 2012-05-24 Hitachi Automotive Systems Ltd 内燃機関の制御装置
US8862367B2 (en) 2010-11-04 2014-10-14 Hitachi Automotive Systems, Ltd. Control system of internal combustion engine
CN104153899A (zh) * 2014-08-25 2014-11-19 北京理工大学 一种确定电控柴油机异常情况下的输出油量的方法

Also Published As

Publication number Publication date
US6116227A (en) 2000-09-12
JP3644172B2 (ja) 2005-04-27

Similar Documents

Publication Publication Date Title
JPH0214976B2 (ja)
JPH04224244A (ja) エンジンの空燃比制御装置
JP2000073885A (ja) 内燃機関の空燃比制御装置
JPH10196436A (ja) エンジンの空燃比制御装置
JPH0693910A (ja) エンジンの蒸発燃料処理装置
JP2707674B2 (ja) 空燃比制御方法
JP3156534B2 (ja) 内燃機関の空燃比制御装置
JP3206357B2 (ja) 内燃機関の燃料噴射量制御装置
JP3903925B2 (ja) 内燃機関の燃料性状推定装置
JP3966202B2 (ja) 内燃機関の制御装置
JPH03111642A (ja) エンジンの空燃比制御装置
JP4161772B2 (ja) 内燃機関の制御装置
JP3405128B2 (ja) エンジンの空燃比制御装置
JPH051373B2 (ja)
JP4010256B2 (ja) 内燃機関の制御装置
JP2004293349A (ja) 内燃機関の制御装置
JP3397087B2 (ja) エンジンの燃焼変動制御装置
JPH10110645A (ja) エンジンの空燃比制御装置
JPH0476242A (ja) 内燃機関用燃料噴射量制御装置
JPH07180580A (ja) エンジンの空燃比制御装置
JP3718857B2 (ja) 内燃機関の制御装置
JP3456218B2 (ja) エンジンの空燃比制御装置
JPH04224255A (ja) エンジンの空燃比制御装置
JP2623667B2 (ja) 内燃機関の空燃比制御装置
JP3397086B2 (ja) エンジンの燃焼変動制御装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050111

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050124

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees