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