(57)【要約】【課題】内燃機関の制御装置において触媒暖機制御の実施時間を適切化する。【解決手段】内燃機関の制御装置は、排気ガス浄化用の触媒を暖機するために、少なくとも内燃機関の点火時期を遅角させる触媒暖機制御を行う触媒暖機制御手段（５５）と、内燃機関への吸入空気量を検出する検出手段（１３）により検出された吸入空気量を、複数通りの周波数成分毎に分離する分離手段（５２）と、分離手段（５２）により分離された周波数成分毎の各吸入空気量について、その吸入空気量を積算した積算吸気量を算出する積算手段（５３）と、積算手段（５３）により算出された周波数成分毎の各積算吸気量から、推定触媒温度を算出する温度推定手段（５４）と、を備える。そして、触媒暖機制御手段（５５）は、温度推定手段（５４）により算出された推定触媒温度が所定値未満であることを条件に、前記触媒暖機制御を行う。【選択図】図２
2015166556.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関（３）の排気ガス浄化用の触媒（１７）を暖機するために、少なくとも前記内燃機関の点火時期を遅角させる触媒暖機制御を行う触媒暖機制御手段（４１，５５）と、
前記内燃機関への吸入空気量を検出する検出手段（１３）により検出された前記吸入空気量を、複数通りの周波数成分毎に分離する分離手段（４１，５２）と、
前記分離手段により分離された前記周波数成分毎の各吸入空気量について、その吸入空気量を積算した積算吸気量を算出する積算手段（４１，５３）と、
前記積算手段により算出された前記周波数成分毎の各積算吸気量から、前記触媒の温度の推定値である推定触媒温度を算出する温度推定手段（４１，５４，Ｓ２２０，Ｓ３２０〜Ｓ３４０）と、を備え、
前記触媒暖機制御手段は、前記温度推定手段により算出された推定触媒温度が所定値未満であることを条件に、前記触媒暖機制御を行うこと、
を特徴とする内燃機関の制御装置。
【請求項２】
請求項１に記載の内燃機関の制御装置において、
前記積算手段は、前記内燃機関が停止する毎に前記各積算吸気量を０にリセットすること、
を特徴とする内燃機関の制御装置。
【請求項３】
請求項２に記載の内燃機関の制御装置において、
前記温度推定手段は、前記内燃機関の始動時における前記触媒の温度を推定して、その推定した温度を前記推定触媒温度の初期値として設定する初期値設定手段（４１，Ｓ２２０，Ｓ３２０〜Ｓ３４０）を備えており、
前記温度推定手段は、前記各積算吸気量を用いて、前記内燃機関が始動してからの前記触媒の上昇温度を算出し、その算出した上昇温度と前記初期値との和を、前記推定触媒温度として算出すること、
を特徴とする内燃機関の制御装置。
【請求項４】
請求項３に記載の内燃機関の制御装置において、
前記初期値設定手段（４１，Ｓ３２０〜Ｓ３４０）は、前記内燃機関が始動する毎に、前記内燃機関が前回停止したときの前記推定触媒温度と、前記内燃機関が停止していた時間とに基づいて、前記内燃機関の始動時における前記触媒の温度を推定すること、
を特徴とする内燃機関の制御装置。
【請求項５】
請求項１ないし請求項４の何れか１項に記載の内燃機関の制御装置において、
前記積算手段は、前記内燃機関に対する燃料カットが実施されている間は、前記各積算吸気量の積算を実施しないこと、
を特徴とする内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の制御装置に関する。
【背景技術】
【０００２】
車両には、エンジン（内燃機関）の排気ガスを浄化するための三元触媒が設けられている。この触媒は、一定の活性温度で、排気ガスの浄化性能を発揮できる特性を有しており、常温では所定の性能を発揮しないため、常温時からのエンジンの始動直後はエミッションの悪化が起こりうる。
【０００３】
そのため、排気ガスの浄化のためには、触媒温度（触媒の温度）が速やかに活性温度まで上昇するように、点火時期を遅角させて排気温度（排気ガスの温度）を上昇させる触媒暖機制御が実施される。一方で、このような触媒暖機制御は、点火時期の遅角により燃焼効率を悪化させるため、燃費向上の面からは過剰に実施すべきではない。
【０００４】
そこで、触媒暖機制御の実施時間の過不足が生じないようにするための方法としては、触媒暖機制御開始時からの積算吸気量を算出し、その積算吸気量が所定値以上になると、触媒暖機制御を終了する、という方法がある（例えば、特許文献１参照）。つまり、この方法では、燃焼ガス量に相当する吸入空気量の積算値を、触媒に加える熱量の積算値と見なしている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１７１８３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
エンジンの始動後の運転パターンは様々であり、例えば、エンジン回転が一定に保たれる場合もあれば、一定周期で加減速が繰り返される場合などもある。
上記文献１の技術では、触媒温度が積算吸気量のように単調増加するとは限らないエンジンの運転パターン（例えば加減速が繰り返された場合など）においては、実際の触媒温度が活性温度に達する前に触媒暖機制御を終了してしまったり、触媒温度が活性温度に達した後も過剰に触媒暖機制御を実施してしまったりする、といった問題が生じる。
【０００７】
そこで、本発明は、触媒暖機制御の実施時間の適切化を目的としている。
【課題を解決するための手段】
【０００８】
第１発明の内燃機関の制御装置では、触媒暖機制御手段が、内燃機関の排気ガス浄化用の触媒を暖機するために、少なくとも内燃機関の点火時期を遅角させる触媒暖機制御を行う。また、分離手段が、内燃機関への吸入空気量を検出する検出手段により検出された前記吸入空気量を、複数通りの周波数成分毎に分離し、積算手段が、分離手段により分離された前記周波数成分毎の各吸入空気量について、その吸入空気量を積算した積算吸気量を算出する。そして、温度推定手段が、積算手段により算出された前記周波数成分毎の各積算吸気量から、前記触媒の温度の推定値である推定触媒温度を算出する。更に、この制御装置において、触媒暖機制御手段は、温度推定手段により算出された推定触媒温度が所定値未満であることを条件に、前記触媒暖機制御を行う。
【０００９】
この制御装置によれば、吸入空気量の変動を複数通りの周波数成分毎に分離し、その周波数成分毎の積算吸気量から推定触媒温度を算出するため、エンジンの加速と減速とが繰り返されるような運転パターンであったとしても、推定触媒温度を精度良く算出することができる。つまり、エンジンの様々な運転パターンに対して、推定触媒温度を精度良く算出することができる。
【００１０】
このため、触媒暖機制御を過剰に実施（具体的には、触媒の温度が所定値以上になってからも触媒暖機制御を実施）してしまったり、触媒暖機制御の実施が不足（具体的には、触媒の温度が未だ所定値より低いのに触媒暖機制御の実施が停止）してしまったりすることを防止することができる。よって、過剰な触媒暖機制御の実施による内燃機関の燃費悪化や、触媒暖機制御の実施不足による触媒の排気ガス浄化能力低下を防止することができる。
【００１１】
なお、特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態の電子制御装置（ＥＣＵ）の構成を表す構成図である。
【図２】電子制御装置におけるソフトウェア構成を表す構成図である。
【図３】制御処理を表すフローチャートである。
【図４】第１実施形態における初期値設定処理を表すフローチャートである。
【図５】第１実施形態の作用を説明する第１の説明図である。
【図６】第１実施形態の作用を説明する第２の説明図である。
【図７】第２実施形態における初期値設定処理を表すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に、本発明が適用された実施形態の電子制御装置について説明する。本実施形態の電子制御装置（以下、ＥＣＵという）は、例えば車両に搭載されたエンジン（内燃機関）を制御する。
【００１４】
［第１実施形態］
図１に示すように、ＥＣＵ１が制御するエンジン３は、該エンジン３のシリンダ５内で混合気を燃焼させるためのインジェクタ（燃料噴射弁）７及びイグナイタ（点火装置）９を備える。そして、エンジン３の吸気経路１１には、エンジン３の吸入空気量（以下、吸気量ともいう）を検出する吸気量センサ１３が設けられている。吸気量センサ１３は、吸気量に応じたアナログ信号を出力する。また、エンジン３の排気経路１５には、エンジン３の排気ガスを浄化するための三元触媒（以下単に、触媒ともいう）１７が設けられている。更に、排気経路１５には、例えば空燃比センサ１９も設けられている。
【００１５】
尚、図１において、「６」は、シリンダ５内で往復運動するピストンであり、「２１」は、吸気バルブであり、「２２」は、排気バルブである。また、図１では、インジェクタ７から吸気バルブ２１よりも上流側に燃料が噴射される構成例を示しているが、エンジン３は、インジェクタ７からシリンダ５内に燃料が直接噴射される筒内噴射式エンジンであっても良い。
【００１６】
ＥＣＵ１は、当該ＥＣＵ１の動作を司るマイコン（マイクロコンピュータ）２５と、当該ＥＣＵ１の外部から内部へ信号を取り込むための入力回路２７と、当該ＥＣＵ１の外部へ信号を出力するための出力回路２９と、を備える。
【００１７】
出力回路２９は、マイコン２５からの制御信号に応じて、インジェクタ７に当該インジェクタ７を開弁させるための駆動信号を出力したり、イグナイタ９に点火を実施させるための点火信号を出力したりする。
【００１８】
入力回路２７は、吸気量センサ１３からの信号や、空燃比センサ１９からの信号や、エンジン３のクランク角を検出するためのクランク角センサ３１からの信号や、エンジン３の冷却水温（以下、エンジン水温という）を検出する水温センサ３３からの信号や、外気温を検出する外気温センサ３５からの信号や、車両の運転者によるアクセルペダルの操作量を検出するアクセルセンサ（図示省略）からの信号等、エンジン３の制御に必要な各種信号を、マイコン２５に入力させる。クランク角センサ３１からの信号（以下、クランク角信号という）には、エンジン３のクランク軸が所定角度回転する毎にパルス状のレベル変化エッジが生じる。
【００１９】
マイコン２５は、プログラムを実行するＣＰＵ４１と、ＣＰＵ４１によって実行されるプログラムやプログラムの実行時に参照されるデータ等が記憶されたＲＯＭ４２と、ＣＰＵ４１による演算結果等が記憶されるＲＡＭ４３と、Ａ／Ｄ変換器（ＡＤＣ）４４と、入出力ポート（Ｉ／Ｏ）４５と、を備える。
【００２０】
次に、ＥＣＵ１におけるソフトウェア（詳しくは、マイコン２５のＣＰＵ４１が実行するＲＯＭ４２内のプログラム）の構成について説明する。
図２の点線枠内に示すように、ＲＯＭ４２内のプログラムは、機能毎のプログラムとして、吸気量センサドライバ５１と、フィルタ処理部５２と、積算吸気量演算部５３と、触媒温度推定部５４と、触媒暖機制御部５５と、エンジントルク制御部５６と、点火ドライバ５７と、を含む。尚、図２における[]内は単位であり、[g]は「グラム」で、[g/s]は「グラム／秒」で、[CA]は「クランク角」で、[BTDC]は「ＴＤＣよりも何度前のクランク角であるか」を示す。ＴＤＣとは、エンジン３の気筒の上死点のことである。
【００２１】
ＣＰＵ４１は、図２の各プログラム５１〜５７を実行することにより、その各プログラム５１〜５７に応じた機能手段として動作する。各プログラム５１〜５７の名称は、そのプログラムによって実現される機能手段の名称でもある。例えば、図２における吸気量センサドライバ５１は、ＣＰＵ４１を吸気量センサドライバ５１として機能させるためのプログラムであり、図２におけるフィルタ処理部５２は、ＣＰＵ４１をフィルタ処理部５２として機能させるためのプログラムである。このため、以下の説明において、各プログラム５１〜５７の名称は、そのプログラム５１〜５７をＣＰＵ４１が実行することで実現される機能手段の名称としても用いる。プログラムを主語として説明する動作内容は、そのプログラムをＣＰＵ４１が実行することで実現される機能手段の動作内容である。
【００２２】
吸気量センサドライバ５１は、サンプリング間隔である一定時間Ｔｓ毎に、吸気量センサ１３からの信号をＡ／Ｄ変換器４４によりＡ／Ｄ変換して読み取ると共に、その読み取った信号（電圧値）から吸気量を算出する。
【００２３】
フィルタ処理部５２は、本実施形態ではデジタルフィルタであり、吸気量センサドライバ５１で算出される一定時間Ｔｓ毎の吸気量を、ｎ通り（ｎは２以上の整数）の周波数成分毎に分離する。例えば、フィルタ処理部５２は、１つのローパスフィルタと、「ｎ−２」個のバンドパスフィルタと、１つのハイパスフィルタとで構成したり、１つのローパスフィルタと、「ｎ−１」個のバンドパスフィルタとで構成したりすることができる。また例えば、フィルタ処理部５２は、ｎ個のバンドパスフィルタで構成しても良い。フィルタの特性は、どの周波数域を抽出するかに応じて適宜設定すれば良い。
【００２４】
積算吸気量演算部５３は、フィルタ処理部５２で分離された周波数成分毎の各吸気量について、その吸気量を積算した積算吸気量を算出する。この例では、積算吸気量演算部５３は、周波数成分毎の各吸気量を一定時間Ｔｓ毎にそれぞれ加算していく。
【００２５】
触媒温度推定部５４は、積算吸気量演算部５３で算出された周波数成分毎の各積算吸気量から、触媒１７の温度（以下、触媒温度ともいう）の推定値である推定触媒温度を算出する。また、触媒温度推定部５４は、推定触媒温度を算出するために、エンジン３の始動時における触媒温度を推定する機能も備える。
【００２６】
触媒暖機制御部５５は、触媒温度を所定の活性温度（即ち、触媒１７が最適な排気ガスの浄化性能を発揮する温度）にするための触媒暖機制御として、少なくともエンジン３の点火時期を遅角させる制御を行う。
【００２７】
エンジントルク制御部５６は、車両の運転者の要求（例えばアクセルペダルの操作量）や、エンジン３の状態や、触媒暖機制御部５５から要求される点火遅角量に応じて、エンジン３の目標出力トルクを実現するための点火時期、燃料噴射量及び吸気量の各々である要求点火時期、要求噴射量及び要求吸気量を算出する。また、エンジントルク制御部５６は、所定の燃料カット条件が成立した場合には、燃料カットを実施する。つまり、要求噴射量を０にしてインジェクタ７からの燃料噴射を停止させる。
【００２８】
点火ドライバ５７は、エンジントルク制御部５６で算出された要求点火時期に応じてイグナイタ９に点火信号を出力することにより、その要求点火時期を実現する（つまり、要求点火時期でイグナイタ９による点火が実施されるようにする）。
【００２９】
尚、図２では図示を省略しているが、ＲＯＭ４２内のプログラムは、エンジントルク制御部５６によって算出された要求噴射量に応じてインジェクタ７に駆動信号を出力することにより、その要求噴射量を実現する噴射ドライバや、エンジントルク制御部５６によって算出された要求吸気量に応じて電子スロットル（図示省略）に駆動信号を出力することにより、その要求吸気量を実現する電子スロットルドライバも、含んでいる。
【００３０】
次に、ＥＣＵ１で実施される触媒温度の推定について説明する。
一般に、触媒温度に影響する要素としては、エンジン３の燃焼後の排気ガスからの熱伝達が、最も大きく影響する要素である。このため、排気ガスの総量と触媒温度とには、正の相関がある。そして、例えばエンジン３が一定の回転数で運転されている定常状態においては、排気ガスの流量は吸気量と同じと見なすことができるため、吸気量センサ１３からの信号に基づき算出される吸気量の総和から、推定触媒温度を算出する（換言すれば、触媒温度を推定する）ことができる。
【００３１】
しかし、排気ガスから触媒１７への熱伝達の効率は、吸気量が一定の定常状態と、吸気量が過渡変化している状態とでは異なるため、吸気量の総和と触媒温度との関係は、エンジン３の運転パターンに応じて異なってしまう。
【００３２】
そこで、このＥＣＵ１では、吸気量の変動を複数通りの周波数成分毎に分離し、その周波数成分毎の積算吸気量と触媒温度との関係性を導入することで、エンジン３の様々な運転パターンに対して、推定触媒温度を精度良く算出することができるようにしている。
【００３３】
このことを踏まえて、次に、マイコン２５のＣＰＵ４１がエンジン３を制御するために実行する制御処理について、図３のフローチャートを用い説明する。
ＣＰＵ４１は、前述の一定時間Ｔｓ毎に、図３の制御処理を実行する。
【００３４】
図３に示すように、ＣＰＵ４１は、制御処理を開始すると、Ｓ１１０にて、吸気量センサドライバ５１としての処理を行う。具体的には、ＣＰＵ４１は、吸気量センサ１３からの信号をＡ／Ｄ変換して読み取り、その読み取った信号から吸気量を算出する。算出される吸気量の単位は[g/s]である（図２参照）。
【００３５】
ＣＰＵ４１は、次のＳ１２０にて、フィルタ処理部５２としての処理を行う。具体的には、ＣＰＵ４１は、Ｓ１１０の処理で算出される一定時間Ｔｓ毎の吸気量を、ｎ通りの周波数成分毎に分離する。例えば「ｎ＝３」であるとして説明すると、ＣＰＵ４１は、Ｓ１１０で算出される一定時間Ｔｓ毎の吸気量に対して、デジタルフィルタの処理を行うことにより、低周波域の吸気量と、中周波域の吸気量と、高周波域の吸気量とを算出する。低周波域は、第１の周波数ｆ１よりも低い周波数域（周波数帯）であり、中周波域は、第１の周波数ｆ１と、該第１の周波数ｆ１よりも高い第２の周波数ｆ２との、間の周波数域であり、高周波域は、第２の周波数ｆ２よりも高い周波数域である。
【００３６】
ＣＰＵ４１は、次のＳ１３０にて、積算吸気量演算部５３としての処理を行う。具体的には、ＣＰＵ４１は、Ｓ１２０の処理で分離した周波数成分毎の各吸気量（以下単に、各吸気量ともいう）を、それぞれ累積加算することにより、周波数成分毎の各積算吸気量（以下単に、各積算吸気量ともいう）を算出する。算出される各積算吸気量の単位は[g]である（図２参照）。低周波域の積算吸気量を「ΣＧ１」とし、中周波域の積算吸気量を「ΣＧ２」とし、高周波域の積算吸気量を「ΣＧ３」とすると、各積算吸気量ΣＧ１，ΣＧ２，ΣＧ３は下記の式１〜式３で表すことができる。式１〜式３における「∫dt」は、積分を表している。
【００３７】
ΣＧ１[g]＝∫低周波域の吸気量[g/s]dt  …式１
ΣＧ２[g]＝∫中周波域の吸気量[g/s]dt  …式２
ΣＧ３[g]＝∫高周波域の吸気量[g/s]dt  …式３
また、ＣＰＵ４１は、積算吸気量演算部５３の機能の１つとして、エンジン３が停止したと判定すると、各積算吸気量を０にリセットする。このため、各積算吸気量は、エンジン３が停止する毎に０となり、よって、エンジン３の始動時からの各吸気量の総和となる。尚、ＣＰＵ４１は、例えば、前述のクランク角信号が所定時間以上レベル変化しなくなった場合に、エンジン３が停止したと判定することができる。また、ＣＰＵ４１は、クランク角信号に基づいて、エンジン３が始動したことやエンジン回転数を検出することができる。
【００３８】
また、ＣＰＵ４１は、積算吸気量演算部５３の機能の１つとして、エンジン３に対する燃料カットが実施されている間は、各積算吸気量の積算（累積加算）を実施しないようになっている。燃料カット中は、排気ガスの温度が燃焼中（非燃料カット中）とは異なる温度になるからである。
【００３９】
ＣＰＵ４１は、次のＳ１４０にて、触媒温度推定部５４としての処理を行う。例えば「ｎ＝３」であるとして説明すると、ＣＰＵ４１は、Ｓ１３０の処理で算出した各積算吸気量ΣＧ１，ΣＧ２，ΣＧ３から、下記の式４により推定触媒温度を算出する。
【００４０】
推定触媒温度[℃]＝ΣＧ１×Ｋ１＋ΣＧ２×Ｋ２＋ΣＧ３×Ｋ３＋初期値  …式４
式４におけるＫ１，Ｋ２，Ｋ３のそれぞれは、各積算吸気量ΣＧ１，ΣＧ２，ΣＧ３を触媒温度に変換するための変換係数であり、単位は[℃/g]である。各係数Ｋ１〜Ｋ３は、例えば車両を用いた実験によって求めた値であるが、理論計算によって求めても良い。
【００４１】
尚、変換係数Ｋ１，Ｋ２，Ｋ３の大小関係は、例えば「Ｋ１＞Ｋ２＞Ｋ３」になっている。排気ガスから触媒１７への熱伝達の効率は、吸気量変化の周波数が高い場合ほど小さくなると考えらえるからである。また、変換係数は、車種毎あるいは車両毎に用意することができるが、車両毎に変換係数を用意すれば、車両の個体差による推定触媒温度の誤差を抑えることができる。
【００４２】
また、式４における初期値は、推定触媒温度の初期値であり、エンジン３の始動時における触媒温度である。但し、触媒温度の実測値はないため、ＣＰＵ４１は、初期値として、推定した値を用いる。ＣＰＵ４１は、図３の制御処理とは別に、初期値を設定するための処理として、図４の初期値設定処理を例えば一定時間毎に実行する。その初期値設定処理のプログラムは、触媒温度推定部５４のプログラムに含まれている。そして、ＣＰＵ４１は、初期値設定処理では、エンジン３が停止状態から始動したか否かを判定する（Ｓ２１０）。そして、ＣＰＵ４１は、エンジン３が始動したと判定すると（Ｓ２１０：ＹＥＳ）、エンジン水温または外気温を検出し、その検出値を推定触媒温度の初期値として、例えばＲＡＭ４３に記憶する（Ｓ２２０）。つまり、ＣＰＵ４１は、エンジン３の始動時におけるエンジン水温または外気温を、エンジン３の始動時における触媒温度として推定して、推定触媒温度の初期値としてＲＡＭ４３に記憶する。そして、そのＲＡＭ４３に記憶された初期値が、上記式４に用いられる。
【００４３】
式４において、初期値を除く項は、エンジン３が始動してからの触媒温度の上昇分（触媒１７の上昇温度）である。つまり、ＣＰＵ４１は、各積算吸気量を用いて、エンジン３が始動してからの触媒１７の上昇温度を算出し、その算出した上昇温度と初期値との和を、推定触媒温度として算出している。
【００４４】
また、触媒温度は排気ガスの温度よりは低く、また、排気ガスの温度には上限があるため、触媒温度にも上限が存在する。このため、ＣＰＵ４１は、図３のＳ１４０では、式４から算出した推定触媒温度が所定の上限ガード値（例えば９００℃）以上になった場合には、推定触媒温度を、その上限ガード値に設定するガード処理も行う。
【００４５】
一方、推定触媒温度の算出手法の変形例として、上記変換係数（上記Ｋ１〜Ｋ３）を設ける代わりに、各積算吸気量と触媒温度の上昇分との関係を表すデータマップを、例えば車種毎や車両毎に用意してＲＯＭ４２等に記憶しておくように構成しても良い。その場合、ＣＰＵ４１は、そのデータマップを用いて、各積算吸気量に対応する触媒温度の上昇分を算出し、その算出した各上昇分と初期値との総和を、推定触媒温度として算出することができる。尚、車両毎にデータマップを用意すれば、車両の個体差による推定触媒温度の誤差を抑えることができるため有利である。
【００４６】
図３に戻り、ＣＰＵ４１は、次のＳ１５０にて、触媒暖機制御部５５としての処理を行う。具体的には、ＣＰＵ４１は、例えば、Ｓ１４０の処理で算出した推定触媒温度が、触媒１７の活性温度の最小値よりも大きい所定値未満であるか否かを判定する。そして、ＣＰＵ４１は、推定触媒温度が所定値未満である場合には、触媒暖機制御の処理として、排気ガスの温度を上昇させるため（延いては触媒温度を上昇させるため）の点火遅角量を算出する処理を行う。点火遅角量は、点火時期を遅らせるクランク角量である。その点火遅角量は、固定値でも良いが、推定触媒温度に応じて算出するように構成することもでき、例えば、推定触媒温度と上記所定値との差が大きい場合ほど、点火遅角量が大きくなるように構成しても良い。また、ＣＰＵ４１は、推定触媒温度が所定値以上であると判定した場合には、触媒暖機制御の処理を行わずに点火遅角量を０とする。
【００４７】
ＣＰＵ４１は、次のＳ１６０にて、エンジントルク制御部５６としての処理を行う。具体的には、ＣＰＵ４１は、運転者の要求やエンジン３の状態から、エンジン３の最適な目標出力トルクを決定すると共に、その目標出力トルクを実現するための点火時期、燃料噴射量及び吸気量を演算する過程において、Ｓ１５０の処理で算出した点火遅角量を反映した点火時期を、要求点火時期として算出する。例えば、ＣＰＵ４１は、目標出力トルクを実現するのに最適な点火時期を点火遅角量だけ遅らせた点火時期を、要求点火時期として算出し、また、点火時期を点火遅角量だけ遅らせることに伴い低下する出力トルクを補うために、目標出力トルクを実現するための燃料噴射量（要求噴射量）を増量補正する。
【００４８】
ＣＰＵ４１は、次のＳ１７０にて、点火ドライバ５７としての処理を行う。具体的には、ＣＰＵ４１は、Ｓ１６０の処理で算出した要求点火時期でイグナイタ９が点火するように、イグナイタ９に対する点火信号の出力を行う。
【００４９】
そして、その後、ＣＰＵ４１は、当該制御処理を終了する。尚、図示は省略しているが、ＣＰＵ４１は、前述した噴射ドライバとしての処理や、電子スロットルドライバとしての処理も行う。
【００５０】
一方、図３におけるＳ１４０〜Ｓ１７０の処理は、一定時間（サンプリング間隔）Ｔｓ毎に実行しなくても良く、例えば一定時間Ｔｓの所定数倍の時間毎に実行しても良い。
次に、以上のようなＥＣＵ１の作用について、図５及び図６を用い説明する。尚、図５及び図６は、一定時間Ｔｓ毎の吸気量をフィルタ処理部５２により、低周波域と高周波域との２通りの周波数成分毎に分離する場合を例示している。
【００５１】
図５に例示するように、エンジン３が一定の回転数で運転されている定常状態においては、吸気量が一定（時間に対する変化無し）となるため、フィルタ処理部５２からは、低周波域の吸気量と高周波域の吸気量とのうち、低周波域の吸気量だけが出力される。このため、積算吸気量演算部５３が算出する各積算吸気量のうち、低周波域の積算吸気量だけが増加していき、触媒温度推定部５４は、結果的に、その低周波域の積算吸気量から推定触媒温度を算出することとなる。
【００５２】
一方、図６に例示するように、エンジン３の加減速が繰り返された場合には、吸気量が過渡的に変化するため、フィルタ処理部５２からは、低周波域の吸気量と高周波域の吸気量とが出力される。そして、積算吸気量演算部５３が算出する各積算吸気量としては、吸気量が変動している場合には、低周波域の積算吸気量よりも高周波域の積算吸気量の方が増加の度合いが大きくなる。逆に、吸気量が変動していない場合には、高周波域の積算吸気量よりも低周波域の積算吸気量の方が増加の度合いが大きくなる。そして、触媒温度推定部５４は、低周波域の積算吸気量と高周波域の積算吸気量とから、推定触媒温度を算出することとなる。
【００５３】
このようなＥＣＵ１によれば、周波数成分毎の積算吸気量から推定触媒温度を算出するため、エンジン３の加速と減速とが繰り返されるような運転パターンであったとしても、推定触媒温度を精度良く算出することができる。つまり、エンジン３の様々な運転パターンに対して、推定触媒温度を精度良く算出することができる。このため、点火時期を遅らせる触媒暖機制御を過剰に実施してしまったり、触媒暖機制御の実施が不足してしまったりすることを防止することができる。よって、過剰な触媒暖機制御の実施によるエンジン３の燃費悪化や、触媒暖機制御の実施不足による触媒１７の排気ガス浄化能力低下（延いてはエミッションの悪化）を防止することができる。
【００５４】
また、積算吸気量演算部５３は、エンジン３に対する燃料カットが実施されている間は、各積算吸気量の積算を実施しないようになっているため、燃料カットを含む運転パターンにおける推定触媒温度の誤差を低減することができる。
【００５５】
また、積算吸気量演算部５３は、エンジン３が停止する毎に各積算吸気量を０にリセットしており、このことによっても推定触媒温度の誤差を低減することができる。エンジン３の停止中には、各積算吸気量と触媒温度との相関性が無くなるためである。
【００５６】
また、触媒温度推定部５４は、エンジン３の始動時における触媒温度を推定して、その推定した温度（上記例ではエンジン水温または外気温）を、エンジン３の始動時における推定触媒温度の初期値として設定している（Ｓ２２０）。そして、触媒温度推定部５４は、各積算吸気量を用いて、エンジン３が始動してからの触媒１７の上昇温度を算出し、その算出した上昇温度と初期値との和を、推定触媒温度として算出している。このため、初期値を導入しない構成（換言すれば、推定触媒温度の初期値を常に０とする構成）と比較して、推定触媒温度の算出精度を向上させることができる。
【００５７】
また、フィルタ処理部５２として、ソフトウェアによるデジタルフィルタを用いているため、吸気量の過渡変化と触媒温度との関係性を適合させる際に、フィルタ特性を容易に変更することができるという利点がある。
【００５８】
また、積算吸気量演算部５３は、フィルタ処理部５２から出力される各吸気量を一定時間Ｔｓ毎にそれぞれ加算することで、各積算吸気量を算出するため、その各積算吸気量を、時間積分で確実に算出することができる。
【００５９】
［第２実施形態］
次に、第２実施形態のＥＣＵについて説明するが、ＥＣＵの符号としては、第１実施形態と同じ“１”を用いる。また、第１実施形態と同様の構成要素や処理についても、第１実施形態と同じ符号を用いる。そして、このことは、後述する他の実施形態についても同様である。
【００６０】
第２実施形態のＥＣＵ１では、第１実施形態のＥＣＵ１と比較すると、下記〈Ａ〉，〈Ｂ〉の点が異なる。
〈Ａ〉ＣＰＵ４１は、エンジン３が停止したと判定した場合、あるいは、車両のイグニッションスイッチがオフされたと判定された場合に、その時点で算出されている推定触媒温度を、エンジン停止時の推定触媒温度として、データの書き換えが可能な不揮発性メモリ（図示省略）又は電源バックアップされたＲＡＭであるバックアップＲＡＭ（図示省略）に記憶する。
【００６１】
〈Ｂ〉触媒温度推定部５４として機能するＣＰＵ４１は、図４の初期値設定処理に代えて、図７の初期値設定処理を行う。
図７に示すように、ＣＰＵ４１は、初期値設定処理を開始すると、エンジン３が停止状態から始動したか否かを判定し（Ｓ３１０）、エンジン３が始動したと判定した場合には（Ｓ３１０：ＹＥＳ）、上記不揮発性メモリ又はバックアップＲＡＭから、前回エンジン停止時（エンジン３が前回停止したとき）の推定触媒温度を取得する（Ｓ３２０）。
【００６２】
更に、ＣＰＵ４１は、エンジン３が停止していた時間であって、前回エンジン停止時から今回エンジン始動時（エンジン３が今回始動したとき）までの時間であるエンジン停止時間を取得する（Ｓ３３０）。
【００６３】
例えば、ＣＰＵ４１は、時計で経時される時刻を取得することができるのであれば、エンジン３が停止したと判定した時刻（又はイグニッションスイッチがオフされたと判定した時刻）から、エンジン３が始動したと判定した時刻（又はイグニッションスイッチがオンされたと判定した時刻）までの時間を、エンジン停止時間として算出することができる。また例えば、ＥＣＵ１に、イグニッションスイッチがオフされている時間を計測するタイマ機能が設けられているのであれば、ＣＰＵ４１は、そのタイマ機能で計測された時間を、エンジン停止時間として取得しても良い。
【００６４】
そして、ＣＰＵ４１は、Ｓ３２０で取得した前回エンジン停止時の推定触媒温度と、Ｓ３３０で取得したエンジン停止時間とに基づいて、今回エンジン始動時の触媒温度（換言すれば、現在の触媒温度）を推定により算出し、その算出値を、推定触媒温度の初期値としてＲＡＭ４３に記憶する（Ｓ３４０）。
【００６５】
エンジン停止中の触媒温度は、時間の経過とともに低下して外気温や排気管の温度へと収束していくため、前回エンジン停止時の推定触媒温度とエンジン停止時間とから、今回エンジン始動時の触媒温度を推定することができる。
【００６６】
例えば、エンジン停止時の触媒温度とエンジン停止時間とから触媒温度を算出するためのデータマップを、ＲＯＭ４２内に格納しておけば、ＣＰＵ４１は、そのデータマップに、Ｓ３２０，Ｓ３３０で取得した前回エンジン停止時の推定触媒温度とエンジン停止時間とを当てはめることで、今回エンジン始動時の触媒温度を算出することができる。そのデータマップは、例えばエンジン停止時間が長いほど、前回エンジン停止時の推定触媒温度と、算出される今回エンジン始動時の触媒温度との差が大きくなるように設定されることとなる。また、データマップを用いる代わりに、ＣＰＵ４１は、計算式を用いて、今回エンジン始動時の触媒温度を算出するように構成しても良い。
【００６７】
また例えば、前回エンジン停止時と今回エンジン始動時との両方又は一方における外気温やエンジン水温を更に加味して、今回エンジン始動時の触媒温度を推定するように構成しても良い。例えば、前回エンジン停止時又は今回エンジン始動時における外気温又はエンジン水温が高い場合ほど、今回エンジン始動時の触媒温度として、高い値が算出されるように構成することができる。
【００６８】
そして、ＣＰＵ４１は、上記Ｓ３４０の処理を終了すると、当該初期値設定処理を終了する。
このような第２実施形態のＥＣＵ１によれば、推定触媒温度の初期値の精度（確かさ）を向上させることができ、延いては、推定触媒温度の精度を向上させることができる。
【００６９】
［第３実施形態］
上記第１及び第２実施形態のＥＣＵ１において、分離手段としては、フィルタ処理部５２に代えて、アナログフィルタを用いても良い。アナログフィルタを用いれば、マイコン２５（ＣＰＵ４１）の処理負荷を低減することができる。
【００７０】
アナログフィルタを用いる場合も、吸気量をｎ通りの周波数成分毎に分離するためには、例えば、１つのローパスフィルタと、「ｎ−２」個のバンドパスフィルタと、１つのハイパスフィルタとを設けたり、１つのローパスフィルタと、「ｎ−１」個のバンドパスフィルタとを設けたり、ｎ個のバンドパスフィルタを設けたりすれば良い。
【００７１】
また、アナログフィルタを用いる場合には、図２における吸気量センサ１３と吸気量センサドライバ５１との間に、複数のアナログフィルタを設ければ良い。つまり、吸気量センサ１３からの信号は、各アナログフィルタに入力させる。そして、吸気量センサドライバ５１は、各アナログフィルタの出力信号を、一定時間Ｔｓ毎にＡ／Ｄ変換して読み取ると共に、その読み取った信号から、周波数成分毎の各吸気量を算出して、積算吸気量演算部５３に出力するように構成すれば良い。この場合、吸気量センサ１３からの信号が、検出手段により検出された吸入空気量に相当する。
【００７２】
また、バンドパスフィルタとしては、時定数が異なる複数の１次フィルタの出力を組み合わせることで、模擬することができる。例えば、バンドパスフィルタとしての回路は、時定数が小さいローパスフィルタの出力から、時定数が大きいローパスフィルタの出力を減算して出力する回路とすることができる。このように構成すれば、フィルタの構成が簡単となる。
【００７３】
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されることなく、種々の形態を採り得る。また、前述の数値も一例であり他の値でも良い。
例えば、各吸気量の積算の起点は触媒暖機制御の開始時でも良い。また、触媒暖機制御を終了する場合には、遅らせていた点火時期を徐々に進角させていくようにしても良い。
【００７４】
また、上記実施形態における１つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を１つの構成要素に統合させたりしてもよい。また、上記実施形態の構成の少なくとも一部を、同様の機能を有する公知の構成に置き換えてもよい。また、上記実施形態の構成の一部を、課題を解決できる限りにおいて省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言によって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
【００７５】
また、上述したＥＣＵの他、当該ＥＣＵを構成要素とするシステム、当該ＥＣＵとしてコンピュータを機能させるためのプログラム、このプログラムを記録した媒体、内燃機関の制御方法など、種々の形態で本発明を実現することもできる。
【符号の説明】
【００７６】
３…エンジン（内燃機関）、１３…吸気量センサ、１７…三元触媒、４１…ＣＰＵ、５２…フィルタ処理部、５３…積算吸気量演算部、５４…触媒温度推定部、５５…触媒暖機制御部
【図１】
2015166556.tif 000003
【図２】
2015166556.tif 000004
【図３】
2015166556.tif 000005
【図４】
2015166556.tif 000006
【図５】
2015166556.tif 000007
【図６】
2015166556.tif 000008
【図７】
2015166556.tif 000009