(57)【特許請求の範囲】
【請求項１】
燃焼室に接続された吸気通路内にて燃料を噴射する燃料噴射手段と、
前記吸気通路を構成する部材への燃料付着量を推定する燃料付着量推定手段と、
前記燃料噴射手段から噴射される燃料量を前記推定された燃料付着量に応じて制御する燃料噴射量制御手段と、
前記燃料付着量推定手段によって推定された燃料付着量の時間的変化量を取得する手段と、
前記吸気通路内に回動可能に設けられるとともに前記燃焼室に吸入される吸気流を制御する吸気制御弁の開度を、前記取得された燃料付着量の時間的変化量に基いて制御する燃料付着量調整手段と、
を備えた内燃機関の制御装置において、
前記燃料付着量調整手段は、
前記取得された燃料付着量の時間的変化量の絶対値が判定値Ａより大きく且つ前記取得された燃料付着量が増大している場合には燃料付着量の増加速度を低下させるように前記吸気制御弁の開度を変更し、同取得された燃料付着量の時間的変化量の絶対値が同判定値Ａより大きく且つ同取得された燃料付着量が減少している場合には燃料付着量の減少速度を低下させるように前記吸気制御弁の開度を変更する内燃機関の制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置において、
前記燃料付着量推定手段は、
前記吸気通路を構成する部材である吸気通路構成部材にすでに付着している燃料のうち一吸気行程を経た後に同吸気通路構成部材に付着したまま残留している燃料の割合である残留率Ｐと、前記燃料噴射弁から噴射された燃料のうち前記吸気通路構成部材へ付着する燃料の割合である付着率Ｒと、を燃料付着パラメータとして使用する燃料付着モデルによって前記燃料付着量を推定するように構成されるとともに、少なくとも前記吸気制御弁の開度に基いて前記残留率Ｐ及び前記付着率Ｒを取得するように構成された内燃機関の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の吸気系に付着する燃料付着量を推定し、推定した燃料付着量に応じて燃料噴射量を制御するとともに、前記燃料付着量を制御することができるように構成した内燃機関の制御装置に関する。
【０００２】
【従来の技術】
従来より、この種の制御装置として、例えば特開平９−３０３１７３号公報に開示された技術が知られている。上記公報に開示された内燃機関の制御装置は、吸気通路壁面への燃料付着量を燃料挙動シミュレーションモデル（燃料付着モデル）に基づいて推定し、推定した燃料付着量に応じて噴射すべき燃料の量を決定するようになっている。また、この制御装置は、前記燃料挙動シミュレーションモデルで使用する吸気通路壁面への燃料付着率と吸気通路壁面に付着した燃料の燃料残留率（以下、燃料付着率及び燃料残留率を「燃料付着モデルパラメータ」と称呼する。）とを、内燃機関の負荷変化に応じて可変とすることにより、燃料付着量の推定を一層正確に行い、より適正な燃料噴射量を決定するようになっている。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記推定される燃料付着量の時間的変化量が大きい運転状態では、推定に使用する燃料付着モデルパラメータの時間的変化が大きく、計算遅れ等の要因も加わって、同燃料付着モデルパラメータを精度良く決定することが困難になるため、推定される燃料付着量に含まれる誤差が大きくなって燃料噴射量が適正値から大きく外れ、その結果、狙いとする空燃比が得られないという問題がある。また、排気中の酸素濃度に応じて空燃比を検出し、検出した空燃比に基づいて燃料噴射量に関する学習値を更新する学習制御において、前記推定された燃料付着量の時間的変化量が小さいことを同学習値の更新許可条件としている場合にあっては、同推定された燃料付着量の時間的変化量が大きい状態が頻繁に発生すると、同学習値の更新が遅れ（学習機会が減少し）、その結果、狙いとする空燃比が得られないという問題もある。
【０００４】
【本発明の概要】
本発明は、燃料付着量を積極的に調整することにより、上記課題を解決しようとするものであって、その具体的特徴は、燃焼室に接続された吸気通路内にて燃料を噴射する燃料噴射手段と、前記吸気通路を構成する部材への燃料付着量を推定する燃料付着量推定手段と、前記燃料噴射手段から噴射される燃料量を前記推定された燃料付着量に応じて制御する燃料噴射量制御手段と、前記燃料付着量推定手段によって推定された燃料付着量の時間的変化量を取得する手段と、前記吸気通路内に回動可能に設けられるとともに前記燃焼室に吸入される吸気流を制御する吸気制御弁の開度を「前記取得された燃料付着量の時間的変化量」に基いて制御する燃料付着量調整手段とを備えたことにある。この場合、前記吸気通路を構成する部材は、吸気管（インテークマニホールド）、吸気弁（特に、吸気弁の背面）、吸気通路に設けられるＳＣＶ等の吸気制御弁を含んでよい。
【０００５】
これによれば、吸気通路を構成する部材への燃料付着量が「前記燃料付着量推定手段によって推定された燃料付着量の時間的変化量」に応じて調整される。従って、必要に応じて、実際の燃料付着量の時間的変化量が過大とならないようにすることで、推定される燃料付着量の時間的変化量が過大とならないようにして、同推定される燃料付着量に含まれる推定誤差の絶対量を小さく維持することができ、その結果、燃料噴射量をより適正な値とすることが可能となる。
【０００６】
更に、前記燃料付着量推定手段は、前記取得された燃料付着量の時間的変化量の絶対値が判定値Ａより大きく且つ前記取得された燃料付着量が増大している場合には燃料付着量の増加速度を低下させるように前記吸気制御弁の開度を変更し、同取得された燃料付着量の時間的変化量の絶対値が同判定値Ａより大きく且つ同取得された燃料付着量が減少している場合には燃料付着量の減少速度を低下させるように前記吸気制御弁の開度を変更するように構成されている。
【０００７】
これによれば、推定される燃料付着量の時間的変化量を小さい値に容易に維持することができるので、燃料付着量の推定精度を向上することができる。
【０００８】
また、前記吸気制御弁は、内燃機関のスロットルバルブ下流の吸気通路に配置された周知のスワールコントロールバルブ（ＳＣＶ）や特開平８−１０９８３６号公報に開示された燃焼室に生じる乱流を制御するための吸気制御弁等を含んでいる。
【０００９】
かかる吸気制御弁は、特に低吸入空気量領域において、吸入空気量を大きく変化させることなく燃料付着量を調整することができるので、内燃機関のトルク変動を小さく維持しながら、且つ簡単な構成で、燃料付着量を調整することができる。
【００１１】
【発明の実施の形態】
以下、本発明による内燃機関の制御装置の実施形態について図面を参照しつつ説明すると、図１は、同制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。
【００１２】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００１３】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００１４】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００１５】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットルバルブ４３、及びスワールコントロールバルブ（以下、「ＳＣＶ」と称呼する。）４４を備えている。スロットルバルブ４３は、ＤＣモータからなるスロットルバルブアクチュエータ４３ａにより吸気管４１内で回転駆動されるようになっている。ＳＣＶ４４は、前記スロットルバルブ４３よりも下流で前記インジェクタ３９よりも上流の位置にて前記吸気管４１に対し回動可能に支持されるとともに、ＤＣモータからなるＳＣＶアクチュエータ４４ａにより回転駆動されるようになっている。なお、本明細書においては、インテークマニホールドを含む吸気管４１、吸気ポート３１、吸気弁３２、及びＳＣＶ４４等を吸気通路を構成する部材（吸気通路構成部材）と称呼する。
【００１６】
図２は、一つの気筒（特定の気筒）の燃焼室２５、及び同燃焼室２５の近傍部分の概略平面図である。図２に示したように、前記吸気ポート３１は、実際には各気筒に一対ずつ設けられた吸気ポート３１ａ，３１ｂからなっている。吸気ポート３１ａは、燃焼室２５内にスワール（旋回流）を発生させるようにヘリカル状に形成され所謂スワールポートを構成し、吸気ポート３１ｂは所謂ストレートポートを構成している。吸気管４１のサージタンクから各燃焼室２５に至る部分（即ち、インテークマニホールドの一部）には、吸気管４１の長手方向に沿って伸びる隔壁４１ａが形成されていて、これにより吸気管４１は吸気ポート３１ａに連通する第１インテークマニホールド４５と、吸気ポート３１ｂに連通する第２インテークマニホールド４６とに区画されている。隔壁４１ａの適宜個所には第１，第２インテークマニホールド４５，４６を連通する連通路４１ｂが形成されていて、前記インジェクタ３９は同連通路４１ｂの近傍位置に固定され、吸気ポート３１ａ，３１ｂに向けて燃料を噴射するようになっている。
【００１７】
前記ＳＣＶ４４は、第２インテークマニホールド４６内において回動可能に支持され、第２インテークマニホールド４６の開口断面積を変更し得るようになっている。インジェクタ３９から噴射された燃料は、その一部が前記吸気通路構成部材に付着するとともに、吸気制御弁（吸気制御部材）であるＳＣＶ４４にも付着する。なお、ＳＣＶ４４に付着する燃料の量は、吸気弁と排気弁のバルブオーバーラップ角度が大きくなるにしたがって、インジェクタ３９から噴射された燃料が燃焼室からより多く吹き返されるため、増大する。また、ＳＣＶ４４に付着する燃料の量は、ＳＣＶ４４の開度に応じて変化する。換言すると、ＳＣＶ４４は、燃料付着量を積極的に調整する燃料付着量調整手段の一部を構成する。
【００１８】
再び図１を参照すると、排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ５２、及びエキゾーストパイプ５２に介装された触媒コンバータ（三元触媒装置）５３を備えている。
【００１９】
一方、このシステムは、熱線式エアフローメータ６１、吸気温センサ６２、大気圧センサ（スロットルバルブ上流圧力センサ）６３、スロットルポジションセンサ６４、SCV開度センサ６５、カムポジションセンサ６６、クランクポジションセンサ６７、水温センサ６８、Ｏ2センサ６９、及びアクセル開度センサ８１を備えている。
【００２０】
エアフローメータ６１は、概略斜視図である図３に示したように、吸気管４１内を流れる吸入空気の一部をバイパスさせるバイパス通路と、このバイパス通路にバイパスされた吸入空気の質量流量を計測する熱線計量部６１ａと、計測された質量流量に応じた電圧Vgを出力する信号処理部６１ｂとからなっている。熱線計量部６１ａは、その拡大斜視図である図４に示したように、白金熱線からなる吸気温計測用抵抗（ボビン部）６１ａ１と、同吸気温計測用抵抗６１ａ１を前記信号処理部６１ｂに連結して保持するサポート部６１ａ２と、加熱用抵抗（ヒータ）６１ａ３と、同加熱用抵抗６１ａ３を前記信号処理部６１ｂに連結して保持するサポート部６１ａ４とを備えている。信号処理部６１ｂは、吸気温計測用抵抗６１ａ１と加熱用抵抗６１ａ３とで構成されたブリッジ回路を備え、このブリッジ回路により吸気温計測用抵抗６１ａ１と加熱用抵抗６１ａ３との温度差を常に一定に維持するように同加熱用抵抗６１ａ３に供給する電力を調整するとともに、この供給する電力を前記電圧Vgに変換して出力するようになっている。
【００２１】
吸気温センサ６２は、エアフローメータ６１内に備えられていて、吸入空気の温度を検出し、吸気温度THAを表す信号を出力するようになっている。大気圧センサ６３は、スロットルバルブ４３の上流の圧力（即ち、大気圧）を検出し、スロットルバルブ上流圧力Paを表す信号を出力するようになっている。スロットルポジションセンサ６４は、スロットルバルブ４３の開度を検出し、スロットルバルブ開度TAを表す信号を出力するようになっている。SCV開度センサ６５は、ＳＣＶ４４の開度を検出し、ＳＣＶ開度θivを表す信号を出力するようになっている。カムポジションセンサ６６は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６７は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度Neを表す。水温センサ６８は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。Ｏ2センサ６９は、触媒コンバータ５３に流入する排ガス中の酸素濃度に応じた信号（空燃比が理論空燃比よりもリッチであるか、又はリーンであるかを示す信号）を出力するようになっている。アクセル開度センサ８１は、運転者によって操作されるアクセルペダル８２の操作量Accpを表す信号を出力するようになっている。
【００２２】
電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するプログラム、テーブル（ルックアップテーブル、マップ）、定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、及びＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６９，８１と接続され、ＣＰＵ７１にセンサ６１〜６９，８１からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、スロットルバルブアクチュエータ４３ａ、及びＳＣＶアクチュエータ４４ａに駆動信号を送出するようになっている。
【００２３】
次に、上記のように構成された制御装置による物理モデルを用いた燃料噴射量の決定方法について説明する。以下に述べる処理は、ＣＰＵ７１がプログラムを実行することによりなされる。
【００２４】
（要求燃料噴射量fcの決定方法の概要）
この制御装置は、吸気行程にある気筒の吸気弁３２が閉じる前に同気筒に対して燃料を噴射しなければならないので、吸気弁３２が閉じた時点で（即ち、吸気弁閉時に）同気筒内に吸入されているであろう吸入空気量（筒内吸入空気量）を予測する必要がある。一方、吸気弁閉時の吸気管圧力PMFWDは、燃焼室２５に吸入されている空気量と比例関係にある。従って、吸気管圧力PMFWDを予測することができれば、実際の筒内吸入空気量を推定することができる。そこで、本制御装置は、吸気弁閉時の吸気管圧力PMFWDを予測・推定し、推定した吸気管圧力PMFWDを一気筒の排気量と空気密度の積で除することにより一気筒当たりの吸入空気量に相当する値KLFWDを求め、下記数１に基づいて要求燃料噴射量（基本噴射量）fcを決定する。数１において、ｋは設定空燃比に応じて変化する係数、FAF、及びFGは、それぞれ後述する空燃比フィードバック補正係数、及び空燃比学習値である。
【００２５】
【数１】
fc ＝ｋ・KLFWD・FAF・FG
【００２６】
なお、エアフローメータ６１の出力電圧Vgと吸入空気量mtAFMとの関係を規定した図５に示したVg−mtAFM変換テーブルと、エアフローメータ６１の実際の出力電圧Vgとに基づいて現時点での吸入空気量mtAFMを求め、下記数２により要求燃料噴射量fcを簡易的に求めてもよい。
【００２７】
【数２】
fc ＝ｋ・mtAFM・FAF・FG
【００２８】
上記数１により要求燃料噴射量fcを求める本実施形態の制御装置は、以下のようにして吸気弁閉時の吸気管圧力PMFWDを予測する。即ち、図６に示したように、吸気弁閉時のスロットルバルブ開度TASを予測するとともに、同予測したスロットルバルブ開度TAS及びエンジン回転速度Ne等から吸気弁閉時の吸気管圧力Pm１を所定のモデルを用いて推定する。また、現時点においてスロットルポジションセンサ６４が検出する実際のスロットルバルブ開度TARとエンジン回転速度Ne等に基づき、エアフローメータ６１が現時点で出力するであろう値を推定し、この推定値に基づいて現時点の吸気管圧力Pm２を推定する。同時に、現時点においてエアフローメータ６１の実際の出力電圧Vgに基づいて現時点の吸気管圧力Pm３を推定する。最後に、下記数３にしたがって吸気弁閉時の吸気管圧力PMFWDを求める。これにより、スロットルバルブ開度の予測値TASに基づく推定値である吸気管圧力Pm１に含まれる定常的な誤差を、エアフローメータ６１の実際の出力電圧Vgにより補正し、吸気弁閉時の吸気管圧力PMFWDを精度良く推定する。
【００２９】
【数３】
PMFWD＝Pm３＋（Pm１−Pm２）
【００３０】
なお、スロットルバルブ開度が一定に維持されていて内燃機関１０が定常状態にある場合、吸気管圧力Pm１と吸気管圧力Pm２は等しくなるので、上記数３から理解されるように、吸気管圧力PMFWDは吸気管圧力Pm３と等しくなる。換言すると、定常運転状態では、実質的にエアフローメータ６１の出力電圧Vgに基づいて吸気弁閉時の吸気管圧力PMFWDが決定されることになる。
【００３１】
以下、各吸気管圧力Pm１，Pm２，Pm３の推定方法について、同推定に使用するモデルとともに説明する。
【００３２】
（Pm１の求め方）
図７に示したように、吸気管圧力Pm１は電子制御スロットルモデルＭ１、スロットルモデルＭ２、吸気弁モデルＭ３、及びインテークマニホールドモデルＭ４により推定される。
【００３３】
（１）電子制御スロットルモデルＭ１
電子制御スロットルモデルＭ１は、現時点までのアクセルペダル操作量Accpに基づいて吸気弁閉時のスロットルバルブ開度TASを推定するモデルである。本実施形態においては、スロットルバルブ電子制御ロジックＡ１にて、アクセル開度センサ８１により検出されたアクセルペダル操作量Accpと、図８に示したアクセルペダル操作量Accpと目標スロットルバルブ開度θｒとの関係を規定するテーブルとに基づいて暫定的な目標スロットルバルブ開度θｒ１が求められ、この暫定的な目標スロットルバルブ開度θｒ１を所定時間Ｔ（例えば、６４msec）だけ遅延させた値が最終的な目標スロットルバルブ開度θｒとして決定される。そして、スロットルバルブ電子制御ロジックＡ１（電気制御装置７０）は、実際のスロットルバルブ開度TAが目標スロットルバルブ開度θｒとなるようにスロットルバルブアクチュエータ４３ａに対して駆動信号を送出する。
【００３４】
このように、目標スロットルバルブ開度θｒは、現時点から所定時間Ｔだけ前の時点におけるアクセルペダル操作量Accpに応じて決定されるから、現時点から吸気弁閉時までの時間をｔとすると、吸気弁閉時の目標スロットルバルブ開度θｒは、現時点から時間（Ｔ−ｔ）前における暫定的な目標スロットルバルブ開度θｒ１と等しい。また、目標スロットルバルブ開度θｒは、スロットルバルブアクチュエータ４３ａの作動遅れ時間を無視すれば、スロットルバルブ開度TASと等しい。このような考えに基づき、電子制御スロットルモデルＭ１は、検出されるエンジン回転速度Neと、内燃機関１０の運転状態に応じて別途定められる吸気弁の開閉タイミング（進角量）VT（上記信号Neと上記Ｇ２信号とにより求めた実際の開閉タイミングVTでも良い。）と等に基づいて現時点から吸気弁閉時までの時間ｔを求め、同時間ｔと、現時点から所定時間Ｔだけ前の時点から現時点までのアクセルペダル操作量Accp（又は、暫定的な目標スロットルバルブ開度θｒ１）の変化の経緯とに基づいて吸気弁閉時のスロットルバルブ開度TASを推定する。なお、スロットルバルブアクチュエータ４３ａの作動遅れ時間を考慮に加えて、吸気弁閉時のスロットルバルブ開度TASを推定してもよい。
【００３５】
（２）スロットルモデルＭ２
スロットルモデルＭ２は、スロットルバルブ４３を通過する空気量（スロットル通過空気量）mtを、エネルギー保存則、運動量保存則、質量保存則、及び状態方程式に基づいて得られた下記数４及び下記数５に基づいて推定するモデルである。下記数４及び下記数５において、μは流量係数、Ａtはスロットル開口面積、νはスロットルバルブ４３を通過する空気の流速、Paはスロットルバルブ上流圧力、Pmは吸気管圧力、Taは吸気温度、ρmは吸気密度、Ｒは気体定数、及びκは比熱比（以下、κを一定値として扱う。）である。
【００３６】
【数４】
mt＝μ・Ａt・ν・ρm＝μ・Ａt・｛Pa/(Ｒ・Ta)1/2｝・Φ（Pm/Pa)
【００３７】
【数５】
0004396076.tif 000002
【００３８】
ここで、上記数４は、k1を所定の係数（＝μ・Ａt・｛Pa/(Ｒ・Ta)1/2｝）、mtsを吸気弁閉時のスロットル通過空気量とするとき下記数６に書き換えられる。また、数６において、内燃機関１０が定常状態にある場合（スロットルバルブ開度が一定である場合）のスロットル通過空気量をmtsTA、及び吸気管圧力をPmTAとすると、下記数７が得られるので、数６及び数７から係数k1を消去して下記数８を得ることができる。
【００３９】
【数６】
mts＝k1・Φ（Pm/Pa）
【００４０】
【数７】
mtsTA＝k1・Φ（PmTA/Pa）
【００４１】
【数８】
mts＝｛mtsTA／Φ（PmTA/Pa）｝・Φ（Pm/Pa）
【００４２】
上記数８の右辺における値｛mtsTA／Φ（PmTA/Pa）｝は、スロットルバルブ開度TAが一定であるときの吸入空気流量（スロットル通過空気量）に関する値であり、スロットルバルブ開度TA、エンジン回転速度Ne、吸気弁の開閉タイミングVT、及びスロットルバルブ上流圧力Paが決定されると、実質的に一意に定まる値である。スロットルモデルＭ２は、スロットルバルブ開度TA、エンジン回転速度Ne、吸気弁の開閉タイミングVT、及びスロットルバルブ上流圧力Paと、値｛mtsTA／Φ（PmTA/Pa）｝との関係を規定したテーブルをＲＯＭ７２内に記憶していて、このテーブルと吸気弁閉時の推定スロットルバルブ開度TAS、実際のエンジン回転速度Ne、実際の吸気弁の開閉タイミングVT、及び実際のスロットルバルブ上流圧力Paとに基づいて値｛mtsTA／Φ（PmTA/Pa）｝を求める。
【００４３】
また、数８の右辺における値Φ（Pm/Pa）は、上記数５から理解されるように、比熱比κが一定であるとき、吸気管圧力Pmとスロットルバルブ上流圧力Paにより決定される値である。スロットルモデルＭ２は、吸気管圧力Pm及びスロットルバルブ上流圧力Paと、値Φ（Pm/Pa）との関係を規定したテーブルをＲＯＭ７２内に記憶していて、このテーブルと、後述するインテークマニホールドモデルＭ４が現時点で既に演算している最新の吸気管圧力Pm、及び実際のスロットルバルブ上流圧力Paとに基づいて値Φ（Pm/Pa）を求める。以上により、吸気弁閉時のスロットル通過空気量mtsが求められる。
【００４４】
（３）吸気弁モデルＭ３
吸気弁モデルＭ３は、吸気管圧力Pm、吸気管内温度Tm、及び吸気温度THA等から筒内吸入空気流量mcを推定するモデルである。吸気弁閉弁時の気筒内圧力は吸気弁３２の上流の圧力、即ち吸気弁閉時の吸気管圧力Pmとみなすことができるので、筒内吸入空気流量mcは吸気弁閉時の吸気管圧力Pmに比例する。そこで、吸気弁モデルＭ３は筒内吸入空気流量mcを、経験則に基づく下記数９にしたがって求める。
【００４５】
【数９】
mc＝（THA/Tm）・（ｃ・Pm−ｄ）
【００４６】
数９において、値ｃは比例係数、値ｄは筒内に残存していた既燃ガス量である。吸気弁モデルＭ３は、エンジン回転速度Ne、及び吸気弁の開閉タイミングVTと、比例係数ｃ、及び既燃ガス量ｄとの関係をそれぞれ規定するテーブルをＲＯＭ７２内に格納していて、前記電子制御スロットルモデルＭ１によって推定された吸気弁閉時のスロットルバルブ開度TASと、実際のエンジン回転速度Neと、実際の吸気弁の開閉タイミングVTと前記格納しているテーブルとから比例係数ｃ、及び既燃ガス量ｄを求める。また、吸気弁モデルＭ３は、演算時点において、後述するインテークマニホールドモデルＭ４により既に推定されている直前（最新）の吸気弁閉時の吸気管圧力Pmと直前の吸気管内空気温度Tmとを上記数９に適用し、吸気弁閉時の筒内吸入空気流量mcを推定する。
【００４７】
（４）インテークマニホールドモデルＭ４
インテークマニホールドモデルＭ４は、質量保存則とエネルギー保存則とにそれぞれ基づいた下記数１０及び下記数１１にしたがって、吸気弁閉時の吸気管圧力Pmと、吸気弁閉時の吸気管内温度Tmとを求める。なお、Ｖは吸気管の容積、Ｒは気体定数、mtはスロットル通過空気量、Taはスロットルバルブ通過空気温度（即ち、吸気温度THA）である。
【００４８】
【数１０】
dPm/dt＝κ・(Ｒ/Ｖ)・(mt・Ta−mc・Tm)
【００４９】
【数１１】
d(Pm/Tm）/dt＝(Ｒ/Ｖ)・(mt−mc)
【００５０】
図７に示したように、インテークマニホールドモデルＭ４は、スロットルモデルＭ２により推定されたスロットル通過空気量mtsを上記数１０，数１１におけるスロットル通過空気量mtとして使用し、吸気弁モデルＭ３により推定された吸気弁閉時の筒内吸入空気流量mcを上記数１０，数１１の筒内吸入空気流量mcとして使用する。このインテークマニホールドモデルＭ４により推定された吸気管圧力Pmが、前記吸気弁閉時の推定吸気管圧力Pm１となる。
【００５１】
（Pm２の求め方）
上記エアフローメータ６１が現時点で出力するであろう値に基づく吸気管圧力Pm２は、上記スロットルモデルＭ２と同じモデルであるスロットルモデルＭ５、エアフローメータモデルＭ６、上記吸気弁モデルＭ３と同じ吸気弁モデルＭ７、及び上記インテークマニホールドモデルＭ４と同じインテークマニホールドモデルＭ８により求められる。
【００５２】
（５）スロットルモデルＭ５
具体的に述べると、スロットルモデルＭ５は、上記数８を書換えた下記数１２に従って、現時点におけるスロットル通過空気量mtTHRを推定する。
【００５３】
【数１２】
mtTHR＝｛mtsTA／Φ（PmTA/Pa）｝・Φ（Pm/Pa）
【００５４】
スロットルモデルＭ５は、上記数１２の右辺における値｛mtsTA／Φ（PmTA/Pa）｝を、スロットルバルブ開度TA、エンジン回転速度Ne、吸気弁の開閉タイミングVT、及びスロットルバルブ上流圧力Paと、値｛mtsTA／Φ（PmTA/Pa）｝との関係を規定した前記テーブルと、スロットルポジションセンサ６４が実際に検出したスロットルバルブ開度TA（以下、「実スロットルバルブ開度TAR」と称呼する。）、実際のエンジン回転速度Ne、実際の又は計算された吸気弁の開閉タイミングVT、及び実際のスロットルバルブ上流圧力Paとに基づいて求める。
【００５５】
また、スロットルモデルＭ５は、数１２の右辺における値Φ（Pm/Pa）を、吸気管圧力Pm及びスロットルバルブ上流圧力Paと値Φ（Pm/Pa）との関係を規定した前記テーブルと、後述するインテークマニホールドモデルＭ８が既に計算している最新の吸気管圧力PmR、及び実際のスロットルバルブ上流圧力Paとに基づいて求める。以上により、現時点におけるスロットル通過空気量mtTHRが求められる。
【００５６】
（６）エアフローメータモデルＭ６
エアフローメータモデルＭ６は、スロットル通過空気量が所定の量αである場合に、エアフローメータ６１が出力するであろう値を推定し、この推定値に基づいてスロットル通過空気量mtRを推定するモデルである。この場合、上記所定の量αは、スロットルモデルＭ５が推定したスロットル通過空気量mtTHRである。
【００５７】
エアフローメータモデルＭ６は、先ず、スロットル通過空気量mtTHRに対する完全放熱量W1，W2を、同完全放熱量W1，W2とスロットル通過空気量mtとの関係を規定するテーブルと、前記求められたスロットル通過空気量mtTHRとに基づいて求める。完全放熱量W1、及び完全放熱量W2は、図３に示した熱線計量部６１ａのボビン部６１ａ１、及び同熱線計量部６１ａのサポート部６１ａ２にそれぞれ対応した放熱遅れを含まない放熱量である。
【００５８】
次に、エアフローメータモデルＭ６は、ボビン部６１ａ１、及びサポート部６１ａ２にそれぞれ対応する放熱量であり、完全放熱量W1，W2に対してそれぞれ一次遅れの特性を有する応答遅れを含む放熱量（応答放熱量）w1,w2を下記数１３及び下記数１４にしたがって求める。数１３，数１４における添え字ｉは今回の演算値、添え字ｉ−1は前回の演算値を表し、Δｔは前回の演算値を求めてから今回の演算値を求めるまでの時間である。
【００５９】
【数１３】
w1i＝Δｔ・（W1i−w1i-1）／τ１＋w1i-1
【００６０】
【数１４】
w2i＝Δｔ・（W2i−w2i-1）／τ２＋w2i-1
【００６１】
上記数１５，数１６において、τ１、及びτ２は、ボビン部６１ａ１、及びサポート部６１ａ２にそれぞれ対応する上記一次遅れ特性の時定数であり、下記数１５及び下記数１６により求められる。数１５，数１６中の値k10,k20、及び値m1，m2は、実験的に求められた値である。また、値ｕはエアフローメータ６１の熱線計量部６１ａにバイパスされた単位断面積当たりの通過空気量であり、図５に示したエアフローメータ６１の出力電圧Vgと実測された吸入空気量mtAFMとの関係を規定するVg−mtAFM変換テーブルと、エアフローメータ６１の実際の出力電圧Vgとに基づいて求められた吸入空気量mtAFMを、前記熱線計量部６１ａのバイパス流路断面積Ｓで除した値（mtAFM/Ｓ）である。
【００６２】
【数１５】
τ１＝k10・ｕm1
【００６３】
【数１６】
τ２＝k20・ｕm2
【００６４】
そして、エアフローメータモデルＭ６は、応答放熱量w1,w2の和（w1＋w2）とエアフローメータ６１が出力するであろう値に基づくスロットル通過空気量mtRとの関係を規定した図９に示したテーブルと、上記数１３〜数１６により求められた応答放熱量w1,w2の和（w1＋w2）とに基づいて、現時点でエアフローメータ６１が出力するであろう値に基づくスロットル通過空気量mtRを求める。
【００６５】
（７）吸気弁モデルＭ７
吸気弁モデルＭ７は、上記吸気弁モデルＭ３と同様に、上記数９にしたがって現時点における筒内吸入空気流量mcRを求める。但し、吸気弁モデルＭ７は、後述するインテークマニホールドモデルＭ８により既に求めらている現時点の吸気管圧力PmR、及び現時点の吸気管内温度TmRを、上記数９における吸気管圧力Pm、及び吸気管内温度Tmに適用する等、必要なパラメータを全て現時点のものとして数９の計算を行う。
【００６６】
（８）インテークマニホールドモデルＭ８
インテークマニホールドモデルＭ８は、インテークマニホールドモデルＭ４と同様に、上記数１０，数１１を用いて現時点における吸気管圧力Pmを求める。但し、インテークマニホールドモデルＭ８は、上記エアフローメータモデルＭ６により求められたスロットル通過空気量mtR、及び上記吸気弁モデルＭ７により求められた現時点における筒内吸入空気流量mcRを、それぞれ数１０，数１１におけるスロットル通過空気量mt、及び筒内吸入空気流量mcとして使用する。このインテークマニホールドモデルＭ８により推定されたPmが、前記エアフローメータ６１が現時点で出力するであろう値に基づく吸気管圧力Pm２となる。
【００６７】
（Pm３の求め方）
上記エアフローメータ６１の現時点における実際の出力電圧Vgに基づく吸気管圧力Pm３は、上記インテークマニホールドモデルＭ４，Ｍ８と同じモデルであるインテークマニホールドモデルＭ９により求められる。
【００６８】
（９）インテークマニホールドモデルＭ９
具体的に述べると、インテークマニホールドモデルＭ９は、エアフローメータ６１の出力電圧Vgと図５に示したVg−mtAFM変換テーブルとにより求められる現時点の実測された吸入空気量mtAFMを上記数１０，数１１におけるスロットル通過空気量mtとして使用するとともに、上記吸気弁モデルＭ７により求められた現時点での筒内吸入空気流量mcRを同数１０，数１１の筒内吸入空気流量mcとして使用し、吸気管圧力Pmを求める。このインテークマニホールドモデルＭ９により推定された吸気管圧力Pmが、エアフローメータ６１の現時点における実際の出力電圧Vgに基づく吸気管圧力Pm３となる。以上により、吸気管圧力Pm１〜Pm３が求められ、上記数３にしたがって要求燃料噴射量fcが求められる。
【００６９】
（燃料付着量推定、燃料付着量制御、及び燃料噴射量制御の概要）
次に、本制御装置が行う燃料付着量の推定方法、燃料付着量の制御方法、及び燃料噴射量決定方法の概要について説明する。図１０に概念的に示したように、インジェクタ３９から噴射された燃料は、その一部が吸気管４１の壁面部、及び図１０において図示を省略した吸気弁等からなる吸気通路構成部材に付着する。
【００７０】
より具体的に述べると、特定の気筒に着目した図１１に示したように、fiをインジェクタ３９から同特定気筒の一吸気行程に対して噴射される燃料噴射量、fwを吸気通路構成部材にすでに付着している燃料の量、Pを吸気通路構成部材にすでに付着している燃料のうち一吸気行程を経た後に同吸気通路構成部材に付着したまま残留している燃料の割合（残留率P）、Rをインジェクタ３９から噴射された前記燃料のうち吸気通路構成部材へ付着する燃料の割合（付着率R）、添え字kを今回の演算値（今回の吸気行程に対する値）、添え字k+１は次回の演算値（次回の吸気行程に対する値）とすると、今回噴射された燃料のうち吸気通路構成部材に新たに付着する燃料量はR・fi(k)であり、吸気通路構成部材にすでに付着していた燃料のうち同吸気通路構成部材に残留する燃料量はP・fw(k)であるから、燃料付着量fw(k+1)について下記数１７が成立する。下記数１７は、燃料付着量の燃料付着モデルを記述したものであって、この演算を行う手段が燃料付着量推定手段に相当する。
【００７１】
【数１７】
fw(k+1)＝R・fi(k)＋P・fw(k)
【００７２】
従って、一吸気行程において、今回噴射された燃料のうち吸気通路構成部材に付着せず筒内に直接吸入される燃料量は(１−R)・fi(k)となり、吸気通路構成部材に付着していた燃料のうち同吸気通路構成部材から離脱して筒内に吸入される燃料量は(１−P)・fw(k)となるから、筒内に吸入される燃料量fc(k)は下記数１８により表すことができる。
【００７３】
【数１８】
fc(k)＝(１−R)・fi(k)＋(１−P)・fw(k)
【００７４】
数１８の計算に必要な燃料付着量fw(k)は、数１７から順次求めることができるので、同数１８の燃料量fc(k)を上記数１又は数２により求められる筒内吸入空気量に基づく要求燃料噴射量fcと置くことにより、燃料噴射量fi(k)を決定することができる。このように、数１８を利用して、燃料噴射量fi(k)を演算する手段が、燃料噴射量決定手段を構成する。
【００７５】
（作動）
以下、上記内燃機関の制御装置の作動について、ＣＰＵ７１が実行するルーチン（プログラム）をフローチャートにより示した図１２乃至図１８を参照しながら説明する。
【００７６】
（スロットルバルブ制御）
ＣＰＵ７１は、図１２のスロットルバルブ制御ルーチンの処理を所定時間（２msec）の経過毎にステップ１２００から開始し、ステップ１２０５に進んでアクセルペダル操作量Accpを読み込む。次いで、ＣＰＵ７１はステップ１２１０に進み、同ステップ１２１０にて図８と同じテーブルを用いることにより上記読み込んだアクセルペダル操作量Accpに基づく暫定的な目標スロットルバルブ開度θｒ１を求める。
【００７７】
次に、ＣＰＵ７１はステップ１２１５に進んで変数Ｉを「６４」に設定し、続くステップ１２２０にて記憶値θｒ（Ｉ）にθｒ（Ｉ−２）の値を格納する。現時点では、変数Ｉは「６４」であるから、記憶値θｒ（６４）に記憶値θｒ（６２）の値が格納される。次いで、ＣＰＵ７１はステップ１２２５に進み、変数Ｉが「２」と等しくなったか否かを判定する。この場合、変数Ｉの値は「６４」であるから、ＣＰＵ７１はステップ１２２５にて「Ｎｏ」と判定してステップ１２３０に進み、同ステップ１２３０にて変数Ｉの値を「２」だけ減少し、その後上記ステップ１２２０に戻る。この結果、ステップ１２２０が実行されると、記憶値θｒ（６２）に記憶値θｒ（６０）の値が格納される。このような処理は、変数Ｉの値が「２」となるまで繰り返し実行される。
【００７８】
その後、ステップ１２３０の処理が繰り返されて変数Ｉの値が「２」となると、ＣＰＵ７１はステップ１２２５にて「Ｙｅｓ」と判定してステップ１２３５に進み、同ステップ１２３５にて前記ステップ１２１０にて求めた現時点における暫定的な目標スロットルバルブ開度θｒ１を記憶値θｒ（０）に格納する。以上により、現時点からＩmsec前（０msec≦Ｉmsec≦６４msec）の暫定的な目標スロットルバルブ開度θｒ（Ｉ）(Ｉ＝６４，６２，・・・，４，２，０）がＲＡＭ７３内に記憶されることになる。
【００７９】
次に、ＣＰＵ７１はステップ１２４０に進み、同ステップ１２４０にて記憶値θｒ（６４）を最終的な目標スロットルバルブ開度θｒとして設定し、続くステップ１２４５にて実際のスロットルバルブ開度が目標スロットルバルブ開度θｒと等しくなるように、スロットルバルブアクチュエータ４３ａに対し駆動信号を出力し、その後ステップ１２９５にて本ルーチンを一旦終了する。
【００８０】
以降においても、上記ルーチンの処理は２msecの経過毎に実行される。この結果、実際のスロットルバルブ開度が、６４msec前のアクセルペダル操作量Accpに基づく目標スロットルバルブ開度θｒと等しくなるように制御される。これにより、上記電子制御スロットルモデルＭ１による吸気弁閉時のスロットルバルブ開度TASの推定が可能となる。
【００８１】
（吸気弁開閉タイミング制御）
ＣＰＵ７１は、図１３の吸気弁開閉タイミング制御ルーチンを所定時間（例えば、２msec）の経過毎にステップ１３００から開始し、ステップ１３０５に進んクランクポジションセンサ６７の出力に基づくエンジン回転速度Neを読み込むとともに、ステップ１３１０にて前述した筒内吸入空気量に相当する値KLFWD（即ち、エンジン負荷）を読込む。なお、筒内吸入空気量に相当する値KLFWDは、所定時間毎に繰り返し実行される前述した要求噴射量の決定方法（図７に示したモデル）に従う図示しないルーチンにより求められている。
【００８２】
次に、ＣＰＵ７１はステップ１３１５に進み、同ステップ１３１５内に示したテーブルと上記読み込んだエンジン回転速度Ne及び筒内吸入空気量相当値KLFWDとに基づいて吸気弁の開閉タイミング（進角量）VTを決定し、続くステップ１３２０にて実際の進角量が前記決定した進角量VTとなるように、アクチュエータ３３ａに駆動信号を出力し、ステップ１３９５に進んで本ルーチンを一旦終了する。。なお、ステップ１３１５に示したテーブルにおいては、VT1,VT2,VT3の順に進角量が大きくなるように設定されている。
【００８３】
以降においても、上記処理は２msecの経過毎に実行される。この結果、実際の吸気弁開閉タイミングの進角量が、エンジン回転速度Neと筒内吸入空気量相当値KLFWDに応じた値に変更される。
【００８４】
（燃料付着量の推定、及び燃料噴射量の決定）
ＣＰＵ７１は、特定気筒のクランク角が、その気筒の吸気上死点から所定クランク角度だけ前の角度（例えば、BTDC９０°）になると、図１４の燃料噴射量決定ルーチンの処理をステップ１４００から開始してステップ１４０５に進み、同ステップ１４０５にて、図７に示したモデルに従って別途計算されている上記吸気弁閉時の筒内吸入空気量に相当する値KLFWD、後述されるルーチンにより求められている空燃比補正係数FAF、及び空燃比学習値FGと、上記数１とにしたがって今回の要求燃料噴射量fc(k)を算出する。
【００８５】
次いで、ＣＰＵ７１はステップ１４１０に進んで、SCV開度センサ６５が検出するSCV開度θiv、クランクポジションセンサ６７の出力に基づくエンジン回転速度Ne、水温センサ６８が検出する冷却水温THW、吸気弁開閉タイミング（進角量）VT、及び上記筒内吸入空気量相当値KLFWDを推定する際に求めた吸気管圧力Pm（PMFWD)等のパラメータ（以下、このパラメータを「引数パラメータ」と称呼する。）を読み込む。
【００８６】
次に、ＣＰＵ７１はステップ１４１５に進んで、上記引数パラメータと付着率Rとの関係を規定する予めＲＯＭ７２に記憶したテーブルと、上記ステップ１４１０にて読み込んだ引数パラメータとに基づき、現時点での付着率Rを決定し、同様に、ステップ１４２０に進んで、上記引数パラメータと残留率P（これら、付着率Pと残留率Rは、「燃料付着モデルパラメータ」と称呼される。）との関係を規定する予めＲＯＭ７２に記憶したテーブルと、上記ステップ１４１０にて読み込んだ引数パラメータとに基づき、現時点での残留率Pを決定する。次いで、ＣＰＵ７１はステップ１４２５に進み、上記数１８を変形して得た同ステップ１４２５に示した式、上記ステップ１４０５にて求めた要求燃料噴射量fc(k)、及び上記ステップ１４１５、及び上記ステップ１４２０にて決定した燃料付着モデルパラメータに基づいて今回の燃料噴射量fi(k)を算出し、続くステップ１４３０にて上記数１７にしたがって燃料付着量fw(k+1)を求める。
【００８７】
次に、ＣＰＵ７１はステップ１４３５に進んで燃料付着量fw(k+1)から燃料付着量fw(k)を減じた値を燃料噴射量の時間的変化量Δfwとして求める。なお、前記時間的変化量Δfwを、その時点のエンジン回転速度Neから求められるエンジン１回転当たりの時間で除すことにより、単位時間当たりの燃料付着量の時間的変化量を変化量Δfwとして設定してもよい。また、ステップ１４３５は、内燃機関の運転状態を取得する運転状態取得手段を構成している。そして、ＣＰＵ７１はステップ１４４０に進み、同ステップ１４４０にて燃料付着量fw(k+1)を次回の演算のために燃料付着量fw(k)に置き換え、次のステップ１４４５にて上記１４２５にて決定した今回の燃料噴射量fi(k)だけ燃料を噴射するように前記特定気筒に対するインジェクタ３９に駆動信号を送出し、ステップ１４９５に進んで本ルーチンを一旦終了する。
【００８８】
以上により、上記特定の気筒に対する燃料噴射量が、燃料付着量、従って筒内流入燃料量に基づいて決定され、同燃料噴射量の燃料が同特定気筒に対するインジェクタ３９から噴射される。なお、ＣＰＵ７１は、他の気筒に対しても、図１４のルーチンと同様なルーチンを同様なタイミングで実行する。
【００８９】
（燃料付着量調整手段としてのＳＣＶ（吸気制御弁）制御ルーチン）
ＣＰＵ７１は、図１５の吸気制御弁制御ルーチンの処理を所定時間の経過毎にステップ１５００から開始し、ステップ１５０５に進んで上記演算により求めた燃料付着量の時間的変化量Δfwの絶対値が所定の正の判定値Ａより大きいか否かを判定し、同時間的変化量Δfwの絶対値が判定値Ａより大きい場合には、ステップ１５１０に進んで同時間的変化量Δfwが正であるか否かを判定する。そして、時間的変化量Δfwが正である場合には、燃料付着量fwが急増していることを意味するので、ＣＰＵ７１はステップ１５１５に進んでＳＣＶの目標開度θivrをΔθ１だけ増大させる（即ち、第２インテークマニホールド４６の開口断面積を増大する）ことにより、燃料付着量fwの増加速度を低下させ、ステップ１５９５に進んで本ルーチンを一旦終了する。
【００９０】
他方、ステップ１５１０にて時間的変化量Δfwが負であると判定される場合には、燃料付着量fwが急減していることを意味するので、ＣＰＵ７１はステップ１５２０に進んでＳＣＶの目標開度θivrをΔθ２だけ減少させる（即ち、第２インテークマニホールド４６の開口断面積を減少する）ことにより、燃料付着量fwの減少速度を低下させ、ステップ１５９５に進んで本ルーチンを一旦終了する。
【００９１】
このようにして、本制御装置は、燃料付着量制御手段であるＳＣＶ４４の開度θivを増大又は減少させることにより、燃料付着量fwが一定値にて安定するまでの時間（収束時間）を長くし、実際の燃料付着量の時間的変化量の絶対値が過大とならないようにすることで、推定される燃料付着量の時間的変化量Δfwが過大となることを防止する。これにより、燃料付着パラメータの精度が向上するので、推定される燃料付着量fwに含まれる推定誤差の絶対量を小さくすることができる。
【００９２】
次に、燃料付着量の時間的変化量Δfwの絶対値が所定の正の判定値Ａより小さく、空燃比の学習が十分に実施されてなく、且つ前記燃料付着量の時間的変化量Δfwの絶対値が前記正の判定値Ａより小さい正の判定値Ｂよりも大きい場合について説明する。
【００９３】
この場合、ＣＰＵ７１は所定のタイミングにてステップ１５０５に進んだとき、同ステップ１５０５にて「Ｎｏ」と判定してステップ１５２５に進み、後述する空燃比の学習が十分に実施されているとき値「１」、十分に実施されていないとき値「０」となるフラグXFGの値が「０」であるか否かを判定する。前述の仮定に従えば、現時点では学習が十分に実施されていないから、フラグXFGの値は「０」である。従って、ＣＰＵ７１はステップ１５２５にて「Ｙｅｓ」と判定してステップ１５３０に進み、同ステップ１５３０にて燃料噴射量の時間的変化量Δfwの絶対値が判定値Ｂより大きいか否かを判定する。
【００９４】
この場合、前述の仮定により、燃料付着量の時間的変化量Δfwの絶対値は判定値Ｂより大きい。従って、ＣＰＵ７１はステップ１５３０にて「Ｙｅｓ」と判定してステップ１５３５に進み、同ステップ１５３５にて燃料付着量の時間的変化量Δfwが正であるか否かを判定する。そして、時間的変化量Δfwが正である場合には、燃料付着量fwが緩増していることを意味するので、ＣＰＵ７１はステップ１５４０に進んでＳＣＶの目標開度θivrをΔθ３だけ減少させ、燃料付着量fwの増加速度を増大させ、ステップ１５９５に進んで本ルーチンを一旦終了する。
【００９５】
他方、ステップ１５３５にて時間的変化量Δfwが負であると判定される場合には、燃料付着量fwが緩減していることを意味するので、ＣＰＵ７１はステップ１５４５に進んでＳＣＶの目標開度θivrをΔθ４だけ増大させ、燃料付着量fwの減少速度を増大させ、ステップ１５９５に進んで本ルーチンを一旦終了する。なお、上記Δθ３、及びΔθ４は、燃料付着量の時間的変化量Δfwの絶対値が上記判定値Ａより大きくならないように選択される。
【００９６】
このようにして、本制御装置は、燃料付着量制御手段であるＳＣＶ４４の開度を増大又は減少させることにより燃料付着量fwの変化速度を同燃料付着量fwの変化方向において増大する。これにより、燃料付着量fwが一定値にて安定するまでの時間（収束時間）を短くすることができるので、後述する空燃比の学習機会を増大することができる。
【００９７】
次に、空燃比の学習が十分に実施されている場合、又は、燃料付着量の時間的変化量Δfwの絶対値が判定値Ｂより小さい場合について説明すると、ＣＰＵはステップ１５０５に進んだとき、同ステップ１５０５にて「Ｎｏ」と判定してステップ１５２５に進む。そして、ＣＰＵ７１は、ステップ１５２５にて「Ｎｏ」と判定するか、又は、ステップ１５３０にて「Ｎｏ」と判定して、ステップ１５９５に直接進む。即ち、この場合、ＳＣＶ４４の開度θivは変更されない。
【００９８】
（空燃比フィードバック制御ルーチン）
ＣＰＵ７１は、図１６に示した空燃比フィードバック制御ルーチンの処理を所定時間の経過毎にステップ１６００から開始し、ステップ１６０５に進んで空燃比フィードバック制御条件が成立しているか否かを判定する。この条件の例としては、Ｏ2センサ６９が活性化していることを挙げることができる。空燃比フィードバック制御条件が成立していない場合、ＣＰＵ７１はステップ１６０５にて「Ｎｏ」と判定し、ステップ１６９５に進んで本ルーチンを一旦終了する。
【００９９】
一方、空燃比フィードバック制御条件が成立していて、Ｏ2センサ６９により検出された空燃比がリッチであり、前回の本ルーチン実行時において同検出された空燃比がリーンであった場合には、ＣＰＵ７１はステップ１６０５にて「Ｙｅｓ」と判定し、検出された空燃比がリッチであるか否かを判定するステップ１６１０にて「Ｙｅｓ」と判定するとともに、前回検出された空燃比がリーンであったか否かを判定するステップ１６１５にて「Ｙｅｓ」と判定してステップ１６２０に進む。そして、ＣＰＵ７１は、ステップ１６２０にて空燃比フィードバック補正係数FAFをスキップ量SKIPだけ減少し、続くステップ１６２５にて空燃比フィードバック補正係数FAFをリッチ反転時補正係数FAFRとして格納した後、ステップ１６９５にて本ルーチンを一旦終了する。
【０１００】
また、上記ステップ１６１５の判定時において、前回の空燃比がリーンでなかった場合、ＣＰＵ７１は同ステップ１６１５にて「Ｎｏ」と判定してステップ１６３０に進み、同ステップ１６３０にて空燃比フィードバック補正係数FAFを、前記スキップ量SKIPより小さい積分量KIだけ減少した後、ステップ１６９５にて本ルーチンを一旦終了する。
【０１０１】
他方、空燃比フィードバック制御条件が成立していて、Ｏ2センサ６９により検出された空燃比がリーンであり、前回の本ルーチン実行時において同検出された空燃比がリッチである場合には、ＣＰＵ７１はステップ１６０５にて「Ｙｅｓ」、ステップ１６１０にて「Ｎｏ」と判定するとともに、前回検出された空燃比がリッチであったか否かを判定するステップ１６３５にて「Ｙｅｓ」と判定してステップ１６４０に進む。そして、ＣＰＵ７１は、ステップ１６４０にて空燃比フィードバック補正係数FAFをスキップ量SKIPだけ増大し、続くステップ１６４５にて空燃比フィードバック補正係数FAFをリーン反転時補正係数FAFLとして格納するとともに、ステップ１６５０にて先のステップ１６２５にて格納したリッチ反転時補正係数FAFRと、先のステップ１６４５にて格納したリーン反転時補正係数FAFLとの平均値を空燃比補正係数平均値FAFAVEとして格納し、その後、ステップ１６９５に進んで本ルーチンを一旦終了する。
【０１０２】
また、上記ステップ１６３５の判定時において、前回の空燃比がリッチでなかった場合、ＣＰＵ７１は同ステップ１６３５にて「Ｎｏ」と判定してステップ１６５５に進み、同ステップ１６５５にて空燃比フィードバック補正係数FAFを、前記積分量KIだけ増大した後、ステップ１６９５にて本ルーチンを一旦終了する。
【０１０３】
以上の処理が繰り返されることにより、空燃比フィードバック補正係数FAFがＯ2センサ６９により検出される空燃比に応じて修正されるとともに、空燃比補正係数平均値FAFAVEが算出される。
【０１０４】
（フラグXFGの初期化）
フラグXFGは、前述したように、空燃比の学習が十分に実施されているとき値「１」、十分に実施されていないとき値「０」となるように設定される。図１７に示した初期化ルーチンは、このフラグXFGの値を「０」に設定するルーチンである。即ち、ＣＰＵ７１は、車両の図示しないイグニッションスイッチがオフからオンへと変更されたとき、バックアップＲＡＭ７４に格納している後述する学習値FGの値が正常であるか否かを判定する。バックアップＲＡＭ７４に格納されている値は、例えば、車両のバッテリが取り外されて同バッテリから電気制御装置７０への電力供給が完全に遮断されたとき、何らかの異常が生じたとき、工場出荷時、或いは図示しない電気制御装置７０のリセットボタンが押圧されたとき等に正常時にとり得る値以外の値となるように設定されている。
【０１０５】
そして、ＣＰＵ７１は、バックアップＲＡＭ７４の値が正常であると判定すると、そのままステップ１７９５に進んで本ルーチンを一旦終了し、バックアップＲＡＭ７４の値が異常であると判定すると、ステップ１７１０に進んでフラグXFGの値を「０」に設定し、続くステップ１７１５にて学習回数を示すカウンタCNの値を「０」に設定する。このように、バックアップＲＡＭ７４の値が異常であって、学習が十分行われていない状態であると判定されると、フラグXFGの値、及びカウンタCNの値が「０」に設定される。
【０１０６】
（空燃比学習値FGの学習（更新））
ＣＰＵ７１は、図１８に示した空燃比学習値FGの学習ルーチンの処理を所定時間の経過毎にステップ１８００から開始し、ステップ１８０５に進んで上記燃料付着量の時間的変化量Δfwの絶対値が所定値Δf1より小さいか否かを判定する。
【０１０７】
いま、内燃機関の運転状態が、スロットルバルブ開度の急変等による過渡状態にあるとすると、燃料付着量の時間的変化量Δfwの絶対値が所定値Δf1以上である。このような過渡状態においては、空燃比学習値FGを更新すべきでない。従って、ＣＰＵ７１はステップ１８０５にて「Ｎｏ」と判定してステップ１８９５に進み、同ステップ１８９５にて本ルーチンを一旦終了する。
【０１０８】
他方、燃料付着量の時間的変化量Δfwの絶対値が所定値Δf1より小さい場合、ＣＰＵ７１はステップ１８０５にて「Ｙｅｓ」と判定してステップ１８１０に進み、同ステップ１８１０にて空燃比補正係数平均値FAFAVEが所定値Ｃより大きいか否かを判定し、「Ｙｅｓ」と判定される場合はステップ１８１５にて空燃比学習値FGの値を所定値αだけ増大し、ステップ１８２０に進む。また、ステップ１８１０にて「Ｎｏ」と判定される場合、ステップ１８１０からステップ１８２０に直接進む。
【０１０９】
次に、ＣＰＵ７１は、ステップ１８２０にて空燃比補正係数平均値FAFAVEが所定値Ｃよりも小さい所定値Ｄより小さいか否かを判定し、「Ｙｅｓ」と判定される場合はステップ１８２５にて空燃比学習値FGの値を所定値αだけ減少し、ステップ１８３０に進む。また、ステップ１８２０にて「Ｎｏ」と判定される場合、ステップ１８２０からステップ１８３０に直接進む。このようにして、ＣＰＵ７１は空燃比学習値FGを更新する。
【０１１０】
次いで、ＣＰＵ７１はステップ１８３０に進み、同ステップ１８３０にてカウンタCNの値を「１」だけ増大し、ステップ１８３５に進んで同カウンタCNの値が所定値C1以上となったか否かを判定する。カウンタCNの値が所定値C1以上であるときは、空燃比学習値FGの学習（更新）が十分実施されたことを意味する。従って、カウンタCNの値が所定値C1以上であるとき、ＣＰＵ７１はステップ１８３５にて「Ｙｅｓ」と判定してステップ１８４０に進み、同ステップ１８４０にてフラグXFGの値を「１」に変更する。他方、カウンタCNの値が所定値C1より小さいとき、ＣＰＵ７１はステップ１８３５にて「Ｎｏ」と判定してステップ１８９５に進み、本ルーチンを一旦終了する。
【０１１１】
以上説明したように、本発明による内燃機関の制御装置の実施形態によれば、吸気制御弁であるＳＣＶ４４を回転駆動することにより、実際の燃料付着量を制御する。従って、燃料付着量の変化量が必要以上に大きくなることがなく、燃料付着量の推定値に含まれる誤差が小さい値に抑制されるから、同燃料付着量の推定値により補正される燃料噴射量が適正な値となり、空燃比の変動を抑制することができる。また、定常運転状態における空燃比の学習が必要である場合等においては、燃料付着量を早期に安定させることができるので、同空燃比の学習機会を増大することができる。
【０１１２】
なお、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態における燃料付着量制御手段は、ストレートポートに設けられたＳＣＶ４４を含んで構成されていたが、このＳＣＶ４４に代えて、各気筒の燃焼室２５に対して並列に、且つ互いに略同一形状に形成された一対の吸気通路の何れか一方に回転可能に配設された吸気流制御弁（特開平８−１０９８３６号公報を参照。）を用いることもできる。また、燃料噴射手段としてのインジェクタ３９に加わる燃料圧力を調整する手段を燃料付着量制御手段として採用してもよい。この場合、燃料圧力を上昇することで燃料が微粒子化されるので、燃料付着量を減少させることができる。また、燃料圧力を低下することで燃料粒子の径が大きくなるので、燃料が吸気管壁等に付着し易くなり、燃料付着量を増大することができる。
【０１１３】
また、上記実施形態においては、燃料噴射量の時間的変化量Δfwに基づいて、燃料付着量制御手段による燃料付着量の制御を行っていたが、前回の燃料付着量fw(k)と今回の燃料付着量fw(k+1)の差が所定値以下である状態が所定時間以上継続した場合の燃料付着量fwを定常時の燃料付着量fwstとして随時記憶しておき、新たに算出された燃料付着量fw(k+1)と前記記憶された定常時の燃料付着量fwstとの差を上記Δfwに置き換え、これに応じて燃料付着量制御手段による上記燃料付着量の制御を行ってもよい。また、スロットルバルブ開度TAの時間的変化量ΔTAやエンジン回転速度Neの時間的変化量ΔNe等の上記引数パラメータの時間的変化量（即ち、推定される燃料付着量に相当する値）に基づいて燃料付着量制御手段の制御を行ってもよい。更に、上記空燃比に関する値の学習は燃料噴射量の学習であったが、例えば、特開平９−１８４４４４号公報に開示されているようなエバポパージ量の学習であってもよい。また、これらの空燃比に関する値の学習における学習値の更新許可条件は、上記推定された燃料付着量の時間的変化量Δfwの絶対値が所定値Δf１以下であることに代え（又は、加え）、スロットルバルブ開度TAや吸気管圧力PMFWD等のエンジン負荷の時間的変化量が所定値より小さいこと等であってもよい。
【図面の簡単な説明】
【図１】  本発明による内燃機関の制御装置を火花点火式多気筒内燃機関に適用したシステムの概略構成図である。
【図２】  図１に示した特定の気筒の燃焼室、及び同燃焼室の近傍部分を概念的に示した平面図である。
【図３】  図１に示したエアフローメータの概略斜視図である。
【図４】  図３に示したエアフローメータの熱線計量部の拡大斜視図である。
【図５】  図１に示したＣＰＵが参照するエアフローメータの出力と吸入空気量（吸入空気流量）との関係を規定したテーブルを表した図である。
【図６】  吸気弁閉時の吸気管圧力を予測する方法を説明するために、スロットルバルブ開度の変化と各種のモデルにより計算される吸気管圧力の変化を示したタイムチャートである。
【図７】  図１に示した制御装置が吸気弁閉時の筒内吸入空気量に相当する値を推定するために採用した各種モデルの接続関係を示す機能ブロック図である。
【図８】  図１に示したＣＰＵが参照するアクセルペダル操作量と目標スロットルバルブ開度との関係を規定したテーブルを表した図である。
【図９】  図１に示したＣＰＵが参照する応答放熱量の和とエアフローメータが出力するであろう値に基づくスロットル通過空気量との関係を規定したテーブルを表した図である。
【図１０】  図１に示した制御装置による燃料付着量の推定方法を説明するために、インジェクタから噴射された燃料が吸気通路に付着する様子を概念的に示した図である。
【図１１】  図１に示したインジェクタから噴射された燃料量と、吸気通路を構成する部材への燃料付着量、及び筒内に流入する燃料量の関係を説明するための図である。
【図１２】  図１に示したＣＰＵがスロットルバルブ開度を制御するために実行するプログラムを示したフローチャートである。
【図１３】  図１に示したＣＰＵが、吸気弁開閉タイミングを制御するために実行するプログラムを示したフローチャートである。
【図１４】  図１に示したＣＰＵが燃料付着量を推定するとともに、燃料噴射量を決定するために実行するプログラムを示したフローチャートである。
【図１５】  図１に示したＣＰＵがＳＣＶを制御するために実行するプログラムを示したフローチャートである。
【図１６】  図１に示したＣＰＵが空燃比フィードバック補正係数を演算するために実行するプログラムを示したフローチャートである。
【図１７】  図１に示したＣＰＵが空燃比の学習が十分に行われているか否か示すフラグXFGの値を操作するために実行するプログラムを示したフローチャートである。
【図１８】  図１に示したＣＰＵが空燃比学習値ＦＧを更新（学習）するために実行するプログラムを示したフローチャートである。
【符号の説明】
１０…火花点火式多気筒内燃機関、２０…シリンダブロック部（エンジン本体部）、２５…燃焼室、３１…吸気ポート、３２…吸気弁、３３…可変吸気タイミング装置、３９…インジェクタ、４１…吸気管、４３…スロットルバルブ、４４…スワールコントロールバルブ（ＳＣＶ）、４４ａ…ＳＣＶアクチュエータ、７０…電気制御装置、７１…ＣＰＵ。
【図１】
0004396076.tif 000003
【図２】
0004396076.tif 000004
【図３】
0004396076.tif 000005
【図４】
0004396076.tif 000006
【図５】
0004396076.tif 000007
【図６】
0004396076.tif 000008
【図７】
0004396076.tif 000009
【図８】
0004396076.tif 000010
【図９】
0004396076.tif 000011
【図１０】
0004396076.tif 000012
【図１１】
0004396076.tif 000013
【図１２】
0004396076.tif 000014
【図１３】
0004396076.tif 000015
【図１４】
0004396076.tif 000016
【図１５】
0004396076.tif 000017
【図１６】
0004396076.tif 000018
【図１７】
0004396076.tif 000019
【図１８】
0004396076.tif 000020