(57)【要約】【課題】フレキシブルフューエルビークルにおいて、サブフィードバック学習制御の誤学習を防止し、それによって排気エミッションの悪化を防止する空燃比制御装置を提供する。【解決手段】三元触媒２０の上流排気通路内及び下流排気通路内に配置された空燃比センサ２３及び酸素センサ２４を具備し、空燃比センサの出力値に基づいて燃料供給量を補正するメインフィードバック制御と、酸素センサの出力値に基づいて燃料供給量を補正するサブフィードバック制御と、アルコール濃度補正学習値を学習するアルコール濃度補正学習制御と、サブフィードバック制御における補正値に基づいて算出された学習値を学習するサブフィードバック学習制御とを実行し、アルコール濃度補正学習値が収束したことを予め定められた少なくとも一つの収束判定条件に基づいて判定し、収束判定条件が成立しない間はサブフィードバック学習制御による学習を禁止する。【選択図】図１
2009144568.tif 000002
【特許請求の範囲】
【請求項１】
燃料としてアルコールとガソリンとをそれぞれ単独で又は混合して使用可能な内燃機関の空燃比制御装置であって、機関排気通路内に設けられた排気浄化触媒の上流排気通路内及び下流排気通路内にそれぞれ配置され且つ排気ガスの空燃比を検出する上流側空燃比センサ及び下流側空燃比センサと、前記上流側空燃比センサの出力値が目標空燃比に対応する値となるようにフィードバック補正値に基づいて燃料供給量を補正するメインフィードバック制御手段と、前記上流側空燃比センサの出力値に基づく排気空燃比と実際の排気空燃比とのずれを補償すべく前記下流側空燃比センサの出力値に基づいて排気空燃比が目標空燃比となるように燃料供給量を補正するサブフィードバック制御手段と、前記フィードバック補正値に基づいて算出されたアルコール濃度補正学習値を学習すると共にそれに基づいて前記燃料供給量を補正するアルコール濃度補正学習制御手段と、前記サブフィードバック制御手段における補正値に基づいて算出された学習値を学習すると共にそれに基づいて前記燃料供給量を補正するサブフィードバック学習制御手段とを具備する内燃機関の空燃比制御装置において、前記アルコール濃度補正学習値が収束したことを予め定められた少なくとも一つの収束判定条件に基づいて判定する収束判定手段を更に具備し、前記収束判定条件が成立しない間は前記サブフィードバック学習制御手段による学習を禁止する内燃機関の空燃比制御装置。
【請求項２】
前記フィードバック補正値と前記アルコール濃度補正学習値とに基づき該アルコール濃度補正学習値が収束すると推定される値であるアルコール濃度補正学習値収束先推定値を求める手段を更に具備し、前記少なくとも一つの収束判定条件は、前記アルコール濃度補正学習値収束先推定値と前記アルコール濃度補正学習値との差が予め定められたアルコール濃度補正学習値収束判定値未満のとき成立する請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
機関始動前に給油の有無を判定する給油有無判定手段を更に具備し、機関始動前に給油が有ったときにのみ、前記少なくとも一つの収束判定条件に基づく判定が行われる請求項１又は２に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は内燃機関の空燃比制御装置に関する。
【背景技術】
【０００２】
ガソリンの他にアルコールとガソリンの各種組成の混合燃料でも走行可能な、いわゆるフレキシブルフューエルビークル（ＦＦＶ）と称される自動車がある。アルコールは、通常のガソリンと比べてＣ（炭素）原子の含有量が異なるため、フレキシブルフューエルビークルに用いられる内燃機関にアルコールとガソリンの混合燃料を供給するにあたっては、燃料内のアルコール濃度に従って燃料供給量を調整する必要がある。
【０００３】
ところで、内燃機関本体から排出された排気ガス中には炭化水素（ＨＣ）、一酸化炭素（ＣＯ）及び窒素酸化物（ＮＯx）等の成分が含まれており、従来からこれら成分を浄化するために三元触媒が利用されている。三元触媒は排気ガスの空燃比（以下、「排気空燃比」と称す）が略理論空燃比となっているときにその浄化能力が高くなることから、三元触媒によって排気ガスの浄化を行う際には排気空燃比が略理論空燃比となるように燃焼室への燃料供給量等を制御する必要がある。
【０００４】
従って、フレキシブルフューエルビークルにおいて、三元触媒の上流排気通路内に排気空燃比を検出することができる空燃比センサを設け、排気空燃比が燃料内のアルコール濃度に応じて定まる理論空燃比になるように、燃焼室への燃料供給量を調整するフィードバック制御を行う空燃比制御装置が公知である（特許文献１参照）。
【０００５】
【特許文献１】特開２００４−３０８５４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、排気ガスの熱による空燃比センサの劣化等によって、空燃比センサが実際の排気空燃比を正確に検出することができない場合がある。このような場合には上述したフィードバック制御（以下、「メインフィードバック制御」と称す）による排気空燃比の制御精度が低下してしまう。
【０００７】
そこで、三元触媒の下流排気通路内に排気空燃比を検出することができる空燃比センサを設け、下流側空燃比センサの出力に基づいて上流側空燃比センサの出力値が実際の排気空燃比と一致するように上流側空燃比センサの出力値を（結果的には燃料供給量を）補正するフィードバック制御（以下、「サブフィードバック制御」と称す）を行うことにより排気空燃比の制御精度を改善することが考えられる。
【０００８】
そして、このような三元触媒の上流及び下流の排気通路内に空燃比センサを配置した構成においては、上流側空燃比センサの出力値と実際の排気空燃比との間の定常的なずれに対応する学習値をサブフィードバック制御における補正量に基づいて算出すると共に、算出された学習値に基づいて上流側空燃比センサの出力値を補正する学習制御（以下、「サブフィードバック学習制御」と称す）を行うことが考えられる。
【０００９】
更に、フレキシブルフューエルビークルにおいては、燃料中のアルコール濃度に応じて燃料供給量を調整するためのアルコール濃度補正学習値を算出するアルコール濃度補正学習制御を行うことが考えられる。
【００１０】
しかし、アルコール濃度補正学習制御が完了する前、即ちアルコール濃度補正学習値が収束する前に、サブフィードバック学習制御が行われると、実際のアルコール濃度との差が大きいアルコール濃度補正学習値をそれが正しいアルコール濃度であるとしてサブフィードバック学習制御が取り込んでしまう。そうすると、実際の排気空燃比が誤った排気空燃比に制御されてしまい、排気エミッションが悪化するという、いわゆるサブフィードバック学習制御の誤学習の問題を生じる恐れがある。
【００１１】
そこで本発明は、フレキシブルフューエルビークルにおいて、サブフィードバック学習制御の誤学習を防止し、それによって排気エミッションの悪化を防止することが可能な内燃機関の空燃比制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記課題を解決するために請求項１に記載の発明によれば、燃料としてアルコールとガソリンとをそれぞれ単独で又は混合して使用可能な内燃機関の空燃比制御装置であって、機関排気通路内に設けられた排気浄化触媒の上流排気通路内及び下流排気通路内にそれぞれ配置され且つ排気ガスの空燃比を検出する上流側空燃比センサ及び下流側空燃比センサと、前記上流側空燃比センサの出力値が目標空燃比に対応する値となるようにフィードバック補正値に基づいて燃料供給量を補正するメインフィードバック制御手段と、前記上流側空燃比センサの出力値に基づく排気空燃比と実際の排気空燃比とのずれを補償すべく前記下流側空燃比センサの出力値に基づいて排気空燃比が目標空燃比となるように燃料供給量を補正するサブフィードバック制御手段と、前記フィードバック補正値に基づいて算出されたアルコール濃度補正学習値を学習すると共にそれに基づいて前記燃料供給量を補正するアルコール濃度補正学習制御手段と、前記サブフィードバック制御手段における補正値に基づいて算出された学習値を学習すると共にそれに基づいて前記燃料供給量を補正するサブフィードバック学習制御手段とを具備する内燃機関の空燃比制御装置において、前記アルコール濃度補正学習値が収束したことを予め定められた少なくとも一つの収束判定条件に基づいて判定する収束判定手段を更に具備し、前記収束判定条件が成立しない間は前記サブフィードバック学習制御手段による学習を禁止する内燃機関の空燃比制御装置が提供される。
【００１３】
即ち、請求項１に記載の発明では、アルコール濃度補正学習値が収束していない間のサブフィードバック学習制御を禁止することによって、サブフィードバック学習制御の誤学習を防止し、その結果、排気エミッションの悪化を防止することができる。即ち、給油等によってアルコールの濃度が大きく変化すると、アルコール濃度補正学習値によって補正されるアルコール濃度と実際のアルコール濃度との差が大きくなる。その状態でサブフィードバック制御によって燃料供給量の補正が行われると、実際に供給すべき量とは大きく異なる量の燃料供給を行ってしまい、その結果、排気エミッションが悪化してしまう。従って、サブフィードバック学習制御を禁止し、誤学習を防止している。
【００１４】
また、請求項２に記載の発明によれば請求項１に記載の発明において、前記フィードバック補正値と前記アルコール濃度補正学習値とに基づき該アルコール濃度補正学習値が収束すると推定される値であるアルコール濃度補正学習値収束先推定値を求める手段を更に具備し、前記少なくとも一つの収束判定条件は、前記アルコール濃度補正学習値収束先推定値と前記アルコール濃度補正学習値との差が予め定められたアルコール濃度補正学習値収束判定値未満のとき成立する内燃機関の空燃比制御装置が提供される。
【００１５】
また、請求項３に記載の発明によれば請求項１又は請求項２に記載の発明において、機関始動前に給油の有無を判定する給油有無判定手段を更に具備し、機関始動前に給油が有ったときにのみ、前記少なくとも一つの収束判定条件に基づく判定が行われる内燃機関の空燃比制御装置が提供される。即ち、請求項３に記載の発明では、始動前に給油が無かったときにはアルコール濃度の変動が少ないと想定されるため、請求項２に記載された収束判定条件の判定を行わないため処理の迅速化が図れる。
【発明の効果】
【００１６】
各請求項に記載の発明によれば、フレキシブルフューエルビークルにおいて、サブフィードバック学習制御の誤学習を防止し、それによって排気エミッションの悪化を防止することできるという共通の効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照しながら、燃料としてアルコールとガソリンとをそれぞれ単独で又は混合して使用可能な本発明の内燃機関の空燃比制御装置について説明する。図１は本発明の制御装置が搭載される内燃機関全体の図である。図１に示した実施形態では本発明の空燃比制御装置が筒内直噴型火花点火式内燃機関に用いられた場合を示しているが、他の火花点火式内燃機関や圧縮自着火式内燃機関等にも用いることができる。
【００１８】
図１を参照すると１は機関本体、２はシリンダブロック、３はシリンダブロック２内で往復動するピストン、４はシリンダブロック２上に固定されたシリンダヘッド、５はピストン３とシリンダヘッド４との間に形成された燃焼室、６は吸気弁、７は吸気ポート、８は排気弁、９は排気ポートをそれぞれ示す。図１に示したようにシリンダヘッド４の内壁面の中央部には点火プラグ１０が配置され、シリンダヘッド４内壁面周辺部には燃料噴射弁１１が配置される。またピストン３の頂面上には燃料噴射弁１１の下方から点火プラグ１０の下方まで延びるキャビティ１２が形成されている。
【００１９】
各気筒の吸気ポート７はそれぞれ対応する吸気枝管１３を介してサージタンク１４に連結され、サージタンク１４は吸気管１５を介してエアクリーナ（図示せず）に連結される。吸気管１５内にはエアフロメータ１６が配置されると共にステップモータ１７によって駆動されるスロットル弁１８が配置される。一方、各気筒の排気ポート９は排気マニホルド１９に連結され、この排気マニホルド１９は三元触媒２０を内蔵した触媒コンバータ２１に連結される。触媒コンバータ２１の出口は排気管２２に連結される。排気マニホルド１９、即ち排気浄化触媒２０上流側の排気通路内には空燃比センサ２３が配置されると共に、排気管２２、即ち三元触媒２０下流側の排気通路内には酸素センサ２４が配置される。アルコールを含む燃料は燃料タンク２５に貯蔵され、燃料供給管を介して電子制御式の吐出量可変な燃料ポンプ２６によって燃料噴射弁１１へ供給され、噴射される。燃料タンク２５の給油口には給油口の燃料キャップ２７の開閉、即ち給油の有無を検出するための開閉センサ２８が取り付けられている。或いは、図示しない燃料ゲージによって前回機関停止した時と今回機関始動した時との間で燃料タンク２５内の燃料量が増加したか否かにより燃料の給油の有無を判定してもよい。また、本実施形態では、排気浄化触媒として三元触媒２０を用いているが、酸素吸蔵能力を有していれば、他のタイプの触媒、例えばＮＯx吸蔵還元触媒、リーンＮＯx触媒、ＤＰＮＲ等を用いてもよい。
【００２０】
電子制御ユニット３１はディジタルコンピュータからなり、双方向性バス３２を介して相互に接続されたＲＡＭ（ランダムアクセスメモリ）３３、ＲＯＭ（リードオンリメモリ）３４、ＣＰＵ（マイクロプロセッサ）３５、バックアップＲＡＭ３６、入力ポート３７及び出力ポート３８を具備する。バックアップＲＡＭ３６は常時電源に接続されており、車両のイグニッションスイッチを切っても記憶した内容を保存することが可能である。従って、後述する学習値等を保存するために使用される。
【００２１】
エアフロメータ１６は吸入空気流量に比例した出力電圧を発生し、その出力電圧は対応するＡＤ変換器３９を介して入力ポート３７に入力される。また、空燃比センサ２３は、図２に示したように、排気マニホルド１９内を通過する排気ガス中の酸素濃度に基づいて、斯かる排気ガスの空燃比に略比例した出力電圧を発生する。一方、酸素センサ２４は、図３に示したように、排気管２２内を通過する排気ガス、即ち三元触媒２０を通過した後の排気ガス中の酸素濃度に基づいて、斯かる排気ガスの空燃比が理論空燃比ＡＦＴよりもリッチであるかリーンであるかによって大きく異なる出力電圧を発生する。これら出力電圧は対応するＡＤ変換器３９を介して入力ポート３７に入力される。更に、開閉センサ２８の出力信号は対応するＡＤ変換器３９を介して入力ポート３７に入力される。
【００２２】
また、アクセルペダル４１にはアクセルペダル４１の踏込み量に比例した出力電圧を発生する負荷センサ４２が接続され、負荷センサ４２の出力電圧は対応するＡＤ変換器３９を介して入力ポート３７に入力される。クランク角センサ４３は例えばクランクシャフトが３０度回転する毎に出力パルスを発生し、この出力パルスが入力ポート３７に入力される。ＣＰＵ３５ではこのクランク角センサ４３の出力パルスから機関回転数Ｎｅが計算される。一方、出力ポート３８は対応する駆動回路３９を介して点火プラグ１０、燃料噴射弁１１及びステップモータ１７に接続される。
【００２３】
上述した三元触媒２０は、酸素吸蔵能力を有しており、これにより三元触媒２０に流入する排気ガスの空燃比がリーンであるときには排気ガス中の酸素を吸蔵すると共に、三元触媒２０に流入する排気ガスの空燃比がリッチであるときには吸蔵している酸素を放出することにより排気ガス中に含まれるＨＣ、ＣＯを酸化・浄化する。
【００２４】
このような三元触媒２０の酸素吸蔵能力を効果的に利用するためには、排気ガスの空燃比がその後リッチ及びリーンのいずれになっても排気ガスを浄化することができるように、三元触媒２０中に吸蔵されている酸素の量を所定量（例えば、最大酸素吸蔵量の半分）に維持することが必要である。三元触媒２０の酸素吸蔵量が上記所定量に維持されていれば、三元触媒２０は常に或る程度の酸素吸蔵作用及び酸素放出作用を発揮することが可能であり、結果として三元触媒２０により常に排気ガス中の成分の酸化・還元を行うことができるようになる。このため、本実施形態では、三元触媒２０による排気浄化性能を維持すべく、三元触媒の酸素吸蔵量を一定に維持するように空燃比制御を行うこととしている。
【００２５】
そこで、本実施形態では、三元触媒２０よりも上流排気通路内に配置された空燃比センサ（上流側空燃比センサ）２３によって排気空燃比（三元触媒２０上流側の排気通路、燃焼室５及び吸気通路に供給された空気と燃料との比率）を検出すると共に、空燃比センサ２３の出力値が理論空燃比に対応した値となるように燃料噴射弁１１からの燃料供給量についてフィードバック制御（メインフィードバック制御）を行うこととしている。これにより、排気空燃比は理論空燃比付近に維持され、その結果三元触媒の酸素吸蔵量が一定に維持され、よって排気エミッションを改善することができる。
【００２６】
以下、メインフィードバック制御について具体的に説明する。まず、本実施形態では、燃料噴射弁１１から各気筒へと供給すべき燃料量（以下、「目標燃料供給量」と称す）Ｑｆｔ（ｎ）は下記式（１）によって算出される。
Ｑｆｔ（ｎ）＝Ｍｃ（ｎ）／ＡＦＴ＋ＤＱｆ（ｎ−１）      …（１）
【００２７】
ここで、上記式（１）においてｎはＥＣＵ３１における計算回数を示す値であり、例えばＱｆｔ（ｎ）は第ｎ回目の計算によって算出された目標燃料供給量を表している。また、Ｍｃ（ｎ）は、吸気弁６の閉弁時までに各気筒の筒内に吸入されたと予想される空気量（以下、「筒内吸入空気量」と称す）を示している。筒内吸入空気量Ｍｃ（ｎ）を算出するために、例えば機関回転数Ｎｅと吸気管１５内を通過した空気の流量（以下、「吸気管通過空気流量」と称す）ｍｔとを引数としたマップ又は計算式を予め実験的に又は計算によって求め、このマップ又は計算式をＲＯＭ３４に保存する。そして、機関運転中に検出された機関回転数Ｎｅ及び吸気管通過空気流量ｍｔに基づいて上記マップ又は計算式により筒内吸入空気量Ｍｃ（ｎ）が算出される。
【００２８】
また、ＡＦＴは、排気空燃比の目標値を示し、本実施形態では燃料中のアルコール濃度に応じて変化する理論空燃比とする。理論空燃比における出力電圧は、そのアルコール濃度にかかわらず一定の値Ｖ０を示す（図２参照）。即ち、例えば或るアルコール濃度における理論空燃比がＡＦＴである場合において、給油等によってアルコール濃度が変化して理論空燃比がＡＦＴ’になったとする。その場合においてもアルコール濃度変化後の理論空燃比に相当する出力電圧はＶ０のままであり、略比例した出力電圧の傾向も同様の傾向まま破線のようにシフトする。従って、図４に示されるように、アルコール濃度補正学習値ＦＡＬＣを用いて、それと理論空燃比ＡＦＴとのマップ又は計算式から燃料中のアルコール濃度に応じた理論空燃比ＡＦＴを求めることができる。
【００２９】
アルコール濃度補正学習値ＦＡＬＣは、燃料中のアルコール濃度に応じて基本燃料噴射量Ｑｂを補正するための学習値であり、詳細は後述する。図４を参照すると、例えば、Ｅ０（燃料中のアルコール濃度が０％）のとき、アルコール濃度補正学習値ＦＡＬＣが１．０であり、理論空燃比は１４．７となる。また、Ｅ８５（８５％のエタノール混合燃料）のとき、アルコール濃度補正学習値ＦＡＬＣが１．４であり、理論空燃比は１０．０となる。
【００３０】
そして、ＤＱｆは、後述するメインフィードバック制御に関して算出される燃料補正量を示す。燃料噴射弁１１では、このように上記式（１）によって算出された目標燃料供給量に対応する量の燃料が噴射される。
【００３１】
なお、上記説明では、筒内吸入空気量Ｍｃ（ｎ）は、機関回転数Ｎｅと吸気管通過空気流量ｍｔとを引数としたマップ等に基づいて算出されるとしているが、例えばスロットル弁１８の開度及び大気圧等に基づいた計算式等、他の方法によって求められてもよい。
【００３２】
図５は、燃料噴射弁１１からの目標燃料供給量Ｑｆｔ（ｎ）を算出する目標燃料供給量算出制御操作のフローチャートである。この操作はＥＣＵ３１によって予め定められた所定時間毎の割り込みによって実行されるルーチンとして行われる。
【００３３】
まず、ステップ１０１において、クランク角センサ４３及びエアフロメータ１６によって機関回転数Ｎｅ及び吸気管通過空気流量ｍｔが検出される。次いで、ステップ１０２では、後述するアルコール濃度補正学習値ＦＡＬＣがバックアップＲＡＭ３６より読み込まれる。次いで、ステップ１０３では、ステップ１０１において検出された機関回転数Ｎｅ及び吸気管通過空気流量ｍｔに基づいてマップにより又は計算式により第ｎ回目の計算時における筒内吸入空気量Ｍｃ（ｎ）が算出される。次いで、ステップ１０４では、ステップ１０２において読み込まれたアルコール濃度補正学習値ＦＡＬＣに基づいて図４に示されるマップにより、燃料中のアルコール濃度に応じた理論空燃比ＡＦＴが算出される。
【００３４】
次いで、ステップ１０５では、ステップ１０３で算出された筒内吸入空気量Ｍｃ（ｎ）及び後述するメインフィードバック制御操作において算出された第ｎ−１回目の計算時における燃料補正量ＤＱｆ（ｎ−１）に基づいて上記式（１）により目標燃料供給量Ｑｆｔ（ｎ）が算出され、ルーチンを終了する。燃料噴射弁１１からは、このように算出された目標燃料供給量Ｑｆｔ（ｎ）に相当する量の燃料が噴射される。
【００３５】
次に、メインフィードバック制御について説明する。本実施形態では、メインフィードバック制御として、空燃比センサ２３の出力に基づいて算出された実際の燃料供給量と、上述した目標燃料供給量Ｑｆｔとの燃料偏差量ΔＱｆを計算回数毎に算出し、この燃料偏差量ΔＱｆがゼロになるように燃料補正量ＤＱｆを算出している。具体的には、燃料補正量ＤＱｆは下記式（２）により算出される。なお、下記式（２）においてＤＱｆ（ｎ−１）は、第ｎ−１回目の計算、即ち前回の計算における燃料補正量であり、Ｋｍｐは比例ゲイン、Ｋｍｉは積分ゲインをそれぞれ示している。これら比例ゲインＫｍｐ、積分ゲインＫｍｉは予め定められた一定の値であってもよいし、機関運転状態に応じて変化する値であってもよい。
【数１】
2009144568.tif 000003
【００３６】
図６は、燃料補正量ＤＱｆを算出するメインフィードバック制御操作のフローチャートである。この操作はＥＣＵ３１によって予め定められた所定時間毎の割り込みによって実行されるルーチンとして行われる。
【００３７】
まず、ステップ１２１では、メインフィードバック制御の実行条件が成立しているか否かが判定される。メインフィードバック制御の実行条件が成立している場合とは、例えば内燃機関の冷間始動中ではないこと（即ち、機関冷却水温が一定温度以上であって始動時燃料増量等が行われていないこと）や、機関運転中に燃料噴射弁からの燃料噴射を停止する燃料カット制御中ではないこと等が挙げられる。ステップ１２１においてメインフィードバック制御の実行条件が成立していると判定された場合には、ステップ１２２へと進む。一方、ステップ１２１においてメインフィードバック制御の実行条件が成立していないと判定された場合には、ルーチンを終了し、メインフィードバック制御は実行されない。
【００３８】
ステップ１２２では、第ｎ回目の計算時における空燃比センサ２３の出力値ＶＡＦ（ｎ）が検出される。次いで、ステップ１２３では、後述するサブフィードバック制御及びサブフィードバック学習制御によって算出された空燃比センサ２３の出力補正値ｅｆｓｆｂ（ｎ）及びサブフィードバック学習値ｅｆｓｆｂｇをステップ１２２で検出された出力値ＶＡＦ（ｎ）に加算することで、空燃比センサ２３の出力値が補正されて第ｎ回目の計算時における補正出力値ＶＡＦ’（ｎ）が算出される（ＶＡＦ’（ｎ）＝ＶＡＦ（ｎ）＋ｅｆｓｆｂ（ｎ）＋ｅｆｓｆｂｇ（ｎ））。
【００３９】
次いで、ステップ１２４では、前述のようにアルコール濃度補正学習値ＦＡＬＣと図４から求められたＡＦＴが読み込まれる。次いで、ステップ１２５では、ステップ１２３で算出された補正出力値ＶＡＦ’（ｎ）及びステップ１２４で読み込まれたＡＦＴに基づいて図２に示したマップを用いて第ｎ回目の計算時における実空燃比ＡＦＲ（ｎ）が算出される。このようにして算出された実空燃比ＡＦＲ（ｎ）は、第ｎ回目の計算時における三元触媒２０に流入する排気ガスの実際の空燃比に略一致した値となっている。
【００４０】
次いで、ステップ１２６では、下記式（３）により、空燃比センサ２３の出力に基づいて算出された燃料供給量と目標燃料供給量Ｑｆｔとの燃料偏差量ΔＱｆが算出される。なお、下記式（３）において、筒内吸入空気量Ｍｃ及び目標燃料供給量Ｑｆｔについては第ｎ回目の計算時における値が用いられているが、第ｎ回目の計算時よりも前の値が用いられてもよい。
ΔＱｆ（ｎ）＝Ｍｃ（ｎ）／ＡＦＲ（ｎ）−Ｑｆｔ（ｎ）      …（３）
【００４１】
ステップ１２７では、上記式（２）により第ｎ回目の計算時における燃料補正量ＤＱｆ（ｎ）が算出され、ルーチンを終了する。算出された燃料補正量ＤＱｆ（ｎ）は、図５に示した操作のステップ１０５において用いられる。
【００４２】
ところで、排気ガスの熱により空燃比センサ２３が劣化すること等により空燃比センサ２３の出力にはずれが生じる場合がある。このような場合、本来図２に実線で示したような出力値を発生させる空燃比センサ２３が、例えば図２に破線で示したような出力値を発生させてしまう。このように空燃比センサ２３の出力値にずれが生じると、空燃比センサ２３は例えば本来であれば排気空燃比が理論空燃比になっているときに発生させる出力電圧を、理論空燃比よりもリーンであるときに発生させてしまう。そこで、本実施形態では、酸素センサ（下流側空燃比センサ）２４を用いたサブフィードバック制御により空燃比センサ２３の出力値に生じたずれを補償して、空燃比センサ２３の出力値が実際の排気空燃比に対応した値となるようにすることとしている。
【００４３】
即ち、酸素センサ２４は、図３に示したように、排気空燃比が理論空燃比よりもリッチであるかリーンであるかを検出することができ、理論空燃比よりもリッチであるかリーンであるかの判定にずれを生じることがほとんどない。このため、実際の排気空燃比がリーンとなっているときには酸素センサ２４の出力電圧は低い値となっており、実際の排気空燃比がリッチとなっているときには酸素センサ２４の出力電圧は高い値となっている。従って、実際の排気空燃比が略理論空燃比となっているとき、即ち理論空燃比付近で上下を繰り返しているときには、酸素センサ２４の出力電圧は高い値と低い値との間で反転を繰り返す。従って、本実施形態では、酸素センサ２４の出力電圧が高い値と低い値との間で反転を繰り返すように空燃比センサ２３の出力値を補正することとしている。
【００４４】
図７は、実際の排気空燃比と、酸素センサの出力値と、空燃比センサ２３の出力補正値ｅｆｓｆｂと、サブフィードバック学習値ｅｆｓｆｂｇとのタイムチャートである。図７のタイムチャートは、実際の排気空燃比が理論空燃比になるように制御しているにもかかわらず、空燃比センサ２３にずれが生じていて実際の排気空燃比が理論空燃比となっていない場合に、空燃比センサ２３に生じているずれが補償されていく様子を示している。
【００４５】
図７に示した例では、時刻ｔ０において、実際の排気空燃比は理論空燃比となっておらず、理論空燃比よりもリーンとなっている。これは、空燃比センサ２３にずれが生じていて、実際の排気空燃比が理論空燃比よりもリーンである空燃比となっているときに空燃比センサ２３により理論空燃比に対応する出力値が出力されているためである。このとき酸素センサ２４の出力値は低い値となっている。
【００４６】
空燃比センサ２３の出力補正値ｅｆｓｆｂは、上述したように、図６のステップ１２３において補正出力値ＶＡＦ’（ｎ）を算出するために出力値ＶＡＦ（ｎ）に加算される。従って、この出力補正値ｅｆｓｆｂが正の値となっている場合には空燃比センサ２３の出力値はリーン側に補正され、負の値となっている場合には空燃比センサ２３の出力値はリッチ側に補正される。そして出力補正値ｅｆｓｆｂの絶対値が大きいほど空燃比センサ２３の出力値が大きく補正される。
【００４７】
空燃比センサ２３の出力値が略理論空燃比となっているにもかかわらず酸素センサ２４の出力値が低い値となっているときには空燃比センサ２３の出力値がリッチ側にずれていることを意味する。そこで、本実施形態では、酸素センサ２４の出力値が低い値となっているときには、図７に示したように、出力補正値ｅｆｓｆｂの値を増加させて、空燃比センサ２３の出力値をリーン側へ補正することとしている。一方、空燃比センサ２３の出力値が略理論空燃比となっているにもかかわらず酸素センサ２４の出力値が高い値となっているときには、出力補正値ｅｆｓｆｂの値を減少させて、空燃比センサ２３の出力値をリッチ側へ補正することとしている。
【００４８】
具体的には出力補正値ｅｆｓｆｂの値は下記式（４）により計算される。なお、下記式（４）において、Ｋｓｐは比例ゲイン、Ｋｓｉは積分ゲインをそれぞれ示している。また、ΔＶＯ（ｎ）は、第ｎ回目の計算時における酸素センサ２４の出力値と目標出力値（本実施形態では、理論空燃比に対応する値）との出力偏差を示している。
【数２】
2009144568.tif 000004
【００４９】
図７に示した例では、空燃比センサ２３の出力補正値ｅｆｓｆｂの値が増加するにつれて、空燃比センサ２３の出力値に生じているずれが補正され、実際の排気空燃比が徐々に理論空燃比に近づいていく。
【００５０】
こうしてサブフィードバック制御により空燃比センサ２３の出力値は適宜補正されるが、例えば内燃機関を停止させた場合等にはサブフィードバック制御が中断され、その結果、出力補正値ｅｆｓｆｂの値はゼロにリセットされる。その後、再び内燃機関を始動させた場合等には、サブフィードバック制御が再開されるが、通常のＲＡＭ３３に保存されていた出力補正値ｅｆｓｆｂはゼロにリセットされているため、空燃比センサ２３の出力値を再び適切な値にまで補正するには時間がかかる。
【００５１】
そこで、本実施形態では、空燃比センサ２３の出力値と実際の排気空燃比に対応する値との間に生じている定常的なずれに対応するサブフィードバック学習値ｅｆｓｆｂｇを上記サブフィードバック制御における出力補正値ｅｆｓｆｂに基づいて算出すると共に、図６のステップ１２３に示したように、算出されたサブフィードバック学習値ｅｆｓｆｂｇに基づいて空燃比センサ２３の出力値ＶＡＦを補正することとしている（以下、このような制御を「サブフィードバック学習制御」と称す）。このようにして算出されたサブフィードバック学習値ｅｆｓｆｂｇは、バックアップＲＡＭ３６に保存されるので内燃機関の停止等の後でも消去されることがない。従って、このサブフィードバック学習値ｅｆｓｆｂｇを用いれば比較的早期に空燃比センサ２３の出力値を再び適切な値にまで補正することができるようになる。
【００５２】
具体的には、前回の学習時期（即ち、サブフィードバック学習値ｅｆｓｆｂｇの算出時期）から所定時間ΔＴが経過したときの出力補正値ｅｆｓｆｂが正の値である場合にはサブフィードバック学習値ｅｆｓｆｂｇを増加させると共に、出力補正値ｅｆｓｆｂが負の値である場合にはサブフィードバック学習値ｅｆｓｆｂｇを減少させるようにしている。また、サブフィードバック学習値ｅｆｓｆｂｇの増加量又は減少量は、出力補正値ｅｆｓｆｂの絶対値が大きくなるほど多くなるようにしている。
【００５３】
特に本実施形態では、前回の学習時期から所定時間ΔＴが経過したときの出力補正値ｅｆｓｆｂ及びサブフィードバック学習値ｅｆｓｆｂｇはそれぞれ下記式（５）及び（６）により更新される。なお、下記式（５）及び（６）において、αは取り込み割合を示すなまし率（０＜α≦１）である。従って、図６に示した例では、時刻ｔ１において出力補正値ｅｆｓｆｂが正の値となっているため、下記式（５）及び（６）により出力補正値ｅｆｓｆｂが減少と共にサブフィードバック学習値ｅｆｓｆｂｇが増加する。同様に時刻ｔ２においても出力補正値ｅｆｓｆｂが正の値となっているため、下記式（５）及び（６）により出力補正値ｅｆｓｆｂが減少すると共にサブフィードバック学習値ｅｆｓｆｂｇが増加する。
ｅｆｓｆｂ＝ｅｆｓｆｂ−ｅｆｓｆｂ・α      …（５）
ｅｆｓｆｂｇ＝ｅｆｓｆｂｇ＋ｅｆｓｆｂ・α      …（６）
【００５４】
こうして算出されたサブフィードバック学習値ｅｆｓｆｂｇは、上述したように、図６のステップ１２３において補正出力値ＶＡＦ’（ｎ）を算出するために出力値ＶＡＦ（ｎ）に加算される。そしてサブフィードバック学習値ｅｆｓｆｂｇは、バックアップＲＡＭ３６に保存されるので内燃機関の停止等の後でも消去されることがない。このため、内燃機関の停止後、運転を再開したときに、出力補正値ｅｆｓｆｂがゼロにリセットされていても、サブフィードバック学習値ｅｆｓｆｂｇを用いて空燃比センサ２３の出力値を迅速に適切な値に補正することができる。
【００５５】
なお、上記例では、サブフィードバック学習値ｅｆｓｆｂｇの増加量又は減少量は、出力補正値ｅｆｓｆｂの絶対値が大きくなるほど多くなるようにしているが、出力補正値ｅｆｓｆｂに応じて変化させずに一定量としてもよい。この場合、例えば、出力補正値ｅｆｓｆｂの絶対値が所定値以上である場合にのみ出力補正値ｅｆｓｆｂのサブフィードバック学習値ｅｆｓｆｂｇへの取り込みが行われる。
【００５６】
図８は、出力補正値ｅｆｓｆｂを算出するサブフィードバック制御及びサブフィードバック学習値ｅｆｓｆｂｇを算出するサブフィードバック学習制御の操作を示すフローチャートである。この操作はＥＣＵ３１によって予め定められた所定時間毎の割り込みによって実行されるルーチンとして行われる。
【００５７】
まず、ステップ１３１では、サブフィードバック制御の実行条件が成立しているか否かが判定される。サブフィードバック制御の実行条件が成立している場合とは、例えばメインフィードバック制御の実行条件と同様に、内燃機関の冷間始動中ではないことや、機関運転中に燃料噴射弁からの燃料噴射を停止する燃料カット制御中ではないこと等が挙げられる。ステップ１３１においてサブフィードバック制御の実行条件が成立していると判定された場合には、ステップ１３２へと進み、サブフィードバック制御が実行される。一方、ステップ１３１において、サブフィードバック制御の実行条件が成立していないと判定された場合には、ルーチンを終了し、サブフィードバック制御及びサブフィードバック学習制御は実行されない。
【００５８】
ステップ１３２では、第ｎ回目の計算時における酸素センサ２４の出力値ＶＯ（ｎ）が検出される。次いで、ステップ１３３では、ステップ１３２で検出された酸素センサ２４の出力値ＶＯ（ｎ）と目標出力値ＶＯＴとの出力偏差ΔＶＯ（ｎ）が算出される（ΔＶＯ（ｎ）＝ＶＯ（ｎ）−ＶＯＴ）。ステップ１３４では、下記式（７）により第ｎ回目の計算時における比例項Ｍｓｐ（ｎ）の値が算出される。
Ｍｓｐ（ｎ）＝Ｋｓｐ・ΔＶＯ（ｎ）      …（７）
【００５９】
次いで、ステップ１３５では、下記式（８）により第ｎ回目の計算時における積分項Ｍｓｉ（ｎ）の値が算出され、ステップ１３６へと進む。ステップ１３６ではステップ１４５で算出された比例項Ｍｓｐ（ｎ）の値と、ステップ１３５で算出された積分項Ｍｉｐ（ｎ）の値とに基づいて下記式（９）により出力補正量ｅｆｓｆｂ（ｎ）が算出される。
Ｍｓｉ（ｎ）＝Ｍｓｉ（ｎ−１）＋Ｋｓｉ・ＶＯ（ｎ）      …（８）
ｅｆｓｆｂ（ｎ）＝Ｍｓｐ（ｎ）＋Ｍｓｉ（ｎ）      …（９）
【００６０】
次いで、ステップ１３７では、アルコール濃度補正学習値収束フラグが１か否かが判定される。アルコール濃度補正学習値収束フラグについては、より詳細に後述するが、アルコール濃度補正学習値収束フラグが１である場合にはステップ１３８へと進んでサブフィードバック学習制御を行う。一方、ステップ１３７においてアルコール濃度補正学習値収束フラグが１でない場合には、ルーチンを終了し、サブフィードバック学習制御は行われない。
【００６１】
ステップ１３８では、サブフィードバック学習制御の実行条件が成立しているか否かが判定される。サブフィードバック学習制御の実行条件が成立している場合とは、例えば燃料カット制御が解除されてから所定時間以上経過している場合等が上げられる。ステップ１３８においてサブフィードバック学習制御の実行条件が成立していると判定された場合には、ステップ１３９へと進み、上記式（５）及び（６）により、サブフィードバック学習制御が実行される。逆にサブフィードバック学習制御の実行条件が成立してないと判定された場合には、ルーチンを終了し、サブフィードバック学習制御は実行されない。
【００６２】
なお、上記実施形態では、サブフィードバック制御としてＰＩ制御が行われた場合を示しているが、ＰＩＤ制御等、他の制御が行われてもよい。
【００６３】
次に、アルコール濃度補正学習制御について図９（Ａ）から図９（Ｃ）を参照しながら説明する。まず、図９（Ａ）に示される実線は、メインフィードバック制御によるフィードバック補正値ＦＡＦを示し、破線は、フィードバック補正値ＦＡＦに対して、例えばローパスフィルタ等によるなまし処理（平滑化処理）を施したフィードバック補正なまし値ＦＡＦＳＭを示す。図９（Ｂ）に示される実線はアルコール濃度補正学習値ＦＡＬＣを示す。
【００６４】
ここで、フィードバック補正値ＦＡＦとは、以下の式（１０）に基づいて算出される燃料噴射量Ｑｆｔを算出する際に、基本燃料噴射量Ｑｂをフィードバック補正するための係数である。また、ＦＡＬＣはアルコール濃度補正学習値であり、燃料中のアルコール濃度に応じて基本燃料噴射量Ｑｂを補正するための学習値である。アルコール濃度補正学習値ＦＡＬＣはバックアップＲＡＭ３６に保存される。
Ｑｆｔ＝Ｑｂ・（１＋ＦＡＬＣ）＋Ｑｂ・ＦＡＦ      …（１０）
【００６５】
上記式（１０）と、上記式（１）と同様の以下の式（１１）とは、燃料噴射量Ｑｆｔを算出する同じ式を表し、第一項及び第二項はそれぞれの式で対応している。
Ｑｆｔ＝Ｍｃ／ＡＦＴ＋ＤＱｆ      …（１１）
【００６６】
従って、フィードバック補正値ＦＡＦと燃料補正量ＤＱｆとの関係は、上記式（１０）及び式（１１）それぞれの第二項より、式（１２）のように表される。以下、フィードバック補正値ＦＡＦを用いて本発明による実施形態を説明する。
ＦＡＦ＝ＤＱｆ／Ｑｂ      …（１２）
【００６７】
図９（Ａ）及び図９（Ｂ）に示されるように、アルコール濃度補正学習制御は、一定間隔毎に実行され、実行時点におけるフィードバック補正なまし値ＦＡＦＳＭの値分だけ、フィードバック補正値ＦＡＦを減少させると共にアルコール濃度補正学習値ＦＡＬＣを増加させ、フィードバック補正なまし値ＦＡＦＳＭをゼロにリセットしている。
【００６８】
アルコール濃度補正学習制御を繰り返すことによって、アルコール濃度補正学習値ＦＡＬＣが、燃料中のアルコール濃度に適した補正値へと徐々に近づく。アルコール濃度補正学習値ＦＡＬＣが収束したとみなせる値になる前に、即ち、未だ誤差が大きい状態でサブフィードバック学習制御が行われると誤った学習が行われ、結果として排気エミッションが悪化するという問題が生じる。従って、アルコール濃度補正学習値ＦＡＬＣが収束したか否か判定し、アルコール濃度補正学習値ＦＡＬＣが収束するまでサブフィードバック学習制御を禁止し収束した後にはサブフィードバック学習制御を開始させる。
【００６９】
図１１及び図１２は、アルコール濃度補正学習値ＦＡＬＣを算出すると共にそれが収束したか否かを判定し、サブフィードバック学習制御の許可又は禁止を決定するためのアルコール濃度補正学習値収束フラグをセットするアルコール濃度補正学習制御操作を示すフローチャートである。この操作はＥＣＵ３１によって予め定められた所定時間毎の割り込みによって実行されるルーチンとして行われる。
【００７０】
図１１を参照すると、まず、ステップ１５１では、フィードバック補正値ＦＡＦが読み込まれる。次いで、ステップ１５２では、ステップ１５１で読み込んだＦＡＦに対してなまし処理を施し、フィードバック補正なまし値ＦＡＦＳＭを算出する。次いで、ステップ１５３では、時間カウンタＣＮＴがインクリメントされる。次いで、ステップ１５４では、ステップ１５３でインクリメントされた時間カウンタＣＮＴが、アルコール濃度補正学習制御実行間隔ＣＮＴｓａｄｇ以上であるか否かが判定される。ここで、時間カウンタＣＮＴが、アルコール濃度補正学習制御実行時間ＣＮＴｓａｄｇ以上であるならば、アルコール濃度補正学習制御を行うべく、ステップ１５５に進む。一方、ステップ１５４において、時間カウンタＣＮＴがアルコール濃度補正学習制御実行時間ＣＮＴｓａｄｇよりも小さい場合、アルコール濃度補正学習制御及びアルコール濃度補正学習値収束判定を行うことなくルーチンを終了する。
【００７１】
次に、ステップ１５５、１５６で行われるアルコール濃度補正学習制御について説明する。ステップ１５５において、アルコール濃度補正学習値ＦＡＬＣは、その前回値に対してフィードバック補正なまし値ＦＡＦＳＭを加算することで算出される。それと同時に、フィードバック補正値ＦＡＦは、その前回値に対してアルコール濃度補正学習値ＦＡＬＣに加算した分のフィードバック補正なまし値ＦＡＦＳＭを減算することで算出される。その後、ステップ１５６へと進む。ステップ１５６では、フィードバック補正なまし値ＦＡＦＳＭをゼロにリセットし、ステップ１５７に進む。次いで、ステップ１５７では、アルコール濃度補正学習回数Ｎｇがインクリメントされる。
【００７２】
次いで、図１１のステップ１５７において、アルコール濃度補正学習回数Ｎｇがインクリメントされた後、図１２のステップ１６１に進む。ステップ１６１では、アルコール濃度補正学習回数Ｎｇがアルコール濃度補正学習値収束判定回数Ｎｇｓｆｂｇ以上であるか否かが判定される。即ち、アルコール濃度補正学習回数Ｎｇが予め定められたアルコール濃度補正学習値収束判定回数Ｎｇｓｆｂｇ以上である場合には、アルコール濃度補正学習値ＦＡＬＣが収束したと判断する。
【００７３】
従って、図９（Ｃ）にも示すように、アルコール濃度補正学習回数Ｎｇがアルコール濃度補正学習値収束判定回数Ｎｇｓｆｂｇ以上である場合には、ステップ１６２に進んでアルコール濃度補正学習値収束フラグＳＦに１をセットし、次いで、ステップ１６４に進んで時間カウンタＣＮＴをゼロにリセットしてルーチンを終了する。一方、ステップ１６１において、アルコール濃度補正学習回数Ｎｇがアルコール濃度補正学習値収束判定回数Ｎｇｓｆｂｇよりも少ない場合には、ステップ１６３に進んでアルコール濃度補正学習値収束フラグＳＦに０をセットし、次いで、ステップ１６４に進んで時間カウンタＣＮＴをゼロにリセットしてルーチンを終了する。
【００７４】
アルコール濃度補正学習値収束判定回数Ｎｇｓｆｂｇは、サブフィードバック学習制御を開始したときの排気エミッションが許容範囲内となるときの、アルコール濃度補正学習回数Ｎｇとして予め実験等によって決定される。
【００７５】
次に、アルコール濃度補正学習制御の別の実施形態について図１０を参照しながら説明する。図１０（Ａ）は、上述した図９（Ａ）と同じである。図１０（Ｂ）に関して実線は図９（Ｂ）において上述したアルコール濃度補正学習値ＦＡＬＣを示し、破線は、アルコール濃度補正学習値ＦＡＬＣが最終的に収束するであろうと推定される推定値であるアルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴを示す。以下の実施形態では、アルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴを用いて、アルコール濃度補正学習値ＦＡＬＣの収束を判定する。
【００７６】
ここで、上述した図１１に示すステップ１５１からステップ１５７までは、以下に説明する別の実施形態において共通であり、各実施形態におけるステップ１５７の次以降のステップについては図１３及び図１４を参照しながらそれぞれ説明する。
【００７７】
まず、二番目の実施形態の後半部分について図１３を参照しながら説明する。図１１のステップ１５７において、アルコール濃度補正学習回数Ｎｇがインクリメントされた後、図１３のステップ１７１に進む。ステップ１７１からステップ１７３は、図１０（Ｂ）に破線で示されるアルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴを求めるための処理である。
【００７８】
まず、ステップ１７１において、アルコール濃度補正学習値ＦＡＬＣから機関始動時のアルコール濃度補正学習値ＦＡＬＣの初期値ＦＡＬＣＩＮＴ（即ち、前回の機関停止時のアルコール濃度補正学習値ＦＡＬＣ）を減算し、初期値ＦＡＬＣＩＮＴからの現在のアルコール濃度補正学習値ＦＡＬＣの変化量ΔＦＡＬＣを算出する。
【００７９】
次いで、ステップ１７２において、フィードバック補正値ＦＡＦにアルコール濃度補正学習値ＦＡＬＣの変化量ΔＦＡＬＣを加算した値、即ち、アルコール濃度補正学習制御を行わなかったと仮定した場合のフィードバック補正値とアルコール濃度補正学習回数Ｎｇとを引数としたマップ又は計算式より、アルコール濃度補正学習値ＦＡＬＣの初期値ＦＡＬＣＩＮＴからのアルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴの変化量ΔＦＡＬＣＥＳＴを求める。このマップ又は計算式は予め実験的に又は計算によって求められ、ＲＯＭ３４に保存されている。
【００８０】
図１５は変化量ΔＦＡＬＣＥＳＴを求めるマップを示しており、横軸をアルコール濃度補正学習回数Ｎｇとし、縦軸をアルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴの変化量ΔＦＡＬＣＥＳＴとして、各曲線はＦＡＦ＋ΔＦＡＣＬの値に応じた傾向を示している。ＦＡＦ＋ΔＦＡＣＬの値が大きいほど、また、アルコール濃度補正学習回数Ｎｇが大きいほど、変化量ΔＦＡＬＣＥＳＴは大きい値を示している。
【００８１】
次いで、ステップ１７３に進んで、アルコール濃度補正学習値ＦＡＬＣの初期値ＦＡＬＣＩＮＴに、ステップ１７２で求めたアルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴの変化量ΔＦＡＬＣＥＳＴを加算し、アルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴを算出し、ステップ１７４に進む。
【００８２】
ステップ１７４では、図１０（Ｃ）に示されるように、アルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴからアルコール濃度補正学習値ＦＡＬＣを減算した値の絶対値が、予め定められたアルコール濃度補正学習値収束判定値ＴＦＣより小さいか否かが判定される。即ち、上記絶対値がアルコール濃度補正学習値収束判定値ＴＦＣより小さい場合には、アルコール濃度補正学習値ＦＡＬＣが略収束したと判定し、ステップ１７５へ進む。次いで、図１０（Ｄ）に示すように、ステップ１７５において、アルコール濃度補正学習値収束フラグＳＦに１をセットし、次いで、ステップ１７８に進んで時間カウンタＣＮＴをゼロにリセットしてルーチンを終了する。
【００８３】
一方、上記絶対値がアルコール濃度補正学習値収束判定値ＴＦＣ以上である場合には、アルコール濃度補正学習値ＦＡＬＣが未だ収束していないと判定し、ステップ１７６へ進む。ステップ１７６において、アルコール濃度補正学習値収束フラグＳＦに０をセットし、次いで、ステップ１７８に進んで時間カウンタＣＮＴをゼロにリセットしてルーチンを終了する。
【００８４】
アルコール濃度補正学習値収束判定値ＴＦＣは、サブフィードバック学習制御を開始したときの排気エミッションが許容範囲内となるときの、アルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴからアルコール濃度補正学習値ＦＡＬＣを減算した値の絶対値として予め実験等によって決定される。
【００８５】
次に、三番目の実施形態について図１４を参照しながら説明する。図１１のステップ１５７において、アルコール濃度補正学習回数Ｎｇがインクリメントされた後、ステップ１８１に進む。ステップ１８１において、始動前に給油が有ったか否かが判定される。給油が有った場合は、燃料中のアルコール濃度が大きく変動している可能性が高いため、二番目の実施形態と同様の処理によってアルコール濃度補正学習値ＦＡＬＣの収束を判定し、アルコール濃度補正学習値収束フラグＳＦに１又は０をセットする。即ち、本実施形態におけるステップ１８２以降の処理は、図１３に示す二番目の実施形態のステップ１７１以降の処理と同様であるので説明は省略する。
【００８６】
一方、ステップ１８１において、始動前に給油が無かった場合は、燃料中のアルコール濃度は、前回運転時にアルコール濃度補正学習値ＦＡＬＣが行われた状態をほとんど変化がないと考えられるため、ステップ１８６へ進んでアルコール濃度補正学習値収束フラグＳＦに１をセットし、次いで、ステップ１８８に進んで時間カウンタＣＮＴをゼロにリセットしてルーチンを終了する。
【００８７】
本実施形態によれば、燃料中のアルコール濃度が変動したと思われる給油が有った場合にのみアルコール濃度補正学習値収束フラグＳＦの判定処理が行われるので、給油が無かった場合においては、迅速にサブフィードバック学習制御を開始させることが可能となる。
【００８８】
なお、このステップ１８１において行われる給油の有無の判定は、一番目の実施形態に適用してもよい。即ち、この場合には、例えばステップ１６１のアルコール濃度補正学習回数Ｎｇの判定を行う前に給油の有無の判定をし、給油が有った場合にのみステップ１６１に進んで、アルコール濃度補正学習回数Ｎｇの判定を行うようにしてもよい。
【００８９】
また、一番目の実施形態におけるステップ１６１のアルコール濃度補正学習回数Ｎｇによる判定処理を、二番目及び三番目の実施形態に適用することも可能である。即ち、例えば二番目の実施形態においては、ステップ１７１を開始する前に、アルコール濃度補正学習回数Ｎｇがアルコール濃度補正学習値収束判定回数Ｎｇｓｆｂｇ以上であるか否かを判定し、アルコール濃度補正学習値収束判定回数Ｎｇｓｆｂｇ以上である場合には、ステップ１７１に進み、そうでない場合にはステップ１７６に進むようにしてもよい。三番目の実施形態においても同様に、ステップ１８１の前又は後においてアルコール濃度補正学習回数Ｎｇを判定するようにしてもよい。
【図面の簡単な説明】
【００９０】
【図１】本発明の空燃比制御装置が用いられる内燃機関全体の図である。
【図２】排気空燃比と空燃比センサの出力電圧との関係を示した図である。
【図３】排気空燃比と酸素センサの出力電圧との関係を示した図である。
【図４】アルコール濃度補正学習値と理論空燃比との関係を示した図である。
【図５】目標燃料供給量算出制御操作を示すフローチャートである。
【図６】メインフィードバック制御操作を示すフローチャートである。
【図７】排気空燃比、酸素センサの出力値、空燃比センサの出力補正値及びサブフィードバック学習値のタイムチャートである。
【図８】サブフィードバック制御操作及びサブフィードバック学習制御操作を示すフローチャートである。
【図９】アルコール濃度補正学習制御操作のタイムチャートである。
【図１０】アルコール濃度補正学習制御操作のタイムチャートである。
【図１１】アルコール濃度補正学習制御操作のフローチャートの一部である。
【図１２】図１１から続くアルコール濃度補正学習制御操作のフローチャートの一部である。
【図１３】図１１から続くアルコール濃度補正学習制御操作のフローチャートの別の実施形態の一部である。
【図１４】図１１から続くアルコール濃度補正学習制御操作のフローチャートの更に別の実施形態の一部である。
【図１５】アルコール濃度補正学習回数Ｎｇ、アルコール濃度補正学習値収束先推定値ＦＡＬＣＥＳＴの変化量ΔＦＡＬＣＥＳＴ、ＦＡＦ＋ΔＦＡＣＬの関係を示す図である。
【符号の説明】
【００９１】
１    機関本体
３    ピストン
５    燃焼室
６    吸気弁
８    排気弁
１０    点火栓
１１    燃料噴射弁
３１    ＥＣＵ
２３    空燃比センサ
２４    酸素センサ
４２    負荷センサ
４３    クランク角センサ
【図１】
2009144568.tif 000005
【図２】
2009144568.tif 000006
【図３】
2009144568.tif 000007
【図４】
2009144568.tif 000008
【図５】
2009144568.tif 000009
【図６】
2009144568.tif 000010
【図７】
2009144568.tif 000011
【図８】
2009144568.tif 000012
【図９】
2009144568.tif 000013
【図１０】
2009144568.tif 000014
【図１１】
2009144568.tif 000015
【図１２】
2009144568.tif 000016
【図１３】
2009144568.tif 000017
【図１４】
2009144568.tif 000018
【図１５】
2009144568.tif 000019