(57)【特許請求の範囲】
【請求項１】
所定の対象気筒の燃料噴射量の変更量が徐々に大きくなるように、該所定の対象気筒の燃料噴射量を強制的に増量または減量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、
該燃料噴射量変更制御の実行に伴って得られる前記所定の対象気筒に関する出力変動量が所定の出力変動量に達したか否かを判定する判定手段と、
該判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定されたとき、そのときの前記燃料噴射量変更制御による前記所定の対象気筒の燃料噴射量における変更量に基づいて気筒間空然比ばらつき異常を検出する検出手段と、
前記判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定される前に、前記燃料噴射量変更制御による前記所定の対象気筒の燃料噴射量における変更量が所定量を越えたとき、気筒間空然比ばらつき異常があると判定する第１異常判定手段と
を備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項２】
所定の対象気筒の燃料噴射量の変更量が徐々に大きくなるように、該所定の対象気筒の燃料噴射量を強制的に増量または減量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、
該燃料噴射量変更制御の実行に伴って得られる前記所定の対象気筒に関する出力変動量が所定の出力変動量に達したか否かを判定する判定手段と、
該判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定されたとき、そのときの前記燃料噴射量変更制御による前記所定の対象気筒の燃料噴射量における変更量に基づいて気筒間空然比ばらつき異常を検出する検出手段と、
前記判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定される前、エンジン回転速度が第１所定回転速度を越えたとき、気筒間空然比ばらつき異常があると判定する第２異常判定手段と
を備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項３】
所定の対象気筒の燃料噴射量の変更量が徐々に大きくなるように、該所定の対象気筒の燃料噴射量を強制的に増量または減量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、
該燃料噴射量変更制御の実行に伴って得られる前記所定の対象気筒に関する出力変動量が所定の出力変動量に達したか否かを判定する判定手段と、
該判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定されたとき、そのときの前記燃料噴射量変更制御による前記所定の対象気筒の燃料噴射量における変更量に基づいて気筒間空然比ばらつき異常を検出する検出手段と、
前記判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定される前、エンジン回転速度が第２所定回転速度を下回ったとき、または、エンジン回転速度が所定回転速度以上低下したとき、前記燃料噴射量変更制御を中止する第１中止手段と
を備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項４】
所定の対象気筒の燃料噴射量の変更量が徐々に大きくなるように、該所定の対象気筒の燃料噴射量を強制的に増量または減量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、
該燃料噴射量変更制御の実行に伴って得られる前記所定の対象気筒に関する出力変動量が所定の出力変動量に達したか否かを判定する判定手段と、
該判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定されたとき、そのときの前記燃料噴射量変更制御による前記所定の対象気筒の燃料噴射量における変更量に基づいて気筒間空然比ばらつき異常を検出する検出手段と、
エンジン回転速度の低下によるエンストを防止するべく吸入空気量を増量するエンスト防止制御を実行するエンスト防止制御実行手段と、
前記燃料噴射量変更制御が実行されたときに該エンスト防止制御が実行されたとき、前記燃料噴射量変更制御を中止する第２中止手段と
を備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間空燃比のばらつき異常を検出するための装置に関する。
【背景技術】
【０００２】
一般に、触媒を利用した排気浄化システムを備える内燃機関では、排気中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比のコントロールが欠かせない。こうした空燃比の制御を行うため、内燃機関の排気通路に空燃比センサを設け、これによって検出された空燃比を所定の目標空燃比に追従させるようフィードバック制御を実施している。
【０００３】
一方、多気筒内燃機関においては、通常全気筒に対して同一の制御量を用いて空燃比制御を行うため、空燃比制御を実行したとしても実際の空燃比が気筒間でばらつくことがある。このときばらつきの程度が小さければ、空燃比フィードバック制御で吸収可能であり、また触媒でも排気中有害成分を浄化処理可能なので、排気エミッションに影響を与えず、特に問題とならない。
【０００４】
しかし、例えば一部の気筒の燃料噴射系や吸気バルブの動弁機構が故障するなどして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは異常として検出するのが望ましい。
【０００５】
例えば、特許文献１が開示する内燃機関では、まず、空燃比フィードバック制御の演算値に基づいて内燃機関の気筒間の空燃比がインバランス状態になっていることが判断される。当該内燃機関では排気通路の浄化触媒の上流側に設けられたＡ／Ｆセンサの検出結果に基づいてメイン空燃比フィードバック制御が実行され、そしてその浄化触媒の下流側に設けられたＯ2センサの検出結果に基づいてサブ空燃比フィードバック制御が実行される。このサブ空燃比フィードバック制御の演算値の平均値が通常値を超えるときに気筒間の空燃比がインバランス状態になっていると判断される。さらに、特許文献１の内燃機関では、そのようにして気筒間に空燃比異常があると判断したときに、各気筒のインジェクタの燃料噴射時間を所定時間ずつ短縮させる処理が実行され、それにより失火が生じた気筒が空燃比インバランスが生じている気筒であると特定される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−１１２２４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
多気筒内燃機関において、各気筒への燃料噴射量を強制的に変える燃料噴射量変更制御を実行し、そのときの各気筒に関する出力変動に基づき気筒間空燃比ばらつき異常つまり気筒間の空燃比がインバランス状態になっていることを検出することが可能である。しかし、その燃料噴射量の変更量が過多であると、それによる出力変動が過大になり、ドライバビリティの悪化が生じる可能性がある。逆に、その燃料噴射量の変更量を過少であると、それによる出力変動が過小になり、気筒間空燃比ばらつき異常を十分に検出できない可能性がある。
【０００８】
そこで、本発明は以上の事情に鑑みて創案され、その目的は、そのような燃料噴射量変更制御を実行して、気筒間空燃比ばらつき異常を適切に検出することにある。
【課題を解決するための手段】
【０００９】
本発明の一の態様によれば、所定の対象気筒の燃料噴射量の変更量が徐々に大きくなるように、該所定の対象気筒の燃料噴射量を強制的に増量または減量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、該燃料噴射量変更制御の実行に伴って得られる前記所定の対象気筒に関する出力変動量が所定の出力変動量に達したか否かを判定する判定手段と、該判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定されたとき、そのときの前記燃料噴射量変更制御による前記所定の対象気筒の燃料噴射量における変更量に基づいて気筒間空然比ばらつき異常を検出する検出手段とを備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置が提供される。
【００１０】
上記多気筒内燃機関の気筒間空燃比ばらつき異常検出装置は、前記判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定される前に、前記燃料噴射量変更制御による前記所定の対象気筒の燃料噴射量における変更量が所定量を越えたとき、気筒間空然比ばらつき異常があると判定する第１異常判定手段をさらに備えることができる。
【００１１】
上記多気筒内燃機関の気筒間空燃比ばらつき異常検出装置は、前記判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定される前、エンジン回転速度が第１所定回転速度を越えたとき、気筒間空然比ばらつき異常があると判定する第２異常判定手段をさらに備えることができる。
【００１２】
上記多気筒内燃機関の気筒間空燃比ばらつき異常検出装置は、前記判定手段により前記所定の対象気筒に関する出力変動量が前記所定の出力変動量に達したと判定される前、エンジン回転速度が第２所定回転速度を下回ったとき、または、エンジン回転速度が所定回転速度以上低下したとき、前記燃料噴射量変更制御を中止する第１中止手段をさらに備えることができる。
【００１３】
上記多気筒内燃機関の気筒間空燃比ばらつき異常検出装置は、エンジン回転速度の低下によるエンストを防止するべく吸入空気量を増量するエンスト防止制御を実行するエンスト防止制御実行手段と、前記燃料噴射量変更制御が実行されたときに該エンスト防止制御が実行されたとき、前記燃料噴射量変更制御を中止する第２中止手段とをさらに備えることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の第１実施形態に係る内燃機関の概略図である。
【図２】触媒前センサおよび触媒後センサの出力特性を示すグラフである。
【図３】回転変動を表す値を説明するためのタイムチャートである。
【図４】回転変動を表す別の値を説明するためのタイムチャートである。
【図５】燃料噴射量を増量または減量したときの回転変動の変化を示すグラフである。
【図６】燃料噴射量の増量と、増量前後の回転変動の変化との様子を示す図である。
【図７】第１実施形態におけるフローチャートである。
【図８】第２実施形態におけるフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を添付図面に基づき説明する。まず、第１実施形態が説明される。
【００１６】
図１に本第１実施形態に係る内燃機関を概略的に示す。図示される内燃機関（エンジン）１は自動車に搭載されたＶ型８気筒火花点火式内燃機関（ガソリンエンジン）である。エンジン１は第１のバンクＢ１と第２のバンクＢ２とを有し、第１のバンクＢ１には奇数番気筒すなわち＃１，＃３，＃５，＃７気筒が設けられ、第２のバンクＢ２には偶数番気筒すなわち＃２，＃４，＃６，＃８気筒が設けられている。＃１，＃３，＃５，＃７気筒が第１の気筒群をなし、＃２，＃４，＃６，＃８気筒が第２の気筒群をなす。
【００１７】
各気筒にインジェクタ（燃料噴射弁）２が設けられる。インジェクタ２は、対応気筒の吸気通路特に吸気ポート（図示せず）内に向けて燃料を噴射する。また各気筒には、筒内の混合気に点火するための点火プラグ１３が設けられる。なお、エンジン１での点火順序は＃１、＃８、＃７、＃３、＃６、＃５、＃４、＃２気筒の順である。
【００１８】
吸気を導入するための吸気通路７は、前記吸気ポートの他、集合部としてのサージタンク８と、各気筒の吸気ポートおよびサージタンク８を結ぶ複数の吸気マニホールド９と、サージタンク８の上流側の吸気管１０などによって区画形成されている。吸気管１０には、上流側から順にエアフローメータ１１と電子制御式スロットルバルブ１２とが設けられている。エアフローメータ１１は吸気流量に応じた大きさの信号を出力する。
【００１９】
第１のバンクＢ１に対して第１の排気通路１４Ａが設けられ、第２のバンクＢ２に対して第２の排気通路１４Ｂが設けられる。これら第１および第２の排気通路１４Ａ，１４Ｂは下流触媒コンバータ１９の上流側で合流されている。この合流位置より上流側の排気系の構成は両バンクで同一なので、ここでは第１のバンクＢ１側についてのみ説明し、第２のバンクＢ２側については図中同一符号を付して説明を省略する。
【００２０】
第１の排気通路１４Ａは、＃１，＃３，＃５，＃７の各気筒の排気ポート（図示せず）と、これら排気ポートの排気ガスを集合させる排気マニホールド１６と、排気マニホールド１６の下流側に設置された排気管１７などにより区画形成されている。そして排気管１７には上流触媒コンバータ１８が設けられている。上流触媒コンバータ１８の上流側および下流側（直前および直後）にそれぞれ、排気ガスの空燃比を検出するための空燃比センサである触媒前センサ２０および触媒後センサ２１が設置されている。このように、一方のバンクに属する複数の気筒（あるいは気筒群）に対して、上流触媒コンバータ１８、触媒前センサ２０および触媒後センサ２１が各一つずつ設けられている。なお、第１および第２の排気通路１４Ａ，１４Ｂを合流させないで、これらに個別に下流触媒コンバータ１９を設けることも可能である。
【００２１】
エンジン１には各種制御手段（制御装置）および各種検出手段（検出部）などとしての各機能を担う電子制御ユニット（以下ＥＣＵと称す）１００が設けられている。ＥＣＵ１００は、何れも図示されないＣＰＵ、ＲＯＭおよびＲＡＭを含む記憶装置、並びに入出力ポート等を含むものである。ＥＣＵ１００には、前述のエアフローメータ１１、触媒前センサ２０、触媒後センサ２１のほか、エンジン１のクランク角を検出するためのクランク角センサ２２、アクセル開度を検出するためのアクセル開度センサ２３、エンジン冷却水の温度を検出するための水温センサ２４、その他の各種センサが図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ１００は、各種センサの検出値等に基づき、所望の出力が得られるように、インジェクタ２、点火プラグ１３、スロットルバルブ１２等を制御し、燃料噴射量、燃料噴射時期、点火時期、スロットル開度等を制御する。
【００２２】
このようなＥＣＵ１００は、燃料噴射制御手段、点火制御手段、吸入空気量制御手段、空燃比制御手段等のそれぞれの機能を担う。そして、エンジン１には後で詳述するように気筒間空燃比ばらつき異常検出装置が装備されていて、ＥＣＵ１００は、燃料噴射量変更制御手段、判定手段、気筒間空然比ばらつき異常を検出する検出手段の各機能を実質的に担う。
【００２３】
また、スロットルバルブ１２にはスロットル開度センサ（図示せず）が設けられ、スロットル開度センサからの信号がＥＣＵ１００に送られる。ＥＣＵ１００は、通常、アクセル開度に応じて定まる開度に、スロットルバルブ１２の開度（スロットル開度）をフィードバック制御する。
【００２４】
またＥＣＵ１００は、エアフローメータ１１からの信号に基づき、単位時間当たりの吸入空気の量すなわち吸入空気量を検出する。そしてＥＣＵ１００は、検出したアクセル開度、スロットル開度および吸入空気量の少なくとも一つに基づき、エンジン１の負荷を検出する。
【００２５】
ＥＣＵ１００は、クランク角センサ２２からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では１分間当たりの回転数ｒｐｍのことをいう。なお、ＥＣＵ１００は、出力検出手段としてのクランク角センサ２２の出力に基づいて後述するように出力変動量を、本実施形態では回転変動量を算出する。
【００２６】
そして、ＥＣＵ１００は、通常、吸入空気量およびエンジン回転速度つまりエンジン運転状態に基づいて、予め記憶装置に記憶するデータ等を用いて、燃料噴射量（または燃料噴射時間）を設定する。そして、その燃料噴射量に基づいて、インジェクタ２からの燃料の噴射が制御される。なお、このような通常時の燃料噴射制御による燃料噴射量をここでは通常時燃料噴射量と称する。
【００２７】
また、ＥＣＵ１００は、エンジン回転速度の低下によるエンストを防止するべくエンスト防止制御を実行するエンスト防止制御実行手段の機能も担う。ＥＣＵ１００は、エンジン始動後、エンジン回転速度が過剰に低くなると、エンストが発生する可能性が高くなるので、エンジン回転速度が所定回転速度を下回る場合、吸入空気量を増やすと共に燃料噴射量を増量して、低速トルクを確保する。これは、ここでは実質的に吸入空気量を増量することで、具体的にはスロットル開度を強制的に大きくすることで実行される。後述する空燃比フィードバック制御がエンジン１の制御には含まれるので、吸入空気量の増大により燃料噴射量が増大するからである。なお、吸入空気量の増大を図るときに同時に、燃料噴射量が強制的に増やされてもよい。また、このようなエンスト防止用の吸入空気量の制御として、過給器が設けられている場合には、その過給器を積極的に作動させる制御が実行されてもよい。例えば、この場合、過給器が電動モータで作動させられ得る。
【００２８】
ところで、触媒前センサ２０は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に触媒前センサ２０の出力特性を示す。図示するように、触媒前センサ２０は、検出した排気空燃比（触媒前空燃比Ａ／Ｆｆ）に比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．５）であるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００２９】
他方、触媒後センサ２１は所謂Ｏ2センサからなり、ストイキを境に出力値が急変する特性を持つ。図２に触媒後センサ２１の出力特性を示す。図示するように、排気空燃比（触媒後空燃比Ａ／Ｆｒ）がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。触媒後センサ２１の出力電圧は所定の範囲（例えば０〜１Ｖ）内で変化する。概して排気空燃比がストイキよりリーンのとき、触媒後センサの出力電圧Ｖｒはストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサの出力電圧Ｖｒはストイキ相当値Ｖｒｅｆｒより高くなる。
【００３０】
上流触媒コンバータ１８および下流触媒コンバータ１９はそれぞれ三元触媒からなり、それぞれに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに排気中の有害成分であるＮＯｘ、ＨＣおよびＣＯを同時に浄化する。この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３１】
そこで、エンジン１の通常運転時、上流触媒コンバータ１８に流入する排気ガスの空燃比をストイキ近傍に制御するための空燃比制御（ストイキ制御）がＥＣＵ１００により実行される。この空燃比制御は、触媒前センサ２０によって検出された排気空燃比が所定の目標空燃比であるストイキになるように混合気の空燃比（具体的には燃料噴射量）をフィードバック制御する主空燃比制御（主空燃比フィードバック制御）と、触媒後センサ２１によって検出された排気空燃比がストイキになるように混合気の空燃比（具体的には燃料噴射量）をフィードバック制御する補助空燃比制御（補助空燃比フィードバック制御）とからなる。具体的には、主空燃比フィードバック制御では、触媒前センサ２０の出力に基づいて検出される現状の排気空燃比を所定の目標空燃比に追従させるために、第１補正係数を演算して、この第１補正係数に基づいてインジェクタ２からの燃料噴射量を調整するような制御が実行される。そして、さらに補助空燃比フィードバック制御では、触媒後センサ２１の出力に基づいて、第２補正係数を演算し、主空燃比フィードバック制御にて得られた第１補正係数を修正するような制御が実行される。ただし、本実施形態において、上記所定の目標空燃比つまり空燃比の基準値（目標値）はストイキであり、このストイキに相当する燃料噴射量（ストイキ相当量という）が燃料噴射量の基準値（目標値）である。但し、空燃比および燃料噴射量の基準値は他の値とすることもできる。
【００３２】
空燃比制御はバンク単位で若しくはバンク毎に行われる。例えば第１のバンクＢ１側の触媒前センサ２０および触媒後センサ２１の検出値は、第１のバンクＢ１に属する＃１，＃３，＃５，＃７気筒の空燃比フィードバック制御にのみ用いられ、第２のバンクＢ２に属する＃２，＃４，＃６，＃８気筒の空燃比フィードバック制御には用いられない。逆も同様である。あたかも独立した直列４気筒エンジンが二つあるように、空燃比制御が実行される。また空燃比制御においては、同一バンクに属する各気筒に対し同一の制御量が一律に用いられる。
【００３３】
さて、例えば全気筒のうちの一部の気筒（特に１気筒）において、インジェクタ２の故障等が発生し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生することがある。例えば第１のバンクＢ１について、インジェクタ２の閉弁不良により＃１気筒の燃料噴射量が他の＃３，＃５，＃７気筒の燃料噴射量よりも多くなり、＃１気筒の空燃比が他の＃３，＃５，＃７気筒の空燃比よりも大きくリッチ側にずれる場合である。
【００３４】
このときでも、前述の空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ２０に供給されるトータルガス（合流後の排気ガス）の空燃比をストイキに制御できる場合がある。しかし、気筒別に見ると、＃１気筒がストイキより大きくリッチ、＃３，＃５，＃７気筒がストイキよりリーンであり、全体のバランスとしてストイキとなっているに過ぎず、エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。
【００３５】
ここで、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の気筒のうちある１気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒（インバランス気筒）の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒（バランス気筒）の燃料噴射量即ち基準噴射量（上記通常時燃料噴射量に相当）からズレているかを示す値である。インバランス率をＩＢ（％）、インバランス気筒の燃料噴射量をＱｉｂ、バランス気筒の燃料噴射量即ち基準噴射量をＱｓとすると、ＩＢ＝（Ｑｉｂ−Ｑｓ）／Ｑｓ×１００で表される。インバランス率ＩＢが正負に関わらず大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。
【００３６】
他方、所定の対象気筒の燃料噴射量をアクティブに若しくは強制的に増量または減量し、このように変更したときの、つまり、少なくとも増量または減量後の対象気筒の回転変動に基づき、ばらつき異常を検出することができる。
【００３７】
まず、回転変動について説明する。回転変動とは、エンジン１の出力変動に含まれ、エンジン回転速度あるいはクランクシャフト回転速度の変化をいう。そして本明細書では、回転変動を表す値つまり回転変動の程度を表した値を回転変動量と称する。例えば、クランクシャフトが所定角度回転するのに要する時間を計測し、その計測値を演算処理することで求められる値（量）が回転変動量として用いられることができる。以下の図３および図４を用いた説明で、種々の値を回転変動量として用いることができることが理解されるであろう。
【００３８】
図３には回転変動を説明するためのタイムチャートを示す。図示例は直列４気筒エンジンの例であるが、本実施形態のようなＶ型８気筒エンジンにも適用可能であることが理解されよう。図３の直列４気筒エンジンでの点火順序は＃１，＃３，＃４，＃２気筒の順である。
【００３９】
図３において、（Ａ）はエンジンのクランク角（°ＣＡ）を示す。１エンジンサイクルは７２０（°ＣＡ）であり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。
【００４０】
図３（Ｂ）は、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Ｔ（ｓ）を示す。ここでは所定角度が３０（°ＣＡ）であるが、他の値（例えば１０（°ＣＡ））としてもよい。回転時間Ｔが長いほどエンジン回転速度は遅く、逆に回転時間Ｔが短いほどエンジン回転速度は速い。この回転時間Ｔはクランク角センサ２２の出力に基づきＥＣＵ１００により検出される。
【００４１】
図３（Ｃ）は、後に説明する回転時間差ΔＴを示す。図中、「正常」とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、「リーンずれ異常」とは、＃１気筒のみにインバランス率ＩＢ＝−３０（％）のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。
【００４２】
まず、各気筒の同一タイミングにおける回転時間ＴがＥＣＵにより検出される。ここでは各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける回転時間Ｔが検出される。この回転時間Ｔが検出されるタイミングを検出タイミングという。
【００４３】
次いで、検出タイミング毎に、当該検出タイミングにおける回転時間Ｔ２と、直前の検出タイミングにおける回転時間Ｔ１との差（Ｔ２−Ｔ１）がＥＣＵにより算出される。この差が（Ｃ）に示す回転時間差ΔＴであり、ΔＴ＝Ｔ２−Ｔ１である。
【００４４】
通常、クランク角がＴＤＣを超えた後のある気筒の燃焼行程では回転速度が上昇するため回転時間Ｔが低下し、その後の次点火気筒の圧縮行程では回転速度が低下するため回転時間Ｔが増大する。
【００４５】
しかしながら、（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける回転時間Ｔは大きくなっている。それ故、＃３気筒ＴＤＣにおける回転時間差ΔＴは、（Ｃ）に示すように大きな正の値となる。この＃３気筒ＴＤＣにおける回転時間および回転時間差をそれぞれ＃１気筒の回転時間および回転時間差とし、それぞれＴ１およびΔＴ１で表す。他の気筒についても同様である。
【００４６】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ回転時間Ｔが若干低下しているに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の回転時間差ΔＴ３は、（Ｃ）に示すように小さな負の値となる。このようにある気筒の回転時間差ΔＴが、点火気筒ＴＤＣ毎に検出される。
【００４７】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の回転時間差ΔＴ４および＃２気筒の回転時間差ΔＴ２はともに小さな負の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００４８】
このように、各気筒の回転時間差ΔＴは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔＴを各気筒の回転変動の指標値つまり回転変動値または回転変動量として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔＴは大きくなる。
【００４９】
他方、図３（Ｃ）に示すように、正常の場合には回転時間差ΔＴが常時ゼロ付近である。
【００５０】
図３の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち１気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。
【００５１】
次に、図４を参照して、回転変動を表す別の値つまり別の回転変動量の例を説明する。図４（Ａ）は図３（Ａ）と同様にエンジンのクランク角（°ＣＡ）を示す。
【００５２】
図４（Ｂ）は、前記回転時間Ｔの逆数である角速度ω（ｒａｄ／ｓ）を示す。ω＝１／Ｔである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Ｔの波形を上下反転した形となる。
【００５３】
図４（Ｃ）は、前記回転時間差ΔＴと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔＴの波形を上下反転した形となる。図中の「正常」および「リーンずれ異常」については図３と同様である。
【００５４】
まず、各気筒の同一タイミングにおける角速度ωがＥＣＵにより検出される。ここでも各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける角速度ωが検出される。角速度ωは、１を前記回転時間Ｔで除することにより算出される。
【００５５】
次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω２と、直前の検出タイミングにおける角速度ω１との差（ω２−ω１）がＥＣＵにより算出される。この差が（Ｃ）に示す角速度差Δωであり、Δω＝ω２−ω１である。
【００５６】
通常、クランク角がＴＤＣを超えた後のある気筒の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の次点火気筒の圧縮行程では回転速度が低下するため角速度ωが低下する。
【００５７】
しかしながら、（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける角速度ωは小さくなっている。それ故、＃３気筒ＴＤＣにおける角速度差Δωは、（Ｃ）に示すように大きな負の値となる。この＃３気筒ＴＤＣにおける角速度および角速度差をそれぞれ＃１気筒の角速度および角速度差とし、それぞれω１およびΔω１で表す。他の気筒についても同様である。
【００５８】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ角速度ωが若干上昇するに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の角速度差Δω３は、（Ｃ）に示すように小さな正の値となる。このようにある気筒の角速度差Δωが、点火気筒ＴＤＣ毎に検出される。
【００５９】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の角速度差Δω４および＃２気筒の角速度差Δω２はともに小さな正の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００６０】
このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなる（マイナス方向に大きくなる）。
【００６１】
他方、図４（Ｃ）に示すように、正常の場合には角速度差Δωが常時ゼロ付近である。
【００６２】
逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。
【００６３】
次に、ある１気筒の燃料噴射量をアクティブにつまり強制的に増量または減量して当該気筒での空燃比を変化させたときの回転変動の変化を、図５を参照して説明する。ただし、この場合、燃料噴射量をアクティブに増量または減量するとき、吸入空気量は変化しないようにスロットルバルブ１２等の作動は制御される。
【００６４】
図５において、横軸はインバランス率ＩＢを示し、縦軸は回転変動の指標値つまり回転変動量としての角速度差Δωを示す。ここでは、全８気筒のうちある１気筒のみのインバランス率ＩＢを変化させ、このときの当該１気筒のインバランス率ＩＢと、当該１気筒の角速度差Δωとの関係を線ａで示す。ここでは当該１気筒をアクティブ対象気筒という。他の気筒は全てバランス気筒であり、基準噴射量Ｑｓとしてストイキ相当量を噴射しているものとする。
【００６５】
図５の横軸において、ＩＢ＝０（％）とは、アクティブ対象気筒のインバランス率ＩＢが０（％）で、アクティブ対象気筒がストイキ相当量を噴射している正常な場合を意味する。このときのデータが線ａ上のプロットｂで示される。このＩＢ＝０（％）の状態から図中左側に移動すると、インバランス率ＩＢがプラス方向に増加し、燃料噴射量としては過多すなわちリッチな状態となる。逆に、ＩＢ＝０（％）から図中右側に移動すると、インバランス率ＩＢがマイナス方向に増加し、燃料噴射量としては過少すなわちリーンな状態となる。
【００６６】
特性線ａから分かるように、アクティブ対象気筒のインバランス率ＩＢが０（％）からプラス方向に増加してもマイナス方向に増加しても、アクティブ対象気筒の回転変動は大きくなり、アクティブ対象気筒の角速度差Δωが０付近からマイナス方向に大きくなる傾向にある。そして、インバランス率ＩＢが０（％）から離れるほど、特性線ａの傾きが急になり、インバランス率ＩＢの変化に対する角速度差Δωの変化は大きくなる傾向にある。
【００６７】
ここで、矢印ｃで示すように、アクティブ対象気筒の燃料噴射量を、ストイキ相当量（ＩＢ＝０（％））から所定量Δｆ１、強制的に増量する燃料噴射量増量制御を実行したとする。図示例ではインバランス率で約４０（％）相当の増量がなされている。このとき、ＩＢ＝０（％）の近辺では特性線ａの傾きが緩やかであることから、増量後においても角速度差Δωは増量前と大きく変わらず、増量前後の角速度差Δωの差は極小さい。
【００６８】
他方、プロットｄで示すように、アクティブ対象気筒において既にリッチずれが生じており、そのインバランス率ＩＢが比較的大きなプラス側の値になっているときを考える。図示例ではインバランス率で約５０（％）のリッチずれが生じている。この状態から矢印ｅで示すように、アクティブ対象気筒の燃料噴射量を同一量Δｆ１、強制的に増量する燃料噴射量増量制御を実行したとすると、この領域では特性線ａの傾きが急であることから、増量後の角速度差Δωは増量前より大きくマイナス側に変化し、増量前後の角速度差Δωの差は大きくなる。すなわち燃料噴射量の増量により、アクティブ対象気筒の回転変動は大きくなる。
【００６９】
よって、アクティブ対象気筒の燃料噴射量を強制的に所定量増量したときの少なくとも増量後のアクティブ対象気筒の角速度差Δωに基づき、ばらつき異常を検出することが可能である。
【００７０】
すなわち、増量後の角速度差Δωが図示するように所定の負の異常判定値αより小さい場合（Δω＜α）には、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、増量後の角速度差Δωが異常判定値αより小さくない場合（Δω≧α）には、少なくともアクティブ対象気筒を正常と判定することができる。
【００７１】
あるいは代替的に、図示するように、増量前後の角速度差Δωの差ｄΔωに基づき、ばらつき異常を検出することも可能である。この場合、増量前の角速度差をΔω１、増量後の角速度差をΔω２とすると、両者の差ｄΔωをｄΔω＝Δω１−Δω２と定義することができる。そして差ｄΔωが所定の正の異常判定値β１を超えた場合（ｄΔω＞β１）、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、差ｄΔωが異常判定値β１を超えない場合（ｄΔω≦β１）、少なくともアクティブ対象気筒を正常と判定することができる。
【００７２】
インバランス率が負の領域で強制減量を行ったとき、つまり燃料噴射量減量制御を実行したときも同様のことが言える。矢印ｆで示すように、アクティブ対象気筒の燃料噴射量をストイキ相当量（ＩＢ＝０（％））から所定量Δｆ２、強制的に減量する燃料噴射量減量制御を実行したとする。図示例ではインバランス率で約１０（％）相当の減量がなされている。このとき、特性線ａの傾きが比較的緩やかであることから、減量後の角速度差Δωは減量前より若干小さくなっているだけで、増量前後の角速度差Δωの差は小さい。
【００７３】
他方、プロットｇで示すように、アクティブ対象気筒において既にリーンずれが生じており、そのインバランス率ＩＢが比較的大きなマイナス側の値になっているときを考える。図示例ではインバランス率で約−２０（％）のリーンずれが生じている。この状態から矢印ｈで示すように、アクティブ対象気筒の燃料噴射量を同一量Δｆ２、強制的に減量する燃料噴射量減量制御を実行したとすると、この領域では特性線ａの傾きが比較的急であることから、減量後の角速度差Δωは減量前より大きくマイナス側に変化し、減量前後の角速度差Δωの差は大きくなる。すなわち燃料噴射量の減量により、アクティブ対象気筒の回転変動は大きくなる。
【００７４】
よって、アクティブ対象気筒の燃料噴射量を強制的に所定量減量したときの少なくとも減量後のアクティブ対象気筒の角速度差Δωに基づき、気筒間空然比ばらつき異常を検出することが可能である。
【００７５】
すなわち、減量後の角速度差Δωが図示するように所定の負の異常判定値αより小さい場合（Δω＜α）には、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、減量後の角速度差Δωが異常判定値αより小さくない場合（Δω≧α）には、少なくともアクティブ対象気筒を正常と判定することができる。
【００７６】
あるいは代替的に、図示するように、減量前後の角速度差Δωの差ｄΔωに基づき、ばらつき異常を検出することも可能である。この場合も両者の差ｄΔωをｄΔω＝Δω１−Δω２と定義することができる。差ｄΔωが所定の正の異常判定値β２を超えた場合（ｄΔω＞β２）、ばらつき異常有りと判定し、且つアクティブ対象気筒を異常気筒と特定することができる。逆に、差ｄΔωが異常判定値β２を超えない場合（ｄΔω≦β２）、少なくともアクティブ対象気筒を正常と判定することができる。なお、増量時の異常判定値β１と、減量時の異常判定値β２とは異なってもまたは同じであってもよい。
【００７７】
各気筒の回転変動の指標値つまり回転変動量として回転時間差ΔＴを用いた場合にも、同様の方法で異常検出および異常気筒特定が可能であることが理解されるであろう。また、各気筒の回転変動の指標値としては、上述した以外の他の値を用いることも可能である。
【００７８】
図６には、一例として、全８気筒についての燃料噴射量の増量と、増量前後の回転変動の変化との様子を示す。上段が増量前、下段が増量後である。左右方向の左端列に示されているように、増量の方法としては、ここでは、全気筒一律且つ同時に同一量増量している。すなわち図６の例では所定の対象気筒が全気筒である。増量前は全気筒のインジェクタ２に対し、ストイキ相当量の燃料を噴射するよう開弁指令がなされており、増量後は全気筒のインジェクタ２に対し、ストイキ相当量より所定量多い燃料を噴射するよう開弁指令がなされている。
【００７９】
この増量の仕方は、全気筒同時に行う方法の他、任意数の気筒ずつ順番に且つ交互に行う方法がある。例えば１気筒ずつ増量したり、２気筒ずつ増量したり、４気筒ずつ増量したりする方法がある。増量を行う対象気筒の数および気筒番号は任意に設定できる。
【００８０】
対象気筒数が多いほど、全増量時間を短縮できるメリットがあり、排気エミッションが悪化するデメリットがある。逆に対象気筒数が少ないほど、排気エミッションの悪化を抑制できるメリットがあるが、全増量時間が長期化するデメリットがある。
【００８１】
各気筒の回転変動の指標値として、図５と同様、角速度差Δωを用いている。
【００８２】
例えば左右方向の中央列に示されている正常時、すなわちいずれの気筒においても空燃比ずれ異常が生じていない場合だと、増量前では全気筒の角速度差Δωがほぼ等しく０付近にあり、全気筒の回転変動が少ない。また増量後でも全気筒の角速度差Δωがほぼ等しく若干マイナス方向に大きくなるだけであり、全気筒の回転変動はそれ程大きくならない。故に、増量前後の角速度差の差ｄΔωは小さい。
【００８３】
しかしながら、左右方向の右端列に示されている異常時だと、正常時とは異なる挙動を示す。この異常時では、＃８気筒にのみインバランス率で５０％相当のリッチずれ異常が生じており、＃８気筒のみが異常気筒である。この場合、増量前では、＃８気筒以外の残部気筒の角速度差Δωはほぼ等しく０付近にあるが、＃８気筒の角速度差Δωは残部気筒の角速度差Δωより若干マイナス方向に大きい。
【００８４】
しかしながらそれでも、＃８気筒の角速度差Δωと残部気筒の角速度差Δωとの間にはそれ程差がない。よって増量前の角速度差Δωによっては、異常検出と異常気筒特定を十分な精度で行うことができない。
【００８５】
他方、増量後だと増量前に比べて、残部気筒の角速度差Δωはほぼ等しく若干マイナス方向に変化するだけであるが、＃８気筒の角速度差Δωは大きくマイナス方向に変化する。よって＃８気筒の増量前後の角速度差の差ｄΔωは、残部気筒のそれより顕著に大きくなる。よってこの違いを利用し、異常検出と異常気筒特定を十分な精度で行うことができる。
【００８６】
この場合、＃８気筒の差ｄΔωのみが前記異常判定値β１より大きくなるので、＃８気筒にリッチずれ異常があることを検出できる。
【００８７】
燃料噴射量を強制減量して何れかの気筒のリーンずれ異常を検出する場合にも、同様の方法を採用できることが理解されるであろう。
【００８８】
以上述べたように、気筒間空燃比ばらつき異常を検出するためには、上記したように、燃料噴射量を強制的に増量変更または減量変更させる制御つまり燃料噴射量変更制御を行って回転変動量を大きくすることが有効である。しかし、上で説明した燃料噴射量変更制御では、一気に、ある程度大きな量、燃料噴射量が変更される。それ故、仮に、燃料噴射量増量制御の対象である所定の対象気筒で、他の正常な気筒に対して、既にかなりのリッチずれが生じている場合に、当該所定の対象気筒の燃料噴射量を大きく増量変更すると、該所定の対象気筒に関して大きな出力変動が生じ得る。これは、ドライバビリティの悪化をもたらし、運転者に違和感を抱かせる可能性がある。
【００８９】
そこで、本実施形態の燃料噴射量変更制御では、所定の対象気筒の燃料噴射量を基準噴射量から一気に大きくズラすのではなく、該所定の対象気筒の燃料噴射量の変更量が徐々に大きくなるように所定の対象気筒の燃料噴射量を段階的に変更する。そして、所定の対象気筒に関する回転変動量が予め定めた所定の回転変動量に達したとき、そのときの所定の対象気筒の燃料噴射量における変更量に基づいて気筒間空燃比ばらつき異常が検出される。ここで、所定の回転変動量は、運転者に違和感を抱かせる可能性を考慮して定められ、そのような違和感を抱かせないように、またはほとんど感じさせないように定められるとよい。具体的には、所定の回転変動量の回転変動が生じた場合であっても、運転者に感知され得るほどのドライバビリティの変化が生じないように、所定の回転変動量は定められることができる。
【００９０】
以下、図７のフローチャートに基づいて、本第１実施形態における、気筒間空然比ばらつき異常を検出する制御つまり当該実施形態における空燃比診断用制御を説明する。
【００９１】
まず、エンジン１が始動されると、ステップＳ７０１では変更カウンタＣ１がゼロにされ、次ぐステップＳ７０３では燃料変更量Δｆがゼロにされる。
【００９２】
そして、次ぐステップＳ７０５では、所定の運転状態か否かが判定される。この判定は、ＥＣＵ１００により実行され、ここでは上記したように検出されるエンジン回転速度およびエンジン負荷に基づいて実行される。例えば、エンジン始動後の所定の運転状態であるとき、ステップＳ７０５で肯定判定される。一例としては、エンジン冷却水温が所定温度（例えば７０℃）以上であること、負荷が所定範囲内にあること、エンジン回転速度が所定エンジン回転速度域にあることの全てを満たす運転状態のとき、ステップＳ７０５で肯定判定される。
【００９３】
ステップＳ７０５で肯定判定されるときには、上記したように触媒コンバータ１８で排気浄化をより好適に行うために、排気空燃比がストイキに追従するように空燃比フィードバック制御が実行されているときが含まれ得る。したがって、ステップＳ７０５の判定は、排気空燃比を所定の目標空燃比に追従させるように空燃比フィードバック制御を実行しているか否かの判定に相当し得、特にここでは所定の目標空燃比はストイキである。しかし、所定の目標空燃比は、ストイキ以外とされることもできる。なお、本発明は、そのような空燃比制御が行われていることを、気筒間空燃比ばらつき異常の検出を実行するための条件に含めることができるが、含めなくてもよい。
【００９４】
ステップＳ７０５で所定の運転状態であるので肯定判定されると、ステップＳ７０７で変更カウンタＣ１がゼロか否かが判定される。ここでは、変更カウンタＣ１がゼロであるので肯定判定され、ステップＳ７０９で燃料変更量Δｆに所定量ｆ１が加算される。今までは燃料変更量Δｆがゼロであったので、これにより、燃料変更量Δｆは所定量ｆ１になる。所定量ｆ１は、あまり大きな量ではなく、例えばインバランス率で約５（％）相当の量とされる。
【００９５】
そして、次ぐステップＳ７１１で燃料噴射量変更制御のうちの燃料噴射量増量制御が所定期間実行されて、それに伴うデータ、特に出力検出手段としてのクランク角センサ２２の出力に基づくデータが記録される。燃料噴射量増量制御では、ステップＳ７０９で設定された燃料変更量Δｆ分、所定の対象気筒の燃料噴射量が増量変更させられる。燃料噴射量増量制御は上記したように様々な設定にしたがって実行され得、本実施形態では図６に表されているのと同様に全８気筒において同時期に実行される。なお、所定期間は、少なくとも１サイクルに相当する期間である。
【００９６】
そして、次のステップＳ７１３で、出力変動量として回転変動量が算出される。ここでは、各気筒の回転変動量として角速度差Δωが既に説明したように算出される。
【００９７】
そして、ステップＳ７１５で、ステップＳ７１３で算出された角速度差Δωが第１所定値以下であるか否かが判定される。この判定はステップＳ７１３で算出された角速度差Δωの各々に対して実行され、それらのうちの少なくとも１つでも第１所定値以下であるとき、ステップＳ７１５で肯定判定される。なお、第１所定値は、運転者に感知され得るほどのドライバビリティの変化が生じないような、所定の出力変動量、ここでは所定の回転変動量として予め実験に基づき定められている。また、第１所定値は、気筒間空然比ばらつき異常がある場合に十分かつ適切にそれを識別可能な出力変動量として予め実験に基づき定められている。
【００９８】
ステップＳ７１５で否定判定されると、ステップＳ７０９に戻り、さらに燃料変更量Δｆに所定量ｆ１が加算される。今までは燃料変更量Δｆがｆ１であったので、これにより、燃料変更量Δｆは「２×ｆ１」になる。
【００９９】
そして、次ぐステップＳ７１１で、直近のステップＳ７０９で設定された燃料変更量Δｆ分、所定の対象気筒である全気筒の燃料噴射量を増量する燃料噴射量増量制御が所定期間実行されて、それに伴うデータが記録される。
【０１００】
そして、次のステップＳ７１３で、各気筒の回転変動量として角速度差Δωが同様に算出され、ステップＳ７１５で、ステップＳ７１３で算出された角速度差Δωの各々が第１所定値以下であるか否かが判定される。
【０１０１】
このように、燃料噴射量増量制御の実行により、いずれかの気筒の角速度差Δωが第１所定値以下になるまで、つまり、いずれかの気筒の出力変動量が所定の出力変動量以上になるまで（所定の出力変動量に達するまで）、所定の対象気筒の燃料噴射量の変更量が徐々に大きくされる。なお、本実施形態では、燃料噴射量増量制御における燃料変更量Δｆは所定量ｆ１ずつ増量されるが、段階的に燃料噴射量の変更幅は小さくされてもよい。なお、本発明は、段階的に燃料噴射量の変更幅が大きくされることをも排除しない。また、第１回目の燃料噴射量増量制御における燃料変更量Δｆ、つまり該燃料変更量の初期値は本実施形態では燃料噴射量の変更幅と同じであるが、異なってもよい。
【０１０２】
そして、ステップＳ７１５で角速度差Δωが第１所定値以下であるので肯定判定されるようになると、ステップＳ７１７で燃料変更量Δｆが第１燃料量以下か否かが判定される。燃料変更量Δｆが第１燃料量以下である場合、燃料噴射量の少量の増量変更で、所定の対象気筒の少なくとも１つの気筒の角速度差Δωが第１所定値以下になったのであるから、当該少なくとも１つの気筒では当初からかなりの大きさのリッチずれが生じていたに違いない。それ故、燃料変更量Δｆが第１燃料量以下であるのでステップＳ７１７で肯定判定される場合、ステップＳ７１９で、気筒間空然比ばらつき異常があると判定されたことに対応するように異常フラグがＯＮにされて、当該フローは終了する。これにより、運転席のフロントパネル等に設けられ得る、図示しない警告ランプが点灯され、運転者または整備者などに気筒間空然比ばらつき異常があることが伝えられる。なお、異常フラグは初期状態ではＯＦＦにされている。
【０１０３】
他方、ステップＳ７１７で否定判定されると、ステップＳ７２１で変更カウンタＣ１に１が加算され、ステップＳ７０３に戻る。ステップＳ７０３では燃料変更量Δｆがゼロにされて、次ぐステップＳ７０５で上記したように所定の運転状態か否かが判定される。ステップＳ７０５で所定の運転状態であるので肯定判定されると、ステップＳ７０７で変更カウンタＣ１がゼロか否かが判定される。ここでは、変更カウンタＣ１は１であるので、否定判定されて、ステップＳ７２３で燃料変更量Δｆに所定量ｆ２が加算される。ステップＳ７０３で燃料変更量Δｆがゼロにされたので、これにより、燃料変更量Δｆは所定量ｆ２になる。所定量ｆ２は、あまり大きな量ではなく、例えばインバランス率で約２（％）相当の量とされる。
【０１０４】
そして、次ぐステップＳ７２５で、燃料噴射量減量制御が燃料噴射量変更制御として所定期間実行されて、それに伴うデータ、特に出力検出手段としてのクランク角センサ２２の出力に基づくデータが記録される。燃料噴射量減量制御では、直近のステップＳ７２３で設定された燃料変更量Δｆ分、所定の対象気筒の燃料噴射量が減量変更させられる。燃料噴射量減量制御は上記したように様々な設定にしたがって実行され得、本実施形態では図６に表されているのと同様に全８気筒において同時期に実行される。なお、所定期間は、少なくとも１サイクルに相当する期間である。
【０１０５】
そして、次のステップＳ７２７で、上記ステップＳ７１３と同様に、角速度差Δωが算出される。そして、ステップＳ７２９で、ステップＳ７２７で算出された角速度差Δωが第２所定値以下であるか否かが判定される。この判定はステップＳ７２７で算出された角速度差Δωの各々に対して実行され、それらのうちの少なくとも１つでも第２所定値以下であるとき、ステップＳ７２９で肯定判定される。なお、第２所定値は、運転者に感知され得るほどのドライバビリティの変化が生じないような、所定の出力変動量として予め実験に基づき定められていて、特にここではステップＳ７１５での第１所定値と異なるが、同じであってもよい。また、第２所定値は、気筒間空然比ばらつき異常がある場合に十分かつ適切にそれを識別可能な出力変動量として予め実験に基づき定められている。
【０１０６】
ステップＳ７２９で否定判定されると、ステップＳ７２３に戻り、さらに燃料変更量Δｆに所定量ｆ２が加算される。今までは燃料変更量Δｆがｆ２であったので、これにより、燃料変更量Δｆは「２×ｆ２」になる。
【０１０７】
そして、次ぐステップＳ７２５で直近のステップＳ７２３で設定された燃料変更量Δｆ分、所定の対象気筒である全気筒の燃料噴射量を減量する燃料噴射量減量制御が所定期間実行されて、それに伴うデータが記録される。そして、次のステップＳ７２７で、各気筒の角速度差Δωが同様に算出され、ステップＳ７２９で、ステップＳ７２７で算出された角速度差Δωが第２所定値以下であるか否かが判定される。
【０１０８】
このように、燃料噴射量減量制御の実行により、いずれかの気筒の角速度差Δωが第２所定値以下になるまで、つまり、いずれかの気筒の出力変動量が所定の出力変動量以上になるまで（所定の出力変動量に達するまで）、所定の対象気筒の燃料噴射量の変更量が徐々に大きくされる。なお、本実施形態では、燃料噴射量減量制御における燃料変更量Δｆは所定量ｆ２ずつ増量されるが、段階的に燃料噴射量の変更幅は小さくされてもよい。なお、本発明は、段階的に燃料噴射量の変更幅が大きくされることをも排除しない。また、第１回目の燃料噴射量減量制御における燃料変更量Δｆ、つまり該燃料噴射量の初期値は本実施形態では燃料噴射量の変更幅と同じであるが、異なってもよい。
【０１０９】
そして、ステップＳ７２９で角速度差Δωが第２所定値以下であるので肯定判定されるようになると、ステップＳ７３１で燃料変更量Δｆが第２燃料量以下か否かが判定される。燃料変更量Δｆが第２燃料量以下である場合、燃料噴射量の少量の減量変更で、所定の対象気筒の少なくとも１つの気筒の角速度差Δωが第２所定値以下になったのであるから、当該少なくとも１つの気筒では当初からかなりの大きさのリーンずれが生じていたに違いない。それ故、燃料変更量Δｆが第２燃料量以下であるのでステップＳ７３１で肯定判定される場合、上記ステップＳ７１９に至り、気筒間空然比ばらつき異常があると判定されたことに対応するように異常フラグがＯＮにされて、当該フローは終了する。
【０１１０】
なお、ステップＳ７３１で否定判定される場合には、当該フローは終了する。これは、気筒間空然比ばらつき異常がないとして正常判定されたことを意味する。
【０１１１】
なお、ここでは、エンジン１の始動後、それが停止するまでの間に、たった一度のみ、図７にしたがって説明された気筒間空然比ばらつき異常の検出制御が実行される。しかし、適宜の時期に、この制御が実行されてもよい。例えば、エンジン１の運転時間またはエンジン１を搭載した車両の走行距離が所定値になったときに、当該制御が実行されることができる。
【０１１２】
このように、所定の対象気筒の燃料噴射量の変更量が徐々に大きくなるように所定の対象気筒の燃料噴射量を段階的に変更する燃料噴射量変更制御を実行し、それに伴って得られる所定の対象気筒に関する出力変動量が所定の出力変動量に達したとき、そのときの所定の対象気筒の燃料噴射量における変更量に基づいて気筒間空燃比ばらつき異常が検出される。
【０１１３】
しかし、このような燃料噴射量変更制御を伴う空燃比診断用制御はある程度の期間実行されるので、その途中で何らかの不具合が生じた場合もしくは何らかの制御が生じた場合などには、何らかの策が実行されることが望まれる。
【０１１４】
燃料噴射量変更制御が実行されたときであって、所定の回転変動量が得られる前に（ステップＳ７１５またはＳ７２９で肯定判定される前）、エンジン回転速度が第１所定回転速度を越えたとき、つまりエンジン回転速度が所定回転速度以上変化するように高まったとき、それは所定の対象気筒の燃焼状態を悪化させるように燃料噴射量を変更していることに整合しない。それ故、このような場合には、ＥＣＵ１００の第２異常判定手段の機能を担う部分は、空燃比診断用制御の途中であっても（燃料噴射量変更制御を含む）その制御を中止し、気筒間空然比ばらつき異常があると判定するように異常フラグをＯＮにする。なお、第１所定回転速度は、例えば、ステップＳ７０５での所定の運転状態に対応する所定回転速度に、１０００ｒｐｍを加えた回転速度であり得る。
【０１１５】
また、燃料噴射量変更制御が実行されたときであって、特に燃料噴射量減量制御が実行されたときであって、所定の回転変動量が得られる前に（ステップＳ７１５またはＳ７２９で肯定判定される前）、エンジン回転速度が第２所定回転速度を下回ったとき、または、エンジン回転速度が所定回転速度以上低下したとき、エンストの可能性が生じる。それ故、このような場合には、ＥＣＵ１００の第１中止手段の機能を担う部分は、空燃比診断用制御の途中であっても（燃料噴射量変更制御を含む）その制御を中止する。なお、このような場合にも異常フラグがＯＮにされてもよい。なお、第２所定回転速度は例えば５００ｒｐｍである。
【０１１６】
また、燃料噴射量変更制御が実行されたときに、上記エンスト防止制御が実行されたとき、このような場合にも、ＥＣＵ１００の第２中止手段の機能を担う部分は、空燃比診断用制御の途中であっても（燃料噴射量変更制御を含む）その制御を中止する。これはエンストをより確実に防止するためである。なお、このような場合にも異常フラグがＯＮにされてもよい。
【０１１７】
なお、上記したように、所定の運転状態にあるときに、燃料噴射量変更制御が実行されるが、例えば、このときにアクセルペダルが踏み込まれてアクセル開度が急激に大きくなった場合、燃料噴射量変更制御による出力変動を適切に検出できない可能性がある。それ故、このような場合には、空燃比診断用制御の途中であっても（燃料噴射量変更制御を含む）その制御は中止される。ただし、この場合、一旦中止された診断制御は、途中からまたは最初から再度、始められ得る。
【０１１８】
次に、本発明に係る第２実施形態が説明される。第２実施形態が適用されたエンジンの構成は、概ね第１実施形態が適用されたエンジン１の構成と同じであるので、以下では、第２実施形態のエンジンの構成要素の説明は省略される。第２実施形態における制御は、以下に説明する点において、上記第１実施形態における上記制御に対して特徴を有し、上記第１実施形態における上記制御を概ね包含する。なお、第２実施形態にも、第１実施形態における上記変形などが同様に適用され得る。
【０１１９】
以下に、図８のフローチャートにしたがって本発明の第２実施形態における空燃比診断用制御を説明する。ただし、図８のステップＳ８０１〜Ｓ８０９、Ｓ８１３〜Ｓ８２５、Ｓ８２９〜Ｓ８３５は、それぞれ、図７の上記ステップＳ８０１〜Ｓ７３１に概ね対応するので、以下ではこれらの説明は実質的に省略される。
【０１２０】
変更カウンタＣ１がゼロである場合を考える。変更カウンタＣ１がゼロであるのでステップＳ８０７で肯定判定されると、ステップＳ８０９で燃料変更量Δｆに所定量ｆ１が加算される。エンジン始動後、始めてステップＳ８０９に至ったときには燃料変更量Δｆがゼロであるので、これにより、燃料変更量Δｆは所定量ｆ１になる。
【０１２１】
そして、ステップＳ８１１で、ステップＳ８０９で設定された燃料変更量Δｆが所定量である第３燃料量以下であるか否かが判定される。ステップＳ８１１での第３燃料量は予め実験に基づいて定められている。
【０１２２】
ステップＳ８１１で燃料変更量Δｆが第３燃料量以下であるので肯定判定されるとき、ステップＳ８１３で、燃料変更量Δｆ分、所定の対象気筒の燃料噴射量を増量する燃料噴射量増量制御が所定期間実行されて、それに伴うデータが記録される。そして、次のステップＳ８１５で、各気筒の角速度差Δωが算出され、ステップＳ８１７で、ステップＳ８１５で算出された角速度差Δωが第１所定値以下であるか否かが判定される。
【０１２３】
ステップＳ８１７で角速度差Δωが第１所定値以下でないので否定判定されると、ステップＳ８０９に戻り、さらに燃料変更量Δｆに所定量ｆ１が加算される。
【０１２４】
このように、燃料噴射量増量制御の実行により、いずれかの気筒の角速度差Δωが第１所定値以下になるまで、燃料噴射量増量制御の燃料変更量Δｆが徐々に大きくされる。
【０１２５】
そして、ステップＳ８０９で、さらに燃料変更量Δｆに所定量ｆ１が加算されて、これにより、燃料変更量Δｆが「ｎ×ｆ１」になった場合を考える。ただし、ここでは、ｎは２以上の整数であり、上記ステップＳ８１１での第３燃料量と関係付けられている。それ故、このとき、ステップＳ８１１で、燃料変更量Δｆが第３燃料量を越えるので、否定判定される。その結果、ステップＳ８２１で、気筒間空然比ばらつき異常があると判定されたことに対応するように異常フラグがＯＮにされて、当該フローは終了する。
【０１２６】
このように、角速度差Δωが第１所定値以下になる前に、燃料噴射量増量制御における燃料変更量Δｆが第３燃料量を越えたとき、ＥＣＵ１００の第１異常判定手段の機能を担う部分は、気筒間空然比ばらつき異常があると判定する（異常を検出する）。これは、所定の対象気筒の燃料噴射量をかなりの量、強制的に変更したにもかかわらず、それに対応した出力変動が検出されず、この場合、気筒間空然比ばらつき異常がある可能性があるからである。また、このような場合に、さらに燃料噴射量変更制御を継続することは、エンジン１の作動に悪影響を及ぼす可能性があるからである。
【０１２７】
次に、変更カウンタＣ１が１である場合を考える。変更カウンタＣ１が１であるのでステップＳ８０７で否定判定されると、ステップＳ８２５で燃料変更量Δｆに所定量ｆ２が加算される。エンジン始動後、始めてステップＳ８２５に至ったときには燃料変更量Δｆがゼロであるので、これにより、燃料変更量Δｆは所定量ｆ２になる。
【０１２８】
そして、ステップＳ８２７で、ステップＳ８２５で設定された燃料変更量Δｆが所定量である第４燃料量以下であるか否かが判定される。ステップＳ８２７での第４燃料量は予め実験に基づいて定められている。
【０１２９】
ステップＳ８２７で燃料変更量Δｆが第４燃料量以下であるので肯定判定されるとき、ステップＳ８２９で、燃料変更量Δｆ分、所定の対象気筒の燃料噴射量を減量する燃料噴射量減量制御が所定期間実行されて、それに伴うデータが記録される。そして、次のステップＳ８３１で、各気筒の角速度差Δωが算出され、ステップＳ８３３で、ステップＳ８３１で算出された角速度差Δωが第２所定値以下であるか否かが判定される。
【０１３０】
ステップＳ８３３で角速度差Δωが第２所定値以下でないので否定判定されると、ステップＳ８２５に戻り、さらに燃料変更量Δｆに所定量ｆ２が加算される。
【０１３１】
このように、燃料噴射量減量制御の実行により、いずれかの気筒の角速度差Δωが第２所定値以下になるまで、燃料噴射量減量制御の燃料変更量が徐々に大きくされる。
【０１３２】
そして、ステップＳ８２５で、さらに燃料変更量Δｆに所定量ｆ２が加算されて、これにより、燃料変更量Δｆが「ｍ×ｆ２」になった場合を考える。ただし、ここでは、ｍは２以上の整数であり、上記ステップＳ８２７での第４燃料量と関係付けられている。それ故、このとき、ステップＳ８２７で、燃料変更量Δｆが第４燃料量を越えるので、否定判定される。その結果、ステップＳ８２１で、異常フラグがＯＮにされて、当該フローは終了する。
【０１３３】
このように、角速度差Δωが第２所定値以下になる前に、燃料噴射量減量制御における燃料変更量Δｆが第４燃料量を越えたとき、上記理由と同様の理由により、ＥＣＵ１００の第１異常判定手段の機能を担う部分は、気筒間空然比ばらつき異常があると判定する（異常を検出する）。
【０１３４】
以上、本発明の好適な実施形態を詳細に述べたが、本発明の実施形態は他にも様々なものが考えられる。
【０１３５】
例えば上記実施形態では、回転変動量として角速度差Δωが採用されたが、回転時間差ΔＴなどの上記した値を含む種々の値が回転変動量として用いられてもよい。そして、出力変動量は回転変動量に限定されず、例えば、筒内圧検出手段としての筒内圧センサからの出力に基づいて検出される筒内圧に基づく値が出力変動量として用いられてもよい。
【０１３６】
また、本発明は、種々の形式の２つ以上の気筒を有する多気筒エンジンに適用され得、ポート噴射形式のエンジンのみならず、筒内噴射形式のエンジン、ガスを燃料として用いるエンジンなどにも適用され得る。
【０１３７】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。したがって本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【０１３８】
１  内燃機関（エンジン）
２  インジェクタ
１１  エアフローメータ
１２  スロットルバルブ
１３  点火プラグ
１８  上流触媒コンバータ
２０  触媒前センサ
２２  クランク角センサ
２３  アクセル開度センサ
１００  電子制御ユニット（ＥＣＵ）
【図１】
0005598427.tif 000002
【図２】
0005598427.tif 000003
【図３】
0005598427.tif 000004
【図４】
0005598427.tif 000005
【図５】
0005598427.tif 000006
【図６】
0005598427.tif 000007
【図７】
0005598427.tif 000008
【図８】
0005598427.tif 000009