(57)【特許請求の範囲】
【請求項１】
実空燃比を目標空燃比に近づけるべく燃料噴射量のフィードバック補正を行う内燃機関に適用され、
燃料の基本噴射量を設定しておくとともに、機関運転条件を複数の学習ゾーンに区成しておき、
各学習ゾーンでの運転においてこの基本噴射量に基づく空燃比と目標空燃比とのずれを燃料噴射量のフィードバック補正量に基づいて検出した後、このずれを補正するための学習値を各学習ゾーンに対応させてそれぞれ記憶更新しておき、
オープンループで空燃比制御を行う際には各学習ゾーンに記憶されている学習値を用いて基本噴射量を初期補正するようにしたものにおいて、
フィードバック制御運転時には、フィードバック補正量に基づいて更新される学習補正値にて基本噴射量を補正して燃料噴射量を演算し、
各学習ゾーンでの運転において、運転条件が異なる学習ゾーンに移行した場合には、その移行時点に存在する学習補正値を移行直前の学習ゾーンの一時学習値として一時記憶し、
移行後の学習ゾーンにて運転する際に移行後の学習ゾーンにおいて前回一時記憶した一時学習値に基づいて学習補正値を更新し、学習更新条件が成立した時点の学習補正値により学習値を記憶更新するようにしたことを特徴とする内燃機関の空燃比学習制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、主として自動車用の内燃機関の空燃比のフィードバック制御方法に関し、特に運転条件に応じて実空燃比と目標空燃比とのずれを学習し、これをフィードバック制御に反映させる内燃機関の空燃比学習制御方法に関する。
【０００２】
【従来の技術】
内燃機関の電子制御燃料噴射システムにおいては、内燃機関の運転が最適な効率や排気条件に保たれる目標空燃比となるように、運転状況に応じた燃料の基本噴射量すなわち燃料噴射弁の基本噴射時間を予め設定している。そして、排気系にＯ２センサを装備し、このＯ２センサから出力される出力信号に基づく実際の空燃比を目標空燃比に近づけるべく、この基本噴射時間にフィードバック補正を加えることにより、燃料噴射量を制御して、種々の状況変化に適応できるようにしている。この状況変化の要因には、例えばインジェクタ、プレッシャレギュレータ、吸気量測定、制御ユニット等の機器類のばらつきの他に、経時変化、運転条件、環境の変化等が挙げられる。
【０００３】
ところで、このような状況変化により、前記燃料の基本噴射量から得られる空燃比と目標空燃比との平均的なずれが大きくなると、燃料噴射量のフィードバック補正量が増大し、ひいては空燃比制御の制御性を悪化させることになる。そこで、特開平７−２４７８８９号公報等に記載されているように、前記ずれを補正するための補正量を、その時の運転条件とともに学習値として記憶しておくとともに、同一運転条件となった時に記憶されている前記学習値を用いて、予め基本噴射量に補正を加えておくことにより、ずれを小さくし空燃比制御の制御性を良好にする空燃比学習制御が行われている。具体的にこの学習は、例えば前記燃料基本噴射量と機関回転数とをパラメータとする前記運転条件を、複数の学習ゾーンに区成して、各学習ゾーン毎に学習値を更新していくことにより行われるものである。さらに、始動時等の空燃比制御をオープンループで行う際にも、これら学習値を利用して補正を行っている。
【０００４】
【発明が解決しようとする課題】
ところで、このようなずれを補正するための学習値を設定するには、ずれの平均的な大きさを検出する必要がある。このために、従来は各学習ゾーンにおいて、フィードバック制御により実空燃比を目標空燃比近傍に収束させ、その際に実際に行った補正量の平均値に基づいてこのずれを確定させた後、当該学習ゾーンに対応する学習値を更新していた。しかして、この時点より前に学習ゾーンチェンジが行われると、学習値は更新されず、学習を行うには、実空燃比が目標空燃比近傍に収束したと判断されるまでの比較的長い時間、運転が同一学習ゾーンで連続して行われる必要があった。
【０００５】
ところが、例えば平地から曲がりくねった山道を登坂していく場合を考えると、頻繁なアクセル操作等により、機関負荷や機関回転数が変動し、上記学習ゾーンが短時間で頻繁に切り替わり、学習値が更新されないまま、高地へ到達してしまう。すなわち、ゾーンチェンジが頻繁に行われる運転では、状況変化に対応すべき学習値の更新がなされないため、ドライバビリティの不良や、エンジンストール、あるいは始動不可等のトラブルを発生する可能性があった。
【０００６】
【課題を解決するための手段】
上記の課題点を解決するために、本発明は、各学習ゾーンでの学習値の更新に至るまでに、運転条件が異なる学習ゾーンに移行しても、その移行した時点でのフィードバック補正量に基づいて学習補正値を設定するとともにこれを一時学習値として一時記憶しておき、次回の同一学習ゾーンでの運転の際に、その一時記憶した一時学習値に基づいて更新した学習補正値を用いて基本噴射量を初期補正しておくことにより、頻繁に学習ゾーンチェンジが行われてもこの学習補正値による補正が積算されて、学習値が更新されるように図ったものである。
【０００７】
【発明の実施の形態】
すなわち、本発明は、実空燃比を目標空燃比に近づけるべく燃料噴射量のフィードバック補正を行う内燃機関に適用され、燃料の基本噴射量を設定しておくとともに、機関運転条件を複数の学習ゾーンに区成しておき、各学習ゾーンでの運転においてこの基本噴射量に基づく空燃比と目標空燃比とのずれを燃料噴射量のフィードバック補正量に基づいて検出した後、このずれを補正するための学習値を各学習ゾーンに対応させてそれぞれ記憶更新しておき、オープンループで空燃比制御を行う際には各学習ゾーンに記憶されている学習値を用いて基本噴射量を初期補正するようにしたものにおいて、フィードバック制御運転時には、フィードバック補正量に基づいて更新される学習補正値にて基本噴射量を補正して燃料噴射量を演算し、各学習ゾーンでの運転において、運転条件が異なる学習ゾーンに移行した場合には、その移行時点に存在する学習補正値を移行直前の学習ゾーンの一時学習値として一時記憶し、移行後の学習ゾーンにて運転する際に移行後の学習ゾーンにおいて前回一時記憶した一時学習値に基づいて学習補正値を更新し、学習更新条件が成立した時点の学習補正値により学習値を記憶更新するようにしたことを特徴とするものである。
【０００８】
【実施例】
以下本発明の一実施例を、図１から図４を参照して説明する。なお、本実施例では、自動車の内燃機関たるエンジン１００への適用例について述べるが、本発明は自動車用のエンジン１００に限定されるものではない。
図１に概略的に示したエンジン１００は、その吸気系１に図示しないアクセルペダルに応動して開閉するスロットルバルブ２を配設し、その下流側にサージタンク３を設けたものである。サージタンク３に連通する吸気系１の吸気マニホールド４の一方の端部近傍には、さらに燃料噴射弁５が設けてあり、この燃料噴射弁５を電子制御装置６により制御するようにしている。また排気系２０には、排気ガス中の酸素濃度を測定するためのＯ２センサ２１を、図示しないマフラに至るまでの管路に配設された三元触媒２２の上流の位置に取り付けている。このＯ２センサ２１は酸素濃度に応じて酸素濃度信号ｈを出力するものである。
【０００９】
電子制御装置６は、中央演算処理装置７と、記憶装置８と、入力インタフェース９と、出力インタフェース１１とを具備してなるマイクロコンピュータシステムを主体に構成したものである。入力インタフェース９には、エンジン回転数センサ１４から出力されるエンジン回転数信号Ｎｅ、Ｏ２センサ２１から出力される酸素濃度信号ｈ、スロットル開度センサ１６から出力されるスロットル開度信号ｄ等を入力している。出力インタフェース１１からは、少なくとも燃料噴射弁５を駆動する燃料噴射信号ｆを出力するようにしている。また、記憶装置８は、通常知られているようにＲＯＭとＲＡＭとから構成しているが、本実施例においては、ＲＡＭの一部を、電子制御装置６内に組み込まれた補助バッテリによってバックアップさせ、電子制御装置６の電源が切られてもその記憶内容を保持しておくようにしたバッテリバックアップ方式のものにしている。
【００１０】
このような構成のエンジン１００に対して適用した本実施例の空燃比学習制御は、予め電子制御装置６の記憶装置８にプログラミングしたソフトウェアに基づいて行われるもので、基本的に、実空燃比を目標空燃比に近づけるべく燃料噴射量ＴＡＵのフィードバック制御を行う際の制御性を良好にすることを目的としたものである。このソフトウェアを図２のフローチャートを参照して説明する。なお燃料噴射量の設定は、燃料噴射弁５の開成時間を制御することにより行っている。
【００１１】
このフローチャートは１制御サイクル内に行われる種々の制御のうち、本実施例に関係する学習値ＫＧｊ等の更新部分を特に抜粋したものである。そして、この学習値ＫＧｊ等の更新は、このような制御サイクルを繰り返すことにより行われる。なお、添字ｎは、当該制御サイクルでの値を示し、添字ｎ−１は１つ前の制御サイクルでの値を示すものである。
【００１２】
まず、図示しないがこの制御サイクルにおいて、その時の吸気量をパラメータとして燃料の基本噴射量ＴＰを目標空燃比近傍となるように算出しておく。本実施例においては、予めスロットル開度信号ｄとエンジン回転数信号Ｎｅとをパラメータとした燃料の基本噴射量ＴＰのマップを記憶装置８に記憶させておき、この制御サイクルにおいて検出したスロットル開度信号ｄとエンジン回転数信号Ｎｅとから、前記マップに基づいて基本噴射量ＴＰを算出している。
【００１３】
次に、エンジン回転数信号Ｎｅと燃料の基本噴射量ＴＰとをパラメータとするエンジン１００の運転条件から、当該制御サイクルの運転条件が、図３に示す予め区成しておいた４つの学習ゾーンＫＧｊＣＥＬＬ（ｊ＝１、２、３、４）のいずれに属するのかを判別する。
然る後、ステップＳ１において、運転条件が前制御サイクルでの学習ゾーンＫＧｊＣＥＬＬｎ−１から変化したかどうかを判定する。変化していない場合はステップＳ２に進み、変化した場合はステップＳ６に進む。
【００１４】
ステップＳ２においては、運転条件がこの学習ゾーンＫＧｊＣＥＬＬに移行してからの経過時間が、４つの学習ゾーンＫＧｊＣＥＬＬに対応してそれぞれ設定した一定時間ＫＫＧＪＳＫＰを超えているかどうかを判定する。超えている場合には、ステップＳ３に進み、超えていない場合にはステップＳ７に進む。
ステップＳ３では、図示しないフィードバック制御ルーチンにより行われている空燃比フィードバック補正量ＦＡＦの変化に基づいて、学習補正値ＫＧＸを次式（１）にしたがって更新する。
【００１５】
ＫＧＸｎ＝ＫＧＰｎ＋ＫＧＩｎ＋ＫＧＤｎ・・・（１）
ここで、ＫＧＰｎ＝ＫＰＫＧ＊ＤＡＦｎ（比例項）
ＫＧＩｎ＝ＫＩＫＧ＊ＤＡＦＴＯＴＡＬｎ（積分項）
ＫＧＤｎ＝ＫＤＫＧ＊ＤＤＡＦｎ（派生項）
ＤＡＦ・・・空燃比フィードバック補正量ＦＡＦの平均値ＩＮＴと目標空燃比との偏差を示す値
ＤＡＦＴＯＴＡＬ・・・偏差ＤＡＦの時間積分値を示す値
ＤＤＡＦ・・・偏差ＤＡＦの時間変化値を示す値
ＫＰＫＧ、ＫＩＫＧ、ＫＤＫＧ・・・係数
なお、本実施例において燃料噴射量ＴＡＵは、例えば次式（２）
ＴＡＵ＝ＴＰ＊ＦＡＦ＊ＫＧＸ＊α・・・（２）
α・・・他の補正量
で算出し決定しており、前述した式（１）中、ＫＰＫＧ、ＫＩＫＧ、ＫＤＫＧ等の値は、学習補正値ＫＧＸの更新により、フィードバック補正量平均値ＩＮＴが基準値たる１．０に近づくように適宣な値に設定している。そして、ステップＳ４に進む。
【００１６】
ステップＳ４では、学習更新条件を満たすかどうか、すなわち、ずれの検出が完了したかどうかを判断する。本実施例では、フィードバック補正量平均値ＩＮＴがその基準値（例えば１．０）に対して一定範囲内にあるかどうかでこれを判定する。そして、フィードバック補正量平均値ＩＮＴがその基準値に対して一定範囲内にある場合には、ステップＳ５に進み、当該学習ゾーンＫＧｊＣＥＬＬに対応する学習値ＫＧｊおよび一時学習値ＫＧＴｊを次式（３）、（４）にしたがって同じ値に更新する。
【００１７】
ＫＧｊｎ＝（ＫＧＩｎ＋ＫＧＩｎ−１）・１／２・・・（３）
ＫＧＴｊｎ＝（ＫＧＩｎ＋ＫＧＩｎ−１）・１／２・・・（４）
なお、この一定範囲を、例えばフィードバック補正量平均値ＩＮＴの基準値に対して±３％としている。また、学習更新条件を満たさない場合には、何もせず、本制御サイクルでの学習を終了する。
【００１８】
一方、元に戻って、ステップＳ１で学習ゾーンＫＧｊＣＥＬＬｎが移行したと判断した場合に行われるステップＳ６においては、その前の制御サイクルでの学習ゾーンＫＧｊＣＥＬＬｎ−１に対応する一時学習値ＫＧＴｊｎ−１を学習補正値ＫＧＸｊｎ−１と等しい値に更新する。
ＫＧＴｊｎ−１＝ＫＧＸｎ−１・・・（５）
そして、ステップＳ７に進む。
【００１９】
ステップＳ７は、運転条件が前回この学習ゾーンＫＧｊＣＥＬＬであった時に更新し記憶しておいた一時学習値ＫＧＴｊを用いて学習補正値ＫＧＸを更新する。すなわち
ＫＧＸｎ＝（ＫＧＸｎ−１＋ＫＧＩｎ）・１／２・・・（６）
ここで、ＫＧＩｎ＝ＫＧＴｊｎ
式（６）は、学習補正値ＫＧＸが、移行前の学習ゾーンＫＧｊＣＥＬＬで学習補正値ＫＧＸの値から徐々に変化して一時学習値ＫＧＴｊに漸近することを示している。これは、この学習補正値ＫＧＸｎが急激に変化しないようにし、ドライバビリティ等の不具合を生じないようにさせるためである。
そして、本制御サイクルでの学習を終了する。
【００２０】
上述した空燃比学習制御を行った場合に、どのようにフィードバック補正量平均値ＩＮＴ、学習値ＫＧｊ、一時学習値ＫＧＴｊ、学習補正値ＫＧＸが変化していくのかその概略を、図４に示すタイミングチャートに基づいて説明する。なお、このタイミングチャートは説明の簡単のため、学習ゾーンＫＧ４ＣＥＬＬにのみ着目しており、他の学習ゾーンでの事象については省略している。
【００２１】
最初に学習ゾーンＫＧ４ＣＥＬＬ（同図中最も左の斜線領域）に移行してから一定時間内は、ステップＳ７にしたがって、学習補正値ＫＧＸは一時学習値ＫＧＴ４に漸近する（本タイミングチャートでは漸近状態を省略し、一時学習値ＫＧＴ４と等しい値にしている）。その間は、フィードバック補正量平均値ＩＮＴのみが変化し、実空燃比を目標空燃比に近づけていく。しかして、一定時間ＫＫＧ４ＳＫＰ経過後、ステップＳ３にしたがって、学習補正値ＫＧＸが、フィードバック補正量平均値ＩＮＴに応じて更新され始める。つまり、フィードバック制御は行われつつも、フィードバック補正平均値ＩＮＴは、基準値に向かって近づいていく。本タイミングチャートでは、フィードバック補正平均値ＩＮＴが、基準値の一定範囲内に至る前にゾーンチェンジが行われるので、その時点Ｔ１での学習補正値ＫＧＸ（同図中値ａ１）が、ステップＳ６にしたがって、この学習ゾーンＫＧ４ＣＥＬＬでの一時学習値ＫＧＴ４として記憶される。
【００２２】
次に運転条件が再び同学習ゾーンＫＧ４ＣＥＬＬ（同図中左から２番目の斜線領域）に切り換わった際には、前回に記憶した一時学習値ＫＧＴ４を学習補正値ＫＧＸの初期値としてフィードバック制御を開始する。この場合、式（２）に示したように予め燃料基本噴射量ＴＰに学習補正値ＫＧＸ（一時学習値ＫＧＴ４）による補正が加わっているわけであるから、一定時間ＫＫＧ４ＳＫＰ内でのフィードバック補正量平均値ＩＮＴの変化は前回に比べ小さくなる。しかして、一定時間ＫＫＧ４ＳＫＰ経過後、学習補正値ＫＧＸが更新され始め、フィードバック補正量平均値ＩＮＴの基準値に向かって近づいていく。
【００２３】
最終的には、同図中最も右の斜線領域に示すように、学習ゾーンＫＧ４ＣＥＬＬでのフィードバック補正量平均値ＩＮＴの変化が小さくなり、一定時間ＫＫＧ４ＳＫＰ経過後においても、フィードバック補正量平均値ＩＮＴはその基準値から所定範囲内に留まるようになる。そこで、ステップＳ４において学習更新条件成立とみなされ、ステップＳ５に示したように、この時点Ａ以後の学習補正値ＫＧＸを一時学習値ＫＧＴ４および学習値ＫＧ４として記憶更新する。なお、他の学習ゾーンにおいても上述と同様な学習が行われることはもちろんである。
【００２４】
したがって、本実施例のような空燃比学習制御方法によれば、学習値ＫＧｊを更新する前に学習ゾーンチェンジが行われても、ゾーンチェンジが行われた時点でのフィードバック補正量ＦＡＦに基づいて学習補正値ＫＧＸｊを設定するとともにこれを記憶し、次回の同一学習ゾーンＫＧｊＣＥＬＬでの運転の際に、その学習補正値ＫＧＸｊを用いて基本噴射量ＴＰを初期補正する。したがって、頻繁に学習ゾーンチェンジが行われてもこの学習補正値ＫＧＸｊによる補正が積算されて、学習値ＫＧｊが更新できる。
【００２５】
また、本実施例においては、一時学習値ＫＧＴｊを、一時記憶領域、すなわちバッテリバックアップされないＲＡＭ領域に保存するようにし、学習値ＫＧｊをバッテリバックアップされたＲＡＭ領域に保存するようにしている。このことにより、フィードバック補正が収束する前の不安定な値である一時学習値ＫＧＴｊが、次回の始動時に用いられることがないという効果も奏する。
【００２６】
なお、本発明は上述した実施例に限定されるものではなく種々の変形が可能である。例えば、学習ゾーンは４つには限らず、これをさらに細かく区成したり、ゾーン領域を変更するなどしてもよい。また、式（１）〜（６）あるいは図３に示した演算も、これに限定されるわけではなく、本発明と同様の効果を奏するものであれば他に変形は可能である。
【００２７】
その他、各部の構成は図示例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形が可能である。
【００２８】
【発明の効果】
本発明は、以上説明したような形態で実施され、以下に記載されるような効果を奏する。
すなわち、本発明の空燃比学習制御方法によれば、各学習ゾーンでの学習値の更新に至るまでに運転条件が異なる学習ゾーンに移行しても、その移行した時点でのフィードバック補正量に基づいて学習補正値を設定するとともにこれを一時記憶しておき、次回の同一学習ゾーンでの運転の際に、その学習補正値を用いて基本噴射量を初期補正するので、この学習補正値が積算的に更新され、徐々に基本噴射量に基づく空燃比と目標空燃比とのずれが補正されていく。したがって、頻繁に学習ゾーンチェンジが行われても、最終的に学習値の更新を行うことができ、従来学習値が更新されないことに起因して生じるドライバビリティの不良や、エンジンストール、あるいは始動不可等のトラブルの発生を防止できる。
【図面の簡単な説明】
【図１】本発明の一実施例を示す制御方法を適用したエンジンの全体図。
【図２】同実施例の学習ゾーンを示すマップ。
【図３】同実施例の制御フローチャート。
【図４】同実施例の動作を示すタイミングチャート。
【符号の説明】
１００・・・内燃機関
学習値・・・ＫＧｊ（ｊ＝１、２、３、４）
一時学習値・・・ＫＧＴｊ（ｊ＝１、２、３、４）
学習ゾーン・・・ＫＧｊＣＥＬＬ（ｊ＝１、２、３、４）
【図１】
0003616470.tif 000002
【図２】
0003616470.tif 000003
【図３】
0003616470.tif 000004
【図４】
0003616470.tif 000005