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