(57)【特許請求の範囲】
【請求項１】
エンジンの燃焼室に燃料を供給する燃料噴射装置の燃料噴射量を制御する燃料噴射制御装置であって、
吸入空気、燃料およびエンジンの状態に基づいて燃料噴射量を算定する燃料噴射量算定手段と、
前記エンジンの排気ガス中の酸素濃度を検出し、その検出結果に基づき、理想空燃比と実空燃比との間の偏差に応じたフィードバック補正値を算定するフィードバック補正値算定手段と、
吸入空気圧およびエンジン回転数により特定される複数の範囲にそれぞれ対応する複数のフィードバック学習補正値を記憶する補正値記憶手段と、
吸入空気圧およびエンジン回転数が前記複数の範囲のうちの一の範囲に属している状態が所定時間継続した後に前記フィードバック補正値による燃料噴射量の補正が過小または過大となることを判断し、前記フィードバック補正値による燃料噴射量の補正が過小となる場合には、当該一の範囲に対応する前記フィードバック学習補正値を増加させることにより当該フィードバック学習補正値を更新し、前記フィードバック補正値による燃料噴射量の補正が過大となる場合には、当該一の範囲に対応する前記フィードバック学習補正値を減少させることにより当該フィードバック学習補正値を更新するフィードバック学習補正値算定手段と、
前記複数のフィードバック学習補正値間の偏差を小さくする補正値平準化手段と、
前記燃料噴射量算定手段により算定された燃料噴射量を、前記フィードバック補正値および前記フィードバック学習補正値を用いて補正する燃料噴射量補正手段とを備え、
前記補正値平準化手段は、前記複数の範囲のうちの一の範囲に対応するフィードバック学習補正値の更新前の値と更新後の値との差が所定の基準値以上である場合には、前記複数の範囲のうちの他の範囲に対応するフィードバック学習補正値を前記一の範囲に対応するフィードバック学習補正値に接近するように増加または減少させることを特徴とする燃料噴射制御装置。
【請求項２】
前記複数の範囲は、少なくとも、吸入空気圧およびエンジン回転数の双方が比較的小さい第１の範囲、吸入空気圧が比較的大きくエンジン回転数が比較的小さい第２の範囲、吸入空気圧が比較的小さくエンジン回転数が比較的大きい第３の範囲、および吸入空気圧およびエンジン回転数の双方が比較的大きい第４の範囲を含み、
前記補正値平準化手段は、前記第１の範囲に対応するフィードバック学習補正値の更新前の値と更新後の値との差が前記基準値以上である場合には、前記第２、第3および第４の範囲にそれぞれ対応するフィードバック学習補正値のうち、更新前の値と更新後の値との差が前記基準値または他の所定の基準値以上でないフィードバック学習補正値を前記第１の範囲に対応するフィードバック学習補正値に接近するように増加または減少させることを特徴とする請求項１に記載の燃料噴射制御装置。
【請求項３】
前記補正値平準化手段は、エンジンの動作開始時に、前記複数のフィードバック学習補正値のうちの最大値と最小値との平均値を算定し、前記複数のフィードバック学習補正値のうち前記平均値との差が所定値以上であるフィードバック学習補正値を特定し、当該特定したフィードバック学習補正値を前記平均値に接近するように増加または減少させることを特徴とする請求項１または２に記載の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エンジンの燃焼室に燃料を供給する燃料噴射装置の燃料噴射量を制御する燃料噴射制御装置に関する。
【背景技術】
【０００２】
エンジンの燃焼室に燃料を供給する燃料噴射装置の燃料噴射量を制御する燃料噴射制御装置には、吸入空気圧およびエンジン回転数により区分された複数の運転ゾーンごとに補正値を算定し、これらの補正値を用いて燃料噴射量をきめ細かく補正する機能を備えたものが知られている。
【０００３】
例えば、下記の特許文献１に記載されたエンジン制御装置は、燃料基本噴射量、フィードバック補正値およびフィードバック学習補正値に基づいて燃料噴射量を算定する。燃料基本噴射量は、例えば、燃料温度、燃料圧力、吸入空気温度、吸入空気圧、スロットル開度、エンジン回転数、エンジン温度等に基づいて算定される。フィードバック補正値は、理想空燃比と実空燃比との間のずれに応じて燃料噴射量を補正するための値であり、排気ガス中の酸素濃度に基づいて算定される。フィードバック学習補正値は、吸入空気圧およびエンジン回転数に応じて燃料噴射量をよりきめ細かく補正するための値であり、吸入空気圧およびエンジン回転数により区分された９つの運転ゾーンごと算定される。
【０００４】
このエンジン制御装置において、９つの運転ゾーンは次のように設定されている。すなわち、エンジン回転数を示すＸ軸と吸入空気圧を示すＹ軸とからなるＸ−Ｙ平面を想定し、エンジン回転数について閾値Ｘ１およびＸ２を設定し、エンジン回転数を、エンジン回転数がＸ１未満の区間、エンジン回転数がＸ１以上Ｘ２未満の区間、およびエンジン回転数がＸ２以上の区間に分ける。また、吸入空気圧について閾値Ｙ１およびＹ２を設定し、吸入空気圧を、吸入空気圧がＹ１未満の区間、吸入空気圧がＹ１以上Ｙ２未満の区間、および吸入空気圧がＹ２以上の区間に分ける。この結果、上記Ｘ−Ｙ平面は、エンジン回転数についての３つの区間と、吸入空気圧についての３つの区間により９つの運転ゾーンに分けられる。
【０００５】
このエンジン制御装置において演算処理を行うＣＰＵは、吸入空気圧およびエンジン回転数が大きく変化しない状態が所定時間継続する間に、フィードバック補正値による燃料噴射量の補正が過小気味になった場合に、当該吸入空気圧および当該エンジン回転数が属する運転ゾーンに対応するフィードバック学習補正値を増加させ、この増加させたフィードバック学習補正値を用いてフィードバック補正値による燃料噴射量の補正を増強する。一方、吸入空気圧およびエンジン回転数が大きく変化しない状態が所定時間継続する間に、フィードバック補正値による燃料噴射量の補正が過大気味になった場合には、当該吸入空気圧および当該エンジン回転数が属する運転ゾーンに対応するフィードバック学習補正値を減少させ、この減少させたフィードバック学習補正値を用いてフィードバック補正値による燃料噴射量の補正を抑制する。
【０００６】
ところで、フィードバック学習補正値は、このように、吸入空気圧およびエンジン回転数が大きく変化しない状態が所定時間継続した後に算定されるので、フィードバック学習補正値の算定には時間がかかる。さらに、フィードバック学習補正値は、９つの運転ゾーンごとに算定されるため、すべての運転ゾーンのフィードバック学習補正値の算定が完了するまでには長い時間がかかることがある。
【０００７】
エンジンの燃料の補給により燃料性状が変化したとき、このエンジン制御装置のＣＰＵは、変化後の燃料性状に燃料噴射量を適合させるように、フィードバック学習補正値の算定・更新を行う。このとき、フィードバック学習補正値の算定・更新には、上述した事情により長い時間がかかることがある。
【０００８】
そこで、このエンジン制御装置は、燃料補給を検出し、燃料補給が検出された後、最初に算定されたフィードバック学習補正値を用いて、すべての運転ゾーンに対応するフィードバック学習補正値を同時に更新する一括更新機能を備え、これによりフィードバック学習補正値の算定・更新の時間短縮を図っている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００２−３０９９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
例えば、上記特許文献１のエンジン制御装置が自動車や自動二輪車のエンジンに適用された場合、吸入空気圧についての複数の区間において、実際の吸入空気圧が属する頻度が高い区間とそうでない区間が生じる。同様に、エンジン回転数についての複数の区間においても、実際のエンジン回転数が属する頻度が高い区間とそうでない区間が生じる。この結果、複数の運転ゾーンのうち、フィードバック学習補正値が頻繁に更新される運転ゾーンとそうでない運転ゾーンが生じる。このため、フィードバック学習補正値が運転ゾーンごとに大きくばらつくことが考えられる。また、一部のフィードバック学習補正値が算定処理の不慮の誤り等により、過大または過小となり、これが原因してフィードバック学習補正値に大きなばらつきが生じることがある。
【００１１】
例えば、自動車または自動二輪車の運転に伴って吸入空気圧またはエンジン回転数の変化が繰り返され、複数の運転ゾーンにそれぞれ対応するフィードバック学習補正値が代わる代わる燃料噴射量の算定に使用された場合には、フィードバック学習補正値が運転ゾーンごとに大きくばらついていると、燃料噴射量が過大に変動し、エンジンの稼働の安定性・円滑性が損なわれる場合がある。
【００１２】
本発明は例えば上述したような問題に鑑みなされたものであり、本発明の課題は、燃料噴射量の補正値が大きくばらつくことにより、エンジンの稼働の安定性または円滑性が損なわれることを防止できる燃料噴射制御装置を提供することにある。
【課題を解決するための手段】
【００１３】
上記課題を解決するために、本発明の燃料噴射制御装置は、エンジンの燃焼室に燃料を供給する燃料噴射装置の燃料噴射量を制御する燃料噴射制御装置であって、吸入空気、燃料およびエンジンの状態に基づいて燃料噴射量を算定する燃料噴射量算定手段と、前記エンジンの排気ガス中の酸素濃度を検出し、その検出結果に基づき、理想空燃比と実空燃比との間の偏差に応じたフィードバック補正値を算定するフィードバック補正値算定手段と、吸入空気圧およびエンジン回転数により特定される複数の範囲にそれぞれ対応する複数のフィードバック学習補正値を記憶する補正値記憶手段と、吸入空気圧およびエンジン回転数が前記複数の範囲のうちの一の範囲に属している状態が所定時間継続した後に前記フィードバック補正値による燃料噴射量の補正が過小または過大となることを判断し、前記フィードバック補正値による燃料噴射量の補正が過小となる場合には、当該一の範囲に対応する前記フィードバック学習補正値を増加させることにより当該フィードバック学習補正値を更新し、前記フィードバック補正値による燃料噴射量の補正が過大となる場合には、当該一の範囲に対応する前記フィードバック学習補正値を減少させることにより当該フィードバック学習補正値を更新するフィードバック学習補正値算定手段と、前記複数のフィードバック学習補正値間の偏差を小さくする補正値平準化手段と、前記燃料噴射量算定手段により算定された燃料噴射量を、前記フィードバック補正値および前記フィードバック学習補正値を用いて補正する燃料噴射量補正手段とを備え、前記補正値平準化手段は、前記複数の範囲のうちの一の範囲に対応するフィードバック学習補正値の更新前の値と更新後の値との差が所定の基準値以上である場合には、前記複数の範囲のうちの他の範囲に対応するフィードバック学習補正値を前記一の範囲に対応するフィードバック学習補正値に接近するように増加または減少させることを特徴とする。
【００１４】
本発明のこの態様によれば、燃料噴射量の補正値のばらつき（偏差）が大きくなるのを防止することができ、エンジンの稼働の安定性または円滑性を維持または向上させることができる。
【００１５】
また、本発明のこの態様によれば、複数の範囲間においてフィードバック学習補正値に大きなばらつきが生じるのを防止することができる。例えば、燃料入れ替えまたは燃料補給により燃料の性状が変化し、燃料性状の変化後に複数のフィードバック学習補正値のうちの一部のフィードバック学習補正値が更新された場合、本発明を適用しない燃料噴射制御装置では、燃料性状の変化後に更新されたフィードバック学習補正値と燃料性状の変化後にまだ更新されていないフィードバック学習補正値との間の差が過大となり、複数のフィードバック学習補正値を全体的にみると、フィードバック学習補正値に大きなばらつきが発生することが考えられる。本発明のこの態様によれば、このようなフィードバック学習補正値の大きなばらつきの発生を防止することができる。
【００１６】
また、上記本発明の燃料噴射制御装置において、前記複数の範囲は、少なくとも、吸入空気圧およびエンジン回転数の双方が比較的小さい第１の範囲、吸入空気圧が比較的大きくエンジン回転数が比較的小さい第２の範囲、吸入空気圧が比較的小さくエンジン回転数が比較的大きい第３の範囲、および吸入空気圧およびエンジン回転数の双方が比較的大きい第４の範囲を含み、前記補正値平準化手段は、前記第１の範囲に対応するフィードバック学習補正値の更新前の値と更新後の値との差が前記基準値以上である場合には、前記第２、第3および第４の範囲にそれぞれ対応するフィードバック学習補正値のうち、更新前の値と更新後の値との差が前記基準値または他の所定の基準値以上でないフィードバック学習補正値を前記第１の範囲に対応するフィードバック学習補正値に接近するように増加または減少させることが望ましい。
【００１７】
本発明のこの態様によれば、フィードバック学習補正値の大きなばらつきを除去する際に、各フィードバック学習補正値の精度が低下してしまうことを抑制できる。例えば、自動車または自動二輪車において定常走行時は、吸入空気圧およびエンジン回転数の双方が比較的小さく、吸入空気圧およびエンジン回転数が大きく変化しない。このような状況下においては、吸入空気圧およびエンジン回転数が第１の範囲に属している状態が継続するため、安定的なまたは高精度なフィードバック学習補正値が算定され易い。したがって、燃料性状の変化後に更新された第１の範囲に対応するフィードバック学習補正値に、燃料性状の変化後にまだ更新されていない他の範囲に対応するフィードバック学習補正値を接近させることで、フィードバック学習補正値の大きなばらつきを取り除き、かつ各フィードバック学習補正値の精度低下を抑えることができる。
【００１８】
また、上記本発明の燃料噴射制御装置において、前記補正値平準化手段は、エンジンの動作開始時に、前記複数のフィードバック学習補正値のうちの最大値と最小値との平均値を算定し、前記複数のフィードバック学習補正値のうち前記平均値との差が所定値以上であるフィードバック学習補正値を特定し、当該特定したフィードバック学習補正値を前記平均値に接近するように増加または減少させることが望ましい。
【００１９】
本発明のこの態様によれば、複数のフィードバック学習補正値のうち、ばらつきが大きいフィードバック学習補正値のみを増減させることで、フィードバック学習補正値の精度が低下するのを抑制しつつ、フィードバック学習補正値の大きなばらつきを除去することができる。
【００２０】
また、本発明のこの態様によれば、例えば自動車や自動二輪車のイグニッションＯＮ時等、エンジンの使用（再使用）を開始するときにフィードバック学習補正値の大きなばらつきを除去することができるので、エンジンが実際に使用される間において、エンジンの安定性・円滑性を維持し、または高めることができる。
【発明の効果】
【００２１】
本発明によれば、燃料噴射量の補正値が大きくばらつくことにより、エンジンの稼働の安定性または円滑性が損なわれることを防止できる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態による燃料噴射制御装置が適用されたエンジンを示す説明図である。
【図２】本発明の実施形態による燃料噴射制御装置、各種センサおよび燃料噴射装置を示すブロック図である。
【図３】本発明の実施形態による燃料噴射制御装置における学習テーブルを示す説明図である。
【図４】本発明の実施形態による燃料噴射制御装置におけるフィードバック補正値算定処理を示すフローチャートである。
【図５】本発明の実施形態による燃料噴射制御装置におけるフィードバック学習処理を示すフローチャートである。
【図６】本発明の実施形態による燃料噴射制御装置における第１の平準化処理を示すフローチャートである。
【図７】本発明の実施形態による燃料噴射制御装置における第２の平準化処理を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施の形態について図面を参照しながら説明する。
【００２４】
（燃料噴射制御装置が適用されたエンジン）
図１は本発明の実施形態による燃料噴射制御装置が適用された、例えば自動二輪車のエンジンを示している。図１において、エンジン１は、シリンダブロック２、シリンダヘッド３、シリンダヘッドカバー４およびピストン５等を備えている。また、エンジン１は、燃焼室６に連通する吸気ポート７および排気ポート８、吸気ポート７および排気ポート８をそれぞれ開閉する吸気バルブ９および排気バルブ１０、並びに吸気バルブ９および排気バルブ１０を開閉駆動する吸気カム軸１１および排気カム軸１２を備えている。
【００２５】
エンジン１の吸気側には、エアクリーナ１３、吸気管１４、スロットルボディ１５、吸気マニホルド１６等が設けられ、これらにより、吸気ポート７に連通する吸気通路１７が形成されている。また、スロットルボディ１５にはスロットルバルブ１８が設けられている。一方、エンジン１の排気側には、排気マニホルド２０、第１の触媒２１、排気管２２、第２の触媒２３等が設けられ、これらにより、排気ポート８に連通する排気通路２４が形成されている。
【００２６】
また、シリンダヘッド３には、燃焼室６に臨むように点火プラグ３１が取り付けられ、シリンダヘッドカバー４には、点火プラグ３１に飛び火させるイグニッションコイル３２が取り付けられている。
【００２７】
また、エンジン１には、ガソリン等の燃料を貯留する燃料タンク３４が燃料供給配管３６等を介して接続されている。燃料タンク３４内には燃料ポンプ３５等が設けられている。また、シリンダヘッド３には、燃焼室６に向かって燃料を供給する燃料噴射装置３７が、吸気ポート７に臨むように取り付けられている。
【００２８】
また、エアクリーナ１３の下流側には、吸入空気温度を検出する吸入空気温度センサ４１、および吸入空気量を検出するエアフローセンサ４２が取り付けられ、また、スロットルバルブ１８の近傍には、スロットル開度を検出するスロットル開度センサ４３が取り付けられ、さらに、吸気通路１７の途中には、吸入空気圧を検出する吸入空気圧センサ４４が設けられている。一方、排気通路２４の途中には、排気ガス中の酸素濃度を検出する酸素濃度センサ４５が設けられている。他方、燃料供給配管等３６により形成される燃料通路の途中には、燃料の温度を検出する燃料温度センサ４６、および燃料の圧力を検出する燃料圧力センサ４７が設けられている（図２参照）。さらに、エンジン１には、エンジン回転数を検出するエンジン回転センサ４８が設けられている（図２参照）。
【００２９】
また、これらのセンサ４１〜４８、燃料噴射装置３７およびイグニッションコイル３２等は、燃料噴射装置３７の燃料噴射量を制御する燃料噴射制御装置５１に電気的に接続されている。燃料噴射制御装置５１は例えばエンジンコントロールユニットの一部として自動二輪車に搭載されている。
【００３０】
（燃料噴射制御装置）
図２は、燃料噴射制御装置５１の内部構成、および燃料噴射制御装置５１に電気的に接続されたイグニッションコイル３２、各種センサ４１〜４８および燃料噴射装置３７を示す。燃料噴射制御装置５１は、燃料基本噴射量を算定し、この燃料基本噴射量を、フィードバック補正値およびフィードバック学習補正値により補正することにより最終的な燃料噴射量を算定する。また、燃料噴射制御装置５１は、フィードバック学習補正値に対して２通りの平準化処理を行う。
【００３１】
図２に示すように、燃料噴射制御装置５１は、ＣＰＵ（中央演算処理装置）５２、および例えば不揮発性の半導体記憶素子であるメモリ５３を備えている。ＣＰＵ５２は、メモリ５３に記憶されているコンピュータプログラムを読み取り、これを実行することにより、燃料基本噴射量算定部５４、フィードバック補正値算定部５５、フィードバック学習補正値算定部５６、第１の補正値平準化処理部５７、第２の補正値平準化処理部５８および最終燃料噴射量算定部５９として機能する。
【００３２】
燃料基本噴射量算定部５４は、例えば、燃料温度、燃料圧力、吸入空気温度、吸入空気圧、スロットル開度、エンジン回転数、エンジン温度等に基づいて燃料基本噴射量を算定する。燃料基本噴射量算定部５４は、燃料基本噴射量を算定する際に、燃料噴射制御装置５１に電気的に接続された燃料温度センサ４６、燃料圧力センサ４７、吸入空気温度センサ４１、吸入空気圧センサ４４、スロットル開度センサ４３、エンジン回転数センサ４８およびエンジン温度センサ（図示せず）等を用いて、燃料温度、燃料圧力、吸入空気温度、吸入空気圧、スロットル開度、エンジン回転数等を検出する。
【００３３】
フィードバック補正値算定部５５は、排気ガス中の酸素濃度に基づいてフィードバック補正値を算定する。フィードバック補正値は、理想空燃比と実空燃比との間のずれに応じて燃料噴射量を補正するための値である。フィードバック補正値は、理想空燃比と実空燃比との間の偏差を解消するための比例値と、理論空燃比とのずれの偏差の積算値である積算積分値とをフィードバック補正設定値（例えば１．０）に加算することにより算定される。フィードバック補正値算定部５５は、フィードバック補正値を算定する際に、酸素濃度センサ４５を用いて、排気ガス中の酸素濃度を検出する。以下、フィードバック補正値を算定する処理を「フィードバック補正値算定処理」という。フィードバック補正値算定処理については後に図４を参照しながら説明する。
【００３４】
フィードバック学習補正値算定部５６はフィードバック学習補正値を算定する。フィードバック学習補正値は、エンジンの稼働状況、具体的にはエンジン回転数および吸入空気圧に応じて燃料噴射量をさらに細かく補正するための値である。フィードバック学習補正値は、吸入空気圧およびエンジン回転数により区分された複数の学習エリア（複数の範囲）ごとに算定される。フィードバック学習補正値算定部５６は、所定時間内における燃料噴射または空燃比の状態の推移を学習エリアごとに認識することにより学習を行い、当該学習結果に基づいてフィードバック学習補正値を学習エリアごとに算定する。以下、フィードバック学習補正値を算定する処理を「フィードバック学習処理」という。フィードバック学習処理については後に図５を参照しながら説明する。
【００３５】
第１の補正値平準化処理部５７は、イグニッションＯＮ時に、それぞれの学習エリアに対応するフィードバック学習補正値のばらつき（偏差）を平準化する。以下、第１の補正値平準化処理部５７による平準化処理を「第１の平準化処理」という。第１の平準化処理については後に図６を参照しながら説明する。
【００３６】
第２の補正値平準化処理部５８は、いずれかの学習エリアについてフィードバック学習処理が行われ、この結果、フィードバック学習処理が完了した学習エリアに対応するフィードバック学習補正値とフィードバック学習処理が完了していない学習エリアに対応するフィードバック学習補正値との間にばらつき（偏差）が生じた場合に、このばらつきを平準化する。以下、第２の補正値平準化処理部５８による平準化処理を「第２の平準化処理」という。第２の平準化処理については後に図７を参照しながら説明する。
【００３７】
最終燃料噴射量算定部５９は、燃料基本噴射量算定部５４により算定された燃料基本噴射量を、フィードバック補正値算定部５５により算定されたフィードバック補正値およびフィードバック学習補正値算定部５６により算定されたフィードバック学習補正値により補正し、最終的な燃料噴射量を算定する。
【００３８】
なお、燃料基本噴射量算定部５４が燃料噴射量算定手段の具体例であり、フィードバック補正値算定部５５がフィードバック補正値算定手段の具体例であり、フィードバック学習補正値算定部５６がフィードバック学習補正値算定手段の具体例であり、第１の補正値平準化処理部５７および第２の補正値平準化処理部５８が補正値平準化手段の具体例であり、最終燃料噴射量算定部５９が燃料噴射量補正手段の具体例である。また、メモリ５３が補正値記憶手段の具体例である。
【００３９】
（学習テーブル）
図３は学習テーブル６１を示している。学習テーブル６１は、フィードバック学習処理において算定されたフィードバック学習補正値を配列したテーブルであり、メモリ５３に書換可能な状態で記憶されている。
【００４０】
図３に示すように、学習テーブル６１は、例えば、吸入空気圧を示すＸ軸（横軸）とエンジン回転数を示すＹ軸（縦軸）とからなるＸ−Ｙ平面を、吸入空気圧についての所定の閾値Ｘｔｈおよびエンジン回転数についての所定の閾値Ｙｔｈに基づいて４つの学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４に区分することにより形成されている。
【００４１】
学習エリアＲ１は、吸入空気圧が最小値Ｘｍｉｎ以上閾値Ｘｔｈ未満で、かつエンジン回転数が最小値Ｙｍｉｎ以上閾値Ｙｔｈ未満の領域である。学習エリアＲ２は、吸入空気圧が閾値Ｘｔｈ以上最大値Ｘｍａｘ以下で、かつエンジン回転数が最小値Ｙｍｉｎ以上閾値Ｙｔｈ未満の領域である。学習エリアＲ３は、吸入空気圧が最小値Ｘｍｉｎ以上閾値Ｘｔｈ未満で、かつエンジン回転数が閾値Ｙｔｈ以上最大値Ｙｍａｘ以下の領域である。学習エリアＲ４は、吸入空気圧が閾値Ｘｔｈ以上最大値Ｘｍａｘ以下で、かつエンジン回転数が閾値Ｙｔｈ以上最大値Ｙｍａｘ以下の領域である。
【００４２】
フィードバック学習補正値は学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４ごとに算定され、学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４ごとに学習テーブル６１に配列されてメモリ５３に記憶される。また、各学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４には固有の番号（例えば、１、２、３、４といった連番）が付されている。
【００４３】
（フィードバック補正値算定処理）
図４は、フィードバック補正値算定部５５により行われるフィードバック補正値算定処理の流れを示している。フィードバック補正値算定処理は、酸素濃度センサ４５の温度が排気ガスによって所定の温度まで上昇し、酸素濃度センサ４５からの検出信号が安定化した後に開始され、その後、例えば１０ｍ秒の周期で繰り返し行われる。
【００４４】
図４に示すように、フィードバック補正値算定処理において、フィードバック補正値算定部５５は、まず、酸素濃度センサ４５から出力された検出信号に基づいて、現在の空燃比の状態がリッチ側にあるか否かを判断する（ステップＳ１）。現在の空燃比の状態がリッチ側にある場合には（ステップＳ１：ＹＥＳ）、フィードバック補正値算定部５５は、空燃比をリッチ側からリーン側へ移行させるのに必要とされるフィードバック補正値の比例値を算定し（ステップＳ２）、さらに積分補正値を算定し、この積分補正値を積算積分値の現在値に積算することにより積算積分値を更新する（ステップＳ３）。空燃比をリッチ側からリーン側へ移行させるのに必要とされるフィードバック補正値の比例値はマイナスの値であり、積分補正値は絶対値であるので、積分補正値の積算積分値への積算は、積分補正値を積算積分値に減算する処理となる。
【００４５】
続いて、フィードバック補正値算定部５５は、ステップＳ２で算定した比例値と、ステップＳ３で更新した積算積分値をフィードバック補正設定値（例えば１．０）に加算して最終的なフィードバック補正値を算定する（ステップＳ６）。
【００４６】
一方、ステップＳ１の判断の結果、現在の空燃比の状態がリーン側にある場合には（ステップＳ１：ＮＯ）、フィードバック補正値算定部５５は、空燃比をリーン側からリッチ側へ移行させるのに必要とされるフィードバック補正値の比例値を算定し（ステップＳ４）、さらに積分補正値を算定し、この積分補正値を積算積分値の現在値に積算することにより積算積分値を更新する（ステップＳ５）。空燃比をリーン側からリッチ側へ移行させるのに必要とされるフィードバック補正値の比例値はプラスの値であり、積分補正値は絶対値であるので、積分補正値の積算積分値への積算は、積分補正値を積算積分値に加算する処理となる。
【００４７】
続いて、フィードバック補正値算定部５５は、ステップＳ４で算定した比例値と、ステップＳ５で更新した積算積分値をフィードバック補正設定値に加算して最終的なフィードバック補正値を算定する（ステップＳ６）。
【００４８】
（フィードバック学習処理）
図５は、フィードバック学習補正値算定部５６により行われるフィードバック学習処理の流れを示している。フィードバック学習処理は、フィードバック補正値算定処理が開始された後に開始され、その後、例えば１０ｍ秒の周期で行われる。
【００４９】
フィードバック学習処理において、フィードバック学習補正値算定部５６は、まず、吸入空気圧センサ４４から出力された検出信号およびエンジン回転センサ４８から出力された検出信号に基づき、学習テーブル６１の学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４の中から、現在の吸入空気圧および現在のエンジン回転数が属している学習エリア（以下、これを「今回の学習エリア」という。）を認識する（ステップＳ１１）。
【００５０】
続いて、フィードバック学習補正値算定部５６は、今回の学習エリアが、前周期のフィードバック学習処理のステップＳ１において認識された学習エリア（以下、これを「前回の学習エリア」という。）と互いに同じか否か判断する（ステップＳ１２）。
【００５１】
今回の学習エリアと前回の学習エリアとが互いに同じでない場合には（ステップＳ１２：ＮＯ）、今回の学習エリアの番号をメモリ５３に記憶すると共に、タイマをリセットし、直ちにタイマをスタートさせる（ステップＳ１３）。この場合、今周期のフィードバック学習処理はこれで終了する。
【００５２】
一方、今回の学習エリアと前回の学習エリアとが互いに同じである場合には（ステップＳ１２：ＹＥＳ）、続いてフィードバック学習補正値算定部５６は、タイマの値が所定値に達しているか否かを判断する（ステップＳ１４）。そして、タイマの値が所定値に達していない場合には（ステップＳ１４：ＮＯ）、今周期のフィードバック学習処理を直ちに終了する。
【００５３】
他方、今回の学習エリアと前回の学習エリアとが互いに同じであり（ステップＳ１２：ＹＥＳ）、かつ、タイマの値が所定値に達している場合には（ステップＳ１４：ＹＥＳ）、フィードバック学習補正値算定部５６は、今回の学習エリアに対応するフィードバック学習補正値の算定を開始する。
【００５４】
すなわち、吸入空気圧がＸｍｉｎ以上Ｘｔｈ未満またはＸｔｈ以上Ｘｍａｘ以下の範囲内であり、かつエンジン回転数がＹｍｉｎ以上Ｙｔｈ未満またはＹｔｈ以上Ｙｍａｘ以下の範囲内にある状態、すなわち、吸入空気圧とエンジン回転数が同一の学習エリアに属している状態が所定時間継続し、この結果、その間に複数回繰り返し行われたフィードバック学習処理のステップＳ１において同一の学習エリアが所定回数連続して認識された場合、タイマの値は所定値に達する。このような場合には、フィードバック補正値による燃料基本噴射量の補正が過小気味または過大気味になっており、これを適切に補正するフィードバック学習補正値を算定する必要がある。
【００５５】
タイマの値が所定値に達した場合、フィードバック学習補正値算定部５６は、フィードバック補正値の積算積分値が所定の判断基準値を超えているか否か判断する（ステップＳ１５）。
【００５６】
フィードバック補正値の積算積分値が所定の判断基準値を超えている場合には（ステップＳ１５：ＹＥＳ）、フィードバック補正値による燃料基本噴射量の補正が過小気味になっているので、燃料基本噴射量の補正を増強すべく、フィードバック学習補正値算定部５６は、今回の学習エリアに対応するフィードバック学習補正値を増加させ、学習テーブル６１における当該フィードバック学習補正値を更新する（ステップＳ１６）。
【００５７】
一方、フィードバック補正値の積算積分値が所定の判断基準値を超えていない場合には（ステップＳ１５：ＮＯ）、フィードバック補正値による燃料基本噴射量の補正が過大気味になっているので、燃料基本噴射量の補正を抑制すべく、フィードバック学習補正値算定部５６は、今回の学習エリアに対応するフィードバック学習補正値を減少させ、学習テーブル６１における当該フィードバック学習補正値を更新する（ステップＳ１７）。
【００５８】
なお、このように、フィードバック学習処理においては、吸入空気圧とエンジン回転数が同一の学習エリアに属している状態が所定時間継続しなければ、フィードバック学習補正値の更新が行われないため、１つの学習エリアに対応するフィードバック学習補正値が更新されるにはある程度時間がかかり、さらに、学習テーブル６１に属するすべての学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４に対応するフィードバック学習補正値が更新されるにはさらに長い時間がかかる。
【００５９】
（第1の平準化処理）
図６は第１の補正値平準化処理部５７により行われる第１の平準化処理の流れを示している。第１の平準化処理はイグニッションＯＮ時に行われる。第１の平準化処理は、主として、複数の学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４のうち、フィードバック学習補正値が頻繁に更新される学習エリアとそうでない学習エリアが生じることに起因して起こるフィードバック学習補正値のばらつき（偏差）や、フィードバック学習処理の不慮の誤り等に起因して生じるフィードバック学習補正値のばらつき（偏差）を平準化することを目的として実施される。
【００６０】
図６に示すように、第１の平準化処理において、第１の補正値平準化処理部５７は、イグニッションがＯＮになったことを認識する（ステップＳ２１）。
【００６１】
続いて、第１の補正値平準化処理部５７は、すべての学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４にそれぞれ対応するフィードバック学習補正値の中から、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎを特定する（ステップＳ２２）。
【００６２】
続いて、第１の補正値平準化処理部５７は、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの差が所定の基準値Ｌｒ以上であるか否か判断する（ステップＳ２３）。学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４間においてフィードバック学習補正値に大きなばらつきが存在する場合には、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの差が基準値Ｌｒ以上となる。
【００６３】
フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの差が基準値Ｌｒ以上でない場合には（ステップＳ２３：ＮＯ）、第１の補正値平準化処理部５７は、今回の第1の平準化処理を直ちに終える。
【００６４】
一方、学習エリアＲｐにおいて、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの差が基準値Ｌｒ以上である場合には（ステップＳ２３：ＹＥＳ）、第１の補正値平準化処理部５７は、カウント値Ｐを０に初期化する（ステップＳ２４）。続いて、第１の補正値平準化処理部５７は、カウント値Ｐを１増加させた後（ステップＳ２５）、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐを、メモリ５３に記憶された学習テーブル６１から読み取る（ステップＳ２６）。なお、カウント値Ｐが１のときには学習エリアＲｐとして学習エリアＲ１が選択され、カウント値Ｐが２のときには学習エリアＲｐとして学習エリアＲ２が選択され、カウント値Ｐが３のときには学習エリアＲｐとして学習エリアＲ３が選択され、カウント値Ｐが４のときには学習エリアＲｐとして学習エリアＲ４が選択されるものとする。
【００６５】
続いて、第１の補正値平準化処理部５７は、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの平均値を算定する。そして、第１の補正値平準化処理部５７は、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐと当該平均値との差が基準値Ｌｒの２分の１以上であるか否かを判断する（ステップＳ２７）。すなわち、ステップＳ２７において、第１の補正値平準化処理部５７は下記の数式（Ｆ１）が成立するか否か判断する。
【００６６】
｜Ｌｐ−｛（Ｌｍａｘ＋Ｌｍｉｎ）／２｝｜≧Ｌｒ／２      （Ｆ１）
学習エリアＲｐに対応するフィードバック学習補正値Ｌｐが過大または過小である場合には、数式（Ｆ１）が成立する。
【００６７】
そして、数式（Ｆ１）が成立しない場合には（ステップＳ２７：ＮＯ）、第１の補正値平準化処理部５７は直ちに処理をステップＳ３１に移行させる。
【００６８】
一方、数式（Ｆ１）が成立する場合には（ステップＳ２７：ＹＥＳ）、第１の補正値平準化処理部５７は、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐを、学習エリアＲｐにおけるフィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの平均値に接近するように増加または減少させる。
【００６９】
具体的に説明すると、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐが、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの平均値よりも大きい場合には（ステップＳ２８：ＹＥＳ）、第１の補正値平準化処理部５７は、下記の数式（Ｆ２）に示す演算を行い、メモリ５３に記憶された学習テーブル６１において学習エリアＲｐに対応するフィードバック学習補正値Ｌｐの現在の値を、数式（Ｆ２）に示す演算により得られた値により置き換え、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐを更新する（ステップＳ２９）。
【００７０】
｛（Ｌｍａｘ＋Ｌｍｉｎ）／２｝＋（Ｌｒ／２）−α      （Ｆ２）
なお、数式（Ｆ２）中のαは所定の設定値である。
【００７１】
この結果、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐが減少し、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの平均値に接近する。これにより、当該フィードバック学習補正値Ｌｐが過大でなくなる。
【００７２】
一方、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐが、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの平均値以下である場合には（ステップＳ２８：ＮＯ）、第１の補正値平準化処理部５７は、下記の数式（Ｆ３）に示す演算を行い、メモリ５３に記憶された学習テーブル６１において学習エリアＲｐに対応するフィードバック学習補正値Ｌｐの現在の値を、数式（Ｆ３）に示す演算により得られた値により置き換え、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐを更新する
（ステップＳ３０）。
【００７３】
｛（Ｌｍａｘ＋Ｌｍｉｎ）／２｝−（Ｌｒ／２）＋α      （Ｆ３）
この結果、学習エリアＲｐに対応するフィードバック学習補正値Ｌｐが増加し、フィードバック学習補正値の最大値Ｌｍａｘと最小値Ｌｍｉｎとの平均値に接近する。これにより、当該フィードバック学習補正値Ｌｐが過小でなくなる。
【００７４】
続いて、第１の補正値平準化処理部５７は、カウント値ＰがＰｎ以上であるか否か判断する（ステップＳ３１）。Ｐｎは学習エリアの総数を示す数値、すなわち本実施形態においては４である。カウント値ＰがＰｎ以上でない場合には（ステップＳ３１：ＮＯ）、第１の補正値平準化処理部５７は処理をステップＳ２５に戻す。一方、カウント値ＰがＰｎ以上である場合には（ステップＳ３１：ＹＥＳ）、第１の補正値平準化処理部５７は第１の平準化処理を終える。
【００７５】
以上の第１の平準化処理によれば、イグニッションがＯＮにされるたびに、学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４にそれぞれ対応するフィードバック学習補正値の中に、過大または過小なフィードバック学習補正値が存在する場合には、この過大または過小なフィードバック学習補正値が、学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４にそれぞれ対応するフィードバック学習補正値の中の最大値と最小値との平均値に接近した値に置き換えられる。これにより、学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４にそれぞれ対応するフィードバック学習補正値の大きなばらつきが除去される。
【００７６】
（第２の平準化処理）
図７は第２の補正値平準化処理部５８により行われる第２の平準化処理の流れを示している。上述した第1の平準化処理に代えて第2の平準化処理を適用することができる。第２の平準化処理は例えばイグニッションＯＮ後に行われる。第２の平準化処理は、主として、燃料が入れ替えられたこと（例えば通常のレギュラーガソリンがガソホールに入れ替えられたこと）、あるいは燃料が補給されたことにより燃料の性状が変化し、これに応じていずれかの学習エリアについてフィードバック学習処理が行われ、この結果、フィードバック学習処理が完了した学習エリアに対応するフィードバック学習補正値とフィードバック学習処理が完了していない学習エリアに対応するフィードバック学習補正値との間にばらつき（偏差）が生じた場合に、このばらつきを平準化することを目的として実施される。また、第２の平準化処理においては、フィードバック学習処理が完了した学習エリアが学習エリアＲ１である場合と、フィードバック学習処理が完了した学習エリアが学習エリアＲ１以外の学習エリア、すなわち学習エリアＲ２、Ｒ３、Ｒ４のいずれかの学習エリアである場合とで、処理内容の異なる平準化処理を行う。
【００７７】
まず、フィードバック学習処理が完了した学習エリアが学習エリアＲ１である場合の第２の平準化処理について説明する。図７に示すように、第２の補正値平準化処理部５８は、学習エリアＲ１に対応するフィードバック学習補正値Ｌ１の前回値と今回値との差Ｄ１を算定する（ステップＳ７１）。なお、各学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４に対応するフィードバック学習補正値の今回値、すなわち最新値は、学習テーブル６１に配列されてメモリ５３に記憶されている。これに加え、各学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４に対応するフィードバック学習補正値の前回値、すなわち、フィードバック学習補正値の最新値を算定したフィードバック学習処理よりも１つ前の周期のフィードバック学習処理により算定されたフィードバック学習補正値もメモリ５３に記憶されている。
【００７８】
続いて、第２の補正値平準化処理部５８は、学習エリアＲ１に対応するフィードバック学習補正値Ｌ１の前回値と今回値との差Ｄ１が基準値Ｄｓ以上であるか否か判断する（ステップＳ７２）。燃料の入替等により燃料性状が変化した後に、学習エリアＲ１についてフィードバック学習処理が完了し、フィードバック学習補正値が更新されている場合、差Ｄ１が基準値Ｄｓ以上となる。一方、燃料性状が変化していない場合や、燃料性状が変化しているものの、学習エリアＲ１についてフィードバック学習処理がまだ完了していない場合には、差Ｄ１が基準値Ｄｓ以上とならない。すなわち、第２の補正値平準化処理部５８は、ステップＳ７２の判断により、燃料性状の変化後に学習エリアＲ１についてフィードバック学習処理が完了したか否かを認識している。
【００７９】
差Ｄ１が基準値Ｄｓ以上の場合（ステップＳ７２：ＹＥＳ）、第２の補正値平準化処理部５８は差Ｄ１をメモリ５３に一時記憶する（ステップＳ７３）。続いて、第２の補正値平準化処理部５８は、カウント値Ｑを１に設定した後、直ちにカウント値Ｑを１増加し（ステップＳ７４、Ｓ７５）、そして、学習エリアＲ１に対応するフィードバック学習補正値に基づいて学習エリアＲ２、Ｒ３、Ｒ４に対応するフィードバック学習補正値を平準化する。
【００８０】
すなわち、第２の補正値平準化処理部５８は、まず、学習エリアＲｑに対応するフィードバック学習補正値Ｌｑの前回値と今回値との差Ｄｑを算定する（ステップＳ７６）。なお、カウント値Ｑが２のときには学習エリアＲｑおよびフィードバック学習補正値Ｌｑはそれぞれ学習エリアＲ２およびフィードバック学習補正値Ｌ２を意味し、カウント値Ｑが３のときには学習エリアＲｑおよびフィードバック学習補正値Ｌｑはそれぞれ学習エリアＲ３およびフィードバック学習補正値Ｌ３を意味し、カウント値Ｑが４のときには学習エリアＲｑおよびフィードバック学習補正値Ｌｑはそれぞれ学習エリアＲ４およびフィードバック学習補正値Ｌ４を意味する。
【００８１】
続いて、第２の補正値平準化処理部５８は、差Ｄｑが基準値Ｄｋ以上であるか否かを判断する（ステップＳ７７）。燃料性状の変化後に学習エリアＲｑについてフィードバック学習処理が完了し、当該学習エリアＲｑに対応するフィードバック学習補正値が更新されている場合には、差Ｄｑが基準値Ｄｋ以上となる。基準値Ｄｋは例えば基準値Ｄｓと同じ値である。差Ｄｑが基準値Ｄｋ以上である場合には（ステップＳ７７：ＹＥＳ）、処理はステップＳ７５に戻る。
【００８２】
一方、差Ｄｑが基準値Ｄｋ以上でない場合には（ステップＳ７７：ＮＯ）、第２の補正値平準化処理部５８は、差Ｄ１に所定の設定値βを乗じた値を、学習エリアＲ１に対応するフィードバック学習補正値Ｌ１の前回値に加算することにより、フィードバック学習補正値の平準化値Ｌａｖを算出する。そして、第２の補正値平準化処理部５８は、学習テーブルに配列されてメモリ５３に記憶された学習エリアＲｑに対応するフィードバック学習補正値Ｌｑを、上記平準化値Ｌａｖに置き換え、当該フィードバック学習補正値Ｌｑを更新する（ステップＳ７８）。
【００８３】
続いて、第２の補正値平準化処理部５８は、カウント値ＱがＱｎ以上であるか否かを判断する（ステップＳ７９）。Ｑｎは学習エリアの総数を示す数値、すなわち本実施形態においては４である。カウント値ＱがＱｎ以上でない場合には（ステップＳ７９：ＮＯ）、第２の補正値平準化処理部５８は処理をステップＳ７５に戻す。一方、カウント値ＱがＱｎ以上である場合には（ステップＳ７９：ＹＥＳ）、第２の補正値平準化処理部５８は第２の平準化処理を終える。
【００８４】
ステップＳ７１ないしＳ７９の処理により、学習エリアＲ１に対応するフィードバック学習補正値Ｌ１と、学習エリアＲ２、Ｒ３、Ｒ４に対応するフィードバック学習補正値Ｌ２、Ｌ３、Ｌ４との間のばらつきの程度が小さくなる。
【００８５】
次に、フィードバック学習処理が完了した学習エリアが学習エリアＲ１以外の学習エリアである場合の第２の平準化処理について説明する。
【００８６】
図７中のステップＳ７１およびＳ７２において、学習エリアＲ１に対応するフィードバック学習補正値Ｌ１の前回値と今回値との差Ｄ１が基準値Ｄｓ以上でない場合には（ステップＳ７２：ＮＯ）、第２の補正値平準化処理５８は、学習エリアＲ２、Ｒ３、Ｒ４のうち、燃料性状の変化後にフィードバック学習処理が完了してフィードバック学習補正値が更新された学習エリアを探し出す。
【００８７】
すなわち、第２の補正値平準化処理部５８は、カウント値Ｘを１に設定した後、直ちにカウント値Ｘを１増加し、学習エリアＲｘに対応するフィードバック学習補正値Ｌｘの前回値と今回値との差Ｄｘを算定し、差Ｄｘが基準値Ｄｓ以上であるか否かを判断する（ステップＳ８０〜Ｓ８３）。なお、カウント値Ｘが２のときには学習エリアＲｘおよびフィードバック学習補正値Ｌｘはそれぞれ学習エリアＲ２およびフィードバック学習補正値Ｌ２を意味し、カウント値Ｘが３のときには学習エリアＲｘおよびフィードバック学習補正値Ｌｘはそれぞれ学習エリアＲ３およびフィードバック学習補正値Ｌ３を意味し、カウント値Ｘが４のときには学習エリアＲｘおよびフィードバック学習補正値Ｌｘはそれぞれ学習エリアＲ４およびフィードバック学習補正値Ｌ４を意味する。
【００８８】
差Ｄｘが基準値Ｄｓ以上でなく、かつカウント値ＸがＸｎ以上でない場合には（ステップＳ８３：ＮＯ、ステップＳ８４：ＮＯ）、第２の補正値平準化処理部５８は処理をステップＳ８１に戻す。なお、Ｘｎは学習エリアの総数を示す数値、すなわち本実施形態においては４である。
【００８９】
一方、差Ｄｘが基準値Ｄｓ以上である場合（ステップＳ８３：ＹＥＳ）、第２の補正値平準化処理部５８はフィードバック学習補正値Ｌｘをメモリ５３に一時記憶する（ステップＳ８５）。続いて、第２の補正値平準化処理部５８は、カウント値Ｑを１に設定した後、直ちにカウント値Ｑを１増加し（ステップＳ８６、Ｓ８７）、そして、メモリ５３に一時記憶されたフィードバック学習補正値Ｌｘに基づいて、学習エリアＲ２、Ｒ３、Ｒ４のうち学習エリアＲｘ以外の学習エリアに対応するフィードバック学習補正値を平準化する。
【００９０】
すなわち、第２の補正値平準化処理部５８は、まず、学習エリアＲｑに対応するフィードバック学習補正値Ｌｑの前回値と今回値との差Ｄｑを算定し、差Ｄｑが基準値Ｄｋ以上であるか否かを判断する（ステップＳ８８、Ｓ８９）。差Ｄｑが基準値Ｄｋ以上である場合には（ステップＳ８９：ＹＥＳ）、第２の補正値平準化処理部５８は処理をステップＳ８７に戻る。
【００９１】
一方、差Ｄｑが基準値Ｄｋ以上でない場合には（ステップＳ８９：ＮＯ）、第２の補正値平準化処理部５８は、学習テーブルに配列されてメモリ５３に記憶された学習エリアＲｑに対応するフィードバック学習補正値Ｌｑを、ステップＳ８５でメモリ５３に一時記憶したフィードバック学習補正値Ｌｘに置き換え、当該フィードバック学習補正値Ｌｑを更新する（ステップＳ９０）。
【００９２】
続いて、第２の補正値平準化処理部５８は、カウント値ＱがＱｎ以上であるか否かを判断する（ステップＳ９１）。カウント値ＱがＱｎ以上でない場合には（ステップＳ９１：ＮＯ）、第２の補正値平準化処理部５８は処理をステップＳ８７に戻す。一方、カウント値ＱがＱｎ以上である場合には（ステップＳ９１：ＹＥＳ）、第２の補正値平準化処理部５８は第２の平準化処理を終える。
【００９３】
ステップＳ８０ないしＳ９１の処理により、学習エリアＲ２、Ｒ３、Ｒ４に対応するフィードバック学習補正値の大きなばらつきが除去される。
【００９４】
他方、燃料性状の変化が生じていない場合、あるいは燃料性状の変化後に学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４のいずれにおいてもフィードバック学習処理が完了していない場合には、ステップＳ８４においてカウント値ＸがＸｎ以上であると判断され、第２の平準化処理は終了する。この場合には、学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４に対応するフィードバック学習補正値に大きなばらつきがないと考えられるので、学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４のいずれにおいてもフィードバック学習補正値の平準化は行われない。
【００９５】
以上説明した通り、本発明の実施形態による燃料噴射制御装置５１における第１の平準化処理によれば、学習エリアＲ１、Ｒ２、Ｒ３、Ｒ４間のフィードバック学習補正値の大きなばらつきをイグニッションＯＮ時に除去することができる。また、第２の平準化処理によれば、燃料入れ替えまたは燃料補給による燃料性状の変化等に応じていずれかの学習エリアについてフィードバック学習処理が行われた結果生じるフィードバック学習補正値の大きなばらつきを除去することができる。このようにフィードバック学習補正値の大きなばらつきを除去することで、例えば自動二輪車の運転に伴って吸入空気圧またはエンジン回転数の変化が繰り返され、複数の学習エリアにそれぞれ対応するフィードバック学習補正値が代わる代わる燃料噴射量の算定に使用された場合でも、燃料噴射量が過大に変動するのを防止することができ、エンジンの稼働の安定性・円滑性を維持または向上させることができる。
【００９６】
また、第２の平準化処理によれば、フィードバック学習処理が完了していない学習エリアに対応するフィードバック学習補正値が、フィードバック学習処理が完了した学習エリアに対応するフィードバック学習補正値に接近するので、燃料入れ替えまたは燃料補給により燃料性状が変化した後、各学習エリアについてフィードバック学習処理を短時間に完了することができ、変化した燃料性状に応じた適切な燃料噴射を早期に実現することができる。
【００９７】
なお、上述した実施形態では、第１の平準化処理または第２の平準化処理をイグニッションＯＮ時に行う場合を例にあげたが、本発明はこれに限らない。第１の平準化処理または第２の平準化処理を他のタイミングで行ってもよい。
【００９８】
また、上述した実施形態では、フィードバック学習処理が完了した学習エリアが学習エリアＲ１である場合と、フィードバック学習処理が完了した学習エリアが学習エリアＲ１以外の学習エリアである場合とで異なる内容の第２の平準化処理を行う場合を例にあげたが、フィードバック学習処理が完了した学習エリアが学習エリアＲ１である場合に限り第２の平準化処理を行ってもよい。すなわち、図７中のステップＳ７２で差Ｄ１が基準値Ｄｓ以上でない場合には処理をステップＳ７１に戻すことにより、学習エリアＲ１に対応するフィードバック学習補正値Ｌ１の前回値と今回値との差Ｄ１が基準値Ｄｓを超えるのを待つ。そして、学習エリアＲ１に対応するフィードバック学習補正値Ｌ１の前回値と今回値との差Ｄ１が基準値Ｄｓを超えたとき、ステップＳ７４ないしＳ７９の処理を行う。
【００９９】
また、本発明の燃料噴射制御装置は、通常のガソリン、ガソホール等の液体燃料を利用したエンジンに限らず、圧縮天然ガス等の気体燃料を利用したエンジンにも適用することができる。また、本発明の燃料噴射制御装置が適用されたエンジンの用途は、自動二輪車、自動車等の車両に限らない。
【０１００】
また、本発明は、請求の範囲および明細書全体から読み取ることのできる発明の要旨または思想に反しない範囲で適宜変更可能であり、そのような変更を伴う燃料噴射制御装置もまた本発明の技術思想に含まれる。
【符号の説明】
【０１０１】
１  エンジン
６  燃焼室
３７  燃料噴射装置
４４  吸入空気圧センサ
４８  エンジン回転センサ
５１  燃料噴射制御装置
５２  ＣＰＵ
５３  メモリ（補正値記憶手段）
５４  燃料基本噴射量算定部（燃料噴射量算定手段）
５５  フィードバック補正値算定部（フィードバック補正値算定手段）
５６  フィードバック学習補正値算定部（フィードバック学習補正値算定手段）
５７  第１の補正値平準化処理部（補正値平準化手段）
５８  第２の補正値平準化処理部（補正値平準化手段）
５９  最終燃料噴射量算定部（燃料噴射量補正手段）
６１  学習テーブル
【図１】
0005879890.tif 000002
【図２】
0005879890.tif 000003
【図３】
0005879890.tif 000004
【図４】
0005879890.tif 000005
【図５】
0005879890.tif 000006
【図６】
0005879890.tif 000007
【図７】
0005879890.tif 000008