(57)【特許請求の範囲】
【請求項１】
触媒層を有する空燃比センサが排気通路に配置された多気筒内燃機関において、前記空燃比センサで検出される空燃比の空燃比傾きに基づいて気筒間の空燃比インバランス状態を判定する空燃比インバランス判定装置であって、
前記空燃比センサで検出される空燃比の空燃比傾きに基づいて推定インバランス率を推定するインバランス学習と、前記インバランス学習で推定を行った推定インバランス率に基づいて空燃比リッチ寄せ量を求め、その空燃比リッチ寄せ量を用いて目標空燃比をリッチに設定する空燃比リッチ寄せ制御とが実行可能であり、
空燃比リッチ寄せ制御が実行されているときに、機関運転状態がインバランス状態を判定しようとするインバランス学習領域となった場合、前記空燃比リッチ寄せ量が所定の判定閾値よりも小さいときに、前記インバランス学習の学習値である推定インバランス率を大きくする補正を行うことを特徴とする空燃比インバランス判定装置。
【請求項２】
請求項１記載の空燃比インバランス判定装置において、
前記空燃比インバランス状態であると判定した場合に、前記空燃比リッチ寄せ制御を実施することを特徴とする空燃比インバランス判定装置。
【請求項３】
請求項１または２記載の空燃比インバランス判定装置において、
前記空燃比センサの排気流れの下流側に配置されたＯ2センサの出力に基づいてサブフィードバック制御の実行が可能な多気筒内燃機関に適用され、
前記空燃比リッチ寄せ制御が実施されているときに、前記Ｏ2センサの出力がリーン出力である場合は、前記空燃比サブフィードバック制御を実行することを特徴とする空燃比インバランス判定装置。
【請求項４】
請求項３記載の空燃比インバランス判定装置において、
前記空燃比リッチ寄せ制御が実施されているときに、前記Ｏ2センサがリーン出力である場合は、前記サブフィードバック制御の補正量を学習する空燃比サブフィードバック学習を実行することを特徴とする空燃比インバランス判定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多気筒内燃機関において気筒間の空燃比インバランス状態を判定する空燃比インバランス判定装置に関する。
【背景技術】
【０００２】
車両等に搭載される内燃機関（以下、エンジンともいう）の排気系には、排気ガス浄化用の触媒（例えば、三元触媒）が設けられている。この触媒は、流入する排気ガスの空燃比が所定範囲にある場合に最も効率よく排気成分を浄化できる。そこで、触媒の上流側の排気通路に空燃比センサを配置し、その空燃比センサにて検出される空燃比（触媒に流入する排気ガスの空燃比）と目標空燃比（例えば理論空燃比）との偏差に基づいて、インジェクタから噴射される燃料の量（燃料噴射量）をフィードバック制御している（メインフィードバック制御）。こうした空燃比フィードバック制御を行うことにより、空燃比を精度よく制御することができ、排気エミッションの向上を図ることができる。
【０００３】
また、触媒の下流側にＯ2センサ（酸素センサ）を設け、このＯ2センサの出力に基づいて触媒を通過した後の排気の空燃比を検出し、上記空燃比センサの出力を補正する、いわゆるサブフィードバック制御も一般的に行われている。
【０００４】
ところで、複数の気筒を有する多気筒内燃機関においては、各気筒に設けられたインジェクタの噴射性能のばらつきや、気筒毎の吸入空気配分量のばらつき等によって、実際の空燃比が気筒間でばらつくことがあり（空燃比インバランス）、こうした状況になると、特定気筒の燃焼悪化によりエミッションが悪化する場合がある。
【０００５】
そこで、空燃比センサの出力信号に基づいて空燃比インバランス状態であるか否かを判定し、空燃比インバランス状態である場合は燃料噴射量を補正することで、気筒間の空燃比インバランスを抑制するという方法が採られている（例えば、特許文献１参照）。空燃比インバランス状態を判定する方法としては、例えば、空燃比センサで検出される空燃比の単位時間当たりの変化量（以下、空燃比傾きともいう）を検出し、その空燃比傾き（絶対値）がインバランス判定閾値よりも大きい場合は、空燃比インバランス状態であると判定している（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１３３７１４号公報
【特許文献２】特開２０１１−１４４７８５号公報
【特許文献３】特開２００９−０７５０１２号公報
【特許文献４】国際公開第２０１０／０６４３３１号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、エンジンの排気通路に配置される空燃比センサにあっては、排気ガス中のＨ2の選択的拡散により、センサ出力（検出空燃比）が実際よりもリッチ出力となる。これを防止するものとして、センサ素子に触媒層を設けた空燃比センサ（以下、触媒層付き空燃比センサともいう）がある（例えば、上記特許文献３及び４参照）。
【０００８】
触媒層付き空燃比センサでは、排気ガスに含まれるＨ2を触媒層で酸化（浄化）させることで空燃比の検出精度を高めることができるが、排気ガス成分が触媒層で反応及び拡散された後にセンサ排気側に到達するため、センサ出力の応答遅れが生じる。こうした応答遅れが生じると、上記した空燃比インバランス状態の判定に用いる空燃比傾きが小さくなってしまう。これを防止するために、目標空燃比をリッチに設定（空燃比リッチ寄せ制御）して上記触媒層での反応遅れをなくすことにより、上記空燃比傾きが大きくなるようにしている。しかしながら、そのような空燃比リッチ寄せ制御によるリッチ度合が不十分である場合は、上記した空燃比傾きから推定される推定インバランス率（インバランス学習値）が実際のインバランス率よりも小さくなってしまう。
【０００９】
本発明はそのような実情を考慮してなされたもので、触媒層付き空燃比センサが排気通路に配置された多気筒内燃機関において、上記空燃比傾きに基づく空燃比インバランス状態の判定をより精度よく実行することが可能な空燃比インバランス判定装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、触媒層を有する空燃比センサが排気通路に配置された多気筒内燃機関において、前記空燃比センサで検出される空燃比の空燃比傾きに基づいて気筒間の空燃比インバランス状態を判定する空燃比インバランス判定装置を前提としており、このような空燃比インバランス判定装置において、前記空燃比センサで検出される空燃比の空燃比傾きに基づいて推定インバランス率を推定するインバランス学習と、前記インバランス学習で推定を行った推定インバランス率に基づいて空燃比リッチ寄せ量を求め、その空燃比リッチ寄せ量を用いて目標空燃比をリッチに設定する空燃比リッチ寄せ制御とが実行可能であり、空燃比リッチ寄せ制御が実行されているときに、機関運転状態がインバランス状態を判定しようとするインバランス学習領域となった場合、前記空燃比リッチ寄せ量が所定の判定閾値よりも小さいときに、前記インバランス学習の学習値である推定インバランス率を大きくする補正を行うことを技術的特徴としている。本発明において、前記空燃比リッチ寄せ制御は、空燃比インバランス状態であると判定した場合に実施する。
【００１１】
ここで、インバランス学習領域とは、インバランス状態を判定しようとするエンジン運転領域であって、エミッションが良好な領域、及び、走行モード（法規）や市場での運転頻度の高い領域を考慮して、予め実験・計算等によって設定しておく。
【００１２】
本発明によれば、空燃比リッチ寄せ制御が実施されているときに、エンジン運転状態がインバランス学習領域となった場合に、空燃比リッチ寄せ量が小さいときには、インバランス学習値を補正（学習値を大きくする補正）しているので、インバランス学習の精度を向上させることができる。これによって、空燃比傾きに基づく空燃比インバランス状態の判定をより精度よく行うことができる。
【００１３】
本発明において、空燃比センサの排気流れの下流側に配置されたＯ2センサの出力に基づいてサブフィードバック制御の実行が可能である場合、空燃比リッチ寄せ制御が実施されているときに、Ｏ2センサの出力がリーン出力である場合は、空燃比サブフィードバック制御を実行するようにしてよい。このような制御により、排気通路の触媒内の雰囲気をストイキ相当にすることができるので、ＮＯｘの排出を抑制することができる。また、この場合、サブフィードバック制御の補正量を学習するようにしてもよい。
【発明の効果】
【００１４】
本発明によれば、触媒層付き空燃比センサが排気通路に配置された多気筒内燃機関において、空燃比センサで検出される空燃比の変化量（空燃比傾き）に基づく空燃比インバランス状態の判定を精度よく行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明を適用する多気筒エンジンの一例を示す概略構成図である。
【図２】図１のエンジンの１気筒のみを示す概略構成図である。
【図３】フロント空燃比センサの出力電圧と空燃比との関係を示す図である。
【図４】リアＯ2センサの出力電圧と空燃比との関係を示す図である。
【図５】ＥＣＵ等の制御系の構成を示すブロック図である。
【図６】フロント空燃比センサの出力波形を示す図である。
【図７】インバランス学習値の補正処理の一例を示すフローチャートである。
【図８】空燃比リッチ寄せ量を求めるためのマップの一例を示す図である。
【図９】実インバランス率と推定インバランス率との関係を示すマップの一例を示す図である。
【図１０】インバランス時のサブフィードバック制御の一例を示すフローチャートである。
【図１１】インバランス時のサブフィードバック制御の他の例を示すフローチャートである。
【図１２】インバランス時のサブフィードバック制御の別の例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面に基づいて説明する。
【００１７】
−エンジン−
図１及び図２は本発明を適用する多気筒エンジンの概略構成を示す図である。なお、図２にはエンジンの１気筒の構成のみを示している。この例のエンジン１は、駆動力源としてエンジンのみが搭載されるコンベンショナル車両、及び、駆動力源としてエンジンと電動機（モータジェネレータまたはモータ等）とが搭載されるハイブリッド車両（ＨＶ車両）のいずれにも適用可能である。
【００１８】
この例のエンジン１は、車両に搭載されるポート噴射式４気筒エンジン（火花点火式内燃機関）であって、その各気筒＃１，＃２，＃３，＃４を構成するシリンダブロック１ａ内には上下方向に往復動するピストン１ｃが設けられている。ピストン１ｃはコネクティングロッド１６を介してクランクシャフト１５に連結されており、ピストン１ｃの往復運動がコネクティングロッド１６によってクランクシャフト１５の回転へと変換される。
【００１９】
クランクシャフト１５にはシグナルロータ１７が取り付けられている。シグナルロータ１７の外周面には複数の歯（突起）１７ａが等角度（この例では、例えば１０°ＣＡ（クランク過度））ごとに設けられている。また、シグナルロータ１７は、歯１７ａの２枚分が欠落した欠歯部１７ｂを有している。
【００２０】
シグナルロータ１７の側方近傍には、クランク角を検出するクランクポジションセンサ３１が配置されている。クランクポジションセンサ３１は、例えば電磁ピックアップであって、クランクシャフト１５が回転する際にシグナルロータ１７の歯１７ａに対応するパルス状の信号（電圧パルス）を発生する。このクランクポジションセンサ３１の出力信号からエンジン回転数を算出することができる。
【００２１】
エンジン１のシリンダブロック１ａにはエンジン冷却水の水温を検出する水温センサ３２が配置されている。また、シリンダブロック１ａの上端にはシリンダヘッド１ｂが設けられており、このシリンダヘッド１ｂとピストン１ｃとの間に燃焼室１ｄが形成されている。エンジン１の燃焼室１ｄには点火プラグ３が配置されている。点火プラグ３の点火タイミングはイグナイタ４によって調整される。イグナイタ４はＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）２００によって制御される。
【００２２】
エンジン１の燃焼室１ｄには吸気通路１１と排気通路１２とが接続されている。吸気通路１１の一部は吸気ポート１１ａ及び吸気マニホールド１１ｂによって形成されている。吸気通路１１にはサージタンク１１ｃが設けられている。また、排気通路１２の一部は排気ポート１２ａ及び排気マニホールド１２ｂによって形成されている。
【００２３】
エンジン１の吸気通路１１には、吸気を濾過するエアクリーナ７、熱線式のエアフロメータ３３、吸気温センサ３４（エアフロメータ３３に内蔵）、エンジン１の吸入空気量を調整するためのスロットルバルブ５などが配置されている。スロットルバルブ５は、サージタンク１１ｃの上流側（吸気流れの上流側）に設けられており、スロットルモータ６によって駆動される。スロットルバルブ５の開度はスロットル開度センサ３５によって検出される。スロットルバルブ５のスロットル開度はＥＣＵ２００によって駆動制御される。
【００２４】
エンジン１の排気通路１２には三元触媒８が配置されている。三元触媒８は、酸素を貯蔵（吸蔵）するＯ2ストレージ機能（酸素貯蔵機能）を有しており、この酸素貯蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、ＨＣ，ＣＯ及びＮＯｘを浄化することが可能となっている。すなわち、エンジン１の空燃比がリーンとなって、三元触媒８に流入する排気ガス中の酸素及びＮＯｘが増加すると、酸素の一部を三元触媒８が吸蔵することでＮＯｘの還元・浄化を促進する。一方、エンジン１の空燃比がリッチになって、三元触媒８に流入する排気ガスにＨＣ，ＣＯが多量に含まれると、三元触媒８は内部に吸蔵している酸素分子を放出し、これらのＨＣ，ＣＯに酸素分子を与え、酸化・浄化を促進する。
【００２５】
三元触媒８の上流側（排気流れの上流側）の排気通路１２にフロント空燃比センサ３７が配置されており、三元触媒８の下流側の排気通路１２にはリアＯ2センサ３８が配置されている。
【００２６】
フロント空燃比センサ３７は、例えば限界電流式の酸素濃度センサが適用されており、広い空燃比領域にわたって空燃比を連続的に検出することが可能である。図３にフロント空燃比センサ３７の出力特性を示す。この図３に示すように、フロント空燃比センサ３７は、検出した空燃比（触媒前排気空燃比）に比例した電圧信号ｖａｂｙｆｓを出力する。また、フロント空燃比センサ３７の特性（空燃比−電圧特性）はストイキを境に傾きが変化する。ここで、本実施形態に用いるフロント空燃比センサ３７は、センサ素子に触媒層を設けた触媒層付き空燃比センサ（例えば、ＷＯ２０１０／０６４３３１Ａ１のパンフレット参照）である。
【００２７】
リアＯ2センサ３８は、理論空燃比（ストイキ）近傍で出力値がステップ状に変化する特性（Ｚ特性）を示すセンサであって、この例では、例えば起電力式（濃淡電池式）の酸素濃度センサが適用されている。図４にリアＯ2センサ３８の出力特性を示す。この図４に示すように、リアＯ2センサ３８は、理論空燃比において急変する電圧Ｖｏｘｓを出力するようになっている。より具体的には、リアＯ2センサ３８は、例えば、空燃比が理論空燃比よりもリーンのときは略０．１（Ｖ）、空燃比が理論空燃比よりもリッチのときは略０．９（Ｖ）、および空燃比が理論空燃比のときは略０．５（Ｖ）の電圧を出力するようになっている。
【００２８】
以上の空燃比センサ３７及びリアＯ2センサ３８の各出力信号はＥＣＵ２００に入力される。
【００２９】
上記吸気通路１１と燃焼室１ｄとの間に吸気バルブ１３が設けられており、この吸気バルブ１３を開閉駆動することにより、吸気通路１１と燃焼室１ｄとが連通または遮断される。また、排気通路１２と燃焼室１ｄとの間に排気バルブ１４が設けられており、この排気バルブ１４を開閉駆動することにより排気通路１２と燃焼室１ｄとが連通または遮断される。これら吸気バルブ１３及び排気バルブ１４の開閉駆動は、クランクシャフト１５の回転がタイミングチェーン等を介して伝達される吸気カムシャフト２１及び排気カムシャフト２２の各回転によって行われる。
【００３０】
吸気カムシャフト２１の近傍には、特定の気筒（例えば、第１気筒＃１）のピストン１ｃが圧縮上死点（ＴＤＣ）に達したときにパルス状の信号を発生するカムポジションセンサ３９が設けられている。カムポジションセンサ３９は、例えば電磁ピックアップであって、吸気カムシャフト２１に一体的に設けられたロータ外周面の１個の歯（図示せず）に対向するように配置されており、その吸気カムシャフト２１が回転する際にパルス状の信号（電圧パルス）を出力する。なお、吸気カムシャフト２１（及び排気カムシャフト２２）は、クランクシャフト１５の１／２の回転速度で回転するので、クランクシャフト１５が２回転（７２０°回転）するごとにカムポジションセンサ３９が１つのパルス状の信号を発生する。
【００３１】
そして、吸気通路１１の吸気ポート１１ａには、燃料を噴射可能なインジェクタ（燃料噴射弁）２が配置されている。インジェクタ２は各気筒＃１〜＃４毎に設けられている。これらインジェクタ２・・２は共通のデリバリパイプ１０１に接続されている。デリバリパイプ１０１には、後述する燃料供給系１００の燃料タンク１０４に貯溜の燃料が供給され、これによって、インジェクタ２から吸気ポート１１ａ内に燃料が噴射される。この噴射燃料は吸入空気と混合されて混合気となってエンジン１の燃焼室１ｄに導入される。燃焼室１ｄに導入された混合気（燃料＋空気）は点火プラグ３にて点火されて燃焼・爆発する。このときに生じた高温高圧の燃焼ガスによりピストン１ｃが往復動され、クランクシャフト１５が回転されてエンジン１の駆動力（出力トルク）が得られる。燃焼ガスは、排気バルブ１４の開弁にともない排気通路１２に排出される。なお、エンジン１は、第１気筒＃１→第３気筒＃３→第４気筒＃４→第２気筒＃２の順で燃焼・爆発する。以上のエンジン１の運転状態はＥＣＵ２００によって制御される。
【００３２】
一方、燃料供給系１００は、各気筒＃１〜＃４のインジェクタ２・・２に共通に接続されたデリバリパイプ１０１、このデリバリパイプ１０１に接続された燃料供給管１０２、燃料ポンプ（例えば電動ポンプ）１０３、及び、燃料タンク１０４などを備えており、燃料ポンプ１０３を駆動することにより、燃料タンク１０４内に貯留の燃料を、燃料供給管１０２を介してデリバリパイプ１０１に供給することができる。そして、このような構成の燃料供給系１００によって各気筒＃１〜＃４のインジェクタ２に燃料が供給される。
【００３３】
以上の構成の燃料供給系１００において、燃料ポンプ１０３の駆動はＥＣＵ２００によって制御される。
【００３４】
−ＥＣＵ−
ＥＣＵ２００は、図５に示すように、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３及びバックアップＲＡＭ２０４などを備えている。
【００３５】
ＲＯＭ２０２は、各種制御プログラムや、それら各種制御プログラムを実行する際に参照されるマップ等が記憶されている。ＣＰＵ２０１は、ＲＯＭ２０２に記憶された各種制御プログラムやマップに基づいて各種の演算処理を実行する。また、ＲＡＭ２０３は、ＣＰＵ２０１での演算結果や各センサから入力されたデータ等を一時的に記憶するメモリであり、バックアップＲＡＭ２０４は、例えばエンジン１の停止時にその保存すべきデータ等を記憶する不揮発性のメモリである。
【００３６】
以上のＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３及びバックアップＲＡＭ２０４は、バス２０７を介して互いに接続されるとともに、入力インターフェース２０５及び出力インターフェース２０６と接続されている。
【００３７】
入力インターフェース２０５には、クランクポジションセンサ３１、水温センサ３２、エアフロメータ３３、吸気温センサ３４、スロットル開度センサ３５、アクセルペダルの踏み込み量に応じた検出信号を出力するアクセル開度センサ３６、フロント空燃比センサ３７、リアＯ2センサ３８、カムポジションセンサ３９、及び、車両の速度を検出する車速センサ４０などの各種センサ類が接続されている。また、入力インターフェース２０５にはイグニッションスイッチ（スタートスイッチ）４１が接続されている。
【００３８】
出力インターフェース２０６には、インジェクタ２、点火プラグ３のイグナイタ４、スロットルバルブ５のスロットルモータ６、及び、燃料供給系１００の燃料ポンプ１０３などが接続されている。
【００３９】
そして、ＥＣＵ２００は、上記した各種センサの検出信号に基づいて、インジェクタ２の駆動制御（燃料噴射量調整制御）、点火プラグ３の点火時期制御、スロットルバルブ５のスロットルモータ６の駆動制御（吸入空気量制御）などを含むエンジン１の各種制御を実行する。さらに、ＥＣＵ２００は、下記の「空燃比フィードバック制御」、「気筒間の空燃比インバランス判定処理」、「インバランス学習値の補正処理」、及び、「インバランス時のサブフィードバック制御」を実行する。
【００４０】
以上のＥＣＵ２００により実行されるプログラムによって、本発明の多気筒内燃機関の空燃比インバランス判定装置が実現される。
【００４１】
−空燃比フィードバック制御−
ＥＣＵ２００は、エンジン１の排気通路１２に配置したフロント空燃比センサ３７及びリアＯ2センサ３８の各出力に基づいて排気ガス中の酸素濃度を算出し、その算出した酸素濃度から得られる実際の空燃比が目標空燃比（例えば理論空燃比）に一致するように、インジェクタ２から燃焼室１ｄ内に噴射する燃料噴射量を制御する空燃比フィードバック制御（ストイキ制御）を実行する。その空燃比フィードバック制御の具体的な処理について説明する。
【００４２】
まず、上記三元触媒８は、空燃比がほぼ理論空燃比（ストイキ、例えばＡ／Ｆ＝１４．６程度）のときに未燃成分（ＨＣ，ＣＯ）を酸化し、同時に窒素酸化物（ＮＯｘ）を還元する機能を発揮する。さらに、三元触媒８は、上述したように、酸素を吸蔵する機能（酸素吸蔵機能、Ｏ2ストレージ機能）を有し、この酸素吸蔵機能により、空燃比が理論空燃比からある程度まで偏移したとしても、ＨＣ，ＣＯ及びＮＯｘを浄化することができる。すなわち、エンジン１の空燃比がリーンとなって三元触媒８に流入する排気ガスにＮＯｘが多量に含まれると、三元触媒８はＮＯｘから酸素分子を奪ってこの酸素分子を吸蔵するとともにＮＯｘを還元し、これによりＮＯｘを浄化する。また、エンジン１の空燃比がリッチになって三元触媒８に流入する排気ガスにＨＣ，ＣＯが多量に含まれると、三元触媒８はこれらに吸蔵している酸素分子を与えて酸化し、これによりＨＣ，ＣＯを浄化する。
【００４３】
したがって、三元触媒８が、連続的に流入する多量のＨＣ，ＣＯを効率的に浄化するには、この三元触媒８が酸素を多量に貯蔵していなければならず、逆に、連続的に流入する多量のＮＯｘを効率的に浄化するには、三元触媒８が酸素を十分に吸蔵できる状態にあることが必要となる。以上のことから明らかなように、三元触媒８の浄化能力は、この三元触媒８が吸蔵し得る最大の酸素量（最大酸素吸蔵量）に依存する。
【００４４】
一方、三元触媒８は燃料中に含まれる鉛や硫黄等による被毒、あるいは、触媒に加わる熱により劣化し、これに伴って最大酸素吸蔵量が次第に低下していく。このように最大酸素吸蔵量が低下した場合であっても、エミッションを良好に維持するには、三元触媒８から排出されるガスの空燃比が、理論空燃比に極めて近い状態となるように制御する必要がある。
【００４５】
そこで、この例では、空燃比フィードバック制御を行っている。具体的には、上記フロント空燃比センサ３７の出力に基づいて、三元触媒８の上流側（排気ガス流れの上流側）の排気ガスの空燃比を理論空燃比に近づけるためのメインフィードバック制御と、上記リアＯ2センサ３８の出力に基づいて、上記メインフィードバック制御のずれを補償するためのサブフィードバック制御とを組み合わせて実行する。
【００４６】
メインフィードバック制御では、フロント空燃比センサ３７の出力を基礎として検知される排気ガスの空燃比が、理論空燃比と一致するように、インジェクタ２からの燃料噴射量の増減が調整される。より具体的には、検知された排気ガスの空燃比が理論空燃比よりもリッチであれば、燃料噴射量が減量調整され、逆に、その排気ガスの空燃比が理論空燃比よりもリーンであれば、燃料噴射量が増量調整される。
【００４７】
このようなメインフィードバック制御によれば、理想的には、三元触媒８に流れ込む排気ガスの空燃比を理論空燃比に維持することができる。そして、その状態が厳密に維持されれば、三元触媒８の吸蔵酸素量がほぼ一定量に保たれるため、三元触媒８の下流側に、未浄化の成分を含む排気ガスが流出するのを完全に阻止することができる。
【００４８】
ところで、フロント空燃比センサ３７の出力にはある程度の誤差が含まれている。また、インジェクタ２の噴射特性にもある程度のばらつきがある。このため、現実的には、メインフィードバック制御を実行するだけでは、三元触媒８の上流側の排気ガスの空燃比を厳密に理論空燃比に制御することは難しい。
【００４９】
このような理由により、メインフィードバック制御が実行されていても、三元触媒８の下流側には、未浄化の成分を含む排気ガスが流出してくることがある。つまり、メインフィードバック制御が実行されていても、三元触媒８の上流側の排気ガスの空燃比は、全体としてリッチ側もしくはリーン側に偏ることがあり、その結果、三元触媒８の下流側には、ＨＣやＣＯを含むリッチな排気ガス、あるいは、ＮＯｘを含むリーンな排気ガスが流出することがある。
【００５０】
こうした排気ガスの流出が生じると、リアＯ2センサ３８は、排気ガスの空燃比に応じてリッチ出力またはリーン出力を発生する。リアＯ2センサ３８からリッチ出力が発せられた場合には、三元触媒８の上流側の排気ガスの空燃比が、全体としてリッチ側に偏っていたと判断することができ、また、リアＯ2センサ３８からリーン出力が発せられた場合には、三元触媒８の上流側の排気ガスの空燃比が、全体としてリーン側に偏っていたと判断することができる。
【００５１】
サブフィードバック制御では、リアＯ2センサ３８の出力が理論空燃比よりもリーンの空燃比を表す値となると、このリアＯ2センサ３８の出力Ｖｏｘｓと理論空燃比に略相当する目標値Ｖｏｘｓｒｅｆとの偏差を比例・積分処理（ＰＩまたはＰＩＤ処理）してサブフィードバック補正量を求める。そして、このサブフィードバック補正量分だけフロント空燃比センサ３７の出力ｖａｂｙｆｓを補正し、これにより、エンジン１の実際の空燃比が、フロント空燃比センサ３７の検出空燃比よりも見かけ上リーン側であるように設定し、その補正した見かけ上の空燃比が目標空燃比（エンジン１の目標空燃比、ここでは理論空燃比）となるようにフィードバック制御する。
【００５２】
同様に、リアＯ2センサ３８の出力Ｖｏｘｓが理論空燃比よりもリッチの空燃比を表す値となると、このリアＯ2センサ３８の出力Ｖｏｘｓと理論空燃比に略相当する目標値Ｖｏｘｓｒｅｆとの偏差を比例・積分処理（ＰＩＤ処理）してサブフィードバック補正量を求める。そして、このサブフィードバック補正量分だけフロント空燃比センサ３７の出力ｖａｂｙｆｓを補正し、これによってエンジン１の実際の空燃比が、フロント空燃比センサ３７の検出空燃比よりも見かけ上リッチ側であるように設定し、その補正した見かけ上の空燃比が目標空燃比（エンジン１の目標空燃比、ここでは理論空燃比）となるようにフィードバック制御する。
【００５３】
以上により、三元触媒８の下流側の排気ガスの空燃比が、同部位における目標空燃比（略理論空燃比）と一致するようになる。
【００５４】
なお、上記サブフィードバック制御時に、サブフィードバック補正量を学習値として学習する処理を「サブフィードバック学習」と呼ぶ。
【００５５】
−気筒間の空燃比インバランス判定処理−
次に、ＥＣＵ２００が実行する気筒間の空燃比インバランス判定処理について説明する。
【００５６】
まず、インジェクタ２などの燃料供給系やエアフロメータ３３などの空気系に、エンジン１の全気筒＃１〜＃４に影響を及ぼすような異常が発生した場合、空燃比のメインフィードバック制御の補正量の絶対値が大きくなるため、これをＥＣＵ２００でモニタすることで、その異常を検出できる。
【００５７】
例えば、空燃比フィードバック制御中（ストイキ制御中）において、燃料噴射量が全体的にストイキ相当量に対して５％ずれている場合（すなわち、全ての気筒＃１〜＃４において燃料噴射量がストイキ相当量に対して５％ずつ、ずれている場合）、メインフィードバック制御におけるフィードバック補正量はその５％のずれ量を補正するような値、つまり、−５％相当の補正量となり、これによって、燃料供給系もしくは空気系が５％ずれていることを検出することができる。そして、このフィードバック補正量が所定の判定閾値以上となったときに、燃料供給系もしくは空気系が異常であることを検出することができる。
【００５８】
一方、燃料供給系や空気系が全体的にずれているのではなく、気筒間の空燃比にばらつき（インバランス：ｉｍｂａｌａｎｃｅ）が発生する場合がある。例えば、各気筒に設けインジェクタ２の噴射性能のばらつきや、気筒毎の吸入空気配分量のばらつきなどによって、実際の空燃比が気筒間でばらつくことがある。気筒間に空燃比インバランスが発生すると、１機関サイクル間（＝７２０°ＣＡ）での排気空燃比の変動が大きくなり、フロント空燃比センサ３７の出力が変動する。図６にフロント空燃比センサ３７の出力波形の一例を示す。図６において、１点鎖線の波形は空燃比インバランス無の通常時の状態を示しており、実線の波形は空燃比インバランス有の状態を示している。
【００５９】
この図６に示すように、フロント空燃比センサ３７の出力波形（以下、Ａ／Ｆセンサ出力波形ともいう）は、ストイキを中心として振動する傾向にあるが、気筒間の空燃比インバランスが発生すると、そのインバランス度合に応じてＡ／Ｆセンサ出力波形の振動の振幅が大きくなる。このような現象を利用して、気筒間の空燃比インバランス状態を判定することができる。そのインバランス判定方法の一例について以下に説明する。
【００６０】
この例では、上述の如く、気筒間の空燃比インバランスが大きいほど、フロント空燃比センサ３７の出力波形の振動の振幅が大きくなる点、つまり、上記インバランス率が大きいほどＡ／Ｆセンサ出力波形の傾きが大きくなる点（図６参照）を利用して、Ａ／Ｆセンサ出力波形の傾きから気筒間の空燃比のインバランスの発生を判定する。
【００６１】
具体的には、フロント空燃比センサ３７の出力信号に基づいて、Ａ／Ｆセンサ出力波形をモニタし、そのＡ／Ｆセンサ出力波形の傾き（リーンピークＬｐからリッチピークＲｐに向かう領域の空燃比傾きα：図６参照）を取得する。その取得した空燃比傾き（Ａ／Ｆ傾き）αに基づいて、マップ（例えば、実験・計算等により空燃比傾きとインバランス率との関係を取得し、その関係をマップ化したもの）等を参照してインバランス率を推定する。以下、このインバランス率を推定する処理を「インバランス学習」と呼び、その推定処理によって得られる推定インバランス率を「インバランス学習値」と呼ぶ場合もある。
【００６２】
そして、このようにして推定した推定インバランス率と所定の判定閾値Ｔｈａとを比較し、推定インバランス率が判定閾値Ｔｈａ以上である場合は気筒間にインバランス状態が発生していると判定する。なお、空燃比傾きαを所定の判定閾値と比較してインバランス状態の発生の有無を判定するようにしてもよい。
【００６３】
ここで、インバランス率とは、気筒間空燃比のばらつき度合に関するパラメータであって、全気筒のうちある１気筒のみが空燃比ずれを起こしている場合に、その空燃比ずれを起こしている気筒（インバランス気筒）の空燃比がどれくらいの割合で、空燃比ずれを起こしていない気筒（バランス気筒）の空燃比（ストイキ相当）からずれているかを示す値である。
【００６４】
また、上記インバランス判定処理に用いる判定閾値Ｔｈａについては、例えば、エンジン１の気筒間における空燃比が均衡していると判定可能（正常と判定可能）な範囲の上限を実験・計算等により取得しておき、その結果を基に適合した値を判定閾値とする。
【００６５】
また、上記空燃比傾きαは、フロント空燃比センサ３７の検出値のサンプリングタイムｔ（ＥＣＵ２００の演算間隔：例えば４ｍｓｅｃ）当たりのフロント空燃比センサ３７の出力の変化量（前回値−今回値＝ΔＡＦ）を算出することによって求めることができる（空燃比傾きα＝ΔＡＦ／ｔ）。なお、空燃比傾きαについては、リーンピークＬｐからリッチピークＲｐに向かう領域において、上記サンプリングタイムごとのフロント空燃比センサ３７の出力の変化量（前回値−今回値＝ΔＡＦ）を順次積算していき、その積算値（空燃比傾きの和）を積算回数で除したものを空燃比傾き（積算平均値）αとしてもよい。
【００６６】
なお、図６に示すＡ／Ｆセンサ出力波形において、リッチピークからリーンピークに向かう領域の傾きを取得して、その取得した空燃比傾きに基づいてインバランス状態の発生の有無の判定及びインバランス学習を行うことも可能である。
【００６７】
−インバランス学習値の補正処理−
まず、本実施形態では、排気通路１２（触媒前）に配置するフロント空燃比センサ３７が、触媒層付き空燃比センサであるので、上述したように、排気ガスに含まれるＨ2を触媒層で酸化（浄化）させることで空燃比の検出精度を高めることができる。しかし、排気ガス成分が触媒層で反応及び拡散された後にセンサ排気側に到達するため、センサ出力の応答遅れが生じる。こうした応答遅れが生じると、上記した空燃比インバランス状態の判定に用いる空燃比傾きα（図６参照）が小さくなってしまう。このような問題を解消するために（触媒層での反応遅れをなくすために）、目標空燃比をリッチに設定するリッチ寄せ（空燃比リッチ寄せ制御）を行い、上記空燃比傾きαを大きくすることで、インバランス率の推定精度の向上、及び、インバランス時と正常時とのＳ／Ｎを確保している。
【００６８】
しかしながら、上記空燃比リッチ寄せ制御によるリッチ度合が不十分である場合は、空燃比傾きαから推定される推定インバランス率（インバランス学習値）が、実際のインバランス率よりも小さくなってしまう。こうした状況になると、実際にインバランス状態が発生（異常が発生）しているのにも関わらず、インバランス学習値が上記した判定閾値Ｔｈａを上回らない状況となってしまい、正常と誤判定する場合がある。また、インバランス学習値に応じた目標空燃比の変更が不十分となってしまい、エミッションが悪化する場合がある。
【００６９】
そこで、本実施形態では、空燃比リッチ寄せ制御によるリッチ度合が不十分である場合には、インバランス学習値を補正することで、インバランス学習値の精度を向上させることを特徴としている。その補正処理（インバランス学習値の補正処理）の一例について図７のフローチャートを参照して説明する。図７の処理ルーチンはＥＣＵ２００において所定時間（例えば、４ｍｓｅｃ）毎に繰り返して実行される。
【００７０】
図７の処理ルーチンを説明する前に、インバランス学習値補正処理に用いるフラグ、及び、空燃比リッチ寄せ量について説明する。
【００７１】
＜補正処理に用いるフラグについて＞
図７の補正処理においては「インバランス学習値補正必要フラグ」を用いる。「インバランス学習値補正必要フラグ」は、イグニッションスイッチＯＮ時（ＩＧ−ＯＮ時）の初期値は「ＯＮ」に設定される。また、ハイブリッド車両の場合は、スタートスイッチＯＮ時（ＲＥＡＤＹ−ＯＮ時）の初期値は「ＯＮ」に設定される。
【００７２】
さらに、「インバランス学習値補正必要フラグ」は、１回のトリップ（［ＩＧ−ＯＮからＩＧ−ＯＦＦまで］、または、［ＲＥＡＤＹ−ＯＮからＲＥＡＤＹ−ＯＦＦまで］）において、一度ＯＦＦとなると、そのトリップ中に再度ＯＮになることはない。
【００７３】
＜空燃比リッチ寄せ量＞
次に、空燃比リッチ寄せ量について説明する。
【００７４】
まず、ＥＣＵ２００は、上述したように、フロント空燃比センサ３７の出力信号に基づいて気筒間空燃比の推定インバランス率（インバランス学習値）を算出し、その推定インバランス率に基づいてインバランス時（インバランス状態）であるか否かを判定する処理を実行しており、その判定結果が「インバランス時」である場合には、上記推定インバランス率に基づいて空燃比リッチ寄せ量を求めて空燃比リッチ寄せ制御を実施する。
【００７５】
ここで、空燃比リッチ寄せ量は、ストイキ（例えば、１４．６）に対する空燃比の変更量（Ａ／Ｆ変更量）であって、上記推定を行った推定インバランス率（インバランス学習値）に基づいて、図８に示すマップを参照して空燃比リッチ寄せ量を求める。そして、その求めた空燃比リッチ寄せ量を用いて目標空燃比を設定する。例えば、リッチ寄せ量が０．１５である場合、目標空燃比は１４．４５（１４．６［ストイキ］−０．１５［リッチ寄せ量］）となり、この目標空燃比を用いて空燃比リッチ寄せ制御を実行する。
【００７６】
図８のマップは、インバランス率をパラメータとして、上記したフロント空燃比センサ３７の触媒層による影響（反応遅れ）を考慮し、インバランス学習を精度よく行うことが可能な値（リッチ寄せ量）を実験・計算等によって適合した結果をマップ化したものであって、ＥＣＵ２００のＲＯＭ２０２に記憶されている。
【００７７】
図８のマップにおいて、横軸は推定インバランス率であり、縦軸は空燃比リッチ寄せ量（ストイキに対する空燃比変更量）である。図８において、推定インバランス率（インバランス学習値）が横軸のｘ１よりも小さい値である場合は、空燃比リッチ寄せを行うことができないため（空燃比リッチ寄せ制御によるリッチ度合が不十分となるため）、空燃比インバランス判定に用いる上記空燃比傾きは小さいままの値となる。
【００７８】
また、図８に示す一点鎖線は、空燃比リッチ寄せ制御によるリッチ度合（リッチ寄せ量）が不足するか否かを判定するための判定閾値Ｔｈｂであって、図７のステップＳＴ１０２の判定処理に用いる。この判定閾値Ｔｈｂについては、空燃比リッチ寄せを行うことが可能なＡ／Ｆ変更量（ストイキからのＡ／Ｆ変更量）の下限値を実験・計算等によって求め、その結果を基に適合した値（例えば、Ｔｈｂ＝０．０５）を設定する。
【００７９】
＜処理ルーチンの説明＞
図７の処理ルーチンは、上記推定インバランス率に基づく空燃比インバランス判定の判定結果が「インバランス時」である場合に開始される。
【００８０】
図７の処理ルーチンが開始されると、まずは、ステップＳＴ１０１において、エンジン１の運転状態（例えば、エンジン回転数、負荷等）が、リッチ寄せ前提のインバランス学習領域であるか否かを判定する。その判定結果が否定判定（ＮＯ）である場合は、ステップＳＴ１１０に進み、インバランス学習値の補正処理は行わずに通常制御（通常のインバランス学習処理等）行ってリターンする。ステップＳＴ１０１の判定結果が肯定判定（ＹＥＳ）判定である場合（空燃比リッチ寄せ制御が実施されているときに、機関運転状態がインバランス学習領域となった場合）はステップＳＴ１０２に進む。
【００８１】
ここで、ステップＳＴ１０１の判定処理に用いるインバランス学習領域とは、インバランス状態を判定しようとするエンジン運転領域であって、エミッションが良好な領域、及び、走行モード（法規）や市場での運転頻度の高い領域を考慮して、予め実験・計算（シミュレーション）等によって設定した領域のことである。
【００８２】
ステップＳＴ１０２においては、上記推定インバランス率（インバランス学習値）に応じたリッチ寄せ量（Ａ／Ｆ変更量）が、図８に示す判定閾値Ｔｈｂ未満であるか否かを判定する。その判定結果が否定判定（ＮＯ）である場合はステップＳＴ１１０に進む。ステップＳＴ１０２の判定結果が肯定判定（ＹＥＳ）である場合は、空燃比リッチ寄せ制御によるリッチ度合が不十分であると判断してステップＳＴ１０３に進む。
【００８３】
ステップＳＴ１０３では、インバランス学習値補正必要フラグがＯＮであるか否かを判定する。ここで、上記したように、インバランス学習値補正必要フラグは、ＩＧ−ＯＮ時（Ｒｅｄｙ−Ｏｎ時）の初期値は「ＯＮ」に設定されているので、インバランス状態の判定の有無に関わらず、エンジン１の運転状態がインバランス学習領域に入れば、ステップＳＴ１０３の初期の判定結果は、必ず判定結果が肯定判定（ＹＥＳ）となり、ステップＳＴ１０４に進む。
【００８４】
ステップＳＴ１０４では、現在の推定インバランス率に基づいて、図９に示すマップを用いてインバランス学習値を補正する。具体的には、現在の推定インバランス率とリッチ寄せなし線（破線）との交点から、リッチ寄せなしの場合の実インバランス率を求め、その実インバランス率とリッチ寄せあり線（実線）の交点から、補正後のインバランス学習値を読み込むという処理によって補正を行う。このような補正処理により、インバランス学習値を大きい値に補正することができる。
【００８５】
図９のマップは、実インバランス率と推定インバランス率との関係を実験・計算等によって求めたものをマップ化したものであって、ＥＣＵ２００のＲＯＭ２０２内に記憶されている。
【００８６】
なお、上記ステップＳＴ１０２の判定結果が肯定判定（ＹＥＳ）である場合（空燃比リッチ寄せ量が判定閾値Ｔｈｂ未満である場合）に、空燃比リッチ寄せ量が「０」でない場合（リッチ寄せ量≠０：図９の黒丸印で示すような場合）には、例えば、リッチ寄せなしの場合の実インバランス率（破線との交点の値）と、リッチ寄せありの場合の推定の実インバランス率（実線との交点の値）とを用いて線形補間により補正後のインバランス学習値を求めるようにすればよい。
【００８７】
次に、ステップＳＴ１０５において、補正後のインバランス学習値が収束した否かを判定する。具体的には、補正後のインバランス学習値の変化量が所定範囲（インバランス学習値が収束したと判断できる範囲）以内に入ったか否かを判定する。その判定結果が否定判定である場合（インバランス学習値が所定範囲外である場合）は、インバランス学習値補正必要フラグをＯＮに保持（ステップＳＴ１０６）した状態でリターンし、再度、インバランス学習値の補正（ステップＳＴ１０４）を実行する、という処理を繰り返して実行する。そして、インバランス学習値の補正が進み、その補正後のインバランス学習値が収束したときに（ステップＳＴ１０５の判定結果が肯定判定（ＹＥＳ）となったときに）、インバランス学習値補正必要フラグをＯＦＦにする（ステップＳＴ１０７）。
【００８８】
このようにしてインバランス学習値の補正が進んでインバランス学習値が収束したときには、インバランス学習値が図８に示すＸ１よりも大きな値（空燃比リッチ寄せ量が判定閾値Ｔｈｂよりも大きな値）となり、そのインバランス学習値に応じた適切な空燃比リッチ寄せ量となる。これにより、空燃比傾きαに基づく空燃比インバランス状態の判定を精度よく行うことが可能になる。
【００８９】
なお、補正後のインバランス学習値の収束判定処理については、例えば、インバランス学習値の補正の回数（ステップＳＴ１０４の実行回数）が所定回数以上である場合に、補正後のインバランス学習値が収束したと判定するようにしてもよい。
【００９０】
＜効果＞
以上のように、本実施形態によれば、空燃比リッチ寄せ制御が実施されているときに、エンジン運転状態がインバランス学習領域となった場合に、空燃比リッチ寄せ量が小さいときには、インバランス学習値を大きくする補正を行う。このような補正により、インバランス学習値を実際のインバランス率に近づけることができるので、インバランス学習の精度を向上させることができる。これによって、空燃比傾きに基づく空燃比インバランス状態の判定をより精度よく行うことができる。また、インバランス学習値が収束した後は補正をなくす（止める）ことで、誤異常の可能性をより低減（防止）することができる。
【００９１】
−インバランス時のサブフィードバック制御−
次に、ＥＣＵ２００が実行するインバランス時のサブフィードバック制御について説明する。
【００９２】
まず、本実施形態においては、上述したように、排気通路１２（触媒前）に配置するフロント空燃比センサ３７として触媒層付き空燃比センサを備えており、その触媒付きのフロント空燃比センサ３７で検出される空燃比の単位時間当たりの変化量（空燃比傾き）に基づいて気筒間の空燃比インバランス状態を判定している。そして、インバランス状態であると判定した場合（インバランス時）には、エミッション低減やインバランス学習精度の向上のために、空燃比リッチ寄せ制御を行っており、その空燃比リッチ寄せ制御中はサブフィードバック制御（サブＦ／Ｄ制御）やサブフィードバック学習（サブＦ／Ｄ学習）を停止している。
【００９３】
ところが、空燃比リッチ寄せ制御により、制御上の目標空燃比をリッチにしているにも関わらず、空燃比をリッチにする前（空燃比リッチ寄せする前）の三元触媒８内の雰囲気やメインフィードバック制御の制御量（補正量）によって、三元触媒８内の雰囲気がリーン（リアＯ2センサ３８の出力がリーン出力）である場合、ＮＯｘが排出される場合がある。
【００９４】
そこで、この例では、エミッション低減やインバランス学習精度の向上のために空燃比リッチ寄せ制御を行っているときに、リアＯ2センサ３８の出力がリーン出力である場合には、サブフィードバック制御を実行することで、ＮＯｘの排出を抑制する。その具体的な制御（インバランス時のサブフィードバック制御）の一例について図１０のフローチャートを参照して説明する。
【００９５】
図１０の制御ルーチンはＥＣＵ２００において所定時間（例えば、４ｍｓｅｃ）毎に繰り返して実行される。
【００９６】
まず、ＥＣＵ２００は、上述したように、フロント空燃比センサ３７の出力信号に基づいて気筒間空燃比の推定インバランス率（インバランス学習値）を算出し、その推定インバランス率に基づいてインバランス時（インバランス状態）であるか否かを判定する処理を実行しており、その判定結果が「インバランス時」である場合には、上記推定インバランス率に基づいて図８のマップを参照して空燃比リッチ寄せ量（Ａ／Ｆ変更量）を求めて空燃比リッチ寄せ制御を実施する。この空燃比リッチ寄せ制御の開始にともなって、サブフィードバック制御及びサブフィードバック学習の実行条件が不成立となって、図１０の制御ルーチンが開始される。
【００９７】
図１０の制御ルーチンが開始されると、まずは、ステップＳＴ２０１において、推定インバランス率に応じたリッチ寄せであるか否かを判定する。具体的には、上記推定インバランス率（インバランス学習値）に応じたリッチ寄せ量（Ａ／Ｆ変更量）が、判定閾値Ｔｈｂ（図８参照）以上であるか否かを判定し、リッチ寄せ量が判定閾値Ｔｈｂ以上であれば、「推定インバランス率に応じたリッチ寄せあり」と判定（ステップＳＴ２０１の判定結果が肯定判定（ＹＥＳ））してステップＳＴ２０２に進む。ステップＳＴ２０１の判定結果が否定判定（ＮＯ）である場合はリターンする。
【００９８】
なお、ステップＳＴ２０１の判定結果が否定判定（ＮＯ）である場合は、上記した図７のステップＳＴ１０２の判定結果が肯定判定（ＹＥＳ）である場合と同じであるので、その図７のステップＳＴ１０２以降の処理（ステップＳＴ１０２〜ステップＳＴ１０７の処理）を実行するようにしてもよい。
【００９９】
ステップＳＴ２０２では、上記空燃比リッチ寄せ制御での空燃比リッチ寄せを除く条件で、サブフィードバックバック（サブＦ／Ｂ）制御の実行条件（例えば、触媒暖機後やエンジン水温が所定値以上などの条件）が成立しているか否かを判定する。その判定結果が否定判定（ＮＯ）である場合はリターンする。ステップＳＴ２０２の判定結果が肯定判定（ＹＥＳ）である場合はステップＳＴ２０３に進む。
【０１００】
ステップＳＴ２０３では、リアＯ2センサ３８の出力がストイキ（理論空燃比）よりもリーンの空燃比を表す値であるか否かを判定する。その判定結果が否定判定（ＮＯ）である場合は、サブフィードバック制御を停止する（ステップＳＴ２１０）。ステップＳＴ２０３の判定結果が肯定判定（ＹＥＳ）である場合は、サブフィードバック制御を実行する（ステップＳＴ２０４）。
【０１０１】
次に、ステップＳＴ２０５において、上記空燃比リッチ寄せ制御での空燃比リッチ寄せを除く条件で、サブフィードバックバック（サブＦ／Ｂ）学習の実行条件（例えば、触媒暖機後やエンジン水温が所定値以上などの条件）が成立しているか否かを判定する。その判定結果が否定判定（ＮＯ）である場合は、サブフィードバック学習を停止する（ステップＳＴ２１１）。ステップＳＴ２０５の判定結果が肯定判定（ＹＥＳ）である場合は、サブフィードバック学習を実行する（ステップＳＴ２０６）。
【０１０２】
この例の制御によれば、エミッション低減やインバランス学習精度の向上のために空燃比リッチ寄せ制御を行っているときに、リアＯ2センサ３８の出力がリーン出力である場合には、サブフィードバック制御を実行するようにしているので、三元触媒８内の雰囲気をストイキ相当にすることができる。これによってＮＯｘの排出を抑制することができる。また、そのようなサブフィードバック制御の補正量を学習することも可能になる。
【０１０３】
＜変形例１＞
次に、インバランス時のサブフィードバック制御の他の例について図１１図を参照して説明する。この図１１の制御ルーチンもＥＣＵ２００において実行可能である。
【０１０４】
この例では、上記した図１０のフローチャートにおいて、ステップＳＴ３２０及びステップＳＴ３２１の処理を追加した点に特徴がある。なお、図１１の制御ルーチンのステップＳＴ３０１〜ステップＳＴ３０３の各処理は、上記した図１０の制御ルーチンのステップＳＴ２０１〜ステップＳＴ２０３と同じであるので、その詳細な説明は省略する。
【０１０５】
この例では、ステップＳＴ３０３の判定結果が肯定判定（ＹＥＳ）である場合は、ステップＳＴ３２０において、サブフィードバック制御（サブＦ／Ｂ制御）のゲイン（ＰＩまたはＰＩＤのゲイン）を変更して、サブフィードバック制御を実行する（ステップＳＴ３０４）。サブフィードバック制御のゲインを変更する方法の具体的な例としては、以下の方法を挙げることができる。
【０１０６】
（ａ１）ゲインを一定量（固定量）だけ変更
（ｂ１）リアＯ2センサ３８の出力に応じてゲインを増減
（ｃ１）［リアＯ2センサ３８の出力］×［積算吸入空気量（または時間）］に応じてゲインを増減
（ｄ１）吸入空気量に応じてゲインを増減、または、エンジン回転数と空気充填率とに応じてゲインを増減
以上のサブフィードバック制御を実行した後、ステップＳＴ３０５の判定結果が肯定判定（ＹＥＳ）である場合（空燃比リッチ寄せを除く条件でサブＦ／Ｂ学習の実行条件が成立している場合）は、ステップＳＴ３２１において、サブフィードバック学習（サブＦ／Ｂ学習）への取り込み速度（サブＦ／Ｂ制御の補正量を取り込む速度）を変更して、サブフィードバック学習を実行する（ステップＳＴ３０６）。サブフィードバック学習への取り込み速度を変更する方法の具体的な例としては、以下の方法を挙げることができる。
【０１０７】
（ａ２）取り込み速度を一定量（固定量）だけ変更
（ｂ２）リアＯ2センサ３８の出力に応じて取り込み速度を増減
（ｃ２）［リアＯ2センサ３８の出力］×［積算吸入空気量（または時間）］に応じて取り込み速度を増減
（ｄ２）吸入空気量に応じて取り込み速度を増減、または、エンジン回転数と空気充填率とに応じて取り込み速度を増減
＜変形例２＞
次に、インバランス時のサブフィードバック制御の別の例について図１２図を参照して説明する。この図１２の制御ルーチンもＥＣＵ２００において実行可能である。
【０１０８】
図１２に示すステップＳＴ４０１〜ステップＳＴ４０４の各処理は、上記した図１０のフローチャートのステップＳＴ２０１〜ステップＳＴ２０４の各処理と同じであるので、その詳細な説明は省略する。
【０１０９】
この例では、上記した図１０のフローチャートにおいて、ステップＳＴ２０５及びステップＳＴ２０６の各処理を削除した点に特徴がある。すなわち、推定インバランス率に応じたリッチ寄せがある場合（ステップＳＴ４０３の判定結果が肯定判定（ＹＥＳ）である場合）は、サブフィードバック制御のみを実行して（ステップＳＴ４０４）、サブフィードバック学習は実行しない（停止のままとする）ことを特徴としている。
【０１１０】
−他の実施形態−
以上の例では、４気筒ガソリンエンジンの制御に本発明を適用した例を示したが、本発明はこれに限られることなく、例えば６気筒や８気筒などの他の任意の気筒数の多気筒内燃機関の制御にも適用可能である。
【０１１１】
以上の例では、ポート噴射型多気筒ガソリンエンジンの制御に本発明を適用した例を示したが、本発明はこれに限られることなく、筒内直噴型多気筒ガソリンエンジンの制御にも適用可能である。また、直列多気筒ガソリンエンジンのほか、Ｖ型多気筒ガソリンエンジンの制御にも本発明を適用することができる。
【０１１２】
さらに、ガソリンエンジンに限られることなく、例えばガソリンとアルコールとを任意の割合で混合したアルコール含有燃料をも使用可能なフレックス燃料内燃機関の制御にも本発明を適用することができる。
【０１１３】
なお、触媒層付き空燃比センサを備えた多気筒内燃機関において、気筒間の空燃比インバランス判定を行う場合、インバランス状態を判定したとき（インバランス時）に、フロント空燃比センサ３７の出力ずれ（つまり、空燃比センサに設けた触媒層での反応遅れによる影響）が起きないように、目標空燃比をリーン側に寄せる空燃比リーン寄せ制御を実行することが考えられるが、目標空燃比をリーンに設定すると、エンジンストール等が生じやすい傾向となり、ドライバビリティの悪化等が懸念されるので、上記した空燃比リッチ寄せ制御を実施するほうがよい。
【産業上の利用可能性】
【０１１４】
本発明は、多気筒内燃機関において気筒間の空燃比インバランス状態を判定する空燃比インバランス判定装置に利用可能である。
【符号の説明】
【０１１５】
１  エンジン
８  三元触媒
１１  吸気通路
１２  排気通路
３７  フロント空燃比センサ
３８  リアＯ2センサ
２００  ＥＣＵ
【図１】
0005790523.tif 000002
【図２】
0005790523.tif 000003
【図３】
0005790523.tif 000004
【図４】
0005790523.tif 000005
【図５】
0005790523.tif 000006
【図６】
0005790523.tif 000007
【図７】
0005790523.tif 000008
【図８】
0005790523.tif 000009
【図９】
0005790523.tif 000010
【図１０】
0005790523.tif 000011
【図１１】
0005790523.tif 000012
【図１２】
0005790523.tif 000013