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