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