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

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

Info

Publication number
JP2005030350A
JP2005030350A JP2003272959A JP2003272959A JP2005030350A JP 2005030350 A JP2005030350 A JP 2005030350A JP 2003272959 A JP2003272959 A JP 2003272959A JP 2003272959 A JP2003272959 A JP 2003272959A JP 2005030350 A JP2005030350 A JP 2005030350A
Authority
JP
Japan
Prior art keywords
cylinder
air
fuel injection
fuel ratio
cylinders
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.)
Granted
Application number
JP2003272959A
Other languages
English (en)
Other versions
JP4168859B2 (ja
Inventor
Naoto Kato
直人 加藤
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 JP2003272959A priority Critical patent/JP4168859B2/ja
Publication of JP2005030350A publication Critical patent/JP2005030350A/ja
Application granted granted Critical
Publication of JP4168859B2 publication Critical patent/JP4168859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

【課題】 複数の気筒間における空燃比のばらつきを確実に抑制しつつ、排気通路の集合部に配設された空燃比センサ出力に基づき機関の空燃比をフィードバック制御すること。
【解決手段】 この空燃比制御装置は、補正前基本燃料噴射量Fbasebに基本燃料噴射量補正係数α#nを乗じた値(Fbaseb・α#n)が#n気筒に同Fbasebの燃料が実際に噴射されるために必要な補正後基本燃料噴射指示量Fbase#nになるようにα#nを気筒毎に求め、#n気筒の最終燃料噴射指示量Fi#nを、(Fbaseb・α#n)に上流側空燃比センサ出力vabyfsに基づくフィードバック補正量DFiを乗じた値に設定する。α#nは、各気筒の最終燃料噴射指示量Fi#nを全て(Fbaseb・DFi)に設定した状態にて、全気筒稼動状態にて得られるフィードバック補正量DFiallと、#n気筒のみを休止した状態にて得られるフィードバック補正量DFi#elseとを取得し、「α#n=4・DFiall−3・DFi#else」なる式から求める。
【選択図】 図4

Description

本発明は、複数の気筒を有する内燃機関の排気通路に配設された空燃比センサの出力に基づいて各気筒に供給される混合気の空燃比をフィードバック制御する内燃機関の空燃比制御装置に関する。
従来より、複数の気筒を有する内燃機関の気筒毎に燃料を噴射するインジェクタを個別に配設するとともに、複数の気筒からそれぞれ排出された排ガスが集合せしめられて成る排ガスが通過する内燃機関の排気通路(以下、「排気通路の集合部」と云うこともある。)に空燃比センサを配設し、空燃比センサの出力値が所定の目標値になるように同出力値に基づいて算出したフィードバック補正量に基づいて調整された燃料噴射量の燃料を各気筒に対して噴射することで同各気筒に供給される混合気の空燃比をフィードバック制御する空燃比制御装置が広く知られている。
しかしながら、この空燃比センサは、排気通路の集合部を通過するガスの空燃比を検出するから、その出力は各気筒から排出された排ガスの平均的な空燃比を表す値となる。従って、上記装置においては、前記平均的な空燃比が前記所定の目標値相当の目標空燃比になるようにフィードバック制御される。
一方、気筒毎に配設された各インジェクタには特有の固体誤差がそれぞれ不可避的に存在するから、同一の燃料噴射量の燃料の噴射指示に対する実際の燃料噴射量はインジェクタ毎に異なる(以下、インジェクタに対して噴射指示された燃料噴射量と同インジェクタから実際に噴射される実燃料噴射量との差を「インジェクタの誤差」と称呼する。)。従って、前記平均的な空燃比が前記目標空燃比(例えば、理論空燃比)になるように制御されている定常運転状態においても、インジェクタ毎の誤差の相違により、気筒から排出された排ガスの空燃比(従って、気筒に供給される混合気の空燃比)が理論空燃比よりリッチ、或いはリーンとなる気筒が実際には存在し得る。
このように、気筒間における空燃比のばらつきが発生すると種々の問題が発生する。即ち、例えば、機関の出力(トルク)変動が大きくなってドライバビリティが低下する。また、理論空燃比よりもリッチな空燃比の排ガス中には未燃HC,COが多量に存在し、理論空燃比よりもリーンな空燃比の排ガス中には窒素酸化物(NOx)が多量に存在し得るから、特に、前記空燃比センサの下流に配設された触媒が十分な活性化状態に達する前の暖気運転中においてエミッションの排出量が増大する。更には、排ガス中に未燃HC,COが多量に存在することそれ自体が燃費悪化の原因にも繋がる。
以上のことから、気筒間における空燃比のばらつきを防止(抑制)する必要がある。このため、下記特許文献1に開示された内燃機関の空燃比制御装置は、各気筒の排気タイミングを判別し、空燃比センサの出力と各気筒の排気タイミングとに基づいて気筒毎に気筒別空燃比を検出する。そして、この装置は、気筒毎に、前記検出された気筒別空燃比と目標値との差に基づいて気筒別補正量を算出し同気筒別補正量により補正された量の燃料を噴射することで、気筒間における空燃比のばらつきを抑制するようになっている。
特開平9−203337号公報
しかしながら、空燃比センサには応答遅れが不可避的に存在する。また、前記各気筒の排気タイミングの時間間隔は、機関の気筒数の増加、或いは機関の回転速度の増加に応じて短くなる。従って、前記各気筒の排気タイミングの時間間隔に対する空燃比センサの応答遅れが無視できなくなる場合があり、この場合、同センサの出力は、各気筒の排気タイミングの到来に応じて対応する気筒から排出される排ガスの空燃比を精度良く表す値とはなり得なくなる。この結果、気筒間における空燃比のばらつきを確実に抑制し得ないという問題があった。
従って、本発明の目的は、複数の気筒を有する内燃機関の排気通路の集合部に配設された空燃比センサの出力に基づいて各気筒に供給される混合気の空燃比をフィードバック制御する内燃機関の空燃比制御装置において、気筒間における空燃比のばらつきを確実に抑制し得るものを提供することにある。
本発明の特徴は、複数の気筒を有する内燃機関の気筒毎に配設され、気筒毎に燃料を噴射する燃料噴射手段と、前記複数の気筒からそれぞれ排出された排ガスが集合せしめられて成る排ガスが通過する前記内燃機関の排気通路に配設された空燃比センサと、前記空燃比センサの出力値が所定の目標値になるように同出力値に基づいてフィードバック補正量を算出し、同フィードバック補正量に基づいて調整された燃料噴射量の燃料を前記各気筒に対して前記燃料噴射手段により噴射せしめることで同各気筒に供給される混合気の空燃比をフィードバック制御するフィードバック制御手段とを備えた内燃機関の空燃比制御装置が、前記内燃機関の運転状態に応じて前記複数の気筒の状態を、全ての気筒が稼動する全気筒稼動状態と、同複数の気筒の一部である一つ又は複数の気筒(以下、「休止気筒」と云うこともある。)が休止する一部気筒休止状態との何れか一方に切換える気筒状態切換手段と、前記全気筒稼動状態において前記フィードバック制御手段により算出される全気筒稼動時フィードバック補正量と、前記一部気筒休止状態において同フィードバック制御手段により算出される一部気筒休止時フィードバック補正量とに基づいて、同一部気筒休止状態において休止していた前記一部の気筒に対する前記燃料噴射量を補正する気筒別噴射量補正手段と、を備えたことにある。
ここにおいて、前記気筒状態切換手段は、一部気筒休止状態において、例えば、気筒毎に個別に任意の気筒を休止できるように構成されていても、常に特定の単数又は複数の気筒を休止するように構成されていてもよい。また、前記気筒状態切換手段は、休止される可能性のある気筒の吸気弁、及び排気弁の少なくとも一つの運動を停止可能な弁駆動手段(例えば、ソレノイド等)を備えていて、前記弁駆動手段を制御することにより前記少なくとも一つの弁の運動を停止することで前記気筒を休止させるように構成されていることが好適である。また、前記所定の目標値は理論空燃比に相当する値であることが好ましい。
先に述べたように、この空燃比センサの出力は、稼動している全ての気筒からそれぞれ排出された排ガスの平均的な空燃比を表す値となる。従って、この装置においては、稼動している全ての気筒からそれぞれ排出された排ガスの平均的な空燃比が前記所定の目標値相当の目標空燃比になるように空燃比センサの出力に基づいてフィードバック補正量が算出される。
従って、全気筒稼動状態において前記平均的な空燃比が目標空燃比に一致している場合に算出される全気筒稼動時フィードバック補正量は、機関の全ての気筒についてのインジェクタの誤差の平均値を表す値となる。また、一部気筒休止状態において前記平均的な空燃比が目標空燃比に一致している場合に算出される一部気筒休止時フィードバック補正量は、前記一部の気筒(休止気筒)を除いた残りの気筒についてのインジェクタの誤差の平均値を表す値となる。
以上のことから、前記全気筒稼動時フィードバック補正量と、前記一部気筒休止時フィードバック補正量との2つの値に基づいて、休止気筒についてのインジェクタの誤差(休止気筒が複数の気筒である場合には同休止気筒についてのインジェクタの誤差の平均値)を求めることができる。
以上の知見に基づき、上記のように、前記全気筒稼動時フィードバック補正量と、前記一部気筒休止時フィードバック補正量とに基づいて、(前記一部の気筒が再稼動している場合における)前記一部の気筒に対する燃料噴射量を補正するように構成すれば、同一部の気筒に対する燃料噴射量を同一部の気筒についてのインジェクタの誤差分(若しくは、インジェクタの誤差分の平均値)だけ補正することができ、この結果、少なくとも同一部の気筒についてのインジェクタの誤差の影響を排除することができる。
即ち、本発明に係る空燃比制御装置によれば、少なくとも一部気筒休止状態において休止状態となったことがある気筒についてのインジェクタの誤差の影響を排除することができ、この結果、気筒間における空燃比のばらつきを確実に抑制することができる。
より具体的には、前記フィードバック制御手段は、前記各気筒に供給される混合気の空燃比を前記所定の目標値に相当する目標空燃比とするために必要な基本燃料噴射量を同内燃機関の運転状態に応じて決定するとともに同基本燃料噴射量を前記フィードバック補正量に基づいて調整することで得られる前記燃料噴射量の燃料を前記各気筒に対して前記燃料噴射手段により噴射せしめるように構成され、前記気筒別噴射量補正手段は、前記全気筒稼動時フィードバック補正量と、前記一部気筒休止時フィードバック補正量とに基づいて前記一部気筒休止状態において休止していた前記一部の気筒についての前記基本燃料噴射量を補正することで同一部の気筒に対する前記燃料噴射量を補正するように構成されることが好適である。
これによれば、少なくとも一部気筒休止状態において休止状態となったことがある気筒についての前記基本燃料噴射量(若しくは、基本燃料噴射量の平均値)が、同気筒に供給される混合気の空燃比を正確に前記目標空燃比とするために必要な値に確実に補正され、これにより、前記休止状態となったことがある気筒についてのインジェクタの誤差の影響を排除することができる。
前記気筒状態切換手段は、前記一部気筒休止状態において、前記一部の気筒としての任意の一つの気筒を休止させるとともに、全ての気筒の各々を同任意の一つの気筒として休止させていくように構成されることが好適である。
これによれば、内燃機関が有する全ての気筒を個別に一気筒ずつ順次休止させていくことができるから、同全ての気筒についてのインジェクタの誤差の影響を排除することができ、この結果、気筒間における空燃比のばらつきを確実に防止する(消滅させる)ことができる。
また、上記何れかの空燃比制御装置においては、前記気筒別噴射量補正手段は、前記内燃機関が所定の定常運転状態にある所定時間内における前記全気筒稼動時フィードバック補正量の時間的平均値、及び前記一部気筒休止時フィードバック補正量の時間的平均値をそれぞれ、前記全気筒稼動時フィードバック補正量、及び前記一部気筒休止時フィードバック補正量として使用するように構成されることが好適である。
これによれば、前記平均的な空燃比が目標空燃比により一層正確に一致している状態における全気筒稼動時フィードバック補正量の値と一部気筒休止時フィードバック補正量の値が取得され得る。従って、全気筒稼動時フィードバック補正量の値と一部気筒休止時フィードバック補正量の値が共に、稼動している気筒についてのインジェクタの誤差の平均値をより一層精度良く表す値となり得る。この結果、前記一部の気筒に対する前記燃料噴射量をより一層精度良く補正することができ、同一部の気筒についてのインジェクタの誤差の影響をより一層正確に排除することができる。
また、上記何れかの空燃比制御装置においては、稼動している気筒から排出された排ガスの各状態が前記空燃比センサの出力に反映される程度における均一度合と、同均一度合に影響を与える前記内燃機関の運転状態との関係を予め記憶した記憶手段を更に備え、前記気筒別噴射量補正手段は、前記内燃機関の運転状態と前記記憶手段とに基づいて取得される前記均一度合が所定の良好な状態となる場合においてのみ前記一部の気筒に対する前記燃料噴射量を補正するために使用する前記全気筒稼動時フィードバック補正量、及び一部気筒休止時フィードバック補正量を取得するように構成されることが好適である。
一般に、内燃機関の運転状態(例えば、エンジン回転速度、筒内吸入空気量等)によって、排ガスの流れの状態が変化することで同排ガスが排気通路の集合部に配設された空燃比センサ(の検出部)に当たる際の状態(以下、「ガス当たり状態」と称呼する。)も変化する。ガス当たり状態が変化すると、稼動している気筒から排出された排ガスの各状態が空燃比センサの出力に反映される程度における均一度合が変化することにも繋がる。
一方、前記均一度合が低く(悪く)なる(即ち、ガス当たり状態が悪くなる)と、空燃比センサの出力が、稼動している全ての気筒からそれぞれ排出された排ガスの平均的な空燃比を精度良く表す値となり得なくなるから、前記一部の気筒に対する前記燃料噴射量を正確に補正することができなくなる。以上のことから、上記のように、前記均一度合が所定の良好な状態となる場合においてのみ前記全気筒稼動時フィードバック補正量、及び一部気筒休止時フィードバック補正量を取得するように構成すれば、不適切な値に同燃料噴射量が補正されることを確実に防止することができる。
また、前記気筒別噴射量補正手段は、前記全気筒稼動時フィードバック補正量、及び一部気筒休止時フィードバック補正量を取得した時点において前記内燃機関の運転状態と前記記憶手段とに基づいて取得される前記均一度合に応じて、前記一部の気筒に対する前記燃料噴射量を補正する程度を変更するように構成されてもよい。これによれば、例えば、前記均一度合が悪化するにつれて同燃料噴射量を補正する程度を小さくすることができ、この結果、同燃料噴射量の補正の機会を減らすことなく、過度に不適切な値に同燃料噴射量が補正されることを防止することができる。
以下、本発明による内燃機関の空燃比制御装置の実施形態について図面を参照しつつ説明する。図1は、本発明の実施形態による空燃比制御装置を火花点火式多気筒(4気筒)内燃機関10に適用したシステムの概略構成を示している。この内燃機関10は、シリンダブロック、シリンダブロックロワーケース、及びオイルパン等を含むシリンダブロック部20と、シリンダブロック部20の上に固定されるシリンダヘッド部30と、シリンダブロック部20にガソリン混合気を供給するための吸気系統40と、シリンダブロック部20からの排ガスを外部に放出するための排気系統50とを含んでいる。なお、図1は、4気筒(#1気筒〜#4気筒)のうちの任意の一つの気筒に関する構成のみを示しているが、他の3つの気筒に関する構成についても同様である。
シリンダブロック部20は、シリンダ21、ピストン22、コンロッド23、及びクランク軸24を含んでいる。ピストン22はシリンダ21内を往復動し、ピストン22の往復動がコンロッド23を介してクランク軸24に伝達され、これにより同クランク軸24が回転するようになっている。シリンダ21とピストン22のヘッドは、シリンダヘッド部30とともに燃焼室25を形成している。
シリンダヘッド部30は、燃焼室25に連通した吸気ポート31、吸気ポート31を開閉する吸気弁32、吸気弁32を駆動する吸気弁駆動装置33、燃焼室25に連通した排気ポート34、排気ポート34を開閉する排気弁35、排気弁35を駆動する排気弁駆動装置36、点火プラグ37、点火プラグ37に与える高電圧を発生するイグニッションコイルを含むイグナイタ38、及び燃料を吸気ポート31内に噴射するインジェクタ(燃料噴射手段)39を備えている。イグナイタ38、及びインジェクタ39はそれぞれ、後述する電気制御装置70からの指示により駆動されるようになっている。
吸気弁駆動装置33(排気弁駆動装置36についても同様である。)は、気筒毎に、吸気弁32(排気弁35)を中立位置に付勢する図示しない2つのスプリングと、同吸気弁32(排気弁35)を開弁方向又は閉弁方向に付勢する電磁力をそれぞれ発生する図示しない2つの電磁石とを備えていて、後述する電気制御装置70からの指示により同2つの電磁石への通電を制御することで吸気弁32(排気弁35)のリフト量を制御できるようになっている。
また、吸気弁駆動装置33(排気弁駆動装置36についても同様である。)は、機関10の運転状態に応じた電気制御装置70からの指示に応じて、4つの気筒についての吸気弁32(排気弁35)の全てに対してクランク軸24の回転に応じた所定のリフト量制御を実行する全気筒稼動状態と、4つの気筒のうち電気制御装置70からの指示により指定された一つの気筒(休止気筒)についての吸気弁32(排気弁35)のみを閉弁状態に維持するとともに他の3つの気筒についての吸気弁32(排気弁35)に対しては前記所定のリフト量制御と同一の制御を実行する一部気筒休止状態と、の何れか一方の状態に制御されるようになっている。
即ち、一部気筒休止状態において、前記休止気筒についての吸気弁32、及び排気弁35は共に閉弁状態に維持されるようになっている。また、電気制御装置70からの指示により、この休止気筒についてのイグナイタ38、及びインジェクタ39は非駆動状態に維持されるようになっている。このように、機関10の運転状態に応じて4つの気筒の状態を、全ての気筒が稼動する全気筒稼動状態と、前記指定された一つの気筒(一部の気筒)のみが休止する一部気筒休止状態との何れか一方に切換える手段が気筒状態切換手段に相当する。
吸気系統40は、吸気ポート31に連通し同吸気ポート31とともに吸気通路を形成するインテークマニホールドを含む吸気管41、吸気管41の端部に設けられたエアフィルタ42、吸気管41内にあって吸気通路の開口断面積を可変とするスロットル弁43、スロットル弁駆動手段を構成するDCモータからなるスロットル弁アクチュエータ43a、スワールコントロールバルブ(以下、「SCV」と称呼する。)44、及びDCモータからなるSCVアクチュエータ44aを備えている。
排気系統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を備えている。
熱線式エアフローメータ61は、吸気管41内を流れる吸入空気の単位時間あたりの質量流量に応じた電圧Vgを出力するようになっている。かかるエアフローメータ61の出力Vgと、計測された吸入空気量(流量)Gaとの関係は、図2に示したとおりである。スロットルポジションセンサ62は、スロットル弁43の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。クランクポジションセンサ64は、クランク軸24が10°回転する毎に幅狭のパルスを有するとともに同クランク軸24が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、エンジン回転速度NEを表す。水温センサ65は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
上流側空燃比センサ66は、限界電流式の酸素濃度センサであり、図3に示したように、空燃比A/Fに応じた電流を出力し、この電流に応じた電圧である出力値vabyfsを出力するようになっていて、特に、空燃比が理論空燃比であるときには出力値vabyfsは上流側目標値vstoichになる。図3から明らかなように、上流側空燃比センサ66によれば、広範囲にわたる空燃比A/Fを精度良く検出することができる。
電気制御装置70は、互いにバスで接続されたCPU71、CPU71が実行するルーチン(プログラム)、テーブル(ルックアップテーブル、マップ)、及び定数等を予め記憶したROM72、CPU71が必要に応じてデータを一時的に格納するRAM73、電源が投入された状態でデータを格納するとともに同格納したデータを電源が遮断されている間も保持するバックアップRAM74、並びにADコンバータを含むインターフェース75等からなるマイクロコンピュータである。インターフェース75は、前記センサ61〜68と接続され、CPU71にセンサ61〜68からの信号を供給するとともに、同CPU71の指示に応じて吸気弁駆動装置33、排気弁駆動装置36、イグナイタ38、インジェクタ39、スロットル弁アクチュエータ43a、及びSCVアクチュエータ44aに駆動信号を送出するようになっている。
(空燃比フィードバック制御の概要)
次に、上記のように構成された空燃比制御装置(以下、「本装置」と云うこともある。)が行う機関の空燃比フィードバック制御の概要について説明する。この空燃比制御装置は、機能ブロック図である図4に示したように、A1〜A12の各手段等を含んで構成されている。以下、図4を参照しながら各手段等について説明していく。
<補正前基本燃料噴射量の算出>
先ず、筒内吸入空気量算出手段A1は、エアフローメータ61が計測している吸入空気流量Gaと、クランクポジションセンサ64の出力に基づいて得られるエンジン回転速度NEと、ROM72が記憶しているテーブルMAPMcとに基づき今回の吸気行程を迎える稼動中の気筒(以下、「燃料噴射気筒」と云うこともある。)の吸入空気量である筒内吸入空気量Mc(k)を求める。ここで、添え字の(k)は、今回の吸気行程に対する値であることを示している(以下、他の物理量についても同様。)。筒内吸入空気量Mcは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
上流側目標空燃比設定手段A2は、内燃機関10の運転状態であるエンジン回転速度NE、及びスロットル弁開度TA等に基づいて所定の目標値に相当する上流側目標空燃比abyfr(k)を決定する。この上流側目標空燃比abyfr(k)は、例えば、内燃機関10の暖機運転中、スロットル弁開度TAが所定値以上である急加速運転中等の特殊な場合を除き理論空燃比に設定されている。また、上流側目標空燃比abyfrは、各気筒の吸気行程に対応されながらRAM73に記憶されていく。
補正前基本燃料噴射量算出手段A3は、筒内吸入空気量算出手段A1により求められた筒内吸入空気量Mc(k)を上流側目標空燃比設定手段A2により設定された上流側目標空燃比abyfr(k)で除することにより、燃料噴射気筒に供給される混合気の空燃比を同上流側目標空燃比abyfr(k)とするための今回の吸気行程に対する補正前基本燃料噴射量Fbasebを求める。
このように、本装置は、筒内吸入空気量算出手段A1、上流側目標空燃比設定手段A2、及び補正前基本燃料噴射量算出手段A3を利用して、今回の吸気行程に対する補正前基本燃料噴射量Fbasebを機関10の運転状態(具体的には、エンジン回転速度NE、筒内吸入空気量Mc、及び上流側目標空燃比abyfr)に基づいて求める。
<最終燃料噴射量の算出>
補正後基本燃料噴射量算出手段A4は、補正前基本燃料噴射量算出手段A3により求められた補正前基本燃料噴射量Fbasebに、後述する燃料噴射気筒についての基本燃料噴射量補正係数α#injを乗じることで、下記(1)式に基づいて燃料噴射気筒についての補正後基本燃料噴射(指示)量Fbase#injを求める。ここで、燃料噴射気筒についての基本燃料噴射量補正係数α#injは、後述する基本燃料噴射量補正係数取得手段A12により算出される#1気筒〜#4気筒の各々についての基本燃料噴射量補正係数α#1〜α#4のうちから選択される燃料噴射気筒についての値である。本明細書において、添え字の「#inj」は燃料噴射気筒についての値であることを示す。また、添え字の「#n」は、#1気筒〜#4気筒のうちの#n気筒(n:1〜4の何れかの自然数)についての値であることを示す。なお、後述するように、上記基本燃料噴射量補正係数α#1〜α#4の全てが算出されていない段階では、補正後基本燃料噴射量算出手段A4は、補正前基本燃料噴射量Fbasebの値そのものを燃料噴射気筒についての補正後基本燃料噴射(指示)量Fbase#injとして求める。
Fbase#inj=Fbaseb・α#inj ・・・(1)
最終燃料噴射量算出手段A5は、前記燃料噴射気筒についての補正後基本燃料噴射量Fbase#injに後述するフィードバック補正量DFiを乗じることで、下記(2)式に基づいて燃料噴射気筒についての最終燃料噴射量Fi#injを求める。本装置は、このようにして、補正後基本燃料噴射量算出手段A4、及び最終燃料噴射量算出手段A5により燃料噴射気筒についての補正後基本燃料噴射量Fbase#injをフィードバック補正量DFiに基づいて補正(調整)することにより燃料噴射気筒についての最終燃料噴射量Fi#injを求め、同最終燃料噴射量Fi#injの燃料を燃料噴射気筒についてのインジェクタ39により同燃料噴射気筒に対して噴射する。このようにして、燃料噴射気筒に供給される混合気の空燃比をフィードバック補正量DFiに基づいてフィードバック制御する手段がフィードバック制御手段に相当する。
Fi#inj=Fbase#inj・DFi ・・・(2)
<フィードバック補正量の算出>
先ず、テーブル変換手段A6は、上流側空燃比センサ66の出力値vabyfsと、先に説明した図3に示した上流側空燃比センサ出力値vabyfsと空燃比A/Fとの関係を規定したテーブルとに基づいて、上流側空燃比センサ66が検出する現時点における検出空燃比abyfsを求める。
筒内吸入空気量遅延手段A7は、筒内吸入空気量算出手段A1により吸気行程毎に求められRAM73に記憶されている筒内吸入空気量Mcのうち、現時点からNストローク(N回の吸気行程)前に吸気行程を迎えた気筒の筒内吸入空気量McをRAM73から読み出し、これを筒内吸入空気量Mc(k−N)として設定する。
筒内燃料供給量算出手段A8は、筒内吸入空気量遅延手段A7により求められた現時点からNストローク前の筒内吸入空気量Mc(k−N)をテーブル変換手段A6により求められた現時点における検出空燃比abyfsで除することで、現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を求める。ここで、前記値Nは、内燃機関10の排気量、及び燃料室25から上流側空燃比センサ66までの距離等により異なる値である。
このように、現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を求めるために、現時点からNストローク前の筒内吸入吸気量Mc(k−N)を現時点における検出空燃比abyfsで除するのは、燃焼室25内で燃料された混合気が上流側空燃比センサ66に到達するまでには、Nストロークに相当する時間Lを要しているからである。
目標筒内燃料供給量遅延手段A9は、筒内吸入空気量算出手段A1、及び上流側目標空燃比設定手段A2により吸気行程毎に求められRAM73にそれぞれ記憶されている筒内吸入空気量Mc、及び上流側目標空燃比abyfrのうち、現時点からNストローク前の筒内吸入空気量Mc(k−N)、及び現時点からNストローク前の上流側目標空燃比abyfr(k−N)をRAM73からそれぞれ読み出し、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点からNストローク前の上流側目標空燃比abyfr(k−N)で除した値を現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)として設定する。
筒内燃料供給量偏差算出手段A10は、下記(3)式に基づいて、目標筒内燃料供給量遅延手段A9により設定された現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)から筒内燃料供給量算出手段A8により求められた現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を減じることにより、前述した筒内燃料供給量偏差DFcを求める。この筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量であって、上流側空燃比センサ66の出力値vabyfsと前記所定の目標値(上流側目標空燃比abyfrが理論空燃比のときは図3に示すvstoich)との偏差に基づく値である。
DFc=Fcr(k−N)-Fc(k−N) ・・・(3)
PIコントローラA11は、前記筒内燃料供給量偏差DFcを比例・積分処理(PI処理)することで、下記(4)式に基づいてフィードバック補正量DFi(>0)を求める。下記(4)式において、Gpは予め設定された比例ゲイン(比例定数(正の値))であり、Giは予め設定された積分ゲイン(比例定数(正の値))である。このフィードバック補正量DFiは、先に述べたように最終燃料噴射量算出手段A5により最終燃料噴射量Fiを求める際に使用される。
DFi=1+(Gp・DFc+Gi・ΣDFc)/Fbaseb ・・・(4)
このようにして、本装置は、上流側空燃比センサ66の出力値vabyfsと上流側目標空燃比abyfrに対応する所定の目標値との偏差に基づく値である筒内燃料供給量偏差DFcに基づいてフィードバック補正量DFiを求める。そして、前記燃料噴射気筒についての補正後基本燃料噴射量Fbase#injにフィードバック補正量DFiを乗じることで、同補正後基本燃料噴射量Fbase#injを補正(調整)する。
例えば、機関の空燃比が急変してリーンとなると、テーブル変換手段A6にて求められる検出空燃比abyfsは上流側目標空燃比設定手段A2により設定されている上流側目標空燃比abyfrよりもリーンな値(より大きな値)として求められる。このため、筒内燃料供給量算出手段A8にて求められる実際の筒内燃料供給量Fc(k−N)は目標筒内燃料供給量遅延手段A9にて求められる目標筒内燃料供給量Fcr(k−N)よりも小さい値となり、筒内燃料供給量偏差DFcは大きい正の値として求められる。従って、フィードバック補正量DFiが「1」より大きい値となる。これにより、最終燃料噴射量算出手段A5にて求められる最終燃料噴射量Fi#injは、補正後基本燃料噴射量Fbase#injよりも大きくなって、機関の空燃比がリッチとなるように制御される。
反対に、機関の空燃比が急変してリッチとなると、検出空燃比abyfsは上流側目標空燃比abyfrよりもリッチな値(より小さな値)として求められる。このため、実際の筒内燃料供給量Fc(k−N)は目標筒内燃料供給量Fcr(k−N)よりも大きい値となり、筒内燃料供給量偏差DFcは負の値として求められる。従って、フィードバック補正量DFiが「1」より小さい正の値となる。これにより、最終燃料噴射量Fi#injは、補正後基本燃料噴射量Fbase#injよりも小さくなって、機関の空燃比がリーンとなるように制御される。以上が、空燃比フィードバック制御の概要である。
(基本燃料噴射量の補正)
先に述べたように、上流側空燃比センサ66は、各々のエキゾーストマニホールド51が集合した集合部に配設されているから、その出力vabyfsは稼動している各気筒から排出された排ガスの平均的な空燃比を表す値となる。従って、本装置は、実際にはこの平均的な空燃比が前記上流側目標空燃比abyfrになるように前記空燃比フィードバック制御を行うことになる。
一方、4つの気筒に個別に配設された各インジェクタ39にはそれぞれ異なる誤差が不可避的に存在するから、同一の最終燃料噴射量Fiの燃料の噴射指示に対する実燃料噴射量はインジェクタ39毎に異なる。従って、定常運転状態において稼動している全ての気筒に対して同一の最終燃料噴射量Fi#injの燃料の噴射指示がなされているものとすると(具体的には、前述の燃料噴射気筒についての補正後基本燃料噴射量Fbase#injではなく前述の補正前基本燃料噴射量Fbasebそのものに前記フィードバック補正量DFiを乗じた値(Fbaseb・DFi)を燃料噴射気筒についての最終燃料噴射量Fi#injとして設定するものとすると)、前記平均的な空燃比が上流側目標空燃比abyfr(例えば、理論空燃比)になるように制御されている定常運転状態においても、インジェクタ39毎の誤差の相違により、気筒に供給される混合気の空燃比が理論空燃比よりリッチ、或いはリーンとなる気筒が実際には存在し、この結果、気筒間における空燃比のばらつきが発生することになる。
即ち、このような気筒間における空燃比のばらつきは、補正前基本燃料噴射量Fbasebの燃料の噴射指示に対する実燃料噴射量がインジェクタ39毎の誤差の相違により気筒毎に異なることに基づく。従って、このような気筒間における空燃比のばらつきを消滅させるためには、前記補正前基本燃料噴射量Fbasebの燃料が実際に噴射されるために必要な補正後基本燃料噴射(指示)量Fbaseを気筒毎に求める必要がある(即ち、補正前基本燃料噴射量Fbasebを気筒毎に補正する必要がある)。
そこで、本装置は、補正前基本燃料噴射量算出手段A3による算出される補正前基本燃料噴射量Fbasebを気筒毎に補正するための基本燃料噴射量補正係数α#nを気筒毎に導入する。そして、本装置は、補正前基本燃料噴射量Fbasebに基本燃料噴射量補正係数α#nを乗じた値(Fbaseb・α#n)が#n気筒に補正前基本燃料噴射量Fbasebの燃料が実際に噴射されるために必要な補正後基本燃料噴射(指示)量Fbase#nになるように、同基本燃料噴射量補正係数α#nを後述するように気筒毎に求める。この基本燃料噴射量補正係数α#nの値は、#n気筒についてのインジェクタ39の誤差分に相当する値である。
以下、基本燃料噴射量補正係数α#nを算出する方法について詳述する。機関10は、前記補正前基本燃料噴射量Fbasebの値そのものに前記フィードバック補正量DFiを乗じた値(Fbaseb・DFi)を燃料噴射気筒についての最終燃料噴射量Fi#injとして設定した状態で定常運転状態にあって(即ち、全ての気筒に対して同一の最終燃料噴射量Fi#inj(=Fbaseb・DFi)の燃料の噴射指示がなされていて)、且つ、吸気管41から吸入された空気は各気筒に均一に分配され筒内吸入空気量Mcの気筒間におけるばらつきはないと仮定する。
先ず、機関10が全気筒稼動状態にあって定常運転状態になっている場合について考える。この場合、前記PIコントローラA11により算出されているフィードバック補正量DFiを全気筒稼動時フィードバック補正量DFiallと称呼するものとすると、4つの全ての気筒に対してFbaseb・DFiallの量の燃料の噴射指示がなされているから、4つの全ての気筒に対して一回ずつ燃料が噴射された場合における燃料の噴射指示合計量mfrAは下記(5)式にて表される。
mfrA=4・Fbaseb・DFiall ・・・(5)
一方、全気筒稼動状態において稼動している#1気筒〜#4気筒についての前記補正後基本燃料噴射(指示)量Fbase#1〜Fbase#4はそれぞれ下記(6)式にて表される。
Fbase#1=Fbaseb・α#1
Fbase#2=Fbaseb・α#2
Fbase#3=Fbaseb・α#3
Fbase#4=Fbaseb・α#4 ・・・(6)
かかる補正後基本燃料噴射(指示)量Fbase#1〜Fbase#4の各燃料の噴射指示を全気筒稼動状態において#1気筒〜#4気筒についてそれぞれ行ったとすれば、4つの全ての気筒に供給される混合気の空燃比が全て上流側目標空燃比abyfrと等しくなるから、全気筒稼動状態における定常運転状態においてフィードバック補正量DFiの値は「1」になる。従って、この場合、4つの全ての気筒に対して一回ずつ燃料が噴射された場合における燃料の噴射指示合計量mfrBは下記(7)式にて表される。
mfrB=Fbaseb・(α#1+α#2+α#3+α#4)・DFi=Fbaseb・(α#1+α#2+α#3+α#4) ・・・(7)
ここで、上記燃料の噴射指示合計量mfrA、及び上記燃料の噴射指示合計量mfrBは共に、4つの全ての気筒から排出される排ガスの平均的な空燃比(従って、4つの全ての気筒に供給される混合気の平均的な空燃比)が上流側目標空燃比abyfrと等しくなる定常運転状態において取得される値であるから、両者の値は等しくなるはずである。従って、上記(5)、及び上記(7)式を等しいと置いて整理すると、下記(8)式が成立する。下記(8)式から理解できるように、全気筒稼動状態において前記平均的な空燃比が目標空燃比abyfrに一致している場合に算出される全気筒稼動時フィードバック補正量DFiallの値は、4つの全ての気筒についてのインジェクタ39の誤差の平均値を表す値となる。
DFiall=(α#1+α#2+α#3+α#4)/4 ・・・(8)
次に、機関10が一部気筒休止状態(例えば、#1気筒が休止気筒である状態)にあって定常運転状態になっている場合について考える。この場合、前記PIコントローラA11により算出されているフィードバック補正量DFiを一部気筒休止時フィードバック補正量DFi#234と称呼するものとすると、#1気筒以外の他の3つの気筒に対してFbaseb・DFi#234の量の燃料の噴射指示がなされているから、同3つの気筒に対して一回ずつ燃料が噴射された場合における燃料の噴射指示合計量mfrCは下記(9)式にて表される。
mfrC=3・Fbaseb・DFi#234 ・・・(9)
一方、前記一部気筒休止状態において稼動している気筒である#2気筒〜#4気筒についての前記補正後基本燃料噴射(指示)量Fbase#2〜Fbase#4はそれぞれ上記(6)式と同様、下記(10)式にて表される。
Fbase#2=Fbaseb・α#2
Fbase#3=Fbaseb・α#3
Fbase#4=Fbaseb・α#4 ・・・(10)
かかる補正後基本燃料噴射(指示)量Fbase#2〜Fbase#4の各燃料の噴射指示を前記一部気筒休止状態において稼動している#2気筒〜#4気筒についてそれぞれ行ったとすれば、かかる3つの気筒に供給される混合気の空燃比が全て上流側目標空燃比abyfrと等しくなるから、前記一部気筒休止状態における定常運転状態においてフィードバック補正量DFiの値は「1」になる。従って、この場合、かかる3つの気筒に対して一回ずつ燃料が噴射された場合における燃料の噴射指示合計量mfrDは下記(11)式にて表される。
mfrD=Fbaseb・(α#2+α#3+α#4)・DFi=Fbaseb・(α#2+α#3+α#4) ・・・(11)
ここで、上記燃料の噴射指示合計量mfrC、及び上記燃料の噴射指示合計量mfrDは共に、前記3つの気筒に供給される混合気の平均的な空燃比が上流側目標空燃比abyfrと等しくなる定常運転状態において取得される値であるから、両者の値は等しくなるはずである。従って、上記(9)、及び上記(11)式を等しいと置いて整理すると、下記(12)式が成立する。下記(12)式から理解できるように、この一部気筒休止状態において前記平均的な空燃比が目標空燃比abyfrに一致している場合に算出される一部気筒休止時フィードバック補正量DFi#234の値は、休止気筒を除いた残りの3つの気筒についてのインジェクタ39の誤差の平均値を表す値となる。
DFi#234=(α#2+α#3+α#4)/3 ・・・(12)
以上、全気筒稼動状態において成立する上記(8)式と一部気筒休止状態において成立する上記(12)式とから (α#2+α#3+α#4) を消去すれば、下記(13)式が得られる。従って、下記(13)式から理解できるように、前記全気筒稼動時フィードバック補正量DFiallと休止気筒が#1気筒である場合の前記一部気筒休止時フィードバック補正量DFi#234とを取得すれば、休止気筒である#1気筒についてのインジェクタ39の誤差分に相当する基本燃料噴射量補正係数α#1を求めることができる。
α#1=4・DFiall−3・DFi#234 ・・・(13)
従って、同様の考え方を用いると、前記全気筒稼動時フィードバック補正量DFiallと、休止気筒が#n気筒(n:2〜4の何れかの自然数)である場合の一部気筒休止時フィードバック補正量DFi#elseとを取得すれば、休止気筒である#n気筒についてのインジェクタ39の誤差分に相当する基本燃料噴射量補正係数α#nを下記(14)式〜(16)式に従ってそれぞれ求めることができる。なお、本明細書において、添え字の「#else」は休止気筒以外の3つの稼動している気筒についての値であることを示し、例えば、休止気筒が#2気筒である場合には「DFi#else」は「DFi#134」を意味する。以上が、基本燃料噴射量補正係数α#1〜α#4をそれぞれ算出する方法である。
α#2=4・DFiall−3・DFi#134 ・・・(14)
α#3=4・DFiall−3・DFi#124 ・・・(15)
α#4=4・DFiall−3・DFi#123 ・・・(16)
そこで、上記算出方法を採用する本装置は、先ず、補正前基本燃料噴射量算出手段A3による算出される補正前基本燃料噴射量Fbasebの値そのものにPIコントローラA11により算出されるフィードバック補正量DFiを乗じた値(Fbaseb・DFi)を燃料噴射気筒についての最終燃料噴射量Fi#injとして設定し、この最終燃料噴射量Fi#injの燃料の噴射指示を燃料噴射気筒のインジェクタ39に与え続ける。この段階では、気筒間における空燃比のばらつきが発生している。
この状態で、本装置は、機関10が一部気筒休止状態にある場合における休止気筒を#1気筒から#4気筒まで順次変更していき、対応する一部気筒休止時フィードバック補正量DFi#elseの値と全気筒稼動状態における全気筒稼動時フィードバック補正量DFiallの値とが共に取得された各段階で、上記(13)式〜(16)式に従って順次、基本燃料噴射量補正係数α#1〜α#4を算出する。このようにして、基本燃料噴射量補正係数α#1〜α#4を取得する手段が前記基本燃料噴射量補正係数取得手段A12に相当する。
そして、基本燃料噴射量補正係数α#1〜α#4の全てが取得されると、これ以降、本装置は、先に図4を参照しながら説明したように、同基本燃料噴射量補正係数α#1〜α#4の値を利用して、上記(1)式に従って前記補正前基本燃料噴射量Fbasebを気筒毎に補正するとともに上記(2)式に従って気筒毎に最終燃料噴射量Fi#injを補正し、この補正した最終燃料噴射量Fi#injの燃料の噴射指示を燃料噴射気筒のインジェクタ39に与える。この結果、気筒間における空燃比のばらつきが消滅する。このようにして、気筒毎に最終燃料噴射量Fi#injを補正する手段が気筒別噴射量補正手段に相当する。
(十分に安定した定常運転状態でのフィードバック補正量DFiall,DFi#elseの取得)
上記の内容から理解できるように、この方法によって基本燃料噴射量補正係数α#1〜α#4をそれぞれ精度良く算出するためには、前記全気筒稼動時フィードバック補正量DFiall、及び前記一部気筒休止時フィードバック補正量DFi#elseが共に、稼動している気筒についてのインジェクタ39の誤差の平均値を精度良く表す値となっている必要がある。このためには、前記全気筒稼動時フィードバック補正量DFiall、及び前記一部気筒休止時フィードバック補正量DFi#elseを取得する際、前記平均的な空燃比が正確に上流側目標空燃比abyfrに一致している必要がある。換言すれば、機関10が十分に安定した定常運転状態にある必要がある。
そこで、本装置は、全気筒稼動状態、或いは、一部気筒休止状態において、機関10が第1所定時間T1の間、及びその後の第2所定時間T2の間に渡り継続して所定の定常運転状態にある場合に、同第1所定時間T1経過後の同第2所定時間T2内にてCPU71の演算周期毎に取得される多数のフィードバック補正量DFiの時間的平均値DFiaveを計算する。そして、本装置は、全気筒稼動状態において前記計算される時間的平均値DFiaveを全気筒稼動時フィードバック補正量DFiallとして使用するとともに、一部気筒休止状態において計算される同時間的平均値DFiaveを一部気筒休止時フィードバック補正量DFi#elseとして使用する。
(ガス当たり状態の良否に基づくフィードバック補正量DFiall,DFi#elseの取得防止)
また、上記の内容から理解できるように、この方法によって基本燃料噴射量補正係数α#1〜α#4をそれぞれ精度良く算出するためには、上流側空燃比センサ66の出力vabyfsが、稼動している全ての気筒からそれぞれ排出された排ガスの平均的な空燃比を精度良く表す値となっている必要がある。
一方、先に説明したように、一般に、内燃機関10のエンジン回転速度NE、筒内吸入空気量Mc等によって、上流側空燃比センサ66(の検出部)への排ガスの「ガス当たり状態」が変化し、稼動している気筒から排出された排ガスの各状態(空燃比)が同センサ出力vabyfsに反映される程度における均一度合が変化する。前記均一度合が悪くなる(即ち、ガス当たり状態が悪くなる)と、上流側空燃比センサ出力vabyfsが、稼動している全ての気筒からそれぞれ排出された排ガスの平均的な空燃比を精度良く表す値となり得なくなる。
そこで、本装置は、エンジン回転速度NE、及び筒内吸入空気量Mcに相当する吸入空気量相当値KLと、ガス当たり状態との関係を予め実験等により調査した結果に基づく図5に示したマップをROM72に記憶している。そして、本装置は、エンジン回転速度NE、吸入空気量相当値KL、及び同マップに基づいてガス当たり状態の良否を判定し、機関10の運転状態が図5に示した「ガス当たり状態が良」となる運転状態になっている場合にのみ上記全気筒稼動時フィードバック補正量DFiall、及び上記一部気筒休止時フィードバック補正量DFi#elseを取得する。以上が、基本燃料噴射量補正係数α#1〜α#4に基づく補正前基本燃料噴射量Fbasebの補正(従って、最終燃料噴射量Fi#injの補正)の概要である。
(実際の作動)
次に、上記空燃比制御装置の実際の作動について、電機制御装置70のCPU71が実行するルーチンをフローチャートにより示した図6〜図11を参照しながら説明する。
CPU71は、図6に示した気筒休止制御を行うルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ600から処理を開始し、ステップ605に進んで、クランクポジションセンサ64の出力に基づいて取得されるエンジン回転速度NEと、エアフローメータ61により計測される吸入空気流量Gaと、ステップ605内に記載したテーブルとに基づいて全気筒稼動フラグALLの値を「0」、又は「1」のいずれか一方に設定する。ここで、全気筒稼動フラグALLは、その値が「1」のとき機関10が全気筒稼動状態にあることを示し、その値が「0」のとき機関10が一部気筒休止状態にあることを示す。
次に、CPU71はステップ610に進み、全気筒稼動フラグALLの値が「1」であるか否かを判定し、「Yes」と判定する場合には、ステップ615に進んで4つの全ての気筒が稼動状態となるように全ての気筒についての吸気弁駆動装置33、排気弁駆動装置36、イグナイタ38、及びインジェクタ39に所定の駆動指示を付与した後、ステップ695に進んで本ルーチンを一旦終了する。
一方、ステップ610の判定において「No」と判定する場合には、CPU71はステップ620に進んで、#n気筒のみが休止状態(休止気筒)となるように#n気筒についての吸気弁駆動装置33、及び排気弁駆動装置36のそれぞれに吸気弁32、及び排気弁35が共に閉弁状態に維持されるように駆動指示を付与するとともに、#n気筒についてのイグナイタ38、及びインジェクタ39を非駆動状態に維持する。また、CPU71は、#n気筒を除いた他の3つの気筒についての吸気弁駆動装置33、排気弁駆動装置36、イグナイタ38、及びインジェクタ39には全気筒稼動フラグALLの値が「1」である場合と同様の前記所定の駆動指示を付与する。
これにより、機関10の運転状態に応じて、機関10(吸気弁駆動装置33、及び排気弁駆動装置36)が全気筒稼動状態、或いは、#n気筒が休止気筒となる一部気筒休止状態の何れか一方になるように制御される。なお、「n」の値は、後述するルーチンにより設定・変更されるようになっているが、現段階では「1」になっているものとする。また、現段階では機関10は全気筒稼動状態にあって全気筒稼動フラグALLの値が「1」になっているものとして説明を続ける。
また、CPU71は、図7にフローチャートにより示した燃料噴射量Fi#injの計算、及び燃料噴射の指示を行うルーチンを、稼動している気筒のクランク角が各吸気上死点前の所定クランク角度(例えば、BTDC90°CA)となる毎に、繰り返し実行するようになっている。従って、稼動している任意の気筒のクランク角度が前記所定クランク角度になると、CPU71はステップ700から処理を開始してステップ705に進み、エアフローメータ61により計測された吸入空気流量Ga、エンジン回転速度NE、及び上記上流側目標空燃比abyfr(k)に基づいて、各気筒に供給される混合気の空燃比を同上流側目標空燃比abyfr(k)とするための補正前基本燃料噴射量Fbasebを求める。
次に、CPU71はステップ710に進み、学習完了フラグFINの値が「1」になっているか否かを判定する。ここで、学習完了フラグFINは、その値が「1」のとき前記基本燃料噴射量補正係数α#1〜α#4の全てが取得されていることを示し、その値が「0」のとき同基本燃料噴射量補正係数α#1〜α#4の全てが取得されていないことを示す。
いま、学習完了フラグFINの値が「0」になっているものとして説明を続けると、CPU71はステップ710にて「No」と判定してステップ715に進んで、前記補正前基本燃料噴射量Fbasebの値そのものを燃料噴射気筒についての補正後基本燃料噴射量Fbase#injとして設定する。
次いで、CPU71はステップ720に進み、上記(2)式に従って、前記補正後基本燃料噴射量Fbase#injに後述するフィードバック補正量DFiを乗じた値を燃料噴射気筒についての最終燃料噴射量Fi#injとして設定する。
次に、CPU71はステップ725に進み、最終燃料噴射量Fi#injの燃料を噴射するための指示を燃料噴射気筒についてのインジェクタ39に対して行う。そして、CPU71はステップ795に進み、本ルーチンを一旦終了する。以上により、学習完了フラグFINの値が「0」である限りにおいて、燃料噴射気筒についての基本燃料噴射量補正係数α#injによる補正がなされない補正前基本燃料噴射量Fbasebがフィードバック補正量DFiによりフィードバック補正された後の最終燃料噴射量Fi#injの燃料の噴射指示が吸気行程を迎える燃料噴射気筒に対してなされる。
次に、上記フィードバック補正量DFiを算出する際の作動について説明すると、CPU71は図8に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ800から処理を開始し、ステップ805に進んでフィードバック制御条件が成立しているか否かを判定する。このフィードバック制御条件は、例えば、機関の冷却水温THWが第1所定温度以上であって、機関の一回転当りの吸入空気量(負荷、筒内吸入空気量Mc)が所定値以下であり、上流側空燃比センサ66が正常(活性状態であることを含む。)であるときに成立する。
いま、フィードバック制御条件が成立しているものとして説明を続けると、CPU71はステップ805にて「Yes」と判定してステップ810に進み、現時点の上流側空燃比センサ66の出力値vabyfsを図3に示したテーブルに基づいて変換することにより、現時点における検出空燃比abyfsを求める。
次に、CPU71はステップ815に進み、現時点からNストローク前に吸気行程を迎えた気筒の吸入空気量である筒内吸入空気量Mc(k−N)を前記求めた検出空燃比abyfsで除することにより、現時点からNストローク前の実際の筒内燃料供給量Fc(k−N)を求める。次いで、CPU71はステップ820に進み、現時点からNストローク前の筒内吸入空気量Mc(k−N)を現時点からNストローク前の時点における上流側目標空燃比abyfr(k−N)で除することにより、現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)を求める。
続いて、CPU71はステップ825に進んで、上記(3)式に従って前記現時点からNストローク前の目標筒内燃料供給量Fcr(k−N)から前記実際の筒内燃料供給量Fc(k−N)を減じた値を筒内燃料供給量偏差DFcとして設定する。つまり、筒内燃料供給量偏差DFcは、Nストローク前の時点で筒内に供給された燃料の過不足分を表す量となる。次に、CPU71はステップ830に進み、その時点における筒内燃料供給量偏差DFcの積分値SDFcに前記ステップ825にて求めた筒内燃料供給量偏差DFcを加えて新たな筒内燃料供給量偏差の積分値SDFcを求め、続くステップ835にて上記(4)式に基づくステップ835内に示した式に従ってフィードバック補正量DFiを求めた後、ステップ895に進んで本ルーチンを一旦終了する。
このように、フィードバック補正量DFiが求められ、このフィードバック補正量DFiが前述した図7のステップ720により最終燃料噴射量Fi#injに反映されるから、Nストローク前の燃料供給量の過不足が補償され、稼動している各気筒に供給される混合気の平均的な空燃比が上流側目標空燃比abyfrに一致せしめられるようにフィードバック制御される。
一方、ステップ805の判定時において、フィードバック制御条件が不成立であると、CPU71は同ステップ805にて「No」と判定してステップ840に進んでフィードバック補正量DFiの値を「1」に設定し、その後、ステップ895に進んで本ルーチンを一旦終了する。このように、フィードバック制御条件が不成立であるときは、フィードバック補正量DFiが「1」に維持されて前記フィードバック制御が実行されない。
また、CPU71は、全気筒稼動時フィードバック補正量DFiall、及び一部気筒休止時フィードバック制御量DFi#elseの時間的平均値をそれぞれ取得するための図9に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ900から処理を開始してステップ905に進んで、学習完了フラグFINの値が「0」になっているか否かを判定する。
現時点では学習完了フラグFINの値が「0」になっているから、CPU71はステップ905にて「Yes」と判定してステップ910に進み、全気筒稼動フラグALLの値が「1」であって、且つ全気筒稼動時学習フラグLEARNallの値が「0」になっているか、或いは、全気筒稼動フラグALLの値が「0」であって、且つ一部気筒休止時学習フラグLEARN#nの値が「0」になっているかを判定する。
ここで、全気筒稼動時学習フラグLEARNallは、その値が「1」のとき全気筒稼動時フィードバック補正量DFiallが取得された状態であることを示し、その値が「0」のとき全気筒稼動時フィードバック補正量DFiallが取得されていない状態であることを示す。また、一部気筒休止時学習フラグLEARN#nは、その値が「1」のとき休止気筒が#n気筒である場合の一部気筒休止時フィードバック補正量DFi#elseが取得された状態であることを示し、その値が「0」のとき休止気筒が#n気筒である場合の一部気筒休止時フィードバック補正量DFi#elseが取得されていない状態であることを示す。
いま、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#nの各値が全て「0」になっているものとして説明を続けると、現段階では全気筒稼動フラグALLの値が「1」であって、且つ全気筒稼動時学習フラグLEARNallの値が「0」になっている。従って、CPU71はステップ910の判定にて「Yes」と判定してステップ915に進んで、基本燃料噴射量補正係数の算出条件が成立しているか否かを判定する。ここで、基本燃料噴射量補正係数の算出条件は、機関10が所定の定常運転状態(例えば、上流側空燃比センサ出力vabyfsの変動幅が所定値以下であって、且つ吸入空気流量Gaの変動幅が所定値以下である状態)を前記第1所定時間に渡って既に継続していて、且つ現時点まで引き続いて継続していること、機関10の運転状態が図5に示した「ガス当たり状態が良」となる運転状態になっていること、及び前記フィードバック制御条件が成立していること、の全てが成立している場合に成立する。
いま、機関10が上記所定の定常運転状態を前記第1所定時間に渡って継続しておらず、基本燃料噴射量補正係数の算出条件が成立していないものとすると、CPU71はステップ915にて「No」と判定してステップ920に進んで、カウンタMの値を「0」にクリアした後、ステップ995に直ちに進んで本ルーチンを一旦終了する。ここで、カウンタMの値は、前記第1所定時間経過後における機関10の上記所定の定常運転状態の継続時間を表す。以降、CPU71は、上記基本燃料噴射量補正係数の算出条件が成立しない限りにおいて、ステップ900〜920、995の処理を繰り返し実行する。
一方、この状態から、機関10の上記定常運転状態が前記第1所定時間に渡って継続することで基本燃料噴射量補正係数の算出条件が成立したものとすると、CPU71はステップ915に進んだとき「Yes」と判定してステップ925に進み、その時点でのカウンタMの値(現時点では「0」である。)を「1」だけ増大し、続くステップ930にて図8のステップ830にて算出されている全気筒稼動状態における最新のフィードバック補正量DFiの値をサンプル値DFi(M)(従って、DFi(1))として格納する。
次いで、CPU71はステップ935に進んで、現時点でのカウンタMの値が前記第2所定時間に相当するDFi平均値算出用必要サンプル数Mrefに達したか否かを判定する。現段階ではカウンタMの値は「1」であるから、CPU71はステップ935の判定にて「No」と判定してステップ995に直ちに進んで本ルーチンを一旦終了する。
以降、機関10が上記所定の定常運転状態を維持することによりステップ925の繰り返し実行によりカウンタMの値が前記Mrefに達するまで(従って、前記第2所定時間が経過するまで)の間、CPU71はステップ900〜915、925〜935、995の処理を繰り返し実行してサンプル値DFi(M)の値を順次格納していく。なお、この間において、機関10が上記定常運転状態を維持しなくなった場合、その時点で基本燃料噴射量補正係数の算出条件が不成立になるから、CPU71はステップ915に進んだとき「No」と判定してステップ920にてカウンタMの値を再び「0」にクリアする。
そして、機関10が前記第2所定時間に渡って上記所定の定常運転状態を継続すると、カウンタMの値が前記Mrefに達するから、CPU71はステップ935に進んだとき「Yes」と判定してステップ940に進み、Mref個のサンプル値DFi(1)〜DFi(Mref)の平均値を平均値DFiaveとして格納する。
次いで、CPU71はステップ945に進み、全気筒稼動フラグALLの値が「1」であるか否かを判定する。現段階は全気筒稼動状態になっていて全気筒稼動フラグALLの値が「1」になっているから、CPU71はステップ945にて「Yes」と判定してステップ950に進んで、前記平均値DFiaveを全気筒稼動時フィードバック補正量DFiallとして格納し、続くステップ955にて全気筒稼動時学習フラグLEARNallの値を「1」に設定した後、ステップ995に進んで本ルーチンを一旦終了する。
これにより、全気筒稼動時フィードバック補正量DFiall(の時間的平均値)が取得される。以降、全気筒稼動時学習フラグLEARNallの値が「1」になり、且つ、全気筒稼動フラグALLの値が「1」のままであるから、CPU71はステップ910に進んだとき「No」と判定するようになる。
次に、この状態から、機関10の運転状態が変化し、CPU71が図6のステップ605に進んだときに全気筒稼動フラグALLの値を「0」に設定した場合について説明する。この場合、CPU71はステップ620に進んで機関10を休止気筒が#1気筒である一部気筒休止状態に設定する。これにより、全気筒稼動フラグALLの値が「0」になり、休止気筒が#1気筒である場合の一部気筒休止時学習フラグLEARN#1の値が「0」のままであるから、CPU71は図9のステップ910に進んだとき再び「Yes」と判定して前述したステップ915以降の処理を再び行う。
そして、前記基本燃料噴射量補正係数の算出条件が前記第2所定時間に渡って成立し続けたとき、CPU71は一部気筒休止状態におけるフィードバック補正量DFiについてステップ930にて取得したMref個のサンプル値DFi(1)〜DFi(Mref)に基づいてステップ940にて一部気筒休止状態における前記平均値DFiaveを取得する。
次いで、CPU71はステップ945にて「No」と判定してステップ960に進み、前記平均値DFiaveを一部気筒休止時フィードバック補正量DFi#else(即ち、DFi#234)として格納し、続くステップ965にて一部気筒休止時学習フラグLEARN#1の値を「1」に設定した後、ステップ995に進んで本ルーチンを一旦終了する。
これにより、休止気筒が#1気筒である場合の一部気筒休止時フィードバック補正量DFi#234(の時間的平均値)が取得される。この結果、全気筒稼動時フィードバック補正量DFiall、及び一部気筒休止時フィードバック補正量DFi#234が取得されたことになる。即ち、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#1の値は共に「1」になっている。以降、一部気筒休止時学習フラグLEARN#1の値が「1」になり、且つ、全気筒稼動フラグALLの値が「0」のままであるから、CPU71はステップ910に進んだとき「No」と判定するようになる。なお、この時点では、一部気筒休止時学習フラグLEARN#2〜LEARN#4の値は「0」のままである。
一方、CPU71は、基本燃料噴射量補正係数の算出・更新を行うための図10に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1000から処理を開始してステップ1005に進んで、学習完了フラグFINの値が「0」になっているか否かを判定する。
現時点では学習完了フラグFINの値が「0」になっているから、CPU71はステップ1005にて「Yes」と判定してステップ1010に進み、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#nの値(即ち、LEARN#1の値)が共に「1」になっているか否かを判定する。
いま、先の図9のステップ965の処理が実行された直後であるものとすると、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#1の値が共に「1」になっているから、CPU71はステップ1010にて「Yes」と判定してステップ1015に進み、上記(13)式に相当するステップ1015内に記載の式に従って#1気筒についての基本燃料噴射量補正係数α#1の値を算出するとともに、同値をバックアップRAM74に格納する。
次いで、CPU71はステップ1020に進み、nの値が「4」以外であるか否かを判定する。現時点ではnの値は「1」であるから、CPU71はステップ1020にて「Yes」と判定してステップ1025に進み、全気筒稼動時学習フラグLEARNallの値を再び「0」に設定し、続くステップ1030にてnの値を「1」だけ増大して「2」とした後、ステップ1095に進んで本ルーチンを一旦終了する。このようにして、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#1の値が共に「1」になった段階で基本燃料噴射量補正係数α#1が算出される。
以降、全気筒稼動時学習フラグLEARNallの値は「0」になり、また、一部気筒休止時学習フラグLEARN#nの値(即ち、LEARN#2の値)は「0」のままであるから、CPU71はステップ1010に進んだとき「No」と判定してステップ1095に直ちに進んで本ルーチンを一旦終了するようになる。また、nの値が「2」になったことに伴い、以降、CPU71は図6のステップ620にて休止気筒となる気筒を#1気筒から#2気筒に変更する。
また、これ以降、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#2の値は共に「0」になっているから、機関10が全気筒稼動状態(ALL=1)、及び休止気筒が#2気筒となる一部気筒休止状態(ALL=0)の何れにあるかにかかわらず、CPU71は図9のステップ910にて「Yes」と判定してステップ915以降の処理を再び行う。
そして、機関10が全気筒稼動状態にある場合において前記基本燃料噴射量補正係数の算出条件が前記第2所定時間に渡って成立し続けたとき、前述の#1気筒の場合と同様、ステップ940にて前記平均値DFiaveを求め、ステップ950にて同平均値DFiaveを全気筒稼動時フィードバック補正量DFiallとして再び格納し、ステップ955にて全気筒稼動時学習フラグLEARNallの値を「1」に設定する。
同様に、機関10が一部気筒休止状態にある場合において前記基本燃料噴射量補正係数の算出条件が前記第2所定時間に渡って成立し続けたとき、前述の#1気筒の場合と同様、ステップ940にて前記平均値DFiaveを求め、ステップ960にて同平均値DFiaveを一部気筒休止時フィードバック補正量DFi#else(従って、DFi#134)として格納し、ステップ965にて一部気筒休止時学習フラグLEARN#2の値を「1」に設定する。
これにより、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#2の値が共に「1」になるから、CPU71は図10のステップ1010にて再び「Yes」と判定し、続くステップ1015にて上記(14)式に従って#2気筒についての基本燃料噴射量補正係数α#2の値を算出するとともに、同値をバックアップRAM74に格納する。そして、CPU71はステップ1020にて「No」と判定した後、ステップ1025にて全気筒稼動時学習フラグLEARNallの値を再び「0」に設定し、続くステップ1030にてnの値を「3」に更新する。
このようにして、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#2の値が共に「1」になった段階で基本燃料噴射量補正係数α#2が算出される。また、nの値が「3」になったことに伴い、以降、CPU71は図6のステップ620にて休止気筒となる気筒を#2気筒から#3気筒に変更する。
以降、同様にして、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#3の値が共に「1」になった段階で図10のステップ1015にて上記(15)式に従って#3気筒についての基本燃料噴射量補正係数α#3の値が算出され、同値がバックアップRAM74に格納される。そして、nの値が「4」となって休止気筒となる気筒が#3気筒から#4気筒に変更された後、全気筒稼動時学習フラグLEARNallの値、及び一部気筒休止時学習フラグLEARN#4の値が共に「1」になった段階でステップ1015にて上記(16)式に従って#4気筒についての基本燃料噴射量補正係数α#4の値が算出され、同値がバックアップRAM74に格納される。これにより、基本燃料噴射量補正係数α#1〜α#4の全てが算出・格納されたことになる。
この段階ではnの値は「4」になっているから、CPU71はステップ1020に進んだとき「No」と判定してステップ1035に進み、学習完了フラグFINの値を「0」から「1」に変更する。この結果、CPU71は図10のステップ1005、或いは図9のステップ905に進んだとき「No」と判定するようになり、基本燃料噴射量補正係数αの算出処理、及び前記平均値DFiaveの取得処理を実行しないようになる。
また、学習完了フラグFINの値が「1」になるから、CPU71は図7のステップ710に進んだとき「Yes」と判定してステップ730に進むようになる。ステップ730に進むとCPU71は、バックアップRAM74に格納されている前記基本燃料噴射量補正係数α#1〜α#4の各値のうちから燃料噴射気筒についての基本燃料噴射量補正係数α#injを選択し、上記(1)式に従ってステップ705にて計算した補正前基本燃料噴射量Fbasebの値に同基本燃料噴射量補正係数α#injを乗じた値を燃料噴射気筒についての補正後基本燃料噴射量Fbase#injとして設定するようになる。
これにより、学習完了フラグFINの値が「1」である限りにおいて、燃料噴射気筒についての基本燃料噴射量補正係数α#injによる補正がなされた補正前基本燃料噴射量Fbaseb(即ち、補正後基本燃料噴射量Fbase#inj)がフィードバック補正量DFiによりフィードバック補正された後の最終燃料噴射量Fi#injの燃料の噴射指示が吸気行程を迎える燃料噴射気筒に対してなされるようになる。
また、CPU71は、基本燃料噴射量補正係数の更新判定を行うための図11に示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPU71はステップ1100から処理を開始してステップ1105に進んで、学習完了フラグFINの値が「1」になっているか否かを判定し、「No」と判定するときはステップ1195に直ちに進んで本ルーチンを一旦終了する。
いま、先の図10のステップ1035の処理が実行された直後であるものとすると、学習完了フラグFINの値が「1」になっているから、CPU71はステップ1105にて「Yes」と判定してステップ1110に進み、基本燃料噴射量補正係数の更新条件が成立しているか否かを判定する。ここで、基本燃料噴射量補正係数の更新条件は、例えば、前回、基本燃料噴射量補正係数α#1〜α#4の全てが算出・格納された時点(即ち、学習完了フラグFINの値が「0」から「1」に変更された時点)から所定の更新基準時間が経過しているときに成立する。
現時点は学習完了フラグFINの値が「0」から「1」に変更された直後であるから基本燃料噴射量補正係数の更新条件は成立していない。従って、CPU71はステップ1110にて「No」と判定してステップ1195に直ちに進んで本ルーチンを一旦終了する。
そして、前記更新基準時間が経過すると、前記基本燃料噴射量補正係数の更新条件が成立するから、CPU71はステップ1110にて「Yes」と判定してステップ1115に進み、全気筒稼動時学習フラグLEARNallの値を「1」から「0」に変更し、続くステップ1120にて一部気筒休止時学習フラグLEARN#1〜LEARN#4の値を全て「1」から「0」に変更するとともに、続くステップ1125にてnの値を「1」に設定し、続くステップ1130にて学習完了フラグFINの値を「1」から「0」に変更した後、ステップ1195に進んで本ルーチンを一旦終了する。これにより、学習完了フラグFINの値が「0」になっているから、CPU71はステップ1105にて「No」と判定してステップ1195に直ちに進むようになる。
また、学習完了フラグFINの値が「0」になるから、CPU71は図7のステップ710に進んだとき再び「No」と判定して再びステップ715に進むようになる。これにより、燃料噴射気筒についての基本燃料噴射量補正係数α#injによる補正がなされない補正前基本燃料噴射量Fbasebがフィードバック補正量DFiによりフィードバック補正された後の最終燃料噴射量Fi#injの燃料の噴射指示が吸気行程を迎える燃料噴射気筒に対して再びなされるようになる。
また、学習完了フラグFINの値が「0」になるから、CPU71は図9のステップ905、或いは図10のステップ1005に進んだとき「Yes」と判定するようになり、前述した前記平均値DFiaveの取得処理、及び基本燃料噴射量補正係数α#1〜#4の算出(更新)処理が順次実行されることで、新たな基本燃料噴射量補正係数α#1〜#4が算出(更新)・格納されて、その結果、学習完了フラグFINの値が再び「1」になる。
これにより、再びステップ730の処理が実行されるようになり、この結果、燃料噴射気筒についての新たな(更新された)基本燃料噴射量補正係数α#injによる補正がなされた補正前基本燃料噴射量Fbaseb(従って、補正後基本燃料噴射量Fbase#inj)がフィードバック補正量DFiによりフィードバック補正された後の最終燃料噴射量Fi#injの燃料の噴射指示が吸気行程を迎える燃料噴射気筒に対して再びなされるようになる。
以上、説明したように、本発明による内燃機関の空燃比制御装置の実施形態によれば、補正前基本燃料噴射量Fbasebの値そのものにフィードバック補正量DFiを乗じた値(Fbaseb・DFi)である最終燃料噴射量Fi#injの燃料の噴射指示を燃料噴射気筒のインジェクタ39に与えた状態で、一部気筒休止状態における休止気筒を#1気筒から#4気筒まで順次変更していき、対応する一部気筒休止時フィードバック補正量DFi#elseの値と全気筒稼動状態における全気筒稼動時フィードバック補正量DFiallの値とが共に取得された各段階で、上記(13)式〜(16)式に従って順次、基本燃料噴射量補正係数α#1〜α#4を算出する。そして、基本燃料噴射量補正係数α#1〜α#4の全てが取得されると、これ以降、本実施形態は、基本燃料噴射量補正係数α#1〜α#4の値を利用して、上記(1)式に従って前記補正前基本燃料噴射量Fbasebを気筒毎に補正するとともに上記(2)式に従って気筒毎に最終燃料噴射量Fi#injを補正し、この補正した最終燃料噴射量Fi#injの燃料の噴射指示を燃料噴射気筒のインジェクタ39に与える。
この結果、全ての気筒についてのインジェクタ39の誤差がそれぞれ確実に補償され得、気筒間における空燃比のばらつきが確実に消滅した。従って、機関の出力(トルク)変動が小さくなってドライバビリティの低下が抑制され、また、暖気運転中におけるエミッションの排出量が少なくなるとともに、燃費の悪化を防止できた。
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、上記実施形態においては、基本燃料噴射量補正係数α#1〜#4が順次取得される毎に全気筒稼動時フィードバック補正量DFiallを新たに取得し直すように構成されているが、一旦、全気筒稼動時フィードバック補正量DFiallが取得されたら、同取得された一つの値そのものを使用して基本燃料噴射量補正係数α#1〜#4の全てを取得するように構成してもよい。
また、上記実施形態においては、基本燃料噴射量補正係数α#1〜#4の各値を取得する処理が実行されている間(従って、学習完了フラグFINの値が「0」になっている間)において、一部気筒休止状態での休止気筒となる気筒が#1気筒から#4気筒まで順次変更されていくように構成されているが、機関の運転状態に応じて一部気筒休止状態での休止気筒となる気筒を選択するように構成してもよい。
また、上記実施形態においては、フィードバック補正量DFiの値そのものについての前記第2所定時間内における時間的平均値を全気筒稼動時フィードバック補正量DFiall、或いは一部気筒休止時フィードバック補正量DFi#elseとして使用するように構成されているが、フィードバック補正量DFiの値を所定のローパスフィルタにて処理した後の値、若しくは、同処理した後の値についての前記第2所定時間内における時間的平均値を全気筒稼動時フィードバック補正量DFiall、或いは一部気筒休止時フィードバック補正量DFi#elseとして使用するように構成してもよい。
また、上記実施形態においては、上記ローパスフィルタを使用することと同様の効果を発揮させるため、フィードバック補正量DFiを算出する際に使用される積分ゲインGiの値を小さい値に設定することが好ましい。
また、上記実施形態においては、燃料噴射気筒についての最終燃料噴射量Fi#injが「Fi#inj=Fbaseb・α#inj・DFi」にて計算されるように構成されているが、燃料噴射気筒についての最終燃料噴射量Fi#injが「Fi#inj=Fbaseb+α#inj+DFi」にて計算されるように構成してもよい。この場合においても、基本燃料噴射量補正係数α#1〜#4の各値は、上記(13)〜上記(16)式に従ってそれぞれ計算され得る。
また、上記実施形態においては、一部気筒休止状態での休止気筒となる気筒が#1気筒から#4気筒まで一気筒ずつ順次変更されていくように構成されているが、例えば、2つの部分気筒群(バンクA、及びバンクB)を有する機関(例えば、V型8気筒エンジン)においては、一部気筒休止状態での休止気筒となる気筒が部分気筒群ずつ(V型8気筒エンジンの場合には4気筒ずつ)交互に変更されていくように構成してもよい。この場合、バンクA、及びバンクBについての基本燃料噴射量補正係数の平均値α#A,α#Bはそれぞれ、下記(17)式、下記(18)式に従って計算され得る。下記(17)式において、DFi#Bは休止気筒がバンクAに属する全ての気筒である場合の一部気筒休止時フィードバック補正量であり、下記(18)式において、DFi#Aは休止気筒がバンクBに属する全ての気筒である場合の一部気筒休止時フィードバック補正量である。
α#A=2・DFiall−DFi#B ・・・(17)
α#B=2・DFiall−DFi#A ・・・(18)
そして、バンクAに属する気筒の何れかが燃料噴射気筒である場合には、燃料噴射気筒についての最終燃料噴射量Fi#injが「Fi#inj=Fbaseb・α#A・DFi」にて計算され、バンクBに属する気筒の何れかが燃料噴射気筒である場合には、燃料噴射気筒についての最終燃料噴射量Fi#injが「Fi#inj=Fbaseb・α#B・DFi」にて計算される。
また、一部気筒休止状態での休止気筒となる気筒が常に2つの部分気筒群のうち特定の何れか一方のみ(例えば、常にバンクAに属する全ての気筒)になるように構成されていてもよい。この場合、上記(17)式、(18)式のうち(17)式のみが使用され得、バンクAに属する気筒の何れかが燃料噴射気筒である場合には、燃料噴射気筒についての最終燃料噴射量Fi#injが「Fi#inj=Fbaseb・α#A・DFi」にて計算される一方、バンクBに属する気筒の何れかが燃料噴射気筒である場合には、基本燃料噴射量Fbasebを補正することなく、燃料噴射気筒についての最終燃料噴射量Fi#injが「Fi#inj=Fbaseb・DFi」にて計算される。
また、上記実施形態においては、機関10の運転状態が図5に示した「ガス当たり状態が良」となる運転状態になっている場合にのみ、全気筒稼動時フィードバック補正量DFiall、及び一部気筒休止時フィードバック補正量DFi#elseを取得することで基本燃料噴射量補正係数α#1〜α#4を算出するように構成されているが、「ガス当たり状態」の良否にかかわらず全気筒稼動時フィードバック補正量DFiall、及び一部気筒休止時フィードバック補正量DFi#elseを共に取得することで基本燃料噴射量補正係数α#1〜α#4を算出するとともに、その時点でのエンジン回転速度NE、及び吸入空気量相当値KLと、基本燃料噴射量Fbasebを補正する際の反映率Kc(例えば、Kc=0.2〜1.0)を求めるための図12に示したテーブルとに基づいて反映率Kcを求め、前記算出した基本燃料噴射量補正係数α#1〜α#4の各々に同反映率Kcを乗じた各値を最終的な基本燃料噴射量補正係数α#1〜α#4として使用するように構成してもよい。この場合、反映率Kcの値は、「ガス当たり状態」が良好になるほどより大きい値に設定されることが望ましい。
本発明の実施形態に係る空燃比制御装置を適用した内燃機関の概略図である。 図1に示したエアフローメータの出力電圧と計測された吸入空気流量との関係を示したグラフである。 図1に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。 図1に示した空燃比制御装置が空燃比フィードバック制御を実行する際の機能ブロック図である。 図1に示したCPUが参照する、エンジン回転速度、及び吸入空気量相当値に基づいて排ガスの上流側空燃比センサへのガス当たり状態の良否を判定するためのテーブルを示したグラフである。 図1に示したCPUが実行する気筒休止制御を行うためのルーチンを示したフローチャートである。 図1に示したCPUが実行する最終燃料噴射量の計算等を行うためのルーチンを示したフローチャートである。 図1に示したCPUが実行するフィードバック補正量を計算するためのルーチンを示したフローチャートである。 図1に示したCPUが実行する全気筒稼動時フィードバック補正量の時間的平均値、及び一部気筒休止時フィードバック制御量の時間的平均値をそれぞれ取得するためのルーチンを示したフローチャートである。 図1に示したCPUが実行する基本燃料噴射量補正係数を算出・更新するためのルーチンを示したフローチャートである。 図1示したCPUが実行する基本燃料噴射量補正係数を更新するか否かの判定を行うためのルーチンを示したフローチャートである。 本発明の実施形態の変形例に係る空燃比制御装置のCPUが参照する、エンジン回転速度、及び吸入空気量相当値と、基本燃料噴射量を補正する際の反映率との関係を規定するテーブルを示したグラフである。
符号の説明
10…内燃機関、25…燃焼室、33…吸気弁駆動装置、36…排気弁駆動装置、39…インジェクタ、52…エキゾーストパイプ(排気管)、66…上流側空燃比センサ、70…電気制御装置、71…CPU

Claims (6)

  1. 複数の気筒を有する内燃機関の気筒毎に配設され、気筒毎に燃料を噴射する燃料噴射手段と、
    前記複数の気筒からそれぞれ排出された排ガスが集合せしめられて成る排ガスが通過する前記内燃機関の排気通路に配設された空燃比センサと、
    前記空燃比センサの出力値が所定の目標値になるように同出力値に基づいてフィードバック補正量を算出し、同フィードバック補正量に基づいて調整された燃料噴射量の燃料を前記各気筒に対して前記燃料噴射手段により噴射せしめることで同各気筒に供給される混合気の空燃比をフィードバック制御するフィードバック制御手段と、
    を備えた内燃機関の空燃比制御装置であって、
    前記内燃機関の運転状態に応じて前記複数の気筒の状態を、全ての気筒が稼動する全気筒稼動状態と、同複数の気筒の一部である一つ又は複数の気筒が休止する一部気筒休止状態との何れか一方に切換える気筒状態切換手段と、
    前記全気筒稼動状態において前記フィードバック制御手段により算出される全気筒稼動時フィードバック補正量と、前記一部気筒休止状態において同フィードバック制御手段により算出される一部気筒休止時フィードバック補正量とに基づいて、同一部気筒休止状態において休止していた前記一部の気筒に対する前記燃料噴射量を補正する気筒別噴射量補正手段と、
    を備えた内燃機関の空燃比制御装置。
  2. 請求項1に記載の内燃機関の空燃比制御装置において、
    前記フィードバック制御手段は、
    前記各気筒に供給される混合気の空燃比を前記所定の目標値に相当する目標空燃比とするために必要な基本燃料噴射量を同内燃機関の運転状態に応じて決定するとともに同基本燃料噴射量を前記フィードバック補正量に基づいて調整することで得られる前記燃料噴射量の燃料を前記各気筒に対して前記燃料噴射手段により噴射せしめるように構成され、
    前記気筒別噴射量補正手段は、
    前記全気筒稼動時フィードバック補正量と、前記一部気筒休止時フィードバック補正量とに基づいて前記一部気筒休止状態において休止していた前記一部の気筒についての前記基本燃料噴射量を補正することで同一部の気筒に対する前記燃料噴射量を補正するように構成された内燃機関の空燃比制御装置。
  3. 請求項1又は請求項2に記載の内燃機関の空燃比制御装置において、
    前記気筒状態切換手段は、
    前記一部気筒休止状態において、前記一部の気筒としての任意の一つの気筒を休止させるとともに、全ての気筒の各々を同任意の一つの気筒として休止させていくように構成された内燃機関の空燃比制御装置。
  4. 請求項1乃至請求項3の何れか一項に記載の内燃機関の空燃比制御装置において、
    前記気筒別噴射量補正手段は、
    前記内燃機関が所定の定常運転状態にある所定時間内における前記全気筒稼動時フィードバック補正量の時間的平均値、及び前記一部気筒休止時フィードバック補正量の時間的平均値をそれぞれ、前記全気筒稼動時フィードバック補正量、及び前記一部気筒休止時フィードバック補正量として使用するように構成された内燃機関の空燃比制御装置。
  5. 請求項1乃至請求項4の何れか一項に記載の内燃機関の空燃比制御装置であって、
    稼動している気筒から排出された排ガスの各状態が前記空燃比センサの出力に反映される程度における均一度合と、同均一度合に影響を与える前記内燃機関の運転状態との関係を予め記憶した記憶手段を更に備え、
    前記気筒別噴射量補正手段は、
    前記内燃機関の運転状態と前記記憶手段とに基づいて取得される前記均一度合が所定の良好な状態となる場合においてのみ前記一部の気筒に対する前記燃料噴射量を補正するために使用する前記全気筒稼動時フィードバック補正量、及び一部気筒休止時フィードバック補正量を取得するように構成された内燃機関の空燃比制御装置。
  6. 請求項1乃至請求項4の何れか一項に記載の内燃機関の空燃比制御装置であって、
    稼動している気筒から排出された排ガスの各状態が前記空燃比センサの出力に反映される程度における均一度合と、同均一度合に影響を与える前記内燃機関の運転状態との関係を予め記憶した記憶手段を更に備え、
    前記気筒別噴射量補正手段は、
    前記一部の気筒に対する前記燃料噴射量を補正するために使用する前記全気筒稼動時フィードバック補正量、及び一部気筒休止時フィードバック補正量を取得した時点において前記内燃機関の運転状態と前記記憶手段とに基づいて取得される前記均一度合に応じて、同一部の気筒に対する前記燃料噴射量を補正する程度を変更するように構成された内燃機関の空燃比制御装置。
JP2003272959A 2003-07-10 2003-07-10 内燃機関の空燃比制御装置 Expired - Fee Related JP4168859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003272959A JP4168859B2 (ja) 2003-07-10 2003-07-10 内燃機関の空燃比制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003272959A JP4168859B2 (ja) 2003-07-10 2003-07-10 内燃機関の空燃比制御装置

Publications (2)

Publication Number Publication Date
JP2005030350A true JP2005030350A (ja) 2005-02-03
JP4168859B2 JP4168859B2 (ja) 2008-10-22

Family

ID=34210353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003272959A Expired - Fee Related JP4168859B2 (ja) 2003-07-10 2003-07-10 内燃機関の空燃比制御装置

Country Status (1)

Country Link
JP (1) JP4168859B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087025A1 (ja) * 2009-01-28 2010-08-05 トヨタ自動車株式会社 多気筒内燃機関の空燃比気筒間インバランス判定装置
WO2012020500A1 (ja) * 2010-08-12 2012-02-16 トヨタ自動車株式会社 内燃機関の燃料噴射量制御装置
CN113494370A (zh) * 2020-04-01 2021-10-12 长城汽车股份有限公司 一种车辆减排方法和装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010087025A1 (ja) * 2009-01-28 2010-08-05 トヨタ自動車株式会社 多気筒内燃機関の空燃比気筒間インバランス判定装置
CN102301119A (zh) * 2009-01-28 2011-12-28 丰田自动车株式会社 多气缸内燃机的空燃比气缸间失调判定装置
US8302581B2 (en) 2009-01-28 2012-11-06 Toyota Jidosha Kabushiki Kaisha Air-fuel ratio imbalance among cylinders determining apparatus of a multi-cylinder internal combustion engine
CN102301119B (zh) * 2009-01-28 2014-03-12 丰田自动车株式会社 多气缸内燃机的空燃比气缸间失调判定装置
EP2392810A4 (en) * 2009-01-28 2015-09-30 Toyota Motor Co Ltd DEVICE FOR DECISION OF THE IMBALANCE OF THE AIR / FUEL RATIO BETWEEN CYLINDERS FOR A MULTI-CYLINDER INTERNAL COMBUSTION ENGINE
WO2012020500A1 (ja) * 2010-08-12 2012-02-16 トヨタ自動車株式会社 内燃機関の燃料噴射量制御装置
CN113494370A (zh) * 2020-04-01 2021-10-12 长城汽车股份有限公司 一种车辆减排方法和装置
CN113494370B (zh) * 2020-04-01 2023-02-03 长城汽车股份有限公司 一种车辆减排方法和装置

Also Published As

Publication number Publication date
JP4168859B2 (ja) 2008-10-22

Similar Documents

Publication Publication Date Title
US7484504B2 (en) Air-fuel ratio control system and method for internal combustion engine
JP4973807B2 (ja) 内燃機関の空燃比制御装置
US7654252B2 (en) Air-fuel ratio control system and method for internal combustion engine
US8401766B2 (en) Inter-cylinder air-fuel ratio imbalance determination apparatus for internal combustion engine
JP2007100575A (ja) 内燃機関の制御装置
JP2010169038A (ja) 多気筒内燃機関の気筒間空燃比ばらつき判定装置
US8401765B2 (en) Inter-cylinder air-fuel ratio imbalance determination apparatus for internal combustion engine
JP3922091B2 (ja) 内燃機関の空燃比制御装置
US7885757B2 (en) Degradation determination apparatus and degradation determination system for oxygen concentration sensor
JP4280931B2 (ja) 内燃機関の空燃比制御装置
JP4553144B2 (ja) 内燃機関の燃料噴射制御装置
JP4168859B2 (ja) 内燃機関の空燃比制御装置
WO2011148517A1 (ja) 内燃機関の空燃比制御装置
JP2004011435A (ja) 多気筒内燃機関の空燃比制御装置
US8949000B2 (en) Control device and control method for internal combustion engine
JP2007231750A (ja) 内燃機関の空燃比制御装置
JP2012017657A (ja) 内燃機関の燃料噴射量制御装置
JP2001241348A (ja) 内燃機関の燃料噴射制御装置
JPS6181532A (ja) 多気筒内燃エンジンの燃料供給制御方法
JP5640662B2 (ja) 内燃機関の燃料噴射量制御装置
JP2008297933A (ja) 燃料噴射量制御装置及び燃料噴射量制御システム
JP5983691B2 (ja) 内燃機関の制御装置
JP4888397B2 (ja) 内燃機関の空燃比制御装置
JP3879596B2 (ja) 空燃比センサ状態判定装置
JP2007231902A (ja) 内燃機関の空燃比制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080307

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080715

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080728

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110815

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120815

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130815

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees