そこで、本出願人は、図26に示したように、目標空燃比を無駄時間Lだけ遅延させるとともに、その遅延した目標空燃比に対してローパスフィルタ処理を施すことにより、前記フィードバック用目標空燃比aftgtを求める空燃比制御装置を開発している。これによれば、フィードバック用目標空燃比aftgtが、無駄時間Lだけ前の目標空燃比の変化に応じるとともに、空燃比センサの応答遅れ特性を反映した態様にて変化するから、フィードバック補正値が過大又は過小となることを回避し得る。
しかしながら、上記空燃比制御装置によると、空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化することにより空燃比フィードバック制御を開始した直後において、機関の空燃比が乱れるという問題が発生し得る。以下、この点について図27を参照しながら具体的に説明する。
図27は、次に述べる状態における各値(目標空燃比、フィードフォワード噴射量、フィードバック用目標空燃比、検出空燃比及びフィードバック補正値)を示したタイムチャートである。
・時刻t11に至るまでの期間、目標空燃比は理論空燃比よりもリッチな空燃比をとりながら徐々に増大する(徐々にリーン側の空燃比となって理論空燃比に近づく)。
・時刻t11に至るまでの期間、空燃比フィードバック制御条件は成立していない。従って、空燃比フィードバック制御は行われていない(オープンループ制御が実行されている。)。空燃比フィードバック制御とは、フィードバック補正値の更新及び更新されたフィードバック補正値によるフィードフォワード噴射量の補正を行うことを意味する。
・時刻t11にて空燃比フィードバック制御条件が成立する。従って、空燃比フィードバック制御が時刻t11にて開始される。
・目標空燃比は、空燃比フィードバック制御開始時の時刻t11の直前において理論空燃比よりもリッチな空燃比に設定されていて、時刻t11及び時刻t11以降において理論空燃比に設定される。
この図27に示したように、上記空燃比制御装置は、時刻t11に至るまでの期間において空燃比フィードバック制御を行わないので、フィードバック用目標空燃比aftgtを算出していない。換言すると、上記空燃比制御装置は、空燃比フィードバック制御開始時の時刻t11からフィードバック用目標空燃比aftgtの算出を開始する。このとき、上記空燃比制御装置は、時刻t11から無駄時間Lだけ経過する時刻t12までの期間内において、所定の微小時間毎に到来するフィードバック用目標空燃比の各算出時点から無駄時間Lだけ前の目標空燃比を記憶(保持)していない。そこで、上記空燃比制御装置は、時刻t11から時刻t12までのフィードバック用目標空燃比の各算出時点において、各算出時点から無駄時間Lだけ前の目標空燃比として時刻t11における目標空燃比を使用することにより、フィードバック用目標空燃比を算出するようになっている。この結果、フィードバック用目標空燃比aftgtは時刻t11以降において理論空燃比に相当する一定値となる。
一方、検出空燃比abyfsは、時刻t11から無駄時間Lが経過した時刻t12以降において、目標空燃比の時刻t11における急変に伴うフィードフォワード噴射量の急変を反映して変化する。しかしながら、フィードバック用目標空燃比aftgtは無駄時間L及び空燃比センサの検出応答遅れを反映した値ではないので、仮に機関の空燃比が目標空燃比に一致していたとしても、時刻t11以降においてフィードバック用目標空燃比aftgtと検出空燃比abyfsとの差は非常に大きくなってしまう。その結果、フィードバック補正値が過小となり、それによって空燃比が大きく乱れてしまうという問題が発生する。
本発明は、このような課題に対処するために為されたものであって、その目的は、フィードバック用目標空燃比の算出の仕方を改良することにより、空燃比フィードバック制御開始直後において空燃比を目標空燃比に迅速に収束させることができる空燃比制御装置を提供することにある。
本発明による第1の内燃機関の空燃比制御装置は、空燃比センサと、燃料噴射手段と、目標空燃比決定手段と、フィードフォワード噴射量取得手段と、フィードバック用目標値算出手段と、フィードバック補正値算出手段と、燃料噴射量算出手段と、燃料噴射指示手段と、を備える。
空燃比センサは、前記機関の排気通路に配設され、且つ、排気通路を流れる排ガスの空燃比を検出する。機関の排気通路に触媒コンバータが配設されている場合、この空燃比センサは、触媒コンバータよりも上流の排気通路に配設される上流側空燃比センサである。一般に、このような空燃比センサ出力値は、検出応答遅れ特性を有する。具体的には、空燃比センサに到達しているガスの空燃比の値を入力信号とし、空燃比センサの出力値に基いて求められる空燃比の値を出力信号とするとき、出力信号は入力信号に対してローパスフィルタ処理(例えば、所謂「なまし処理」を含む一次遅れ処理及び二次遅れ処理等)を施した信号と極めて似た信号となる。
燃料噴射手段は、噴射指示に応じて燃料を噴射する。燃料噴射手段は、例えば、インジェクタである。
目標空燃比決定手段は、例えば、前記機関の回転速度(エンジン回転速度)、前記機関の負荷としての吸入空気量及び前記機関の冷却水の温度等により表される「前記機関の運転状態(機関の運転状態を表すパラメータ)」に基づいて目標空燃比を決定する。
フィードフォワード噴射量取得手段は、前記機関に供給される混合気の空燃比を前記決定された目標空燃比と一致させるための燃料の量であるフィードフォワード噴射量を少なくとも同機関の吸入空気量(ある気筒の一の燃焼サイクルにおいて燃焼室に吸入された空気量である筒内吸入空気量、又は、単位時間あたりの吸入空気量)に基づいて取得する。この吸入空気量は、エアフローメータによって実測された値又は同実測された値に基いて推定された値でもよく、所定の物理モデルを用いて推定された値であってもよい。
フィードバック用目標値算出手段は、所定の空燃比フィードバック制御条件が成立しているとき、無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する。ここで、「無駄時間」は、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間に相当する時間である。
また、前記「目標空燃比に相当する値」は、例えば、目標空燃比そのもの、目標空燃比を空燃比センサの出力値に相当する値に変換した値、及び、筒内吸入空気量を目標空燃比で除した値(目標筒内燃料供給量)等であり、これらに限定されない。前記「ローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する」ことには、ローパスフィルタ処理を施した値そのものをフィードバック用目標値として採用すること、及び、ローパスフィルタ処理を施した値に基いて一義的に定まる「他の値」に変換した値をフィードバック用目標値として採用することを含み、これらに限定されない。
フィードバック補正値算出手段は、前記所定の空燃比フィードバック制御条件が成立しているとき前記フィードバック用目標値と前記空燃比センサの出力値に相当する値とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値を更新する。一方、フィードバック補正値算出手段は、空燃比フィードバック制御条件が成立していないときフィードバック補正値を更新しない。この「フィードバック補正値を更新しない」ことには、フィードバック補正値の便宜上の更新は行うが、そのフィードバック補正値を実質的に燃料噴射量に反映させない場合も含む。
例えば、このフィードバック補正値の更新には、「フィードバック用目標値」と「空燃比センサの出力値に相当する値」との偏差を比例・積分制御等により更新することが含まれ、これに限定されない。また、例えば、フィードバック用目標値が空燃比を表す値であれば、「空燃比センサの出力値に相当する値」はその空燃比センサの出力値により示される空燃比であってもよい。フィードバック用目標値が空燃比を空燃比センサの出力値に相当する値に変換した値(例えば、電圧)であれば、「空燃比センサの出力値に相当する値」はその空燃比センサの出力値(電圧)であってもよい。また、フィードバック用目標値が筒内吸入空気量を目標空燃比で除した値に応じた値(目標筒内燃料供給量)であれば、「空燃比センサの出力値に相当する値」は筒内吸入空気量を空燃比センサの出力値により示された空燃比で除した値(検出筒内燃料供給量)であってもよい。
燃料噴射量算出手段は、前記空燃比フィードバック制御条件が成立しているとき前記取得されたフィードフォワード噴射量を前記更新されたフィードバック補正値を用いて補正することにより燃料噴射量を算出し、且つ、前記空燃比フィードバック制御条件が成立していないとき前記フィードフォワード噴射量に基いて(フィードバック補正値による補正を行うことなく)燃料噴射量を算出する。この第1の空燃比制御装置においては、前記フィードバック補正値が更新されているときと、前記所定の空燃比フィードバック制御条件が成立しているときと、は同義である。
燃料噴射指示手段は、前記算出された燃料噴射量の燃料を前記燃料噴射手段から噴射させるための噴射指示を同燃料噴射手段に対して行う。
更に、
前記フィードバック用目標値算出手段は、
前記空燃比フィードバック制御条件が成立していないときにも前記無駄時間前値に対して前記ローパスフィルタ処理を施した値に基づいて前記フィードバック用目標値を算出するように構成され、
前記フィードバック補正値算出手段は、
前記空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化した時点から、同時点にて算出されている前記フィードバック用目標値と、前記空燃比センサの出力値に相当する値と、に基づいて前記フィードバック補正値の更新を開始するように構成されている。
上記構成によれば、フィードバック補正値の算出に、フィードバック用目標値算出手段により算出されたフィードバック用目標値(例えば、目標筒内燃料供給量)と空燃比センサの出力値に相当する値(例えば、検出筒内燃料供給量)とが使用される。このフィードバック用目標値は、無駄時間だけ前の目標空燃比に相当する値にローパスフィルタ処理が施された値である。
従って、図28に示したように、目標空燃比が時刻t11において変化したことに起因する空燃比センサの出力値に相当する値(例えば、検出空燃比abyfs)が変化を開始するタイミングと、フィードバック用目標値aftgtが変化を開始するタイミングとが略一致する(図28の時刻t12を参照。)。加えて、フィードバック用目標値aftgtは、ローパスフィルタ処理によって空燃比センサの応答遅れ特性を模擬するような値を取ることができる(図28の時刻t12〜t13を参照。)。即ち、フィードバック用目標値は、機関の空燃比が目標空燃比に一致していて空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値となる。従って、取得されたフィードバック用目標値と空燃比センサの出力値に相当する値とに基いて求められるフィードバック補正値が適切な値となるので、目標空燃比が急激に変化した場合(例えば、ステップ状に変化した場合)であっても、機関の空燃比を目標空燃比に迅速に収束させることができる。
更に、前記フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立しているか否かに関わらず、前記フィードバック用目標値を算出するように構成されている。換言すると、前記フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立していない場合にも前記フィードバック用目標値を算出するように構成されている。従って、空燃比フィードバック制御条件が成立することによりフィードバック補正値の更新を開始する時点(空燃比フィードバック制御の開始時点である図28の時刻t11)の当初から、フィードバック用目標値は空燃比センサの出力値に相当する値がとるべき値に極めて近似した値となる。この結果、空燃比フィードバック制御開始直後においても、機関に供給される混合気の空燃比を目標空燃比に迅速に収束させることができる。
本発明による第2の空燃比制御装置は、上記第1の空燃比制御装置と同一の空燃比センサ、燃料噴射手段、目標空燃比決定手段、フィードフォワード噴射量取得手段及び燃料噴射指示手段を備える。更に、第2の空燃比制御装置は、第1の空燃比制御装置とは相違するフィードバック用目標値算出手段、フィードバック補正値算出手段及び燃料噴射量算出手段を備える。
即ち、第2の空燃比制御装置が備えるフィードバック用目標値算出手段は、
所定の空燃比フィードバック制御条件が成立しているとき前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間に相当する無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する。このことは、フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立していない場合、フィードバック用目標値の算出を実質的に行わないことを含む。
更に、第2の空燃比制御装置が備えるフィードバック補正値算出手段は、
前記機関の運転状態が前記所定の空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化した時点から同空燃比フィードバック制御条件が所定時間以上に亘り継続して成立しているというフィードバック実行条件が成立しているとき前記フィードバック用目標値と前記空燃比センサの出力値に相当する値とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値を更新する。一方、フィードバック補正値算出手段は、前記フィードバック実行条件が成立していないとき、前記フィードバック補正値を更新しない。この「フィードバック補正値を更新しない」ことには、フィードバック補正値の便宜上の更新は行うが、そのフィードバック補正値を実質的に燃料噴射量に反映させないことを含む。
更に、燃料噴射量算出手段は、
前記フィードバック実行条件が成立しているとき前記フィードフォワード噴射量を前記フィードバック補正値を用いて補正することにより燃料噴射量を算出し、且つ、前記フィードバック実行条件が成立していないとき前記フィードフォワード噴射量に基いて(フィードバック補正値による補正を行うことなく)燃料噴射量を算出する。
これによれば、フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立しているときにフィードバック用目標値を算出する。従って、フィードバック用目標値算出手段は、フィードバック制御条件成立時点から直ちにフィードバック用目標値の算出を開始する。
一方、フィードバック補正値算出手段は、フィードバック制御条件成立時点から直ちにフィードバック補正値の更新を開始せず、フィードバック制御条件成立時点から同空燃比フィードバック制御条件が所定時間(フィードバック開始待ち時間Te)以上に亘り継続して成立した時点以降において(即ち、フィードバック実行条件成立時に)、フィードバック用目標値と空燃比センサの出力値に相当する値とに基づいてフィードバック補正値を更新する。
従って、フィードバック制御条件成立時点からフィードバック補正値算出手段がフィードバック補正値の更新を開始する時点までの間に、フィードバック用目標値は空燃比センサの出力値に相当する値が取るべき値に近い値となる。この結果、空燃比フィードバック制御開始後(フィードバック補正値の更新及び同更新されたフィードバック補正値によりフィードフォワード噴射量の補正の開始後)において、フィードバック補正値が過大又は過小にならないので、機関に供給される混合気の空燃比が比較的大きく変動するという事態が発生することを回避することができる。
本発明による第3の空燃比制御装置は、上記第1の空燃比制御装置と同一の空燃比センサ、燃料噴射手段、目標空燃比決定手段、フィードフォワード噴射量取得手段、燃料噴射量算出手段、燃料噴射指示手段及びフィードバック補正値算出手段を備える。更に、第3の空燃比制御装置は、第1の空燃比制御装置とは相違するフィードバック用目標値算出手段を備える。
即ち、第3の空燃比制御装置が備えるフィードバック用目標値算出手段は、
所定の空燃比フィードバック制御条件が成立しているとき、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間に相当する無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する。
更に、このフィードバック用目標値算出手段は、
前記機関の運転状態が前記所定の空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化したフィードバック制御条件成立時点から前記無駄時間が経過するまでの期間、前記フィードバック用目標値の算出に用いる前記無駄時間前値として同フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値を使用するように構成されている。
これによれば、フィードバック用目標値算出手段は、空燃比フィードバック制御条件が成立しているときにフィードバック用目標値を算出する。従って、フィードバック用目標値算出手段は、空燃比フィードバック制御条件成立時点から直ちにフィードバック用目標値の算出を開始する。
但し、フィードバック用目標値算出手段は、空燃比フィードバック制御条件成立時点から無駄時間が経過するまでの期間、前記フィードバック用目標値の算出に用いる前記無駄時間前値として同空燃比フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値を使用する。
実際の内燃機関においては、空燃比フィードバック制御条件成立時点の前後において目標空燃比が急変することが多い。一方、空燃比フィードバック制御条件成立時点よりも無駄時間だけ前の時点から同空燃比フィードバック制御条件成立時点までの期間において、目標空燃比は急変しないことが多い。従って、空燃比フィードバック制御条件成立時点から無駄時間が経過するまでの期間において、「所定の微小時間毎に到来するフィードバック用目標値の各算出時点から無駄時間だけ前の目標空燃比」と「フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比」とは大きく乖離していないことが多い。
そこで、上記構成のように、空燃比フィードバック制御条件成立時点から無駄時間が経過するまでの期間、前記フィードバック用目標値の算出に用いる前記無駄時間前値として同フィードバック制御条件成立時点の直前の時点にて決定されていた目標空燃比に相当する値を使用しながら前記フィードバック用目標値を算出すれば、そのフィードバック用目標値は空燃比センサの出力値に相当する値が取るべき値に近い値となる。この結果、空燃比フィードバック制御開始後において、機関に供給される混合気の空燃比が比較的大きく変動するという事態が発生することを回避することができる。
なお、本願に係る第1乃至第3の空燃比制御装置に共通する技術的特徴は、フィードバック用目標値算出手段が、「前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間だけ前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比に相当する値である無駄時間前値に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値を算出する」ように構成されていることにある。
また、上記第1乃至第3の空燃比制御装置は、以下のような態様を採用することができる。
(1)上記第1乃至第3の空燃比制御装置の何れかにおいて、
前記フィードバック用目標値算出手段は、
前記内燃機関の運転状態を表すパラメータに応じて前記無駄時間を変更するように構成された内燃機関の空燃比制御装置。
一般に、無駄時間は、機関の運転状態に応じて変化する。従って、上記構成によれば、機関の運転状態にかかわらず無駄時間を正確に取得することができる。その結果、目標空燃比が変化したことに起因する空燃比センサの出力値に相当する値が変化を開始するタイミングと、フィードバック用目標値が変化を開始するタイミングと、を精度良く一致させることができる。
(2)上記(1)に記載の内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記内燃機関の運転状態を表すパラメータとして、
前記内燃機関の回転速度と、前記内燃機関の燃焼室に吸入された空気量(例えば、筒内吸入空気量)とを使用するように構成された内燃機関の空燃比制御装置。
機関の運転状態の中で上記無駄時間に大きく影響を与える因子として、機関の回転速度及び筒内吸入空気量が挙げられる。無駄時間は、機関の回転速度が大きくなるにつれて短くなり、筒内吸入空気流量が大きくなるにつれて短くなる。従って、上記構成によれば、無駄時間をより精度良く取得することができる。
(3)上記第1乃至第3の空燃比制御装置の何れかにおいて、
前記フィードバック用目標値算出手段は、
前記無駄時間だけ前の時点として、
前記無駄時間に相当する燃料噴射指示の回数だけ前における燃料噴射指示の時点を使用するとともに、
前記内燃機関の運転状態を表すパラメータのうち機関回転速度を除くパラメータに応じて前記燃料噴射指示の回数を変更するように構成された内燃機関の空燃比制御装置。
上述したように、無駄時間は、機関の回転速度が大きくなるにつれて短くなり、筒内吸入空気流量が大きくなるにつれて短くなる。ところが、単位時間あたりの燃料噴射指示の回数(燃料噴射の回数、ストローク数、燃焼回数)は、機関の回転速度が大きくなるにつれて多くなる。従って、筒内空気流量が一定であるとの仮定の下において、低回転時に相対的に長くなる無駄時間内の燃料噴射指示回数と、高回転時に相対的に短くなる無駄時間内の燃料噴射指示回数と、はそれほど相違しない。つまり、無駄時間の間に亘る燃料噴射指示の回数は、筒内吸入空気量には大きく影響を受けるものの機関の回転速度には殆ど影響されない。従って、上記構成によれば、無駄時間前値に含まれる機関回転速度に起因する誤差を小さくすることができる。
(4)上記(3)に記載の空燃比制御装置の何れかにおいて、
前記フィードバック用目標値算出手段は、
前記燃料噴射指示の回数を決定する前記内燃機関の運転状態を表すパラメータとして前記内燃機関の燃焼室に吸入された空気量のみを用いるように構成された内燃機関の空燃比制御装置。
これによれば、無駄時間に相当する燃料噴射指示の回数に大きく影響を与える単一の因子(即ち、筒内吸入空気量)を引数とする同回数を決定するためのテーブル(マップ)等を作製できる。従って、上記テーブル等の作製に要する労力を軽減することができるとともに、同テーブル等の検索に要するCPUの負荷を小さくすることができる。
(5)上記何れかの内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記内燃機関の運転状態に基づいて前記ローパスフィルタ処理の応答性に関するパラメータ(例えば、ローパスフィルタ処理の時定数)を変更するように構成された内燃機関の空燃比制御装置。
空燃比センサの応答遅れ特性は、機関の運転状態に応じても変化する。従って、上記構成によれば、機関の運転状態にかかわらず、ローパスフィルタ処理による応答遅れの程度を空燃比センサの応答遅れの程度に合わすことができる。この結果、フィードバック用目標値は、空燃比センサの応答遅れ特性をより精度良く模擬するような値を取ることができるので、空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値となる。この結果、空燃比センサの出力値に相当する値が変化を開始すべきタイミング以降におけるフィードバック補正値がより適切な値となる。
(6)上記(5)の内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記ローパスフィルタ処理の応答性に関するパラメータを変更するための前記内燃機関の運転状態として、
前記内燃機関の回転速度と、前記内燃機関の燃焼室に吸入された空気量(例えば、筒内吸入空気量)と、を使用するように構成された内燃機関の空燃比制御装置。
空燃比センサの出力値の変化の応答遅れの程度は、筒内吸入空気量に大きく影響を受けるとともに、機関の回転速度にも影響を強く受ける。従って、上記構成によれば、フィードバック用目標値を、空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値により近づけることができる。
(7)上記(5)の内燃機関の空燃比制御装置において、
前記フィードバック用目標値算出手段は、
前記ローパスフィルタ処理の応答性に関するパラメータを変更するための前記内燃機関の運転状態として、
前記内燃機関の燃焼室に吸入された空気量(例えば、筒内吸入空気量)のみを使用するように構成された内燃機関の空燃比制御装置。
これによれば、上流側空燃比センサの応答遅れの程度に非常に大きく影響を与える単一の因子(筒内吸入空気量)を引数とするローパスフィルタ処理の応答性に関するパラメータを決定するためのテーブル(マップ)等を作製できる。従って、上記テーブル等の作製に要する労力を軽減するとともに、同テーブル等の検索に要するCPUの負荷を小さくしながら、フィードバック用目標値を、空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値により近づけることができる。
(8)上記何れかの空燃比制御装置において、前記ローパスフィルタ処理は、1次遅れ処理又は2次遅れ処理である空燃比制御装置。
前記ローパスフィルタ処理として、2次遅れ処理を使用した場合、フィードバック用目標値を空燃比センサに望ましい空燃比の排ガスが到達している場合における同空燃比センサの出力値に相当する値が取るべき値により近づけることができる。
他方、前記ローパスフィルタ処理として、1次遅れ処理を使用した場合、適合を要するローパスフィルタ処理の応答性に関するパラメータの数が、2次遅れ処理を使用する場合より減少する。従って、上記パラメータの適合の労力が軽減されるとともに、上記パラメータの値の決定に要するCPUの負荷を小さくすることができる。
以下、本発明による内燃機関の空燃比制御装置の各実施形態について図面を参照しつつ説明する。
(第1実施形態)
図1は、本発明の第1実施形態に係る空燃比制御装置(第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を備えている。
排気系統50は、排気ポート34に連通したエキゾーストマニホールド51、エキゾーストマニホールド51(実際には、各排気ポート34に連通した各々のエキゾーストマニホールド51が集合した集合部)に接続されたエキゾーストパイプ(排気管)52、上流側の三元触媒53及び下流側の三元触媒54を備えている。上流側の三元触媒53は、エキゾーストパイプ52に配設(介装)されている。上流側の三元触媒53は、上流側触媒コンバータ、スタート・キャタリティック・コンバータとも称呼される。上流側の三元触媒53は、以下、「第1触媒53」と称呼する。下流側の三元触媒54は、第1触媒53の下流のエキゾーストパイプ52に配設(介装)されている。下流側の三元触媒54は、車両のフロア下方に配設されるため、アンダ・フロア・キャタリティック・コンバータとも称呼される。下流側の三元触媒54は、以下「第2触媒54」と称呼する。排気ポート34、エキゾーストマニホールド51及びエキゾーストパイプ52は、排気通路を構成している。
一方、このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、カムポジションセンサ63、クランクポジションセンサ64、水温センサ65、第1触媒53の上流の排気通路(本例では、上記各々のエキゾーストマニホールド51が集合した集合部)に配設された空燃比センサ66(以下、「上流側空燃比センサ66」と称呼する。)、第1触媒53の下流であって第2触媒54の上流の排気通路に配設された酸素濃度センサ67(以下、「下流側酸素濃度センサ67」と称呼する。)及びアクセル開度センサ68を備えている。
熱線式エアフローメータ61は、吸気管41内を流れる吸入空気の単位時間あたりの質量流量を検出し、質量流量Gaを表す信号を出力するようになっている。スロットルポジションセンサ62は、スロットル弁43の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。カムポジションセンサ63は、インテークカムシャフトが90°回転する毎に(即ち、クランク軸24が180°回転する毎に)一つのパルスを有する信号(G2信号)を発生するようになっている。クランクポジションセンサ64は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともにクランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、機関回転速度NEを表す。水温センサ65は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
上流側空燃比センサ66は、限界電流式の酸素濃度センサであり、図2に示したように、配設された部分の排気通路を通過するガス(排ガス)の空燃比A/Fに応じた電流を出力し、この電流に応じた電圧である出力値Vabyfsを出力するようになっている。出力値Vabyfsは、空燃比が理論空燃比であるときに値Vstoichになる。図2から明らかなように、上流側空燃比センサ66によれば、広範囲にわたる空燃比A/Fを精度良く検出することができる。
上流側空燃比センサ66は、上流側空燃比センサ66に到達しているガスの空燃比がステップ状にしても出力値が徐々に変化するという検出応答遅れ特性を有する。より具体的に述べると、上流側空燃比センサ66に到達しているガスの空燃比の値を入力信号とし、上流側空燃比センサ66の出力値Vabyfsに基いて求められる空燃比の値を出力信号とするとき、出力信号は入力信号に対してローパスフィルタ処理(例えば、所謂「なまし処理」を含む一次遅れ処理及び二次遅れ処理等)を施した信号と極めて似た信号となる。
下流側酸素濃度センサ67は、起電力式(濃淡電池式)の酸素濃度センサである。下流側酸素濃度センサ67は、配設された部分の排気通路を通過するガス(排ガス)に含まれる酸素濃度に応じた値を出力するようになっている。より具体的に述べると、下流側酸素濃度センサ67は、図3に示したように、理論空燃比近傍において急変する電圧である出力値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〜68と接続され、CPU71にセンサ61〜68からの信号を供給するとともに、CPU71の指示に応じて可変吸気タイミング装置33のアクチュエータ33a、イグナイタ38、インジェクタ39及びスロットル弁アクチュエータ43aに駆動信号(指示信号)を送出するようになっている。
(空燃比フィードバック制御の概要)
次に、上記のように構成された空燃比制御装置が行う空燃比のフィードバック制御の概要について説明する。
この空燃比制御装置は、上流側空燃比センサ66の出力値Vabyfsを下流側酸素濃度センサ67の出力値Voxsにより修正し、その修正した値に基いて制御用筒内燃料供給量Fc(k−N)を求める。そして、空燃比制御装置は、制御用筒内燃料供給量Fc(k−N)が別途算出したフィードバック用目標値(ローパスフィルタ通過後目標筒内燃料供給量)Fcrlow(k−N)に一致するように燃料噴射量を修正することにより、機関の空燃比をフィードバック制御する。
より具体的に述べると、この空燃比制御装置(以下、「本装置」と云うこともある。)は、機能ブロック図である図4に示したように、A1〜A17の各機能ブロックを含んで構成されている。以下、図4を参照しながら各機能ブロックについて説明していく。
<フィードフォワード噴射量の算出>
先ず、筒内吸入空気量算出手段A1は、エアフローメータ61が計測している吸入空気流量Gaと、クランクポジションセンサ64の出力に基づいて得られる機関回転速度NEと、ROM72が記憶しているテーブルMapMcとに基づき、吸気行程を迎える気筒の今回の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の(k)は、今回の吸気行程に対する値であることを示している(以下、他の物理量についても同様。)。筒内吸入空気量Mcは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
目標空燃比決定手段A2は、内燃機関10の運転状態である機関回転速度NE、スロットル弁開度TA(内燃機関10の負荷及び回転速度)及び冷却水温THW等に基づいて目標空燃比abyfr(k)を決定する。この目標空燃比abyfr(k)は、例えば、以下のように決定される。なお、目標空燃比abyfr(k)は、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
・目標空燃比abyfr(k)は、内燃機関10の暖機終了前(機関の冷却水温THWが第1所定温度THW1thより低い場合)において、理論空燃比よりもリッチな空燃比の範囲内であって、冷却水温THWが増大するにつれて次第に理論空燃比に近づくように徐々にリーンとなる空燃比に設定される。
・目標空燃比abyfr(k)は、内燃機関10の暖機終了後において、燃焼室25への燃料供給の停止(いわゆる、フューエルカット)が解除された時点から所定の時間が経過する時点まで、第1触媒53及び第2触媒54の酸素吸蔵量を迅速に減少させるために、理論空燃比よりもリッチな空燃比(フューエルカット復帰後増量空燃比)に設定される。
・例えば、特開平5−133264号広報等に記載されているように、第1触媒53及び第2触媒54の最大酸素吸蔵量を取得するために空燃比を理論空燃比よりリッチな空燃比及びリーンな空燃比に交互に変動させる場合(アクティブ空燃比制御を行う場合)、目標空燃比abyfr(k)は理論空燃比よりもリッチな空燃比及びリーンな空燃比に交互に変化する値に設定される。
・目標空燃比abyfr(k)は出力増量(又は第1触媒53及び第2触媒54の過熱防止増量)を行う場合、理論空燃比よりもリッチな空燃比に設定される。
・目標空燃比abyfr(k)は、上記特殊な場合等を除き理論空燃比に設定される。
フィードフォワード噴射量取得手段A3は、筒内吸入空気量算出手段A1により求められた筒内吸入空気量Mc(k)を目標空燃比決定手段A2により設定された目標空燃比abyfr(k)で除することにより、空燃比を目標空燃比abyfr(k)とするための今回の吸気行程に対する目標筒内燃料供給量Fcr(k)(即ち、フィードフォワード噴射量Fbase)を求める。目標筒内燃料供給量Fcrは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。なお、目標筒内燃料供給量Fcr(k)は、機関10に供給される混合気の空燃比を決定された目標空燃比abyfr(k)と一致させるための燃料の量であり、基本噴射量とも称呼される。このように、フィードフォワード噴射量取得手段A3は、機関10に供給される混合気の空燃比を前記決定された目標空燃比abyfr(k)と一致させるための燃料の量であるフィードフォワード噴射量Fcr(k)=Fbaseを機関10の吸入空気流量Ga等に基づいて取得する手段を構成している。
<燃料噴射量の算出>
上流側空燃比フィードバック制御条件成立判定手段A4は、所定の空燃比フィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているか否かを判定し、空燃比フィードバック条件が成立しているとき燃料噴射量算出手段A5に後述するフィードバック補正値DFiを供給する。空燃比フィードバック制御条件は、ここでは、機関の冷却水温THWが第1所定温度THW1thより低い場合及びフューエルカットが実行されている場合を除いて成立する。
燃料噴射量算出手段A5は、空燃比フィードバック制御条件が成立しているとき、下記(1)式に従い、フィードフォワード噴射量取得手段A3により求められたフィードフォワード噴射量Fbaseに後述するフィードバック補正値DFiを加えることによって燃料噴射量Fiを求める。燃料噴射量Fiは、最終的にインジェクタ39から噴射される燃料噴射量であるので、場合により最終燃料噴射量Fiとも称呼される。
Fi=Fbase+DFi ・・・(1)
一方、燃料噴射量算出手段A5は、空燃比フィードバック制御条件が成立していないとき、燃料噴射量Fiをフィードフォワード噴射量Fbaseに設定する。即ち、燃料噴射量算出手段A5は、空燃比フィードバック制御条件が成立していないとき、フィードフォワード噴射量Fbaseをフィードバック補正値DFiによって補正することなく、フィードフォワード噴射量Fbaseに基いて燃料噴射量Fiを求める。なお、後述するように、空燃比フィードバック制御条件が成立していないとき、フィードバック補正値DFiは「0」に設定されるから、燃料噴射量算出手段A5は空燃比フィードバック制御条件が成立していないときにおいても上記(1)式に従って燃料噴射量Fiを求めているということができる。
更に、燃料噴射量算出手段A5は、燃料噴射量Fiの燃料が今回の吸気行程を迎える気筒に対して供給されるように、その気筒のインジェクタ39に対して噴射指示を出力する。即ち、燃料噴射量算出手段A5は、前記算出された燃料噴射量Fiの燃料を燃料噴射手段であるインジェクタ39から噴射させるための噴射指示を同燃料噴射手段に対して行う燃料噴射指示手段を含んでいる。
<下流側フィードバック補正量の算出>
先ず、下流側目標値設定手段A6は、上述した目標空燃比決定手段A2と同様、内燃機関10の運転状態である機関回転速度NE及びスロットル弁開度TA等に基づいて下流側目標値Voxsrefを決定する。この下流側目標値Voxsrefは、本例においては、下流側目標値Voxsrefに対応する空燃比が上述した目標空燃比abyfr(k)と常時一致するように設定される。
出力偏差量算出手段A7は、下記(2)式に基づいて、下流側目標値設定手段A6により設定されている現時点(具体的には、今回のFiの噴射指示開始時点)での下流側目標値Voxsrefから現時点での下流側酸素濃度センサ67の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
DVoxs=Voxsref−Voxs ・・・(2)
PIDコントローラA8は、下記(3)式に従って出力偏差量DVoxsを比例・積分・微分処理(PID処理)することにより下流側フィードバック補正量Vafsfbを求める。
Vafsfb=Kp・DVoxs+Ki・SDVoxs+Kd・DDVoxs ・・・(3)
上記(3)式において、Kpは予め設定された比例ゲイン(比例定数)、Kiは予め設定された積分ゲイン(積分定数)、Kdは予め設定された微分ゲイン(微分定数)である。また、SDVoxsは出力偏差量DVoxsの時間積分値であり、DDVoxsは出力偏差量DVoxsの時間微分値である。下流側フィードバック補正量Vafsfbは、下流側目標値Voxsrefと下流側酸素濃度センサ67の出力値Voxsとの定常偏差をゼロにするための値である。この下流側フィードバック補正量Vafsfbは、後述するように制御用空燃比abyfsを算出する際に用いられる。
<上流側フィードバック補正値の算出>
下流側空燃比フィードバック制御条件成立判定手段A9は、所定の下流側空燃比フィードバック実行条件が成立しているか否かを判定し、下流側空燃比フィードバック実行条件が成立しているとき制御用空燃比相当出力値算出手段A10に下流側フィードバック補正量Vafsfbを供給する。下流側空燃比フィードバック実行条件は、ここでは、上記空燃比フィードバック制御条件(上流側空燃比フィードバック制御条件)が成立し、且つ、機関の冷却水温THWが第1所定温度THW1thより高い第2所定温度THW2th以上である場合に成立する。
制御用空燃比相当出力値算出手段A10は、下流側空燃比フィードバック実行条件が成立しているとき、上流側空燃比センサ66の出力値Vabyfsに下流側フィードバック補正量Vafsfbを加えることにより制御用空燃比相当出力値(Vabyfs+Vafsfb)を求める。
一方、制御用空燃比相当出力値算出手段A10は、下流側空燃比フィードバック実行条件が成立していないとき、制御用空燃比相当出力値を上流側空燃比センサ66の出力値Vabyfsに設定する。なお、後述するように、下流側空燃比フィードバック実行条件が成立していないとき、下流側フィードバック補正量Vafsfbは「0」に設定されるから、制御用空燃比相当出力値算出手段A10は下流側空燃比フィードバック実行条件が成立していないときにおいても上流側空燃比センサ66の出力値Vabyfsに下流側フィードバック補正量Vafsfbを加えることにより制御用空燃比相当出力値(Vabyfs+Vafsfb)を求めているということができる。
テーブル変換手段A11は、制御用空燃比相当出力値算出手段A10により算出された制御用空燃比相当出力値(Vabyfs+Vafsfb)と、図2に示した上流側空燃比センサの出力値Vabyfsと空燃比A/Fとの関係を規定したテーブルMapabyfsとに基づいて、現時点における制御用空燃比abyfsを求める。このように、制御用空燃比abyfsは、上流側空燃比センサ66の出力値Vabyfsに対応する空燃比に対して下流側フィードバック補正量Vafsfbに相当する分だけ異なる空燃比である。なお、下流側フィードバック補正量Vafsfbは、あくまで上流側空燃比センサ66の出力値Vabyfsの僅かな補正を行うものであるので、制御用空燃比相当出力値(Vabyfs+Vafsfb)に基いて得られる制御用空燃比abyfsは、実質的に、空燃比センサ(上流側空燃比センサ66)の出力値に基いて得られる空燃比(検出空燃比)であるということができる。
一方、筒内吸入空気量遅延手段A12は、筒内吸入空気量算出手段A1により吸気行程毎に求められRAM73に記憶されている筒内吸入空気量Mcのうち、現時点からNストローク前に吸気行程を迎えた気筒の筒内吸入空気量Mc(k−N)をRAM73から読み出す。ここで、燃料の噴射指示からその燃料の燃焼室25内での燃焼に基づく排ガスが上流側空燃比センサ66に到達するまでの時間を無駄時間Lと称呼するものとすると、ストローク数Nは、無駄時間Lに相当するストローク回数である。ここで、一ストロークはある気筒のピストンが上死点から下死点(又は、その逆)に移動すること、即ち、クランク角が180度変化することに相当する。本例での内燃機関10は4気筒内燃機関であるから、燃料噴射指示はクランク角が180度変化する毎に一回だけ行われる。従って、本例では、ストローク数Nは、無駄時間Lに相当する燃料噴射指示の回数に等しくなる。
無駄時間Lは、燃焼行程に係わる遅れ(行程遅れ)による時間と排気通路での排ガスの移動に係わる遅れ(輸送遅れ)による時間との和として表される。行程遅れによる時間は、機関回転速度NEの増加に応じて短くなる。輸送遅れに係る時間は、機関回転速度NEの増加及び筒内吸入空気量Mc(k)の増加に応じて短くなる。即ち、図5に示したように、無駄時間Lは、機関回転速度NEの増加及び筒内吸入空気量Mc(k)の増加に応じて短くなる。
一方、図6に示すようにストローク数N(無駄時間Lに相当するストローク回数)は、筒内吸入空気量Mc(k)の増加に応じて小さくなるものの機関回転速度NEには殆ど影響されない。これは、単位時間あたりのストローク回数が機関回転速度NEに比例することに基づく。即ち、例えば、ある機関回転速度NE1における無駄時間がL1であるとすると、機関回転速度NE1よりも大きい機関回転速度NE2における無駄時間L2は無駄時間L1よりも短くなる。その一方、機関回転速度NE2における単位時間あたりのストローク回数N2は、機関回転速度NE1における単位時間あたりのストローク回数N1より大きくなる。その結果、相対的に短い無駄時間L2内におけるストローク回数は、相対的に長い無駄時間L1内におけるストローク回数と非常に近くなる。
そこで、筒内吸入空気量遅延手段A12は、ストローク数Nを、図7のグラフに示した筒内吸入空気量Mcとストローク数Nとの関係を規定するテーブルMapNに実際の筒内吸入空気量Mc(k)を適用することにより求める。これにより、ストローク数Nは、筒内吸入空気量Mc(k)が大きいほどより小さい値に決定される。このように、本装置は、引数が1つのテーブルMapNを使用してストローク数Nを求めるように構成されているので、ストローク数Nを求めるためのテーブルの作製に要する労力が軽減され、且つ、ストローク数Nを求めるためのテーブル検索に要するCPU71の負荷が小さくなる。
再び、図4を参照すると、制御用筒内燃料供給量算出手段A13は、筒内吸入空気量遅延手段A12により求められた現時点からNストローク前の筒内吸入空気量Mc(k−N)をテーブル変換手段A11により求められた今回の制御用空燃比abyfsで除することにより、現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)を求める。なお、制御用筒内燃料供給量Fc(k−N)は、制御用空燃比abyfsに基いて得られる値であるので、実質的に、空燃比センサ(上流側空燃比センサ66)の出力値に基いて得られる空燃比(検出空燃比)に相当する値であるということができる。
このように、現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入吸気量Mc(k−N)を今回の制御用空燃比abyfsで除するのは、上流側空燃比センサ66の現時点での出力値Vabyfsが、無駄時間Lに相当するNストローク前の吸気行程にて吸入された混合気の燃焼に基づく排ガスの空燃比を表しているからである。
目標筒内燃料供給量遅延手段A14は、フィードフォワード噴射量取得手段A3により吸気行程毎に求められRAM73に記憶されている目標筒内燃料供給量Fcrのうち、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)をRAM73から読み出す。この目標筒内燃料供給量遅延手段A14は、燃料の噴射指示から無駄時間Lだけ前の時点にて決定されていた目標空燃比abyfr(k-N)に相当する値である無駄時間前値Fcr(k−N)(=Mc(k−N)/abyfr(k−N))を取得する第1遅延処理手段に相当する。従って、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)は、「第1遅延処理手段により取得された無駄時間前値」に対応する。
目標筒内燃料供給量遅延手段A14は、求めたNストローク前の目標筒内燃料供給量Fcr(k−N)を、後に詳述するローパスフィルタA17(第2遅延処理手段)に供給する。そして、ローパスフィルタA17は、目標筒内燃料供給量Fcr(k−N)に対してローパスフィルタ処理を施したフィードバック用目標値Fcrlow(k−N)を出力する。これら目標筒内燃料供給量遅延手段A14及びローパスフィルタA17は、上流側空燃比フィードバック制御条件成立判定手段A4によって成立・不成立が判定される空燃比フィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているか否かに関わらず、フィードバック用目標値Fcrlow(k−N)を算出するようになっている。換言すると、フィードバック用目標値Fcrlow(k−N)は、空燃比フィードバック制御条件が成立しておらず、後述する筒内燃料供給量偏差DFc及びフィードバック補正値DFiが更新されていない場合であっても、常に算出・更新されている。
筒内燃料供給量偏差算出手段A15は、下記(4)式に基づいて、上記フィードバック用目標値Fcrlow(k−N)から制御用筒内燃料供給量算出手段A13により求められた現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)を減じることにより、筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。
DFc=Fcrlow(k−N)−Fc(k−N) ・・・(4)
PIコントローラA16は、筒内燃料供給量偏差算出手段A15により算出された筒内燃料供給量偏差DFcを下記(5)式に基づいて比例・積分処理(PI処理)することにより、Nストローク前の燃料供給量の過不足を補償するためのフィードバック補正値DFiを求める。
DFi=(Gp・DFc+Gi・SDFc)・KFB ・・・(5)
上記(5)式において、Gpは予め設定された比例ゲイン(比例定数)、Giは予め設定された積分ゲイン(積分定数)である。SDFcは筒内燃料供給量偏差DFcの時間積分値である。また、係数KFBは、機関回転速度NE及び筒内吸入空気量Mc等により可変とすることが好適であるが、本例では「1」としている。係るフィードバック補正値DFiは、先に述べたように燃料噴射量算出手段A5により燃料噴射量Fiを求める際に使用される。
このように、本装置は、フィードバック用目標値Fcrlow(k−N)と現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)とが一致するように上流側空燃比センサ66の出力値Vabyfs(又は、上流側空燃比センサ66の出力値Vabyfsと下流側フィードバック補正量Vafsfbとの和)に基づいて空燃比をフィードバック制御する。
(フィードバック用目標値Fcrlow(k−N)の算出)
ローパスフィルタA17は、その伝達特性F(s)をラプラス演算子sを用いて表した下記(6)式に示すように、一次のディジタルフィルタである。下記(6)式において、τは時定数(応答性に関するパラメータ)であり、周波数(1/τ)以上の高周波数成分の通過が実質的に禁止される。
F(s)=1/(1+τ・s) ・・・(6)
ところで、上流側空燃比センサ66の応答遅れの程度(応答遅れ特性)は、筒内吸入空気量Mc(k)に大きく影響を受けるとともに機関回転速度NEにも影響を受ける。しかしながら、実際には、図8に示すように、上流側空燃比センサ66の応答遅れに相当する時定数は、筒内吸入空気量Mc(k)の増加に応じて小さくなるものの機関回転速度NEには殆ど影響されない。
そこで、本装置は、時定数τを、図9にグラフにより示した筒内吸入空気量Mcと時定数τとの関係を規定するテーブルMapτに対して実際の筒内吸入空気量Mc(k)を適用することにより求める。これにより、時定数τは、筒内吸入空気量Mc(k)が大きいほどより小さい値に決定される。このように、引数が1つのテーブルを使用することにより、時定数τを求めるためのテーブルの作製に要する労力が軽減され、時定数τを求めるためのテーブル検索に要するCPU71の負荷が小さくなる。
ローパスフィルタA17は、目標筒内燃料供給量遅延手段A14により求められた目標筒内燃料供給量Fcr(k−N)を入力するとともに、フィードバック用目標値Fcrlow(k−N)を筒内燃料供給量偏差算出手段A15へ出力する。このローパスフィルタA17は、無駄時間だけ前の時点にて目標空燃比決定手段A2により決定されていた目標空燃比abyfr(k-N)に相当する値である無駄時間前値Fcr(k−N)に対してローパスフィルタ処理を施す第2遅延処理手段に相当する。
この結果、フィードバック用目標値Fcrlow(k−N)は、上流側空燃比センサ66に目標空燃比abyfr(k−N)に応じた望ましい空燃比の排ガスが到達しているときに実際に上流側空燃比センサ66が出力するであろう出力値に基いて算出される理想の筒内燃料供給量を示す値となる。従って、筒内燃料供給量偏差算出手段A15により算出されるフィードバック用目標値Fcrlow(k−N)と制御用筒内燃料供給量Fc(k−N)との偏差である筒内燃料供給量偏差DFcは燃料供給量の実際の過不足を精度良く表す。この結果、目標空燃比abyfr(k)が例えばステップ状に変化した場合であっても、空燃比の変動を小さくすることができる。
この本装置による利点について図10を参照して説明する。図10は、上流側空燃比フィードバック制御が継続して実行され、目標空燃比が時刻t1においてリーン側空燃比からリッチ側空燃比へとステップ状に急変し、且つ、目標空燃比を得るために必要な量と略一致した量の燃料が機関10に供給されていた場合における、各値を示したタイムチャートである。
この例において、従来の装置によれば、目標筒内燃料供給量Fcr(k−N)から制御用筒内燃料供給量Fc(k−N)を減じることにより筒内燃料供給量偏差DFcが求めれ、この筒内燃料供給量偏差DFcが「0」になるようにフィードバック補正値DFiが求められていた。目標筒内燃料供給量Fcr(k−N)は、図10の(C)において二点鎖線により示したように、時刻t1から無駄時間Lが経過した時刻t2においてステップ状に変化していた。従って、機関10には目標空燃比を得るために必要な量と略一致した量の燃料が供給されていたにも関わらず、時刻t2以降において筒内燃料供給量偏差DFcが誤差errを含み、その結果、フィードバック補正値DFiが過大となって機関の空燃比が乱れていた。
これに対し、本装置によれば、目標筒内燃料供給量Fcr(k−N)をローパスフィルタ処理することにより得られるフィードバック用目標値Fcrlow(k−N)から制御用筒内燃料供給量Fc(k−N)を減じることにより筒内燃料供給量偏差DFcが求めれ、この筒内燃料供給量偏差DFcが「0」になるようにフィードバック補正値DFiが求められる。フィードバック用目標値Fcrlow(k−N)は、時刻t2以降において上流側空燃比センサ66の応答遅れ特性を反映するように徐々に増大する。従って、筒内燃料供給量偏差DFcの絶対値は大きくならず、その結果、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
この本装置による他の利点について図11を参照して説明する。図11は、以下の総ての条件を満たした場合の本装置にて使用される各値を示したタイムチャートである。
・時刻t11まで機関の冷却水温THWが第1所定温度THW1thより低いことにより上流側空燃比フィードバック制御条件が不成立であって、上流側空燃比フィードバック制御が実行されていない(即ち、筒内燃料供給量偏差DFc及びフィードバック補正値DFiの継続的な更新がなされていないオープンループ制御状態にある。)。
・時刻t11にて機関の冷却水温THWが第1所定温度THW1thに到達することにより上流側空燃比フィードバック制御条件が成立する。従って、時刻t11以降において上流側空燃比フィードバック制御が実行される。
・目標空燃比は、時刻t11に至るまで理論空燃比よりもリッチな空燃比であり、且つ、理論空燃比に向けて徐々に増大するする(リーン側の空燃比となる)。
・目標空燃比は、時刻t11にて同時刻t11における理論空燃比よりもリッチな空燃比から理論空燃比へとステップ状に急変する。
・機関10には目標空燃比を得るために必要な量と略一致した量の燃料が供給されている。
この例において、従来の装置によれば、時刻t11以前においてフィードバック用目標値Fcrlow(k−N)が算出されておらず、時刻t11からフィードバック用目標値Fcrlow(k−N)の算出が開始されていた。そのため、フィードバック用目標値Fcrlow(k−N)は、図10の(C)において二点鎖線により示したように、時刻t11から理論空燃比に対応した値となっていた。従って、機関10には目標空燃比を得るために必要な量と略一致した量の燃料が供給されていたにも関わらず、時刻t11以降において筒内燃料供給量偏差DFcが誤差errを含み、その結果、機関の空燃比が乱れていた。
これに対し、本装置によれば、フィードバック用目標値Fcrlow(k−N)が時刻t11以前(上流側空燃比フィードバック制御が実行されていない期間)においても算出され続けている。従って、時刻t11以降において、フィードバック用目標値Fcrlow(k−N)が図10の(C)において実線により示したように無駄時間L及び上流側空燃比センサ66の応答遅れ特性を反映するように変化する。これにより、筒内燃料供給量偏差DFcの絶対値は大きくならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
(実際の作動)
次に、本装置の実際の作動について説明する。以下、説明の便宜上、「MapX(a1,a2,…)」は、a1,a2,…を引数とする値Xを求めるためのテーブルを表すものとする。また、引数の値がセンサの検出値である場合、その引数の値には現在値が適用される。
<空燃比フィードバック制御>
CPU71は、図12にフローチャートにより示した燃料噴射量Fiの計算及び噴射指示を行うルーチンを、各気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、任意の気筒のクランク角度が上記所定クランク角度になると、CPU71はステップ1200から処理を開始して以下に記載したステップ1205乃至ステップ1230の処理を順に行い、ステップ1295に進んで本ルーチンを一旦終了する。
ステップ1205:CPU71は、テーブルMapMc(NE,Ga)に基づいて今回の吸気行程を迎える気筒(以下、「燃料噴射気筒」と云うこともある。)に吸入される今回の筒内吸入空気量Mc(k)を推定・決定する。
ステップ1210:CPU71は、機関回転速度NE、スロットル弁開度TA及び冷却水温THW等に基づいて今回の目標空燃比abyfr(k)を取得する。なお、別のルーチンにより目標空燃比abyfrが決定されている場合、CPU71は、このステップ1210にて、その決定されている目標空燃比abyfrの最新値を今回の目標空燃比abyfr(k)として取得する。
ステップ1215:CPU71は、上記筒内吸入空気量Mc(k)を上記目標空燃比abyfr(k)で除することにより、フィードフォワード噴射量Fbaseを決定する。
ステップ1220:CPU71は、今回の目標筒内燃料供給量Fcr(k)に上記フィードフォワード噴射量Fbaseを格納する。この目標筒内燃料供給量Fcr(k)は、後述するルーチンにてフィードバック用目標値Fcrlow(k−N)を求めるのに用いられる。
ステップ1225:CPU71は、上記(1)式に従い、フィードフォワード噴射量Fbaseに後述するルーチンにて求められている最新のフィードバック補正値DFiを加えることにより燃料噴射量Fiを決定する。
ステップ1230:CPU71は、燃料噴射量Fiの燃料が燃料噴射気筒に対するインジェクタ39から噴射されるように、そのインジェクタ39に対して噴射指示を行う。
以上により、フィードフォワード噴射量Fbaseが運転状態に応じて変化する目標空燃比abyfr(k)と今回の筒内吸入空気量Mc(k)とに基づいて取得され、そのフィードフォワード噴射量Fbaseがフィードバック補正値DFiにより補正されることにより最終的な燃料噴射量(最終燃料噴射量)Fiが求められ、その燃料噴射量Fiの燃料の噴射指示が燃料噴射気筒のインジェクタ39に対してなされる。
<上流側フィードバック補正値の計算>
次に、フィードバック補正値DFiを算出する際の作動について説明する。CPU71は図13にフローチャートにより示したルーチンを実行周期Δt1(一定)の経過毎に繰り返し実行するようになっている。従って、所定のタイミングにてCPU71はステップ1300から処理を開始し、以下に記載したステップ1305乃至ステップ1330の処理を順に行う。なお、この実行周期Δt1は、例えば、機関回転速度NEが想定される最大の機関回転速度である場合における連続する二つの噴射指示の発生時間間隔より短い時間に設定されている。
ステップ1305:CPU71は、図9に示したテーブルMapτ(Mc(k))に基づいてローパスフィルタ処理の時定数τを決定する。
ステップ1310:CPU71は、図7に示したテーブルMapN(Mc(k))に基づいてストローク数Nを決定する。
ステップ1315:CPU71は、上記時定数τと上記実行周期Δt1とに基づいて鈍し処理定数n(≧1)を取得する。この鈍し処理定数nは、後述のステップ1325にて実行されるローパスフィルタ処理において用いられる。この鈍し処理定数nと実行周期Δt1との積は時定数τに比例するから、時定数τが大きいほど鈍し処理定数nはより大きい値に設定される。
ステップ1320:CPU71は、現時点からNストローク前(無駄時間L前)に吸気行程を迎えた気筒の筒内吸入空気量Mc(k−N)を現時点からNストローク前の時点の目標空燃比abyfr(k-N)で除することにより、現時点からNストローク前(無駄時間L前)の目標筒内燃料供給量Fcr(k−N)を算出する。
ステップ1325:CPU71は、上記鈍し処理定数nと、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1と、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)と、ステップ1325内に示した式とに基づいてフィードバック用目標値Fcrlow(k−N)を更新する。ステップ1325内に示した式は、ローパスフィルタ処理を簡易的に行うための式である。前回値Fcrlow1は、前回の本ルーチン実行時において後述するステップ1330にて設定されるフィードバック用目標値Fcrlow(k−N)の最新値である。
ステップ1330:CPU71は、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1に上記ステップ1325にて求めた最新のフィードバック用目標値Fcrlow(k−N)を格納する。以上により、上述した空燃比フィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているか否かに関わらず、フィードバック用目標値Fcrlow(k−N)が実行周期Δt1経過する毎に算出・更新される。
次に、CPU71はステップ1335に進み、上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。いま、上流側空燃比フィードバック制御条件が成立していない(不成立である)として説明を続けると、CPU71はステップ1335にて「No」と判定してステップ1340に進み、フィードバック補正値DFiを「0」に設定し、続くステップ1345にて筒内燃料供給量偏差の積分値SDFcを「0」に設定した後、ステップ1395に進んで本ルーチンを一旦終了する。
一方、上記ステップ1335の判定時において、上流側空燃比フィードバック制御条件が成立していると、CPU71はステップ1335にて「Yes」と判定し、以下に記載したステップ1350乃至ステップ1370の処理を順に行った後、ステップ1395に進んで本ルーチンを一旦終了する。
ステップ1350:CPU71は、現時点の上流側空燃比センサ66の出力値Vabyfsと後述するルーチンにて求められている下流側フィードバック補正量Vafsfbとの和である制御用空燃比相当出力値(Vabyfs+Vafsfb)を図2に示したテーブルMapabyfs(Vabyfs+Vafsfb)に基づいて変換することにより、現時点における制御用空燃比abyfsを求める。
ステップ1355:CPU71は、現時点からNストローク(N回の吸気行程、無駄時間L)前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を上記制御用空燃比abyfsで除することにより、現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)を求める。
ステップ1360:CPU71は、上記(4)式に従って、フィードバック用目標値Fcrlow(k−N)から上記制御用筒内燃料供給量Fc(k−N)を減じることにより筒内燃料供給量偏差DFcを求める。
ステップ1365:CPU71は、上記(5)式に基づくステップ1365内に示した式に従ってフィードバック補正値DFiを求める。
ステップ1370:CPU71は、その時点における筒内燃料供給量偏差の積分値SDFcに上記ステップ1360にて求めた筒内燃料供給量偏差DFcを加えて、新たな筒内燃料供給量偏差の積分値SDFcを求める。
以上により、フィードバック用目標値Fcrlow(k−N)と制御用筒内燃料供給量Fc(k−N)との差DFcに基づいてフィードバック補正値DFiが求められる。このフィードバック補正値DFiが前述した図12のステップ1225にて燃料噴射量Fiに反映されることにより空燃比フィードバック制御が実行される。
<下流側フィードバック補正量の計算>
次に、下流側フィードバック補正量Vafsfbを算出するための作動について説明する。CPU71は図14にフローチャートにより示したルーチンを、所定時間が経過する毎に繰り返し実行するようになっている。従って、所定のタイミングになるとCPU71はステップ1400から処理を開始し、ステップ1405に進んで上述した下流側フィードバック条件が成立しているか否かを判定する。
いま、下流側フィードバック条件が成立しているものとして説明を続ける。この場合、CPU71は以下に記載したステップ1410乃至ステップ1430の処理を順に行い、ステップ1495に進んで本ルーチンを一旦終了する。
ステップ1410:CPU71は、上記(2)式に従って、下流側目標値Voxsrefから現時点の下流側酸素濃度センサ67の出力値Voxsを減じることにより、出力偏差量DVoxsを求める。
ステップ1415:CPU71は、下記(7)式に基づき出力偏差量の微分値DDVoxsを求める。(7)式において、DVoxs1は前回の本ルーチン実行時において後述するステップ1430にて設定(更新)された出力偏差量DVoxsの前回値である。また、Δtは本ルーチンが前回実行された時点から今回実行された時点までの時間である。
DDVoxs=(DVoxs−DVoxs1)/Δt ・・・(7)
ステップ1420:CPU71は、上記(3)式に基づくステップ1420内に示した式に従って下流側フィードバック補正量Vafsfbを求める。
ステップ1425:CPU71は、その時点における出力偏差量の積分値SDVoxsに上記ステップ1410にて求めた出力偏差量DVoxsを加えて、新たな出力偏差量の積分値SDVoxsを求める。
ステップ1430:CPU71は、出力偏差量DVoxsの前回値DVoxs1に上記ステップ1410にて求めた出力偏差量DVoxsを格納する。
一方、ステップ1405の判定時において、下流側フィードバック条件が不成立であると、CPU71はステップ1405にて「No」と判定してステップ1435に進み、下流側フィードバック補正量Vafsfbを「0」に設定し、続くステップ1440にて出力偏差量の積分値SDVoxsを「0」に設定した後、ステップ1495に進んで本ルーチンを一旦終了する。
このように、下流側フィードバック条件が不成立であるときは、下流側フィードバック補正量Vafsfbが「0」に設定されるから、図13のルーチンのステップ1350における制御用空燃比相当出力値(Vabyfs+Vafsfb)が上流側空燃比センサ66の出力値Vabyfsと等しくなる。即ち、下流側酸素濃度センサ67の出力値Voxsに応じた空燃比のフィードバック制御は行われない。
以上、説明したように、第1実施形態に係る内燃機関の空燃比制御装置によれば、現時点からNストローク前(従って、無駄時間Lだけ前)の無駄時間前値である目標空燃比abyfr(k−N)に相当する目標筒内燃料供給量Fcr(k−N)に時定数をτとするローパスフィルタ処理を施したフィードバック用目標値Fcrlow(k−N)と、現時点の上流側空燃比センサ66の出力値Vabyfsに基づく制御用空燃比abyfsに相当する現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)との差に基づいてフィードバック補正値DFiが求められ、このフィードバック補正値DFiが燃料噴射量Fiに反映されることで空燃比フィードバック制御が実行される。
これにより、目標空燃比abyfr(k)が変化した場合において、フィードバック補正値DFiの算出に使用されるフィードバック用目標値Fcrlow(k−N)と現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)の変化のタイミングが一致し得る。加えて、上記ローパスフィルタ処理の時定数τは、上流側空燃比センサ66の応答遅れ特性に相当する値に設定されている。従って、上記変化のタイミング以降におけるフィードバック用目標値Fcrlow(k−N)の変化の遅れの程度と制御用筒内燃料供給量Fc(k−N)の変化の遅れの程度とが略一致する。この結果、目標空燃比abyfr(k)が急激に変化する場合であっても、フィードバック補正値DFiの絶対値が一時的に大きくなることを抑制し得、この結果、迅速に空燃比を目標空燃比に収束させることができる。
更に、本装置によれば、フィードバック用目標値Fcrlow(k−N)が上流側空燃比フィードバック制御が実行されていない期間(空燃比フィードバック制御条件不成立時)においても算出され続けている。従って、上流側空燃比センサ66の出力値Vabyfsに基く空燃比のフィードバック制御の開始直後の時点から、フィードバック用目標値Fcrlow(k−N)は無駄時間L及び上流側空燃比センサ66の応答遅れ特性を反映するように変化する。これにより、筒内燃料供給量偏差DFcの絶対値は大きくならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
<第2実施形態>
次に、本発明の第2実施形態に係る内燃機関の空燃比制御装置(第2の空燃比制御装置)について説明する。第2実施形態に係る空燃比制御装置は、以下の2点において主として第1実施形態に係る空燃比制御装置と相違する。
(相違点1)
第2実施形態に係る空燃比制御装置は、フィードバック用目標値Fcrlow(k−N)の算出を上流側空燃比フィードバック制御条件(空燃比フィードバック制御条件)が成立した時点から開始する。換言すると、第2実施形態に係る空燃比制御装置は、空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)の最新値のみを保持し、それらの最新値より過去の値を保持せず、且つ、目標筒内燃料供給量Fcr(k)を算出しない。従って、第2実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、フィードバック用目標値Fcrlow(k)を算出しない。
また、第2実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立している場合、目標空燃比abyfr(k)、筒内吸入空気量Mc(k)及び目標筒内燃料供給量Fcr(k)のデータを無駄時間Lよりも長い時間にわたって保持し、且つ、それらのデータに基いてフィードバック用目標値Fcrlow(k−N)を算出する。
但し、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Lが経過するまでの期間において、CPU71は、フィードバック用目標値Fcrlow(k−N)の算出に用いる現時点より無駄時間Lだけ前の時点における目標筒内燃料供給量Fcr(k)を保持していない。従って、第2実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Lが経過した時点以降において、フィードバック用目標値Fcrlow(k−N)の更新を実質的に開始する。
(相違点2)
更に、第2実施形態に係る空燃比制御装置は、空燃比フィードバック制御を上流側空燃比フィードバック制御条件が成立した時点から直ちには開始せず、その上流側空燃比フィードバック制御条件成立時点から所定時間(フィードバック開始待ち時間)Teが経過した後に空燃比フィードバック制御の実行を開始する。
この所定時間Teは、上流側空燃比フィードバック制御条件成立時点から算出され始めたフィードバック用目標値Fcrlow(k−N)が、目標空燃比(特に、上流側空燃比フィードバック制御条件成立時点以降における目標空燃比)の変化を反映した値に実質的に等しくなるまでの時間に相当する。換言すると、所定時間Teは、フィードバック用目標値Fcrlow(k−N)の計算を適当な値から開始した場合であっても、フィードバック用目標値Fcrlow(k−N)が正規の値(第1実施形態のように、フィードバック用目標値Fcrlow(k−N)を常に計算し続けている場合に得られているであろうフィードバック用目標値Fcrlow(k−N))に十分に近い値となるまでの時間より長い時間のうちの最短の時間に設定されることが好ましい。従って、所定時間Teは無駄時間Lよりも長い時間である。
以下、主としてこれらの相違点1及び相違点2について図15乃至図19を参照しながら説明する。なお、図15乃至図18に示したフローチャートにおいて、先に説明したステップと同一のステップには必要に応じて同一の符号を付し、それらについての詳細な説明を省略する。また、以下の説明を簡素に行うために、時定数τ(従って、鈍し処理定数n)及び無駄時間L(ストローク数N)は一定値とする。
<上流側フィードバック補正値の計算>
第2実施形態に係る制御装置のCPU71は、図12及び図14に示したルーチンを実行するとともに、図13に代わる図15にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングにてCPU71はステップ1500から処理を開始してステップ1505に進み、上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
このとき、上流側空燃比フィードバック制御条件が成立していなければ、CPU71はステップ1505にて「No」と判定して上述したステップ1340及びステップ1345の処理を実行し、ステップ1595に進んで本ルーチンを一旦終了する。これにより、フィードバック補正値DFiが「0」に設定されるので、上流側空燃比センサ66の出力値Vabyfsに基く空燃比フィードバック制御は実行されない。
一方、ステップ1505の判定時において、上流側空燃比フィードバック制御条件が成立していると、CPU71はステップ1505にて「Yes」と判定してステップ1510に進み、上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過しているか否かを判定する。
このとき、上流側空燃比フィードバック制御条件は成立しているが、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過していなければ、CPU71はステップ1510にて「No」と判定して上述したステップ1340及びステップ1345の処理を実行し、ステップ1595に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立しても、その時点から上記所定時間Te以上が経過していなければ、フィードバック補正値DFiが「0」に設定されるので、上流側空燃比センサ66の出力値Vabyfsに基く空燃比フィードバック制御は実行されない。
他方、上流側空燃比フィードバック制御条件が成立していて、且つ、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過していると、CPU71はステップ1505及びステップ1510の両ステップにて「Yes」と判定し、上述したステップ1350乃至ステップ1370の処理を順に行った後、ステップ1595に進んで本ルーチンを一旦終了する。これにより、上流側空燃比フィードバック制御条件は成立していて、且つ、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過しているとき、上流側空燃比センサ66の出力値Vabyfsに基く空燃比フィードバック制御が実行される。
なお、本明細書においては、上流側空燃比フィードバック制御条件が成立していて、且つ、上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過しているとき、「フィードバック実行条件」が成立しているという。従って、上流側空燃比フィードバック制御条件が成立してないときはフィードバック実行条件は不成立である。また、上流側空燃比フィードバック制御条件は成立していても、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過していないときは、フィードバック実行条件は不成立である。
<目標空燃比の設定>
第2実施形態に係る制御装置のCPU71は、更に、図16に示した目標空燃比決定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、CPU71は所定のタイミングにてステップ1600から処理を開始し、ステップ1605に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
いま、機関の冷却水温THWが第1所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、CPU71はステップ1605にて「No」と判定してステップ1610に進み、同ステップ1610中に示したテーブルMapabyfr(THW)に基いて目標空燃比abyfrを決定する。テーブルMapabyfr(THW)によれば、目標空燃比abyfrは理論空燃比stoichよりもリッチ側の空燃比であって、冷却水温THWが増大するにつれて理論空燃比stoichに向けて増大するように求められる。その後、CPU71はステップ1695に進み、本ルーチンを一旦終了する。
その後、機関10の運転が継続されることにより冷却水温THWが第1所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、CPU71はステップ1605にて「Yes」と判定してステップ1615に進み、上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過しているか否かを判定する。
このとき、上流側空燃比フィードバック制御条件は成立しているが、その上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過していなければ、CPU71はステップ1615にて「No」と判定して上述したステップ1610の処理を実行し、ステップ1695に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立しても、その時点から上記所定時間Te以上が経過していなければ、目標空燃比abyfrは理論空燃比stoichよりもリッチ側の空燃比に設定される。
更に、機関10の運転が継続されることにより、上流側空燃比フィードバック制御条件が成立してから上記所定時間Te以上が経過したと仮定する。この場合、CPU71はステップ1605及びステップ1615の両ステップにて「Yes」と判定し、ステップ1620に進んで目標空燃比abyfrを理論空燃比stoich(又は、機関の運転状態に基づいて定まる他の空燃比)に設定する。このとき、目標空燃比abyfrが理論空燃比stoichに変更されれば、目標空燃比abyfrは、この時点において理論空燃比stoichよりもリッチな空燃比から理論空燃比stoichへとステップ状に急変(増大)する。
<フィードバック用目標値の初期値取得>
第2実施形態に係る制御装置のCPU71は、更に、図17に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、CPU71は所定のタイミングにてステップ1700から処理を開始し、ステップ1705に進んで上述した上流側空燃比フィードバック制御条件が成立した直後であるか否かを判定する。
いま、機関の冷却水温THWが第1所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、CPU71はステップ1705にて「No」と判定してステップ1795に進み、本ルーチンを一旦終了する。
その後、機関10の運転が継続されることにより冷却水温THWが第1所定温度THW1thより高くなったことにより、上流側空燃比フィードバック制御条件が成立したと仮定する。この場合、CPU71はステップ1705にて「Yes」と判定してステップ1710に進み、その時点の筒内吸入空気量Mc(k)を理論空燃比stoich(又は、理論空燃比以外の適当な空燃比)により除した値をフィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1として格納する。ここで前回値Fcrlow1に格納された値は、フィードバック用目標値Fcrlow(k−N)の算出を開始するための初期値として後述する図18のステップ1325にて使用される。次いで、CPU71はステップ1795に進んで本ルーチンを一旦終了する。
<フィードバック用目標値Fcrlow(k−N)の算出>
第2実施形態に係る制御装置のCPU71は、更に、図18に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、CPU71は所定のタイミングにてステップ1800から処理を開始し、ステップ1805に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。いま、機関の冷却水温THWが第1所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、CPU71はステップ1805にて「No」と判定し、ステップ1895に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立していない場合、フィードバック用目標値Fcrlow(k−N)は算出されない。
その後、機関10の運転が継続されることにより冷却水温THWが第1所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、CPU71はステップ1805にて「Yes」と判定してステップ1810に進み、現時点は、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Lが経過した後の時点であるか否かを判定する。
現時点は、上流側空燃比フィードバック制御条件が成立した直後であるので、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Lが経過した後の時点ではない。従って、CPU71はステップ1810にて「No」と判定し、ステップ1895に進んで本ルーチンを一旦終了する。
更に、機関10の運転が継続されることにより、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Lが経過したと仮定する。この場合、CPU71はステップ1805及びステップ1810の両ステップにて「Yes」と判定し、上述したステップ1320乃至ステップ1330の処理を順に行った後、ステップ1895に進んで本ルーチンを一旦終了する。
なお、本実施形態において、値Fcr(k-N)は現時点から無駄時間Lだけ前の時点の目標筒内燃料供給量Fcr、値Mc(k-N)は現時点から無駄時間Lだけ前の時点の筒内吸入空気量Mc、値abyfr(k-N)は現時点から無駄時間Lだけ前の時点の目標空燃比abyfrである。この点は、後述する第3実施形態においても同様に適用される。
以上により、フィードバック用目標値Fcrlow(k−N)の更新が実質的に開始され、その後は、上流側空燃比フィードバック制御条件が成立している限り、所定時間の経過毎にフィードバック用目標値Fcrlow(k−N)が更新されて行く。そして、前述したように、上流側空燃比フィードバック制御条件が成立してから所定時間(フィードバック開始待ち時間)Teが経過すると空燃比フィードバック制御が開始され始める(図15を参照。)。
従って、図19のタイムチャートに示したように、時刻t21にて上流側空燃比フィードバック制御条件が成立すると、フィードバック用目標値Fcrlow(k−N)が上述した初期値から更新され始める。但し、フィードバック用目標値Fcrlow(k−N)は、時刻t21から無駄時間Lが経過した時刻t22から実質的な変化を開始する。そして、フィードバック用目標値Fcrlow(k−N)は、時刻t21から所定時間(フィードバック開始待ち時間)Teが経過した時刻t23より僅かに前の時点にて上述した正規の値に近づく。また、時刻t23になると、空燃比フィードバック制御が開始される。
この結果、時刻t23以降においてフィードバック用目標値Fcrlow(k−N)は無駄時間L及び上流側空燃比センサ66の応答遅れ特性を反映するように変化する。従って、筒内燃料供給量偏差DFcの絶対値は過大にならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
なお、図17のステップ1710にて決定されるフィードバック用目標値Fcrlow1の初期値(上流側空燃比フィードバック制御条件成立後において初めてステップ1325のフィルタ処理の計算を行う際に用いるフィードバック用目標値の前回値Fcrlow1)は、予め設定されたデフォルト値としてもよく、ステップ1710が実行される時点における筒内吸入空気量Mcを同時点における目標空燃比abyfrで除した値としてもよい。
以上、説明したように、第2実施形態に係る空燃比制御装置は、
所定の空燃比フィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているとき、前記燃料噴射手段に対する燃料の噴射指示から同噴射指示に基いて噴射された燃料が燃焼することにより生成された排ガスが前記空燃比センサに到達するまでの時間である無駄時間Lだけ前の時点にて前記目標空燃比決定手段(図16のルーチン)により決定されていた目標空燃比abyfrに相当する値である無駄時間前値Fcr(k-N)に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値Fcrlow(k-N)を算出するフィードバック用目標値算出手段(図18のルーチン)と、
前記機関の運転状態が前記所定の空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化した時点から同空燃比フィードバック制御条件が所定時間Te以上に亘り継続して成立しているというフィードバック実行条件が成立しているとき、前記フィードバック用目標値Fcrlow(k-N)と前記空燃比センサの出力値Vabyfsに相当する値Fc(k-N)とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値DFiを更新するフィードバック補正値算出手段(図15のルーチン)と、を備えている。
この結果、空燃比フィードバック制御開始後(フィードバック補正値DFiの更新及び同更新されたフィードバック補正値DFiによりフィードフォワード噴射量Fbaseの補正の開始後)において、フィードバック補正値DFiが過大又は過小にならないので、機関に供給される混合気の空燃比が比較的大きく変動するという事態が発生することを回避することができる。また、空燃比フィードバック制御を行っていないとき、フィードバック用目標値Fcrlow(k-N)を算出しないので、第1実施形態に係る空燃比制御装置に比較してCPU71の負荷を軽減することもできる。
なお、上記第2実施形態においては、空燃比フィードバック制御条件が成立してから無駄時間Lが経過した後にフィードバック用目標値Fcrlow(k-N)の更新が実質的に始まるが、それは、CPU71が空燃比フィードバック制御条件が成立してから無駄時間Lが経過するのを待っているだけのことである。従って、この空燃比制御装置は、空燃比フィードバック条件成立後にフィードバック用目標値Fcrlow(k-N)の事実上の計算を開始しているということができる。
<第3実施形態>
次に、本発明の第3実施形態に係る内燃機関の空燃比制御装置(第3の空燃比制御装置)について説明する。第3実施形態に係る空燃比制御装置は、以下の2点において主として第1実施形態に係る空燃比制御装置と相違する。
(相違点1)
第3実施形態に係る空燃比制御装置は、フィードバック用目標値Fcrlow(k−N)の算出を上流側空燃比フィードバック制御条件(空燃比フィードバック制御条件)が成立した時点から開始する。より具体的に述べると、第3実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)の最新値と前回値(最新値に更新される直前の値)のみを保持し、前回値を除いて最新値から無駄時間Lまで前の期間における目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)を保持せず、且つ、目標筒内燃料供給量Fcr(k)を算出しない。従って、第3実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が不成立であって空燃比フィードバック制御が実行されていない期間において、フィードバック用目標値Fcrlow(k)を算出しない。
また、第3実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立している場合、目標空燃比abyfr(k)、筒内吸入空気量Mc(k)及び目標筒内燃料供給量Fcr(k)のデータを無駄時間Lよりも長い時間にわたって保持し、且つ、それらのデータに基いてフィードバック用目標値Fcrlow(k−N)を算出する。
(相違点2)
但し、CPU71は、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Lが経過するまでの期間において、フィードバック用目標値Fcrlow(k−N)の算出に用いる現時点より無駄時間Lだけ前の時点における目標筒内燃料供給量Fcr(k−N)を保持していない。そこで、第3実施形態に係る空燃比制御装置は、上流側空燃比フィードバック制御条件が成立した時点から無駄時間Lが経過するまでの期間において、前記フィードバック用目標値Fcrlow(k−N)の算出に用いる無駄時間Lだけ前の目標筒内燃料供給量Fcr(k−N)に代えて、上流側空燃比フィードバック制御条件が成立する直前の時点における目標空燃比abyfr(=abyfrint)に相当する値を使用することによりフィードバック用目標値Fcrlow(k−N)の更新を行う。
この「上流側空燃比フィードバック制御条件が成立する直前の時点における目標空燃比abyfr(=abyfrint)に相当する値」とは、上流側空燃比フィードバック制御条件が成立する直前の時点における筒内吸入空気量Mc(=Mcint)を同じ時点における目標空燃比abyfr(=abyfrint)により除した値Fcrint(=Mcint/abyfrint)である。なお、第3実施形態に係る空燃比制御装置は、第1実施形態と同様、空燃比フィードバック制御を上流側空燃比フィードバック制御条件が成立した時点から直ちに開始する。
以下、主としてこれらの相違点1及び相違点2について図20乃至図24を参照しながら説明する。なお、図20乃至図23において、先に説明したステップと同一のステップには必要に応じて同一の符号を付し、それらについての詳細な説明を省略する。また、以下の説明を簡素に行うために、時定数τ(従って、鈍し処理定数n)及び無駄時間L(ストローク数N)は一定値とする。
<上流側フィードバック補正値の計算>
第3実施形態に係る制御装置のCPU71は、図12及び図14に示したルーチンを実行するとともに、図13に代わる図20にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングにてCPU71はステップ2000から処理を開始してステップ2005に進み、上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
このとき、上流側空燃比フィードバック制御条件が成立していなければ、CPU71はステップ2005にて「No」と判定して上述したステップ1340及びステップ1345の処理を実行し、ステップ2095に進んで本ルーチンを一旦終了する。これにより、フィードバック補正値DFiが「0」に設定されるので、上流側空燃比センサ66の出力値Vabyfsに基く空燃比フィードバック制御は実行されない。
一方、上流側空燃比フィードバック制御条件が成立していると、CPU71はステップ2005にて「Yes」と判定し、上述したステップ1350乃至ステップ1370の処理を順に行った後、ステップ2095に進んで本ルーチンを一旦終了する。これにより、上流側空燃比センサ66の出力値Vabyfsに基く空燃比フィードバック制御が実行される。
<目標空燃比の設定>
第3実施形態に係る制御装置のCPU71は、更に、図21に示した目標空燃比決定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、CPU71は所定のタイミングにてステップ2100から処理を開始してステップ2105に進み、上述した上流側空燃比フィードバック制御条件が不成立であるか否かを判定する。
いま、機関の冷却水温THWが第1所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件が成立していないと仮定する。この場合、CPU71はステップ2105にて「Yes」と判定してステップ2110に進み、本ルーチンを前回実行したときに処理した後述するステップ2125において格納しておいた目標空燃比abyfrの最新値abyfr1を目標空燃比の前回値abyfroldとして格納する。次に、CPU71はステップ2115に進んで、本ルーチンを前回実行したときに処理した後述するステップ2130において格納しておいた筒内吸入空気量Mcの値Mc1を前回値Mcoldとして格納する。従って、この前回値Mcoldは、前回値abyfroldを決定した時点における筒内吸入空気量となる。次いで、CPU71は、ステップ2120に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。
前述の仮定に従えば、上流側空燃比フィードバック制御条件は成立していない。従って、CPU71はステップ2120にて「No」と判定し、ステップ1610に進んでテーブルMapabyfr(THW)に基いて目標空燃比abyfrを決定する。次いで、CPU71はステップ2125に進み、決定された目標空燃比abyfrを目標空燃比の最新値abyfr1として格納する。次に、CPU71はステップ2130に進み、目標空燃比の最新値abyfr1を得た時点(現時点)における筒内吸入空気量Mcを値Mc1として格納する。その後、CPU71はステップ2195に進み、本ルーチンを一旦終了する。
その後、機関10の運転が継続されることにより冷却水温THWが第1所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、CPU71はステップ2105にて「No」と判定して直接ステップ2120に進む。そして、CPU71は、ステップ2120にて「Yes」と判定してステップ1620に進み、目標空燃比abyfrを理論空燃比stoich(又は、機関の運転状態に基づいて定まる他の空燃比)に設定する。このとき、目標空燃比abyfrが理論空燃比stoichに変更されれば、目標空燃比abyfrは、上流側空燃比フィードバック制御条件が成立した時点において理論空燃比stoichよりもリッチな空燃比から理論空燃比stoichへとステップ状に急変(増大)する。その後、CPU71はステップ2195に進み、本ルーチンを一旦終了する。
以上により、目標空燃比abyfrが決定されるとともに、目標空燃比の前回値abyfold及び筒内吸入空気量の前回値Mcoldは、それぞれ上流側空燃比フィードバック制御条件が成立した時点の直前の時点における目標空燃比及び筒内吸入空気量となる。
<フィードバック用目標値の初期値等の取得>
第3実施形態に係る制御装置のCPU71は、更に、図22に示したルーチンを図21に示したルーチンに続いて実行するようになっている。従って、CPU71は図21のステップ2195の処理を実行後に図22のステップ2200から処理を開始し、ステップ2205に進んで上述した上流側空燃比フィードバック制御条件が成立した直後であるか否かを判定する。
いま、機関の冷却水温THWが第1所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、CPU71はステップ2205にて「No」と判定して直接ステップ2295に進み、本ルーチンを一旦終了する。
その後、機関10の運転が継続されることにより冷却水温THWが第1所定温度THW1thより高くなったことにより、上流側空燃比フィードバック制御条件が成立したと仮定する。この場合、CPU71はステップ2205にて「Yes」と判定し、以下に記載したステップ2210乃至ステップ2220の処理を順に行い、ステップ2295に進んで本ルーチンを一旦終了する。
ステップ2210:CPU71は、図21のステップ2110にて格納した目標空燃比の前回値abyfroldを目標空燃比初期値abyfrintに格納する。これにより、目標空燃比初期値abyfrintは、上流側空燃比フィードバック制御条件が成立した時点の直前の時点における目標空燃比となる。
ステップ2215:CPU71は、図21のステップ2115にて格納した筒内吸入空気量の前回値Mcoldを筒内吸入空気量初期値Mcintに格納する。これにより、筒内吸入空気量初期値Mcintは、上流側空燃比フィードバック制御条件が成立した直前の時点における筒内吸入空気量となる。
ステップ2220:CPU71は、筒内吸入空気量初期値Mcintを目標空燃比初期値abyfrintにより除した値をフィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1として格納する。ここで前回値Fcrlow1に格納された値は、フィードバック用目標値Fcrlow(k−N)の算出を開始するための初期値として後述する図23のステップ1325にて使用される。
<フィードバック用目標値Fcrlow(k−N)の算出>
第3実施形態に係る制御装置のCPU71は、更に、図23に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、CPU71は所定のタイミングにてステップ2300から処理を開始し、ステップ2305に進んで上述した上流側空燃比フィードバック制御条件が成立しているか否かを判定する。いま、機関の冷却水温THWが第1所定温度THW1thより低いことのみにより、上述した上流側空燃比フィードバック制御条件は成立していないと仮定する。この場合、CPU71はステップ2305にて「No」と判定し、ステップ2395に進んで本ルーチンを一旦終了する。従って、上流側空燃比フィードバック制御条件が成立していない場合、フィードバック用目標値Fcrlow(k−N)は算出されない。
その後、機関10の運転が継続されることにより冷却水温THWが第1所定温度THW1thより高くなったと仮定する。この場合、上流側空燃比フィードバック制御条件は成立するので、CPU71はステップ2305にて「Yes」と判定してステップ2310に進み、現時点は、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Lが経過する前の時点であるか否かを判定する。
現時点は、上流側空燃比フィードバック制御条件が成立した直後であるから、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Lが経過する前の時点である。従って、CPU71はステップ2310にて「Yes」と判定してステップ2315に進み、現時点から無駄時間L前の目標筒内燃料供給量Fcr(k−N)に、筒内吸入空気量Mcintを目標空燃比abyfrintにて除した値(Mcint/abyfint)を格納する。
そして、CPU71はステップ1325及びステップ1330に進んでフィードバック用目標値Fcrlow(k−N)を更新するとともに、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1を更新し、ステップ2395に進んで本ルーチンを一旦終了する。このような処理は、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Lが経過し、ステップ2310にて「No」と判定されるまで所定時間の経過毎に繰り返される。
その後、上流側空燃比フィードバック制御条件が成立してから上記無駄時間Lが経過すると、CPU71はステップ2310にて「No」と判定してステップ1320に進み、
現時点から無駄時間L前に吸気行程を迎えた気筒の筒内吸入空気量Mc(k−N)を現時点から無駄時間L前の時点の目標空燃比abyfr(k-N)で除することにより、現時点から無駄時間L前の目標筒内燃料供給量Fcr(k−N)を算出する。そして、CPU71はステップ1325及びステップ1330に進んでフィードバック用目標値Fcrlow(k−N)を更新するとともに、フィードバック用目標値Fcrlow(k−N)の前回値Fcrlow1を更新し、ステップ2395に進んで本ルーチンを一旦終了する。なお、CPU71は、上流側空燃比フィードバック制御条件が成立している場合にのみ、目標空燃比abyfr(k)及び筒内吸入空気量Mc(k)を、各気筒の吸気行程に対応しながらRAM73に記憶しておくようになっている。
以上の作動により、図24のタイムチャートに示したように、時刻t21にて上流側空燃比フィードバック制御条件が成立すると、フィードバック用目標値Fcrlow(k−N)は、上述した初期値Fcrlow1(=Mcint/abyfrint)から更新され始める。そして、フィードバック用目標値Fcrlow(k−N)は、時刻t21から無駄時間Lが経過する時刻t22までの間、一定値(=Mcint/abyfrint)となる。更に、フィードバック用目標値Fcrlow(k−N)は、時刻t22から僅かな時間が経過すると正規の値(第1実施形態のように、フィードバック用目標値Fcrlow(k−N)を常に計算し続けている場合に得られているであろうフィードバック用目標値Fcrlow(k−N))と略等しくなる。
これにより、時刻t21にて空燃比フィードバック制御が開始され、その結果、目標空燃比がステップ状に急変した場合であっても、時刻t22以降においてフィードバック用目標値Fcrlow(k−N)は無駄時間L及び上流側空燃比センサ66の応答遅れ特性を反映するように変化する。従って、筒内燃料供給量偏差DFcの絶対値は過大にならないので、フィードバック補正値DFiの絶対値の不適切な増大に起因する空燃比の比較的大きな荒れの発生を抑制することができる。この結果、迅速に空燃比を目標空燃比に収束させることができる。
以上、説明したように、第3実施形態に係る空燃比制御装置は、
所定の空燃比フィードバック制御条件(上流側空燃比フィードバック制御条件)が成立しているとき、前記無駄時間Lだけ前の時点にて前記目標空燃比決定手段(図21のルーチン)により決定されていた目標空燃比abyfr(k-N)に相当する値である無駄時間前値Fcr(k-N)に対してローパスフィルタ処理を施した値に基づいてフィードバック用目標値Fcrlow(k-N)を算出するフィードバック用目標値算出手段(図23のルーチン)と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードバック用目標値Fcrlow(k-N)と前記空燃比センサの出力値Vabyfsに相当する値Fc(k-N)とに基づいて前記機関に供給される混合気の空燃比をフィードバック制御するためのフィードバック補正値DFiを更新するフィードバック補正値算出手段(図20のルーチン)と、
前記空燃比フィードバック制御条件が成立しているとき前記フィードフォワード噴射量Fbaseを前記フィードバック補正値DFiを用いて補正することにより燃料噴射量Fiを算出し、且つ、前記空燃比フィードバック制御条件が成立していないとき前記フィードフォワード噴射量Fbaseに基いて燃料噴射量Fiを算出する燃料噴射量算出手段(図12のルーチン等)と、を備えている。
更に、前記フィードバック用目標値算出手段は、
前記機関の運転状態が前記空燃比フィードバック制御条件が成立していない状態から成立した状態へと変化したフィードバック制御条件成立時点から前記無駄時間Lが経過するまでの期間、前記フィードバック用目標値Fcrlow(k-N)の算出に用いる前記無駄時間前値Fcr(k-N)として同空燃比フィードバック制御条件成立時点の直前の時点にて前記目標空燃比決定手段により決定されていた目標空燃比abyfrintに相当する値(Mcint/abyfrint)を使用するように構成されている(図23のステップ2310及びステップ2315を参照。)。
この結果、空燃比フィードバック制御開始後において、フィードバック補正値DFiの絶対値が過大とならないので、機関に供給される混合気の空燃比を目標空燃比に迅速に収束させることができる。また、空燃比フィードバック制御を行っていないとき、フィードバック用目標値Fcrlow(k-N)を算出しないので、第1実施形態に係る空燃比制御装置に比較してCPU71の負荷を軽減することもできる。
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記第1実施形態においては、筒内吸入空気量Mc(k)と、テーブルMapNとに基づいてストローク数Nを求めているが、ストローク数N、機関回転速度NE及び筒内吸入空気量Mcの関係を規定するテーブルに、実際の機関回転速度NEと実際の筒内吸入空気量Mc(k)とを適用することによりストローク数Nを求めるように構成してもよい。この場合、図13のルーチンのステップ1310にて、MapN(Mc(k))に基づいてストローク数Nを決定するのに代えて、MapN(NE,Mc(k))に基づいてストローク数Nを決定すればよい。
また、上記第1実施形態においては、現時点からNストローク前の筒内吸入空気量Mc(k−N)及び目標筒内燃料供給量Fcr(k−N)を求める際、無駄時間Lに相当する燃料噴射指示の回数としてストローク数Nを用いているが、無駄時間Lそのものを用いるように構成してもよい。この場合、図13のルーチンのステップ1310にて、MapN(Mc(k))に基づいてストローク数Nを決定するのに代えて、無駄時間L、機関回転速度NE及び筒内吸入空気量Mcの関係を規定するテーブルMapL(NE,Mc(k))に、実際の機関回転速度NEと実際の筒内吸入空気量Mc(k)とを適用することにより無駄時間Lを決定すればよい。
更に、この場合、図13のルーチン等において、現時点からNストローク前の筒内吸入空気量Mc(k−N)及び目標筒内燃料供給量Fcr(k−N)を用いるのに代えて、現時点から無駄時間Lだけ前の時点で決定されていた筒内吸入空気量Mcの最新値及び目標筒内燃料供給量Fcrの最新値を用いて、制御用筒内燃料供給量Fc及びローパスフィルタ通過後目標筒内燃料供給量Fcrlowを求めればよい。
また、上記第1実施形態においては、筒内吸入空気量Mc(k)とテーブルMapτとに基づいてローパスフィルタ処理の時定数τを求めているが、時定数τと機関回転速度NE及び筒内吸入空気量Mcとの関係を規定するテーブルに、実際の機関回転速度NEと実際の筒内吸入空気量Mc(k)とを適用することにより時定数τを求めるように構成してもよい。この場合、図13のルーチンのステップ1305にて、Mapτ(Mc(k))に基づいてローパスフィルタ処理の時定数τを決定するのに代えて、Mapτ(NE,Mc(k))に基づいてローパスフィルタ処理の時定数τを決定すればよい。
また、上記第1実施形態においては、筒内吸入空気量Mc(k)とテーブルMapτとに基づいてローパスフィルタ処理の時定数τを求めているが、ローパスフィルタ処理の時定数τを求めるためのテーブルの引数として筒内吸入空気量Mc(k)のみを用いるのに代えて、筒内吸入空気量Mc(k)、吸気弁32の開閉タイミングVT、点火時期CAig及び目標空燃比abyfr(k)のうち少なくとも一つを用いるように構成してもよい。
更に、上記第2及び第3実施形態において、時定数τ(鈍し処理定数n)及び無駄時間Lを運転状態を表すパラメータにより可変としてもよい。また、第2実施形態において、所定時間Teを運転状態を表すパラメータにより可変としてもよい。
また、上記各実施形態においては、ローパスフィルタ処理の応答性に関するパラメータの数を少なくするため、ローパスフィルタA17として一次のフィルタ(一次遅れ処理)を用いているが(上記(6)式及び図13のルーチンのステップ1325を参照。)、ローパスフィルタA17として二次のフィルタ(二次遅れ処理)を用いてもよい。これによれば、フィードバック用目標値Fcrlow(k−N)の変化の遅れの特性を、目標空燃比abyfr(k)が変化した場合における上流側空燃比センサ66の出力値Vabyfsの変化の遅れの特性に精度良く近づけることができる。
これは、吸気通路を構成する部材(吸気管41の壁面、及び吸気弁32の表面等)に付着する燃料の量(燃料付着量)が目標空燃比abyfr(k)の変化に基いて変化するので、燃焼室25内に実際に供給される燃料の量の変化が燃料噴射量Fiの変化に対して遅れ、その結果、上流側空燃比センサ66の出力値Vabyfsの変化の遅れの特性も変化することを、フィードバック用目標値Fcrlow(k−N)に反映できることによるものと推定される。
加えて、上記各実施形態においては、フィードバック用目標値Fcrlow(k−N)から現時点からNストローク前の制御用筒内燃料供給量Fc(k−N)を減じた値である筒内燃料供給量偏差DFcに基づいてフィードバック補正値DFiを求めているが、現時点からNストローク前のabyfr(k−N)にローパスフィルタ処理を施した値(フィードバック用目標値)と、今回の制御用空燃比abyfs(k)と、の偏差に基づいてフィードバック補正値DFiを求めるように構成してもよい。
同様に、フィードバック用目標値は、無駄時間前の目標空燃比そのものにローパスフィルタ処理を施した値、無駄時間前の目標空燃比を上流側空燃比センサの出力値に相当する値に変換した値にローパスフィルタ処理を施した値であってもよい。
10…内燃機関、25…燃焼室、39…インジェクタ(燃料噴射手段)、53…上流側三元触媒、66…上流側空燃比センサ(空燃比センサ)、70…電気制御装置、71…CPU。