(57)【要約】【課題】内燃機関において、吸気バルブや吸気ポートに起因する回転変動と燃料噴射に起因する回転変動とを判別する。【解決手段】吸気バルブや吸気ポートに起因する回転変動は、吸気バルブのバルブリフト量が小さい側では大きいが、バルブリフト量が大きい側では小さいものとなる。したがって小バルブリフト量時と大バルブリフト量時とでエンジン回転変動の大きさを判定して（Ｓ２１６，Ｓ２１８）、大バルブリフト量時の方が回転変動反映値ｄｌｔ［ｎ］が小さければ（Ｓ２１６で「ＹＥＳ」、Ｓ２１８で「ＮＯ」）、吸気バルブや吸気ポートに起因する回転変動と判別でき（Ｓ２２６）、小バルブリフト量時と大バルブリフト量時とで共に回転変動反映値ｄｌｔ［ｎ］が大きければ（Ｓ２１６で「ＹＥＳ」、Ｓ２１８で「ＹＥＳ」）、燃料噴射に起因する回転変動と判別できる（Ｓ２２４）。【選択図】      図１０
2004232528.tif 000002
【特許請求の範囲】
【請求項１】
吸気バルブのバルブリフト量を可変とする多気筒内燃機関における回転変動判別装置であって、
内燃機関の回転変動を検出する機関回転変動検出手段と、
前記バルブリフト量の変更に伴って前記回転変動検出手段にて検出される内燃機関の回転変動に生じた変化に基づいて、多気筒内燃機関回転変動因子を判別する機関回転変動判別手段と、
を備えたことを特徴とする多気筒内燃機関回転変動判別装置。
【請求項２】
請求項１において、前記多気筒内燃機関は、吸気バルブのバルブリフト量の調節により、燃焼室内への吸入空気量を調節する吸入空気量調節手段を備えたことを特徴とする多気筒内燃機関回転変動判別装置。
【請求項３】
請求項１又は２において、前記機関回転変動判別手段は、前記バルブリフト量が基準範囲に存在する場合に処理を開始することを特徴とする多気筒内燃機関回転変動判別装置。
【請求項４】
請求項２において、前記機関回転変動判別手段は、前記バルブリフト量が基準範囲に入った場合に、前記吸入空気量調節手段により少なくとも２種類のバルブリフト量を実現させて、各バルブリフト量にて前記回転変動検出手段にて検出された内燃機関の回転変動を比較することで、多気筒内燃機関回転変動因子を判別することを特徴とする多気筒内燃機関回転変動判別装置。
【請求項５】
請求項４において、前記多気筒内燃機関は、前記吸入空気量調節手段と同じ吸気経路において燃焼室内への吸入空気量を調節するスロットルバルブを備え、
前記機関回転変動判別手段は、前記吸入空気量調節手段により少なくとも２種類のバルブリフト量を実現する場合には、前記スロットルバルブの開度調節により、燃焼室内への吸入空気量を機関運転の要求量に対応させることを特徴とする多気筒内燃機関回転変動判別装置。
【請求項６】
請求項１〜５のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくなる場合には、吸気バルブ又は吸気ポートにおけるデポジット付着が存在すると判定することを特徴とする多気筒内燃機関回転変動判別装置。
【請求項７】
請求項１〜５のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくなる場合には、吸気バルブにおけるリフト誤差が存在すると判定することを特徴とする多気筒内燃機関回転変動判別装置。
【請求項８】
請求項１〜７のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくならない場合には、吸気バルブ又は吸気ポートにおけるデポジット付着及び吸気バルブにおけるリフト誤差以外に起因する回転変動であると判定することを特徴とする多気筒内燃機関回転変動判別装置。
【請求項９】
請求項１〜７のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくならない場合には、燃料噴射に起因する回転変動であると判定することを特徴とする多気筒内燃機関回転変動判別装置。
【請求項１０】
請求項６において、前記機関回転変動判別手段が吸気バルブ又は吸気ポートにおけるデポジット付着が存在すると判定した場合には、内燃機関の運転状態を一時的にデポジット除去運転に変更することを特徴とするデポジット除去手段を備えたことを特徴とする多気筒内燃機関回転変動判別装置。
【請求項１１】
請求項１０において、多気筒内燃機関の各気筒に配置された燃料噴射弁は燃焼室内に燃料を噴射するものであり、前記デポジット除去手段は、燃焼室内の燃焼前の混合気を吸気ポート側へ逆流させることでデポジットを洗浄することを特徴とする多気筒内燃機関回転変動判別装置。
【請求項１２】
請求項１０又は１１において、前記機関回転変動判別手段は、前記デポジット除去手段によりデポジット除去運転を実行しても、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくなる場合には、吸気バルブにおけるリフト誤差が存在すると判定することを特徴とする多気筒内燃機関回転変動判別装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は多気筒内燃機関における回転変動判別装置に関する。
【０００２】
【従来の技術】
多気筒内燃機関において基準以上の回転変動が生じた場合には気筒間での燃料噴射量を補正することにより基準以下に回転変動を抑制する技術が知られている（例えば特許文献１参照）。この技術では、燃料噴射量の補正により失火が検出されるようになると、あるいは機関負荷が失火を生じやすくなると、回転変動が噴射状態により引き起こされることを考慮して、前記補正に制限を加えるている。この燃料噴射量の補正制限により回転変動を抑制している。
【０００３】
【特許文献１】
特開平１１−２４１６３０号公報（第９−１０頁、第５図）
【０００４】
【発明が解決しようとする課題】
前記従来技術では、失火の検出により、燃料噴射弁による燃料霧化状態の気筒間ばらつきの発生を考慮した制御を実行している。しかし、回転変動は、燃料噴射量や霧化状態の気筒間ばらつきのみにより生じるものではなく、吸気バルブや吸気ポートを通過する際の空気流量のばらつきによっても生じる。
【０００５】
例えば経時により吸気バルブや吸気ポートにデポジットが付着した場合、あるいは経時により吸気バルブのリフト誤差が生じた場合などでは、気筒間で吸入空気量に差が生じて、吸気バルブや吸気ポートに起因した回転変動を引き起こす。
【０００６】
前記従来技術では、吸気バルブや吸気ポートに起因した回転変動か、燃料噴射に起因した回転変動かは判別することができず、吸気バルブや吸気ポートに起因した場合にも燃料噴射量の補正を実行することになる。このことにより空燃比が不適切な燃焼状態となって、回転変動を十分に抑制できなかったり排気エミッションを悪化させるおそれがある。
【０００７】
本発明は、吸気バルブや吸気ポートに起因する回転変動と燃料噴射に起因する回転変動とを判別できる多気筒内燃機関回転変動判別装置及びこの判別に基づいて対策を実行する多気筒内燃機関回転変動判別装置の提供を目的とする。
【０００８】
【課題を解決するための手段】
以下、上記目的を達成するための手段及びその作用効果について記載する。
請求項１に記載の多気筒内燃機関回転変動判別装置は、吸気バルブのバルブリフト量を可変とする多気筒内燃機関における回転変動判別装置であって、内燃機関の回転変動を検出する機関回転変動検出手段と、前記バルブリフト量の変更に伴って前記回転変動検出手段にて検出される内燃機関の回転変動に生じた変化に基づいて、多気筒内燃機関回転変動因子を判別する機関回転変動判別手段とを備えたことを特徴とする。
【０００９】
この多気筒内燃機関は吸気バルブのバルブリフト量が可変であることにより、機関回転変動検出手段は、異なるバルブリフト量にて内燃機関の回転変動を検出することができる。
【００１０】
吸気バルブや吸気ポートを通過する空気流量のばらつきは、バルブリフト量が小さい側では、回転変動要因として大きな割合を占めるようになる。しかしバルブリフト量が大きい側では、回転変動要因としての割合は小さいものとなる。
【００１１】
一方、燃料噴射弁による燃料噴射量や霧化のばらつきなどは、バルブリフト量が小さい側でも大きい側でも回転変動要因として占める割合に大きな差は生じない。
【００１２】
このように、吸気バルブや吸気ポートに起因する回転変動と、燃料噴射に起因する回転変動とは、バルブリフト量の違いに対して異なる挙動を示す。このため機関回転変動判別手段は、バルブリフト量の変更に伴って生じた、内燃機関の回転変動変化によって、吸気バルブや吸気ポートに起因する回転変動と、燃料噴射に起因する回転変動とを判別できる。
【００１３】
請求項２に記載の多気筒内燃機関回転変動判別装置では、請求項１において、前記多気筒内燃機関は、吸気バルブのバルブリフト量の調節により、燃焼室内への吸入空気量を調節する吸入空気量調節手段を備えたことを特徴とする。
【００１４】
このように各燃焼室への吸入空気量が、吸気バルブのバルブリフト量により調節される多気筒内燃機関においては、吸入空気量調節手段の駆動により吸気バルブのバルブリフト量が変更される。このバルブリフト量の変更を利用して、機関回転変動判別手段は、バルブリフト量の変更に伴って生じた内燃機関の回転変動変化に基づいて多気筒内燃機関回転変動因子を判別することができる。
【００１５】
請求項３に記載の多気筒内燃機関回転変動判別装置では、請求項１又は２において、前記機関回転変動判別手段は、前記バルブリフト量が基準範囲に存在する場合に処理を開始することを特徴とする。
【００１６】
機関回転変動判別手段の処理は、基準範囲、例えばバルブリフト量が軽負荷に属する小リフト量の或る範囲にバルブリフト量が入った時に、開始されるようにしても良い。
【００１７】
このことにより、多気筒内燃機関回転変動因子を判別するに適切なバルブリフト量にて判別処理を開始でき、高精度な判別を行うことができる。
請求項４に記載の多気筒内燃機関回転変動判別装置では、請求項２において、前記機関回転変動判別手段は、前記バルブリフト量が基準範囲に入った場合に、前記吸入空気量調節手段により少なくとも２種類のバルブリフト量を実現させて、各バルブリフト量にて前記回転変動検出手段にて検出された内燃機関の回転変動を比較することで、多気筒内燃機関回転変動因子を判別することを特徴とする。
【００１８】
機関回転変動判別手段は、バルブリフト量が基準範囲に入った場合に、吸入空気量調節手段を機能させて、少なくとも２種類のバルブリフト量を実現させるようにしても良い。このように機関回転変動判別手段が吸入空気量調節手段を機能させることにより、迅速に異なるバルブリフト量が実現でき、各バルブリフト量にて内燃機関の回転変動を比較することで、早期に多気筒内燃機関回転変動因子を判別することができる。
【００１９】
請求項５に記載の多気筒内燃機関回転変動判別装置では、請求項４において、前記多気筒内燃機関は、前記吸入空気量調節手段と同じ吸気経路において燃焼室内への吸入空気量を調節するスロットルバルブを備え、前記機関回転変動判別手段は、前記吸入空気量調節手段により少なくとも２種類のバルブリフト量を実現する場合には、前記スロットルバルブの開度調節により、燃焼室内への吸入空気量を機関運転の要求量に対応させることを特徴とする。
【００２０】
機関回転変動判別手段が吸入空気量調節手段を機能させる場合には、機関運転の要求量に応じて決定されていた吸気バルブのバルブリフト量は、要求量に対応しなくなる。このため吸入空気量の過不足を招き、機関回転数などの内燃機関の運転状態が変化することになる。
【００２１】
ここでは同一吸気経路に別途設けられたスロットルバルブにより、吸入空気量を機関運転の要求量に対応したものとすることができる。このため、多気筒内燃機関回転変動因子を判別するためにバルブリフト量を変更しても、内燃機関の運転状態変更を抑制することができ、高精度に多気筒内燃機関回転変動因子を判別することができる。
【００２２】
請求項６に記載の多気筒内燃機関回転変動判別装置では、請求項１〜５のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくなる場合には、吸気バルブ又は吸気ポートにおけるデポジット付着が存在すると判定することを特徴とする。
【００２３】
吸気バルブ又は吸気ポートにおけるデポジット付着は、バルブリフト量が小さくて吸入空気量が少ない時には大きく吸入空気量誤差に影響し、バルブリフト量が大きくて吸入空気量が多い時には吸入空気量誤差への影響は相対的に小さくなる。しかし、燃料噴射における誤差はバルブリフト量の大きさにはほとんど影響されない。
【００２４】
したがって機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて回転変動が小さくなる場合には、吸気バルブ又は吸気ポートにおけるデポジット付着が存在すると判定することができる。
【００２５】
請求項７に記載の多気筒内燃機関回転変動判別装置では、請求項１〜５のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくなる場合には、吸気バルブにおけるリフト誤差が存在すると判定することを特徴とする。
【００２６】
吸気バルブにおけるリフト誤差は、バルブリフト量が小さくて吸入空気量が少ない時には大きく吸入空気量誤差に影響し、バルブリフト量が大きくて吸入空気量が多い時には吸入空気量誤差への影響は相対的に小さくなる。しかし、燃料噴射における誤差はバルブリフト量の大きさにはほとんど影響されない。
【００２７】
したがって機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて回転変動が小さくなる場合には、吸気バルブにおけるリフト誤差が存在すると判定することができる。
【００２８】
請求項８に記載の多気筒内燃機関回転変動判別装置では、請求項１〜７のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくならない場合には、吸気バルブ又は吸気ポートにおけるデポジット付着及び吸気バルブにおけるリフト誤差以外に起因する回転変動であると判定することを特徴とする。
【００２９】
前記請求項６，７にて述べたごとく、吸気バルブ又は吸気ポートにおけるデポジット付着、あるいは吸気バルブにおけるリフト誤差であれば、バルブリフト量が小さい側よりも大きい側にて回転変動は小さくなる。しかしこのような挙動を内燃機関が示さない場合、すなわち、バルブリフト量が小さい側よりも大きい側にて回転変動が小さくならない場合には、吸気バルブ又は吸気ポートにおけるデポジット付着及び吸気バルブにおけるリフト誤差以外に起因する回転変動であると判定することができる。
【００３０】
請求項９に記載の多気筒内燃機関回転変動判別装置では、請求項１〜７のいずれかにおいて、前記機関回転変動判別手段は、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくならない場合には、燃料噴射に起因する回転変動であると判定することを特徴とする。
【００３１】
より具体的には、バルブリフト量が小さい側よりも大きい側にて回転変動が小さくならない場合には燃料噴射に起因する回転変動であると判定することができる。
【００３２】
請求項１０に記載の多気筒内燃機関回転変動判別装置では、請求項６において、前記機関回転変動判別手段が吸気バルブ又は吸気ポートにおけるデポジット付着が存在すると判定した場合には、内燃機関の運転状態を一時的にデポジット除去運転に変更することを特徴とするデポジット除去手段を備えたことを特徴とする。
【００３３】
このように機関回転変動判別手段が吸気バルブ又は吸気ポートにおけるデポジット付着が存在すると判定した場合には、デポジット除去手段にて内燃機関の運転状態を一時的にデポジット除去運転に変更することで、デポジットを除去するようにしても良い。
【００３４】
請求項１１に記載の多気筒内燃機関回転変動判別装置では、請求項１０において、多気筒内燃機関の各気筒に配置された燃料噴射弁は燃焼室内に燃料を噴射するものであり、前記デポジット除去手段は、燃焼室内の燃焼前の混合気を吸気ポート側へ逆流させることでデポジットを洗浄することを特徴とする。
【００３５】
多気筒内燃機関の燃料噴射弁が燃焼室内に燃料を噴射するものであれば、デポジット除去運転としては、燃焼室内の燃焼前の混合気を吸気ポート側へ逆流させてデポジットを洗浄する運転モードとしても良い。例えば吸気行程末期において燃料を燃焼室内に噴射する状態に切り換えることにより、ピストン上昇時に、未だ完全に閉じていない吸気バルブと吸気ポートとの間隙から燃焼室内の混合気が吸気ポート側へ吹き返される。この時の吹き返しにより運ばれてきた燃料にてデポジットが洗浄除去される。
【００３６】
請求項１２に記載の多気筒内燃機関回転変動判別装置では、請求項１０又は１１において、前記機関回転変動判別手段は、前記デポジット除去手段によりデポジット除去運転を実行しても、バルブリフト量が小さい側よりも大きい側にて前記機関回転変動検出手段にて検出された回転変動が小さくなる場合には、吸気バルブにおけるリフト誤差が存在すると判定することを特徴とする。
【００３７】
このようにデポジット除去手段によるデポジット除去運転がなされても、バルブリフト量が小さい側よりも大きい側にて回転変動が小さくなる現象が継続している場合には、デポジットでなく、吸気バルブにおけるリフト誤差が存在すると判断できる。したがって機関回転変動判別手段は、デポジット除去運転終了後に再度バルブリフト量の違いに応じた回転変動を判定することにより、多気筒内燃機関回転変動因子を詳細に判別することが可能となる。
【００３８】
【発明の実施の形態】
［実施の形態１］
図１は、上述した発明が適用された内燃機関としてのガソリンエンジン（以下「エンジン」と略す）２及びその制御系統の概略構成を表すブロック図である。図２はエンジン２の縦断面図（図１のＡ−Ａ断面）を示している。
【００３９】
エンジン２は、直列４気筒の内燃機関であり、車両走行用として自動車車両に搭載されているものである。このエンジン２は、シリンダブロック４、シリンダブロック４内で往復動するピストン６およびシリンダブロック４上に取り付けられたシリンダヘッド８等を備えている。シリンダブロック４には４つの気筒２ａが形成され、各気筒２ａには、シリンダブロック４、ピストン６およびシリンダヘッド８にて区画された燃焼室１０が形成されている。
【００４０】
そして各燃焼室１０には、それぞれ２つの吸気バルブ１２ａ，１２ｂ及び２つの排気バルブ１６ａ，１６ｂが配置されている。この内、吸気バルブ１２ａ，１２ｂは各吸気ポート１４ａ，１４ｂを開閉し、排気バルブ１６ａ，１６ｂは各排気ポート１８ａ，１８ｂを開閉するように配置されている。
【００４１】
シリンダヘッド８において各気筒２ａの吸気ポート１４ａ，１４ｂの間には、燃料噴射弁２０が取り付けられており、各燃焼室１０に対して機関運転上必要とされる要求量に応じた量の燃料を直接噴射している。
【００４２】
各気筒２ａの吸気ポート１４ａ，１４ｂは吸気マニホールド３０内に形成された吸気通路３０ａを介してサージタンク３２に接続されている。サージタンク３２は吸気ダクト４０を介してエアクリーナ４２に連結されている。尚、吸気ダクト４０内にはスロットルバルブ４４が配置されている。このスロットルバルブ４４は、通常のエンジン運転時には全開状態にされており、吸気バルブ１２ａ，１２ｂのバルブリフト量が調節されることにより、各燃焼室１０内への吸入空気量が調節される。
【００４３】
すなわち、アクセルペダル４６の操作やアイドル回転数制御時の目標回転数ＮＥｔに応じた吸入空気量制御は、吸気バルブ１２ａ，１２ｂのバルブリフト量を調節することによりなされる。この吸気バルブ１２ａ，１２ｂのバルブリフト量の調節は、吸気カムシャフト４８に設けられた吸気カム５０とローラロッカーアーム５２との間に存在する後述する仲介駆動機構１００を駆動することにより行われる。
【００４４】
尚、各気筒２ａの排気ポート１８ａ，１８ｂを開閉している排気バルブ１６ａ，１６ｂは、排気カムシャフト５４に設けられた排気カム５６の回転により、ローラロッカーアーム５８を介して一定のバルブリフト量で開閉されている。各気筒２ａの排気ポート１８ａ，１８ｂは排気マニホルド６０に連結されている。このことにより排気は、触媒コンバータ６２及びマフラーを介して外部に排出されている。
【００４５】
電子制御ユニット（以下「ＥＣＵ」と称する）６４は、双方向性バスを介して相互に接続されたＲＡＭ、ＲＯＭ、ＣＰＵ、入力ポートおよび出力ポートを備えて、デジタルコンピュータとして構成されている。このＥＣＵ６４には、アクセル開度センサ４６ａからのアクセルペダル４６の踏み込み量（以下「アクセル開度ＡＣＣＰ」と称する）を表す信号、スロットル開度センサ４４ａからスロットルバルブ４４の開度（以下「スロットル開度ＴＡ」と称する）を表す信号が入力されている。更にＥＣＵ６４には、エンジン回転数センサ６６からのエンジン２の回転数ＮＥに対応した信号、吸気カムシャフト４８の回転から基準クランク角を決定する基準クランク角センサ６８からの基準クランク角毎に生じる基準クランク角Ｇ２信号が入力されている。更にＥＣＵ６４には、シリンダブロック４に設けられた冷却水温センサ７０からの冷却水温ＴＨＷ信号、シリンダヘッド８に設けられたスライドアクチュエータ１１２の駆動量を検出するシャフト位置センサ１１２ａからのシャフト位置Ｓｐ信号が入力されている。更にＥＣＵ６４には、吸気ダクト４０に設けられた吸入空気量センサ７２からの吸入空気量ＧＡ信号、排気マニホルド６０に設けられた空燃比センサ７４からの空燃比Ａｆ信号、及びその他のセンサ類からの各種信号が入力されている。
【００４６】
そしてＥＣＵ６４は、上述した各種信号、メモリーに記憶しているデータ及びこれらを用いた演算結果に基づいて、制御上要求されるタイミングで要求量の燃料を燃料噴射弁２０から各燃焼室１０内に噴射し、点火プラグによる点火制御を実行している。更にＥＣＵ６４は、後述するごとくオイルコントロールバルブ（以下、「ＯＣＶ」と略す）１０４を介してスライドアクチュエータ１１２を油圧駆動し、吸気バルブ１２ａ，１２ｂのバルブリフト量を調節することで吸入空気量を制御している。更にＥＣＵ６４は、スロットルモータ４４ｂを駆動して、エンジン２の始動時にスロットルバルブ４４を全開にし、エンジン２の停止時にスロットルバルブ４４を全閉にする制御を実行している。更にＥＣＵ６４は、後述する回転変動判別時には吸気バルブ１２ａ，１２ｂのバルブリフト量の変更に連動して、スロットルモータ４４ｂを駆動してスロットルバルブ４４の開度を制御することにより吸入空気量を調節している。
【００４７】
ここで可変動弁機構について説明する。図３は吸気カムシャフト４８および排気カムシャフト５４を中心としたシリンダヘッド８の要部を示す平面図である。図２にも示したごとく、可変動弁機構は、吸気カム５０を含む吸気カムシャフト４８、仲介駆動機構１００、及びローラロッカーアーム５２にて構成されている。尚、排気バルブ１６ａ，１６ｂ側については、仲介駆動機構が設けられておらず、排気カム５６が直接ローラロッカーアーム５８を駆動しているので可変動弁機構としては構成されていない。
【００４８】
仲介駆動機構１００は、気筒２ａ毎に１つ、ここでは４気筒であるので合計４つ備えられている。これらの４つの仲介駆動機構１００は、同一の構成であり、図３に示したごとく１本の支持パイプ１３０と支持パイプ１３０内部に配置された１本のコントロールシャフト１３２にて連結されている。
【００４９】
ここで１つの仲介駆動機構１００を図４の斜視図及び図５の部分破断斜視図に示す。仲介駆動機構１００は、中央に設けられた入力部１２２、図示左に設けられた第１揺動カム１２４及び図示右に設けられた第２揺動カム１２６を備えている。これら入力部１２２のハウジング１２２ａおよび揺動カム１２４，１２６の各ハウジング１２４ａ，１２６ａはそれぞれ外径が同じ円柱状をなしている。
【００５０】
入力部１２２のハウジング１２２ａは内部に軸方向に空間を形成し、この空間の内周面には軸方向に右ネジの螺旋状に形成されたヘリカルスプライン１２２ｂを形成している。また外周面は２つのアーム１２２ｃ，１２２ｄが平行に突出して形成されている。これらアーム１２２ｃ，１２２ｄの先端には、シャフト１２２ｅが掛け渡されている。このシャフト１２２ｅはハウジング１２２ａの軸方向と平行にされておりローラ１２２ｆが回転可能に取り付けられている。
【００５１】
第１揺動カム１２４のハウジング１２４ａ及び第２揺動カム１２６のハウジング１２６ａは、それぞれ内部に軸方向に空間を形成し、この内部空間の内周面には軸方向に左ネジの螺旋状に形成されたヘリカルスプライン１２４ｂ，１２６ｂを形成している。この内部空間は、径の小さい中心孔を有するリング状の軸受部１２４ｃ，１２６ｃにて端部が覆われている。また外周面は略三角形状のノーズ１２４ｄ，１２６ｄが突出して形成されている。このノーズ１２４ｄ，１２６ｄの一辺は凹状に湾曲するカム面１２４ｅ，１２６ｅを形成している。
【００５２】
これら第１揺動カム１２４および第２揺動カム１２６は、軸受部１２４ｃ，１２６ｃを外側にして入力部１２２の両端から各端面を同軸上で接触させるように配置され、全体が図４に示したごとく内部空間を有する略円柱状となる。
【００５３】
入力部１２２および２つ揺動カム１２４，１２６から構成される内部空間には、スライダギア１２８が配置されている。スライダギア１２８は略円柱状をなし、外周面中央には右ネジの螺旋状に形成された入力用ヘリカルスプライン１２８ａが形成されている。この入力用ヘリカルスプライン１２８ａの左側端部には小径部１２８ｂを挟んで左ネジの螺旋状に形成された第１出力用ヘリカルスプライン１２８ｃが形成されている。又、入力用ヘリカルスプライン１２８ａの右側端部には小径部１２８ｄを挟んで左ネジの螺旋状に形成された第２出力用ヘリカルスプライン１２８ｅが形成されている。
【００５４】
スライダギア１２８の内部には中心軸方向に貫通孔が形成されている。そして一方の小径部１２８ｄには貫通孔を外周面に開放するための長孔１２８ｇが形成されている。この長孔１２８ｇは周方向に長く形成されている。
【００５５】
スライダギア１２８の中心にある貫通孔内には支持パイプ１３０が周方向に摺動可能に配置されている。この支持パイプ１３０は、図３に示したごとく、すべての仲介駆動機構１００に共通の１本が設けられている。なお支持パイプ１３０にはスライダギア１２８の各長孔１２８ｇに対向する位置に、軸方向に長く形成された長孔１３０ａが設けられている。
【００５６】
更に、支持パイプ１３０内には軸方向に摺動可能にコントロールシャフト１３２が貫通している。このコントロールシャフト１３２も支持パイプ１３０と同様にすべての仲介駆動機構１００に共通の１本が設けられている。尚、コントロールシャフト１３２には各仲介駆動機構１００に対応する位置に係止ピン１３２ａが形成されている。この係止ピン１３２ａは、支持パイプ１３０の軸方向の長孔１３０ａを貫通すると共に、スライダギア１２８に形成された周方向の長孔１２８ｇ内にも先端が挿入されている。
【００５７】
コントロールシャフト１３２の係止ピン１３２ａは、支持パイプ１３０がシリンダヘッド８に対して固定されていても、支持パイプ１３０に形成された軸方向の長孔１３０ａにより軸方向に移動できる。このためコントロールシャフト１３２の軸方向移動時には、係止ピン１３２ａが周方向の長孔１２８ｇに係合することでスライダギア１２８を軸方向に移動させることができる。更に、スライダギア１２８自体は、周方向の長孔１２８ｇにて係止ピン１３２ａに係止していることにより、係止ピン１３２ａにて軸方向の位置は決定されるが、軸周りについては揺動可能となっている。
【００５８】
スライダギア１２８の内で、入力用ヘリカルスプライン１２８ａは入力部１２２内部のヘリカルスプライン１２２ｂに噛み合わされている。また第１出力用ヘリカルスプライン１２８ｃは第１揺動カム１２４内部のヘリカルスプライン１２４ｂに噛み合わされ、第２出力用ヘリカルスプライン１２８ｅは第２揺動カム１２６内部のヘリカルスプライン１２６ｂに噛み合わされている。
【００５９】
このように構成された各仲介駆動機構１００は、図３に示したごとく、揺動カム１２４，１２６の軸受部１２４ｃ，１２６ｃ側にて、シリンダヘッド８に形成された立壁部１３６，１３８に挟まれて、軸周りには揺動可能であるが軸方向に移動するのが阻止されている。この立壁部１３６，１３８には、軸受部１２４ｃ，１２６ｃの中心孔に対応した位置に孔が形成され、支持パイプ１３０を貫通させ、かつ固定している。したがって支持パイプ１３０はシリンダヘッド８に対しては固定されて軸方向に移動したり回転したりすることはない。
【００６０】
又、支持パイプ１３０内のコントロールシャフト１３２は支持パイプ１３０内を軸方向に摺動可能に貫通し、一端側にてスライドアクチュエータ１１２のピストン１１２ｂに連結されている。このスライドアクチュエータ１１２は、ＥＣＵ６４により、アクセルペダル４６の操作やエンジン２の運転状態に応じてＯＣＶ１０４を介する油圧制御によりを駆動されている。
【００６１】
尚、スライドアクチュエータ１１２は、ピストン１１２ｂ、シリンダ１１２ｃ及びスプリング１１２ｄの組み合わせにより構成されている。前述したごとくピストン１１２ｂにコントロールシャフト１３２の一端が取り付けられていることにより、シリンダ１１２ｃ内にピストン１１２ｂを挟んで構成された各油圧室への作動油圧の供給排出をＯＣＶ１０４が実行することで、コントロールシャフト１３２が軸方向に駆動される。
【００６２】
又、スプリング１１２ｄはピストン１１２ｂを介してコントロールシャフト１３２を図３において右側へ付勢している。このことにより少なくともエンジン始動時においてコントロールシャフト１３２に発生しているバルブリフト量を小さくする方向（図示左方向）の軸力に対抗し、始動時にコントロールシャフト１３２が図示左方向に移動するのを阻止している。このことによりスライドアクチュエータ１１２に対する作動油圧が不十分な始動時において、吸気バルブ１２ａ，１２ｂのバルブリフト量を大きくして、各気筒２ａへの吸入空気量を確保する機能を果たしている。
【００６３】
ＯＣＶ１０４は電磁ソレノイド式４ポート３位置切替弁であり、電磁ソレノイドの消磁状態（以下、「低リフト駆動状態」と称する）では（図３に示した状態）、駆動量が減少する図示左方向にコントロールシャフト１３２を移動させるようにオイルポンプＰから高圧の作動油が供給される。このことにより仲介駆動機構１２０は吸気バルブ１２ａ，１２ｂのバルブリフト量を小さくするので、吸入空気量は小さくなるように調節される。
【００６４】
又、電磁ソレノイドが１００％励磁された状態（以下、「高リフト駆動状態」と称する）では、駆動量が増加する図示右方向にコントロールシャフト１３２を移動させるようにオイルポンプＰから高圧の作動油が供給される。このことにより仲介駆動機構１２０は吸気バルブ１２ａ，１２ｂのバルブリフト量を大きくするので、吸入空気量は大きくなるように調節される。
【００６５】
更に電磁ソレノイドへの給電を中程度の状態（以下、「中立状態」と称する）に制御すると、各油圧室の作動油の供給排出は停止し、各油圧室は密封される。このことによりコントロールシャフト１３２の軸方向移動は停止して吸気バルブ１２ａ，１２ｂのバルブリフト量が維持される。
【００６６】
各仲介駆動機構１００の入力部１２２に設けられているローラ１２２ｆは、図２に示したごとく吸気カム５０に接触している。このため各仲介駆動機構１００の入力部１２２は、吸気カム５０のカム面のプロフィールに応じて支持パイプ１３０の軸周りで揺動する。尚、ローラ１２２ｆを支持しているアーム１２２ｃ，１２２ｄにはローラ１２２ｆを吸気カム５０方向へ付勢する圧縮状スプリング１２２ｇがシリンダヘッド８との間に設けられている。このため、ローラ１２２ｆは常に吸気カム５０のカム面に接触している。
【００６７】
一方、揺動カム１２４，１２６は、それぞれベース円部分（ノーズ１２４ｄ，１２６ｄを除いた部分）で２つのローラロッカーアーム５２の各中央に設けられた各ローラ５２ａに接触している。このローラロッカーアーム５２は、シリンダヘッド８の中央側の基端部５２ｃでアジャスタ５２ｂにて揺動可能に支持され、シリンダヘッド８の外側の先端部５２ｄにて各吸気バルブ１２ａ，１２ｂのステムエンド１２ｃにそれぞれ接触している。
【００６８】
上述した構成により、運転者がアクセルペダル４６の踏み込み量を調節すると、ＥＣＵ６４に対してアクセル開度センサ４６ａから出力されるアクセル開度ＡＣＣＰが変化する。ＥＣＵ６４は、アクセル開度ＡＣＣＰに応じてＯＣＶ１０４を介してスライドアクチュエータ１１２を駆動し、コントロールシャフト１３２によりスライダギア１２８を軸方向へ移動させる。このことにより入力部１２２のローラ１２２ｆと揺動カム１２４，１２６のノーズ１２４ｄ，１２６ｄとの位相差が調節される。すなわち、運転者はアクセルペダル４６の踏み込み状態により、図６，７に示すごとく吸気バルブ１２ａ，１２ｂのバルブリフト量を連続的に可変とすることができる。尚、図６，７では第２揺動カム１２６が吸気バルブ１２ａを駆動する状態を示しているが、第１揺動カム１２４が吸気バルブ１２ｂを駆動する状態についても同じである。
【００６９】
ここで図６はアクセルペダル４６を踏み込んでいない状態、すなわち踏み込み量「０」の場合を示している。図６（Ａ）は吸気行程以外の行程状態にあり、吸気カム５０のベース円部分（ノーズ５０ａを除いた部分）が、仲介駆動機構１００における入力部１２２のローラ１２２ｆに接触している。この時、揺動カム１２４，１２６のノーズ１２４ｄ，１２６ｄはローラロッカーアーム５２のローラ５２ａには接触しておらず、ノーズ１２４ｄ，１２６ｄから離れたベース円部分がローラ５２ａに接触している。このため吸気バルブ１２ａ，１２ｂは閉弁状態にある。
【００７０】
吸気行程となり吸気カムシャフト４８の回転により吸気カム５０のノーズ５０ａが入力部１２２のローラ１２２ｆを押し下げる。すると、仲介駆動機構１００内では入力部１２２からスライダギア１２８を介して揺動カム１２４，１２６に揺動が伝達されて、揺動カム１２４，１２６はノーズ１２４ｄ，１２６ｄを押し下げるように揺動する。
【００７１】
上述したごとく図６（Ａ）の状態では、ローラロッカーアーム５２のローラ５２ａは、ノーズ１２４ｄ，１２６ｄからかなり離れた揺動カム１２４，１２６のベース円部分に接触している。このため揺動カム１２４，１２６が揺動を開始しても、しばらくはローラロッカーアーム５２のローラ５２ａはノーズ１２４ｄ，１２６ｄに設けられた湾曲状のカム面１２４ｅ，１２６ｅに接触することなくベース円部分に接触した状態を継続する。その後、湾曲状のカム面１２４ｅ，１２６ｅがローラ５２ａに接触を開始して、図６（Ｂ）に示すごとくローラロッカーアーム５２のローラ５２ａを押し下げる。このことにより、ローラロッカーアーム５２は基端部５２ｃを中心に揺動する。しかしローラロッカーアーム５２のローラ５２ａが当初、ノーズ１２４ｄ，１２６ｄから離れている分、カム面１２４ｅ，１２６ｅの使用範囲は少ない。このためローラロッカーアーム５２の揺動角度は小さく、ローラロッカーアーム５２の先端部５２ｄによるステムエンド１２ｃの押し下げ量、すなわちバルブリフト量はかなり少ない。こうして吸気バルブ１２ａ，１２ｂは最低限のバルブリフト量にて吸気ポート１４ａ，１４ｂを開放状態にする。
【００７２】
図７はアクセルペダル４６を最大に踏み込んでいる状態、すなわち踏み込み量が最大値の場合を示している。図７（Ａ）は吸気行程以外の行程状態にあり、吸気カム５０のベース円部分（ノーズ５０ａを除いた部分）が、仲介駆動機構１００における入力部１２２のローラ１２２ｆに接触している。この時、揺動カム１２４，１２６のノーズ１２４ｄ，１２６ｄはローラロッカーアーム５２のローラ５２ａには接触しておらず、ノーズ１２４ｄ，１２６ｄに隣接したベース円部分がローラ５２ａに接触している。このため吸気バルブ１２ａ，１２ｂは閉弁状態にある。
【００７３】
吸気行程となって吸気カムシャフト４８の回転により吸気カム５０のノーズ５０ａが入力部１２２のローラ１２２ｆを押し下げると、仲介駆動機構１００内では入力部１２２からスライダギア１２８を介して揺動カム１２４，１２６に揺動が伝達される。このことにより揺動カム１２４，１２６はノーズ１２４ｄ，１２６ｄを押し下げるように揺動する。この揺動開始時にノーズ１２４ｄ，１２６ｄに設けられた湾曲状のカム面１２４ｅ，１２６ｅが直ちにローラロッカーアーム５２のローラ５２ａに接触する。したがって図７（Ｂ）に示すごとく、カム面１２４ｅ，１２６ｅのほぼ全範囲を使用してローラロッカーアーム５２のローラ５２ａを押し下げる。このことによりローラロッカーアーム５２は基端部５２ｃ側を中心に大きく揺動し、ローラロッカーアーム５２の先端部５２ｄは大きくステムエンド１２ｃを押し下げる。こうして吸気バルブ１２ａ，１２ｂは最大のバルブリフト量にて吸気ポート１４ａ，１４ｂを開放状態にする。
【００７４】
このようにして運転者によるアクセルペダル４６の操作時に図８のグラフに示す最小と最大とのバルブリフト量の間で吸気バルブ１２ａ，１２ｂのバルブリフト量が無段階に連続的に調節される。尚、アクセル開度ＡＣＣＰとバルブリフト量との対応は成層燃焼モード時と均質燃焼モード時とで切り換えられる。又、このバルブリフト量の無段階連続調節は、運転者によるアクセルペダル４６の操作時以外にも、アイドル回転数制御時の吸気量制御時等においても実行される。
【００７５】
次に上述のごとく吸気バルブ１２ａ，１２ｂのバルブリフト量が無段階に連続的に調節されている状態においてＥＣＵ６４にて行われる回転変動判別処理について説明する。
【００７６】
回転変動判別処理について図９〜１７のフローチャートにて説明する。各処理は実行が開始されると、終了設定まで短時間周期で繰り返し実行される処理である。
【００７７】
ＥＣＵ６４の起動により、まず回転変動判別処理Ａ（図９）が開始される。回転変動判別処理Ａ（図９）では、まず現在の吸気バルブ１２ａ，１２ｂのバルブリフト量ｉｎｌｉｆｔが安定状態にて基準バルブリフト量ＬＩＦＴＬ未満か否かが判定される（Ｓ１０２）。現在のバルブリフト量ｉｎｌｉｆｔは、シャフト位置センサ１１２ａにより検出されたシャフト位置Ｓｐに基づいて図１８に示すマップから算出されるものである。基準バルブリフト量ＬＩＦＴＬは、吸気バルブ１２ａ，１２ｂのバルブリフト量の基準範囲の上限を設定するための値である。この基準バルブリフト量ＬＩＦＴＬの大きさは、デポジットの堆積が回転変動を明確に生じさせる基準範囲を規定できるように、予め実験により定められている。ここで安定状態とはバルブリフト量ｉｎｌｉｆｔが急激に変化している時でなく、バルブリフト量ｉｎｌｉｆｔの変化が緩慢あるいはバルブリフト量ｉｎｌｉｆｔが一定であり、以下に述べる回転変動判別処理にて回転変動判別が安定した状態で実行できる状態を示している。
【００７８】
ステップＳ１０２の判定にて、ｉｎｌｉｆｔ≧ＬＩＦＴＬであったり、安定状態でなかった場合は（Ｓ１０２で「ＮＯ」）、デポジット堆積を判定する運転状態にないとして、このまま一旦本処理を終了する。
【００７９】
一方、安定状態であってｉｎｌｉｆｔ＜ＬＩＦＴＬである場合には（Ｓ１０２で「ＹＥＳ」）、次に気筒番号カウンタｎに「１」を設定する（Ｓ１０４）。そして気筒番号カウンタｎが「４」を越えているか否かが判定される（Ｓ１０６）。ここで最初はｎ＝１であることから（Ｓ１０６で「ＮＯ」）、回転変動反映値ｄｌｔ［ｎ］が回転変動判定値ＴＨＬＶＬを越えているか否かが判定される（Ｓ１０８）。
【００８０】
回転変動反映値ｄｌｔ［ｎ］は、第ｎ気筒の回転変動反映値を示し、エンジン２は４気筒であるので、後述するごとくＥＣＵ６４により別途算出されている＃１〜＃４回転変動反映値ｄｌｎ［１］〜ｄｌｔ［４］の内のいずれかである。尚、最初は「ｎ＝１」であるので、＃１回転変動反映値ｄｌｎ［１］を表す。
【００８１】
又、回転変動判定値ＴＨＬＶＬは、前述した＃１〜＃４回転変動反映値ｄｌｎ［１］〜ｄｌｔ［４］の値に基づいて、該当気筒において回転変動が生じていることを判定するための判定値である。
【００８２】
回転変動反映値ｄｌｎ［１］〜ｄｌｎ［４］の算出について説明する。エンジン２は、第１気筒（以下「＃１気筒」で表す）→第３気筒（以下「＃３気筒」で表す）→第４気筒（以下「＃４気筒」で表す）→第２気筒（以下「＃２気筒」で表す）の順番で点火される。そしてＥＣＵ６４にては、点火ＡＴＤＣ（ここでは＃１気筒の点火ＡＴＤＣを表す）０°ＣＡ（クランク角）〜３０°ＣＡ、１８０°ＣＡ〜２１０°ＣＡ、３６０°ＣＡ〜３９０°ＣＡ、５４０°ＣＡ〜５７０°ＣＡの各３０°ＣＡをクランク軸が回転するに要した時間が測定されている。
【００８３】
このように測定されている３０°ＣＡ回転時間に基づいて、＃１回転変動反映値ｄｌｎ［１］は、点火ＡＴＤＣ１８０°ＣＡ〜２１０°ＣＡまで回転するに要した時間から、点火ＡＴＤＣ０°ＣＡ〜３０°ＣＡまで回転するに要した時間を差し引いた値として繰り返し設定されている。同様にして＃２回転変動反映値ｄｌｎ［２］は、点火ＡＴＤＣ０°ＣＡ〜３０°ＣＡまで回転するに要した時間から、点火ＡＴＤＣ５４０°ＣＡ〜５７０°ＣＡまで回転するに要した時間を差し引いた値として繰り返し設定されている。＃３回転変動反映値ｄｌｎ［３］は、点火ＡＴＤＣ３６０°ＣＡ〜３９０°ＣＡまで回転するに要した時間から、点火ＡＴＤＣ１８０°ＣＡ〜２１０°ＣＡまで回転するに要した時間を差し引いた値として繰り返し設定されている。＃４回転変動反映値ｄｌｎ［４］は、点火ＡＴＤＣ５４０°ＣＡ〜５７０°ＣＡまで回転するに要した時間から、点火ＡＴＤＣ３６０°ＣＡ〜３９０°ＣＡまで回転するに要した時間を差し引いた値として繰り返し設定されている。
【００８４】
回転変動判別処理Ａ（図９）のステップＳ１０８では、最初はｎ＝１であることから＃１回転変動反映値ｄｌｔ［１］が回転変動判定値ＴＨＬＶＬを越えているか否かが判定されることになる。ｄｌｔ［ｎ］≦ＴＨＬＶＬであれば（Ｓ１０８で「ＮＯ」）、回転変動が生じていないとして、低リフト時判定フラグｅｘｔｄｅｐｏ［ｎ］は「ＯＦＦ」に設定される（Ｓ１１０）。
【００８５】
一方、＃１気筒の吸気バルブ１２ａ，１２ｂあるいは吸気ポート１４ａ，１４ｂにデポジットが堆積することで、低バルブリフト時（ｉｎｌｉｆｔ＜ＬＩＦＴＬ）に他の気筒に比較して＃１気筒に対する吸入空気量が低下した場合を考える。この場合には、＃１気筒での燃焼状態は、点火ＡＴＤＣ０°ＣＡ〜３０°ＣＡまで回転するに要した時間よりも、その後の点火ＡＴＤＣ１８０°ＣＡ〜２１０°ＣＡまで回転するに要した時間に大きく反映する。すなわち点火ＡＴＤＣ１８０°ＣＡ〜２１０°ＣＡまで回転するに要した時間は、より長い時間となり、ｄｌｔ［ｎ］＞ＴＨＬＶＬとなる（Ｓ１０８で「ＹＥＳ」）。このため回転変動が生じているとして、低リフト時判定フラグｅｘｔｄｅｐｏ［ｎ］は「ＯＮ」に設定される（Ｓ１１２）。
【００８６】
ステップＳ１１０又はステップＳ１１２の処理が終了すると、次に気筒番号カウンタｎがインクリメントされる（Ｓ１１４）。すなわち「ｎ＝２」となる。そして再度、「ｎ＞４」か否かが判定される（Ｓ１０６）。
【００８７】
ここで「ｎ＝２」となっているので（Ｓ１０６で「ＮＯ」）、再度、＃２気筒についてｄｌｔ［２］＞ＴＨＬＶＬとなっていれば（Ｓ１０８で「ＹＥＳ」）、ｅｘｔｄｅｐｏ［２］＝「ＯＮ」と設定される（Ｓ１１２）。又、ｄｌｔ［２］≦ＴＨＬＶＬとなっていれば（Ｓ１０８で「ＮＯ」）、ｅｘｔｄｅｐｏ［２］＝「ＯＦＦ」と設定される（Ｓ１１０）。
【００８８】
そして次に気筒番号カウンタｎのインクリメントにより（Ｓ１１４）、「ｎ＝３」となる。したがって、再度、＃３気筒についてｄｌｔ［３］＞ＴＨＬＶＬであれば（Ｓ１０８で「ＹＥＳ」）、ｅｘｔｄｅｐｏ［３］＝「ＯＮ」と設定し（Ｓ１１２）、ｄｌｔ［３］≦ＴＨＬＶＬであれば（Ｓ１０８で「ＮＯ」）、ｅｘｔｄｅｐｏ［３］＝「ＯＦＦ」と設定される（Ｓ１１０）。
【００８９】
そして次に気筒番号カウンタｎのインクリメントにより（Ｓ１１４）、「ｎ＝４」となるので、再度、＃４気筒についても、前述したごとく、ｄｌｔ［４］の判定により（Ｓ１０８）、ｅｘｔｄｅｐｏ［４］＝「ＯＮ」（Ｓ１１２）、又はｅｘｔｄｅｐｏ［４］＝「ＯＦＦ」（Ｓ１１０）に設定される。
【００９０】
そして気筒番号カウンタｎのインクリメントにより（Ｓ１１４）、「ｎ＝５」となるので（Ｓ１０６で「ＹＥＳ」）、図１０に示す回転変動判別処理Ｂの開始設定がなされ、本回転変動判別処理Ａ（図９）の終了設定がなされる（Ｓ１１６）。こうして本回転変動判別処理Ａ（図９）は終了し、代わりに回転変動判別処理Ｂ（図１０）が開始される。
【００９１】
回転変動判別処理Ｂ（図１０）について説明する。本処理が開始されると、まず前記ステップＳ１１６（図９）にて開始設定されてから最初の処理か否かが判定される（Ｓ２０２）。最初であれば（Ｓ２０２で「ＹＥＳ」）、現在のバルブリフト量ｉｎｌｉｆｔをバルブリフト量保持値ｉｎｌｉｆｔｏに格納する（Ｓ２０４）。次に現在のスロットル開度ＴＡの目標値ｔａｎｇｌｔをスロットル開度保持値ｔａｎｇｌｔｏに格納する（Ｓ２０６）。そして図１１に示すバルブリフト量漸増処理の開始設定を行う（Ｓ２０８）。こうして一旦本処理を終了する。
【００９２】
次の制御周期では、最初ではないので（Ｓ２０２で「ＮＯ」）、次にバルブリフト量漸増処理（図１１）の処理が完了したか否かが判定される（Ｓ２１０）。バルブリフト量漸増処理（図１１）の処理が完了しない限り（Ｓ２１０で「ＮＯ」）、回転変動判別処理Ｂ（図１０）にては実質的な処理は実行されない。
【００９３】
ここでステップＳ２０８にて実行開始されるバルブリフト量漸増処理（図１１）について説明する。本処理が開始されると、まずステップＳ２０８にて開始設定されてから最初の処理か否かが判定される（Ｓ３０２）。最初であれば（Ｓ３０２で「ＹＥＳ」）、現在の吸入空気量ＧＡが吸入空気量保持値ｇａｏに格納される（Ｓ３０４）。
【００９４】
そしてバルブリフト量ｉｎｌｉｆｔが、リフトアップ目標値ｉｎｌｉｆｔｕｐ以上か否かが判定される（Ｓ３０６）。このリフトアップ目標値ｉｎｌｉｆｔｕｐは、現在のエンジン回転数ＮＥとエンジン負荷とに基づいてマップから求められている吸気バルブ１２ａ，１２ｂのバルブリフト量を増大するための目標値である。このリフトアップ目標値ｉｎｌｉｆｔｕｐのマップ値は、回転変動へのデポジットの影響がほとんど無視できる程度のバルブリフト量ｉｎｌｉｆｔとなるように、予め実験により設定されている。尚、エンジン負荷は例えばアクセル開度ＡＣＣＰとエンジン回転数ＮＥとに基づいてマップから算出される。
【００９５】
ここで当初はｉｎｌｉｆｔ＜ｉｎｌｉｆｔｕｐであるので（Ｓ３０６で「ＮＯ」）、次式１に示すごとくバルブリフト量ｉｎｌｉｆｔが漸増される（Ｓ３０８）。
【００９６】
【数１】
ｉｎｌｉｆｔ  ←  ｉｎｌｉｆｔ  ＋  ＤＬＬＩＦＴ    …  ［式１］
ここで吸気バルブリフトアップ量ＤＬＬＩＦＴは、バルブリフト量ｉｎｌｉｆｔをステップＳ３０８の実行毎に漸増させるための増加幅を表す値である。尚、実際には前記式１にて算出された新たなバルブリフト量ｉｎｌｉｆｔとなるように、ＯＣＶ１０４が駆動されることで、ステップＳ３０８の実行毎に吸気バルブ１２ａ，１２ｂのバルブリフト量ｉｎｌｉｆｔは吸気バルブリフトアップ量ＤＬＬＩＦＴずつ漸増することになる。こうして一旦本処理を終了する。
【００９７】
次の制御周期では、最初ではないので（Ｓ３０２で「ＮＯ」）、現在の吸入空気量ＧＡが吸入空気量保持値ｇａｏより大きいか否かが判定される（Ｓ３１２）。前回の制御周期にてバルブリフト量ｉｎｌｉｆｔが漸増されているので、ＧＡ＞ｇａｏとなっていることから（Ｓ３１２にて「ＹＥＳ」）、次に次式２に示すごとく、スロットル開度目標値ｔａｎｇｌｔが漸減される（Ｓ３１４）。
【００９８】
【数２】
ｔａｎｇｌｔ  ←  ｔａｎｇｌｔ  −  ＤＴＡ    …  ［式２］
ここでスロットルバルブ開度ダウン量ＤＴＡは、ステップＳ３１４の実行毎にスロットル開度目標値ｔａｎｇｌｔを漸減させるための減少幅を表す値である。このことで前記式２にて算出された新たなスロットル開度目標値ｔａｎｇｌｔとなるように、スロットルモータ４４ｂが駆動されることで、ステップＳ３１４の実行毎にスロットル開度ＴＡはスロットルバルブ開度ダウン量ＤＴＡずつ漸減することになる。こうして一旦本処理を終了する。
【００９９】
次の制御周期では、ステップＳ３０２にて「ＮＯ」と判定された後、ＧＡ＞ｇａｏの状態が継続していれば（Ｓ３１２にて「ＹＥＳ」）、前記式２によるスロットル開度目標値ｔａｎｇｌｔの漸減処理（Ｓ３１４）が繰り返される。
【０１００】
一旦、バルブリフト量ｉｎｌｉｆｔが大きくされたことで増加した吸入空気量ＧＡが、スロットル開度目標値ｔａｎｇｌｔの漸減処理（Ｓ３１４）が繰り返されることにより吸入空気量保持値ｇａｏ以下となると（Ｓ３１２で「ＮＯ」）、次にｉｎｌｉｆｔ≧ｉｎｌｉｆｔｕｐか否かが判定される（Ｓ３０６）。この時もｉｎｌｉｆｔ＜ｉｎｌｉｆｔｕｐであれば（Ｓ３０６で「ＮＯ」）、前記式１のごとくバルブリフト量ｉｎｌｉｆｔが漸増されて（Ｓ３０８）、本処理を一旦終了する。
【０１０１】
したがって再度漸増したバルブリフト量ｉｎｌｉｆｔに対して、前述したごとくＧＡ≦ｇａｏ（Ｓ３１２で「ＮＯ」）となるまで、スロットル開度ＴＡが小さくされる処理（Ｓ３１４）が繰り返される。そして、ＧＡ≦ｇａｏ（Ｓ３１２で「ＮＯ」）となった時点で、まだｉｎｌｉｆｔ＜ｉｎｌｉｆｔｕｐであれば（Ｓ３０６で「ＮＯ」）、バルブリフト量ｉｎｌｉｆｔが漸増されて（Ｓ３０８）、前述した処理が繰り返される。
【０１０２】
そしてＧＡ≦ｇａｏ（Ｓ３１２で「ＮＯ」）となった時点でｉｎｌｉｆｔ≧ｉｎｌｉｆｔｕｐとなっていれば（Ｓ３０６で「ＹＥＳ」）、本バルブリフト量漸増処理（図１１）の終了設定がなされて（Ｓ３１０）、終了する。
【０１０３】
このようにバルブリフト量漸増処理（図１１）が完了することにより前記回転変動判別処理Ｂ（図１０）においては、ステップＳ２１０にて「ＹＥＳ」と判定されるようになる。したがって次に気筒番号カウンタｎに「１」を設定する（Ｓ２１２）。そして気筒番号カウンタｎが「４」を越えているか否かが判定される（Ｓ２１４）。ここで最初はｎ＝１であることから（Ｓ２１４で「ＮＯ」）、まず前記回転変動判別処理Ａ（図９）にて設定した低リフト時判定フラグｅｘｔｄｅｐｏ［ｎ］が「ＯＮ」か否かが判定される（Ｓ２１６）。
【０１０４】
ｅｘｔｄｅｐｏ［ｎ］＝「ＯＦＦ」であれば（Ｓ２１６で「ＮＯ」）、気筒番号カウンタｎをインクリメントして、ｎ≦４であれば（Ｓ２１４で「ＮＯ」）、再度、ｅｘｔｄｅｐｏ［ｎ］＝「ＯＮ」か否かが判定される（Ｓ２１６）。
【０１０５】
以後、ｅｘｔｄｅｐｏ［２］、ｅｘｔｄｅｐｏ［３］、ｅｘｔｄｅｐｏ［４］が全て「ＯＦＦ」であれば、ステップＳ２２８にてｎ＝５にインクリメントされた後、ステップＳ２１４にて「ＹＥＳ」と判定される。そして図１２に示す回転変動判別処理Ｃの開始が設定され本回転変動判別処理Ｂ（図１０）の終了が設定されて（Ｓ２３０）、終了する。
【０１０６】
一方、ｅｘｔｄｅｐｏ［ｎ］＝「ＯＮ」であれば（Ｓ２１６で「ＹＥＳ」）、次に前述したバルブリフト量漸増処理（図１１）によりリフトアップ目標値ｉｎｌｉｆｔｕｐ以上となったバルブリフト状態での回転変動反映値ｄｌｔ［ｎ］が回転変動判定値ＴＨＬＶＬを越えているか否かが判定される（Ｓ２１８）。
【０１０７】
ｄｌｔ［ｎ］≦ＴＨＬＶＬであれば（Ｓ２１８で「ＮＯ」）、デポジット付着フラグｅｘｄｅｐｏ［ｎ］に「ＯＮ」を設定する（Ｓ２２６）。すなわち低リフト時判定フラグｅｘｔｄｅｐｏ［ｎ］＝「ＯＮ」であるにもかかわらず、高リフト時の回転変動反映値ｄｌｔ［ｎ］が回転変動判定値ＴＨＬＶＬ以下となっている。このため、燃料噴射弁２０における燃料噴射誤差ではなく、吸気バルブ１２ａ，１２ｂや吸気ポート１４ａ，１４ｂにデポジットが堆積していることが判明するので、ｅｘｄｅｐｏ［ｎ］＝「ＯＮ」と設定する。
【０１０８】
一方、ｄｌｔ［ｎ］＞ＴＨＬＶＬであれば（Ｓ２１８で「ＹＥＳ」）、低リフト時判定フラグｅｘｔｄｅｐｏ［ｎ］を「ＯＦＦ」に設定し（Ｓ２２０）、デポジット付着フラグｅｘｄｅｐｏ［ｎ］に「ＯＦＦ」を設定する（Ｓ２２２）。そして、燃料起因回転変動フラグｅｘｉｎｊ［ｎ］に「ＯＮ」を設定する（Ｓ２２４）。
【０１０９】
ステップＳ２２６又はステップＳ２２４の次には、気筒番号カウンタｎがインクリメントされて、ｎ≦４である限り（Ｓ２１４で「ＮＯ」）、前述した処理が繰り返される。そしてステップＳ２２８にてｎ＝５にインクリメントされた後、ステップＳ２１４にて「ＹＥＳ」と判定されると、図１２に示す回転変動判別処理Ｃの開始が設定され本回転変動判別処理Ｂ（図１０）の終了が設定されて（Ｓ２３０）、終了する。
【０１１０】
回転変動判別処理Ｃ（図１２）について説明する。本処理が開始されると、まず最初か否かが判定される（Ｓ４０２）。最初であれば（Ｓ４０２で「ＹＥＳ」）、図１３に示すバルブリフト量復帰処理の開始設定がなされて（Ｓ４０４）、一旦本処理を終了する。
【０１１１】
次の制御周期では、最初ではないので（Ｓ４０２で「ＮＯ」）、次にバルブリフト量復帰処理（図１３）の処理が完了したか否かが判定される（Ｓ４０６）。バルブリフト量復帰処理（図１３）の処理が完了しない限り（Ｓ４０６で「ＮＯ」）、回転変動判別処理Ｃ（図１２）にては実質的な処理は実行されない。
【０１１２】
ここでステップＳ４０４にて実行開始されるバルブリフト量復帰処理（図１３）について説明する。本処理が開始されると、まずステップＳ４０４にて開始設定されてから最初の処理か否かが判定される（Ｓ５０２）。最初であれば（Ｓ５０２で「ＹＥＳ」）、現在の吸入空気量ＧＡが吸入空気量保持値ｇａｏに格納される（Ｓ５０４）。
【０１１３】
そしてバルブリフト量ｉｎｌｉｆｔが、バルブリフト量保持値ｉｎｌｉｆｔｏ以下か否かが判定される（Ｓ５０６）。このバルブリフト量保持値ｉｎｌｉｆｔｏは、回転変動判別処理Ｂ（図１０）のステップＳ２０４にてバルブリフト量漸増直前に記憶されたバルブリフト量である。
【０１１４】
ここで当初はｉｎｌｉｆｔ＞ｉｎｌｉｆｔｏであるので（Ｓ５０６で「ＮＯ」）、次式３に示すごとくバルブリフト量ｉｎｌｉｆｔが漸減される（Ｓ５０８）。
【０１１５】
【数３】
ｉｎｌｉｆｔ  ←  ｉｎｌｉｆｔ  −  ＤＬＬＩＦＴ    …  ［式３］
ここで値ＤＬＬＩＦＴは、前記バルブリフト量漸増処理（図１１）のステップＳ３０８にてバルブリフト量ｉｎｌｉｆｔを漸増させるために用いられた吸気バルブリフトアップ量ＤＬＬＩＦＴと同じである。尚、吸気バルブリフトアップ量ＤＬＬＩＦＴと異なる値を用いてバルブリフト量ｉｎｌｉｆｔを漸減しても良い。
【０１１６】
このことにより前記式３にて算出された新たなバルブリフト量ｉｎｌｉｆｔとなるように、ＯＣＶ１０４が駆動されることで、ステップＳ５０８の実行毎にバルブリフト量ｉｎｌｉｆｔは値ＤＬＬＩＦＴずつ減少することになる。こうして一旦本処理を終了する。
【０１１７】
次の制御周期では、最初でないので（Ｓ５０２で「ＮＯ」）、現在の吸入空気量ＧＡが吸入空気量保持値ｇａｏ未満か否かが判定される（Ｓ５１６）。前回の制御周期にてバルブリフト量ｉｎｌｉｆｔが漸減されているので、ＧＡ＜ｇａｏとなっていることから（Ｓ５１６にて「ＹＥＳ」）、次に次式４に示すごとく、スロットル開度目標値ｔａｎｇｌｔが漸増される（Ｓ５１８）。
【０１１８】
【数４】
ｔａｎｇｌｔ  ←  ｔａｎｇｌｔ  ＋  ＤＴＡ    …  ［式４］
ここで値ＤＴＡは、前記バルブリフト量漸増処理（図１１）のステップＳ３１４のスロットルバルブ開度ダウン量ＤＴＡと同じ値である。尚、スロットルバルブ開度ダウン量ＤＴＡとは異なる値を用いても良い。
【０１１９】
このことで前記式４にて算出された新たなスロットル開度目標値ｔａｎｇｌｔとなるように、スロットルモータ４４ｂが駆動されることで、ステップＳ５１８の実行毎にスロットル開度ＴＡは値ＤＴＡずつ増加することになる。こうして一旦本処理を終了する。
【０１２０】
次の制御周期では、ステップＳ５０２にて「ＮＯ」と判定された後、ＧＡ＜ｇａｏの状態が継続していれば（Ｓ５１６にて「ＹＥＳ」）、前記式４によるスロットル開度目標値ｔａｎｇｌｔの漸増処理（Ｓ５１８）が繰り返される。
【０１２１】
制御周期毎にスロットル開度目標値ｔａｎｇｌｔの漸増処理（Ｓ５１８）が繰り返されることにより、一旦、バルブリフト量ｉｎｌｉｆｔが小さくされたことにより減少した吸入空気量ＧＡが吸入空気量保持値ｇａｏ以上となる（Ｓ５１６で「ＮＯ」）。すると次にｉｎｌｉｆｔ≦ｉｎｌｉｆｔｏか否かが判定される（Ｓ５０６）。ここで、まだｉｎｌｉｆｔ＞ｉｎｌｉｆｔｏであれば（Ｓ５０６で「ＮＯ」）、前記式３のごとくバルブリフト量ｉｎｌｉｆｔが漸減されて（Ｓ５０８）、本処理を一旦終了する。
【０１２２】
したがって再度漸減したバルブリフト量ｉｎｌｉｆｔに対して、前述したごとくＧＡ≧ｇａｏ（Ｓ５１６で「ＮＯ」）となるまで、スロットル開度ＴＡが大きくされる処理（Ｓ５１８）が繰り返される。そして、ＧＡ≧ｇａｏ（Ｓ５１６で「ＮＯ」）となった時点で、まだｉｎｌｉｆｔ＞ｉｎｌｉｆｔｏであれば（Ｓ５０６で「ＮＯ」）、バルブリフト量ｉｎｌｉｆｔが漸減されて（Ｓ５０８）、前述した処理が繰り返される。
【０１２３】
そしてＧＡ≧ｇａｏ（Ｓ５１６で「ＮＯ」）となった時点でｉｎｌｉｆｔ≦ｉｎｌｉｆｔｏとなっていれば（Ｓ５０６で「ＹＥＳ」）、バルブリフト量ｉｎｌｉｆｔにはバルブリフト量保持値ｉｎｌｉｆｔｏが設定される（Ｓ５１０）。そしてスロットル開度目標値ｔａｎｇｌｔにはスロットル開度保持値ｔａｎｇｌｔｏが設定される（Ｓ５１２）。そして本バルブリフト量復帰処理（図１３）の終了設定がなされて（Ｓ５１４）、終了する。
【０１２４】
このことにより回転変動判別処理Ｃ（図１２）においては、ステップＳ４０６にて「ＹＥＳ」と判定されるようになる。そして次に４気筒の全てのデポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］が「ＯＦＦ」か否かが判定される（Ｓ４０８）。
【０１２５】
ここでデポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］が全て「ＯＦＦ」であれば（Ｓ４０８で「ＹＥＳ」）、次に４気筒の全ての燃料起因回転変動フラグｅｘｉｎｊ［１］〜ｅｘｉｎｊ［４］が「ＯＦＦ」か否かが判定される（Ｓ４１０）。
【０１２６】
燃料起因回転変動フラグｅｘｉｎｊ［１］〜ｅｘｉｎｊ［４］が全て「ＯＦＦ」であれば（Ｓ４１０で「ＹＥＳ」）、前述した回転変動判別処理Ａ（図９）の開始設定がなされ本回転変動判別処理Ｃ（図１２）の終了設定がなされる（Ｓ４２０）。こうして回転変動判別処理Ｃ（図１２）が終了し、回転変動判別処理Ａ（図９）の処理が再開されて、最初の状態に戻ることになる。
【０１２７】
一方、デポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］の１つでも「ＯＮ」であれば（Ｓ４０８で「ＮＯ」）、デポジット付着状態であると判定できるので、回転変動判別処理Ｃ（図１２）の開始後、デポジット除去処理が未実行であるか否かが判定される（Ｓ４１３）。最初は未実行であることから（Ｓ４１３で「ＹＥＳ」）、デポジット除去処理の実行開始が設定される（Ｓ４１４）。
【０１２８】
このデポジット除去処理はＥＣＵ６４により次のように行われる。すなわち燃料噴射時期を一時的に吸気行程の終期に設定する。この吸気行程の終期は、ピストン６がＢＤＣに一旦降下してから上昇し始めた状態となるタイミングであり、吸気バルブ１２ａ，１２ｂの閉弁直前のタイミングにて燃料が噴射されることになる。このことにより各燃焼室１０内を流動する混合気の一部が、いまだ開放している吸気バルブ１２ａ，１２ｂと吸気ポート１４ａ，１４ｂとの間隙に吹き返し、そして反転して燃焼室１０に押し戻されるように流動することになる。このような混合気の流れにより、吸気バルブ１２ａ，１２ｂや吸気ポート１４ａ，１４ｂに付着しているデポジットが洗浄されて除去される。このような燃料噴射タイミングの変更が、予め決められたエンジン累積回転数のカウント完了まで実行されと、デポジット除去処理は完了し、通常時の燃料噴射時期に戻される。
【０１２９】
ステップＳ４１４にてデポジット除去処理が開始設定されれば、次にデポジット除去処理が完了したか否かが判定される（Ｓ４１６）。デポジット除去処理が完了していなければ（Ｓ４１６で「ＮＯ」）、一旦本処理を終了する。
【０１３０】
そして以後の制御周期では、デポジット除去処理が完了しない限り、ステップＳ４０２で「ＮＯ」、ステップＳ４０６で「ＹＥＳ」、ステップＳ４０８で「ＮＯ」と判定された後、デポジット除去処理実行中であるので（Ｓ４１３で「ＮＯ」、Ｓ４１６で「ＮＯ」）、このまま一旦本処理を終了することになる。
【０１３１】
そしてデポジット除去処理が完了すると（Ｓ４１６で「ＹＥＳ」）、次に４気筒全てのデポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］に「ＯＦＦ」を設定する（Ｓ４１８）。
【０１３２】
次に前述した回転変動判別処理Ａ（図９）の開始設定がなされ本回転変動判別処理Ｃ（図１２）の終了設定がなされる（Ｓ４２０）。こうして回転変動判別処理Ｃ（図１２）を終了すると、回転変動判別処理Ａ（図９）の処理が再開されて元の状態に戻る。
【０１３３】
一方、デポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］は全て「ＯＦＦ」であるが（Ｓ４０８で「ＹＥＳ」）、燃料起因回転変動フラグｅｘｉｎｊ［１］〜ｅｘｉｎｊ［４］の１つでも「ＯＮ」が存在した場合には（Ｓ４１０で「ＮＯ」）、ステップＳ４１２の処理が行われる。ステップＳ４１２では、図１４に示す回転変動判別処理Ｄが開始設定され、本回転変動判別処理Ｃ（図１２）が終了設定される。
【０１３４】
次に回転変動判別処理Ｄ（図１４）について説明する。まず最初か否かが判定される（Ｓ６０２）。最初であれば（Ｓ６０２で「ＹＥＳ」）、気筒番号カウンタｎに「１」が設定される（Ｓ６０４）。
【０１３５】
そして燃料起因回転変動フラグｅｘｉｎｊ［ｎ］が「ＯＮ」か否かが判定される（Ｓ６０６）。ｅｘｉｎｊ［ｎ］＝「ＯＦＦ」であれば（Ｓ６０６で「ＮＯ」）、気筒番号カウンタｎ＝４か否かが判定される（Ｓ６２４）。そして「ｎ≠４」であれば（Ｓ６２４で「ＮＯ」）、気筒番号カウンタｎをインクリメントして（Ｓ６２６）、一旦本処理を終了する。
【０１３６】
一方、ｅｘｉｎｊ［ｎ］＝「ＯＮ」であれば（Ｓ６０６で「ＹＥＳ」）、＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］が回転変動判別処理Ｄにおいて未増加であるか否かが判定される（Ｓ６０８）。最初は未増加であるので（Ｓ６０８で「ＹＥＳ」）、回転変動反映値ｄｌｔ［ｎ］を変動保持値ｏｄｌｔ［ｎ］に設定する（Ｓ６１０）。そして＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］を次式５に示すごとく一時的に増加させる（Ｓ６１２）。
【０１３７】
【数５】
ｑｃａｌ［ｎ］  ←  ｑｃａｌ［ｎ］  ＋  ＤＱ１    …  ［式５］
第１燃料噴射増減量ＤＱ１は燃料噴射に起因した燃焼状態判定用に設定されている燃料噴射量増減量である。
【０１３８】
次に新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されたか否かが判定される（Ｓ６１４）。未だ算出されていなければ（Ｓ６１４で「ＮＯ」）、一旦本処理を終了する。
【０１３９】
次の制御周期では、ステップＳ６０２で「ＮＯ」、ステップＳ６０６で「ＹＥＳ」、そしてステップＳ６０８では、既に＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］は増加されたので「ＮＯ」と判定されて、ステップＳ６１４の判定がなされる。しかし新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されていない間は（Ｓ６１４で「ＮＯ」）、一旦本処理を終了する。
【０１４０】
そして新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されると（Ｓ６１４で「ＹＥＳ」）、次にこの回転変動反映値ｄｌｔ［ｎ］が変動保持値ｏｄｌｔ［ｎ］より小さいか否かが判定される（Ｓ６１６）。
【０１４１】
ｏｄｌｔ［ｎ］＞ｄｌｔ［ｎ］であれば（Ｓ６１６で「ＹＥＳ」）、＃ｎ気筒の燃料噴射弁２０は、指令よりも少ない燃料を噴射するリーン異常であるとしてリーン異常フラグｅｘｉｎｊｌｅａｎ［ｎ］に「ＯＮ」を設定する（Ｓ６１８）。
【０１４２】
一方、ｏｄｌｔ［ｎ］≦ｄｌｔ［ｎ］であれば（Ｓ６１６で「ＮＯ」）、＃ｎ気筒の燃料噴射弁２０はリーン異常ではないとしてリーン異常フラグｅｘｉｎｊｌｅａｎ［ｎ］に「ＯＦＦ」を設定する（Ｓ６２０）。
【０１４３】
ステップＳ６１８又はステップＳ６２０の次には、次式６により＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］を元に戻す（Ｓ６２２）。
【０１４４】
【数６】
ｑｃａｌ［ｎ］  ←  ｑｃａｌ［ｎ］  −  ＤＱ１    …  ［式６］
そして気筒番号カウンタｎ＝４か否かが判定される（Ｓ６２４）。ここで「ｎ＜４」であれば（Ｓ６２４で「ＮＯ」）、気筒番号カウンタｎをインクリメントして（Ｓ６２６）、一旦本処理を終了する。
【０１４５】
そして次の制御周期では、新たな気筒に対する判別処理が、上述したごとく実行される。
このことにより＃１〜＃４までの全ての気筒について上述した処理が実行されるとｎ＝４となるので（Ｓ６２４で「ＹＥＳ」）、図１５，１６，１７に示す回転変動判別処理Ｅが開始設定され、本回転変動判別処理Ｄ（図１４）が終了設定される（Ｓ６２８）。こうして本処理を終了する。
【０１４６】
次に回転変動判別処理Ｅ（図１５，１６，１７）について説明する。本処理が開始されると、まず最初か否かが判定される（Ｓ７０２）。最初であれば（Ｓ７０２で「ＹＥＳ」）、気筒番号カウンタｎに「１」が設定される（Ｓ７０４）。
【０１４７】
そして燃料起因回転変動フラグｅｘｉｎｊ［ｎ］が「ＯＮ」か否かが判定される（Ｓ７０６）。ｅｘｉｎｊ［ｎ］＝「ＯＦＦ」であれば（Ｓ７０６で「ＮＯ」）、気筒番号カウンタｎ＝４か否かが判定される（Ｓ７２４）。そして「ｎ≠４」であれば（Ｓ７２４で「ＮＯ」）、気筒番号カウンタｎをインクリメントして（Ｓ７２６）、一旦本処理を終了する。
【０１４８】
一方、ｅｘｉｎｊ［ｎ］＝「ＯＮ」であれば（Ｓ７０６で「ＹＥＳ」）、リーン異常フラグｅｘｉｎｊｌｅａｎ［ｎ］が「ＯＦＦ」か否かが判定される（Ｓ７０８）。ここでｅｘｉｎｊｌｅａｎ［ｎ］が「ＯＦＦ」であれば（Ｓ７０８で「ＹＥＳ」）、＃ｎ気筒の燃料噴射弁２０は、指令よりも燃料噴射量が過剰なリッチ異常であると判定されるので、次に＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］が回転変動判別処理Ｅにおいて未減少か否かが判定される（Ｓ７０９）。最初は未減少であるので（Ｓ７０９で「ＹＥＳ」）、回転変動反映値ｄｌｔ［ｎ］を変動保持値ｏｄｌｔ［ｎ］に設定する（Ｓ７１０）。そして＃ｎの燃料噴射量ｑｃａｌ［ｎ］を次式７に示すごとく減少させる（Ｓ７１２）。
【０１４９】
【数７】
ｑｃａｌ［ｎ］  ←  ｑｃａｌ［ｎ］  −  ＤＱ２    …  ［式７］
第２燃料噴射増減量ＤＱ２は、リッチ異常である＃ｎ気筒の燃料噴射量を抑制するために設定された燃料噴射量減量補正値であり、第１燃料噴射増減量ＤＱ１に対しては、ＤＱ２＜ＤＱ１の関係にある。
【０１５０】
そして新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されたか否かが判定される（Ｓ７１４）。未だ算出されていなければ（Ｓ７１４で「ＮＯ」）、一旦本処理を終了する。
【０１５１】
次の制御周期では、ステップＳ７０２で「ＮＯ」、ステップＳ７０６で「ＹＥＳ」、ステップＳ７０８で「ＹＥＳ」、そしてステップＳ７０９では、既に＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］は減少されたので「ＮＯ」と判定されて、ステップＳ７１４の判定がなされる。しかし新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されていない間は（Ｓ７１４で「ＮＯ」）、一旦本処理を終了する。
【０１５２】
そして新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されると（Ｓ７１４で「ＹＥＳ」）、次にこの回転変動反映値ｄｌｔ［ｎ］が変動保持値ｏｄｌｔ［ｎ］より小さいか否かが判定される（Ｓ７１６）。
【０１５３】
ｏｄｌｔ［ｎ］＞ｄｌｔ［ｎ］であれば（Ｓ７１６で「ＹＥＳ」）、次に回転変動反映値ｄｌｔ［ｎ］が燃料補正用回転変動レベルＴＬＬＶＬ以下か否かが判定される（Ｓ７１８）。ここで燃料補正用回転変動レベルＴＬＬＶＬは、燃料減量補正により回転変動が低下したことを判定するためのレベルである。
【０１５４】
ｄｌｔ［ｎ］＞ＴＬＬＶＬであれば（Ｓ７１８で「ＮＯ」）、ｑｃａｌ［ｎ］の減少完了フラグを「ＯＦＦ」にして（Ｓ７１９）、すなわち前記ステップＳ７０９にて「ＹＥＳ」と判定されるようにして、本処理を一旦終了する。
【０１５５】
次の制御周期では、ステップＳ７０２で「ＮＯ」、ステップＳ７０６で「ＹＥＳ」、ステップＳ７０８で「ＹＥＳ」、そしてステップＳ７０９では、直前の制御周期のステップＳ７１９にて＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］は未減少状態と判定されるように設定されたので、「ＹＥＳ」と判定される。したがって新たに回転変動反映値ｄｌｔ［ｎ］を変動保持値ｏｄｌｔ［ｎ］に設定し（Ｓ７１０）、＃ｎの燃料噴射量ｑｃａｌ［ｎ］を前記式７に示したごとく減少させる（Ｓ７１２）。
【０１５６】
そして次に新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されていなければ（Ｓ７１４で「ＮＯ」）、一旦本処理を終了する。
【０１５７】
新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されると（Ｓ７１４で「ＹＥＳ」）、前述したｏｄｌｔ［ｎ］＞ｄｌｔ［ｎ］か否かの判定（Ｓ７１６）が行われ、「ＹＥＳ」であればｄｌｔ［ｎ］≦ＴＬＬＶＬの判定（Ｓ７１８）が行われる。そして再度ｄｌｔ［ｎ］＞ＴＬＬＶＬであれば（Ｓ７１８で「ＮＯ」）、前記ステップＳ７０９にて「ＹＥＳ」と判定されるようにして（Ｓ７１９）、本処理を一旦終了する。
【０１５８】
以後、ステップＳ７１６にて「ＮＯ」又はステップＳ７１８にて「ＹＥＳ」と判定されるまで、燃料噴射量ｑｃａｌ［ｎ］を第２燃料噴射増減量ＤＱ２分ずつ減少する処理（Ｓ７１２）が繰り返される。
【０１５９】
この結果、回転変動が逆転あるいは変化しなくなってｏｄｌｔ［ｎ］≦ｄｌｔ［ｎ］となると（Ｓ７１６で「ＮＯ」）、燃料噴射量ｑｃａｌ［ｎ］が次式８に示すごとく、第２燃料噴射増減量ＤＱ２分、１回増加されて値が戻される（Ｓ７２０）。
【０１６０】
【数８】
ｑｃａｌ［ｎ］  ←  ｑｃａｌ［ｎ］  ＋  ＤＱ２    …  ［式８］
そして燃料起因回転変動フラグｅｘｉｎｊ［ｎ］に「ＯＦＦ」が設定される（Ｓ７２２）。
【０１６１】
又、ｄｌｔ［ｎ］≦ＴＬＬＶＬとなった場合には（Ｓ７１８で「ＹＥＳ」）、直ちに燃料起因回転変動フラグｅｘｉｎｊ［ｎ］に「ＯＦＦ」が設定される（Ｓ７２２）。
【０１６２】
そして、ｎ＝４か否かが判定される（Ｓ７２４）。ここで、まだｎ＜４であれば（Ｓ７２４で「ＮＯ」）、気筒番号カウンタｎをインクリメントして（Ｓ７２６）、一旦本処理を終了する。
【０１６３】
このようにして燃料噴射量ｑｃａｌ［ｎ］が減少された場合には、該当する＃ｎ気筒の燃料噴射弁２０における、以後の燃料噴射においては、基準燃料量に対して、前記減少分の補正がなされるようになる。
【０１６４】
一方、ｅｘｉｎｊｌｅａｎ［ｎ］＝「ＯＮ」の場合（Ｓ７０８で「ＮＯ」）を説明する。この場合には、＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］が回転変動判別処理Ｅにおいて未増加か否かが判定される（Ｓ７２９）。
【０１６５】
最初は未増加であるので（Ｓ７２９で「ＹＥＳ」）、回転変動反映値ｄｌｔ［ｎ］を変動保持値ｏｄｌｔ［ｎ］に設定する（Ｓ７３０）。そして＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］を次式９に示すごとく増加させる（Ｓ７３２）。
【０１６６】
【数９】
ｑｃａｌ［ｎ］  ←  ｑｃａｌ［ｎ］  ＋  ＤＱ２    …  ［式９］
第２燃料噴射増減量ＤＱ２は、前記式７と同じものを用いているが、ここではリーン異常の＃ｎ気筒について燃料噴射量を増加するために用いている。ＤＱ２＜ＤＱ１であれば前記式７とは異なる値でも良い。
【０１６７】
そして新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されたか否かが判定される（Ｓ７３４）。未だ算出されていなければ（Ｓ７３４で「ＮＯ」）、一旦本処理を終了する。
【０１６８】
次の制御周期では、ステップＳ７０２で「ＮＯ」、ステップＳ７０６で「ＹＥＳ」、ステップＳ７０８で「ＮＯ」、そしてステップＳ７２９では、既に＃ｎの燃料噴射量ｑｃａｌ［ｎ］は増加されたので「ＮＯ」と判定されて、ステップＳ７３４の判定がなされる。しかし、新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されていない間は（Ｓ７３４で「ＮＯ」）、一旦本処理を終了する。
【０１６９】
そして新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されると（Ｓ７３４で「ＹＥＳ」）、次にこの回転変動反映値ｄｌｔ［ｎ］が変動保持値ｏｄｌｔ［ｎ］より小さいか否かが判定される（Ｓ７３６）。
【０１７０】
ｏｄｌｔ［ｎ］＞ｄｌｔ［ｎ］であれば（Ｓ７３６で「ＹＥＳ」）、次に回転変動反映値ｄｌｔ［ｎ］が燃料補正用回転変動レベルＴＬＬＶＬ以下か否かが判定される（Ｓ７３８）。ここで燃料補正用回転変動レベルＴＬＬＶＬは、前記ステップＳ７１８と同様に用いられるものであり、ステップＳ７１８と同一の値を用いても良いし、異なる値を用いても良い。
【０１７１】
ｄｌｔ［ｎ］＞ＴＬＬＶＬであれば（Ｓ７３８で「ＮＯ」）、ｑｃａｌ［ｎ］の増加完了フラグを「ＯＦＦ」にして（Ｓ７３９）、すなわち前記ステップＳ７２９にて「ＹＥＳ」と判定されるようにして、本処理を一旦終了する。
【０１７２】
次の制御周期では、ステップＳ７０２で「ＮＯ」、ステップＳ７０６で「ＹＥＳ」、ステップＳ７０８で「ＮＯ」、そしてステップＳ７２９では、直前の制御周期のステップＳ７３９にて＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］は未増加状態と判定されるように設定されたので「ＹＥＳ」と判定される。したがって新たに、回転変動反映値ｄｌｔ［ｎ］を変動保持値ｏｄｌｔ［ｎ］に設定し（Ｓ７３０）、＃ｎ気筒の燃料噴射量ｑｃａｌ［ｎ］を前記式９に示したごとく増加させる（Ｓ７３２）。
【０１７３】
そして次に新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されていなければ（Ｓ７３４で「ＮＯ」）、一旦本処理を終了する。
【０１７４】
新たな燃料噴射量ｑｃａｌ［ｎ］での燃焼による回転変動反映値ｄｌｔ［ｎ］が算出されると（Ｓ７３４で「ＹＥＳ」）、前述したｏｄｌｔ［ｎ］＞ｄｌｔ［ｎ］か否かの判定（Ｓ７３６）が行われ、「ＹＥＳ」であればｄｌｔ［ｎ］≦ＴＬＬＶＬの判定（Ｓ７３８）が行われる。そして再度ｄｌｔ［ｎ］＞ＴＬＬＶＬであれば（Ｓ７３８で「ＮＯ」）、前記ステップＳ７２９にて「ＹＥＳ」と判定されるようにして（Ｓ７３９）、本処理を一旦終了する。
【０１７５】
以後、ステップＳ７３６にて「ＮＯ」又はステップＳ７３８にて「ＹＥＳ」と判定されるまで、燃料噴射量ｑｃａｌ［ｎ］を第２燃料噴射増減量ＤＱ２分ずつ増加する処理（Ｓ７３２）が繰り返される。
【０１７６】
この結果、回転変動が逆転あるいは変化しなくなってｏｄｌｔ［ｎ］≦ｄｌｔ［ｎ］となると（Ｓ７３６で「ＮＯ」）、燃料噴射量ｑｃａｌ［ｎ］が次式１０に示すごとく、第２燃料噴射増減量ＤＱ２分、１回減少されて値が戻される（Ｓ７４０）。
【０１７７】
【数１０】
ｑｃａｌ［ｎ］  ←  ｑｃａｌ［ｎ］  −  ＤＱ２    …  ［式１０］
そして燃料起因回転変動フラグｅｘｉｎｊ［ｎ］に「ＯＦＦ」が設定される（Ｓ７２２）。
【０１７８】
又、ｄｌｔ［ｎ］≦ＴＬＬＶＬとなった場合には（Ｓ７３８で「ＹＥＳ」）、直ちに燃料起因回転変動フラグｅｘｉｎｊ［ｎ］に「ＯＦＦ」が設定される（Ｓ７２２）。
【０１７９】
そして、ｎ＝４か否かが判定される（Ｓ７２４）。ここで、まだｎ＜４であれば（Ｓ７２４で「ＮＯ」）、気筒番号カウンタｎをインクリメントして（Ｓ７２６）、一旦本処理を終了する。
【０１８０】
次の制御周期以降は、新たな＃ｎ気筒について上述した処理が実行される。そして＃４気筒の処理が終了して「ｎ＝４」となれば（Ｓ７２４で「ＹＥＳ」）、図９にて説明した回転変動判別処理Ａが開始設定され、本回転変動判別処理Ｅ（図１５，１６，１７）が終了設定される（Ｓ７２８）。こうして本処理を終了する。
【０１８１】
このようにして燃料噴射量ｑｃａｌ［ｎ］が増加された場合には、該当する＃ｎ気筒の燃料噴射弁２０における、以後の燃料噴射においては、基準燃料量に対して、前記増加分の補正がなされるようになる。
【０１８２】
以後、前述したごとく回転変動判別処理Ａ（図９）の処理が再開され、元の状態に戻る。
上述した実施の形態１において、回転変動反映値ｄｌｔ［１］〜ｄｌｔ［４］を算出する処理が機関回転変動検出手段としての処理に相当する。回転変動判別処理Ａ〜回転変動判別処理Ｃ（図９，１０，１２）、バルブリフト漸増処理（図１１）及びバルブリフト量復帰処理（図１３）が機関回転変動判別手段としての処理に相当する。吸気カム５０を含む吸気カムシャフト４８、仲介駆動機構１００及びローラロッカーアーム５２からなる可変動弁機構が吸入空気量調節手段に相当する。ステップＳ４１４にて実行設定されるデポジット除去処理がデポジット除去手段としての処理に相当する。
【０１８３】
以上説明した本実施の形態１によれば、以下の効果が得られる。
（イ）．吸気バルブ１２ａ，１２ｂと吸気ポート１４ａ，１４ｂとの間を通過する吸入空気流量の気筒間のばらつきは、吸気バルブ１２ａ，１２ｂのバルブリフト量が小さい側では、エンジン回転変動要因として大きな割合を占める。しかし、吸気バルブ１２ａ，１２ｂのバルブリフト量が大きい側では、エンジン回転変動要因としての割合は小さいものとなる。
【０１８４】
一方、気筒間の燃料噴射量や霧化のばらつき等の燃料噴射に起因するエンジン回転変動は、吸気バルブ１２ａ，１２ｂのバルブリフト量が小さい側でも大きい側でも回転変動要因として占める割合に大きな差は生じない。
【０１８５】
このように、吸気バルブ１２ａ，１２ｂと吸気ポート１４ａ，１４ｂとの間を通過する空気流量のばらつきに起因するエンジン回転変動と、燃料噴射に起因するエンジン回転変動とは、吸気バルブ１２ａ，１２ｂのバルブリフト量の違いに対して異なる挙動を示す。このため前述した回転変動判別処理Ａ〜回転変動判別処理Ｃの処理により、吸気バルブ１２ａ，１２ｂと吸気ポート１４ａ，１４ｂとの間を通過する吸入空気流量の気筒間のばらつきに起因するエンジン回転変動と、燃料噴射弁２０による燃料噴射量や霧化のばらつきに起因するエンジン回転変動とを判別できる。
【０１８６】
（ロ）．本実施の形態では、吸入空気量の調節のために、可変動弁機構により吸気バルブ１２ａ，１２ｂのバルブリフト量を制御している。回転変動判別処理Ａ〜回転変動判別処理Ｃでは、この可変動弁機構による吸気バルブ１２ａ，１２ｂのバルブリフト量変更を利用することで、このバルブリフト量の変更に伴って生じたエンジン２の回転変動変化に基づいて多気筒内燃機関回転変動因子を判別することができる。
【０１８７】
（ハ）．回転変動判別処理Ａ〜回転変動判別処理Ｃの処理は、バルブリフト量が基準範囲（軽負荷の範囲）に存在すると判定された場合（図９：Ｓ１０２で「ＹＥＳ」）に開始されている。
【０１８８】
このことにより多気筒内燃機関回転変動因子を判別するに適切なバルブリフト量にて判別処理を開始でき、高精度な判別を行うことができる。
（ニ）．バルブリフト量が基準範囲に入ると、回転変動判別処理Ａ〜回転変動判別処理Ｃでは、可変動弁機構を駆動して２種類のバルブリフト量を実現させている。このことで迅速に異なるバルブリフト量が実現でき、各バルブリフト量にてエンジンの回転変動を比較することで、早期に多気筒内燃機関回転変動因子を判別することができる。
【０１８９】
（ホ）．回転変動判別処理Ａ〜回転変動判別処理Ｃの処理では、判別処理のために可変動弁機構を駆動してバルブリフト量を増加変更させた場合には、スロットルバルブ４４を閉じ側に変化させることにより、吸入空気量を機関運転の要求量に対応したものとしている。このため多気筒内燃機関回転変動因子を判別するためにバルブリフト量を変更しても、エンジン２の運転状態変更を抑制することができ、高精度に多気筒内燃機関回転変動因子を判別することができる。
【０１９０】
（ヘ）．（イ）に述べたごとくの多気筒内燃機関回転変動因子の判別ができることにより、デポジット付着時にはデポジット除去処理を実行して、燃焼室１０内の燃焼前の混合気を吸気ポート１４ａ，１４ｂへ逆流させてデポジットを洗浄させることができる。このことでデポジット付着に起因するエンジン回転変動を解消させることができる。
【０１９１】
（ト）．回転変動判別処理Ａ〜回転変動判別処理Ｃが終了した後は、燃料噴射状態に誤差がある燃料噴射弁２０について、回転変動判別処理Ｄ及び回転変動判別処理Ｅにより、誤差を解消するのに適切な燃料噴射量を求めている。このことにより、以後の燃料噴射においてはリッチ異常の燃料噴射弁２０の場合には燃料噴射量を減量させ、リーン異常の燃料噴射弁２０の場合には燃料噴射量を増量させるようにしている。
【０１９２】
したがって燃料噴射弁２０間の燃料噴射状態誤差においても適切に補正されることにより、エンジン回転変動を抑制するようにできる。
［実施の形態２］
本実施の形態では、回転変動判別処理Ｃ（図１２）の代わりに、図１９，２０に示す回転変動判別処理Ｃを実行する。これ以外の構成は前記実施の形態１と同じである。尚、図１９，２０においては、前記図１２と同一の処理については、同一のステップ番号で示している。
【０１９３】
この回転変動判別処理Ｃ（図１９，２０）が前記図１２と異なるのは、４気筒の全てのデポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］が「ＯＦＦ」でなかった場合（Ｓ４０８で「ＮＯ」）である。すなわち少なくとも１つのデポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］が「ＯＮ」であった場合には、図２０の処理が実行される点である。
【０１９４】
図２０では、まず今回の回転変動判別処理Ｃ（図１９，２０）の実行設定による最初の処理か否かが判定される（Ｓ８０２）。最初であれば（Ｓ８０２で「ＹＥＳ」）、次に前回のデポジット除去処理実行完了からの経過時間Ｔｃが基準時間Ｔｄｐ以上か否かが判定される（Ｓ８０４）。
【０１９５】
ここで基準時間Ｔｄｐは再度、デポジットが堆積する最短の時間が設定されている。したがって、ここでＴｃ≧Ｔｄｐであれば（Ｓ８０４で「ＹＥＳ」）、再度、デポジットが堆積したためにデポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］の１つ以上が「ＯＮ」になったものと考えられる。このため次にデポジット除去回数カウンタＣｄｃに「０」を設定してステップＳ４１３のデポジット除去処理未実行か否かの判定に移る。そして次の制御周期ではステップＳ８０２で「ＮＯ」と判定されるので、直ちにステップＳ４１３の処理に移動するようになる。
【０１９６】
一方、Ｔｃ＜Ｔｄｐであった場合には（Ｓ８０４で「ＮＯ」）、直前に行われたデポジット除去処理では、デポジットが除去できなかったか、あるいは可変動弁機構においてリフト誤差が生じたためにデポジット除去処理が機能しなかったと考えられる。このためデポジット除去回数カウンタＣｄｃをインクリメントし（Ｓ８０８）、次にこのデポジット除去回数カウンタＣｄｃがリフト量異常判定値Ｃｅに達したか否かが判定される（Ｓ８１０）。リフト量異常判定値Ｃｅとしては、通常２以上の値が設定されているが、Ｃｅ＝１としても良い。
【０１９７】
Ｃｄｃ＜Ｃｅの場合には（Ｓ８１０で「ＮＯ」）、ステップＳ４１３の処理に移動する。そして次の制御周期ではステップＳ８０２で「ＮＯ」と判定されるので、直ちにステップＳ４１３の処理に移動するようになる。
【０１９８】
Ｔｃ＜Ｔｄｐの状態で回転変動判別処理Ｃ（図１９，２０）の実行設定が繰り返されることで、デポジット除去回数カウンタＣｄｃが増加し、Ｃｄｃ＝Ｃｅとなった場合には（Ｓ８１０で「ＹＥＳ」）、デポジット除去処理を繰り返してもデポジットが除去できないことを示している。このためデポジット付着ではなく、可変動弁機構によるリフト誤差が生じていると判断する（Ｓ８１２）。そして次に車両の表示装置への警告表示とＥＣＵ内のバックアップＲＡＭへの警告データ記憶とを実行して（Ｓ８１４）、ステップＳ４１３の処理に移動する。
【０１９９】
上述した構成において、回転変動判別処理Ａ〜回転変動判別処理Ｃ（図９，１０，１９，２０）、バルブリフト漸増処理（図１１）及びバルブリフト量復帰処理（図１３）が機関回転変動判別手段としての処理に相当する。
【０２００】
以上説明した本実施の形態２によれば、以下の効果が得られる。
（イ）．前記実施の形態１と同じ効果を生じる。
（ロ）．デポジット除去処理を繰り返してもデポジットが除去できない場合には、可変動弁機構による吸気バルブ１２ａ，１２ｂのリフト誤差が生じていると判別することができる。このように多気筒内燃機関回転変動因子を、更に詳細に判別することが可能となる。そして、このようなリフト誤差が判別されると、車両の表示装置に警告表示やメモリ記憶を行っているので、運転者やメンテナンス作業者に適切な処置を実行させることが可能となる。
【０２０１】
［その他の実施の形態］
（ａ）．前記実施の形態１において、デポジット付着フラグｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］が１つでも「ＯＮ」であった場合に（Ｓ４０８で「ＮＯ」）、デポジット除去処理を実行させずに単にデポジット付着有りを判別したことのみで終了し、再度回転変動判別処理Ａを再開させても良い。又、この場合、ｅｘｄｅｐｏ［１］〜ｅｘｄｅｐｏ［４］が１つでも「ＯＮ」である状態を、吸気バルブにおけるリフト誤差であると判別しても良い。あるいはデポジット付着とリフト誤差とのいずれかであると判別しても良い。
【０２０２】
（ｂ）．前記実施の形態１においては、燃料起因回転変動フラグｅｘｉｎｊ［１］〜ｅｘｉｎｊ［４］が１つでも「ＯＮ」であった場合に（Ｓ４１０で「ＮＯ」）、回転変動判別処理Ｄ，Ｅを実行させずに単に燃料噴射誤差有りを判別したことのみで終了しても良い。
【図面の簡単な説明】
【図１】実施の形態１としてのエンジン及びその制御系統の概略構成を表すブロック図。
【図２】図１のＡ−Ａ断面図。
【図３】シリンダヘッドの要部の平面図。
【図４】仲介駆動機構の斜視図。
【図５】仲介駆動機構の部分破断斜視図。
【図６】仲介駆動機構による吸気バルブのバルブリフト量調節を示す説明図。
【図７】仲介駆動機構による吸気バルブのバルブリフト量調節を示す説明図。
【図８】仲介駆動機構による吸気バルブのバルブリフト量変化を示すグラフ。
【図９】実施の形態１のＥＣＵが実行する回転変動判別処理Ａのフローチャート。
【図１０】同じく回転変動判別処理Ｂのフローチャート。
【図１１】同じくバルブリフト量漸増処理のフローチャート。
【図１２】同じく回転変動判別処理Ｃのフローチャート。
【図１３】同じくバルブリフト量復帰処理のフローチャート。
【図１４】同じく回転変動判別処理Ｄのフローチャート。
【図１５】同じく回転変動判別処理Ｅのフローチャート。
【図１６】同じく回転変動判別処理Ｅのフローチャート。
【図１７】同じく回転変動判別処理Ｅのフローチャート。
【図１８】シャフト位置Ｓｐからバルブリフト量ｉｎｌｉｆｔを求めるためのマップの説明図。
【図１９】実施の形態２のＥＣＵが実行する回転変動判別処理Ｃのフローチャート。
【図２０】同じく回転変動判別処理Ｃのフローチャート。
【符号の説明】
２…エンジン、２ａ…気筒、４…シリンダブロック、６…ピストン、８…シリンダヘッド、１０…燃焼室、１２ａ，１２ｂ…吸気バルブ、１２ｃ…ステムエンド、１４ａ，１４ｂ…吸気ポート、１６ａ，１６ｂ…排気バルブ、１８ａ，１８ｂ…排気ポート、２０…燃料噴射弁、３０…吸気マニホールド、３０ａ…吸気通路、３２…サージタンク、４０…吸気ダクト、４２…エアクリーナ、４４…スロットルバルブ、４４ａ…スロットル開度センサ、４４ｂ…スロットルモータ、４６…アクセルペダル、４６ａ…アクセル開度センサ、４８…吸気カムシャフト、５０…吸気カム、５０ａ…ノーズ、５２…ローラロッカーアーム、５２ａ…ローラ、５２ｂ…アジャスタ、５２ｃ…基端部、５２ｄ…先端部、５４…排気カムシャフト、５６…排気カム、５８…ローラロッカーアーム、６０…排気マニホルド、６２…触媒コンバータ、６４…ＥＣＵ、６６…エンジン回転数センサ、６８…基準クランク角センサ、７０…冷却水温センサ、７２…吸入空気量センサ、７４…空燃比センサ、１００…仲介駆動機構、１０４…ＯＣＶ、１１２…スライドアクチュエータ、１１２ａ…シャフト位置センサ、１２０…仲介駆動機構、１２２…入力部、１２４…第１揺動カム、１２６…第２揺動カム、１３２…コントロールシャフト、Ｐ…オイルポンプ。
【図１】
2004232528.tif 000003
【図２】
2004232528.tif 000004
【図３】
2004232528.tif 000005
【図４】
2004232528.tif 000006
【図５】
2004232528.tif 000007
【図６】
2004232528.tif 000008
【図７】
2004232528.tif 000009
【図８】
2004232528.tif 000010
【図９】
2004232528.tif 000011
【図１０】
2004232528.tif 000012
【図１１】
2004232528.tif 000013
【図１２】
2004232528.tif 000014
【図１３】
2004232528.tif 000015
【図１４】
2004232528.tif 000016
【図１５】
2004232528.tif 000017
【図１６】
2004232528.tif 000018
【図１７】
2004232528.tif 000019
【図１８】
2004232528.tif 000020
【図１９】
2004232528.tif 000021
【図２０】
2004232528.tif 000022