(57)【特許請求の範囲】
【請求項１】
多気筒内燃機関における各気筒の吸気弁の作用角を可変にする作用角可変機構と、
各気筒の回転変動に関するパラメータを検出し、この検出されたパラメータに基づき気筒間空燃比ばらつき異常の有無を検出する異常検出手段と、
を備え、
前記異常検出手段は、前記パラメータの検出時における作用角が所定の大作用角領域にあるときには正常判定を保留し、前記パラメータの検出時における作用角が、前記大作用角領域よりも小作用角側の所定の小作用角領域にあるときには正常判定を実行可能である
ことを特徴とする気筒間空燃比ばらつき異常検出装置。
【請求項２】
前記異常検出手段は、検出された前記パラメータが所定の判定値に対し正常側の値であっても、前記パラメータの検出時における作用角が前記大作用角領域にあるときには正常判定を保留する
ことを特徴とする請求項１に記載の気筒間空燃比ばらつき異常検出装置。
【請求項３】
前記異常検出手段は、特定気筒の作用角の減少ずれに起因する気筒間空燃比ばらつき異常を検出可能である
ことを特徴とする請求項１または２に記載の気筒間空燃比ばらつき異常検出装置。
【請求項４】
前記大作用角領域が最大作用角を含み、前記小作用角領域が最小作用角を含む
ことを特徴とする請求項１〜３のいずれか一項に記載の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比のばらつき異常を検出するための装置に係り、特に、多気筒内燃機関において気筒間の空燃比が比較的大きくばらついていることを検出する装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に一致させるようフィードバック制御を実施している。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対し同一の制御量を用いて空燃比制御を行うため、空燃比制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションに影響を与えず、特に問題とならない。
【０００４】
しかし、例えば一部の気筒の燃料噴射系が故障するなどして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションが悪化した車両の走行を未然に防止するため、気筒間空燃比ばらつき異常を車載状態（オンボード）で検出することが要請されている。
【０００５】
例えば特許文献１には、空燃比Ｆ／Ｂ制御の演算値に基づいて内燃機関の空燃比異常を判断し、空燃比異常があると判断したときに各気筒への燃料噴射時間を所定時間ずつ短縮させて空燃比異常となった気筒のみを失火させることが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１１２２４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、各気筒の回転変動に関するパラメータを検出し、この検出されたパラメータに基づき気筒間空燃比ばらつき異常の有無を検出することが考えられる。
【０００８】
一方、近年では、各気筒の吸気弁の作用角（開弁から閉弁までのクランク角）が可変である内燃機関が実用化されている。
【０００９】
この種の内燃機関において、回転変動に関するパラメータに基づきばらつき異常を検出しようとすると、次の問題が起こる。すなわち、気筒間空燃比ばらつき異常の原因には、特定気筒において燃料噴射量が正常値からずれる噴射量ずれと、特定気筒において吸入空気量が正常値からずれる空気量ずれとがある。噴射量ずれの場合、特に燃料噴射量が正常値よりも減少側にずれる噴射量減少ずれの場合、吸気弁の作用角の影響はなく、正常か異常かを作用角に拘わらず問題なく判定できる。
【００１０】
しかし、空気量ずれの場合、特に作用角が正常値よりも減少側にずれて空気量が過少となる作用角減少ずれの場合だと、そのずれのない正常値としての作用角の大きさによって、判定結果が異なってしまう。すなわち、正常値としての作用角が小さい場合には、作用角減少ずれの影響が大きいため、正常か異常かを正確に判定できる。
【００１１】
しかし、正常値としての作用角が大きい場合には、作用角減少ずれの影響が小さくなり、たとえ異常であっても正常と誤判定してしまう可能性がある。このため十分な検出精度を確保するのが困難である。
【００１２】
そこで本発明は、上記事情に鑑みて創案され、その目的は、誤判定を防止して十分な検出精度を確保することが可能な気筒間空燃比ばらつき異常検出装置を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一の態様によれば、
多気筒内燃機関における各気筒の吸気弁の作用角を可変にする作用角可変機構と、
各気筒の回転変動に関するパラメータを検出し、この検出されたパラメータに基づき気筒間空燃比ばらつき異常の有無を検出する異常検出手段と、
を備え、
前記異常検出手段は、前記パラメータの検出時における作用角が所定の大作用角領域にあるときには正常判定を保留し、前記パラメータの検出時における作用角が、前記大作用角領域よりも小作用角側の所定の小作用角領域にあるときには正常判定を実行可能である
ことを特徴とする気筒間空燃比ばらつき異常検出装置が提供される。
【００１４】
好ましくは、前記異常検出手段は、検出された前記パラメータが所定の判定値に対し正常側の値であっても、前記パラメータの検出時における作用角が前記大作用角領域にあるときには正常判定を保留する。
【００１５】
好ましくは、前記異常検出手段は、特定気筒の作用角の減少ずれに起因する気筒間空燃比ばらつき異常を検出可能である。
【００１６】
好ましくは、前記大作用角領域が最大作用角を含み、前記小作用角領域が最小作用角を含む。
【発明の効果】
【００１７】
本発明によれば、誤判定を防止して十分な検出精度を確保することができるという、優れた効果が発揮される。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】吸気弁の作用角可変特性を示す線図である。
【図４】作用角可変機構を示す図である。
【図５】回転変動を表す値を説明するためのタイムチャートである。
【図６】回転変動を表す別の値を説明するためのタイムチャートである。
【図７】作用角の増大ずれと減少ずれの様子を示す線図である。
【図８】特定気筒における噴射量ずれと作用角ずれが特定気筒の空燃比に及ぼす影響を示すグラフである。
【図９】噴射量減少ずれと作用角減少ずれが発生した場合の作用角と回転変動パラメータの関係を示すグラフである。
【図１０】作用角制御モードの設定ルーチンのフローチャートである。
【図１１】ばらつき異常検出ルーチンのフローチャートである。
【図１２】第１の作動例のタイムチャートである。
【図１３】第２の作動例のタイムチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を添付図面に基づき説明する。
【００２０】
図１は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関（エンジン）１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関１は自動車に搭載された多気筒内燃機関であり、より具体的には直列４気筒火花点火式内燃機関である。内燃機関１は＃１〜＃４気筒を備える。但し気筒数、形式等は特に限定されない。
【００２１】
図示しないが、内燃機関１のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されており、各吸気弁および各排気弁はカムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室３内の混合気に点火するための点火プラグ７が気筒ごとに取り付けられている。
【００２２】
各気筒の吸気ポートは気筒毎の枝管４を介して吸気集合室であるサージタンク８に接続されている。サージタンク８の上流側には吸気管１３が接続されており、吸気管１３の上流端にはエアクリーナ９が設けられている。そして吸気管１３には、上流側から順に、吸入空気量を検出するためのエアフローメータ５と、電子制御式のスロットルバルブ１０とが組み込まれている。吸気ポート、枝管４、サージタンク８及び吸気管１３により吸気通路が形成される。
【００２３】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ（燃料噴射弁）１２が気筒ごとに配設されている。インジェクタ１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室３に吸入され、ピストンで圧縮され、点火プラグ７で点火燃焼させられる。なおインジェクタは燃焼室３内に燃料を直接噴射するものであってもよい。
【００２４】
一方、各気筒の排気ポートは排気マニフォールド１４に接続される。排気マニフォールド１４は、その上流部をなす気筒毎の枝管１４ａと、その下流部をなす排気集合部１４ｂとからなる。排気集合部１４ｂの下流側には排気管６が接続されている。排気ポート、排気マニフォールド１４及び排気管６により排気通路が形成される。
【００２５】
排気管６の上流側と下流側にはそれぞれ三元触媒からなる触媒、すなわち上流触媒１１と下流触媒１９が直列に取り付けられている。これら触媒１１，１９は酸素吸蔵能（Ｏ2ストレージ能）を有する。すなわち、触媒１１，１９は、排気ガスの空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．６）より大きい（リーンな）ときに排気ガス中の過剰酸素を吸蔵し、ＮＯｘを還元する。また触媒１１，１９は、排気ガスの空燃比がストイキより小さい（リッチな）ときに吸蔵酸素を放出し、排気ガス中のＨＣ，ＣＯを酸化する。
【００２６】
上流触媒１１の上流側及び下流側にそれぞれ排気ガスの空燃比を検出するための第１及び第２の空燃比センサ、即ち触媒前センサ１７及び触媒後センサ１８が設置されている。これら触媒前センサ１７及び触媒後センサ１８は、上流触媒１１の直前及び直後の位置に設置され、排気中の酸素濃度に基づいて空燃比を検出する。このように上流触媒１１の上流側の排気合流部に単一の触媒前センサ１７が設置されている。
【００２７】
上述の点火プラグ７、スロットルバルブ１０及びインジェクタ１２等は、制御手段としての電子制御ユニット（以下ＥＣＵと称す）２０に電気的に接続されている。ＥＣＵ２０は、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。またＥＣＵ２０には、図示されるように、前述のエアフローメータ５、触媒前センサ１７、触媒後センサ１８のほか、内燃機関１のクランク角を検出するクランク角センサ１６、アクセル開度を検出するアクセル開度センサ１５、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ２０は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ７、スロットルバルブ１０、インジェクタ１２等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。
【００２８】
スロットルバルブ１０にはスロットル開度センサ（図示せず）が設けられ、スロットル開度センサからの信号がＥＣＵ２０に送られる。ＥＣＵ２０は、通常、アクセル開度に応じて定まる目標スロットル開度に、スロットルバルブ１０の開度（スロットル開度）をフィードバック制御する。
【００２９】
ＥＣＵ２０は、エアフローメータ５からの信号に基づき、単位時間当たりの吸入空気の量である吸入空気量すなわち吸気流量を検出する。そしてＥＣＵ２０は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン１の負荷を検出する。
【００３０】
ＥＣＵ２０は、クランク角センサ１６からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では１分間当たりの回転数ｒｐｍのことをいう。
【００３１】
触媒前センサ１７は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ１７の出力特性を示す。図示するように、触媒前センサ１７は、排気空燃比に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキであるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００３２】
他方、触媒後センサ１８は所謂Ｏ2センサからなり、ストイキを境に出力値が急変する特性を持つ。図２に触媒後センサ１８の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ１８の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧はストイキ相当値Ｖｒｅｆｒより高くなる。
【００３３】
上流触媒１１及び下流触媒１９は、それぞれに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ，ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３４】
そこで通常運転時、上流触媒１１に流入する排気ガスの空燃比がストイキ近傍に制御されるように、空燃比フィードバック制御がＥＣＵ２０により実行される。この空燃比フィードバック制御は、触媒前センサ１７によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるようなメイン空燃比制御（メイン空燃比フィードバック制御）と、触媒後センサ１８によって検出された排気空燃比をストイキに一致させるようなサブ空燃比制御（サブ空燃比フィードバック制御）とからなる。
【００３５】
なお、このように目標空燃比をストイキとする空燃比フィードバック制御をストイキ制御という。ストイキは基準空燃比をなす。
【００３６】
ところで本実施形態のエンジン１には、各気筒の吸気弁の作用角を可変にする作用角可変機構が設けられている。図３には作用角可変機構による作用角の変化の様子を示し、図４には作用角可変機構の構造を示す。
【００３７】
図３に示すように、作用角可変機構は、吸気弁の作用角を連続的に変化させる。本実施形態では作用角可変機構により吸気弁の最大リフト量も連続的に変化させられる。作用角及び最大リフト量は互いに同期して変化させられ、作用角が小さくなるほど最大リフト量は小さくなり、作用角が大きくなるほど最大リフト量は大きくなる。
【００３８】
図４に示すように、作用角可変機構４２としては、例えば気筒毎に設けられた仲介駆動機構４３と、全気筒の仲介駆動機構４３に共通のコントロールシャフト４４及びアクチュエータ４６とを備えたもの（特開２００１−２６３０１５号公報等参照）を用いることができる。アクチュエータ４６は、例えばＥＣＵ２０により制御される電動モータと、その電動モータの回転を直線運動に変換してコントロールシャフト４４に伝達する動力伝達機構とを備える。そして、通電により電動モータが回転すると、それに伴い動力伝達機構が作動してコントロールシャフト４４が軸方向へ変位させられる。
【００３９】
各仲介駆動機構４３は、吸気カムシャフト３１と吸気弁２７との間に設けられており、入力アーム４７及び出力アーム４８を備える。コントロールシャフト４４と入・出力アーム４７，４８との間には、動力伝達用のスライダ４９が回動可能かつ軸方向移動可能に介在されている。スライダ４９及び入・出力アーム４７，４８は、ヘリカルスプラインによって相互に噛合わされている。
【００４０】
そして、吸気カムシャフト３１が回転すると、吸気カム３１Ａによって入力アーム４７がコントロールシャフト４４を支点として上下に揺動される。この揺動はスライダ４９を介して出力アーム４８に伝達され、同出力アーム４８を上下に揺動させる。この揺動する出力アーム４８によって吸気弁２７が駆動されて開閉する。
【００４１】
また、アクチュエータ４６によってコントロールシャフト４４が軸方向へ移動されることで、スライダ４９が同方向へ変位しながら回転し、入・出力アーム４７，４８の揺動方向について、入力アーム４７と出力アーム４８との相対位相差が変更される。この変更に伴い全気筒の吸気弁２７のバルブ特性（作用角及び最大リフト量）が連続的且つ一律に変化する。相対位相差が小さいときには作用角及び最大リフト量がともに小さく、気筒当りの吸入空気量が少なくなる。相対位相差が増大すると、作用角及び最大リフト量がともに大きくなって同吸入空気量が多くなる。
【００４２】
ＥＣＵ２０は、検出された回転数および負荷に応じて作用角可変機構４２（特にそのアクチュエータ４６の電動モータ）を制御し、作用角を制御する。具体的には、ＥＣＵ２０は、検出された回転数および負荷に応じた目標作用角を所定のマップ（関数でもよい。以下同様。）から算出し、この算出された目標作用角に実際の作用角が一致するよう作用角可変機構４２を制御する。回転数が高いほど、また負荷が高いほど、作用角は増大させられる。
【００４３】
こうして吸気弁の作用角を回転数および負荷に応じて連続的に変化させることで、燃焼室３内に吸入される空気量を全運転領域に亘って変化させることができる。よってスロットル開度を通常より開いたり、或いは省略することもでき、これによってポンピングロスを減少し、同一の出力をより少ない空気量及び燃料量で得られ、燃費等を向上することができる。
【００４４】
さて、例えば全気筒のうちの一部の気筒（特に１気筒）のインジェクタ１２が故障し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生する場合がある。例えば＃１気筒のインジェクタ１２が故障し、＃１気筒が他の＃２、＃３及び＃４気筒よりも燃料噴射量が多くなり、その空燃比が大きくリッチ側にずれる場合等である。このときでも前述のストイキ制御により比較的大きな補正量を与えれば、触媒前センサ１７に供給されるトータルガスの空燃比をストイキに制御できる場合がある。しかし、気筒別に見ると、＃１気筒がストイキより大きくリッチ、＃２、＃３及び＃４気筒がストイキより若干リーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。
【００４５】
ここで、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の気筒のうちある１気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒（インバランス気筒）の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒（バランス気筒）の燃料噴射量即ち基準噴射量からズレているかを示す値である。インバランス率をＩＢ（％）、インバランス気筒の燃料噴射量をＱｉｂ、バランス気筒の燃料噴射量即ち基準噴射量をＱｓとすると、ＩＢ＝（Ｑｉｂ−Ｑｓ）／Ｑｓ×１００で表される。インバランス率ＩＢが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。
【００４６】
他方、本実施形態においては、各気筒の回転変動に関するパラメータを検出し、この検出されたパラメータに基づきばらつき異常の有無を検出する。
【００４７】
まず、回転変動について説明する。回転変動とは、エンジン回転速度あるいはクランクシャフト回転速度の変化をいい、例えば次に述べるような値で表すことができる。本実施形態においては各気筒の回転変動を気筒毎に検出可能である。
【００４８】
図５には回転変動を説明するためのタイムチャートを示す。図示例において点火順序は＃１，＃３，＃４，＃２気筒の順である。
【００４９】
図５において、（Ａ）はエンジンのクランク角（°ＣＡ）を示す。１エンジンサイクルは７２０（°ＣＡ）であり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。
【００５０】
（Ｂ）は、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Ｔ（ｓ）を示す。ここでは所定角度が３０（°ＣＡ）であるが、他の値（例えば１０（°ＣＡ））としてもよい。回転時間Ｔが長いほどエンジン回転速度は遅く、逆に回転時間Ｔが短いほどエンジン回転速度は速い。この回転時間Ｔはクランク角センサ１６の出力に基づきＥＣＵ１００により検出される。
【００５１】
（Ｃ）は、後に説明する回転時間差ΔＴを示す。図中、「正常」とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、「リーンずれ異常」とは、＃１気筒のみにインバランス率ＩＢ＝−３０（％）のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。
【００５２】
まず、各気筒の同一タイミングにおける回転時間ＴがＥＣＵにより検出される。ここでは各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける回転時間Ｔが検出される。この回転時間Ｔが検出されるタイミングを検出タイミングという。
【００５３】
次いで、検出タイミング毎に、当該検出タイミングにおける回転時間Ｔ２と、直前の検出タイミングにおける回転時間Ｔ１との差（Ｔ２−Ｔ１）がＥＣＵにより算出される。この差が（Ｃ）に示す回転時間差ΔＴであり、ΔＴ＝Ｔ２−Ｔ１である。
【００５４】
通常、クランク角がＴＤＣを超えた後の燃焼行程では回転速度が上昇するため回転時間Ｔが低下し、その後の圧縮行程では回転速度が低下するため回転時間Ｔが増大する。
【００５５】
しかしながら、（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける回転時間Ｔは大きくなっている。それ故、＃３気筒ＴＤＣにおける回転時間差ΔＴは、（Ｃ）に示すように大きな正の値となる。この＃３気筒ＴＤＣにおける回転時間および回転時間差をそれぞれ＃１気筒の回転時間および回転時間差とし、それぞれＴ1およびΔＴ1で表す。他の気筒についても同様である。
【００５６】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ回転時間Ｔが若干低下しているに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の回転時間差ΔＴ3は、（Ｃ）に示すように小さな負の値となる。このようにある気筒の回転時間差ΔＴが、次点火気筒ＴＤＣ毎に検出される。
【００５７】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の回転時間差ΔＴ4および＃２気筒の回転時間差ΔＴ2はともに小さな負の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００５８】
このように、各気筒の回転時間差ΔＴは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔＴを各気筒の回転変動に関するパラメータ、すなわち回転変動パラメータとして用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔＴは大きくなる。
【００５９】
他方、図５（Ｃ）に示すように、正常の場合には回転時間差ΔＴが常時ゼロ付近である。
【００６０】
図５の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち１気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。
【００６１】
次に、図６を参照して、回転変動に関する別のパラメータを説明する。（Ａ）は図５（Ａ）と同様にエンジンのクランク角（°ＣＡ）を示す。
【００６２】
（Ｂ）は、前記回転時間Ｔの逆数である角速度ω（ｒａｄ／ｓ）を示す。ω＝１／Ｔである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Ｔの波形を上下反転した形となる。
【００６３】
（Ｃ）は、前記回転時間差ΔＴと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔＴの波形を上下反転した形となる。図中の「正常」および「リーンずれ異常」については図５と同様である。
【００６４】
まず、各気筒の同一タイミングにおける角速度ωがＥＣＵにより検出される。ここでも各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける角速度ωが検出される。角速度ωは、１を前記回転時間Ｔで除することにより算出される。
【００６５】
次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω２と、直前の検出タイミングにおける角速度ω１との差（ω２−ω１）がＥＣＵにより算出される。この差が（Ｃ）に示す角速度差Δωであり、Δω＝ω２−ω１である。
【００６６】
通常、クランク角がＴＤＣを超えた後の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の圧縮行程では回転速度が低下するため角速度ωが低下する。
【００６７】
しかしながら、（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける角速度ωは小さくなっている。それ故、＃３気筒ＴＤＣにおける角速度差Δωは、（Ｃ）に示すように大きな負の値となる。この＃３気筒ＴＤＣにおける角速度および角速度差をそれぞれ＃１気筒の角速度および角速度差とし、それぞれω1およびΔω1で表す。他の気筒についても同様である。
【００６８】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ角速度ωが若干上昇するに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の角速度差Δω3は、（Ｃ）に示すように小さな正の値となる。このようにある気筒の角速度差Δωが、次点火気筒ＴＤＣ毎に検出される。
【００６９】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の角速度差Δω4および＃２気筒の角速度差Δω2はともに小さな正の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００７０】
このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動パラメータとして用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなる（マイナス方向に大きくなる）。
【００７１】
他方、図６（Ｃ）に示すように、正常の場合には角速度差Δωが常時ゼロ付近である。
【００７２】
逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。
【００７３】
便宜上、以下の説明において、角速度差の絶対値｜Δω｜を回転変動パラメータＸとして用いる（Ｘ＝｜Δω｜）。ある気筒の回転変動が大きいほど、当該気筒の回転変動パラメータＸは大きくなる。
【００７４】
そして、実際に検出された各気筒の回転変動パラメータＸの値がそれぞれ所定の判定値αと比較される。ある気筒の回転変動パラメータＸの値が判定値αより大きい場合、ばらつき異常有り、すなわち異常と判定され、その気筒が異常気筒と特定される。他方、全気筒の回転変動パラメータＸの値が判定値α以下の場合、ばらつき異常無し、すなわち正常と判定される。
【００７５】
さて、前述したように、ばらつき異常の原因には、ある１気筒すなわち特定気筒において燃料噴射量が正常値からずれる噴射量ずれと、特定気筒において吸入空気量が正常値からずれる空気量ずれとがある。
【００７６】
噴射量ずれには、燃料噴射量が正常値から増大側にずれる噴射量増大ずれと、燃料噴射量が正常値から減少側にずれる噴射量減少ずれとがある。前者は、例えば特定気筒のインジェクタ１２の閉弁不良による故障等に起因し、後者は、例えば特定気筒のインジェクタ１２の開弁不良や噴孔詰まりによる故障等に起因する。
【００７７】
他方、空気量ずれには、吸入空気量が正常値から減少側にずれる空気量減少ずれと、吸入空気量が正常値から増大側にずれる空気量増大ずれとがある。前者も後者も、例えば作用角可変機構４２の故障により、特定気筒の作用角が正常値から増大側または減少側にずれることが原因となり得る。本実施形態は特にこの作用角の増大ずれおよび減少ずれに起因する空気量ずれ、ひいてはこの空気量ずれに起因するばらつき異常の検出に向けられる。
【００７８】
図７には作用角の増大ずれと減少ずれの様子を示す。線ａで示されるのは正常値としての作用角すなわち正常作用角であり、その大きさはＳである。Ｓは例えば１２０°ＣＡである。
【００７９】
これに対し、線ｂで示されるのは正常作用角ＳからΔＳだけ増大側にずれた作用角であり、その大きさはＳ＋ΔＳである。例えばΔＳは２０°ＣＡであり、Ｓ＋ΔＳは１４０°ＣＡである。
【００８０】
線ｃで示されるのは正常作用角ＳからΔＳだけ減少側にずれた作用角であり、その大きさはＳ−ΔＳである。例えばＳ−ΔＳは１００°ＣＡである。
【００８１】
なお本実施形態の場合、作用角の増大ずれと減少ずれに伴って最大リフト量にも増大ずれと減少ずれが発生する。
【００８２】
図８は、特定気筒における噴射量ずれと作用角ずれとが特定気筒の空燃比Ａ／Ｆに及ぼす影響をグラフ化したものである。ここで噴射量ずれも作用角ずれも生じていない正常状態のとき、空燃比Ａ／Ｆは常にストイキである。図中、Ｓｍｉｎは最小作用角、Ｓｍａｘは最大作用角を表す。これらは作用角制御上における作用角の最小値および最大値に相当する。
【００８３】
まず作用角ずれがなく噴射量増大ずれのみが生じている場合、線ａで示すように、空燃比Ａ／Ｆは、作用角Ｓの値に拘わらず常にストイキよりリッチな一定値を示す。また作用角ずれがなく噴射量減少ずれのみが生じている場合、線ｂで示すように、空燃比Ａ／Ｆは、作用角Ｓの値に拘わらず常にストイキよりリーンな一定値を示す。よっていずれの場合も作用角の影響はなく、正常か異常かを作用角に拘わらず問題なく判定できる。
【００８４】
なお、線ａで示すような噴射量増大ずれの影響はエンジン回転変動にそれ程大きく現れない。よって噴射量増大ずれは、本実施形態における回転変動を利用する検出方法よりも、むしろ違う方法（例えば触媒前センサ１７の出力変動を利用する方法）で検出するのが好ましい。他方、線ｂで示すような噴射量減少ずれの影響はエンジン回転変動に大きく現れる。よって本実施形態の検出方法により検出するのが好ましい。
【００８５】
一方、噴射量ずれがなく作用角増大ずれのみが生じている場合、線ｃで示すように、空燃比Ａ／Ｆは、作用角Ｓの増加につれ（すなわち回転数および／または負荷の増加につれ）、ストイキよりリーンな値からストイキよりリッチな値へと減少する（リッチ化する）傾向にある。
【００８６】
但し、作用角増大ずれであることから、作用角Ｓがどのような値であっても、燃焼に必要な作用角およびリフト量、ひいては空気量が確保される。よって作用角増大ずれが回転変動に及ぼす影響は小さく、本実施形態の検出方法は作用角増大ずれに起因するばらつき異常を特に検出対象とはしない。
【００８７】
例えば、円ｃ１内に示すような最小作用角Ｓｍｉｎを含む小作用角時には、必要な作用角およびリフト量ひいては空気量が確保されており、回転変動はそれ程悪化しない。
【００８８】
また円ｃ２内に示すような最大作用角Ｓｍａｘを含む大作用角時には、元々の作用角が大きいので、作用角が多少増大側にずれても空気量ひいては回転変動にそれ程影響しない。バルブオーバーラップが過剰となって多少回転変動が悪化するが、問題視するほどのエミッション悪化は生じない。従って検出対象としなくても特に問題はない。
【００８９】
もっとも、非常に大きい作用角増大ずれが生じると、問題視するほどのエミッション悪化が生じるが、通常はこのようなエミッション悪化が生じる前に、作用角増大ずれによるハード上の破損が起きる。例えばバルブスプリングの開固着やピストンスタンプなどである。こうなると吸気弁が恒常的に開弁しなくなり、１気筒に連続失火が生じるので、別の診断手段により検出可能である。
【００９０】
一方、噴射量ずれがなく作用角減少ずれのみが生じている場合、線ｄで示すように、空燃比Ａ／Ｆは、作用角Ｓの増加につれ（すなわち回転数および／または負荷の増加につれ）、ストイキよりリッチな値からストイキよりリーンな値へと増加する（リーン化する）傾向にある。
【００９１】
特にこの場合、作用角減少ずれであることから、作用角減少ずれの空気量に対する影響が大きい。よって作用角減少ずれが回転変動に及ぼす影響は大きく、本実施形態の検出方法はこの作用角減少ずれに起因するばらつき異常を検出対象とする。
【００９２】
例えば、円ｄ１内に示すような最小作用角Ｓｍｉｎを含む小作用角時には、元々の作用角が小さい上にさらに作用角が小さくなるので、回転変動が悪化する。よってずれの大きさが回転変動ひいては回転変動パラメータＸの値に好適に反映されるようになり、小作用角時は本実施形態のばらつき異常検出を行うタイミングとして好適である。
【００９３】
しかし、円ｄ２内に示すような最大作用角Ｓｍａｘを含む大作用角時だと、小作用角時とは異なる様相を呈する。すなわち、元々の作用角が大きいために、作用角が多少減少側にずれても必要な空気量がほぼ確保され、作用角ずれが回転変動に現れ難くなる。よってたとえ作用角減少ずれが生じていても、見掛け上それが生じていないように見え、結果としてばらつき異常無し、すなわち正常と誤判定してしまう可能性がある。大作用角時でも作用角減少ずれがあれば、エミッションが悪化するので、ばらつき異常有りすなわち異常と判定すべきであるが、結果はこうならない可能性がある。ここに本実施形態の主たる課題が存在する。
【００９４】
図９は、本実施形態で特に検出対象とする噴射量減少ずれと作用角減少ずれとが発生した場合の、作用角Ｓと回転変動パラメータＸの関係を概念的に示す。
【００９５】
まず（Ａ）に示すように、噴射量減少ずれが発生した場合、作用角Ｓの値に拘わらず、回転変動パラメータＸは比較的大きな値となる。よって噴射量減少ずれは作用角Ｓの値とは無関係に回転変動パラメータＸにより検出可能である。
【００９６】
次に（Ｂ）に示すように、作用角減少ずれが発生した場合、作用角Ｓの値に応じて回転変動パラメータＸが変化し、作用角Ｓが小さいときには回転変動パラメータＸが大きいが、作用角Ｓが大きいときには回転変動パラメータＸが小さくなってしまう。よって作用角Ｓが大きいときに正常との誤判定を防止する必要がある。
【００９７】
そこで以上の課題に鑑み、本実施形態においては、回転変動パラメータＸの検出時における作用角Ｓが所定の大作用角領域にあるときには正常判定を保留する（すなわち正常判定を実行しない）。そして回転変動パラメータＸの検出時における作用角Ｓが所定の小作用角領域にあるときには正常判定を実行可能とする。
【００９８】
ここで、大作用角領域および小作用角領域とは例えば次のような領域である。すなわち、図８に示すように、最小作用角Ｓｍｉｎから最大作用角Ｓｍａｘまでの全作用角領域を二分割する所定のしきい値Ｓ１を設け、作用角Ｓがしきい値Ｓ１より大きい領域を大作用角領域、作用角Ｓがしきい値Ｓ１以下の領域を小作用角領域とする。大作用角領域には最大作用角Ｓｍａｘが含まれ、小作用角領域には最小作用角Ｓｍｉｎが含まれる。大作用角領域は、エンジンの中〜高負荷運転時に使用される作用角からなる領域である。小作用角領域は、エンジンの低〜中負荷運転時に使用される作用角からなる領域である。
【００９９】
あるいは代替的に、図８に示すように、全作用角領域を三分割する所定のしきい値Ｓ２，Ｓ３（但しＳ２＜Ｓ３）を設け、作用角Ｓがしきい値Ｓ３より大きい領域を大作用角領域、作用角Ｓがしきい値Ｓ２より小さい領域を小作用角領域としてもよい。この場合にも大作用角領域には最大作用角Ｓｍａｘが含まれ、小作用角領域には最小作用角Ｓｍｉｎが含まれる。大作用角領域は、エンジンの高負荷運転時に使用される作用角からなる領域である。小作用角領域は、エンジンの低負荷運転時に使用される作用角からなる領域である。
【０１００】
いずれにしても、小作用角領域は大作用角領域より小作用角側の領域である。
【０１０１】
作用角Ｓが大作用角領域にあるときに正常判定を保留する（実行しない）ことにより、上記の如く、大作用角時に作用角減少ずれが生じた場合に正常と誤判定してしまうこと（誤正常判定）を防止できる。そして作用角Ｓが小作用角領域にあるときに正常判定を実行可能とすることにより、上記の如く、小作用角時に作用角減少ずれが生じた場合に当該ずれが回転変動パラメータＸに好適に反映されるという特性を活かして、ばらつき異常検出を精度良く行うことができる。よって誤判定を防止し、十分な検出精度を確保することが可能である。
【０１０２】
次に、本実施形態におけるばらつき異常検出のより具体的な態様を述べる。まず、作用角制御モードについて図１０を参照しつつ説明する。
【０１０３】
図１０は、作用角制御モードの設定ルーチンのフローチャートを示す。図示するルーチンはＥＣＵ２０によりエンジンの始動と同時に開始され、所定の演算周期毎に繰り返し実行される。
【０１０４】
まずステップＳ１０１では、エンジン１の暖機が完了したか否かが判断される。この判断は、図示しない水温センサにより検出されたエンジン冷却水の温度に基づいて行われる。判断結果がイエスの場合にはステップＳ１０２に進む。
【０１０５】
ステップＳ１０２では、各学習値の学習が完了したか否かが判断される。すなわち、本実施形態におけるエンジン制御では、空燃比フィードバック制御における学習値やアイドルスピード制御における学習値等、様々な学習値が定期的にＥＣＵ２０に学習（更新記憶）されるようになっており、これら学習値の学習が全て完了した時点でステップＳ１０２の判断結果がイエスとなる。
【０１０６】
ステップＳ１０２の判断結果がイエスの場合、ステップＳ１０３に進んで、作用角制御モードが作用角可変モードに設定される。これにより、吸気弁の作用角Ｓは、回転数および負荷に応じて定まる目標作用角に等しくなるよう、最小作用角Ｓｍｉｎから最大作用角Ｓｍａｘまで変化させられる。
【０１０７】
他方、ステップＳ１０１またはＳ１０２の判断結果がノーの場合、ステップＳ１０４に進んで、作用角制御モードが作用角固定モードに設定される。これにより、吸気弁の作用角Ｓは回転数および負荷に拘わらず、大作用角領域に属する一定の所定値、本実施形態では最大作用角Ｓｍａｘに固定される。
【０１０８】
次に、ばらつき異常検出の検出処理について図１１を参照しつつ説明する。
【０１０９】
図１１は、ばらつき異常検出ルーチンのフローチャートを示す。図示するルーチンはＥＣＵ２０によりエンジンの始動と同時に開始され、所定の演算周期毎に繰り返し実行される。ここでルーチンの実行タイミングは、各気筒のＴＤＣ、すなわち角速度ωの検出タイミングと等しく設定されるのが好ましい。
【０１１０】
ステップＳ２０１では、所定の前提条件が成立しているか否かが判断される。この前提条件には、エンジンがアイドル運転中であるという条件が含まれる。なおこれの代わりに、エンジンがアイドルおよびその近傍の低回転・低負荷領域で運転しているという条件を含めてもよい。この前提条件には作用角に関する条件は含まれていない。
【０１１１】
ステップＳ２０１の判断結果がイエスの場合にはステップＳ２０２に進み、ノーの場合にはルーチンが終了される。
【０１１２】
ステップＳ２０２では、今回タイミングｎにおける各気筒の回転変動パラメータＸ（ｉ）nが算出ないし検出されると共に、今回タイミングｎにおける目標作用角Ｓ（ｉ）nの値が取得される。ｉは気筒番号を表す（ｉ＝１，２，３，４）。回転変動パラメータＸ（ｉ）nの値と目標作用角Ｓ（ｉ）nの値とは、気筒番号ｉおよびタイミングによる対応付けがなされている。
【０１１３】
ステップＳ２０３では、ステップＳ２０２の最初の実行時点から数えてＮエンジンサイクルが終了したか否かが判断される。Ｎは複数の整数であり、例えば１００である。１エンジンサイクルは７２０°ＣＡである。終了してなければルーチンが終了され、終了したならばステップＳ２０４に進む。Ｎエンジンサイクルが終了すると結果的に、Ｎ個ずつの各気筒の回転変動パラメータＸ（ｉ）nと、これら各気筒の回転変動パラメータＸ（ｉ）nに対応したＮ個ずつの目標作用角Ｓ（ｉ）nとのサンプルデータが得られることになる。
【０１１４】
ステップＳ２０４では、これら各気筒の回転変動パラメータＸ（ｉ）nと目標作用角Ｓ（ｉ）nとの平均値が算出される。具体的には、各気筒の回転変動パラメータＸ（ｉ）nの合計値が気筒毎にサンプル数Ｎで除して平均化されると共に、各気筒の目標作用角Ｓ（ｉ）nの合計値が気筒毎にサンプル数Ｎで除して平均化される。こうして得られた各平均値をＸ（ｉ）、Ｓ（ｉ）で表す。このように平均値を算出する理由は、絶えず変化する回転変動パラメータＸ（ｉ）nと目標作用角Ｓ（ｉ）nとを平均化して検出精度を高めるためである。但し必ずしもこのような平均化を行う必要はない。
【０１１５】
ステップＳ２０５では、平均値としての各気筒の回転変動パラメータＸ（ｉ）が気筒毎に判定値αと比較される。
【０１１６】
いずれかの気筒の回転変動パラメータＸ（ｉ）が判定値αより大きい場合、ステップＳ２０６に進んで異常判定がなされる。すなわち、判定値αより大きい回転変動パラメータＸ（ｉ）が得られた場合には直ちに異常判定が実行される。併せて、判定値αより大きい回転変動パラメータＸ（ｉ）を示した気筒を異常気筒と特定する。
【０１１７】
他方、いずれの気筒の回転変動パラメータＸ（ｉ）も判定値α以下の場合、ステップＳ２０７に進んで、平均値としての各気筒の目標作用角Ｓ（ｉ）が気筒毎にしきい値Ｓ１と比較される。
【０１１８】
いずれかの気筒の目標作用角Ｓ（ｉ）がしきい値Ｓ１より大きい場合、すなわち大作用角領域にある場合、正常判定を行うことなくルーチンが終了され、これにより正常判定が保留される。すなわち、本来ならば全ての気筒の回転変動パラメータＸ（ｉ）が判定値α以下であるため、正常判定し得る。しかし、いずれかの気筒で目標作用角Ｓ（ｉ）がしきい値Ｓ１より大きいと、その気筒において、作用角減少ずれが起きているにも拘わらず回転変動パラメータＸ（ｉ）が判定値α以下となっている可能性がある。よって誤判定を防止するため、いずれかの気筒で目標作用角Ｓ（ｉ）がしきい値Ｓ１より大きくなっている場合には正常判定を保留する。
【０１１９】
このように、検出された回転変動パラメータＸが判定値αに対し正常側の値（判定値α以下の値）であっても、回転変動パラメータＸの検出時における作用角が大作用角領域にあるときには、正常判定が保留される。
【０１２０】
他方、ステップＳ２０７において、いずれの気筒の目標作用角Ｓ（ｉ）も判定値α以下の場合、すなわち小作用角領域にある場合、ステップＳ２０８に進んで正常判定がなされる。この場合にはいずれの気筒でも作用角減少ずれが起きていないことが保証されるので、原則通り、正常判定が実行される。
【０１２１】
なお、本例では作用角の値として目標作用角を用いたが、実際の作用角を検出している場合にはその実際の作用角の検出値を用いてもよい。また本例では目標作用角の平均値を気筒別に求めたが、気筒の区別無く目標作用角の平均値を求めてもよい。つまり各気筒の目標作用角Ｓ（ｉ）nの全合計値を（サンプル数Ｎ×気筒数４）で除して平均化してもよい。
【０１２２】
次に、上記の制御および処理を行った場合の作動例を説明する。
【０１２３】
図１２には第１の作動例を示し、比較的低温な状態（特に冷間状態）でエンジンを始動した後の（Ａ）作用角Ｓ、（Ｂ）回転変動パラメータＸおよび（Ｃ）正常判定フラグの変化の様子を示す。ここで正常判定フラグとは、正常判定がなされると同時にオンされ、その前はオフとされているフラグである。
【０１２４】
時刻ｔ０でエンジンが始動された後、短時間後の時刻ｔ１で図１０の作用角制御モード設定ルーチンが開始される。その結果図示例では暖機完了条件（ステップＳ１０１）を満たさず、作用角固定モードに設定され、作用角Ｓが最大作用角Ｓｍａｘに固定される。作用角固定モードは比較的長時間、時刻ｔ４まで継続されている。
【０１２５】
この間の時刻ｔ２〜ｔ３の期間において、図１１のばらつき異常検出ルーチンの前提条件（ステップＳ２０１）が満たされ、ばらつき異常検出が実行される。この実行中、回転変動パラメータＸの値は判定値αを超えないが、作用角Ｓがしきい値Ｓ１より大きく大作用角領域にあるため、正常判定は行われない（ステップＳ２０７：イエス）。正常判定フラグはオフのままである。
【０１２６】
時刻ｔ４において、図１０の作用角制御モード設定ルーチンにおける暖機完了条件（ステップＳ１０１）と学習完了条件（ステップＳ１０２）（特に前者）が満たされ、作用角制御モードは作用角可変モードに移行される（ステップＳ１０３）。そして作用角Ｓは回転数と負荷に応じた値に制御される。その結果図示例では、作用角Ｓが、しきい値Ｓ１より大きい大作用角領域から、しきい値Ｓ１以下の小作用角領域へと移行させられている。
【０１２７】
この後の時刻ｔ５〜ｔ６の期間において、図１１のばらつき異常検出ルーチンの前提条件（ステップＳ２０１）が満たされ、ばらつき異常検出が実行される。この実行中、回転変動パラメータＸの値は判定値αを超えていない。しかも作用角Ｓが小作用角領域にあるため、時刻ｔ６において正常判定が行われる（ステップＳ２０８）。同時に正常判定フラグはオフからオンに切り替えられる。
【０１２８】
図１３には第２の作動例を示し、比較的高温な状態（特に温間状態）でエンジンを始動した後の（Ａ）作用角Ｓ、（Ｂ）回転変動パラメータＸおよび（Ｃ）正常判定フラグの変化の様子を示す。
【０１２９】
時刻ｔ０でエンジンが始動された後、短時間後の時刻ｔ１で図１０の作用角制御モード設定ルーチンが開始される。その結果図示例では、暖機完了条件（ステップＳ１０１）を満たさないため、作用角固定モードに設定され、作用角Ｓが最大作用角Ｓｍａｘに固定される。しかし、暖機完了条件が早期に満たされるようになるため、作用角固定モードは比較的短時間、時刻ｔ２までしか継続されない。
【０１３０】
この間の時刻ｔ１〜ｔ２の期間において、図１１のばらつき異常検出ルーチンの前提条件（ステップＳ２０１）が満たされず、ばらつき異常検出が実行されない。
【０１３１】
時刻ｔ２において、図１０の作用角制御モード設定ルーチンにおける暖機完了条件（ステップＳ１０１）と学習完了条件（ステップＳ１０２）（特に前者）が満たされ、作用角制御モードは作用角可変モードに移行される（ステップＳ１０３）。その結果図示例では、作用角Ｓが、しきい値Ｓ１より大きい大作用角領域から、しきい値Ｓ１以下の小作用角領域へと移行させられている。
【０１３２】
この後の時刻ｔ３〜ｔ４の期間において、図１１のばらつき異常検出ルーチンの前提条件（ステップＳ２０１）が満たされ、ばらつき異常検出が実行される。この実行中、回転変動パラメータＸの値は判定値αを超えていない。しかも作用角Ｓが小作用角領域にあるため（ステップＳ２０７：ノー）、時刻ｔ４において正常判定が行われる（ステップＳ２０８）。同時に正常判定フラグはオフからオンに切り替えられる。
【０１３３】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。上記の数値はあくまで例示であり、適宜変更が可能である。作用角可変機構として、作用角が異なる二つのカムを切り替える機構も可能であり、この機構にも本発明は適用可能である。この場合、作用角が大きい大カム使用時が、作用角が大作用角領域にあるときに該当し、作用角が小さい小カム使用時が、作用角が小作用角領域にあるときに該当する。大カム使用時の作用角が最大作用角となり、小カム使用時の作用角が最小作用角となる。
【０１３４】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【０１３５】
１  内燃機関（エンジン）
１６  クランク角センサ
２０  電子制御ユニット（ＥＣＵ）
２７  吸気弁
４２  作用角可変機構
Ｓ  作用角
Ｓ１，Ｓ２，Ｓ３  しきい値
Ｓｍｉｎ  最小作用角
Ｓｍａｘ  最大作用角
Ｘ  出力変動パラメータ
α  判定値
【図１】
0005348228.tif 000002
【図２】
0005348228.tif 000003
【図３】
0005348228.tif 000004
【図４】
0005348228.tif 000005
【図５】
0005348228.tif 000006
【図６】
0005348228.tif 000007
【図７】
0005348228.tif 000008
【図８】
0005348228.tif 000009
【図９】
0005348228.tif 000010
【図１０】
0005348228.tif 000011
【図１１】
0005348228.tif 000012
【図１２】
0005348228.tif 000013
【図１３】
0005348228.tif 000014