(57)【要約】【課題】空燃比センサの検出値の基準値からのずれを把握できるようにした内燃機関の制御装置を提供する。【解決手段】ＣＰＵ６２は、下流側空燃比センサ７６の検出値Ａｆｄが理論空燃比よりもリーンとなる場合、上流側空燃比センサ７４の検出値Ａｆｕを理論空燃比よりもリッチな目標値にフィードバック制御する。ＣＰＵ６２は、リッチな目標値に制御しているときの検出値Ａｆｄの移動平均処理に基づき、下流側空燃比センサ７６の検出値Ａｆｄの基準値からのずれ量を示すずれ量表現値を算出する。【選択図】図１
2020067071.tif 000002
【特許請求の範囲】
【請求項１】
燃料噴射弁と、排気通路に設けられた酸素吸蔵能力を有する触媒と、前記排気通路のうちの前記触媒の下流側に設けられた空燃比センサと、を備える内燃機関に適用され、
前記触媒の酸素吸蔵量が所定量以上となっているときに開始される、前記燃料噴射弁を操作して酸素と過不足なく反応する量以上の未燃燃料を含む流体を前記触媒に流入させる流入処理と、
前記流入処理がなされているときの前記空燃比センサの検出値に基づき、前記空燃比センサの検出値のずれ量を示すずれ量表現値を算出するずれ量算出処理と、を実行し、
前記ずれ量算出処理は、流入処理がなされているときの前記空燃比センサの複数の検出値の平均処理によって前記ずれ量を算出する処理である内燃機関の制御装置。
【請求項２】
前記平均処理は、指数移動平均処理を含み、
前記指数移動平均処理の実行回数が小さい場合に大きい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する請求項１記載の内燃機関の制御装置。
【請求項３】
前記平均処理は、指数移動平均処理を含み、
前記ずれ量の算出に用いる前記検出値のサンプリング数が小さい場合に大きい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する請求項１または２記載の内燃機関の制御装置。
【請求項４】
前記平均処理は、指数移動平均処理を含み、
前記ずれ量表現値が示すずれ量と前記検出値が示すずれ量との差の絶対値が所定以上となる場合、当該検出値の前記指数移動平均処理への寄与率を低下させる低下処理を実行する請求項１〜３のいずれか１項に記載の内燃機関の制御装置。
【請求項５】
前記流入処理は、前記空燃比センサの検出値が理論空燃比よりもリーンであることを示すリーン判定値以上であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の酸素と過不足なく反応する量よりも多い未燃燃料を含むように制御する処理であり、
前記空燃比センサの検出値が理論空燃比よりもリッチであることを示すリッチ判定値以下であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の未燃燃料と過不足なく反応する量よりも多い量の酸素を含むように制御するリーン制御処理を実行し、
前記ずれ量算出処理は、
前記流入処理がなされている一度の期間における複数の前記検出値の単純平均処理値を算出する単純平均処理と、
前記流入処理および前記リーン制御処理の実行される周期に応じて、前記単純平均処理値の指数移動平均処理によって前記ずれ量表現値を更新する更新処理と、を含む請求項１〜４のいずれか１項に記載の内燃機関の制御装置。
【請求項６】
前記単純平均処理に用いる前記検出値のサンプリング数が小さい場合に大きい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する請求項５記載の内燃機関の制御装置。
【請求項７】
前記指数移動平均処理の入力となる前記単純平均処理値と指数移動平均処理値との差の絶対値が大きい場合に小さい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する請求項５または６記載の内燃機関の制御装置。
【請求項８】
前記流入処理は、前記空燃比センサの検出値が理論空燃比よりもリーンであることを示すリーン判定値以上であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の酸素と過不足なく反応する量よりも多い未燃燃料を含むように制御する処理であり、
前記空燃比センサの検出値が理論空燃比よりもリッチであることを示すリッチ判定値以下であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の未燃燃料と過不足なく反応する量よりも多い量の酸素を含むように制御するリーン制御処理と、
前記ずれ量表現値を前記リーン制御処理に反映させるずれ量反映処理と、を実行し、
前記ずれ量反映処理は、前記ずれ量表現値がリーン側のずれ量である場合、前記ずれ量表現値の前記リーン制御処理への反映前よりも前記流入処理から前記リーン制御処理への切り替えタイミングを早める処理を含む請求項１〜７のいずれか１項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、燃料噴射弁と、排気通路に設けられた酸素吸蔵能力を有する触媒と、前記排気通路のうちの前記触媒の下流側に設けられた空燃比センサと、を備える内燃機関に適用される内燃機関の制御装置に関する。
【背景技術】
【０００２】
排気通路のうち酸素吸蔵能力を有した触媒の上流側に設けられた上流側空燃比センサの検出値を目標値にフィードバック制御する空燃比フィードバック制御が周知である。また、下記特許文献１には、触媒の下流側に下流側空燃比センサを設け、下流側空燃比センサの検出値が理論空燃比よりもリーンである場合、上記目標値を理論空燃比よりもリッチとし、下流側空燃比センサの検出値が理論空燃比よりもリッチである場合、上記目標値を理論空燃比よりもリーンとする制御装置が記載されている（図１１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５９４９９５７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、下流側空燃比センサの個体差や経年劣化、温度特性等により、下流側空燃比センサの検出値がずれることがある。そして、たとえば、ずれを生じたまま上記装置のように目標値を切り替える制御をしている場合、触媒中の酸素吸蔵量を適切な値に保つことができず、触媒による排気浄化能力が低下するおそれがあるなど、ずれに対処できない場合には不都合が生じうる。
【課題を解決するための手段】
【０００５】
以下、上記課題を解決するための手段およびその作用効果について記載する。
１．燃料噴射弁と、排気通路に設けられた酸素吸蔵能力を有する触媒と、前記排気通路のうちの前記触媒の下流側に設けられた空燃比センサと、を備える内燃機関に適用され、前記触媒の酸素吸蔵量が所定量以上となっているときに開始される、前記燃料噴射弁を操作して酸素と過不足なく反応する量以上の未燃燃料を含む流体を前記触媒に流入させる流入処理と、前記流入処理がなされているときの前記空燃比センサの検出値に基づき、前記空燃比センサの検出値のずれ量を示すずれ量表現値を算出するずれ量算出処理と、を実行し、前記ずれ量算出処理は、流入処理がなされているときの前記空燃比センサの複数の検出値の平均処理によって前記ずれ量を算出する処理である内燃機関の制御装置である。
【０００６】
触媒の酸素吸蔵量が所定量以上の状態で上記所定の流体が触媒に流入する場合、所定の流体が酸素と過不足なく反応する量よりも多い未燃燃料を含んでいたとしても、触媒に吸蔵されている酸素と反応することにより、触媒の下流に流出する未燃燃料は無視しうる。また、所定の流体中の酸素量は、所定の流体中の未燃燃料と過不足なく反応する量以下のため、触媒の下流に流出する酸素量も無視できる。したがって、上記構成のように、酸素吸蔵量が所定量以上となっているときに流入処理を開始することにより、触媒の下流に流出する流体中の酸素量および未燃燃料量は無視しうる。したがって、そのときの空燃比センサが晒される流体は、燃焼対象となる混合気の空燃比が理論空燃比である場合のものと同等となる。したがって、燃焼対象となる混合気の空燃比が理論空燃比である場合に想定される検出値からのずれ量に基づき、ずれ量表現値を算出することができる。このため、上記構成では、空燃比センサの検出値のずれを把握でき、ひいてはずれに対処することができる。
【０００７】
特に上記構成では、検出値の平均処理によってずれ量表現値を算出することから、ずれ量表現値から個々の検出値のノイズの影響を低減できる。
２．前記平均処理は、指数移動平均処理を含み、前記指数移動平均処理の実行回数が小さい場合に大きい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する上記１記載の内燃機関の制御装置である。
【０００８】
指数移動平均処理の実行回数が小さい場合には大きい場合と比較して、指数移動平均処理値に対する個々の検出値の寄与率が大きいことから、個々の検出値が含むノイズが指数移動平均処理値に及ぼす影響についても大きくなる懸念がある。そこで上記構成では、実行回数が小さい場合に大きい場合よりも平滑化係数を小さくすることにより、実行回数が小さいときの個々の検出値のずれ量表現値への寄与率を小さくすることにより、個々の検出値が含むノイズが指数移動平均処理値に及ぼす影響を抑制できる。
【０００９】
３．前記平均処理は、指数移動平均処理を含み、前記ずれ量の算出に用いる前記検出値のサンプリング数が小さい場合に大きい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する上記１または２記載の内燃機関の制御装置である。
【００１０】
検出値のサンプリング数が小さい場合には大きい場合と比較して、指数移動平均処理値に対する個々の検出値の寄与率が大きいことから、個々の検出値が含むノイズが指数移動平均処理値に及ぼす影響についても大きくなる懸念がある。そこで上記構成では、サンプリング数が小さい場合に大きい場合よりも平滑化係数を小さくすることにより、サンプリング数が小さいときの個々の検出値のずれ量表現値への寄与率を小さくすることにより、個々の検出値が含むノイズが指数移動平均処理値に及ぼす影響を抑制できる。
【００１１】
４．前記平均処理は、指数移動平均処理を含み、前記ずれ量表現値が示すずれ量と前記検出値が示すずれ量との差の絶対値が所定以上となる場合、当該検出値の前記指数移動平均処理への寄与率を低下させる低下処理を実行する上記１〜３のいずれか１つに記載の内燃機関の制御装置である。
【００１２】
ずれ量表現値が示すずれ量と検出値が示すずれ量との差の絶対値が大きい場合には、検出値は偶発的なノイズの影響が大きい値となっているおそれがある。そこで上記構成では、同差の絶対値が大きい場合、その検出値の指数移動平均処理への寄与率を低下させることにより、ずれ量表現値へのノイズの影響を抑制できる。
【００１３】
５．前記流入処理は、前記空燃比センサの検出値が理論空燃比よりもリーンであることを示すリーン判定値以上であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の酸素と過不足なく反応する量よりも多い未燃燃料を含むように制御する処理であり、前記空燃比センサの検出値が理論空燃比よりもリッチであることを示すリッチ判定値以下であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の未燃燃料と過不足なく反応する量よりも多い量の酸素を含むように制御するリーン制御処理を実行し、前記ずれ量算出処理は、前記流入処理がなされている一度の期間における複数の前記検出値の単純平均処理値を算出する単純平均処理と、前記流入処理および前記リーン制御処理の実行される周期に応じて、前記単純平均処理値の指数移動平均処理によって前記ずれ量表現値を更新する更新処理と、を含む上記１〜４のいずれか１つに記載の内燃機関の制御装置である。
【００１４】
検出値がリーン判定値以上となる場合、酸素の吸蔵量が所定量以上であるとみなせるため、上記構成では、リーン判定値以上となることをトリガとして流入処理を実行する。また、上記構成では、単純平均処理および指数移動平均処理の双方を実行することにより、いずれか一方のみとする場合と比較してノイズの影響をより適切に除去することができる。
【００１５】
６．前記単純平均処理に用いる前記検出値のサンプリング数が小さい場合に大きい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する上記５記載の内燃機関の制御装置である。
【００１６】
単純平均処理に用いる検出値のサンプリング数が小さい場合には大きい場合と比較して、単純平均処理への個々の検出値の寄与率が大きいことから、個々の検出値に含まれるノイズの影響も大きくなる。そこで上記構成では、単純平均処理に用いる検出値のサンプリング数が小さい場合に平滑化係数を小さくすることにより、指数移動平均処理値への個々の検出値の寄与率を小さくし、ひいては個々の検出値に含まれるノイズがずれ量表現値に及ぼす影響を抑制できる。
【００１７】
７．前記指数移動平均処理の入力となる前記単純平均処理値と指数移動平均処理値との差の絶対値が大きい場合に小さい場合よりも前記指数移動平均処理の平滑化係数を小さくする係数可変処理を実行する上記５または６記載の内燃機関の制御装置である。
【００１８】
単純平均処理値と指数移動平均処理値との差が大きい場合には小さい場合よりも個々の検出値が安定した値を示さずノイズ等の影響が大きい傾向がある。そこで上記構成では、単純平均処理値と指数移動平均処理値との差が大きい場合には小さい場合よりも平滑化係数を小さくすることにより、１つの単純平均処理による指数移動平均処理値の更新量を小さくすることができ、ひいては個々の検出値に含まれるノイズが指数移動平均処理によって算出されるずれ量表現値に及ぼす影響を抑制できる。
【００１９】
８．前記流入処理は、前記空燃比センサの検出値が理論空燃比よりもリーンであることを示すリーン判定値以上であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の酸素と過不足なく反応する量よりも多い未燃燃料を含むように制御する処理であり、前記空燃比センサの検出値が理論空燃比よりもリッチであることを示すリッチ判定値以下であることをトリガとして、前記燃料噴射弁を操作することによって、前記触媒に流入する流体を、該流体中の未燃燃料と過不足なく反応する量よりも多い量の酸素を含むように制御するリーン制御処理と、前記ずれ量表現値を前記リーン制御処理に反映させるずれ量反映処理と、を実行し、前記ずれ量反映処理は、前記ずれ量表現値がリーン側のずれ量である場合、前記ずれ量表現値の前記リーン制御処理への反映前よりも前記流入処理から前記リーン制御処理への切り替えタイミングを早める処理を含む上記１〜７のいずれか１つに記載の内燃機関の制御装置である。
【００２０】
検出値がリーン判定値以上となる場合、酸素の吸蔵量が所定量以上であるとみなせるため、上記構成では、リーン判定値以上となることをトリガとして流入処理を実行する。
ところで、空燃比センサの検出値がリーン側にずれている場合にはずれていない場合と比較して検出値が所定値よりもリッチとなるタイミングが遅れる。そこで、上記構成では、ずれ量反映処理を実行することにより、空燃比センサの検出値がリーン側にずれている場合であっても、空燃比センサの検出値がずれていない場合にリーン制御処理に切り替えるタイミングにより近いタイミングにおいてリーン制御処理に切り替えることができる。
【図面の簡単な説明】
【００２１】
【図１】第１の実施形態にかかる制御装置および車両の駆動系を示す図。
【図２】同実施形態にかかる制御装置が実行する処理を示すブロック図。
【図３】同実施形態にかかるサブフィードバック処理の手順を示す流れ図。
【図４】同実施形態にかかるストイキ点算出処理の手順を示す流れ図。
【図５】同実施形態にかかるストイキ点の算出のための検出値のサンプリング手法を説明するタイムチャート。
【図６】第２の実施形態にかかるストイキ点算出処理の手順を示す流れ図。
【図７】第３の実施形態にかかるストイキ点算出処理の手順を示す流れ図。
【図８】第４の実施形態にかかるストイキ点算出処理の手順を示す流れ図。
【図９】第５の実施形態にかかるストイキ点算出処理の手順を示す流れ図。
【発明を実施するための形態】
【００２２】
＜第１の実施形態＞
以下、内燃機関の制御装置にかかる第１の実施形態について図面を参照しつつ説明する。
【００２３】
図１に示す内燃機関１０において、吸気通路１２から吸入された空気は、気筒＃１〜＃４のそれぞれの燃焼室１４に流入する。燃焼室１４において、燃料噴射弁１６から噴射された燃料と吸気通路１２から流入した空気との混合気は、点火装置１８の火花放電によって燃焼に供され、燃焼によって生じたエネルギは、クランク軸２０の回転エネルギに変換される。燃焼に供された混合気は、排気として排気通路２２に排出される。排気通路２２には、上流側の三元触媒２４および下流側の三元触媒２６が設けられている。なお、三元触媒２４，２６は、いずれも酸素吸蔵能力を有する。
【００２４】
クランク軸２０は、動力分割機構を構成する遊星歯車機構３０のキャリアＣに機械的に連結されている。遊星歯車機構３０のサンギアＳにはモータジェネレータ３２の回転軸３２ａが機械的に連結されており、遊星歯車機構３０のリングギアＲには、モータジェネレータ３４の回転軸３４ａと駆動輪３６とが機械的に連結されている。これにより、本実施形態における内燃機関１０は、シリーズ・パラレルハイブリッド車における駆動源の１つとなっている。
【００２５】
モータジェネレータ３２には、インバータ４０を介してバッテリ４４の電力が供給され、モータジェネレータ３４には、インバータ４２を介してバッテリ４４の電力が供給される。
【００２６】
ＥＣＵ５０は、モータジェネレータ３２，３４を制御対象としてそれらの制御量であるトルクや回転速度を制御する処理に加えて、内燃機関１０およびモータジェネレータ３２，３４を制御対象としてそれらの協働で要求される出力を生成するための処理を実行する制御装置である。
【００２７】
制御装置６０は、内燃機関１０を制御対象とし、その制御量であるトルクや排気成分比率等を制御すべく、燃料噴射弁１６や点火装置１８等の内燃機関１０の操作部を操作する。すなわち、たとえば燃料噴射弁１６に操作信号ＭＳ１を出力して燃料噴射弁１６を操作し、点火装置１８に操作信号ＭＳ２を出力して点火装置１８を操作する。
【００２８】
制御装置６０は、制御量の制御のために、エアフローメータ７０によって検出される吸入空気量Ｇａやクランク角センサ７２の出力信号Ｓｃｒ、三元触媒２４の上流側に設けられた上流側空燃比センサ７４による検出値Ａｆｕを参照する。また、制御装置６０は、三元触媒２４の下流側であって三元触媒２６の上流側に設けられた下流側空燃比センサ７６による検出値Ａｆｄや、水温センサ７８によって検出される内燃機関１０の冷却水の温度（水温ＴＨＷ）を参照する。なお、上流側空燃比センサ７４や下流側空燃比センサ７６は、Ｚ特性を有するいわゆる酸素センサではなく、排気中の未燃燃料量を超過する酸素量が多くなるほど検出値をリニアに大きい値とするセンサである。また、制御装置６０は、通信線８０を介してＥＣＵ５０と通信する機能を有する。
【００２９】
制御装置６０は、ＣＰＵ６２、ＲＯＭ６４、および周辺回路６６を備え、それらが通信線６８によって接続されたものである。周辺回路６６は、内部の動作を規定するクロック信号を生成する回路や、電源回路、リセット回路等を含む。
【００３０】
図２に、制御装置６０が実行する処理を示す。図２に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が実行することにより実現される。
ベース噴射量算出処理Ｍ１０は、充填効率ηに基づき、燃焼室１４内の混合気の空燃比を目標空燃比とするための燃料量のベース値であるベース噴射量Ｑｂを算出する処理である。詳しくは、ベース噴射量算出処理Ｍ１０は、たとえば充填効率ηが百分率で表現される場合、空燃比を目標空燃比とするための充填効率ηの１％当たりの燃料量ＱＴＨに、充填効率ηを乗算することによりベース噴射量Ｑｂを算出する処理とすればよい。ベース噴射量Ｑｂは、燃焼室１４内に充填される空気量に基づき、空燃比を目標空燃比に制御するために算出された燃料量である。ちなみに、本実施形態において、目標空燃比は、理論空燃比である。なお、充填効率ηは、ＣＰＵ６２により、吸入空気量Ｇａおよび回転速度ＮＥに基づき算出される。また、回転速度ＮＥは、ＣＰＵ６２により、出力信号Ｓｃｒに基づき算出される。
【００３１】
メインフィードバック処理Ｍ１２は、上流側空燃比センサ７４の検出値Ａｆｕを目標値Ａｆｕ＊にフィードバック制御するための操作量であるフィードバック操作量としてのベース噴射量Ｑｂの補正比率δに「１」を加算したフィードバック補正係数ＫＡＦを算出して出力する処理である。詳しくは、メインフィードバック処理Ｍ１２は、検出値Ａｆｕと目標値Ａｆｕ＊との差を入力とする比例要素および微分要素の各出力値と、同差に応じた値の積算値を保持し出力する積分要素の出力値との和を補正比率δとする。
【００３２】
サブフィードバック処理Ｍ１４は、下流側空燃比センサ７６の検出値Ａｆｄに基づき、三元触媒２４の酸素吸蔵量を調整するために目標値Ａｆｕ＊を操作する処理である。
低温補正処理Ｍ１６は、水温ＴＨＷが所定温度Ｔｔｈ（たとえば６０℃）未満の場合、ベース噴射量Ｑｂを増量すべく、低温増量係数Ｋｗを「１」よりも大きい値に算出する処理である。詳しくは、低温増量係数Ｋｗは、水温ＴＨＷが低い場合に高い場合よりも大きい値に算出される。なお、水温ＴＨＷが所定温度Ｔｔｈ以上の場合には、低温増量係数Ｋｗは「１」とされ、低温増量係数Ｋｗによるベース噴射量Ｑｂの補正量をゼロとする。
【００３３】
要求噴射量算出処理Ｍ１８は、ベース噴射量Ｑｂに、フィードバック補正係数ＫＡＦおよび低温増量係数Ｋｗを乗算することによって、１燃焼サイクルにおいて要求される燃料量（要求噴射量Ｑｄ）を算出する処理である。
【００３４】
噴射弁操作処理Ｍ２０は、燃料噴射弁１６を操作すべく、燃料噴射弁１６に操作信号ＭＳ１を出力する処理である。特に、噴射弁操作処理Ｍ２０は、燃料噴射弁１６から１燃焼サイクル内に要求噴射量Ｑｄの燃料を噴射させる処理である。
【００３５】
ストイキ点算出処理Ｍ２２は、燃焼室１４において燃焼対象とされる混合気の空燃比が理論空燃比である場合における下流側空燃比センサ７６の検出値Ａｆｄをストイキ点ＡｆＬとして算出する処理である。
【００３６】
図３に、サブフィードバック処理Ｍ１４の手順を示す。図３に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「Ｓ」が付与された数字によって、各処理のステップ番号を表現する。
【００３７】
図３に示す一連の処理において、ＣＰＵ６２は、まず、後述するリーン判定フラグＦｌが「１」であるか否かを判定する（Ｓ１０）。ＣＰＵ６２は、「１」であると判定する場合（Ｓ１０：ＹＥＳ）、検出値Ａｆｄが、ストイキ基準値Ａｆｓからリッチ側サブオフセット量εｒを減算した値以下であるか否かを判定する（Ｓ１２）。ここで、ストイキ基準値Ａｆｓは、燃焼室１４にて燃焼対象となる混合気の空燃比が理論空燃比である場合における下流側空燃比センサ７６の検出値の基準値（基準となる空燃比センサの検出値）である。Ｓ１２の処理は、三元触媒２４の下流に流出する流体中の未燃燃料の流量が増加しつつあるか否かを判定する処理である。
【００３８】
ＣＰＵ６２は、ストイキ基準値Ａｆｓからリッチ側サブオフセット量εｒを減算した値以下であると判定する場合（Ｓ１２：ＹＥＳ）、リーン判定フラグＦｌに「０」を代入し、リッチ判定フラグＦｒに「１」を代入する（Ｓ１４）。
【００３９】
次にＣＰＵ６２は、ストイキ基準値Ａｆｓにリーン側メインオフセット量δｌを加算した値を目標値Ａｆｕ＊に代入する（Ｓ１６）。
一方、ＣＰＵ６２は、リーン判定フラグＦｌが「０」であると判定する場合（Ｓ１０：ＮＯ）、検出値Ａｆｄが、ストイキ基準値Ａｆｓにリーン側サブオフセット量εｌを加算した値以上であるか否かを判定する（Ｓ１８）。この処理は、三元触媒２４による酸素の吸蔵量が最大値ＯＳｍａｘに近づくことによって三元触媒２４の下流に流出する流体中の酸素の流量が増加しつつあるか否かを判定する処理である。ＣＰＵ６２は、ストイキ基準値Ａｆｓにリーン側サブオフセット量εｌを加算した値未満であると判定する場合（Ｓ１８：ＮＯ）、Ｓ１６の処理に移行する。
【００４０】
これに対しＣＰＵ６２は、ストイキ基準値Ａｆｓにリーン側サブオフセット量εｌを加算した値以上であると判定する場合（Ｓ１８：ＹＥＳ）、リーン判定フラグＦｌを「１」とし、リッチ判定フラグＦｒを「０」とする（Ｓ２０）。
【００４１】
ＣＰＵ６２は、Ｓ２０の処理が完了する場合や、Ｓ１２の処理において否定判定する場合には、ストイキ基準値Ａｆｓからリッチ側メインオフセット量δｒを減算した値を目標値Ａｆｕ＊に代入する（Ｓ２２）。
【００４２】
ちなみに、リッチ側サブオフセット量εｒ、リーン側サブオフセット量εｌ、リッチ側メインオフセット量δｒ、およびリーン側メインオフセット量δｌは、Ｓ１６の処理およびＳ２２の処理の一周期によって、三元触媒２４の酸素吸蔵量が正味変化しないことを狙った値とされている。
【００４３】
なお、ＣＰＵ６２は、Ｓ１６，Ｓ２２の処理が完了する場合には、図３に示す一連の処理を一旦終了する。
図４に、ストイキ点算出処理Ｍ２２の手順を示す。図４に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２がたとえば所定周期で繰り返し実行することにより実現される。
【００４４】
図４に示す一連の処理において、ＣＰＵ６２は、まず、以下の条件（ア）〜条件（オ）の論理積が真であるか否かを判定する（Ｓ３０）。
条件（ア）：充填効率ηの所定期間における変化量Δηの絶対値が所定量Δηｔｈ以下である旨の条件である。ここで、所定期間は、たとえば図４に示す一連の処理の周期とすればよく、その場合、変化量Δηは、充填効率ηに関する図４に示す一連の処理の今回の実行時におけるサンプリング値（今回値）と、前回の実行時におけるサンプリング値（前回値）との差とすればよい。この条件は、三元触媒２４に流入する流体の所定期間における変化量の絶対値が所定量以下である旨の条件となる。この条件は、三元触媒２４に流入する流体の変化量の絶対値が大きい場合には小さい場合よりも検出値Ａｆｄが変動しやすいことに鑑みて設けられた条件である。
【００４５】
条件（イ）：吸入空気量Ｇａの所定期間における変化量ΔＧａの絶対値が所定量ΔＧａｔｈ以下である旨の条件である。ここで、所定期間は、たとえば図４に示す一連の処理の周期とすればよく、その場合、変化量ΔＧａは、吸入空気量Ｇａに関する今回値と前回値との差とすればよい。この条件は、三元触媒２４に流入する流体の所定期間における変化量の絶対値が所定量以下である旨の条件となる。
【００４６】
条件（ウ）：水温ＴＨＷが所定温度Ｔｔｈ以上である旨の条件である。この条件は、開ループ操作量としての低温増量係数Ｋｗによる空燃比の誤差の影響がストイキ点ＡｆＬの算出に及ぶことを回避するための条件である。
【００４７】
条件（エ）：内燃機関１０の始動からの吸入空気量Ｇａの積算値ＩｎＧが所定値ＩｎＧｔｈ以上である旨の条件である。この条件は、三元触媒２４が活性温度となっている旨の条件である。
【００４８】
条件（オ）：吸入空気量Ｇａが下限値ＧａＬ以上であって上限値ＧａＨ以下である旨の条件である。ここで、上限値ＧａＨは、Ｓ２２の処理の継続期間が過度に短くならない上限値に設定されている。また、下限値ＧａＬは、アイドリング時等の値に設定されている。
【００４９】
ＣＰＵ６２は、上記条件（ア）〜条件（オ）の論理積が真であると判定する場合（Ｓ３０：ＹＥＳ）、リーン判定フラグＦｌが「０」から「１」に切り替わった時点であるか否かを判定する（Ｓ３２）。ＣＰＵ６２は、図４に示す一連の処理の前回の実行時におけるリーン判定フラグＦｌの値が「０」であり、今回の実行時におけるリーン判定フラグＦｌの値が「１」であると判定する場合（Ｓ３２：ＹＥＳ）、許可フラグＦｐに「１」を代入する（Ｓ３４）。
【００５０】
ＣＰＵ６２は、Ｓ３４の処理を完了する場合やＳ３２の処理において否定判定する場合には、以下の条件（カ）〜条件（ク）の論理積が真であるか否かを判定する（Ｓ３６）。
条件（カ）：リーン判定フラグＦｌが「１」である旨の条件である。この処理は、三元触媒２４に吸蔵されている酸素量が所定量以上であるとみなせる状態で三元触媒２４に流入する流体中の未燃燃料量が、同未燃燃料と過不足なく反応する酸素量よりも多い状況である旨の条件である。すなわち、リーン判定フラグＦｌは、検出値Ａｆｄがストイキ基準値Ａｆｓよりもリーン側サブオフセット量εｌ以上大きくなったことをトリガとして「１」とされることから、リーン判定フラグＦｌが「１」となるときには、三元触媒２４に十分な酸素が吸蔵されているとみなせる。そして、リーン判定フラグＦｌが「１」となることによってＳ２２の処理がなされる場合、三元触媒２４に流入する流体は、同流体中の酸素と過不足なく反応する未燃燃料量よりも大きい量の未燃燃料を含む。
【００５１】
条件（キ）：検出値Ａｆｄの今回値と前回値との差の絶対値が規定量ΔＡｆｄ以下である旨の条件である。なお、図４においては、今回値を「ｎ」にて示し、前回値を「ｎ−１」にて示した。
【００５２】
この条件は、三元触媒２４の下流に流出する流体中の酸素量および未燃燃料量が無視できるほど小さい状況である旨の条件である。すなわち、Ｓ２２の処理が開始された後、上流側空燃比センサ７４の検出値ＡｆｕがＳ２２の処理によって定めた目標値Ａｆｕ＊となるまでには時間を要し、その間、三元触媒２４に流入する流体中の酸素量が減少していく。そのため、その期間においては、三元触媒２４の下流に流出する流体中の酸素量が漸減し、検出値Ａｆｄの変化量も比較的大きくなる。その後、上流側空燃比センサ７４の検出値ＡｆｕがＳ２２の処理によって定めた目標値Ａｆｕ＊に収束して安定すると、下流側空燃比センサ７６の検出値Ａｆｄの変化量の絶対値も小さくなる。条件（キ）は、この時点を特定する。
【００５３】
条件（ク）：許可フラグＦｐが「１」である旨の条件である。
ＣＰＵ６２は、上記条件（カ）〜条件（ク）の論理積が真であると判定する場合（Ｓ３６：ＹＥＳ）、検出値Ａｆｄの積算値ＩｎＡｆｄに今回のサンプリング値を加算することによって積算値ＩｎＡｆｄを更新するとともに、検出値Ａｆｄの積算回数Ｎをインクリメントする（Ｓ３８）。ＣＰＵ６２は、Ｓ３８の処理を完了する場合や、Ｓ３６の処理において否定判定する場合には、積算回数Ｎが基準回数ＮＨ以上であるか否かを判定する（Ｓ４０）。この処理は、積算値ＩｎＡｆｄを用いてストイキ点ＡｆＬを更新してよいか否かを判定するための処理である。
【００５４】
ＣＰＵ６２は、基準回数ＮＨ以上であると判定する場合（Ｓ４０：ＹＥＳ）、検出値Ａｆｄの単純平均処理値を算出すべく、積算値ＩｎＡｆｄを積算回数Ｎで除算した値を平均値Ａｆｄａｖｅに代入する（Ｓ４２）。次に、ＣＰＵ６２は、平均値Ａｆｄａｖｅの指数移動平均処理によって、ストイキ点ＡｆＬを算出する（Ｓ４４）。ここでは、「０」よりも大きく「１」よりも小さい値を有した平滑化係数αを用いて、平均値Ａｆｄａｖｅに平滑化係数αを乗算した値と、ストイキ点ＡｆＬに「１−α」を乗算した値との和によって、ストイキ点ＡｆＬを更新する。なお、ストイキ点ＡｆＬの初期値は、たとえばストイキ基準値Ａｆｓとすればよい。
【００５５】
次にＣＰＵ６２は、ストイキ点ＡｆＬからストイキ基準値Ａｆｓを減算した値を、リッチ側サブオフセット量εｒの初期値εｒ０から減算するとともに、リーン側サブオフセット量εｌの初期値εｌ０に加算することによって、リッチ側サブオフセット量εｒおよびリーン側サブオフセット量εｌを更新する（Ｓ４６）。なお、ストイキ点ＡｆＬが算出されていないときには、図３の処理において、リッチ側サブオフセット量εｒに初期値εｒ０を代入し、リーン側サブオフセット量εｌに初期値εｌ０を代入すればよい。
【００５６】
そして、ＣＰＵ６２は、積算回数Ｎ、積算値ＩｎＡｆｄを初期化するとともに、許可フラグＦｐに「０」を代入する（Ｓ４８）。
一方、ＣＰＵ６２は、Ｓ４０の処理において否定判定する場合、検出値Ａｆｄの今回値から前回値を減算した値が、負の規定量ΔＡｆｄＭよりも小さいか否かを判定する（Ｓ５０）。この処理は、三元触媒２４による酸素の吸蔵量が少なくなり、三元触媒２４に流入する流体中の未燃燃料が三元触媒２４に吸蔵されている酸素によって十分に酸化されなくなったか否かを判定するための処理である。なお、本実施形態では、規定量ΔＡｆｄＭの絶対値は、規定量ΔＡｆｄと等しい値とする。そしてＣＰＵ６２は、規定量ΔＡｆｄＭよりも小さいと判定する場合（Ｓ５０：ＹＥＳ）、積算回数Ｎが基準値ＮＨよりも小さい下限値ＮＬ以上であるか否かを判定する（Ｓ５２）。下限値ＮＬは、積算値ＩｎＡｆｄをストイキ点ＡｆＬに反映してよい下限値に設定されている。
【００５７】
ＣＰＵ６２は、下限値ＮＬ以上であると判定する場合（Ｓ５２：ＹＥＳ）、Ｓ４２の処理に移行する一方、下限値ＮＬ未満であると判定する場合（Ｓ５２：ＮＯ）、Ｓ４８の処理に移行する。
【００５８】
なお、ＣＰＵ６２は、Ｓ３０，Ｓ５０の処理において否定判定する場合や、Ｓ４８の処理を完了する場合には、図４に示す一連の処理を一旦終了する。
ここで、本実施形態の作用および効果について説明する。
【００５９】
図５に、下流側空燃比センサ７６の検出値Ａｆｄの推移を示す。時刻ｔ１に、検出値Ａｆｄがストイキ基準値Ａｆｓをリーン側サブオフセット量εｌ以上上回ることをトリガとして、ＣＰＵ６２は、目標値Ａｆｕ＊を理論空燃比よりもリッチ側とする（Ｓ２２）。これにより、燃焼室１４内で燃焼対象となる混合気の空燃比が理論空燃比よりもリッチとされることから、三元触媒２４に流入する流体は、同流体中の酸素と過不足なく反応する未燃燃料量よりも多量の未燃燃料を含むようになる。この多量の未燃燃料は、三元触媒２４に吸蔵されている酸素によって酸化されることから、三元触媒２４から下流に流出する流体中の酸素量および未燃燃料量は無視しうる量となる。ＣＰＵ６２は、このことを、Ｓ３６の処理において検出値Ａｆｄの変化量の絶対値が小さくなることによって検知し（時刻ｔ２）、検出値Ａｆｄをサンプリングして、それらサンプリング値に基づきストイキ点ＡｆＬを算出する（Ｓ３８〜Ｓ４４）。特に、本実施形態では、複数の検出値Ａｆｄの平均処理によって、ストイキ点ＡｆＬを算出することにより、個々の検出値Ａｆｄに含まれるノイズがストイキ点ＡｆＬに及ぶことを抑制できる。
【００６０】
このストイキ点ＡｆＬは、燃焼対象とされる混合気が定常的に理論空燃比とされる場合に三元触媒２４の下流へと流出する流体に下流側空燃比センサ７６が晒された場合の下流側空燃比センサ７６の検出値となると考えられる。このため、ＣＰＵ６２では、ストイキ点ＡｆＬからストイキ基準値Ａｆｓを減算した値を、下流側空燃比センサ７６の検出値のストイキ基準値Ａｆｓからのずれ量であるとして、これに基づき、リッチ側サブオフセット量εｒおよびリーン側サブオフセット量εｌを更新する。これにより、下流側空燃比センサ７６の検出値のずれに起因して、Ｓ１６の処理とＳ２２の処理との一周期において三元触媒２４に流入する酸素と未燃燃料とのうちの一方が他方と互いに過不足なく反応する量よりも過剰となることを抑制できる。
【００６１】
ちなみに、本実施形態では、下流側空燃比センサ７６の検出値のずれが無視できるほど小さい場合、Ｓ１６の処理とＳ２２の処理との一周期における三元触媒２４における酸素吸蔵量の変動量が、最大値ＯＳｍａｘの数十％（たとえば１０％）以下となるように、リッチ側サブオフセット量εｒおよびリーン側サブオフセット量εｌを設定している。一方、下流側空燃比センサ７６の検出値Ａｆｄがずれている場合、燃焼対象となる混合気の空燃比が理論空燃比に対してずれたときに検出値Ａｆｄがストイキ基準値Ａｆｓとなる。そのため、仮に、ストイキ点ＡｆＬに基づきリッチ側サブオフセット量εｒおよびリーン側サブオフセット量εｌを更新しないなら、Ｓ１６の処理とＳ２２の処理とのうちのいずれか一方が過度に長くなり他方が過度に短くなる。そのため、Ｓ１６の処理とＳ２２の処理との一周期において三元触媒２４に流入する酸素と未燃燃料とのうちの一方が他方と互いに過不足なく反応する量よりも過剰となり、三元触媒２４の酸素吸蔵量が徐々に変化するおそれがある。そしてその場合、たとえばフューエルカット処理等が途中で実行されず、長時間の定常運転がなされる場合には、三元触媒２４の酸素吸蔵量がゼロに近づいたり最大値ＯＳｍａｘに近づいたりして、三元触媒２４による排気の浄化性能が低下するおそれがある。
【００６２】
＜第２の実施形態＞
以下、第２の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００６３】
図６に、本実施形態にかかるストイキ点算出処理Ｍ２２の手順を示す。図６に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が、たとえば所定周期で繰り返し実行することにより実現される。なお、図６において、図４に示した処理に対応する処理については、同一のステップ番号を付与してその説明を省略する。
【００６４】
図６に示す一連処理において、ＣＰＵ６２は、Ｓ４２の処理が完了する場合、平均値Ａｆｄａｖｅの指数移動平均処理によって、ストイキ点ＡｆＬを算出する際、平滑化係数αを、指数移動平均処理の実行回数ＬＮに応じて可変とする（Ｓ４４ａ）。すなわち、ＣＰＵ６２は、Ｓ４４ａの処理において、指数移動平均処理を実行する都度、実行回数ＬＮを「１」だけインクリメントし、実行回数ＬＮが小さい場合に大きい場合よりも平滑化係数αを小さい値に設定する。これは、検出値Ａｆｄに含まれるノイズがストイキ点ＡｆＬに及ぼす影響をより小さくするための設定である。
【００６５】
すなわち、ストイキ点ＡｆＬは、「α・Ａｆｄａｖｅ（ｎ）＋α・（１−α）・Ａｆｄａｖｅ（ｎ−１）＋…」と表現され、平滑化係数α等が乗算される平均値Ａｆｄａｖｅの個数は、実行回数ＬＮである。そのため、指数移動平均処理の実行回数ＬＮが小さい場合には大きい場合と比較して、ストイキ点ＡｆＬの算出に反映される平均値Ａｆｄａｖｅの個数が少ないため、ストイキ点ＡｆＬに対する過去の平均値Ａｆｄａｖｅの寄与率が大きい。このことから、当該平均値Ａｆｄａｖｅの算出に用いた個々の検出値Ａｆｄが含むノイズがストイキ点ＡｆＬに及ぼす影響についても大きくなる懸念がある。これに対し、本実施形態では、実行回数ＬＮが小さい場合に大きい場合よりも平滑化係数αを小さくすることにより、実行回数ＬＮが小さいときの個々の検出値Ａｆｄのストイキ点ＡｆＬへの寄与率を小さくすることにより、個々の検出値Ａｆｄが含むノイズがストイキ点ＡｆＬに及ぼす影響を抑制できる。
【００６６】
なお、ＣＰＵ６２は、Ｓ４４ａの処理が完了する場合、Ｓ４６の処理に移行する。
＜第３の実施形態＞
以下、第３の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００６７】
図７に、本実施形態にかかるストイキ点算出処理Ｍ２２の手順を示す。図７に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が、たとえば所定周期で繰り返し実行することにより実現される。なお、図７において、図４に示した処理に対応する処理については、同一のステップ番号を付与してその説明を省略する。
【００６８】
図７に示す一連処理において、ＣＰＵ６２は、Ｓ４２の処理が完了する場合、平均値Ａｆｄａｖｅの指数移動平均処理によって、ストイキ点ＡｆＬを算出する際、平滑化係数αを、積算回数Ｎに応じて可変とする（Ｓ４４ｂ）。詳しくは、ＣＰＵ６２は、積算回数Ｎが小さい場合に大きい場合よりも平滑化係数αを小さい値に設定する。これは、検出値Ａｆｄに含まれるノイズがストイキ点ＡｆＬに及ぼす影響をより小さくするための設定である。
【００６９】
すなわち、平均値Ａｆｄａｖｅは、検出値Ａｆｄに「１／Ｎ」を乗算した値の積算回数Ｎだけの和である。このため、積算回数Ｎが小さい場合には大きい場合と比較して、平均値Ａｆｄａｖｅに対する検出値Ａｆｄの寄与率が大きいことから、個々の検出値Ａｆｄが含むノイズがストイキ点ＡｆＬに及ぼす影響についても大きくなる懸念がある。これに対し、本実施形態では、積算回数Ｎが小さい場合に大きい場合よりも平滑化係数αを小さくすることにより、積算回数Ｎが小さいときの個々の検出値Ａｆｄのストイキ点ＡｆＬへの寄与率を小さくすることにより、個々の検出値Ａｆｄが含むノイズがストイキ点ＡｆＬに及ぼす影響を抑制できる。
【００７０】
なお、ＣＰＵ６２は、Ｓ４４ｂの処理が完了する場合、Ｓ４６の処理に移行する。
＜第４の実施形態＞
以下、第４の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００７１】
図８に、本実施形態にかかるストイキ点算出処理Ｍ２２の手順を示す。図８に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が、たとえば所定周期で繰り返し実行することにより実現される。なお、図８において、図４に示した処理に対応する処理については、同一のステップ番号を付与してその説明を省略する。
【００７２】
図８に示す一連処理において、ＣＰＵ６２は、Ｓ４２の処理が完了する場合、平均値Ａｆｄａｖｅの指数移動平均処理によって、ストイキ点ＡｆＬを算出する際、平滑化係数αを、ストイキ点ＡｆＬと平均値Ａｆｄａｖｅとの差の絶対値に応じて可変とする（Ｓ４４ｃ）。詳しくは、ＣＰＵ６２は、ストイキ点ＡｆＬと平均値Ａｆｄａｖｅとの差の絶対値が大きい場合に小さい場合よりも平滑化係数αを小さい値に設定する。これは、検出値Ａｆｄに含まれるノイズがストイキ点ＡｆＬに及ぼす影響をより小さくするための設定である。
【００７３】
すなわち、平均値Ａｆｄａｖｅとストイキ点ＡｆＬとの差の絶対値が大きい場合には小さい場合よりも個々の検出値Ａｆｄが安定した値を示さずノイズ等の影響が大きい傾向がある。そこで本実施形態では、平均値Ａｆｄａｖｅとストイキ点ＡｆＬとの差の絶対値が大きい場合には小さい場合よりも平滑化係数αを小さくすることにより、１つの平均値Ａｆｄａｖｅによるストイキ点ＡｆＬの更新量を小さくすることができる。そしてこれにより、個々の検出値Ａｆｄに含まれるノイズが指数移動平均処理によって算出されるストイキ点ＡｆＬに及ぼす影響を抑制できる。
【００７４】
なお、ＣＰＵ６２は、Ｓ４４ｃの処理が完了する場合、Ｓ４６の処理に移行する。
＜第５の実施形態＞
以下、第５の実施形態について、第１の実施形態との相違点を中心に図面を参照しつつ説明する。
【００７５】
図９に、本実施形態にかかるストイキ点算出処理Ｍ２２の手順を示す。図９に示す処理は、ＲＯＭ６４に記憶されたプログラムをＣＰＵ６２が、たとえば所定周期で繰り返し実行することにより実現される。なお、図９において、図４に示した処理に対応する処理については、同一のステップ番号を付与してその説明を省略する。
【００７６】
図９に示す一連処理において、ＣＰＵ６２は、Ｓ３６の処理において肯定判定する場合、検出値Ａｆｄとストイキ点ＡｆＬとの差の絶対値が規定量ΔＡｆｄＬ以上であるか否かを判定する（Ｓ３７）。ここで規定量ΔＡｆｄＬは、上記規定量ΔＡｆｄよりも小さい値に設定されている。そして、ＣＰＵ６２は、規定量ΔＡｆｄＬ未満であると判定する場合（Ｓ３７：ＮＯ）、Ｓ３８の処理に移行する一方、規定量ΔＡｆｄＬ以上であると判定する場合（Ｓ３７：ＹＥＳ）、Ｓ４０の処理に移行する。これは、検出値Ａｆｄに含まれるノイズがストイキ点ＡｆＬに及ぼす影響をより小さくするための設定である。
【００７７】
すなわち、すでに算出されているストイキ点ＡｆＬと検出値Ａｆｄとの差の絶対値が大きい場合には、検出値Ａｆｄは偶発的なノイズの影響が大きい値となっているおそれがある。これに対し本実施形態では、ストイキ点ＡｆＬと検出値Ａｆｄとの差の絶対値が大きい場合、その検出値ＡｆｄをＳ３８の積算処理の入力とせず、ストイキ点ＡｆＬへの寄与率をゼロとすることによって、ストイキ点ＡｆＬへのノイズの影響を抑制できる。
【００７８】
＜対応関係＞
上記実施形態における事項と、上記「課題を解決するための手段」の欄に記載した事項との対応関係は、次の通りである。以下では、「課題を解決するための手段」の欄に記載した解決手段の番号毎に、対応関係を示している。［１］触媒は、三元触媒２４に対応し、空燃比センサは、下流側空燃比センサ７６に対応する。流入処理は、Ｓ２２の処理に対応する。ずれ量算出処理は、Ｓ４４〜Ｓ４６，Ｓ４６ａ，Ｓ４６ｂ，Ｓ４６ｃの処理に対応し、ずれ量表現値は、ストイキ点ＡｆＬに対応する。すなわち、ストイキ点ＡｆＬは、燃焼対象となる混合気の空燃比が理論空燃比である場合における対象とする下流側空燃比センサ７６の検出値であることから、基準となる下流側空燃比センサの検出値（ストイキ基準値Ａｆｓ）との差がずれ量となり、ずれ量を表現するパラメータである。移動平均処理は、Ｓ４２，Ｓ４６，Ｓ４６ａ，Ｓ４６ｂ，Ｓ４６ｃの処理に対応する。［２］Ｓ４６ａの処理に対応する。［３］Ｓ４６ｂの処理に対応する。［４］「ずれ量表現値が示すずれ量と検出値が示すずれ量との差の絶対値」は、ストイキ点ＡｆＬと検出値Ａｆｄとの差の絶対値に対応する。すなわち、「ずれ量表現値が示すずれ量」は、ストイキ点ＡｆＬとストイキ基準値Ａｆｓとの差に対応することから、上記差の絶対値は、「（ＡｆＬ−Ａｆｓ）−（Ａｆｄ−Ａｆｓ）」の絶対値に対応し、これは、「ＡｆＬ−Ａｆｄ」の絶対値と一致する。低下処理は、Ｓ３７の処理において肯定判定する場合にＳ３８の処理を実行しないことに対応する。［５］リッチ判定値は、「Ａｆｓ−εｒ」に対応し、リーン制御処理は、Ｓ１６の処理に対応する。単純平均処理は、Ｓ４２の処理に対応し、更新処理は、Ｓ４６，Ｓ４６ａ，Ｓ４６ｂ，Ｓ４６ｃの処理に対応する。［６］係数可変処理は、Ｓ４６ｂの処理に対応する。［７］係数可変処理は、Ｓ４６ｃの処理に対応する。［８］リッチ判定値は、「Ａｆｓ−εｒ」に対応し、リーン制御処理は、Ｓ１６の処理に対応する。ずれ量反映処理は、Ｓ４６の処理に対応する。
【００７９】
＜その他の実施形態＞
なお、本実施形態は、以下のように変更して実施することができる。本実施形態および以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【００８０】
・「流入処理について」
上記実施形態では、サブフィードバック処理Ｍ１４によって、流入処理を構成したがこれに限らない。たとえば、フューエルカット処理がなされると三元触媒２４の酸素吸蔵量が大きくなることに鑑み、フューエルカット処理が実行された直後に、目標値Ａｆｕ＊を理論空燃比よりもリッチとする処理としてもよい。
【００８１】
もっとも、燃焼対象となる混合気の空燃比を目標値Ａｆｕ＊に制御する処理に限らず、たとえば排気行程において燃料噴射弁１６から燃料を噴射することによって、三元触媒２４に流入する流体中の成分を調整する処理としてもよい。
【００８２】
・「ずれ量算出処理について」
上記構成では、空燃比センサの検出値Ａｆｄのずれ量を示すずれ量表現値として、ストイキ点ＡｆＬを算出したが、これに限らない。たとえば、燃焼対象となる混合気の空燃比が理論空燃比である場合における基準となる下流側空燃比センサの検出値（ストイキ基準値Ａｆｓ）からのずれ量自体であってもよい。これはたとえばＳ３８の処理において、検出値Ａｆｄからストイキ基準値Ａｆｓを減算した値の積算値を求め、Ｓ４２の処理において、検出値Ａｆｄからストイキ基準値Ａｆｓを減算した値の平均値を求めることによって、実現できる。
【００８３】
単純平均処理および指数移動平均処理によってストイキ点ＡｆＬを算出することは必須ではない。たとえば下記「ずれ量反映処理について」の欄に記載した手法にて「ＡｆＬ−Ａｆｓ」にゲインＫを乗算した値にてリッチ側サブオフセット量εｒおよびリーン側サブオフセット量εｌを補正する場合、ストイキ点ＡｆＬを、平均値Ａｆｄａｖｅとしてもよい。またたとえば、単純平均処理を削除して、検出値Ａｆｄの指数移動平均処理値をストイキ点ＡｆＬとしてもよい。
【００８４】
・「係数可変処理について」
平滑化係数αを、ストイキ点ＡｆＬと平均値Ａｆｄａｖｅとの差の絶対値、実行回数ＬＮ、および積算回数Ｎの３つに応じて可変としたり、３つのうちの２つに応じて可変としたりしてもよい。これは、たとえば、実行回数ＬＮおよび積算回数Ｎを入力変数とし平滑化係数αを出力変数とするマップデータがＲＯＭ６４に予め記憶された状態でＣＰＵ６２により平滑化係数αをマップ演算することなどにより実現できる。
【００８５】
・「低下処理について」
図９の処理では、Ｓ３７において肯定判定される場合、検出値Ａｆｄ（ｎ）をストイキ点ＡｆＬの算出に用いず、ストイキ点ＡｆＬへの寄与率をゼロとしたが、これに限らない。たとえば、上記「ずれ量算出処理について」の欄に記載したように、単純平均処理を行うことなく、検出値Ａｆｄの指数移動平均処理によってストイキ点ＡｆＬを算出する場合には、検出値Ａｆｄ（ｎ）とストイキ点ＡｆＬとの差の絶対値が大きい場合に小さい場合よりも平滑化係数αを小さい値とする処理としてもよい。
【００８６】
・「ずれ量算出処理の実行条件について」
ずれ量算出処理の実行条件としては、上記条件（ア）〜条件（オ）の論理積が真である旨の条件を含むことは必須ではない。たとえば、三元触媒２４に流入する流体の流量の変化量の絶対値が所定量以下である旨の条件としては、上記条件（ア）および条件（イ）のいずれか一方であってもよい。またたとえば、上記条件（ウ）を削除してもよい。また、条件（エ）に代えて、三元触媒２４の温度を感知するサーミスタ等のセンサを備え、その検出値が所定温度以上である旨の条件を設けてもよい。また、たとえば条件（オ）における下限値ＧａＬおよび上限値ＧａＨの差を小さくする代わりに、上記条件（ア）および条件（イ）を削除してもよい。
【００８７】
またたとえば、条件（キ）に代えて、リーン判定フラグＦｌが「１」に切り替わってから所定時間が経過する旨の条件を用いてもよい。またたとえば、上記条件（キ）に代えて、検出値Ａｆｄとストイキ基準値Ａｆｓとの差の絶対値が所定値以下となる旨の条件を用いてもよい。
【００８８】
なお、「流入処理について」の欄に記載したように、フューエルカット処理の直後に流入処理を実行する場合、フューエルカット処理の直後であることを実行条件とすればよい。
【００８９】
・「空燃比制御処理について」
要求噴射量Ｑｄの算出処理において、低温補正処理Ｍ１６を用いることは必須ではない。
【００９０】
上記実施形態では、ベース噴射量算出処理Ｍ１０による開ループ制御およびメインフィードバック処理Ｍ１２によるフィードバック制御の２自由度制御によって、空燃比を制御したが、空燃比制御処理としては、これに限らない。たとえば、サブフィードバック処理によって定まる目標値Ａｆｕ＊に開ループ制御する処理であってもよい。
【００９１】
・「ずれ量反映処理について」
リッチ判定値としての「Ａｆｓ−εｒ」、およびリーン判定値としての「Ａｆｓ＋εｌ」を補正する処理としては、Ｓ４６の処理として例示したものに限らない。たとえば、図３のＳ１２，Ｓ１８の処理におけるストイキ基準値Ａｆｓに、「ＡｆＬ−Ａｆｓ」を加算する処理であってもよい。
【００９２】
Ｓ４６の処理に代えて、「ＡｆＬ−Ａｆｓ」に「１」よりも小さく「０」よりも大きいゲインＫを乗算した値をリッチ側サブオフセット量εｒから減算するとともに、同乗算した値をリーン側サブオフセット量εｌに加算してもよい。
【００９３】
上記実施形態では、Ｓ４６の処理によって、ずれ量反映処理を構成したが、これに限らない。たとえば、検出値Ａｆｄから「ＡｆＬ−Ａｆｓ」を減算した値をＳ１２，Ｓ１８の処理の入力となる検出値Ａｆｄとしてもよい。
【００９４】
なお、ずれ量反映処理としては、リッチ判定値としての「Ａｆｓ−εｒ」、およびリーン判定値としての「Ａｆｓ＋εｌ」と、リッチ判定値およびリーン判定値との比較対象としての検出値Ａｆｄと、のいずれかをストイキ点ＡｆＬに応じて補正する処理に限らない。たとえば、下流側空燃比センサ７６に供給する電気的な量（印加電圧等）によって下流側空燃比センサ７６の出力が変化するのであれば、ストイキ点ＡｆＬがストイキ基準値Ａｆｓに近づくように電気的な量を調整する処理としてもよい。
【００９５】
・「ずれ量表現値の用途について」
ずれ量表現値としては、サブフィードバック処理Ｍ１４に反映させるものに限らない。たとえば、気筒＃１〜＃４のそれぞれにおいて燃焼対象となる混合気の空燃比を同一に制御するように燃料噴射弁１６を操作した際に、燃焼対象となる混合気が他と比較してリッチとなる異常（インバランス異常）の有無の判定処理に利用してもよい。ここで判定処理は、たとえば、メインフィードバック処理Ｍ１２の目標値Ａｆｕ＊の補正量の絶対値を下流側空燃比センサ７６の検出値Ａｆｄとストイキ基準値Ａｆｓとの差の絶対値が大きい場合に小さい場合よりも大きくする制御を前提とし、補正量に基づきインバランス異常の有無を判定する処理とすればよい。すなわち、インバランス異常が生じると、気筒のそれぞれにおいて燃焼対象となる混合気を１つに集めたものの空燃比に対して上流側空燃比センサ７４の検出値Ａｆｕがリッチ側にずれることから、メインフィードバック処理Ｍ１２により、上記１つに集めたものの空燃比が理論空燃比よりもリーンに制御される。そのため、下流側空燃比センサ７６の検出値Ａｆｄは、理論空燃比よりもリーンとなることから、上記補正量には、インバランス異常の度合いに関する情報が含まれる。この判定処理の精度を向上させるために、「ずれ量反映処理について」の欄に記載した要領で、補正量の算出処理の入力となる検出値Ａｆｄをストイキ点ＡｆＬに基づき補正すればよい。その場合、燃焼対象となる混合気の空燃比がいかなる値であっても、補正された検出値Ａｆｄは、基準となる空燃比センサの検出値（制御装置６０が制御において前提とする値）に近い値となることから、補正量に基づくインバランス異常の有無の判定精度を向上させることができる。
【００９６】
・「ずれ量表現値の記憶装置について」
上記実施形態では、ストイキ点ＡｆＬを記憶する記憶装置について特に明記しなかったが、たとえば揮発性メモリとしてのＲＡＭに記憶させてもよい。この場合、制御装置６０が新たに起動されるのに伴ってＲＡＭが初期化されることなどから、起動直後にストイキ点ＡｆＬはＲＡＭに記憶されていないこととなる。もっとも、これに代えて、たとえば制御装置６０の起動、停止にかかわらずストイキ点ＡｆＬを常時記憶しておくこととしてもよい。これは、たとえば記憶装置として、制御装置６０の主電源の状態にかかわらず給電が維持されるバックアップＲＡＭや、不揮発性メモリを用いることによって実現できる。また、たとえば、ストイキ点ＡｆＬを記憶する記憶装置として、揮発性メモリとしてのＲＡＭと不揮発性メモリとを備えた装置を用いてもよい。この場合、ＲＡＭに記憶されたストイキ点ＡｆＬを、Ｓ４４の処理によって逐次更新し、制御装置６０の停止に先立つ後処理として、ストイキ点ＡｆＬを不揮発性メモリに記憶させればよい。なお、この場合、制御装置６０の起動に伴って、不揮発性メモリに記憶されていたストイキ点ＡｆＬを揮発性メモリに記憶させる。
【００９７】
・「制御装置について」
制御装置がＣＰＵ６２とＲＯＭ６４とを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理する専用のハードウェア回路（たとえばＡＳＩＣ等）を備えてもよい。すなわち、制御装置は、以下の（ａ）〜（ｃ）のいずれかの構成であればよい。（ａ）上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するＲＯＭ等のプログラム格納装置とを備える。（ｂ）上記処理の一部をプログラムに従って実行する処理装置およびプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。（ｃ）上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置およびプログラム格納装置を備えたソフトウェア処理回路や、専用のハードウェア回路は複数であってもよい。すなわち、上記処理は、１または複数のソフトウェア処理回路および１または複数の専用のハードウェア回路の少なくとも一方を備えた処理回路によって実行されればよい。
【００９８】
・「車両について」
ハイブリッド車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえばパラレルハイブリッド車やシリーズハイブリッド車であってもよい。もっとも、ハイブリッド車に限らず、車両の駆動源が内燃機関１０のみとなる車両であってもよい。
【００９９】
・「そのほか」
上記実施形態では、Ｓ５０の処理における規定量ΔＡｆｄＭの絶対値をＳ３６の処理における規定量ΔＡｆｄと等しい値としたがこれに限らず、より大きい値としてもよい。また、Ｓ３４の処理を、Ｓ３２の処理において肯定判定されて且つ、上記条件（キ）が成立する場合に実行されることとし、Ｓ５０の処理を、条件（キ）が成立しない場合にＳ５２の処理に移行する処理としてもよい。この場合、Ｓ３８の処理が開始された後、条件（キ）が成立しなくなると、積算値ＩｎＡｆｄが初期化されることとなる。
【符号の説明】
【０１００】
１０…内燃機関、１２…吸気通路、１４…燃焼室、１６…燃料噴射弁、１８…点火装置、２０…クランク軸、２２…排気通路、２４，２６…三元触媒、３０…遊星歯車機構、３２…モータジェネレータ、３２ａ…回転軸、３４…モータジェネレータ、３４ａ…回転軸、３６…駆動輪、４０，４２…インバータ、４４…バッテリ、５０…ＥＣＵ、６０…制御装置、６２…ＣＰＵ、６４…ＲＯＭ、６６…周辺回路、６８…通信線、７０…エアフローメータ、７２…クランク角センサ、７４…上流側空燃比センサ、７６…下流側空燃比センサ、７８…水温センサ。
【図１】
2020067071.tif 000003
【図２】
2020067071.tif 000004
【図３】
2020067071.tif 000005
【図４】
2020067071.tif 000006
【図５】
2020067071.tif 000007
【図６】
2020067071.tif 000008
【図７】
2020067071.tif 000009
【図８】
2020067071.tif 000010
【図９】
2020067071.tif 000011