内燃機関の制御装置
【課題】排気通路に配設された触媒の酸素吸蔵量を推定するとともに、その推定酸素吸蔵量を使用して機関を制御する。
【解決手段】制御装置は、機関の運転中に機関停止要求が発生したか否かを判定し、機関停止要求が発生した場合に「触媒の実際の酸素吸蔵量」が「最大の量又は最小の量」になるように、その触媒に「過剰な酸素又は過剰な未燃物」を供給する。そして、制御装置は、触媒の酸素吸蔵量が「前記最大の量又は前記最小の量」に到達したと推定される時点にて、前記機関の回転を停止させる。加えて、制御装置は、機関の回転を停止させた時点にて推定酸素吸蔵量を、予め取得された最大酸素吸蔵量に基く値又は最小酸素吸蔵量である「0」に設定することにより、推定酸素吸蔵量を初期化する。
【解決手段】制御装置は、機関の運転中に機関停止要求が発生したか否かを判定し、機関停止要求が発生した場合に「触媒の実際の酸素吸蔵量」が「最大の量又は最小の量」になるように、その触媒に「過剰な酸素又は過剰な未燃物」を供給する。そして、制御装置は、触媒の酸素吸蔵量が「前記最大の量又は前記最小の量」に到達したと推定される時点にて、前記機関の回転を停止させる。加えて、制御装置は、機関の回転を停止させた時点にて推定酸素吸蔵量を、予め取得された最大酸素吸蔵量に基く値又は最小酸素吸蔵量である「0」に設定することにより、推定酸素吸蔵量を初期化する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内燃機関の排気通路に配設された触媒の酸素吸蔵量を機関の制御(例えば、空燃比制御)に使用する内燃機関の制御装置に関する。
【背景技術】
【0002】
従来の内燃機関の制御装置の一つ(以下、「従来装置」と称呼する。)は、内燃機関の排気通路に配設された触媒(三元触媒)の酸素吸蔵量を推定し、その推定される酸素吸蔵量に基いて機関に供給される混合気の空燃比を制御するようになっている(例えば、特許文献1を参照。)。この従来装置は、触媒の下流側に配設された下流側空燃比センサの出力値が「リッチ空燃比に相当する値」になったとき、推定される酸素吸蔵量を「0」にリセットするようになっている。なお、本明細書において、推定される酸素吸蔵量は「推定酸素吸蔵量」とも称呼される。更に、理論空燃比よりも大きい空燃比(理論空燃比よりもリーンな空燃比)は「リーン空燃比」とも称呼され、理論空燃比よりも小さい空燃比(理論空燃比よりもリッチな空燃比)は「リッチ空燃比」とも称呼される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−239789号公報
【発明の概要】
【0004】
しかしながら、酸素吸蔵量の推定は必ずしも精度良く行えない場合があり、且つ、機関の運転が停止される時点において下流側空燃比センサの値が常にリッチ空燃比に相当する値となるとは限らないので、例えば、機関運転停止時から短時間のうちに機関の運転が再開されるような場合、その機関の始動時における推定酸素吸蔵量が真の酸素吸蔵量から乖離し、その結果、機関の制御(例えば、空燃比制御)が望ましい制御にならないという問題がある。このような状況は、機関のみを動力源として有する通常の車両のみならず、例えば、機関とモータとを動力源として備えたハイブリッド車両、或いは、車両停止時に機関の運転を自動的に停止するとともに車両発進時に機関を自動的に始動させる「自動運転停止・自動運転再開システム」を搭載した車両、等において顕著に発生する。
【0005】
本発明は、上述した課題に対処するために為されたものである。即ち、本発明の目的の一つは、機関の運転を停止する場合に触媒の酸素吸蔵量を最大の量又は最小の量に強制的に移行させるとともに推定酸素吸蔵量を最大酸素吸蔵量又は最小酸素吸蔵量に一致させることにより、その後の機関始動時における推定酸素吸蔵量を真の酸素吸蔵量にできるだけ近づけることができる内燃機関の制御装置を提供することにある。
【0006】
本発明の内燃機関の制御装置(以下、単に「本発明装置」とも称呼する。)は、前記機関の排気通路に配設された触媒(三元触媒装置)の酸素吸蔵量を推定する酸素吸蔵量推定手段を備えるとともに前記酸素吸蔵量推定手段により推定される酸素吸蔵量(推定酸素吸蔵量)を使用して前記機関を制御する内燃機関の制御装置であり、停止要求発生判定手段と、制御手段と、推定酸素吸蔵量初期化手段と、を備える。
【0007】
前記停止要求発生判定手段は、前記機関の運転中に前記機関の運転を停止する要求(即ち、機関停止要求)が発生したか否かを判定する。機関停止要求は、車両のイグニッション・キー・スイッチがオン位置からオフ位置に変更されたときに発生する。或いは、機関がハイブリッド車両に搭載されている場合、及び、自動運転停止・自動運転再開システムが採用された車両等に搭載されている場合、機関停止要求は所定の条件が満たされたときに自動的に発生する。
【0008】
前記制御手段は、前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量が最大の量(即ち、その時点の触媒が吸蔵できる酸素の最大の量)又は最小の量(即ち、ゼロ)に到達するように前記触媒に過剰な酸素又は過剰な未燃物を供給する。後述するように、前記過剰な酸素は、「機関への燃料供給を停止した上で同機関を同機関以外の動力源により回転させ、前記機関から前記触媒へと大気を供給すること」により前記触媒へと供給され得る。或いは、前記過剰な酸素は、「前記排気通路の前記触媒の上流側に設けられた二次空気供給装置を作動させること」により前記触媒へと供給され得る。更に、前記過剰な未燃物は、「機関への燃料供給を継続するとともに機関に供給される混合気の空燃比をリッチ空燃比に設定すること」により前記触媒へと供給され得る。或いは、前記過剰な未燃物は、「前記排気通路の前記触媒の上流側に設けられた還元剤供給装置を作動させること」により前記触媒へと供給され得る。
【0009】
前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したか否かを判定する。
【0010】
例えば、前記排気通路の前記触媒の下流側に下流側空燃比センサが備えられている場合、前記推定酸素吸蔵量初期化手段は、その下流側空燃比センサの出力値に基いて前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したか否かを判定することができる。より具体的に述べると、本発明装置の一態様においては、前記触媒に前記過剰な酸素が供給されている場合、前記下流側空燃比センサの出力値がリーン空燃比に相当する値となったか否かを判定することにより、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したか否かを判定する。本発明装置の他の態様においては、前記触媒に前記過剰な未燃物が供給されている場合、前記下流側空燃比センサの出力値がリッチ空燃比に相当する値となったか否かを判定することにより、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したか否かを判定する。
【0011】
加えて、前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定したとき、前記推定される酸素吸蔵量を、「前記触媒の最大酸素吸蔵量(前記触媒に過剰な酸素が供給されていた場合)」又は「前記触媒の最小酸素吸蔵量(前記触媒に過剰な未燃物が供給されていた場合)」に設定する。
【0012】
前記推定酸素吸蔵量として設定される前記触媒の最大酸素吸蔵量は、前記機関の通常の運転中に別途取得される最大酸素吸蔵量(通常運転時最大酸素吸蔵量)、及び、前記通常運転時最大酸素吸蔵量に基く量、の何れかに設定することができる。前記通常運転時最大酸素吸蔵量に基く量の一例は、前記通常運転時最大酸素吸蔵量と前記機関停止要求発生時における触媒の温度とに基いて算出される最大酸素吸蔵量である。前記推定酸素吸蔵量として設定される前記触媒の最小酸素吸蔵量の一例は「0」である。
【0013】
これによれば、機関停止要求が発生した場合、触媒の実際の酸素吸蔵量が最大の量又は最小の量へと移行させられる。そして、触媒の実際の酸素吸蔵量が最大の量又は最小の量に到達したと判定(推定)されたとき、推定酸素吸蔵量は「触媒に過剰な酸素が供給されてきた場合には触媒の最大酸素吸蔵量」に一致させられ、或いは、推定酸素吸蔵量は「触媒に過剰な未燃物が供給されてきた場合には触媒の最小酸素吸蔵量」に一致させられる。即ち、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定されたとき、推定酸素吸蔵量が最大酸素吸蔵量及び最小酸素吸蔵量の何れかに初期化される。
【0014】
この推定酸素吸蔵量の初期化により、推定酸素吸蔵量と実際の酸素吸蔵量とを高い精度をもって一致させることができるので、その後の機関始動時点から推定酸素吸蔵量と実際の酸素吸蔵量との差を小さくすることができる。この結果、推定酸素吸蔵量を用いた機関の制御を機関の始動直後から適切に行うことができる。更に、推定酸素吸蔵量の初期化に伴う作動が機関停止要求の発生後に行われるので、推定酸素吸蔵量の初期化に伴う作動が前記機関を搭載した車両の走行に悪影響を及ぼすことを回避することもできる。
【0015】
ところで、触媒の実際の酸素吸蔵量が最大の量に到達したか否かの判定は、触媒の下流に設けられた空燃比センサ(下流側空燃比センサ)の出力値がリーン空燃比に相当する値になったか否かにより判定することができる。或いは、触媒の実際の酸素吸蔵量が最小の量に到達したか否かの判定は、下流側空燃比センサの出力値がリッチ空燃比に相当する値になったか否かにより判定することができる。
【0016】
一方、触媒が吸蔵(又は放出)することができる酸素の量は触媒の温度に依存して変化する。従って、例えば、機関停止要求発生後に触媒に過剰な未燃物を供給する場合において、下流側空燃比センサの出力値がリッチ空燃比に相当する値となった場合であっても、触媒の酸素吸蔵量は必ずしも最小の量になっていない場合がある。これは、触媒の温度が相対的に低い場合、触媒が酸素を依然として吸蔵している場合であっても、触媒流入ガスに含まれる未燃物がその触媒に吸蔵されている酸素と結合することなく触媒を通過する現象(所謂「吹き抜け現象」)が生じる場合があるからである。
【0017】
或いは、機関停止要求発生後に触媒に過剰な酸素を供給する場合において、下流側空燃比センサの出力値がリーン空燃比に相当する値となった場合であっても、触媒の酸素吸蔵量は必ずしも最大の量になっていない場合がある。これは、触媒の温度が相対的に低い場合、触媒が酸素を吸蔵する余力をもっている場合であっても、触媒流入ガスに含まれる酸素が触媒に吸蔵されることなく触媒を通過する現象が生じる場合があるからである。
【0018】
そこで、本発明装置の一つの態様において、前記制御手段は、
前記機関停止要求発生時における前記触媒の温度を推定するとともに、前記推定した触媒の温度に基いて「前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給する供給継続時間」を決定し、前記機関停止要求発生時から前記決定された供給継続時間が経過した時点にて前記触媒の実際の酸素吸蔵量が「前記最大の量又は前記最小の量」に到達したと判定するように構成される。
【0019】
これによれば、機関停止要求発生時の触媒の温度に関わらず、前記触媒の実際の酸素吸蔵量が「前記最大の量又は前記最小の量」に到達した時点を精度良く判定することができる。この結果、前記初期化により、推定酸素吸蔵量と実際の酸素吸蔵量との差を一層小さくすることができる。
【0020】
更に、前記制御手段は、
前記機関停止要求が発生した時点から前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定される時点まで前記機関を回転させることにより同機関を通して前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給し、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定されたとき前記機関の回転を停止させるように構成される。
【0021】
これによれば、機関を通して「過剰な酸素又は過剰な未燃物」が触媒に供給されるので、二次空気供給装置及び還元剤供給装置等の追加的装置を必ずしも必要としない。従って、機関全体を廉価にすることができる。更に、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達した後に機関の回転を停止させるので、機関を回転させるためのエネルギーが無駄に消費されることを回避することができる。
【0022】
更に、本発明装置の一つの態様において、
前記制御手段は、前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最大の量に到達させるべく前記機関への燃料の供給を停止し且つ前記機関を前記機関以外の動力源により強制的に回転させることにより前記触媒に過剰な酸素を含む大気を供給するように構成される。加えて、前記制御手段は、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき前記機関以外の動力源による前記機関の強制的な回転を停止することにより前記機関の回転を停止させるように構成される。
【0023】
この場合、前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき、前記推定される酸素吸蔵量を前記触媒の最大酸素吸蔵量に設定するように構成される。
【0024】
これによれば、機関停止要求発生後において、機関の回転によって機関から触媒へと大気が供給される。大気は多量の酸素を含む。従って、機関停止要求発生後において、触媒の酸素吸蔵量を最大の量に短時間にて到達させることができる。この結果、機関停止要求発生後において機関を回転させておく時間を短くすることができ、他の動力源により消費されるエネルギー量を少なくすることができる。更に、この構成によれば、二次空気供給装置等の追加的装置を必ずしも必要としないので、機関全体を廉価にすることができる。なお、他の動力源は、例えば機関が所謂ハイブリッド車両に搭載されている場合、そのハイブリッド車両の車両駆動力を発生するためのモータであってもよく、機関が通常の車両に搭載されている場合、その車両のスタータモータであってもよい。
【0025】
更に、本発明装置の一つの態様において、
前記制御手段は、前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最小の量に到達させるべく前記機関に供給される混合気に含まれる燃料の量を同混合気の空燃比が理論空燃比よりも小さい空燃比(リッチ空燃比)となるように制御するように構成される。これにより、機関は自身の発生するトルクにより回転を続け、且つ、機関から触媒に過剰な未燃物が供給される。加えて、前記制御手段は、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき、前記機関への燃料の供給を停止することにより前記機関の回転を停止させるように構成される。
【0026】
この場合、前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき、前記推定される酸素吸蔵量を前記触媒の最小酸素吸蔵量に設定するように構成される。
【0027】
これによれば、機関停止要求発生後において、過剰の未燃物が機関自身の発生するエネルギーにより触媒に供給される。従って、機関停止要求後において機関を回転させておくためのエネルギー源及び動力源を別途準備する必要がない。更に、この構成によれば、還元剤供給装置等の追加的装置を必ずしも必要としないので、機関全体を廉価にすることができる。
【0028】
本発明装置の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明装置の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【0029】
【図1】図1は、本発明の第1実施形態に係る制御装置(第1制御装置)を適用した内燃機関の概略図である。
【図2】図2は、図1に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図3】図3は、図1に示した下流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図4】図4は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図5】図5は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図6】図6は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図7】図7は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図8】図8は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図9】図9は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図10】図10は、本発明の第2実施形態に係る制御装置(第2制御装置)の作動を説明するためのタイムチャートである。
【図11】図11は、第2制御装置のCPUが実行するルーチンを示したフローチャートである。
【図12】図12は、第2制御装置のCPUが実行するルーチンを示したフローチャートである。
【図13】図13は、第2制御装置のCPUが実行するルーチンを示したフローチャートである。
【図14】図14は、本発明の第3実施形態に係る制御装置(第3制御装置)のCPUが実行するルーチンを示したフローチャートである。
【図15】図15は、本発明の第4実施形態に係る制御装置(第4制御装置)のCPUが実行するルーチンを示したフローチャートである。
【図16】図16は、第4制御装置のCPUが実行するルーチンを示したフローチャートである。
【図17】図17は、本発明の第5実施形態に係る制御装置(第5制御装置)のCPUが実行するルーチンを示したフローチャートである。
【図18】図18は、第5制御装置のCPUが実行するルーチンを示したフローチャートである。
【発明を実施するための形態】
【0030】
以下、本発明の各実施形態に係る内燃機関の制御装置(以下、単に「制御装置」とも称呼する。)について図面を参照しながら説明する。この制御装置は、内燃機関に供給される混合気の空燃比(機関の空燃比)を制御する空燃比制御装置(燃料噴射量制御装置)の一部でもある。また、制御装置は、結果的にエミッションを良好にすることを目的とする装置であるので内燃機関の排気浄化装置でもあり、触媒の酸素吸蔵量を推定する酸素吸蔵量推定装置でもある。
【0031】
<第1実施形態>
(構成)
図1は、第1実施形態に係る制御装置(以下、「第1制御装置」とも称呼する。)を、4サイクル・火花点火式・多気筒(直列4気筒)・内燃機関10に適用したシステムの概略構成を示している。
【0032】
内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、を含む。
【0033】
機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒(燃焼室)21を備えている。各気筒は、図示しない「吸気ポート及び排気ポート」と連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。点火プラグは、図示しない「イグナイタ及びイグニッションコイル」と接続されている。
【0034】
機関本体部20は、更に、機関10を回転駆動する(強制回転する)ためのモータ22を備えている。モータ22は、例えば、スタータモータであってもよい。モータは図示しないバッテリから供給される電力により回転し、機関10を回転させるようになっている。
【0035】
吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。
【0036】
インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。
【0037】
吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。
【0038】
燃料噴射弁33は、一つの気筒(燃焼室)21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を吸気ポート(従って、燃料噴射弁33に対応する気筒)内に噴射するようになっている。
【0039】
より具体的に述べると、燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁33に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。従って、燃料噴射弁33は指示燃料噴射量と等量の燃料を噴射する。
【0040】
スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。
【0041】
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、電気加熱ヒータ44、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された「図示しない下流側触媒」を備えている。
【0042】
エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数(2以上であり、本例では4つ)の気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。
【0043】
エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。
【0044】
上流側触媒43は、セラミックの一種であるコージェライトからなり且つアルミナのコート層によりコーティングされた担持体を備え、その担持体に「白金、ロジウム及びパラジウム等」の貴金属(触媒物質)からなる活性成分を担持する三元触媒装置(排気浄化用の触媒)である。各触媒は、各触媒に流入するガスの空燃比が「三元触媒のウインドウ内の空燃比(例えば、理論空燃比)」であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物(NOx)を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、担持体に担持されているセリア(CeO2)等の酸素吸蔵材によってもたらされる。
【0045】
電気加熱ヒータ(触媒ヒータ)44は、電気加熱手段を構成する。電気加熱ヒータは通電されることにより(電力が供給されることにより)発熱し、上流側触媒43の温度(上流側触媒43の触媒床温)を上昇させるようになっている。以下、上流側触媒43の温度を単に「触媒の温度」とも称呼する。電気加熱ヒータ44の発熱量は、電気加熱ヒータ44に供給される電力(実際には電流)により制御されるようになっている。電気制御装置70は、電気加熱ヒータ44に供給される電力を調整・制御することにより、触媒の温度を調整するようになっている。
【0046】
図示しない下流側触媒は、上流側触媒43と同様の三元触媒装置である。なお、本明細書において、「触媒」は特に断りのない限り上流側触媒43を指す。
【0047】
このシステムは、熱線式エアフローメータ51、スロットルポジションセンサ52、水温センサ53、クランクポジションセンサ54、インテークカムポジションセンサ55、上流側空燃比センサ56、下流側空燃比センサ57、アクセル開度センサ58、及び、バッテリ残量センサ59を備えている。
【0048】
エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量(吸入空気流量)Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。
【0049】
スロットルポジションセンサ52は、スロットル弁34の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
【0050】
水温センサ53は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態(機関10の温度)を表すパラメータである。
【0051】
クランクポジションセンサ54は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。
【0052】
インテークカムポジションセンサ55は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ54及びインテークカムポジションセンサ55からの信号に基づいて、基準気筒(例えば第1気筒)の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において「0°クランク角度」に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。
【0053】
上流側空燃比センサ56は、エキゾーストマニホールド41の集合部41b(排気集合部HK)と上流側触媒43との間の位置において「エキゾーストマニホールド41及びエキゾーストパイプ42の何れか」に配設されている。上流側空燃比センサ56は、単に「空燃比センサ」とも称呼される。
【0054】
上流側空燃比センサ56は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【0055】
上流側空燃比センサ56は、図2に示したように、上流側空燃比センサ56の配設位置を流れる排ガスの空燃比(上流側空燃比abyfs)に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。この出力値Vabyfsは、上流側空燃比センサ56に到達している排ガスの空燃比が大きくなるほど(リーンとなるほど)増大する。出力値Vabyfsは、上流側空燃比センサ56に到達している排ガスの空燃比が理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。
【0056】
後述する電気制御装置70は、図2に示された関係を「空燃比変換テーブルMapabyfs(Vabyfs)」としてROM内に格納していて、実際の出力値Vabyfsを空燃比変換テーブルMapabyfs(Vabyfs)に適用することにより上流側空燃比abyfs(検出空燃比abyfs)を取得するようになっている。
【0057】
再び、図1を参照すると、下流側空燃比センサ57は、エキゾーストパイプ42内に配設されている。下流側空燃比センサ57の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側(即ち、上流側触媒43と下流側触媒との間の排気通路)である。下流側空燃比センサ57は、周知の起電力式の酸素濃度センサ(安定化ジルコニア等の固体電解質を用いた濃淡電池型の酸素濃度センサ)である。下流側空燃比センサ57は、排気通路であって下流側空燃比センサ57が配設されている部位を通過するガスである被検出ガスの空燃比(下流側空燃比)に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比(下流側空燃比afdown)に応じた値である。
【0058】
この出力値Voxsは、図3に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V〜1.0V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V〜0V)となる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、理論空燃比相当電圧Vst、例えば、約0.5V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
【0059】
図1に示したアクセル開度センサ58は、運転者によって操作されるアクセルペダルAPの操作量Accp(アクセルペダル操作量、アクセルペダルAPの開度)を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。
【0060】
バッテリ残量センサ59は、図示しない車両に搭載されたバッテリの残量を検出するようになっている。このバッテリから電気加熱ヒータ44に電力が供給される。バッテリ残量センサ59は、バッテリの電解液濃度を検出するセンサであってもよく、バッテリ電圧を検出するセンサであってもよい。
【0061】
電気制御装置70は、「CPU、CPUが実行するプログラム、ルックアップテーブル(マップ)、関数及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等」からなる周知のマイクロコンピュータである。
【0062】
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。
【0063】
バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化(デフォルト値に設定)するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。
【0064】
電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ(実際にはイグナイタ)、モータ22、各気筒に対応して設けられた燃料噴射弁33、電気加熱ヒータ44、及び、スロットル弁アクチュエータ等に駆動信号(指示信号)を送出するようになっている。
【0065】
なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量(アクセルペダル操作量Accp)に応じて「機関10の吸気通路に配設されたスロットル弁34」の開度を変更するスロットル弁駆動手段を備えている。
【0066】
(第1制御装置による制御の概要)
第1制御装置は、機関の始動後において(即ち、機関の運転中)、後述する周知の手法に従って触媒43の酸素吸蔵量を推定する。即ち、第1制御装置は、推定酸素吸蔵量を算出する。加えて、第1制御手段は、機関の運転中、上流側触媒43が吸蔵し得る酸素の最大値である最大酸素吸蔵量(通常運転時最大酸素吸蔵量)を周知の手法に従って取得する。更に、第1制御装置は、機関の運転中、図示しないイグニッション・キー・スイッチがオン位置からオフ位置に変更されること等により機関停止要求が発生されると、機関10への燃料供給(燃料噴射)を停止する。同時に、第1制御装置は、モータ22によって機関10を回転駆動する。これにより、機関10を通して大気(即ち、過剰な酸素を多量に含むガス)が触媒43に送り込まれる。そして、第1制御装置は、下流側空燃比センサの出力値Voxsが最小出力値minとなった時点(又は、出力値Voxsが最小出力値minとなっている継続時間が所定時間となった時点)にて「触媒43の酸素吸蔵量が最大の量に到達した」と推定し、モータ22による機関10の回転駆動を停止する。このとき、第1制御装置は、推定酸素吸蔵量を通常運転時最大酸素吸蔵量に設定する(初期化する)。
【0067】
(実際の作動)
次に、第1制御装置の実際の作動について説明する。
【0068】
<燃料噴射制御>
第1制御装置のCPUは、図示しないイグニッション・キー・スイッチがオン位置にあるとき(或いは、常時)、所定時間が経過する毎に図4にフローチャートにより示した「燃料噴射フラグ操作ルーチン」を実行するようになっている。
【0069】
従って、所定のタイミングになると、CPUは図4のステップ400から処理を開始してステップ410に進み、機関始動要求が発生したか否かを判定する。機関始動要求は、イグニッション・キー・スイッチがオフ位置からオン位置に変更されたときに発生する。なお、機関10がハイブリッド車両に搭載されている場合、及び、自動運転停止・自動運転再開システムが採用された車両に搭載されている場合等、において、機関始動要求は所定の条件が満たされたときに発生する。
【0070】
<燃料噴射制御>
更に、CPUは、図5に示した燃料噴射制御ルーチンを「任意の気筒のクランク角度が吸気上死点前の所定クランク角度に一致する毎に」その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA(吸気上死点前90°クランク角度)である。クランク角度が前記所定クランク角度に一致した気筒は「燃料噴射気筒」とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量Fiの計算及び燃料噴射の指示を行う。
【0071】
任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ500から処理を開始し、ステップ510にて燃料噴射フラグXinjの値が「1」であるか否かを判定する。
【0072】
いま、燃料噴射フラグXinjの値が「1」であると仮定する。この場合、CPUは、ステップ510にて「Yes」と判定し、以下に述べるステップ520乃至ステップ550の処理を順に行い、ステップ595に進んで本ルーチンを一旦終了する。
【0073】
ステップ520:CPUは、「エアフローメータ51により計測された吸入空気量Ga、クランクポジションセンサ54の信号に基いて取得された機関回転速度NE、及び、ルックアップテーブルMapMc」に基いて「燃料噴射気筒の1回の吸気行程において、その燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Mc(k)」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気量推定モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
【0074】
ステップ530:CPUは、筒内吸入空気量Mc(k)を目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。従って、基本燃料噴射量Fbaseは、機関の空燃比(従って、上流側触媒43に流入する排ガスの空燃比)を目標空燃比abyfrに一致させるために計算上必要な燃料噴射量のフィードフォワード量である。このステップ540は、機関に供給される混合気の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード制御手段(基本燃料噴射量算出手段)を構成している。目標空燃比abyfrは、特別な場合を除き、触媒のウインドウの範囲内の基準空燃比(例えば、理論空燃比stoich=14.6)に設定されている。
【0075】
ステップ540:CPUは、基本燃料噴射量Fbaseを空燃比フィードバック量FFB(酸素吸蔵量フィードバック量FFB)により補正する。この空燃比フィードバック量FFによる補正は、空燃比フィードバック制御又は酸素吸蔵量フィードバック制御とも称呼される。より具体的には、CPUは、基本燃料噴射量Fbaseに空燃比フィードバック量FFBを加えることにより、指示燃料噴射量(最終燃料噴射量)Fiを算出する。空燃比フィードバック量FFBは、後述するルーチンにより別途算出されている推定酸素吸蔵量OSCを目標酸素吸蔵量に一致させるように変更される。目標酸素吸蔵量は、本例において、通常運転時最大酸素吸蔵量Cmaxの1/2(通常運転時最大酸素吸蔵量Cmaxの半分)である。空燃比フィードバック量FFBの算出方法については後述する。
【0076】
なお、通常運転時最大酸素吸蔵量Cmaxは、上流側触媒43が吸蔵し得る酸素の量の最大値であり、前回又はそれ以前の機関10の運転時において、所謂「アクティブ空燃比制御」によって別途取得されている。通常運転時最大酸素吸蔵量Cmaxは、上流側触媒43の劣化が進むほど小さくなる。アクティブ空燃比制御は、例えば、特開平5−133264号公報等に記載された周知の制御である。例えば、通常運転時最大酸素吸蔵量Cmaxは、次のようにして取得される。
【0077】
・上流側触媒43の温度が所定の温度であるとき、上流側触媒43に理論空燃比stoichよりもリッチな空燃比の排ガスを流入し続けて上流側触媒43の酸素吸蔵量を「0」に一致させる。このとき、下流側空燃比センサ57の出力値Voxsは最大出力値maxとなる。
・その時点から上流側触媒43に理論空燃比stoichよりもリーンな空燃比の排ガスを流入し続け、その時点から下流側空燃比センサ57の出力値Voxsが理論空燃比相当相当電圧Vstよりも小さい値(又は最小出力値min)となる時点までの期間において「上流側空燃比センサ56の出力値Vabyfsに基いて推定される三元触媒43に吸蔵される酸素吸蔵量変化量ΔOSC(=(単位時間あたりの燃料量)・0.23・(abyfs−stoich))」を積算することにより求める。この求められた値が通常運転時最大酸素吸蔵量Cmaxである。通常運転時最大酸素吸蔵量Cmaxは、取得される毎に、通常運転時最大酸素吸蔵量Cmaxを取得した期間における触媒の温度とともに、バックアップRAMに記憶・更新される。
【0078】
ステップ550:CPUは、「指示燃料噴射量Fiの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁33」から噴射させるための噴射指示信号を、その燃料噴射弁33に送出する。なお、CPUは、噴射指示信号を送出している期間(即ち、燃料噴射を行う期間、所定のタイミングにて点火を行うようにイグナイタに点火指示信号を送出する。
【0079】
この結果、推定酸素吸蔵量OSCを目標酸素吸蔵量に一致させるために計算上必要な量(必要と推定される量)の燃料が燃料噴射気筒の燃料噴射弁33から噴射させられる。即ち、ステップ520乃至ステップ550は、推定酸素吸蔵量OSCを使用しながら指示燃料噴射量Fi(機関10)を制御する指示燃料噴射量制御手段を構成している。
【0080】
一方、CPUがステップ510の処理を実行する時点において、燃料噴射フラグXinjの値が「0」に設定されていると、CPUはそのステップ510にて「No」と判定し、ステップ595に直接進んで本ルーチンを一旦終了する。この場合、ステップ550の処理による燃料噴射が実行されないので、燃料の供給(燃料噴射)が停止される運転(フューエルカット)が実行される。燃料供給が停止すると、後述する「機関の強制回転」が実行されない場合、機関10は回転を停止する。従って、触媒には大気が送り込まれない。
【0081】
<空燃比フィードバック量の算出>
CPUは図6にフローチャートにより示した「フィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ600から処理を開始し、ステップ610に進んで推定酸素吸蔵量OSCを読み込む。推定酸素吸蔵量OSCは、後述する図7に示したルーチンにより別途算出され、バックアップRAM内に格納されている。
【0082】
次に、CPUはステップ620に進み、通常運転時最大酸素吸蔵量Cmaxを読み込む。前述したように、通常運転時最大酸素吸蔵量Cmaxは別途算出されている。その後、CPUはステップ630に進み、推定酸素吸蔵量OSCが目標酸素吸蔵量(=Cmax/2)以上であるか否かを判定する。
【0083】
このとき、推定酸素吸蔵量OSCが目標酸素吸蔵量(=Cmax/2)以上であれば、CPUはステップ630にて「Yes」と判定してステップ640に進み、空燃比フィードバック量FFBを一定値dfだけ大きくする。この処理が繰り返されることにより指示燃料噴射量Fiが増大するので、機関の空燃比が理論空燃比stoichよりも小さいリッチ空燃比となる。その結果、触媒43に過剰な未燃物が流入するので、酸素吸蔵量は減少して目標酸素吸蔵量に近づく。その後、CPUはステップ695に進み、本ルーチンを一旦終了する。
【0084】
一方、CPUがステップ630の処理を行う時点において、推定酸素吸蔵量OSCが目標酸素吸蔵量(=Cmax/2)未満であれば、CPUはステップ630にて「No」と判定してステップ650に進み、空燃比フィードバック量FFBを一定値dfだけ小さくする。この処理が繰り返されることにより指示燃料噴射量Fiが減少するので、機関の空燃比が理論空燃比stoichよりも大きいリーン空燃比となる。その結果、触媒43に過剰な酸素が流入するので、酸素吸蔵量は増大して目標酸素吸蔵量に近づく。その後、CPUはステップ695に進み、本ルーチンを一旦終了する。
【0085】
<推定酸素吸蔵量OSCの算出>
CPUは図7にフローチャートにより示した「推定酸素吸蔵量OSC算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ700から処理を開始し、ステップ710に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ710にて「No」と判定し、ステップ795に直接進んで本ルーチンを一旦終了する。
【0086】
これに対し、CPUがステップ710の処理を行う時点において、燃料噴射フラグXinjの値が「1」であると(即ち、燃料噴射が実行されることにより機関10に燃料が供給されていると)、CPUはステップ710にて「Yes」と判定して以下に述べるステップ720乃至ステップ740の処理を順に行い、その後、ステップ795に進んで本ルーチンを一旦終了する。
【0087】
ステップ720:CPUは、下記の(1)式に従って、所定の単位時間内の酸素吸蔵量変化量ΔOSC(酸素吸蔵量の増大量)を算出する。(1)式において、値「0.23」は大気中に含まれる酸素の重量割合である。SFiは前記単位時間内の指示燃料噴射量Fiの合計である。abyfsは、上流側空燃比センサ56の出力値Vabyfsを図2に示した空燃比変換テーブルMapabyfs(Vabyfs)に適用することにより求められた上流側空燃比abyfs(即ち、触媒43に流入するガスの空燃比)である。stoichは、理論空燃比(例えば、14.6)である。
ΔOSC=0.23・SFi・(abyfs−stoich) …(1)
【0088】
(1)式に示したように、単位時間内の指示燃料噴射量Fiの合計に、同単位時間における触媒流入ガスの空燃比の理論空燃比からの偏移(abyfs−stoich)を乗じることにより、同単位時間における空気の過不足量が求められ、この空気の過不足量に酸素の重量割合を乗じることにより同単位時間における酸素吸蔵量変化量ΔOSCが求められる。
【0089】
ステップ730:CPUは、下記の(2)式に示したように、酸素吸蔵量変化量ΔOSCを積算することにより、触媒43の酸素吸蔵量OSCを推定する(推定酸素吸蔵量OSCを算出する。)。(2)式の左辺のOSCは更新後の推定酸素吸蔵量OSCであり、(2)式の右辺のOSCは更新前の推定酸素吸蔵量OSCである。
OSC=OSC+ΔOSC …(2)
【0090】
ステップ740:CPUは、ステップ730にて算出された推定酸素吸蔵量OSCを、「0」と通常運転時最大酸素吸蔵量Cmaxとの間の値に制限する。より具体的に述べると、酸素吸蔵量は「0」以下にはなり得ないので、推定酸素吸蔵量OSCが「0」以下となった場合には推定酸素吸蔵量OSCは「0」に設定される。更に、酸素吸蔵量は通常運転時最大酸素吸蔵量Cmax以上にはなり得ないので、推定酸素吸蔵量OSCが最大酸素吸蔵量Cmax以上となった場合には推定酸素吸蔵量OSCは通常運転時最大酸素吸蔵量Cmaxに設定される。
【0091】
なお、CPUは、下流側空燃比センサ57の出力値Voxsが0.7(V)以上となったとき、即ち、触媒43の下流側空燃比が明白なリッチ空燃比となったとき、推定酸素吸蔵量OSCを「0」に設定してもよい。
【0092】
<機関停止時制御の開始>
CPUは図8にフローチャートにより示した「機関停止時制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ800から処理を開始し、ステップ810に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ810にて「No」と判定してステップ895に直接進み、本ルーチンを一旦終了する。
【0093】
一方、CPUがステップ810の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると(即ち、燃料噴射が実行されていて機関10に燃料が供給されていると)、CPUはそのステップ810にて「Yes」と判定してステップ820に進み、機関強制回転フラグXMの値が「0」であるか否かを判定する。後述するように、機関強制回転フラグXMの値は、モータ22による機関10の強制回転を開始したときに「1」に設定され、モータ22による機関10の強制回転を終了したときに「0」に設定される。
【0094】
CPUがステップ820の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、モータ22による機関10の強制回転が行われていると)、CPUはそのステップ820にて「No」と判定してステップ895に直接進み、本ルーチンを一旦終了する。
【0095】
一方、CPUがステップ820の処理を行う時点において、機関強制回転フラグXMの値が「0」であると、CPUはそのステップ820にて「Yes」と判定してステップ830に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ830にて「No」と判定し、ステップ895に直接進んで本ルーチンを一旦終了する。
【0096】
一方、CPUがステップ830の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ830にて「Yes」と判定し、以下に述べるステップ840乃至ステップ860の処理を順に行い、その後、ステップ895に進んで本ルーチンを一旦終了する。
【0097】
ステップ840:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、CPUは図5のステップ510にて「No」と判定するので、燃料噴射(即ち、機関10への燃料の供給)が停止する。従って、機関10は、それ自身で回転するトルクを発生することができない。
【0098】
ステップ850:CPUは、モータ22を用いて機関10を強制的に回転させる。これにより、機関10を通じて大気が吸気通路から排気通路へと送出される。その結果、触媒43に大気(多量の酸素を含むガス)が供給される。従って、触媒43の酸素吸蔵量は急速に増大する。
ステップ860:CPUは、機関強制回転フラグXMの値を「1」に設定する。
【0099】
<機関停止時制御の終了>
CPUは図9にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ900から処理を開始し、ステップ910に進んで機関強制回転フラグXMの値が「1」であるか否かを判定する。このとき、機関強制回転フラグXMの値が「0」であると、CPUはステップ910にて「No」と判定してステップ995に直接進み、本ルーチンを一旦終了する。
【0100】
一方、CPUがステップ910の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、機関10がモータ22によって強制的に回転させられていると)、CPUはそのステップ910にて「Yes」と判定してステップ920に進み、下流側空燃比センサ57の出力値Voxsが最小出力値min以下となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリーン空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が最大の量に到達していると、触媒43からは多量の酸素が流出するので、出力値Voxsは明白なリーン空燃比を示す値となる。なお、CPUは、ステップ920において、出力値Voxsが最小出力値min以下となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が最大の量に到達したか否かを判定してもよい。
【0101】
CPUがステップ920の処理を行う時点において、出力値Voxsが最小出力値min以下となっていなければ、CPUはそのステップ920にて「No」と判定し、ステップ995に直接進んで本ルーチンを一旦終了する。この結果、モータ22による機関10の強制的な回転は継続される。
【0102】
一方、CPUがステップ920の処理を行う時点において、出力値Voxsが最小出力値min以下となっていると、CPUは酸素吸蔵量が最大の量に到達したと判定する。即ち、この場合、CPUはステップ920にて「Yes」と判定し、以下に述べるステップ930乃至ステップ950の処理を順に行い、その後、ステップ995に進んで本ルーチンを一旦終了する。
【0103】
ステップ930:CPUは、モータ22の回転を停止させ、モータ22による機関10の強制回転を終了する。
ステップ940:CPUは、機関強制回転フラグXMの値を「0」に設定する。
ステップ950:CPUは、推定酸素吸蔵量OSCを「通常運転時最大酸素吸蔵量Cmax」に設定する(OSC=Cmax)。即ち、CPUは、推定酸素吸蔵量OSCを通常運転時最大酸素吸蔵量Cmaxに一致させる「推定酸素吸蔵量OSCの初期化」を行う。
【0104】
以上、説明したように、第1制御装置は、内燃機関10の排気通路に配設された触媒43の酸素吸蔵量OSCを推定する(推定酸素吸蔵量OSCを算出する)酸素吸蔵量推定手段を備え(図7を参照。)、前記酸素吸蔵量推定手段により推定される酸素吸蔵量OSCを使用して前記機関10を制御するように構成された内燃機関の制御装置(図6、及び、図5のステップ540及び550等を参照。)であって、
前記機関の運転中に前記機関の運転を停止する要求である機関停止要求が発生したか否かを判定する停止要求発生判定手段(図8のステップ830)と、
前記機関停止要求が発生した場合に前記触媒43の実際の酸素吸蔵量が最大の量に到達するように前記触媒43に過剰な酸素(過剰な酸素を含む大気)を供給する制御手段(図8のステップ840、ステップ850、及び、図5のステップ510での「No」との判定を参照。)と、
前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したか否かを判定するとともに(図9のステップ920)、前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき前記推定される酸素吸蔵量(推定酸素吸蔵量OSC)を前記触媒43の最大酸素吸蔵量(通常運転時最大酸素吸蔵量Cmaxに基く値)に設定する推定酸素吸蔵量初期化手段(図9のステップ950)と、
を備える。
【0105】
即ち、前記制御手段は、
前記機関停止要求が発生した時点から前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定される時点まで前記機関10を回転させることにより(図8のステップ830及びステップ850、図9のステップ920及びステップ930)、前記機関10を通して前記触媒43に過剰な酸素を供給し、前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき前記機関の回転を停止させるように構成されている(図9のステップ920及びステップ930)。
【0106】
換言すると、前記制御手段は、
前記機関停止要求が発生した場合、前記触媒43の実際の酸素吸蔵量を前記最大の量に到達させるべく前記機関10への燃料の供給を停止し(図8のステップ830、ステップ840及び図5のステップ510での「No」との判定を参照。)、且つ、前記機関10を前記機関以外の動力源(モータ22)により強制的に回転させる(図8のステップ830及びステップ850)ことにより前記触媒43に過剰な酸素を含む大気を供給するとともに、前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき(図9のステップ920での「Yes」との判定を参照。)、前記機関以外の動力源(モータ22)による前記機関10の強制的な回転を停止することにより前記機関の回転を停止させるように構成され(図9のステップ930)、
前記推定酸素吸蔵量初期化手段は、
前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき(図9のステップ920での「Yes」との判定を参照。)前記推定される酸素吸蔵量を前記触媒43の最大酸素吸蔵量(通常時最大酸素吸蔵量に基く値)に設定するように構成されている(図9のステップ950)。
【0107】
この第1制御装置によれば、機関停止要求が発生した場合、機関10の回転がモータ22によって継続されるとともに、触媒43に機関から大気が送り込まれ、触媒43の実際の酸素吸蔵量が最大の量となるように移行させられる。そして、触媒の実際の酸素吸蔵量が最大の量へと移行したと推定される時点にて、推定酸素吸蔵量OSCが通常運転時最大酸素吸蔵量Cmaxに基く値(最大酸素吸蔵量)へと一致させられる。
【0108】
これにより、機関10の回転が停止した時点において推定酸素吸蔵量OSCと実際の酸素吸蔵量とを高い精度をもって一致させることができるので、その後の機関始動時点から推定酸素吸蔵量OSCと実際の酸素吸蔵量との差を小さくすることができる。この結果、推定酸素吸蔵量OSCを用いた機関の制御(例えば空燃比制御)を、機関10の始動直後から適切に行うことができる。更に、推定酸素吸蔵量OSCの初期化に伴う作動(モータ22による機関10の強制回転)が機関停止要求の発生後に行われるので、推定酸素吸蔵量OSCの初期化に伴う作動が「機関10を搭載した車両の走行」に悪影響を及ぼすことを回避することもできる。
【0109】
更に、第1制御装置によれば、機関停止要求発生後において触媒43に多量の酸素が短時間にて供給されるので、触媒43の酸素吸蔵量を最大の量に短時間にて一致させることができる。この結果、機関停止要求後において機関を回転させておく時間を短くすることができ、他の動力源(モータ22)により消費されるエネルギーの量(例えば、バッテリからのエネルギーの消費量)を少なくすることができる。なお、他の動力源は、例えば機関が所謂ハイブリッド車両に搭載されている場合、そのハイブリッド車両のモータであってもよく、機関が通常の車両に搭載されている場合、その車両のスタータモータであってもよい。
【0110】
<第2制御装置>
次に、本発明の第2実施形態に係る制御装置(以下、「第2制御装置」とも称呼する。)について説明する。この第2制御装置は、機関停止要求が発生したとき、燃料噴射を停止するとともに、電気加熱ヒータ44に通電することにより触媒43の温度を所定値(目標温度)にまで上昇させる。そして、触媒の温度が所定値となってから、モータ22によって機関10を強制的に回転させることにより触媒43に酸素(実際には大気)を供給する。その他の点は第1制御装置と同様である。
【0111】
より具体的に述べると、第2制御装置は、図10に示したように作動する。即ち、時刻t1にて機関始動要求が発生すると、燃料噴射フラグXinjが「1」に設定され、燃料噴射が開始する。
【0112】
この状態において(即ち、機関の運転中)、時刻t2にて機関停止要求が発生すると、ヒータ通電フラグXHの値が「1」に設定され、電気加熱ヒータ44が通電される。これにより、触媒の温度は上昇して時刻t3にて目標温度Ttgtに到達する。
【0113】
時刻t3にて触媒の温度が目標温度Ttgtに到達すると、燃料噴射フラグXinjの値は「0」に設定されるので、燃料噴射が停止する。なお、燃料噴射フラグXinjの値は時刻t2にて「0」に設定されてもよい。即ち、時刻t2にて燃料噴射が停止されてもよい。
【0114】
更に、時刻t3において、機関強制回転フラグXMの値が「1」に設定される。これにより、モータ22によって機関10が強制的に回転させられる。その結果、機関10を通じて大気が吸気通路から排気通路へと送出されるので、触媒43に大気(多量の酸素を含むガス)が供給される。従って、触媒43の酸素吸蔵量は急速に増大する。
【0115】
その後、時刻t4にて下流側空燃比センサ57の出力値Voxsは最小出力値minに到達する。このとき、機関強制回転フラグXMの値は「0」に設定され、それにより、モータ22による機関10の強制回転が終了する。このとき、推定酸素吸蔵量OSCは最大酸素吸蔵量に設定される。
【0116】
(実際の作動)
次に、第2制御装置の実際の作動について説明する。第2制御装置のCPUは、図4乃至図7、及び、図11乃至図13にフローチャートにより示したルーチンを実行する。図4乃至図7に示したルーチンについては説明済みである。従って、以下、図11乃至図13に示したルーチンを参照しながら説明する。
【0117】
<触媒温度制御制御の開始>
CPUは図11にフローチャートにより示した「触媒温度制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1100から処理を開始し、ステップ1110に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1110にて「No」と判定してステップ1195に直接進み、本ルーチンを一旦終了する。
【0118】
一方、CPUがステップ1110の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると(即ち、燃料噴射が実行されていて機関10に燃料が供給されていると)、CPUはそのステップ1110にて「Yes」と判定してステップ1120に進み、機関強制回転フラグXMの値が「0」であるか否かを判定する。
【0119】
CPUがステップ1120の処理を行う時点において、機関強制回転フラグXMの値が「1」であると、CPUはそのステップ1120にて「No」と判定してステップ1195に直接進み、本ルーチンを一旦終了する。
【0120】
一方、CPUがステップ1120の処理を行う時点において、機関強制回転フラグXMの値が「0」であると、CPUはそのステップ1120にて「Yes」と判定してステップ1130に進み、ヒータ通電フラグXHの値が「0」であるか否かを判定する。後述するように、ヒータ通電フラグXHの値は、電気加熱ヒータ44への通電を開始したとき(触媒43の加熱を開始したとき)に「1」に設定され、電気加熱ヒータ44への通電を終了したときに「0」に設定される。
【0121】
CPUがステップ1130の処理を行う時点において、ヒータ通電フラグXHの値が「1」であると、CPUはそのステップ1130にて「No」と判定してステップ1195に直接進み、本ルーチンを一旦終了する。
【0122】
一方、CPUがステップ1130の処理を行う時点において、ヒータ通電フラグXHの値が「0」であると、CPUはそのステップ1130にて「Yes」と判定してステップ1140に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ1140にて「No」と判定し、ステップ1195に直接進んで本ルーチンを一旦終了する。
【0123】
一方、CPUがステップ1140の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ1140にて「Yes」と判定し、以下に述べるステップ1150及びステップ1160の処理を順に行い、その後、ステップ1195に進んで本ルーチンを一旦終了する。
【0124】
ステップ1150:CPUは、電気加熱ヒータ44への通電を開始するとともに、実際の触媒温度が目標温度Ttgtに一致するように、電気加熱ヒータ44に供給する電力(実際には、電気加熱ヒータ44のヒータを流れる電流)を制御する。電気加熱ヒータ44が通電されているときの触媒温度は、電気加熱ヒータ44の抵抗値及び電流から推定することができる。なお、触媒43内に触媒温度センサを配設しておき、CPUはその触媒温度センサの出力値に基づいて触媒温度を取得してもよい。
ステップ1160:CPUは、ヒータ通電フラグXHの値を「1」に設定する。
【0125】
このように、CPUは、燃料噴射(燃料供給)が実行されていて、モータ22による機関強制回転が実行されておらず、且つ、電気加熱ヒータ44による触媒の加熱が実行されていない場合に機関停止要求が発生すると、電気加熱ヒータ44への通電を開始し、触媒の温度を目標温度Ttgtに一致させる。
【0126】
<機関強制回転開始>
CPUは図12にフローチャートにより示した「機関強制回転開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1200から処理を開始し、ステップ1210に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1210にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0127】
一方、CPUがステップ1210の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると(即ち、燃料噴射が実行されていて機関10に燃料が供給されていると)、CPUはそのステップ1210にて「Yes」と判定してステップ1220に進み、機関強制回転フラグXMの値が「0」であるか否かを判定する。
【0128】
CPUがステップ1220の処理を行う時点において、機関強制回転フラグXMの値が「1」であると、CPUはそのステップ1220にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0129】
一方、CPUがステップ1220の処理を行う時点において、機関強制回転フラグXMの値が「0」であると、CPUはそのステップ1220にて「Yes」と判定してステップ1230に進み、ヒータ通電フラグXHの値が「1」であるか否かを判定する。このとき、ヒータ通電フラグXHの値が「0」であると、CPUはステップ1230にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0130】
一方、CPUがステップ1230の処理を行う時点において、ヒータ通電フラグXHの値が「1」であると、CPUはそのステップ1230にて「Yes」と判定してステップ1240に進み、触媒の温度が目標温度Ttgtの近傍であるか否か(目標温度Ttgtから所定値αを減じた値以上であり且つ目標温度Ttgtに所定値αを加えた値以下であるか否か)を判定する。このとき、触媒の温度が目標温度Ttgtの近傍でなければ、CPUはステップ1240にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0131】
一方、CPUがステップ1240の処理を行う時点において、触媒の温度が目標温度Ttgtの近傍であると、CPUはそのステップ1240にて「Yes」と判定し、以下に述べるステップ1250乃至ステップ1270の処理を順に行い、その後、ステップ1295に直接進んで本ルーチンを一旦終了する。
【0132】
ステップ1250:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、CPUは図5のステップ510にて「No」と判定するので、燃料噴射(即ち、機関10への燃料の供給)が停止する。従って、機関10は、それ自身で回転するトルクを発生することができない。
【0133】
ステップ1260:CPUは、モータ22に用いて機関10を強制的に回転させる。これにより、機関10を通じて大気が吸気通路から排気通路へと送出される。その結果、触媒43に大気(多量の酸素を含むガス)が供給される。従って、触媒43の酸素吸蔵量は急速に増大する。
ステップ1270:CPUは、機関強制回転フラグXMの値を「1」に設定する。
【0134】
このように、CPUは、燃料噴射(燃料供給)が実行されていて、モータ22による機関強制回転が実行されておらず、且つ、電気加熱ヒータ44による触媒の加熱が実行されている場合に触媒の温度が目標温度Ttgtに実質的に一致すると、燃料噴射を停止するとともにモータ22による機関強制回転を開始する。
【0135】
<機関停止時制御の終了>
CPUは図13にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1300から処理を開始し、ステップ1310に進んで燃料噴射フラグXinjの値が「0」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「1」であると、CPUはステップ1310にて「No」と判定してステップ1395に直接進み、本ルーチンを一旦終了する。
【0136】
一方、CPUがステップ1310の処理を行う時点において、燃料噴射フラグXinjの値が「0」に設定されていると、CPUはそのステップ1310にて「Yes」と判定してステップ1320に進み、機関強制回転フラグXMの値が「1」であるか否かを判定する。このとき、機関強制回転フラグXMの値が「0」であると、CPUはステップ1320にて「No」と判定してステップ1395に直接進み、本ルーチンを一旦終了する。
【0137】
一方、CPUがステップ1320の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、機関10がモータ22によって強制的に回転させられていると)、CPUはそのステップ1320にて「Yes」と判定してステップ1330に進み、ヒータ通電フラグXHの値が「1」であるか否かを判定する。このとき、ヒータ通電フラグXHの値が「0」であると、CPUはステップ1330にて「No」と判定してステップ1395に直接進み、本ルーチンを一旦終了する。
【0138】
一方、CPUがステップ1330の処理を行う時点において、ヒータ通電フラグXHの値が「1」に設定されていると、CPUはそのステップ1330にて「Yes」と判定してステップ1340に進み、下流側空燃比センサ57の出力値Voxsが最小出力値min以下となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリーン空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が最大の量に到達していると、触媒43からは多量の酸素が流出するので、出力値Voxsは明白なリーン空燃比を示す値となる。なお、CPUは、ステップ1340において、出力値Voxsが最小出力値min以下となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が最大の量に到達したか否かを判定してもよい。
【0139】
CPUがステップ1340の処理を行う時点において、出力値Voxsが最小出力値min以下となっていなければ、CPUはそのステップ1340にて「No」と判定し、ステップ1395に直接進んで本ルーチンを一旦終了する。この結果、モータ22による機関10の強制的な回転は継続される。
【0140】
一方、CPUがステップ1340の処理を行う時点において、出力値Voxsが最小出力値min以下となっていると、CPUは触媒43の酸素吸蔵量が最大の量に到達したと判定する。即ち、この場合、CPUはそのステップ1340にて「Yes」と判定し、以下に述べるステップ1350乃至ステップ1390の処理を順に行い、その後、ステップ1395に進んで本ルーチンを一旦終了する。
【0141】
ステップ1350:CPUは、モータ22の回転を停止させ、モータ22による機関10の強制回転を終了する。
ステップ1360:CPUは、機関強制回転フラグXMの値を「0」に設定する。
ステップ1370:CPUは、電気加熱ヒータ44への通電を停止する。即ち、電気加熱ヒータ44のヒータ電流を「0」に設定することにより、電気加熱ヒータ44への電力の供給を停止する。
ステップ1380:CPUは、ヒータ通電フラグXHの値を「0」に設定する。
ステップ1390:CPUは、推定酸素吸蔵量OSCを通常運転時最大酸素吸蔵量Cmaxに設定する(OSC=Cmax)。即ち、推定酸素吸蔵量OSCを通常運転時最大酸素吸蔵量Cmaxに一致させる。なお、第2制御装置において、通常運転時最大酸素吸蔵量Cmaxは「機関10が通常の運転を行っている場合であって且つ触媒の温度が目標温度Ttgtであるとき」に取得されるようになっている。
【0142】
このように、CPUは、燃料噴射(燃料供給)が停止されており、モータ22による機関強制回転が実行されていて、且つ、電気加熱ヒータ44による触媒の加熱が実行されている場合に、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す状態になったとき、モータ22による機関強制回転を停止するとともに、電気加熱ヒータ44への通電を停止する。更に、CPUは推定酸素吸蔵量OSCを最大酸素吸蔵量(通常運転時最大酸素吸蔵量Cmaxに基く値)に設定する。
【0143】
以上、説明したように、第2制御装置は、機関停止要求が発生した場合に電気加熱ヒータ44を用いて前記触媒の温度を所定温度(目標温度Ttgt)へと上昇させるとともに、前記触媒の温度を所定温度(目標温度Ttgt)へと上昇させた状態にて(前記触媒の温度が目標温度Ttgtとなったとき)、機関の燃料噴射(燃料供給)を停止した状態にてモータ22により機関10を強制回転させる。
【0144】
触媒43が吸蔵し得る酸素の最大の量は、触媒の温度に依存して変化する。従って、モータ22により機関10を強制回転させている場合の触媒の温度が機関停止要求発生時間において相違すると、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点における触媒43の実際の酸素吸蔵量が、「機関10が通常の運転を行っている場合であって且つ触媒の温度が目標温度Ttgtであるとき」に取得された通常運転時最大酸素吸蔵量Cmaxと必ずしも一致しない。
【0145】
これに対し、第2制御装置は、機関停止要求の発生後に触媒の温度を目標温度Ttgtに実質的に一致させた状態にてモータ22により機関10を強制回転させることにより、触媒43に酸素を供給する。従って、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点(触媒43の酸素吸蔵量が最大の量に到達したと推定される時点)における実際の酸素吸蔵量が通常運転時最大酸素吸蔵量Cmaxに近しい値となる。加えて、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点にて、推定酸素吸蔵量OSCが通常運転時最大酸素吸蔵量Cmaxに一致させられる。その結果、推定酸素吸蔵量OSCを真の酸素吸蔵量に精度良く一致させることができる(推定酸素吸蔵量OSCを精度良く初期化させることができる)。なお、第2制御手段は、通常時最大酸素吸蔵量Cmaxを触媒の温度が目標温度Ttgt以外の温度Totherであるときに取得し、その温度Totherと目標温度Ttgtと通常運転時最大酸素吸蔵量Cmaxとに基き、触媒43の酸素吸蔵量が最大の量に到達したと推定される時点にて推定酸素吸蔵量OSCに設定される最大酸素吸蔵量を求めてもよい。
【0146】
<第3制御装置>
次に、本発明の第3実施形態に係る制御装置(以下、「第3制御装置」とも称呼する。)について説明する。この第3制御装置は、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点(触媒の酸素吸蔵量が最大の量に到達したと推定される時点)にてモータ22による機関の強制回転を終了し、その時点の触媒の温度を取得する。更に、第3制御装置は、その取得した触媒の温度に基いて「その時点の触媒の最大酸素吸蔵量Cmax(その時点の触媒の酸素吸蔵量)」を取得し、推定酸素吸蔵量OSCを「その取得した最大酸素吸蔵量Cmax」に一致させる。第3制御装置は、その他の点において第1制御装置と同様である。
【0147】
(実際の作動)
次に、第3制御装置の実際の作動について説明する。第3制御装置のCPUは、図4乃至図8、及び、図14にフローチャートにより示したルーチンを実行する。図4乃至図8に示したルーチンについては説明済みである。従って、以下、図14に示したルーチンを参照しながら説明する。
【0148】
CPUは図14にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1400から処理を開始し、ステップ1410に進んで機関強制回転フラグXMの値が「1」であるか否かを判定する。このとき、機関強制回転フラグXMの値が「0」であると、CPUはステップ1410にて「No」と判定してステップ1495に直接進み、本ルーチンを一旦終了する。
【0149】
一方、CPUがステップ1410の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、機関10がモータ22によって強制的に回転させられていると)、CPUはそのステップ1410にて「Yes」と判定してステップ1420に進み、下流側空燃比センサ57の出力値Voxsが最小出力値min以下となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリーン空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が最大の量に到達していると、触媒43からは多量の酸素が流出するので、出力値Voxsは明白なリーン空燃比を示す値となる。なお、CPUは、ステップ1420において、出力値Voxsが最小出力値min以下となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が最大の量に到達したか否かを判定してもよい。
【0150】
CPUがステップ1420の処理を行う時点において、出力値Voxsが最小出力値min以下となっていなければ、CPUはそのステップ1420にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。この結果、モータ22による機関10の強制的な回転は継続される。
【0151】
一方、CPUがステップ1420の処理を行う時点において、出力値Voxsが最小出力値min以下となっていると、CPUは酸素吸蔵量が最大の量に到達したと判定する。即ち、この場合、CPUはそのステップ1420にて「Yes」と判定し、以下に述べるステップ1430乃至ステップ1480の処理を順に行い、その後、ステップ1495に進んで本ルーチンを一旦終了する。
【0152】
ステップ1430:CPUは、モータ22の回転を停止させ、モータ22による機関10の強制回転を終了する。
ステップ1440:CPUは、機関強制回転フラグXMの値を「0」に設定する。
【0153】
ステップ1450:CPUは、図示しないルーチンにより別途推定されている触媒温度Tempccroを取得する(読み込む)。触媒温度Tempccroは、機関10の負荷KL及び機関回転速度NEに基づいて推定される。即ち、CPUはルックアップテーブルMapTex(KL,NE)に実際の「負荷KL及び機関回転速度NE」を適用することにより排ガス温度Texを所定時間が経過する毎に推定する。その後、CPUは、下記の(3)式に従って触媒温度Tempccroを推定する。(3)式の値pは「0」より大きく「1」より小さい定数である。(3)式の左辺のTempccroが新たに更新された触媒温度Tempccroであり、(3)式の右辺のTempccropは更新前の触媒温度Tempccroである。なお、モータ22により機関が強制回転させられているとき、CPUは排ガス温度Texに大気温度を代入する。大気温度は、図示されていない大気温度センサにより取得される。
Tempccro=p・Tempccro+(1−p)・Tex …(3)
【0154】
なお、上流側触媒43内に触媒温度センサを配設しておき、CPUはその触媒温度センサの出力値に基づいて触媒温度Tempccroを取得してもよい。
【0155】
ステップ1460:CPUは、機関10の通常の運転中に図示しないルーチンにより別途算出しておいた通常運転時最大酸素吸蔵量を読み込む。この通常運転時最大酸素吸蔵量は、便宜上、最大酸素吸蔵量の基準値Cmax0とも称呼される。基準値Cmax0は、触媒温度Tempccroが特定温度であるときに取得される最大酸素吸蔵量Cmaxである。
【0156】
ステップ1470:CPUは、現時点における触媒の酸素吸蔵量(即ち、最大酸素吸蔵量Cmax)を、ステップ1450にて取得した触媒温度Tempccroと、ステップ1460にて取得した最大酸素吸蔵量の基準値Cmax0と、に基いて推定する。より具体的に述べると、CPUは、触媒温度Tempccroと最大酸素吸蔵量の基準値Cmax0とをルックアップテーブルMapCmax(Tempccro,Cmax0)に適用することにより、最大酸素吸蔵量Cmaxを推定する。このテーブルによれば、触媒温度Tempccroが高いほど、且つ、最大酸素吸蔵量の基準値Cmax0が大きいほど、最大酸素吸蔵量Cmaxは大きい値となるように求められる。
【0157】
ステップ1480:CPUは、推定酸素吸蔵量OSCを「ステップ1470にて算出した最大酸素吸蔵量Cmax」に設定する(OSC=Cmax)。即ち、推定酸素吸蔵量OSCを最大酸素吸蔵量Cmaxに一致させる。
【0158】
以上、説明したように、第3制御装置は、機関停止要求の発生後に燃料供給を停止し且つモータ22により機関10を強制回転させることにより触媒に酸素を供給する。更に、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点(触媒の酸素吸蔵量が最大の量に到達したと推定される時点)における触媒温度Tempccroに基いて、その時点の最大酸素吸蔵量Cmaxを「酸素吸蔵量の基準値Cmax0及び触媒温度Tempccro」に基いて算出し、推定酸素吸蔵量OSCをその算出した最大酸素吸蔵量Cmaxに一致させる。その結果、触媒の酸素吸蔵量が最大の量に到達したと推定される時点における触媒温度Tempccに関わらず、推定酸素吸蔵量OSCを真の酸素吸蔵量に精度良く一致させることができる(推定酸素吸蔵量OSCを精度良く初期化させることができる)。
【0159】
<第4制御装置>
次に、本発明の第4実施形態に係る制御装置(以下、「第4制御装置」とも称呼する。)について説明する。この第4制御装置は、機関の運転中に機関停止要求が発生すると、目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定し、空燃比フィードバック制御を停止し、且つ、燃料噴射(燃料供給)を継続する。これにより、機関停止要求が発生した時点以降において機関に供給される混合気の空燃比が理論空燃比stoichよりも小さい(リッチな)空燃比となるので触媒43に過剰な未燃物が流入する。よって、触媒43の酸素吸蔵量は減少する。
【0160】
更に、第4制御装置は、下流側空燃比センサ57の出力値Voxsが最大出力値maxに到達したとき(触媒の酸素吸蔵量が最小の量に到達したと推定される時点)、触媒43の酸素吸蔵量が最小酸素吸蔵量である「0」に到達したと判定し、推定酸素吸蔵量OSCを「0」に設定する。第4制御装置は、その他の点において第1制御装置と同様である。
【0161】
(実際の作動)
次に、第4制御装置の実際の作動について説明する。第4制御装置のCPUは、図4乃至図7、図15及び図16にフローチャートにより示したルーチンを実行する。図4乃至図7に示したルーチンについては説明済みである。従って、以下、図15及び図16に示したルーチンを参照しながら説明する。
【0162】
CPUは図15にフローチャートにより示した「機関停止時制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1500から処理を開始し、ステップ1510に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1510にて「No」と判定してステップ1595に直接進み、本ルーチンを一旦終了する。
【0163】
一方、CPUがステップ1510の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると、CPUはそのステップ1510にて「Yes」と判定してステップ1520に進み、リッチ化フラグXrichの値が「0」であるか否かを判定する。リッチ化フラグXrichは、後述するように、目標空燃比abyfrが「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定されたとき「1」に設定され、目標空燃比abyfrが理論空燃比stoichに設定されたとき「0」に設定される。
【0164】
CPUがステップ1520の処理を行う時点においてリッチ化フラグXrichの値が「1」であると、CPUはステップ1520にて「No」と判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。
【0165】
一方、CPUがステップ1520の処理を行う時点において、リッチ化フラグXrichの値が「0」に設定されていると、CPUはそのステップ1520にて「Yes」と判定してステップ1530に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ1530にて「No」と判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。
【0166】
一方、CPUがステップ1530の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ1530にて「Yes」と判定し、以下に述べるステップ1540乃至ステップ1560の処理を順に行い、その後、ステップ1595に進んで本ルーチンを一旦終了する。
【0167】
ステップ1540:CPUは、目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定する。
ステップ1550:CPUは、リッチ化フラグXrichの値を「1」に設定する。
ステップ1560:CPUは、空燃比フィードバック量FFBを「0」に設定し、空燃比フィードバック制御を停止する。
【0168】
この結果、図5のステップ530及びステップ540の処理によって、指示燃料噴射量Fiは、機関の空燃比をリッチ空燃比africhに一致させるために必要な量となる。従って、触媒43に過剰な未燃物が流入するので、触媒43の酸素吸蔵量は減少して行く。
【0169】
CPUは図16にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1600から処理を開始し、ステップ1610に進んでリッチ化フラグXrichの値が「1」であるか否かを判定する。このとき、リッチ化フラグXrichの値が「0」であると、CPUはステップ1610にて「No」と判定してステップ1695に直接進み、本ルーチンを一旦終了する。
【0170】
一方、CPUがステップ1610の処理を行う時点において、リッチ化フラグXrichの値が「1」に設定されていると(即ち、機関の空燃比がリッチ空燃比africhに一致させられていると)、CPUはそのステップ1610にて「Yes」と判定してステップ1620に進み、下流側空燃比センサ57の出力値Voxsが最大出力値max以上となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリッチ空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が「0」に到達していると、触媒43からは多量の未燃物が流出するので、出力値Voxsは明白なリッチ空燃比を示す値となる。なお、CPUは、ステップ1620において、出力値Voxsが最大出力値max以上となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が「0」に到達したか否かを判定してもよい。
【0171】
CPUがステップ1620の処理を行う時点において、出力値Voxsが最大出力値max以上となっていなければ、CPUはそのステップ1620にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。この結果、燃料噴射(燃料供給)が継続されるとともに、機関の空燃比はリッチ空燃比africhに一致させられ続ける。
【0172】
一方、CPUがステップ1620の処理を行う時点において、出力値Voxsが最大出力値max以上となっていると、CPUは酸素吸蔵量が最小の量に到達したと判定する。即ち、この場合、CPUはそのステップ1620にて「Yes」と判定し、以下に述べるステップ1630乃至ステップ1660の処理を順に行い、その後、ステップ1695に進んで本ルーチンを一旦終了する。
【0173】
ステップ1630:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、燃料噴射(燃料供給)が停止されるので、機関10の回転が停止する。
ステップ1640:CPUは、目標空燃比abyfrを理論空燃比stoichに設定する。
ステップ1650:CPUは、リッチ化フラグXrichの値を「0」に設定する。
ステップ1660:CPUは、推定酸素吸蔵量OSCを最小酸素吸蔵量である「0」に設定する(OSC=0)。即ち、推定酸素吸蔵量OSCを「0」に一致させる。
【0174】
以上、説明したように、第4制御装置は、内燃機関10の排気通路に配設された触媒43の酸素吸蔵量OSCを推定する(推定酸素吸蔵量OSCを算出する)酸素吸蔵量推定手段を備え(図7を参照。)、前記酸素吸蔵量推定手段により推定される酸素吸蔵量OSCを使用して前記機関10を制御するように構成された内燃機関の制御装置(図6、及び、図5のステップ540及び550等を参照。)であって、
前記機関の運転中に前記機関の運転を停止する要求である機関停止要求が発生したか否かを判定する停止要求発生判定手段(図15のステップ1530)と、
前記機関停止要求が発生した場合に前記触媒43の実際の酸素吸蔵量が最小の量に到達するように前記触媒43に過剰な未燃物を供給する制御手段(図15のステップ1530乃至ステップ1560、図5の特にステップ530乃至ステップ550を参照。)と、
前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したか否かを判定するとともに(図16のステップ1620)、前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき前記推定される酸素吸蔵量(推定酸素吸蔵量OSC)を前記触媒43最小酸素吸蔵量(「0」)に設定する推定酸素吸蔵量初期化手段(図16のステップ1660)と、
を備える。
【0175】
即ち、第4制御装置の制御手段は、
前記機関停止要求が発生した時点から前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定される時点まで前記機関10を(同機関10自体が発生するトルクに基づいて)回転させることにより機関10を通して前記触媒43に前記過剰な未燃物を供給し(図15のステップ1540乃至ステップ1560、図5の特にステップ530乃至ステップ550を参照。)、前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき前記機関の回転を停止させるように構成されている(図16のステップ1620及びステップ1630、図5のステップ510での「No」との判定を参照。)。
【0176】
換言すると、この制御手段は、
前記機関停止要求が発生した場合、前記触媒43の実際の酸素吸蔵量を前記最小の量に到達させるべく前記機関10に供給される混合気に含まれる燃料の量を「その混合気の空燃比が理論空燃比よりも小さい空燃比(リッチ空燃比africh)となるように」制御することにより前記触媒に過剰な未燃物を供給するとともに(図15のステップ1530乃至ステップ1560、図5の特にステップ530乃至ステップ550を参照。)、前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき(図16のステップ1620での「Yes」との判定を参照。)、前記機関10への燃料の供給を停止することにより前記機関の回転を停止させるように構成され(図16のステップ1630及び図5のステップ510での「No」との判定を参照。)、
前記推定酸素吸蔵量初期化手段は、
前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき(図16のステップ1620での「Yes」との判定を参照。)前記推定される酸素吸蔵量を前記触媒43の最小酸素吸蔵量に設定するように構成されている(図16のステップ1660)。
【0177】
この第4制御装置によれば、機関停止要求が発生した場合、機関10の回転が「機関10に燃料が供給され続けること」によって継続されるとともに、触媒の実際の酸素吸蔵量が最小の量へと移行させられる。そして、触媒の実際の酸素吸蔵量が最小の量へと移行したと推定される時点にて、推定酸素吸蔵量OSCが最小酸素吸蔵量(「0」)へと一致させられる。
【0178】
これにより、機関10の回転が停止した時点において推定酸素吸蔵量OSCと実際の酸素吸蔵量とを高い精度をもって一致させることができるので、その後の機関始動時点から推定酸素吸蔵量OSCと実際の酸素吸蔵量との差を小さくすることができる。この結果、推定酸素吸蔵量OSCを用いた機関の制御(例えば空燃比制御)を、機関10の始動直後から適切に行うことができる。更に、推定酸素吸蔵量OSCの初期化に伴う作動(機関停止要求後の機関10の継続的な回転)が機関停止要求の発生後に行われるので、推定酸素吸蔵量OSCの初期化に伴う作動が「機関10を搭載した車両の走行」に悪影響を及ぼすことを回避することもできる。
【0179】
更に、第4制御装置によれば、機関停止要求発生後において、過剰の未燃物が機関自身の発生するエネルギーにより触媒43に供給される。従って、機関停止要求後において機関を回転させておくためのエネルギーの供給源を別途準備する必要がない。
【0180】
<第5制御装置>
次に、本発明の第5実施形態に係る制御装置(以下、「第5制御装置」とも称呼する。)について説明する。この第5制御装置は、第4制御装置と同様、機関の運転中に機関停止要求が発生すると目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定し、空燃比フィードバック制御を停止し、且つ、燃料噴射(燃料供給)を継続する。これにより、機関停止要求が発生した時点以降において、触媒43の酸素吸蔵量は減少する。
【0181】
更に、第5制御装置は、機関停止要求の発生時に触媒温度Tempccroを取得し、その触媒温度Tempccroに基いてリッチ制御時間Trichを決定する。このリッチ制御時間Trichは、目標空燃比abyfrをリッチ空燃比africhに設定することにより機関の空燃比をリッチ空燃比africhに維持し続ける時間(即ち、機関停止要求が発生した後に触媒43の酸素吸蔵量を最小の量に到達させるのに必要な時間)である。リッチ制御時間Trichは、供給継続時間とも称呼される。
【0182】
ところで、触媒43が吸蔵することができる酸素量は触媒の温度に依存して変化する。更に、下流側空燃比センサ57の出力値Voxsが最大出力値maxとなった場合であっても、触媒43の温度が相対的に低い場合には、触媒の酸素吸蔵量は必ずしも最小の量になっていない場合がある。これは、触媒の温度が相対的に低い場合には、「触媒流入ガスに含まれる未燃物が触媒43に吸蔵されている酸素と結合することなく触媒を通過する現象(所謂「吹き抜け現象」)」が発生する場合があるからである。
【0183】
そこで、第5制御装置は、下流側空燃比センサ57の出力値Voxsが最大出力値maxに到達していても、機関停止要求の発生時点から機関の空燃比をリッチ空燃比africhに維持し続けた時間(リッチ制御継続時間、機関回転続行時間)がリッチ制御時間Trich(供給継続時間)に到達していなければ、機関の空燃比をリッチ空燃比africhに維持し続ける。そして、第5制御装置は、供給継続時間がリッチ制御時間Trichに到達したとき、触媒43の酸素吸蔵量が最小酸素吸蔵量である「0」に到達したと判定し、推定酸素吸蔵量OSCを「0」に設定する。第5制御装置は、その他の点において第4制御装置と同様である。
【0184】
(実際の作動)
次に、第5制御装置の実際の作動について説明する。第5制御装置のCPUは、図4乃至図7、図17及び図18にフローチャートにより示したルーチンを実行する。図4乃至図7に示したルーチンについては説明済みである。従って、以下、図17及び図18に示したルーチンを参照しながら説明する。
【0185】
CPUは図17にフローチャートにより示した「機関停止時制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1700から処理を開始し、ステップ1710に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1710にて「No」と判定してステップ1795に直接進み、本ルーチンを一旦終了する。
【0186】
一方、CPUがステップ1710の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると、CPUはそのステップ1710にて「Yes」と判定してステップ1720に進み、リッチ化フラグXrichの値が「0」であるか否かを判定する。このとき、リッチ化フラグXrichの値が「1」であると、CPUはステップ1720にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
【0187】
一方、CPUがステップ1720の処理を行う時点において、リッチ化フラグXrichの値が「0」に設定されていると、CPUはそのステップ1720にて「Yes」と判定してステップ1730に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ1730にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
【0188】
一方、CPUがステップ1730の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ1730にて「Yes」と判定し、以下に述べるステップ1740乃至ステップ1780の処理を順に行い、その後、ステップ1795に進んで本ルーチンを一旦終了する。
【0189】
ステップ1740:CPUは、触媒温度Tempccroを取得する。触媒温度Tempccroは上記(3)式を用いて別途算出されている。触媒温度Tempccroは、触媒温度センサの出力値に基いて取得されてもよい。
【0190】
ステップ1750:CPUは、ステップ1740にて取得した触媒温度Tempccroに基いてリッチ制御時間Trichを決定する。実際には、CPUはルックアップテーブルMapTrich(Tempccro)に「ステップ1740にて取得した触媒温度Tempccro」を適用することによりリッチ制御時間Trichを求める。このテーブルMapTrich(Tempccro)によれば、リッチ制御時間Trichは触媒温度Tempccroの高いほど短くなるように決定される。但し、リッチ制御時間Trichは触媒温度Tempccro高いほど長くなるように定められる場合もあり得る。
【0191】
ステップ1760:CPUは、目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定する。
ステップ1770:CPUは、リッチ化フラグXrichの値を「1」に設定する。
ステップ1780:CPUは、空燃比フィードバック量FFBを「0」に設定し、空燃比フィードバック制御を停止する。
【0192】
この結果、図5のステップ530及びステップ540の処理によって、指示燃料噴射量Fiは、機関の空燃比をリッチ空燃比africhに一致させるために必要な量となる。従って、触媒43の酸素吸蔵量は減少して行く。
【0193】
CPUは図18にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1800から処理を開始し、ステップ1810に進んでリッチ化フラグXrichの値が「1」であるか否かを判定する。このとき、リッチ化フラグXrichの値が「0」であると、CPUはステップ1810にて「No」と判定してステップ1895に直接進み、本ルーチンを一旦終了する。
【0194】
一方、CPUがステップ1810の処理を行う時点において、リッチ化フラグXrichの値が「1」に設定されていると(即ち、機関の空燃比がリッチ空燃比africhに一致させられていると)、CPUはそのステップ1810にて「Yes」と判定してステップ1820に進み、下流側空燃比センサ57の出力値Voxsが最大出力値max以上となったか否かを判定することにより、触媒43の酸素吸蔵量が最小の量に到達した可能性が高いか否かを判定する。なお、CPUは、ステップ1820において、出力値Voxsが最大出力値max以上となっている継続時間が所定時間以上となったか否かを判定してもよい。
【0195】
CPUがステップ1820の処理を行う時点において、出力値Voxsが最大出力値max以上となっていなければ、CPUはそのステップ1820にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。この結果、燃料噴射(燃料供給)が継続されるとともに、機関の空燃比はリッチ空燃比africhに一致させられ続ける。
【0196】
一方、CPUがステップ1820の処理を行う時点において、出力値Voxsが最大出力値以上となっていると、CPUはそのステップ1820にて「Yes」と判定してステップ1830に進み、リッチ化フラグXrichが「0」から「1」へと変化してからの経過時間(即ち、リッチ制御継続時間、機関回転続行時間)がリッチ制御時間Trichに到達したか否かを判定する。このとき、リッチ制御継続時間がリッチ制御時間Trichよりも短いと、CPUはステップ1830にて「No」と判定してステップ1895に直接進み、本ルーチンを一旦終了する。
【0197】
一方、CPUがステップ1830の処理を行う時点において、リッチ制御継続時間がリッチ制御時間Trich以上であると、CPUはそのステップ1830にて「Yes」と判定し、以下に述べるステップ1840乃至ステップ1870の処理を順に行い、その後、ステップ1895に進んで本ルーチンを一旦終了する。
【0198】
ステップ1840:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、燃料噴射(燃料供給)が停止されるので、機関10の回転が停止する。
ステップ1850:CPUは、目標空燃比abyfrを理論空燃比stoichに設定する。
ステップ1860:CPUは、リッチ化フラグXrichの値を「0」に設定する。
ステップ1870:CPUは、推定酸素吸蔵量OSCを最小酸素吸蔵量である「0」に設定する(OSC=0)。即ち、推定酸素吸蔵量OSCを「0」に一致させる。
【0199】
以上、説明したように、第5制御装置は、
前記機関停止要求発生時における前記触媒43の温度を推定するとともに(図17のステップ1740)、前記推定した触媒43の温度に基いて前記触媒43に過剰な未燃物を供給する供給継続時間(リッチ制御時間Trich)を決定し、前記機関停止要求発生時から前記決定された供給継続時間が経過した時点にて前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定するように構成された制御手段(図18のステップ1830を参照。)を備える。
【0200】
換言すると、第5制御装置は、機関停止要求発生時における触媒の温度(触媒温度Tempccro)を推定するとともに(図17のステップ1740)、前記推定した触媒の温度に基いて前記機関停止要求発生時から前記機関の回転を停止させる時点までの時間(機関回転続行時間)を変更するように構成される(図17のステップ1750及び図18のステップ1830を参照。)。
【0201】
触媒が吸蔵(又は放出)することができる酸素量は触媒43の温度に依存して変化する。従って、機関停止要求発生後に触媒43に過剰な未燃物を供給させている場合において、下流側空燃比センサ57の出力値Voxsが「理論空燃比よりも小さいリッチ空燃比」に相当する値(例えば、最大出力値max)となった場合であっても、触媒43の酸素吸蔵量は必ずしも最小の量になっていない場合がある。これは、触媒43の温度が相対的に低い場合には触媒流入ガスに含まれる未燃物が触媒43に吸蔵されている酸素と結合することなく触媒43を通過する現象(所謂「吹き抜け現象」)が生じる場合があるからである。
【0202】
そこで、第5制御装置のように、機関回転続行時間を触媒温度Tempccroに応じて変化させることにより、機関10の回転停止時(機関停止要求発生後の燃料供給の停止時)における触媒の酸素吸蔵量を「最小酸素吸蔵量」に確実に到達させることができる。この結果、推定酸素吸蔵量OSCの精度をより向上することができる。
【0203】
なお、第1制御装置のように、機関停止要求の発生後において燃料供給を停止し且つモータ22により機関を強制回転させる場合において、下流側空燃比センサの出力値が「理論空燃比よりも大きいリーン空燃比」に相当する値(例えば、最小出力値min)となったときであっても、触媒43の酸素吸蔵量は必ずしも最大の量でない場合がある。これは、触媒の温度が相対的に低い場合には触媒流入ガスに含まれる酸素が触媒に吸蔵されることなく触媒を通過する現象が生じる場合があるからである。
【0204】
そこで、第1制御装置においても、機関停止要求が発生した時点の触媒温度Tempccroを取得し、その触媒温度Tempccroに基いて「モータ22によって機関10を強制回転させ続ける時間」を決定することが好ましい。
【0205】
これによれば、触媒43の酸素吸蔵量が確実に最大の量に到達した時点にてモータ22による機関10の強制回転を停止させることができる。換言すると、モータ22による機関10の強制回転の停止時において、触媒の酸素吸蔵量を最大の量に確実に一致させることができる。従って、モータ22による機関10の強制回転の停止時に推定酸素吸蔵量OSCを最大酸素吸蔵量Cmaxに設定することにより、推定酸素吸蔵量OSCを実際の酸素吸蔵量に精度良く一致させることができる。
【0206】
以上、説明したように、本発明の各実施形態に係る内燃機関の制御装置によれば、推定酸素吸蔵量OSCを機関停止要求の発生後において適正な値に初期化することができる。従って、その後に続く機関始動時における推定酸素吸蔵量を真の酸素吸蔵量にできるだけ近づけることができる。
【0207】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、機関10は、ハイブリッド車両(機関10が電動モータと共に車両駆動力を発生するように構成された車両)に搭載されていてもよい。この場合、機関停止要求が発生した時点にてハイブリッド車両に搭載された電動モータによって機関10を強制回転させることにより、触媒43に過剰な酸素を供給してもよい。
【0208】
更に、上記幾つかの実施形態において、触媒43への過剰な酸素の供給は、「機関10への燃料供給を停止した上で機関10を機関10以外の動力源により回転させ、機関10から触媒43へと大気を供給すること」により行われていた。これに代え、又は、これに加え、触媒43への過剰な酸素の供給は、「排気通路の触媒43の上流側に設けられた二次空気供給装置を作動させること」により行われてもよい。更に、触媒43への過剰な酸素の供給は、「機関10への燃料供給を機関停止要求発生後において継続するとともに機関10に供給される混合気の空燃比をリーン空燃比に設定するように指示燃料噴射量Fiを制御すること」により行われてもよい。
【0209】
更に、上記幾つかの実施形態において、触媒43への過剰な未燃物の供給は、「機関10への燃料供給を機関停止要求発生後において継続するとともに機関10に供給される混合気の空燃比をリッチ空燃比に設定すること」により行われていた。これに代え、又は、これに加え、触媒43への過剰な未燃物の供給は、「排気通路の触媒43の上流側に設けられた還元剤供給装置を作動させること」により行われてもよい。
【0210】
また、上記各実施形態において、推定酸素吸蔵量OSCを用いた機関10の制御は、推定酸素吸蔵量OSCを目標酸素吸蔵量に一致させる空燃比フィードバック制御であったが、これ以外の制御であってもよい。例えば、推定酸素吸蔵量OSCを用いた機関10の制御は、推定酸素吸蔵量OSCを用いて触媒43に供給すべき排ガスの空燃比を決定し、その排ガスの空燃比をもたらす指示燃料噴射量Fiを決定するような制御であってもよい。
【符号の説明】
【0211】
10…内燃機関、21…燃焼室、22…モータ、30…吸気系統、33…燃料噴射弁、40…排気系統、41…エキゾーストマニホールド、41b…集合部(排気集合部HK)、42…エキゾーストパイプ、43…上流側触媒(触媒)、44…電気加熱ヒータ、56…上流側空燃比センサ、57…下流側空燃比センサ、70…電気制御装置。
【技術分野】
【0001】
本発明は、内燃機関の排気通路に配設された触媒の酸素吸蔵量を機関の制御(例えば、空燃比制御)に使用する内燃機関の制御装置に関する。
【背景技術】
【0002】
従来の内燃機関の制御装置の一つ(以下、「従来装置」と称呼する。)は、内燃機関の排気通路に配設された触媒(三元触媒)の酸素吸蔵量を推定し、その推定される酸素吸蔵量に基いて機関に供給される混合気の空燃比を制御するようになっている(例えば、特許文献1を参照。)。この従来装置は、触媒の下流側に配設された下流側空燃比センサの出力値が「リッチ空燃比に相当する値」になったとき、推定される酸素吸蔵量を「0」にリセットするようになっている。なお、本明細書において、推定される酸素吸蔵量は「推定酸素吸蔵量」とも称呼される。更に、理論空燃比よりも大きい空燃比(理論空燃比よりもリーンな空燃比)は「リーン空燃比」とも称呼され、理論空燃比よりも小さい空燃比(理論空燃比よりもリッチな空燃比)は「リッチ空燃比」とも称呼される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−239789号公報
【発明の概要】
【0004】
しかしながら、酸素吸蔵量の推定は必ずしも精度良く行えない場合があり、且つ、機関の運転が停止される時点において下流側空燃比センサの値が常にリッチ空燃比に相当する値となるとは限らないので、例えば、機関運転停止時から短時間のうちに機関の運転が再開されるような場合、その機関の始動時における推定酸素吸蔵量が真の酸素吸蔵量から乖離し、その結果、機関の制御(例えば、空燃比制御)が望ましい制御にならないという問題がある。このような状況は、機関のみを動力源として有する通常の車両のみならず、例えば、機関とモータとを動力源として備えたハイブリッド車両、或いは、車両停止時に機関の運転を自動的に停止するとともに車両発進時に機関を自動的に始動させる「自動運転停止・自動運転再開システム」を搭載した車両、等において顕著に発生する。
【0005】
本発明は、上述した課題に対処するために為されたものである。即ち、本発明の目的の一つは、機関の運転を停止する場合に触媒の酸素吸蔵量を最大の量又は最小の量に強制的に移行させるとともに推定酸素吸蔵量を最大酸素吸蔵量又は最小酸素吸蔵量に一致させることにより、その後の機関始動時における推定酸素吸蔵量を真の酸素吸蔵量にできるだけ近づけることができる内燃機関の制御装置を提供することにある。
【0006】
本発明の内燃機関の制御装置(以下、単に「本発明装置」とも称呼する。)は、前記機関の排気通路に配設された触媒(三元触媒装置)の酸素吸蔵量を推定する酸素吸蔵量推定手段を備えるとともに前記酸素吸蔵量推定手段により推定される酸素吸蔵量(推定酸素吸蔵量)を使用して前記機関を制御する内燃機関の制御装置であり、停止要求発生判定手段と、制御手段と、推定酸素吸蔵量初期化手段と、を備える。
【0007】
前記停止要求発生判定手段は、前記機関の運転中に前記機関の運転を停止する要求(即ち、機関停止要求)が発生したか否かを判定する。機関停止要求は、車両のイグニッション・キー・スイッチがオン位置からオフ位置に変更されたときに発生する。或いは、機関がハイブリッド車両に搭載されている場合、及び、自動運転停止・自動運転再開システムが採用された車両等に搭載されている場合、機関停止要求は所定の条件が満たされたときに自動的に発生する。
【0008】
前記制御手段は、前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量が最大の量(即ち、その時点の触媒が吸蔵できる酸素の最大の量)又は最小の量(即ち、ゼロ)に到達するように前記触媒に過剰な酸素又は過剰な未燃物を供給する。後述するように、前記過剰な酸素は、「機関への燃料供給を停止した上で同機関を同機関以外の動力源により回転させ、前記機関から前記触媒へと大気を供給すること」により前記触媒へと供給され得る。或いは、前記過剰な酸素は、「前記排気通路の前記触媒の上流側に設けられた二次空気供給装置を作動させること」により前記触媒へと供給され得る。更に、前記過剰な未燃物は、「機関への燃料供給を継続するとともに機関に供給される混合気の空燃比をリッチ空燃比に設定すること」により前記触媒へと供給され得る。或いは、前記過剰な未燃物は、「前記排気通路の前記触媒の上流側に設けられた還元剤供給装置を作動させること」により前記触媒へと供給され得る。
【0009】
前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したか否かを判定する。
【0010】
例えば、前記排気通路の前記触媒の下流側に下流側空燃比センサが備えられている場合、前記推定酸素吸蔵量初期化手段は、その下流側空燃比センサの出力値に基いて前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したか否かを判定することができる。より具体的に述べると、本発明装置の一態様においては、前記触媒に前記過剰な酸素が供給されている場合、前記下流側空燃比センサの出力値がリーン空燃比に相当する値となったか否かを判定することにより、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したか否かを判定する。本発明装置の他の態様においては、前記触媒に前記過剰な未燃物が供給されている場合、前記下流側空燃比センサの出力値がリッチ空燃比に相当する値となったか否かを判定することにより、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したか否かを判定する。
【0011】
加えて、前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定したとき、前記推定される酸素吸蔵量を、「前記触媒の最大酸素吸蔵量(前記触媒に過剰な酸素が供給されていた場合)」又は「前記触媒の最小酸素吸蔵量(前記触媒に過剰な未燃物が供給されていた場合)」に設定する。
【0012】
前記推定酸素吸蔵量として設定される前記触媒の最大酸素吸蔵量は、前記機関の通常の運転中に別途取得される最大酸素吸蔵量(通常運転時最大酸素吸蔵量)、及び、前記通常運転時最大酸素吸蔵量に基く量、の何れかに設定することができる。前記通常運転時最大酸素吸蔵量に基く量の一例は、前記通常運転時最大酸素吸蔵量と前記機関停止要求発生時における触媒の温度とに基いて算出される最大酸素吸蔵量である。前記推定酸素吸蔵量として設定される前記触媒の最小酸素吸蔵量の一例は「0」である。
【0013】
これによれば、機関停止要求が発生した場合、触媒の実際の酸素吸蔵量が最大の量又は最小の量へと移行させられる。そして、触媒の実際の酸素吸蔵量が最大の量又は最小の量に到達したと判定(推定)されたとき、推定酸素吸蔵量は「触媒に過剰な酸素が供給されてきた場合には触媒の最大酸素吸蔵量」に一致させられ、或いは、推定酸素吸蔵量は「触媒に過剰な未燃物が供給されてきた場合には触媒の最小酸素吸蔵量」に一致させられる。即ち、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定されたとき、推定酸素吸蔵量が最大酸素吸蔵量及び最小酸素吸蔵量の何れかに初期化される。
【0014】
この推定酸素吸蔵量の初期化により、推定酸素吸蔵量と実際の酸素吸蔵量とを高い精度をもって一致させることができるので、その後の機関始動時点から推定酸素吸蔵量と実際の酸素吸蔵量との差を小さくすることができる。この結果、推定酸素吸蔵量を用いた機関の制御を機関の始動直後から適切に行うことができる。更に、推定酸素吸蔵量の初期化に伴う作動が機関停止要求の発生後に行われるので、推定酸素吸蔵量の初期化に伴う作動が前記機関を搭載した車両の走行に悪影響を及ぼすことを回避することもできる。
【0015】
ところで、触媒の実際の酸素吸蔵量が最大の量に到達したか否かの判定は、触媒の下流に設けられた空燃比センサ(下流側空燃比センサ)の出力値がリーン空燃比に相当する値になったか否かにより判定することができる。或いは、触媒の実際の酸素吸蔵量が最小の量に到達したか否かの判定は、下流側空燃比センサの出力値がリッチ空燃比に相当する値になったか否かにより判定することができる。
【0016】
一方、触媒が吸蔵(又は放出)することができる酸素の量は触媒の温度に依存して変化する。従って、例えば、機関停止要求発生後に触媒に過剰な未燃物を供給する場合において、下流側空燃比センサの出力値がリッチ空燃比に相当する値となった場合であっても、触媒の酸素吸蔵量は必ずしも最小の量になっていない場合がある。これは、触媒の温度が相対的に低い場合、触媒が酸素を依然として吸蔵している場合であっても、触媒流入ガスに含まれる未燃物がその触媒に吸蔵されている酸素と結合することなく触媒を通過する現象(所謂「吹き抜け現象」)が生じる場合があるからである。
【0017】
或いは、機関停止要求発生後に触媒に過剰な酸素を供給する場合において、下流側空燃比センサの出力値がリーン空燃比に相当する値となった場合であっても、触媒の酸素吸蔵量は必ずしも最大の量になっていない場合がある。これは、触媒の温度が相対的に低い場合、触媒が酸素を吸蔵する余力をもっている場合であっても、触媒流入ガスに含まれる酸素が触媒に吸蔵されることなく触媒を通過する現象が生じる場合があるからである。
【0018】
そこで、本発明装置の一つの態様において、前記制御手段は、
前記機関停止要求発生時における前記触媒の温度を推定するとともに、前記推定した触媒の温度に基いて「前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給する供給継続時間」を決定し、前記機関停止要求発生時から前記決定された供給継続時間が経過した時点にて前記触媒の実際の酸素吸蔵量が「前記最大の量又は前記最小の量」に到達したと判定するように構成される。
【0019】
これによれば、機関停止要求発生時の触媒の温度に関わらず、前記触媒の実際の酸素吸蔵量が「前記最大の量又は前記最小の量」に到達した時点を精度良く判定することができる。この結果、前記初期化により、推定酸素吸蔵量と実際の酸素吸蔵量との差を一層小さくすることができる。
【0020】
更に、前記制御手段は、
前記機関停止要求が発生した時点から前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定される時点まで前記機関を回転させることにより同機関を通して前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給し、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定されたとき前記機関の回転を停止させるように構成される。
【0021】
これによれば、機関を通して「過剰な酸素又は過剰な未燃物」が触媒に供給されるので、二次空気供給装置及び還元剤供給装置等の追加的装置を必ずしも必要としない。従って、機関全体を廉価にすることができる。更に、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達した後に機関の回転を停止させるので、機関を回転させるためのエネルギーが無駄に消費されることを回避することができる。
【0022】
更に、本発明装置の一つの態様において、
前記制御手段は、前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最大の量に到達させるべく前記機関への燃料の供給を停止し且つ前記機関を前記機関以外の動力源により強制的に回転させることにより前記触媒に過剰な酸素を含む大気を供給するように構成される。加えて、前記制御手段は、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき前記機関以外の動力源による前記機関の強制的な回転を停止することにより前記機関の回転を停止させるように構成される。
【0023】
この場合、前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき、前記推定される酸素吸蔵量を前記触媒の最大酸素吸蔵量に設定するように構成される。
【0024】
これによれば、機関停止要求発生後において、機関の回転によって機関から触媒へと大気が供給される。大気は多量の酸素を含む。従って、機関停止要求発生後において、触媒の酸素吸蔵量を最大の量に短時間にて到達させることができる。この結果、機関停止要求発生後において機関を回転させておく時間を短くすることができ、他の動力源により消費されるエネルギー量を少なくすることができる。更に、この構成によれば、二次空気供給装置等の追加的装置を必ずしも必要としないので、機関全体を廉価にすることができる。なお、他の動力源は、例えば機関が所謂ハイブリッド車両に搭載されている場合、そのハイブリッド車両の車両駆動力を発生するためのモータであってもよく、機関が通常の車両に搭載されている場合、その車両のスタータモータであってもよい。
【0025】
更に、本発明装置の一つの態様において、
前記制御手段は、前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最小の量に到達させるべく前記機関に供給される混合気に含まれる燃料の量を同混合気の空燃比が理論空燃比よりも小さい空燃比(リッチ空燃比)となるように制御するように構成される。これにより、機関は自身の発生するトルクにより回転を続け、且つ、機関から触媒に過剰な未燃物が供給される。加えて、前記制御手段は、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき、前記機関への燃料の供給を停止することにより前記機関の回転を停止させるように構成される。
【0026】
この場合、前記推定酸素吸蔵量初期化手段は、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき、前記推定される酸素吸蔵量を前記触媒の最小酸素吸蔵量に設定するように構成される。
【0027】
これによれば、機関停止要求発生後において、過剰の未燃物が機関自身の発生するエネルギーにより触媒に供給される。従って、機関停止要求後において機関を回転させておくためのエネルギー源及び動力源を別途準備する必要がない。更に、この構成によれば、還元剤供給装置等の追加的装置を必ずしも必要としないので、機関全体を廉価にすることができる。
【0028】
本発明装置の他の目的、他の特徴及び付随する利点は、以下の図面を参照しつつ記述される本発明装置の各実施形態についての説明から容易に理解されるであろう。
【図面の簡単な説明】
【0029】
【図1】図1は、本発明の第1実施形態に係る制御装置(第1制御装置)を適用した内燃機関の概略図である。
【図2】図2は、図1に示した上流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図3】図3は、図1に示した下流側空燃比センサの出力電圧と空燃比との関係を示したグラフである。
【図4】図4は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図5】図5は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図6】図6は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図7】図7は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図8】図8は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図9】図9は、第1制御装置のCPUが実行するルーチンを示したフローチャートである。
【図10】図10は、本発明の第2実施形態に係る制御装置(第2制御装置)の作動を説明するためのタイムチャートである。
【図11】図11は、第2制御装置のCPUが実行するルーチンを示したフローチャートである。
【図12】図12は、第2制御装置のCPUが実行するルーチンを示したフローチャートである。
【図13】図13は、第2制御装置のCPUが実行するルーチンを示したフローチャートである。
【図14】図14は、本発明の第3実施形態に係る制御装置(第3制御装置)のCPUが実行するルーチンを示したフローチャートである。
【図15】図15は、本発明の第4実施形態に係る制御装置(第4制御装置)のCPUが実行するルーチンを示したフローチャートである。
【図16】図16は、第4制御装置のCPUが実行するルーチンを示したフローチャートである。
【図17】図17は、本発明の第5実施形態に係る制御装置(第5制御装置)のCPUが実行するルーチンを示したフローチャートである。
【図18】図18は、第5制御装置のCPUが実行するルーチンを示したフローチャートである。
【発明を実施するための形態】
【0030】
以下、本発明の各実施形態に係る内燃機関の制御装置(以下、単に「制御装置」とも称呼する。)について図面を参照しながら説明する。この制御装置は、内燃機関に供給される混合気の空燃比(機関の空燃比)を制御する空燃比制御装置(燃料噴射量制御装置)の一部でもある。また、制御装置は、結果的にエミッションを良好にすることを目的とする装置であるので内燃機関の排気浄化装置でもあり、触媒の酸素吸蔵量を推定する酸素吸蔵量推定装置でもある。
【0031】
<第1実施形態>
(構成)
図1は、第1実施形態に係る制御装置(以下、「第1制御装置」とも称呼する。)を、4サイクル・火花点火式・多気筒(直列4気筒)・内燃機関10に適用したシステムの概略構成を示している。
【0032】
内燃機関10は、機関本体部20と、吸気系統30と、排気系統40と、を含む。
【0033】
機関本体部20は、シリンダブロック部及びシリンダヘッド部を含む。機関本体部20は、複数の気筒(燃焼室)21を備えている。各気筒は、図示しない「吸気ポート及び排気ポート」と連通している。吸気ポートと燃焼室21との連通部は図示しない吸気弁により開閉される。排気ポートと燃焼室21との連通部は図示しない排気弁により開閉される。各燃焼室21には図示しない点火プラグが配設されている。点火プラグは、図示しない「イグナイタ及びイグニッションコイル」と接続されている。
【0034】
機関本体部20は、更に、機関10を回転駆動する(強制回転する)ためのモータ22を備えている。モータ22は、例えば、スタータモータであってもよい。モータは図示しないバッテリから供給される電力により回転し、機関10を回転させるようになっている。
【0035】
吸気系統30は、インテークマニホールド31、吸気管32、複数の燃料噴射弁33、及び、スロットル弁34を備えている。
【0036】
インテークマニホールド31は、複数の枝部31aとサージタンク31bとを備えている。複数の枝部31aのそれぞれの一端は、複数の吸気ポートのそれぞれに接続されている。複数の枝部31aの他端はサージタンク31bに接続されている。
【0037】
吸気管32の一端はサージタンク31bに接続されている。吸気管32の他端には図示しないエアフィルタが配設されている。
【0038】
燃料噴射弁33は、一つの気筒(燃焼室)21に対して一つずつ配設されている。燃料噴射弁33は吸気ポートに設けられている。即ち、複数の気筒のそれぞれは、他の気筒とは独立して燃料供給を行う燃料噴射弁33を備えている。燃料噴射弁33は、噴射指示信号に応答し、正常である場合に「その噴射指示信号に含まれる指示燃料噴射量の燃料」を吸気ポート(従って、燃料噴射弁33に対応する気筒)内に噴射するようになっている。
【0039】
より具体的に述べると、燃料噴射弁33は、指示燃料噴射量に応じた時間だけ開弁する。燃料噴射弁33に供給されている燃料の圧力は、その燃料の圧力と吸気ポート内の圧力との差圧が一定になるように図示しないプレッシャレギュレータにより制御されている。従って、燃料噴射弁33は指示燃料噴射量と等量の燃料を噴射する。
【0040】
スロットル弁34は、吸気管32内に回動可能に配設されている。スロットル弁34は、吸気通路の開口断面積を可変とするようになっている。スロットル弁34は、図示しないスロットル弁アクチュエータにより吸気管32内で回転駆動されるようになっている。
【0041】
排気系統40は、エキゾーストマニホールド41、エキゾーストパイプ42、エキゾーストパイプ42に配設された上流側触媒43、電気加熱ヒータ44、及び、上流側触媒43よりも下流においてエキゾーストパイプ42に配設された「図示しない下流側触媒」を備えている。
【0042】
エキゾーストマニホールド41は、複数の枝部41aと集合部41bとを備えている。複数の枝部41aのそれぞれの一端は、複数の排気ポートのそれぞれに接続されている。複数の枝部41aのそれぞれの他端は集合部41bに集合している。この集合部41bは、複数(2以上であり、本例では4つ)の気筒から排出された排ガスが集合する部分であるから、排気集合部HKとも称呼される。
【0043】
エキゾーストパイプ42は集合部41bに接続されている。排気ポート、エキゾーストマニホールド41及びエキゾーストパイプ42は、排気通路を構成している。
【0044】
上流側触媒43は、セラミックの一種であるコージェライトからなり且つアルミナのコート層によりコーティングされた担持体を備え、その担持体に「白金、ロジウム及びパラジウム等」の貴金属(触媒物質)からなる活性成分を担持する三元触媒装置(排気浄化用の触媒)である。各触媒は、各触媒に流入するガスの空燃比が「三元触媒のウインドウ内の空燃比(例えば、理論空燃比)」であるとき、HC,CO,H2などの未燃成分を酸化するとともに窒素酸化物(NOx)を還元する機能を有する。この機能は触媒機能とも称呼される。更に、各触媒は、酸素を吸蔵(貯蔵)する酸素吸蔵機能を有する。各触媒は、酸素吸蔵機能により空燃比が理論空燃比から偏移したとしても未燃成分及び窒素酸化物を浄化することができる。つまり、酸素吸蔵機能により、ウインドウの幅が拡大する。酸素吸蔵機能は、担持体に担持されているセリア(CeO2)等の酸素吸蔵材によってもたらされる。
【0045】
電気加熱ヒータ(触媒ヒータ)44は、電気加熱手段を構成する。電気加熱ヒータは通電されることにより(電力が供給されることにより)発熱し、上流側触媒43の温度(上流側触媒43の触媒床温)を上昇させるようになっている。以下、上流側触媒43の温度を単に「触媒の温度」とも称呼する。電気加熱ヒータ44の発熱量は、電気加熱ヒータ44に供給される電力(実際には電流)により制御されるようになっている。電気制御装置70は、電気加熱ヒータ44に供給される電力を調整・制御することにより、触媒の温度を調整するようになっている。
【0046】
図示しない下流側触媒は、上流側触媒43と同様の三元触媒装置である。なお、本明細書において、「触媒」は特に断りのない限り上流側触媒43を指す。
【0047】
このシステムは、熱線式エアフローメータ51、スロットルポジションセンサ52、水温センサ53、クランクポジションセンサ54、インテークカムポジションセンサ55、上流側空燃比センサ56、下流側空燃比センサ57、アクセル開度センサ58、及び、バッテリ残量センサ59を備えている。
【0048】
エアフローメータ51は、吸気管32内を流れる吸入空気の質量流量(吸入空気流量)Gaに応じた信号を出力するようになっている。即ち、吸入空気量Gaは、単位時間あたりに機関10に吸入される吸入空気量を表す。
【0049】
スロットルポジションセンサ52は、スロットル弁34の開度(スロットル弁開度)を検出し、スロットル弁開度TAを表す信号を出力するようになっている。
【0050】
水温センサ53は、内燃機関10の冷却水の温度を検出し、冷却水温THWを表す信号を出力するようになっている。冷却水温THWは、機関10の暖機状態(機関10の温度)を表すパラメータである。
【0051】
クランクポジションセンサ54は、クランク軸が10°回転する毎に幅狭のパルスを有するとともに同クランク軸が360°回転する毎に幅広のパルスを有する信号を出力するようになっている。この信号は、後述する電気制御装置70によって機関回転速度NEに変換される。
【0052】
インテークカムポジションセンサ55は、インテークカムシャフトが所定角度から90度、次いで90度、更に180度回転する毎に一つのパルスを出力するようになっている。後述する電気制御装置70は、クランクポジションセンサ54及びインテークカムポジションセンサ55からの信号に基づいて、基準気筒(例えば第1気筒)の圧縮上死点を基準とした絶対クランク角度CAを取得するようになっている。この絶対クランク角度CAは、基準気筒の圧縮上死点において「0°クランク角度」に設定され、クランク軸の回転角度に応じて720°クランク角度まで増大し、その時点にて再び0°クランク角度に設定される。
【0053】
上流側空燃比センサ56は、エキゾーストマニホールド41の集合部41b(排気集合部HK)と上流側触媒43との間の位置において「エキゾーストマニホールド41及びエキゾーストパイプ42の何れか」に配設されている。上流側空燃比センサ56は、単に「空燃比センサ」とも称呼される。
【0054】
上流側空燃比センサ56は、例えば、特開平11−72473号公報、特開2000−65782号公報及び特開2004−69547号公報等に開示された「拡散抵抗層を備える限界電流式広域空燃比センサ」である。
【0055】
上流側空燃比センサ56は、図2に示したように、上流側空燃比センサ56の配設位置を流れる排ガスの空燃比(上流側空燃比abyfs)に応じた出力値Vabyfsを「空燃比センサ出力」として出力する。この出力値Vabyfsは、上流側空燃比センサ56に到達している排ガスの空燃比が大きくなるほど(リーンとなるほど)増大する。出力値Vabyfsは、上流側空燃比センサ56に到達している排ガスの空燃比が理論空燃比であるとき、理論空燃比相当値Vstoichに一致する。
【0056】
後述する電気制御装置70は、図2に示された関係を「空燃比変換テーブルMapabyfs(Vabyfs)」としてROM内に格納していて、実際の出力値Vabyfsを空燃比変換テーブルMapabyfs(Vabyfs)に適用することにより上流側空燃比abyfs(検出空燃比abyfs)を取得するようになっている。
【0057】
再び、図1を参照すると、下流側空燃比センサ57は、エキゾーストパイプ42内に配設されている。下流側空燃比センサ57の配設位置は、上流側触媒43よりも下流側であり、且つ、下流側触媒よりも上流側(即ち、上流側触媒43と下流側触媒との間の排気通路)である。下流側空燃比センサ57は、周知の起電力式の酸素濃度センサ(安定化ジルコニア等の固体電解質を用いた濃淡電池型の酸素濃度センサ)である。下流側空燃比センサ57は、排気通路であって下流側空燃比センサ57が配設されている部位を通過するガスである被検出ガスの空燃比(下流側空燃比)に応じた出力値Voxsを発生するようになっている。換言すると、出力値Voxsは、上流側触媒43から流出し且つ下流側触媒に流入するガスの空燃比(下流側空燃比afdown)に応じた値である。
【0058】
この出力値Voxsは、図3に示したように、被検出ガスの空燃比が理論空燃比よりもリッチのとき最大出力値max(例えば、約0.9V〜1.0V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンのとき最小出力値min(例えば、約0.1V〜0V)となる。更に、出力値Voxsは、被検出ガスの空燃比が理論空燃比であるとき最大出力値maxと最小出力値minの略中間の電圧Vst(中間電圧Vst、理論空燃比相当電圧Vst、例えば、約0.5V)となる。出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリッチな空燃比からリーンな空燃比へと変化する際に最大出力値maxから最小出力値minへと急変する。同様に、出力値Voxsは、被検出ガスの空燃比が理論空燃比よりもリーンな空燃比からリッチな空燃比へと変化する際に最小出力値minから最大出力値maxへと急変する。
【0059】
図1に示したアクセル開度センサ58は、運転者によって操作されるアクセルペダルAPの操作量Accp(アクセルペダル操作量、アクセルペダルAPの開度)を表す信号を出力するようになっている。アクセルペダル操作量Accpは、アクセルペダルAPの操作量が大きくなるとともに大きくなる。
【0060】
バッテリ残量センサ59は、図示しない車両に搭載されたバッテリの残量を検出するようになっている。このバッテリから電気加熱ヒータ44に電力が供給される。バッテリ残量センサ59は、バッテリの電解液濃度を検出するセンサであってもよく、バッテリ電圧を検出するセンサであってもよい。
【0061】
電気制御装置70は、「CPU、CPUが実行するプログラム、ルックアップテーブル(マップ)、関数及び定数等を予め記憶したROM、CPUが必要に応じてデータを一時的に格納するRAM、バックアップRAM、並びに、ADコンバータを含むインターフェース等」からなる周知のマイクロコンピュータである。
【0062】
バックアップRAMは、機関10を搭載した車両の図示しないイグニッション・キー・スイッチの位置(オフ位置、始動位置及びオン位置等の何れか)に関わらず、車両に搭載されたバッテリから電力の供給を受けるようになっている。バックアップRAMは、バッテリから電力の供給を受けている場合、CPUの指示に応じてデータを格納する(データが書き込まれる)とともに、そのデータを読み出し可能となるように保持(記憶)する。従って、バックアップRAMは、機関10の運転停止中においてもデータを保持することができる。
【0063】
バックアップRAMは、バッテリが車両から取り外される等によりバッテリからの電力供給が遮断されると、データを保持することができない。そこで、CPUは、バックアップRAMへの電力供給が再開されたとき、バックアップRAMに保持されるべきデータを初期化(デフォルト値に設定)するようになっている。なお、バックアップRAMは、EEPROM等の読み書き可能な不揮発性メモリであってもよい。
【0064】
電気制御装置70は、上述したセンサ等と接続され、CPUにそれらのセンサからの信号を供給するようになっている。更に、電気制御装置70は、CPUの指示に応じて、各気筒に対応して設けられた点火プラグ(実際にはイグナイタ)、モータ22、各気筒に対応して設けられた燃料噴射弁33、電気加熱ヒータ44、及び、スロットル弁アクチュエータ等に駆動信号(指示信号)を送出するようになっている。
【0065】
なお、電気制御装置70は、取得されたアクセルペダルの操作量Accpが大きくなるほどスロットル弁開度TAが大きくなるように、スロットル弁アクチュエータに指示信号を送出するようになっている。即ち、電気制御装置70は、運転者により変更される機関10の加速操作量(アクセルペダル操作量Accp)に応じて「機関10の吸気通路に配設されたスロットル弁34」の開度を変更するスロットル弁駆動手段を備えている。
【0066】
(第1制御装置による制御の概要)
第1制御装置は、機関の始動後において(即ち、機関の運転中)、後述する周知の手法に従って触媒43の酸素吸蔵量を推定する。即ち、第1制御装置は、推定酸素吸蔵量を算出する。加えて、第1制御手段は、機関の運転中、上流側触媒43が吸蔵し得る酸素の最大値である最大酸素吸蔵量(通常運転時最大酸素吸蔵量)を周知の手法に従って取得する。更に、第1制御装置は、機関の運転中、図示しないイグニッション・キー・スイッチがオン位置からオフ位置に変更されること等により機関停止要求が発生されると、機関10への燃料供給(燃料噴射)を停止する。同時に、第1制御装置は、モータ22によって機関10を回転駆動する。これにより、機関10を通して大気(即ち、過剰な酸素を多量に含むガス)が触媒43に送り込まれる。そして、第1制御装置は、下流側空燃比センサの出力値Voxsが最小出力値minとなった時点(又は、出力値Voxsが最小出力値minとなっている継続時間が所定時間となった時点)にて「触媒43の酸素吸蔵量が最大の量に到達した」と推定し、モータ22による機関10の回転駆動を停止する。このとき、第1制御装置は、推定酸素吸蔵量を通常運転時最大酸素吸蔵量に設定する(初期化する)。
【0067】
(実際の作動)
次に、第1制御装置の実際の作動について説明する。
【0068】
<燃料噴射制御>
第1制御装置のCPUは、図示しないイグニッション・キー・スイッチがオン位置にあるとき(或いは、常時)、所定時間が経過する毎に図4にフローチャートにより示した「燃料噴射フラグ操作ルーチン」を実行するようになっている。
【0069】
従って、所定のタイミングになると、CPUは図4のステップ400から処理を開始してステップ410に進み、機関始動要求が発生したか否かを判定する。機関始動要求は、イグニッション・キー・スイッチがオフ位置からオン位置に変更されたときに発生する。なお、機関10がハイブリッド車両に搭載されている場合、及び、自動運転停止・自動運転再開システムが採用された車両に搭載されている場合等、において、機関始動要求は所定の条件が満たされたときに発生する。
【0070】
<燃料噴射制御>
更に、CPUは、図5に示した燃料噴射制御ルーチンを「任意の気筒のクランク角度が吸気上死点前の所定クランク角度に一致する毎に」その気筒に対して繰り返し実行するようになっている。前記所定クランク角度は、例えば、BTDC90°CA(吸気上死点前90°クランク角度)である。クランク角度が前記所定クランク角度に一致した気筒は「燃料噴射気筒」とも称呼される。CPUは、この燃料噴射制御ルーチンにより、指示燃料噴射量Fiの計算及び燃料噴射の指示を行う。
【0071】
任意の気筒のクランク角度が吸気上死点前の所定クランク角度と一致すると、CPUはステップ500から処理を開始し、ステップ510にて燃料噴射フラグXinjの値が「1」であるか否かを判定する。
【0072】
いま、燃料噴射フラグXinjの値が「1」であると仮定する。この場合、CPUは、ステップ510にて「Yes」と判定し、以下に述べるステップ520乃至ステップ550の処理を順に行い、ステップ595に進んで本ルーチンを一旦終了する。
【0073】
ステップ520:CPUは、「エアフローメータ51により計測された吸入空気量Ga、クランクポジションセンサ54の信号に基いて取得された機関回転速度NE、及び、ルックアップテーブルMapMc」に基いて「燃料噴射気筒の1回の吸気行程において、その燃料噴射気筒に吸入される空気量」である「筒内吸入空気量Mc(k)」を取得する。筒内吸入空気量Mc(k)は、各吸気行程に対応されながらRAM内に記憶される。筒内吸入空気量Mc(k)は、周知の空気量推定モデル(吸気通路における空気の挙動を模した物理法則に従って構築されたモデル)により算出されてもよい。
【0074】
ステップ530:CPUは、筒内吸入空気量Mc(k)を目標空燃比abyfrで除することにより基本燃料噴射量Fbaseを求める。従って、基本燃料噴射量Fbaseは、機関の空燃比(従って、上流側触媒43に流入する排ガスの空燃比)を目標空燃比abyfrに一致させるために計算上必要な燃料噴射量のフィードフォワード量である。このステップ540は、機関に供給される混合気の空燃比を目標空燃比abyfrに一致させるためのフィードフォワード制御手段(基本燃料噴射量算出手段)を構成している。目標空燃比abyfrは、特別な場合を除き、触媒のウインドウの範囲内の基準空燃比(例えば、理論空燃比stoich=14.6)に設定されている。
【0075】
ステップ540:CPUは、基本燃料噴射量Fbaseを空燃比フィードバック量FFB(酸素吸蔵量フィードバック量FFB)により補正する。この空燃比フィードバック量FFによる補正は、空燃比フィードバック制御又は酸素吸蔵量フィードバック制御とも称呼される。より具体的には、CPUは、基本燃料噴射量Fbaseに空燃比フィードバック量FFBを加えることにより、指示燃料噴射量(最終燃料噴射量)Fiを算出する。空燃比フィードバック量FFBは、後述するルーチンにより別途算出されている推定酸素吸蔵量OSCを目標酸素吸蔵量に一致させるように変更される。目標酸素吸蔵量は、本例において、通常運転時最大酸素吸蔵量Cmaxの1/2(通常運転時最大酸素吸蔵量Cmaxの半分)である。空燃比フィードバック量FFBの算出方法については後述する。
【0076】
なお、通常運転時最大酸素吸蔵量Cmaxは、上流側触媒43が吸蔵し得る酸素の量の最大値であり、前回又はそれ以前の機関10の運転時において、所謂「アクティブ空燃比制御」によって別途取得されている。通常運転時最大酸素吸蔵量Cmaxは、上流側触媒43の劣化が進むほど小さくなる。アクティブ空燃比制御は、例えば、特開平5−133264号公報等に記載された周知の制御である。例えば、通常運転時最大酸素吸蔵量Cmaxは、次のようにして取得される。
【0077】
・上流側触媒43の温度が所定の温度であるとき、上流側触媒43に理論空燃比stoichよりもリッチな空燃比の排ガスを流入し続けて上流側触媒43の酸素吸蔵量を「0」に一致させる。このとき、下流側空燃比センサ57の出力値Voxsは最大出力値maxとなる。
・その時点から上流側触媒43に理論空燃比stoichよりもリーンな空燃比の排ガスを流入し続け、その時点から下流側空燃比センサ57の出力値Voxsが理論空燃比相当相当電圧Vstよりも小さい値(又は最小出力値min)となる時点までの期間において「上流側空燃比センサ56の出力値Vabyfsに基いて推定される三元触媒43に吸蔵される酸素吸蔵量変化量ΔOSC(=(単位時間あたりの燃料量)・0.23・(abyfs−stoich))」を積算することにより求める。この求められた値が通常運転時最大酸素吸蔵量Cmaxである。通常運転時最大酸素吸蔵量Cmaxは、取得される毎に、通常運転時最大酸素吸蔵量Cmaxを取得した期間における触媒の温度とともに、バックアップRAMに記憶・更新される。
【0078】
ステップ550:CPUは、「指示燃料噴射量Fiの燃料」を「燃料噴射気筒に対応して設けられている燃料噴射弁33」から噴射させるための噴射指示信号を、その燃料噴射弁33に送出する。なお、CPUは、噴射指示信号を送出している期間(即ち、燃料噴射を行う期間、所定のタイミングにて点火を行うようにイグナイタに点火指示信号を送出する。
【0079】
この結果、推定酸素吸蔵量OSCを目標酸素吸蔵量に一致させるために計算上必要な量(必要と推定される量)の燃料が燃料噴射気筒の燃料噴射弁33から噴射させられる。即ち、ステップ520乃至ステップ550は、推定酸素吸蔵量OSCを使用しながら指示燃料噴射量Fi(機関10)を制御する指示燃料噴射量制御手段を構成している。
【0080】
一方、CPUがステップ510の処理を実行する時点において、燃料噴射フラグXinjの値が「0」に設定されていると、CPUはそのステップ510にて「No」と判定し、ステップ595に直接進んで本ルーチンを一旦終了する。この場合、ステップ550の処理による燃料噴射が実行されないので、燃料の供給(燃料噴射)が停止される運転(フューエルカット)が実行される。燃料供給が停止すると、後述する「機関の強制回転」が実行されない場合、機関10は回転を停止する。従って、触媒には大気が送り込まれない。
【0081】
<空燃比フィードバック量の算出>
CPUは図6にフローチャートにより示した「フィードバック量算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ600から処理を開始し、ステップ610に進んで推定酸素吸蔵量OSCを読み込む。推定酸素吸蔵量OSCは、後述する図7に示したルーチンにより別途算出され、バックアップRAM内に格納されている。
【0082】
次に、CPUはステップ620に進み、通常運転時最大酸素吸蔵量Cmaxを読み込む。前述したように、通常運転時最大酸素吸蔵量Cmaxは別途算出されている。その後、CPUはステップ630に進み、推定酸素吸蔵量OSCが目標酸素吸蔵量(=Cmax/2)以上であるか否かを判定する。
【0083】
このとき、推定酸素吸蔵量OSCが目標酸素吸蔵量(=Cmax/2)以上であれば、CPUはステップ630にて「Yes」と判定してステップ640に進み、空燃比フィードバック量FFBを一定値dfだけ大きくする。この処理が繰り返されることにより指示燃料噴射量Fiが増大するので、機関の空燃比が理論空燃比stoichよりも小さいリッチ空燃比となる。その結果、触媒43に過剰な未燃物が流入するので、酸素吸蔵量は減少して目標酸素吸蔵量に近づく。その後、CPUはステップ695に進み、本ルーチンを一旦終了する。
【0084】
一方、CPUがステップ630の処理を行う時点において、推定酸素吸蔵量OSCが目標酸素吸蔵量(=Cmax/2)未満であれば、CPUはステップ630にて「No」と判定してステップ650に進み、空燃比フィードバック量FFBを一定値dfだけ小さくする。この処理が繰り返されることにより指示燃料噴射量Fiが減少するので、機関の空燃比が理論空燃比stoichよりも大きいリーン空燃比となる。その結果、触媒43に過剰な酸素が流入するので、酸素吸蔵量は増大して目標酸素吸蔵量に近づく。その後、CPUはステップ695に進み、本ルーチンを一旦終了する。
【0085】
<推定酸素吸蔵量OSCの算出>
CPUは図7にフローチャートにより示した「推定酸素吸蔵量OSC算出ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ700から処理を開始し、ステップ710に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ710にて「No」と判定し、ステップ795に直接進んで本ルーチンを一旦終了する。
【0086】
これに対し、CPUがステップ710の処理を行う時点において、燃料噴射フラグXinjの値が「1」であると(即ち、燃料噴射が実行されることにより機関10に燃料が供給されていると)、CPUはステップ710にて「Yes」と判定して以下に述べるステップ720乃至ステップ740の処理を順に行い、その後、ステップ795に進んで本ルーチンを一旦終了する。
【0087】
ステップ720:CPUは、下記の(1)式に従って、所定の単位時間内の酸素吸蔵量変化量ΔOSC(酸素吸蔵量の増大量)を算出する。(1)式において、値「0.23」は大気中に含まれる酸素の重量割合である。SFiは前記単位時間内の指示燃料噴射量Fiの合計である。abyfsは、上流側空燃比センサ56の出力値Vabyfsを図2に示した空燃比変換テーブルMapabyfs(Vabyfs)に適用することにより求められた上流側空燃比abyfs(即ち、触媒43に流入するガスの空燃比)である。stoichは、理論空燃比(例えば、14.6)である。
ΔOSC=0.23・SFi・(abyfs−stoich) …(1)
【0088】
(1)式に示したように、単位時間内の指示燃料噴射量Fiの合計に、同単位時間における触媒流入ガスの空燃比の理論空燃比からの偏移(abyfs−stoich)を乗じることにより、同単位時間における空気の過不足量が求められ、この空気の過不足量に酸素の重量割合を乗じることにより同単位時間における酸素吸蔵量変化量ΔOSCが求められる。
【0089】
ステップ730:CPUは、下記の(2)式に示したように、酸素吸蔵量変化量ΔOSCを積算することにより、触媒43の酸素吸蔵量OSCを推定する(推定酸素吸蔵量OSCを算出する。)。(2)式の左辺のOSCは更新後の推定酸素吸蔵量OSCであり、(2)式の右辺のOSCは更新前の推定酸素吸蔵量OSCである。
OSC=OSC+ΔOSC …(2)
【0090】
ステップ740:CPUは、ステップ730にて算出された推定酸素吸蔵量OSCを、「0」と通常運転時最大酸素吸蔵量Cmaxとの間の値に制限する。より具体的に述べると、酸素吸蔵量は「0」以下にはなり得ないので、推定酸素吸蔵量OSCが「0」以下となった場合には推定酸素吸蔵量OSCは「0」に設定される。更に、酸素吸蔵量は通常運転時最大酸素吸蔵量Cmax以上にはなり得ないので、推定酸素吸蔵量OSCが最大酸素吸蔵量Cmax以上となった場合には推定酸素吸蔵量OSCは通常運転時最大酸素吸蔵量Cmaxに設定される。
【0091】
なお、CPUは、下流側空燃比センサ57の出力値Voxsが0.7(V)以上となったとき、即ち、触媒43の下流側空燃比が明白なリッチ空燃比となったとき、推定酸素吸蔵量OSCを「0」に設定してもよい。
【0092】
<機関停止時制御の開始>
CPUは図8にフローチャートにより示した「機関停止時制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ800から処理を開始し、ステップ810に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ810にて「No」と判定してステップ895に直接進み、本ルーチンを一旦終了する。
【0093】
一方、CPUがステップ810の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると(即ち、燃料噴射が実行されていて機関10に燃料が供給されていると)、CPUはそのステップ810にて「Yes」と判定してステップ820に進み、機関強制回転フラグXMの値が「0」であるか否かを判定する。後述するように、機関強制回転フラグXMの値は、モータ22による機関10の強制回転を開始したときに「1」に設定され、モータ22による機関10の強制回転を終了したときに「0」に設定される。
【0094】
CPUがステップ820の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、モータ22による機関10の強制回転が行われていると)、CPUはそのステップ820にて「No」と判定してステップ895に直接進み、本ルーチンを一旦終了する。
【0095】
一方、CPUがステップ820の処理を行う時点において、機関強制回転フラグXMの値が「0」であると、CPUはそのステップ820にて「Yes」と判定してステップ830に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ830にて「No」と判定し、ステップ895に直接進んで本ルーチンを一旦終了する。
【0096】
一方、CPUがステップ830の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ830にて「Yes」と判定し、以下に述べるステップ840乃至ステップ860の処理を順に行い、その後、ステップ895に進んで本ルーチンを一旦終了する。
【0097】
ステップ840:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、CPUは図5のステップ510にて「No」と判定するので、燃料噴射(即ち、機関10への燃料の供給)が停止する。従って、機関10は、それ自身で回転するトルクを発生することができない。
【0098】
ステップ850:CPUは、モータ22を用いて機関10を強制的に回転させる。これにより、機関10を通じて大気が吸気通路から排気通路へと送出される。その結果、触媒43に大気(多量の酸素を含むガス)が供給される。従って、触媒43の酸素吸蔵量は急速に増大する。
ステップ860:CPUは、機関強制回転フラグXMの値を「1」に設定する。
【0099】
<機関停止時制御の終了>
CPUは図9にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ900から処理を開始し、ステップ910に進んで機関強制回転フラグXMの値が「1」であるか否かを判定する。このとき、機関強制回転フラグXMの値が「0」であると、CPUはステップ910にて「No」と判定してステップ995に直接進み、本ルーチンを一旦終了する。
【0100】
一方、CPUがステップ910の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、機関10がモータ22によって強制的に回転させられていると)、CPUはそのステップ910にて「Yes」と判定してステップ920に進み、下流側空燃比センサ57の出力値Voxsが最小出力値min以下となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリーン空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が最大の量に到達していると、触媒43からは多量の酸素が流出するので、出力値Voxsは明白なリーン空燃比を示す値となる。なお、CPUは、ステップ920において、出力値Voxsが最小出力値min以下となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が最大の量に到達したか否かを判定してもよい。
【0101】
CPUがステップ920の処理を行う時点において、出力値Voxsが最小出力値min以下となっていなければ、CPUはそのステップ920にて「No」と判定し、ステップ995に直接進んで本ルーチンを一旦終了する。この結果、モータ22による機関10の強制的な回転は継続される。
【0102】
一方、CPUがステップ920の処理を行う時点において、出力値Voxsが最小出力値min以下となっていると、CPUは酸素吸蔵量が最大の量に到達したと判定する。即ち、この場合、CPUはステップ920にて「Yes」と判定し、以下に述べるステップ930乃至ステップ950の処理を順に行い、その後、ステップ995に進んで本ルーチンを一旦終了する。
【0103】
ステップ930:CPUは、モータ22の回転を停止させ、モータ22による機関10の強制回転を終了する。
ステップ940:CPUは、機関強制回転フラグXMの値を「0」に設定する。
ステップ950:CPUは、推定酸素吸蔵量OSCを「通常運転時最大酸素吸蔵量Cmax」に設定する(OSC=Cmax)。即ち、CPUは、推定酸素吸蔵量OSCを通常運転時最大酸素吸蔵量Cmaxに一致させる「推定酸素吸蔵量OSCの初期化」を行う。
【0104】
以上、説明したように、第1制御装置は、内燃機関10の排気通路に配設された触媒43の酸素吸蔵量OSCを推定する(推定酸素吸蔵量OSCを算出する)酸素吸蔵量推定手段を備え(図7を参照。)、前記酸素吸蔵量推定手段により推定される酸素吸蔵量OSCを使用して前記機関10を制御するように構成された内燃機関の制御装置(図6、及び、図5のステップ540及び550等を参照。)であって、
前記機関の運転中に前記機関の運転を停止する要求である機関停止要求が発生したか否かを判定する停止要求発生判定手段(図8のステップ830)と、
前記機関停止要求が発生した場合に前記触媒43の実際の酸素吸蔵量が最大の量に到達するように前記触媒43に過剰な酸素(過剰な酸素を含む大気)を供給する制御手段(図8のステップ840、ステップ850、及び、図5のステップ510での「No」との判定を参照。)と、
前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したか否かを判定するとともに(図9のステップ920)、前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき前記推定される酸素吸蔵量(推定酸素吸蔵量OSC)を前記触媒43の最大酸素吸蔵量(通常運転時最大酸素吸蔵量Cmaxに基く値)に設定する推定酸素吸蔵量初期化手段(図9のステップ950)と、
を備える。
【0105】
即ち、前記制御手段は、
前記機関停止要求が発生した時点から前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定される時点まで前記機関10を回転させることにより(図8のステップ830及びステップ850、図9のステップ920及びステップ930)、前記機関10を通して前記触媒43に過剰な酸素を供給し、前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき前記機関の回転を停止させるように構成されている(図9のステップ920及びステップ930)。
【0106】
換言すると、前記制御手段は、
前記機関停止要求が発生した場合、前記触媒43の実際の酸素吸蔵量を前記最大の量に到達させるべく前記機関10への燃料の供給を停止し(図8のステップ830、ステップ840及び図5のステップ510での「No」との判定を参照。)、且つ、前記機関10を前記機関以外の動力源(モータ22)により強制的に回転させる(図8のステップ830及びステップ850)ことにより前記触媒43に過剰な酸素を含む大気を供給するとともに、前記触媒43の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき(図9のステップ920での「Yes」との判定を参照。)、前記機関以外の動力源(モータ22)による前記機関10の強制的な回転を停止することにより前記機関の回転を停止させるように構成され(図9のステップ930)、
前記推定酸素吸蔵量初期化手段は、
前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき(図9のステップ920での「Yes」との判定を参照。)前記推定される酸素吸蔵量を前記触媒43の最大酸素吸蔵量(通常時最大酸素吸蔵量に基く値)に設定するように構成されている(図9のステップ950)。
【0107】
この第1制御装置によれば、機関停止要求が発生した場合、機関10の回転がモータ22によって継続されるとともに、触媒43に機関から大気が送り込まれ、触媒43の実際の酸素吸蔵量が最大の量となるように移行させられる。そして、触媒の実際の酸素吸蔵量が最大の量へと移行したと推定される時点にて、推定酸素吸蔵量OSCが通常運転時最大酸素吸蔵量Cmaxに基く値(最大酸素吸蔵量)へと一致させられる。
【0108】
これにより、機関10の回転が停止した時点において推定酸素吸蔵量OSCと実際の酸素吸蔵量とを高い精度をもって一致させることができるので、その後の機関始動時点から推定酸素吸蔵量OSCと実際の酸素吸蔵量との差を小さくすることができる。この結果、推定酸素吸蔵量OSCを用いた機関の制御(例えば空燃比制御)を、機関10の始動直後から適切に行うことができる。更に、推定酸素吸蔵量OSCの初期化に伴う作動(モータ22による機関10の強制回転)が機関停止要求の発生後に行われるので、推定酸素吸蔵量OSCの初期化に伴う作動が「機関10を搭載した車両の走行」に悪影響を及ぼすことを回避することもできる。
【0109】
更に、第1制御装置によれば、機関停止要求発生後において触媒43に多量の酸素が短時間にて供給されるので、触媒43の酸素吸蔵量を最大の量に短時間にて一致させることができる。この結果、機関停止要求後において機関を回転させておく時間を短くすることができ、他の動力源(モータ22)により消費されるエネルギーの量(例えば、バッテリからのエネルギーの消費量)を少なくすることができる。なお、他の動力源は、例えば機関が所謂ハイブリッド車両に搭載されている場合、そのハイブリッド車両のモータであってもよく、機関が通常の車両に搭載されている場合、その車両のスタータモータであってもよい。
【0110】
<第2制御装置>
次に、本発明の第2実施形態に係る制御装置(以下、「第2制御装置」とも称呼する。)について説明する。この第2制御装置は、機関停止要求が発生したとき、燃料噴射を停止するとともに、電気加熱ヒータ44に通電することにより触媒43の温度を所定値(目標温度)にまで上昇させる。そして、触媒の温度が所定値となってから、モータ22によって機関10を強制的に回転させることにより触媒43に酸素(実際には大気)を供給する。その他の点は第1制御装置と同様である。
【0111】
より具体的に述べると、第2制御装置は、図10に示したように作動する。即ち、時刻t1にて機関始動要求が発生すると、燃料噴射フラグXinjが「1」に設定され、燃料噴射が開始する。
【0112】
この状態において(即ち、機関の運転中)、時刻t2にて機関停止要求が発生すると、ヒータ通電フラグXHの値が「1」に設定され、電気加熱ヒータ44が通電される。これにより、触媒の温度は上昇して時刻t3にて目標温度Ttgtに到達する。
【0113】
時刻t3にて触媒の温度が目標温度Ttgtに到達すると、燃料噴射フラグXinjの値は「0」に設定されるので、燃料噴射が停止する。なお、燃料噴射フラグXinjの値は時刻t2にて「0」に設定されてもよい。即ち、時刻t2にて燃料噴射が停止されてもよい。
【0114】
更に、時刻t3において、機関強制回転フラグXMの値が「1」に設定される。これにより、モータ22によって機関10が強制的に回転させられる。その結果、機関10を通じて大気が吸気通路から排気通路へと送出されるので、触媒43に大気(多量の酸素を含むガス)が供給される。従って、触媒43の酸素吸蔵量は急速に増大する。
【0115】
その後、時刻t4にて下流側空燃比センサ57の出力値Voxsは最小出力値minに到達する。このとき、機関強制回転フラグXMの値は「0」に設定され、それにより、モータ22による機関10の強制回転が終了する。このとき、推定酸素吸蔵量OSCは最大酸素吸蔵量に設定される。
【0116】
(実際の作動)
次に、第2制御装置の実際の作動について説明する。第2制御装置のCPUは、図4乃至図7、及び、図11乃至図13にフローチャートにより示したルーチンを実行する。図4乃至図7に示したルーチンについては説明済みである。従って、以下、図11乃至図13に示したルーチンを参照しながら説明する。
【0117】
<触媒温度制御制御の開始>
CPUは図11にフローチャートにより示した「触媒温度制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1100から処理を開始し、ステップ1110に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1110にて「No」と判定してステップ1195に直接進み、本ルーチンを一旦終了する。
【0118】
一方、CPUがステップ1110の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると(即ち、燃料噴射が実行されていて機関10に燃料が供給されていると)、CPUはそのステップ1110にて「Yes」と判定してステップ1120に進み、機関強制回転フラグXMの値が「0」であるか否かを判定する。
【0119】
CPUがステップ1120の処理を行う時点において、機関強制回転フラグXMの値が「1」であると、CPUはそのステップ1120にて「No」と判定してステップ1195に直接進み、本ルーチンを一旦終了する。
【0120】
一方、CPUがステップ1120の処理を行う時点において、機関強制回転フラグXMの値が「0」であると、CPUはそのステップ1120にて「Yes」と判定してステップ1130に進み、ヒータ通電フラグXHの値が「0」であるか否かを判定する。後述するように、ヒータ通電フラグXHの値は、電気加熱ヒータ44への通電を開始したとき(触媒43の加熱を開始したとき)に「1」に設定され、電気加熱ヒータ44への通電を終了したときに「0」に設定される。
【0121】
CPUがステップ1130の処理を行う時点において、ヒータ通電フラグXHの値が「1」であると、CPUはそのステップ1130にて「No」と判定してステップ1195に直接進み、本ルーチンを一旦終了する。
【0122】
一方、CPUがステップ1130の処理を行う時点において、ヒータ通電フラグXHの値が「0」であると、CPUはそのステップ1130にて「Yes」と判定してステップ1140に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ1140にて「No」と判定し、ステップ1195に直接進んで本ルーチンを一旦終了する。
【0123】
一方、CPUがステップ1140の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ1140にて「Yes」と判定し、以下に述べるステップ1150及びステップ1160の処理を順に行い、その後、ステップ1195に進んで本ルーチンを一旦終了する。
【0124】
ステップ1150:CPUは、電気加熱ヒータ44への通電を開始するとともに、実際の触媒温度が目標温度Ttgtに一致するように、電気加熱ヒータ44に供給する電力(実際には、電気加熱ヒータ44のヒータを流れる電流)を制御する。電気加熱ヒータ44が通電されているときの触媒温度は、電気加熱ヒータ44の抵抗値及び電流から推定することができる。なお、触媒43内に触媒温度センサを配設しておき、CPUはその触媒温度センサの出力値に基づいて触媒温度を取得してもよい。
ステップ1160:CPUは、ヒータ通電フラグXHの値を「1」に設定する。
【0125】
このように、CPUは、燃料噴射(燃料供給)が実行されていて、モータ22による機関強制回転が実行されておらず、且つ、電気加熱ヒータ44による触媒の加熱が実行されていない場合に機関停止要求が発生すると、電気加熱ヒータ44への通電を開始し、触媒の温度を目標温度Ttgtに一致させる。
【0126】
<機関強制回転開始>
CPUは図12にフローチャートにより示した「機関強制回転開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1200から処理を開始し、ステップ1210に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1210にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0127】
一方、CPUがステップ1210の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると(即ち、燃料噴射が実行されていて機関10に燃料が供給されていると)、CPUはそのステップ1210にて「Yes」と判定してステップ1220に進み、機関強制回転フラグXMの値が「0」であるか否かを判定する。
【0128】
CPUがステップ1220の処理を行う時点において、機関強制回転フラグXMの値が「1」であると、CPUはそのステップ1220にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0129】
一方、CPUがステップ1220の処理を行う時点において、機関強制回転フラグXMの値が「0」であると、CPUはそのステップ1220にて「Yes」と判定してステップ1230に進み、ヒータ通電フラグXHの値が「1」であるか否かを判定する。このとき、ヒータ通電フラグXHの値が「0」であると、CPUはステップ1230にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0130】
一方、CPUがステップ1230の処理を行う時点において、ヒータ通電フラグXHの値が「1」であると、CPUはそのステップ1230にて「Yes」と判定してステップ1240に進み、触媒の温度が目標温度Ttgtの近傍であるか否か(目標温度Ttgtから所定値αを減じた値以上であり且つ目標温度Ttgtに所定値αを加えた値以下であるか否か)を判定する。このとき、触媒の温度が目標温度Ttgtの近傍でなければ、CPUはステップ1240にて「No」と判定してステップ1295に直接進み、本ルーチンを一旦終了する。
【0131】
一方、CPUがステップ1240の処理を行う時点において、触媒の温度が目標温度Ttgtの近傍であると、CPUはそのステップ1240にて「Yes」と判定し、以下に述べるステップ1250乃至ステップ1270の処理を順に行い、その後、ステップ1295に直接進んで本ルーチンを一旦終了する。
【0132】
ステップ1250:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、CPUは図5のステップ510にて「No」と判定するので、燃料噴射(即ち、機関10への燃料の供給)が停止する。従って、機関10は、それ自身で回転するトルクを発生することができない。
【0133】
ステップ1260:CPUは、モータ22に用いて機関10を強制的に回転させる。これにより、機関10を通じて大気が吸気通路から排気通路へと送出される。その結果、触媒43に大気(多量の酸素を含むガス)が供給される。従って、触媒43の酸素吸蔵量は急速に増大する。
ステップ1270:CPUは、機関強制回転フラグXMの値を「1」に設定する。
【0134】
このように、CPUは、燃料噴射(燃料供給)が実行されていて、モータ22による機関強制回転が実行されておらず、且つ、電気加熱ヒータ44による触媒の加熱が実行されている場合に触媒の温度が目標温度Ttgtに実質的に一致すると、燃料噴射を停止するとともにモータ22による機関強制回転を開始する。
【0135】
<機関停止時制御の終了>
CPUは図13にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1300から処理を開始し、ステップ1310に進んで燃料噴射フラグXinjの値が「0」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「1」であると、CPUはステップ1310にて「No」と判定してステップ1395に直接進み、本ルーチンを一旦終了する。
【0136】
一方、CPUがステップ1310の処理を行う時点において、燃料噴射フラグXinjの値が「0」に設定されていると、CPUはそのステップ1310にて「Yes」と判定してステップ1320に進み、機関強制回転フラグXMの値が「1」であるか否かを判定する。このとき、機関強制回転フラグXMの値が「0」であると、CPUはステップ1320にて「No」と判定してステップ1395に直接進み、本ルーチンを一旦終了する。
【0137】
一方、CPUがステップ1320の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、機関10がモータ22によって強制的に回転させられていると)、CPUはそのステップ1320にて「Yes」と判定してステップ1330に進み、ヒータ通電フラグXHの値が「1」であるか否かを判定する。このとき、ヒータ通電フラグXHの値が「0」であると、CPUはステップ1330にて「No」と判定してステップ1395に直接進み、本ルーチンを一旦終了する。
【0138】
一方、CPUがステップ1330の処理を行う時点において、ヒータ通電フラグXHの値が「1」に設定されていると、CPUはそのステップ1330にて「Yes」と判定してステップ1340に進み、下流側空燃比センサ57の出力値Voxsが最小出力値min以下となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリーン空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が最大の量に到達していると、触媒43からは多量の酸素が流出するので、出力値Voxsは明白なリーン空燃比を示す値となる。なお、CPUは、ステップ1340において、出力値Voxsが最小出力値min以下となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が最大の量に到達したか否かを判定してもよい。
【0139】
CPUがステップ1340の処理を行う時点において、出力値Voxsが最小出力値min以下となっていなければ、CPUはそのステップ1340にて「No」と判定し、ステップ1395に直接進んで本ルーチンを一旦終了する。この結果、モータ22による機関10の強制的な回転は継続される。
【0140】
一方、CPUがステップ1340の処理を行う時点において、出力値Voxsが最小出力値min以下となっていると、CPUは触媒43の酸素吸蔵量が最大の量に到達したと判定する。即ち、この場合、CPUはそのステップ1340にて「Yes」と判定し、以下に述べるステップ1350乃至ステップ1390の処理を順に行い、その後、ステップ1395に進んで本ルーチンを一旦終了する。
【0141】
ステップ1350:CPUは、モータ22の回転を停止させ、モータ22による機関10の強制回転を終了する。
ステップ1360:CPUは、機関強制回転フラグXMの値を「0」に設定する。
ステップ1370:CPUは、電気加熱ヒータ44への通電を停止する。即ち、電気加熱ヒータ44のヒータ電流を「0」に設定することにより、電気加熱ヒータ44への電力の供給を停止する。
ステップ1380:CPUは、ヒータ通電フラグXHの値を「0」に設定する。
ステップ1390:CPUは、推定酸素吸蔵量OSCを通常運転時最大酸素吸蔵量Cmaxに設定する(OSC=Cmax)。即ち、推定酸素吸蔵量OSCを通常運転時最大酸素吸蔵量Cmaxに一致させる。なお、第2制御装置において、通常運転時最大酸素吸蔵量Cmaxは「機関10が通常の運転を行っている場合であって且つ触媒の温度が目標温度Ttgtであるとき」に取得されるようになっている。
【0142】
このように、CPUは、燃料噴射(燃料供給)が停止されており、モータ22による機関強制回転が実行されていて、且つ、電気加熱ヒータ44による触媒の加熱が実行されている場合に、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す状態になったとき、モータ22による機関強制回転を停止するとともに、電気加熱ヒータ44への通電を停止する。更に、CPUは推定酸素吸蔵量OSCを最大酸素吸蔵量(通常運転時最大酸素吸蔵量Cmaxに基く値)に設定する。
【0143】
以上、説明したように、第2制御装置は、機関停止要求が発生した場合に電気加熱ヒータ44を用いて前記触媒の温度を所定温度(目標温度Ttgt)へと上昇させるとともに、前記触媒の温度を所定温度(目標温度Ttgt)へと上昇させた状態にて(前記触媒の温度が目標温度Ttgtとなったとき)、機関の燃料噴射(燃料供給)を停止した状態にてモータ22により機関10を強制回転させる。
【0144】
触媒43が吸蔵し得る酸素の最大の量は、触媒の温度に依存して変化する。従って、モータ22により機関10を強制回転させている場合の触媒の温度が機関停止要求発生時間において相違すると、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点における触媒43の実際の酸素吸蔵量が、「機関10が通常の運転を行っている場合であって且つ触媒の温度が目標温度Ttgtであるとき」に取得された通常運転時最大酸素吸蔵量Cmaxと必ずしも一致しない。
【0145】
これに対し、第2制御装置は、機関停止要求の発生後に触媒の温度を目標温度Ttgtに実質的に一致させた状態にてモータ22により機関10を強制回転させることにより、触媒43に酸素を供給する。従って、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点(触媒43の酸素吸蔵量が最大の量に到達したと推定される時点)における実際の酸素吸蔵量が通常運転時最大酸素吸蔵量Cmaxに近しい値となる。加えて、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点にて、推定酸素吸蔵量OSCが通常運転時最大酸素吸蔵量Cmaxに一致させられる。その結果、推定酸素吸蔵量OSCを真の酸素吸蔵量に精度良く一致させることができる(推定酸素吸蔵量OSCを精度良く初期化させることができる)。なお、第2制御手段は、通常時最大酸素吸蔵量Cmaxを触媒の温度が目標温度Ttgt以外の温度Totherであるときに取得し、その温度Totherと目標温度Ttgtと通常運転時最大酸素吸蔵量Cmaxとに基き、触媒43の酸素吸蔵量が最大の量に到達したと推定される時点にて推定酸素吸蔵量OSCに設定される最大酸素吸蔵量を求めてもよい。
【0146】
<第3制御装置>
次に、本発明の第3実施形態に係る制御装置(以下、「第3制御装置」とも称呼する。)について説明する。この第3制御装置は、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点(触媒の酸素吸蔵量が最大の量に到達したと推定される時点)にてモータ22による機関の強制回転を終了し、その時点の触媒の温度を取得する。更に、第3制御装置は、その取得した触媒の温度に基いて「その時点の触媒の最大酸素吸蔵量Cmax(その時点の触媒の酸素吸蔵量)」を取得し、推定酸素吸蔵量OSCを「その取得した最大酸素吸蔵量Cmax」に一致させる。第3制御装置は、その他の点において第1制御装置と同様である。
【0147】
(実際の作動)
次に、第3制御装置の実際の作動について説明する。第3制御装置のCPUは、図4乃至図8、及び、図14にフローチャートにより示したルーチンを実行する。図4乃至図8に示したルーチンについては説明済みである。従って、以下、図14に示したルーチンを参照しながら説明する。
【0148】
CPUは図14にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1400から処理を開始し、ステップ1410に進んで機関強制回転フラグXMの値が「1」であるか否かを判定する。このとき、機関強制回転フラグXMの値が「0」であると、CPUはステップ1410にて「No」と判定してステップ1495に直接進み、本ルーチンを一旦終了する。
【0149】
一方、CPUがステップ1410の処理を行う時点において、機関強制回転フラグXMの値が「1」に設定されていると(即ち、機関10がモータ22によって強制的に回転させられていると)、CPUはそのステップ1410にて「Yes」と判定してステップ1420に進み、下流側空燃比センサ57の出力値Voxsが最小出力値min以下となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリーン空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が最大の量に到達していると、触媒43からは多量の酸素が流出するので、出力値Voxsは明白なリーン空燃比を示す値となる。なお、CPUは、ステップ1420において、出力値Voxsが最小出力値min以下となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が最大の量に到達したか否かを判定してもよい。
【0150】
CPUがステップ1420の処理を行う時点において、出力値Voxsが最小出力値min以下となっていなければ、CPUはそのステップ1420にて「No」と判定し、ステップ1495に直接進んで本ルーチンを一旦終了する。この結果、モータ22による機関10の強制的な回転は継続される。
【0151】
一方、CPUがステップ1420の処理を行う時点において、出力値Voxsが最小出力値min以下となっていると、CPUは酸素吸蔵量が最大の量に到達したと判定する。即ち、この場合、CPUはそのステップ1420にて「Yes」と判定し、以下に述べるステップ1430乃至ステップ1480の処理を順に行い、その後、ステップ1495に進んで本ルーチンを一旦終了する。
【0152】
ステップ1430:CPUは、モータ22の回転を停止させ、モータ22による機関10の強制回転を終了する。
ステップ1440:CPUは、機関強制回転フラグXMの値を「0」に設定する。
【0153】
ステップ1450:CPUは、図示しないルーチンにより別途推定されている触媒温度Tempccroを取得する(読み込む)。触媒温度Tempccroは、機関10の負荷KL及び機関回転速度NEに基づいて推定される。即ち、CPUはルックアップテーブルMapTex(KL,NE)に実際の「負荷KL及び機関回転速度NE」を適用することにより排ガス温度Texを所定時間が経過する毎に推定する。その後、CPUは、下記の(3)式に従って触媒温度Tempccroを推定する。(3)式の値pは「0」より大きく「1」より小さい定数である。(3)式の左辺のTempccroが新たに更新された触媒温度Tempccroであり、(3)式の右辺のTempccropは更新前の触媒温度Tempccroである。なお、モータ22により機関が強制回転させられているとき、CPUは排ガス温度Texに大気温度を代入する。大気温度は、図示されていない大気温度センサにより取得される。
Tempccro=p・Tempccro+(1−p)・Tex …(3)
【0154】
なお、上流側触媒43内に触媒温度センサを配設しておき、CPUはその触媒温度センサの出力値に基づいて触媒温度Tempccroを取得してもよい。
【0155】
ステップ1460:CPUは、機関10の通常の運転中に図示しないルーチンにより別途算出しておいた通常運転時最大酸素吸蔵量を読み込む。この通常運転時最大酸素吸蔵量は、便宜上、最大酸素吸蔵量の基準値Cmax0とも称呼される。基準値Cmax0は、触媒温度Tempccroが特定温度であるときに取得される最大酸素吸蔵量Cmaxである。
【0156】
ステップ1470:CPUは、現時点における触媒の酸素吸蔵量(即ち、最大酸素吸蔵量Cmax)を、ステップ1450にて取得した触媒温度Tempccroと、ステップ1460にて取得した最大酸素吸蔵量の基準値Cmax0と、に基いて推定する。より具体的に述べると、CPUは、触媒温度Tempccroと最大酸素吸蔵量の基準値Cmax0とをルックアップテーブルMapCmax(Tempccro,Cmax0)に適用することにより、最大酸素吸蔵量Cmaxを推定する。このテーブルによれば、触媒温度Tempccroが高いほど、且つ、最大酸素吸蔵量の基準値Cmax0が大きいほど、最大酸素吸蔵量Cmaxは大きい値となるように求められる。
【0157】
ステップ1480:CPUは、推定酸素吸蔵量OSCを「ステップ1470にて算出した最大酸素吸蔵量Cmax」に設定する(OSC=Cmax)。即ち、推定酸素吸蔵量OSCを最大酸素吸蔵量Cmaxに一致させる。
【0158】
以上、説明したように、第3制御装置は、機関停止要求の発生後に燃料供給を停止し且つモータ22により機関10を強制回転させることにより触媒に酸素を供給する。更に、下流側空燃比センサ57の出力値Voxsが明白なリーン空燃比を示す値となった時点(触媒の酸素吸蔵量が最大の量に到達したと推定される時点)における触媒温度Tempccroに基いて、その時点の最大酸素吸蔵量Cmaxを「酸素吸蔵量の基準値Cmax0及び触媒温度Tempccro」に基いて算出し、推定酸素吸蔵量OSCをその算出した最大酸素吸蔵量Cmaxに一致させる。その結果、触媒の酸素吸蔵量が最大の量に到達したと推定される時点における触媒温度Tempccに関わらず、推定酸素吸蔵量OSCを真の酸素吸蔵量に精度良く一致させることができる(推定酸素吸蔵量OSCを精度良く初期化させることができる)。
【0159】
<第4制御装置>
次に、本発明の第4実施形態に係る制御装置(以下、「第4制御装置」とも称呼する。)について説明する。この第4制御装置は、機関の運転中に機関停止要求が発生すると、目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定し、空燃比フィードバック制御を停止し、且つ、燃料噴射(燃料供給)を継続する。これにより、機関停止要求が発生した時点以降において機関に供給される混合気の空燃比が理論空燃比stoichよりも小さい(リッチな)空燃比となるので触媒43に過剰な未燃物が流入する。よって、触媒43の酸素吸蔵量は減少する。
【0160】
更に、第4制御装置は、下流側空燃比センサ57の出力値Voxsが最大出力値maxに到達したとき(触媒の酸素吸蔵量が最小の量に到達したと推定される時点)、触媒43の酸素吸蔵量が最小酸素吸蔵量である「0」に到達したと判定し、推定酸素吸蔵量OSCを「0」に設定する。第4制御装置は、その他の点において第1制御装置と同様である。
【0161】
(実際の作動)
次に、第4制御装置の実際の作動について説明する。第4制御装置のCPUは、図4乃至図7、図15及び図16にフローチャートにより示したルーチンを実行する。図4乃至図7に示したルーチンについては説明済みである。従って、以下、図15及び図16に示したルーチンを参照しながら説明する。
【0162】
CPUは図15にフローチャートにより示した「機関停止時制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1500から処理を開始し、ステップ1510に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1510にて「No」と判定してステップ1595に直接進み、本ルーチンを一旦終了する。
【0163】
一方、CPUがステップ1510の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると、CPUはそのステップ1510にて「Yes」と判定してステップ1520に進み、リッチ化フラグXrichの値が「0」であるか否かを判定する。リッチ化フラグXrichは、後述するように、目標空燃比abyfrが「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定されたとき「1」に設定され、目標空燃比abyfrが理論空燃比stoichに設定されたとき「0」に設定される。
【0164】
CPUがステップ1520の処理を行う時点においてリッチ化フラグXrichの値が「1」であると、CPUはステップ1520にて「No」と判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。
【0165】
一方、CPUがステップ1520の処理を行う時点において、リッチ化フラグXrichの値が「0」に設定されていると、CPUはそのステップ1520にて「Yes」と判定してステップ1530に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ1530にて「No」と判定し、ステップ1595に直接進んで本ルーチンを一旦終了する。
【0166】
一方、CPUがステップ1530の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ1530にて「Yes」と判定し、以下に述べるステップ1540乃至ステップ1560の処理を順に行い、その後、ステップ1595に進んで本ルーチンを一旦終了する。
【0167】
ステップ1540:CPUは、目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定する。
ステップ1550:CPUは、リッチ化フラグXrichの値を「1」に設定する。
ステップ1560:CPUは、空燃比フィードバック量FFBを「0」に設定し、空燃比フィードバック制御を停止する。
【0168】
この結果、図5のステップ530及びステップ540の処理によって、指示燃料噴射量Fiは、機関の空燃比をリッチ空燃比africhに一致させるために必要な量となる。従って、触媒43に過剰な未燃物が流入するので、触媒43の酸素吸蔵量は減少して行く。
【0169】
CPUは図16にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1600から処理を開始し、ステップ1610に進んでリッチ化フラグXrichの値が「1」であるか否かを判定する。このとき、リッチ化フラグXrichの値が「0」であると、CPUはステップ1610にて「No」と判定してステップ1695に直接進み、本ルーチンを一旦終了する。
【0170】
一方、CPUがステップ1610の処理を行う時点において、リッチ化フラグXrichの値が「1」に設定されていると(即ち、機関の空燃比がリッチ空燃比africhに一致させられていると)、CPUはそのステップ1610にて「Yes」と判定してステップ1620に進み、下流側空燃比センサ57の出力値Voxsが最大出力値max以上となったか否かを判定する。換言すると、CPUは、出力値Voxsが明白なリッチ空燃比を示す値となったか否かを判定する。触媒43の実際の酸素吸蔵量が「0」に到達していると、触媒43からは多量の未燃物が流出するので、出力値Voxsは明白なリッチ空燃比を示す値となる。なお、CPUは、ステップ1620において、出力値Voxsが最大出力値max以上となっている継続時間が所定時間以上となったか否かを判定することにより、触媒43の実際の酸素吸蔵量が「0」に到達したか否かを判定してもよい。
【0171】
CPUがステップ1620の処理を行う時点において、出力値Voxsが最大出力値max以上となっていなければ、CPUはそのステップ1620にて「No」と判定し、ステップ1695に直接進んで本ルーチンを一旦終了する。この結果、燃料噴射(燃料供給)が継続されるとともに、機関の空燃比はリッチ空燃比africhに一致させられ続ける。
【0172】
一方、CPUがステップ1620の処理を行う時点において、出力値Voxsが最大出力値max以上となっていると、CPUは酸素吸蔵量が最小の量に到達したと判定する。即ち、この場合、CPUはそのステップ1620にて「Yes」と判定し、以下に述べるステップ1630乃至ステップ1660の処理を順に行い、その後、ステップ1695に進んで本ルーチンを一旦終了する。
【0173】
ステップ1630:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、燃料噴射(燃料供給)が停止されるので、機関10の回転が停止する。
ステップ1640:CPUは、目標空燃比abyfrを理論空燃比stoichに設定する。
ステップ1650:CPUは、リッチ化フラグXrichの値を「0」に設定する。
ステップ1660:CPUは、推定酸素吸蔵量OSCを最小酸素吸蔵量である「0」に設定する(OSC=0)。即ち、推定酸素吸蔵量OSCを「0」に一致させる。
【0174】
以上、説明したように、第4制御装置は、内燃機関10の排気通路に配設された触媒43の酸素吸蔵量OSCを推定する(推定酸素吸蔵量OSCを算出する)酸素吸蔵量推定手段を備え(図7を参照。)、前記酸素吸蔵量推定手段により推定される酸素吸蔵量OSCを使用して前記機関10を制御するように構成された内燃機関の制御装置(図6、及び、図5のステップ540及び550等を参照。)であって、
前記機関の運転中に前記機関の運転を停止する要求である機関停止要求が発生したか否かを判定する停止要求発生判定手段(図15のステップ1530)と、
前記機関停止要求が発生した場合に前記触媒43の実際の酸素吸蔵量が最小の量に到達するように前記触媒43に過剰な未燃物を供給する制御手段(図15のステップ1530乃至ステップ1560、図5の特にステップ530乃至ステップ550を参照。)と、
前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したか否かを判定するとともに(図16のステップ1620)、前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき前記推定される酸素吸蔵量(推定酸素吸蔵量OSC)を前記触媒43最小酸素吸蔵量(「0」)に設定する推定酸素吸蔵量初期化手段(図16のステップ1660)と、
を備える。
【0175】
即ち、第4制御装置の制御手段は、
前記機関停止要求が発生した時点から前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定される時点まで前記機関10を(同機関10自体が発生するトルクに基づいて)回転させることにより機関10を通して前記触媒43に前記過剰な未燃物を供給し(図15のステップ1540乃至ステップ1560、図5の特にステップ530乃至ステップ550を参照。)、前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき前記機関の回転を停止させるように構成されている(図16のステップ1620及びステップ1630、図5のステップ510での「No」との判定を参照。)。
【0176】
換言すると、この制御手段は、
前記機関停止要求が発生した場合、前記触媒43の実際の酸素吸蔵量を前記最小の量に到達させるべく前記機関10に供給される混合気に含まれる燃料の量を「その混合気の空燃比が理論空燃比よりも小さい空燃比(リッチ空燃比africh)となるように」制御することにより前記触媒に過剰な未燃物を供給するとともに(図15のステップ1530乃至ステップ1560、図5の特にステップ530乃至ステップ550を参照。)、前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき(図16のステップ1620での「Yes」との判定を参照。)、前記機関10への燃料の供給を停止することにより前記機関の回転を停止させるように構成され(図16のステップ1630及び図5のステップ510での「No」との判定を参照。)、
前記推定酸素吸蔵量初期化手段は、
前記触媒43の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき(図16のステップ1620での「Yes」との判定を参照。)前記推定される酸素吸蔵量を前記触媒43の最小酸素吸蔵量に設定するように構成されている(図16のステップ1660)。
【0177】
この第4制御装置によれば、機関停止要求が発生した場合、機関10の回転が「機関10に燃料が供給され続けること」によって継続されるとともに、触媒の実際の酸素吸蔵量が最小の量へと移行させられる。そして、触媒の実際の酸素吸蔵量が最小の量へと移行したと推定される時点にて、推定酸素吸蔵量OSCが最小酸素吸蔵量(「0」)へと一致させられる。
【0178】
これにより、機関10の回転が停止した時点において推定酸素吸蔵量OSCと実際の酸素吸蔵量とを高い精度をもって一致させることができるので、その後の機関始動時点から推定酸素吸蔵量OSCと実際の酸素吸蔵量との差を小さくすることができる。この結果、推定酸素吸蔵量OSCを用いた機関の制御(例えば空燃比制御)を、機関10の始動直後から適切に行うことができる。更に、推定酸素吸蔵量OSCの初期化に伴う作動(機関停止要求後の機関10の継続的な回転)が機関停止要求の発生後に行われるので、推定酸素吸蔵量OSCの初期化に伴う作動が「機関10を搭載した車両の走行」に悪影響を及ぼすことを回避することもできる。
【0179】
更に、第4制御装置によれば、機関停止要求発生後において、過剰の未燃物が機関自身の発生するエネルギーにより触媒43に供給される。従って、機関停止要求後において機関を回転させておくためのエネルギーの供給源を別途準備する必要がない。
【0180】
<第5制御装置>
次に、本発明の第5実施形態に係る制御装置(以下、「第5制御装置」とも称呼する。)について説明する。この第5制御装置は、第4制御装置と同様、機関の運転中に機関停止要求が発生すると目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定し、空燃比フィードバック制御を停止し、且つ、燃料噴射(燃料供給)を継続する。これにより、機関停止要求が発生した時点以降において、触媒43の酸素吸蔵量は減少する。
【0181】
更に、第5制御装置は、機関停止要求の発生時に触媒温度Tempccroを取得し、その触媒温度Tempccroに基いてリッチ制御時間Trichを決定する。このリッチ制御時間Trichは、目標空燃比abyfrをリッチ空燃比africhに設定することにより機関の空燃比をリッチ空燃比africhに維持し続ける時間(即ち、機関停止要求が発生した後に触媒43の酸素吸蔵量を最小の量に到達させるのに必要な時間)である。リッチ制御時間Trichは、供給継続時間とも称呼される。
【0182】
ところで、触媒43が吸蔵することができる酸素量は触媒の温度に依存して変化する。更に、下流側空燃比センサ57の出力値Voxsが最大出力値maxとなった場合であっても、触媒43の温度が相対的に低い場合には、触媒の酸素吸蔵量は必ずしも最小の量になっていない場合がある。これは、触媒の温度が相対的に低い場合には、「触媒流入ガスに含まれる未燃物が触媒43に吸蔵されている酸素と結合することなく触媒を通過する現象(所謂「吹き抜け現象」)」が発生する場合があるからである。
【0183】
そこで、第5制御装置は、下流側空燃比センサ57の出力値Voxsが最大出力値maxに到達していても、機関停止要求の発生時点から機関の空燃比をリッチ空燃比africhに維持し続けた時間(リッチ制御継続時間、機関回転続行時間)がリッチ制御時間Trich(供給継続時間)に到達していなければ、機関の空燃比をリッチ空燃比africhに維持し続ける。そして、第5制御装置は、供給継続時間がリッチ制御時間Trichに到達したとき、触媒43の酸素吸蔵量が最小酸素吸蔵量である「0」に到達したと判定し、推定酸素吸蔵量OSCを「0」に設定する。第5制御装置は、その他の点において第4制御装置と同様である。
【0184】
(実際の作動)
次に、第5制御装置の実際の作動について説明する。第5制御装置のCPUは、図4乃至図7、図17及び図18にフローチャートにより示したルーチンを実行する。図4乃至図7に示したルーチンについては説明済みである。従って、以下、図17及び図18に示したルーチンを参照しながら説明する。
【0185】
CPUは図17にフローチャートにより示した「機関停止時制御開始ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1700から処理を開始し、ステップ1710に進んで燃料噴射フラグXinjの値が「1」であるか否かを判定する。このとき、燃料噴射フラグXinjの値が「0」であると、CPUはステップ1710にて「No」と判定してステップ1795に直接進み、本ルーチンを一旦終了する。
【0186】
一方、CPUがステップ1710の処理を行う時点において、燃料噴射フラグXinjの値が「1」に設定されていると、CPUはそのステップ1710にて「Yes」と判定してステップ1720に進み、リッチ化フラグXrichの値が「0」であるか否かを判定する。このとき、リッチ化フラグXrichの値が「1」であると、CPUはステップ1720にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
【0187】
一方、CPUがステップ1720の処理を行う時点において、リッチ化フラグXrichの値が「0」に設定されていると、CPUはそのステップ1720にて「Yes」と判定してステップ1730に進み、機関停止要求が発生したか否か(現時点が、機関停止要求が発生した直後であるか否か)を判定する。このとき、機関停止要求が発生していなければ、CPUはステップ1730にて「No」と判定し、ステップ1795に直接進んで本ルーチンを一旦終了する。
【0188】
一方、CPUがステップ1730の処理を行う時点において、機関停止要求が発生していると、CPUはそのステップ1730にて「Yes」と判定し、以下に述べるステップ1740乃至ステップ1780の処理を順に行い、その後、ステップ1795に進んで本ルーチンを一旦終了する。
【0189】
ステップ1740:CPUは、触媒温度Tempccroを取得する。触媒温度Tempccroは上記(3)式を用いて別途算出されている。触媒温度Tempccroは、触媒温度センサの出力値に基いて取得されてもよい。
【0190】
ステップ1750:CPUは、ステップ1740にて取得した触媒温度Tempccroに基いてリッチ制御時間Trichを決定する。実際には、CPUはルックアップテーブルMapTrich(Tempccro)に「ステップ1740にて取得した触媒温度Tempccro」を適用することによりリッチ制御時間Trichを求める。このテーブルMapTrich(Tempccro)によれば、リッチ制御時間Trichは触媒温度Tempccroの高いほど短くなるように決定される。但し、リッチ制御時間Trichは触媒温度Tempccro高いほど長くなるように定められる場合もあり得る。
【0191】
ステップ1760:CPUは、目標空燃比abyfrを「理論空燃比stoichよりも小さいリッチ空燃比africh」に設定する。
ステップ1770:CPUは、リッチ化フラグXrichの値を「1」に設定する。
ステップ1780:CPUは、空燃比フィードバック量FFBを「0」に設定し、空燃比フィードバック制御を停止する。
【0192】
この結果、図5のステップ530及びステップ540の処理によって、指示燃料噴射量Fiは、機関の空燃比をリッチ空燃比africhに一致させるために必要な量となる。従って、触媒43の酸素吸蔵量は減少して行く。
【0193】
CPUは図18にフローチャートにより示した「機関停止時制御終了ルーチン」を所定時間の経過毎に繰り返し実行している。従って、所定のタイミングになると、CPUはステップ1800から処理を開始し、ステップ1810に進んでリッチ化フラグXrichの値が「1」であるか否かを判定する。このとき、リッチ化フラグXrichの値が「0」であると、CPUはステップ1810にて「No」と判定してステップ1895に直接進み、本ルーチンを一旦終了する。
【0194】
一方、CPUがステップ1810の処理を行う時点において、リッチ化フラグXrichの値が「1」に設定されていると(即ち、機関の空燃比がリッチ空燃比africhに一致させられていると)、CPUはそのステップ1810にて「Yes」と判定してステップ1820に進み、下流側空燃比センサ57の出力値Voxsが最大出力値max以上となったか否かを判定することにより、触媒43の酸素吸蔵量が最小の量に到達した可能性が高いか否かを判定する。なお、CPUは、ステップ1820において、出力値Voxsが最大出力値max以上となっている継続時間が所定時間以上となったか否かを判定してもよい。
【0195】
CPUがステップ1820の処理を行う時点において、出力値Voxsが最大出力値max以上となっていなければ、CPUはそのステップ1820にて「No」と判定し、ステップ1895に直接進んで本ルーチンを一旦終了する。この結果、燃料噴射(燃料供給)が継続されるとともに、機関の空燃比はリッチ空燃比africhに一致させられ続ける。
【0196】
一方、CPUがステップ1820の処理を行う時点において、出力値Voxsが最大出力値以上となっていると、CPUはそのステップ1820にて「Yes」と判定してステップ1830に進み、リッチ化フラグXrichが「0」から「1」へと変化してからの経過時間(即ち、リッチ制御継続時間、機関回転続行時間)がリッチ制御時間Trichに到達したか否かを判定する。このとき、リッチ制御継続時間がリッチ制御時間Trichよりも短いと、CPUはステップ1830にて「No」と判定してステップ1895に直接進み、本ルーチンを一旦終了する。
【0197】
一方、CPUがステップ1830の処理を行う時点において、リッチ制御継続時間がリッチ制御時間Trich以上であると、CPUはそのステップ1830にて「Yes」と判定し、以下に述べるステップ1840乃至ステップ1870の処理を順に行い、その後、ステップ1895に進んで本ルーチンを一旦終了する。
【0198】
ステップ1840:CPUは、燃料噴射フラグXinjの値を「0」に設定する。これにより、燃料噴射(燃料供給)が停止されるので、機関10の回転が停止する。
ステップ1850:CPUは、目標空燃比abyfrを理論空燃比stoichに設定する。
ステップ1860:CPUは、リッチ化フラグXrichの値を「0」に設定する。
ステップ1870:CPUは、推定酸素吸蔵量OSCを最小酸素吸蔵量である「0」に設定する(OSC=0)。即ち、推定酸素吸蔵量OSCを「0」に一致させる。
【0199】
以上、説明したように、第5制御装置は、
前記機関停止要求発生時における前記触媒43の温度を推定するとともに(図17のステップ1740)、前記推定した触媒43の温度に基いて前記触媒43に過剰な未燃物を供給する供給継続時間(リッチ制御時間Trich)を決定し、前記機関停止要求発生時から前記決定された供給継続時間が経過した時点にて前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定するように構成された制御手段(図18のステップ1830を参照。)を備える。
【0200】
換言すると、第5制御装置は、機関停止要求発生時における触媒の温度(触媒温度Tempccro)を推定するとともに(図17のステップ1740)、前記推定した触媒の温度に基いて前記機関停止要求発生時から前記機関の回転を停止させる時点までの時間(機関回転続行時間)を変更するように構成される(図17のステップ1750及び図18のステップ1830を参照。)。
【0201】
触媒が吸蔵(又は放出)することができる酸素量は触媒43の温度に依存して変化する。従って、機関停止要求発生後に触媒43に過剰な未燃物を供給させている場合において、下流側空燃比センサ57の出力値Voxsが「理論空燃比よりも小さいリッチ空燃比」に相当する値(例えば、最大出力値max)となった場合であっても、触媒43の酸素吸蔵量は必ずしも最小の量になっていない場合がある。これは、触媒43の温度が相対的に低い場合には触媒流入ガスに含まれる未燃物が触媒43に吸蔵されている酸素と結合することなく触媒43を通過する現象(所謂「吹き抜け現象」)が生じる場合があるからである。
【0202】
そこで、第5制御装置のように、機関回転続行時間を触媒温度Tempccroに応じて変化させることにより、機関10の回転停止時(機関停止要求発生後の燃料供給の停止時)における触媒の酸素吸蔵量を「最小酸素吸蔵量」に確実に到達させることができる。この結果、推定酸素吸蔵量OSCの精度をより向上することができる。
【0203】
なお、第1制御装置のように、機関停止要求の発生後において燃料供給を停止し且つモータ22により機関を強制回転させる場合において、下流側空燃比センサの出力値が「理論空燃比よりも大きいリーン空燃比」に相当する値(例えば、最小出力値min)となったときであっても、触媒43の酸素吸蔵量は必ずしも最大の量でない場合がある。これは、触媒の温度が相対的に低い場合には触媒流入ガスに含まれる酸素が触媒に吸蔵されることなく触媒を通過する現象が生じる場合があるからである。
【0204】
そこで、第1制御装置においても、機関停止要求が発生した時点の触媒温度Tempccroを取得し、その触媒温度Tempccroに基いて「モータ22によって機関10を強制回転させ続ける時間」を決定することが好ましい。
【0205】
これによれば、触媒43の酸素吸蔵量が確実に最大の量に到達した時点にてモータ22による機関10の強制回転を停止させることができる。換言すると、モータ22による機関10の強制回転の停止時において、触媒の酸素吸蔵量を最大の量に確実に一致させることができる。従って、モータ22による機関10の強制回転の停止時に推定酸素吸蔵量OSCを最大酸素吸蔵量Cmaxに設定することにより、推定酸素吸蔵量OSCを実際の酸素吸蔵量に精度良く一致させることができる。
【0206】
以上、説明したように、本発明の各実施形態に係る内燃機関の制御装置によれば、推定酸素吸蔵量OSCを機関停止要求の発生後において適正な値に初期化することができる。従って、その後に続く機関始動時における推定酸素吸蔵量を真の酸素吸蔵量にできるだけ近づけることができる。
【0207】
本発明は上記実施形態に限定されることはなく、本発明の範囲内において種々の変形例を採用することができる。例えば、機関10は、ハイブリッド車両(機関10が電動モータと共に車両駆動力を発生するように構成された車両)に搭載されていてもよい。この場合、機関停止要求が発生した時点にてハイブリッド車両に搭載された電動モータによって機関10を強制回転させることにより、触媒43に過剰な酸素を供給してもよい。
【0208】
更に、上記幾つかの実施形態において、触媒43への過剰な酸素の供給は、「機関10への燃料供給を停止した上で機関10を機関10以外の動力源により回転させ、機関10から触媒43へと大気を供給すること」により行われていた。これに代え、又は、これに加え、触媒43への過剰な酸素の供給は、「排気通路の触媒43の上流側に設けられた二次空気供給装置を作動させること」により行われてもよい。更に、触媒43への過剰な酸素の供給は、「機関10への燃料供給を機関停止要求発生後において継続するとともに機関10に供給される混合気の空燃比をリーン空燃比に設定するように指示燃料噴射量Fiを制御すること」により行われてもよい。
【0209】
更に、上記幾つかの実施形態において、触媒43への過剰な未燃物の供給は、「機関10への燃料供給を機関停止要求発生後において継続するとともに機関10に供給される混合気の空燃比をリッチ空燃比に設定すること」により行われていた。これに代え、又は、これに加え、触媒43への過剰な未燃物の供給は、「排気通路の触媒43の上流側に設けられた還元剤供給装置を作動させること」により行われてもよい。
【0210】
また、上記各実施形態において、推定酸素吸蔵量OSCを用いた機関10の制御は、推定酸素吸蔵量OSCを目標酸素吸蔵量に一致させる空燃比フィードバック制御であったが、これ以外の制御であってもよい。例えば、推定酸素吸蔵量OSCを用いた機関10の制御は、推定酸素吸蔵量OSCを用いて触媒43に供給すべき排ガスの空燃比を決定し、その排ガスの空燃比をもたらす指示燃料噴射量Fiを決定するような制御であってもよい。
【符号の説明】
【0211】
10…内燃機関、21…燃焼室、22…モータ、30…吸気系統、33…燃料噴射弁、40…排気系統、41…エキゾーストマニホールド、41b…集合部(排気集合部HK)、42…エキゾーストパイプ、43…上流側触媒(触媒)、44…電気加熱ヒータ、56…上流側空燃比センサ、57…下流側空燃比センサ、70…電気制御装置。
【特許請求の範囲】
【請求項1】
内燃機関の排気通路に配設された触媒の酸素吸蔵量を推定する酸素吸蔵量推定手段を備えるとともに前記酸素吸蔵量推定手段により推定される酸素吸蔵量を使用して前記機関を制御するように構成された内燃機関の制御装置であって、
前記機関の運転中に前記機関の運転を停止する要求である機関停止要求が発生したか否かを判定する停止要求発生判定手段と、
前記機関停止要求が発生した場合に前記触媒の実際の酸素吸蔵量が最大の量又は最小の量に到達するように前記触媒に過剰な酸素又は過剰な未燃物を供給する制御手段と、
前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したか否かを判定するとともに、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定したとき前記推定される酸素吸蔵量を前記触媒の最大酸素吸蔵量又は前記触媒の最小酸素吸蔵量に設定する推定酸素吸蔵量初期化手段と、
を備える制御装置。
【請求項2】
請求項1に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求発生時における前記触媒の温度を推定するとともに、前記推定した触媒の温度に基いて前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給する供給継続時間を決定し、前記機関停止要求発生時から前記決定された供給継続時間が経過した時点にて前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定するように構成された制御装置。
【請求項3】
請求項1又は請求項2に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求が発生した時点から前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定される時点まで前記機関を回転させることにより同機関を通して前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給し、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定されたとき前記機関の回転を停止させるように構成された制御装置。
【請求項4】
請求項1乃至請求項3の何れか一項に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最大の量に到達させるべく前記機関への燃料の供給を停止し且つ前記機関を前記機関以外の動力源により強制的に回転させることにより前記触媒に過剰な酸素を含む大気を供給するとともに、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき前記機関以外の動力源による前記機関の強制的な回転を停止することにより前記機関の回転を停止させるように構成され、
前記推定酸素吸蔵量初期化手段は、
前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき前記推定される酸素吸蔵量を前記触媒の最大酸素吸蔵量に設定するように構成された制御装置。
【請求項5】
請求項1乃至請求項3の何れか一項に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最小の量に到達させるべく前記機関に供給される混合気に含まれる燃料の量を同混合気の空燃比が理論空燃比よりも小さい空燃比となるように制御することにより前記触媒に過剰な未燃物を供給するとともに、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき前記機関への燃料の供給を停止することにより前記機関の回転を停止させるように構成され、
前記推定酸素吸蔵量初期化手段は、
前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき前記推定される酸素吸蔵量を前記触媒の最小酸素吸蔵量に設定するように構成された制御装置。
【請求項1】
内燃機関の排気通路に配設された触媒の酸素吸蔵量を推定する酸素吸蔵量推定手段を備えるとともに前記酸素吸蔵量推定手段により推定される酸素吸蔵量を使用して前記機関を制御するように構成された内燃機関の制御装置であって、
前記機関の運転中に前記機関の運転を停止する要求である機関停止要求が発生したか否かを判定する停止要求発生判定手段と、
前記機関停止要求が発生した場合に前記触媒の実際の酸素吸蔵量が最大の量又は最小の量に到達するように前記触媒に過剰な酸素又は過剰な未燃物を供給する制御手段と、
前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したか否かを判定するとともに、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定したとき前記推定される酸素吸蔵量を前記触媒の最大酸素吸蔵量又は前記触媒の最小酸素吸蔵量に設定する推定酸素吸蔵量初期化手段と、
を備える制御装置。
【請求項2】
請求項1に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求発生時における前記触媒の温度を推定するとともに、前記推定した触媒の温度に基いて前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給する供給継続時間を決定し、前記機関停止要求発生時から前記決定された供給継続時間が経過した時点にて前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定するように構成された制御装置。
【請求項3】
請求項1又は請求項2に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求が発生した時点から前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定される時点まで前記機関を回転させることにより同機関を通して前記触媒に前記過剰な酸素又は前記過剰な未燃物を供給し、前記触媒の実際の酸素吸蔵量が前記最大の量又は前記最小の量に到達したと判定されたとき前記機関の回転を停止させるように構成された制御装置。
【請求項4】
請求項1乃至請求項3の何れか一項に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最大の量に到達させるべく前記機関への燃料の供給を停止し且つ前記機関を前記機関以外の動力源により強制的に回転させることにより前記触媒に過剰な酸素を含む大気を供給するとともに、前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定されたとき前記機関以外の動力源による前記機関の強制的な回転を停止することにより前記機関の回転を停止させるように構成され、
前記推定酸素吸蔵量初期化手段は、
前記触媒の実際の酸素吸蔵量が前記最大の量に到達したと判定したとき前記推定される酸素吸蔵量を前記触媒の最大酸素吸蔵量に設定するように構成された制御装置。
【請求項5】
請求項1乃至請求項3の何れか一項に記載の内燃機関の制御装置において、
前記制御手段は、
前記機関停止要求が発生した場合、前記触媒の実際の酸素吸蔵量を前記最小の量に到達させるべく前記機関に供給される混合気に含まれる燃料の量を同混合気の空燃比が理論空燃比よりも小さい空燃比となるように制御することにより前記触媒に過剰な未燃物を供給するとともに、前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定されたとき前記機関への燃料の供給を停止することにより前記機関の回転を停止させるように構成され、
前記推定酸素吸蔵量初期化手段は、
前記触媒の実際の酸素吸蔵量が前記最小の量に到達したと判定したとき前記推定される酸素吸蔵量を前記触媒の最小酸素吸蔵量に設定するように構成された制御装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2012−62795(P2012−62795A)
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願番号】特願2010−206136(P2010−206136)
【出願日】平成22年9月14日(2010.9.14)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成24年3月29日(2012.3.29)
【国際特許分類】
【出願日】平成22年9月14日(2010.9.14)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]