(57)【要約】【課題】空燃比制御の制御精度の更なる向上を図る。【解決手段】空燃比をフィードバック制御する際の学習補正値として第１の空燃比学習値を用い、空燃比をオープン制御する際に第１の空燃比学習値の学習を実施する際の条件よりも学習条件が多い第２の空燃比学習値を用いる。各空燃比学習値は、負荷と機関回転数で定まる運転状態をそれぞれ複数の領域に分割してなる各学習領域毎に格納されたものであり、運転状態を複数の領域に分割するにあたって、第１の空燃比学習値を格納するべく分割する場合に比べて、第２の空燃比学習値を格納するべく分割する場合の方が、粗く分割されている。これによって、学習条件の多い第２の学習を完了させ易くなり、学習値を用いた空燃比制御の制御精度を運転状態全体として向上させることができる。【選択図】図３
2011179407.tif 000002
【特許請求の範囲】
【請求項１】
第１の空燃比学習値を学習する第１の学習と、前記第１の学習に比べて学習を実施する際の条件が多い第２の空燃比学習値を学習する第２の学習と、を行い、空燃比をフィードバック制御する際の学習補正値として前記第１の空燃比学習値を用い、空燃比をオープン制御する際の学習補正値として前記第２の空燃比学習値を用いる内燃機関の制御装置において、
前記各空燃比学習値は、負荷と機関回転数で定まる運転状態をそれぞれ複数の領域に分割してなる各学習領域毎に格納されたものであり、
前記第１の空燃比学習値を格納する学習領域は、前記第２の空燃比学習値を格納する学習領域より粗く分割されていることを特徴とする内燃機関の制御装置。
【請求項２】
前記第２の学習では、現在格納されている学習値と今回学習された学習値の重みつき平均値で学習値が更新され、
前記第１の学習では、現在格納されている学習値を用いることなく今回学習された学習値で学習値が更新されるか、あるいは現在格納されている学習値と今回学習された学習値の重みつき平均値で学習値が更新され、
前記第２の学習における現在格納されている学習値の重みは、前記第１の学習における現在格納されている学習値の重みよりも大きくなるよう設定されていることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
前記第２の学習において、高負荷側の学習回数と低負荷側の学習回数とが所定回数以上乖離した場合には、高負荷側の学習回数と低負荷側の学習回数との差を小さくするべく第２の学習が実施されるように、内燃機関の運転状態を変更することを特徴とする請求項１または２に記載の内燃機関の制御装置。
【請求項４】
前記車両は、所定の運転条件が成立した場合に燃料噴射を停止することにより内燃機関を停止するアイドルストップ制御を行う車両であり、前記車両の工場出荷時及び出荷後の工場での整備時に、外部からの学習指令信号により前記第２の学習を実施することが可能であることを特徴とする請求項１〜３のいずれかに記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、空燃比制御を行う内燃機関の制御装置に関する。
【背景技術】
【０００２】
例えば、特許文献１には、理論空燃比による運転（ストイキ運転）と希薄空燃比による運転（リーン運転）とが運転可能な内燃機関において、蒸発燃料処理装置からのパージガスにより影響されることなく、リーン運転時にオープン制御により空燃比を最適に制御する内燃機関の空燃比制御装置が開示されている。
【０００３】
この特許文献１においては、燃料噴射量を算出する際に、空燃比の学習補正値を併用している。この学習補正値は、ベース学習値（パージガス非導入時対応学習値）と、通常学習値（バージガス導入時対応学習値）の２種類であり、これらの学習値は、それぞれベース学習マップあるいは通常学習マップを用いて学習される。これら学習マップは、運転状態を複数の領域に分割してなる各学習領域毎に学習値が割り当てられたものであり、例えば、オーバーリーンを防止するガード値としてベース学習値を使用し、ベース学習値の精度をあまり必要としない場合には、全運転領域を少ない数の学習領域でカバーすることで、ベース学習を速く収束させることが可能となっている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２１７４７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、始動時において、排気センサが活性化するまで空燃比をオープン制御し、排気センサが活性化すると空燃比をフィードバック制御するような場合において、空燃比をオープン制御する際の制御値に対してフィードバック制御に用いる学習値より学習条件が多い中で学習した学習値を用いて補正しようとすると、学習条件を多くした分オープン制御に用いる学習値を学習する機会が得られにくくなるという、従来には無かった新たな課題が生じる。すなわち、学習値を用いた空燃比制御については改良の余地があり、空燃比制御の制御精度の更なる向上を図れる可能性がある。
【課題を解決するための手段】
【０００６】
そこで、本発明は、空燃比をフィードバック制御する際に第１の空燃比学習値を用い、空燃比をオープン制御する際に前記第１の空燃比学習値の学習を実施する際の条件よりも学習条件が多い第２の空燃比学習値を用いる内燃機関の制御装置において、前記各空燃比学習値は、負荷と機関回転数で定まる運転状態をそれぞれ複数の領域に分割してなる各学習領域毎に格納されたものであり、前記第１の空燃比学習値を格納する学習領域は、前記第２の空燃比学習値を格納する学習領域より粗く分割されていることを特徴としている。
【発明の効果】
【０００７】
本発明によれば、運転状態を複数の領域に分割するにあたって、前記第１の空燃比学習値を格納するべく分割する場合に比べて、前記第２の空燃比学習値を格納するべく分割する場合の方が、粗く分割されているので、学習条件の多い第２の学習を完了させ易くなり、学習値を用いた空燃比制御の制御精度を運転状態全体として向上させることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明が適用される内燃機関のシステム構成を模式的に示した説明図。
【図２】第１の空燃比学習値マップを模式的に示した説明図。
【図３】第２の空燃比学習値マップを模式的に示した説明図。
【図４】本発明が適用された空燃比制御を模式的に示した説明図。
【図５】第２の学習のうち、ＴＰＴＲＩ外領域（第２の学習のパーシャル運転領域）の学習を模式的に示した説明図。
【図６】第２の学習を実施する際の制御の流れの概略を示すフローチャート。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態を図面に基づいて詳細に説明する。
【００１０】
図１は、本発明が適用される内燃機関のシステム構成を模式的に示した説明図である。
【００１１】
内燃機関１の燃焼室（図示せず）には、吸気通路２及び排気通路３が接続されており、吸気通路２には、吸入空気量Ｑａを検出するエアフローメータ４、吸入空気量Ｑａを制御するスロットル弁５及び燃料を噴射供給する燃料噴射弁６が配置され、排気通路３には、排気中の空燃比を検出する空燃比センサ７が配置されている。
【００１２】
空燃比センサ７は、空燃比のリッチ，リーンに応じて出力電圧が急変するものであって、この空燃比センサ７からの信号に基づいて空燃比フィードバック補正係数αが算出される。
【００１３】
燃料噴射弁６は、ＥＣＵ（エンジンコントロールユニット）８から機関回転に同期して所定のタイミングで出力される駆動パルス信号により開弁し、所定圧力に調圧された燃料を噴射するようになっている。
【００１４】
また、吸気通路２には、スロットル弁５の下流側に、燃料タンク９で発生した蒸発燃料を導入するパージ通路１０が接続されている。このパージ通路１０は、パージ制御弁１１が介装されていると共に、燃料タンク９から発生する蒸発燃料を処理すべく設けられたキャニスタ１２に接続されている。
【００１５】
キャニスタ１２は、密閉容器内に活性炭などの吸着剤１３を充填したもので、パージの際に新気を取り込む新気導入口１４を有し、燃料タンク９内で発生した蒸発燃料を導入する蒸発燃料導入管１５が接続されている。従って、内燃機関１の停止中に燃料タンク９にて発生した蒸発燃料は、蒸発燃料導入管１５を通って、キャニスタ１２に導かれ、ここに吸着される。
【００１６】
パージ制御弁１１は、ＥＣＵ８から内燃機関１の運転中に所定の条件で出力される信号により開弁するようになっている。従って、内燃機関１が始動され、その後の運転中に、所定のパージ許可条件が成立すると、パージ制御弁１１が開き、内燃機関１の吸入負圧がキャニスタ１２に作用する結果、新気導入口１４から導入される空気によってキャニスタ１２の吸着剤１３に吸着されていた蒸発燃料が脱離され、この脱離した蒸発燃料を含むパージガスがパージ通路１０を通って吸気通路２のスロットル弁５下流に導入され、この後、内燃機関１のシリンダ内で燃焼処理される。
【００１７】
ＥＣＵ８は、マイクロコンピュータを内蔵し、内燃機関１の種々の制御を行うものであって、各種のセンサからの信号を基に処理を行うようになっている。これら各種のセンサとしては、前述のエアフローメータ４や空燃比センサ７のほかに、クランク角度と共に機関回転数Ｎｅを検出可能なクランク角センサ１６、スロットル弁５の開度ＴＶＯを検出するスロットルセンサ１７（スロットル弁５の全閉位置でＯＮとなるアイドルスイッチを含む）、内燃機関１の冷却水温Ｔｗを検出する水温センサ１８、アクセルペダルの踏み込み量を検出するアクセル開度センサ１９、車両速度を検出する車速センサ２０等からの信号が入力されている。
【００１８】
また、このＥＣＵ８には、工場出荷時や整備工場等において外部指令信号が作業者によって入力可能となっている。この外部指令信号は、作業者が電子システム診断テスタいわゆるコンサルト２１を車両に設けられたコンサルト接続コネクタ２２に接続し、このコンサルト２１に設けられたスイッチやボタン等を操作することにより、ＥＣＵ８に入力されるものである。
【００１９】
そして、このＥＣＵ８は、所定のアイドルストップ条件が成立すると、燃料噴射を停止することにより内燃機関１を停止するいわゆるアイドルストップを実施する。例えば冷却水温Ｔｗ及びブレーキ油圧が所定値以上、車速およびアクセル開度が所定値以下、並びに機関回転数Ｎｅがアイドル回転数と等しいなどの条件が成立したときにアイドルストップ条件が成立したものとしてして、アイドルストップが実施される。
【００２０】
また、ＥＣＵ８は、空燃比センサ７が活性化していない時（例えば内燃機関の始動時）には内燃機関１の空燃比が目標空燃比となるようにオープン制御し、空燃比センサ７が活性化すると内燃機関１の空燃比が目標空燃比となるようにフィードバック制御する。すなわち、ＥＣＵ８は、次式（１）を用いて燃料噴射量Ｔｉを算出し、内燃機関１の空燃比が目標空燃比となるように空燃比制御を実施する。
【００２１】
（数１）
Ｔｉ＝Ｔｐ×ＴＦＢＹＡ×α×ＫＢＬＲＣＡ  …（１）
ここで、Ｔｐは基本燃料噴射量、ＴＦＢＹＡは燃空比相当量、αは空燃比フィードバック補正係数、ＫＢＬＲＣＡは空燃比学習補正値である。尚、空燃比フィードバック補正係数αは、オープン制御時には「１」にクランプされる。基本燃料噴射量Ｔｐは、吸入空気量Ｑａ、機関回転数Ｎｅ及び定数Ｋを用いて算出される。Ｔｐ＝Ｋ×Ｑａ／Ｎｅ。燃空比相当量ＴＦＢＹＡは、目標空燃比が理論空燃比の場合には「１」となり、目標空燃比をリーン側にする場合には１よりも小さな値となり、目標空燃比をリッチ側にする場合には１よりも大きな値となるものである。空燃比学習補正値ＫＢＬＲＣＡは、第１の空燃比学習値ＫＢＬＲＣＡＳ（詳細は後述）と第２の空燃比学習値ＫＢＬＲＣＡＬ（詳細は後述）を用いて算出されるものであり、空燃比をフィードバック制御している際には、ＫＢＬＲＣＡ＝ＫＢＬＲＣＡＳ＋ＫＢＬＲＣＡＬであり、空燃比をオープン制御している際には、ＫＢＬＲＣＡ＝ＫＢＬＲＣＡＬとなっている。
【００２２】
つまり、この空燃比制御においては、空燃比をフィードバック制御している際には、第１の空燃比学習値ＫＢＬＲＣＡＳと第２の空燃比学習値ＫＢＬＲＣＡＬを用いて空燃比が目標空燃比となるように燃料噴射量Ｔｉを補正し、空燃比をオープン制御している際には、第２の空燃比学習値ＫＢＬＲＣＡＬを用いて空燃比が目標空燃比となるように燃料噴射量Ｔｉを補正している。後述するように第２の空燃比学習値ＫＢＬＲＣＡＬは、その時々の条件（運転条件や環境条件）の影響をなるべく受けないようにして、内燃機関のバラツキや劣化の影響を抽出して反映させた学習値とされているのに対して、第１の空燃比学習値ＫＢＬＲＣＡＳはその時々の条件の影響を織り込んだ学習値とされている。このような空燃比学習値の組合せを採るときに、本実施形態では第１の空燃比学習値ＫＢＬＲＣＡＳを学習するときの燃料噴射量を、第２の空燃比学習値ＫＢＬＲＣＡＬを用いて算出し、内燃機関のバラツキや劣化の影響は第２の空燃比学習値ＫＢＬＲＣＡＬによって解消した上で、その時々の条件（運転条件や環境条件）の影響を第１の空燃比学習値ＫＢＬＲＣＡＳによって解消する構成をとる。このようにして、空燃比をフィードバック制御している際には、フィードバック制御する際の学習補正値（請求項における第１の空燃比学習値）として第１の空燃比学習値ＫＢＬＲＣＡＳと第２の空燃比学習値ＫＢＬＲＣＡＬの合算値を用い、空燃比をオープン制御している際には、オープン制御する際の学習補正値（請求項における第２の空燃比学習値）として第２の空燃比学習値ＫＢＬＲＣＡＬを用いる。このような構成を採れば、例えば内燃機関の運転開始直後のフィードバック制御において第１の学習を実施することができると、内燃機関のバラツキや劣化の影響を修正するための学習結果がオープン制御だけでなくフィードバック制御にも速やかに反映させることができる。
【００２３】
第１の空燃比学習値ＫＢＬＲＣＡＳ及び第２の空燃比学習値ＫＢＬＲＣＡＬは、それぞれ異なる学習値マップに格納されている。各学習値マップは、燃料噴射量Ｔｉ（負荷）と機関回転数Ｎｅで定まる機関運転状態をそれぞれ複数の領域に分割されており、各学習領域毎に学習値が格納されている。
【００２４】
第１の空燃比学習値ＫＢＬＲＣＡＳは、第１の学習の許可条件が成立したときに更新される。学習は、例えば空燃比フィードバック補正係数αの所定期間内の平均値を用いて、今まで学習領域に格納されていた学習値を更新することにより実施される。第１の学習の許可条件は、例えば、内燃機関１の空燃比を理論空燃比（ＴＦＢＹＡ＝１）とするフィードバック制御中であり、内燃機関１の冷却水温Ｔｗが予め設定された所定温度（例えば７０℃）以上のときに成立する。尚、第１の学習の許可条件は、パージ制御弁１１の開閉状態にかかわらず成立可能なものである。すなわち、第１の学習はパージが禁止される場合に行なっても構わない。従って、第１の学習は、その時々の条件（運転・環境）の影響を反映させた学習となっている。
【００２５】
第１の空燃比学習値ＫＢＬＲＣＡＳは、空燃比フィードバック補正係数αの平均値、あるいは、第１の空燃比学習値マップに今まで格納されていた学習値と空燃比フィードバック補正係数αの平均値との重みつき平均値に置き換えられることで更新され、第１の空燃比学習値マップの所定位置（所定領域）に格納される。
【００２６】
第１の空燃比学習値マップは、ＥＣＵ８に記憶させておくものであり、図２に示すように、燃料噴射量Ｔｉ（負荷）と機関回転数Ｎｅで定まる運転状態を複数の領域に格子状に分割してなる各学習領域毎（本実施形態では１６個の学習領域毎）に第１の空燃比学習値ＫＢＬＲＣＡＳが格納されている。
【００２７】
第２の空燃比学習値ＫＢＬＲＣＡＬは、第１の学習に比べて学習を実施する際の条件が多い第２の学習の許可条件が成立したときに更新される。第２の学習の許可条件は、例えば、内燃機関１の空燃比を理論空燃比（ＴＦＢＹＡ＝１）とするフィードバック制御中であり、内燃機関１の冷却水温Ｔｗが予め設定された所定温度（例えば７０℃）以上、キャニスタ１２から吸気通路２に導入される蒸発燃料の濃度が所定値以下の場合のときに成立する。
【００２８】
例えば、第２の学習の許可条件が成立し、第２の学習を実施するのは、パージ制御弁１１が閉じられ、キャニスタ１２のパージが禁止されるときである。また、キャニスタ１２の燃料吸着量を推定し、燃料吸着量が低下しているときにはパージ中であってもキャニスタ１２から吸気通路２に導入される蒸発燃料の濃度は十分低下していると判断し、第２の学習の許可条件を成立させても良い。従って、第２の学習は、第１の学習に比べて、内燃機関のバラツキや劣化の影響を抽出して反映させた学習となっている。
【００２９】
第２の空燃比学習値ＫＢＬＲＣＡＬは、第２の空燃比学習値マップに今まで格納されていた学習値と空燃比フィードバック補正係数αの平均値との重みつき平均値に置き換えられることで更新され、第２の空燃比学習値マップの所定位置（所定領域）に格納される。そして、学習値を更新するにあたって、第２の学習における前回の学習値の重みは、第１の学習における前回の学習値の重みよりも大きくなるよう設定されている。例えば、重みつき平均値を算出するにあたって、第２の学習では今回求めた空燃比フィードバック補正係数αの平均値よりも、前回値の重みのほうが大きくなるよう設定し、第１の学習では今回求めた空燃比フィードバック補正係数αの平均値よりも、前回値の重みのほうが小さくなるよう設定することなどができる。第１の学習で、学習値が空燃比フィードバック補正係数αの平均値にそのまま置き換えられる場合、前回値の重みはゼロである。このようにして、第２の学習においては、学習を実施する際の条件が多いだけでなく、学習のその時々の条件（運転条件や環境条件）の影響をなるべく受けないように前回値の重みを大きく重みつけすることで、内燃機関のバラツキや劣化の影響を抽出して反映させた学習を行なうようになっている。これにより、フィードバックの効かないオープン制御では、内燃機関のバラツキや劣化の影響を抽出した第２の空燃比学習値を用いるので、空燃比が目標値から大きく外れるのを回避して安定した学習補正を行なうことができ、フィードバック制御では、その時々の条件に応じた木目細かな学習補正によりフィードバック制御開始直後から制御精度を向上させることができる。万一学習補正値が今の条件に合わないケースが発生したとしても、フィードバック制御中だから修正が可能である。
【００３０】
第２の空燃比学習値マップは、ＥＣＵ８に記憶させておくものであり、燃料噴射量Ｔｉ（負荷）及び機関回転数Ｎｅが相対的に小さいアイドル運転領域（第１運転領域）と燃料噴射量Ｔｉ（負荷）及び機関回転数Ｎｅが相対的に大きいパーシャル運転領域（第２運転領域）の２つの学習領域に第２の空燃比学習値ＫＢＬＲＣＡＬがそれぞれ格納されている。つまり、運転状態を複数の領域に分割するにあたり、第１の学習の学習値を格納するべく分割した第１の空燃比学習値マップに比べて、第２の学習の学習値を格納するべく分割した第２の空燃比学習値マップの方が、粗く分割されている。
【００３１】
詳述すると、第２の空燃比学習値マップは、図３に示すように、縦軸を燃料噴射量Ｔｉ（負荷）、横軸を機関回転数Ｎｅとして、燃料噴射量Ｔｉが、そのときの機関回転数Ｎｅによって決まる閾値ＴＰＴＲＩよりも小さい領域であるＴＰＴＲＩ領域（第２の学習のアイドル運転領域）と、燃料噴射量Ｔｉが閾値ＴＰＴＲＩよりも大きい領域であるＴＰＴＲＩ外領域（第２の学習のパーシャル運転領域）とに分割されている。
【００３２】
そして、第２の学習の許可条件が成立した際の運転状態が、第２の空燃比学習値マップにおけるＴＰＴＲＩ領域（第２の学習のアイドル運転領域）である場合には、上述したように、ＴＰＴＲＩ領域に格納されている学習値と空燃比フィードバック補正係数αを用いて、ＴＰＴＲＩ領域に格納される第２の空燃比学習値ＫＢＬＲＣＡＬＩを更新する。また、第２の学習の許可条件が成立した際の運転状態が、第２の空燃比学習値マップにおけるＴＰＴＲＩ外領域（第２の学習のパーシャル運転領域）である場合には、上述したように、ＴＰＴＲＩ外領域に格納されている学習値と空燃比フィードバック補正係数αを用いて、ＴＰＴＲＩ外領域に格納される第２の空燃比学習値ＫＢＬＲＣＡＬＰを更新する。尚、本実施形態においては、第２の空燃比学習値マップのＴＰＴＲＩ外領域は、冷機始動後のハイアイドル状態を含むものである。
【００３３】
図４は、本実施形態における空燃比制御を模式的に示した説明図である。
【００３４】
区間Ａは、空燃比センサ７が活性化していないため、空燃比をオープン制御している区間である。この区間Ａにおける内燃機関１の運転状態は、冷機始動後のハイアイドル状態であったため、第２の空燃比学習値マップにおけるＴＰＴＲＩ外領域（第２の学習のパーシャル運転領域）に格納された第２の空燃比学習値ＫＢＬＲＣＡＬＰが、結果的に空燃比学習補正値ＫＢＬＲＣＡとなる。尚、この区間Ａにおいては、機関回転数Ｎｅが高いのは、冷却水温Ｔｗが低い冷機始動時のため（ハイアイドル状態のため）である。
【００３５】
区間Ｂは、空燃比センサ７が活性化しているため、空燃比をフィードバック制御している区間である。この区間Ｂにおいては、第１の空燃比学習値ＫＢＬＲＣＡＳと第２の空燃比学習補正値ＫＢＬＲＣＡとの和が、結果的に空燃比学習補正値ＫＢＬＲＣＡとなる。
【００３６】
区間Ｃは、車両が一時停止した際に、所定のアイドルストップ条件が成立して内燃機関１が停止している区間である。
【００３７】
区間Ｄは、空燃比センサ７が活性化していないため、空燃比をオープン制御している区間である。この区間Ｄにおける内燃機関１の運転状態は、暖機完了後のアイドル状態であったため、第２の空燃比学習値マップにおけるＴＰＴＲＩ領域（第２の学習のアイドル運転領域）に格納された第２の空燃比学習値ＫＢＬＲＣＡＬＩが、結果的に空燃比学習補正値ＫＢＬＲＣＡとなる。尚、この区間Ｄにおいて機関回転数Ｎｅが相対的に低くなっているのは、上述した区間Ａとは異なり、冷却水温Ｔｗが高い暖機始動時のためである。
【００３８】
図５は、本実施形態のおける第２の学習のうち、ＴＰＴＲＩ外領域（第２の学習のパーシャル運転領域）の学習を模式的に示した説明図である。
【００３９】
本実施形態において、第２の学習は、ＴＰＴＲＩ領域及びＴＰＴＲＩ外領域ともに、１トリップ（内燃機関１の始動から停止までの間）に、多くても１回、学習値の更新を実施する。すなわち、エンジンキーＯＮ状態となっている１トリップ中に、第２の学習の許可条件が成立すると、第２の学習を実施し、第２の学習が完了すると第２の空燃比学習値ＫＢＬＲＣＡＬＰを更新する。第２の空燃比学習値ＫＢＬＲＣＡＬＰを更新されると、更新カウンタが１つカウントされる。
【００４０】
尚、図５における第２の学習の許可条件は、一例として冷却水温Ｔｗを示したものであり、ｔ１、ｔ２、ｔ３のタイミングで、冷却水温Ｔｗが所定温度に達し、第２の学習の許可条件が成立し、第２の学習が実施され、完了して、第２の空燃比学習値ＫＢＬＲＣＡＬＰが更新されている。
【００４１】
また、本実施形態においては、第２の学習におけるＴＰＴＲＩ外領域の学習回数とＴＰＴＲＩ領域の学習回数とが所定回数以上乖離した場合には、ＴＰＴＲＩ外領域の学習回数とＴＰＴＲＩ領域の学習回数との差を小さくするべく、第２の学習が実施されるように運転状態が変更される。具体的には、キャニスタ１２から蒸発燃料を吸気管に導入するパージの許可条件が成立していたとしても、パージを禁止して第２の学習が実施できるようにする。さらに、アイドルストップ条件が成立し、本来ならばアイドルストップが実施されるような場面で、アイドルストップを禁止し、第２の学習におけるＴＰＴＲＩ領域の学習が実施できるように制御されている。第２の学習において、ＴＰＴＲＩ外領域の学習回数とＴＰＴＲＩ領域の学習回数とが所定回数以上乖離する主要因は、内燃機関１のアイドルストップ制御によりＴＰＴＲＩ領域の学習が実施されないことが原因の１つと考えられる。
【００４２】
このように、内燃機関１がアイドルストップ制御を実施する車両では、第２の学習におけるＴＰＴＲＩ領域の学習機会が得られ難いことから、本実施形態においてはさらに、工場出荷時や整備工場等において、内燃機関１をアイドル状態で試運転する際に、作業者が前述のコンサルト２１（電子システム診断テスタ）を車両に設けられたコンサルト接続コネクタ２２接続し、このコンサルト２１を操作してＥＣＵ８に外部指令信号を入力することによって、予め第２の学習におけるＴＰＴＲＩ領域の学習が実施できるように設定されている。
【００４３】
図６は、第２の学習を実施する際の制御の流れの概略を示すフローチャートである。図６において、Ｓ２〜Ｓ９は、工場出荷時や整備工場等に実施される第２の学習のＴＰＴＲＩ領域の学習の制御の流れを示し、Ｓ１１〜Ｓ１８は、車両走行中に実施される第２の学習のＴＰＴＲＩ領域の学習の制御の流れを示し、Ｓ１９〜Ｓ２４は、車両走行中に実施される第２の学習のＴＰＴＲＩ外領域の学習の制御の流れを示している。尚、第２の学習制御と並行して第１の学習制御が実施され、第１の学習の許可条件が成立したときに第１の学習値が更新される。第１の学習自体は、従来の空燃比学習補正値の学習更新と同様の構成を採ることができる。
【００４４】
Ｓ１では、ＥＣＵ８に対して外部からの学習指令信号が入力されたか、すなわちコンサルト２１を操作することによってＥＣＵ８に外部指令信号を入力されたか否かを判定し、外部指令信号を入力された場合はＳ２へ進み、そうでない場合はＳ１０へ進む。
【００４５】
Ｓ２では、第２の学習のＴＰＴＲＩ領域学習完了フラグが「１」であるか否かを判定し、第２の学習のＴＰＴＲＩ領域学習完了フラグ＝０であればＳ３へ進み、第２の学習のＴＰＴＲＩ領域学習完了フラグ＝１であれば今回のルーチンを終了する。ここで、ＴＰＴＲＩ領域学習完了フラグは、エンジンキーオン時、すなわち内燃機関１の始動時にクリアされる（「０」となる）ものであって、第２の学習のＴＰＴＲＩ領域の学習が完了すると「１」となるものである。
【００４６】
Ｓ３では、学習に関する全学習値をクリアして初期値に戻す。すなわち、全ての第２の空燃比学習値ＫＢＬＲＣＡＬ（ＫＢＬＲＣＡＬＩ及びＫＢＬＲＣＡＬＰ）を初期値に戻すと共に、全ての第１の空燃比学習値ＫＢＬＲＣＡＳを初期値に戻す。
【００４７】
Ｓ４では、アイドルストップ条件が成立しても、内燃機関１がアイドルストップすることを禁止し、Ｓ５へ進む。
【００４８】
Ｓ５では、第２の学習の許可条件が成立したか否かを判定し、成立した場合にはＳ６へ進み、成立していない場合には今回のルーチンを終了する、
Ｓ６では、キャニスタ１２のパージを禁止してＳ７へ進む。
【００４９】
Ｓ７では、第２の学習のＴＰＴＲＩ領域における学習を実施し、学習値を更新してＳ８へ進む。Ｓ７にて第２の空燃比学習値ＫＢＬＲＣＡＬＩを学習する場合、第２の空燃比学習値マップのＴＰＴＲＩ領域に格納されている第２の空燃比学習値ＫＢＬＲＣＡＬＩは初期値であり、このときの空燃比フィードバック補正係数αを用いて導き出された値と、第２の空燃比学習値マップに格納されている学習値（初期値）との重みつき平均値を新たな第２の空燃比学習値ＫＢＬＲＣＡＬＩとして更新する。
【００５０】
Ｓ８では、第２の学習のＴＰＴＲＩ領域学習完了フラグが「０」であるなら第２の学習のＴＰＴＲＩ領域学習完了フラグを「１」とする。
【００５１】
Ｓ９では、第２の学習のＴＰＴＲＩ領域の学習回数を一つカウントアップし、今回のルーチンを終了する。
【００５２】
Ｓ１０では、現在の運転領域がＴＰＴＲＩ領域であるか否かを判定し、現在の運転領域がＴＰＴＲＩ領域であるならＳ１１へ進み、現在の運転領域がＴＰＴＲＩ領域でない（現在の運転領域がＴＰＴＲＩ外領域）ならＳ１９へ進む。
【００５３】
Ｓ１１では、第２の学習のＴＰＴＲＩ領域学習完了フラグが「１」であるか否かを判定し、第２の学習のＴＰＴＲＩ領域学習完了フラグ＝０であればＳ１２へ進み、第２の学習のＴＰＴＲＩ領域学習完了フラグ＝１であれば今回のルーチンを終了する。尚、このＳ１１における第２の学習のＴＰＴＲＩ領域学習完了フラグも、Ｓ２における第２の学習のＴＰＴＲＩ領域学習完了フラグと同様に、エンジンキーオン時、すなわち内燃機関１の始動時にクリアされる（「０」となる）ものであって、第２の学習のＴＰＴＲＩ領域の学習が完了すると「１」となるものである。
【００５４】
Ｓ１２では、第２の学習におけるＴＰＴＲＩ外領域の学習回数と、第２の学習におけるＴＰＴＲＩ領域の学習回数とが、所定回数以上乖離したか否かを判定し、所定回数以上乖離している場合にはＳ１３へ進んでアイドルストップを禁止し、そうでない場合にはＳ１４へ進む。
【００５５】
Ｓ１４では、第２の学習の許可条件が成立したか否かを判定し、成立した場合にはＳ１５へ進み、成立していない場合には今回のルーチンを終了する。第２の学習の許可条件が成立した場合、第２の学習制御と並行して実施されている第１の学習制御において、第１の学習値を更新しないようにするとともに、第２の学習の許可条件が成立しなかった場合、第２の学習制御と並行して実施されている第１の学習制御において、学習の許可条件が成立していれば第１の学習値が更新させる。
【００５６】
Ｓ１５では、キャニスタ１２のパージを禁止してＳ１６へ進む。
【００５７】
Ｓ１６では、第２の学習のＴＰＴＲＩ領域における学習を実施し、学習値を更新してＳ１７へ進む。Ｓ１６にて第２の空燃比学習値ＫＢＬＲＣＡＬＩを学習する場合、このときの空燃比フィードバック補正係数αを用いて導き出された値と、第２の空燃比学習値マップに格納されている学習値（前回値）との重みつき平均値を新たな第２の空燃比学習値ＫＢＬＲＣＡＬＩとして更新する。
【００５８】
Ｓ１７では、第２の学習のＴＰＴＲＩ領域学習完了フラグが「０」であるなら第２の学習のＴＰＴＲＩ領域学習完了フラグを「１」とする。
【００５９】
Ｓ１８では、第２の学習のＴＰＴＲＩ領域の学習回数を一つカウントアップし、今回のルーチンを終了する。
【００６０】
Ｓ１９では、第２の学習のＴＰＴＲＩ外領域学習完了フラグが「１」であるか否かを判定し、第２の学習のＴＰＴＲＩ外領域学習完了フラグ＝０であればＳ２０へ進み、第２の学習のＴＰＴＲＩ外領域学習完了フラグ＝１であれば今回のルーチンを終了する。ここで、ＴＰＴＲＩ外領域学習完了フラグは、エンジンキーオン時、すなわち内燃機関１の始動時にクリアされる（「０」となる）ものであって、第２の学習のＴＰＴＲＩ外領域の学習が完了すると「１」となるものである。
【００６１】
Ｓ２０では、第２の学習の許可条件が成立したか否かを判定し、成立した場合にはＳ２１へ進み、成立していない場合には今回のルーチンを終了する、
Ｓ２１では、キャニスタ１２のパージを禁止してＳ２２へ進む。
【００６２】
Ｓ２２では、第２の学習のＴＰＴＲＩ外領域における学習を実施し、学習値を更新してＳ２３へ進む。Ｓ２２にて第２の空燃比学習値ＫＢＬＲＣＡＬＰを学習する場合、このときの空燃比フィードバック補正係数αを用いて導き出された値と、第２の空燃比学習値マップに格納されている学習値（前回値）との重みつき平均値を新たな第２の空燃比学習値ＫＢＬＲＣＡＬＰとして更新する。
【００６３】
Ｓ２３では、第２の学習のＴＰＴＲＩ外領域学習完了フラグが「０」であるなら第２の学習のＴＰＴＲＩ外領域学習完了フラグを「１」とする。
【００６４】
Ｓ２４では、第２の学習のＴＰＴＲＩ外領域の学習回数を一つカウントアップし、今回のルーチンを終了する。
【００６５】
尚、Ｓ９、Ｓ１８、Ｓ２４におけるカウントは、エンジンキーオン時、もしくはエンジンキーオフ時にクリアされるものではなく、Ｓ３においてのみカウント値がクリアされるものとする。
【００６６】
また、上述したＳ１６及びＳ２２においては、今回学習値と前回値との重みつき平均値が、前回値に対して予め設定された所定値以上乖離している場合には、前回値に対する乖離が所定値となるように重みつき平均値にリッミタ処理を施すようにしてもよい。また、第２の空燃比学習値ＫＢＬＲＣＡＬを学習するにあたり、第２の学習の許可条件が成立している所定期間の間（例えば、リッチからリーンの反転回数と、リーンからリッチへの反転回数との和が所定回数以上となるまでの間）に、前回値とこのときの空燃比フィードバック補正係数αを用いて複数個の今回学習値を演算し、これら複数個の今回学習値の平均値と、第２の空燃比学習値マップに格納されている学習値（前回値）との重みつき平均値を新たな第２の空燃比学習値ＫＢＬＲＣＡＬとして更新するようにしてもよい。
【００６７】
そして、Ｓ１５、Ｓ２１においてキャニスタ１２のパージを禁止するに当たっては、パージ禁止の期間が長くなりすぎないようにリミットタイマーを設定するようにしてもよい。すなわち、パージが禁止される期間が予め設定された所定期間を超えた場合には、キャニスタ１２のパージの禁止を解除し、今回のトリップにおける第２の学習を中止するように設定することも可能である。
【００６８】
このような本実施形態においては、運転状態毎に第１の空燃比学習値ＫＢＬＲＣＡＳが格納された第１の空燃比学習値マップに比べて、運転状態毎に第２の空燃比学習値ＫＢＬＲＣＡＬが格納された第２の空燃比学習値マップの方が、運転状態を複数の領域に分割するにあたり粗く分割されている。そのため、学習条件の多い第２の学習を完了させ易くなるため、第１の空燃比学習値ＫＢＬＲＣＡＳを用いた空燃比のフィードバック制御で目標空燃比への収束性を高めつつ、オープン制御に用いられる第２の空燃比学習値ＫＢＬＲＣＡＬの精度低下を防止して、空燃比のオープン制御時の制御精度の低下を防止することができ、学習値を用いた空燃比制御の制御精度を運転状態全体として向上させることができる。
【００６９】
そして、学習値を更新するにあたって、第２の学習における前回の学習値の重みは、第１の学習における前回の学習値の重みよりも大きくなるよう設定されているので、第２の学習においては、今回の学習値の更新度合を抑えられ、一時的なノイズの影響を受けたかもしれない今回の学習結果の反映度合を減らすことができる。つまり、第２の空燃比学習値ＫＢＬＲＣＡＬを更新するにあたっては、学習値の安定性を優先させることができる。
【００７０】
また、第２の学習におけるＴＰＴＲＩ外領域の学習回数とＴＰＴＲＩ領域の学習回数とが所定回数以上乖離した場合には、第２の学習におけるＴＰＴＲＩ領域の学習が実施されやすいように内燃機関のアイドルストップが禁止されているので、第２の学習の全体的な学習回数を確保することができ、第２の空燃比学習値ＫＢＬＲＣＡＬＩの精度を向上させることができる。
【００７１】
さらに、コンサルト２１を操作してＥＣＵ８に外部指令信号を入力することによって、工場出荷時や整備工場等において、アイドルストップ制御を実施する車両において走行中に学習機会が得られ難い第２の空燃比学習値ＫＢＬＲＣＡＬＩの学習を予め実施することが可能なので、第２の空燃比学習値ＫＢＬＲＣＡＬＩが得られていない状態で運転されてしまうことを防止することができる
尚、本発明は、吸入空気量Ｑａをスロットル弁５の開度によって制御する内燃機関１にのみ適用されるものではなく、吸入空気量Ｑａを吸気弁のバルブタイミングによって制御する内燃機関に適用することも可能である。
【００７２】
また、上述した空燃比センサ７は、空燃比の値に応じた出力が得られる広域型空燃比センサであってもよい。
【符号の説明】
【００７３】
１…内燃機関
２…吸気通路
３…排気通路
４…エアフローメータ
７…空燃比センサ
８…ＥＣＵ
１２…キャニスタ
２１…コンサルト
２２…コンサルト接続コネクタ
【図１】
2011179407.tif 000003
【図２】
2011179407.tif 000004
【図３】
2011179407.tif 000005
【図４】
2011179407.tif 000006
【図５】
2011179407.tif 000007
【図６】
2011179407.tif 000008