(57)【特許請求の範囲】
【請求項１】
三元触媒上流の機関排気通路内に上流側空燃比センサを配置すると共に三元触媒下流の機関排気通路内に下流側空燃比センサを配置した内燃機関において、吸入空気量と上流側空燃比センサにより検出された空燃比と三元触媒における酸素の脱離速度と吸着速度の速度比とから三元触媒に貯蔵された酸素の脱離量を示す貯蔵酸素脱離量を算出する算出手段と、該貯蔵酸素脱離量が目標脱離量となるように機関の空燃比を制御する制御手段と、算出された貯蔵酸素脱離量が零に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリーンであるときには脱離速度を吸着速度に対し相対的に減少すべく上記速度比を修正し、かつ算出された貯蔵酸素脱離量が零に達しているにもかかわらず下流側空燃比センサにより検出された空燃比がリーンでないときには脱離速度を吸着速度に対し相対的に増大すべく上記速度比を修正する速度比修正手段とを具備した内燃機関の空燃比制御装置。
【請求項２】
算出された貯蔵酸素脱離量が最大脱離量に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチであるときには最大脱離量を減量修正し、かつ算出された貯蔵酸素脱離量が最大脱離量に達しているにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチでないときには最大脱離量を増量修正する最大脱離量修正手段を具備した請求項１に記載の内燃機関の空燃比制御装置。
【請求項３】
三元触媒上流の機関排気通路内に上流側空燃比センサを配置すると共に三元触媒下流の機関排気通路内に下流側空燃比センサを配置した内燃機関において、吸入空気量と上流側空燃比センサにより検出された空燃比と三元触媒における酸素の脱離速度と吸着速度の速度比とから三元触媒に貯蔵された酸素の脱離量を示す貯蔵酸素脱離量を算出する算出手段と、該貯蔵酸素脱離量が目標脱離量となるように機関の空燃比を制御する制御手段と、算出された貯蔵酸素脱離量が最大脱離量に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチであるときには脱離速度を吸着速度に対し相対的に増大すべく上記速度比を修正し、かつ算出された貯蔵酸素脱離量が最大脱離量に達しているにもかかわらず下流側空燃比センサにより検出された空燃比がリッチでないときには脱離速度を吸着速度に対し相対的に減少すべく上記速度比を修正する速度比修正手段とを具備した内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は内燃機関の空燃比制御装置に関する。
【０００２】
【従来の技術】
三元触媒は空燃比がほぼ理論空燃比のときにＨＣ，ＣＯを酸化しかつＮＯｘを還元する機能を有し、従って空燃比をほぼ理論空燃比に維持しえれば三元触媒を用いてＨＣ，ＣＯ，ＮＯｘを同時に浄化することができる。ところが空燃比をほぼ理論空燃比に維持することは困難であり、実際には空燃比が理論空燃比からずれてしまう。しかしながら空燃比が理論空燃比からずれたとしても三元触媒のＯ2 スレージ機能、即ち酸素貯蔵機能によってＨＣ，ＣＯ，ＮＯｘを浄化することができる。
【０００３】
即ち、三元触媒は空燃比がリーンのときに排気ガス中の過剰酸素を取込んで貯蔵する機能を有し、この機能によってＮＯｘが還元せしめられる。一方、空燃比がリッチになると排気ガス中の未燃ＨＣ，ＣＯが三元触媒内に貯蔵されている酸素を奪い、それによって未燃ＨＣ，ＣＯが酸化せしめられる。従って空燃比が理論空燃比からずれたときにＮＯｘを還元せしめるには三元触媒が酸素を貯蔵しえる状態になければならず、即ち三元触媒の酸素吸蔵量が最大酸素吸蔵量に対して余裕がなければならず、一方このとき未燃ＨＣ，ＣＯを酸化せしめるには三元触媒が或る程度の酸素を貯蔵していなければならないことになる。即ち、空燃比が理論空燃比からリーン側にずれたときにＮＯｘを還元でき、空燃比が理論空燃比に対してリッチ側にずれたときに未燃ＨＣ，ＣＯを酸化できるようにするためには三元触媒の酸素吸蔵量を最大酸素吸蔵量の半分程度に維持しておく必要がある。
【０００４】
ところで三元触媒に吸着される酸素量および三元触媒から脱離される酸素量は吸入空気量および理論空燃比に対する空燃比のずれ量から算出することができ、従ってこれら吸入空気量および空燃比のずれ量から三元触媒の貯蔵酸素量を算出することができる。そこで三元触媒に貯蔵しておくべき目標貯蔵酸素量を予め定めておき、算出された三元触媒の貯蔵酸素量がこの目標貯蔵酸素量となるように燃料噴射量を制御するようにした内燃機関が公知である（特開昭６−２４９０２８号公報参照）。
【０００５】
【発明が解決しようとする課題】
ところでこのように算出された貯蔵酸素量に基づいて三元触媒に貯蔵しておくべき酸素量を制御するためには三元触媒の貯蔵酸素量を正確に算出しなければならない。ところが上述のように吸入空気量および空燃比のずれ量から貯蔵酸素量を算出していると算出しているうちに実際の貯蔵酸素量に対してずれを生じ、従って貯蔵酸素量を正確に算出するためにはこのずれ量を修正する必要がある。しかしながら上述の内燃機関ではこのずれ量の修正を行っておらず、斯くして算出された貯蔵酸素量が実際の貯蔵酸素量を正確に表していないという問題を生ずる。
【０００６】
【課題を解決するための手段】
上記問題点を解決するために１番目の発明によれば、三元触媒上流の機関排気通路内に上流側空燃比センサを配置すると共に三元触媒下流の機関排気通路内に下流側空燃比センサを配置した内燃機関において、吸入空気量と上流側空燃比センサにより検出された空燃比と三元触媒における酸素の脱離速度と吸着速度の速度比とから三元触媒に貯蔵されている酸素の脱離量を示す貯蔵酸素脱離量を算出する算出手段と、貯蔵酸素脱離量が目標脱離量となるように機関の空燃比を制御する制御手段と、算出された貯蔵酸素脱離量が零に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリーンであるときには脱離速度を吸着速度に対し相対的に減少すべく速度比を修正し、かつ算出された貯蔵酸素脱離量が零に達しているにもかかわらず下流側空燃比センサにより検出された空燃比がリーンでないときには脱離速度を吸着速度に対し相対的に増大すべく速度比を修正する速度比修正手段とを具備している。
【０００７】
即ち、算出された貯蔵酸素脱離量が零に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリーンであるときには、即ち計算上では貯蔵酸素脱離量が零に達していないのに実際には零になっているときには計算上の酸素の脱離速度が実際よりも速すぎると考えられる。従ってこのときには脱離速度を吸着速度に対し相対的に減少させる。これに対して算出された貯蔵酸素脱離量が零であるにもかかわらずに下流側空燃比センサにより検出された空燃比がリーンでないとき、即ち計算上では貯蔵酸素脱離量が零であるのに実際には零でないときには計算上の酸素の脱離速度が実際よりも遅すぎると考えられる。従ってこのときには逆に脱離速度を吸着速度に対し相対的に増大させる。
【０００８】
２番目の発明では１番目の発明において、算出された貯蔵酸素脱離量が最大脱離量に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチであるときには最大脱離量を減量修正し、かつ算出された貯蔵酸素脱離量が最大脱離量に達しているにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチでないときには最大脱離量を増量修正する最大脱離量修正手段を具備している。
【０００９】
即ち、算出された貯蔵酸素脱離量が最大脱離量に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチであるときには、即ち計算上では貯蔵酸素脱離量が最大脱離量に達しているのに実際には最大脱離量に達していないときには計算上の最大脱離量が大きすぎると考えられる。従ってこのときには最大脱離量が減少せしめられる。これに対して算出された貯蔵酸素脱離量が最大脱離量に達しているにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチでないとき、即ち計算上では貯蔵酸素脱離量が最大脱離量に達しているのに実際には最大脱離量に達していないときには計算上の最大脱離量が小さすぎると考えられる。従ってこのときには最大脱離量が増大せしめられる。
【００１０】
３番目の発明では、三元触媒上流の機関排気通路内に上流側空燃比センサを配置すると共に三元触媒下流の機関排気通路内に下流側空燃比センサを配置した内燃機関において、吸入空気量と上流側空燃比センサにより検出された空燃比と三元触媒における酸素の脱離速度と吸着速度の速度比とから三元触媒に貯蔵された酸素の脱離量を示す貯蔵酸素脱離量を算出する算出手段と、該貯蔵酸素脱離量が目標脱離量となるように機関の空燃比を制御する制御手段と、算出された貯蔵酸素脱離量が最大脱離量に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチであるときには脱離速度を吸着速度に対し相対的に増大すべく速度比を修正し、かつ算出された貯蔵酸素脱離量が最大脱離量に達しているにもかかわらず下流側空燃比センサにより検出された空燃比がリッチでないときには脱離速度を吸着速度に対し相対的に減少すべく速度比を修正する速度比修正手段とを具備している。
【００１１】
即ち、算出された貯蔵酸素脱離量が最大脱離量に達していないにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチであるときには、即ち計算上では貯蔵酸素脱離量が最大脱離量に達していないのに実際には最大脱離量に達しているときには計算上の酸素の脱離速度が実際よりも遅すぎると考えられる。従ってこのときには脱離速度を吸着速度に対し相対的に増大させる。これに対して算出された貯蔵酸素脱離量が最大脱離量に達しているにもかかわらずに下流側空燃比センサにより検出された空燃比がリッチでないとき、即ち計算上では貯蔵酸素脱離量が最大脱離量に達しているのに実際には最大脱離量に達していないときには計算上の酸素の脱離速度が実際よりも速すぎると考えられる。従ってこのときには逆に脱離速度を吸着速度に対し相対的に減少させる。
【００１２】
【発明の実施の形態】
図１を参照すると、１は機関本体、２はピストン、３は燃焼室、４は点火栓、５は吸気弁、６は吸気ポート、７は排気弁、８は排気ポートを夫々示す。吸気ポート６は対応する枝管９を介してサージタンク１０に連結され、各枝管９には夫々吸気ポート６内に向けて燃料を噴射する燃料噴射弁１１が取付けられる。サージタンク１０は吸気ダクト１２およびエアフローメータ１３を介してエアクリーナ１４に連結され、吸気ダクト１２内にはスロットル弁１５が配置される。一方、排気ポート８は排気マニホルド１６および排気管１７を介して三元触媒１８を内蔵したケーシング１９に接続される。
【００１３】
電子制御ユニット３０はディジタルコンピュータからなり、双方向性バス３１によって相互に接続されたＲＯＭ（リードオンリメモリ）３２、ＲＡＭ（ランダムアクセスメモリ）３３、ＣＰＵ（マイクロプロセッサ）３４、常時電源に接続されたバックアップＲＡＭ３５、入力ポート３６および出力ポート３７を具備する。エアフローメータ１３は吸入空気量に比例した出力電圧を発生し、この出力電圧が対応するＡＤ変換器３８を介して入力ポート３６に入力される。スロットル弁１５にはスロットル弁１５がアイドリング位置にあることを示す出力信号を発生するアイドルスイッチ２１が取付けられ、このアイドルスイッチ２１の出力信号が入力ポート３６に入力される。また、機関本体１には機関冷却水温に比例した出力電圧を発生する水温センサ２２が取付けられ、この水温センサ２２の出力電圧が対応するＡＤ変換器３８を介して入力ポート３６に入力される。
【００１４】
一方、三元触媒１８上流の排気管１７内には空燃比センサ２３（以下、上流側空燃比センサと称する）が配置され、三元触媒１８下流の排気管２０内にも空燃比センサ２４（以下、下流側空燃比センサと称する）が配置される。これら空燃比センサ２３，２４の出力信号は対応するＡＤ変換器３８を介して入力ポート３６に入力される。また、三元触媒１８内には三元触媒１８の温度に比例した出力電圧を発生する温度センサ２５が配置され、この温度センサ２５の出力電圧が対応するＡＤ変換器３８を介して入力ポート３６に入力される。また、入力ポート３６には機関回転数を表わす出力パルスを発生する回転数センサ２６が接続される。一方、出力ポート３７は対応する駆動回路３９を介して夫々点火栓４および燃料噴射弁１１に接続される。
【００１５】
上流側空燃比センサ２３は図２（Ａ）に示されるように空燃比Ａ／Ｆに応じた電流Ｉを発生する。この電流Ｉは電圧に変換されてＡＤ変換器３８を介し入力ポート３６に入力される。従って上流側空燃比センサ２３の出力信号から三元触媒１８上流における空燃比Ａ／Ｆを知ることができる。
これに対して下流側空燃比センサ２４は図２（Ｂ）に示されるように理論空燃比において急変する出力電圧Ｖを発生する。即ち、下流側空燃比センサ２４は空燃比がリーンのときには０．１（Ｖ）程度の出力電圧Ｖを発生し、空燃比がリッチのときには０．９（Ｖ）程度の出力電圧を発生する。なお、本発明による実施例では下流側空燃比センサ２４の出力電圧Ｖが設定値ＶL 、例えば０．２（Ｖ）よりも低いときに三元触媒１８の下流側における空燃比がリーンであると判断し、下流側空燃比センサ２４の出力電圧Ｖが設定値ＶR 、例えば０．７（Ｖ）よりも高いときに三元触媒１８の下流側における空燃比がリッチであると判断するようにしている。
【００１６】
ところで三元触媒１８は空燃比がほぼ理論空燃比のときにＨＣ，ＣＯを酸化しかつＮＯｘを還元する機能、即ちＨＣ，ＣＯおよびＮＯｘを同時に浄化する機能を有する。しかしながら冒頭で述べたように三元触媒１８はＯ2 ストレージ機能、即ちその内部に酸素を貯蔵する機能を有し、このＯ2 ストレージ機能によってたとえ空燃比が理論空燃比からずれたとしても三元触媒１８によってＨＣ，ＣＯおよびＮＯｘを浄化することができる。この酸素の貯蔵作用は三元触媒１８内に含まれるセリウムＣｅによって行われる。
【００１７】
即ち、セリウムＣｅは金属単体の状態であると不安定であり、酸素が結合するとセリアＣｅＯ2 となって安定する。従ってセリウムＣｅの周囲に酸素が存在すれば、即ち空燃比がリーンであればただちに酸素を奪ってセリアＣｅＯ2 となる。一方、空燃比がリッチになると、即ち排気ガス中に多量の未燃ＨＣ，ＣＯが存在するとこれら未燃ＨＣ，ＣＯはセリアＣｅＯ2 から酸素を奪い、従ってセリアＣｅＯ2 は再び不安定なセリウムＣｅとなる。この場合、セリウムＣｅが周囲から酸素を奪うのに要する時間は極めて短かく、即ち酸素の吸着速度は極めて速く、これに対して未燃ＨＣ，ＣＯがセリアＣｅＯ2 から酸素を奪うのに要する時間は若干長いこと、即ち酸素の脱離速度は吸着速度に比べて遅いことが判明している。
【００１８】
このように空燃比がリーンになると排気ガス中から酸素が奪われるので排気ガス中に含まれるＮＯｘが還元せしめられ、空燃比がリッチになると排気ガスの未燃ＨＣ，ＣＯがセリアＣｅＯ2 から酸素を奪うので未燃ＨＣ，ＣＯが酸化せしめられる。従って空燃比が理論空燃比からずれたとしてもＨＣ，ＣＯおよびＮＯｘを浄化することができる。ただし、この場合ＨＣ，ＣＯおよびＮＯｘを浄化することができるのは空燃比がリーンになったときに三元触媒１８が酸素を貯蔵しうる状態になければならず、空燃比がリッチになったときに三元触媒１８が或る程度の酸素を貯蔵していなければならないことになる。
【００１９】
ところで三元触媒１８が貯蔵しうる酸素量には限度があり、三元触媒１８は三元触媒１８が貯蔵しうる酸素量以上の酸素は貯蔵することができない。一方、空燃比が理論空燃比からずれた場合にリーン側にずれるかリッチ側にずれるかはわからず、従ってどちら側にずれても排気ガス中の有害成分を浄化しうるためにはこれから貯蔵しうる酸素量とこれから脱離しうる酸素量とを等しくしておくことが必要となる。即ち、三元触媒１８が貯蔵しうる酸素量に限度があることを考えると三元触媒１８に貯蔵されている酸素量を三元触媒１８が貯蔵しうる最大酸素量の半分に維持しておく必要がある。
【００２０】
ところで三元触媒１８に貯蔵されている酸素量は直接計測することはできず、従ってこの酸素量は通常計算することによって求めるようにしている。この場合、通常は酸素の貯蔵量が零のときを基準として酸素の貯蔵量を算出するようにしているがこのような酸素の貯蔵量が零の状態を確実に創り出すためには空燃比がリッチである状態を積極的に創り出さなければならないという問題がある。更に、三元触媒１８からの酸素の脱離速度は比較的遅く、またこの脱離速度は雰囲気温度の影響を大きく受けるので空燃比が一時的にリッチになったからといって酸素の貯蔵量が必ず零になるとは言えないという欠点がある。即ち、酸素の貯蔵量が零のときを基準とすると基準値が狂うという危険性がある。
【００２１】
これに対して三元触媒１８の酸素の貯蔵量が最大となる状態は容易かつ確実に創り出すことができる。即ち、機関停止中は三元触媒１８は大気にさらされているので三元触媒１８の酸素の貯蔵量は最大となっており、これが三元触媒１８の通常の状態である。従って酸素の貯蔵量が最大である状態を基準とすることは極く自然である。また、減速運転中に燃料の供給を停止することは普通に行われており、このときには三元触媒１８は大気にさらされる。大気中には多量の酸素が存在しており、しかも三元触媒１８の酸素の吸着速度は速いために燃料の供給停止時間が極めて短時間であっても三元触媒１８の酸素の貯蔵量は確実に最大となる。従って本発明による実施例では酸素の貯蔵量が最大のときを基準として酸素の貯蔵量を算出するようにしている。
【００２２】
ところで酸素の貯蔵量が最大であるということは三元触媒に貯蔵されている酸素が全く脱離していないことを意味している。従って本発明による実施例ではこのような状態、即ち貯蔵酸素の脱離量が零の状態を基準として酸素の脱離量を求めるようにしている。この貯蔵酸素脱離量は以下記号ＯＳＣによって表される。従って貯蔵酸素脱離量ＯＳＣが零であるということは酸素の貯蔵量が最大であるときを示しており、貯蔵酸素脱離量ＯＳＣが最大のときには脱離可能な酸素が全部脱離しているときを示している。貯蔵酸素脱離量ＯＳＣが最大のときが以下記号ＯＳＣｍａｘでもって表される。
【００２３】
次に酸素の吸着量および脱離量の計算方法について説明する。本発明による実施例では時間Δｔ当りの酸素吸着量および酸素脱離量が次式を用いて算出される。
吸着量＝ＫＯ2 ・｛Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）｝・Δｔ
脱離量＝ＫＯ2 ・｛Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）／ｋ｝・Δｔ
ここでＫＯ2 は空気中の酸素濃度を示し、Ｇａは吸入空気量（ｇ／ｓ），（Ａ／Ｆ）は上流側空燃比センサ２３により検出された空燃比、（ΔＡ／Ｆ）はこの空燃比（Ａ／Ｆ）と理論空燃比との偏差（Ａ／Ｆ−理論空燃比）を表している。
【００２４】
空燃比がリーンのときには三元触媒１８に酸素が吸着されるのでこのときには上述の吸着量を求める式が用いられる。この式においてＫＯ2 ・Ｇａは機関シリンダ内に単位時間当りに供給される酸素量（ｇ／ｓ）を示しており、（ΔＡ／Ｆ）／（Ａ／Ｆ）は燃焼した際に余剰となる酸素の割合を示している。従ってＫＯ2 ・｛Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）｝・Δｔは時間Δｔ当りの余剰酸素量（ｇ）を表している。ここでΔＡ／Ｆは正である。このような余剰酸素が存在するとこの余剰酸素はただちに三元触媒１８に吸着されるものと考えられるので時間Δｔ当りの吸着量は余剰酸素量と同一量となり、従って時間Δｔ当りの吸着量は上式の如く表されることになる。
【００２５】
このように空燃比がリーンのときには時間Δｔ当り上述の余剰酸素量が貯蔵されることになり、従って上述の貯蔵酸素脱離量ＯＳＣは逆に時間Δｔ当り上述の余剰酸素量だけ減少することになる。従って貯蔵酸素脱離量ＯＳＣは次式で表されることになる。
ＯＳＣ＝ＯＳＣ−ＫＯ2 ・｛Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）｝・Δｔ
一方、空燃比がリッチのときには三元触媒１８から酸素が脱離するのでこのときには上述の脱離量を求める式が用いられる。この式においてもＫＯ2 ・Ｇａは機関シリンダ内に単位時間当りに供給される酸素量（ｇ／ｓ）を示している。これに対しこの式において（ΔＡ／Ｆ）／（Ａ／Ｆ）は燃焼した際に不足する酸素の割合を示しており、従ってＫＯ2 ・｛Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）｝・Δｔは時間Δｔ当りの不足酸素量（ｇ）を表している。ここでΔＡ／Ｆは負である。
【００２６】
燃焼する際に酸素が不足するとこの不足酸素量分だけ未燃ＨＣ，ＣＯが発生し、この未燃ＨＣ，ＣＯの発生量に比例した量の酸素、即ち不足酸素量に比例した量の酸素が三元触媒１８から脱離せしめられる。ところが前述したように三元触媒１８からの酸素の脱離速度は三元触媒１８への酸素の吸着速度よりも遅く、従ってこのとき三元触媒１８から脱離せしめられる酸素量は吸着速度に対して脱離速度が遅い分だけ不足酸素量よりも少なくなる。云い換えると三元触媒１８から脱離せしめられる酸素量は不足酸素量の（脱離速度／吸着速度）倍となる。従ってこの脱離速度と吸着速度との速度比をｌ／ｋ（＝脱離速度／吸着速度）とすると時間Δｔ当りの脱離量は上述の不足酸素量に速度比ｌ／ｋを乗算した量となり、従って時間Δｔ当りの脱離量は上式の如く表されることになる。
【００２７】
このように空燃比がリッチのときには時間Δｔ当り不足酸素量・速度比ｌ／ｋが脱離することになり、従って上述の貯蔵酸素脱離量ＯＳＣは時間Δｔ当り不足酸素量・速度比ｌ／ｋだけ増大することになる。従ってΔＡ／Ｆ＜０であることを考えると貯蔵酸素脱離量ＯＳＣは次式で表されることになる。
ＯＳＣ＝ＯＳＣ−ＫＯ2 ・｛Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）／ｋ｝・Δｔ
なお、空燃比が理論空燃比に維持されているときには酸素の吸着作用および脱離作用は行われていないと考えられるのでこのときには貯蔵酸素脱離量ＯＳＣは変化しない。
【００２８】
このように貯蔵酸素脱離量ＯＳＣは吸入空気量と、上流側空燃比センサ２３により検出された空燃比と、三元触媒１８における酸素の脱離速度と吸着速度の速度比ｌ／ｋとから算出することができる。これに対して貯蔵酸素の最大脱離量ＯＳＣｍａｘは基本的には三元触媒１８が新品のときの最大脱離量Ｇ（Ｔｃ）と三元触媒１８の劣化係数ＤＫとの積（＝Ｇ（Ｔｃ）・ＤＫ）によって表される。三元触媒１８が新品のときの最大脱離量Ｇ（Ｔｃ）は図３（Ａ）に示されるように三元触媒１８の温度Ｔｃの関数であり、この最大脱離量Ｇ（Ｔｃ）は三元触媒１８の温度Ｔｃが高くなるほど大きくなる。
【００２９】
一方、三元触媒１８の劣化係数ＤＫは三元触媒１８が新品のときには１．０である。しかしながら三元触媒１８の使用期間が長くなるにつれて三元触媒１８が次第に劣化し、Ｏ2 ストレージ機能が次第に弱くなる。本発明による実施例では三元触媒１８の使用期間の代表値として累積運転時間ＴＤを用いており、この場合三元触媒１８の劣化係数ＤＫは図３（Ｂ）に示されるように累積運転時間ＴＤが長くなるにつれて次第に小さくなる。
【００３０】
図３（Ａ），（Ｂ）に示されるＧ（Ｔｃ）およびＤＫは実験により求められ、従ってこれらＧ（Ｔｃ）とＤＫの積から求められる最大脱離量ＯＳＣｍａｘは実際の最大脱離量をよく表している。しかしながら三元触媒１８の使用のしかたによってはＧ（Ｔｃ）とＤＫの積から求められる最大脱離量ＯＳＣｍａｘが実際の最大脱離量を正確に表さなくなる危険性がある。そこで本発明による第１実施例では後述するように最大脱離量ＯＳＣｍａｘが実際の最大脱離量を正確に表すように最大脱離量ＯＳＣｍａｘを修正係数ＫＯＳＣにより修正するようにしている。これに対して第２実施例では後述するようにＧ（Ｔｃ）とＤＫの積から求められた最大脱離量ＯＳＣｍａｘを修正することなくそのまま用いている。
【００３１】
本発明による実施例では空燃比が理論空燃比に対してリーン側或いはリッチ側のいずれにずれた場合でも排気ガス中の有害成分を浄化しうるように最大脱離量ＯＳＣｍａｘの半分を目標脱離量ＯＳＣｒｅｆとして設定し、計算により得られた貯蔵酸素脱離量ＯＳＣがこの目標脱離量ＯＳＣｒｅｆとなるように燃料噴射量が制御される。
【００３２】
即ち、本発明による実施例では空燃比を理論空燃比にするのに必要な基本燃料噴射時間ＴＡＵＢが予め実験により求められており、この基本燃料噴射時間ＴＡＵＢは図４に示されるように機関負荷（吸入空気量Ｑ／機関回転数Ｎ）および機関回転数Ｎの関数として予めＲＯＭ３２内に記憶されている。燃料噴射時間をこの基本燃料噴射時間ＴＡＵＢに維持しておくと空燃比は理論空燃比に維持され、従って貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆに維持されているときには燃料噴射時間は基本燃料噴射時間ＴＡＵＢに維持される。これに対して貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆからずれると貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆに戻るように燃料噴射時間が増大又は減少せしめられる。次にこのことについて図５を参照しつつ説明する。
【００３３】
図５に示されるように貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆに維持されているときには燃料噴射時間ＴＡＵが基本燃料噴射時間ＴＡＵＢに維持される。次いで酸素の脱離量が増大し、貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆよりも大きくなると機関空燃比をリーンにすべく燃料噴射時間ＴＡＵが基本燃料噴射時間ＴＡＵＢに対して減少せしめられる。機関空燃比がリーンになると三元触媒１８に酸素が吸着され、斯くして貯蔵酸素脱離量ＯＳＣは再び目標脱離量ＯＳＣｒｅｆに戻る。
【００３４】
次いで酸素の吸着量が増大し、貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆよりも小さくなると機関空燃比をリッチにすべく燃料噴射時間ＴＡＵが基本燃料噴射時間ＴＡＵＢに対して増大せしめられる。機関空燃比がリッチになると三元触媒１８から酸素が脱離され、斯くして貯蔵酸素脱離量ＯＳＣは再び目標脱離量ＯＳＣｒｅｆに戻る。
【００３５】
このように貯蔵酸素脱離量ＯＳＣに応じて燃料噴射時間ＴＡＵを制御することにより貯蔵酸素脱離量ＯＳＣを目標脱離量ＯＳＣｒｅｆに維持することができる。この場合、機関空燃比がリーンになると過剰酸素が三元触媒１８に奪われるために排気ガス中のＮＯｘが還元され、機関空燃比がリッチになると三元触媒１８から酸素を奪うことによって排気ガス中の未燃ＨＣ，ＣＯは酸化され、斯くして三元触媒１８から流出する排気ガス中にはほとんど未燃ＨＣ，ＣＯおよびＮＯｘが含まれないことになる。このとき図５に示されるように下流側空燃比センサ２４の出力電圧Ｖは理論空燃比であることを示す０．４５（Ｖ）付近に維持される。
【００３６】
ところで本発明による実施例では例えば減速運転時において燃料の供給が停止されたときのように三元触媒１８への流入ガスが空気過剰であるとき、即ち貯蔵酸素脱離量ＯＳＣが零であるときを基準として貯蔵酸素脱離量ＯＳＣの計算が開始される。このとき計算上の貯蔵酸素脱離量ＯＳＣや計算上の最大脱離量ＯＳＣｍａｘが実際の貯蔵酸素脱離量や実際の最大脱離量に対してずれると貯蔵酸素脱離量ＯＳＣを実際の最大脱離量の半分である目標脱離量に維持することができなくなる。そこで本発明による第１実施例では計算上の貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量に一致しかつ最大脱離量ＯＳＣｍａｘが実際の最大脱離量に一致するように脱離速度と吸着速度の速度比ｌ／ｋを修正し、かつ最大脱離量ＯＳＣｍａｘを修正係数ＫＯＳＣにより修正するようにしている。次にこのことについて図６から図１１を参照しつつ説明する。
【００３７】
なお、この第１実施例では最大脱離量ＯＳＣｍａｘに修正係数ＫＯＳＣを乗算することによって最大脱離量ＯＳＣｍａｘが修正される。即ち、次式の計算が行われる。
ＯＳＣｍａｘ＝ＯＳＣｍａｘ・ＫＯＳＣ
従って修正係数ＫＯＳＣが増大すると最大脱離量ＯＳＣｍａｘが増大し、修正係数ＫＯＳＣが減少すると最大脱離量ＯＳＣｍａｘが減少することになる。
【００３８】
図６は貯蔵酸素脱離量ＯＳＣおよび最大脱離量ＯＳＣｍａｘが夫々実際の貯蔵酸素脱離量および実際の最大脱離量に完全に一致しており、このような状態で何らかの理由により一時的に機関空燃比が大巾にリーンになった場合を示している。機関空燃比が大巾にリーンになったとすると排気ガス中の酸素が急激に三元触媒１８に吸着されるので貯蔵酸素脱離量ＯＳＣは急激に減少し、零に達する。貯蔵酸素脱離量ＯＳＣが零に達すると三元触媒１８はもはや酸素を吸着しえなくなるために三元触媒１８の下流における空燃比もリーンになり、斯くして図６に示されるように下流側空燃比センサ２４の出力電圧Ｖは０．２（Ｖ）よりも低くなる。即ち、下流側空燃比センサ２４により検出された空燃比はリーンとなる。このときには図６に示されるように修正係数ＫＯＳＣは変化せず、また速度比ｌ／ｋのｋの値も変化しない。
【００３９】
図７は何らかの理由により空燃比が一時的に大巾にリーンになったときに計算上の貯蔵酸素脱離量ＯＳＣが零に達する前に下流側空燃比センサ２４により検出された空燃比がリーンになった場合を示している。このときには酸素の脱離速度を速く設定しすぎていたと考えられる。
このとき貯蔵酸素脱離量ＯＳＣが零に達する前に下流側空燃比センサ２４により検出された空燃比がリーンになったということは貯蔵酸素脱離量ＯＳＣが零に達していなくても実際の貯蔵酸素脱離量は零になっていることを意味している。このように計算上の貯蔵酸素脱離量ＯＳＣと実際の貯蔵酸素脱離量ＯＳＣとの間で差が生じるのは酸素の脱離速度を速く設定しすぎ、その結果計算上の貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量よりも大きくなるからである。そこでこの場合には酸素の脱離速度を遅くさせるために、即ち速度比ｌ／ｋを低下させるために図７に示される如く速度比ｌ／ｋのｋの値を大きくするようにしている。なお、このとき実際の貯蔵酸素脱離量は零になっているので計算上の貯蔵酸素脱離量ＯＳＣは零とされる。
【００４０】
図８は何らかの理由により空燃比が一時的に大巾にリーンになったときに計算上の貯蔵酸素脱離量ＯＳＣが零に達しているにもかかわらずに下流側空燃比センサ２４により検出された空燃比がリーンになっていない場合を示している。このときには酸素の脱離速度を遅く設定しすぎていたと考えられる。
このとき貯蔵酸素脱離量ＯＳＣが零に達しているにもかかわらずに下流側空燃比センサ２４により検出された空燃比がリーンになっていないということは貯蔵酸素脱離量ＯＳＣが零に達していても実際の貯蔵酸素脱離量は零に達していないことを意味している。このように計算上の貯蔵酸素脱離量ＯＳＣと実際の貯蔵酸素脱離量ＯＳＣとの間で差が生じるのは酸素の脱離速度を遅く設定しすぎ、その結果計算上の貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量よりも小さくなるからである。そこでこの場合には酸素の脱離速度を速くさせるために、即ち速度比ｌ／ｋを増大させるために図８に示される如く速度比ｌ／ｋのｋの値を小さくするようにしている。
【００４１】
図９は貯蔵酸素脱離量ＯＳＣおよび最大脱離量ＯＳＣｍａｘが夫々実際の貯蔵酸素脱離量および実際の最大脱離量に完全に一致しており、このような状態で何らかの理由により一時的に機関空燃比が大巾にリッチになった場合を示している。機関空燃比が大巾にリッチになったとすると排気ガス中の酸素が急激に三元触媒１８から脱離されるので貯蔵酸素脱離量ＯＳＣは急激に増大し、最大脱離量ＯＳＣｍａｘに達する。貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達すると三元触媒１８にはもはや脱離すべき酸素が存在しなくなるために三元触媒１８の下流における空燃比もリッチになり、斯くして図９に示されるように下流側空燃比センサ２４の出力電圧Ｖは０．７（Ｖ）よりも高くなる。即ち、下流側空燃比センサ２４により検出された空燃比はリッチとなる。このときには図９に示されるように修正係数ＫＯＳＣは変化せず、また速度比ｌ／ｋのｋの値も変化しない。
【００４２】
図１０は何らかの理由により空燃比が一時的に大巾にリッチになったときに計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達する前に下流側空燃比センサ２４により検出された空燃比がリッチになった場合を示している。即ち、計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達していないのに実際の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達している場合を示している。
【００４３】
このように計算上の最大脱離量ＯＳＣｍａｘと実際の最大脱離量との間で差を生じるのは酸素の脱離速度を低く設定しすぎているか、計算上の最大脱離量ＯＳＣｍａｘが誤まっているからである。この場合、酸素の脱離速度については図７および図８に示す方法で修正されているので酸素の脱離速度は正しいと考えられ、斯くして計算上の最大脱離量ＯＳＣｍａｘが誤まっているものと考えられる。従ってこの場合には図１０に示されるように最大脱離量ＯＳＣｍａｘを低下させるために修正係数ＫＯＳＣが低下せしめられる。更にこのとき貯蔵酸素脱離量ＯＳＣは最大脱離量ＯＳＣｍａｘとされる。
【００４４】
図１１は何らかの理由により空燃比が一時的に大巾にリッチになったときに計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達しているにもかかわらずに下流側空燃比センサ２４により検出された空燃比がリッチになっていない場合を示している。即ち、計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達しているのに実際の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達していない場合を示している。
【００４５】
このように計算上の最大脱離量ＯＳＣｍａｘと実際の最大脱離量との間で差を生じるのは酸素の脱離速度を速く設定しすぎているか、計算上の最大脱離量ＯＳＣｍａｘが誤まっているからである。この場合、前述したように酸素の脱離速度については図７および図８に示す方法で修正されているので酸素の脱離速度は正しいと考えられ、斯くして計算上の最大脱離量ＯＳＣｍａｘが誤まっているものと考えられる。従ってこの場合には図１１に示されるように最大脱離量ＯＳＣｍａｘを増大させるために修正係数ＫＯＳＣが増大せしめられる。
【００４６】
このように第１実施例では計算上の貯蔵酸素脱離量ＯＳＣおよび計算上の最大脱離量ＯＳＣｍａｘが夫々実際の貯蔵酸素脱離量および実際の最大脱離量に正確に一致せしめられる。従って実際の貯蔵酸素脱離量が実際の最大脱離量の半分に維持せしめられるので空燃比が理論空燃比からリーン側或いはリッチ側のいずれにずれても排気ガス中の有害成分を確実に浄化できることになる。
【００４７】
次に第１実施例において用いられる貯蔵酸素脱離量ＯＳＣの算出ルーチンについて図１２を参照しつつ説明する。なお、このルーチンは一定時間毎の割込みによって実行される。
図１２を参照するとまず初めにステップ１００において累積運転時間を求めるためのカウント値ＴＤが１だけインクリメントされる。次いでステップ１０１では機関始動後一定時間経過したか否かが判別され、機関始動後一定時間経過していないときにはステップ１１３に進む。ステップ１１３では貯蔵酸素脱離量ＯＳＣが零とされ、次いで処理サイクルを完了する。一方、ステップ１０１において機関始動後一定時間経過したと判断されたときにはステップ１０２に進んで温度センサ２５により検出された三元触媒１８の温度Ｔｃが一定値Ｔｃｏよりも高くなったか否かが判別される。Ｔｃ≦Ｔｃｏのときにはステップ１１３に進み、Ｔｃ＞Ｔｃｏのときにはステップ１０３に進む。
【００４８】
ステップ１０３では減速運転時において燃料噴射が停止せしめられているか否かが判別され、燃料噴射が停止せしめられているときにはステップ１１３に進む。これに対して燃料噴射が停止せしめられていないときにはステップ１０４に進み、ステップ１０４からステップ１１２において貯蔵酸素脱離量ＯＳＣが算出される。この貯蔵酸素脱離量ＯＳＣの算出が開始される前はステップ１１３において貯蔵酸素脱離量ＯＳＣは零とされており、従って貯蔵酸素脱離量ＯＳＣは零の状態から計算が開始されることがわかる。
【００４９】
ステップ１０４では上流側空燃比センサ２３の出力から図２（Ａ）に示す関係に基づいて算出された空燃比Ａ／Ｆが読込まれる。次いでステップ１０５ではこの空燃比Ａ／Ｆが理論空燃比であるか否かが判別され、空燃比Ａ／Ｆが理論空燃比のときには図１３に示す修正ルーチンに進む。これに対して空燃比Ａ／Ｆが理論空燃比でないときにはステップ１０６に進んで空燃比Ａ／Ｆがリーンであるか否かが判別される。空燃比Ａ／Ｆがリーンであるときにはステップ１０７に進み、エアフローメータ１３により求められた吸入空気量Ｇａ、上流側空燃比センサ２３の出力に基づき算出された空燃比の偏差ΔＡ／Ｆ（＝空燃比Ａ／Ｆ−理論空燃比）および割込み時間間隔Δｔを用いて次式から貯蔵酸素脱離量ＯＳＣが算出される。
【００５０】
ＯＳＣ←ＯＳＣ−ＫＯ2 ・Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）・Δｔ
次いでステップ１０８では貯蔵酸素脱離量ＯＳＣが零よりも大きいか否かが判別される。ＯＳＣ≧０のときには図１３に示す修正ルーチンに進み、ＯＳＣ＜０のときにはステップ１０９に進んでＯＳＣを零とした後図１３に示す修正ルーチンに進む。
【００５１】
一方、ステップ１０６において空燃比Ａ／Ｆがリーンでないと判別されたとき、即ち空燃比Ａ／Ｆがリッチであるときにはステップ１１０に進み、エアフローメータ１３により求められた吸入空気量Ｇａ、上流側空燃比センサ２３の出力に基づき算出された空燃比の偏差ΔＡ／Ｆ（＝空燃比Ａ／Ｆ−理論空燃比）および割込み時間間隔Δｔを用いて次式から貯蔵酸素脱離量ＯＳＣが算出される。
【００５２】
ＯＳＣ←ＯＳＣ−ＫＯ2 ・Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）／ｋ・Δｔ
次いでステップ１１１では貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘよりも大きいか否かが判別される。ＯＳＣ≦ＯＳＣｍａｘのときには図１３に示す修正ルーチンに進み、ＯＳＣ＞ＯＳＣｍａｘのときにはステップ１１２に進んでＯＳＣをＯＳＣｍａｘとした後図１３に示す修正ルーチンに進む。
【００５３】
図１３に示す修正ルーチンではまず初めにステップ１１４において貯蔵酸素脱離量ＯＳＣが零と最大脱離量ＯＳＣｍａｘとの間にあるか否かが判別される。ＯＳＣｍａｘ＞ＯＳＣ＞０であるときにはステップ１１５に進んで下流側空燃比センサ２４の出力電圧Ｖが０．２（Ｖ）と０．７（Ｖ）の間であるか否か、即ち下流側空燃比センサ２４により検出された空燃比が理論空燃比であるか否かが判別される。０．２＜Ｖ＜０．７のときには処理サイクルを完了する。これに対して０．２＜Ｖ＜０．７でないときにはステップ１１６に進む。
【００５４】
ステップ１１６ではＶ≧０．７であるか否かが判別される。Ｖ≧０．７であるとき、即ち下流側空燃比センサ２４により検出された空燃比がリッチであるときにはステップ１１７に進み、次式に基づいて修正係数ＫＯＳＣが更新される。
ＫＯＳＣ＝ＫＯＳＣ・（１−β１）
ここでβ１は１よりも小さい正の定数である。従ってこのときには修正係数ＫＯＳＣが図１０に示されるように減少せしめられる。次いでステップ１１８ではＯＳＣが最大脱離量ＯＳＣｍａｘとされる。
【００５５】
一方、ステップ１１６においてＶ＜０．７であると判断されたとき、即ち下流側空燃比センサ２４により検出された空燃比がリーンであるときにはステップ１１９に進み、次式に基づいて速度比ｌ／ｋのｋの値が更新される。
ｋ＝ｋ・（１＋γ１）
ここでγ１は１よりも小さい正の定数である。従ってこのときにはｋの値が図７に示されるように増大せしめられる。次いでステップ１２０ではＯＳＣが零とされる。
【００５６】
一方、ステップ１１４においてＯＳＣｍａｘ＞ＯＳＣ＞０でないと判別されたときにはステップ１２１に進んで貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘであるか否かが判別される。ＯＳＣ＝ＯＳＣｍａｘのときにはステップ１２２に進んでＶ≧０．７であるか否かが判別される。Ｖ＜０．７のとき、即ち下流側空燃比センサ２４により検出された空燃比がリッチでないときにはステップ１２３に進んで次式に基づき修正係数ＫＯＳＣが更新される。
【００５７】
ＫＯＳＣ＝ＫＯＳＣ・（１＋β２）
ここでβ２は１よりも小さい正の定数である。従ってこのときには修正係数ＫＯＳＣが図１１に示されるように増大せしめられる。
これに対し、ステップ１２１においてＯＳＣ＝ＯＳＣｍａｘではないと判別されたときにはステップ１２４に進んで貯蔵酸素脱離量ＯＳＣが零であるか否かが判別される。ＯＳＣ＝０のときにはステップ１２５に進んでＶ≦０．２であるか否かが判別される。Ｖ＞０．２のとき、即ち下流側空燃比センサ２４により検出された空燃比がリーンでないときにはステップ１２６に進んで次式に基づき速度比ｌ／ｋのｋの値が更新される。
【００５８】
ｋ＝ｋ・（１−γ２）
ここでγ２は１よりも小さい正の定数である。従ってこのときにはｋの値は図８に示されるように減少せしめられる。
次に第１実施例において用いられている燃料噴射時間ＴＡＵの算出ルーチンについて図１４を参照しつつ説明する。なお、このルーチンは繰返し実行される。
【００５９】
図１４を参照するとまず初めにステップ２００において図３（Ａ）に示す関係から求められた最大脱離量Ｇ（Ｔｃ）と、図３（Ｂ）に示す関係から求められた劣化係数ＤＫとの積である最大脱離量ＯＳＣｍａｘ（＝Ｇ（Ｔｃ）・ＤＫ）が算出される。次いでステップ２０１では次式に示すように最大脱離量ＯＳＣｍａｘに修正係数ＫＯＳＣを乗算することによって最大脱離量ＯＳＣｍａｘが更新される。
【００６０】
ＯＳＣｍａｘ＝ＯＳＣｍａｘ・ＫＯＳＣ
次いでステップ２０２では最大脱離量ＯＳＣｍａｘの半分が目標脱離量ＯＳＣｒｅｆとされる。次いでステップ２０３では図４に示すマップから基本燃料噴射時間ＴＡＵＢが算出される。
次いでステップ２０４では貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆと等しいか否かが判別される。ＯＳＣ＝ＯＳＣｒｅｆのときにはステップ２０５に進んで燃料噴射時間ＴＡＵが基本燃料噴射時間ＴＡＵＢとされる。これに対してＯＳＣ＝ＯＳＣｒｅｆでないときにはステップ２０６に進んで貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆよりも少ないか否かが判別される。ＯＳＣ＜ＯＳＣｒｅｆのときにはステップ２０７に進んで基本燃料噴射時間ＴＡＵＢにリッチ補正係数ＫＲ（ＫＲ＞１．０）を乗算することによって燃料噴射時間ＴＡＵ（＝ＴＡＵＢ・ＫＲ）が算出される。これに対してＯＳＣ＞ＯＳＣｒｅｆのときにはステップ２０８に進んで基本燃料噴射時間ＴＡＵＢにリーン補正係数ＫＬ（０＜ＫＬ＜１．０）を乗算することによって燃料噴射時間ＴＡＵ（＝ＴＡＵＢ・ＫＬ）が算出される。
【００６１】
なお、修正係数ＫＯＳＣの値および速度比ｌ／ｋのｋの値はバックアップＲＡＭ３５内に記憶される。
図１５から図２３は第２実施例を示している。この第２実施例は三元触媒１８が新品のときの最大脱離量Ｇ（Ｔｃ）と劣化係数ＤＫの積から求められる最大脱離量ＯＳＣｍａｘが実際の最大脱離量と一致する場合を示している。従ってこの第２実施例では最大脱離量ＯＳＣｍａｘを修正係数ＫＯＳＣにより修正する必要がないので修正係数ＫＯＳＣは用いておらず、計算上の貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量に一致しかつ最大脱離量ＯＳＣｍａｘが実際の最大脱離量に一致するように脱離速度と吸着速度の速度比ｌ／ｋのみを修正するようにしている。次にこのことについて図１５から図２０を参照しつつ説明する。
【００６２】
図１５は貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量に完全に一致しており、このような状態で何らかの理由により一時的に機関空燃比が大巾にリーンになった場合を示している。機関空燃比が大巾にリーンになったとすると排気ガス中の酸素が急激に三元触媒１８に吸着されるので貯蔵酸素脱離量ＯＳＣは急激に減少し、零に達する。貯蔵酸素脱離量ＯＳＣが零に達すると三元触媒１８はもはや酸素を吸着しえなくなるために三元触媒１８の下流における空燃比もリーンになり、斯くして図１５に示されるように下流側空燃比センサ２４の出力電圧Ｖは０．２（Ｖ）よりも低くなる。即ち、下流側空燃比センサ２４により検出された空燃比はリーンとなる。このときには図１５に示されるように速度比ｌ／ｋのｋの値は変化しない。
【００６３】
図１６は何らかの理由により空燃比が一時的に大巾にリーンになったときに計算上の貯蔵酸素脱離量ＯＳＣが零に達する前に下流側空燃比センサ２４により検出された空燃比がリーンになった場合を示している。このときには酸素の脱離速度を速く設定しすぎていたと考えられる。
このとき貯蔵酸素脱離量ＯＳＣが零に達する前に下流側空燃比センサ２４により検出された空燃比がリーンになったということは貯蔵酸素脱離量ＯＳＣが零に達していなくても実際の貯蔵酸素脱離量は零になっていることを意味している。このように計算上の貯蔵酸素脱離量ＯＳＣと実際の貯蔵酸素脱離量ＯＳＣとの間で差が生じるのは酸素の脱離速度を速く設定しすぎ、その結果計算上の貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量よりも大きくなるからである。そこでこの場合には酸素の脱離速度を遅くさせるために、即ち速度比ｌ／ｋを低下させるために図１６に示される如く速度比ｌ／ｋのｋの値を大きくするようにしている。なお、このとき実際の貯蔵酸素脱離量は零になっているので計算上の貯蔵酸素脱離量ＯＳＣは零とされる。
【００６４】
図１７は何らかの理由により空燃比が一時的に大巾にリーンになったときに計算上の貯蔵酸素脱離量ＯＳＣが零に達しているにもかかわらずに下流側空燃比センサ２４により検出された空燃比がリーンになっていない場合を示している。このときには酸素の脱離速度を遅く設定しすぎていたと考えられる。
このとき貯蔵酸素脱離量ＯＳＣが零に達しているにもかかわらずに下流側空燃比センサ２４により検出された空燃比がリーンになっていないということは貯蔵酸素脱離量ＯＳＣが零になっているにもかかわらずに実際の貯蔵酸素脱離量は零になっていないことを意味している。このように計算上の貯蔵酸素脱離量ＯＳＣと実際の貯蔵酸素脱離量ＯＳＣとの間で差が生じるのは酸素の脱離速度を遅く設定しすぎ、その結果計算上の貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量よりも小さくなるからである。そこでこの場合には酸素の脱離速度を速くさせるために、即ち速度比ｌ／ｋを増大させるために図１７に示される如く速度比ｌ／ｋのｋの値を小さくするようにしている。
【００６５】
図１８は貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量に完全に一致しており、このような状態で何らかの理由により一時的に機関空燃比が大巾にリッチになった場合を示している。機関空燃比が大巾にリッチになったとすると排気ガス中の酸素が急激に三元触媒１８から脱離されるので貯蔵酸素脱離量ＯＳＣは急激に増大し、最大脱離量ＯＳＣｍａｘに達する。貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達すると三元触媒１８には脱離すべき酸素が存在しなくなるために三元触媒１８の下流における空燃比もリッチになり、斯くして図１８に示されるように下流側空燃比センサ２４の出力電圧Ｖは０．７（Ｖ）よりも高くなる。即ち、下流側空燃比センサ２４により検出された空燃比はリッチとなる。このときには図１８に示されるように速度比ｌ／ｋのｋの値も変化しない。
【００６６】
図１９は何らかの理由により空燃比が一時的に大巾にリッチになったときに計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達する前に下流側空燃比センサ２４により検出された空燃比がリッチになった場合を示している。即ち、計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達していないのに実際の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達している場合を示している。
【００６７】
このように計算上の最大脱離量ＯＳＣｍａｘと実際の最大脱離量との間で差を生じるのは酸素の脱離速度を低く設定しすぎているからである。従ってこの場合には酸素の脱離速度を速くさせるために、即ち速度比ｌ／ｋを増大させるために図１９に示される如く速度比ｌ／ｋのｋの値を小さくするようにしている。更にこのとき貯蔵酸素脱離量ＯＳＣは最大脱離量ＯＳＣｍａｘとされる。
【００６８】
図２０は何らかの理由により空燃比が一時的に大巾にリッチになったときに計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達しているにもかかわらずに下流側空燃比センサ２４により検出された空燃比がリッチになっていない場合を示している。即ち、計算上の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達しているのに実際の貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘに達していない場合を示している。
【００６９】
このように計算上の最大脱離量ＯＳＣｍａｘと実際の最大脱離量との間で差を生じるのは酸素の脱離速度を速く設定しすぎているからである。従ってこの場合には酸素の脱離速度を遅くさせるために、即ち速度比ｌ／ｋを減少させるために図２０に示される如く速度比ｌ／ｋのｋの値を大きくするようにしている。
このように第２実施例では空燃比がリーンになったときでもリッチになったときでも酸素の脱離速度が遅いと判断されたときには酸素の脱離速度が速められ、空燃比がリーンになったときでもリッチになったときでも酸素の脱離速度が速いと判断されたときには酸素の脱離速度が遅くされる。即ち、この第２実施例では酸素の脱離速度を更新する機会が増大せしめられるので酸素の脱離速度を実際の脱離速度に早期に一致させることができる。
【００７０】
このように第２実施例でも計算上の貯蔵酸素脱離量ＯＳＣが実際の貯蔵酸素脱離量に正確に一致せしめられるので実際の貯蔵酸素脱離量が実際の最大脱離量の半分に維持せしめられ、斯くして空燃比が理論空燃比からリーン側或いはリッチ側のいずれにずれても排気ガス中の有害成分を確実に浄化できることになる。
次に第２実施例において用いられる貯蔵酸素脱離量ＯＳＣの算出ルーチンについて図２１を参照しつつ説明する。なお、このルーチンは一定時間毎の割込みによって実行される。
【００７１】
図２１を参照するとまず初めにステップ３００において累積運転時間を求めるためのカウント値ＴＤが１だけインクリメントされる。次いでステップ３０１では機関始動後一定時間経過したか否かが判別され、機関始動後一定時間経過していないときにはステップ３１３に進む。ステップ３１３では貯蔵酸素脱離量ＯＳＣが零とされ、次いで処理サイクルを完了する。一方、ステップ３０１において機関始動後一定時間経過したと判断されたときにはステップ３０２に進んで温度センサ２５により検出された三元触媒１８の温度Ｔｃが一定値Ｔｃｏよりも高くなったか否かが判別される。Ｔｃ≦Ｔｃｏのときにはステップ３１３に進み、Ｔｃ＞Ｔｃｏのときにはステップ３０３に進む。
【００７２】
ステップ３０３では減速運転時において燃料噴射が停止せしめられているか否かが判別され、燃料噴射が停止せしめられているときにはステップ３１３に進む。これに対して燃料噴射が停止せしめられていないときにはステップ３０４に進み、ステップ３０４からステップ３１２において貯蔵酸素脱離量ＯＳＣが算出される。この第２実施例においても貯蔵酸素脱離量ＯＳＣの算出が開始される前はステップ３１３において貯蔵酸素脱離量ＯＳＣは零とされており、従って貯蔵酸素脱離量ＯＳＣは零の状態から計算が開始されることがわかる。
【００７３】
ステップ３０４では上流側空燃比センサ２３の出力から図２（Ａ）に示す関係に基づいて算出された空燃比Ａ／Ｆが読込まれる。次いでステップ３０５ではこの空燃比Ａ／Ｆが理論空燃比であるか否かが判別され、空燃比Ａ／Ｆが理論空燃比のときには図２２に示す修正ルーチンに進む。これに対して空燃比Ａ／Ｆが理論空燃比でないときにはステップ３０６に進んで空燃比Ａ／Ｆがリーンであるか否かが判別される。空燃比Ａ／Ｆがリーンであるときにはステップ３０７に進み、エアフローメータ１３により求められた吸入空気量Ｇａ、上流側空燃比センサ２３の出力に基づき算出された空燃比の偏差ΔＡ／Ｆ（＝空燃比Ａ／Ｆ−理論空燃比）および割込み時間間隔Δｔを用いて次式から貯蔵酸素脱離量ＯＳＣが算出される。
【００７４】
ＯＳＣ←ＯＳＣ−ＫＯ2 ・Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）・Δｔ
次いでステップ３０８では貯蔵酸素脱離量ＯＳＣが零よりも大きいか否かが判別される。ＯＳＣ≧０のときには図２２に示す修正ルーチンに進み、ＯＳＣ＜０のときにはステップ３０９に進んでＯＳＣを零とした後図２２に示す修正ルーチンに進む。
【００７５】
一方、ステップ３０６において空燃比Ａ／Ｆがリーンでないと判別されたとき、即ち空燃比Ａ／Ｆがリッチであるときにはステップ３１０に進み、エアフローメータ１３により求められた吸入空気量Ｇａ、上流側空燃比センサ２３の出力に基づき算出された空燃比の偏差ΔＡ／Ｆ（＝空燃比Ａ／Ｆ−理論空燃比）および割込み時間間隔Δｔを用いて次式から貯蔵酸素脱離量ＯＳＣが算出される。
【００７６】
ＯＳＣ←ＯＳＣ−ＫＯ2 ・Ｇａ・（ΔＡ／Ｆ）／（Ａ／Ｆ）／ｋ・Δｔ
次いでステップ３１１では貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘよりも大きいか否かが判別される。ＯＳＣ≦ＯＳＣｍａｘのときには図２２に示す修正ルーチンに進み、ＯＳＣ＞ＯＳＣｍａｘのときにはステップ３１２に進んでＯＳＣをＯＳＣｍａｘとした後図２２に示す修正ルーチンに進む。
【００７７】
図２２に示す修正ルーチンではまず初めにステップ３１４において貯蔵酸素脱離量ＯＳＣが零と最大脱離量ＯＳＣｍａｘとの間にあるか否かが判別される。ＯＳＣｍａｘ＞ＯＳＣ＞０であるときにはステップ３１５に進んで下流側空燃比センサ２４の出力電圧Ｖが０．２（Ｖ）と０．７（Ｖ）の間であるか否か、即ち下流側空燃比センサ２４により検出された空燃比が理論空燃比であるか否かが判別される。０．２＜Ｖ＜０．７のときには処理サイクルを完了する。これに対して０．２＜Ｖ＜０．７でないときにはステップ３１６に進む。
【００７８】
ステップ３１６ではＶ≧０．７であるか否かが判別される。Ｖ≧０．７であるとき、即ち下流側空燃比センサ２４により検出された空燃比がリッチであるときにはステップ３１７に進み、次式に基づいて速度比ｌ／ｋのｋの値が更新される。
ｋ＝ｋ・（１−δ１）
ここでδ１は１よりも小さい正の定数である。従ってこのときにはｋの値が図１９に示されるように減少せしめられる。次いでステップ３１８ではＯＳＣが最大脱離量ＯＳＣｍａｘとされる。
【００７９】
一方、ステップ３１６においてＶ＜０．７であると判断されたとき、即ち下流側空燃比センサ２４により検出された空燃比がリーンであるときにはステップ３１９に進み、次式に基づいて速度比ｌ／ｋのｋの値が更新される。
ｋ＝ｋ・（１＋δ２）
ここでδ２は１よりも小さい正の定数である。従ってこのときにはｋの値が図１６に示されるように増大せしめられる。次いでステップ３２０ではＯＳＣが零とされる。
【００８０】
一方、ステップ３１４においてＯＳＣｍａｘ＞ＯＳＣ＞０でないと判別されたときにはステップ３２１に進んで貯蔵酸素脱離量ＯＳＣが最大脱離量ＯＳＣｍａｘであるか否かが判別される。ＯＳＣ＝ＯＳＣｍａｘのときにはステップ３２２に進んでＶ≧０．７であるか否かが判別される。Ｖ＜０．７のとき、即ち下流側空燃比センサ２４により検出された空燃比がリッチでないときにはステップ３２３に進んで次式に基づき速度比ｌ／ｋのｋの値が更新される。
【００８１】
ｋ＝ｋ・（１＋δ３）
ここでδ３は１よりも小さい正の定数である。従ってこのときにはｋの値が図２０に示されるように増大せしめられる。
これに対し、ステップ３２１においてＯＳＣ＝ＯＳＣｍａｘではないと判別されたときにはステップ３２４に進んで貯蔵酸素脱離量ＯＳＣが零であるか否かが判別される。ＯＳＣ＝０のときにはステップ３２５に進んでＶ≦０．２であるか否かが判別される。Ｖ＞０．２のとき、即ち下流側空燃比センサ２４により検出された空燃比がリーンでないときにはステップ３２６に進んで次式に基づき速度比ｌ／ｋのｋの値が更新される。
【００８２】
ｋ＝ｋ・（１−δ４）
ここでδ４は１よりも小さい正の定数である。従ってこのときにはｋの値は図１７に示されるように減少せしめられる。
次に第２実施例において用いられている燃料噴射時間ＴＡＵの算出ルーチンについて図２３を参照しつつ説明する。なお、このルーチンは繰返し実行される。
【００８３】
図２３を参照するとまず初めにステップ４００において図３（Ａ）に示す関係から求められた最大脱離量Ｇ（Ｔｃ）と、図３（Ｂ）に示す関係から求められた劣化係数ＤＫとの積である最大脱離量ＯＳＣｍａｘ（＝Ｇ（Ｔｃ）・ＤＫ）が算出される。次いでステップ４０１では最大脱離量ＯＳＣｍａｘの半分が目標脱離量ＯＳＣｒｅｆとされる。次いでステップ４０２では図４に示すマップから基本燃料噴射時間ＴＡＵＢが算出される。
【００８４】
次いでステップ４０３では貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆと等しいか否かが判別される。ＯＳＣ＝ＯＳＣｒｅｆのときにはステップ４０４に進んで燃料噴射時間ＴＡＵが基本燃料噴射時間ＴＡＵＢとされる。これに対してＯＳＣ＝ＯＳＣｒｅｆでないときにはステップ４０５に進んで貯蔵酸素脱離量ＯＳＣが目標脱離量ＯＳＣｒｅｆよりも少ないか否かが判別される。ＯＳＣ＜ＯＳＣｒｅｆのときにはステップ４０６に進んで基本燃料噴射時間ＴＡＵＢにリッチ補正係数ＫＲ（ＫＲ＞１．０）を乗算することによって燃料噴射時間ＴＡＵ（＝ＴＡＵＢ・ＫＲ）が算出される。これに対してＯＳＣ＞ＯＳＣｒｅｆのときにはステップ４０７に進んで基本燃料噴射時間ＴＡＵＢにリーン補正係数ＫＬ（０＜ＫＬ＜１．０）を乗算することによって燃料噴射時間ＴＡＵ（＝ＴＡＵＢ・ＫＬ）が算出される。
【００８５】
【発明の効果】
実際の貯蔵酸素脱離量を正確に算出することができる。
【図面の簡単な説明】
【図１】内燃機関の全体図である。
【図２】空燃比センサの出力を示す図である。
【図３】三元触媒が新品のときの最大脱離量Ｇ（Ｔｃ）および劣化係数ＤＫを示す図である。
【図４】基本燃料噴射時間のマップを示す図である。
【図５】貯蔵酸素脱離量の制御方法を説明するためのタイムチャートである。
【図６】第１実施例における修正係数ＫＯＳＣおよび速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図７】第１実施例における修正係数ＫＯＳＣおよび速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図８】第１実施例における修正係数ＫＯＳＣおよび速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図９】第１実施例における修正係数ＫＯＳＣおよび速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図１０】第１実施例における修正係数ＫＯＳＣおよび速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図１１】第１実施例における修正係数ＫＯＳＣおよび速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図１２】貯蔵酸素脱離量ＯＳＣを算出するためのフローチャートである。
【図１３】最大脱離量ＯＳＣｍａｘおよび速度比ｌ／ｋのｋの値を修正するためのフローチャートである。
【図１４】燃料噴射時間ＴＡＵを算出するためのフローチャートである。
【図１５】第２実施例における速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図１６】第２実施例における速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図１７】第２実施例における速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図１８】第２実施例における速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図１９】第２実施例における速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図２０】第２実施例における速度比ｌ／ｋのｋの値の更新方法を説明するためのタイムチャートである。
【図２１】貯蔵酸素脱離量ＯＳＣを算出するためのフローチャートである。
【図２２】速度比ｌ／ｋのｋの値を修正するためのフローチャートである。
【図２３】燃料噴射時間ＴＡＵを算出するためのフローチャートである。
【符号の説明】
１１…燃料噴射弁
１３…エアフローメータ
１６…排気マニホルド
１８…三元触媒
２３…上流側空燃比センサ
２４…下流側空燃比センサ
【図１】
0003733671.tif 000002
【図２】
0003733671.tif 000003
【図３】
0003733671.tif 000004
【図４】
0003733671.tif 000005
【図５】
0003733671.tif 000006
【図６】
0003733671.tif 000007
【図７】
0003733671.tif 000008
【図８】
0003733671.tif 000009
【図９】
0003733671.tif 000010
【図１０】
0003733671.tif 000011
【図１１】
0003733671.tif 000012
【図１２】
0003733671.tif 000013
【図１３】
0003733671.tif 000014
【図１４】
0003733671.tif 000015
【図１５】
0003733671.tif 000016
【図１６】
0003733671.tif 000017
【図１７】
0003733671.tif 000018
【図１８】
0003733671.tif 000019
【図１９】
0003733671.tif 000020
【図２０】
0003733671.tif 000021
【図２１】
0003733671.tif 000022
【図２２】
0003733671.tif 000023
【図２３】
0003733671.tif 000024