(57)【要約】【課題】下流側センサの素子割れが発生した場合と、気筒間空燃比インバランスが生じている場合との判別を促進する。【課題手段】Ｏ２センサの出力値が所定値よりもリーンである状態の継続時間が所定時間以上である（Ｓ１８２）場合に、学習制御においてサブフィードバック制御における補正量を学習値に取り込む取り込み速度が、所定時間未満である場合よりも大きく設定される（Ｓ１８４）。学習制御における学習の進行に伴って、Ｏ２センサの出力状態に関する情報をより迅速に取得できるので、Ｏ２センサの素子割れが発生した場合と、気筒間空燃比インバランスが生じている場合との判別を促進することが可能になる。学習制御の完了までの間にわたり補正量ガード制御の実行を抑制するので、学習制御の完了までの間にわたって、気筒間空燃比インバランスの有無を判定するのに十分な空燃比の補正量が確保される。【選択図】図１４
2014211131.tif 000002
【特許請求の範囲】
【請求項１】
多気筒内燃機関の排気系に設けられた排気浄化触媒の上流側と下流側とに、排気成分から空燃比状態を検出するセンサをそれぞれ備え、
上流側センサの出力値に基づいて排気空燃比が目標空燃比となるように燃料供給量を制御するメインフィードバック制御と、
下流側センサの出力値に基づいて設定される補正量により燃料供給量を補正するサブフィードバック制御と、
前記下流側センサの出力値の分布に応じて、前記サブフィードバック制御における前記空燃比制御に対する補正量に限界を設定することにより、前記空燃比制御に対する補正量を調節する補正量ガード制御と、
前記上流側センサの出力値と実際の排気空燃比との定常的なずれに対応する学習値を、前記サブフィードバック制御における補正量の少なくとも一部を取り込むようにして算出すると共に、算出された学習値に基づいて燃料供給量を補正する学習制御と、
前記下流側センサの出力値に基づいて前記下流側センサの異常を検出するセンサ異常検出制御と、
前記上流側センサおよび下流側センサの出力値に基づいて気筒間の空燃比インバランスを判定するインバランス判定制御と、
を実行する内燃機関の空燃比制御装置であって、
前記下流側センサの出力値が所定値よりもリーンである状態の継続時間が所定時間未満の場合には、前記学習制御において前記サブフィードバック制御における補正量を学習値に取り込む取り込み速度を第１の速度に設定し、
前記継続時間が前記所定時間以上である場合には、前記取り込み速度を、前記第１の速度よりも大きい第２の速度に設定し、且つ、前記学習制御の完了までの間にわたり前記補正量ガード制御の実行を抑制することを特徴とする内燃機関の空燃比制御装置。
【請求項２】
請求項１に記載の内燃機関の空燃比制御装置であって、
前記学習制御の完了後に、前記補正量ガード制御の実行の抑制を解除することを特徴とする内燃機関の空燃比制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の空燃比を制御するための装置に係り、特に、空燃比状態を検出するためのセンサの出力値に基づいて当該センサの異常を検出する機能と、気筒間の空燃比インバランスを判定する機能とを有するものに関する。
【背景技術】
【０００２】
触媒を利用した排気浄化システムを備える内燃機関では、排気ガス中有害成分の触媒による浄化を高効率で行うため、内燃機関で燃焼される混合気の空気と燃料との混合割合、すなわち空燃比を制御することが一般的に行われている。空燃比は、典型的には、内燃機関の排気通路に設けられた空燃比センサによって検出された空燃比を、所定の目標空燃比に一致させるように燃料噴射量を制御することによって、フィードバック制御される。
【０００３】
空燃比を検出するために採用されている典型的な構成は、排気浄化触媒の上流側に、空燃比に概ね比例した出力を生じるＡ／Ｆセンサを設けると共に、排気浄化触媒の下流側には、ストイキ空燃比を挟んで出力が急峻に変化するＯ２センサを設けるものである。この構成では、典型的には、Ａ／Ｆセンサの出力値に基づいて排気空燃比が目標空燃比となるように燃料供給量を制御するメインフィードバック制御と、Ｏ２センサの出力値に基づいて設定される補正量により燃料供給量を補正するサブフィードバック制御とが実行される。このように２種類のフィードバック制御を行う目的は、排気ガスの不十分な混合や検出素子の熱劣化に起因する誤差を生じやすいＡ／Ｆセンサの出力を、Ｏ２センサの出力によって補正することにある。
【０００４】
さらに、Ｏ２センサの出力を利用したサブフィードバック制御に要する時間を短縮するために、Ｏ２センサの出力値と実際の排気空燃比との定常的なずれに対応する学習値を算出して保持すると共に、この学習値に基づいて燃料供給量を補正する制御方法、すなわち学習制御が提案されている（例えば、特許文献１参照）。この学習制御における学習値は、例えばサブフィードバック制御における補正量の少なくとも一部を取り込むようにして算出される。このような構成によれば、例えば内燃機関の再始動直後であってサブフィードバック制御によってはＡ／Ｆセンサの出力が十分に補正されていないときでも、学習値を利用することによって、Ａ／Ｆセンサの出力を迅速に補正することができる。
【０００５】
ところで、Ｏ２センサの素子割れなどの故障が生じた場合には、適切な検出が継続できなくなるため、このような故障をオンボードで検出できることが望ましい。Ｏ２センサは一般にリーン雰囲気中で低い出力を示すが、素子割れが生じた場合には、外気に曝露される素子内側領域と排気ガスに曝露される素子外側領域とのガス濃度差が減少するため、その出力電圧が低下してあたかもリーン状態であるかのような出力を示す。したがって、燃料噴射量を増量しているにもかかわらず、Ｏ２センサの出力値が所定値よりもリーンである状態が所定時間以上継続した場合に、素子割れと判定することが可能である（例えば、特許文献２参照）。この特許文献２の構成ではさらに、このような素子割れの判定までの間及び判定後の退避走行中におけるエミッションの悪化を抑制するために、Ｏ２センサの出力値の分布に応じて、サブフィードバック制御における空燃比制御に対する補正量に限界を設定することにより、空燃比制御に対する補正量を調節する補正量ガード制御が実装されている。
【０００６】
他方、例えば一部の気筒の燃料噴射系が故障するなどして、気筒間の空燃比が大きくばらつくと、排気エミッションを悪化させてしまい、問題となる。このような排気エミッションを悪化させる程の大きな空燃比ばらつきは、異常として検出するのが望ましい。特に自動車用内燃機関の場合、排気エミッションの悪化した車両の走行を未然に防止するため、気筒間空燃比インバランスを車載状態（オンボード）で検出することが要請されており、近年ではこれを法規制化する動きもある。
【０００７】
この目的から、触媒の上流側に設けられたＡ／Ｆセンサの出力に基づいて、気筒間空燃比インバランスを検出する構成が種々提案されている。例えば特許文献３に記載の装置では、一部の気筒で空燃比がリッチ側にずれるときに排気中の水素量が極端に増加する傾向があること、及び排気中の水素が触媒で浄化されることに着目して、触媒の上流側に設けられたＡ／Ｆセンサの検出値と、触媒の下流側に設けられたＯ２センサの検出値との乖離状態に基づいて、気筒間空燃比インバランスを検出している。この構成では、Ａ／Ｆセンサの検出値に対して、Ｏ２センサの検出値がリーン側に大きく乖離している場合に、気筒間空燃比インバランスありと判定している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１２−０１７６９４号公報
【特許文献２】特開２００５−０３６７４２号公報
【特許文献３】特開２００９−２０３８８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このように、Ｏ２センサの素子割れが発生した場合と、気筒間空燃比インバランスが生じている場合とのいずれにおいても、Ｏ２センサの検出値はリーンになる。この場合に、その状態から燃料噴射量を増量すれば、Ｏ２センサの素子割れの場合には上述のとおりＯ２センサの出力値が所定値よりもリーンである状態が所定時間以上継続するのに対し、気筒間空燃比インバランスが生じている場合にはＯ２センサの出力値に若干の変化が生じるから、これによって両者を判別することが可能である。しかしながら、この判別は短時間では困難であって、判別までの間のエミッションの悪化も問題となりうる。
【００１０】
また、サブフィードバック制御における空燃比制御に対する補正量に限界を設定することにより、空燃比制御に対する補正量を調節する補正量ガード制御が実装された装置では、この補正量ガード制御の実行により、空燃比の補正量が不足して十分なリッチ化がされなくなる結果、気筒間空燃比インバランス判定が十分に行えなくなる場合が生じうる。
【００１１】
そこで本発明は、以上の事情に鑑みて創案され、その目的は、下流側センサの素子割れが発生した場合と、気筒間空燃比インバランスが生じている場合との判別を促進することにある。
【課題を解決するための手段】
【００１２】
本発明の一の態様は、
多気筒内燃機関の排気系に設けられた排気浄化触媒の上流側と下流側とに、排気成分から空燃比状態を検出するセンサをそれぞれ備え、
上流側センサの出力値に基づいて排気空燃比が目標空燃比となるように燃料供給量を制御するメインフィードバック制御と、
下流側センサの出力値に基づいて設定される補正量により燃料供給量を補正するサブフィードバック制御と、
前記下流側センサの出力値の分布に応じて、前記サブフィードバック制御における前記空燃比制御に対する補正量に限界を設定することにより、前記空燃比制御に対する補正量を調節する補正量ガード制御と、
前記上流側センサの出力値と実際の排気空燃比との定常的なずれに対応する学習値を、前記サブフィードバック制御における補正量の少なくとも一部を取り込むようにして算出すると共に、算出された学習値に基づいて燃料供給量を補正する学習制御と、
前記下流側センサの出力値に基づいて前記下流側センサの異常を検出するセンサ異常検出制御と、
前記上流側センサおよび下流側センサの出力値に基づいて気筒間の空燃比インバランスを判定するインバランス判定制御と、
を実行する内燃機関の空燃比制御装置であって、
前記下流側センサの出力値が所定値よりもリーンである状態の継続時間が所定時間未満の場合には、前記学習制御において前記サブフィードバック制御における補正量を学習値に取り込む取り込み速度を第１の速度に設定し、
前記継続時間が前記所定時間以上である場合には、前記取り込み速度を、前記第１の速度よりも大きい第２の速度に設定し、且つ、前記学習制御の完了までの間にわたり前記補正量ガード制御の実行を抑制することを特徴とする内燃機関の空燃比制御装置である。
【００１３】
この態様では、下流側センサの出力値が所定値よりもリーンである状態の継続時間が所定時間未満の場合には、前記学習制御において前記サブフィードバック制御における補正量を学習値に取り込む取り込み速度を第１の速度に設定し、前記継続時間が前記所定時間以上である場合には、前記取り込み速度を、前記第１の速度よりも大きい第２の速度に設定し、且つ、前記学習制御の完了までの間にわたり前記補正量ガード制御の実行を抑制する。この学習の進行に伴って、下流側センサの出力状態に関する情報をより迅速に取得できるので、下流側センサの素子割れが発生した場合と、気筒間空燃比インバランスが生じている場合との判別を促進することが可能になる。
【００１４】
また、この態様では、下流側センサの出力値が所定値よりもリーンである状態の継続時間が所定時間である場合に、前記学習制御の完了までの間にわたり前記補正量ガード制御の実行を抑制するので、補正量ガード制御が実装された装置であっても、学習制御の完了までの間にわたって、気筒間空燃比インバランスの有無を判定するのに十分な空燃比の補正量が確保され、気筒間空燃比インバランス判定を促進することが可能になる。
【００１５】
好適には、本発明に係る内燃機関の空燃比制御装置は、前記学習制御の完了後に、前記補正量ガード制御の実行の抑制を解除する。この態様では、学習制御の完了後には補正量ガード制御の抑制が解除されるので、この補正量ガード制御によって、学習制御の完了後におけるエミッションの悪化を抑制することができる。
【発明の効果】
【００１６】
本発明によれば、Ｏ２センサの素子割れが発生した場合と、気筒間空燃比インバランスが生じている場合との判別を促進でき、且つ学習制御の完了後における補正量ガード制御によってエミッションの悪化も抑制できるという、優れた効果が発揮される。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態に係る内燃機関の概略図である。
【図２】Ａ／Ｆセンサ及びＯ２センサの出力特性を示すグラフである。
【図３】目標燃料供給量算出制御の制御ルーチンを示すフローチャートである。
【図４】燃料補正量を算出するメインフィードバック制御の制御ルーチンを示すフローチャートである。
【図５】実際の排気空燃比と、Ｏ２センサの出力値と、Ａ／Ｆセンサに対する出力補正値との推移を示すタイムチャートである。
【図６】出力補正値を算出するサブフィードバック制御の制御ルーチンを示すフローチャートである。
【図７】サブＦ／Ｂ学習値の更新時における出力補正値ｅｆｓｆｂ及びサブＦ／Ｂ学習値ｅｆｇｆｓｂの推移を示すタイムチャートである。
【図８】サブＦ／Ｂ学習値ｅｆｇｆｓｂの更新の制御ルーチンを示すフローチャートである。
【図９】出力補正値ｅｆｓｆｂのガード処理の制御ルーチンを示すフローチャートである。
【図１０】ガード値設定処理の制御ルーチンを示すフローチャートである。
【図１１】気筒間空燃比ばらつきが生じていない場合（線図ａ）および生じている場合（線図ｂ）の空燃比センサ出力の変動を示すグラフである。
【図１２】図１１のＸＩＩ部に相当する拡大図である。
【図１３】気筒間空燃比インバランス検出処理の制御ルーチンである。
【図１４】サブフィードバック学習速度の制御処理の制御ルーチンである。
【図１５】サブフィードバック学習速度の促進固定処理が実行された場合の学習値の推移を模式的に示すタイムチャートである。
【図１６】サブフィードバック学習速度の制御処理が実行された場合の各フラグ及び学習値その他の状態の推移を示すタイムチャートである。
【図１７】学習制御における学習値とＯ２センサの出力値との関係を示すグラフである。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を添付図面に基づき説明する。
【００１９】
図１は、本実施形態に係る内燃機関の概略図である。図示されるように、内燃機関（エンジン）１は、シリンダブロック２に形成された燃焼室３の内部で燃料および空気の混合気を燃焼させ、燃焼室３内でピストンを往復移動させることにより動力を発生する。本実施形態の内燃機関１は、自動車に搭載された多気筒内燃機関であり、より具体的には直列４気筒の火花点火式内燃機関即ちガソリンエンジンである。但し本発明が適用可能な内燃機関はこのようなものに限られず、複数の気筒を有する内燃機関であれば気筒数、形式等は特に限定されない。内燃機関１の不図示の出力軸は、トルクコンバータ、自動変速機およびディファレンシャルギヤアセンブリ（いずれも不図示）に接続されており、駆動輪を駆動する。自動変速機は有段であるが、無段であってもよい。
【００２０】
図示しないが、内燃機関１のシリンダヘッドには、吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されており、各吸気弁および各排気弁は、カムシャフト又はソレノイドアクチュエータによって開閉させられる。シリンダヘッドの頂部には、燃焼室３内の混合気を点火するための点火プラグ７が気筒ごとに取り付けられている。
【００２１】
各気筒の吸気ポートは、気筒毎の枝管４を介して、吸気集合室であるサージタンク８に接続されている。サージタンク８の上流側には吸気管１３が接続されており、吸気管１３はエアクリーナ９に連結されている。
【００２２】
吸気管１３には、吸入空気量（単位時間当たりの吸入空気の量すなわち吸気流量）を検出するためのエアフローメータ５と、電子制御式のスロットルバルブ１０とが組み込まれている。吸気ポート、枝管４、サージタンク８および吸気管１３により、吸気通路が形成される。
【００２３】
吸気通路、特に吸気ポート内に燃料を噴射するインジェクタ（燃料噴射弁）１２が、気筒ごとに配設される。インジェクタ１２から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室３に吸入され、ピストンで圧縮され、点火プラグ７で点火燃焼させられる。
【００２４】
一方、各気筒の排気ポートは、排気マニフォールド１４に接続される。排気マニフォールド１４は、その上流部をなす気筒毎の枝管と、その下流部をなす排気集合部とからなる。排気集合部の下流側は、排気管６に接続されている。排気ポート、排気マニフォールド１４および排気管６により排気通路が形成される。
【００２５】
排気管６には、三元触媒からなる触媒１１が取り付けられている。この触媒１１は、例えばアルミナに、白金（Ｐｔ）、パラジウム（Ｐｈ）あるいはロジウム（Ｒｄ）などの貴金属を担持させたものであり、一酸化炭素（ＣＯ）、炭化水素（ＨＣ）および窒素酸化物（ＮＯｘ）等をまとめて触媒反応により浄化できる。
【００２６】
排気ガスの空燃比を検出するために、触媒１１の上流側にＡ／Ｆセンサ１７が設置され、かつ触媒１１の下流側にＯ２センサ１８が設置されている。Ａ／Ｆセンサ１７は触媒１１の直前の位置に設置され、Ｏ２センサ１８は触媒１１の直後の位置に設置され、いずれも排気ガス中の酸素濃度に基づいて空燃比を検出する。Ａ／Ｆセンサ１７が本発明における上流側センサに該当し、Ｏ２センサ１８が本発明における下流側センサに該当する。
【００２７】
上述の点火プラグ７、スロットルバルブ１０、およびインジェクタ１２等は、コントローラとしての電子制御ユニット（以下ＥＣＵと称す）２０に電気的に接続されている。ＥＣＵ２０は周知のワンチップマイクロプロセッサであり、何れも図示されないＣＰＵ、ＲＯＭ、ＲＡＭ、入出力ポート、および記憶装置等を含むものである。
【００２８】
ＥＣＵ２０には、図示されるように、前述のエアフローメータ５、Ａ／Ｆセンサ１７、Ｏ２センサ１８のほか、内燃機関１のクランク角を検出するクランク角センサ１６、アクセル開度を検出するアクセル開度センサ１５、その他の各種センサが、図示されないＡ／Ｄ変換器等を介して電気的に接続されている。
【００２９】
ＥＣＵ２０は、各種センサの検出値等に基づいて、所望の出力が得られるように、点火プラグ７、スロットルバルブ１０、インジェクタ１２等を制御し、点火時期、スロットル開度、燃料噴射量、燃料噴射時期および変速比等を制御する。なおスロットル開度は通常、アクセル開度に応じた開度に制御される。
【００３０】
Ａ／Ｆセンサ１７は、所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図２に上流側センサすなわちＡ／Ｆセンサ１７の出力特性を示す。図示するように、Ａ／Ｆセンサ１７は、検出した排気空燃比に概ね比例した大きさの電圧信号Ｖｆを出力する。排気空燃比がストイキ（理論空燃比、例えばＡ／Ｆ＝１４．６）であるときの出力電圧はＶｒｅｆｆ（例えば約３．３Ｖ）である。
【００３１】
他方、Ｏ２センサ１８は、ストイキを境に出力値が急変する特性を持つ。図２に下流側センサすなわちＯ２センサ１８の出力特性を示す。図示するように、排気空燃比がストイキであるときの出力電圧、すなわちストイキ相当値はＶｒｅｆｒ（例えば０．４５Ｖ）である。Ｏ２センサ１８の出力電圧は所定の範囲（例えば０〜１（Ｖ））内で変化する。排気空燃比がストイキよりリーンのとき、Ｏ２センサの出力電圧はストイキ相当値Ｖｒｅｆｒより低くなり、排気空燃比がストイキよりリッチのとき、Ｏ２センサの出力電圧はストイキ相当値Ｖｒｅｆｒより高くなる。
【００３２】
触媒１１は、流入する排気ガスの空燃比Ａ／Ｆがストイキ近傍のときにＮＯｘ、ＨＣおよびＣＯを同時に浄化するが、この三者を同時に高効率で浄化できる空燃比の幅（ウィンドウ）は比較的狭い。
【００３３】
触媒１１に流入する排気ガスの空燃比がストイキ近傍に制御されるように、空燃比制御（ストイキ制御）がＥＣＵ２０により実行される。この空燃比制御は、Ａ／Ｆセンサ１７によって検出された排気空燃比を所定の目標空燃比であるストイキに一致させるようなメインフィードバック制御（主空燃比制御）と、Ｏ２センサ１８の出力値に基づいて設定される補正量により燃料供給量を補正するサブフィードバック制御（補助空燃比制御）とからなる。このように２種類のフィードバック制御を行う目的は、検出素子の熱劣化に起因する誤差を生じやすいＡ／Ｆセンサ１７の出力を、Ｏ２センサ１８の出力によって補正することにある。
【００３４】
［メインフィードバック制御］
以下、メインフィードバック制御について具体的に説明する。まず、本実施形態では、燃料噴射弁１２から各気筒へと供給すべき燃料量（以下、「目標燃料供給量」という）Ｑｆｔ（ｎ）は下記式（１）によって算出される。
Ｑｆｔ（ｎ）＝Ｍｃ（ｎ）／ＡＦＴ＋ＤＱｆ（ｎ−１）…（１）
【００３５】
ここで、ｎはＥＣＵ２０における計算回数を示す値であり、例えばＱｆｔ（ｎ）は第ｎ回目の計算によって（すなわち時刻ｎにおいて）算出された目標燃料供給量を表している。また、Ｍｃ（ｎ）は、吸気弁の閉弁時までに各気筒の筒内に吸入されたと予想される空気量（以下、「筒内吸入空気量」という）を示している。筒内吸入空気量Ｍｃ（ｎ）は、例えば機関回転数、エアフローメータ５の出力や吸気弁の閉弁時期等に基づいてマップ又は計算式により算出される。ＡＦＴは、排気空燃比の目標値であり、本実施形態では理論空燃比（１４．７）である。ＤＱｆは、後述するメインフィードバック制御に関して算出される燃料補正量である。燃料噴射弁１２では、このようにして算出された目標燃料供給量に対応する量の燃料が噴射される。
【００３６】
図３は、燃料噴射弁１２からの目標燃料供給量Ｑｆｔ（ｎ）を算出する目標燃料供給量算出制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔の割り込みによって行われる。
【００３７】
まず、ステップＳ１０１において、クランク角センサ１６及びエアフローメータ５等によって機関回転数Ｎｅ、吸気管通過空気流量ｍｔ及び吸気弁の閉弁時期ＩＶＣ等が検出される。次いで、ステップＳ１０２では、ステップＳ１０１において検出された機関回転数Ｎｅ、吸気管通過空気流量ｍｔ及び吸気弁の閉弁時期ＩＶＣに基づいてマップにより又は計算式により時刻ｎにおける筒内吸入空気量Ｍｃ（ｎ）が算出される。次いで、ステップＳ１０３では、ステップＳ１０２で算出された筒内吸入空気量Ｍｃ（ｎ）、及び後述するメインフィードバック制御において算出された時刻ｎ−１における燃料補正量ＤＱｆ（ｎ−１）に基づいて上記式（１）により目標燃料供給量Ｑｆｔ（ｎ）が算出され、制御ルーチンが終了される。燃料噴射弁１２では、このように算出された目標燃料供給量Ｑｆｔ（ｎ）に相当する量の燃料が噴射される。
【００３８】
次に、メインフィードバック制御について説明する。本実施形態では、メインフィードバック制御として、Ａ／Ｆセンサ１７の出力に基づいて算出された実際の燃料供給量と、上述した目標燃料供給量Ｑｆｔとの燃料偏差量ΔＱｆを各計算時毎に算出し、この燃料偏差量ΔＱｆがゼロになるように、燃料補正量ＤＱｆを算出している。具体的には、燃料補正量ＤＱｆは下記式（２）により算出される。なお、下記式（２）においてＤＱｆ（ｎ−１）は、第ｎ−１回目の計算、すなわち前回の計算における燃料補正量であり、Ｋｍｐは比例ゲイン、Ｋｍｉは積分ゲインをそれぞれ示している。これら比例ゲインＫｍｐ、積分ゲインＫｍｉは予め定められた一定の値であってもよいし、機関運転状態に応じて変化する値であってもよい。
【００３９】
【数１】
2014211131.tif 000003
【００４０】
図４は、燃料補正量ＤＱｆを算出するメインフィードバック制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔の割り込みによって行われる。
【００４１】
まず、ステップＳ１２１では、メインフィードバック制御の実行条件が成立しているか否かが判定される。メインフィードバック制御の実行条件が成立している場合とは、例えば内燃機関１の冷間始動中ではないこと（すなわち、機関冷却水温が一定温度以上であって始動時燃料増量等が行われていないこと）や、機関運転中に燃料噴射弁１２からの燃料噴射を停止する燃料カット制御中ではないこと等の条件を満たしている場合が挙げられる。ステップＳ１２１においてメインフィードバック制御の実行条件が成立していると判定された場合には、ステップＳ１２２へと進む。
【００４２】
ステップＳ１２２では、第ｎ回目の計算時におけるＡ／Ｆセンサ１７の出力値ＶＡＦ（ｎ）が検出される。次いで、ステップＳ１２３では、後述するサブフィードバック制御の制御ルーチンによって算出されたＡ／Ｆセンサ１７の出力補正値ｅｆｓｆｂ（ｎ）に、後述するサブフィードバック学習値ｅｆｇｓｆｂ（ｎ）を加算することで、合計補正量ｓｆｂ＿ｔｏｔａｌ（ｎ）が算出される。そして、算出された合計補正量ｓｆｂ＿ｔｏｔａｌ（ｎ）を用いて、ステップＳ１２４において、ガード処理が後述のとおり実行される。
【００４３】
次いで、ステップＳ１２５では、ガード処理後の合計補正量ｓｆｂ＿ｔｏｔａｌ（ｎ）を用いて、Ａ／Ｆセンサ１７の出力値が補正されて、第ｎ回目の計算時における補正出力値ＶＡＦ’（ｎ）が算出される（ＶＡＦ’（ｎ）＝ＶＡＦ（ｎ）＋ｓｆｂ＿ｔｏｔａｌ（ｎ））。
【００４４】
次いで、ステップＳ１２６では、ステップＳ１２５で算出された補正出力値ＶＡＦ’（ｎ）に基づいて、図２に示したマップを用いて、時刻ｎにおける実空燃比ＡＦＲ（ｎ）が算出される。このようにして算出された実空燃比ＡＦＲ（ｎ）は、第ｎ回目の計算時における三元触媒２０に流入する排気ガスの実際の空燃比にほぼ一致した値となっている。
【００４５】
次いで、ステップＳ１２７では、下記式（３）により、Ａ／Ｆセンサ１７の出力に基づいて算出された燃料供給量と目標燃料供給量Ｑｆｔとの燃料偏差量ΔＱｆが算出される。なお、下記式（３）において、筒内吸入空気量Ｍｃ及び目標燃料供給量Ｑｆｔについては第ｎ回目の計算時における値が用いられているが、第ｎ回目の計算時よりも前の値が用いられてもよい。
【００４６】
【数２】
2014211131.tif 000004
【００４７】
ステップＳ１２８では、上記式（２）により時刻ｎにおける燃料補正量ＤＱｆ（ｎ）が算出され、制御ルーチンが終了される。算出された燃料補正量ＤＱｆ（ｎ）は、図３に示した制御ルーチンのステップＳ１０３において用いられる。一方、ステップＳ１２１においてメインフィードバック制御の実行条件が成立していないと判定された場合には、燃料補正量ＤＱｆ（ｎ）が更新されることなく制御ルーチンが終了される。
【００４８】
［サブフィードバック制御］
ところで、排気ガスの熱によりＡ／Ｆセンサ１７が劣化すること等により、Ａ／Ｆセンサ１７の出力にずれが生じる場合がある。そこで、本実施形態では、Ａ／Ｆセンサ１７の出力値に生じたずれを、Ｏ２センサ１８を用いたサブフィードバック制御により補償して、Ａ／Ｆセンサ１７の出力値が実際の排気空燃比に対応した値となるようにしている。
【００４９】
すなわち、Ｏ２センサ１８は、図２に示したように、排気空燃比が理論空燃比よりもリッチであるかリーンであるかを検出することができる一方、理論空燃比よりもリッチであるかリーンであるかの判定にずれを生じることがほとんどない。このため、実際の排気空燃比がリーンとなっているときにはＯ２センサ１８の出力電圧は低い値となっており、実際の排気空燃比がリッチとなっているときにはＯ２センサ１８の出力電圧は高い値となっている。したがって、実際の排気空燃比がほぼ理論空燃比となっているとき、すなわち理論空燃比付近で上下を繰り返しているときには、Ｏ２センサ１８の出力電圧は高い値と低い値との間で反転を繰り返す。このような観点から、本実施形態では、Ｏ２センサ１８の出力電圧が高い値と低い値との間で反転を繰り返すように、Ａ／Ｆセンサ１７の出力値を補正することとしている。
【００５０】
図５は、実際の排気空燃比と、Ｏ２センサ１８の出力値と、Ａ／Ｆセンサ１７の出力補正値ｅｆｓｆｂとのタイムチャートである。図５のタイムチャートは、実際の排気空燃比が理論空燃比になるように制御しているにもかかわらず、Ａ／Ｆセンサ１７にずれが生じていて実際の排気空燃比が理論空燃比となっていない場合に、Ａ／Ｆセンサ１７に生じているずれが補償されていく様子を示している。
【００５１】
図５に示した例では、時刻ｔ0において、実際の排気空燃比は理論空燃比となっておらず、理論空燃比よりもリーンとなっている。これは、Ａ／Ｆセンサ１７にずれが生じていて、実際の排気空燃比が理論空燃比よりもリーンであるにもかかわらず、Ａ／Ｆセンサ１７により理論空燃比に対応する出力値が出力されているためである。このときＯ２センサ１８の出力値は低い値となっている。
【００５２】
Ａ／Ｆセンサ１７の出力補正値ｅｆｓｆｂは、上述したように、図４のステップＳ１２５において補正出力値ＶＡＦ’（ｎ）を算出するために出力値ＶＡＦ（ｎ）に加算される。したがって、この出力補正値ｅｆｓｆｂが正の値となっている場合にはＡ／Ｆセンサ１７の出力値はリーン側に補正され、負の値となっている場合にはＡ／Ｆセンサ１７の出力値はリッチ側に補正される。そして出力補正値ｅｆｓｆｂの絶対値が大きいほど、Ａ／Ｆセンサ１７の出力値が大きく補正される。
【００５３】
Ａ／Ｆセンサ１７の出力値がほぼ理論空燃比となっているにもかかわらず、Ｏ２センサ１８の出力値が低い値となっているときには、Ａ／Ｆセンサ１７の出力値がリッチ側にずれていることを意味する。そこで、本実施形態では、Ｏ２センサ１８の出力値が低い値となっているときには、図５に示したように、出力補正値ｅｆｓｆｂの値を増大させて、Ａ／Ｆセンサ１７の出力値をリーン側へ補正することとしている。一方、Ａ／Ｆセンサ１７の出力値がほぼ理論空燃比となっているにもかかわらずＯ２センサ１８の出力値が高い値となっているときには、出力補正値ｅｆｓｆｂの値を減少させて、Ａ／Ｆセンサ１７の出力値をリッチ側へ補正することとしている。
【００５４】
具体的には出力補正値ｅｆｓｆｂの値は、下記式（４）により計算される。なお、下記式（４）において、ｅｆｓｆｂ（ｎ−１）は、第ｎ−１回目、すなわち前回の計算時における出力補正値であり、Ｋｓｐは比例ゲイン、Ｋｓｉは積分ゲインをそれぞれ示している。また、ΔＶＯ（ｎ）は、第ｎ回目の計算時におけるＯ２センサ１８の出力値と目標出力値（本実施形態では、理論空燃比に対応する値）との出力偏差を示している。
【００５５】
【数３】
2014211131.tif 000005
【００５６】
このように、図５に示した例では、Ａ／Ｆセンサ１７の出力補正値ｅｆｓｆｂの値が増大するにつれて、Ａ／Ｆセンサ１７の出力値に生じているずれが補正され、実際の排気空燃比が徐々に理論空燃比に近づいていく。
【００５７】
図６は、出力補正値ｅｆｓｆｂを算出するサブフィードバック制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは、所定時間間隔の割り込みによって行われる。
【００５８】
まず、ステップＳ１３１では、サブフィードバック制御の実行条件が成立しているか否かが判定される。サブフィードバック制御の実行条件が成立している場合とは、メインＦ／Ｂ制御の実行条件と同様に、内燃機関の冷間始動中でない場合や、燃料カット制御中ではない場合が挙げられる。サブフィードバック制御の実行条件が成立していないと判定された場合には、制御ルーチンが終了される。
【００５９】
一方、ステップＳ１３１において、サブフィードバック制御の実行条件が成立していると判定された場合には、ステップＳ１３２へと進む。ステップＳ１３２では、時刻ｎにおけるＯ２センサ１８の出力値と目標出力値との出力偏差ΔＶＯ（ｎ）が算出される。ステップＳ１３３では、ステップＳ１３２において算出された出力偏差ΔＶＯに基づいて、上記式（４）を用いて出力補正値ｅｆｓｆｂ（ｎ）が算出される。このようにして算出された出力補正値ｅｆｓｆｂ（ｎ）は、図４に示したステップＳ１２５において用いられる。
【００６０】
なお、上記実施形態では、メインフィードバック制御及びサブフィードバック制御としてＰＩ制御が用いられているが、メインＦ／Ｂ制御及びサブフィードバック制御は、Ｐ制御、ＰＩＤ制御等、他の制御方法により行われてもよい。
【００６１】
［学習制御］
本実施形態では、Ｏ２センサの出力を利用したサブフィードバック制御に要する時間を短縮するために、学習制御が実行される。この学習制御は、Ｏ２センサの出力値と実際の排気空燃比との定常的なずれに対応する学習値を算出して保持すると共に、この学習値に基づいて燃料供給量を補正するものである。この学習値は、サブフィードバック制御における補正量の少なくとも一部を取り込むようにして算出される。この学習制御によれば、例えば内燃機関の再始動直後であってサブフィードバック制御によってはＡ／Ｆセンサの出力が十分に補正されていないときでも、学習値を利用することでＡ／Ｆセンサの出力を迅速に補正することができる。
【００６２】
すなわち、サブフィードバック制御によりＡ／Ｆセンサ１７の出力値は適宜補正されるが、例えば内燃機関を停止させた場合や燃料カット制御を行った場合等にはサブフィードバック制御が中断され、その結果、出力補正値ｅｆｓｆｂの値はゼロにリセットされる。その後、再び内燃機関を始動させた場合や燃料カット制御を終了した場合等には、サブフィードバック制御が再開されるが、出力補正値ｅｆｓｆｂがゼロにリセットされているため、Ａ／Ｆセンサ１７の出力値を再び適切な値にまで補正するには時間がかかる。
【００６３】
そこで、本実施形態では、Ａ／Ｆセンサ１７の出力値と実際の排気空燃比に対応する値との間に生じている定常的なずれに対応するサブＦ／Ｂ学習値ｅｆｇｓｆｂを、上記サブフィードバック制御における出力補正値ｅｆｓｆｂに基づいて算出すると共に、算出されたサブＦ／Ｂ学習値ｅｆｇｓｆｂに基づいて、Ａ／Ｆセンサ１７の出力値ＶＡＦを補正することとしている。換言すると、本実施形態では、サブフィードバック制御における出力補正値ｅｆｓｆｂが小さく又はほぼゼロになるように、出力補正値ｅｆｓｆｂの少なくとも一部をサブＦ／Ｂ学習値ｅｆｇｓｆｂに取り込むと共にサブＦ／Ｂ学習値ｅｆｇｓｆｂに基づいてＡ／Ｆセンサ１７の出力値ＶＡＦを補正する学習制御を行うこととしている。このようにして算出されたサブＦ／Ｂ学習値ｅｆｇｆｓｂは、例えば内燃機関を停止させたり燃料カット制御を行ったりしてもゼロにリセットされることはなく、よって内燃機関の停止や燃料カット制御等の後でも、サブフィードバック制御により比較的早期にＡ／Ｆセンサ１７の出力値を再び適切な値にまで補正することができるようになる。
【００６４】
図７は、サブＦ／Ｂ学習値ｅｆｇｆｓｂの更新時における、出力補正値ｅｆｓｆｂ及びサブＦ／Ｂ学習値ｅｆｇｆｓｂのタイムチャートである。図７に示した例では、時刻ｔ1において学習値更新条件が成立し、時刻ｔ1から学習値の更新が開始される。学習値更新条件が成立した時刻ｔ1において、出力補正値ｅｆｓｆｂが正の値である場合にはサブＦ／Ｂ学習値ｅｆｇｆｓｂが増大され、出力補正値ｅｆｓｆｂが負の値である場合にはサブＦ／Ｂ学習値ｅｆｇｆｓｂが減少される。サブＦ／Ｂ学習値ｅｆｇｆｓｂの増大量又は減少量は、出力補正値ｅｆｓｆｂの絶対値が大きくなるほど多くなるようにしている。
【００６５】
特に本実施形態では、時刻ｔ1における出力補正値ｅｆｓｆｂのサブＦ／Ｂ学習値ｅｆｇｆｓｂへの取込は、下記式（５）及び（６）により行われる。なお、下記式（５）及び（６）において、αは取込割合であり、予め定められた１以下の正の値となる（０＜α≦１）。したがって、図６に示した例では、時刻ｔ1において出力補正値ｅｆｓｆｂが正の値となっているため、下記式（５）及び（６）により出力補正値ｅｆｓｆｂが低下されると共にサブＦ／Ｂ学習値ｅｆｇｆｓｂが増大される。
ｅｆｓｆｂ＝ｅｆｓｆｂ−ｅｆｓｆｂ・α      …（５）
ｅｆｇｆｓｂ＝ｅｆｇｆｓｂ＋ｅｆｓｆｂ・α      …（６）
【００６６】
その後、出力補正値ｅｆｓｆｂ及びサブＦ／Ｂ学習値ｅｆｇｆｓｂの修正が行われてから取込間隔ΔＴが経過した時刻ｔ2において、上記時刻ｔ1における取込操作と同様な取込操作が再び行われる。このような出力補正値ｅｆｓｆｂ及びサブＦ／Ｂ学習値ｅｆｇｆｓｂの取込操作が、取込間隔ΔＴ毎に複数回繰り返されることにより（時刻ｔ3、ｔ4）、出力補正値ｅｆｓｆｂの絶対値は徐々に小さくなると共に、サブＦ／Ｂ学習値ｅｆｇｆｓｂの絶対値は徐々に大きくなり、やがてサブＦ／Ｂ学習値ｅｆｇｆｓｂは一定の値に収束していく。このようにサブＦ／Ｂ学習値ｅｆｇｆｓｂが一定の値に収束すると、サブＦ／Ｂ学習値ｅｆｇｆｓｂの更新が終了される（時刻ｔ4）。なお、ここでの取込割合α及び取込間隔ΔＴは、後述するサブフィードバック学習速度の制御処理において、必要に応じて変更されることになる。
【００６７】
図８は、サブＦ／Ｂ学習値ｅｆｇｆｓｂの更新の制御ルーチンを示すフローチャートである。図示した制御ルーチンは所定時間間隔の割り込みによって行われる。
【００６８】
図８に示したように、まずステップＳ１４１では、学習制御の実行条件が成立しているか否かが判定される。学習制御の実行条件が成立している場合とは、例えば、機関定常運転時である場合や、内燃機関の冷間始動中ではなく且つ燃料カット制御中ではない場合等が挙げられる。
【００６９】
ステップＳ１４１において学習制御の実行条件が成立していないと判定された場合には、制御ルーチンが終了せしめられる。一方、学習制御の実行条件が成立していると判定された場合には、ステップＳ１４２へと進む。ステップＳ１４２では、時間カウンタｃｏｕｎｔに１が加算された値が新たな時間カウンタｃｏｕｎｔの値とされる。なお、時間カウンタｃｏｕｎｔは、前回のサブＦ／Ｂ学習値ｅｆｇｆｓｂへの取込が行われてからの経過時間を表すカウンタである。
【００７０】
次いで、ステップＳ１４３では、時間カウンタｃｏｕｎｔが上記取込間隔ΔＴに対応する値以上であるか否かが判定され、取込間隔ΔＴよりも短い場合には、制御ルーチンが終了せしめられる。一方、時間カウンタｃｏｕｎｔが上記取込間隔ΔＴ以上であると判定された場合には、ステップＳ１４４へと進む。ステップＳ１４４では、上記式（５）、（６）に基づいて出力補正値ｅｆｓｆｂのサブＦ／Ｂ学習値ｅｆｇｆｓｂへの取込が行われる。次いで、ステップＳ１４５では、時間カウンタｃｏｕｎｔが０とされ、制御ルーチンが終了せしめられる。
【００７１】
［補正量ガード制御］
本実施形態では、Ｏ２センサ１８の出力値の分布に応じて、空燃比制御に対するサブフィードバック制御における補正量に限界を設定することにより、空燃比制御に対する補正量を調節する補正量ガード制御が実行される。上述のとおり、Ｏ２センサの素子割れが生じると、Ｏ２センサはその出力電圧が低下してあたかもリーン状態であるかのような出力を示す。このため、Ｏ２センサの出力を利用したサブフィードバック制御が実行されると、その結果として燃料濃度が過剰に増加（リッチ化）されてしまう。このような素子割れは、「燃料噴射量を増量しているにもかかわらず、Ｏ２センサの出力値が所定値よりもリーンである状態が所定時間以上継続したこと」をもって検出することが可能であるが、当該検出が行われるまでの間や、検出が行われてからＯ２センサを交換するまでの退避走行中においては、エミッションの悪化が生じるため、このような燃料濃度の過剰な増加を抑制することが望ましい。この目的から、本実施形態では、Ｏ２センサ１８の出力値の分布に応じて、空燃比制御に対するサブフィードバック制御における補正量に限界を設定する補正量ガード制御が実装されている。
【００７２】
図９は、出力補正値ｅｆｓｆｂのガード処理の制御ルーチンを示すフローチャートである。まず、補正量ｅｆｓｆｂとサブフィードバック学習値ｅｆｇｓｆｂの合計値である合計補正量ｓｆｂ＿ｔｏｔａｌが「０（Ｖ）」以上か否かが判定される（Ｓ１５１）。合計補正量ｓｆｂ＿ｔｏｔａｌ≧０であれば（Ｓ１５１で「ＹＥＳ」）、合計補正量ｓｆｂ＿ｔｏｔａｌ≦ｇｒｄ（＋）か否かが判定される（Ｓ１５２）。ここでプラス側ガード値ｇｒｄ（＋）は後述するガード値設定処理にて設定されている上限値である。
【００７３】
合計補正量ｓｆｂ＿ｔｏｔａｌ≦ｇｒｄ（＋）であれば（Ｓ１５２で「ＹＥＳ」）、合計補正量ｓｆｂ＿ｔｏｔａｌを変更せずにガード処理を一旦終了する。しかし、合計補正量ｓｆｂ＿ｔｏｔａｌ＞ｇｒｄ（＋）であれば（Ｓ１５２で「ＮＯ」）、合計補正量ｓｆｂ＿ｔｏｔａｌの値をプラス側ガード値ｇｒｄ（＋）に変更する（Ｓ１５３）。このことで合計補正量ｓｆｂ＿ｔｏｔａｌの値を、プラス側ガード値ｇｒｄ（＋）を上限として制限する。こうして、ガード処理を一旦終了する。
【００７４】
一方、合計補正量ｓｆｂ＿ｔｏｔａｌ＜０であれば（Ｓ１５１で「ＮＯ」）、合計補正量ｓｆｂ＿ｔｏｔａｌ≧ｇｒｄ（−）か否かが判定される（Ｓ１５４）。ここでマイナス側ガード値ｇｒｄ（−）は後述するガード値設定処理にて設定されている下限値である。
【００７５】
合計補正量ｓｆｂ＿ｔｏｔａｌ≧ｇｒｄ（−）であれば（Ｓ１５４で「ＹＥＳ」）、合計補正量ｓｆｂ＿ｔｏｔａｌを変更せずにガード処理を一旦終了する。しかし、合計補正量ｓｆｂ＿ｔｏｔａｌ＜ｇｒｄ（−）であれば（Ｓ１５４で「ＮＯ」）、合計補正量ｓｆｂ＿ｔｏｔａｌの値をマイナス側ガード値ｇｒｄ（−）に変更する（Ｓ１５５）。このことで合計補正量ｓｆｂ＿ｔｏｔａｌの値を、マイナス側ガード値ｇｒｄ（−）を下限として制限する。こうして、ガード処理を一旦終了する。
【００７６】
このようなガード処理が終了すると、処理は上述した図４のステップＳ１２５に戻り、合計補正量ｓｆｂ＿ｔｏｔａｌ、すなわち補正量ｅｆｓｆｂ及びサブフィードバック学習値ｅｆｇｓｆｂの合計値により、Ａ／Ｆセンサ１７の出力電圧ＶＡＦ（ｎ）が補正されて、制御用電圧値ＶＡＦ’（ｎ）が算出されることになる（Ｓ１２５）。
【００７７】
図１０は、ガード値設定処理の制御ルーチンを示すフローチャートである。本処理は一定時間周期で繰り返し実行される処理である。本処理が開始されると、まず、モニタ条件が成立しているか否かが判定される（Ｓ１６１）。ここでモニタ条件とは、Ｏ２センサ１８の出力値からＯ２センサ１８自身の出力異常が判定できる状態にあるかを判定するための条件である。例えば、「（１）Ｏ２センサ１８の活性化完了、（２）サブ空燃比フィードバック制御実行中（前記図４のステップＳ１０４〜Ｓ１１０の実行中）、（３）燃料カットからの復帰後に規定時間経過、（４）吸入空気量ＧＡが規定値以上に大きい、（５）アイドル状態ではない、（６）後述するサブフィードバック学習促進要求フラグがオフされている」、を条件とする。尚、（３）は、燃料カットからの復帰後に燃料カットによる影響が無くなるまで待機するためであり、（４）及び（５）はＯ２センサ１８に素子割れが生じていることが明確にＯ２センサ１８の出力値に現れるようにするために排気の背圧を十分に高めるために条件とされている。
【００７８】
モニタ条件が成立していれば（Ｓ１６１で「ＹＥＳ」）、次にモニタ時間Ｍｔのカウントアップが実行される（Ｓ１６２）。このモニタ時間ＭｔはＥＣＵ２０の立ち上がり時の初期設定にて「０」に設定されており、モニタ条件成立時のトータルの経過時間をカウントするためのタイマーカウンタである。
【００７９】
次にＯ２センサ１８の出力値が０．０５Ｖより低いか否かが判定される（Ｓ１６３）。ここでＯ２センサ１８が正常であった場合のＯ２センサ１８の出力値（出力電圧）Ｖｏ２の出現頻度分布を図７(Ａ)に示す。棒グラフは０．０５Ｖ間隔での出現頻度を示している。
【００８０】
このようにＯ２センサ１８が正常である場合には、サブ空燃比フィードバック制御時には０．４５Ｖを中心にして低電圧側と高電圧側でほぼ同等の頻度で出現し、０Ｖ≦Ｖｏ２＜０．０５Ｖである極めてリーンの領域では非常に出現頻度が小さくなっている。
【００８１】
図７(Ｂ)は初期の素子割れにより排気がわずかにＯ２センサ１８の大気側に漏れている状態を示している。この排気のわずかな漏れのため、Ｏ２センサ１８の出力値Ｖｏ２はリーン側に傾き、０Ｖ≦Ｖｏ２＜０．０５Ｖの領域については出現頻度が急増している。
【００８２】
図７(Ｃ)は素子割れが進んで、図７(Ｂ)の場合よりも更に多くの排気がＯ２センサ１８の大気側に漏れている状態を示している。このためＯ２センサ１８の出力値Ｖｏ２はリーン側のみの出力となり、０Ｖ≦Ｖｏ２＜０．０５Ｖの領域については極めて大きい出現頻度となっている。
【００８３】
このように素子割れによる影響が０Ｖ≦Ｖｏ２＜０．０５Ｖの領域では、Ｏ２センサ１８の出力値Ｖｏ２の出現頻度として明確に現れる。ステップＳ１６３におけるＶｏ２＜０．０５Ｖか否かの判定は、この領域についての出現頻度を求めるための判定である。
【００８４】
ここでＶｏ２＜０．０５Ｖであれば（Ｓ１６３で「ＹＥＳ」）、過大リーン時間Ｌｔのカウントアップが実行される（Ｓ１６４）。この過大リーン時間ＬｔはＥＣＵ２０の立ち上がり時の初期設定にて「０」に設定されており、０Ｖ≦Ｖｏ２＜０．０５Ｖである時のトータルの経過時間をカウントするためのタイマーカウンタである。
【００８５】
ステップＳ１６４の後、あるいはＶｏ２≧０．０５Ｖ（Ｓ１６３で「ＮＯ」）と判定された後は、モニタ時間Ｍｔがモニタ基準時間Ｊｔ以上となったか否かが判定される（Ｓ１６５）。ここでＭｔ＜Ｊｔであれば（Ｓ１６５で「ＮＯ」）、このまま一旦本処理を終了する。
【００８６】
上述した処理を繰り返すことで、モニタ時間Ｍｔ≧Ｊｔとなれば（Ｓ１６５で「ＹＥＳ」）、式（７）に示すごとく、モニタ時間Ｍｔ内において０Ｖ≦Ｖｏ２＜０．０５Ｖである時の出現頻度Ｌｒ(％)を算出する（Ｓ１６６）。
【００８７】
【数４】
2014211131.tif 000006
【００８８】
そして、この出現頻度Ｌｒが、所定のしきい値を上回った場合に、前述したガード値ｇｒｄ（＋），ｇｒｄ（−）が設定される。なお、ガード値ｇｒｄ（＋），ｇｒｄ（−）は固定値でも良いが、出現頻度Ｌｒに応じて可変してもよい。
【００８９】
こうしてガード値ｇｒｄ（＋），ｇｒｄ（−）の算出が終了すると、次にモニタ時間Ｍｔと過大リーン時間Ｌｔとがクリアされ（Ｓ１６８）、一旦本処理を終了する。このことにより再度、上述したモニタ時間Ｍｔの間の出現頻度Ｌｒを求めてガード値ｇｒｄ（＋），ｇｒｄ（−）を設定する処理が繰り返されることになる。
【００９０】
［気筒間空燃比インバランス検出制御］
本実施形態では、Ａ／Ｆセンサ１７及びＯ２センサ１８の出力に基づいて、気筒間空燃比インバランスを検出する制御が実装されている。図１１に示すように、Ａ／Ｆセンサ１７によって検出される排気空燃比Ａ／Ｆは、１エンジンサイクル（＝７２０°ＣＡ）を１周期として周期的に変動する傾向にある。そして気筒間空燃比ばらつきが発生すると、１エンジンサイクル内での変動が大きくなる。図５（Ｂ）部の空燃比線図Ａは気筒間空燃比ばらつきが発生していない場合、ｂは気筒間空燃比ばらつきが発生している場合をそれぞれ示す。なお、この図１１は理解の容易のために模式的に示したものである。
【００９１】
ここでインバランス割合（％）とは、気筒間空燃比のばらつき度合いを表すパラメータである。即ち、インバランス割合とは、全気筒のうちある１気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒（インバランス気筒）の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒（バランス気筒）の燃料噴射量すなわち基準噴射量からズレているかを示す値である。インバランス割合をＩＢ、インバランス気筒の燃料噴射量をＱｉｂ、バランス気筒の燃料噴射量即ち基準噴射量をＱｓとすると、ＩＢ＝（Ｑｉｂ−Ｑｓ）／Ｑｓで表される。インバランス割合ＩＢが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。
【００９２】
上記の説明から理解されるように、空燃比インバランスが発生するとＡ／Ｆセンサ出力の変動が大きくなる。そこでこの変動度合いをモニタすることで、空燃比インバランスを検出することが可能である。本実施形態では、Ａ／Ｆセンサ出力の変動度合いに相関するパラメータである変動パラメータを算出すると共に、この変動パラメータを所定の異常判定値と比較してインバランスを検出する。
【００９３】
ここで変動パラメータの算出方法について説明する。図１２は、図１１のＸＩＩ部に相当する拡大図であり、特に１エンジンサイクル内のＡ／Ｆセンサ出力の変動を示す。ここでＡ／Ｆセンサ出力としては、Ａ／Ｆセンサ１７の出力電圧Ｖｆを空燃比Ａ／Ｆに換算した値を用いる。但しＡ／Ｆセンサ１７の出力電圧Ｖｆを直接用いることも可能である。
【００９４】
図１２の（Ｂ）部に示すように、ＥＣＵ２０は、１エンジンサイクル内において、所定のサンプル周期τ（単位時間、例えば４ｍｓ）毎に、Ａ／Ｆセンサ出力Ａ／Ｆの値を取得する。そして今回のタイミング（第２のタイミング）で取得した値Ａ／Ｆｎと、前回のタイミング（第１のタイミング）で取得した値Ａ／Ｆｎ−１との差ΔＡ／Ｆｎを、次式（８）により求める。この差ΔＡ／Ｆｎは今回のタイミングにおける微分値あるいは傾きと言い換えることができる。
【００９５】
【数５】
2014211131.tif 000007
【００９６】
最も単純には、この差ΔＡ／ＦｎがＡ／Ｆセンサ出力の変動を表す。変動度合いが大きくなるほど空燃比線図の傾きが絶対値で大きくなり、差ΔＡ／Ｆｎが絶対値で大きくなるからである。そこで所定の１タイミングにおける差ΔＡ／Ｆｎの値を変動パラメータとすることができる。
【００９７】
但し、本実施形態では精度向上のため、複数の差ΔＡ／Ｆｎの平均値を変動パラメータとする。本実施形態では、１エンジンサイクル内において、各タイミング毎に差ΔＡ／Ｆｎを積算し、最終積算値をサンプル数Ｎで除し、１エンジンサイクル内の差ΔＡ／Ｆｎの平均値を求める。そしてさらに、Ｍエンジンサイクル分（例えばＭ＝１００）だけ差ΔＡ／Ｆｎの平均値を積算し、最終積算値をサイクル数Ｍで除し、Ｍエンジンサイクル内の差ΔＡ／Ｆｎの平均値を求める。
【００９８】
Ａ／Ｆセンサ出力の変動度合いが大きいほど、Ｍエンジンサイクル内の差ΔＡ／Ｆｎの平均値も絶対値で大きくなる。そこで当該平均値が絶対値で所定の異常判定値以上であればインバランスありと判定され、当該平均値が異常判定値より小さければインバランスなし、即ち正常と判定される。
【００９９】
なお、Ａ／Ｆセンサ出力Ａ／Ｆは増加する場合と減少する場合とがあるので、これら各場合の一方についてだけ上記差ΔＡ／Ｆｎあるいはその平均値を求め、これを変動パラメータとすることができる。特に１気筒のみリッチずれの場合、当該１気筒に対応した排気ガスをＡ／Ｆセンサが受けた時にその出力が急速にリッチ側に変化（すなわち急減）するので、減少側のみの値をリッチずれ検出のために用いることも可能である（リッチインバランス判定）。この場合には、図６の（Ｂ）部のグラフにおける右下がりの領域のみを、リッチずれ検出のために利用することになる。一般にリーンからリッチへの移行は、リッチからリーンへの移行よりも急峻に行われる場合が多いため、この方法によればリッチずれを精度よく検出することが期待できる。もっとも、これに限定されず、増加側の値のみを用いること、あるいは、減少側と増加側の双方の値を用いる（差ΔＡ／Ｆｎの絶対値を積算し、この積算値をしきい値と比較することで）ことも可能である。
【０１００】
また、Ａ／Ｆセンサ出力の変動度合いに相関する如何なる値をも変動パラメータとすることができる。例えば、１エンジンサイクル内のＡ／Ｆセンサ出力の最大値と最小値の差（所謂ピークトゥピーク; peak to peak）に基づいて、変動パラメータを算出することもできる。Ａ／Ｆセンサ出力の変動度合いが大きいほど当該差も大きくなるからである。
【０１０１】
次に、図１３を用いて、気筒間空燃比インバランス検出処理の制御ルーチンについて説明する。
【０１０２】
まずステップＳ１７１では、気筒間インバランス検出を行うのに適した所定の前提条件が成立しているか否かが判断される。この前提条件は、次の各条件が成立したときに成立する。
（１）内燃機関１の暖機が終了している。例えば水温センサ２３で検出された水温が所定値以上であるとき暖機終了とされる。
（２）少なくともＡ／Ｆセンサ１７が活性化している。
（３）内燃機関１が定常運転中である。
（４）ストイキ制御中である。
（５）内燃機関１が検出領域内で運転している。
（６）Ａ／Ｆセンサ１７の出力Ａ／Ｆが減少中である。
【０１０３】
これらのうち（６）は、このルーチンが上述したリッチインバランス判定（減少側の値のみをリッチずれ検出のために用いる方法）によっていることを示す。前提条件が成立していない場合にはルーチンが終了される。
【０１０４】
他方、前提条件が成立している場合には、次にＥＣＵ２０は、Ａ／Ｆセンサ１７の出力に基づいて、空燃比変動を検出する（Ｓ１７２）。ここでは、今回のタイミングにおけるＡ／Ｆセンサ１７（第１空燃比センサ）の出力Ａ／Ｆｎが取得され、今回のタイミングにおける出力差ΔＡ／Ｆｎが、前式（８）より算出され記憶される。そして、これらの処理がＭサイクル（Ｍは任意の自然数）について終了するまで繰返し実行される。Ｍサイクルが終了すると、これまでに算出された出力差ΔＡ／Ｆｎの平均値ΔＡ／ＦＡＶが、例えば上述のように差ΔＡ／Ｆｎの積算値をサンプル数Ｎおよびエンジンサイクル数Ｍで除することによって算出される。この平均値ΔＡ／ＦＡＶが空燃比変動を表す。
【０１０５】
そして、検出された空燃比変動に基づいて、インバランス判定が実行される（Ｓ１７３）。ここでは具体的には、差ΔＡ／Ｆｎの平均値ΔＡ／ＦＡＶの絶対値が、予め定められた異常しきい値βよりも大であるかが判定される。平均値ΔＡ／ＦＡＶの絶対値が異常しきい値βよりも小さい場合には、インバランス無しすなわち正常と判定され、異常しきい値β以上であるときは、インバランス有りすなわち異常と判定されて、ルーチンが終了される。なお、異常判定と同時に、あるいは異常判定が２トリップ（すなわち、エンジン始動から停止までの１トリップを２回連続で）続けて出された場合に、異常の事実をユーザに知らせるべくチェックランプ等の警告装置を起動させ、且つ所定のダイアグノーシスメモリに異常情報を、整備作業者による呼び出しが可能な態様で記憶させるのが好ましい。
【０１０６】
［Ｏ２センサ異常判定制御］
本実施形態では、Ｏ２センサ１８の出力に基づいて、Ｏ２センサ１８の異常を判定するＯ２センサ異常判定制御が実装されている。この異常判定制御は、上述した学習制御における学習値が所定値以上（例えば、２００ｍＶ以上）であるにもかかわらず、Ｏ２センサ１８の出力電圧Ｖｏ２が大きくリーンに偏った状態（例えば、０．０５ｍＶ未満）である場合に、ＥＣＵ２０によりＯ２センサ１８の異常と判定するものである。なお、上述した気筒間空燃比インバランス判定における場合と同様に、Ｏ２センサ１８の異常判定と同時に、あるいは異常判定が２トリップ（すなわち、エンジン始動から停止までの１トリップを２回連続で）続けて出された場合に、異常の事実をユーザに知らせるべくチェックランプ等の警告装置を起動させ、且つ所定のダイアグノーシスメモリに異常情報を、整備作業者による呼び出しが可能な態様で記憶させるのが好ましい。
【０１０７】
［サブフィードバック学習速度の制御処理］
以上のとおり構成された本実施形態におけるサブフィードバック学習速度の制御処理について、以下に説明する。図１４はサブフィードバック学習速度の制御処理の制御ルーチンである。まずＥＣＵ２０は、サブフィードバック学習促進実施履歴フラグがオフであるかを判断する（Ｓ１８１）。否定の場合には処理がリターンされるが、当該フラグは初期状態ではオフされているのでここでは肯定される。
【０１０８】
次にＥＣＵ２０は、Ｏ２センサ１８がリーン出力（例えば０．５ｍＶ以下）を示す状態の継続時間が所定値（例えば５〜１０秒）以上であるかを判断する(Ｓ１８２)。Ｏ２センサ１８の素子割れが生じておらず、且つ気筒間空燃比インバランスも生じていない場合には、このようなリーン出力が長時間にわたって継続することは通常なく、ここで否定されて処理がリターンされる。
【０１０９】
ステップＳ１８２で肯定、すなわちＯ２センサ１８のリーン出力の継続時間が所定値以上である場合には、サブフィードバック学習促進要求フラグがオンされる（Ｓ１８３）。このサブフィードバック学習促進要求フラグは、サブフィードバック学習促進要求があったこと、及び促進状態によるサブフィードバック学習が完了していないことを示す。そして、当該フラグがオンされている場合には、上述したガード値設定処理（図６）におけるモニタ条件が成立せず、したがって、ガード値設定処理の実行が禁止される。
【０１１０】
次に、サブフィードバック学習速度の促進固定処理が実行される（Ｓ１８４）。この処理は、上述した学習制御（図７・図８）において、サブフィードバック制御における補正量を学習値に取り込む取り込み速度を、通常時よりも速める処理であり、学習制御における取込割合α及び取込間隔ΔＴを変更することによって実行される。具体的には当該処理では、図１５に模式的に示されるように、学習制御における取込割合αを通常時よりも大きく（例えば２倍に）すると共に、取込間隔ΔＴを通常時よりも短く（例えば１／２に）する。その結果、サブフィードバック制御における補正量を学習値に取り込む取り込み速度が、このような取込割合α及び取込間隔ΔＴの変更が行われない通常時（二点鎖線）における第１の速度よりも速められ、第２の速度とされる。
【０１１１】
次に、促進中のサブフィードバック学習の実施回数がカウントされ（Ｓ１８５）、当該カウントは学習実施回数が所定値以上になるまで繰り返される（Ｓ１８６）。そして学習実施回数が所定値以上になると、ステップＳ１８６で肯定されて処理がステップＳ１８７に移行し、上述したサブフィードバック促進要求フラグがオフされる。このため、当該フラグがオフされていることを条件としている上述したガード値設定処理（図６）におけるモニタ条件が成立し、したがって、以後におけるガード値設定処理の実行が許容される。したがって、Ｏ２センサ１８の素子割れが生じている場合には、ガード値設定処理の実行により補正量ガード制御を有効にすることができ、素子割れ状態での過度なリッチ化に起因するエミッションの悪化を抑制できる。
【０１１２】
また、サブフィードバック学習促進が実施済みであることを示すサブフィードバック学習促進実施履歴フラグがオンされ（Ｓ１８６）、これによって、次サイクル以降の相当の期間ないし走行距離にわたり、ステップＳ１８２以後の処理がスキップされる。なお当該フラグは当該相当の期間ないし走行距離の経過を条件にオフされ、これによってステップＳ１８２以後の処理が再び許容されることになる。
【０１１３】
最後に、サブフィードバック学習速度の促進固定処理が解除される（Ｓ１８８）。これによって、サブフィードバック学習速度（すなわち、当該速度を規定する取込割合及び取込間隔ΔＴ）が通常の値すなわち第１の速度に戻され、処理がリターンされる。
【０１１４】
ここで、図１６のタイミングチャートに従って、以上のサブフィードバック学習速度の制御処理が実行された場合の各フラグ及び学習値その他の状態を説明する。いま、本実施形態に係る車両が任意の加減速（図中（ａ））を繰り返しながら運転されているとする。時刻ｔ２１において、Ｏ２センサ１８の出力値が所定値よりもリーンである状態が所定時間以上継続（Ｓ１８２，図中（ｂ））すると、サブフィードバック学習速度要求フラグ（図中（ｄ））がオンされる結果、学習制御においてサブフィードバック制御における補正量を学習値に取り込む取り込み速度が、通常時における第１の速度よりも大きい第２の速度に設定される（Ｓ１８４）。その結果、サブフィードバック実施回数（図中（ｅ））及び学習値（図中（ｆ））が通常時（一点鎖線・二点鎖線）よりも迅速に上昇することになる。そして時刻ｔ２２において、サブフィードバック実施回数（図中（ｅ））が所定値に達すると（Ｓ１８６）、サブフィードバック学習速度要求フラグ（図中（ｄ））がオフされ、且つサブフィードバック学習促進履歴フラグ（図中（ｂ））がオンされる（Ｓ１８７）。
【０１１５】
また、本実施形態では、サブフィードバック学習速度要求フラグ（図中（ｄ））がオンされている場合に、補正量ガード制御の実行が抑制されることになる（図１０のガード値設定処理におけるステップＳ１６１）。
【０１１６】
図１７は、学習制御における学習値と、Ｏ２センサ１８の出力値との関係を示すグラフである。上述のとおり、Ｏ２センサ１８の素子割れが発生した場合（一点鎖線）と、気筒間空燃比インバランスが生じている場合（実線）とのいずれにおいても、Ｏ２センサ１８の検出値は実空燃比よりもリーンになり、とくに学習値が比較的小さい領域では両者の判別は容易ではない。このため、例えば本発明による改良前のように、空燃比制御に対する補正量を調節する補正量ガード制御が実装された構成では、補正量が比較的小さい領域（例えば、Ｏ２センサ検出値における５０ｍＶ相当以下の領域）に補正量がガードされる結果、Ｏ２センサ１８の素子割れが発生した場合（一点鎖線）と、気筒間空燃比インバランスが生じている場合（実線）との判別が困難になりうる。これに対し、本実施形態においては、学習値が大きく（例えば、Ｏ２センサ検出値における３００ｍＶ相当に）なり実空燃比がリッチ化されると、気筒間空燃比インバランスが生じている場合にはＯ２センサ１８の出力値に相応の変化が生じるのに対し、Ｏ２センサ１８の素子割れの場合にはＯ２センサ１８の出力値が所定値（例えば０．０５Ｖ）よりもリーンである状態が所定時間以上継続するから、これによって両者を明瞭に判別することが可能である。
【０１１７】
以上詳述したとおり、本実施形態では、Ｏ２センサ１８の出力値が所定値よりもリーンである状態が所定時間以上継続（Ｓ１８２）した場合に、学習制御においてサブフィードバック制御における補正量を学習値に取り込む取り込み速度が、通常時における第１の速度よりも大きい第２の速度に設定される（Ｓ１８４）。その結果、本実施形態では、学習制御における学習の進行に伴って、Ｏ２センサ１８の出力状態に関する情報をより迅速に取得できるので、Ｏ２センサ１８の素子割れが発生した場合と、気筒間空燃比インバランスが生じている場合との判別を促進することが可能になる。
【０１１８】
また、本実施形態では、Ｏ２センサ１８の出力値が所定値よりもリーンである状態が所定時間以上継続した場合に、学習制御の完了までの間にわたり前記補正量ガード制御の実行を抑制するので（図１０のガード値設定処理におけるステップＳ１６１）、補正量ガード制御が実装された装置であるにもかかわらず、学習制御の完了までの間にわたって、気筒間空燃比インバランスの有無を判定するのに十分な空燃比の補正量が確保され、気筒間空燃比インバランス判定を促進することが可能になる。また、学習制御の完了後には補正量ガード制御の抑制が解除されるので、この補正量ガード制御によって、学習制御の完了後におけるエミッションの悪化を抑制することも可能になる。
【０１１９】
本発明は前述の態様のみに限らず、特許請求の範囲によって規定される本発明の思想に包含されるあらゆる変形例や応用例、均等物が本発明に含まれる。従って本発明は、限定的に解釈されるべきではなく、本発明の思想の範囲内に帰属する他の任意の技術にも適用することが可能である。
【０１２０】
例えば、上記実施形態におけるインバランス検出では、出力差ΔＡ／Ｆｎの平均値Ａ／ＦＡＶを用いたが、出力の変動度合いに相関するパラメータであれば他の値を用いてもよい。また、上記実施形態では減少時（リッチ側への変化時）のみの空燃比センサ出力を利用してリッチずれ異常を検出した。しかしながら、増大時（リーン側への変化時）のみの空燃比センサ出力を利用する態様や、減少時および増大時の両者の空燃比センサ出力を利用する態様も可能である。またリッチずれ異常のみならず、リーンずれ異常をも検出することが可能であるし、これらリッチずれおよびリーンずれを区別せず、広く空燃比インバランスを検出するようにしてもよい。
【０１２１】
さらに、気筒間空燃比インバランスを検出する構成としては、上流側センサと下流側センサとの出力値に基づいて気筒間空燃比インバランスを検出する他の構成を任意に採用することができる。例えば、上述した特許文献３に記載の装置のように、一部の気筒で空燃比がリッチ側にずれるときに排気中の水素量が極端に増加する傾向があること、及び排気中の水素が触媒で浄化されることに着目して、Ａ／Ｆセンサの検出値とＯ２センサの検出値との乖離状態に基づいて気筒間空燃比インバランスを検出してもよい。
【０１２２】
また、学習速度の促進固定処理（Ｓ１８４）においては、取込割合αの変更に代えて、取込１回あたりの学習値の変更量を、通常時よりも十分大きな固定値とするものであっても良い。学習速度の促進固定処理は、学習速度が通常時よりも促進されるものであればよく、例えば取込割合αないし取込１回あたりの学習値の変更量、及び取込間隔ΔＴのいずれか一方のみを変更するものであっても良い。
【０１２３】
また、上記実施形態では、Ｏ２センサ１８の出力値が所定値よりもリーンである状態が所定時間以上継続した場合に、学習制御の完了までの間にわたり補正量ガード制御の実行を禁止することとしたが（Ｓ１８３）、補正量ガード制御の制御量を通常時よりも小さくすることによって、補正量ガード制御の実行を抑制することとしてもよく、補正量ガード処理が通常時よりも抑制される限りにおいて、本発明の範疇に属するものである。
【符号の説明】
【０１２４】
１  内燃機関
３  燃焼室
５  エアフローメータ
６  排気管
１１  触媒
１２  インジェクタ
１４  排気マニフォールド
１７  Ａ／Ｆセンサ
１８  Ｏ２センサ
２０  電子制御ユニット（ＥＣＵ）
【図１】
2014211131.tif 000008
【図２】
2014211131.tif 000009
【図３】
2014211131.tif 000010
【図４】
2014211131.tif 000011
【図５】
2014211131.tif 000012
【図６】
2014211131.tif 000013
【図７】
2014211131.tif 000014
【図８】
2014211131.tif 000015
【図９】
2014211131.tif 000016
【図１０】
2014211131.tif 000017
【図１１】
2014211131.tif 000018
【図１２】
2014211131.tif 000019
【図１３】
2014211131.tif 000020
【図１４】
2014211131.tif 000021
【図１５】
2014211131.tif 000022
【図１６】
2014211131.tif 000023
【図１７】
2014211131.tif 000024
【手続補正書】
【提出日】平成25年10月1日(2013.10.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
次にＯ２センサ１８の出力値が０．０５Ｖより低いか否かが判定される（Ｓ１６３）。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００８０
【補正方法】変更
【補正の内容】
【００８０】
Ｏ２センサ１８が正常である場合には、サブ空燃比フィードバック制御時には０．４５Ｖを中心にして低電圧側と高電圧側でほぼ同等の頻度で出現し、０Ｖ≦Ｖｏ２＜０．０５Ｖである極めてリーンの領域では非常に出現頻度が小さくなる。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００８１
【補正方法】変更
【補正の内容】
【００８１】
初期の素子割れにより排気がわずかにＯ２センサ１８の大気側に漏れている場合には、この排気のわずかな漏れのため、Ｏ２センサ１８の出力値Ｖｏ２はリーン側に傾き、０Ｖ≦Ｖｏ２＜０．０５Ｖの領域については出現頻度が急増する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００８２
【補正方法】変更
【補正の内容】
【００８２】
素子割れが進んで、更に多くの排気がＯ２センサ１８の大気側に漏れている場合には、Ｏ２センサ１８の出力値Ｖｏ２はリーン側のみの出力となり、０Ｖ≦Ｖｏ２＜０．０５Ｖの領域については極めて大きい出現頻度となる。
【手続補正５】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
多気筒内燃機関の排気系に設けられた排気浄化触媒の上流側と下流側とに、排気成分から空燃比状態を検出するセンサをそれぞれ備え、
上流側センサの出力値に基づいて排気空燃比が目標空燃比となるように燃料供給量を制御するメインフィードバック制御と、
下流側センサの出力値に基づいて設定される補正量により燃料供給量を補正するサブフィードバック制御と、
前記下流側センサの出力値が所定値よりもリーンである状態の出現頻度が所定値以上の場合に、前記サブフィードバック制御における前記空燃比制御に対する補正量に限界を設定することにより、前記空燃比制御に対する補正量を調節する補正量ガード制御と、
前記上流側センサの出力値と実際の排気空燃比との定常的なずれに対応する学習値を、前記サブフィードバック制御における補正量の少なくとも一部を取り込むようにして算出すると共に、算出された学習値に基づいて燃料供給量を補正する学習制御と、
前記下流側センサの出力値に基づいて前記下流側センサの異常を検出するセンサ異常検出制御と、
前記上流側センサおよび下流側センサの出力値に基づいて気筒間の空燃比インバランスを判定するインバランス判定制御と、
を実行する内燃機関の空燃比制御装置であって、
前記下流側センサの出力値が所定値よりもリーンである状態の継続時間が所定時間未満の場合には、前記学習制御において前記サブフィードバック制御における補正量を学習値に取り込む取り込み速度を第１の速度に設定し、
前記継続時間が前記所定時間以上である場合には、前記取り込み速度を、前記第１の速度よりも大きい第２の速度に設定し、且つ、前記学習制御の完了までの間にわたり前記補正量ガード制御の実行を抑制することを特徴とする内燃機関の空燃比制御装置。
【請求項２】
請求項１に記載の内燃機関の空燃比制御装置であって、
前記学習制御の完了後に、前記補正量ガード制御の実行の抑制を解除することを特徴とする内燃機関の空燃比制御装置。
【手続補正書】
【提出日】平成26年8月22日(2014.8.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
ステップＳ１８２で肯定、すなわちＯ2センサ１８のリーン出力の継続時間が所定値以上である場合には、サブフィードバック学習促進要求フラグがオンされる（Ｓ１８３）。このサブフィードバック学習促進要求フラグは、サブフィードバック学習促進要求があったこと、及び促進状態によるサブフィードバック学習が完了していないことを示す。そして、当該フラグがオンされている場合には、上述したガード値設定処理（図１０）におけるモニタ条件が成立せず、したがって、ガード値設定処理の実行が禁止される。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１１１
【補正方法】変更
【補正の内容】
【０１１１】
次に、促進中のサブフィードバック学習の実施回数がカウントされ（Ｓ１８５）、当該カウントは学習実施回数が所定値以上になるまで繰り返される（Ｓ１８６）。そして学習実施回数が所定値以上になると、ステップＳ１８６で肯定されて処理がステップＳ１８７に移行し、上述したサブフィードバック促進要求フラグがオフされる。このため、当該フラグがオフされていることを条件としている上述したガード値設定処理（図１０）におけるモニタ条件が成立し、したがって、以後におけるガード値設定処理の実行が許容される。したがって、Ｏ2センサ１８の素子割れが生じている場合には、ガード値設定処理の実行により補正量ガード制御を有効にすることができ、素子割れ状態での過度なリッチ化に起因するエミッションの悪化を抑制できる。