(57)【特許請求の範囲】
【請求項１】
内燃機関の所定の対象気筒の燃料噴射量を当該対象気筒の回転変動が大きくなるように変更し、少なくとも当該変更後の前記対象気筒の回転変動に基づき気筒間の空燃比のばらつき異常を検出するばらつき異常検出手段と、
前記内燃機関の回転変動を抑制するように点火時期を気筒別にフィードバック補正する点火時期フィードバック制御手段と、
を備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
前記ばらつき異常検出手段は、前記点火時期のフィードバック補正における補正量にも基づいてばらつき異常を検出することを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項２】
請求項１に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
前記ばらつき異常検出手段は、検出した少なくとも燃料噴射量変更後の回転変動の量を所定の基準値と比較することで気筒間空燃比ばらつき異常を検出し、且つ、前記フィードバック補正の補正量に基づいて、前記検出した少なくとも燃料噴射量変更後の回転変動の量を補正することを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【請求項３】
請求項１または２に記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
前記ばらつき異常検出手段は、検出した少なくとも燃料噴射量変更後の回転変動の量を所定の基準値と比較することで気筒間空燃比ばらつき異常を検出し、且つ、前記フィードバック補正の補正量に基づいて、前記所定の基準値を補正することを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関の気筒間の空燃比のばらつき異常を検出するための装置に関する。
【背景技術】
【０００２】
多気筒内燃機関においては、通常全気筒に対して同一の制御量を用いて空燃比制御を行うため、実際の空燃比が気筒間でばらつくことがある。例えば一部の気筒の燃料噴射系や吸気バルブの動弁機構が故障するなどして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは、異常として検出するのが望ましい。
【０００３】
例えば、特許文献１が開示する内燃機関では、まず、空燃比フィードバック制御の演算値に基づいて、内燃機関の気筒間の空燃比がインバランス状態になっていることが判断される。当該内燃機関では排気通路の浄化触媒の上流側に設けられたＡ／Ｆセンサの検出結果に基づいてメイン空燃比フィードバック制御が実行され、そしてその浄化触媒の下流側に設けられたＯ2センサの検出結果に基づいてサブ空燃比フィードバック制御が実行される。このサブ空燃比フィードバック制御の演算値の平均値が通常値を超えるときに気筒間の空燃比がインバランス状態になっていると判断される。さらに、特許文献１の内燃機関では、そのようにして気筒間に空燃比異常があると判断したときに、各気筒への燃料噴射時間を所定時間ずつ短縮させる処理が実行され、それにより失火が生じた気筒が空燃比インバランスが生じている気筒であると特定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−１１２２４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に示されるように、多気筒内燃機関において、各気筒への燃料噴射量を強制的に変える噴射量変更制御を実行することで、気筒間空燃比ばらつき異常、つまり気筒間の空燃比がインバランス状態になっていることの検出を容易にすることが可能である。しかし、そのような噴射量変更制御の実行と並行して、内燃機関のトルクの気筒間ばらつきを抑制するように点火時期を気筒別にフィードバック補正する点火時期フィードバック制御が実行され得る。この場合、点火時期フィードバック制御の実行により、特定の気筒の点火時期が進角されてトルクが増大される結果、回転変動の一部又は全部が解消されて、気筒間空燃比ばらつき異常の検出を妨げる可能性がある。
【０００６】
そこで本発明は、以上の事情に鑑みて創案され、その目的は、多気筒内燃機関において、点火時期フィードバック制御を実行しながらも、気筒間空燃比ばらつき異常を適切に検出することにある。
【課題を解決するための手段】
【０００７】
本発明の一の態様は、
内燃機関の回転変動に基づき気筒間の空燃比のばらつき異常を検出するばらつき異常検出手段と、
前記内燃機関の回転変動を抑制するように点火時期を気筒別にフィードバック補正する点火時期フィードバック制御手段と、
を備えた、多気筒内燃機関の気筒間空燃比ばらつき異常検出装置であって、
前記ばらつき異常検出手段は、前記点火時期のフィードバック補正における補正量を考慮してばらつき異常を検出することを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置である。
【０００８】
好ましくは、前記ばらつき異常検出手段は、検出した回転変動の量を所定の基準値と比較することで気筒間空燃比ばらつき異常を検出し、かつ、前記フィードバック補正の補正量に基づいて、前記所定の基準値、及び前記検出した回転変動の量のうち、少なくとも一方を補正する。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】回転変動を表す値を説明するためのタイムチャートである。
【図３】回転変動を表す別の値を説明するためのタイムチャートである。
【図４】一の対象気筒のインバランス率と回転変動量との関係を概念的に表したグラフである。
【図５】図４の特性線の一部を表したグラフであり、燃料噴射量の増量と、増量前後の回転変動量の変化との関係を説明するためのグラフである。
【図６】気筒別点火時期フィードバック制御に係る処理の流れを説明するためのフローチャートである。
【図７】空燃比ばらつき異常を検出する制御に係る処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について添付図面に基づき説明する。
【００１１】
図１は、本発明の実施形態に係る内燃機関（エンジン）１０の概略図である。図示されるように、エンジン１０は、シリンダブロック１２を含むエンジン１０内に形成された燃焼室１４で燃料および空気の混合気を燃焼させ、燃焼室１４内でピストンを往復移動させることにより動力を発生する。エンジン１０は、１サイクル４ストロークエンジンである。エンジン１０は自動車用の多気筒内燃機関であり、より具体的には直列４気筒の火花点火式内燃機関すなわちガソリンエンジンである。ここではエンジン１０は車両に搭載されている。ただし本発明が適用可能な内燃機関はこのようなものに限られず、２気筒以上を有する多気筒内燃機関であれば気筒数及び形式は特に限定されない。
【００１２】
図示しないが、エンジン１０のシリンダヘッドには、吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されている。各吸気弁および各排気弁は、カムシャフトによって開閉させられる。シリンダヘッドの頂部には、燃焼室１４内の混合気または燃料に点火するための点火プラグ１６が気筒ごとに取り付けられている。
【００１３】
各気筒の吸気ポートは、気筒毎の枝管１８を介して、吸気集合室であるサージタンク２０に接続されている。サージタンク２０の上流側には、吸気管２２が接続されており、吸気管２２の上流端にはエアクリーナ２４が設けられている。そして吸気管２２には、上流側から順に、吸入空気量を検出するためのエアフローメータ２６と、電子制御式のスロットルバルブ２８とが組み込まれている。吸気ポート、枝管１８、サージタンク２０および吸気管２２により吸気通路３０が実質的に形成される。
【００１４】
吸気通路、特に吸気ポート内に燃料を噴射する燃料噴射弁（インジェクタ）３２が気筒ごとに配設される。インジェクタ３２から噴射された燃料は、吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室１４に吸入され、ピストンで圧縮され、点火プラグ１６で点火燃焼させられる。
【００１５】
一方、各気筒の排気ポートは排気マニホールド３４に接続される。排気マニホールド３４は、その上流部をなす気筒毎の枝管３４ａと、その下流部をなす排気集合部３４ｂとからなる。排気集合部３４ｂの下流側には排気管３６が接続されている。排気ポート、排気マニホールド３４および排気管３６により、排気通路３８が形成される。排気管３６には、三元触媒を含む触媒コンバータ４０が取り付けられている。この触媒コンバータ４０が排気浄化装置をなしている。なお、触媒コンバータ４０は、流入する排気の空燃比（排気空燃比）Ａ／Ｆが理論空燃比（ストイキ、例えばＡ／Ｆ＝１４．６）近傍のときに、排気中の有害成分であるＮＯｘ、ＨＣおよびＣＯを同時に浄化するように機能する。
【００１６】
触媒コンバータ４０の上流側および下流側に、それぞれ排気空燃比を検出するための触媒前センサ４２および触媒後センサ４４が設置されている。これら触媒前センサ４２および触媒後センサ４４は、触媒コンバータ４０の直前および直後の位置の排気通路に設置され、排気中の酸素濃度に基づく信号を出力する。なお、触媒後センサ４４は設けられなくてもよい。
【００１７】
上述の点火プラグ１６、スロットルバルブ２８およびインジェクタ３２を含む各種のアクチュエータは、電子制御ユニット（ＥＣＵ）５０に電気的に接続されている。ＥＣＵ５０は、エンジン１０における各種制御手段（制御装置）および各種検出手段（検出部）としての各機能を実質的に担うように構成されている。ＥＣＵ５０は、何れも図示されないＣＰＵ、ＲＯＭおよびＲＡＭを含む記憶装置、並びに入出力ポートを含むものである。またＥＣＵ５０には、図示されるように、前述のエアフローメータ２６、触媒前センサ４２、触媒後センサ４４のほか、内燃機関１０のクランク角を検出するためのクランク角センサ５２、アクセル開度を検出するためのアクセル開度センサ５４、及びエンジン冷却水温を検出するための水温センサ５６を含む各種のセンサが、図示されないＡ／Ｄ変換器等を介して電気的に接続されている。ＥＣＵ５０は、各種センサによる出力および／または検出値に基づいて、所望の出力が得られるように、点火プラグ１６、スロットルバルブ２８、インジェクタ３２を含む各種アクチュエータを制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。
【００１８】
エンジン１０には、後で詳述するように気筒間空燃比ばらつき異常検出装置が実装されていて、ＥＣＵ５０は、点火時期フィードバック制御手段、及びばらつき異常検出手段の各機能を実質的に担う。なお、本実施形態におけるばらつき異常検出手段は、エンジン１０における回転変動を表す値（回転変動量）を検出するための回転変動量検出手段と、該回転変動量検出手段により検出された出力変動量と所定値との比較を行う比較手段とのそれぞれを含む。
【００１９】
またスロットルバルブ２８には、スロットル開度センサ（図示せず）が設けられ、スロットル開度センサからの出力信号がＥＣＵ５０に送られる。ＥＣＵ５０は、通常、アクセル開度に応じて定まる開度に、スロットルバルブ２８の開度（スロットル開度）をフィードバック制御する。
【００２０】
またＥＣＵ５０は、エアフローメータ２６からの出力信号に基づき、単位時間当たりの吸入空気の量すなわち吸入空気量を検出する。そしてＥＣＵ５０は、検出したアクセル開度、スロットル開度および吸入空気量のうちの少なくとも一つに基づき、エンジン１０の負荷を検出する。
【００２１】
ＥＣＵ５０は、クランク角センサ５２からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン１０の回転数を検出する。ここで「回転数」とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では回転数とは１分間当たりの回転数ｒｐｍのことをいう。
【００２２】
通常、ＥＣＵ５０は、吸入空気量およびエンジン回転速度つまりエンジン運転状態に基づいて、予め記憶装置に記憶されているプログラム、マップ又は関数を含むデータを用いて、燃料噴射量（または燃料噴射時間）を設定する。そして、その燃料噴射量に基づいて、インジェクタ３２からの燃料の噴射が制御される。
【００２３】
触媒コンバータ４０は三元触媒を備え、そこに流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときに、排気中の有害成分であるＮＯｘ、ＨＣおよびＣＯを同時に浄化する機能を有する。
【００２４】
エンジン１０の通常運転時、エンジン１０のトルクの気筒間ばらつきを抑制するように点火時期を気筒別にフィードバック補正する点火時期フィードバック制御が、ＥＣＵ５０によって実行される。この点火時期フィードバック制御は、ある気筒のトルクが他の気筒のトルクよりも小さいときに、当該気筒の点火時期を進角補正するものである。
【００２５】
具体的には、図６に示されるように、ＥＣＵ５０は、クランク角センサ５２からのクランクパルス信号に基づき、気筒別に所定クランク角における角加速度を算出し（Ｓ６０１）、また、当該角加速度の全気筒の平均値を算出する（Ｓ６０３）。所定クランク角は圧縮上死点や膨張行程中の単一の点でもよく、また複数の異なる角度でもよい。後者の場合には各クランク角における角加速度の平均値を当該気筒の角加速度として用いてもよい。そして、最も角加速度が小さい気筒（異常気筒）の角加速度と、他の全気筒の角加速度の平均値との偏差を算出し（Ｓ６０５）、この偏差に基づいて、当該気筒（異常気筒）のための進角量を所定のマップ又は関数により算出する（Ｓ６０７）。そして、算出した進角量だけ、当該気筒（異常気筒）の点火時期を進角側に補正する（Ｓ６０９）。ここで用いられた進角量の値、すなわち補正量は、ＥＣＵ５０の不揮発性メモリに記憶され更新される（Ｓ６１１）。進角量の値は、偏差が大きいほど大きくされる。なお、一般に回転速度が上がるほど回転変動は慣性により小さくなるので、進角量の値は、回転速度が大きいほど小さくされてもよい。
【００２６】
さて、例えば全気筒のうちの一部の気筒（特に１気筒）において、インジェクタ３２の故障等が発生し、気筒間に空燃比のばらつき（インバランス：imbalance）が発生することがある。例えばインジェクタ３２の閉弁不良により＃１気筒の燃料噴射量が他の＃２，＃３，＃４気筒の燃料噴射量よりも多くなり、＃１気筒の空燃比が他の＃２，＃３，＃４気筒の空燃比よりも大きくリッチ側にずれる場合である。
【００２７】
このときでも、前述の気筒別の点火時期フィードバック制御を実行することによって、気筒間の回転変動を抑制することができる。しかし、このようにして吸気系または燃料供給系の動作の不健全さを点火時期の制御によって補償することは、吸気系または燃料供給系の動作の不健全さ（例えば、インジェクタ３２の開固着や閉固着及びこれらの兆候）を放置し温存する傾向を助長することになる。したがって、このような動作の不健全さを、通常の運転動作を維持しながら、気筒間空燃比ばらつき異常として検出できることが好ましい。そこで本実施形態では、気筒別の点火時期フィードバック制御の制御量を考慮して、空燃比ばらつき異常を検出する処理が実装されている。
【００２８】
本実施形態における空燃比ばらつき異常の検出処理では、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の気筒のうちある１気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒（インバランス気筒）の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒（バランス気筒）の燃料噴射量すなわち基準噴射量からズレているかを示す値である。インバランス率をＩＢ（％）、インバランス気筒の燃料噴射量をα、バランス気筒の燃料噴射量すなわち基準噴射量をβとすると、ＩＢ＝（α−β）／β×１００で表される。インバランス率ＩＢが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。
【００２９】
他方、本実施形態においては、所定の対象気筒の燃料噴射量をアクティブにまたは強制的に増量または減量し、少なくとも燃料噴射量の増量または減量後の対象気筒の出力変動としての回転変動に基づき、ばらつき異常を検出する。
【００３０】
まず、回転変動について説明する。回転変動とは、エンジン回転速度あるいはクランクシャフト回転速度の変化をいう。そして本明細書では、上記したように回転変動を表す値つまり回転変動の程度を表した値を回転変動量と称する。例えば、クランクシャフトが所定角度回転するのに要する時間を計測し、その計測値を演算処理することで求められる値（量）が回転変動量として用いられることができる。以下の図２および図３を用いた説明で、種々の値を回転変動量として用いることができることが理解されるだろう。
【００３１】
図２には回転変動を説明するための一例としてのタイムチャートを示す。図示例はエンジン１０と同様に直列４気筒エンジンの例であるが、他の形式および気筒配列のエンジンにも同様に適用可能であることが理解されよう。なお、図２の例での点火順序は＃１，＃３，＃４，＃２気筒の順である。
【００３２】
図２において、（Ａ）はエンジンのクランク角（°ＣＡ）を示す。１エンジンサイクルは７２０（°ＣＡ）であり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。
【００３３】
図２（Ｂ）は、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Ｔ（ｓ）を示す。ここでは所定角度が３０（°ＣＡ）であるが、他の値（例えば１０（°ＣＡ））としてもよい。回転時間Ｔが長いほど（図中上側に至るほど）エンジン回転速度は遅く、逆に回転時間Ｔが短いほどエンジン回転速度は速い。この回転時間Ｔはクランク角センサ５２の出力に基づきＥＣＵ５０により検出される。
【００３４】
図２（Ｃ）は、後に説明する回転時間差ΔＴを示す。図中、「正常」とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、「リーンずれ異常」とは、＃１気筒のみにインバランス率ＩＢ＝−３０％のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。
【００３５】
まず、各気筒の同一タイミングにおける回転時間ＴがＥＣＵにより検出される。ここでは各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける回転時間Ｔが検出される。この回転時間Ｔが検出されるタイミングを検出タイミングという。
【００３６】
次いで、検出タイミング毎に、当該検出タイミングにおける回転時間Ｔ２と、直前の検出タイミングにおける回転時間Ｔ１との差（Ｔ２−Ｔ１）がＥＣＵにより算出される。この差が図２（Ｃ）に示す回転時間差ΔＴであり、ΔＴ＝Ｔ２−Ｔ１である。
【００３７】
通常、クランク角がＴＤＣを超えた後の燃焼行程では回転速度が上昇するため回転時間Ｔが低下し、その後の圧縮行程では回転速度が低下するため回転時間Ｔが増大する。
【００３８】
しかしながら、図２（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルク（出力）が得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける回転時間Ｔは大きくなっている。それ故、＃３気筒ＴＤＣにおける回転時間差ΔＴは、図２（Ｃ）に示すように大きな正の値となる。この＃３気筒ＴＤＣにおける回転時間および回転時間差をそれぞれ＃１気筒の回転時間および回転時間差とし、それぞれＴ1およびΔＴ1で表す。他の気筒についても同様である。
【００３９】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ回転時間Ｔが若干低下しているに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の回転時間差ΔＴ3は、図２（Ｃ）に示すように小さな負の値となる。このようにある気筒の回転時間差ΔＴが、点火気筒ＴＤＣ毎に検出される。
【００４０】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の回転時間差ΔＴ4および＃２気筒の回転時間差ΔＴ2はともに小さな負の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００４１】
このように、各気筒の回転時間差ΔＴは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔＴを各気筒の回転変動の指標値つまり回転変動量として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔＴは大きくなる。
【００４２】
他方、図２（Ｃ）に示すように、正常の場合には回転時間差ΔＴが常時ゼロ付近である。
【００４３】
図２の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち１気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。
【００４４】
次に、図３を参照して、回転変動を表す別の値つまり別の回転変動量の例を説明する。図３（Ａ）は図２（Ａ）と同様にエンジンのクランク角（°ＣＡ）を示す。
【００４５】
図３（Ｂ）は、前記回転時間Ｔの逆数である角速度ω（ｒａｄ／ｓ）を示す。ω＝１／Ｔである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Ｔの波形を上下反転した形となる。
【００４６】
図３（Ｃ）は、前記回転時間差ΔＴと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔＴの波形を上下反転した形となる。図中の「正常」および「リーンずれ異常」については図２と同様である。
【００４７】
まず、各気筒の同一タイミングにおける角速度ωがＥＣＵにより検出される。ここでも各気筒の圧縮上死点（ＴＤＣ）のタイミングにおける角速度ωが検出される。角速度ωは、１を前記回転時間Ｔで除することにより算出される。
【００４８】
次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω２と、直前の検出タイミングにおける角速度ω１との差（ω２−ω１）がＥＣＵにより算出される。この差が図３（Ｃ）に示す角速度差Δωであり、Δω＝ω２−ω１である。
【００４９】
通常、クランク角がＴＤＣを超えた後の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の圧縮行程では回転速度が低下するため角速度ωが低下する。
【００５０】
しかしながら、図３（Ｂ）に示すように＃１気筒がリーンずれ異常の場合、＃１気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で＃３気筒ＴＤＣにおける角速度ωは小さくなっている。それ故、＃３気筒ＴＤＣにおける角速度差Δωは、図３（Ｃ）に示すように大きな負の値となる。この＃３気筒ＴＤＣにおける角速度および角速度差をそれぞれ＃１気筒の角速度および角速度差とし、それぞれω1およびΔω1で表す。他の気筒についても同様である。
【００５１】
次に、＃３気筒は正常であるので、＃３気筒を点火させたときには回転速度が急峻に上昇する。これにより次の＃４気筒ＴＤＣのタイミングでは、＃３気筒ＴＤＣのときに比べ角速度ωが若干上昇するに過ぎない。それ故、＃４気筒ＴＤＣにおいて検出された＃３気筒の角速度差Δω3は、図３（Ｃ）に示すように小さな正の値となる。このようにある気筒の角速度差Δωが、次点火気筒ＴＤＣ毎に検出される。
【００５２】
以降の＃２気筒ＴＤＣおよび＃１気筒ＴＤＣにおいても＃４気筒ＴＤＣのときと同様の傾向が見られ、両タイミングにおいて検出された＃４気筒の角速度差Δω4および＃２気筒の角速度差Δω2はともに小さな正の値となっている。以上の特性が１エンジンサイクル毎に繰り返される。
【００５３】
このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなる（マイナス方向に大きくなる）。
【００５４】
他方、図３（Ｃ）に示すように、正常の場合には角速度差Δωが常時ゼロ付近である。
【００５５】
逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。
【００５６】
次に、ある１気筒の燃料噴射量をアクティブにつまり強制的に増量または減量して当該気筒での空燃比を変化させたときの回転変動量の変化を、図４の概念図を参照して説明する。ただし、この場合、燃料噴射量をアクティブに増量または減量するとき、吸入空気量は変化しないようにスロットルバルブ２８等の作動は制御される。
【００５７】
図４において、横軸はインバランス率ＩＢを示し、縦軸は回転変動量を示す。ここでは、全４気筒のうちのある１気筒のみのインバランス率ＩＢを燃料噴射量を増減させることで変化させ、このときの当該１気筒のインバランス率ＩＢと当該１気筒の回転変動量との関係を線Ｌ１に従って示す。当該１気筒をアクティブ対象気筒という。他の気筒は全てバランス気筒であり、基準噴射量としてストイキ相当量を噴射しているものとする。
【００５８】
なお、図４では横軸にインバランス率が用いられるが、インバランス率に代えて空燃比が用いられることができる。図４では左側に至るほどインバランス率がプラス方向に大きくなるが、これに対応して、インバランス率の代わりに空燃比が用いられる場合には、図中左側に至るほど空燃比はリッチになる。
【００５９】
図４の横軸には、インバランス率ＩＢがとられている。図４中、アクティブ対象気筒の燃料噴射量がストイキ相当量であるときに相当するインバランス率が０％の線Ｓから左側に移動するほど、インバランス率ＩＢがプラス方向に増加し、燃料噴射量としては過多すなわちリッチな状態となる。逆に、図４中、インバランス率ＩＢが０％の線Ｓから右側に移動するほど、インバランス率ＩＢがマイナス方向に増加し（減少し）、燃料噴射量としては過少すなわちリーンな状態となる。また、図４中、上側に移動するほど、回転変動量が大きくなる。
【００６０】
特性線Ｌ１から理解され得るように、アクティブ対象気筒のインバランス率ＩＢが０％からプラス方向に増加してもマイナス方向に増加しても、アクティブ対象気筒の回転変動量は大きくなる傾向にある。そして、インバランス率ＩＢが０％から離れるほど、特性線Ｌ１の傾きが急になり、インバランス率ＩＢの変化量または変化割合に対する回転変動量の変化量または変化割合は大きくなる傾向にある。
【００６１】
ここで、インバランス率ＩＢがプラスの範囲の図４の一部領域が取り出されて、図５に示される。なお、図５の線Ｌ２は図４の線Ｌ１の一部に相当する。
【００６２】
図５には、アクティブ対象気筒における２つのインバランス率ＩＢの例が線Ａ、Ｂで表されている。線Ａにおけるインバランス率ＩＢａは、ストイキ相当値である０％のインバランス率（図４の線Ｓ参照）からプラス方向にずれているが許容範囲内のものの一例である。これに対して、線Ｂにおけるインバランス率ＩＢｂは、線Ａにおけるインバランス率ＩＢａよりも燃料噴射量がさらに多い方向にずれていて、許容範囲外のものの一例である。
【００６３】
ここで、通常運転時にストイキ制御を行っているときのアクティブ対象気筒の状態が線Ａ上の状態である場合を考える。このときに、矢印Ｆ１で示すように、アクティブ対象気筒の燃料噴射量を、所定量Δｆ１、強制的に増量変更したとする。所定量Δｆ１は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約４５％相当の増量が図られる。ＩＢ＝０％の近辺（図５中右端側）では特性線Ｌ２の傾きが緩やかであることから、ストイキ制御を行っているときのアクティブ対象気筒の状態が線Ａ上の状態である場合、燃料噴射量を増量変更したときの線Ａ´上の状態における回転変動量Ｖａ´は増量前の回転変動量Ｖａと大きく変わらない。
【００６４】
他方、ストイキ制御を行っているときのアクティブ対象気筒の状態が線Ｂ上の状態である場合を考える。このとき、アクティブ対象気筒において既に許容範囲を超えるリッチずれが生じており、そのインバランス率ＩＢｂが比較的大きなプラス側の値になっている。例えば、線Ｂでのインバランス率ＩＢｂは、インバランス率で約６０％のリッチずれに相当する。この状態から矢印Ｆ２で示すように、アクティブ対象気筒の燃料噴射量を同一所定量Δｆ１、強制的に増量したとすると、燃料噴射量を増量変更したときの線Ｂ´を含む領域では特性線Ｌ２の傾きが急であることから、増量後の回転変動量Ｖｂ´は増量前の回転変動量Ｖｂよりかなり大きく、増量前後の回転変動量の差（Ｖｂ´−Ｖｂ）は大きくなる。すなわちこのような燃料噴射量の増量により、アクティブ対象気筒の回転変動は十分大きくなる。
【００６５】
よって、アクティブ対象気筒の燃料噴射量を強制的に所定量増量変更したときの少なくとも増量後のアクティブ対象気筒の回転変動量に基づき、ばらつき異常を検出することが可能である。例えば、増量後の回転変動量の大きさ（例えば｜Ｖｂ´｜）が所定量よりも大きいときにばらつき異常があると判断することができる。さらに、複数サイクルに関してアクティブ対象気筒に関して求めた回転変動量の平均値または統計処理して求めた値を、回転変動量として、所定量と比較することで、気筒間空然比ばらつき異常があるか否かが判断されてもよい。このように、燃料噴射量の増量により、気筒間空然比ばらつき異常があるときにはそれを顕著に燃焼室での燃料つまり混合気の燃焼状態に反映させて、その結果を回転変動量として検出して、該回転変動量に基づいて気筒間空然比ばらつき異常を検出することができる。
【００６６】
なお、上記説明では、燃料噴射量を所定量分だけ強制的に増量変更させる制御（燃料噴射量増量制御）を行って、気筒間空然比ばらつき異常を検出した。これは、インバランス気筒で燃料噴射量が多い側にずれているときに有効である。
【００６７】
逆に、インバランス気筒で燃料噴射量が少ない側にずれているときには、燃料噴射量を所定量Δｆ２分だけ強制的に減量変更させる制御（燃料噴射量減量制御）を行って、ばらつき異常を検出することが有効である。このインバランス率が負の領域で強制減量を行う場合も、上記の場合から理解できるので、その説明は省略される。ただし、燃料噴射量減量制御における減量量（大きさ）Δｆ２は燃料噴射量増量制御における増量量（大きさ）Δｆ１よりも少ないとよい。これは、リーンずれ異常気筒に対しあまりに多くの減量を行ってしまうと失火の虞があるからである。ただし、燃料噴射量の減量（または増量）により失火を生じさせ、そのときの出力変動に基づいてばらつき異常を検出することを本発明は排除しない。所定量Δｆ２は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約１５％相当の減量がなされ得る。なお、燃料噴射量増量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である上記所定値と、燃料噴射量減量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である所定値は同じであっても異なってもよい。
【００６８】
本実施形態では、噴射量変更制御は、全気筒一律且つ同時に適用されるのではなく、一部の気筒である所定の対象気筒のみに一時に適用され、順次、噴射量変更制御が適用される対象気筒は他の気筒に移行する。つまり、噴射量変更制御の適用方法は、全気筒同時に行う方法の他、任意数の気筒ずつ順番に且つ交互に行う方法がある。例えば１気筒ずつ増量したり、２気筒ずつ増量したり、４気筒ずつ増量したりする方法がある。燃料噴射量を強制的に増量または減量する対象気筒の数および気筒番号は任意に設定できる。他方、燃料噴射量増量制御や燃料噴射量減量制御は、全気筒一律且つ同時に適用されることも可能であり、この場合、所定の対象気筒は全気筒である。この場合であっても、インバランス気筒における回転変動量は他の気筒に比して大きくなるものと考えられるから、気筒間空燃比ばらつき異常を好適に検出することができる。
【００６９】
以上が気筒間空燃比ばらつき異常検出の原理及び基本的な動作である。ただし、本実施形態では気筒別の点火時期フィードバック制御を実行した後に空燃比ばらつき異常を検出する処理が生じうるため、気筒別の点火時期フィードバック制御が実行された結果として、気筒間空燃比ばらつきの一部又は全部が見かけ上なくなる場面が生じうる。しかしながら、その場合であっても、本実施形態では気筒別の点火時期フィードバック制御の制御量を考慮して空燃比ばらつき異常を検出する処理が、以下のとおり実行され、且つ空燃比ばらつき異常を好適に検出することができる。
【００７０】
以下、気筒別の点火時期フィードバック制御の制御量を考慮して空燃比ばらつき異常を検出する制御につき、図７のフローチャートに従って説明する。
【００７１】
図７の処理ルーチンは、空燃比ばらつき診断制御を実行するための所定の実行条件が成立している場合に実行される。ここでは、実行条件として、エンジン始動後の所定の（運転）状態であることという条件が定められている。実行条件は種々定められることができる。例えば、エンジン冷却水温が所定温度（例えば７０℃）以上であること、負荷が所定範囲内にあること（例えば吸入空気量が所定吸入空気量範囲（例えば１５〜５０ｇ／ｓ）にあること）、エンジン回転速度が所定エンジン回転速度域（例えば１５００ｒｐｍ〜２０００ｒｐｍ）にあることの全てを満たすことが実行条件として定められることができる。条件となるエンジン回転速度はアイドリング相当値でもよい。
【００７２】
まず、ステップＳ７０１で対象気筒カウンタＣａ、実施カウンタＣｃおよび変更カウンタＣｆがそれぞれゼロにされる。対象気筒カウンタＣａは、上記したような空燃比診断用制御の実施対象となる気筒つまり（アクティブ）対象気筒の気筒を指し示すカウンタである。本実施形態では、２気筒ずつ燃料量が増減変更され、＃１、＃４気筒を対象気筒とする場合と、＃２、＃３気筒を対象気筒とする場合とがある。
【００７３】
次に、ステップＳ７０３で、変更カウンタＣｆがゼロであるか否かが判定される。初期状態では、変更カウンタＣｆはゼロであるので肯定判定される。
【００７４】
ステップＳ７０３の判定で肯定判定されると、ステップＳ７０５で、増量変更した燃料噴射量が算出される。ここではまず燃料噴射量を増やすための所定量としての変更量が算出される。この変更量の算出は、エンジン回転速度およびエンジン負荷に基づいて予め記憶装置に記憶する燃料噴射量増量用のデータを検索することで実行される。所定の演算式に基づいて所定の演算が行われてもよい。例えば、変更量として４０％、４５％などの増量用変更量が算出される。なお、この変更量はそのように可変とされずに一定とされてもよい。そして、対象気筒カウンタＣａに適合した気筒の燃料噴射量がその変更量に基づいて変更される。例えば対象気筒カウンタＣａがゼロのときの対象気筒は＃１、＃４気筒であるので、それらの気筒の基本制御用につまり通常制御用に算出された燃料噴射量つまり通常時燃料噴射量に、算出された変更量が加えられて、これにより噴射量変更制御における燃料噴射量が定められる。例えば、変更量として４０％が定められたとき、変更後の燃料噴射量は通常時燃料噴射量の１４０％になる。なお、ここでは、通常時燃料噴射量は、ストイキ相当量である。
【００７５】
そして、ステップＳ７０７で、ステップＳ７０５で算出された量の燃料が対象気筒である＃１、＃４気筒のそれぞれにおけるインジェクタ３２から噴射される。
【００７６】
このように噴射量変更制御が行われているときの回転変動量が、ステップＳ７０９で、上記したようにクランク角センサ５２からの出力に基づいて算出される。
【００７７】
そして、このようにして算出された回転変動量、および先に気筒別点火時期フィードバック制御において記憶されている気筒別点火時期フィードバック補正量に基づき、ステップＳ７１１において、換算回転変動量が算出される。この換算回転変動量は、仮に気筒別点火時期フィードバック補正が行われていなかったとした場合に検出されたと推定される仮想的な回転変動量である。具体的には、例えば図５に示されるように、ステップＳ７０９で算出された現在の回転変動量がＶａ´であった場合には、この回転変動量Ｖａ´に基づいて当該気筒の状態が線Ａ´上の状態にあると推定できる。この場合には、その時点における当該気筒の気筒別点火時期フィードバック補正量（例えば５°）に応じたインバランス率Ｆ１ｃだけ、インバランス率を仮想的にシフトさせて、その状態における回転変動量Ｖａ´´を、換算回転変動量として読み出す。なお、気筒別点火時期フィードバック補正量と、仮想的にシフトさせるインバランス率との関係は、予めマップとしてＥＣＵ５０に記憶されており、ここではこのマップが用いられる。
【００７８】
このようにしてステップＳ７１１で算出された換算回転変動量につき、次にステップＳ７１３で、それが第１所定値以下か否かが判定される。第１所定値は、気筒間空然比ばらつき異常を検出するために定められており、エンジン１０では、第１所定値までの回転変動量が許容され、第１所定値を超えた場合に異常と判断される。
【００７９】
ステップＳ７１３で回転変動量が第１所定値以下であるので肯定判定されると、ステップＳ７１５で実施カウンタＣｃに１が加算される。そして、ステップＳ７１７で、実施カウンタＣｃが第２所定値であるか否かが判定される。この第２所定値は１以上の任意の整数に定められることができる。なお、実施カウンタＣｃは、上記ステップＳ７０５により算出された量の燃料を噴射する噴射量変更制御（ステップＳ７０７）の期間を定めるように定められている。例えば、実施カウンタＣｃは、１サイクルの期間であってもよく、複数サイクル、例えば数十サイクルの期間であってもよい。
【００８０】
ステップＳ７１７で、実施カウンタＣｃが第２所定値でないので否定判定されると、ステップＳ７０３以下の上記各ステップが繰り返し実行される。
【００８１】
これに対して、ステップＳ７１７で実施カウンタＣｃが第２所定値であるので肯定判定されると、ステップＳ７１９で対象気筒カウンタＣａが１だけ増やされて、次ぐステップＳ７２１で対象気筒カウンタＣａが第３所定値であるか否かが判定される。ここでは第３所定値は、上記したように＃１、＃４気筒を対象気筒とする場合と、＃２、＃３気筒を対象気筒とする場合との２つのグループがあることに基づいて２に定められている。
【００８２】
ステップＳ７２１で対象気筒カウンタＣａが第３所定値でないので否定判定されると、ステップＳ７０３に戻り、＃２、＃３気筒を対象気筒としてさらに上記ステップに基づく制御が繰り返し実行される。
【００８３】
ステップＳ７２１で対象気筒カウンタＣａが第３所定値であるので肯定判定されると、ステップＳ７２３で対象気筒カウンタＣａがゼロにされて、次ぐステップＳ７２５で変更カウンタＣｆが１だけ増やされる。そして、ステップＳ７２７で変更カウンタＣｆが第４所定値であるか否かが判定される。第４所定値は、噴射量変更制御において燃料噴射量を増やす場合と減らす場合との２通りがあるので２と定められている。
【００８４】
ステップＳ７２５で変更カウンタＣｆが１にされると、ステップＳ７２７で否定判定されて、ステップＳ７０３に戻る。ステップＳ７０３では上記したように変更カウンタＣｆがゼロであるか否かが判定される。
【００８５】
変更カウンタＣｆが１であるのでステップＳ７０３で否定判定されると、ステップＳ７２９で、減量変更した燃料噴射量が算出される。ここではまず燃料噴射量を減らすための所定量としての変更量が算出される。この変更量の算出は、上記したのと同様に、エンジン回転速度およびエンジン負荷に基づいて予め記憶装置に記憶する燃料噴射量減量用のデータを検索することで実行される。所定の演算式に基づいて所定の演算を行うことが行われてもよい。例えば、変更量として１０％、１５％などの減量用変更量が算出される。そして、対象気筒カウンタＣａに適合した気筒の基本制御用につまり通常制御用に算出された燃料噴射量つまり上記通常時燃料噴射量に、算出された変更量が加えられて、これにより噴射量変更制御における燃料噴射量が定められる。例えば、変更量として１０％が定められたとき、変更後の燃料噴射量は通常時燃料噴射量の９０％になる。なお、ここでは、通常時燃料噴射量は、ストイキ相当量である。
【００８６】
そして、ステップＳ７２９を経ると上記ステップＳ７０７に進み、以下ステップＳ７０７〜Ｓ７２１の上記演算および制御が実行される。ただし、ステップＳ７１１で算出された換算回転変動量については、上記したようにステップＳ７１３で第１所定値以下か否かが判定されるが、ステップＳ７０５を経て燃料噴射量が増やされる場合と、ステップＳ７２９を経て燃料噴射量が減らされる場合とで、第１所定値が変えられてもよい。
【００８７】
ステップＳ７２１で肯定判定されると、ステップＳ７２３で対象気筒カウンタＣａがゼロにされて、次ぐステップＳ７２５で変更カウンタＣｆが１だけ増やされる。そして、ステップＳ７２７で変更カウンタＣｆが第４所定値であるか否かが判定される。そして、ステップＳ７２７で変更カウンタＣｆが第４所定値であるので肯定判定されると、ばらつき異常検出制御が終了される。
【００８８】
なお、ここでは、エンジン１０の始動後、たった一度のみ、図７のばらつき異常検出制御が実行される。しかし、適宜の時期に、この異常検出制御が実行されてもよい。例えば、エンジン１０の作動時間またはエンジン１０を搭載した車両の走行距離が所定値になったときに、異常検出制御が実行されることができる。
【００８９】
他方、ステップＳ７１３で、回転変動量が第１所定値を超えて否定判定されると、ステップＳ７３１で運転者に気筒間空然比ばらつき異常が検出されたことを知らせるべく、例えば運転席のフロントパネルに備えられた警告ランプが点灯される。これにより図７のばらつき異常検出制御は終了される。
【００９０】
なお、このように、本実施形態では、任意の１つの気筒群または任意の１つの気筒に上記ばらつき異常が検出された場合に、図７のばらつき異常検出制御は終了されるが、気筒間空然比ばらつき異常がある気筒を特定するべく、全ての気筒の各々に対して個別に上記ばらつき異常検出制御が必ず行われることも可能である。
【００９１】
以上のとおり、本実施形態では、燃料噴射量を変更（Ｓ７０５，Ｓ７２９）したときの回転変動に基づき気筒間空燃比ばらつき異常を検出（Ｓ７１３）するばらつき異常検出処理と、回転変動を抑制するように点火時期を気筒別にフィードバック補正する点火時期フィードバック制御処理とを実行するようにした装置において、ばらつき異常検出処理では、フィードバック補正の補正量を考慮してばらつき異常を検出することとした（Ｓ７１１）。したがって本実施形態では、吸気系または燃料供給系の動作の不健全さ（例えば、インジェクタ３２の開固着や閉固着及びこれらの兆候）を放置し温存する傾向を助長することなく、通常の運転動作を維持しながら、気筒間空燃比ばらつき異常として検出することができ、気筒間空燃比ばらつき異常をより適切に検出することができる。
【００９２】
以上、本発明を実施形態に基づいて説明したが、本発明は他の実施形態を許容する。例えば、上記実施形態では、ばらつき異常検出手段は、フィードバック補正の補正量に基づいて、検出した回転変動量を補正（Ｓ７１１）したが、フィードバック補正の補正量をばらつき異常の検出に仮想的に反映できるような他の構成を採ることも可能であり、例えばフィードバック補正の補正量に基づいて、基準値（第１所定値）を補正してもよい。その場合には、ある気筒の気筒別点火時期フィードバック補正量がトルク増大側の値である場合に、この補正量に応じて、基準値（第１所定値）を減少させることができ、これによって、フィードバック補正の補正量をばらつき異常の検出に反映させることができる。フィードバック補正の補正量をばらつき異常の検出に仮想的に反映するように、回転変動量と基準値との両者を補正してもよい。
【００９３】
また、本発明は、種々の形式の２つ以上の気筒を有する多気筒エンジンに適用され得、ポート噴射形式のエンジンのみならず、筒内噴射形式のエンジン、ガスを燃料として用いるエンジンなどにも適用され得る。
【００９４】
また、上記実施形態では、出力変動を判断または評価するために回転変動量を用いた。しかし、他の出力の値または量、例えば空燃比の変動量を、気筒間空燃比ばらつき異常の検出のために用いることができる。
【００９５】
本発明の実施形態は前述の実施形態のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【符号の説明】
【００９６】
１０  内燃機関（エンジン）
３２  インジェクタ
４０  触媒コンバータ
４２  触媒前センサ
４４  触媒後センサ
５２  クランク角センサ
５４  アクセル開度センサ
【図１】
0005605317.tif 000002
【図２】
0005605317.tif 000003
【図３】
0005605317.tif 000004
【図４】
0005605317.tif 000005
【図５】
0005605317.tif 000006
【図６】
0005605317.tif 000007
【図７】
0005605317.tif 000008