(57)【特許請求の範囲】
【請求項１】
空燃比フィードバック制御により燃料タンク内の単一組成分濃度を学習し、燃料タンクから燃料供給装置までの濃度変化遅れを予測して燃料供給装置での濃度を算出する内燃機関の制御装置であって、
内燃機関の排気系に設置され前記内燃機関からの排気ガス中の空燃比を検出する空燃比検出手段と、
前記空燃比検出手段の空燃比の検出値に基づいて前記燃料供給装置における燃料供給量を補正するための空燃比補正量を算出する空燃比補正量算出手段と、
燃料が給油されたと判定された時点から内燃機関に供給された燃料量を積算した給油後の積算燃料量に応じて、燃料給油により単一組成分濃度の変化した前記燃料タンク内の燃料が前記燃料供給装置に到達するまでの単一組成分濃度変化の遅れ挙動を推定する燃料濃度変化遅れ挙動推定手段と、
前記燃料濃度変化遅れ挙動推定手段により、無駄時間遅れ後の濃度が変化していると推定されるときに前記空燃比補正量算出手段の空燃比補正量に基づき前記燃料タンク内の燃料の単一組成分濃度を推定するタンク内濃度学習手段と、
前記タンク内濃度学習手段による燃料タンク内の単一組成分濃度を、前記燃料濃度変化遅れ挙動推定手段による遅れ挙動に応じてフィルタ処理することにより、内燃機関に供給される燃料の単一組成分濃度を、その変化時の値を含めて算出する供給燃料濃度算出手段と、
前記供給燃料濃度算出手段による算出濃度に基づき単一組成分濃度補正係数を演算し、補正係数により内燃機関に供給する燃料量を補正する燃料制御手段と、
を備えたことを特徴とする内燃機関の制御装置。
【請求項２】
燃料濃度変化遅れ挙動推定手段は、燃料供給により変化した燃料タンク内燃料の単一組成分濃度が燃料供給装置に到達するまでの単一組成分濃度変化の遅れ挙動を、無駄時間遅れとフィルタ遅れにより推定することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項３】
供給燃料濃度算出手段は、タンク内濃度学習手段により燃料給油前に算出された給油前の燃料タンク内の燃料の単一組成分濃度と、燃料給油後に算出された給油後の燃料タンク内の燃料の単一組成分濃度と、燃料濃度変化遅れ挙動推定手段による遅れ挙動に基づき内燃機関に供給される燃料の単一組成分濃度を算出することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項４】
燃料濃度変化遅れ挙動推定手段により濃度が変化していると推定されているときに、タンク内濃度学習手段による燃料タンク内の燃料の単一組成分濃度の更新を許可することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項５】
燃料濃度変化遅れ挙動推定手段により濃度が変化していると推定されているときに、蒸散ガス導入による空燃比変化を補正する蒸散ガス導入補正係数の更新を禁止することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項６】
燃料濃度変化遅れ挙動推定手段により濃度が変化していると推定されているときに、空燃比補正量算出手段の空燃比補正量を積分処理又はフィルタ処理により学習し供給燃料量を補正する空燃比学習補正係数の更新を禁止することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項７】
燃料濃度変化遅れ挙動推定手段により算出される遅れ挙動に応じて蒸散ガスの導入タイミングを演算することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項８】
燃料濃度変化遅れ挙動推定手段により濃度変化が開始してから、燃料タンク内の燃料の単一組成分濃度の学習値が安定化するまでの期間、蒸散ガスの導入を禁止することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項９】
燃料濃度変化遅れ挙動推定手段により算出される遅れ挙動に応じて蒸散ガスの導入タイミングを演算し、蒸散ガスの導入中はタンク内濃度学習手段による燃料タンク内の燃料の単一組成分濃度の更新を禁止することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項１０】
タンク内濃度学習手段において、空燃比補正量算出手段の空燃比補正量に応じてタンク内の燃料の単一組成分濃度を更新する更新ゲインを、燃料濃度変化遅れ挙動推定手段により算出される遅れ挙動に応じて変化させることを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項１１】
燃料濃度変化遅れ挙動推定手段により算出される遅れ挙動に応じて空燃比補正量算出手段による燃料フィードバック制御を強制的に実施することを特徴とする請求項１に記載の内燃機関の制御装置。
【請求項１２】
燃料濃度変化遅れ挙動推定手段により濃度変化が開始してから、燃料タンク内の燃料の単一組成分濃度の学習値が安定化するまでの期間、空燃比補正量算出手段による燃料フィードバック制御を強制的に実施することを特徴とする請求項１に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の制御装置、特にいわゆるフレキシブルフューエルビークル(ＦＦＶ)と言われる自動車のためのものに関する。
【背景技術】
【０００２】
ガソリンの他にアルコールとガソリンの各種組成の混合燃料でも走行可能な、いわゆるフレキシブルフューエルビークル(ＦＦＶ)と言われる自動車がある。
【０００３】
アルコールは、通常のガソリン(混合燃料)に対してＣ(炭素)原子の含有量が異なるため、フレキシブルフューエルビークルに用いられる内燃機関にアルコールとガソリンの混合燃料を供給する際には、燃料内のアルコール濃度に従って燃料噴射量を調整する必要がある。
【０００４】
そして、このようなフレキシブルフューエルビークルにおいては、燃料内のアルコール濃度を、空燃比センサで検出された排気ガス中の空燃比に基づいて算出される空燃比フィードバック補正係数とアルコール濃度との相関関係により、アルコール濃度推定を行うものが従来から知られている(例えば特許文献１参照)。
【０００５】
給油によりアルコール濃度が変化した燃料タンク内の燃料が、内燃機関に燃料を供給するインジェクタに到達するまでには遅れがあり、インジェクタから供給する燃料のアルコール濃度は遅れを持って変化していく。また、リターンレスの燃料供給システムではこの遅れが大きくなっている。
【０００６】
従来例によると、空燃比フィードバック補正係数からアルコール濃度をリアルタイムに演算するため、インジェクタから供給される燃料のアルコール濃度の変化を遅れなく検出できる。
【０００７】
一方、燃料タンク内の燃料が内燃機関に燃料を供給するインジェクタに到達するまでのアルコール濃度の変化の遅れは、燃料供給システムの燃料供給パイプおよびインジェクタ燃料供給タンクの容量と燃料流量などから、予め机上で設計できる所定の遅れとなる。
【０００８】
また、空燃比フィードバック補正係数には、アルコール濃度の変化の影響だけでなく、蒸散ガスの導入による空燃比の変化、もしくはインジェクタ、エアフローメータなどの燃料供給装置の特性変動による空燃比の変化の影響が混合している。これらの影響を混合して検出し、誤検出を招かないように、アルコール濃度の検出中は、蒸散ガスの導入を禁止して影響を取り除き、また燃料供給装置の特性変動の検出を禁止して、アルコール濃度の検出精度を向上させている。
【０００９】
【特許文献１】特開２００４−２４５０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来の方法によると、インジェクタから供給する燃料のアルコール濃度が変化している間は常にアルコール濃度推定を行う必要があり、濃度推定が途中で中断した場合に不具合が生じる問題があった。例えば、アルコール濃度の変化中に、エンジンを停止させ再始動を行った後しばらくの間、空燃比センサは活性しないため、空燃比フィードバックは停止し、アルコール濃度推定も停止する。このため、一時的にアルコール濃度の変化を検出できなくなり、空燃比変動が生じる。また、低水温になると空燃比センサの活性は非常に遅れるため、濃度推定の停止期間が長くなり、空燃比変動も大きくなる。
【００１１】
また、インジェクタから供給する燃料のアルコール濃度の変化中は、常に濃度推定を行う必要があり、濃度推定を中断すると空燃比制御精度が低下するため、濃度推定を中断し蒸散ガスを導入したり、リッチ化などの空燃比オープンループ制御を行ったりすることが困難であった。
【００１２】
この発明は、空燃比フィードバック補正係数により、給油後直ぐに変化し安定する燃料タンク内のアルコール濃度を学習するため、学習開始後、短時間でアルコール濃度学習値を安定化させることができ、安定した燃料タンク内のアルコール濃度と、燃料タンクからインジェクタまでの濃度変化の遅れの予測から、インジェクタにおける濃度を算出することにより、エンジン停止、蒸散ガス導入、空燃比オープンループ制御によりアルコール濃度学習が中断しても、インジェクタにおけるアルコール濃度を精度良く算出でき、また、アルコール濃度精度が保たれるため、インジェクタのアルコール濃度変化中であっても、蒸散ガス導入、空燃比オープンループ制御を許可することができる内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
この発明は、空燃比フィードバック制御により燃料タンク内の単一組成分濃度を学習し、燃料タンクから燃料供給装置までの濃度変化遅れを予測して燃料供給装置での濃度を算出する内燃機関の制御装置であって、内燃機関の排気系に設置され前記内燃機関からの排気ガス中の空燃比を検出する空燃比検出手段と、前記空燃比検出手段の空燃比の検出値に基づいて前記燃料供給装置における燃料供給量を補正するための空燃比補正量を算出する空燃比補正量算出手段と、燃料が給油されたと判定された時点から内燃機関に供給された燃料量を積算した給油後の積算燃料量に応じて、燃料給油により単一組成分濃度の変化した前記燃料タンク内の燃料が前記燃料供給装置に到達するまでの単一組成分濃度変化の遅れ挙動を推定する燃料濃度変化遅れ挙動推定手段と、前記燃料濃度変化遅れ挙動推定手段により、無駄時間遅れ後の濃度が変化していると推定されるときに前記空燃比補正量算出手段の空燃比補正量に基づき前記燃料タンク内の燃料の単一組成分濃度を推定するタンク内濃度学習手段と、前記タンク内濃度学習手段による燃料タンク内の単一組成分濃度を、前記燃料濃度変化遅れ挙動推定手段による遅れ挙動に応じてフィルタ処理することにより、内燃機関に供給される燃料の単一組成分濃度を、その変化時の値を含めて算出する供給燃料濃度算出手段と、前記供給燃料濃度算出手段による算出濃度に基づき単一組成分濃度補正係数を演算し、補正係数により内燃機関に供給する燃料量を補正する燃料制御手段と、を備えたことを特徴とする内燃機関の制御装置にある。
【発明の効果】
【００１４】
この発明においては、空燃比フィードバック補正係数により、給油後直ぐに変化し安定する燃料タンク内のアルコール濃度を学習するため、学習開始後、短時間でアルコール濃度学習値を安定化させることができ、安定した燃料タンク内のアルコール濃度と、燃料タンクからインジェクタまでの濃度変化の遅れの予測から、インジェクタにおける濃度を算出することにより、エンジン停止、蒸散ガス導入、空燃比オープンループ制御によりアルコール濃度学習が中断しても、インジェクタにおける濃度を精度良く算出できる。また、アルコール濃度精度が保たれるため、インジェクタのアルコール濃度変化中であっても、蒸散ガス導入、空燃比オープンループ制御を許可することができる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図１は、この発明の一実施の形態に係る内燃機関の制御装置の概略構成を示している。なお、図１に示す内燃機関は、アルコールを含む燃料を用いる内燃機関である。内燃機関であるエンジン１０の吸気ポート１１に接続された吸気管１２の最上流部にはエアクリーナ１３が設けられ、このエアクリーナ１３の下流側にエンジン１０に吸入される空気量を検出するエアフローメータ４０が設けられており、さらに下流にスロットルバルブ１４が設けられている。このスロットルバルブ１４を収納するスロットルボデー１５には、スロットルバルブ１４をバイパスする吸気量を調節するアイドルスピードコントロールバルブ１６と、吸気管圧力を検出する吸気管圧力センサ１７とが設けられている。スロットルボデー１５の下流側にはサージタンク１８が設けられ、このサージタンク１８内には吸気温度を検出する吸気温度センサ１９が設けられている。
【００１６】
また、各気筒の吸気ポート１１の近傍には、燃料タンク２０から供給される燃料を噴射するインジェクタ(燃料供給装置)２１が設けられている。燃料タンク２０内の燃料は燃料ポンプ２２により汲み上げられ、燃料供給パイプ２５中を圧力レギュレータ２３と燃料フィルタ２４を経てインジェクタ２１に燃料供給をおこなうデリバリパイプ２６まで送られ、このデリバリパイプ２６から各気筒のインジェクタ２１に分配される。圧力レギュレータ２３の背圧室は大気に開放されている。燃料ポンプ２２から圧力レギュレータ２３に送られてくる燃料の余剰分は、圧力レギュレータ２３の燃料戻し口３６から燃料タンク２０内に戻される。
【００１７】
以上説明した燃料供給系は、デリバリパイプ２６から余剰燃料を燃料タンク２０内に戻すリターン配管が廃止され、燃料配管２５がデリバリパイプ２６で終端となるリターンレスの燃料供給システムとなっている。
【００１８】
また、燃料タンク２０内には、燃料の液面レベルを検出する燃料レベルゲージ９が取り付けられており、燃料レベルを検出する。
【００１９】
エンジン１０を冷却するウォータジャケット３０には、冷却水温を検出する水温センサ３１が取り付けられている。また、エンジン１０の回転数は、クランク角センサ３２から所定クランク角毎に出力されるパルス信号の周波数によって検出される。
【００２０】
インジェクタ２１は、ＣＰＵ、ＲＯＭ、ＲＡＭ、バックアップＲＡＭ、ＥＥＰＲＯＭ等(図示省略)を備えたコンピュータからなるエンジンコントロールユニット３５(以下、ＥＣＵと記す)からの噴射指令信号により運転条件に応じて所定の空燃比となるよう吸気中に燃料を噴射供給している。一方、エンジン１０の排気ポート２７に接続された排気管２８には、排出ガスの空燃比を検出する酸素濃度センサ(空燃比検出手段)２９が設けられ、この酸素濃度センサ２９の下流側には、排ガス浄化用の三元触媒(図示せず)が設けられている。三元触媒は理論空燃比を中心とするいわゆるウィンドウに空燃比がある場合に最大の転化効率をもって排気中のＮＯｘ、ＨＣ、ＣＯを同時に浄化できるため、ＥＣＵ３５では、三元触媒の上流側に設けた酸素濃度センサ２９からの出力に基づいて排気空燃比が上記のウィンドウの範囲内で変動するように排気空燃比のフィードバック制御を行う。なおＥＣＵ３５は、内燃機関制御に関する酸素濃度センサ２９等の各種センサからの信号に基づき内燃機関制御に関する各種制御を行うものである。
【００２１】
アルコールを含む燃料は、通常のガソリンに対してＣ(炭素)原子およびＯ(酸素)原子の含有量が異なるため、同一の当量比を得るには大きな噴射量が要求されることになり、アルコールとガソリンの混合燃料をエンジンに供給するにあたっては、燃料内のアルコール濃度に従って燃料噴射量を調整する必要がある。そこで、酸素濃度センサ２９の検出値を利用して燃料内のアルコール濃度を予測し燃料噴射量に反映する。
【００２２】
また、キャニスタ８が燃料タンク２０に接続されており、燃料タンク２０内の燃料から発生する蒸散ガスを吸着する。また、キャニスタ８は吸気管１２に接続されており、蒸散ガス導入時はＥＣＵ３５によりバルブ７が開かれ、キャニスタ８に吸着されていた蒸散ガスが吸気管１２に導入される。
【００２３】
この実施の形態では、酸素濃度センサ２９の検出空燃比を用いた空燃比フィードバック制御の補正係数(空燃比補正量)と、リターンレス燃料供給システムにおけるアルコール濃度変化の遅れを表した濃度変化遅れ係数とを用い燃料内単一組成分濃度として燃料内のアルコール濃度を推定する。
【００２４】
また、空燃比フィードバック補正係数には、アルコール濃度の変化の影響だけでなく、蒸散ガスの導入による空燃比の変化もしくは、インジェクタ、エアフローメータなどの燃料供給装置の特性変動による空燃比の変化の影響が混合している。これらの影響を混合して検出し、誤検出を招かないように、アルコール濃度変化の遅れ挙動、燃料タンク内のアルコール濃度学習の挙動を考慮し、アルコール濃度学習、蒸散ガス導入制御、燃料供給装置の特性変動の学習制御、空燃比オープンループ制御を、相互に適切に設定している。
【００２５】
図２はＥＣＵ３５で行われる、空燃比フィードバック制御の動作の一例を示す動作フローチャートである。これは、酸素濃度センサを用いた空燃比フィードバック制御の空燃比補正系数ＫＦＢ等を演算する空燃比フィードバック制御ルーチンであって、所定時間、例えば５ｍｓ毎に実行される。なお、以降に説明する処理に必要な各種ファクタ、マップ、フラグ等はＥＣＵ３５の記憶部に設定、記憶され、また適宜更新される(以下同様)。
【００２６】
図２において、各判定処理からの分岐部の符号「Ｙ」、「Ｎ」はそれぞれ、「Ｙｅｓ」、「Ｎｏ」を示している。まず、ステップ２０１では、酸素濃度センサ２９の出力電圧Ｖ１をＡ／Ｄ変換してとりこむ(センサ出力情報の処理)。
【００２７】
ステップ２０２では、酸素濃度センサ２９による空燃比の閉ループ(フィードバック：Ｆ／Ｂ)条件が成立しているか否か、すなわちＦ／Ｂ領域にあるか否かを判別する。たとえば、理論空燃比制御以外の空燃比制御条件(例えば、機関始動中、低水温時のリッチ化制御中、高負荷パワー増量のリッチ化制御中、燃費向上のためのリーン化制御中、始動後のリーン化制御中、燃料カット中)、酸素濃度センサ２９の不活性状態時、酸素濃度センサ２９が故障している時等はいずれも閉ループ条件が不成立であり、その他の場合は閉ループ条件成立である。
【００２８】
閉ループ条件が不成立のときには、ステップ２０８に進んで空燃比補正係数ＫＦＢを１．０とする。また、ステップ２０９で積分演算値ＫＩを０．０にリセットする。
【００２９】
他方、閉ループ条件成立の場合はステップ２０３からステップ２０６で比例、積分演算によるフィードバック制御を行う。ステップ２０３にて、酸素濃度センサ２９の出力Ｖ１と目標電圧ＶＦ１とを比較し、リッチ／リーン判定を行う。Ｖ１がＶＦ１以上で検出空燃比がリッチの場合はステップ２０４に進む。一方Ｖ１がＶＦ１より小さく検出空燃比がリーンの場合はステップ２０５に進む。
【００３０】
検出空燃比がリッチの場合は、ステップ２０４にて燃料噴射量を減少するように、積分演算値ＫＩ、比例演算値ＫＰを以下のように減少させる。
ＫＩ←ＫＩ−ＤＩ
ＫＰ←  −ＤＰ
積分演算値ＫＩのゲインＤＩ、比例演算値ＫＰのゲインＤＰは、運転条件毎にフィードバック性能が良好になるように設定されている。
【００３１】
一方、検出空燃比がリーンの場合は、ステップ２０５にて燃料噴射量が増加するように、積分演算値ＫＩ、比例演算値ＫＰを以下のように増加させる。
ＫＩ←ＫＩ＋ＤＩ
ＫＰ←  ＋ＤＰ
【００３２】
ステップ２０６では燃料補正係数である空燃比補正係数(空燃比補正量)ＫＦＢを以下のように演算する。
ＫＦＢ←１．０＋ＫＩ＋ＫＰ
【００３３】
ステップ２０７に進み、空燃比補正係数ＫＦＢの上下限制限処理を以下のように行なう。
ＫＦＢｍｉｎ＜ＫＦＢ＜ＫＦＢｍａｘ
このように処理することにより、過大な燃料操作をすることが防止でき、ドライバビリティの悪化等を防ぐことができる。
【００３４】
ステップ２１０からステップ２１４で、空燃比補正係数ＫＦＢの学習値、学習補正係数ＫＬＲＮを算出する。この学習制御は、インジェクタ２１の経年変化、生産バラツキを補償するために行われる。例えば、インジェクタ２１の噴射量特性の変化、エアフローメータ４０の検出空気量の誤差等がある。これらの特性変化がない場合は、空燃比補正係数ＫＦＢの中心は１．０になるように設計されているが、特性変化が生じると１．０からずれていく。学習制御は、このＫＦＢの１．０からのずれを学習値、学習補正係数ＫＬＲＮにより補償し、ＫＦＢの中心を１．０に保つ作用がある。
【００３５】
ステップ２１０では、学習補正係数ＫＬＲＮを更新する条件であるか否かを判定する。更新許可条件には、上述の空燃比フィードバック制御中、水温条件、蒸散ガスの非導入時、アルコール濃度変化中でないときなどがある。アルコール濃度変化の条件は、後述する更新許可フラグＦＦＢＬＲＮが１．０のときに更新許可と判定する。更新許可の場合は、ステップ２１１に進み、禁止の場合はステップ２１４に進む。
【００３６】
ステップ２１１にて、積分演算値ＫＩが０以上であるか否か判定する。０以上の場合はステップ２１２に進み、０より小さい場合はステップ２１３に進む。ＫＩが０以上である場合は、インジェクタ２１による噴射量が少なくなっていること示しており、ステップ２１２にて、学習補正係数ＫＬＲＮを更新ゲインＤＬＲＮ分増加させる。一方、ＫＩが０より小さい場合は、ステップ２１３にて、学習補正係数ＫＬＲＮを更新ゲインＤＬＲＮ分減少させる。更新ゲインＤＬＲＮは、上述の積分演算更新ゲインＤＩより十分小さく設定されており、学習補正係数ＫＬＲＮの変化速度が、空燃比補正係数ＫＦＢの変化速度にくらべ大きくなりすぎないようにする。また、学習補正係数ＫＬＲＮは運転条件毎に保持されており、運転条件による特性変動の傾向差を吸収する。
【００３７】
ステップ２１４に進み、学習補正係数ＫＬＲＮの上下限制限処理を以下のように行なう。
ＫＬＲＮｍｉｎ＜ＫＬＲＮ＜ＫＬＲＮｍａｘ
このように処理することにより、過大な燃料操作をすることが防止でき、ドライバビリティの悪化等を防ぐことができる。また、ＫＬＲＮが上下限に到達したときは、燃料供給システムに何らかの不具合が生じた可能性があるため、故障判定に用いられる。
【００３８】
ステップ２１５からステップ２２０で、吸気管１２に導入された蒸散ガスによる空燃比変化を補償する蒸散ガス導入補正係数ＫＰＲＧを算出する。
【００３９】
ステップ２１５では、蒸散ガスの導入条件であるか判定する。蒸散ガスの導入中の場合は、ステップ２１６に進む。非導入の場合はステップ２２０に進み、蒸散ガス導入補正係数ＫＰＲＧを１．０にリセットし、演算ルーチンを終了する。
【００４０】
ステップ２１６では、蒸散ガス導入補正係数ＫＰＲＧの更新条件であるか判定する。更新許可条件には、上述の空燃比フィードバック制御中、水温条件、アルコール濃度変化中でないときなどがある。アルコール濃度変化の条件は、後述する更新許可フラグＦＰＲＧＬＲＮが１．０のときに更新許可と判定する。更新許可の場合は、ステップ２１７に進み、禁止の場合は演算ルーチンを終了する。
【００４１】
ステップ２１７にて、積分演算値ＫＩが０以上であるか否か判定する。０以上の場合はステップ２１８に進み、０より小さい場合はステップ２１９に進む。ＫＩが０以上である場合は、蒸散ガス導入によりリーンの空燃比変動を生じていること示しており、ステップ２１８にて、蒸散ガス導入補正係数ＫＰＲＧを更新ゲインＤＰＲＧ分増加させる。一方、ＫＩが０より小さい場合は、ステップ２１９にて、蒸散ガス導入補正係数ＫＰＲＧを更新ゲインＤＰＲＧ分減少させる。更新ゲインＤＰＲＧは、上述の積分演算値ＫＩのゲインＤＩより十分小さく設定されており、蒸散ガス導入補正係数ＫＰＲＧの変化速度が、空燃比補正係数ＫＦＢにくらべ大きくなりすぎないようにする。また、ステップ２１５で蒸散ガス導入禁止の場合に蒸散ガス導入補正係数ＫＰＲＧが１．０にリセットされる前に、ＫＰＲＧを別の変数で保持しておき、禁止から導入となったときにＫＰＲＧの初期値とするようにしてもよい。
【００４２】
エンジン１０に供給する燃料供給量Ｑｆｕｅｌ１は、アルコール濃度０％の場合の基本噴射量Ｑｆｕｅｌ０、後述するアルコール濃度補正係数ＫＡＬ、空燃比補正係数(燃料補正係数)ＫＦＢ、学習補正係数ＫＬＲＮ、蒸散ガス導入補正係数ＫＰＲＧにより以下のように設定される。
Ｑｆｕｅｌ１＝Ｑｆｕｅｌ０×ＫＡＬ×ＫＦＢ×ＫＬＲＮ×ＫＰＲＧ
ここで、Ｑｆｕｅｌ０はアルコール濃度０％の場合の基本燃料量であり、次式のように演算される。
Ｑｆｕｅｌ０＝Ｑａｃｙｌ／目標空燃比
ここで、Ｑａｃｙｌは、エアフローメータ４０により検出される吸入空気量ｑａに基づき演算されるエンジン１０に供給される空気量である。目標空燃比は、アルコール濃度０％の時の空燃比であり、図３に示すような、エンジン回転数、負荷の２次元マップ(ＥＣＵ３５に格納されている)に設定された空燃比に設定される。
【００４３】
また、吸入空気量ｑａは、吸気管圧力センサ１７の出力、もしくはクランク角センサ３２から得られる機関の回転速度、もしくはスロットルバルブ１４の開度および機関の回転速度、もしくはエンジンの吸気および排気バルブの開閉タイミングおよびリフト量に応じて演算しても良い。
【００４４】
図４は、ＥＣＵ３５で行われる、アルコール濃度推定の動作フローチャートである。これは、燃料タンク内のアルコール濃度推定値と、燃料タンクからインジェクタまでの濃度変化遅れを推定した係数から、インジェクタにおけるアルコール濃度ＡＬを推定し、アルコール濃度補正係数ＫＡＬを演算するアルコール濃度推定の演算ルーチンであって、所定時間、例えば５ｍｓ毎に実行される。
【００４５】
ステップ４０１で燃料タンク２０に給油がされたか判定する。これは燃料タンク２０内の燃料レベルゲージ９の出力変化などにより判定する。所定時間内の燃料レベルの増加量が所定量以上となったとき、燃料が給油されたと判定しステップ４０２に進み、濃度学習開始時の初期値を設定する。一方、給油がされていないと判定した場合はステップ４０４に進む。
【００４６】
また、給油判定は、走行中は燃料タンク２０内の液面変動により燃料レベルゲージ９の出力が変動し誤判定を生じるため、停車中の燃料レベルゲージの変化をモニタするようにしてもよい。また、燃料タンクの給油口キャップの開閉センサ、給油ノズルの検出センサ、タンク内圧センサ、タンク内の燃料性状センサ等(共に図示省略)の出力変化等によっても給油判定を行うことができる。
【００４７】
ステップ４０２では、給油後の燃料噴射量の積算値(給油後積算噴射量)ＩＮＪＳＵＭを０にリセットする。また、ステップ４０３では、下記に示すように、今回給油前の燃料タンク２０内のアルコール濃度ＡＬＯＬＤを、前回給油後に算出した給油後の燃料タンク２０内のアルコール濃度ＡＬＮＥＷに設定する。
ＡＬＯＬＤ←ＡＬＮＥＷ
今回給油後の燃料タンク２０内のアルコール濃度ＡＬＮＥＷは、この給油時点では算出できないため、前回給油後の値のままにしておく。
ＡＬＮＥＷ←ＡＬＮＥＷ
【００４８】
ステップ４０４では、給油後の燃料噴射量の積算値ＩＮＪＳＵＭを更新する。インジェクタ２１から燃料が供給されたとき、下記のように供給燃料量Ｑｆｕｅｌ１だけ増加させる。
ＩＮＪＳＵＭ←ＩＮＪＳＵＭ＋Ｑｆｕｅｌ１
【００４９】
ステップ４０５では、給油により変化したアルコール濃度の燃料タンク２０内の燃料が内燃機関に燃料を供給するインジェクタ２１に到達するまでのアルコール濃度の変化の遅れを表す濃度変化遅れ係数ＫＲＴを算出する。
濃度変化遅れ係数ＫＲＴは、図５に示す２次元マップ(ＥＣＵ３５に格納されている)により給油後の燃料噴射量の積算値(給油後積算噴射量)ＩＮＪＳＵＭに応じて算出される(ＫＲＴ←ＭＡＰ(ＩＮＪＳＵＭ))。インジェクタ２１における燃料が給油前の燃料である場合は０に設定されており、インジェクタ２１における燃料が給油後の燃料タンク２０内燃料に１００％入れ替わった場合は１．０に設定される。
【００５０】
この濃度変化遅れ係数ＫＲＴは、燃料供給システムの遅れにあわせて設定される。例えば、リターンレスの燃料供給システムでは、図６に示すように、圧力レギュレータ２３から下流では、燃料はインジェクタで噴射された分しか進まなくなっており、アルコール濃度変化の遅れが大きい。一方、圧力レギュレータ２３から上流では常に燃料は循環しておりアルコール濃度変化の遅れは非常に小さい。このため、燃料タンク２０内の燃料からインジェクタ２１における燃料までのアルコール濃度変化の遅れは、圧力レギュレータ２３下流の燃料供給パイプ２５とインジェクタ燃料供給用のデリバリパイプ２６との燃料移送遅れからなる。燃料供給パイプ２５は比較的細長いパイプで構成されるため、遅れは無駄時間遅れとなる。一方、燃料供給用のデリバリパイプ２６は比較的細長くない太いパイプで構成させるため、パイプ内で燃料が良く混合し均一となりタンク的な遅れである一次遅れ的なフィルタ遅れにより表現できる。
【００５１】
図１７に示す、燃料供給パイプ２５の濃度変化遅れについて説明する。出力のアルコール濃度Ｅｏｕｔは、入力の濃度Ｅｉｎが無駄時間Ｔ１経過した後の濃度となり、次式となる。
Ｅｏｕｔ(ｔ)＝Ｅｉｎ(ｔ−Ｔ１)
無駄時間Ｔ１の関係式を導出する。パイプ内の燃料の流速ｖは、流量ｑｆと、断面積Ａから次式となる。
ｖ＝ｑｆ／Ａ
流量ｖの燃料が、長さＨのパイプを入力から出力まで移動する時間Ｔ１とすると次式を得る。
Ｈ＝∫T10 ｖｄｔ＝∫T10 ｑｆ／Ａｄｔ
パイプ容量Ｖ１＝断面積Ａ×長さＨから、無駄時間Ｔ１に関する次式を得る。ここで、流量ｑｆは時変(時間的変化有)であり、無断時間Ｔ１は流量ｑｆの積分演算の数値解法により求まる。
Ｖ１＝∫T10 ｑｆｄｔ          (１)
無駄時間Ｔ１の演算には、ｑｆの変化により時変であるため数値演算が必要であるが、時間軸ｔを積分流量に変換して、数値演算が必要ないようにする。積分流量をＱｆとして定義する。
Ｑｆ＝∫t0 ｑｆｄｔ
微分すると、
ｄＱｆ／ｄｔ＝ｑｆ
上式を式(１)に代入し整理すると、次式を得る。
Ｖ１＝∫T10 ｄＱｆ＝Ｔ１
このように時間軸ｔを積分流量Ｑｆに変換すると、無駄時間Ｔ１はパイプ容量Ｖ１の固定値となり、式(１)のような数値演算が必要なくなる。
【００５２】
図１８に示す、インジェクタのデリバリパイプ２６の濃度変化遅れについて説明する。デリバリパイプ２６のアルコール濃度Ｅｒ１は、パイプ内のアルコール燃料の体積Ｖａ１と、ガソリン燃料の体積Ｖｇと、デリバリパイプ２６の容積Ｖ２から次式となる。
Ｅｒ１＝Ｖａ１／(Ｖａ１＋Ｖｇ)＝Ｖａ１／Ｖ２          (２)
デリバリパイプ内のアルコール燃料の体積Ｖａ１の変化速度は、デリバリパイプに流入するアルコール体積の変化速度を濃度Ｅｉｎ×流速ｑｆとし、流出するアルコール体積の変化速度を濃度Ｅｏｕｔ×流速ｑｆとすると、次式を得る。
ｄＶａ１／ｄｔ＝Ｅｉｎ×ｑｆ−Ｅｏｕｔ×ｑｆ          (３)
また、デリバリパイプ内の燃料は良く混合し、濃度が均一であると仮定すると、デリバリパイプ内の濃度Ｅｒ１と、流出する濃度Ｅｏｕｔは同じになる。
Ｅｒ１＝Ｅｏｕｔ          (４)
従って、式(３)に式(２)(４)を代入し整理すると、デリバリパイプへ流入、流出するアルコール濃度の変化は次式となる。
ｄＥｏｕｔ／ｄｔ＝(Ｅｉｎ−Ｅｏｕｔ)×ｑｆ／Ｖ２          (５)
ラプラス変換し整理すると、デリバリパイプへ流入するアルコール濃度Ｅｉｎから流出する濃度Ｅｏｕｔまでの伝達関数は一次遅れとなり、時定数Ｔ２は、容積Ｖ２と流速ｑｆから、
Ｔ２＝Ｖ２／ｑｆ(ｓ)となる。
Ｅｏｕｔ(ｓ)／Ｅｉｎ(ｓ)＝１／(Ｔ２×ｓ＋１)
Ｔ２＝Ｖ２／ｑｆ          (６)
式(６)の時定数Ｔ２はｑｆの変化により時変であり数値演算が必要であるが、時間軸ｔを積分流量に変換して、数値演算が必要ないようにする。積分流量を燃料供給パイプの場合と同じようにＱｆとして定義する。
Ｑｆ＝∫t0 ｑｆｄｔ
微分すると、
ｄＱｆ／ｄｔ＝ｑｆ
上式を式(５)に代入し整理すると、次式を得る。
Ｅｏｕｔ＝∫Qf0 (Ｅｉｎ−Ｅｏｕｔ)ｄＱｆ
ラプラス変換して整理すると、一次遅れとなり、時定数Ｔ２はＶ２の固定値となる。
Ｅｏｕｔ(ｓ)／Ｅｉｎ(ｓ)＝１／(Ｔ２ｓ＋１)
Ｔ２＝Ｖ２
【００５３】
このように、時間軸ｔを積分流量Ｑｆに変換することにより、燃料供給パイプ２５の無駄時間遅れＴ１は、燃料供給パイプ２５の容量Ｖ１からＴ１＝Ｖ１の固定値となり、デリバリパイプ２６の一次遅れの時定数Ｔ２は、デリバリパイプ２６の容量Ｖ２からＴ２＝Ｖ２の固定値となり、燃料流速ｑｆの変化に応じた数値演算を行う必要がなくなる。
【００５４】
このアルコール濃度変化の遅れのタイムチャートを図７に示す。図７の(ａ)が燃料タンク内アルコール濃度、(ｂ)がインジェクタアルコール濃度を示す。時間軸ｔを積分流量Ｑｆに変換している。積分流量Ｑｆ７１で給油によりアルコール濃度の高い燃料が供給され、ステップ的に燃料タンク２０内のアルコール濃度が高くなる。一方、インジェクタ２１における燃料のアルコール濃度は前述の無駄時間遅れと一次遅れ的なフィルタ遅れを持って変化する。横軸を積分流量とした場合、無駄時間Ｔ１は燃料供給パイプ２５の容量Ｖ１となり、一次遅れの時定数Ｔ２はデリバリパイプ２６の容量Ｖ２となる。
【００５５】
前述の図５の濃度変化遅れ係数ＫＲＴの設定は、横軸を積分流量とし、また燃料入れ替え時点を積分流量のゼロ点として、燃料タンク内アルコール濃度のステップ的な変化に対する、インジェクタのアルコール濃度変化の無駄時間、一次遅れ挙動を表すように設定している。横軸を積分流量としているため、流量ｑｆの変化に対し、無駄時間Ｔ１、一次遅れＴ２の設定値を変化させる必要がなく、固定値とすることができる、数値演算を行うことなく、簡単な１次元のマップにより演算することができる。
【００５６】
前述の図５の濃度変化遅れ係数ＫＲＴの設定値は、前述の無駄時間Ｔ１、一次遅れの時定数Ｔ２の演算式から机上で設定することもできるが、実際の燃料供給パイプ２５、インジェクタ燃料供給用のデリバリパイプ２６の形状から演算式との誤差を生じるため実験で測定したアルコール濃度変化の遅れを用いて設定してもよい。
【００５７】
また、図８に示すように、一次遅れが始まる前の無駄時間遅れの所定区間のＫＲＴを０より大きく設定し、アルコール濃度変化の開始タイミングのマージンを設けるようにしても良い。また、一次遅れ的なフィルタ遅れ終了後の所定区間の濃度変化遅れ係数ＫＲＴを１より小さく設定し、アルコール濃度変化の終了タイミングのマージンを設けるように設定しても良い。このようにマージンをもって設定することにより、アルコール濃度変化遅れ係数ＫＲＴによる濃度変化の開始、終了時期の推定に誤差が生じた場合にも対応できる。
【００５８】
ステップ４０６では、蒸散ガスの導入条件であるか否か算出する。図９に示すような２次元マップ(ＥＣＵ３５に格納されている)により、濃度変化遅れ係数ＫＲＴに応じて蒸散ガス導入許可フラグＦＰＲＧＩＮを算出する。ここで、ＦＰＲＧＩＮ＝０は蒸散ガス導入の禁止を表し、ＦＰＲＧＩＮ＝１は蒸散ガス導入の許可を表す。蒸散ガスを導入するとエンジンに供給される空燃比が変動するため、空燃比補正係数にアルコール濃度以外の空燃比変動の影響が生じ、アルコール濃度学習の精度が低下する。このため、アルコール濃度が変化しているときは蒸散ガスの導入を禁止し、アルコール濃度学習を行うのが望ましい。しかし、アルコール濃度変化中、常に蒸散ガスの導入を禁止すると、蒸散ガス導入の流量が確保できず、蒸散ガスを吸着するキャニスタ８の吸着能力を超過し、蒸散ガスが大気中に放出され大気汚染を招く恐れがある。したがって、アルコール濃度変化中もできるだけ、アルコール濃度学習を中断して、蒸散ガスを導入することが求められる。特にアイドル等の低い吸入空気量では、燃料消費量は低く、濃度変化時間は長くなり、蒸散ガスの禁止時間は長くなる。
【００５９】
本実施の形態では、給油後直ぐに変化し安定する燃料タンク内のアルコール濃度を学習するため、学習開始後、短時間でアルコール濃度学習値を安定化させることができる。従って図９に示すように、アルコール濃度変化遅れ係数ＫＲＴに応じてアルコール濃度変化開始後しばらくの間、蒸散ガスの導入を禁止して、燃料タンク内のアルコール濃度学習を行い、学習値を安定化させる。その後は、アルコール濃度学習を中断しても、安定した燃料タンク内のアルコール濃度と、燃料タンクからインジェクタまでの濃度変化の遅れの予測から、インジェクタにおけるアルコール濃度を精度良く算出できるため、アルコール濃度変化中であっても蒸散ガスを導入し、濃度学習を中断することができる。図９では、アルコール濃度変化遅れ係数ＫＲＴに応じて断続的に蒸散ガスを導入し、タンク内の濃度学習の安定化後も学習頻度を保つように設定しており、インジェクタの濃度変化終了時の最終的な学習値の精度を向上することができる。
【００６０】
又は、図１０に示すようにアルコール濃度変化遅れ係数ＫＲＴによりアルコール濃度変化中であると推定されるときはパージ導入を禁止するようにしても、無駄時間の遅れ中に蒸散ガス導入できるため流量を増加させることができる。
【００６１】
次にステップ４０７にて、空燃比フィードバック補正係数の学習補正係数ＫＬＲＮの学習値更新許可条件であるか否か、および蒸散ガス導入補正係数ＫＰＲＧの更新条件であるか否か算出する。図１１に示すような２次元マップ(ＥＣＵ３５に格納されている)により、濃度変化遅れ係数ＫＲＴに応じて学習補正係数ＫＬＲＮの更新許可フラグＦＦＢＬＲＮおよび、蒸散ガス導入補正係数ＫＰＲＧの更新許可フラグＦＰＲＧＬＲＮを算出する。ここで、ＦＦＢＬＲＮ、ＦＰＲＧＬＲＮ＝０は更新の禁止を表し、ＦＦＢＬＲＮ、ＦＰＲＧＬＲＮ＝１は更新の許可を表す。学習補正係数ＫＬＲＮおよび蒸散ガス導入補正係数ＫＰＲＧの更新に空燃比(フィードバック)補正係数ＫＦＢの情報を用いているため、アルコール濃度変化により空燃比補正係数ＫＦＢが変動しているときに更新を許可するとＫＬＲＮ、ＫＰＲＧの算出に誤差を生じ、その結果アルコール濃度学習にも誤学習を生じる。
【００６２】
従って、濃度変化遅れ係数ＫＲＴによりアルコール濃度の変化中と推定できる期間は空燃比フィードバック補正係数の学習補正係数ＫＬＲＮ、蒸散ガス導入補正係数ＫＰＲＧの更新を禁止し、誤差を生じるのを防止する。図１１に示すように、アルコール濃度変化の無駄時間の部分(ＫＲＴ＝０)はアルコール濃度変化が小さいため更新を許可する。また、アルコール濃度が変化している間は更新を禁止して誤差を防止する。その後、アルコール濃度の変化が終了した時点(ＫＲＴ＝１)で、更新を再び許可する。
【００６３】
また、アルコール濃度変化中も、蒸散ガス導入中は、蒸散ガス導入補正係数ＫＰＲＧを更新するようにしてもよい。早期にアルコール濃度学習値を安定化させているため、濃度学習の中断中でもアルコール濃度推定の精度を確保できるため、蒸散ガス導入補正係数ＫＰＲＧの推定精度を向上させることができ、蒸散ガス導入中の空燃比変動を少なくすることができる。また、燃料タンク内のアルコール濃度学習中は、蒸散ガス導入を禁止し、蒸散ガス導入補正係数ＫＰＲＧも１．０にリセットするため、濃度推定の精度には影響しない。
【００６４】
ステップ４０８にて、アルコール濃度変化遅れ係数ＫＲＴから、空燃比オープンループ制御の禁止条件を算出する。図１２に示すような２次元マップ(ＥＣＵ３５に格納されている)により、アルコール濃度変化遅れ係数ＫＲＴに応じて空燃比オープンループ(Ｏ／Ｌ)制御の禁止フラグＦＯＬを算出する。空燃比オープンループ制御には、高負荷のリッチ化制御、燃費向上のためのリーン化制御、始動後のリッチ化制御などがある。ＦＯＬ＝１．０は許可を表しており、ＦＯＬ＝０．０は禁止を表している。ＦＯＬ＝０．０の場合は、強制的に理論空燃比の空燃比フィードバック制御を行う。空燃比オープンループ制御中は、空燃比フィードバック制御が禁止されオープンループで燃料供給が行われるため、空燃比補正係数ＫＦＢによるアルコール濃度推定が実施できなくなる。したがって、アルコール濃度変化中に、空燃比オープンループ制御になると、アルコール濃度推定ができなくなり空燃比変動が生じる。この実施の形態では、給油後直ぐに変化し安定する燃料タンク内のアルコール濃度を学習するため、学習開始後、短時間でアルコール濃度学習値を安定化させることができる。従って、図１２に示すように、アルコール濃度変化遅れ係数ＫＲＴに応じてアルコール濃度変化開始後しばらくの間、空燃比オープンループ制御を禁止して、燃料タンク内のアルコール濃度学習を行い、学習値を安定化させる。その後はアルコール濃度学習を中断しても、安定した燃料タンク内のアルコール濃度と、燃料タンクからインジェクタまでの濃度変化の遅れの予測から、インジェクタにおけるアルコール濃度を精度良く算出できるため、アルコール濃度変化中であっても空燃比オープンループ制御を許可し、濃度学習を中断することができる。図１２では、アルコール濃度変化遅れ係数ＫＲＴに応じて断続的に空燃比オープンループ制御を禁止し、タンク内の濃度学習の安定化後も学習頻度を保つように設定しており、インジェクタの濃度変化終了時の最終的な学習値の精度を向上することができる。
【００６５】
ステップ４０９にて、アルコール濃度学習条件であるか判定する。濃度学習条件には空燃比フィードバック制御中である、およびパージ導入中でない、および燃料供給装置の特性変動の学習制御中でないなどがあり、濃度学習条件が成立している時はステップ４１０に進み、不成立の時はステップ４１２に進む。このように、パージ導入中、燃料供給装置の特性変動の学習制御中は、アルコール濃度学習を禁止することにより、空燃比フィードバック補正係数に混合している、アルコール濃度の変化の影響、蒸散ガスの導入の影響、燃料供給装置の特性変動の影響を分離して学習することができ、アルコール濃度学習の誤学習を防止できる。
【００６６】
ステップ４１０にて、アルコール濃度変化遅れ係数ＫＲＴから、インジェクタ２１におけるアルコール濃度が変化中であるか判定する。０＜ＫＲＴ＜１．０であれば、アルコール濃度が変化中であると推定できるので、ステップ４１１に進みアルコール濃度学習許可フラグＦＡＬＬＲを、濃度学習の実行を示す１にセットする。一方、ＫＲＴ＝０もしくは１の場合は、アルコール濃度の変化中でないと推定できるので、ステップ４１２に進みアルコール濃度学習許可フラグＦＡＬＬＲを、濃度学習の不実行を示す０にセットする。このように設定することにより、インジェクタ２１におけるアルコール濃度の変化中の場合だけ、アルコール濃度学習を許可でき学習期間を短縮しつつ学習精度が向上できる。
【００６７】
ステップ４１３において、アルコール濃度学習許可フラグＦＡＬＬＲが１の場合は、ステップ４１４に進みアルコール濃度を更新する、０の場合はアルコール濃度を更新せずにステップ４１８に進む。
【００６８】
ステップ４１４において、アルコール濃度の更新ゲインを算出する。図１３に示すような２次元マップ(ＥＣＵ３５に格納されている)により、濃度変化遅れ係数ＫＲＴに応じて更新ゲインＤＡＬを算出する。一次遅れ的に変化するＫＲＴの変化速度が大きいほど、更新ゲインＤＡＬを大きく設定し、急速に変化するアルコール濃度に追従できるようにし、濃度推定の応答性を向上できる。また、運転条件より変化する空燃比フィードバック制御の制御周期に合わせて、アルコール濃度の更新挙動が適切になるように、運転条件毎に同様の傾向のマップを設定する。
【００６９】
また、ステップ４１５において、燃料フィードバック補正係数の積分項ＫＩが０以上であるか否か判定する。ＫＩが０以上である場合は、インジェクタ２１におけるアルコール濃度の推定値ＡＬより実際のアルコール濃度が低いことを示しており、インジェクタ２１におけるアルコール濃度推定に用いた今回給油後の燃料タンク２０内のアルコール濃度ＡＬＮＥＷが低いことを示している。従って、ステップ４１６にて、今回給油後の燃料タンク２０内のアルコール濃度ＡＬＮＥＷを更新ゲインＤＡＬ分増加させる。一方、ＫＩが０より小さい場合は、ステップ４１７にて、今回給油後の燃料タンク２０内のアルコール濃度ＡＬＮＥＷを更新ゲインＤＡＬ分減少させる。
【００７０】
ステップ４１８にて、次式にてインジェクタ２１におけるアルコール濃度ＡＬを算出する。
ＡＬ←ＡＬＯＬＤ×(１−ＫＲＴ)＋ＡＬＮＥＷ×ＫＲＴ
ＡＬＯＬＤは、今回給油前(前回給油後)の燃料タンク２０内のアルコール濃度であり、ＡＬＮＥＷは、今回給油後の燃料タンク２０内のアルコール濃度であり、ＫＲＴは燃料タンクからインジェクタまでのアルコール濃度変化の遅れを表す濃度変化遅れ係数である。
【００７１】
このように、インジェクタ２１におけるアルコール濃度ＡＬは、給油前後の燃料タンク２０内のアルコール濃度と、燃料供給システムによる濃度変化の遅れから推定されており、逐次変化していくインジェクタ２１におけるアルコール濃度ＡＬそのものをリアルタイムで直接更新しているわけではない。また、燃料タンク２０内のアルコール濃度は燃料ポンプ２２による攪拌により給油後直ぐに均一になるため、更新開始後直ぐに学習値であるＡＬＮＥＷは所定濃度に安定し、変化していくＡＬに比べ非常に早期に安定する。また、アルコール濃度変化遅れ係数ＫＲＴは、燃料供給パイプ２５およびインジェクタ燃料供給用のデリバリパイプ２６の容量と、燃料流量により幾何学的に決まるため、ある程度精度の高い算出が可能であり、インジェクタ２１におけるアルコール濃度ＡＬの算出精度はＡＬＮＥＷの更新開始後直ぐに確保され、アルコール濃度変化の終了まで継続する。
【００７２】
また、前回給油後のアルコール濃度の学習値であるＡＬＯＬＤに何らかの要因で誤差があった場合においても、アルコール濃度変化の終了に近づくにつれ、ＫＲＴが１に漸近していき、ＡＬにおけるＡＬＯＬＤの割合が減少していき、ＡＬＮＥＷの割合が増加していくため、ＡＬＮＥＷの学習精度が向上していき、濃度変化終了時のＡＬの推定精度は保たれる。
【００７３】
ステップ４１９にて、アルコール濃度ＡＬに応じて前述の燃料供給量Ｑｆｕｅｌ１を補正するアルコール濃度補正係数ＫＡＬを算出し、図４の演算ルーチンを終了する。図１４に示すような２次元マップ(ＥＣＵ３５に格納されている)によりアルコール濃度ＡＬからアルコール濃度補正係数ＫＡＬを算出する。アルコール濃度ＡＬが０％の時は、ＫＡＬは１．０に設定され、アルコールにエタノールを用いている場合は、ＡＬが８５％の時は、ＫＡＬは約１．６に設定されている。
【００７４】
また、燃料タンク２０内のアルコール濃度の学習値であるＡＬＯＬＤ、ＡＬＮＥＷ、給油後積算噴射量ＩＮＪＳＵＭ、および燃料レベルゲージ９の出力は、ＥＣＵ３５内のバックアップＲＡＭ又はＥＥＰＲＯＭに保持されており、エンジン停止時、もしくはＥＣＵ３５の電源供給ＯＦＦ時にもリセットされないように設計されている。バックアップＲＡＭ、ＥＥＰＲＯＭがリセットされた場合は、ＡＬＯＬＤ、ＡＬＮＥＷの初期値としてアルコール濃度４０％程度の中間的な値に設定する。アルコール濃度を再学習する必要があるため、ステップ４０１の給油判定において、給油されたと判定し、強制的にアルコール濃度学習を開始する。
【００７５】
また、この推定されたアルコール濃度ＡＬは、各種燃料制御、点火制御などに用いられる。燃料制御には、エンジン始動時の燃料制御、エンリッチ燃料制御、加減速時の燃料制御などがある。また、点火制御には、点火時期演算、ノック制御に関する制御定数演算がある。
【００７６】
なお、ステップ４１４から４１７で、燃料タンク２０内のアルコール濃度の学習値であるＡＬＮＥＷの誤差により結果的に積分項ＫＩが０から逸脱するため、ＫＩが０以上、未満で、燃料タンク２０内のアルコール濃度ＡＬＮＥＷを増減させ、フィードバック的に更新していたが、空燃比補正係数の積分項ＫＩに加え、さらに燃料供給システムの濃度変化遅れ挙動も用いて、タンク内のアルコール濃度を直接的に推定するようにしても良い。
【００７７】
すなわち、積分項ＫＩからインジェクタのアルコール濃度を求めて、さらに濃度変化の遅れ挙動からタンク内のアルコール濃度を求める方法である。アルコール濃度補正係数ＫＡＬと、積分項ＫＩによるＫＡＬ×(１＋ＫＩ)の値が、アルコール濃度０％から現在のインジェクタ２１のアルコール濃度を補償するための真のアルコール濃度補正係数ＫＡＬに相当する。従って、図１４のアルコール濃度ＡＬと、アルコール濃度補正係数ＫＡＬの特性マップを用いて、真のアルコール濃度ＡＬを演算できる。
ＡＬ←ＭＡＰ(ＫＡＬ×(１＋ＫＩ))
【００７８】
また、ステップ４１８の燃料タンク内濃度ＡＬＮＥＷと遅れ補正係数ＫＲＴからインジェクタの濃度ＡＬを推定する式を変形すると、インジェクタのアルコール濃度ＡＬと、遅れ係数ＫＲＴから燃料タンク内濃度ＡＬＮＥＷを演算する次式を得る。
ＡＬＮＥＷ←(１−１／ＫＲＴ)ＡＬＯＬＤ−(１／ＫＲＴ)×ＡＬ
【００７９】
従って、アルコール濃度補正係数ＫＡＬと、積分項ＫＩから演算したインジェクタ２１におけるアルコール濃度ＡＬと、前述の前回給油時のアルコール濃度ＡＬＯＬＤとアルコール濃度変化遅れ係数ＫＲＴを用いて現在の燃料タンク２０内のアルコール濃度ＡＬＮＥＷを算出できる。さらに、アルコール濃度ＡＬＮＥＷからインジェクタ２１のアルコール濃度ＡＬを算出する演算は、ステップ４１８から４１９と同じ処理を用いる。
【００８０】
積分項ＫＩは、フィードバックにより常に変動しており、濃度学習値も変動するため、ＫＩにフィルタ処理を加えたものを濃度学習演算に用いる、もしくは、燃料タンク内の濃度学習値にフィルタ処理を加えることにより、変動を防止するようにしてもよい。
【００８１】
なお、図１の酸素濃度センサ２９が空燃比検出手段を構成し、図２のステップ２０１〜２０７が空燃比補正量算出手段を構成し、図４のステップ４０１〜４０５が燃料濃度変化遅れ挙動推定手段を構成し、ステップ４０６〜４１７がタンク内濃度学習手段を構成し、ステップ４１８が供給燃料濃度算出手段を構成し、ステップ４１９が燃料制御手段を構成する。
【００８２】
次に、図１５、図１６のタイミングチャートを用いてこの発明による内燃機関の制御装置の動作を説明する。まず、図１５は、給油前の燃料タンク２０内のアルコール濃度は０％であり、アルコール燃料が給油され燃料タンク２０内のアルコール濃度が６０％になった時の挙動を示している。
【００８３】
時刻ｔ１５１でアルコール燃料が給油され、実際の燃料タンク２０内のアルコール濃度が０％から６０％に変化している。一方、燃料供給システムの遅れにより、実際のインジェクタ２１のアルコール濃度は無駄時間経過後のｔ１５２から一次遅れ的に変化し始め時刻ｔ１５３で１００％変化し、燃料タンク２０内のアルコール濃度と同じ６０％となっている。
【００８４】
一方、ＥＣＵ３５内の処理を説明する。時刻ｔ１５１において、給油による燃料レベルゲージ９の変化により、給油判定がなされ、給油後の噴射量の積算値(給油後積算噴射量)ＩＮＪＳＵＭが０にリセットされ、給油前の燃料タンク２０内アルコール濃度ＡＬＯＬＤがＡＬＮＥＷと同じ値にリセットされる。
【００８５】
時刻ｔ１５１以降、ＩＮＪＳＵＭの増加に応じて燃料供給システムの遅れを推定した濃度変化遅れ係数ＫＲＴが算出されていき、無駄時間に相当する積算噴射量後、時刻ｔ１５２から一次遅れ的にＫＲＴが変化していく。ＫＲＴが０から１の間で変化し始めると、インジェクタ２１のアルコール濃度が変化していると推定されるため、アルコール濃度学習許可フラグＦＡＬＬＲが１．０にセットされ、濃度学習が許可される。一方、インジェクタ２１のアルコール濃度が変化している間は、燃料供給装置の特性変動の学習値ＫＬＲＮ、蒸散ガス導入補正係数ＫＰＲＧの更新許可フラグＦＦＢＬＲＮ、ＦＰＲＧＬＲＮを０．０に設定し更新を禁止することにより、空燃比フィードバック補正係数ＫＦＢに混合しているアルコール濃度の変化の影響、蒸散ガスの導入の影響、燃料供給装置の特性変動の影響を分離して学習することができ、アルコール濃度学習の誤学習を防止できる。また、アルコール濃度変化中は、空燃比フィードバック制御を実施し、濃度学習を行なう必要があるため、空燃比オープンループ(Ｏ／Ｌ)制御の禁止フラグＦＯＬを０に設定し、空燃比オープンループ制御を禁止し、リッチ化、リーン化条件が成立していても、理論空燃比の空燃比フィードバック制御を強制的に実施する。
【００８６】
濃度学習が開始すると、前回給油後の燃料タンク２０内のアルコール濃度ＡＬＮＥＷは、インジェクタ２１における濃度変化に比べ非常に短時間で実際の濃度に収束する。これは、燃料タンク２０内の濃度は、インジェクタ２１における濃度変化と異なり、給油後直ぐに安定した濃度になるためである。また、インジェクタ２１における濃度推定は、学習開始後直ぐに収束し安定する燃料タンク内の濃度学習値と、幾何学的な関係から精度良く推定できる燃料供給システムの濃度変化遅れに基づき行なっているため、学習開始後直ぐに算出精度を確保できる。
【００８７】
このため、インジェクタ２１において濃度が変化している時刻ｔ１５２から１５３の間において、蒸散ガスを導入し、濃度学習を中断しても、インジェクタにおける濃度推定の精度を保つことができ、また同時に蒸散ガスの導入流量を確保することできる。
【００８８】
また図１６は、アルコール濃度変化中に、エンジン停止、再始動を行なった場合を示す。図１５に対し、時刻ｔ１６４でエンジンを停止し、時刻ｔ１６５で再始動している。時刻ｔ１６４からｔ１６５の間、エンジンを停止しているため、燃料噴射量の積算値は増加せず一定値のままであり、濃度変化遅れ係数ＫＲＴも変化していない。時刻ｔ１６５のエンジン再始動後、時刻ｔ１６６までの間、酸素濃度センサ２９が活性しておらず、空燃比フィードバック制御が中断されている。このため、濃度学習は禁止されており、燃料タンク２０内のアルコール濃度ＡＬＮＥＷの更新は停止している。しかし、学習開始後早期に学習値が収束する燃料タンク内のアルコール濃度ＡＬＮＥＷと、幾何学的な関係から精度良く推定できる濃度変化遅れ係数ＫＲＴにより、インジェクタ２１における濃度を推定しているため、濃度学習中の停止中も変化しつづけるインジェクタにおける濃度の推定精度を保てている。
【００８９】
なお、酸素濃度センサに排気ガスの空燃比変化に対してリニアな出力を有するリニア型酸素濃度センサを用いても、空燃比フィードバック制御を実施でき、アルコール濃度を推定できるため同様の効果を有する。
【００９０】
また、リニア型酸素濃度センサを用いた場合は、理論空燃比制御以外のリッチ化、リーン化制御においても目標空燃比をリッチ、リーンに設定し空燃比フィードバック制御を実施し、アルコール濃度推定を行うようにしてもよい。このとき、アルコール濃度変化中であっても、リッチ化、リーン化の空燃比フィードバック制御を行い、リッチ化、リーン化を禁止しない。
【００９１】
また、複数の気筒郡にそれぞれ複数のインジェクタ燃料供給用のデリバリパイプを備える場合は、インジェクタ燃料供給デリバリパイプ毎に、形状、燃料供給パイプの長さが異なり、燃料タンクからインジェクタまでの遅れが異なる。したがって、インジェクタ燃料供給デリバリパイプ毎に、それぞれアルコール濃度変化遅れ係数ＫＲＴを算出し、またそれぞれアルコール濃度ＡＬ、アルコール濃度補正係数ＫＡＬを算出し、燃料補正を行うようにしてもよい。
【００９２】
また、燃料供給システムの構成を、燃料供給用のデリバリパイプの下流に圧力レギュレータが存在しないリターンレス式の構成としたが、燃料供給デリバリパイプに圧力レギュレータを有するリターン式のシステムに適用しても、燃料タンクからインジェクタまでのアルコール濃度変化には遅れがあり、無駄時間遅れと一次遅れ的なフィルタ遅れとなるため、同様の効果を奏する。
【００９３】
また、空燃比フィードバック制御に比例、積分演算を用いるように説明したが、酸素濃度センサの検出空燃比に基づき空燃比フィードバック制御を行う何れの方式でも燃料(空燃比)補正係数によりアルコール濃度を推定できるため同様の効果を奏する。
【００９４】
さらに、酸素濃度センサは、排気ガスの空燃比を検出できるセンサであればよく、リニア型空燃比センサ、ＮＯｘセンサ、ＨＣセンサ、ＣＯセンサ等でも、空燃比フィードバック制御が行え、濃度推定を行えるため、同様の効果を奏する。
【００９５】
このように、空燃比フィードバック補正係数により、給油後直ぐに変化し安定する燃料タンク内のアルコール濃度を学習するため、学習開始後、短時間でアルコール濃度学習値を安定化させることができ、安定した燃料タンク内のアルコール濃度と、燃料タンクからインジェクタまでの濃度変化の遅れの予測から、インジェクタにおける濃度を算出することにより、エンジン停止、蒸散ガス導入、空燃比オープンループ制御によりアルコール濃度学習が中断しても、インジェクタにおけるアルコール濃度を精度良く算出できる。また、アルコール濃度精度が保たれるため、インジェクタのアルコール濃度変化中であっても、蒸散ガス導入、空燃比オープンループ制御を許可することができる。
【図面の簡単な説明】
【００９６】
【図１】この発明の一実施の形態に係る内燃機関の制御装置の概略構成を示す図である。
【図２】図１のＥＣＵで行われる空燃比フィードバック制御の動作の一例を示す動作フローチャートである。
【図３】この発明の内燃機関の制御装置におけるエンジン回転数と負荷の２次元マップの一例を示す図である。
【図４】図１のＥＣＵで行われるアルコール濃度推定の動作の一例を示す動作フローチャートである。
【図５】この発明の内燃機関の制御装置における給油後積算噴射量と濃度変化遅れ係数の２次元マップの一例を示す図である。
【図６】リターンレスの燃料供給システムを説明するための図である。
【図７】燃料タンクに対するインジェクタでのアルコール濃度変化の遅れを説明するためのタイムチャートである。
【図８】この発明の内燃機関の制御装置における給油後積算噴射量と濃度変化遅れ係数の２次元マップの別の例を示す図である。
【図９】この発明の内燃機関の制御装置における濃度変化遅れ係数と蒸散ガス導入許可フラグの２次元マップの一例を示す図である。
【図１０】この発明の内燃機関の制御装置における濃度変化遅れ係数と蒸散ガス導入許可フラグの２次元マップの別の例を示す図である。
【図１１】この発明の内燃機関の制御装置における濃度変化遅れ係数と学習補正係数の更新許可フラグおよび蒸散ガス導入補正係数の更新許可フラグの２次元マップの一例を示す図である。
【図１２】この発明の内燃機関の制御装置における濃度変化遅れ係数と空燃比オープンループ(Ｏ／Ｌ)制御禁止フラグの２次元マップの一例を示す図である。
【図１３】この発明の内燃機関の制御装置における濃度変化遅れ係数とアルコール濃度更新ゲインの２次元マップの一例を示す図である。
【図１４】この発明の内燃機関の制御装置におけるアルコール濃度とアルコール濃度補正係数の２次元マップの一例を示す図である。
【図１５】この発明の内燃機関の制御装置の動作の一例を説明するためのタイミングチャートである。
【図１６】この発明の内燃機関の制御装置の動作の別の例を説明するためのタイミングチャートである。
【図１７】この発明における燃料供給パイプの濃度変化遅れを説明するための図である。
【図１８】この発明におけるデリバリパイプの濃度変化遅れを説明するための図である。
【符号の説明】
【００９７】
７  バルブ、８  キャニスタ、９  燃料レベルゲージ、１０  エンジン、１１  吸気ポート、１２  吸気管、１３  エアクリーナ、１４  スロットルバルブ、１５  スロットルボデー、１６  アイドルスピードコントロールバルブ、１７  吸気管圧力センサ、１８  サージタンク、１９  吸気温度センサ、２０  燃料タンク、２１  インジェクタ(燃料供給装置)、２２  燃料ポンプ、２３  圧力レギュレータ、２４  燃料フィルタ、２５  燃料供給パイプ、２６  デリバリパイプ、２７  排気ポート、２８  排気管、２９  酸素濃度センサ(空燃比検出手段)、３０  ウォータジャケット、３１  水温センサ、３２  クランク角センサ、３５  エンジンコントロールユニット(ＥＣＵ)、３６  燃料戻し口、４０  エアフローメータ。
【図１】
0004523020.tif 000002
【図２】
0004523020.tif 000003
【図３】
0004523020.tif 000004
【図４】
0004523020.tif 000005
【図５】
0004523020.tif 000006
【図６】
0004523020.tif 000007
【図７】
0004523020.tif 000008
【図８】
0004523020.tif 000009
【図９】
0004523020.tif 000010
【図１０】
0004523020.tif 000011
【図１１】
0004523020.tif 000012
【図１２】
0004523020.tif 000013
【図１３】
0004523020.tif 000014
【図１４】
0004523020.tif 000015
【図１５】
0004523020.tif 000016
【図１６】
0004523020.tif 000017
【図１７】
0004523020.tif 000018
【図１８】
0004523020.tif 000019