(57)【要約】【課題】複数気筒のバルブリフト量を一括して１つの可変バルブ機構で制御する場合に、気筒間の実吸入空気量のばらつきを精度良く補正する。【解決手段】気筒間の実吸入空気量のばらつきが小さくなるように各気筒毎に目標リフト量ＶＶＬＭを設定すると共に、可変バルブリフト機構を次の吸気気筒の目標リフト量ＶＶＬＭに相当する位置まで駆動するのに必要な可変バルブリフト機構の駆動期間（又は駆動量）の中間タイミングが、全気筒の吸気バルブが閉弁している全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)と一致するように、駆動開始時期Ｔstart (#i)を算出する。この駆動開始時期Ｔstart (#i)になる毎に、可変バルブリフト機構を次の吸気気筒の目標リフト量ＶＶＬＭに相当する位置まで駆動することで、全吸気バルブ閉弁期間内又はその期間に跨がった期間内に、可変バルブリフト機構を駆動して吸入空気量を気筒別に制御する。【選択図】  図１１
2004204689.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の複数気筒の吸気バルブ又は排気バルブ（以下単に「バルブ」という）のバルブ可変量を一括して１つの可変バルブ機構で制御する内燃機関の可変バルブ制御装置において、
前記複数気筒のバルブの開閉状態を検出又は推定するバルブ開閉状態検出手段と、
各気筒の実バルブ可変量を検出又は推定するバルブ可変量検出手段と、
前記バルブ可変量検出手段で検出又は推定した各気筒の実バルブ可変量のばらつきを考慮して各気筒毎に目標バルブ可変量を設定する気筒別目標バルブ可変量設定手段と、
前記可変バルブ機構を次にバルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動する駆動期間又は駆動量の中間タイミングが前記複数気筒の全てのバルブが閉じている期間の中間タイミング付近となるように前記可変バルブ機構の駆動タイミングを算出する駆動タイミング算出手段と、
前記駆動タイミング算出手段で算出した駆動タイミングになる毎に、前記可変バルブ機構を次にバルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動することでバルブ可変量を気筒別に制御する気筒別可変バルブ制御手段と
を備えていることを特徴とする内燃機関の可変バルブ制御装置。
【請求項２】
前記気筒別目標バルブ可変量設定手段は、気筒間の実バルブ可変量のばらつきが小さくなるように各気筒の目標バルブ可変量を設定することを特徴とする請求項１に記載の内燃機関の可変バルブ制御装置。
【請求項３】
内燃機関の複数気筒の吸気バルブのバルブ可変量を一括して１つの可変バルブ機構で制御する内燃機関の可変バルブ制御装置において、
前記複数気筒の吸気バルブの開閉状態を検出又は推定するバルブ開閉状態検出手段と、
各気筒の実吸入空気量を検出又は推定する吸入空気量検出手段と、
前記吸入空気量検出手段で検出又は推定した各気筒の実吸入空気量のばらつきを考慮して各気筒毎に目標バルブ可変量を設定する気筒別目標バルブ可変量設定手段と、
前記可変バルブ機構を次に吸気バルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動するのに必要な駆動期間又は駆動量の中間タイミングが前記複数気筒の全ての吸気バルブが閉じている期間の中間タイミング付近となるように前記可変バルブ機構の駆動タイミングを算出する駆動タイミング算出手段と、
前記駆動タイミング算出手段で算出した駆動タイミングになる毎に、前記可変バルブ機構を次に吸気バルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動することで吸入空気量を気筒別に制御する気筒別可変バルブ制御手段と
を備えていることを特徴とする内燃機関の可変バルブ制御装置。
【請求項４】
前記気筒別目標バルブ可変量設定手段は、気筒間の実吸入空気量のばらつきが小さくなるように各気筒の目標バルブ可変量を設定することを特徴とする請求項３に記載の内燃機関の可変バルブ制御装置。
【請求項５】
内燃機関の複数気筒の吸気バルブ又は排気バルブ（以下単に「バルブ」という）のバルブ可変量を一括して１つの可変バルブ機構で制御する内燃機関の可変バルブ制御装置において、
前記複数気筒のバルブの開閉状態を検出又は推定するバルブ開閉状態検出手段と、
各気筒の実バルブ可変量を検出又は推定するバルブ可変量検出手段と、
前記バルブ可変量検出手段で検出又は推定した各気筒の実バルブ可変量のばらつきを考慮して各気筒毎に目標バルブ可変量を設定する気筒別目標バルブ可変量設定手段と、
前記複数気筒の全ての吸気バルブが閉じている期間又はその期間に跨がる期間に前記可変バルブ機構を次にバルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動することでバルブ可変量を気筒別に制御する気筒別可変バルブ制御手段と、
前記バルブ可変量検出手段で検出又は推定した気筒間の実バルブ可変量のばらつきが小さくなるように前記可変バルブ機構の駆動タイミングを補正する駆動タイミング補正手段と
を備えていることを特徴とする内燃機関の可変バルブ制御装置。
【請求項６】
内燃機関の複数気筒の吸気バルブのバルブ可変量を一括して１つの可変バルブ機構で制御する内燃機関の可変バルブ制御装置において、
前記複数気筒の吸気バルブの開閉状態を検出又は推定するバルブ開閉状態検出手段と、
各気筒の実吸入空気量を検出又は推定する吸入空気量検出手段と、
前記吸入空気量検出手段で検出又は推定した各気筒の実吸入空気量のばらつきを考慮して各気筒毎に目標バルブ可変量を設定する気筒別目標バルブ可変量設定手段と、
前記複数気筒の全ての吸気バルブが閉じている期間又はその期間に跨がる期間に前記可変バルブ機構を次に吸気バルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動することで吸入空気量を気筒別に制御する気筒別可変バルブ制御手段と、
前記バルブ可変量検出手段で検出又は推定した気筒間の実吸入空気量のばらつきが小さくなるように前記可変バルブ機構の駆動タイミングを補正する駆動タイミング補正手段と
を備えていることを特徴とする内燃機関の可変バルブ制御装置。
【請求項７】
前記可変バルブ機構は、前記内燃機関の全気筒のバルブ可変量を一括して可変することを特徴とする請求項１乃至６のいずれかに記載の内燃機関の可変バルブ制御装置。
【請求項８】
前記可変バルブ機構は、前記内燃機関の複数の気筒群に対してそれぞれ設けられていることを特徴とする請求項１乃至６のいずれかに記載の内燃機関の可変バルブ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の吸気バルブ又は排気バルブのバルブ可変量（リフト量、作用角、バルブタイミング等）を制御する内燃機関の可変バルブ制御装置に関するものである。
【０００２】
【従来の技術】
一般に、内燃機関の吸入空気量の制御はスロットルバルブによって行われるが、最近では、吸気バルブのリフト量を可変する可変バルブ機構を設け、アクセル開度やエンジン運転状態等に応じて吸気バルブのリフト量を可変することで吸入空気量を制御する技術が開発されている。この可変吸気バルブ制御による吸入空気量制御は、吸気バルブのリフト量を小さくすることによって、吸気通路をスロットルバルブで絞ることなく吸入空気量を少なくすることができるので、ポンピングロスを低減して燃費を向上させることができるという利点がある。
【０００３】
このような可変バルブリフト制御システムにおいては、特許文献１（特開２００１−２６３１１０号公報）に示すように、各気筒毎に吸気バルブを駆動する電磁アクチュエータを設けたものがあるが、この構成では、気筒数と同数の電磁アクチュエータが必要になるため、システム構成が複雑化して高コストになる欠点がある。
【０００４】
そこで、複数気筒の吸気バルブのリフト量を一括して１つの可変バルブ機構で制御するシステムが実用化されている。
しかし、この可変吸気バルブ制御による吸入空気量制御では、低負荷時に吸気バルブのリフト量が小さくなるため、各気筒で目標リフト量に対する実リフト量のばらつき（各気筒の部品公差や組付公差によるばらつき）の割合が大きくなって、気筒間の吸入空気量ばらつきが大きくなる傾向がある。このため、気筒間の吸入空気量ばらつきの影響を受けて各気筒のトルクや空燃比が変動し易く、気筒間のトルクばらつきや空燃比ばらつきが大きくなる傾向がある。
【０００５】
このような気筒間のトルクばらつきや空燃比ばらつきを補正する方法が幾つか提案されている。例えば、特許文献２（特開昭６２−１７３４２号公報）に示すように、クランク軸に設けたトルクセンサで各気筒毎にトルクを検出して、各気筒のトルクが全気筒の平均トルクになるように各気筒毎に燃料噴射量を補正するようにしたものがある。
【０００６】
或は、特許文献３（特開２０００−２２０４８９号公報）に示すように、排気管に設置した空燃比センサの出力に基づいて各気筒の空燃比を推定し、気筒間の空燃比ばらつきが小さくなるように各気筒毎に燃料噴射量を補正するようにしたものがある。
【０００７】
【特許文献１】
特開２００１−２６３１１０号公報（第３頁〜第６頁等）
【特許文献２】
特開昭６２−１７３４２号公報（第２頁等）
【特許文献３】
特開２０００−２２０４８９号公報（第２頁〜第３頁等）
【０００８】
【発明が解決しようとする課題】
ところで、上記特許文献２、３では、各気筒毎にトルクや空燃比を検出して、その検出結果に基づいて各気筒毎に燃料噴射量を補正することで、各気筒のトルクばらつきや空燃比ばらつきを補正するようにしている。しかし、気筒間の吸入空気量ばらつきが大きくなると、単に燃料噴射量を補正するだけでは、各気筒のトルクばらつきや空燃比ばらつきを十分な精度で補正することは困難である。しかも、気筒間の吸入空気量ばらつきや吸入燃料量ばらつき等の複数の要因が絡み合って気筒間のトルクばらつきや空燃比ばらつきが発生している場合も、十分な精度で補正することは困難である。
【０００９】
この対策として、各気筒の部品公差や組付公差を小さくして気筒間の吸入空気量ばらつきを小さくすることが考えられるが、これを実現するには、部品の加工精度を向上させたり、部品を選択して組み付けたりする必要があり、部品コストや製造コストが高くなってしまうという欠点がある。
【００１０】
そこで、本発明者らは、複数気筒の吸気バルブのリフト量を一括して１つの可変バルブ機構で制御するシステムにおいて、各気筒の吸気行程毎（４気筒エンジンであれば１８０℃Ａ毎）に可変バルブ機構を高速駆動することで、気筒間の吸気バルブのリフト量のばらつきを補正する“気筒別可変バルブ制御”を研究している。しかし、可変バルブ機構を高速駆動するにしても限界があり、可変バルブ機構の駆動時間を無視できないため、各気筒の吸気行程毎に可変バルブ機構を駆動する方式では、可変バルブ機構の駆動途中（リフト可変動作の途中）で吸気バルブの開弁タイミングを迎えてしまい、バルブプロフィール（バルブリフトカーブ）が過渡状態となってしまう。このため、目標リフト量に対応した適正なバルブプロフィールで吸気バルブを開弁することができなくなり、気筒別可変バルブ制御の制御精度が低下して、気筒間の吸入空気量ばらつきを精度良く補正することができないという問題がある。
【００１１】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、複数気筒のバルブ可変量を一括して１つの可変バルブ機構で制御するシステムにおいて、気筒別可変バルブ制御の制御精度を向上させることができる内燃機関の可変バルブ制御装置を提供することにある。
【００１２】
【課題を解決するための手段】
上記目的を達成するために、本発明の請求項１は、複数気筒の吸気バルブ又は排気バルブ（以下単に「バルブ」という）のバルブ可変量を一括して１つの可変バルブ機構で制御するシステムにおいて、バルブ開閉状態検出手段により複数気筒のバルブの開閉状態を検出又は推定すると共に、バルブ可変量検出手段により各気筒の実バルブ可変量を検出又は推定し、気筒別目標バルブ可変量設定手段により気筒間の実バルブ可変量のばらつきを考慮して各気筒毎に目標バルブ可変量を設定する。そして、駆動タイミング算出手段により、可変バルブ機構を次にバルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動する駆動期間又は駆動量の中間タイミングが、複数気筒の全てのバルブが閉じている期間（以下「全バルブ閉弁期間」という）の中間タイミング付近となるように、可変バルブ機構の駆動タイミングを駆動タイミング算出手段により算出し、その駆動タイミングになる毎に、気筒別可変バルブ制御手段により、可変バルブ機構を次にバルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動することでバルブ可変量を気筒別に制御する。
【００１３】
ところで、複数気筒の全てのバルブが閉じている全バルブ閉弁期間に可変バルブ機構を駆動して、この全バルブ閉弁期間内に可変バルブ機構の駆動を終了することができれば、可変バルブ機構の駆動の途中でバルブが開弁する事態を確実に回避することができ、各気筒のバルブプロフィールが過渡状態となることを確実に回避することができる。
【００１４】
しかし、可変バルブ機構の駆動量が大きくなって駆動時間が長くなったり、エンジン回転速度が上昇して全バルブ閉弁期間の時間が短くなったりすると、全バルブ閉弁期間内に可変バルブ機構の駆動を終了することができなくなって、可変バルブ機構の駆動途中でバルブの開弁タイミングを迎えてしまうことがある。この場合、可変バルブ機構の駆動期間とバルブの開弁期間との重なりが小さければ、バルブの開きがまだ小さい段階で可変バルブ機構の駆動が終了するため、吸入空気量や排気残留率（内部ＥＧＲ率）に与える影響が小さく、気筒別可変バルブ制御の制御精度の低下がほとんど無視できるか又は許容誤差範囲内であるが、可変バルブ機構の駆動期間とバルブの開弁期間との重なりが大きくなると、バルブの開きがある程度大きくなる時期、つまり吸入空気量や排気残留率（内部ＥＧＲ率）に与える影響が大きくなる時期まで可変バルブ機構を駆動し続けることになってしまい、吸入空気量や排気残留率（内部ＥＧＲ率）に与える影響が大きくなり、気筒別可変バルブ制御の制御精度の低下を無視できなくなる。
【００１５】
そこで、請求項１では、可変バルブ機構の駆動期間又は駆動量の中間タイミングが全バルブ閉弁期間の中間タイミング付近となるように可変バルブ機構の駆動タイミングを制御するようにしたものである。このようにすれば、可変バルブ機構の駆動期間が全バルブ閉弁期間よりも長くなった場合に、全バルブ閉弁期間に対する可変バルブ機構の駆動期間の超過分（可変バルブ機構の駆動期間とバルブの開弁期間とが重なり合う期間）を、全バルブ閉弁期間の前後にほぼ均等に振り分けることができるので、可変バルブ機構の駆動期間とバルブの開弁期間とが重なり合う期間をほぼ半分に短縮することができて、バルブの開きがまだ小さい段階で可変バルブ機構の駆動を終了することができる（或はバルブの開きが小さくなってから可変バルブ機構の駆動が開始することができる）。これにより、本発明では、可変バルブ機構の駆動期間が全バルブ閉弁期間よりも長くなった場合でも、吸入空気量や排気残留率（内部ＥＧＲ率）に与える影響を小さくすることができて、気筒別可変バルブ制御の制御精度の低下をほとんど無視できるか又は最小限に抑えることができる。
【００１６】
この場合、請求項２のように、気筒間の実バルブ可変量のばらつきが小さくなるように各気筒の目標バルブ可変量を設定すれば、本発明の気筒別可変バルブ制御によって気筒間の実バルブ可変量のばらつきを精度良く補正することができる。これにより、各気筒毎に吸気流速、筒内圧、バルブオーバーラップ等を精度良く制御することが可能となり、気筒間の燃焼状態、ポンピングロス、内部ＥＧＲ量等のばらつきを精度良く補正することができ、気筒間のトルクばらつきや空燃比ばらつきを精度良く補正することができる。
【００１７】
また、請求項３のように、吸入空気量検出手段により各気筒の実吸入空気量を検出又は推定して、気筒間の実吸入空気量のばらつきを考慮して各気筒毎に目標バルブ可変量を設定し、可変バルブ機構の駆動期間又は駆動量の中間タイミングが全吸気バルブ閉弁期間の中間タイミング付近となるように可変バルブ機構の駆動タイミングを算出し、その駆動タイミングになる毎に、可変バルブ機構を次に吸気バルブが開かれる気筒の目標バルブ可変量に相当する位置まで駆動することで吸入空気量を気筒別に制御するようにしても良い。このようにすれば、気筒別可変バルブ制御によって気筒間の実吸入空気量のばらつきを考慮して各気筒の吸入空気量を精度良く制御することができる。
【００１８】
この場合、請求項４のように、気筒間の実吸入空気量のばらつきが小さくなるように各気筒の目標バルブ可変量を設定すれば、気筒間の吸入空気量ばらつきを精度良く補正することができ、気筒間のトルクばらつきや空燃比ばらつきを精度良く補正することができる。
【００１９】
また、請求項５のように、複数気筒の全ての吸気バルブが閉じている期間又はその期間に跨がる期間に可変バルブ機構を駆動してバルブ可変量を気筒別に制御するシステムにおいては、気筒間の実バルブ可変量のばらつきが小さくなるように可変バルブ機構の駆動タイミングを補正するようにしても良い。このようにすれば、気筒間の実バルブ可変量のばらつきを監視しながら、可変バルブ機構の駆動タイミングを気筒間の実バルブ可変量のばらつきが最小になる時期に補正することができ、気筒間のトルクばらつきや空燃比ばらつきの補正精度を向上させることができる。
【００２０】
或は、請求項６のように、複数気筒の全ての吸気バルブが閉じている期間又はその期間に跨がる期間に可変バルブ機構を駆動して吸入空気量を気筒別に制御するシステムにおいては、気筒間の実吸入空気量のばらつきが小さくなるように可変バルブ機構の駆動タイミングを補正するようにしても良い。このようにすれば、気筒間の実吸入空気量のばらつきを監視しながら、可変バルブ機構の駆動タイミングを気筒間の実吸入空気量のばらつきが最小になる時期に補正することができて、気筒間のトルクばらつきや空燃比ばらつきの補正精度を向上させることができる。
【００２１】
一般に、可変バルブ機構を搭載する場合、直列エンジンでは、全気筒の吸気バルブ（又は排気バルブ）のバルブ可変量を一括して１つの可変バルブ機構で制御し、Ｖ型エンジンや水平対向エンジンでは、複数の気筒群（バンク）に対してそれぞれ可変バルブ機構を設け、各可変バルブ機構によって各気筒群の吸気バルブ（又は排気バルブ）のバルブ可変量を一括して制御するように構成されている。本発明の気筒別可変バルブ制御は、これらいずれの型式のエンジンにも適用することができる（請求項７，８）。
【００２２】
複数の気筒群にそれぞれ可変バルブ機構を設ける場合は、各気筒群の吸気バルブ（又は排気バルブ）の開弁期間の間隔が広がって、各気筒群の全ての吸気バルブ（又は排気バルブ）が閉じている期間が同じ気筒数の直列エンジンと比べて長くなるため、本発明の気筒別可変バルブ制御をより広い運転領域で精度良く実行することが可能となる。
【００２３】
【発明の実施の形態】
《実施形態（１）》
以下、本発明の実施形態（１）を図１乃至図１１に基づいて説明する。まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。内燃機関である例えば直列４気筒のエンジン１１は、第１気筒＃１〜第４気筒＃４の４つの気筒を有し、このエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４（吸入空気量検出手段）が設けられている。このエアフローメータ１４の下流側には、ＤＣモータ等によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００２４】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２１が取り付けられ、各点火プラグ２１の火花放電によって筒内の混合気に着火される。
【００２５】
また、エンジン１１の吸気バルブ２８と排気バルブ２９には、それぞれリフト量を可変する可変バルブリフト機構３０，３１（可変バルブ機構）が設けられている。更に、吸気バルブ２８と排気バルブ２９に、それぞれバルブタイミング（開閉タイミング）を可変する可変バルブタイミング機構を設けるようにしても良い。
【００２６】
一方、エンジン１１の排気管２２には、排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒２３が設けられ、この触媒２３の上流側に、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられている。また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２５や、エンジン１１のクランク軸が一定クランク角（例えば３０℃Ａ）回転する毎にパルス信号を出力するクランク角センサ２６が取り付けられている。このクランク角センサ２６の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００２７】
更に、エンジン１１の各気筒には、それぞれ筒内圧を検出する筒内圧センサ４４と吸気バルブ２８のリフト量を検出するリフトセンサ４５（バルブ可変量検出手段）とが設けられている。尚、筒内圧センサ４４は、点火プラグ２１に組み込まれたものを用いても良いし、点火プラグ２１とは別に設けても良い。
【００２８】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）２７に入力される。このＥＣＵ２７は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２０の燃料噴射量や点火プラグ２１の点火時期を制御する。
【００２９】
次に、図２に基づいて吸気バルブ２８の可変バルブリフト機構３０の構成を説明する。尚、排気バルブ２９の可変バルブリフト機構３１は、吸気バルブ２８の可変バルブリフト機構３０と実質的に同一構成であるため、説明を省略する。
【００３０】
図２に示すように、吸気バルブ２８を駆動するためのカムシャフト３２とロッカーアーム３３との間に、リンクアーム３４が設けられ、このリンクアーム３４の上方に、ステッピングモータ等のモータ４１で回動駆動されるコントロールシャフト３５が設けられている。モータ４１の回動軸４１ａに連結されたウォーム４２と、コントロールシャフト３５と一体的に回動するように設けられたウォームホイール４３とが噛み合うことで、モータ４１の回転力がコントロールシャフト３５に伝達されるようになっている。
【００３１】
コントロールシャフト３５には、偏心カム３６が一体的に回動可能に設けられ、この偏心カム３６の軸心に対して偏心した位置に、リンクアーム３４が支持軸（図示せず）を介して揺動可能に支持されている。このリンクアーム３４の中央部には、揺動カム３８が設けられ、この揺動カム３８の側面が、カムシャフト３２に設けられたカム３７の外周面に当接している。また、リンクアーム３４の下端部には、押圧カム３９が設けられ、この押圧カム３９の下端面が、ロッカーアーム３３の中央部に設けられたローラ４０の上端面に当接している。
【００３２】
これにより、カムシャフト３２の回転によってカム３７が回転すると、そのカム３７の外周面形状に追従してリンクアーム３４の揺動カム３８が左右に移動して、リンクアーム３４が左右に揺動する。リンクアーム３４が左右に揺動すると、押圧カム３９が左右に移動するため、押圧カム３９の下端面形状に応じてロッカーアーム３３のローラ４０が上下に移動して、ロッカーアーム３３が上下に揺動する。このロッカーアーム３３の上下動によって吸気バブル２８が上下動するようになっている。
【００３３】
一方、コントロールシャフト３５の回転によって偏心カム３６が回転すると、リンクアーム３４の支持軸の位置が移動して、リンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置が変化する。また、リンクアーム３４の押圧カム３９の下端面は、左側部分にロッカーアーム３３の押圧量が０（吸気バルブ２８のリフト量が０）となるような曲率でベース曲面３９ａが形成され、このベース曲面３９ａから右方に向かうに従ってロッカーアーム３３の押圧量が大きくなる（吸気バルブ２８のリフト量が大きくなる）ような曲率で押圧曲面３９ｂが形成されている。
【００３４】
吸気バルブ２８の最大リフト量を大きくする高リフトモードの場合には、コントロールシャフト３５の回転によってリンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置を右方に移動させる。これにより、カム３７の回転によって押圧カム３９が左右に移動したときに押圧カム３９の下端面のうちローラ４０に接触する区間が右方に移動するため、ロッカーアーム３３の最大押圧量が大きくなって吸気バルブ２８の最大リフト量が大きくなると共に、ロッカーアーム３３が押圧される期間が長くなって吸気バブル２８の開弁期間が長くなる。
【００３５】
一方、吸気バルブ２８の最大リフト量を小さくする低リフトモードの場合には、コントロールシャフト３５の回転によってリンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置を左方に移動させる。これにより、カム３７の回転によって押圧カム３９が左右に移動したときに押圧カム３９の下端面のうちローラ４０に接触する区間が左方に移動するため、ロッカーアーム３３の最大押圧量が小さくなって吸気バルブ２８の最大リフト量が小さくなると共に、ロッカーアーム３３が押圧される期間が短くなって吸気バブル２８の開弁期間が短くなる。
【００３６】
以上説明した可変バルブリフト機構３０では、モータ４１でコントロールシャフト３５を回転させてリンクアーム３４の押圧カム３９とロッカーアーム３３のローラ４０との初期の接触点位置を連続的に移動させれば、例えば図３に示すように、直列４気筒エンジン１１の全ての気筒（＃１〜＃４）の吸気バルブ２８の最大リフト量と開弁期間（以下単に「リフト量」という）を一括して連続的に可変することができる。
【００３７】
ＥＣＵ２７は、ＲＯＭに記憶された可変バルブリフト制御プログラム（図示せず）を実行することで、アクセル開度やエンジン運転状態等に基づいて吸気バルブ２８の可変バルブリフト機構３０を制御して、吸気バルブ２８のリフト量を連続的に可変して吸入空気量を制御する。尚、可変バルブリフト機構３０と可変バルブタイミング機構を併用したシステムの場合には、リフト量とバルブタイミングの両方を連続的に可変して吸入空気量を制御するようにしても良い。
【００３８】
また、ＥＣＵ２７は、後述する気筒間ばらつき補正用の各ルーチンを実行することで、各気筒の筒内圧センサ４４の出力に基づいて各気筒の気筒間吸入空気量ばらつき率ＤＥＶを算出し、この気筒間吸入空気量ばらつき率ＤＥＶに基づいて気筒間の実吸入空気量のばらつきが小さくなるように各気筒毎に目標リフト量ＶＶＬＭを設定する。
【００３９】
更に、図１１に示すように、可変バルブリフト機構３０を次に吸気バルブ２８が開弁される気筒（以下「吸気気筒」という）の目標リフト量ＶＶＬＭに相当する位置まで駆動する駆動期間の中間タイミングが、全気筒の吸気バルブ２８が閉弁している期間（以下「全吸気バルブ閉弁期間」という）の中間タイミングＴcenterとほぼ一致するように、可変バルブリフト機構３０の駆動開始時期Ｔstart を算出する。尚、可変バルブリフト機構３０の駆動期間の代わりに、可変バルブリフト機構３０の駆動量の中間タイミングが全吸気バルブ閉弁期間の中間タイミングＴcenterとほぼ一致するように、可変バルブリフト機構３０の駆動開始時期Ｔstart を算出するようにしても良い。
【００４０】
気筒別可変バルブ制御の実行中は、駆動開始時期Ｔstart になる毎に、可変バルブリフト機構３０のモータ４１を次の吸気気筒の目標リフト量ＶＶＬＭに相当する位置まで高速駆動することで、全吸気バルブ閉弁期間内か又はこの全吸気バルブ閉弁期間に跨がる期間内に、可変バルブリフト機構３０の駆動（目標リフト量ＶＶＬＭへのリフト可変動作）を実行して吸入空気量を気筒別に制御し、気筒間の吸入空気量ばらつきを補正する。
【００４１】
一般に、可変吸気バルブ制御による吸入空気量制御では、吸気バルブ２８のリフト量が小さくなるほど、気筒間の吸入空気量ばらつきが大きくなって、気筒間の目標リフト量ＶＶＬＭの変化量が大きくなる傾向があるが、吸気バルブ２８のリフト量が小さくなるほど、吸気バルブ２８の開弁期間が短くなって、全吸気バルブ閉弁期間が長くなるため、全吸気バルブ閉弁期間内か又はこの全吸気バルブ閉弁期間に跨がる期間内に、可変バルブリフト機構３０の駆動（目標リフト量ＶＶＬＭへのリフト可変動作）を実行することが可能である。
以下、本実施形態（１）でＥＣＵ２７が実行する気筒間ばらつき補正用の各ルーチンの処理内容を説明する。
【００４２】
［気筒間ばらつき補正ルーチン］
図４に示す気筒間ばらつき補正ルーチンは、筒内圧センサ４４の出力電圧のＡ／Ｄ変換タイミング（例えば４ｍｓ周期）で起動される。本ルーチンが起動されると、まず、ステップ１０１で、気筒間ばらつき補正実行条件が成立しているか否かを判定する。ここで、気筒間ばらつき補正実行条件は、例えば、次の２つの条件▲１▼、▲２▼を両方とも満たすことである。
▲１▼始動後所定時間以上が経過していること（つまり始動直後の不安定な運転状態でないこと）
▲２▼過渡運転状態でないこと（つまり定常運転状態であること）
【００４３】
これら２つの条件▲１▼、▲２▼を両方とも満たせば、気筒間ばらつき補正実行条件が成立するが、いずれか一方でも満たさない条件があれば、気筒間ばらつき補正実行条件が不成立となる。もし、気筒間ばらつき補正実行条件が不成立と判定されれば、ステップ１０２以降の気筒間ばらつき補正に関する処理を実行することなく、本ルーチンを終了する。
【００４４】
一方、上記ステップ１０１で、気筒間ばらつき補正実行条件が成立していると判定された場合には、ステップ１０２以降の気筒間ばらつき補正に関する処理を次のようにして実行する。まず、ステップ１０２で、後述する図６の気筒間吸入空気量ばらつき率算出ルーチンを実行して、各気筒の筒内圧センサ４４の出力に基づいて各気筒の気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出する。ここで、(#i)は気筒番号であり、(#1)〜(#4)のいずれかを意味する。
【００４５】
この後、ステップ１０３に進み、各気筒毎に気筒間吸入空気量ばらつき率ＤＥＶ(#i)に応じたリフト補正量ＦＶＶＬ(#i)を図５のマップを用いて算出する。図５のマップは、気筒間吸入空気量ばらつき率ＤＥＶ(#i)がプラス値となる領域では、リフト補正量ＦＶＶＬ(#i)が減量値（マイナス値）となり、気筒間吸入空気量ばらつき率ＤＥＶ(#i)がマイナス値となる領域では、リフト補正量ＦＶＶＬ(#i)が増量値（プラス値）となる。つまり、ある気筒の吸入空気量が全気筒の平均吸入空気量よりも多くなるほど、リフト補正量ＦＶＶＬ(#i)による減量補正量が大きくなり、反対に、ある気筒の吸入空気量が全気筒の平均吸入空気量よりも少なくなるほど、リフト補正量ＦＶＶＬ(#i)による増量補正量が大きくなって、気筒間の実吸入空気量のばらつきが小さくなるようにしている。尚、気筒間吸入空気量ばらつき率ＤＥＶ(#i)が０付近の所定領域では、リフト補正量ＦＶＶＬ(#i)＝０に設定され、吸気バルブリフト量ＶＶＬが補正されない。
【００４６】
リフト補正量ＦＶＶＬ(#i)の算出後、ステップ１０４に進み、後述する図７のバルブ開閉状態検出ルーチンを実行して、リフトセンサ４５の出力に基づいて、バルブ開閉状態フラグＸＬＩＦＴ０を、全気筒の吸気バルブ２８が閉弁していることを意味する「ＯＮ」にセットするか又は少なくとも１つの吸気バルブ２８が開弁していることを意味する「ＯＦＦ」にリセットする。
【００４７】
この後、ステップ１０５に進み、後述する図８の駆動開始時期算出ルーチンを実行して、各気筒のリフト補正量ＦＶＶＬ(#i)に基づいて、可変バルブリフト機構３０を次の吸気気筒の目標リフト量ＶＶＬＭ(#i)に相当する位置まで駆動するのに必要な駆動期間の中間タイミングが、全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)と一致するように、可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) を算出する。
【００４８】
この後、ステップ１０６に進み、現在のクランク角ＣＣＲＮＫが可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) であるか否かを判定し、駆動開始時期Ｔstart(#i) でなければ、そのまま本ルーチンを終了する。
【００４９】
その後、本ルーチンを起動して、ステップ１０６で、現在のクランク角ＣＣＲＮＫが駆動開始時期Ｔstart(#i) であると判定されたときに、ステップ１０７に進み、補正前の全気筒の平均リフト量ＶＶＬに次の吸気気筒のリフト補正量ＦＶＶＬ(#i)を加算して、気筒別目標リフト量ＶＶＬＭを求める。
【００５０】
次の吸気気筒が第１気筒＃１のとき（つまり第１気筒＃１の吸気行程前）には、第１気筒＃１のリフト補正量ＦＶＶＬ(#1)を全気筒の平均リフト量ＶＶＬに加算して気筒別目標リフト量ＶＶＬＭを求める。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ(#1)
【００５１】
次の吸気気筒が第２気筒＃２のとき（つまり第２気筒＃２の吸気行程前）には、第２気筒＃２のリフト補正量ＦＶＶＬ(#2)を全気筒の平均リフト量ＶＶＬに加算して気筒別目標リフト量ＶＶＬＭを求める。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ(#2)
【００５２】
次の吸気気筒が第３気筒＃３のとき（つまり第３気筒＃３の吸気行程前）には、第３気筒＃３のリフト補正量ＦＶＶＬ(#3)を全気筒の平均リフト量ＶＶＬに加算して気筒別目標リフト量ＶＶＬＭを求める。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ(#3)
【００５３】
次の吸気気筒が第４気筒＃４のとき（つまり第４気筒＃４の吸気行程前）には、第４気筒＃４のリフト補正量ＦＶＶＬ(#4)を全気筒の平均リフト量ＶＶＬに加算して気筒別目標リフト量ＶＶＬＭを求める。
ＶＶＬＭ＝ＶＶＬ＋ＦＶＶＬ(#4)
【００５４】
このようにして、可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) になる毎に、次の吸気気筒のリフト補正量ＦＶＶＬ(#i)を用いて、次の吸気気筒の目標リフト量ＶＶＬＭを設定する。このステップ１０７の処理が特許請求の範囲でいう気筒別目標バルブ可変量設定手段としての役割を果たす。
【００５５】
この後、ステップ１０８に進み、可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) になる毎に、気筒別目標リフト量ＶＶＬＭに応じて可変バルブリフト機構３０のモータ４１を高速駆動して、可変バルブリフト機構３０を次の吸気気筒の目標リフト量ＶＶＬＭに相当する位置まで駆動する。これにより、全吸気バルブ閉弁期間内か又は全吸気バルブ閉弁期間直前の吸気行程後期から全吸気バルブ閉弁期間直後の吸気行程前期までの期間内に、可変バルブリフト機構３０の駆動（目標リフト量ＶＶＬＭへのリフト可変動作）を終了して、吸入空気量を気筒別に制御し、気筒間の吸入空気量ばらつきを補正する。このステップ１０８の処理が特許請求の範囲でいう気筒別可変バルブ制御手段としての役割を果たす。
【００５６】
［気筒間吸入空気量ばらつき率算出ルーチン］
図４のステップ１０２で図６に示す気筒間吸入空気量ばらつき率算出ルーチンが起動されると、まず、ステップ２０１で、各気筒の筒内圧センサ４４で検出した筒内圧ＣＰＳを読み込んだ後、ステップ２０２に進み、クランク角カウンタＣＣＲＮＫのカウント値を読み込む。このクランク角カウンタＣＣＲＮＫは、クランク角センサ２６の出力信号に基づいて例えば３０℃Ａ毎に「１」ずつインクリメントされるため、クランク角カウンタＣＣＲＮＫの２４カウントが１サイクル（７２０℃Ａ）に相当する。尚、クランク角カウンタＣＣＲＮＫは、「２４」になった時点で「０」にリセットされる。また、クランク角カウンタＣＣＲＮＫ＝０のクランク回転位置が、第１気筒＃１の圧縮上死点（圧縮ＴＤＣ）に相当し、クランク角カウンタＣＣＲＮＫ＝６、１２、１８のクランク回転位置が、それぞれ第３気筒＃３、第４気筒＃４、第２気筒＃２の圧縮ＴＤＣに相当するように設定されている。
【００５７】
この後、ステップ２０３に進み、各気筒の筒内圧ピーク値ＣＰＳpeak(#i)を算出する。
この場合、クランク角カウンタＣＣＲＮＫ＝０〜５の期間（つまり第１気筒＃１の燃焼行程に対応する期間）は、その期間の筒内圧ＣＰＳの極大値を、第１気筒＃１の筒内圧ピーク値ＣＰＳpeak(#1)とする。
【００５８】
クランク角カウンタＣＣＲＮＫ＝１８〜２３の期間（つまり第２気筒＃２の燃焼行程に対応する期間）は、その期間の筒内圧ＣＰＳの極大値を、第２気筒＃２の筒内圧ピーク値ＣＰＳpeak(#2)とする。
【００５９】
クランク角カウンタＣＣＲＮＫ＝６〜１１の期間（つまり第３気筒＃３の燃焼行程に対応する期間）は、その期間の筒内圧ＣＰＳの極大値を、第３気筒＃３の筒内圧ピーク値ＣＰＳpeak(#3)とする。
【００６０】
クランク角カウンタＣＣＲＮＫ＝１２〜１７の期間（つまり第４気筒＃４の燃焼行程に対応する期間）は、その期間の筒内圧ＣＰＳの極大値を、第４気筒＃４の筒内圧ピーク値ＣＰＳpeak(#4)とする。
【００６１】
尚、筒内圧ピーク値ＣＰＳpeak(#i)を算出する期間は、適宜変更しても良く、例えば、各気筒の圧縮ＴＤＣの前後９０℃Ａ以内の期間の筒内圧ＣＰＳの極大値を筒内圧ピーク値ＣＰＳpeak(#i)として算出するようにしても良い。
【００６２】
気筒内に吸入される吸入空気量が多くなるほど、筒内圧が大きくなるため、各気筒の筒内圧ピーク値ＣＰＳpeak(#i)を用いれば、各気筒の吸入空気量ばらつきを精度良く反映した気筒間の吸入空気量ばらつき率ＤＥＶ(#i)を算出することができる。このステップ２０３の処理が特許請求の範囲でいう吸入空気量検出手段としての役割を果たす。
この後、ステップ２０４で、各気筒の気筒間吸入空気量ばらつき率ＤＥＶ(#i)を次式により算出する。
【００６３】
【数１】
2004204689.tif 000003
【００６４】
上式の分母は、全気筒の筒内圧ピーク値ＣＰＳpeak(#1)〜ＣＰＳpeak(#4)の平均値である。
尚、図６の気筒間吸入空気量ばらつき率算出ルーチンでは、各気筒の筒内圧ピーク値ＣＰＳpeak(#i)を用いて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出したが、各気筒の筒内圧平均値又は筒内圧面積を用いて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出するようにしても良い。或は、各気筒の筒内圧に基づいて算出した図示平均有効圧やポンピングロスを用いて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出するようにしても良い。
【００６５】
［バルブ開閉状態検出ルーチン］
図４のステップ１０４で起動される図７に示すバルブ開閉状態検出ルーチンは、特許請求の範囲でいうバルブ開閉状態検出手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ３０１で、各気筒のリフトセンサ４５で検出した吸気バルブ２８のリフト量ＶＬＩＦＴを読み込んだ後、ステップ３０２に進み、全気筒の吸気バルブ２８のリフト量ＶＬＩＦＴが「０」であるか否かを判定する。尚、１つの気筒のみにリフトセンサ４５が設けられている場合には、その１つの気筒のリフトセンサ４５の出力がリフト量「０」になるクランク角から全気筒の吸気バルブ２８のリフト量ＶＬＩＦＴが「０」となるクランク角を推定して、現在のクランク角が全気筒の吸気バルブ２８のリフト量ＶＬＩＦＴが「０」となるクランク角であるか否かを判定するようにしても良い。
【００６６】
その結果、全気筒の吸気バルブ２８のリフト量ＶＬＩＦＴが「０」であると判定された場合には、ステップ３０３に進み、バルブ開閉状態フラグＸＬＩＦＴ０を、全気筒の吸気バルブ２８が閉弁していることを意味する「ＯＮ」にセットする。
【００６７】
一方、少なくとも１つの吸気バルブ２８のリフト量ＶＬＩＦＴが「０」でないと判定された場合には、ステップ３０４に進み、バルブ開閉状態フラグＸＬＩＦＴ０を、少なくとも１つの吸気バルブ２８が開弁していることを意味する「ＯＦＦ」にリセットする。
【００６８】
［駆動開始時期算出ルーチン］
図４のステップ１０５で起動される図８に示す駆動開始時期算出ルーチンは、特許請求の範囲でいう駆動タイミング算出手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ４０１で、現在の吸気気筒の吸気バルブ２８が閉弁されたか否かを、バルブ開閉状態フラグＸＬＩＦＴ０が「ＯＦＦ」から「ＯＮ」に切り換わったか否かによって判定し、吸気バルブ２８が閉弁されたと判定された時点で、ステップ４０２に進み、そのときのクランク角を吸気バルブ２８の閉弁時期Ｔclose(#i) としてＥＣＵ２７のメモリに記憶する。
【００６９】
この後、ステップ４０３に進み、次の吸気気筒の吸気バルブ２８が開弁されたか否かを、バルブ開閉状態フラグＸＬＩＦＴ０が「ＯＮ」から「ＯＦＦ」に切り換わったか否かによって判定し、吸気バルブ２８の開弁されたと判定された時点で、ステップ４０４に進み、そのときのクランク角を吸気バルブ２８の開弁時期Ｔopen(#i)としてＥＣＵ２７のメモリに記憶する。
【００７０】
この後、ステップ４０５に進み、吸気バルブ２８の閉弁時期Ｔclose(#i) と開弁時期Ｔopen(#i)を用いて、全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)を次式により算出する。
Ｔcenter(#i)＝｛Ｔclose(#i) ＋Ｔopen(#i)｝／２
【００７１】
この後、ステップ４０６に進み、可変バルブリフト機構３０の５０％駆動応答時間ＴＭＯＴＯＲ(#i)を算出する。この５０％駆動応答時間ＴＭＯＴＯＲ(#i)は、可変バルブリフト機構３０をそれまでの吸気気筒の目標リフト量ＶＶＬＭに相当する位置から次の吸気気筒の目標リフト量ＶＶＬＭに相当する位置まで駆動するのに必要な駆動量の５０％だけ可変バルブリフト機構３０を駆動するのに必要な時間であり、クランク角に換算して求められる。
【００７２】
可変バルブリフト機構３０をそれまでの吸気気筒の目標リフト量ＶＶＬＭに相当する位置から次の吸気気筒の目標リフト量ＶＶＬＭに相当する位置まで駆動する際の目標リフト量ＶＶＬＭの差ΔＶＶＬＭ、つまりリフト補正量ＦＶＶＬ(#i)の差ΔＦＶＶＬに応じて可変バルブリフト機構３０の５０％駆動応答時間ＴＭＯＴＯＲ(#i)が変化するため、このステップ４０６では、図９のマップを用いて、各気筒のリフト補正量ＦＶＶＬ(#i)の差ΔＦＶＶＬに応じて可変バルブリフト機構３０の５０％駆動応答時間ＴＭＯＴＯＲ(#i)を算出する。
【００７３】
一般に、可変バルブリフト機構３０の駆動量が大きくなるほど駆動期間が長くなるため、図９のマップは、リフト補正量の差ΔＦＶＶＬ（＝目標リフト量の差ΔＶＶＬＭ）の絶対値が大きくなるほど、５０％駆動応答時間ＴＭＯＴＯＲ(#i)が長くなるように設定されている。更に、目標リフト量ＶＶＬＭを大きくするときよりも小さくするときの方が、可変バルブリフト機構３０の駆動トルクが小さくなって駆動期間が短くなる傾向があるため、図９のマップは、リフト補正量の差ΔＦＶＶＬの絶対値が同じであれば、リフト補正量の差ΔＦＶＶＬ（＝目標リフト量の差ΔＶＶＬＭ）がプラス値のときよりもマイナス値のときの方が、５０％駆動応答時間ＴＭＯＴＯＲ(#i)が短くなるように設定されている。
【００７４】
可変バルブリフト機構３０を第２気筒＃２の目標リフト量ＶＶＬＭに相当する位置から第１気筒＃１の目標リフト量ＶＶＬＭに相当する位置まで駆動する際の５０％駆動応答時間ＴＭＯＴＯＲ(#1)を算出する場合は、第１気筒＃１のリフト補正量ＦＶＶＬ(#1)と第２気筒＃２のリフト補正量ＦＶＶＬ(#2)との差ΔＦＶＶＬに応じた５０％駆動応答時間ＴＭＯＴＯＲ(#1)を算出する。
【００７５】
可変バルブリフト機構３０を第４気筒＃４の目標リフト量ＶＶＬＭに相当する位置から第２気筒＃２の目標リフト量ＶＶＬＭに相当する位置まで駆動する際の５０％駆動応答時間ＴＭＯＴＯＲ(#2)を算出する場合は、第２気筒＃２のリフト補正量ＦＶＶＬ(#2)と第４気筒＃４のリフト補正量ＦＶＶＬ(#4)との差ΔＦＶＶＬに応じた５０％駆動応答時間ＴＭＯＴＯＲ(#2)を算出する。
【００７６】
可変バルブリフト機構３０を第１気筒＃１の目標リフト量ＶＶＬＭに相当する位置から第３気筒＃３の目標リフト量ＶＶＬＭに相当する位置まで駆動する際の５０％駆動応答時間ＴＭＯＴＯＲ(#3)を算出する場合は、第３気筒＃３のリフト補正量ＦＶＶＬ(#3)と第１気筒＃１のリフト補正量ＦＶＶＬ(#1)との差ΔＦＶＶＬに応じた５０％駆動応答時間ＴＭＯＴＯＲ(#3)を算出する。
【００７７】
可変バルブリフト機構３０を第３気筒＃３の目標リフト量ＶＶＬＭに相当する位置から第４気筒＃４の目標リフト量ＶＶＬＭに相当する位置まで駆動する際の５０％駆動応答時間ＴＭＯＴＯＲ(#4)を算出する場合は、第４気筒＃４のリフト補正量ＦＶＶＬ(#4)と第３気筒＃３のリフト補正量ＦＶＶＬ(#3)との差ΔＦＶＶＬに応じた５０％駆動応答時間ＴＭＯＴＯＲ(#4)を算出する。
【００７８】
以上のようにして可変バルブリフト機構３０の５０％駆動応答時間ＴＭＯＴＯＲ(#i)を算出した後、ステップ４０７に進み、全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)から５０％駆動応答時間ＴＭＯＴＯＲ(#i)を減算して駆動開始時期Ｔstart(#i) を求める。
Ｔstart(#i) ＝Ｔcenter(#i)−ＴＭＯＴＯＲ(#i)
【００７９】
これにより、可変バルブリフト機構３０の駆動期間の中間タイミングを全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)に一致させるように、可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) を設定する。
【００８０】
尚、図８の駆動開始時期算出ルーチンでは、５０％駆動応答時間ＴＭＯＴＯＲ(#i)を用いて駆動開始時期Ｔstart(#i) を算出したが、５０％駆動応答時間ＴＭＯＴＯＲ(#i)に代えて、例えば９８％駆動応答時間の１／２の値を用いて駆動開始時期Ｔstart(#i) を算出するようにしても良い。或は、２５％駆動応答時間や７５％駆動応答時間を用いて駆動開始時期Ｔstart(#i) を算出するようにしても良い等、駆動開始時期Ｔstart(#i) の算出方法を適宜変更しても良く、要は、可変バルブリフト機構３０の駆動期間の中間タイミングが全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)に付近となるように、可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) を算出すれば良い。
【００８１】
以上説明した本実施形態（１）の実行例を図１０及び図１１に示すタイムチャートを用いて説明する。図１０に示すように、気筒間ばらつき補正実行条件が成立して気筒間ばらつき補正実行フラグがＯＮされている期間は、１サイクル毎に筒内圧センサ４４の出力（筒内圧ＣＰＳ）に基づいて各気筒の気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出し、この気筒間吸入空気量ばらつき率ＤＥＶ(#i)に基づいて、気筒間の実吸入空気量のばらつきが小さくなるように各気筒のリフト補正量ＦＶＶＬ(#i)を算出する。
【００８２】
更に、図１１に示すように、それまでの吸気気筒と次の吸気気筒のリフト補正量の差ΔＦＶＶＬ（＝目標リフト量の差ΔＶＶＬＭ）に応じた５０％駆動応答時間ＴＭＯＴＯＲ(#i)を全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)から減算して駆動開始時期Ｔstart(#i) を求めることで、可変バルブリフト機構３０の駆動期間の中間タイミングを、全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)に一致させるように、駆動開始時期Ｔstart(#i) を設定すると共に、次の吸気気筒のリフト補正量ＦＶＶＬ(#i)を全気筒の平均リフト量ＶＶＬに加算して、次の吸気気筒の目標リフト量ＶＶＬＭを設定する。
【００８３】
そして、駆動開始時期Ｔstart(#i) になる毎に、気筒別目標リフト量ＶＶＬＭに応じて可変バルブリフト機構３０のモータ４１を高速駆動して、可変バルブリフト機構３０を次の吸気気筒の目標リフト量ＶＶＬＭに相当する位置まで駆動する。これにより、全吸気バルブ閉弁期間内か又はこの全吸気バルブ閉弁期間に跨がる期間内に、可変バルブリフト機構３０の駆動（目標リフト量ＶＶＬＭへのリフト可変動作）を終了して、吸入空気量を気筒別に制御し、気筒間の吸入空気量ばらつきを補正する。
【００８４】
以上説明した本実施形態（１）のように、可変バルブリフト機構３０の駆動期間の中間タイミングが全吸気バルブ閉弁期間の中間タイミングと一致するように制御すれば、可変バルブリフト機構３０の駆動期間が全吸気バルブ閉弁期間よりも短い場合には、全吸気バルブ閉弁期間内に可変バルブリフト機構３０の駆動を終了することができるので、可変バルブリフト機構３０の駆動途中で吸気バルブ２８が開弁する事態を確実に回避することができて、各気筒のバルブプロフィールが過渡状態となることを回避することができる。これにより、各気筒の実吸入空気量のばらつきを考慮して設定した目標リフト量ＶＶＬＭに対応した適正なバルブプロフィールで吸気バルブ２８を開くことができ、気筒別可変バルブ制御を精度良く行うことができる。
【００８５】
一方、可変バルブリフト機構３０の駆動期間が全吸気バルブ閉弁期間よりも長くなった場合には、全吸気バルブ閉弁期間に対する駆動期間の超過分（駆動期間と吸気バルブ２８の開弁期間とが重なり合う期間）を、全吸気バルブ閉弁期間の前後にほぼ均等に振り分けることができるので、可変バルブリフト機構３０の駆動期間と吸気バルブ２８の開弁期間とが重なり合う期間を半分に短縮することができて、吸気バルブ２８の開きがまだ小さい段階で可変バルブリフト機構３０の駆動を終了することができる（或は吸気バルブ２８の開きが小さくなってから可変バルブリフト機構３０の駆動が開始することができる）。これにより、本実施形態（１）では、可変バルブリフト機構３０の駆動期間が全吸気バルブ閉弁期間よりも長くなった場合でも、吸入空気量に与える影響を小さくすることができて、気筒別可変バルブ制御の制御精度の低下をほとんど無視できるか又は最小限に抑えることができる。
【００８６】
従って、本実施形態（１）の気筒別可変バルブ制御を実行すれば、気筒間の吸入空気量ばらつきを精度良く補正することができ、気筒間のトルクばらつきや空燃比ばらつきを大幅に低減することができる。しかも、各気筒の部品公差や組付公差を小さくする必要がないので、低コスト化の要求を満たすことができる。
【００８７】
《実施形態（２）》
前記実施形態（１）では、筒内圧センサ４４で検出した筒内圧ＣＰＳを用いて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出するようにしたが、本発明の実施形態（２）では、図１２に示す気筒間吸入空気量ばらつき率算出ルーチンを実行することで、エアフローメータ１４で検出した瞬時空気流量ＧＡを用いて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出するようにしている。
【００８８】
本実施形態（２）で実行する図１２の気筒間吸入空気量ばらつき率算出ルーチンでは、まず、ステップ５０１で、エアフローメータ１４で検出した瞬時空気流量ＧＡを読み込んだ後、ステップ５０２に進み、クランク角カウンタＣＣＲＮＫのカウント値を読み込む。
【００８９】
この後、ステップ５０３に進み、各気筒の吸入空気量平均値ＧＡave(#i) を算出する。
この場合、クランク角カウンタＣＣＲＮＫ＝１２〜１７の期間（つまり第１気筒＃１の吸気行程に対応する期間）は、その期間の瞬時空気流量ＧＡの平均値を第１気筒＃１の吸入空気流量平均値ＧＡave(#1) とする。
【００９０】
クランク角カウンタＣＣＲＮＫ＝６〜１１の期間（つまり第２気筒＃２の吸気行程に対応する期間）は、その期間の瞬時空気流量ＧＡの平均値を、第２気筒＃２の吸入空気流量平均値ＧＡave(#2) とする。
【００９１】
クランク角カウンタＣＣＲＮＫ＝１８〜２３の期間（つまり第３気筒＃３の吸気行程に対応する期間）は、その期間の瞬時空気流量ＧＡの平均値を、第３気筒＃３の吸入空気流量平均値ＧＡave(#3) とする。
【００９２】
クランク角カウンタＣＣＲＮＫ＝０〜５の期間（つまり第４気筒＃４の吸気行程に対応する期間）は、その期間の瞬時空気流量ＧＡの平均値を、第４気筒＃４の吸入空気流量平均値ＧＡave(#4) とする。
この後、ステップ５０４で、各気筒の気筒間吸入空気量ばらつき率ＤＥＶ(#i)を次式により算出する。
【００９３】
【数２】
2004204689.tif 000004
【００９４】
上式の分母は、全気筒の吸入空気流量平均値ＧＡave(#1) 〜ＧＡave(#4) の平均値である。
以上説明した本実施形態（２）でも、気筒間吸入空気量ばらつき率ＤＥＶ(#i)を精度良く算出することができる。
【００９５】
尚、図１２の気筒間吸入空気量ばらつき率算出ルーチンでは、各気筒の吸入空気流量平均値ＧＡave(#i) を用いて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出したが、各気筒の吸入空気流量極大値や吸入空気量積算値を用いて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出するようにしても良い。また、各気筒の吸入空気量に応じて発生する吸気脈動がエアフローメータ１４で検出されるまでの時間遅れ等を考慮して、各気筒の吸入空気流量平均値の算出期間を適宜変更しても良い。
また、リフトセンサ４５や吸気管圧力センサ１８の出力に基づいて気筒間吸入空気量ばらつき率ＤＥＶ(#i)を算出するようにしても良い。
【００９６】
《実施形態（３）》
前記実施形態（１）では、リフトセンサ４５で検出した吸気バルブ２８のリフト量ＶＬＩＦＴに基づいて吸気バルブ２８の開閉状態を検出したが、図１３及び図１４に示す本発明の実施形態（３）では、目標リフト量ＶＶＬＭに基づいて吸気バルブ２８の開閉状態を推定するようにしている。
【００９７】
本実施形態（３）で実行する図１３のバルブ開閉状態推定ルーチンでは、まず、ステップ６０１で、前記実施形態（１）で説明した図４のステップ１０７で算出した目標リフト量ＶＶＬＭを読み込んだ後、ステップ６０２に進み、図１４のマップを用いて、目標リフト量ＶＶＬＭに応じて全吸気バルブ閉弁期間（全気筒の吸気バルブ２８が閉弁しているクランク角範囲）を求める。
【００９８】
一般に、吸気バルブ２８のリフト量が小さくなるほど、全吸気バルブ閉弁期間が長くなるため、図１４のマップは、吸気バルブ２８の目標リフト量ＶＶＬＭが小さくなるほど、全吸気バルブ閉弁期間が長くなるように設定されている。図１４のマップは、予め、設計値、実験、シミュレーション等によって設定され、ＥＣＵ２７のＲＯＭに記憶されている。
【００９９】
この後、ステップ６０３に進み、現在のクランク角ＣＣＲＮＫが全吸気バルブ閉弁期間内であるか否かを判定する。その結果、現在のクランク角ＣＣＲＮＫが全吸気バルブ閉弁期間内であると判定された場合には、ステップ６０４に進み、バルブ開閉状態フラグＸＬＩＦＴ０を「ＯＮ」にセットする。
【０１００】
一方、現在のクランク角ＣＣＲＮＫが全吸気バルブ閉弁期間ではないと判定された場合には、ステップ６０５に進み、バルブ開閉状態フラグＸＬＩＦＴ０を「ＯＦＦ」にリセットする。
【０１０１】
以上説明した本実施形態（３）によれば、全気筒の吸気バルブ２８が閉弁している全吸気バルブ閉弁期間を推定して、バルブ開閉状態フラグＸＬＩＦＴ０をセット／リセットすることができるので、リフトセンサ４５を備えていないシステムにも適用することができる。
尚、目標リフト量ＶＶＬＭに基づいてマップ等により全吸気バルブ閉弁期間の中間タイミングＴcenter(#i)を直接推定するようにしても良い。
【０１０２】
《実施形態（４）》
次に、図１５及び図１６を用いて本発明の実施形態（４）を説明する。本実施形態（４）では、図１５に示す駆動開始時期算出ルーチンを実行することで、吸入空気量を気筒別に制御する気筒別可変バルブ制御の実行中に、気筒間の実吸入空気量のばらつきが小さくなるように、可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) を補正するようにしている。
【０１０３】
尚、図１５に示す駆動開始時期算出ルーチンを実行する場合は、前記実施形態（１）で説明した図４のステップ１０３で各気筒のリフト補正量ＦＶＶＬ(#i)を算出したら、そのリフト補正量ＦＶＶＬ(#i)を所定期間（例えば、気筒間の吸入空気量ばらつきが最小であると判定されるまでの期間）だけ固定する。
【０１０４】
図１５に示す駆動開始時期算出ルーチンが起動されると、まず、ステップ７０１で、気筒間の吸入空気量ばらつきが最小であるか否かを、ばらつき最小フラグＸＤＥＶＭＩＮが、気筒間の吸入空気量ばらつきが最小であることを意味する「ＯＮ」にセットされているか否かによって判定する。その結果、気筒間の吸入空気量ばらつきが最小である（ＸＤＥＶＭＩＮ＝ＯＮ）と判定されれば、そのまま本ルーチンを終了する。
【０１０５】
一方、気筒間の吸入空気量ばらつきが最小ではない（ＸＤＥＶＭＩＮ＝ＯＦＦ）と判定された場合には、ステップ７０２に進み、前述した図６又は図１２の気筒間吸入空気量ばらつき率算出ルーチンで算出した気筒間吸入空気量ばらつき率ＤＥＶ(#i)を読み込んだ後、ステップ７０３に進み、前回も気筒間吸入空気量ばらつき率ＤＥＶ(#i)を読み込んだか否かを判定する。
【０１０６】
前回は気筒間吸入空気量ばらつき率ＤＥＶ(#i)を読み込んでいないと判定された場合、つまり、本ルーチンを最初に実行してから初めてステップ７０２、７０３の処理を行う場合は、ステップ７０３からステップ７０４に進み、駆動開始時期Ｔstart(#i) を初期値、例えば吸気気筒の吸気バルブ２８の閉弁時期Ｔclose(#i) に設定する。
【０１０７】
一方、上記ステップ７０３で、前回も気筒間吸入空気量ばらつき率ＤＥＶ(#i)を読み込んだと判定された場合、つまり、本ルーチンを２回以上起動してステップ７０２、７０３の処理を２回以上行った場合は、ステップ７０３からステップ７０５に進み、気筒間吸入空気量ばらつき率ＤＥＶ(#i)が前回よりも増加したか否かを判定する。
【０１０８】
その結果、気筒間吸入空気量ばらつき率ＤＥＶ(#i)が前回よりも減少したと判定された場合には、ステップ７０６に進み、駆動開始時期Ｔstart(#i) を所定クランク角（例えば１℃Ａ）だけ進角する。
Ｔstart(#i) ＝Ｔstart(#i) −１
【０１０９】
その後、ステップ７０５で、気筒間吸入空気量ばらつき率ＤＥＶ(#i)が前回よりも増加したと判定されたときに、ステップ７０７に進み、駆動開始時期Ｔstart(#i) を所定クランク角（例えば１℃Ａ）だけ遅角する。
Ｔstart(#i) ＝Ｔstart(#i) ＋１
【０１１０】
これにより、駆動開始時期Ｔstart(#i) を気筒間吸入空気量ばらつき率ＤＥＶ(#i)が最小となる最適時期に設定する。これらのステップ７０５〜７０７の処理が特許請求の範囲でいう駆動タイミング補正手段としての役割を果たす。
【０１１１】
この後、ステップ７０８に進み、気筒間吸入空気量ばらつき率ＤＥＶ(#i)が最小である判定して、ばらつき最小フラグＸＤＥＶＭＩＮを、気筒間の吸入空気量ばらつきが最小であることを意味する「ＯＮ」にセットした後、本ルーチンを終了する。
【０１１２】
以上説明した本実施形態（４）の実行例を図１６に示すタイムチャートを用いて説明する。図１６に示すように、気筒間ばらつき補正フラグがＯＮされて吸入空気量を気筒別に制御する気筒別可変バルブ制御を実行するときに、ばらつき最小フラグＸＤＥＶＭＩＮがＯＦＦされている期間は、気筒間吸入空気量ばらつき率ＤＥＶ(#i)が増加するまで駆動開始時期Ｔstart(#i) を、初期値である閉弁時期Ｔclose(#i) から所定クランク角（例えば１℃Ａ）ずつ進角する。その後、気筒間吸入空気量ばらつき率ＤＥＶ(#i)が増加したときに、前回の気筒間吸入空気量ばらつき率ＤＥＶ(#i)が最小であると判断して、駆動開始時期Ｔstart(#i) を所定クランク角（例えば１℃Ａ）だけ遅角して、駆動開始時期Ｔstart(#i) を気筒間吸入空気量ばらつき率ＤＥＶ(#i)が最小となる最適時期に設定し、ばらつき最小フラグＸＤＥＶＭＩＮをＯＮする。
【０１１３】
これにより、気筒別可変バルブ制御の実行中に、気筒間吸入空気量ばらつき率ＤＥＶ(#i)を監視しながら、可変バルブリフト機構３０の駆動開始時期Ｔstart(#i) を気筒間吸入空気量ばらつき率ＤＥＶ(#i)が最小になる最適時期に補正することができ、気筒間のトルクばらつきや空燃比ばらつきの補正精度を向上させることができる。
【０１１４】
《その他の実施形態》
上記各実施形態（１）〜（４）では、本発明を直列４気筒エンジンに適用したが、本発明を例えばＶ型エンジンに適用しても良い。一般に、Ｖ型エンジンでは、可変バルブリフト機構が各バンクの気筒群に対してそれぞれ設けられ、各可変バルブリフト機構がそれぞれ担当するバンクの吸気バルブのリフト量を一括して可変するように構成されている。図１７は、Ｖ型６気筒エンジンの例である。
【０１１５】
この場合、図１７に示すように、各可変バルブリフト機構が担当するバンクでは、各気筒の吸気バルブの開弁期間の間隔が広がって、そのバンクの全ての吸気バルブが閉弁している期間が同じ気筒数の直列エンジンと比べて長くなるため、本発明の気筒別可変バルブ制御を広い運転領域で精度良く実行することが可能となる。
【０１１６】
また、本発明の適用範囲は、吸気バルブのリフト量を可変する可変バルブ制御システムに限定されず、吸気バルブのリフト量、作用角、バルブタイミングの少なくとも１つを可変する可変バルブ制御システムに広く適用することができる。また、排気バルブについても、本発明の気筒別可変バルブ制御を適用して実施することができる。
【０１１７】
本発明の気筒別可変バルブ制御で、各気筒毎にリフト量、作用角、バルブタイミング等のバルブ可変量を変化させれば、各気筒毎に吸気流速、筒内圧、バルブオーバーラップ等を精度良く制御することが可能となり、気筒間の燃焼状態、ポンピングロス、内部ＥＧＲ量等のばらつきを精度良く補正することができ、気筒間のトルクばらつきや空燃比ばらつきを精度良く補正することができる。
【０１１８】
この場合、気筒間の実バルブ可変量のばらつきが小さくなるように各気筒の目標バルブ可変量を設定するようにしても良い。このようにすれば、気筒間の実バルブ可変量のばらつきを精度良く補正することができ、各気筒の燃焼状態、ポンピングロス、内部ＥＧＲ量等のばらつきを精度良く補正することができ、気筒間のトルクばらつきや空燃比ばらつきを精度良く補正することができる。
【０１１９】
その他、本発明は、直列エンジンとＶ型エンジンに限定されず、水平対向エンジン等、種々の複数気筒エンジンに適用でき、気筒数も適宜変更しても良いことは言うまでもない。
【図面の簡単な説明】
【図１】本発明の実施形態（１）におけるエンジン制御システム全体の概略構成図
【図２】可変バルブリフト機構の正面図
【図３】可変バルブリフト機構によるバルブリフト量の連続可変動作を説明するためのバルブリフト特性図
【図４】実施形態（１）の気筒間ばらつき補正ルーチンの処理の流れを示すフローチャート
【図５】リフト補正量ＦＶＶＬのマップを概念的に示す図
【図６】実施形態（１）の気筒間吸入空気量ばらつき率算出ルーチンの処理の流れを示すフローチャート
【図７】実施形態（１）のバルブ開閉状態検出ルーチンの処理の流れを示すフローチャート
【図８】実施形態（１）の駆動開始時期算出ルーチンの処理の流れを示すフローチャート
【図９】５０％駆動応答時間ＴＭＯＴＯＲのマップを概念的に示す図
【図１０】実施形態（１）の気筒間ばらつき補正の実行例を示すタイムチャート
【図１１】実施形態（１）の気筒別可変バルブ制御の実行例を示すタイムチャート
【図１２】実施形態（２）の気筒間吸入空気量ばらつき率算出ルーチンの処理の流れを示すフローチャート
【図１３】実施形態（３）のバルブ開閉状態推定ルーチンの処理の流れを示すフローチャート
【図１４】全吸気バルブ閉弁期間のマップを概念的に示す図
【図１５】実施形態（４）の駆動開始時期算出ルーチンの処理の流れを示すフローチャート
【図１６】実施形態（４）の気筒間ばらつき補正の実行例を示すタイムチャート
【図１７】その他の実施形態を説明するタイムチャート
【符号の説明】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ（吸入空気量検出手段）、１５…スロットルバルブ、１８…吸気管圧力センサ、２０…燃料噴射弁、２１…点火プラグ、２２…排気管、２４…排出ガスセンサ、２６…クランク角センサ、２７…ＥＣＵ（気筒別目標バルブ可変量設定手段，バルブ開閉状態検出手段，駆動タイミング算出手段，気筒別可変バルブ制御手段，吸入空気量検出手段，バルブ可変量検出手段，駆動タイミング補正手段）、２８…吸気バルブ、２９…排気バルブ、３０，３１…可変バルブリフト機構（可変バルブ機構）、４１…モータ、４４…筒内圧センサ（吸入空気量検出手段）、４５…リフトセンサ（バルブ可変量検出手段）。
【図１】
2004204689.tif 000005
【図２】
2004204689.tif 000006
【図３】
2004204689.tif 000007
【図４】
2004204689.tif 000008
【図５】
2004204689.tif 000009
【図６】
2004204689.tif 000010
【図７】
2004204689.tif 000011
【図８】
2004204689.tif 000012
【図９】
2004204689.tif 000013
【図１０】
2004204689.tif 000014
【図１１】
2004204689.tif 000015
【図１２】
2004204689.tif 000016
【図１３】
2004204689.tif 000017
【図１４】
2004204689.tif 000018
【図１５】
2004204689.tif 000019
【図１６】
2004204689.tif 000020
【図１７】
2004204689.tif 000021