(57)【要約】【課題】この発明は、吸入空気量を精度良く推定することができる吸入空気量推定装置と、これを用いた内燃機関の制御装置とを提供することを目的とする。【解決手段】所定の周期で繰り返し、吸入空気量の推定値ｋｌを算出する。吸気弁の閉弁時刻を取得する。この閉弁時刻の前に算出されたｋｌをｋｌ_ａとし、この閉弁時刻の後に算出されたｋｌをｋｌ_ｂとする。ｋｌ_ａの算出時刻から閉弁時刻までの時間をｔ１とし、閉弁時刻からｋｌ_ｂの算出時刻までの時間をｔ２とする。ｋｌ_ａ、ｋｌ_ｂ、ｔ１、ｔ２に基づいて、閉弁時刻の吸入空気量の推定値ｋｌ_ＩＶＣを推定演算する。【選択図】図２
2009024608.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の１つの気筒について、吸入空気量の推定値を所定の周期で繰り返し算出する推定値算出手段と、
該１つの気筒の１燃焼サイクルごとに、該１つの気筒の吸気弁が吸気行程を経て閉弁する閉弁時刻を取得する取得手段と、
今回の燃焼サイクルの前記閉弁時刻の前後にわたって前記推定値算出手段が算出した複数の推定値のうち、該今回の燃焼サイクルの該閉弁時刻の前に算出された推定値の少なくとも１つと、該今回の燃焼サイクルの該閉弁時刻よりも後に算出された推定値の少なくとも１つと、該今回の燃焼サイクルの該閉弁時刻の前に算出された該少なくとも１つの該推定値の算出時刻から該今回の燃焼サイクルの該閉弁時刻までの時間と、該今回の燃焼サイクルの該閉弁時刻から該今回の燃焼サイクルの該閉弁時刻よりも後に算出された該少なくとも１つの該推定値の算出時刻までの時間と、に基づいて、該今回の燃焼サイクルの該閉弁時刻における前記１つの気筒の吸入空気量の推定演算を行う推定演算手段と、
を備えることを特徴とする吸入空気量推定装置。
【請求項２】
前記内燃機関は、前記今回の燃焼サイクルの前記閉弁時刻を経過した後に、該今回の燃焼サイクルの燃焼行程のための点火時期の算出を行う点火時期算出手段を備えており、
前記閉弁時刻から前記点火時期算出手段による点火時期の算出時刻までの特定時間範囲内に、前記推定値算出手段による前記推定値の算出があったか否かを判定する判定手段を備え、
前記推定演算手段は、今回の燃焼サイクルにおいて前記判定手段により前記閉弁後特定時間範囲内に前記推定値の算出があったと判定された場合には、該今回の燃焼サイクルの前記閉弁時刻における前記１つの気筒の吸入空気量を前記推定演算により求め、該今回の燃焼サイクルにおいて該判定手段により該閉弁後特定時間範囲内に前記推定値の算出がなかったと判定された場合には、該今回の燃焼サイクルの該閉弁時刻よりも前に前記推定値算出手段により算出された２以上の推定値と、該２以上の推定値のそれぞれの算出時刻と該今回の燃焼サイクルの該閉弁時刻と、に基づいて、該今回の燃焼サイクルの該閉弁時刻における該１つの気筒の吸入空気量を第２推定演算により求めることを特徴とする請求項１記載の吸入空気量推定装置。
【請求項３】
前記内燃機関は、前記今回の燃焼サイクルの前記閉弁時刻を経過した後に、該今回の燃焼サイクルの燃焼行程のための点火時期の算出を行う点火時期算出手段を備えており、
前記閉弁時刻から前記点火時期算出手段による点火時期の算出時刻までの特定時間範囲内に、前記推定値算出手段による前記推定値の算出があったか否かを判定する判定手段を備え、
前記推定演算手段は、今回の燃焼サイクルにおいて前記判定手段により前記閉弁後特定時間範囲内に前記推定値の算出があったと判定された場合には、該今回の燃焼サイクルの前記閉弁時刻における前記１つの気筒の吸入空気量を前記推定演算により求め、該今回の燃焼サイクルにおいて該判定手段により該閉弁後特定時間範囲内に該推定値の算出がなかったと判定された場合には、前記閉弁時刻の直前に前記推定値算出手段により算出された推定値を前記１つの気筒の該閉弁時刻における吸入空気量とすることを特徴とする請求項１記載の吸入空気量推定装置。
【請求項４】
請求項１乃至３のいずれか１項記載の吸入空気量推定装置と、
今回の燃焼サイクルの前記閉弁時刻よりも前に、該今回の燃焼サイクルの目標空燃比に基づいた量の燃料を前記１つの気筒内に供給する燃料供給手段と、
前記今回の燃焼サイクルにおいて前記吸入空気量推定装置により得られた吸入空気量の推定演算値を用いて、該今回の燃焼サイクルにおける前記１つの気筒の閉弁後空燃比を算出する空燃比算出手段と、
前記今回の燃焼サイクルの前記閉弁時刻を経過した後に、該今回の燃焼サイクルの燃焼行程のための点火時期の算出を行う点火時期算出手段と、
前記今回の燃焼サイクルにおいて前記燃料供給手段が参照した前記目標空燃比と、該今回の燃焼サイクルで前記空燃比算出手段が算出した前記閉弁後空燃比との比較に基づいて、前記点火時期算出手段が算出した該今回の燃焼サイクルにおける点火時期を補正する点火時期補正手段と、
を備えることを特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、吸入空気量推定装置およびこれを用いた内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来、例えば、特開２００２−１３００４１号公報に開示されているように、内燃機関の吸入空気量を、一定の周期で繰り返し予測演算する吸入空気量予測装置が知られている。この技術にかかる吸入空気量予測装置では、今回の演算時刻から吸気弁の閉弁時刻までの時間と、前回の演算時刻から吸気弁の閉弁時刻までの時間とを比較し、これらの差を利用しつつ今回の予測演算を行っている。これにより、吸入空気量の高精度な予測を試みている。
【０００３】
【特許文献１】特開２００２−１３００４１号公報
【特許文献２】特開平８−２８４７３７号公報
【特許文献３】特開２００６−３２９０８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
気筒内の現実の吸入空気量は、吸気行程を経て吸気弁が閉弁した時点で確定する。よって、吸気弁の閉弁時刻の吸入空気量を精度良く推定演算できることが望ましい。
【０００５】
しかしながら、上記従来の吸入空気量予測装置では、吸入空気量の予測値の演算タイミングが固定されている。一方、吸気弁の閉弁時刻はその周期が完全に固定されているわけではなく、可変バルブ・タイミング機構などによる積極的な変化や、その他種々の要因により変化することがある。この点に起因して、吸気弁の閉弁時刻が変化した場合に、適切な演算を意図するタイミングで行えなくなるという事態が生じうる。その結果、吸気弁の閉弁時刻における吸入空気量を、高い精度で推定することが困難となってしまう。
【０００６】
この発明は、上記のような課題を解決するためになされたもので、吸入空気量を精度良く推定することができる吸入空気量推定装置と、これを用いた内燃機関の制御装置とを提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の発明は、上記の目的を達成するため、吸入空気量推定装置であって、
内燃機関の１つの気筒について、吸入空気量の推定値を所定の周期で繰り返し算出する推定値算出手段と、
該１つの気筒の１燃焼サイクルごとに、該１つの気筒の吸気弁が吸気行程を経て閉弁する閉弁時刻を取得する取得手段と、
今回の燃焼サイクルの前記閉弁時刻の前後にわたって前記推定値算出手段が算出した複数の推定値のうち、該今回の燃焼サイクルの該閉弁時刻の前に算出された推定値の少なくとも１つと、該今回の燃焼サイクルの該閉弁時刻よりも後に算出された推定値の少なくとも１つと、該今回の燃焼サイクルの該閉弁時刻の前に算出された該少なくとも１つの該推定値の算出時刻から該今回の燃焼サイクルの該閉弁時刻までの時間と、該今回の燃焼サイクルの該閉弁時刻から該今回の燃焼サイクルの該閉弁時刻よりも後に算出された該少なくとも１つの該推定値の算出時刻までの時間と、に基づいて、該今回の燃焼サイクルの該閉弁時刻における前記１つの気筒の吸入空気量の推定演算を行う推定演算手段と、
を備えることを特徴とする。
【０００８】
また、第２の発明は、前記第１の発明において、
前記内燃機関は、前記今回の燃焼サイクルの前記閉弁時刻を経過した後に、該今回の燃焼サイクルの燃焼行程のための点火時期の算出を行う点火時期算出手段を備えており、
前記閉弁時刻から前記点火時期算出手段による点火時期の算出時刻までの特定時間範囲内に、前記推定値算出手段による前記推定値の算出があったか否かを判定する判定手段を備え、
前記推定演算手段は、今回の燃焼サイクルにおいて前記判定手段により前記閉弁後特定時間範囲内に前記推定値の算出があったと判定された場合には、該今回の燃焼サイクルの前記閉弁時刻における前記１つの気筒の吸入空気量を前記推定演算により求め、該今回の燃焼サイクルにおいて該判定手段により該閉弁後特定時間範囲内に前記推定値の算出がなかったと判定された場合には、該今回の燃焼サイクルの該閉弁時刻よりも前に前記推定値算出手段により算出された２以上の推定値と、該２以上の推定値のそれぞれの算出時刻と該今回の燃焼サイクルの該閉弁時刻と、に基づいて、該今回の燃焼サイクルの該閉弁時刻における該１つの気筒の吸入空気量を第２推定演算により求めることを特徴とする。
【０００９】
また、第３の発明は、前記第１の発明において、
前記内燃機関は、前記今回の燃焼サイクルの前記閉弁時刻を経過した後に、該今回の燃焼サイクルの燃焼行程のための点火時期の算出を行う点火時期算出手段を備えており、
前記閉弁時刻から前記点火時期算出手段による点火時期の算出時刻までの特定時間範囲内に、前記推定値算出手段による前記推定値の算出があったか否かを判定する判定手段を備え、
前記推定演算手段は、今回の燃焼サイクルにおいて前記判定手段により前記閉弁後特定時間範囲内に前記推定値の算出があったと判定された場合には、該今回の燃焼サイクルの前記閉弁時刻における前記１つの気筒の吸入空気量を前記推定演算により求め、該今回の燃焼サイクルにおいて該判定手段により該閉弁後特定時間範囲内に該推定値の算出がなかったと判定された場合には、前記閉弁時刻の直前に前記推定値算出手段により算出された推定値を前記１つの気筒の該閉弁時刻における吸入空気量とすることを特徴とする。
【００１０】
また、第４の発明は、内燃機関の制御装置であって、
前記第１乃至３の発明のいずれかの吸入空気量推定装置と、
今回の燃焼サイクルの前記閉弁時刻よりも前に、該今回の燃焼サイクルの目標空燃比に基づいた量の燃料を前記１つの気筒内に供給する燃料供給手段と、
前記今回の燃焼サイクルにおいて前記吸入空気量推定装置により得られた吸入空気量の推定演算値を用いて、該今回の燃焼サイクルにおける前記１つの気筒の閉弁後空燃比を算出する空燃比算出手段と、
前記今回の燃焼サイクルの前記閉弁時刻を経過した後に、該今回の燃焼サイクルの燃焼行程のための点火時期の算出を行う点火時期算出手段と、
前記今回の燃焼サイクルにおいて前記燃料供給手段が参照した前記目標空燃比と、該今回の燃焼サイクルで前記空燃比算出手段が算出した前記閉弁後空燃比との比較に基づいて、前記点火時期算出手段が算出した該今回の燃焼サイクルにおける点火時期を補正する点火時期補正手段と、
を備えることを特徴とする。
【発明の効果】
【００１１】
第１の発明によれば、吸気弁の閉弁時刻を挟んで算出される複数の推定値に基づいて、閉弁時刻における吸入空気量を推定演算することができる。そして、閉弁時刻から各推定値のそれぞれの算出時刻までの時間を、吸入空気量の推定演算に反映させることができる。よって、推定値の周期的な算出タイミングに対して閉弁時刻が相対的に変化した場合にも、その変化を吸入空気量の推定演算に確実に反映させることができる。その結果、吸気弁閉弁時刻における吸入空気量を高精度に推定演算することができる。
【００１２】
第２の発明によれば、点火時期の算出を行うまでの推定値の算出の有無を判定し、この判定結果に基づいて推定演算の手法を使い分けることができる。吸入空気量の推定値を所定の周期で繰り返し算出する場合、内燃機関の機関回転数が変化すると、この周期と点火時期算出のタイミングとの関係にも影響を及ぼす。第２の発明によれば、機関回転数が増加して閉弁時刻から点火時期の算出時刻までの時間範囲内に推定値が得られなかった場合でも、吸入空気量を高精度に推定演算値し当該推定演算値を点火時期の算出のために利用することができる。
【００１３】
第３の発明によれば、点火時期の算出を行うまでの推定値の算出の有無を判定し、この判定結果に基づいて推定演算の手法を使い分けることができる。吸入空気量の推定値を所定の周期で繰り返し算出する場合、内燃機関の機関回転数が変化すると、この周期と点火時期算出のタイミングとの関係にも影響を及ぼす。一方、機関回転数が高い場合、時間経過に応じた吸入空気量の変化量はそれほど大きくない。第３の発明によれば、この点を活かし、閉弁時刻から点火時期算出の時刻までに推定値が得られない状況下では閉弁時刻直前に得られた推定値を閉弁時刻における吸入空気量として扱うことができるので、少ない誤差で吸入空気量の推定を行いこの推定演算値を点火時期の算出のために利用することができる。
【００１４】
第４の発明によれば、吸気弁の閉弁時刻を挟んで算出される複数の推定値に基づいて、閉弁時刻における吸入空気量を推定演算することができる。また、閉弁時刻を基準の時刻として、複数の推定値のそれぞれの算出時刻を吸入空気量の推定演算に反映させることで、閉弁時刻が変化してもその変化を確実に推定演算に反映させることができる。その結果、吸気弁閉弁時刻における吸入空気量を高精度に推定演算することができる。そして、第４の発明によれば、目標空燃比と、推定演算値に基づいて算出される高精度な空燃比との比較に基づいて、点火時期に補正を加えることができる。その結果、点火時期を、現実の空燃比に適合する理想的なタイミングに近づけることができる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１． 
以下、本発明の実施の形態１について述べる。以下の説明では、先ず、１つの内燃機関を例示し、この内燃機関に対して実施の形態１の吸入空気量推定装置およびこれを備える内燃機関の制御装置を適用する場合について述べる。
【００１６】
［実施の形態１の構成］
図１は、本発明の実施の形態１を適用する内燃機関の構成の一例を示す図である。図１には、内燃機関２およびこの内燃機関２が備える気筒１０が示されている。以下の説明では、１つの気筒１０についてのみ図示および説明を行うが、複数の気筒を備える場合には、個々の気筒について本実施形態の思想を同様に適用すればよい。
【００１７】
気筒１０には吸気通路１２および排気通路１４が連通している。吸気通路１２の上流には、エアフロメータ２０が配置されている。エアフロメータ２０は、吸気通路１２を流れる空気流入量を検出するセンサである。エアフロメータ２０の下流には、スロットルバルブ２２が設けられている。スロットルバルブ２２の近傍には、スロットル開度ＴＡを検出するスロットルセンサ２４が配置されている。
【００１８】
スロットルバルブ２２の下流には、気筒１０の吸気ポートに燃料を噴射するための燃料噴射弁３０が配置されている。また、内燃機関２は、吸気弁１６、排気弁１８、点火プラグ５０を備えている。排気通路１４の下流には、図示しない排気系が備えられる。この排気系には、触媒、空燃比センサ（Ａ／Ｆセンサ）やＯ２センサなどが配置されている。
【００１９】
図１に示すように、本実施形態の異常検出装置はＥＣＵ（Electronic Control Unit）４０を備えている。ＥＣＵ４０には、上述した各種センサ、燃料噴射弁３０および点火プラグ５０が接続されている。また、図示しないが、実施の形態１の内燃機関２は、クランク角センサやカム角センサも備えている。これらのセンサはＥＣＵ４０に接続されており、ＥＣＵ４０は適宜その出力を取得可能である。
【００２０】
本実施形態では、ＥＣＵ４０が、気筒１０の吸入空気量を所定の周期で繰り返し演算する「推定値逐次算出処理」を記憶している。この処理は、吸気管モデル等、物理モデルを利用することにより、ＥＣＵ４０がスロットル開度ＴＡや機関回転数ＮＥなどに基づいて気筒１０の吸入空気量の推定値ｋｌ（以下、単にｋｌとも呼称する）を所定の周期で算出する処理である。
【００２１】
この処理は、物理モデル等を利用した逐次演算を行う処理である。このため、演算タイミングが離散的なものになり、その演算周期は例えば８ｍｓ（ミリ秒）等固定的な値となる。なお、この推定値逐次算出処理は、具体的には、例えば、特開２００２−１３００４１号公報に開示されている技術を用いることができる。また、他の種々の公知の吸入空気量推定手法を応用することもできるため、その詳細な説明は省略する。
【００２２】
また、ＥＣＵ４０は、点火プラグ５０の点火時期を算出する「点火時期算出処理」も記憶している。この処理は、内燃機関２の機関回転数ＮＥや吸入空気量などに基づいて点火時期を算出する処理である。本実施形態では、吸気行程を経て吸気弁１６が閉弁（ＩＶＣ：Intake Valve Close）した時刻（以下、ＩＶＣ時刻とも呼称する）の後にその直後の燃焼行程のための点火時期の算出を行うように、点火時期算出を行う時刻を定めておく。なお、この処理は、従来用いられている周知の点火時期算出手法を、算出処理の実行時刻を適宜調整したうえで利用することができる。このため、計算内容などに関する詳細な説明は省略する。
【００２３】
［実施の形態１の動作］
次に、上記構成の内燃機関に適用する本発明の特徴的な動作を説明する。
【００２４】
気筒１０内の現実の吸入空気量は、吸気行程を経て吸気弁１６が閉弁した時点（つまりＩＶＣ時刻）で確定する。ＩＶＣ時刻に確定した吸入空気量についての推定値（以下、「ｋｌ_ＩＶＣ」とも呼称する）を精度良く推定演算することができれば、現実の吸入空気量に対応したより正確な制御が可能になる。例えば、高精度に算出されたｋｌ_ＩＶＣに基づいてトルク推定を行うことで、当該トルク推定の精度も向上する。
【００２５】
ところで、上述したように、推定値逐次算出処理は、ある固定的な周期で繰り返しｋｌを算出する処理である。一方、ＩＶＣ時刻はその周期が完全に固定されているわけではなく、種々の要因（例えば、回転数の変化、吸気弁動作の積極的な変更、予期しない吸気弁動作のずれなど）により変化することがある。
【００２６】
そこで、実施の形態１は、ＩＶＣ時刻とｋｌ算出のタイミングとの相対的な関係が変化する状況下でも、精度良くｋｌ_ＩＶＣを推定演算すべく、以下述べる第１、２の動作を実行することとする。以下、図２〜３を参照しつつ、第１、２の動作について個別に説明する。
【００２７】
（実施の形態１の第１の動作）
図２を用いて、実施の形態１の第１の動作について詳細に説明する。図２は、気筒１０の１燃焼サイクルの行程と、上述した推定値逐次算出処理におけるｋｌの算出の様子と、本実施形態の特徴である吸入空気量の推定演算の手法とを、時間の経過を追って示す図である。図２の紙面中央には、紙面右方に時間の進行方向をとって、気筒１０内での燃焼サイクルの各行程の進行を示すタイミングチャートが図示されている。
【００２８】
図２において紙面下方を向く多数の矢印は、既述した推定値逐次算出処理の推定値ｋｌが算出された時刻に相当している。上述したように、推定値逐次算出処理は所定の周期で繰り返しｋｌを算出する。図２には、このｋｌ算出頻度が機関回転数ＮＥに応じて変化する様子も示されている。図２のように、１回の燃焼サイクル（以下、単に「１燃焼サイクル）と呼称する）あたりのｋｌ算出頻度は、機関回転数ＮＥに応じて変化する。機関回転数ＮＥつまり回転速度が増加すると、１燃焼サイクルに要する時間が短くなるからである。
【００２９】
より具体的に説明すると、機関回転数ＮＥが４０００ｒｐｍの場合には、ｋｌの算出が行われる時間間隔に比して、排、吸、圧およびそれ以降の各行程が速やかに進行する。これに起因して、１燃焼サイクルの中で得られるｋｌの数は比較的少なくなる。一方、ＮＥが相対的に小さくなると、１燃焼サイクルの中でｋｌが算出される頻度が増加し、１燃焼サイクルあたりに得られるｋｌの数は相対的に多くなる。その結果、図２にも示すように、３０００ｒｐｍ、２０００ｒｐｍ、１０００ｒｐｍとなるにつれ、吸気行程から圧縮行程にかけて算出されるｋｌの数が多くなる。
【００３０】
また、図２では、１燃焼サイクル行程のなかで吸気弁１６が開かれている時間領域を、タイミングチャートに重ねて、紙面左右を向く矢印で記載している。図２に示すように、吸気弁１６は、吸気行程開始時点よりも若干前に開弁（ＩＶＯ：Intake Valve Open）し、吸気行程終了時点から若干遅れて閉弁（ＩＶＣ）される。以下の説明では、吸気弁１６の開弁時刻をＩＶＯ時刻とも呼称し、吸気弁１６の閉弁時刻を、ＩＶＣ時刻とも呼称する。
【００３１】
図２のタイミングチャートの下方に示した図は、吸入空気量の時間変化のイメージを示すものである。図には、ＩＶＯ時刻に吸気弁１６が開弁された後、気筒１０内に空気が吸入されていき、吸入空気量が増加していく様子が示されている。なお、図２には、目標空燃比に基づいて今回の燃焼行程に寄与する燃料の噴射量を算出する時刻ｔ_ｉｎｊと、点火プラグ５０の点火時期を算出する時刻ｔ_ｉｇとがそれぞれ示されている。
【００３２】
上述したように、ＩＶＣ時刻が変化することに起因して、ＩＶＣ時刻とｋｌの算出時刻との相対的な関係が図２に示すように変化する。このような状況下にあってｋｌ_ＩＶＣを精度良く得るため、本実施形態では、ＩＶＣ時刻を挟んで算出された２つのｋｌと、それらの算出時期との比率から、ｋｌ_ＩＶＣを推定演算することとする。
【００３３】
具体的には、ＩＶＣ時刻の直前に算出されたｋｌ（以下、ｋｌ_ａとも呼称する）と、ＩＶＣ時刻の直後に算出されたｋｌ（以下、ｋｌ_ｂとも呼称する）と、ｋｌ_ａの算出時刻からＩＶＣ時刻まで時間ｔ１と、ＩＶＣ時刻からｋｌ_ｂの算出時刻までの時間ｔ２とを用いて、下記の式（１）に基づいてｋｌ_ＩＶＣを推定演算する。
ｋｌ_ＩＶＣ＝ｋｌ_ａ＋（ｋｌ_ｂ−ｋｌ_ａ）×ｔ１／（ｔ１＋ｔ２）  ・・・（１）
【００３４】
このような手法によれば、ＩＶＣ時刻を起点として、ｋｌ_ａ、ｋｌ_ｂのそれぞれの算出時刻までの時間ｔ１、ｔ２を、ｋｌ_ＩＶＣの推定演算に反映させることができる。よって、ｋｌ算出のタイミングに対してＩＶＣ時刻が相対的に変化した場合にも、その変化を吸入空気量の推定演算に確実に反映させることができる。その結果、吸気弁閉弁時刻における吸入空気量を高精度に推定演算することができる。
【００３５】
また、既述したように、吸入空気量は吸気弁１６の閉弁時刻に確定することから、ＩＶＣ時刻後に得られるｋｌ（つまりｋｌ_ｂ）を推定演算に用いることで、吸入空気量の推定演算の精度を高めることができる。そして、ＩＶＣ時刻の前後にそれぞれ得られたｋｌ（ｋｌ_ａとｋｌ_ｂ）の両方を利用することで、ＩＶＣ時刻の前後にわたる吸入空気量の変化の情報を、推定演算に活用することができる。以上のように、本実施形態の手法によれば、高い推定精度で、ＩＶＣ時刻の変化に柔軟に対応しつつ、ｋｌ_ＩＶＣの推定演算を行うことができる。
【００３６】
なお、このようにして取得したｋｌ_ＩＶＣは、図２の点火時期算出時刻ｔ_ｉｇにおける点火時期算出に利用することができる。高精度な吸入空気量の推定値を用いることで、点火時期を適切なタイミングに設定することができる。
【００３７】
（実施の形態１の第２の動作）
次に、図３を用いて、本実施形態の第２の動作を説明する。図３には、図２と同様の書式で、気筒１０の１燃焼サイクルの行程と、ｋｌの算出の様子とが時間の経過に沿って示されている。図３では、説明の簡略化のため、回転数が４０００ｒｐｍの時の様子についてのみ記載している。
【００３８】
図２の説明でも述べたように、ｋｌ算出周期が固定的である場合には、機関回転数ＮＥが大きいほど１回のサイクルの中でｋｌが算出される頻度が減少する。このような場合、さらに内燃機関２の機関回転数が大きくなると、ｋｌ算出の周期よりも、ＩＶＣ時刻から点火時期算出時刻ｔ_ｉｇまでの時間間隔のほうが短くなるという事態が生じうる。その結果、図３に示すように、ＩＶＣ時刻の後、ｔ_ｉｇまでの間に、ｋｌの算出がなされない場合がある。
【００３９】
一方、式（１）の演算結果としてのｋｌ_ＩＶＣを点火時期算出の際に利用するためには、少なくともｔ_ｉｇに至る前に、ｋｌ_ａ、ｋｌ_ｂ、ｔ１、ｔ２が得られている必要がある。この点、図３のような場合には、（１）の演算を行おうとしても、ｋｌ_ｂとして用いるべき推定値が未だ得られておらず、式（１）に代入すべきパラメータが十分でない。
【００４０】
そこで本実施形態では、このような場合には、第２の動作として、ＩＶＣ時刻直前のｋｌであるｋｌ_ａをｋｌ_ＩＶＣとして用いることとする。機関回転数が高い場合、時間経過に応じた吸入空気量の変化量はそれほど多くない。第２の動作では、この点を活かし、点火時期算出の時刻までにｋｌ_ｂが得られない状況下では、ＩＶＣ時刻直前に得られたｋｌ（直前のｋｌ_ａ）をｋｌ_ＩＶＣとすることができる。その結果、少ない誤差で吸入空気量の推定値を確定し、この推定演算値を点火時期の算出のために利用することができる。
【００４１】
以上説明したように、実施の形態１の吸入空気量推定装置によれば、ＩＶＣ時刻や機関回転数の変化にも柔軟に対応しつつ、吸入空気量を精度良く推定演算することができる。
【００４２】
［実施の形態１の具体的処理］
以下、図４乃至６を用いて、実施の形態１が行う具体的処理を説明する。図４乃至６は、実施の形態１において実行される各種処理のフローチャートである。図４は、上記の第１、２の動作を実現すべく、ＩＶＣ時刻に相当する推定ＩＶＣ時刻を算出するための処理を示している（以下、「ＩＶＣ時刻取得処理」とも呼称する）。
【００４３】
図５は、ｋｌ_ａ、ｋｌ_ｂおよびそれらの算出時刻Ｔｋｌ_ａ、Ｔｋｌ_ｂを保持する処理を示している（以下、「ｋｌ保持処理」とも呼称する）。ｋｌ保持処理は、ｋｌ_ＩＶＣの演算のために必要なパラメータを適切に保持すべく実行される処理である。また、図６は、ｋｌ_ＩＶＣを具体的に演算する処理を示している（以下、「ｋｌ_ＩＶＣ演算処理」とも呼称する）。これらのルーチンは、実施の形態１の内燃機関の運転中に、互いに算出結果の授受を行いつつ、個別に実行される。以下、それぞれの処理について説明する。なお、本実施形態では、ＥＣＵ４０に、上述した式（１）を予め記憶させておく。
【００４４】
（ＩＶＣ時刻取得処理）
図４は、推定ＩＶＣ時刻を取得するルーチンを示すフローチャートである。実施の形態１では、内燃機関２の運転中に図４のルーチンが所定の周期で繰り返し実行される。図４に示すルーチンでは、先ず、ＥＣＵ４０が、クランク角センサの出力を取得し、これに基づいて気筒１０の状態が現在吸気ＴＤＣタイミングにあるか否かを判別する（ステップＳ１００）。なお、図４のフローチャートの下方に、気筒１０の各行程のタイミングチャートとともに、吸気ＴＤＣタイミング、ｔ_ｉｎｊ、ｔ_ｉｇを図示する。ｔ_ｉｎｊ、ｔ_ｉｇについては、適宜、運転状態に応じた標準のタイミングを設定しておくことができる。
【００４５】
現在、吸気ＴＤＣタイミングにはないと判別された場合には、今回のルーチンが終了する。その後、吸気ＴＤＣタイミングまで、所定の周期で図４のルーチンが繰り返し実行される。ステップＳ１００の処理において、吸気ＴＤＣタイミングにあると判別された場合には、ＩＶＣ時刻（Ｔｉｖｃとも呼称する）の算出が行われる（ステップＳ１０２）。このステップでは、具体的には、ＥＣＵ４０が、機関回転数ＮＥとバルブ作用角を元に、推定ＩＶＣ時刻を算出する。バルブ作用角は、吸気ＴＤＣタイミングまでに既知としておくこととする。このような処理を繰り返し行うことにより、ＥＣＵ４０は、推定ＩＶＣ時刻を最新の値に更新する。
【００４６】
（ｋｌ保持処理）
図５は、ｋｌ保持処理の内容を示すフローチャートである。図５のルーチンでは、先ず、ＥＣＵ４０が記憶している推定値逐次算出処理が実行され、吸入空気量の推定値ｋｌが算出される（ステップＳ１１０）。既述したように、ｋｌは、推定値逐次算出処理によって所定の周期で繰り返し算出される。図５のルーチンも、これに応じて繰り返し実行されるものであり、以下の説明では、図５のルーチンの実行が開始されてから数回目の処理を説明している。
【００４７】
次に、現在の時刻がＩＶＣ時刻前であるか否かが判別される（ステップＳ１１２）。このステップでは、具体的には、ＥＣＵ４０がクランク角センサに基づいて現在のクランク角を取得し、現在の時刻（クランク角）が、図４のルーチンが算出した推定ＩＶＣ時刻よりも前か否かを判別する。
【００４８】
ステップＳ１１２の条件の成立が認められた場合には、推定ＩＶＣ時刻には未だ至っていないと判断される。この場合には、ステップＳ１１４に進み、以下述べる処理を行う。ＥＣＵ４０は、まず、前回のルーチンでｋｌ_ａとして保持した値を、ｋｌ_ａｏとして保持する。そして、ステップＳ１１０で算出された現在のｋｌを、ｋｌ_ａとして保持する。また、ステップＳ１１４の処理では、現在のｋｌを、ｋｌ_ｂとしても保持する。ステップＳ１１４の処理により、推定ＩＶＣ時刻到達前は、ｋｌ_ａ、ｋｌ_ｂとして同一の値が代入されることになる。
【００４９】
また、ステップＳ１１４では、前回のルーチン実行中に保持されたｋｌ_ａ算出時刻、つまり、ステップＳ１１４の前回の実行時刻を、Ｔｋｌ_ａｏとして保持する。そして、現在の時刻（すなわち、今回のｋｌ算出時刻であり、かつ、今回のｋｌ_ａ、ｋｌ_ｂ算出時刻）を、Ｔｋｌ_ａおよびＴｋｌ_ｂとして保持する。ステップＳ１１４の処理により、推定ＩＶＣ時刻到達前は、Ｔｋｌ_ａ、Ｔｋｌ_ｂとして同一の値が代入されることになる。その後、今回のルーチンが終了し、推定ＩＶＣ時刻に到達するまでステップＳ１１０、１１２、１１４の処理が繰り返し実行される。
【００５０】
ステップＳ１１２の条件の成立が認められない場合には、推定ＩＶＣ時刻に至ったものと判断される。この場合には、ステップＳ１１６に進み、以下述べる処理を行う。ステップＳ１１６では、現在のｋｌをｋｌ_ｂとして、現在の時刻をＴｋｌ_ｂとして、それぞれ保持する。このステップ１１６により、推定ＩＶＣ時刻後のｋｌがｋｌ_ｂとして保持される。その後、今回のルーチンが終了する。
【００５１】
以上述べたように、図５のルーチンによれば、推定ＩＶＣ時刻に至るまで、今回のルーチンのｋｌおよびその算出時刻と、前回のルーチンのｋｌおよびその算出時刻とを、保持することができる。そして、推定ＩＶＣ時刻に至った後は、ｋｌ_ａには推定ＩＶＣ時刻直前に算出されたｋｌを保持することができ、ｋｌ_ｂには推定ＩＶＣ時刻後の最新のｋｌを保持することができる。
【００５２】
（ｋｌ_ＩＶＣ演算処理）
図６は、ｋｌ_ＩＶＣを演算する処理の内容を示すフローチャートである。図６のルーチンでは、先ず現在が点火算出タイミングであるか否かが判別される（ステップＳ１２０）。このステップでは、具体的には、先ず、ＥＣＵ４０がクランク角センサの出力を取得する。そして、現在の時刻が、点火プラグ５０の算出時刻ｔ_ｉｇに到達したか否かを判別する。ステップＳ１２０の条件の成立が認められない場合には、まだ点火時期の算出を行うべき時期ではないと判断され、今回のルーチンが終了する。
【００５３】
ステップＳ１２０の条件の成立が認められた場合には点火時期の算出をすべきとの判断がなされ、続いて、現在保持されているｋｌ_ａとｋｌ_ｂの値が読み出され、これらの値が相違（ｋｌ_ａ≠ｋｌ_ｂ）しているか否かの判別がなされる（ステップＳ１２２）。上述したように、図５のルーチンでは、推定ＩＶＣ時刻前はｋｌ_ａ、ｋｌ_ｂとして同一の値が代入され、推定ＩＶＣ時刻後にはｋｌ_ｂのみに最新のｋｌが代入される。このような、図５のルーチンのｋｌ保持手法によれば、ｋｌ_ａとｋｌ_ｂとの値の相違に基づく判定により、ＩＶＣ時刻を挟んでｋｌの算出がなされたか否かを判定することが可能となる。
【００５４】
ステップＳ１２２においてｋｌ_ａとｋｌ_ｂが異なる値になっていると判別されたら、続いて、ｔ１とｔ２の算出が行われる（ステップＳ１２４）。具体的には、下記の式（２）、式（３）により、今回ｋｌ_ａとして用いるｋｌの算出時刻と推定ＩＶＣ時刻との間の時間ｔ１と、推定ＩＶＣ時刻から今回ｋｌ_ｂとして用いるｋｌの算出時刻までの時間ｔ２とを、それぞれ算出する。
ｔ１＝Ｔｉｖｃ−Ｔｋｌ_ａ    ・・・（２）
ｔ２＝Ｔｋｌ_ｂ−Ｔｉｖｃ    ・・・（３）
上記の式において、Ｔｉｖｃは、図４のルーチンで算出された推定ＩＶＣ時刻である。Ｔｋｌ_ａおよびＴｋｌ_ｂは、図５のルーチンで保持されている値である。
【００５５】
続いて、ｋｌ_ＩＶＣを推定演算する処理がなされる（ステップＳ１２６）。このステップでは、ＥＣＵ４０が予め記憶している式（１）に、ｋｌ_ａ、ｋｌ_ｂ、ｔ１、ｔ２がそれぞれ代入され、ｋｌ_ＩＶＣを演算する処理が実行される。その後、今回のルーチンが終了し、点火時期を算出する他のルーチンなどへと移行する。
【００５６】
ステップＳ１２２において、ｋｌ_ａとｋｌ_ｂが相違していない（ｋｌ_ａ＝ｋｌ_ｂである）と判別された場合には、推定ＩＶＣ時刻の後、ｔ_ｉｇまでの間に、ｋｌの算出がされていないと判断することができる。図５のルーチンにより、推定ＩＶＣ時刻の後にｋｌ算出があった場合には、ｋｌ_ｂにはｋｌ_ａと異なる値が代入されていると考えられるからである。
【００５７】
この場合には、実施の形態１の第２の動作を実現すべく、ｋｌ_ＩＶＣとしてｋｌ_ａを用いる処理が実行される（ステップＳ１３０）。これにより、ｋｌ_ＩＶＣを確定して点火時期の算出を滞りなく行うことができる。そして、高回転時のＩＶＣ時刻直前のｋｌを確実にｋｌ_ＩＶＣとして用いることができ、誤差も小さなものとすることができる。なお、例外的にＩＶＣ時刻後のｋｌとＩＶＣ時刻直前のｋｌとが同じ値になったとしても、本実施形態ではステップＳ１３０の処理に移行し、ｋｌ_ＩＶＣを確定し、点火時期の算出処理へと移行することができる。
【００５８】
以上説明した本実施形態によれば、ＩＶＣ時刻や機関回転数の変化にも柔軟に対応しつつ、吸入空気量を精度良く推定演算することができる。そして、図４乃至６を用いて説明した本実施形態の具体的処理によれば、無駄のない処理で上述した第１、２の動作を実現し、高精度なｋｌ_ＩＶＣを点火時期の算出に活用することができる。
【００５９】
尚、上述した実施の形態１では、気筒１０が、前記第１の発明における「１つの気筒」に、ＥＣＵ４０が記憶している推定値逐次算出処理が前記第１の発明における「推定値算出手段」に相当している。また、上述した実施の形態１では、吸入空気量の推定値ｋｌが、前記第１の発明の「吸入空気量の推定値」に、ｋｌ_ａが前記第１の発明の「該今回の燃焼サイクルの該閉弁時刻の前に算出された推定値」に、ｋｌ_ｂが前記第１の発明の「該今回の燃焼サイクルの該閉弁時刻よりも後に算出された推定値」に、ｔ１が前記第１の発明の「該今回の燃焼サイクルの該閉弁時刻の前に算出された該少なくとも１つの該推定値の算出時刻から該今回の燃焼サイクルの該閉弁時刻までの時間」に、ｔ２が前記第１の発明の「該今回の燃焼サイクルの該閉弁時刻から該今回の燃焼サイクルの該閉弁時刻よりも後に算出された該少なくとも１つの該推定値の算出時刻までの時間」に、それぞれ相当している。
【００６０】
また、上述した実施の形態１の具体的処理では、図４のＩＶＣ時刻取得処理により、前記第１の発明における「取得手段」が、図５のｋｌ保持処理および図６のｋｌ_ＩＶＣ演算処理により、前記第１の発明における「推定演算手段」が、それぞれ実現されている。
【００６１】
また、上述した実施の形態１では、ＥＣＵ４０が記憶している点火時期算出処理が、前記第３の発明における「点火時期算出手段」に相当している。また、上述した実施の形態１の具体的処理における、図６のステップＳ１２２の処理が、前記第３の発明における「判定手段」に相当している。
【００６２】
［実施の形態１の変形例］
（第１変形例）
実施の形態１では、推定ＩＶＣ時刻の後、ｔ_ｉｇまでの間にｋｌの算出がなされなかった場合には、上述した第２の動作により、推定ＩＶＣ時刻の直前のｋｌ_ａをｋｌ_ＩＶＣとした。しかしながら、本発明はこれに限られるものではない。
【００６３】
図７は、実施の形態１の第１変形例を説明するための図である。この図は、図２、３にも示した吸入空気量の時間変化のイメージ図である。この第１変形例では、第２の動作の代わりに、ＩＶＣ時刻より前に算出された２つのｋｌ（ｋｌ_ａｏ、ｋｌ_ａ）と、ｋｌ_ａｏの算出時刻からｋｌ_ａの算出時刻までの時間ｔ３と、ｋｌ_ａの算出時刻からＩＶＣ時刻までの時間ｔ４とに基づいて、ｋｌ_ＩＶＣを推定演算する。
【００６４】
図８は、第１変形例の動作を実現するためのルーチンのフローチャートである。図８のフローチャートは、実施の形態１の図６に代えて用いることが可能である。なお、図８のルーチンのステップＳ１２０〜Ｓ１２６は、図６と同様の処理を行うため、その詳細な説明は省略する。
【００６５】
図８のルーチンでは、ステップＳ１２２の条件の成立が認められなかった場合、上述したｔ３、ｔ４を算出する処理が実行される（ステップＳ１６４）。具体的には、下記の式（４）、式（５）に基づいて、ｔ３、ｔ４が算出される。
ｔ３＝Ｔｋｌ_ａ−Ｔｋｌ_ａｏ    ・・・（４）
ｔ４＝Ｔｉｖｃ−Ｔｋｌ_ａ    ・・・（５）
【００６６】
次に、下記の式（６）に基づいて、ｋｌ_ＩＶＣが算出される（ステップＳ１６６）。
ｋｌ_ＩＶＣ＝ｋｌ_ａ＋（ｋｌ_ａ−ｋｌ_ａｏ）×ｔ４／ｔ３    ・・・（６）
その後、今回のルーチンが終了する。
【００６７】
以上の処理によれば、ＩＶＣ時刻と、ｋｌ_ａｏ、ｋｌ_ａのそれぞれの算出時刻との間の関係を、ｔ３、ｔ４というパラメータを介して、ｋｌ_ＩＶＣの推定演算に反映させることができる。これにより、ＩＶＣ時刻が変化した場合にも、その変化を吸入空気量の推定演算に確実に反映させることができる。その結果、吸気弁閉弁時刻における吸入空気量を高精度に推定演算することができる。
【００６８】
尚、上記の第１変形例のステップＳ１６４、１６６の処理が実行されることにより、前記第２の発明の「第２推定演算」が実現されている。
【００６９】
（第２変形例）
実施の形態１およびその第１変形例では、ｋｌ_ａとｋｌ_ｂを、それぞれ１つずつｋｌ_ＩＶＣの算出に用いている。しかしながら、本発明はこれに限定されるものではない。ｋｌ_ＩＶＣの推定演算を行うに当たり、ＩＶＣ時刻前に算出されたｋｌを複数個用いたり、ＩＶＣ時刻後に算出されたｋｌを複数個用いたりすることができる。
【００７０】
このような場合には、適宜、本実施形態とは異なるｋｌ_ＩＶＣ推定演算式を選定すればよい。つまり、３つ以上のｋｌと、それらのｋｌの算出時刻と推定ＩＶＣ時刻との比率から、内挿法、外挿法その他の種々の計算手法に基づいてｋｌ_ＩＶＣの演算式を適宜決定すればよい。
【００７１】
（第３変形例）
実施の形態１では、図４のルーチンを用いて、吸気弁１６が閉弁するであろう時刻を予め推定し、この推定ＩＶＣ時刻をＩＶＣ時刻として取得した。しかしながら、本発明はこれに限られるものではない。つまり、ＩＶＣ時刻の値は、現実の吸気弁１６の閉弁時刻よりも前に予測された値でなくともよい。例えば、カム角センサなど種々のセンサを用いるなどして吸気弁１６の動作を監視して、吸気弁１６が現実に閉弁したであろう確定的な時刻を事後的に取得してもよい。この事後的に取得した値をＩＶＣ時刻として用いて、ｋｌ_ＩＶＣ算出に利用してもよい。
【００７２】
なお、実施の形態１では、第１、２の動作を合わせて実行しているが、本発明はこれに限られるものではない。第１の動作のみを独立に利用することもできる。また、実施の形態１には、ｋｌ_ＩＶＣを精度良く推定演算する思想（吸入空気量推定装置の思想）と、このｋｌ_ＩＶＣを利用して点火時期の算出を行う思想（内燃機関の制御装置の思想）とが含まれている。これらの思想を切り離し、ｋｌ_ＩＶＣ推定演算のみを利用してもよい。このような観点よれば、ｋｌ_ｂが点火時期算出時刻ｔ_ｉｇより前になされているか否かは必ずしも必須の事項とはならない。
【００７３】
なお、実施の形態１ではポート噴射式の内燃機関に本発明を適用する例を示したが、本発明の吸入空気量推定装置およびこれを備える内燃機関の制御装置を適用しうる構成は、これに限定されない。つまり、ｋｌ_ＩＶＣの高精度な算出という観点からは、図１の構成に何ら限定されることなく他の態様の内燃機関にも適用できる。また、本実施形態の思想は、可変バルブ・タイミング機構を備える内燃機関に対して、効果的である。可変バルブ・タイミング機構により、ＩＶＣ時刻の変化が積極的かつ頻繁に生じうるからである。
【００７４】
実施の形態２．
［実施の形態２の構成］
以下、本発明の実施の形態２に係る内燃機関の制御装置について説明する。実施の形態２は、実施の形態１における吸入空気量推定装置を用いて気筒内の現実の空燃比を精度良く算出し、この算出値を内燃機関の点火時期の調整に活用する点に特徴を有している。実施の形態２は、実施の形態１の内燃機関２と同様の構成によって実現できる。従って、実施の形態２の構成については、適宜図１を参照し、個々の構成要素に関して実施の形態１と同様の点については説明を省略する。
【００７５】
実施の形態２の内燃機関では、ＥＣＵ４０が、目標空燃比を算出する処理を記憶している。そして、ＥＣＵ４０は、この目標空燃比に基づいて、燃料噴射弁３０その他の内燃機関の構成を制御する。目標空燃比の算出手法や、これに基づく燃料噴射弁等の各構成の制御手法については、従来、公知の技術が多数開示されている。実施の形態２においても、これらの公知技術を適宜応用すればよい。従って、その詳細な説明は省略する。
【００７６】
［実施の形態２の動作］
実施の形態２の内燃機関（図１を参照）は、ポート噴射式の燃料噴射弁３０を備えている。ポート噴射式の場合、気筒内への燃料供給は、吸気弁１６が閉弁する前（ＩＶＣ時刻前）に完了しておく必要がある。このため、実施の形態２では、燃料噴射弁３０の燃料噴射量の算出の際（時刻ｔ_ｉｎｊ）に、先ず、今回の吸気行程の後吸気弁が閉弁して定まるであろう吸入空気量を予測する（以下、この予測値を「予測吸入空気量ｋｌ_ＦＷＤ」とも呼称する）。このｋｌ_ＦＷＤの算出には、ｔ_ｉｎｊの直前のｋｌを参照して、その後ＩＶＣ時刻までの吸入空気量の増加量を推測することによって行うことができる。ｋｌ_ＦＷＤが得られたら、これに応じて目標空燃比に基づいて定まる量の燃料を、燃料噴射弁３０により気筒１０に供給する。
【００７７】
しかしながら、時刻ｔ_ｉｎｊにおける吸気弁１６の今後の予測動作（ＩＶＣ時刻など）と、その後、実際に吸気弁１６が閉弁するまでの現実の動作とが、常にそして完全に一致するとは限らない。この予測動作と現実の動作の不一致に起因して、ｋｌ_ＦＷＤと現実の吸入空気量との間にずれが生じるおそれがある。この場合、目標空燃比と現実の筒内の空燃比とのずれを含んだままその後の行程へと移行してしまい、好ましくない影響を及ぼしうる。そこで、実施の形態２では、そのような悪影響を抑制すべく、以下に述べる制御を行う。
【００７８】
（実施の形態２の筒内空燃比の算出）
実施の形態２では、先ず、ｋｌ_ＩＶＣを用いて筒内空燃比を算出することとする。具体的には、実施の形態１によりｋｌ_ＩＶＣを推定演算したあと、下記の式（７）に基づいて、筒内空燃比を算出する。この演算によって、現実の空燃比を精度良く推定演算することができる。
筒内空燃比  ＝  １４．６（目標空燃比）×ｋｌ_ＩＶＣ／ｋｌ_ＦＷＤ  ・・・（７）
式（７）において、ｋｌ_ＦＷＤは、時刻ｔ_ｉｎｊに行われた燃料噴射量の算出に用いられた吸入空気量である。式（７）の１４．６の数値は目標空燃比を意味しており、目標空燃比に応じて変更してもよい。
【００７９】
（実施の形態２の点火時期制御）
次に、実施の形態２では、式（７）で得られた筒内空燃比を、以下述べるように点火時期の最適化に利用する。先ず、実施の形態２では、点火時期算出時刻ｔ_ｉｇに、ｋｌ_ＩＶＣに基づいて、基礎となる標準の点火時期（以下、「基準点火時期」とも呼称する）を算出する。この基準点火時期の算出は、ＥＣＵ４０が予め記憶している通常の点火時期算出処理により実行する。
【００８０】
続いて、実施の形態２では、目標空燃比と、式（７）で算出した筒内空燃比の比較を行う。この比較によって、筒内空燃比が、目標空燃比に対してリッチであるかリーンであるかを判定することができる。
【００８１】
筒内空燃比がリーンの場合は、ノッキングが発生し易い。逆に、筒内空燃比がリッチの場合は、ノッキングが発生しにくい。そこで、実施の形態２では、筒内空燃比が目標空燃比よりリーンのときは、遅角制御されるように基準点火時期を補正する。これにより、ノッキングの発生を防止することができる。また、筒内空燃比が目標空燃比よりリッチのときは、点火時期がＭＢＴ（Minimum advance for Best Torque）に近づくように、基準点火時期を進角側に補正する。これにより、燃費を向上することができる。
【００８２】
以上説明した実施の形態２の動作によれば、ｋｌ_ＩＶＣに基づいて算出される筒内空燃比と目標空燃比との比較に基づいて、基準点火時期に補正を加えることができる。これにより、基準点火時期の補正を適切に行うことができ、点火時期を、現実の空燃比に適合する理想的なタイミングへと近づけることができる。
【００８３】
［実施の形態２の具体的処理］
図９は、実施の形態２の内燃機関においてＥＣＵ４０が実行するルーチンのフローチャートである。図９のルーチンは、実施の形態１の図４、５、６のルーチンとともに、内燃機関２の運転中に実行される。なお、図中では、筒内空燃比を筒内Ａ/Ｆと、目標空燃比を目標Ａ/Ｆと記載する。なお、本実施形態では、図示しない他のルーチンにより、基準点火時期の算出が行われるものとする。
【００８４】
図９のルーチンでは、先ず、ｋｌ_ＩＶＣの算出と、これに基づく筒内空燃比の算出が行われる（ステップＳ２００）。このルーチンでは、ＥＣＵ４０が、図４、５、６のルーチンにより得られたｋｌ_ＩＶＣを取得し、式（７）の演算式に基づいて筒内空燃比を算出する。
【００８５】
次に、筒内空燃比が目標空燃比以上であるか否かが判別される（ステップＳ２０２）。この条件の成立が認められた場合には、筒内空燃比はリーンであると判断できる。従って、ノッキング防止のため、所定量（例えば、基準点火時期に対して１〜２パーセント程度）、遅角制御する（ステップＳ２０４）。
【００８６】
ステップＳ２０２の条件の成立が認められない場合には、筒内空燃比はリッチであると判断できる。従って、燃費向上のため、所定量（例えば、基準点火時期に対して１〜２パーセント程度）、進角制御する（ステップＳ２０４）。
【００８７】
以上の処理によれば、基準点火時期の補正を適切に行うことができ、点火時期を、現実の空燃比に適合する理想的なタイミングへと近づけることができる。
【００８８】
尚、上述した実施の形態２では、図９のフローチャートのステップＳ２００の処理が実行されることで、前記第４の発明における「空燃比算出手段」が実現されている。また、実施の形態２が備える基準点火時期を算出する処理が、前記第４の発明における「点火時期算出手段」に、相当している。また、図９のフローチャートのステップＳ２０２、２０４の処理が実行されることで、前記第４の発明における「点火時期補正手段」が実現されている。
【００８９】
［実施の形態２の変形例］
（第１変形例）
実施の形態２は、図９のフローチャートに代えて図１０のフローチャートを用いることにより、実現しても良い。図１０のフローチャートでは、先ず、図９と同様にステップＳ２００の処理が実行される。続いて、点火時期の補正量を算出する処理が実行される（ステップＳ２２２）。
【００９０】
この第１変形例では、ＥＣＵ４０は、図１１（ａ）に示すマップを予め記憶している。図１１（ａ）のマップでは、点火時期補正値が、筒内空燃比／目標空燃比の値がリッチであるほど進角側になるように（補正値がプラス側に大きくなるように）、筒内空燃比／目標空燃比の値がリーンであるほど遅角側になるように（補正値がマイナス側に大きくなるように）、定められている。ステップＳ２２２では、このマップが参照され、筒内空燃比と目標空燃比との比に応じた点火時期補正値が取得される。なお、図１１（ｂ）に示すように、点火時期補正値が略Ｚ型に変化するように定められたマップを用いても良い。
【００９１】
その後、基準点火時期に補正値が加えられ、最終的な点火時期が算出される（ステップＳ２２４）。このようなルーチンによって、点火時期の補正を行っても良い。
【００９２】
（第２変形例）
実施の形態２では、筒内空燃比と目標空燃比との比較に基づいて、リーン時の遅角制御とリッチ時の進角制御の両方の制御を実行した。しかしながら、本発明はこれに限られるものではない。リーン時の遅角制御のみを実行し、リッチ時には基準点火時期に合わせて点火を行ってもよい。反対に、リッチ時の進角制御のみを実行し、リーン時には基準点火時期に合わせて点火を行ってもよい。目的に応じて、最も背反の少ない点火時期制御を、適宜選択することができる。
【００９３】
実施の形態３．
実施の形態２では、筒内空燃比と目標空燃比とを比較し、リーン時の遅角制御とリッチ時の進角制御を実行している。これに対し、実施の形態３では、逆に、リーン時に進角制御を、リッチ時に進角制御を、それぞれ実行する。なお、実施の形態３は、リーンバーン型の内燃機関に好適である。このようなリーンバーンエンジンに関しては既に多くの文献が開示されている。例えば、内燃機関２の構成（図１）に適宜変更を加えて実現することもできる。従って、その詳細な説明は省略する。
【００９４】
リーンバーン制御の場合、筒内空燃比が目標空燃比よりもリーンの場合には、燃焼悪化を招き易い。一方、筒内空燃比が目標空燃比よりもリッチの場合には、トルクが出すぎてトルク変動を引き起こし易い。実施の形態３によれば、リーン時の進角制御により燃費悪化を防止でき、リッチ時の進角制御によりトルクが過大となるのを防止することができる。
【００９５】
図１２は、実施の形態３の制御ルーチンのフローチャートである。このフローチャートは、図９のフローチャートのステップＳ２０４、２０６に代えて、ステップＳ３０４、３０６を適用したものである。図１２のルーチンでは、図９のルーチン同様にステップＳ２００、２０２が実行された後、リーン時にはステップＳ３０４で進角制御が、リッチ時にはステップＳ３０６で遅角制御が、それぞれ実行される。
【００９６】
また、図１３のフローチャート、図１４のマップを用いて、実施の形態３の動作を実現してもよい。図１３のフローチャートは、実施の形態２の図１０のフローチャートにおいてステップＳ２２２に代えてステップＳ３２２を適用したものである。ステップＳ３２２の処理では、ステップＳ２２２で行われたマップ参照の処理と同様に、図１４（ａ）または（ｂ）のマップが参照され筒内空燃比と目標空燃比との比に応じた補正値が取得される。ステップＳ３２２の実行後は、取得した補正値を基準点火時期に加え、最終的な点火時期を算出する。
【００９７】
以上説明した実施の形態３によれば、ｋｌ_ＩＶＣに基づいて算出される筒内空燃比と目標空燃比との比較に基づいて、基準点火時期に補正を加えることができる。これにより、基準点火時期の補正を適切に行うことができ、点火時期を、現実の空燃比に適合する理想的なタイミングへと近づけることができる。
【００９８】
なお、実施の形態３において、リーン時の進角制御のみを実行し、リッチ時には基準点火時期に合わせて点火を行ってもよい。逆に、リッチ時の遅角制御のみを実行し、リーン時には基準点火時期に合わせて点火を行ってもよい。目的に応じて、最も背反の少ない点火時期制御を、適宜選択することができる。
【図面の簡単な説明】
【００９９】
【図１】本発明の実施の形態１が適用される内燃機関の構成の一例を示す図である。
【図２】実施の形態１の吸入空気量推定装置の推定演算の内容を説明する図である。
【図３】実施の形態１の吸入空気量推定装置の推定演算の内容を説明する図である。
【図４】実施の形態１にかかる推定ＩＶＣ時刻を算出するルーチンのフローチャートである。
【図５】実施の形態１にかかる、ｋｌ_ＩＶＣを算出するためにｋｌの保持を行うルーチンのフローチャートである。
【図６】実施の形態１のｋｌ_ＩＶＣ推定演算のルーチンのフローチャートである。
【図７】実施の形態１の変形例における、吸入空気量推定装置の推定演算の内容を説明する図である。
【図８】実施の形態１の変形例における、ｋｌ_ＩＶＣ推定演算のルーチンのフローチャートである。
【図９】本発明の実施の形態２にかかる点火時期補正の制御ルーチンのフローチャートである。
【図１０】実施の形態２の点火時期補正の制御ルーチンのフローチャートである。
【図１１】実施の形態２における点火時期補正の制御ルーチンで用いられるマップである。
【図１２】本発明の実施の形態３の点火時期補正の制御ルーチンのフローチャートである。
【図１３】実施の形態３の点火時期補正の制御ルーチンのフローチャートである。
【図１４】実施の形態３における点火時期補正の制御ルーチンで用いられるマップである。
【符号の説明】
【０１００】
２    内燃機関            １０  気筒
１２  吸気通路            １４  排気通路
１６  吸気弁              １８  排気弁
２０  エアフロメータ      ２２  スロットルバルブ
２４  スロットルセンサ    ３０  燃料噴射弁
５０  点火プラグ
ｋｌ  吸入空気量の推定値
ｔ_ｉｎｊ  燃料噴射量算出時刻
ｔ_ｉｇ  点火時期算出時刻
【図１】
2009024608.tif 000003
【図２】
2009024608.tif 000004
【図３】
2009024608.tif 000005
【図４】
2009024608.tif 000006
【図５】
2009024608.tif 000007
【図６】
2009024608.tif 000008
【図７】
2009024608.tif 000009
【図８】
2009024608.tif 000010
【図９】
2009024608.tif 000011
【図１０】
2009024608.tif 000012
【図１１】
2009024608.tif 000013
【図１２】
2009024608.tif 000014
【図１３】
2009024608.tif 000015
【図１４】
2009024608.tif 000016