(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気通路に配設されたスロットル弁と、
前記内燃機関の運転状態に基づいて目標スロットル弁開度を演算する目標スロットル弁開度演算手段と、
前記スロットル弁の実開度である実スロットル弁開度を検出する実スロットル弁開度検出手段と、
前記スロットル弁を開閉駆動するアクチュエータと、
前記アクチュエータと前記スロットル弁との間に介挿されるとともに同アクチュエータの駆動力を同スロットル弁に伝達する歯車列を含んだ歯車機構と、
前記実スロットル弁開度が前記目標スロットル弁開度に近づくように前記アクチュエータを制御する制御手段と、
前記アクチュエータの回転速度に関連する速度を検出する速度検出手段と、
前記スロットル弁が全閉状態となる開度より若干大きい開度に設定されたオープナ開度より前記実スロットル弁開度が大きいときに同スロットル弁を閉方向に付勢するとともに、同実スロットル弁開度が同オープナ開度より小さいときに同スロットル弁を開方向に付勢する付勢手段を有し、前記アクチュエータが同スロットル弁を駆動していないときに同実スロットル弁開度を同オープナ開度に保持するためのオープナ機構と、
前記目標スロットル弁開度に基づいて、前記実スロットル弁開度の推定値である推定スロットル弁開度を演算する第１推定スロットル弁開度演算手段と、
前記第１推定スロットル弁開度演算手段により演算された前記推定スロットル弁開度が前記オープナ開度を通過しているときに、前記実スロットル弁開度が同オープナ開度を通過する過程において同オープナ開度に到達したと判定する判定手段と、
前記判定手段により前記実スロットル弁開度が前記オープナ開度に到達したと判定された時点から同時点における前記速度検出手段により検出された速度に応じた所定時間に渡り、前記推定スロットル弁開度が前記オープナ開度近傍に保持されるように、前記第１推定スロットル弁開度演算手段に優先して同推定スロットル弁開度を演算する第２推定スロットル弁開度演算手段と、
前記推定スロットル弁開度に応じた吸入空気量に対して所定の目標空燃比を得るために必要な燃料噴射量を演算する燃料噴射量演算手段と、
前記燃料噴射量の燃料を噴射する燃料噴射手段と、
を備えた内燃機関の燃料噴射量制御装置。
【請求項２】
請求項１に記載された内燃機関の燃料噴射量制御装置において、
前記制御手段は、少なくとも前記目標スロットル弁開度と前記実スロットル弁開度との偏差に応じて演算される制御量に基づいて、前記アクチュエータをフィードバック制御するとともに、
前記第２推定スロットル弁開度演算手段は、前記所定時間経過後さらに所定時間が経過するまでの間、前記推定スロットル弁開度と前記目標スロットル弁開度との偏差に応じた特性をもって同推定スロットル弁開度が同目標スロットル弁開度に収束していくように、前記第１推定スロットル弁開度演算手段に優先して同推定スロットル弁開度を演算することを特徴とする内燃機関の燃料噴射量制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の燃料噴射量制御装置に係り、特に、スロットル弁を駆動するアクチュエータが同スロットル弁を駆動していないときにスロットル弁開度をオープナ開度に保持するためのオープナ機構を備えた燃料噴射量制御装置に関する。
【０００２】
【従来の技術】
電子制御燃料噴射式の内燃機関においては、吸気行程直前又は吸気行程中にあって燃料噴射による燃料の供給が必要な気筒（以下、「燃料噴射気筒」と称呼する。）の同吸気行程における吸入空気量を求め、この求めた吸入空気量に応じた量の燃料を、最も遅くとも同吸気行程に対する吸気弁閉弁時（吸気弁の状態が開状態から閉状態に変化する時点）までに、場合によっては同吸気行程開始前までに、噴射する必要がある。
【０００３】
このため、例えば、特開平１０−１６９４６９号公報に開示された内燃機関の制御装置は、アクセルペダルの位置等の内燃機関の運転状態に応じて設定される（暫定）目標スロットル弁開度を、図１７のタイムチャートに示したように、所定の遅延時間TDだけ遅延し、この遅延した暫定目標スロットル弁開度を目標スロットル弁開度TAtとして設定して、スロットル弁を駆動するアクチュエータに出力するようになっている。これにより、現時点から遅延時間TDだけ先の目標スロットル弁開度TAtの変化を現時点にて知ることが可能となる。
【０００４】
そして、この制御装置は、目標スロットル弁開度TAtに基づいて、スロットル弁の制御遅れ等を考慮しながら実際のスロットル弁開度（実スロットル弁開度）を燃料噴射気筒の吸気弁閉弁時まで前もって予測・推定し、少なくとも同推定した推定スロットル弁開度TAestに基づいて燃料噴射気筒の吸気弁閉弁時における吸入空気量を同吸気弁閉弁時よりも前の時点で予測・推定するとともに、その予測した吸入空気量に対して所定の目標空燃比を得るために必要な燃料噴射量の燃料を同気筒に対して噴射するようになっている。従って、この種の制御装置においては、燃料噴射量の計算に用いられる推定スロットル弁開度TAestを精度よく演算する必要がある。
【０００５】
ところで、上記したようにスロットル弁をアクチュエータにより駆動する装置（電子制御スロットル弁装置）を備えた内燃機関の制御装置においては、同アクチュエータの故障時等において、路肩への退避走行等の車両の必要最小限度の走行を可能にするため、同電子制御スロットル装置に所謂オープナ機構を搭載する技術が知られている。
【０００６】
オープナ機構は、例えば、特開２００１−１３２５１５号公報に開示されているように、スロットル弁が全閉状態となる開度より若干大きい開度に設定されたオープナ開度より実スロットル弁開度が大きいときにスロットル弁を閉方向に付勢するとともに、実スロットル弁開度がオープナ開度より小さいときにスロットル弁を開方向に付勢する付勢手段を有している。これにより、アクチュエータがスロットル弁を駆動していないときに実スロットル弁開度がオープナ開度に保持され、オープナ開度により確保される吸入空気量により、内燃機関の運転を必要最小限だけ継続させることができる。
【０００７】
しかし、上記内燃機関の制御装置（電子制御スロットル弁装置）にオープナ機構が搭載されると、図１７に示したように、目標スロットル弁開度TAt（一点鎖線にて表示）がオープナ開度TAOPNを通過するように変化した場合、目標スロットル弁開度TAtに追従する実スロットル弁開度TA（実線にて表示）が、オープナ開度TAOPNを通過する過程にてオープナ開度TAOPNに到達した後、所定時間Ｔに渡り同オープナ開度TAOPNに保持され、その後目標スロットル弁開度TAtに収束していくという現象が発生する。以下、実スロットル弁開度が、オープナ開度を通過する過程にてオープナ開度に到達した後一時的に同オープナ開度に保持される現象を「特異現象」と称呼する。
【０００８】
この特異現象は、実スロットル弁開度TAがオープナ開度TAOPNを通過する前の状態と後の状態とで、オープナ機構によりアクチュエータの負荷トルクの向きが逆になることに起因して発生する。即ち、通常、スロットル弁と同スロットル弁を駆動するアクチュエータとの間には歯車列で構成された減速機が介挿されているところ、アクチュエータの負荷トルクの向きが逆になるときには、同歯車間にて不可避的に存在するバックラッシュに対応する角度だけアクチュエータが回転している間（上記所定時間Ｔに対応する）、スロットル弁はアクチュエータからの駆動力を受けない。よって、実スロットル弁開度TAは、所定時間Ｔに渡りオープナ機構の付勢手段の付勢力によりオープナ開度TAOPNに保持される。
【０００９】
従って、オープナ機構が搭載された内燃機関の制御装置において、推定スロットル弁開度TAestを精度よく演算し所定の目標空燃比を安定して得るためには、同制御装置は、上記特異現象を考慮して同推定スロットル弁開度TAestを演算する必要がある。即ち、推定スロットル弁開度TAestがオープナ開度TAOPNを通過するように変化するとき、図１７に実線で示したように、制御装置は、推定スロットル弁開度TAestがオープナ開度TAOPNに到達した時点で特異現象が開始したと判定し、その後、所定時間Ｔに渡り推定スロットル弁開度TAestが同オープナ開度TAOPNに保持されるとともにその後目標スロットル弁開度TAtに収束していくように、同推定スロットル弁開度TAestを演算する必要がある。
【００１０】
【発明が解決しようとする課題】
しかしながら、実スロットル弁開度TAが同オープナ開度TAOPNに保持される時間（以下、「実保持時間」と称呼する。）は、上記したように減速機内に存在するバックラッシュに対応する角度だけアクチュエータが回転している時間に対応しているので、特異現象が開始した時点での同アクチュエータの回転速度によって変化する。また、図１７（ａ）に破線で示したように、実保持時間が経過した後目標スロットル弁開度TAtに収束していくときの実スロットル弁開度TAは、同実保持時間が変化することに伴い変化する。
【００１１】
従って、推定スロットル弁開度TAestがオープナ開度TAOPNに保持される所定時間が常に一定時間Ｔであるものとして同推定スロットル弁開度TAestが演算されると、特異現象が開始した後から実スロットル弁開度TAが目標スロットル弁開度TAtに収束するまでの間、実スロットル弁開度TAと推定スロットル弁開度TAestとの間に偏差が発生し、所定の目標空燃比が得られなくなる場合が発生する。
【００１２】
具体的に述べると、実保持時間が上記一定時間Ｔよりも短くなっている場合、同実保持時間が経過した後目標スロットル弁開度TAtに収束していくときの実スロットル弁開度TAは、図１７（ａ）に示す実開度TA1のように推移する。この場合、実保持時間が経過した後に推定スロットル弁開度TAestが目標スロットル弁開度TAtに収束するまでの間、同推定スロットル弁開度TAestが実スロットル弁開度TA1よりも大きくなる。従って、予測・推定される吸入空気量が、実際の吸入空気量よりも大きく演算され、燃料噴射量が、目標空燃比を得るために本来必要な量よりも大きく演算される。よって、機関の空燃比は目標空燃比よりもリッチな空燃比となる。
【００１３】
他方、実保持時間が上記一定時間Ｔよりも長くなっている場合、同実保持時間が経過した後目標スロットル弁開度TAtに収束していくときの実スロットル弁開度TAは、図１７（ａ）に示す実開度TA2のように推移する。この場合、上記一定時間Ｔが経過した後に推定スロットル弁開度TAestが目標スロットル弁開度TAtに収束するまでの間、同推定スロットル弁開度TAestが実スロットル弁開度TA2よりも小さくなり、機関の空燃比は目標空燃比よりもリーンな空燃比となる。
【００１４】
また、実保持時間が上記一定時間Ｔと同一になっていても、図１７（ｂ）に破線で示したように、同実保持時間（一定時間）Ｔ経過後目標スロットル弁開度TAtに収束していくときの実スロットル弁開度TAの収束特性（例えば収束時間TC）は、実スロットル弁開度TA（オープナ開度TAOPN）と同所定時間Ｔ経過時点における目標スロットル弁開度TAtとの偏差ΔTAに依存して変化する。
【００１５】
この現象は、上記偏差ΔTAに応じてスロットル弁を駆動するアクチュエータの駆動トルクが変化することに基づく。即ち、通常、アクチュエータを制御する制御手段（ＣＰＵ）は、実スロットル弁開度TAと目標スロットル弁開度TAtとの偏差に応じて演算される制御量に基づいて同アクチュエータを例えば比例・積分制御（フィードバック制御）するので、同制御により発生するアクチュエータの駆動トルクは、前記制御量に応じて変化する。
【００１６】
従って、上記偏差ΔTAが大きいとアクチュエータの駆動トルクが大きくなり、スロットル弁を駆動するトルク（アクチュエータの駆動トルクからオープナ機構の付勢手段の付勢力による負荷トルクを減じたトルク）も大きくなる。よって、スロットル弁の回動速度（特に回動開始直後の回動速度）が速くなり、その結果実スロットル弁開度TAが目標スロットル弁開度TAtに収束していくときの収束時間が短くなる（図１７（ｂ）の実開度TA3を参照）。
【００１７】
他方、上記偏差ΔTAが小さいとアクチュエータの駆動トルクが小さくなり、スロットル弁を駆動するトルクも小さくなるので、実スロットル弁開度TAが目標スロットル弁開度TAtに収束していくときの収束時間が長くなる（図１７（ｂ）の実開度TA4を参照）。
【００１８】
従って、所定時間が経過した後目標スロットル弁開度TAtに収束していくときの推定スロットル弁開度TAestの収束特性が上記偏差ΔTAにかかわらず常に一様になるように同推定スロットル弁開度TAestが演算されると、実保持時間が上記一定時間Ｔと同一になっていても、同一定時間Ｔが経過した後実スロットル弁開度TAが目標スロットル弁開度TAtに収束するまでの間、実スロットル弁開度TAと推定スロットル弁開度TAestとの間に偏差が発生し、所定の目標空燃比が得られなくなる場合が発生する。
【００１９】
即ち、実スロットル弁開度TAが図１７（ｂ）に示す実開度TA3のように推移する場合、推定スロットル弁開度TAestが実スロットル弁開度TA3よりも大きくなるので、機関の空燃比は目標空燃比よりもリッチな空燃比となる。他方、実スロットル弁開度TAが図１７（ｂ）に示す実開度TA4のように推移する場合、推定スロットル弁開度TAestが実スロットル弁開度TA4よりも小さくなるので、機関の空燃比は目標空燃比よりもリーンな空燃比となる。
【００２０】
従って、本発明の目的は、オープナ機構を備えるとともに、推定スロットル弁開度に少なくとも基づいて燃料噴射量を演算する内燃機関の燃料噴射量制御装置において、スロットル弁開度がオープナ開度を通過するとき、機関の空燃比が目標空燃比に極力近づくように同空燃比を制御可能なものを提供することにある。
【００２１】
【発明の概要】
本発明の特徴は、内燃機関の吸気通路に配設されたスロットル弁と、前記内燃機関の運転状態に基づいて目標スロットル弁開度を演算する目標スロットル弁開度演算手段と、前記スロットル弁の実開度である実スロットル弁開度を検出する実スロットル弁開度検出手段と、前記スロットル弁を開閉駆動するアクチュエータと、前記アクチュエータと前記スロットル弁との間に介挿されるとともに同アクチュエータの駆動力を同スロットル弁に伝達する歯車列を含んだ歯車機構と、前記実スロットル弁開度が前記目標スロットル弁開度に近づくように前記アクチュエータを制御する制御手段と、前記アクチュエータの回転速度に関連する速度を検出する速度検出手段と、前記スロットル弁が全閉状態となる開度より若干大きい開度に設定されたオープナ開度より前記実スロットル弁開度が大きいときに同スロットル弁を閉方向に付勢するとともに、同実スロットル弁開度が同オープナ開度より小さいときに同スロットル弁を開方向に付勢する付勢手段を有し、前記アクチュエータが同スロットル弁を駆動していないときに同実スロットル弁開度を同オープナ開度に保持するためのオープナ機構と、前記目標スロットル弁開度に基づいて、前記実スロットル弁開度の推定値である推定スロットル弁開度を演算する第１推定スロットル弁開度演算手段と、前記第１推定スロットル弁開度演算手段により演算された前記推定スロットル弁開度が前記オープナ開度を通過しているときに、前記実スロットル弁開度が同オープナ開度を通過する過程において同オープナ開度に到達したと判定する判定手段と、前記判定手段により前記実スロットル弁開度が前記オープナ開度に到達したと判定された時点から同時点における前記速度検出手段により検出された速度に応じた所定時間に渡り、前記推定スロットル弁開度が前記オープナ開度近傍に保持されるように、前記第１推定スロットル弁開度演算手段に優先して同推定スロットル弁開度を演算する第２推定スロットル弁開度演算手段と、前記推定スロットル弁開度に応じた吸入空気量に対して所定の目標空燃比を得るために必要な燃料噴射量を演算する燃料噴射量演算手段と、前記燃料噴射量の燃料を噴射する燃料噴射手段と、を備えた内燃機関の燃料噴射量制御装置としたことにある。
【００２２】
これによれば、判定手段は、第１推定スロットル弁開度演算手段により演算された推定スロットル弁開度がオープナ開度を通過しているときに、実スロットル弁開度がオープナ開度を通過する過程において同オープナ開度に到達したと判定する。換言すれば、判定手段は、かかる条件が成立したとき、特異現象が開始したと判定する。
【００２３】
また、第２推定スロットル弁開度演算手段は、判定手段により特異現象が開始したと判定された場合、同判定された時点から同時点におけるアクチュエータの回転速度に関連する速度（例えば、アクチュエータの回転速度、スロットル弁の回転速度、歯車機構内の歯車の回転速度）に応じた所定時間に渡り、推定スロットル弁開度がオープナ開度近傍に保持されるように、第１推定スロットル弁開度演算手段に優先して同推定スロットル弁開度を演算する。換言すれば、第２推定スロットル弁開度演算手段は、判定手段により特異現象が開始したと判定された時点におけるアクチュエータの回転速度に応じて上記所定時間を変更し得る。
【００２４】
ここで、従来技術の欄で述べたように、特異現象はアクチュエータの駆動力をスロットル弁に伝達する歯車列を含んだ歯車機構内のバックラッシュの存在に起因して発生するものであり、実保持時間は、特異現象が開始した時点での同アクチュエータの回転速度に応じて変化する。
【００２５】
従って、本発明の特徴を採用した内燃機関の燃料噴射量制御装置によれば、特異現象が開始した時点でのアクチュエータの回転速度にかかわらず、上記所定時間を実保持時間に近づけることができる。よって、実スロットル弁開度がオープナ開度を通過するとき、少なくとも特異現象が開始した後から所定時間が経過する時点までにおいて推定スロットル弁開度は実スロットル弁開度に極力近い値になるように演算され得るので、機関の空燃比は目標空燃比に極力近い値になるように制御され得る。
【００２６】
この場合、前記制御手段は、少なくとも前記目標スロットル弁開度と前記実スロットル弁開度との偏差に応じて演算される制御量に基づいて、前記アクチュエータをフィードバック制御するとともに、前記第２推定スロットル弁開度演算手段は、前記所定時間経過後さらに所定時間が経過するまでの間、前記推定スロットル弁開度と前記目標スロットル弁開度との偏差に応じた特性をもって同推定スロットル弁開度が同目標スロットル弁開度に収束していくように、前記第１推定スロットル弁開度演算手段に優先して同推定スロットル弁開度を演算するように構成されることが好適である。
【００２７】
アクチュエータが少なくとも目標スロットル弁開度と実スロットル弁開度との偏差に応じて演算される制御量に基づいてフィードバック制御される場合、従来技術の欄で述べたように、実保持時間が経過した後目標スロットル弁開度に収束していくときの実スロットル弁開度の収束特性（例えば収束時間）は、実スロットル弁開度と目標スロットル弁開度との偏差に応じて変化するところ、これによれば、第２推定スロットル弁開度演算手段は、所定時間経過後さらに所定時間が経過するまでの間、推定スロットル弁開度と目標スロットル弁開度との偏差に応じた特性をもって推定スロットル弁開度が目標スロットル弁開度に収束していくように、第１推定スロットル弁開度演算手段に優先して同推定スロットル弁開度を演算する。
【００２８】
従って、上記偏差にかかわらず、所定時間経過後目標スロットル弁開度に収束していく過程においても、推定スロットル弁開度の値は実スロットル弁開度に極力近い値になるように演算され得る。よって、実スロットル弁開度がオープナ開度を通過するとき、機関の空燃比はより一層目標空燃比に近い値になるように制御され得る。
【００２９】
【発明の実施の形態】
以下、本発明による内燃機関の燃料噴射量制御装置の実施形態について図面を参照しつつ説明する。図１は、本発明の実施形態に係る燃料噴射量制御装置を火花点火式多気筒（４気筒）内燃機関１０に適用したシステムの概略構成を示している。
【００３０】
この内燃機関１０は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部２０と、シリンダブロック部２０の上に固定されるシリンダヘッド部３０と、シリンダブロック部２０にガソリン混合気を供給するための吸気系統４０と、シリンダブロック部２０からの排ガスを外部に放出するための排気系統５０とを含んでいる。
【００３１】
シリンダブロック部２０は、シリンダ２１、ピストン２２、コンロッド２３、及びクランク軸２４を含んでいる。ピストン２２はシリンダ２１内を往復動し、ピストン２２の往復動がコンロッド２３を介してクランク軸２４に伝達され、これにより同クランク軸２４が回転するようになっている。シリンダ２１とピストン２２のヘッドは、シリンダヘッド部３０とともに燃焼室２５を形成している。
【００３２】
シリンダヘッド部３０は、燃焼室２５に連通した吸気ポート３１、吸気ポート３１を開閉する吸気弁３２、吸気弁３２を駆動するインテークカムシャフトを含むとともに同インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置３３、可変吸気タイミング装置３３のアクチュエータ３３ａ、燃焼室２５に連通した排気ポート３４、排気ポート３４を開閉する排気弁３５、排気弁３５を駆動するエキゾーストカムシャフト３６、点火プラグ３７、点火プラグ３７に与える高電圧を発生するイグニッションコイルを含むイグナイタ３８、及び燃料を吸気ポート３１内に噴射するインジェクタ（燃料噴射手段）３９を備えている。
【００３３】
吸気系統４０は、吸気ポート３１に連通し同吸気ポート３１とともに吸気通路を形成するインテークマニホールドを含む吸気管４１、吸気管４１の端部に設けられたエアフィルタ４２、吸気管４１内にあって吸気通路の開口断面積を可変とするスロットル弁４３、スロットル弁アクチュエータ４４、及びオープナ機構４５を備えている。
【００３４】
スロットル弁４３は、同スロットル弁４３近傍の概略構成を示す図２に示すように、スロットル軸４３ａを有し、同スロットル軸４３ａがスロットルハウジングＨgに回動可能に軸支されることにより、吸気管４１内で開閉作動可能に構成されている。なお、図２において、図１における各構成と同一の構成については、図１における符号と同一の符号を付している。
【００３５】
ＤＣモータからなるスロットル弁アクチュエータ４４は、複数の歯車列で構成された減速機（歯車機構）４６を介して、スロットル軸４３ａの一端に連結されている。そして、スロットル弁アクチュエータ４４は、後述する電子制御装置７０により目標スロットル弁開度TAtが与えられると、比例・積分制御（ＰＩ制御）により、実際のスロットル弁開度（実スロットル弁開度）TAが目標スロットル弁開度TAtとなるように（に近づくように）、減速機４６を介してスロットル弁４３を駆動するようになっている。
【００３６】
オープナ機構４５は、スロットル弁アクチュエータ４４がスロットル弁４３を駆動していないときに、実スロットル弁開度TAを所定のオープナ開度に保持する機能を有するものであり、同オープナ開度は、スロットル弁４３が吸気管４１を閉塞する状態（全閉状態）となる開度より若干大きい開度に設定されている。このオープナ機構４５により、スロットル弁アクチュエータ４４の故障時等において、車両は、路肩への退避走行等のような必要最小限度の走行を行うことができる。
【００３７】
具体的には、オープナ機構４５は、図２に示すように、スロットル弁４３（スロットル軸４３ａの他端部）と係合しながら回動するオープナレバー４５ａと、スロットル弁４３を閉方向（スロットル弁開度が減少する方向）に付勢するリターンスプリング４５ｂと、スロットル弁４３を開方向（スロットル弁開度が増加する方向）に付勢するオープナスプリング４５ｃと、オープナレバー４５ａの開方向回動限界位置及び閉方向回動限界位置をそれぞれ決定するためにスロットルハウジングＨgに設けられた全開ストッパ４５ｄ及びオープナ開度ストッパ４５ｅと、スロットル弁４３の全閉位置を決定するためにスロットルハウジングＨgに設けられた全閉ストッパ４５ｆを備えている。
【００３８】
なお、説明の便宜上、図２においては、スロットル弁４３（オープナレバー４５ａ）の回動作動が上下方向の平行移動により示されており、図２においてスロットル弁４３（オープナレバー４５ａ）が上方へ移動することは、スロットル弁４３（オープナレバー４５ａ）が開方向へ回動することに対応しているとともに、スロットル弁４３（オープナレバー４５ａ）が下方へ移動することは、スロットル弁４３（オープナレバー４５ａ）が閉方向へ回動することに対応している。
【００３９】
スロットル弁４３は、図２に示す位置（オープナ開度ストッパ４５ｅに当接している状態にあるオープナレバー４５ａにスロットル軸４３ａの他端部が係合している位置）から閉方向へ回動するとき、オープナレバー４５ａとの係合が解除され、オープナレバー４５ａと独立して回動するようになっているとともに、図２に示す位置から開方向へ回動するとき、オープナレバー４５ａと係合して、オープナレバー４５ａと一体的に回動するようになっている。
【００４０】
オープナレバー４５ａは、一端がスロットルハウジングＨgに固定されるとともに他端がオープナレバー４５ａに固定されたリターンスプリング４５ｂにより、常時閉方向へ付勢されるようになっている。また、オープナレバー４５ａとスロットル弁４３（スロットル軸４３ａの他端部）との間には、両者を互いに係合させる方向に付勢するオープナスプリング４５ｃが配設されている。
【００４１】
従って、スロットル弁４３は、図２に示す位置から開方向へ回動するとき、オープナレバー４５ａを介してリターンスプリング４５ｂから閉方向へ付勢力Ｆcを受ける一方で、オープナスプリング４５ｃからの開方向への付勢力Ｆoを受けないように構成されている。なお、スロットル弁４３の全開位置は、オープナレバー４５ａが全開ストッパ４５ｄに当接する位置に対応している。
【００４２】
一方、スロットル弁４３は、図２に示す位置から閉方向へ回動するとき、リターンスプリング４５ｂからの付勢力Ｆcを受けない一方で、オープナスプリング４５ｃから開方向へ付勢力Ｆoを受けるように構成されている。なお、スロットル弁４３の全閉位置は、スロットル軸４３ａの他端部が全閉ストッパ４５ｆに当接する位置に対応している。
【００４３】
従って、オープナ機構４５は、スロットル弁アクチュエータ４４がスロットル弁４３を駆動していないときに、スロットル弁４３が図２に示す位置にあるときの開度になるように実スロットル弁開度TAを保持する機能を有するものであり、同オープナ機構４５において、スロットル弁４３が図２に示す位置にあるときの開度は上記オープナ開度に対応している。
【００４４】
以上の構成により、スロットル弁アクチュエータ４４に働く負荷トルクは、閉方向のトルクを正の値として表し開方向のトルクを負の値として表すとともに実スロットル弁開度TAと同負荷トルクとの関係を表した図３に示すように、実スロットル弁開度TAがオープナ開度より大きいとき、リターンスプリング４５ｂの付勢力Ｆcによる閉方向のトルクとなる。この閉方向のトルクは、実スロットル弁開度TAがオープナ開度にあるときに、リターンスプリング４５ｂのセット荷重（オープナレバー４５ａがオープナ開度ストッパ４５ｅに当接している状態にあるときの荷重）に対応するトルク「ａ」となり、この状態から、実スロットル弁開度TAが増加するにつれて、リターンスプリング４５ｂの弾性定数に基づいて増加する。
【００４５】
一方、スロットル弁アクチュエータ４４に働く負荷トルクは、実スロットル弁開度TAがオープナ開度より小さいとき、オープナスプリング４５ｃの付勢力Ｆoによる開方向のトルクとなる。この開方向のトルクは、実スロットル弁開度TAがオープナ開度にあるときに、オープナスプリング４５ｃのセット荷重（オープナレバー４５ａとスロットル軸４３ａの他端部とが互いに係合している状態にあるときの荷重）に対応するトルク「-ｂ」となり、この状態から、実スロットル弁開度TAが減少するにつれて、オープナスプリング４５ｃの弾性定数に基づいて減少する（開方向のトルクの絶対値は増加する）。
【００４６】
減速機４６は、その概略構成を表した図４に示すように、スロットル弁アクチュエータ４４の出力軸に連結されたギヤＧ１と、同ギヤＧ１に歯合するギヤＧ２と、同ギヤＧ２と同軸的に一体回転するギヤＧ３と、同ギヤＧ３に歯合するとともにスロットル軸４３ａの上記一端に固定されたギヤＧ４とから構成されている。
【００４７】
ギヤＧ１の歯数に対するギヤＧ２の歯数の比はＲ１となっており、ギヤＧ１に対するギアＧ２の減速比（ギヤＧ２の回転に対するギヤＧ１の回転の割合）はＲ１となっている。また、ギヤＧ３の歯数に対するギヤＧ４の歯数の比はＲ２となっており、ギヤＧ３に対するギアＧ４の減速比（ギヤＧ４の回転に対するギヤＧ３の回転の割合）はＲ２となっている。また、後述するように、ギヤＧ１とギヤＧ２との歯合部及びギヤＧ３とギヤＧ４との歯合部には、それぞれ所定のバックラッシュが存在している。
【００４８】
再び図１を参照すると、排気系統５０は、排気ポート３４に連通したエキゾーストマニホールド５１、エキゾーストマニホールド５１に接続されたエキゾーストパイプ５２、及びエキゾーストパイプ５２に介装された触媒コンバータ（三元触媒装置）５３を備えている。
【００４９】
一方、このシステムは、熱線式エアフローメータ６１、スロットルポジションセンサ（実スロットル弁開度検出手段）６２、カムポジションセンサ６３、クランクポジションセンサ６４、水温センサ６５、空燃比センサ６６、及びアクセル操作量検出手段（の一部）を構成するアクセル開度センサ６７を備えている。
【００５０】
エアフローメータ６１は、吸気管４１内を流れる吸入空気流量を計測し、吸入空気流量mTAFMを表す信号を出力するようになっている。スロットルポジションセンサ６２は、スロットル弁４３の開度（実スロットル弁開度）を検出し、実スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ６３は、インテークカムシャフトが９０°回転する毎に（即ち、クランク軸２４が１８０°回転する毎に）一つのパルスを有する信号（Ｇ２信号）を発生するようになっている。クランクポジションセンサ６４は、クランク軸２４が１０°回転する毎に幅狭のパルスを有するとともに同クランク軸２４が３６０°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ６５は、内燃機関１０の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。空燃比センサ６６は、触媒コンバータ５３に流入する排ガス中の酸素濃度を検出することで空燃比を表す信号を出力するようになっている。アクセル開度センサ６７は、運転者によって操作されるアクセルペダルＡＰの操作量を検出し、同アクセルペダルの操作量Accpを表す信号を出力するようになっている。
【００５１】
さらに、このシステムは電気制御装置７０を備えている。電気制御装置７０は、互いにバスで接続されたＣＰＵ７１、ＣＰＵ７１が実行するルーチン（プログラム）、テーブル（ルックアップテーブル、マップ）、定数等を予め記憶したＲＯＭ７２、ＣＰＵ７１が必要に応じてデータを一時的に格納するＲＡＭ７３、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップＲＡＭ７４、及びＡＤコンバータを含むインターフェース７５等からなるマイクロコンピュータである。インターフェース７５は、前記センサ６１〜６７と接続され、ＣＰＵ７１にセンサ６１〜６７からの信号を供給するとともに、同ＣＰＵ７１の指示に応じて可変吸気タイミング装置３３のアクチュエータ３３ａ、イグナイタ３８、インジェクタ３９、及びスロットル弁アクチュエータ４４に駆動信号を送出するようになっている。
【００５２】
次に、上記のように構成されたシステムにおいて本発明に係る燃料噴射量制御装置が燃料噴射量を決定する原理について説明する。以下に述べる処理は、ＣＰＵ７１がプログラムを実行することにより行われる。
【００５３】
（燃料噴射量fiの決定方法の概要）
このような燃料噴射量制御装置は、吸気行程にある気筒、又は吸気行程の直前の状態にある気筒（即ち、燃料噴射気筒）の吸気弁３２が、その吸気行程において開弁した状態から閉弁する状態に移行する時点（吸気弁閉弁時）より前の時点にて、同気筒に対して所定量の燃料を噴射する必要がある。そのため、本燃料噴射量制御装置は、吸気弁３２が閉弁状態に移行する時点において同気筒内に吸入されているであろう吸入空気量を前もって予測し、同予測した吸入空気量に応じた燃料量の燃料を同吸気弁３２の閉弁時より前の時点で同気筒に対して噴射する。本例においては、噴射終了時期を、燃料噴射気筒の吸気上死点前７５°クランクアングル（以下、「BTDC７５°CA」と表す。他のクランクアングルについても同様に表す。）と定めている。従って、本制御装置は、噴射に要する時間（インジェクタ３９の開弁時間）、ＣＰＵ７１の計算時間を考慮して、BTDC７５°CAの時点よりも前の時点にて、燃料噴射気筒の吸入空気量を予測する。
【００５４】
一方、吸気弁閉弁時の吸気管圧力（即ち、吸気管内空気圧力）は、吸入空気量と密接な関係にある。また、吸気弁閉弁時の吸気管圧力は、吸気弁閉弁時のスロットル弁開度に依存する。そこで、本制御装置は、吸気弁閉弁時のスロットル弁開度を予測・推定し、その推定スロットル弁開度に基づいて燃料噴射気筒の吸入空気量Ｑを事前に予測し、予測した吸入空気量Ｑをエンジンの運転状態に応じて別途定められる目標空燃比AbyFrefで除することで、機関の空燃比を目標空燃比AbyFrefに維持するための燃料噴射量fiを求める。以上が、燃料噴射量fiを求める方法の概要である。
【００５５】
（燃料噴射量fiの具体的決定方法）
より具体的に述べると、この燃料噴射量制御装置は、先ず、演算周期ΔTt（例えば、８msec）の経過毎にアクセル開度センサ６７の出力値に基づいてアクセル操作量Accpを読込み、読み込んだアクセル操作量Accpと、同アクセル操作量Accpと暫定目標スロットル弁開度TAtnewとの関係を規定した所定のテーブルとに基づいて、今回の暫定目標スロットル弁開度TAtnewを求め、この暫定目標スロットル弁開度TAtnewを図５のタイムチャートに示したように、所定の遅延時間TDだけ遅延し、この遅延した暫定目標スロットル弁開度TAtnewを目標スロットル弁開度TAtとして設定してスロットル弁アクチュエータ４４に出力する。
【００５６】
そして、本装置は目標スロットル弁開度TAtとスロットルポジションセンサ６２により検出される実スロットル弁開度TAとの偏差に応じて演算される制御量VOに基づいて、スロットル弁アクチュエータ４４を比例・積分制御（フィードバック制御）する。なお、遅延時間TDは、本例においては一定の時間であるが、内燃機関１０が所定のクランク角度（例えば、クランク角２７０°CA）だけ回転するのに要する時間T270とする等、エンジン回転速度NEに応じた可変の時間とすることもできる。
【００５７】
ところで、本装置から目標スロットル弁開度TAtがスロットル弁アクチュエータ４４に出力された場合であっても、同スロットル弁アクチュエータ４４の遅れや、スロットル弁４３の慣性などにより、実際のスロットル弁開度TAは、ある遅れをもって目標スロットル弁開度TAtに追従する。そこで、本装置においては、下記数１に基づいて遅延時間TD後におけるスロットル弁開度を予測・推定する（図５を参照）。
【００５８】
【数１】
TAest(ntdly)＝TAt(ntdly)＋((Smth1-1)/Smth1)・(TAest(ntdly-1)-TAt(ntdly))
【００５９】
数１において、TAest(ntdly)は今回の演算タイミングにおいて新たに予測・推定される推定スロットル弁開度TAestであり、TAt(ntdly)は今回の演算タイミングにて新たに得られた目標スロットル弁開度TAt（即ち、今回の暫定目標スロットル弁開度TAtnew）であり、TAest(ntdly-1)は今回の演算タイミングにおいて既に予測・推定されていた前回の推定スロットル弁開度TAest（即ち、前回の演算タイミングにおいて予測・推定された推定スロットル弁開度TAest）である。ここで、ntdlyは遅延処理回数であり、遅延時間TDを演算周期ΔTtで除した値である。また、Smth1は遅延係数であり、「１」より大きい一定値である。
【００６０】
このように、この燃料噴射量制御装置（ＣＰＵ７１）は、今回の演算タイミングにて遅延時間TD後の目標スロットル弁開度TAt(ntdly)を新たに決定するとともに、遅延時間TD後の推定スロットル弁開度TAest(ntdly)を新たに予測・推定する。そして、本装置は、新たに推定スロットル弁開度TAest(ntdly)を演算する度に、同推定スロットル弁開度TAest(ntdly)の値とその時点でのエンジン回転速度NEとから燃料噴射気筒の吸入空気量Ｑ(ntdly)を演算するとともに、現時点から遅延時間TD経過後までの目標スロットル弁開度TAt(0)〜TAt(ntdly)、推定スロットル弁開度TAest(0)〜TAest(ntdly)及び吸入空気量Ｑ(0)〜Ｑ(ntdly)を、現時点からの時間経過に対応させた形でＲＡＭ７３に記憶・格納する。
【００６１】
そして、本装置は、燃料噴射気筒のクランクアングルがBTDC９０°CAとなる毎に、同燃料噴射気筒の吸気弁閉弁時をエンジン回転速度NEから予測し、ＲＡＭ７３に格納されているその時点から遅延時間TD経過後までの吸入空気量Ｑの中から同吸気弁閉弁時に対応する吸入空気量Ｑを選択し、同選択した（予測した）吸入空気量Ｑを目標空燃比AbyFrefで除することで、機関の空燃比を目標空燃比AbyFrefに維持するための燃料噴射量fiを求める。以上が、燃料噴射量fiを求める具体的方法である。
【００６２】
（オープナ開度通過時における推定スロットル弁開度TAestの演算方法の概要）本装置は、基本的には、上記数１に基づいて演算された、実スロットル弁開度TAに追従する推定スロットル弁開度の値（以下、この値を「仮の推定スロットル弁開度TAest1」と称呼する。）をそのまま推定スロットル弁開度TAestとして設定する。しかし、仮の推定スロットル弁開度TAest1（即ち実スロットル弁開度TA）がオープナ開度TAOPNを通過する際には、スロットル弁４３とスロットル弁アクチュエータ４４との間に介挿された減速機４６の歯車列Ｇ１〜Ｇ４の存在により発生するバックラッシュに基づく特異現象が発生する。従って、この場合、本装置は、特異現象が考慮された推定スロットル弁開度の値（以下、この値を「仮の推定スロットル弁開度TAest2」と称呼する。）を、上記仮の推定スロットル弁開度TAest1の値に優先して、推定スロットル弁開度TAestとして設定する。
【００６３】
具体的に述べると、本装置は、図６に示すように、仮の推定スロットル弁開度TAest1がオープナ開度TAOPNを減少しながら通過する場合、前回の仮の推定スロットル弁開度TAest1*（前回値）がオープナ開度TAOPN以上であって、かつ今回の仮の推定スロットル弁開度TAest1（今回値）がオープナ開度TAOPNよりも小さいとき（図６において時刻t1）に、仮の推定スロットル弁開度TAest1がオープナ開度を減少しながら通過する過程において特異現象が開始したと判定する。
【００６４】
また、本装置は、図７に示すように、仮の推定スロットル弁開度TAest1がオープナ開度TAOPNを増加しながら通過する場合は、前回の仮の推定スロットル弁開度TAest1*（前回値）がオープナ開度TAOPN以下であって、かつ今回の仮の推定スロットル弁開度TAest1（今回値）がオープナ開度TAOPNよりも大きいとき（図７において時刻t1）に、仮の推定スロットル弁開度TAest1がオープナ開度を増加しながら通過する過程において特異現象が開始したと判定する。
【００６５】
そして、本装置は、特異現象が開始したと判定した時点以降後述するように決定される保持時間（所定時間）Ｔに渡り仮の推定スロットル弁開度TAest2がオープナ開度TAOPNに保持されるとともに（時刻t1〜時刻t2）、その後後述するように決定される収束係数Smth2に基づいて目標スロットル弁開度TAtに収束するように（時刻t2〜時刻t3）仮の推定スロットル弁開度TAest2を演算し、上記仮の推定スロットル弁開度TAest1の値に優先して、仮の推定スロットル弁開度TAest2の値を推定スロットル弁開度TAestとして設定する。
【００６６】
<保持時間Ｔの演算>
本装置は、特異現象が開始したと判定された時点におけるスロットル弁アクチュエータ４３ａの回転速度ωMに関連するスロットル弁４３の回転速度ωT、及び減速機４６内のギヤ間のバックラッシュ等を考慮することにより導かれる下記数２に基づいて、保持時間Ｔを演算する。
【００６７】
下記数２において、θbMは、ギヤＧ１及びギヤＧ２の噛合いにおいて、ギヤＧ２を固定したときにギヤＧ１及びギヤＧ２間に存在するバックラッシュによりギヤＧ１が回転し得る角度（バックラッシュ角）であり、θbTは、ギヤＧ３及びギヤＧ４の噛合いにおいて、ギヤＧ３を固定したときにギヤＧ３及びギヤＧ４間に存在するバックラッシュによりギヤＧ４が回転し得る角度（バックラッシュ角）である。また、Ｒは、減速機４６全体としての減速比であって、具体的にはギヤＧ１に対するギアＧ２の減速比Ｒ１とギヤＧ３に対するギアＧ４の減速比Ｒ２とを乗算した値である。
【００６８】
【数２】
Ｔ＝（θbM＋Ｒ・θbT）/（Ｒ・ωT）
【００６９】
ここで、上記数２の導出過程について説明する。特異現象は、減速機４６内に存在するバックラッシュに対応する角度だけスロットル弁アクチュエータ４４が回転している間（実保持時間の間）、スロットル弁４３がスロットル弁アクチュエータ４４から駆動力を受けないことにより実スロットル弁開度TAがオープナ機構４５によりオープナ開度TAOPNになるように保持される現象である。
【００７０】
この実保持時間は、停止しているギヤＧ２に対して減速機４６内のギヤＧ１とギヤＧ２との噛合いにおけるバックラッシュに対応する角度だけギヤＧ１（即ちスロットル弁アクチュエータ４４）が回転している時間（保持時間Ｔ１）と、その後ギヤＧ２（即ちギヤＧ３）が回転を開始して、停止しているギヤＧ４に対して減速機４６内のギヤＧ３とギヤＧ４との噛合いにおけるバックラッシュに対応する角度だけギヤＧ３が回転している時間（保持時間Ｔ２）とを加算した時間となる。
【００７１】
ここで、上記保持時間Ｔ１は、Ｔ１＝θbM/ωMと表され、上記保持時間Ｔ２は、Ｔ２＝θbG3/ωG3と表される。ここにおいて、θbG3は、ギヤＧ３及びギヤＧ４の噛合いにおいて、ギヤＧ４を固定したときにギヤＧ３及びギヤＧ４間に存在するバックラッシュによりギヤＧ３が回転し得る角度（バックラッシュ角）であり、ωG3は特異現象継続中におけるギヤＧ３の回転速度である。従って、実保持時間に保持時間Ｔを近づけるため、保持時間Ｔは、下記数３で示したように保持時間Ｔ１と保持時間Ｔ２の和として求められる。
【００７２】
【数３】
Ｔ＝Ｔ１＋Ｔ２＝θbM/ωM＋θbG3/ωG3
【００７３】
また、減速機４６全体としての減速比はＲであるので、特異現象が開始したと判定された時点におけるスロットル弁アクチュエータ４４の回転速度ωMは、特異現象が開始したと判定された時点におけるスロットル弁４３の回転速度ωTと同減速比Ｒとを用いて下記数４のように表される。
【００７４】
【数４】
ωM＝Ｒ・ωT
【００７５】
また、上記数４で表されるスロットル弁アクチュエータ４４の回転速度ωMが特異現象継続中において一定であると仮定すると、特異現象継続中におけるギヤＧ３の回転速度ωG3は、特異現象が開始したと判定された時点におけるスロットル弁４３の回転速度ωTと減速比Ｒ２とを用いて下記数５のように表される。
【００７６】
【数５】
ωG3＝Ｒ２・ωT
【００７７】
また、ギヤＧ３に対するギアＧ４の減速比がＲ２であることを考慮すると、ギヤＧ４を固定したときにギヤＧ３が回転し得る角度θbG3は、ギヤＧ３を固定したときにギヤＧ４が回転し得る角度θbTと減速比Ｒ２とを用いて下記数６のように表される。
【００７８】
【数６】
θbG3＝Ｒ２・θbT
【００７９】
ここで、上記数３に上記数４、上記数５、及び数６を代入して整理すると、上記数２が得られる。
【００８０】
一方、特異現象が開始したと判定された時点におけるスロットル弁４３の回転速度ωTは、同時点における前回の仮の推定スロットル弁開度TAest1*（前回値）と今回の仮の推定スロットル弁開度TAest1（今回値）と演算周期ΔＴtとを用いて下記数７のように表される。
【００８１】
【数７】
ωT＝｜TAest1-TAest1*｜/ΔＴt
【００８２】
従って、本装置は、上記数７により特異現象が開始したと判断した時点におけるスロットル弁４３の回転速度ωTを検出し、同回転速度ωTの値と、既知となっている減速比Ｒと、ギヤＧ２を固定したときにギヤＧ１が回転し得る角度θbMと、ギヤＧ３を固定したときにギヤＧ４が回転し得る角度θbTとを用いて上記数２に基づいて保持時間Ｔを演算する。このようにして、保持時間Ｔは、スロットル弁アクチュエータ４４の回転速度ωMに関連するスロットル弁４３の回転速度ωTに応じた時間になるように演算される。
【００８３】
<保持時間Ｔ経過後の推定スロットル弁開度TAest2の演算>
また、本装置は上記保持時間Ｔ経過後、仮の推定スロットル弁開度TAest2が今回の暫定目標スロットル弁開度（目標スロットル弁開度）TAtnewに収束していくように下記数８に基づいて同仮の推定スロットル弁開度TAest2を演算する。
【００８４】
【数８】
TAest2＝TAtnew＋((Smth2-1)/Smth2)・(TAest2*-TAtnew)
【００８５】
数８において、TAest2は今回の演算タイミングにおいて新たに演算される仮の推定スロットル弁開度TAest2であり、TAest2*は前回の仮の推定スロットル弁開度TAest2である。
【００８６】
また、収束係数Smth2は、仮の推定スロットル弁開度TAest2が今回の暫定目標スロットル弁開度TAtnewに収束していく際の収束特性（例えば、保持時間Ｔ経過後収束するまでの時間（収束時間））を決定するための「１」より大きい値であるパラメータであって、今回の仮の推定スロットル弁開度TAest2の値は、収束係数Smth2が小さいほど早く収束するように（収束時間が短くなるように）演算され、収束係数Smth2が大きいほど遅く収束するように（収束時間が長くなるように）演算される。
【００８７】
そして、本装置は、現時点における今回の暫定目標スロットル弁開度TAtnewと前回の仮の推定スロットル弁開度TAest2*との偏差（の絶対値）ΔTAを演算周期ΔＴt毎に演算し、後述する所定のテーブルに基づいて同偏差ΔTAの値が小さいほど大きく同偏差ΔTAの値が大きいほど小さい値になるように収束係数Smth2を演算していく。このようにして、収束係数Smth2は偏差ΔTAの値に応じて演算され、今回の仮の推定スロットル弁開度TAest2の値は、偏差ΔTAの値が大きいほど早く収束するように演算され、同偏差ΔTAの値が小さいほど遅く収束するように演算される。
【００８８】
次に、電気制御装置７０の実際の作動について、図８〜図１６に示したフローチャートを参照しながら説明する。
【００８９】
（目標スロットル弁開度の演算）
ＣＰＵ７１は、図８にフローチャートにより示した目標スロットル弁開度演算手段に対応するルーチンを演算周期ΔTt（ここでは、８msec）の経過毎に実行することにより、今回の暫定目標スロットル弁開度TAtnew（即ち今回の目標スロットル弁開度TAt(ntdly)）の演算を行う。
【００９０】
具体的に述べると、ＣＰＵ７１は所定のタイミングにてステップ８００から処理を開始し、ステップ８０５に進んで、アクセル開度センサ６７の出力値に基づいてアクセル操作量Accpを読込み、読み込んだアクセル操作量Accpと、同アクセル操作量Accpと暫定目標スロットル弁開度TAtnewとの関係を規定するステップ８０５内に記載したテーブルとに基づいて、今回の暫定目標スロットル弁開度TAtnewを求める。そして、ＣＰＵ７１は、ステップ８９５に進んで本ルーチンを一旦終了する。
【００９１】
（推定スロットル弁開度の演算）
ＣＰＵ７１は、図９にフローチャートにより示したルーチンを演算周期ΔTt（ここでは、８msec）の経過毎に実行することにより、今回の推定スロットル弁開度TAestnew（即ちTAest(ntdly)）の演算を行う。
【００９２】
<通常モード>
まず、ドライバーのアクセル操作量Accpにより変動する目標スロットル弁開度TAtの値に追従する推定スロットル弁開度TAest（仮の推定スロットル弁開度TAest1）の値が、オープナ開度TAOPNを通過しない範囲で推移する場合について説明する。以下、この場合を「通常モード」と称呼する。
【００９３】
ＣＰＵ７１は所定のタイミングにてステップ９００から処理を開始し、ステップ９０５に進んで、上記数１に基づいて前回の演算周期にて演算された（具体的には続くステップ９１０にて前回演算された）仮の推定スロットル弁開度TAest1の値を、前回の仮の推定スロットル弁開度TAest1*に格納する。この処理は、今回の演算周期におけるステップ９１０にて仮の推定スロットル弁開度TAest1の値を更新する準備として実行される。
【００９４】
次に、ＣＰＵ７１はステップ９１０に進み、図８のステップ８０５にて演算した今回の暫定目標スロットル弁開度TAtnewの値と、前回の仮の推定スロットル弁開度TAest1の値と、上記数１（の右辺）に基づくステップ９１０内に記載した式とにより、今回の仮の推定スロットル弁開度TAest1を演算する。なお、このステップ９１０は第１推定スロットル弁開度演算手段に対応する。これにより、今回の仮の推定スロットル弁開度TAest1が今回の暫定目標スロットル弁開度TAtnewの値に追従するように演算される。
【００９５】
次に、ＣＰＵ７１はステップ９１５に進んで、図１０にフローチャートにより示した特異現象開始判定ルーチンを実行する。具体的には、ＣＰＵ７１はステップ１０００から処理を開始し、ステップ１００５に進んで、フラグFDHOLDが「１」となっているか否かを判定する。
【００９６】
ここで、フラグFDHOLDは、仮の推定スロットル弁開度TAest1が減少する過程においてＣＰＵ７１が特異現象が開始・継続中であると判定しているか否かを示すフラグであり、その値が「１」のときは、同減少過程においてＣＰＵ７１が特異現象が開始・継続中であると判定している場合を示し、その値が「０」のときは、同減少過程においてＣＰＵ７１が特異現象が開始・継続中でないと判定している場合を示している。
【００９７】
この時点では、フラグFDHOLDは「０」となっているので、ＣＰＵ７１は、ステップ１００５にて「Ｎｏ」と判定してステップ１０１０に進み、フラグFUHOLDが「１」となっているか否かを判定する。ここで、フラグFUHOLDは、仮の推定スロットル弁開度TAest1が増加する過程においてＣＰＵ７１が特異現象が開始・継続中であると判定しているか否かを示すフラグであり、その値が「１」のときは、同増加過程においてＣＰＵ７１が特異現象が開始・継続中であると判定している場合を示し、その値が「０」のときは、同増加過程においてＣＰＵ７１が特異現象が開始・継続中でないと判定している場合を示している。
【００９８】
この時点では、フラグFUHOLDも「０」となっているので、ＣＰＵ７１はステップ１０１０にて「Ｎｏ」と判定してステップ１０１５に進み、仮の推定スロットル弁開度TAest1が増加する過程において特異現象が開始したか否かを判定する（以下、この判定を「増加過程特異現象開始判定」と称呼する。）。具体的には、ＣＰＵ７１は、前回の仮の推定スロットル弁開度TAest1*の値がオープナ開度TAOPN以下であって、かつ今回の仮の推定スロットル弁開度TAest1の値が同オープナ開度TAOPNよりも大きいか否かを判定する。なお、このステップ１０１５は、判定手段に対応する。
【００９９】
この時点では、この条件は満足されないので、ＣＰＵ７１はステップ１０１５にて「Ｎｏ」と判定してステップ１０２０に進み、仮の推定スロットル弁開度TAest1が減少する過程において特異現象が開始したか否かを判定する（以下、この判定を「減少過程特異現象開始判定」と称呼する。）。具体的には、ＣＰＵ７１は、前回の仮の推定スロットル弁開度TAest1*の値がオープナ開度TAOPN以上であって、かつ今回の仮の推定スロットル弁開度TAest1の値が同オープナ開度TAOPNよりも小さいか否かを判定する。なお、このステップ１０２０も、判定手段に対応する。
【０１００】
この時点では、この条件も満足されないので、ＣＰＵ７１はステップ１０２０にて「Ｎｏ」と判定してステップ１０９５へ進み、この特異現象開始判定ルーチンを一旦終了するとともに、図９のステップ９２０に進む。そして、ＣＰＵ７１はステップ９２０において、フラグFDHOLDとフラグFUHOLDのどちらか一方が「１」になっているか否かを判定する。
【０１０１】
上述のとおりこの時点ではフラグFDHOLDもフラグFUHOLDも「０」となっているので、ＣＰＵ７１は、ステップ９２０において「Ｎｏ」と判定してステップ９２５に進み、今回の仮の推定スロットル弁開度TAest1の値を今回の推定スロットル弁開度TAestnewに格納する。これにより、今回の推定スロットル弁開度TAestnewが決定される。そして、ＣＰＵ７１はステップ９９５へ進み、この推定スロットル弁開度演算ルーチンを一旦終了する。
【０１０２】
以上、通常モードにある限りにおいて、図９のルーチンにおいて上記した処理が繰り返し実行される。これにより、通常モードにおいては、ドライバーのアクセル操作量Accpにより変動する目標スロットル弁開度TAtの値に追従する仮の推定スロットル弁開度TAest1の値が、そのまま今回の推定スロットル弁開度TAestnewとして設定されていく。
【０１０３】
<減少モード>
次に、通常モードの状態から、例えばドライバーがアクセル操作量Accpを減少することにより、同アクセル操作量Accpにより変動する目標スロットル弁開度TAtの値に追従する仮の推定スロットル弁開度TAest1の値が、オープナ開度TAOPNを減少しながら通過する場合（以下、この場合を「減少モード」と称呼する。）について説明する。以下、この場合の代表例として上述した図６を参照しつつ説明する。
【０１０４】
ＣＰＵ７１は、上記した通常モードの処理を繰り返し実行している過程において、今回の仮の推定スロットル弁開度TAest1の値が図６に示すように推移してオープナ開度TAOPNより初めて小さくなったとき、図１０のステップ１０２０の減少過程特異現象開始判定において「Ｙｅｓ」と判定する。従って、ＣＰＵ７１はステップ１０２５に進み、仮の推定スロットル弁開度TAest1が減少する過程において特異現象が開始・継続中であると判定していることを示すため、フラグFDHOLDに「１」を設定する。
【０１０５】
次いで、ＣＰＵ７１は、以後図９のルーチンにて使用する変数ｉを初期化するため、ステップ１０３０にて変数ｉに「０」を設定した後、ステップ１０３５に進んで、図１１にフローチャートにより示した保持時間Ｔ演算ルーチンを実行する。具体的には、ＣＰＵ７１はステップ１１００から処理を開始し、ステップ１１０５に進み、前回の仮の推定スロットル弁開度TAest1*の値と、今回の仮の推定スロットル弁開度TAest1の値と、上記数７（の右辺）に基づくステップ１１０５内に記載した式とにより、特異現象が開始したと判断した時点におけるスロットル弁４３の回転速度ωTを演算する。このステップ１１０５は速度検出手段に対応している。
【０１０６】
次に、ＣＰＵ７１は、ステップ１１１０に進んで上記回転速度ωTの値と、上記数２（の右辺）に基づくステップ１１１０内に記載した式とにより、保持時間Ｔを演算する。そして、ＣＰＵ７１はステップ１１１５に進み、演算された保持時間Ｔに所定の正の定数ａを乗算した値（実数値）を四捨五入した整数値を以後図９のルーチンにて使用する変数ntnoldに格納した後、ステップ１１９５に進んで保持時間Ｔ演算ルーチンを一旦終了するとともに、図１０のステップ１０９５に進み特異現象開始判定ルーチンを一旦終了し、図９のステップ９２０に進む。この時点は、図６における時刻t1に対応している。
【０１０７】
この時点では、フラグFDHOLDが「１」に設定されているので、ＣＰＵ７１は、ステップ９２０において「Ｙｅｓ」と判定してステップ９３０に進み、変数ｉが変数ntholdになっているか否かを判定する。ここで、変数ｉは、特異現象継続中において、仮の推定スロットル弁開度TAest2（推定スロットル弁開度TAestnew）の値をオープナ開度TAOPNに保持すべき時間（保持時間Ｔ）が経過したか否かを判定するためのカウンタであって、ＣＰＵ７１は、変数ｉが変数ntholdとなった時点で、上記保持時間Ｔが経過したと判定する。
【０１０８】
この時点では、変数ｉは「０」であり、上記保持時間Ｔが経過していないので、ＣＰＵ７１はステップ９３０にて「Ｎｏ」と判定し、ステップ９３５に進んで仮の推定スロットル弁開度TAest2にオープナ開度TAOPNの値を格納し、続くステップ９４０にて変数ｉの値を「１」だけ増大させるとともに、続くステップ９４５にて、今回の推定スロットル弁開度TAestnewに仮の推定スロットル弁開度TAest2の値を格納する。なお、このステップ９３５は第２推定スロットル弁開度演算手段に対応する。これにより、今回の推定スロットル弁開度TAestnewがオープナ開度TAOPNに設定される。そして、ＣＰＵ７１はステップ９９５へ進み、図９のルーチンを一旦終了する。
【０１０９】
これ以降、ＣＰＵ７１は、図９のルーチンを繰り返し実行するにあたり、フラグFDHOLDの値が「１」となっている限りにおいて、変数ｉの値が定数ntholdになるまで、ステップ９００〜ステップ９１０，ステップ９１５（図１０のルーチン），ステップ９２０，ステップ９３０，ステップ９３５，ステップ９４０，ステップ９４５，ステップ９９５の処理を繰り返し実行する。
【０１１０】
これにより、今回の推定スロットル弁開度TAestnewの値が上記保持時間Ｔの間、オープナ開度TAOPNの値に保持される。なお、この段階でフラグFDHOLDの値が「０」となる場合は、図１０のステップ１０４０にてＣＰＵ７１が「Ｙｅｓ」と判定し、ステップ１０４５の処理を実行する場合のみであるところ、この場合については後述する。
【０１１１】
いま、フラグFDHOLDの値が「１」に保持されつづけており、かつ変数ｉの値が定数ntholdになったものとして説明を続けると、ＣＰＵ７１は、ステップ９３０において「Ｙｅｓ」と判定してステップ９５０に進み、図１２にフローチャートにより示した収束係数演算ルーチンを実行する。具体的には、ＣＰＵ７１はステップ１２００から処理を開始し、ステップ１２０５に進んで、前回の推定スロットル弁開度TAest2の値と図８のステップ８０５にて演算された今回の暫定目標スロットル弁開度TAtnewの値との偏差の絶対値を偏差ΔTAに格納する。
【０１１２】
次に、ＣＰＵ７１はステップ１２１０に進んで、偏差ΔTAの値と、同偏差ΔTAと収束係数Smth2との関係を規定するステップ１２１０内に記載したテーブルとに基づいて、以後図９のルーチンにて使用する収束係数Smth2を求める。これにより、収束係数Smth2は、「１」以上の値であって、偏差ΔTAの値が小さいほど大きく偏差ΔTAの値が大きいほど小さい値になるように演算される。
【０１１３】
そして、ＣＰＵ７１はステップ１２９５に進んで収束係数演算ルーチンを一旦終了するとともに、図９のステップ９５５に進んで、仮の推定スロットル弁開度TAest2（今回の推定スロットル弁開度TAestnew）の値を図８のステップ８０５にて演算した今回の暫定目標スロットル弁開度TAtnewの値に収束させるための処理を開始する。なお、このステップ９５５は第２推定スロットル弁開度演算手段に対応する。この時点は、図６における時刻t2に対応している。
【０１１４】
具体的には、ＣＰＵ７１は、ステップ９５５において、今回の暫定目標スロットル弁開度TAtnewの値と、前回の仮の推定スロットル弁開度TAest2の値（この時点ではオープナ開度TAOPN）と、図１２のステップ１２１０にて演算された収束係数Smth2と、上記数８（の右辺）に基づくステップ９５５内に記載した式とにより、今回の仮の推定スロットル弁開度TAest2を演算する。
【０１１５】
これにより、ステップ９５５が実行される度に、今回の仮の推定スロットル弁開度TAest2の値は、収束係数Smth2に応じて今回の暫定目標スロットル弁開度TAtnewの値に徐々に収束していく。このとき、今回の仮の推定スロットル弁開度TAest2の値は、収束係数Smth2が小さいほど（即ち偏差ΔTAの値が大きいほど）早く収束するように（収束時間が短くなるように）演算され、収束係数Smth2が大きいほど（即ち偏差ΔTAの値が小さいほど）遅く収束するように（収束時間が長くなるように）演算される。
【０１１６】
次いで、ＣＰＵ７１は、ステップ９６０に進んで、今回の仮の推定スロットル弁開度TAest2の値が今回の暫定目標スロットル弁開度TAtnewの値に収束したか否かを判定する。具体的には、ＣＰＵ７１は、今回の仮の推定スロットル弁開度TAest2の値と今回の暫定目標スロットル弁開度TAtnewの値との差の絶対値が収束判定定数KTA（正の定数）未満となっているか否かを判定する。
【０１１７】
この時点（図６において時刻t2）では、まだ今回の仮の推定スロットル弁開度TAest2の値と今回の暫定目標スロットル弁開度TAtnewの値（即ち今回の目標スロットル弁開度TAest(ntdly)）との差は大きいのでこの条件は満足されず、ＣＰＵ７１はステップ９６０にて「Ｎｏ」と判定し、ステップ９６５に進んで変数ｊに「０」を設定するとともに、ステップ９４５に進んで仮の推定スロットル弁開度TAest2の値を推定スロットル弁開度TAestnewに格納する。ここで、変数ｊは、ステップ９６０における条件が連続して成立した回数をカウントするためのカウンタである。
【０１１８】
これ以降、ＣＰＵ７１は、図９のルーチンを繰り返し実行するにあたり、フラグFDHOLDの値が「１」となっている限りにおいて、ステップ９６０の条件が成立するまで、ステップ９００〜ステップ９１０，ステップ９１５（図１０のルーチン），ステップ９２０，ステップ９３０，ステップ９５０〜ステップ９６５，ステップ９４５，ステップ９９５の処理を繰り返し実行する。これにより、ステップ９６０の条件が成立するまでの間、今回の推定スロットル弁開度TAestnewの値が今回の暫定目標スロットル弁開度TAtnewの値に収束係数Smth2に応じて徐々に収束していく。なお、この段階でフラグFDHOLDの値が「０」となる場合も、図１０のステップ１０４０にてＣＰＵ７１が「Ｙｅｓ」と判定し、ステップ１０４５の処理を実行する場合のみであるところ、この場合については後述する。
【０１１９】
いま、フラグFDHOLDの値が「１」に保持されつづけており、ステップ９６０の条件が成立したものとして説明を続けると、ＣＰＵ７１は、ステップ９６０において「Ｙｅｓ」と判定してステップ９７０に進み、変数ｊの値を「１」だけ増大させて変数ｊの値を「１」とした後、ステップ９７５に進んで、変数ｊの値が収束判定回数ntconv（１より大きい正の整数）になっているか否かを判定する。
【０１２０】
ここで、変数ｊの値が収束判定回数ntconvとなっていれば、ステップ９６０における条件が収束判定回数ntconv回だけ連続して成立したことになり、ＣＰＵ７１は、今回の仮の推定スロットル弁開度TAest2の値が今回の暫定目標スロットル弁開度TAtnewの値に収束完了したと判定する。しかし、この時点では、変数ｊの値は「１」であって収束判定回数ntconvとなっていないので、この条件は満足されず、ＣＰＵ７１はステップ９７５にて「Ｎｏ」と判定し、ステップ９４５に進んで仮の推定スロットル弁開度TAest2の値を今回の推定スロットル弁開度TAestnewに格納する。
【０１２１】
これ以降、ＣＰＵ７１は、図９のルーチンを繰り返し実行するにあたり、フラグFDHOLDの値が「１」となっている限りにおいて、ステップ９７５の条件が成立するまで、ステップ９００〜ステップ９１０，ステップ９１５（図１０のルーチン），ステップ９２０，ステップ９３０，ステップ９５０〜ステップ９７５，ステップ９４５，ステップ９９５の処理を繰り返し実行する。なお、この段階でフラグFDHOLDの値が「０」となる場合も、図１１０のステップ１０４０にてＣＰＵ７１が「Ｙｅｓ」と判定し、ステップ１０４５の処理を実行する場合のみであるところ、この場合については後述する。
【０１２２】
いま、フラグFDHOLDの値が「１」に保持されつづけており、ステップ９７５の条件が成立したものとして説明を続けると、ＣＰＵ７１は、ステップ９７５において「Ｙｅｓ」と判定してステップ９８０に進んで、特異現象が終了したと判定したことを示すため、フラグFDHOLD及びフラグFUHOLDに「０」を設定する。そして、ＣＰＵ７１は、ステップ９４５に進んで仮の推定スロットル弁開度TAest2の値を推定スロットル弁開度TAestnewに格納するとともにステップ９９５に進んで図９のルーチンを一旦終了する。この時点は、図６における時刻t3に対応している。
【０１２３】
そしてこれ以降、フラグFDHOLD及びフラグFUHOLDは共に「０」となっているため、ＣＰＵ７１は、図９のルーチンにおいて上記した通常モードにおける処理を開始し、仮の推定スロットル弁開度TAest1の値が、そのまま今回の推定スロットル弁開度TAestnewとして設定されていくようになる。
【０１２４】
一方、上記したフラグFDHOLDの値が「１」になっている間（図６において時刻t1〜時刻t3までの間）、図９のルーチンを繰り返し実行するにあたり、ＣＰＵ７１は、フラグFDHOLDの値が「１」になっているか否かを判定する図１０のステップ１００５に進んだ段階で、「Ｙｅｓ」と判定してステップ１０４０に進むようになる。そして、ＣＰＵ７１は、ステップ１０４０にて仮の推定スロットル弁開度TAest1の値がオープナ開度TAOPNより大きいか否かを判定する。
【０１２５】
この条件は、仮の推定スロットル弁開度TAest2の値とは別個に、図９のステップ９１０にて常時繰り返し演算されている仮の推定スロットル弁開度TAest1が、オープナ開度TAOPNより小さい領域において図６に示すように減少している過程において、目標スロットル弁開度TAt（ドライバーのアクセル操作量Accp）が増加を開始しオープナ開度TAOPNを超えることにより、同目標スロットル弁開度TAtに追従する仮の推定スロットル弁開度TAest1の値が増加を開始し、オープナ開度TAOPNを超えた場合に成立する。
【０１２６】
この条件が成立する場合、ＣＰＵ７１はステップ１０４０にて「Ｙｅｓ」と判定し、続くステップ１０４５に進んでフラグFDHOLDを「０」に設定した後、ステップ１０１５に進む。そして、このときステップ１０１５における増加過程特異現象開始判定において「Ｙｅｓ」と判定される条件が成立している。即ち、前回の仮の推定スロットル弁開度TAest1*の値がオープナ開度TAOPN以下であって、かつ今回の仮の推定スロットル弁開度TAest1の値がオープナ開度TAOPNよりも大きくなっている。
【０１２７】
従って、ＣＰＵ７１はステップ１０１５にて「Ｙｅｓ」と判定するとともにステップ１０５０に進んでフラグFUHOLDを「１」に設定する。これにより、これ以降ＣＰＵ７１は、図９のルーチンにおいて後述する増加モードにおける処理を開始し、仮の推定スロットル弁開度TAest2の値が、今回の推定スロットル弁開度TAestnewとして設定されていくようになる。
【０１２８】
このように、ステップ１０４０における条件が成立する場合、この時点まで継続中であると判定されていた特異現象が終了するとともに、仮の推定スロットル弁開度TAest1が増加する過程において（後述する増加モードにおいて）特異現象が新たに開始したと判定する方がよい。即ち、その時点から新たに実際の特異現象が開始されている可能性があるので、その時点から新たに上記保持時間Ｔが経過するまでの間推定スロットル弁開度TAestnewの値がオープナ開度TAOPNに保持されるように同推定スロットル弁開度TAestnewを演算すれば、推定スロットル弁開度TAestnewと実スロットル弁開度TAとの差が小さくなる可能性が高くなるからである。
【０１２９】
<増加モード>
次に、通常モードの状態から、例えばドライバーがアクセル操作量Accpを増加することにより、同アクセル操作量Accpにより変動する目標スロットル弁開度TAtの値に追従する仮の推定スロットル弁開度TAest1の値が、オープナ開度TAOPNを増加しながら通過する場合（以下、この場合を「増加モード」と称呼する。）について説明する。以下、この場合の代表例として上述した図７を参照しつつ説明する。
【０１３０】
ＣＰＵ７１は、上記した通常モードの処理を繰り返し実行している過程において、今回の仮の推定スロットル弁開度TAest1の値が図７に示すように推移してオープナ開度TAOPNより初めて大きくなったとき、図１０のステップ１０１５の増加過程特異現象開始判定において「Ｙｅｓ」と判定する。従って、ＣＰＵ７１はステップ１０５０に進み、仮の推定スロットル弁開度TAest1が増加する過程において特異現象が開始・継続中であると判定していることを示すため、フラグFUHOLDに「１」を設定する。
【０１３１】
次いで、ＣＰＵ７１は、以後図９のルーチンにて使用する変数ｉを初期化するため、ステップ１０５５にて変数ｉに「０」を設定した後、ステップ１０６０にて上述した図１１の保持時間演算ルーチンを実行して保持時間Ｔを演算するとともに、ステップ１０９５に進んで特異現象開始判定ルーチンを一旦終了し、図９のステップ９２０に進む。この時点は、図７における時刻t1に対応している。
【０１３２】
この時点では、フラグFUHOLDが「１」に設定されているので、ＣＰＵ７１は、ステップ９２０において「Ｙｅｓ」と判定してステップ９３０に進む。これ以降ＣＰＵ７１は、図９のルーチンを繰り返し実行するにあたり、フラグFUHOLDの値が「１」となっている限りにおいて、上記した減少モードにおける処理と同一の処理を実行する。
【０１３３】
従って、これ以降今回の推定スロットル弁開度TAestnewの値は、上記保持時間Ｔの間（図７における時刻t1〜時刻t2）、オープナ開度TAOPNの値に保持される。また、保持時間Ｔ経過後は、今回の推定スロットル弁開度TAestnewの値は、収束係数Smth2に応じて今回の暫定目標スロットル弁開度TAtnewに収束していくように演算されていく（図７における時刻t2〜時刻t3）。
【０１３４】
そして、今回の推定スロットル弁開度TAestnewの値が今回の暫定目標スロットル弁開度TAtnewに収束完了した後は、ステップ９８０にてフラグFDHOLDの値及びフラグFUHOLDの値は共に「０」に設定されるため、図９のルーチンにおいて上記した通常モードにおける処理が開始され、仮の推定スロットル弁開度TAest1の値が、そのまま今回の推定スロットル弁開度TAestnewとして設定されていくようになる。
【０１３５】
一方、上記したフラグFUHOLDの値が「１」になっている間（図７においてt1〜t3までの間）、図９のルーチンを繰り返し実行するにあたり、ＣＰＵ７１は、フラグFUHOLDの値が「１」になっているか否かを判定する図１０のステップ１０１０に進んだ段階で、「Ｙｅｓ」と判定してステップ１０６５に進むようになる。そして、ＣＰＵ７１は、ステップ１０６５にて仮の推定スロットル弁開度TAest1の値がオープナ開度TAOPNより小さいか否かを判定する。
【０１３６】
この条件は、仮の推定スロットル弁開度TAest2の値とは別個に、図９のステップ９１０にて常時繰り返し演算されている仮の推定スロットル弁開度TAest1が、オープナ開度TAOPNより大きい領域において図７に示すように増加している過程において、目標スロットル弁開度TAt（ドライバーのアクセル操作量Accp）が減少を開始しオープナ開度TAOPNより小さくなることにより、同目標スロットル弁開度TAtに追従する仮の推定スロットル弁開度TAest1の値が減少を開始し、オープナ開度TAOPNより小さくなる場合に成立する。
【０１３７】
この条件が成立する場合、ＣＰＵ７１はステップ１０６５にて「Ｙｅｓ」と判定し、続くステップ１０７０に進んでフラグFUHOLDを「０」に設定した後、ステップ１０２０に進む。そして、このときステップ１０２０における減少過程特異現象開始判定において「Ｙｅｓ」と判定される条件が成立している。即ち、前回の仮の推定スロットル弁開度TAest1*の値がオープナ開度TAOPN以上であって、かつ今回の仮の推定スロットル弁開度TAest1の値がオープナ開度TAOPNよりも小さくなっている。
【０１３８】
従って、ＣＰＵ７１はステップ１０２０にて「Ｙｅｓ」と判定するとともにステップ１０２５に進んでフラグFDHOLDを「１」に設定する。これにより、これ以降ＣＰＵ７１は、図９のルーチンにおいて上記した減少モードにおける処理を開始し、仮の推定スロットル弁開度TAest2の値が、今回の推定スロットル弁開度TAestnewとして設定されていくようになる。
【０１３９】
このように、ステップ１０６５における条件が成立する場合、この時点まで継続中であると判定されていた特異現象が終了するとともに、仮の推定スロットル弁開度TAest1が減少する過程において（減少モードにおいて）特異現象が新たに開始したと判定する方がよい。即ち、その時点から新たに実際の特異現象が開始されている可能性があるので、その時点から新たに上記保持時間Ｔが経過するまでの間推定スロットル弁開度TAestnewの値がオープナ開度TAOPNに保持されるように同推定スロットル弁開度TAestnewを演算すれば、推定スロットル弁開度TAestnewと実スロットル弁開度TAとの差が小さくなる可能性が高くなるからである。以上説明したように、今回の推定スロットル弁開度TAestnewは図９のルーチンが実行される毎に演算されていく。
【０１４０】
（吸入空気量の演算）
ＣＰＵ７１は、図１３にフローチャートにより示したルーチンを演算周期ΔTt（ここでは、８msec）の経過毎に実行することにより、図９のルーチンにて演算された今回の推定スロットル弁開度TAestnewに基づく吸入空気量Ｑnew（Ｑ(ntdly)）の演算を行う。
【０１４１】
具体的には、ＣＰＵ７１はステップ１３００から処理を開始し、ステップ１３０５に進んで、クランクポジションセンサ６４の出力値に基づいてその時点でのエンジン回転速度NEを取得し、取得したエンジン回転速度NEの値と、今回の推定スロットル弁開度TAestnewの値と、ステップ１３０５内に記載したテーブルとに基づいて、吸入空気量Ｑnewを演算する。これにより、今回の推定スロットル弁開度TAestnewに基づく吸入空気量Ｑnewが決定される。そして、ＣＰＵ７１はステップ１３９５に進んで本ルーチンを一旦終了する。
【０１４２】
（遅延処理）
ＣＰＵ７１は、図１４にフローチャートにより示したルーチンを演算周期ΔTt（ここでは、８msec）の経過毎に実行することにより、図８のルーチンにて演算された今回の暫定目標スロットル弁開度TAtnew、図９のルーチンにて演算された今回の推定スロットル弁開度TAestnew及び図１３のルーチンにて演算された吸入空気量Ｑnewについて、遅延処理を行う。具体的には、ＣＰＵ７１はステップ１４００から処理を開始し、ステップ１４０５に進んで変数ｈに「０」を設定し、ステップ１４１０に進んで変数ｈが遅延処理回数ntdlyと等しいか否かを判定する。
【０１４３】
この時点で変数ｈは「０」であるから、ＣＰＵ７１はステップ１４１０にて「Ｎｏ」と判定し、ステップ１４１５に進んで目標スロットル弁開度TAt(h)に目標スロットル弁開度TAt(h+1)の値を格納し、続くステップ１４２０にて推定スロットル弁開度TAest(h)に推定スロットル弁開度TAest(h+1)の値を格納するとともに、続くステップ１４２５にて吸入空気量Ｑ(h)に吸入空気量Ｑ(h+1)の値を格納する。以上の処理により、目標スロットル弁開度TAt(0)に目標スロットル弁開度TAt(1)の値が格納され、推定スロットル弁開度TAest(0)に推定スロットル弁開度TAest(1)の値が格納され、吸入空気量Ｑ(0)に吸入空気量Ｑ(1)の値が格納される。
【０１４４】
次いで、ＣＰＵ７１は、ステップ１４３０にて変数ｈの値を「１」だけ増大させてステップ１４１０に復帰する。そして変数ｈの値が遅延処理回数ntdlyより小さければ、再びステップ１４１５〜ステップ１４３０の処理を実行する。即ち、ステップ１４１５〜ステップ１４３０は、変数ｈの値が遅延回数ntdlyと等しくなるまで繰り返し実行される。これにより、目標スロットル弁開度TAt(h+1)の値が目標スロットル弁開度TAt(h)に順次シフトされ、推定スロットル弁開度TAest(h+1)の値が推定スロットル弁開度TAest(h)に順次シフトされるとともに、吸入空気量Ｑ(h+1)の値が吸入空気量Ｑ(h)に順次シフトされて行く。
【０１４５】
前述のステップ１４３０が繰り返されることにより変数ｈの値が遅延処理回数ntdlyと等しくなると、ＣＰＵ７１はステップ１４１０にて「Ｙｅｓ」と判定してステップ１４３５に進み、今回の暫定目標スロットル弁開度TAtnewの値を目標スロットル弁開度TAt(ntdly)に格納し、続くステップ１４４０にて今回の推定スロットル弁開度TAestnewの値を推定スロットル弁開度TAest(ntdly)に格納するとともに、続くステップ１４４５にて今回の推定スロットル弁開度TAestnewに基づく吸入空気量Ｑnewの値を吸入空気量Ｑ(ntdly)に格納する。
【０１４６】
そして、ＣＰＵ７１は、ステップ１４５０にて目標スロットル弁開度TAtに目標スロットル弁開度TAt(0)の値を設定するとともに、ステップ１４９５に進んで本遅延処理ルーチンを一旦終了する。
【０１４７】
以上のように、目標スロットル弁開度TAtに関するメモリ（ＲＡＭ７３）においては、本遅延処理ルーチンが実行される毎にメモリの内容が一つずつシフトされて行き、目標スロットル弁開度TAt(0)に格納された値が、ＣＰＵ７１よってスロットル弁アクチュエータ４４に出力される目標スロットル弁開度TAtとして設定される。即ち、今回の本ルーチンの実行により目標スロットル弁開度TAt(ntdly)に格納された値TAtnewは、今後において本ルーチンが遅延処理回数ntdlyだけ繰り返されたときにTAt(0)に格納され、目標スロットル弁開度TAtとなる。
【０１４８】
また、推定スロットル弁開度TAestに関するメモリにおいては、同メモリ内のTAest(m)に、現時点から所定時間(m・ΔTt)経過後の推定スロットル弁開度TAestが格納されて行く。同様に、吸入空気量Ｑに関するメモリにおいても、同メモリ内のＱ(m)に、現時点から所定時間(m・ΔTt)経過後の推定スロットル弁開度TAest(m)に基づく吸入空気量Ｑが格納されて行く。この場合の値mは、１〜ntdlyの整数である。
【０１４９】
（アクチュエータ制御量の演算）
ＣＰＵ７１は、図１５にフローチャートにより示したルーチンを演算周期ΔTt（ここでは、８msec）の経過毎に実行することにより、スロットル弁アクチュエータ４４をフィードバック制御（比例・積分制御（ＰＩ制御））するための制御量VOを演算する。
【０１５０】
具体的には、ＣＰＵ７１はステップ１５００から処理を開始し、ステップ１５０５に進んで、スロットルポジションセンサ６２の出力値に基づいてその時点での実スロットル弁開度TAを読込み、図１４のステップ１４５０にて演算された目標スロットル弁TAtの値から同実スロットル弁開度TAの値を減じた値を偏差DTAに格納する。次いで、ＣＰＵ７１はステップ１５１０に進んで下記数９に基づいて上記制御量VOを演算する。
【０１５１】
【数９】
VO＝Ｋp・DTA＋Ｋi・SDTA
【０１５２】
上記数９において、Ｋpは予め設定された比例ゲイン、Ｋiは予め設定された積分ゲインである。また、SDTAは、偏差DTAの積分値であって、次のステップ１５１５にて更新される値である。即ち、ＣＰＵ７１は、ステップ１５１５に進むと、その時点における偏差DTAの積分値SDTAに上記ステップ１５０５にて求めた偏差DTAを加えて、新たな偏差DTAの積分値SDTAを求め、その後、ステップ１５９５に進んで本ルーチンを一旦終了する。
【０１５３】
そして、本ルーチンが一旦終了される度に、ＣＰＵ７１は、ステップ１５１０にて演算した制御量VOの値に応じた制御信号（デューティ信号）をＰＷＭ方式の駆動回路（図示せず）を介して駆動信号としてスロットル弁アクチュエータ４４に出力し、同スロットル弁アクチュエータ４４をフィードバック制御する。これにより、同スロットル弁アクチュエータ４４は、制御量VOに応じた駆動トルクを発生するとともに、実スロットル弁開度TAが目標スロットル弁開度TAtに近づくように、スロットル弁４３を駆動する。
【０１５４】
（噴射実行ルーチン）
次に、電気制御装置７０が、実際に燃料噴射を行うために実行するルーチンについて、同ルーチンをフローチャートにより示した図１６を参照して説明すると、ＣＰＵ７１は各気筒のクランクアングルがBTDC９０°ＣＡになる毎に、各気筒（燃料噴射気筒）毎に同図１６に示したルーチンを実行するようになっている。
【０１５５】
従って、特定の（任意の）気筒のクランク角度がBTDC９０°ＣＡになると、ＣＰＵ７１はステップ１６００から処理を開始し、続くステップ１６０５にて、クランクポジションセンサ６４の出力値に基づいてその時点でのエンジン回転速度NEを取得し、取得したエンジン回転速度NEの値により燃料噴射気筒の吸気弁３２の閉弁時を予測するとともに、ＲＡＭ７３に格納されているその時点から遅延時間TD経過後までの吸入空気量Ｑ(0)〜Ｑ(ntdly)の中から同吸気弁閉弁時に対応する吸入空気量Ｑを選択する。
【０１５６】
次に、ＣＰＵ７１は、ステップ１６１０に進んで、選択した（予測した）吸入空気量Ｑを目標空燃比AbyFrefで除することにより燃料噴射量fiを求め（燃料噴射量演算手段に対応する）、続くステップ１６１５にて燃料噴射気筒のインジェクタ３９に対して燃料噴射量fiの燃料の噴射を指示する。これにより、燃料噴射量fiに応じた量の燃料が燃料噴射気筒のインジェクタ３９から噴射される。その後、ＣＰＵ７１はステップ１６９５に進んで本ルーチンを一旦終了する。
【０１５７】
以上、説明したように、本発明の実施形態に係る内燃機関の燃料噴射量制御装置によれば、推定スロットル弁開度がオープナ開度を通過するとき、保持時間Ｔに渡り推定スロットル弁開度がオープナ開度に保持されるとともにその後目標スロットル弁開度に所定の収束係数Smth2をもって収束するように同推定スロットル弁開度が演算される。このとき、保持時間Ｔは、特異現象が開始したと判断された時点でのスロットル弁アクチュエータの回転速度に関連するスロットル弁の回転速度に応じて設定されるとともに、収束係数Smth2は、オープナ開度と目標スロットル弁開度との偏差に応じて設定されるので、推定スロットル弁開度の値は実スロットル弁開度の値に極力近い値になるように演算され得る。よって、実スロットル弁開度がオープナ開度を通過するとき、機関の空燃比は極力目標空燃比に近い値になるように制御され得る。
【０１５８】
また、本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態においては、図１１のステップ１１０５にてスロットル弁４３の回転速度ωTを推定スロットル弁開度TAest1の変化に基づいて演算しているが、実スロットル弁開度TAの変化に基づいて同スロットル弁４３の回転速度ωTを演算してもよい。
【０１５９】
また、上記実施形態においては、図１１のステップ１１１０にてスロットル弁４３の回転速度ωTを利用して保持時間Ｔを演算しているが、スロットル弁アクチュエータ４４の回転速度ωMを直接検出して同回転速度ωMを利用して保持時間Ｔを演算してもよい。この場合、ステップ１１１０は、上記数４を考慮すると、Ｔ←（θbM＋Ｒ・θbT）/ωMと書き換えられる。
【０１６０】
また、上記実施形態においては、推定スロットル弁開度TAestnewの値を目標スロットル弁開度TAtnewの値に収束させる段階において、図９のステップ９５０にて収束係数Smth2を逐次更新していくが、同収束させる段階に入った直後（保持時間Ｔ経過直後）に図１２のルーチンにより収束係数Smth2が１回のみ演算されその後は一定となるように同収束係数Smth2を演算してもよい。
【０１６１】
この場合、図１２のステップ１２０５にて仮の推定スロットル弁開度TAest2と目標スロットル弁開度TAtnewとの差を利用して偏差ΔTAを演算するのではなく、オープナ開度TAOPNと目標スロットル弁開度TAtnewとの差を利用して偏差ΔTAを演算してもよい。
【０１６２】
また、上記実施形態においては、図９のステップ９１０にて仮の推定スロットル弁開度TAest1を更新していく際に使用する遅延係数Smth1を一定値としているが、仮の推定スロットル弁開度TAest1と目標スロットル弁開度TAtnewとの差に応じて遅延係数Smth1を逐次更新していくようにしてもよい。
【図面の簡単な説明】
【図１】  本発明による燃料噴射量制御装置を火花点火式多気筒内燃機関に適用したシステムの概略構成図である。
【図２】  図１に示したスロットル弁近傍の概略構成図である。
【図３】  図２に示したオープナ機構により発生するスロットル弁アクチュエータに働く負荷トルクと実スロットル弁開度との関係を示したグラフである。
【図４】  図２に示した減速機構の概略構成図である。
【図５】  図１に示したＣＰＵが演算する暫定目標スロットル弁開度、目標スロットル弁開度、及び推定スロットル弁開度の時間的変化を示したタイムチャートである。
【図６】  推定スロットル弁開度がオープナ開度を減少しながら通過する過程において、図１に示したＣＰＵが演算する暫定目標スロットル弁開度、目標スロットル弁開度、及び推定スロットル弁開度の時間的変化を示したタイムチャートである。
【図７】  推定スロットル弁開度がオープナ開度を増加しながら通過する過程において、図１に示したＣＰＵが演算する暫定目標スロットル弁開度、目標スロットル弁開度、及び推定スロットル弁開度の時間的変化を示したタイムチャートである。
【図８】  図１に示したＣＰＵが実行する目標スロットル弁開度を演算するためのプログラムを示したフローチャートである。
【図９】  図１に示したＣＰＵが実行する推定スロットル弁開度を演算するためのプログラムを示したフローチャートである。
【図１０】  図１に示したＣＰＵが実行する特異現象が開始したか否かを判定するためのプログラムを示したフローチャートである。
【図１１】  図１に示したＣＰＵが実行する保持時間を演算するためのプログラムを示したフローチャートである。
【図１２】  図１に示したＣＰＵが実行する収束係数を演算するためのプログラムを示したフローチャートである。
【図１３】  図１に示したＣＰＵが実行する吸入空気量を演算するためのプログラムを示したフローチャートである。
【図１４】  図１に示したＣＰＵが実行する、同ＣＰＵが演算した目標スロットル弁開度、推定スロットル弁開度及び吸入空気量の値をそれぞれ遅延させるためのプログラムを示したフローチャートである。
【図１５】  図１に示したＣＰＵが実行するスロットル弁アクチュエータ制御量を演算するためのプログラムを示したフローチャートである。
【図１６】  図１に示したＣＰＵが実行する燃料噴射を実行するためのプログラムを示したフローチャートである。
【図１７】  推定スロットル弁開度がオープナ開度を通過する過程において、従来技術における燃料噴射量制御装置（ＣＰＵ）が演算する暫定目標スロットル弁開度、目標スロットル弁開度、実スロットル弁開度及び推定スロットル弁開度の時間的変化を示したタイムチャートであって、図１７（ａ）は、実スロットル弁開度がオープナ開度に保持される実保持時間が変化した場合を、図１７（ｂ）は、オープナ開度と目標スロットル弁開度との偏差が変化した場合を示したタイムチャートである。
【符号の説明】
１０…火花点火式多気筒内燃機関、２０…シリンダブロック部（エンジン本体部）、２５…燃焼室、３１…吸気ポート、３２…吸気弁、３９…インジェクタ、４１…吸気管、４３…スロットル弁、４４…スロットル弁アクチュエータ、４５…オープナ機構、４６…減速機、７０…電気制御装置、７１…ＣＰＵ。
【図１】
0003821049.tif 000002
【図２】
0003821049.tif 000003
【図３】
0003821049.tif 000004
【図４】
0003821049.tif 000005
【図５】
0003821049.tif 000006
【図６】
0003821049.tif 000007
【図７】
0003821049.tif 000008
【図８】
0003821049.tif 000009
【図９】
0003821049.tif 000010
【図１０】
0003821049.tif 000011
【図１１】
0003821049.tif 000012
【図１２】
0003821049.tif 000013
【図１３】
0003821049.tif 000014
【図１４】
0003821049.tif 000015
【図１５】
0003821049.tif 000016
【図１６】
0003821049.tif 000017
【図１７】
0003821049.tif 000018