以下、図面を参照して本発明の実施形態について詳細に説明する。
<内燃機関全体の説明>
図1は、本発明の第一実施形態に係る排気浄化装置が用いられる内燃機関を概略的に示す図である。図1に示した内燃機関は、シリンダブロック2と、シリンダブロック2上に固定されたシリンダヘッド4を備える機関本体1を具備する。シリンダブロック2内には、シリンダブロック2内に形成されたシリンダ内を往復動するピストン3が配置される。ピストン3とシリンダヘッド4との間には、混合気の燃焼が行われる燃焼室5が形成される。
シリンダヘッド4内には吸気ポート7及び排気ポート9が形成され、これら吸気ポート7及び排気ポート9は燃焼室5に連通する。また、図1に示した内燃機関は、シリンダヘッド4内に配置された吸気弁6及び排気弁8を具備し、吸気弁6は吸気ポート7を開閉し、排気弁8は排気ポート9を開閉する。
図1に示したように、内燃機関は、シリンダヘッド4の内壁面の中央部に配置された点火プラグ10と、シリンダヘッド4の内壁面周辺部に配置された燃料噴射弁11とを備える。点火プラグ10は、点火信号に応じて火花を発生させるように構成される。また、燃料噴射弁11は、噴射信号に応じて、所定量の燃料を燃焼室5内に噴射する。なお、燃料噴射弁11は、吸気ポート7内に燃料を噴射するように配置されてもよい。また、本実施形態では、燃料として理論空燃比が14.6であるガソリンが用いられる。しかしながら、本発明の排気浄化装置が用いられる内燃機関では、ガソリン以外の燃料、或いはガソリンとの混合燃料を用いてもよい。
また、図1に示したように、内燃機関は、各気筒の吸気ポート7にそれぞれ連結された吸気枝管13と、これら吸気枝管13に連結されたサージタンク14と、サージタンク14に連結された吸気管15とを具備する。吸気管15は、エアクリーナ16に連結される。吸気ポート7、吸気枝管13、サージタンク14、吸気管15は内燃機関の吸気通路を形成する。また、吸気管15内にはスロットル弁駆動アクチュエータ17によって駆動されるスロットル弁18が配置される。スロットル弁18は、スロットル弁駆動アクチュエータ17によって回動せしめられることで、吸気通路の開口面積を変更することができる。
一方、内燃機関は、各気筒の排気ポート9に連結された排気マニホルド19を具備する。排気マニホルド19は、各排気ポート9に連結される複数の枝部とこれら枝部が集合した集合部とを有する。加えて、内燃機関は、排気マニホルド19の集合部に連結された上流側ケーシング21と、下流側ケーシング23と、上流側ケーシング21と下流側ケーシング23との間に配置された排気管22とを具備する。上流側ケーシング21は上流側排気浄化触媒20を内蔵し、下流側ケーシング23は下流側排気浄化触媒24を内蔵する。排気ポート9、排気マニホルド19、上流側ケーシング21、排気管22及び下流側ケーシング23は、排気通路を形成する。
加えて、内燃機関は、デジタルコンピュータからなる電子制御ユニット(ECU)31を具備する。ECU31は、双方向性バス32を介して相互に接続されたRAM(ランダムアクセスメモリ)33、ROM(リードオンリメモリ)34、CPU(マイクロプロセッサ)35、入力ポート36及び出力ポート37を具備する。吸気管15には、吸気管15内を流れる空気流量を検出するための空気流量検出装置(例えば、エアフロメータ)39が配置され、この空気流量検出装置39の出力は対応するAD変換器38を介して入力ポート36に入力される。また、排気マニホルド19の集合部には排気マニホルド19内を流れる排気ガス(すなわち、上流側排気浄化触媒20に流入する排気ガス)の空燃比を検出する上流側空燃比センサ40が配置される。加えて、排気管22内には排気管22内を流れる排気ガス(すなわち、上流側排気浄化触媒20から流出して下流側排気浄化触媒24に流入する排気ガス)の空燃比を検出する下流側空燃比センサ41が配置される。これら空燃比センサ40、41の出力も対応するAD変換器38を介して入力ポート36に入力される。
また、アクセルペダル42にはアクセルペダル42の踏込み量に比例した出力電圧を発生する負荷センサ43が接続され、負荷センサ43の出力電圧は対応するAD変換器38を介して入力ポート36に入力される。クランク角センサ44は例えばクランクシャフトが15度回転する毎に出力パルスを発生し、この出力パルスが入力ポート36に入力される。CPU35ではこのクランク角センサ44の出力パルスから機関回転数が計算される。一方、出力ポート37は対応する駆動回路45を介して点火プラグ10、燃料噴射弁11及びスロットル弁駆動アクチュエータ17に接続される。なお、ECU31は、各種制御を行う制御装置として機能する。
<排気浄化触媒の説明>
上流側排気浄化触媒20及び下流側排気浄化触媒24は、酸素吸蔵能力を有する三元触媒である。具体的には、排気浄化触媒20、24は、セラミックから成る担体に、触媒作用を有する貴金属(例えば、白金(Pt))及び酸素吸蔵能力を有する物質(例えば、セリア(CeO2))を担持させた三元触媒である。三元触媒は、三元触媒に流入する排気ガスの空燃比が理論空燃比に維持されていると、未燃ガス及びNOxを同時に浄化する機能を有する。加えて、排気浄化触媒20、24に或る程度の酸素が吸蔵されている場合には、排気浄化触媒20、24に流入する排気ガスの空燃比が理論空燃比に対してリッチ側或いはリーン側に若干ずれたとしても未燃ガス及びNOxとが同時に浄化される。
すなわち、排気浄化触媒20、24が酸素吸蔵能力を有していると、すなわち排気浄化触媒20、24の酸素吸蔵量が最大吸蔵可能酸素量よりも少ないと、排気浄化触媒20、24に流入する排気ガスの空燃比が理論空燃比よりも若干リーンになったときには、排気ガス中に含まれる過剰な酸素が排気浄化触媒20、24内に吸蔵される。このため、排気浄化触媒20、24の表面上が理論空燃比に維持される。その結果、排気浄化触媒20、24の表面上において未燃ガス及びNOxが同時に浄化され、このとき排気浄化触媒20、24から流出する排気ガスの空燃比は理論空燃比となる。
一方、排気浄化触媒20、24が酸素を放出することができる状態にあると、すなわち排気浄化触媒20、24の酸素吸蔵量が0よりも多いと、排気浄化触媒20、24に流入する排気ガスの空燃比が理論空燃比よりも若干リッチになったときには、排気ガス中に含まれている未燃ガスを還元させるのに不足している酸素が排気浄化触媒20、24から放出される。このため、この場合にも排気浄化触媒20、24の表面上が理論空燃比に維持される。その結果、排気浄化触媒20、24の表面上において未燃ガス及びNOxが同時に浄化され、このとき排気浄化触媒20、24から流出する排気ガスの空燃比は理論空燃比となる。
このように、排気浄化触媒20、24に或る程度の酸素が吸蔵されている場合には、排気浄化触媒20、24に流入する排気ガスの空燃比が理論空燃比に対してリッチ側或いはリーン側に若干ずれたとしても未燃ガス及びNOxとが動じに浄化され、排気浄化触媒20、24から流出する排気ガスの空燃比は理論空燃比となる。
<空燃比センサの説明>
本実施形態では、空燃比センサ40、41として、コップ型の限界電流式空燃比センサが用いられる。図2を用いて、空燃比センサ40、41の構造について簡単に説明する。空燃比センサ40、41は、固体電解質層51と、その一方の側面上に配置された排気側電極52と、その他方の側面上に配置された大気側電極53と、通過する排気ガスの拡散律速を行う拡散律速層54と、基準ガス室55と、空燃比センサ40、41の加熱、特に固体電解質層51の加熱を行うヒータ部56とを具備する。
特に、本実施形態のコップ型の空燃比センサ40、41では、固体電解質層51は一端が閉じられた円筒状に形成される。固体電解質層51の内部に画成された基準ガス室55には、大気ガス(空気)が導入されると共に、ヒータ部56が配置される。固体電解質層51の内面上に大気側電極53が配置され、固体電解質層51の外面上に排気側電極52が配置される。固体電解質層51及び排気側電極52の外面上にはこれらを覆うように拡散律速層54が配置される。なお、拡散律速層54の外側には、拡散律速層54の表面上に液体等が付着するのを防止するための保護層(図示せず)が設けられてもよい。
固体電解質層51は、ZrO2(ジルコニア)、HfO2、ThO2、Bi2O3等にCaO、MgO、Y2O3、Yb2O3等を安定剤として配当した酸素イオン伝導性酸化物の焼結体により形成されている。また、拡散律速層54は、アルミナ、マグネシア、けい石質、スピネル、ムライト等の耐熱性無機物質の多孔質焼結体により形成されている。さらに、排気側電極52及び大気側電極53は、白金等の触媒活性の高い貴金属により形成されている。
また、排気側電極52と大気側電極53との間には、ECU31に搭載された印加電圧制御装置60によりセンサ印加電圧Vが印加される。加えて、ECU31には、センサ印加電圧Vを印加したときに固体電解質層51を介してこれら電極52、53間に流れる電流Iを検出する電流検出部61が設けられる。この電流検出部61によって検出される電流が空燃比センサ40、41の出力電流Iである。
このように構成された空燃比センサ40、41は、図3に示したような電圧−電流(V−I)特性を有する。図3からわかるように、空燃比センサ40、41の出力電流Iは、排気ガスの空燃比、すなわち排気空燃比A/Fが高くなるほど(リーンになるほど)、大きくなる。また、各排気空燃比A/FにおけるV−I線には、センサ印加電圧V軸に平行な領域、すなわちセンサ印加電圧Vが変化しても出力電流Iがほとんど変化しない領域が存在する。この電圧領域は限界電流領域と称され、このときの電流は限界電流と称される。図3では、排気空燃比が18であるときの限界電流領域及び限界電流をそれぞれW18、I18で示している。
図4は、印加電圧Vを0.45V程度(図3)で一定にしたときの、排気空燃比と出力電流Iとの関係を示している。図4からわかるように、空燃比センサ40、41では、排気空燃比が高くなるほど(すなわちリーンになるほど)、空燃比センサ40、41からの出力電流Iが大きくなるように、排気空燃比に対して出力電流がリニアに(比例するように)変化する。加えて、空燃比センサ40、41は、排気空燃比が理論空燃比であるときに出力電流Iが零になるように構成される。
なお、空燃比センサ40、41としては、図2に示した構造の限界電流式空燃比センサに代えて、例えば積層型の限界電流式空燃比センサ等の他の構造の限界電流式の空燃比センサを用いてもよい。また、空燃比センサ40、41として、電極間に電圧を印加せずに酸素濃度を検出する酸素センサを用いてもよい。
<空燃比制御>
次に、本実施形態の制御装置によって行われる空燃比制御について説明する。本実施形態の空燃比制御では、メインフィードバック制御、サブフィードバック制御、メインフィードバック学習制御(以下、「メイン学習制御」という)、サブフィードバック学習制御(以下、「サブ学習制御」という)が行われる。
メインフィードバック制御では、上流側空燃比センサ40の出力空燃比に基づいて、上流側空燃比センサ40の出力空燃比が目標空燃比となるように燃料噴射弁11からの燃料供給量(すなわち、燃焼室5への燃料供給量)が制御される。サブフィードバック制御では、下流側空燃比センサ41の出力空燃比等に基づいて目標空燃比がリッチ空燃比とリーン空燃比とに交互に切り替えられる。メイン学習制御では、上流側空燃比センサ40の出力空燃比と目標空燃比との差に基づいてこれら空燃比間に存在する定常的な偏差に応じて変化するメイン学習値が算出され、算出されたメイン学習値に基づいて上流側空燃比センサ40の出力空燃比と目標空燃比との差が小さくなるように燃料噴射弁11からの燃料供給量が制御される。加えて、サブ学習制御では、上流側空燃比センサ40の出力空燃比及び下流側空燃比センサ41の出力空燃比に基づいて上流側空燃比センサ40の出力空燃比と上流側排気浄化触媒20に流入する排気ガスの空燃比との差に応じて変化するサブ学習値が算出され、算出されたサブ学習値に基づいて目標空燃比と上流側排気浄化触媒20に流入する排気ガスの空燃比との差が小さくなるように燃料噴射弁11からの燃料供給量が制御される。以下では、これら制御について説明する。
<メインフィードバック制御>
まず、メインフィードバック制御について説明する。メインフィードバック制御では、上述したように、上流側空燃比センサ40の出力空燃比に基づいて、上流側空燃比センサ40の出力空燃比が目標空燃比となるように燃料噴射弁11からの燃料供給量(すなわち、燃焼室5への燃料供給量)が制御される。特に、本実施形態では、上流側空燃比センサ40の出力空燃比と目標空燃比との差である空燃比偏差DAFが小さくなるように比例・積分・微分制御(PID制御)が行われる。
具体的には、本実施形態では、上流側空燃比センサ40の出力空燃比AFupと目標空燃比との差に基づいて、フィードバック補正量(以下、「F/B補正量」という)DFiが算出される。F/B補正量DFiは、空燃比偏差DAFを、比例・積分・微分処理(PID処理)することで、下記式(1)に基づいて算出される。
DFi=Kp・DAF+Ki・SDAF+Kd・DDAF …(1)
なお、上記式(1)において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。また、DDAFは、空燃比偏差DAFの時間微分値であり、今回更新された空燃比偏差DAFと前回更新されていた空燃比偏差DAFとの偏差を更新間隔に対応する時間で除算することで算出される。また、SDAFは、空燃比偏差DAFの時間積分値であり、この時間積分値SDAFは前回更新された時間積分値SDAFに今回更新された空燃比偏差DAFを加算することで算出される(SDAF=DDAF+DAF)。
一方、後述するように、本実施形態では、目標空燃比は常に一定ではなく、理論空燃比よりもリッチなリッチ設定空燃比と理論空燃比よりもリーンなリーン設定空燃比との間で交互に変化する。そこで、本実施形態では、各気筒へ供給された空気量(筒内吸入空気量)Mcを算出すると共に、算出された筒内吸入空気量Mcを目標空燃比で除算することにより、基本燃料供給量Qbaseが算出される。
燃料噴射弁11から各燃焼室5に供給される燃料供給量Qiは、基本燃料供給量QbaseにF/B補正量DFiを加算することによって算出される(Qi=Qbase+DFi)。したがって、目標空燃比が変化すると、基本燃料供給量Qbaseが変化し、この結果、各気筒への燃料供給量Qiが変化する。一方、各燃料噴射弁11からの燃料供給量等に誤差があって上流側空燃比センサ40の出力空燃比と目標空燃比とが一致しないときには、出力空燃比が目標空燃比に近づくようにF/B補正量DFiが変化し、この結果、各気筒への燃料供給量Qiが変化する。
<メイン学習制御>
次に、メインフィードバック学習制御(メイン学習制御)について説明する。ここで、燃料噴射弁11からの燃料供給量は必ずしもECU31からの要求燃料供給量に一致するわけではない。燃料噴射弁11間で燃料供給量にバラツキがあったり、全ての燃料噴射弁11から全体的に要求燃料供給量よりも多い側へ又は少ない側へずれたりする。このようなバラツキやずれが生じると、上流側空燃比センサ40の出力空燃比が実際の空燃比を示していたとしても、上流側空燃比センサ40の出力空燃比と目標空燃比とには定常的な偏差が存在することになる。
そこで、メイン学習制御では、上述したように、上流側空燃比センサ40の出力空燃比と目標空燃比との差に基づいてこれら空燃比間に存在する定常的な偏差に応じて変化するメイン学習値が算出される。メイン学習値は、上流側空燃比センサ40の出力空燃比が目標空燃比よりも定常的に大きく(リーンに)なると0よりも大きくなるように変化する。逆に、上流側空燃比センサ40の出力空燃比が目標空燃比よりも定常的に小さく(リッチに)なると0よりも小さくなるように変化する。また、定常的な偏差の絶対値が大きくなるほど、メイン学習値の絶対値も大きくなる。
具体的には、メイン学習値mfbgは、メインフィードバック制御における空燃比偏差DAFの時間積分値SDAFに基づいて、下記式(2)により更新される。また、このようにしてメイン学習値mfbgの更新が完了すると、下記式(3)により時間積分値SDAFが変更される。したがって、時間積分値SDAFは、メイン学習値mfbgが増大した分だけ、減少せしめられる。
mfbg(n)=mfbg(n−1)+ka・SDAF …(2)
SDAF=(1−ka)・SDAF …(3)
なお、上記式(2)において、nは計算回数又は時間を表している。したがって、mfbg(n)は今回の計算又は現在の学習値である。加えて、上記式(2)及び式(3)におけるkaは、時間積分値SDAFをメイン学習値mfbgに反映させる程度、すなわち燃料供給量に反映させる程度を表すゲインである(0<ka≦1)。ゲインkaの値が大きいほど燃料供給量の補正量が大きくなる。
加えて、本実施形態のメイン学習制御では、上述したように算出されたメイン学習値mfbgに基づいて上流側空燃比センサ40の出力空燃比と目標空燃比との差が小さくなるように燃料噴射弁11からの燃料供給量が制御される。具体的には、燃料噴射弁11から各燃焼室5に供給される燃料供給量Qiを算出するにあたり、上述した基本燃料供給量Qbase及びF/B補正量DFiに加えて、メイン学習値mfbgが加算される(Qi=Qbase+DFi+mfbg(n))。
図5は、メインフィードバック制御における空燃比偏差DAFの時間積分値SDAFとメイン学習値mfbgとのタイムチャートである。図5に示した例では、時刻t1以前において、メイン学習値mfbgはゼロとなっている。一方、上流側空燃比センサ40の出力空燃比AFupと目標空燃比との間に定常的な偏差があることから、時間積分値SDAFはゼロから離れた値となっている。
その後、時刻t1において、時間積分値SDAFのメイン学習値mfbgへの取り込みが行われる。この結果、メイン学習値mfbgは、上記式(2)により、時刻t1における時間積分値SDAFにゲインkaを乗算した値(ka・SDAF)だけ増大せしめられる。一方、時間積分値SDAFは、上記式(3)により、時刻t1における時間積分値SDAFにゲインkaを乗算した値(ka・SDAF)だけ減少せしめられる。
本実施形態では、このような操作が一定時間間隔で行われる。したがって、時刻t1から一定時間経過した時刻t2においても同様な制御が繰り返される。このため、時間積分値SDAFの一部がメイン学習値mfbgに取り込まれる。この結果、メイン学習値mfbgは、上流側空燃比センサ40の出力空燃比AFupと目標空燃比との間の定常的な偏差を表した値となる。
ここで、メインフィードバック制御における各パラメータの値(時間積分値SDAFを含む)は、ECU31のRAM33のうち、内燃機関のイグニッションキーがオフにされるとゼロにリセットされるメモリに記憶されている。一方、メイン学習値mfbgは、ECU31のRAM33のうち、内燃機関のイグニッションキーがオフにされても消去されないメモリに記憶されている。したがって、上述したように、時間積分値SDAFの一部をメイン学習値mfbgに順次取り込んでいくことにより、内燃機関の始動時から上流側空燃比センサ40の出力空燃比と目標空燃比との差を補償することができる。
<サブフィードバック制御>
次に、サブフィードバック制御について説明する。サブフィードバック制御では、下流側空燃比センサ41の出力空燃比等に基づいて目標空燃比がリッチ空燃比とリーン空燃比とに交互に設定される。
具体的には、下流側空燃比センサ41の出力空燃比がリッチ空燃比となったときに、目標空燃比がリーン設定空燃比に設定される。この結果、上流側排気浄化触媒20に流入する排気ガスの空燃比もリーン設定空燃比になる。ここで、リーン設定空燃比は、理論空燃比(制御中心となる空燃比)よりも或る程度リーンである予め定められた一定値の空燃比であり、例えば、14.75程度とされる。また、リーン設定空燃比は、制御中心となる空燃比(本実施形態では、理論空燃比)に正の空燃比補正量を加算した空燃比として表すこともできる。加えて、本実施形態では、下流側空燃比センサ41の出力空燃比が理論空燃比よりも僅かにリッチであるリッチ判定空燃比(例えば、14.55)以下になったときに、下流側空燃比センサ41の出力空燃比がリッチ空燃比になったと判断される。
加えて、本実施形態のサブフィードバック制御では、上流側排気浄化触媒20の酸素吸蔵量OSAが最大吸蔵可能酸素量Cmaxよりも少ない予め定められた切替基準吸蔵量Cref以上になると、それまでリーン設定空燃比だった目標空燃比がリッチ設定空燃比に設定される。この結果、上流側排気浄化触媒20に流入する排気ガスの空燃比もリッチ設定空燃比になる。ここで、リッチ設定空燃比は、理論空燃比(制御中心となる空燃比)よりも或る程度リッチである予め定められた空燃比であり、例えば、14.50とされる。なお、本実施形態では、リッチ設定空燃比の理論空燃比からの差(リッチ度合い)は、リーン設定空燃比の理論空燃比からの差(リーン度合い)以下とされる。
なお、上流側排気浄化触媒20の酸素吸蔵量OSAは、上流側排気浄化触媒20に流入する排気ガスの酸素過不足量の積算値に基づいて推定される。ここで、酸素過不足量は、上流側排気浄化触媒20に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素の量又は不足する酸素の量(過剰な未燃ガスの量)を意味する。特に、目標空燃比がリーン設定空燃比に設定されている期間中には、上流側排気浄化触媒20に流入する排気ガス中の酸素は過剰となり、この過剰な酸素は上流側排気浄化触媒20に吸蔵される。したがって、この期間中における酸素過不足量の積算値(以下、「積算酸素過不足量」という)は、上流側排気浄化触媒20の酸素吸蔵量OSAの推定値であるといえる。
酸素過不足量の算出は、上流側空燃比センサ40の出力空燃比、及び空気流量検出装置39の出力等に基づいて算出される燃焼室5内への吸入空気量の推定値又は燃料噴射弁11からの燃料供給量等に基づいて行われる。具体的には、酸素過不足量OEDは、例えば、下記式(4)により算出される。
OED=0.23×Qi×(AFup−AFR) …(4)
ここで、0.23は空気中の酸素濃度、Qiは燃料供給量、AFupは上流側空燃比センサ40の出力空燃比、AFRは制御中心となる空燃比(本実施形態では、基本的には理論空燃比)をそれぞれ表している。
その後、下流側空燃比センサ41の出力空燃比が再びリッチ判定空燃比以下になると、目標空燃比が再びリーン設定空燃比とされ、その後、同様な操作が繰り返される。このように本実施形態のサブフィードバック制御では、上流側排気浄化触媒20に流入する排気ガスの目標空燃比がリーン設定空燃比とリッチ設定空燃比とに交互に繰り返し設定される。換言すると、本実施形態のサブフィードバック制御では、上流側空燃比センサ40の出力空燃比(すなわち、上流側排気浄化触媒20に流入する排気ガスの空燃比)がリッチ空燃比とリーン空燃比とに交互に切り替えられる。
<タイムチャートを用いたサブフィードバック制御の説明>
図6を参照して、上述したような操作について具体的に説明する。図6は、本実施形態のサブフィードバック制御を行った場合における、空燃比補正量AFC、上流側空燃比センサ40の出力空燃比AFup、上流側排気浄化触媒20の酸素吸蔵量OSA、積算酸素過不足量ΣOED、下流側空燃比センサ41の出力空燃比AFdwn及び上流側排気浄化触媒20から流出する排気ガス中のNOx濃度のタイムチャートである。
なお、空燃比補正量AFCは、上流側排気浄化触媒20に流入する排気ガスの目標空燃比に関する補正量である。空燃比補正量AFCが0のときには目標空燃比は制御中心となる空燃比(以下、「制御中心空燃比」という)に等しい空燃比(本実施形態では、基本的に理論空燃比)とされる。一方、空燃比補正量AFCが正の値であるときには目標空燃比は制御中心空燃比よりもリーンな空燃比(本実施形態では、リーン空燃比)となり、空燃比補正量AFCが負の値であるときには目標空燃比は制御中心空燃比よりもリッチな空燃比(本実施形態では、リッチ空燃比)となる。また、「制御中心空燃比」は、機関運転状態に応じて空燃比補正量AFCを加算する対象となる空燃比、すなわち空燃比補正量AFCに応じて目標空燃比を変動させる際に基準となる空燃比を意味する。
図示した例では、時刻t1以前の状態では、空燃比補正量AFCがリッチ設定補正量AFCrich(リッチ設定空燃比に相当)とされている。すなわち、目標空燃比はリッチ空燃比とされており、これに伴って上流側空燃比センサ40の出力空燃比AFupがリッチ空燃比となる。上流側排気浄化触媒20に流入する排気ガス中に含まれている未燃ガスは、上流側排気浄化触媒20で浄化され、これに伴って、上流側排気浄化触媒20の酸素吸蔵量OSAは徐々に減少していく。上流側排気浄化触媒20における浄化により上流側排気浄化触媒20から流出する排気ガス中には未燃ガス等は含まれていないため、下流側空燃比センサ41の出力空燃比AFdwnはほぼ理論空燃比となる。このとき、上流側排気浄化触媒20からのNOx排出量はほぼゼロとなっている。
上流側排気浄化触媒20の酸素吸蔵量OSAが徐々に減少すると、酸素吸蔵量OSAはゼロに近づき、これに伴って、上流側排気浄化触媒20に流入した未燃ガス等の一部は上流側排気浄化触媒20で浄化されずに流出し始める。これにより、下流側空燃比センサ41の出力空燃比AFdwnが徐々に低下し、時刻t1において、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達する。
本実施形態では、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下になると、酸素吸蔵量OSAを増大させるべく、空燃比補正量AFCがリーン設定補正量AFClean(リーン設定空燃比に相当)に切り替えられる。また、このとき、積算酸素過不足量ΣOEDは0にリセットされる。
時刻t1において、目標空燃比をリーン空燃比に切り替えると、上流側排気浄化触媒20に流入する排気ガスの空燃比はリッチ空燃比からリーン空燃比に変化する。時刻t1において上流側排気浄化触媒20に流入する排気ガスの空燃比がリーン空燃比に変化すると、上流側排気浄化触媒20の酸素吸蔵量OSAは増大する。また、これに伴って、積算酸素過不足量ΣOEDも徐々に増大していく。
これにより、上流側排気浄化触媒20から流出する排気ガスの空燃比が理論空燃比へと変化し、下流側空燃比センサ41の出力空燃比AFdwnも理論空燃比に収束する。このとき、上流側排気浄化触媒20に流入する排気ガスの空燃比はリーン空燃比となっているが、上流側排気浄化触媒20の酸素吸蔵能力には十分な余裕があるため、流入する排気ガス中の酸素は上流側排気浄化触媒20に吸蔵され、NOxは還元浄化される。このため、上流側排気浄化触媒20からのNOxの排出はほぼゼロとなる。
その後、上流側排気浄化触媒20の酸素吸蔵量OSAが増大すると、時刻t2において、上流側排気浄化触媒20の酸素吸蔵量OSAが切替基準吸蔵量Crefに到達する。このため、酸素吸蔵量OSAの推定値である積算酸素過不足量ΣOEDが、切替基準吸蔵量Crefに相当する切替基準値OEDrefに到達する。本実施形態では、積算酸素過不足量ΣOEDが切替基準値OEDref以上になると、上流側排気浄化触媒20への酸素の吸蔵を中止すべく、空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられる。したがって、目標空燃比はリッチ空燃比とされる。また、このとき、積算酸素過不足量ΣOEDが0にリセットされる。
なお、切替基準吸蔵量Crefは、上流側排気浄化触媒20が未使用であるときの最大吸蔵可能酸素量Cmaxの3/4以下、好ましくは1/2以下、より好ましくは1/5以下とされる。この結果、下流側空燃比センサ41の出力空燃比AFdwnが理論空燃比よりも僅かにリーンなリーン判定空燃比(例えば、14.65。理論空燃比からの偏差がリッチ判定空燃比と理論空燃比との差と同程度のリーン空燃比)に到達する前に空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられることになる。
時刻t2において目標空燃比をリッチ空燃比に切り替えると、上流側排気浄化触媒20に流入する排気ガスの空燃比はリーン空燃比からリッチ空燃比に変化する。上流側排気浄化触媒20に流入する排気ガス中には未燃ガス等が含まれることになるため、上流側排気浄化触媒20の酸素吸蔵量OSAは徐々に減少していく。このときの上流側排気浄化触媒20からのNOxの排出はほぼゼロとなる。
上流側排気浄化触媒20の酸素吸蔵量OSAは徐々に減少していくと、時刻t4において、時刻t1と同様に、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達する。これにより、空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられる。その後、上述した時刻t1〜t4のサイクルが繰り返される。
以上の説明から分かるように本実施形態のサブフィードバック制御によれば、上流側排気浄化触媒20からのNOx排出量を常に抑制することができる。すなわち、上述した制御を行っている限り、基本的には上流側排気浄化触媒20からのNOx排出量をほぼゼロとすることができる。また、積算酸素過不足量を算出する際の積算期間が短いため、長期間に亘って積算する場合に比べて算出誤差が生じにくい。このため、積算酸素過不足量の算出誤差によりNOxが排出されてしまうことが抑制される。
なお、上記実施形態では、時刻t1〜t2において、空燃比補正量AFCはリーン設定補正量AFCleanに維持される。しかしながら、斯かる期間において、空燃比補正量AFCは必ずしも一定に維持されている必要はなく、徐々に減少させる等、変動するように設定されてもよい。或いは、時刻t1〜t2の期間中において、一時的に空燃比補正量AFCを0よりも小さな値(例えば、リッチ設定補正量等)としてもよい。
同様に、上記実施形態では、時刻t2〜t3において、空燃比補正量AFCはリッチ設定補正量AFCrichに維持される。しかしながら、斯かる期間において、空燃比補正量AFCは必ずしも一定に維持されている必要はなく、徐々に増大させる等、変動するように設定されてもよい。或いは、時刻t2〜t3の期間中において、一時的に空燃比補正量AFCを0よりも大きな値(例えば、リーン設定補正量等)としてもよい。
なお、このような本実施形態における空燃比補正量AFCの制御、すなわち目標空燃比の制御は、制御装置として機能するECU31によって行われる。したがって、ECU31は、下流側空燃比センサ41によって検出された排気ガスの空燃比がリッチ判定空燃比以下となったときに、上流側排気浄化触媒20の酸素吸蔵量OSAが切替基準吸蔵量Cref以上になったと推定されるまで、上流側排気浄化触媒20に流入する排気ガスの目標空燃比を継続的又は断続的にリーン空燃比に設定すると共に、上流側排気浄化触媒20の酸素吸蔵量OSAが切替基準吸蔵量Cref以上になったと推定されたときに、酸素吸蔵量OSAが最大吸蔵可能酸素量Cmaxに達することなく下流側空燃比センサ41によって検出された排気ガスの空燃比がリッチ判定空燃比以下となるまで、目標空燃比を継続的又は断続的にリッチ空燃比に設定するサブフィードバック制御を行っているといえる。
より簡単に言えば、本実施形態のサブフィードバック制御では、下流側空燃比センサ41によって検出された空燃比がリッチ判定空燃比以下になったときに目標空燃比がリーン空燃比に切り替えられると共に、上流側排気浄化触媒20の酸素吸蔵量OSAが切替基準吸蔵量Cref以上になったときに目標空燃比がリッチ空燃比に切り替えられる。
なお、上記実施形態では、サブフィードバック制御において、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下になったときに目標空燃比がリーン空燃比に切り替えられる。また、積算酸素過不足量ΣOEDが所定の切替基準値OEDref以上になったときに目標空燃比がリッチ空燃比に切り替えられる。しかしながら、サブフィードバック制御として、別の制御を行ってもよい。斯かる別の制御としては、例えば、下流側空燃比センサ41の出力空燃比AFdwnがリーン判定空燃比以上になったときに目標空燃比をリッチ空燃比に切り替え、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比以下になったときに目標空燃比をリーン空燃比に切り替える制御が考えられる。
<上流側空燃比センサにおけるずれ>
ところで、機関本体1が複数の気筒を有する場合、各燃料噴射弁11の形状誤差等により各気筒から排出される排気ガスの空燃比には気筒間で僅かながらずれが生じる場合がある。一方、上流側空燃比センサ40は排気マニホルド19の集合部に配置されるが、その配置位置に応じて各気筒から排出された排気ガスが上流側空燃比センサ40に曝される程度が気筒間で異なる。この結果、上流側空燃比センサ40の出力空燃比は、或る特定の気筒から排出された排気ガスの空燃比の影響を強く受けることになる。このため、この或る特定の気筒から排出された排気ガスの空燃比が全気筒から排出される排気ガスの平均空燃比とは異なる空燃比となっている場合、平均空燃比と上流側空燃比センサ40の出力空燃比との間にはずれが生じる。すなわち、上流側空燃比センサ40の出力空燃比は実際の排気ガスの平均空燃比よりもリッチ側又はリーン側にずれることになる。
また、未燃ガス等のうち水素は空燃比センサ40、41の拡散律速層54の通過速度が速い。このため、排気ガス中の水素濃度が高いと、上流側空燃比センサ40の出力空燃比が排気ガスの実際の空燃比よりも低い側(すなわち、リッチ側)にずれてしまう。
このように上流側空燃比センサ40の出力空燃比にずれが生じていると、上述したようなサブフィードバック制御を行っていても、上流側排気浄化触媒20からNOx及び酸素が流出したり、未燃ガス等の流出頻度が高くなったりしてしまう可能性が高くなる。以下では、図7を参照して斯かる現象について説明する。
図7は、図6と同様な、上流側排気浄化触媒20の酸素吸蔵量OSA等のタイムチャートである。図7は、上流側空燃比センサ40の出力空燃比がリッチ側にずれている場合を示している。図中、上流側空燃比センサ40の出力空燃比AFupにおける実線は、上流側空燃比センサ40の出力空燃比を示している。一方、破線は、上流側空燃比センサ40周りを流通する排気ガスの実際の空燃比を示している。
図7に示した例においても、時刻t1以前の状態では、空燃比補正量AFCがリッチ設定補正量AFCrichとされており、よって目標空燃比がリッチ設定空燃比とされている。ここで、上述したメインフィードバック制御及びメイン学習制御により、上流側空燃比センサ40の出力空燃比AFupがリッチ設定空燃比になるように燃料噴射弁11からの燃料供給量が制御される。このため、上流側空燃比センサ40の出力空燃比AFupはリッチ設定空燃比と等しい空燃比となる。しかしながら、上述したように、上流側空燃比センサ40の出力空燃比AFupはリッチ側にずれているため、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーン側の空燃比となっている。すなわち、上流側空燃比センサ40の出力空燃比AFupは、実際の空燃比(図中の破線)よりも低い(リッチ側)ものとなっている。このため、上流側排気浄化触媒20の酸素吸蔵量OSAの減少速度は遅いものとなる。
また、図7に示した例では、時刻t1において、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達する。このため、上述したように、時刻t1において、空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられる。すなわち、目標空燃比がリーン設定空燃比に切り替えられる。
これに伴って、上述したメインフィードバック制御及びメイン学習制御により、上流側空燃比センサ40の出力空燃比AFupはリーン設定空燃比に等しい空燃比となる。しかしながら、上述したように、上流側空燃比センサ40の出力空燃比AFupはリッチ側にずれているため、排気ガスの実際の空燃比はリーン設定空燃比よりもリーンの空燃比となっている。すなわち、上流側空燃比センサ40の出力空燃比AFupは、実際の空燃比(図中の破線)よりも低い(リッチ側)ものとなっている。このため、上流側排気浄化触媒20の酸素吸蔵量OSAの増加速度は速くなると共に、目標空燃比をリーン設定空燃比としている間に上流側排気浄化触媒20に供給される実際の酸素量は切替基準吸蔵量Crefよりも多くなる。
このように、上流側空燃比センサ40の出力空燃比AFdwnにずれが生じていると、空燃比補正量AFCがリーン設定補正量AFCleanに設定されているときに上流側排気浄化触媒20に流入する排気ガスの空燃比のリーン度合いが大きくなる。このため、上流側排気浄化触媒20の酸素吸蔵量OSAが最大吸蔵可能酸素量Cmaxに達していなくても、上流側排気浄化触媒20に流入した酸素を全て吸蔵することができずに、上流側排気浄化触媒20からNOxや酸素が流出してしまう場合がある。また、時刻t2において、上流側排気浄化触媒20の酸素吸蔵量OSAは切替基準吸蔵量Cref以上になっており、時刻t2近傍において意図しない空燃比のずれ等が生じると上流側排気浄化触媒20からNOxや酸素が流出する可能性がある。
以上より、上流側空燃比センサ40の出力空燃比AFupにおけるずれを検出することが必要になると共に、検出されたずれに基づいて出力空燃比等の補正を行うことが必要である。
<サブ学習制御>
そこで、本実施形態では、上流側空燃比センサ40の出力空燃比AFupにおけるずれを補償すべく、サブフィードバック学習制御(サブ学習制御)が行われる。サブ学習制御には、サブ学習基本制御及び張付き学習制御が含まれる。以下ではまず、サブ学習基本制御について説明する。サブ学習基本制御では、上述したように、上流側空燃比センサ40の出力空燃比AFup及び下流側空燃比センサ41の出力空燃比AFdwnに基づいて上流側空燃比センサ40の出力空燃比AFdwnと上流側排気浄化触媒20に流入する排気ガスの空燃比との差に応じて変化するサブ学習値が算出される。加えて、算出されたサブ学習値に基づいて上流側空燃比センサ40の出力空燃比AFupと上流側排気浄化触媒20に流入する排気ガスの空燃比との差が小さくなるように燃料噴射弁11からの燃料供給量が制御される。以下では、このサブフィードバック学習制御について説明する。
ここで、目標空燃比をリーン空燃比に切り替えてから、積算酸素過不足量ΣOEDが切替基準値OEDref以上になるまで、すなわち目標空燃比を再びリッチ空燃比に切り替えるまでの期間を酸素増大期間とする。同様に、目標空燃比をリッチ空燃比に切り替えてから、下流側空燃比センサ41の出力空燃比AFupがリッチ判定空燃比以下になるまで、すなわち目標空燃比を再びリーン空燃比に切り替えるまでの期間を酸素減少期間とする。本実施形態のサブ学習基本制御では、酸素増大期間における積算酸素過不足量ΣOEDの絶対値として積算酸素過剰量を算出する。なお、積算酸素過剰量は、酸素増大期間において、上流側排気浄化触媒20に流入する排気ガスの空燃比を理論空燃比にしようとしたときに過剰となる酸素の量の積算値を表す。加えて、本実施形態のサブ学習基本制御では、酸素減少期間における積算酸素過不足量ΣOEDの絶対値として積算酸素不足量を算出する。なお、積算酸素不足量は、酸素減少期間において、上流側排気浄化触媒20に流入する排気ガスの空燃比を理論空燃比にしようとしたときに不足する酸素の量の積算値を表す。そして、これら積算酸素過剰量と積算酸素不足量との差が小さくなるように制御中心空燃比AFRが補正される。図8にこの様子を示す。
図8は、制御中心空燃比AFR、空燃比補正量AFC、上流側空燃比センサ40の出力空燃比AFup、上流側排気浄化触媒20の酸素吸蔵量OSA、積算酸素過不足量ΣOED、下流側空燃比センサ41の出力空燃比AFdwn及びサブ学習値sfbgのタイムチャートである。図8は、図7と同様に、上流側空燃比センサ40の出力空燃比AFupが低い側(リッチ側)にずれている場合を示している。なお、サブ学習値sfbgは、上流側空燃比センサ40の出力空燃比(出力電流)AFupのずれに応じて変化する値であり、本実施形態では制御中心空燃比AFRを補正するのに用いられる。また、図中、上流側空燃比センサ40の出力空燃比AFupにおける実線は、上流側空燃比センサ40の出力空燃比を、破線は、上流側空燃比センサ40周りを流通する排気ガスの実際の空燃比をそれぞれ示している。加えて、一点鎖線は、目標空燃比、すなわち理論空燃比(後述する基本制御中心空燃比)に空燃比補正量AFCを加算した空燃比を示している。
図8に示した例では、図6及び図7と同様に、時刻t1以前の状態では、制御中心空燃比が理論空燃比とされ、空燃比補正量AFCがリッチ設定補正量AFCrichとされている。このとき、上流側空燃比センサ40の出力空燃比AFupは実線で示したようにリッチ設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ40の出力空燃比AFupにはずれが生じているため、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーンの空燃比となっている(図8の破線)。ただし、図8に示した例では、図8の破線から分かるように、時刻t1以前の実際の排気ガスの空燃比はリッチ設定空燃比よりもリーンながらも、リッチ空燃比となっている。したがって、上流側排気浄化触媒20の酸素吸蔵量は徐々に減少していく。
時刻t1において、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達する。これにより、上述したように、空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられる。時刻t1以降は、上流側空燃比センサ40の出力空燃比AFupはリーン設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ40の出力空燃比AFupのずれにより、排気ガスの実際の空燃比は、リーン設定空燃比よりもリーンな空燃比、すなわちリーン度合いの大きい空燃比となる(図8の破線を参照)。このため、上流側排気浄化触媒20の酸素吸蔵量OSAは急速に増大する。
一方、酸素過不足量OEDは、上流側空燃比センサ40の出力空燃比AFupに基づいて算出される。しかしながら、上述したように、上流側空燃比センサ40の出力空燃比AFupにはずれが生じている。したがって、算出された酸素過不足量OEDは、実際の酸素過不足量OEDよりも少ない(すなわち、酸素量が少ない)値となる。その結果、算出された積算酸素過不足量ΣOEDは、実際の酸素吸蔵量OSAよりも少なくなる。
時刻t2では、積算酸素過不足量ΣOEDが切替基準値OEDrefに到達する。このため、空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられる。したがって、目標空燃比はリッチ空燃比とされる。このとき、実際の酸素吸蔵量OSAは図8に示したように切替基準吸蔵量Crefよりも多くなっている。
時刻t2以降は、時刻t1以前の状態と同様に、空燃比補正量AFCがリッチ設定補正量AFCrichとされ、よって目標空燃比はリッチ空燃比とされる。このときも、排気ガスの実際の空燃比はリッチ設定空燃比よりもリーンの空燃比となっている。この結果、上流側排気浄化触媒20の酸素吸蔵量OSAの減少速度は遅くなる。加えて、上述したように、時刻t2において、上流側排気浄化触媒20の実際の酸素吸蔵量OSAは切替基準吸蔵量Crefよりも多くなっている。このため、上流側排気浄化触媒20の実際の酸素吸蔵量OSAがゼロに到達するまでには時間がかかる。
時刻t3では、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達する。これにより、上述したように、空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられる。したがって、目標空燃比がリッチ設定空燃比からリーン設定空燃比へと切り替えられる。
ところで、本実施形態では、上述したように、時刻t1から時刻t2までにおいて、積算酸素過不足量ΣOEDが算出される。ここで、目標空燃比をリーン空燃比に切り替えた時(時刻t1)から上流側排気浄化触媒20の酸素吸蔵量OSAの推定値が切替基準吸蔵量Cref以上になった時(時刻t2)までの期間を酸素増大期間Tincと称すると、本実施形態では酸素増大期間Tincに積算酸素過不足量ΣOEDが算出される。図8では、時刻t1〜時刻t2の酸素増大期間Tincにおける積算酸素過不足量ΣOEDの絶対値(積算酸素過剰量)をR1で示している。
この積算酸素過剰量R1は、時刻t2における酸素吸蔵量OSAに相当する。しかしながら、上述したように、酸素過不足量OEDの推定には上流側空燃比センサ40の出力空燃比AFupが用いられ、この出力空燃比AFupにはずれが生じている。このため、図8に示した例では、時刻t1〜時刻t2の積算酸素過剰量R1は、時刻t2における実際の酸素吸蔵量OSAに相当する値よりも少ないものとなっている。
また、本実施形態では、時刻t2から時刻t3までにおいても、積算酸素過不足量ΣOEDが算出される。ここで、目標空燃比をリッチ空燃比に切り替えた時(時刻t2)から下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達する時(時刻t3)までの期間を酸素減少期間Tdecと称すると、本実施形態では酸素減少期間Tdecに積算酸素過不足量ΣOEDが算出される。図8では、時刻t2〜時刻t3の酸素減少期間Tdecにおける積算酸素過不足量ΣOEDの絶対値(積算酸素不足量)をF1で示している。
この積算酸素不足量F1は、時刻t2から時刻t3までに上流側排気浄化触媒20から放出された総酸素量に相当する。しかしながら、上述したように、上流側空燃比センサ40の出力空燃比AFupにはずれが生じている。このため、図8に示した例では、時刻t2〜時刻t3の積算酸素不足量F1は、時刻t2から時刻t3までに上流側排気浄化触媒20から実際に放出された総酸素量に相当する値よりも多いものとなっている。
ここで、酸素増大期間Tincでは上流側排気浄化触媒20に酸素が吸蔵されると共に、酸素減少期間Tdecでは吸蔵されていた酸素が全て放出される。したがって、積算酸素過剰量R1と、積算酸素不足量F1とは基本的に同一の値になるのが理想的である。ところが、上述したように、上流側空燃比センサ40の出力空燃比AFupにずれが生じている場合、このずれに応じてこれら積算値の値も変化する。上述したように、上流側空燃比センサ40の出力空燃比AFupが実際の空燃比に対して低い側(リッチ側)にずれている場合、積算酸素過剰量R1に対して積算酸素不足量F1の方が多くなる。逆に、上流側空燃比センサ40の出力空燃比AFupが実際の空燃比に対して高い側(リーン側)にずれている場合、積算酸素過剰量R1に対して積算酸素不足量F1の方が少なくなる。加えて、積算酸素過剰量R1と積算酸素不足量F1との差ΔΣOED(=R1−F1。以下、「過不足量誤差」という)は上流側空燃比センサ40の出力空燃比AFupにおけるずれの程度を表している。この過不足量誤差ΔΣOEDが大きくなるほど、上流側空燃比センサ40の出力空燃比AFupにおけるずれが大きいといえる。換言すると、過不足量誤差ΔΣOEDは、上流側空燃比センサ40の出力空燃比AFupと上流側排気浄化触媒20に流入する排気ガスの実際の空燃比との差を表しているといえる。
そこで、本実施形態では、過不足量誤差ΔΣOEDに基づいて、制御中心空燃比AFRを補正するようにしている。特に、本実施形態では、積算酸素過剰量R1と積算酸素不足量F1との差ΔΣOEDが小さくなるように制御中心空燃比AFRを補正するようにしている。
具体的には、本実施形態では、下記式(5)によりサブ学習値sfbgを算出すると共に、下記式(6)により制御中心空燃比AFRが補正される。
sfbg(n)=sfbg(n−1)+kb・ΔΣOED …(5)
AFR=AFRbase+sfbg(n) …(6)
なお、上記式(5)において、nは計算回数又は時間を表している。したがって、sfbg(n)は今回の計算又は現在のサブ学習値である。加えて、上記式(5)におけるkbは、過不足量誤差ΔΣOEDを制御中心空燃比AFRに反映させる程度を表すゲインである(0<kb≦1)。ゲインkbの値が大きいほど制御中心空燃比AFRの補正量が大きくなる。さらに、上記式(6)において、基本制御中心空燃比AFRbaseは、基本となる制御中心空燃比であり、本実施形態では理論空燃比である。
式(6)からわかるように、サブ学習値sfbgが負の値であるときには制御中心空燃比AFRがリッチ側に変更され、よって上流側排気浄化触媒20に流入する排気ガスの空燃比がリッチ側に変更される。また、その絶対値が大きくなるほど、制御中心空燃比AFRがリッチ側に変更される程度が大きくなる。したがって、サブ学習値sfbgがゼロであるときに上流側排気浄化触媒20に流入する排気ガスの空燃比に対して、サブ学習値sfbgが負の値であるときの絶対値(リッチ側絶対値)が大きくなるほど、上流側排気浄化触媒20に流入する排気ガスの空燃比が大きくリッチ側に変化することになる。
同様に、サブ学習値sfbgが正の値であるときには制御中心空燃比AFRがリーン側に変更され、よって上流側排気浄化触媒20に流入する排気ガスの空燃比がリーン側に変更される。また、その絶対値が大きくなるほど、制御中心空燃比AFRがリーン側に変更される程度が大きくなる。したがって、サブ学習値sfbgがゼロであるときに上流側排気浄化触媒20に流入する排気ガスの空燃比に対して、サブ学習値sfbgが正の値であるときの絶対値(リーン側絶対値)が大きくなるほど、上流側排気浄化触媒20に流入する排気ガスの空燃比が大きくリーン側に変化することになる。
上述したように、過不足量誤差ΔΣOEDは、上流側空燃比センサ40の出力空燃比AFupと上流側排気浄化触媒20に流入する排気ガスの実際の空燃比との差を表している。加えて、上述したように、メインフィードバック制御により上流側空燃比センサ40の出力空燃比AFupは基本的に目標空燃比に等しくなるように制御される。したがって、過不足量誤差ΔΣOEDは、目標空空燃比と上流側排気浄化触媒20に流入する排気ガスの空燃比との差に応じて変化し、よってサブ学習値sfbgも上流側排気浄化触媒20に流入する排気ガスの空燃比との差に応じて変化するといえる。特に、サブ学習基本制御では、目標空燃比と上流側排気浄化触媒20に流入する排気ガスの実際の空燃比との差に所定の係数(ゲインkb)を乗算した値を積算することでサブ学習値が算出されているといえる。
そして、サブ学習値sfbgに基づいて上述したように制御中心空燃比AFRを補正することにより、目標空燃比と上流側排気浄化触媒20に流入する排気ガスの実際の空燃比との差が小さくなるように燃料噴射弁11からの燃料供給量が制御されることになる。したがって、サブ学習基本制御では、サブ学習値sfbgに基づいて目標空燃比と実際の空燃比との差が小さくなるように燃料噴射弁11からの燃料供給量が制御される。
図8の時刻t3においては、上述したように、積算酸素過剰量R1及び積算酸素不足量F1に基づいてサブ学習値sfbgが算出される。特に、図8に示した例では、積算酸素過剰量R1よりも積算酸素不足量F1の方が多いことから、時刻t3においてサブ学習値sfbgは減少せしめられる。
ここで、制御中心空燃比AFRは、上記式(6)を用いてサブ学習値sfbgに基づいて補正される。図8に示した例では、サブ学習値sfbgは負の値となっているため、制御中心空燃比AFRは、基本制御中心空燃比AFRbaseよりも小さな値、すなわちリッチ側の値となっている。これにより、上流側排気浄化触媒20に流入する排気ガスの空燃比がリッチ側に補正されることになる。
この結果、時刻t3以降、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比の目標空燃比に対するずれは時刻t3以前と比べて小さなものとなる。したがって、時刻t3以降、実際の空燃比を表す破線と目標空燃比を表す一点鎖線との間の差は、時刻t3以前における差よりも小さくなっている。
また、時刻t3以降も、時刻t1〜時刻t2における操作と同様な操作が行われる。したがって、時刻t4において積算酸素過不足量ΣOEDが切替基準値OEDrefに到達すると、目標空燃比がリーン設定空燃比からリッチ設定空燃比へと切り替えられる。その後、時刻t5において、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達すると、再度、目標空燃比がリーン設定空燃比に切り替えられる。
時刻t3〜時刻t4は、上述したように酸素増大期間Tincに該当し、よってこの間の積算酸素過不足量ΣOEDの絶対値は図8の積算酸素過剰量R2で表せる。また、時刻t4〜時刻t5は、上述したように酸素減少期間Tdecに該当し、よってこの間の積算酸素過不足量ΣOEDの絶対値は図8の積算酸素不足量F2で表せる。そして、これら積算酸素過剰量R2と積算酸素不足量F2との差ΔΣOED(=R2−F2)に基づいて、上記式(5)を用いてサブ学習値sfbgが更新される。本実施形態では、時刻t5以降も同様な制御が繰り返され、これによりサブ学習値sfbgの更新が繰り返される。
サブ学習基本制御によりこのようにサブ学習値sfbgの更新を行うことにより、上流側空燃比センサ40の出力空燃比AFupは徐々に目標空燃比から離れていくが、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比は徐々に目標空燃比に近づいていく。これにより、上流側空燃比センサ40の出力空燃比AFupにおけるずれを補償することができる。
なお、図8に示したように、サブ学習値sfbgには上限ガード値Gup及び下限ガード値Glowが設定されている。このため、サブ学習値sfbgは、上限ガード値Gup以下であって下限ガード値Glow以上の範囲内で設定される。したがって、上述した式(5)によって算出されたサブ学習値が上限ガード値Gupよりも大きくなるような場合には、サブ学習値sfbgは上限ガード値Gupに設定されることになる。同様に、式(5)によって算出されたサブ学習値が下限ガード値Glowよりも小さくなるような場合には、サブ学習値sfbgは下限ガード値Glowに設定されることになる。このように上限ガード値Gup及び下限ガード値Glowを設定することにより、何らかの故障等によりサブ学習値sfbgが極端に大きくなったり極端に小さくなったりしてしまうことが防止される。
また、上述したように、サブ学習値sfbgの更新は、酸素増大期間Tincにおける積算酸素過不足量ΣOEDと、この酸素増大期間Tincの直後に続く酸素減少期間Tdecにおける積算酸素過不足量ΣOEDとに基づいて行われるのが好ましい。これは、上述したように、酸素増大期間Tincに上流側排気浄化触媒20に吸蔵される総酸素量とこの直後に続く酸素減少期間Tdecに上流側排気浄化触媒20から放出される総酸素量が等しくなるためである。
加えて、上記実施形態では、1回の酸素増大期間Tincにおける積算酸素過不足量ΣOEDと、1回の酸素減少期間Tdecにおける積算酸素過不足量ΣOEDとに基づいてサブ学習値sfbgの更新が行われている。しかしながら、複数回の酸素増大期間Tincにおける積算酸素過不足量ΣOEDの合計値又は平均値と、複数回の酸素減少期間Tdecにおける積算酸素過不足量ΣOEDの合計値又は平均値とに基づいてサブ学習値sfbgの更新を行ってもよい。
また、上記実施形態では、サブ学習値sfbgに基づいて、制御中心空燃比を補正することとしている。しかしながら、サブ学習値sfbgに基づいて補正するのは、サブ学習値に基づいて上流側排気浄化触媒20に流入する排気ガスの空燃比と目標空燃比との差が小さくなるように燃料噴射弁11からの燃料供給量を制御することができれば、他のパラメータであってもよい。他のパラメータとしては、例えば、燃焼室5内への燃料供給量や、上流側空燃比センサ40の出力空燃比、空燃比補正量等が挙げられる。
なお、サブフィードバック制御として上述した別の制御を行うことができる。具体的には、別の制御としては、例えば、上述したように下流側空燃比センサ41の出力空燃比がリーン判定空燃比以上になったときに目標空燃比をリッチ空燃比に切り替え、下流側空燃比センサ41の出力空燃比がリッチ判定空燃比以下になったときに目標空燃比をリーン空燃比に切り替える制御が考えられる。
この場合、目標空燃比をリッチ空燃比に切り替えてから下流側空燃比センサ41の出力空燃比AFupがリッチ判定空燃比以下になるまでの酸素減少期間における積算酸素過不足量の絶対値として積算酸素不足量が算出される。加えて、目標空燃比をリーン空燃比に切り替えてから下流側空燃比センサ41の出力空燃比がリーン判定空燃比以上になるまでの酸素増大期間における積算酸素過不足量の絶対値として積算酸素過剰量が算出される。そして、これら積算酸素過剰量と積算酸素不足量との差が小さくなるように制御中心空燃比等が補正されることになる。
したがって、以上をまとめると、本実施形態では、サブ学習基本制御において、目標空燃比をリーン空燃比に切り替えてから再びリッチ空燃比に切り替えるまでの酸素増大期間における積算酸素過剰量と、目標空燃比をリッチ空燃比に切り替えてから再びリーン空燃比に切り替えるまでの酸素減少期間における積算酸素不足量とに基づいて、これら積算酸素過剰量と積算酸素不足量との差が小さくなるように空燃比に関するパラメータが補正されるといえる。積算酸素過剰量と積算酸素不足量との差は、目標空燃比と上流側排気浄化触媒20に流入する排気ガスの実際の空燃比との差に応じて変化することから、本実施形態では、サブ学習基本制御において、上流側排気浄化触媒20に流入する排気ガスの空燃比と目標空燃比との差が小さくなるように内燃機関の燃焼室への燃料供給量を制御しているといえる。
<上流側空燃比センサにおける大きなずれ>
ところで、図7に示した例では、上流側空燃比センサ40の出力空燃比にずれが生じているが、その程度はそれほど大きくない場合を示している。したがって、図7の破線からもわかるように、目標空燃比がリッチ設定空燃比に設定されている場合において、実際の排気ガスの空燃比は、リッチ設定空燃比よりもリーンながらも、リッチ空燃比となっている。
これに対して、上流側空燃比センサ40に生じているずれが大きくなると、目標空燃比がリッチ設定空燃比に設定されていても、実際の排気ガスの空燃比が理論空燃比になってしまう場合がある。この様子を、図9に示す。
図9では、時刻t1以前において、空燃比補正量AFCがリーン設定補正量AFCleanとされている。これに伴い、上流側空燃比センサ40の出力空燃比AFupはリーン設定空燃比となる。ただし、上流側空燃比センサ40の出力空燃比は大きくリッチ側にずれているため、排気ガスの実際の空燃比はリーン設定空燃比よりもリーンな空燃比となっている(図中の破線)。
その後、時刻t1において上流側空燃比センサ40の出力空燃比AFupに基づいて算出された積算酸素過不足量ΣOEDが切替基準値OEDrefに到達すると、空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられる。これに伴い、上流側空燃比センサ40の出力空燃比AFupはリッチ設定空燃比に相当する空燃比となる。しかしながら、上流側空燃比センサ40の出力空燃比は大きくリッチ側にずれているため、排気ガスの実際の空燃比は理論空燃比となっている(図中の破線)。
この結果、上流側排気浄化触媒20の酸素吸蔵量OSAは変化せずに一定の値に維持される。このため、空燃比補正量AFCをリッチ設定補正量AFCrichに切り替えてから長時間が経過しても、上流側排気浄化触媒20から未燃ガスが排出されることはなく、したがって、下流側空燃比センサ41の出力空燃比AFdwnはほぼ理論空燃比のまま維持される。上述したように、空燃比補正量AFCのリッチ設定補正量AFCrichからリーン設定補正量AFCleanへの切替は、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達した時に行われる。しかしながら、図9に示した例では、下流側空燃比センサ41の出力空燃比AFdwnが理論空燃比のまま維持されることから、空燃比補正量AFCは長時間に亘ってリッチ設定補正量AFCrichに維持されることになる。ここで、上述したサブ学習基本制御は、空燃比補正量AFCがリッチ設定補正量AFCrichとリーン設定補正量AFCleanとの間で交互に切り替えられることを前提としている。したがって、上流側空燃比センサ40の出力空燃比が大きくずれている場合には、空燃比補正量AFCの切替が行われず、よって上述したサブ学習基本制御を行うことはできない。
図10は、上流側空燃比センサ40の出力空燃比が極めて大きくリッチ側にずれている場合を示す図9と同様な図である。図10に示した例では、図9に示した例と同様に、時刻t1において、空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられる。すなわち、時刻t1において目標空燃比がリッチ設定空燃比に設定される。しかしながら、上流側空燃比センサ40の出力空燃比のずれにより、実際の排気ガスの空燃比がリーン空燃比になっている(図中の破線)。
この結果、空燃比補正量AFCがリッチ設定補正量AFCrichに設定されているにもかかわらず、上流側排気浄化触媒20にはリーン空燃比の排気ガスが流入する。このため、上流側排気浄化触媒20の酸素吸蔵量OSAは徐々に増大していき、ついには時刻t2において最大吸蔵可能酸素量Cmaxに到達する。このように、酸素吸蔵量OSAが最大吸蔵可能酸素量Cmaxに到達すると、上流側排気浄化触媒20はもはやこれ以上排気ガス中の酸素を吸蔵することができない。このため、上流側排気浄化触媒20からは流入する排気ガス中に含まれていた酸素及びNOxがそのまま流出し、結果的に、下流側空燃比センサ41の出力空燃比AFdwnが上昇する。しかしながら、空燃比補正量AFCのリッチ設定補正量AFCrichからリーン設定補正量AFCleanへの切替は、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichに到達した時に行われる。このため、上流側空燃比センサ40の出力空燃比が極めて大きくずれている場合にも、空燃比補正量AFCの切替が行われず、よって上述したサブ学習基本制御を行うことはできない。
<張付き学習制御>
そこで、本実施形態のサブ学習制御では、上流側空燃比センサ40の出力空燃比におけるずれが大きな場合であってもそのずれを補償すべく、上述したサブ学習基本制御に加えて、理論空燃比張付き学習制御、リーン張付き学習制御及びリッチ張付き学習制御が行われる。
<理論空燃比張付き学習>
まず、理論空燃比張付き学習制御について説明する。理論空燃比張付き学習制御は、図11に示した例のように、下流側空燃比センサ41の出力空燃比が理論空燃比に張り付いてしまっている場合に行われる学習制御である。
ここで、リッチ判定空燃比AFrichとリーン判定空燃比AFleanとの間の領域を中間領域Mと称する。この中間領域Mは、リッチ判定空燃比とリーン判定空燃比との間の空燃比領域である理論空燃比近傍領域に相当する。理論空燃比張付き学習制御では、空燃比補正量AFCをリッチ設定補正量AFCrichに切り替えてから、すなわち目標空燃比をリッチ設定空燃比に切り替えてから、下流側空燃比センサ41の出力空燃比AFdwnが予め定められた理論空燃比維持判定時間以上に亘って中間領域M内に維持されているか否かを判断する。そして、理論空燃比維持判定時間以上に亘って中間領域M内に維持されている場合には、上流側排気浄化触媒20に流入する排気ガスの空燃比がリッチ側に変化するようにサブ学習値sfbgが減少せしめられる。図11にこの様子を示す。
図11は、空燃比補正量AFC等のタイムチャートを示す図10と同様な図である。図11は、図9と同様に、上流側空燃比センサ40の出力空燃比AFupが低い側(リッチ側)に大きくずれている場合を示している。
図示した例では、図9と同様に、時刻t1以前において、空燃比補正量AFCがリーン設定補正量AFCleanとされている。その後、時刻t1において、積算酸素過不足量ΣOEDが切替基準値OEDrefに到達し、空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられる。しかしながら、上流側空燃比センサ40の出力空燃比は大きくリッチ側にずれているため、図11に示した例と同様に、排気ガスの実際の空燃比はほぼ理論空燃比となっている。このため、時刻t1以降、上流側排気浄化触媒20の酸素吸蔵量OSAは一定値に維持される。この結果、下流側空燃比センサ41の出力空燃比AFdwnは長期間に亘って理論空燃比近傍に維持され、よって中間領域M内に維持される。
そこで、本実施形態では、空燃比補正量AFCをリッチ設定補正量AFCrichに切り替えてから予め定められた理論空燃比維持判定時間Tsto以上に亘って下流側空燃比センサ41の出力空燃比AFdwnが中間領域M内に維持されている場合には、制御中心空燃比AFRを補正するようにしている。特に、本実施形態では、上流側排気浄化触媒20に流入する排気ガスの空燃比がリッチ側に変化するようにサブ学習値sfbgが更新される。
具体的には、本実施形態では、下記式(7)によりサブ学習値sfbgを算出すると共に、上記式(6)により制御中心空燃比AFRが補正される。
sfbg(n)=sfbg(n−1)+kc・AFCrich …(7)
なお、上記式(7)において、kcは、制御中心空燃比AFRを補正する程度を表すゲインである(0<kc≦1)。ゲインkcの値が大きいほど、制御中心空燃比AFRの補正量が大きくなる。
ここで、上述したように、空燃比補正量AFCの切替後に長期間に亘って下流側空燃比センサ41の出力空燃比AFdwnが中間領域M内に維持されている場合には、排気ガスの実際の空燃比はほぼ理論空燃比近傍の値となっている。このため、上流側空燃比センサ40におけるずれは、制御中心空燃比(理論空燃比)と目標空燃比(この場合は、リッチ設定空燃比)との差と同程度になっている。本実施形態では、上記式(7)に示したように制御中心空燃比と目標空燃比との差に相当する空燃比補正量AFCに基づいてサブ学習値sfbgを更新しており、これにより、より適切に上流側空燃比センサ40の出力空燃比におけるずれを補償することができる。
図11に示した例では、時刻t1から理論空燃比維持判定時間Tstoが経過した時刻t2まで、空燃比補正量AFCはリッチ設定補正量AFCrichとされる。このため、式(7)を用いると、時刻t2においてサブ学習値sfbgは減少せしめられる。この結果、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比はリッチ側に変化することになる。これにより、時刻t2以降、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比の目標空燃比に対するずれは時刻t2以前と比べて小さなものとなる。したがって、時刻t2以降、実際の空燃比を表す破線と目標空燃比を表す一点鎖線との間の差は、時刻t2以前における差よりも小さくなっている。
図11に示した例では、ゲインkcを比較的小さい値にした例を示している。このため、時刻t2においてサブ学習値sfbgの更新が行われてもなお、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比の目標空燃比に対するずれが残っている。このため、排気ガスの実際の空燃比は、リッチ設定空燃比よりもリーンな空燃比、すなわちリッチ度合いの小さい空燃比となる(図11の破線参照)。このため、上流側排気浄化触媒20の酸素吸蔵量OSAの減少速度は遅い。
この結果、時刻t2から理論空燃比維持判定時間Tstoが経過した時刻t3まで、下流側空燃比センサ41の出力空燃比AFdwnが理論空燃比近傍に維持され、よって中間領域M内に維持される。このため、図11に示した例では、時刻t3においても、式(7)を用いて、サブ学習値sfbgの更新が行われる。
図11に示した例では、その後、時刻t4において、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下となる。このように、出力空燃比AFdwnがリッチ判定空燃比AFrich以下になった後には、上述したように空燃比補正量AFCがリーン設定補正量AFCleanとリッチ設定補正量AFCrichとに交互に設定される。これに伴って、上述したサブ学習基本制御が行われるようになる。
理論空燃比張付き学習制御によりこのようにサブ学習値sfbgの更新を行うことにより、上流側空燃比センサ40の出力空燃比AFupのずれが大きい場合であっても、サブ学習値の更新を行うことができる。これにより、上流側空燃比センサ40の出力空燃比におけるずれを補償することができる。
なお、上記実施形態では、理論空燃比維持判定時間Tstoは予め定められた時間とされている。この場合、理論空燃比維持判定時間は、目標空燃比をリッチ空燃比に切り替えてからの積算酸素過不足量ΣOEDの絶対値が新品時の上流側排気浄化触媒20の最大吸蔵可能酸素量に到達するまでに通常かかる時間以上とされる。具体的には、その2倍〜4倍程度の時間とするのが好ましい。
なお、理論空燃比張付き学習制御に関しても、上述したサブ学習基本制御の場合と同様に、サブフィードバック制御として、上述した別の制御を用いた場合にも適用することができる。この場合、理論空燃比張付き学習制御では、目標空燃比をリーン空燃比に切り替えてから、下流側空燃比センサ41の出力空燃比が理論空燃比維持判定時間Tsto以上に亘って理論空燃比近傍空燃比領域内に維持されている場合には、そのときの目標空燃比に応じて上流側排気浄化触媒20に流入する排気ガスの空燃比がリッチ側又はリーン側に変化するようにサブ学習値sfbgが増大又は減少せしめられることになる。
したがって、これらをまとめて表現すると、本実施形態では、理論空燃比張付き学習では、目標空燃比を理論空燃比よりも一方側(図10に示した例におけるリッチ側に相当)にずれた空燃比に切り替えてから、下流側空燃比センサ41の出力空燃比が理論空燃比維持判定時間Tsto以上に亘って理論空燃比近傍空燃比領域内に維持されている場合には、フィードバック制御において上流側排気浄化触媒20に流入する排気ガスの空燃比が前記一方側に変化するように空燃比に関するパラメータを補正しているといえる。
<リッチ・リーン張付き学習>
次に、リーン張付き学習制御について説明する。リーン張付き学習制御は、図10に示した例のように、目標空燃比をリッチ空燃比にしているにもかかわらず、下流側空燃比センサ41の出力空燃比がリーン空燃比に張り付いてしまっている場合に行われる学習制御である。リーン張付き学習制御では、空燃比補正量AFCをリッチ設定補正量AFCrichに切り替えてから、すなわち目標空燃比をリッチ設定空燃比に切り替えてから、下流側空燃比センサ41の出力空燃比AFdwnが予め定められたリーン空燃比維持判定時間以上に亘ってリーン空燃比に維持されているかを判断する。そして、リーン空燃比維持判定時間以上に亘ってリーン空燃比に維持されている場合には、上流側排気浄化触媒20に流入する排気ガスの空燃比がリッチ側に変化するようにサブ学習値sfbgが減少せしめられる。図12にこの様子を示す。
図12は、空燃比補正量AFC等のタイムチャートを示す図10と同様な図である。図12は、図10と同様に、上流側空燃比センサ40の出力空燃比AFupが低い側(リッチ側)に極めて大きくずれている場合を示している。
図示した例では、時刻t0において、空燃比補正量AFCがリーン設定補正量AFCleanからリッチ設定補正量AFCrichに切り替えられる。しかしながら、上流側空燃比センサ40の出力空燃比は極めて大きくリッチ側にずれているため、図10に示した例と同様に、排気ガスの実際の空燃比はリーン空燃比となっている。このため、時刻t0以降、下流側空燃比センサ41の出力空燃比AFdwnはリーン空燃比に維持される。
そこで、本実施形態では、空燃比補正量AFCがリッチ設定補正量AFCrichに設定されてから、予め定められたリーン空燃比維持判定時間Tlean以上に亘って下流側空燃比センサ41の出力空燃比AFdwnがリーン空燃比に維持されている場合には、制御中心空燃比AFRを補正するようにしている。特に、本実施形態では、上流側排気浄化触媒20に流入する排気ガスの空燃比がリッチ側に変化するようにサブ学習値sfbgが補正される。
具体的には、本実施形態では、下記式(8)によりサブ学習値sfbgを算出すると共に、上記式(6)によりサブ学習値sfbgに基づいて制御中心空燃比AFRが補正される。
sfbg(n)=sfbg(n−1)+kd・(AFCrich−(AFdwn−14.6)) …(7)
なお、上記式(7)において、kdは、制御中心空燃比AFRを補正する程度を表すゲインである(0<kd≦1)。ゲインkdの値が大きいほど、制御中心空燃比AFRの補正量が大きくなる。
ここで、図12に示した例では、空燃比補正量AFCがリッチ設定補正量AFCrichに設定されているときに、下流側空燃比センサ41の出力空燃比AFdwnがリーン空燃比に維持されている。この場合、上流側空燃比センサ40におけるずれは、目標空燃比と下流側空燃比センサ41の出力空燃比との差に相当する。これを分解すると、上流側空燃比センサ40におけるずれは、目標空燃比と理論空燃比との差(リッチ設定補正量AFCrichに相当)と、理論空燃比と下流側空燃比センサ41の出力空燃比との差とを加算した量と同程度となっているといえる。そこで、本実施形態では、上記式(8)に示したように、リッチ設定補正量AFCrichに下流側空燃比センサ41の出力空燃比と理論空燃比との差を加算した値に基づいてサブ学習値sfbgを更新している。特に、上述した理論空燃比張付き学習では、リッチ設定補正量AFCrich相当分だけサブ学習値を補正しているのに対して、リーン張付き学習ではこれに加えて下流側空燃比センサ41の出力空燃比AFdwn相当分だけサブ学習値を補正している。また、ゲインkdはゲインkcと同程度とされる。このため、リーン張付き学習における補正量は、理論空燃比張付き学習における補正量よりも大きい。
図12に示した例では、式(8)を用いると、時刻t1において、サブ学習値sfbgは減少せしめられる。この結果、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比はリッチ側に変化することになる。これにより、時刻t1以降、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比の目標空燃比に対するずれは時刻t1以前と比べて小さなものとなる。したがって、時刻t1以降、実際の空燃比を表す破線と目標空燃比を表す一点鎖線との間の差は、時刻t1以前における差よりも小さくなっている。
図12では、ゲインkdを比較的小さい値にした例を示している。このため、時刻t1においてサブ学習値sfbgの更新が行われてもなお、上流側空燃比センサ40の出力空燃比におけるずれが残っている。特に、図示した例では、時刻t1以降も、排気ガスの実際の空燃比はリーン空燃比のままとなっている。この結果、時刻t1からリーン空燃比維持判定時間Tleanに亘って下流側空燃比センサ41の出力空燃比AFdwnがリーン空燃比に維持される。このため、図示した例では、時刻t2においても、リーン張付き学習により、上記式(8)を用いてサブ学習値sfbgの補正が行われる。
時刻t2においてサブ学習値sfbgの補正が行われると、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比の目標空燃比に対するずれが小さくなる。これにより、図示した例では、時刻t2以降には、排気ガスの実際の空燃比は理論空燃比よりも僅かにリッチとなり、これに伴って下流側空燃比センサ41の出力空燃比AFdwnはリーン空燃比からほぼ理論空燃比に変化する。特に、図12に示した例では、時刻t2から時刻t3まで理論空燃比維持判定時間Tstoに亘って下流側空燃比センサ41の出力空燃比AFdwnがほぼ理論空燃比、すなわち中間領域M内に維持される。このため、時刻t3において、理論空燃比張付き学習により、上記式(7)を用いてサブ学習値sfbgの補正が行われる。
リーン張付き学習制御によってこのようにサブ学習値sfbgの更新を行うことにより、上流側空燃比センサ40の出力空燃比AFupのずれが極めて大きい場合であっても、サブ学習値の更新を行うことができる。これにより、上流側空燃比センサ40の出力空燃比におけるずれを小さくすることができる。
なお、上記実施形態では、リーン空燃比維持判定時間Tleanは予め定められた時間とされている。この場合、リーン空燃比維持判定時間Tleanは、目標空燃比をリッチ空燃比に切り替えてからそれに応じて下流側空燃比センサ41の出力空燃比が変化するまでに通常かかる下流側空燃比センサの応答遅れ時間以上とされる。具体的には、その2倍〜4倍程度の時間とするのが好ましい。また、リーン空燃比維持判定時間Tleanは、目標空燃比をリッチ空燃比に切り替えてからの積算酸素過不足量ΣOEDの絶対値が新品時の上流側排気浄化触媒20の最大吸蔵可能酸素量に到達するまでに通常かかる時間よりも短い。したがって、リーン空燃比維持判定時間Tleanは、上述した理論空燃比維持判定時間Tstoよりも短いものとされる。
次に、リッチ張付き学習制御について説明する。リッチ張付き学習制御は、リーン張付き学習制御と同様な制御であり、目標空燃比をリーン空燃比にしているにもかかわらず、下流側空燃比センサ41の出力空燃比がリッチ空燃比に張り付いてしまっている場合に行われる学習制御である。リッチ張付き学習制御では、空燃比補正量AFCをリーン設定補正量AFCleanに切り替えてから、すなわち目標空燃比をリーン設定空燃比に切り替えてから、下流側空燃比センサ41の出力空燃比AFdwnが予め定められたリッチ空燃比維持判定時間(リーン空燃比維持判定時間と同様)以上に亘ってリッチ空燃比に維持されているかを判断する。そして、リッチ空燃比維持判定時間以上に亘ってリッチ空燃比に維持されている場合には、上流側排気浄化触媒20に流入する排気ガスの空燃比がリーン側に変化するようにサブ学習値sfbgが増大せしめられる。すなわち、リッチ張付き学習制御では、上述したリーン張付き学習制御とはリッチ及びリーンが逆にした制御が行われる。
なお、本実施形態では、サブ学習基本制御に加えて、理論空燃比張付き学習制御、リーン張付き学習制御及びリッチ張付き学習制御が行われている。これらをまとめると、下流側空燃比センサ41の出力に基づいてサブ学習値を更新すると共に、サブ学習値に応じて上流側排気浄化触媒20に流入する排気ガスの空燃比を変化させるように空燃比に関するパラメータを制御するサブ学習制御と称することができる。
<インバランスの説明>
ところで、複数の気筒を有する内燃機関では、一部の気筒のみにおいて、燃料噴射弁11の故障等により、燃料噴射弁11からの実際の燃料供給量が目標値よりも多くなる場合がある。これは、例えば、燃料噴射弁11のニードル弁と弁座との間に異物が付着して、ニードル弁が完全に閉弁されなくなったような場合に発生する。このように、一部の燃料噴射弁11からの燃料供給量が多くなると、この一部の燃料噴射弁11に対応する気筒における燃焼空燃比は他の気筒における燃焼空燃比よりもリッチになる。以下では、このように一部の気筒における燃焼空燃比が他の気筒における燃焼空燃比よりもリッチになることにより気筒間で燃焼空燃比にずれが生じることをリッチインバランスと称する。
このようにリッチインバランスが発生すると、燃焼空燃比がリッチになった気筒からは多量の水素を含む多量の未燃ガスが流出することになる。上述したように、未燃ガスや酸素のうち、水素は空燃比センサ40、41の拡散律速層54の通過速度が速い。このため、リッチインバランスが発生すると、上流側空燃比センサ40の出力空燃比は、上流側空燃比センサ40周りを流れる排気ガスの実際の空燃比よりもリッチ側に大きくずれる。
ここで、上述したように本実施形態ではメインフィードバック制御により上流側空燃比センサ40の出力空燃比が目標空燃比となるように制御が行われている。このため、上流側空燃比センサ40の出力空燃比は目標空燃比にほぼ一致するように燃料供給量が制御され、この結果、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比は目標空燃比よりもリーン側にずれた空燃比となる。
このように、上流側空燃比センサ40の出力空燃比にずれが生じた場合には、上述したように、上述したサブ学習制御により制御中心空燃比が補正され、この結果、出力空燃比におけるずれが徐々に補償されていく。しかしながら、サブフィードバック学習制御によるずれの補償には図8の時刻t1〜t3のサイクルを相当な回数繰り返す必要があるため、時間がかかる。一方で、上流側空燃比センサ40の出力空燃比におけるずれがサブフィードバック学習制御によって十分に補償されていない間は、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比は目標空燃比よりもリーン側にずれている。したがって、リッチインバランスが発生すると、或る程度の時間に亘って実際の空燃比が目標空燃比よりもリーン側にずれた状態が続くことになる。
上述したように、実際の空燃比が目標空燃比よりもリーン側にずれると、目標空燃比がリーン設定空燃比に設定されているときには、実際の空燃比はリーン設定空燃比よりもリーンな空燃比になる。このようなリーン度合いの大きいリーン空燃比の排気ガスが上流側排気浄化触媒20に流入すると、上流側排気浄化触媒20に酸素吸蔵能力がある場合であっても、上流側排気浄化触媒20では流入した酸素を全て吸蔵することができなくなる場合がある。この場合には、上流側排気浄化触媒20からNOxや酸素が流出してしまうことになり、結果的に排気エミッションの悪化を招くことになる。
<サブ学習促進制御>
そこで、本実施形態の制御装置では、リッチインバランスが発生した場合には、サブ学習値sfbgが、上流側排気浄化触媒20に流入する排気ガスの空燃比と目標空燃比との差に応じた適切な値に変化し易くなるようにサブ学習値sfbgの変化に関連するパラメータを制御するサブ学習促進制御が行われる。サブ学習値sfbgを上記適切な値に変化し易くなるようにするサブ学習促進制御としては、以下のものが挙げられる。
サブ学習促進制御の具体例の一つ目としては、サブ学習基本制御において、過不足量誤差ΔΣOED等を制御中心空燃比AFRに反映させる程度を表すゲインkb、kc、kdを増大させることが挙げられる。これらゲインkb、kc、kdを増大させることにより、同一の過不足量誤差ΔΣOEDに対するサブ学習値sfbgの変化量や、張付き学習制御におけるサブ学習値sfbgの変化量が大きくなる。この結果、サブ学習値sfbgが大きく変化することになり、これにより適切な値に変化し易くなる。すなわち、サブ学習値sfbgが適切な値に向けて変化することを促進させる。なお、これらゲインkb、kc、kdは必ずしも全てを増大させる必要はなく、これらのうち一部のみを増大させるようにしてもよい。以下では、ゲインkbのみを増大させる場合を例にとって説明する。
サブ学習促進制御の具体例の二つ目としては、サブフィードバック制御において設定されるリッチ設定空燃比のリッチ度合いを増大させること、すなわちリッチ設定補正量AFCrichを減少させることが挙げられる。このように、リッチ設定空燃比のリッチ度合いを増大させると、空燃比補正量AFCをリッチ設定補正量AFCrichに切り替えてから下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下になるまでの時間、すなわち酸素減少期間Tdecが短くなる。この結果、サブ学習値sfbgの更新サイクルが短くなり、よってサブ学習値sfbgが適切な値に向けて変化することが促進される。
サブ学習促進制御の具体例の三つ目としては、サブフィードバック制御において設定される切替基準吸蔵量を低減させること、すなわち切替基準値OEDrefを低減させることが挙げられる。切替基準値OEDrefが小さくなると、酸素吸蔵量OSAが少ない状態で空燃比補正量AFCがリーン設定補正量AFCleanからリッチ設定補正量AFCrichへ切り替えられる。この結果、空燃比補正量AFCをリーン設定補正量AFCleanに切り替えてから再びリッチ設定補正量AFCrichへ切り替えられるまでの時間、すなわち酸素増大期間Tincが短くなる。加えて、空燃比補正量AFCをリッチ設定補正量AFCrichに切り替えてから再びリーン設定補正量AFCleanへ切り替えられるまでの時間、すなわち酸素減少期間Tdecも短くなる。この結果、サブ学習値sfbgの更新サイクルが短くなり、よってサブ学習値sfbgが適切な値に向けて変化することが促進される。
また、上述したように、インバランスが発生すると、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比は上流側空燃比センサ40の出力空燃比AFupよりもリーンになる。この結果、酸素吸蔵量OSAは積算酸素過不足量ΣOEDに相当する値よりも多くなる。このため、積算酸素過不足量ΣOEDが切替基準吸蔵量OEDrefであるときに実際の酸素吸蔵量OSAは切替基準吸蔵量Crefよりも多くなる。そして、このときの実際の酸素吸蔵量OSAが多くなって最大吸蔵可能酸素量Cmaxに近づくと、上流側排気浄化触媒20からNOxが流出し易くなる。これに対して、切替基準値OEDrefを小さくすることにより、実際の酸素吸蔵量OSAが切替基準吸蔵量Crefを超えて極端に多くなることが抑制され、その結果、上流側排気浄化触媒20からNOxが流出するのが抑制される。
サブ学習促進制御の具体例の四つ目としては、サブフィードバック制御において設定されるリーン設定空燃比のリーン度合いを低下させること、すなわちリーン設定補正量AFCleanを減少させることが挙げられる。このように、リーン設定空燃比のリーン度合いを低下させると、目標空燃比がリーン設定空燃比に設定されている間の、上流側排気浄化触媒20への酸素吸蔵量OSAが低下せしめられる。この結果、空燃比補正量AFCをリッチ設定補正量AFCrichに切り替えてから下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下になるまでの時間、すなわち酸素減少期間Tdecが短くなる。これにより、サブ学習値sfbgの更新サイクルが短くなり、よってサブ学習値sfbgが適切な値に向けて変化することが促進される。
また、上述したように、インバランスが発生すると、上流側排気浄化触媒20に流入する排気ガスの実際の空燃比は上流側空燃比センサ40の出力空燃比AFupよりもリーンになる。このため、目標空燃比がリーン設定空燃比に設定されているときには、排気ガスの実際の空燃比はリーン設定空燃比よりもリーンになる。したがって、目標空燃比がリーン設定空燃比に設定されているときには、排気ガスの実際の空燃比におけるリーン度合いが大きくなり、結果的に上流側排気浄化触媒20においてNOxを十分に吸蔵することができなくなる可能性がある。これに対して、インバランスが発生したときにリーン設定補正量AFCleanのリーン度合を低下させることにより、排気ガスの実際の空燃比におけるリーン度合いが過度に大きくなることがなくなり、上流側排気浄化触媒20によるNOxの浄化性能の低下を抑制することができる。
サブ学習促進制御の具体例の五つ目としては、サブ学習値sfbgの上限ガード値Gupを増大させ、下限ガード値Glowを低下させることが考えられる。換言すると、サブ学習促進制御では、ガード値Gup、Glowの絶対値が増大せしめられる。
ここで、上述したように、インバランスが発生すると、上流側空燃比センサ40の出力空燃比AFupにおけるずれを適切に補償するためには、サブ学習値sfbgの絶対値を大きくする必要がある。ところが、上述したように、サブ学習値sfbgには、上限ガード値Gup及び下限ガード値Glowが設定されており、サブ学習値sfbgはこれらガード値の範囲外の値とすることができない。この結果、サブ学習値sfbgが適切な値をとることができなくなる場合がある。
これに対して、ガード値の絶対値を増大させることにより、サブ学習値sfbgの値をその絶対値が大きな値に設定することができる。これにより、サブ学習値sfbgが適切な値に向けて変化することが促進されることになる。
<インバランス発生の推定>
また、本実施形態では、リッチインバランスが発生した場合に、サブ学習促進制御が行われる。具体的には、本実施形態では、メイン学習におけるメイン学習値mfbgとサブ学習におけるサブ学習値sfbgとの差が或る程度以上になった場合には、リッチインバランスが発生したと推定するようにしている。以下では、このことについて説明する。
上述したように、リッチインバランスが発生した場合、上流側空燃比センサ40の出力空燃比AFupはリッチ側にずれる。したがって、この場合、上流側空燃比センサ40の出力空燃比AFupは目標空燃比との間に定常的な偏差が存在することになる。上述したように、メイン学習値mfbgは、上流側空燃比センサ40の出力空燃比AFupが目標空燃比よりも定常的にリッチになると、大きくなるように算出される。したがって、メイン学習値mfbgは出力空燃比AFupにおけるずれ量に比例した正の値となる。
一方、上述したようにリッチインバランスが生じて上流側空燃比センサ40の出力空燃比AFupがリッチ側にずれている場合には、図8に示したように、サブ学習値sfbgは、負の値となる。また、このときのサブ学習値sfbgの絶対値は、インバランスの発生に伴う上流側空燃比センサ40の出力空燃比AFupにおけるずれ量に比例する。
したがって、上述したように、リッチインバランスが発生しているときには、メイン学習値mfbgは正の値をとるのに対して負の値をとることになる。加えて、リッチインバランスが発生しているときには、メイン学習値mfbg及びサブ学習値sfbg共に比較的大きな値となる。したがって、メイン学習値mfbg及びサブ学習値sfbgの絶対値は、予め定められたそれぞれの基準絶対値以上となる。そこで、本実施形態では、メイン学習値mfbgとサブ学習値sfbgとで正負が反対となり且つメイン学習値mfbg及びサブ学習値sfbgの絶対値がそれぞれの基準絶対値以上となったときに、リッチインバランスが発生していると推定するようにしている。ここで、基準絶対値は、例えば、リッチインバランスが発生していないときには両学習値mfbg、sfbgの絶対値がほとんど到達せず、或る程度の大きさのリッチインバランスが発生したときに両学習値mfbg、sfbgの絶対値が到達するような値とされる。
ここで、例えば、上流側排気浄化触媒20と下流側空燃比センサ41との間の排気管22に亀裂等ができ、亀裂から少量の空気が流入するような場合や、下流側空燃比センサ41に素子割れが生じたような場合を考える。このような場合、上流側排気浄化触媒20に流入する排気ガスの空燃比が理論空燃比であっても、下流側空燃比センサ41の出力空燃比は理論空燃比よりもリーンな空燃比、例えばリーン判定空燃比以上の空燃比となる。この結果、下流側空燃比センサ41の出力空燃比がリーン判定空燃比以上の空燃比に維持される。このため、上述したリーン張付き学習制御によりサブ学習値sfbgの更新が行われ、この結果、制御中心空燃比AFRの補正が行われる。
しかしながら、このような場合には、上流側空燃比センサ40の出力空燃比AFupと排気ガスの実際の空燃比との間にずれは生じていない。したがって、上流側排気浄化触媒20に流入する排気ガスの空燃比と目標空燃比との間にずれは生じていない。したがって、このような場合にリーン張付き学習制御によりサブ学習値sfbgを更新すると、制御中心空燃比AFRが適切な値からずれてしまう。このため、このような場合には、サブ学習値sfbgの更新を積極的に促進すべきではない。
ここで、上述したように、リッチインバランスが発生しているときには、メイン学習値mfbgは或る程度絶対値の大きい正の値をとる。これに対して、上述したように、排気管22に亀裂等が生じた場合や下流側空燃比センサ41に素子割れが生じた場合には、メイン学習値mfbgは基本的にはそれほど絶対値の大きな値にはならず、ゼロ近傍の値となる。したがって、上述したように、メイン学習値mfbg及びサブ学習値sfbgの正負及び絶対値に基づいて判定を行うことにより、リッチインバランスが発生した場合と、排気管22に亀裂が発生した場合等とを区別することができるようになる。
なお、リッチインバランスが発生した場合、メイン学習値からサブ学習値を減算した学習値差Δfbg(=mfbg−sfbg)が極端に大きくなる。また、リッチインバランスにおけるインバランス度合いが大きくなるほど、すなわち上流側空燃比センサ40の出力空燃比AFupにおけるずれ量が大きくなるほど、学習値差Δfbgも大きくなることがわかる。したがって、メイン学習値mfbgとサブ学習値sfbgとで正負が反対となり且つメイン学習値mfbg及びサブ学習値sfbgの絶対値がそれぞれの基準絶対値以上になることに加えて、学習値差Δfbgが予め定められた基準差以上になったときにリッチインバランスが発生していると推定するようにしてもよい。この場合、基準差は、例えば、リッチインバランスが発生していないときには学習値差Δfbgはほとんど到達せず、或る程度の大きさのリッチインバランスが発生したときに学習値差Δfbgが到達するような値とされる。
<タイムチャートを用いたサブ学習促進制御>
図13は、インバランス発生の有無、空燃比補正量AFC、上流側空燃比センサ40の出力空燃比AFup、メイン学習値mfbg、酸素吸蔵量OSA、積算酸素過不足量ΣOED、下流側空燃比センサの出力空燃比AFdwn、サブ学習値sfbg及び学習値差Δfbgのタイムチャートである。特に、図13は、上述したサブ学習促進制御を行った場合を示している。なお、図13においても、出力空燃比AFupにおける実線は、上流側空燃比センサ40の出力空燃比を、破線は、上流側空燃比センサ40周りを流通する排気ガスの実際の空燃比をそれぞれ示している。加えて、一点鎖線は、目標空燃比、すなわち理論空燃比(基本制御中心空燃比)に空燃比補正量AFCを加算した空燃比を示している。
図13は、説明を分かりやすくするために、時刻t3において、リッチインバランスが急に発生した場合を示している。時刻t3までは、図6を用いて説明した制御が行われている。したがって、時刻t1において下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下になると、空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられる。加えて、時刻t2において積算酸素過不足量ΣOEDが切替基準値OEDrefに到達すると、空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられる。
時刻t3において、リッチインバランスが発生すると、上流側空燃比センサ40の出力空燃比AFupがリッチ側にずれる。ただしこのとき、排気ガスの実際の空燃比(図中の破線)は、時刻t3においてリッチインバランスが発生しても変化しない。このように、上流側空燃比センサ40の出力空燃比AFupが目標空燃比からリッチ側にずれると、メインフィードバック制御により排気ガスの実際の空燃比がリーン側に変化せしめられる。これに伴って、時刻t4には、上流側空燃比センサ40の出力空燃比AFupは目標空燃比に一致する。ただし、このとき排気ガスの実際の空燃比は、目標空燃比よりもリーンな空燃比となっている。
また、このようにメインフィードバック制御により排気ガスの実際の空燃比がリーン側に変化せしめられると、このときメインフィードバック制御における積分項の値が増大せしめられる。このようにして増大した積分項の値は定期的にメイン学習値mfbgに取り込まれる。このため、図13に示したように、メイン学習値mfbgの値は徐々に上昇する。なお、図13に示した例では、説明を分かりやすくするため、積分項のメイン学習値mfbgへの取り込みを短い時間間隔で行った場合を示しており、このためメイン学習値mfbgはステップ的に変化せずに徐々に増大している。また、これに伴って、学習値差Δfbgは徐々に増大する。
その後、図13に示した例では、時刻t5において、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下に低下する。このとき、図13からわかるように、時刻t1〜時刻t2における積算酸素過剰量R1よりも時刻t2〜時刻t5における積算酸素不足量F1の方が多い。このため、時刻t5では、上記式(5)により、サブ学習値sfbgが減少せしめられ、よって制御中心空燃比AFRがリッチ側へ補正される。したがって、図13からわかるように、時刻t3においてメイン学習値mfbgは正の値となり、サブ学習値sfbgは負の値となる。しかし、時刻t3においては、メイン学習値mfbgの絶対値はその基準絶対値Rmfよりも小さい。同様に、時刻t3においては、サブ学習値sfbgの絶対値はその基準絶対値Rsfよりも小さい。したがって、時刻t3においては、サブ学習促進制御は開始されない。また、これに伴って、学習値差Δfbgが増大せしめられる。
時刻t5以降も同様な制御が繰り返され、図13に示した例では、やがて時刻t7においてメイン学習値mfbgの絶対値はその基準絶対値Rmf以上になり、サブ学習値sfbgの絶対値はその基準絶対値Rsf以上になる。このため、時刻t7において、リッチインバランスが発生していると判定されて、サブ学習促進制御が開始される。加えて、図13に示した例では、学習値差Δfbgも予め定められた基準差fbgrefに以上になる。このため、リッチインバランスの発生を学習値差Δfbgにも基づいて判定している場合でも、時刻t7においてリッチインバランスが発生していると判定され、サブ学習促進制御が開始される。具体的には、時刻t7において、リーン設定補正量AFCleanが、第一リーン設定補正量AFClean1から第二リーン設定補正量AFClean2へと減少せしめられる。これにより、リーン設定空燃比がリッチ側に変化せしめられる。また、時刻t7において、リッチ設定補正量AFCrichが、第一リッチ設定補正量AFCrich1から第二リッチ設定補正量AFCrich2へと減少せしめられる。これにより、リッチ設定空燃比もリッチ側に変化せしめられる。
加えて、時刻t7においては、切替基準値OEDrefが第一切替基準値OEDref1から第二切替基準値OEDref2へ減少せしめられる。さらに、時刻t7においては、サブ学習値sfbgの上限ガード値Gupが増大せしめられ、下限ガード値Glowが低下せしめられる(図13では、下限ガード値Glowのみが示されている)。具体的には、図13に示した例では、下限ガード値Glowは、第一下限ガード値Glow1から第二ガード値Glow2へ低下せしめられる。下限ガード値Glowは負の値であるため、第二ガード値Glow2の絶対値は第一下限ガード値Glow1の絶対値よりも大きい。加えて、時刻t7以降は、過不足量誤差ΔΣOEDを制御中心空燃比AFRに反映させる程度を表すゲインkbがkb1からkb2へと増大せしめられる。
このように、時刻t7において切替基準値OEDrefが減少せしめられることにより、時刻t7において空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられてから時刻t8において積算酸素過不足量ΣOEDが切替基準値OEDrefに到達するまでの時間(酸素増大期間)Tincが短くなる。加えて、時刻t7において、リッチ設定補正量AFCrichが減少せしめられ且つリーン設定補正量AFCleanが減少せしめられることにより、時刻t8において空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられてから時刻t9において下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下になるまでの時間(酸素減少期間)Tdecが短くなる。この結果、サブ学習値sfbgの更新サイクルが短くなり、よってサブ学習が促進せしめられる。
また、ゲインkbが増大せしめられることから、時刻t9においてサブ学習値sfbgを更新する際に、過不足量誤差ΔΣOEDに対するサブ学習値sfbgの更新量が大きくなる。このことによってもサブ学習が促進せしめられる。
加えて、時刻t7以降は、下限ガード値Glowの絶対値が大きくされる。ここで、図13に示した例では、時刻t9において、サブ学習値sfbgは第一下限ガード値Glow1よりもその絶対値が大きな値となっている。このため、時刻t7において下限ガード値Glowが第一下限ガード値Glow1から第二下限ガード値Glow2に変更されていなければ、サブ学習値sfbgは第一下限ガード値Glow1に設定されていたことになる。これに対して、本実施形態では、時刻t7において下限ガード値Glowの絶対値が大きくされるため、時刻t9においてサブ学習値sfbgを第一下限ガード値Glow1よりも絶対値の大きな値に設定することができる。したがって、本実施形態では、このことによってもサブ学習が促進せしめられる。
なお、上述したようなサブ学習促進制御により、サブ学習値sfbgは早期に一定の値に収束する。このようにサブ学習値sfbgが収束すると、それ以降はサブ学習値の更新サイクルを短くする必要はない。このため、サブ学習値sfbgが収束すると、リッチ設定補正量AFCrichは第一リッチ設定補正量AFCrich1に戻され、リーン設定補正量AFCleanは第一リーン設定補正量AFClean1に戻される。加えて、切替基準値OEDrefも第一切替基準値OEDref1に戻される。加えて、ゲインkbもkb2から時刻t7以前の値kb1へ低下せしめられる。一方、上限ガード値Gup及び下限ガード値Glowは、サブ学習値sfbgが収束しても、その絶対値が大きいまま維持される。
<具体的な制御の説明>
次に、図14〜図17を参照して、上記実施形態における制御装置について具体的に説明する。本実施形態における制御装置は、機能ブロック図である図14に示したように、A1〜A10の各機能ブロックを含んで構成されている。以下、図14を参照しながら各機能ブロックについて説明する。これら各機能ブロックA1〜A10における操作は、基本的にECU31において実行される。
<燃料供給量の算出>
まず、燃料供給量の算出について説明する。燃料供給量の算出に当たっては、筒内吸入空気量算出手段A1、基本燃料供給量算出手段A2、及び燃料供給量算出手段A3が用いられる。
筒内吸入空気量算出手段A1は、吸入空気流量Gaと、機関回転数NEと、ECU31のROM34に記憶されたマップ又は計算式とに基づいて、各気筒への筒内吸入空気量Mcを算出する。吸入空気流量Gaは空気流量検出装置39によって計測され、機関回転数NEはクランク角センサ44の出力に基づいて算出される。
基本燃料供給量算出手段A2は、筒内吸入空気量算出手段A1によって算出された筒内吸入空気量Mcを、補正目標空燃比AFTで除算することにより、基本燃料供給量Qbaseを算出する(Qbase=Mc/AFT)。補正目標空燃比AFTは、後述する目標空燃比設定手段A8によって算出される。
燃料供給量算出手段A3は、基本燃料供給量算出手段A2によって算出された基本燃料供給量Qbaseに、後述するF/B補正量・メイン学習値算出手段によって算出されたF/B補正量DFi及びメイン学習値mfbgを加えることで燃料供給量Qiを算出する(Qi=Qbase+DFi+mfbg)。このようにして算出された燃料供給量Qiの燃料が燃料噴射弁11から噴射されるように、燃料噴射弁11に対して噴射指示が行われる。
<目標空燃比の算出>
次に、補正目標空燃比の算出について説明する。補正目標空燃比は、サブ学習値sfbgによって補正された目標空燃比である。補正目標空燃比の算出に当たっては、酸素過不足量算出手段A4、空燃比補正量算出手段A5、サブ学習値算出手段A6、制御中心空燃比算出手段A7、目標空燃比設定手段A8が用いられる。
酸素過不足量算出手段A4は、燃料供給量算出手段A3によって算出された燃料供給量Qi、上流側空燃比センサ40の出力空燃比AFup及び後述する制御中心空燃比算出手段A7によって算出された制御中心空燃比AFRに基づいて積算酸素過不足量ΣOEDを算出する。酸素過不足量算出手段A4は、例えば、上流側空燃比センサ40の出力空燃比AFupと制御中心空燃比AFRとの差分に燃料供給量Qiを乗算すると共に、求めた値を積算することによって積算酸素過不足量ΣOEDを算出する。
空燃比補正量算出手段A5では、酸素過不足量算出手段A4によって算出された積算酸素過不足量ΣOEDと、下流側空燃比センサ41の出力空燃比AFdwnとに基づいて、空燃比補正量AFCが算出される。具体的には、図15に示したフローチャートに基づいて空燃比補正量AFCが算出される。
サブ学習値算出手段A6では、下流側空燃比センサ41の出力空燃比AFdwn、酸素過不足量算出手段A4によって算出された積算酸素過不足量ΣOED等に基づいてサブ学習値sfbgが算出される。具体的には、図16に示したサブ学習制御のフローチャートに基づいてサブ学習値sfbgが算出される。このようにして算出されたサブ学習値sfbgは、ECU31のRAM33のうち、内燃機関を搭載した車両のイグニッションキーがオフにされても消去されない記憶媒体に保存される。
制御中心空燃比算出手段A7では、基本制御中心空燃比AFRbase(例えば、理論空燃比)と、サブ学習値算出手段A6によって算出されたサブ学習値sfbgとに基づいて制御中心空燃比AFRが算出される。具体的には、上述した式(6)に示したように、基本制御中心空燃比AFRbaseにサブ学習値sfbgを加算することによって制御中心空燃比AFRが算出される。
目標空燃比設定手段A8は、制御中心空燃比算出手段A7によって算出された制御中心空燃比AFRに、空燃比補正量算出手段A5で算出された空燃比補正量AFCを加算することで、補正目標空燃比AFTを算出する。このようにして算出された補正目標空燃比AFTは、基本燃料供給量算出手段A2及び後述する空燃比偏差算出手段A9に入力される。
<F/B補正量及びメイン学習値の算出>
次に、上流側空燃比センサ40の出力空燃比AFupに基づいたF/B補正量及びメイン学習値の算出について説明する。F/B補正量DFi及びメイン学習値mfbgの算出に当たっては、空燃比偏差算出手段A9、F/B補正量・メイン学習値算出手段A10が用いられる。
空燃比偏差算出手段A9は、上流側空燃比センサ40の出力空燃比AFupから目標空燃比設定手段A8によって算出された補正目標空燃比AFTを減算することによって空燃比偏差DAFを算出する(DAF=AFup−AFT)。この空燃比偏差DAFは、補正目標空燃比AFTに対する燃料供給量の過不足を表す値である。
F/B補正量・メイン学習値算出手段A10は、空燃比偏差算出手段A9によって算出された空燃比偏差DAFを、比例・積分・微分処理(PID処理)することで、上記式(1)に基づいて燃料供給量の過不足を補償するためのF/B補正量DFiを算出する。加えて、積分処理において算出された時間積分値SDAFの一部を上述した式(2)により取り込んで、メイン学習値mfbgが更新される。また、メイン学習値mfbgの更新に伴って時間積分値SDAFが上記式(3)により補正され、よってF/B補正量DFiが補正される。このようにして算出されたF/B補正量DFi及びメイン学習値mfbgは、燃料供給量算出手段A3に入力される。
<空燃比補正量設定制御のフローチャート>
図15は、空燃比補正量AFCの算出制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔で行われる。
図15に示したように、まず、ステップS11において空燃比補正量AFCの算出条件が成立しているか否かが判定される。空燃比補正量AFCの算出条件が成立している場合とは、フィードバック制御が行われる通常制御中であること、例えば燃料カット制御等の特殊な制御中ではないこと等が挙げられる。ステップS11において目標空燃比の算出条件が成立していると判定された場合には、ステップS12へと進む。
ステップS12では、リーン設定フラグFlsが0に設定されているか否かが判定される。リーン設定フラグFlsは、空燃比補正量AFCがリーン設定補正量AFCleanに設定されると1とされ、それ以外の場合には0とされる。ステップS12においてリーン設定フラグFlsが0に設定されている場合には、ステップS13へと進む。ステップS13では、下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下であるか否かが判定される。下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrichよりも大きいと判定された場合にはステップS14へと進む。ステップS14では、空燃比補正量AFCがリッチ設定補正量AFCrichに設定されたまま維持され、制御ルーチンが終了せしめられる。
一方、上流側排気浄化触媒20の酸素吸蔵量OSAが減少して、上流側排気浄化触媒20から流出する排気ガスの空燃比が低下すると、ステップS13にて下流側空燃比センサ41の出力空燃比AFdwnがリッチ判定空燃比AFrich以下であると判定される。この場合には、ステップS15へと進み、空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられる。次いで、ステップS16では、リーン設定フラグFlsが1に設定され、制御ルーチンが終了せしめられる。
リーン設定フラグFlsが1に設定されると、次の制御ルーチンにおいては、ステップS12において、リーン設定フラグFlsが0に設定されていないと判定されて、ステップS17へと進む。ステップS17では、空燃比補正量AFCがリーン設定補正量AFCleanに切り替えられてからの積算酸素過不足量ΣOEDが切替基準値OEDref以上であるか否かが判定される。積算酸素過不足量ΣOEDが切替基準値OEDrefよりも少ないと判定された場合にはステップS18へと進み、空燃比補正量AFCが引き続きリーン設定補正量AFCleanに設定されたまま維持され、制御ルーチンが終了せしめられる。一方、上流側排気浄化触媒20の酸素吸蔵量が増大すると、やがてステップS17において積算酸素過不足量ΣOEDが切替基準値OEDref以上であると判定され、ステップS19へと進む。ステップS19では、空燃比補正量AFCがリッチ設定補正量AFCrichに切り替えられる。次いで、ステップS20では、リーン設定フラグFlsが0にリセットされ、制御ルーチンが終了せしめられる。
<サブ学習制御のフローチャート>
図16は、サブ学習基本制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔で行われる。
図16に示したように、まず、ステップS21において、サブ学習値sfbgの更新条件が成立しているか否かが判定される。更新条件が成立している場合とは、例えば、通常制御中であること等が挙げられる。ステップS21において、サブ学習値sfbgの更新条件が成立していると判定された場合には、ステップS22へと進む。ステップS22では、リーンフラグFlが0に設定されているか否かが判定される。リーンフラグFlも、リーン設定フラグFlsと同様に、空燃比補正量AFCがリーン設定補正量AFCleanに設定されると1とされ、それ以外の場合には0とされる。ステップS22において、リーンフラグFlが0に設定されていると判定された場合には、ステップS23へと進む。
ステップS23では、空燃比補正量AFCが0よりも大きいか否か、すなわち目標空燃比がリーン空燃比であるか否かが判定される。ステップS23において、空燃比補正量AFCが0よりも大きいと判定された場合には、ステップS24へと進む。ステップS24では、積算酸素過不足量ΣOEDに現在の酸素過不足量OEDが加算されたものが新たな積算酸素過不足量ΣOEDとされ、制御ルーチンが終了せしめられる。
その後、目標空燃比がリッチ空燃比へと切り替えられると、次の制御ルーチンではステップS23において空燃比補正量AFCが0以下であると判定され、ステップS25へと進む。ステップS25では、リーンフラグFlが0にリセットされ、次いで、ステップS26ではRnが現在の積算酸素過不足量ΣOEDの絶対値とされる。次いで、ステップS27では、積算酸素過不足量ΣOEDが0にリセットされ、制御ルーチンが終了せしめられる。
一方、リーンフラグFlが0にリセットされると、次の制御ルーチンでは、ステップS22からステップS28へと進む。ステップS28では、空燃比補正量AFCが0よりも小さいか否か、すなわち目標空燃比がリッチ空燃比であるか否かが判定される。ステップS28において、空燃比補正量AFCが0よりも小さいと判定された場合にはステップS29へと進む。ステップS29では、積算酸素過不足量ΣOEDに現在の酸素過不足量OEDが加算されたものが新たな積算酸素過不足量ΣOEDとされる。
その後、目標空燃比がリーン空燃比へと切り替えられると、次の制御ルーチンではステップS28において空燃比補正量AFCが0以上であると判定され、ステップS30へと進む。ステップS30では、リーンフラグFlが1にセットされ、次いで、ステップS31では、Fnが現在の積算酸素過不足量ΣOEDの絶対値とされる。次いで、ステップS32では、積算酸素過不足量ΣOEDが0にリセットされる。次いで、ステップS33では、ステップS26で算出されたRnとステップS31で算出されたFnに基づいて上述した式(5)を用いてサブ学習値sfbgが更新される。
次いで、ステップS34では、ステップS33で算出されたサブ学習値sfbgが下限ガード値Glowよりも小さいか否かが判定される。ステップS34において、サブ学習値sfbgが下限ガード値Glowよりも小さいと判定された場合には、ステップS35へと進む。ステップS35では、サブ学習値sfbgが下限ガード値Glowに設定される。一方、ステップS34において、サブ学習値sfbgが下限ガード値Glow以上であると判定された場合には、ステップS35がスキップされる。
次いで、ステップS36では、ステップS33で算出されたサブ学習値sfbgが上限ガード値Gupよりも大きいか否かが判定される。ステップS36において、サブ学習値sfbgが上限ガード値Gupよりも大きいと判定された場合には、ステップS37へと進む。ステップS37では、サブ学習値sfbgが上限ガード値Gupに設定される。一方、ステップS36において、サブ学習値sfbgが上限ガード値Gup以上であると判定された場合には、ステップS37がスキップされる。その後、制御ルーチンが終了せしめられる。
<サブ学習促進制御のフローチャート>
図17は、サブ学習促進制御の制御ルーチンを示すフローチャートである。図示した制御ルーチンは一定時間間隔で行われる。
まず、ステップS41において、サブ学習促進制御の実行フラグFeが0であるか否かが判定される。サブ学習促進制御の実行フラグFeは学習の促進が行われているときには1にセットされ、行われていないときには0にセットされるフラグである。ステップS41において、サブ学習促進制御の実行フラグFeが0であると判定された場合には、ステップS42へと進む。ステップS42では、リッチインバランスの発生判定条件が成立していないか否かが判定される。リッチインバランスの発生判定条件は、メイン学習値mfbgとサブ学習値sfbgとの正負が反対であってメイン学習値mfbg及びサブ学習値sfbgの絶対値がそれぞれ基準絶対値以上であるときに成立する。或いは、これら条件が成立しているときに加えて、メイン学習値mfbgからサブ学習値sfbgを減算した学習値差Δfbgが基準差以上であるときに成立する。ステップS42において、リッチインバランスの発生判定条件が成立していないと判定された場合には、ステップS43へと進む。ステップS43では、リッチ設定補正量AFCrichが第一リッチ設定補正量AFCrich1に設定されると共に、リーン設定補正量AFCleanが第一リーン設定補正量AFClean1に設定される。次いで、ステップS44では、切替基準値OEDrefが第一切替基準値OEDref1に設定されると共に、過不足量誤差ΔΣOEDを制御中心空燃比AFRに反映させる程度を表すゲインkbがkb1に設定される。次いで、ステップS45では、上限ガード値Gupが第一上限ガード値Gup1に設定され、下限ガード値Glowが第一下限ガード値Glow1に設定され、制御ルーチンが終了せしめられる。
一方、ステップS42において、リッチインバランスの発生判定条件が成立していると判定された場合には、ステップS42からステップS46へと進む。ステップS46では、リッチ設定補正量AFCrichが第二リッチ設定補正量AFCrich2に設定されると共に、リーン設定補正量AFCleanが第二リーン設定補正量AFClean2に設定される。第二リッチ設定補正量AFCrich2は第一リッチ設定補正量AFCrich1よりも小さい値(リッチ側の値に相当)である。また、第二リーン設定補正量AFClean2は第一リーン設定補正量AFClean1よりも小さい値(リッチ側の値に相当)である。
次いで、ステップS47では、切替基準値OEDrefが第二切替基準値OEDref2に設定されると共に、ゲインkbがkb2に設定される。第二切替基準値OEDrefは第一切替基準値OEDref1よりも小さい値であり、また、kb2はkb1よりも大きい値である。次いで、ステップS48では、上限ガード値Gupが第二上限ガード値Gup2に設定され、下限ガード値Glowが第二下限ガード値Glow2に設定される。第二上限ガード値Gup2はその絶対値が第一上限ガード値Gup1の絶対値よりも大きくなるような値である。また、第二下限ガード値Glow2はその絶対値が第一下限ガード値Glow1の絶対値よりも大きくなるような値である。次いで、ステップS49において、実行フラグFeが1にセットされ、制御ルーチンが終了せしめられる。
実行フラグFeが1にセットされると、次の制御ルーチンでは、ステップS41からステップS50へと進む。ステップS50では、リッチインバランスの発生判定条件が成立しているか否かが判定される。ステップS50において、リッチインバランスの発生判定条件が成立していると判定された場合には、ステップS51へと進む。ステップS51では、サブ学習値sfbgが一定の値に収束したか否かが判定される。サブ学習値sfbgは、例えば、一定時間内におけるサブ学習値sfbgの変動量が一定値以内であるときに収束していると判定される。ステップS51において、サブ学習値sfbgが収束していないと判定された場合には、ステップS46へと進む。一方、ステップS51において、サブ学習値sfbgが収束していないと判定された場合にはステップS52へと進む。ステップS52及びS53では、ステップS43及びS44と同様な操作が行われる。次いで、ステップS54では、ステップS48と同様な操作が行われ、制御ルーチンが終了せしめられる。
一方、ステップS50において、学習値差Δfbgが基準値fbgref未満であると判定された場合には、ステップS55へと進む。ステップS55からS57では、ステップS43からS45と同様な操作が行われる。次いで、ステップS58では、実行フラグFeが0にリセットされ、制御ルーチンが終了せしめられる。