(57)【特許請求の範囲】
【請求項１】
不揮発性記憶部（４６）に記録された経時変化補助係数及び環境補助係数を読み出して、燃料噴射をフィードバック制御するフィードバック補正係数に反映させる読み込み手段と、
内燃機関（１２）の吸気系に設けられたスロットルバルブ（２０）のスロットル開度と前記内燃機関（１２）の回転数とに基づいた基本燃料噴射マップ（４０）を参照し、前記スロットル開度と前記回転数とに基づいて基本燃料噴射量を求める基本噴射量算出手段（４２）と、
排気系に設けられたＯ２センサ（２４）から出力される出力信号に基づいて、所定周期で前記基本燃料噴射量をフィードバック制御するための前記フィードバック補正係数を補正するフィードバック補正係数算出手段（４４）と、
前記基本燃料噴射量に対して前記フィードバック補正係数を乗算して、目標の空燃比に近づくように最終燃料噴射量を決定する最終燃料噴射量算出手段（５０）と、
を備え、
前記フィードバック補正係数は、少なくとも、一次的に使用される変数と、前記変数の補助的な補正係数と、前記経時変化補助係数と、前記環境補助係数とを乗算したものであって、前記変数は基準値に所定割合で近づけられ、補正係数は、前記変数の変化分を補完するものであり、
所定のタイミングで、前記フィードバック補正係数の前記補正係数の変化量が第１閾値より小さい場合は、前記補正係数の変化分を所定の割合で前記経時変化補助係数に移し替えて、該経時変化補助係数を前記不揮発性記憶部（４６）に記憶し、前記フィードバック補正係数の前記補正係数の変化量が第２閾値より大きい場合には、前記補正係数の変化分を所定の割合で前記環境補助係数に移し替えて、該環境補助係数を前記不揮発性記憶部（４６）に記憶するフィードバック補正学習係数記憶手段と、
を有することを特徴とする内燃機関（１２）の燃料噴射装置（１０）。
【請求項２】
請求項１記載の内燃機関（１２）の燃料噴射装置（１０）において、
所定の時期に前記フィードバック補正係数の前記補正係数、又は噴射量制御システム起動前の過去分も含めたその平均値を、過去データとして前記不揮発性記憶部（４６）に記憶する過去データ記憶手段を有し、
前記フィードバック補正学習係数記憶手段は、前記フィードバック補正係数の前記補正係数の変化量が前記第１閾値より小さい場合で、さらに、車両の前記噴射量制御システム起動前の前記過去データと現在の前記フィードバック補正係数の前記補正係数との差が所定の経時変化用基礎閾値を超えるときに、前記補正係数の変化分を所定の割合で前記経時変化補助係数に移し替えて、該経時変化補助係数を前記不揮発性記憶部（４６）に記憶する
ことを特徴とする内燃機関（１２）の燃料噴射装置（１０）。
【請求項３】
請求項２記載の内燃機関（１２）の燃料噴射装置（１０）において、
前記補正係数の変化分を所定の割合で前記経時変化補助係数に移し替えて、該経時変化補助係数を前記不揮発性記憶部（４６）に記憶する処理は、前記内燃機関（１２）の水温が所定閾値を超えた後に行うことを特徴とする内燃機関（１２）の燃料噴射装置（１０）。
【請求項４】
請求項１〜３の何れか１項に記載の内燃機関（１２）の燃料噴射装置（１０）において、
前記フィードバック補正学習係数記憶手段は、前記フィードバック補正係数の前記補正係数の変化量が前記第２閾値より大きい場合で、さらに、車両の前記噴射量制御システム起動後で前記フィードバック補正係数の前記補正係数の変化量が所定の環境変化用閾値を超えるときに、前記補正係数の変化分を所定の割合で前記環境補助係数に移し替えて、該環境補助係数を前記不揮発性記憶部（４６）に記憶する
ことを特徴とする内燃機関（１２）の燃料噴射装置（１０）。
【請求項５】
請求項４記載の内燃機関（１２）の燃料噴射装置（１０）において、
前記補正係数の変化分を所定の割合で前記環境補助係数に移し替えて、該環境補助係数を前記不揮発性記憶部（４６）に記憶する処理は、前記内燃機関（１２）の水温が所定閾値を超えた後に行うことを特徴とする内燃機関（１２）の燃料噴射装置（１０）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関のクランクの回転数及びスロットル開度に基づいて燃料噴射量を求め、排気系に設けられたＯ2センサから出力される出力信号に基づいて、予め求められた空燃比に近づくようにフィードバック補正量を演算して最終燃料補正量を求めるとともに、フィードバック補正量に基づく学習制御を行う内燃機関の燃料噴射装置に関する。
【背景技術】
【０００２】
内燃機関の理想的空燃比を得るための燃料噴射量は、クランクの回転数及び吸気量に基づいて概略設定されるが、吸気量についてはスロットル開度で代用する場合がある。スロットル開度が大きいときには実際の吸気量とスロットル開度には相当に高い相関があるが、スロットル開度が小さいときには空気の粘性やバイパス通路等の影響により、実際の空気量とは相関が低くなってしまい、該スロットル開度に基づいて求める燃料噴射量では理想空燃比に対して誤差が発生しうる場合がある。
【０００３】
スロットル開度が小さい領域では負圧センサに基づいて吸気量を推定算出するという方法が考えられる。特許文献１では、吸気系に負圧センサを設けておき、車両の環境変化や経年変化があった場合には該センサの出力に基づいて燃料噴射量を制御している。しかしながら、負圧センサは、前記のスロットル開度センサに比べて高価であり、これを設けることはコスト上昇となる。
【０００４】
そこで、特許文献２では、排気系に設けられたＯ2センサから出力される出力信号に基づいて、予め求められた空燃比に近づくようにフィードバック補正量を演算し、燃料噴射量を補正して最終燃料噴射量を決定することが提案されている。特許文献２では、フィードバック補正量に基づく学習補正量を延在し、燃料噴射量及び点火時期を制御している。
【０００５】
また、特許文献３では、エンジンの運転状態を複数の領域に区分してフィードバック制御手段による燃料供給量の過不足を補うフィードバック補正量を算出する学習制御をしている。このように、複数の領域に区分した個別の制御パラメータを設定することにより、領域に応じた適切な制御が可能となる。
【０００６】
【特許文献１】特開平５−５９９９７号公報
【特許文献２】特開平９−４５５４号公報
【特許文献３】特公平５−２６９３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、Ｏ2フィードバック制御を行わない場合の空燃比は、理想空燃比に対して偏差が生じることになるが、偏差量は運転状態により異なると考えられる。例えば前記特許文献３記載の領域分けでは、このような偏差については考慮されておらず、該偏差を抑制する観点からは必ずしも適切な領域分けがなされていない。
【０００８】
さらに、燃料噴射量に関する学習補正量として反映される要因としては、内燃機関の経時変化等に基づく長期的傾向を示すものや、大気圧変化等に基づく比較的に短期的な変化を示すものがあるが、従来の技術においてはこれらの区別をすることなく学習制御をしており、要因ごとに合った制御を行うことができず、制御自由度が低い。
【０００９】
本発明はこのような課題を考慮してなされたものであり、目標値との偏差を一層抑制することのできる内燃機関の燃料噴射装置を提供することを目的とする。
【００１０】
また、本発明は、内燃機関における燃料噴射量の補正量の変化を要因ごとに区別して扱い、該要因ごとに合った制御を行うことのできる内燃機関の燃料噴射装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は以下の特徴を有する。
【００１２】
第１の特徴；  不揮発性記憶部（４６）に記録された経時変化補助係数及び環境補助係数を読み出して、燃料噴射をフィードバック制御するフィードバック補正係数に反映させる読み込み手段と、内燃機関（１２）の吸気系に設けられたスロットルバルブ（２０）のスロットル開度と前記内燃機関（１２）の回転数とに基づいた基本燃料噴射マップ（４０）を参照し、前記スロットル開度と前記回転数とに基づいて基本燃料噴射量を求める基本噴射量算出手段（４２）と、排気系に設けられたＯ２センサ（２４）から出力される出力信号に基づいて、所定周期で前記基本燃料噴射量をフィードバック制御するための前記フィードバック補正係数を補正するフィードバック補正係数算出手段（４４）と、前記基本燃料噴射量に対して前記フィードバック補正係数を乗算して、目標の空燃比に近づくように最終燃料噴射量を決定する最終燃料噴射量算出手段（５０）と、を備え、前記フィードバック補正係数は、少なくとも、一次的に使用される変数と、前記変数の補助的な補正係数と、前記経時変化補助係数と、前記環境補助係数とを乗算したものであって、前記変数は基準値に所定割合で近づけられ、補正係数は、前記変数の変化分を補完するものであり、所定のタイミングで、前記フィードバック補正係数の前記補正係数の変化量が第１閾値より小さい場合は、前記補正係数の変化分を所定の割合で前記経時変化補助係数に移し替えて、該経時変化補助係数を前記不揮発性記憶部（４６）に記憶し、前記フィードバック補正係数の前記補正係数の変化量が第２閾値より大きい場合には、前記補正係数の変化分を所定の割合で前記環境補助係数に移し替えて、該環境補助係数を前記不揮発性記憶部（４６）に記憶するフィードバック補正学習係数記憶手段と、を有することを特徴とする。
【００１３】
このように、所定の閾値を基準としてフィードバック補正係数を第１学習補正係数又は第２学習補正係数に分けて記録することにより、変化の発生する要因に合わせて、適切な燃料噴射制御が可能となる。
【００１４】
第２の特徴；  所定の時期に前記フィードバック補正係数の前記補正係数、又は噴射量制御システム起動前の過去分も含めたその平均値を、過去データとして前記不揮発性記憶部（４６）に記憶する過去データ記憶手段を有し、前記フィードバック補正学習係数記憶手段は、前記フィードバック補正係数の前記補正係数の変化量が前記第１閾値より小さい場合で、さらに、車両の前記噴射量制御システム起動前の前記過去データと現在の前記フィードバック補正係数の前記補正係数との差が所定の経時変化用基礎閾値を超えるときに、前記補正係数の変化分を所定の割合で前記経時変化補助係数に移し替えて、該経時変化補助係数を前記不揮発性記憶部（４６）に記憶することを特徴とする。
【００１５】
このように、車両の噴射量制御システム起動前の過去データと現在の補正係数との変化量が所定の経時変化用基礎閾値を超えるときに記憶処理をすることにより、内燃機関における経時変化のような長期的傾向変化を他の要因による変化と区別して認識可能であり、長期的傾向に対応した燃料噴射量制御をすることができる。
【００１６】
第３の特徴；  前記補正係数の変化分を所定の割合で前記経時変化補助係数に移し替えて、該経時変化補助係数を前記不揮発性記憶部（４６）に記憶する処理は、前記内燃機関（１２）の水温が所定閾値を超えた後に行うことを特徴とする。これにより、内燃機関の水温が所定閾値に達し、暖機終了後の安定した状態において実質的な制御が行われることになり、燃料噴射量制御の確実性を高めるとともに精度向上を図ることができる。
【００１７】
第４の特徴；  前記フィードバック補正学習係数記憶手段は、前記フィードバック補正係数の前記補正係数の変化量が前記第２閾値より大きい場合で、さらに、車両の前記噴射量制御システム起動後で前記フィードバック補正係数の前記補正係数の変化量が所定の環境変化用閾値を超えるときに、前記補正係数の変化分を所定の割合で前記環境補助係数に移し替えて、該環境補助係数を前記不揮発性記憶部（４６）に記憶することを特徴とする。
【００１８】
このような処理によれば、内燃機関における大気圧変化のような短期的傾向変化を他の要因による変化と区別して認識可能であり、短期的傾向に対応した燃料噴射量制御をすることができる。
【００１９】
第５の特徴；  前記補正係数の変化分を所定の割合で前記環境補助係数に移し替えて、該環境補助係数を前記不揮発性記憶部（４６）に記憶する処理は、前記内燃機関（１２）の水温が所定閾値を超えた後に行うことを特徴とする。
【発明の効果】
【００２０】
本発明に係る内燃機関の燃料噴射装置では、所定の閾値を基準としてフィードバック補正係数を第１学習補正係数又は第２学習補正係数に分けて記録することにより、変化の発生する要因に合わせて、適切な燃料噴射制御が可能となる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明に係る内燃機関の燃料噴射装置について実施の形態を挙げ、添付の図１〜図６を本実施の形態に係る内燃機関の燃料噴射装置は、例えば自動二輪車や四輪車等の車両に適用される。
【００２２】
図１に示すように、本実施の形態に係るエンジン（内燃機関）の燃料噴射装置１０は、自動二輪車のエンジン系統１１に適用される。このエンジン系統１１は、エンジン１２と、コントローラ１４と、フューエルインジェクション１６と、点火プラグ１８と、吸気管路に設けられたスロットル弁２０と、排気管路に設けられた触媒２２及びＯ2センサ２４と、アクセルセンサ２６と、クランク２８の回転数を検出する回転センサ３０とを有する。
【００２３】
コントローラ１４は、アクセルセンサ２６の値を読み込んでアクチュエータ３２を介してスロットル弁２０の開閉を行う。Ｏ2センサ２４は排気管路のＯ2濃度を検出してコントローラ１４に供給する。コントローラ１４は、アクセルセンサ２６、Ｏ2センサ２４、回転センサ３０等の信号に基づいて所定の演算を行い、燃料噴射量や点火タイミング等を判断し、フューエルインジェクション１６及び点火プラグ１８の制御を行う。理解を容易にするために、アクセルセンサ２６の操作量とスロットル弁２０の開度（以下、スロットル開度Ｔｈという。）は比例するものとし、アクセルセンサ２６の信号を検出することによりスロットル開度Ｔｈが特定可能とする。スロットル開度Ｔｈを検出する手段はアクセルセンサ２６に限らず、例えばスロットル弁２０に開度センサを設けてもよい。
【００２４】
図２に示すように、コントローラ１４は、マップ４０を参照し、回転センサ３０から得られる回転数Ｎｅとアクセルセンサ２６から得られるスロットル開度Ｔｈとに基づいて基本燃料噴射量を求める基本燃料噴射量算出部（基本噴射量算出手段）４２と、Ｏ2センサ２４から出力されるＯ2濃度（出力信号）に基づいて理想空燃比（目標の空燃比）に近づくようにフィードバック補正係数を補正してフィードバック制御をするＯ2フィードバック部（フィードバック補正係数算出手段）４４と、パラメータの読み書きが可能な補正量記録部４６と、基本燃料噴射量に対してＯ2フィードバック部４４で得られた補正量に基づいて補正をする補正部４８と、得られた最終的な燃料噴射量に対応した燃料噴射時間を求める燃料噴射時間算出部（最終燃料噴射量算出手段）５０とを有する。コントローラ１４はエンジン１２の水温を検出する水温センサ５１にも接続されている。
【００２５】
燃料噴射時間算出部５０では、得られた燃料噴射時間に基づいて、所定のタイミングでフューエルインジェクション１６を開弁して燃料噴射を行う。これにより、空燃比が変わり、その影響は排気管路におけるＯ2センサ２４で検出され、フィードバック系が形成されている。
【００２６】
Ｏ2フィードバック部４４は、Ｏ2濃度に基づいて排気のリッチ・リーンの程度を判定するリッチ・リーン判定部５２と、その判定結果に基づいてフィードバック補正係数及び基本燃料噴射量を補正するパラメータを求めるパラメータ算出部５４とを有する。Ｏ2フィードバック部４４は、運転開始時で暖機中においては、フィードバック制御を行わない。
【００２７】
パラメータ算出部５４は、所定のパラメータを所定の周期で補正量記録部４６に記録し、システム起動時（イグニッションキーをオンにしたとき）にこれらのパラメータを読み込む。補正量記録部４６は、不揮発性の記録手段であり例えばＥＥＰＲＯＭやフラッシュメモリである。
【００２８】
なお、図１及び図２は、単気筒の例を示しているが、複数気筒のエンジンでも同様に構成できることはもちろんである。複数気筒のエンジンの場合には、例えばコントローラ１４やアクセルセンサ２６は共用可能である。
【００２９】
図３に示すように、マップ４０は、回転数Ｎｅとスロットル開度Ｔｈに基づいて参照される２次元的なデータであり、所定の記録部に記録されている。図３は、理解が容易なようにマップ４０の内容を模式的に示すものであり、記録部に対する記録形式は問われない。
【００３０】
マップ４０は、回転数Ｎｅとスロットル開度Ｔｈに対応した基本燃料噴射量が記録されている。この基本燃料噴射量は、理想空燃比が得られるように予め計算、シミュレーション又は実験等に基づいて設定されている。つまり、この基本燃料噴射量に基づいて燃料噴射を行うことにより、相当に理想空燃比に近い燃焼を実現することができるが、エンジン１２の運転状態によっては理想空燃比からずれた燃焼となってしまうこともあり、このような誤差をなくすためにＯ２センサ２４によるフィードバック制御を行っている。マップ４０では、データが右上がり状に分布している。これは、回転数Ｎｅが大きいときにはスロットル開度Ｔｈも大きくなるためである。
【００３１】
図４に示すマップ６０は、Ｏ２センサ２４によるフィードバック制御を行なわない場合（つまりオープンループ時）のマップ４０に基づく基本燃料噴射量による実験的な運転において、理想空燃比との偏差の程度を模式的に表したものである。このマップ６０で、網模様が濃いほど誤差が大きく、薄いほど誤差が小さいことを示している。
【００３２】
図４から理解されるように、理想空燃比に対する誤差はある程度の領域毎に区分が可能であり、具体的には、スロットル開度Ｔｈが大きいほど誤差が小さく、スロットル開度Ｔｈが小さいほど誤差が大きい傾向がある。つまり、フィードバック制御を行なわない場合では、スロットル開度Ｔｈが大きいときには実際の吸気量とスロットル開度Ｔｈには相当に高い相関があるが、スロットル開度Ｔｈが小さいときには空気の粘性やバイパス通路等の影響により、実際の空気量とは相関が低くなってしまい、該スロットル開度Ｔｈに基づいて求める燃料噴射量では理想空燃比に対して誤差が発生しうる場合がある。
【００３３】
また、回転数Ｎｅが大きいほど誤差が大きく、回転数Ｎｅが小さいほど誤差が小さい傾向がある。さらに、アイドル回転の領域では誤差が大きい傾向がある。
【００３４】
このような傾向に鑑みて、同じ傾向の領域についてはまとめて同じ制御をすると合理的である。つまり、同じ傾向の箇所は同じ制御をすれば実質的に問題のない程度に同じ傾向の結果が得られることが期待され、しかもパラメータ数は領域の数によって抑制されるからである。図３のマップ４０は、このような理想空燃比との偏差及び、運転状況（つまり、回転数Ｎｅ及びスロットル開度Ｔｈ）に応じて予め複数の領域に区分けされている。
【００３５】
図３に示すように、領域の区分は、例えば１０区分程度が好適であり、回転数Ｎｅを区分する略垂直の線６２及び６４と、スロットル開度Ｔｈを区分する右上がりの直線（又は曲線）６６及び６８によって９つの領域に区分されるとともに、独立的なアイドル領域を合わせて合計１０領域に区分される。直線６６及び６８は、マップ４０全体の右上がり形状に対応した線となっている。これらの線６２、６４及び直線６６、６８は、図４のマップ６０で示される誤差が、同じ領域内でおおよそ同じ範囲にまとまるように設定される。
【００３６】
第１領域７０ａはアイドル領域であり、第２領域７０ｂ、第３領域７０ｃ及び第４領域７０ｄは回転数Ｎｅが最も低い領域で、スロットル開度Ｔｈが低い方から高い方に順に設定されている。第５領域７０ｅ、第６領域７０ｆ及び第７領域７０ｇは回転数Ｎｅが中程度の領域で、スロットル開度Ｔｈが低い方から高い方に順に設定されている。第８領域７０ｈ、第９領域７０ｉ及び第１０領域７０ｊは回転数Ｎｅが最も高い領域で、スロットル開度Ｔｈが低い方から高い方に順に設定されている。
【００３７】
図３から理解されるように、回転数Ｎｅが同じ箇所で比較すると、スロットル開度Ｔｈが小さいほどその領域幅Ｈも小さく設定されている。例えば、エンジン回転数Ｎｅが小さい一定値Ｎｅ１の箇所では、上段の第４領域７０ｄの領域幅Ｈ４、中段の第３領域７０ｃの領域幅Ｈ３及び下段の第２領域７０ｂの領域幅Ｈ２の順に小さくなるように設定されている。
【００３８】
これにより、スロットル開度Ｔｈが小さい常用使用域の領域（つまり、第１領域７０ａ、第２領域７０ｂ、第５領域７０ｅ及び第８領域７０ｈ等）が領域限定され、該領域の補正係数であるＫＢＵＫ等について高精度且つ高頻度に更新することができる。
【００３９】
図３を一見すると、第１領域７０ａは第２領域７０ｂに含めてもよいと考えられるが、アイドル領域は使用頻度が高くしかも外乱が大きい領域であり、独立した領域に設定することで細かい対応をすることができる。
【００４０】
第１領域７０ａ〜第１０領域７０ｊについては、それぞれＯ２フィードバック制御を行うための変数ＫＯ２［ｘ］、変数ＫＢＵＫ［ｘ］（補正係数）、変数ＫＢＵＲ［ｘ］及び変数ＫＡＬＴ［ｘ］が設けられている。ここで、引数ｘは１０の領域の識別子であり、１〜１０の値をとる。以下、必要に応じて変数ＫＯ２［ｘ］、変数ＫＢＵＫ［ｘ］、変数ＫＢＵＲ［ｘ］、変数ＫＡＬＴ［ｘ］を簡略的、代表的にＫＯ２、ＫＢＵＫ、ＫＢＵＲ、ＫＡＬＴとも表す。
【００４１】
ＫＯ２は、Ｏ２フィードバック制御を行う際に、所定の制御周期毎に一次的に使用される変数であり、基本的にはこのＫＯ２に基づいてＯ２フィードバック制御を行って理想空燃比に近づける。ＫＢＵＫはＫＯ２の補助的な変数であり、ＫＯ２を初期値１に戻すように該ＫＯ２を適当な周期で補完する。
【００４２】
ＫＢＵＲは経時変化補助係数であり、内燃機関の経時劣化等に起因する長期的な補正傾向を記録するものであり、補正量記録部４６に記録される。ＫＡＬＴは環境補助係数であり、大気圧変化等に起因する比較的短期的な補正傾向を記録するものである。
【００４３】
ＫＢＵＫ、ＫＢＵＲ及びＫＡＬＴは、所定の周期で補正量記録部４６に記録され、システム停止（イグニッションキーオフ時）後にも値が保持され、システム起動時に読み込まれる、いわゆる学習制御が行われる。
【００４４】
具体的には、Ｏ2センサ２４から読み込んだＯ2濃度からリッチ・リーン判定部５２で判定された排気のリッチ・リーンの程度に基づいてフィードバック補正量としてのＫＯ２が求められる。ここで、統合補正係数ＫＴをＫＴ←ＫＯ２×ＫＴＷ×ＫＢＵＫ×ＫＢＵＲ×ＫＡＬＴとして求める。ＫＯ２は、例えば＋０．５〜＋２．０の範囲の値をとり、ＫＯ２、ＫＢＵＫはデフォルト状態で基準値１である。ＫＴＷはエンジン水温係数であり、説明を簡略化するために、以下、ＫＴＷ＝１とする。
【００４５】
この後、マップ４０から読み込まれた基本燃料噴射量をＴ０として、補正燃料噴射量Ｔ１を、Ｔ１←Ｔ０×ＫＴとして求め、燃料噴射時間算出部５０に供給する。つまり、基本燃料噴射量Ｔ０に対してフィードバック補正係数としてのＫＴを乗算して、理想空燃比に近づくように最終燃料噴射量を決定する。
【００４６】
ＫＯ２は、＋０．５〜＋１．０の範囲のとき現状よりも燃料噴射量を減少させるように作用し、＋１．０〜＋２．０の範囲のとき現状よりも燃料噴射量を増加させるように作用し、フィードバック系となっている。理想空燃比で燃焼が行われている際には、ＫＯ２は１になる。Ｏ2フィードバック制御は、例えば、ＫＯ２がプラス及びマイナスの値をとるようにし、基本燃料噴射量に対する加減算を行い、さらに所定のゲイン又は補正係数（例えばＰＩＤ係数）を乗じて出力するフィードバック系にしてもよい。
【００４７】
ところで、ＫＯ２は相当に高周期の変動にも対応可能であるが、低周期、無周期の変動成分も重畳してくるので、該成分はＫＢＵＫに移した後に補正量記録部４６に記録しておくことが望ましい。そこで所定の割合で、ＫＯ２の値をＫＢＵＫに反映させる補正係数反映工程の処理を行う。
【００４８】
すなわち、ＫＯ２×ＫＢＵＫの値を維持したまま、ＫＯ２を基準値１に所定割合で近づけ、基準値１からの変化分をＫＢＵＫで補完する。例えば、ＫＯ２AVE＝１．２であり（添え字ＡＶＥは平均値（例えば所定期間の移動平均）であることを示す。）、ＫＢＵＫ＝１．０（ＫＯ２AVE×ＫＢＵＫ＝１．２）であるときには、ＫＯ２＝１．１、ＫＢＵＫ＝１．０９０９（ＫＯ２AVE×ＫＢＵＫ≒１．２）と変換する。このような変換処理を所定周期で繰り返すことにより、ＫＯ２又はその平均値は１に近づき、相当に高周波の成分だけが含まれ、ある程度の高周期、中周期、低周期又は無周期の成分はＫＢＵＫに含まれることになる。ＫＢＵＫは、ＫＯ２の平均値であるＫＯ２AVEを補完するので、誤差（ノイズ等）成分は除去される。
【００４９】
図５に、ＫＯ２AVE及びＫＢＵＫの推移を示す。ＫＢＵＫは所定の周期で変換され、若しくはＫＯ２AVEが所定値以上又は所定値以下となったときに変換される。この図５では、ＫＯ２AVE及びＫＢＵＫは滑らかに変化しているが、ミクロ的には階段状に変化している。
【００５０】
このように、ＫＯ２AVEが１．０に近づくように、ＫＢＵＫが補完・変換され、補正量記録部４６に記録されることから、システム停止後のシステム再起動時にＫＢＵＫはシステム停止前に記録された値が反映されることになり、ＫＯ２が１に初期化されても、フィードバック系がシステム停止前の状態に即時に復帰し、エンジン１２の燃焼が理想空燃比に近い状態となり、学習制御の効果が得られる。
【００５１】
このようなＫＯ２及びＫＢＵＫは、第１領域７０ａ〜第１０領域７０ｊ毎に設けられており、各領域の特性に応じた適切なフィードバック制御が行われる。
【００５２】
ところで、ＫＢＵＫに反映される要因としては、エンジン１２の経時変化等に基づく長期的傾向を示すものや、大気圧変化等に基づく比較的に短期的な変化を示すものがあり、これらが区別することなくＫＢＵＫに含まれており、このままでは、要因ごとに合った制御を行うことができず、制御自由度が低い。そこで、本実施の形態に係る内燃機関の燃料噴射装置１０では、要因毎に区別した変数ＫＢＵＲ及び変数ＫＡＬＴを求めることにしている。以下、その手順について説明する。以下の説明では、理解を容易にするために、第１領域７０ａ〜第１０領域７０ｊを特に区別していないが、これらの領域毎に区別して各係数を求めてもよいことはもちろんである。上記の燃料噴射制御処理は、以下に説明する処理と同時並行（マルチタスク処理）で行われている。
【００５３】
図６のステップＳ１において、内燃機関のシステム起動直後に、初期処理を行う。つまり、前回までに補正量記録部４６に記録されていた変数ＫＢＵＲ（第１学習補正係数）、ＫＡＬＴ（第２学習補正係数）の記憶値を読み出してこれらの変数に反映させる。
【００５４】
過去データである複数の変数ＫＢＵＫＯＬＤを読み込み平均値を求める。変数ＫＢＵＫＯＬＤは、所定のタイマーに基づいて過去１カ月間相当のＫＢＵＫの平均を示すデータである。また、タイマーがない場合には過去の適度な起動回数（例えば１２８回）分のデータを保持しておき、その平均としてもよい。以下、説明を簡略にするため複数の変数ＫＢＵＫＯＬＤの平均値を単にＫＢＵＫＯＬＤとして表す。
【００５５】
ステップＳ２において、システム起動後の初期段階におけるＫＢＵＫを固定値ＫＢＵＢとして所定の記憶部に記録する。固定値ＫＢＵＢを記録する記録部は揮発性媒体で構わない。ステップＳ２はシステム起動後の初期段階で所定のフラグ操作に基づいて１回だけ行えばよい。ステップＳ２を実行するタイミングは、システム起動直後である必要はなく、エンジン１２がある程度安定したときにおこなってもよい。
【００５６】
ステップＳ３（過去データ記憶手段）において、補正量記録部４６に記録されている複数の変数ＫＢＵＫＯＬＤのうち、最も古いデータを削除するとともに、その時点のＫＢＵＫをＫＢＵＫＯＬＤとして記録する。このステップＳ３は、所定のフラグ判断により、システム起動時から停止時までの間に１回だけ行えばよい。このステップＳ３は、エンジン１２の水温を検出して、該エンジン１２及びＫＢＵＫが安定している状態で行うとよい。
【００５７】
ステップＳ４において、ＫＢＵＫの変化が±５％（第１閾値及び第２閾値）を超えているか否かを確認する。ＫＢＵＫの変化が±５％以内、つまり０．９５＜ＫＢＵＫ＜１．９５であるときには、ステップＳ５へ移り、これ以外のときにはステップＳ９へ移る。経時変化は比較的緩やかな傾向を示すことから、変化量がやや大きい閾値±５％を超えるときには短期的な変化と判断しＫＢＵＲへの経時変化補助係数反映工程を行わないことが適当である。
【００５８】
ステップＳ４の分岐処理は１つの閾値として±５％を用いる形態に限らず、例えば、第１閾値として±４％より小さいときにステップＳ５へ移り、第２閾値として±６％をより大きいときにステップＳ９へ移り、±４％〜±６％のときには、以降の処理を省略してもよい。ここで、第１閾値≦第２閾値と設定するとよい。
【００５９】
ステップＳ５において、ＫＢＵＫとＫＢＵＫOLDとを比較し、その変化量が±３％（経時変化用基礎閾値）を超えているときにはステップＳ６へ移り、それ以外のときにはステップＳ４へ戻る。これにより、変化量がある程度大きくなって、変化が明確になったときにのみ次のステップＳ６〜Ｓ８が行われ、誤差分による影響を除外できる。この経時変化用基礎閾値としての±３％は、ステップＳ４における閾値より小さく設定しておくとよい。
【００６０】
ステップＳ６において、水温センサ５１からエンジン１２の水温を検出し、該水温が所定閾値Ｓｔｍｐを超えているか否かを判断する。エンジン１２の温度が所定閾値Ｓｔｍｐを超えているときにはステップＳ７へ移り、超えていないときにはステップＳ４へ戻る。これにより、以下の処理は、暖機終了後の安定した状態において行われることになり、燃料噴射量制御の確実性を高めるとともに精度向上を図ることができる。
【００６１】
ステップＳ７において、ＫＢＵＫの変化分を所定の割合（全変化量でもよい）でＫＢＵＲに移し替える。これは、ＫＯ２をＫＢＵＫに移し替える処理と同様であり、ＫＢＵＫは１に近づく。
【００６２】
ステップＳ８において、ＫＢＵＲを補正量記録部４６に記録し、ステップＳ４へ戻る。
【００６３】
このように、ステップＳ４〜Ｓ８の処理では、所定のタイミングで、フィードバック補正係数のうちＫＢＵＫの変化量が第１閾値としての±５％より小さいことを１つの条件とし、さらに、システム起動前の過去データとしてのＫＢＵＫOLDと現在のＫＢＵＫとの差が所定の±３％を超えるときに、ＫＢＵＫを第１学習補正係数として前記不揮発性記憶部に記憶している。
【００６４】
これにより、エンジン１２における経時変化のような長期的傾向の変化を他の要因による変化と区別して認識可能であり、長期的傾向に対応した燃料噴射量制御をすることができる。このような長期的傾向を示すＫＢＵＲは不揮発性の補正量記録部４６に記録されて、次回以降にも読み込み（ステップＳ１）、利用可能である。
【００６５】
また、このような長期的傾向が認められる場合には、エンジン１２に経時的変化が発生していると考えられ、該経時的変化に対応するために適当な処理をしてもよく、例えば、ＫＢＵＲに基づいて基礎となるマップ４０を書き換えてもよい。
【００６６】
次に、ステップＳ９において、ＫＢＵＫとＫＢＵＢとを比較し、その変化量が±３％（環境変化用閾値）を超えているときにはステップＳ１０へ移り、それ以外のときにはステップＳ４へ戻る。これにより、変化量がある程度大きくなって、変化が明確になったときにのみ次の以下のステップが行われ、誤差分による影響を除外できる。ステップＳ９は、ステップＳ４においてＫＢＵＫの変化量が±５％を超えているときに実行されるので、変化が明確になったときにのみ係数反映工程が行われ、誤差分による影響を除外できる。
【００６７】
この環境変化用基礎閾値としての±３％は、ステップＳ４における閾値より小さく設定しておくとよい。
【００６８】
ステップＳ１０において、前記ステップＳ６と同様に、水温センサ５１からエンジン１２の水温を検出し、該水温が所定閾値Ｓｔｍｐを超えているか否かを判断する。エンジン１２の温度が所定閾値Ｓｔｍｐを超えているときにはステップＳ１１へ移り、超えていないときにはステップＳ４へ戻る。
【００６９】
ステップＳ１１において、ＫＢＵＫの変化分を所定の割合（全変化量でもよい）でＫＡＬＴに移し替える。これは、ＫＯ２をＫＢＵＫに移し替える処理と同様であり、ＫＢＵＫは１に近づく。
【００７０】
ステップＳ１２において、ＫＡＬＴを補正量記録部４６に記録し、ステップＳ４へ戻る。
【００７１】
このように、ステップＳ４〜Ｓ１２の処理では、所定のタイミングで、フィードバック補正係数のうちＫＢＵＫの変化量が第２閾値としての±５％より大きいことを１つの条件とし、さらに、システム起動後でＫＢＵＫ（又はその平均値）の変化量が±３％を超えるときに、ＫＢＵＫを第２学習補正係数として前記不揮発性記憶部に記憶している。
【００７２】
このような処理によれば、大気圧変化のような短期的傾向変化を他の要因による変化と区別して認識可能であり、短期的傾向に対応した燃料噴射量制御をすることができる。
【００７３】
上述したように、Ｏ2フィードバック制御を行わない場合の空燃比は、理想空燃比に対して偏差が生じることになるが、偏差量は運転状態により異なる。本実施の形態に係る燃料噴射装置１０では、フィードバック補正係数を目標値である空燃比との偏差に応じて複数の領域７０ａ〜７０ｊに区分けされた基本噴射マップ４０に基づいた制御をすることから、領域毎７０ａ〜７０ｊに偏差を適切に抑制することができ、領域毎に適切な燃料噴射制御が可能となる。
【００７４】
また、噴射量制御システム起動後でＫＢＵＫの変化量が所定の環境変化用閾値を超えるときに、該変化量を所定割合でＫＢＵＫから環境補助係数であるＫＡＬＴに移し替えることにより、大気圧変化のような短期的傾向変化を他の要因による変化と区別して認識可能であり、短期的傾向に対応した燃料噴射量制御をすることができる。このような短期的傾向を示すＫＡＬＴは不揮発性の補正量記録部４６に記録されて、次回以降にも読み込み（ステップＳ１）、利用可能である。
【００７５】
ＫＡＬＴは、標高差や気象条件による大気圧変化のような比較的短期的・一時的な傾向を示すものであり、前記のＫＢＵＲのような長期的・固定的傾向の要因とは異なり、いずれは元の状態に復帰すると考えられる変化である。したがって、ＫＡＬＴが変化しても基礎となるマップ４０を書き換えることは適当でない。
【００７６】
また、このような短期的傾向が認められる場合には、該傾向に対応するために適当な処理をしてもよく、例えば、ＫＡＬＴの値が設定した閾値（例えば、上限の値を０．８〜１．２）を超えた場合には、高地又は低温時と判断し、始動時の点火時期を進角させるなどして、始動性の向上と暖機性の向上を図ることも可能である。
【００７７】
本実施の形態では、スロットル弁をアクチュエータにより開閉させる電子式スロットル弁方式について説明を行ったが、ワイヤにて開閉する機械式スロットル弁方式にも適用可能である。さらに、水温センサのかわりにエンジンンの潤滑油の温度を検知する油温センサを用いてもよい。
【００７８】
本発明に係る内燃機関の燃料噴射装置は、上述の実施の形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることはもちろんである。
【図面の簡単な説明】
【００７９】
【図１】エンジン系統の模式図である。
【図２】コントローラのブロック構成図である。
【図３】基本燃料噴射量が記録されたマップの複数の領域を示す図である。
【図４】フィードバック制御を行なわない場合の理想空燃比との誤差の程度を模式的に表す図である。
【図５】変数ＫＯ２及びＫＢＵＫの推移を表すタイムチャートである。
【図６】本実施の形態に係る内燃機関の燃料噴射装置の制御手順を示すフローチャートである。
【符号の説明】
【００８０】
１０…燃料噴射装置                          １１…エンジン系統
１２…エンジン                              １４…コントローラ
１６…フューエルインジェクション            １８…点火プラグ
２０…スロットル弁                          ２４…Ｏ2センサ
２６…アクセルセンサ                        ２８…クランク
３０…回転センサ                            ４０、６０…マップ
４２…基本燃料噴射量算出部                  ４４…フィードバック部
４６…補正量記録部                          ４８…補正部
５０…燃料噴射時間算出部                    ７０ａ〜７０ｊ…領域
Ｎｅ…回転数                                Ｔｈ…スロットル開度
【図１】
0005049809.tif 000002
【図２】
0005049809.tif 000003
【図３】
0005049809.tif 000004
【図４】
0005049809.tif 000005
【図５】
0005049809.tif 000006
【図６】
0005049809.tif 000007