図1は、本発明を内燃機関としてのディーゼルエンジン1に適用した一形態を示している。エンジン1は車両に走行用動力源として搭載されるもので、そのシリンダ2には吸気通路3及び排気通路4が接続され、吸気通路3には吸気濾過用のエアフィルタ5、ターボチャージャ6のコンプレッサ6a、吸気量調節用の絞り弁7が、排気通路4にはターボチャージャ6のタービン6bがそれぞれ設けられている。排気通路4のタービン6bよりも下流側には吸蔵還元型NOx触媒(以下、触媒と略称する。)8を含んだ排気浄化ユニット9と、その触媒8の下流にて排気中の硫黄成分の濃度を検出する濃度検出手段としての硫黄濃度センサ10とが設けられている。排気浄化ユニット9は排気中の粒子状物質を捕捉するディーゼルパティキュレートフィルタにNOx触媒物質を担持させたものでもよいし、そのようなフィルタとは別に設けられるものでもよい。排気通路4と吸気通路3とはEGR通路11で接続され、EGR通路11にはEGRクーラ12及びEGR弁13が設けられている。また、排気通路4には、硫黄濃度センサ10の反応に必要な酸素を含んだ空気(新気)を供給するエアーポンプ14が設けられている。
NOx触媒8の設置箇所における空燃比(排気空燃比と呼ぶことがある。)やNOx触媒8の温度はエンジンコントロールユニット(ECU)15にて制御される。ECU15はシリンダ2に燃料を噴射するための燃料噴射弁16、燃料噴射弁16へ供給される燃料圧力を蓄えるコモンレール17の圧力調整弁、あるいは上述した絞り弁7、EGR弁13といった各種の装置を操作してエンジン1の運転状態を制御する周知のコンピュータユニットである。ECU15はシリンダ2に吸入される空気と燃料噴射弁16から添加される燃料との質量比として与えられる空燃比が所定の目標空燃比に制御されるように燃料噴射弁16の燃料噴射動作を制御する。通常の運転時において、目標空燃比は理論空燃比(ストイキ)よりも空気量が多いリーン状態に制御されるが、NOx触媒8からNOxやSOxを放出させる場合には排気空燃比がストイキ又はそれよりも燃料量が多いリッチ側に制御される。また、ECU15は後述する図6〜図9のルーチンを実行することにより、本発明の被毒回復制御手段として機能する。ECU15による制御対象はその他にも種々存在するが、ここでは図示を省略する。また、エンジン1には上述した各種の制御を実行するための検出手段として排気温センサや空燃比センサ等の各種のセンサが設けられるがそれらの図示も省略する。
次に、硫黄濃度センサ10の一例を図2及び図3を参照して説明する。図2に示すように、硫黄濃度センサ10は排気中のSOx濃度を検出するSOx濃度検出部20と、排気中のSOx及びH2Sの合計濃度を検出する合計濃度検出部21と、検出部20、21の温度を調整するための温度調整手段としての電気ヒーター22とを備えている。ヒーター22の動作はECU15により制御される。図3(a)はSOx濃度検出部20の検出原理を、同(b)は合計濃度検出部21の検出原理をそれぞれ示している。なお、図3(a)に示した構成、及びこれに関する以下の説明は、「「煙道中のSO2を測定する全固体型ガスセンサー」工業材料1999年8月号(vol.47 NO.8)第63〜66頁」を出典とするものである。図3(a)に示すように、SOx濃度検出部20では、酸素イオン伝導体23の一方の面に副電極24及び検知電極25が、酸素イオン伝導体23の他方の面に参照電極26がそれぞれ設けられている。酸素イオン伝導体23には例えばイットリア安定化ジルコニアが、副電極24には硫酸塩が、検知電極25には銀(Ag)が、参照電極26には白金(Pt)がそれぞれ使用される。副電極24の硫酸塩には、好ましくは硫酸銀(Ag2SO4)と硫酸バリウム(BaSO4)の混合塩が使用される。副電極24の応答反応には硫酸銀が関与するが、その安定化のために硫酸バリウムが添加される。また、検知電極25の応答反応には金属銀が関与するが、電極強度の向上のためには銀メッキを施した白金が好適に用いられる。
SOx濃度検出部20における検出原理は次の通りである。まず、SOx濃度検出部20に導かれた硫黄酸化物(SOx、但し大半は二酸化硫黄(SO2))は酸化触媒28Aによりその殆どが三酸化硫黄(SO3)へと酸化され、そのSO3が検知電極25の金属銀と反応して金属銀から電子が放出され、残った銀イオン(Ag+)は副電極24へ移動する。検知電極25から放出された電子は外部回路27を経由して参照電極26に導かれ、その参照電極26が酸素(O2)と結び付いて酸素イオン(O2−)が生成され、その酸素イオンは酸素イオン伝導体23を通過して副電極24へ移動する。副電極24では銀イオンと酸素イオンとがSO3と反応して硫酸銀が生成される。以上の反応により、検知電極25と参照電極26との間には、酸素分圧一定の条件下においてSOxの濃度に対応した起電力が発生する。この起電力を測定することにより、SOx濃度を検出することができる。なお、酸化触媒28Aは酸化力の弱いものであり、H2Sは殆ど酸化されずにそのまま触媒28Aを通過する。従って、SOx濃度検出部20における起電力はH2S濃度を反映しない。
一方、図3(b)に示すように、合計濃度検出部21は、酸化力の弱い触媒28Aに代えて、H2Sに対する酸化触媒活性を有する酸化力の強い酸化触媒28Bを備えている。その他の構成はSOx濃度検出部20と同様である。つまり、合計濃度検出部21は、SO2及びH2Sを酸化触媒28BによりSO3に変化させ、そこで生成されたSO3と、排気中に存在していたSO3とを副電極24及び検知電極25で反応させることにより、排気中のSOxとH2Sとの合計濃度に対応した起電力を電極25、26の間に発生させる点でSOx濃度検出部20と相違する。そして、硫黄濃度センサ10においては、両検出部20、21で検出された起電力の差を検出することにより、排気中のH2Sの濃度を検出することができる。酸化触媒28A、28Bの酸化力の差別化は、例えば触媒物質としてのプラチナ(Pt)の密度の相違、触媒28A、28Bの容量の相違、触媒物質の相違等によって実現することができる。すなわち、酸化力の弱い触媒28AのPt密度を小さく(Pt担持量を少なく)、酸化力の強い触媒27BのPt密度を高く(Pt担持量を大きく)設定してもよいし、触媒28A、28BのPt密度を同一としつつ触媒28Aの容量を小さく、触媒28Bの容量を大きくしてもよい。あるいは、触媒28Aについては酸化力の弱い触媒物質(一例としてパラジウム(Pd))を使用し、触媒28Bについては酸化力の強い触媒物質(一例としてPt)を使用してもよい。酸化力の弱い触媒28Aの温度を酸化力の強い触媒28Bの温度よりも相対的に低く制御することによっても、触媒28A、28Bの酸化力を差別化することができる。さらに、これらの手段を適宜に組み合わせて触媒28A、28Bの酸化力を差別化してもよい。酸化触媒28Bとしては、H2Sに対する酸化触媒活性を有する電極を使用してもよい。なお、硫黄濃度センサ10ではSOx濃度及び合計濃度のそれぞれの検出に酸素を利用する。従って、ECU15は、排気空燃比がリッチ域に制御されるS被毒回復処理中でもそれらの濃度が確実に検出されるように両検出部20、21に対して反応に必要な酸素を含んだ空気(新気)が供給されるようにエアーポンプ14の動作を制御する。また、ECU15は、両検出部20、21の電極等の素子が活性化するように、両検出部20、21が通常使用時の目標温度(例えば600°C)に昇温されるようにヒーター22の動作を制御している。
次に、図4を参照してS被毒回復処理中のECU15による排気空燃比の制御の概要を説明する。図4はS被毒回復処理において硫黄濃度センサ10が検出するSOx濃度、合計濃度及びそれらの濃度から導き出されるH2S濃度と、排気空燃比との対応関係の一例を示している。排気空燃比をストイキからリッチ側へと排気空燃比を変化させるとSOx濃度は直ちに上昇するが、途中の空燃比Xでピークを迎え、以降は排気空燃比がリッチ側により深く変化してもSOx濃度は減少する。一方、合計濃度は破線で示した通り排気空燃比がストイキからリッチ側へ向かうに従って一様に増加する。H2Sの濃度はこれらの濃度の差分であり、排気空燃比がストイキ付近に制御されている間は検出されず、SOx濃度がピークを迎える位置X付近で検出され始め、以降は排気空燃比がリッチ側に変化するに従ってH2S濃度が漸次増加する。NOx触媒8からのSOx放出量は排気空燃比がリッチ側に変化するに従って増加するが、排気空燃比が一定レベルを超えてリッチ側に偏った領域ではSOxからH2Sへの変化が顕著となり、その結果としてSOx濃度の検出値が低下するためにこのような特性が生じる。本形態では、H2Sの濃度について硫黄臭の防止等の観点から許容レベルが設定される。そして、ECU15は、硫黄濃度センサ10にてSOxが検出され、かつH2S濃度が許容レベル以下に収まる排気空燃比の範囲A1でS被毒回復処理が実行されるようにエンジン1の運転状態を制御する。このような制御により、H2Sによる硫黄臭を抑えつつNOx触媒8からSOxを放出させてS被毒回復処理を確実に進めることができる。
また、図5に示すようにS被毒回復処理中に生成されるH2Sの濃度はNOx触媒8の温度とも相関する。排気空燃比が一定と仮定した場合、触媒温度が下限温度Tlow(例えば600°C付近)を超えるとH2Sの生成が始まり、以降は触媒温度が上昇するに従ってH2S濃度も上昇する。従って、NOx触媒8の温度を制御してH2Sの濃度を図4の許容レベル以下に抑えることもできる。すなわち、S被毒回復処理中においてH2S濃度が許容レベルを超えて上昇しそうな場合に、NOx触媒8の温度がSOxの放出温度域内において相対的に低下するようにエンジン1の運転状態を制御すればH2Sの濃度を許容レベル以下に制御することができる。ECU15はこのような制御も実行可能である。
次に、図6〜図9を参照してS被毒回復処理のためにECU15が実行する各種の制御ルーチンを説明する。図6はS被毒回復処理の開始時期を判別するためにECU15が実行するS放出開始制御ルーチンを示している。このルーチンはエンジン1の運転中において適当な周期で繰り返し実行される。図6のルーチンにおいて、ECU15はまずステップS1でNOx触媒8のS被毒量を判別するためのS被毒カウンターの値が所定値以上か否か判断する。ECU15は、別のルーチンにより燃料噴射弁16から噴射される燃料噴射量と燃料中に含まれる硫黄成分比率の推定値とに基づいてNOx触媒8に被毒するSOx量を逐次演算しており、S被毒カウンターにはその算出値が積算される。ステップS1で使用される所定値はS被毒回復処理が必要な程にSOx被毒量が増加したか否かを判別するための閾値として設定される。なお、NOx触媒のS被毒量はNOx触媒8の上流側にSOxセンサを配置し、その検出量を積算して判別してもよい。NOx触媒8の下流にNOxセンサが配置される場合には、そのNOxセンサが検出するNOx濃度からNOx触媒8の劣化度合いを判別してS被毒回復処理が必要か否かを判別してもよい。
ステップS1にてS被毒カウンターの値が所定値以上でなければS被毒回復処理が必要なレベルまでSOx被毒が進行していないと判断して図6のルーチンを終了する。一方、ECU15は、S被毒カウンターの値が所定値以上のときはS被毒量が限界と判断し、ステップS2でS放出要求フラグをオンにしてルーチンを終了する。
S放出要求フラグのオンに対応してS被毒回復処理を実施するため、ECU15は図7の排気空燃比制御ルーチン及び図8の昇温制御ルーチンを一定の周期で繰り返し実行する。図7の排気空燃比制御ルーチンにおいて、ECU15はまずステップS11でS放出要求フラグがオンか否か判断し、オンの場合にステップS12以下に進み、オフであればステップS12以下の処理をスキップして今回のルーチンを終了する。ステップS12では、排気空燃比がリッチ域(ストイキよりも燃料量が多い領域)に維持され、かつNOx触媒8がSOxの放出温度域に昇温されるようエンジン1の運転状態を制御してS被毒回復処理を実施する。既にS被毒回復処理が実施されているときはその状態を継続する。排気空燃比のリッチ化及びNOx触媒8の昇温は、例えばシリンダ2における燃焼を目的として行われる本来の燃料噴射の後に燃料噴射弁16から追加的に燃料を噴射するいわゆるポスト噴射により実現すればよい。排気通路4のNOx触媒8よりも上流に燃料添加弁が設けられる場合にはその燃料添加弁から燃料を添加して排気空燃比をリッチ域に制御してもよい。本発明におけるエンジン1の運転状態の制御は、シリンダ2における燃焼制御に限らず、こうした排気通路4における制御も含む概念である。
ステップS12でS被毒回復処理を開始した後はステップS13に進み、硫黄濃度センサ10が検出するSOx濃度が所定値以上か否か判断する。ここで使用される所定値はS被毒回復処理を適当な期間内で完了させるために最低限必要とされるSOx放出レベル(最低必要レベル)に設定される。SOx濃度が所定値未満の場合にはステップS15へ進んで排気空燃比をリッチ側に所定のステップ量変化させる。ここでいうリッチ側への変化は排気空燃比をステップS15における変更前のそれと比して空気量が減少する側へ変化させることを意味し、ストイキからリッチ域へ変化させることを意味するものではない。排気空燃比のリッチ側への変化は例えば吸入空気量(正確には酸素量)が減少するように絞り弁7やEGR弁13を操作することによって実現される。あるいはポスト噴射によって供給する燃料量を増加させてもよい。
ステップS13にてSOx濃度が所定値以上の場合にはステップS14へ進み、硫黄濃度センサ10が検出するH2S濃度、すなわちSOx濃度検出部20と合計濃度検出部21のそれぞれの起電力の差から導き出されるH2S濃度が所定値以上か否か判断する。ここで使用される所定値は図4の許容レベルに設定される。但し、制御の応答遅れによる一時的なH2S濃度の許容レベル外への上昇を防ぐため、ステップS14の所定値を許容レベルよりもさらに低く設定してもよい。H2S濃度が所定値未満であればステップS15へ進み、排気空燃比をリッチ側へ変化させる。一方、H2S濃度が所定値以上であればステップS16へ進み、排気空燃比をリーン側に所定のステップ量変化させる。ここでいうリーン側への変化は排気空燃比をステップS14における変更前のそれと比して空気量が増加する側へ変化させることを意味し、ストイキを超えてリーン域へ変化させることを意味するものではない。排気空燃比のリーン側への変化は例えば吸入空気量が増加するように絞り弁7やEGR弁13を操作することによって実現される。あるいはポスト噴射によって供給する燃料量を減少させてもよい。NOx触媒8の暖機促進等を目的として排気通路4に空気を導入するエアーインジェクション装置が装備されている場合にはそのエアーインジェクション装置から排気通路4に空気を導入して排気空燃比をリーン側に変化させてもよい。ステップS15又はS16にて排気空燃比を変化させた後は今回のルーチンを終了する。
一方、図8の昇温制御ルーチンにおいて、ECU15はまずステップS21でS放出要求フラグがオンか否か判断し、オンの場合にステップS22以下に進み、オフであればステップS22以下の処理をスキップして今回のルーチンを終了する。ステップS22では、排気空燃比がリッチ域に維持され、かつNOx触媒8がSOxの放出温度域まで昇温されるようエンジン1の運転状態を制御してS被毒回復処理を実施する。これらの内容は図7のステップS11及びS12と同じである。続くステップS23及びS24では図7のステップS13及びS14と同じくSOx濃度が所定値以上か否か、H2S濃度が所定値以上か否かを判断する。これらの所定値はステップS13又はS14のものとそれぞれ同一でよい。そして、SOx濃度が所定値未満又はH2S濃度が所定値未満の場合にステップS25へ進んでNOx触媒8に対する昇温制御の目標温度を所定のステップ量上昇させ、SOx濃度が所定値以上でかつH2S濃度が所定値以上の場合にステップS26へ進んで昇温制御の目標温度を所定のステップ量低下させる。ECU15はS被毒回復処理中に別ルーチンにてNOx触媒8の温度をSOxの放出温度域内の目標温度に一致するようエンジン1の運転状態を制御しており、ステップS25及びS26の処理はその目標温度を変化させることによりNOx触媒8の温度を変化させるものである。
NOx触媒8の温度調整は例えばポスト噴射にて供給される燃料量の増減によって実現できる。勿論、燃料量が多いほど触媒温度は上昇する。また触媒温度の低下はポスト噴射量の減少によって実現できる。但し、NOx触媒8の温度は排気温度と相関するため、例えばシリンダ2における燃焼を目的としたメイン噴射の時期をずらして排気温度を変化させることによっても触媒温度を調整することができる。この場合、燃料噴射時期をリタード(遅角側へ変化)させれば触媒温度が上昇し、リタードされた燃料噴射時期を進角側へ戻せば触媒温度が低下する。ステップS25又はS26で触媒温度の目標温度を変更した後は今回の昇温制御ルーチンを終える。
図9はS被毒回復処理の終了時期を判別するためにECU15が実行するS放出終了制御ルーチンを示している。このルーチンはエンジン1の運転中において適当な周期で繰り返し実行される。図9のルーチンにおいて、ECU15はまずステップS31でS被毒カウンターの値が所定値以上か否か判断する。ここで使用される所定値は図6のステップS1で使用される所定値と同じでよい。S被毒カウンターの値が所定値以上の場合にステップS32以下に進み、所定値未満であればステップS32以下の処理をスキップして今回のルーチンを終える。ステップS32では、S被毒回復処理が実施されているか否かを判断し、実施されている場合にステップS33へ進む。S被毒回復処理が実施されていないときはステップS33以下の処理をスキップして今回のルーチンを終える。
ステップS33では硫黄濃度センサが検出するSOx濃度が所定以上か否かを判断する。ここで使用される所定値はS被毒回復処理を終了すべきか否かを判別するための閾値として設定される。S被毒回復処理を進行させるために必要な最低レベルのSOxが放出されているにも拘わらずS被毒回復処理が終了しないよう、ステップS33の所定値は図7のステップS13及び図8のステップS23でそれぞれ使用される所定値よりも小さく設定される。そして、ステップS33にてSOx濃度が所定値未満と判断した場合にステップS34へ進んでS放出要求フラグをオフに切り替えて今回のルーチンを終える。ステップS33でSOx濃度が所定値以上の場合はステップS34をスキップしてルーチンを終える。
このようにECU15はH2S濃度及びSOx濃度に基づいてS被毒回復処理を実施しているが、硫黄濃度センサ10の検出部20、21は排気中のHC、SOF、スス等の被毒物質による影響でゼロ点がずれる可能性がある。そこで、ECU15は、図10に示したゼロ点補正制御ルーチンをエンジン1の運転中に適当な周期で繰り返し実行し、検出部20、21のゼロ点を補正する。ECU15は、図10の制御ルーチンを実行することにより、本発明のゼロ点補正手段として機能する。
図10の制御ルーチンにおいてECU15は、まずステップS41で排気の状態がゼロ点補正可能状態であるか否か判断し、ゼロ点補正可能状態であると判断した場合にステップS42に進む。一方、ゼロ点補正可能状態ではないと判断した場合は、今回のルーチンを終了する。ゼロ点補正可能状態であるか否かは、例えば図11に示したマップを参照して判断する。図11のマップは、NOx触媒8の温度とNOx触媒8を通過する排気の空間速度(SV)との関係を示している。図11において、温度T1はNOx触媒8の活性開始温度を、温度T2はNOx触媒8から硫黄分が脱離する硫黄分脱離温度を、それぞれ示している。また、SVQ1はNOx触媒8によるエンジン1の排気に含まれるSOxのトラップ率(捕捉率)が低下するSVを示している。排気の状態が図11に示した領域A1にある場合、エンジン1から排出されたSOxはNOx触媒8によって殆ど捕捉されるので、NOx触媒8の下流におけるSOxは殆どゼロになる。なお、この際、排気空燃比はリーンの状態である。そこで、このような領域A1をゼロ点補正可能状態として設定する。なお、NOx触媒8の温度は、ECU15がエンジン1の運転状態から推定して取得する。このようにNOx触媒8の温度を取得することで、ECU15は触媒温度取得手段として機能する。NOx触媒8の温度は、NOx触媒8に温度センサを設けて取得してもよい。ステップS42においてECU15は、その時点における両検出部20、21の検出値をゼロとして両検出部20、21のゼロ点補正を実施する。その後、今回のルーチンを終了する。
このように、両検出部20、21のゼロ点補正を適宜実施することでSOx濃度及び合計濃度の検出精度を向上させることができる。そのため、S被毒回復処理時の制御精度を向上させ、H2Sの放出を確実に抑えることができる。S被毒回復処理時以外の時期に両検出部20、21が許容上限値以上の検出値を継続して検出した場合は、両検出部20、21のゼロ点がずれていると考えられる。そこで、このような場合に図10のルーチンを実行して両検出部20、21をゼロ点補正してもよい。なお、許容上限値としては、例えばS被毒回復処理時以外の時期に検出されるSOx濃度として明らかに誤検出であると判断できる値が設定される。
硫黄濃度センサ10は、排気中のスス、SOF、HC等の被毒物質によって電極が被毒され、異常が生じるおそれがある。硫黄濃度センサ10に異常がある場合、誤った合計濃度やSOx濃度が検出されてNOx触媒8のS被毒回復処理が適正に実行できず、H2Sが発生したり、NOx触媒8からのSOxの放出が不十分になるおそれがある。そこで、ECU15は、エンジン1の運転中に適当な周期で図12のルーチンを繰り返し実行し、硫黄濃度センサ10の異常の有無を診断する。
図12のルーチンにおいてECU15は、まずステップS51でNOx触媒8のS被毒量を判別するためのS被毒カウンターの値が所定値以上か否か判断する。S被毒カウンターが所定値未満であると判断した場合、今回の制御ルーチンを終了する。なおステップS51で使用する所定値は、図6のステップS1で使用する所定値と同じでもよいし、NOx触媒8をSOx放出状態にしたときにNOx触媒8からSOxが放出される程度の所定量が設定されていてもよい。
一方、S被毒カウンターが所定値以上であると判断した場合はステップS52に進み、ECU15はNOx触媒8からSOxが放出されるSOx放出条件が成立しているか否かを判断する。SOx放出条件が成立していないと判断した場合、今回のルーチンを終了する。NOx触媒8からSOxが放出される条件としては、例えばNOx触媒8の温度が600°C以上で、かつ排気空燃比が理論空燃比(ストイキ)よりもリッチ側である場合が設定される。SOx放出条件が成立していると判断した場合はステップS53に進み、ECU15は両検出部20、21の検出値が異常判定値以上か否かを判断する。ステップS53で使用される異常判定値には、NOx触媒8からのSOx放出時に硫黄濃度センサ10によって検出されるSOx濃度として明らかに誤りであると判断可能な閾値が設定される。図4及び図5に示したように、NOx触媒8のS被毒量が所定量以上であるとともにSOx放出条件が成立している場合、NOx触媒8からはSOxが放出されていると考えられる。そこで、このような状態で両検出部20、21の検出値が異常判定値以上にならない場合は、硫黄濃度センサ10に異常があると診断できる。SOx濃度検出部20又は合計濃度検出部21の検出値が異常判定値以上ではないと判断した場合、ステップS54に進み、ECU15は硫黄濃度センサ10に異常があることを示すセンサ異常フラグをオンの状態にする。その後、今回のルーチンを終了する。一方、両検出部20、21の検出値が異常判定値以上であると判断した場合はステップS55に進み、ECU15はセンサ異常フラグをオフの状態にする。その後、今回のルーチンを終了する。
このように、NOx触媒8から確実にSOxが放出されている時期における両検出部20、21の検出値を調べることにより、硫黄濃度センサ10の異常の有無を簡易に診断することができる。なお、ECU15が硫黄濃度センサ10の異常の有無を診断するために実行する診断ルーチンは図12のルーチンに限定されない。ECU15は、図13〜図16に示した診断ルーチンを実行することによって硫黄濃度センサ10の異常の有無を診断してもよい。
図13のルーチンでは、NOx触媒8からH2Sが放出されるようにエンジン1の運転状態を制御し、この時に硫黄濃度センサ10によりH2Sの放出が検出できたか否かを参照して硫黄濃度センサ10の異常の有無を診断する点が図12のルーチンと異なる。図13のルーチンは、エンジン1の運転中に適当な周期で繰り返し実行される。なお、図13において図12と同一の処理には同一の参照符号を付し、説明を省略する。
図13のルーチンにおいて、ステップS52までは図12のルーチンと同様の処理を行う。ステップS52でSOx放出条件が成立していると判断した場合はステップS61に進み、ECU15はNOx触媒8からH2Sが放出されるように、例えば図4に示したように排気空燃比が理論空燃比よりもリッチ側に深く変化するようにエンジン1の運転状態を制御する。次のステップS62においてECU15は、NOx触媒8からのH2Sの放出が硫黄濃度センサ10によって検出されたか否かを判断する。H2Sの放出が検出されなかったと判断した場合はステップS54に進み、ECU15はセンサ異常フラグをオンの状態にする。その後、今回の制御ルーチンを終了する。一方、H2Sの放出が検出されたと判断した場合はステップS55に進み、ECU15はセンサ異常フラグをオフの状態にする。その後、今回の制御ルーチンを終了する。
図14の制御ルーチンでは、硫黄濃度センサ10に断続的に酸素を供給し、この時の硫黄濃度センサ10の検出値の変化を参照して硫黄濃度センサ10の異常の有無を診断する点が他の診断ルーチンと異なる。図14のルーチンは、エンジン1の運転中に適当な周期で繰り返し実行される。なお、図14において、図12と同一の処理には同一の参照符号を付し、説明を省略する。
図14のルーチンにおいてECU15は、まずステップS71でNOx触媒8のS被毒回復処理が実施中であるか否かを判断する。実施中ではないと判断した場合は今回のルーチンを終了する。一方、実施中であると判断した場合はステップS72に進み、ECU15は硫黄濃度センサ10に断続的に酸素を供給する。一方、実施中ではないと判断した場合は、今回のルーチンを終了する。硫黄濃度センサ10に供給する酸素量は、例えばエアーポンプ14で供給する新気量によって変化させてもよいし、EGR量、吸入空気量によって変化させてもよい。また、燃料噴射量を変化させて酸素量を変化させてもよい。次のステップS73において、ECU15は硫黄濃度センサ10の検出値の変化が異常範囲内であるか否か判断する。上述した検出原理で説明したように両検出部20、21は、酸素を利用してSOx濃度を検出している。そのため、硫黄濃度センサ10が正常であれば、検出部20、21に供給する酸素量を断続的に変化させることで、両検出部20、21の検出値が大きく変化すると考えられる。なお、ステップS73で使用する異常範囲には、両検出部20、21が正常であるときに検出部20、21に断続的に酸素を供給した場合、各検出部20、21の検出値が変化すると推定される範囲が設定される。SOx濃度検出部20又は合計濃度検出部21の検出値の変化が異常範囲内(正常範囲外)であると判断した場合、ステップS54に進み、ECU15は、センサ異常フラグをオンの状態にする。その後、今回の制御ルーチンを終了する。一方、両検出部20、21の検出値の変化が異常範囲外(正常範囲内)であると判断した場合、ステップS55に進み、ECU15はセンサ異常フラグをオフの状態にする。その後、今回の制御ルーチンを終了する。
図15では、硫黄濃度センサ10のゼロ点補正実施後も、硫黄濃度センサ10が所定値以上の検出値を検出しているか否かを参照して硫黄濃度センサ10の異常の有無を診断する点が他の診断ルーチンとは異なる。図15のルーチンは、エンジン1の運転中に適当な周期で繰り返し実行される。なお、図15において、図12と同一の処理には同一の参照符号を付し、説明を省略する。
図15のルーチンにおいてECU15は、まずステップS81で硫黄濃度センサ10のゼロ点補正処理が実施されたか否かを判断する。ゼロ点補正処理が実施されていないと判断した場合は今回のルーチンを終了する。一方、ゼロ点補正が実施されたと判断した場合はステップS82に進み、ECU15はエンジン1の運転状態がNOx触媒8からSOxが放出されるSOx放出領域であるか否か判断する。SOx放出領域であると判断した場合、今回のルーチンを終了する。一方、SOx放出領域ではないと判断した場合はステップS83に進み、ECU15は硫黄濃度センサ10の検出部20、21の各検出値が所定値以上であるか否か判断する。ゼロ点補正が実施され、かつNOx触媒8からSOxが放出されていない場合に硫黄濃度センサ10が所定値以上の検出値を検出している場合は、硫黄濃度センサ10に異常があると診断できる。なお、ステップS83で使用される所定値は、例えばS被毒回復処理時以外の時期に検出されるSOx濃度として明らかに誤検出であると判断できる値が設定される。SOx濃度検出部20又は合計濃度検出部21の検出値が所定値以上であると診断した場合はステップS54の処理を、両検出部20、21の検出値が所定値未満であると診断した場合はステップS55の処理を実行する。その後、今回のルーチンを終了する。
図16のルーチンでは、エンジン1の排気空燃比が理論空燃比よりリッチ側で運転されている場合のH2S濃度を参照して硫黄濃度センサ10の異常の有無を診断する点が他の診断ルーチンと異なる。図16のルーチンは、エンジン1の運転中に適当な周期で繰り返し実行される。なお、図16において、図12と同一の処理には同一の参照符号を付し、説明を省略する。
図16のルーチンにおいてECU15は、まずステップS91で排気空燃比が理論空燃比よりもリッチ側であるか否か判断する。リッチ側でないと判断した場合、今回のルーチンを終了する。リッチ側であると判断した場合、ステップS92に進み、ECU15はH2S濃度が所定時間負の値であったか否かを判断する。なお、硫黄濃度センサ10においては、SOx濃度検出部20の酸化触媒28Aによる酸化反応と比べて、合計濃度検出部21の酸化触媒28Bによる酸化反応、特にはH2Sの酸化反応に関してより多くの時間が必要となる。加えて、触媒28AにおいてはSOxのみを酸化させるのに対して、触媒28BにおいてはSOxとH2Sの両者を酸化させる必要があるので、酸化反応により多くの時間を要する。さらに、触媒28Aよりも触媒28Bの容量を大きく設定した場合には、容量が大きくなる分、排気が触媒28Bを通過する時間が触媒28Aに対するそれよりも長くなる。そこで、ステップS92で使用される所定時間には、酸化触媒28Bにおける酸化反応に必要な時間を考慮しても硫黄濃度センサ10に異常があると判断可能な時間が設定される。H2S濃度が所定時間負の値であったと判断した場合はステップS54の処理を、H2S濃度が所定時間負の値ではなかったと判断した場合はステップS55の処理を、それぞれ実行する。その後、今回のルーチンを終了する。
このように図12〜図16のルーチンを実行することでECU15は異常診断手段として機能する。なお、図12〜図16の診断ルーチンは各々個別に実行してもよいし、複数のルーチンを組み合わせて実行してもよい。組み合わせて実行する場合は、優先順位に基づいて各ルーチンを実行してもよいし、複数のルーチンを並列的に実行してもよい。
ECU15は、硫黄濃度センサ10に異常があると診断した場合、図17のルーチンを実行して、硫黄濃度センサ10の異常箇所を判別する。硫黄濃度センサ10は、SOx濃度検出部20と合計濃度検出部21とを備えているので、一方の検出部のみに異常がある場合でも、他方の正常な検出部の検出値によってSOxの放出を検出することができる。そこで、ECU15は、異常箇所を判別し、異常箇所に応じた処理を実施する。なお、図17のルーチンは、エンジン1の運転中に適当な周期で繰り返し実行される。
図17のルーチンにおいてECU15は、まずステップS101でセンサ異常フラグがオンであるか否か判断する。センサ異常フラグがオフであると判断した場合、今回のルーチンを終了する。一方、センサ異常フラグがオンであると判断した場合はステップS102へ進み、ECU15はヒーター22を制御して両検出部20、21を昇温する。続くステップS103においてECU15は、SOx濃度検出部20の検出値の変化が所定範囲(異常判別範囲)内であるか否か判断する。SOx濃度検出値が所定範囲内であると判断した場合はステップS104でSOx濃度検出部20に異常があることを示すSOx濃度検出部異常フラグをオンの状態にした後ステップS105に進む。一方、SOx濃度検出値が所定範囲外であると判断した場合はステップS104をスキップしてステップS105に進む。
図18は、SO2濃度と検出部からの出力(検出値)と検出部の温度との関係の一例を示している。例えば、排気中のSO2濃度が濃度x1で検出部の温度が温度T1である場合は、検出部から出力y1が出力される。一方、検出部の温度を温度T1から温度T2に昇温させた場合は、SO2濃度が同じ濃度x1でも、検出部からは出力y2が出力される。検出部が正常であれば、このように検出部の温度を変化させることで、出力を変化させることができる。そこで、検出部を昇温し、その時の出力の変化を調べて異常箇所を判別する。なお、ステップS103で使用される所定範囲は、異常箇所判別時に変化させるSOx濃度検出部20の温度差によって適宜設定される。例えば、異常箇所判別時にSOx濃度検出部20の温度を温度T1からT2に昇温する場合は、温度差T2−T1に対応する出力の変化Δyを所定範囲に設定する。
図17の説明に戻る。ステップS105においてECU15は、合計濃度検出部21の検出値の変化が所定値未満であるか否か判断する。所定範囲内であると判断した場合はステップS106で合計濃度検出部21に異常があることを示す合計濃度検出部異常フラグをオンの状態にした後ステップS107に進む。一方、所定範囲外であると判断した場合はステップS106をスキップしてステップS107に進む。上述したように合計濃度検出部21の電極の構造はSOx濃度検出部20と同様である。そのため、合計濃度検出部21が正常であれば、昇温による温度の変化に応じて出力が変化する。なお、ステップS105で使用する所定範囲は、異常箇所判別時に変化させる合計濃度検出部21の温度差によって適宜設定される。
次のステップS107においてECU15は、異常箇所に応じた処理を実施する。その後、今回のルーチンを終了する。異常箇所に応じた処置としては、例えば、SOx濃度検出部20又は合計濃度検出部21のいずれか片方のみに異常がある場合は、異常がある方の検出部の検出を禁止させる。両検出部20、21に異常がある場合は、例えばインパネ内の異常ランプを点灯して運転者へ硫黄濃度センサ10に異常があることを警告する。
このように、異常箇所を判別し、異常箇所に応じた処理を実施することで、誤ったS被毒回復処理の制御を防止することができる。そのため、H2Sの放出を抑えることができる。なお、本発明における「検出の禁止」の概念は、検出部20、21における濃度の検出を禁止することに限定されない。例えば、検出部20、21によって濃度を検出してもよいが、この検出した濃度に基づく制御等検出した濃度を利用して実施する種々の操作を禁止することも検出の禁止の概念に含まれる。
図19は、異常箇所判別ルーチンの他の実施例を示している。図19では、硫黄濃度センサ10への酸素供給を停止して異常箇所を判別する点が図17のルーチンと異なる。図19のルーチンはエンジン1の運転中に適当な周期で繰り返し実行される。なお、図19において図17と同様の処理には同一の参照符号を付し、説明を省略する。
図19のルーチンにおいてECU15は、まずステップS101でセンサ異常フラグがオンの状態であるか否か判断する。オンの状態であると診断した場合はステップS111以下に進み、オフの状態であると診断した場合はステップS111以下の処理をスキップして今回のルーチンを終了する。ステップS111では、両検出部20、21への酸素供給を停止する。続くステップS112においてECU15は、SOx濃度検出部20の検出値が所定値(異常箇所判別値)以下であるか否か判断する。上述したように検出部20、21は酸素を利用して起電力を発生させているので、検出部20への酸素供給が停止されると起電力が発生せず、検出値が低下すると考えられる。そのため、酸素供給停止時の検出値が所定値以下に低下しなければ、その検出部に異常があると判別できる。なお、ステップS112で使用される所定値には、例えばSOx濃度検出部20が正常で、かつ検出部20への酸素供給が停止された場合に検出部20から出力される検出値としては明らかに誤りであると判断可能な閾値が設定される。ステップS112で所定値以下ではないと判断した場合はステップS104でSOx濃度検出部異常フラグをオンの状態にした後ステップS113に進む。一方、所定値以下であると判断した場合はステップS104をスキップしてステップS113に進む。
ステップS113においてECU15は、合計濃度検出部21の検出値が所定値(異常箇所判別値)以下であるか否か判断する。所定値以下でないと判断した場合はステップS106で合計濃度検出部異常フラグをオンの状態にした後ステップS107に進む。一方、所定値以下であると判断した場合はステップS106をスキップしてステップS107に進む。合計濃度検出部21も、SOx濃度検出部20と同様に酸素供給が停止されると起電力が発生できず、検出値が低下する。そのため、SOx濃度検出部20と同様に検出値が所定値以下に低下しなければ、その検出部に異常があると判別できる。なお、ステップS113で使用される所定値は、ステップS112で使用される所定値と同じでよい。次のステップS107においてECU15は、異常箇所に応じた処理を実施する。その後、今回のルーチンを終了する。
両検出部20、21への酸素供給を停止させ、その時の両検出部20、21の検出値の変化を監視することでも、異常箇所を判別することができる。このように、図17、図19のルーチンを実行することでECU15は異常箇所判別手段として機能する。
硫黄濃度センサ10の検出部20、21が排気中の被毒物質に被毒されて劣化していると、それまでの検出部20、21の温度では検出部20、21を活性化させるために温度が不足している場合がある。そこで、硫黄濃度センサ10に異常があると診断した場合、ECU15は検出部20、21の活性化を促進させるために図20のルーチンを実行する。図20のルーチンは、エンジン1の運転中に適当な周期で繰り返し実行される。
図20のルーチンにおいてECU15は、まずステップS121でセンサ異常フラグがオンであるか否か判断する。センサ異常フラグがオフであると判断した場合、今回のルーチンを終了する。一方、センサ異常フラグがオンであると判断した場合はステップS122に進み、ECU15はヒーター22の動作を制御して検出部20、21を昇温する。続くステップS123においてECU15は、検出部20、21の昇温に伴う検出値の補正処理を行う。図18に示したように検出部20、21の検出値は温度によって変化する。そこで、例えば検出部20、21の温度を温度T1から温度T2に昇温した場合は、検出値から濃度を取得するために使用する検出値と濃度との関係を図18の線L1から線L2に変更する。その後、今回のルーチンを終了する。
このように検出部20、21が劣化していた場合は、検出部20、21を昇温して検出部20、21の活性化を促進させる。また、この昇温に応じて検出値の補正処理を実施することで、合計濃度、SOx濃度の検出精度を維持することができる。
硫黄被毒センサ10に異常があると診断した場合、ECU15は、硫黄濃度センサ10の異常を回復させるために図21のルーチンを実行する。図21のルーチンはエンジン1の運転中に適当な周期で繰り返し実行される。図21のルーチンを実行することで、ECU15は異常回復手段として機能する。図21のルーチンにおいてECU15は、まずステップS131でセンサ異常フラグがオンの状態であるか否か判断する。センサ異常フラグがオフの状態であると判断した場合、今回のルーチンを終了する。一方、センサ異常フラグがオンの状態であると判断した場合はステップS132へ進み、硫黄濃度センサ10の異常を回復させるための処理を実施する。その後、今回のルーチンを終了する。
異常回復処理としては、例えば検出部20、21の温度が通常使用時の目標温度よりも高く(例えば900°C)なるようにヒーター22の動作を制御する。このように検出部20、21を昇温することで、硫黄濃度センサ10の主に内部に付着した被毒物質を酸化除去することができる。また、NOx触媒8の温度が上昇するようにエンジン1の運転状態を制御してもよい。このようにNOx触媒8を昇温させて排気の温度を上昇させ、この高温の排気を硫黄濃度センサ10に導くことで、硫黄濃度センサ10の主に外側に付着した被毒物質を酸化除去することができる。なお、NOx触媒8の昇温は、例えばポスト噴射にて供給される燃料量を増加させることで実現できる。また、燃料噴射時期をリタードさせることによってもNOx触媒8の温度を上昇させることができる。さらに、このように硫黄濃度センサ10の温度を上昇させる際、硫黄濃度センサ10に供給する酸素量を増加させてもよい。酸素量は、例えばエンジン1の運転状態を制御して排気の酸素濃度を上昇させて増加させてもよいし、エアーポンプ14から供給される新気量を調整させて増加させてもよい。このように酸素量を増加させることで、被毒物質の酸化除去を促進させることができる。
硫黄濃度センサ10に異常があると診断した場合、ECU15は誤って導き出されたH2S濃度によるS被毒回復処理の実施を防止するために図22のルーチンを実行する。図22のルーチンは、エンジン1の運転中に適当な周期で繰り返し実行される。
図22のルーチンにおいてECU15は、まずステップS141でS放出要求フラグがオンの状態であるか否か判断し、オンであると判断した場合はステップS142以下に進み、オフであると判断した場合はステップS142以下の処理をスキップして今回のルーチンを終了する。ステップS142では、センサ異常フラグがオンの状態であるか否か判断する。センサ異常フラグがオフの状態であると判断した場合は、今回のルーチンを終了する。一方、センサ異常フラグがオンの状態であると判断した場合はステップS143に進み、ECU15は前回S被毒回復処理を実施した際の排気空燃比、触媒温度の制御目標値などが学習値としてECU15に保持されているか否か判断する。ECU15は、S被毒回復処理を実施した際に、その時の排気空燃比や触媒温度の制御目標値等を別ルーチンによって内部のRAMに学習値として保持する。学習値がないと判断した場合はステップS144に進み、ECU15は以降のNOx触媒8のS被毒回復処理を禁止する。続くステップS145では、インパネ内の異常ランプを点灯し、運転者に硫黄濃度センサ10に異常があることを警告する。その後、今回のルーチンを終了する。ステップS143で学習値があると判断した場合はステップS146に進み、ECU15は学習値に基づくS被毒回復処理を実行する、その後、今回のルーチンを終了する。
このように硫黄濃度センサ10に異常がある場合でも、硫黄濃度センサ10が正常であった時の学習値に基づいてNOx触媒8の温度や排気空燃比等を制御することで、H2Sの放出を抑制しつつS被毒回復処理を実施することができる。
本発明は以上の実施形態に限定されず、種々の形態にて実施してよい。例えば、本発明はディーゼルエンジンに限らず、ガソリンその他の燃料を利用する各種の内燃機関に適用してよい。
上記の形態では、硫黄濃度センサ10を、SOx濃度検出部20によるSOx濃度の検出と合計濃度検出部21による合計濃度の検出とが同時並行で行われるものとしたが、これらの濃度の検出が適当な周期で交互に行われるように硫黄濃度センサ10を構成してもよい。この場合にはSOx濃度検出部20と合計濃度検出部21との間で酸素イオン伝導体23、副電極24、検知電極25、及び参照電極26を共用し、酸化触媒28BにてH2Sを酸化するか否かを周期的に切り替えればよい。