(57)【要約】【課題】排ガスセンサの素子部の温度状態によらずに触媒装置の所要の浄化性能を適正に確保し得るような空燃比制御を行うことができる内燃機関の空燃比制御装置を提供する。【解決手段】触媒装置４の下流側に配置したＯ２センサ（排ガスセンサ）８の出力Ｖｏｕｔの目標値ＶｔｇｔをＯ２センサ８の素子部１０の温度ＴＯ２に応じて目標値設定手段１８により可変的に設定し、その目標値Ｖｔｇｔに出力Ｖｏｕｔを収束させるように空燃比制御手段１７により空燃比を制御する。素子部１０の温度ＴＯ２は、排気温オブザーバ１９により排ガス温度Ｔｇｄを推定しつつ、その推定値等を用いて素子温オブザーバ２０により逐次推定する。さらに、素子部１０の温度ＴＯ２を所定の目標値Ｒに維持するようにヒータコントローラ２２によりＯ２センサ８のヒータ１３を制御する。【選択図】図１
2004068736.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関の排気通路に設けた触媒装置の下流側に配置され、該触媒装置を通過した排ガスに接触して該排ガス中の特定成分に感応する素子部を有する排ガスセンサを備え、該排ガスセンサの出力を所定の目標値に収束させるように内燃機関から触媒装置に供給する排ガスの空燃比を制御する内燃機関の空燃比制御装置において、
前記排ガスセンサの素子部の温度を表す素子温度データを逐次取得する素子温度データ取得手段と、該素子温度データに応じて前記目標値を可変的に設定する目標値設定手段とを備えたことを特徴とする内燃機関の空燃比制御装置。
【請求項２】
前記素子温度データ取得手段は、少なくとも前記内燃機関の運転状態を表すパラメータを用いて前記素子部の温度の推定値を前記素子温度データとして逐次求めることを特徴とする請求項１記載の内燃機関の空燃比制御装置。
【請求項３】
前記素子温度データ取得手段は、少なくとも前記内燃機関の運転状態を表すパラメータを用いて排ガスの温度を推定しつつ、その排ガスの温度の推定値と、該排ガスと前記素子部との間の熱授受関係を表現するようにあらかじめ定められた熱モデルとを用いて前記素子部の温度の推定値を求めることを特徴とする請求項２記載の内燃機関の空燃比制御装置。
【請求項４】
前記素子部の温度の推定値を求めるために用いる前記排ガスの温度の推定値は、前記排ガスセンサの配置箇所近傍での排ガスの温度の推定値であり、前記素子温度データ取得手段は、前記内燃機関の運転状態を表すパラメータを用いて該内燃機関の排気ポート近傍での排ガスの温度を推定しつつ、その排気ポート近傍での排ガスの温度の推定値と、該排ガスが排気ポート近傍から前記排ガスセンサの配置箇所まで流れる過程での該排ガスの温度変化を表すようにあらかじめ定められた熱モデルとを用いて該排ガスセンサの配置箇所近傍での排ガスの温度の推定値を求めることを特徴とする請求項３記載の内燃機関の空燃比制御装置。
【請求項５】
前記素子部を加熱するヒータと、該ヒータを制御するヒータ制御手段とを備え、前記素子温度データ取得手段は、前記排ガスの温度の推定値と、前記ヒータ制御手段による前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記排ガスと素子部との間の熱授受関係、該素子部とヒータとの間の熱授受関係、並びにヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記素子部の温度の推定値を求めることを特徴とする請求項３記載の内燃機関の制御装置。
【請求項６】
前記素子部を加熱するヒータと、該ヒータを制御するヒータ制御手段とを備え、前記素子温度データ取得手段は、前記排ガスセンサの配置箇所近傍での排ガスの温度の推定値と、前記ヒータ制御手段による前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記排ガスと素子部との間の熱授受関係、該素子部とヒータとの間の熱授受関係、並びにヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記素子部の温度の推定値を求めることを特徴とする請求項４記載の内燃機関の制御装置。
【請求項７】
前記素子部を加熱するヒータと、該ヒータを制御するヒータ制御手段とを備え、前記素子温度データ取得手段は、少なくとも前記ヒータ制御手段による前記ヒータへの発熱要エネルギーの供給量を表すヒータエネルギー供給量データと、前記素子部とヒータとの間の熱授受関係、及びヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記素子部の温度の推定値を求めることを特徴とする請求項１記載の内燃機関の制御装置。
【請求項８】
前記素子部を加熱するヒータと、該素子部の温度を所定温度に維持するように該ヒータを制御するヒータ制御手段とを備えたことを特徴とする請求項１〜４のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項９】
前記ヒータ制御手段は、前記素子部の温度を所定温度に維持するように該ヒータを制御することを特徴とする請求項５〜７のいずれか１項に記載の内燃機関の空燃比制御装置。
【請求項１０】
内燃機関の排気通路に設けた触媒装置の下流側に配置され、該触媒装置を通過した排ガスに接触して該排ガス中の特定成分に感応する素子部と該素子部を加熱するヒータとを有する排ガスセンサと、前記ヒータを制御するヒータ制御手段とを備え、前記排ガスセンサの出力を所定の目標値に収束させるように内燃機関から触媒装置に供給する排ガスの空燃比を制御する内燃機関の空燃比制御装置において、
前記排ガスセンサのヒータの温度を表すヒータ温度データを逐次取得するヒータ温度データ取得手段と、該ヒータ温度データに応じて前記目標値を可変的に設定する目標値設定手段とを備えたことを特徴とする内燃機関の空燃比制御装置。
【請求項１１】
前記ヒータ温度データ取得手段は、少なくとも前記内燃機関の運転状態を表すパラメータを用いて排ガスの温度を推定しつつ、その排ガスの温度の推定値と、前記ヒータ制御手段による前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記排ガスと素子部との間の熱授受関係、該素子部とヒータとの間の熱授受関係、並びにヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記ヒータの温度の推定値を求めることを特徴とする請求項１０記載の内燃機関の空燃比制御装置。
【請求項１２】
前記ヒータの温度の推定値を求めるために用いる前記排ガスの温度の推定値は、前記排ガスセンサの配置箇所近傍での排ガスの温度の推定値であり、前記ヒータ温度データ取得手段は、前記内燃機関の運転状態を表すパラメータを用いて該内燃機関の排気ポート近傍での排ガスの温度を推定しつつ、その排気ポート近傍での排ガスの温度の推定値と、該排ガスが排気ポート近傍から前記排ガスセンサの配置箇所まで流れる過程での該排ガスの温度変化を表すようにあらかじめ定められた熱モデルとを用いて該排ガスセンサの配置箇所近傍での排ガスの温度の推定値を求めることを特徴とする請求項１１記載の内燃機関の空燃比制御装置。
【請求項１３】
前記ヒータ温度データ取得手段は、少なくとも前記ヒータ制御手段による前記ヒータへの発熱要エネルギーの供給量を表すヒータエネルギー供給量データと、前記素子部とヒータとの間の熱授受関係、及びヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記ヒータの温度の推定値を求めることを特徴とする請求項１０記載の内燃機関の制御装置。
【請求項１４】
前記ヒータ制御手段は、前記素子部の温度を所定温度に維持するように該ヒータを制御することを特徴とする請求項１０〜１３のいずれか１項に記載の内燃機関の空燃比制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内燃機関の空燃比制御装置に関する。
【０００２】
【従来の技術】
従来、内燃機関の排気通路に備えた触媒装置の所要の浄化性能を確保するために、該触媒装置の下流側に、排ガスの特定成分に感応する素子部を有する排ガスセンサを配置し、その排ガスセンサの出力を所定の目標値に収束させるように内燃機関から触媒装置に供給する排ガスの空燃比を制御するものが知られている。例えば、特開平１１−３２４７６７号公報には、排ガスセンサとしてのＯ２センサ（排ガス中の酸素濃度に応じた出力を発生するセンサ）を三元触媒により構成された触媒装置の下流側に配置し、このＯ２センサの出力を所定の目標値に収束させるように空燃比を制御することで、触媒装置によるＣＯ（一酸化炭素）、ＨＣ（ハイドロカーボン）、ＮＯｘ（窒素酸化物）等の浄化を良好に行うようにした技術が本願出願人により提案されている。この技術は、内燃機関から触媒装置に供給される排ガスの空燃比を、触媒装置下流のＯ２センサの出力（出力電圧）がある所定の一定値に整定するような空燃比状態に制御したとき、触媒装置によるＣＯ（一酸化炭素）、ＨＣ（炭化水素）、ＮＯｘ（窒素酸化物）の浄化率が、該触媒装置の劣化状態等によらずに良好な状態（浄化率がほぼ最大となる状態）に確保されるという現象に着目してなされたものである。
【０００３】
尚、Ｏ２センサ等の排ガスセンサでは、内燃機関の始動後に素子部を速やかに活性化するために、該素子部を加熱するヒータを備えたものが従来より知られている。
【０００４】
【発明が解決しようとする課題】
ところで、Ｏ２センサ等の排ガスセンサでは、その出力特性（排ガスの特定成分の含有量に応じた出力電圧の特性）は、一般に、素子部の温度の影響を受けて変化する。また、本願発明者等の知見によれば、例えば触媒装置の下流側にＯ２センサを配置したとき、該Ｏ２センサの出力特性が素子部の温度の影響を受けて変化すると、触媒装置の所要の浄化性能が得られるようなＯ２センサの出力値も変化する。このため、内燃機関の排気系レイアウトや内燃機関の運転条件等によってＯ２センサの素子部の温度が変化しやすいような場合には、従来のようにＯ２センサの出力の目標値を一定値に設定しておくと、該Ｏ２センサの出力をその目標値に維持するように空燃比を制御しても触媒装置の所要の浄化性能を十分に確保することが困難となる虞れがあった。
【０００５】
本発明はこのような背景に鑑みてなされたものであり、Ｏ２センサ等の排ガスセンサの素子部の温度状態によらずに触媒装置の所要の浄化性能を適正に確保し得るような空燃比制御を行うことができる内燃機関の空燃比制御装置を提供することを目的とする。さらに、その空燃比制御による触媒装置の所要の浄化性能を安定に確保することができる内燃機関の空燃比制御装置を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明の内燃機関の空燃比制御装置は、かかる目的を達成するために、２つの態様があり、その第１の態様は、内燃機関の排気通路に設けた触媒装置の下流側に配置され、該触媒装置を通過した排ガスに接触して該排ガス中の特定成分に感応する素子部を有する排ガスセンサを備え、該排ガスセンサの出力を所定の目標値に収束させるように内燃機関から触媒装置に供給する排ガスの空燃比を制御する内燃機関の空燃比制御装置において、前記排ガスセンサの素子部の温度を表す素子温度データを逐次取得する素子温度データ取得手段と、該素子温度データに応じて前記目標値を可変的に設定する目標値設定手段とを備えたことを特徴とするものである。
【０００７】
かかる本発明の第１の態様によれば、排ガスセンサの素子部の温度を表す素子温度データに応じて排ガスセンサの出力の目標値を可変的に設定するので、該素子部の温度状態、ひいては、その温度状態に対応する排ガスセンサの出力特性の状態に適合させて前記目標値を設定することが可能となる。この結果、排ガスセンサの素子部の温度状態によらずに、触媒装置の所要の浄化性能を確保する上で好適な排ガスセンサの出力の目標値を設定することが可能となる。そして、このように設定した目標値に排ガスセンサの出力を収束させるように空燃比を制御することにより、排ガスセンサの素子部の温度状態、あるいは、その温度状態に影響を及ぼす要因（排気系のレイアウトや内燃機関の運転状態等）によらずに、触媒装置の所要の浄化性能を適正に確保することができる。
【０００８】
かかる本発明の第１の態様では、例えば素子部の温度を検出する温度センサを設け、その温度センサによる素子部の温度の検出値を前記素子温度データとして用いてもよいことはもちろんである。但し、このような温度センサを備えることはコスト的に不利であり、また、該温度センサの耐久性等の問題もある。そこで、本発明の第１の態様では、前記素子温度データ取得手段は、少なくとも前記内燃機関の運転状態を表すパラメータを用いて前記素子部の温度の推定値を前記素子温度データとして求めることが好ましい。
【０００９】
すなわち、素子部の温度は、それが接触する排ガスの温度の影響を強く受け、該排ガスの温度は主に内燃機関の運転状態に応じたものとなる。従って、少なくとも内燃機関の運転状態を表すパラメータを用いて前記素子部の温度を比較的精度よく推定することができる。そして、その素子部の温度の推定値を素子温度データとして用いて排ガスセンサの出力の目標値を設定することによって、触媒装置の所要の浄化性能を適正に確保し得るシステムを低コストで構築することができる。尚、素子部の温度の推定値を求めるために用いる内燃機関の運転状態を表すパラメータは、排ガスの温度と相関性の高いパラメータであることが好ましく、少なくとも内燃機関の回転速度を表すパラメータ（例えば回転速度の検出値）と、吸入空気量を表すパラメータ（例えば吸気圧の検出値）とを含むことが好適である。
【００１０】
上記のように内燃機関の運転状態を表すパラメータを用いて素子部の温度を推定する場合、例えば該パラメータからあらかじめ定めたマップやデータテーブル等を用いて素子部の温度の推定値を求めることも可能である。但し、素子部の温度の推定値の精度をより高める上では、前記素子温度データ取得手段は、少なくとも前記内燃機関の運転状態を表すパラメータを用いて排ガスの温度を推定しつつ、その排ガスの温度の推定値と、該排ガスと前記素子部との間の熱授受関係を表現するようにあらかじめ定められた熱モデルとを用いて前記素子部の温度の推定値を求めることが好ましい。すなわち、内燃機関の運転状態は該内燃機関が生成する排ガスの温度に直接的に影響するので、該運転状態を表すパラメータを用いて排ガスの温度を比較的精度よく推定できる。そして、その排ガスの温度の推定値と、あらかじめ定めた前記熱モデルとを用いて素子部の温度の推定値を求めることにより、該排ガスとこれに接触する素子部との間の熱授受関係を的確に考慮して、素子部の温度の推定値を求めることができる。その結果、素子部の温度の推定値の精度を高めることができる。ひいては、排ガスセンサの出力の目標値を素子部の実際の温度状態に適合するようにして設定することが可能となり、触媒装置による所要の浄化性能をより好適に確保することができる。
【００１１】
尚、上記熱モデルにより表す、排ガスと素子部との間の熱授受関係は、例えば、素子部の温度の変化速度（所定時間当たりの変化量）が、素子部の温度と排ガスの温度との偏差に応じたものとなるというような関係である。また、この熱モデルは、素子部と排ガスとの間の熱授受関係のみを表すものである必用はなく、該排ガス及び素子部間の熱授受関係に加えて、素子部と排ガス以外のもの（素子部の温度に影響を及ぼすもの）、例えば該素子部とその内部の空気との熱授受関係をも表現するものであってもよい。
【００１２】
上述のように排ガスの温度の推定値と、排ガス及び素子部間の熱授受関係を表現する熱モデルを用いて素子部の温度を推定する場合、該素子部の温度の推定値の精度をできるだけ高めるためには、排ガスセンサの配置箇所近傍（素子部の近傍）での排ガスの温度をできるだけ精度よく推定し、その推定値を素子部の温度の推定のために用いることが望ましい。ここで、内燃機関の運転状態は、より詳しくは内燃機関の排気ポート近傍での排ガスの温度に直接的に影響する。また、内燃機関の排気ポート近傍における排ガスは、排ガスセンサの配置箇所まで流れるのにある程度の時間を要すると共に、一般には排ガスセンサの配置箇所まで流れる過程で、周囲の物体（排気管や触媒装置内の触媒等）との熱伝達や大気側への放熱等が生じる。従って、瞬時瞬時の排気ポート近傍における排ガスの温度は、排ガスセンサの配置箇所近傍での排ガスの温度と同等、もしくはほぼ同等になるとは限らない。
【００１３】
そこで、前記素子部の温度の推定値を求めるために用いる前記排ガスの温度の推定値を、前記排ガスセンサの配置箇所近傍での排ガスの温度の推定値とすることが好ましい。そして、この場合、前記素子温度データ取得手段は、前記内燃機関の運転状態を表すパラメータを用いて該内燃機関の排気ポート近傍での排ガスの温度を推定しつつ、その排気ポート近傍での排ガスの温度の推定値と、該排ガスが排気ポート近傍から前記排ガスセンサの配置箇所まで流れる過程での該排ガスの温度変化を表すようにあらかじめ定められた熱モデルとを用いて該排ガスセンサの配置箇所近傍での排ガスの温度の推定値を求めることが好ましい。
【００１４】
このように、内燃機関の運転状態を表すパラメータを用いて排気ポート近傍での排ガスの温度を推定することで、その推定値の精度を十分に高めることができる。さらに、該排気ポート近傍での排ガスの温度の推定値と、上記熱モデルとを用いて排ガスセンサの配置箇所近傍での排ガスの温度を推定することにより、排ガスが排気ポート近傍から排ガスセンサの配置箇所近傍まで流れる過程での該排ガスの温度変化を考慮することができ、排ガスセンサの配置箇所近傍での排ガスの温度の推定値を精度よく求めることができる。その結果、その排ガスの温度の推定値を用いて求める素子部の温度の推定値の精度をより一層高めることができる。ひいては、その素子部の温度の推定値に応じて設定する排ガスセンサの出力の目標値と素子部の実際の温度状態との整合性をより高めることができ、触媒装置による所要の浄化性能の確保をより適正に行うことができる。
【００１５】
尚、排ガスの温度変化に関する上記熱モデルは、例えば排ガスと該排ガスが流れる通路形成物（排気管や触媒等）との間の熱伝達、及び該通路形成物を介した大気側への放熱による排ガスの温度変化、さらには触媒の発熱に伴う排ガスの温度変化、排ガスの流れ方向での温度勾配及び排ガスの流速に伴う温度変化を表現するようなモデルが好適である。
【００１６】
本発明の第１の態様においては、排ガスセンサの素子部を加熱するヒータを備えることは必ずしも必要ではないが、該素子部を昇温・活性化する等のために素子部を加熱するヒータとこれを制御するヒータ制御手段とが備えられていてもよい。そして、この場合、上述のように排ガスの温度の推定値等を用いて素子部の温度を推定する場合には、前記素子温度データ取得手段は、前記排ガスの温度の推定値（好ましくは排ガスセンサの配置箇所近傍での排ガスの温度の推定値）と、前記ヒータ制御手段による前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記排ガスと素子部との間の熱授受関係、該素子部とヒータとの間の熱授受関係、並びにヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記素子部の温度の推定値を求めることが好ましい。
【００１７】
すなわち、ヒータを備える場合には、該ヒータの発熱が排ガスと共に素子部の温度に強い影響を及ぼすので、素子部の温度の推定値を精度よく求めるためには、排ガスの温度の推定値（好ましくは排ガスセンサの配置箇所近傍での排ガスの温度の推定値）に加えて、ヒータ制御手段によるヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データを用いると共に、排ガスと素子部との間の熱授受関係に加えて、さらにヒータと素子部との間の熱授受関係とヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱をも表現する熱モデルを用いることが好ましい。このようにすることにより、素子部の温度の推定値を精度よく求めることができる。ひいては、その素子部の温度の推定値に応じて設定する排ガスセンサの出力の目標値と素子部の実際の温度状態との整合性を高め、触媒装置による所要の浄化性能の確保をより適正に行うことができる。
【００１８】
尚、ヒータエネルギー供給量データは、例えばヒータが電熱ヒータであるときには、例えば該ヒータへの供給電圧の検出値もしくは指令値、通電電流の検出値もしくは指令値、あるいはそれらの乗算値を該ヒータエネルギー供給量データとして用いることができる。また、例えばヒータ制御手段がＰＷＭ制御によりヒータの通電制御を行うものである場合には、該ヒータ制御手段が生成するＰＷＭ制御用のパルス信号のデューティ値をヒータエネルギー供給量データとして用いることができる。また、前記排ガスと素子部との間の熱授受関係、該素子部とヒータとの間の熱授受関係、並びにヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現する前記熱モデルは、例えば、素子部の温度の変化速度（所定時間当たりの変化量）が、素子部の温度と排ガスの温度との偏差、並びに、素子部の温度とヒータの温度との偏差差に応じたものになり、また、ヒータの温度の変化速度が、素子部の温度とヒータの温度との偏差、並びにヒータへの発熱用エネルギーの供給量に応じたものになる、というような関係を表現するモデルである。また、この熱モデルは、素子部及びヒータ間の熱授受関係等に加えて、素子部やヒータの温度に影響を及ぼす他の要因、例えば該素子部とその内部の空気との熱授受関係や、ヒータと素子部の内部の空気との熱授受関係をも表現するものであってもよい。
【００１９】
また、本発明の第１の態様では、前記素子部を加熱するヒータと、該ヒータを制御するヒータ制御手段とを備えた場合において、前記素子温度データ取得手段は、少なくとも前記ヒータ制御手段による前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記素子部とヒータとの間の熱授受関係、及びヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記素子部の温度の推定値を求めることも可能である。
【００２０】
すなわち、例えば、内燃機関の定常運転状態等、排ガスの温度変化が比較的小さなものとなる条件下では、素子部の温度変化は、主にヒータの発熱によって生じるので、少なくとも前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記素子部とヒータとの間の熱授受関係、及びヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いることによって、排ガスの温度の検出値や推定値を用いずとも、素子部の温度の推定値を比較的精度よく求めることができる。ひいては、その素子部の温度の推定値に応じて設定する排ガスセンサの出力の目標値と素子部の実際の温度状態との整合性を高め、触媒装置による所要の浄化性能の確保をより適正に行うことができる。尚、この場合、前記ヒータエネルギー供給量データとして用いるデータは、前述のように排ガスの温度を考慮した場合と同様でよい。また、素子部とヒータとの間の熱授受関係、及びヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現する熱モデルは、例えば、素子部の温度の変化速度（所定時間当たりの変化量）が、素子部の温度とヒータの温度との偏差差に応じたものになり、また、ヒータの温度の変化速度が、素子部の温度とヒータの温度との偏差、並びにヒータへの発熱用エネルギーの供給量に応じたものになる、というような関係を表現するモデルである。この場合、この熱モデルは、素子部及びヒータ間の熱授受関係等に加えて、例えば該素子部とその内部の空気との熱授受関係や、ヒータと素子部の内部の空気との熱授受関係をも表現するものであってもよい。
【００２１】
本発明の第１の態様では、前述したように素子部の温度が変化しても、触媒装置の所要の浄化性能を確保する上で好適な排ガスセンサの出力の目標値を設定できるものの、該目標値が頻繁に変動したり急激に変化するような場合には、空燃比制御の安定性が損なわれる虞れがある。そこで、ヒータ及びヒータ制御手段を備えた本発明の第１の態様にあっては、ヒータ制御手段は、素子部の温度を所定温度に維持するように該ヒータを制御するものであることが好適である。このように素子部の温度を所定温度に維持するようにヒータを制御することで、素子部の温度が変化するのを極力抑え、該素子部の温度、ひいては排ガスセンサの出力特性を極力安定化することができる。このため、前記目標値設定手段により設定される排ガスセンサの出力の目標値が頻繁に変化したり、急激に変化するような事態を極力抑えることができる。その結果、排ガスセンサの出力を目標値に収束させる空燃比制御の安定性を高めることができ、ひいては、触媒装置の所要の浄化性能を安定して確保することができる。
【００２２】
尚、前記素子部の所定温度は、排ガスセンサの出力特性を安定化する上では基本的には一定値であることが望ましいが、内燃機関の始動直後や、大気温度が比較的低いような場合には、ヒータの過熱等を防止するために、通常の場合よりも目標とする素子部の所定温度を低くしたりするようにしてもよい。また、素子部の温度を所定温度に維持するように制御する場合、例えば前記素子温度データが表す素子部の温度と、素子部の目標温度としての所定温度との偏差等に応じたフィードバック制御処理によりヒータへのエネルギー供給量をヒータ制御手段により制御するようにすればよい。あるいは、素子部の温度とヒータの温度とは後述するように高い相関性を有するため、例えば、素子温度データに加えて、ヒータの温度を表すヒータ温度データを推定処理等により取得するようにして、そのヒータ温度データが表すヒータの温度と素子部の所定温度の対応するヒータの目標温度との偏差等に応じてフィードバック制御処理によりヒータへのエネルギー供給量をヒータ制御手段により制御するようにしてもよい。
【００２３】
ところで、本願発明者等の知見によれば、ヒータを備える排ガスセンサでは、ヒータの温度と素子部の温度とは相関性が高い。例えば定常状態ではヒータの温度は、素子部の温度よりも一定温度だけ高くなるような傾向がある。従って、排ガスセンサの出力の目標値を例えばヒータの温度に応じて設定するようにすれば、間接的に素子部の温度に応じて該目標値を設定できることとなる。そこで、本発明の内燃機関の空燃比制御装置の第２の態様は、前記の目的を達成するために、内燃機関の排気通路に設けた触媒装置の下流側に配置され、該触媒装置を通過した排ガスに接触して該排ガス中の特定成分に感応する素子部と該素子部を加熱するヒータとを有する排ガスセンサと、前記ヒータを制御するヒータ制御手段とを備え、該排ガスセンサの出力を所定の目標値に収束させるように内燃機関から触媒装置に供給する排ガスの空燃比を制御する内燃機関の空燃比制御装置において、前記排ガスセンサのヒータの温度を表すヒータ温度データを逐次取得するヒータ温度データ取得手段と、該ヒータ温度データに応じて前記目標値を可変的に設定する目標値設定手段とを備えたことを特徴とするものである。
【００２４】
かかる本発明の第２の態様によれば、素子部の温度と相関性の高いヒータの温度を表すヒータ温度データに応じて排ガスセンサの出力の目標値を設定するので、間接的に、素子部の温度状態、ひいては、その温度状態に対応する排ガスセンサの出力特性の状態に適合させて前記目標値を設定することが可能となる。この結果、前記第１の態様と同様に、排ガスセンサの素子部の温度状態によらずに、触媒装置の所要の浄化性能を確保する上で好適な排ガスセンサの出力の目標値を設定することが可能となる。そして、このように設定した目標値に排ガスセンサの出力を収束させるように空燃比を制御することにより、排ガスセンサの素子部の温度状態、あるいは、その温度状態に影響を及ぼす要因（排気系のレイアウトや内燃機関の運転状態等）によらずに、触媒装置の所要の浄化性能を適正に確保することができる。
【００２５】
かかる本発明の第２の態様では、例えばヒータの温度を検出する温度センサを設け、その温度センサによるヒータの温度の検出値を前記ヒータ温度データとして用いてもよいことはもちろんである。但し、このような温度センサを備えることはコスト的に不利であり、また、該温度センサの耐久性等の問題もある。そこで、本発明の第２の態様では、前記第１の態様でヒータを備えて素子部の温度を推定する場合と同様にして、前記ヒータ温度データ取得手段は、少なくとも前記内燃機関の運転状態を表すパラメータを用いて排ガスの温度を推定しつつ、その排ガスの温度の推定値と、前記ヒータ制御手段による前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記排ガスと素子部との間の熱授受関係、該素子部とヒータとの間の熱授受関係、並びにヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記ヒータの温度の推定値を求めることが好ましい。
【００２６】
このようにすることにより、素子部の温度を推定する場合と同様に、ヒータの温度の推定値を精度よく求めることができる。ひいては、そのヒータの温度の推定値に応じて設定する排ガスセンサの出力の目標値と素子部の実際の温度状態との整合性を高め、触媒装置による所要の浄化性能の確保を適正に行うことができる。尚、ヒータエネルギー供給量データとして用いるデータや、上記熱モデルの形態、内燃機関の運転状態を表すパラメータは、前記第１の態様と同様でよい。
【００２７】
また、この場合、ヒータの温度の推定値の精度をできるだけ高める上では、前記ヒータの温度の推定値を求めるために用いる前記排ガスの温度の推定値は、前記排ガスセンサの配置箇所近傍での排ガスの温度の推定値であることが好適である。そして、前記ヒータ温度データ取得手段は、前記内燃機関の運転状態を表すパラメータを用いて該内燃機関の排気ポート近傍での排ガスの温度を推定しつつ、その排気ポート近傍での排ガスの温度の推定値と、該排ガスが排気ポート近傍から前記排ガスセンサの配置箇所まで流れる過程での該排ガスの温度変化を表すようにあらかじめ定められた熱モデルとを用いて該排ガスセンサの配置箇所近傍での排ガスの温度の推定値を求めることが好適である。
【００２８】
このように、内燃機関の運転状態を表すパラメータを用いて排気ポート近傍での排ガスの温度を推定し、さらに、その推定値と、排ガスの温度変化を表現する上記熱モデルとを用いて排ガスセンサの配置箇所近傍での排ガスの温度を推定することで、前記第１の態様に関して説明した如く、排ガスセンサの配置箇所近傍での排ガスの温度の推定値を精度よく求めることができる。その結果、その排ガスの温度の推定値を用いて求めるヒータの温度の推定値の精度をより一層高めることができる。ひいては、そのヒータの温度の推定値に応じて設定する排ガスセンサの出力の目標値と素子部の実際の温度状態との整合性をより高めることができ、触媒装置による所要の浄化性能の確保をより適正に行うことができる。尚、排ガスの温度変化に関する上記熱モデルの形態は、前記第１の態様のものと同様でよい。
【００２９】
また、本発明の第２の態様では、前記ヒータ温度データ取得手段は、少なくとも前記ヒータ制御手段による前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記素子部とヒータとの間の熱授受関係、及びヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いて前記ヒータの温度の推定値を求めることも可能である。
【００３０】
すなわち、例えば、内燃機関の定常運転状態等、排ガスの温度変化が比較的小さなものとなる条件下では、ヒータの温度変化は、主にヒータの発熱によって生じるので、少なくとも前記ヒータへの発熱用エネルギーの供給量を表すヒータエネルギー供給量データと、前記素子部とヒータとの間の熱授受関係、及びヒータへの発熱用エネルギーの供給に伴う該ヒータの発熱を表現するようにあらかじめ定められた熱モデルとを用いることによって、排ガスの温度の検出値や推定値を用いずとも、ヒータの温度の推定値を比較的精度よく求めることができる。ひいては、そのヒータの温度の推定値に応じて設定する排ガスセンサの出力の目標値と素子部の実際の温度状態との整合性を高め、触媒装置による所要の浄化性能の確保を適正に行うことができる。尚、この場合、前記ヒータエネルギー供給量データとして用いるデータや、熱モデルは、前述した本発明の第１の態様と同様でよい。
【００３１】
また、本発明の第２の態様では、前記第１の態様と同様、前記ヒータ制御手段は、前記素子部の温度を所定温度に維持するように該ヒータを制御することが好適である。このようにすることで、前記第１の態様で説明したように、素子部の温度が変化するのを極力抑え、該素子部の温度、ひいては排ガスセンサの出力特性を極力安定化することができる。このため、前記目標値設定手段により設定される排ガスセンサの出力の目標値が頻繁に変化したり、急激に変化するような事態を極力抑えることができる。その結果、排ガスセンサの出力を目標値に収束させる空燃比制御の安定性を高めることができ、ひいては、触媒装置の所要の浄化性能を安定して確保することができる。
【００３２】
尚、素子部の温度を所定温度に維持するようなヒータの制御は、前記第１の態様の場合と同様に行うことができる。
【００３３】
【発明の実施の形態】
本発明の第１実施形態を図１〜図１２を参照して説明する。尚、本実施形態は、本発明の第１の態様の一実施形態である。図１は、本実施形態の装置の全体構成を模式的に示すブロック図である。同図中、１は例えば自動車やハイブリッド車に搭載されたエンジン（内燃機関）であり、このエンジン１が燃料及び空気の混合気を燃焼させて生成する排ガスは、該エンジン１の排気ポート２に連通する排気通路３を介して大気側に排出される。排気通路３には、排ガスを浄化するための触媒装置４，５が上流側から順次介装されている。排気通路３のうち、触媒装置４の上流側の部分（排気ポート２と触媒装置４の間の部分）と、両触媒装置４，５の間の部分と、触媒装置５の下流側の部分とはそれぞれ管状の排気管６ａ，６ｂ，６ｃにより構成されている。
【００３４】
各触媒装置４，５はそれぞれ触媒７（本実施形態では三元触媒）を内蔵するものである。この触媒７は、ハニカム構造の通路形成物であり、その内部を排ガスが流れるようになっている。尚、触媒装置４，５は一体構造のもの（例えば同一のケース内に三元触媒からなる二つの触媒床を上流部と下流部とに内蔵したもの）であってもよい。
【００３５】
本実施形態の装置では、基本的には触媒装置４の良好な浄化性能（触媒装置４によるＣＯ、ＨＣ、ＮＯｘの浄化性能）を確保するようにエンジン１の排ガスの空燃比を制御する。そして、この空燃比制御を行うために、触媒装置４，５の間の排気通路３（排気管６ｂにより形成される排気通路）にＯ２センサ８が配置され、触媒装置４の上流側の排気通路３（排気管６ａにより形成される排気通路）に広域空燃比センサ９が配置されている。尚、触媒装置４，５が前述のように一体構造で、二つの触媒床を内蔵したものである場合には、Ｏ２センサ８は、上流側の触媒床と下流側の触媒床との間に配置するようにすればよい。
【００３６】
ここで、Ｏ２センサ８は、本発明における排ガスセンサに相当するものであり、その基本構造や特性等をさらに説明する。このＯ２センサ８は、図２に模式的に示すように、酸素イオンを通しやすい固体電解質、例えば安定ジルコニア（ＺｒＯ２＋Ｙ２Ｏ３）を主材質とする有底筒形状の素子部１０（感応部）を備え、この素子部１０の外面及び内面には、それぞれ、多孔質の白金電極１１，１２がコーティングされている。また、この素子部１０の内部には、該素子部１０の昇温・活性化や温度制御等を行うために電熱ヒータとしての棒状のセラミックヒータ１３（以下、単にヒータ１３という）が挿入されると共に、ヒータ１３の周囲の空間には一定酸素濃度（一定の酸素分圧）の空気が充填されている。そして、このＯ２センサ８は、その素子部１０の先端部の外面が排気管６ｂ内の排ガスに接触するようにセンサ筐体１４を介して排気管６ｂに装着されている。
【００３７】
尚、図２中、１５は、排気管６ｂ内の素子部１０に異物等が当たらないようにするための筒状のプロテクタであり、排気管６ｂ内の素子部１０は、プロテクタ１５に穿設されている複数の孔（図示省略）を介して排ガスに接触するようになっている。
【００３８】
かかる構造のＯ２センサ８では、素子部１０の先端部外面に接触する排ガスの酸素濃度と素子部１０の内部の空気の酸素濃度との差によって、前記白金電極１１，１２間に排ガスの酸素濃度に応じた起電力が生じる。そして、該Ｏ２センサ８は、その起電力を図示しない増幅器で増幅してなる出力電圧Ｖｏｕｔを外部に出力する。
【００３９】
この場合、排ガスの酸素濃度、あるいは該酸素濃度から把握される排ガスの空燃比に対するＯ２センサ８の出力電圧Ｖｏｕｔの特性（出力特性）は、基本的には図３に実線のグラフａで示すような特性（所謂Ｚカーブ特性）となる。尚、図３の実線のグラフａは、より詳しくは、素子部１０の温度が８００℃であるときのＯ２センサ８の出力特性を示すグラフである。素子部１０の温度とＯ２センサ８の出力特性との関係については後述する。
【００４０】
図３のグラフａに見られるように、Ｏ２センサ８の出力特性は、一般的に、排ガスの酸素濃度により表わされる空燃比が理論空燃比近傍の狭い空燃比域Δに存する状態でのみ、出力電圧Ｖｏｕｔが排ガスの空燃比に対してほぼリニアに高感度な変化を示す。つまり、その空燃比域Δ（以下、高感度空燃比域Δという）において、空燃比の変化に対する出力電圧Ｖｏｕｔの変化の傾き（出力特性のグラフの傾き）が大きなものとなる。そして、その高感度空燃比域Δよりもリッチ側の空燃比域とリーン側の空燃比域とでは、排ガスの空燃比の変化に対する出力電圧Ｖｏｕｔの変化の傾き（出力特性のグラフの傾き）が微小なものとなる。
【００４１】
尚、前記広域空燃比センサ９は、ここでの詳細な説明は省略するが、例えば特開平４−３６９４７１号公報にて本願出願人が開示した空燃比センサであり、Ｏ２センサ８よりも広い空燃比域において、排ガスの空燃比に対してリニアに変化する出力電圧ＫＡＣＴを発生するセンサである。以下の説明では、Ｏ２センサ８の出力電圧Ｖｏｕｔ、広域空燃比センサ９の出力電圧ＫＡＣＴをそれぞれ単に出力Ｖｏｕｔ、ＫＡＣＴという。
【００４２】
本実施形態の装置は、さらに排ガスの空燃比制御やＯ２センサ８の素子部１０の温度制御等の処理を実行するコンントロールユニット１６を備えている。このコントロールユニット１６は、図示を省略するＣＰＵ、ＲＡＭ、ＲＯＭを含むマイクロコンピュータにより構成されたものであり、後述の制御処理を実行するために、前記Ｏ２センサ８、広域空燃比センサ９からそれらの出力Ｖｏｕｔ，ＫＡＣＴが入力されると共に、エンジン１に備えられたセンサ（図示省略）からエンジン１の回転数ＮＥ（回転速度）、吸気圧ＰＢ（詳しくはエンジン１の吸気管内圧の絶対圧）、大気温度ＴＡ、機関温度ＴＷ（詳しくはエンジン１の冷却水温）等の検出値を示すデータが与えられる。さらに、コントロールユニット１６には、エンジン１の点火装置（図示省略）やコントロールユニット１６、前記セラミックヒータ１３等の電装品の電源としてのバッテリ（図示省略）の電圧ＶＢ（以下、バッテリ電圧ＶＢという）の検出値を示すデータが図示しないセンサから与えられる。
【００４３】
尚、エンジン１の回転数ＮＥ、吸気圧ＰＢ、大気温度ＴＡ、機関温度ＴＷの検出データは、エンジン１の基本的な運転状態に関するデータであり、後述する空燃比制御手段１７や排気温オブザーバ１９等、コントロールユニット１６の各種の処理に用いられる。また、バッテリ電圧ＶＢの検出データは、本実施形態では後述の素子温オブザーバ２０の処理に用いられる。また、Ｏ２センサ８、広域空燃比センサ９のそれぞれの出力Ｖｏｕｔ，ＫＡＣＴは、空燃比制御手段１７の処理に用いられる。
【００４４】
上記コントロールユニット１６は、その処理の機能的手段として、エンジン１の排ガスの空燃比を制御する空燃比制御手段１７と、その空燃比制御のためのＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを逐次設定するＯ２出力目標値設定手段１８と、Ｏ２センサ８の配置箇所近傍での排ガス温度Ｔｇｄの推定値を逐次求める排ガス温オブザーバ１９と、Ｏ２センサ８の素子部１０の温度ＴＯ２（以下、素子温度ＴＯ２という）の推定値を逐次求める素子温オブザーバ２０と、素子温度ＴＯ２の目標値Ｒを設定する素子温目標値設定手段２１と、その素子温度ＴＯ２の目標値Ｒと素子温オブザーバ２０による素子温度ＴＯ２の推定値とを用いて該目標値Ｒに素子温度ＴＯ２を収束させるように前記ヒータ１３への供給電力（ヒータ１３の発熱用エネルギー）を制御するヒータコントローラ２２とを備えている。
【００４５】
この場合、排気温オブザーバ１９が求める排ガス温度Ｔｇｄの推定値は、素子温オブザーバ２０の推定処理に用いられ、素子温オブザーバ２０が求める素子温度ＴＯ２の推定値は、Ｏ２出力目標値設定手段１８及びヒータコントローラ２２の処理に用いられ、素子温目標値２１が求める目標値Ｒは、ヒータコントローラ２２の処理に用いられる。コントロールユニット１６の機能的手段のうち、Ｏ２出力目標値設定手段１８は、本発明の第１の態様における目標値設定手段に相当するものであり、ヒータコントローラ２２は、ヒータ制御手段に相当するものである。また、排気温オブザーバ１９及び素子温オブザーバ２０は、本発明の第１の態様いおける素子温度データ取得手段に相当するものである。また、素子温オブザーバ２０が求める素子温度ＴＯ２の推定値は、本発明の第１の態様における素子温度データに相当するものである。
【００４６】
ここで、本実施形態では、前記ヒータ１３は、図示を省略するヒータ通電回路にパルス電圧を付与することにより通電制御（ＰＷＭ制御）されるものであり、該ヒータ１３への供給電力は、そのパルス電圧のデューティＤＵＴ（パルス電圧の１周期に対するパルス幅の割合）を調整することによって制御できる。このため、ヒータコントローラ２２は、上記ヒータ通電回路に付与するパルス電圧のデューティＤＵＴをヒータ１３を制御するための制御入力（操作量）として逐次求め、このデューティＤＵＴを調整することにより、該ヒータ１３への供給電力、ひいては、該ヒータ１３の発熱量を制御するようにしている。尚、ヒータコントローラ２２が生成するデューティＤＵＴは、Ｏ２センサ８のヒータ１３の制御に用いられる他、素子温オブザーバ２０の処理にも用いられる。
【００４７】
コントロールユニット１６の上述の各機能的手段をさらに詳説する。まず、排気温オブザーバ１９は、本実施形態では、エンジン１の排気ポート２からＯ２センサ８の配置箇所までの排気通路３（Ｏ２センサ８の上流側の排気通路３）を該排気通路３の延在方向（排ガスの流れ方向）に沿って複数（本実施形態では例えば４個）の部分排気通路３ａ〜３ｄに区分けしておき、所定のサイクルタイム（周期）で、排気ポート２（排気通路３の入り口部分）における排ガスの温度と、各部分排気通路３ａ〜３ｄにおける排ガスの温度（詳しくは各部分排気通路３ａ〜３ｄの下流端における排ガスの温度）とを上流側のものから順番に推定するものである。これらの部分排気通路３ａ〜３ｄのうち、部分排気通路３ａ，３ｂは、触媒装置４の上流側の排気通路３（排気管６ａにより形成された排気通路）を２つに区分けしてなる部分排気通路であり、部分排気通路３ｃは、触媒装置４の入り口から出口までの部分排気通路（触媒装置４の触媒７の内部に形成された排気通路）、部分排気通路３ｄは、触媒装置４の出口からＯ２センサ８の配置箇所までの排気管６ｂにより形成された部分排気通路である。この排気温オブザーバ１９のアルゴリズムは次のように構築されている。
【００４８】
まず、エンジン１の排気ポート２における排ガス温度は、エンジン１の定常的な運転状態（詳しくはエンジン１の回転数ＮＥ及び吸気圧ＰＢが一定に維持される運転状態で）では、基本的にはエンジン１の回転数ＮＥと吸気圧ＰＢとに応じたものとなる。従って、排気ポート２における排ガス温度は、基本的にはエンジン１の運転状態を表すパラメータとしての回転数ＮＥ及び吸気圧ＰＢの検出値から例えばあらかじめ実験等に基づいて定めたマップに基づいて推定することができる。但し、エンジン１の運転状態（回転数ＮＥや吸気圧ＰＢ）が変動する場合には、排ガスと排気ポート２の近傍の壁部やエンジン１の燃焼室等との熱交換によって、排気ポート２における排ガス温度は、上記のようにマップにより求められる排ガス温度（以下、基本排ガス温度ＴＭＡＰ（ＮＥ，ＰＢ）という）に対して応答遅れを生じる。
【００４９】
そこで、本実施形態では、排気温オブザーバ１９は、所定のサイクルタイム（演算処理周期）毎に、エンジン１の回転数ＮＥ及び吸気圧ＰＢの検出値（最新の検出値）から基本排ガス温度ＴＭＡＰ（ＮＥ，ＰＢ）をマップにより求めた後に、さらに排気ポート２における排ガス温度Ｔｅｘｇを、次式（１）のように基本排ガス温度ＴＭＡＰ（ＮＥ，ＰＢ）に対して遅れ（一次遅れ）を伴って追従する値として逐次推定する。
【００５０】
【数１】
2004068736.tif 000003
ここで、式（１）中のｋは、排気温オブザーバ１９の演算処理周期の番数である。また、Ｋｔｅｘはあらかじめ実験等に基づき定められた係数（遅れ係数）であり、０＜Ｋｔｅｘ＜１である。尚、本実施形態では、エンジン１の吸気圧ＰＢは、エンジン１の吸入空気量を表すパラメータとしての意味をもつものである。従って、例えば吸入空気量を直接的に検出するフローセンサが備えられている場合には、そのフローセンサの出力（吸入空気量の検出値）を吸気圧ＰＢの検出値の代わりに用いてもよい。また、排ガス温度Ｔｅｘｇの推定値の初期値Ｔｅｘｇ（０）は、本実施形態では、後述するように、エンジン１の運転開始時（エンジン１の始動時）に大気温度センサ（図示省略）により検出された大気温度ＴＡ、あるいは、機関温度センサ（図示省略）により検出された機関温度ＴＷ（エンジン１の冷却水温）に設定される。
【００５１】
このようにして求められる排気ポート２の排ガス温度Ｔｅｘｇの推定値を用いて、各部分排気通路３ａ〜３ｄにおける排ガスの温度は以下に説明するように推定される。まず、説明の便宜上、一般的に、図５に示すように、大気中でＺ軸方向に延びる円管２３内を流体が円管２３の管壁と熱交換しながら流れる場合における熱伝達に関して説明する。ここで、流体温度Ｔｇ、管壁の温度Ｔｗ（以下、円管温度Ｔｗという）が時刻ｔとＺ軸方向の位置ｚとの関数Ｔｇ（ｔ，ｚ）、Ｔｗ（ｔ，ｚ）であるとし、円管２３の管壁の熱伝導率は径方向に無限大で、且つＺ軸方向には「０」であると仮定する。また、流体と円管２３の管壁との間の熱伝達、並びに、円管２３の管壁とその外部の大気との間の熱伝達は、ニュートンの冷却則に従ってそれぞれの温度差に比例するものとする。このとき、次式（２−１）、（２−２）が成立する。
【００５２】
【数２】
2004068736.tif 000004
ここで、Ｓｇ、ρｇ、Ｃｇはそれぞれ流体の密度、比熱、流路断面積、Ｓｗ、ρｗ、Ｃｗはそれぞれ円管２３の管壁の密度、比熱、断面積、Ｖは円管２３を流れる流体の流速、ＴＡは円管２３の外部の大気温度である。また、Ｕは円管２３の内周長、α１は流体と円管２３の管壁との間の熱伝達率、α２は円管２３の管壁と大気との間の熱伝達率である。尚、大気温度ＴＡは、円管２３の周囲で一定に維持されているとする。
【００５３】
これらの式（２−１）、（２−２）を整理すると、次式（３−１）、（３−２）が得られる。
【００５４】
【数３】
2004068736.tif 000005
但し、これらの式（３−１）、（３−２）において、ａ，ｂ，ｃは定数であり、ａ＝α１・Ｕ／（Ｓｇ・ρｇ・ｃｇ）、ｂ＝α１・Ｕ／（Ｓｗ・ρｗ・ｃｗ）、ｃ＝α２・Ｕ／（Ｓｗ・ρｗ・ｃｗ）である。
【００５５】
式（３−１）の右辺第１項は、位置ｚでの流体の流れ方向の温度勾配と流体の流速とに応じた流体温度Ｔｇの時間的変化率（単位時間当たりの温度変化量）を表す移流項である。また、式（３−１）の右辺第２項は、位置ｚでの流体温度Ｔｇと円管温度Ｔｗとの偏差に応じた流体温度Ｔｇの時間的変化率（単位時間当たりの温度変化量）、すなわち、流体と円管２３の管壁との間の熱伝達に伴う流体温度Ｔｇの時間的変化率を表す熱伝達項である。従って、この式（３−１）は、位置ｚでの流体温度Ｔｇの時間的変化率∂Ｔｇ／∂ｔが、上記移流項の温度変化成分と、上記熱伝達項の温度変化成分とに応じたもの（それらの温度変化成分の総和）になるということを示すものである。
【００５６】
また、式（３−２）の右辺第１項は、位置ｚでの円管温度Ｔｗと流体温度Ｔｇとの偏差に応じた円管温度Ｔｗの時間的変化率（単位時間当たりの温度変化量）、すなわち、位置ｚでの流体と円管２３の管壁との間の熱伝達に伴う円管温度Ｔｗの時間的変化率を表す熱伝達項である。また、式（３−２）の右辺第２項は、位置ｚでの円管温度Ｔｗと外部の大気温度ＴＡとの偏差に応じた円管温度Ｔｗの時間的変化率（単位時間当たりの温度変化量）、すなわち、位置ｚでの円管２３の管壁から大気への放熱に応じた円管温度Ｔｗの時間的変化率を表す放熱項である。そして、式（３−２）は、位置ｚでの円管温度Ｔｗの時間的変化率∂Ｔｗ／∂ｔが、上記熱伝達項の温度変化成分と放熱項の温度変化成分とに応じたもの（それらの温度変化成分の総和）になるということを示すものである。
【００５７】
これらの式（３−１）、（３−２）を差分法によって書き改めて整理すると次式（４−１），（４−２）が得られる。
【００５８】
【数４】
2004068736.tif 000006
これらの式（４−１）、（４−２）は、位置ｚ、時刻ｔでの流体温度Ｔｇ（ｔ，ｚ）及び円管温度Ｔｗ（ｔ，ｚ）と、位置ｚの直前（上流側）の位置ｚ−Δｚにおける時刻ｔでの流体温度Ｔｇ（ｔ，ｚ−Δｚ）とが判れば、位置ｚにおける次の時刻ｔ＋Δｔでの流体温度Ｔｇ（ｔ＋Δｔ，ｚ）、Ｔｗ（ｔ＋Δｔ，ｚ）を求めることができ、さらにこれらの式を直列的に連立させることで、位置ｚ＋Δｚ、ｚ＋２Δｚ、……での流体温度Ｔｇ及び円管温度Ｔｗを順番に求めることができることを意味する。つまり、各位置ｚ、ｚ＋Δｚ、ｚ＋２Δｚ、…でのＴｇ、Ｔｗの初期値（ｔ＝０での初期値）を与えるとともに、円管２３のＺ軸方向の任意の原点（例えば円管２３の入り口）の流体温度Ｔｇ（ｔ，０）を与えれば（ここではｚ−Δｚ＝０とする）、位置ｚ、ｚ＋Δｚ、ｚ＋２Δｚ、…における各時刻ｔ、ｔ＋Δｔ、ｔ＋２Δｔ、…でのＴｇ、Ｔｗを算出できる。
【００５９】
この場合、位置ｚでの流体温度Ｔｇ（ｔ，ｚ）は、所定時間毎に、流速Ｖと位置ｚでの温度勾配とに応じた温度変化成分（式（４−１）の第２項が表す温度変化成分）と、位置ｚでの流体温度Ｔｇと円管温度Ｔｗとの偏差に応じた温度変化成分（式（４−１）の第３項が表す温度変化成分）とを、初期値Ｔｇ（０，ｚ）に累積加算（積分）することにより算出できる。他の位置ｚ＋Δｚ、ｚ＋２Δｚ、…についても同様である。また、位置ｚでの円管温度Ｔｗ（ｔ，ｚ）は、所定時間毎に、位置ｚでの流体温度Ｔｇと円管温度Ｔｗとの偏差に応じた温度変化成分（式（４−２）の第２項が表す温度変化成分）と、位置ｚでの円管温度Ｔｗと大気温度ＴＡと偏差に応じた温度変化成分（式（４−２）の第３項が表す温度変化成分）を、初期値Ｔｗ（０，ｚ）に累積加算（積分）することにより算出できる。
【００６０】
そこで、本実施形態では、排気温オブザーバ１９は、式（４−１）、（４−２）のモデル式を基本式として用い、各部分排気通路３ａ〜３ｄにおける排ガスの温度を次のようにして求める。
【００６１】
まず、部分排気通路３ａ〜３ｄのうち、部分排気通路３ａ，３ｂは、いずれも排気管６ａを通路形成物として形成されている。そして、本実施形態では、これらの部分排気通路３ａ，３ｂにおける排ガスの温度を推定するために、前記円管２３に関して説明した場合と同様に、排ガスの流速と温度勾配（排ガスの流れ方向での温度勾配）とに応じた温度変化と、排ガスと排気管６ａとの間の熱伝達と、排気管６ａから大気への放熱とを考慮する。
【００６２】
この場合、部分排気通路３ａにおける排ガス温度Ｔｇａの推定値は、部分排気通路３ａにおける排気管６ａの温度Ｔｗａ（以下、排気管温度Ｔｗａという）の推定値と併せて、排気温オブザーバ１９の処理のサイクルタイム毎に、次の熱モデルの式（５−１）、（５−２）により求められる。また、部分排気通路３ｂにおける排ガスの温度Ｔｇｂの推定値は、部分排気通路３ｂにおける排気管温度Ｔｗｂの推定値と併せて、排気温オブザーバ１９の処理のサイクルタイム毎に、次の熱モデルの式（６−１）、（６−２）により求められる。尚、式（５−１）、（５−２）により求められる排ガス温度Ｔｇａ及び排気管温度Ｔｗａはより詳しくは、部分排気通路３ａの下流端近傍における温度の推定値である。同様に、式（６−１）、（６−２）により求められる排ガス温度Ｔｇｂ及び排気管温度Ｔｗｂはより詳しくは、部分排気通路３ｂの下流端近傍における温度の推定値である。
【００６３】
【数５】
2004068736.tif 000007
【００６４】
【数６】
2004068736.tif 000008
これらの式（５−１）、（５−２）、（６−１）、（６−２）中のｄｔは、排気温オブザーバ１９の処理の周期（サイクルタイム）であり、前記式（４−１）、（４−２）のΔｔに相当する。このｄｔの値はあらかじめ定められている。また、式（５−１）、（６−１）中のＬａ，Ｌｂはそれぞれ部分排気通路３ａ，３ｂの長さ（固定値）であり、前記式（４−１）のΔｚに相当する。また、式（５−１）、（５−２）中のＡａ，Ｂａ，Ｃａ、並びに式（６−１）、（６−２）中のＡｂ，Ｂｂ，Ｃｂは、それぞれ式（４−１）、（４−２）のａ，ｂ，ｃに相当するモデル係数であり、それらの値はあらかじめ実験やシミュレーションに基づいて設定（同定）される。また、式（５−１）、（６−１）中のＶｇは排ガスの流速を示すパラメータ（これは後述するように求められる）であり、式（４−１）のＶに相当するものである。
【００６５】
ここで、式（５−１）により排ガス温度Ｔｇａの新たな推定値Ｔｇａ（ｋ＋１）を算出するために必要な排ガス温度Ｔｅｘｇ（ｋ）（排気ポート２における排ガス温度）は、基本的には前記式（１）により求められた最新値が用いられる。同様に、式（６−１）により排ガス温度Ｔｇｂの新たな推定値Ｔｇｂ（ｋ＋１）を算出するために必要な排ガス温度Ｔｇａ（ｋ）（部分排気通路３ａにおける排ガス温度）は、基本的には前記式（５−１）により求められた最新値が用いられる。また、式（５−２）、（６−２）の演算に必要な大気温度ＴＡ（ｋ）は、図示しない大気温度センサ（これは本実施形態ではエンジン１に備えらたセンサが代用的に用いられる）により検出された大気温度ＴＡの最新値が用いられる。さらに、式（５−１）、（６−１）の演算に必要な流速パラメータＶｇは、本実施形態では、エンジン１の回転数ＮＥ及び吸気圧ＰＢの最新の検出値から、次式（７）により算出された値が用いられる。
【００６６】
【数７】
2004068736.tif 000009
この式（７）中のＮＥＢＡＳＥ、ＰＢＢＡＳＥは、それぞれあらかじめ定めた所定回転数、所定吸気圧であり、それぞれ例えばエンジン１の最大回転数、７６０ｍｍＨｇ（≒１０１ｋＰａ）に設定されている。この式（７）により算出される流速パラメータＶｇは排ガスの流速に比例し、また、Ｖｇ≦１となる。
【００６７】
尚、排ガス温度Ｔｇａ及び排気管温度Ｔｗａ、並びに排ガス温度Ｔｇｂ及び排気管温度Ｔｗｂのそれぞれの推定値の初期値Ｔｇａ（０）、Ｔｗａ（０）、Ｔｇｂ（０）、Ｔｗｂ（０）は、本実施形態では、後述するように、エンジン１の運転開始時（エンジン１の始動時）に前記大気温度センサ（図示省略）により検出された大気温度ＴＡ、あるいは、機関温度センサ（図示省略）により検出された機関温度ＴＷ（エンジン１の冷却水温）に設定される。
【００６８】
次に、部分排気通路３ｃは、触媒装置４の触媒７を通路形成物として形成された排気通路である。そして、この触媒７はその排ガス浄化作用（詳しくは酸化・還元反応）によって自己発熱を伴い、その発熱量（単位時間当たりの発熱量）は概ね排ガスの流速に比例する。これは、排ガスの流速が大きい程、単位時間当たりに触媒７と反応する排ガス成分が多くなるためである。
【００６９】
そこで、本実施形態では、部分排気通路３ｃにおける排ガス温度の推定に関しては、その推定を精度よく行うために、排ガスの流速と温度勾配とに応じた温度変化と、排ガスと触媒装置４の触媒７との間の熱伝達と、該触媒７から大気への放熱とを考慮することに加えて、さらに、該触媒７の自己発熱を考慮する。
【００７０】
この場合、部分排気通路３ｃにおける排ガス温度Ｔｇｃの推定値は、部分排気通路３ｃを形成する触媒７の温度Ｔｗｃ（以下、触媒温度Ｔｗｃという）の推定値と併せて、排気温オブザーバ１９の処理のサイクルタイム毎に、次の熱モデルの式（８−１）、（８−２）により求められる。尚、式（８−１）により求められる排ガス温度Ｔｇｃ及び触媒温度Ｔｗｃはより詳しくは、部分排気通路３ａの下流端（触媒装置４の出口近傍）における温度の推定値である。
【００７１】
【数８】
2004068736.tif 000010
式（８−１）中のＬｃは部分排気通路３ｃの長さ（固定値）であり、前記式（４−１）のΔｚに相当する。また、式（８−１）、（８−２）中のＡｃ，Ｂｃ，Ｃｃは、それぞれ式（４−１）、（４−２）のａ，ｂ，ｃに相当するモデル係数であり、それらの値はあらかじめ実験やシミュレーションに基づいて設定（同定）される。また、式（８−２）の右辺第４項は、触媒装置４の触媒７の自己発熱による触媒７の温度変化成分（排気温オブザーバ１９の処理の１周期当たりの温度変化量）を示すものであり、流速パラメータＶｇに比例する。そして、この第４項のＤｃは、前記Ａｃ〜Ｃｃと同様に、その値があらかじめ実験やシミュレーションに基づいて設定（同定）されるモデル係数である。従って、式（８−２）は、前記式（４−２）の右辺に、さらに通路形成物（ここでは触媒７）の自己発熱に伴う温度変化成分を付加したものに相当する。
【００７２】
尚、式（８−１）、（８−２）中のｄｔ、Ｖｇの意味及びその値は、前記式（５−１）〜（６−２）のものと同一である。また、式（８−２）の演算で用いるＴＡの値は、前記式（５−２）、（６−２）で用いるものと同一である。さらに、排ガス温度Ｔｇｃ及び触媒温度Ｔｗｃの初期値Ｔｇｃ（０）、Ｔｗｃ（０）は、本実施形態では、式（５−１）〜（６−２）の場合と同様、エンジン１の運転開始時における大気温度ＴＡの検出値、あるいは機関温度ＴＷの検出値である。
【００７３】
次に、部分排気通路３ｄは、それを形成する通路形成物が、前記部分排気通路３ａ，３ｂと同様の排気管６ｂである。従って、この部分排気通路３ｄの排気温度Ｔｇｄ及び排気管温度Ｔｗｄ（より詳しくは部分排気通路３ｄの下流端における温度）は、前記式（５−１）〜（６−２）と同様の次の熱モデルの式（９−１）、（９−２）により求められる。
【００７４】
【数９】
2004068736.tif 000011
式（９−１）中のＬｄは部分排気通路３ｄの長さ（固定値）であり、前記式（４−１）のΔｚに相当する。また、式（９−１）、（９−２）中のＡｄ，Ｂｄ，Ｃｄは、それぞれ式（４−１）、（４−２）のａ，ｂ，ｃに相当するモデル係数であり、それらの値はあらかじめ実験やシミュレーションに基づいて設定（同定）される。
【００７５】
尚、式（９−１）、（９−２）中のｄｔ、Ｖｇの意味及びその値は、前記式（５−１）〜（６−２）のものと同一である。また、式（９−２）の演算で用いるＴＡの値は、前記式（５−２）、（６−２）、（８−２）で用いるものと同一である。さらに、排ガス温度Ｔｇｄ及び触媒温度Ｔｗｄの推定値の初期値Ｔｇｄ（０）、Ｔｗｄ（０）は、式（５−１）〜（６−２）の場合と同様、エンジン１の運転開始時における大気温度ＴＡの検出値、あるいは機関温度ＴＷの検出値である。
【００７６】
以上説明した排気温オブザーバ１９の処理によって、各サイクルタイム毎に、エンジン１の排気ポート２及び各部分排気通路３ａ〜３ｄの排ガス温度Ｔｅｘｅ、Ｔｇａ、Ｔｇｂ、Ｔｇｃ、Ｔｇｄの推定値が上流側から順番に求められる。別の言い方をすれば、排気温オブザーバ１９は、エンジン１の運転状態を表すパラメータ（本実施形態ではＮＥ、ＰＢ）を用いて、排気ポート２における排ガス温度Ｔｅｘｇの推定値を求め、さらに、その排気ポート２から排ガスがＯ２センサ８の配置箇所近傍まで流れる過程での該排ガスの温度変化を表す熱モデルの式（５−１），（５−２）〜（９−１），（９−２）と、排気ポート２における排ガス温度Ｔｅｘｇの推定値とを用いて最下流側の部分排気通路３ｄの排ガス温度Ｔｇｄの推定値を求める。
この場合、最下流側の部分排気通路３ｄの排ガス温度Ｔｇｄの推定値は、Ｏ２センサ８の配置箇所近傍での排ガスの温度に相当するものとなり、該排ガス温度Ｔｇｄの推定値がＯ２センサ８の配置箇所近傍での排ガス温度の推定値として得られる。
【００７７】
上記排気温オブザーバ１９の推定処理のアルゴリズムをブロック図で表すと、図６に示すように表される。同図６では、前記式（１）のモデル式を排気ポート熱モデル２４、前記式（５−１）及び（５−２）のモデル式と、式（６−１）及び（６−２）のモデル式とをそれぞれＣＡＴ前排気系熱モデル２５，２６、式（８−１）及び（８−２）のモデル式をＣＡＴ部排気系熱モデル２７、式（９−１）及び（９−２）のモデル式をＣＡＴ後排気系熱モデル２８と称している。同図示のように、各熱モデル２４〜２８には、エンジン１の回転数ＮＥ及び吸気圧ＰＢの検出値が与えられる。尚、排気ポート熱モデル２４に与えられるＮＥ、ＰＢは、基本排ガス温度ＴＭＡＰを求めるためのものであり、排気系熱モデル２５〜２８に与えられるＮＥ、ＰＢは、前記流速パラメータＶｇの値を求めるためのものである。さらに、排気系熱モデル２５〜２８には、大気温度ＴＡの検出値が与えられる。そして、ＣＡＴ前排気系熱モデル２５、ＣＡＴ前排気系熱モデル２６、ＣＡＴ部排気系熱モデル２７、ＣＡＴ後排気系熱モデル２８には、それぞれの一つ上位側の熱モデル２４，２５，２６，２７の出力としての排ガス温度Ｔｅｘｇ、Ｔｇａ、Ｔｇｂ、Ｔｇｃの推定値がそれぞれ与えられ、最終的にＣＡＴ後排気系熱モデル２８により、Ｏ２センサ８の配置箇所近傍での排ガス温度Ｔｇｄの推定値（排ガスの温度を表す排ガス温度データ）が得られる。
【００７８】
尚、本実施形態では、上述のように排ガス温度Ｔｇｄの推定値を求めるようにしたが、その求め方は上述のような手法に限られるものではない。例えば、エンジン１の排気系のレイアウトや構造等によって、排気ポート２における排ガス温度ＴｅｘｇとＯ２センサ８の配置箇所近傍での排ガス温度とがほぼ等しくなるような場合には、排ガス温度Ｔｅｘｇの推定値をＯ２センサ８の配置箇所近傍での排ガス温度として用いてもよい。いずれにせよ、排ガス温度はエンジン１の運転状態と密接な関係があるので、排ガス温度を精度よく推定する上では、少なくとも該エンジン１の運転状態を表すパラメータを用いることが好適である。そして、そのパラメータには、エンジン１の回転数及び吸入空気量の状態を表すパラメータを含ませることが好適である。また、本実施形態では、各部分排気通路３ａ〜３ｄの通路形成物（排気管６ａ、触媒装置４の触媒７、排気管６ｂ）の温度を推定するために、エンジン１に備えた大気温度センサの検出値を代用するようにしたが、排気通路３の外方に大気温度センサを別途配置しておき、その大気温度センサの検出値を用いるようにしてもよい。
【００７９】
次に、前記素子温オブザーバ２０は、本実施形態では、Ｏ２センサ８の素子部１０とこれに接触する排ガスとの間の熱伝達（熱授受関係）、素子部１０からその内部の空気への放熱（熱授受関係）、並びに、該素子部１０とこれを加熱するヒータ１３との間の熱伝達（熱授受関係）を考慮して素子温度ＴＯ２を所定のサイクルタイム（演算処理周期）で逐次推定するものである。そして、この推定を行うためにヒータ１３の温度Ｔｈｔ（以下、ヒータ温度Ｔｈｔという）の推定も併せて行うようにしている。この場合、ヒータ温度Ｔｈｔの推定処理においては、該ヒータ１３と素子部１０との間の熱伝達（熱授受関係）、並びにヒータ１３から素子部１０の内部の空気への放熱を考慮すると共に、該ヒータ１３への電力供給（ヒータ１３への発熱用エネルギーの供給）に伴う該ヒータ１３の発熱を考慮する。このような推定処理を行う素子温オブザーバ２０の推定アルゴリズムは以下に説明するように構築されている。
【００８０】
すなわち、素子温オブザーバ２０は、Ｏ２センサ８の素子温度ＴＯ２の推定値と、ヒータ温度Ｔｈｔの推定値とを、それぞれ次の熱モデルの式（１０−１）、（１０−２）によりそれぞれ所定のサイクルタイム（演算処理周期）で逐次求める。式（１０−１）は、素子温モデルの式であり、式（１０−２）はヒータ温モデルの式である。
【００８１】
【数１０】
2004068736.tif 000012
ここで、式（１０−１）、（１０−２）中のｋは、素子温オブザーバ２０の演算処理周期（これは本実施形態では前記排気温オブザーバ１９の演算処理の周期と同一としている）の番数であり、ＴＡ’は素子部１０の内部の空気の温度である。式（１０−１）は、素子温オブザーバ２０のサイクルタイム毎の素子部１０の温度変化量が、排気温オブザーバ１９が前述の通り推定する排ガス温度Ｔｇｄ（Ｏ２センサ８の配置箇所近傍での排ガス温度）と素子温度ＴＯ２との偏差に応じた温度変化成分（式（１０−１）の右辺第２項）、すなわち、素子部１０とこれに接触する排ガスとの間の熱伝達に伴う温度変化成分（これは素子部１０と排ガスとの間の熱授受関係を表す）と、素子温度ＴＯ２とヒータ温度Ｔｈｔとの偏差に応じた温度変化成分（式（１０−１）の右辺第３項）、すなわち、素子部１０とヒータ１３との間の熱伝達に伴う温度変化成分（これは素子部１０とヒータ１３との間の熱授受関係を表す）と、素子温度ＴＯ２と素子部１０の内部の空気の温度ＴＡ’との偏差に応じた温度変化成分（式（１−１）の右辺第４項）、すなわち、素子部１０からその内部の空気への放熱に伴う温度変化成分（これは素子部１０とその内部の空気との間の熱授受関係を表す）とに応じたもの（それらの温度変化成分の総和）になるということを示している。
【００８２】
また、式（１０−２）は、サイクルタイム毎のヒータ１３の温度変化量が、素子温度ＴＯ　２とヒータ温度Ｔｈｔとの偏差に応じた温度変化成分（式（１０−２）の右辺第２項）、すなわち、素子部１０とヒータ１３との間の熱伝達に伴う温度変化成分（これは素子部１０とヒータ１３との間の熱授受関係を表す）と、ヒータ温度Ｔｈｔと素子部１０の内部の空気の温度ＴＡ’との偏差に応じた温度変化成分（式（１０−２）の右辺第３項）、すなわちヒータ１３から素子部１０の内部の空気への放熱に伴う温度変化成分（これはヒータ１３と素子部１０の内部の空気との熱授受関係を表す）と、ヒータコントローラ２２が後述するように生成するデューティＤ　ＵＴ（より正確には、ヒータコントローラ２２がヒータ１３の通電を制御するために実際に用いるデューティＤＵＴ）とバッテリ電圧ＶＢの２乗値ＶＢ２との積に応じた温度変化成分（式（１０−２）の右辺第４項）、すなわちヒータ１３への電力供給による該ヒータ１３の発熱に伴う温度変化成分とに応じたもの（それらの温度変化成分の総和）になるということを示している。式（１０−２）におけるデューティＤＵＴは、本発明におけるヒータエネルギー供給量データに相当するものである。
【００８３】
尚、式（１０−１）、（１０−２）中のＡｘ，Ｂｘ，Ｃｘ，Ｄｘ，Ｅｘ，Ｆｘは、その値があらかじめ実験やシミュレーションに基づいて設定（同定）されるモデル係数である。また、ｄｔは素子温オブザーバ２０のあらかじめ定めた演算処理周期（サイクルタイム）である。また、式（１０−２）中のＮＶＢは、バッテリ電圧ＶＢのあらかじめ定めた基準値（例えば１４Ｖ）である。該基準値は、基本的にはバッテリ電圧ＶＢの標準的な電圧（通常的に採り得る電圧）で任意に設定すればよい。
【００８４】
ここで、式（１０−２）の右辺第４項に関して補足説明をしておくと、ヒータ１３のＰＷＭ制御のデューティを一定とし、また、ヒータ１３の通電抵抗値が一定であるとしたとき、ヒータ１３の供給電力は、ヒータ１３の印加電圧の２乗に比例し、該印加電圧は、バッテリ電圧ＶＢに比例する。また、デューティＤＵＴは、ＰＷＭ制御用のパルス電圧の１周期当たりのヒータ１３の通電時間を規定するものである。従って、このデューティＤＵＴとバッテリ電圧ＶＢの２乗値ＶＢ２との積がヒータ１３への供給電力に比例するものとなる。そして、バッテリ電圧ＶＢは、例えば、バッテリの充電用のオルタネータのＯＮ／ＯＦＦ等によって変動する。そこで、式（１０−２）では、ヒータ１３への電力供給による該ヒータ１３の発熱に伴う温度変化成分を得るために、デューティＤＵＴとバッテリ電圧ＶＢの２乗値ＶＢ２とを乗算するようにしている。
【００８５】
尚、式（１０−２）の演算に必要なデューティＤＵＴ（ｋ）は、ヒータコントローラ２２がヒータ１３の通電制御（ＰＷＭ制御）を行うために実際に使用したデューティＤＵＴの最新値が用いられる。また、式（１０−１），（１０−２）の演算に必用な素子部１０内の空気の温度ＴＡ’（ｋ）は、本実施形態では、前記大気温度センサ（図示省略）により検出された大気温度ＴＡの最新値が代用的に用いられる。従って、本実施形態ではＴＡ’（ｋ）＝ＴＡ（ｋ）である。さらに、素子温度ＴＯ２及びヒータ温度Ｔｈｔの推定値の初期値ＴＯ２（０）、Ｔｈｔ（０）は、本実施形態では、後述するように、エンジン１の運転開始時における大気温度ＴＡの検出値あるいは機関温度ＴＷの検出値である。
【００８６】
以上説明したアルゴリズムにより、素子温オブザーバ２０は、素子温度ＴＯ２及びヒータ温度Ｔｈｔの推定値を逐次算出する。尚、本実施形態では、熱モデルの式（１０−１）、（１０−２）には、それぞれ、素子部１０とその内部の空気との間の熱授受関係を表す成分、ヒータ１３と素子部１０の内部の空気との間の熱授受関係を表す成分（式（１０−１）の第４項、式（１０−２）の第３項）を含めたが、これらの成分は、素子温度ＴＯ２、ヒータ温度Ｔｈｔに及ぼす影響は比較的小さいので、これらの成分を省略するようにしてもよい。また、本実施形態では、Ｏ２センサ８がヒータ１３を備えるものであるため、素子温度ＴＯ２の推定値を求めるために式（１０−１）、（１０−２）を用いたが、ヒータ１３を備えない場合には、例えば式（１０−１）の第３項を省略した式、あるいは、第３項及び第４項を省略した式によって、素子温度ＴＯ２の推定値を逐次求めることができる。式（１０−１）の第３項及び第４項を省略した場合には、排ガス温度Ｔｇｄに応答遅れ（一次遅れ）を伴って追従する値が素子温度ＴＯ２の推定値として求められることとなる。また、素子温度ＴＯ２及びヒータ温度Ｔｈｔの推定値を算出するための熱モデルの式（１０−１）、（１０−２）のうち、式（１０−１）には、排ガスと素子部１０との間の熱授受関係を表す成分（式（１０−１）の第２項）を含めたが、エンジン１の定常運転状態（ＮＥやＰＢがほぼ一定となるような運転状態）等、排ガス温度Ｔｇｄがほぼ一定となるような状況下では、その成分を省略してもよい。
【００８７】
次に、前記Ｏ２出力目標値設定手段１９は、触媒装置４の浄化対象の主たる排ガス成分としてのＣＯ（一酸化炭素）、ＨＣ（炭化水素）、ＮＯｘ（窒素酸化物）の良好な浄化性能（浄化率）を確保する上で好適なＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを設定するものである。ここで、Ｏ２センサ８の出力特性と素子温度ＴＯ２との関係、並びにＯ２センサ８の出力Ｖｏｕｔと触媒装置４によるＣＯ、ＨＣ、ＮＯｘの浄化率との関係について図３及び図４を参照して説明しておく。
【００８８】
図３を参照して、Ｏ２センサ８の出力特性は、素子温度ＴＯ２の影響を受けて変化する。例えば、素子温度ＴＯ２が８００℃、７５０℃、７００℃、６００℃であるときのＯ２センサ８の出力特性は、それぞれ図３の実線のグラフａ、破線のグラフｂ、一点鎖線のグラフｂ、二点鎖線のグラフｄで示すような特性となる。この場合、図３を参照して明らかなように、特に７５０℃よりも低い温度域で素子温度ＴＯ２が変化すると、理論空燃比近傍（前記高感度空燃比域Δ）におけるＯ２センサ８の出力Ｖｏｕｔの変化の傾き（感度）や、該高感度空燃比域Δよりもリッチ側における出力Ｖｏ　ｕｔのレベル等が変化しやすい。尚、素子温度ＴＯ２が７５０℃以上である場合には、素子温度ＴＯ２の変化に対するＯ２センサ８の出力特性の変化は微小になり、該出力特性がほぼ一定になる。
【００８９】
また、図４を参照して、触媒装置４による排ガス中のＣＯ、ＨＣ、ＮＯｘの浄化率は、Ｏ２センサ８の素子温度ＴＯ２が一定であるとした場合、図４に実線グラフのグループあるいは破線グラフのグループで例示するように、Ｏ２センサの出力Ｖｏｕｔとの間に相関性を有する。ここで、図４の実線グラフのグループは、Ｏ２センサ８の素子温度ＴＯ２が例えば８００℃である場合に対応するグラフ、破線グラフのグループは、Ｏ２センサ８の素子温度ＴＯ２が例えば６５０℃である場合に対応するグラフである。これらの実線あるいは破線のグラフに見られるように、ＣＯ、ＨＣ、ＮＯｘのそれぞれの浄化率が最大となるようなＯ２センサ８の出力Ｖｏｕｔ（これは排ガスの空燃比状態を表す）は浄化対象の排ガス成分毎に多少相違するものの、Ｏ２センサ８の出力Ｖｏｕｔが、ある適切な出力値Ｖｏｐ（電圧値）になるような排ガスの空燃比状態では、ＣＯ、ＨＣ、ＮＯｘの全てについて十分に良好な浄化率を確保することができる。
【００９０】
但し、浄化対象の排ガス成分の全てについて浄化率が十分に良好なものとなるようなＯ２センサ８の出力値Ｖｏｐ（以下、浄化適正出力Ｖｏｐということがある）は、素子温度ＴＯ２によって異なるものとなる。これは、前述のように素子温度ＴＯ２によって、該Ｏ２センサ８の出力特性が変化するからである。例えば、図４に示すように、素子温度ＴＯ２が６５０℃である場合には、Ｏ２センサの浄化適正出力Ｖｏｐ（６５０℃）は、概ね０．６７［Ｖ］程度であるが、Ｏ２センサの素子温度ＴＯ２が８００℃である場合には、Ｏ２センサの浄化適正出力Ｖｏｐ（８００℃）は、概ね０．５９［Ｖ］程度である。尚、前述のように７５０℃以上の素子温度ＴＯ２ではＯ２センサ８の出力特性はほぼ一定となるので、浄化適正出力Ｖｏｐもほぼ一定（≒Ｖｏｐ（８００℃））となる。また、７５０℃よりも低い素子温度ＴＯ２における浄化適正出力Ｖｏｐは、基本的には該素子温度ＴＯ２が低くなるに伴って、大きくなっていく傾向がある。
【００９１】
このようなことから、Ｏ２出力目標値設定手段１９は、素子温オブザーバ２０が前述したように求めたＯ２センサ８の素子温度ＴＯ２の推定値（本実施形態での素子温度データ）に応じて浄化適正出力Ｖｏｐを決定し、基本的にはそれをＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔとして設定するようにしている。この場合、浄化適正出力Ｖｏｐは、本実施形態では、Ｏ２センサ８の素子温度ＴＯ２があらかじめ定めた所定温度（例えば８００℃）であるときの浄化適正出力Ｖｏｐ（以下、基準浄化適正出力ＮＶｏｐという）を基準とし、この基準浄化適正出力ＮＶｏｐに補正係数ＫＶＯ２を乗算することにより求められる。そして、本実施形態では、補正係数ＫＶＯ２を素子温度ＴＯ２（推定値）に応じて例えば図１１に示すようにあらかじめ定められたデータテーブルに基づいて設定するようにしている。この場合、素子温度ＴＯ２が７５０℃以上であるときには、前述したようにＯ２センサ８の出力特性はほぼ一定となるので、図１１のデータテーブルでは、ＴＯ２≧７５０℃の温度域では、ＫＶＯ２＝１とされている。但し、ＴＯ２≧７５０℃の温度域において、素子温度ＴＯ２に応じたＯ２センサ８の出力特性の僅かな変化等に起因して、浄化適正出力Ｖｏｐが厳密に一定になるわけではないので７５０℃以上の温度域でも補正係数ＫＶＯ２の値を素子温度ＴＯ２に応じて多少変化させるようにしてもよい。また、ＴＯ２＜７５０℃の温度域では、素子温度ＴＯ２の低下に伴い補正係数ＫＶＯ２の値が「１」よりも大きな値に増加していくように図１１のデータテーブルが設定されている。尚、本実施形態ではＴＯ２＝６００℃のときの補正係数ＫＶＯ２の値を上限値とし、ＴＯ２≦６００℃の温度域では補正係数ＫＶＯ２をその上限値に維持するようにしている。
【００９２】
このような補正係数ＫＶＯ２を基準浄化適正出力ＮＶｏｐに乗算することにより、各素子温度ＴＯ２においてＣＯ、ＨＣ、ＮＯｘの全ての浄化率が全体的に最良なものとなる浄化適正出力Ｖｏｐが求められる。そして、Ｏ２出力目標値設定手段１８は、基本的には、このようにして求められる浄化適正出力ＶｏｐをＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔとして設定する。
【００９３】
尚、本実施形態では、エンジン１あるいはこれを搭載した車両の所定の運転状況下では、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを、浄化適正出力ＶｏｐよりもＮＯｘの浄化率をより高める出力値に設定するのであるが、これについては詳細を後述する。
【００９４】
空燃比制御手段１８は、上述したようにＯ２出力目標値設定手段１９が設定する目標値Ｖｔｇｔに、該Ｏ２センサ８の実際の出力Ｖｏｕ　ｔを収束（整定）させるように、触媒装置４にエンジン１から供給される排ガスの空燃比を制御する処理を実行するものである。この空燃比制御の技術自体は、公知の手法を適用すればよいので、ここでの詳細な説明は省略するが、例えば本願出願人が特開平１１−３２４７６７号公報にて公開した明細書の段落番号［００７１］〜［０３６２］に記載されているように行われる。すなわち、その概要を説明すると、エンジン１の排気系のうち、広域空燃比センサ９からＯ２センサ８にかけての触媒装置４を含む排気系（以下、ここでは参照符号Ｅを付する）を、広域空燃比センサ９の出力ＫＡＣＴを入力量、Ｏ２センサ８の出力Ｖｏｕｔを出力量とする制御対象とし、この排気系Ｅの出力であるＯ２センサ８の出力Ｖｏｕｔを前記目標値Ｖｔｇｔに収束させるために要する該排気系Ｅの目標入力としての目標空燃比（広域空燃比センサ９が検出する排ガスの空燃比の目標値）がフィードバック制御の一手法としての適応スライディングモード制御の処理により逐次求められる。そして、この目標空燃比に広域空燃比センサ９が検出する排ガスの空燃比を収束させるように適応制御の処理あるいはＰＩＤ制御の処理によりエンジン１の燃料供給量（ひいてはエンジン１で燃焼させる混合気の空燃比）を調整するための燃料指令が生成され、その燃料指令に応じてエンジン１の燃料供給量が調整される。
【００９５】
この場合、前記目標空燃比の算出処理においては、広域空燃比センサ９の出力ＫＡＣＴ（排気系Ｅの入力）とＯ２センサ８の出力Ｖｏｕｔ（排気系Ｅの出力）との間に存する無駄時間、並びに、目標空燃比と広域空燃比センサ９が検出する排ガスの空燃比との間に存する無駄時間の影響を補償するために、それらの無駄時間を合わせた合計無駄時間後のＯ２センサ８の出力Ｖｏｕｔの推定値が逐次求められる。そして、この推定値を目標値Ｖｔｇｔに収束させる（結果的にＯ２センサ８の出力Ｖｏｕｔを目標値Ｖｔｇｔに収束させる）ように適応スライディングモードの制御処理により、前記目標空燃比が算出される。さらに、排気系Ｅの動的な特性変化等の影響を補償するために、適応スライディングモード制御の処理や合計無駄時間後のＯ２センサ９の出力Ｖｏｕｔの推定値の算出処理に用いる排気系Ｅのモデルのパラメータが広域空燃比センサ９の出力ＫＡＣＴとＯ２センサ８の出力Ｖｏｕｔとを用いて逐次同定される。
【００９６】
尚、上記特開平１１−３２４７６７号公報の技術では、触媒装置下流のＯ２センサの出力の目標値をあらかじめ定められた一定値としているが、本実施形態の場合には、その目標値としてＯ２出力目標値設定手段１９が前述のように逐次設定する目標値Ｖｔｇｔを用いるようにすればよい。また、空燃比制御手段１８による制御処理は、上記公報に開示されたものに限定されるものではなく、Ｏ２センサ８の出力を目標値Ｖｔｇｔに良好に制御し得るものであれば、他の制御手法を用いてもよい。但し、Ｏ２センサ８の出力を目標値Ｖｔｇｔに精度よく制御する上では、応答指定型の制御により空燃比制御（Ｏ２センサ８の出力Ｖｏｕｔを目標値Ｖｔｇｔに収束させる空燃比制御）を行うことが好ましい。そして、その応答指定型制御としては、例えば上記公報の技術で用いているようなスライディングモード制御（よい好ましくは、外乱や制御対象のモデル化誤差の影響を排除するための適応アルゴリズムを付加した適応スライディングモード制御）のアルゴリズムを用いることが好適である。
【００９７】
ところで、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを上述のように素子温度ＴＯ２に応じて可変的に設定することで、基本的には、素子温度ＴＯ２によらずに触媒装置４の良好な浄化性能を確保することが可能である。但し、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔへの収束制御は、空燃比の微妙な制御が要求されるため、素子温度ＴＯ２の変動によってＯ２センサ８の出力特性が頻繁に変動すると、空燃比制御手段１８による空燃比の制御性（制御の安定性や速応性）が損なわれる虞れがある。このために、本実施形態では、前記素子温目標値設定手段２１は基本的には素子温度ＴＯ２の目標値Ｒを所定の一定値に設定するようにしている。その一定値の目標値Ｒは７５０℃以上の温度で例えば８００℃である（この理由については後述する）。
【００９８】
但し、エンジン１の運転開始時から、素子温度ＴＯ２の目標値Ｒを８００℃のような高温に設定すると、エンジン１の運転開始時にＯ２センサ８の素子部１０に水分等が付着していたような場合には、該素子部１０が急激な加熱に伴う応力で損傷する虞れがある。このため、本実施形態では、素子温目標値設定手段２１は、エンジン１の運転開始後、所定時間（例えば１５秒）が経過するまでは、素子温度ＴＯ２の目標値Ｒを７５０℃よりも低い温度、例えば６００℃に設定するようにしている。尚、詳細は後述するが、本実施形態では、エンジン１の運転開始後、所定時間が経過した後であっても、大気温度ＴＡが低い場合（例えばＴＡ＜０℃）には、素子温度ＴＯ２の目標値Ｒを、通常的な目標値（８００℃）よりも若干低い温度（７５０℃≦Ｒ＜８００℃）に設定するようにしている。
【００９９】
ここで、素子温度ＴＯ２の基本的な目標値Ｒを７５０℃以上の温度（本実施形態では８００℃）に設定する理由を補足説明しておく。前述したように、Ｏ２センサ８の出力特性は、７５０℃以上の素子温度ＴＯ２では、ほぼ一定になって安定する。また、本願発明者等の知見によれば、素子温度ＴＯ２を７５０℃以上の温度で、例えば８００℃に維持すると、触媒装置４によるＣＯ、ＨＣ、ＮＯｘの全ての浄化性能が良好に保たれるようなＯ２センサ８の出力、すなわち、前記浄化適正出力Ｖｏｐ（空燃比制御でのＯ２センサ８の基本的な目標値とする値）が、図３のグラフａにおいて参照符号Ｙを付した部分、すなわち、Ｏ２センサ８の出力特性のグラフａの傾きが空燃比のリッチ化に伴い大きな傾きから微小な傾きに切替る変曲点部分Ｙに存するようになる。そして、このとき、この浄化適正出力Ｖｏｐを目標値として、この目標値ＶｏｐにＯ２センサ８の出力Ｖｏｕｔを収束させるような空燃比制御を良好に行うことができる。これは、変曲点部ＹにおけるＯ２センサ８の出力Ｖｏｕｔの空燃比に対する感度が過大でも過小でもない適正な感度になるためと考えられる。このようなことから、本実施形態では、素子温度ＴＯ２の基本的な目標値Ｒ（通常的な目標値）を７５０℃以上の温度で、例えば８００℃に設定している。
【０１００】
前記ヒータコントローラ２２は、上記のように素子温目標値設定手段２１が設定する素子温度ＴＯ２の目標値Ｒに、素子温オブザーバ２０により求められる素子温度ＴＯ２の推定値を収束させるようにフィードバック制御処理のアルゴリズムによりデューティＤＵＴを算出するものである。この場合、デューティＤＵＴは、例えばＰＩ制御もしくはＰＩＤ制御等のフィードバック制御アルゴリズムにより算出される。例えばＰＩ制御のアルゴリズムによりデューティＤＵＴを算出する場合には、素子温度ＴＯ２の推定値と目標値Ｒとの偏差に比例する制御入力成分（比例項）と、該偏差の積分値に比例する制御入力成分（積分項）との総和として、デューティＤＵＴが算出される。尚、素子温度ＴＯ２の目標値Ｒへのフィードバック制御処理は、ＰＩ制御もしくはＰＩＤ制御以外のアルゴリズム、例えば最適制御のアルゴリズムや予見制御のアルゴリズム等、現代制御のアルゴリズムを用いて構築してもよい。素子温度ＴＯ２の目標値Ｒへの制御をより安定に精度よく行うためには、基本的には、素子温度ＴＯ２の推定値と目標値Ｒとの偏差に応じた制御入力成分（上記比例項や積分項）にさらに、例えばヒータ温度Ｔｈｔ（これは本実施形態では素子温オブザーバ２０により推定される）に応じた制御入力成分や、排ガス温度Ｔｇｄ（これは本実施形態では排気温オブザーバ１９により推定される）に応じた制御入力成分、目標値Ｒに応じた制御入力成分等を加えてデューティＤＵＴを算出することがより好適である。
【０１０１】
次に、本実施形態の装置の全体的な作動を説明する。まず、Ｏ２センサ８の素子温度ＴＯ２の制御に関して説明する。エンジン１の運転開始時（始動時）において、コントロールユニット１６は、前記排ガス温度Ｔｅｘｇ，Ｔｇａ，Ｔｇｂ，Ｔｇｃ，Ｔｇｄ、排気管温度Ｔｗａ，Ｔｗｂ，Ｔｗｄ、触媒温度Ｔｗｃ、素子温度ＴＯ２、及びヒータ温度Ｔｈｔのそれぞれの推定値の初期値Ｔｅｘｇ（０），Ｔｇａ（０），Ｔｇｂ（０），Ｔｇｃ（０），Ｔｇｄ（０），Ｔｗａ（０），Ｔｗｂ（０），Ｔｗｄ（０），ＴＯ２（０），Ｔｈｔ（０）を次のように設定する。すなわち、本実施形態では、エンジン１の運転停止中にその停止時間を計時するようにしており、コントロールユニット１６は、エンジン１の始動時にその直前の停止時間が所定時間（例えば２時間）を超えているか否かを判断する。そして、停止時間＞所定時間であるときには、排気通路３の内部やその管壁の温度がほぼ大気温度と同等になっていると考えられるので、センサ温度制御手段１２は、上記初期値Ｔｅｘｇ（０），Ｔｇａ（０），Ｔｇｂ（０），Ｔｇｃ（０），Ｔｇｄ（０），Ｔｗａ（０），Ｔｗｂ（０），Ｔｗｄ（０），ＴＯ２（０），Ｔｈｔ（０）を、エンジン１の始動時における大気温度ＴＡの検出値に設定する。また、停止時間≦所定時間である場合には、排気通路３の内部やその管壁の温度は、前回のエンジン１の運転停止後の余熱によって、大気温度よりもエンジン１の機関温度ＴＷ（冷却水温）に近い温度になっていると考えられるので、センサ温度制御手段１２は、上記初期値Ｔｅｘｇ（０），Ｔｇａ（０），Ｔｇｂ（０），Ｔｇｃ（０），Ｔｇｄ（０），Ｔｗａ（０），Ｔｗｂ（０），Ｔｗｄ（０），ＴＯ２（０），Ｔｈｔ（０）を、エンジン１の始動時における機関温度ＴＷの検出値に設定する。これにより、それらの初期値が実際の温度に近い温度に設定される。
【０１０２】
そして、エンジン１が始動され、その運転が開始すると、コントロールユニット１７は、図７のフローチャートに示すルーチン処理を所定のサイクルタイム（例えば１０ｍｓｅｃ）で実行する。
【０１０３】
コントロールユニット１７は、まず、エンジン１の回転数ＮＥ、吸気圧ＰＢ、大気温度ＴＡ及びバッテリ電圧ＶＢの検出データを取得し（ＳＴＥＰ１）、さらに前記素子温目標値設定手段２１及びヒータコントローラ２２の演算処理の１周期分の時間をカウントするためのカウントダウンタイマＣＯＰＣの値を判断する（ＳＴＥＰ２）。このカウントダウンタイマＣＯＰＣの値は、エンジン１の始動時に「０」に初期化されている。
【０１０４】
そして、コントロールユニット１７は、ＣＯＰＣ＝０である場合には、素子温目標値設定手段２１及びヒータコントローラ２２の演算処理の１周期に相当するタイマ設定時間ＴＭ１をＣＯＰＣの値として新たに設定した後（ＳＴＥＰ３）、Ｏ２センサ８の素子温度ＴＯ２の目標値Ｒを設定する処理、及びヒータ１３のデューティＤＵＴを算出する処理を、それぞれ前記素子温目標値設定手段２１及びヒータコントローラ２２により順次実行する（ＳＴＥＰ４）。また、ＳＴＥＰ２でＣＯＰＣ≠０である場合には、コントロールユニット１７は、ＳＴＥＰ５でＣＯＰＣの値をカウントダウンし、ＳＴＥＰ３，４の処理を省略する。従って、ＳＴＥＰ４の処理（素子温目標値設定手段２１及びヒータコントローラ２２の処理）は、上記タイマ設定時間ＴＭ１により規定される周期で実行されることとなる。
【０１０５】
上記ＳＴＥＰ４の処理は、より詳しくは図８のフローチャートに示すように実行される。まず、素子温目標値設定手段２１による処理がＳＴＥＰ４−１〜４−３で実行される。すなわち、まず、エンジン１の始動後の経過時間を表すパラメータＴＳＨの値があらかじめ定めた所定値ＸＴＭ（例えば１５秒）と比較される（ＳＴＥＰ４−１）。このとき、ＴＳＨ≦ＸＴＭである場合、すなわち、エンジン１の運転開始直後の状態である場合には、素子温目標値設定手段２１は、前述のようにＯ２センサ８の素子部１０の損傷を防止するために、素子温度ＴＯ２の目標値Ｒを低温側の温度（例えば６００℃）に設定する（ＳＴＥＰ４−２）。
【０１０６】
また、ＳＴＥＰ４−１でＴＳＨ＞ＸＴＭである場合には、素子温目標値設定手段２１は、大気温度ＴＡの現在の検出値（図６のＳＴＰＥ１で取得されたもの）から、あらかじめ定められたデータテーブルに基づいて前述したように素子温度ＴＯ２の目標値Ｒを設定する（ＳＴＥＰ４−３）。ここで設定される目標値Ｒは、前述したように大気温度ＴＡが常温程度（例えばＴＡ≧０℃）の通常的な温度である場合には、７５０℃以上の所定値（本実施形態では８００℃）である。但し、寒冷地でのエンジン１の運転時等、大気温度ＴＡが低いとき（例えばＴＡ＜０℃）には、素子部１０やヒータ１３の放熱量が比較的大きいために素子温度ＴＯ２の目標値Ｒが８００℃のような高温であると、ヒータ１３の温度が過剰に高温になりやすい。そして、本実施形態では、後述するヒータ１３の過熱防止処理によって、ヒータ１３の温度が過剰に高温になると、該ヒータ１３の故障を避けるために該ヒータ１３への通電を強制的に中止するようにしている。
【０１０７】
そこで、本実施形態では、ＳＴＥＰ４−３では、大気温度ＴＡが低い場合（例えばＴＡ＜０℃）には、素子温度ＴＯ２の目標値Ｒを通常の場合よりも多少低い値（例えば７５０℃≦Ｒ＜８００℃となる値）に設定するようにしている。より詳しく言えば、ＴＡ≧０℃である通常的な大気温度では、目標値Ｒは通常的な目標値である８００℃に設定され、ＴＡ＜０℃では、７５０℃≦Ｒ＜８００℃の範囲で目標値Ｒが大気温度ＴＡに応じて可変的に（大気温度ＴＡが低い程、目標値Ｒがより小さくなるように）設定される。このように目標値Ｒを設定することで、ヒータ１３が過剰に高温になるのを回避しつつ、該ヒータ１３の通電を強制的に中止しなければならないような状況の発生をできるだけ少なくすることができる。
【０１０８】
上記のように素子温目標値設定手段２１の処理を実行した後、コントロールユニット１７は、次にヒータコントローラ２２の処理をＳＴＥＰ４−４〜４−８で実行する。このヒータコントローラ２２の処理では、まず、前述したように、素子温オブザーバ２０が求める素子温度ＴＯ２の推定値を、前記ＳＴＥＰ４−３又は４−２で設定された目標値Ｒに収束させるようにＰＩ制御等のフィードバック制御のアルゴリズムによりヒータ１３に対する制御入力としてのデューティＤＵＴの今回値ＤＵＴ（ｎ）が算出される（ＳＴＥＰ４−４）。尚、このデューティＤＵＴの今回値ＤＵＴ（ｎ）の算出に用いられる素子温度ＴＯ２の推定値は、今回のＳＴＥＰ４の処理以前で素子温オブザーバ２０が求めた値（これは後述のＳＴＥＰ１３で求められる）である。但し、エンジン１の始動後、初めてＳＴＥＰ４の処理が実行されるときには、前述のようにエンジン１の始動時に設定される初期値ＴＯ２（０）がＤＵＴ（ｎ）の算出に用いられる。
【０１０９】
次いで、ヒータコントローラ２２は、ＳＴＥＰ４−４で算出したデューティＤＵＴ（ｎ）のリミット処理をＳＴＥＰ４−５〜４−８で実行する。すなわち、デューティＤＵＴ（ｎ）が所定の下限値（例えば０％）よりも小さいか否かを判断し（ＳＴＥＰ４−５）、ＤＵＴ（ｎ）＜下限値である場合には、ＤＵＴ（ｎ）の値を強制的にその“下限値”に設定し直す（ＳＴＥＰ４−６）。また、ＤＵＴ（ｎ）≧下限値である場合には、さらに、デューティＤＵＴ（ｎ）が所定の上限値（例えば１００％）よりも大きいか否かを判断する（ＳＴＥＰ４−７）。このときＤＵＴ（ｎ）＞上限値である場合には、ＤＵＴ（ｎ）の値を強制的にその“上限値”に設定し直す（ＳＴＥＰ４−８）。以上により素子温目標値設定手段２１及びヒータコントローラ２２による４の処理は終了する。
【０１１０】
図７のメインルーチンの処理に戻って、コントロールユニット１７は、次に、ＳＴＥＰ６〜１０に示す処理を実行する。この処理は、ヒータ１３の過熱防止のための処理であり、まず、ＳＴＥＰ６において、ヒータ温度Ｔｈｔの推定値の現在値（最新値）があらかじめ定められた所定の上限値ＴＨＴＬＭＴ（例えば９３０℃）以上であるか否かが判断される。この場合、本実施形態では、基本的には、Ｔｈｔ≧ＴＨＴＬＭＴとなった場合に、ヒータ１３の損傷等を防止するために、該ヒータ１３への通電を強制的に遮断する。但し、外乱等の影響で、Ｔｈｔの推定値の値が一時的に上記上限値ＴＨＴＬＭＴ以上に上昇することも考えられる。そこで、本実施形態では、Ｔｈｔ≧ＴＨＴＬＭＴとなる状態が所定時間（例えば３秒。以下、ヒータＯＦＦ遅延時間という）以上、継続した場合に、ヒータ１３の通電を遮断することとする。
【０１１１】
このため、前記ＳＴＥＰ６で、Ｔｈｔ＜ＴＨＴＬＭＴである場合には、コントロールユニット１７は、上記ヒータＯＦＦ遅延時間を計時するためのカウントダウンタイマＴＭＨＴＯＦＦの値を上記ヒータＯＦＦ遅延時間に相当する所定値ＴＭ２に設定しておく（ＳＴＥＰ７）。そして、この場合には、ヒータ１３の通電は遮断しないので、コントロールユニット１７の処理は、後述のＳＴＥＰ１１の処理に移る。
【０１１２】
一方、ＳＴＥＰ６でＴｈｔ≧ＴＨＴＬＭＴである場合には、コントロールユニット１７は、カウントダウンタイマＴＭＨＴＯＦＦの値を“１”だけカウントダウンした後（ＳＴＥＰ８）、さらに、このカウントダウンタイマＴＭＨＴＯＦＦの値が“０”になったか否か、すなわち、Ｔｈｔ≧ＴＨＴＬＭＴの状態のまま、前記ヒータＯＦＦ遅延時間ＴＭ２が経過したか否かを判断する（ＳＴＥＰ９）。
【０１１３】
このときＴＭＨＴＯＦＦ≠０である場合には、コントロールユニット１７の処理は、ＳＴＥＰ１１の処理に移る。また、ＴＭＨＴＯＦＦ＝０である場合には、コントロールユニット１７は、デューティＤＵＴの現在値ＤＵＴ（ｎ）を強制的に“０”に設定し直し（ＳＴＥＰ１０）、ＳＴＥＰ１１の処理に移る。
【０１１４】
尚、上記のようにヒータ１３の過熱防止処理の実行によって、最終的にデューティＤＵＴの今回値ＤＵＴ（ｎ）が確定する。そして、コントロールユニット１７は、そのデューティＤＵＴの今回値ＤＵＴ（ｎ）に従ってパルス電圧を図示しないヒータ通電回路に付与し、該デューティＤＵＴ（ｎ）に応じた電力で該ヒータ１３に通電させる。但し、この場合、ＤＵＴ（ｎ）＝０である場合には、ヒータ１２の通電回路にパルス電圧が付与されず、これにより、該ヒータ１３への通電が遮断されることとなる。
【０１１５】
上述のようにしてＳＴＥＰ６〜ＳＴＥＰ１０に係わる処理（ヒータ１３の過熱防止処理）を実行した後、コントロールユニット１７は、次に、素子温オブザーバ２０の処理の１周期分の時間ｄｔをカウントするためのカウントダウンタイマＣＯＢＳの値を判断する（ＳＴＥＰ１１）。このカウントダウンタイマＣＯＢＳの値は、エンジン１の始動時に「０」に初期化されている。
【０１１６】
そして、コントロールユニット１６は、ＣＯＢＳ＝０である場合には、素子温オブザーバ２０の処理の１周期ｄｔに相当するタイマ設定時間ＴＭ３をＣＯＢＳの値として新たに設定した後（ＳＴＥＰ１２）、排ガス温度Ｔｇｄ（Ｏ２センサ８の配置箇所近傍の排ガス温度）を推定する処理と、素子温度ＴＯ２を推定する処理（ヒータ温度Ｔｈｔの推定処理を含む）とをそれぞれ、排気温オブザーバ１９及び素子温オブザーバ２０により実行する（ＳＴＥＰ１３。詳細は後述する）。また、ＳＴＥＰ１１でＣＯＢＳ≠０である場合には、コントロールユニット１６は、ＳＴＥＰ１４でＣＯＢＣの値をカウントダウンし、ＳＴＥＰ１３の処理を省略する。従って、ＳＴＥＰ１４の処理は、上記タイマ設定時間ＴＭ３により規定される周期ｄｔで実行されることとなる。以上説明した処理が、図７のルーチン処理である。
【０１１７】
尚、本実施形態では、前記素子温目標値設定手段２１及びヒータコントローラ２２の演算処理の周期（ＳＴＥＰ４の処理の実行周期）を規定するタイマ設定時間ＴＭ１は、素子温オブザーバ２０の演算処理の周期ｄｔ（ＳＴＥＰ１３の処理の実行周期）を規定するタイマ設定時間ＴＭ３よりも長い値に設定されている。この点について補足説明をすると、素子温オブザーバ２０の演算処理は、温度推定の精度を高めるために、比較的早い周期（例えば２０〜５０ｍｓｅｃの周期）で行うことが望ましい。一方、ヒータコントローラ２２の制御処理に関しては、制御入力（デューティＤＵＴ）に対する素子温度の変化の応答速度が比較的遅い（周波数換算で数Ｈｚ程度）ため、該制御処理の周期は、素子温オブザーバ２０の演算処理の周期よりも長くてよい。そこで、本実施形態では、ＴＭ１＞ＴＭ３とすることで、素子温目標値設定手段２１及びヒータコントローラ２２の処理の周期を、素子温オブザーバ２０の演算処理の周期ｄｔよりも長い時間（例えば３００〜５００ｍｓｅｃ）に設定している。これにより、コントロールユニット１７の演算処理の負荷が軽減される。
【０１１８】
前記ＳＴＥＰ１３の処理は、より具体的には、図９のフローチャートに示すように行われる。すなわち、コントロールユニット１６は、まず、排気温オブザーバ１９により、ＳＴＥＰ１３−１〜ＳＴＥＰ１３−６の処理を順次実行し、Ｏ２センサ８の配置箇所近傍での排ガス温度Ｔｇｄの推定値を求める。ＳＴＥＰ１３−１では、エンジン１の回転数ＮＥ及び吸気圧ＰＢの現在の検出値（前記ＳＴＥＰ１で取得された最新値）を用いて前記式（７）により流速パラメータＶｇが求められる。尚、この流速パラメータＶｇの値は、エンジン１の過回転等により前記式（７）の算出結果が“１”を越えたような場合には、強制的にＶｇ＝１に設定される。
【０１１９】
次いで、排気温オブザーバ１９は、前記式（１）に基づいてエンジン１の排気ポート２での排ガス温度Ｔｅｘｇの推定値を算出する（ＳＴＥＰ１３−２）。すなわち、エンジン１の回転数ＮＥ及び吸気圧ＰＢの現在の検出値から所定のマップにより基本排ガス温度ＴＭＡＰ（ＮＥ，ＰＢ）を求め、さらに、このＴＭＡＰ（ＮＥ，ＰＢ）と、排ガス温度Ｔｅｘｇの推定値の現在値Ｔｅｘｇ（ｋ−１）（前回のサイクルタイムにおけるＳＴＥＰ１３−２で求められた値）と、あらかじめ定められた係数Ｋｔｅｘの値とを用いて前記式（１）の右辺の演算を行う。これにより、排ガス温度Ｔｅｘｇの新たな推定値Ｔｅｘｇ（ｋ）が算出される。尚、本実施形態では、エンジン１のアイドリング運転時と、フュエルカット中においては、式（１）の演算に用いる基本排ガス温度ＴＭＡＰを、それぞれの運転状態に対応してあらかじめ定めた所定値に設定するようにしている。また、排ガス温度Ｔｅｘｇの推定値は、前述のようにエンジン１の運転開始時（始動時）に、その時に検出された大気温度ＴＡ又は機関温度ＴＷが初期値Ｔｅｘｇ（０）として設定されており、エンジン１の運転開始後、初めて式（１）の演算を行うときには、その初期値Ｔｅｘｇ（０）がＴｅｘｇ（ｋ−１）の値として用いられる。
【０１２０】
次いで、排気温オブザーバ１９は、前記式（５−１）、（５−２）に基づいて前記部分排気通路３ａでの排ガス温度Ｔｇａの推定値及び排気管温度Ｔｗａの推定値を算出する（ＳＴＥＰ１３−３）。すなわち、排ガス温度Ｔｇａの推定値の現在値Ｔｇａ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−３で求められた最新値）と、排気管温度Ｔｗａの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−３で求められた最新値）と、前記ＳＴＥＰ１３−２で先に算出した排ガス温度Ｔｅｘｇの推定値の現在値と、前記ＳＴＥＰ１３−１で算出した流速パラメータＶｇの現在値と、あらかじめ定められたモデル係数Ａａの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（５−１）の右辺の演算を行うことで、排ガス温度Ｔｇａの新たな推定値Ｔｇａ（ｋ＋１）を求める。
【０１２１】
さらに、排ガス温度Ｔｇａの推定値の現在値Ｔｇａ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−３で求められた最新値）と、排気管温度Ｔｗａの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−３で求められた最新値）と、あらかじめ定められたモデル係数Ｂａ，Ｃａの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（５−２）の右辺の演算を行うことで、排気管温度Ｔｗａの新たな推定値Ｔｗａ（ｋ＋１）を求める。
【０１２２】
尚、排ガス温度Ｔｇａ及び排気管温度Ｔｗａの推定値は、前述のようにエンジン１の運転開始時（始動時）に、その時に検出された大気温度ＴＡ又は機関温度ＴＷがそれぞれの初期値Ｔｇａ（０），Ｔｗａ（０）として設定されており、エンジン１の運転開始後、初めて式（５−１），（５−２）の演算を行うときには、それらの初期値Ｔｇａ（０），Ｔｗａ（０）がそれぞれＴｇａ（ｋ−１），Ｔｗａ（ｋ−１）の値として用いられる。
【０１２３】
次いで、排気温オブザーバ１９は、前記式（６−１）、（６−２）に基づいて前記部分排気通路３ｂでの排ガス温度Ｔｇｂの推定値及び排気管温度Ｔｗｂの推定値を算出する（ＳＴＥＰ１３−４）。すなわち、排ガス温度Ｔｇｂの推定値の現在値Ｔｇｂ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−４で求められた最新値）と、排気管温度Ｔｗｂの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−４で求められた最新値）と、前記ＳＴＥＰ１３−３で先に算出した排ガス温度Ｔｇａの推定値の現在値と、前記ＳＴＥＰ１３−１で算出した流速パラメータＶｇの現在値と、あらかじめ定められたモデル係数Ａｂの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（６−１）の右辺の演算を行うことで、排ガス温度Ｔｇｂの新たな推定値Ｔｇｂ（ｋ＋１）を求める。
【０１２４】
さらに、排ガス温度Ｔｇｂの推定値の現在値Ｔｇ　ｂ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−４で求められた最新値）と、排気管温度Ｔｗｂの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−４で求められた最新値）と、あらかじめ定められたモデル係数Ｂｂ，Ｃｂの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（６−２）の右辺の演算を行うことで、排気管温度Ｔｗｂの新たな推定値Ｔｗｂ（ｋ＋１）を求める。
【０１２５】
尚、排ガス温度Ｔｇｂ及び排気管温度Ｔｗｂの推定値は、前述のようにエンジン１の運転開始時（始動時）に、その時に検出された大気温度ＴＡ又は機関温度ＴＷがそれぞれの初期値Ｔｇｂ（０），Ｔｗｂ（０）として設定されており、エンジン１の運転開始後、初めて式（６−１），（６−２）の演算を行うときには、それらの初期値Ｔｇｂ（０），Ｔｗｂ（０）がそれぞれＴｇｂ（ｋ−１），Ｔｗｂ（ｋ−１）の値として用いられる。
【０１２６】
次いで、排気温オブザーバ１９は、前記式（８−１）、（８−２）に基づいて前記部分排気通路３ｃでの排ガス温度Ｔｇｃの推定値及び触媒温度Ｔｗｃの推定値を算出する（ＳＴＥＰ１３−５）。すなわち、排ガス温度Ｔｇｃの推定値の現在値Ｔｇｃ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−５で求められた最新値）と、触媒温度Ｔｗｃの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−５で求められた最新値）と、前記ＳＴＥＰ１３−４で先に算出した排ガス温度Ｔｇｂの推定値の現在値と、前記ＳＴＥＰ１３−１で算出した流速パラメータＶｇの現在値と、あらかじめ定められたモデル係数Ａｃの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（８−１）の右辺の演算を行うことで、排ガス温度Ｔｇｃの新たな推定値Ｔｇｃ（ｋ＋１）を求める。
【０１２７】
さらに、排ガス温度Ｔｇｃの推定値の現在値Ｔｇｃ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−５で求められた最新値）と、触媒温度Ｔｗｃの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−５で求められた最新値）と、前記ＳＴＥＰ１３−１で算出した流速パラメータＶｇの現在値と、あらかじめ定められたモデル係数Ｂｃ，Ｃｃ，Ｄｃの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（８−２）の右辺の演算を行うことで、触媒温度Ｔｗｃの新たな推定値Ｔｗｃ（ｋ＋１）を求める。
【０１２８】
尚、排ガス温度Ｔｇｃ及び触媒温度Ｔｗｃの推定値は、前述のようにエンジン１の運転開始時（始動時）に、その時に検出された大気温度ＴＡ又は機関温度ＴＷがそれぞれの初期値Ｔｇｃ（０），Ｔｗｃ（０）として設定されており、エンジン１の運転開始後、初めて式（８−１），（８−２）の演算を行うときには、それらの初期値Ｔｇｃ（０），Ｔｗｃ（０）がそれぞれＴｇｃ（ｋ−１），Ｔｗｃ（ｋ−１）の値として用いられる。
【０１２９】
次いで、排気温オブザーバ１９は、前記式（９−１）、（９−２）に基づいて前記部分排気通路３ｄでの（Ｏ２センサ８の配置箇所近傍での）排ガス温度Ｔｇｄの推定値及び排気管温度Ｔｗｄの推定値を算出する（ＳＴＥＰ１３−６）。すなわち、排ガス温度Ｔｇｄの推定値の現在値Ｔｇｄ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−６で求められた最新値）と、排気管温度Ｔｗｄの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−６で求められた最新値）と、前記ＳＴＥＰ１３−５で先に算出した排ガス温度Ｔｇｃの推定値の現在値と、前記ＳＴＥＰ１３−１で算出した流速パラメータＶｇの現在値と、あらかじめ定められたモデル係数Ａｄの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（９−１）の右辺の演算を行うことで、排ガス温度Ｔｇｄの新たな推定値Ｔｇｄ（ｋ＋１）を求める。
【０１３０】
さらに、排ガス温度Ｔｇｄの推定値の現在値Ｔｇｄ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−６で求められた最新値）と、排気管温度Ｔｗｄの推定値の現在値（前回のサイクルタイムにおけるＳＴＥＰ１３−６で求められた最新値）と、あらかじめ定められたモデル係数Ｂｄ，Ｃｄの値及び排気温オブザーバ１９の処理の周期ｄｔの値とを用いて前記式（９−２）の右辺の演算を行うことで、排気管温度Ｔｗｄの新たな推定値Ｔｗｄ（ｋ＋１）を求める。
【０１３１】
尚、排ガス温度Ｔｇｄ及び排気管温度Ｔｗｄの推定値は、前述のようにエンジン１の運転開始時（始動時）に、その時に検出された大気温度ＴＡ又は機関温度ＴＷがそれぞれの初期値Ｔｇｄ（０），Ｔｗｄ（０）として設定されており、エンジン１の運転開始後、初めて式（９−１），（９−２）の演算を行うときには、それらの初期値Ｔｇｄ（０），Ｔｗｄ（０）がそれぞれＴｇｄ（ｋ−１），Ｔｗｄ（ｋ−１）の値として用いられる。
【０１３２】
次に、コントロールユニット１６は、素子温オブザーバ２０により、ＳＴＥＰ１３−７の処理を実行し、Ｏ２センサ８の素子温度ＴＯ２及びヒータ温度Ｔｈｔの推定値を前記式（１０−１）、（１０−２）に基づいて求める。すなわち、素子温度ＴＯ２の推定値の現在値ＴＯ２（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−７で求められた最新値）と、ヒータ温度Ｔｈｔの推定値の現在値Ｔｈｔ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１３−７で求められた最新値）と、前記ＳＴＥＰ１３−６で先に算出された排ガス温度Ｔｇｄの推定値の現在値Ｔｇｄ（ｋ）と、素子部１０の内部の空気の温度ＴＡ’としての大気温度ＴＡの検出値の現在値ＴＡ（ｋ）（図７のＳＴＥＰ１で取得した最新値）と、あらかじめ定められたモデル係数Ａｘ，Ｂｘの値及び素子温オブザーバ２０の処理の周期ｄｔ（＝排気温オブザーバ１９の処理の周期）の値とを用いて前記式（１０−１）の右辺の演算を行うことで、素子温度ＴＯ２の新たな推定値ＴＯ２（ｋ＋１）を求める。
【０１３３】
さらに、素子温度ＴＯ２の推定値の現在値ＴＯ２（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１６−７で求められた最新値）と、ヒータ温度Ｔｈｔの推定値の現在値Ｔｈｔ（ｋ）（前回のサイクルタイムにおけるＳＴＥＰ１６−７で求められた最新値）と、素子部１０の内部の空気の温度ＴＡ’としての大気温度ＴＡの検出値の現在値ＴＡ（ｋ）（図８のＳＴＥＰ１で取得した最新値）と、デューティＤＵＴの現在値ＤＵＴ（ｋ）と、あらかじめ定められたモデル係数Ｃｘ，Ｄｘの値及び素子温オブザーバ２０の処理の周期ｄｔの値とを用いて前記式（１０−２）の右辺の演算を行うことで、ヒータ温度Ｔｈｔの新たな推定値Ｔｈｔ（ｋ＋１）を求める。
【０１３４】
尚、素子温度ＴＯ２及びヒータ温度Ｔｈｔの推定値は、前述のようにエンジン１の運転開始時（始動時）に、その時に検出された大気温度ＴＡ又は機関温度ＴＷがそれぞれの初期値ＴＯ２（０），Ｔｈｔ（０）として設定されており、エンジン１の運転開始後、初めて式（１０−１），（１０−２）の演算を行うときには、それらの初期値ＴＯ２（０），Ｔｈｔ（０）がそれぞれＴＯ２（ｋ−１），Ｔｈｔ（ｋ−１）の値として用いられる。また、式（１０−２）で用いるデューティＤＵＴ（ｋ）は、基本的には前述のＳＴＥＰ４でヒータコントローラ２２が求めた最新値である。但し、前記ＳＴＥＰ１０でデューティＤＵＴの値が“０”に制限された場合（ヒータ１３への通電を遮断する場合）には、その値が式（１０−２）で用いられる。
【０１３５】
次に、エンジン１の空燃比の制御に関して説明する。コントロールユニット１６は、前述のようにＯ２センサ８の素子温度ＴＯ２の制御を行いながら、これと並行して、所定のサイクルタイム（処理周期）で、前記Ｏ２出力目標値設定手段１８によりＯ２センサ８の出力の目標値Ｖｔｇｔを逐次設定する。この処理は、図１０のフローチャートに示すように実行される。
【０１３６】
Ｏ２出力目標値設定手段１８は、まず、エンジン１の負荷を表すパラメータとしての排ガスボリュームＳＶを求める（ＳＴＥＰ２１）。この排ガスボリュームＳＶは、排ガスの流量を表すものであり、本実施形態では、空燃比制御手段１７が空燃比を制御するために逐次算出するエンジン１の単位時間当たりの燃料消費量ＮＴＩの最新値から、あらかじめ定めたデータテーブルに基づいて求められる。ここで、エンジン１の単位時間当たりの燃料消費量は、エンジン１の回転数ＮＥ及び吸気圧ＰＢの検出値からマップ等により定められるエンジン１の基本燃料噴射量（エンジン１の回転数ＮＥと吸気圧ＰＢとに応じた燃料噴射量の標準値（基本値））に、エンジン１の回転数ＮＥを乗算することで求められるものである。尚、エンジン１の吸入空気や排ガスの流量をフローセンサにより直接的に検出するようにした場合には、その検出値を排ガスボリュームＳＶの代わりに用いてもよい。
【０１３７】
次いで、Ｏ２出力目標値設定手段１８は、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを素子温度ＴＯ２に応じて可変的に設定するために、前記した図１１のデータテーブルに基づいて、前記素子温オブザーバ２０が求めた素子温度ＴＯ２の推定値の最新値（現在値）から補正係数ＫＶＯ２を求める（ＳＴＥＰ２２）。
【０１３８】
次いで、Ｏ２出力目標値設定手段１８は、エンジン１のアイドリング状態であるか否かを判断し（ＳＴＥＰ２３）、アイドリング状態である場合には、Ｏ２センサ８の出力Ｖｏｕｔの基本目標値を、あらかじめ定めた所定値Ｖｎｏｘを設定する（ＳＴＥＰ２４）。ここで、図４を参照して、上記所定値Ｖｎｏｘは、素子温度ＴＯ２が所定温度（例えば８００℃）であるときに触媒装置４によるＮＯｘの浄化率がほぼ最大となるようなＯ２センサ８の出力値であり、その所定温度においてＣＯ、ＨＣ、ＮＯｘの全ての浄化率が全体的に良好となるような前記浄化適正出力Ｖｏｐよりも排ガスの空燃比がリッチ側になるようなＯ２センサ８の出力値である。尚、素子温度ＴＯ２が７５０℃以上であるときのＯ２センサ８の出力特性はほぼ一定であるので、触媒装置４によるＮＯｘの浄化率が最大となるようなＯ２センサ８の出力値（以下、ＮＯｘ浄化最適出力という）は、素子温度ＴＯ２が７５０℃以上であるときにはほぼ一定となり、素子温度ＴＯ２が上記所定温度（８００℃）であるときのＮＯｘ浄化最適出力Ｖｎｏｘ（以下、ＮＯｘ浄化基準最適出力Ｖｎｏｘという）とほぼ同一になる。また、素子温度ＴＯ２が７５０℃よりも低いときには、前記浄化適正出力Ｖｏｐと同様に、ＮＯｘ浄化最適出力は、素子温度ＴＯ２が低い程、大きくなる傾向がある。従って、各素子温度ＴＯ２におけるＮＯｘ浄化最適出力は、上記ＮＯｘ浄化基準最適出力Ｖｎｏｘに、前記ＳＴＥＰ２２で図１１のデータテーブルにより求められる補正係数ＫＶＯ２を乗算してなる値にほぼ等しくなる。
【０１３９】
そこで、上記ＳＴＥＰ２４で基本目標値をＮＯｘ浄化基準最適出力Ｖｎｏｘに設定した後、Ｏ２出力目標値設定手段１８は、この基本目標値ＶｎｏｘにＳＴＥＰ２２で求めた補正係数ＫＶＯ２を乗算することにより該基本目標値Ｖｎｏｘを補正し、これによりＯ２センサ８の出力Ｖｏｕｔの今回の目標値Ｖｔｇｔ（ｊ）を設定する（ＳＴＥＰ３０）。尚、ｊは、図１０のルーチン処理のサイクルタイムの番数を意味している。
【０１４０】
このようにしてＳＴＥＰ２３の判断結果がＹＥＳである場合に、ＳＴＥＰ３０で設定される目標値Ｖｔｇｔ（ｊ）（＝Ｖｎｏｘ・ＫＶＯ２）は、前記補正係数ＫＶＯ２を求めるときに用いた素子温度ＴＯ２の推定値の最新値、すなわち、現在の素子温度ＴＯ２において触媒装置４によるＮＯｘの浄化率がほぼ最大となるようなＯ２センサ８の出力値である。例えば、図４を参照して、素子温度ＴＯ２が６５０℃であるときには、目標値Ｖｔｇｔ（ｊ）は図４に示した出力値Ｖｎｏｘ’とほぼ等しい値に設定されることとなる。尚、エンジン１のアイドリング状態で目標値Ｖｔｇｔを上記のように設定する理由については後述する。
【０１４１】
前記ＳＴＥＰ２３の判断結果が、アイドリング状態でない場合には、Ｏ２出力目標値設定手段１８は、エンジン１の回転数ＮＥがアイドリング状態から上昇している最中の状態であるか否かを判断する（ＳＴＥＰ２５）。この判断結果がＹＥＳとなるような状態は、例えば、エンジン１を搭載した車両の発進の際等の状態である。そして、このような状態では、一般に、排ガス中に含まれるＮＯｘの割合が他の排ガス成分に比して多くなる。このため、本実施形態では、ＳＴＥＰ２５の判断結果がＹＥＳであるときには、Ｏ２出力目標値設定手段１８は、前記ＳＴＥＰ２４，３０の処理を実行して、触媒装置４によるＮＯｘの浄化率がほぼ最大となるようなＯ２センサ８の出力値（＝Ｖｎｏｘ・ＫＶＯ２）を目標値Ｖｔｇｔ（ｊ）として設定する。尚、ＳＴＥＰ２５の判断は、エンジン１の回転数ＮＥの検出値やその変化速度（単位時間当たりのＮＥの変化量）に基づいて行われる。例えばエンジン１の回転数ＮＥがアイドリング状態での回転数よりも所定値以上高くなり、且つ、該回転数ＮＥの変化速度が該回転数ＮＥの上昇側に所定値以上であるときに、回転数ＮＥのアイドリング状態からの上昇中であると判断することが可能である。また、エンジン１の回転数ＮＥがアイドリング状態から上昇していく状態は、基本的にはエンジン１を搭載した車両の発進時に生じるので、車両の発進時であるか否かを、車速の検出値や、ブレーキ操作のＯＮ／ＯＦＦ信号等に基づいて判断し、車両の発進時であるときに、エンジン１の回転数ＮＥがアイドリング状態から上昇していく最中の状態であると判断してもよい。
【０１４２】
さらに、ＳＴＥＰ２５の判断結果がＮＯである場合には、Ｏ２出力目標値設定手段１８は、前記ＳＴＥＰ２１で求めた排ガスボリュームＳＶがあらかじめ定めた高負荷側閾値ＳＶＨよりも大きいか否かを判断する（ＳＴＥＰ２６）。このとき、ＳＶ＞ＳＶＨである場合（エンジン１の高負荷運転が行われてる場合）には、エンジン１の回転数ＮＥがアイドリング状態から上昇している最中の状態の場合と同様に、排ガス中に含まれるＮＯｘの割合が他の排ガス成分に比して多くなる。このため、Ｏ２出力目標値設定手段１８は、ＳＴＥＰ２６の判断結果がＹＥＳであるときには、前記ＳＴＥＰ２４，３０の処理を実行して、触媒装置４によるＮＯｘの浄化率がほぼ最大となるようなＯ２センサ８の出力値（＝Ｖｎｏｘ・ＫＶＯ２）を目標値Ｖｔｇｔ（ｊ）として設定する。
【０１４３】
また、ＳＴＥＰ２６の判断結果がＮＯである場合には、Ｏ２出力目標値設定手段１８は、前記ＳＴＥＰ２１で求めた排ガスボリュームＳＶがあらかじめ定めた低負荷側閾値ＳＶＬよりも小さいか否かを判断する（ＳＴＥＰ２７）。このとき、ＳＶ＜ＳＶＬである場合（エンジン１の低負荷運転が行われている場合）には、Ｏ２出力目標値設定手段１８は、前記基準浄化適正出力ＮＶｏｐを基本目標値として設定する（ＳＴＥＰ２８）。そして、前記ＳＴＥＰ３０において、この基本目標値ＮＶｏｐにＳＴＥＰ２２で求めた補正係数ＫＶＯ２を乗算することにより今回の目標値Ｖｔｇｔ（ｊ）（＝ＮＶｏｐ・ＫＶＯ２）を設定する。
【０１４４】
このようにしてＳＴＥＰ２７の判断結果がＮＯである場合（エンジン１の低負荷運転状態の場合）にＳＴＥＰ３０で設定される目標値Ｖｔｇｔ（ｊ）は、現在の素子温度ＴＯ２（ＳＴＥＰ２２で補正係数ＫＶＯ２を求めたときに用いた素子温度ＴＯ２の推定値の最新値）においてＣＯ、ＨＣ、ＮＯｘの全てについて浄化率が十分に良好なものとなるようなＯ２センサ８の出力値、すなわち、前記浄化適正出力Ｖｏｐとなる。尚、ＳＶ＜ＳＶＬとなるようなエンジン１の低負荷運転状態は、例えばエンジン１を搭載した車両をほぼ一定の速度で走行させているような状態である。
【０１４５】
前記ＳＴＥＰ２８の判断結果がＮＯである場合（ＳＶＬ≦ＳＶ≦ＳＶＨである場合（エンジン１の中負荷運転の場合））には、Ｏ２出力目標値設定手段１８は、例えば図１２に示すようにあらかじめ定められたデータテーブルに基づいて、基本目標値を排ガスボリュームＳＶに応じて設定する（ＳＴＥＰ２９）。この場合、基本目標値は排ガスボリュームＳＶが大きい程、より大きな値（排ガス空燃比がよりリッチ側になるようなＯ２センサ８の出力値）に設定される。また、ＳＶ＝ＳＶＬであるときの基本目標値は前記基準浄化適正出力ＮＶｏｐであり、ＳＶ＝ＳＶＨであるときの基本目標値は、前記ＮＯｘ浄化最適出力Ｖｎｏｘである。従って、エンジン１の中負荷運転時には、基本目標値は、前記基準浄化適正出力ＮＶｏｐと前記ＮＯｘ浄化基準最適出力Ｖｎｏｘとの間で排ガスボリュームＳＶに応じて（エンジン１の負荷に応じて）連続的に変化するように設定される。そして、このようにＳＴＥＰ２９に基本目標値を設定した後には、Ｏ２出力目標値設定手段１８は、前記ＳＴＥＰ３０において、この基本目標値にＳＴＥＰ２２で求めた補正係数ＫＶＯ２を乗算することにより今回の目標値Ｖｔｇｔ（ｊ）を設定する。従って、この場合に設定される目標値Ｖｔｇｔ（ｊ）は、エンジン１の負荷がより大きい程、触媒装置４によるＮＯｘの浄化率がより高まるようなＯ２センサ８の出力値に設定される。以上説明した処理がＯ２出力目標値設定手段１８の詳細な処理である。
【０１４６】
尚、空燃比制御手段１７は、前述したように、Ｏ２出力目標値設定手段１８が上記のように設定した目標値ＶｔｇｔにＯ２センサ８の出力Ｖｏｕｔを収束させるようにフィードバック制御処理によりエンジン１で燃焼させる混合気の空燃比を操作する。
【０１４７】
以上説明した本実施形態の装置では、前記補正係数ＫＶＯ２を図１１のデータテーブルにより素子温度ＴＯ２に応じて設定することで、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔが素子温度ＴＯ２に応じて可変的に設定される。このため、素子温度ＴＯ２によらずに、触媒装置４の所要の浄化性能を確保する上で好適な目標値Ｖｔｇｔを設定することができる。そして、この目標値ＶｔｇｔにＯ２センサ８の出力Ｖｏ　ｕｔを収束させるように空燃比を操作することで、素子温度ＴＯ２によらずに触媒装置４の所要の浄化性能を安定して確保することができる。
【０１４８】
併せて、素子温度ＴＯ２は、素子温目標値設定手段２１が設定する目標値Ｒに維持されるようにヒータコントローラ２２によってヒータ１３が制御される。そして、該目標値Ｒは、エンジン１の始動直後や大気温度ＴＡがかなり低い場合（本実施形態ではＴＡ＜０℃）を除いて基本的には一定値である。このため、素子温度ＴＯ２が変動するのが極力抑えられる。その結果、Ｏ２センサ８の出力特性を極力安定させ、ひいては、触媒装置４の所要の浄化性能の安定性を高めることができる。尚、エンジン１の定常的な運転状態において、素子温度ＴＯ２の目標値が一定値に維持されている状態では、ヒータコントローラ２２によるヒータ１３の制御によって、実際の素子温度ＴＯ２がほぼ目標値Ｒと同じ温度に維持されるため、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔもほぼ一定値に維持されることとなる。但し、大気温度ＴＡがかなり低い場合には、排ガスの温度が比較的低いものとなること、大気側への放熱量が多くなること等に起因して、実際の素子温度ＴＯ２は目標値Ｒまで到達できない場合もある。また、エンジン１の運転状態の変化に起因する排ガスの温度の変化等によって、実際の素子温度ＴＯ２が過渡的に目標値Ｒに対して変動を生じる。そして、このような場合には、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔが素子温度ＴＯ２に応じて設定されることで、触媒装置４の所要の浄化性能が確実に確保されることとなる。
【０１４９】
また、本実施形態では、Ｏ２出力目標値設定手段１８やヒータコントローラ２２の処理に用いる素子温度ＴＯ２は、エンジン１の運転状態を表すパラメータとしての回転数ＮＥ及び吸気圧ＰＢと、前記式（２−１），（２−２）〜（１０−１），（１０−２）の熱モデルとに基づいて推定される。そして、この場合、この推定処理では、排ガスがエンジン１の排気ポート２からＯ２センサ８の配置箇所まで流れる過程での温度変化や、排ガスと素子部１０との間の熱伝達、素子部１０とヒータ１３との間の熱伝達、ヒータ１３へのエネルギー供給量を表すデューティＤＵＴ等が考慮される。このため、素子温度ＴＯ２を温度センサを用いることなく、精度よく推定することができる。そして、その素子温度ＴＯ２の推定値を用いてＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを設定することで、触媒装置４の所要の浄化性能を確保する上で適正な目標値Ｖｔｇｔを設定することができる。さらに、該素子温度ＴＯ２の推定値を用いてヒータ１３への電力供給を制御するので、素子温度ＴＯ２の目標値Ｒへの制御を好適に安定して行うことができる。ひいては、素子温度ＴＯ２によるＯ２センサ８の出力特性の変化の影響を適正に排除して、触媒装置４による所要の浄化性能を確保することができる。
【０１５０】
さらに、本実施形態では、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔは、エンジン１の回転数ＮＥがアイドリング状態から上昇している最中や、エンジン１の高負荷運転状態のように、排ガス中に含まれるＮＯｘが多くなるようなエンジン１の運転状態では、触媒装置４によるＮＯｘの浄化率がほぼ最大となるような値に設定される。このため、排ガス中に含まれるＮＯｘが多くなるような状況での触媒装置４によるＮＯｘの浄化性能を高めることができる。
【０１５１】
ここで、本実施形態ではエンジン１のアイドリング状態でもＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを、触媒装置４によるＮＯｘの浄化率がほぼ最大となるような値に設定しているが、これは次のような理由による。すなわち、車両に搭載されるエンジン１では、車両の発進等によって、その回転数ＮＥがアイドリング状態から上昇を開始するタイミングは、一般に予測することが困難であるため、エンジン１の回転数ＮＥがアイドリング状態から上昇している最中であると判断できるタイミング（図１０のＳＴＥＰ２５の判断結果がＮＯからＹＥＳに変化するタイミング）は、エンジン１の回転数ＮＥが実際にアイドリング状態から上昇を開始したタイミングに対して遅れを生じる。また、実際のＯ２センサの出力Ｖｏｕｔが、触媒装置４によるＮＯｘの浄化率がほぼ最大となるような目標値Ｖｔｇｔにほぼ収束するまでには多少の遅れを生じる。このため、仮にエンジン１のアイドリング状態における目標値Ｖｔｇｔをエンジン１の低負荷運転状態の場合と同じように設定した場合には、エンジン１の回転数ＮＥがアイドリング状態から上昇を開始してから、実際のＯ２センサの出力Ｖｏｕｔが、触媒装置４によるＮＯｘの浄化率がほぼ最大となるような目標値Ｖｔｇｔにほぼ収束するまでの期間でＮＯｘの浄化率を十分に高めることが困難となる。そこで、本実施形態では、エンジン１のアイドリング状態でも、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを、触媒装置４によるＮＯｘの浄化率がほぼ最大となるような値に設定しておき、これによりエンジン１に回転数ＮＥが上昇を開始する前から触媒装置４によるＮＯｘの浄化を十分に行うことができるような空燃比状態にしておく。これにより、エンジン１の回転数ＮＥがアイドリング状態から上昇していく際におけるＮＯｘの浄化を十分に行うことができる。
【０１５２】
また、本実施形態では、エンジン１の中負荷運転状態では、排ガスボリューム（排ガス流量）ＳＶに応じてＯ２センサ８の出力Ｖｏｕｔの基本目標値を、前記基準浄化適正出力ＮＶｏｐとＮＯｘ浄化基準最適出力Ｖｎｏｘとの間で連続的に変化させるので、該基本目標値に補正係数ＫＶＯ２を乗算してなる目標値Ｖｔｇｔが不連続に変化するの避け、ひいては、空燃比の制御を円滑に行うことができる。すなわち、目標値Ｖｔｇｔの変化による触媒装置４の上流側の空燃比の大きな変動やＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔへの収束性の低下が発生するのを防止でき、目標値Ｖｔｇｔの変化の際に触媒装置４の浄化率が低下するのを防止できる。同時に、エンジン１の負荷の増加に伴い排ガス中のＮＯｘが多くなるに従って、目標値ＶｔｇｔがＮＯｘの浄化率をより高める方向に変化するので、触媒装置４によるＮＯｘの浄化を良好に行うことができる。
【０１５３】
次に本発明の第２実施形態を図１３及び図１４を参照して説明する。尚、本実施形態は、本発明の第２の態様の実施形態である。また、本実施形態は、前記第１の実施形態と一部の構成もしくは機能のみが相違するものであるので、同一構成部分もしくは同一機能部分については、第１実施形態のものと同一の参照符号を用いて詳細な説明を省略する。
【０１５４】
図１３は本実施形態の装置の全体構成を模式的に示すブロック図である。同図に示すように、本実施形態の装置では、コントロールユニット１６の一部の機能的手段のみが前記第１実施形態のものと相違している。該コントロールユニット１６は、空燃比制御手段１７、Ｏ２出力目標値設定手段３０、排気温オブザーバ１９、素子温オブザーバ２０、ヒータ温目標値設定手段３１、ヒータコントローラ３２を備えている。ここで、空燃比制御手段１７、排気温オブザーバ１９、素子温オブザーバ２０は、前記第１実施形態のものと全く同一である。但し、本実施形態では、素子温オブザーバ２０は、Ｏ２センサ８のヒータ１３の温度Ｔｈｔの推定値をヒータ温度データとして逐次求めるヒータ温度データ取得手段としての意味を持つものである。このため、図１３では素子温オブザーバ２０は、括弧書きで“ヒータ温オブザーバ”と併記されていると共に、ヒータ温度Ｔｈｔの推定値（これは本発明の第２の態様におけるヒータ温度データに相当する）を出力するものとして記載されている。以下の本実施形態の説明では、素子温オブザーバ２０をヒータ温オブザーバ２０と称する。
【０１５５】
ヒータ温目標値設定手段３１は、Ｏ２センサ８のヒータ温度Ｔｈｔの目標値Ｒ’を設定するものである。この場合、本願発明者等の知見によれば、ヒータ温度Ｔｈｔは、素子温度ＴＯ２との相関性が比較的高く、定常状態では素子温度ＴＯ２よりも一定温度だけ高いものとなる傾向がある。そこで、本実施形態では、ヒータ温目標値設定手段３１は、前記第１実施形態で説明したように設定される素子温度ＴＯ２の目標値Ｒ（前記図７のＳＴＥＰ４で設定される目標値Ｒ）よりも所定値ＤＲ（例えば１００℃）だけ高い値Ｒ＋ＤＲを、ヒータ温度Ｔｈｔの目標値Ｒ’として設定するようにしている。従って、本実施形態では、エンジン１の始動後、所定時間（例えば１５秒）が経過するまでは、目標値Ｒ’は、図８のＳＴＥＰ４−２で設定される目標値Ｒよりも所定値ＤＲだけ高い低温側温度（例えば７００℃）に設定される。また、エンジン１の始動後、所定時間が経過した後は、目標値Ｒ’は、前記図８のＳＴＥＰ４−３で大気温度ＴＡに応じて設定される目標値Ｒよりも所定値ＤＲだけ高い温度（例えば８５０〜９００℃の温度）に設定される。
【０１５６】
ヒータコントローラ３２は、ヒータ温度Ｔｈｔが目標値Ｒ’に維持されるように、ヒータ１３に対する制御入力としてのデューティＤＵＴを逐次決定するものである。この場合、本実施形態では、第１実施形態のものと同様、例えばＰＩ制御もしくはＰＩＤ制御等のフィードバック制御アルゴリズムによって、ヒータ温オブザーバ２０が前記第１実施形態で説明したアルゴリズムで求めるヒータ温度Ｔｈｔの推定値を、目標値Ｒ’に収束させるようにデューティＤＵＴが算出される。例えばＰＩ制御のアルゴリズムによりデューティＤＵＴを算出する場合には、ヒータ温度Ｔｈｔの推定値と目標値Ｒ’との偏差に比例する制御入力成分（比例項）と、該偏差の積分値に比例する制御入力成分（積分項）との総和として、デューティＤＵＴが算出される。尚、第１実施形態の場合と同様、ヒータ温度Ｔｈｔの目標値Ｒ’へのフィードバック制御処理は、例えば最適制御のアルゴリズムや予見制御のアルゴリズム等、現代制御のアルゴリズムを用いて構築してもよい。ヒータ温度Ｔｈｔの目標値Ｒ’への制御をより安定に精度よく行うためには、基本的には、ヒータ温度Ｔｈｔの推定値と目標値Ｒ’との偏差に応じた制御入力成分（比例項や積分項）にさらに、例えば素子温度ＴＯ２（これは本実施形態ではヒータ温オブザーバ２０により推定される）に応じた制御入力成分や、排ガス温度Ｔｇｄ（これは本実施形態では排気温オブザーバ１９により推定される）に応じた制御入力成分、目標値Ｒ’に応じた制御入力成分等を加えてデューティＤＵＴを算出することがより好適である。
【０１５７】
Ｏ２出力目標値設定手段３０は、空燃比制御手段１７による空燃比の制御に用いるＯ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを逐次求めるものである。この場合、本実施形態におけるＯ２出力目標値設定手段３０の処理は、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔを素子温度ＴＯ２に応じて可変化するための補正係数ＫＶＯ２の設定の仕方（前記図１０のＳＴＥＰ２２の処理に対応する処理）のみが前記第１実施形態と相違している。すなわち、本実施形態では、素子温度ＴＯ２とヒータ温度Ｔｈｔとは前述したように相関性が高いことから、補正係数ＫＶＯ２は、例えば図１４に示すようにあらかじめ定められたデータテーブルに基づいてヒータ温度Ｔｈｔ（ヒータ温オブザーバ２０が求める推定値）に応じて設定される。この場合、定常状態ではヒータ温度Ｔｈｔは、概ね素子温度ＴＯ２よりも所定値ＤＲ（例えば１００℃）だけ高くなることから、ヒータ温度Ｔｈｔが８５０℃以上の温度であるとき（このとき、素子温度ＴＯ２は、概ね７５０℃以上の温度になる）には、補正係数ＫＶＯ２が“１”に設定される。これは、前記第１実施形態に係わる図１１でＴＯ２≧７５０℃であるときに、ＫＶＯ２を“１”に設定することに対応している。また、ヒータ温度Ｔｈｔが８５０℃よりも低い温度であるとき（このとき、素子温度ＴＯ２は概ね７５０℃よりも低い温度になる）には、ヒータ温度Ｔｈｔが低くなるに従って補正係数ＫＶＯ２は、“１”よりも多少大きくなるように設定される。これは、前記図１１において、ＴＯ２＜７５０℃であるときに、ＴＯ２が低くなるに従って補正係数ＫＶＯ２の設定値を大きくしておくことに対応している。
【０１５８】
以上説明した以外の構成及び処理は、前記第１実施形態のものと全く同一である。かかる本実施形態では、補正係数ＫＶＯ２をヒータ温度Ｔｈｔに応じて設定することで、間接的に、Ｏ２センサ８の出力Ｖｏｕｔの目標値Ｖｔｇｔが素子温度ＴＯ２に応じて可変的に設定されることとなる。また、ヒータ温度Ｔｈｔ（ヒータ温オブザーバ２０が求める推定値）を目標値Ｒ’に維持するようにヒータコントローラ２２によりヒータ１３の電力供給を制御することにより、間接的に素子温度ＴＯ２が目標値Ｒ’に対応する所定温度（これは前記第１実施形態における素子温度ＴＯ２の目標値Ｒにほぼ等しい）に制御される。従って、前記第１実施形態と同様に、素子温度ＴＯ２によらずに、触媒装置４の所要の浄化性能を確保する上で好適な目標値ＶｔｇｔにＯ２センサ８の出力Ｖｏｕｔを収束させるように空燃比を操作することができ、触媒装置４の浄化性能を確保を確実に行うことができる。また、前記第１実施形態と同様、排ガス中のＮＯｘが多くなるようなエンジン１の運転状況下ではＮＯｘの浄化率をより高めるように目標値Ｖｔｇｔが設定されるので、ＮＯｘの浄化を良好に行うことができる。
【０１５９】
尚、以上説明した第１及び第２実施形態では、Ｏ２センサ８を排ガスセンサとして備えたものを示したが、Ｏ２センサ８以外の排ガスセンサ（例えば、前記広域空燃比センサ９や、ＨＣセンサ、ＮＯｘセンサ等）についても本発明を適用することができることはもちろんである。
【０１６０】
また、内燃機関としては、通常のポート噴射式内燃機関、筒内直接噴射型火花点火式内燃機関、ディーゼル機関等、さらには船外機用の内燃機関等についても本発明を適用可能であることは言うまでも無い。
【図面の簡単な説明】
【図１】本発明の第１実施形態の装置の全体構成を模式的に示すブロック図。
【図２】図１の装置に備えたＯ２センサ（排ガスセンサ）の構造を示す断面図。
【図３】図２のＯ２センサの出力特性を示すグラフ。
【図４】図２のＯ２センサの出力と触媒装置による排ガスの浄化率との関係を示すグラフ。
【図５】図１の装置のコントロールユニットの排気温オブザーバの処理を説明するための断面図。
【図６】図１の装置の排気温オブザーバの機能的構成を示すブロック図。
【図７】図１の装置のコントロールユニットによるＯ２センサの素子部の温度制御に係わる全体的処理を示すフローチャート。
【図８】図７のフローチャートのサブルーチン処理を示すフローチャート。
【図９】図７のフローチャートのサブルーチン処理を示すフローチャート。
【図１０】図１の装置のコントロールユニットによるＯ２センサの出力の目標値の設定処理を示すフローチャート。
【図１１】図１０の要部の処理で用いるデータテーブルを示すグラフ。
【図１２】図１０の要部の処理で用いるデータテーブルを示すグラフ。
【図１３】本発明の第２実施形態の装置の全体構成を模式的に示すブロック図。
【図１４】図１３の装置のコントロールユニットの処理で用いるデータテーブルを示すブロック図。
【符号の説明】
１…エンジン（内燃機関）、２…エンジンの排気ポート、３…排気通路、４…触媒装置、８…Ｏ２センサ（排ガスセンサ）、１０…素子部、１３…ヒータ、１７…空燃比制御手段、１８，２３…Ｏ２出力目標値設定手段、１９…排気温オブザーバ（素子温度データ取得手段、ヒータ温度データ取得手段）、２０…素子温オブザーバ（素子温度データ取得手段、ヒータ温度データ取得手段）、２２，２５…ヒータコントローラ（ヒータ制御手段）。
【図１】
2004068736.tif 000013
【図２】
2004068736.tif 000014
【図３】
2004068736.tif 000015
【図４】
2004068736.tif 000016
【図５】
2004068736.tif 000017
【図６】
2004068736.tif 000018
【図７】
2004068736.tif 000019
【図８】
2004068736.tif 000020
【図９】
2004068736.tif 000021
【図１０】
2004068736.tif 000022
【図１１】
2004068736.tif 000023
【図１２】
2004068736.tif 000024
【図１３】
2004068736.tif 000025
【図１４】
2004068736.tif 000026