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