以下、本発明による内燃機関の制御装置の各実施形態について図面を参照しつつ説明する。
(第1実施形態)
図1は、第1実施形態に係る内燃機関の制御装置(以下、「第1制御装置」とも称呼する。)を火花点火式・多気筒(本例では4気筒)・ガソリン燃料・内燃機関10に適用したシステムの概略構成を示している。この内燃機関10は、本体部20、吸気系統30、排気系統40、二次空気供給系統50を備えている。
本体部20は、シリンダブロック部とシリンダヘッド部とを備えている。本体部20は、ピストン頂面、シリンダ壁面及びシリンダヘッド部の下面からなる複数(4個)の燃焼室21を備えている。シリンダヘッド部には、各燃焼室21に空気及び燃料からなる混合気を供給するための吸気ポート22と、各燃焼室21から排ガス(既燃ガス)を排出するための排気ポート23と、が形成されている。吸気ポート22は図示しない吸気弁により開閉され、排気ポート23は図示しない排気弁により開閉されるようになっている。
シリンダヘッド部には複数(4個)の点火プラグ24が固定されている。各点火プラグ24は、その火花発生部が各燃焼室21の中央部であってシリンダヘッド部の下面近傍位置に露呈するように配設されている。各点火プラグ24は、点火信号に応答して火花発生部から点火用火花を発生するようになっている。更に、シリンダヘッド部には複数(4個)の燃料噴射弁(インジェクタ)25が固定されている。各燃料噴射量弁25は、噴射指示信号に応答し、その噴射指示信号に含まれる指示噴射量の燃料を各吸気ポート22内に噴射するようになっている。
更に、シリンダヘッド部には、吸気弁制御装置26が設けられている。この吸気弁制御装置26は、インテークカムシャフト(図示せず)とインテークカム(図示せず)との相対回転角度(位相角度)を油圧により調整・制御する周知の構成を備えている。吸気弁制御装置26は、指示信号(駆動信号)に基づいて作動し、吸気弁の開弁タイミング(吸気弁開弁タイミング)を変更することができるようになっている。
本例において、吸気弁の開弁期間(開弁クランク角度幅)は一定である。従って、吸気弁開弁タイミングが所定角度だけ進角又は遅角させられると、吸気弁の閉弁タイミング(吸気弁閉弁タイミング)も同所定角度だけ進角又は遅角させられる。一方、排気弁の開弁タイミング(排気弁開弁タイミング)及び閉弁タイミング(排気弁閉弁タイミング)は一定である。排気弁閉弁タイミングは、最も遅らされた(最も遅角側にある)吸気弁開弁タイミングよりも後の時期(遅角側の時期)となるように設定されている。従って、この機関10は、吸気弁及び排気弁が共に開弁させられているバルブオーバーラップ期間を有する。
バルブオーバーラップ期間は、吸気弁制御装置26によって吸気弁開弁タイミングが変更されることに伴って変化(増減)する。吸気弁開弁タイミングが最も遅角側にある場合を基準とし、その基準から実際に制御されている吸気弁開弁タイミングまでのクランク角度を吸気弁開弁進角角度VVTと称呼する。従って、吸気弁開弁進角角度VVTはバルブオーバーラップ期間に応じた値となる。即ち、吸気弁開弁進角角度VVTが大きいほどバルブオーバーラップ期間は長くなる。
吸気系統30は、インテークマニホールド31、吸気管32、エアフィルタ33、スロットル弁34及びスロットル弁アクチュエータ34aを備えている。
インテークマニホールド31は、各吸気ポート22に接続された複数の枝部と、それらの枝部が集合したサージタンク部と、を備えている。吸気管32はサージタンク部に接続されている。インテークマニホールド31、吸気管32及び吸気ポート22は、吸気通路を構成している。エアフィルタ33は吸気管32の端部に設けられている。スロットル弁34はエアフィルタ33とインテークマニホールド31との間の位置において吸気管32に回動可能に取り付けられている。スロットル弁34は、回動することにより吸気管32が形成する吸気通路の開口断面積を変更するようになっている。スロットル弁アクチュエータ34aは、DCモータからなり、指示信号(駆動信号)に応答してスロットル弁34を回動させるようになっている。
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ(排気管)42及び触媒43を備えている。
エキゾーストマニホールド41は、各排気ポート23に接続された複数の枝部と、それらの枝部が集合した集合部と、を備えている。エキゾーストパイプ42は、エキゾーストマニホールド41の集合部に接続されている。エキゾーストマニホールド41、エキゾーストパイプ42及び排気ポート23は、排気通路を構成している。
触媒43は、セラミックからなる担持体に「触媒物質である貴金属」及び「セリア(CeO2)」を担持していて、酸素吸蔵・放出機能(酸素吸蔵機能)を有する三元触媒である。触媒43はエキゾーストパイプ42に配設(介装)されている。なお、触媒43は所定の活性温度に到達すると、未燃物(HC、CO等)と窒素酸化物(NOx)とを同時に浄化する触媒機能及び酸素吸蔵機能を発揮する。触媒43は活性温度に達するとその機能を発揮する他の種類の触媒(例えば、リーンNOx触媒等)であってもよい。
二次空気供給系統50は、空気(外気、新気)を二次空気として各排気ポート23に供給(噴射)する機能を達成するための系統である。二次空気供給系統50は実際には空気を各排気ポート23内に噴射するので、Air−Injection(AI)システムとも称呼される。二次空気供給系統50は、導入通路(二次空気導入通路)51、電動式エアポンプ(以下、「エアポンプ」と称呼する。)52、圧送通路53、二次空気制御弁54、主供給管55及び複数の分配管56を備えている。
導入通路51の一端は、エアフィルタ33とスロットル弁34との間において吸気管32に接続されている。導入通路51の他端は、エアポンプ52の吸入部に接続されている。エアポンプ52の吐出部は圧送通路53の一端に接続されている。エアポンプ52は、電気制御装置70からの指示信号(駆動信号)に基づいて作動し、吸入部から吸入した空気を吐出部を介して圧送通路53に圧送するようになっている。
圧送通路53の他端は、二次空気制御弁54の入口部に接続されている。二次空気制御弁54の出口部は主供給管55に接続されている。二次空気制御弁54は、電気制御装置70からの指示信号に基づき、入口部と出口部とを連通する状態(以下、「開弁状態」と称呼する。)と、入口部と出口部とを遮断する状態(以下、「閉弁状態」と称呼する。)と、の何れかの状態を選択的に実現するようになっている。
複数(4本)の分配管56のそれぞれの一端は、主供給管55に接続されている。複数の分配管56のそれぞれの他端(先端部)は、各気筒の排気ポート23の近傍に配設されている。分配管56の先端部は二個の二次空気噴射孔を備えている。
以上の構成により、エアポンプ52が作動させらるとともに二次空気制御弁54が開弁状態に設定されると、エアポンプ52によって主供給管55及び分配管56に高圧の二次空気が圧送される。そして、その二次空気は分配管56の先端部から各排気弁の背面に向けて噴射される。即ち、二次空気は、排気通路であって触媒43よりも上流側に位置する排気ポート23内に供給される。なお、本明細書において、「二次空気が排気ポート23内に供給される」ことを、単に「二次空気が供給される」又は「二次空気が導入される」とも表現する。
更に、このシステムは、熱線式エアフローメータ61、スロットルポジションセンサ62、機関回転速度センサ63、水温センサ64、空燃比センサ65、酸素濃度センサ66及びアクセル開度センサ67を備えている。
熱線式エアフローメータ61は、吸気管32内を流れる吸入空気の質量流量を検出し、その質量流量(機関10の単位時間あたりの吸入空気量)Gaを表す信号を出力するようになっている。
スロットルポジションセンサ62は、スロットル弁34の開度を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
機関回転速度センサ63は、インテークカムシャフトが5°回転する毎に幅狭のパルスを有するとともにインテークカムシャフトが360°回転する毎に幅広のパルスを有する信号を出力するようになっている。機関回転速度センサ63から出力される信号は電気制御装置70により機関回転速度NEを表す信号に変換されるようになっている。更に、電気制御装置70は、機関回転速度センサ63からの信号に基いて、機関10のクランク角度(絶対クランク角)を取得するようになっている。
水温センサ64は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。
空燃比センサ65は、エキゾーストマニホールド41の集合部と触媒43との間の位置においてエキゾーストマニホールド41及びエキゾーストパイプ42の何れか(即ち、排気通路)に配設されている。空燃比センサ65は、空燃比センサ65が配設された排気通路内の部位を流れる排ガス(被検出ガス)の空燃比に応じた出力値Vabyfsを出力するようになっている。この出力値Vabyfsは被検出ガスの空燃比が大きくなる(リーンとなる)ほど増大する。電気制御装置70は、被検出ガスの空燃比と出力値Vabyfsとの関係を規定するテーブルMapabyfsを記憶していて、そのテーブルに実際の出力値Vabyfsを適用することによって被検出ガスの空燃比(排ガスの空燃比、従って、機関の空燃比)abyfsを取得するようになっている。
酸素濃度センサ66は、酸素濃度センサ66が配設された排気通路内の部位を流れる排ガス(被検出ガス)の空燃比に応じた出力値Voxを出力するようになっている。出力値Voxは、被検出ガスの空燃比が、理論空燃比よりもリッチ側であるときに高側出力値(約1V)となり、理論空燃比であるときに中間出力値(約0.5V)となり、理論空燃比よりもリーン側であるときに低側出力値(約0V)となる。
アクセル開度センサ67は、運転者によって操作されるアクセルペダルの操作量を検出し、アクセルペダルの操作量Accpを表す信号を出力するようになっている。
電気制御装置70は、CPU、ROM、RAM、電源が投入された状態でデータを格納するとともに格納したデータを電源が遮断されている間も保持するバックアップRAM、並びに、ADコンバータを含むインターフェース等からなる周知のマイクロコンピュータである。
電気制御装置70のインターフェースは、前記センサ61〜67と接続され、CPUにセンサ61〜67からの信号を供給するとともに、CPUの指示に応じて、点火プラグ24、燃料噴射弁25、吸気弁制御装置26、スロットル弁アクチュエータ34a、エアポンプ52及び二次空気制御弁54等に指示信号及び駆動信号等を送出するようになっている。なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータ34aに指示信号を送出するようになっている。
(作動の概略)
次に、上記のように構成された第1制御装置の作動の概略について説明する。第1制御装置は、以下に示した二次空気供給条件が成立しているとき、エアポンプ52を駆動するとともに二次空気制御弁54を開弁させ、それにより二次空気を導入する。第1制御装置は、二次空気供給条件が不成立であるとき、エアポンプ52を停止するとともに二次空気制御弁54を閉弁させ、それにより二次空気の供給を停止する。
二次空気供給条件は以下の条件1乃至条件3が総て成立しているときに成立する。
<条件1>機関10が始動された直後の冷却水温THWが所定の範囲内である。即ち、機関10が始動された直後の冷却水温THWが、低側閾値温度THWlo以上であり且つ高側閾値温度THWhi以下である。
<条件2>機関10の負荷(負荷率KL)が閾値負荷KLth以下である。
<条件3>機関10の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以下である。
二次空気供給条件が成立することにより二次空気が供給されると、燃焼室21から排気ポート23に排出された排ガス中に含まれているHC及びCO等の未燃ガスに酸素が与えられ且つ排気ポート23付近は高温であるので、未燃ガスが排気ポート23(排気通路)内にて燃焼(後燃え)する。これにより、触媒43に高温のガスが流入するので、触媒43の温度が速やかに上昇する。即ち、触媒43の暖機が促進される。
なお、第1制御装置は、吸気行程直前にある気筒(燃料噴射気筒)に吸入される空気量(筒内吸入空気量Mc)を吸入空気量Ga及び機関回転速度NEに基づいて推定し、その筒内吸入空気量Mcを理論空燃比で除した量の燃料を、基本噴射量として求める。更に、第1制御装置は、冷却水温THWが高側閾値温度THWhi以下である場合に機関に供給される混合気の空燃比が理論空燃比よりもリッチ側になるように基本噴射量を増大補正し、その増大補正した燃料量の燃料を燃料噴射気筒の燃料噴射弁25から噴射させる。加えて、第1制御装置は、冷却水温THWが高側閾値温度THWhiより高くなるか、或いは、空燃比センサ65が活性化したと判断されると(例えば、空燃比センサ65の内部抵抗値が所定値以下となると)、機関に供給される混合気の空燃比が理論空燃比に一致するように、基本噴射量の燃料を燃料噴射気筒の燃料噴射弁25から噴射させる。
機関10は二次空気の導入を行うことにより二次空気の導入を行わない場合に比してより大きなトルクを発生する。この理由は、以下に述べるとおりであると推定される。
(推定理由1)
排気ポート23内での未燃ガスの燃焼により排気弁の温度が上昇する。従って、ピストン位置が上死点近傍となったときの混合気の温度(圧縮端温度)が上昇する。その結果、特に機関10の暖機前(冷間時)において、混合気の燃焼状態が良好となるので、機関の発生トルクが増大する。
(推定理由2)
二次空気が供給されると、その二次空気の一部がバルブオーバーラップ期間中に燃焼室21内に流入する。一方、二次空気が供給される場合は、触媒43の暖機を促進する必要がある場合であるので、機関10も暖機前である。従って、より安定した燃焼を達成するため、機関に供給される混合気の空燃比は理論空燃比よりもリッチ側の空燃比に設定されている。これらの結果、二次空気が供給されると、二次空気が供給されていない場合に比して、燃焼室21内において燃焼する燃料の量が増大する。従って、機関の発生トルクが増大する。
ところで、前述したように、二次空気が供給されている場合において、負荷KLが閾値負荷KLthよりも大きくなるか、又は、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGathよりも大きくなると、二次空気供給条件が不成立となるので、二次空気の供給が停止される。この結果、二次空気の供給により増大していた機関のトルクが急激に減少するため、機関の運転状態が不安定となる。即ち、例えば、機関回転速度が過度に低下し、或いは、トルク変動に起因する振動が発生する。
そこで、第1制御装置は、このような二次空気の供給停止時(即ち、二次空気が供給されている状態から二次空気の供給が停止されている状態へと変化する時)、点火時期を進角することにより機関の発生トルクを増大させる。換言すると、第1制御装置は、二次空気以外の機関の制御量(この場合、点火時期)を変化(この場合、進角)させ、二次空気の供給停止による機関発生トルクの変動(減少)を相殺するように機関発生トルクを変化(増大)させる。
この結果、二次空気供給停止時のトルク変化の幅(減少変化幅)が減少するので、トルク変動に起因する振動等の発生が回避される。なお、第1制御装置は、二次空気を供給することによって触媒43の暖機を促進する必要があるとき、点火時期を最適点火時期(機関10に最大トルクを発生させる点火時期のうちの最小の進角値を有する点火時期、MBT)よりも遅角側に設定している。従って、二次空気供給停止時において点火時期を進角させると、機関発生トルクは増大する。
(実際の作動)
次に、第1制御装置の実際の作動について説明する。電気制御装置70のCPUは図2にフローチャートにより示した二次空気制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUは図2のステップ200から処理を開始し、ステップ205に進んで現時点が機関10の始動直後であるか否かを判定する。始動直後であるか否かの判定は、例えば、図示しないイグニッション・キー・スイッチがオフ位置から始動位置へと変更させられた後に機関回転速度NEが始動判定速度NESTを超えたか否かを判定することにより行われる。
現時点が機関10の始動直後であると仮定すると、CPUはステップ205にて「Yes」と判定してステップ210に進み、冷却水温THWが所定の範囲内(THWlo以上且つTHWhi以下)であるか否かを判定する。そして、冷却水温THWが所定の範囲内であると、CPUはステップ210にて「Yes」と判定してステップ215に進み、二次空気供給仮フラグXAIkariの値を「1」に設定する。
この二次空気供給仮フラグXAIkariは、その値が「1」であるとき、後述する条件が成立すれば二次空気を導入するべき状態にあることを示し、「0」であれば二次空気を供給するべきではない状態にあることを示す。なお、CPUは図示しないイグニッション・キー・スイッチがオフからオンに変更されたときに実行するイニシャルルーチンにおいて二次空気供給仮フラグXAIkariを「0」に設定するようになっている。
次に、CPUはステップ220に進み、二次空気供給仮フラグXAIkariの値が「1」であるか否かを判定する。いま、前述したステップ215にて二次空気供給仮フラグXAIkariの値が「1」に設定されていると仮定する。この場合、CPUはステップ220にて「Yes」と判定し、ステップ225に進んで負荷KLが閾値負荷KLth以下であるか否かを判定する。
CPUは、機関の負荷KLを、下記(1)式に従って求める。この(1)式において、Mcは現時点において吸気行程の直前にある気筒に吸入される筒内吸入空気量である。筒内吸入空気量Mcは、エアフローメータ61により測定される現時点の吸入空気量Gaと、機関回転速度センサ63により検出される機関回転速度NEと、関数(テーブル)fと、に基づいて算出される。筒内吸入空気量Mcは機関10の吸気通路における空気の挙動をモデル化した周知の空気量推定モデル(空気モデル)を用いて求められてもよい。更に、(1)式において、ρは空気密度(単位は(g/l))、Lは機関10の排気量(単位は(l))、4は機関10の気筒数である。
KL={Mc/(ρ・L/4)}・100(%) …(1)
いま、機関の負荷KLが閾値負荷KLth以下であると仮定する。このとき、CPUはステップ225にて「Yes」と判定し、ステップ230に進んで機関始動後からの吸入空気流量Gaの積算値である積算吸入空気量SGaが閾値積算吸入空気量SGath以下であるか否かを判定する。この積算吸入空気量SGaは、CPUが機関10の始動後から所定時間の経過毎に繰り返す図示しないルーチンを実行することにより、そのルーチンの実行時点において「エアフローメータ61により測定された吸入空気量Ga」を積算することにより算出されている。
いま、積算吸入空気量SGaが閾値積算吸入空気量SGath以下であると仮定する。このとき、CPUはステップ230にて「Yes」と判定してステップ235に進み、二次空気供給フラグXAIの値を「1」に設定する。二次空気供給フラグXAIは、その値が「1」であるときに二次空気が供給されていることを示し、その値が「0」であるときに二次空気の供給が停止されていることを示す。
次いで、CPUはステップ240にてエアポンプ52を回転させるとともに二次空気制御弁54を閉弁状態から開弁状態へと変化させることにより、排気ポート23に二次空気を供給する。その後、CPUはステップ295に進んで本ルーチンを一旦終了する。
この状態は、負荷KLが閾値負荷KLthより大きくなるか、又は、積算吸入空気量SGaが閾値積算吸入空気量SGathより大きくなるまで継続する。
一方、CPUは図3にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角(例えば、圧縮上死点前90°クランク角、BTDC90°)に一致する毎に繰り返し実行するようになっている。
従って、何れかの気筒のクランク角が所定クランク角に一致すると、CPUはステップ300から処理を開始してステップ305に進み、負荷KL及び機関回転速度NEと基本点火時期Abaseとの関係を規定する基本点火時期テーブルMapAaseに、現時点の負荷KL及び機関回転速度NEを適用することにより、基本点火時期Abaseを決定する。この基本点火時期テーブルMapAaseによれば、機関10の運転状態がアイドル運転状態でない場合、基本点火時期Abaseは最適点火時期(MBT)となるように決定される。更に、基本点火時期テーブルMapAaseによれば、機関10の運転状態がアイドル運転状態である場合、基本点火時期Abaseは最適点火時期(MBT)よりも僅かだけ遅角側の点火時期となるように決定される。
次に、CPUはステップ310に進み、冷却水温THWと暖機遅角量Adankiとの関係を規定するテーブル(暖機遅角量テーブル)MapAdankiに現時点の冷却水温THWを適用することにより、暖機遅角量Adankiを決定する。暖機遅角量Adankiは触媒43の暖機を促進するための点火時期の遅角量である。点火時期を遅角することにより排ガス温度が高くなるので、触媒43の暖機が促進される。
この暖機遅角量テーブルMapAdankiによれば、機関の冷却水温THWが所定の範囲内(THWlo以上且つTHWhi以下)である場合にのみ暖機遅角量Adankiが0以外の正の値として設定される。換言すると、機関の冷却水温THWが低側閾値温度THWloよりも小さい場合、及び、冷却水温THWが高側閾値温度THWhiよりも大きい場合、暖機遅角量Adankiは0に設定される。更に、暖機遅角量テーブルMapAdankiによれば、暖機遅角量Adankiは、冷却水温THWが低側閾値温度THWloから次第に高くなるにつれて次第に増大し、その後、冷却水温THWの変化に対して一定となり、更に、高側閾値温度THWhiより所定温度だけ低い温度から高側閾値温度THWhiに向かうにつれて「0」に向けて減少するように決定される。
次に、CPUはステップ315に進み、二次空気供給フラグXAIの値が「0」であるか否かを判定する。現時点において、二次空気供給フラグXAIは図2のステップ235において「1」に設定されている。従って、CPUはステップ315にて「No」と判定してステップ320に進み、二次空気切換時進角量Aaiの値を「0」に設定する。
次に、CPUは以下に述べるステップ325乃至ステップ335の処理を順に行い、ステップ395に進んで本ルーチンを一旦終了する。
ステップ325:CPUは下記(2)式に従って最終的な点火時期Aigを決定する。即ち、最終点火時期Aigは、基本点火時期Abaseが暖機遅角量Adankiだけ遅角側に補正され、且つ、二次空気切換時進角量Aaiだけ進角側に補正された点火時期となる。
Aig=Abase−Adanki+Aai …(2)
ステップ330:CPUは、現時点におけるクランク角が圧縮上死点前90°となっている気筒の点火時期が上記ステップ325にて決定された最終点火時期Aigとなるように、その気筒の点火プラグ24に点火信号を送出する。
ステップ335:CPUは、現時点における二次空気供給フラグXAIの値を、前回の二次空気供給フラグXAIoldの値として格納する。この時点において、二次空気供給フラグXAIの値は「1」である。従って、前回の二次空気供給フラグXAIoldの値は「1」に設定される。
以上の処理により、冷却水温THWが低側閾値温度THWloと高側閾値温度THWhiとの間の温度である場合、実際の点火時期は基本点火時期Abaseよりも暖機遅角量Adankiだけ遅角側の点火時期となる。また、機関10の運転状態がアイドル運転状態にある場合、基本点火時期Abaseは冷却水温THWに関わらず最適点火時期より遅角側の点火時期に設定される。以上から、冷却水温THWが低側閾値温度THWloと高側閾値温度THWhiとの間の温度である場合、及び、機関10の運転状態がアイドル運転状態にある場合、点火時期は最適点火時期(MBT)より遅角側の点火時期となる。
このような状態において、運転者がアクセルペダルを踏み込むことにより負荷KLが閾値負荷KLthより大きくなると、CPUは図2のステップ225にて「No」と判定し、以下に述べるステップ245及びステップ250の処理を順に行い、ステップ295に進む。
ステップ245:CPUは二次空気供給フラグXAIの値を「0」に設定する。この結果、二次空気供給フラグXAIの値は「1」から「0」へと変化する。
ステップ250:CPUはエアポンプ52の回転を停止するとともに二次空気制御弁54の状態を開弁状態から閉弁状態へと変化させることにより、排気ポート23への二次空気の供給を停止する。
この直後、CPUが図3に示したルーチンを実行すると、CPUはステップ315にて「Yes」と判定してステップ340に進み、前回の二次空気供給フラグXAIoldの値が「1」であるか否かを判定する。即ち、CPUはステップ315及びステップ340を処理することにより、現時点が、二次空気供給フラグXAIの値が「1」から「0」へと変化した直後であるか否かを判定する。換言すると、CPUは、現時点が、二次空気が供給されている状態から二次空気の供給が停止された状態へと変化した時点(二次空気供給停止時)であるか否かを判定する。
この場合、現時点は、二次空気供給フラグXAIの値が「1」から「0」へと変化した直後であり、前回の二次空気供給フラグXAIoldの値は「1」である。従って、CPUはステップ340にて「Yes」と判定し、ステップ345に進んで二次空気切換時進角量Aaiを決定する。より具体的に述べると、CPUは、機関回転速度NE、負荷KL及びバルブオーバラップ期間を示す吸気弁開弁進角角度VVTと、二次空気切換時進角量Aaiと、の関係を規定するテーブル(二次空気進角量テーブル)MapAaiに、実際の機関回転速度NE、実際の負荷KL及び実際の吸気弁開弁進角角度VVTを適用することにより、二次空気切換時進角量Aaiを決定する。二次空気切換時進角量Aaiは正の値である。つまり、二次空気進角量テーブルMapAaiは、二次空気切換時進角量Aaiを、機関回転速度NE、負荷KL及び吸気弁開弁進角角度VVTを引数として求めるテーブルである。
この二次空気進角量テーブルMapAaiは予め実験により求められたデータに基づいて作成されている。そのデータとは、何れも任意の「機関回転速度NE、負荷KL及び吸気弁開弁進角角度VVT」にて機関10が運転されている場合に、「二次空気の供給が停止されたときに生じる機関発生トルクの減少分(減少変化幅)を相殺或いは極力小さくするためのトルク」を機関10に発生させるために必要な「点火時期進角量」を「二次空気切換時進角量Aai」として求めたデータである。
なお、二次空気進角量テーブルMapAaiは、アクセルペダル操作量Accp及び/又は冷却水温THW等をテーブルの引数として更に有してもよい。即ち、二次空気進角量テーブルMapAaiは、二次空気供給停止時における機関の発生トルク減少変化幅に影響を及ぼす機関の運転状態パラメータと、二次空気切換時進角量Aaiと、の関係を規定するテーブルであればよい。
その後、CPUは前述したステップ325乃至ステップ335の処理を実行し、ステップ395に進んで点火時期制御ルーチンを一旦終了する。これにより、二次空気の供給が停止されたとき、点火時期Aigはその直前の点火時期から「ステップ345にて決定された二次空気切換時進角量Aai」だけ進角させられる。その結果、機関10の発生トルクは増大するから、二次空気供給停止時における機関10の発生トルクの減少変化幅は小さくなる。なお、この時点におけるステップ335の処理により、前回の二次空気供給フラグXAIoldの値は「0」に設定される。
その後、CPUが図3のルーチンを実行すると、CPUはステップ305、ステップ310に続くステップ315にて「Yes」と判定し、ステップ340にて「No」と判定する。そして、CPUはステップ350に進み、その時点の二次空気切換時進角量Aaiから正の微小な所定値αを減じた値を新たな二次空気切換時進角量Aaiとして設定する。即ち、CPUは二次空気切換時進角量Aaiを値αだけ減少せしめる。そして、CPUはステップ335にて二次空気切換時進角量Aaiが0以上であるか否かを判定する。このとき、二次空気切換時進角量Aaiが0以上であれば、CPUはステップ335にて「Yes」と判定しステップ325以降に直接進む。これに対し、二次空気切換時進角量Aaiが0以上でないと、CPUはステップ335にて「No」と判定してステップ320に進み、二次空気切換時進角量Aaiの値を「0」に設定し、その後、ステップ325以降に進む。
以上の処理により、二次空気切換時進角量Aaiは次第に減少せしめられるので、最終点火時期Aigは徐々に遅角され、やがて基本点火時期Abaseを暖機遅角量Adankiだけ遅角させた時期へと戻る。
このような、二次空気供給停止時の点火時期補正(二次空気切換時進角量Aaiによる進角補正)は、二次空気供給中において、負荷KLが閾値負荷KLth以下であって、且つ、積算吸入空気量SGaが閾値積算吸入空気量SGathに到達した場合にも発生する。即ち、この場合、CPUは図2のルーチンのステップ230にて「No」と判定し、ステップ245及びステップ250の処理を行う。従って、二次空気の供給が停止されるとともに、二次空気供給フラグXAIの値が「0」に変更させられる。この結果、CPUは、上述した「二次空気供給中に負荷KLが閾値負荷KLthより大きくなった場合」と同様、点火時期を二次空気切換時進角量Aaiだけ進角させる。従って、二次空気供給停止時のトルク変動幅(トルク減少変化幅)が低下させられる。
なお、CPUは図2のルーチンを実行した際、その時点が始動直後でなければ、ステップ205にて「No」と判定してステップ220以降に直接進む。従って、二次空気供給仮フラグXAIkariの値を「1」に設定するか否かの判断(ステップ210)は機関10の始動直後に一度のみ実行される。
更に、CPUはステップ210に進んだとき、冷却水温THWが低側閾値温度THWloより小さいか、又は、高側閾値温度THWhiより大きいと、そのステップ210にて「No」と判定してステップ220以降に直接進む。この結果、二次空気供給仮フラグXAIkariの値はイニシャルルーチンにより設定された値、即ち「0」に維持される。従って、CPUはステップ220に進んだとき、そのステップ220にて「No」と判定してステップ245及びステップ250へと進む。この結果、二次空気供給フラグXAIの値は「0」に維持され、且つ、二次空気の供給は行われない。
また、負荷KLが閾値負荷KLthより大きくなることにより二次空気の供給が停止された後、再び、負荷KLが閾値負荷KLth以下になると、CPUは図2のステップ225にて「Yes」と判定し、ステップ230以降に進む。従って、積算吸入空気量SGaが閾値積算吸入空気量SGath以下であれば、二次空気の供給が再開される。
以上、説明したように、第1制御装置は、
所定の二次空気供給条件(上記条件1乃至上記条件3)が成立したとき、「排気通路の触媒43よりも上流側位置(排気ポート23)」に二次空気としての空気を供給することにより、機関10の燃焼室21から排出されたガスを排気通路内において燃焼させて「触媒43の暖機を促進する」とともに、その二次空気供給条件が不成立となったとき二次空気の供給を停止する二次空気供給手段(二次空気供給系統50及び図2のルーチンを参照。)と、
前記二次空気が供給されている状態から前記二次空気の供給が停止されている状態へと変化する二次空気供給停止時である「二次空気供給状態の切換え時」を含む所定の切換過渡期間(即ち、二次空気供給停止時から二次空気切換時進角量Aaiが「0」にまで減少させられるまでの期間である供給停止後過渡期間)において、前記二次空気供給状態の切換えに伴って生じる「燃焼室21内での混合気の燃焼状態の変化」による「前記機関10の発生トルクの変化」の幅(この場合、減少変化幅)を減少させるように「機関の制御量(点火時期Aig)」を制御するトルク変動抑制手段(図3のステップ315乃至ステップ355を参照。)と、
を備えている。
従って、第1制御装置によれば、前記トルク変動抑制手段が、二次空気供給状態の切換えに伴って生じる機関10の発生トルクの変化の幅(即ち、二次空気供給中の混合気の燃焼状態と二次空気供給停止中の混合気の燃焼状態との相違により発生する機関10の発生トルク変化の量)を減少させるように「機関の制御量」である点火時期を制御する(進角させる)。従って、二次空気供給状態の切換えに伴う機関のトルク変動幅(減少変化幅)を低減することができるので、二次空気供給状態を切り換える際の機関の運転状態を安定化することができる。
更に、第1制御装置の前記トルク変動抑制手段は、
前記二次空気供給停止時を開始時点とし前記二次空気供給停止時から所定期間だけ後の時点を終了時点とする前記切換過渡期間としての供給停止後過渡期間(即ち、二次空気供給停止時から二次空気切換時進角量Aaiが「0」にまで減少させられるまでの期間)において、前記二次空気の供給停止に起因する前記機関10の発生トルクの減少変化幅を小さくするために前記機関10の発生トルクが増大するように「前記機関10の前記二次空気以外の制御量であっての前記機関10の発生トルクを増減させることができる制御量である点火時期」を変化させるように構成されている(図3のステップ315乃至ステップ355を参照。)。
従って、第1制御装置は、供給停止後過渡期間において二次空気の供給停止に伴う機関の発生トルクの低下量(減少変化幅)が小さくなるように機関10の発生トルクを増大させることができる。その結果、第1制御装置は、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
加えて、第1制御装置は、
前記二次空気が供給されている状態において、前記機関の点火時期を、前記最適点火時期(MBT)よりも遅角側の点火時期に設定する点火時期遅角手段(図3のステップ305、及び、ステップ310乃至ステップ335等を参照。)を備え、
前記トルク変動抑制手段として、前記供給停止後過渡期間において、前記機関の制御量としての前記機関の点火時期を、前記点火時期遅角手段によって設定される点火時期(基本点火時期Abaseを暖機遅角量Adankiだけ遅角側に補正した点火時期)に代え、前記供給停止後過渡期間の開始直前における点火時期(基本点火時期Abaseを暖機遅角量Adankiだけ遅角側に補正した点火時期)よりも進角させる(二次空気切換時進角量Aaiだけ進角側に補正する)ように構成された供給停止後点火時期進角手段(図3のルーチンの特に、ステップ315、ステップ340乃至ステップ355、ステップ320乃至ステップ335等を参照。)を備える。
このように第1制御装置は、点火時期遅角手段により点火時期が遅角される。その結果、排気温度が上昇するので、触媒43の温度を早期に上昇させることができる。このような状態において、二次空気の供給が停止されたとき、上記供給停止後点火時期進角手段は点火時期を二次空気切換時進角量Aaiだけ進角側に補正するるので、点火時期が最適点火時期へと近づく。従って、二次空気の供給停止に伴う機関の発生トルクの減少変化幅(低下量)が小さくなるように、機関10の発生トルクが増大させられる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
(第2実施形態)
次に、本発明の第2実施形態に係る制御装置(以下、「第2制御装置」とも称呼する。)について説明する。この第2制御装置は、点火時期に代え、スロットル弁開度(結果的に、混合気量)を制御することにより二次空気供給切換の際の機関発生トルクの変動幅を小さくする点において第1制御装置と相違している。従って、以下、この相違点を中心として説明を加える。
(作動の概略)
先ず、第2制御装置の作動の概略について説明する。第2制御装置は、第1制御装置と同様、上述した二次空気供給条件が成立しているときに二次空気を導入する。更に、第2制御装置は、スロットル弁34の開度制御によるアイドル回転速度フィードバック制御を実行する。
より具体的に述べると、第2制御装置は、機関10の運転状態がアイドル運転状態である場合、機関回転速度NEが目標アイドル回転速度NTより正の所定値ΔNT以上大きいと、スロットル弁34の開度(スロットル弁開度)を所定時間あたり微小開度変更量ΔTAtだけ減少させる。更に、第2制御装置は、機関10の運転状態がアイドル運転状態であるとき、機関回転速度NEが目標アイドル回転速度NTより所定値ΔNT以上小さいとスロットル弁開度を所定時間あたり微小開度変更量ΔTAtだけ増大させる。これにより、第2制御装置は、機関回転速度NEを目標回転速度NTの近傍(NT−ΔNT〜NT+ΔNT)に維持する。この制御がスロットル弁開度によるアイドル回転速度フィードバック制御である。
加えて、第2制御装置は、機関10の運転状態がアイドル運転状態である場合、二次空気供給停止時を開始時点とし二次空気供給停止時から第1所定時間T1が経過した時点を終了時点とする「供給停止後過渡期間」において、機関回転速度NEが目標アイドル回転速度NTの近傍(NT−ΔNT〜NT+ΔNT)でないとき、スロットル弁開度制御によるアイドル回転速度フィードバック制御における微小開度変更量ΔTAtを、通常期間(供給停止後過渡期間以外の期間及び後述する供給開始後過渡期間以外の期間)よりも大きくする。
換言すると、第2制御装置は、二次空気供給停止時から第1所定時間T1以内において、スロットル弁34によるアイドル回転速度フィードバック制御のゲインを大きくする。これにより、第2制御装置は、二次空気供給停止による機関発生トルクの変化の幅(低下量、減少変化幅)を相殺又は小さくするように機関発生トルクを迅速に変化(増大)させる。この結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
更に、第2制御装置は、機関10の運転状態がアイドル運転状態であるとき、二次空気供給開始時(供給再開時)を開始時点とし二次空気供給開始時から第2所定時間T2が経過した時点を終了時点とする「供給開始後過渡期間」においても、スロットル弁開度制御によるアイドル回転速度フィードバック制御における微小開度変更量ΔTAtを、通常期間(供給開始後過渡期間以外の期間及び供給停止後過渡期間以外の期間)よりも大きくする。
換言すると、第2制御装置は、二次空気の供給開始時から第2所定時間T2以内において、スロットル弁開度制御によるアイドル回転速度フィードバック制御のゲインを大きくする。これにより、第2制御装置は、二次空気供給開始による機関発生トルクの変化の幅(増大変化幅、上昇量)を相殺又は小さくするように機関発生トルクを迅速に変化(減少)させる。この結果、二次空気の供給を開始(再開)する際の機関の運転状態を安定化することができる。
加えて、第2制御装置は、二次空気の供給が停止されたとき、スロットル弁開度を所定値(トルク変化見込み補正量)TAffだけ増大させる。これにより、第2制御装置は、二次空気供給停止による機関発生トルクの変化の幅(低下量、減少変化幅)を相殺又は小さくするように機関発生トルクを変化(増大)させる。この結果、二次空気供給停止時の機関の発生トルクの変化幅が小さくなるので、二次空気供給停止時のトルク変動に起因する振動の発生等を回避し、機関の運転状態を安定化することができる。
なお、第2制御装置において、二次空気の供給が開始されたとき、スロットル弁開度を所定値(トルク変化見込み補正量)TAonだけ減少させてもよい。これによれば、二次空気供給開始による機関発生トルクの変化の幅(増大変化幅、上昇量)を相殺又は小さくするように機関発生トルクが迅速に変化(減少)させられる。この結果、二次空気供給開始時の機関の発生トルクの変化幅が小さくなるので、二次空気供給開始時のトルク変動に起因する振動の発生等を回避し、機関の運転状態を安定化することができる。
(実際の作動)
次に、第2制御装置の実際の作動について説明する。第2制御装置のCPUは図2のルーチンを所定時間の経過毎に繰り返し実行している。従って、第2制御装置は第1制御装置と同様に、二次空気を供給し且つ二次空気の供給を停止する。
更に、第2制御装置のCPUは、図4にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角(例えば、圧縮上死点前90°クランク角、BTDC90°)に一致する毎に繰り返し実行するようになっている。
従って、何れかの気筒のクランク角が所定クランク角に一致すると、CPU71はステップ400から処理を開始し、以下に述べるステップ410乃至ステップ440の処理を順に行い、ステップ495に進んで本ルーチンを一旦終了する。
ステップ410:CPUは上述した図3のステップ305と同じ基本点火時期テーブルMapAaseに、現時点の負荷KL及び現時点の機関回転速度NEを適用することにより、基本点火時期Abaseを決定する。上述したように、基本点火時期テーブルMapAaseによれば、基本点火時期Abaseは、機関10の運転状態がアイドル運転状態である場合を除き、最適点火時期(MBT)に設定される。また、基本点火時期テーブルMapAaseによれば、機関10の運転状態がアイドル運転状態である場合の基本点火時期Abaseは、最適点火時期(MBT)よりも僅かだけ遅角側の点火時期に設定される。
ステップ420:CPUは、上述したステップ310と同じ暖機遅角量テーブルMapAdankiに現時点の冷却水温THWを適用することにより、暖機遅角量Adankiを決定する。
ステップ430:CPUは、下記(3)式に従って最終的な点火時期Aigを決定する。即ち、最終点火時期Aigは、基本点火時期Abaseが暖機遅角量Adankiだけ遅角側に補正された点火時期となる。
Aig=Abase−Adanki …(3)
ステップ440:CPUは、現時点におけるクランク角が圧縮上死点前90°となっている気筒の点火時期が上記ステップ430にて決定された最終点火時期Aigとなるように、その気筒の点火プラグ24に点火信号を送出する。
以上の処理により、冷却水温THWが低側閾値温度THWloと高側閾値温度THWhiとの間の温度である場合、実際の点火時期は基本点火時期Abaseよりも暖機遅角量Adankiだけ遅角側の点火時期となる。また、機関10の運転状態がアイドル運転状態にある場合、基本点火時期Abaseは冷却水温THWに関わらず最適点火時期より遅角側の点火時期に設定される。以上から、冷却水温THWが低側閾値温度THWloと高側閾値温度THWhiとの間の温度である場合、及び、機関10の運転状態がアイドル運転状態にある場合、点火時期は最適点火時期(MBT)より遅角側の点火時期となる。
一方、CPUは図5にフローチャートにより示したスロットル弁制御ルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPUは図5のステップ500から処理を開始してステップ505に進み、現時点の運転状態がアイドル運転状態であるか否かを判定する。より具体的には、CPUは以下に述べるアイドル運転条件1及びアイドル運転条件2の両条件が共に成立しているとき、現時点の運転状態がアイドル運転状態であると判定する。
(アイドル運転条件1)スロットル弁開度TAが微小開度TA0以下である(即ち、スロットル弁34が実質的に全閉状態にある。)。この条件は、アクセルペダル操作量Accpが「0」であることに置換されてもよい。
(アイドル運転条件2)機関回転速度NEが、目標アイドル回転速度基準値NT0に所定値ΔNAを加えた値(NT0+ΔNA)と、目標アイドル回転速度基準値NT0から所定値ΔNAを減算した値(NT0−ΔNA)と、の間の回転数である。所定値ΔNAは正の値である。目標アイドル回転速度基準値NT0は、後述する目標アイドル回転速度NTのうちの機関10が暖機を完了した時点の目標アイドル回転速度である。
いま、現時点の運転状態がアイドル運転状態でないとすると、CPUはステップ505にて「No」と判定してステップ510に進み、アクセルペダルの操作量Accpと目標スロットル弁開度TAtgtとの関係を規定したテーブルMapTAtgtに、実際のアクセルペダルの操作量Accpを適用することにより、現時点における目標スロットル弁開度TAtgtを決定する。このテーブルMapTAtgtによれば、アクセルペダルの操作量Accpが大きいほど目標スロットル弁開度TAtgtが大きくなるように目標スロットル弁開度TAtgtが決定される。
次に、CPUはステップ515に進み、フィードバック補正量TAfbを「0」に設定する。その後、CPUはステップ520に進み、下記(4)式に従って目標スロットル弁開度TAtgtを決定する。この(4)式のTAffは二次空気供給開始時におけるトルク変化見込み補正量であって、後述する図7のルーチンにより求められている。
TAtgt=TAbase+TAfb+TAff …(4)
次いで、CPUはステップ525に進み、実際のスロットル弁開度が目標スロットル弁開度TAtgtと一致するようにスロットル弁アクチュエータ34aに駆動信号を送出する。この結果、実際のスロットル弁開度はアクセルペダルの操作量Accpが大きいほど大きくなるように制御される。
これに対し、現時点の運転状態がアイドル運転状態であると、CPUはステップ505にて「Yes」と判定してステップ530に進み、冷却水温THWと目標アイドル回転速度NTとの関係を規定するテーブル(目標アイドル回転速度テーブル)MapNTに実際の冷却水温THWを適用することにより現時点における目標アイドル回転速度NTを決定する。
この目標アイドル回転速度テーブルMapNTによれば、冷却水温THWが暖機完了温度THWth以下であるとき、目標アイドル回転速度NTは冷却水温THWが増大するにつれて減少するように決定される。更に、この目標アイドル回転速度テーブルMapNTによれば、冷却水温THWが暖機完了温度THWthより大きいとき、目標アイドル回転速度NTは冷却水温THWに依らず一定値(暖機完了後目標アイドル回転速度NT0)に設定される。
次に、CPUはステップ535に進み、冷却水温THWとスロットル弁基本開度TAbaseとの関係を規定するテーブル(スロットル弁基本開度テーブル)MapTAbaseに実際の冷却水温THWを適用することにより現時点におけるスロットル弁基本開度TAbaseを決定する。スロットル弁基本開度TAbaseは、機関回転速度NEを目標アイドル回転速度NTに一致させるためのスロットル弁開度のフィードフォワード量である。
このスロットル弁基本開度テーブルMapTAbaseによれば、冷却水温THWが暖機完了温度THWth以下であるとき、スロットル弁基本開度TAbaseは冷却水温THWが増大するにつれて減少するように決定される。更に、このスロットル弁基本開度テーブルMapTAbaseによれば、冷却水温THWが暖機完了温度THWthより大きいとき、スロットル弁基本開度TAbaseは冷却水温THWに依らず一定値に設定される。
次に、CPUはステップ540に進んでアイドル補正量増大フラグXLARGEの値が「1」であるか否かを判定する。このアイドル補正量増大フラグXLARGEの値は、後述する図6に示したアイドル補正量増大フラグ操作ルーチンにより決定されている。
アイドル補正量増大フラグXLARGEの値が「1」であることは、目標スロットル弁開度TAtgtの微小開度変更量ΔTAtを大きい値に設定すべきであること、即ち、スロットル弁開度によるアイドル回転速度フィードバック制御におけるフィードバックゲインを大きくすべき(通常値よりも大きいゲインに設定すべき)であることを示す。これに対し、アイドル補正量増大フラグXLARGEの値が「0」であることは、微小開度変更量ΔTAtを通常の値(小さな値)に設定すべきであること、即ち、スロットル弁開度によるアイドル回転速度フィードバック制御におけるフィードバックゲインを小さくすべき(通常時のゲインに設定すべき)であることを示す。
アイドル補正量増大フラグXLARGEの値が「1」である場合、CPUはステップ540にて「Yes」と判定してステップ545に進み、微小開度変更量ΔTAtを相対的に大きな第1の正の値TAlargeに設定する。これに対し、アイドル補正量増大フラグXLARGEの値が「0」である場合、CPUはステップ540にて「No」と判定してステップ550に進み、微小開度変更量ΔTAtを第1の正の値TAlargeよりも小さい第2の正の値(通常の値)TAsmallに設定する。
次に、CPUはステップ545又はステップ550からステップ555に進み、現時点の機関回転速度NEが、ステップ530にて決定された目標アイドル回転速度NTから正の所定値ΔNTを減じた回転速度(NT−ΔNT)より小さいか否かを判定する。この所定値ΔNTは前述した値ΔNAより小さい。値ΔNTは0であってもよい。
そして、機関回転速度NEが「目標アイドル回転速度NTから所定値ΔNTを減じた回転速度(NT−ΔNT)」より小さいと、CPUはステップ555にて「Yes」と判定してステップ560に進み、フィードバック補正量TAfbを微小開度変更量ΔTAtだけ大きくする。
次に、CPUはステップ520に進み、上記(4)式に従って目標スロットル弁開度TAtgtを決定する。その後、CPUはステップ525を経由してステップ595に進み、本ルーチンを一旦終了する。この結果、アイドル運転状態において機関回転速度NEが回転速度(NT−ΔNT)より小さいと、スロットル弁開度が所定時間に微小開度変更量ΔTAtだけ増大させられる。従って、吸気通路を通して機関10の燃焼室21に供給される空気の量(吸入空気量)が増加する。
一方、CPUは図示しない燃料噴射制御ルーチンにより、第1制御装置と同様、吸気行程直前にある気筒(燃料噴射気筒)に吸入される空気量(筒内吸入空気量Mc)を吸入空気量Ga及び機関回転速度NEに基づいて推定し、その筒内吸入空気量Mcを目標空燃比(例えば、理論空燃比又は冷却水温THWが大きくなるほど理論空燃比に向けてリーン側に移行するリッチ空燃比)で除した量に応じた量の燃料を燃料噴射気筒の燃焼室21に供給している。従って、上記吸入空気量の増加に伴って筒内吸入空気量Mcが増大し、それにより燃焼室21に供給される燃料の量(供給燃料量)が増大するので、燃焼室21において燃焼に供される混合気量が増大する。この結果、機関10の発生トルクが増大するので、機関回転速度NEが上昇する。
一方、ステップ555の実行時点において、機関回転速度NEが「目標アイドル回転速度NTから所定値ΔNTを減じた回転速度(NT−ΔNT)」以上であると、CPUはステップ555にて「No」と判定してステップ565に進み、機関回転速度NEが「目標アイドル回転速度NTに所定値ΔNTを加えた回転速度(NT+ΔNT)」より大きいか否かを判定する。
そして、機関回転速度NEが「目標アイドル回転速度NTに所定値ΔNTを加えた回転速度(NT+ΔNT)」より大きいと、CPUはステップ565にて「Yes」と判定してステップ570に進み、フィードバック補正量TAfbを微小開度変更量ΔTAtだけ小さくする。
その後、CPUはステップ520及びステップ525を経由してステップ595に進み、本ルーチンを一旦終了する。この結果、アイドル運転状態において機関回転速度NEが回転速度(NT+ΔNT)より大きいと、スロットル弁開度が所定時間に微小開度変更量ΔTAtだけ減少させられる。従って、吸気通路を通して機関10の燃焼室21に供給される空気の量(吸入空気量)が減少することにより筒内吸入空気量Mcが減少し、それにより燃焼室21に供給される燃料の量(供給燃料量)が減少するので、燃焼室21において燃焼に供される混合気量が減少する。この結果、機関10の発生トルクが減少するので、機関回転速度NEが低下する。
なお、ステップ565の実行時点において、機関回転速度NEが「目標アイドル回転速度NTに所定値ΔNTを加えた回転速度(NT+ΔNT)」以下であると、CPUはそのステップ565にて「No」と判定し、ステップ520に直接進む。そして、CPUはステップ525に進んだ後にステップ595に進む。従って、この場合、スロットル弁開度は変更されない。
次に、上述したアイドル補正量増大フラグXLARGEの操作について説明する。CPUは図6にフローチャートにより示したアイドル補正量増大フラグ設定ルーチンを所定時間の経過毎に実行している。
<仮定1>
以下、現時点が、二次空気供給フラグXAIが「1」から「0」に変更された直後(即ち、二次空気の供給が停止された直後)の時点であるとして説明を行う。
所定のタイミングになると、CPUは図6のステップ600から処理を開始してステップ610に進み、所定時間前に本ルーチンを実行した際の二次空気供給フラグXAIの値、即ち、前回の二次空気供給フラグXAIoldの値が「1」であるか否かを判定する(後述するステップ640を参照。)。前記仮定1によれば、前回の二次空気供給フラグXAIoldの値は「1」である。従って、CPUはステップ610にて「Yes」と判定してステップ620に進み、現時点における二次空気供給フラグXAIの値が「0」であるか否かを判定する。前記仮定1によれば、現時点の二次空気供給フラグXAIの値は「0」である。従って、CPUはステップ620にて「Yes」と判定し、以下に述べるステップ630及びステップ640の処理を順に行い、ステップ695に進んで本ルーチンを一旦終了する。
ステップ630:CPUは、アイドル補正量増大フラグXLARGEの値を「1」に設定する。
ステップ640:CPUは、現時点における二次空気供給フラグXAIの値を、前回の二次空気供給フラグXAIoldの値として格納する。
以上の処理により、仮定1の場合、アイドル補正量増大フラグXLARGEの値は「1」に設定される。
<仮定2>
以下、現時点が、二次空気供給フラグXAIが「0」から「1」に変更された直後(即ち、二次空気の供給が開始された直後)の時点であると仮定して説明を続ける。
この場合、CPUはステップ610にて「No」と判定してステップ650に進み、現時点における二次空気供給フラグXAIの値が「1」であるか否かを判定する。前記仮定2によれば、現時点の二次空気供給フラグXAIの値は「1」である。従って、CPUはステップ650にて「Yes」と判定し、前述したステップ630及びステップ640の処理を順に行い、ステップ695に進んで本ルーチンを一旦終了する。以上の処理により、仮定2の場合も仮定1の場合と同様、アイドル補正量増大フラグXLARGEの値は「1」に設定される。
<仮定3>
以下、現時点が、二次空気供給フラグXAIが「1」に維持されている(即ち、現時点及び現時点から所定時間前の時点の何れにおいても二次空気が供給されている)と仮定して説明を続ける。
この場合、CPUはステップ610にて「Yes」と判定するとともにステップ620にて「No」と判定してステップ660に進む。CPUはステップ660にて、現時点が、「二次空気供給フラグXAIの値が「1」から「0」に変化してから第1所定時間T1以内であるか否か」又は「二次空気供給フラグXAIの値が「0」から「1」に変化してから第2所定時間T2以内であるか否か」を判定する。即ち、CPUは、現時点が二次空気の供給を停止してから第1所定時間T1以内(供給停止後過渡期間内)であるか、又は、現時点が二次空気の供給を開始してから第2所定時間T2以内(供給開始後過渡期間内)であるか否かを判定する。
このとき、二次空気供給フラグXAIの値が「0」から「1」に変化してから第2所定時間T2以内であると、CPUはステップ660にて「Yes」と判定してステップ670に進み、現時点の機関回転速度NEが低側回転閾値速度(NT−ΔNT)以上であり且つ高側回転閾値速度(NT+ΔNT)以下であるか否かを判定する。即ち、CPUは、ステップ670にて、現時点の機関回転速度NEが十分に目標アイドル回転速度NTに近づいていて安定しているか否かを判定する。なお、ステップ660において、低側回転閾値速度は(NT−ΔNT−ΔNTT)、高側回転閾値速度は(NT+ΔNT+ΔNTT)に設定されてもよい(但し、ΔNTT>0)。
機関回転速度NEが低側回転閾値速度(NT−ΔNT)以上であり且つ高側回転閾値速度(NT+ΔNT)以下であれば、CPUはステップ670にて「Yes」と判定してステップ680に進み、アイドル補正量増大フラグXLARGEの値を「0」に設定する。その後、CPUは前述したステップ640を経由してステップ695に進み、本ルーチンを一旦終了する。
これに対し、ステップ670の判定時において、機関回転速度NEが低側回転閾値速度(NT−ΔNT)より小さいか又は高側回転閾値速度(NT+ΔNT)より大きいと、CPUはステップ670にて「No」と判定し、前述したステップ630及びステップ640へと進む。これにより、アイドル補正量増大フラグXLARGEの値は「1」に維持される。
更に、上述したステップ660の判定時において、現時点が、二次空気供給フラグXAIの値が「0」から「1」に変化してから第2所定時間T2が経過した時点以降である場合、CPUはそのステップ660にて「No」と判定してステップ680に直接進む。この結果、アイドル補正量増大フラグXLARGEの値は「0」に設定される。
<仮定4>
以下、現時点が、二次空気供給フラグXAIが「0」に維持されている(即ち、現時点及び現時点から所定時間前の時点の何れにおいても二次空気の供給が停止されている)と仮定して説明を続ける。
この場合、CPUはステップ610にて「No」と判定するとともにステップ650にても「No」と判定してステップ660に進む。このとき、二次空気供給フラグXAIの値が「1」から「0」に変化してから第1所定時間T1以内であると、CPUはステップ660にて「Yes」と判定してステップ670に進む。
そして、機関回転速度NEが低側回転閾値速度(NT−ΔNT)以上であり且つ高側回転閾値速度(NT+ΔNT)以下であれば、CPUはステップ670にて「Yes」と判定してステップ680に進み、アイドル補正量増大フラグXLARGEの値を「0」に設定する。その後、CPUは前述したステップ640を経由してステップ695に進み、本ルーチンを一旦終了する。
これに対し、ステップ670の判定時において、機関回転速度NEが低側回転閾値速度(NT−ΔNT)より小さいか又は高側回転閾値速度(NT+ΔNT)より大きいと、CPUはステップ670にて「No」と判定し、前述したステップ630及びステップ640へと進む。これにより、アイドル補正量増大フラグXLARGEの値は「1」に維持される。
更に、上述したステップ660の判定時において、現時点が、「二次空気供給フラグXAIの値が「1」から「0」に変化してから第1所定時間T1が経過した時点」以降であると、CPUはそのステップ660にて「No」と判定してステップ680に直接進む。この結果、アイドル補正量増大フラグXLARGEの値は「0」に設定される。
次に、上述した二次空気供給開始時におけるトルク変化見込み補正量TAffの算出の仕方について説明する。CPUは図7にフローチャートにより示したトルク変化見込み補正量算出ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUは図7のステップ700から処理を開始してステップ710に進む。
<仮定1>
いま、二次空気の供給が停止された直後であると仮定する。この場合、現時点の二次空気供給フラグXAIの値は「0」であり、所定時間前に本ルーチンを実行した時点の二次空気供給フラグXAIである「前回の二次空気供給フラグXAIold」の値は「1」である。
CPUはステップ710にて現時点の二次空気供給フラグXAIの値が「0」であるか否かを判定する。上記仮定1に従うと、二次空気供給フラグXAIの値は「0」である。従って、CPUはステップ710にて「Yes」と判定してステップ720に進み、前回の二次空気供給フラグXAIoldが「1」であるか否かを判定する。上記仮定1に従うと、前回の二次空気供給フラグXAIoldの値は「1」である。従って、CPUはステップ720にても「Yes」と判定してステップ730に進む。
CPUはステップ730にて、機関回転速度NE、負荷KL及び吸気弁開弁進角角度VVTと、トルク変化見込み補正量TAffと、の関係を規定したテーブルMapTAffに、実際の機関回転速度NE、実際の負荷KL及び実際の吸気弁開弁進角角度VVTを適用することにより、現時点のトルク変化見込み補正量TAffを取得する。
このテーブルMapTAffは、予め実験により求められたデータに基づいて作成されている。そのデータとは、ある機関回転速度NE、ある負荷KL及びある吸気弁開弁進角角度VVTにて機関10が運転されている場合において二次空気の供給が停止されたときに生じる機関発生トルクの変化の幅(減少量、減少変化幅)を相殺或いは極力小さくするためのトルク」を機関10に発生させるために必要な「スロットル弁の増大量(アイドル運転状態にあるときにはスロットル弁基本開度TAbaseから増加すべき量)」を「トルク変化見込み補正量TAff」として求めたデータである。
なお、テーブルMapTAffは、更にアクセルペダル操作量Accpをパラメータとして採用してもよい。即ち、テーブルMapTAffは、機関回転速度NE、負荷KL、吸気弁開弁進角角度VVT及びアクセルペダル操作量Accpと、トルク変化見込み補正量TAffと、の関係を規定したテーブルであってもよい。また、テーブルMapTAffは、冷却水温THW等をテーブルの引数として更に有してもよい。即ち、テーブルMapTAffは、二次空気供給停止時における機関の発生トルク減少変化幅に影響を及ぼす機関の運転状態パラメータと、トルク変化見込み補正量TAffと、の関係を規定するテーブルであればよい。
次に、CPUはステップ740に進み、現時点における二次空気供給フラグXAIの値を、前回の二次空気供給フラグXAIoldの値として格納する。その後、CPUはステップ795に進み本ルーチンを一旦終了する。
このように、二次空気の供給が停止されたとき、トルク変化見込み補正量TAffがテーブルMapTAffに基づいて所定の値に設定されるので、図5のステップ520及びステップ525の処理によってスロットル弁開度がトルク変化見込み補正量TAffだけステップ状に増大する。
従って、吸気通路を通して燃焼室21に吸入される吸入空気量がステップ状に増大する。従って、燃焼室21に供給される燃料の量もステップ状に増大する。この結果、燃焼室21に供給される混合気量がステップ状に増大するから、機関10の発生トルクはその混合気量の増大分に応じて増大する。この結果、二次空気の供給停止に伴うトルク減少変化幅を小さくすることができる。
<仮定2>
いま、二次空気の供給が停止された状態が継続していると仮定する。この場合、現時点の二次空気供給フラグXAIの値及び前回の二次空気供給フラグXAIoldの値は何れも「0」である。
従って、CPUはステップ710にて「Yes」と判定するとともにステップ720にて「No」と判定し、ステップ750に進んでトルク変化見込み補正量TAffの値を微小量ΔTAffだけ減じる。そして、CPUはステップ760に進み、トルク変化見込み補正量TAffの値が0以上であるか否かを判定し、トルク変化見込み補正量TAffの値が0以上であればステップ760からステップ740を経由してステップ795に進む。これに対し、ステップ760の実行時点において、トルク変化見込み補正量TAffの値が0以上でなければ、CPUはステップ760にて「No」と判定してステップ770に進み、トルク変化見込み補正量TAffの値を「0」に設定する。即ち、CPU71は、ステップ760及びステップ770の処理によりトルク変化見込み補正量TAffの値が負の値とならないようにしている。
このような処理は、二次空気の供給が停止された状態が継続している限り繰り返し実行される。従って、二次空気の供給が停止された直後からトルク変化見込み補正量TAffの値は次第に減少し(所定時間あたり微小量ΔTAffずつ減少し)、その後「0」に到達する。
<仮定3>
いま、二次空気が供給されている状態(二次空気供給開始時又は二次空気の供給が継続している状態)であると仮定する。この場合、現時点の二次空気供給フラグXAIの値は「1」である。従って、CPUはステップ710にて「No」と判定し、ステップ770に進んでトルク変化見込み補正量TAffの値を「0」に設定する。
以上、説明したように、第2制御装置は、
供給停止後過渡期間(二次空気供給フラグXAIの値が「1」から「0」に変化した時点を開始時点とし、二次空気供給フラグXAIの値が「1」から「0」へと変化してからトルク変化見込み補正量TAffの値が減少して0に到達する時点、即ち、二次空気供給停止時から所定期間だけ後の時点を終了時点とする期間)において、スロットル弁開度をトルク変化見込み補正量TAffだけ増大する(図5のステップ520、図7のルーチンを参照。)。
従って、第2制御装置は、供給停止後過渡期間において、「機関10の吸気通路を通して燃焼室21に吸入される空気の量である機関の制御量としての吸入空気量」及び「吸入空気量(及び目標空燃比)により決まる燃焼室21に供給される燃料の量である前記機関の制御量としての供給燃料量」を、「前記供給停止後過渡期間の開始直前におけるスロットル弁開度により決まる吸入空気量」及び「供給停止後過渡期間の開始直前における吸入空気量(及び目標空燃比)により決まる供給燃料量」よりもそれぞれ増大させる「トルク変動抑制手段としての混合気量増大手段」を備える装置である。
このように、第2制御装置によれば、二次空気の供給が停止されたときに燃焼室21に供給される混合気量(二次空気以外の機関発生トルクを変更させ得る機関の制御量)が増大させられる。従って、より多くの燃料が燃焼室21内において燃焼するから、二次空気の供給停止に伴う機関の発生トルクの変動の幅(低下量)が小さくなるように、機関の発生トルクが増大させられる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
また、第2制御装置は、
前記機関10の運転状態がアイドル運転状態であるとき前記機関の実際の回転速度NEが目標アイドル回転速度NTと一致するように「前記機関の制御量としての前記機関のスロットル弁開度」をフィードバック制御する「アイドル時スロットル弁開度制御手段(図5のルーチン、特に、ステップ555乃至ステップ570を参照。)」と、
切換過渡期間(前記供給停止後過渡期間及び/又は前記供給開始後過渡期間)において前記アイドル時スロットル弁開度制御手段によるスロットル弁開度の変更速度(所定時間におけるスロットル弁開度の変更量である微小開度変更量ΔTAt)を同切換過渡期間以外におけるスロットル弁開度の変更速度よりも増大させる「トルク変動抑制手段としてのスロットル弁開度変更ゲイン増大手段」を備える(図5のステップ540乃至ステップ550、及び、図6のルーチンを参照。)。
これによれば、切換過渡期間においてスロットル弁開度の変更速度が増大されるから、二次空気供給状態の切換えに伴って生じる機関の発生トルクの変化の幅が「スロットル弁開度変更によるアイドル回転速度フィードバック制御」により迅速に低減させられる。従って、二次空気の供給を開始する際及び/又は二次空気の供給を停止する際の機関の運転状態を安定化することができる。
なお、第2制御装置において、図6のステップ670の処理を省略することもできる。この場合、CPUはステップ660にて「Yes」と判定したときステップ630に進み、ステップ660にて「No」と判定したときステップ680に進むように構成されることが好適である。
(第3実施形態)
次に、本発明の第3実施形態に係る制御装置(以下、「第3制御装置」とも称呼する。)について説明する。この第3制御装置は、二次空気の供給が停止される前までに点火時期を進角させ、点火時期が最適点火時期(MBT)にある程度まで近づいたときに二次空気の供給の停止を許容することにより、二次空気供給停止時のトルク変動の幅を小さくする。
(作動の概略)
図8は、点火時期と、二次空気の供給を停止する前後における機関発生トルクの変化の幅(変化量)ΔTQと、の関係を示したグラフである。このグラフから明らかなように、二次空気の供給を停止するときの点火時期が最適点火時期(MBT)より遅角側に向けて離れているほど(即ち、点火時期の遅角量が大きくなるほど)、二次空気の供給を停止するときの機関発生トルクの変化の幅ΔTQは大きくなる。この理由は定かではないが、二次空気を供給している場合には点火時期の遅角量が大きいほど燃焼状態が改善されるためであろうと考えられる。換言すると、点火時期が最適点火時期(MBT)に近いほど(遅角量が小さいほど)、二次空気を供給しているときの燃焼状態と二次空気を停止したときの燃焼状態との差異が小さくなるからであると推定される。
一方、一般的な内燃機関の制御装置は、機関冷間時に点火時期を最適点火時期(MBT)よりも比較的大きく遅角している。これにより、排ガス温度が上昇し、触媒43の暖機が促進される。更に、一般的な制御装置は、アイドル運転状態においても点火時期を最適点火時期より遅角している。従って、二次空気供給中の点火時期が最適点火時期よりも比較的大きく遅角側の点火時期となっている場合がある。このような状態において二次空気の供給を停止すると、機関発生トルクの変化の幅ΔTQが大きくなる。
そこで、第3制御装置は、二次空気の供給を停止する直前の期間(供給停止前過渡期間)において、点火時期の遅角量(触媒43の暖機を促進するための暖機遅角量Adanki等)を徐々に小さくすることにより、点火時期を徐々に進角させる。そして、第3制御装置は、点火時期が「最適点火時期(MBT)から所定量ΔArdthだけ遅角した閾値遅角点火時期Ardth」よりも進角側の点火時期になったとき(即ち、点火時期が最適点火時期(MBT)に近づき、二次空気供給停止に伴う機関の発生トルクの変化幅ΔTQが閾値トルク変化幅ΔTQth以下となるとき)、二次空気の供給を実際に停止する。これにより、第3制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅を小さくすることができる。
より具体的に説明すると、第3制御装置は、以下の条件1及び条件2が共に成立しているとき二次空気の供給を開始する。
<条件1>機関10が始動された直後の冷却水温THWが所定の範囲内である。即ち、機関10が始動された直後の冷却水温THWが、低側閾値温度THWlo以上であり且つ高側閾値温度THWhi以下である。
<条件2>二次空気の供給を停止する要求(二次空気供給停止要求)が発生していない(後述する二次空気供給停止要求フラグXOFFYKの値が「0」である。)。
第3制御装置は、以下の条件3が成立したとき二次空気供給停止要求を発生する(後述する二次空気供給停止要求フラグXOFFYKの値を「1」に設定する。)。
<条件3>機関10の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上である。
第3制御装置は、以下の条件4及び条件5が成立したとき二次空気の供給を停止する。
<条件4>二次空気供給停止要求が発生している(二次空気供給停止要求フラグXOFFYKの値が「1」である)。
<条件5>点火時期の暖機遅角量Adankiが閾値暖機遅角量Adankith以下である。即ち、点火時期が「最適点火時期(MBT)から所定量ΔArdthだけ遅角された閾値遅角点火時期Ardth」よりも進角側にある(点火時期が閾値遅角点火時期Ardthと同じか又は閾値遅角点火時期Ardthよりも最適点火時期に近い)。
更に、第3制御装置は、始動後の積算吸入空気量SGaが大きくなるほど、暖機遅角量Adankiを小さくする。これにより、始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上に到達することに基づいて二次空気供給停止要求が発生した時点(又はその時点の近傍の時点)において、点火時期の暖機遅角量Adankiが閾値暖機遅角量Adankith以下となる。この結果、第3制御装置は、二次空気供給停止要求が発生した時点(又はその時点の近傍の時点)において、二次空気の供給を停止する。このとき、点火時期は最適点火時期に十分に近い点火時期となっている。従って、第3制御装置は、二次空気供給停止に伴う機関の発生トルクの変化の幅を小さくすることができ、且つ、二次空気供給停止要求の発生時点から大きく遅れることのない時点にて、二次空気の供給を停止することができる。
(実際の作動)
次に、第3制御装置の実際の作動について説明する。第3制御装置のCPUは図9にフローチャートにより示した二次空気供給ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ900から処理を開始してステップ910に進み、二次空気供給フラグXAIの値が「0」であるか否かを判定する。即ち、CPUは現時点において二次空気の供給が停止されているか否かを判定する。このとき、二次空気供給フラグXAIの値が「1」であれば(即ち、二次空気が供給されていれば)、CPUはステップ910にて「No」と判定し、ステップ995に直接進んで本ルーチンを一旦終了する。
ステップ910の実行時点において二次空気供給フラグXAIの値が「0」であれば(即ち、二次空気が供給されていなければ)、CPUはそのステップ910にて「Yes」と判定してステップ920に進み、現時点が機関10の始動直後であるか否かを判定する。このとき、現時点が機関10の始動直後でなければ、CPUはステップ920にて「No」と判定し、ステップ995に直接進んで本ルーチンを一旦終了する。
ステップ920の実行時点において現時点が機関10の始動直後であると、CPUはそのステップ920にて「Yes」と判定してステップ930に進み、冷却水温THWが所定の範囲内(THWlo以上且つTHWhi以下)であるか否かを判定する。このとき、冷却水温THWが所定の範囲内になければ、CPUはステップ930にて「No」と判定し、ステップ995に直接進んで本ルーチンを一旦終了する。
ステップ930の実行時点において冷却水温THWが所定の範囲内にあると、CPUはそのステップ930にて「Yes」と判定してステップ940に進み、二次空気供給停止要求フラグXOFFYKの値が「0」であるか否かを判定する。この二次空気供給停止要求フラグXOFFYKは、その値が「1」であるとき二次空気の供給を停止すべき要求(二次空気供給停止要求)が発生していることを示し、その値が「0」であるとき二次空気供給停止要求が発生していないことを示す。二次空気供給停止要求フラグXOFFYKの値は、CPUが図示しないイニシャルルーチンの処理を実行することによって「0」に設定されるとともに、CPUが後述する図10に示した二次空気供給停止要求判定ルーチンの処理を実行することによって「1」に設定される。
ステップ940の実行時点において、二次空気供給停止要求フラグXOFFYKの値が「1」であると、CPUはそのステップ940にて「No」と判定し、ステップ995に直接進んで本ルーチンを一旦終了する。
一方、ステップ940の実行時点において二次空気供給停止要求フラグXOFFYKの値が「0」であると、CPUはそのステップ940にて「Yes」と判定し、以下に述べるステップ950及びステップ960の処理を順に行い、ステップ995に進んで本ルーチンを一旦終了する。
ステップ950:CPUは、二次空気供給フラグXAIの値を「1」に設定する。
ステップ960:CPUは、エアポンプ52を回転させるとともに二次空気制御弁54を閉弁状態から開弁状態へと変化させることにより、排気ポート23に二次空気を供給する。
一方、CPUは図10にフローチャートにより示した二次空気供給停止要求判定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図10のステップ1000から処理を開始してステップ1010に進み、二次空気供給フラグXAIの値が「1」であるか否かを判定する。即ち、CPUは現時点において二次空気が供給されているか否かを判定する。そして、二次空気供給フラグXAIの値が「0」であると、CPUはステップ1010にて「No」と判定し、ステップ1095に直接進んで本ルーチンを一旦終了する。
一方、ステップ1010の実行時点において、二次空気供給フラグXAIの値が「1」であると、CPUはそのステップ1010にて「Yes」と判定してステップ1020に進み、機関始動後からの吸入空気流量Gaの積算値である積算吸入空気量SGaが閾値積算吸入空気量SGath以上であるか否かを判定する。この積算吸入空気量SGaは、前述したように、図示しないルーチンにより別途求められている。このとき、積算吸入空気量SGaが閾値積算吸入空気量SGathより小さいと、CPUはステップ1020にて「No」と判定し、ステップ1095に直接進んで本ルーチンを一旦終了する。
これに対し、ステップ1020の実行時点において、積算吸入空気量SGaが閾値積算吸入空気量SGath以上であると、CPUはそのステップ1020にて「Yes」と判定してステップ1030に進み、二次空気供給停止要求フラグXOFFYKの値を「1」に設定する。その後、CPUはステップ1095に進んで本ルーチンを一旦終了する。
このように、二次空気が供給中である場合(二次空気供給フラグXAIの値が「1」である場合)、積算吸入空気量SGaが閾値積算吸入空気量SGath以上になると、二次空気供給停止要求フラグXOFFYKの値が「1」に設定される。
加えて、このCPUは図11にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角(例えば、圧縮上死点前90°クランク角、BTDC90°)に一致する毎に繰り返し実行するようになっている。
従って、何れかの気筒のクランク角が所定クランク角に一致すると、CPUは図11のステップ1100から処理を開始してステップ1110に進み、負荷KL及び機関回転速度NEと基本点火時期Abaseとの関係を規定する基本点火時期テーブルMapAaseに、現時点の負荷KL及び現時点の機関回転速度NEを適用することにより、基本点火時期Abaseを決定する。このステップ1110は前述した図3のステップ305と同じ処理を実行するためのステップである。
次に、CPUはステップ1120に進み、現時点が機関10の始動直後であるか否かを判定する。CPUは、現時点が機関10の始動直後であればステップ1130に進み、現時点が機関10の始動直後でなければステップ1140に直接進む。
CPUはステップ1130にて、冷却水温THWと暖機遅角量Adankiとの関係を規定する暖機遅角量テーブルMapAdankiに現時点(即ち、機関始動直後)の冷却水温THWを適用することにより、触媒43の暖機を促進するための暖機遅角量Adankiを決定する。このステップ1130は、先に説明したステップ310と同じ処理を実行するためのステップである。従って、この暖機遅角量テーブルMapAdankiによれば、機関の始動直後における冷却水温THWが所定の範囲内(THWlo以上且つTHWhi以下)である場合、暖機遅角量Adankiがステップ310と同様の「0以外の値」として求められる。また、暖機遅角量Adankiの最大値は値Admaxである。その後、CPUは、ステップ1140に進む。
CPUはステップ1140にて、二次空気供給フラグXAIの値が「1」であるか否かを判定する。このとき、二次空気供給フラグXAIの値が「0」であると、即ち、二次空気の供給が停止されていると、CPUはステップ1140にて「No」と判定し、以下に述べるステップ1150及びステップ1160の処理を順に行い、ステップ1195に進んで本ルーチンを一旦終了する。
ステップ1150:CPUは、基本点火時期Abaseから暖機遅角量Adankiを減じた点火時期(即ち、基本点火時期Abaseを暖機遅角量Adankiだけ遅角させた点火時期)を最終的な点火時期Aigとして設定する。
ステップ1160:CPUは、現時点におけるクランク角が圧縮上死点前90°となっている気筒の点火時期が上記ステップ1150にて決定された最終点火時期Aigとなるように、その気筒の点火プラグ24に点火信号を送出する。
これに対し、ステップ1140の実行時点において、二次空気供給フラグXAIの値が「1」であると(即ち、二次空気の供給が行われていると)、CPUはステップ1140にて「Yes」と判定し、以下に述べるステップ1170乃至ステップ1190の処理を行い、その後、上述したステップ1150及びステップ1160の処理を行う。
ステップ1170:CPUは、機関始動後の積算吸入空気量SGaと暖機遅角量Adankiのガード値AGとの関係を定めるガード値テーブルMapAGに実際の積算吸入空気量SGaを適用することにより、実際の暖機遅角量Adankiのガード値AGを取得する。このガード値テーブルMapAGによれば、ガード値AGは、機関始動後の積算吸入空気量SGaが所定値SGa1に到達するまで一定値(最大値)Admaxに設定される。更に、このガード値テーブルMapAGによれば、ガード値AGは、機関始動後の積算吸入空気量SGaが「閾値積算吸入空気量SGathより小さい所定値SGa1」を超えると積算吸入空気量SGaが増大するにつれて一定値Admaxから0に向けて減少するように決定される。このとき、このガード値テーブルMapAGによれば、ガード値AGは、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGathとなったとき、閾値暖機遅角量Adankithとなるように決定される。
ステップ1180:CPUは、暖機遅角量Adankiがガード値AG以上であるか否かを判定する。CPUは、暖機遅角量Adankiがガード値AG以上であるときステップ1190に進み、暖機遅角量Adankiがガード値AGより小さいときステップ1150に直接進む。
ステップ1190:CPUは、暖機遅角量Adankiにガード値AGを設定する。つまり、暖機遅角量Adankiはガード値AGに一致せしめられる。従って、ステップ1180及びステップ1190により、暖機遅角量Adankiはガード値AG以下の値に設定される。
このように、始動直後の冷却水温THWに応じて設定される暖機遅角量Adankiは、二次空気が供給されている場合(ステップ1140を参照。)、ガード値AGを超えないように変更される(ステップ1180及びステップ1190を参照。)。ガード値AGは、積算吸入空気量SGaが大きくなるほど小さくなる(ステップ1170内に記載したガード値テーブルMapAGを参照。)。この結果、二次空気供給中、暖機遅角量Adankiが積算吸入空気量SGaが大きくなるにつれて0に近づくので、点火時期Aigは積算吸入空気量SGaが大きくなるにつれて次第に最適点火時期(MBT)に近づく。
更に、CPUは図12にフローチャートにより示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図12のステップ1200から処理を開始し、以下に述べるステップ1210乃至ステップ1250の処理を行い、ステップ1295に進んで本ルーチンを一旦終了する。
ステップ1210:CPUは、二次空気供給フラグXAIの値が「1」であるか否かを判定する。CPUは、二次空気供給フラグXAIの値が「1」であると(即ち、二次空気が供給されていると)ステップ1220に進む。CPUは、二次空気供給フラグXAIの値が「0」であると(即ち、二次空気の供給が停止していると)ステップ1295に直接進んで本ルーチンを一旦終了する。
ステップ1220:CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であるか否かを判定する。CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であるとステップ1230に進む。CPUは、二次空気供給停止要求フラグXOFFYKの値が「0」であるとステップ1295に直接進んで本ルーチンを一旦終了する。
ステップ1230:CPUは、暖機遅角量Adankiが閾値暖機遅角量Adankith以下であるか否かを判定する。即ち、CPUは、暖機遅角量Adankiが十分に小さくなっていることにより、点火時期Aigが最適点火時期(MBT)に十分に近づいているか否か(点火時期が閾値遅角点火時期Ardthよりも最適点火時期(MBT)に近いか否か)を判定する。CPUは、暖機遅角量Adankiが閾値暖機遅角量Adankith以下となっていれば、ステップ1240及びステップ1250に進む。
前述した図11のステップ1170にて使用されるガード値テーブルMapAGによれば、ガード値AGは、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGathとなったとき閾値暖機遅角量Adankithとなる。従って、本例においては、積算吸入空気量SGaが閾値積算吸入空気量SGathに到達した時点(即ち、図10のステップ1020及びステップ1030にて二次空気供給停止要求フラグXOFFYKの値が「1」に設定された時点)以降において閾値暖機遅角量Adankithは閾値暖機遅角量Adankith以下の値となる。
これに対し、ステップ1230の実行時点において、暖機遅角量Adankiが閾値暖機遅角量Adankithより大きければ、CPUはそのステップ1230からステップ1295に直接進んで本ルーチンを一旦終了する。
なお、ステップ1230は、最終的な点火時期Aigが「最適点火時期(MBT)」と「最適点火時期(MBT)から所定量ΔArdthだけ遅角した閾値遅角点火時期Ardth」との間にあるか否かを判定するステップに置換されてもよい。
ステップ1240:CPUはエアポンプ52の回転を停止するとともに二次空気制御弁54を開弁状態から閉弁状態へと変化させることにより、排気ポート23への二次空気の供給を停止する。
ステップ1250:CPUは二次空気供給フラグXAIの値を「0」に設定する。
以上、説明したように、第3制御装置は、二次空気の供給停止要求が発生しても点火時期Aigの遅角量(この場合、暖機遅角量Adanki)が大きいとき(即ち、点火時期Aigが最適点火時期(MBT)に対して所定量ΔArdth以上遅角側の点火時期であるとき)、二次空気の供給を停止しない(図12のステップ1220及びステップ1230を参照。)。そして、第3制御装置は、二次空気の供給停止要求が発生している場合、点火時期Aigの遅角量が十分に小さくなる時点(即ち、暖機遅角量Adankiが閾値暖機遅角量Adankith以下となることにより、点火時期Aigとの最適点火時期との差が所定量ΔArdth以内となる時点)を待って二次空気の供給を停止する(図12のステップ1220乃至ステップ1250を参照。)。従って、二次空気の供給を停止する時点における点火時期が最適点火時期に十分に近くなっているので、二次空気供給停止前後における機関発生トルクの変化の幅ΔTQを小さくすることができる。
更に、第3制御装置は、
前記切換過渡期間としての前記供給停止前過渡期間において、「二次空気供給停止時の機関の発生トルクの変化の幅」が「供給停止前過渡期間の開始直前にて二次空気の供給を停止したと仮定した場合に生じる機関の発生トルクの変化の幅」よりも小さい「所定の閾値トルク変化幅ΔTQth」以下となるように、機関の制御量である点火時期(点火時期の遅角量である暖機遅角量Adanki)を変化させる「トルク変動抑制手段」を備えていると言うこともできる(特に、図11のルーチンのステップ1170乃至ステップ1190、図10のステップ1020及びステップ1030、図12のステップ1220及びステップ1230を参照。)。
なお、この場合の供給停止前過渡期間は、二次空気供給停止時から所定期間だけ前の時点(暖機遅角量Adankiが「一定値Admaxから0に向けて減少している途中のガード値AG」に一致せしめられ始めた時点)を開始時点とし、二次空気供給停止時(実際には、ガード値AGと一致せしめられた暖機遅角量Adankiが閾値暖機遅角量Adankithに一致した時点)を終了時点とする切換過渡期間である。
更に、この第3制御装置は、
二次空気が供給されている状態において、機関の点火時期を、最適点火時期(MBT)よりも遅角側の点火時期に設定する点火時期遅角手段を備え(図11のステップ1110、ステップ1130及びステップ1150等を参照。)と、
前記供給停止前過渡期間において、前記点火時期遅角手段によって設定される点火時期(基本点火時期Abaseをガード値AGにより規制されていない暖機遅角量Adankiだけ遅角した点火時期)に代え、「前記機関の制御量としての前記機関の点火時期」を「供給停止前過渡期間の開始直前(暖機遅角量Adankiが一定値Admaxから0に向けて減少している途中のガード値AGに一致せしめられ始める直前)における点火時期」から徐々に進角させることにより(図11のステップ1170乃至ステップ1190を参照。)、「二次空気供給停止時における点火時期」を「最適点火時期から所定量ΔArdthだけ遅角した閾値遅角点火時期Ardth」と同じかそれよりも進角側の点火時期に設定するように構成された供給停止前点火時期進角手段(トルク変動抑制手段)を備える(図11のステップ1170乃至ステップ1190、及び、図12のステップ1230等を参照。)。
従って、第3制御装置は、二次空気の供給を実際に停止する際の機関の発生トルクの変化の幅ΔTQを閾値トルク変化幅ΔTQth以下にすることができる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
(第3実施形態の変形例)
次に、本発明の第3実施形態の変形例に係る制御装置(以下、「第3変形制御装置」とも称呼する。)について説明する。この第3変形制御装置は、そのCPUが、図11に代わる図13に示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角(例えば、圧縮上死点前90°クランク角、BTDC90°)に一致する毎に繰り返し実行する点のみにおいて、第3制御装置と相違する。即ち、第3変形制御装置のCPUは、図9、図10、図12及び図13に示されたルーチンを実行することにより、二次空気及び点火時期の制御を行う。
(作動の概略)
第3変形制御装置は、第3制御装置と同様、二次空気の供給を開始し、且つ、二次空気の供給を停止する要求を発生する。更に、第3変形制御装置は、暖機遅角量Adankiの初期値を始動直後の冷却水温THWに基づいて決定する。但し、第3変形制御装置は、その暖機遅角量Adankiを、二次空気供給停止要求が発生しているとき、「点火実行毎(前回の点火と今回の点火との期間)における機関始動後の積算吸入空気量SGaの変化量ΔSGa」に応じて減少させる。そして、第3変形制御装置は、第3制御装置と同様、暖機遅角量Adankiが所定値(閾値暖機遅角量Adankith)以下になったとき二次空気の供給を停止する(二次空気の供給の停止を許容する)。これにより、第3変形制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅(減少変化幅)を小さくすることができる。
(実際の作動)
以下、第3変形制御装置の作動の詳細について、図13を参照しながら第3制御装置との相違点を中心に説明する。なお、図13において図11に示したステップと同一の処理を行うためのステップには、図11のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
第3変形制御装置のCPUは、何れかの気筒のクランク角が前述した所定クランク角に一致すると、図13のステップ1300から処理を開始してステップ1110に進み、基本点火時期Abaseを決定する。次に、CPUはステップ1120及びステップ1130の処理により、機関の始動直後の冷却水温THWと暖機遅角量テーブルMapAdankiとに基づいて暖機遅角量Adankiの初期値を決定する。
次に、CPUはステップ1305に進み、二次空気供給停止要求フラグXOFFYKの値が「1」であるか否かを判定する。このとき、二次空気供給停止要求フラグXOFFYKの値が「0」であると、即ち、二次空気供給停止要求が発生していないと判定されていると、CPUはステップ1305にて「No」と判定し、上述したステップ1150及びステップ1160の処理を順に行い、ステップ1195に進んで本ルーチンを一旦終了する。
これに対し、ステップ1305の実行時点において、二次空気供給停止要求フラグXOFFYKの値が「1」であると(即ち、二次空気供給停止要求が発生したと判定されていると)、CPUはステップ1305にて「Yes」と判定し、以下に述べるステップ1310乃至ステップ1340の処理を行い、その後、上述したステップ1150及びステップ1160の処理を行う。
ステップ1310:CPUは、本ルーチンを前回実行した時点(例えば、現時点よりも180°クランク角前の時点)から現時点までの「機関始動後の積算吸入空気量SGaの変化量ΔSGa」を求める。
ステップ1320:CPUは、「現時点の暖機遅角量Adanki」から「変化量ΔSGaに応じた値(即ち、変化量ΔSGaに比例する値k・ΔSGa、但し、kは正の定数)」を減じた値を、新たな暖機遅角量Adankiとして設定する。
ステップ1330:CPUは、ステップ1320にて更新された暖機遅角量Adankiが0以下であるか否かを判定する。CPUは、暖機遅角量Adankiが0以下であるとステップ1340に進み、暖機遅角量Adankiが0より大きいとステップ1150に直接進む。
ステップ1340:CPUは、暖機遅角量Adankiに0を格納する。即ち、ステップ1330とステップ1340との処理により、暖機遅角量Adankiが0以上の値に維持される。
このように、暖機遅角量Adankiは二次空気供給停止要求の発生中において次第に減少させられる。即ち、暖機遅角量Adankiは、二次空気供給停止要求フラグXOFFYKの値が「1」であるとき、点火実行毎に変化量ΔSGaに比例する値k・ΔSGaだけ減少させられる。従って、点火時期Aigは、二次空気供給停止要求の発生時点以降、積算吸入空気量SGaが増大するに従って最適点火時期(MBT)に近づく。そして、CPUは図12のルーチンに示したように、二次空気供給停止要求フラグXOFFYKの値が「1」であるとき(ステップ1220を参照。)、暖機遅角量Adankiが閾値暖機遅角量Adankith以下であれば(ステップ1230を参照。)、二次空気の供給を停止する(ステップ1240及びステップ1250を参照。)。
以上、説明したように、第3変形制御装置は、二次空気の供給停止要求が発生しても(二次空気供給停止要求フラグXOFFYKの値が「1」に設定されても)、点火時期Aigの遅角量が大きいとき(暖機遅角量Adankiが閾値暖機遅角量Adankithより大きいとき)、二次空気の供給を停止せず、点火時期Aigの遅角量が十分に小さくなる時点(暖機遅角量Adankiが閾値暖機遅角量Adankith以下となる時点)を待って二次空気の供給を停止する。
換言すると、第3変形制御装置は、二次空気の供給停止要求が発生した場合、点火時期を徐々に進角させて最適点火時期(MBT)に近づけ、点火時期と最適点火時期(MBT)との差が所定量ΔArdth以下となったとき、二次空気の供給を停止する。その結果、二次空気の供給を停止する前後において、機関発生トルクの変化の幅ΔTQが過大となることを回避することができる。
なお、この第3変形制御装置は、
二次空気が供給されている状態において、機関の点火時期を、最適点火時期(MBT)よりも遅角側の点火時期(基本点火時期Abaseを暖機遅角量Adankiの初期値だけ遅角させた点火時期)に設定する点火時期遅角手段(図13のステップ1130及びステップ1150等を参照。)を備える。
更に、第3変形制御装置は、
二次空気が供給されている場合に二次空気の供給を停止する要求である供給停止要求が発生したか否かを判定する停止要求発生判定手段(図10のルーチンを参照。)と、
前記供給停止要求が発生したと判定されている場合、実際の点火時期が、最適点火時期から所定量ΔArdthだけ遅角側の閾値遅角点火時期Ardthよりも進角側となったとき(等しい場合も含む。)、供給停止条件が成立したと判定する(二次空気供給条件が不成立となったと判定する)供給停止条件成立判定手段(図12のルーチンの特にステップ1230を参照。)と、
を含む二次空気供給手段を備える。
加えて、第3変形制御装置は、
供給停止要求が発生したと判定された時点(ステップ1305を参照。)を開始時点として定めてなる供給停止前過渡期間において、前記点火時期遅角手段によって設定される点火時期(基本点火時期Abaseを暖機遅角量Adankiの初期値だけ遅角させた点火時期)に代え、機関の制御量としての点火時期を「供給停止前過渡期間の開始直前における点火時期」から徐々に進角させる「トルク変動抑制手段としての供給停止前点火時期進角手段(図13のステップ1310乃至ステップ1340と、図13のステップ1150と、を参照。)」を備える。
なお、第3制御装置及び第3変形制御装置において、二次空気供給停止要求は、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上となったことにより発生した。これに対し、二次空気供給停止要求は、機関の負荷KLが閾値負荷KLthより大きくなった場合等の他の条件が成立したときに発生させられてもよい。更に、図13のステップ1320における点火時期の変更量は変化量ΔSGaに応じた値(k・ΔSGa)であったが、一定値であってもよい。
更に、第3変形制御装置において、図13のステップ1305を図11のステップ1140に置換してもよい。これによれば、二次空気供給中、暖機遅角量Adankiは機関始動後の積算吸入空気量SGaが増加するに従って次第に0に近づくので、点火時期は機関始動後の積算吸入空気量SGaが増加するに従って最適点火時期(MBT)に近づく。従って、この態様の制御装置は、第3制御装置と同様、積算吸入空気量SGaが閾値積算吸入空気量SGath以上となることにより二次空気供給停止要求が発生する時点又はその時点の近傍の時点にて、点火時期の遅角量が十分に小さくなる(暖機遅角量Adankiが閾値暖機遅角量Adankith以下となる)ので、二次空気供給停止要求の発生から大きく遅れることなく且つ機関の発生トルクの変動幅を小さい値に維持しながら、二次空気の供給を実際に停止することができる。
(第4実施形態)
次に、本発明の第4実施形態に係る制御装置(以下、「第4制御装置」とも称呼する。)について説明する。この第4制御装置は、空燃比が十分に理論空燃比に近づいたときに二次空気の供給の停止を許容することにより二次空気供給停止時のトルク変動の幅を小さくする。以下、第4制御装置の作動の概略について説明する。
(作動の概略)
図14は、機関10に供給される混合気の空燃比(機関の空燃比)と、二次空気の供給を停止する前後における機関発生トルクの変化の幅(変化量)ΔTQと、の関係を示したグラフである。このグラフから明らかなように、二次空気の供給を停止したときの機関の空燃比がリッチ側であるほど、二次空気の供給を停止したときの機関発生トルクの変化の幅ΔTQは大きくなる。換言すると、機関の空燃比が理論空燃比に近いほど、二次空気の供給を停止したときのトルク変化幅ΔTQが小さくなる。この理由は、機関の空燃比が理論空燃比よりもリッチ側の空燃比である状態で二次空気を供給すると、バルブオーバーラップ期間中に排気ポート23から燃焼室21に流入する二次空気によってより多くの燃料が燃焼室21内において燃焼するので機関の発生トルクが大きくなり、且つ、そのような状態で二次空気の供給を停止すると燃焼室21内において燃焼できる燃料の量が小さくなるので機関の発生トルクが小さくなるためであると推定される。
そこで、第4制御装置は、二次空気の供給を停止する直前の期間(供給停止前過渡期間)において、機関の空燃比(本例においては、目標空燃比)を徐々にリーン化して理論空燃比に近づける。そして、第4制御装置は、機関の空燃比が理論空燃比よりも所定値Δafだけリッチ側の空燃比である閾値空燃比afthよりもリーン側の空燃比となったとき(機関の空燃比が閾値空燃比afthと等しくなった時点を含む。)、二次空気の供給を停止する。即ち、第4制御装置は、機関の空燃比が理論空燃比に近づき、二次空気供給停止に伴う機関の発生トルクの変化幅ΔTQが閾値トルク変化幅ΔTQth以下となるときに二次空気の供給を停止する。これにより、第4制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅を小さくすることができる。なお、閾値トルク変化幅ΔTQthは、機関の空燃比が閾値空燃比afthである場合において二次空気の供給を停止したときの機関の発生トルクの変化の幅ΔTQである。
(実際の作動)
次に、第4制御装置の実際の作動について説明する。第4制御装置のCPUは、図9、図10、図15乃至図17に示したルーチンを実行することにより二次空気及び機関の空燃比の制御を実行する。
従って、そのCPUは、図9に示したルーチンを実行することにより、以下に再び記載した上記条件1及び上記条件2が共に成立しているとき二次空気の供給を開始する。
<条件1>機関10が始動された直後の冷却水温THWが所定の範囲内である。即ち、機関10が始動された直後の冷却水温THWが、低側閾値温度THWlo以上であり且つ高側閾値温度THWhi以下である。
<条件2>二次空気の供給を停止する要求(二次空気供給停止要求)が発生していない(二次空気供給停止要求フラグXOFFYKの値が「0」である。)。
更に、そのCPUは、図10に示したルーチンを実行することにより、以下に再び記載した上記条件3が成立したとき、二次空気供給停止要求を発生する(二次空気供給停止要求フラグXOFFYKの値を「1」に設定する。)。
<条件3>機関10の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上である。
加えて、このCPUは図15にフローチャートにより示した目標空燃比決定ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図15のステップ1500から処理を開始してステップ1510に進み、現時点が機関10の始動直後であるか否かを判定する。CPUは、現時点が機関10の始動直後であればステップ1520に進み、現時点が機関10の始動直後でなければステップ1530に直接進む。
CPUはステップ1520にて、冷却水温THWと目標空燃比abyfrとの関係を規定する目標空燃比テーブルMapabyfrに現時点(機関始動直後)の冷却水温THWを適用することにより、目標空燃比abyfrを決定する。この目標空燃比テーブルMapabyfrによれば、機関の始動直後における冷却水温THWが所定閾値(暖機完了温度)THW1以下である場合、目標空燃比abyfrは、その冷却水温THWが低下するほど理論空燃比stoichからより離れたリッチ側の空燃比となるように決定される。更に、この目標空燃比テーブルMapabyfrによれば、機関の始動直後における冷却水温THWが所定閾値(暖機完了温度)THW1以上である場合、目標空燃比abyfrは、その冷却水温THWに依らず理論空燃比stoichとなるように決定される。
次に、CPUはステップ1530に進み二次空気供給フラグXAIの値が「1」であるか否かを判定する。このとき、二次空気が導入されていて二次空気供給フラグXAIの値が「1」であると、CPUはステップ1530にて「Yes」と判定し、以下に述べるステップ1540乃至ステップ1560の処理を行い、ステップ1570に進む。
ステップ1540:CPUは、機関始動後の積算吸入空気量SGaと目標空燃比abyfrのガード値である目標空燃比ガード値AFGとの関係を定めるガード値テーブルMapAFGに実際の積算吸入空気量SGaを適用することにより、実際の目標空燃比ガード値AFGを取得する。
このガード値テーブルMapAFGによれば、目標空燃比ガード値AFGは、機関始動後の積算吸入空気量SGaが所定値SGa1に到達するまで、積算吸入空気量SGaが大きくなるほど理論空燃比よりもリッチ側の所定の空燃比から理論空燃比に向けて大きくなるように設定される。更に、このガード値テーブルMapAFGによれば、目標空燃比ガード値AFGは、機関始動後の積算吸入空気量SGaが所定値SGa1を超えると理論空燃比に設定される。この所定値SGa1は閾値積算吸入空気量SGathよりも大きい。加えて、このガード値テーブルMapAFGによれば、目標空燃比ガード値AFGは、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGathとなったとき、閾値空燃比afthとなるように決定される。
ステップ1550:CPUは、目標空燃比abyfrが目標空燃比ガード値AFG以下であるか否かを判定する。即ち、CPUは、目標空燃比abyfrが目標空燃比ガード値AFGよりもリッチ側の空燃比であるか否かを判定する。CPUは、目標空燃比abyfrが目標空燃比ガード値AFG以下であるときステップ1560に進み、目標空燃比abyfrが目標空燃比ガード値AFGより大きいときステップ1570に直接進む。
ステップ1560:CPUは、目標空燃比abyfrに目標空燃比ガード値AFGを設定する。つまり、目標空燃比abyfrが目標空燃比ガード値AFGに一致せしめられる。
このように、始動直後において冷却水温THWに応じて設定された目標空燃比abyfrは、二次空気が供給されている場合、目標空燃比ガード値AFGよりもリッチ側の空燃比とならないように変更される。目標空燃比ガード値AFGは、積算吸入空気量SGaが大きくなるほど理論空燃比stoichに近づく。この結果、二次空気供給中の機関の空燃比は積算吸入空気量SGaが大きくなるにつれて理論空燃比stoichに近づく。
一方、ステップ1530の実行時点において、二次空気の供給が停止されていて二次空気供給フラグXAIの値が「0」であると、CPUはステップ1530にて「No」と判定してステップ1570に直接進む。
CPUはステップ1570にて、空燃比フィードバック制御フラグXMFBの値が「1」であるか否かを判定する。空燃比フィードバック制御フラグXMFBは、その値が「1」であるとき空燃比フィードバック制御中であることを示し、その値が「0」であるとき空燃比フィードバック制御中でないことを示す(後述する図16のステップ1615、ステップ1620及びステップ1630を参照。)。
空燃比フィードバック制御フラグXMFBの値が「1」であると、CPUはステップ1570にて「Yes」と判定してステップ1580に進み、目標空燃比abyfrに理論空燃比stoichを設定し、ステップ1595に進んで本ルーチンを一旦終了する。これに対し、ステップ1570の実行時点において、空燃比フィードバック制御フラグXMFBの値が「0」であると、CPUはステップ1570にて「No」と判定してステップ1595に直接進んで本ルーチンを一旦終了する。
更に、CPUは、図16に示した燃料噴射制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図16のステップ1600から処理を開始し、以下に述べるステップ1605及びステップ1610の処理を順に行ってステップ1615に進む。
ステップ1605:CPUは、現時点の吸入空気量Gaと、現時点の機関回転速度NEと、筒内吸入空気量テーブルMapMcと、に基づいて、次に吸気行程を迎える気筒(燃料噴射気筒)に吸入される筒内吸入空気量Mcを取得する。筒内吸入空気量Mcは機関10の吸気通路における空気の挙動をモデル化した周知の空気量推定モデル(空気モデル)を用いて求められてもよい。
ステップ1610:CPUは、筒内吸入空気量Mcを目標空燃比abyfrによって除すことにより基本燃料噴射量Fbaseを求める。この基本燃料噴射量Fbaseは、機関の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード量である。
次に、CPUはステップ1615に進み、空燃比フィードバック制御条件が成立しているか否かを判定する。空燃比フィードバック制御条件は、例えば、フューエルカット中でなく、負荷KLが所定値以下であり、空燃比センサ65が活性化しており、冷却水温THWが上述した所定閾値(暖機完了温度)THW1よりも僅かに低いフィードバック開始閾値温度THW2以上となったときに成立する。
いま、空燃比フィードバック制御条件が成立していないと仮定すると、CPUは以下に述べるステップ1620及びステップ1625の処理を順に行ってステップ1655に進む。
ステップ1620:CPUは、空燃比フィードバック制御フラグXMFBの値を「0」に設定する。
ステップ1625:CPUは、フィードバック補正量(メインフィードバック量)KFmainの値を1に設定する。
一方、ステップ1615の実行時点において、空燃比フィードバック制御条件が成立していると、CPUはそのステップ1615にて「Yes」と判定し、以下に述べるステップ1630乃至ステップ1650の処理を行ってステップ1655に進む。
ステップ1630:CPUは、空燃比フィードバック制御フラグXMFBの値を「1」に設定する。
ステップ1635:CPUは、テーブルMapabyfsに現時点の空燃比センサ65の出力値Vabyfsを適用することにより、実際の空燃比(検出空燃比)abyfsを取得する。
ステップ1640:CPUは、検出空燃比abyfsが目標空燃比abyfrよりもリッチ側の空燃比であるか否かを判定する。このとき、検出空燃比abyfsが目標空燃比abyfrよりもリッチ側の空燃比であれば、CPUはステップ1645に進む。これに対し、検出空燃比abyfsが目標空燃比abyfrよりもリーン側の空燃比であれば、CPUはステップ1650に進む。
ステップ1645:CPUはフィードバック補正値KFmainを変更量dKだけ減少する。ただし、CPUはフィードバック補正値KFmainを、0から1までの所定の値(例えば、0.8)以下とならないように設定する。
ステップ1650:CPUはフィードバック補正値KFmainを変更量dKだけ増大する。ただし、CPUはフィードバック補正値KFmainを、所定の値(例えば、1.2)以上とならないように設定する。
その後、CPUは以下に述べるステップ1655乃至ステップ1665の処理を行い、ステップ1695に進んで本ルーチンを一旦終了する。
ステップ1655:CPUは、基本燃料噴射量Fbaseにフィードバック補正値KFmainを乗じた値を、最終的な燃料噴射量Fiとして設定する。
ステップ1660:CPUは、現時点が燃料噴射気筒に対して燃料を噴射すべきタイミングであるか否かを判定する。CPUは、現時点が燃料噴射気筒に対して燃料を噴射すべきタイミングであればステップ1665に進み、そうでなければステップ1695に直接進む。
ステップ1665:CPUは、上記ステップ1655にて決定された最終燃料噴射量Fiの燃料を、燃料噴射気筒に対して備えられている燃料噴射弁25から噴射するように、その燃料噴射弁25に噴射指示信号を送出する。
一方、CPUは、図17に示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図17のステップ1700から処理を開始し、以下に述べるステップ1710乃至ステップ1750の処理を行い、ステップ1795に進んで本ルーチンを一旦終了する。
ステップ1710:CPUは、二次空気供給フラグXAIの値が「1」であるか否かを判定し、二次空気供給フラグXAIの値が「1」であればステップ1720に進む。CPUは、二次空気供給フラグXAIの値が「0」であると、ステップ1795に直接進んで本ルーチンを一旦終了する。
ステップ1720:CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であるか否かを判定する。CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であるとステップ1730に進む。CPUは、二次空気供給停止要求フラグXOFFYKの値が「0」であるとステップ1795に直接進んで本ルーチンを一旦終了する。
ステップ1730:CPUは、目標空燃比abyfrが「理論空燃比stoichから閾値偏差空燃比Δafを減じた空燃比(閾値空燃比afth)」以上であるか否かを判定する。換言すると、CPUは目標空燃比abyfrが理論空燃比に十分近い値になっているか否かを判定する。CPUは、目標空燃比abyfrが閾値空燃比afth以上となっていれば、ステップ1740及びステップ1750に進む。CPUは、目標空燃比abyfrが閾値空燃比afth以上となっていなければ、ステップ1795に直接進んで本ルーチンを一旦終了する。
なお、ステップ1730は、活性化している空燃比センサ65の出力値Vabyfsに基づいて取得される実際の機関の空燃比abyfsが閾値空燃比afth以上であるか否かを判定するステップに置換されることもできる。
ステップ1740:CPUはエアポンプ52の回転を停止するとともに二次空気制御弁54を開弁状態から閉弁状態へと変化させることにより、排気ポート23への二次空気の供給を停止する。
ステップ1750:CPUは二次空気供給フラグXAIの値を「0」に設定する。
以上、説明したように、第4制御装置は、二次空気の供給停止要求が発生しても(二次空気供給停止要求フラグXOFFYKの値が「1」に設定されても)、二次空気以外の機関の制御量としての機関の空燃比(本例では、目標空燃比abyfr)が閾値空燃比afthと理論空燃比stoichとの間(閾値空燃比afth及び理論空燃比stoichを含む。)の空燃比になっていないとき、二次空気の供給を停止せず、機関の空燃比が理論空燃比stoichに十分に近づいた時点(目標空燃比abyfrが閾値空燃比afth以上となる時点)を待って二次空気の供給を停止する(図17を参照。)。その結果、二次空気の供給を停止する前後において、二次空気供給停止前後における機関発生トルクの変化の幅ΔTQを小さくすることができる。
更に、第4制御装置は、
二次空気が供給されている状態において、機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比に設定するリッチ空燃比設定手段(図15のステップ1520、図16のステップ1610及びステップ1655等を参照。)と、
供給停止前過渡期間において、前記リッチ空燃比設定手段によって設定される空燃比(ガード値AFGにより規制されていない目標空燃比abyfr)に代え、機関の制御量としての「機関に供給される混合気の空燃比」を前記供給停止前過渡期間の開始直前(目標空燃比abyfrが理論空燃比に向けて増大している途中のガード値AFGに一致せしめられ始める直前)における混合気の空燃比から徐々に理論空燃比に近づけることにより、「二次空気供給停止時における混合気の空燃比」を「理論空燃比よりも所定空燃比Δafだけリッチ側の閾値空燃比afthよりもリーン側の空燃比」に設定するように構成されたトルク変動抑制手段としての供給停止前空燃比リーン化手段(図15のステップ1540乃至ステップ1560を参照。)と、
を備えると言うことができる。
従って、第4制御装置は、二次空気の供給を実際に停止する際の機関の発生トルクの変化幅ΔTQを閾値トルク変化幅ΔTQth以下にすることができる。その結果、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
(第4実施形態の変形例)
次に、本発明の第4実施形態の変形例に係る制御装置(以下、「第4変形制御装置」とも称呼する。)について説明する。この第4変形制御装置は、図15に示したルーチンに代わる図18に示した目標空燃比決定ルーチンを実行する点のみにおいて、上述した第4制御装置と相違している。従って、以下、この相違点を中心として説明を加える。即ち、第4変形制御装置のCPUは、図9、図10、図16、図17及び図18に示されたルーチンを実行することにより、二次空気及び機関の空燃比の制御を行う。
(作動の概略)
第4変形制御装置は、第4制御装置と同様、二次空気の供給を開始し、且つ、二次空気の供給を停止する要求を発生する。更に、第4変形制御装置は、目標空燃比abyfrの初期値を第4制御装置と同様、始動直後の冷却水温THWに基づいて決定する。但し、第4変形制御装置は、その目標空燃比abyfrを、所定時間における「機関始動後の積算吸入空気量SGaの変化量ΔSGa」に応じて増大(リーン化)させる。
そして、第4変形制御装置は、第4制御装置と同様、目標空燃比abyfrが閾値空燃比afthより大きくなったとき(即ち、目標空燃比abyfrが、閾値空燃比afthよりもリーン側の空燃比であって、理論空燃比に十分に近づいたとき)、二次空気の供給を停止する(二次空気の供給の停止を許容する)。これにより、第4変形制御装置は、二次空気供給停止に伴う機関発生トルクの変化量を小さくすることができる。
(実際の作動)
以下、第4変形制御装置の作動の詳細について、図18を参照しながら第4制御装置との相違点を中心に説明する。なお、図18において図15に示したステップと同一の処理を行うためのステップには、図15のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
第4変形制御装置のCPUは、所定のタイミングになると図18のステップ1800から処理を開始し、ステップ1510及びステップ1520の処理を実行することにより、機関始動直後の冷却水温THWに基づいて目標空燃比abyfrの初期値を決定する。
次に、CPUはステップ1530に進み二次空気供給フラグXAIの値が「1」であるか否かを判定する。このとき、二次空気が導入されていて二次空気供給フラグXAIの値が「1」であると、CPUはステップ1530にて「Yes」と判定し、以下に述べるステップ1810及びステップ1820の処理を行い、ステップ1830に進む。
ステップ1810:CPUは、本ルーチンを前回実行した時点から現時点までの「機関始動後の積算吸入空気量SGaの変化量ΔSGa」を求める。
ステップ1820:CPUは、現時点の目標空燃比abyfrに変化量ΔSGaに応じた値(即ち、kaf・ΔSGa,但し、kafは正の定数)を加えた値を、新たな目標空燃比abyfrとして設定する。即ち、CPUは、目標空燃比abyfrを値kaf・ΔSGaだけリーン側に変更する。
これに対し、ステップ1530の実行時点において、二次空気供給フラグXAIの値が「0」であると(即ち、二次空気の供給が停止されていると)、CPUはステップ1530にて「No」と判定し、ステップ1830に直接進む。
ステップ1830:CPUは、目標空燃比abyfrが理論空燃比stoich以上であるか否かを判定する。即ち、CPUは、目標空燃比abyfrが理論空燃比stoichよりもリーン側の空燃比であるか否かを判定する。CPUは、目標空燃比abyfrが理論空燃比stoich以上であるときステップ1840に進み、目標空燃比abyfrが理論空燃比より小さいときステップ1570に直接進む。
ステップ1840:CPUは、目標空燃比abyfrに理論空燃比stoichを設定する。つまり、目標空燃比abyfrが理論空燃比stoichに一致せしめられる。その後、CPUはステップ1570に進む。
CPUはステップ1570にて、空燃比フィードバック制御フラグXMFBの値が「1」であるか否かを判定する。そして、空燃比フィードバック制御フラグXMFBの値が「1」であると、CPUはステップ1570にて「Yes」と判定してステップ1580に進み、目標空燃比abyfrに理論空燃比stoichを設定し、ステップ1595に進んで本ルーチンを一旦終了する。これに対し、ステップ1570の実行時点において、空燃比フィードバック制御フラグXMFBの値が「0」であると、CPUはステップ1570にて「No」と判定してステップ1895に直接進んで本ルーチンを一旦終了する。
このように、第4変形制御装置のCPUは、二次空気供給フラグXAIの値が「1」であるとき(即ち、二次空気が供給されているとき)、目標空燃比abyfrを所定時間に変化量kaf・ΔSGaだけ理論空燃比に向けて徐々に変化させてゆく。この結果、始動直後の冷却水温THWが比較的低く、従って、目標空燃比abyfrの初期値が比較的小さい場合であっても、目標空燃比abyfrは積算吸入空気量SGaが増大するに従って理論空燃比に近づく。そして、CPUは図17のルーチンに示したように、二次空気供給停止要求フラグXOFFYKの値が「1」であるとき(ステップ1720を参照。)、目標空燃比abyfrが閾値空燃比afth以上であれば(ステップ1730を参照。)、二次空気の供給を停止する(ステップ1740及びステップ1750を参照。)。
従って、第4変形制御装置によれば、二次空気供給停止時の機関の空燃比を理論空燃比に十分に近づけることができる。その結果、二次空気の供給を実際に停止する際の機関の発生トルクの変化幅ΔTQを閾値トルク変化幅ΔTQth以下にすることができるので、二次空気の供給を停止する際の機関の運転状態を安定化することができる。
更に、第4変形制御装置は、第4制御装置と同様、
前記二次空気が供給されている状態において、前記機関に供給される混合気の空燃比を理論空燃比よりもリッチ側の空燃比に設定するリッチ空燃比設定手段(図18のステップ1520、図16のステップ1610及びステップ1655等を参照。)と、
前記供給停止前過渡期間において、前記リッチ空燃比設定手段によって設定される空燃比に代え、前記機関の制御量としての前記機関に供給される混合気の空燃比を前記供給停止前過渡期間の開始直前における混合気の空燃比から徐々に理論空燃比に近づけることにより、「前記二次空気供給停止時における混合気の空燃比」を「理論空燃比よりも所定空燃比だけリッチ側の閾値空燃比afth」よりも「リーン側の空燃比」に設定するように構成されたトルク変動抑制手段としての供給停止前空燃比リーン化手段(図18のステップ1530、ステップ1810乃至ステップ1840、及び、図17のステップ1730等を参照。)と、
を備えると言うことができる。
なお、第4制御装置及び第4変形制御装置において、二次空気供給停止要求は、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上となったことにより発生した。これに対し、二次空気供給停止要求は、機関の負荷KLが閾値負荷KLthより大きくなった場合等の他の条件が成立したときに発生させられてもよい。更に、図18のステップ1820における目標空燃比abyfrの変化量は変化量ΔSGaに応じた値(kaf・ΔSGa)であったが、一定値であってもよい。
更に、第4変形制御装置において、図18のステップ1530を図13のステップ1305(二次空気供給停止要求フラグXOFFYKの値が「1」であるか否かを判定するステップ)に置換してもよい。これによれば、二次空気の供給停止要求が発生した時点以降、機関の空燃比は、供給停止前過渡期間の開始時点(二次空気の供給停止要求が発生した時点)直前における混合気の空燃比から徐々に理論空燃比に近づけられる。そして、その機関の空燃比が閾値空燃比afthよりもリーン側の空燃比(閾値空燃比afthを含む。)となったときに二次空気の供給が実際に停止される。従って、この態様によっても、二次空気の供給を実際に停止する際の機関の発生トルクの変化幅ΔTQを閾値トルク変化幅ΔTQth以下にすることができる。
(第5実施形態)
次に、本発明の第5実施形態に係る制御装置(以下、「第5制御装置」とも称呼する。)について説明する。この第5制御装置は、吸気弁及び排気弁か共に開弁しているバルブオーバーラップ期間が十分に短くなったときに二次空気の供給の停止を許容することにより二次空気供給停止時のトルク変動の幅を小さくする。以下、第5制御装置の作動の概略について説明する。なお、前述したように、吸気弁開弁進角角度VVTが大きいほどバルブオーバーラップ期間は長くなる。
(作動の概略)
ところで、二次空気の供給を停止したときの吸気弁開弁進角角度VVTが大きいほど、二次空気の供給を停止したときの機関発生トルクの変化の幅ΔTQは大きくなる。換言すると、バルブオーバーラップ期間が短いほど、二次空気の供給を停止したときのトルク変化幅ΔTQが小さくなる(上述した推定理由2を参照。)。
そこで、第5制御装置は、二次空気の供給を停止する直前の期間(供給停止前過渡期間)において、吸気弁開弁進角角度VVTを徐々に小さくする(バルブオーバーラップ期間を徐々に短くする)。そして、第5制御装置は、吸気弁開弁進角角度VVTがその最小値(この場合、「0」)よりも所定値ΔVVTthだけ進角側の角度(閾値角度VVTth)よりも小さくなったときに二次空気の供給を停止する。即ち、第5制御装置は、バルブオーバーラップ期間が「制御され得る範囲内の最小のバルブオーバーラップ期間」に近づき、二次空気供給停止に伴う機関の発生トルクの変化幅ΔTQが閾値トルク変化幅ΔTQthL以下となるときに二次空気の供給を停止する。これにより、第5制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅を小さくすることができる。
より具体的に述べると、第5制御装置は、図9に示したルーチンを実行することにより、以下に記載した条件1及び条件2が共に成立しているとき二次空気の供給を開始する。
<条件1>機関10が始動された直後の冷却水温THWが所定の範囲内である。即ち、機関10が始動された直後の冷却水温THWが、低側閾値温度THWlo以上であり且つ高側閾値温度THWhi以下である。
<条件2>二次空気の供給を停止する要求(二次空気供給停止要求)が発生していない(二次空気供給停止要求フラグXOFFYKの値が「0」である。)。
第5制御装置は、図10に示したルーチンを実行することにより、以下の条件3が成立したとき二次空気供給停止要求を発生する(二次空気供給停止要求フラグXOFFYKの値を「1」に設定する。)。
<条件3>機関10の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上である。
第5制御装置は、後述する図20に示したルーチンを実行することにより、以下の条件4乃至条件6が成立したとき二次空気の供給を停止する。
<条件4>二次空気供給停止要求が発生している。即ち、二次空気供給停止要求フラグXOFFYKの値が「1」である。
<条件5>目標空燃比abyfrが閾値空燃比afth以上である。
<条件6>吸気弁開弁進角角度VVT(実際には、目標吸気弁開弁進角角度VVTtgt)が閾値角度VVTth以下である。
更に、第5制御装置は、機関の始動後において二次空気が供給されている場合、バルブオーバーラップ期間が長くなるように吸気弁開弁進角角度VVTを大きい値に設定する。加えて、第5制御装置は、機関始動後の積算吸入空気量SGaが増大するにつれてバルブオーバーラップ期間が減少するように吸気弁開弁進角角度VVTを減少させる。
これにより、機関始動後から暫くの期間、バルブオーバーラップ期間が相対的に長くなる。従って、供給された二次空気が燃焼室21内に比較的多量に流入するので、燃焼室21内において燃焼する燃料量が増大する。その結果、機関の発生トルクが増大する。また、バルブオーバーラップ期間が機関始動後において大きくなるので、吸気ポート22内に逆流する排ガスの量が増大する。この結果、吸気ポート22の温度が早期に上昇するので、燃料の霧化状態が改善され、エミッションが改善される。
更に、第5制御装置は、積算吸入空気量SGaが増大して閾値積算吸入空気量SGathに到達する時点までに、機関の空燃比(実際には、目標空燃比abyfr)を閾値空燃比afthにまでリーン化するとともに、吸気弁開弁進角角度VVTを十分小さい値(VVTth)にまで減少させる。従って、上記条件4乃至上記条件6が成立して二次空気の供給が停止される際、燃焼室21内に流入する二次空気量の差は小さくなり、しかも、燃焼室21にて燃焼される燃料の量も小さくなる。この結果、第5制御装置は、二次空気供給停止時における機関発生トルクの変動幅(減少変化幅)ΔTQを小さくすることができる。
(実際の作動)
次に、第5制御装置の実際の作動について説明する。第5制御装置のCPUは、第4制御装置のCPUが実行する図9、図10、図15及び図16に示したルーチンを実行する。更に、第5制御装置のCPUは、図17に代わる図20に示したルーチンと、図21に示したルーチンと、を実行する。これにより、第5制御装置は、二次空気、機関の空燃比及び吸気弁開弁進角角度VVT(バルブオーバーラップ期間)の制御を実行する。以下、図20及び図21に示したルーチンに焦点を当てて説明を行う。
CPUは、図20に示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。なお、図20において図17に示したステップと同一の処理を行うためのステップには、図17のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
この図20に示したルーチンは、図17に示したルーチンのステップ1730とステップ1740との間に、ステップ2010を備えるルーチンである。CPUは、このステップ2010に進むと、吸気弁開弁進角角度VVTが閾値角度VVTth以下となっているか否かを判定する。そして、CPUは、吸気弁開弁進角角度VVTが閾値角度VVTth以下となっているときにステップ1740及びステップ1750を経由してステップ2095に進む。CPUは、吸気弁開弁進角角度VVTが閾値角度VVTthより大きいとき、ステップ2010からステップ2095へと直接進む。閾値角度VVTthは、吸気弁開弁進角角度VVTが閾値角度VVTthである場合(且つ、目標空燃比abyfrが閾値空燃比afthである場合)、二次空気の供給を停止したときのトルク変化幅ΔTQが閾値トルク変化幅ΔTQthLとなる吸気弁開弁進角角度VVTである。
更に、前述したように、CPUは図21にフローチャートにより示した吸気弁開弁タイミング制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUは図21のステップ2100から処理を開始し、ステップ2110にてスロットル弁開度TAが0であるか否かを判定する。このとき、スロットル弁開度TAが0でなければ、CPUはステップ2110にて「No」と判定してステップ2120に進む。
CPUは、ステップ2120において、「負荷KL及び機関回転速度NEと、目標吸気弁開弁進角角度VVTtgtと、の関係を規定したテーブルMapVVTtgt」に、実際の負荷KL及び実際の機関回転速度NEを適用することにより、現時点における目標吸気弁開弁進角角度VVTtgtを決定する。そして、CPUはステップ2130に進み、実際の吸気弁開弁タイミングが目標吸気弁開弁進角角度VVTtgtに一致するように、吸気弁制御装置26に指示信号を送出する。その後、CPUはステップ2195に進み、本ルーチンを一旦終了する。
一方、ステップ2110の実行時点においてスロットル弁開度TAが0であると、CPUはステップ2110にて「Yes」と判定してステップ2140に進み、二次空気供給フラグXAIの値が「1」であるか否かを判定する。そして、二次空気供給フラグXAIの値が「1」であると、CPUはステップ2140にて「Yes」と判定してステップ2150に進み、機関始動後の積算吸入空気量SGaと目標吸気弁開弁進角角度VVTtgtとの関係を規定するテーブルgに実際の積算吸入空気量SGaを適用することにより、現時点における目標吸気弁開弁進角角度VVTtgtを決定する。その後、CPUはステップ2130を経由してステップ2195に進み、本ルーチンを一旦終了する。
このテーブルgによれば、積算吸入空気量SGaが0以上且つ第1閾値SGa1以下である場合、目標吸気弁開弁進角角度VVTtgtは最大値VVTmaxに設定される。更に、テーブルgによれば、目標吸気弁開弁進角角度VVTtgtは、積算吸入空気量SGaが第1閾値SGa1より大きくなるにつれて最大値VVTmaxから「0」に向けて次第に減少するように設定される。
更に、このテーブルgによれば、積算吸入空気量SGaが二次空気の供給を停止する要求(供給停止要求)をもたらす閾値積算吸入空気量SGathとなったとき、目標吸気弁開弁進角角度VVTtgtは閾値角度VVTthに設定される。この閾値角度VVTthは、吸気弁開弁タイミングが閾値角度VVTthにより定まる吸気弁開弁タイミングであれば(即ち、バルブオーバーラップ期間が閾値角度VVTthにより定まるバルブオーバーラップ期間であれば)、排気ポート23を介して燃焼室21内に二次空気が殆ど流入することのないようなタイミングに設定されている。換言すると、吸吸気弁開弁タイミングが閾値角度VVTthにより定まる吸気弁開弁タイミングであれば、二次空気の供給を停止した場合であっても、機関発生トルクの変動幅ΔTQは閾値トルク変化幅ΔTQthL以下となる。
従って、始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上となることに基づいて二次空気供給停止要求が発生された時点(又はその時点の近傍の時点)において、実際の吸気弁開弁進角角度VVTは閾値角度VVTth以下となる。そして、第5制御装置は、図20のステップ2010にて「吸気弁開弁進角角度VVTが閾値角度VVTth以下」となったとき、二次空気の供給を停止する。この結果、第5制御装置は、二次空気供給停止に伴う機関の発生トルクの変化の幅を小さくすることができ、且つ、二次空気供給停止要求の発生時点から大きく遅れることのない時点にて、二次空気の供給を停止することができる。
なお、図21のステップ2140の実行時点において、二次空気供給フラグXAIの値が「0」であると、CPUはそのステップ2140にて「No」と判定し、ステップ2160に進んで目標吸気弁開弁進角角度VVTtgtを0に設定する。その後、CPUはステップ2130を経由してステップ2195に進み、本ルーチンを一旦終了する。即ち、スロットル弁開度TAが「0」である場合であって二次空気の供給が停止されているとき、バルブオーバーラップ期間は最小期間となる。
以上、説明したように、第5制御装置は、
燃焼室21と接続された吸気ポート22を開閉する吸気弁が開弁した状態にあり且つ燃焼室21と接続されるとともに排気通路の端部を構成する排気ポート23を開閉する排気弁が開弁している状態にあるバルブオーバーラップ期間を指示に応じて変更するバルブオーバーラップ期間変更手段(吸気弁制御装置26)と、
供給停止前過渡期間(機関始動後の積算吸入空気量SGaが第1閾値SGa1に到達した時点を開始時点とし、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGathに到達する時点を終点時点とする期間)において、機関の制御量としてのバルブオーバーラップ期間が同供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間(VVTmaxに対応する期間)から徐々に短くなるように前記バルブオーバーラップ期間変更手段に指示を与える「トルク変動抑制手段としてのオーバーラップ期間指示手段」(図21のルーチンを参照。)と、
を備える。
従って、第5制御装置は、二次空気供給停止時にバルブオーバーラップ期間を十分に短くできるので、二次空気供給停止前後において燃焼室21内に流入する二次空気の変化量を小さくすることができる。その結果、第5制御装置は、二次空気の供給を停止する際の機関の発生トルクの変化の幅(減少変化幅)を小さくすることができるから、機関の運転状態を安定化することができる。
また、第5制御装置は、前記供給停止前過渡期間において、前記機関の制御量としての前記バルブオーバーラップ期間を同供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間(VVTmaxに対応する期間)から徐々に短くすることにより、前記二次空気供給停止時におけるバルブオーバーラップ期間が所定の閾値バルブオーバーラップ期間(VVTthに対応する期間)より短くなるように、前記バルブオーバーラップ期間変更手段に指示を与える手段を備えると言うこともできる(図21のステップ2150及びステップ2130を参照。)。更に、第5制御装置において、図20のステップ1730を省略してもよい。更に、第5制御装置においては、目標空燃比abyfrを冷却水温THWに応じた値に設定しておいてもよい。
(第6実施形態)
次に、本発明の第6実施形態に係る制御装置(以下、「第6制御装置」とも称呼する。)について説明する。この第6制御装置は、そのCPUが図9、図10、図22及び図23に示したルーチンを実行することにより二次空気及び吸気弁開弁タイミング(即ち、バルブオーバーラップ期間)の制御を実行する。
(作動の概略)
先ず、第6制御装置の作動の概略について説明する。第6制御装置は、図9に示したルーチンを実行することにより、以下に記載した条件1及び条件2が共に成立しているとき二次空気の供給を開始する。
<条件1>機関10が始動された直後の冷却水温THWが所定の範囲内である。即ち、機関10が始動された直後の冷却水温THWが、低側閾値温度THWlo以上であり且つ高側閾値温度THWhi以下である。
<条件2>二次空気の供給を停止する要求(二次空気供給停止要求)が発生していない(二次空気供給停止要求フラグXOFFYKの値が「0」である。)。
第6制御装置は、図10に示したルーチンを実行することにより、以下の条件3が成立したとき二次空気供給停止要求を発生する(二次空気供給停止要求フラグXOFFYKの値を「1」に設定する。)。
<条件3>機関10の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上である。
第6制御装置は、後述する図23に示したルーチンを実行することにより、以下の条件4及び条件5が成立したとき二次空気の供給を停止する。
<条件4>二次空気供給停止要求が発生している。即ち、二次空気供給停止要求フラグXOFFYKの値が「1」である。
<条件5>吸気弁開弁進角角度VVT(実際には、目標吸気弁開弁進角角度VVTtgt)が閾値角度VVTth以下である。
より具体的に述べると、第6制御装置は、二次空気の供給中に機関10の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上になることにより(条件3が成立することにより)二次空気供給停止要求が発生すると、目標吸気弁開弁進角角度VVTtgtを次第に減少させる。そして、目標吸気弁開弁進角角度VVTtgtが閾値角度VVTth以下となったとき、二次空気の供給を停止する。
上述したように、閾値角度VVTthは、吸気弁開弁進角角度VVTが閾値角度VVTthである場合、二次空気の供給を停止したときのトルク変化幅ΔTQが閾値トルク変化幅ΔTQthLとなる吸気弁開弁進角角度VVTである。従って、第6制御装置は、二次空気供給停止に伴う機関発生トルクの変化の幅(減少変化幅)を小さくすることができる。
(実際の作動)
次に、第6制御装置の実際の作動について説明する。上述したように、第6制御装置のCPUは、図9、図10、図22及び図23に示したルーチンを実行する。図9及び図10に示したルーチンの処理内容は説明済みである。従って、以下、図23及び図24に示したルーチンによる処理内容を中心として説明を加える。
第6制御装置のCPUは図22にフローチャートにより示した吸気弁開弁タイミング制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUは図22のステップ2200から処理を開始し、ステップ2205にてスロットル弁開度TAが0(又は、実質的に「0」と見做せる微小開度以下)であるか否かを判定する。このとき、スロットル弁開度TAが0でなければ、CPUはステップ2205にて「No」と判定してステップ2210に進む。
ステップ2210は先に説明した図21のステップ2120と同じ処理を実行するステップである。従って、CPUは、ステップ2210において、テーブルMapVVTtgtに実際の負荷KL及び実際の機関回転速度NEを適用することにより、現時点における目標吸気弁開弁進角角度VVTtgtを決定する。そして、CPUはステップ2215に進み、現時点における二次空気供給フラグXAIの値を前回の二次空気供給フラグXAIoldの値として格納する。
次いで、CPUはステップ2220に進み、実際の吸気弁開弁タイミングが目標吸気弁開弁進角角度VVTtgtに一致するように、吸気弁制御装置26に指示信号を送出する。その後、CPUはステップ2295に進み、本ルーチンを一旦終了する。
これに対し、ステップ2205の実行時点においてスロットル弁開度TAが0であると、CPUはステップ2205にて「Yes」と判定してステップ2225に進み、二次空気供給フラグXAIの値が「1」であるか否かを判定する。このとき、二次空気供給フラグXAIの値が「0」であると(即ち、二次空気の供給が停止していると)、CPUはステップ2225にて「No」と判定してステップ2230に進み、二次空気補正用進角度VVTaiを0に設定する。
次に、CPUはステップ2235に進み、目標吸気弁開弁進角角度VVTtgtの値を二次空気補正用進角度VVTaiの値に設定する。そして、CPUはステップ2215及びステップ2220を経由してステップ2295に進み、本ルーチンを一旦終了する。この結果、スロットル弁開度TAが0であり且つ二次空気の供給が停止されている場合、二次空気補正用進角度VVTai(従って、目標吸気弁開弁進角角度VVTtgt)は0に設定される。従って、吸気弁閉弁タイミングは最も遅角側のタイミングとなり、バルブオーバーラップ期間は最も短くなる。
一方、ステップ2225の実行時点において二次空気供給フラグXAIの値が「1」であると(即ち、二次空気が供給されていると)、CPUは以下に述べるステップ2240乃至ステップ2265の処理を行い、その後、ステップ2235、ステップ2215及びステップ2220を経て本ルーチンを一旦終了する。
ステップ2240:CPUは、前回の二次空気供給フラグXAIoldの値が「0」であるか否かを判定する。CPUは、前回の二次空気供給フラグXAIoldの値が「0」であればステップ2245に進み、前回の二次空気供給フラグXAIoldの値が「1」であればステップ2250に直接進む。
ステップ2245:CPUは、二次空気補正用進角度VVTaiに二次空気補正用進角度初期値VVTaiintを格納する。ステップ2225、ステップ2240及びこのステップ2245により、スロットル弁開度TAが0である場合における二次空気の供給開始時(二次空気供給フラグXAIの値が「0」から「1」に変化した直後)に、二次空気補正用進角度VVTaiが二次空気補正用進角度初期値VVTaiintに設定される。次いで、CPUはステップ2250に進む。
ステップ2250:CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であるか否かを判定する。CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であればステップ2255に進む。一方、二次空気供給停止要求フラグXOFFYKの値が「0」であればステップ2235に直接進む。これにより、ステップ2235にて目標吸気弁開弁進角角度VVTtgtの値が二次空気補正用進角度初期値VVTaiintに設定される。
即ち、スロットル弁開度TAが0である場合における二次空気の供給中、二次空気供給停止要求フラグXOFFYKの値が「0」であれば(二次空気供給停止要求が発生していなければ)、吸気弁閉弁タイミングは二次空気補正用進角度初期値VVTaiintにより定まる比較的大きい値に維持される。従って、バルブオーバーラップ期間が長い期間に設定されるので、排気ポート23を介して燃焼室21内に二次空気が多く流入する。その結果、機関発生トルクが増大し、且つ、吸気ポート22の暖機が促進される。
ステップ2255:CPUは、二次空気補正用進角度VVTaiを変更量ΔVVTaiだけ減少させる。次いで、CPUはステップ2260に進む。
ステップ2260:CPUは、ステップ2255にて更新された二次空気補正用進角度VVTaiが0以下であるか否かを判定する。CPUは、二次空気補正用進角度VVTaiが0以下であるとステップ2265に進み、二次空気補正用進角度VVTaiが0より大きいとステップ2235に直接進む。
ステップ2265:CPUは、二次空気補正用進角度VVTaiに0を格納する。即ち、ステップ2260とステップ2265との処理により、二次空気補正用進角度VVTaiが0以上の値に維持される。
このように、スロットル弁開度TAが0であり、二次空気供給フラグXAIの値が「1」であって二次空気が供給されており、二次空気供給停止要求が発生して二次空気供給停止要求フラグXOFFYKの値が「1」である場合、ステップ2255の処理が繰り返されることにより、二次空気補正用進角度VVTaiは二次空気補正用進角度初期値VVTaiintから0に向けて次第に減少させられる。即ち、目標吸気弁開弁進角角度VVTtgtの値が所定時間あたりに変更量ΔVVTaiずつ減少するので、実際の吸気弁開弁進角角度VVT(従って、バルブオーバーラップ期間)も所定時間あたりに変更量ΔVVTaiずつ減少する。
更に、CPUは図23にフローチャートにより示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図23のステップ2300から処理を開始し、以下に述べるステップ2310乃至ステップ2250の処理を行い、ステップ2395に進んで本ルーチンを一旦終了する。
ステップ2310:CPUは、二次空気供給フラグXAIの値が「1」であるか否かを判定する。CPUは、二次空気供給フラグXAIの値が「1」であると(即ち、二次空気が供給されていると)ステップ2320に進む。CPUは、二次空気供給フラグXAIの値が「0」であると(即ち、二次空気の供給が停止していると)ステップ2395に直接進んで本ルーチンを一旦終了する。
ステップ2320:CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であるか否かを判定する。CPUは、二次空気供給停止要求フラグXOFFYKの値が「1」であるとステップ2330に進む。CPUは、二次空気供給停止要求フラグXOFFYKの値が「0」であるとステップ2395に直接進んで本ルーチンを一旦終了する。
ステップ2330:CPUは、目標吸気弁開弁進角角度VVTtgtが閾値角度VVTth以下となっているか否かを判定する。CPUは、目標吸気弁開弁進角角度VVTtgtが閾値角度VVTth以下となっていれば、ステップ2340及びステップ2350に進む。CPUは、目標吸気弁開弁進角角度VVTtgtが閾値角度VVTthより大きいと、ステップ2395に直接進んで本ルーチンを一旦終了する。
ステップ2340:CPUはエアポンプ52の回転を停止するとともに二次空気制御弁54を開弁状態から閉弁状態へと変化させることにより、排気ポート23への二次空気の供給を停止する。
ステップ2350:CPUは二次空気供給フラグXAIの値を「0」に設定する。
以上、説明したように、第6制御装置は、二次空気の停止要求が発生しても目標吸気弁開弁進角角度VVTtgt(二次空気補正用進角度VVTai)が閾値角度VVTth以下となるまで(即ち、バルブオーバーラップ期間が十分に短くなるまで)、二次空気の供給を停止しない。そして、第6制御装置は、目標吸気弁開弁進角角度VVTtgtが閾値角度VVTth以下となったとき、二次空気の供給を停止する(図23のステップ2320乃至ステップ2350を参照。)。
従って、第6制御装置は、第5制御装置と同様、二次空気供給停止時にバルブオーバーラップ期間を十分に短くできるので、二次空気供給停止前後において燃焼室21内に流入する二次空気の変化量を小さくすることができる。その結果、第6制御装置は、二次空気の供給を停止する際の機関の発生トルクの変化の幅(減少変化幅)を小さくすることができるから、機関の運転状態を安定化することができる。
更に、第6制御装置は、
バルブオーバーラップ期間を指示に応じて変更するバルブオーバーラップ期間変更手段(吸気弁制御装置26)と、
前記二次空気が供給されている場合に前記二次空気の供給を停止する要求である供給停止要求が発生したか否かを判定する停止要求発生判定手段(図10のルーチンを参照。)と、
前記供給停止要求が発生したと判定されている場合、前記変更される実際のバルブオーバーラップ期間が所定の閾値バルブオーバーラップ期間より短くなったとき(即ち、目標吸気弁開弁進角角度VVTtgtが閾値角度VVTth以下となったとき)、供給停止条件が成立したと判定する(即ち、二次空気供給条件が不成立となったと判定する)供給停止条件成立判定手段(図23のルーチンを参照。)と、
を含む二次空気供給手段を備える。
更に、第6制御装置は、
前記供給停止要求が発生したと判定された時点(ステップ2250を参照。)を開始時点として定めてなる供給停止前過渡期間において、機関の制御量としてのバルブオーバーラップ期間が「供給停止前過渡期間の開始直前におけるバルブオーバーラップ期間」から徐々に短くなるように前記バルブオーバーラップ期間変更手段に指示を与える「トルク変動抑制手段としてのオーバーラップ期間指示手段」(図22の特にステップ2250及びステップ2225を参照。)を備える制御装置である。
(第7実施形態)
次に、本発明の第7実施形態に係る制御装置(以下、「第7制御装置」とも称呼する。)について説明する。この第7制御装置のCPUは、図24乃至図28に示したルーチンを実行する。これにより、第7制御装置は、二次空気の供給が一旦停止された後、二次空気の供給を再開する要求(二次空気供給再開要求)が発生したとき、直ちに二次空気の供給を再開せず、触媒43の暖機を促進するための暖機遅角量Adanki等の点火時期遅角量を徐々に小さくする。そして、第7制御装置は、点火時期遅角量が所定値より小さくなったとき(即ち、点火時期が最適点火時期(MBT)に十分に近づいたとき)、二次空気の供給を再開する。これにより、第7制御装置は、二次空気供給再開に伴う機関発生トルクの変化の幅(増大幅)を小さくすることができる。
(実際の作動)
第7制御装置の実際の作動について説明する。第7制御装置のCPUは、図24に示した機関始動時二次空気供給制御ルーチンを所定時間の経過毎に実行するようになっている。従って、所定のタイミングになると、CPUは図24のステップ2400から処理を開始してステップ2410に進み、現時点が始動直後であるか否かを判定する。
現時点が機関10の始動直後であると仮定すると、CPUはステップ2410にて「Yes」と判定してステップ2420に進み、冷却水温THWが所定の範囲内(THWlo以上且つTHWhi以下)であるか否かを判定する。そして、冷却水温THWが所定の範囲内であると、CPUはステップ2420にて「Yes」と判定してステップ2430に進み、エアポンプ52を回転させるとともに二次空気制御弁54を閉弁状態から開弁状態へと変化させることにより、排気ポート23に二次空気を供給する。次いで、CPUはステップ2440にて二次空気供給フラグXAIの値を「1」に設定し、ステップ2495に進んで本ルーチンを一旦終了する。
なお、CPUは、現時点が始動直後でない場合にはステップ2410にて「No」と判定してステップ2495に直接進み、本ルーチンを一旦終了する。また、始動直後の冷却水温THWが所定の範囲内(THWlo以上且つTHWhi以下)でない場合、CPUはステップ2420にて「No」と判定してステップ2495に直接進み、本ルーチンを一旦終了する。更に、CPUは図示しないイニシャルルーチンの処理を実行することにより、二次空気供給フラグXAIの値を「0」に設定している。
加えて、CPUは図25に示した二次空気供給停止ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図25のステップ2500から処理を開始してステップ2510に進み、二次空気供給フラグXAIの値が「1」であるか否かを判定する。
いま、二次空気供給フラグXAIの値が「1」であり(即ち、二次空気供給中であり)、且つ、負荷KLが閾値負荷KLthより大きくなったと仮定する。この場合、CPUはステップ2510にて「Yes」と判定し、負荷KLが閾値負荷KLthより大きいか否かを判定するステップ2520にても「Yes」と判定する。
そして、CPUはステップ2530に進み、エアポンプ52の回転を停止するとともに二次空気制御弁54を開弁状態から閉弁状態へと変化させることにより、排気ポート23への二次空気の供給を停止する。続いて、CPUはステップ2540に進み、二次空気供給フラグXAIの値を「0」に設定し、ステップ2595に進んで本ルーチンを一旦終了する。このように、二次空気供給中に負荷KLが閾値負荷KLthより大きくなると、二次空気の供給が停止される。
更に、二次空気供給フラグXAIの値が「1」であり(即ち、二次空気供給中であり)、且つ、負荷KLが閾値負荷KLth以下であり、且つ、機関始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上となったと仮定する。この場合、CPUはステップ2510にて「Yes」と判定し、ステップ2520にて「No」と判定し、積算吸入空気量SGaが閾値積算吸入空気量SGath以上であるか否かを判定するステップ2550にて「Yes」と判定する。
この場合、CPUはステップ2530及びステップ2540の処理を実行し、本ルーチンを一旦終了する。このように、二次空気供給中に積算吸入空気量SGaが閾値積算吸入空気量SGath以上となると、二次空気の供給が停止される。
なお、二次空気供給フラグXAIの値が「0」である場合(即ち、二次空気の供給が停止されているとき)、CPUはステップ2510にて「No」と判定し、ステップ2595に直接進んで本ルーチンを一旦終了する。更に、ステップ2550の実行時点において、積算吸入空気量SGaが閾値積算吸入空気量SGathより小さいと、CPUはそのステップ2550にて「No」と判定し、ステップ2595に直接進んで本ルーチンを一旦終了する。
加えて、CPUは図26の二次空気供給再開要求判定ルーチンを実行することにより、二次空気の供給を再開する要求があるか否かを判定する。即ち、CPUは図26に示したルーチンを所定時間の経過毎に繰り返し実行するようになっている。
従って、所定のタイミングになると、CPUは図26のステップ2600から処理を開始し、以下に述べるステップ2610乃至ステップ2660の処理を行う。
ステップ2610:CPUは、二次空気供給フラグXAIの値が「0」であるか否かを判定し、二次空気供給フラグXAIの値が「0」であればステップ2620に進む。CPUは、二次空気供給フラグXAIの値が「1」であればステップ2660に進む。
ステップ2620:CPUは、現時点の冷却水温THWが所定の範囲内(THWlo以上であり且つTHWhi以下)であるか否かを判定する。CPUは、現時点の冷却水温THWが所定の範囲内にあればステップ2630に進み、現時点の冷却水温THWが所定の範囲内になければステップ2660に進む。
ステップ2630:CPUは、機関動後の積算吸入空気量SGaが閾値積算吸入空気量SGathより小さいか否かを判定し、積算吸入空気量SGaが閾値積算吸入空気量SGath以下であればステップ2640に進む。CPUは、積算吸入空気量SGaが閾値積算吸入空気量SGathより大きいときステップ2660に進む。
ステップ2640:CPUは、負荷KLが閾値負荷KLth以下であるか否かを判定すし、負荷KLが閾値負荷KLth以下であればステップ2650に進む。CPUは、負荷KLが閾値負荷KLthより大きいときステップ2660に進む。
ステップ2650:CPUは、二次空気供給開始要求フラグXONYKの値を「1」に設定し、ステップ2695に進んで本ルーチンを一旦終了する。
ステップ2660:CPUは、二次空気供給停止要求フラグXOFFYKの値を「0」に設定し、ステップ2695に進んで本ルーチンを一旦終了する。
この図26に示したルーチンの処理により、二次空気の供給が停止されていて(ステップ2610を参照。)、冷却水温THWが所定範囲内にあり(ステップ2620を参照。)、積算吸入空気量SGaが閾値積算吸入空気量SGath以下であり(ステップ2630を参照。)、且つ、負荷KLが閾値負荷KLth以下であるとき(ステップ2640を参照。)、二次空気供給開始要求が発生される。即ち、二次空気供給開始要求フラグXONYKの値が「1」に設定される(ステップ2650を参照。)。
加えて、このCPUは図27にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角(例えば、圧縮上死点前90°クランク角、BTDC90°)に一致する毎に繰り返し実行するようになっている。
従って、何れかの気筒のクランク角が所定クランク角に一致すると、CPUは図27のステップ2700から処理を開始してステップ2710に進み、図3のステップ305と同じ処理を行うことによって基本点火時期Abaseを決定する。
次に、CPUはステップ2720に進み、二次空気供給開始要求フラグXONYKの値が「1」であるか否かを判定する。このとき、二次空気供給開始要求フラグXONYKの値が「0」であると(即ち、二次空気の供給を再開する要求が発生していないと)、CPUはステップ2720にて「No」と判定してステップ2730に進み、図3のステップ310と同様の処理を行うことにより、暖機遅角量Adankiを決定する。
次に、CPUはステップ2740に進み、基本点火時期Abaseから暖機遅角量Adankiを減じた点火時期(即ち、基本点火時期Abaseを暖機遅角量Adankiだけ遅角させた点火時期)を最終的な点火時期Aigとして設定する。そして、CPUはステップ2750に進み、現時点におけるクランク角が圧縮上死点前90°となっている気筒の点火時期が上記ステップ2740にて決定された最終点火時期Aigとなるように、その気筒の点火プラグ24に点火信号を送出する。
一方、CPUがステップ2720に進んだとき、二次空気供給開始要求フラグXONYKの値が「1」であると(即ち、上述した図26において二次空気供給再開要求が発生したと判定されていると)、CPUはそのステップ2720にて「Yes」と判定し、ステップ2760に進んで暖機遅角量Adankiを微小量ΔAdankiだけ小さくする。
そして、CPUはステップ2770に進み、前記ステップ2760にて更新された暖機遅角量Adankiが0以下であるか否かを判定する。CPUは、暖機遅角量Adankiが0以下であるとステップ2780に進んで暖機遅角量Adankiに0を格納し、ステップ2740に進む。即ち、ステップ2770とステップ2780との処理により、暖機遅角量Adankiが0以上の値に維持される。これに対し、ステップ2770の判定時点において暖機遅角量Adankiが0より大きいと、CPUはステップ2740に直接進む。
その後、CPUは上述したステップ2740及びステップ2750に進み、基本点火時期Abaseから暖機遅角量Adankiを減じた最終的な点火時期Aigにて点火を実行する。
この図27に示したルーチンを実行することにより、二次空気供給再開要求が発生している場合(即ち、二次空気供給開始要求フラグXONYKの値が「1」である場合)、暖機遅角量Adankiは点火毎に微小量ΔAdankiだけ減少される。従って、点火時期は徐々に進角側に移行する。
更に、CPUは図28に示した二次空気供給再開制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図28のステップ2800から処理を開始し、以下に述べるステップ2810乃至ステップ2830の処理を行う。
ステップ2810:CPUは、二次空気供給フラグXAIの値が「0」であるか否かを判定し、二次空気供給フラグXAIの値が「0」であればステップ2820に進む。CPUは、二次空気供給フラグXAIの値が「1」であればステップ2895に直接進んで本ルーチンを一旦終了する。
ステップ2820:二次空気供給開始要求フラグXONYKの値が「1」であるか否かを判定し、二次空気供給開始要求フラグXONYKの値が「1」であればステップ2830に進む。CPUは、二次空気供給開始要求フラグXONYKの値が「0」であればステップ2895に直接進んで本ルーチンを一旦終了する。
ステップ2830:CPUは、暖機遅角量Adankiが閾値暖機遅角量Adankith以下であるか否かを判定する。即ち、CPUは、暖機遅角量Adankiが十分に小さくなっていて、点火時期が最適点火時期(MBT)に十分に近づいているか否か(点火時期が上述した閾値遅角点火時期Ardthよりも最適点火時期に近いか否か)を判定する。CPUは、暖機遅角量Adankiが閾値暖機遅角量Adankith以下となっていれば、以下に述べるステップ2840乃至ステップ2860の処理を順に行い、ステップ2895に進んで本ルーチンを一旦終了する。これに対し、CPUは、暖機遅角量Adankiが閾値暖機遅角量Adankithより大きいと、ステップ2830からステップ2895に直接進んで本ルーチンを一旦終了する。
ステップ2840:CPUは、エアポンプ52を回転させるとともに二次空気制御弁54を閉弁状態から開弁状態へと変化させることにより、排気ポート23に二次空気を供給する。これにより、二次空気の供給が再開される。
ステップ2850:CPUは、二次空気供給フラグXAIの値を「1」に設定する。
ステップ2860:CPUは、二次空気供給開始要求フラグXONYKの値を「0」に設定する。
以上、説明したように、第7制御装置は、
二次空気の供給が停止されている状態において、機関の点火時期を、最適点火時期(MBT)よりも遅角側の点火時期に設定する点火時期遅角手段を備える(図27の特にステップ2710乃至ステップ2730、ステップ2740及びステップ2750を参照。)。
更に、第7制御装置は、
二次空気の供給が停止されている場合に「二次空気の供給を開始する要求である供給開始要求」が発生したか否かを判定する供給開始要求発生判定手段(図26に示したルーチンを参照。)と、
前記供給開始要求が発生したと判定されている場合、実際の点火時期が、最適点火時期から所定量ΔArdthだけ遅角した閾値遅角点火時期Ardthよりも進角側となったとき(即ち、暖機遅角量Adankiが閾値暖機遅角量Adankith以下となったとき)、供給開始条件が成立することにより二次空気供給条件が成立したと判定する供給開始条件成立判定手段(図28に示したルーチンの特にステップ2810乃至ステップ2830を参照。)と、
を含む二次空気供給手段を備える。
加えて、第7制御装置は、
供給開始要求が発生したと判定された時点(二次空気供給開始要求フラグXONYKの値が「0」から「1」へと変更された時点)から二次空気供給条件が成立したと判定される時点(即ち、図28のステップ2840にて二次空気の供給が再開される時点)までの期間である「切換過渡期間としての供給開始前過渡期間」において、前記点火時期遅角手段によって設定される点火時期に代え、「機関の制御量としての機関の点火時期」を「供給開始前過渡期間の開始直前における点火時期」から徐々に進角させる「トルク変動抑制手段としての供給開始前点火時期進角手段」(図27の特にステップ2720、及び、ステップ2760乃至ステップ2780を参照。)を備える。
上述したように、二次空気供給停止時と同様、二次空気の供給開始(再開)に起因する機関の発生トルクの変化の幅(増大変化幅、機関のトルクの上昇量)も、二次空気供給開始時の点火時期が最適点火時期(MBT)から遅角側へと遠ざかるほど(即ち、遅角量が大きくなるほど)大きくなる。
これに対し、第7制御装置は、供給開始要求が発生したと判定された時点(二次空気供給開始要求フラグXONYKの値が「0」から「1」へと変更された時点)から、暖機遅角量Adankiが減少せしめられることにより(図27のステップ2760を参照。)、点火時期が徐々に進角させられる。そして、第7制御装置は、暖機遅角量Adankiが閾値暖機遅角量Adankith以下となったとき、二次空気供給を開始する(図28のステップ2830以降を参照。)。
従って、二次空気の供給を開始するとき、点火時期は最適点火時期に近づいているので、機関の発生トルクの変化の幅を小さくすることができる。その結果、第7制御装置は、二次空気の供給を開始(再開)する際の機関の運転状態を安定化することができる。
(第8実施形態)
次に、本発明の第8実施形態に係る制御装置(以下、「第8制御装置」とも称呼する。)について説明する。この第8制御装置は、そのCPUが図2及び図6に示したルーチンと、図3に代わる図29及び図30に示したルーチンを実行することにより、二次空気及び点火時期の制御を実行する。
(作動の概略)
先ず、第8制御装置の作動の概略について説明する。第8制御装置は、第1制御装置と同様の二次空気供給条件が成立しているときに二次空気を導入する。即ち、第8制御装置は、以下の条件1乃至条件3が総て成立しているときに、二次空気供給条件が成立したと判定して二次空気を供給する。
<条件1>機関10が始動された直後の冷却水温THWが所定の範囲内である。即ち、機関10が始動された直後の冷却水温THWが、低側閾値温度THWlo以上であり且つ高側閾値温度THWhi以下である。
<条件2>機関10の負荷(負荷率KL)が閾値負荷KLth以下である。
<条件3>機関10の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以下である。
更に、第8制御装置は、点火時期によるアイドル回転速度フィードバック制御を実行する。より具体的に述べると、第8制御装置は、機関10の運転状態がアイドル運転状態であるとき、機関回転速度NEが目標アイドル回転速度NTより所定値ΔNT以上大きくなると点火時期を微小な角度である点火時期変更量ΔAidleだけ遅角し、機関回転速度NEが目標アイドル回転速度NTより所定値ΔNT以上小さくなると点火時期を点火時期変更量ΔAidleだけ進角する。これにより、第8制御装置は、機関回転速度NEを目標回転速度NTの近傍(NT−ΔNT〜NT+ΔNT)に維持する。
加えて、第8制御装置は、二次空気の供給停止時から第1所定時間T1が経過するまでの期間(供給停止後過渡期間)において、機関回転速度NEが目標回転速度NTの近傍(NT−ΔNT〜NT+ΔNT)にないとき、点火時期制御によるアイドル回転速度フィードバック制御における点火時期変更量ΔAidleを、それ以外の場合(供給停止後過渡期間の直前及び供給停止後過渡期間の直後を含む通常時)よりも大きくする。換言すると、第8制御装置は、二次空気の供給停止時から第1所定時間T1が経過するまで、点火時期制御によるアイドル回転速度フィードバック制御のゲインを大きくすることにより、二次空気の供給停止に起因する機関発生トルクの変動の幅(減少変化幅)を小さくするように機関発生トルクを変化(増大)させる。この結果、第8制御装置は、二次空気供給停止時のトルク変化幅を小さくすることができるので、二次空気供給停止に伴うトルク変動に起因する振動の発生を回避することができる。
更に、第8制御装置は、二次空気の供給開始時から第2所定時間T2が経過するまでの期間(供給開始後過渡期間)において、機関回転速度NEを目標回転速度NTの近傍(NT−ΔNT〜NT+ΔNT)にないとき、点火時期制御によるアイドル回転速度フィードバック制御における点火時期変更量ΔAidleを、それ以外の場合(供給開始後過渡期間の直前及び供給開始後過渡期間の直後を含む通常時)よりも大きくする。換言すると、第8制御装置は、二次空気の供給開始時から第2所定時間T2が経過するまで、点火時期制御によるアイドル回転速度フィードバック制御のゲインを大きくすることにより、二次空気の供給開始に起因する機関発生トルクの変動の幅(増大幅)を小さくするように機関発生トルクを変化(減少)させる。この結果、第8制御装置は、二次空気供給開始時のトルク変化幅を小さくすることができるので、二次空気供給開始に伴うトルク変動に起因する振動の発生を回避することができる。
(実際の作動)
次に、第8制御装置の実際の作動について説明する。第8制御装置のCPUは図2にフローチャートにより示した二次空気制御ルーチンを所定時間の経過毎に繰り返し実行している。従って、第8制御装置は第1制御装置と同様に、二次空気を供給し、且つ、二次空気の供給を停止する。
更に、第8制御装置のCPUは、図29にフローチャートにより示した点火時期制御ルーチンを各気筒のクランク角が所定クランク角(例えば、圧縮上死点前90°クランク角、BTDC90°)に一致する毎に繰り返し実行するようになっている。図29において図4に示したステップと同一の処理を行うためのステップには、図4のそのようなステップに付された符号と同一の符号が付されている。それらのステップについての詳細な説明は適宜省略される。
従って、何れかの気筒のクランク角が所定クランク角に一致すると、CPU71はステップ2900から処理を開始し、以下に述べるステップ410、ステップ420、ステップ2910、ステップ2920及びステップ440の処理を順に行い、ステップ2995に進んで本ルーチンを一旦終了する。
ステップ410:CPUは基本点火時期Abaseを決定する。上述したように、基本点火時期Abaseは、機関10の運転状態がアイドル運転状態である場合、最適点火時期(MBT)よりも僅かだけ遅角側の点火時期に設定されている。
ステップ420:CPUは、上述したステップ310と同じ暖機遅角量テーブルMapAdankiに現時点の冷却水温THWを適用することにより、暖機遅角量Adankiを決定する。
ステップ2910:CPUは、後述する図30に示したアイドル回転数点火時期補正値算出ルーチンにより求められているアイドル回転速度フィードバック制御補正量(以下、「アイドル補正量」と称呼する。)Aidleを読み込む。このアイドル補正量Aidleは正の値(即ち、点火時期を進角させる値)及び負の値(即ち、点火時期を遅角させる値)の何れの値もとる。
ステップ2920:CPUは、下記(5)式に従って最終的な点火時期Aigを決定する。即ち、最終点火時期Aigは、基本点火時期Abaseが暖機遅角量Adankiだけ遅角側に補正され、且つ、アイドル補正量Aidleだけ進角側に補正された点火時期となる。
Aig=Abase−Adanki+Aidle …(5)
ステップ440:CPUは、現時点におけるクランク角が圧縮上死点前90°となっている気筒の点火時期が上記ステップ2920にて決定された最終点火時期Aigとなるように、その気筒の点火プラグ24に点火信号を送出する。
以上の処理により、冷却水温THWが低側閾値温度THWloと高側閾値温度THWhiとの間の温度である場合、実際の点火時期は基本点火時期Abaseよりも暖機遅角量Adankiだけ遅角側の点火時期となる。また、機関10の運転状態がアイドル運転状態にある場合、基本点火時期Abaseは冷却水温THWに関わらず最適点火時期より遅角側の点火時期に設定される。以上から、冷却水温THWが低側閾値温度THWloと高側閾値温度THWhiとの間の温度である場合、及び、機関10の運転状態がアイドル運転状態にある場合、点火時期は最適点火時期(MBT)より遅角側の点火時期となる。
一方、CPUは図30にフローチャートにより示したアイドル回転数点火時期補正値算出ルーチンを所定時間の経過毎に実行している。従って、所定のタイミングになると、CPUは図30のステップ3000から処理を開始してステップ3005に進み、現時点の運転状態がアイドル運転状態であるか否かを図5のステップ505と同様に判定する。
いま、現時点の運転状態がアイドル運転状態でないとすると、CPUはステップ3005にて「No」と判定してステップ3010に進み、アイドル補正量Aidleを「0」に設定する。その後、CPUはステップ3095に直接進んで本ルーチンを一旦終了する。
これに対し、現時点の運転状態がアイドル運転状態であると、CPUはステップ3005にて「Yes」と判定してステップ3015に進み、冷却水温THWと目標アイドル回転速度NTとの関係を規定するテーブル(目標アイドル回転速度テーブル)MapNTに実際の冷却水温THWを適用することにより現時点における目標アイドル回転速度NTを決定する。この目標アイドル回転速度テーブルMapNTは図5のステップ530にて使用されるテーブルと同じテーブルである。
次に、CPUはステップ3020に進み、アイドル補正量増大フラグXLARGEの値が「1」であるか否かを判定する。このアイドル補正量増大フラグXLARGEの値は、CPUが図6に示したルーチンを実行することにより「1」及び「0」の何れかに設定されている。本例において、アイドル補正量増大フラグXLARGEの値が「1」であることは、アイドル補正量Aidleの変更量ΔAidleを大きい値に設定すべきであること、即ち、点火時期によるアイドル回転速度フィードバック制御におけるフィードバックゲインを大きくすべき(通常の値よりも大きいゲインに設定すべき)であることを示す。これに対し、アイドル補正量増大フラグXLARGEの値が「0」であることは、アイドル補正量Aidleの変更量ΔAidleを通常の値(小さな値)に設定すべきであること、即ち、点火時期によるアイドル回転速度フィードバック制御におけるフィードバックゲインを小さくすべき(通常時のゲインに設定すべき)であることを示す。
そこで、アイドル補正量増大フラグXLARGEの値が「1」である場合、CPUはステップ3020にて「Yes」と判定してステップ3025に進み、変更量ΔAidleを相対的に大きな第1の正の値Alargeに設定する。これに対し、アイドル補正量増大フラグXLARGEの値が「0」である場合、CPUはステップ3020にて「No」と判定してステップ3030に進み、変更量ΔAidleを第1の正の値Alargeよりも小さい第2の正の値Asmallに設定する。
次に、CPUはステップ3025又はステップ3030からステップ3035に進み、現時点の機関回転速度NEが、ステップ3015にて決定された目標アイドル回転速度NTから所定値ΔNTを減じた回転速度(NT−ΔNT)より小さいか否かを判定する。この所定値ΔNTは正の値である。
そして、機関回転速度NEが「目標アイドル回転速度NTから所定値ΔNTを減じた回転速度(NT−ΔNT)」より小さいと、CPUはステップ3035にて「Yes」と判定してステップ3040に進み、アイドル補正量Aidleを変更量ΔAidleだけ大きくする。この結果、図29のステップ2920の処理がなされることによってアイドル運転状態における点火時期Aigが進角させられる。従って、機関の発生トルクが増大するので、機関回転速度NEが上昇する。その後、CPUはステップ3095に進んで本ルーチンを一旦終了する。
一方、ステップ3035の実行時点において、機関回転速度NEが「目標アイドル回転速度NTから所定値ΔNTを減じた回転速度(NT−ΔNT)」以上であると、CPUはステップ3035にて「No」と判定してステップ3045に進み、機関回転速度NEが「目標アイドル回転速度NTに所定値ΔNTを加えた回転速度(NT+ΔNT)」より大きいか否かを判定する。
そして、機関回転速度NEが「目標アイドル回転速度NTに所定値ΔNTを加えた回転速度(NT+ΔNT)」より大きいと、CPUはステップ3045にて「Yes」と判定してステップ3050に進み、アイドル補正量Aidleを変更量ΔAidleだけ小さくする。この結果、図29のステップ2920の処理がなされることによってアイドル運転状態における点火時期Aigが遅角させられる。従って、機関の発生トルクが減少するので、機関回転速度NEが低下する。その後、CPUはステップ3095に進んで本ルーチンを一旦終了する。
更に、ステップ3045の実行時点において、機関回転速度NEが「目標アイドル回転速度NTに所定値ΔNTを加えた回転速度(NT+ΔNT)」以下であると、CPUはステップ3045にて「No」と判定してステップ3095に直接進んで本ルーチンを一旦終了する。このように、機関回転速度NEが低側回転閾値速度(NT−ΔNT)以上であり且つ高側回転閾値速度(NT+ΔNT)以下である場合、アイドル補正量Aidleは変更されない。
以上、説明したように、第8制御装置は、
機関10の運転状態がアイドル運転状態であるとき機関の実際の回転速度NEが目標アイドル回転速度NTと一致するように「機関10の制御量としての機関10の点火時期」をフィードバック制御するアイドル時点火時期制御手段(図30のルーチンを参照。)と、
切換過渡期間(二次空気の供給停止時から第1所定時間T1が経過するまでの期間である供給停止後過渡期間、及び、二次空気の供給開始時から第2所定時間T2が経過するまでの期間である供給開始後過渡期間、図6のステップ660を参照。)において前記アイドル時点火時期制御手段による点火時期の変更速度(点火時期変更量ΔAidle)を同切換過渡期間以外における点火時期の変更速度よりも増大させる点火時期変更ゲイン増大手段(図6のルーチンの特にアイドル補正量増大フラグXLARGEの設定、及び、図30のステップ3020乃至ステップ3030を参照。)と、
を含むトルク変動抑制手段を備える。
即ち、第8制御装置は、機関10の運転状態がアイドル運転状態にある場合、二次空気供給状態の切換過渡期間における点火時期の変更速度を増大するから、二次空気供給状態の切換えに伴って生じる機関の発生トルクの変化の幅が「点火時期によるアイドル回転速度フィードバック制御」により迅速に低減させられる。従って、二次空気の供給を開始又は停止する際の機関の運転状態を安定化することができる。
(第9実施形態)
次に、本発明の第9実施形態に係る制御装置(以下、「第9制御装置」とも称呼する。)について説明する。この第9制御装置は、図31に示したV型内燃機関100に適用される。
この機関100は、右バンクRB及び左バンクLBを備えている。右バンクRBと左バンクLBは互いに同一構造を備えている。右バンクRBは第1気筒#1、第3気筒#3及び第5気筒#5の第1気筒群を含む。左バンクLBは、第2気筒#2、第4気筒#4及び第6気筒#6の第2気筒群を含む。図31において、機関100が備える構成のうち図1に示した機関10が備える構成部分と同一の機能を達成する構成部分には、同一の符号が付与されている。但し、その部分が右バンクに属していれば「R」が各符号の末尾に付され、その部分が左バンクに属していれば「L」が各符号の末尾に付されている。
右バンクRBは、右バンク二次空気供給系統50Rを備えている。右バンク二次空気供給系統50Rは、導入通路51R、エアポンプ52R、圧送通路53R、二次空気制御弁54R、主供給管55R及び複数の分配管56Rを備えている。右バンク二次空気供給系統50Rは、エアポンプ52Rによって主供給管55R及び分配管56Rに高圧の二次空気を圧送し、その圧送された二次空気を分配管56Rの先端部から右バンクRBの排気ポート23R内に供給(噴射)するようになっている。更に、右バンクRBのエキゾーストパイプ42Rには触媒43Rが配設されている。
同様に、左バンクLBは、左バンク二次空気供給系統50Lを備えている。左バンク二次空気供給系統50Lは、導入通路51L、エアポンプ52L、圧送通路53L、二次空気制御弁54L、主供給管55L及び複数の分配管56Lを備えている。左バンク二次空気供給系統50Lは、エアポンプ52Lによって主供給管55L及び分配管56Lに高圧の二次空気を圧送し、その圧送された二次空気を分配管56Lの先端部から左バンクLBの排気ポート23L内に供給(噴射)するようになっている。更に、左バンクLBのエキゾーストパイプ42Lには触媒43Lが配設されている。
(作動の概略)
次に、上記のように構成された第9制御装置の作動の概略について説明する。第9制御装置は、所定の二次空気供給要求条件が成立したとき、先ず、右バンクRB側の排気ポート23Rに二次空気の供給を開始する。第9制御装置は、その右バンクRB側の排気ポート23Rへの二次空気の供給開始時点から遅延時間Tdelayが経過したとき、左バンクLB側の排気ポート23Lに二次空気の供給を開始する。即ち、第9制御装置は、二次空気の供給開始タイミングを右バンクRBと左バンクLBとで遅延時間Tdelayだけ相違させる。これにより、二次空気供給開始時(供給再開時を含む。)における機関発生トルクの変動幅が、右バンクRB及び左バンクLBに同時に二次空気の供給を開始させた場合の機関の発生トルクの変動幅よりも小さくなる。
同様に、第9制御装置は、所定の二次空気停止要求条件が成立したとき、先ず、右バンクRB側の排気ポート23Rへの二次空気の供給を停止する。第9制御装置は、その右バンクRB側の排気ポート23Rへの二次空気の供給を停止した時点から遅延時間Tdelayが経過したとき、左バンクLB側の排気ポート23Lへの二次空気の供給を停止する。即ち、第9制御装置は、二次空気の供給停止タイミングを右バンクRBと左バンクLBとで遅延時間Tdelayだけ相違させる。これにより、二次空気供給停止時における機関発生トルクの変動幅が、右バンクRB及び左バンクLBに対して同時に二次空気の供給を停止させた場合の機関の発生トルクの変動幅よりも小さくなる。
(実際の作動)
次に、第9制御装置の実際の作動について説明する。第9制御装置のCPUは、図32乃至図34にフローチャートにより示したルーチンを所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUは図32のステップ3200から処理を開始しステップ3210に進み、二次空気供給開始要求フラグXONYKの値が「0」であり、且つ、二次空気供給停止要求フラグXOFFYKの値が「0」であるか否かを判定する。即ち、CPUは二次空気の供給要求(供給開始要求)及び供給停止要求のいずれもが発生していないことを確認する。この場合、二次空気供給開始要求フラグXONYKの値及び二次空気供給停止要求フラグXOFFYKの少なくとも一方の値が「1」であると、CPUはステップ3210からステップ3295に直接進んで本ルーチンを一旦終了する。
ところで、二次空気の供給要求条件(供給要求発生条件)は、例えば、現時点において二次空気の供給が停止されており、機関始動時の冷却水温が所定の範囲内(即ち、低側閾値温度THWlo以上であり且つ高側閾値温度THWhi以下)であり、負荷KLが閾値負荷KLth以下であり、且つ、機関100の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGathより小さい場合に成立する。
一方、二次空気の供給停止要求条件(停止要求発生条件)は、例えば、現時点において二次空気が供給されていて、負荷KLが閾値負荷KLthより大きくなるか、又は、機関100の始動後の積算吸入空気量SGaが閾値積算吸入空気量SGath以上となった場合に成立する。
いま、二次空気供給フラグXAI、二次空気供給開始要求フラグXONYK及び二次空気供給停止要求フラグXOFFYKの値の総てが「0」である時点において、二次空気の供給要求条件が成立したと仮定する。二次空気供給フラグXAIの値が「0」であることは、二次空気の供給が停止されていることを意味する。
この場合、CPUはステップ3210にて「Yes」と判定してステップ3220に進み、二次空気供給フラグXAIの値が「0」であるか否かを判定する。上述した仮定によれば、二次空気供給フラグXAIの値は「0」である。従って、CPUはステップ3220にて「Yes」と判定し、ステップ3230に進んで二次空気の供給要求条件が成立したか否かを判定する。
上述した仮定によれば、二次空気の供給要求条件は成立している。従って、CPUはステップ3230にて「Yes」と判定してステップ3240に進み、二次空気供給開始要求フラグXONYKの値を「1」に設定する。その後、CPUはステップ3295に進んで本ルーチンを一旦終了する。なお、ステップ3230の実行時点において、二次空気の供給要求条件が成立していなければ、CPUはステップ3230にて「No」と判定し、ステップ3295に直接進んで本ルーチンを一旦終了する。
更に、CPUは図33にフローチャートにより示した二次空気供給制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図33のステップ3300から処理を開始してステップ3310に進み、二次空気供給開始要求フラグXONYKの値が「1」であるか否かを判定する。この場合、前記ステップ3240の処理により、二次空気供給開始要求フラグXONYKの値は「1」に設定された直後である。従って、CPUはステップ3310にて「Yes」と判定してステップ3320に進み、現時点が「二次空気供給開始要求フラグXONYKの値が「0」から「1」へ変化した直後である」か否かを判定する。
この場合、二次空気供給開始要求フラグXONYKの値が「0」から「1」へ変化した直後であるから、CPUはステップ3320にて「Yes」と判定してステップ3330に進み、右バンク二次空気供給系統50Rを用いて右バンクRBの排気ポート23R内への二次空気の供給を開始する。
次に、CPUはステップ3340に進み、現時点が「二次空気供給開始要求フラグXONYKの値が「0」から「1」へ変化してから遅延時間Tdelayが経過した直後である」か否かを判定する。この時点においては、未だ遅延時間Tdelayは経過していない。従って、CPUはステップ3340にて「No」と判定し、ステップ3395に直接進んで本ルーチンを一旦終了する。
その後、CPUは図33のルーチンを所定時間の経過毎に繰り返し実行する。従って、二次空気供給開始要求フラグXONYKの値が「0」から「1」へ変化してから遅延時間Tdelayが経過した直後においてCPUが図33のルーチンを実行すると、CPUはステップ3310にて「Yes」と判定し、ステップ3320にて「No」と判定し、更に、ステップ3340にて「Yes」と判定し、以下に述べるステップ3350乃至ステップ3370の処理を順に行い、ステップ3395に進んで本ルーチンを一旦終了する。
ステップ3350:CPUは、左バンク二次空気供給系統50Lを用いて左バンクLBの排気ポート23L内への二次空気の供給を開始する。
ステップ3360:CPUは、二次空気供給開始要求フラグXONYKの値を「0」に設定する。
ステップ3370:CPUは、二次空気供給フラグXAIの値を「1」に設定する。
この結果、二次空気供給開始要求フラグXONYKの値は「0」に設定されるから、次にCPUが図33のルーチンを実行すると、ステップ3310にて「No」と判定し、ステップ3395に直接進んで本ルーチンを一旦終了するようになる。
以上のように、二次空気が供給されていないときに、二次空気の供給要求条件が成立すると、先ず、右バンク二次空気供給系統50Rにより右バンクRBの排気ポート23R内に二次空気が供給され始め、その後、遅延時間Tdelayが経過したときに、左バンク二次空気供給系統50Lにより左バンクLBの排気ポート23L内に二次空気が供給され始める。
この結果、遅延時間Tdelayが経過したときには二次空気の供給が総ての排気ポートに対して行われ、二次空気供給フラグXAIの値は「1」に設定される(ステップ3370を参照。)。次に、この状態において、二次空気の停止要求条件が成立したと仮定する。
この場合、CPUは図32のステップ3210にて「Yes」と判定し、続くステップ3220にて「No」と判定してステップ3250に進む。CPUはステップ3250にて二次空気の停止要求条件が成立したか否かを判定する。上述した仮定に従えば停止要求条件は成立している。従って、CPUはステップ3250にて「Yes」と判定してステップ3260に進み、二次空気供給停止要求フラグXOFFYKの値を「1」に設定し、その後、ステップ3295に進んで本ルーチンを一旦終了する。なお、ステップ3250の実行時点において、二次空気の停止要求条件が成立していなければ、CPUはステップ3250にて「No」と判定し、ステップ3295に直接進んで本ルーチンを一旦終了する。
このとき、CPUが図33のステップ3310の処理を実行すると、二次空気供給開始要求フラグXONYKの値は「0」であるから、CPUはそのステップ3310にて「No」と判定しステップ3395に直接進んで本ルーチンを一旦終了する。
更に、CPUは図34にフローチャートにより示した二次空気供給停止制御ルーチンを所定時間の経過毎に繰り返し実行するようになっている。従って、所定のタイミングになると、CPUは図34のステップ3400から処理を開始してステップ3410に進み、二次空気供給停止要求フラグXOFFYKの値が「1」であるか否かを判定する。この場合、前記ステップ3260の処理により、二次空気供給停止要求フラグXOFFYKの値は「1」に設定された直後である。従って、CPUはステップ3410にて「Yes」と判定してステップ3420に進み、現時点が「二次空気供給停止要求フラグXOFFYKの値が「0」から「1」へ変化した直後である」か否かを判定する。
この場合、二次空気供給停止要求フラグXOFFYKの値が「0」から「1」へ変化した直後であるから、CPUはステップ3420にて「Yes」と判定してステップ3430に進み、右バンク二次空気供給系統50Rを用いて右バンクRBの排気ポート23R内への二次空気の供給を停止する。
次に、CPUはステップ3440に進み、現時点が「二次空気供給停止要求フラグXOFFYKの値が「0」から「1」へ変化してから遅延時間Tdelayが経過した直後である」か否かを判定する。この時点においては、未だ遅延時間Tdelayは経過していない。従って、CPUはステップ3440にて「No」と判定し、ステップ3495に直接進んで本ルーチンを一旦終了する。
その後、CPUは図34のルーチンを所定時間の経過毎に繰り返し実行する。従って、二次空気供給停止要求フラグXOFFYKの値が「0」から「1」へ変化してから遅延時間Tdelayが経過した直後においてCPUが図34のルーチンを実行すると、CPUはステップ3410にて「Yes」と判定し、ステップ3420にて「No」と判定し、更に、ステップ3440にて「Yes」と判定し、以下に述べるステップ3450乃至ステップ3470の処理を順に行い、ステップ3495に進んで本ルーチンを一旦終了する。
ステップ3450:CPUは、左バンク二次空気供給系統50Lを用いて左バンクLBの排気ポート23Lへの二次空気の供給を停止する。
ステップ3460:CPUは、二次空気供給停止要求フラグXOFFYKの値を「0」に設定する。
ステップ3470:CPUは、二次空気供給フラグXAIの値を「0」に設定する。
以上のように、二次空気が供給されているときに、二次空気の停止要求条件が成立すると、先ず、右バンク二次空気供給系統50Rにより右バンクRBの排気ポート23R内への二次空気の供給が停止され、その後、遅延時間Tdelayが経過したときに、左バンク二次空気供給系統50Lにより左バンクLBの排気ポート23L内への二次空気の供給が停止される。
なお、CPUが図34のステップ3410に進んだとき、二次空気供給停止要求フラグXOFFYKの値が「0」であると、CPUはステップ3410からステップ3495に直接進んで本ルーチンを一旦終了する。
以上、説明したように、第9制御装置は、
機関100の所定の気筒からなる第1気筒群に対する二次空気供給状態の切換えを切換え指示に応答して行う第1供給手段(右バンク二次空気供給系統50R)と、
機関100の第1気筒群に含まれる気筒とは相違する気筒からなる第2気筒群に対する二次空気供給状態の切換えを、切換え指示に応答して、前記第1供給手段とは独立して行うことが可能な第2供給手段(左バンク二次空気供給系統50L)と、
を含む「二次空気供給手段」を備える。
更に、第9制御装置は、
切換過渡期間(左右何れかのバンクの二次空気供給状態の切換え時を含む所定期間)において、前記第1供給手段による二次空気供給状態の切換えタイミングと前記第2供給手段による二次空気供給状態の切換えタイミングとが互いに相違するように前記第1供給手段及び前記第2供給手段に切換え指示を与え、それにより「機関の制御量としての機関100全体に供給される二次空気の量」を制御する「トルク変動抑制手段としての切換タイミング制御手段」(図33及び図34を参照。)を備える。
従って、第9制御装置は、二次空気の供給を停止するにあたり、第1供給手段と第2供給手段とが同時に二次空気の供給を停止する場合に比較して、一時に減少する二次空気量を小さくすることができる。従って、機関の発生トルクの変化の幅(減少変化幅)を小さくすることができる。更に、第9制御装置は、二次空気の供給を開始(再開)するにあたり、第1供給手段と第2供給手段とが同時に二次空気の供給を開始する場合に比較して、一時に増大する二次空気量を小さくすることができる。従って、機関の発生トルクの変化の幅(増大幅)を小さくすることができる。その結果、第9制御装置は、二次空気の供給及び/又は停止の際の機関の運転状態を安定化することができる。
以上、説明したように、本発明の上記実施形態及び上記変形例に係る内燃機関の制御装置は、
所定の二次空気供給条件が成立したとき排気通路に配設された触媒43よりも上流側位置の排気通路に「二次空気としての空気」を供給することにより燃焼室21から排出されたガスを排気通路内において燃焼させ、それにより触媒43の暖機を促進するとともに、二次空気供給条件が不成立となったとき二次空気の供給を停止する二次空気供給手段と、
二次空気供給状態の切換え時を含む所定期間である切換過渡期間において、二次空気供給状態の切換えに伴って生じる燃焼室21内での混合気の燃焼状態の変化による「機関の発生トルクの変化」の幅を減少させるように「機関の制御量(点火時期、機関の空燃比、バルブオーバーラップ期間、機関に供給される混合気量(吸入空気量及び供給燃料量)、及び、二次空気量等)」を制御するトルク変動抑制手段と、
を備える。
従って、二次空気供給の開始及び/停止の際の機関発生トルクの変動の幅を小さくすることができる。即ち、本発明の装置は、二次空気の供給状態の切換えに伴う機関の負荷(例えば、オルタネータの発電による負荷)変化ではなく、二次空気の供給状態の切換えに伴う燃焼状態の変化に起因するトルク変動を抑制する。
また、上記第1制御装置及び上記第2制御装置は、
前記二次空気供給停止時を開始時点とし前記二次空気供給停止時から所定期間だけ後の時点を終了時点とする「前記切換過渡期間としての供給停止後過渡期間」において、「二次空気の供給停止に起因する機関の発生トルクの減少変化幅」を小さくために「機関の発生トルク」が増大するように「前記機関の制御量であって前記二次空気以外の制御量である、点火時期及び/又は混合気量(吸入空気量、スロットル弁開度)」を変化させるように構成されている。
更に、上記第3〜第6制御装置、第3変形制御装置及び第4変形制御装置は、
二次空気供給停止時から所定期間だけ前の時点を開始時点とし二次空気供給停止時を終了時点とする「切換過渡期間としての供給停止前過渡期間」において、「二次空気供給停止時の機関の発生トルクの変化の幅」が「供給停止前過渡期間の開始直前にて二次空気の供給を停止したと仮定した場合に生じる機関の発生トルクの変化の幅」よりも小さい「所定の閾値トルク変化幅」以下となるように、機関の制御量(点火時期、機関の空燃比、又は、バルブオーバーラップ期間)を変化させるようになっている。
本発明は上記各実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、本発明による制御装置は、切換過渡期間において、上記に開示した「点火時期による機関の発生トルクの変動幅低減制御、スロットル弁制御(吸入空気量制御、混合気量制御)による機関の発生トルクの変動幅低減制御、機関の空燃比制御による機関の発生トルクの変動幅低減制御、及び、バルブオーバーラップ期間制御による機関の発生トルクの変動幅低減制御」を適宜組み合わせて行う装置であってもよい。
10…機関、20…本体部、21…燃焼室、22…吸気ポート、23…排気ポート、24…点火プラグ、25…燃料噴射弁、26…吸気弁制御装置、30…吸気系統、31…インテークマニホールド、32…吸気管、33…エアフィルタ、34…スロットル弁、40…排気系統、41…エキゾーストマニホールド、42…エキゾーストパイプ、43…触媒、50…二次空気供給系統、50R…右バンク二次空気供給系統、50L…左バンク二次空気供給系統、51…導入通路、52…エアポンプ、53…圧送通路、54…二次空気制御弁、55…主供給管、56…分配管、61…熱線式エアフローメータ、62…スロットルポジションセンサ、63…機関回転速度センサ、64…水温センサ、65…空燃比センサ、67…アクセル開度センサ、70…電気制御装置、100…V型内燃機関。