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