JP2006125304A - 内燃機関の空燃比制御装置 - Google Patents
内燃機関の空燃比制御装置 Download PDFInfo
- Publication number
- JP2006125304A JP2006125304A JP2004315119A JP2004315119A JP2006125304A JP 2006125304 A JP2006125304 A JP 2006125304A JP 2004315119 A JP2004315119 A JP 2004315119A JP 2004315119 A JP2004315119 A JP 2004315119A JP 2006125304 A JP2006125304 A JP 2006125304A
- Authority
- JP
- Japan
- Prior art keywords
- fuel injection
- air
- injection amount
- fuel ratio
- fuel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Combined Controls Of Internal Combustion Engines (AREA)
- Supplying Secondary Fuel Or The Like To Fuel, Air Or Fuel-Air Mixtures (AREA)
- Electrical Control Of Air Or Fuel Supplied To Internal-Combustion Engine (AREA)
Abstract
【課題】 エバポパージに起因するエミッション悪化を可及的に回避するとともに、比較的正確なパージ学習を簡易に行う。
【解決手段】 筒内吸入空気量が一定であるとの仮定の下、指令燃料噴射量と検出空燃比との積は、機関の実際の空燃比を目標空燃比とするための目標基本燃料噴射量と目標空燃比との積に等しくなる、という関係から補正後基本燃料噴射量を求め、この補正後基本燃料噴射量と補正前基本燃料噴射量との比から基本燃料噴射量補正係数KFを求めて基本燃料噴射量補正を行う。ここで、KF値算出のためのローパスフィルタ処理のフィルタ時定数について、パージ時は非パージ時よりも小さくする。また、パージ時には、実際の空燃比制御に供される時定数の小さいフィルタを用いたKF値の他、時定数の大きいフィルタを用いた非パージ時のKF値も算出されており、この非パージ時のKF値を用いてパージ学習を行う。
【選択図】 図5
【解決手段】 筒内吸入空気量が一定であるとの仮定の下、指令燃料噴射量と検出空燃比との積は、機関の実際の空燃比を目標空燃比とするための目標基本燃料噴射量と目標空燃比との積に等しくなる、という関係から補正後基本燃料噴射量を求め、この補正後基本燃料噴射量と補正前基本燃料噴射量との比から基本燃料噴射量補正係数KFを求めて基本燃料噴射量補正を行う。ここで、KF値算出のためのローパスフィルタ処理のフィルタ時定数について、パージ時は非パージ時よりも小さくする。また、パージ時には、実際の空燃比制御に供される時定数の小さいフィルタを用いたKF値の他、時定数の大きいフィルタを用いた非パージ時のKF値も算出されており、この非パージ時のKF値を用いてパージ学習を行う。
【選択図】 図5
Description
本発明は、内燃機関の排気通路に配設された空燃比センサの出力に基づいて内燃機関の空燃比を制御する、内燃機関の空燃比制御装置に関する。(なお、以降の説明では、「内燃機関」を単に「機関」と称したり、「内燃機関の空燃比制御装置」を単に「空燃比制御装置」と略称したりすることがある。)
従来広く知られるこの種の空燃比制御装置として、触媒装置よりも上流側の排気通路に配設された上流側空燃比センサ、及び触媒装置よりも下流側の排気通路に配設された下流側空燃比センサの出力値に基づいて、空燃比をフィードバック制御するものがある。このような構成を採用する従来の空燃比制御装置の具体例としては、例えば、下記特許文献に記載のものが挙げられる。
特開2003−336535号公報
特許文献1に記載の空燃比制御装置は、上流側空燃比センサの出力に基づく上流側フィードバック(メインフィードバック)ループと、下流側空燃比センサの出力に基づく下流側フィードバック(サブフィードバック)ループとを有している。そして、前記空燃比制御装置では、以下のように空燃比のフィードバック制御が行われる。
まず、機関の運転速度、アクセル開度、吸気通路に配設されたエアフローメータにより検知された吸入空気流量等に基づいて、今回の燃焼サイクルにて機関の燃焼室に吸入される筒内吸入空気量が算出される。次に、この筒内吸入空気量と目標空燃比とに基づいて、フィードバック制御により補正される前の基本燃料噴射量が取得される。続いて、上流側空燃比センサの出力に基づく上流側フィードバック補正値と、下流側空燃比センサの出力に基づく下流側フィードバック補正値と、に基づいて前記基本燃料噴射量が補正されることで指令燃料噴射量が算出される。そして、この指令燃料噴射量の燃料の噴射指示が燃料噴射装置に対して行われることによって、吸気通路又は燃焼室にて燃料が噴射される。
ここで、上述の上流側及び下流側フィードバックには、通常、比例・積分制御(PI制御)又は比例・積分・微分制御(PID制御)が用いられる。なぜなら、このPI制御及びPID制御における積分項(I項)には、フィードバック制御における所謂定常偏差を補償し、実際の空燃比を目標空燃比に収斂させる効果があるからである。
ところで、上述した従来の空燃比制御装置においては、エアフローメータへの汚れや異物付着等によるエアフローメータの測定誤差によって、筒内吸入空気量の算出値と実際の筒内吸入空気量との間に誤差が生じることがあった。そして、この誤差を含んだ筒内吸入空気量の算出値を用いて基本燃料噴射量が算出されることにより、基本燃料噴射量の算出にも誤差が生じることがあった。また、燃料噴射装置周辺の機構的要因(燃料噴射装置の燃料噴射性能のばらつきや、燃料噴射装置の目詰まり等)によって、指令燃料噴射量と実際の燃料噴射量との間に誤差が生じることがあった。(上述のような、筒内吸入空気量算出の誤差に起因する基本燃料噴射量算出の誤差や、燃料噴射装置周辺の機構的要因による燃料噴射量の誤差を、併せて、以下「混合気供給系の機構的誤差」と総称する。)
この点、上述の積分項を含む上流側フィードバック又は下流側フィードバックによれば、当該積分項の定常偏差補償作用によって上述の混合気供給系の機構的誤差を補償し得るものの、混合気供給系の機構的誤差が急に変化した場合(例えばエアフローメータへの異物付着や燃料噴射装置の目詰まり発生の直後の場合)の補償については改善の余地があった。すなわち、上述の混合気供給系の機構的誤差の急な変化を補償するための、適切なフィードバック補正値が得られるためには、来歴経過が積算されることでなされる積分項の計算等のための相応の手順や時間を要していた。このため、上述の積分項では混合気供給系の機構的誤差の急な変化に対する迅速な補償が達成されず、一時的なエミッションの悪化が発生することが懸念された。
また、一般に、内燃機関においては、燃料タンク中で液体燃料が蒸発して燃料ガスが発生するので、この燃料ガスが大気中に放出されることを防止するために、蒸発燃料処理機構が設けられている。この蒸発燃料処理機構は、機関停止中に燃料タンクにて発生する燃料ガスを吸蔵し、この吸蔵された燃料ガスを機関の運転中に脱離して吸気通路に放出するように構成されたキャニスタを備えている。また、機関運転中においても、燃料噴射装置(インジェクタ)と燃料タンクとの間の燃料循環経路にて循環している液体燃料は、インジェクタ付近にて燃焼室からの伝熱により加熱され、この加熱された液体燃料が燃料タンクに戻ったときに、高温となった燃料が燃料タンク中で蒸発することで燃料ガスが発生する。そこで、上述のキャニスタを備える他、機関運転中のインジェクタ付近における燃料加熱に起因して発生する燃料タンク中の燃料ガスを直接に吸気通路に放出するように蒸発燃料処理機構が構成されるのが通常である。
ここで、キャニスタから吸気通路に導入される脱離燃料ガス(キャニスタパージガス)や、キャニスタによって吸蔵されることなく燃料タンクから直接吸気通路に導入される蒸発燃料ガス(タンクベーパー)により、上述の空燃比フィードバック制御系が大きな外乱を受けることがある(なお、キャニスタパージガスとタンクベーパーとを総称する場合、以下「エバポガス(evaporated fuel gas)」と略称する。また、吸気通路へのキャニスタパージガス導入とタンクベーパー導入とを総称する場合、以下「エバポパージ」又は単に「パージ」と略称する。)。そして、このようなエバポパージの場合にも、上述のフィードバック制御の積分項では迅速な補償が達成されず、一時的なエミッションの悪化が発生することが懸念された。
そこで、エバポパージが行われる場合、当該エバポパージによる空燃比リッチシフト分の燃料量(以下、「余剰燃料量」と称する。)を比較的正確に求めて基本燃料噴射量から差し引くことで、エバポパージによる空燃比の急変を可及的に回避することが必要となる。すなわち、この余剰燃料量に対応するパージ学習値の取得(以下、「パージ学習」と称する)が必要となる。そして、従来の空燃比制御装置においては、このパージ学習を行うものがあったが、かかる従来の空燃比制御装置においても、このパージ学習を比較的正確に行うためには、通常の空燃比制御とは異なる特別なパージ学習制御のための制御系を別途設ける必要があり、空燃比制御系が複雑化するという問題があった。
本発明は、上述した従来の空燃比制御装置の有する問題点を解決するためになされたものであり、その目的は、混合気供給系の機構的誤差をより簡易かつ迅速に補償しつつ、エバポパージ時の空燃比変動に対する迅速な補償を行うとともに、比較的精度の良いパージ学習を簡易に行うことができ、以てエバポパージに起因するエミッション悪化を可及的に抑制して好適な空燃比制御を維持することができる、好適な内燃機関の空燃比制御装置を提供することにある。
かかる目的を達成するため、本発明は、燃焼室と、その燃焼室に接続された吸気通路及び排気通路と、燃料タンク中で蒸発した燃料に基づく燃料ガスを前記吸気通路に導入可能に構成された燃料ガス導入路と、指令燃料噴射量の燃料の噴射指示を受けることにより前記燃料タンクから輸送されて来た液体燃料を前記吸気通路又は燃焼室にて噴射する燃料噴射装置と、前記排気通路に配設された触媒装置と、その触媒装置よりも上流の前記排気通路に配設された上流側空燃比センサとを備えた内燃機関に適用される空燃比制御装置が、以下の構成を備えたことを特徴としている。
第1に、本発明の内燃機関の空燃比制御装置は、少なくとも前記内燃機関の運転速度及び前記吸気通路における空気流量に基づいて目標空燃比に対応する今回の燃料噴射量の推定値を基本燃料噴射量として取得する基本燃料噴射量取得部と、フィルタを含む演算処理部を有しており前記目標空燃比と前記上流側空燃比センサの検出信号と過去の前記指令燃料噴射量とに基づいて前記演算処理部で演算処理することで前記基本燃料噴射量を補正するための基本燃料噴射量補正値に対応する演算結果を取得する基本燃料噴射量補正値取得部と、少なくとも前記演算結果(及び好適には前記基本燃料噴射量と)に基づいて今回の指令燃料噴射量を算出する指令燃料噴射量算出部と、前記燃料ガス導入路を介して前記吸気通路に前記燃料ガスが導入されている燃料ガス導入時に、前記基本燃料噴射量補正値取得部における前記演算結果に基づいて、前記燃料ガスの濃度に基づく空燃比学習値であるパージ学習値を取得するパージ学習部と、を備える。
そして、前記基本燃料噴射量補正値取得部は、前記パージ学習部にて前記パージ学習値を取得する場合に使用される第1のフィルタと、前記燃料ガス導入時にて前記指令燃料噴射量算出部に供される前記演算結果を取得する場合に使用される第2のフィルタと、を備え、前記第1のフィルタと第2のフィルタとは、フィルタの応答性に関するパラメータが異なるように構成されている(なお、ここで、前記基本燃料噴射量補正値取得部にて取得される値を単に「基本燃料噴射量補正値」と称さずに「基本燃料噴射量補正値に対応する演算結果」と称しているのは、前記第1のフィルタに基づいて取得される値が基本燃料噴射量の補正のために用いられずにパージ学習にのみ用いられる場合があり得ることに鑑みたものである。)。
換言すれば、前記基本燃料噴射量補正値取得部は、前記演算処理部のフィルタとして、フィルタの応答性に関するパラメータが異なる第1のフィルタと第2のフィルタとを備えていて、前記燃料ガス導入時にて、前記第1のフィルタを使用して前記パージ学習部に供される前記基本燃料噴射量補正値(に対応する演算結果)を取得するとともに前記第2のフィルタを使用して前記指令燃料噴射量算出部に供される前記基本燃料噴射量補正値(に対応する演算結果)を取得するように構成されている。
かかる構成を有する本発明の空燃比制御装置によれば、まず、少なくとも内燃機関の運転速度及び前記吸気通路における空気流量に基づいて基本燃料噴射量が取得される。次に、この取得された基本燃料噴射量に基づいて燃料噴射装置にて実際に噴射される燃料噴射量が、燃焼室に供給される混合気の実際の空燃比を目標空燃比とするために必要な燃料噴射量(以下、単に「必要燃料噴射量」という。)となるように、前記目標空燃比と前記上流側空燃比センサの検出信号と過去の前記指令燃料噴射量とに基づいて前記演算処理部で演算処理することで、前記基本燃料噴射量を補正するための基本燃料噴射量補正値に対応する演算結果の取得(基本燃料噴射量補正値の取得)が行われる。より具体的には、例えば以下の通りに行われる。
一般に、燃料噴射量と空燃比との積は筒内吸入空気量に相当するところ、燃焼室内に吸入される筒内吸入空気量が一定であるという仮定のもとでは、燃料噴射量と空燃比との積が一定となる。また、燃焼室に供給される混合気の実際の空燃比は、上流側空燃比センサの検出空燃比に反映される。よって、燃料噴射量と空燃比との積が一定であるという前提の下では、前記検出空燃比と、その検出空燃比に対応する燃料噴射時の指令燃料噴射量との積は、目標空燃比と、前記必要燃料噴射量の燃料を実際に噴射するために今回燃料噴射装置に指示すべき燃料噴射量(以下、単に「目標燃料噴射指令値」という。)との積と等しくなるという関係が成立する。そして、このような関係を基礎として、目標空燃比と前記上流側空燃比センサの検出信号と過去の前記指令燃料噴射量とに基づいて所定の演算処理を行い、この演算結果を用いることで、基本燃料噴射量に対する補正値としての基本燃料噴射量補正値が算出できる。例えば、前記検出空燃比とその検出空燃比に対応する燃料噴射時の指令燃料噴射量との積を、目標空燃比と前記基本燃料噴射量との積で除すれば、前記目標燃料噴射指令値を得るための基本燃料噴射量補正値(に対応する演算結果)としての補正係数が簡易な計算で得られる。
そして、このようにして得られた演算結果に基づいて、前記目標燃料噴射指令値に相当する値としての補正後基本燃料噴射量が得られ、この得られた補正後基本燃料噴射量に基づいて、今回の指令燃料噴射量が算出され、この算出された今回の指令燃料噴射量に基づく燃料の噴射指示が燃料噴射装置に対してなされる。
このように、前記構成によれば、必要燃料噴射量の燃料噴射を行うための目標燃料噴射指令値が、過去の指令燃料噴射量と(当該過去の指令燃料噴射量に対応した燃料噴射時における実際の空燃比に相当する)上流側空燃比センサの検出空燃比と目標空燃比とを用いて簡易な計算によって直接算出され、混合気吸気系の機構的誤差が(空燃比フィードバックとは独立に)直接補償される。
また、パージ学習部は、前記燃料ガス導入路を介して前記吸気通路に前記燃料ガス(パージガス)が導入されている燃料ガス導入時(パージ時)に、前記基本燃料噴射量補正値取得部における前記演算結果に基づいて、前記パージガス中の燃料濃度(以下パージガス濃度と略称する)に基づく空燃比学習値であるパージ学習値を取得する。
すなわち、例えば、パージ時と非パージ時(燃料ガス導入が行われていない燃料ガス非導入時)とで内燃機関の運転速度や前記吸気通路における空気流量等が同一の場合、基本燃料噴射量取得部により取得される(補正前の)基本燃料噴射量や、混合気吸気系の機構的誤差が、パージ時と非パージ時とで同一となる。よって、パージ時における上流側空燃比センサの空燃比出力に基づいて取得される前記演算結果は、エバポパージによるリッチ側への空燃比変動を補償するための基本燃料噴射量の補正に使用すべき適切な値となり得る。
したがって、例えば、このパージ時に取得される前記演算結果をパージ学習値として逐次学習(記憶)しておくことによって、エバポパージの際の適切な空燃比制御の維持のために活用され得るパージ学習値が簡易に取得される。例えば、次回のパージ時に、パージ開始時点よりこのパージ学習値を用いて基本燃料噴射量補正を行うことで、パージ開始直後における空燃比変動によるエミッション悪化を可及的に抑制し得る。
このように、前記構成によれば、パージ学習が、基本燃料噴射量補正値取得部における基本燃料噴射量補正値取得のための演算処理部の演算結果(本来、「基本燃料噴射量補正値」と称される値)を流用することで、特別なパージ学習部を設けることなく簡易にパージ学習が行われ得る。
ここで、本発明の前記構成の特徴は、特に、前記基本燃料噴射量補正値取得部は、前記パージ学習部にて前記パージ学習値を取得する場合に使用される第1のフィルタと、前記燃料ガス導入時にて前記指令燃料噴射量算出部に供される前記演算結果を取得する場合に使用される第2のフィルタと、を備え、前記第1のフィルタと第2のフィルタとは、フィルタの応答性に関するパラメータ(以下、単に「応答性パラメータ」と称する。)が異なることにある。
すなわち、例えば、内燃機関が過渡運転状態にある場合、内燃機関内部におけるガスの流動状態が大きく変動するため、前記基本燃料噴射量取得部により取得される基本燃料噴射量や、排気ガスの実際の空燃比も、所定の周波数を超える高周波数で激しく変動し得る。このような場合、上述のような燃料噴射量と空燃比との積が一定となるという前提が崩れたり、基本燃料噴射量補正値に対応する前記演算結果が前記所定の周波数を超える高周波で振動したりすること等によって、前記基本燃料噴射量補正値が適切な値とならなくなる可能性がある。そこで、前記演算結果を得る際に、前記所定の周波数を超える高周波数をカットするフィルタ処理(好適にはローパスフィルタ処理)を施すことによって、適切な基本燃料噴射量の補正値が、簡易な計算で、かつより一層精度良く算出され得る。かかる観点からすれば、一般的な空燃比フィードバック制御系における前記積分項と対比した場合の基本燃料噴射量補正の迅速性を損なわない範囲で、前記応答性パラメータは応答性を抑える方向の(ローパスフィルタの場合は時定数が大きい)値であることが好ましい。
一方、上述のように前記演算結果を取得しているとき、エバポガスが吸気通路に導入されるエバポパージが行われることがあるが、このエバポパージは空燃比制御系における大きな外乱であり、これにより一時的にエミッションが悪化する可能性がある。そこで、この大きな外乱を迅速に補償してエミッション悪化を可及的に抑制するためには、前記応答性パラメータは応答性を高める方向の(ローパスフィルタの場合は時定数が小さい)値であることが好ましい。
もっとも、パージ学習を行う際には、パージ学習の基礎となる前記基本燃料噴射量補正値取得部における前記演算結果が高い周波数で振動していては、精度良い学習が行われ得ない。よって、パージ学習の際には、前記応答性パラメータは応答性を抑える方向の(ローパスフィルタの場合は時定数が大きい)値であることが好ましい。
以上のことから、パージ中は、応答性を高める方向の(ローパスフィルタの場合は時定数が小さい)前記応答性パラメータを有する前記第2のフィルタの出力に基づく前記演算結果に基づいて得られた基本燃料噴射量補正値によって、エバポパージによる空燃比変動が可及的に迅速に補償されつつ、応答性を抑える方向の(ローパスフィルタの場合は時定数が大きい)前記応答性パラメータを有する前記第1のフィルタの出力に基づくパージ学習値によって、精度良いパージ学習が行われ得る。
そして、より好適には、パージ時の基本燃料噴射量補正は、以下のように行われる。すなわち、パージ開始直後の所定時間においては、基本燃料噴射量補正値が前記パージ学習値(過去のパージ時の基本燃料噴射量補正値)に基づいて取得される。すると、今回のパージ開始当初より、基本燃料噴射量取得部による補正前の基本燃料噴射量算出値から前記余剰燃料量が予め差し引かれ得ることとなるので、エバポパージによる実際の空燃比の急変が可及的に回避され得る。そして、前記所定時間経過後は、現時点での上流側空燃比センサの空燃比出力等に基づく第2のフィルタ等の演算処理部による演算結果に基づいて基本燃料噴射量補正値が取得される。
ここで、前記第1のフィルタは、非パージ時にて前記指令燃料噴射量算出部に供される前記演算結果を取得する場合にも使用されるように構成されることが好ましい。すなわち、かかる構成によれば、前記第1のフィルタの出力は、パージ時と非パージ時とに拘らず使用される。そして、この第1のフィルタの出力に基づく前記基本燃料噴射量補正値取得部の前記演算結果は、非パージ時には基本燃料噴射量補正値の取得に使用され、パージ時にはパージ学習に使用される。一方、前記第2のフィルタの出力に基づく前記基本燃料噴射量補正値取得部の前記演算結果は、パージ時には基本燃料噴射量補正値の取得に使用されるが、非パージ時には基本燃料噴射量補正値の取得には使用されない。これにより、非パージ時における安定した精度良い基本燃料噴射量補正を行うための基本燃料噴射量補正値を取得すべき新たな手段を別途設けなくても、パージ時と非パージ時との双方について適切な空燃比制御の維持と簡易かつ正確なパージ学習とがともに達成され得る。
第2に、本発明の空燃比制御装置においては、前記上流側空燃比センサの検出信号に基づく空燃比フィードバック補正値である上流側フィードバック補正値を算出する上流側フィードバック補正値算出部を備え、前記指令燃料噴射量算出部は、前記基本燃料噴射量補正部で補正された基本燃料噴射量を前記上流側フィードバック補正値で補正するように構成されることが好ましい。かかる構成によれば、基本燃料噴射量補正部により迅速な基本燃料噴射量の補正を行いつつ、上流側フィードバック制御によって過渡運転状態における空燃比変動に対する補償が行われる。
また、前記上流側フィードバック補正値算出部においては、上流側空燃比センサの出力値に基づいて各種の演算処理が行われることによって、フィードバック補正値が算出されるが、かかる演算処理の際には、所定の上流側目標値を考慮するように構成してもよい。すなわち、上流側フィードバック補正値算出部は、(1)上流側空燃比センサの出力値と所定の上流側目標値との相違に起因する値を所定のハイパスフィルタ処理した後の値、又は(2)上流側空燃比センサの出力値を所定のハイパスフィルタ処理した後の値、に基づいて上流側フィードバック補正値を算出する。なお、前記(1)の場合、所定の上流側目標値は、前記目標空燃比に相当する値であることが好ましい。また、前記の「上流側空燃比センサの出力値と所定の上流側目標値との相違に起因する値」の具体例としては、例えば、センサの出力値と目標値との差、センサの出力値に相当する検出空燃比(実空燃比)と目標値に相当する目標空燃比との差、筒内吸入空気量をセンサの出力値に相当する検出空燃比で除した値である実際の筒内燃料供給量と同筒内吸入空気量を目標値に相当する目標空燃比で除した値である目標筒内燃料供給量との差、等が挙げられるが、これらに限定されるものではない。
第3に、本発明の空燃比制御装置においては、前記触媒装置よりも下流の前記排気通路に配設された下流側空燃比センサをも備えた内燃機関を対象とするものであって、前記下流側空燃比センサの検出信号に基づく空燃比フィードバック補正値である下流側フィードバック補正値を算出する下流側フィードバック補正値算出部を備え、前記指令燃料噴射量算出部は、前記基本燃料噴射量補正部によって補正された基本燃料噴射量を前記下流側フィードバック補正値で補正するように構成された場合に特に好適に作用する。
かかる構成おいて、下流側フィードバック補正値算出部によるフィードバック補正値は、触媒の排気ガス浄化作用によって小刻みな空燃比変動が吸収され且つ空燃比変動の検知が遅延された下流側空燃比センサの検出信号に基づくものであり、触媒装置の下流側の空燃比の変動として現れうる程度の、所定の周波数以下の低周波数で且つ比較的大きな振幅の空燃比変動を反映したものとなる。一方、基本燃料噴射量の補正は、上述の触媒の排気ガス浄化作用による検出遅延のない上流側空燃比センサの検出信号に基づいて迅速に行われ、且つ下流側フィードバック補正値に影響されずに行われる。このように、前記構成によれば、下流側フィードバック制御により安定した空燃比フィードバック制御を行いつつ、迅速な基本燃料噴射量補正が行われる。
特に、(A)前記上流側フィードバック補正値算出部が、上流側空燃比センサの検出信号に基づくフィルタ入力信号をハイパスフィルタ処理したフィルタ出力信号に基づいて、燃料噴射量に対するフィードバック補正値が算出されるように構成されている場合や、(B)上述の(A)の場合に加えて、更に前記下流側フィードバック補正値算出部が、下流側空燃比センサの検出信号に基づくフィルタ入力信号をローパスフィルタ処理したフィルタ出力信号に基づいて、燃料噴射量に対するフィードバック補正値が算出されるように構成されている場合に、本発明の構成が特に好適に作用する。
すなわち、上述の(A)の場合、上流側フィードバック制御においては、上流側空燃比センサの検出信号に基づくハイパスフィルタ出力信号に従って、過渡的な空燃比変動に対する空燃比フィードバック制御がなされる。また、上述の(B)の場合、更に、下流側フィードバック制御においては、下流側空燃比センサの検出信号に基づくローパスフィルタ出力信号に従って、定常的な空燃比変動に対する空燃比フィードバック制御がなされる。そして、これら(A)や(B)の場合、上流側フィードバック制御と下流側フィードバック制御との間には、上述の通り、前者は過渡的な高周波数の空燃比変動に対する補償、後者は定常的な低周波数の空燃比変動に対する補償、というような役割分担が生じる。特に(B)の場合、上流側フィードバック制御に用いられる上流側空燃比センサ検出信号にはハイパスフィルタ処理がなされ、下流側フィードバック制御に用いられる下流側空燃比センサ検出信号にはローパスフィルタ処理がなされるので、上流側フィードバック制御と下流側フィードバック制御とは空燃比変動における異なる周波数帯で作動する。よって、上流側空燃比センサの出力値と下流側空燃比センサの出力値とが目標空燃比に対して互いに逆方向に偏移した空燃比を示した場合であっても、上流側フィードバック制御と下流側フィードバック制御とが互いに干渉を起こして制御がハンチングしてしまうことが可及的に防止される。しかも、上述の通り、上流側フィードバック制御ではハイパスフィルタ処理がなされているため実質的に積分処理ができず、下流側フィードバック制御では触媒の排気ガス浄化作用により空燃比変動検出が遅延する。よって、これらの各フィードバック制御とは独立して上述の基本燃料噴射量補正を行うことで、目標空燃比への安定した空燃比フィードバック制御とともに、混合気供給系の機構的誤差が簡易且つ迅速に補償されるとともに、エバポパージによる大きな空燃比変動に対する迅速な補償が行われる。
なお、前記下流側フィードバック補正値算出部においては、前記下流側空燃比センサの出力値と所定の下流側目標値との相違に起因する値に基づいて、フィードバック補正値を算出するように構成されることが好ましい。また、前記所定の下流側目標値は、前記目標空燃比に相当する値であることが好ましい。ここで、「下流側空燃比センサの出力値と所定の下流側目標値との相違に起因する値」の具体例については、上述の上流側フィードバック補正値算出部における「上流側空燃比センサの出力値と所定の上流側目標値との相違に起因する値」の具体例と同様である。
また、本発明の空燃比制御装置における前記基本燃料噴射量補正部では、「過去の」指令燃料噴射量が基本燃料噴射量補正に用いられるが、この「過去の」指令燃料噴射量とは、好ましくは、以下の通りのものである。
すなわち、本発明の好ましい態様としては、前記燃料噴射装置に対する燃料の噴射指示から、当該噴射指示に基づき噴射された燃料の燃焼による排気の空燃比が前記上流側空燃比センサの出力値として現れるまでの遅れ時間を取得する遅れ時間取得部を更に備えている。そして、「過去の」指令燃料噴射量とは、前記遅れ時間だけ前の時点での噴射指示に係る指令燃料噴射量である。
一般に、燃料の噴射指示は、吸気行程中或いは吸気行程よりも前の時点にて実行され、噴射された燃料は、その後に到来する圧縮上死点近傍の時点で燃焼室内にて着火されることで燃焼する。そして、この燃焼により発生した排気ガスは、排気弁を介して燃焼室から排気通路へと排出され、その後、排気通路内を移動していくことで上流側空燃比センサの検出部に到達する。更に、排気ガスが上流側空燃比センサの検出部に到達してから、当該排気ガスの空燃比(の変化)が同センサの出力値(の変化)として現れるまでに所定の時間を要する。
以上のことから、燃料の噴射指示から、同噴射指示により噴射された燃料の燃焼に基づく排気ガスの空燃比が前記上流側空燃比センサの出力値として現れるまでの間には、燃焼行程に関する遅れ(行程遅れ)、排気通路内での排気ガスの移動に関する遅れ(輸送遅れ)、及び上流側空燃比センサの応答に関する遅れ(応答遅れ)による遅れ時間が必要である。換言すれば、(現時点での)上流側空燃比センサの出力値は、上述の遅れ時間前に実行された燃料の噴射指示に基づいて発生した排気ガスの空燃比を表す値となる。
もっとも、上述した行程遅れ及び輸送遅れに係る時間は、例えば、噴射時期、点火時期、内燃機関の寸法や気筒数等の諸元、エンジン回転速度、筒内吸入空気量、排気通路の断面積等に基づいて簡易に取得することができる。また、応答遅れに係る時間は、上流側空燃比センサの応答特性を予め実験等を通して取得しておくことができる。よって、前記遅れ時間取得部により、前記行程遅れ、輸送遅れ、及び応答遅れによる前記遅れ時間が正確に取得され得る。
そこで、基本燃料噴射量の補正値を算出する際、(上流側空燃比センサの出力値として現時点での値を使用するとともに、)少なくとも指令燃料噴射量として前記遅れ時間だけ前の時点での噴射指示に係る値を使用するように構成すれば、(現時点での)上流側空燃比センサの出力値が表す空燃比の排気ガスの発生に係る燃料噴射指示時点と、基本燃料噴射量の補正値の算出に使用される指令燃料噴射量に対応する燃料噴射指示の時点とが一致ないし極めて近接し得る。従って、前記補正値が、上述の目標燃料噴射指令値を得るための値としてより一層精度良く算出され得る。
この場合、前記遅れ時間取得部は、前記内燃機関の運転状態に応じて前記遅れ時間を変更するように構成されることが好ましい。上述したように、行程遅れや輸送遅れに係る時間は、例えば、エンジン回転速度、筒内吸入空気量等、機関の運転状態に応じて変化する。従って、当該構成によれば、内燃機関の運転状態にかかわらず前記遅れ時間が正確に取得され得る。
このように、本発明によれば、エバポパージによるという空燃比制御に対する大きな外乱が生じた場合であっても、上流側空燃比センサの出力に基づく応答性の高い基本燃料噴射量補正により、パージ時の空燃比変動に対する迅速な補償を行いつつ、比較的精度の良いパージ学習を行うことができ、以てエバポパージに起因するエミッション悪化を可及的に抑制して好適な空燃比制御を維持することが可能となる。
以下、本発明による内燃機関の空燃比制御装置(以降の説明では単に「空燃比制御装置」と略称することがある。)の、本願の出願時点において最良と考えられる実施形態について図面を参照しつつ説明する。
(実施形態の内燃機関の概要)
図1は、本実施形態による空燃比制御装置を火花点火式多気筒(4気筒)内燃機関10に適用したシステムの概略構成を示している。この内燃機関10は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排気ガスを外部に放出するための排気系統50とを含んでいる。
図1は、本実施形態による空燃比制御装置を火花点火式多気筒(4気筒)内燃機関10に適用したシステムの概略構成を示している。この内燃機関10は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排気ガスを外部に放出するための排気系統50とを含んでいる。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23、及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより当該クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動するインテークカムシャフトを含むとともに当該インテークカムシャフトの位相角を連続的に変更する可変吸気タイミング装置33、可変吸気タイミング装置33のアクチュエータ33a、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動するエキゾーストカムシャフト36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38、及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射装置)39を備えている。
吸気系統40は、吸気ポート31に連通し当該吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットル弁43、スロットル弁駆動手段を構成するDCモータからなるスロットル弁アクチュエータ43a、スワールコントロールバルブ(以下、「SCV」と称呼する。)44、DCモータからなるSCVアクチュエータ44a、液体燃料を貯蔵する燃料タンク45、所定量の燃料ガスを吸蔵可能なキャニスタ46、燃料タンク45内で蒸発した燃料ガスをキャニスタ46へ導入するためのベーパ捕集管47、キャニスタ46から脱離した燃料ガスを吸気管41に導入するためのパージ流路48、及びパージ流路48に介装されたパージ制御弁49を備えている。ここで、吸気ポート31、及び吸気管41は、吸気通路を構成している。
キャニスタ46は、周知のチャコールキャニスタであって、ベーパ捕集管47に接続されたタンクポート46aと、パージ流路48に接続されたパージポート46bと、大気ポート46cとが形成された筐体内に、燃料ガスを吸着するための吸着剤46dを収納することにより構成されている。大気ポート46cは、パージ制御弁49が開放された場合に、吸気管41にて生じる負圧により、パージ流路48にて吸気管41に向かうガスの流れが生じるように、外部の空気をキャニスタ46内に導入するための大気連通孔である。
なお、キャニスタ46は、タンクポート46aからパージポート46bへの直接のガス流路を有している。そして、このガス流路により、内燃機関10の運転中であってパージ制御弁49が開放された場合に、燃料タンク45にて発生したタンクベーパーがタンクポート46aから当該キャニスタ46の内部に流入した後に吸着剤46dに吸着されることなくそのままパージポート46bから排出され得るようになっている。
また、本装置においては、キャニスタパージとタンクベーパー導入との双方が特に区別されることなく行われる。すなわち、本装置におけるパージ実行により、大気ポート46cから吸着剤46dを通ってパージポート46bからパージ流路48へ流れるキャニスタパージガスと、燃料タンク45からタンクポート46a及び上述のタンクポート46aとパージポート46bとの間の直接のガス流路を経てパージ流路48へ流れるタンクベーパーとが混合したエバポガスが、パージ制御弁49を通って吸気管41に吸入される構成となっている。
パージ制御弁49は、周知のVSV(バキュームスイッチングバルブ)により構成されている(本実施形態の以下の説明では、パージ制御弁49を「VSV49」と略称する。)。このVSV49は、通電されることで流路を開き、非通電時には流路を閉じるように構成された、所謂「常閉タイプ」の開閉弁が用いられる。
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51(実際には、各排気ポート34に連通した各々のエキゾーストマニホールド51が集合した集合部)に接続されたエキゾーストパイプ(排気管)52、エキゾーストパイプ52に配設(介装)された上流側触媒装置53(上流側触媒コンバータ、又はスタート・キャタリティック・コンバータとも云うが、以下「第1触媒53」と称呼する。)、及びこの第1触媒53の下流のエキゾーストパイプ52に配設(介装)された下流側触媒装置54(車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも云うが、以下「第2触媒54」と称呼する。)を備えている。排気ポート34、エキゾーストマニホールド51、及びエキゾーストパイプ52は、排気通路を構成している。
一方、内燃機関10は、エアフローメータ61、スロットルポジションセンサ62、カムポジションセンサ63、クランクポジションセンサ64、水温センサ65、第1触媒53の上流の排気通路(本例では、前記各々のエキゾーストマニホールド51が集合した集合部)に配設された空燃比センサ66(以下、「上流側空燃比センサ66」と称呼する。)、第1触媒53の下流であって第2触媒54の上流の排気通路に配設された空燃比センサ67(以下、「下流側空燃比センサ67」と称呼する。)、アクセル開度センサ68、及び燃料タンク45内の燃料温度を検知するための温度センサである燃料温センサ69を備えている。
エアフローメータ61は、周知の熱線式エアフローメータにより構成されており、吸気管41内を流れる吸入空気の単位時間あたりの質量流量に応じた電圧Vgを出力するようになっている。かかるエアフローメータ61の出力Vgと、計測された吸入空気量(流量)Gaとの関係は、図2に示したとおりである。スロットルポジションセンサ62は、スロットル弁43の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ63は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)一つのパルスを有する信号(G2信号)を発生するようになっている。クランクポジションセンサ64は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに当該クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ65は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
上流側空燃比センサ66は、限界電流式の酸素濃度センサであり、図3に示したように、空燃比A/Fに応じた電流を出力し、この電流に応じた電圧である出力値Vabyfsを出力するようになっていて、特に、空燃比が理論空燃比であるときには出力値Vabyfsは上流側目標値Vstoichになる。図3から明らかなように、上流側空燃比センサ66によれば、広範囲にわたる空燃比A/Fを精度良く検出することができる。
下流側空燃比センサ67は、起電力式(濃淡電池式)の酸素濃度センサであり、図4に示したように、理論空燃比近傍において急変する電圧である出力値Voxsを出力するようになっている。より具体的に述べると、下流側空燃比センサ67は、空燃比が理論空燃比よりもリーンのときは略0.1(V)、空燃比が理論空燃比よりもリッチのときは略0.9(V)、及び空燃比が理論空燃比のときは0.5(V)の電圧を出力するようになっている。アクセル開度センサ68は、運転者によって操作されるアクセルペダル81の操作量を検出し、当該アクセルペダル81の操作量Accpを表す信号を出力するようになっている。
電気制御装置70は、互いにバスで接続されたCPU71、CPU71が実行するルーチン(プログラム)、テーブル(ルックアップテーブル、マップ)、及びパラメータ等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに、この格納したデータを電源が遮断されている間も保持するバックアップRAM74、並びにADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、前記センサ61〜69と接続され、CPU71にセンサ61〜69からの信号を供給するとともに、CPU71の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39、スロットル弁アクチュエータ43a、SCVアクチュエータ44a、及びVSV49に駆動信号を送出するようになっている。
<エバポパージ制御>
VSV49は、上述の通り、所謂「常閉タイプ」の開閉弁であるので、機関停止中における日光等による加熱によって燃料タンク45中で発生した燃料ガスは、当該燃料タンク45,ベーパ捕集管47,キャニスタ46,及びパージ流路48のVSV49よりもパージガスの流れにおける上流側(キャニスタ46側)によって形成される閉空間内に充満する。そして、この閉空間内に充満した燃料ガスは、吸着剤46dに吸着されることでキャニスタ46内に吸蔵される。
VSV49は、上述の通り、所謂「常閉タイプ」の開閉弁であるので、機関停止中における日光等による加熱によって燃料タンク45中で発生した燃料ガスは、当該燃料タンク45,ベーパ捕集管47,キャニスタ46,及びパージ流路48のVSV49よりもパージガスの流れにおける上流側(キャニスタ46側)によって形成される閉空間内に充満する。そして、この閉空間内に充満した燃料ガスは、吸着剤46dに吸着されることでキャニスタ46内に吸蔵される。
その後、機関運転中であって、(ア)エンジン暖気後、(イ)空燃比フィードバック中、(ウ)アクセルON、等の、エバポパージを行うためのすべての条件(以下、「パージ条件成立」と称する。)が成立した場合に、VSV49が開放される。周知の通り、このVSV49が開放された場合、吸気管41にて生じる負圧により、キャニスタ46の大気ポート46cから吸着剤46d及びパージポート46bを経て吸気管41に向かうガスの流れがパージ流路48にて生じ、このガスの流れが吸着剤46dを通過する際に、吸着剤46dに吸着されている燃料ガスが吸着剤46dから脱離してエバポガスとして吸気管41内へパージされる。ここで、パージ率(=エバポガス流量/(エバポガス流量+エアフローメータ検出空気流量):単位は重量%)の制御は、周知の通り、VSV49をデューティ制御することにより行い得る。そして、定常運転時にて通常適用されるパージ率(目標パージ率)は、運転状態により適宜選択され得る(例えばアイドリング時は10%)。
(空燃比制御の概要)
次に、上述のように構成された空燃比制御装置が行う機関の空燃比制御の概要について説明する。
次に、上述のように構成された空燃比制御装置が行う機関の空燃比制御の概要について説明する。
第1触媒53(第2触媒54も同様である。)は、周知の通り、金属製の筐体内に所謂三元触媒を配置することで構成されており、この第1触媒53に流入するガスの空燃比が略理論空燃比であるときに、前記三元触媒によってHC,COを酸化するとともにNOxを還元し、これらの有害成分を高い効率で浄化する。また、第1触媒53に備えられる三元触媒は、酸素を吸蔵・放出する機能(酸素吸蔵機能、酸素吸蔵・放出機能)を有し、この酸素吸蔵・放出機能により、空燃比が理論空燃比からある程度まで偏移したとしても、HC,CO、及びNOxを浄化することができる。即ち、燃焼室に供給される混合気の空燃比(以下、「機関の空燃比」と云うこともある。)の空燃比がリーンとなって第1触媒53に流入するガスにNOxが多量に含まれると、第1触媒53に備えられた前記三元触媒はNOxから酸素分子を奪って同酸素分子を吸蔵するとともに同NOxを還元し、これによりNOxを浄化する。また、機関の空燃比がリッチになって第1触媒53に流入するガスにHC,COが多量に含まれると、前記三元触媒は吸蔵している酸素分子を放出してHC,COに与えることでHC,COを酸化し、これによりHC,COを浄化する。
従って、第1触媒53が連続的に流入する多量のHC,COを効率的に浄化するためには、当該第1触媒53に備えられた三元触媒が酸素を多量に貯蔵していなければならず、逆に連続的に流入する多量のNOxを効率的に浄化するためには、当該三元触媒が酸素を十分に貯蔵し得る状態になければならないことになる。以上のことから、第1触媒53の浄化能力は、当該三元触媒が貯蔵し得る最大の酸素量(最大酸素吸蔵量)に依存する。
一方、第1触媒53に備えられる三元触媒は、燃料中に含まれる鉛や硫黄等による被毒、或いは触媒に加わる熱により劣化し、これに伴い最大酸素吸蔵量が次第に低下してくる。この結果、触媒ウィンドウの範囲も狭くなってくる。このように最大酸素吸蔵量が低下して触媒ウィンドウが狭くなった場合であっても、エミッションの排出量を継続的に抑制するには、第1触媒53から排出されるガスの空燃比(従って、第1触媒53に流入するガスの平均空燃比)が、理論空燃比に極めて近い状態となるように精度よく制御する必要がある。
そこで、本実施形態の空燃比制御装置は、上流側空燃比センサ66の出力値を用いた上流側フィードバック(以下メインフィードバックと称する)及び下流側空燃比センサ67の出力値を用いた下流側フィードバック(以下サブフィードバックと称する)という2つの空燃比フィードバック制御を行っている。しかも、これらのフィードバック制御だけでは迅速かつ充分に補償することが困難な、混合気供給系の機構的誤差の変動や、エバポパージによる空燃比の急激な変動は、当該各フィードバック制御における補正の対象としての基本燃料噴射量を補正することで補償される。
より具体的に述べると、この空燃比制御装置(以下、「本装置」と云うこともある。)は、機能ブロック図である図5及び図7に示したように、A1〜A17,A27〜A29の各機能ブロックを含んで構成されている。以下、各図を参照しながら各機能ブロックについて説明していく。
<基本燃料噴射量の算出>
先ず、筒内吸入空気量算出部A1は、エアフローメータ61が計測している吸入空気流量Gaと、クランクポジションセンサ64の出力に基づいて得られるエンジン回転速度NEと、ROM72が記憶しているテーブルMapMcとに基づき、吸気行程を迎える気筒の今回の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の(k)は、今回の吸気行程に対する値であることを示している(以下、他の物理量についても同様。)。筒内吸入空気量Mcは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
先ず、筒内吸入空気量算出部A1は、エアフローメータ61が計測している吸入空気流量Gaと、クランクポジションセンサ64の出力に基づいて得られるエンジン回転速度NEと、ROM72が記憶しているテーブルMapMcとに基づき、吸気行程を迎える気筒の今回の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の(k)は、今回の吸気行程に対する値であることを示している(以下、他の物理量についても同様。)。筒内吸入空気量Mcは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
上流側目標空燃比設定部A2は、内燃機関10の運転状態であるエンジン回転速度NE、及びスロットル弁開度TA等に基づいて所定の上流側目標値に相当する上流側目標空燃比abyfr(k)を決定する。この上流側目標空燃比abyfr(k)は、例えば、内燃機関10の暖機終了後においては、特殊な場合を除き理論空燃比に設定されている。また、上流側目標空燃比abyfrは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
補正前基本燃料噴射量算出部A3は、筒内吸入空気量算出部A1により求められた筒内吸入空気量Mc(k)を上流側目標空燃比設定部A2により設定された上流側目標空燃比abyfr(k)で除することにより、機関の空燃比を当該上流側目標空燃比abyfr(k)とするための今回の吸気行程に対する目標筒内燃料供給量Fcr(k)(即ち、今回の補正前基本燃料噴射量Fbaseb(k))を求める。目標筒内燃料供給量Fcr、及び補正前基本燃料噴射量Fbasebは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。以上、補正前基本燃料噴射量算出部A3が基本燃料噴射量取得部に相当する。
補正係数設定部A29は、機関の運転状態に応じて、第1基本燃料噴射量補正係数取得部A17からの出力KF1、第2基本燃料噴射量補正係数取得部A27からの出力KF2、及び補正係数学習部A28からの出力KFm,KFmpに基づいて基本燃料噴射量補正係数KFの値の設定を行い、補正後基本燃料噴射量算出部A4に出力する。これら第1基本燃料噴射量補正係数取得部A17、第2基本燃料噴射量補正係数取得部A27、補正係数学習部A28、及び補正係数設定部A29の詳細は後述する。
補正後基本燃料噴射量算出部A4は、補正前基本燃料噴射量算出部A3により求められた今回の補正前基本燃料噴射量Fbaseb(k)に、補正係数設定部A29により設定された基本燃料噴射量補正係数KFを乗じることで、補正後基本燃料噴射量Fbaseを求める。
このように、本装置は、筒内吸入空気量算出部A1、上流側目標空燃比設定部A2、補正前基本燃料噴射量算出部A3、補正後基本燃料噴射量算出部A4、第1基本燃料噴射量補正係数取得部A17、第2基本燃料噴射量補正係数取得部A27、補正係数学習部A28、及び補正係数設定部A29を利用して、補正後基本燃料噴射量Fbaseを求める。この補正後基本燃料噴射量Fbaseは、後に詳述するように、前回の吸気行程にて求められた混合気供給系の機構的誤差やエバポパージによる空燃比変動を補償して、今回の吸気行程において燃焼室に供給される混合気の実際の空燃比を今回の上流側目標空燃比abyfr(k)と一致させるようにするための前記必要燃料噴射量の燃料を実際に噴射するためにインジェクタ39に指示すべき前記燃料噴射量指令値である(メイン及びサブフィードバック前の)目標燃料噴射指令値である。
<指令燃料噴射量の算出>
指令燃料噴射量算出部A5は、前記補正後基本燃料噴射量Fbase(k)に後述するメインフィードバック補正量DFi_main、及びサブフィードバック補正量DFi_subを加えることで、下記(1)式に基づいて今回の指令燃料噴射量Fi(k)を求める。指令燃料噴射量Fi(k)は、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
Fi(k)=Fbase(k)+DFi_main+DFi_sub ・・・(1)
指令燃料噴射量算出部A5は、前記補正後基本燃料噴射量Fbase(k)に後述するメインフィードバック補正量DFi_main、及びサブフィードバック補正量DFi_subを加えることで、下記(1)式に基づいて今回の指令燃料噴射量Fi(k)を求める。指令燃料噴射量Fi(k)は、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
Fi(k)=Fbase(k)+DFi_main+DFi_sub ・・・(1)
本装置は、このようにして、指令燃料噴射量算出部A5により、補正後基本燃料噴射量Fbase(k)をメインフィードバック補正量DFi_mainとサブフィードバック補正量DFi_subとに基づいて補正することにより得られる指令燃料噴射量Fi(k)の燃料の噴射指示を今回の吸気行程を迎える気筒についてのインジェクタ39に対して行う。
<サブフィードバック制御>
先ず、下流側目標値設定部A6は、上述した上流側目標空燃比設定部A2と同様、内燃機関10の運転状態であるエンジン回転速度NE、及びスロットル弁開度TA等に基づいて下流側目標空燃比に対応する下流側目標値(所定の下流側目標値)Voxs_refを決定する。この下流側目標値Voxs_refは、例えば、内燃機関10の暖機終了後においては、特殊な場合を除き理論空燃比に対応する値である0.5(V)に設定されている(図4を参照。)。また、本例では、下流側目標値Voxs_refは、当該下流側目標値Voxs_refに対応する下流側目標空燃比が上述した上流側目標空燃比abyfr(k)と常時一致するように設定される。
先ず、下流側目標値設定部A6は、上述した上流側目標空燃比設定部A2と同様、内燃機関10の運転状態であるエンジン回転速度NE、及びスロットル弁開度TA等に基づいて下流側目標空燃比に対応する下流側目標値(所定の下流側目標値)Voxs_refを決定する。この下流側目標値Voxs_refは、例えば、内燃機関10の暖機終了後においては、特殊な場合を除き理論空燃比に対応する値である0.5(V)に設定されている(図4を参照。)。また、本例では、下流側目標値Voxs_refは、当該下流側目標値Voxs_refに対応する下流側目標空燃比が上述した上流側目標空燃比abyfr(k)と常時一致するように設定される。
出力偏差量算出部A7は、下記(2)式に基づいて、下流側目標値設定部A6により設定されている現時点(具体的には、今回のFi(k)の噴射指示開始時点)での下流側目標値Voxs_refから同現時点での下流側空燃比センサ67の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
DVoxs=Voxs_ref−Voxs ・・・(2)
DVoxs=Voxs_ref−Voxs ・・・(2)
ローパスフィルタA8は、その特性をラプラス演算子sを用いて表した下記(3)式に示すように、一次のフィルタである。下記(3)式において、τ1は時定数である。ローパスフィルタA8は、周波数(1/τ1)以上の高周波数成分が通過することを実質的に禁止する。ローパスフィルタA8は、前記出力偏差量算出部A7により求められた前記出力偏差量DVoxsの値を入力するとともに、下記(3)式に従って当該出力偏差量DVoxsの値をローパスフィルタ処理した後の値であるローパスフィルタ通過後出力偏差量DVoxs_lowを出力する。
1/(1+τ1・s) ・・・(3)
1/(1+τ1・s) ・・・(3)
PIDコントローラA9は、ローパスフィルタA8の出力値であるローパスフィルタ通過後出力偏差量DVoxs_lowを比例・積分・微分処理(PID処理)することで、下記(4)式に基づいてサブフィードバック補正量DFi_subを求める。
DFi_sub=Kp・DVoxs_low+Ki・SDVoxs_low+Kd・DDVoxs_low ・・・(4)
DFi_sub=Kp・DVoxs_low+Ki・SDVoxs_low+Kd・DDVoxs_low ・・・(4)
前記(4)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。また、SDVoxs_lowはローパスフィルタ通過後出力偏差量DVoxs_lowの時間積分値であり、DDVoxs_lowはローパスフィルタ通過後出力偏差量DVoxs_lowの時間微分値である。
このようにして、本装置は、下流側目標値Voxs_refと下流側空燃比センサ67の出力値Voxsとの偏差である出力偏差量DVoxs(実際には、ローパスフィルタ通過後出力偏差量DVoxs_low)に基づいて、サブフィードバック補正量DFi_subを求め、前記補正後基本燃料噴射量Fbase(k)に前記サブフィードバック補正量DFi_subを加えることで、後述するメインフィードバック制御による(前記メインフィードバック補正量DFi_mainによる)補正後基本燃料噴射量Fbase(k)の補正とは独立に補正後基本燃料噴射量Fbase(k)を補正する。
例えば、機関の平均的な空燃比がリーンであるために下流側空燃比センサ67の出力値Voxsが理論空燃比よりもリーンである空燃比に対応した値を示すと、出力偏差量算出部A7により求められる出力偏差量DVoxsが正の値となるので(図4を参照。)、PIDコントローラA9にて求められるサブフィードバック補正量DFi_subは正の値となる。これにより、指令燃料噴射量算出部A5にて求められる指令燃料噴射量Fi(k)は補正後基本燃料噴射量Fbase(k)よりも大きくなって、機関の空燃比がリッチとなるように制御される。
反対に、機関の平均的な空燃比がリッチであるために下流側空燃比センサ67の出力値Voxsが理論空燃比よりもリッチである空燃比に対応した値を示すと、出力偏差量算出部A7により求められる出力偏差量DVoxsが負の値となるので、PIDコントローラA9にて求められるサブフィードバック補正量DFi_subは負の値となる。これにより、指令燃料噴射量算出部A5にて求められる指令燃料噴射量Fi(k)は補正後基本燃料噴射量Fbase(k)よりも小さくなって、機関の空燃比がリーンとなるように制御される。
また、PIDコントローラA9は積分項Ki・SDVoxs_lowを含んでいるので、定常状態では出力偏差量DVoxsがゼロになることが保証される。換言すれば、下流側目標値Voxs_refと下流側空燃比センサ67の出力値Voxsとの定常偏差がゼロになる。また、定常状態では、出力偏差量DVoxsがゼロになることで比例項Kp・DVoxs_low、微分項Kd・DDVoxs_lowが共にゼロとなるから、サブフィードバック補正量DFi_subは積分項Ki・SDVoxs_lowの値と等しくなる。この値は、下流側空燃比センサ67の出力値Voxsと下流側目標値Voxs_refとの偏差の時間積分値に基づく値である。
PIDコントローラA9においてかかる積分処理が実行されることにより、上述した混合気供給系の機構的誤差やエバポパージによる空燃比変動が補償され得、且つ、定常状態において第1触媒53の下流の空燃比(従って、機関の空燃比)が前記下流側目標値Voxs_refに対応する下流側目標空燃比(即ち、理論空燃比)に収束し得る。以上、下流側目標値設定部A6、出力偏差量算出部A7、ローパスフィルタA8、及びPIDコントローラA9が下流側フィードバック補正値算出部に相当する。
<メインフィードバック制御>
先に説明したように、第1触媒53は酸素吸蔵機能を有している。従って、第1触媒53の上流の排気ガスの空燃比の変動における比較的周波数の高い(例えば、前記周波数(1/τ1)以上の)高周波数成分、及び比較的周波数が低くて(例えば、前記周波数(1/τ1)以下であって)振幅(理論空燃比からの偏移量)が比較的小さい低周波数成分は第1触媒53が有する酸素吸蔵機能により完全に吸収されることにより第1触媒53の下流の排気ガスの空燃比の変動として現れることはない。従って、例えば、内燃機関10が過渡運転状態にあって排気ガスの空燃比が前記周波数(1/τ1)以上の高周波数で大きく変動するような場合、同空燃比の変動が下流側空燃比センサ67の出力値Voxsに現れないから、同周波数(1/τ1)以上の空燃比の変動に対する空燃比制御(即ち、過渡運転状態における空燃比の急変に対する補償)はサブフィードバック制御により実行することができない。従って、過渡運転状態における空燃比の急変に対する補償を確実に行うためには、上流側空燃比センサ66の出力値Vabyfsに基づいた空燃比制御であるメインフィードバック制御を行う必要がある。
先に説明したように、第1触媒53は酸素吸蔵機能を有している。従って、第1触媒53の上流の排気ガスの空燃比の変動における比較的周波数の高い(例えば、前記周波数(1/τ1)以上の)高周波数成分、及び比較的周波数が低くて(例えば、前記周波数(1/τ1)以下であって)振幅(理論空燃比からの偏移量)が比較的小さい低周波数成分は第1触媒53が有する酸素吸蔵機能により完全に吸収されることにより第1触媒53の下流の排気ガスの空燃比の変動として現れることはない。従って、例えば、内燃機関10が過渡運転状態にあって排気ガスの空燃比が前記周波数(1/τ1)以上の高周波数で大きく変動するような場合、同空燃比の変動が下流側空燃比センサ67の出力値Voxsに現れないから、同周波数(1/τ1)以上の空燃比の変動に対する空燃比制御(即ち、過渡運転状態における空燃比の急変に対する補償)はサブフィードバック制御により実行することができない。従って、過渡運転状態における空燃比の急変に対する補償を確実に行うためには、上流側空燃比センサ66の出力値Vabyfsに基づいた空燃比制御であるメインフィードバック制御を行う必要がある。
一方、第1触媒53の上流の排気ガスの空燃比の変動における比較的周波数が低くて(例えば、前記周波数(1/τ1)以下であって)振幅が比較的大きい低周波数成分は第1触媒53の酸素吸蔵機能では完全には吸収されず、少し遅れて第1触媒53の下流の排気ガスの空燃比の変動として現れる。この結果、上流側空燃比センサ66の出力値Vabyfsと下流側空燃比センサ67の出力値Voxsとが理論空燃比に対して互いに逆方向に偏移した空燃比を示す値となる場合が存在する。従って、この場合、メインフィードバック制御(後述するメインフィードバック補正量DFi_main)に基づく機関の空燃比制御とサブフィードバック制御(従って、前記サブフィードバック補正量DFi_sub)に基づく機関の空燃比制御とを同時に行うと、2つの空燃比制御が互いに干渉することになるので良好な機関の空燃比制御を行うことができない。
以上のことから、上流側空燃比センサ66の出力値Vabyfsの変動における各周波数成分のうち第1触媒53の下流の空燃比の変動として現れ得る程度の周波数成分である所定の周波数(本例では、周波数(1/τ1))以下の低周波数成分をカットした後の当該上流側空燃比センサ66の出力値Vabyfsをメインフィードバック制御に使用すれば、前記機関の空燃比制御の干渉が発生することを回避することができるとともに、過渡運転状態における空燃比の急変に対する補償を確実に行うことができる。
そこで、本装置は、前述の図5に示したように、A10〜A16の各機能ブロックを含んで構成されている。以下、図5を参照しながら各機能ブロックについて説明していく。
<<メインフィードバック補正量の算出>>
先ず、テーブル変換部A10は、上流側空燃比センサ66の出力値Vabyfsと、先に説明した図3に示した上流側空燃比センサ出力値Vabyfsと空燃比A/Fとの関係を規定したテーブルとに基づいて、上流側空燃比センサ66が検出する現時点(具体的には、今回のFi(k)の噴射指示開始時点)における今回の検出空燃比abyfs(k)を求める。
先ず、テーブル変換部A10は、上流側空燃比センサ66の出力値Vabyfsと、先に説明した図3に示した上流側空燃比センサ出力値Vabyfsと空燃比A/Fとの関係を規定したテーブルとに基づいて、上流側空燃比センサ66が検出する現時点(具体的には、今回のFi(k)の噴射指示開始時点)における今回の検出空燃比abyfs(k)を求める。
筒内吸入空気量遅延部A11は、筒内吸入空気量算出部A1により吸気行程毎に求められRAM73に記憶されている筒内吸入空気量Mcのうち、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の筒内吸入空気量McをRAM73から読み出し、これを筒内吸入空気量Mc(k−N)として設定する。
筒内燃料供給量算出部A12は、筒内吸入空気量遅延部A11により求められた現時点からNストローク前の筒内吸入空気量Mc(k−N)をテーブル変換部A10により求められた今回の検出空燃比abyfs(k)で除することで、現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を求める。ここで、前記値Nは、内燃機関10の排気量、及び燃焼室25から上流側空燃比センサ66までの距離等により異なる値である。
このように、現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点における今回の検出空燃比abyfs(k)で除するのは、燃焼室25内で燃料された混合気が上流側空燃比センサ66に到達するまでには、Nストロークに相当する時間L1を要しているからである。
目標筒内燃料供給量遅延部A13は、補正前基本燃料噴射量算出部A3により吸気行程毎に求められRAM73に記憶されている目標筒内燃料供給量Fcrのうち、現時点からNストローク前の目標筒内燃料供給量FcrをRAM73から読み出し、これを目標筒内燃料供給量Fcr(k−N)として設定する。
筒内燃料供給量偏差算出部A14は、下記(5)式に基づいて、目標筒内燃料供給量遅延部A13により設定された現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量算出部A12により求められた現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量であって、上流側空燃比センサ66の出力値Vabyfsと上流側目標値(上流側目標空燃比abyfrが理論空燃比のときは図3に示すVstoich)との偏差に基づく値である。
DFc=Fcr(k−N)−Fc(k−N) ・・・(5)
DFc=Fcr(k−N)−Fc(k−N) ・・・(5)
ハイパスフィルタA15は、その特性をラプラス演算子sを用いて表した下記(6)式に示すように、一次のフィルタである。下記(6)式において、τ1は前記ローパスフィルタA8の時定数τ1と同一の時定数である。ハイパスフィルタA15は、周波数(1/τ1)以下の低周波数成分が通過することを実質的に禁止する。
1−1/(1+τ1・s) ・・・(6)
1−1/(1+τ1・s) ・・・(6)
ハイパスフィルタA15は、前記筒内燃料供給量偏差算出部A14により求められた前記筒内燃料供給量偏差DFcの値を入力するとともに、前記(6)式に従って当該筒内燃料供給量偏差DFcの値をハイパスフィルタ処理した後の値であるハイパスフィルタ通過後筒内燃料供給量偏差DFchiを出力する。従って、ハイパスフィルタ通過後筒内燃料供給量偏差DFchiは、上流側空燃比センサ66の出力値Vabyfsと上流側目標値との偏差に基づく値をハイパスフィルタ処理した後の値である。
PIコントローラA16は、ハイパスフィルタA15の出力値であるハイパスフィルタ通過後筒内燃料供給量偏差DFchiを比例・積分処理(PI処理)することで、下記(7)式に基づいてNストローク前の燃料供給量の過不足(における周波数(1/τ1)以上の高周波数成分のみの過不足)を補償するためのメインフィードバック補正量DFi_mainを求める。
DFi_main=(Gphi・DFchi+Gihi・SDFchi)・KFB ・・・(7)
DFi_main=(Gphi・DFchi+Gihi・SDFchi)・KFB ・・・(7)
前記(7)式において、Gphiは予め設定された比例ゲイン(比例定数)、Gihiは予め設定された積分ゲイン(積分定数)である。SDFchiはハイパスフィルタ通過後筒内燃料供給量偏差DFchiの時間積分値である。また、係数KFBは、エンジン回転速度NE、及び筒内吸入空気量Mc等により可変とすることが好ましいが、本例では「1」としている。係るメインフィードバック補正量DFi_mainは、先に述べたように指令燃料噴射量算出部A5により指令燃料噴射量Fi(k)を求める際に使用される。
このようにして、本装置は、メインフィードバック制御回路とサブフィードバック制御回路とを内燃機関10に対して並列に接続している。そして、本装置は、上流側目標空燃比abyfrに対応する上流側目標値と上流側空燃比センサ66の出力値Vabyfsとの偏差に基づく値をハイパスフィルタ処理した後の値であるハイパスフィルタ通過後筒内燃料供給量偏差DFchiに基づいて、メインフィードバック補正量DFi_mainを求め、前記補正後基本燃料噴射量Fbaseに当該メインフィードバック補正量DFi_mainを加えることで、上述したサブフィードバック制御による(サブフィードバック補正量DFi_subによる)補正後基本燃料噴射量Fbaseの補正とは独立に補正後基本燃料噴射量Fbaseを補正する。
例えば、機関の空燃比が急変してリーンとなると、テーブル変換部A10にて求められる今回の検出空燃比abyfs(k)は上流側目標空燃比設定部A2により設定されている現時点からNストローク前の上流側目標空燃比abyfr(k−N)よりもリーンな値(より大きな値)として求められる。このため、筒内燃料供給量算出部A12にて求められる実際の筒内燃料供給量Fc(k−N)は目標筒内燃料供給量遅延部A13にて求められる目標筒内燃料供給量Fcr(k−N)よりも小さい値となり、筒内燃料供給量偏差DFcは大きい正の値として求められる。また、機関の空燃比の急変によりこの筒内燃料供給量偏差DFcを示す信号には前記周波数(1/τ1)以上の高周波数成分が存在するから、ハイパスフィルタA15を通過した後のハイパスフィルタ通過後筒内燃料供給量偏差DFchiも大きい正の値となる。従って、メインフィードバック補正量DFi_mainが大きい正の値となる。これにより、指令燃料噴射量算出部A5にて求められる指令燃料噴射量Fi(k)は、補正後基本燃料噴射量Fbaseよりも大きくなって、機関の空燃比がリッチとなるように制御される。
反対に、機関の空燃比が急変してリッチとなると、今回の検出空燃比abyfs(k)は現時点からNストローク前の上流側目標空燃比abyfr(k−N)よりもリッチな値(より小さな値)として求められる。このため、実際の筒内燃料供給量Fc(k−N)は目標筒内燃料供給量Fcr(k−N)よりも大きい値となり、筒内燃料供給量偏差DFcは負の値として求められる。また、機関の空燃比の急変によりこの筒内燃料供給量偏差DFcを示す信号には前記周波数(1/τ1)以上の高周波数成分が存在するから、ハイパスフィルタ通過後筒内燃料供給量偏差DFchiも負の値となる。従って、メインフィードバック補正量DFi_mainが負の値となる。これにより、指令燃料噴射量Fi(k)は、補正後基本燃料噴射量Fbaseよりも小さくなって、機関の空燃比がリーンとなるように制御される。以上、テーブル変換部A10、筒内吸入空気量遅延部A11、筒内燃料供給量算出部A12、目標筒内燃料供給量遅延部A13、筒内燃料供給量偏差算出部A14、ハイパスフィルタA15、及びPIコントローラA16は上流側フィードバック補正値算出部に相当する。
このようにして、第1触媒53の下流の空燃比の変動として現れ得る程度の周波数(1/τ1)以下の空燃比の変動に対する実質的な空燃比制御はサブフィードバック制御により確実に行われ得るとともに、同周波数(1/τ1)以下の低周波数成分はハイパスフィルタA15を通過し得ずPIコントローラA16に入力されないから前述した機関の空燃比制御の干渉が発生することを回避できる。また、機関の空燃比の変動(従って、上流側空燃比センサ66の出力値Vabyfsの変動)における前記周波数(1/τ1)以上の高周波数成分はハイパスフィルタA15を通過するから、過渡運転状態における空燃比の急変に対する補償はメインフィードバック制御により迅速、且つ確実に行われ得る。
<基本燃料噴射量補正係数KFの概要>
先に説明したように、前記PIDコントローラA9において積分処理が実行されることにより、サブフィードバック制御において上述した混合気供給系の機構的誤差やエバポパージによる空燃比変動が補償され得る。しかしながら、上述した第1触媒53の酸素吸蔵機能の影響により機関の空燃比の変化は少し遅れて第1触媒53の下流の排気ガスの空燃比の変化として現れるから、サブフィードバック制御のみでは上述の混合気供給系の機構的誤差の急な増大やエバポパージによる空燃比変動を直ちに補償することができず、その結果、一時的にエミッションの排出量が増大する場合が発生するという問題がある。
先に説明したように、前記PIDコントローラA9において積分処理が実行されることにより、サブフィードバック制御において上述した混合気供給系の機構的誤差やエバポパージによる空燃比変動が補償され得る。しかしながら、上述した第1触媒53の酸素吸蔵機能の影響により機関の空燃比の変化は少し遅れて第1触媒53の下流の排気ガスの空燃比の変化として現れるから、サブフィードバック制御のみでは上述の混合気供給系の機構的誤差の急な増大やエバポパージによる空燃比変動を直ちに補償することができず、その結果、一時的にエミッションの排出量が増大する場合が発生するという問題がある。
従って、前記酸素吸蔵機能による遅れの影響がないメインフィードバック制御においても上述の混合気供給系の機構的誤差やエバポパージによる空燃比変動を直ちに補償できるように構成することが必要である。しかしながら、ハイパスフィルタ処理は微分処理(D処理)と同等の機能を有する処理であるから、ハイパスフィルタA15通過後の値がPIコントローラA16の入力値とされている前記メインフィードバック制御においては、実質的に積分処理が実行され得ない。よって、前記メインフィードバック制御においては前記混合気供給系の機構的誤差やエバポパージによる空燃比変動が補償され得ない。
以上のことから、メインフィードバック制御、及びサブフィードバック制御による積分処理によることなく前記混合気供給系の機構的誤差やエバポパージによる空燃比変動を直ちに補償する必要がある。このためには、指令燃料噴射量Fiを決定する値のうちメインフィードバック補正量DFi_main、及びサブフィードバック補正量DFi_sub以外の値である補正後基本燃料噴射量Fbaseが、燃焼室に供給される混合気の実際の空燃比を目標空燃比abyfrとするために(すなわち実際に噴射される燃料が必要燃料噴射量となるようにするために)、吸気行程を迎える気筒のインジェクタ39に噴射指示すべき目標燃料噴射指令値(以下、「目標基本燃料噴射量Fbaset」と称呼する。)と一致する(近づく)ように補正される必要がある。
そのためには、図5から理解できるように、補正前基本燃料噴射量算出部A3からの出力値である今回の前記補正前基本燃料噴射量Fbaseb(k)に、何らかの補正係数(基本燃料噴射量補正係数KF)を乗じることで、メインフィードバック及びサブフィードバックの対象となる(補正後)基本燃料噴射量が可及的に前記目標基本燃料噴射量Fbasetと一致する(近づく)ようにすることが必要である。以下、基本燃料噴射量補正係数KFの設定方法について説明する。
一般に、燃焼室内に吸入される筒内吸入空気量が一定であるという仮定のもとでは、燃料噴射量と、燃焼室に供給される混合気の空燃比(従って、排気ガスの空燃比)の積は一定となる。従って、係る仮定のもとでは、一般に、前記指令燃料噴射量Fiと、上流側空燃比センサ66による検出空燃比abyfsの積は、燃焼室に供給される混合気の実際の空燃比を今回の目標空燃比abyfr(k)とするために必要な前記目標基本燃料噴射量Fbasetと、目標空燃比abyfr(k)の積に等しい、という関係が成立する。従って、目標基本燃料噴射量Fbasetは、一般に、下記(8)式に従って表すことができる。
Fbaset=(abyfs / abyfr(k))・Fi ・・・(8)
Fbaset=(abyfs / abyfr(k))・Fi ・・・(8)
ここで、上述したように、今回の補正前基本燃料噴射量Fbaseb(k)に基本燃料噴射量補正係数KFを乗じた値が前記(8)式に従って求められる目標基本燃料噴射量Fbasetと等しくなるように当該補正係数KFが設定されるから、当該補正係数KFは下記(9)式に従って設定することができる。
KF=Fbaset / Fbaseb(k) ・・・(9)
KF=Fbaset / Fbaseb(k) ・・・(9)
ところで、燃料の噴射指示から、同噴射指示により噴射された燃料の燃焼に基づく排気ガスの空燃比が上流側空燃比センサ66の出力値Vabyfsとして現れるまでには、上述した行程遅れ、輸送遅れ、及び応答遅れの和として表される遅れ時間L2が必要である。換言すれば、上流側空燃比センサ66による検出空燃比abyfsは、遅れ時間L2前に実行された燃料の噴射指示に基づいて発生した排気ガスの空燃比を表す値となる。
従って、前記(8)式に従って目標基本燃料噴射量Fbasetが計算される際、検出空燃比abyfsとして今回の検出空燃比abyfs(k)が使用される一方で、指令燃料噴射量Fiとしては、現時点(具体的には、今回のFi(k)の噴射指示開始時点)から遅れ時間L2に相当するMストローク(M回の吸気行程)前に実行された燃料の噴射指示に係わる指令燃料噴射量である現時点からMストローク前の指令燃料噴射量Fi(k−M)が使用されることが好ましい。
そして、上述した行程遅れ、及び輸送遅れに係る時間は、エンジン回転速度NEの上昇に応じて短くなるとともに、輸送遅れに係る時間は、筒内吸入空気量Mcの増加に応じて短くなる傾向がある。従って、前記遅れ時間L2(従って、値M)は、例えば、エンジン回転速度NEと、筒内吸入空気量Mc(k)と、図6にグラフにより示した、エンジン回転速度NE及び筒内吸入空気量Mcと、ストローク数Mとの関係を規定するテーブルMapMcと、に基づいて求めることができる。
また、機関が過渡運転状態にある場合、検出空燃比abyfs、指令燃料噴射量Fi、及び補正前基本燃料噴射量Fbasebが別個独立に所定の周波数以上の高周波数で大きく変動し得る。このような場合、前記(8)式、及び前記(9)式に示した関係が維持され得なくなる可能性がある。従って、係る高周波数の変動による影響をカットして安定的な空燃比制御を行うために、基本燃料噴射量補正係数KFの取得に際してローパスフィルタ処理(又はローパスフィルタ処理と等価な所謂なまし処理)を用いることが好ましい。
<<第1基本燃料噴射量補正係数KF1の算出>>
以上のことから、第1基本燃料噴射量補正係数取得部A17は、その機能ブロック図である図7(a)に示したようにA17a〜A17dの各機能ブロック(演算処理部)を含んで構成されている。すなわち、第1基本燃料噴射量補正係数取得部A17は、前記遅れ時間L2に相当するMストローク前の指令燃料噴射量Fi(k−M)を取得するための指令燃料噴射量遅延部A17aと、上流側空燃比センサ66の出力値をテーブル変換部A10により空燃比に変換した信号である今回の検出空燃比abyfs(k),上流側目標空燃比設定部A2からの出力信号である今回の吸気行程の上流側目標空燃比abyfr(k),及び前記指令燃料噴射量遅延部A17aからの出力信号を入力とする目標基本燃料噴射量算出部A17bと、その目標基本燃料噴射量算出部A17bからの出力信号である今回の目標基本燃料噴射量Fbaset,及び補正前基本燃料噴射量算出部A3からの出力信号である今回の補正前基本燃料噴射量Fbaseb(k)を入力とする基本燃料噴射量補正係数算出部A17cと、その基本燃料噴射量補正係数算出部A17cからの出力信号を入力とし第1基本燃料噴射量補正係数KF1を出力するローパスフィルタA17dとを備えている。
以上のことから、第1基本燃料噴射量補正係数取得部A17は、その機能ブロック図である図7(a)に示したようにA17a〜A17dの各機能ブロック(演算処理部)を含んで構成されている。すなわち、第1基本燃料噴射量補正係数取得部A17は、前記遅れ時間L2に相当するMストローク前の指令燃料噴射量Fi(k−M)を取得するための指令燃料噴射量遅延部A17aと、上流側空燃比センサ66の出力値をテーブル変換部A10により空燃比に変換した信号である今回の検出空燃比abyfs(k),上流側目標空燃比設定部A2からの出力信号である今回の吸気行程の上流側目標空燃比abyfr(k),及び前記指令燃料噴射量遅延部A17aからの出力信号を入力とする目標基本燃料噴射量算出部A17bと、その目標基本燃料噴射量算出部A17bからの出力信号である今回の目標基本燃料噴射量Fbaset,及び補正前基本燃料噴射量算出部A3からの出力信号である今回の補正前基本燃料噴射量Fbaseb(k)を入力とする基本燃料噴射量補正係数算出部A17cと、その基本燃料噴射量補正係数算出部A17cからの出力信号を入力とし第1基本燃料噴射量補正係数KF1を出力するローパスフィルタA17dとを備えている。
ローパスフィルタA17dは、ラプラス演算子sを用いてその特性を表した下記(10)式に示すように、一次のフィルタである。下記(10)式において、τ2は時定数(フィルタの応答性に関するパラメータ)である。このローパスフィルタA17dは、周波数(1/τ2)以上の高周波数成分が通過することを実質的に禁止する。
1/(1+τ2・s) ・・・(10)
1/(1+τ2・s) ・・・(10)
指令燃料噴射量遅延部A17aは、ROM72に記憶されている上述したテーブルMapMcと、現時点でのエンジン回転速度NEと、今回の筒内吸入空気量Mc(k)と、に基づいて上述の値Mを求める。そして、指令燃料噴射量遅延部A17aは、指令燃料噴射量算出部A5により吸気行程毎に求められRAM73に記憶されている指令燃料噴射量Fiのうち、現時点からMストローク(M回の吸気行程)前の値をRAM73から読み出し、これを指令燃料噴射量Fi(k−M)として設定する。
目標基本燃料噴射量算出部A17bは、前記(8)に相当する下記(11)式に従って、検出空燃比abyfs(k)の値を今回の目標空燃比abyfr(k)で除することで得られる値に、指令燃料噴射量Fi(k−M)の値を乗じることで目標基本燃料噴射量Fbasetを求める。
Fbaset=(abyfs(k) / abyfr(k))・Fi(k−M) ・・・(11)
Fbaset=(abyfs(k) / abyfr(k))・Fi(k−M) ・・・(11)
基本燃料噴射量補正係数算出部A17cは、上記(9)に相当する下記(12)式に従って、目標基本燃料噴射量算出部A17bにより求められた目標基本燃料噴射量Fbasetを補正前基本燃料噴射量Fbaseb(k)で除することで、ローパスフィルタ処理前の基本燃料噴射量補正係数KF0を求める。
KF0=Fbaset / Fbaseb(k) ・・・(12)
KF0=Fbaset / Fbaseb(k) ・・・(12)
ローパスフィルタA17dは、基本燃料噴射量補正係数算出部A17cにより求められたローパスフィルタ処理前の基本燃料噴射量補正係数KF0の値を入力とし、前記(10)式に従って、前記KF0の値をローパスフィルタ処理した後の値である基本燃料噴射量補正係数KF1を出力する。
<<第2基本燃料噴射量補正係数KF2の算出>>
また、第2基本燃料噴射量補正係数取得部A27は、前記第1基本燃料噴射量補正係数取得部A17と同様の構成を有しており、その機能ブロック図である図7(b)に示したように、指令燃料噴射量遅延部A27aと、目標基本燃料噴射量算出部A27bと、基本燃料噴射量補正係数取得部A27cと、ローパスフィルタA27dの各機能ブロック(演算処理部)を含んで構成されている。
また、第2基本燃料噴射量補正係数取得部A27は、前記第1基本燃料噴射量補正係数取得部A17と同様の構成を有しており、その機能ブロック図である図7(b)に示したように、指令燃料噴射量遅延部A27aと、目標基本燃料噴射量算出部A27bと、基本燃料噴射量補正係数取得部A27cと、ローパスフィルタA27dの各機能ブロック(演算処理部)を含んで構成されている。
この第2基本燃料噴射量補正係数取得部A27におけるローパスフィルタA27dは、基本燃料噴射量補正係数取得部A27cからの出力信号を入力として第2基本燃料噴射量補正係数KF2を出力する。ここで、ローパスフィルタA27dは、前記ローパスフィルタA17dと同様、周波数(1/τ3)以上の高周波数成分が通過することを実質的に禁止するものであって、その時定数τ3が前記第1基本燃料噴射量補正係数取得部A17におけるローパスフィルタA17dの時定数τ2よりも小さく設定されている。
<<補正係数設定部による基本燃料噴射量補正係数KFの設定>>
そして、非パージ時には、第1基本燃料噴射量補正係数取得部A17にて求められた第1基本燃料噴射量補正係数KF1は、補正係数設定部A29により基本燃料噴射量補正係数KFとして設定されることで補正後基本燃料噴射量算出部A4に出力され、今回の指令燃料噴射量Fi(k)を得るための補正後基本燃料噴射量Fbaseの取得のために供される。これに対し、第2基本燃料噴射量補正係数取得部A27にて求められた第2基本燃料噴射量補正係数KF2は、今回の指令燃料噴射量Fi(k)を得るための補正後基本燃料噴射量Fbaseの取得のためには用いられない。
そして、非パージ時には、第1基本燃料噴射量補正係数取得部A17にて求められた第1基本燃料噴射量補正係数KF1は、補正係数設定部A29により基本燃料噴射量補正係数KFとして設定されることで補正後基本燃料噴射量算出部A4に出力され、今回の指令燃料噴射量Fi(k)を得るための補正後基本燃料噴射量Fbaseの取得のために供される。これに対し、第2基本燃料噴射量補正係数取得部A27にて求められた第2基本燃料噴射量補正係数KF2は、今回の指令燃料噴射量Fi(k)を得るための補正後基本燃料噴射量Fbaseの取得のためには用いられない。
一方、パージ時には、第2基本燃料噴射量補正係数取得部A27にて求められた第2基本燃料噴射量補正係数KF2は、補正係数設定部A29により基本燃料噴射量補正係数KFとして設定されることで補正後基本燃料噴射量算出部A4に出力され、今回の指令燃料噴射量Fi(k)を得るための補正後基本燃料噴射量Fbaseの取得のために供される。これに対し、第1基本燃料噴射量補正係数取得部A17にて求められた第1基本燃料噴射量補正係数KF1は、今回の指令燃料噴射量Fi(k)を得るための基本燃料噴射量補正係数KFとしては用いられないが、補正係数学習部A28において、パージ開始直後の実際の空燃比の急激な変動を可及的に抑制するためのパージ学習に用いられる。
すなわち、上述の通り、基本燃料噴射量補正係数KFによる基本燃料噴射量補正は、混合気供給系の機構的誤差等を迅速に補償するために、上流側空燃比センサ66の出力に基づいて行われるが、その一方で、補正量の大きな振動を可及的に抑えて安定した基本燃料噴射量補正を実現するという要求があるために、基本燃料噴射量補正係数KFの取得に際してローパスフィルタ処理が行われる。
このため、通常の定常運転時(非パージ時)においては、比較的大きな時定数τ2のローパスフィルタA17dを備えた第1基本燃料噴射量補正係数取得部A17によって求められた第1基本燃料噴射量補正係数KF1が、補正係数設定部A29にて基本燃料噴射量補正係数KFとして設定されることによって、安定した基本燃料噴射量補正による適切な空燃比制御が維持され得る。このように、非パージ時に用いられるローパスフィルタA17dの時定数τ2は、メイン及びサブフィードバック(の積分項)による空燃比補償の応答性と比較した場合の迅速性を阻害しない範囲で、可能な限り大きい方が好ましい。
これに対し、エバポパージは空燃比制御系に対する急激且つ大きな外乱に相当する。よって、このエバポパージによる空燃比の変動を基本燃料噴射量補正で迅速に補償するためには、基本燃料噴射量補正係数KFの取得に際して行われるローパスフィルタ処理の、実際の空燃比変動(上流側空燃比センサ66の検出空燃比の変動)に対する応答性を高める必要がある。したがって、パージ時には、前記時定数τ2よりも小さな時定数τ3のローパスフィルタA27dを備えた第2基本燃料噴射量補正係数取得部A27によって求められた第2基本燃料噴射量補正係数KF2が、補正係数設定部A29にて基本燃料噴射量補正係数KFとして設定されることによって、エバポパージによる空燃比変動が迅速に補償され得る。
なお、パージ時にて上述のように小さな時定数τ3のローパスフィルタA27dを備えた第2基本燃料噴射量補正係数取得部A27の出力値KF2によって迅速な空燃比補償を行ったとしても、パージ開始直後においては、かかる第2基本燃料噴射量補正係数KF2によって空燃比が実効的に補償されるまでの間に一時的にエミッションが悪化することが懸念される。
そこで、パージ開始から所定時間経過前は、補正係数設定部A29は、前回のパージ時にて学習したパージ時基本燃料噴射量補正係数学習値(以下「パージ学習値」と称する)KFmpに基づいて基本燃料噴射量補正係数KFを算出し、前記所定時間経過後は、前記第2基本燃料噴射量補正係数KF2に基づいて基本燃料噴射量補正係数KFを算出して基本燃料噴射量補正を行う。以下、このパージ学習値KFmpの取得(パージ学習)について説明する。
<<パージ学習制御>>
パージ時と非パージ時とで吸入空気流量Gaやエンジン回転速度NEが同一(したがって筒内吸入空気量Mc(k)が同一)である場合、補正前基本燃料噴射量算出部A3により取得される補正前基本燃料噴射量Fbaseb(k)や、混合気吸気系の機構的誤差は、パージ時と非パージ時とでは同一となる。それにも拘らず、初回パージ開始時点においては、燃焼室25に導入される燃料量が、非パージ時よりもパージガス中の燃料量相当分だけ多くなる(リッチになる)。そして、かかるパージ開始時点でのリッチ側にシフトした混合気が燃焼室25にて燃焼された直後、上流側空燃比センサ66の空燃比出力がリッチ側にシフトする。このリッチ側にシフトした上流側空燃比センサ66の空燃比出力に基づいて算出された目標基本燃料噴射量Fbasetは、非パージ時に算出される(通常の)目標基本燃料噴射量Fbasetから、エバポパージによる空燃比リッチシフト分の燃料量である前記余剰燃料量が補償された(差し引かれた)値となる。すなわち、同一の筒内吸入空気量Mc(k)における、非パージ時とパージ時との間の目標基本燃料噴射量Fbasetの差は、混合気吸気系の機構的誤差の影響が除外された、純粋な前記余剰燃料量に相当する。
パージ時と非パージ時とで吸入空気流量Gaやエンジン回転速度NEが同一(したがって筒内吸入空気量Mc(k)が同一)である場合、補正前基本燃料噴射量算出部A3により取得される補正前基本燃料噴射量Fbaseb(k)や、混合気吸気系の機構的誤差は、パージ時と非パージ時とでは同一となる。それにも拘らず、初回パージ開始時点においては、燃焼室25に導入される燃料量が、非パージ時よりもパージガス中の燃料量相当分だけ多くなる(リッチになる)。そして、かかるパージ開始時点でのリッチ側にシフトした混合気が燃焼室25にて燃焼された直後、上流側空燃比センサ66の空燃比出力がリッチ側にシフトする。このリッチ側にシフトした上流側空燃比センサ66の空燃比出力に基づいて算出された目標基本燃料噴射量Fbasetは、非パージ時に算出される(通常の)目標基本燃料噴射量Fbasetから、エバポパージによる空燃比リッチシフト分の燃料量である前記余剰燃料量が補償された(差し引かれた)値となる。すなわち、同一の筒内吸入空気量Mc(k)における、非パージ時とパージ時との間の目標基本燃料噴射量Fbasetの差は、混合気吸気系の機構的誤差の影響が除外された、純粋な前記余剰燃料量に相当する。
よって、同一の筒内吸入空気量Mc(k)において補正前基本燃料噴射量Fbaseb(k)が同一であるという前提と前記(9)式とに基づけば、非パージ時の第1基本燃料噴射量補正係数KF1nonpurgeと、パージ時の第1基本燃料噴射量補正係数KF1purgeとの偏差は、上述の余剰燃料量を反映した値となる。すなわち、パージ時の第1基本燃料噴射量補正係数KF1purgeは、上述の混合気吸気系の機構的誤差を補償した非パージ時の第1基本燃料噴射量補正係数KF1nonpurgeに対して、さらにエバポパージに起因する空燃比変動を補償した値となる。したがって、同一の筒内吸入空気量Mc(k)における前回のパージ時の第1基本燃料噴射量補正係数KF1purgeを学習してパージ学習値KFmpとしてRAM73に格納しておき、これに基づいて基本燃料噴射量補正係数KFを算出して基本燃料噴射量補正を行うことで、同一の筒内吸入空気量Mc(k)における2回目以降のパージ時では、パージ開始直後においても当該パージによる空燃比変動がある程度補償されていく。
ここで、上述のパージ学習値KFmpの学習は、補正係数学習部A28において、パージ開始時点から時間t0経過後、大きな時定数τ2のローパスフィルタA17dを備えた第1基本燃料噴射量補正係数取得部A17からの出力値(第1基本燃料噴射量補正係数KF1)が充分安定したときに、当該第1基本燃料噴射量補正係数KF1の出力値を学習値としてRAM73に格納することによって行われる。これにより、精度の良いパージ学習が行われる。
上述のような、初回パージ時におけるパージ学習と、このパージ学習によるパージ学習値を用いた(同一の筒内吸入空気量Mc(k)の分類における)2回目の空燃比制御の概略を図8で説明する。
まず、初回パージ時においては、図8(a)に示す通り、初回パージ開始時点(tPGR=0)から(正確には所定の輸送遅れ時間経過後)、エバポパージによるリッチ側への空燃比変動が上流側空燃比センサ66に現れることによって、第1基本燃料噴射量補正係数取得部A17の出力値KF1及び第2基本燃料噴射量補正係数取得部A27の出力値KF2が変動する。
この場合、第2基本燃料噴射量補正係数取得部A27の出力値KF2は、小さい時定数τ3のローパスフィルタA27dの出力に基づいたものであるので、エバポパージによる空燃比変動に対して高い応答性で追随する。そこで、補正係数設定部A29により、第2基本燃料噴射量補正係数取得部A27の出力値KF2に基づいて基本燃料噴射量補正係数KFが算出される。これにより、初回(パージ学習前)のエバポパージによる急激な空燃比変動が高い応答性で補償される。
一方、第1基本燃料噴射量補正係数取得部A17の出力値KF1の出力は、大きい時定数τ2のローパスフィルタA17dの出力に基づいたものであるので、低周波数で変動しながら徐々に一定値KFmpに収束するような挙動を示す。そこで、パージ時間が所定時間t0だけ経過した後(tPGR=t0)、KF1の出力値がパージ学習値KFmpとして取得される。すなわち、図8(a)から明らかなように、パージ時間が所定時間t0だけ経過した(tPGR=t0)場合、KF2の値は高周波数で変動しているのに対し、KF1の値は変動が小さいので、tPGR=t0の時点からKF1をKFmpに逐次学習することで、精度良くパージ学習が行われ得る。
上述のようにパージ学習が行われた後は、この学習値KFmpに基づいてパージ時の基本燃料噴射量補正が行われる。よって、図8(b)に示す通り、パージ学習後におけるパージ中(特にパージ開始直後)の空燃比変動が、初回パージ時(図8(a)参照)よりも抑制される。
なお、図8(b)に示す2回目のパージ時において、パージ時間がt0に達した場合は、図8(a)と同様にKFmpを逐次学習する。また、(同一の筒内吸入空気量Mc(k)の分類における)3回目以降のパージ時においては、上述した2回目のパージ時と同様の処理となる。
このKFmpの逐次学習(記憶値の更新)について、今回新たに記憶すべき更新値KFmpは、前回のKFmp’の値と今回のKF1の値に基づき、以下の式(13)により求められる。
KFmp=KFmp’−(KFmp’−KF1)×β・・・(13)
KFmp=KFmp’−(KFmp’−KF1)×β・・・(13)
<<基本燃料噴射量補正係数の記憶処理>>
内燃機関の暖機運転中等、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合」においては、検出空燃比abyfsが排気ガスの空燃比を精度良く表す値とならない。このような場合、検出空燃比abyfsの値を使用して前記(11)式(、及び前記(12)式)に従って算出される基本燃料噴射量補正係数KFの値も、補正前基本燃料噴射量Fbaseb(k)を、目標基本燃料噴射量Fbasetになるように精度良く補正するための値とならない。従って、このような場合、前記(11)式、及び前記(12)式に従って算出される基本燃料噴射量補正係数KFは補正前基本燃料噴射量Fbaseb(k)の補正に使用されるべきでない。
内燃機関の暖機運転中等、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合」においては、検出空燃比abyfsが排気ガスの空燃比を精度良く表す値とならない。このような場合、検出空燃比abyfsの値を使用して前記(11)式(、及び前記(12)式)に従って算出される基本燃料噴射量補正係数KFの値も、補正前基本燃料噴射量Fbaseb(k)を、目標基本燃料噴射量Fbasetになるように精度良く補正するための値とならない。従って、このような場合、前記(11)式、及び前記(12)式に従って算出される基本燃料噴射量補正係数KFは補正前基本燃料噴射量Fbaseb(k)の補正に使用されるべきでない。
そこで、本装置は、非パージ時であって且つ「上流側空燃比センサ66の出力値Vabyfsが正常な値となる場合(具体的には、後述するメインフィードバック条件が成立する場合)」に限り、前記(11)式、及び前記(12)式に従って計算された基本燃料噴射量補正係数KFを使用して補正前基本燃料噴射量Fbaseb(k)を補正していくとともに、計算された第1基本燃料噴射量補正係数KF1の値を補正係数学習部A28により基本燃料噴射量補正係数記憶値KFmとして逐次バックアップRAM74に記憶・更新していく。
ここで、吸入空気流量Gaが増大(従って筒内吸入空気量Mcも増大)すると、エアフローメータ61によるGaの測定誤差も当然大きくなる等、混合気供給系の機構的誤差が筒内吸入空気量Mcに応じて増大していく(従って、基本燃料噴射量補正係数KFの値が筒内吸入空気量Mcに応じて増大していく)傾向がある。そこで、本装置は、図9に示すように、筒内吸入空気量Mcのとり得る範囲を複数の(本例では、4つの)分類に区分する。そして、本装置は、新たな第1基本燃料噴射量補正係数KF1を計算する毎に、今回の筒内吸入空気量Mc(k)が属する分類を選択するとともに、同選択された分類に対応する基本燃料噴射量補正係数記憶値KFm (j)(j:1,2,3,4)の値を前記計算された新たな第1基本燃料噴射量補正係数KF1の値に基づいて更新・記憶していく。
このKFmの逐次更新について、今回新たに記憶すべき更新値KFmは、前回のKFm’の値と今回のKF1の値に基づき、以下の式(14)により求められる。
KFm=KFm’−(KFm’−KF1)×α・・・(14)
KFm=KFm’−(KFm’−KF1)×α・・・(14)
一方、本装置は、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合(具体的には、後述するメインフィードバック条件が成立しない場合)」においては、今回の筒内吸入空気量Mc(k)が属する分類を選択するとともに、バックアップRAM74に記憶されている基本燃料噴射量補正係数記憶値KFm(j)(j:1,2,3,4)のうち同選択された分類に対応する値を読み出し、前記(11)式、及び前記(12)式に従って計算される基本燃料噴射量補正係数KFに代えて当該基本燃料噴射量補正係数記憶値KFmを使用して補正前基本燃料噴射量Fbaseb(k)を補正していく。これにより、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合」においても、補正前基本燃料噴射量Fbaseb(k)を、ある程度正確に目標基本燃料噴射量Fbasetに一致させていくことができ、この結果、混合気供給系の機構的誤差がある程度補償されていく。
但し、エバポパージが行われている場合、このエバポパージによる空燃比制御系に対する外乱が入った状態の基本燃料噴射量補正係数KFの値は、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合」のための補正値として学習すべきではない。したがって、エバポパージが行われている場合には、上述の基本燃料噴射量補正係数記憶値KFmの更新が行われない。
以上の通り、第1基本燃料噴射量補正係数取得部A17及び第2基本燃料噴射量補正係数取得部A27は、燃料の噴射時点(より具体的には、噴射指示が開始される時点)が到来する毎に、A17a〜A17d及びA27a〜A27dの各機能ブロックを利用してKF1及びKF2を取得する。また、補正係数学習部A28は、パージ時及び非パージ時の基本燃料噴射量補正係数の学習を行う。更に、補正係数設定部A29は、機関の運転状態に応じて、KF1,KF2,KFm,及びKFmpに基づいて基本燃料噴射量補正係数KFを算出する。そして、本装置は、このようにして今回設定された基本燃料噴射量補正係数KFを次回の補正前基本燃料噴射量Fbasebに乗じることで次回の補正前基本燃料噴射量Fbasebを補正していく(即ち、次回の補正後基本燃料噴射量Fbaseを決定していく)。従って、次回の補正後基本燃料噴射量Fbaseが、燃焼室に供給される混合気の実際の空燃比を目標空燃比abyfrとするために噴射指示すべき燃料噴射量と一致する(近づく)ように決定されていき、この結果、燃焼室に供給される混合気の空燃比が目標空燃比abyfrに向けて制御されつつ混合気供給系の機構的誤差やエバポパージによる空燃比変動が迅速に補償されていく。
このように、前記構成によれば、パージ時における実際の空燃比補償が、小さな時定数τ3のローパスフィルタA27dを備えた第2基本燃料噴射量補正係数取得部A27によって求められた第2基本燃料噴射量補正係数KF2を用いて行われるので、エバポパージによる空燃比変動が迅速に補償され得る。その一方で、パージ時におけるパージ学習が、大きな時定数τ2のローパスフィルタA17dを備えた第1基本燃料噴射量補正係数取得部A17にて求められた第1基本燃料噴射量補正係数KF1を用いて行われるので、精度良いパージ学習が行われ得る。すなわち、前記構成によれば、エバポパージによる空燃比変動が可及的に迅速に補償されつつ、精度良いパージ学習が行われ得る。
また、前記構成によれば、非パージ時の実際の空燃比補償とパージ時のパージ学習とが、前記第1基本燃料噴射量補正係数取得部A17にて求められた第1基本燃料噴射量補正係数KF1を用いて行われるので、簡易な制御系構成によって上述のエバポパージによる空燃比変動の可及的に迅速な補償と精度良いパージ学習とが達成され得る。
以上、第1基本燃料噴射量補正係数取得部A17及び第2基本燃料噴射量補正係数取得部A27が基本燃料噴射量補正値取得部に相当し、第1基本燃料噴射量補正係数取得部A17のローパスフィルタA17dが第1のフィルタに相当し、第2基本燃料噴射量補正係数取得部A27のローパスフィルタA27dが第2のフィルタに相当する。また、補正係数学習部A28がパージ学習部に相当する。
以上が、本装置による機関の空燃比フィードバック制御の概要である。
以上が、本装置による機関の空燃比フィードバック制御の概要である。
(実際の作動)
次に、前記空燃比制御装置の実際の作動について説明する。
次に、前記空燃比制御装置の実際の作動について説明する。
<空燃比フィードバック制御>
CPU71は、図10にフローチャートにより示した燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、CPU71は「Fi計算・噴射」ルーチン1000の処理を開始する。
CPU71は、図10にフローチャートにより示した燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、CPU71は「Fi計算・噴射」ルーチン1000の処理を開始する。
まず、ステップ1005にて、エアフローメータ61により計測された吸入空気流量Gaと、エンジン回転速度NEと、上述したテーブルMapMcとに基づいて、今回の吸気行程を迎える気筒(以下、「燃料噴射気筒」と云うこともある。)に吸入された今回の筒内吸入空気量Mc(k)が推定・決定される。
次に、CPU71は、ステップ1010に進んで、前記推定された筒内吸入空気量Mc(k)を今回の目標空燃比abyfr(k)で除した値を今回の補正前基本燃料噴射量Fbaseb(k)として決定する。その後、CPU71は、ステップ1015に進んで、前記補正前基本燃料噴射量Fbaseb(k)に、バックアップRAM74に記憶されている基本燃料噴射量補正係数記憶値KFm(j)(j:1,2,3,4)のうち先のステップ1005にて決定された筒内吸入空気量Mc(k)の値に対応する値を読み出して、本フローにおける「KFm」の値として決定する。
続いて、CPU71は、ステップ1020に進み、メインフィードバック条件が成立しているか否かを判定する。ここで、メインフィードバック条件は、例えば、機関の冷却水温THWが第1所定温度以上であって、上流側空燃比センサ66が正常(活性状態となっていることを含む)であって、機関の一回転当りの吸入空気量(負荷)が所定値以下であるときに成立する。即ち、メインフィードバック条件が成立することは、上述した「上流側空燃比センサ66の出力値Vabyfsが正常な値となる場合」に対応する。
メインフィードバック条件が成立していない場合(ステップ1020=「No」)、CPU71はステップ1025に進み、前記決定したKFmの値を基本燃料噴射量補正係数KFとして設定した後、ステップ1030に進み、前記補正前基本燃料噴射量Fbaseb(k)に、ステップ1025にて設定した基本燃料噴射量補正係数KFを乗じた値を補正後基本燃料噴射量Fbaseとして設定する。次に、CPU71はステップ1035に進み、前記(1)式に従って、上述のように求めた補正後基本燃料噴射量Fbaseに、後述するルーチンにて(前回の燃料噴射時点にて)求められている最新のメインフィードバック補正量DFi_mainと、後述するルーチンにて(前回の燃料噴射時点にて)求められている最新のサブフィードバック補正量DFi_subとを加えた値を今回の指令燃料噴射量Fi(k)として求める。そして、CPU71はステップ1040に進んで、前記指令燃料噴射量Fi(k)の燃料の噴射指示を行う。具体的には、図示しないルーチンにより別途計算されている燃料噴射開始時期が到来すると、CPU71は、前記指令燃料噴射量Fi(k)に応じた時間だけ燃料噴射気筒のインジェクタ39を開弁する指示を当該インジェクタ39に対して行うことで燃料が噴射される。そして、CPU71はステップ1095に進んで本ルーチンを一旦終了する。
メインフィードバック条件が成立している場合(ステップ1020=「Yes」)、CPU71はステップ1045に進み、前記パージ条件が成立しているか否かを判断する。
パージ条件が成立していない場合(ステップ1045=「No」)、現在はパージ中ではないので、CPU71はステップ1050に進み、後述するルーチンにて(前回の燃料噴射時点にて)求められている最新の第1基本燃料噴射量補正係数KF1に前記決定したKFmの値を乗じた値を、基本燃料噴射量補正係数KFとして設定する。その後、上述と同様にステップ1030,1035,1040,1095を順次実行することで、通常の(非パージ時の)基本燃料噴射量補正を行う。
パージ条件が成立している場合(ステップ1045=「Yes」)、現在はパージ中であるので、CPU71はステップ1060に進み、パージ学習値KFmpが未算出か否かを判断する。
パージ学習値KFmpが未算出である場合(ステップ1060=「Yes」)、CPU71はステップ1065に進み、後述するルーチンにて(前回の燃料噴射時点にて)求められている最新の第2基本燃料噴射量補正係数KF2に前記決定したKFmの値を乗じた値を、基本燃料噴射量補正係数KFとして設定する。その後、上述と同様にステップ1030,1035,1040,1095を順次実行することで、パージ学習前のパージ時の基本燃料噴射量補正を行う。すなわち、初回パージ時等、パージ学習がなされていない場合には、上述したように応答性の抑えられた第1基本燃料噴射量補正係数取得部A17の安定した出力値KF1を用いてパージ学習を行いつつ(具体的なフローは後述する)、パージに対する実際の空燃比補償は、パージ開始直後より、応答性の高められた第2基本燃料噴射量補正係数取得部A27の出力値KF2を用いて迅速に行われる。
一方、パージ学習値KFmpが算出済みである場合(ステップ1060=「No」)、CPU71はステップ1070に進み、後述するルーチンにて(前回の燃料噴射時点にて)求められている最新の第2基本燃料噴射量補正係数KF2に、前記決定したKFm、及びパージ学習値KFmpの値を乗じた値を、基本燃料噴射量補正係数KFとして設定する。その後、上述と同様にステップ1030,1035,1040,1095を順次実行することで、パージ学習後のパージ時の基本燃料噴射量補正を行う。これにより、パージ開始直後であってもパージ学習値をKFmp利用して、可及的にエミッション悪化が抑制された良好な空燃比制御を維持することが可能になる。
以上により、補正前基本燃料噴射量Fbaseb(k)が、パージの有無やパージ学習の有無等の運転状態に応じた適切な基本燃料噴射量補正係数KFの値によって補正されるとともに、同補正された補正前基本燃料噴射量Fbaseb(k)(即ち、補正後基本燃料噴射量Fbase)がメインフィードバック補正、及びサブフィードバック補正された後の指令燃料噴射量Fi(k)の燃料の噴射指示が燃料噴射気筒に対して噴射される。
<メインフィードバック補正量の計算>
次に、前記メインフィードバック制御において前記メインフィードバック補正量DFi_mainを算出する際の作動について説明すると、CPU71は図11にフローチャートにより示した「メインフィードバック補正量DFi_main計算」ルーチン1100を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1100の処理を開始し、まず、ステップ1105にて、メインフィードバック条件が成立しているか否かを判定する。このメインフィードバック条件は、先のステップ1005におけるメインフィードバック条件と同一である。
次に、前記メインフィードバック制御において前記メインフィードバック補正量DFi_mainを算出する際の作動について説明すると、CPU71は図11にフローチャートにより示した「メインフィードバック補正量DFi_main計算」ルーチン1100を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1100の処理を開始し、まず、ステップ1105にて、メインフィードバック条件が成立しているか否かを判定する。このメインフィードバック条件は、先のステップ1005におけるメインフィードバック条件と同一である。
いま、メインフィードバック条件が成立しているものとして説明を続けると、CPU71はステップ1105にて「Yes」と判定してステップ1110に進み、現時点(即ち、噴射指示開始時点)の上流側空燃比センサ66の出力値Vabyfsを図3に示したテーブルに基づいて変換することにより、今回の検出空燃比abyfs(k)を求める。
次に、CPU71はステップ1115に進み、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を前記求めた検出空燃比abyfs(k)で除することにより、現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を求める。
次いで、CPU71はステップ1120に進み、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点からNストローク前の目標空燃比abyfr(k−N)で除することにより、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。
そして、CPU71はステップ1125に進んで、前記(5)式に従って、目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。つまり、筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、CPU71はステップ1130に進み、前記筒内燃料供給量偏差DFcをハイパスフィルタA15によりハイパスフィルタ処理してハイパスフィルタ通過後筒内燃料供給量偏差DFchiを取得する。
次いで、CPU71はステップ1135に進んで、前記(7)式に基づくステップ1135内に示した式に従ってメインフィードバック補正量DFi_mainを求め、続くステップ1140にてその時点におけるハイパスフィルタ通過後筒内燃料供給量偏差DFchiの積分値SDFchiに前記ステップ1130にて求めたハイパスフィルタ通過後筒内燃料供給量偏差DFchiを加えて、新たなハイパスフィルタ通過後筒内燃料供給量偏差の積分値SDFchiを求めた後、ステップ1195に進んで本ルーチンを一旦終了する。
以上により、メインフィードバック補正量DFi_mainが求められ、このメインフィードバック補正量DFi_mainが前述した図10のステップ1035により指令燃料噴射量Fi(k)に反映されることで上述したメインフィードバック制御に基づく機関の空燃比制御が実行される。
一方、ステップ1105の判定時において、メインフィードバック条件が不成立であると、CPU71は当該ステップ1105にて「No」と判定してステップ1145に進んでメインフィードバック補正量DFi_mainの値を「0」に設定し、その後ステップ1195に進んで本ルーチンを一旦終了する。このように、メインフィードバック条件が不成立であるときは、メインフィードバック補正量DFi_mainを「0」としてメインフィードバック制御に基づく機関の空燃比の補正を行わない。
<サブフィードバック補正量の計算>
次に、前記サブフィードバック制御において前記サブフィードバック補正量DFi_subを算出する際の作動について説明すると、CPU71は図12にフローチャートにより示した「サブフィードバック補正量DFi_sub計算」ルーチン1200を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1200の処理を開始し、まず、ステップ1205にて、サブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ1015(及び、ステップ1105)でのメインフィードバック条件に加え、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上のときに成立する。
次に、前記サブフィードバック制御において前記サブフィードバック補正量DFi_subを算出する際の作動について説明すると、CPU71は図12にフローチャートにより示した「サブフィードバック補正量DFi_sub計算」ルーチン1200を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1200の処理を開始し、まず、ステップ1205にて、サブフィードバック制御条件が成立しているか否かを判定する。サブフィードバック制御条件は、例えば、前述したステップ1015(及び、ステップ1105)でのメインフィードバック条件に加え、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上のときに成立する。
いま、サブフィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ1205にて「Yes」と判定してステップ1210に進み、前記(2)式に従って、下流側目標値Voxs_refから現時点の下流側空燃比センサ67の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
次に、CPU71はステップ1215に進んで、前記出力偏差量DVoxsをローパスフィルタA8によりローパスフィルタ処理してローパスフィルタ通過後出力偏差量DVoxs_lowを取得し、続くステップ1220にて、下記(13)式に基づきローパスフィルタ通過後出力偏差量DVoxs_lowの微分値DDVoxs_lowを求める。
DDVoxs_low=(DVoxs_low−DVoxs_low1)/Δt ・・・(13)
DDVoxs_low=(DVoxs_low−DVoxs_low1)/Δt ・・・(13)
前記(13)式において、DVoxs_low1は前回の本ルーチン実行時において後述するステップ1235にて設定(更新)されたローパスフィルタ通過後出力偏差量DVoxs_lowの前回値である。また、Δtは本ルーチンが前回実行された時点から今回実行された時間までの時間である。
次いで、CPU71はステップ1225に進み、前記(4)式に従って、サブフィードバック補正量DFi_subを求めた後、ステップ1230に進んで、その時点におけるローパスフィルタ通過後出力偏差量の積分値SDVoxs_lowに前記ステップ1215にて求めたローパスフィルタ通過後出力偏差量DVoxs_lowを加えて、新たなローパスフィルタ通過後出力偏差量の積分値SDVoxs_lowを求め、続くステップ1235にて、前記ステップ1215にて求めたローパスフィルタ通過後出力偏差量DVoxs_lowをローパスフィルタ通過後出力偏差量DVoxs_lowの前回値DVoxs_low1として設定した後、ステップ1295に進んで本ルーチンを一旦終了する。
以上により、サブフィードバック補正量DFi_subが求められ、このサブフィードバック補正量DFi_subが前述した図10のステップ1035により指令燃料噴射量Fi(k)に反映されることで上述したサブフィードバック制御に基づく機関の空燃比制御が実行される。
一方、ステップ1205の判定時において、サブフィードバック制御条件が不成立であると、CPU71は当該ステップ1205にて「No」と判定してステップ1240に進んでサブフィードバック補正量DFi_subの値を「0」に設定し、その後、ステップ1295に進んで本ルーチンを一旦終了する。このように、サブフィードバック制御条件が不成立であるときは、サブフィードバック補正量DFi_subを「0」としてサブフィードバック制御に基づく機関の空燃比の補正を行わない。
<第1基本燃料噴射量補正係数KF1の計算、及びKFm,KFmpの記憶>
次に、第1基本燃料噴射量補正係数KF1を算出する際の作動について説明すると、CPU71は図13にフローチャートにより示した「第1基本燃料噴射量補正係数KF1の計算」ルーチン1300を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1300の処理を開始する。CPU71は、まず、ステップ1305にて、メインフィードバック条件が成立しているか否かを判定し、「No」と判定する場合、ステップ1395に直ちに進んで本ルーチンを一旦終了する。この場合、第1基本燃料噴射量補正係数KF1の計算、及び当該補正係数KF1の値のバックアップRAM74への記憶処理が実行されない。このメインフィードバック条件は、先のステップ1005におけるメインフィードバック条件(及びステップ1105におけるサブフィードバック条件)と同一である。
次に、第1基本燃料噴射量補正係数KF1を算出する際の作動について説明すると、CPU71は図13にフローチャートにより示した「第1基本燃料噴射量補正係数KF1の計算」ルーチン1300を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1300の処理を開始する。CPU71は、まず、ステップ1305にて、メインフィードバック条件が成立しているか否かを判定し、「No」と判定する場合、ステップ1395に直ちに進んで本ルーチンを一旦終了する。この場合、第1基本燃料噴射量補正係数KF1の計算、及び当該補正係数KF1の値のバックアップRAM74への記憶処理が実行されない。このメインフィードバック条件は、先のステップ1005におけるメインフィードバック条件(及びステップ1105におけるサブフィードバック条件)と同一である。
いま、メインフィードバック条件が成立しているものとして説明を続けると、CPU71はステップ1305にて「Yes」と判定してステップ1310に進み、現時点でのエンジン回転速度NEと、先の図10のステップ1005にて求めた今回の筒内吸入空気量Mc(k)と、図6に示したテーブルMapMcとに基づいて値Mを求めるとともに、現時点からMストローク前の指令燃料噴射量Fi(k−M)を取得し、更に、先の図11のステップ1110にて求められている今回の検出空燃比abyfs(k),及び先の図10のステップ1010にて使用した今回の目標空燃比abyfr(k)と、前記(11)式とに基づいて目標基本燃料噴射量Fbasetを求め、続くステップ1315にて、前記目標基本燃料噴射量Fbasetと、先の図10のステップ1010にて求められている今回の補正前基本燃料噴射量Fbaseb(k)と、前記(12)式とに基づいて、ローパスフィルタ処理前基本燃料噴射量補正係数KF0を求める。
次に、CPU71はステップ1320に進んで、KF0を時定数τ2に基づき前記ローパスフィルタA17dでローパスフィルタ処理することで第1基本燃料噴射量補正係数KF1を取得する。
続いて、CPU71はステップ1325に進んで、上述のパージ条件が成立しているか否かを判定する。
パージ条件が成立していない場合(ステップ1325=「No」)、現在はパージ中ではないのでCPU71はステップ1330に進み、先の図10のステップ1050と同様に、前回のパージの終了から所定時間t2が経過したか(すなわちパージ終了直後ではないか)否かを判断する。
そして、パージ終了直後ではない場合(ステップ1330=「Yes」)、CPU71はステップ1335に進んで、図10のステップ1005にて決定されている筒内吸入空気量Mc(k)の値に応じて選択される基本燃料噴射量補正係数記憶値KFm(j)(j:1〜4)の値を前記求めた第1基本燃料噴射量補正係数KF1の値に基づいて前記式(14)を用いて更新してバックアップRAM74の対応するメモリに記憶した後、ステップ1395に進んで本ルーチンを一旦終了する。これにより、メインフィードバック条件が成立している場合において、燃料噴射気筒について燃料噴射開始時期が到来する毎に、第1基本燃料噴射量補正係数KF1の計算、及び当該補正係数KF1の値によるKFmのバックアップRAM74への更新・記憶処理が実行されていく。そして、この第1基本燃料噴射量補正係数KF1が次回の燃料噴射気筒について実行される前述した図10のルーチンのステップ1055にて使用されることで次回の補正前基本燃料噴射量Fbasebが今回計算された基本燃料噴射量補正係数KFに従って補正されていく。
一方、パージ終了直後である場合(ステップ1330=「No」)、上述した図10にて、ステップ1050=「No」→ステップ1020→ステップ1025のように、基本燃料噴射量補正係数KFは強制的にKFmに設定されているので、第1基本燃料噴射量補正係数KF1の値によるKFmのバックアップRAM74への更新・記憶処理が実行されない。
パージ条件が成立している場合(ステップ1325=「Yes」)、現在はパージ中であるのでCPU71はステップ1340に進み、パージ開始から所定時間t0が経過したか(今回のパージ時間tPGRがt0に達したか)を判断する。そして、今回のパージ時間tPGRがt0に達するまではステップ1340は「No」判定となるので、CPU71はステップ1395に進んで本ルーチンを一旦終了する(ステップ1345のパージ学習が行われない)。一方、今回のパージ時間tPGRがt0に達した場合(ステップ1340=「Yes」)、CPU71はステップ1345に進んで、パージ学習値KFmpの値を前記求めた第1基本燃料噴射量補正係数KF1の値に基づいて前記式(13)を用いて逐次更新してRAM73の対応するメモリに記憶した後、ステップ1395に進んで本ルーチンを一旦終了する。
<第2基本燃料噴射量補正係数KF2の計算>
次に、第2基本燃料噴射量補正係数KF2を算出する際の作動について説明すると、CPU71は図14にフローチャートにより示した「第2基本燃料噴射量補正係数KF2の計算」ルーチン1400を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1400の処理を開始する。CPU71は、まず、ステップ1405にて、メインフィードバック条件が成立しているか否かを判定し、「No」と判定する場合、ステップ1495に直ちに進んで本ルーチンを一旦終了する。この場合、第2基本燃料噴射量補正係数KF2の計算処理が実行されない。このステップ1405におけるメインフィードバック条件は、先の図13のステップ1305と同一である。
次に、第2基本燃料噴射量補正係数KF2を算出する際の作動について説明すると、CPU71は図14にフローチャートにより示した「第2基本燃料噴射量補正係数KF2の計算」ルーチン1400を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1400の処理を開始する。CPU71は、まず、ステップ1405にて、メインフィードバック条件が成立しているか否かを判定し、「No」と判定する場合、ステップ1495に直ちに進んで本ルーチンを一旦終了する。この場合、第2基本燃料噴射量補正係数KF2の計算処理が実行されない。このステップ1405におけるメインフィードバック条件は、先の図13のステップ1305と同一である。
いま、メインフィードバック条件が成立しているものとして説明を続けると、CPU71はステップ1405にて「Yes」と判定してステップ1410に進み、以降、先の図13のステップ1310〜1320と同様のステップ1410〜1420が実行される。すなわち、ステップ1410にて、現時点でのエンジン回転速度NEと、先の図10のステップ1005にて求めた今回の筒内吸入空気量Mc(k)と、図6に示したテーブルMapMcとに基づいて値Mを求めるとともに、現時点からMストローク前の指令燃料噴射量Fi(k−M)を取得し、更に、先の図11のステップ1110にて求められている今回の検出空燃比abyfs(k),及び先の図10のステップ1010にて使用した今回の目標空燃比abyfr(k)と、前記(11)式とに基づいて目標基本燃料噴射量Fbasetを求め、続くステップ1415にて、前記目標基本燃料噴射量Fbasetと、先の図10のステップ1010にて求められている今回の補正前基本燃料噴射量Fbaseb(k)と、前記(12)式とに基づいて、ローパスフィルタ処理前基本燃料噴射量補正係数KF0を求める。
次に、CPU71はステップ1420に進んで、KF0を時定数τ3に基づき前記ローパスフィルタA27dでローパスフィルタ処理することで第2基本燃料噴射量補正係数KF2を取得し、本ルーチンを一旦終了する。
以上に説明したように、本発明による内燃機関の空燃比制御装置の実施形態によれば、燃焼室内に吸入される筒内吸入空気量が一定であるという仮定のもと、指令燃料噴射量Fi(実際には、Fi(k−M))と、上流側空燃比センサ66による検出空燃比abyfs(k)の積は、燃焼室に供給される混合気の実際の空燃比を目標空燃比abyfr(k)とするために必要な目標基本燃料噴射量Fbasetと、目標空燃比abyfr(k)の積に等しい、という関係から目標基本燃料噴射量Fbaset(=(abyfs(k)/abyfr(k))・Fi(k−M))を求め、同求めた目標基本燃料噴射量Fbasetを補正前基本燃料噴射量Fbaseb(k)で除することで基本燃料噴射量補正係数KF(=Fbaset/Fbaseb(k))を求める(実際には、上述の通り、ローパスフィルタ処理が併せて実行される)。
そして、この基本燃料噴射量補正係数KFを次回の補正前基本燃料噴射量Fbasebに乗じることで次回の補正前基本燃料噴射量Fbasebを補正していく(即ち、次回の補正後基本燃料噴射量Fbaseを決定していく)。従って、次回の補正後基本燃料噴射量Fbaseが、燃焼室に供給される混合気の実際の空燃比を目標空燃比abyfrとするために噴射指示すべき燃料噴射量と一致する(近づく)ように決定されていき、この結果、燃焼室に供給される混合気の空燃比が目標空燃比abyfrに向けて制御されつつ混合気供給系の機構的誤差が迅速に補償されていく。
更に、本発明による内燃機関の空燃比制御装置の実施形態によれば、パージ時には小さな時定数τ3のローパスフィルタを備えた第2基本燃料噴射量補正係数取得部A27によって基本燃料噴射量補正を行うことで、エバポパージによる空燃比変動が可及的に速やかに補償され得る。また、非パージ時には大きな時定数τ2のローパスフィルタを備えた第1基本燃料噴射量補正係数取得部A17によって基本燃料噴射量補正を行うことで、混合気吸気系の機構的誤差に対する安定的な補償が行われる。更に、パージ時には当該第1基本燃料噴射量補正係数取得部A17における演算結果に基づいてパージ学習を行うことで、比較的正確なパージ学習を行うことができる。これにより、パージ時・非パージ時に拘らず適切な空燃比制御を維持してエミッション悪化を可及的に抑制しつつ、比較的精度良いパージ学習を行い得る。
(変形例の示唆)
なお、前記実施形態は、上述した通り、本願の出願時点において最良と考えられる本発明の実施の形態を例示したものにすぎないのであって、本発明は上述した実施形態に限定されるものではなく、本発明の本質的部分を変更しない範囲内において種々の変形を施すことができることは当然である。
なお、前記実施形態は、上述した通り、本願の出願時点において最良と考えられる本発明の実施の形態を例示したものにすぎないのであって、本発明は上述した実施形態に限定されるものではなく、本発明の本質的部分を変更しない範囲内において種々の変形を施すことができることは当然である。
例えば、前記実施形態は、基本燃料噴射量補正の他に、メインフィードバック及びサブフィードバックの双方を有していたが、メインフィードバック及びサブフィードバックのうちの一方又は双方がなくても、本発明の本来の作用・効果を何ら減殺するものではない。
また、前記実施形態における「燃料噴射量」は、字義通りの「燃料量」に限定された概念ではない。例えば、インジェクタ(燃料噴射装置)の駆動時間に関する量、すなわち、燃料噴射時間や駆動パルスのデューティ比、更には燃料量・燃料噴射時間・デューティ比を求めるための係数をも含む概念であることは当然である。
また、前記実施形態においては、図7に示すように、検出空燃比abyfs(k)、指令燃料噴射量Fi(k−M)、及び補正前基本燃料噴射量Fbaseb(k)の各値からローパスフィルタ処理前基本燃料噴射量補正係数KF0(=(abyfs(k)・Fi(k−M))/(abyfr(k)・Fbaseb(k)))を求め、当該ローパスフィルタ処理前基本燃料噴射量補正係数KF0をローパスフィルタによりローパスフィルタ処理することで第1及び第2基本燃料噴射量補正係数KF1,KF2を求めるように構成したが、これに代えて、検出空燃比abyfs(k)、指令燃料噴射量Fi(k−M)、及び補正前基本燃料噴射量Fbaseb(k)をそれぞれ各別にローパスフィルタ処理した後に、このローパスフィルタ処理後の各値を用いて第1及び第2基本燃料噴射量補正係数KF1,KF2を求めるようにしてもよい。
また、前記実施形態におけるローパスフィルタ及びハイパスフィルタに代えて、所定範囲内の周波数以外をカットする所謂バンドパスフィルタを用いることも可能である。更に、「フィルタ」は、周知の通り、所謂ソフトフィルタであって、なまし処理等も含む概念であることは当然である。このなまし処理場合、前記パラメータとしては、なまし係数が相当する。
また、前記実施形態においては、基本燃料噴射量補正係数KFを求める際に使用される現時点からMストローク前の指令燃料噴射量Fi(k−M)についての値M(遅れ時間に相当する値)を、エンジン回転速度NEと、筒内吸入空気量Mc(k)と、図6に示すテーブルMapMcとに基づいて求めているが、値Mを所定の一定値としてもよい。
また、前記実施形態においては、図7に示すように、今回の検出空燃比abyfs(k)、現時点からMストローク前の指令燃料噴射量Fi(k−M)、今回の目標空燃比abyfr(k)、及び今回の補正前基本燃料噴射量Fbaseb(k)に基づいて基本燃料噴射量補正係数KFを求めているが、今回の検出空燃比abyfs(k)、現時点からMストローク前の指令燃料噴射量Fi(k−M)、現時点からMストローク前の目標空燃比abyfr(k−M)、及び現時点からMストローク前の補正前基本燃料噴射量Fbaseb(k−M)に基づいて基本燃料噴射量補正係数KFを求めるように構成してもよい。
また、前記各実施形態においては、メインフィードバック制御において、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)から現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を減じた値である筒内燃料供給量偏差DFcに基づいてメインフィードバック補正量DFi_mainを求めているが、上流側空燃比センサ66による今回の検出空燃比abyfs(k)から現時点からNストローク前の目標空燃比abyfr(k−N)を減じた値に基づいてメインフィードバック補正量DFi_mainを求めるように構成してもよい。
また、前記実施形態においては、パージ時の基本燃料噴射量補正に用いられるローパスフィルタA27dの時定数τ3は一定値であったが、パージ率やパージ時間、パージガス濃度等のエバポパージ状態に応じて変更するようにしてもよい。この場合、例えば、図14のフローチャートにおけるステップ1320の直前に、エバポパージ状態に応じて時定数τ3を取得するステップを追加すればよい。
また、前記実施形態においては、キャニスタパージとタンクベーパー導入との双方が特に区別されることなく行われていた。もっとも、前記エバポパージとしては、上述の通り、主に機関停止中にキャニスタ46に吸蔵された燃料ガスをキャニスタ46(の吸着剤46d)から吸気管41へ放出(パージ)するための「キャニスタパージ」と、燃料タンク45中に充満しているタンクベーパーを吸気管41へ導入することで当該タンクベーパーを燃料タンク45から放出(パージ)するための「タンクベーパー導入」とが区別して行われ得る。
更に、キャニスタパージを主目的としたエバポパージは、機関運転開始後、上述のパージ条件が成立した場合に速やかに行われる必要がある一方、機関運転開始からしばらく時間が経過するまでは燃料温度はそれほど上昇していないのでタンクベーパー発生量は比較的少ない。したがって、エバポパージは、機関運転開始からのパージ時間の積算値(以下、「パージ積算時間」という。)が所定値に達するまでは、上述のパージ条件成立によって直ちに行われ、上述の所定時間に達した後は、上述のパージ条件成立の他、燃料温センサ69により燃料タンク45中の燃料が所定温度以上になったことが検知された場合に行われることが好適である。
具体的には、例えば、パージ積算時間が所定値に達するまでは、エバポパージガスはキャニスタパージガスが中心であり、このキャニスタパージガス濃度はパージ積算時間とともに減少していくから、エバポパージによる空燃比制御系に対する外乱の度合いもまた、パージ積算時間とともに減少していく。よって、時定数τ3をパージ積算時間とともに減少させていく。この時定数τ3のパージ積算時間に従った減少は、初期値からの所定値のデクリメント、所定の関数やマップに基づく値取得等により行い得る。そして、パージ積算時間が所定値に達した後は、キャニスタ46中に吸蔵されていた燃料ガスがほとんど放出された状態となっている可能性が高い一方、燃料温度は上昇し、タンクベーパーが大量に発生している可能性が高い。したがって、パージ積算時間が所定値に達した後は、燃料タンク45に設置された燃料温センサ69の検出燃料温度に応じてパージガス濃度を推定し、この推定パージガス濃度に対応して所定の時定数マップに基づいて時定数τ3を取得する。ここで、上述の関数や時定数マップは、所定の実験により予め求めておき、ROM72又はバックアップRAM74に格納しておくことが可能である。
これにより、更に、運転状態に応じて異なり得るエバポパージ状態に対応した、より適切なパージ時の基本燃料噴射量補正が行われ、以てパージ時の空燃比変動に起因するエミッションの悪化がより効果的に抑制し得る。
更に、前記実施形態においては、非パージ時の実際の空燃比制御及びパージ時のパージ学習に供される時定数の大きなローパスフィルタA17d(応答性の抑えられた第1のフィルタ)を備えた第1基本燃料噴射量補正係数取得部A17と、パージ時の実際の空燃比制御に供される時定数の小さなローパスフィルタA27d(第1のフィルタよりも応答性の高い第2のフィルタ)を備えた第2基本燃料噴射量補正係数取得部A27とを別個に設けたが、両者を一体として、ローパスフィルタのみを切り替えるようにしてもよい。
また、第1基本燃料噴射量補正係数取得部A17は、非パージ時の基本燃料噴射量補正係数記憶値KFmを取得する場合とパージ学習値KFmpを取得する場合とでフィルタ時定数を変更可能に構成されていていてもよい。あるいは、非パージ時の実際の空燃比制御とは別に、パージ学習のみに供される第3のフィルタを備えた第3基本燃料噴射量補正係数取得部を設けるようにしてもよい。
10…内燃機関、25…燃焼室、39…インジェクタ、45…燃料タンク、46…キャニスタ、47…ベーパ捕集管、48…パージ流路、49…パージ制御弁(VSV)、51…エキゾーストマニホールド、53…第1触媒、66…上流側空燃比センサ、67…下流側空燃比センサ、70…電気制御装置、71…CPU、74…バックアップRAM、A3…補正前基本燃料噴射量算出部、A4…補正後基本燃料噴射量算出部、A5…指令燃料噴射量算出部、A17…第1基本燃料噴射量補正係数取得部、A17d…ローパスフィルタ、A27…第1基本燃料噴射量補正係数取得部、A27d…ローパスフィルタ、A28…補正係数学習部、A29…補正係数設定部
Claims (4)
- 燃焼室と、その燃焼室に接続された吸気通路及び排気通路と、燃料タンク中で蒸発した燃料に基づく燃料ガスを前記吸気通路に導入可能に構成された燃料ガス導入路と、指令燃料噴射量の燃料の噴射指示を受けることにより前記燃料タンクから輸送されて来た液体燃料を前記吸気通路又は燃焼室にて噴射する燃料噴射装置と、前記排気通路に配設された触媒装置と、その触媒装置よりも上流の前記排気通路に配設された上流側空燃比センサとを備えた内燃機関に適用される、内燃機関の空燃比制御装置において、
少なくとも前記内燃機関の運転速度及び前記吸気通路における空気流量に基づいて、目標空燃比に対応する今回の燃料噴射量の推定値を基本燃料噴射量として取得する基本燃料噴射量取得部と、
フィルタを含む演算処理部を有し、前記目標空燃比と前記上流側空燃比センサの検出信号と過去の前記指令燃料噴射量とに基づいて前記演算処理部で演算処理することで前記基本燃料噴射量を補正するための基本燃料噴射量補正値に対応する演算結果を取得する基本燃料噴射量補正値取得部と、
前記上流側空燃比センサの検出信号に基づく空燃比フィードバック補正値である上流側フィードバック補正値を算出する上流側フィードバック補正値算出部と、
前記演算結果と前記上流側フィードバック補正値とに基づいて今回の指令燃料噴射量を算出する指令燃料噴射量算出部と、
前記燃料ガス導入路を介して前記吸気通路に前記燃料ガスが導入されている燃料ガス導入時に、前記基本燃料噴射量補正値取得部における前記演算結果に基づいて、前記燃料ガスの濃度に基づく空燃比学習値であるパージ学習値を取得するパージ学習部と、
を備えるとともに、
前記基本燃料噴射量補正値取得部は、前記パージ学習部にて前記パージ学習値を取得する場合に使用される第1のフィルタと、前記燃料ガス導入時にて前記指令燃料噴射量算出部に供される前記演算結果を取得する場合に使用される第2のフィルタと、を備え、前記第1のフィルタと第2のフィルタとは、フィルタの応答性に関するパラメータが異なるように構成された内燃機関の空燃比制御装置。 - 燃焼室と、その燃焼室に接続された吸気通路及び排気通路と、燃料タンク中で蒸発した燃料に基づく燃料ガスを前記吸気通路に導入可能に構成された燃料ガス導入路と、指令燃料噴射量の燃料の噴射指示を受けることにより前記燃料タンクから輸送されて来た液体燃料を前記吸気通路又は燃焼室にて噴射する燃料噴射装置と、前記排気通路に配設された触媒装置と、その触媒装置よりも上流の前記排気通路に配設された上流側空燃比センサとを備えた内燃機関に適用される、内燃機関の空燃比制御装置において、
少なくとも前記内燃機関の運転速度及び前記吸気通路における空気流量に基づいて、目標空燃比に対応する今回の燃料噴射量の推定値を基本燃料噴射量として取得する基本燃料噴射量取得部と、
フィルタを含む演算処理部を有し、前記目標空燃比と前記上流側空燃比センサの検出信号と過去の前記指令燃料噴射量とに基づいて前記演算処理部で演算処理することで前記基本燃料噴射量を補正するための基本燃料噴射量補正値に対応する演算結果を取得する基本燃料噴射量補正値取得部と、
少なくとも前記演算結果に基づいて今回の指令燃料噴射量を算出する指令燃料噴射量算出部と、
前記燃料ガス導入路を介して前記吸気通路に前記燃料ガスが導入されている燃料ガス導入時に、前記基本燃料噴射量補正値取得部における前記演算結果に基づいて、前記燃料ガスの濃度に基づく空燃比学習値であるパージ学習値を取得するパージ学習部と、
を備えるとともに、
前記基本燃料噴射量補正値取得部は、前記パージ学習部にて前記パージ学習値を取得する場合に使用される第1のフィルタと、前記燃料ガス導入時にて前記指令燃料噴射量算出部に供される前記演算結果を取得する場合に使用される第2のフィルタと、を備え、前記第1のフィルタと第2のフィルタとは、フィルタの応答性に関するパラメータが異なるように構成された内燃機関の空燃比制御装置。 - 請求項1又は請求項2に記載の内燃機関の空燃比制御装置であって、
前記内燃機関は、前記触媒装置よりも下流の前記排気通路に配設された下流側空燃比センサを備えており、
前記下流側空燃比センサの検出信号に基づく空燃比フィードバック補正値である下流側フィードバック補正値を算出する下流側フィードバック補正値算出部を備え、
前記指令燃料噴射量算出部は、前記下流側フィードバック補正値に基づいて前記今回の指令燃料噴射量を算出するように構成された内燃機関の空燃比制御装置。 - 請求項1乃至請求項3のいずれかに記載の内燃機関の空燃比制御装置であって、
前記第1のフィルタは、前記燃料ガス導入が行われていない燃料ガス非導入時にて前記指令燃料噴射量算出部に供される前記演算結果を取得する場合にも使用されるように構成された内燃機関の空燃比制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004315119A JP2006125304A (ja) | 2004-10-29 | 2004-10-29 | 内燃機関の空燃比制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004315119A JP2006125304A (ja) | 2004-10-29 | 2004-10-29 | 内燃機関の空燃比制御装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006125304A true JP2006125304A (ja) | 2006-05-18 |
Family
ID=36720286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004315119A Withdrawn JP2006125304A (ja) | 2004-10-29 | 2004-10-29 | 内燃機関の空燃比制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006125304A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007315243A (ja) * | 2006-05-24 | 2007-12-06 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
US7428458B2 (en) | 2006-06-05 | 2008-09-23 | Mitsubishi Electric Corporation | Control apparatus for internal combustion engine |
JP2009052458A (ja) * | 2007-08-27 | 2009-03-12 | Hitachi Ltd | 内燃機関の燃料制御装置および燃料制御方法 |
WO2012117520A1 (ja) * | 2011-03-01 | 2012-09-07 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
FR3103272A1 (fr) | 2019-11-18 | 2021-05-21 | Psa Automobiles Sa | Procede de traitement du signal pour eliminer les perturbations generees dans les lignes d’air des moteurs thermiques |
-
2004
- 2004-10-29 JP JP2004315119A patent/JP2006125304A/ja not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007315243A (ja) * | 2006-05-24 | 2007-12-06 | Toyota Motor Corp | 内燃機関の空燃比制御装置 |
JP4710715B2 (ja) * | 2006-05-24 | 2011-06-29 | トヨタ自動車株式会社 | 内燃機関の空燃比制御装置 |
US7428458B2 (en) | 2006-06-05 | 2008-09-23 | Mitsubishi Electric Corporation | Control apparatus for internal combustion engine |
JP2009052458A (ja) * | 2007-08-27 | 2009-03-12 | Hitachi Ltd | 内燃機関の燃料制御装置および燃料制御方法 |
JP4701216B2 (ja) * | 2007-08-27 | 2011-06-15 | 日立オートモティブシステムズ株式会社 | 内燃機関の燃料制御装置 |
WO2012117520A1 (ja) * | 2011-03-01 | 2012-09-07 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
CN103392062A (zh) * | 2011-03-01 | 2013-11-13 | 丰田自动车株式会社 | 内燃机的控制装置 |
JP5494998B2 (ja) * | 2011-03-01 | 2014-05-21 | トヨタ自動車株式会社 | 内燃機関の制御装置 |
CN103392062B (zh) * | 2011-03-01 | 2015-09-09 | 丰田自动车株式会社 | 内燃机的控制装置 |
FR3103272A1 (fr) | 2019-11-18 | 2021-05-21 | Psa Automobiles Sa | Procede de traitement du signal pour eliminer les perturbations generees dans les lignes d’air des moteurs thermiques |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100773276B1 (ko) | 내연 기관의 공연비 제어 장치 | |
JP3680217B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3846480B2 (ja) | 内燃機関の排気浄化装置 | |
JP4380625B2 (ja) | 内燃機関の空燃比制御装置 | |
US8670917B2 (en) | Air-fuel-ratio imbalance determination apparatus for internal combustion engine | |
JP4957559B2 (ja) | 内燃機関の空燃比制御装置 | |
JP3922091B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2007077869A (ja) | 内燃機関の空燃比制御装置 | |
JP5337140B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2006125304A (ja) | 内燃機関の空燃比制御装置 | |
JP2012225308A (ja) | 内燃機関の制御装置 | |
JP2006161695A (ja) | 内燃機関の空燃比制御装置 | |
JP2006112274A (ja) | 内燃機関の空燃比制御装置 | |
JP4710715B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2009264115A (ja) | 多気筒内燃機関の制御装置 | |
JP2010096015A (ja) | 内燃機関の空燃比制御装置 | |
JP2005194981A (ja) | 触媒劣化判定装置 | |
JP4888397B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2012067636A (ja) | 触媒劣化診断装置および触媒劣化診断方法 | |
JP4299218B2 (ja) | 内燃機関の空燃比制御装置 | |
JP4245535B2 (ja) | 内燃機関の空燃比制御装置 | |
JP2005207286A (ja) | 触媒劣化判定装置 | |
JP2007315248A (ja) | 内燃機関の空燃比制御装置 | |
JP2009197683A (ja) | 内燃機関の空燃比制御装置 | |
JP2007231902A (ja) | 内燃機関の空燃比制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071005 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20071029 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20071031 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20090114 |