JP2007077869A - 内燃機関の空燃比制御装置 - Google Patents

内燃機関の空燃比制御装置 Download PDF

Info

Publication number
JP2007077869A
JP2007077869A JP2005266376A JP2005266376A JP2007077869A JP 2007077869 A JP2007077869 A JP 2007077869A JP 2005266376 A JP2005266376 A JP 2005266376A JP 2005266376 A JP2005266376 A JP 2005266376A JP 2007077869 A JP2007077869 A JP 2007077869A
Authority
JP
Japan
Prior art keywords
air
fuel ratio
fuel injection
injection amount
value
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.)
Pending
Application number
JP2005266376A
Other languages
English (en)
Inventor
Naoto Kato
直人 加藤
Shuntaro Okazaki
俊太郎 岡崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2005266376A priority Critical patent/JP2007077869A/ja
Publication of JP2007077869A publication Critical patent/JP2007077869A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • 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)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

【課題】 触媒上流側空燃比センサの出力値をハイパスフィルタ処理した後の値に基づく空燃比制御において、同空燃比制御による空燃比の急変に対応する迅速な補償を阻害することなく基本燃料噴射量の誤差を迅速に補償すること。
【解決手段】 筒内吸入空気量が一定であるとの仮定の下、指令燃料噴射量Fi(k−MB)と検出空燃比abyfs(k)の積は機関の実際の空燃比を目標空燃比abyfr(k)とするための目標基本燃料噴射量Fbasetと目標空燃比abyfr(k)の積に等しくなる関係から、Fbaset=Fi(k−MB)・abyfs(k)/abyfr(k)を求め、基本燃料噴射量補正係数KF=Fbaset/Fbaseb(k)より補正前基本燃料噴射量Fbaseb(k)を補正していく。このKF算出にあたり行うローパスフィルタ処理の時定数を、パージの開始・停止等に基づいて空燃比制御系に大きな外乱が発生した時点以降の所定期間だけ小さくする。
【選択図】 図5

Description

本発明は、内燃機関の排気通路に配設された触媒(三元触媒)の少なくとも上流側の排気通路に空燃比センサを備え、同空燃比センサの出力値に基づいて機関の空燃比をフィードバック制御する内燃機関の空燃比制御装置に関する。
従来より、この種の空燃比制御装置が広く知られている。係る装置として、内燃機関(以下、単に「機関」と称呼することもある。)の排気通路に配設された触媒よりも上流側及び下流側の排気通路にそれぞれ上流側空燃比センサ、及び下流側空燃比センサを介装しているものがある。この場合、係る装置は、下流側空燃比センサの出力値と所定の下流側目標値との差に基づいて(例えば、差を比例・積分・微分処理(PID処理)して)サブフィードバック補正量を算出するとともに、上流側空燃比センサの出力値と所定の上流側目標値との差に基づいて(例えば、差を比例・積分処理(PI処理)して)メインフィードバック補正量を算出する。
そして、係る装置は、機関の運転状態(例えば、アクセル開度、運転速度等)に基づいて取得される、目標空燃比を得るための燃料の量(基本燃料噴射量)を、上記メインフィードバック補正量と上記サブフィードバック補正量とに基づいて補正して得られる指令燃料噴射量を計算するとともに、同指令燃料噴射量の燃料の噴射指示をインジェクタに対して行うことで機関に供給される混合気の空燃比(以下、単に「空燃比」と称呼することもある。)をフィードバック制御するようになっている。
ところで、触媒(三元触媒)は、通常、流入する排ガスの空燃比がリーン空燃比のとき同排ガス中の窒素酸化物(NOx)を還元して同窒素酸化物から奪った酸素を内部に貯蔵するとともに同流入する排ガスの空燃比がリッチ空燃比のとき同貯蔵している酸素により同排ガス中のHC,CO等の未燃成分を酸化する所謂酸素吸蔵機能を有している。
従って、触媒上流の排ガスの空燃比の変動における比較的周波数の高い高周波成分、及び比較的周波数が低くて振幅(理論空燃比からの偏移量)が比較的小さい低周波成分は触媒が有する酸素吸蔵機能により完全に吸収され得ることにより触媒下流の排ガスの空燃比の変動として現れることはない。
一方、触媒上流の排ガスの空燃比の変動における比較的周波数が低くて振幅が比較的大きい低周波数成分は前記触媒の酸素吸蔵機能では完全には吸収されず、少し遅れて触媒下流の排ガスの空燃比の変動として現れる。この結果、上流側空燃比センサの出力値と下流側空燃比センサの出力値とが理論空燃比に対して互いに逆方向に偏移した空燃比を示す値となる場合が発生する。この場合、メインフィードバック制御(メインフィードバック補正量)に基づく機関の空燃比制御とサブフィードバック制御(サブフィードバック補正量)に基づく機関の空燃比制御とが互いに干渉することになるので良好な機関の空燃比制御を行うことができない。
以上のことから、上流側空燃比センサの出力値の変動における各周波数成分のうち触媒下流の空燃比の変動として現れ得る程度の周波数成分(即ち、所定の周波数以下の低周波数成分)をカットした後の同上流側空燃比センサの出力値をメインフィードバック制御に使用すれば、前記機関の空燃比制御の干渉が発生することを回避することができる。
このような知見に基づき、下記特許文献1に記載のエンジン制御装置(空燃比制御装置)は、上流側空燃比センサの出力値をハイパスフィルタ処理した後の値と、下流側空燃比センサの出力値(この例では、同出力値をローパスフィルタ処理した後の値)とに基づいて空燃比制御を実行するようになっている。これによれば、上述した機関の空燃比制御の干渉が発生することを回避できるとともに、触媒下流の空燃比の変動として現れ得る程度の所定の周波数以下の空燃比の変動に対する空燃比制御(定常的な空燃比制御)はサブフィードバック制御により確実に行われ得る。
特開平5−187297号公報
また、上流側空燃比センサの出力値の変動における前記所定の周波数以上の高周波数成分はハイパスフィルタを通過するからハイパスフィルタ処理した後の値として現れる。従って、内燃機関が過渡運転状態にあって排ガスの空燃比が上記所定の周波数以上の高周波数で大きく変動するような場合、同所定の周波数以上の空燃比の変動に対する空燃比制御(即ち、過渡運転状態における空燃比の急変に対する補償)はメインフィードバック制御により迅速、且つ確実に行われ得る。
ところで、一般に、基本燃料噴射量を取得するために使用されるエアフローメータにより計測される吸気通路における空気流量と実際の空気流量との差、燃料を噴射するインジェクタに対する指令燃料噴射量と実際の燃料噴射量との差(以下、これらを「基本燃料噴射量の誤差」と総称する。)が不可避的に発生する。係る基本燃料噴射量の誤差を補償しつつ空燃比を目標空燃比に収束させる(具体的には、空燃比センサの出力値と前記所定の目標値との定常偏差を「0」にする)ためには、上記メインフィードバック制御及び前記サブフィードバック制御の少なくとも一方において、空燃比センサの出力値と前記所定の目標値との偏差の時間積分値に基づいてフィードバック補正量を算出する処理(即ち、積分処理(I処理))が実行される必要がある。
ところが、ハイパスフィルタ処理は微分処理(D処理)と同等の機能を達成する処理である。従って、上記文献に記載の装置においては、メインフィードバック制御が上記積分処理を含んだ処理(例えば、比例・積分処理(PI処理))を実行するものであっても、同メインフィードバック制御において実質的に上記積分処理が実行され得ない。従って、この場合、サブフィードバック制御において上記積分処理が実行される必要がある。
しかしながら、上述した触媒の酸素吸蔵機能の影響により機関に供給される混合気の空燃比の変化は少し遅れて触媒下流の排ガスの空燃比の変化として現れる。よって、上記基本燃料噴射量の誤差が急に増大する場合においては、サブフィードバック制御のみでは同基本燃料噴射量の誤差を迅速に補償することができず、その結果、エミッションの排出量が増大する場合が発生するという問題がある。
このため、メインフィードバック制御、及びサブフィードバック制御とは別に、基本燃料噴射量の誤差を迅速に補償するために、基本燃料噴射量を補正する手段を設ける必要がある。この場合、安定した基本燃料噴射量の補正(基本燃料噴射量補正)を実現するため、基本燃料噴射量補正に使用される値(以下、「基本燃料噴射量補正値」と称呼する。)にローパスフィルタ処理を施す必要がある。このローパスフィルタ処理の時定数は、基本燃料噴射量の誤差の補償における迅速性を阻害しない範囲で可能な限り大きいほうが好ましい。
一方、ローパスフィルタ処理の時定数を常に大きい値に設定すると、実際の空燃比の目標空燃比からの急変(以下、単に「空燃比の急変」と称呼することもある。)をもたらすような機関の運転状態の変化があった場合(即ち、空燃比制御系に大きな外乱が発生した場合)、ローパスフィルタ処理の応答遅れが大きいことから、上記基本燃料噴射量補正値が、一時的に適切な値と大きく異なる場合が発生し得る。この場合、上述したメインフィードバック制御による空燃比の急変に対応する迅速な補償が逆に阻害され、この結果、一時的にエミッションの排出量が増大する場合が発生するという問題がある。
従って、本発明の目的は、基本燃料噴射量の誤差を迅速に補償しつつ、空燃比制御系に大きな外乱が発生した場合であっても、エミッションの排出量の増大を抑制することができる内燃機関の空燃比制御装置を提供することにある。
本発明に係る空燃比制御装置は、内燃機関の排気通路に配設された触媒と、前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、指示に応じて燃料を噴射する燃料噴射手段と、を備えた内燃機関に適用される。
本発明に係る空燃比制御装置は、前記内燃機関の運転状態に基づいて目標空燃比を得るための燃料の量である基本燃料噴射量を取得する基本燃料噴射量取得手段と、前記上流側空燃比センサの出力値に基づく値であってハイパスフィルタ処理された値に基づいてフィードバック補正量(以下、「上流側フィードバック補正量」と称呼する。)を算出するフィードバック補正量算出手段と、前記基本燃料噴射量の燃料の噴射指示を受けたときに前記燃料噴射手段が実際に噴射する燃料の量が前記内燃機関に供給される混合気の実際の空燃比を前記目標空燃比とするために必要な量となるように、同基本燃料噴射量を補正するための値であってローパスフィルタ処理された値(即ち、上記基本燃料噴射量補正値)で同基本燃料噴射量を補正する基本燃料噴射量補正手段と、前記補正された基本燃料噴射量を前記フィードバック補正量で補正することで指令燃料噴射量を算出する指令燃料噴射量算出手段と、前記指令燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで前記内燃機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段とを備えている。
これによれば、基本燃料噴射量補正手段により、基本燃料噴射量取得手段により取得された基本燃料噴射量が上記基本燃料噴射量補正値で補正される。換言すれば、上記上流側フィードバック制御とは別に基本燃料噴射量の誤差を迅速に補償することができる。上述したように、上記基本燃料噴射量補正値に施されているローパスフィルタ処理の時定数は、係る基本燃料噴射量の誤差の補償における迅速性を阻害しない範囲内で可能な限り大きい値に設定されることが好適である。
本発明に係る内燃機関の空燃比制御装置の特徴は、前記基本燃料噴射量補正手段が、前記内燃機関に供給される混合気の実際の空燃比の前記目標空燃比からの偏移をもたらす同内燃機関の運転状態の変化があった時点以降における所定期間に亘って前記ローパスフィルタ処理の時定数を小さくするように構成されたことにある。
これによれば、空燃比制御系に大きな外乱が発生した時点以降の所定期間だけローパスフィルタ処理の時定数が小さくされてローパスフィルタ処理の応答遅れが小さくなる。従って、所定期間を空燃比に大きな乱れが発生し得る期間と一致するように設定することで、上述した「基本燃料噴射量補正値が一時的に適切な値と大きく異なる場合」が発生し難くなる。この結果、上記上流側フィードバック制御による空燃比の急変に対する迅速な補償が阻害され難くなって、一時的なエミッションの排出量の増大を抑制することができる。
また、所定期間が経過した後(即ち、空燃比が目標空燃比に収束した後)はローパスフィルタ処理の時定数が再び上記大きい値に戻され得る。これにより、上記基本燃料噴射量補正値による安定した基本燃料噴射量の補正が再び開始される。
ここで、ローパスフィルタは、アナログフィルタであってもディジタルフィルタであってもよい。ローパスフィルタとしてディジタルフィルタが用いられる場合、前記基本燃料噴射量補正手段は、ローパスフィルタ処理に使用される応答性に関する値(例えば、後述する鈍し制御定数)を変更することで前記ローパスフィルタ処理の時定数を小さくするように構成されても、前記基本燃料噴射量補正値に対して前記ローパスフィルタ処理を行う周期(以下、「演算周期」と称呼する。)を短くすることで前記ローパスフィルタ処理の時定数を小さくするように構成されてもよい。これらは、ディジタルフィルタの時定数は、後述する鈍し制御定数と演算周期の積に比例することに基づく。
なお、上記本発明に係る空燃比制御装置においては、触媒よりも下流の排気通路に配設された下流側空燃比センサの出力値に基づく値に基づいて下流側フィードバック補正量を算出する下流側フィードバック補正量算出手段を更に備え、前記指令燃料噴射量算出手段は、前記補正された基本燃料噴射量を前記上流側フィードバック補正量と前記下流側フィードバック補正量とで補正することで前記指令燃料噴射量を算出するように構成されてもよい。この場合、前記下流側空燃比センサの出力値に基づく値は、ローパスフィルタ処理された値であってもよい。
また、上記本発明の内燃機関の空燃比制御装置においては、前記基本燃料噴射量補正手段が、前記基本燃料噴射量補正値として、前記上流側空燃比センサの出力値と、前記目標空燃比と、前記指令燃料噴射量と、前記基本燃料噴射量とに基づいて算出されるパラメータ値を用いるように構成されることが好適である。
一般に、筒内(燃焼室内)に吸入される筒内吸入空気量が一定であるという仮定のもと、燃料噴射量と、空燃比(従って、排ガスの空燃比)の積は一定となる。従って、上記指令燃料噴射量と、上流側空燃比センサの出力値に相当する空燃比(以下、「検出空燃比」と称呼することもある。)の積は、機関に供給される混合気の実際の空燃比を目標空燃比とするために必要な基本燃料噴射量(燃料噴射手段への噴射指令値。以下、「目標基本燃料噴射量」と称呼することもある。)と、目標空燃比の積に等しい、という関係が成立する。
従って、既知である指令燃料噴射量、検出空燃比、及び目標空燃比の各値と、上記関係とに基づいて上記目標基本燃料噴射量を算出することができる。上記目標基本燃料噴射量が算出できれば、この目標基本燃料噴射量と、既知である基本燃料噴射量(即ち、基本燃料噴射量取得手段により取得された値そのもの)との比較結果に基づいて基本燃料噴射量補正用のパラメータ値(例えば、補正係数)を算出することができる。
このようにして算出され得るパラメータ値は、基本燃料噴射量の燃料の噴射指示を受けたときに燃料噴射手段が実際に噴射する燃料の量が実際の空燃比を目標空燃比とするために必要な量となるように基本燃料噴射量を補正するための値(即ち、基本燃料噴射量を上記目標基本燃料噴射量に一致させるための値)となる。
従って、上記構成のように、係るパラメータ値を用いて基本燃料噴射量を補正するように構成すれば、簡易な計算で、且つ精度良く、基本燃料噴射量を目標基本燃料噴射量に一致するように補正することができる。
ところで、一般に、内燃機関においては、燃料タンク中で液体燃料が蒸発して燃料ガス(以下、「エバポガス」と称呼することもある。)が発生するので、エバポガスが大気中に放出されることを防止するために、エバポガスの機関の吸気通路への導入(以下、「パージ」と称呼することもある。)を行うための蒸発燃料処理機構が設けられている。
この蒸発燃料処理機構は、パージを制御するパージ制御弁を備えており、機関の運転状態に基づいてパージ制御弁を制御することで、吸気通路に導入されるエバポガスの導入状態(例えば、パージ率)を制御するようになっている。ここで、パージ率=エバポガス流量/(エバポガス流量+エアフローメータ検出空気流量):単位は質量%、である。このエバポガスの導入状態の急変は、空燃比制御系における大きな外乱となり得る。
そこで、内燃機関が、燃料タンク中で蒸発した燃料に基づく燃料ガスを前記内燃機関の吸気通路に導入する燃料ガス導入路と、前記吸気通路に導入される燃料ガスの導入状態を前記内燃機関の運転状態に基づいて制御するパージ制御弁とを更に備えている場合、前記基本燃料噴射量補正手段は、前記内燃機関の運転状態の変化があった時点として、前記吸気通路に導入される燃料ガスの導入状態が前記パージ制御弁の制御により変化した時点を用いるように構成されることが好適である。
これによれば、空燃比制御系における大きな外乱となり得るエバポガスの導入状態の急変(例えば、パージ率の急変)が発生した時点以降の所定期間だけローパスフィルタの時定数が小さくされる。従って、エバポガスの導入状態の急変に基づく一時的なエミッションの排出量の増大を確実に抑制することができる。
「燃料ガスの導入状態がパージ制御弁の制御により変化した時点」としては、例えば、前記パージ制御弁の制御により前記燃料ガスの導入が開始された時点(パージ制御開始時点)、及び/又は停止された時点(パージ制御終了時点)が挙げられる。
更には、燃料ガスの導入状態(例えば、パージ率)は、吸気通路における空気流量に応じて変化するように制御される場合が多い。この場合、前記燃料ガスの導入が継続している期間において前記吸気通路における空気流量が変化した時点も、「燃料ガスの導入状態がパージ制御弁の制御により変化した時点」となり得る。
なお、内燃機関が、燃料タンク中で蒸発した燃料に基づく燃料ガスを前記内燃機関の吸気通路に導入する燃料ガス導入路と、前記吸気通路に導入される燃料ガスの導入状態を前記内燃機関の運転状態に基づいて制御するパージ制御弁とを更に備えている場合、前記基本燃料噴射量取得手段は、前記燃料ガス中の燃料の量を考慮して基本燃料噴射量を取得するように構成してもよい。
また、上記本発明に係る空燃比制御装置においては、前記燃料ガスが前記パージ制御弁から前記内燃機関の燃焼室に到達するまでの時間である輸送遅れ時間を取得する輸送遅れ時間取得手段を更に備え、前記基本燃料噴射量補正手段は、前記吸気通路に導入される燃料ガスの導入状態が前記パージ制御弁の制御により変化した時点から前記輸送遅れ時間が経過した時点から前記所定期間を開始するように構成されることが好適である。
パージ時、エバポガスは、パージ制御弁を介して吸気通路へ流入し、吸気通路を移動していくことで機関の筒内に到達する。即ち、エバポガスがパージ制御弁から機関の筒内に到達するためには所定の時間(即ち、上記輸送遅れ時間)を要する。
従って、燃料ガスの導入状態の変化は、上記輸送遅れ時間経過後に空燃比制御系における外乱として現れる。換言すれば、ローパスフィルタの時定数が小さくされる前記所定期間を、燃料ガスの導入状態が変化した時点から輸送遅れ時間が経過した時点から開始すればよい。
上記構成は係る知見に基づくものである。これによれば、燃料ガスの導入状態が変化した時点から直ちに所定期間が開始する場合に比して、所定期間を短くすることができる。換言すれば、ローパスフィルタの時定数が上述した可能な限り大きい値に維持される期間を長くすることができ、この結果、安定した基本燃料噴射量の補正が実現される期間を長くすることができる。
この場合、前記輸送遅れ時間取得手段は、機関の運転状態に応じて前記輸送遅れ時間を変更するように構成されることが好適である。前記輸送遅れ時間は、例えば、筒内吸入空気量等、機関の運転状態に応じて変化する。従って、上記構成によれば、内燃機関の運転状態にかかわらず前記輸送遅れ時間を正確に取得することができるから、より適切に所定期間の開始時期を設定することができる。
以下、本発明による内燃機関の空燃比制御装置(以降の説明では単に「空燃比制御装置」と略称することがある。)の各実施形態(本願の出願時点において最良と考えられる実施形態)について図面を参照しつつ説明する。
(第1実施形態の内燃機関の概要)
図1は、第1実施形態による空燃比制御装置を火花点火式多気筒(4気筒)内燃機関10に適用したシステムの概略構成を示している。この内燃機関10は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排気ガスを外部に放出するための排気系統50とを含んでいる。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23、及びクランク軸24を含んでいる。このシリンダブロック部20においては、ピストン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を収納することにより構成されている。
機関停止中における日光等による加熱によって燃料タンク45中で発生した燃料ガスは、当該燃料タンク45,ベーパー捕集管47,キャニスタ46,及びパージ流路48のパージ制御弁49よりもエバポガスの流れにおける上流側(キャニスタ46側)によって形成される閉空間内に充満する。そして、この閉空間内に充満した燃料ガスは、吸着剤46dに吸着されることでキャニスタ46内に吸蔵されるようになっている。
なお、大気ポート46cは、パージ制御弁49が開放された場合に、吸気管41にて生じる負圧により、パージ流路48にて吸気管41に向かうガスの流れが生じるように、外部の空気をキャニスタ46内に導入するための大気連通孔である。
加えて、キャニスタ46は、タンクポート46aからパージポート46bへの直接のガス流路を有している。そして、このガス流路により、内燃機関10の運転中であってパージ制御弁49が開放された場合に、燃料タンク45にて発生した燃料ガスがタンクポート46aから当該キャニスタ46の内部に流入した後に吸着剤46dに吸着されることなくそのままパージポート46bから排出され得るようになっている。
即ち、このシステムにおいては、パージ制御弁49が開放された場合にタンクベーパー流路とキャニスタパージ流路とが同時に形成されるようになっている。ここで、「タンクベーパー流路」とは、燃料タンク45からベーパー捕集管47を経てタンクポート46aに至るガス流路、当該タンクポート46aから吸着剤46dの内部を通らずにキャニスタ46の筐体内部を通って直接パージポート46bに至るガス流路、及び当該パージポート46bからパージ流路48を経て吸気管41に至るガス流路を接続した、燃料タンク45から吸気管41に至るガス流路をいう。また、「キャニスタパージ流路」とは、大気ポート46cから吸着剤46dの内部を通ってパージポート46bに至り、当該パージポート46bからパージ流路48を経て吸気管41に至るガス流路をいう。
パージ制御弁49は、周知のVSV(バキュームスイッチングバルブ)により構成されている(本実施形態の以下の説明では、パージ制御弁49を「VSV49」と略称する。)。VSV49は、後述するパージ実行条件が成立したとき開放されるようになっている。このVSV49が開放された場合、吸気管41にて生じる負圧により、前記タンクベーパー流路を通る第1のガス流(タンクベーパー)と、前記キャニスタパージ流路を通る第2のガス流(キャニスタパージガス)とが混合したエバポガスが、パージ制御弁49を通って吸気管41に吸入され得る構成となっている。
また、上述したパージ率(=(エバポガス流量/(エバポガス流量+エアフローメータ検出空気流量)):単位は質量%)の目標値である目標パージ率PGRは、後述するエアフローメータ61により計測される吸入空気量(流量)Gaと、吸入空気流量Gaと目標パージ率PGRとの関係を規定するテーブルMapPGR(Ga)とに基づいて、吸入空気流量Gaが大きくなるほど大きくなるように決定されるようになっている。そして、後述する電気制御装置70の指示によりVSV49がデューティ制御されることにより、実際のパージ率が目標パージ率PGRに一致するように制御されるようになっている。
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51(実際には、各排気ポート34に連通した各々のエキゾーストマニホールド51が集合した集合部)に接続されたエキゾーストパイプ(排気管)52、エキゾーストパイプ52に配設(介装)された上流側触媒装置53(上流側触媒コンバータ、又はスタート・キャタリティック・コンバータとも云うが、以下「第1触媒53」と称呼する。)、及びこの第1触媒53の下流のエキゾーストパイプ52に配設(介装)された下流側触媒装置54(車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも云うが、以下「第2触媒54」と称呼する。)を備えている。排気ポート34、エキゾーストマニホールド51、及びエキゾーストパイプ52は、排気通路を構成している。
一方、このシステムは、エアフローメータ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を備えている。電気制御装置70は、互いにバスで接続されたCPU71、CPU71が実行するルーチン(プログラム)、テーブル(ルックアップテーブル、マップ)、及びパラメータ等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに当該格納したデータを電源が遮断されている間も保持するバックアップRAM74、並びにADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、前記センサ61〜69と接続され、CPU71にセンサ61〜69からの信号を供給するとともに、同CPU71の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39、スロットル弁アクチュエータ43a、SCVアクチュエータ44a、及びVSV49に駆動信号を送出するようになっている。
(空燃比制御の概要)
次に、上述のように構成された空燃比制御装置が行う機関の空燃比制御の概要について説明する。
第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及び図8に示したように、A1〜A19の各機能ブロックを含んで構成されている。以下、各図を参照しながら各機能ブロックについて説明していく。
<基本燃料噴射量の算出>
先ず、筒内吸入空気量算出手段A1は、エアフローメータ61が計測している吸入空気流量Gaと、クランクポジションセンサ64の出力に基づいて得られる運転速度NEと、ROM72が記憶しているテーブルMapMcとに基づき、吸気行程を迎える気筒の今回の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の(k)は、今回の吸気行程に対する値であることを示している(以下、他の物理量についても同様。)。
上流側目標空燃比設定手段A2は、内燃機関10の運転状態である運転速度NE、及びスロットル弁開度TA等に基づいて所定の上流側目標値に相当する上流側目標空燃比abyfr(k)を決定する。この上流側目標空燃比abyfr(k)は、例えば、内燃機関10の暖機終了後においては、特殊な場合を除き理論空燃比に設定されている。また、上流側目標空燃比abyfrは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
非パージ時基本燃料噴射量算出手段A3は、筒内吸入空気量算出手段A1により求められた筒内吸入空気量Mc(k)を上流側目標空燃比設定手段A2により設定された上流側目標空燃比abyfr(k)で除することにより、非パージ時における空燃比を同上流側目標空燃比abyfr(k)とするための今回の非パージ時基本燃料噴射量Fbaseb0(k)を求める。
補正前基本燃料噴射量算出手段A4は、非パージ時基本燃料噴射量算出手段A3により求められた今回の非パージ時基本燃料噴射量Fbaseb0(k)に、後述するパージ補正係数設定手段A16により求められているパージ補正係数KPのうち、パージ補正係数遅延手段A17により読み出された現時点からMAストローク(MA回の吸気行程)前のパージ補正係数KP(k−MA)を乗じることで、エバポガス中の燃料の量を考慮した今回の補正前基本燃料噴射量Fbaseb(k)を求める。パージ補正係数設定手段A16及びパージ補正係数遅延手段A17については後に詳述する。以上、非パージ時基本燃料噴射量算出手段A3、及び補正前基本燃料噴射量算出手段A4が前記基本燃料噴射量取得手段に相当する。
補正後基本燃料噴射量算出手段A5は、補正前基本燃料噴射量算出手段A4により求められた今回の補正前基本燃料噴射量Fbaseb(k)に、後述する基本燃料噴射量補正係数設定手段A18により(前回の吸気行程にて既に)求められている基本燃料噴射量補正係数KFを乗じることで、補正後基本燃料噴射量Fbaseを求める。ここで、基本燃料噴射量補正係数設定手段A18にて用いられる、後述するローパスフィルタ時定数(単に「時定数」と称呼することもある)τは、鈍し制御定数設定手段A19により設定された鈍し制御定数nに基づいて決定される。基本燃料噴射量補正係数設定手段A18及び鈍し制御定数設定手段A19については後に詳述する。
このように、本装置は、筒内吸入空気量算出手段A1、上流側目標空燃比設定手段A2、非パージ時基本燃料噴射量算出手段A3、補正前基本燃料噴射量算出手段A4、補正後基本燃料噴射量算出手段A5、パージ補正係数設定手段A16、パージ補正係数遅延手段A17、基本燃料噴射量補正係数設定手段A18、及び鈍し制御定数設定手段A19を利用して、補正後基本燃料噴射量Fbaseを求める。この補正後基本燃料噴射量Fbaseは、後に詳述するように、前回の吸気行程にて求められた基本燃料噴射量の誤差を補償して、今回の吸気行程における実際の空燃比を今回の上流側目標空燃比abyfr(k)と一致させるようにするためにインジェクタ39に指示すべき(メイン及びサブフィードバック前の)燃料噴射量(前記目標基本燃料噴射量)である。
<指令燃料噴射量の算出>
指令燃料噴射量算出手段A6は、前記補正後基本燃料噴射量Fbaseに後述するメインフィードバック補正量DFi_main、及びサブフィードバック補正量DFi_subを加えることで、下記(1)式に基づいて今回の指令燃料噴射量Fi(k)を求める。指令燃料噴射量Fi(k)は、各気筒の吸気行程に対応されながらRAM73に記憶されていく。この指令燃料噴射量算出手段A6は、前記指令燃料噴射量算出手段に相当する。
Fi(k)=Fbase+DFi_main+DFi_sub ・・・(1)
本装置は、このようにして、指令燃料噴射量算出手段A6により、補正後基本燃料噴射量Fbaseをメインフィードバック補正量DFi_mainとサブフィードバック補正量DFi_subとに基づいて補正することにより得られる指令燃料噴射量Fi(k)の燃料の噴射指示を今回の吸気行程を迎える気筒についてのインジェクタ39に対して行う。このように燃料の噴射指示を行う手段が前記空燃比制御手段に相当する。
<サブフィードバック制御>
先ず、下流側目標値設定手段A7は、上述した上流側目標空燃比設定手段A2と同様、内燃機関10の運転状態である運転速度NE、及びスロットル弁開度TA等に基づいて下流側目標空燃比に対応する下流側目標値(所定の下流側目標値)Voxs_refを決定する。この下流側目標値Voxs_refは、例えば、内燃機関10の暖機終了後においては、特殊な場合を除き理論空燃比に対応する値である0.5(V)に設定されている(図4を参照。)。また、本例では、下流側目標値Voxs_refは、同下流側目標値Voxs_refに対応する下流側目標空燃比が上述した上流側目標空燃比abyfr(k)と常時一致するように設定される。
出力偏差量算出手段A8は、下記(2)式に基づいて、下流側目標値設定手段A7により設定されている現時点(具体的には、今回のFi(k)の噴射指示開始時点)での下流側目標値Voxs_refから同現時点での下流側空燃比センサ67の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
DVoxs=Voxs_ref−Voxs ・・・(2)
ローパスフィルタA9は、その特性をラプラス演算子sを用いて表した下記(3)式に示すように、一次のフィルタである。下記(3)式において、Tは時定数である。ローパスフィルタA9は、周波数(1/T)以上の高周波数成分が通過することを実質的に禁止する。ローパスフィルタA9は、前記出力偏差量算出手段A8により求められた前記出力偏差量DVoxsの値を入力するとともに、下記(3)式に従って同出力偏差量DVoxsの値をローパスフィルタ処理した後の値であるローパスフィルタ通過後出力偏差量DVoxs_lowを出力する。
1/(1+T・s) ・・・(3)
PIDコントローラA10は、ローパスフィルタA9の出力値であるローパスフィルタ通過後出力偏差量DVoxs_lowを比例・積分・微分処理(PID処理)することで、下記(4)式に基づいてサブフィードバック補正量DFi_subを求める。
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に同サブフィードバック補正量DFi_subを加えることで、後述するメインフィードバック制御による(前記メインフィードバック補正量DFi_mainによる)補正後基本燃料噴射量Fbaseの補正とは独立に同補正後基本燃料噴射量Fbaseを補正する。
例えば、平均的な空燃比がリーンであるために下流側空燃比センサ67の出力値Voxsが理論空燃比よりもリーンである空燃比に対応した値を示すと、出力偏差量算出手段A8により求められる出力偏差量DVoxsが正の値となるので(図4を参照。)、PIDコントローラA10にて求められるサブフィードバック補正量DFi_subは正の値となる。これにより、指令燃料噴射量算出手段A6にて求められる指令燃料噴射量Fi(k)は補正後基本燃料噴射量Fbaseよりも大きくなって、空燃比がリッチとなるように制御される。
反対に、平均的な空燃比がリッチであるために下流側空燃比センサ67の出力値Voxsが理論空燃比よりもリッチである空燃比に対応した値を示すと、出力偏差量算出手段A8により求められる出力偏差量DVoxsが負の値となるので、PIDコントローラA10にて求められるサブフィードバック補正量DFi_subは負の値となる。これにより、指令燃料噴射量算出手段A6にて求められる指令燃料噴射量Fi(k)は補正後基本燃料噴射量Fbaseよりも小さくなって、空燃比がリーンとなるように制御される。
また、PIDコントローラA10は積分項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コントローラA10においてかかる積分処理が実行されることにより、上述した基本燃料噴射量の誤差が補償され得、且つ、定常状態において第1触媒53の下流の空燃比(従って、空燃比)が前記下流側目標値Voxs_refに対応する下流側目標空燃比(即ち、理論空燃比)に収束し得る。
<メインフィードバック制御>
先に説明したように、第1触媒53は酸素吸蔵機能を有している。従って、第1触媒53の上流の排気ガスの空燃比の変動における比較的周波数の高い(例えば、前記周波数(1/T)以上の)高周波数成分、及び比較的周波数が低くて(例えば、前記周波数(1/T)以下であって)振幅(理論空燃比からの偏移量)が比較的小さい低周波数成分は第1触媒53が有する酸素吸蔵機能により完全に吸収されることにより第1触媒53の下流の排気ガスの空燃比の変動として現れることはない。従って、例えば、内燃機関10が過渡運転状態にあって排気ガスの空燃比が前記周波数(1/T)以上の高周波数で大きく変動するような場合、同空燃比の変動が下流側空燃比センサ67の出力値Voxsに現れないから、同周波数(1/T)以上の空燃比の変動に対する空燃比制御(即ち、過渡運転状態等における空燃比の急変に対する補償)はサブフィードバック制御により実行することができない。従って、過渡運転状態等における空燃比の急変に対する補償を確実に行うためには、上流側空燃比センサ66の出力値Vabyfsに基づいた空燃比制御であるメインフィードバック制御を行う必要がある。
一方、第1触媒53の上流の排気ガスの空燃比の変動における比較的周波数が低くて(例えば、前記周波数(1/T)以下であって)振幅が比較的大きい低周波数成分は第1触媒53の酸素吸蔵機能では完全には吸収されず、少し遅れて第1触媒53の下流の排気ガスの空燃比の変動として現れる。この結果、上流側空燃比センサ66の出力値Vabyfsと下流側空燃比センサ67の出力値Voxsとが理論空燃比に対して互いに逆方向に偏移した空燃比を示す値となる場合が存在する。従って、この場合、メインフィードバック制御(後述するメインフィードバック補正量DFi_main)に基づく機関の空燃比制御とサブフィードバック制御(従って、前記サブフィードバック補正量DFi_sub)に基づく機関の空燃比制御とを同時に行うと、2つの空燃比制御が互いに干渉することになるので良好な機関の空燃比制御を行うことができない。
以上のことから、上流側空燃比センサ66の出力値Vabyfsの変動における各周波数成分のうち第1触媒53の下流の空燃比の変動として現れ得る程度の周波数成分である所定の周波数(本例では、周波数(1/T))以下の低周波数成分をカットした後の同上流側空燃比センサ66の出力値Vabyfsをメインフィードバック制御に使用すれば、前記機関の空燃比制御の干渉が発生することを回避することができるとともに、過渡運転状態における空燃比の急変に対する補償を確実に行うことができる。
そこで、本システムは、前述の図5に示したように、A11〜A15の各機能ブロックを含んで構成されている。以下、図5を参照しながら各機能ブロックについて説明していく。
<<メインフィードバック補正量の算出>>
先ず、テーブル変換手段A11は、上流側空燃比センサ66の出力値Vabyfsと、先に説明した図3に示した上流側空燃比センサ出力値Vabyfsと空燃比A/Fとの関係を規定したテーブルとに基づいて、上流側空燃比センサ66が検出する現時点(具体的には、今回のFi(k)の噴射指示開始時点)における今回の検出空燃比abyfs(k)を求める。
目標空燃比遅延手段A12は、上流側目標空燃比設定手段A2により吸気行程毎に求められRAM73に記憶されている目標空燃比abyfrのうち、現時点からMBストローク(MB回の吸気行程)前の目標空燃比abyfrをRAM73から読み出し、これを目標空燃比abyfr(k−MB)として設定する。この値MBについては後述する。
上流側空燃比偏差算出手段A13は、下記(5)式に基づいて、今回の検出空燃比abyfs(k)から目標空燃比遅延手段A12により求められた現時点からMBストローク前の目標空燃比abyfr(k−MB)を減じることにより、現時点からMBストローク前の上流側空燃比偏差DAFを求める。
DAF=abyfs(k)−abyfr(k−MB) ・・・(5)
このように、現時点からMBストローク前の上流側空燃比偏差DAFを求めるために、今回の検出空燃比abyfs(k)から現時点からMBストローク前の目標空燃比abyfr(k−MB)を減じるのは、燃焼室25内で燃焼された混合気が上流側空燃比センサ66に到達するまでには、MBストロークに相当する遅れ時間LB(詳細は後述する。)を要しているからである。この上流側空燃比偏差DAFは、MBストローク前の時点で筒内に供給された燃料の過不足量に対応する値である。
ハイパスフィルタA14は、その特性をラプラス演算子sを用いて表した下記(6)式に示すように、一次のフィルタである。下記(6)式において、Tは前記ローパスフィルタA9の時定数Tと同一の時定数である。ハイパスフィルタA14は、周波数(1/T)以下の低周波数成分が通過することを実質的に禁止する。
1−1/(1+T・s) ・・・(6)
ハイパスフィルタA14は、前記上流側空燃比偏差算出手段A13により求められた上流側空燃比偏差DAFの値を入力するとともに、前記(6)式に従って上流側空燃比偏差DAFの値をハイパスフィルタ処理した後の値であるハイパスフィルタ通過後上流側空燃比偏差DAFhiを出力する。従って、ハイパスフィルタ通過後上流側空燃比偏差DAFhiは、上流側空燃比センサ66の出力値Vabyfsと上流側目標値との偏差に基づく値をハイパスフィルタ処理した後の値である。
PコントローラA15は、ハイパスフィルタA14の出力値であるハイパスフィルタ通過後上流側空燃比偏差DAFhiを比例処理(P処理)することで、下記(7)式に基づいてMBストローク前の燃料供給量の過不足(における周波数(1/T)以上の高周波数成分のみの過不足)を補償するためのメインフィードバック補正量DFi_mainを求める。
DFi_main=Gphi・DAFhi ・・・(7)
前記(7)式において、Gphiは予め設定された比例ゲイン(比例定数)である。係るメインフィードバック補正量DFi_mainは、先に述べたように指令燃料噴射量算出手段A6により指令燃料噴射量Fi(k)を求める際に使用される。
このようにして、本装置は、メインフィードバック制御回路とサブフィードバック制御回路とを内燃機関10に対して並列に接続している。そして、本装置は、上流側目標空燃比abyfrに対応する上流側目標値と上流側空燃比センサ66の出力値Vabyfsとの偏差に基づく値をハイパスフィルタ処理した後の値であるハイパスフィルタ通過後上流側空燃比偏差DAFhiに基づいて、メインフィードバック補正量DFi_mainを求め、前記補正後基本燃料噴射量Fbaseに同メインフィードバック補正量DFi_mainを加えることで、上述したサブフィードバック制御による(サブフィードバック補正量DFi_subによる)補正後基本燃料噴射量Fbaseの補正とは独立に同補正後基本燃料噴射量Fbaseを補正する。
例えば、空燃比が急変してリーンとなると、テーブル変換手段A11にて求められる今回の検出空燃比abyfs(k)は上流側目標空燃比設定手段A2により設定されている現時点からMBストローク前の上流側目標空燃比abyfr(k−MB)よりもリーンな値(より大きな値)として求められる。このため、上流側空燃比偏差DAFは大きい正の値として求められる。また、空燃比の急変によりこの上流側空燃比偏差DAFを示す信号には前記周波数(1/T)以上の高周波数成分が存在するから、ハイパスフィルタA14を通過した後のハイパスフィルタ通過後上流側空燃比偏差DAFhiも大きい正の値となる。従って、メインフィードバック補正量DFi_mainが大きい正の値となる。これにより、指令燃料噴射量算出手段A6にて求められる指令燃料噴射量Fi(k)は、補正後基本燃料噴射量Fbaseよりも大きくなって、空燃比がリッチとなるように制御される。
反対に、空燃比が急変してリッチとなると、今回の検出空燃比abyfs(k)は現時点からMBストローク前の上流側目標空燃比abyfr(k−MB)よりもリッチな値(より小さな値)として求められる。このため、上流側空燃比偏差DAFは負の値として求められる。また、空燃比の急変によりこの上流側空燃比偏差DAFを示す信号には前記周波数(1/T)以上の高周波数成分が存在するから、ハイパスフィルタ通過後上流側空燃比偏差DAFhiも負の値となる。従って、メインフィードバック補正量DFi_mainが負の値となる。これにより、指令燃料噴射量Fi(k)は、補正後基本燃料噴射量Fbaseよりも小さくなって、空燃比がリーンとなるように制御される。以上、テーブル変換手段A11、目標空燃比遅延手段A12、上流側空燃比偏差算出手段A13、ハイパスフィルタA14、及びPコントローラA15は前記フィードバック補正量算出手段に相当する。
このようにして、第1触媒53の下流の空燃比の変動として現れ得る程度の周波数(1/T)以下の空燃比の変動に対する定常的な空燃比制御はサブフィードバック制御により確実に行われ得るとともに、同周波数(1/T)以下の低周波数成分はハイパスフィルタA14を通過し得ずPコントローラA15に入力されないから前述した機関の空燃比制御の干渉が発生することを回避できる。また、空燃比の変動(従って、上流側空燃比センサ66の出力値Vabyfsの変動)における前記周波数(1/T)以上の高周波数成分はハイパスフィルタA14を通過するから、過渡運転状態における空燃比の急変に対する補償はメインフィードバック制御により迅速、且つ確実に行われ得る。
<パージ補正係数の設定>
パージ補正係数設定手段A16は、パージ実行条件(本例では、機関運転中であって、(ア)エンジン暖気後、(イ)空燃比フィードバック制御中、(ウ)今回の吸気行程における現在の筒内吸入空気量Mcの領域における現在のKFmem(m)の更新(後に詳述する)終了)が成立しパージ実行中の場合において、エバポガスに含まれる燃料の量を考慮して非パージ時基本燃料噴射量Fbaseb0を(減量)補正するためのパージ補正係数KPを設定する。以下、パージ補正係数設定手段A16による係るパージ補正係数KPの設定方法について説明する。
上述したように、非パージ時基本燃料噴射量Fbaseb0(k)にパージ補正係数KPを乗じた値が補正前基本燃料噴射量Fbaseb(k)と等しくなるように同パージ補正係数KPが設定されるから、同パージ補正係数KPは下記(8)式にて表すことができる。
KP=Fbaseb(k)/Fbaseb0(k) ・・・(8)
ここで、補正前基本燃料噴射量Fbaseb(k)は、非パージ時基本燃料噴射量Fbaseb0(k)から今回の吸気行程において筒内に吸入されるエバポガスに含まれる燃料の量(以下、「パージ余剰燃料量ΔFbase」と称呼する。)を減じた量(=Fbaseb0(k)−ΔFbase)と等しい。また、上述したように、非パージ時基本燃料噴射量Fbaseb0(k)は筒内吸入空気量Mc(k)を上流側目標空燃比abyfr(k)で除することで取得される。従って、これらの関係を利用すると、パージ補正係数KPは、下記(9)式にて表すことができる。
KP=1−(ΔFbase・abyfr(k)/Mc(k)) ・・・(9)
パージ余剰燃料量ΔFbaseは、下記(10)式で表されるように今回の吸気行程において筒内に吸入されるエバポガスの量(以下、「エバポガス量Geva」と称呼する。)とエバポガス濃度Cevaの積で表される。エバポガス濃度Cevaの取得方法については、後述する。他方、今回の吸気行程における実際のパージ率(=目標パージ率PGR)は、機関10が定常運転状態にある場合、下記(11)式にて表すことができる。下記(10)式と下記(11)式からエバポガス量Gevaを消去してΔFbaseについて解いた式を前記(9)式に代入することで下記(12)式が導かれる。
ΔFbase=Geva・Ceva ・・・(10)
PGR=Geva/(Geva+Mc(k)) ・・・(11)
KP=1−(PGR/(1−PGR))・Ceva・abyfr(k) ・・・(12)
パージ補正係数設定手段A16は、前記(12)式に従って、パージ補正係数KP(k)を設定する。パージ補正係数KPは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。前記(12)式によれば、パージが実行されない場合、目標パージ率PGRの値が「0」に設定されるから、パージ補正係数KPは「1」となる(即ち、非パージ時基本燃料噴射量Fbaseb0は減量補正されず、補正前基本燃料噴射量Fbasebは、非パージ時基本燃料噴射量Fbaseb0と一致する。)。一方、パージが実行される場合、パージ補正係数KPは「0」より大きく「1」以下の値となり、この結果、補正前基本燃料噴射量Fbasebは、パージ余剰燃料量ΔFbaseの分だけ非パージ時基本燃料噴射量Fbaseb0から減量した値となる。
パージ補正係数遅延手段A17は、パージ補正係数設定手段A16により吸気行程毎に求められRAM73に記憶されているパージ補正係数KPのうち、現時点からMAストローク(MA回の吸気行程)前の値をRAM73から読み出し、この値を今回の非パージ時基本燃料噴射量Fbaseb0(k)に乗じるためのパージ補正係数KP(k−MA)として設定する。
このように、今回の非パージ時基本燃料噴射量Fbaseb0に乗じるためのパージ補正係数KPとして、現時点からMAストローク前のパージ補正係数KP(k−MA)を用いるのは、エバポガスがVSV49から燃焼室25に到達するためにはMAストロークに相当する時間(輸送遅れ時間LA)を要するからである。この輸送遅れ時間LA(従って、ストローク数MA)は、筒内吸入空気量Mcの増加に応じて短くなる傾向がある。従って、ストローク数MAは、筒内吸入空気量Mc(k)と、図6にグラフにより示した、筒内吸入空気量Mcとストローク数MAとの関係を規定するテーブルMapMA(Mc)とに基づいて求めることができる。以上がパージ補正係数KPの設定方法である。パージ補正係数遅延手段A17は、前記輸送遅れ時間取得手段に相当する。
<基本燃料噴射量補正係数の設定>
先に説明したように、PIDコントローラA10において積分処理が実行されることにより、サブフィードバック制御において基本燃料噴射量の誤差が補償され得る。しかしながら、上述した第1触媒53の酸素吸蔵機能の影響により空燃比の変化は少し遅れて第1触媒53の下流の排気ガスの空燃比の変化として現れるから、基本燃料噴射量の誤差が急に増大する場合においては、サブフィードバック制御のみでは基本燃料噴射慮の誤差を直ちに補償することができず、その結果、一時的にエミッションの排出量が増大する場合が発生するという問題がある。
加えて、PコントローラA15では積分処理が実行されないから、メインフィードバック制御においては基本燃料噴射量の誤差が補償され得ない。以上のことから、メインフィードバック制御、及びサブフィードバック制御によることなく基本燃料噴射量を直ちに補償する必要がある。
このためには、指令燃料噴射量Fiを決定する値のうちメインフィードバック補正量DFi_main、及びサブフィードバック補正量DFi_sub以外の値である補正後基本燃料噴射量Fbaseが、実際の空燃比を目標空燃比abyfrとするために吸気行程を迎える気筒のインジェクタ39に噴射指示すべき燃料の量(以下、「目標基本燃料噴射量Fbaset」と称呼する。)と一致する(近づく)ように補正された値となる必要がある。
そのためには、図5から理解できるように、今回の前記補正前基本燃料噴射量Fbaseb(k)に上述した基本燃料噴射量補正係数設定手段A18により設定される基本燃料噴射量補正係数KFを乗じた値が前記目標基本燃料噴射量Fbasetと一致する(近づく)ように同基本燃料噴射量補正係数KFが設定される必要がある。以下、基本燃料噴射量補正係数設定手段A18による係る基本燃料噴射量補正係数KFの設定方法について説明する。
一般に、燃焼室内に吸入される筒内吸入空気量が一定であるという仮定のもとでは、燃料噴射量と、燃焼室に供給される混合気の空燃比(従って、排気ガスの空燃比)の積は一定となる。従って、係る仮定のもとでは、一般に、前記指令燃料噴射量Fiと、上流側空燃比センサ66による検出空燃比abyfsの積は、燃焼室に供給される混合気の実際の空燃比を今回の目標空燃比abyfr(k)とするために必要な前記目標基本燃料噴射量Fbasetと、目標空燃比abyfr(k)の積に等しい、という関係が成立する。従って、目標基本燃料噴射量Fbasetは、一般に、下記(13)式に従って表すことができる。
Fbaset=(abyfs/abyfr(k))・Fi ・・・(13)
ここで、上述したように、今回の補正前基本燃料噴射量Fbaseb(k)に基本燃料噴射量補正係数KFを乗じた値が前記(13)式に従って求められる目標基本燃料噴射量Fbasetと等しくなるように同補正係数KFが設定されるから、同補正係数KFは下記(14)式に従って設定することができる。
KF=Fbaset/Fbaseb(k) ・・・(14)
ところで、燃料の噴射(噴射指示)は、吸気行程中(或いは吸気行程よりも前の時点)にて実行され、噴射された燃料は、その後に到来する圧縮上死点近傍の時点で燃焼室内にて着火(燃焼)させられる。この結果、発生する排ガスは、排気弁を介して燃焼室から排気通路へと排出され、その後、排気通路内を移動していくことで上流側空燃比センサ(の検出部)に到達する。更に、上流側空燃比センサの検出部に到達した排ガスの空燃比の変化が同センサの出力値の変化として現れるまでには所定の時間を要する。
以上のことから、燃料の噴射指示から、同噴射指示により噴射された燃料の燃焼に基づく排ガスの空燃比が上流側空燃比センサ66の出力値Vabyfsとして現れるまでには、燃焼行程に係わる遅れ(行程遅れ)、排気通路内での排ガスの移動に係わる遅れ(輸送遅れ)、及び上流側空燃比センサの応答に係わる遅れ(応答遅れ)の和として表される遅れ時間LBが必要である。換言すれば、上流側空燃比センサ66による検出空燃比abyfsは、遅れ時間LB前に実行された燃料の噴射指示に基づいて発生した排ガスの空燃比を表す値となる。
従って、前記(13)式に従って目標基本燃料噴射量Fbasetが計算される際、検出空燃比abyfsとして今回の検出空燃比abyfs(k)が使用される一方で、指令燃料噴射量Fiとしては、現時点(具体的には、今回のFi(k)の噴射指示開始時点)から遅れ時間LBに相当するMBストローク(MB回の吸気行程)前に実行された燃料の噴射指示に係わる指令燃料噴射量である現時点からMBストローク前の指令燃料噴射量Fi(k−MB)が使用されることが好ましい。
そして、上述した行程遅れ、及び輸送遅れに係る時間は、筒内吸入空気量Mcの増加に応じて短くなるとともに、輸送遅れに係る時間は、運転速度NEの上昇に応じて短くなる傾向がある。従って、前記遅れ時間LB(従って、ストローク数MB)は、筒内吸入空気量Mc(k)と、運転速度NEと、図7にグラフにより示した、運転速度NE及び筒内吸入空気量Mcと、ストローク数MBとの関係を規定するテーブルMapMB(Mc,NE)と、に基づいて求めることができる。
また、機関が過渡運転状態にある場合、検出空燃比abyfs、指令燃料噴射量Fi、及び補正前基本燃料噴射量Fbasebが別個独立に所定の周波数以上の高周波数で大きく変動し得る。このような場合、前記(13)式、及び前記(14)式に示した関係が維持され得なくなる可能性がある。従って、安定した基本燃料噴射量の補正を実現するためにローパスフィルタ処理を用いることが好ましい。以上のことから、基本燃料噴射量補正係数設定手段A18は、その機能ブロック図である図8に示したようにA18a〜A18dの各機能ブロックを含んで構成されている。
指令燃料噴射量遅延手段A18aは、ROM72に記憶されている上述したテーブルMapMB(Mc,NE)と、今回の筒内吸入空気量Mc(k)と、現時点での運転速度NEとに基づいて上述のストローク数MBを求める。そして、指令燃料噴射量遅延手段A18aは、指令燃料噴射量算出手段A6により吸気行程毎に求められRAM73に記憶されている指令燃料噴射量Fiのうち、現時点からMBストローク前の値をRAM73から読み出し、これを指令燃料噴射量Fi(k−MB)として設定する。
目標基本燃料噴射量算出部A18bは、前記(13)に相当する下記(15)式に従って、検出空燃比abyfs(k)の値を今回の目標空燃比abyfr(k)で除することで得られる値に、指令燃料噴射量Fi(k−MB)の値を乗じることで目標基本燃料噴射量Fbasetを求める。
Fbaset=(abyfs(k)/abyfr(k))・Fi(k−MB) ・・・(15)
基本燃料噴射量補正係数設定部A18cは、上記(14)に相当する下記(16)式に従って、目標基本燃料噴射量算出部A18bにより求められた目標基本燃料噴射量Fbasetを補正前基本燃料噴射量Fbaseb(k)で除することで、ローパスフィルタ処理前の基本燃料噴射量補正係数KFbを求める。
KFb=Fbaset/Fbaseb(k) ・・・(16)
ローパスフィルタA18dは、ラプラス演算子sを用いてその特性を表した下記(17)式に示すように、一次のフィルタである。下記(17)式において、τは時定数である。このローパスフィルタA18dは、ディジタルフィルタであって、後述する鈍し制御定数設定手段A19により変更・設定される鈍し制御定数n(応答性に関する値)に応じて時定数τが変更されるようになっている。
1/(1+τ・s) ・・・(17)
ローパスフィルタA18dは、基本燃料噴射量補正係数設定部A18cにより求められたローパスフィルタ処理前の基本燃料噴射量補正係数KFbの値を入力とし、下記(18)式に従って、前記KFbの値をローパスフィルタ処理した後の値である基本燃料噴射量補正係数KF(k)を出力する。下記(18)式において、KF(k−1)は、前回の出力値である。nは、前記鈍し制御定数であって、「1」以上の値に設定される。時定数τは、鈍し制御定数nと上記演算周期の積に比例するから、鈍し制御定数nの値が大きいほど時定数τが大きくなる。
KF(k)=((n−1)/n)・KF(k−1)+(1/n)・KFb ・・・(18)
以上が基本燃料噴射量補正係数の設定方法であり、補正後基本燃料噴射量算出手段A5、及び基本燃料噴射量補正係数設定手段A18が前記基本燃料噴射量補正手段に相当する。
<基本燃料噴射量補正係数の記憶処理>
内燃機関の暖気運転中等、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合」においては、検出空燃比abyfsが排気ガスの空燃比を精度良く表す値とならない。このような場合、検出空燃比abyfsの値を使用して前記(15)式〜(18)式に従って算出される基本燃料噴射量補正係数KFの値も、補正前基本燃料噴射量Fbaseb(k)を、目標基本燃料噴射量Fbasetになるように精度良く補正するための値とならない。従って、このような場合、前記(15)式〜(18)式に従って算出される基本燃料噴射量補正係数KFは補正前基本燃料噴射量Fbaseb(k)の補正に使用されるべきでない。
そこで、本装置は、「上流側空燃比センサ66の出力値Vabyfsが正常な値となる場合(具体的には、後述するメインフィードバック条件が成立する場合)」に限り、前記(15)式〜(18)式に従って計算された基本燃料噴射量補正係数KFを使用して補正前基本燃料噴射量Fbaseb(k)を補正していくとともに、計算された基本燃料噴射量補正係数KFの値を逐次バックアップRAM74に記憶・更新していく。
ここで、吸入空気流量Gaが増大(従って筒内吸入空気量Mcも増大)すると、エアフローメータ61によるGaの測定誤差も当然大きくなる等、基本燃料噴射量の誤差が筒内吸入空気量Mcに応じて増大していく(従って、基本燃料噴射量補正係数KFの値が筒内吸入空気量Mcに応じて増大していく)傾向がある。そこで、本装置は、図9に示すように、筒内吸入空気量Mcのとり得る範囲を複数の(本例では、4つの)分類に区分する。そして、本システムは、新たな基本燃料噴射量補正係数KFを計算する毎に、今回の筒内吸入空気量Mc(k)が属する分類を選択するとともに、同選択された分類に対応する基本燃料噴射量補正係数KFmem(m)(m:1,2,3,4)の値を前記計算された新たな基本燃料噴射量補正係数KFの値に更新・記憶していく。
一方、本装置は、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合(具体的には、後述するメインフィードバック条件が成立しない場合)」においては、今回の筒内吸入空気量Mc(k)が属する分類を選択するとともに、バックアップRAM74に記憶されている基本燃料噴射量補正係数KFmem(m)(m:1,2,3,4)のうち同選択された分類に対応する値を基本燃料噴射量補正係数記憶値KFmemとして設定する。
そして、前記(15)式〜(18)式に従って計算される基本燃料噴射量補正係数KF(k)に代えて基本燃料噴射量補正係数記憶値KFmemを利用して補正前基本燃料噴射量Fbaseb(k)を補正していく。これにより、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合」においても、補正前基本燃料噴射量Fbaseb(k)を、ある程度正確に目標基本燃料噴射量Fbasetに一致させていくことができ、この結果、基本燃料噴射量の誤差がある程度補償されていく。
但し、パージが行われている場合、このパージによる空燃比制御系に対する外乱が入った状態の基本燃料噴射量補正係数KFの値は、「上流側空燃比センサ66の出力値Vabyfsが正常な値とならない場合」のための補正値として使用すべきでない。従って、パージが行われていない場合に限り、上述の基本燃料噴射量補正係数KFのバックアップRAM74への記憶・更新が行われる。
<エバポガス濃度の取得>
先に説明した通り、パージ補正係数KPを算出するためにエバポガス濃度Cevaが取得される必要がある。本装置は、下記(19)式に従って、エバポガス濃度Cevaを取得する。下記(19)式は、前記(10)式と前記(11)式からエバポガス量Gevaを消去してエバポガス濃度Cevaについて解くことで得られる。以下、パージ余剰燃料量ΔFbaseの取得方法について説明する。
Ceva=((1−PGR)/(Mc(k)・PGR))・ΔFbase ・・・(19)
筒内吸入空気量Mc(k)が一定である場合、非パージ時とパージ時との間の目標基本燃料噴射量Fbaset(=KF(k)・KP(k−MA)・Fbaseb0(k))の差は、基本燃料噴射量の誤差の影響が除外された、純粋なパージ余剰燃料量ΔFbaseと一致する。また、筒内吸入空気量Mc(k)が一定である場合、非パージ時基本燃料噴射量Fbaseb0(k)は一定である。従って、非パージ時では、パージ補正係数KP(k−MA)=1となることを考慮するとともに、非パージ時のKF値をKFnonpurge、パージ時のKF値をKFpurgeとすると、パージ余剰燃料量ΔFbaseは下記(20)式にて表すことができる。
ΔFbase=(KFnonpurge−KFpurge・KP(k−MA))・Fbaseb0(k) ・・・(20)
従って、パージ時の定常運転状態において、KFpurgeの値を現時点での基本燃料噴射量補正係数KF(k)の値に、KFnonpurgeの値を、現時点での筒内吸入空気量Mc(k)に対応する上記基本燃料噴射量補正係数記憶値KFmemに設定することにより前記(20)式に従ってパージ余剰燃料量ΔFbaseが求められる。以上が、エバポガス濃度Cevaの取得方法である。エバポガス濃度Cevaは、後述するタイミング毎に更新されていく。このようにして更新されるエバポガス濃度Cevaの最新値(以下、「エバポガス濃度学習値」と称呼する。)が、前記(12)式にて使用されて、パージ補正係数設定手段A16は、パージ補正係数KP(k)を設定する。
<ローパスフィルタの時定数の設定・変更>
基本燃料噴射量補正係数KFによる安定した基本燃料噴射量の補正を実現するためには、基本燃料噴射量補正係数設定手段A18内のローパスフィルタA18dの時定数τは、基本燃料噴射量の誤差の補償における迅速性を阻害しない範囲で可能な限り大きい値(以下、「値τ1」と称呼する。)に設定されることが好ましい。
ところで、上述したエバポガス濃度学習値には必ず推定誤差が含まれている。従って、エバポガス濃度学習値を使用して上記(12)式に従って設定されるパージ補正係数KPにはパージ時においてエバポガス濃度学習値の誤差に起因する誤差が含まれている。このことは、パージが開始された場合において空燃比制御系における大きな外乱となる。
また、パージの開始・停止により、目標パージ率PGRがステップ状に変化することで上記(12)式に従って設定されるパージ補正係数KPもステップ状に変化する。一方、パージされたエバポガスが吸気通路中においてVSV49から燃焼室25まで流動する過程におけるエバポガスの分散等の影響により、燃焼室25に吸入されるガスの実際のパージ率は、ステップ状に変化する目標パージ率PGRに或る遅れをもって追従する。
従って、目標パージ率PGRを使用して上記(12)式に従って設定されるパージ補正係数KPにはパージの開始・停止後のそれぞれの短期間内において上記吸気通路でのエバポガスの分散に起因する誤差が含まれている。このことは、パージが開始・停止された場合において空燃比制御系における大きな外乱となる。
以上のようなパージ補正係数KPの誤差に基づく空燃比制御系における大きな外乱が発生した場合においてもローパスフィルタA18dの時定数τが前記値τ1に維持されると、ローパスフィルタA18dの応答遅れが大きいことから、基本燃料噴射量補正係数KFが一時的に適切な値と大きく異なる場合が発生し得る。この場合、上記メインフィードバック制御による空燃比の急変に対する迅速な補償が逆に阻害され、この結果、一時的に空燃比が目標空燃比abyfrから大きく偏移する事態が発生し得る。
そこで、鈍し制御定数設定手段A19は、前記(18)式に使用される鈍し制御定数nを、通常、前記値τ1に相当する値n0に設定するとともに、パージが開始・停止された時点以降、一時的に小さくする。以下、このことを図10を参照しながら説明する。
図10は、吸入空気流量Gaが一定の場合において、時刻t1にてパージが開始され、時刻t1以降継続していたパージが時刻t4にて停止された場合における各種変数等の変化の一例を示したタイムチャートである。(B)に示すXPGは、上述したパージ実行条件が成立しているとき(即ち、パージ時)には「1」に設定され、パージ実行条件が成立していないとき(即ち、非パージ時)には「0」に設定されるパージ実行フラグである。
この例では、パージが開始される時刻t1以前において、(G)に示すように、空燃比A/Fが目標空燃比abyfrに維持されていて、(F)に示すように、基本燃料噴射量補正係数KFが値KF0に維持されている。この値KF0の「1」に対する偏移量は、基本燃料噴射量の誤差の大きさに相当している。また、この例では、エバポガス濃度学習値が真値より大きい方向にずれた誤差を含んでいるものとする。
この場合、(C)に示すように、パージ補正係数KP(k)は、フラグXPGの値に連動して、非パージ時である時刻t1以前と時刻t4以降は「1」に維持され、パージ時である時刻t1〜t4の間は、エバポガス濃度学習値と、吸入空気流量Ga(一定)から決定される目標パージ率PGR(≠0、一定)とを使用して上記(12)式に従って設定される値KP0(0<KP0<1)に維持される。
従って、(D)に実線にて示すように、補正前基本燃料噴射量Fbasebの算出(従って、指令燃料噴射量Fiの算出)に使用されるパージ補正係数KP(k−MA)は、パージが開始された時刻t1からMAストロークに相当する輸送遅れ時間L1が経過した時刻t2にて「1」から値KP0にステップ状に変化し、パージが停止された時刻t4からMAストロークに相当する輸送遅れ時間L2が経過した時刻t5にて値KP0から「1」にステップ状に変化する。
一方、(D)の一点鎖線は、真のエバポガス濃度の値と、燃焼室25に吸入されるガスの実際のパージ率とを使用して上記(12)式に従って設定されるパージ補正係数(以下、「必要パージ補正係数」と称呼する。)の変化を示している。この必要パージ補正係数は、上述した「エバポガス濃度学習値の誤差」、及び「吸気通路でのエバポガスの分散」に起因するパージ補正係数KPの誤差の影響が除外された、パージ時における空燃比を目標空燃比abyfrとするために非パージ時基本燃料噴射量Fbaseb0に乗算されるべき真のパージ補正係数である。
(D)に一点鎖線にて示すように、必要パージ補正係数は、時刻t2以降の短期間内において、上述した吸気通路でのエバポガスの分散等に起因して、ステップ状に減少したパージ補正係数KP(k−MA)に或る遅れをもって追従する。加えて、エバポガス濃度学習値は真のエバポガス濃度の値より大きい方向にずれているから、時刻t2以降において、必要パージ補正係数は、「1」から前記値KP0よりも大きい値KP1(0<KP1<1)に収束していく。
この結果、時刻t2の直後から、パージ補正係数KP(k−MA)は必要パージ補正係数よりも小さくなり、パージ補正係数KPに空燃比を目標空燃比abyfrよりもリーンとする方向の誤差が発生する。このことは、空燃比制御系における大きな外乱となる。
これにより、(G)に示すように、時刻t2まで目標空燃比abyfrに維持されていた空燃比A/Fが、時刻t2の直後からリーン方向へ偏移を開始する。この結果、(F)に示すように、時刻t2まで値KF0に維持されていた基本燃料噴射量補正係数KFが、時刻t2の直後から、値KF1(>値KF0)に向けて変化を開始する。この基本燃料噴射量補正係数KFの値KF0から値KF1への変化は、エバポガス濃度学習値の誤差に起因するパージ補正係数KPの誤差(値KP0の値KP1からの偏移)に基づくものである。
ここで、(E)に破線にて示すように、鈍し制御定数nが常に前記値n0に維持される場合について考える。この場合、ローパスフィルタA18dの応答遅れが大きいことから、(F)に破線にて示すように、基本燃料噴射量補正係数KFは、メインフィードバック制御による空燃比の急変に対する迅速な補償を阻害しながら緩やかに値KF1に向けて収束していく。この結果、(G)に破線にて示すように、空燃比A/Fが、時刻t2の直後からリーン方向へ一時的に大きく偏移する。
これに対し、鈍し制御定数設定手段A19は、(E)に実線にて示すように、時刻t2から所定期間α1だけ鈍し制御定数nを値n0から値n1(<n0)に切換える。これにより、ローパスフィルタA18dの時定数τが小さくなって応答遅れが小さくなるから、(F)に実線にて示すように、基本燃料噴射量補正係数KFは、メインフィードバック制御による空燃比の急変に対する迅速な補償をほとんど阻害することなく比較的急激に値KF1に向けて収束していく。この結果、(G)に実線にて示すように、空燃比A/Fが時刻t2の直後からリーン方向へ一時的に大きく偏移する程度を小さくすることができる。
同様に、時刻t5以降の短期間内において、(D)に一点鎖線にて示すように、前記必要パージ補正係数は上述した吸気通路でのエバポガスの分散等に起因して、ステップ状に増加したパージ補正係数KP(k−MA)に或る遅れをもって追従する。この結果、時刻t5の直後から、パージ補正係数KP(k−MA)は必要パージ補正係数よりも大きくなり、パージ補正係数KPに空燃比を目標空燃比abyfrよりもリッチとする方向の誤差が発生する。このことは、空燃比制御系における大きな外乱となる。
これにより、(G)に示すように、時刻t5まで目標空燃比abyfrに維持されていた空燃比A/Fが、時刻t5の直後からリッチ方向へ偏移を開始する。この結果、(F)に示すように、時刻t5まで値KF1に維持されていた基本燃料噴射量補正係数KFが、時刻t5の直後から、値KF0に向けて変化を開始する。
この場合、鈍し制御定数設定手段A19は、(E)に実線にて示すように、時刻t5から所定期間α2だけ鈍し制御定数nを値n0から値n2(=n1)に切換える。これにより、基本燃料噴射量補正係数KF、及び空燃比A/Fは、(F),(G)に実線にて示すように変化する。
この結果、(E),(F),(G)に破線にて示される「鈍し制御定数nが前記値n0に維持される場合」に比して、上述した時刻t2の直後の場合と同様の理由により、空燃比A/Fが時刻t5の直後からリッチ方向へ一時的に大きく偏移する程度を小さくすることができる。
このように、鈍し制御定数設定手段A19は、鈍し制御定数nを、通常、「ローパスフィルタA18dの時定数τが前記値τ1となる」値n0に設定するとともに、パージが開始された時点から輸送遅れ時間L1が経過した時点からの所定期間α1、及びパージが停止された時点から輸送遅れ時間L2が経過した時点からの所定期間α2だけ、鈍し制御定数nを値n0よりも小さくすることでローパスフィルタA18dの時定数τを前記値τ1よりも小さくする。
なお、前記所定期間α1,α2は、空燃比A/Fに乱れが発生してから空燃比A/Fが目標空燃比abyfrに収束するまでに要する時間に設定され、本例では、鈍し制御定数nが値n1(=n2)の場合のローパスフィルタA18dの時定数τの3倍に設定されている。以上が、本装置による空燃比制御の概要である。
(実際の作動)
次に、前記空燃比制御装置の実際の作動について説明する。以下、説明の便宜上、「MapX(a1,a2,…)」は、a1,a2,…を引数とする値Xを求めるためのテーブルを表すものとする。また、引数の値がセンサの検出値である場合、現在値が使用される。
<空燃比フィードバック制御>
CPU71は、図11にフローチャートにより示した指令燃料噴射量Fiの計算、及び燃料噴射の指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が前記所定クランク角度になると、CPU71は「Fiの計算・噴射」ルーチン1100の処理を開始する。
まず、ステップ1105にて、テーブルMapMc(NE,Ga)に基づいて、今回の吸気行程を迎える気筒(以下、「燃料噴射気筒」と云うこともある。)に吸入された今回の筒内吸入空気量Mc(k)が推定・決定される。次に、CPU71はステップ1110に進んで、前記筒内吸入空気量Mc(k)を今回の目標空燃比abyfr(k)で除することにより、今回の非パージ時基本燃料噴射量Fbaseb0(k)を決定する。
次いで、CPU71はステップ1115に進み、テーブルMapMA(Mc(k))(図6を参照)に基づいてストローク数MAを決定する。続いて、CPU71はステップ1120に進んで、後述するルーチンにて算出され吸気行程毎にRAM73に記憶されているパージ補正係数KPのうち、現時点からMAストローク前のパージ補正係数KP(k−MA)を先のステップ1110にて決定された非パージ時基本燃料噴射量Fbaseb0(k)に乗じることにより、今回の補正前基本燃料噴射量Fbaseb(k)を求める。
次に、CPU71はステップ1125に進んで、メインフィードバック条件が成立しているか否かを判定する。ここで、メインフィードバック条件は、例えば、機関の冷却水温THWが第1所定温度以上であって、上流側空燃比センサ66が正常(活性状態となっていることを含む)であって、機関の一回転当りの吸入空気量(負荷)が所定値以下であるときに成立する。即ち、メインフィードバック条件が成立することは、上述した「上流側空燃比センサ66の出力値Vabyfsが正常な値となる場合」に対応する。
メインフィードバック条件が成立している場合(ステップ1125=「Yes」)、CPU71はステップ1130に進み、前記補正前基本燃料噴射量Fbaseb(k)に、後述するルーチンにて求められている基本燃料噴射量補正係数KF(k)の最新値を乗じることにより補正後基本燃料噴射量Fbaseを決定する。
一方、メインフィードバック条件が成立していない場合(ステップ1125=「No」)、CPU71はステップ1135に進み、基本燃料噴射量補正係数記憶値KFmemを、バックアップRAM74に記憶されている基本燃料噴射量補正係数KFmem(m)(m:1,2,3,4)のうち筒内吸入空気量Mc(k)の値から選択されたKFmem(m)の値に決定する。続いて、CPU71はステップ1140に進み、前記補正前基本燃料噴射量Fbaseb(k)に、前記基本燃料噴射量補正係数記憶値KFmemを乗じることにより補正後基本燃料噴射量Fbaseを決定する。
次に、CPU71はステップ1145に進み、前記(1)式に従って、上述のように求めた補正後基本燃料噴射量Fbaseに、後述するルーチンにて(前回の燃料噴射時点にて)求められている最新のメインフィードバック補正量DFi_mainと、後述するルーチンにて(前回の燃料噴射時点にて)求められている最新のサブフィードバック補正量DFi_subとを加えることにより今回の指令燃料噴射量Fi(k)を決定する。この、指令燃料噴射量Fi(k)の値は、上述したように、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
続いて、CPU71はステップ1150に進んで、前記指令燃料噴射量Fi(k)の燃料の噴射指示を行った後、ステップ1195に進んで本ルーチンを一旦終了する。以上により、補正前基本燃料噴射量Fbaseb(k)が上述した目標基本燃料噴射量Fbasetに一致するように補正されるとともに、同補正された補正前基本燃料噴射量Fbaseb(k)(即ち、補正後基本燃料噴射量Fbase)がメインフィードバック補正、及びサブフィードバック補正された後の指令燃料噴射量Fi(k)の燃料の噴射指示が燃料噴射気筒に対してなされる。
<メインフィードバック補正量の計算>
次に、前記メインフィードバック制御において前記メインフィードバック補正量DFi_mainを算出する際の作動について説明すると、CPU71は図12にフローチャートにより示した「メインフィードバック補正量DFi_mainの計算」ルーチン1200を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1200の処理を開始し、まず、ステップ1205にて、メインフィードバック条件が成立しているか否かを判定する。このメインフィードバック条件は、先の図11のステップ1125におけるメインフィードバック条件と同一である。
いま、メインフィードバック条件が成立しているものとして説明を続けると、CPU71はステップ1205にて「Yes」と判定してステップ1210に進み、テーブルMapabyfs(Vabyfs)(図3を参照)に基づいて、今回の検出空燃比abyfs(k)を求める。
次に、CPU71はステップ1215に進んで、テーブルMapMB(Mc(k),NE)(図7を参照)に基づいて、ストローク数MBを決定する。次いで、CPU71はステップ1220に進み、前記求めた検出空燃比abyfs(k)から現時点からMBストローク(MB回の吸気行程)前の目標空燃比であるabyfr(k−MB)を減ずることにより、上流側空燃比偏差DAFを求める。
続いて、CPU71はステップ1225に進み、前記上流側空燃比偏差DAFをハイパスフィルタA14によりハイパスフィルタ処理してハイパスフィルタ通過後上流側空燃比偏差DAFhiを取得する。次に、CPU71はステップ1230に進んで、前記(7)式に従ってメインフィードバック補正量DFi_mainを求めた後、ステップ1295に進んで本ルーチンを一旦終了する。
以上により、メインフィードバック補正量DFi_mainが求められ、このメインフィードバック補正量DFi_mainが前述した図11のステップ1145により指令燃料噴射量Fi(k)に反映されることで上述したメインフィードバック制御に基づく機関の空燃比制御が実行される。
一方、ステップ1205の判定時において、メインフィードバック条件が不成立であると、CPU71は同ステップ1205にて「No」と判定してステップ1235に進んでメインフィードバック補正量DFi_mainの値を「0」に設定し、その後ステップ1295に進んで本ルーチンを一旦終了する。このように、メインフィードバック条件が不成立であるときは、メインフィードバック補正量DFi_mainを「0」としてメインフィードバック制御に基づく空燃比の補正を行わない。
<サブフィードバック補正量の計算>
次に、前記サブフィードバック制御において前記サブフィードバック補正量DFi_subを算出する際の作動について説明すると、CPU71は図13にフローチャートにより示した「サブフィードバック補正量DFi_subの計算」ルーチン1300を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1300の処理を開始し、まず、ステップ1305にて、サブフィードバック条件が成立しているか否かを判定する。サブフィードバック条件は、例えば、前述したステップ1125(及び、ステップ1205)でのメインフィードバック条件に加え、機関の冷却水温THWが前記第1所定温度よりも高い第2所定温度以上のときに成立する。
いま、サブフィードバック条件が成立しているものとして説明を続けると、CPU71はステップ1305にて「Yes」と判定してステップ1310に進み、前記(2)式に従って、下流側目標値Voxs_refから現時点の下流側空燃比センサ67の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
次に、CPU71はステップ1315に進んで、前記出力偏差量DVoxsをローパスフィルタA9によりローパスフィルタ処理してローパスフィルタ通過後出力偏差量DVoxs_lowを取得し、続くステップ1320にて、下記(21)式に基づきローパスフィルタ通過後出力偏差量DVoxs_lowの微分値DDVoxs_lowを求める。
DDVoxs_low=(DVoxs_low−DVoxs_low1)/dt ・・・(21)
前記(21)式において、DVoxs_low1は前回の本ルーチン実行時において後述するステップ1335にて設定(更新)されたローパスフィルタ通過後出力偏差量DVoxs_lowの前回値である。また、dtは本ルーチンが前回実行された時点から今回実行された時点までの時間である。
次いで、CPU71はステップ1325に進み、前記(4)式に従って、サブフィードバック補正量DFi_subを求めた後、ステップ1330に進んで、その時点におけるローパスフィルタ通過後出力偏差量の積分値SDVoxs_lowに前記ステップ1315にて求めたローパスフィルタ通過後出力偏差量DVoxs_lowを加えて、新たなローパスフィルタ通過後出力偏差量の積分値SDVoxs_lowを求め、続くステップ1335にて、前記ステップ1315にて求めたローパスフィルタ通過後出力偏差量DVoxs_lowをローパスフィルタ通過後出力偏差量DVoxs_lowの前回値DVoxs_low1として設定した後、ステップ1395に進んで本ルーチンを一旦終了する。
以上により、サブフィードバック補正量DFi_subが求められ、このサブフィードバック補正量DFi_subが前述した図11のステップ1145により指令燃料噴射量Fi(k)に反映されることで上述したサブフィードバック制御に基づく機関の空燃比制御が実行される。
一方、ステップ1305の判定時において、サブフィードバック条件が不成立であると、CPU71は同ステップ1305にて「No」と判定してステップ1340に進んでサブフィードバック補正量DFi_subの値を「0」に設定し、その後、ステップ1395に進んで本ルーチンを一旦終了する。このように、サブフィードバック条件が不成立であるときは、サブフィードバック補正量DFi_subを「0」としてサブフィードバック制御に基づく空燃比の補正を行わない。
<鈍し制御定数の設定>
次に、前記鈍し制御定数nを設定・変更する際の作動について説明すると、CPU71は図14にフローチャートにより示した「鈍し制御定数nの設定」ルーチン1400を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1400の処理を開始し、まず、ステップ1402にて、メインフィードバック条件が成立しているか否かを判定する。このメインフィードバック条件は、先の図11のステップ1125(及び、図12のステップ1205)におけるメインフィードバック条件と同一である。
いま、メインフィードバック条件が成立していて、且つ、パージ実行条件が成立したもの(図10の時刻t1を参照)として説明を続けると、CPU71はステップ1402にて「Yes」と判定してステップ1404に進み、パージ実行条件が成立中か否かを判定する。現時点は、パージ実行条件が成立した直後である。従って、CPU71はステップ1404にて「Yes」と判定してステップ1406に進み、「0」に維持されていたパージ実行フラグXPGの値を「1」に変更する。
次に、CPU71はステップ1408に進んで、パージ実行フラグXPGの値が「0」から「1」に変化したか否かを判定する。現時点は、パージ実行フラグXPGの値が「0」から「1」に変更された直後であるから、CPU71はステップ1408にて「Yes」と判定してステップ1410に進み、上記輸送遅れL1(図10を参照)に相当するストローク数M1を、先の図11のステップ1115にて決定されたストローク数MAに設定する。
次いで、CPU71はステップ1412に進んで、パージ開始時点からのストローク数をカウントするためのカウンタzの値を「0」とする。続いて、CPU71はステップ1414に進み、カウンタzが前記ストローク数M1以上であるか否かを判定する。
現時点では、カウンタzが「0」であるから、CPU71はステップ1414にて「No」と判定してステップ1416に進んで、鈍し制御定数nを前記値n0に設定する。そして、CPU71はステップ1495に進み、本ルーチンを一旦終了する。以降、CPU71は、ステップ1408に進む毎に「No」と判定してステップ1418に進んでカウンタzを「1」づつインクリメントするようになる。即ち、ステップ1418にてインクリメントされていくカウンタzがストローク数M1に達しない限りにおいて、CPU71は、ステップ1402〜1408,1418,1414,1416の処理を繰り返して実行する。この結果、鈍し制御定数nは値n0に維持される(図10の時刻t1〜t2を参照)。
カウンタzがストローク数M1に達すると(図10の時刻t2を参照)、CPU71はステップ1414に進んだとき「Yes」と判定してステップ1420に進んで、鈍し制御定数nを値n1(<値n0)に設定する。
次に、CPU71はステップ1422に進んで、カウンタzがストローク数M1に達した時点からの経過時間TIME1を取得する。経過時間TIME1は、電気制御装置70に内蔵された図示しないタイマによって計時される。次いで、CPU71はステップ1424に進み、経過時間TIME1が前記所定期間α1より短いか否かを判定する。
現時点では、カウンタzがストローク数M1に達した直後であるから、CPU71はステップ1424にて「Yes」と判定してステップ1495に進み、本ルーチンを一旦終了する。以降、経過時間TIME1が所定期間α1より短い限りにおいて、CPU71はステップ1402〜1408,1418,1414〜1424の処理を繰り返し実行する。この結果、鈍し制御定数nは値n1に維持される(図10の時刻t2〜t3を参照)。
経過時間TIME1が所定期間α1に達すると(図10の時刻t3を参照)、CPU71はステップ1424に進んだとき「No」と判定して、上述した1416に進み、鈍し制御定数nを値n1に代えて値n0に設定するようになる。以降、パージ実行条件が成立中である限りにおいて、CPU71はステップ1402〜1408,1418,1414〜1424,1416の処理を繰り返し実行する。この結果、鈍し制御定数nは値n0に維持される(図10の時刻t3〜t4を参照)。
次に、この状態にて、パージ実行条件が成立しなくなった場合(図10の時刻t4を参照)について説明する。この場合、CPU71はステップ1404に進んだとき「No」と判定してステップ1426以降の処理を実行するようになる。
ここで、ステップ1426〜ステップ1436の処理は、上述したステップ1406〜ステップ1416にそれぞれ対応しているから、これらの詳細な説明は省略する。これにより、上述したパージ実行条件成立中の場合と同様、鈍し制御定数nは、カウンタzが上記輸送遅れ時間L2(図10を参照)に相当するストローク数M2に達するまでの間は値n0に維持され(図10の時刻t4〜t5を参照)、カウンタzがストローク数M2に達した時点から前記所定期間α2が経過するまでの間は値n2(=n1)に維持され(図10の時刻t5〜t6を参照)、所定期間α2が経過した時点以降は値n0に戻される(図10の時刻t5以降、並びに、時刻t1以前を参照)。
一方、ステップ1402の判定時において、メインフィードバック条件が不成立であると、CPU71は同ステップ1402にて「No」と判定して直ちにステップ1495に進んで本ルーチンを一旦終了する。このように、メインフィードバック条件が不成立であるときは、鈍し制御定数nの値は、前回の本ルーチン実行時に設定された値に維持される。このように設定される鈍し制御定数nは、後述する基本燃料噴射量補正係数KFの計算に用いられる。
<パージ補正係数の計算>
次に、前記パージ補正係数KPを計算する際の作動について説明すると、CPU71は図15にフローチャートにより示した「パージ補正係数KPの計算」ルーチン1500を、燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行するようになっている。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1500の処理を開始し、まず、ステップ1505にて、パージ実行フラグXPGの値が「1」であるか否かを判定する。
先ず、パージ実行フラグXPGの値が「0」である場合(即ち、パージ実行条件が成立していない場合。図10の時刻t1以前、及び時刻t4以降を参照。)について説明する。この場合、CPU71はステップ1505にて「No」と判定してステップ1510に進み、目標パージ率PGRを「0」に設定する。これにより、VSV49は閉状態に維持される。
次いで、CPU71はステップ1515に進んで、パージ補正係数KP(k)を「1」に設定した後、ステップ1595に進んで本ルーチンを一旦終了する。このように、パージ実行条件が成立していない場合、パージ補正係数KP(k)は「1」に維持される。このパージ補正係数KP(k)の値(=1)は、上述したように、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
次に、パージ実行フラグXPGの値が「1」である場合(即ち、パージ実行条件が成立している場合。図10の時刻t1〜t4を参照。)について説明する。この場合、CPU71はステップ1505にて「No」と判定してステップ1520に進み、テーブルMapPGR(Ga)に基づいて目標パージ率PGRを求める。これにより、VSV49は、実際のパージ率が現時点での吸入空気流量Gaに応じた目標パージ率PGR(≠0)に一致するようにデューティ制御され、この結果、パージが実行される。
続いて、CPU71はステップ1525に進んで、エバポガス濃度学習値の更新条件が成立したか否かを判定する。上述したように、エバポガス濃度学習値の更新は、パージ実行中において基本燃料噴射量補正係数KFの値が安定している定常運転状態において実行される必要がある。本例では、エバポガス濃度学習値の更新条件は、機関10が所定の定常運転状態(例えば、運転速度NE、及びアクセルペダル操作量Accpの変動幅が現時点までの所定期間に亘って所定値以下の状態)にあって、パージ補正係数KP(k−MA)≠1であり、且つ、前記経過時間TIME1(図14のステップ1422を参照)が時間αz(≫α1)に達した時点(図10では、時刻t2から時間αzが経過した時点(即ち、時刻t3〜t4の或る時点))で成立する。ここで、時間αzは、基本燃料噴射量補正係数KFに乱れが発生してから基本燃料噴射量補正係数KFが十分に収束するまでに要する時間である。
ステップ1525の判定において、エバポガス濃度学習値の更新条件が成立していない場合、CPU71はステップ1525にて「No」と判定してステップ1545に直ちに進み、先のステップ1520にて求められた目標パージ率PGRと、後述するステップ1540にて更新されているエバポガス濃度Cevaの最新値(エバポガス濃度学習値)と、前記目標空燃比abyfr(k)と、前記(12)式とに基づいてパージ補正係数KP(k)を計算する。このパージ補正係数KP(k)の値(0<KP(k)≦1)は、上述したように、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
一方、ステップ1525の判定において、エバポガス濃度学習値の更新条件が成立した場合、CPU71はステップ1525にて「Yes」と判定してステップ1530に進み、基本燃料噴射量補正係数記憶値KFmemを、後述するルーチンの実行によりバックアップRAM74に記憶されている基本燃料噴射量補正係数KFmem(m)(m:1,2,3,4)のうち図11のステップ1105にて推定・決定された筒内吸入空気量Mc(k)の値から選択された値に設定する。
次いで、CPU71はステップ1535に進んで、前記基本燃料噴射量補正係数記憶値KFmemと、後述するルーチンにて計算されている基本燃料噴射量補正係数KF(k)の最新値と、RAM73に記憶されている現時点からMAストローク前のパージ補正係数KP(k−MA)と、図11のステップ1110にて決定された非パージ時基本燃料噴射量Fbaseb0(k)と、前記(20)式に相当する式とに基づいてパージ余剰燃料量ΔFbaseを求める。
そして、CPU71はステップ1540に進み、前記目標パージ率PGRと、前記筒内吸入空気量Mc(k)と、前記パージ余剰燃料量ΔFbaseと、前記(19)式とに基づいてエバポガス濃度Cevaを更新(即ち、エバポガス濃度学習値を更新)した後、前述のステップ1545に進む。
このように、パージ補正係数KP(k)が計算・記憶されていき、RAM73に記憶されている現時点からMAストローク前のパージ補正係数KP(k−MA)が図11のステップ1120にて使用されていく。加えて、パージ補正係数KP(k)の計算に使用されるエバポガス濃度学習値は、1回のパージ実行期間中において、エバポガス濃度学習値の更新条件が成立した場合に1回のみ更新される。
<基本燃料噴射量補正係数の計算、及び記憶>
次に、前記基本燃料噴射量補正係数KFを計算する際の作動について説明すると、CPU71は図16にフローチャートにより示した「基本燃料噴射量補正係数KFの計算」ルーチン1600を、所定の演算周期Δt0(本例では、8msec)の経過毎に、繰り返し実行するようになっている。従って、所定のタイミングになると、CPU71は前記ルーチン1600の処理を開始し、まず、ステップ1605にて、メインフィードバック条件が成立しているか否かを判定し、「No」と判定する場合、ステップ1695に直ちに進んで本ルーチンを一旦終了する。この場合、基本燃料噴射量補正係数KFの計算、及び基本燃料噴射量補正係数KFの値のバックアップRAM74への記憶処理が実行されない。このメインフィードバック条件は、上記ステップ1125,1205,1402におけるメインフィードバック条件と同一である。
いま、メインフィードバック条件が成立しているものとして説明を続けると、CPU71はステップ1605にて「Yes」と判定してステップ1610に進み、テーブルMapMB(Mc(k),NE)に基づいてストローク数MBを決定する。
次に、CPU71はステップ1615に進んで、図12のステップ1210にて求められている検出空燃比abyfs(k)の最新値と、図11のステップ1110にて使用された目標空燃比abyfr(k)の最新値と、RAM73に記憶されている現時点からMBストローク前の指令燃料噴射量Fi(k−MB)と、前記(15)式とに基づいて目標基本燃料噴射量Fbasetを求める。
次いで、CPU71はステップ1620に進み、前記目標基本燃料噴射量Fbasetと、図11のステップ1120にて求められている補正前基本燃料噴射量Fbaseb(k)の最新値と、前記(16)式とに基づいてローパスフィルタ処理前の基本燃料噴射量補正係数KFbを求める。
続いて、CPU71はステップ1625に進んで、基本燃料噴射量補正係数KF(k−1)と、図14のステップ1416,1420,1436,1440の何れかにて設定されている鈍し制御定数nの最新値と、前記ローパスフィルタ処理前の基本燃料噴射量補正係数KFbと、前記(18)式とに基づいて、前記ローパスフィルタ処理前の基本燃料噴射量補正係数KFbをローパスフィルタ処理して基本燃料噴射量補正係数KF(k)を求める。ここで、基本燃料噴射量補正係数KF(k−1)としては、前回の本ルーチン実行時において後述するステップ1640にて既に更新されている最新値を使用する。
次に、CPU71はステップ1630に進んで、KF値記憶条件が成立したか否かを判定する。基本燃料噴射量補正係数KF値の記憶処理は、非パージ実行中において基本燃料噴射量補正係数KFの値が安定している定常運転状態において実行されることが好ましい。本例では、KF値記憶条件は、機関10が所定の定常運転状態(例えば、運転速度NE、及びアクセルペダル操作量Accpの変動幅が現時点までの所定期間に亘って所定値以下の状態)にあって、パージ補正係数KP(k−MA)=1であり、且つ、前記経過時間TIME2(図14のステップ1442を参照)が前記所定期間α2以上である場合(図10では、時刻t6以降)で成立する。
いま、KF値記憶条件が成立しているものとすると、CPU71はステップ1630にて「Yes」と判定してステップ1635に進んで、前記筒内吸入空気量Mc(k)の最新値から選択されるKFmem(m)(m:1,2,3,4)の値を先のステップ1625にて求めた基本燃料噴射量補正係数KF(k)の値に更新し、同更新されたKFmem(m)の値をバックアップRAM74の対応するメモリに記憶した後、ステップ1640に進む。一方、CPU71はステップ1630にて「No」と判定した場合、ステップ1635の処理を実行することなく直ちにステップ1640に進む。
CPU71はステップ1640に進むと、前記KF(k−1)の値を、今回の本ルーチン実行時において先のステップ1625で求められたKF(k)の値に更新し、ステップ1695に進んで本ルーチンを一旦終了する。
これにより、メインフィードバック条件が成立している場合において、所定の演算周期Δt0の経過毎に、基本燃料噴射量補正係数KF(k)の計算(更新)が実行されていく。そして、前述した図11のルーチンのステップ1130にて、上述のように計算(更新)される基本燃料噴射量補正係数KF(k)の最新値が使用されることで、補正前基本燃料噴射量Fbaseb(k)が補正されていく。加えて、KF値記憶条件が成立している場合、基本燃料噴射量補正係数KF(k)の値のバックアップRAM74への記憶処理が実行されていく。
以上、説明したように、本発明による内燃機関の空燃比制御装置の第1実施形態によれば、燃焼室内に吸入される筒内吸入空気量が一定であるという仮定のもと、指令燃料噴射量Fi(k−MB)と、上流側空燃比センサ66による検出空燃比abyfs(k)の積は、実際の空燃比を目標空燃比abyfr(k)とするために噴射指示すべき燃料の量である目標基本燃料噴射量Fbasetと、目標空燃比abyfr(k)の積に等しい、という関係から目標基本燃料噴射量Fbaset(=(abyfs(k)/abyfr(k))・Fi(k−MB))が求められる。この目標基本燃料噴射量Fbasetを補正前基本燃料噴射量Fbaseb(k)で除した値KFb(=Fbaset/Fbaseb(k))をディジタルフィルタである時定数τのローパスフィルタA18dでローパスフィルタ処理して基本燃料噴射量補正係数KF(k)が求められる(図8を参照)。
そして、この基本燃料噴射量補正係数KF(k)を補正前基本燃料噴射量Fbaseb(k)に乗じることで補正前基本燃料噴射量Fbaseb(k)が補正されていく(即ち、補正後基本燃料噴射量Fbaseが決定されていく)。従って、補正後基本燃料噴射量Fbaseが、空燃比を目標空燃比abyfrとするために噴射指示すべき燃料の量と一致する(近づく)ように決定されていき、この結果、メインフィードバック制御及びサブフィードバック制御とは別に基本燃料噴射量の誤差が迅速に補償されていく。
加えて、ローパスフィルタA18dの時定数τに比例する鈍し制御定数nは、通常、「時定数τが基本燃料噴射量の誤差の補償における迅速性を阻害しない範囲で可能な限り大きい値τ1となる」値n0に設定される。一方、鈍し制御定数nは、空燃比に大きな乱れが発生し得る期間である、パージが開始された時点から輸送遅れ時間L1が経過した時点からの所定期間α1、及びパージが停止された時点から輸送遅れ時間L2が経過した時点からの所定期間α2だけ、値n0よりも小さくされ、これにより時定数τが前記値τ1よりも小さくされる(図10を参照)。この結果、通常は、上記基本燃料噴射量補正係数KF(k)による安定した基本燃料噴射量の補正が実現されるとともに、パージの開始・停止に伴って空燃比に大きな乱れが発生し得る場合、メインフィードバック制御による空燃比の急変に対する迅速な補償が阻害され難くなって、一時的なエミッションの排出量の増大を抑制することができる。
(第2実施形態)
次に、本発明の第2実施形態に係る空燃比制御装置について説明する。この第2実施形態は、実際の空燃比の目標空燃比abyfrからの偏移をもたらす機関10の運転状態の変化があった時点以降における所定期間に亘って鈍し制御定数nを変更することで前記ローパスフィルタA18dの時定数τを小さくする点では第1実施形態と同じであるが、前記機関10の運転状態の変化があった時点として、パージ時において吸入空気流量Gaが急変した時点を用いる点で第1実施形態と異なる。
前述したように、目標パージ率PGRは、吸入空気流量が大きくなるほど大きくなるように決定される。従って、パージ時において吸入空気流量Gaが急変すると、目標パージ率PGRがステップ状に変化し、この結果、上記(12)式に従って設定されるパージ補正係数KPもステップ状に変化する。これにより、前述したパージの開始・停止の直後と同様、上記吸気通路でのエバポガスの分散等の影響により、燃焼室25に吸入されるガスの実際のパージ率は、ステップ状に変化する目標パージ率PGRに或る遅れをもって追従する。
従って、パージ補正係数KPには吸入空気流量Gaの急変後の短期間内において上記吸気通路でのエバポガスの分散に起因する誤差が含まれることになり、このことは、空燃比制御系における大きな外乱となる。以下、このことを、図10に対応する図17を参照しながら説明する。
図17は、パージ実行中であって、時刻t11以前において、(A)に示すように、値Ga0に維持されていた吸入空気流量Gaが、時刻t11にて値Ga0から値Ga1(>Ga0)に急増し、その後値Ga1に維持される場合における各種変数等の変化の一例を示したタイムチャートである。
この例では、吸入空気流量Gaが急増する時刻t11以前において、(G)に示すように、空燃比A/Fが目標空燃比abyfrに維持されていて、(F)に示すように、基本燃料噴射量補正係数KFが値KF2に維持されている。この値KF2の「1」に対する偏移量は、基本燃料噴射量の誤差の大きさに相当している。また、この例では、上記エバポガス濃度学習値が誤差を含んでいないものとする。
この場合、(C)に示すように、吸入空気流量Gaに基づいて決定される目標パージ率PGRを使用して上記(12)式に従って設定されるパージ補正係数KP(k)は、時刻t11以前は、値Ga0に対応する値KP2に維持され、時刻t11以降は、値Ga1に対応する値KP3に維持される。
従って、(D)に実線にて示すように、補正前基本燃料噴射量Fbasebの算出(従って、指令燃料噴射量Fiの算出)に使用されるパージ補正係数KP(k−MA)は、吸入空気流量Gaが急増した時刻t11からMAストロークに相当する輸送遅れ時間L3が経過した時刻t12にて値KP2から値KP3にステップ状に減少する。
一方、(D)の一点鎖線は、図10(D)と同様、前記必要パージ補正係数の変化を表している。この必要パージ補正係数は、時刻t12以降の短期間内において、上述した吸気通路でのエバポガスの分散等に起因して、ステップ状に減少したパージ補正係数KP(k−MA)に或る遅れをもって追従する。この例では、エバポガス濃度学習値が誤差を含んでいないから、必要パージ補正係数は、パージ補正係数KP(k−MA)の値そのもの(=KP3)に収束していく。
この結果、時刻t12の直後からの短期間、パージ補正係数KP(k−MA)は必要パージ補正係数よりも小さくなり、パージ補正係数KPに空燃比を目標空燃比abyfrよりもリーンとする方向の誤差が発生する。このことは、空燃比制御系における大きな外乱となる。
これにより、(G)に示すように、時刻t12まで目標空燃比abyfrに維持されていた空燃比A/Fが、時刻t12の直後からリーン方向へ偏移を開始する。この結果、(F)に示すように、時刻t12まで値KF2に維持されていた基本燃料噴射量補正係数KFが、時刻t12の直後から、大きくなる方向へ変化を開始する。
この場合、第2実施形態の鈍し制御定数設定手段A19は、(E)に実線にて示すように、時刻t12から所定期間α3だけ鈍し制御定数nを値n0から値n3(<n0)に切換える。これにより、基本燃料噴射量補正係数KF、及び空燃比A/Fは、(F),(G)に実線にて示すように変化する。
この結果、(E),(F),(G)に破線にて示される「鈍し制御定数nが前記値n0に維持される場合」に比して、上述した図10の時刻t2の直後の場合と同じ理由により、空燃比A/Fが時刻t12の直後からリーン方向へ一時的に大きく偏移する程度を小さくすることができる。
このように、第2実施形態の鈍し制御定数設定手段A19は、パージが実行中であって、吸入空気流量Gaが急変した時点から輸送遅れ時間L3が経過した時点からの所定期間α3だけ、鈍し制御定数nを値n0よりも小さくすることでローパスフィルタA18dの時定数τを前記値τ1よりも小さくする。
なお、前記所定期間α3は、上述した所定期間α1,α2と同様、空燃比A/Fに乱れが発生してから空燃比A/Fが目標空燃比abyfrに収束するまでに要する時間に設定され、本例では、鈍し制御定数nが値n3の場合のローパスフィルタA18dの時定数τの3倍に設定されている。
(第2実施形態の実際の作動)
次に、第2実施形態に係る空燃比制御装置の実際の作動について説明する。この第2実施形態のCPU71は、第1実施形態のCPU71が実行する図11〜図16に示したルーチンのうち、図14に示したルーチン以外のルーチンをそれぞれ実行するとともに、図14のルーチンに代えて図18にフローチャートにより示したルーチンを実行する。以下、第2実施形態に特有の図18に示したルーチンについて説明する。
CPU71は、図18に示した「鈍し制御定数nの設定」ルーチンを燃料噴射気筒について燃料噴射開始時期(噴射指示開始時点)が到来する毎に、繰り返し実行する。従って、燃料噴射気筒について燃料噴射開始時期が到来すると、CPU71は前記ルーチン1800の処理を開始し、まず、ステップ1805にて、メインフィードバック条件が成立しているか否かを判定する。このメインフィードバック条件は、図14のステップ1402の条件と同一である。
いま、メインフィードバック条件が成立していて、パージ実行中であって、且つ、吸入空気流量Gaが急変していないもの(図17の時刻t11以前を参照)として説明を続ける。また、後述するステップに示すXATは、吸入空気流量Gaが急変したと判定された時点で「0」から「1」に変更される空気過渡判定フラグである。
この場合、CPU71はステップ1805にて「Yes」と判定してステップ1810に進み、空気過渡判定フラグXATが「1」であるか否かを判定する。現時点は、吸入空気流量Gaが急変しておらず空気過渡判定フラグXATは「0」に維持されている。従って、CPU71はステップ1810にて「No」と判定してステップ1815に進み、現時点においてエアフローメータ61により計測された吸入空気流量Ga(k)から前回の本ルーチン実行時において計測されていた吸入空気流量Ga(k−1)を減ずることにより吸入空気流量偏差ΔGaを求める。
次に、CPU71はステップ1820に進んで、パージ実行フラグXPGが「1」であるか否かを判定し、「No」と判定する場合、ステップ1825に進んで鈍し制御定数nを前記値n0に設定した後、ステップ1895に進んで本ルーチンを一旦終了する。現時点では、パージ実行フラグXPGの値は「1」であるから、CPU71はステップ1820にて「Yes」と判定してステップ1830に進み、前記吸入空気流量偏差ΔGaの絶対値が所定値βより大きいか否か、即ち、吸入空気流量Gaが急変したか否かを判定する。現時点では、吸入空気流量Gaが急変しておらず吸入空気流量偏差ΔGaの絶対値が所定値β以下である。従って、CPU71はステップ1830にて「No」と判定して前述のステップ1825に進む。以降、ステップ1830の条件が成立しない限りにおいて、CPU71は、ステップ1805,1810〜1820,1830,1825の処理を繰り返して実行する。この結果、鈍し制御定数nは値n0に維持される(図17の時刻t11以前を参照)。
次に、吸入空気流量Gaが急変した場合(即ち、吸入空気流量偏差ΔGaの絶対値が所定値βより大きくなった場合、図17の時刻t11を参照)について説明する。この場合、CPU71はステップ1830に進んだとき「Yes」と判定してステップ1835に進んで、空気過渡判定フラグXATの値を「0」から「1」に変更し、続くステップ1840以降の処理を実行する。ここで、ステップ1840〜ステップ1880の処理は、上述した図14のステップ1408〜ステップ1424にそれぞれ対応しているから、これらの詳細な説明は省略する。以降、空気過渡判定フラグXATの値は「1」になっているから、CPU71はステップ1810に進むごとに「Yes」と判定し、ステップ1815〜ステップ1835の処理を実行することなく直ちにステップ1840以降の処理を実行するようになる。
これにより、上述した図14の場合と同様、鈍し制御定数nは、カウンタzが上記輸送遅れ時間L3(図17を参照)に相当するストローク数M3に達するまでの間は値n0に維持され(図17の時刻t11〜t12を参照)、カウンタzがストローク数M3に達した時点から前記所定期間α3が経過するまでの間は値n3に維持され(図17の時刻t12〜t13を参照)、所定期間α3が経過した時点以降は値n0に戻される(図17の時刻t13以降を参照)。なお、カウンタzがストローク数M3に達した時点から所定期間α3が経過した時点で、CPU71はステップ1880にて「No」と判定し、ステップ1860に進む前にステップ1885に進んで、空気過渡判定フラグXATの値を「1」から「0」に変更する。
一方、ステップ1805の判定時において、メインフィードバック条件が不成立であると、CPU71は同ステップ1805にて「No」と判定して直ちにステップ1895に進んで本ルーチンを一旦終了する。このように、メインフィードバック条件が不成立であるときは、鈍し制御定数nの値は、前回の本ルーチン実行時に設定された値に維持される。このように設定される鈍し制御定数nは、上述した図16に示す基本燃料噴射量補正係数KFの計算に用いられる。
以上、説明したように、本発明による内燃機関の空燃比制御装置の第2実施形態によれば、ローパスフィルタA18dの時定数τに比例する鈍し制御定数nは、空燃比に大きな乱れが発生し得る期間である、パージ時において吸入空気流量Gaが急変した時点から輸送遅れ時間L3が経過した時点からの所定期間α3だけ、前記値n0よりも小さくされ、これにより時定数τが前記値τ1よりも小さくされる(図17を参照)。この結果、通常は、上記基本燃料噴射量補正係数KF(k)による安定した基本燃料噴射量の補正が実現されるとともに、パージ時における吸入空気流量Gaの急変に伴って空燃比に大きな乱れが発生し得る場合、メインフィードバック制御による空燃比の急変に対する迅速な補償が阻害され難くなって、一時的なエミッションの排出量の増大を抑制することができる。
(第3実施形態)
次に、本発明の第3実施形態に係る空燃比制御装置について説明する。この第3実施形態は、その機能ブロック図である図19に示すように、図5に機能ブロック図が示される上記第1実施形態に対して、鈍し制御定数設定手段A19に代えて演算周期設定手段A20を使用する点で異なる。
より具体的に述べると、前述のように、ローパスフィルタA18dの時定数τは、前述の鈍し制御定数nと、ローパスフィルタA18dによる基本燃料噴射量補正係数KFに対するローパスフィルタ処理が行われる周期(即ち、「基本燃料噴射量補正係数KFの計算」ルーチンの実行周期、前記演算周期Δt)の積に比例する。
第1実施形態は、演算周期Δtである図16に示した「基本燃料噴射量補正係数KFの計算」ルーチンの実行周期を前記演算周期Δt0に維持し、鈍し制御定数nの値を値n0から変更することでローパスフィルタA18dの時定数τを値τ1から変更していた。
これに対し、第3実施形態は、鈍し制御定数nの値を値n0に維持し、演算周期Δtである「基本燃料噴射量補正係数KFの計算」ルーチンの実行周期を前記演算周期Δt0から変更することでローパスフィルタA18dの時定数τを値τ1から変更する。
この相違点に基づき、第3実施形態のCPU71は、第1実施形態のCPU71が実行する図11〜図16に示したルーチンのうち、図11〜図13、及び図15に示したルーチンをそれぞれ実行するとともに、図14、図16のルーチンに代えて図14、図16のルーチンにそれぞれ対応する図20、図21にフローチャートにより示したルーチンをそれぞれ実行する。なお、図20、及び図21において、図14、及び図16に示したステップと同一のステップについては図14、及び図16のステップ番号と同一のステップ番号を付している。以下、第3実施形態に特有の図20、及び図21に示したルーチンについて、順に説明する。
図20に示した「演算周期Δtの設定」ルーチンは、後述する図21に示す「基本燃料噴射量補正係数KFの計算」ルーチンの実行周期である演算周期Δtを設定・変更するためのルーチンである。図20に示したルーチンは、ステップ2016,2036にて演算周期Δtを演算周期Δt0に設定する点と、ステップ2020にて演算周期Δtを演算周期Δt1(<Δt0)に設定する点と、ステップ2040にて演算周期Δtを演算周期Δt2(=Δt1)に設定する点とを除き図14に示したルーチンと同じであるので、ここではその詳細な説明を省略する。
図21に示した「基本燃料噴射量補正係数KFの計算」ルーチンは、前述の図20のステップ2016,2020,2036,2040の何れかにて設定されている演算周期Δtの経過毎に繰り返し実行される。このルーチンは、ステップ2125にて、前記(18)式において使用される鈍し制御定数nとして、前記値n0(一定)を使用する点を除き図16に示したルーチンと同じであるので、ここではその詳細な説明を省略する。
以上、説明したように、本発明による内燃機関の空燃比制御装置の第3実施形態によれば、ローパスフィルタA18dの時定数τに比例する演算周期Δtは、通常、「時定数τが基本燃料噴射量の誤差の補償における迅速性を阻害しない範囲で可能な限り大きい値τ1となる」演算周期Δt0に設定される。一方、演算周期Δtは、空燃比に大きな乱れが発生し得る期間である、パージが開始された時点から輸送遅れ時間L1が経過した時点からの所定期間α1、及びパージが停止された時点から輸送遅れ時間L2が経過した時点からの所定期間α2だけ、演算周期Δt0よりも短くされ、これにより時定数τが前記値τ1よりも小さくされる(図10を参照)。この結果、第1実施形態と同じ効果を奏する。
(第4実施形態)
次に、本発明の第4実施形態に係る空燃比制御装置について説明する。この第4実施形態は、前記第3実施形態と同様に、鈍し制御定数nの値を値n0から変更することに代えて演算周期Δtである「基本燃料噴射量補正係数KFの計算」ルーチンの実行周期を前記演算周期Δt0から変更することでローパスフィルタA18dの時定数τを値τ1から変更する点で第2実施形態と異なる。
この相違点に基づき、第4実施形態のCPU71は、第2実施形態のCPU71が実行する図11〜図13、図15、図16、及び図18に示したルーチンのうち、図11〜図13、及び図15に示したルーチンをそれぞれ実行するとともに、図16のルーチンに代えて第3実施形態のCPU71が実行する上述した図21に示したルーチンを実行し、図18のルーチンに代えて図22にフローチャートにより示したルーチンを実行する。なお、図22において、図18に示したステップと同一のステップについては図18のステップ番号と同一のステップ番号を付している。以下、第4実施形態に特有の図22に示したルーチンについて、説明する。
図22に示した「演算周期Δtの設定」ルーチンは、図21に示す「基本燃料噴射量補正係数KFの計算」ルーチンの実行周期である演算周期Δtを設定・変更するためのルーチンである。図22に示したルーチンは、ステップ2225,2260にて演算周期Δtを演算周期Δt0に設定する点と、ステップ2270にて演算周期Δtを演算周期Δt3(<Δt0)に設定する点とを除き図18に示したルーチンと同じであるので、ここではその詳細な説明を省略する。
以上、説明したように、本発明による内燃機関の空燃比制御装置の第4実施形態によれば、ローパスフィルタA18dの時定数τに比例する演算周期Δtは、通常、第3実施形態と同様、演算周期Δt0に設定される。一方、演算周期Δtは、空燃比に大きな乱れが発生し得る期間である、パージ時において吸入空気流量Gaが急変した時点から輸送遅れ時間L3が経過した時点からの所定期間α3だけ、演算周期Δt0よりも短くされ、これにより時定数τが前記値τ1よりも小さくされる(図17を参照)。この結果、第2実施形態と同じ効果を奏する。
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第1実施形態においては、図14のステップ1420,1440で、鈍し制御定数nとして使用される値n1と値n2が等しい値とされているが、値n1と値n2を異ならせてもよい。同様に、第3実施形態においては、図20のステップ2020,2040で、演算周期Δtとして使用される演算周期Δt1と演算周期Δt2が等しい値とされているが、演算周期Δt1と演算周期Δt2を異ならせるように構成してもよい。
また、上記第1、第3実施形態においては、ローパスフィルタA18dの時定数τを値τ1から小さくする期間である所定期間α1を一定としているが、パージ開始時点でのパージ補正係数KP(k)の変動幅に応じて所定期間α1を変更してもよい。同様に、上記第1、第3実施形態においては、パージ停止時点でのパージ補正係数KP(k)の変動幅に応じて所定期間α2を変更してもよい。更には、上記第2、第4実施形態においては、吸入空気流量Gaが急変した時点でのパージ補正係数KP(k)の変動幅に応じて所定期間α3を変更してもよい。
また、上記各実施形態においては、パージが開始・停止された時点、又はパージ時において吸入空気流量Gaが急変した時点から輸送遅れ時間LAが経過した時点から所定期間に亘って、ローパスフィルタA18dの時定数τを値τ1から小さくするように構成したが、パージが開始・停止された時点、及びパージ時において吸入空気流量Gaが急変した時点からの所定期間に亘って、ローパスフィルタA18dの時定数τを値τ1から小さくするように構成してもよい。
また、上記各実施形態においては、輸送遅れ時間LAに相当するストローク数MAを筒内吸入空気量Mcに基づいて求め、輸送遅れ時間LAの経過をストローク数がMA回に達したことで判定しているが、輸送遅れ時間LAそのものを機関10の運転状態(例えば、筒内吸入空気量Mcと、運転速度NE等)に基づいて求めてもよい。
また、上記第2、第4実施形態においては、図18(図22)のステップ1830において吸入空気流量Gaが急変したか否かを判定する場合に吸入空気流量偏差ΔGaと比較される前期所定値βを一定値としているが、機関10の運転状態(例えば、エバポガス濃度学習値)に応じて所定値βを変更するように構成してもよい。
また、上記各実施形態においては、補正前基本燃料噴射量Fbasebの算出に使用される現時点からMAストローク前のパージ補正係数KP(k−MA)についての値MA(輸送遅れ時間LAに相当する値)を、図6に示すテーブルMapMA(Mc(k))に基づいて求めているが、値MAを所定の一定値としてもよい。
また、上記各実施形態においては、基本燃料噴射量補正係数KFを求める際に使用される現時点からMBストローク前の指令燃料噴射量Fi(k−MB)についての値MB(遅れ時間LBに相当する値)を、図7に示すテーブルMapMB(Mc(k),NE)に基づいて求めているが、値MBを所定の一定値としてもよい。
また、上記各実施形態においては、図8(図16、及び図21のルーチン)に示すように、基本燃料噴射量補正係数設定手段A18に備えられたローパスフィルタA18dは、検出空燃比abyfs(k)、指令燃料噴射量Fi(k−MB)、及び補正前基本燃料噴射量Fbaseb(k)の各値そのものからローパスフィルタ処理前基本燃料噴射量補正係数KFb(=(abyfs(k)・Fi(k−MB))/(abyfr(k)・Fbaseb(k)))を求め、同ローパスフィルタ処理前基本燃料噴射量補正係数KFbをローパスフィルタA18dによりローパスフィルタ処理することで基本燃料噴射量補正係数KFを求めるように構成したが、これに代えて、検出空燃比abyfs(k)、指令燃料噴射量Fi(k−MB)、及び補正前基本燃料噴射量Fbaseb(k)をローパスフィルタA18dによりそれぞれ各別にローパスフィルタ処理した後の各値を用いて基本燃料噴射量補正係数KFを求めるようにしてもよい。
また、上記各実施形態においては、図8に示すように、今回の検出空燃比abyfs(k)、現時点からMBストローク前の指令燃料噴射量Fi(k−MB)、今回の目標空燃比abyfr(k)、及び今回の補正前基本燃料噴射量Fbaseb(k)に基づいて基本燃料噴射量補正係数KFを求めているが、今回の検出空燃比abyfs(k)、現時点からMBストローク前の指令燃料噴射量Fi(k−MB)、現時点からMBストローク前の目標空燃比abyfr(k−MB)、及び現時点からMBストローク前の補正前基本燃料噴射量Fbaseb(k−MB)に基づいて基本燃料噴射量補正係数KFを求めるように構成してもよい。
また、上記実施形態においては、メインフィードバック制御において、上流側空燃比センサ66による今回の検出空燃比abyfs(k)から現時点からMBストローク前の目標空燃比abyfr(k−MB)を減じた値に基づいてメインフィードバック補正量DFi_mainを求めているが、現時点からMBストローク前の筒内吸入空気量Mc(k−MB)を現時点からMBストローク前の目標空燃比abyfr(k−MB)で除した値である現時点からMBストローク前の目標筒内燃料供給量Fcr(k−MB)から、現時点からMBストローク前の筒内吸入空気量Mc(k−MB)を現時点での検出空燃比abyfs(k)で除した値である現時点からMBストローク前の実際の筒内燃料供給量Fc(k−MB)を減じた値である筒内燃料供給量偏差DFcに基づいてメインフィードバック補正量DFi_mainを求めるように構成してもよい。
また、上記各実施形態においては、パージを行うための蒸発燃料処理機構が備えられていたが、本発明は、蒸発燃料処理機構が備えられていない内燃機関にも適用される。この場合、例えば、吸入空気流量Gaが急変したと判定された時点(例えば、図18のステップ1830の条件が成立した時点)から所定期間に亘ってローパスフィルタA18dの時定数τを値τ1から小さくするように構成してもよい。
これにより、エアフローメータ61により計測される吸入空気流量Gaが、ステップ状に変化する真の吸入空気流量に応答遅れをもって追従することに基づく空燃比制御系における大きな外乱が発生した場合であっても、一時的なエミッションの排出量の増大を抑制することができる。
本発明の第1実施形態に係る空燃比制御装置を適用した内燃機関の概略図である。 図1に示したエアフローメータの出力電圧と計測された吸入空気流量との関係を示したグラフである。 図1に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。 図1に示した下流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。 図1に示した空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。 図1に示したCPUが参照する、筒内吸入空気量と、輸送遅れ時間に相当するストローク数との関係を規定するテーブルを示したグラフである。 図1に示したCPUが参照する、運転速度及び筒内吸入空気量と、遅れ時間に相当するストローク数との関係を規定するテーブルを示したグラフである。 図5に示した基本燃料噴射量補正係数設定手段が基本燃料噴射量補正係数を設定する際の機能ブロック図である。 計算された基本燃料噴射量補正係数が筒内吸入空気量に応じて分類されてバックアップRAMのメモリに記憶されている様子を示した図である。 図1に示した空燃比制御装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。 図1に示したCPUが実行する指令燃料噴射量の計算、及び噴射指示を行うためのルーチンを示したフローチャートである。 図1に示したCPUが実行するメインフィードバック補正量を計算するためのルーチンを示したフローチャートである。 図1に示したCPUが実行するサブフィードバック補正量を計算するためのルーチンを示したフローチャートである。 図1に示したCPUが実行する鈍し制御定数を設定するためのルーチンを示したフローチャートである。 図1に示したCPUが実行するパージ補正係数を計算するためのルーチンを示したフローチャートである。 図1に示したCPUが実行する基本燃料噴射量補正係数を計算するためのルーチンを示したフローチャートである。 本発明の第2実施形態に係る空燃比制御装置が空燃比フィードバック制御を実行する際の各種変数等の変化の一例を示したタイムチャートである。 本発明の第2実施形態に係る空燃比制御装置のCPUが実行する鈍し制御定数を設定するためのルーチンを示したフローチャートである。 本発明の第2実施形態に係る空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。 本発明の第3実施形態に係る空燃比制御装置のCPUが実行する演算周期を設定するためのルーチンを示したフローチャートである。 本発明の第3実施形態に係る空燃比制御装置のCPUが実行する基本燃料噴射量補正係数を計算するためのルーチンを示したフローチャートである。 本発明の第4実施形態に係る空燃比制御装置のCPUが実行する演算周期を設定するためのルーチンを示したフローチャートである。
符号の説明
10…内燃機関、25…燃焼室、39…インジェクタ、48…パージ流路、49…パージ制御弁(VSV)、51…エキゾーストマニホールド、53…三元触媒(第1触媒)、66…上流側空燃比センサ、67…下流側空燃比センサ、70…電気制御装置、71…CPU、74…バックアップRAM

Claims (8)

  1. 内燃機関の排気通路に配設された触媒と、
    前記触媒よりも上流の前記排気通路に配設された上流側空燃比センサと、
    指示に応じて燃料を噴射する燃料噴射手段と、
    を備えた内燃機関に適用され、
    前記内燃機関の運転状態に基づいて目標空燃比を得るための燃料の量である基本燃料噴射量を取得する基本燃料噴射量取得手段と、
    前記上流側空燃比センサの出力値に基づく値であってハイパスフィルタ処理された値に基づいてフィードバック補正量を算出するフィードバック補正量算出手段と、
    前記基本燃料噴射量の燃料の噴射指示を受けたときに前記燃料噴射手段が実際に噴射する燃料の量が前記内燃機関に供給される混合気の実際の空燃比を前記目標空燃比とするために必要な量となるように、同基本燃料噴射量を補正するための値であってローパスフィルタ処理された値で同基本燃料噴射量を補正する基本燃料噴射量補正手段と、
    前記補正された基本燃料噴射量を前記フィードバック補正量で補正することで指令燃料噴射量を算出する指令燃料噴射量算出手段と、
    前記指令燃料噴射量の燃料の噴射指示を前記燃料噴射手段に対して行うことで前記内燃機関に供給される混合気の空燃比をフィードバック制御する空燃比制御手段と、
    を備えた内燃機関の空燃比制御装置において、
    前記基本燃料噴射量補正手段は、
    前記内燃機関に供給される混合気の実際の空燃比の前記目標空燃比からの偏移をもたらす同内燃機関の運転状態の変化があった時点以降における所定期間に亘って前記ローパスフィルタ処理の時定数を小さくするように構成された内燃機関の空燃比制御装置。
  2. 請求項1に記載の内燃機関の空燃比制御装置において、
    前記基本燃料噴射量補正手段は、前記基本燃料噴射量を補正するための値として、
    前記上流側空燃比センサの出力値と、前記目標空燃比と、前記指令燃料噴射量と、前記基本燃料噴射量とに基づいて算出されるパラメータ値を用いるように構成された内燃機関の空燃比制御装置。
  3. 請求項1又は請求項2に記載の内燃機関の空燃比制御装置であって、
    前記内燃機関は、
    燃料タンク中で蒸発した燃料に基づく燃料ガスを前記内燃機関の吸気通路に導入する燃料ガス導入路と、
    前記吸気通路に導入される燃料ガスの導入状態を前記内燃機関の運転状態に基づいて制御するパージ制御弁とを更に備え、
    前記基本燃料噴射量補正手段は、前記内燃機関の運転状態の変化があった時点として、
    前記吸気通路に導入される燃料ガスの導入状態が前記パージ制御弁の制御により変化した時点を用いるように構成された内燃機関の空燃比制御装置。
  4. 請求項3に記載の内燃機関の空燃比制御装置において、
    前記基本燃料噴射量補正手段は、
    前記吸気通路に導入される燃料ガスの導入状態が前記パージ制御弁の制御により変化した時点として、
    前記パージ制御弁の制御により前記燃料ガスの導入が開始された時点、及び/又は停止された時点を用いるように構成された内燃機関の空燃比制御装置。
  5. 請求項3又は請求項4に記載の内燃機関の空燃比制御装置において、
    前記基本燃料噴射量補正手段は、
    前記吸気通路に導入される燃料ガスの導入状態が前記パージ制御弁の制御により変化した時点として、
    前記燃料ガスの導入が継続している期間において前記吸気通路における空気流量が変化した時点を用いるように構成された内燃機関の空燃比制御装置。
  6. 請求項3乃至請求項5の何れか一項に記載の内燃機関の空燃比制御装置であって、
    前記燃料ガスが前記パージ制御弁から前記内燃機関の燃焼室に到達するまでの時間である輸送遅れ時間を取得する輸送遅れ時間取得手段を更に備え、
    前記基本燃料噴射量補正手段は、
    前記吸気通路に導入される燃料ガスの導入状態が前記パージ制御弁の制御により変化した時点から前記輸送遅れ時間が経過した時点から前記所定期間を開始するように構成された内燃機関の空燃比制御装置。
  7. 請求項1乃至請求項6の何れか一項に記載の内燃機関の空燃比制御装置において、
    前記基本燃料噴射量補正手段は、前記ローパスフィルタ処理を行うローパスフィルタとしてディジタルフィルタを用いるとともに、同ローパスフィルタ処理に使用される応答性に関する値を変更することで前記ローパスフィルタ処理の時定数を小さくするように構成された内燃機関の空燃比制御装置。
  8. 請求項1乃至請求項6の何れか一項に記載の内燃機関の空燃比制御装置において、
    前記基本燃料噴射量補正手段は、前記ローパスフィルタ処理を行うローパスフィルタとしてディジタルフィルタを用いるとともに、前記基本燃料噴射量を補正するための値に対して前記ローパスフィルタ処理を行う周期を短くすることで前記ローパスフィルタ処理の時定数を小さくするように構成された内燃機関の空燃比制御装置。
JP2005266376A 2005-09-14 2005-09-14 内燃機関の空燃比制御装置 Pending JP2007077869A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005266376A JP2007077869A (ja) 2005-09-14 2005-09-14 内燃機関の空燃比制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005266376A JP2007077869A (ja) 2005-09-14 2005-09-14 内燃機関の空燃比制御装置

Publications (1)

Publication Number Publication Date
JP2007077869A true JP2007077869A (ja) 2007-03-29

Family

ID=37938449

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005266376A Pending JP2007077869A (ja) 2005-09-14 2005-09-14 内燃機関の空燃比制御装置

Country Status (1)

Country Link
JP (1) JP2007077869A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008309093A (ja) * 2007-06-15 2008-12-25 Toyota Motor Corp 内燃機関の燃料噴射制御装置
WO2010064331A1 (ja) 2008-12-05 2010-06-10 トヨタ自動車株式会社 多気筒内燃機関の空燃比気筒間インバランス判定装置
WO2010087026A1 (ja) 2009-01-28 2010-08-05 トヨタ自動車株式会社 多気筒内燃機関の監視装置
RU2720708C1 (ru) * 2018-08-29 2020-05-12 Тойота Дзидося Кабусики Кайся Устройство управления для двигателя внутреннего сгорания и способ управления для двигателя внутреннего сгорания

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62117000A (ja) * 1985-11-18 1987-05-28 株式会社精工舎 音響信号発生装置
JPH01215632A (ja) * 1988-02-22 1989-08-29 Fujitsu Ten Ltd 定速走行装置
JPH02109633A (ja) * 1988-10-17 1990-04-23 Brother Ind Ltd 放電加工機
JPH0571409A (ja) * 1991-07-12 1993-03-23 Honda Motor Co Ltd 多気筒内燃機関の失火検出装置
JPH0693901A (ja) * 1992-09-14 1994-04-05 Nissan Motor Co Ltd エンジンの蒸発燃料処理装置
JPH06101544A (ja) * 1992-09-18 1994-04-12 Nissan Motor Co Ltd エンジンの蒸発燃料処理装置
JPH06323178A (ja) * 1994-04-28 1994-11-22 Honda Motor Co Ltd 内燃機関の制御装置
JPH08214443A (ja) * 1989-02-22 1996-08-20 Hitachi Ltd 電力用信号処理システム
JPH08338290A (ja) * 1995-06-09 1996-12-24 Honda Motor Co Ltd 空燃比制御装置
JPH0996236A (ja) * 1995-10-03 1997-04-08 Matsushita Electric Ind Co Ltd 車両制御装置および空燃比制御装置
JPH09144593A (ja) * 1995-11-22 1997-06-03 Hitachi Ltd エンジンの空燃比検出体の診断装置
JPH09324681A (ja) * 1996-04-05 1997-12-16 Honda Motor Co Ltd 内燃機関の空燃比制御装置
JPH1068348A (ja) * 1996-08-28 1998-03-10 Nissan Motor Co Ltd スロットルバルブの位置決め制御装置
JPH11182360A (ja) * 1997-12-19 1999-07-06 Unisia Jecs Corp 内燃機関の蒸発燃料処理装置
JP2000110652A (ja) * 1998-10-09 2000-04-18 Honda Motor Co Ltd 内燃エンジンのノッキング検出装置
JP2004044481A (ja) * 2002-07-11 2004-02-12 Toyota Motor Corp 内燃機関の燃料噴射量制御装置
JP2004257377A (ja) * 2003-02-03 2004-09-16 Toyota Motor Corp 内燃機関の排気浄化装置

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62117000A (ja) * 1985-11-18 1987-05-28 株式会社精工舎 音響信号発生装置
JPH01215632A (ja) * 1988-02-22 1989-08-29 Fujitsu Ten Ltd 定速走行装置
JPH02109633A (ja) * 1988-10-17 1990-04-23 Brother Ind Ltd 放電加工機
JPH08214443A (ja) * 1989-02-22 1996-08-20 Hitachi Ltd 電力用信号処理システム
JPH0571409A (ja) * 1991-07-12 1993-03-23 Honda Motor Co Ltd 多気筒内燃機関の失火検出装置
JPH0693901A (ja) * 1992-09-14 1994-04-05 Nissan Motor Co Ltd エンジンの蒸発燃料処理装置
JPH06101544A (ja) * 1992-09-18 1994-04-12 Nissan Motor Co Ltd エンジンの蒸発燃料処理装置
JPH06323178A (ja) * 1994-04-28 1994-11-22 Honda Motor Co Ltd 内燃機関の制御装置
JPH08338290A (ja) * 1995-06-09 1996-12-24 Honda Motor Co Ltd 空燃比制御装置
JPH0996236A (ja) * 1995-10-03 1997-04-08 Matsushita Electric Ind Co Ltd 車両制御装置および空燃比制御装置
JPH09144593A (ja) * 1995-11-22 1997-06-03 Hitachi Ltd エンジンの空燃比検出体の診断装置
JPH09324681A (ja) * 1996-04-05 1997-12-16 Honda Motor Co Ltd 内燃機関の空燃比制御装置
JPH1068348A (ja) * 1996-08-28 1998-03-10 Nissan Motor Co Ltd スロットルバルブの位置決め制御装置
JPH11182360A (ja) * 1997-12-19 1999-07-06 Unisia Jecs Corp 内燃機関の蒸発燃料処理装置
JP2000110652A (ja) * 1998-10-09 2000-04-18 Honda Motor Co Ltd 内燃エンジンのノッキング検出装置
JP2004044481A (ja) * 2002-07-11 2004-02-12 Toyota Motor Corp 内燃機関の燃料噴射量制御装置
JP2004257377A (ja) * 2003-02-03 2004-09-16 Toyota Motor Corp 内燃機関の排気浄化装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008309093A (ja) * 2007-06-15 2008-12-25 Toyota Motor Corp 内燃機関の燃料噴射制御装置
JP4659785B2 (ja) * 2007-06-15 2011-03-30 トヨタ自動車株式会社 内燃機関の燃料噴射制御装置
WO2010064331A1 (ja) 2008-12-05 2010-06-10 トヨタ自動車株式会社 多気筒内燃機関の空燃比気筒間インバランス判定装置
US8903625B2 (en) 2008-12-05 2014-12-02 Toyota Jidosha Kabushiki Kaisha Air-fuel ratio imbalance among cylinders determining apparatus for a multi-cylinder internal combustion engine
WO2010087026A1 (ja) 2009-01-28 2010-08-05 トヨタ自動車株式会社 多気筒内燃機関の監視装置
RU2720708C1 (ru) * 2018-08-29 2020-05-12 Тойота Дзидося Кабусики Кайся Устройство управления для двигателя внутреннего сгорания и способ управления для двигателя внутреннего сгорания

Similar Documents

Publication Publication Date Title
KR100773276B1 (ko) 내연 기관의 공연비 제어 장치
JP3680217B2 (ja) 内燃機関の空燃比制御装置
JP4957559B2 (ja) 内燃機関の空燃比制御装置
JP4380625B2 (ja) 内燃機関の空燃比制御装置
JP3846480B2 (ja) 内燃機関の排気浄化装置
JP2004028029A (ja) 触媒劣化判定装置
JP2007162565A (ja) 内燃機関の空燃比制御装置
JP3922091B2 (ja) 内燃機関の空燃比制御装置
JP2009215933A (ja) 内燃機関の制御装置
JP2007077869A (ja) 内燃機関の空燃比制御装置
JP2006125304A (ja) 内燃機関の空燃比制御装置
JP2006112274A (ja) 内燃機関の空燃比制御装置
JP2006161695A (ja) 内燃機関の空燃比制御装置
CN109555612B (zh) 内燃机的控制装置和控制方法
JP4710715B2 (ja) 内燃機関の空燃比制御装置
JP2009264115A (ja) 多気筒内燃機関の制御装置
JP4299218B2 (ja) 内燃機関の空燃比制御装置
JP4888397B2 (ja) 内燃機関の空燃比制御装置
JP4245535B2 (ja) 内燃機関の空燃比制御装置
JP4139373B2 (ja) 内燃機関の空燃比制御装置
JP4239521B2 (ja) 内燃機関の排気浄化装置
JP4023174B2 (ja) 触媒劣化判定装置
JP2009197683A (ja) 内燃機関の空燃比制御装置
JPH11173195A (ja) エンジンの空燃比制御装置及び空燃比制御方法
JP2017115802A (ja) 内燃機関の空燃比制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080618

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101109