(57)【要約】本発明は、燃料供給手段（２１）と空気供給手段（３０）とを具備し、供給燃料量と供給空気量とを制御することによって空燃比を制御する内燃機関の制御装置に関する。本発明では、供給燃料量補正値または供給空気量補正値を設定するために利用される学習値（ＫＧ）が目標空燃比（Ａ／Ｆｅｓｔ）に対する実際の空燃比のずれ（ΔＡ／Ｆ）に基づいて空燃比のずれが小さくなるような値として算出される。そして、学習値を利用して供給燃料量補正値または供給空気量補正値が設定される。供給燃料量補正値または供給空気量補正値の設定の直前に学習値が算出され、算出された学習値を利用して供給燃料量補正値または供給空気量補正値が設定される。
2012086025.tif 000002
【特許請求の範囲】
【請求項１】
燃焼室に燃料を供給する燃料供給手段と、燃焼室に空気を供給する空気供給手段と、を具備し、燃焼室に供給される燃料の量である供給燃料量と、燃焼室に供給される空気の量である供給空気量とを制御することによって燃焼室に形成される空気と燃料との混合気の空燃比を制御する内燃機関の制御装置であって、供給燃料量を補正する補正値である供給燃料量補正値または供給空気量を補正する補正値である供給空気量補正値を設定するために利用される学習値が目標空燃比に対する実際の空燃比のずれに基づいて該空燃比のずれが小さくなるような値として算出され、該学習値を利用して供給燃料量補正値または供給空気量補正値が設定される制御装置において、
供給燃料量補正値または供給空気量補正値の設定の直前に前記学習値が算出され、該算出された学習値を利用して供給燃料量補正値または供給空気量補正値が設定される内燃機関の制御装置。
【請求項２】
前記学習値を利用して供給燃料量補正値が設定される場合、供給燃料量補正値の設定を実行する決定がなされたことを契機として前記学習値の算出が実行され、該学習値の算出の完了後に前記決定に従って供給燃料量補正値の設定が実行され、前記学習値を利用して供給空気量補正値が設定される場合、供給空気量補正値の設定を実行する決定がなされたことを契機として前記学習値の算出が実行され、該学習値の算出の完了後に前記決定に従って供給空気量補正値の設定が実行される請求項１に記載の内燃機関の制御装置。
【請求項３】
予め定められた時間間隔を開けたタイミング毎に前記学習値の算出が実行され、
前記学習値を利用して供給燃料量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給燃料量補正値の設定が実行されるようになっており、供給燃料量補正値の設定の実行タイミングと同実行タイミングの直後の学習値の算出の実行タイミングとの間の時間よりも、供給燃料量補正値の設定の実行タイミングと同実行タイミングの直前の学習値の算出の実行タイミングとの間の時間の方が短くなるように、前記供給燃料量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されており、
前記学習値を利用して供給空気量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給空気量補正値の設定が実行されるようになっており、供給空気量補正値の設定の実行タイミングと同実行タイミングの直後の学習値の算出の実行タイミングとの間の時間よりも、供給空気量補正値の設定の実行タイミングと同事項タイミングの直前の学習値の算出の実行タイミングとの間の時間の方が短くなるように、前記供給空気量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されている請求項１に記載の内燃機関の制御装置。
【請求項４】
前記学習値に関する上限値または下限値が設定され、算出された学習値が前記上限値よりも大きいときには同学習値が前記上限値とされ或いは算出された学習値が前記下限値よりも小さいときには同学習値が前記下限値とされ、供給燃料量の推定値である推定供給燃料量に対する実際の供給燃料量のずれ量である供給燃料量ずれ量が予め定められた供給燃料量ずれ量であるときに算出されると推定される学習値が前記上限値または下限値として設定される請求項１〜３のいずれか１つに記載の内燃機関の制御装置。
【請求項５】
前記予め定められた供給燃料量ずれ量が供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方に基づいて決定される請求項４に記載の内燃機関の制御装置。
【請求項６】
前記予め定められた供給燃料量ずれ量が想定される供給燃料量ずれ量の最大値または最小値である請求項４または５に記載の内燃機関の制御装置。
【請求項７】
前記学習値に関する上限値または下限値が設定され、算出された学習値が前記上限値よりも大きいときには同学習値が前記上限値とされ或いは算出された学習値が前記下限値よりも小さいときには同学習値が前記下限値とされ、実際の供給空気量に対する供給空気量の推定値である推定供給空気量のずれ量である供給空気量ずれ量が予め定められた供給空気量ずれ量であるときに算出されると推定される学習値が前記上限値または下限値として設定される請求項１〜３のいずれか１つに記載の内燃機関の制御装置。
【請求項８】
前記予め定められた供給空気量ずれ量が供給空気量に基づいて決定される請求項７に記載の内燃機関の制御装置。
【請求項９】
前記予め定められた供給空気量ずれ量が想定される供給空気量ずれ量の最大値または最小値である請求項７または８に記載の内燃機関の制御装置。
【請求項１０】
前記供給燃料量補正値が供給燃料量の推定値である推定供給燃料量に対する実際の供給燃料量のずれを小さくするための補正値である請求項１〜９のいずれか１つに記載の内燃機関の制御装置。
【請求項１１】
前記供給空気量補正値が実際の供給空気量に対する供給空気量の推定値である推定供給空気量のずれを小さくするための補正値である請求項１〜１０のいずれか１つに記載の内燃機関の制御装置。
【請求項１２】
燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置において、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リーン方向学習値として求められ、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リッチ方向学習値として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リーン方向学習値として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リッチ方向学習値として求められ、
前記供給燃料量ずれに起因する最大リーン方向学習値と前記供給空気量ずれに起因する最大リーン方向学習値とのうち大きい方の最大リーン方向学習値が上限リーン方向学習値に設定され、
前記供給燃料量ずれに起因する最大リッチ方向学習値と前記供給空気量ずれに起因する最大リッチ方向学習値とのうち大きい方の最大リッチ方向学習値が上限リッチ方向学習値に設定され、
前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される内燃機関の制御装置。
【請求項１３】
前記供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方によって定まる値である請求項１２に記載の内燃機関の制御装置。
【請求項１４】
前記供給空気量ずれに起因する最大リッチ方向学習値および最大リーン方向学習値が推定供給空気量によって定まる値である請求項１２または１３に記載の内燃機関の制御装置。
【請求項１５】
燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置において、
実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が上限リーン方向学習値に設定され、
実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が上限リッチ方向学習値に設定され、
前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される内燃機関の制御装置。
【請求項１６】
前記上限リッチ方向学習値および上限リーン方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方と推定供給空気量とによって定まる値である請求項１５に記載の内燃機関の制御装置。
【請求項１７】
燃焼室から排気通路に排出された排気ガスを吸気通路に導入する排気再循環手段をさらに具備し、前記補正値算出手段によって算出される補正値が前記排気再循環手段によって吸気通路に導入される排気ガスの量である再循環排気ガス量を補正する補正値である請求項１２〜１６のいずれか１つに記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関の空燃比制御装置が特許文献１に開示されている。この空燃比制御装置は、内燃機関の燃焼室内に形成される空気と燃料との混合気の空燃比を制御する。より具体的には、特許文献１の内燃機関は、吸気管を流れる空気の量を検出するための吸入空気量センサ（すなわち、エアフローメータ）と、吸気ポートに燃料を噴射するためのインジェクタ（すなわち、燃料噴射弁）とを有する。そして、特許文献１の空燃比制御装置は、吸入空気量センサによって検出される吸入空気量（すなわち、内燃機関の燃焼室に吸入される空気の量）を用いて目標空燃比（すなわち、目標とする混合気の空燃比）を達成するためにインジェクタから噴射させるべき燃料の量（以下この量を「目標燃料噴射量」という）を算出する。斯くして算出される目標燃料噴射量の燃料をインジェクタから噴射することによって目標空燃比を達成することができる。【０００３】
ところで、吸入空気量センサによって検出される吸入空気量（以下この吸入空気量を「検出吸入空気量」という）が実際の吸入空気量からずれていると、検出吸入空気量を用いて算出される目標燃料噴射量が目標空燃比を達成する燃料噴射量からずれたものになってしまう。したがって、この場合、算出された目標燃料噴射量の燃料がインジェクタから噴射されると、目標空燃比が達成されないことになる。また、目標燃料噴射量の燃料をインジェクタに噴射させるための指令値がインジェクタに与えられたときにインジェクタから実際に噴射される燃料の量が目標燃料噴射量からずれていると、目標空燃比が達成されないことになる。【０００４】
つまり、検出吸入空気量が実際の吸入空気量からずれている吸入空気量ずれが生じていたり、実際の燃料噴射量が目標燃料噴射量からずれている燃料噴射量ずれが生じていたりする場合、目標空燃比が達成されないことになる。そこで、特許文献１の空燃比制御装置は、吸入空気量ずれや燃料噴射量ずれが生じている場合であっても、以下のようにして目標空燃比を達成するようにしている。【０００５】
すなわち、特許文献１の内燃機関は、燃焼室から排出された排気ガス中の酸素濃度を検出するＯ２センサ（すなわち、酸素濃度センサ）を排気管に有する。そして、特許文献１の空燃比制御装置では、このＯ２センサによって検出される酸素濃度を用いて混合気の空燃比が算出され、この算出された空燃比と目標空燃比との偏差（以下この偏差を「空燃比偏差」という）が算出される。そして、機関回転数（すなわち、内燃機関の回転数）が比較的大きく且つ機関負荷（すなわち、内燃機関の負荷）が比較的大きい状態に機関運転状態（すなわち、内燃機関の運転状態）があるときには、算出された空燃比偏差が零になる或いは小さくなるように検出吸入空気量を補正するための補正値（以下この補正値を「検出吸入空気量補正値」という）が算出され、新たな検出吸入空気量補正値として記憶される。すなわち、既に記憶されている検出吸入空気量補正値が更新される。一方、機関回転数が比較的小さいか或いは機関負荷が比較的小さい状態に機関運転状態があるときには、算出された空燃比偏差が零になる或いは小さくなるように目標燃料噴射量を補正するための補正値（以下この補正値を「目標燃料噴射量補正値」という）が算出され、新たな目標燃料噴射量補正値として記憶される。すなわち、既に記憶されている目標燃料噴射量補正値が更新される。【０００６】
そして、検出吸入空気量を用いて目標燃料噴射量が算出されるときには上記検出吸入空気量補正値によって補正された検出吸入空気量を用いて目標燃料噴射量が算出され、この算出された目標燃料噴射量が上記目標燃料噴射量補正値によって補正され、この補正された目標燃料噴射量が最終的な目標燃料噴射量とされる。斯くして、特許文献１の空燃比制御装置は、吸入空気量ずれや燃料噴射量ずれが生じている場合であっても、目標空燃比を達成するようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平２−１９１８５０号公報
【特許文献２】特開２００５−２３９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上述したように、特許文献１の空燃比制御装置では、機関回転数が比較的大きく且つ機関負荷が比較的大きい状態に機関運転状態があるときには検出吸入空気量補正値のみが更新され、その他の状態に機関運転状態があるときには目標燃料噴射量補正値のみが更新される。一方、特許文献１の空燃比制御装置では、最終的な目標燃料噴射量を決定するときには常に検出吸入空気量補正値と目標燃料噴射量補正値との両方が利用される。したがって、最終的な目標燃料噴射量を決定するために検出吸入空気量補正値を利用しようとしたときに機関運転状態によっては当該検出吸入空気量補正値が直前に更新されたものではないことがあり、同様に、最終的な目標燃料噴射量を決定するために目標燃料噴射量補正値を利用しようとしたときに機関運転状態によっては当該目標燃料噴射量補正値が直前に更新されたものではないこともある。つまり、最終的な目標燃料噴射量を決定するために検出吸入空気量補正値および目標燃料噴射量補正値を利用しようとしたときには、これら補正値のうちの一方は直前に更新されたものではないことになる。【０００９】
そして、当然のことながら、空燃比を目標空燃比に正確に制御するという観点からは直前に更新された検出吸入空気量補正値が最終的な目標燃料噴射量の決定に利用されるべきであるにも係わらず、検出吸入空気量補正値が直前に更新されたものではない場合、空燃比が目標空燃比に正確に制御されないことになるし、同様に、空燃比を目標空燃比に正確に制御するという観点からは直前に更新された目標吸入空気量補正値が最終的な目標燃料噴射量の決定に利用されるべきであるにも係わらず、目標燃料噴射量補正値が直前に更新されたものではない場合にも、空燃比が目標空燃比に正確に制御されない。【００１０】
そこで、本発明の目的は、吸入空気量に関する補正値または燃料噴射量に関する補正値を利用して空燃比を制御する場合において空燃比を目標空燃比に正確に制御することにある。
【課題を解決するための手段】
【００１１】
本願の発明は、燃焼室に燃料を供給する燃料供給手段と、燃焼室に空気を供給する空気供給手段と、を具備し、燃焼室に供給される燃料の量である供給燃料量と、燃焼室に供給される空気の量である供給空気量とを制御することによって燃焼室に形成される空気と燃料との混合気の空燃比を制御する内燃機関の制御装置に関する。【００１２】
そして、この発明では、供給燃料量を補正する補正値である供給燃料量補正値または供給空気量を補正する補正値である供給空気量補正値を設定するために利用される学習値が目標空燃比に対する実際の空燃比のずれに基づいて該空燃比のずれが小さくなるような値として算出され、該学習値を利用して供給燃料量補正値または供給空気量補正値が設定される。【００１３】
そして、この発明では、供給燃料量補正値または供給空気量補正値の設定の直前に前記学習値が算出され、該算出された学習値を利用して供給燃料量補正値または供給空気量補正値が設定される。【００１４】
これによれば、供給燃料量補正値または供給空気量補正値が設定され、この設定された供給燃料量補正値または供給空気量補正値によって供給燃料量または供給空気量が補正される前に、学習値が新たに算出される。すなわち、学習値が最新の学習値に更新される。そして、この学習値は、供給燃料量補正値または供給空気量補正値の設定に利用されるものである。したがって、供給燃料量補正値または供給空気量補正値の設定には最新の学習値が利用されることになる。さらに、供給燃料量補正値または供給空気量補正値の設定の直前に最新の学習値が算出されるのであるから、供給燃料量補正値または供給空気量補正値の設定にはその時の最適な学習値が利用されることになる。このため、供給燃料量または供給空気量が不適切に補正されることが回避されることから、空燃比が目標空燃比に正確に制御されることになる。【００１５】
なお、上記発明において、前記学習値を利用して供給燃料量補正値が設定される場合、好ましくは、供給燃料量補正値の設定を実行する決定がなされたことを契機として前記学習値の算出が実行され、該学習値の算出の完了後に前記決定に従って供給燃料量補正値の設定が実行される。また、上記発明において、前記学習値を利用して供給空気量補正値が設定される場合、好ましくは、供給空気量補正値の設定を実行する決定がなされたことを契機として前記学習値の算出が実行され、該学習値の算出の完了後に前記決定に従って供給空気量補正値の設定が実行される。【００１６】
また、上記発明において、好ましくは、予め定められた時間間隔を開けたタイミング毎に前記学習値の算出が実行される。【００１７】
そして、前記学習値を利用して供給燃料量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給燃料量補正値の設定が実行されるようになっている。そして、この場合、供給燃料量補正値の設定の実行タイミングと同実行タイミングの直後の学習値の算出の実行タイミングとの間の時間よりも、供給燃料量補正値の設定の実行タイミングと同実行タイミングの直前の学習値の算出の実行タイミングとの間の時間の方が短くなるように、前記供給燃料量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されている。【００１８】
また、前記学習値を利用して供給空気量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給空気量補正値の設定が実行されるようになっている。そして、この場合、供給空気量補正値の設定の実行タイミングと同実行タイミングの直後の学習値の算出の実行タイミングとの間の時間よりも、供給空気量補正値の設定の実行タイミングと同事項タイミングの直前の学習値の算出の実行タイミングとの間の時間の方が短くなるように、前記供給空気量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されている。【００１９】
また、上記発明において、好ましくは、前記学習値に関する上限値または下限値が設定される。そして、この場合、算出された学習値が前記上限値よりも大きいときには同学習値が前記上限値とされ或いは算出された学習値が前記下限値よりも小さいときには同学習値が前記下限値とされる。ここで、供給燃料量の推定値である推定供給燃料量に対する実際の供給燃料量のずれ量である供給燃料量ずれ量が予め定められた供給燃料量ずれ量であるときに算出されると推定される学習値が前記上限値または下限値として設定される。【００２０】
これによれば、学習値に関する上限値または下限値が設定されている場合において、供給燃料量補正値または供給空気量補正値の設定の直前に算出された学習値が同設定に利用される前に、学習値が上限値よりも大きいときには学習値が上限値に制限され、或いは、学習値が下限値よりも小さいときには学習値が下限値に制限される。このため、供給燃料量補正値または供給空気量補正値の設定に上限値よりも大きい学習値または下限値よりも小さい学習値が利用されてしまうことが回避される。【００２１】
また、上記発明において、好ましくは、前記予め定められた供給燃料量ずれ量が供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方に基づいて決定される。【００２２】
これによれば、内燃機関に求められる要件（例えば、排気エミッションの低減、燃費の向上、燃焼室における失火の回避など）が確実に達成されるように学習値を制限するという観点から、より適切な上限値または下限値が設定される。すなわち、供給燃料量ずれは、供給燃料量や燃料供給手段から燃料が供給されるときの燃料の圧力の影響を大きく受ける。そして、上記予め定められた供給燃料量ずれ量は上限値または下限値の設定に利用される。一方、供給燃料量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給燃料量または上記燃料の圧力の少なくとも一方に基づいて上記予め定められた供給燃料量ずれ量が決定されれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限値または下限値が設定されることになるのである。【００２３】
また、上記発明において、好ましくは、前記予め定められた供給燃料量ずれ量が想定される供給燃料量ずれ量の最大値または最小値である。【００２４】
これによれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限値または下限値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に供給燃料量または供給空気量を補正することが好ましい。一方、内燃機関における各種制御は、実際の供給燃料量が推定供給燃料量に対して正の方向にずれたときに供給燃料量ずれ量が最も大きくなると想定される場合（つまり、供給燃料量ずれ量が想定される最大値である場合）、および、実際の供給燃料量が推定供給燃料量に対して負の方向にずれたときに供給燃料量ずれ量が最も大きくなると想定される場合（つまり、供給燃料量ずれ量が想定される最小値である場合）においても、内燃機関に求められる要件が達成されるように構築される。つまり、想定される供給燃料量ずれ量の最大値または最小値を上記予め定められた供給燃料量ずれ量として利用して設定される上限値または下限値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ供給燃料量または供給空気量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限値または下限値が設定されることになるのである。【００２５】
また、上記発明において、好ましくは、前記学習値に関する上限値または下限値が設定される。そして、この場合、算出された学習値が前記上限値よりも大きいときには同学習値が前記上限値とされ或いは算出された学習値が前記下限値よりも小さいときには同学習値が前記下限値とされる。ここで、実際の供給空気量に対する供給空気量の推定値である推定供給空気量のずれ量である供給空気量ずれ量が予め定められた供給空気量ずれ量であるときに算出されると推定される学習値が前記上限値または下限値として設定される。【００２６】
これによれば、学習値に関する上限値または下限値が設定されている場合において、供給燃料量補正値または供給空気量補正値の設定の直前に算出された学習値が同設定に利用される前に、学習値が上限値よりも大きいときには学習値が上限値に制限され、或いは、学習値が下限値よりも小さいときには学習値が下限値に制限される。このため、供給燃料量補正値または供給空気量補正値の設定に上限値よりも大きい学習値または下限値よりも小さい学習値が利用されてしまうことが回避される。【００２７】
また、上記発明において、好ましくは、前記予め定められた供給空気量ずれ量が供給空気量に基づいて決定される。【００２８】
これによれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限値または下限値が設定される。すなわち、供給空気量ずれは、供給空気量の影響を大きく受ける。そして、上記予め定められた供給空気量ずれ量は上限値または下限値の設定に利用される。一方、供給空気量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給空気量に基づいて上記予め定められた供給空気量ずれ量が決定されれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限値または下限値が設定されることになるのである。【００２９】
また、上記発明において、好ましくは、前記予め定められた供給空気量ずれ量が想定される供給空気量ずれ量の最大値または最小値である。【００３０】
これによれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限値または下限値が設定されることになる。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に供給燃料量または供給空気量を補正することが好ましい。一方、内燃機関における各種制御は、推定供給空気量が実際の供給空気量に対して正の方向にずれたときに供給空気量ずれ量が最も大きくなると想定される場合（つまり、供給空気量ずれ量が想定される最大値である場合）、および、推定供給空気量が実際の供給空気量に対して負の方向にずれたときに供給空気量ずれ量が最も大きくなると想定される場合（つまり、供給空気量ずれ量が想定される最小値である場合）においても、内燃機関に求められる要件が達成されるように構築される。つまり、想定される供給空気量ずれ量の最大値または最小値を上記予め定められた供給空気量ずれ量として利用して設定される上限値または下限値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ供給燃料量または供給空気量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限値または下限値が設定されることになるのである。【００３１】
また、上記発明において、好ましくは、前記供給燃料量補正値が供給燃料量の推定値である推定供給燃料量に対する実際の供給燃料量のずれを小さくするための補正値である。【００３２】
また、上記発明において、好ましくは、前記供給空気量補正値が実際の供給空気量に対する供給空気量の推定値である推定供給空気量のずれを小さくするための補正値である。【００３３】
また、本願の別の発明は、燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置に関する。【００３４】
そして、この発明では、推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リーン方向学習値として求められる。【００３５】
さらに、この発明では、推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リッチ方向学習値として求められる。【００３６】
さらに、この発明では、推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リーン方向学習値として求められる。【００３７】
さらに、この発明では、推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リッチ方向学習値として求められる。【００３８】
そして、この発明では、前記供給燃料量ずれに起因する最大リーン方向学習値と前記供給空気量ずれに起因する最大リーン方向学習値とのうち大きい方の最大リーン方向学習値が上限リーン方向学習値に設定される。【００３９】
さらに、この発明では、前記供給燃料量ずれに起因する最大リッチ方向学習値と前記供給空気量ずれに起因する最大リッチ方向学習値とのうち大きい方の最大リッチ方向学習値が上限リッチ方向学習値に設定される。【００４０】
そして、この発明では、前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限される。【００４１】
一方、この発明では、前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される。【００４２】
これによれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限リーン方向学習値および上限リッチ方向学習値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に供給燃料量または供給空気量を補正することが好ましい。一方、内燃機関における各種制御は、実際の供給燃料量が推定供給燃料量に対して正の方向にずれたときに供給燃料量ずれ量が最も大きくなると想定される場合、および、実際の供給燃料量が推定供給燃料量に対して負の方向にずれたときに供給燃料量ずれ量が最も大きくなると想定される場合においても、内燃機関に求められる要件が達成されるように構築される。つまり、供給燃料量ずれが想定される範囲内で最も大きい場合の学習値（つまり、供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値）と供給空気量ずれが想定される範囲内で最も大きい場合の学習値（つまり、供給空気量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値）とが比較され、これら学習値のうち大きい方の学習値が上限リーン方向学習値または上限リッチ方向学習値に設定され、これら上限リーン方向学習値または上限リッチ方向学習値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ供給燃料量または供給空気量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。【００４３】
なお、上記発明において、好ましくは、前記供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方によって定まる値である。【００４４】
これによれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定される。すなわち、供給燃料量ずれは、供給燃料量や燃料供給手段から燃料が供給されるときの燃料の圧力の影響を大きく受ける。そして、供給燃料ずれに起因する最大リーン方向学習値および最大リッチ方向学習値はそれぞれ上限リーン方向学習値および上限リッチ方向学習値の設定に利用される。一方、供給燃料量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給燃料量または上記燃料の圧力の少なくとも一方に基づいて供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が定められれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。【００４５】
また、上記発明において、好ましくは、前記供給空気量ずれに起因する最大リッチ方向学習値および最大リーン方向学習値が推定供給空気量によって定まる値である。【００４６】
これによれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定される。すなわち、供給空気量ずれは、吸入空気量の影響を大きく受ける。そして、供給空気量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値はそれぞれ上限リーン方向学習値および上限リッチ方向学習値の設定に利用される。一方、供給空気量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給空気量に基づいて供給空気量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が定められれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。【００４７】
また、本願の別の発明は、燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置に関する。【００４８】
そして、この発明では、実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が上限リーン方向学習値に設定される。【００４９】
さらに、この発明では、実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が上限リッチ方向学習値に設定される。【００５０】
そして、この発明では、前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限される。【００５１】
一方、この発明では、前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される。【００５２】
これによれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限リーン方向学習値および上限リッチ方向学習値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に供給燃料量または供給空気量を補正することが好ましい。一方、内燃機関における各種制御は、実際の供給燃料量が推定供給燃料量に対して正の方向にずれたときに供給燃料量ずれ量が最も大きくなり且つ推定供給空気量が実際の供給空気量に対して正の方向にずれたときに供給空気量ずれ量が最も大きくなると想定される場合、および、実際の供給燃料量が推定供給燃料量に対して負の方向にずれたときに供給燃料量ずれ量が最も大きくなり且つ推定供給空気量が実際の供給空気量に対して負の方向にずれたときに供給空気量ずれ量が最も大きくなると想定される場合においても、内燃機関に求められる要件が達成されるように構築される。つまり、供給燃料量ずれが想定される範囲内で最も大きく且つ供給空気量ずれが想定される範囲内で最も大きい場合の学習値が上限リーン方向学習値または上限リッチ方向学習値に設定され、これら上限リーン方向学習値または上限リッチ方向学習値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ供給燃料量または供給空気量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。【００５３】
なお、上記発明において、好ましくは、前記上限リッチ方向学習値および上限リーン方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方と推定供給空気量とによって定まる値である。【００５４】
これによれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定される。すなわち、供給燃料量ずれは、供給燃料量や燃料供給手段から燃料が供給されるときの燃料の圧力の影響を大きく受ける。また、供給空気量ずれは、吸入空気量の影響を大きく受ける。一方、供給燃料量ずれや供給空気量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給燃料量または上記燃料の圧力の少なくとも一方と推定供給空気量とに基づいて上限リーン方向学習値および上限リッチ方向学習値が定められれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。【００５５】
また、上記発明において、好ましくは、燃焼室から排気通路に排出された排気ガスを吸気通路に導入する排気再循環手段をさらに具備する。そして、前記補正値算出手段によって算出される補正値が前記排気再循環手段によって吸気通路に導入される排気ガスの量である再循環排気ガス量を補正する補正値である。
【図面の簡単な説明】
【００５６】
【図１】本発明の第１実施形態の制御装置が適用された内燃機関の全体図である。
【図２】（Ａ）は第１実施形態においてアクセルペダル開度Ｄａｃに基づいて目標燃料噴射量ＴＱを取得するために利用されるマップを示した図であり、（Ｂ）は第１実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標スロットル弁開度ＴＤｔｈを取得するために利用されるマップを示した図であり、（Ｃ）は第１実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標ＥＧＲ率ＴＲｅｇｒを取得するために利用されるマップを示した図である。
【図３】第１実施形態において燃料噴射量ＴＱと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図４】（Ａ）は第１実施形態において燃料噴射量Ｑと燃圧Ｐｆとに基づいて燃料噴射量ずれに起因する最大学習値ＭａｘＦを取得するために利用されるマップを示した図であり、（Ｂ）は第１実施形態において燃料噴射量Ｑと燃圧Ｐｆとに基づいて燃料噴射量ずれに起因する最小学習値ＭｉｎＦを取得するために利用されるマップを示した図であり、（Ｃ）は第１実施形態において吸入空気量Ｇａに基づいて吸入空気量ずれに起因する最大学習値ＭａｘＡを取得するために利用されるマップを示した図であり、（Ｄ）は第１実施形態において吸入空気量Ｇａに基づいて吸入空気量ずれに起因する最小学習値ＭｉｎＡを取得するために利用されるマップを示した図である。
【図５】第１実施形態の燃料噴射弁の制御を実行するルーチンを示したフローチャートである。
【図６】第１実施形態のスロットル弁の制御を実行するルーチンを示したフローチャートである。
【図７】第１実施形態のＥＧＲ制御弁の制御を実行するルーチンを示したフローチャートである。
【図８】第１実施形態の学習値の更新を実行するルーチンを示したフローチャートである。
【図９】（Ａ）は第２実施形態において燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとに基づいて最大学習値Ｍａｘを取得するために利用されるマップを示した図であり、（Ｂ）は第２実施形態において燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとに基づいて最小学習値Ｍｉｎを取得するために利用されるマップを示した図である。
【図１０】第２実施形態の学習値の更新を実行するルーチンを示したフローチャートである。
【図１１】本発明の第３実施形態の制御装置が適用された内燃機関の全体図である。
【図１２】（Ａ）は第３実施形態においてアクセルペダル開度Ｄａｃに基づいて目標燃料噴射量ＴＱを取得するために利用されるマップを示した図であり、（Ｂ）は第３実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標スロットル弁開度ＴＤｔｈを取得するために利用されるマップを示した図であり、
【図１３】第３実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図１４】第３実施形態のスロットル弁の制御を実行するルーチンを示したフローチャートである。
【図１５】本発明の第２実施形態の制御装置が適用された内燃機関の全体図である。
【図１６】図１５に示されている内燃機関の過給機の排気タービンを示した図である。
【図１７】（Ａ）は第４実施形態においてアクセルペダル開度Ｄａｃに基づいて目標燃料噴射量ＴＱを取得するために利用されるマップを示した図であり、（Ｂ）は第４実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標スロットル弁開度ＴＤｔｈを取得するために利用されるマップを示した図であり、（Ｃ）は第４実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標ベーン開度ＴＤｖを取得するために利用されるマップを示した図である。
【図１８】第４実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図１９】第４実施形態のベーンの制御を実行するルーチンを示したフローチャートである。
【図２０】第５実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図２１】第５実施形態の燃料噴射弁の制御を実行するルーチンを示したフローチャートである。
【図２２】第５実施形態のＥＧＲ制御弁の制御を実行するルーチンを示したフローチャートである。
【図２３】第６実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【発明を実施するための形態】
【００５７】
以下、図面を参照して本発明の内燃機関の制御装置の実施形態について説明する。第１実施形態の制御装置が適用された内燃機関が図１に示されている。図１に示されている内燃機関１０は、内燃機関の本体（以下「機関本体」という）２０と、該機関本体の４つの燃焼室にそれぞれ対応して配置された燃料噴射弁２１と、該燃料噴射弁２１に燃料供給管２３を介して燃料を供給する燃料ポンプ２２とを具備する。また、内燃機関１０は、外部から燃焼室に空気を供給する吸気系３０と、燃焼室から排出される排気ガスを外部に排出する排気系４０とを具備する。また、内燃機関１０は、圧縮自着火式の内燃機関（いわゆるディーゼルエンジン）である。
【００５８】
吸気系３０は、吸気枝管３１と吸気管３２とを有する。なお、以下の説明において、吸気系３０を「吸気通路」と称することもある。吸気枝管３１の一方の端部（すなわち、枝部）は、各燃焼室に対応して機関本体２０内に形成された吸気ポート（図示せず）に接続されている。一方、吸気枝管３１の他方の端部は、吸気管３２に接続されている。吸気管３２内には、該吸気管内を流れる空気の量を制御するスロットル弁３３が配置されている。さらに、吸気管３２には、該吸気管内を流れる空気を冷却するインタークーラ３４が配置されている。さらに、吸気管３２の外部を臨む端部には、エアクリーナ３６が配置されている。
【００５９】
なお、スロットル弁３３は、その動作状態（具体的には、その開度であって、以下この開度を「スロットル弁開度」という）が制御されることによって燃焼室に吸入されるガスの量を可変に制御することができる。
【００６０】
一方、排気系４０は、排気枝管４１と排気管４２とを有する。なお、以下の説明において、排気系４０を「排気通路」と称することもある。排気枝管４１の一方の端部（すなわち、枝部）は、各燃焼室に対応して機関本体２０内に形成された排気ポート（図示せず）に接続されている。一方、排気枝管４１の他方の端部は、排気管４２に接続されている。排気管４２には、排気ガス中の特定成分を浄化する排気浄化触媒４３Ａを内蔵した触媒コンバータ４３が配置されている。
【００６１】
また、排気浄化触媒４３Ａよりも上流側の排気管４２には、燃焼室から排出された排気ガス中の酸素濃度に応じた信号を出力する酸素濃度センサ（以下この酸素濃度センサを「上流側酸素濃度センサ」という）７６Ｕが取り付けられている。一方、排気浄化触媒４３Ａよりも下流側の排気管４２には、排気浄化触媒４３Ａから流出する排気ガス中の酸素濃度に応じた信号を出力する酸素濃度センサ（以下この酸素濃度センサを「下流側酸素濃度センサ」という）７６Ｄが取り付けられている。
【００６２】
また、エアクリーナ３６よりも下流であってコンプレッサ３５Ａよりも上流の吸気管３２には、該吸気管内を流れる空気の流量（したがって、燃焼室に吸入される空気の流量であり、以下この流量を「吸入空気量」という）に応じた信号を出力するエアフローメータ７１が取り付けられている。また、吸気枝管３１には、該吸気枝管内のガスの圧力（すなわち、吸気圧）に応じた信号を出力する圧力センサ（以下「吸気圧センサ」という）７２が取り付けられている。また、機関本体２０には、クランクシャフトの回転位相に応じた信号を出力するクランクポジションセンサ７４が取り付けられている。
【００６３】
また、内燃機関１０は、排気再循環装置（以下これを「ＥＧＲ装置」という）５０を具備する。ＥＧＲ装置５０は、排気再循環管（以下これを「ＥＧＲ通路」という）５１を有する。ＥＧＲ通路５１の一端は、排気枝管４１に接続されている。すなわち、ＥＧＲ通路５１の一端は、排気タービン３５Ｂよりも上流の排気通路４０の部分に接続されている。一方、ＥＧＲ通路５１の他端は、吸気枝管３１に接続されている。すなわち、ＥＧＲ通路５１の他端は、コンプレッサ３５Ａよりも下流の吸気通路の部分に接続されている。また、ＥＧＲ通路５１には、該ＥＧＲ通路内を流れる排気ガスの流量を制御する排気再循環制御弁（以下この排気再循環制御弁を「ＥＧＲ制御弁」という）５２が配置されている。内燃機関１０では、ＥＧＲ制御弁５２の開度（以下この開度を「ＥＧＲ制御弁開度」という）が大きいほど、ＥＧＲ通路５１内を流れる排気ガスの流量が多くなる。さらに、ＥＧＲ通路５１には、該ＥＧＲ通路内を流れる排気ガスを冷却する排気再循環クーラ５３が配置されている。
【００６４】
なお、ＥＧＲ装置５０は、ＥＧＲ制御弁５２の動作状態（具体的には、ＥＧＲ制御弁５２の開度であって、以下この開度を「ＥＧＲ制御弁開度」という）を制御することによってＥＧＲ通路５１を介して吸気通路３０に導入される排気ガス（以下この排気ガスを「ＥＧＲガス」という）の量を可変に制御することができる。
【００６５】
また、内燃機関１０は、電子制御装置６０を具備する。電子制御装置６０は、マイクロプロセッサ（ＣＰＵ）６１と、リードオンリメモリ（ＲＯＭ）６２と、ランダムアクセスメモリ（ＲＡＭ）６３と、バックアップＲＡＭ（Ｂａｃｋ  ｕｐ  ＲＡＭ）６４と、インターフェース６５とを有する。インターフェース６５には、燃料噴射弁２１、燃料ポンプ２２、スロットル弁３３、および、ＥＧＲ制御弁５２が接続されており、これらの動作を制御する制御信号がインターフェース６５を介して電子制御装置６０から与えられる。また、インターフェース６５には、エアフローメータ７１、吸気圧センサ７２、クランクポジションセンサ７４、および、アクセルペダルＡＰの開度（すなわち、アクセルペダルＡＰの踏込量であって、以下これを「アクセルペダル開度」という）に応じた信号を出力するアクセルペダル開度センサ７５、上流側酸素濃度センサ７６Ｕ、および、下流側酸素濃度センサ７６Ｄも接続されており、エアフローメータ７１から出力される信号、吸気圧センサ７２から出力される信号、クランクポジションセンサ７４から出力される信号、アクセルペダル開度センサ７５から出力される信号、上流側酸素濃度センサ７６Ｕから出力される信号、および、下流側酸素濃度センサ７６Ｄから出力される信号がインターフェース６５に入力される。
【００６６】
なお、エアフローメータ７１から出力される信号に基づいて吸入空気量が電子制御装置６０によって算出され、吸気圧センサ７２から出力される信号に基づいて吸気圧が電子制御装置６０によって算出され、クランクポジションセンサ７４から出力される信号に基づいて機関回転数（すなわち、内燃機関１０の回転数）が電子制御装置６０によって算出され、アクセルペダル開度センサ７５から出力される信号に基づいてアクセルペダル開度が電子制御装置６０によって算出され、上流側酸素濃度センサ７６Ｕから出力される信号に基づいて燃焼室から排出された排気ガスの空燃比が電子制御装置６０によって算出され、下流側酸素濃度センサ７６Ｄから出力される信号に基づいて排気浄化触媒４３Ａから流出する排気ガスの空燃比が電子制御装置６０によって算出される。したがって、第１実施形態では、実質的に、エアフローメータ７１は吸入空気量を検出する手段として機能し、吸気圧センサ７２は吸気圧を検出する手段として機能し、クランクポジションセンサ７４は機関回転数を検出する手段として機能し、アクセルペダル開度センサ７５はアクセルペダル開度を検出する手段として機能し、上流側酸素濃度センサ７６Ｕは燃焼室から排出された排気ガス中の酸素濃度を検出する手段として機能し、下流側酸素濃度センサ７６Ｄは排気浄化触媒４３Ａから流出する排気ガス中の酸素濃度を検出する手段として機能するものと言える。
【００６７】
また、燃焼室に吸入されるガスの量は吸気圧が高いほど多く、逆に、吸気圧が低いほど少ない。そして、吸気圧センサ７２は吸気圧を検出する手段として機能するのであるから、当該センサ７２によって検出される吸気圧に基づいて燃焼室に吸入されるガスの量を把握することができる。したがって、第１実施形態では、実質的に、吸気圧センサ７１は燃焼室に吸入されるガスの量を検出する手段として機能するものと言える。
【００６８】
また、燃焼室に形成される混合気の燃焼によって生成される既燃ガス中の酸素濃度は、混合気の空燃比が大きいほど高く、逆に、混合気の空燃比が小さいほど低い。また、理論空燃比の混合気が燃焼室において燃焼したときに該燃焼によって生成される既燃ガス中の酸素濃度を基準酸素濃度とした場合、燃焼室に形成された混合気の燃焼によって生成される既燃ガス中の酸素濃度は、混合気の空燃比が理論空燃比よりも大きいときには基準酸素濃度よりも高く、混合気の空燃比が理論空燃比よりも小さいときには基準酸素濃度よりも低い。そして、上流側酸素濃度センサ７６Ｕは燃焼室から排出される排気ガス中の酸素濃度を検出する手段として機能するのであるから、当該センサ７６Ｕによって検出される酸素濃度に基づいて混合気の空燃比を把握することができる。したがって、第１実施形態では、実質的に、上流側酸素濃度センサ７６Ｕは混合気の空燃比を検出する手段として機能するものと言える。
【００６９】
次に、第１実施形態の燃料噴射弁の制御について説明する。第１実施形態では、図１に示されている内燃機関においてアクセルペダル開度に応じた適切な燃料噴射量（すなわち、燃料噴射弁から噴射される燃料の量）が予め実験等によって求められ、これら求められた燃料噴射量が図２（Ａ）に示されているように目標燃料噴射量ＴＱとしてアクセルペダル開度Ｄａｃの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中（すなわち、内燃機関の運転中）、アクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、この取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間（すなわち、燃料噴射弁から燃料を噴射させるために燃料噴射弁を開弁させる時間）が当該目標燃料噴射量ＴＱに基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【００７０】
なお、図２（Ａ）のマップでは、アクセルペダル開度Ｄａｃが大きいほど目標燃料噴射量ＴＱが多くなっている。
【００７１】
次に、第１実施形態のスロットル弁の制御について説明する。第１実施形態では、図１に示されている内燃機関において燃料噴射量と機関回転数（すなわち、内燃機関の回転数）とに応じた適切なスロットル弁開度（すなわち、スロットル弁の開度）が予め実験等によって求められ、これら求められたスロットル弁開度が図２（Ｂ）に示されているように目標スロットル弁開度ＴＤｔｈとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。そして、この取得された目標スロットル弁開度ＴＤｔｈだけスロットル弁が開弁するようにスロットル弁の開度が制御される。
【００７２】
なお、図２（Ｂ）のマップでは、燃料噴射量Ｑが多いほど目標スロットル弁開度ＴＤｔｈが大きくなり、機関回転数Ｎが大きいほど目標スロットル弁開度ＴＤｔｈが大きくなっている。
【００７３】
また、第１実施形態では、図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈを取得するために利用される燃料噴射量Ｑとして目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が採用される。
【００７４】
次に、第１実施形態の制御装置によるＥＧＲ制御弁の開度の制御について説明する。第１実施形態では、燃料噴射量と機関回転数とに応じた適切なＥＧＲ率（すなわち、燃焼室に吸入されるガス中に含まれる排気ガスの質量割合）が予め実験等によって求められ、これら求められたＥＧＲ率が図２（Ｃ）に示されているように目標ＥＧＲ率ＴＲｅｇｒとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。そして、この取得された目標ＥＧＲ率ＴＲｅｇｒを達成するためのＥＧＲ制御弁開度（すなわち、ＥＧＲ制御弁の開度）が目標ＥＧＲ制御弁開度ＴＤｅｇｒとして予め定められた演算則に従って算出される。そして、この算出された目標ＥＧＲ制御弁開度ＴＤｅｇｒだけＥＧＲ制御弁が開弁するようにＥＧＲ制御弁の開度が制御される。
【００７５】
なお、図２（Ｃ）のマップでは、燃料噴射量Ｑが多いほど目標ＥＧＲ率ＴＲｅｇｒが小さくなり、機関回転数Ｎが大きいほど目標ＥＧＲ率ＴＲｅｇｒが小さくなっている。
【００７６】
ところで、第１実施形態では、図３に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図３のマップから取得される。そして、この取得された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ＥＧＲ率取得用の燃料噴射量（すなわち、図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒを取得するために用いられる燃料噴射量）として用いられると共に、推定空燃比算出用の燃料噴射量（すなわち、混合気の空燃比の推定値を算出するために用いられる燃料噴射量）として用いられる。
【００７７】
次に、第１実施形態の上記学習値の更新について説明する。上述したように、第１実施形態では、図３に示されているように燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。ここで、学習値ＫＧの初期値は、全て「１」に設定されている。
【００７８】
そして、機関運転中、所定の条件が成立する毎に補正値が算出され、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしてその時の目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算されることによって得られる新たな学習値ＫＧがその時の燃料噴射量Ｑと機関回転数Ｎとに対応する学習値として図３のマップに記憶される。つまり、機関運転中、所定の条件が成立する毎にその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが補正値によって更新される。
【００７９】
次に、第１実施形態の上記補正値の算出について説明する。第１実施形態では、所定の条件が成立する毎に検出空燃比（すなわち、上流側酸素濃度センサの出力値から算出される混合気の空燃比）が取得されると共に推定空燃比が算出される。ここで、推定空燃比とは、上述したように、混合気の空燃比の推定値であって、燃料噴射量Ｑと機関回転数Ｎとに基づいて図３のマップから取得される学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量と検出吸入空気量（すなわち、エアフローメータの出力値から算出される吸入空気量）とを用いて算出される混合気の空燃比である。そして、推定空燃比に対する検出空燃比の偏差（以下この偏差を「空燃比偏差」という）が算出される。そして、この算出された空燃比偏差に基づいて補正値が算出される。
【００８０】
なお、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【００８１】
ところで、上述したように更新される学習値を目標燃料噴射量に加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【００８２】
実際の燃料噴射量が目標燃料噴射量に一致しており且つ検出吸入空気量が実際の吸入空気量に一致している場合（すなわち、燃料噴射弁もエアフローメータも所期通りに作動している場合）、検出空燃比は、目標燃料噴射量と検出吸入空気量とを用いて算出される混合気の空燃比（すなわち、推定空燃比）に一致する。しかしながら、実際の燃料噴射量が目標燃料噴射量に一致していなかったり、検出吸入空気量が実際の吸入空気量に一致していなかったりする場合（すなわち、燃料噴射弁とエアフローメータとのいずれか一方が所期通りに作動していない場合）、偶然にも検出空燃比が推定空燃比に一致することもあるが、多くの場合、検出空燃比は推定空燃比に一致しない。
【００８３】
ここで、上述したように、第１実施形態では、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、目標ＥＧＲ率取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ＥＧＲ率取得用の燃料噴射量が大きくなる。したがって、図２（Ｃ）のマップから取得される目標ＥＧＲ率が小さくなり、その結果、吸入空気量が多くなる。したがって、検出空燃比が大きくなる。
【００８４】
一方、このとき、上述したように吸入空気量が多くなるのであるから、検出吸入空気量が大きくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は大きくなる。しかしながら、第１実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が大きくなっているのであるから、推定空燃比算出用の燃料噴射量が大きくなる。したがって、検出吸入空気量が大きくなったとしても推定空燃比算出用の燃料噴射量も大きくなるので、検出吸入空気量の増大に伴う推定空燃比の増大の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が小さくなる。
【００８５】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ大きくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【００８６】
一方、上述したように、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、目標ＥＧＲ率取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ＥＧＲ率取得用の燃料噴射量が小さくなる。したがって、図２（Ｃ）のマップから取得される目標ＥＧＲ率が大きくなり、その結果、吸入空気量が少なくなる。したがって、検出空燃比が小さくなる。
【００８７】
一方、このとき、上述したように吸入空気量が少なくなるのであるから、検出吸入空気量が小さくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は小さくなる。しかしながら、第１実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が小さくなっているのであるから、推定空燃比算出用の燃料噴射量が小さくなる。したがって、検出吸入空気量が小さくなったとしても推定空燃比算出用の燃料噴射量も小さくなるので、検出吸入空気量の減少に伴う推定空燃比の減少の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が大きくなる。
【００８８】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ小さくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が小さくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【００８９】
なお、空燃比偏差が零であるときには、検出空燃比が推定空燃比に一致しているのであるから、学習値の更新を行う必要はない。しかしながら、制御装置の制御ロジックを簡易化するために、空燃比偏差が零ではないときに学習値を更新する上記制御ロジックを空燃比偏差が零であるときにも利用するようにしてもよい。すなわち、空燃比偏差が零であるときに補正値として零が算出され、この算出された補正値がその時の燃料噴射量Ｑとその時の機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算されることによって得られる新たな学習値ＫＧがその時の燃料噴射量Ｑとその時の機関回転数Ｎとに対応する学習値として図３のマップに記憶されてもよい。
【００９０】
ところで、目標燃料噴射量に対する実際の燃料噴射量のずれや検出吸入空気量に対する実際の吸入空気量のずれ以外の原因によって空燃比偏差が発生することがある。この場合において過剰に大きな空燃比偏差が発生すると、学習値が過剰に大きくなる。そして、この場合、目標燃料噴射量が学習値によって過剰に補正され、その結果、目標ＥＧＲ率が過剰に補正されてしまうことになるが、このことは好ましくない。
【００９１】
そこで、第１実施形態では、ＥＧＲ率の過剰な補正を回避する観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【００９２】
次に、第１実施形態の上限学習値および下限学習値の設定について説明する。第１実施形態では、「実際の燃料噴射量が目標燃料噴射量よりも多くなる燃料噴射量ずれ」のうち目標燃料噴射量に対する実際の燃料噴射量の誤差が最も大きくなる燃料噴射量ずれ（以下この燃料噴射量ずれを「最大燃料噴射量増量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値（すなわち、空燃比偏差が零になったときの学習値）が目標燃料噴射量と燃圧（すなわち、燃料噴射弁に供給される燃料の圧力）とに応じて予め求められる。そして、これら求められた学習値が図４（Ａ）に示されているように燃料噴射量Ｑと燃圧Ｐｆとの関数のマップの形で「燃料噴射量ずれに起因する最大学習値ＭａｘＦ」として電子制御装置６０に記憶されている。なお、この燃料噴射量ずれに起因する最大学習値は、正の値である。
【００９３】
また、「実際の燃料噴射量が目標燃料噴射量よりも少なくなる燃料噴射量ずれ」のうち目標燃料噴射量に対する実際の燃料噴射量の誤差が最も大きくなる燃料噴射量ずれ（以下この燃料噴射量ずれを「最大燃料噴射量減量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値が目標燃料噴射量と燃圧とに応じて予め求められる。そして、これら求められた学習値が図４（Ｂ）に示されているように燃料噴射量Ｑと燃圧Ｐｆとの関数のマップの形で「燃料噴射量ずれに起因する最小学習値ＭｉｎＦ」として電子制御装置６０に記憶されている。なお、この燃料噴射量ずれに起因する最小学習値は、負の値である。
【００９４】
また、「検出吸入空気量（すなわち、エアフローメータの出力値に基づいて算出される吸入空気量）が実際の吸入空気量よりも多くなる吸入空気量ずれ」のうち実際の吸入空気量に対する検出吸入空気量の誤差が最も大きくなる吸入空気量ずれ（以下この吸入空気量ずれを「最大吸入空気量増量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値が吸入空気量に応じて予め求められる。そして、これら求められた学習値が図４（Ｃ）に示されているように吸入空気量Ｇａの関数のマップの形で「吸入空気量ずれに起因する最大学習値ＭａｘＡ」として電子制御装置６０に記憶されている。なお、この吸入空気量ずれに起因する最大学習値は、正の値である。
【００９５】
また、「検出吸入空気量が実際の吸入空気量よりも少なくなる吸入空気量ずれ」のうち実際の吸入空気量に対する検出吸入空気量の誤差が最も大きくなる吸入空気量ずれ（以下この吸入空気量ずれを「最大吸入空気量減量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値が吸入空気量に応じて予め求められる。そして、これら求められた学習値が図４（Ｄ）に示されているように吸入空気量Ｇａの関数のマップの形で「吸入空気量ずれに起因する最小学習値ＭｉｎＡ」として電子制御装置６０に記憶されている。なお、この吸入空気量ずれに起因する最小学習値は、負の値である。
【００９６】
そして、機関運転中（すなわち、内燃機関の運転中）、学習値が更新されようとする前に、その時の燃料噴射量Ｑと燃圧Ｐｆとに基づいて図４（Ａ）および図４（Ｂ）のマップからそれぞれ燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦが取得されると共に、その時の吸入空気量Ｇａに基づいて図４（Ｃ）および図４（Ｄ）のマップからそれぞれ吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡが取得される。
【００９７】
そして、取得された燃料噴射量ずれに起因する最大学習値ＭａｘＦと取得された吸入空気量ずれに起因する最大学習値ＭａｘＡとが比較され、これら最大学習値のうち値が大きい方の最大学習値がその時の上限学習値に設定される。また、これと同時に、取得された燃料噴射量ずれに起因する最小学習値ＭｉｎＦと取得された吸入空気量ずれに起因する最小学習値ＭａｘＡとが比較され、これら最小学習値のうち値が小さい方（すなわち、これら最小学習値は負の値であるのでこれら最小学習値のうちその絶対値の値が大きい方）の最小学習値が下限学習値に設定される。
【００９８】
なお、第１実施形態では、１つの学習値が「目標ＥＧＲ率取得用の燃料噴射量を算出するために目標燃料噴射量に加算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために目標燃料噴射量から減算される学習値」として用いられる。つまり、「目標ＥＧＲ率取得用の燃料噴射量の算出に用いられる学習値」と「推定空燃比算出用の燃料噴射量の算出に用いられる学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【００９９】
次に、第１実施形態の燃料噴射弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図５に示されている。なお、図５のルーチンは予め定められた時間が経過する毎に実行される。
【０１００】
図５のルーチンが開始されると、始めに、ステップ１０において、アクセルペダル開度Ｄａｃが取得される。次いで、ステップ１１において、ステップ１０で取得されたアクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。次いで、ステップ１２において、ステップ１１で取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるための燃料噴射弁開弁時間ＴＯが算出される。次いで、ステップ１３において、ステップ１２で算出された燃料噴射弁開弁時間ＴＯだけ燃料噴射弁を開弁させるための指令値が燃料噴射弁に出力され、ルーチンが終了する。
【０１０１】
次に、第１実施形態のスロットル弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図６に示されている。なお、図６のルーチンは予め定められた時間が経過する毎に実行される。
【０１０２】
図６のルーチンが開始されると、始めに、ステップ２０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ２０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ２１において、ステップ２０で取得された燃料噴射量Ｑおよび機関回転数Ｎに基づいて図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。次いで、ステップ２２において、ステップ２１で取得された目標スロットル弁開度ＴＤを達成するための指令値がスロットル弁に出力され、ルーチンが終了する。
【０１０３】
次に、第１実施形態のＥＧＲ制御弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図７に示されている。なお、図７のルーチンは予め定められた時間が経過する毎に実行される。
【０１０４】
図７のルーチンが開始されると、始めに、ステップ３０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ３０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ３１において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ３０で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ３２において、ステップ３１で取得された学習値ＫＧがステップ３０で取得された燃料噴射量Ｑに加算されることによってステップ３０で取得された燃料噴射量Ｑが補正される。次いで、ステップ３３において、ステップ３２で補正された燃料噴射量Ｑとステップ３０で取得された機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。次いで、ステップ３４において、ステップ３３で取得された目標ＥＧＲ率ＴＲｅｇｒを達成するための指令値がＥＧＲ制御弁に出力され、ルーチンが終了する。
【０１０５】
次に、第１実施形態の学習値の更新を実行するルーチンの一例について説明する。このルーチンの一例は図８に示されている。なお、図８のルーチンは予め定められた時間が経過する毎に実行される。
【０１０６】
図８のルーチンが開始されると、始めに、ステップ１００において、燃料噴射量Ｑと機関回転数Ｎと吸入空気量Ｇａと検出空燃比Ａ／Ｆと燃圧Ｐｆとが取得される。なお、ここで取得される燃料噴射量Ｑは図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱであり、ここで取得される吸入空気量Ｇａは検出吸入空気量である。
【０１０７】
次いで、ステップ１０１において、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図３のマップから取得され、ステップ１００で取得された燃料噴射量Ｑと燃圧Ｐｆとに対応する「燃料噴射量ずれに起因する最大学習値ＭａｘＦ」および「燃料噴射量ずれに起因する最小学習値ＭｉｎＦ」がそれぞれ図４（Ａ）および図４（Ｂ）のマップから取得され、ステップ１００で取得された吸入空気量Ｇａに対応する「吸入空気量ずれに起因する最大学習値ＭａｘＡ」および「吸入空気量ずれに起因する最小学習値ＭｉｎＡ」がそれぞれ図４（Ｃ）および図４（Ｄ）のマップから取得される。
【０１０８】
次いで、ステップ１０２において、ステップ１０１で取得された「燃料噴射量ずれに起因する最大学習値ＭａｘＦ」と「吸入空気量ずれに起因する最大学習値ＭａｘＡ」とのうちの大きい方の最大学習値が上限学習値Ｍａｘに設定されると共に、ステップ１０１で取得された「燃料噴射量ずれに起因する最小学習値ＭｉｎＦ」と「吸入空気量ずれに起因する最小学習値ＭｉｎＡ」とのうちの小さい方の最小学習値が下限学習値Ｍｉｎに設定される。
【０１０９】
次いで、ステップ１０３において、ステップ１０１で取得された学習値ＫＧがステップ１００で取得された燃料噴射量Ｑに加算されることによって燃料噴射量Ｑが補正される。次いで、ステップ１０４において、ステップ１０３で補正された燃料噴射量Ｑとステップ１００で取得された吸入空気量Ｇａとに基づいて推定空燃比Ａ／Ｆｅｓｔが算出される。次いで、ステップ１０５において、ステップ１０４で算出された推定空燃比Ａ／Ｆｅｓｔからステップ１００で取得された検出空燃比Ａ／Ｆを差し引くことによって空燃比偏差ΔＡ／Ｆが算出される。
【０１１０】
次いで、ステップ１０６において、ステップ１０５で算出された空燃比偏差ΔＡ／Ｆに基づいて補正値Ｋが算出される。なお、空燃比偏差ΔＡ／Ｆが正の値であるときに算出される補正値Ｋは正の値であり、空燃比偏差ΔＡ／Ｆが負の値であるときに算出される補正値Ｋは負の値であり、空燃比偏差ΔＡ／Ｆが零であるときに算出される補正値Ｋは零である。
【０１１１】
次いで、ステップ１０７において、ステップ１０６で算出された補正値Ｋがステップ１０１で取得された学習値ＫＧに加算されることによって暫定学習値ＫＧｎが算出される。次いで、ステップ１０８において、ステップ１０７で算出された暫定学習値ＫＧｎがステップ１０２で設定された下限学習値Ｍｉｎよりも小さい（ＫＧｎ＜Ｍｉｎ）か否かが判別される。ここで、ＫＧｎ＜Ｍｉｎであると判別されたときには、ルーチンはステップ１０９に進む。一方、ＫＧｎ≧Ｍｉｎであると判別されたときには、ルーチンはステップ１１０に進む。
【０１１２】
ステップ１０８においてＫＧｎ＜Ｍｉｎであると判別され、ルーチンがステップ１０９に進むと、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが下限学習値Ｍｉｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎよりも小さいときには、学習値ＫＧが下限学習値Ｍｉｎに制限される。
【０１１３】
一方、ステップ１０８においてＫＧｎ≧Ｍｉｎであると判別され、ルーチンがステップ１１０に進むと、ステップ１０７で算出された暫定学習値ＫＧｎがステップ１０２で設定された上限学習値Ｍａｘよりも大きい（ＫＧｎ＞Ｍａｘ）か否かが判別される。ここで、ＫＧｎ＞Ｍａｘであると判別されたときには、ルーチンはステップ１１１に進む。一方、ＫＧｎ≦Ｍａｘであると判別されたときには、ルーチンはステップ１１２に進む。
【０１１４】
ステップ１１０においてＫＧｎ＞Ｍａｘであると判別され、ルーチンがステップ１１１に進むと、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが上限学習値Ｍａｘに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが上限学習値Ｍａｘよりも大きいときには、学習値ＫＧが上限学習値Ｍａｘに制限される。
【０１１５】
一方、ステップ１１０においてＫＧｎ≦Ｍａｘであると判別され、ルーチンがステップ１１２に進むと、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧがステップ１０７で算出された暫定学習値ＫＧｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎ以上であって且つ上限学習値Ｍａｘ以下であるときには、暫定学習値ＫＧｎがそのまま学習値ＫＧとされる。
【０１１６】
次に、本発明の第２実施形態について説明する。本発明の第２実施形態では、上限学習値および下限学習値の設定以外の構成は、第１実施形態の構成と同じである。したがって、以下、第２実施形態における上限学習値および下限学習値の設定についてのみ説明する。
【０１１７】
第２実施形態では、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第１実施形態の手順と同じ手順で算出される学習値が燃料噴射量と燃圧と吸入空気量とに応じて予め求められ、これら学習値が図９（Ａ）に示されているように燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとの関数のマップの形で最大学習値Ｍａｘとして電子制御装置６０に記憶されている。
【０１１８】
また、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第１実施形態の手順と同じ手順で算出される学習値が燃料噴射量と燃圧と吸入空気量とに応じて予め求められ、これら学習値が図９（Ｂ）に示されているように燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとの関数のマップの形で最小学習値Ｍｉｎとして電子制御装置６０に記憶されている。
【０１１９】
そして、機関運転中、予め定められたタイミングが到来する度にその時の燃料噴射量と燃圧と吸入空気量とに基づいて図９（Ａ）および図９（Ｂ）のマップから最大学習値Ｍａｘおよび最小学習値Ｍｉｎが取得され、これら最大学習値Ｍａｘおよび最小学習値Ｍｉｎがそれぞれ上限学習値および下限学習値に設定される。
【０１２０】
なお、第２実施形態の燃料噴射弁、スロットル弁、および、ＥＧＲ制御弁の制御は、例えば、それぞれ、図５、図６、および、図７のルーチンによって実行される。
【０１２１】
次に、第２実施形態の学習値の更新を実行するルーチンの一例について説明する。このルーチンの一例は図１０に示されている。なお、図１０のルーチンは予め定められた時間が経過する毎に実行される。
【０１２２】
図１０のルーチンが開始されると、始めに、ステップ２００において、燃料噴射量Ｑと機関回転数Ｎと吸入空気量Ｇａと検出空燃比Ａ／Ｆと燃圧Ｐｆとが取得される。なお、ここで取得される燃料噴射量Ｑは図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱであり、ここで取得される吸入空気量Ｇａは検出吸入空気量である。
【０１２３】
次いで、ステップ２０１において、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図３のマップから取得され、ステップ１００で取得された燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとに対応する最大学習値Ｍａｘおよび最小学習値Ｍｉｎがそれぞれ図９（Ａ）および図９（Ｂ）のマップから取得される。
【０１２４】
次いで、ステップ２０２において、ステップ２０１で取得された最大学習値Ｍａｘおよび最小学習値Ｍｉｎがそれぞれ上限学習値Ｍａｘおよび下限学習値Ｍｉｎに設定される。
【０１２５】
次いで、ステップ２０３において、ステップ２０１で取得された学習値ＫＧがステップ２００で取得された燃料噴射量Ｑに加算されることによって燃料噴射量Ｑが補正される。次いで、ステップ２０４において、ステップ２０３で補正された燃料噴射量Ｑとステップ２００で取得された吸入空気量Ｇａとに基づいて推定空燃比Ａ／Ｆｅｓｔが算出される。次いで、ステップ２０５において、ステップ２０４で算出された推定空燃比Ａ／Ｆｅｓｔからステップ２００で取得された検出空燃比Ａ／Ｆを差し引くことによって空燃比偏差ΔＡ／Ｆが算出される。
【０１２６】
次いで、ステップ２０６において、ステップ２０５で算出された空燃比偏差ΔＡ／Ｆに基づいて補正値Ｋが算出される。なお、空燃比偏差ΔＡ／Ｆが正の値であるときに算出される補正値Ｋは正の値であり、空燃比偏差ΔＡ／Ｆが負の値であるときに算出される補正係数Ｋは負の値であり、空燃比偏差ΔＡ／Ｆが零であるときに算出される補正値Ｋは零である。
【０１２７】
次いで、ステップ２０７において、ステップ２０６で算出された補正値Ｋがステップ２０１で取得された学習値ＫＧに加算されることによって暫定学習値ＫＧｎが算出される。次いで、ステップ２０８において、ステップ２０７で算出された暫定学習値ＫＧｎがステップ２０２で設定された下限学習値Ｍｉｎよりも小さい（ＫＧｎ＜Ｍｉｎ）か否かが判別される。ここで、ＫＧｎ＜Ｍｉｎであると判別されたときには、ルーチンはステップ２０９に進む。一方、ＫＧｎ≧Ｍｉｎであると判別されたときには、ルーチンはステップ２１０に進む。
【０１２８】
ステップ２０８においてＫＧｎ＜Ｍｉｎであると判別され、ルーチンがステップ２０９に進むと、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが下限学習値Ｍｉｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎよりも小さいときには、学習値ＫＧが下限学習値Ｍｉｎに制限される。
【０１２９】
一方、ステップ２０８においてＫＧｎ≧Ｍｉｎであると判別され、ルーチンがステップ２１０に進むと、ステップ２０７で算出された暫定学習値ＫＧｎがステップ２０２で設定された上限学習値Ｍａｘよりも大きい（ＫＧｎ＞Ｍａｘ）か否かが判別される。ここで、ＫＧｎ＞Ｍａｘであると判別されたときには、ルーチンはステップ２１１に進む。一方、ＫＧｎ≦Ｍａｘであると判別されたときには、ルーチンはステップ２１２に進む。
【０１３０】
ステップ２１０においてＫＧｎ＞Ｍａｘであると判別され、ルーチンがステップ２１１に進むと、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが上限学習値Ｍａｘに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが上限学習値Ｍａｘよりも大きいときには、学習値ＫＧが上限学習値Ｍａｘに制限される。
【０１３１】
一方、ステップ２１０においてＫＧｎ≦Ｍａｘであると判別され、ルーチンがステップ２１２に進むと、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧがステップ２０７で算出された暫定学習値ＫＧｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎ以上であって且つ上限学習値Ｍａｘ以下であるときには、暫定学習値ＫＧｎがそのまま学習値ＫＧとされる。
【０１３２】
ところで、上述した実施形態は、ＥＧＲ装置を備えた内燃機関に本発明を適用した場合の実施形態である。しかしながら、本発明は、ＥＧＲ装置を備えていない内燃機関にも適用可能である。そこで、次に、ＥＧＲ装置を備えていない内燃機関に本発明を適用した場合の実施形態（以下「第３実施形態」という）について説明する。
【０１３３】
第３実施形態の内燃機関は図１１に示されている。なお、第３実施形態の内燃機関の構成はＥＧＲ装置を備えていない点を除けば第１実施形態の内燃機関の構成と同じであるので、第３実施形態の内燃機関の構成の説明は省略する。
【０１３４】
次に、第３実施形態の燃料噴射弁の制御について説明する。第３実施形態では、図１１に示されている内燃機関においてアクセルペダル開度に応じた適切な燃料噴射量が予め実験等によって求められ、これら求められた燃料噴射量が図１２（Ａ）に示されているように目標燃料噴射量ＴＱとしてアクセルペダル開度Ｄａｃの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、アクセルペダル開度Ｄａｃに基づいて図１２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、この取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量ＴＱに基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０１３５】
なお、図１２（Ａ）のマップでは、アクセルペダル開度Ｄａｃが大きいほど目標燃料噴射量ＴＱが多くなっている。
【０１３６】
次に、第３実施形態のスロットル弁の制御について説明する。第３実施形態では、図１１に示されている内燃機関において燃料噴射量と機関回転数とに応じた適切なスロットル弁開度が予め実験等によって求められ、これら求められたスロットル弁開度が図１２（Ｂ）に示されているように目標スロットル弁開度ＴＤｔｈとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図１２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。そして、この取得された目標スロットル弁開度ＴＤｔｈだけスロットル弁が開弁するようにスロットル弁の開度が制御される。
【０１３７】
なお、図１２（Ｂ）のマップでは、燃料噴射量Ｑが多いほど目標スロットル弁開度ＴＤｔｈが大きくなり、機関回転数Ｎが大きいほど目標スロットル弁開度ＴＤｔｈが大きくなっている。
【０１３８】
ところで、第３実施形態では、図１３に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図１３のマップから取得される。そして、この取得された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標スロットル弁開度取得用の燃料噴射量（すなわち、図１２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈを取得するために用いられる燃料噴射量）として用いられると共に、推定空燃比算出用の燃料噴射量として用いられる。
【０１３９】
なお、第３実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第３実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標スロットル弁開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第３実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標スロットル弁開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０１４０】
ところで、上述したように更新される学習値を目標燃料噴射量に加算して得られる燃料噴射量を目標スロットル弁開度用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０１４１】
第３実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、目標スロットル弁開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標スロットル弁開度取得用の燃料噴射量が大きくなる。したがって、図１２（Ｂ）のマップから取得される目標スロットル弁開度が大きくなり、その結果、吸入空気量が多くなる。したがって、検出空燃比が大きくなる。
【０１４２】
一方、このとき、上述したように吸入空気量が多くなるのであるから、検出吸入空気量が大きくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は大きくなる。しかしながら、第３実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が大きくなっているのであるから、推定空燃比算出用の燃料噴射量が大きくなる。したがって、検出吸入空気量が大きくなったとしても推定空燃比算出用の燃料噴射量も大きくなるので、検出吸入空気量の増大に伴う推定空燃比の増大の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が小さくなる。
【０１４３】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ大きくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１４４】
一方、第３実施形態では、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、目標スロットル弁開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標スロットル弁開度取得用の燃料噴射量が小さくなる。したがって、図１２（Ｂ）のマップから取得される目標スロットル弁開度が小さくなり、その結果、吸入空気量が少なくなる。したがって、検出空燃比が小さくなる。
【０１４５】
一方、このとき、上述したように吸入空気量が少なくなるのであるから、検出吸入空気量が小さくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は小さくなる。しかしながら、第３実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が小さくなっているのであるから、推定空燃比算出用の燃料噴射量が小さくなる。したがって、検出吸入空気量が小さくなったとしても推定空燃比算出用の燃料噴射量も小さくなるので、検出吸入空気量の減少に伴う推定空燃比の減少の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が大きくなる。
【０１４６】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ小さくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が小さくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１４７】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、目標燃料噴射量が学習値によって過剰に補正され、その結果、目標スロットル弁開度が過剰に補正されてしまうことになるが、このことは好ましくない。
【０１４８】
そこで、第３実施形態では、スロットル弁開度の過剰な補正を回避する観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０１４９】
なお、第３実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第３実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第３実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第３実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第３実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０１５０】
また、第３実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０１５１】
なお、第３実施形態では、１つの学習値が「目標スロットル弁開度取得用の燃料噴射量を算出するために目標燃料噴射量に加算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために目標燃料噴射量から減算される学習値」として用いられる。つまり、「目標スロットル弁開度取得用の燃料噴射量の算出に用いられる学習値」と「推定空燃比算出用の燃料噴射量の算出に用いられる学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【０１５２】
なお、第３実施形態の燃料噴射弁の制御は、例えば、図５のルーチンによって実行される。ただし、図５のルーチンが第３実施形態の燃料噴射弁の制御に利用される場合、ステップ１１では、図１２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。
【０１５３】
次に、第３実施形態のスロットル弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図１４に示されている。なお、図１４のルーチンは予め定められた時間が経過する毎に実行される。
【０１５４】
図１４のルーチンが開始されると、始めに、ステップ４０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ４０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ４１において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ４０で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ４２において、ステップ４１で取得された学習値ＫＧがステップ４０で取得された燃料噴射量Ｑに加算されることによってステップ４０で取得された燃料噴射量Ｑが補正される。次いで、ステップ４３において、ステップ４２で補正された燃料噴射量Ｑとステップ４０で取得された機関回転数Ｎとに基づいて図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。次いで、ステップ４４において、ステップ４３で取得された目標スロットル弁開度ＴＤｔｈを達成するための指令値がスロットル弁に出力され、ルーチンが終了する。
【０１５５】
なお、第３実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第３実施形態の学習値の更新に利用される場合、図８のステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第３実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第３実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第３実施形態の学習値の更新に利用される場合、図１０のステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第３実施形態の上述した最大学習値および最小学習値である。
【０１５６】
ところで、上述した実施形態は、過給機を備えていない内燃機関に本発明を適用した場合の実施形態である。しかしながら、本発明は、過給機を備えた内燃機関にも適用可能である。そこで、次に、過給機を備えた内燃機関に本発明を適用した場合の実施形態（以下「第４実施形態」という）について説明する。
【０１５７】
第４実施形態の内燃機関は図１５に示されている。第４実施形態の内燃機関の構成は、過給機３５を備えているがＥＧＲ装置を備えていない点を除けば、第１実施形態の内燃機関の構成と同じである。
【０１５８】
図１５に示されている内燃機関１０は、過給機３５を具備する。過給機３５は、インタークーラ３４よりも上流の吸気管３２内に配置されるコンプレッサ３５Ａと、触媒コンバータ４３よりも上流の排気管４２内に配置される排気タービン３５Ｂとを有する。排気タービン３５Ｂは、図１６に示されているように、排気タービン本体３５Ｃと翼状の複数のベーン３５Ｄとを有する。
【０１５９】
排気タービン３５Ｂ（厳密には、排気タービン本体３５Ｃ）は、シャフト（図示せず）を介してコンプレッサ３５Ａに接続されている。排気タービン本体３５Ｃが排気ガスによって回転せしめられると、その回転がシャフトを介してコンプレッサ３５Ａに伝達され、これによって、コンプレッサ３５Ａが回転せしめられる。このコンプレッサ３５Ａの回転によってコンプレッサよりも下流の吸気管３２内のガスが圧縮せしめられ、その結果、同ガスの圧力（以下この圧力を「過給圧」という）が上昇せしめられる。
【０１６０】
一方、ベーン３５Ｄは、排気タービン本体３５Ｃを包囲するように該排気タービン本体の回転中心軸線Ｒ１を中心として放射状に等角度間隔で配置されている。また、各ベーン３５Ｄは、図１６に符号Ｒ２で示されているそれぞれ対応する軸線周りで回動可能に配置されている。そして、各ベーン３５Ｄが延在している方向（すなわち、図１６に符号Ｅで示されている方向）を「延在方向」と称し、排気タービン本体３５Ｃの回転中心軸線Ｒ１とベーン３５Ｄの回動軸線Ｒ２とを結ぶ線（すなわち、図１６に符号Ａで示されている線）を「基準線」と称したとき、各ベーン３５Ｄは、その延在方向Ｅとそれに対応する基準線Ａとがなす角度が全てのベーン３５Ｄに関して等しくなるように回動せしめられる。そして、各ベーン３５Ｄがその延在方向Ｅとそれに対応する基準線Ａとがなす角度が小さくなるように、すなわち、隣り合うベーン３５Ｄ間の流路面積が小さくなるように回動せしめられると、排気タービン本体３５Ｃよりも上流の排気通路４０内の圧力（以下この圧力を「排気圧」という）が高くなり、その結果、排気タービン本体３５Ｃに供給される排気ガスの流速が速くなる。このため、排気タービン本体３５Ｃの回転速度が速くなり、その結果、コンプレッサ３５Ａの回転速度も速くなり、したがって、吸気管３２内を流れるガスがコンプレッサ３５Ａによって大きく圧縮されることになる。このため、各ベーン３５Ｄの延在方向Ｅとそれに対応する基準線とがなす角度（以下この角度を「ベーン開度」という）が小さくなるほど、コンプレッサ３５Ａによって吸気管３２内を流れるガスが圧縮される程度が大きくなる（すなわち、過給圧が高くなる）。
【０１６１】
したがって、過給機３５は、ベーン３５Ｄの動作状態（具体的には、ベーン開度）を制御することによって過給圧を可変に制御することができる。
【０１６２】
また、ベーンＤは、電子制御装置６０のインターフェース６５に接続されており、ベーンＤの動作を制御する制御信号がインターフェース６５を介して電子制御装置６０から与えられる。
【０１６３】
次に、第４実施形態の燃料噴射弁の制御について説明する。第４実施形態では、図１５に示されている内燃機関においてアクセルペダル開度に応じた適切な燃料噴射量が予め実験等によって求められ、これら求められた燃料噴射量が図１７（Ａ）に示されているように目標燃料噴射量ＴＱとしてアクセルペダル開度Ｄａｃの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、アクセルペダル開度Ｄａｃに基づいて図１７（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、この取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量ＴＱに基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０１６４】
なお、図１７（Ａ）のマップでは、アクセルペダル開度Ｄａｃが大きいほど目標燃料噴射量ＴＱが多くなっている。
【０１６５】
次に、第４実施形態のスロットル弁の制御について説明する。第４実施形態では、図１５に示されている内燃機関において燃料噴射量と機関回転数とに応じた適切なスロットル弁開度が予め実験等によって求められ、これら求められたスロットル弁開度が図１７（Ｂ）に示されているように目標スロットル弁開度ＴＤｔｈとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図１７（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。そして、この取得された目標スロットル弁開度ＴＤｔｈだけスロットル弁が開弁するようにスロットル弁の開度が制御される。
【０１６６】
なお、図１７（Ｂ）のマップでは、燃料噴射量Ｑが多いほど目標スロットル弁開度ＴＤｔｈが大きくなり、機関回転数が大きいほど目標スロットル弁開度ＴＤｔｈが大きくなっている。
【０１６７】
また、第４実施形態では、図１７（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈを取得するために利用される燃料噴射量として目標燃料噴射量ＴＱ（すなわち、図１７（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が採用される。
【０１６８】
次に、第４実施形態のベーンの制御について説明する。第４実施形態では、図１５に示されている内燃機関において燃料噴射量と機関回転数とに応じた適切なベーン開度（すなわち、ベーンの開度）が予め実験等によって求められ、これら求められたベーン開度が図１７（Ｃ）に示されているように目標ベーン開度ＴＤｖとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図１７（Ｃ）のマップから目標ベーン開度ＴＤｖが取得される。そして、この取得された目標ベーン開度ＴＤｖだけベーンが開弁するようにベーンの開度が制御される。
【０１６９】
なお、図１７（Ｃ）のマップでは、燃料噴射量Ｑが多いほど目標ベーン開度ＴＤｖが小さくなり、機関回転数Ｎが大きいほど目標ベーン開度ＴＤｖが小さくなっている。
【０１７０】
ところで、第４実施形態では、図１８に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図１８のマップから取得される。そして、この取得された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ベーン開度取得用の燃料噴射量（すなわち、図１７（Ｃ）のマップから目標ベーン開度ＴＤｖを取得するために用いられる燃料噴射量）として用いられると共に、推定空燃比算出用の燃料噴射量として用いられる。
【０１７１】
なお、第４実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第４実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ベーン開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第４実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ベーン開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０１７２】
ところで、上述したように更新される学習値を目標燃料噴射量に加算して得られる燃料噴射量を目標ベーン開度用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０１７３】
第４実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、目標ベーン開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ベーン開度取得用の燃料噴射量が大きくなる。したがって、図１７（Ｃ）のマップから取得される目標ベーン開度が小さくなり、その結果、吸入空気量が多くなる。したがって、検出空燃比が大きくなる。
【０１７４】
一方、このとき、上述したように吸入空気量が多くなるのであるから、検出吸入空気量が大きくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は大きくなる。しかしながら、第４実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が大きくなっているのであるから、推定空燃比算出用の燃料噴射量が大きくなる。したがって、検出吸入空気量が大きくなったとしても推定空燃比算出用の燃料噴射量も大きくなるので、検出吸入空気量の増大に伴う推定空燃比の増大の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が小さくなる。
【０１７５】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ大きくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１７６】
一方、第４実施形態では、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、目標ベーン開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ベーン開度取得用の燃料噴射量が小さくなる。したがって、図１７（Ｃ）のマップから取得される目標ベーン開度が大きくなり、その結果、吸入空気量が少なくなる。したがって、検出空燃比が小さくなる。
【０１７７】
一方、このとき、上述したように吸入空気量が少なくなるのであるから、検出吸入空気量が小さくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は小さくなる。しかしながら、第４実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が小さくなっているのであるから、推定空燃比算出用の燃料噴射量が小さくなる。したがって、検出吸入空気量が小さくなったとしても推定空燃比算出用の燃料噴射量も小さくなるので、検出吸入空気量の減少に伴う推定空燃比の減少の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が大きくなる。
【０１７８】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ小さくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が小さくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１７９】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、目標燃料噴射量が学習値によって過剰に補正され、その結果、目標ベーン開度が過剰に補正されてしまうことになるが、このことは好ましくない。
【０１８０】
そこで、第４実施形態では、ベーン開度の過剰な補正を回避する観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０１８１】
なお、第４実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第４実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第４実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第４実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、実際の吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第４実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、実際の吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０１８２】
また、第４実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０１８３】
なお、第４実施形態では、１つの学習値が「目標ベーン開度取得用の燃料噴射量を算出するために目標燃料噴射量に加算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために目標燃料噴射量から減算される学習値」として用いられる。つまり、「目標ベーン開度取得用の燃料噴射量の算出に用いられる学習値」と「推定空燃比算出用の燃料噴射量の算出に用いられる学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【０１８４】
なお、第４実施形態の燃料噴射弁の制御は、例えば、図５のルーチンによって実行される。ただし、図５のルーチンが第４実施形態の燃料噴射弁の制御に利用される場合、ステップ１１では、図１７（Ａ）のマップから目標燃料噴射量ＴＱが取得される。
【０１８５】
また、第４実施形態のスロットル弁の制御は、例えば、図６のルーチンによって実行される。ただし、図６のルーチンが第４実施形態のスロットル弁の制御に利用される場合、ステップ２１では、図１７（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。
【０１８６】
次に、第４実施形態のベーンの制御を実行するルーチンの一例について説明する。このルーチンの一例は図１９に示されている。なお、図１９のルーチンは予め定められた時間が経過する毎に実行される。
【０１８７】
図１９のルーチンが開始されると、始めに、ステップ５０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ５０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ５１において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ５０で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ５２において、ステップ５１で取得された学習値ＫＧがステップ５０で取得された燃料噴射量Ｑに加算されることによってステップ５０で取得された燃料噴射量Ｑが補正される。次いで、ステップ５３において、ステップ５２で補正された燃料噴射量Ｑとステップ５０で取得された機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ベーン開度ＴＤｖが取得される。次いで、ステップ５４において、ステップ５３で取得された目標ベーン開度ＴＤｖを達成するための指令値がベーンに出力され、ルーチンが終了する。
【０１８８】
なお、第４実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第４実施形態の学習値の更新に利用される場合、図８のステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第４実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第４実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第４実施形態の学習値の更新に利用される場合、図１０のステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第４実施形態の上述した最大学習値および最小学習値である。
【０１８９】
ところで、上述した実施形態は、学習値によって最終的には吸入空気量を補正するようになっている制御装置に本発明を適用した実施形態である。しかしながら、本発明は、学習値によって燃料噴射量を補正するようになっている制御装置にも適用可能である。そこで、次に、こうした制御装置に本発明を適用した場合の実施形態（以下「第５実施形態」という）について説明する。なお、第５実施形態の内燃機関は上述した図１に示されている内燃機関であるので、その構成の説明は省略する。
【０１９０】
始めに、第５実施形態の燃料噴射弁の制御について説明する。第５実施形態では、図２０に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。
【０１９１】
そして、第５実施形態では、機関運転中、アクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、燃料噴射量Ｑ（この燃料噴射量Ｑとしては目標燃料噴射量ＴＱが用いられる）と機関回転数Ｎとに対応する学習値ＫＧが図２０のマップから取得される。そして、上記取得された目標燃料噴射量（以下この目標燃料噴射量を「初期目標燃料噴射量」という）ＴＱから上記学習値ＫＧを減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量（すなわち、燃料噴射弁開弁時間を算出するために用いられる目標燃料噴射量）に設定される。そして、この設定された燃料噴射弁開弁時間算出用の目標燃料噴射量の燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量に基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０１９２】
なお、第５実施形態のスロットル弁の制御は、第１実施形態のものと同じであるので、その説明は省略する。
【０１９３】
次に、第５実施形態のＥＧＲ制御弁の制御について説明する。第５実施形態では、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。そして、この取得された目標ＥＧＲ率ＴＲｅｇｒを達成するためのＥＧＲ制御弁開度が目標ＥＧＲ制御弁開度ＴＤｅｇｒとして予め定められた演算則に従って算出される。そして、この算出された目標ＥＧＲ制御弁開度ＴＤｅｇｒだけＥＧＲ制御弁が開弁するようにＥＧＲ制御弁の開度が制御される。
【０１９４】
なお、第５実施形態では、目標ＥＧＲ率取得用の燃料噴射量として初期目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が用いられる。
【０１９５】
また、第５実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が用いられる。
【０１９６】
また、第５実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第５実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を初期目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第５実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０１９７】
ところで、上述したように更新される学習値を初期目標燃料噴射量から減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、初期目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０１９８】
第５実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２０のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該学習値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が小さくなる。その結果、燃料噴射量が少なくなる。したがって、検出空燃比が大きくなる。
【０１９９】
一方、第５実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱが用いられ、この初期目標燃料噴射量ＴＱに変化がないのであるから、推定空燃比にも変化はない。
【０２００】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が変化しないことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２０１】
一方、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２０のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。っして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該補正値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が大きくなる。その結果、燃料噴射量が多くなる。したがって、検出空燃比が小さくなる。
【０２０２】
一方、第５実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱが用いられ、この初期目標燃料噴射量ＴＱに変化がないのであるから、推定空燃比にも変化はない。
【０２０３】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が変化しないことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２０４】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、初期目標燃料噴射量が学習値によって過剰に補正され、その結果、燃料噴射弁開弁時間算出用の目標燃料噴射量が過剰に補正されてしまうことになるが、このことは好ましくない。
【０２０５】
そこで、第５実施形態では、燃料噴射弁開弁時間算出用の目標燃料噴射量の過剰な補正を回避するという観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０２０６】
なお、第５実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第５実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第５実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第５実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第５実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０２０７】
また、第５実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０２０８】
次に、第５実施形態の燃料噴射弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図２１に示されている。なお、図２１のルーチンは予め定められた時間が経過する毎に実行される。
【０２０９】
図２１のルーチンが開始されると、始めに、ステップ６０において、アクセルペダル開度Ｄａｃと機関回転数Ｎとが取得される。次いで、ステップ６１において、ステップ６０で取得されたアクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。次いで、ステップ６２において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ６１で取得された目標燃料噴射量ＴＱとステップ６０で取得された機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ６３において、ステップ６２で取得された学習値ＫＧがステップ６１で取得された目標燃料噴射量ＴＱから減算されることによってステップ６１で取得された目標燃料噴射量ＴＱが補正される。次いで、ステップ６４において、ステップ６３で補正された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるための燃料噴射弁開弁時間ＴＯが算出される。次いで、ステップ６５において、ステップ６４で算出された燃料噴射量開弁時間ＴＯだけ燃料噴射弁を開弁させるための指令値が燃料噴射弁に出力され、ルーチンが終了する。
【０２１０】
なお、第５実施形態のスロットル弁の制御は、例えば、図６のルーチンによって実行される。ただし、図６のルーチンが第５実施形態のスロットル弁の制御に利用される場合、ステップ２０で取得される燃料噴射量Ｑは、図２１のステップ６１で取得された目標燃料噴射量ＴＱである。
【０２１１】
次に、第５実施形態のＥＧＲ制御弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図２２に示されている。なお、図２２のルーチンは予め定められた時間が経過する毎に実行される。
【０２１２】
図２２のルーチンが開始されると、始めに、ステップ７０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ７０において取得される燃料噴射量Ｑは、図２１のステップ６１で取得される目標燃料噴射量ＴＱである。次いで、ステップ７１において、ステップ７０で取得された燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。次いで、ステップ７２において、ステップ７１で取得された目標ＥＧＲ率ＴＲｅｇｒを達成するための指令値がＥＧＲ制御弁に出力され、ルーチンが終了する。
【０２１３】
なお、第５実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第５実施形態の学習値の更新に利用される場合、ステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２０のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第５実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第５実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第５実施形態の学習値の更新に利用される場合、図１０のステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２０のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第５実施形態の上述した最大学習値および最小学習値である。
【０２１４】
ところで、第５実施形態は、学習値によって燃料噴射弁開弁時間算出用の目標燃料噴射量のみを補正するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、学習値によって燃料噴射弁開弁時間算出用の目標燃料噴射量だけでなく推定空燃比算出用の燃料噴射量を補正するようになっている制御装置にも適用可能である。そこで、次に、こうした制御装置に本発明が適用された場合の実施形態（以下「第６実施形態」）という）について説明する。なお、第６実施形態の内燃機関は上述した図１に示されている内燃機関であるので、その構成の説明は省略する。
【０２１５】
始めに、第６実施形態の燃料噴射弁の制御について説明する。第６実施形態では、図２３に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。
【０２１６】
そして、第６実施形態では、機関運転中、アクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、燃料噴射量Ｑ（この燃料噴射量Ｑとしては目標燃料噴射量ＴＱが用いられる）と機関回転数Ｎとに対応する学習値ＫＧが図２３のマップから取得される。そして、上記取得された目標燃料噴射量（以下この目標燃料噴射量を「初期目標燃料噴射量」という）ＴＱから上記学習値ＫＧを減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量に設定される。そして、この設定された燃料噴射弁開弁時間算出用の目標燃料噴射量の燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量に基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０２１７】
なお、第６実施形態のスロットル弁の開度の制御およびＥＧＲ制御弁の開度の制御は、第５実施形態のものと同じであるので、これらの説明は省略する。
【０２１８】
また、第６実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）に学習値を加算して得られる燃料噴射量が用いられる。
【０２１９】
また、第６実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第６実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を初期目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられると共に当該補正値によって更新された学習値を初期目標燃料噴射量に加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第６実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を初期目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられると共に当該補正値によって更新された学習値を初期目標燃料噴射量に加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２２０】
ところで、上述したように更新される学習値を初期目標燃料噴射量から減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いると共に同学習値を初期目標燃料噴射量に加算して得られる燃料噴射量を推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、初期目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０２２１】
第６実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２３のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該学習値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が小さくなる。その結果、燃料噴射量が少なくなる。したがって、検出空燃比が大きくなる。
【０２２２】
一方、第６実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱに上記学習値ＫＧを加算して得られる燃料噴射量が用いられ、当該学習値ＫＧが補正値によって大きくされているのであるから、推定空燃比が小さくなる。
【０２２３】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなることから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２２４】
一方、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２３のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該学習値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が大きくなる。その結果、燃料噴射量が多くなる。したがって、検出空燃比が小さくなる。
【０２２５】
一方、第６実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱに上記学習値ＫＧを加算して得られる燃料噴射量が用いられ、当該学習値ＫＧが補正値によって小さくされているのであるから、推定空燃比が大きくなる。
【０２２６】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなることから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２２７】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、初期目標燃料噴射量が学習値によって過剰に補正され、その結果、燃料噴射弁開弁時間算出用の目標燃料噴射量および推定空燃比算出用の燃料噴射量が過剰に補正されてしまうことになるが、このことは好ましくない。
【０２２８】
そこで、第６実施形態では、燃料噴射弁開弁時間算出用の目標燃料噴射量の過剰な補正および推定空燃比算出用の燃料噴射量の過剰な補正を回避するという観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０２２９】
なお、第６実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第６実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第６実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第６実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第６実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０２３０】
また、第６実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において第６実施形態に特有の上記制約の範囲内で算出される補正値によって更新されつつ算出される学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において第６実施形態に特有の上記制約の範囲内で算出される補正値によって更新されつつ算出される学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０２３１】
なお、第６実施形態では、１つの学習値が「燃料噴射弁開弁時間算出用の目標燃料噴射量を算出するために初期目標燃料噴射量から減算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために初期目標燃料噴射量に加算される学習値」として用いられる。つまり、「燃料噴射弁開弁時間算出用の目標燃料噴射量を算出するために初期目標燃料噴射量から減算される学習値」と「推定空燃比算出用の燃料噴射量を算出するために初期目標燃料噴射量に加算される学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【０２３２】
なお、第６実施形態の燃料噴射弁の制御は、例えば、図２１のルーチンによって実行される。ただし、図２１のルーチンが第６実施形態の燃料噴射弁の制御に利用される場合、ステップ６２で取得される学習値ＫＧは、第６実施形態に従って更新されて最終的に得られる学習値である。
【０２３３】
また、第６実施形態のスロットル弁の制御は、例えば、図６のルーチンによって実行される。ただし、図６のルーチンが第６実施形態のスロットル弁の制御に利用される場合、ステップ２０で取得される燃料噴射量Ｑは、図２１のステップ６１で取得された目標燃料噴射量ＴＱである。
【０２３４】
また、第６実施形態のＥＧＲ制御弁の制御は、例えば、図２２のルーチンによって実行される。
【０２３５】
また、第６実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第６実施形態の学習値の更新に利用される場合、ステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２３のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第６実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第６実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第６実施形態の学習値の更新に利用される場合、ステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２３のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第６実施形態の上述した最大学習値および最小学習値である。
【０２３６】
なお、上述した実施形態によれば、目標燃料噴射量に学習値が加算される前または目標燃料噴射量から学習値が減算される前（つまり、目標燃料噴射量が学習値によって補正される前）に、学習値が新たに算出される。すなわち、学習値が最新の学習値に更新される。したがって、目標燃料噴射量には最新の学習値が加算され或いは目標燃料噴射量から最新の学習値が減算されることになる。さらに、目標燃料噴射量に学習値が加算される直前または目標燃料噴射量から学習値が減算される直前（つまり、目標燃料噴射量が学習値によって補正される直前）に最新の学習値が算出されるのであるから、目標燃料噴射量にはその時の最適な学習値が加算され或いは目標燃料噴射量からはその時の最適な学習値が減算されることになる。このため、目標燃料噴射量が不適切に補正されることが回避されることから、検出空燃比が推定空燃比に正確に一致するようになる。
【０２３７】
また、上述した実施形態のうち図８のルーチンを利用する実施形態によれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値および下限学習値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に吸入空気量または燃料噴射量を補正することが好ましい。一方、内燃機関における各種制御は、実際の燃料噴射量が目標燃料噴射量に対して正の方向にずれたときに燃料噴射量ずれ量が最も大きくなると想定される場合、実際の燃料噴射量が目標燃料噴射量に対して負の方向にずれたときに燃料噴射量ずれ量が最も大きくなると想定される場合、検出吸入空気量が実際の吸入空気量に対して正の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合、および、検出吸入空気量が実際の吸入空気量に対して負の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合においても、内燃機関に求められる要件が達成されるように構築される。つまり、燃料噴射量ずれが想定される範囲内で最も大きい場合の学習値（つまり、燃料噴射量ずれに起因する最大学習値および最小学習値）と吸入空気量ずれが想定される範囲内で最も大きい場合の学習値（つまり、吸入空気量ずれに起因する最大学習値および最小学習値）とが比較され、最大学習値のうち大きい方の最大学習値が上限学習値に設定されると共に最小学習値のうち小さい方の最小学習値が下限学習値に設定され、これら上限学習値および下限学習値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ吸入空気量または燃料噴射量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値および下限学習値が設定されることになるのである。
【０２３８】
また、上述した実施形態のうち図１０のルーチンを利用する実施形態によれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値および下限学習値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に吸入空気量または燃料噴射量を補正することが好ましい。一方、内燃機関における各種制御は、実際の燃料噴射量が目標燃料噴射量に対して正の方向にずれたときに燃料噴射量ずれ量が最も大きくなり且つ検出吸入空気量が実際の吸入空気量に対して正の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合、および、実際の燃料噴射量が目標燃料噴射量に対して負の方向にずれたときに燃料噴射量ずれ量が最も大きくなり且つ検出吸入空気量が実際の吸入空気量に対して負の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合においても、内燃機関に求められる要件が達成されるように構築される。つまり、燃料噴射量ずれが想定される範囲内で最も大きく且つ吸入空気量ずれが想定される範囲内で最も大きい場合の学習値が上限学習値または下限学習値に設定され、これら上限学習値または下限学習値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ吸入空気量または燃料噴射量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値または下限学習値が設定されることになるのである。
【０２３９】
また、上述した実施形態の考え方は、広くは、燃料噴射弁以外の手段によって燃焼室に燃料が供給される内燃機関にも適用可能である。したがって、本発明は、燃焼室に燃料を供給する手段を具備する内燃機関に適用可能である。
【０２４０】
また、上述した実施形態の考え方は、広くは、エアフローメータ以外の手段によって燃焼室に供給される空気の量を検出する内燃機関にも適用可能である。そして、上述した実施形態において、検出吸入空気量は、燃焼室に供給される空気の量の推定値であるとも言える。したがって、本発明は、燃焼室に供給される空気の量の推定値を取得する手段を具備する内燃機関に適用可能である。
【０２４１】
また、上述した実施形態の考え方は、広くは、酸素濃度センサ手段以外の手段によって実際の空燃比が取得される内燃機関にも適用可能である。したがって、本発明は、実際の空燃比を取得する手段を具備する内燃機関に適用可能である。
【０２４２】
また、上述した実施形態の考え方は、広くは、目標燃料噴射量以外の燃料噴射量の推定値または目標燃料噴射量に相当するパラメータが目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度の取得と推定空燃比の算出とに利用される内燃機関にも適用可能である。そして、目標燃料噴射量は、燃焼室に供給される燃料の量の推定値（すなわち、推定供給燃料量）であるとも言える。したがって、本発明は、推定供給燃料量またはそれに相当するパラメータが目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度の取得と推定空燃比の算出とに利用される内燃機関に適用可能である。
【０２４３】
また、上述した実施形態の考え方は、広くは、検出吸入空気量以外の吸入空気量の推定値または検出吸入空気量に相当するパラメータが推定空燃比の算出に利用される内燃機関にも適用可能である。そして、上述したように、検出吸入空気量は、燃焼室に供給される空気の量の推定値（すなわち、推定供給空気量）であるとも言える。したがって、本発明は、推定供給空気量またはそれに相当するパラメータが推定空燃比の算出に利用される内燃機関に適用可能である。
【０２４４】
また、第１実施形態および第２実施形態は、図２（Ａ）のマップから取得される目標燃料噴射量が学習値によって補正され、この補正された目標燃料噴射量と機関回転数とに基づいて図２（Ｃ）のマップから目標ＥＧＲ率が取得され、この取得された目標ＥＧＲ率がＥＧＲ率制御用の目標ＥＧＲ率として利用される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、図２（Ａ）のマップから取得される目標燃料噴射量と機関回転数とに基づいて図２（Ｃ）のマップから目標ＥＧＲ率を取得し、この取得された目標ＥＧＲ率を学習値によって補正し、この補正された目標ＥＧＲ率をＥＧＲ率制御用の目標ＥＧＲ率として用いるようになっている制御装置（より具体的には、例えば、マップから取得された目標ＥＧＲ率から学習値を減算することによって当該目標ＥＧＲ率を補正し、この補正された目標ＥＧＲ率をＥＧＲ率制御用の目標ＥＧＲ率として利用するようになっている制御装置）にも適用可能である。
【０２４５】
また、第３実施形態は、図１２（Ａ）のマップから取得される目標燃料噴射量が学習値によって補正され、この補正された目標燃料噴射量と機関回転数とに基づいて図１２（Ｂ）のマップから目標スロットル弁開度が取得され、この取得された目標スロットル弁開度がスロットル弁開度制御用の目標スロットル弁開度として利用される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、図１２（Ａ）のマップから取得される目標燃料噴射量と機関回転数とに基づいて図１２（Ｂ）のマップから目標スロットル弁開度を取得し、この取得された目標スロットル弁開度を学習値によって補正し、この補正された目標スロットル弁開度をスロットル弁開度制御用の目標スロットル弁開度として用いるようになっている制御装置（より具体的には、例えば、マップから取得された目標スロットル弁開度に学習値を加算することによって当該目標スロットル弁開度を補正し、この補正された目標スロットル弁開度をスロットル弁開度制御用の目標スロットル弁開度として用いるようになっている制御装置）にも適用可能である。
【０２４６】
また、第４実施形態は、図１７（Ａ）のマップから取得される目標燃料噴射量が学習値によって補正され、この補正された目標燃料噴射量と機関回転数とに基づいて図１７（Ｃ）のマップから目標ベーン開度が取得され、この取得された目標ベーン開度がベーン開度制御用の目標ベーン開度として利用される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、図１７（Ａ）のマップから取得される目標燃料噴射量と機関回転数とに基づいて図１７（Ｃ）のマップから目標ベーン開度を取得し、この取得された目標ベーン開度を学習値によって補正し、この補正された目標ベーン開度をベーン開度制御用の目標ベーン開度として用いるようになっている制御装置（より具体的には、例えば、マップから取得された目標ベーン開度から学習値を減算することによって当該目標ベーン開度を補正し、この補正された目標ベーン開度をベーン開度制御用の目標ベーン開度として用いるようになっている制御装置）にも適用可能である。
【０２４７】
また、第１実施形態および第２実施形態は、燃料噴射量と機関回転数とに基づいて図２（Ｃ）のマップから目標ＥＧＲ率が取得される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量のみに基づいて目標ＥＧＲ率を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数とを含む３つ以上のパラメータに基づいて目標ＥＧＲ率を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数以外の１つ又は複数のパラメータに基づいて目標ＥＧＲ率を取得するようになっている制御装置にも適用可能である。
【０２４８】
また、第３実施形態は、燃料噴射量と機関回転数とに基づいて図１２（Ｂ）のマップから目標スロットル弁開度が取得される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量のみに基づいて目標スロットル弁開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数とを含む３つ以上のパラメータに基づいて目標スロットル弁開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数以外の１つ又は複数のパラメータに基づいて目標スロットル弁開度を取得するようになっている制御装置にも適用可能である。
【０２４９】
また、第４実施形態は、燃料噴射量と機関回転数とに基づいて図１７（Ｃ）のマップから目標ベーン開度を取得するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量のみに基づいて目標ベーン開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数とを含む３つ以上のパラメータに基づいて目標ベーン開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数以外の１つ又は複数のパラメータに基づいて目標ベーン開度を取得するようになっている制御装置にも適用可能である。
【０２５０】
また、上述した実施形態は、目標値（すなわち、目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度）の取得用の燃料噴射量を得るために学習値によって目標燃料噴射量のみを補正するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、目標値の取得用の機関回転数を得るために学習値によって機関回転数のみを補正するようになっている制御装置にも適用可能であるし、目標値の取得用の燃料噴射量および機関回転数を得るために学習値によって目標燃料噴射量と機関回転数との両方を補正するようになっている制御装置にも適用可能である。
【０２５１】
また、上述した実施形態は、目標値（すなわち、目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度）の取得に燃料噴射量と機関回転数とを用いるようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量と機関回転数とを含む３つ以上のパラメータを目標値の取得に用いるようになっている制御装置にも適用可能であるし、燃料噴射量および機関回転数以外の１つ又は複数のパラメータを目標値の取得に用いるようになっている制御装置にも適用可能である。なお、こうした制御装置に本発明を適用した場合には、少なくとも１つのパラメータが学習値によって補正され、この補正されたパラメータが目標値の取得に用いられる。
【０２５２】
また、第１実施形態および第２実施形態では、空燃比偏差に基づいてＥＧＲ率を補正している。したがって、云い方を換えれば、これら実施形態では、空燃比偏差に基づいてＥＧＲガス量を補正しているとも言える。
【０２５３】
また、上述した実施形態のうち図８のルーチンを利用する実施形態は、燃料噴射量ずれに起因する最大学習値および最小学習値を燃料噴射量と燃圧とに応じて取得するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、これら最大学習値および最小学習値を燃料噴射量のみに応じて取得するようになっている制御装置にも適用可能である。
【０２５４】
また、第１実施形態および第２実施形態では、学習値によってＥＧＲ率が補正される。そして、ＥＧＲ率が補正されると吸入空気量が変化することから、結局のところ、学習値によって吸入空気量を補正していると捉えることもできる。
【０２５５】
なお、上述した実施形態では、推定空燃比は特定の時点の検出吸入空気量と特定の時点の目標燃料噴射量とに基づいて算出される。しかしながら、これら特定の時点の検出吸入空気量の空気と目標燃料噴射量の燃料との混合気が燃焼し、その燃焼ガスが排気ガスとして燃焼室から排出され、その排気ガスが酸素濃度センサに到達するまでには一定の時間を要する。そこで、上述した実施形態において、一次なまし処理が施された推定空燃比から検出空燃比を差し引くことによって空燃比偏差を算出するようにしてもよい。
【０２５６】
また、「燃料噴射量ずれに起因する最大学習値」および「燃料噴射量ずれに起因する最小学習値」を上述した実施形態の手法以外の手法によって求めるようにしてもよい。この手法としては、例えば、「実際の燃料噴射量が目標燃料噴射量からずれる燃料噴射量ずれ（すなわち、ここでの燃料噴射量ずれには、実際の燃料噴射量が目標燃料噴射量よりも多くなる燃料噴射量ずれも、実際の燃料噴射量が目標燃料噴射量よりも少なくなる燃料噴射量ずれも含まれる）が生じている場合に算出される学習値を十分に多い数だけ取得し、これら取得された学習値を統計的な手法によって処理することによって「燃料噴射量ずれに起因する最大学習値」として適した値と「燃料噴射量ずれに起因する最小学習値」として適した値とをそれぞれ「燃料噴射量ずれに起因する最大学習値」および「燃料噴射量ずれに起因する最小学習値」として求めるという手法を挙げることができる。
【０２５７】
同様に、「吸入空気量ずれに起因する最大学習値」および「吸入空気量ずれに起因する最小学習値」を上述した実施形態の手法以外の手法によって求めるようにしてもよい。この手法としては、例えば、「検出吸入空気量が実際の吸入空気量からずれる吸入空気量ずれ（すなわち、ここでの吸入空気量ずれには、検出吸入空気量が実際の吸入空気量よりも多くなる吸入空気量ずれも、検出吸入空気量が実際の吸入空気量よりも少なくなる吸入空気量ずれも含まれる）が生じている場合に算出される学習値を十分に多い数だけ取得し、これら取得された学習値を統計的によって処理することによって「吸入空気量ずれに起因する最大学習値」として適した値と「吸入空気量ずれに起因する最小学習値」として適した値とをそれぞれ「吸入空気量ずれに起因する最大学習値」および「吸入空気量ずれに起因する最小学習値」として求めるという手法を挙げることができる。
【０２５８】
また、上述した実施形態のうち図８のルーチンを利用する実施形態において、「最大燃料噴射量増量ずれ」および「最大燃料噴射量減量ずれ」として、燃料噴射量に関する燃料噴射弁の図面交差（いわゆる公称誤差）を利用するようにしてもよい。すなわち、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も多くなってしまう場合において、最終的に得られる学習値を「燃料噴射量ずれに起因する最大学習値」に設定し、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も少なくなってしまう場合において、最終的に得られる学習値を「燃料噴射量ずれに起因する最小学習値」に設定するようにしてもよい。
【０２５９】
同様に、上述した実施形態のうち図８のルーチンを利用する実施形態において、「最大吸入空気量増量ずれ」および「最大吸入空気量減量ずれ」として、検出吸入空気量に関するエアフローメータの図面交差（いわゆる公称誤差）を利用するようにしてもよい。すなわち、エアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も多くなってしまう場合において、最終的に得られる学習値を「吸入空気量ずれに起因する最大学習値」に設定し、エアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も少なくなってしまう場合において、最終的に得られる学習値を「吸入空気量ずれに起因する最小学習値」に設定するようにしてもよい。
【０２６０】
また、上述した実施形態のうち図１０のルーチンを利用する実施形態において、「最大燃料噴射量増量ずれ」および「最大燃料噴射量減量ずれ」として、燃料噴射量に関する燃料噴射弁の図面交差（いわゆる公称誤差）を利用し、「最大吸入空気量増量ずれ」および「最大吸入空気量減量ずれ」として、検出吸入空気量に関するエアフローメータの図面交差（いわゆる公称誤差）を利用するようにしてもよい。すなわち、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も多くなってしまい且つエアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も多くなってしまう場合において、最終的に得られる学習値を「最大学習値」に設定し、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も少なくなってしまい且つエアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も少なくなってしまう場合において、最終的に得られる学習値を「最小学習値」に設定するようにしてもよい。
【０２６１】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想が組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２６２】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６３】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６４】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第４実施形態の思想が組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２６５】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６６】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６７】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第５実施形態または第６実施形態の思想が組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２６８】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６９】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７０】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想と第４実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２７１】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７２】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７３】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想と第５実施形態または第６実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２７４】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７５】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７６】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いる制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第４実施形態の思想と第５実施形態または第６実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２７７】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７８】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７９】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想と第４実施形態の思想と第５実施形態または第６実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２８０】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２８１】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２８２】
また、「目標燃料噴射量に学習値を加算すること」または「目標燃料噴射量から学習値を減算すること」を「目標燃料噴射量を補正値によって補正すること」と捉えた場合、上述した実施形態は、この目標燃料噴射量を補正する補正値として学習値そのものを用いるようになっている制御装置に本発明を適用した場合の実施形態であると言える。しかしながら、本発明は、目標燃料噴射量を補正する補正値として学習値そのものではなく学習値に基づいて算出される値を用いるようになっている制御装置にも適用可能である。
【０２８３】
また、上述した実施形態では、空燃比偏差に基づいて補正値が算出されたときに「同補正値」と「その時の燃料噴射量と機関回転数とに対応する学習値」とが目標燃料噴射量に加算され或いは目標燃料噴射量から減算されて内燃機関の制御が行われるのではなく、「同補正値」が「その時の燃料噴射量と機関回転数とに対応する学習値」に加算されることによって学習値が更新され、この更新された学習値が目標燃料噴射量に加算され或いは目標燃料噴射量から減算されて内燃機関の制御が行われる。すなわち、「目標燃料噴射量に加算されるべき学習値を取得すること」または「目標燃料噴射量から減算されるべき学習値を取得すること」を「目標燃料噴射量を補正するための補正値を設定すること」と捉えた場合、上述した実施形態では、目標燃料噴射量を補正するための補正値を設定する直前に学習値が更新され（すなわち、算出され）、この更新された学習値を利用して目標燃料噴射量を補正するための補正値が設定されるとも言える。
【０２８４】
以上を考慮すれば、上述した実施形態から導き出される制御装置は、広く捉えれば、燃料供給手段（例えば、燃料噴射弁）と、空気供給手段（例えば、吸気通路）と、を具備し、供給燃料量と供給空気量とを制御することによって混合気の空燃比を制御する内燃機関の制御装置であって、供給燃料量を補正する補正値である供給燃料量補正値または供給空気量を補正する補正値である供給空気量補正値を設定するために利用される学習値（上述した実施形態では、学習値そのものが供給燃料量補正値または供給空気量補正値として利用される）が目標空燃比（例えば、推定空燃比）に対する実際の空燃比（例えば、検出空燃比）のずれ（例えば、空燃比偏差）に基づいて該空燃比のずれが小さくなるような値として算出され、該学習値を利用して供給燃料量補正値または供給空気量補正値が設定される制御装置であって、供給燃料量補正値または供給空気量補正値の設定の直前に前記学習値が算出され、該算出された学習値を利用して供給燃料量補正値または供給空気量補正値が設定される制御装置であると言える。
【０２８５】
また、「目標燃料噴射量に加算されるべき学習値を取得すること」または「目標燃料噴射量から減算されるべき学習値を取得すること」を「目標燃料噴射量を補正するための補正値を設定すること」と捉えた場合、上述した実施形態では、目標燃料噴射量を補正するための補正値の設定を実行する決定がなされたことを契機として学習値の更新（すなわち、算出）が実行され、この学習値の更新の完了後に上記決定に従って目標燃料噴射量を補正するための補正値の設定が実行されるとも言える。
【０２８６】
また、上述した実施形態は、学習値の更新と学習値の利用とを一連の流れの中で行うようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、学習値の更新と学習値の利用とを異なる流れの中で行うようになっている制御装置にも適用可能である。この場合、学習値の更新（すなわち、算出）が予め定められた時間間隔を開けたタイミング毎に実行されると共に学習値の利用が予め定められた時間間隔を開けたタイミング毎に実行されるようになっており、学習値の利用の実行タイミングと同実行タイミングの直後の学習値の更新の実行タイミングとの間の時間よりも、学習値の利用の実行タイミングと同実行タイミングの直前の学習値の更新の実行タイミングとの間の時間の方が短くなるように、学習値の利用の実行タイミングと学習値の更新の実行タイミングとが設定されていることが好ましい。つまり、「目標燃料噴射量に加算されるべき学習値を取得すること」または「目標燃料噴射量から減算されるべき学習値を取得すること」を「目標燃料噴射量を補正するための補正値を設定すること」と捉えた場合、学習値の更新（すなわち、算出）が予め定められた時間間隔を開けたタイミング毎に実行されると共に目標燃料噴射量を補正するための補正値の設定が予め定められた時間間隔を開けたタイミング毎に実行されるようになっており、補正値の設定の実行タイミングと同実行タイミングの直後の学習値の更新の実行タイミングとの間の時間よりも、補正値の設定の実行タイミングと同実行タイミングの直前の学習値の更新の実行タイミングとの間の時間の方が短くなるように、補正値の設定の実行タイミングと学習値の更新の実行タイミングとが設定されていることが好ましい。
【０２８７】
また、以上を考慮すれば、上述した実施形態から導き出される制御装置は、広く捉えれば、供給燃料量の推定値を推定供給燃料量（上述した実施形態では、目標燃料噴射量に学習値を加算して得られる燃料噴射量）として取得する手段と、供給空気量の推定値を推定供給空気量（上述した実施形態では、検出吸入空気量）として取得する手段と、推定供給燃料量と推定供給空気量とに基づいて混合気の空燃比を推定空燃比として算出する手段と、混合気の実際の空燃比を実空燃比（上述した実施形態では、検出空燃比）として取得する手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する手段と、補正値を積算することによって該補正値の学習値を算出して記憶する手段と、を具備し、
空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される、内燃機関の制御装置であると言える。
【０２８８】
そして、この制御装置は、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量増量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リーン方向学習値（上述した実施形態では、燃料噴射量ずれに起因する最大学習値）として求められ、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量減量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リッチ方向学習値（上述した実施形態では、燃料噴射量ずれに起因する最小学習値）として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大吸入空気量増量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リーン方向学習値（上述した実施形態では、吸入空気量ずれに起因する最大学習値）として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大吸入空気量減量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リッチ方向学習値（上述した実施形態では、吸入空気量ずれに起因する最小学習値）として求められ、
前記供給燃料量ずれに起因する最大リーン方向学習値と前記供給空気量ずれに起因する最大リーン方向学習値とのうち大きい方の最大リーン方向学習値が上限リーン方向学習値（上述した実施形態では、上限学習値）に設定され、
前記供給燃料量ずれに起因する最大リッチ方向学習値と前記供給空気量ずれに起因する最大リッチ方向学習値とのうち大きい方の最大リッチ方向学習値が上限リッチ方向学習値（上述した実施形態では、下限学習値）に設定され、
学習値が供給空気量を増大させる値であるとき（上述した実施形態では、学習値が正の値であるとき）に同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
学習値が供給空気量を減少させる値であるとき（上述した実施形態では、学習値が負の値であるとき）に同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限されるものと言える。
【０２８９】
或いは、この制御装置は、
実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該燃料供給量ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が上限リーン方向学習値（上述した実施形態では、上限学習値）に設定され、
実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が上限リッチ方向学習値（上述した実施形態では、下限学習値）に設定され、
学習値が供給空気量を増大させる値であるとき（上述した実施形態では、学習値が正の値であるとき）に同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
前記学習手段によって算出された学習値が供給空気量を減少させる値であるとき（上述した実施形態では、学習値が負の値であるとき）に同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限されるものとも言える。
【図１】
2012086025.tif 000003
【図２】
2012086025.tif 000004
【図３】
2012086025.tif 000005
【図４】
2012086025.tif 000006
【図５】
2012086025.tif 000007
【図６】
2012086025.tif 000008
【図７】
2012086025.tif 000009
【図８】
2012086025.tif 000010
【図９】
2012086025.tif 000011
【図１０】
2012086025.tif 000012
【図１１】
2012086025.tif 000013
【図１２】
2012086025.tif 000014
【図１３】
2012086025.tif 000015
【図１４】
2012086025.tif 000016
【図１５】
2012086025.tif 000017
【図１６】
2012086025.tif 000018
【図１７】
2012086025.tif 000019
【図１８】
2012086025.tif 000020
【図１９】
2012086025.tif 000021
【図２０】
2012086025.tif 000022
【図２１】
2012086025.tif 000023
【図２２】
2012086025.tif 000024
【図２３】
2012086025.tif 000025
【手続補正書】
【提出日】平成23年5月31日(2011.5.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
燃焼室に燃料を供給する燃料供給手段と、燃焼室に空気を供給する空気供給手段と、を具備し、燃焼室に供給される燃料の量である供給燃料量と、燃焼室に供給される空気の量である供給空気量とを制御することによって燃焼室に形成される空気と燃料との混合気の空燃比を制御する内燃機関の制御装置であって、供給燃料量を補正する補正値である供給燃料量補正値または供給空気量を補正する補正値である供給空気量補正値を設定するために利用される学習値が目標空燃比に対する実際の空燃比のずれに基づいて該空燃比のずれが小さくなるような値として算出され、該学習値を利用して供給燃料量補正値または供給空気量補正値が設定される制御装置において、
予め定められた時間間隔を開けたタイミング毎に前記学習値の算出が実行され、
前記学習値を利用して供給燃料量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給燃料量補正値の設定が実行されるようになっており、供給燃料量補正値の設定の実行タイミングと同実行タイミング後に初めて実行される学習値の算出の実行タイミングとの間の時間よりも、学習値の算出の実行タイミングと同実行タイミング後に初めて実行される供給燃料量補正値の設定の実行タイミングとの間の時間の方が短くなるように、前記供給燃料量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されており、
前記学習値を利用して供給空気量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給空気量補正値の設定が実行されるようになっており、供給空気量補正値の設定の実行タイミングと同実行タイミング後に初めて実行される学習値の算出の実行タイミングとの間の時間よりも、学習値の算出の実行タイミングと同実行タイミング後に初めて実行される供給空気量補正値の設定の実行タイミングとの間の時間の方が短くなるように、前記供給空気量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されている内燃機関の制御装置。
【請求項２】
（削除）
【請求項３】
（削除）
【請求項４】
前記学習値に関する上限値または下限値が設定され、算出された学習値が前記上限値よりも大きいときには同学習値が前記上限値とされ或いは算出された学習値が前記下限値よりも小さいときには同学習値が前記下限値とされ、供給燃料量の推定値である推定供給燃料量に対する実際の供給燃料量のずれ量である供給燃料量ずれ量が予め定められた供給燃料量ずれ量であるときに算出されると推定される学習値が前記上限値または下限値として設定される請求項１に記載の内燃機関の制御装置。
【請求項５】
前記予め定められた供給燃料量ずれ量が供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方に基づいて決定される請求項４に記載の内燃機関の制御装置。
【請求項６】
前記予め定められた供給燃料量ずれ量が想定される供給燃料量ずれ量の最大値または最小値である請求項４または５に記載の内燃機関の制御装置。
【請求項７】
前記学習値に関する上限値または下限値が設定され、算出された学習値が前記上限値よりも大きいときには同学習値が前記上限値とされ或いは算出された学習値が前記下限値よりも小さいときには同学習値が前記下限値とされ、実際の供給空気量に対する供給空気量の推定値である推定供給空気量のずれ量である供給空気量ずれ量が予め定められた供給空気量ずれ量であるときに算出されると推定される学習値が前記上限値または下限値として設定される請求項１に記載の内燃機関の制御装置。
【請求項８】
前記予め定められた供給空気量ずれ量が供給空気量に基づいて決定される請求項７に記載の内燃機関の制御装置。
【請求項９】
前記予め定められた供給空気量ずれ量が想定される供給空気量ずれ量の最大値または最小値である請求項７または８に記載の内燃機関の制御装置。
【請求項１０】
前記供給燃料量補正値が供給燃料量の推定値である推定供給燃料量に対する実際の供給燃料量のずれを小さくするための補正値である請求項１および４〜９のいずれか１つに記載の内燃機関の制御装置。
【請求項１１】
前記供給空気量補正値が実際の供給空気量に対する供給空気量の推定値である推定供給空気量のずれを小さくするための補正値である請求項１および４〜１０のいずれか１つに記載の内燃機関の制御装置。
【請求項１２】
燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置において、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リーン方向学習値として求められ、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リッチ方向学習値として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リーン方向学習値として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リッチ方向学習値として求められ、
前記供給燃料量ずれに起因する最大リーン方向学習値と前記供給空気量ずれに起因する最大リーン方向学習値とのうち大きい方の最大リーン方向学習値が上限リーン方向学習値に設定され、
前記供給燃料量ずれに起因する最大リッチ方向学習値と前記供給空気量ずれに起因する最大リッチ方向学習値とのうち大きい方の最大リッチ方向学習値が上限リッチ方向学習値に設定され、
前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される内燃機関の制御装置。
【請求項１３】
前記供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方によって定まる値である請求項１２に記載の内燃機関の制御装置。
【請求項１４】
前記供給空気量ずれに起因する最大リッチ方向学習値および最大リーン方向学習値が推定供給空気量によって定まる値である請求項１２または１３に記載の内燃機関の制御装置。
【請求項１５】
燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置において、
実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が上限リーン方向学習値に設定され、
実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が上限リッチ方向学習値に設定され、
前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される内燃機関の制御装置。
【請求項１６】
前記上限リッチ方向学習値および上限リーン方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方と推定供給空気量とによって定まる値である請求項１５に記載の内燃機関の制御装置。
【請求項１７】
燃焼室から排気通路に排出された排気ガスを吸気通路に導入する排気再循環手段をさらに具備し、前記補正値算出手段によって算出される補正値が前記排気再循環手段によって吸気通路に導入される排気ガスの量である再循環排気ガス量を補正する補正値である請求項１２〜１６のいずれか１つに記載の内燃機関の制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
決定に利用されるべきであるにも係わらず、目標燃料噴射量補正値が直前に更新されたものではない場合にも、空燃比が目標空燃比に正確に制御されない。
［００１０］
そこで、本発明の目的は、吸入空気量に関する補正値または燃料噴射量に関する補正値を利用して空燃比を制御する場合において空燃比を目標空燃比に正確に制御することにある。
課題を解決するための手段
［００１１］
本願の発明は、燃焼室に燃料を供給する燃料供給手段と、燃焼室に空気を供給する空気供給手段と、を具備し、燃焼室に供給される燃料の量である供給燃料量と、燃焼室に供給される空気の量である供給空気量とを制御することによって燃焼室に形成される空気と燃料との混合気の空燃比を制御する内燃機関の制御装置に関する。
［００１２］
そして、この発明では、供給燃料量を補正する補正値である供給燃料量補正値または供給空気量を補正する補正値である供給空気量補正値を設定するために利用される学習値が目標空燃比に対する実際の空燃比のずれに基づいて該空燃比のずれが小さくなるような値として算出され、該学習値を利用して供給燃料量補正値または供給空気量補正値が設定される。
［００１３］
そして、この発明では、予め定められた時間間隔を開けたタイミング毎に前記学習値の算出が実行される。
そして、前記学習値を利用して供給燃料量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給燃料量補正値の設定が実行されるようになっている。そして、この場合、供給燃料量補正値の設定の実行タイミングと同実行タイミングの直後の学習値の算出の実行タイミングとの間の時間よりも、供給燃料量補正値の設定の実行タイミングと同実行タイミングの直前の学習値の算出の実行タイミングとの間の時間の方が短くなるように、前記供給燃料量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されている。
また、前記学習値を利用して供給空気量補正値が設定される場合、予め定められた時間間隔を開けたタイミング毎に供給空気量補正値の設定が実行されるようになっている。そして、この場合、供給空気量補正値の設定の実行タイミングと同実行タイミングの直後の学習値の算出の実行タイミングとの間の時間よりも、供給空気量補正値の設定の実行タイミングと同事項タイミングの直前の学習値の算出の実行タイミングとの間の時間の方が短くなるように、前記供給空気量補正値の設定の実行タイミングと前記学習値の算出の実行タイミングとが設定されている。
［００１４］
これによれば、供給燃料量補正値または供給空気量補正値が設定され、この設定された供給燃料量補正値または供給空気量補正値によって供給燃料量または供給空気量が補正される前に、学習値が新たに算出される。すなわち、学習値が最新の学習値に更新される。そして、この学習値は、供給燃料量補正値または供給空気量補正値の設定に利用されるものである。したがって、供給燃料量補正値または供給空気量補正値の設定には最新の学習値が利用されることになる。さらに、供給燃料量補正値または供給空気量補正値の設定の直前に最新の学習値が算出されるのであるから、供給燃料量補正値また
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００５
【補正方法】変更
【補正の内容】
【０００５】
は供給空気量補正値の設定にはその時の最適な学習値が利用されることになる。このため、供給燃料量または供給空気量が不適切に補正されることが回避されることから、空燃比が目標空燃比に正確に制御されることになる。
［００１５］
［００１６］
［００１７］
［００１８］
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
［００１９］
また、上記発明において、好ましくは、前記学習値に関する上限値または下限値が設定される。そして、この場合、算出された学習値が前記上限値よりも大きいときには同学習値が前記上限値とされ或いは算出された学習値が前記下限値よりも小さいときには同学習値が前記下限値とされる。ここで、供給燃料量の推定値である推定供給燃料量に対する実際の供給燃料量のずれ量である供給燃料量ずれ量が予め定められた供給燃料量ずれ量であるときに算出されると推定される学習値が前記上限値または下限値として設定される。
［００２０］
これによれば、学習値に関する上限値または下限値が設定されている場合において、供給燃料量補正値または供給空気量補正値の設定の直前に算出された学習値が同設定に利用される前に、学習値が上限値よりも大きいときには学習値が上限値に制限され、或いは、学習値が下限値よりも小さいときには学習値が下限値に制限される。このため、供給燃料量補正値または供給空気量補正値の設定に上限値よりも大きい学習値または下限値よりも小さい学習値が利用されてしまうことが回避される。
［００２１］
また、上記発明において、好ましくは、前記予め定められた供給燃料量ずれ量が供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方に基づいて決定される。
［００２２］
これによれば、内燃機関に求められる要件（例えば、排気エミッションの低減、燃費の向上、燃焼室における失火の回避など）が確実に達成されるように学習値を制限するという観点から、より適切な上限値または下限値が設定される。すなわち、供給燃料量ずれは、供給燃料量や燃料供給手段から燃料が供給されるときの燃料の圧力の影響を大きく受ける。そして、上記予め定められた供給燃料量ずれ量は上限値または下限値の設定に利用される。一方、供給燃料量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給燃料量または上記燃料の圧力の少なくとも一方に基づいて上記予め定められた供給燃料量ずれ量が決定されれば、内燃機関に求められる要件
【手続補正書】
【提出日】平成25年3月18日(2013.3.18)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
内燃機関の空燃比制御装置が特許文献１に開示されている。この空燃比制御装置は、内燃機関の燃焼室内に形成される空気と燃料との混合気の空燃比を制御する。より具体的には、特許文献１の内燃機関は、吸気管を流れる空気の量を検出するための吸入空気量センサ（すなわち、エアフローメータ）と、吸気ポートに燃料を噴射するためのインジェクタ（すなわち、燃料噴射弁）とを有する。そして、特許文献１の空燃比制御装置は、吸入空気量センサによって検出される吸入空気量（すなわち、内燃機関の燃焼室に吸入される空気の量）を用いて目標空燃比（すなわち、目標とする混合気の空燃比）を達成するためにインジェクタから噴射させるべき燃料の量（以下この量を「目標燃料噴射量」という）を算出する。斯くして算出される目標燃料噴射量の燃料をインジェクタから噴射することによって目標空燃比を達成することができる。
【０００３】
ところで、吸入空気量センサによって検出される吸入空気量（以下この吸入空気量を「検出吸入空気量」という）が実際の吸入空気量からずれていると、検出吸入空気量を用いて算出される目標燃料噴射量が目標空燃比を達成する燃料噴射量からずれたものになってしまう。したがって、この場合、算出された目標燃料噴射量の燃料がインジェクタから噴射されると、目標空燃比が達成されないことになる。また、目標燃料噴射量の燃料をインジェクタに噴射させるための指令値がインジェクタに与えられたときにインジェクタから実際に噴射される燃料の量が目標燃料噴射量からずれていると、目標空燃比が達成されないことになる。
【０００４】
つまり、検出吸入空気量が実際の吸入空気量からずれている吸入空気量ずれが生じていたり、実際の燃料噴射量が目標燃料噴射量からずれている燃料噴射量ずれが生じていたりする場合、目標空燃比が達成されないことになる。そこで、特許文献１の空燃比制御装置は、吸入空気量ずれや燃料噴射量ずれが生じている場合であっても、以下のようにして目標空燃比を達成するようにしている。
【０００５】
すなわち、特許文献１の内燃機関は、燃焼室から排出された排気ガス中の酸素濃度を検出するＯ２センサ（すなわち、酸素濃度センサ）を排気管に有する。そして、特許文献１の空燃比制御装置では、このＯ２センサによって検出される酸素濃度を用いて混合気の空燃比が算出され、この算出された空燃比と目標空燃比との偏差（以下この偏差を「空燃比偏差」という）が算出される。そして、機関回転数（すなわち、内燃機関の回転数）が比較的大きく且つ機関負荷（すなわち、内燃機関の負荷）が比較的大きい状態に機関運転状態（すなわち、内燃機関の運転状態）があるときには、算出された空燃比偏差が零になる或いは小さくなるように検出吸入空気量を補正するための補正値（以下この補正値を「検出吸入空気量補正値」という）が算出され、新たな検出吸入空気量補正値として記憶される。すなわち、既に記憶されている検出吸入空気量補正値が更新される。一方、機関回転数が比較的小さいか或いは機関負荷が比較的小さい状態に機関運転状態があるときには、算出された空燃比偏差が零になる或いは小さくなるように目標燃料噴射量を補正するための補正値（以下この補正値を「目標燃料噴射量補正値」という）が算出され、新たな目標燃料噴射量補正値として記憶される。すなわち、既に記憶されている目標燃料噴射量補正値が更新される。
【０００６】
そして、検出吸入空気量を用いて目標燃料噴射量が算出されるときには上記検出吸入空気量補正値によって補正された検出吸入空気量を用いて目標燃料噴射量が算出され、この算出された目標燃料噴射量が上記目標燃料噴射量補正値によって補正され、この補正された目標燃料噴射量が最終的な目標燃料噴射量とされる。斯くして、特許文献１の空燃比制御装置は、吸入空気量ずれや燃料噴射量ずれが生じている場合であっても、目標空燃比を達成するようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平２−１９１８５０号公報
【特許文献２】特開２００５−２３９３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上述したように、特許文献１の空燃比制御装置では、機関回転数が比較的大きく且つ機関負荷が比較的大きい状態に機関運転状態があるときには検出吸入空気量補正値のみが更新され、その他の状態に機関運転状態があるときには目標燃料噴射量補正値のみが更新される。一方、特許文献１の空燃比制御装置では、最終的な目標燃料噴射量を決定するときには常に検出吸入空気量補正値と目標燃料噴射量補正値との両方が利用される。したがって、最終的な目標燃料噴射量を決定するために検出吸入空気量補正値を利用しようとしたときに機関運転状態によっては当該検出吸入空気量補正値が直前に更新されたものではないことがあり、同様に、最終的な目標燃料噴射量を決定するために目標燃料噴射量補正値を利用しようとしたときに機関運転状態によっては当該目標燃料噴射量補正値が直前に更新されたものではないこともある。つまり、最終的な目標燃料噴射量を決定するために検出吸入空気量補正値および目標燃料噴射量補正値を利用しようとしたときには、これら補正値のうちの一方は直前に更新されたものではないことになる。
【０００９】
そして、当然のことながら、空燃比を目標空燃比に正確に制御するという観点からは直前に更新された検出吸入空気量補正値が最終的な目標燃料噴射量の決定に利用されるべきであるにも係わらず、検出吸入空気量補正値が直前に更新されたものではない場合、空燃比が目標空燃比に正確に制御されないことになるし、同様に、空燃比を目標空燃比に正確に制御するという観点からは直前に更新された目標吸入空気量補正値が最終的な目標燃料噴射量の決定に利用されるべきであるにも係わらず、目標燃料噴射量補正値が直前に更新されたものではない場合にも、空燃比が目標空燃比に正確に制御されない。
【００１０】
そこで、本発明の目的は、吸入空気量に関する補正値または燃料噴射量に関する補正値を利用して空燃比を制御する場合において空燃比を目標空燃比に正確に制御することにある。
【課題を解決するための手段】
【００１１】
【００１２】
【００１３】
【００１４】
【００１５】
【００１６】
【００１７】
【００１８】
【００１９】
【００２０】
【００２１】
【００２２】
【００２３】
【００２４】
【００２５】
【００２６】
【００２７】
【００２８】
【００２９】
【００３０】
【００３１】
【００３２】
【００３３】
また、本願の発明は、燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置に関する。
【００３４】
そして、この発明では、推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リーン方向学習値として求められる。
【００３５】
さらに、この発明では、推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リッチ方向学習値として求められる。
【００３６】
さらに、この発明では、推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リーン方向学習値として求められる。
【００３７】
さらに、この発明では、推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リッチ方向学習値として求められる。
【００３８】
そして、この発明では、前記供給燃料量ずれに起因する最大リーン方向学習値と前記供給空気量ずれに起因する最大リーン方向学習値とのうち大きい方の最大リーン方向学習値が上限リーン方向学習値に設定される。
【００３９】
さらに、この発明では、前記供給燃料量ずれに起因する最大リッチ方向学習値と前記供給空気量ずれに起因する最大リッチ方向学習値とのうち大きい方の最大リッチ方向学習値が上限リッチ方向学習値に設定される。
【００４０】
そして、この発明では、前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限される。
【００４１】
一方、この発明では、前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される。
【００４２】
これによれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限リーン方向学習値および上限リッチ方向学習値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に供給燃料量または供給空気量を補正することが好ましい。一方、内燃機関における各種制御は、実際の供給燃料量が推定供給燃料量に対して正の方向にずれたときに供給燃料量ずれ量が最も大きくなると想定される場合、および、実際の供給燃料量が推定供給燃料量に対して負の方向にずれたときに供給燃料量ずれ量が最も大きくなると想定される場合においても、内燃機関に求められる要件が達成されるように構築される。つまり、供給燃料量ずれが想定される範囲内で最も大きい場合の学習値（つまり、供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値）と供給空気量ずれが想定される範囲内で最も大きい場合の学習値（つまり、供給空気量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値）とが比較され、これら学習値のうち大きい方の学習値が上限リーン方向学習値または上限リッチ方向学習値に設定され、これら上限リーン方向学習値または上限リッチ方向学習値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ供給燃料量または供給空気量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に供給燃料量または供給空気量を補正するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。
【００４３】
なお、上記発明において、好ましくは、前記供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方によって定まる値である。
【００４４】
これによれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定される。すなわち、供給燃料量ずれは、供給燃料量や燃料供給手段から燃料が供給されるときの燃料の圧力の影響を大きく受ける。そして、供給燃料ずれに起因する最大リーン方向学習値および最大リッチ方向学習値はそれぞれ上限リーン方向学習値および上限リッチ方向学習値の設定に利用される。一方、供給燃料量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給燃料量または上記燃料の圧力の少なくとも一方に基づいて供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が定められれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。
【００４５】
また、上記発明において、好ましくは、前記供給空気量ずれに起因する最大リッチ方向学習値および最大リーン方向学習値が推定供給空気量によって定まる値である。
【００４６】
これによれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定される。すなわち、供給空気量ずれは、吸入空気量の影響を大きく受ける。そして、供給空気量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値はそれぞれ上限リーン方向学習値および上限リッチ方向学習値の設定に利用される。一方、供給空気量ずれは内燃機関に求められる要件に大きく影響する。したがって、供給空気量に基づいて供給空気量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が定められれば、内燃機関に求められる要件が確実に達成されるように学習値を制限するという観点から、より適切な上限リーン方向学習値または上限リッチ方向学習値が設定されることになるのである。
【００４７】
【００４８】
【００４９】
【００５０】
【００５１】
【００５２】
【００５３】
【００５４】
【００５５】
また、上記発明において、好ましくは、燃焼室から排気通路に排出された排気ガスを吸気通路に導入する排気再循環手段をさらに具備する。そして、前記補正値算出手段によって算出される補正値が前記排気再循環手段によって吸気通路に導入される排気ガスの量である再循環排気ガス量を補正する補正値である。
【図面の簡単な説明】
【００５６】
【図１】本発明の第１実施形態の制御装置が適用された内燃機関の全体図である。
【図２】（Ａ）は第１実施形態においてアクセルペダル開度Ｄａｃに基づいて目標燃料噴射量ＴＱを取得するために利用されるマップを示した図であり、（Ｂ）は第１実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標スロットル弁開度ＴＤｔｈを取得するために利用されるマップを示した図であり、（Ｃ）は第１実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標ＥＧＲ率ＴＲｅｇｒを取得するために利用されるマップを示した図である。
【図３】第１実施形態において燃料噴射量ＴＱと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図４】（Ａ）は第１実施形態において燃料噴射量Ｑと燃圧Ｐｆとに基づいて燃料噴射量ずれに起因する最大学習値ＭａｘＦを取得するために利用されるマップを示した図であり、（Ｂ）は第１実施形態において燃料噴射量Ｑと燃圧Ｐｆとに基づいて燃料噴射量ずれに起因する最小学習値ＭｉｎＦを取得するために利用されるマップを示した図であり、（Ｃ）は第１実施形態において吸入空気量Ｇａに基づいて吸入空気量ずれに起因する最大学習値ＭａｘＡを取得するために利用されるマップを示した図であり、（Ｄ）は第１実施形態において吸入空気量Ｇａに基づいて吸入空気量ずれに起因する最小学習値ＭｉｎＡを取得するために利用されるマップを示した図である。
【図５】第１実施形態の燃料噴射弁の制御を実行するルーチンを示したフローチャートである。
【図６】第１実施形態のスロットル弁の制御を実行するルーチンを示したフローチャートである。
【図７】第１実施形態のＥＧＲ制御弁の制御を実行するルーチンを示したフローチャートである。
【図８】第１実施形態の学習値の更新を実行するルーチンを示したフローチャートである。
【図９】（Ａ）は第２実施形態において燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとに基づいて最大学習値Ｍａｘを取得するために利用されるマップを示した図であり、（Ｂ）は第２実施形態において燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとに基づいて最小学習値Ｍｉｎを取得するために利用されるマップを示した図である。
【図１０】第２実施形態の学習値の更新を実行するルーチンを示したフローチャートである。
【図１１】本発明の第３実施形態の制御装置が適用された内燃機関の全体図である。
【図１２】（Ａ）は第３実施形態においてアクセルペダル開度Ｄａｃに基づいて目標燃料噴射量ＴＱを取得するために利用されるマップを示した図であり、（Ｂ）は第３実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標スロットル弁開度ＴＤｔｈを取得するために利用されるマップを示した図であり、
【図１３】第３実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図１４】第３実施形態のスロットル弁の制御を実行するルーチンを示したフローチャートである。
【図１５】本発明の第２実施形態の制御装置が適用された内燃機関の全体図である。
【図１６】図１５に示されている内燃機関の過給機の排気タービンを示した図である。
【図１７】（Ａ）は第４実施形態においてアクセルペダル開度Ｄａｃに基づいて目標燃料噴射量ＴＱを取得するために利用されるマップを示した図であり、（Ｂ）は第４実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標スロットル弁開度ＴＤｔｈを取得するために利用されるマップを示した図であり、（Ｃ）は第４実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて目標ベーン開度ＴＤｖを取得するために利用されるマップを示した図である。
【図１８】第４実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図１９】第４実施形態のベーンの制御を実行するルーチンを示したフローチャートである。
【図２０】第５実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【図２１】第５実施形態の燃料噴射弁の制御を実行するルーチンを示したフローチャートである。
【図２２】第５実施形態のＥＧＲ制御弁の制御を実行するルーチンを示したフローチャートである。
【図２３】第６実施形態において燃料噴射量Ｑと機関回転数Ｎとに基づいて学習値ＫＧを取得するために利用されるマップを示した図である。
【発明を実施するための形態】
【００５７】
以下、図面を参照して本発明の内燃機関の制御装置の実施形態について説明する。第１実施形態の制御装置が適用された内燃機関が図１に示されている。図１に示されている内燃機関１０は、内燃機関の本体（以下「機関本体」という）２０と、該機関本体の４つの燃焼室にそれぞれ対応して配置された燃料噴射弁２１と、該燃料噴射弁２１に燃料供給管２３を介して燃料を供給する燃料ポンプ２２とを具備する。また、内燃機関１０は、外部から燃焼室に空気を供給する吸気系３０と、燃焼室から排出される排気ガスを外部に排出する排気系４０とを具備する。また、内燃機関１０は、圧縮自着火式の内燃機関（いわゆるディーゼルエンジン）である。
【００５８】
吸気系３０は、吸気枝管３１と吸気管３２とを有する。なお、以下の説明において、吸気系３０を「吸気通路」と称することもある。吸気枝管３１の一方の端部（すなわち、枝部）は、各燃焼室に対応して機関本体２０内に形成された吸気ポート（図示せず）に接続されている。一方、吸気枝管３１の他方の端部は、吸気管３２に接続されている。吸気管３２内には、該吸気管内を流れる空気の量を制御するスロットル弁３３が配置されている。さらに、吸気管３２には、該吸気管内を流れる空気を冷却するインタークーラ３４が配置されている。さらに、吸気管３２の外部を臨む端部には、エアクリーナ３６が配置されている。
【００５９】
なお、スロットル弁３３は、その動作状態（具体的には、その開度であって、以下この開度を「スロットル弁開度」という）が制御されることによって燃焼室に吸入されるガスの量を可変に制御することができる。
【００６０】
一方、排気系４０は、排気枝管４１と排気管４２とを有する。なお、以下の説明において、排気系４０を「排気通路」と称することもある。排気枝管４１の一方の端部（すなわち、枝部）は、各燃焼室に対応して機関本体２０内に形成された排気ポート（図示せず）に接続されている。一方、排気枝管４１の他方の端部は、排気管４２に接続されている。排気管４２には、排気ガス中の特定成分を浄化する排気浄化触媒４３Ａを内蔵した触媒コンバータ４３が配置されている。
【００６１】
また、排気浄化触媒４３Ａよりも上流側の排気管４２には、燃焼室から排出された排気ガス中の酸素濃度に応じた信号を出力する酸素濃度センサ（以下この酸素濃度センサを「上流側酸素濃度センサ」という）７６Ｕが取り付けられている。一方、排気浄化触媒４３Ａよりも下流側の排気管４２には、排気浄化触媒４３Ａから流出する排気ガス中の酸素濃度に応じた信号を出力する酸素濃度センサ（以下この酸素濃度センサを「下流側酸素濃度センサ」という）７６Ｄが取り付けられている。
【００６２】
また、エアクリーナ３６よりも下流であってコンプレッサ３５Ａよりも上流の吸気管３２には、該吸気管内を流れる空気の流量（したがって、燃焼室に吸入される空気の流量であり、以下この流量を「吸入空気量」という）に応じた信号を出力するエアフローメータ７１が取り付けられている。また、吸気枝管３１には、該吸気枝管内のガスの圧力（すなわち、吸気圧）に応じた信号を出力する圧力センサ（以下「吸気圧センサ」という）７２が取り付けられている。また、機関本体２０には、クランクシャフトの回転位相に応じた信号を出力するクランクポジションセンサ７４が取り付けられている。
【００６３】
また、内燃機関１０は、排気再循環装置（以下これを「ＥＧＲ装置」という）５０を具備する。ＥＧＲ装置５０は、排気再循環管（以下これを「ＥＧＲ通路」という）５１を有する。ＥＧＲ通路５１の一端は、排気枝管４１に接続されている。すなわち、ＥＧＲ通路５１の一端は、排気タービン３５Ｂよりも上流の排気通路４０の部分に接続されている。一方、ＥＧＲ通路５１の他端は、吸気枝管３１に接続されている。すなわち、ＥＧＲ通路５１の他端は、コンプレッサ３５Ａよりも下流の吸気通路の部分に接続されている。また、ＥＧＲ通路５１には、該ＥＧＲ通路内を流れる排気ガスの流量を制御する排気再循環制御弁（以下この排気再循環制御弁を「ＥＧＲ制御弁」という）５２が配置されている。内燃機関１０では、ＥＧＲ制御弁５２の開度（以下この開度を「ＥＧＲ制御弁開度」という）が大きいほど、ＥＧＲ通路５１内を流れる排気ガスの流量が多くなる。さらに、ＥＧＲ通路５１には、該ＥＧＲ通路内を流れる排気ガスを冷却する排気再循環クーラ５３が配置されている。
【００６４】
なお、ＥＧＲ装置５０は、ＥＧＲ制御弁５２の動作状態（具体的には、ＥＧＲ制御弁５２の開度であって、以下この開度を「ＥＧＲ制御弁開度」という）を制御することによってＥＧＲ通路５１を介して吸気通路３０に導入される排気ガス（以下この排気ガスを「ＥＧＲガス」という）の量を可変に制御することができる。
【００６５】
また、内燃機関１０は、電子制御装置６０を具備する。電子制御装置６０は、マイクロプロセッサ（ＣＰＵ）６１と、リードオンリメモリ（ＲＯＭ）６２と、ランダムアクセスメモリ（ＲＡＭ）６３と、バックアップＲＡＭ（Ｂａｃｋ  ｕｐ  ＲＡＭ）６４と、インターフェース６５とを有する。インターフェース６５には、燃料噴射弁２１、燃料ポンプ２２、スロットル弁３３、および、ＥＧＲ制御弁５２が接続されており、これらの動作を制御する制御信号がインターフェース６５を介して電子制御装置６０から与えられる。また、インターフェース６５には、エアフローメータ７１、吸気圧センサ７２、クランクポジションセンサ７４、および、アクセルペダルＡＰの開度（すなわち、アクセルペダルＡＰの踏込量であって、以下これを「アクセルペダル開度」という）に応じた信号を出力するアクセルペダル開度センサ７５、上流側酸素濃度センサ７６Ｕ、および、下流側酸素濃度センサ７６Ｄも接続されており、エアフローメータ７１から出力される信号、吸気圧センサ７２から出力される信号、クランクポジションセンサ７４から出力される信号、アクセルペダル開度センサ７５から出力される信号、上流側酸素濃度センサ７６Ｕから出力される信号、および、下流側酸素濃度センサ７６Ｄから出力される信号がインターフェース６５に入力される。
【００６６】
なお、エアフローメータ７１から出力される信号に基づいて吸入空気量が電子制御装置６０によって算出され、吸気圧センサ７２から出力される信号に基づいて吸気圧が電子制御装置６０によって算出され、クランクポジションセンサ７４から出力される信号に基づいて機関回転数（すなわち、内燃機関１０の回転数）が電子制御装置６０によって算出され、アクセルペダル開度センサ７５から出力される信号に基づいてアクセルペダル開度が電子制御装置６０によって算出され、上流側酸素濃度センサ７６Ｕから出力される信号に基づいて燃焼室から排出された排気ガスの空燃比が電子制御装置６０によって算出され、下流側酸素濃度センサ７６Ｄから出力される信号に基づいて排気浄化触媒４３Ａから流出する排気ガスの空燃比が電子制御装置６０によって算出される。したがって、第１実施形態では、実質的に、エアフローメータ７１は吸入空気量を検出する手段として機能し、吸気圧センサ７２は吸気圧を検出する手段として機能し、クランクポジションセンサ７４は機関回転数を検出する手段として機能し、アクセルペダル開度センサ７５はアクセルペダル開度を検出する手段として機能し、上流側酸素濃度センサ７６Ｕは燃焼室から排出された排気ガス中の酸素濃度を検出する手段として機能し、下流側酸素濃度センサ７６Ｄは排気浄化触媒４３Ａから流出する排気ガス中の酸素濃度を検出する手段として機能するものと言える。
【００６７】
また、燃焼室に吸入されるガスの量は吸気圧が高いほど多く、逆に、吸気圧が低いほど少ない。そして、吸気圧センサ７２は吸気圧を検出する手段として機能するのであるから、当該センサ７２によって検出される吸気圧に基づいて燃焼室に吸入されるガスの量を把握することができる。したがって、第１実施形態では、実質的に、吸気圧センサ７１は燃焼室に吸入されるガスの量を検出する手段として機能するものと言える。
【００６８】
また、燃焼室に形成される混合気の燃焼によって生成される既燃ガス中の酸素濃度は、混合気の空燃比が大きいほど高く、逆に、混合気の空燃比が小さいほど低い。また、理論空燃比の混合気が燃焼室において燃焼したときに該燃焼によって生成される既燃ガス中の酸素濃度を基準酸素濃度とした場合、燃焼室に形成された混合気の燃焼によって生成される既燃ガス中の酸素濃度は、混合気の空燃比が理論空燃比よりも大きいときには基準酸素濃度よりも高く、混合気の空燃比が理論空燃比よりも小さいときには基準酸素濃度よりも低い。そして、上流側酸素濃度センサ７６Ｕは燃焼室から排出される排気ガス中の酸素濃度を検出する手段として機能するのであるから、当該センサ７６Ｕによって検出される酸素濃度に基づいて混合気の空燃比を把握することができる。したがって、第１実施形態では、実質的に、上流側酸素濃度センサ７６Ｕは混合気の空燃比を検出する手段として機能するものと言える。
【００６９】
次に、第１実施形態の燃料噴射弁の制御について説明する。第１実施形態では、図１に示されている内燃機関においてアクセルペダル開度に応じた適切な燃料噴射量（すなわち、燃料噴射弁から噴射される燃料の量）が予め実験等によって求められ、これら求められた燃料噴射量が図２（Ａ）に示されているように目標燃料噴射量ＴＱとしてアクセルペダル開度Ｄａｃの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中（すなわち、内燃機関の運転中）、アクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、この取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間（すなわち、燃料噴射弁から燃料を噴射させるために燃料噴射弁を開弁させる時間）が当該目標燃料噴射量ＴＱに基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【００７０】
なお、図２（Ａ）のマップでは、アクセルペダル開度Ｄａｃが大きいほど目標燃料噴射量ＴＱが多くなっている。
【００７１】
次に、第１実施形態のスロットル弁の制御について説明する。第１実施形態では、図１に示されている内燃機関において燃料噴射量と機関回転数（すなわち、内燃機関の回転数）とに応じた適切なスロットル弁開度（すなわち、スロットル弁の開度）が予め実験等によって求められ、これら求められたスロットル弁開度が図２（Ｂ）に示されているように目標スロットル弁開度ＴＤｔｈとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。そして、この取得された目標スロットル弁開度ＴＤｔｈだけスロットル弁が開弁するようにスロットル弁の開度が制御される。
【００７２】
なお、図２（Ｂ）のマップでは、燃料噴射量Ｑが多いほど目標スロットル弁開度ＴＤｔｈが大きくなり、機関回転数Ｎが大きいほど目標スロットル弁開度ＴＤｔｈが大きくなっている。
【００７３】
また、第１実施形態では、図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈを取得するために利用される燃料噴射量Ｑとして目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が採用される。
【００７４】
次に、第１実施形態の制御装置によるＥＧＲ制御弁の開度の制御について説明する。第１実施形態では、燃料噴射量と機関回転数とに応じた適切なＥＧＲ率（すなわち、燃焼室に吸入されるガス中に含まれる排気ガスの質量割合）が予め実験等によって求められ、これら求められたＥＧＲ率が図２（Ｃ）に示されているように目標ＥＧＲ率ＴＲｅｇｒとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。そして、この取得された目標ＥＧＲ率ＴＲｅｇｒを達成するためのＥＧＲ制御弁開度（すなわち、ＥＧＲ制御弁の開度）が目標ＥＧＲ制御弁開度ＴＤｅｇｒとして予め定められた演算則に従って算出される。そして、この算出された目標ＥＧＲ制御弁開度ＴＤｅｇｒだけＥＧＲ制御弁が開弁するようにＥＧＲ制御弁の開度が制御される。
【００７５】
なお、図２（Ｃ）のマップでは、燃料噴射量Ｑが多いほど目標ＥＧＲ率ＴＲｅｇｒが小さくなり、機関回転数Ｎが大きいほど目標ＥＧＲ率ＴＲｅｇｒが小さくなっている。
【００７６】
ところで、第１実施形態では、図３に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図３のマップから取得される。そして、この取得された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ＥＧＲ率取得用の燃料噴射量（すなわち、図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒを取得するために用いられる燃料噴射量）として用いられると共に、推定空燃比算出用の燃料噴射量（すなわち、混合気の空燃比の推定値を算出するために用いられる燃料噴射量）として用いられる。
【００７７】
次に、第１実施形態の上記学習値の更新について説明する。上述したように、第１実施形態では、図３に示されているように燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。ここで、学習値ＫＧの初期値は、全て「１」に設定されている。
【００７８】
そして、機関運転中、所定の条件が成立する毎に補正値が算出され、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしてその時の目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算されることによって得られる新たな学習値ＫＧがその時の燃料噴射量Ｑと機関回転数Ｎとに対応する学習値として図３のマップに記憶される。つまり、機関運転中、所定の条件が成立する毎にその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが補正値によって更新される。
【００７９】
次に、第１実施形態の上記補正値の算出について説明する。第１実施形態では、所定の条件が成立する毎に検出空燃比（すなわち、上流側酸素濃度センサの出力値から算出される混合気の空燃比）が取得されると共に推定空燃比が算出される。ここで、推定空燃比とは、上述したように、混合気の空燃比の推定値であって、燃料噴射量Ｑと機関回転数Ｎとに基づいて図３のマップから取得される学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量と検出吸入空気量（すなわち、エアフローメータの出力値から算出される吸入空気量）とを用いて算出される混合気の空燃比である。そして、推定空燃比に対する検出空燃比の偏差（以下この偏差を「空燃比偏差」という）が算出される。そして、この算出された空燃比偏差に基づいて補正値が算出される。
【００８０】
なお、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【００８１】
ところで、上述したように更新される学習値を目標燃料噴射量に加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【００８２】
実際の燃料噴射量が目標燃料噴射量に一致しており且つ検出吸入空気量が実際の吸入空気量に一致している場合（すなわち、燃料噴射弁もエアフローメータも所期通りに作動している場合）、検出空燃比は、目標燃料噴射量と検出吸入空気量とを用いて算出される混合気の空燃比（すなわち、推定空燃比）に一致する。しかしながら、実際の燃料噴射量が目標燃料噴射量に一致していなかったり、検出吸入空気量が実際の吸入空気量に一致していなかったりする場合（すなわち、燃料噴射弁とエアフローメータとのいずれか一方が所期通りに作動していない場合）、偶然にも検出空燃比が推定空燃比に一致することもあるが、多くの場合、検出空燃比は推定空燃比に一致しない。
【００８３】
ここで、上述したように、第１実施形態では、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、目標ＥＧＲ率取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ＥＧＲ率取得用の燃料噴射量が大きくなる。したがって、図２（Ｃ）のマップから取得される目標ＥＧＲ率が小さくなり、その結果、吸入空気量が多くなる。したがって、検出空燃比が大きくなる。
【００８４】
一方、このとき、上述したように吸入空気量が多くなるのであるから、検出吸入空気量が大きくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は大きくなる。しかしながら、第１実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が大きくなっているのであるから、推定空燃比算出用の燃料噴射量が大きくなる。したがって、検出吸入空気量が大きくなったとしても推定空燃比算出用の燃料噴射量も大きくなるので、検出吸入空気量の増大に伴う推定空燃比の増大の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が小さくなる。
【００８５】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ大きくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【００８６】
一方、上述したように、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、目標ＥＧＲ率取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ＥＧＲ率取得用の燃料噴射量が小さくなる。したがって、図２（Ｃ）のマップから取得される目標ＥＧＲ率が大きくなり、その結果、吸入空気量が少なくなる。したがって、検出空燃比が小さくなる。
【００８７】
一方、このとき、上述したように吸入空気量が少なくなるのであるから、検出吸入空気量が小さくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は小さくなる。しかしながら、第１実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が小さくなっているのであるから、推定空燃比算出用の燃料噴射量が小さくなる。したがって、検出吸入空気量が小さくなったとしても推定空燃比算出用の燃料噴射量も小さくなるので、検出吸入空気量の減少に伴う推定空燃比の減少の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が大きくなる。
【００８８】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ小さくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が小さくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【００８９】
なお、空燃比偏差が零であるときには、検出空燃比が推定空燃比に一致しているのであるから、学習値の更新を行う必要はない。しかしながら、制御装置の制御ロジックを簡易化するために、空燃比偏差が零ではないときに学習値を更新する上記制御ロジックを空燃比偏差が零であるときにも利用するようにしてもよい。すなわち、空燃比偏差が零であるときに補正値として零が算出され、この算出された補正値がその時の燃料噴射量Ｑとその時の機関回転数Ｎとに対応する図３のマップの学習値ＫＧに加算されることによって得られる新たな学習値ＫＧがその時の燃料噴射量Ｑとその時の機関回転数Ｎとに対応する学習値として図３のマップに記憶されてもよい。
【００９０】
ところで、目標燃料噴射量に対する実際の燃料噴射量のずれや検出吸入空気量に対する実際の吸入空気量のずれ以外の原因によって空燃比偏差が発生することがある。この場合において過剰に大きな空燃比偏差が発生すると、学習値が過剰に大きくなる。そして、この場合、目標燃料噴射量が学習値によって過剰に補正され、その結果、目標ＥＧＲ率が過剰に補正されてしまうことになるが、このことは好ましくない。
【００９１】
そこで、第１実施形態では、ＥＧＲ率の過剰な補正を回避する観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【００９２】
次に、第１実施形態の上限学習値および下限学習値の設定について説明する。第１実施形態では、「実際の燃料噴射量が目標燃料噴射量よりも多くなる燃料噴射量ずれ」のうち目標燃料噴射量に対する実際の燃料噴射量の誤差が最も大きくなる燃料噴射量ずれ（以下この燃料噴射量ずれを「最大燃料噴射量増量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値（すなわち、空燃比偏差が零になったときの学習値）が目標燃料噴射量と燃圧（すなわち、燃料噴射弁に供給される燃料の圧力）とに応じて予め求められる。そして、これら求められた学習値が図４（Ａ）に示されているように燃料噴射量Ｑと燃圧Ｐｆとの関数のマップの形で「燃料噴射量ずれに起因する最大学習値ＭａｘＦ」として電子制御装置６０に記憶されている。なお、この燃料噴射量ずれに起因する最大学習値は、正の値である。
【００９３】
また、「実際の燃料噴射量が目標燃料噴射量よりも少なくなる燃料噴射量ずれ」のうち目標燃料噴射量に対する実際の燃料噴射量の誤差が最も大きくなる燃料噴射量ずれ（以下この燃料噴射量ずれを「最大燃料噴射量減量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値が目標燃料噴射量と燃圧とに応じて予め求められる。そして、これら求められた学習値が図４（Ｂ）に示されているように燃料噴射量Ｑと燃圧Ｐｆとの関数のマップの形で「燃料噴射量ずれに起因する最小学習値ＭｉｎＦ」として電子制御装置６０に記憶されている。なお、この燃料噴射量ずれに起因する最小学習値は、負の値である。
【００９４】
また、「検出吸入空気量（すなわち、エアフローメータの出力値に基づいて算出される吸入空気量）が実際の吸入空気量よりも多くなる吸入空気量ずれ」のうち実際の吸入空気量に対する検出吸入空気量の誤差が最も大きくなる吸入空気量ずれ（以下この吸入空気量ずれを「最大吸入空気量増量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値が吸入空気量に応じて予め求められる。そして、これら求められた学習値が図４（Ｃ）に示されているように吸入空気量Ｇａの関数のマップの形で「吸入空気量ずれに起因する最大学習値ＭａｘＡ」として電子制御装置６０に記憶されている。なお、この吸入空気量ずれに起因する最大学習値は、正の値である。
【００９５】
また、「検出吸入空気量が実際の吸入空気量よりも少なくなる吸入空気量ずれ」のうち実際の吸入空気量に対する検出吸入空気量の誤差が最も大きくなる吸入空気量ずれ（以下この吸入空気量ずれを「最大吸入空気量減量ずれ」という）が生じている場合において、上述した手順に従って更新されて最終的に得られる学習値が吸入空気量に応じて予め求められる。そして、これら求められた学習値が図４（Ｄ）に示されているように吸入空気量Ｇａの関数のマップの形で「吸入空気量ずれに起因する最小学習値ＭｉｎＡ」として電子制御装置６０に記憶されている。なお、この吸入空気量ずれに起因する最小学習値は、負の値である。
【００９６】
そして、機関運転中（すなわち、内燃機関の運転中）、学習値が更新されようとする前に、その時の燃料噴射量Ｑと燃圧Ｐｆとに基づいて図４（Ａ）および図４（Ｂ）のマップからそれぞれ燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦが取得されると共に、その時の吸入空気量Ｇａに基づいて図４（Ｃ）および図４（Ｄ）のマップからそれぞれ吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡが取得される。
【００９７】
そして、取得された燃料噴射量ずれに起因する最大学習値ＭａｘＦと取得された吸入空気量ずれに起因する最大学習値ＭａｘＡとが比較され、これら最大学習値のうち値が大きい方の最大学習値がその時の上限学習値に設定される。また、これと同時に、取得された燃料噴射量ずれに起因する最小学習値ＭｉｎＦと取得された吸入空気量ずれに起因する最小学習値ＭａｘＡとが比較され、これら最小学習値のうち値が小さい方（すなわち、これら最小学習値は負の値であるのでこれら最小学習値のうちその絶対値の値が大きい方）の最小学習値が下限学習値に設定される。
【００９８】
なお、第１実施形態では、１つの学習値が「目標ＥＧＲ率取得用の燃料噴射量を算出するために目標燃料噴射量に加算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために目標燃料噴射量から減算される学習値」として用いられる。つまり、「目標ＥＧＲ率取得用の燃料噴射量の算出に用いられる学習値」と「推定空燃比算出用の燃料噴射量の算出に用いられる学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【００９９】
次に、第１実施形態の燃料噴射弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図５に示されている。なお、図５のルーチンは予め定められた時間が経過する毎に実行される。
【０１００】
図５のルーチンが開始されると、始めに、ステップ１０において、アクセルペダル開度Ｄａｃが取得される。次いで、ステップ１１において、ステップ１０で取得されたアクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。次いで、ステップ１２において、ステップ１１で取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるための燃料噴射弁開弁時間ＴＯが算出される。次いで、ステップ１３において、ステップ１２で算出された燃料噴射弁開弁時間ＴＯだけ燃料噴射弁を開弁させるための指令値が燃料噴射弁に出力され、ルーチンが終了する。
【０１０１】
次に、第１実施形態のスロットル弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図６に示されている。なお、図６のルーチンは予め定められた時間が経過する毎に実行される。
【０１０２】
図６のルーチンが開始されると、始めに、ステップ２０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ２０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ２１において、ステップ２０で取得された燃料噴射量Ｑおよび機関回転数Ｎに基づいて図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。次いで、ステップ２２において、ステップ２１で取得された目標スロットル弁開度ＴＤを達成するための指令値がスロットル弁に出力され、ルーチンが終了する。
【０１０３】
次に、第１実施形態のＥＧＲ制御弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図７に示されている。なお、図７のルーチンは予め定められた時間が経過する毎に実行される。
【０１０４】
図７のルーチンが開始されると、始めに、ステップ３０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ３０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ３１において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ３０で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ３２において、ステップ３１で取得された学習値ＫＧがステップ３０で取得された燃料噴射量Ｑに加算されることによってステップ３０で取得された燃料噴射量Ｑが補正される。次いで、ステップ３３において、ステップ３２で補正された燃料噴射量Ｑとステップ３０で取得された機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。次いで、ステップ３４において、ステップ３３で取得された目標ＥＧＲ率ＴＲｅｇｒを達成するための指令値がＥＧＲ制御弁に出力され、ルーチンが終了する。
【０１０５】
次に、第１実施形態の学習値の更新を実行するルーチンの一例について説明する。このルーチンの一例は図８に示されている。なお、図８のルーチンは予め定められた時間が経過する毎に実行される。
【０１０６】
図８のルーチンが開始されると、始めに、ステップ１００において、燃料噴射量Ｑと機関回転数Ｎと吸入空気量Ｇａと検出空燃比Ａ／Ｆと燃圧Ｐｆとが取得される。なお、ここで取得される燃料噴射量Ｑは図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱであり、ここで取得される吸入空気量Ｇａは検出吸入空気量である。
【０１０７】
次いで、ステップ１０１において、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図３のマップから取得され、ステップ１００で取得された燃料噴射量Ｑと燃圧Ｐｆとに対応する「燃料噴射量ずれに起因する最大学習値ＭａｘＦ」および「燃料噴射量ずれに起因する最小学習値ＭｉｎＦ」がそれぞれ図４（Ａ）および図４（Ｂ）のマップから取得され、ステップ１００で取得された吸入空気量Ｇａに対応する「吸入空気量ずれに起因する最大学習値ＭａｘＡ」および「吸入空気量ずれに起因する最小学習値ＭｉｎＡ」がそれぞれ図４（Ｃ）および図４（Ｄ）のマップから取得される。
【０１０８】
次いで、ステップ１０２において、ステップ１０１で取得された「燃料噴射量ずれに起因する最大学習値ＭａｘＦ」と「吸入空気量ずれに起因する最大学習値ＭａｘＡ」とのうちの大きい方の最大学習値が上限学習値Ｍａｘに設定されると共に、ステップ１０１で取得された「燃料噴射量ずれに起因する最小学習値ＭｉｎＦ」と「吸入空気量ずれに起因する最小学習値ＭｉｎＡ」とのうちの小さい方の最小学習値が下限学習値Ｍｉｎに設定される。
【０１０９】
次いで、ステップ１０３において、ステップ１０１で取得された学習値ＫＧがステップ１００で取得された燃料噴射量Ｑに加算されることによって燃料噴射量Ｑが補正される。次いで、ステップ１０４において、ステップ１０３で補正された燃料噴射量Ｑとステップ１００で取得された吸入空気量Ｇａとに基づいて推定空燃比Ａ／Ｆｅｓｔが算出される。次いで、ステップ１０５において、ステップ１０４で算出された推定空燃比Ａ／Ｆｅｓｔからステップ１００で取得された検出空燃比Ａ／Ｆを差し引くことによって空燃比偏差ΔＡ／Ｆが算出される。
【０１１０】
次いで、ステップ１０６において、ステップ１０５で算出された空燃比偏差ΔＡ／Ｆに基づいて補正値Ｋが算出される。なお、空燃比偏差ΔＡ／Ｆが正の値であるときに算出される補正値Ｋは正の値であり、空燃比偏差ΔＡ／Ｆが負の値であるときに算出される補正値Ｋは負の値であり、空燃比偏差ΔＡ／Ｆが零であるときに算出される補正値Ｋは零である。
【０１１１】
次いで、ステップ１０７において、ステップ１０６で算出された補正値Ｋがステップ１０１で取得された学習値ＫＧに加算されることによって暫定学習値ＫＧｎが算出される。次いで、ステップ１０８において、ステップ１０７で算出された暫定学習値ＫＧｎがステップ１０２で設定された下限学習値Ｍｉｎよりも小さい（ＫＧｎ＜Ｍｉｎ）か否かが判別される。ここで、ＫＧｎ＜Ｍｉｎであると判別されたときには、ルーチンはステップ１０９に進む。一方、ＫＧｎ≧Ｍｉｎであると判別されたときには、ルーチンはステップ１１０に進む。
【０１１２】
ステップ１０８においてＫＧｎ＜Ｍｉｎであると判別され、ルーチンがステップ１０９に進むと、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが下限学習値Ｍｉｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎよりも小さいときには、学習値ＫＧが下限学習値Ｍｉｎに制限される。
【０１１３】
一方、ステップ１０８においてＫＧｎ≧Ｍｉｎであると判別され、ルーチンがステップ１１０に進むと、ステップ１０７で算出された暫定学習値ＫＧｎがステップ１０２で設定された上限学習値Ｍａｘよりも大きい（ＫＧｎ＞Ｍａｘ）か否かが判別される。ここで、ＫＧｎ＞Ｍａｘであると判別されたときには、ルーチンはステップ１１１に進む。一方、ＫＧｎ≦Ｍａｘであると判別されたときには、ルーチンはステップ１１２に進む。
【０１１４】
ステップ１１０においてＫＧｎ＞Ｍａｘであると判別され、ルーチンがステップ１１１に進むと、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが上限学習値Ｍａｘに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが上限学習値Ｍａｘよりも大きいときには、学習値ＫＧが上限学習値Ｍａｘに制限される。
【０１１５】
一方、ステップ１１０においてＫＧｎ≦Ｍａｘであると判別され、ルーチンがステップ１１２に進むと、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧがステップ１０７で算出された暫定学習値ＫＧｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎ以上であって且つ上限学習値Ｍａｘ以下であるときには、暫定学習値ＫＧｎがそのまま学習値ＫＧとされる。
【０１１６】
次に、本発明の第２実施形態について説明する。本発明の第２実施形態では、上限学習値および下限学習値の設定以外の構成は、第１実施形態の構成と同じである。したがって、以下、第２実施形態における上限学習値および下限学習値の設定についてのみ説明する。
【０１１７】
第２実施形態では、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第１実施形態の手順と同じ手順で算出される学習値が燃料噴射量と燃圧と吸入空気量とに応じて予め求められ、これら学習値が図９（Ａ）に示されているように燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとの関数のマップの形で最大学習値Ｍａｘとして電子制御装置６０に記憶されている。
【０１１８】
また、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第１実施形態の手順と同じ手順で算出される学習値が燃料噴射量と燃圧と吸入空気量とに応じて予め求められ、これら学習値が図９（Ｂ）に示されているように燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとの関数のマップの形で最小学習値Ｍｉｎとして電子制御装置６０に記憶されている。
【０１１９】
そして、機関運転中、予め定められたタイミングが到来する度にその時の燃料噴射量と燃圧と吸入空気量とに基づいて図９（Ａ）および図９（Ｂ）のマップから最大学習値Ｍａｘおよび最小学習値Ｍｉｎが取得され、これら最大学習値Ｍａｘおよび最小学習値Ｍｉｎがそれぞれ上限学習値および下限学習値に設定される。
【０１２０】
なお、第２実施形態の燃料噴射弁、スロットル弁、および、ＥＧＲ制御弁の制御は、例えば、それぞれ、図５、図６、および、図７のルーチンによって実行される。
【０１２１】
次に、第２実施形態の学習値の更新を実行するルーチンの一例について説明する。このルーチンの一例は図１０に示されている。なお、図１０のルーチンは予め定められた時間が経過する毎に実行される。
【０１２２】
図１０のルーチンが開始されると、始めに、ステップ２００において、燃料噴射量Ｑと機関回転数Ｎと吸入空気量Ｇａと検出空燃比Ａ／Ｆと燃圧Ｐｆとが取得される。なお、ここで取得される燃料噴射量Ｑは図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱであり、ここで取得される吸入空気量Ｇａは検出吸入空気量である。
【０１２３】
次いで、ステップ２０１において、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図３のマップから取得され、ステップ１００で取得された燃料噴射量Ｑと燃圧Ｐｆと吸入空気量Ｇａとに対応する最大学習値Ｍａｘおよび最小学習値Ｍｉｎがそれぞれ図９（Ａ）および図９（Ｂ）のマップから取得される。
【０１２４】
次いで、ステップ２０２において、ステップ２０１で取得された最大学習値Ｍａｘおよび最小学習値Ｍｉｎがそれぞれ上限学習値Ｍａｘおよび下限学習値Ｍｉｎに設定される。
【０１２５】
次いで、ステップ２０３において、ステップ２０１で取得された学習値ＫＧがステップ２００で取得された燃料噴射量Ｑに加算されることによって燃料噴射量Ｑが補正される。次いで、ステップ２０４において、ステップ２０３で補正された燃料噴射量Ｑとステップ２００で取得された吸入空気量Ｇａとに基づいて推定空燃比Ａ／Ｆｅｓｔが算出される。次いで、ステップ２０５において、ステップ２０４で算出された推定空燃比Ａ／Ｆｅｓｔからステップ２００で取得された検出空燃比Ａ／Ｆを差し引くことによって空燃比偏差ΔＡ／Ｆが算出される。
【０１２６】
次いで、ステップ２０６において、ステップ２０５で算出された空燃比偏差ΔＡ／Ｆに基づいて補正値Ｋが算出される。なお、空燃比偏差ΔＡ／Ｆが正の値であるときに算出される補正値Ｋは正の値であり、空燃比偏差ΔＡ／Ｆが負の値であるときに算出される補正係数Ｋは負の値であり、空燃比偏差ΔＡ／Ｆが零であるときに算出される補正値Ｋは零である。
【０１２７】
次いで、ステップ２０７において、ステップ２０６で算出された補正値Ｋがステップ２０１で取得された学習値ＫＧに加算されることによって暫定学習値ＫＧｎが算出される。次いで、ステップ２０８において、ステップ２０７で算出された暫定学習値ＫＧｎがステップ２０２で設定された下限学習値Ｍｉｎよりも小さい（ＫＧｎ＜Ｍｉｎ）か否かが判別される。ここで、ＫＧｎ＜Ｍｉｎであると判別されたときには、ルーチンはステップ２０９に進む。一方、ＫＧｎ≧Ｍｉｎであると判別されたときには、ルーチンはステップ２１０に進む。
【０１２８】
ステップ２０８においてＫＧｎ＜Ｍｉｎであると判別され、ルーチンがステップ２０９に進むと、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが下限学習値Ｍｉｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎよりも小さいときには、学習値ＫＧが下限学習値Ｍｉｎに制限される。
【０１２９】
一方、ステップ２０８においてＫＧｎ≧Ｍｉｎであると判別され、ルーチンがステップ２１０に進むと、ステップ２０７で算出された暫定学習値ＫＧｎがステップ２０２で設定された上限学習値Ｍａｘよりも大きい（ＫＧｎ＞Ｍａｘ）か否かが判別される。ここで、ＫＧｎ＞Ｍａｘであると判別されたときには、ルーチンはステップ２１１に進む。一方、ＫＧｎ≦Ｍａｘであると判別されたときには、ルーチンはステップ２１２に進む。
【０１３０】
ステップ２１０においてＫＧｎ＞Ｍａｘであると判別され、ルーチンがステップ２１１に進むと、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧが上限学習値Ｍａｘに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが上限学習値Ｍａｘよりも大きいときには、学習値ＫＧが上限学習値Ｍａｘに制限される。
【０１３１】
一方、ステップ２１０においてＫＧｎ≦Ｍａｘであると判別され、ルーチンがステップ２１２に進むと、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図３のマップの学習値ＫＧがステップ２０７で算出された暫定学習値ＫＧｎに置き換えられることによって当該学習値ＫＧが更新され、ルーチンが終了する。すなわち、暫定学習値ＫＧｎが下限学習値Ｍｉｎ以上であって且つ上限学習値Ｍａｘ以下であるときには、暫定学習値ＫＧｎがそのまま学習値ＫＧとされる。
【０１３２】
ところで、上述した実施形態は、ＥＧＲ装置を備えた内燃機関に本発明を適用した場合の実施形態である。しかしながら、本発明は、ＥＧＲ装置を備えていない内燃機関にも適用可能である。そこで、次に、ＥＧＲ装置を備えていない内燃機関に本発明を適用した場合の実施形態（以下「第３実施形態」という）について説明する。
【０１３３】
第３実施形態の内燃機関は図１１に示されている。なお、第３実施形態の内燃機関の構成はＥＧＲ装置を備えていない点を除けば第１実施形態の内燃機関の構成と同じであるので、第３実施形態の内燃機関の構成の説明は省略する。
【０１３４】
次に、第３実施形態の燃料噴射弁の制御について説明する。第３実施形態では、図１１に示されている内燃機関においてアクセルペダル開度に応じた適切な燃料噴射量が予め実験等によって求められ、これら求められた燃料噴射量が図１２（Ａ）に示されているように目標燃料噴射量ＴＱとしてアクセルペダル開度Ｄａｃの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、アクセルペダル開度Ｄａｃに基づいて図１２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、この取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量ＴＱに基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０１３５】
なお、図１２（Ａ）のマップでは、アクセルペダル開度Ｄａｃが大きいほど目標燃料噴射量ＴＱが多くなっている。
【０１３６】
次に、第３実施形態のスロットル弁の制御について説明する。第３実施形態では、図１１に示されている内燃機関において燃料噴射量と機関回転数とに応じた適切なスロットル弁開度が予め実験等によって求められ、これら求められたスロットル弁開度が図１２（Ｂ）に示されているように目標スロットル弁開度ＴＤｔｈとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図１２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。そして、この取得された目標スロットル弁開度ＴＤｔｈだけスロットル弁が開弁するようにスロットル弁の開度が制御される。
【０１３７】
なお、図１２（Ｂ）のマップでは、燃料噴射量Ｑが多いほど目標スロットル弁開度ＴＤｔｈが大きくなり、機関回転数Ｎが大きいほど目標スロットル弁開度ＴＤｔｈが大きくなっている。
【０１３８】
ところで、第３実施形態では、図１３に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図１３のマップから取得される。そして、この取得された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標スロットル弁開度取得用の燃料噴射量（すなわち、図１２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈを取得するために用いられる燃料噴射量）として用いられると共に、推定空燃比算出用の燃料噴射量として用いられる。
【０１３９】
なお、第３実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第３実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標スロットル弁開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第３実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標スロットル弁開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０１４０】
ところで、上述したように更新される学習値を目標燃料噴射量に加算して得られる燃料噴射量を目標スロットル弁開度用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０１４１】
第３実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、目標スロットル弁開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標スロットル弁開度取得用の燃料噴射量が大きくなる。したがって、図１２（Ｂ）のマップから取得される目標スロットル弁開度が大きくなり、その結果、吸入空気量が多くなる。したがって、検出空燃比が大きくなる。
【０１４２】
一方、このとき、上述したように吸入空気量が多くなるのであるから、検出吸入空気量が大きくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は大きくなる。しかしながら、第３実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が大きくなっているのであるから、推定空燃比算出用の燃料噴射量が大きくなる。したがって、検出吸入空気量が大きくなったとしても推定空燃比算出用の燃料噴射量も大きくなるので、検出吸入空気量の増大に伴う推定空燃比の増大の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が小さくなる。
【０１４３】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ大きくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１４４】
一方、第３実施形態では、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、目標スロットル弁開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標スロットル弁開度取得用の燃料噴射量が小さくなる。したがって、図１２（Ｂ）のマップから取得される目標スロットル弁開度が小さくなり、その結果、吸入空気量が少なくなる。したがって、検出空燃比が小さくなる。
【０１４５】
一方、このとき、上述したように吸入空気量が少なくなるのであるから、検出吸入空気量が小さくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は小さくなる。しかしながら、第３実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が小さくなっているのであるから、推定空燃比算出用の燃料噴射量が小さくなる。したがって、検出吸入空気量が小さくなったとしても推定空燃比算出用の燃料噴射量も小さくなるので、検出吸入空気量の減少に伴う推定空燃比の減少の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が大きくなる。
【０１４６】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ小さくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が小さくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１４７】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、目標燃料噴射量が学習値によって過剰に補正され、その結果、目標スロットル弁開度が過剰に補正されてしまうことになるが、このことは好ましくない。
【０１４８】
そこで、第３実施形態では、スロットル弁開度の過剰な補正を回避する観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０１４９】
なお、第３実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第３実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第３実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第３実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第３実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０１５０】
また、第３実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第３実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０１５１】
なお、第３実施形態では、１つの学習値が「目標スロットル弁開度取得用の燃料噴射量を算出するために目標燃料噴射量に加算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために目標燃料噴射量から減算される学習値」として用いられる。つまり、「目標スロットル弁開度取得用の燃料噴射量の算出に用いられる学習値」と「推定空燃比算出用の燃料噴射量の算出に用いられる学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【０１５２】
なお、第３実施形態の燃料噴射弁の制御は、例えば、図５のルーチンによって実行される。ただし、図５のルーチンが第３実施形態の燃料噴射弁の制御に利用される場合、ステップ１１では、図１２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。
【０１５３】
次に、第３実施形態のスロットル弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図１４に示されている。なお、図１４のルーチンは予め定められた時間が経過する毎に実行される。
【０１５４】
図１４のルーチンが開始されると、始めに、ステップ４０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ４０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ４１において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ４０で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ４２において、ステップ４１で取得された学習値ＫＧがステップ４０で取得された燃料噴射量Ｑに加算されることによってステップ４０で取得された燃料噴射量Ｑが補正される。次いで、ステップ４３において、ステップ４２で補正された燃料噴射量Ｑとステップ４０で取得された機関回転数Ｎとに基づいて図２（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。次いで、ステップ４４において、ステップ４３で取得された目標スロットル弁開度ＴＤｔｈを達成するための指令値がスロットル弁に出力され、ルーチンが終了する。
【０１５５】
なお、第３実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第３実施形態の学習値の更新に利用される場合、図８のステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第３実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第３実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第３実施形態の学習値の更新に利用される場合、図１０のステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１３のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第３実施形態の上述した最大学習値および最小学習値である。
【０１５６】
ところで、上述した実施形態は、過給機を備えていない内燃機関に本発明を適用した場合の実施形態である。しかしながら、本発明は、過給機を備えた内燃機関にも適用可能である。そこで、次に、過給機を備えた内燃機関に本発明を適用した場合の実施形態（以下「第４実施形態」という）について説明する。
【０１５７】
第４実施形態の内燃機関は図１５に示されている。第４実施形態の内燃機関の構成は、過給機３５を備えているがＥＧＲ装置を備えていない点を除けば、第１実施形態の内燃機関の構成と同じである。
【０１５８】
図１５に示されている内燃機関１０は、過給機３５を具備する。過給機３５は、インタークーラ３４よりも上流の吸気管３２内に配置されるコンプレッサ３５Ａと、触媒コンバータ４３よりも上流の排気管４２内に配置される排気タービン３５Ｂとを有する。排気タービン３５Ｂは、図１６に示されているように、排気タービン本体３５Ｃと翼状の複数のベーン３５Ｄとを有する。
【０１５９】
排気タービン３５Ｂ（厳密には、排気タービン本体３５Ｃ）は、シャフト（図示せず）を介してコンプレッサ３５Ａに接続されている。排気タービン本体３５Ｃが排気ガスによって回転せしめられると、その回転がシャフトを介してコンプレッサ３５Ａに伝達され、これによって、コンプレッサ３５Ａが回転せしめられる。このコンプレッサ３５Ａの回転によってコンプレッサよりも下流の吸気管３２内のガスが圧縮せしめられ、その結果、同ガスの圧力（以下この圧力を「過給圧」という）が上昇せしめられる。
【０１６０】
一方、ベーン３５Ｄは、排気タービン本体３５Ｃを包囲するように該排気タービン本体の回転中心軸線Ｒ１を中心として放射状に等角度間隔で配置されている。また、各ベーン３５Ｄは、図１６に符号Ｒ２で示されているそれぞれ対応する軸線周りで回動可能に配置されている。そして、各ベーン３５Ｄが延在している方向（すなわち、図１６に符号Ｅで示されている方向）を「延在方向」と称し、排気タービン本体３５Ｃの回転中心軸線Ｒ１とベーン３５Ｄの回動軸線Ｒ２とを結ぶ線（すなわち、図１６に符号Ａで示されている線）を「基準線」と称したとき、各ベーン３５Ｄは、その延在方向Ｅとそれに対応する基準線Ａとがなす角度が全てのベーン３５Ｄに関して等しくなるように回動せしめられる。そして、各ベーン３５Ｄがその延在方向Ｅとそれに対応する基準線Ａとがなす角度が小さくなるように、すなわち、隣り合うベーン３５Ｄ間の流路面積が小さくなるように回動せしめられると、排気タービン本体３５Ｃよりも上流の排気通路４０内の圧力（以下この圧力を「排気圧」という）が高くなり、その結果、排気タービン本体３５Ｃに供給される排気ガスの流速が速くなる。このため、排気タービン本体３５Ｃの回転速度が速くなり、その結果、コンプレッサ３５Ａの回転速度も速くなり、したがって、吸気管３２内を流れるガスがコンプレッサ３５Ａによって大きく圧縮されることになる。このため、各ベーン３５Ｄの延在方向Ｅとそれに対応する基準線とがなす角度（以下この角度を「ベーン開度」という）が小さくなるほど、コンプレッサ３５Ａによって吸気管３２内を流れるガスが圧縮される程度が大きくなる（すなわち、過給圧が高くなる）。
【０１６１】
したがって、過給機３５は、ベーン３５Ｄの動作状態（具体的には、ベーン開度）を制御することによって過給圧を可変に制御することができる。
【０１６２】
また、ベーンＤは、電子制御装置６０のインターフェース６５に接続されており、ベーンＤの動作を制御する制御信号がインターフェース６５を介して電子制御装置６０から与えられる。
【０１６３】
次に、第４実施形態の燃料噴射弁の制御について説明する。第４実施形態では、図１５に示されている内燃機関においてアクセルペダル開度に応じた適切な燃料噴射量が予め実験等によって求められ、これら求められた燃料噴射量が図１７（Ａ）に示されているように目標燃料噴射量ＴＱとしてアクセルペダル開度Ｄａｃの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、アクセルペダル開度Ｄａｃに基づいて図１７（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、この取得された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量ＴＱに基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０１６４】
なお、図１７（Ａ）のマップでは、アクセルペダル開度Ｄａｃが大きいほど目標燃料噴射量ＴＱが多くなっている。
【０１６５】
次に、第４実施形態のスロットル弁の制御について説明する。第４実施形態では、図１５に示されている内燃機関において燃料噴射量と機関回転数とに応じた適切なスロットル弁開度が予め実験等によって求められ、これら求められたスロットル弁開度が図１７（Ｂ）に示されているように目標スロットル弁開度ＴＤｔｈとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図１７（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。そして、この取得された目標スロットル弁開度ＴＤｔｈだけスロットル弁が開弁するようにスロットル弁の開度が制御される。
【０１６６】
なお、図１７（Ｂ）のマップでは、燃料噴射量Ｑが多いほど目標スロットル弁開度ＴＤｔｈが大きくなり、機関回転数が大きいほど目標スロットル弁開度ＴＤｔｈが大きくなっている。
【０１６７】
また、第４実施形態では、図１７（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈを取得するために利用される燃料噴射量として目標燃料噴射量ＴＱ（すなわち、図１７（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が採用される。
【０１６８】
次に、第４実施形態のベーンの制御について説明する。第４実施形態では、図１５に示されている内燃機関において燃料噴射量と機関回転数とに応じた適切なベーン開度（すなわち、ベーンの開度）が予め実験等によって求められ、これら求められたベーン開度が図１７（Ｃ）に示されているように目標ベーン開度ＴＤｖとして燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図１７（Ｃ）のマップから目標ベーン開度ＴＤｖが取得される。そして、この取得された目標ベーン開度ＴＤｖだけベーンが開弁するようにベーンの開度が制御される。
【０１６９】
なお、図１７（Ｃ）のマップでは、燃料噴射量Ｑが多いほど目標ベーン開度ＴＤｖが小さくなり、機関回転数Ｎが大きいほど目標ベーン開度ＴＤｖが小さくなっている。
【０１７０】
ところで、第４実施形態では、図１８に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。そして、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが図１８のマップから取得される。そして、この取得された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ベーン開度取得用の燃料噴射量（すなわち、図１７（Ｃ）のマップから目標ベーン開度ＴＤｖを取得するために用いられる燃料噴射量）として用いられると共に、推定空燃比算出用の燃料噴射量として用いられる。
【０１７１】
なお、第４実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第４実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ベーン開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第４実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量に加算して得られる燃料噴射量が目標ベーン開度取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０１７２】
ところで、上述したように更新される学習値を目標燃料噴射量に加算して得られる燃料噴射量を目標ベーン開度用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０１７３】
第４実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、目標ベーン開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ベーン開度取得用の燃料噴射量が大きくなる。したがって、図１７（Ｃ）のマップから取得される目標ベーン開度が小さくなり、その結果、吸入空気量が多くなる。したがって、検出空燃比が大きくなる。
【０１７４】
一方、このとき、上述したように吸入空気量が多くなるのであるから、検出吸入空気量が大きくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は大きくなる。しかしながら、第４実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が大きくなっているのであるから、推定空燃比算出用の燃料噴射量が大きくなる。したがって、検出吸入空気量が大きくなったとしても推定空燃比算出用の燃料噴射量も大きくなるので、検出吸入空気量の増大に伴う推定空燃比の増大の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が小さくなる。
【０１７５】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ大きくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１７６】
一方、第４実施形態では、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、目標ベーン開度取得用の燃料噴射量として当該学習値ＫＧを目標燃料噴射量ＴＱに加算して得られる燃料噴射量が用いられるのであるから、目標ベーン開度取得用の燃料噴射量が小さくなる。したがって、図１７（Ｃ）のマップから取得される目標ベーン開度が大きくなり、その結果、吸入空気量が少なくなる。したがって、検出空燃比が小さくなる。
【０１７７】
一方、このとき、上述したように吸入空気量が少なくなるのであるから、検出吸入空気量が小さくなる。したがって、推定空燃比算出用の燃料噴射量に変化がなければ、推定空燃比は小さくなる。しかしながら、第４実施形態では、学習値を目標燃料噴射量ＴＱに加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられ、補正値が加算されることによって当該学習値が小さくなっているのであるから、推定空燃比算出用の燃料噴射量が小さくなる。したがって、検出吸入空気量が小さくなったとしても推定空燃比算出用の燃料噴射量も小さくなるので、検出吸入空気量の減少に伴う推定空燃比の減少の程度が小さくなり又は零になり（すなわち、推定空燃比が変化せず）、或いは、推定空燃比が大きくなる。
【０１７８】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなる（或いは、推定空燃比が変化せず、或いは、推定空燃比が比較的小さい程度にのみ小さくなる）ことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が小さくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０１７９】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、目標燃料噴射量が学習値によって過剰に補正され、その結果、目標ベーン開度が過剰に補正されてしまうことになるが、このことは好ましくない。
【０１８０】
そこで、第４実施形態では、ベーン開度の過剰な補正を回避する観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０１８１】
なお、第４実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第４実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第４実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第４実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、実際の吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第４実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、実際の吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０１８２】
また、第４実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第４実施形態に従って更新されて最終的に得られる学習値であり、目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０１８３】
なお、第４実施形態では、１つの学習値が「目標ベーン開度取得用の燃料噴射量を算出するために目標燃料噴射量に加算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために目標燃料噴射量から減算される学習値」として用いられる。つまり、「目標ベーン開度取得用の燃料噴射量の算出に用いられる学習値」と「推定空燃比算出用の燃料噴射量の算出に用いられる学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【０１８４】
なお、第４実施形態の燃料噴射弁の制御は、例えば、図５のルーチンによって実行される。ただし、図５のルーチンが第４実施形態の燃料噴射弁の制御に利用される場合、ステップ１１では、図１７（Ａ）のマップから目標燃料噴射量ＴＱが取得される。
【０１８５】
また、第４実施形態のスロットル弁の制御は、例えば、図６のルーチンによって実行される。ただし、図６のルーチンが第４実施形態のスロットル弁の制御に利用される場合、ステップ２１では、図１７（Ｂ）のマップから目標スロットル弁開度ＴＤｔｈが取得される。
【０１８６】
次に、第４実施形態のベーンの制御を実行するルーチンの一例について説明する。このルーチンの一例は図１９に示されている。なお、図１９のルーチンは予め定められた時間が経過する毎に実行される。
【０１８７】
図１９のルーチンが開始されると、始めに、ステップ５０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ５０において取得される燃料噴射量Ｑは、図５のルーチンのステップ１１で取得される目標燃料噴射量ＴＱである。次いで、ステップ５１において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ５０で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ５２において、ステップ５１で取得された学習値ＫＧがステップ５０で取得された燃料噴射量Ｑに加算されることによってステップ５０で取得された燃料噴射量Ｑが補正される。次いで、ステップ５３において、ステップ５２で補正された燃料噴射量Ｑとステップ５０で取得された機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ベーン開度ＴＤｖが取得される。次いで、ステップ５４において、ステップ５３で取得された目標ベーン開度ＴＤｖを達成するための指令値がベーンに出力され、ルーチンが終了する。
【０１８８】
なお、第４実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第４実施形態の学習値の更新に利用される場合、図８のステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第４実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第４実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第４実施形態の学習値の更新に利用される場合、図１０のステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図１８のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第４実施形態の上述した最大学習値および最小学習値である。
【０１８９】
ところで、上述した実施形態は、学習値によって最終的には吸入空気量を補正するようになっている制御装置に本発明を適用した実施形態である。しかしながら、本発明は、学習値によって燃料噴射量を補正するようになっている制御装置にも適用可能である。そこで、次に、こうした制御装置に本発明を適用した場合の実施形態（以下「第５実施形態」という）について説明する。なお、第５実施形態の内燃機関は上述した図１に示されている内燃機関であるので、その構成の説明は省略する。
【０１９０】
始めに、第５実施形態の燃料噴射弁の制御について説明する。第５実施形態では、図２０に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。
【０１９１】
そして、第５実施形態では、機関運転中、アクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、燃料噴射量Ｑ（この燃料噴射量Ｑとしては目標燃料噴射量ＴＱが用いられる）と機関回転数Ｎとに対応する学習値ＫＧが図２０のマップから取得される。そして、上記取得された目標燃料噴射量（以下この目標燃料噴射量を「初期目標燃料噴射量」という）ＴＱから上記学習値ＫＧを減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量（すなわち、燃料噴射弁開弁時間を算出するために用いられる目標燃料噴射量）に設定される。そして、この設定された燃料噴射弁開弁時間算出用の目標燃料噴射量の燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量に基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０１９２】
なお、第５実施形態のスロットル弁の制御は、第１実施形態のものと同じであるので、その説明は省略する。
【０１９３】
次に、第５実施形態のＥＧＲ制御弁の制御について説明する。第５実施形態では、機関運転中、燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。そして、この取得された目標ＥＧＲ率ＴＲｅｇｒを達成するためのＥＧＲ制御弁開度が目標ＥＧＲ制御弁開度ＴＤｅｇｒとして予め定められた演算則に従って算出される。そして、この算出された目標ＥＧＲ制御弁開度ＴＤｅｇｒだけＥＧＲ制御弁が開弁するようにＥＧＲ制御弁の開度が制御される。
【０１９４】
なお、第５実施形態では、目標ＥＧＲ率取得用の燃料噴射量として初期目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が用いられる。
【０１９５】
また、第５実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）が用いられる。
【０１９６】
また、第５実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第５実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を初期目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第５実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０１９７】
ところで、上述したように更新される学習値を初期目標燃料噴射量から減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、初期目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０１９８】
第５実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２０のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該学習値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が小さくなる。その結果、燃料噴射量が少なくなる。したがって、検出空燃比が大きくなる。
【０１９９】
一方、第５実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱが用いられ、この初期目標燃料噴射量ＴＱに変化がないのであるから、推定空燃比にも変化はない。
【０２００】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が変化しないことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２０１】
一方、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２０のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。っして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該補正値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が大きくなる。その結果、燃料噴射量が多くなる。したがって、検出空燃比が小さくなる。
【０２０２】
一方、第５実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱが用いられ、この初期目標燃料噴射量ＴＱに変化がないのであるから、推定空燃比にも変化はない。
【０２０３】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が変化しないことから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２０４】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、初期目標燃料噴射量が学習値によって過剰に補正され、その結果、燃料噴射弁開弁時間算出用の目標燃料噴射量が過剰に補正されてしまうことになるが、このことは好ましくない。
【０２０５】
そこで、第５実施形態では、燃料噴射弁開弁時間算出用の目標燃料噴射量の過剰な補正を回避するという観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０２０６】
なお、第５実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第５実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第５実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第５実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第５実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０２０７】
また、第５実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において、第５実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０２０８】
次に、第５実施形態の燃料噴射弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図２１に示されている。なお、図２１のルーチンは予め定められた時間が経過する毎に実行される。
【０２０９】
図２１のルーチンが開始されると、始めに、ステップ６０において、アクセルペダル開度Ｄａｃと機関回転数Ｎとが取得される。次いで、ステップ６１において、ステップ６０で取得されたアクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。次いで、ステップ６２において、電子制御装置６０に記憶されている学習値ＫＧのうちステップ６１で取得された目標燃料噴射量ＴＱとステップ６０で取得された機関回転数Ｎとに対応する学習値ＫＧが取得される。次いで、ステップ６３において、ステップ６２で取得された学習値ＫＧがステップ６１で取得された目標燃料噴射量ＴＱから減算されることによってステップ６１で取得された目標燃料噴射量ＴＱが補正される。次いで、ステップ６４において、ステップ６３で補正された目標燃料噴射量ＴＱの燃料を燃料噴射弁から噴射させるための燃料噴射弁開弁時間ＴＯが算出される。次いで、ステップ６５において、ステップ６４で算出された燃料噴射量開弁時間ＴＯだけ燃料噴射弁を開弁させるための指令値が燃料噴射弁に出力され、ルーチンが終了する。
【０２１０】
なお、第５実施形態のスロットル弁の制御は、例えば、図６のルーチンによって実行される。ただし、図６のルーチンが第５実施形態のスロットル弁の制御に利用される場合、ステップ２０で取得される燃料噴射量Ｑは、図２１のステップ６１で取得された目標燃料噴射量ＴＱである。
【０２１１】
次に、第５実施形態のＥＧＲ制御弁の制御を実行するルーチンの一例について説明する。このルーチンの一例は図２２に示されている。なお、図２２のルーチンは予め定められた時間が経過する毎に実行される。
【０２１２】
図２２のルーチンが開始されると、始めに、ステップ７０において、燃料噴射量Ｑと機関回転数Ｎとが取得される。なお、ステップ７０において取得される燃料噴射量Ｑは、図２１のステップ６１で取得される目標燃料噴射量ＴＱである。次いで、ステップ７１において、ステップ７０で取得された燃料噴射量Ｑと機関回転数Ｎとに基づいて図２（Ｃ）のマップから目標ＥＧＲ率ＴＲｅｇｒが取得される。次いで、ステップ７２において、ステップ７１で取得された目標ＥＧＲ率ＴＲｅｇｒを達成するための指令値がＥＧＲ制御弁に出力され、ルーチンが終了する。
【０２１３】
なお、第５実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第５実施形態の学習値の更新に利用される場合、ステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２０のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第５実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第５実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第５実施形態の学習値の更新に利用される場合、図１０のステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２０のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第５実施形態の上述した最大学習値および最小学習値である。
【０２１４】
ところで、第５実施形態は、学習値によって燃料噴射弁開弁時間算出用の目標燃料噴射量のみを補正するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、学習値によって燃料噴射弁開弁時間算出用の目標燃料噴射量だけでなく推定空燃比算出用の燃料噴射量を補正するようになっている制御装置にも適用可能である。そこで、次に、こうした制御装置に本発明が適用された場合の実施形態（以下「第６実施形態」）という）について説明する。なお、第６実施形態の内燃機関は上述した図１に示されている内燃機関であるので、その構成の説明は省略する。
【０２１５】
始めに、第６実施形態の燃料噴射弁の制御について説明する。第６実施形態では、図２３に示されているように、燃料噴射量Ｑと機関回転数Ｎとの関数のマップの形で学習値ＫＧが電子制御装置６０に記憶されている。
【０２１６】
そして、第６実施形態では、機関運転中、アクセルペダル開度Ｄａｃに基づいて図２（Ａ）のマップから目標燃料噴射量ＴＱが取得される。そして、燃料噴射量Ｑ（この燃料噴射量Ｑとしては目標燃料噴射量ＴＱが用いられる）と機関回転数Ｎとに対応する学習値ＫＧが図２３のマップから取得される。そして、上記取得された目標燃料噴射量（以下この目標燃料噴射量を「初期目標燃料噴射量」という）ＴＱから上記学習値ＫＧを減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量に設定される。そして、この設定された燃料噴射弁開弁時間算出用の目標燃料噴射量の燃料を燃料噴射弁から噴射させるために必要な燃料噴射弁開弁時間が当該目標燃料噴射量に基づいて算出される。そして、この算出された燃料噴射弁開弁時間だけ燃料噴射弁が開弁するように各吸気行程において燃料噴射弁の開弁時間が制御される。
【０２１７】
なお、第６実施形態のスロットル弁の開度の制御およびＥＧＲ制御弁の開度の制御は、第５実施形態のものと同じであるので、これらの説明は省略する。
【０２１８】
また、第６実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱ（すなわち、図２（Ａ）のマップから取得される目標燃料噴射量ＴＱ）に学習値を加算して得られる燃料噴射量が用いられる。
【０２１９】
また、第６実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われる。ただし、第６実施形態では、空燃比偏差が零よりも大きいとき（すなわち、検出空燃比が推定空燃比よりも小さいとき）に算出される補正値は、正の値であって、当該補正値によって更新された学習値を初期目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられると共に当該補正値によって更新された学習値を初期目標燃料噴射量に加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、第６実施形態では、空燃比偏差が零よりも小さいとき（すなわち、検出空燃比が推定空燃比よりも大きいとき）に算出される補正値は、負の値であって、当該補正値によって更新された学習値を初期目標燃料噴射量から減算して得られる燃料噴射量が燃料噴射弁開弁時間算出用の目標燃料噴射量として用いられると共に当該補正値によって更新された学習値を初期目標燃料噴射量に加算して得られる燃料噴射量が推定空燃比算出用の燃料噴射量として用いられたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２２０】
ところで、上述したように更新される学習値を初期目標燃料噴射量から減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いると共に同学習値を初期目標燃料噴射量に加算して得られる燃料噴射量を推定空燃比算出用の燃料噴射量として用いることによって、空燃比偏差が小さくなり、最終的には、空燃比偏差が零になる。次に、その理由について説明する。なお、以下、理解しやすいように、初期目標燃料噴射量および機関回転数に変化がないことを前提に理由を説明する。
【０２２１】
第６実施形態では、第１実施形態の手順と同じ手順で学習値の更新および補正値の算出が行われるのであるから、検出空燃比が推定空燃比よりも小さいとき（すなわち、検出空燃比が推定空燃比よりもリッチな空燃比であるとき）には、正の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２３のマップの学習値ＫＧに加算される。ここで、補正値が正の値であることから、学習値ＫＧは大きくなる。そして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該学習値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が小さくなる。その結果、燃料噴射量が少なくなる。したがって、検出空燃比が大きくなる。
【０２２２】
一方、第６実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱに上記学習値ＫＧを加算して得られる燃料噴射量が用いられ、当該学習値ＫＧが補正値によって大きくされているのであるから、推定空燃比が小さくなる。
【０２２３】
このように、検出空燃比が推定空燃比よりも小さいときには、学習値が更新されることによって検出空燃比が大きくなると共に推定空燃比が小さくなることから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも小さい限り（すなわち、空燃比偏差が零よりも大きい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２２４】
一方、検出空燃比が推定空燃比よりも大きいとき（すなわち、検出空燃比が推定空燃比よりもリーンな空燃比であるとき）には、負の値の補正値が算出される。そして、この算出された補正値がその時の燃料噴射量Ｑ（この燃料噴射量Ｑとしては初期目標燃料噴射量ＴＱが用いられる）とその時の機関回転数Ｎとに対応する図２３のマップの学習値ＫＧに加算される。ここで、補正値が負の値であることから、学習値ＫＧは小さくなる。そして、燃料噴射弁開弁時間算出用の目標燃料噴射量として当該学習値ＫＧを初期目標燃料噴射量ＴＱから減算して得られる燃料噴射量が用いられるのであるから、燃料噴射弁開弁時間算出用の目標燃料噴射量が大きくなる。その結果、燃料噴射量が多くなる。したがって、検出空燃比が小さくなる。
【０２２５】
一方、第６実施形態では、推定空燃比算出用の燃料噴射量として初期目標燃料噴射量ＴＱに上記学習値ＫＧを加算して得られる燃料噴射量が用いられ、当該学習値ＫＧが補正値によって小さくされているのであるから、推定空燃比が大きくなる。
【０２２６】
このように、検出空燃比が推定空燃比よりも大きいときには、学習値が更新されることによって検出空燃比が小さくなると共に推定空燃比が大きくなることから、空燃比偏差が小さくなる。そして、検出空燃比が推定空燃比よりも大きい限り（すなわち、空燃比偏差が零よりも小さい限り）、学習値の更新が繰り返し行われる（すなわち、学習値が大きくなり続ける）。このため、空燃比偏差が最終的に零になるのである。
【０２２７】
ところで、第１実施形態に関連して説明したように、学習値が過剰に大きくなった場合、初期目標燃料噴射量が学習値によって過剰に補正され、その結果、燃料噴射弁開弁時間算出用の目標燃料噴射量および推定空燃比算出用の燃料噴射量が過剰に補正されてしまうことになるが、このことは好ましくない。
【０２２８】
そこで、第６実施形態では、燃料噴射弁開弁時間算出用の目標燃料噴射量の過剰な補正および推定空燃比算出用の燃料噴射量の過剰な補正を回避するという観点から学習値の上限値として適切な値（正の値であって、以下この値を「上限学習値」という）と学習値の下限値として適切な値（負の値であって、以下この値を「下限学習値」という）とが設定される。そして、補正値によって補正された学習値が正の値である場合において当該学習値が上限学習値よりも大きいときには、学習値は上限学習値に制限される。一方、補正値によって補正された学習値が負の値である場合において当該学習値が下限学習値よりも小さいとき（すなわち、学習値が負の値であって且つ下限学習値も負の値であるので、学習値の絶対値が下限学習値の絶対値よりも大きいとき）には、学習値が下限学習値に制限される。
【０２２９】
なお、第６実施形態の上限学習値および下限学習値の設定は、第１実施形態の手順と同じ手順に従って行われる。ただし、第６実施形態の「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第６実施形態の「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、初期目標燃料噴射量と燃圧との関数のマップの形で電子制御装置６０に記憶されている。また、第６実施形態の「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。また、第６実施形態の「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、第６実施形態に従って更新されて最終的に得られる学習値であり、吸入空気量の関数のマップの形で電子制御装置６０に記憶されている。
【０２３０】
また、第６実施形態の上限学習値および下限学習値の設定が第２実施形態の手順と同じ手順で行われてもよい。ただし、この場合、「最大学習値」は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において第６実施形態に特有の上記制約の範囲内で算出される補正値によって更新されつつ算出される学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。また、「最小学習値」は、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合において第６実施形態に特有の上記制約の範囲内で算出される補正値によって更新されつつ算出される学習値であり、初期目標燃料噴射量と燃圧と吸入空気量との関数のマップの形で電子制御装置６０に記憶されている。
【０２３１】
なお、第６実施形態では、１つの学習値が「燃料噴射弁開弁時間算出用の目標燃料噴射量を算出するために初期目標燃料噴射量から減算される学習値」として用いられると共に「推定空燃比算出用の燃料噴射量を算出するために初期目標燃料噴射量に加算される学習値」として用いられる。つまり、「燃料噴射弁開弁時間算出用の目標燃料噴射量を算出するために初期目標燃料噴射量から減算される学習値」と「推定空燃比算出用の燃料噴射量を算出するために初期目標燃料噴射量に加算される学習値」とは同じ値である。しかしながら、これら学習値が異なる値であってもよい。なお、この場合、それぞれの学習値に関して第１実施形態と同様にして上限学習値および下限学習値が設定されることになる。
【０２３２】
なお、第６実施形態の燃料噴射弁の制御は、例えば、図２１のルーチンによって実行される。ただし、図２１のルーチンが第６実施形態の燃料噴射弁の制御に利用される場合、ステップ６２で取得される学習値ＫＧは、第６実施形態に従って更新されて最終的に得られる学習値である。
【０２３３】
また、第６実施形態のスロットル弁の制御は、例えば、図６のルーチンによって実行される。ただし、図６のルーチンが第６実施形態のスロットル弁の制御に利用される場合、ステップ２０で取得される燃料噴射量Ｑは、図２１のステップ６１で取得された目標燃料噴射量ＴＱである。
【０２３４】
また、第６実施形態のＥＧＲ制御弁の制御は、例えば、図２２のルーチンによって実行される。
【０２３５】
また、第６実施形態の学習値の更新は、例えば、図８または図１０のルーチンによって実行される。ただし、図８のルーチンが第６実施形態の学習値の更新に利用される場合、ステップ１０１で取得される学習値ＫＧは、ステップ１００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２３のマップの学習値であり、図８のステップ１０１で取得される燃料噴射量ずれに起因する最大学習値ＭａｘＦおよび最小学習値ＭｉｎＦは、それぞれ、第６実施形態の上述した燃料噴射量ずれに起因する最大学習値および最小学習値であり、図８のステップ１０１で取得される吸入空気量ずれに起因する最大学習値ＭａｘＡおよび最小学習値ＭｉｎＡは、それぞれ、第６実施形態の上述した吸入空気量ずれに起因する最大学習値および最小学習値である。また、図１０のルーチンが第６実施形態の学習値の更新に利用される場合、ステップ２０１で取得される学習値ＫＧは、ステップ２００で取得された燃料噴射量Ｑと機関回転数Ｎとに対応する図２３のマップの学習値であり、図１０のステップ２０１で取得される最大学習値Ｍａｘおよび最小学習値Ｍｉｎは、それぞれ、第６実施形態の上述した最大学習値および最小学習値である。
【０２３６】
なお、上述した実施形態によれば、目標燃料噴射量に学習値が加算される前または目標燃料噴射量から学習値が減算される前（つまり、目標燃料噴射量が学習値によって補正される前）に、学習値が新たに算出される。すなわち、学習値が最新の学習値に更新される。したがって、目標燃料噴射量には最新の学習値が加算され或いは目標燃料噴射量から最新の学習値が減算されることになる。さらに、目標燃料噴射量に学習値が加算される直前または目標燃料噴射量から学習値が減算される直前（つまり、目標燃料噴射量が学習値によって補正される直前）に最新の学習値が算出されるのであるから、目標燃料噴射量にはその時の最適な学習値が加算され或いは目標燃料噴射量からはその時の最適な学習値が減算されることになる。このため、目標燃料噴射量が不適切に補正されることが回避されることから、検出空燃比が推定空燃比に正確に一致するようになる。
【０２３７】
また、上述した実施形態のうち図８のルーチンを利用する実施形態によれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値および下限学習値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に吸入空気量または燃料噴射量を補正することが好ましい。一方、内燃機関における各種制御は、実際の燃料噴射量が目標燃料噴射量に対して正の方向にずれたときに燃料噴射量ずれ量が最も大きくなると想定される場合、実際の燃料噴射量が目標燃料噴射量に対して負の方向にずれたときに燃料噴射量ずれ量が最も大きくなると想定される場合、検出吸入空気量が実際の吸入空気量に対して正の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合、および、検出吸入空気量が実際の吸入空気量に対して負の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合においても、内燃機関に求められる要件が達成されるように構築される。つまり、燃料噴射量ずれが想定される範囲内で最も大きい場合の学習値（つまり、燃料噴射量ずれに起因する最大学習値および最小学習値）と吸入空気量ずれが想定される範囲内で最も大きい場合の学習値（つまり、吸入空気量ずれに起因する最大学習値および最小学習値）とが比較され、最大学習値のうち大きい方の最大学習値が上限学習値に設定されると共に最小学習値のうち小さい方の最小学習値が下限学習値に設定され、これら上限学習値および下限学習値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ吸入空気量または燃料噴射量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値および下限学習値が設定されることになるのである。
【０２３８】
また、上述した実施形態のうち図１０のルーチンを利用する実施形態によれば、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値および下限学習値が設定される。すなわち、一般的に、内燃機関に求められる要件が達成される範囲内であれば、許容される限り最大限に吸入空気量または燃料噴射量を補正することが好ましい。一方、内燃機関における各種制御は、実際の燃料噴射量が目標燃料噴射量に対して正の方向にずれたときに燃料噴射量ずれ量が最も大きくなり且つ検出吸入空気量が実際の吸入空気量に対して正の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合、および、実際の燃料噴射量が目標燃料噴射量に対して負の方向にずれたときに燃料噴射量ずれ量が最も大きくなり且つ検出吸入空気量が実際の吸入空気量に対して負の方向にずれたときに吸入空気量ずれ量が最も大きくなると想定される場合においても、内燃機関に求められる要件が達成されるように構築される。つまり、燃料噴射量ずれが想定される範囲内で最も大きく且つ吸入空気量ずれが想定される範囲内で最も大きい場合の学習値が上限学習値または下限学習値に設定され、これら上限学習値または下限学習値に学習値が制限されるのであれば、内燃機関に求められる要件が達成されつつ吸入空気量または燃料噴射量を最大限に補正する学習値が得られる。したがって、内燃機関に求められる要件が達成される範囲内において許容される限り最大限に吸入空気量または燃料噴射量を補正するという観点から、より適切な上限学習値または下限学習値が設定されることになるのである。
【０２３９】
また、上述した実施形態の考え方は、広くは、燃料噴射弁以外の手段によって燃焼室に燃料が供給される内燃機関にも適用可能である。したがって、本発明は、燃焼室に燃料を供給する手段を具備する内燃機関に適用可能である。
【０２４０】
また、上述した実施形態の考え方は、広くは、エアフローメータ以外の手段によって燃焼室に供給される空気の量を検出する内燃機関にも適用可能である。そして、上述した実施形態において、検出吸入空気量は、燃焼室に供給される空気の量の推定値であるとも言える。したがって、本発明は、燃焼室に供給される空気の量の推定値を取得する手段を具備する内燃機関に適用可能である。
【０２４１】
また、上述した実施形態の考え方は、広くは、酸素濃度センサ手段以外の手段によって実際の空燃比が取得される内燃機関にも適用可能である。したがって、本発明は、実際の空燃比を取得する手段を具備する内燃機関に適用可能である。
【０２４２】
また、上述した実施形態の考え方は、広くは、目標燃料噴射量以外の燃料噴射量の推定値または目標燃料噴射量に相当するパラメータが目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度の取得と推定空燃比の算出とに利用される内燃機関にも適用可能である。そして、目標燃料噴射量は、燃焼室に供給される燃料の量の推定値（すなわち、推定供給燃料量）であるとも言える。したがって、本発明は、推定供給燃料量またはそれに相当するパラメータが目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度の取得と推定空燃比の算出とに利用される内燃機関に適用可能である。
【０２４３】
また、上述した実施形態の考え方は、広くは、検出吸入空気量以外の吸入空気量の推定値または検出吸入空気量に相当するパラメータが推定空燃比の算出に利用される内燃機関にも適用可能である。そして、上述したように、検出吸入空気量は、燃焼室に供給される空気の量の推定値（すなわち、推定供給空気量）であるとも言える。したがって、本発明は、推定供給空気量またはそれに相当するパラメータが推定空燃比の算出に利用される内燃機関に適用可能である。
【０２４４】
また、第１実施形態および第２実施形態は、図２（Ａ）のマップから取得される目標燃料噴射量が学習値によって補正され、この補正された目標燃料噴射量と機関回転数とに基づいて図２（Ｃ）のマップから目標ＥＧＲ率が取得され、この取得された目標ＥＧＲ率がＥＧＲ率制御用の目標ＥＧＲ率として利用される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、図２（Ａ）のマップから取得される目標燃料噴射量と機関回転数とに基づいて図２（Ｃ）のマップから目標ＥＧＲ率を取得し、この取得された目標ＥＧＲ率を学習値によって補正し、この補正された目標ＥＧＲ率をＥＧＲ率制御用の目標ＥＧＲ率として用いるようになっている制御装置（より具体的には、例えば、マップから取得された目標ＥＧＲ率から学習値を減算することによって当該目標ＥＧＲ率を補正し、この補正された目標ＥＧＲ率をＥＧＲ率制御用の目標ＥＧＲ率として利用するようになっている制御装置）にも適用可能である。
【０２４５】
また、第３実施形態は、図１２（Ａ）のマップから取得される目標燃料噴射量が学習値によって補正され、この補正された目標燃料噴射量と機関回転数とに基づいて図１２（Ｂ）のマップから目標スロットル弁開度が取得され、この取得された目標スロットル弁開度がスロットル弁開度制御用の目標スロットル弁開度として利用される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、図１２（Ａ）のマップから取得される目標燃料噴射量と機関回転数とに基づいて図１２（Ｂ）のマップから目標スロットル弁開度を取得し、この取得された目標スロットル弁開度を学習値によって補正し、この補正された目標スロットル弁開度をスロットル弁開度制御用の目標スロットル弁開度として用いるようになっている制御装置（より具体的には、例えば、マップから取得された目標スロットル弁開度に学習値を加算することによって当該目標スロットル弁開度を補正し、この補正された目標スロットル弁開度をスロットル弁開度制御用の目標スロットル弁開度として用いるようになっている制御装置）にも適用可能である。
【０２４６】
また、第４実施形態は、図１７（Ａ）のマップから取得される目標燃料噴射量が学習値によって補正され、この補正された目標燃料噴射量と機関回転数とに基づいて図１７（Ｃ）のマップから目標ベーン開度が取得され、この取得された目標ベーン開度がベーン開度制御用の目標ベーン開度として利用される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、図１７（Ａ）のマップから取得される目標燃料噴射量と機関回転数とに基づいて図１７（Ｃ）のマップから目標ベーン開度を取得し、この取得された目標ベーン開度を学習値によって補正し、この補正された目標ベーン開度をベーン開度制御用の目標ベーン開度として用いるようになっている制御装置（より具体的には、例えば、マップから取得された目標ベーン開度から学習値を減算することによって当該目標ベーン開度を補正し、この補正された目標ベーン開度をベーン開度制御用の目標ベーン開度として用いるようになっている制御装置）にも適用可能である。
【０２４７】
また、第１実施形態および第２実施形態は、燃料噴射量と機関回転数とに基づいて図２（Ｃ）のマップから目標ＥＧＲ率が取得される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量のみに基づいて目標ＥＧＲ率を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数とを含む３つ以上のパラメータに基づいて目標ＥＧＲ率を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数以外の１つ又は複数のパラメータに基づいて目標ＥＧＲ率を取得するようになっている制御装置にも適用可能である。
【０２４８】
また、第３実施形態は、燃料噴射量と機関回転数とに基づいて図１２（Ｂ）のマップから目標スロットル弁開度が取得される場合に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量のみに基づいて目標スロットル弁開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数とを含む３つ以上のパラメータに基づいて目標スロットル弁開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数以外の１つ又は複数のパラメータに基づいて目標スロットル弁開度を取得するようになっている制御装置にも適用可能である。
【０２４９】
また、第４実施形態は、燃料噴射量と機関回転数とに基づいて図１７（Ｃ）のマップから目標ベーン開度を取得するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量のみに基づいて目標ベーン開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数とを含む３つ以上のパラメータに基づいて目標ベーン開度を取得するようになっている制御装置にも適用可能であるし、燃料噴射量と機関回転数以外の１つ又は複数のパラメータに基づいて目標ベーン開度を取得するようになっている制御装置にも適用可能である。
【０２５０】
また、上述した実施形態は、目標値（すなわち、目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度）の取得用の燃料噴射量を得るために学習値によって目標燃料噴射量のみを補正するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、目標値の取得用の機関回転数を得るために学習値によって機関回転数のみを補正するようになっている制御装置にも適用可能であるし、目標値の取得用の燃料噴射量および機関回転数を得るために学習値によって目標燃料噴射量と機関回転数との両方を補正するようになっている制御装置にも適用可能である。
【０２５１】
また、上述した実施形態は、目標値（すなわち、目標ＥＧＲ率または目標スロットル弁開度または目標ベーン開度）の取得に燃料噴射量と機関回転数とを用いるようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、燃料噴射量と機関回転数とを含む３つ以上のパラメータを目標値の取得に用いるようになっている制御装置にも適用可能であるし、燃料噴射量および機関回転数以外の１つ又は複数のパラメータを目標値の取得に用いるようになっている制御装置にも適用可能である。なお、こうした制御装置に本発明を適用した場合には、少なくとも１つのパラメータが学習値によって補正され、この補正されたパラメータが目標値の取得に用いられる。
【０２５２】
また、第１実施形態および第２実施形態では、空燃比偏差に基づいてＥＧＲ率を補正している。したがって、云い方を換えれば、これら実施形態では、空燃比偏差に基づいてＥＧＲガス量を補正しているとも言える。
【０２５３】
また、上述した実施形態のうち図８のルーチンを利用する実施形態は、燃料噴射量ずれに起因する最大学習値および最小学習値を燃料噴射量と燃圧とに応じて取得するようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、これら最大学習値および最小学習値を燃料噴射量のみに応じて取得するようになっている制御装置にも適用可能である。
【０２５４】
また、第１実施形態および第２実施形態では、学習値によってＥＧＲ率が補正される。そして、ＥＧＲ率が補正されると吸入空気量が変化することから、結局のところ、学習値によって吸入空気量を補正していると捉えることもできる。
【０２５５】
なお、上述した実施形態では、推定空燃比は特定の時点の検出吸入空気量と特定の時点の目標燃料噴射量とに基づいて算出される。しかしながら、これら特定の時点の検出吸入空気量の空気と目標燃料噴射量の燃料との混合気が燃焼し、その燃焼ガスが排気ガスとして燃焼室から排出され、その排気ガスが酸素濃度センサに到達するまでには一定の時間を要する。そこで、上述した実施形態において、一次なまし処理が施された推定空燃比から検出空燃比を差し引くことによって空燃比偏差を算出するようにしてもよい。
【０２５６】
また、「燃料噴射量ずれに起因する最大学習値」および「燃料噴射量ずれに起因する最小学習値」を上述した実施形態の手法以外の手法によって求めるようにしてもよい。この手法としては、例えば、「実際の燃料噴射量が目標燃料噴射量からずれる燃料噴射量ずれ（すなわち、ここでの燃料噴射量ずれには、実際の燃料噴射量が目標燃料噴射量よりも多くなる燃料噴射量ずれも、実際の燃料噴射量が目標燃料噴射量よりも少なくなる燃料噴射量ずれも含まれる）が生じている場合に算出される学習値を十分に多い数だけ取得し、これら取得された学習値を統計的な手法によって処理することによって「燃料噴射量ずれに起因する最大学習値」として適した値と「燃料噴射量ずれに起因する最小学習値」として適した値とをそれぞれ「燃料噴射量ずれに起因する最大学習値」および「燃料噴射量ずれに起因する最小学習値」として求めるという手法を挙げることができる。
【０２５７】
同様に、「吸入空気量ずれに起因する最大学習値」および「吸入空気量ずれに起因する最小学習値」を上述した実施形態の手法以外の手法によって求めるようにしてもよい。この手法としては、例えば、「検出吸入空気量が実際の吸入空気量からずれる吸入空気量ずれ（すなわち、ここでの吸入空気量ずれには、検出吸入空気量が実際の吸入空気量よりも多くなる吸入空気量ずれも、検出吸入空気量が実際の吸入空気量よりも少なくなる吸入空気量ずれも含まれる）が生じている場合に算出される学習値を十分に多い数だけ取得し、これら取得された学習値を統計的によって処理することによって「吸入空気量ずれに起因する最大学習値」として適した値と「吸入空気量ずれに起因する最小学習値」として適した値とをそれぞれ「吸入空気量ずれに起因する最大学習値」および「吸入空気量ずれに起因する最小学習値」として求めるという手法を挙げることができる。
【０２５８】
また、上述した実施形態のうち図８のルーチンを利用する実施形態において、「最大燃料噴射量増量ずれ」および「最大燃料噴射量減量ずれ」として、燃料噴射量に関する燃料噴射弁の図面交差（いわゆる公称誤差）を利用するようにしてもよい。すなわち、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も多くなってしまう場合において、最終的に得られる学習値を「燃料噴射量ずれに起因する最大学習値」に設定し、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も少なくなってしまう場合において、最終的に得られる学習値を「燃料噴射量ずれに起因する最小学習値」に設定するようにしてもよい。
【０２５９】
同様に、上述した実施形態のうち図８のルーチンを利用する実施形態において、「最大吸入空気量増量ずれ」および「最大吸入空気量減量ずれ」として、検出吸入空気量に関するエアフローメータの図面交差（いわゆる公称誤差）を利用するようにしてもよい。すなわち、エアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も多くなってしまう場合において、最終的に得られる学習値を「吸入空気量ずれに起因する最大学習値」に設定し、エアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も少なくなってしまう場合において、最終的に得られる学習値を「吸入空気量ずれに起因する最小学習値」に設定するようにしてもよい。
【０２６０】
また、上述した実施形態のうち図１０のルーチンを利用する実施形態において、「最大燃料噴射量増量ずれ」および「最大燃料噴射量減量ずれ」として、燃料噴射量に関する燃料噴射弁の図面交差（いわゆる公称誤差）を利用し、「最大吸入空気量増量ずれ」および「最大吸入空気量減量ずれ」として、検出吸入空気量に関するエアフローメータの図面交差（いわゆる公称誤差）を利用するようにしてもよい。すなわち、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も多くなってしまい且つエアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も多くなってしまう場合において、最終的に得られる学習値を「最大学習値」に設定し、燃料噴射弁の図面交差の範囲内で実際の燃料噴射量が目標燃料噴射量よりも最も少なくなってしまい且つエアフローメータの図面交差の範囲内で検出吸入空気量が実際の吸入空気量よりも最も少なくなってしまう場合において、最終的に得られる学習値を「最小学習値」に設定するようにしてもよい。
【０２６１】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想が組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２６２】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６３】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６４】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第４実施形態の思想が組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２６５】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６６】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６７】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量および推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第５実施形態または第６実施形態の思想が組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２６８】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２６９】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７０】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想と第４実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２７１】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７２】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７３】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想と第５実施形態または第６実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２７４】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７５】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７６】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いる制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第４実施形態の思想と第５実施形態または第６実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２７７】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７８】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２７９】
また、本発明は、目標燃料噴射量に学習値を加算して得られる燃料噴射量を目標ＥＧＲ率取得用の燃料噴射量、目標スロットル弁開度取得用の燃料噴射量、目標ベーン開度取得用の燃料噴射量、および、推定空燃比算出用の燃料噴射量として用いると共に目標燃料噴射量から学習値を減算して得られる燃料噴射量を燃料噴射弁開弁時間算出用の目標燃料噴射量として用いるようになっている制御装置にも適用可能である。つまり、第１実施形態または第２実施形態の思想に第３実施形態の思想と第４実施形態の思想と第５実施形態または第６実施形態の思想とが組み合わされてもよい。なお、この場合、空燃比偏差が零よりも大きいときに算出される補正値は、正の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも大きくならないような適切な値として算出される。一方、空燃比偏差が零よりも小さいときに算出される補正値は、負の値であって、当該補正値によって更新された学習値を用いた内燃機関の制御が行われたときに検出空燃比が推定空燃比よりも小さくならないような適切な値として算出される。
【０２８０】
そして、この場合において、第１実施形態のように上限学習値を設定するために「燃料噴射量ずれに起因する最大学習値」と「吸入空気量ずれに起因する最大学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最大学習値」は、最大燃料噴射量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最大学習値」は、最大吸入空気量増量ずれが生じている場合において、同様に最終的に得られる学習値である。また、下限学習値を設定するために「燃料噴射量ずれに起因する最小学習値」と「吸入空気量ずれに起因する最小学習値」とが用いられるのであれば、「燃料噴射量ずれに起因する最小学習値」は、最大燃料噴射量減量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、「吸入空気量ずれに起因する最小学習値」は、最大吸入空気量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２８１】
また、第２実施形態のように最大学習値および最小学習値がそれぞれ上限学習値および下限学習値に設定されるのであれば、最大学習値は、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合において、「学習値の更新」と「該学習値を用いた内燃機関の制御」とが繰り返されたときに最終的に得られる学習値であり、最小学習値は、最大燃料噴射量減量ずれが生じており且つ最大燃料噴射量減量ずれが生じている場合において、同様に最終的に得られる学習値である。
【０２８２】
また、「目標燃料噴射量に学習値を加算すること」または「目標燃料噴射量から学習値を減算すること」を「目標燃料噴射量を補正値によって補正すること」と捉えた場合、上述した実施形態は、この目標燃料噴射量を補正する補正値として学習値そのものを用いるようになっている制御装置に本発明を適用した場合の実施形態であると言える。しかしながら、本発明は、目標燃料噴射量を補正する補正値として学習値そのものではなく学習値に基づいて算出される値を用いるようになっている制御装置にも適用可能である。
【０２８３】
また、上述した実施形態では、空燃比偏差に基づいて補正値が算出されたときに「同補正値」と「その時の燃料噴射量と機関回転数とに対応する学習値」とが目標燃料噴射量に加算され或いは目標燃料噴射量から減算されて内燃機関の制御が行われるのではなく、「同補正値」が「その時の燃料噴射量と機関回転数とに対応する学習値」に加算されることによって学習値が更新され、この更新された学習値が目標燃料噴射量に加算され或いは目標燃料噴射量から減算されて内燃機関の制御が行われる。すなわち、「目標燃料噴射量に加算されるべき学習値を取得すること」または「目標燃料噴射量から減算されるべき学習値を取得すること」を「目標燃料噴射量を補正するための補正値を設定すること」と捉えた場合、上述した実施形態では、目標燃料噴射量を補正するための補正値を設定する直前に学習値が更新され（すなわち、算出され）、この更新された学習値を利用して目標燃料噴射量を補正するための補正値が設定されるとも言える。
【０２８４】
以上を考慮すれば、上述した実施形態から導き出される制御装置は、広く捉えれば、燃料供給手段（例えば、燃料噴射弁）と、空気供給手段（例えば、吸気通路）と、を具備し、供給燃料量と供給空気量とを制御することによって混合気の空燃比を制御する内燃機関の制御装置であって、供給燃料量を補正する補正値である供給燃料量補正値または供給空気量を補正する補正値である供給空気量補正値を設定するために利用される学習値（上述した実施形態では、学習値そのものが供給燃料量補正値または供給空気量補正値として利用される）が目標空燃比（例えば、推定空燃比）に対する実際の空燃比（例えば、検出空燃比）のずれ（例えば、空燃比偏差）に基づいて該空燃比のずれが小さくなるような値として算出され、該学習値を利用して供給燃料量補正値または供給空気量補正値が設定される制御装置であって、供給燃料量補正値または供給空気量補正値の設定の直前に前記学習値が算出され、該算出された学習値を利用して供給燃料量補正値または供給空気量補正値が設定される制御装置であると言える。
【０２８５】
また、「目標燃料噴射量に加算されるべき学習値を取得すること」または「目標燃料噴射量から減算されるべき学習値を取得すること」を「目標燃料噴射量を補正するための補正値を設定すること」と捉えた場合、上述した実施形態では、目標燃料噴射量を補正するための補正値の設定を実行する決定がなされたことを契機として学習値の更新（すなわち、算出）が実行され、この学習値の更新の完了後に上記決定に従って目標燃料噴射量を補正するための補正値の設定が実行されるとも言える。
【０２８６】
また、上述した実施形態は、学習値の更新と学習値の利用とを一連の流れの中で行うようになっている制御装置に本発明を適用した場合の実施形態である。しかしながら、本発明は、学習値の更新と学習値の利用とを異なる流れの中で行うようになっている制御装置にも適用可能である。この場合、学習値の更新（すなわち、算出）が予め定められた時間間隔を開けたタイミング毎に実行されると共に学習値の利用が予め定められた時間間隔を開けたタイミング毎に実行されるようになっており、学習値の利用の実行タイミングと同実行タイミングの直後の学習値の更新の実行タイミングとの間の時間よりも、学習値の利用の実行タイミングと同実行タイミングの直前の学習値の更新の実行タイミングとの間の時間の方が短くなるように、学習値の利用の実行タイミングと学習値の更新の実行タイミングとが設定されていることが好ましい。つまり、「目標燃料噴射量に加算されるべき学習値を取得すること」または「目標燃料噴射量から減算されるべき学習値を取得すること」を「目標燃料噴射量を補正するための補正値を設定すること」と捉えた場合、学習値の更新（すなわち、算出）が予め定められた時間間隔を開けたタイミング毎に実行されると共に目標燃料噴射量を補正するための補正値の設定が予め定められた時間間隔を開けたタイミング毎に実行されるようになっており、補正値の設定の実行タイミングと同実行タイミングの直後の学習値の更新の実行タイミングとの間の時間よりも、補正値の設定の実行タイミングと同実行タイミングの直前の学習値の更新の実行タイミングとの間の時間の方が短くなるように、補正値の設定の実行タイミングと学習値の更新の実行タイミングとが設定されていることが好ましい。
【０２８７】
また、以上を考慮すれば、上述した実施形態から導き出される制御装置は、広く捉えれば、供給燃料量の推定値を推定供給燃料量（上述した実施形態では、目標燃料噴射量に学習値を加算して得られる燃料噴射量）として取得する手段と、供給空気量の推定値を推定供給空気量（上述した実施形態では、検出吸入空気量）として取得する手段と、推定供給燃料量と推定供給空気量とに基づいて混合気の空燃比を推定空燃比として算出する手段と、混合気の実際の空燃比を実空燃比（上述した実施形態では、検出空燃比）として取得する手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する手段と、補正値を積算することによって該補正値の学習値を算出して記憶する手段と、を具備し、
空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される、内燃機関の制御装置であると言える。
【０２８８】
そして、この制御装置は、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量増量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リーン方向学習値（上述した実施形態では、燃料噴射量ずれに起因する最大学習値）として求められ、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量減量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リッチ方向学習値（上述した実施形態では、燃料噴射量ずれに起因する最小学習値）として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大吸入空気量増量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リーン方向学習値（上述した実施形態では、吸入空気量ずれに起因する最大学習値）として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大吸入空気量減量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リッチ方向学習値（上述した実施形態では、吸入空気量ずれに起因する最小学習値）として求められ、
前記供給燃料量ずれに起因する最大リーン方向学習値と前記供給空気量ずれに起因する最大リーン方向学習値とのうち大きい方の最大リーン方向学習値が上限リーン方向学習値（上述した実施形態では、上限学習値）に設定され、
前記供給燃料量ずれに起因する最大リッチ方向学習値と前記供給空気量ずれに起因する最大リッチ方向学習値とのうち大きい方の最大リッチ方向学習値が上限リッチ方向学習値（上述した実施形態では、下限学習値）に設定され、
学習値が供給空気量を増大させる値であるとき（上述した実施形態では、学習値が正の値であるとき）に同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
学習値が供給空気量を減少させる値であるとき（上述した実施形態では、学習値が負の値であるとき）に同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限されるものと言える。
【０２８９】
或いは、この制御装置は、
実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該燃料供給量ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量増量ずれが生じており且つ最大吸入空気量増量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が上限リーン方向学習値（上述した実施形態では、上限学習値）に設定され、
実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料ずれが想定される範囲内で最も大きい場合であって推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合（上述した実施形態では、最大燃料噴射量減量ずれが生じており且つ最大吸入空気量減量ずれが生じている場合）において空燃比偏差が零になったときの前記学習値が上限リッチ方向学習値（上述した実施形態では、下限学習値）に設定され、
学習値が供給空気量を増大させる値であるとき（上述した実施形態では、学習値が正の値であるとき）に同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
前記学習手段によって算出された学習値が供給空気量を減少させる値であるとき（上述した実施形態では、学習値が負の値であるとき）に同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限されるものとも言える。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
燃焼室に供給される燃料の量である供給燃料量の推定値を推定供給燃料量として取得する推定供給燃料量取得手段と、燃焼室に供給される空気の量である供給空気量の推定値を推定供給空気量として取得する推定供給空気量取得手段と、推定供給燃料量と推定供給空気量とに基づいて燃焼室に形成される混合気の空燃比を推定空燃比として算出する推定空燃比算出手段と、燃焼室に形成される混合気の実際の空燃比を実空燃比として取得する実空燃比取得手段と、推定空燃比に対する実空燃比の偏差である空燃比偏差が小さくなるように供給空気量を補正する補正値を算出する補正値算出手段と、該補正値算出手段によって算出される補正値を積算することによって該補正値の学習値を算出して記憶する学習手段と、を具備し、空燃比偏差がないときには前記学習値のみによって供給空気量が補正され、空燃比偏差があるときには前記学習値と前記補正値とによって供給空気量が補正される内燃機関の制御装置において、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも多い供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リーン方向学習値として求められ、
推定供給空気量が実際の供給空気量に一致している状況下で実際の供給燃料量が推定供給燃料量よりも少ない供給燃料量ずれが生じており且つ該供給燃料量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給燃料量ずれに起因する最大リッチ方向学習値として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも多い供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リーン方向学習値として求められ、
推定供給燃料量が実際の供給燃料量に一致している状況下で推定供給空気量が実際の供給空気量よりも少ない供給空気量ずれが生じており且つ該供給空気量ずれが想定される範囲内で最も大きい場合において空燃比偏差が零になったときの前記学習値が供給空気量ずれに起因する最大リッチ方向学習値として求められ、
前記供給燃料量ずれに起因する最大リーン方向学習値と前記供給空気量ずれに起因する最大リーン方向学習値とのうち大きい方の最大リーン方向学習値が上限リーン方向学習値に設定され、
前記供給燃料量ずれに起因する最大リッチ方向学習値と前記供給空気量ずれに起因する最大リッチ方向学習値とのうち大きい方の最大リッチ方向学習値が上限リッチ方向学習値に設定され、
前記学習手段によって算出された学習値が供給空気量を増大させる値であるときに同学習値が前記上限リーン方向学習値よりも大きいときには同学習値が同上限リーン方向学習値に制限され、
前記学習手段によって算出された学習値が供給空気量を減少させる値であるときに同学習値が前記上限リッチ方向学習値よりも大きいときには同学習値が同上限リッチ方向学習値に制限される内燃機関の制御装置。
【請求項２】
前記供給燃料量ずれに起因する最大リーン方向学習値および最大リッチ方向学習値が推定供給燃料量と前記燃料供給手段から燃料が供給されるときの燃料の圧力との少なくとも一方によって定まる値である請求項１に記載の内燃機関の制御装置。
【請求項３】
前記供給空気量ずれに起因する最大リッチ方向学習値および最大リーン方向学習値が推定供給空気量によって定まる値である請求項１または２に記載の内燃機関の制御装置。
【請求項４】
燃焼室から排気通路に排出された排気ガスを吸気通路に導入する排気再循環手段をさらに具備し、前記補正値算出手段によって算出される補正値が前記排気再循環手段によって吸気通路に導入される排気ガスの量である再循環排気ガス量を補正する補正値である請求項１〜３のいずれか１つに記載の内燃機関の制御装置。
【国際調査報告】
2012086025.tif 000026
2012086025.tif 000027
2012086025.tif 000028
2012086025.tif 000029
2012086025.tif 000030
2012086025.tif 000031
2012086025.tif 000032