(57)【要約】【課題】実際の燃料付着量を精度良く求めるとともに、その実際の燃料付着量に基づいて燃料挙動モデルを修正し得る内燃機関の制御装置を提供すること。【解決手段】内燃機関の制御装置は、排気通路に備えられた触媒の酸素吸蔵量を吸入空気量と燃料噴射量とを用いて推定するとともに、燃料挙動モデルを用いて吸気通路に付着する推定燃料付着量を求める。前記制御装置は、フューエルカットが実行されたとき、推定された酸素吸蔵量が最大酸素吸蔵量に到達する第１タイミングと、触媒下流の酸素濃度センサがリーン空燃比相当の出力を示す第２タイミングとを検出する。そして、前記制御装置は、第１タイミングから第２タイミングまでの期間に触媒に流入する酸素の総量を求め、その酸素の総量に基づいて実際の燃料付着量を求め、求められた実際の燃料付着量とフューエルカット開始時の推定燃料付着量とに基づいて燃料挙動モデルを修正する。【選択図】  図１
2004353477.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に備えられた酸素吸蔵機能を有する触媒と、
前記触媒の下流のガスに含まれる酸素の濃度を検出する酸素濃度センサと、
前記内燃機関の吸入空気量を取得する吸入空気量取得手段と、
前記取得された吸入空気量に基づいて前記内燃機関に噴射すべき燃料の量である燃料噴射量を決定する燃料噴射量決定手段と、
前記決定された燃料噴射量の燃料を噴射する燃料噴射手段と、
前記内燃機関への燃料噴射を停止するフューエルカット実行手段と、
前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記触媒に流入するガスに含まれる酸素の量を前記取得された吸入空気量に基づいて推定し、同推定した酸素の量に基づいて同触媒の酸素吸蔵量を推定する酸素吸蔵量推定手段と、
前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記推定された酸素吸蔵量が前記触媒の最大酸素吸蔵量に到達する第１タイミング及び前記検出される酸素濃度が実質的に大気中の酸素濃度と等しい値に到達する第２タイミングを検出し、同検出される第１タイミング及び同検出される第２タイミングに基づいて前記燃料噴射の停止が開始された時点で前記内燃機関の吸気通路を構成する部材に実際に付着していた燃料の量である実燃料付着量を推定する実燃料付着量推定手段と、
を備えた内燃機関の制御装置。
【請求項２】
内燃機関の排気通路に備えられた酸素吸蔵機能を有する触媒と、
前記触媒の下流のガスに含まれる酸素の濃度を検出する酸素濃度センサと、
前記内燃機関の吸入空気量を取得する吸入空気量取得手段と、
前記内燃機関の吸気通路を構成する部材に付着する燃料の量である燃料付着量を燃料付着パラメータを使用した数式により表された燃料挙動モデルにしたがって推定する燃料付着量推定手段と、
前記内燃機関に噴射すべき燃料の量である燃料噴射量を前記取得された吸入空気量及び前記推定された燃料付着量に基づいて決定する燃料噴射量決定手段と、
前記決定された燃料噴射量の燃料を噴射する燃料噴射手段と、
前記内燃機関への燃料噴射を停止するフューエルカット実行手段と、
前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記触媒に流入するガスに含まれる酸素の量を前記取得された吸入空気量に基づいて推定し、同推定した酸素の量に基づいて同触媒の酸素吸蔵量を推定する酸素吸蔵量推定手段と、
前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記推定された酸素吸蔵量が前記触媒の最大酸素吸蔵量に到達する第１タイミング及び前記検出される酸素濃度が実質的に大気中の酸素濃度と等しい値に到達する第２タイミングを検出し、同検出される第１タイミング及び同検出される第２タイミングに基づいて前記燃料噴射の停止が開始された時点で前記内燃機関の吸気通路を構成する部材に実際に付着していた燃料の量である実燃料付着量を推定する実燃料付着量推定手段と、
前記実燃料付着量推定手段により推定された実燃料付着量及び前記燃料付着量推定手段により前記燃料噴射の停止が開始された時点において推定されていた燃料付着量に基づいて前記燃料挙動モデルを修正する燃料挙動モデル修正手段と、
を備えた内燃機関の制御装置。
【請求項３】
請求項１又は請求項２に記載の内燃機関の制御装置において、
前記実燃料付着量推定手段は、前記検出される第１タイミングから前記検出される第２タイミングまでの期間において前記触媒に流入する酸素の総量を取得し、同取得した酸素の総量に基づいて前記実燃料付着量を推定するように構成された内燃機関の制御装置。
【請求項４】
請求項３に記載の内燃機関の制御装置において、
前記実燃料付着量推定手段は、前記検出される第１タイミングから前記検出される第２タイミングまでの期間における前記内燃機関の吸入空気量の総量を取得し、同取得した吸入空気量の総量に基づいて前記触媒に流入する酸素の総量を取得するように構成された内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は排気通路に酸素吸蔵機能を有する触媒を備えた内燃機関の制御装置に関し、特に、同内燃機関の吸気通路を構成する部材に実際に付着した燃料の量を推定することができる内燃機関の制御装置に関する。
【０００２】
【従来の技術】
従来より、インテークマニホールド等の吸気通路を構成する部材（（以下、「吸気通路構成部材」と称呼する。）に付着する燃料の量である燃料付着量ｆｗを、燃料挙動を記述した下記（１）式により表される燃料挙動モデル（「燃料の動特性モデル」又は「燃料付着モデル」とも称呼される。）を用いて推定するとともに、その推定した燃料付着量ｆｗを使用する下記（２）式により燃料噴射量ｆｉを決定し、決定した燃料噴射量ｆｉの燃料を噴射する内燃機関の燃料噴射量制御装置が知られている。
【０００３】
下記（１）式及び下記（２）式において、Ｒは噴射された燃料が吸気通路構成部材へ付着する率（燃料付着率）であり、Ｐは吸気通路構成部材に付着している燃料が一吸気行程にてシリンダ内に吸入されずに残留する率（燃料残留率）である。また、ｆｃは内燃機関に供給される混合気の空燃比（以下、「内燃機関の空燃比」と称呼する。）を目標空燃比とするために同内燃機関のシリンダ内に供給すべき燃料量（（以下、「要求燃料量ｆｃ」と称呼する。）である（例えば、特許文献１参照。）。
【０００４】
【数１】
ｆｗ（ｋ＋１）＝Ｒ・ｆｉ（ｋ）＋Ｐ・ｆｗ（ｋ）  …（１）
【０００５】
【数２】
ｆｃ（ｋ）＝（１−Ｒ）・ｆｉ（ｋ）＋（１−Ｐ）・ｆｗ（ｋ）  …（２）
【０００６】
【特許文献１】
特開平９−３０３１７３号公報（段落番号００２５〜００３２、図５）
【０００７】
【発明が解決しようとする課題】
上記従来の装置は、燃料付着率Ｒを、エンジン運転状態と燃料付着率Ｒとの関係を規定するテーブル（マップ）ＭａｐＲと実際のエンジン運転状態とに基づいて定めている。同様に、従来の装置は、燃料残留率Ｐを、エンジン運転状態と燃料残留率Ｐとの関係を規定するテーブルＭａｐＰと実際のエンジン運転状態とに基づいて定めている。
【０００８】
しかしながら、燃料性状の違い、エンジンの製造上のばらつき及びエンジンの運転に伴って変化するデポジット量の変化等により、例えば、燃料付着率Ｒや燃料残留率Ｐが正しい値にならないこと等に起因して燃料挙動モデルが不正確となり、推定される燃料付着量ｆｗが不正確となって機関の空燃比が目標空燃比から外れ、その結果、未燃ガスやＮＯｘの排出量が増大してしまうという問題がある。
【０００９】
【本発明の概要】
この場合、限られた運転状態であっても、実際の燃料付着量（以下、「実燃料付着量」と称呼する。）が精度良く推定できる場合があれば、その実燃料付着量と燃料挙動モデルにより推定された燃料付着量とに基づいて同燃料挙動モデル（例えば、燃料付着率Ｒや燃料残留率Ｐ）を修正することが可能となる。従って、本発明の目的は、実燃料付着量を精度良く推定し得る内燃機関の制御装置、及び、推定された実燃料付着量に基づいて燃料挙動モデルを修正することが可能な内燃機関の制御装置を提供することにある。
【００１０】
本発明の内燃機関の制御装置は、内燃機関の排気通路に備えられた酸素吸蔵機能を有する触媒と、前記触媒の下流のガスに含まれる酸素の濃度を検出する酸素濃度センサと、前記内燃機関の吸入空気量を取得する吸入空気量取得手段と、前記取得された吸入空気量に基づいて前記内燃機関に噴射すべき燃料の量である燃料噴射量を決定する燃料噴射量決定手段と、前記決定された燃料噴射量の燃料を噴射する燃料噴射手段と、前記内燃機関への燃料噴射を停止するフューエルカット実行手段と、前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記触媒に流入するガスに含まれる酸素の量を前記取得された吸入空気量に基づいて推定し、同推定した酸素の量に基づいて同触媒の酸素吸蔵量を推定する酸素吸蔵量推定手段と、前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記推定された酸素吸蔵量が前記触媒の最大酸素吸蔵量に到達する第１タイミング及び前記検出される酸素濃度が実質的に大気中の酸素濃度と等しい値に到達する第２タイミングを検出し、同検出される第１タイミング及び同検出される第２タイミングに基づいて前記燃料噴射の停止が開始された時点で前記内燃機関の吸気通路を構成する部材に実際に付着していた燃料の量である実燃料付着量を推定する実燃料付着量推定手段と、を備えている。
【００１１】
上記触媒は、酸素吸蔵機能を有していて、内部に酸素を吸蔵することができる。上記酸素吸蔵量推定手段は、フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合、前記触媒には酸素のみが流入すると見做してその酸素の量を吸入空気量に基づいて推定し、同推定した酸素の量に基づいて同触媒の酸素吸蔵量を推定する。
【００１２】
従って、図１の時刻ｔ１以降に示したように、燃料噴射が時刻ｔ１にて停止された場合（フューエルカットが実行された場合）、推定される酸素吸蔵量は、触媒に未燃燃料及び酸素が流入する場合に比べて比較的大きな速度で増加する（図１（Ｂ）の破線を参照。）。これにより、燃料噴射が停止されてから所定の時間が経過した第１タイミング（図１の時刻ｔ２）において、推定される酸素吸蔵量は触媒の最大酸素吸蔵量Ｃｍａｘに到達する。
【００１３】
このとき、下記（３）式が成立する。ＯＳＡｔ１は燃料噴射の停止を開始した時点（時刻ｔ１）において推定されている酸素吸蔵量である。Ｇａは単位時間あたりの内燃機関の吸入空気量（内燃機関の吸入空気の質量流量、吸入空気流量）であり、単位時間あたりに触媒に流入する空気量と等しい。αは大気における酸素の重量割合であり、例えば０．２３である。つまり、（３）式の右辺第２項は、燃料噴射の停止から第１タイミングまでの期間（時刻ｔ１〜時刻ｔ２）に触媒に流入するガスに含まれる酸素の総量を示している。
【００１４】
【数３】
2004353477.tif 000003
【００１５】
これに対し、実際には、燃料噴射が停止された状態においても、吸気ポートや吸気弁の背面等の吸気通路構成部材に付着していた燃料がシリンダに吸入される。シリンダに吸入された燃料は触媒に流入し、同様に触媒内に流入した酸素及び触媒内に吸蔵されていた酸素を消費する。
【００１６】
従って、図１（Ｂ）の時刻ｔ１〜時刻ｔ３における実線により示したように、触媒に大気のみが流入している場合（同図１（Ｂ）の破線により示す。）に比べ、実際の酸素吸蔵量（（以下、「実酸素吸蔵量」と称呼する。）の増加は遅くなる。これにより、実酸素吸蔵量は前述した第１タイミングよりも遅れた第２タイミング（図１の時刻ｔ３）にて最大酸素吸蔵量Ｃｍａｘに到達する。そして、その第２タイミングにて触媒下流に多量の酸素が流出し始めるので、図１（Ｃ）の時刻ｔ３に示したように、酸素濃度センサにより検出される酸素濃度が実質的に大気中の酸素濃度と等しい値（リーン出力）へと変化する。
【００１７】
このことを数式化すると（４）式が得られる。（４）式において、Ｋｆｗは所定の係数である。ＳＵＭＦｗは燃料噴射が停止された時点（時刻ｔ１）において、吸気通路構成部材に付着していた実燃料付着量である。
【００１８】
【数４】
2004353477.tif 000004
【００１９】
従って、（３）式及び（４）式から下記（５）式が得られる。
【００２０】
【数５】
2004353477.tif 000005
【００２１】
この（５）式から、推定される酸素吸蔵量が触媒の最大酸素吸蔵量に到達する第１タイミング（時刻ｔ２）から検出される酸素濃度が実質的に大気中の酸素濃度と等しい値に到達する第２タイミング（時刻ｔ３）までの時間の長さは、例えば、第１タイミングから第２タイミングまでの期間に触媒に流入する空気流量（酸素流量）が一定である場合、燃料噴射の停止が開始された時点（時刻ｔ１）にて吸気通路構成部材に実際に付着していた燃料の量（実燃料付着量）ＳＵＭＦｗに比例するということを導き出すことができる。
【００２２】
また、（５）式から、触媒に流入する空気流量（酸素流量）が変動するような場合、空気流量（酸素流量）を第１タイミングから第２タイミングまで時間積分した値は、燃料噴射の停止が開始された時点で吸気通路構成部材に実際に付着していた実燃料付着量ＳＵＭＦｗに比例するということも導き出すことができる。
【００２３】
そこで、上記実燃料付着量推定手段は、推定される酸素吸蔵量が触媒の最大酸素吸蔵量に到達する第１タイミング（時刻ｔ２）及び検出される酸素濃度が実質的に大気中の酸素濃度と等しい値に到達する第２タイミング（時刻ｔ３）を検出し、同検出される第１タイミング及び同検出される第２タイミングに基づいて燃料噴射の停止が開始された時点（時刻ｔ１）で吸気通路構成部材に実際に付着していた燃料の量（実燃料付着量）を推定する。これによれば、燃料噴射の停止を開始した時点の実燃料付着量を、触媒の酸素吸蔵量の推定値の変化と実際値の変化との差を利用して推定することが可能となる。
【００２４】
また、上述したように、実燃料付着量推定手段は、前記検出される第１タイミングから前記検出される第２タイミングまでの期間において前記触媒に流入する酸素の総量を取得し、同取得した酸素の総量に基づいて前記実燃料付着量を推定するように構成されることが好適である。これによれば、触媒に流入する酸素量（酸素の流量）が変動する運転状態であっても前記実燃料付着量を精度良く推定することができる。
【００２５】
さらにこの場合、実燃料付着量推定手段は、前記検出される第１タイミングから前記検出される第２タイミングまでの期間における前記内燃機関の吸入空気量の総量を取得し、同取得した吸入空気量の総量に基づいて前記触媒に流入する酸素の総量を取得するように構成されることが好適である。第１タイミングから第２タイミングまでは、内燃機関の吸入空気量と同量の空気が触媒に流入することになるから、容易に取得可能な同内燃機関の吸入空気量の総量を取得することで、触媒に流入する酸素の総量（従って、前記実燃料付着量）を精度良く推定することができる。
【００２６】
また、これらにより、燃料噴射の停止を開始した時点（時刻ｔ１）の実燃料付着量が精度良く推定されるので、例えば、このように推定された実燃料付着量と燃料噴射の停止を開始した時点において燃料挙動モデルにより推定されていた燃料付着量とを比較することにより、燃料挙動モデルを修正することが可能となる。
【００２７】
即ち、本発明による他の内燃機関の制御装置は、内燃機関の排気通路に備えられた酸素吸蔵機能を有する触媒と、前記触媒の下流のガスに含まれる酸素の濃度を検出する酸素濃度センサと、前記内燃機関の吸入空気量を取得する吸入空気量取得手段と、前記内燃機関の吸気通路を構成する部材に付着する燃料の量である燃料付着量を燃料付着パラメータを使用した数式により表された燃料挙動モデルにしたがって推定する燃料付着量推定手段と、前記内燃機関に噴射すべき燃料の量である燃料噴射量を前記取得された吸入空気量及び前記推定された燃料付着量に基づいて決定する燃料噴射量決定手段と、前記決定された燃料噴射量の燃料を噴射する燃料噴射手段と、前記内燃機関への燃料噴射を停止するフューエルカット実行手段と、を備える。
【００２８】
更に、この内燃機関の制御装置は、前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記触媒に流入するガスに含まれる酸素の量を前記取得された吸入空気量に基づいて推定し、同推定した酸素の量に基づいて同触媒の酸素吸蔵量を推定する酸素吸蔵量推定手段と、前記フューエルカット実行手段により前記燃料噴射が停止され且つ同燃料噴射の停止が継続している場合において前記推定された酸素吸蔵量が前記触媒の最大酸素吸蔵量に到達する第１タイミング及び前記検出される酸素濃度が実質的に大気中の酸素濃度と等しい値に到達する第２タイミングを検出し、同検出される第１タイミング及び同検出される第２タイミングに基づいて前記燃料噴射の停止が開始された時点で前記内燃機関の吸気通路を構成する部材に実際に付着していた燃料の量である実燃料付着量を推定する実燃料付着量推定手段と、前記実燃料付着量推定手段により推定された実燃料付着量及び前記燃料付着量推定手段により前記燃料噴射の停止が開始された時点において推定されていた燃料付着量に基づいて前記燃料挙動モデルを修正する燃料挙動モデル修正手段と、を備える。
【００２９】
この場合においても、実燃料付着量推定手段は、前記第１タイミングから前記第２タイミングまでの期間において前記触媒に流入する酸素の総量を取得し、同取得した酸素の総量に基づいて前記実燃料付着量を推定してもよい。また、前記第１タイミングから前記第２タイミングまでの期間における前記内燃機関の吸入空気量の総量を取得し、同取得した吸入空気量の総量に基づいて前記触媒に流入する酸素の総量を取得してもよい。
【００３０】
これらによれば、燃料付着量推定手段は、例えば、上記（１）式に基づいて燃料付着量を推定し、実燃料付着量推定手段は、例えば、上記（５）式に基づいて実燃料付着量を推定する。そして、燃料挙動モデル修正手段は、前記実燃料付着量推定手段により推定された実燃料付着量及び前記燃料付着量推定手段により前記燃料噴射の停止が開始された時点において推定されていた燃料付着量に基づいて、燃料付着量推定手段の燃料挙動モデルを修正する。
【００３１】
従って、個々のエンジンに応じて燃料挙動モデルが修正されることになるので、燃料付着量推定手段により推定される燃料付着量が真の燃料付着量に近づく。その結果、取得された吸入空気量及び燃料付着量推定手段により推定された燃料付着量に基づいて決定される燃料噴射量が適正な値となるので、内燃機関の空燃比を所望の空燃比（例えば、目標空燃比）により近づけることが可能となる。
【００３２】
【発明の実施の形態】
以下、本発明による内燃機関の燃料付着量推定装置を含んでなる燃料噴射量制御装置（内燃機関の制御装置）の実施形態について図面を参照しながら説明する。図２は、本発明の実施形態に係る内燃機関の燃料噴射量制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。なお、図２は、特定の気筒の断面のみを示しているが、他の気筒も同様な構成を備えている。
【００３３】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排気ガスを外部に放出するための排気系統５０とを含んでいる。
【００３４】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００３５】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００３６】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、スロットル弁駆動手段を構成するＤＣモータからなるスロットル弁アクチュエータ４３ａ、スワールコントロールバルブ（以下、「ＳＣＶ」と称呼する。）４４及びＤＣモータからなるＳＣＶアクチュエータ４４ａを備えている。
【００３７】
排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ（排気管）５２及びエキゾーストパイプ５２に介装された触媒（三元触媒コンバータ）５３を備えている。排気ポート３４、エキゾーストマニホールド５１及びエキゾーストパイプ５２は、排気通路を構成している。
【００３８】
触媒５３は、空燃比がほぼ理論空燃比のときに未燃成分（ＨＣ，ＣＯ）を酸化するとともに、窒素酸化物（ＮＯｘ）を還元する。更に、触媒５３は、酸素を貯蔵（吸蔵）する酸素吸蔵機能（Ｏ２ストレージ機能）を有している。触媒５３は、この酸素吸蔵機能により、空燃比が理論空燃比から偏移したとしても、ＨＣ，ＣＯ及びＮＯｘを浄化することができる。このような機能は、触媒５３が有するセリウムＣｅによって達成される。
【００３９】
より具体的に述べると、セリウムＣｅは金属単体の状態であると不安定であり、酸素が結合するとセリアＣｅＯ２となって安定する。従って、空燃比が理論空燃比よりもリーンであって、触媒５３内に酸素分子（窒素酸化物の酸素を含む。）が流入すると、セリウムＣｅは酸素を奪ってセリアＣｅＯ２となる。一方、空燃比が理論空燃比よりもリッチであって、触媒５３内に未燃ＨＣ，ＣＯが流入すると、これら未燃ＨＣ，ＣＯはセリアＣｅＯ２から酸素を奪う。この結果、セリアＣｅＯ２は、再び不安定なセリウムＣｅとなる。
【００４０】
このように、触媒５３に流入するガス（触媒流入ガス）の空燃比がリーンになると同ガスに含まれる酸素分子が奪われるので、同ガス中に含まれるＮＯｘが還元される。また、触媒流入ガスの空燃比がリッチになると同ガスに含まれるＨＣ，ＣＯがセリアＣｅＯ２から酸素を奪うので、同ＨＣ，ＣＯが酸化される。以上により、触媒５３は、空燃比が理論空燃比より偏移しても、ＨＣ，ＣＯ及びＮＯｘを浄化することができるようになっている。
【００４１】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、触媒５３の上流の排気通路内に配設された空燃比センサ６６（以下、「上流側空燃比センサ６６」と称呼する。）、触媒５３の下流の排気通路内に配設された空燃比センサ６７（以下、「下流側空燃比センサ６７」と称呼する。）、排気温度センサ６８及びアクセル開度センサ６９を備えている。
【００４２】
熱線式エアフローメータ（吸入空気量取得手段）６１は、吸気管４１内を流れる吸入空気の質量流量を計測し、同計測された吸入空気流量Ｇａを表す信号を出力するようになっている。スロットルポジションセンサ６２は、スロットル弁４３の開度を検出し、スロットル弁開度ＴＡを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。
【００４３】
クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度ＮＥを表す。水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温ＴＨＷを表す信号を出力するようになっている。
【００４４】
上流側空燃比センサ６６は、図３に示したように、測定するガス（この場合、触媒流入ガス、上流側空燃比ａｂｙｆｓ）の空燃比Ａ／Ｆに応じた電流を出力し、この電流に応じた電圧Ｖａｂｙｆｓを出力するようになっている。図３から明らかなように、上流側空燃比センサ６６によれば、広範囲にわたる空燃比Ａ／Ｆを精度良く検出することができる。
【００４５】
下流側空燃比センサ６７は、濃淡電池型の酸素濃度センサである。この酸素濃度センサは、測定するガス中に含まれる酸素濃度が所定値より小さい場合に高レベルの電圧を出力し、測定するガス中に含まれる酸素濃度が所定値より大きい場合（実質的に大気中の酸素濃度と等しい場合）に低レベルの電圧を出力するようになっている。従って、酸素濃度センサは、測定ガスが内燃機関に供給される混合気や排ガスの場合、それらのガスの空燃比が理論空燃比よりも小さければ（即ち、リッチであれば）高レベルの電圧を、同空燃比が理論空燃比よりも大きければ（即ち、リーンであれば）低レベルの電圧を出力するようになっている。この場合、下流側空燃比センサ６７は、触媒５３の下流のガスの空燃比（以下、単に「触媒下流空燃比」と称呼する。）を測定する。従って、下流側空燃比センサ６７は、図４に示したように、触媒下流空燃比が理論空燃比よりリッチであれば高レベル（略０．９Ｖ）、リーンであれば低レベル（略０．１Ｖ）、理論空燃比であればそれらの中間の値であるＶｒｅｆ（０．５Ｖ）の電圧Ｖａｂｙｆｓｂを出力するようになっている。
【００４６】
排気温度センサ６８は、触媒５３の温度を検出し、触媒温度ＴｅｍｐＣＣＲＯを表す信号を出力するようになっている。アクセル開度センサ６９は、運転者によって操作されるアクセルペダル８１の操作量を検出し、同アクセルペダル８１の操作量Ａｃｃｐを表す信号を出力するようになっている。
【００４７】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（ルックアップテーブル、マップ）及び定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、並びにＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。
【００４８】
インターフェース７５は、前記センサ６１〜６９と接続され、ＣＰＵ７１にセンサ６１〜６９からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットル弁アクチュエータ４３ａ及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００４９】
（燃料噴射量制御装置の作動の概要）
次に、本燃料噴射量制御装置の作動の概要について説明する。この燃料噴射量制御装置は、各気筒の吸気通路構成部材に付着する燃料量（燃料付着量）を燃料付着パラメータを使用した式により表される燃料挙動モデルを用いて燃料噴射毎に推定し、その推定された燃料付着量（以下、燃料挙動モデルを用いて推定された燃料付着量を「推定燃料付着量」とも称呼する。）に応じて燃料噴射量を決定する。また、燃料噴射量制御装置は、燃料噴射が停止されるフューエルカットの開始時において吸気通路構成部材に実際に付着していた実燃料付着量を求める。そして、燃料噴射量制御装置は、実燃料付着量と推定燃料付着量とに基づいて燃料付着パラメータ（燃料挙動モデル）を修正する。これにより、以降の推定燃料付着量の精度が向上するので、機関の空燃比をより一層目標空燃比に近づけることができる。以下、このような作動を行うために必要となる各値の求め方について説明する。
【００５０】
（酸素吸蔵量推定方法）
後述するように、実燃料付着量ＳＵＭＦｗを推定するためには、触媒５３の酸素吸蔵量を取得しなければならない。しかしながら、酸素吸蔵量を直接計測することはできないので、燃料噴射量制御装置は、酸素吸蔵量を以下のように計算によって推定する。
【００５１】
下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが所定値以下から同所定値以上となって触媒下流側空燃比がリーン空燃比から明白なリッチ空燃比となったことは、触媒５３内に酸素が全く存在しない状態となって同触媒５３から未燃ガスが排出されたことを意味する。従って、このような状況が検出された場合、燃料噴射量制御装置は、酸素吸蔵量ＯＳＡを「０」に設定する。それ以降においては、下記（６）式乃至下記（８）式に基いて酸素吸蔵量ＯＳＡを算出する。但し、フューエルカット中でない場合には（６）式を使用し、フューエルカット中である場合には（７）式を使用する。
【００５２】
【数６】
ΔＯＳＡ＝α・ｍｆｒ・（ａｂｙｆｓａｖｅ  −  ｓｔｏｉｃｈ）  …（６）
【００５３】
【数７】
ΔＯＳＡ＝α・Ｇａｕ・Δｔ＝α・Ｇａ・Δｔ  …（７）
【００５４】
【数８】
ＯＳＡ＝ΣΔＯＳＡ  …（８）
【００５５】
これらの式において、値αは例えば０．２３であり、大気中に含まれる酸素の重量割合である。ｍｆｒは所定時間Δｔ内の燃料噴射量ｆｉの合計量である。ａｂｙｆｓａｖｅは前記所定時間Δｔ内の上流側空燃比センサ６６により検出された空燃比Ａ／Ｆの平均値である。ｓｔｏｉｃｈは理論空燃比（例えば、１４．７）である。Ｇａｕは触媒に流入する単位時間あたりの空気量であり、エアフローメータ６１により計測された吸入空気流量Ｇａと等しい。
【００５６】
フューエルカット中でない場合、（６）式に示したように、所定時間Δｔ内の噴射量の合計値ｍｆｒに、同所定時間Δｔにおける平均空燃比の理論空燃比からの偏移（ａｂｙｆｓａｖｅ  −  ｓｔｏｉｃｈ）を乗じることで、同所定時間Δｔにおける触媒５３に流入する空気の過不足量が求められ、この空気の過不足量に酸素の重量割合αを乗じることで同所定時間Δｔにおいて触媒５３に流入するガスに含まれる酸素の過不足量（以下、「酸素吸蔵量変化量」と称呼する。）ΔＯＳＡが求められる。そして、（８）式に示したように、ΔＯＳＡを積算することで触媒５３の酸素吸蔵量ＯＳＡが計算される。
【００５７】
即ち、（６）式及び（８）式により、燃料噴射が停止されていないとき（フューエルカット中でないとき）、触媒５３に流入するガスに含まれる酸素の過不足量ΔＯＳＡは燃料噴射量ｆｉの合計値ｍｆｒ及び触媒５３に流入するガスの空燃比に基づいて推定され、同推定された酸素の過不足量ΔＯＳＡに基づいて触媒５３の酸素吸蔵量ＯＳＡが推定される。
【００５８】
一方、フューエルカット中の場合、燃料噴射量ｆｉは「０」であるから、吸気通路構成部材に付着していた燃料が蒸発することを考慮しなければ、触媒５３内には大気のみが流入するはずである。従って、（７）式に示したように、吸入空気量Ｇａに大気中に含まれる酸素の重量割合αを乗じ、これに所定時間Δｔを乗じることで同所定時間Δｔ内の酸素吸蔵量変化量ΔＯＳＡが求められる。そして、（８）式に示したように、酸素吸蔵量変化量ΔＯＳＡを積算することで触媒５３の酸素吸蔵量ＯＳＡが計算される。
【００５９】
（７）式及び（８）式は下記の（９）式と等価である。（９）式において時刻ｔａはフューエルカットが開始されたときの時刻、ｔｂはそのフューエルカットが継続している期間の任意の時刻、ＯＳＡｆｃはフューエルカットが開始されたときの推定酸素吸蔵量である。
【００６０】
【数９】
2004353477.tif 000006
【００６１】
このように、（７）式及び（８）式により、燃料噴射が停止されているとき（フューエルカット中であるとき）、触媒５３に流入するガスに含まれる酸素の過不足量（この場合、単純に、酸素の量）ΔＯＳＡが、吸入空気量Ｇａに基づいて推定され、同推定された酸素の過不足量ΔＯＳＡに基づいて触媒５３の酸素吸蔵量ＯＳＡが推定される。
【００６２】
（実燃料付着量ＳＵＭＦｗの推定）
次に、燃料噴射量制御装置による実燃料付着量ＳＵＭＦｗの推定（取得）方法について説明する。実燃料付着量ＳＵＭＦｗとは、燃料噴射の停止を開始した時（フューエルカット開始時）において吸気通路構成部材に実際に付着していた実燃料付着量のことである。燃料噴射量制御装置は、下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂと上述のように推定される酸素吸蔵量ＯＳＡとを利用して実燃料付着量ＳＵＭＦｗを推定する。以下、その原理について、図１のタイムチャートを参照しながら説明する。
【００６３】
時刻ｔ０〜ｔ１においては、通常の燃料噴射が行われている。ここでは、目標空燃比が理論空燃比とされているので、実際の機関の空燃比は略理論空燃比となっている。従って、上記（６）式及び（８）式により酸素吸蔵量ＯＳＡが計算される。その後、時刻ｔ１でフューエルカット条件が成立して燃料噴射が停止される（フューエルカット状態となる。）。
【００６４】
この時刻ｔ１直後から、上記（７）式及び（８）式により酸素吸蔵量ＯＳＡが計算されるので、図１（Ｂ）の破線に示したように、推定される酸素吸蔵量ＯＳＡは比較的大きな速度で上昇を開始する。そして、時刻ｔ２になると、推定された酸素吸蔵量ＯＳＡは最大酸素吸蔵量Ｃｍａｘに到達する。最大酸素吸蔵量Ｃｍａｘとは、触媒５３が酸素を吸蔵する能力の限界まで酸素を吸蔵した状態における酸素吸蔵量のことである。推定された酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘに到達する時点（時刻ｔ２）を、便宜上、第１タイミング（推定酸素吸蔵量飽和タイミング）と称呼する。
【００６５】
このとき、上記（９）式に基づけば下記（１０）式が成立する。ＯＳＡｔ１は時刻ｔ１における推定酸素吸蔵量ＯＳＡの値である。（１０）式の右辺第２項は、燃料噴射の停止から第１タイミングまでの期間（時刻ｔ１〜時刻ｔ２）に触媒に流入するガスに含まれる酸素の総量を示している。
【００６６】
【数１０】
2004353477.tif 000007
【００６７】
ところで、実際にはフューエルカットが開始された時刻ｔ１の直後において、吸気通路構成部材に付着していた燃料がシリンダ２１を介して排気通路に排出され、触媒５３内に流入する。そして、触媒５３内に流入した燃料は、同様に触媒５３内に流入した酸素及び触媒５３内に吸蔵されていた酸素を消費する。図１は、実燃料付着量ＳＵＭＦｗが極めて大きい例を示しているので、時刻ｔ１の直後で触媒に流入するガスに含まれる酸素の量が不足する。
【００６８】
従って、図１（Ｂ）の実線により示したように、実際の酸素吸蔵量は時刻ｔ１直後において一旦減少し、その後増大して時刻ｔ２よりも遅れた時刻ｔ３にて最大酸素吸蔵量Ｃｍａｘに到達する。なお、実燃料付着量ＳＵＭＦｗが小さい場合であっても、実燃料付着量ＳＵＭＦｗに相当する量の燃料が触媒５３内で酸素と結びつく結果、時刻ｔ３は時刻ｔ２よりも必ず遅れる。
【００６９】
時刻ｔ３においては、触媒５３の実際の酸素吸蔵量は最大酸素吸蔵量Ｃｍａｘに到達しているから、触媒５３から理論空燃比よりもリーンな空燃比のガス（即ち、酸素を大量に含むが燃料（未燃成分）を殆ど含まないガス）が流出し始める。従って、下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂは低レベルとなる（リーンを示す）。この時点（時刻ｔ３）を、便宜上、第２タイミング（実酸素吸蔵量飽和タイミング）と称呼する。
【００７０】
このとき、上記（９）式に基づけば下記（１１）式が成立する。（１１）式の第一行右辺第２項は、燃料噴射が停止された時点（時刻ｔ１）から第２タイミング（時刻ｔ３）までの期間に触媒に流入するガスに含まれる酸素の総量を示している。Ｋｆｗは所定の係数（単位質量あたりの燃料が消費する酸素の質量）である。ＳＵＭＦｗは、前述したように、燃料噴射が停止された時点において、吸気通路構成部材に付着していた実燃料付着量である。
【００７１】
【数１１】
2004353477.tif 000008
【００７２】
従って、（１０）式及び（１１）式から下記（１２）式が得られ、（１２）式を整理することにより下記（１３）式が得られる。
【００７３】
【数１２】
2004353477.tif 000009
【００７４】
【数１３】
2004353477.tif 000010
【００７５】
燃料噴射量制御装置は、（１３）式を書き換えた下記（１４）式及び下記（１５）式により燃料噴射の停止を開始した時点（フューエルカット開始時）の実燃料付着量ＳＵＭＦｗを求める。（１５）式のＳＵＭＯ２は、燃料噴射の停止開始後から触媒５３に流入するガスに含まれる酸素の積算値（酸素量積算値、即ち、酸素の総量）である。
【００７６】
【数１４】
ΔＯ２＝α・Ｇａ・Δｔ  …（１４）
【００７７】
【数１５】
ＳＵＭＦｗ＝ΣΔＯ２／ｋｆｗ＝ＳＵＭＯ２／ｋｆｗ（積算区間：第１〜第２タイミング）…（１５）
【００７８】
（燃料挙動モデルに基づく燃料付着量の推定）
燃料噴射量制御装置は、吸気通路構成部材への燃料付着量を燃料挙動モデルに基づいて推定し、この推定燃料付着量に応じて所定の空燃比を得るために噴射すべき燃料の量ｆｉを決定する。燃料挙動モデルでは、燃料付着パラメータとして燃料付着率Ｒ及び燃料残留率Ｐが使用されて燃料付着量が推定される。
【００７９】
以下、具体的に燃料付着量の推定方法について説明する。図５に示したように、ｆｉ（ｋ）だけの燃料量を噴射した後の燃料付着量ｆｗ（ｋ＋１）は下記（１６）式により求められる。
【００８０】
【数１６】
ｆｗ（ｋ＋１）＝Ｒ・ｆｉ（ｋ）＋Ｐ・ｆｗ（ｋ）  …（１６）
【００８１】
上記（１６）式において、ｆｗ（ｋ）はｆｉ（ｋ）の量の燃料を噴射する前の燃料付着量である。Ｒは噴射された燃料のうち吸気通路構成部材へ直接付着する燃料の割合（燃料付着率）である。燃料噴射量制御装置は、燃料付着率Ｒを、エンジン運転状態（気筒の一吸気行程における吸入空気量に相当する値、エンジン回転速度及び冷却水温等）と燃料付着率Ｒとの関係を規定するテーブルＭａｐＲと実際のエンジン運転状態とに基づいて求める。
【００８２】
Ｐは吸気通路構成部材に既に付着していた燃料のうち一吸気行程を経た後に同吸気通路構成部材に付着したまま残留している燃料の割合（燃料残留率）である。燃料噴射量制御装置は、燃料残留率Ｐを、エンジン運転状態（気筒の一吸気行程における吸入空気量に相当する値、エンジン回転速度及び冷却水温等）と燃料残留率Ｐとの関係を規定するテーブルＭａｐＰと実際のエンジン運転状態とに基づいて求める。
【００８３】
一方、今回の燃料噴射量ｆｉ（ｋ）のうち燃焼室（気筒）内に吸入される燃料量は（１−Ｒ）・ｆｉ（ｋ）となり、既に付着している燃料の量（燃料付着量）ｆｗ（ｋ）のうち燃焼室（気筒）内に吸入される燃料量は（１−Ｐ）・ｆｗ（ｋ）となる。そこで、ｆｃ（ｋ）を今回の吸気行程において機関の空燃比を目標空燃比と一致させるために必要な燃料量（要求燃料量）であるとすると、同機関の空燃比を同目標空燃比とするためには、下記（１７）式が成立するように今回の燃料噴射量ｆｉ（ｋ）を求めればよいことになる。
【００８４】
【数１７】
ｆｃ（ｋ）＝（１−Ｒ）・ｆｉ（ｋ）＋（１−Ｐ）・ｆｗ（ｋ）  …（１７）
【００８５】
燃料噴射量制御装置は、実際には上記（１７）式を変形した（１８）式（燃料挙動モデルの逆モデル）により今回の燃料噴射量ｆｉ（ｋ）を決定する。燃料噴射量制御装置は、決定した燃料噴射量ｆｉ（ｋ）の燃料をインジェクタ３９から噴射する。
【００８６】
【数１８】
ｆｉ（ｋ）＝｛ｆｃ（ｋ）−（１−Ｐ）・ｆｗ（ｋ）｝／（１−Ｒ）  …（１８）
【００８７】
（燃料挙動モデルの修正）
以上のようにして、燃料噴射量制御装置は、推定燃料付着量ｆｗ及び実燃料付着量ＳＵＭＦｗを求める。そして、燃料噴射が停止されたとき（時刻ｔ１）に燃料挙動モデルにより推定されていた推定燃料付着量ｆｗｆｃと実燃料付着量ＳＵＭＦｗとに基づいて燃料付着パラメータである燃料付着率Ｒ及び／又は燃料残留率Ｐ（燃料挙動モデル）を修正する。なお、ｆｗｆｃは、「燃料噴射停止開始時推定燃料付着量（フューエルカット開始時推定燃料付着量）ｆｗｆｃ」とも称呼される。
【００８８】
ここで、燃料挙動モデルの修正例を挙げると、推定燃料付着量ｆｗｆｃが実燃料付着量ＳＵＭＦｗよりも大きいとき燃料付着率Ｒ及び燃料残留率Ｐが過大であると考えられるから、修正係数ｋｒを１より小さい値に設定し、修正係数ｋｒをテーブルＭａｐＲとエンジン運転状態とにより得られた燃料付着率Ｒに乗じた値を新たな燃料付着率Ｒとして同燃料付着率Ｒを減少させる。同様に、修正係数ｋｐを１より小さい値に設定し、修正係数ｋｐをテーブルＭａｐＰとエンジン運転状態とにより得られた燃料残留率Ｐに乗じた値を新たな燃料残留率Ｐとして燃料残留率Ｐを減少させる。
【００８９】
一方、推定燃料付着量ｆｗｆｃが実燃料付着量ＳＵＭＦｗよりも小さいとき、燃料付着率Ｒ及び燃料残留率Ｐが過小であると考えられるから、修正係数ｋｒを１より大きい値に設定し、修正係数ｋｒをテーブルＭａｐＲとエンジン運転状態とにより得られた燃料付着率Ｒに乗じた値を新たな燃料付着率Ｒとして同燃料付着率Ｒを増大させる。同様に、修正係数ｋｐを１より大きい値に設定し、修正係数ｋｐをテーブルＭａｐＰとエンジン運転状態とにより得られた燃料残留率Ｐに乗じた値を新たな燃料残留率Ｐとして燃料残留率Ｐを増大させる。
【００９０】
（燃料噴射量制御装置の実際の作動）
次に、フローチャートを参照しながら燃料噴射量制御装置の実際の作動について説明する。
【００９１】
ＣＰＵ７１は、特定の気筒のクランク角がその気筒の吸気上死点から所定クランク角度だけ前の角度（例えば、ＢＴＤＣ９０°）になり、その気筒が吸気行程を迎える直前になると、図６の燃料噴射制御ルーチンの処理をステップ６００から開始する。なお、ＣＰＵ７１は、このルーチンと同じルーチンを他の気筒についても同様なタイミングにて実行するようになっている。次に、ＣＰＵ７１は、ステップ６０５に進んで同特定気筒の燃焼室２５に吸入される吸入空気量（重量）Ｑを、エアフローメータ６１が検出している吸入空気量を示す値Ｇａを用いて下記（１９）式に応じて求める。（１９）式においてて、βは０〜１までの任意の係数である。
【００９２】
【数１９】
Ｑ＝β・Ｑ＋（１−β）・Ｇａ  …（１９）
【００９３】
次いで、ＣＰＵ７１はステップ６１０に進み、吸入空気量Ｑをエンジン回転速度ＮＥで除した値に所定の係数ｋ１を乗じて特定気筒の燃焼室２５に吸入される空気量ＫＬを求める。
【００９４】
次に、ＣＰＵ７１は、ステップ６１５にてエンジン回転速度ＮＥ、空気量ＫＬ及び冷却水温ＴＨＷ（エンジン運転状態パラメータ）と燃料付着率Ｒとの関係を規定したＲＯＭ７２内に予め格納してあるマップＭａｐＲと、現時点のエンジン回転速度ＮＥ、上記求められら空気量ＫＬ及び現時点で水温センサ６５が検出している冷却水温ＴＨＷ（実際のエンジン運転状態パラメータ）とに基いて現時点における燃料付着率Ｒを求める。そして、ステップ６２０にて、後述するルーチンにより変更される燃料付着率Ｒの修正係数ｋｒを前記求めた燃料付着率Ｒに乗じて新たな燃料付着率Ｒを求める。
【００９５】
次いで、ＣＰＵ７１は、ステップ６２５にて、エンジン回転速度ＮＥ、空気量ＫＬ及び冷却水温ＴＨＷ（エンジン運転状態パラメータ）と燃料残留率Ｐとの関係を規定したＲＯＭ７２内に予め格納してあるマップＭａｐＰと、現時点のエンジン回転速度ＮＥ、上記求められら空気量ＫＬ、及び現時点で水温センサ６５が検出している冷却水温ＴＨＷ（実際のエンジン運転状態パラメータ）とに基いて現時点における燃料残留率Ｐを求める。そして、ステップ６３０にて、後述するルーチンにより変更される燃料残留率Ｐの修正係数ｋｐを前記求めた燃料残留率Ｐに乗じて新たな燃料残留率Ｐを求める。
【００９６】
なお、本例において、燃料付着率Ｒ及び燃料残留率Ｐは、冷却水温ＴＨＷが小さいほど大きくなるように設定されている。冷却水温ＴＨＷは吸気通路構成部材の温度を表す値として用いられていて、吸気バルブの温度や吸気管壁面温度（または、これらの温度の推定値）で置換することもできる。また、燃料付着率Ｒ及び燃料残留率Ｐは、ＳＣＶ開度θｉｖ、及び／又は、可変吸気バルブのタイミングＶＴに応じて求めるように構成してもよい。
【００９７】
次に、ＣＰＵ７１はステップ６３５に進み、エンジンの運転条件がフューエルカット条件（燃料噴射停止条件）を満たしているか否かを判定する。フューエルカット条件は、例えば、エンジン回転速度ＮＥが所定回転数以上であり、且つ、スロットル弁開度ＴＡが「０」であるときに成立する。
【００９８】
ここでは、フューエルカット条件が成立していないと仮定して説明を続ける。この場合、ＣＰＵ７１はステップ６３５にて「Ｎｏ」と判定してステップ６４０に進み、空気量ＫＬを目標空燃比Ａｂｙｆｒｅｆ（例えば、理論空燃比である１４．７）で除することにより、特定気筒の燃焼室２５に吸入される混合気の空燃比を目標空燃比Ａｂｙｆｒｅｆとするために必要な要求燃料量ｆｃ（ｋ）を算出する。
【００９９】
次に、ＣＰＵ７１は、ステップ６４５に進み、上述した（１８）式に基づいて燃料噴射量ｆｉ（ｋ）＝ｆｉを決定し、続くステップ６５０にて特定気筒のインジェクタ３９から燃料噴射量ｆｉの燃料を噴射する。このステップ６４５は、燃料噴射量決定手段を構成している。そして、ＣＰＵ７１はステップ６５５に進み、上述した（１６）式に基づいて（即ち、燃料挙動モデルにしたがって）新たな燃料付着量（推定燃料付着量）ｆｗ（ｋ＋１）を求める。その後、ＣＰＵ７１は、ステップ６６０にて次回の本ルーチンの演算に備えて同燃料付着量ｆｗ（ｋ＋１）を燃料付着量ｆｗ（ｋ）として設定するとともに、ステップ６７０にてその時点の燃料噴射量合計値ｍｆｒに燃料噴射量ｆｉ（ｋ）を加えて新たな燃料噴射量合計値ｍｆｒを求め、ステップ６９５に進んで本ルーチンを一旦終了する。
【０１００】
一方、フューエルカット条件が成立しているとき、ＣＰＵ７１がステップ６３５に進むと、ＣＰＵ７１はステップ６３５にて「Ｙｅｓ」と判定してステップ６７０に進み、今回の燃料噴射量ｆｉ（ｋ）の値を「０」に設定する。そして、ＣＰＵ７１は、ステップ６５５、ステップ６６０、ステップ６６５及びステップ６９５へと進む。この場合、ステップ６５０が実行されないので、燃料噴射は停止される。このように、ステップ６３５及びステップ６７０はフューエルカット実行手段を構成している。
【０１０１】
また、ステップ６５５では、値が「０」に設定された燃料噴射量ｆｉ（ｋ）を基にして燃料付着量ｆｗ（ｋ＋１）が更新される。以上により、燃料噴射量ｆｉの決定及び燃料噴射、並びに推定燃料付着量ｆｗ（ｋ）の取得・推定が達成される。
【０１０２】
次に、酸素吸蔵量ＯＳＡを推定するための作動について説明する。ＣＰＵ７１は、図７に示したルーチンを所定時間Δｔｓの経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ７００から処理を開始し、ステップ７０５に進んでその時点の上流側空燃比センサ６６の出力Ｖａｂｙｆｓと図３に示したマップから上流側空燃比ａｂｙｆｓを求める。
【０１０３】
次いで、ＣＰＵ７１は、ステップ７１０にてその時点の上流側空燃比積算値Ｓａｂｙｆｓに前記ステップ７０５にて求めた現時点の上流側空燃比ａｂｙｆｓを加えた値を新たな上流側空燃比積算値Ｓａｂｙｆｓとして設定する。その後、ＣＰＵ７１は、ステップ７１５にてデータ数（カウント）ｎの値を「１」だけ増大し、ステップ７９５に進んで本ルーチンを一旦終了する。以上により、上流側空燃比積算値Ｓａｂｙｆｓが更新されるとともに、上流側空燃比積算値Ｓａｂｙｆｓに積算された上流側空燃比ａｂｙｆｓのデータ数ｎが更新されて行く。
【０１０４】
また、ＣＰＵ７１は酸素吸蔵量ＯＳＡを推定するために、図８に示したルーチンを所定時間Δｔ（Δｔは実行間隔時間と呼ばれ、図７に示したルーチンを実行する間隔Δｔｓより相当大きい。）毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ８００から処理を開始し、ステップ８０５にて現在がフューエルカット中（燃料噴射の停止中）であるか否かを判定する。
【０１０５】
このとき、フューエルカット中でなければ、ＣＰＵ７１はステップ８０５にて「Ｎｏ」と判定してステップ８１０に進み、上流側空燃比積算値Ｓａｂｙｆｓをデータ数ｎで除することにより、上流側空燃比の平均値ａｂｙｆｓａｖｅを求める。次に、ＣＰＵ７１はステップ８１５に進み、上述した（６）式に基いて本ルーチンの実行間隔時間Δｔ内における酸素吸蔵量変化量ΔＯＳＡを計算してステップ８２５に進む。
【０１０６】
一方、現時点がフューエルカット中であると、ＣＰＵ７１はステップ８０５にて「Ｙｅｓ」と判定してステップ８２０に進み、上述した（７）式に基いて本ルーチンの実行間隔時間Δｔ内における酸素吸蔵量変化量ΔＯＳＡを計算してステップ８２５に進む。
【０１０７】
ＣＰＵ７１は、続くステップ８２５にて、その時点の酸素吸蔵量ＯＳＡに酸素吸蔵量変化量ΔＯＳＡを加えることにより新たな酸素吸蔵量ＯＳＡを求め、ステップ８３０にて燃料噴射量合計値ｍｆｒを「０」にリセットする。そして、ＣＰＵ７１は、ステップ８３５にて上流側空燃比積算値Ｓａｂｙｆｓを「０」にリセットするとともに、ステップ８４０にてデータ数ｎを「０」にリセットする。
【０１０８】
次に、ＣＰＵ７１は、ステップ８４５に進んで、本ルーチンを前回実行した際の下流側空燃比センサ６７の出力（前回の出力）Ｖａｂｙｆｓｂｏｌｄが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値より小さいか否かを判定する。所定値ΔＶは値Ｖｒｅｆの略半分乃至１／３程度の値である。このとき、前回の出力Ｖａｂｙｆｓｂｏｌｄが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値以上であると、ＣＰＵ７１はステップ８４５にて「Ｎｏ」と判定してステップ８５０に進む。
【０１０９】
これに対し、前回の出力Ｖａｂｙｆｓｂｏｌｄが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値より小さいと、ＣＰＵ７１はステップ８４５にて「Ｙｅｓ」と判定してステップ８５５に進み、今回の下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値以上であるか否かを判定する。このとき、今回の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値より小さければ、ＣＰＵ７１はステップ８５５にて「Ｎｏ」と判定してステップ８５０に進む。
【０１１０】
また、ステップ８５５の判定時に、今回の下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値以上であると、ＣＰＵ７１はステップ８５５にて「Ｙｅｓ」と判定してステップ８６０に進み、酸素吸蔵量ＯＳＡの値を「０」にリセットし、その後、ステップ８５０に進む。
【０１１１】
即ち、ステップ８４５、ステップ８５５及びステップ８６０により、下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが「理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた閾値」以下から同閾値以上へと変化したか否か（触媒５３の下流側のガスの空燃比が明白なリッチとなったか否か）がモニタされ、そのような変化が検出された場合にのみ触媒５３内に吸蔵されていた酸素が丁度「０」になったとして、酸素吸蔵量ＯＳＡが「０」にリセットされる。
【０１１２】
ＣＰＵ７１は、ステップ８５０にて、下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂを次回の本ルーチンの演算のために前回の出力Ｖａｂｙｆｓｂｏｌｄとして設定し、続くステップ８６５にて本ルーチンにより更新された酸素吸蔵量ＯＳＡの値が０と最大酸素吸蔵量Ｃｍａｘとの間の値となるように、同酸素吸蔵量ＯＳＡの値をガードする。
【０１１３】
即ちＣＰＵ７１は、本ルーチンにより更新された酸素吸蔵量ＯＳＡが０より小さければ同酸素吸蔵量ＯＳＡの値を「０」に設定し、本ルーチンにより更新された酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘより大きければ同酸素吸蔵量ＯＳＡの値を最大酸素吸蔵量Ｃｍａｘに設定する。そして、ＣＰＵ７１はステップ８９５に進み、本ルーチンを一旦終了する。このルーチンが繰り返され、酸素吸蔵量ＯＳＡが随時更新されて行く。このように、図７及び図８に示されたルーチン（特に、図７の全ステップ及び図８のステップ８０５〜ステップ８２５）は、酸素吸蔵量推定手段を構成している。
【０１１４】
次に、実燃料付着量ＳＵＭＦｗの算出及び燃料挙動モデルの修正に係る作動について、図９及び図１０のフローチャートにより示したルーチンを参照しながら説明する。
【０１１５】
ＣＰＵ７１は、図９に示したルーチンを所定時間の経過毎に実行するようになっている。このルーチンにより、フラグＸの値が操作される。フラグＸは、実燃料付着量ＳＵＭＦｗを取得する条件が成立したことを値「１」により示す。なお、フラグＸの値は、イグニッションスイッチが「オフ」から「オン」へと変更されたときに起動される図示しないイニシャルルーチンにより「０」に初期化されるようになっている。
【０１１６】
所定のタイミングになると、ＣＰＵ７１はステップ９００から処理を開始してステップ９０５に進み、前述したルーチンにより推定されている酸素吸蔵量ＯＳＡの値が最大酸素吸蔵量Ｃｍａｘの半分の値から所定値γを減じた値と最大酸素吸蔵量Ｃｍａｘの半分の値に所定値γを加えた値との間にあるか否かを判定する。所定値γは最大酸素吸蔵量Ｃｍａｘの半分の値より相当に小さい値（例えば、γ＝Ｃｍａｘ／１０）である。このステップ９０５により、酸素吸蔵量ＯＳＡが、最大酸素吸蔵量Ｃｍａｘの略半分程度であるか否かが判定される。
【０１１７】
いま、酸素吸蔵量ＯＳＡが、最大酸素吸蔵量Ｃｍａｘの略半分程度であれば、ＣＰＵ７１はステップ９０５にて「Ｙｅｓ」と判定してステップ９１０に進み、その時点の下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値以上であるか否かを判定する。そして、その時点の下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値以上であれば、ＣＰＵ７１はステップ９１５に進んでフラグＸの値を「１」に設定する。
【０１１８】
一方、酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘの略半分程度でない場合、ＣＰＵ７１はステップ９０５にて「Ｎｏ」と判定してステップ９９５に進み、本ルーチンを直ちに終了する。また、ＣＰＵ７１は、下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値以上でない場合、ステップ９１０にて「Ｎｏ」と判定してステップ９９５に進み、本ルーチンを直ちに終了する。
【０１１９】
以上により、酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘの略半分程度であって酸素吸蔵量の変化が見込める場合、且つ、下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆに所定値ΔＶを加えた値以上（リッチ出力である高レベル）であって同出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆから所定値ΔＶを減じた値（リーン出力である低レベル）へと変化し得る場合にのみ、フラグＸの値が「１」へと変更される。
【０１２０】
また、ＣＰＵ７１は、図１０に示したルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、ＣＰＵ７１はステップ１０００から処理を開始してステップ１００５に進み、現在がフューエルカット中であるか否かを判定する。
【０１２１】
いま、図１の時刻ｔ０〜時刻ｔ１のように、フューエルカット中でないとして説明を続けると、ＣＰＵ７１はステップ１００５にて「Ｎｏ」と判定してステップ１０１０に進み、フラグＸの値を「０」に設定する。このように、フラグＸの値は、図９に示したルーチンの実行により一旦「１」に設定されても、フューエルカットが終了すれば直ちに「０」に戻される。次いで、ＣＰＵ７１はステップ１０１５に進み、その時点の酸素吸蔵量ＯＳＡを次回の本ルーチンの実行のために前回の酸素吸蔵量ＯＳＡｏｌｄとして格納し、ステップ１０９５に進んで本ルーチンを一旦終了する。
【０１２２】
次に、図１の時刻ｔ１の直後において本ルーチンが実行される場合、即ち、本ルーチンを前回実行した時点と今回実行する時点の間にフューエルカットが実行されるとともに、フラグＸの値が「１」となっている場合について説明する。
【０１２３】
この場合、ＣＰＵ７１はステップ１００５に進んだとき、同ステップ１００５にて「Ｙｅｓ」と判定してステップ１０２０に進み、本ルーチンを前回実行した時点においてもフューエルカット中であったか否かを判定する。この場合、本ルーチンを前回実行した時点においてはフューエルカット中でないので、ＣＰＵ７１はステップ１０２０にて「Ｎｏ」と判定してステップ１０２５に進み、フューエルカットが実行され始めた時点（燃料噴射が停止された時点）において燃料挙動モデルに基づいて推定されていた燃料付着量ｆｗ（ｋ）を燃料噴射停止開始時推定燃料付着量ｆｗｆｃとして格納する。
【０１２４】
次いで、ＣＰＵ７１はステップ１０３０に進んで、フラグＸの値が「１」であるか否かを判定する。前述した仮定に従えば、フラグＸの値は「１」である。従って、ＣＰＵ７１はステップ１０３０にて「Ｙｅｓ」と判定してステップ１０３５に進み、前回の酸素吸蔵量ＯＳＡｏｌｄの値が最大酸素吸蔵量Ｃｍａｘより小さいか否かを判定する。
【０１２５】
前述したように、フラグＸは、酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘの略半分程度であるときにしか「１」に設定されない（図９を参照。）。また、現時点はフューエルカット開始直後である。従って、この時点で前回の酸素吸蔵量ＯＳＡｏｌｄの値は最大酸素吸蔵量Ｃｍａｘよりも小さい（図１（Ｂ）の時刻ｔ１直後を参照。）。
【０１２６】
従って、ＣＰＵ７１はステップ１０３５にて「Ｙｅｓ」と判定し、ステップ１０４０にて現在の酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘと等しいか否かを判定する。この場合、現在の酸素吸蔵量ＯＳＡの値も最大酸素吸蔵量Ｃｍａｘより小さいから、ＣＰＵ７１はステップ１０４０にて「Ｎｏ」と判定し、ステップ１０１５及びステップ１０９５へと進んで本ルーチンを一旦終了する。
【０１２７】
その後、フューエルカットが継続すると、上述のステップが繰り返し実行される。また、その間、図１（Ｂ）の破線により示したように、推定される酸素吸蔵量ＯＳＡは増大する。このため、所定の時間が経過すると、推定される酸素吸蔵量ＯＳＡは最大酸素吸蔵量Ｃｍａｘに到達する（図１（Ｂ）の時刻ｔ２）。
【０１２８】
このとき、ＣＰＵ７１がステップ１０００から処理を開始すると、ＣＰＵ７１はステップ１００５、ステップ１０２０及びステップ１０３０にて「Ｙｅｓ」と判定してステップ１０３５に進む。現時点は、推定される酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘに到達した直後であるから、前回の酸素吸蔵量ＯＳＡｏｌｄは最大酸素吸蔵量Ｃｍａｘより小さく、今回の酸素吸蔵量ＯＳＡは最大酸素吸蔵量Ｃｍａｘと等しい。従って、ＣＰＵ７１はステップ１０３５にて「Ｙｅｓ」と判定するとともに、ステップ１０４０にても「Ｙｅｓ」と判定し、ステップ１０４５に進んで酸素量積算値ＳＵＭＯ２を「０」に設定する。
【０１２９】
次いで、ＣＰＵ７１はステップ１０５０にて下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆから所定値ΔＶを減じた値以上であるか否かを判定する。即ち、ステップ１０５０では、触媒５３の下流側ガス（触媒５３から流出するガス）が明白なリーンとなっていないか否か（そのガス中の酸素濃度が実質的に大気中の酸素濃度以上となっていないか否か）が判定される。
【０１３０】
図１に示したように、この時点（時刻ｔ１直後）においては、触媒５３の下流のガスに含まれる酸素濃度は大気中の酸素濃度よりも小さく、下流側空燃比センサ６７の出力Ｖａｂｙｆｓｂが理論空燃比相当の値Ｖｒｅｆから所定値ΔＶを減じた値よりも大きい。従って、ＣＰＵ７１はステップ１０５０にて「Ｙｅｓ」と判定してステップ１０５５に進み、上記（１４）式及び上記（１５）式の考えに基づいて酸素量積算値ＳＵＭＯ２を求める。具体的には、大気中の酸素の重量割合αと吸入空気量（吸入空気流量）Ｇａと本ルーチンの実行間隔時間Δｔとの積をその時点の酸素量積算値ＳＵＭＯ２に加えた値を新たな酸素量積算値ＳＵＭＯ２とする。その後、ＣＰＵ７１はステップ１０１５及びステップ１０９５を実行し本ルーチンを一旦終了する。
【０１３１】
かかる状態が継続すると、実際の酸素吸蔵量は次第に増大する。一方、推定される酸素吸蔵量ＯＳＡは最大酸素吸蔵量Ｃｍａｘに維持される（図１（Ｂ）の時刻ｔ２〜時刻ｔ３）。このとき、ＣＰＵ７１が本ルーチンを実行すると、ステップ１０００、１００５、１０２０及び１０３０を経由してステップ１０３５に進み、同ステップ１０３５にて「Ｎｏ」と判定してステップ１０６０に進む。
【０１３２】
そして、ＣＰＵ７１はステップ１０６０にて酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘと等しいか否かを判定する。この場合、酸素吸蔵量ＯＳＡは最大酸素吸蔵量Ｃｍａｘと等しいから、ＣＰＵ７１はステップ１０６０からステップ１０５０に進むようになる。これにより、ステップ１０４５がスキップされるので、ステップ１０５０にて「Ｎｏ」と判定されるまで、ステップ１０５５による酸素量積算値ＳＵＭＯ２の更新が続けられる。
【０１３３】
その後、更に時間が経過すると、触媒５３内の実際の酸素吸蔵量が最大酸素吸蔵量Ｃｍａｘに到達し、触媒５３の下流ガスに実質的に大気中の酸素濃度と等しい酸素濃度の酸素が含まれるようになる。このとき、ＣＰＵ７１が本ルーチンを実行すると、ＣＰＵ７１はステップ１０００、１００５、１０２０、１０３０、１０３５及び１０６０を経由してステップ１０５０に進み、同ステップ１０５０にて「Ｎｏ」と判定してステップ１０６５に進み、上記（１５）式にしたがって（即ち、酸素量積算値ＳＵＭＯ２を係数ｋｗｆで除して）、燃料噴射の停止を開始した時点（時刻ｔ１）における実燃料付着量ＳＵＭＦｗを求める。
【０１３４】
次いで、ＣＰＵ７１はステップ１０７０にて、ステップ１０２５にて保存しておいた燃料噴射停止開始時推定燃料付着量ｆｗｆｃとステップ１０６５にて求めた実燃料付着量ＳＵＭＦｗとに基づいて燃料付着率Ｒの修正係数ｋｒ及び燃料残留率Ｐの修正係数ｋｐを前述したように修正し、燃料挙動モデルの修正を行う。その後、ＣＰＵ７１はステップ１０１０、ステップ１０１５及び１０９５を実行して本ルーチンを一旦終了する。このように、図１０に示したルーチンは、実燃料付着量推定手段及び燃料挙動モデル修正手段（特に、ステップ１０７０）を構成している。
【０１３５】
一方、このような燃料挙動モデルの修正を行う前にフューエルカットが終了した場合、ＣＰＵ７１はステップ１００５にて「Ｎｏ」と判定し、ステップ１０１０等を経由して本ルーチンを一旦終了する。また、フューエルカット中であっても、ステップ１０３０を実行するときにフラグＸの値が「１」となっていなければ、ＣＰＵ７１はステップ１０１０等を経由して本ルーチンを一旦終了する。
【０１３６】
更に、何らかの理由により、フューエルカット中において前回の推定酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘ以上であり、且つ、今回の推定酸素吸蔵量ＯＳＡが最大酸素吸蔵量Ｃｍａｘと等しくなくなった場合、ＣＰＵ７１はステップ１０３５及びステップ１０６０にて「Ｎｏ」と判定し、ステップ１０１０等を経由して本ルーチンを一旦終了する。
【０１３７】
以上、説明したように、本発明による燃料噴射量制御装置（内燃機関の制御装置）は、燃料噴射の停止が開始されたときの実燃料付着量を、触媒５３の推定酸素吸蔵量が最大酸素吸蔵量Ｃｍａｘに到達する第１タイミングと触媒５３から流出するガス中の酸素濃度が実質的に大気中の酸素濃度となる第２タイミングとに基づいて求め、この実燃料付着量と燃料噴射の停止が開始されたときに燃料挙動モデルにしたがって求められていた推定燃料付着量とを比較することにより、燃料挙動モデルを修正するようになっている。
【０１３８】
従って、修正された燃料挙動モデルにより推定燃料付着量が正しく求められるようになるので、様々な運転状態において、機関の空燃比を目標空燃比により近づけることができる。
【０１３９】
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態においては、第１タイミングと第２タイミングとの間の酸素量積算値ＳＵＭＯ２に基づいて実燃料付着量ＳＵＭＦｗを求め、燃料噴射停止開始時推定燃料付着量ｆｗｆｃと実燃料付着量ＳＵＭＦｗとに基づいて燃料挙動モデルを修正していたが、例えば、吸入空気量が略一定であるときに、前記第１タイミングから前記第２タイミングまでの時間Ｔｆｗを計測し、その計測された時間Ｔｆｗと燃料噴射停止開始時推定燃料付着量ｆｗｆｃに基づいて燃料挙動モデルを修正してもよい。計測された時間Ｔｆｗは、実燃料付着量ＳＵＭＦｗに略比例した値となるからである。
【０１４０】
また、上記実施形態にて使用される最大酸素吸蔵量Ｃｍａｘは、ＲＯＭ７２内に予め記憶された値であってもよいが、実際の最大酸素吸蔵量を別途求めておき、その求めた最大酸素吸蔵量Ｃｍａｘを使用してもよい。
【０１４１】
最大酸素吸蔵量Ｃｍａｘを実際に求めるには、例えば、機関の空燃比を所定のリッチ空燃比とし、下流側空燃比センサ６７がリッチを示した時点の酸素吸蔵量を「０」に設定し、その後、機関の空燃比をリーンとし続けて下流側空燃比センサ６７がリーンを示すまでの酸素吸蔵量ＯＳＡを求め、その酸素吸蔵量ＯＳＡを最大酸素吸蔵量とすればよい。また、機関の空燃比を所定のリーン空燃比とし、下流側空燃比センサ６７がリーンを示した後に機関の空燃比をリッチとし、下流側空燃比センサ６７がリッチを示すまでの酸素吸蔵量ＯＳＡを求め、その酸素吸蔵量ＯＳＡの絶対値を最大酸素吸蔵量としてもよい。
【０１４２】
また、酸素吸蔵量推定手段は、例えば、内燃機関の吸入空気量Ｇａと同吸入空気量に基づいて定められる燃料供給量ｆｉとに基づいて触媒５３に流入するガスに含まれる酸素の過不足量を求め、この酸素の過不足量に基づいて酸素吸蔵量を推定してもよい。更に、下流側空燃比センサ６７は、上流側空燃比センサ６６のように酸素濃度を連続的に計測できるセンサであってもよい。加えて、上記実施形態では、フューエルカット中に触媒５３に流入する酸素は触媒５３の酸素吸蔵量が最大酸素吸蔵量Ｃｍａｘに到達していなければ総べて触媒５３に吸蔵されると仮定しているが、吸入空気流量Ｇａや触媒温度ＴｅｍｐＣＣＲＯ等に応じて変化する定数ｋｏｂを求め、吸入空気流量Ｇａに時間Δｔ、定数ｋｏｂ及び酸素の重量割合αを乗じた量（Ｇａ・Δｔ・ｋｏｂ・α）の酸素が時間Δｔ内に触媒５３内に吸蔵されて行くとして酸素吸蔵量を推定してもよい。
【図面の簡単な説明】
【図１】本発明による内燃機関の制御装置が実際の燃料付着量を求める際の作動を説明するためのタイムチャートである。
【図２】本発明による内燃機関の制御装置を搭載した同内燃機関の概略図である。
【図３】図２に示した上流側空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図４】図２に示した下流側空燃比センサの出力電圧と空燃比との関係を示したマップである。
【図５】燃料挙動モデルにより推定燃料付着量を求める原理を説明するための概念図である。
【図６】図２に示したＣＰＵが燃料噴射制御を行うために実行するプログラム（ルーチン）を示したフローチャートである。
【図７】図２に示したＣＰＵが酸素吸蔵量を推定するために実行するプログラム（ルーチン）を示したフローチャートである。
【図８】図２に示したＣＰＵが酸素吸蔵量を推定するために実行するプログラム（ルーチン）を示したフローチャートである。
【図９】図２に示したＣＰＵが実燃料付着量を求めるために実行するプログラム（ルーチン）を示したフローチャートである。
【図１０】図２に示したＣＰＵが実燃料付着量を求めるとともに燃料挙動モデルを修正するために実行するプログラム（ルーチン）を示したフローチャートである。
【符号の説明】
１０…内燃機関、２５…燃焼室、３１…吸気ポート、３２…吸気弁、３９…インジェクタ、５２…エキゾーストパイプ（排気管）、５３…三元触媒、６１…エアフローメータ、６６…上流側空燃比センサ、６７…下流側空燃比センサ（酸素濃度センサ）、７０…電気制御装置、７１…ＣＰＵ。
【図１】
2004353477.tif 000011
【図２】
2004353477.tif 000012
【図３】
2004353477.tif 000013
【図４】
2004353477.tif 000014
【図５】
2004353477.tif 000015
【図６】
2004353477.tif 000016
【図７】
2004353477.tif 000017
【図８】
2004353477.tif 000018
【図９】
2004353477.tif 000019
【図１０】
2004353477.tif 000020