(57)【特許請求の範囲】
【請求項１】
内燃機関の吸気管及びスロットル弁への付着物が無いときの同吸気管を流れる空気量である初期空気量とスロットル開度との関係を予め記憶し、
前記機関が無負荷アイドル運転状態を維持するのに必要な空気量を確保するためのスロットル開度を無負荷アイドル開度として決定し、
前記初期空気量に対する実際の空気量の比である流量損失率を所定のスロットル開度領域ごとに定められた学習スロットル開度に対して求めるとともに同求めた流量損失率を同学習スロットル開度に対応する学習値として取得し、
前記学習値に基づいて前記スロットル開度に対応する前記空気量を算出し且つ同算出した空気量を前記機関の制御に使用する、
内燃機関の制御装置において、
前記学習スロットル開度のうち前記決定された無負荷アイドル開度よりも小さい範囲内の最大の開度に対応する前記学習値である小開度側学習値が、前記学習スロットル開度のうち同無負荷アイドル開度よりも大きい範囲内の最小の開度に対応する前記学習値である大開度側学習値よりも大きい場合、同小開度側学習値を同大開度側学習値に応じた値に設定する制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、吸気管にスロットル弁を有する内燃機関の制御装置に関する。
【背景技術】
【０００２】
車両に搭載される内燃機関（以下、単に「機関」とも称呼される。）の制御装置は、一般に、アクセル開度及び機関の回転速度等に基づいてスロットル弁の開度（即ち、スロットル開度）を決定する。更に、制御装置は、スロットル開度から燃焼室に流入する空気量（以下、単に「空気量」とも称呼される。）を予測し、その予測した空気量に基づいて燃料噴射量及び噴射タイミング等を決定する。そのため、制御装置は、スロットル弁開度と空気量との関係をマップ及び計算式等の形式で記憶している。
【０００３】
しかしながら、機関が長期にわたり運転されると、スロットル弁及び吸気管の内壁等にデポジットが付着する。デポジットが付着するとスロットル開度に対する空気通路断面積が低下するので、スロットル開度が同一であっても空気量が低下する。
【０００４】
従って、予め記憶したスロットル開度と空気量との関係を用いて空気量を予測する装置は、デポジットの付着により空気量を精度良く推定できなくなる。そこで、従来の制御装置は、吸気管に介装されたエアフローメータを用いて実際の空気量を測定し、スロットル開度と空気量との関係を学習することによって、空気量をより正確に予測するようになっている。
【０００５】
より具体的には、従来の装置の一つ（従来装置）は、スロットル開度に応じて区分けされた開度領域ごとに、スロットル弁を通る空気の流量特性値を学習する。更に、従来装置は、未学習の開度領域がある場合、その開度領域よりもスロットル開度が大きい開度領域について学習された流量特性値をその未学習領域の学習値として設定（コピー）する（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１７６７９号公報
【発明の概要】
【０００７】
ところで、従来装置は、ある開度領域の学習値（流量特性値）をその開度領域内のスロットル開度（学習スロットル開度）に対応させて記憶する。そして、従来装置は、実際のスロットル開度が「ある学習スロットル開度と、その学習スロットル開度に隣接する学習スロットル開度と、の間の開度」である場合、それら二つの学習スロットル開度に対応する二つの学習値を用いて実際のスロットル開度に対する空気量を例えば線形補間などにより予測する。
【０００８】
一方、機関がアイドル状態にあるとき、機関が車両を駆動しているときと比較してスロットル開度は小さい。特に、アイドル状態であって暖機運転が完了し且つエアコンが作動していない場合のように、機関に負荷が加わっていないとき（このような状態は、以下、「無負荷アイドル状態」とも称呼される。）、スロットル開度が最小となる。
【０００９】
しかしながら、上述したように、デポジットが付着するにつれて同一スロットル開度に対する空気量が低下する。従って、無負荷アイドル状態を維持するために必要な空気量を確保するためのスロットル開度（以下、「無負荷アイドル開度」とも称呼される。）は、デポジットの付着量が大きくなるほど大きくなる。従って、デポジットの付着量が大きくなると、無負荷アイドル開度が大きくなるので、この増大した無負荷アイドル開度よりも小さいスロットル開度にて機関が運転される頻度は激減する。その結果、この増大した無負荷アイドル開度よりも小さい開度領域に対する学習値が更新されない事態が生じる。
【００１０】
他方、無負荷アイドル開度よりも大きいスロットル開度に対応する学習値は更新され続ける。その結果、スロットル開度が無負荷アイドル開度の近傍であって無負荷アイドル開度よりも僅かに大きい開度に対する空気量は、更新され続けている学習値と更新されていない学習値とに基づいて（例えば、線形補間により）求められるから、精度よく求められないという問題が生じる。
【００１１】
そこで、本発明の目的の一つは、デポジットの付着が発生した場合であっても、無負荷アイドル開度近傍のスロットル開度に対する空気量を精度良く推定することが可能な内燃機関の制御装置を提供することである。
【００１２】
上記目的を達成するための本発明の内燃機関の制御装置（以下、「本発明装置」とも称呼される。）は、
内燃機関の吸気管及びスロットル弁への付着物が無いときの同吸気管を流れる空気量である初期空気量とスロットル開度との関係を予め記憶し、
前記機関が無負荷アイドル運転状態を維持するのに必要な空気量を確保するためのスロットル開度を無負荷アイドル開度として決定し、
前記初期空気量に対する実際の空気量の比である流量損失率を所定のスロットル開度領域ごとに定められた学習スロットル開度に対して求めるとともに同求めた流量損失率を同学習スロットル開度に対応する学習値として取得し、
前記学習値に基づいて前記スロットル開度に対応する前記空気量を算出し且つ同算出した空気量を前記機関の制御に使用する。
【００１３】
更に、本発明装置は、
前記学習スロットル開度のうち前記決定された無負荷アイドル開度よりも小さい範囲内の最大の開度に対応する前記学習値である小開度側学習値が、
前記学習スロットル開度のうち同無負荷アイドル開度よりも大きい範囲内の最小の開度に対応する前記学習値である大開度側学習値よりも大きい場合、
同小開度側学習値を同大開度側学習値に応じた値に設定する。
【００１４】
本発明装置によれば、デポジット付着によって無負荷アイドル開度がデポジット付着が無いときと比較して大きくなった場合であっても、即ち、学習値が更新されないスロットル開度領域が発生した場合であっても、流入空気量を算出するために用いられる学習値を補正することができる。
【００１５】
その結果、本発明装置は、スロットル開度が無負荷アイドル状態の開度近傍であるとき或いはそれよりもスロットル開度が少し大きいときであっても、スロットル開度に対して算出される流入空気量の誤差を抑制することが可能となる。それに伴い、本発明装置は、流入空気が正しく算出されないことに起因する回転速度の不安定化、燃料消費率の低下及び排気エミッションの悪化等の現象が発生することを回避できる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態に係る制御装置（第１装置）が適用される内燃機関の概略構成図である。
【図２】第１装置における、スロットル開度と、流入空気量及び流量損失率（学習値）と、の関係を示したグラフである。
【図３】第１装置における、スロットル開度と、流入空気量及び流量損失率（学習値）と、の関係を示したグラフである。
【図４】第１装置が実行する補正制御を示したフローチャートである。
【図５】本発明の第２実施形態に係る制御装置（第２装置）における、スロットル開度と、流入空気量及び流量損失率（学習値）と、の関係を示したグラフである。
【図６】第２装置が実行する補正制御を示したフローチャートである。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら本発明の各実施形態に係る内燃機関の制御装置について説明する。
【００１８】
＜第１実施形態＞
本発明の第１実施形態に係る内燃機関の制御装置（以下、「第１装置」とも称呼される。）は、図１に示した内燃機関１０に適用される。機関１０は、図示しない車両に搭載されている。機関１０は、吸気管１１、燃焼室２１及び排気管３１を含んでいる。
【００１９】
吸気管１１には、スロットル弁１２、スロットル弁アクチュエータ１３及び燃料噴射弁（インジェクタ）１４が配設されている。スロットル弁アクチュエータ１３は、後述するＥＣＵ（電子制御ユニット）４０の指示に応答してスロットル弁１２の開度（スロットル開度）ＴＡを変更し、吸気管１１内の空気流量を制御する。燃料噴射弁１４は、ＥＣＵ４０の指示に応答して吸気管１１内に燃料を噴射する。
【００２０】
燃焼室２１には点火栓２２が配設されている。点火栓２２は、ＥＣＵ４０の指示に応じて燃焼室２１内の混合気に点火する。
【００２１】
吸気管１１と燃焼室２１との間に配設された吸気弁２３は、図示しないインテークカムシャフトによって開閉させられる。燃焼室２１と排気管３１との間に配設された排気弁２４は、図示しないエキゾーストカムシャフトによって開閉させられる。
【００２２】
ＥＣＵ４０は、ＣＰＵ４２、ＲＯＭ４３、ＲＡＭ４４及びバックアップＲＡＭ４５を含んでいる。バックアップＲＡＭ４５は、電力がＥＣＵ４０に供給されていない場合であっても、書き込まれたデータを保持することができる。従って、後述する学習値は、バックアップＲＡＭ４５内に格納される。ＥＣＵ４０は、以下に述べるセンサ類と接続されていて、これらのセンサからの信号を受信（入力）するようになっている。
【００２３】
エアフローメータ５１は、吸気管１１内を通過する流入空気の質量流量（空気流量）を測定し、その空気流量Ｇａを表す信号を出力する。スロットル開度センサ５２は、スロットル弁１２のスロットル開度ＴＡを表す信号を出力する。アクセル開度センサ５３は、機関１０が搭載された車両の図示しないアクセルペダルの開度Ａｃｃを表す信号を出力する。クランク角度センサ５４は、機関１０の図示しないクランクシャフトの回転位置に応じた信号を出力する。ＥＣＵ４０は、クランク角度センサ５４からの信号に基づいて機関１０の機関回転速度ＮＥを算出する。
【００２４】
＜スロットル通過空気量の算出及び流量損失率の学習＞
次に、ＥＣＵ４０の作動について説明する。図２（Ａ）の曲線Ｌｉは、スロットル弁１２及び吸気管１１内壁へのデポジット付着が無いとき（例えば、機関１０が新品であるとき）の「スロットル開度ＴＡに対応するスロットル通過空気量ｍｔ（即ち、空気流量特性）」を表す。スロットル通過空気量ｍｔは、空気充填率ＫＬと回転速度ＮＥとの積によって得られる値（即ち、ｍｔ＝ＫＬ×ＮＥ）であり、空気流量Ｇａと正の相関を有する。ここで空気充填率ＫＬは、燃焼室２１に充填される空気量を百分率で表した値である。具体的には、機関１０が１回転する間に機関１０の排気量に等しい体積の空気が吸気管１１を通過したとき、空気充填率ＫＬは１００％となる。曲線Ｌｉは、マップの形式でＲＯＭ４３に記憶されている。曲線Ｌｉによって表されるスロットル通過空気量ｍｔは、以下、「初期流入空気量ｍｔｉ」とも称呼される。
【００２５】
図２（Ａ）中のスロットル開度ＴＡｍｉは、機関１０が無負荷アイドル状態（即ち、機関１０がアイドル状態であって且つ外部から負荷が働いていない状態、より具体的には、機関１０の暖機運転が完了し且つ車両に搭載された図示しないエアコン及び電気負荷等の補機負荷が作動していない状態）を維持するのに機関１０が必要な最低流入空気量ｍｔｍを与えるスロットル開度ＴＡ（即ち、無負荷アイドル開度）である。
【００２６】
ＥＣＵ４０は、所定のタイミングにて、アクセル開度Ａｃｃ及び回転速度ＮＥに基づいて周知の方法を用いてスロットル開度ＴＡを決定する。ＥＣＵ４０は、ＲＯＭ４３の上記マップを参照することによって、このスロットル開度ＴＡに対応するスロットル通過空気量ｍｔを取得する。ＥＣＵ４０は、スロットル通過空気量ｍｔに基づいて燃焼室２１に流入する空気量（筒内空気量）を算出し、その筒内空気量に基づいて燃料噴射量及び燃料噴射時期等を決定する。
【００２７】
ところで、機関１０の運転中、燃焼室２１からの吹き返しに含まれる煤及び外気に含まれる粉塵等がスロットル弁１２及び吸気管１１の内壁等に付着し、その後、デポジット（付着物）としてスロットル弁１２及び吸気管１１の内壁等に堆積する。デポジットが付着することによって空気断面積が低下するので、同じスロットル開度ＴＡに対応するスロットル通過空気量ｍｔがデポジット付着前と比較して減少する。
【００２８】
図２（Ａ）の曲線Ｌａは、デポジットが付着した状態（即ち、同一スロットル開度ＴＡに対応するスロットル通過空気量ｍｔが減少した状態）のスロットル弁１２の空気流量特性を表す。曲線Ｌｉ及び曲線Ｌａから理解されるように、デポジット付着が発生したとき、ＥＣＵ４０は、ＲＯＭ４３に記憶された曲線Ｌｉに相当するマップ情報（即ち、初期流入空気量ｍｔｉ）を参照することによっては、スロットル開度ＴＡに対応するスロットル通過空気量ｍｔを正しく取得することができない。そのため、ＥＣＵ４０は、所定のスロットル開度領域毎に実際のスロットル通過空気量ｍｔに相関を有する値を学習する。
【００２９】
より具体的に述べると、ＥＣＵ４０は、所定のスロットル開度領域のそれぞれに含まれる学習スロットル開度ＴＡｓ（ｓ＝１、２、・・）に対応する実際のスロットル通過空気量ｍｔｓ（ｓ＝１、２、・・）と、その学習スロットル開度ＴＡｓに対応する初期流入空気量ｍｔｉｓ（ｓ＝１、２、・・）と、を取得する。次に、ＥＣＵ４０は、スロットル通過空気量ｍｔｓを初期流入空気量ｍｔｉｓで除することによって、学習スロットル開度ＴＡｓに対応する流量損失率ＬＲｓ（ｓ＝１、２、・・）を算出する（即ち、ＬＲｓ＝ｍｔｓ／ｍｔｉｓ）。ＥＣＵ４０は、各学習スロットル開度ＴＡｓに対応する流量損失率ＬＲｓを学習値としてバックアップＲＡＭ４５に記憶する。
【００３０】
一方、ＥＣＵ４０は、実際のスロットル開度ＴＡに対応するスロットル通過空気量ｍｔを、バックアップＲＡＭ４５に記憶された学習値を参照することによって算出する。いま、デポジット付着が発生することによって、スロットル開度ＴＡとスロットル通過空気量ｍｔとの関係が、図２（Ａ）の曲線Ｌａに示されるようになったと仮定する。
【００３１】
例えば、実際のスロットル開度が、学習スロットル開度ＴＡ３に等しいとき、ＥＣＵ４０は、図２（Ａ）に示された「スロットル開度ＴＡ３に対応する初期流入空気量であるｍｔｉ３」と、図２（Ｂ）に示された「スロットル開度ＴＡ３に対応する学習値である流量損失率ＬＲ３」と、を取得する。次に、ＥＣＵ４０は、初期流入空気量ｍｔｉ３に流量損失率ＬＲ３を乗じることによって、スロットル開度ＴＡ３に対応するスロットル通過空気量ｍｔ３を算出する（即ち、ｍｔ３＝ｍｔｉ３×ＬＲ３）。
【００３２】
他方、実際のスロットル開度ＴＡに対応する学習値が存在しないとき、即ち、実際のスロットル開度ＴＡが何れの学習スロットル開度とも異なるとき、ＥＣＵ４０は、線形補間によってスロットル通過空気量ｍｔを算出する。いま、実際のスロットル開度が、学習スロットル開度ＴＡ３と学習スロットル開度ＴＡ４との間のＴＡｘであると仮定する（即ち、ＴＡ３＜ＴＡｘ＜ＴＡ４）。
【００３３】
この場合、ＥＣＵ４０は、学習スロットル開度ＴＡ３に対応する流量損失率ＬＲ３及び学習スロットル開度ＴＡ４に対応する流量損失率ＬＲ４を取得する。次に、ＥＣＵ４０は、スロットル開度ＴＡｘに対応する流量損失率ＬＲｘを線形補間によって算出する。即ち、ＥＣＵ４０は、下式に基づいてＬＲｘを算出する。
ＬＲｘ＝（ＬＲ４−ＬＲ３）×（ＴＡｘ−ＴＡ３）／（ＴＡ４−ＴＡ３）＋ＬＲ３
【００３４】
更に、ＥＣＵ４０は、図２（Ａ）の曲線Ｌｉに示された「スロットル開度ＴＡｘに対応する初期流入空気量であるｍｔｉｘ」を取得し、初期流入空気量ｍｔｉｘに流量損失率ＬＲｘを乗じることによって、スロットル開度ＴＡｘに対応するスロットル通過空気量ｍｔｘを算出する（即ち、ｍｔｘ＝ｍｔｉｘ×ＬＲｘ）。
【００３５】
＜スロットル通過空気量の算出誤差＞
次に、特定条件のもと、ＥＣＵ４０が上記学習値に基づいて算出するスロットル通過空気量ｍｔが誤差を含み得ることを説明する。図２（Ａ）の点Ｐｉ１乃至点Ｐｉ４はそれぞれ、デポジット付着が無いときの学習スロットル開度ＴＡ１乃至ＴＡ４に対応するスロットル通過空気量ｍｔ（即ち、初期流入空気量）である。この場合、点Ｐｉ１乃至点Ｐｉ４は曲線Ｌｉ上に位置している。図２（Ｂ）の直線Ｌｉｒ上にある点Ｐｉｒ１乃至点Ｐｉｒ４は、図２（Ａ）の点Ｐｉ１乃至点Ｐｉ４のそれぞれに対応するスロットル開度ＴＡと流量損失率ＬＲと組み合わせである。この場合、デポジット付着が発生していないので、即ち、スロットル通過空気量ｍｔの減少が発生していないので、流量損失率ＬＲはいずれも「１」となる。
【００３６】
次に、デポジット付着が発生することによって、スロットル開度ＴＡとスロットル通過空気量ｍｔとの関係が、図２（Ａ）の曲線Ｌａに示されるようになったと仮定する。デポジット付着の結果、無負荷アイドル開度はＴＡｍｉからＴＡｍａに増加している（即ち、ＴＡｍｉ＜ＴＡｍａ）。換言すれば、機関１０の作動中、スロットル開度ＴＡは、ＴＡｍａより小さくならない。学習スロットル開度ＴＡ１は、ＴＡｍａよりも小さいので（即ち、ＴＡ１＜ＴＡｍａ）、学習スロットル開度ＴＡ１に対応する学習値（流量損失率ＬＲ）は更新されない。スロットル開度ＴＡが「無負荷アイドル開度」よりも小さい領域は、本明細書において「学習不可領域」とも称呼される。
【００３７】
その一方、ＴＡｍａよりも大きい学習スロットル開度ＴＡ２乃至ＴＡ４（即ち、ＴＡｍａ＜ＴＡ２＜ＴＡ３＜ＴＡ４）に対応する学習値は学習によって更新される。更新された学習値は、図２（Ｂ）の点Ｐａｒ２乃至点Ｐａｒ４として表されている。
【００３８】
上述したように、ＥＣＵ４０は、実際のスロットル開度ＴＡが何れの学習スロットル開度とも異なるとき、学習値を線形補間することによって流量損失率ＬＲを算出する。即ち、ＥＣＵ４０は、図２（Ｂ）の点Ｐｉｒ１及び点Ｐａｒ２乃至点Ｐａｒ４のそれぞれの間を線分で結んで得られる太線Ｌａｍｒに基づいて流量損失率ＬＲを算出する。
【００３９】
スロットル開度ＴＡが図２（Ｂ）の領域Ｓａｒに対応するとき、即ち、スロットル開度ＴＡが最小アイドル開度ＴＡｍａと学習スロットル開度ＴＡ２との間にあるとき、ＥＣＵ４０は、学習値Ｐｉｒ１と学習値Ｐａｒ２とに基づく線形補間によって流量損失率ＬＲを算出する。しかし、学習値Ｐｉｒ１は更新されていないので、学習値Ｐｉｒ１に基づいて算出される流量損失率ＬＲは誤差を含む。ＥＣＵ４０は、誤差を含んだ流量損失率ＬＲに基づいてスロットル通過空気量ｍｔを算出するので、そのスロットル通過空気量ｍｔも誤差を含む。
【００４０】
より具体的に述べると、図２（Ａ）の点Ｐａ２は、学習スロットル開度ＴＡ２に対応する初期流入空気量ｍｔｉと、学習スロットル開度ＴＡ２に対応する流量損失率ＬＲ（学習値）と、に基づいて算出されるスロットル通過空気量ｍｔを表している。図２（Ａ）の点Ｐａ３及び点Ｐａ４は、同様に、学習スロットル開度ＴＡ３及びＴＡ４にそれぞれ対応するスロットル通過空気量ｍｔを表している。点Ｐｉ１及び点Ｐａ２乃至点Ｐａ４のそれぞれの間を線分で結んで得られる太線Ｌａｍが、実際のスロットル開度ＴＡと、ＥＣＵ４０がスロットル開度ＴＡに基づいて算出するスロットル通過空気量ｍｔと、の関係を表している。図２（Ａ）の領域Ｓａから理解されるように、スロットル開度ＴＡが最小アイドル開度ＴＡｍａと学習スロットル開度ＴＡ２との間にあるとき、ＥＣＵ４０が算出するスロットル通過空気量ｍｔが誤差を含む。
【００４１】
ＥＣＵ４０は、誤差を有するスロットル通過空気量ｍｔに基づいて燃料噴射弁１４から噴射される燃料の量及び噴射タイミング等を決定するので、スロットル通過空気量ｍｔの誤差に起因して噴射燃料量にも誤差が生じ、その結果、燃焼室２１内の空燃比が目標値と異なってしまう。それにより、燃料消費率の低下及び排気エミッションの悪化等が発生する虞がある。場合によっては、回転速度ＮＥが不安定になり（即ち、ハンチングが発生し）、更に、吹き上がり及びエンジンストール等が起こり得る。
【００４２】
＜補正制御＞
この問題を回避するため、本実施形態に係るＥＣＵ４０は以下に説明する「補正制御」を実行する。上述したように、流量損失率ＬＲは初期流入空気量ｍｔｉに対する実際のスロットル通過空気量ｍｔの比である。一般に、スロットル開度ＴＡが小さくなるほど、吸気管１１の空気通路断面積が小さくなるので、スロットル通過空気量ｍｔに対するデポジット付着の影響が相対的に大きくなる。換言すれば、デポジットの付着量が同じであれば、スロットル開度ＴＡが小さいほど、流量損失率ＬＲが小さくなる。
【００４３】
他方、デポジットの付着量が増大するほど、実際のスロットル通過空気量ｍｔが減少するので、流量損失率ＬＲは減少する。しかし、デポジットの付着量の増大に起因する無負荷アイドル開度の増大（即ち、学習不可領域の拡大）によって更新されなくなる学習値（流量損失率ＬＲ）は減少しなくなる。即ち、無負荷アイドル開度よりも小開度側にある更新されない学習値は、無負荷アイドル開度よりも大開度側にある更新される学習値よりも値が大きくなる現象が発生する。この場合、ＥＣＵ４０は、この学習値に基づいて算出される流量損失率ＬＲ（及び、スロットル通過空気量ｍｔ）が誤差を含んでいると判定する。
【００４４】
より具体的に述べると、ＥＣＵ４０は、「無負荷アイドル開度（本例では、ＴＡｍａ）よりも小開度側の範囲において最大の学習スロットル開度に対応する流量損失率ＬＲｌ」と「無負荷アイドル開度よりも大開度側の範囲において最小の学習スロットル開度に対応する流量損失率ＬＲｒ」とを比較する。本例では、無負荷アイドル開度ＴＡｍａよりも小開度側の流量損失率ＬＲｌは、学習スロットル開度ＴＡ１に対応する流量損失率ＬＲ（点Ｐｉｒ１）であり、無負荷アイドル開度ＴＡｍａよりも大開度側の流量損失率ＬＲｒは、学習スロットル開度ＴＡ２に対応する流量損失率ＬＲ（点Ｐａｒ２）である。
【００４５】
小開度側の流量損失率ＬＲｌが大開度側の流量損失率ＬＲｒより大きい場合（即ち、ＬＲｌ＞ＬＲｒ）、ＥＣＵ４０は、流量損失率ＬＲｌに対応する学習値が更新されていない、即ち、算出される流量損失率ＬＲ（及び、スロットル通過空気量ｍｔ）に上記の誤差（領域Ｓａｒ及び領域Ｓａ）が発生していると判定する。
【００４６】
この場合、ＥＣＵ４０は、流量損失率ＬＲｌの値が、流量損失率ＬＲｒの値と等しくなるように学習値を補正する。即ち、本例においてＥＣＵ４０は、学習スロットル開度ＴＡ１に対応する学習値Ｐｉｒ１が、学習スロットル開度ＴＡ２に対応する学習値Ｐａｒ２と等しくなるように補正する。補正後の学習スロットル開度ＴＡ１に対応する学習値が点Ｐａｒ１である。
【００４７】
図２（Ａ）の点Ｐａ１は、図（Ｂ）の点Ｐａｒ１に対応するスロットル通過空気量ｍｔを表している。点Ｐａ１は、補正が行われる学習値Ｐｉｒ１に対応する点Ｐｉ１よりも、曲線Ｌａ近傍に位置する。即ち、上記補正制御によって、スロットル開度ＴＡが無負荷アイドル開度の近傍であって無負荷アイドル開度よりも僅かに大きいときであっても、ＥＣＵ４０は、そのスロットル開度ＴＡに対応するスロットル通過空気量ｍｔをより精度よく算出することができる。
【００４８】
次に、デポジット付着が更に進行した結果、スロットル開度ＴＡとスロットル通過空気量ｍｔとの関係が、図３（Ａ）の曲線Ｌｂに示されるようになったと仮定する。この場合、無負荷アイドル開度はＴＡｍｂとなっている（即ち、ＴＡｍａ＜ＴＡｍｂ）。
【００４９】
図３（Ｂ）の点Ｐａｒ１及び点Ｐａｒ２に対応する学習スロットル開度ＴＡ１及びＴＡ２は、無負荷アイドル開度ＴＡｍｂよりも小さいので（即ち、ＴＡ１＜ＴＡ２＜ＴＡｍｂ）、これらの学習スロットル開度に対応する学習値は更新されない。その一方、点Ｐａ３及び点Ｐａ４に対応する学習スロットル開度ＴＡ３及びＴＡ４は無負荷アイドル開度ＴＡｍｂよりも大きいので（即ち、ＴＡｍｂ＜ＴＡ３＜ＴＡ４）、学習値は点Ｐｂｒ３及び点Ｐｂｒ４にそれぞれ更新される。そのため、補正制御が行われなければ、ＥＣＵ４０は、太線Ｌｂｍｒに基づいて流量損失率ＬＲを算出する。その結果、領域Ｓｂｒに示したスロットル開度ＴＡの範囲（即ち、無負荷アイドル開度ＴＡｍｂから学習スロットル開度ＴＡ３までの範囲）において、ＥＣＵ４０によって算出される流量損失率ＬＲが誤差を含む。
【００５０】
図３（Ａ）の太線Ｌｂｍは、図３（Ｂ）の太線Ｌｂｍｒに対応している。図３（Ａ）の点Ｐｂ３及び点Ｐｂ４は、それぞれ図３（Ｂ）の点Ｐｂｒ３及び点Ｐｂｒ４に対応している。ＥＣＵ４０は、スロットル開度ＴＡが領域Ｓｂの範囲（即ち、無負荷アイドル開度ＴＡｍｂから学習スロットル開度ＴＡ３までの範囲）において、誤差を含む流量損失率ＬＲに基づいてスロットル通過空気量ｍｔを算出するので、そのスロットル通過空気量ｍｔも誤差を含む。
【００５１】
そこで、ＥＣＵ４０は、係るスロットル通過空気量ｍｔの誤差を抑制するため、「補正制御」を実行する。本例では、小開度側の流量損失率ＬＲｌは、点Ｐａｒ２（即ち、学習スロットル開度ＴＡ２）に対応する流量損失率ＬＲであり、大開度側の流量損失率ＬＲｒは、点Ｐｂｒ３（即ち、学習スロットル開度ＴＡ３）に対応する流量損失率ＬＲである。本例では、小開度側の流量損失率ＬＲｌが大開度側の流量損失率ＬＲｒより大きいので、ＥＣＵ４０は、算出される流量損失率ＬＲに上記の誤差（領域Ｓｂｒ）が発生していると判定する。
【００５２】
この場合、ＥＣＵ４０は、流量損失率ＬＲｌの値が、流量損失率ＬＲｒの値と等しくなるように流量損失率ＬＲｌに対応する学習値を補正する。具体的には、ＥＣＵ４０は、点Ｐａｒ１及び点Ｐａｒ２に対応する流量損失率ＬＲが、大開度側の流量損失率ＬＲｒ（点Ｐｂｒ３に対応する流量損失率ＬＲ）と等しくなるように、点Ｐａｒ１及び点Ｐａｒ２をそれぞれ点Ｐｂｒ１及び点Ｐｂｒ２に補正する。この補正制御によって、ＥＣＵ４０は、領域Ｓｂｒに示したスロットル開度ＴＡの範囲においても、スロットル通過空気量ｍｔをより正確に算出することが可能となる。
【００５３】
＜フローチャートの説明＞
次に、ＥＣＵ４０のＣＰＵ４２（以下、単に「ＣＰＵ」とも称呼される。）が実行する、補正制御について図４のフローチャートを参照しながら説明する。いま、スロットル弁１２及び吸気管１１内壁へのデポジット付着によって、スロットル開度ＴＡとスロットル通過空気量ｍｔとの関係が、図３（Ａ）の曲線Ｌｂに示されるようになったと仮定する。
【００５４】
機関１０の作動中、ＣＰＵは所定の時間が経過する毎にステップ４００から処理を開始してステップ４０５に進む。ステップ４０５にてＣＰＵは、無負荷アイドル開度ＴＡｍを決定する。
【００５５】
より具体的に述べると、ＣＰＵは、任意の連続する２つの学習スロットル開度ＴＡｓと、それらの学習スロットル開度ＴＡｓに対応する学習値（流量損失率ＬＲｓ）に基づいて算出されるスロットル通過空気量ｍｔｓと、に対応する点を、スロットル開度ＴＡ（ｘ軸）に対するスロットル通過空気量ｍｔ（ｙ軸）を表すグラフ上にそれぞれプロットし且つそれらの点を結ぶことによって得られる線分の傾きを算出する。ＣＰＵは、全ての連続する２つの学習スロットル開度ＴＡｓに対応する上記線分のうち、その傾きが所定の閾値以上の範囲において最小の線分を選択し、その線分を小開度側に延長（外挿）した半直線と、「最低流入空気量ｍｔｍを表すｘ軸に平行な直線」と、の交点に対応するスロットル開度を無負荷アイドル開度ＴＡｍとして算出する。前述の仮定によれば、無負荷アイドル開度ＴＡｍはＴＡｍｂである。
【００５６】
次に、ＣＰＵはステップ４１０に進み、無負荷アイドル開度ＴＡｍよりも１つ大開度側の学習スロットル開度に対応する学習値である流量損失率ＬＲｒを取得する。前述の仮定によれば、流量損失率ＬＲｒは、無負荷アイドル開度ＴＡｍｂの１つ大開度側の学習スロットル開度ＴＡ３に対応する学習値Ｐｂｒ３である。
【００５７】
次に、ＣＰＵはステップ４１５に進み、無負荷アイドル開度ＴＡｍよりも１つ小開度側の学習スロットル開度に対応する学習値である流量損失率ＬＲｌを取得する。前述の仮定によれば、流量損失率ＬＲｌは、無負荷アイドル開度ＴＡｍｂの１つ小開度側の学習スロットル開度ＴＡ２に対応する学習値Ｐａｒ２である。学習値Ｐａｒ２は上述したように学習不可領域に含まれているので、更新されないままとなっている。
【００５８】
次に、ステップ４２０に進み、ＣＰＵは、上述した学習不可領域の拡大に起因するＥＣＵ４０が算出する流量損失率ＬＲ（及び、それに基づいて算出されるスロットル通過空気量ｍｔ）に誤差が発生しているか否かを判定する。具体的には、ＣＰＵは、小開度側の学習値（流量損失率ＬＲｌ）が、大開度側の学習値（流量損失率ＬＲｒ）よりも大きいか否かを判定する。前述の仮定によれば、学習値Ｐａｒ２は、学習値Ｐｂｒ３よりも大きい。この場合、ＣＰＵは、ステップ４２０にて「Ｙｅｓ」と判定してステップ４２５に進む。
【００５９】
ステップ４３０にてＣＰＵは、小開度側の学習値（流量損失率ＬＲ）を、大開度側の学習値（流量損失率ＬＲｒ）に等しい値に設定する。前述の仮定によれば、ＣＰＵは、無負荷アイドル開度ＴＡｍｂよりも小開度側のスロットル開度ＴＡに対応する学習値Ｐａｒ１及び学習値Ｐａｒ２を、学習値Ｐｂｒ３に等しくなるよう設定する。即ち、学習値Ｐａｒ１及び学習値Ｐａｒ２は、それぞれ点Ｐｂｒ１及び点Ｐｂｒ２に補正される。次に、ＣＰＵはステップ４９５に進んで本ルーチンを一旦終了する。
【００６０】
その一方、上述した学習不可領域の拡大に起因するスロットル通過空気量ｍｔの誤差が発生していないとき、例えば、デポジット付着が発生していないとき、或いは、この補正制御が既に実行された直後であるとき、小開度側の学習値に対応する流量損失率ＬＲｌは、大開度側の学習値に対応する流量損失率ＬＲｒよりも大きくなっていない。そのような場合、ＣＰＵは、ステップ４２０にて「Ｎｏ」と判定し、ステップ４２５を実行することなく、即ち、学習値を補正することなく、ステップ４９５に進んで本ルーチンを一旦終了する。
【００６１】
以上、説明したように、第１装置の制御部（ＥＣＵ４０）は、
内燃機関１０の吸気管１１及びスロットル弁１２への付着物が（例えば、デポジット）無いときの同吸気管を流れる空気量である初期空気量とスロットル開度との関係を予め記憶し（図２（Ａ）の曲線Ｌｉ）、
前記機関が無負荷アイドル運転状態を維持するのに必要な空気量を確保するためのスロットル開度を無負荷アイドル開度として決定し（図４のステップ４０５）、
前記初期空気量に対する実際の空気量の比である流量損失率を所定のスロットル開度領域ごとに定められた学習スロットル開度に対して求めるとともに同求めた流量損失率を同学習スロットル開度に対応する学習値として取得し（図２（Ｂ）の点Ｐｉｒ１乃至点Ｐｉｒ４及び点Ｐａｒ２乃至Ｐａｒ４、並びに、図３（Ｂ）の点Ｐｂｒ３及び点Ｐｂｒ４）、
前記学習値に基づいて前記スロットル開度に対応する前記空気量を算出し且つ同算出した空気量を前記機関の制御に使用する（図２（Ａ）の太線Ｌａｍ及び図３（Ａ）の太線Ｌｂｍ）、
内燃機関の制御装置であって、
前記学習スロットル開度のうち前記決定された無負荷アイドル開度よりも小さい範囲内の最大の開度に対応する前記学習値である小開度側学習値が、前記学習スロットル開度のうち同無負荷アイドル開度よりも大きい範囲内の最小の開度に対応する前記学習値である大開度側学習値よりも大きい場合（図２（Ｂ）及び図３（Ｂ）並びに図４のステップ４２０）、同小開度側学習値を同大開度側学習値に応じた値に設定する（図２（Ｂ）の点Ｐａｒ１、及び、図３（Ｂ）の点Ｐｂｒ１及び点Ｐｂｒ２、並びに、図４のステップ４２５）。
【００６２】
第１装置によれば、スロットル弁１２及び吸気管１１内壁へのデポジット付着が発生したとき、スロットル開度ＴＡが無負荷アイドル開度ＴＡｍ近傍又はそれよりもスロットル開度ＴＡが少し大きい場合であっても、そのスロットル開度ＴＡに対応するスロットル通過空気量ｍｔをより正確に算出することが可能となる。そのため、第１装置は、このような場合であっても空燃比を目標値近傍に維持することが可能となり、燃料消費率の低下及び排気エミッションの悪化等を回避し得る。
【００６３】
＜第２実施形態＞
次に、本発明の第２実施形態に係る内燃機関の制御装置（以下、「第２装置」とも称呼される。）について説明する。第１装置は、学習値の補正を行うとき、無負荷アイドル開度ＴＡｍよりも「大開度側の学習値（流量損失率ＬＲｒ）」を小開度側の学習値に反映させていた。これに対し、第２装置は、学習値の補正を行うとき、「大開度側の学習スロットル開度に対応するスロットル通過空気量ｍｔと初期流入空気量ｍｔｉとの差」を小開度側の学習値に反映させる点のみにおいて第１装置と相違する。以下、この相違点を中心に説明する。
【００６４】
第２装置に係るＥＣＵ４１が実行する「補正制御」について、デポジット付着によってスロットル開度ＴＡとスロットル通過空気量ｍｔとの関係が、図５（Ａ）の曲線Ｌａに示されるようになったと仮定して説明する。
【００６５】
ＥＣＵ４１は、算出されるスロットル通過空気量ｍｔに上記の誤差が発生していると判定したとき（即ち、ＬＲｌ＞ＬＲｒであるとき）、「補正制御」を実行する。より具体的には、ＥＣＵ４１は、「その学習スロットル開度に対応する初期流入空気量ｍｔｉ」と「無負荷アイドル開度ＴＡｍよりも大開度側の領域にあって最小の学習スロットル開度に対応するスロットル通過空気量ｍｔ」との差（減少量）を算出する。本例では、ＥＣＵ４１は、「無負荷アイドル開度ＴＡｍａよりも大開度側の領域にあって最小の学習スロットル開度であるＴＡ２に対応する初期流入空気量であるＰｉ２」から「学習スロットル開度ＴＡ２に対応するスロットル通過空気量であるＰａ２」を引いた差分Δｍｔを算出する。
【００６６】
次にＥＣＵ４１は、無負荷アイドル開度ＴＡｍよりも小開度側の学習値を、それら学習値に対応する初期流入空気量ｍｔｉとスロットル通過空気量ｍｔとの差分がΔｍｔと等しくなるように補正する。本例では、ＥＣＵ４１は、無負荷アイドル開度ＴＡｍよりも小開度側にある学習スロットル開度ＴＡ１に対応する初期流入空気量Ｐｉ１（点Ｐｉ１は学習不可領域にあるので、初期流入空気量のまま更新されていない。）からΔｍｔを引いて得られる点Ｐｃ１（スロットル通過空気量）を算出する。次に、ＥＣＵ４０は、Ｐｉ１に対するＰｃ１の比である流量損失率ＬＲ（点Ｐｃｒ１）を算出し、その値を補正後の学習値としてバックアップＲＡＭ４５に記憶する。
【００６７】
この結果、ＥＣＵ４１は、補正された学習値である点Ｐｃｒ１及び（通常の学習処理によって更新された）学習値である点Ｐａｒ２乃至点Ｐａｒ４を結んで得られる（即ち、これらの学習値を線形補間して得られる）太線Ｌｃｍｒに基づいて、スロットル開度ＴＡに対応する流量損失率ＬＲを算出する。換言すれば、ＥＣＵ４１が算出するスロットル開度ＴＡに対応するスロットル通過空気量ｍｔは、図５（Ａ）の点Ｐｃ１及び点Ｐａ２乃至点Ｐａ４を結んで得られる太線Ｌｃｍによって示される。
【００６８】
次に、ＥＣＵ４１のＣＰＵ４２（以下、単に「ＣＰＵ」とも称呼される。）が実行する「補正制御」について図６のフローチャートを参照しながら説明する。図６のフローチャートのステップであって図４に示したステップと同様の処理が実行されるステップには、図４と同一のステップ符号が付されている。ＣＰＵは、所定の時間が経過する毎にステップ６００から処理を開始し、ステップ４０５乃至ステップ４１５の処理を行ってステップ４２０へと進む。
【００６９】
小開度側の学習値に対応する流量損失率ＬＲｌが、大開度側の学習値に対応する流量損失率ＬＲｒよりも大きい場合、ステップ４２０にてＣＰＵは「Ｙｅｓ」と判定してステップ６２５に進む。一方、本条件が成立しない場合、ステップ４２０にてＣＰＵは「Ｎｏ」と判定してステップ６９５に進んで本ルーチンを一旦終了する。
【００７０】
ステップ６２５にてＣＰＵは、「無負荷アイドル開度ＴＡｍよりも大開度側の範囲において最小の学習スロットル開度ＴＡに対応する初期流入空気量ｍｔｉ」と「同一のスロットル開度ＴＡに対応する学習値に基づいて算出されるスロットル通過空気量ｍｔ」との差であるΔｍｔを算出する。
【００７１】
次にＣＰＵはステップ６３０に進み、無負荷アイドル開度ＴＡｍよりも小開度側の学習スロットル開度に対応する学習値を補正する。より具体的には、ＣＰＵは、「それらの学習値に対応する初期流入空気量ｍｔｉ」と「それらのスロットル開度ＴＡに対応するスロットル通過空気量ｍｔ」との差分がΔｍｔと等しくなるように流量損失率ＬＲを算出する（即ち、ＬＲ＝（ｍｔｉ−Δｍｔ）／ｍｔｉ）。次にＣＰＵは、ステップ６９５に進んで本ルーチンを一旦終了する。
【００７２】
以上説明したように、第２装置によれば、スロットル弁１２及び吸気管１１内壁へのデポジット付着が発生したとき、スロットル開度ＴＡが無負荷アイドル状態の開度ＴＡｍ近傍又はそれよりも開度が少し大きい場合であっても、スロットル開度ＴＡに対応するスロットル通過空気量ｍｔをより正確に算出することが可能となる。そのため、第２装置は、このような場合であっても空燃比を目標値近傍に維持することが可能となり、燃料消費率の低下及び排気エミッションの悪化等を回避し得る。
【００７３】
以上、本発明に係る制御装置の各実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。例えば、各実施形態では、車両は駆動のために機関１０を搭載していた。しかし、この車両は駆動のために更に電動機を搭載しても良い。即ち、この車両はハイブリッドカーであっても良い。
【００７４】
加えて、各実施形態に係るＥＣＵは、無負荷アイドル開度ＴＡｍを、対応するスロットル開度ＴＡが連続する２つの学習値を結んで得られる線分の傾きに基づいて算出していた。しかし、各ＥＣＵは、他の方法によって無負荷アイドル開度ＴＡｍを算出しても良い。例えば、各ＥＣＵは、「スロットル開度ＴＡ（ｘ軸）に対するスロットル通過空気量ｍｔ（ｙ軸）を表すグラフ上に、複数の学習値に対応する点をプロットし、それらを結ぶことによって得られるスプライン曲線」と「最低流入空気量ｍｔｍを表すｘ軸に平行な直線」と、の交点に対応するスロットル開度ＴＡをＴＡｍとして算出してもよい。或いは、各ＥＣＵは、各学習値の最終更新時刻に基づいて、「所定の期間よりも長い間更新されていない学習値に対応する学習スロットル開度」と「更新されている学習値に対応する学習スロットル開度」との間にあるスロットル開度を無負荷アイドル開度ＴＡｍと決定しても良い。或いは、各ＥＣＵは、デポジット付着の程度に対応する流量特性値と無負荷アイドル開度との組み合わせを予想パターンとして予めＲＯＭ４３に複数記憶しておき、実際の学習値からその時点ではどのパターンに最も類似するのかを選択し、そのパターンに対応する無負荷アイドル開度をＴＡｍとして決定しても良い。
【００７５】
或いは、各実施形態に係るＥＣＵは、連続する２つの学習スロットル開度に対応する学習値の線形補間によって実際のスロットル開度ＴＡに対応する流量損失率ＬＲを算出していた。しかし、各ＥＣＵは、他の方法によって流量損失率ＬＲを算出しても良い。例えば、各ＥＣＵは、「３つ以上の連続する学習スロットル開度と、その学習スロットル開度に対応する学習値をグラフ上の点としてプロットし、それらの点を結ぶことによって得られるスプライン曲線」に対応する値として流量損失率ＬＲを算出しても良い。
【００７６】
或いは、各実施形態に係るＥＣＵは、各開度領域に含まれる固定された学習スロットル開度毎に学習値を記憶していた。しかし、各ＥＣＵは、各開度領域内で変動する学習スロットル開度毎に学習値を記憶しても良い。
【００７７】
或いは、各実施形態に係るＥＣＵは、学習値を補正するとき無負荷アイドル開度ＴＡｍよりも小開度側の学習値を全て補正していた。しかし、各ＥＣＵは、無負荷アイドル開度ＴＡｍよりも１つ小開度側の学習値（即ち、スロットル開度ＴＡｍよりもスロットル開度が小さい範囲において最大のスロットル開度に対応する学習値）のみを補正しても良い。
【符号の説明】
【００７８】
１０…内燃機関、１１…吸気管、１２…スロットル弁、２１…燃焼室、３１…排気管、４０…ＥＣＵ、５１…空気量センサ。
【図１】
0005999070.tif 000002
【図２】
0005999070.tif 000003
【図３】
0005999070.tif 000004
【図４】
0005999070.tif 000005
【図５】
0005999070.tif 000006
【図６】
0005999070.tif 000007