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