(57)【要約】      （修正有）【課題】実際の可変動弁系の作動特性に応じてバルブリフト量を算出し、燃料噴射量の制御精度を向上させる。【解決手段】プログラム制御の電子制御装置と、クランク角度を検出する手段と、吸気バルブの実リフト量を検出する手段と、吸気バルブのリフト量を可変とする機構と、を備える。電子制御装置は、所定のクランク角度ごとに次の制御周期の対応するクランク角度ごとのリフト量の予測値を求め、該所定のクランク角度ごとのリフト量の予測値から、次の制御周期における前記所定のクランク角度ごとのバルブリフトの成分値を求め、該成分値を積分して前記次の制御周期における合計リフト量の予測値を求め、該次の制御周期における合計リフト量の予測値に基づいて、前記次の制御周期における燃料の噴射量を算出するよう構成されている。【選択図】図１０
2010168953.tif 000002
【特許請求の範囲】
【請求項１】
プログラム制御の電子制御装置と、クランク角度を検出する手段と、吸気バルブの実リフト量を検出する手段と、吸気バルブのリフト量を可変とする機構と、を備えた内燃機関であって、
前記電子制御装置は、所定のクランク角度ごとに次の制御周期の対応するクランク角度ごとのリフト量の予測値を求め、該所定のクランク角度ごとのリフト量の予測値から、次の制御周期における前記所定のクランク角度ごとのバルブリフトの成分値を求め、該成分値を積分して前記次の制御周期におけるリフト量の全体予測値を求め、該次の制御周期におけるリフト量の全体予測値に基づいて、前記次の制御周期における燃料の噴射量を算出するよう構成されている、前記内燃機関。
【請求項２】
前記電子制御装置は、前記検出された実リフト量を所定の時定数で目標リフト量に収束させるため、前記所定のクランク角度ごとに前記実リフト量を検出する手段から得られる実リフト量と前記内燃機関の運転状態に基づいて定められる目標リフト量との差に所定のゲインを乗算した値を、前記実リフト量に加算することにより、前記次の制御周期における前記所定のクランク角度ごとのリフト量の予測値を求めるよう構成されている、請求項１に記載の内燃機関。
【請求項３】
前記ゲインは、前記所定の時定数にしたがって定められる、請求項２に記載の内燃機関。
【請求項４】
前記目標リフト量は、ピストンの上死点と同期して算出される、請求項２に記載の内燃機関。
【請求項５】
前記ゲインは、内燃機関の回転数の逆数である回転周期に演算実施時のクランク角度を乗じて得られる時間(Stime)および前記所定の時定数の関数である、請求項３に記載の内燃機関。
【請求項６】
前記所定のクランク角度ごとにリフト量の予測値を求める際、該クランク角度の間隔は、内燃機関の回転数に応じて可変に構成されている、請求項２に記載の内燃機関。
【請求項７】
前記電子制御装置は、前記次の制御周期におけるリフト量の全体予測値と内燃機関の吸入空気量との相関関係を利用して、前記内燃機関の吸入空気量を求め、該吸入空気量に基づいて燃料噴射量を決定するよう構成されている、請求項２に記載の内燃機関。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、可変吸気バルブのリフト量に応じた燃料を噴射するよう制御される内燃機関に関する。
【背景技術】
【０００２】
最近の内燃機関においては、吸気バルブのリフト量を変更可能な機構を搭載し、該機構を利用して、内燃機関への吸入空気量を制御することが提案されている。特許文献１には、このような機構を搭載した内燃機関において、該機構の応答能力を超えるリフトカーブの変更が要求された場合には、アクセル開度に対応する目標吸入空気量を目標リフトカーブの決定のための基礎とするのではなく、その目標吸入空気量になまし処理を施した最終目標吸入空気量を基礎とする手法が記載されている。リフト期間中の最終目標吸入空気量の時間平均値から推定吸入空気量を算出し、該推定吸入空気量に基づいて燃料噴射量を算出する。
【０００３】
また、特許文献２には、吸気バルブのリフト量を可変制御可能な内燃機関において、クランク角に対するリフト量の制御履歴データを参照して燃料噴射量を制御することが記載されている。
【０００４】
本願の出願人による特願2008-046351において、発明者は、吸気バルブのリフト量を変更可能な可変動弁機構を備える内燃機関において、吸気バルブの実リフト量（ＡＬＩＦＴ）を、所定の時定数（τｐ）で目標リフト量（ＡＬＣＭＤ）に収束するようフィードバック制御し、目標リフト量および実リフト量の差に所定のゲイン（Ｃ）を乗算した値を該実リフト量に加算することにより、次の制御周期のリフト量の予測値（ＨＡＬＩＦＴ）を算出し、このリフト量の予測値に基づいて、次の制御周期で噴射すべき燃料噴射量を算出することを提案した。
【０００５】
この提案によれば、次の制御周期のリフト量が予測され、この予測値に基づいて燃料噴射量を算出するので、バルブリフト量を変化させる過渡期においても適正な燃料噴射を行うことができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２５００４２号公報
【特許文献２】特開２００４−１０８２５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
吸気バルブのリフト量は機械的構造を駆動することによって変化させるので、目標値に到達するのに時間がかかる。この過渡期において、バルブリフト量と吸入空気量との相関関係と実際の吸入空気量との間に不一致が生じ、それにより燃料噴射量の制御精度が低下するおそれがある。また、特許文献２に記載される手法では、開弁タイミングと閉弁タイミングのみに基づいて制御履歴を算出するので、実際の可変動弁系の作動特性が変化すると、推定した制御履歴の精度が低下し、燃料噴射量の制御精度が低下する。これにより、空燃比が目標値からずれてしまい、加速性能の低下およびエミッションの低下を招くおそれがある。
【０００８】
したがって、実際の可変動弁系の作動特性に応じてバルブリフト量を算出し、燃料噴射量の制御精度を向上させることができる技術が必要とされている。
【課題を解決するための手段】
【０００９】
この発明の内燃機関は、プログラム制御の電子制御装置と、クランク角度を検出する手段と、吸気バルブの実リフト量を検出する手段と、吸気バルブのリフト量を可変とする機構と、を備える。電子制御装置は、所定のクランク角度ごとに次の制御周期の対応するクランク角度ごとのリフト量の予測値を求め、該所定のクランク角度ごとのリフト量の予測値から、次の制御周期における前記所定のクランク角度ごとのバルブリフトの成分値を求め、該成分値を積分して前記次の制御周期における合計リフト量（トータルリフト量）の予測値を求め、該次の制御周期における合計リフト量の予測値に基づいて、前記次の制御周期における燃料の噴射量を算出するよう構成されている。
【００１０】
この発明によると、所定のクランク角度ごとのリフト量予測値から次の制御周期における対応するクランク角度におけるバルブリフトの成分値を求め、この成分値を積分して合計リフト量の予測値を算出するので、可変動弁系の作動特性に応じたリフト量が求められるので、このリフト量に基づいて次の制御周期における燃料噴射量が算出されるので、燃料噴射量の制御精度を向上させることができる。
【００１１】
この発明の一実施形態では、電子制御装置は、検出された実リフト量を所定の時定数で目標リフト量に収束させるため、所定のクランク角度ごとに実リフト量を検出する手段から得られる実リフト量と前記内燃機関の運転状態に基づいて定められる目標リフト量との差に所定のゲインを乗算した値を、前記実リフト量に加算することにより、前記次の制御周期における前記所定のクランク角ごとのリフト量の予測値を求める。前記ゲインは、前記所定の時定数にしたがって定められる。
【００１２】
この発明のさらに具体的な実施形態では、前記目標リフト量は、ピストンの上死点と同期して算出される。また、前記ゲインは、内燃機関の回転数の逆数である回転周期に演算実施時(i)のクランク角CAiを360度で割った値を乗じて得られる時間(Stimei)および前記所定の時定数の関数である。
【００１３】
この発明のもう一つの実施形態では、所定のクランク角ごとにリフト量の予測値を求める際、クランク角度の間隔は、内燃機関の回転数に応じて可変に構成されている。
【００１４】
さらに他の実施形態では、電子制御装置は、次の制御周期における全リフト量の予測値と内燃機関の吸入空気量との相関関係を利用して、内燃機関の吸入空気量を求め、この吸入空気量に基づいて燃料噴射量を決定する。
【図面の簡単な説明】
【００１５】
【図１】この発明の一実施例に従う、内燃機関およびその制御装置を概略的に示す図。
【図２】この発明の一実施例に従う、弁作動特性可変装置の構成を概略的に示す図。
【図３】この発明の一実施例に従う、第１の機構の構成を概略的に示す図。
【図４】この発明の一実施例に従う、リフト量を制御する装置の構成の概略を示す図。
【図５】この発明に従う予測値算出の原理を説明するための図。
【図６】この発明の一実施例に従う、燃料噴射量を制御する制御装置の機能ブロック図。
【図７】この発明の一実施例に従う、燃料噴射量を算出するプロセスのフローチャート。
【図８】先願発明における、吸入空気量および燃料噴射量を求めるためのマップ。
【図９】クランク角を横軸にバルブリフトの波形を示す図。
【図１０】この発明の一実施例に従う、燃料噴射量を算出するプロセスのメインルーチンを示す図。
【図１１】クランク角の間引きを行うプロセスのフローを示す図。
【図１２】この発明の一実施例における、タイムエリア算出のフローを示す図。
【図１３】この発明の一実施例における、タイムエリア、吸入空気量および燃料噴射量を求めるためのマップ。
【発明を実施するための形態】
【００１６】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の一実施形態に従う、内燃機関（以下、エンジンと呼ぶ）およびその制御装置の全体的な構成図である。
【００１７】
電子制御ユニット（以下、「ＥＣＵ」）という）１は、中央演算処理装置（ＣＰＵ）およびメモリを備えるコンピュータである。メモリには、車両の様々な制御を実現するためのコンピュータ・プログラムおよび該プログラムの実施に必要なデータ（マップを含む）を格納することができる。ＥＣＵ１は、車両の各部から信号を受取ると共に、該メモリに記憶されたデータおよびプログラムに従って演算を行い、車両の各部を制御するための制御信号を生成する。
【００１８】
エンジン２は、たとえば４気筒を有するエンジンである。エンジン２には、吸気管３および排気管４が連結されている。吸気管４には、スロットル弁５が設けられている。スロットル弁５の開度は、ＥＣＵ１からの制御信号に従って制御される。スロットル弁５の開度を制御することにより、エンジン２に吸入される空気の量を制御することができる。スロットル弁５には、スロットル弁の開度を検出するスロットル弁開度（θＴＨ）センサ６が連結されており、この検出値は、ＥＣＵ１に送られる。
【００１９】
燃料噴射弁７が、エンジン２とスロットル弁５との間であって、エンジン２の吸気バルブ（図示せず）の少し上流側に、気筒ごとに設けられている。燃料噴射弁７は、図示しない燃料ポンプに接続されている。燃料噴射弁７の燃料噴射時期および燃料噴射量は、ＥＣＵ１からの制御信号に従って変更される。代替的に、燃料噴射弁を、エンジン２の気筒内に臨むように取り付けてもよい。
【００２０】
スロットル弁５の上流には、吸気管３を流れる空気の量を検出するエアフローメータ（ＡＦＭ）８が設けられている。
【００２１】
スロットル弁５の下流には、吸気管内絶対圧（ＰＢＡ）センサ１０が設けられており、吸気管内の圧力を検出する。また、吸気管内絶対圧センサ１０の下流には吸気温（ＴＡ）センサ１１が設けられており、吸気管内の温度を検出する。これらの検出値は、ＥＣＵ１に送られる。また、エンジン２には、エンジンの水温ＴＷを検出するためのエンジン水温センサ１２が設けられており、該センサの検出値は、ＥＣＵ１に送られる。
【００２２】
エンジン２には、吸気バルブおよび排気弁のリフト量および開角（開弁期間）を連続的に変更することができる第１の機構２１と、吸気バルブを駆動するカムのクランク軸を基準とした位相を連続的に変更する第２の機構２２とを有する弁作動特性可変装置２０を備える。第２の機構２２により吸気バルブを駆動するカムの位相が変更され、よって吸気バルブの位相が変更される。
【００２３】
ＥＣＵ１には、エンジン１のクランク軸の回転角度を検出するクランク角センサ１３およびエンジン１の吸気バルブを駆動するカムが連結されたカム軸の回転角度を検出するカム角センサ１４が接続されており、これらのセンサの検出値はＥＣＵ１に供給される。クランク角センサ１３は、所定のクランク角度（たとえば３０度）毎に１パルス（ＣＲＫ信号）を発生し、該パルスにより、クランク軸の回転角度位置を特定することができる。また、カム角センサ１４は、エンジン２の特定の気筒の所定クランク角度位置でパルス（ＣＹＬ信号）と、各気筒の吸入行程開始時の上死点（ＴＤＣ）でパルス（ＴＤＣ信号）を発生する。これらのパルスは、燃料噴射時期、点火時期等の各種の制御タイミングおよびエンジン回転数ＮＥの検出に使用される。なお、カム角センサ１４より出力されるＴＤＣ信号と、クランク角センサ１３より出力されるＣＲＫ信号との相対関係から、吸気バルブのカム軸の実際の位相が検出される。
【００２４】
弁作動特性可変装置２０には、吸気バルブのリフト量を制御する制御軸の回転角度位置を検出するための制御軸回転角度センサ（ＣＳＡ）センサ１５が設けられている。
【００２５】
ＥＣＵ１は、上記各種センサからの入力信号に応じて、メモリに記憶されたプログラムおよびデータ（マップを含む）に従い、エンジン２の運転状態を検出すると共に、スロットル弁５、燃料噴射弁７、弁作動特性可変装置２０を制御するための制御信号を生成する。
【００２６】
図２は、弁作動特性可変装置２０のより具体的な構成図を示す。図に示すように、弁作動特性可変装置２０は、吸気バルブのリフト量および開角（以下、単にリフト量と呼ぶ）を連続的に変更することができる第１の機構２１と、吸気バルブの位相を連続的に変更することができる第２の機構２２と、該第１の機構２１を介して吸気バルブのリフト量を連続的に変更するためのモータ２３を備えるアクチュエータ２４と、該第２の機構２２を介して吸気バルブの位相を連続的に変更するために、その開度が連続的に変更可能な電磁弁２５を備えるアクチュエータ２６と、を備えている。
【００２７】
吸気バルブの位相を示すパラメータとして、吸気バルブのカム軸の位相ＣＡＩＮが用いられる。電磁弁２５には、オイルパン２８の潤滑油がオイルポンプ２７により加圧されて供給される。モータ２３および電磁弁２５は、ＥＣＵ１からの制御信号に従って作動する。なお、第２の機構２２のより具体的な構成は、例えば特開２０００−２２７０１３号公報に示されている。
【００２８】
図３を参照して、第１の機構２１を説明する。（ａ）に示すように、カム３２が設けられたカム軸３１と、シリンダヘッドに軸３５ａを中心として揺動可能に支持されるコントロールアーム３５と、コントロールアーム３５を揺動させるコントロールカム３７が設けられた制御軸３６と、コントロールアーム３５に支軸３３ｂを介して揺動可能に支持されると共に、カム３２に従動して揺動するサブカム３３と、サブカム３３に従動し、吸気バルブ４０を駆動するロッカーアーム３４とを備えている。ロッカーアーム３４は、コントロールアーム３５内に揺動可能に支持されている。
【００２９】
サブカム３３は、カム３２に当接するローラ３３ａを有し、カム軸３１の回転により、軸３３ｂを中心として揺動する。ロッカーアーム３４は、サブカム３３に当接するローラ３４ａを有し、サブカム３３の動きが、ローラ３４ａを介して、ロッカーアーム３４に伝達される。
【００３０】
コントロールアーム３５は、コントロールカム３７に当接するローラ３５ｂを有し、制御軸３６の回転により軸３５aを中心として揺動する。（ａ）に示す状態では、サブカム３３の動きはロッカーアーム３４にほとんど伝達されないため、吸気バルブ４０はほぼ全閉の状態を維持する。（ｂ）に示す状態では、サブカム３３の動きがロッカーアーム３４を介して吸気バルブ４０に伝達され、吸気バルブ４０は最大リフト量ＬＦＴＭＡＸ（たとえば１２ｍｍ）まで開弁する。
【００３１】
したがって、アクチュエータ２４のモータ２３（図２）の出力軸に、ギアを介して制御軸３６を接続し、該モータ２３によって制御軸３６を回転させることにより、吸気バルブ４０のリフト量を連続的に変更することができる。この実施形態では、第１の機構２１に、制御軸３６の回転角度位置を検出するＣＳＡセンサ１５（図１）が設けられており、該検出される回転角度位置ＣＳＡが、リフト量を示すパラメータとして使用される。なお、第１の機構２１のより詳細な構成は、本出願人による特許出願（特願２００６−１９７２５４号）に示されている。
【００３２】
なお、この発明は、図に示すような第１の機構２１に限定されず、吸気バルブのリフト量を可変に制御可能な機構を、任意の適切な手段で実現することができる点に注意されたい。また、上記の例では、第１の機構２１によって、リフト量だけでなく開角も変更されるが、リフト量のみを変更するような構成の機構でも、本願発明は適用されうる。
【００３３】
図４は、本願発明の一実施形態に従う、吸気バルブのリフト量を制御するための制御装置のブロック図である。リフトコントローラ５１は、ＥＣＵ１に実現される。プラント５２は、ここでは、図２の第１の機構２１およびアクチュエータ２４を含む。リフトコントローラ５１は、後述される制御手法に従い、吸気バルブの実リフト量を目標リフト量に収束させるための操作量を算出する。アクチュエータ２４のモータ２３は、該操作量に従って第１の機構２１を作動させ、吸気バルブのリフト量を変更する。変更されたリフト量は、実リフト量としてＣＳＡセンサ１５（図１）によって検出され、リフトコントローラ５１にフィードバックされる。
【００３４】
図５は、先に引用した本願の出願人による特願2008-046351に従う予測値算出の原理を説明するための図である。まず、この内容を引用した後にこの発明の原理を説明する。リフト量および燃料噴射量の制御は、所定の周期に従って実行され、各周期において、エンジンの運転状態（たとえば、アクセルペダルの開度等）に応じて目標リフト量が決定される。図には、或る気筒について、３周期ｎ〜（ｎ＋２）にわたる目標リフト量、実リフト量（ＣＳＡセンサ１５によって検出される）、および予測リフト量の挙動が示されている。１周期の長さは、Ｓｔｉｍｅで表されている。制御周期は、たとえば10ミリ秒のような固定した時間でもよく、ＴＤＣ信号に同期させ、エンジン回転数に基づいて決定してもよい。たとえば、ＴＤＣ信号が吸入行程の上死点で出力され、検出されたエンジン回転数がＮＥ（ｒｐｍ）である場合、周期ｎの長さは、以下のように算出される。回転数ＮＥを秒速に換算するとNE/60である。これに360度をかけて角速度に換算し、その逆数をとると、周期60/NE x 1/360が得られる。これに吸気行程のTDCからのクランク角（CA）をかけてStimeを求める。すなわち、Stimeは、吸入行程の周期に対応している。
【数１】
2010168953.tif 000003
【００３５】
各周期において、リフトコントローラ５１は、実リフト量を目標リフト量に向けて吸気バルブを制御する。周期ｎを参照すると、目標リフト量はＸ（ｍｍ）であり、周期ｎで検出された実リフト量はＺ（ｍｍ）である。目標リフト量および実リフト量に基づいて算出される予測リフト量はＹ（ｍｍ）である。周期ｎにおいて、次の周期（ｎ＋１）で噴射すべき燃料噴射量を、この予測リフト量に基づいて決定する。周期（ｎ＋１）において、実リフト量は、周期ｎで算出された予測リフト量の値Ｙにほぼ到達するので、周期（ｎ＋１）で実現される実リフト量に適した量の燃料噴射量が噴射されることとなる。
【００３６】
このように、燃料噴射量は、噴射時期よりも１周期前に算出される。周期ｎにおいて検出された実リフト量で燃料噴射量を算出すると、実際の噴射が行われる制御周期（ｎ＋１）の実リフト量に適した量の燃料が噴射されないおそれがある。これは、空燃比のずれを招くおそれがある。本願発明によれば、１周期後のリフト量を予測し、該予測リフト量に基づいて燃料噴射量を算出するので、実際の噴射が行われる時の実リフト量に適した量の燃料を供給することができる。
【００３７】
予測リフト量は、以下の式に従って算出される。
ＨＡＬＩＦＴ（ｎ）
＝Ｃ（ＡＬＣＭＤ（ｎ）―ＡＬＩＦＴ（ｎ））＋ＡＬＩＦＴ（ｎ）     (2)
ここで、Ｃ＝Ｓｔｉｍｅ／（τｐ＋Ｓｔｉｍｅ）
【００３８】
ＡＬＩＦＴ（ｎ）は、周期ｎで検出された実リフト量を示す。ＡＬＣＭＤ（ｎ）は、周期ｎにおける目標リフト量を示す。Ｃはゲインであり、周期の長さＳｔｉｍｅおよびリフトコントローラ５１によるリフト量制御の時定数τｐに基づいて算出される。ＨＡＬＩＦＴ（ｎ）は、周期ｎで算出される、次の周期のための予測リフト量を示す。予測リフト量は、目標リフト量と実リフト量の偏差にゲインを乗じた値を、実リフト量に加算することにより算出される。
【００３９】
上記式（2）に従い、周期ｎにおいて予測値ＨＡＬＩＦＴ（ｎ）を算出し、該予測値に従って、次の周期（ｎ＋１）で供給すべき燃料噴射量を決定する。リフト量を変化させるには、図３を参照して説明したように、機械的な構造を動かさなければならないので、一定の時間を要する。一方、燃料噴射量の変更は、インジェクタの噴射弁を開く時間を変更することにより、行われるので、短時間で変更することができる。上記のような制御を行うことにより、目標リフト量に向けて変更される過渡期にある吸気バルブの過渡的なリフト量に応じた吸入空気量に基づく燃料噴射をすることが可能になる。上記式（１）の根拠は、上に参照した先願の明細書に詳細に説明されている。
【００４０】
図６は、前記先願発明における燃料噴射量を制御するための装置の機能ブロック図である。本願発明の一実施形態においても、これと同様の構成を用いることができる。各機能ブロックによる機能は、ＥＣＵ１において実現されることができる。
【００４１】
目標リフトデシメーション部９１は、吸気バルブの無効時間を周期Ｓｔｉｍｅで除算することにより、値ｐを得る。目標リフト量の過去値（以前の周期で算出された目標リフト量）は、ＥＣＵ１のメモリに記憶されている。デシメーション部９１は、ｐ回前の周期（ｎ−ｐ）において算出された目標リフト量を出力する。
【００４２】
可変リフト機構（第１の機構２１）において、吸気バルブが静止状態から作動状態に遷移するのに無効時間が発生する。すなわち、リフトコントローラ５１は、目標リフト量に応じて吸気バルブのリフト量を制御するための操作量を図２のアクチュエータ２４に出力するが、該操作量に従って実際に吸気バルブが動き出すまでには、無効時間分の遅れがある。したがって、実リフト量と目標リフト量のより正確な対応づけを行うため、上記のようなデシメーション処理を行う。
【００４３】
たとえば、無効時間が３０ｍｓであり、演算周期が１０ｍｓであるとすると、３周期前（ｎ−３）において決定された目標リフト量が、デシメーション部９１により出力される。この場合、吸気バルブの今回の演算周期の作動開始は、３周期前に決定された目標リフト量に基づいている、ということを表している。無効時間は、可変リフト機構に依存して、シミュレーション等によって予め算出し、ＥＣＵ１のメモリに記憶しておくことができる。
【００４４】
作動判定部９２は、今回の周期ｎにおいて、吸気バルブが静止状態から作動状態に遷移したかどうかを判定する。より具体的には、作動判定部９２は、ＣＳＡセンサ１５を介して今回の周期ｎで検出された実リフト量と前回の周期（ｎ−１）で検出された実リフト量との差を算出し、該差を、周期Ｓｔｉｍｅで除算する。該除算により得た値は、吸気バルブの作動速度を表している。該作動速度が所定値以上ならば、吸気バルブが作動している最中であると判定し、値１の作動フラグを出力する。該作動速度が該所定値より小さければ、前回の周期では吸気バルブが静止しており、今回の周期において吸気バルブが作動を開始したと判定し、ゼロ値の作動フラグを出力する。
【００４５】
切換え部９３は、作動フラグの値を調べ、該作動フラグの値が１ならば、目標リフト量ＡＬＣＭＤ（ｎ）として、今回の周期ｎに与えられた目標リフト量の値を採用する。目標リフト量は、前述したように、エンジンの運転状態に応じて、既知の任意の手法で決定されることができる。該作動フラグの値がゼロならば、目標リフト量ＡＬＣＭＤ（ｎ）として、デシメーション部９１から渡されたｐ回前の目標リフト量の値を採用する。こうして、吸気バルブが作動中ではなく、静止状態から作動状態に遷移した時には、無効時間が生じていることを示すので、ｐ回前の目標リフト量を用いるようにする。弁作動特性可変装置２０（図３）の機械的な状態を反映するためである。
【００４６】
このように、吸気バルブが作動中であるときには、無効時間は実質的に発生しないと考えることができる。代替的に、吸気バルブが作動中であるとき、より厳格な意味においては無効時間がわずかながら生じることがある。たとえば、リフトコントローラ５１が算出した操作量がアクチュエータ２４に到達するまでには通信ラインを介しているので、このような無効時間が生じるおそれがある。したがって、吸気バルブが作動中であるときにも無駄時間を考慮するようにしてもよい。その場合には、無効時間を予めシミュレーション等を介して計測してＥＣＵ１のメモリに記憶しておき、デシメーション部９１は、該無効時間を周期の長さで除算した値ｐ’を算出し、ｐ’回前の周期で決定された目標リフト量を出力する。切換部９３は、作動フラグの値に従い、ｐ’回前の周期の目標リフト量またはｐ回前の周期の目標リフト量を、今回の周期の目標リフト量ＡＬＣＭＤ（ｎ）として選択する。
【００４７】
ゲイン算出部９４は、周期Ｓｔｉｍｅおよびを時定数τｐに基づいて、前述した式（2）に従い、ゲインＣを算出する。時定数τｐは、前述したように、所望の値に設定されることができ、ＥＣＵ１のメモリに予め記憶しておくことができる。
【００４８】
予測リフト算出部９５は、上記の式（2）に、ゲインＣ、今回の制御周期ｎにおいてＣＳＡセンサ１５によって検出された実リフト量ＡＬＩＦＴ（ｎ）、切換え部９３により今回の周期ｎで選択された目標リフト量ＡＬＣＭＤ（ｎ）を代入し、予測リフト量ＨＡＬＩＦＴ（ｎ）を算出する。
【００４９】
燃料噴射量算出部９６は、今回の周期ｎにおいて、予測値ＨＡＬＩＦＴ（ｎ）に基づいて燃料噴射量を算出する。該燃料噴射量は、ＥＣＵ１に実現される燃料コントローラ（図示せず）に渡され、該コントローラにより、次の周期（ｎ＋１）において該燃料噴射量が噴射されるように燃料噴射弁が駆動される。
【００５０】
なお、制御がＴＤＣ信号に応じて実行される場合のように、周期の長さＳｔｉｍｅが一定でない場合について補足する。まず、前記ｐの値の算出についてであるが、この場合、周期の時間長の過去値をＥＣＵ１のメモリに記憶しておく。デシメーション部９１は、無効時間が、何個の周期に相当するかを見極める。たとえば、無効時間が３０ｍｓであり、周期（ｎ−１）の長さが９ｍｓ、（ｎ−２）の長さが１１ｍｓ、（ｎ−３）の長さが１２ｍｓである場合には、無効時間３０ｍｓ遡った所が周期（ｎ−３）に相当するので（３０−９−１１−１２がゼロ以下になる）、ｐ＝３を得ることができる。周期の長さの過去値を記憶する代わりに、エンジン回転数の過去値を記憶してもよい。前述したように、周期ｎで検出されたエンジン回転数から、周期ｎの長さを求めることができる。
【００５１】
また、前回の実リフト量は前回のＴＤＣ信号に応じて検出され、今回の実リフト量は今回のＴＤＣ信号に応じて検出されるので、作動判定部９２は、作動速度を算出するのに、前回の周期ｎ−１の長さを用いるのが好ましい。また、ゲインＣは、今回のＴＤＣ信号に応じて検出された実リフト量が、次のＴＤＣ信号に応じたリフト量検出時までにどれほど変化するかを予測するための値であるので、ゲイン算出部９４は、今回の周期ｎの長さＳｔｉｍｅを用いてゲインＣを算出するのが好ましい。
【００５２】
図７は、燃料噴射量を算出するプロセスのフローチャートである。該プロセスは、前述した制御周期に従って、ＥＣＵ１により実行され、より具体的には、図６に示される機能ブロックによって実現される。
【００５３】
ステップＳ１１において、図６を参照して前述したように、無効時間に基づいてｐ回前の目標リフト量を求める。ステップＳ１２において、吸気バルブの作動速度を算出することにより、今回の周期において吸気バルブが静止状態から作動状態に遷移したと判定したならば、作動フラグにゼロを設定し、今回の周期にわたって吸気バルブが作動していると判定したならば、作動フラグに１を設定する。
【００５４】
ステップＳ１３において、作動フラグが、吸気バルブの作動中を示す値１であれば、今回の周期で決定された目標リフト量を、目標リフト量ＡＬＣＭＤ（ｎ）に設定する（Ｓ１４）。作動フラグが、吸気バルブが静止状態から作動状態に遷移したことを示す値ゼロであれば、ｐ回前の周期で決定された目標リフト量を、目標リフト量ＡＬＣＭＤ（ｎ）に設定する（Ｓ１５）。
【００５５】
ステップＳ１６において、周期の長さＳｔｉｍｅおよび時定数τｐに基づいて、前述した式（2）に従い、ゲインＣを算出する。ステップＳ１７おいて、ゲインＣと、ＣＳＡセンサ１５によって検出された実リフト量ＡＬＩＦＴ（ｎ）および目標リフト量ＡＬＣＭＤ（ｎ）を用い、上記式（2）に従って予測リフト量ＨＡＬＩＦＴ（ｎ）を算出する。ステップＳ１８において、今回の周期で検出されたエンジン回転数およびステップＳ１７で求めた予測リフト量ＨＡＬＩＦＴ（ｎ）値に基づいて所定のマップを参照し、吸入空気量を求める。該マップは、リフト量、エンジン回転数、および吸入空気量の３次元マップとなっている。
【００５６】
該マップの一例が図８（a）に示され、エンジン回転数が高くなるほど、またリフト量が大きくなるほど、吸入空気量が増える。予測リフト量ＨＡＬＩＦＴに対応するマップを選択し、該マップを、検出されたエンジン回転数に基づいて参照して、対応する吸入空気量を求める。
【００５７】
ステップＳ１９において、ステップＳ１８で求めた吸入空気量に基づいて所定のマップを参照し、燃料噴射量を求める。該マップの一例が図８（b）に示されている。吸入空気量が大きくなるほど、燃料噴射量は増やされる。図８（a）および（b）に示されるマップは、ＥＣＵ１のメモリに記憶されている。
【００５８】
以上に、本願発明の基礎となる、先願の特願2008-046351の内容を引用した。本願発明は、この先願発明を変形するもので、より精度の高い燃料噴射量制御を実現するものである。本願発明の実施例を図９から図１３を参照して説明する。
【００５９】
図９は、吸気バルブのリフト量がL1、L2、L3のときのクランク角（CA）を時間軸（横軸）としたリフト量の変化を示す波形である。吸入空気量は、この波形と時間軸とで規定される面積（エリア）に比例する。この発明の一実施例では、所定のクランク角度ごと、たとえばクランク角１０度ごとに、バルブリフトの値とクランク角度１０度に対応する時間軸の微小幅とで作る微小矩形の面積AKAREA(i)を求める。この面積をタイムエリア（時間面積）と呼ぶ。タイムエリアを吸気バルブが開く時点から閉じる時点まで積分してリフト量の変化を表す波形と時間軸とでつくる合計のタイムエリアを求める。こうして求めた合計のタイムエリアに基づいて次の吸入行程における燃料噴射量を求める。
【００６０】
この手法によると、バルブリフト量を微小なクランク角度ごとにサンプリングするので、弁作動特性可変装置２０（図３）がリフト量を変えるよう作動中であっても、精度よくリフト量変化の波形を検出することができ、したがって精度よく次の吸入行程における燃料噴射量を求めることができる。
【００６１】
図１０は、この発明に従う燃料噴射量を算出するプロセスのメインルーチンを示す。このプロセスは、吸気行程開始時のピストンの上死点（TDC）に同期して実行される。カム角センサ14（図１）からのTDC信号に基づいて、新たな吸気行程の上死点が検出されると（S101）、サンプリングのクランク角（CA）の間引き数を算出する（S102）。一定のクランク角でサンプリングを実施すると、高いエンジン回転数では、時間軸でのサンプリング頻度が高くなり、演算の負荷が過大になるので、エンジン回転数に応じて、サンプリングを間引くようにしている。
【００６２】
図１１は、間引き数を算出するプロセスのフローを示す。エンジン回転数が予め定めた値NE_CA未満であれば（S111）、予め定めた値m_CAをmとして設定する。m_CAの値は、たとえば18で、180/m=10で求められるクランク角10度周期でタイムエリア算出が実施される。エンジン回転数がNE_CA以上であれば、m_CAの1/2の値をmとして設定する。この場合、m=9となり、180/9=20で求められるクランク角20度の周期でタイムエリア算出が実施される。
【００６３】
こうして演算の周期が決まると、タイムエリア算出のルーチンS103に入る。図１２を参照すると、このルーチンは、i=１からはじめて、i=mまで巡回して実行するループをなしている(S121)。演算に用いるクランク角CAiは、ステップS123のブロックに示す式で求められる。いま、m=18とすると、最初のクランク角CAiは、10度で、後続のループにおいて20度、30度、・・・・、180度となる。
【００６４】
上に引用した先願で用いた制御周期の長さStimeを表す式(1)は、この発明の実施例においては、ステップS125に示す形に変形されている。すなわち、
Stimei  ←  60/NE × CAi/360              (3)
【００６５】
エンジン回転数NE(rpm)を60で割って秒速NE/60に換算し、これに360度をかけて角速度NE/60 x 360に換算する。この角速度の周期は、60/NE  x 1/360である。Stimeiは、この周期にループ演算で対象としているクランク角 CAiを乗算した値である。すなわち、Stimeiは、CAiをエンジンの回転周期内の時間に換算した値である。先願発明におけるStimeは、本願発明においては、Stimei  （i=1, …., m）に細分されている。
【００６６】
次いで、ステップS127において、演算ループにおけるゲインKiを求める。
Ki  ←  Stimei/(τｐ＋Stimei)            (4)
ゲインKi は、上に引用した先願発明におけるゲインCに対応するが、Stimeiの定義が異なるので、表記を変えてKi で表す。ステップS121からS127で明らかなように、ゲインKi は、ループごとに値が更新される。
【００６７】
次にステップS129において、次の式により演算ループにおける予測リフト量ALIFT(n+1) iを求める。この予測リフト量は次の周期の燃料噴射量を算出するためのものであるから、この発明の実施例では、ALIFT(n+1)の表記を用いる。
ALIFT(n+1)i ← Ki(ALCMD(n)−ALIFT(n)i) + ALIFT(n)i    (5)
【００６８】
この式において、ALCMD(n)は、今回の吸入行程の時点での目標リフト量である。この値は演算ループごとには変化しない。ALIFT(n)iは、演算ループにおける実リフト量であり、ＣＳＡセンサ１５（図１）によって検出される値である。実リフト量は、必ずしも演算ループごとに更新される必要はなく、演算の負荷を軽減するため、たとえば２つの演算ループに１回更新してもよい。
【００６９】
こうして求めた予測リフト量ALIFT(n+1) i  およびCAiに基づいて、図１３(a)の３次元マップを参照して演算ループごとのタイムエリアALAREA(i)を求める(S131)。このマップに示す複数の曲線は、i=1,・・・・, mに対応する予測リフト量ALIFT(n+1) i  の値を表す。同じクランク角でもALIFTが大きいほどタイムエリアがおおきくなる。このマップは、予め作成されて、ECU１のメモリに格納されている。
【００７０】
図１０のメインルーチンにもどり、演算ループごとに求められたタイムエリアALAREA(i)を用いて、タイムエリア積分を実施して制御周期nにおける合計タイムエリアALAREAFを算出する（S105）。ALAREAFは、図９を参照して説明したバルブリフト曲線と時間軸とで規定される面積である。この積分は、次の式で表すことができる。
【数２】
2010168953.tif 000004
【００７１】
続いて、ステップS105において、図１３(b)の３次元マップを参照して制御周期ｎにおけるエンジン回転数NEおよび合計タイムエリアALAREAFに基づいて吸入空気量を求める。図１３(b)の曲線のそれぞれは、一つの合計タイムエリアALAREAFの値を示す。同じエンジン回転数でもALAREAFが大きいほど、吸入空気量が大きくなる。このマップも予め作成されて、ECU１のメモリに格納されている。
【００７２】
次に燃料噴射量算出ステップS106に進み、図１３(c)のマップを参照して、ステップS105で求めた吸入空気量に対応する燃料噴射量を求める。
【００７３】
以上に、この発明を具体的な実施例について説明したが、この発明はこのような実施例に限定されるものではない。
【図１】
2010168953.tif 000005
【図２】
2010168953.tif 000006
【図３】
2010168953.tif 000007
【図４】
2010168953.tif 000008
【図５】
2010168953.tif 000009
【図６】
2010168953.tif 000010
【図７】
2010168953.tif 000011
【図８】
2010168953.tif 000012
【図９】
2010168953.tif 000013
【図１０】
2010168953.tif 000014
【図１１】
2010168953.tif 000015
【図１２】
2010168953.tif 000016
【図１３】
2010168953.tif 000017