(57)【特許請求の範囲】
【請求項１】
複数の気筒を備える内燃機関の制御装置であって、
目標空燃比が所定の周期で変動するよう、該目標空燃比を設定する目標空燃比設定手段と、
前記内燃機関の空燃比を検出する空燃比検出手段と、
前記検出された空燃比を示す信号から、内燃機関の回転数の０．５次の周波数成分を抽出するよう、該信号を第１のバンドパスフィルタでフィルタリングする第１のフィルタリング手段と、
前記検出された空燃比を示す信号から、前記目標空燃比が変動する前記所定の周期に対応する周波数成分を抽出するよう、該信号を第２のバンドパスフィルタでフィルタリングする第２のフィルタリング手段と、
前記第１のフィルタリング手段が出力する第１フィルタリング値および前記第２のフィルタリング手段が出力する第２フィルタリング値に基づいて、前記複数の気筒間において空燃比がばらついているか否かを判断する判断手段と、
を備え、
前記所定の周期に対応する周波数は、前記内燃機関の回転数の０．５次の周波数とは異なる値に設定される、
制御装置。
【請求項２】
前記所定の周期に対応する周波数は、前記内燃機関の回転数の０．５次の周波数値より小さく、かつ、アタセルペダルの踏み込み量の負荷変動で発生する周波数値より小さい値に設定される、請求項１に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、内燃機関の気筒間の空燃比の不均衡（imbalance）を判断するための装置に関する。
【背景技術】
【０００２】
複数の気筒を備える内燃機関において、気筒間で混合気の空燃比がばらつくと、排ガスを浄化する三元触媒の浄化率が低下し、エミッションが悪化するおそれがある。
【０００３】
エミッションを悪化させるものとして失火があるが、下記の特許文献１では、空燃比センサの出力平均値および出力振れ幅に基づいて失火の生じた気筒を特定する手法が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平３−１８９３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数の気筒間において空燃比がばらついているかどうかを、より効率的かつ良好な精度で判断することができれば、該ばらつきを補償する制御の効率性および精度を向上させることができる。したがって、この発明は、良好な精度を維持しつつ、より簡単に、気筒間において空燃比がばらついているかどうかを判断する手法を提案する。
【課題を解決するための手段】
【０００６】
本発明は、複数の気筒を備える内燃機関の制御装置である。本制御装置は、目標空燃比が所定の周期で変動するよう、該目標空燃比を設定する目標空燃比設定手段と、前記内燃機関の空燃比を検出する空燃比検出手段と、前記検出された空燃比を示す信号から、内燃機関の回転数の０．５次の周波数成分を抽出するよう、該信号を第１のバンドパスフィルタでフィルタリングする第１のフィルタリング手段と、前記検出された空燃比を示す信号から、前記目標空燃比が変動する前記所定の周期に対応する周波数成分を抽出するよう、該信号を第２のバンドパスフィルタでフィルタリングする第２のフィルタリング手段と、前記第１のフィルタリング手段が出力する第１フィルタリング値および前記第２のフィルタリング手段が出力する第２フィルタリング値に基づいて、前記複数の気筒間において空燃比がばらついているか否かを判断する判断手段と、を備える。また、本制御装置では、前記所定の周期に対応する周波数は、前記内燃機関の回転数の０．５次の周波数とは異なる値に設定される。
【０００７】
本発明の一の態様によると、前記所定の周期に対応する周波数は、前記内燃機関の回転数の０．５次の周波数値より小さく、かつ、アタセルペダルの踏み込み量の負荷変動で発生する周波数値より小さい値に設定される。
【図面の簡単な説明】
【０００８】
【図１】この発明の一実施形態に従う、エンジンおよびその制御装置の全体的な構成を示す図。
【図２】気筒間において空燃比が均衡されている状態および不均衡な状態の検出当量比ＫＡＣＴを示す図。
【図３】この発明の一実施形態に従う、直列４気筒のエンジンおよびＶ型６気筒のエンジンの空燃比センサの配置を示す図。
【図４】直列４気筒エンジンにおける空燃比のバランスおよびインバランス状態における検出当量比の周波数スペクトルを示す図。
【図５】Ｖ型６気筒エンジンにおける空燃比のバランスおよびインバランス状態における検出当量比の周波数スペクトルを示す図。
【図６】この発明の一実施形態に従う、気筒間における空燃比のインバランス状態を判断する制御装置のブロック図。
【図７】この発明の一実施形態に従う、気筒間における空燃比のインバランス状態についての診断が可能な領域を説明するための図。
【図８】この発明の一実施形態に従う、診断モードで設定される、所定の周期で変動する目標空燃比の一例を示す図。
【図９】この発明の一実施形態に従う、第１のフィルタ済み当量比および第１の積算値の推移の一例を示す図。
【図１０】この発明の一実施形態に従う、空燃比センサの応答性が良好な場合（ａ）と劣化した場合（ｂ）とにおける、第１の積算値、第２の積算値および第１の結果値の大きさを概略的に示す図。
【図１１】この発明の一実施形態に従う、第１のしきい値を設定する手法を説明するための図。
【図１２】この発明の他の実施形態に従う、気筒間における空燃比のインバランス状態を判断する制御装置のブロック図。
【図１３】この発明の他の実施形態に従う、第２の積算値に基づく第１のしきい値を規定するマップの一例を示す図。
【図１４】空燃比センサの応答性が良好な場合と劣化した場合の時定数の違いを説明するための図。
【図１５】この発明のさらに他の実施形態に従う、気筒間における空燃比のインバランス状態を判断する制御装置のブロック図。
【図１６】この発明の一実施形態に従う、診断条件を判定するプロセスのフロー。
【図１７】この発明の一実施形態に従う、目標空燃比を設定するプロセスのフロー。
【図１８】この発明の一実施形態に従う、空燃比のバランスおよびインバランス状態を診断するプロセスのフロー。
【図１９】この発明の他の実施形態に従う、空燃比のバランスおよびインバランス状態を診断するプロセスのフロー。
【図２０】この発明の一実施形態に従う、空燃比がバランス状態にある場合のシミュレーション結果の一例を示す図。
【図２１】この発明の他の実施形態に従う、空燃比がインバランス状態にある場合のシミュレーション結果の一例を示す図。
【図２２】この発明の他の実施形態に従う、空燃比がインバランス状態にある場合のシミュレーション結果の一例を示す図。
【発明を実施するための形態】
【０００９】
次に図面を参照してこの発明の実施の形態を説明する。図１は、この発明の一実施形態に従う、内燃機関（以下、エンジンと呼ぶ）およびその制御装置の全体的な構成図である。
【００１０】
電子制御ユニット（以下、「ＥＣＵ」）という）１は、中央演算処理装置（ＣＰＵ）およびメモリを備えるコンピュータである。メモリには、車両の様々な制御を実現するためのコンピュータ・プログラムおよび該プログラムの実施に必要なデータ（マップを含む）を格納することができる。ＥＣＵ１は、車両の各部から信号を受取ると共に、該メモリに記憶されたデータおよびプログラムに従って演算を行い、車両の各部を制御するための制御信号を生成する。
【００１１】
エンジン２は、複数の気筒を有するエンジンである。エンジン２には、吸気通路３および排気通路４が連結されている。吸気通路３には、スロットル弁５が設けられている。スロットル弁５の開度は、ＥＣＵ１からの制御信号に従って制御される。スロットル弁５の開度を制御することにより、エンジン２に吸入される空気の量を制御することができる。スロットル弁５には、スロットル弁の開度を検出するスロットル弁開度（θＴＨ）センサ６が連結されており、この検出値は、ＥＣＵ１に送られる。
【００１２】
燃料噴射弁７が、エンジン２とスロットル弁５との間であって、エンジン２の吸気弁（図示せず）の少し上流側に、気筒ごとに設けられている。燃料噴射弁７は、燃料タンク２９に接続されており、燃料タンク２９からの燃料を噴射する。燃料噴射弁７の燃料噴射時期および燃料噴射量は、ＥＣＵ１からの制御信号に従って変更される。
【００１３】
スロットル弁５の上流には、吸気通路３を流れる空気の量を検出するエアフローメータ（ＡＦＭ）８が設けられている。
【００１４】
スロットル弁５の下流には、絶対圧（ＰＢ）センサ１０が設けられており、吸気通路３内の圧力ＰＢを検出する。また、絶対圧センサ１０の下流には吸気温（ＴＡ）センサ１１が設けられており、吸気通路３内の温度を検出する。これらの検出値は、ＥＣＵ１に送られる。また、エンジン２には、エンジンの水温ＴＷを検出するためのエンジン水温センサ１２が設けられており、該センサの検出値は、ＥＣＵ１に送られる。
【００１５】
ＥＣＵ１には、エンジン１のクランク軸の回転角度を検出するクランク角センサ１３が接続されており、該センサの検出値はＥＣＵ１に供給される。クランク角センサ１３は、所定のクランク角度（たとえば３０度）毎に１パルス（ＣＲＫパルス）を発生し、該パルスにより、クランク軸の回転角度位置を特定することができる。ＥＣＵ１は、該ＣＲＫパルスに基づいてエンジン回転数ＮＥを算出する。また、クランク角センサ１３は、ピストンの上死点（ＴＤＣ）位置に関連したクランク角度で、ＴＤＣ信号をＥＣＵ１に出力する。
【００１６】
排気通路４には、たとえば種々の触媒によって実現されることのできる排ガス浄化装置（ＣＡＴ）１５が設けられており、各気筒から排気通路４に流出される排ガスを浄化して、大気に放出する。
【００１７】
排ガス浄化装置１５の上流には、空燃比を検出する手段として空燃比（ＬＡＦ）センサ１６が設けられている。空燃比センサ１６は、混合気のリーンからリッチにわたる領域の空燃比をリニアに検出してＥＣＵ１に送る。この実施例では、空燃比センサ１６の出力から、検出当量比ＫＡＣＴが検出される。検出当量比ＫＡＣＴは、空燃比を示す信号であり、「空燃比／理論空燃比」によって算出される。検出当量比ＫＡＣＴの値が１より小さければ、空燃比がリーンであることを示し、１より大きければリッチであることを示す。
【００１８】
ＥＧＲ通路１８が、吸気通路３と排気通路４の間に接続されており、ＥＧＲ通路１８を介して、排気通路４の排ガスを吸気通路３に還流し、各気筒に供給することができる。還流率（還流する排ガスの量／新気の吸入空気量）は、ＥＧＲ弁１９により調整することができる。ＥＧＲ弁１９の開度は、ＥＣＵ１からの制御信号に従って変更される。
【００１９】
燃料タンク２９は、チャージ通路２０を介してキャニスタ２１に接続されている。キャニスタ２１は、燃料タンク２９内で発生する蒸発燃料を吸着する吸着剤２２を内蔵すると共に、外気取り込み口２３を有する。
【００２０】
キャニスタ２１は、パージ通路２７を介して吸気通路３のスロットル弁５の下流側に接続されている。パージ通路２７にはパージ制御弁２８が設けられている。パージ制御弁２８は、ＥＣＵ１からの制御信号に従って、デューティ制御される。制御信号すなわちデューティ信号で表される開弁（オン）時間と閉弁（オフ）時間の比率（デューティ比）を変更することにより、パージ制御弁２８の開弁量を連続的に制御することができる。こうして、パージ制御弁２８は、パージ通路２７を吸気通路３に向けて流れる蒸発燃料の量を制御する。
【００２１】
以上のように、燃料噴射弁７からの燃料、ＥＧＲ通路１８からのＥＧＲガス、パージ通路２７からの蒸発燃料、および吸気通路３からの空気の混合気が、エンジン２の燃焼室内で燃焼する。
【００２２】
ＥＣＵ１は、上記各種センサからの入力信号に応じて、メモリに記憶されたプログラムおよびデータ（マップを含む）に従い、エンジン２の運転状態を検出すると共に、スロットル弁５、燃料噴射弁７、ＥＧＲ弁１９およびパージ制御弁２８等を制御するための制御信号を生成する。
【００２３】
ここで、本願発明の、複数の気筒間における空燃比のばらつきを判断する手法の基本的な考え方を説明する。
【００２４】
図２を参照すると、直列４気筒エンジンにおいて、空燃比センサ１６によって検出された空燃比を当量比ＫＡＣＴで表したグラフが示されている。前述したように、検出当量比ＫＡＣＴは、値１より大きければ混合気がリッチであることを示し、値１より小さければ混合気がリーンであることを示す。図に示す１サイクルは、第１気筒〜第４気筒について燃焼が順番に実行されるサイクル（より具体的には、第１気筒―＞第３気筒―＞第４気筒―＞第２気筒の順番）を示し、この実施例では、７２０度のクランク角度期間に対応する。したがって、クランク角度１８０度毎に、いずれか１つの気筒の燃焼が行われる。
【００２５】
（ａ）は、４気筒間において空燃比が均衡されている状態（バランス状態とも呼ばれる）を示しており、検出当量比ＫＡＣＴが、すべての気筒において、矢印１０１で示すような所定のレンジ（この例では、０．０１のレンジ）内に収まっている。
【００２６】
（ｂ）は、４気筒間において空燃比がばらついている、すなわち不均衡になっている状態（インバランス状態とも呼ばれる）を示しており、１サイクルにおいて、検出当量比ＫＡＣＴが、（ａ）に示すような所定のレンジ内に収まっていない部分がある。この例では、第１気筒のみが、他の気筒よりも２０％だけ空燃比がリッチになるよう燃料が噴射された場合を示している。このように、インバランス状態は、少なくとも１つの気筒についての空燃比と、他の気筒の空燃比との間に不均衡（ずれ）がある状態を示し、たとえば、燃料噴射弁７、パージ制御弁２８等を含む蒸発燃料を処理する装置、ＥＧＲ制御弁１９等を含むＥＧＲガスを処理する装置に関する構成要素の不具合等に起因して起こり得る。
【００２７】
図から明らかなように、バランス状態においては、検出当量比ＫＡＣＴに周期的な変動がほとんど生じないが、インバランス状態においては、周期的な変動が生じている。したがって、検出当量比ＫＡＣＴから、変動する周波数成分（変動成分）を抽出することにより、インバランス状態かどうかを判断することができる。
【００２８】
以下、直列４気筒エンジンとＶ型６気筒エンジンを例にあげて、インバランス状態を判断する手法の原理について説明する。
【００２９】
図３の（ａ）は、図１のエンジン２が、直列４気筒エンジンである場合の、空燃比（ＬＡＦ）センサ１６の配置を説明するための概略図である。このエンジンでは、４つの気筒２ａから２ｄが設けられ、吸気通路３の集合部３２で分岐された吸気管３ａから３ｄは各気筒に連結され、各気筒の排気管４ａ〜４ｂは、集合部３１において排気通路４に連結されている。空燃比センサ１６は、該排気通路４に設けられている。
【００３０】
図３の（ｂ）は、図１のエンジン２がＶ型６気筒エンジンである場合の、空燃比（ＬＡＦ）センサの配置を説明するための概略図である。このエンジンでは、第１のバンクおよび第２のバンクのそれぞれに３個の気筒２ａ〜２ｃおよび２ｄ〜２ｆが設けられている。第１のバンクについて、吸気通路３の集合部３２で分岐された吸気管３ａから３ｃが各気筒に連結され、各気筒からの排気管４ａから４ｃは、集合部３１ａにおいて排気通路３５ａに連結されており、該排気通路３５ａに１個の空燃比センサ１６ａが設けられている。第２のバンクについても、同様の構成を有する。
【００３１】
図４は、図３（ａ）に示されるような直列４気筒エンジンの場合を示し、当該エンジンでは、１サイクルの間（クランク角度７２０度期間）に、＃１―＞＃３―＞＃４―＞＃２の気筒の順番で燃料が噴射される。（ａ）は、気筒間において空燃比が均衡されている状態（バランス状態）の検出当量比ＫＡＣＴの周波数スペクトルを示す。横軸の「０．５次」は、エンジン回転数の０．５次周波数成分を示し、「１次」は、エンジン回転数の１次周波数成分を示す。
【００３２】
（ｂ）〜（ｄ）は、気筒間において空燃比が不均衡となっている状態（インバランス状態）を示し、（ｂ）は、第１の気筒のみをリッチにし、他の気筒をリーンにした場合、（ｃ）は、燃料噴射が連続する２つの気筒（この例では、第１および第３気筒）においてリッチにし、他の気筒をリーンにした場合、（ｄ）は、燃料噴射が不連続の２つの気筒（この例では、第１および第４の気筒であり、以下、対向２気筒と呼ぶ）においてリッチにし、他の気筒をリーンにした場合を示し、それぞれの場合について、リッチおよびリーンを示す信号、検出当量比ＫＡＣＴ、および検出当量比ＫＡＣＴの周波数スペクトルが示されている。
【００３３】
図に示されるように、（ｂ）のように１つの気筒のみについて空燃比がずれている場合には、エンジン回転数の０．５次周波数成分において出力が高くなっている。（ｃ）のように連続２気筒について空燃比がずれている場合にも、０．５次周波数成分において出力が高くなっている。（ｄ）のように対向２気筒について空燃比がずれている場合には、エンジン回転数の１次の周波数成分において出力が高くなっている。
【００３４】
仮に、エンジン回転数が１０００ｒｐｍとすると、１次周波数は、（１０００／６０）Ｈｚであり、よって、６０ミリ秒（クランク角度３６０度の期間＝１／２サイクル）の周期に対応し、０．５次周波数は、（１０００／１２０）Ｈｚであり、よって、１２０ミリ秒（クランク角度７２０度の期間＝１サイクル）の周期に対応する。エンジン回転数が３０００ｒｐｍの場合には、１次周波数は２０ミリ秒（クランク角度３６０度の期間）の周期に対応し、０．５次周波数は４０ミリ秒（クランク角度７２０度の期間）の周期に対応する。したがって、（ｂ）および（ｃ）の場合には、検出当量比ＫＡＣＴが１サイクルの周期で変動し、（ｄ）の場合には、検出当量比ＫＡＣＴが、２分の１サイクルの周期で変動する。
【００３５】
このように、直列４気筒のエンジンの場合には、エンジン回転数の０．５次周波数および１．０次周波数成分を空燃比センサの出力から抽出することにより、空燃比の不均衡に起因して変動する周波数成分を良好に抽出することができ、よってインバランス状態を判断することができる。
【００３６】
図５は、図３（ｂ）に示すようなＶ型６気筒型のエンジンの場合を示す。当該エンジンでは、１サイクルの間（クランク角度７２０度期間）に、＃１―＞＃４―＞＃２―＞＃５―＞＃３―＞＃６の気筒の順番で燃料が噴射される。前述したように、Ｖ型エンジンの場合には、バンクごとに空燃比センサが設けられるので、図には、第１〜第３気筒を備える第１のバンクについての検出当量比ＫＡＣＴの波形が示されている。当然ながら、第２のバンクについても同様のことがあてはまる。
【００３７】
（ａ）は、気筒間において空燃比が均衡されている状態（バランス状態）の検出当量比ＫＡＣＴの周波数スペクトルを示す。（ｂ）および（ｃ）は、気筒間において空燃比が不均衡となっている状態（インバランス状態）を示し、（ｂ）は、第１の気筒のみをリッチにし、他の気筒をリーンにした場合、（ｃ）は、燃料噴射が連続する２つの気筒（この例では、第１および第２気筒）においてリッチにし、他の気筒をリーンにした場合の、リッチおよびリーンを示す信号、検出当量比ＫＡＣＴ、および検出当量比ＫＡＣＴの周波数スペクトルを示す。１つのバンクの気筒数が３個であるので、図４（ｄ）のような対向２気筒のケースは存在しない。したがって、エンジン回転数の０．５次の周波数成分のみを抽出すれば、気筒間における空燃比のインバランス状態を判断することができる。
【００３８】
図６は、本願発明の一実施形態に従う、気筒間において空燃比がインバランス状態にあるかどうかを診断するための制御装置のブロック図を示す。
【００３９】
診断条件判定部５１は、インバランス状態を見極める診断プロセスの実行を許可するための所定の条件が満たされたかどうかを、エンジンの運転状態に基づいて判断する。この実施例では、該所定の条件には、空燃比センサ１６の応答性に依存した条件が含まれる。これは、主に、空燃比センサ１６の応答性の劣化程度や、エンジン回転数ＮＥと吸気管圧力ＰＢに基づいて決まる。
【００４０】
ここで、図７を参照すると、エンジン回転数ＮＥと吸気管圧力ＰＢとに基づく空燃比センサの応答性の概略が示されている。この例では、所定範囲のエンジン回転数を４つのレンジに分けており、ＮＥ１〜ＮＥ４に向かって回転数の値は高くなっている。また、所定範囲の吸気管圧力を４つのレンジに分けており、ＰＢ１からＰＢ４に向かって吸気管圧力の値は高く（すなわち負荷が高く）なっている。なお、ここで示すレンジの数は一例であり、他の数のレンジを設定してもよい。
【００４１】
低回転数および低負荷（低吸気管圧力）の領域では、排ガスのボリュームが不足するため、空燃比センサの出力が小さすぎて、後続の診断が困難となるおそれがある。また、高回転数の領域では、１サイクルの時間長が短いので、空燃比センサの出力が実際の空燃比変化に追従することが難しく（空燃比センサの応答性の限界領域である）、よって後続の診断が困難となるおそれがある。したがって、エンジンの現在の運転状態がこれらの領域にあるときには、診断プロセスの実行を禁止するのが好ましい。反対に、エンジンの現在の運転状態が、これらの領域以外の診断可能領域にあるときには、診断プロセスの実行を許可する。
【００４２】
上記では、排ガスボリューム不足となる領域を、吸気管圧力およびエンジン回転数に基づいて説明したが、排ガスボリュームが不足しているかどうかは、吸気管圧力およびエンジン回転数とは異なる運転状態パラメータに基づいて判断してもよい。たとえば、吸入空気量（これは、ＡＦＭ８により検出されることができる）に基づいて判断してもよいし、燃料噴射量に基づいて判断してもよい。また、吸入空気量および燃料噴射量から排ガスボリュームの値を算出し、該算出した排ガスボリュームの値に基づいて判断してもよい。
【００４３】
診断プロセスの実行を許可するかどうかの上記所定の条件には、他の条件を含めることができ、この具体例については後述される。
【００４４】
図６に戻り、上記所定の条件が満たされたことに応じて、診断モードが開始する。診断モードは、所定期間にわたって継続する。診断モードが開始したことに応じて、目標空燃比設定部５３は、所定値（典型的には、理論空燃比）である目標空燃比に、空燃比センサ１６によって検出される空燃比をフィードバック制御する通常の空燃比フィードバック制御を停止し、目標空燃比を、図８に示すような、所定の周波数ｆａすなわち所定の周期Ｔａで、所定の空燃比値を中心に変動する周期波として設定する。ここで、該所定の周波数ｆａは、前述した、０．５次および１次の周波数値とは異なる値を持つ。より好ましくは、該所定の周波数ｆａは、０．５次の周波数値より小さく、かつ、アクセルペダルの踏み込み量の負荷変動では発生し得ない周波数値（たとえば、４〜８Ｈｚ）を持つよう設定される。
【００４５】
この実施形態では、周波数ｆａが４Ｈｚ（よって、周期Ｔａは、２５０ミリ秒）であり、理論空燃比（１４．７）よりも若干リッチな空燃比値を中心として変動する正弦波として、目標空燃比を設定する。こうすることにより、診断モードにおいて上記のように目標空燃比を変動させた場合でも、ＮＯｘの排出を防ぐことができる。
【００４６】
なお、目標空燃比の当該周期波の周波数および波形は、これに限定されるものではなく、他の周波数の、たとえば矩形波およびのこぎり波のような周期波で、目標空燃比を設定してもよい。目標空燃比を周期波として設定する理由は、後述される空燃比センサの応答性を補償するためであり、より詳細な理由については、後述される。
【００４７】
こうして設定された目標空燃比は、該診断モードが継続する所定期間にわたり、所定の制御周期で実行される空燃比フィードバック制御によってサンプリングされ（図には、今回の制御周期ｋおよび次の制御周期（ｋ＋１）でサンプリングされる様子が示されている）、該サンプリングされた値の目標空燃比に、空燃比センサ１６によって検出される空燃比が収束するように、燃料の量が算出され、該算出された量の燃料が燃料噴射弁７を介して噴射される。その結果としての空燃比が、空燃比センサ１６により検出される。検出される空燃比は、目標空燃比の変動に合わせて、所定の周期Ｔａで変動することとなる。
【００４８】
図６に戻り、検出空燃比取得部５５は、該空燃比センサ１６の出力を、後続の第１および第２のバンドパスフィルタ６１および７１によるフィルタリング処理の周期に同期してサンプリングすることで、検出された空燃比すなわち当量比ＫＡＣＴを取得する。
【００４９】
第１のバンドパスフィルタ６１は、該取得された当量比ＫＡＣＴから、エンジン回転数の０．５次の周波数成分を抽出するよう構成されている。当該バンドバスフィルタのフィルタ式の一例を、以下に示す。該フィルタは、この実施例では、再帰型デジタルフィルタとして実現される。ここで、ａ０〜ａＮおよびｂ１〜ｂＭは、シミュレーション等によって決定されることができるフィルタ係数を示す。ｘは、空燃比センサからの検出当量比ＫＡＣＴを示す。ｙは、フィルタの出力値を示す。ｎは、制御周期を示し、各制御周期の長さは、この実施例では、その後に続く積算の周期と等しいか、またはそれ以下の長さを持つよう設定される。
【数１】
0005553928.tif 000002
【００５０】
検出当量比ＫＡＣＴが第１のバンドパスフィルタ６１によってフィルタリングされることにより、第１のフィルタ済み当量比が算出される。ここで、図９を参照すると、第１のフィルタ済み当量比の一例が（ａ）に示されている。この例では、フィルタリングの周期は、その後に続く積算の周期に等しい。
【００５１】
図６に戻り、第１の積算部６３は、前述したエンジン回転数の０．５次周波数に対応する周期毎に、第１のフィルタ済み当量比を積算して、第１の積算値を算出する。具体的には、該周期毎に、第１のフィルタ済み当量比を受け取り、該第１のフィルタ済み当量比を第１の積算値の前回値に加算することにより、第１の積算値の今回値を算出する。こうして、図９の（ｂ）に示されるように、第１の積算値は、該周期毎にステップ状に増加していく。第１の積算値の初期値はゼロに設定されることができる。
【００５２】
第１の積算部６３による周期毎の積算処理は、前述した診断モードが継続する所定期間にわたって行われる。該所定期間は、予め設定されることができる（たとえば、２０周期に相当する期間であり、エンジン回転数が３０００ｒｐｍの場合には、０．８秒）。
【００５３】
第１の積算値は、図２〜図５を参照して説明したように、気筒間の空燃比におけるばらつきの程度を示す。したがって、該所定期間経過後の第１の積算値が所定のしきい値より大きければ、気筒間において空燃比がインバランス状態にあると判断することができ、また、該第１の積算値が該しきい値以下であれば、気筒間において空燃比がバランス状態にあると判断することができる。
【００５４】
しかしながら、図７のような診断可能領域においても、同じ実空燃比に対し、空燃比センサは様々な応答性（空燃比センサの出力の大きさで表される）を呈示し、該応答性の劣化程度に応じて、所定期間後の第１の積算値の大きさに違いが生じる。たとえば、空燃比センサ自体の経年劣化のみならず、エンジン回転数が高くなるほど、１サイクルの時間長が短くなるので、空燃比センサの応答性は小さくなり、また、低負荷になるほど（吸気管圧力が低くなるほど）、排ガスボリュームが小さくなるので、応答性は小さくなる。空燃比センサの応答性が劣化するほど、所定期間後の第１の積算値は小さくなる。なお、ここでの「劣化」は、後述するように、実空燃比が変化したときに、空燃比センサの出力が、該変化後の実空燃比に至るまでの時間が遅く、結果として、該センサによって検出される空燃比値の大きさが小さくなる現象を示す。そして、診断モードで補償される「劣化」は、その程度が比較的小さく、「故障」と判定されない程度のものを指す。「劣化」の程度が所定以上進むと（たとえば、空燃比センサ１６の実際の出力が、本来出力すべき値（実空燃比の値）に対して、所定値以上の差を有する場合）、故障と判定されることとなり、この場合には補償は行われない（たとえば、図１６のＳ１３）。
【００５５】
この点について、図１０を参照すると、（ａ１）は、空燃比センサの応答性が良好な場合（基準となる場合であり、実空燃比にほぼ等しい値が検出される場合）における、気筒間の空燃比がバランス状態にある場合とインバランス状態にある場合の、所定期間経過後の第１の積算値の一例を棒グラフで示し、（ｂ１）は、空燃比センサの応答性が（ａ１）に比べて劣化した場合における、気筒間の空燃比がバランス状態にある場合とインバランス状態にある場合の、所定期間経過後の第１の積算値の一例を棒グラフで示す。ここで、インバランス状態を生じさせている原因は、（ａ１）と（ｂ１）の場合で同じであると仮定する。
【００５６】
応答性が劣化するほど、空燃比センサ１６の出力は小さくなるので、（ｂ１）に示される第１の積算値は、（ａ１）に示される第１の積算値よりも低い。仮に、符号１０５で示されるような所定のしきい値を設定し、第１の積算値がしきい値より大きい場合にはインバランス状態と判断し、第１の積算値がしきい値以下である場合にはバランス状態と判断する診断を行うと、（ａ１）の場合には、正しい診断結果が得られることとなるが、（ｂ１）の場合には、両方の第１の積算値についてインバランス状態と診断されることとなり、誤った診断結果となる。
【００５７】
このような空燃比の応答性の劣化に起因した誤った診断を防止するため、本願発明では、さらに、応答性を補償する機能ブロックを制御装置に設け、これは、図６の実施形態では、第２のバンドパスフィルタ７１、第２の積算部７３、および正規化部８１を含む。
【００５８】
第２のバンドパスフィルタ７１は、空燃比センサ１６を介して検出された当量比ＫＡＣＴから、目標空燃比設定部５３で設定された、目標空燃比が変動する周期Ｔａに対応する周波数ｆａの成分（以下、単に、目標空燃比変動の周波数成分と呼ぶことがある）を抽出するよう構成されている。前述したように、診断モードでは、目標空燃比は、所定の周期すなわち所定の周波数で変動する周期波として設定され、この実施形態では、周波数が４Ｈｚの正弦波である。したがって、第２のバンドパスフィルタ７３は、検出当量比ＫＡＣＴから、４Ｈｚの周波数成分を抽出するよう構成されている。検出当量比ＫＡＣＴが第２のバンドパスフィルタ７３によりフィルタリングされることにより、第２のフィルタ済み当量比が算出される。第２の積算部７３は、第２のフィルタ済み当量比を積算する。
【００５９】
第２のバンドパスフィルタ７１および第２の積算部７３の処理は、それぞれ、第１のバンドパスフィルタ６１および第１の積算部６３の処理と同期して行われる。すなわち、第１および第２のバンドパスフィルタの入力は、同じ時点で検出されて検出空燃比取得部５５により取得された当量比ＫＡＣＴであり、第１および第２の積算は、同じタイミングで、すなわち０．５次の周波数に対応する周期毎に行われる。そして、第２の積算も、第１の積算と同様に、前述した所定期間にわたって行われる。
【００６０】
正規化部８１は、診断モードの当該所定期間が経過した後、第１の積算部６３によって最終的に算出された第１の積算値を、第２の積算部７３によって最終的に算出された第２の積算値で正規化することにより、第１の結果値を算出する。具体的には、以下の式（２）に従って、第１の結果値を算出する。
第１の結果値＝
所定期間経過後の第１の積算値／所定期間経過後の第２の積算値      （２）
【００６１】
このような正規化により、空燃比センサの応答性の劣化に依存しない第１の結果値を得ることができる。したがって、診断部８３は、該第１の結果値を、所定の第１のしきい値Ｔｈ１と比較する。第１の結果値が第１のしきい値Ｔｈ１より大きければ、検出当量比ＫＡＣＴの変動が大きいことを示すので、気筒間において空燃比がインバランス状態にあると判断する。第１の結果値が第１のしきい値Ｔｈ以下であれば、検出当量比ＫＡＣＴの変動が小さいことを示すので、気筒間において空燃比がバランス状態にあると判断する。なお、インバランス状態と判断した場合には、たとえば所定の警告灯を点灯させることにより、気筒間の空燃比に不均衡が生じていることをユーザに報知することができる。
【００６２】
ここで再び図１０を参照すると、（ａ２）は、空燃比センサ１６の応答性が良好な場合の第２の積算値の一例を、（ａ３）は、（ａ１）の第１の積算値と（ａ２）の第２の積算値に基づいて算出された第１の結果値を、棒グラフで示す。（ｂ２）は、空燃比センサ１６の応答性が劣化した場合の第２の積算値の一例を、（ｂ３）は、（ｂ１）の第１の積算値と（ｂ２）の第２の積算値に基づいて算出された第１の結果値を、棒グラフで示す。
【００６３】
前述したように、空燃比センサが劣化すると、該センサの出力が小さくなるため、第２の積算値は、（ａ２）よりも（ｂ２）の方が小さい。しかしながら、（ａ２）および（ｂ２）のいずれにおいて、バランス状態およびインバランス状態間において、第２の積算値の値はほぼ同じである。すなわち、第２の積算値は、目標空燃比変動の周波数成分に基づく空燃比センサの出力を示しているので、気筒間の空燃比のばらつきには影響されない。したがって、第２の積算値は、気筒間の空燃比のばらつきに関係なく、空燃比センサの劣化の程度を表しているといえる。そのため、第１の積算値を第２の積算値で正規化することにより、第１の結果値は、空燃比センサの劣化に影響されることなく、気筒間のばらつきを表す値として取得されることができる。したがって、（ａ３）および（ｂ３）に示すように、所定の第１のしきい値Ｔｈ１により、空燃比センサが劣化した場合でも、気筒間の空燃比のバランスおよびインバランス状態を良好な精度で判断することができる。
【００６４】
第１のしきい値Ｔｈは、或る気筒と他の気筒との間の空燃比のずれの量について、バランス状態とインバランス状態の境界を予め設定し、該境界のずれ量に対応するよう設定されるのが好ましい。たとえば、図１１を参照すると、図７で示した診断可能領域における第１の結果値の分布（度数）について、シミュレーション結果の一例が示されている。この例は、吸気管圧力が、図７に示すＰＢ２の値であって、エンジン回転数が、図７に示すＮＥ２の値である場合のものである。符号１１１および１１２は、それぞれ、第１および第２気筒を他の気筒に比べて１０％リッチにした場合を示し、符号１２１および１２２は、それぞれ、第１および第２気筒を他の気筒に比べて２０％リッチにした場合を示す。
【００６５】
図から明らかなように、或る気筒と他の気筒との間の空燃比のずれが１０％以下であればバランス状態と判断し、或る気筒と他の気筒との間の空燃比のずれが２０％以上であればインバランス状態と判断する場合には、符号１１１および１１２で表される結果値と、符号１２１および１２２で表される結果値との間に、符号１３１に示されるようなしきい値を設定すればよい。このように、何パーセントのずれを境にバランス状態およびインバランス状態を区別するかに応じて、しきい値を設定することができる。
【００６６】
上記において、第２の積算値は、空燃比センサ１６の応答性を表している。第２の積算値が大きいほど、空燃比センサの応答性が良好なことがわかる。したがって、応答性に応じて第１のしきい値Ｔｈを求め、該求めた第１のしきい値Ｔｈ１を、第１の積算値と比較してもよい。この代替の実施形態が、図１２に示されている。図６と異なるのは、正規化部８１に代えて、しきい値設定部８５が設けられている点である。たとえば、図１３に示すようなマップを、予めメモリ等の記憶装置に記憶し、しきい値設定部８５は、診断モードの上記所定期間経過後、第２の積算部７３によって最終的に算出された第２の積算値に基づいて該マップを参照し、対応する第１のしきい値Ｔｈ１を求める。第２の積算値が大きいほど、大きい値の第１のしきい値Ｔｈ１が求められる。
【００６７】
診断部８３は、該所定期間経過後、第１の積算部６３によって最終的に算出された第１の積算値と、こうしてマップから求めた第１しきい値Ｔｈ１とを比較する。該第１の積算値が該第１のしきい値Ｔｈ１より大きければ、検出当量比ＫＡＣＴの変動が大きいことを示すので、気筒間において空燃比がインバランス状態にあると判断する。該第１の積算値が第１のしきい値Ｔｈ１以下であれば、検出当量比ＫＡＣＴの変動が小さいことを示すので、気筒間において空燃比がバランス状態にあると判断する。
【００６８】
ここで、本願発明の、上記のような空燃比センサの応答性を補償する構成に至った原理を説明する。本願発明者の知見によれば、空燃比センサは、一次遅れ要素でモデル化することができる。周知の如く、一次遅れ要素の伝達関数Ｇ（ｓ）は、以下の式（３）で表され、ここで、ｓはラプラス演算子を示し、Ｔは時定数を示す。
【数２】
0005553928.tif 000003
【００６９】
伝達関数Ｇ（ｓ）を、周波数伝達関数Ｇ（ｊω）で表すと、ｓ＝ｊωであるので、式（４）のようになる。
【数３】
0005553928.tif 000004
【００７０】
周波数ｆの入力信号を与えたときの、空燃比センサの出力の振幅は、周波数伝達関数Ｇ（ｊω）のゲインとして考えることができるので、以下の式（５）のようになる。ここで、ω＝２πｆである。
【数４】
0005553928.tif 000005
【００７１】
応答性が劣化しているかどうかを判断するのに使用される、目標空燃比変動の周波数および０．５次の周波数の領域は、たとえばエンジン回転数が３０００ｒｐｍのような高い場合を考慮しても、４〜２５Ｈｚ程度であるので、ωＴ＞＞１とみなすことができる。したがって、上記の式（５）は、以下の式（６）のように近似することができる。
【数５】
0005553928.tif 000006
【００７２】
時定数Ｔは、周知の如く、伝達関数で表されるシステムの出力が最終値の約６３．２％に達するまでの時間（秒）を表している。したがって、上記伝達関数Ｇ（ｊω）の時定数は、空燃比センサ１６の出力（検出当量比ＫＡＣＴ）が、最終値（実空燃比の値）の約６３．２％の値に達するまでの時間を表している。空燃比センサの応答性が劣化するほど、出力の立ち上がりが遅くなり、よって時定数Ｔの値は大きくなる。
【００７３】
ここで、図１４を参照すると、実空燃比が符号１４１で示すように時間ｔ１でＶだけ変化したときの、空燃比センサの応答性が良好である場合の空燃比センサの出力（当量比ＫＡＣＴ）の立ち上がりの推移１４３と、応答性が劣化した場合の空燃比センサの出力の立ち上がりの推移１４５の一例が示されている。出力１４３が、最終値の約６３．２％（すなわち、Ｖ×６３．２％の値）に到達するまでの時定数がＴ１で表され、出力１４５が、最終値Ｖの約６３．２％に到達するまでの時定数がＴ２で表されている。
【００７４】
前述したように、空燃比センサの出力が所定の周期でサンプリングされることにより、検出空燃比取得部５５（図６等）は検出空燃比を取得する。図１４に示すように、たとえば時間ｔ２で空燃比センサの出力がサンプリングされたとすると、応答性が良好な場合には、Ｖ１によって示されるように、最終値に近い、すなわち出力の大きい値が取得されるが、応答性が劣化した場合には、Ｖ２によって示されるように、最終値から離れた、すなわち出力の小さい値が取得される。結果として、同じ時期にサンプリングされた検出空燃比の大きさは、センサの応答性が劣化するほど小さくなるおそれがある。
【００７５】
このように、応答性が良好な場合と劣化した場合との空燃比センサの出力の大きさの違いは、主に、時定数の大きさの違いに起因していると考えることができる。したがって、時定数の影響を排除するように、結果値を算出するようにすればよい。本願発明では、第２の積算値を用いることによって、時定数に影響されない結果値を算出することができる。
【００７６】
このことを、以下の計算結果に示す。上記の伝達関数Ｇ（ｊω）を用いて、応答性が良好な場合のバランス状態とインバランス状態の第１の結果値と、応答性が劣化した場合のバランス状態とインバランス状態の第１の結果値とを、計算する。ここで、バランス状態において、０．５次周波数に対する空燃比センサの出力振幅は、式（６）で示される理論値（これは、気筒間において空燃比の不均衡が全くない理想の状態での出力振幅を示す）に対し、１．１倍の振幅で変動すると仮定する。また、インバランス状態において、０．５次周波数に対する空燃比センサの出力振幅は、該理論値に対し、１．３倍の振幅で変動すると仮定する。さらに、目標空燃比変動の周波数に対する空燃比センサの出力振幅は、該理論値に対し、１．０５倍の振幅で変動すると仮定する。
【００７７】
エンジン回転数を、ここでは１５００ｒｐｍと仮定する。したがって、エンジン回転数の０．５次の周波数は、１２．５Ｈｚであり、これに対応する角周波数を、ω１２．５Ｈｚで表す。また、目標空燃比変動の周波数は、前述したように４Ｈｚとし、これに対応する角周波数を、ω４Ｈｚで表す。
【００７８】
１）応答性が良好な場合のバランス状態の結果値：
応答性が良好なので、時定数はＴ１（たとえば、０．１２秒）が用いられる。第１の積算値は、０．５次の周波数成分の信号が空燃比センサに入力されたときの、該空燃比センサの出力振幅に相当すると考えることができる。バランス状態にあるため、第１の積算値の該出力振幅は、上記の理論値よりも１．１倍される。また、第２の積算値は、目標空燃比変動の周波数の信号が空燃比センサに入力されたときの、該空燃比センサの出力振幅に相当すると考えることができる。したがって、第１の結果値（＝第１の積算値／第２の積算値）は、以下の式（７）のように表される。
【数６】
0005553928.tif 000007
【００７９】
２）応答性が良好な場合のインバランス状態の結果値：
上記１）と同様に求められるが、インバランス状態であるため、第１の積算値における出力振幅は、１．３倍となる。したがって、以下の式（８）のような計算結果となる。
【数７】
0005553928.tif 000008
【００８０】
３）応答性が劣化した場合のバランス状態の結果値：
上記１）と異なるのは、時定数がＴ２（たとえば、０．１５秒）となることである。したがって、以下の式（９）のようになる。
【数８】
0005553928.tif 000009
【００８１】
４）応答性が劣化した場合のインバランス状態の結果値：
上記２）と異なるのは、時定数がＴ２となることである。したがって、以下の式（１０）のようになる。
【数９】
0005553928.tif 000010
【００８２】
上記の計算結果からもわかるように、時定数がＴ１かＴ２かにかかわらず、第２の積算値で正規化することにより、時定数は打ち消され、第１の結果値には時定数が反映されなくなる。したがって、応答性の程度に関係のない結果値を算出することができる。結果として、本願発明の応答性補償の手法を用いることにより、気筒間の空燃比のバランスないしインバランスの状態を判断するＳＮ比を向上させることができ、該気筒間の空燃比のばらつきを、より良好な精度で検出することができる。
【００８３】
図１５は、本願発明の他の実施形態に従う制御装置のブロック図である。図６と異なるのは、図３を参照して前述した直列４気筒エンジンの対向２気筒の空燃比ずれについても検出可能なように、第３のバンドパスフィルタ９１と第３の積算部９３がさらに設けられている点である。
【００８４】
第３のバンドパスフィルタは、空燃比センサ１６を介して検出された当量比ＫＡＣＴから、エンジン回転数の１次周波数成分を抽出するよう構成されており、第３のフィルタ済み当量比を算出する。第３の積算部９３は、第３のフィルタ済み当量比を、該１次周波数に対応する周期毎に積算し、第３の積算値を算出する。第３のバンドパスフィルタ９１は、第１のバンドパスフィルタの式（１）と同様に構成されることができ、そのフィルタリング処理は、該１次周波数に対応する周期毎に行ってもよいし、該周期より短い周期で行ってもよい。また、第３の積算部９３による処理は、第１の積算部６３による処理と同様に、診断モードの所定期間にわたって行うことができる。
【００８５】
第２のバンドパスフィルタ７１および第２の積算部７３は、図６を参照して説明した処理とは別個に、第３の積算値用の処理を行う。すなわち、第３のバンドパスフィルタ９１が検出当量比ＫＡＣＴをフィルタリングするのと同じタイミングで、第２のバンドパスフィルタ７１は該検出当量比ＫＡＣＴをフィルタリングして第４のフィルタ済み当量比を算出し、第３の積算部９３が積算するのと同じタイミングで、第２の積算部７３は該第４のフィルタ済み当量比を積算して、第４の積算値を算出する。
【００８６】
なお、１次周波数に対応する周期の長さは、０．５次周波数に対応する周期の長さの半分であるので、第４のフィルタ済み当量比が２回算出されるたびに、１回の第２のフィルタ済み当量比が算出され、同じタイミングで算出された第２および第４のフィルタ済み当量比は同じ値となる。したがって、１次周波数に対応する周期で算出される第４のフィルタ済み当量比を、０．５次周波数に対応する周期で取得して、これを、第２のフィルタ済み当量比として用いてもよい。
【００８７】
正規化部８１は、図６を参照して説明した処理とは別個に、診断モードが実施される所定期間経過後に、第３の積算値を、第４の積算値で正規化する。すなわち、第３の積算値を、第４の積算値で除算することにより、第２の結果値を算出する。
【００８８】
診断部８３は、図６を参照したのと同様に、第１の結果値を、第１のしきい値Ｔｈ１と比較すると共に、第２の結果値を、第２のしきい値Ｔｈ２と比較する。ここで、図４に示されるように、０．５次周波数成分における値の大きさと、１次周波数成分における値の大きさとは異なることがあるので、第１および第２のしきい値は、別個に設定されることができる。この場合、第２のしきい値Ｔｈ２も、図１１を参照して説明したのと同様の手法で設定されることができる。
【００８９】
診断部８３は、第１の結果値が第１のしきい値Ｔｈ１より大きいこと、および第２の結果値が第２のしきい値Ｔｈ２より大きいこと、の少なくとも一方が満たされたならば、気筒間の空燃比がインバランス状態にあると判断する。また、診断部８３は、第１の結果値が第１のしきい値Ｔｈ１以下であること、および第２の結果値が第２のしきい値Ｔｈ２以下であること、の両方が満たされたならば、気筒間の空燃比がバランス状態にあると判断する。
【００９０】
当然ながら、図１２に示した、第１のしきい値を設定する実施形態を、図１５の実施形態に適用し、第２のしきい値Ｔｈ２を設定することができる。この場合、図１３に示されるのと同様のマップを、第２のしきい値Ｔｈ２および第４の積算値に基づいて予め作成してメモリ等の記憶装置に記憶し、診断モードの所定期間経過後、最終的に算出された第４の積算値に基づいて該マップを参照することによって、対応する第２のしきい値Ｔｈ２を求める。診断部８３は、該所定期間経過後、最終的に算出された第３の積算値を、該マップから求めた第２のしきい値Ｔｈ２と比較する。診断部８３は、第１の積算値が、図１２のマップから求めた第１のしきい値Ｔｈ１より大きいこと、および第３の積算値が、同様にマップから求めた第２のしきい値Ｔｈ２より大きいこと、の少なくとも一方が満たされたならば、気筒間の空燃比がインバランス状態にあると判断する。また、診断部８３は、第１の積算値が、該第１のしきい値Ｔｈ以下であること、および第３の積算値が第２のしきい値Ｔｈ２以下であること、の両方が満たされたならば、気筒間の空燃比がバランス状態にあると判断する。
【００９１】
上記の実施形態では、０．５次周波数に対応する周期の単位で積算処理が行われて第１および第２の積算値が算出され（図６、図１２）、また、１次周波数に対応する周期の単位で積算処理が行われて第３および第４の積算値が算出される（図１５）。代替的に、フィルタ済み当量比（第１〜第４のフィルタ済み当量比を含む）の絶対値を積算、またはフィルタ済み当量比（第１〜第４のフィルタ済み当量比を含む）の二乗値を積算するようにしてもよい。絶対値および二乗値にするのは、正の値に変換するためである。このとき、検出当量比ＫＡＣＴをサンプリングする周期は、１次周波数に対応する周期の半分よりも十分短い時間（たとえば、１〜２ミリ秒）とし、該周期に同期して、すべてのフィルタリングおよび積算処理を行うことができる。こうすることにより、０．５次周波数用の第２の積算値および１次周波数用の第４の積算値を別個に算出する必要をなくすことができ、該周期で算出された第２の積算値を、０．５次周波数および１次周波数の両方に併用することができる。こうして、０．５次周波数に基づく第１の積算値と目標空燃比変動に基づく第２の積算値とに基づいて、上記のような手法で診断を行うと共に、１次周波数に基づく第３の積算値と該第２の積算値とに基づいて、上記のような手法で診断を行うことができる。
【００９２】
図１６は、本願発明の一実施形態に従う、診断条件を判断するプロセスのフローを示す。このプロセスは、ＥＣＵ１のＣＰＵにより、より具体的には図６、１２および１５の診断条件判定部５１により、所定の周期で実行される。一実施例では、後述する診断プロセスの周期と同じタイミングで実行することができる。
【００９３】
ステップＳ１において、エンジン回転数ＮＥが所定範囲内にあるかどうかを判断する。また、ステップＳ２において、吸気管圧力ＰＢが、所定値より大きいかどうかを判断する。これは、図７を参照して述べたように、現在の運転状態が診断可能領域内にあるかどうかを判断するための処理である。診断可能領域にあれば、ステップＳ３に進む。診断可能領域内になければ、ステップＳ１５に進み、診断条件フラグをゼロに設定して診断を禁止する。
【００９４】
前述したように、排ガスボリュームについては、エンジン回転数および吸気管圧力を用いず、吸入空気量および（または）燃料噴射量を用いてもよい。この場合には、たとえばステップＳ１において、ＡＦＭ８によって検出される吸入空気量が所定値以上かどうかを判断し、所定値以上ならば、エンジンの運転状態が、排ガスボリュームが不足している領域にはないと判断することができるので、ステップＳ２に進む。あるいは、燃料噴射量が所定値以上かどうかを判断し、該所定値以上ならば、ステップＳ２に進むようにしてもよい。さらに、吸入空気量および燃料噴射量から排ガスボリュームを算出し、これが所定値以上ならば、ステップＳ２に進むようにしてもよい。そして、これらの場合、ステップＳ２では、エンジンの運転状態が、空燃比センサの応答性限界領域にないかどうかを判断するため、たとえば図７に示すように、エンジン回転数が所定値より低いかどうかを判断することができる。エンジン回転数が所定値より低ければ、ステップＳ３に進む。
【００９５】
ステップＳ３において、空燃比センサ１６が活性化しているかどうかを判断する。活性化していなければ、空燃比センサから正確な出力を得ることはできないので、ステップＳ１５において診断を禁止する。
【００９６】
ステップＳ４において、所定値（たとえば、理論空燃比）である目標空燃比に収束させるための通常の空燃比フィードバック（ＦＢ）制御が実行されているかどうかを判断する。該通常の空燃比フィードバック制御は、任意の制御手法で実現されることができる。これを判断する理由は、前述したように、目標空燃比を理論空燃比よりも若干リッチな空燃比値を中心に所定の周期で変動させる期間においても空燃比フィードバック制御を実行するが、該制御中で使用するフィードバック係数が算出されているか否かを判断するためである。したがって、通常の空燃比フィードバック制御中でないときには、診断を禁止する（Ｓ１５）。
【００９７】
ステップＳ５において、エンジン水温ＴＷが所定値より大きいかどうかを判断する。エンジン水温ＴＷが低いと、燃料の付着によって検出当量比にスパイク状の変動が生じるおそれがあるので、診断を禁止する（Ｓ１５）。
【００９８】
ステップＳ６およびＳ７において、エンジン回転数の変動ΔＮＥおよび吸気管圧力ΔＰＢの変動が所定値より小さいかどうかを判断する。これらの変動が大きいと、空燃比センサの出力が安定しないおそれがあるので、診断を禁止する（Ｓ１５）。変動ΔＮＥは、たとえば、前回の周期と今回の周期の間の回転数ＮＥの差により表されることができ、変動ΔＰＢは、前回の周期と今回の周期の間の吸気管圧力ＰＢの差により表されることができる。
【００９９】
ステップＳ８において、燃料を増量する制御が行われているかどうかを判断する。燃料を増量する制御が行われていると、該燃料の増量によって空燃比のバランスが崩れやすくなるので、診断を禁止する（Ｓ１５）。
【０１００】
ステップＳ９において、パージ制御弁２８のデューティ比が、エンジン回転数ＮＥと同期しているかどうかを判断する。パージ制御弁は、前述したように、所定のデューティ比で開閉される。この開閉の周期が、エンジン回転数と同期していると（たとえば、パージ制御弁の開閉の周期とエンジン回転数の周期とが同じ時間長であるとき）、気筒に導入される蒸発燃料が増加して空燃比のバランスを崩すおそれがある。したがって、このような時には診断を禁止する（Ｓ１５）。
【０１０１】
ステップＳ１０において、ＥＧＲの還流率が所定値より高いかどうかを判断する。ＥＧＲ還流率は、ＥＧＲ弁１９の開度によって制御されることができる。ＥＧＲの還流が動作中でないと、ＥＧＲ弁１９の故障等の、ＥＧＲ還流に関する故障に起因した気筒間の空燃比のインバランス状態を検出することができない。また、ＥＧＲ還流率が所定値より高くないと、該ＥＧＲ還流に関する故障に起因したインバランス状態が空燃比センサに現れないおそれがある。したがって、ＥＧＲ還流率が該所定値以下の場合には、診断を禁止する（Ｓ１５）。
【０１０２】
ステップＳ１１において、空燃比センサの出力が、所定の上限値または下限値に張り付いているかどうかを判断する。上限値または下限値に張り付いていると、空燃比センサから周期的な波形が得られないので、診断を禁止する（Ｓ１５）。
【０１０３】
ステップＳ１２では、エンジンが気筒休止機構を備えている場合において、気筒休止が行われている最中であるかどうかを判断する。気筒の休止中は、該休止している気筒の空燃比にずれが生じていても故障と判断されないおそれがある。したがって、このような時には診断を禁止する（Ｓ１５）。
【０１０４】
ステップＳ１３において、空燃比センサの応答性が故障と判断されるくらい劣化しているか否かを調べ、該応答性が、該故障と判断される程度に悪い場合（たとえば、空燃比センサ１６により検出される空燃比値と、該センサ１６が本来出力すべき値（実空燃比の値であるが、目標空燃比値を用いてよい）との差が所定値以上である場合）に、空燃比センサが正常でないと判断することができる。正常でないと判断した場合には、診断を禁止する（Ｓ１５）。
【０１０５】
ステップＳ１〜Ｓ１３のすべての条件が満たされたならば、ステップＳ１４において診断条件フラグに１を設定し、診断を許可する。いずれかの条件が満たされなければ、ステップＳ１５において、診断条件フラグにゼロを設定し、診断を禁止する。
【０１０６】
図１７は、図６、１２および１５に示される実施形態に従う、目標空燃比設定プロセスのフローを示す。このプロセスは、ＥＣＵ１のＣＰＵにより、より具体的には目標空燃比設定部５３により、所定の周期で実行される。一実施例では、後述する診断プロセスの周期と同じタイミングで実行されることができる。
【０１０７】
ステップＳ２１において、図１６を参照して述べた診断条件フラグにゼロが設定されているならば、診断が禁止されるため、ステップＳ２２において、所定値（前述したように、たとえば理論空燃比）である目標空燃比に、空燃比センサ１６によって検出される空燃比を収束させる通常の空燃比フィードバック制御は継続する。診断条件フラグに１が設定されているならば、診断モードを開始するため、ステップＳ２３に進む。
【０１０８】
診断モードの開始時には、ステップＳ２３の、目標空燃比の周期波としての変動がまだ開始されていないため、ステップＳ２４に進む。ステップＳ２４において、通常の空燃比フィードバック制御を停止し、前述したように、目標空燃比の周期波としての変動を開始するため、図８に示すような所定の周期Ｔａで変動する周期波として目標空燃比を設定する。これにより、別個の空燃比フィードバック制御プロセス（図示せず）が開始され、該プロセスにより、所定時間間隔で、該目標空燃比がサンプリングされ、該サンプリングした値の目標空燃比に、空燃比センサ１６によって検出される空燃比が収束するよう燃料噴射量が算出され、該算出された量の燃料が噴射される（ここで、ステップＳ４を参照して前述したように、通常の空燃比フィードバック制御で使用されていたフィードバック係数を用いることができる）。こうして、診断モードが継続する所定期間にわたって、目標空燃比は、所定の周期で変動するようになり、結果としての実空燃比も、所定の周期で変動するようになる。
【０１０９】
当該プロセスが次に実行されたときには、ステップＳ２３の判断はＹｅｓとなるため、そのまま当該プロセスを抜ける。また、後述するように、診断モード中に図１６の診断条件が満たされなくなって診断条件フラグがゼロにリセットされたときには、ステップＳ２１の判断がＮｏとなり、ステップＳ２２において、周期波として目標空燃比を変動させることは停止され、通常の空燃比フィードバック制御を再開する。
【０１１０】
図１８は、図６に示される実施形態に従う、診断プロセスのフローを示す。このプロセスは、ＥＣＵ１のＣＰＵにより、より具体的には図６の検出空燃比取得部５５、第１のバンドパスフィルタ６１、第１の積算部６３、第２のバンドパスフィルタ７１、第２の積算部７３、正規化部８１および診断部８３により、前述した０．５次周波数に対応する周期で実行される。
【０１１１】
ステップＳ３１において、通常の空燃比フィードバック制御が停止されて目標空燃比の周期波としての変動が開始されているかどうかを判断する。この判断がＮｏであれば、診断モードが開始されていないことを示すので、当該プロセスを抜ける。この判断がＹｅｓであれば、後続の診断プロセスを実行する。
【０１１２】
ステップＳ３２において、空燃比センサ１６を介して検出された当量比ＫＡＣＴを取得する。ステップＳ３３において、検出当量比ＫＡＣＴに第１のバンドパスフィルタを適用することにより、第１のフィルタ済み当量比を算出する。第１のフィルタ済み当量比は、前述したように、当量比ＫＡＣＴから抽出されたエンジン回転数の０．５次周波数成分を表している。ステップＳ３４において、該第１のフィルタ済み当量比を、第１の積算値の前回値（初期値は、ゼロとすることができる）に加算することにより、第１の積算値の今回値を算出する。
【０１１３】
ステップＳ３５において、上記の取得された検出当量比ＫＡＣＴに第２のバンドパスフィルタを適用することにより、第２のフィルタ済み当量比を算出する。第２のフィルタ済み当量比は、前述したように、目標空燃比変動の周波数成分を表している。ステップＳ３６において、該第２のフィルタ済み当量比を、第２の積算値の前回値（初期値は、ゼロとすることができる）に加算することにより、第２の積算値の今回値を算出する。
【０１１４】
ステップＳ３７において、診断モードの上記所定期間が経過したかどうかを判断する。該所定期間は、診断条件フラグに１が設定された時から所定のタイマ（図示せず）で計時されている。該所定期間が経過していなければ、当該プロセスを抜ける。
【０１１５】
該所定期間が経過したならば、ステップＳ３８で、第１の積算値を第２の積算値で除算することにより、第１の積算値を正規化して、第１の結果値を算出する。
【０１１６】
ステップＳ３９において、算出された第１の結果値を所定の第１のしきい値Ｔｈ１と比較する。第１の結果値が第１のしきい値Ｔｈ１より大きければインバランス状態と判断して、ＮＧフラグに１を設定する（Ｓ４０）。そうでなければ、バランス状態と判断してＯＫフラグに１を設定する（Ｓ４１）。
【０１１７】
前述した図１５に示す実施形態のように、エンジン回転数の１次周波数をも抽出する場合には、ステップＳ３２〜Ｓ３６の処理と平行に、１次周波数成分について、第３のバンドパスフィルタ９１および第３の積算部９３による第３のフィルタ済み当量比および第３の積算値の算出と、第２のバンドパスフィルタ７１および第２の積算部７３による第４のフィルタ済み当量比および第４の積算値の算出とを行えばよい。
【０１１８】
ここで、１次周波数については、その周期の長さが、０．５次周波数の半分であるので、当該プロセスを、１次周波数に対応する周期毎に実行して、１次周波数についての第３および第４の積算値を算出すると共に、該プロセスが２回繰り返されるたびに、０．５次周波数についてのステップＳ３２〜Ｓ３６を１回だけ実行して、第１および第２の積算値を算出するようにすることができる。この場合、０．５次周波数についての第２のフィルタ済み当量比は、同じタイミングで算出された１次周波数についての第４のフィルタ済み当量比と同じであるので、第２および第４のフィルタ済み当量比のどちらかの演算のみを行えばよい。
【０１１９】
そして、ステップ３７において所定期間が経過したならば、ステップＳ３８において、第１の結果値を算出すると共に、第３の積算値を第４の積算値で除算することにより第２の結果値を算出する。ステップＳ３９において、第１の結果値と第１のしきい値Ｔｈ１とを比較すると共に、第２の結果値と第２のしきい値Ｔｈ２とを比較する。第１および第２の結果値の少なくとも一方が、対応するしきい値より大きければ、ステップＳ４０に進み、インバランス状態であると判断してＮＧフラグをセットする。第１および第２の結果値の両方が、対応するしきい値以下ならば、ステップＳ４１に進み、バランス状態であると判断してＯＫフラグをセットする。
【０１２０】
図１９は、図１２に示される代替の実施形態に従う、診断プロセスのフローを示す。このプロセスは、ＥＣＵ１のＣＰＵにより、より具体的には図１２の検出空燃比取得部５５、第１のバンドパスフィルタ６１、第１の積算部６３、第２のバンドパスフィルタ７１、第２の積算部７３、しきい値設定部８５、および診断部８３により、前述した０．５次周波数に対応する周期で実行される。
【０１２１】
ステップＳ３１〜Ｓ３７は、図１８のものと同じであるので、説明を省略する。ステップ３７において、所定期間が経過したと判断されたならば、ステップＳ４８において、第２の積算値に基づいて、図１３に示すようなマップを参照し、対応する第１のしきい値Ｔｈ１を求める。ステップＳ４９において、第１の積算値と該求めた第１のしきい値Ｔｈ１とを比較する。第１の積算値が第１のしきい値Ｔｈ１より大きければインバランス状態と判断して、ＮＧフラグに１を設定する（Ｓ４０）。そうでなければ、バランス状態と判断してＯＫフラグに１を設定する（Ｓ４１）。
【０１２２】
前述した図１２に示す実施形態のように、エンジン回転数の１次周波数をも抽出する場合には、図１８を参照して説明したのと同様に、ステップＳ３２〜Ｓ３６の処理と平行に、１次周波数成分について、第３のフィルタ済み当量比および第４のフィルタ済み当量比の算出と、第３の積算値および第４の積算値の算出を行えばよい。この場合も、当該プロセスを、１次周波数に対応する周期毎に実行して、１次周波数についての第３および第４の積算値を算出すると共に、該プロセスが２回繰り返されるたびに、０．５次周波数についてのステップＳ３２〜Ｓ３６を１回だけ実行して、第１および第２の積算値を算出するようにすることができる。０．５次周波数についての第２のフィルタ済み当量比は、同じタイミングで算出された１次周波数についての第４のフィルタ済み当量比と同じであるので、第２および第４のフィルタ済み当量比の算出のどちらかの演算のみを行えばよい。
【０１２３】
そして、ステップＳ３７において所定期間が経過したならば、ステップＳ４８において、第１の積算値に基づいて、対応する第１のしきい値Ｔｈ１を求めると共に、第４の積算値に基づいて、対応する第２のしきい値Ｔｈ２を求める。ステップＳ４９において、第１の積算値と、該求めた第１のしきい値Ｔｈ１とを比較すると共に、第３の積算値と、該求めた第２のしきい値Ｔｈ２とを比較する。第１および第３の結果値の少なくとも一方が、対応するしきい値より大きければ、インバランス状態であると判断してＮＧフラグをセットする（Ｓ４０）。第１および第３の積算値の両方が、対応するしきい値以下ならば、バランス状態であると判断してＯＫフラグをセットする（Ｓ４１）。
【０１２４】
上記の診断プロセスにおいて、所定期間経過後にバランスないしインバランス状態が判断された後は、診断モードを解除して（診断条件フラグのゼロへのリセット）、通常の空燃比フィードバック制御が再開される。
【０１２５】
なお、フローには図示していないが、上記の所定期間中に、或る周期で図１６の所定の診断条件が満たされなくなってステップＳ２１の判断がＮｏとなり、よってステップＳ３１の判断がＮｏとなったときには、前回の周期で算出された積算値（第１〜第４の積算値を含む）を、たとえばメモリ等の記憶装置に保持するのが好ましい。その後、該所定期間中に、該条件が満たされてステップＳ２１およびＳ３１がＹｅｓになったことに応じて、該保持された積算値を記憶装置から読み出して、積算を再開する。または、上記の所定期間中に、或る周期で図１６の所定の診断条件が満たされなくなってステップＳ２１の判断がＮｏとなり、よってステップＳ３１の判断がＮｏとなったときには、前回の周期で算出された積算値（第１〜第４の積算値を含む）を、リセットしても良い。その後、該所定期間中に、該条件が満たされてステップＳ２１およびＳ３１がＹｅｓになったことに応じて、再度積算を開始する。これにより、診断結果を、より確実に得ることができる。なお、該条件が満たされなかった間の時間は、該所定期間に含めないようにするのがよい。そうすることにより、所定期間の長さにわたって積算された結果を確実に用いた診断を行うことができ、診断精度を向上させることができる。
【０１２６】
図２０〜図２２を参照して、本願発明の手法に従うシミュレーション結果のいくつかの例を説明する。なお、これらの例は、０．５次周波数についての図６の実施形態に基づいている。
【０１２７】
図２０は、気筒間において空燃比がバランス状態にある場合のシミュレーション結果を示す。エンジン回転数ＮＥの上限および下限は、図１６のステップＳ１における所定範囲に相当し、吸気管圧力ＰＢの下限は、図１６のステップＳ２における所定値に相当している。また、空燃比センサ１６からの検出当量比ＫＡＣＴは、この図ではほぼ直線状に示されているが、より詳細に見ると、目標空燃比の変動に合わせて、所定の周期（この実施形態では、４Ｈｚ）で変動している。
【０１２８】
安定待ちタイマ（空燃比センサの出力を安定させるための時間を計時するタイマである）によって所定時間が計時された後、時間ｔ１において、図１６に示すような所定の診断条件が満たされたことに応じて診断条件フラグがゼロから１に変化し、診断モードが開始する。図には示されていないが、診断フラグが１に変化したことに応じて、診断モードの所定期間を計時するタイマが作動する。
【０１２９】
時間ｔ１から時間ｔ２までの所定期間（診断モード）にわたり、前述したように、目標空燃比を、所定の周期で変動させると共に、０．５次周波数に対応する周期で、空燃比センサからの検出当量比ＫＡＣＴを第１および第２のバンドパスフィルタでフィルタリングした当量比をそれぞれ積算して第１および第２の積算値を算出する、というプロセスが繰り返される。これにより、第１および第２の積算値は、所定期間ｔ１〜ｔ２にわたって、それぞれ符号１５１および１５３で示されるように、増加していく（図には直線で示されているが、より詳細に見ると、図９に示すように周期毎にステップ状に増加する）。
【０１３０】
所定期間が経過した時間ｔ２において、第１の積算値を第２の積算値で除算することにより正規化を行い、得られた第１の結果値を第１のしきい値Ｔｈ１と比較する。この例では、第１の結果値が該第１のしきい値Ｔｈ１以下であるので、ＯＫフラグに１が設定され、バランス状態であると判断される。
【０１３１】
図２１は、気筒間の空燃比がインバランス状態の場合のシミュレーション結果例を示し、図２０と同様に、第１および第２の積算値の推移が、それぞれ、符号１５１および１５３で示されている。空燃比センサからの検出当量比ＫＡＣＴは、図２０に比べて大きな変動を示している。そのため、時間ｔ１からｔ２までの所定期間にわたり、第１の積算値が増大する量は、図２０よりも大きい。第２の積算値は、図２０と同様に推移する。
【０１３２】
所定期間が経過した時間ｔ２において、第１の積算値を第２の積算値で除算することにより正規化を行い、第１の結果値を算出する。第１の結果値を第１のしきい値Ｔｈ１と比較する。この例では、第１の結果値が第１のしきい値Ｔｈ１より大きいので、ＮＧフラグに１が設定され、インバランス状態であると判断される。
【０１３３】
図２２は、気筒間の空燃比がインバランス状態の場合のシミュレーション結果の他の例を示す。図２１と異なるのは、時間ｔ２において、吸気管圧力ＰＢに変動が生じている点である。該変動ΔＰＢは、前述した診断条件を満たさない大きさの変動である（図１６のステップＳ７）。したがって、該変動が生じたことに応じて、診断条件判定プロセス（図１６）において診断条件フラグがゼロに設定される。したがって、目標空燃比の周期波としての変動は停止され（図１７）、その後に続く診断プロセス（図１８）は実行されない。診断が停止されている間、該停止の直前の周期で算出されていた第１および第２の積算値は、たとえばＥＣＵ１のメモリに保持される。また、時間ｔ２で診断条件フラグがゼロに設定されたことに応じて、上記所定期間を計時するタイマは、値を保持したまま停止する。
【０１３４】
その後の周期の診断条件判定プロセスにおいて診断条件フラグが１に設定されると（時間ｔ３）、再び、上記所定期間を計時するタイマを作動させると共に、目標空燃比を周期波として変動させることが再開され（図１７）、後続の診断プロセス（図１８）が開始される。すなわち、検出当量比ＫＡＣＴが第１および第２のバンドパスフィルタによりフィルタリングされた第１および第２のフィルタ済み当量比は、メモリに保持されていた第１および第２の積算値にそれぞれ加算される。こうして、時間ｔ４において所定期間の計時が満了すると（すなわち、（ｔ１〜ｔ２）＋（ｔ３〜ｔ４）＝所定期間であり、これは、図２０，２１の所定期間と同じ時間長さである）、第１の積算値を第２の積算値で除算することにより正規化を行い、第１の結果値を算出する。該第１の結果値を第１のしきい値Ｔｈ１と比較することによって、インバランス状態かどうかの判断が行われる。この例では、第１の結果値が第１のしきい値Ｔｈ１を超えたので、インバランス状態と判断され、ＮＧフラグが１に設定される。
【０１３５】
なお、図６、１２および１５に示されるフィルタおよび積算部は、コンピュータプログラムによって実現してもよいし、ハードウェア構成要素によって実現してもよい。
【０１３６】
以上にこの発明を具体的な実施例について説明したが、この発明はこのような実施例に限定されるものでなく、また、ガソリンエンジン、ディーゼルエンジンのいずれに対しても使用することができる。
【符号の説明】
【０１３７】
１      電子制御ユニット（ECU）
２      エンジン
１６    空燃比センサ
【図１】
0005553928.tif 000011
【図２】
0005553928.tif 000012
【図３】
0005553928.tif 000013
【図４】
0005553928.tif 000014
【図５】
0005553928.tif 000015
【図６】
0005553928.tif 000016
【図７】
0005553928.tif 000017
【図８】
0005553928.tif 000018
【図９】
0005553928.tif 000019
【図１０】
0005553928.tif 000020
【図１１】
0005553928.tif 000021
【図１２】
0005553928.tif 000022
【図１３】
0005553928.tif 000023
【図１４】
0005553928.tif 000024
【図１５】
0005553928.tif 000025
【図１６】
0005553928.tif 000026
【図１７】
0005553928.tif 000027
【図１８】
0005553928.tif 000028
【図１９】
0005553928.tif 000029
【図２０】
0005553928.tif 000030
【図２１】
0005553928.tif 000031
【図２２】
0005553928.tif 000032