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