(57)【要約】【課題】複数の気筒の排出ガスが合流する排気合流部に設置した空燃比センサの出力に基づいて複数の気筒の空燃比を気筒毎に制御する内燃機関の気筒別空燃比制御システムにおいて、気筒間空燃比ばらつき異常を精度良く検出できるようにする。【解決手段】気筒間空燃比ばらつきを評価するデータとして、例えば各気筒の気筒別空燃比補正量の学習値を用い、いずれかの気筒の気筒別空燃比補正量の学習値が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定する。気筒別空燃比補正量の学習精度を向上させるために、減速時燃料カット期間中に運転気筒を１気筒ずつ順番に切り替えて各運転気筒毎に気筒別空燃比補正量を学習する。この際、１つの運転気筒を除いて残り全ての気筒を休止気筒として吸気／排気ポートを閉じた状態にすることで、空燃比センサ３７の出力に基づいて運転気筒の空燃比を他の気筒の影響を受けずに精度良く検出できる。【選択図】図１
2009024531.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の各気筒の吸気ポート及び／又は排気ポートに気筒毎に独立して開閉動作を休止可能なバルブ装置を設け、複数の気筒の排出ガスが合流する排気合流部に空燃比センサを設置して、この空燃比センサの出力に基づいて前記複数の気筒の空燃比を気筒毎に制御する気筒別空燃比制御を実行する内燃機関の気筒別空燃比制御システムの異常診断装置において、
前記空燃比センサの出力に基づいて気筒間空燃比ばらつき又はこれに相関するデータ（以下これらを「気筒間空燃比ばらつきデータ」と総称する）を検出する気筒間空燃比ばらつきデータ検出手段と、
前記気筒間空燃比ばらつきデータ検出手段で検出した気筒間空燃比ばらつきデータに基づいて気筒間空燃比ばらつき異常の有無を判定する異常判定手段とを備え、
前記気筒間空燃比ばらつきデータ検出手段は、所定の運転条件で、一部の気筒を除く他の気筒の燃料噴射及び前記バルブ装置の開閉動作を休止した状態で前記一部の気筒についてのみ燃料噴射及び前記バルブ装置の開閉動作を実行して前記空燃比センサの出力に基づいて前記一部の気筒について前記気筒間空燃比ばらつきデータを検出するという処理を、燃料噴射及び前記バルブ装置の開閉動作を実行する気筒（以下「運転気筒」という）と休止する気筒（以下「休止気筒」という）を順番に切り替えて実行することを特徴とする内燃機関の気筒別空燃比制御システムの異常診断装置。
【請求項２】
前記気筒間空燃比ばらつきデータ検出手段は、燃料カット期間又は減筒運転期間に前記運転気筒と休止気筒を順番に切り替えて前記気筒間空燃比ばらつきデータを検出することを特徴とする請求項１に記載の内燃機関の気筒別空燃比制御システムの異常診断装置。
【請求項３】
前記気筒間空燃比ばらつきデータ検出手段は、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、気筒毎に気筒間空燃比ばらつきを補正するための気筒別空燃比補正量を算出し、この気筒別空燃比補正量又はその学習値を前記気筒間空燃比ばらつきデータとして用い、
前記異常判定手段は、いずれかの気筒の気筒別空燃比補正量又はその学習値が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定することを特徴とする請求項１又は２に記載の内燃機関の気筒別空燃比制御システムの異常診断装置。
【請求項４】
前記気筒間空燃比ばらつきデータ検出手段は、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、前記空燃比センサの出力に基づいて検出した各気筒の空燃比と目標空燃比との差を前記気筒間空燃比ばらつきデータとして算出し、
前記異常判定手段は、いずれかの気筒の空燃比と目標空燃比との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定することを特徴とする請求項１又は２に記載の内燃機関の気筒別空燃比制御システムの異常診断装置。
【請求項５】
前記気筒間空燃比ばらつきデータ検出手段は、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、前記空燃比センサの出力に基づいて検出した各気筒の空燃比のうち、最大の空燃比と最小の空燃比との差を前記気筒間空燃比ばらつきデータとして算出し、
前記異常判定手段は、前記最大の空燃比と最小の空燃比との差が所定値以上であるか否かで気筒間空燃比ばらつき異常の有無を判定することを特徴とする請求項１又は２に記載の内燃機関の気筒別空燃比制御システムの異常診断装置。
【請求項６】
前記気筒間空燃比ばらつきデータ検出手段は、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、気筒毎に気筒間空燃比ばらつきを補正するための気筒別空燃比補正量を算出し、各気筒の気筒別空燃比補正量又はその学習値における最大値と最小値の差を前記気筒間空燃比ばらつきデータとして用い、
前記異常判定手段は、前記各気筒の気筒別空燃比補正量又はその学習値における最大値と最小値との差が所定値以上であるか否かで気筒間空燃比ばらつき異常の有無を判定することを特徴とする請求項１又は２に記載の内燃機関の気筒別空燃比制御システムの異常診断装置。
【請求項７】
前記気筒間空燃比ばらつきデータ検出手段は、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、前記空燃比センサの出力に基づいて検出した各気筒の空燃比と全気筒の空燃比平均値との差を前記気筒間空燃比ばらつきデータとして算出し、
前記異常判定手段は、いずれかの気筒の空燃比と全気筒の空燃比平均値との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定することを特徴とする請求項１又は２に記載の内燃機関の気筒別空燃比制御システムの異常診断装置。
【請求項８】
前記気筒間空燃比ばらつきデータ検出手段は、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、気筒毎に気筒間空燃比ばらつきを補正するための気筒別空燃比補正量を算出し、各気筒の気筒別空燃比補正量又はその学習値と、全気筒の気筒別空燃比補正量又はその学習値における平均値との差を前記気筒間空燃比ばらつきデータとして用い、
前記異常判定手段は、いずれかの気筒の気筒別空燃比補正量又はその学習値と全気筒の気筒別空燃比補正量又はその学習値における平均値との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定することを特徴とする請求項１又は２に記載の内燃機関の気筒別空燃比制御システムの異常診断装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の気筒の排出ガスが合流する排気合流部に設置した空燃比センサの出力に基づいて複数の気筒の空燃比を気筒毎に制御する内燃機関の気筒別空燃比制御システムの異常診断装置に関する発明である。
【背景技術】
【０００２】
近年、特許文献１（特許第２６８４０１１号公報）に記載されているように、複数の気筒の排出ガスが合流する排気合流部に設置した１つの空燃比センサの出力に基づいて複数の気筒の空燃比を気筒毎に推定して、複数の気筒の空燃比（燃料噴射量）を気筒毎に制御する気筒別空燃比制御技術が研究されている。更に、この特許文献１のものは、気筒毎の空燃比フィードバック補正項（気筒別空燃比補正量）が所定範囲外であるか否かを判定し、気筒毎の空燃比フィードバック補正項が所定範囲外であれば、当該気筒に異常が生じたと判定するようにしている。
【特許文献１】特許第２６８４０１１号公報（第１頁〜第２頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、各気筒の燃料噴射系の個体差（燃料噴射弁の製造ばらつきや経時劣化等）によって各気筒の燃料噴射量にばらつきを生じることがあるため、排気合流部に設置した１つの空燃比センサの出力に基づいて気筒毎に空燃比フィードバック補正項を設定して気筒別空燃比制御を行っても、各気筒の燃料噴射系の個体差によって気筒間の空燃比ばらつきが大きくなることがある。このような気筒間の空燃比ばらつきは、気筒別空燃比制御の精度を低下させてエミッションや燃費を悪化させる原因となるため、気筒間空燃比ばらつきが過大になる「気筒間空燃比ばらつき異常」を検出することが要求されるようになってきている。
【０００４】
上記特許文献１の異常診断技術では、気筒毎の空燃比フィードバック補正項が所定範囲外であるか否かで、当該気筒に異常が生じたか否かを判定するようにしているが、複数の気筒の排出ガスが合流する排気合流部に設置した１つの空燃比センサの出力に基づいて、ある１つの気筒の空燃比を推定する際に、他の気筒の排出ガスの影響が空燃比センサの出力に現れてしまうため、気筒毎の空燃比の推定精度が低下して、気筒毎の空燃比フィードバック補正項の精度が低下してしまい、その結果、気筒毎の空燃比フィードバック補正項を用いた異常診断の精度も低下してしまうという問題があった。
【０００５】
本発明はこのような事情を考慮してなされたものであり、従ってその目的は、気筒間空燃比ばらつき異常を精度良く検出することができる内燃機関の気筒別空燃比制御システムの異常診断装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に係る発明は、内燃機関の各気筒の吸気ポート及び／又は排気ポートに気筒毎に独立して開閉動作を休止可能なバルブ装置を設け、複数の気筒の排出ガスが合流する排気合流部に空燃比センサを設置して、この空燃比センサの出力に基づいて前記複数の気筒の空燃比を気筒毎に制御する気筒別空燃比制御を実行する内燃機関の気筒別空燃比制御システムの異常診断装置において、前記空燃比センサの出力に基づいて気筒別空燃比制御を実行して気筒間空燃比ばらつき又はこれに相関するデータ（以下これらを「気筒間空燃比ばらつきデータ」と総称する）を検出する気筒間空燃比ばらつきデータ検出手段と、前記気筒間空燃比ばらつきデータ検出手段で検出した気筒間空燃比ばらつきデータに基づいて気筒間空燃比ばらつき異常の有無を判定する異常判定手段とを備え、前記気筒間空燃比ばらつきデータ検出手段は、所定の運転条件で、一部の気筒を除く他の気筒の燃料噴射及び前記バルブ装置の開閉動作を休止した状態で前記一部の気筒についてのみ燃料噴射及び前記バルブ装置の開閉動作を実行して前記空燃比センサの出力に基づいて前記一部の気筒について前記気筒間空燃比ばらつきデータを検出するという処理を、燃料噴射及び前記バルブ装置の開閉動作を実行する気筒と休止する気筒を順番に切り替えて実行するようにしたものである。
【０００７】
以下の説明では、燃料噴射及びバルブ装置の開閉動作を休止する気筒を「休止気筒」と呼び、燃料噴射及びバルブ装置の開閉動作を実行する気筒を「運転気筒」と呼ぶ。
【０００８】
本発明によれば、複数の気筒のうちの例えば１つの気筒を除いて残り全ての気筒を休止気筒としてそれらの休止気筒の吸気ポート及び／又は排気ポートを閉じた状態で、例えば１つの運転気筒についてのみ燃料噴射及びバルブ装置の開閉動作を実行するため、空燃比センサの出力に基づいて当該運転気筒の空燃比を他の気筒（休止気筒）の影響を受けずに精度良く検出することができ、当該運転気筒について気筒間空燃比ばらつきデータを精度良く検出することができる。従って、運転気筒と休止気筒を順番に切り替えて気筒間空燃比ばらつきデータを検出すれば、全ての気筒について気筒間空燃比ばらつきデータを精度良く検出することができ、これらの気筒間空燃比ばらつきデータを用いて気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【０００９】
ところで、通常の運転中（走行中）に、いずれかの気筒の気筒間空燃比ばらつきデータを検出するために、当該気筒を除いて他の気筒の運転を休止すると、トルクショックが発生してドライバビリティを悪化させることが懸念される。
【００１０】
この点を考慮して、請求項２のように、燃料カット期間又は減筒運転期間に運転気筒と休止気筒を順番に切り替えて気筒間空燃比ばらつきデータを検出するようにすると良い。このようにすれば、燃料カット期間又は減筒運転期間を有効に利用して気筒間空燃比ばらつきデータを精度良く検出することができるため、ドライバビリティを悪化させずに気筒間空燃比ばらつきデータを精度良く検出することができる。尚、ハイブリッド電気自動車においては、モータの動力で車両を走行させている期間（内燃機関を停止させている期間）に気筒間空燃比ばらつきデータを検出するようにしても良い。
【００１１】
本発明は、運転気筒と休止気筒を順番に切り替えて検出した各気筒の空燃比から気筒間空燃比ばらつきを直接検出しても良いし、気筒間空燃比ばらつきに相関するデータを使用しても良い。
【００１２】
例えば、請求項３のように、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、気筒毎に気筒間空燃比ばらつきを補正するための気筒別空燃比補正量を算出し、この気筒別空燃比補正量又はその学習値を前記気筒間空燃比ばらつきデータとして用い、いずれかの気筒の気筒別空燃比補正量又はその学習値が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行すれば、気筒間空燃比ばらつきを補正するための気筒別空燃比補正量を気筒毎に精度良く算出できるため、この気筒別空燃比補正量やその学習値は、気筒間空燃比ばらつきを精度良く評価するデータとなる。従って、この気筒別空燃比補正量又はその学習値を気筒間空燃比ばらつきデータとして用いれば、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００１３】
また、請求項４のように、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、空燃比センサの出力に基づいて検出した各気筒の空燃比と目標空燃比との差を気筒間空燃比ばらつきデータとして算出し、いずれかの気筒の空燃比と目標空燃比との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。運転気筒と休止気筒を順番に切り替えることで、各気筒の空燃比を他の気筒の影響を受けずに精度良く検出できるため、各気筒の空燃比と目標空燃比との差を精度良く求めることができる。従って、運転気筒と休止気筒を順番に切り替えて検出した各気筒の空燃比と目標空燃比との差を気筒間空燃比ばらつきデータとして用いれば、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００１４】
また、請求項５のように、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、空燃比センサの出力に基づいて検出した各気筒の空燃比のうち、最大の空燃比と最小の空燃比との差を気筒間空燃比ばらつきデータとして算出し、最大の空燃比と最小の空燃比との差が所定値以上であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。運転気筒と休止気筒を順番に切り替えれば、各気筒の空燃比を他の気筒の影響を受けずに精度良く検出できるため、最大の空燃比と最小の空燃比との差を精度良く求めることができる。従って、運転気筒と休止気筒を順番に切り替えて検出した最大の空燃比と最小の空燃比との差を気筒間空燃比ばらつきデータとして用いれば、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００１５】
或は、請求項６のように、各気筒の気筒別空燃比補正量又はその学習値における最大値と最小値の差を気筒間空燃比ばらつきデータとして用い、気筒別空燃比補正量又はその学習値における最大値と最小値との差が所定値以上であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。このようにしても、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００１６】
また、請求項７のように、運転気筒と休止気筒を順番に切り替えて気筒別空燃比制御を実行して、空燃比センサの出力に基づいて検出した各気筒の空燃比と全気筒の空燃比平均値との差を気筒間空燃比ばらつきデータとして算出し、いずれかの気筒の空燃比と全気筒の空燃比平均値との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。運転気筒と休止気筒を順番に切り替えれば、各気筒の空燃比と全気筒の空燃比平均値との差を精度良く算出できるため、この差を気筒間空燃比ばらつきデータとして用いれば、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００１７】
或は、請求項８のように、各気筒の気筒別空燃比補正量又はその学習値と、全気筒の気筒別空燃比補正量又はその学習値における平均値との差を前記気筒間空燃比ばらつきデータとして用い、いずれかの気筒の気筒別空燃比補正量又はその学習値と全気筒の気筒別空燃比補正量又はその学習値における平均値との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。このようにしても、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態を具体化した幾つかの実施例を説明する。
【実施例１】
【００１９】
本発明の実施例１を図１乃至図６に基づいて説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関である例えば直列４気筒のエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ等によって開度調節されるスロットルバルブ１５とスロットル開度を検出するスロットル開度センサ１６とが設けられている。
【００２０】
更に、スロットルバルブ１５の下流側には、サージタンク１７が設けられ、このサージタンク１７には、吸気管圧力を検出する吸気管圧力センサ１８が設けられている。また、サージタンク１７には、エンジン１１の各気筒に空気を導入する吸気マニホールド１９が設けられ、各気筒の吸気マニホールド１９の吸気ポート近傍に、それぞれ燃料を噴射する燃料噴射弁２０が取り付けられている。エンジン運転中は、燃料タンク２１内の燃料が燃料ポンプ２２によりデリバリパイプ２３に送られ、各気筒の噴射タイミング毎に各気筒の燃料噴射弁２０から燃料が噴射される。デリバリパイプ２３には、燃料圧力（燃圧）を検出する燃圧センサ２４が取り付けられている。
【００２１】
また、エンジン１１の吸気ポートと排気ポートには、それぞれ気筒毎に独立して開閉動作可能なバルブ装置として、電磁駆動型の吸気バルブ２５と電磁駆動型の排気バルブ２６が設けられている。尚、本発明は、吸気バルブ２５と排気バルブ２６のいずれか一方のみを電磁駆動バルブ（気筒毎に独立して開閉動作可能なバルブ装置）とし、他方のバルブをエンジン１１のカム軸で駆動する構成としても良い。
【００２２】
一方、エンジン１１の各気筒の排気マニホールド３５が合流する排気合流部３６には、排出ガスの空燃比を検出する空燃比センサ３７が設置され、この空燃比センサ３７の下流側に排出ガス中のＣＯ，ＨＣ，ＮＯｘ等を浄化する三元触媒等の触媒３８が設けられている。
【００２３】
上記空燃比センサ３７等の各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）４０に入力される。このＥＣＵ４０は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて各気筒の燃料噴射弁２０の燃料噴射量や点火時期を制御する。
【００２４】
本実施例１では、ＥＣＵ４０は、所定の気筒別空燃比制御実行条件が成立しているときに、気筒別空燃比推定モデルを用いて空燃比センサ３７の検出値（排気合流部３６を流れる排出ガスの実空燃比）に基づいて各気筒の空燃比を推定し、各気筒の推定空燃比と目標空燃比との偏差に応じて各気筒の燃料補正量（燃料補正係数）を算出すると共に、各気筒の燃料補正量と後述する各気筒の気筒別空燃比補正量の学習値を用いて各気筒の燃料噴射量を気筒毎に補正することで、各気筒毎に気筒間空燃比ばらつきを補正して各気筒の空燃比を目標空燃比に一致させるように制御する（以下、この制御を気筒別空燃比制御という）。
【００２５】
更に、本実施例１では、ＥＣＵ４０は、減速時燃料カット期間を気筒別空燃比補正量の学習期間として利用して、この減速時燃料カット期間中に、エンジン１１の４つの気筒について、気筒毎に気筒間空燃比ばらつきを補正するための気筒別空燃比補正量を学習する。具体的には、減速時燃料カット期間中に、エンジン１１の４つの気筒のうちの１つの気筒を除いて燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を休止してそれらの気筒の吸気／排気ポートを閉じた状態で、残りの１つの気筒についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。以下の説明では、燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を休止する気筒を「休止気筒」と呼び、燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する気筒を「運転気筒」と呼ぶ。
【００２６】
図２に示すように、減速時燃料カット期間中に、所定時間毎に運転気筒を１気筒ずつ順番に切り替え、その都度、空燃比センサ３７の出力に基づいて運転気筒の空燃比を目標空燃比に制御することで、各運転気筒毎に気筒別空燃比補正量を学習する。この場合、１つの気筒を除いて残り全ての気筒を休止気筒としてそれらの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行するため、空燃比センサ３７の出力に基づいて当該運転気筒の空燃比を他の気筒（休止気筒）の影響を受けずに精度良く検出することができる。このため、空燃比センサ３７の出力に基づいて運転気筒の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御すれば、その空燃比フィードバック制御により設定される当該運転気筒の空燃比補正量は、当該運転気筒についての気筒間の空燃比ばらつきを補正するための気筒別空燃比補正量となる。従って、減速時燃料カット期間中に、所定時間毎に運転気筒を１気筒ずつ順番に切り替えて、空燃比センサ３７の出力に基づいて各運転気筒の空燃比を目標空燃比に制御すれば、各運転気筒毎に気筒別空燃比補正量を精度良く学習することができる。この気筒別空燃比補正量の学習値は、ＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に気筒毎に更新記憶される。
【００２７】
ところで、各気筒の燃料噴射系の個体差（燃料噴射弁２０の製造ばらつきや経時劣化等）によって各気筒の燃料噴射量にばらつきを生じることがあるため、排気合流部３６に設置した１つの空燃比センサ３７の出力に基づいて気筒毎に気筒別空燃比補正量を設定して気筒別空燃比制御を行っても、各気筒の燃料噴射系の個体差によって気筒間の空燃比ばらつきが大きくなることがある。このような気筒間の空燃比ばらつきは、気筒別空燃比制御の精度を低下させてエミッションや燃費を悪化させる原因となるため、気筒間空燃比ばらつきが過大になる「気筒間空燃比ばらつき異常」を検出することが要求されるようになってきている。
【００２８】
そこで、本実施例１では、ＥＣＵ４０は、気筒間空燃比ばらつきを評価する気筒間空燃比ばらつきデータとして、上記学習方法で精度良く学習された各気筒の気筒別空燃比補正量の学習値を使用し、いずれかの気筒の気筒別空燃比補正量の学習値が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定し、気筒間空燃比ばらつき異常が検出されたときに、その異常情報をＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ４１を点灯したり、運転席のインストルメントパネルに設けられた警告表示部（図示せず）に警告表示する。
【００２９】
以上説明した気筒別空燃比補正量の学習処理及び気筒間空燃比ばらつき異常の診断処理は、ＥＣＵ４０によって図３乃至図６の各ルーチンに従って実行される。以下、各ルーチンの処理内容を説明する。
【００３０】
図３の減速時燃料カット実行条件判定ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行される。本ルーチンが起動されると、ステップ１０１〜１０３で、次の３つの条件(1) 〜(3) を全て満たすか否かで、減速時燃料カット実行条件が成立しているか否かを判定する。
【００３１】
(1) 冷却水温ＣＬＴが所定値以上（エンジン暖機判定温度以上）であること
［ステップ１０１］
(2) エンジン回転速度Ｎｅが所定値以上（燃料カット復帰回転速度以上）であること
［ステップ１０２］
(3) アクセルペダル踏込量Ａｐが所定値以下（アクセル全閉）であること
［ステップ１０３］
【００３２】
これら３つの条件(1) 〜(3) のうち、いずれか１つでも満たさない条件があれば（つまり３つのステップ１０１〜１０３のいずれかで「Ｎｏ」と判定されれば）、減速時燃料カット実行条件が不成立となり、ステップ１０５に進み、減速時燃料カットを禁止する。
【００３３】
これに対して、上記３つの条件(1) 〜(3) を全て満たせば（つまり３つのステップ１０１〜１０３で全て「Ｙｅｓ」と判定されれば）、減速時燃料カット実行条件が成立して、ステップ１０４に進み、減速時燃料カットを実行する。
【００３４】
図４及び図５に示す気筒別空燃比補正量学習ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行され、特許請求の範囲でいう気筒間空燃比ばらつきデータ検出手段としての役割を果たす。本ルーチンが起動されると、まずステップ２０１で、減速時燃料カット実行中であるか否か（気筒別空燃比補正量の学習期間であるか否か）を判定し、減速時燃料カット実行中でなければ、ステップ２０２に進み、減速時燃料カット開始からの経過時間ＦＣＴをカウントする燃料カット時間カウンタを初期化して、ＦＣＴ＝０とし、本ルーチンを終了する。
【００３５】
上記ステップ２０１で、減速時燃料カット実行中と判定されれば、ステップ２０３に進み、減速時燃料カット開始から前回演算時までの経過時間ＦＣＴに本ルーチンの起動周期分の時間を積算して、減速時燃料カット開始から今回演算時までの経過時間（以下単に「燃料カット時間」という）ＦＣＴを求める。
【００３６】
この後、ステップ２０４に進み、燃料カット時間ＦＣＴが所定値ａ1 以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ1 以上になっていなければ、ステップ２０５に進み、＃１気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃１気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃１気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃１気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する気筒別空燃比制御を実行する。
【００３７】
一方、上記ステップ２０４で、燃料カット時間ＦＣＴが所定値ａ1 以上と判定されれば、ステップ２０６に進み、燃料カット時間ＦＣＴが所定値ａ1 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ1 であるときのみ、ステップ２０７に進み、その時点の運転気筒である＃１気筒の気筒別空燃比補正量（その時点の空燃比フィードバック制御による空燃比補正量）を検出して、これを気筒別空燃比補正量の学習値としてＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。この気筒別空燃比補正量の学習値は、気筒間空燃比ばらつきデータとしても用いられる。このステップ２０７の処理は、燃料カット時間ＦＣＴが所定値ａ1 に達した時点に１回のみ行い、その後は、このステップ２０７の処理が飛び越される。
【００３８】
この後、ステップ２０８に進み、燃料カット時間ＦＣＴが所定値ａ2 （＝ａ1 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ2 以上になっていなければ、ステップ２０９に進み、＃２気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃２気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃２気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃２気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する気筒別空燃比制御を実行する。
【００３９】
一方、上記ステップ２０８で、燃料カット時間ＦＣＴが所定値ａ2 以上と判定されれば、ステップ２１０に進み、燃料カット時間ＦＣＴが所定値ａ2 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ2 であるときのみ、ステップ２１１に進み、その時点の運転気筒である＃２気筒の気筒別空燃比補正量を検出して、これを気筒別空燃比補正量の学習値（気筒間空燃比ばらつきデータ）としてＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。このステップ２１１の処理は、燃料カット時間ＦＣＴが所定値ａ2 に達した時点に１回のみ行い、その後は、このステップ２１１の処理が飛び越される。
【００４０】
この後、図５のステップ２１２に進み、燃料カット時間ＦＣＴが所定値ａ3 （＝ａ2 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ3 以上になっていなければ、ステップ２１３に進み、＃３気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃３気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃３気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃３気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する気筒別空燃比制御を実行する。
【００４１】
一方、上記ステップ２１２で、燃料カット時間ＦＣＴが所定値ａ3 以上と判定されれば、ステップ２１４に進み、燃料カット時間ＦＣＴが所定値ａ3 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ3 であるときのみ、ステップ２１５に進み、その時点の運転気筒である＃３気筒の気筒別空燃比補正量を検出して、これを気筒別空燃比補正量の学習値（気筒間空燃比ばらつきデータ）としてＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。このステップ２１５の処理は、燃料カット時間ＦＣＴが所定値ａ3 に達した時点に１回のみ行い、その後は、このステップ２１５の処理が飛び越される。
【００４２】
この後、ステップ２１６に進み、燃料カット時間ＦＣＴが所定値ａ4 （＝ａ3 ＋所定時間）以上になったか否かを判定し、まだ燃料カット時間ＦＣＴが所定値ａ4 以上になっていなければ、ステップ２１７に進み、＃４気筒のみを運転気筒とし、残り３気筒を休止気筒として、当該３つの休止気筒の吸気／排気ポートを閉じた状態で、１つの運転気筒（＃４気筒）についてのみ燃料噴射及び吸気／排気バルブ２５，２６の開閉動作を実行する。そして、この運転気筒（＃４気筒）については、空燃比センサ３７の出力に基づいて当該運転気筒（＃４気筒）の排出ガスの空燃比を目標空燃比（例えば理論空燃比）にフィードバック制御する気筒別空燃比制御を実行する。
【００４３】
一方、上記ステップ２１６で、燃料カット時間ＦＣＴが所定値ａ4 以上と判定されれば、ステップ２１８に進み、燃料カット時間ＦＣＴが所定値ａ4 であるか否かを判定し、燃料カット時間ＦＣＴが所定値ａ4 であるときのみ、ステップ２１９に進み、その時点の運転気筒である＃４気筒の気筒別空燃比補正量を検出して、これを気筒別空燃比補正量の学習値（気筒間空燃比ばらつきデータ）としてＥＣＵ４０の書き換え可能な不揮発性メモリに更新記憶する。このステップ２１９の処理は、燃料カット時間ＦＣＴが所定値ａ4 に達した時点に１回のみ行い、その後は、気筒別空燃比補正量の学習期間が終了したと判断して、次のステップ２２０に進み、全ての気筒の燃料噴射をカットして減速時燃料カットを実行する。
【００４４】
尚、エンジン運転中は、気筒別空燃比制御ルーチン（図示せず）を実行して、気筒別空燃比推定モデルを用いて空燃比センサ３７の検出値（排気合流部３６を流れる排出ガスの実空燃比）に基づいて各気筒の空燃比を推定し、各気筒の推定空燃比と目標空燃比との偏差に応じて各気筒の燃料補正量（燃料補正係数）を算出すると共に、各気筒の燃料補正量と、図４及び図５の気筒別空燃比補正量学習ルーチンで学習した各気筒の気筒別空燃比補正量の学習値を用いて各気筒の燃料噴射量を気筒毎に補正する気筒別空燃比制御を実行する。
【００４５】
一方、図６に示す気筒間空燃比ばらつき異常診断ルーチンは、ＥＣＵ４０によってエンジン運転中（イグニッションスイッチのオン中）に所定周期で実行され、特許請求の範囲でいう異常判定手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ３０１で、ＥＣＵ４０の書き換え可能な不揮発性メモリに記憶されている各気筒の気筒別空燃比補正量の学習値（気筒間空燃比ばらつきデータ）を読み込み、次のステップ３０２で、各気筒の気筒別空燃比補正量学習値の絶対値が所定値よりも大きいか否か（各気筒の気筒別空燃比補正量学習値が所定範囲外であるか否か）を判定する。その結果、全ての気筒の気筒別空燃比補正量学習値の絶対値が所定値以下と判定されれば、気筒間空燃比ばらつきが許容範囲内と判断して、ステップ３０５に進み、気筒間空燃比ばらつき異常無し（正常）と判定して本ルーチンを終了する。
【００４６】
これに対して、上記ステップ３０２で、いずれかの気筒の気筒別空燃比補正量学習値の絶対値が所定値よりも大きいと判定されれば、気筒間空燃比ばらつきが許容範囲を越えていると判断して、ステップ３０３に進み、気筒間空燃比ばらつき異常と判定して、ステップ３０４に進み、異常情報をＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ４１を点灯したり、運転席のインストルメントパネルに設けられた警告表示部（図示せず）に警告表示する。
【００４７】
以上説明した本実施例１によれば、気筒間空燃比ばらつきデータとして気筒別空燃比補正量の学習値を用いると共に、減速時燃料カット期間中に所定時間毎に運転気筒を１気筒ずつ順番に切り替えて、空燃比センサ３７の出力に基づいて各運転気筒の空燃比を目標空燃比に制御して各運転気筒毎に気筒別空燃比補正量を学習するようにしたので、空燃比センサ３７の出力に基づいて当該運転気筒の空燃比を他の気筒（休止気筒）の影響を受けずに精度良く検出することができて、当該運転気筒について気筒間空燃比ばらつきデータとなる気筒別空燃比補正量を精度良く学習することができ、この気筒別空燃比補正量の学習値を用いて気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００４８】
しかも、本実施例１では、減速時燃料カット期間を気筒別空燃比補正量の学習期間として利用して気筒別空燃比補正量を学習するようにしたので、ドライバビリティを悪化させずに気筒間空燃比ばらつきデータとして使用する気筒別空燃比補正量を精度良く学習することができる利点がある。
【００４９】
尚、運転条件に応じて、一部の気筒のみを運転して他の気筒の運転を休止する減筒運転を行うエンジンでは、減筒運転期間を利用して気筒別空燃比補正量を学習するようにしても良い。或は、ハイブリッド電気自動車においては、モータの動力で車両を走行させている期間（エンジンを停止させている期間）に気筒別空燃比補正量を学習するようにしても良い。
【００５０】
また、本実施例１では、減速時燃料カット開始後に常に同じ気筒（＃１気筒）から気筒別空燃比補正量の学習を開始するようにしたが、前回の学習期間に学習できなかった気筒から気筒別空燃比補正量の学習を開始するようにしても良いし、或は、気筒別空燃比補正量の学習を開始する気筒をランダムに変更するようにしても良い。
【００５１】
或は、各気筒の気筒別空燃比補正量の学習頻度（検出回数）を検出回数カウンタでカウントして、これをＥＣＵ４０の書き換え可能な不揮発性メモリに記憶し、気筒別空燃比補正量の学習期間中に前記学習頻度（検出回数）の少ない気筒から順番に気筒別空燃比補正量を学習するようにしても良い。
【００５２】
また、気筒別空燃比補正量の学習期間中に運転気筒の数を順番に増加又は減少させて（休止気筒の数を順番に減少又は増加させて）、気筒別空燃比補正量を学習するようにしても良い。運転気筒の数を増減させる場合は、最初に、例えば、いずれか１つの気筒のみを運転して、その運転気筒の気筒別空燃比補正量を学習し、その後、運転気筒の数を１気筒ずつ増加させて、学習済みの気筒の気筒別空燃比補正量を用いて、他の運転気筒の気筒別空燃比補正量を演算するという処理を繰り返すようにすれば良い。
【００５３】
或は、気筒別空燃比補正量の学習を開始する際に、予め、全気筒運転時の空燃比補正量を演算した上で、まず、１つの気筒のみを休止して、他の全ての気筒を運転してその時点の運転気筒全体の空燃比補正量を演算し、その後、運転気筒の数を１気筒ずつ減少させて、その都度、運転気筒全体の空燃比補正量を演算し、最後に、運転気筒の数を１気筒のみとしてその運転気筒の気筒別空燃比補正量を演算した上で、この運転気筒の気筒別空燃比補正量と上記空燃比補正量の演算データとから他の気筒の気筒別空燃比補正量を順次演算するようにしても良い。
【００５４】
また、本実施例１では、気筒別空燃比補正量の学習期間中に、休止気筒の吸気バルブ２５と排気バルブ２６の両方を閉じるようにしたが、吸気バルブ２５と排気バルブ２６のいずれか一方のみを閉じて、他方のバルブを通常通り開閉させるようにしても良い。要は、気筒別空燃比補正量の学習期間中に、休止気筒の吸気バルブ２５と排気バルブ２６の少なくとも一方のバルブを閉じることで、吸入空気が休止気筒を通して排気マニホールド３５に流れ込むのを防止するようにすれば良い。この場合、本実施例１のように、休止気筒の排気バルブ２６が電磁駆動バルブであれば、排気バルブ２６を閉じて、休止気筒内の残留ガスが排気マニホールド３５に流れ込むのを防止することが好ましい。これにより、休止気筒からのガスの影響を受けることなく、運転気筒の排出ガスの空燃比を空燃比センサ３７により精度良く検出することができる。
【００５５】
また、本実施例１では、気筒間空燃比ばらつきデータとして気筒別空燃比補正量の学習値を用いるようにしたが、学習前の気筒別空燃比補正量を気筒間空燃比ばらつきデータとして用いても良く、この場合でも、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【実施例２】
【００５６】
本発明の実施例２では、図７乃至図９の各ルーチンを実行することで、減速時燃料カット期間中に所定時間毎に運転気筒を１気筒ずつ順番に切り替えて、空燃比センサ３７の出力に基づいて各運転気筒の空燃比を検出し、検出した各気筒の空燃比と目標空燃比との偏差を気筒間空燃比ばらつきデータとして算出し、いずれかの気筒の空燃比と目標空燃比との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしている。
【００５７】
図７及び図８に示す気筒間空燃比ばらつき検出ルーチンは、図４及び図５に示す気筒別空燃比補正量学習ルーチンのステップ２０７、２１１、２１５、２１９の処理（各気筒の気筒別空燃比補正量の検出）を、各気筒の空燃比の検出と、気筒の空燃比と目標空燃比との差の算出に変更しただけであり、それ以外の各ステップの処理は同じである。
【００５８】
図７及び図８に示す気筒間空燃比ばらつき検出ルーチンでは、燃料カット時間ＦＣＴが所定値ａ1 になった時点で、＃１気筒のみを運転して（ステップ２０５）、＃１気筒の空燃比を空燃比センサ３７の出力に基づいて検出し（ステップ２０７ａ）、この＃１気筒の空燃比と目標空燃比との差を気筒間空燃比ばらつきデータとして算出して、これをＥＣＵ４０のＲＡＭ等のメモリに記憶する（ステップ２０７ｂ）。
【００５９】
その後、燃料カット時間ＦＣＴが所定値ａ2 になった時点で、＃２気筒のみを運転して（ステップ２０９）、＃２気筒の空燃比を空燃比センサ３７の出力に基づいて検出し（ステップ２１１ａ）、この＃２気筒の空燃比と目標空燃比との差を気筒間空燃比ばらつきデータとして算出して、これをＥＣＵ４０のＲＡＭ等のメモリに記憶する（ステップ２１１ｂ）。
【００６０】
その後、燃料カット時間ＦＣＴが所定値ａ3 になった時点で、＃３気筒のみを運転して（ステップ２１３）、＃３気筒の空燃比を空燃比センサ３７の出力に基づいて検出し（ステップ２１５ａ）、この＃３気筒の空燃比と目標空燃比との差を気筒間空燃比ばらつきデータとして算出して、これをＥＣＵ４０のＲＡＭ等のメモリに記憶する（ステップ２１５ｂ）。
【００６１】
その後、燃料カット時間ＦＣＴが所定値ａ4 になった時点で、＃４気筒のみを運転して（ステップ２１７）、＃４気筒の空燃比を空燃比センサ３７の出力に基づいて検出し（ステップ２１９ａ）、この＃４気筒の空燃比と目標空燃比との差を気筒間空燃比ばらつきデータとして算出して、これをＥＣＵ４０のＲＡＭ等のメモリに記憶する（ステップ２１９ｂ）。
【００６２】
一方、図９に示す気筒間空燃比ばらつき異常診断ルーチンでは、まず、ステップ４０１で、ＥＣＵ４０のメモリに記憶されている各気筒の空燃比と目標空燃比との差（気筒間空燃比ばらつきデータ）を読み込み、次のステップ４０２で、各気筒の空燃比と目標空燃比との差の絶対値が所定値よりも大きいか否か（各気筒の空燃比と目標空燃比との差が所定範囲外であるか否か）を判定する。その結果、全ての気筒の空燃比と目標空燃比との差が所定値以下と判定されれば、気筒間空燃比ばらつきが許容範囲内と判断して、ステップ４０５に進み、気筒間空燃比ばらつき異常無し（正常）と判定して本ルーチンを終了する。      
【００６３】
これに対して、上記ステップ４０２で、いずれかの気筒の空燃比と目標空燃比との差の絶対値が所定値よりも大きいと判定されれば、気筒間空燃比ばらつきが許容範囲を越えていると判断して、ステップ４０３に進み、気筒間空燃比ばらつき異常と判定して、ステップ４０４に進み、異常情報をＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ４１を点灯したり、運転席のインストルメントパネルに設けられた警告表示部（図示せず）に警告表示する。
【００６４】
以上説明した本実施例２によれば、減速時燃料カット期間中に運転気筒と休止気筒を順番に切り替えることで、各気筒の空燃比を他の気筒の影響を受けずに精度良く検出できるため、各気筒の空燃比と目標空燃比との差を精度良く求めることができる。従って、運転気筒と休止気筒を順番に切り替えて検出した各気筒の空燃比と目標空燃比との差を気筒間空燃比ばらつきデータとして用いれば、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【実施例３】
【００６５】
本発明の実施例３では、上記実施例２と同様の方法で、減速時燃料カット期間中に所定時間毎に運転気筒を１気筒ずつ順番に切り替えて、空燃比センサ３７の出力に基づいて各運転気筒の空燃比を検出し、検出した各気筒の空燃比のうち、最大の空燃比と最小の空燃比との差を気筒間空燃比ばらつきデータとして算出し、最大の空燃比と最小の空燃比との差が所定値以上であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしている。
【００６６】
本実施例３で実行する図１０の気筒間空燃比ばらつき異常診断ルーチンでは、まずステップ５０１で、検出した各気筒の空燃比のうち、最大の空燃比と最小の空燃比との差を気筒間空燃比ばらつきデータとして算出する。この後、ステップ５０２に進み、最大の空燃比と最小の空燃比との差（気筒間空燃比ばらつきデータ）が所定値よりも大きいか否かを判定する。その結果、最大の空燃比と最小の空燃比との差が所定値以下と判定されれば、気筒間空燃比ばらつきが許容範囲内と判断して、ステップ５０５に進み、気筒間空燃比ばらつき異常無し（正常）と判定して本ルーチンを終了する。
【００６７】
これに対して、上記ステップ５０２で、最大の空燃比と最小の空燃比との差が所定値よりも大きいと判定されれば、気筒間空燃比ばらつきが許容範囲を越えていると判断して、ステップ５０３に進み、気筒間空燃比ばらつき異常と判定して、ステップ５０４に進み、異常情報をＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ４１を点灯したり、運転席のインストルメントパネルに設けられた警告表示部（図示せず）に警告表示する。
【００６８】
以上説明した本実施例３では、前記実施例２と同様に、各気筒の空燃比を他の気筒の影響を受けずに精度良く検出できるため、最大の空燃比と最小の空燃比との差を精度良く求めることができ、この最大の空燃比と最小の空燃比との差を気筒間空燃比ばらつきデータとして用いることで、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００６９】
尚、本発明は、各気筒の気筒別空燃比補正量又はその学習値における最大値と最小値との差が所定値以上であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。
【実施例４】
【００７０】
本発明の実施例４では、前記実施例２と同様の方法で、減速時燃料カット期間中に所定時間毎に運転気筒を１気筒ずつ順番に切り替えて、空燃比センサ３７の出力に基づいて各運転気筒の空燃比を検出し、検出した各気筒の空燃比と全気筒の空燃比平均値との差を気筒間空燃比ばらつきデータとして算出し、いずれかの気筒の空燃比と全気筒の空燃比平均値との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしている。
【００７１】
本実施例４で実行する図１１の気筒間空燃比ばらつき異常診断ルーチンでは、まずステップ６０１で、検出した各気筒の空燃比と全気筒の空燃比平均値との差を気筒間空燃比ばらつきデータとして算出する。この後、ステップ６０２に進み、各気筒の空燃比と全気筒の空燃比平均値との差の絶対値が所定値よりも大きいか否か（各気筒の空燃比と全気筒の空燃比平均値との差が所定範囲外であるか否か）を判定する。その結果、各気筒の空燃比と全気筒の空燃比平均値との差の絶対値が所定値以下と判定されれば、気筒間空燃比ばらつきが許容範囲内と判断して、ステップ６０５に進み、気筒間空燃比ばらつき異常無し（正常）と判定して本ルーチンを終了する。
【００７２】
これに対して、上記ステップ６０２で、各気筒の空燃比と全気筒の空燃比平均値との差の絶対値が所定値よりも大きいと判定されれば、気筒間空燃比ばらつきが許容範囲を越えていると判断して、ステップ６０３に進み、気筒間空燃比ばらつき異常と判定して、ステップ６０４に進み、異常情報をＥＣＵ４０のバックアップＲＡＭ等の書き換え可能な不揮発性メモリ（図示せず）に記憶すると共に、警告ランプ４１を点灯したり、運転席のインストルメントパネルに設けられた警告表示部（図示せず）に警告表示する。
【００７３】
以上説明した本実施例４では、前記実施例２と同様に、各気筒の空燃比を他の気筒の影響を受けずに精度良く検出できるため、各気筒の空燃比と全気筒の空燃比平均値との差を精度良く求めることができ、各気筒の空燃比と全気筒の空燃比平均値との差を気筒間空燃比ばらつきデータとして用いることで、気筒間空燃比ばらつき異常の有無を精度良く判定することができる。
【００７４】
尚、本発明は、いずれかの気筒の気筒別空燃比補正量又はその学習値と全気筒の気筒別空燃比補正量又はその学習値における平均値との差が所定範囲外であるか否かで気筒間空燃比ばらつき異常の有無を判定するようにしても良い。
【００７５】
その他、本発明は、上記各実施例１〜４に限定されず、例えば、５気筒以上の内燃機関にも適用して実施でき、また、複数のバンク（気筒群）を備えたＶ型エンジン等では、バンク（気筒群）毎に各気筒の排気マニホールドが合流する排気合流部に空燃比センサを設けた構成としても良い等、要旨を逸脱しない範囲内で種々変更して実施できる。
【図面の簡単な説明】
【００７６】
【図１】本発明の実施例１におけるエンジン制御システム全体の概略構成図である。
【図２】本発明の実施例１の気筒別空燃比補正量の学習方法（気筒間空燃比ばらつきデータの検出方法）を説明するためのタイムチャートである。
【図３】本発明の実施例１の減速時燃料カット実行条件判定ルーチンの処理の流れを示すフローチャートである。
【図４】本発明の実施例１の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その１）。
【図５】本発明の実施例１の気筒別空燃比補正量学習ルーチンの処理の流れを示すフローチャートである（その２）。
【図６】本発明の実施例１の気筒間空燃比ばらつき異常診断ルーチンの処理の流れを示すフローチャートである。
【図７】本発明の実施例２の気筒間空燃比ばらつき検出ルーチンの処理の流れを示すフローチャートである（その１）。
【図８】本発明の実施例２の気筒間空燃比ばらつき検出ルーチンの処理の流れを示すフローチャートである（その２）。
【図９】本発明の実施例２の気筒間空燃比ばらつき異常診断ルーチンの処理の流れを示すフローチャートである。
【図１０】本発明の実施例３の気筒間空燃比ばらつき異常診断ルーチンの処理の流れを示すフローチャートである。
【図１１】本発明の実施例４の気筒間空燃比ばらつき異常診断ルーチンの処理の流れを示すフローチャートである。
【符号の説明】
【００７７】
１１…エンジン（内燃機関）、１２…吸気管、１４…エアフローメータ、１５…スロットルバルブ、１９…吸気マニホールド、２０…燃料噴射弁、２２…燃料ポンプ、２４…燃圧センサ、２５…吸気バルブ（バルブ装置）、２６…排気バルブ（バルブ装置）、３５…排気マニホールド、３６…排気合流部、３７…空燃比センサ、３８…触媒、４０…ＥＣＵ（気筒間空燃比ばらつきデータ検出手段，異常判定手段）、４１…警告ランプ
【図１】
2009024531.tif 000003
【図２】
2009024531.tif 000004
【図３】
2009024531.tif 000005
【図４】
2009024531.tif 000006
【図５】
2009024531.tif 000007
【図６】
2009024531.tif 000008
【図７】
2009024531.tif 000009
【図８】
2009024531.tif 000010
【図９】
2009024531.tif 000011
【図１０】
2009024531.tif 000012
【図１１】
2009024531.tif 000013