内燃機関の排気浄化装置
【課題】還元剤を生成する反応剤に含まれる還元剤の濃度の変化あるいは還元剤供給装置の特性変化などに起因する還元剤供給量の変動を防止し、選択還元触媒への還元剤供給量制御を比較的簡単な構成で精度良く行うことができる排気浄化装置を提供する。
【解決手段】SCR触媒に貯蔵されている還元剤の量を示すストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後SCR触媒の下流側でNH3スリップの発生が検出されるまでストレージ量を増量するストレージ量変更制御を行い、該ストレージ量変更制御の実行中におけるNH3スリップの発生状態に応じて、尿素水噴射量を補正する適応係数KVNSを算出する。エンジン運転状態に応じてフィードフォワード噴射量GUREAFFを算出し適応係数KVNSを用いてフィードフォワード噴射量GUREAFFを補正することにより尿素水噴射量GUREAを算出する。
【解決手段】SCR触媒に貯蔵されている還元剤の量を示すストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後SCR触媒の下流側でNH3スリップの発生が検出されるまでストレージ量を増量するストレージ量変更制御を行い、該ストレージ量変更制御の実行中におけるNH3スリップの発生状態に応じて、尿素水噴射量を補正する適応係数KVNSを算出する。エンジン運転状態に応じてフィードフォワード噴射量GUREAFFを算出し適応係数KVNSを用いてフィードフォワード噴射量GUREAFFを補正することにより尿素水噴射量GUREAを算出する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、内燃機関の排気浄化装置に関し、特に還元剤の存在下で排気中のNOxを還元する選択還元触媒を備えるものに関する。
【背景技術】
【0002】
選択還元触媒を用いて排気中のNOxを浄化するNOx浄化装置は例えば特許文献3に示されている。このNOx浄化装置は、選択還元触媒と、還元剤を生成する反応剤としての尿素水溶液(以下単に「尿素水」という)を選択還元触媒の上流側に供給する尿素水供給装置とを備えている。この装置では、選択還元触媒に供給する尿素水量を調節することにより、還元剤供給量が制御される。
【0003】
尿素水量を一定としても、尿素水の尿素濃度が変化すると、還元剤供給量が変化するため、尿素濃度を監視する必要があり、特許文献1及び2には、尿素水を貯蔵する尿素水タンクに尿素濃度を検出するためのセンサ(尿素濃度センサ)を設置する技術が示されている。
【0004】
また特許文献3には、尿素濃度センサを用いずに、尿素水の凝固点に応じて尿素濃度を推定する手法が示されている。具体的には、タンク内の尿素水の温度を下げて凝固させ、凝固した尿素水が融解したときの温度を検出することにより、凝固点が計測される。
【0005】
また特許文献4には、還元剤としてアンモニアガスを選択還元触媒に供給する排気浄化装置が示されている。この装置によれば、選択還元触媒の下流側へのアンモニアの流出を最小限に抑制しつつ、NOxとアンモニアの比率が最適となるようにアンモニアガス供給量が制御される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−163177号公報
【特許文献2】特開2005−337969号公報
【特許文献3】特開2009ー209765号公報
【特許文献4】特表2008−546968号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1及び2に示されるように尿素濃度センサを用いる装置では、コストの上昇や重量及び設置スペースの増加を招く。さらに、タンク内の尿素水は車両走行によって振動し、その振動によって気泡が発生することがあるため、振動及び気泡の発生によって尿素濃度の検出精度が低下することがある。
【0008】
また特許文献3に示された手法には、以下のような課題がある。図41は、凝固点TSOLと尿素濃度CURとの関係を示す。この図41から明らかなように尿素濃度CURが正常濃度CUR0(32.5%)であることは正確に検出できるが(TSOL=TSOL0)、凝固点TSOLが例えばTSOL1であるときは、正常濃度CUR0より高い濃度CUR1Hである場合と、低い濃度CUR1Lである場合とがあり、どちらであるかを判定することはできない。一般的には、尿素濃度CURは減少方向に変化することが想定されるが、使用条件によっては増加方向に変化する場合があり、また規格外の尿素水が使用される場合もあるので、特許文献3に示された手法では尿素濃度の誤判定が発生する可能性がある。
【0009】
また特許文献3には推定された尿素濃度が閾値以下となったときに異常警報を行う点が示されているが、推定尿素濃度に基づく尿素水供給量の制御は示されていない。
【0010】
また特許文献4に示された装置では、アンモニアガス流量が流量センサにより検出され、検出されたアンモニアガス流量が指令値と一致するように流量制御弁が制御される。そのため、流量センサあるいは流量制御弁の特性ばらつき、あるいは経時劣化によってアンモニア供給量の制御精度が低下するおそれがある。
【0011】
本発明は上述した点を考慮してなされたものであり、選択還元触媒を用いてNOxを浄化する排気浄化装置であって、還元剤を生成する反応剤に含まれる還元剤の濃度の変化あるいは還元剤供給装置の特性変化などに起因する還元剤供給量の変動を防止し、還元剤供給量制御を比較的簡単な構成で精度良く行うことができる排気浄化装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため請求項1に記載の発明は、内燃機関の排気通路(2)に設けられ、還元剤の存在下で排気中のNOxを還元する選択還元触媒(3)と、還元剤(尿素、アンモニア)を生成する反応剤(尿素水)または還元剤を前記選択還元触媒(3)の上流側に供給する還元剤供給手段とを備える内燃機関の排気浄化装置において、前記選択還元触媒(3)の下流側に前記還元剤が排出される還元剤スリップの発生を判定する還元剤スリップ判定手段と、前記選択還元触媒(3)に貯蔵されている還元剤の量であるストレージ量(NH3ACT)を、該ストレージ量が最大である状態から一時的に低減し、その後前記還元剤スリップの発生が検出されるまで前記ストレージ量(NH3ACT)を増量するストレージ量変更手段と、該ストレージ量変更手段により前記ストレージ量(NH3ACT)を変更したときの前記還元剤スリップの発生状態に応じて、前記還元剤の供給量(GUREA)を補正する供給補正量(KVNS)を算出する供給補正量算出手段とを備え、前記還元剤供給手段は、前記機関の運転状態(NE,TRQ)または前記選択還元触媒の上流側におけるNOx濃度(NOxC)に応じて前記還元剤の基本供給量(GUREAFF)を算出し、前記供給補正量(KVNS)を用いて前記基本供給量(GUREAFF)を補正することにより前記還元剤の供給量(GUREA)を算出することを特徴とする。
【0013】
請求項2に記載の発明は、請求項1に記載の内燃機関の排気浄化装置において、前記ストレージ量変更手段は、前記ストレージ量の低減量(DSTUCJD)を、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量(NH3AMAXNG)より小さな値に設定することを特徴とする。
【0014】
請求項3に記載の発明は、請求項1または2に記載の内燃機関の排気浄化装置において、前記ストレージ量の推定値である推定ストレージ量(STNH3)を算出する推定ストレージ量算出手段を備え、前記供給補正量算出手段は、前記還元剤スリップ判定手段により判定される前記還元剤スリップの実発生時期と、前記推定ストレージ量に基づいて判定される推定還元剤スリップ発生時期との差に応じた誤差量(EVNS)を算出し、該誤差量(EVNS)に応じて前記供給補正量(KVNS)を算出することを特徴とする。
【0015】
請求項4に記載の発明は、請求項1または2に記載の内燃機関の排気浄化装置において、前記ストレージ量の推定値である推定ストレージ量(STNH3)を算出する推定ストレージ量算出手段と、前記ストレージ量の最大値の推定値である推定ストレージ容量(STNH3MAX)を算出する推定ストレージ容量算出手段とを備え、前記供給補正量算出手段は、前記還元剤スリップが発生した時点における、前記推定ストレージ量(STNH3)と前記推定ストレージ容量(STNH3MAX)との差である誤差量(EVNS)を算出し、該誤差量(EVNS)に応じて前記供給補正量(KVNS)を算出することを特徴とする。
【0016】
請求項5に記載の発明は、請求項3または4に記載の内燃機関の排気浄化装置において、前記供給補正量算出手段は、前記選択還元触媒のNOx浄化率に影響を与える状態パラメータ(VEX,TSCR)に応じて設定された複数の領域毎に重み関数値(Wij)を算出する重み関数値算出手段と、前記誤差量(EVNS)に前記重み関数値(Wij)を乗算することにより、前記領域に対応して重み付けされた重み付け誤差量(WEVNSij)を算出する重み付け誤差量算出手段と、前記重み付け誤差量(WEVNSij)に基づいて前記領域毎の補正量である領域補正量(Uij)を算出する領域補正量算出手段とを備え、前記領域補正量(Uij)と前記重み関数値(Wij)とを用いて前記供給補正量(KVNS)を算出することを特徴とする。
【0017】
請求項6に記載の発明は、請求項1から5の何れか1項に記載の内燃機関の排気浄化装置において、前記供給補正量(KVNS)と所定濃度判定閾値(KVNSOBDRICH,KVNSOBDLEAN)と比較し、該比較の結果に応じて前記反応剤中の還元剤濃度を判定する濃度判定手段をさらに備えることを特徴とする。
【発明の効果】
【0018】
請求項1に記載の発明によれば、選択還元触媒に貯蔵されている還元剤の量であるストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後還元剤スリップの発生が検出されるまでストレージ量を増量するストレージ量変更制御が行われ、該ストレージ量変更制御の実行中における還元剤スリップの発生状態に応じて、還元剤供給手段による還元剤の供給量を補正する供給補正量が算出される。さらに機関の運転状態または選択還元触媒の上流側におけるNOx濃度に応じて還元剤の基本供給量が算出され、供給補正量を用いて基本供給量を補正することにより還元剤の供給量が算出される。したがって、反応剤に含まれる還元剤の濃度変化あるいは還元剤供給装置の特性変化などに起因する還元剤供給量の変動を防止し、還元剤供給量制御を比較的簡単な構成で精度良く行うことができる。その結果、NOx排出量の増加あるいは余剰還元剤の排出(還元剤スリップ)を確実に防止することができる。
【0019】
請求項2に記載の発明によれば、ストレージ量の低減量が、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量より小さな値に設定されるので、選択還元触媒の劣化状態の影響を受けることなく供給補正量を算出することができる。
【0020】
請求項3に記載の発明によれば、ストレージ量の推定値である推定ストレージ量が算出され、還元剤スリップ判定手段により判定される還元剤スリップの実発生時期と、推定ストレージ量に基づいて判定される推定還元剤スリップ発生時期との差に応じた誤差量が算出され、該誤差量に応じて供給補正量が算出される。推定ストレージ量は還元剤濃度及び還元剤供給量が正常であることを前提として算出されるので、推定還元剤スリップ発生時期と、実発生時期との差に応じた誤差量は、還元剤濃度のずれあるいは還元剤供給量のずれを反映する。したがって、この誤差量に応じて供給補正量を算出することにより、還元剤濃度のずれあるいは還元剤供給量のずれを補償して還元剤供給量制御を精度良く行うことができる。
【0021】
請求項4に記載の発明によれば、ストレージ量の推定値である推定ストレージ量が算出されるとともに、ストレージ量の最大値の推定値である推定ストレージ容量が算出される。さらに還元剤スリップが発生した時点における、推定ストレージ量と推定ストレージ容量との差である誤差量が算出され、該誤差量に応じて供給補正量が算出される。推定ストレージ量は還元剤濃度あるいは還元剤供給量が正常であることを前提として算出されるので、還元剤スリップが発生した時点における推定ストレージ量と推定ストレージ容量との差である誤差量は、還元剤濃度のずれあるいは還元剤供給量のずれを反映する。したがって、この誤差量に応じて供給補正量を算出することにより、還元剤濃度のずれあるいは還元剤供給量のずれを補償して還元剤供給量制御を精度良く行うことができる。
【0022】
請求項5に記載の発明によれば、選択還元触媒のNOx浄化率に影響を与える状態パラメータに応じて設定された複数の領域毎に重み関数値が算出され、上記誤差量に重み関数値を乗算することにより、状態パラメータの領域に対応して重み付けされた重み付け誤差量が算出される。さらに重み付け誤差量に基づいて領域毎の補正量である領域補正量が算出され、この領域補正量と重み関数値とを用いて供給補正量が算出される。還元剤供給量が変化すると、選択還元触媒における反応熱が変化し、上記状態パラメータに応じた選択還元触媒のNOx浄化特性が変化する。したがって、状態パラメータに応じて算出される重み関数値を用いて重み付け誤差量を算出し、重み付け誤差量に基づいて領域補正量を算出し、この領域補正量と重み関数値とを用いて供給補正量を算出することにより、状態パラメータの変化に対応した最適な供給補正量を得ることができる。
【0023】
請求項6に記載の発明によれば、供給補正量と所定濃度判定閾値とが比較され、該比較の結果に応じて反応剤中の還元剤濃度が判定される。供給補正量には、還元剤濃度の変化が反映されるので、所定濃度判定閾値と比較することにより、還元剤濃度の変化を簡便に判定することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の一実施形態にかかる内燃機関及びその排気浄化装置の構成を示す図である。
【図2】本実施形態における尿素濃度判定手法を説明するためのタイムチャートである。
【図3】選択還元触媒が劣化した状態で尿素濃度判定を行うときの課題を説明するためのタイムチャートである。
【図4】選択還元触媒の温度(TSCR)と、還元剤ストレージ容量(NH3ACTMAX)との関係を示す図である。
【図5】尿素水噴射量(GUREA)の制御を行うモジュールの構成を示すブロック図である。
【図6】尿素水の基本噴射量(GUREABS)を算出するためのマップを示す図である。
【図7】アンモニア濃度センサ出力(NH3CONS)の2値化を説明するための図である。
【図8】図5のストレージ量算出部における演算処理のフローチャートである。
【図9】図5のスイッチング噴射量算出部における演算処理のフローチャートである。
【図10】図5のスイッチング噴射量算出部における演算処理のフローチャートである。
【図11】図8及び図9の処理で使用されるテーブル及びマップを示す図である。
【図12】図5の適応係数算出部における演算処理のフローチャートである。
【図13】図12の処理で実行されるEVNS算出処理のフローチャートである。
【図14】図12の処理で使用されるテーブルを示す図である。
【図15】図12の処理における補正量(Uij)の算出手法を説明するための図である。
【図16】図12の処理による制御動作を説明するためのタイムチャートである。
【図17】図5の濃度判定部における演算処理(第1の濃度判定手法)のフローチャートである。
【図18】図17の処理で実行される実行条件判定処理のフローチャートである。
【図19】図18の処理を説明するためのタイムチャートである。
【図20】図5の濃度判定部における演算処理(第2の濃度判定手法)のフローチャートである。
【図21】図20の処理を説明するためのタイムチャートである。
【図22】図5の濃度判定部における演算処理(第3の濃度判定手法)のフローチャートである。
【図23】図22の処理を説明するためのタイムチャートである。
【図24】図5の濃度判定部における演算処理(第4の濃度判定手法)のフローチャートである。
【図25】図24の処理を説明するためのタイムチャートである。
【図26】図5の濃度判定部における演算処理(第5の濃度判定手法)のフローチャートである。
【図27】第1の濃度判定手法を適用した動作例(正常濃度)を示すタイムチャートである。
【図28】第1の濃度判定手法を適用した動作例(高濃度)を示すタイムチャートである。
【図29】第1の濃度判定手法を適用した動作例(低濃度)を示すタイムチャートである。
【図30】第4の濃度判定手法を適用した動作例(高濃度)を示すタイムチャートである。
【図31】第4の濃度判定手法を適用した動作例(低濃度)を示すタイムチャートである。
【図32】第5の濃度判定手法を適用した動作例(高濃度)を示すタイムチャートである。
【図33】第5の濃度判定手法を適用した動作例(低濃度)を示すタイムチャートである。
【図34】第1の濃度判定手法を適用した動作例(劣化SCR触媒、正常濃度)を示すタイムチャートである。
【図35】第1の濃度判定手法を適用した動作例(劣化SCR触媒、高濃度)を示すタイムチャートである。
【図36】第1の濃度判定手法を適用した動作例(劣化SCR触媒、低濃度)を示すタイムチャートである。
【図37】尿素噴射量制御及び尿素濃度判定を行う処理の全体構成を示すフローチャートである。
【図38】図8に示す処理の変形例を示すフローチャートである。
【図39】図13に示す処理の変形例を示すフローチャートである。
【図40】図1に示す構成の変形例を示す図である。
【図41】尿素濃度(CUR)と尿素水溶液の凝固点(TSOL)との関係を示す図である。
【発明を実施するための形態】
【0025】
以下本発明の実施の形態を図面を参照して説明する。
図1は本発明の一実施形態にかかる内燃機関及びその排気浄化装置の構成を示す図である。内燃機関(以下単に「エンジン」という)1は、空燃比を理論空燃比よりリーン側のリーン空燃比に設定して運転するリーンバーン運転が主として行われるディーゼル(圧縮着火型)エンジンである。エンジン1の排気通路2には、排気中の炭化水素あるいは一酸化炭素の酸化を促進するための酸化触媒8と、還元剤の存在下で排気中のNOxを還元する選択還元触媒(以下「SCR触媒」という)3,4とが設けられている。SCR触媒3,4は、酸化触媒8の下流側に設けられている。
【0026】
SCR触媒3の上流側には、尿素水を噴射する尿素水噴射弁5が設けられており、尿素水噴射弁5の作動は電子制御ユニット(以下「ECU」という)10により制御される。尿素水噴射弁5は、通路11を介して尿素水タンク12に接続されている。ECU10から開弁指令信号が供給されると、尿素水噴射弁5が開弁し、開弁時間に応じた量(噴射量)の尿素水が排気通路2内に噴射される。
【0027】
SCR触媒3は、還元剤である尿素、及び尿素から生成されるアンモニア(NH3、以下「NH3」と記述する)を貯蔵可能に構成されている。なお、以下の説明ではSCR触媒3における還元剤の貯蔵量を「ストレージ量」といい、SCR触媒3が貯蔵可能な最大ストレージ量を「ストレージ容量」という。
【0028】
SCR触媒3には、SCR触媒3の温度(以下[SCR触媒温度」という)TSCRを検出するSCR触媒温度センサ6が設けられ、SCR触媒3とSCR触媒4の間には排気中のアンモニア濃度NH3CONSを検出するアンモニア濃度センサ(以下「NH3センサ」という)7が設けられている。これらのセンサの検出信号は、ECU10に供給される。
【0029】
ECU10には、エンジン1の回転数NEを検出するエンジン回転数センサ21及びエンジン1により駆動される車両のアクセルペダルの踏み込み量(以下「アクセルペダル操作量」という)APを検出するアクセルセンサ22が接続されており、これらのセンサの検出信号がECU10に供給される。
【0030】
ECU10は、上述したセンサ及び図示しないセンサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット(以下「CPU」という)、CPUで実行される演算プログラム及び演算結果等を記憶する記憶回路を有し、さらに尿素水噴射弁5、燃料噴射弁(図示せず)に駆動信号を供給する出力回路を備えている。
【0031】
ECU10は、エンジン運転状態に応じて燃料噴射弁による燃料噴射制御を行うとともに、SCR触媒3に適量の尿素を供給するための尿素水噴射制御を行う。さらにECU10は、尿素水中の尿素濃度CURを判定し、尿素濃度CURが許容範囲外であると判定したときは、警告灯を点灯する。また尿素水噴射制御においては、判定した尿素濃度に応じた尿素水噴射量の補正が行われる。
【0032】
以下本実施形態における尿素濃度の判定手法の概要を図2を参照して説明する。図2(a)〜(c)は、それぞれストレージ量の推定値である推定ストレージ量STNH3、実際のストレージ量である実ストレージ量NH3ACT、及びNH3センサ7の出力NH3CONSの推移を示す。図2(b)及び(c)において、一点鎖線は、尿素濃度CURが正常濃度CUR0である状態に対応し、実線は尿素濃度CURが正常濃度CUR0より高い状態に対応し、破線は尿素濃度CURが正常濃度CUR0より低い状態に対応する。
【0033】
ストレージ量NH3ACTが増加してストレージ容量NH3ACTMAXに達すると、SCR触媒3の下流側にNH3が流出するNH3スリップが発生する。そこで、本実施形態では、NH3センサ出力NH3CONSが所定閾値NH3JDを超えると、NH3スリップが発生した判定する(図2(c),時刻t3,t4,t5)。
【0034】
本実施形態では、尿素水噴射量GUREAを変更することにより、ストレージ量NH3ACTがストレージ容量NH3ACTMAXと等しい状態から、徐々にストレージ量NH3ACTを低減し、その後徐々にストレージ量NH3ACTを増加させ、ストレージ量NH3ACTの低減開始時刻t1からNH3スリップが検出される時刻t3,t4,またはt5までの時間(以下「NH3スリップ検出時間」という)PRDUCNH3SLIPに応じて、尿素濃度CURを判定する。
【0035】
尿素濃度CURが高くなるほど、NH3スリップ検出時間PRDUCNH3SLIPが短くなる(T3<T4<T5)ので、尿素濃度CURを判定することができる。
【0036】
この判定手法では、尿素濃度CURが正常濃度CUR0と等しいと仮定して、推定ストレージ量STNH3を算出し、推定ストレージ量STNH3が推定ストレージ容量STNH3MAXに達する推定スリップ発生時刻tSLIPHATと、ストレージ量の低減開始時刻t1とから推定NH3スリップ検出時間PRDUCNH3SLIPHATを算出し、これを判定基準値とする。そして、判定基準値と、計測されたNH3スリップ検出時間PRDUCNH3SLIPとの差分(以下「尿素濃度判定値」という)DPRDUCNH3SLIPに基づいて、尿素濃度CURを判定する。尿素濃度判定値DPRUCNH3SLIPは、下記式(1)により算出される。
DPRDUCNH3SLIP=
PRDUCNH3SLIP−PRDUCNH3SLIPHAT (1)
【0037】
式(1)で定義される尿素濃度判定値DPRUCNH3SLIPは、尿素濃度CURが正常濃度CUR0と等しいとき「0」近傍の値をとり、尿素濃度CURが高くなるほど減少する。すなわち、正常濃度CUR0より高いときは負の値をとり、正常濃度CUR0より低いとき正の値をとる。
【0038】
尿素濃度判定値DPRUCNH3SLIPが、尿素濃度CURの許容範囲の上限値に相当する高濃度判定閾値DPRDUCRICHより小さいとき、及び許容範囲の下限値に相当する低濃度判定閾値DPRDUCLEANより大きいときは、警告灯が点灯される。
【0039】
図2(a)に示すストレージ低減量DSTUCJDが、劣化していると判定されるべき選択還元触媒(以下「劣化SCR触媒」という)のストレージ容量(以下「劣化ストレージ容量」という)NH3AMAXNGより大きい値に設定されると、尿素濃度判定を正確に行うことができないという不具合が発生する。
【0040】
すなわち、劣化SCR触媒について上記尿素濃度判定を実行すると、ストレージ量を低減している途中で劣化SCR触媒内のNH3(尿素)が無くなり、NOx浄化率が著しく低下するとともに、NH3スリップの発生時期が正常なSCR触媒に比べて早まり、尿素濃度を正確に判定することができない。
【0041】
図3はこの不具合を説明するためのタイムチャートであり、図3(a)〜(c)は、図2と同様に、推定ストレージ量STNH3、実NH3ストレージ量NH3ACT、及びNH3センサ出力NH3CONSの推移を示す。これらの図において、破線はストレージ低減量DSTUCJD(=DST1)が劣化ストレージ容量NH3AMAXNGより小さい例に対応し、実線はストレージ低減量DSTUCJD(=DST2)が劣化ストレージ容量NH3AMAXNGより大きい例に対応する。また図3(b)の一点鎖線は、SCR触媒が正常である場合の仮想的な推移を示す。
【0042】
破線で示す例では、図2に示す例と同様にNH3スリップ検出時間PRDUCNH3SLIPが時間T13として検出される(時刻t13においてNH3スリップが検出される)が、実線で示す例では、時刻t11において実ストレージ量NH3ACTが「0」となるため、NH3スリップが時刻t12に検出され、NH3スリップ検出時間PRDUCNH3SLIPが時間T12として検出され、尿素濃度が実際より高く誤判定される。
【0043】
そこで、本実施形態では、ストレージ低減量DSTUCJDを、劣化SCR触媒のストレージ容量である劣化ストレージ容量NH3AMAXNGより小さな値に設定するようにしている。これにより、図3に実線で示すような不具合を防止することができる。
【0044】
図4は、SCR触媒温度TSCRと、実ストレージ容量NH3ACTMAXとの関係を示す図であり、実線L1〜L3は、それぞれ新品SCR触媒、正常SCR触媒、及び劣化SCR触媒に対応する。また破線L4はストレージ低減量DSTUCJDの設定を示し、劣化SCR触媒の実ストレージ容量(実線L3)より、若干小さな値に設定される。なお、TSCRJDL及びTSCRJDHは、それぞれ尿素濃度判定を実行するSCR触媒温度範囲RTSCRJDの下限温度及び上限温度であり、それぞれ例えば200℃及び350℃に設定される。
【0045】
図5は、尿素水噴射制御モジュールの構成を示すブロック図であり、この図に示す各ブロックの機能はECU10のCPUにおける演算処理により実現される。
【0046】
図5に示す尿素水噴射制御モジュールは、フィードフォワード噴射量算出部31と、スリップ判定部32と、ストレージ量推定部33と、適応係数算出部34と、スイッチング噴射量算出部35と、濃度判定部36と、加算部37とを備えている。
【0047】
フィードフォワード噴射量算出部31は、エンジン回転数NE、エンジン負荷(要求トルク)TRQ、及び適応係数KVNSに応じて、フィードフォワード噴射量GUREAFFを算出する。エンジン負荷TRQは、アクセルペダル操作量APに応じて算出され、アクセルペダル操作量APが増加するほど増加するように設定される。適応係数KVNSは、適応係数算出部34においてNH3スリップの発生状態に応じて算出される噴射量補正係数であり、尿素水中の尿素濃度が高くなるほどより小さな値をとる。
【0048】
具体的には、エンジン回転数NE及びエンジン負荷TRQに応じて図6に示すGUREABSマップを検索し、基本噴射量GUREABSを算出する。図6に示す3つの曲線はぞれぞれ所定エンジン負荷TRQ1,TRQ2,及びTRQ3に対応し、TRQ1<TRQ2<TRQ3なる関係を満たす。したがって、基本噴射量GUREABSは、エンジン回転数NEが増加するほど増加し、かつエンジン負荷TRQが増加するほど増加するように設定される。
【0049】
フィードフォワード噴射量算出部31は、さらに下記式(2)に基本噴射量GUREABS及び適応係数KVNSを適用し、フィードフォワード噴射量GUREAFFを算出する。式(2)の「k」は、ECU10のCPUにおける尿素水噴射制御の制御周期DTMUCOBDで離散化した離散化時刻である。(k)は今回値であることを示し、説明文中では通常は省略されている。
GUREAFF(k)=KVNS(k)×GUREABS(k) (2)
【0050】
スリップ判定部32は、NH3センサ出力NH3CONSの2値化を行う。すなわち、NH3センサ出力NH3CONSと、所定閾値NH3JDとを比較し、NH3センサ出力NH3CONSが所定閾値NH3JD以上であるとき、スリップフラグFNH3SLIPを「1」に設定し、NH3センサ出力NH3CONSが所定閾値NH3JDより小さいとき、スリップフラグFNH3SLIPを「0」に設定する。
【0051】
図7は、この2値化処理を説明するための図であり、同図(a)は二値化により得られるスリップフラグFNH3SLIPを示し、同図(b)は、排気中の実アンモニア濃度NH3CONACTと、センサ出力NH3CONSとの関係を示す。実線は、平均的な特性を示し、2つの破線は特性ばらつきまたは経時変化により、傾きが異なる特性を示す。
【0052】
所定閾値NH3JDを用いて2値化すること、すなわちアンモニアが存在するか否かを示すスリップフラグFNH3SLIPを「1」または「0」に設定することにより、特性ばらつきあるいは経時変化の影響を最小化することができる。
【0053】
ストレージ量推定部33は、フィードフォワード噴射量GUREAFF、尿素水噴射量GUREA(加算部37の出力)、SCR触媒温度TSCR、適応係数KVNS、濃度判定モードフラグFUCOBDMODE(濃度判定部36で設定される)、及びスリップフラグFNH3SLIPに応じて、推定ストレージ量STNH3及び推定ストレージ容量STNH3MAXを算出するとともに、推定ストレージ量STNH3及び推定ストレージ容量STNH3MAXに応じて推定スリップフラグFNH3SLIPHATの設定を行う。
【0054】
適応係数算出部34は、推定排気体積流量VEX(スイッチング噴射量算出部35で算出される)、SCR触媒温度TSCR、スリップフラグFNH3SLIP、及び推定スリップフラグFNH3SLIPHATに応じて、基本適応係数KVNSBS、及び適応係数KVNSを算出する。基本適応係数KVNSBSは、NH3スリップの発生状態に応じて算出され、適応係数KVNSは、尿素濃度判定を行うときは「1.0」に設定され、それ以外とき(通常制御時)は基本適応係数KVNSBSに設定される。
【0055】
スイッチング噴射量算出部35は、エンジン回転数NE及びエンジン負荷TRQに応じて推定排気体積流量VEXを算出するとともに、SCR触媒温度TSCR、スリップフラグFNH3SLIP、推定ストレージ量STNH3、推定ストレージ容量STNH3MAX、適応係数KVNS、及び濃度判定モードフラグFUCOBDMODEに応じて、スイッチング噴射量GUREASWを算出する。
【0056】
濃度判定部36は、基本適応係数KVNSBS、スリップフラグFNH3SLIP、及び推定スリップフラグFNH3SLIPHATに応じて、濃度判定モードフラグFUCOBDMODE、高濃度異常フラグFUREACRICH、及び低濃度異常フラグFUREACLEANの設定を行う。濃度判定モードフラグFUCOBDMODEは、濃度判定の実行条件が成立しているとき「1」に設定される。また高濃度異常フラグFUREACRICHは、尿素濃度CURが異常に高いと判定されたとき「1」に設定され、低濃度異常フラグFUREACLEANは、尿素濃度CURが異常に低いと判定されたとき「1」に設定される。
【0057】
加算部37は下記式(3)に示すように、フィードフォワード噴射量GUREAFFと、スイッチング噴射量GUREASWとを加算し、尿素水噴射量GUREAを算出する。
GUREA(k)=GUREAFF(k)+GUREASW(k) (3)
【0058】
次にストレージ量推定部33、適応係数算出部34、スイッチング噴射量算出部35、及び濃度判定部36における演算処理を詳細に説明する。
図8は、ストレージ量推定部33における演算処理の手順を示すフローチャートである。SCR触媒3には、噴射された尿素水中の尿素は、一部はそのまま貯蔵され、残りは加水分解されて生成されるNH3として貯蔵される。図8の処理では、推定ストレージ量STNH3、及び推定ストレージ容量STNH3MAXは、尿素水量相当量として算出される。
【0059】
ステップS11では、SCR触媒温度TSCRに応じて図11(a)に示すSTNH3MAXテーブルを検索し、推定ストレージ容量STNH3MAXを算出する。STNH3MAXテーブルは、SCR触媒温度TSCRが高くなるほど推定ストレージ容量STNH3MAXが減少するように設定されている。なお、図11(a)には、後述する目標切換ストレージ量STNH3SWの設定が参考として示されている。
【0060】
ステップS12では、推定ストレージ量の前回値STNH3(k-1)、尿素水噴射量GUREA(k)、及びフィードフォワード噴射量GUREAFF(k)を下記式(4)に適用し、推定ストレージ量STNH3の第1演算パラメータSTNH3TEMP1を算出する。フィードフォワード噴射量GUREAFFは、NOxの還元に使用されたNH3量の推定値に相当するので、前回値STNH3(k-1)から減算される。
STNH3TEMP1(k)=STNH3(k-1)+GUREA(k)−GUREAFF(k)
(4)
【0061】
ステップS13では、第1演算パラメータSTNH3TEMP1(k)が推定ストレージ容量STNH3MAX(k)以上あるか否かを判別し、その答が肯定(YES)あるときは、第2演算パラメータSTNH3TEMP2(k)を推定ストレージ容量STNH3MAX(k)に設定する(ステップS14)。ステップS13の答が否定(NO)であるときは、第1演算パラメータSTNH3TEMP1(k)が「0」以下であるか否かを判別する(ステップS15)。
【0062】
ステップS15の答が肯定(YES)であるときは、第2演算パラメータSTNH3TEMP2(k)を「0」に設定し(ステップS16)、ステップS15の答が否定(NO)であるときは、第2演算パラメータSTNH3TEMP2を第1演算パラメータSTNH3TEMP1(k)に設定する(ステップS17)。
【0063】
ステップS18では、スリップフラグFNH3SLIPが「1」であるか否かを判別し、その答が肯定(YES)であるときは、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別する(ステップS19)。ステップS18の答が否定(NO)であるとき、またはステップS19の答が肯定(YES)であるときは、推定ストレージ量STNH3(k)を第2演算パラメータSTNH3TEMP2(k)に設定する(ステップS20)。
【0064】
ステップS19の答が否定(NO)、すなわちNH3スリップが発生し(FNH3SLIP=1)かつ濃度判定を行っていないときは、ステップS21に進み、推定ストレージ量STNH3(k)を推定ストレージ容量STNH3MAX(k)に設定する。これにより、推定ストレージ量STNH3に誤差が累積することを防止し、推定ストレージ量STNH3の算出精度を高めてSCR触媒3のNH3ストレージ制御の精度を向上させることができる。
【0065】
ステップS22では、推定ストレージ量STNH3(k)が推定ストレージ容量STNH3MAX(k)以上であるか否かを判別し、その答が肯定(YES)であるときは、推定スリップフラグFNH3SLIPHAT(k)を「1」に設定する(ステップS23)。STNH3(k)<STNH3MAX(k)であるときは、推定スリップフラグFNH3SLIPHAT(k)を「0」に設定する(ステップS24)。すなわち、推定スリップフラグFNH3SLIPHATは、推定ストレージ量STNH3が推定ストレージ容量STNH3MAXに達すると「1」に設定される。
【0066】
図9及び図10は、スイッチング噴射量算出部35における演算処理の手順を示すフローチャートである。
ステップS31では、SCR触媒温度TSCRに応じて図11(b)に示すKSTSWNMテーブル(実線)及びKSTSUCJDテーブル(破線S)を検索し、通常切換ストレージ量算出係数KSTSWNM(k)及び濃度判定切換ストレージ量算出係数KSTSWUCJD(k)を算出する。通常切換ストレージ量算出係数KSTSWNM(k)は、通常制御(濃度判定を行っていないときの制御)において目標切換ストレージ量STNH3SWの算出に適用され、濃度判定切換ストレージ量算出係数KSTSWUCJD(k)は、濃度判定モードにおいて目標切換ストレージ量STNH3SWの算出に適用される(ステップS32参照)。
【0067】
KSTSWNMテーブル及びKSTSWUCJDテーブルは、SCR触媒温度TSCRが100℃から500℃程度の範囲で、SCR触媒温度TSCRが高くなるほど係数値が減少するように設定されている。また濃度判定モードにおいては、通常制御時より係数値が小さくなるように設定されている(KSTSWUCJD<KSTSWNM)。これにより、濃度判定モードでは、過渡運転時における濃度判定の精度が低下することが防止される一方、通常制御時においてはストレージ量の低減量が最小限に設定され、NOx浄化率の低下が防止される。
【0068】
なお、切換ストレージ量算出係数KSTSWNM及びKSTSUCJDは、SCR触媒温度TSCRに関わらず一定値に設定するようにしてもよい。
ステップS32では、推定ストレージ容量STNH3MAX(k)及び通常切換ストレージ量算出係数KSTSWNM(k)を下記式(5)に適用して通常目標切換ストレージ量STNH3NM(k)を算出するとともに、推定ストレージ容量STNH3MAX(k)及び濃度判定切換ストレージ量算出係数KSTSWUCJD(k)を下記式(6)に適用して濃度判定目標切換ストレージ量STNH3UCJD(k)を算出する。
STNH3NM(k)=KSTSWNM(k)×STNH3MAX(k) (5)
STNH3UCJD(k)=KSTSWUCJD(k)×STNH3MAX(k) (6)
【0069】
なお、目標切換ストレージ量STNH3NM及びSTNH3UCJDは、推定ストレージ容量STNH3MAXから所定量を減算した値に設定するようにしてもよい。
【0070】
ステップS33では、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別する。濃度判定モードでは目標切換ストレージ量STNH3SW(k)を濃度判定目標切換ストレージ量STNH3UCJD(k)に設定し(ステップS35)、通常制御においては目標切換ストレージ量STNH3SW(k)を通常目標切換ストレージ量STNH3NM(k)に設定する(ステップS34)。
【0071】
ステップS36では、前回の噴射量切換フラグFUREASW(k-1)が「0」であるか否かを判別する。噴射量切換フラグFUREASWが「1」であるときは、スイッチング噴射量GUREASWが下側制御値に設定され、噴射量切換フラグFUREASWが「0」であるときは、スイッチング噴射量GUREASWが上側制御値に設定される(ステップS52〜S54参照)。
【0072】
ステップS36の答が肯定(YES)であるときは、スリップフラグFNH3SLIP(k)が「1」であるか否かを判別する(ステップS37)。FNH3SLIP(k)=1であるときは、噴射量切換フラグFUREASW(k)を「1」に設定し(ステップS40)、FNH3SLIP(k)=0であるときは、噴射量切換フラグFUREASW(k)を前回値に維持する(ステップS39)。
【0073】
ステップS36でFUREASW(k-1)=1であるときは、推定ストレージ量STNH3(k)が目標切換ストレージ量STNH3SW(k)以下であるか否かを判別する(ステップS38)。その答が肯定(YES)であるときは、噴射量切換フラグFUREASW(k)を「0」に設定する(ステップS41)。ステップS38の答が否定(NO)であって、推定ストレージ量STNH3(k)が目標切換ストレージ量STNH3SW(k)に達していないときは、前記ステップS39に進む。すなわち、噴射量切換フラグFUREASWは、「0」である状態でスリップフラグFNH3SLIPが「1」に設定されると、「1」に変更され、「1」である状態で推定ストレージ量STNH3が目標切換ストレージ量STNH3SW以下となったとき「0」に変更される。
【0074】
ステップS42では、エンジン回転数NE及びエンジン負荷TRQに応じて図11(c)に示すVEXマップを検索し、推定排気体積流量VEXを算出する。推定排気体積流量VEXは、1制御周期DTMUCOBD(例えば100〜500msec程度に設定される)当たりの体積排気量の推定値である。図11(c)において所定エンジン負荷TRQ1,TRQ2,TRQ3は、TRQ1<TRQ2<TRQ3なる関係を有し、VEXマップはエンジン回転数NEが増加するほど推定排気体積流量VEXが増加し、かつエンジン負荷TRQが増加するほど推定排気体積流量VEXが増加するように設定されている。
【0075】
ステップS51(図10)では、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別し、その答が否定(NO)であって通常制御中であるときは、噴射量切換フラグFUREASW(k)が「1」であるか否かを判別する(ステップS52)。ステップS52の答が肯定(YES)、すなわち尿素水噴射量GUREAを下側制御値に設定するときは、スイッチング噴射量GUREASW(k)を下記式(7)により算出する。式(7)のGUREASWUNDは、SCR触媒3のNH3ストレージ量を減少させるために負の値に設定される所定減量補正値であり、単位は重量濃度である。DENEXは排気密度[g/L]である。KVNS(k)は、適応係数算出部34で算出され、尿素濃度の変化に適応するための適応係数である。
GUREASW(k)=KVNS(k)×GUREASWUND×VEX(k)×DENEX
(7)
【0076】
ステップS52の答が否定(NO)、すなわちFUREASW(k)=0であって尿素水噴射量GUREAを上側制御値に設定するときは、スイッチング噴射量GUREASW(k)を下記式(8)により算出する。式(8)のGUREASWOVDは、SCR触媒3のNH3ストレージ量を増加させるために正の値に設定される所定増量補正値であり、単位は重量濃度である。
GUREASW(k)=KVNS(k)×GUREASWOVD×VEX(k)×DENEX
(8)
【0077】
一方ステップS51でFUCOBDMODE=1であって、濃度判定実行中においては、噴射量切換フラグFUREASW(k)が「1」であるときは下記式(9)により、また噴射量切換フラグFUREASW(k)が「0」であるときは下記式(10)により、スイッチング噴射量GUREASW(k)を算出する(ステップS55,S56,S57)。式(9)及び(10)は、それぞれ式(7)及び(8)の「KVNS(k)」を削除した式である。濃度判定を行うときは、適応係数KVNSによる補正を停止する必要があるためである。
GUREASW(k)=GUREASWUND×VEX(k)×DENEX (9)
GUREASW(k)=GUREASWOVD×VEX(k)×DENEX (10)
【0078】
図12は、適応係数算出部34における演算処理の手順を示すフローチャートである。
ステップS61では、図13に示すEVNS算出処理を実行し、誤差量EVNSを算出する。誤差量EVNSは、推定ストレージ量STNH3及び推定ストレージ容量STNH3MAXに基づく推定NH3スリップ発生時期(推定スリップフラグFNH3SLIPHATが「1」となる時期)と、検出されるNH3スリップ発生時期(スリップフラグFNH3SLIPが「1」となる時期)との差を示すパラメータである。
【0079】
ステップS62では、SCR触媒温度TSCRに応じて図14(a)に示すWTiテーブル(i=1〜4)を検索し、触媒温度重み係数WTi(k)を算出する。本実施形態では、SCR触媒温度TSCRに応じて4つの温度範囲RT1〜RT4が設定されており、温度範囲RT1〜RT4は、隣り合う範囲が重なり合うように設定されている。触媒温度重み係数WT1〜WT4は、それぞれ温度範囲RT1〜RT4に対応し、図14(a)に示すように設定されている。例えばSCR温度TSCRが、温度TSCR1であるときの検索結果は、下記のようになる。
WT1=WT11,WT2=WT21,WT3=WT4=0
【0080】
ステップS63では、推定排気体積流量VEXに応じて図14(b)に示すWVjテーブル(j=1〜4)を検索し、体積流量重み係数WVj(k)を算出する。本実施形態では、推定排気体積流量VEXに応じて4つの流量範囲RV1〜RV4が設定されており、流量範囲RV1〜RV4は、隣り合う範囲が重なり合うように設定されている。体積流量重み係数WV1〜WV4は、それぞれ流量範囲RV1〜RV4に対応し、図14(b)に示すように設定されている。例えば推定排気体積流量VEXが、流量VEX1であるときの検索結果は、下記のようになる。
WV1=0,WV2=WV21,WV3=WV31,WV4=0
【0081】
ステップS64では、SCR触媒温度TSCR及び推定排気体積流量VEXで定義される領域RTVijに対応する領域重み係数Wij(k)を、下記式(11)により算出するとともに、領域RTVijに対応する重み付け誤差量WEVNSijを下記式(12)により算出する。
Wij(k)=WTi(k)×WVj(k) (11)
WEVNSij(k)=Wij(k)×EVNS(k) (12)
【0082】
領域RTVijは、図15に示すようにSCR触媒温度TSCRについて4つの範囲RT1〜RT4と、推定排気体積流量VEXについての4つの範囲RV1〜RV4とによって定義される16個の領域であり、隣り合う領域は重なり合っている。
【0083】
ステップS65では、重み付け誤差量WEVNSijが「0」となるように、スライディングモード制御アルゴリズムに用いて、補正量Uij(k)を算出する。具体的には、下記式(13)により、切換関数値σijを算出し、式(14)及び(15)により、到達則制御入力URCHij及び適応則制御入力UADPijを算出し、式(16)により、補正量Uijを算出する。式(13)のPOLEは、制御偏差(WEVNSij)の減衰特性を指定する切換関数設定パラメータであり、「−1」より大きく「0」より小さい値に設定される。式(14)のKRCH及び式(15)のKADPは、それぞれ到達則制御ゲイン及び適応則制御ゲインである。
σij(k)=WEVNSij(k)+POLE×WEVNSij(k-1) (13)
URCHij(k)=KRCH×σij(k) (14)
UADPij(k)=UADPij(k-1)+KADP×σij(k) (15)
Uij(k)=URCHij(k)+UADPij(k) (i=1〜4,j=1〜4) (16)
【0084】
ステップS66では、下記式(17)に領域重み係数Wij(k)及び補正量Uij(k)に適用し、基本適応係数KVNSBS(k)を算出する。
【数1】
【0085】
適応係数KVNSは乗算項として噴射量補正に適用される(式(2)、(7)、(8))ので、適応係数KVNSの適用開始時点の値、すなわち適応係数KVNSの初期値を「1」とするために、式(17)において「1」が加算されている。なお、式(17)において「1」を加算することに代えて、適応則制御入力UADPijの初期値を「1」に設定するようにしてもよい。
【0086】
ステップS67では、濃度判定モードフラグFUCOBDMODE(k)が「1」であるか否かを判別し、この答が肯定(YES)であるときは、適応係数KVNS(k)を「1」に設定する(ステップS68)。FUCOBDMODE=0であるときは、適応係数KVNS(k)を基本適応係数KVNSBS(k)に設定する(ステップS69)。濃度判定実行中に適応係数KVNSによって尿素水噴射量の補正を行うと、濃度判定を正確に行うことができないので、濃度判定実行中は適応係数KVNSは「1」に設定される。
【0087】
なお、ステップS65における補正量Uijの算出に適用されるアルゴリズムは、スライディングモード制御アルゴリズムに限るものではなく、PID(比例積分微分)制御アルゴリズム、最適制御アルゴリズム、バックステッピング制御アルゴリズムなど、フィードバック制御アルゴリズムとして公知のものを適用可能である。
【0088】
図12の処理によれば、SCR触媒温度TSCR及び推定排気体積流量VEXで定義される16個の運転領域RTVij(i=1〜4,j=1〜4)に対応して、補正量Uijが算出される。例えば図15に示すように、運転領域RTV22に対応して補正量U22が算出され、運転領域RTV33に対応して補正量U33が算出され、運転領域RTV14に対応して補正量U14が算出される。したがって、尿素濃度の変化によって生じるNOx浄化率の変化分が運転領域に対応して補償され、SCR触媒温度TSCR及びエンジン運転状態(エンジン回転数NE、エンジン負荷TRQ)の変化に拘わらず、尿素濃度変化の補償を精度良く行うことができる。
【0089】
図13は、図12のステップS61で実行されるEVNS算出処理のフローチャートである。
ステップS71では、前回のスリップフラグFNH3SLIP(k-1)が「0」であるか否かを判別し、その答が肯定(YES)であるときは、今回のスリップフラグFNH3SLIP(k)が「1」であるか否かを判別する(ステップS72)。ステップS71またはS72の答が否定(NO)であるときは、誤差量EVNS(k)を「0」に設定する(ステップS78)。
【0090】
ステップS72の答が肯定(YES)、すなわちスリップフラグFNH3SLIPが「0」から「1」に変化したときは、前回の推定スリップフラグFNH3SLIPHAT(k-1)が「1」であるか否かを判別する(ステップS73)。この答が肯定(YES)であるときは、今回の推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別する(ステップS74)。この答が肯定(YES)、すなわちNH3スリップの発生が検出された時点で、推定スリップフラグFNH3SLIPHATがすでに「1」となっているときは、噴射された尿素水の尿素濃度CURが正常値CUR0より低いことを示すので、誤差量EVNS(k)を所定誤差量EVNSSLIP(>0)に設定する(ステップS75)。ステップS74の答が否定(NO)であるときは、前記ステップS78に進む。
【0091】
一方ステップS73の答が否定(NO)、すなわちNH3スリップの発生が検出された時点より1制御周期前の時点で、推定スリップフラグFNH3SLIPHATが「0」であるときは、さらに今回の推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別する(ステップS76)。この答が否定(NO)、すなわちNH3スリップの発生が検出された時点において推定スリップフラグFNH3SLIPHATが「0」であるときは、尿素濃度CURが正常値CUR0より高いことを示すので、誤差量EVNS(k)を負の所定誤差量−EVNSSLIP(<0)に設定する(ステップS77)。ステップS76の答が肯定(YES)であるときは、前記ステップS78に進む。
【0092】
したがって、図12の処理により、基本適応係数KVNSBSは、尿素濃度CURが高くなるほど減少するように算出される。
【0093】
図16は、上述した尿素水噴射制御の動作例を示すタイムチャートである。図16(a)〜(f)は、それぞれ噴射量切換フラグFUREASW、スリップフラグFNH3SLIP、NH3センサ出力NH3CONS、推定ストレージ量STNH3、尿素水噴射量GUREA、及び濃度判定モードフラグFUCOBDMODEの推移を示す。
【0094】
噴射量切換フラグFUREASWは、スリップフラグFNH3SLIPが「1」に変化する時刻t21,t23,t25で「1」に変化し、推定ストレージ量STNH3が通常目標切換ストレージ量STNH3NMに達する時刻t22,t26(通常制御時)または濃度判定目標切換ストレージ量STNH3UCJDに達する時刻t24(濃度判定モード)において「0」に変化する。噴射量切換フラグFUREASWの変化に伴って、スイッチング噴射量GUREASWの切換が行われ、尿素水噴射量GUREAがフィードフォワード噴射量GUREAFFを中心としてステップ状に変化するように制御される。
【0095】
図17は、濃度判定部36における演算処理を手順を示すフローチャートである。濃度判定の手法として、以下に説明する五つの手法の何れかを採用することができ、図17に示す処理は、第1の濃度判定手法に対応するものである。
【0096】
ステップS81では、図18に示す実行条件判定処理を実行し、濃度判定モードフラグFUCOBDMODEの設定を行う。ステップS82では、濃度判定モードフラグFUCOBDMODE(k)が「1」であるか否かを判別し、その答が否定(NO)であるときは、濃度判定モードの開始時点からの経過時間を計測するタイマTMUCNH3SLIP(k)の値を「0」に設定し(ステップS83)、処理を終了する。
【0097】
ステップS82の答が肯定(YES)であるときは、タイマTMUCNH3SLIPの値を下記式(21)により、1制御周期DTMUCOBDだけ増加させる(ステップS84)。
TMUCNH3SLIP(k)=TMUCNH3SLIP(k-1)+DTMUCOBD
(21)
【0098】
ステップS85では、前回の推定スリップフラグFNH3SLIPHAT(k-1)が「0」であるか否かを判別し、その答が肯定(YES)であるときは、今回の推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別する(ステップS86)。ステップS86の答が肯定(YES)、すなわち推定スリップフラグFNH3SLIPHATが「0」から「1」に変化したときは、推定スリップ検出時間PRDUCNH3SLIPHAT(k)をその時点のタイマ値TMUCNH3SLIP(k)に設定し(ステップS87)、ステップS91に進む。
【0099】
ステップS85またはS86の答が否定(NO)であるときは、前回のスリップフラグFNH3SLIP(k-1)が「0」であるか否かを判別する(ステップS88)。その答が肯定(YES)であるときは今回のスリップフラグFNH3SLIP(k)が「1」であるか否かを判別する(ステップS89)。ステップS88またはS89の答が否定(NO)であるときは、処理を終了する。
【0100】
ステップS89の答が肯定(YES)、すなわちスリップフラグFNH3SLIPが「0」から「1」に変化したときは、スリップ検出時間PRDUCNH3SLIP(k)をその時点のタイマ値TMUCNH3SLIP(k)に設定し(ステップS90)、ステップS91に進む。
【0101】
ステップS91では、推定スリップフラグFNH3SLIPHAT(k)及びスリップフラグFNH3SLIP(k)がともに「1」であるか否かを判別し、その答が否定(NO)であるときは、処理を終了する。ステップS91の答が肯定(YES)であるときは、前記式(1)により、尿素濃度判定値DPRDUCNH3SLIPを算出する(ステップS92)。尿素濃度判定値DPRDUCNH3SLIPは、尿素濃度CURが高くなるほど減少する。
【0102】
ステップS93では、尿素濃度判定値DPRDUCNH3SLIP(k)が高濃度判定閾値DPRDUCRICH以上であるか否かを判別し、その答が否定(NO)であるときは、尿素濃度CURが許容範囲の上限値より高濃度であると判定し、高濃度異常フラグFUREACRICHを「1」に設定する(ステップS95)。ステップS93でDPRDUCNH3SLIP(k)≧DPRDUCRICHであるときは、高濃度異常フラグFUREACRICHを「0」に設定する(ステップS94)。
【0103】
ステップS96では、尿素濃度判定値DPRDUCNH3SLIP(k)が低濃度判定閾値DPRDUCLEAN以下であるか否かを判別し、その答が否定(NO)であるときは、尿素濃度CURが許容範囲の下限値より低濃度であると判定し、低濃度異常フラグFUREACLEANを「1」に設定する(ステップS98)。ステップS96でDPRDUCNH3SLIP(k)≦DPRDUCLEANであるときは、低濃度異常フラグFUREACLEANを「0」に設定する(ステップS97)。
【0104】
図18は、図17のステップS81で実行される実行条件判定処理のフローチャートである。なお、この処理で設定される濃度判定モードフラグFUCOBDMODE及び濃度判定終了フラグFUCOBDDONEの初期値は「0」である。
【0105】
ステップS101では、スリップフラグFNH3SLIP(k)が「1」であるか否かを判別し、その答が否定(NO)であるときは処理を終了する。FNH3SLIP(k)=1であるときは、NH3スリップが最初に発生した時点からの経過時間TANH3SLIPが所定待機時間TANHSLIPX(例えば5秒)以上であるか否かを判別する(ステップS102)。その答が肯定(YES)であるときは、SCR触媒温度TSCRが所定下限温度TSCRUCJDL(例えば200℃)以上でかつ所定上限温度TSCRUCJDH(例えば300℃)以下であるか否かを判別する(ステップS103)。その答が肯定(YES)であるときは、濃度判定終了フラグFUCOBDDONE(k)が「0」であるか否かを判別する(ステップS104)。その答が肯定(YES)であるときは、さらに前回の濃度判定モードフラグFUCOBDMODE(k-1)が「0」であるか否かを判別する(ステップS105)。
【0106】
ステップS102〜S105の何れかの答が否定(NO)であるときは、ステップS107に進み、ステップS105の答が肯定(YES)であるときは、濃度判定実行条件が成立していると判定し、濃度判定モードフラグFUCOBDMODE(k)を「1」に設定する(ステップS106)。
【0107】
ステップS107では、推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別し、その答が肯定(YES)であるときは、前回の濃度判定モードフラグFUCOBDMODE(k-1)が「1」であるか否かを判別する。ステップS107またはS108の答が否定(NO)であるときは処理を終了し、濃度判定モードフラグFUCOBDMODE(k)を前回値に維持する。ステップS108の答が肯定(YES)であるときは、濃度判定モードフラグFUCOBDMODE(k)を「0」に設定するとともに、濃度判定終了フラグFUCOBDDONE(k)を「1」に設定する。すなわち、濃度判定モード中においてスリップフラグFNH3SLIP及び推定スリップフラグFNH3SLIPHATがともに「1」となったとき、濃度判定モードが終了する。
【0108】
図19は、図17の処理による濃度判定処理を説明するためのタイムチャートであり、尿素濃度CURが正常濃度CUR0より高い例が示されている。図19(a)は、推定ストレージ量STNH3(実線)及び実ストレージ量NH3ACT(破線)の推移を示し、図19(b)及び(c)は、それぞれNH3センサ出力NH3CONS、及びタイマTMUCNH3SLIPの値(ストレージ量の低減開始時点からの経過時間)を示し、図19(d)は、スリップフラグFNH3SLIP(実線)及び推定スリップフラグFNH3SLIPHAT(破線)の推移を示す。なお、図17の処理では、濃度判定モードフラグFUCOBDMODEが「1」に変化する時点からタイマTMUCNH3SLIPの計測が開始されるが、濃度判定モードフラグFUCOBDMODEが「1」に変化する時点と推定ストレージ量STNH3が減少を開始する時点との差は無視しうる程度のものである。よって、本明細書中における「ストレージ量低減開始時点」は、「ストレージ量を低減すべく尿素水噴射量の減量を開始した時点」を含むものとする。
【0109】
実ストレージ量NH3ACTが実ストレージ容量NH3ACTMAXに達すると(図19(a)には、実ストレージ容量NH3ACTMAXが推定ストレージ容量STNH3MAXと等しい例が示されている)、スリップフラグFNH3SLIPが「1」に設定され(時刻t31)、時刻t31のタイマ値がスリップ検出時間PRDUCNH3SLIPとして計測される。
【0110】
一方、推定ストレージ量STNH3が推定ストレージ容量STNH3MAXに達すると、推定スリップフラグFNH3SLIPHATが「1」に設定され(時刻t32)、時刻t32のタイマ値が推定スリップ検出時間PRDUCNH3SLIPHATとして計測される。したがって、尿素濃度判定値DPRDUCNH3SLIPは負の値となり、尿素濃度CURが正常濃度CUR0が高いと判定される。
【0111】
図20は、第2の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図17のステップS83,S84,S87,S90,S92,S93,及びS96をそれぞれステップS83a,S84a,S87a,S90a,S92a,S93a,及びS96aに変更し、さらにステップS82aを追加したものである。第1の濃度判定手法では、濃度判定モードフラグFUCOBDMODE(k)が「1」に変化した時点、すなわちストレージ量の低減を開始した時点からタイマTMUCNH3SLIPによる時間計測が開始されるが、第2の濃度判定手法では、濃度判定モードが開始された後に噴射量切換フラグFUREASW(k)が「0」に変化した時点、すなわちストレージ量の増量を開始した時点からタイマTMUCNH3SLIPaによる時間計測が開始される(図21(c)参照)。
【0112】
ステップS82の答が肯定(YES)であるときは、ステップS82aに進み、噴射量切換フラグFUREASW(k)が「0」であるか否かを判別する。この答が否定(NO)であるときは、タイマTMUCNH3SLIPa(k)の値を「0」に設定する(ステップS83a)。
【0113】
ステップS84aでは、タイマTMUCNH3SLIPaの値を下記式(21a)により増加させる。
TMUCNH3SLIPa(k)=TMUCNH3SLIPa(k-1)+DTMUCOBD
(21a)
【0114】
ステップS87aでは、推定スリップ検出時間PRDUCNH3SLIPHATa(k)をタイマ値TMUCNH3SLIPa(k)に設定し、ステップS90aでは、スリップ検出時間PRDUCNH3SLIPa(k)をタイマ値TMUCNH3SLIPa(k)に設定する。ステップS92aでは、下記式(1a)により、尿素濃度判定値DPRUCNH3SLIPa(k)を算出する。
DPRDUCNH3SLIPa(k)=
PRDUCNH3SLIPa(k)−PRDUCNH3SLIPHATa(k)
(1a)
【0115】
ステップS93aでは、尿素濃度判定値DPRDUCNH3SLIPa(k)が、第2の濃度判定手法用の高濃度判定閾値DPRDUCRICHa以上であるか否かを判別し、ステップS96aでは、尿素濃度判定値DPRDUCNH3SLIPa(k)が第2の濃度判定手法用の低濃度判定閾値DPRDUCLEANa以下であるか否かを判別する。その結果、DPRDUCNH3SLIPa(k)<DPRDUCRICHaであるときは、高濃度異常フラグFUREACRICHが「1」に設定され(ステップS95)、DPRDUCNH3SLIPa(k)>DPRDUCLEANaであるときは、低濃度異常フラグFUREACLEANが「1」に設定される(ステップS98)。
【0116】
図21は、図20の処理による濃度判定処理を説明するためのタイムチャートであり、図19と同様に尿素濃度CURが正常濃度CUR0より高い例が示されている。図21(a)(b)(d)は、図19の対応する図と同一であり、図21(c)にはタイマTMUCNH3SLIPaの値の推移が示されている。時刻t30は、噴射量切換フラグFUREASWが「1」に変化する時点であり、時刻t30からタイマTMUCNH3SLIPaによる時間計測が開始される。
【0117】
時刻t31のタイマ値がNH3スリップ検出時間PRDUCNH3SLIPaとして計測され、時刻t32のタイマ値が推定スリップ検出時間PRDUCNH3SLIPHATaとして計測される。したがって、第1の濃度判定手法と同様に濃度判定を行うことができる。
【0118】
図22は、第3の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図17のステップS83,S84,S87,S90,S92,S93,及びS96をそれぞれステップS83b,S84b,S87b,S90b,S92b,S93b,及びS96bに変更したものである。
【0119】
第1の濃度判定手法では、濃度判定モードフラグFUCOBDMODE(k)が「1」に変化した時点(ストレージ量の低減を開始した時点)からタイマTMUCNH3SLIPにより計測される経過時間に基づいて濃度判定が行われるが、第3の濃度判定手法では、ストレージ量の低減を開始した時点からスイッチング噴射量GUREASW(k)を積算することにより積算値SUMUCGUREAが算出され、積算値SUMUCGUREAに基づいて濃度判定が行われる。
【0120】
より具体的には、ストレージ量の低減を開始した時点から積算値SUMUCGUREAの算出を開始し、スリップフラグFNH3SLIPが「1」に変化した時点の積算値SUMUCGUREAを、スリップ検出積算値SUMUCGUREASLIPとして算出するとともに、推定スリップフラグFNH3SLIPHATが「1」に変化した時点の積算値SUMUCGUREAを推定スリップ検出積算値SUMUCGUREASLIPHATとして算出する。そして、スリップ検出積算値SUMUCGUREASLIPと推定スリップ検出積算値SUMUCGUREASLIPHATの差を尿素濃度判定値DSUMUCGUREASLIPとして算出し、尿素濃度判定値DSUMUCGUREASLIPと、判定閾値DSUMUCRICH及びDSUMUCLEANとの比較結果に応じて、高濃度異常フラグFUREACRICH及び低濃度異常フラグFUREACLEANの設定を行う。
【0121】
図22において、ステップS82の答が否定(NO)であるときは、ステップS83bに進み、積算値SUMUCGUREA(k)を「0」に設定する。ステップS82の答が肯定(YES)であるときは、ステップS84bに進み、下記式(21b)により積算値SUMUCGUREA(k)を算出する。
SUMUCGUREA(k)=SUMUCGUREA(k-1)+GUREASW(k)
(21b)
【0122】
ステップS87bでは、推定スリップ検出積算値SUMUCGUREASLIPHAT(k)を積算値SUMUCGUREA(k)に設定し、ステップS90bでは、スリップ検出積算値SUMUCGUREASLIP(k)を積算値SUMUCGUREA(k)に設定する。
【0123】
ステップS92bでは、下記式(1b)により、尿素濃度判定値DSUMUCGUREASLIP(k)を算出する。
DSUMUCGUREASLIP(k)=
SUMUCGUREASLIP(k)−SUMUCGUREASLIPHAT(k)
(1b)
【0124】
ステップS93bでは、尿素濃度判定値DSUMUCGUREASLIP(k)が、第3の濃度判定手法用の高濃度判定閾値DSUMUCRICH以上であるか否かを判別し、ステップS96bでは、尿素濃度判定値DSUMUCGUREASLIP(k)が第3の濃度判定手法用の低濃度判定閾値DSUMUCLEAN以下であるか否かを判別する。その結果、DSUMUCGUREASLIP(k)<DSUMUCRICHであるときは、高濃度異常フラグFUREACRICHが「1」に設定され(ステップS95)、DSUMUCGUREASLIP(k)>DSUMUCLEANであるときは、低濃度異常フラグFUREACLEANが「1」に設定される(ステップS98)。
【0125】
図23は、図22の処理による濃度判定処理を説明するためのタイムチャートであり、図19と同様に尿素濃度CURが正常濃度CUR0より高い例が示されている。図23(a)(b)(d)は、図19の対応する図と同一であり、図23(c)には積算値SUMUCGUREAの推移が示され、図23(e)には噴射量切換フラグFUREASWの推移が示されている。
【0126】
濃度判定モードが開始されると、スイッチング噴射量GUREASWは負の値に設定されるため、積算値SUMUCGUREAは「0」から減少する。時刻t30において、噴射量切換フラグFUREASWが「0」に変化すると、以後は積算値SUMUCGUREAは増加する。
【0127】
スリップ検出積算値SUMUCGUREASLIPは、時刻t31の積算値SUMUCGUREAに設定され、推定スリップ検出積算値SUMUCGUREASLIPHATは、時刻t32の積算値SUMUCGUREAに設定される。したがって、尿素濃度判定値DSUMUCGUREASLIPは負の値となり、尿素濃度CURが正常濃度CUR0より高いと判定される。
【0128】
図24は、第4の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図22のステップS83b,S84b,S87b,S90b,S92b,S93b,及びS96bをそれぞれステップS83c,S84c,S87c,S90c,S92c,S93c,及びS96cに変更し、さらにステップS82cを追加したものである。
【0129】
第3の濃度判定手法では、濃度判定モードフラグFUCOBDMODE(k)が「1」に変化した時点から積算値SUMUCGUREAの算出が開始されるが、第4の濃度判定手法は、濃度判定モードが開始された後に噴射量切換フラグFUREASW(k)が「1」に変化した時点、すなわちストレージ量の増量を開始した時点から積算値SUMUCGUREAaの算出が開始される(図25(c)参照)。
【0130】
図24において、ステップS82の答が肯定(YES)であるときは、ステップS82cに進み、噴射量切換フラグFUREASW(k)が「0」であるか否かを判別する。この答が否定(NO)であるときは、ステップS83cに進み、積算値SUMUCGUREAa(k)を「0」に設定する。ステップS82cの答が肯定(YES)であるときは、ステップS84cに進み、下記式(21c)により積算値SUMUCGUREAa(k)を算出する。
SUMUCGUREAa(k)=SUMUCGUREAa(k-1)+GUREASW(k)
(21c)
【0131】
ステップS87cでは、推定スリップ検出積算値SUMUCGUREASLIPHATa(k)を積算値SUMUCGUREAa(k)に設定し、ステップS90cでは、スリップ検出積算値SUMUCGUREASLIPa(k)を積算値SUMUCGUREAa(k)に設定する。
【0132】
ステップS92cでは、下記式(1c)により、尿素濃度判定値DSUMUCGUREASLIPa(k)を算出する。
DSUMUCGUREASLIPa(k)=
SUMUCGUREASLIPa(k)−SUMUCGUREASLIPHATa(k)
(1c)
【0133】
ステップS93cでは、尿素濃度判定値DSUMUCGUREASLIPa(k)が、第4の濃度判定手法用の高濃度判定閾値DSUMUCRICHa以上であるか否かを判別し、ステップS96cでは、尿素濃度判定値DSUMUCGUREASLIPa(k)が第4の濃度判定手法用の低濃度判定閾値DSUMUCLEANa以下であるか否かを判別する。その結果、DSUMUCGUREASLIPa(k)<DSUMUCRICHaであるときは、高濃度異常フラグFUREACRICHが「1」に設定され(ステップS95)、DSUMUCGUREASLIPa(k)>DSUMUCLEANaであるときは、低濃度異常フラグFUREACLEANが「1」に設定される(ステップS98)。
【0134】
図25は、図24の処理による濃度判定処理を説明するためのタイムチャートであり、図23と同様に尿素濃度CURが正常濃度CUR0より高い例が示されている。図25(a)(b)(d)(e)は、図23の対応する図と同一であり、図25(c)には積算値SUMUCGUREAaの推移が示されている。
【0135】
時刻t30において、噴射量切換フラグFUREASWが「0」に変化すると、積算値SUMUCGUREAaの算出が開始される。
スリップ検出積算値SUMUCGUREASLIPaは、時刻t31の積算値SUMUCGUREAaに設定され、推定スリップ検出積算値SUMUCGUREASLIPHATaは、時刻t32の積算値SUMUCGUREAaに設定される。したがって、尿素濃度判定値DSUMUCGUREASLIPaは負の値となり、尿素濃度CURが正常濃度CUR0より高いと判定される。
【0136】
図26は、第5の濃度判定手法を適用した濃度判定処理のフローチャートである。第5の濃度判定手法は、基本適応係数KVNSBSは尿素濃度CURが高くなるほど減少することに着目し、基本適応係数KVNSBSに応じて濃度判定を行うようにしたものである。第5の濃度判定手法による判定は、常時実行することができる。
【0137】
ステップS111では、基本適応係数KVNSBS(k)が高濃度係数閾値KVNSOBDRICH以上であるか否かを判別し、その答が否定(NO)であるときは、高濃度異常フラグFUREACRICHを「1」に設定する(ステップS113)。ステップS111でKVNSBS(k)≧KVNSOBDRICHであるときは、高濃度異常フラグFUREACRICHを「0」に設定する(ステップS112)。
【0138】
ステップS114では、基本適応係数KVNSBS(k)が低濃度係数閾値KVNSOBDLEAN以下であるか否かを判別し、その答が否定(NO)であるときは、低濃度異常フラグFUREACLEANを「1」に設定する(ステップS116)。ステップS114でKVNSBS(k)≦KVNSOBDLEANであるときは、低濃度異常フラグFUREACLEANを「0」に設定する(ステップS115)。
【0139】
次に図27〜図36に示すタイムチャートを参照して、上述した濃度判定手法を適用した代表的な動作例を説明する。
【0140】
図27〜図29は、新品のSCR触媒3が搭載された排気系に第1の濃度判定手法を適用した例に対応する。図27(a)〜(g)は、それぞれNH3センサ出力NH3CONSの推移、推定ストレージ量STNH3及び実ストレージ量NH3ACTの推移、尿素水噴射量GUREA(実線)及びスイッチング噴射量GUREASW(破線)の推移、尿素濃度判定値DPRDUCNH3SLIPの推移、濃度判定モードフラグFUCOBDMODEの推移、及び基本適応係数KVNSBS及び適応係数KVNSの推移を示す。さらに図27(h)〜(j)は、それぞれエンジン回転数NE、エンジン負荷TRQの推移、及び上流側NOx量QNOx1及び下流側QNOx2の推移を示す。上流側NOx量QNOx1は、SCR触媒3の上流側におけるNOx量を示し、下流側NOx量QNOx2は、SCR触媒3の下流側におけるNOx量を示す。図28及び図29には、図27(a)〜(g)に対応する図が示されている。
【0141】
図27は、尿素濃度CURが正常濃度CUR0である状態に対応し、図27(b)において推定ストレージ量STNH3と、実ストレージ量NH3ACTとは一致しているため、推定ストレージ量STNH3のみが実線で示されている。尿素濃度判定値DPRDUCNH3SLIPは「0」を維持し、基本適応係数KVNSBS及び適応係数NVNSは「1.0」を維持する。濃度判定モードフラグFUCOBDMODEが「1」である期間中(図27(e)、破線)、濃度判定が行われるが、高濃度異常フラグFUREACRICH及び低濃度異常フラグFUREACLEANはともに「0」を維持する。
【0142】
なお図27(h)及び(i)に示すようにエンジン運転状態は定常運転状態とされ、これは他の図28〜図36においても同一である。また図27(j)により、SCR触媒3の下流側においてNOx量が大幅に減少することが確認される。図28〜図36においては、図27(h)〜(j)に対応する図は省略されている。
【0143】
図28は、尿素濃度CURが正常濃度CUR0より高い状態に対応する。図28(b)において実ストレージ量NH3ACTが細い破線で示されており、当初は基本適応係数KVNSBSが「1.0」近傍の値であるため(図28(f))、推定ストレージ量STNH3(実線)は、実ストレージ量NH3ACTより小さくなる。その後徐々に基本適応係数KVNSBSが減少して、推定ストレージ量STNH3は、実ストレージ量NH3ACTと一致する。時刻t41において尿素濃度判定値DPRDUCNH3SLIPが、高濃度判定閾値DPRDUCRICHより小さくなり、高濃度異常フラグFUREACRICH(図28(g)に実線で示す)が「1」に設定される。
【0144】
図29は、尿素濃度CURが正常濃度CUR0より低い状態に対応する。当初は基本適応係数KVNSBSが「1.0」近傍の値であるため(図29(f))、図29(b)において、推定ストレージ量STNH3は、実ストレージ量NH3ACTより大きくなる。その後徐々に基本適応係数KVNSBSが増加して、推定ストレージ量STNH3は、実ストレージ量NH3ACTと一致する。時刻t41において尿素濃度判定値DPRDUCNH3SLIPが、低濃度判定閾値DPRDUCLEANを超え、低濃度異常フラグFUREACLEAN(図29(g)に破線で示す)が「1」に設定される。なお、図29(b)においては、推定ストレージ量STNH3について上限リミット処理及びNH3スリップ検出時における初期化処理(図8,ステップS13,S14,S21)を行っていない値の推移が示されている。図31(b),図33(b),図36(b)も同様である。
【0145】
図30及び図31は、新品のSCR触媒3が搭載された排気系に第4の濃度判定手法を適用した例に対応し、図30は尿素濃度CURが正常濃度CUR0より高い例に対応し、図31は尿素濃度CURが正常濃度CUR0より低い例に対応する。これらの図において各パラメータは、図28及び図29と同様に推移し、時刻t41において判定結果が得られる。
【0146】
図32及び図33は、新品のSCR触媒3が搭載された排気系に第5の濃度判定手法を適用した例に対応し、図32は尿素濃度CURが正常濃度CUR0より高い例に対応し、図33は尿素濃度CURが正常濃度CUR0より低い例に対応する。第5の判定手法では、尿素濃度判定値(DPRDUCNH3SLIPなど)は使用されないため、図32及び図33では、濃度判定値の推移を示す図(d)が含まれていない。
【0147】
第5の濃度判定手法においては、濃度判定モード中であるか否かに拘わらず判定が実行され、図32(f)では時刻t51において基本適応係数KVNSBSが高濃度係数閾値KVNSOBDRICHを下回り、高濃度異常フラグFUREACRICHが「1」に設定される(図32(g))。一方図33(f)では時刻t51において基本適応係数KVNSBSが低濃度係数閾値KVNSOBDLEANを超え、低濃度異常フラグFUREACRICHが「1」に設定される(図33(g))。
【0148】
図34〜図36は、劣化したSCR触媒3が搭載された排気系に第1の濃度判定手法を適用した例に対応する。図34は尿素濃度CURが正常濃度CUR0である状態に対応し、図35は尿素濃度CURが正常濃度CUR0より高い状態に対応し、図36は尿素濃度CURが正常濃度CUR0より低い状態に対応する。
【0149】
図34(b)においては、劣化した実ストレージ容量NH3ACTMAXが一点鎖線で示されている。図34(c)〜図34(g)に示すパラメータは、対応する図27(c)〜図27(g)と同様に推移することが確認される。
【0150】
図35(c)〜図35(g)に示すパラメータも、対応する図28(c)〜図28(g)と同様に推移し、図36(c)〜図36(g)に示すパラメータも、対応する図29(c)〜図29(g)と同様に推移し、劣化したSCR触媒が搭載されている場合にも正確な濃度判定が行われる。
【0151】
図37は、上述した尿素水噴射制御及び尿素濃度判定を実行する処理の全体構成を示すフローチャートである。この処理は、ECU10のCPUで例えば50msec周期で実行される。この処理では、上述した第1〜第5の濃度判定手法のいずれか2つを使用して、尿素濃度判定が行われる。
【0152】
ステップS201では、尿素水噴射装置故障フラグFUDFAILが「1」であるか否かを判別する。尿素水噴射装置故障フラグFUDFAILは、尿素水タンク12、尿素水ポンプ(図示せず)を含む尿素水噴射装置の故障が検出されたとき「1」に設定される。ステップS201の答が否定(NO)であるときは、SCR触媒異常劣化フラグFSCRNGが「1」であるか否かを判別する。SCR触媒異常劣化フラグFSCRNGは、SCR触媒3の異常劣化が検出されたとき「1」に設定される。ステップS201またはS202の答が肯定(YES)であるときは、ステップS218に進み、尿素水噴射量GUREAを「0」に設定する。
【0153】
ステップS202の答が否定(NO)であるときは、尿素水タンク空フラグFUVCNTが「1」であるか否かを判別する(ステップS203)。尿素水タンク空フラグFUVCNTは、尿素水タンク12内の尿素水量が「0」より若干大きい所定量以下となったとき「1」に設定される。ステップS203の答が肯定(YES)であるときは、警告表示及び/または警告音の出力を行い(ステップS204)、ステップS218に進む。
【0154】
ステップS203の答が否定(NO)であるときは、酸化触媒暖機完了フラグFCWUPが「1」であるか否かを判別する(ステップS205)。酸化触媒暖機完了フラグFCWUPは、エンジン始動後、所定暖機時間経過後に「1」に設定される。ステップS205の答が肯定(YES)であるときは、センサ正常フラグFSNSOKが「1」であるか否かを判別する(ステップS206)。センサ正常フラグFSNSOKは、NH3センサ7及びSCR触媒温度センサ6がともに正常であるとき「1」に設定される(センサ6及び/またはセンサ7の故障が検出されると「0」に設定される)。
【0155】
ステップS206の答が肯定(YES)であるときは、センサ活性フラグFNH3SACVが「1」であるか否かを判別する(ステップS207)。センサ活性フラグFNH3SACVは、NH3センサ7が活性化すると「1」に設定される。ステップS207の答が肯定(YES)であるときは、SCR触媒温度TSCRが所定活性化温度TSCRACV(例えば200℃)より高いか否かを判別する(ステップS208)。
【0156】
ステップS205〜S208の何れかの答が否定(NO)であるときは、ステップS218に進み、ステップS208の答が肯定(YES)であるときは、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別する(ステップS209)。この答が肯定(YES)であるときは、例えば第1の濃度判定手法により尿素濃度判定Aを実行する(ステップS210)。ステップS209の答が否定(NO)であるときは、直ちにステップS211に進む。尿素濃度判定Aとしは、第2〜第4の濃度判定手法を採用してもよい。
【0157】
ステップS211では、高濃度異常フラグFUREACRICHまたは低濃度異常フラグFUREACLEANが「1」であるか否かを判別し、その答が肯定(YES)であるときは、警告灯を点灯する(ステップS216)。その後ステップS217に進む。
【0158】
ステップS211の答が否定(NO)、すなわち、両フラグがともに「1」であるときは、例えば第5の判定手法により尿素濃度判定Bを実行する(ステップS212)。尿素濃度判定Bでは、第1〜第4の濃度判定手法のうち、ステップS210における尿素濃度判定Aで採用されていない手法を採用可能である。だだし、その場合には濃度判定モードフラグFUCOBDMODEが「1」であることが実行条件とされる。
【0159】
ステップS213では、ステップS211と同じ判別を行い、その答が肯定(YES)であるとき前記ステップS216に進む。
ステップS213の答が否定(NO)であるときは、SCR触媒3の劣化判定処理(図示せず)を実行する(ステップS214)。劣化判定処理では、SCR触媒3が劣化していると判定されると、触媒劣化フラグFSCRAGEDが「1」に設定される。
【0160】
ステップS215では、触媒劣化フラグFSCRAGEDが「1」であるか否かを判別し、その答が肯定(YES)であるときはステップS216に進む。ステップS215の答が否定(NO)であるときは、直ちにステップS217に進み、上述した尿素水噴射制御を実行する。
【0161】
以上の説明したように本実施形態では、SCR触媒3に貯蔵されている還元剤、すなわち尿素またはアンモニアの量を示すストレージ量NH3ACTを、該ストレージ量NH3ACTが最大である状態から一時的に低減し、その後スリップフラグFNH3SLIPが「1」となる(NH3スリップの発生が検出される)までストレージ量NH3ACTを増量するストレージ量変更制御が行われ、該ストレージ量変更制御の実行中におけるNH3スリップの発生状態に応じて、尿素水噴射量を補正する適応係数KVNSが算出される。さらにエンジン回転数NE及びエンジン負荷TRQに応じてフィードフォワード噴射量GUREAFFが算出され、適応係数KVNSを用いてフィードフォワード噴射量GUREAFFを補正することにより尿素水噴射量GUREAが算出される。したがって、尿素水中の尿素濃度の変化に起因する尿素供給量の変動を防止し、尿素供給量制御を比較的簡単な構成で精度良く行うことができる。その結果、NOx排出量の増加あるいは余剰アンモニアの排出(NH3スリップ)を確実に防止することができる。
【0162】
またストレージ量NH3ACTの低減量DSTUCJDが、劣化したと判定されるべきSCR触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量NH3AMAXNGより小さな値に設定されるので、SCR触媒3の劣化状態の影響を受けることなく適応係数KVNS、ひいては尿素水噴射量GUREAの算出を行うことができる。
【0163】
また推定ストレージ量STNH3が算出され、推定ストレージ量STNH3に基づいて判定される推定NH3スリップ発生時期(推定スリップフラグFNH3SLIPHATが「1」に変化するタイミング)と、NH3スリップの実発生時期(スリップフラグFNH3SLIPが「1」に変化するタイミング)と差に応じた誤差量EVNSが算出され、該誤差量EVNSに応じて適応係数KVNSが算出される。推定ストレージ量STNH3は尿素濃度及び尿素水噴射量が正常であることを前提として算出されるので、誤差量EVNSは、尿素濃度のずれあるいは尿素水噴射量のずれを反映する。したがって、この誤差量EVNSに応じて適応係数KVNSを算出することにより、尿素濃度のずれあるいは尿素供給量のずれを補償して尿素供給量制御を精度良く行うことができる。
【0164】
またSCR触媒3のNOx浄化率に影響を与える状態パラメータであるSCR触媒温度TSCR及び推定排気体積流量VEXに応じて設定された複数の領域毎に重み関数値Wijが算出され、誤差量EVNSに重み関数値Wijを乗算することにより、重み付け誤差量WEVNSijが算出される。さらに重み付け誤差量WEVNSijGAが「0」となるように領域毎の補正量である補正量Uijが算出され、この補正量Uijと重み関数値Wijとを用いて適応係数KVNSが算出される。尿素供給量が変化すると、SCR触媒3における反応熱(尿素の加水分解による吸熱量)が変化し、SCR触媒温度TSCR及び推定排気体積流量VEXに応じたSCR触媒3のNOx浄化特性が変化する。したがって、誤差量EVNS及び重み関数値Wijを用いて重み付け誤差量WEVNSijを算出し、重み付け誤差量WEVNSijに基づいて補正量Uijを算出し、この補正量Uijと重み関数値Wijとを用いて適応係数KVNSを算出することにより、SCR触媒温度TSCR及び/または推定排気体積流量VEXの変化に対応した最適な適応係数KVNSを得ることができる。
【0165】
また基本適応係数KVNSBSと、高濃度係数閾値KVNSOBDRICH及び低濃度係数閾値KVNSOBDLEANとが比較され、該比較の結果に応じて尿素水中の尿素濃度が判定される。基本適応係数KVNSBSには、尿素濃度の変化が反映されるので、高濃度係数閾値KVNSOBDRICH及び低濃度係数閾値KVNSOBDLEANと、基本適応係数KVNSBSとを比較することにより、尿素濃度の変化を簡便に判定することができる。
【0166】
本実施形態では、尿素水が反応剤に相当し、尿素が還元剤に相当し、尿素タンク12、通路11、尿素水噴射弁5が還元剤供給手段の一部を構成する。またNH3センサ7が還元剤スリップ判定手段の一部を構成し、ECU10が還元剤スリップ判定手段の一部、ストレージ量変更手段、還元剤供給手段の一部、及び濃度判定手段を構成する。具体的には、図2のスリップ判定部32が還元剤スリップ判定手段に相当し、ストレージ量推定部33及びスイッチング噴射量算出部35がストレージ量変更手段に相当し、フィードフォワード噴射量算出部31、適応係数算出部34、スイッチング噴射量算出部35、及び乗算部37が、還元剤供給手段の一部に相当し、濃度判定部36が濃度判定手段に相当する。
【0167】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、図8及び図13に示す処理は、図38及び図39に示す処理に代えてもよい。
【0168】
図38は、図8のステップS13及びステップS14を削除し、第1演算パラメータSTNH3TEMP1の上限リミット処理を行わないようにしたものである。これにより尿素濃度判定モードでは(FUCOBDMODE=1であるときは)、推定ストレージ量STNH3は推定ストレージ容量STNH3MAXを超えて増加可能となる。
【0169】
図39は、図13のステップS75及びS77をそれぞれステップS75a及びS77aに変えたものである。ステップS75a及びS77aにおける演算は同一であり、下記式(31)により、誤差量EVNS(k)を算出する。
EVNS(k)=STNH3(k)−STNH3MAX(k) (31)
【0170】
スリップフラグFNH3SLIPが、推定スリップフラグFNH3SLIPHATより先に「1」に変化したときは、ステップS77aが実行される。このとき、推定ストレージ量STNH3(k)は、推定ストレージ容量STNH3MAX(k)より小さいため、式(31)により算出される誤差量EVNSは、負の値となる。一方、推定スリップフラグFNH3SLIPHATが、スリップフラグFNH3SLIPより先に「1」に変化したときは、ステップS75aが実行される。このとき、推定ストレージ量STNH3(k)は推定ストレージ容量STNH3MAX(k)を超えているため、式(31)により算出される誤差量EVNSは、正の値となる。
【0171】
図38及び図39の処理によれば、NH3スリップが発生した時点(NH3スリップフラグFNH3SLIPが「1」に変化した時点)における、推定ストレージ量STNH3と推定ストレージ容量STNH3MAXとの差として誤差量EVNSが算出される。したがって、スリップフラグFNH3SLIPが「1」に変化する時期と、推定スリップフラグFNH3SLIPHATが「1」に変化する時期との時間差(符号を含む)に応じた誤差量EVNSが得られるため、基本適応係数KVNSBSの収束時期を早めることができる。
【0172】
また図40に示すように酸化触媒8は削除してもよく、さらに排気中のNOx濃度NOxCを検出するNOx濃度センサ9を設け、検出されるNOx濃度NOxCに応じて尿素水の基本噴射量GUREABSを設定するようにしてもよい。また下流側のSCR触媒4は、酸化触媒4aに代えてもよい。
【0173】
また上述した実施形態では、尿素水を反応剤として使用しているが、これに限るものではなく、例えば尿素の重合体であるビュレット結合の水溶液を反応剤として使用してもよい。
【0174】
また上述した実施形態における尿素水供給装置は、特許文献4に示されるように、アンモニアガス(還元剤)供給装置に代えてもよい。その場合、上述した実施形態における尿素噴射量制御が、アンモニアガス流量制御に相当し、尿素濃度判定手法が、アンモニアガス(還元剤)供給精度判定手法に相当し、「尿素濃度が異常に高い」という判定結果は、「アンモニア供給量が過剰である」という判定結果に相当し、「尿素濃度が異常に低い」という判定結果は、「アンモニア供給量が過少である」という判定結果に相当する。したがって、上述した実施形態の手法を適用することにより、アンモニアガス供給精度の判定を行うことができる。そしてアンモニア供給量が過剰あるいは過少という判定結果が得られたときは、アンモニアガス供給装置の流量センサ、流量制御弁などの作動特性が劣化していると判定することができる。さらに適応係数KVNSによって、アンモニアガス供給装置の特性劣化を補正し、アンモニア供給量を適量に維持することができる。
【0175】
また本発明は、リーンバーン運転を行う火花点火型エンジン、あるいはエンジンクランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの排気浄化装置にも適用が可能である。
【符号の説明】
【0176】
1 内燃機関
2 排気通路
3 選択還元触媒
5 尿素水噴射弁(還元剤供給手段)
6 SCR触媒温度センサ
7 アンモニア濃度センサ(還元剤スリップ判定手段)
10 電子制御ユニット(還元剤スリップ判定手段、ストレージ量変更手段、還元剤供給手段、濃度判定手段)
12 尿素水タンク(還元剤供給手段)
【技術分野】
【0001】
本発明は、内燃機関の排気浄化装置に関し、特に還元剤の存在下で排気中のNOxを還元する選択還元触媒を備えるものに関する。
【背景技術】
【0002】
選択還元触媒を用いて排気中のNOxを浄化するNOx浄化装置は例えば特許文献3に示されている。このNOx浄化装置は、選択還元触媒と、還元剤を生成する反応剤としての尿素水溶液(以下単に「尿素水」という)を選択還元触媒の上流側に供給する尿素水供給装置とを備えている。この装置では、選択還元触媒に供給する尿素水量を調節することにより、還元剤供給量が制御される。
【0003】
尿素水量を一定としても、尿素水の尿素濃度が変化すると、還元剤供給量が変化するため、尿素濃度を監視する必要があり、特許文献1及び2には、尿素水を貯蔵する尿素水タンクに尿素濃度を検出するためのセンサ(尿素濃度センサ)を設置する技術が示されている。
【0004】
また特許文献3には、尿素濃度センサを用いずに、尿素水の凝固点に応じて尿素濃度を推定する手法が示されている。具体的には、タンク内の尿素水の温度を下げて凝固させ、凝固した尿素水が融解したときの温度を検出することにより、凝固点が計測される。
【0005】
また特許文献4には、還元剤としてアンモニアガスを選択還元触媒に供給する排気浄化装置が示されている。この装置によれば、選択還元触媒の下流側へのアンモニアの流出を最小限に抑制しつつ、NOxとアンモニアの比率が最適となるようにアンモニアガス供給量が制御される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2007−163177号公報
【特許文献2】特開2005−337969号公報
【特許文献3】特開2009ー209765号公報
【特許文献4】特表2008−546968号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1及び2に示されるように尿素濃度センサを用いる装置では、コストの上昇や重量及び設置スペースの増加を招く。さらに、タンク内の尿素水は車両走行によって振動し、その振動によって気泡が発生することがあるため、振動及び気泡の発生によって尿素濃度の検出精度が低下することがある。
【0008】
また特許文献3に示された手法には、以下のような課題がある。図41は、凝固点TSOLと尿素濃度CURとの関係を示す。この図41から明らかなように尿素濃度CURが正常濃度CUR0(32.5%)であることは正確に検出できるが(TSOL=TSOL0)、凝固点TSOLが例えばTSOL1であるときは、正常濃度CUR0より高い濃度CUR1Hである場合と、低い濃度CUR1Lである場合とがあり、どちらであるかを判定することはできない。一般的には、尿素濃度CURは減少方向に変化することが想定されるが、使用条件によっては増加方向に変化する場合があり、また規格外の尿素水が使用される場合もあるので、特許文献3に示された手法では尿素濃度の誤判定が発生する可能性がある。
【0009】
また特許文献3には推定された尿素濃度が閾値以下となったときに異常警報を行う点が示されているが、推定尿素濃度に基づく尿素水供給量の制御は示されていない。
【0010】
また特許文献4に示された装置では、アンモニアガス流量が流量センサにより検出され、検出されたアンモニアガス流量が指令値と一致するように流量制御弁が制御される。そのため、流量センサあるいは流量制御弁の特性ばらつき、あるいは経時劣化によってアンモニア供給量の制御精度が低下するおそれがある。
【0011】
本発明は上述した点を考慮してなされたものであり、選択還元触媒を用いてNOxを浄化する排気浄化装置であって、還元剤を生成する反応剤に含まれる還元剤の濃度の変化あるいは還元剤供給装置の特性変化などに起因する還元剤供給量の変動を防止し、還元剤供給量制御を比較的簡単な構成で精度良く行うことができる排気浄化装置を提供することを目的とする。
【課題を解決するための手段】
【0012】
上記目的を達成するため請求項1に記載の発明は、内燃機関の排気通路(2)に設けられ、還元剤の存在下で排気中のNOxを還元する選択還元触媒(3)と、還元剤(尿素、アンモニア)を生成する反応剤(尿素水)または還元剤を前記選択還元触媒(3)の上流側に供給する還元剤供給手段とを備える内燃機関の排気浄化装置において、前記選択還元触媒(3)の下流側に前記還元剤が排出される還元剤スリップの発生を判定する還元剤スリップ判定手段と、前記選択還元触媒(3)に貯蔵されている還元剤の量であるストレージ量(NH3ACT)を、該ストレージ量が最大である状態から一時的に低減し、その後前記還元剤スリップの発生が検出されるまで前記ストレージ量(NH3ACT)を増量するストレージ量変更手段と、該ストレージ量変更手段により前記ストレージ量(NH3ACT)を変更したときの前記還元剤スリップの発生状態に応じて、前記還元剤の供給量(GUREA)を補正する供給補正量(KVNS)を算出する供給補正量算出手段とを備え、前記還元剤供給手段は、前記機関の運転状態(NE,TRQ)または前記選択還元触媒の上流側におけるNOx濃度(NOxC)に応じて前記還元剤の基本供給量(GUREAFF)を算出し、前記供給補正量(KVNS)を用いて前記基本供給量(GUREAFF)を補正することにより前記還元剤の供給量(GUREA)を算出することを特徴とする。
【0013】
請求項2に記載の発明は、請求項1に記載の内燃機関の排気浄化装置において、前記ストレージ量変更手段は、前記ストレージ量の低減量(DSTUCJD)を、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量(NH3AMAXNG)より小さな値に設定することを特徴とする。
【0014】
請求項3に記載の発明は、請求項1または2に記載の内燃機関の排気浄化装置において、前記ストレージ量の推定値である推定ストレージ量(STNH3)を算出する推定ストレージ量算出手段を備え、前記供給補正量算出手段は、前記還元剤スリップ判定手段により判定される前記還元剤スリップの実発生時期と、前記推定ストレージ量に基づいて判定される推定還元剤スリップ発生時期との差に応じた誤差量(EVNS)を算出し、該誤差量(EVNS)に応じて前記供給補正量(KVNS)を算出することを特徴とする。
【0015】
請求項4に記載の発明は、請求項1または2に記載の内燃機関の排気浄化装置において、前記ストレージ量の推定値である推定ストレージ量(STNH3)を算出する推定ストレージ量算出手段と、前記ストレージ量の最大値の推定値である推定ストレージ容量(STNH3MAX)を算出する推定ストレージ容量算出手段とを備え、前記供給補正量算出手段は、前記還元剤スリップが発生した時点における、前記推定ストレージ量(STNH3)と前記推定ストレージ容量(STNH3MAX)との差である誤差量(EVNS)を算出し、該誤差量(EVNS)に応じて前記供給補正量(KVNS)を算出することを特徴とする。
【0016】
請求項5に記載の発明は、請求項3または4に記載の内燃機関の排気浄化装置において、前記供給補正量算出手段は、前記選択還元触媒のNOx浄化率に影響を与える状態パラメータ(VEX,TSCR)に応じて設定された複数の領域毎に重み関数値(Wij)を算出する重み関数値算出手段と、前記誤差量(EVNS)に前記重み関数値(Wij)を乗算することにより、前記領域に対応して重み付けされた重み付け誤差量(WEVNSij)を算出する重み付け誤差量算出手段と、前記重み付け誤差量(WEVNSij)に基づいて前記領域毎の補正量である領域補正量(Uij)を算出する領域補正量算出手段とを備え、前記領域補正量(Uij)と前記重み関数値(Wij)とを用いて前記供給補正量(KVNS)を算出することを特徴とする。
【0017】
請求項6に記載の発明は、請求項1から5の何れか1項に記載の内燃機関の排気浄化装置において、前記供給補正量(KVNS)と所定濃度判定閾値(KVNSOBDRICH,KVNSOBDLEAN)と比較し、該比較の結果に応じて前記反応剤中の還元剤濃度を判定する濃度判定手段をさらに備えることを特徴とする。
【発明の効果】
【0018】
請求項1に記載の発明によれば、選択還元触媒に貯蔵されている還元剤の量であるストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後還元剤スリップの発生が検出されるまでストレージ量を増量するストレージ量変更制御が行われ、該ストレージ量変更制御の実行中における還元剤スリップの発生状態に応じて、還元剤供給手段による還元剤の供給量を補正する供給補正量が算出される。さらに機関の運転状態または選択還元触媒の上流側におけるNOx濃度に応じて還元剤の基本供給量が算出され、供給補正量を用いて基本供給量を補正することにより還元剤の供給量が算出される。したがって、反応剤に含まれる還元剤の濃度変化あるいは還元剤供給装置の特性変化などに起因する還元剤供給量の変動を防止し、還元剤供給量制御を比較的簡単な構成で精度良く行うことができる。その結果、NOx排出量の増加あるいは余剰還元剤の排出(還元剤スリップ)を確実に防止することができる。
【0019】
請求項2に記載の発明によれば、ストレージ量の低減量が、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量より小さな値に設定されるので、選択還元触媒の劣化状態の影響を受けることなく供給補正量を算出することができる。
【0020】
請求項3に記載の発明によれば、ストレージ量の推定値である推定ストレージ量が算出され、還元剤スリップ判定手段により判定される還元剤スリップの実発生時期と、推定ストレージ量に基づいて判定される推定還元剤スリップ発生時期との差に応じた誤差量が算出され、該誤差量に応じて供給補正量が算出される。推定ストレージ量は還元剤濃度及び還元剤供給量が正常であることを前提として算出されるので、推定還元剤スリップ発生時期と、実発生時期との差に応じた誤差量は、還元剤濃度のずれあるいは還元剤供給量のずれを反映する。したがって、この誤差量に応じて供給補正量を算出することにより、還元剤濃度のずれあるいは還元剤供給量のずれを補償して還元剤供給量制御を精度良く行うことができる。
【0021】
請求項4に記載の発明によれば、ストレージ量の推定値である推定ストレージ量が算出されるとともに、ストレージ量の最大値の推定値である推定ストレージ容量が算出される。さらに還元剤スリップが発生した時点における、推定ストレージ量と推定ストレージ容量との差である誤差量が算出され、該誤差量に応じて供給補正量が算出される。推定ストレージ量は還元剤濃度あるいは還元剤供給量が正常であることを前提として算出されるので、還元剤スリップが発生した時点における推定ストレージ量と推定ストレージ容量との差である誤差量は、還元剤濃度のずれあるいは還元剤供給量のずれを反映する。したがって、この誤差量に応じて供給補正量を算出することにより、還元剤濃度のずれあるいは還元剤供給量のずれを補償して還元剤供給量制御を精度良く行うことができる。
【0022】
請求項5に記載の発明によれば、選択還元触媒のNOx浄化率に影響を与える状態パラメータに応じて設定された複数の領域毎に重み関数値が算出され、上記誤差量に重み関数値を乗算することにより、状態パラメータの領域に対応して重み付けされた重み付け誤差量が算出される。さらに重み付け誤差量に基づいて領域毎の補正量である領域補正量が算出され、この領域補正量と重み関数値とを用いて供給補正量が算出される。還元剤供給量が変化すると、選択還元触媒における反応熱が変化し、上記状態パラメータに応じた選択還元触媒のNOx浄化特性が変化する。したがって、状態パラメータに応じて算出される重み関数値を用いて重み付け誤差量を算出し、重み付け誤差量に基づいて領域補正量を算出し、この領域補正量と重み関数値とを用いて供給補正量を算出することにより、状態パラメータの変化に対応した最適な供給補正量を得ることができる。
【0023】
請求項6に記載の発明によれば、供給補正量と所定濃度判定閾値とが比較され、該比較の結果に応じて反応剤中の還元剤濃度が判定される。供給補正量には、還元剤濃度の変化が反映されるので、所定濃度判定閾値と比較することにより、還元剤濃度の変化を簡便に判定することができる。
【図面の簡単な説明】
【0024】
【図1】本発明の一実施形態にかかる内燃機関及びその排気浄化装置の構成を示す図である。
【図2】本実施形態における尿素濃度判定手法を説明するためのタイムチャートである。
【図3】選択還元触媒が劣化した状態で尿素濃度判定を行うときの課題を説明するためのタイムチャートである。
【図4】選択還元触媒の温度(TSCR)と、還元剤ストレージ容量(NH3ACTMAX)との関係を示す図である。
【図5】尿素水噴射量(GUREA)の制御を行うモジュールの構成を示すブロック図である。
【図6】尿素水の基本噴射量(GUREABS)を算出するためのマップを示す図である。
【図7】アンモニア濃度センサ出力(NH3CONS)の2値化を説明するための図である。
【図8】図5のストレージ量算出部における演算処理のフローチャートである。
【図9】図5のスイッチング噴射量算出部における演算処理のフローチャートである。
【図10】図5のスイッチング噴射量算出部における演算処理のフローチャートである。
【図11】図8及び図9の処理で使用されるテーブル及びマップを示す図である。
【図12】図5の適応係数算出部における演算処理のフローチャートである。
【図13】図12の処理で実行されるEVNS算出処理のフローチャートである。
【図14】図12の処理で使用されるテーブルを示す図である。
【図15】図12の処理における補正量(Uij)の算出手法を説明するための図である。
【図16】図12の処理による制御動作を説明するためのタイムチャートである。
【図17】図5の濃度判定部における演算処理(第1の濃度判定手法)のフローチャートである。
【図18】図17の処理で実行される実行条件判定処理のフローチャートである。
【図19】図18の処理を説明するためのタイムチャートである。
【図20】図5の濃度判定部における演算処理(第2の濃度判定手法)のフローチャートである。
【図21】図20の処理を説明するためのタイムチャートである。
【図22】図5の濃度判定部における演算処理(第3の濃度判定手法)のフローチャートである。
【図23】図22の処理を説明するためのタイムチャートである。
【図24】図5の濃度判定部における演算処理(第4の濃度判定手法)のフローチャートである。
【図25】図24の処理を説明するためのタイムチャートである。
【図26】図5の濃度判定部における演算処理(第5の濃度判定手法)のフローチャートである。
【図27】第1の濃度判定手法を適用した動作例(正常濃度)を示すタイムチャートである。
【図28】第1の濃度判定手法を適用した動作例(高濃度)を示すタイムチャートである。
【図29】第1の濃度判定手法を適用した動作例(低濃度)を示すタイムチャートである。
【図30】第4の濃度判定手法を適用した動作例(高濃度)を示すタイムチャートである。
【図31】第4の濃度判定手法を適用した動作例(低濃度)を示すタイムチャートである。
【図32】第5の濃度判定手法を適用した動作例(高濃度)を示すタイムチャートである。
【図33】第5の濃度判定手法を適用した動作例(低濃度)を示すタイムチャートである。
【図34】第1の濃度判定手法を適用した動作例(劣化SCR触媒、正常濃度)を示すタイムチャートである。
【図35】第1の濃度判定手法を適用した動作例(劣化SCR触媒、高濃度)を示すタイムチャートである。
【図36】第1の濃度判定手法を適用した動作例(劣化SCR触媒、低濃度)を示すタイムチャートである。
【図37】尿素噴射量制御及び尿素濃度判定を行う処理の全体構成を示すフローチャートである。
【図38】図8に示す処理の変形例を示すフローチャートである。
【図39】図13に示す処理の変形例を示すフローチャートである。
【図40】図1に示す構成の変形例を示す図である。
【図41】尿素濃度(CUR)と尿素水溶液の凝固点(TSOL)との関係を示す図である。
【発明を実施するための形態】
【0025】
以下本発明の実施の形態を図面を参照して説明する。
図1は本発明の一実施形態にかかる内燃機関及びその排気浄化装置の構成を示す図である。内燃機関(以下単に「エンジン」という)1は、空燃比を理論空燃比よりリーン側のリーン空燃比に設定して運転するリーンバーン運転が主として行われるディーゼル(圧縮着火型)エンジンである。エンジン1の排気通路2には、排気中の炭化水素あるいは一酸化炭素の酸化を促進するための酸化触媒8と、還元剤の存在下で排気中のNOxを還元する選択還元触媒(以下「SCR触媒」という)3,4とが設けられている。SCR触媒3,4は、酸化触媒8の下流側に設けられている。
【0026】
SCR触媒3の上流側には、尿素水を噴射する尿素水噴射弁5が設けられており、尿素水噴射弁5の作動は電子制御ユニット(以下「ECU」という)10により制御される。尿素水噴射弁5は、通路11を介して尿素水タンク12に接続されている。ECU10から開弁指令信号が供給されると、尿素水噴射弁5が開弁し、開弁時間に応じた量(噴射量)の尿素水が排気通路2内に噴射される。
【0027】
SCR触媒3は、還元剤である尿素、及び尿素から生成されるアンモニア(NH3、以下「NH3」と記述する)を貯蔵可能に構成されている。なお、以下の説明ではSCR触媒3における還元剤の貯蔵量を「ストレージ量」といい、SCR触媒3が貯蔵可能な最大ストレージ量を「ストレージ容量」という。
【0028】
SCR触媒3には、SCR触媒3の温度(以下[SCR触媒温度」という)TSCRを検出するSCR触媒温度センサ6が設けられ、SCR触媒3とSCR触媒4の間には排気中のアンモニア濃度NH3CONSを検出するアンモニア濃度センサ(以下「NH3センサ」という)7が設けられている。これらのセンサの検出信号は、ECU10に供給される。
【0029】
ECU10には、エンジン1の回転数NEを検出するエンジン回転数センサ21及びエンジン1により駆動される車両のアクセルペダルの踏み込み量(以下「アクセルペダル操作量」という)APを検出するアクセルセンサ22が接続されており、これらのセンサの検出信号がECU10に供給される。
【0030】
ECU10は、上述したセンサ及び図示しないセンサからの入力信号波形を整形し、電圧レベルを所定レベルに修正し、アナログ信号値をデジタル信号値に変換する等の機能を有する入力回路、中央演算処理ユニット(以下「CPU」という)、CPUで実行される演算プログラム及び演算結果等を記憶する記憶回路を有し、さらに尿素水噴射弁5、燃料噴射弁(図示せず)に駆動信号を供給する出力回路を備えている。
【0031】
ECU10は、エンジン運転状態に応じて燃料噴射弁による燃料噴射制御を行うとともに、SCR触媒3に適量の尿素を供給するための尿素水噴射制御を行う。さらにECU10は、尿素水中の尿素濃度CURを判定し、尿素濃度CURが許容範囲外であると判定したときは、警告灯を点灯する。また尿素水噴射制御においては、判定した尿素濃度に応じた尿素水噴射量の補正が行われる。
【0032】
以下本実施形態における尿素濃度の判定手法の概要を図2を参照して説明する。図2(a)〜(c)は、それぞれストレージ量の推定値である推定ストレージ量STNH3、実際のストレージ量である実ストレージ量NH3ACT、及びNH3センサ7の出力NH3CONSの推移を示す。図2(b)及び(c)において、一点鎖線は、尿素濃度CURが正常濃度CUR0である状態に対応し、実線は尿素濃度CURが正常濃度CUR0より高い状態に対応し、破線は尿素濃度CURが正常濃度CUR0より低い状態に対応する。
【0033】
ストレージ量NH3ACTが増加してストレージ容量NH3ACTMAXに達すると、SCR触媒3の下流側にNH3が流出するNH3スリップが発生する。そこで、本実施形態では、NH3センサ出力NH3CONSが所定閾値NH3JDを超えると、NH3スリップが発生した判定する(図2(c),時刻t3,t4,t5)。
【0034】
本実施形態では、尿素水噴射量GUREAを変更することにより、ストレージ量NH3ACTがストレージ容量NH3ACTMAXと等しい状態から、徐々にストレージ量NH3ACTを低減し、その後徐々にストレージ量NH3ACTを増加させ、ストレージ量NH3ACTの低減開始時刻t1からNH3スリップが検出される時刻t3,t4,またはt5までの時間(以下「NH3スリップ検出時間」という)PRDUCNH3SLIPに応じて、尿素濃度CURを判定する。
【0035】
尿素濃度CURが高くなるほど、NH3スリップ検出時間PRDUCNH3SLIPが短くなる(T3<T4<T5)ので、尿素濃度CURを判定することができる。
【0036】
この判定手法では、尿素濃度CURが正常濃度CUR0と等しいと仮定して、推定ストレージ量STNH3を算出し、推定ストレージ量STNH3が推定ストレージ容量STNH3MAXに達する推定スリップ発生時刻tSLIPHATと、ストレージ量の低減開始時刻t1とから推定NH3スリップ検出時間PRDUCNH3SLIPHATを算出し、これを判定基準値とする。そして、判定基準値と、計測されたNH3スリップ検出時間PRDUCNH3SLIPとの差分(以下「尿素濃度判定値」という)DPRDUCNH3SLIPに基づいて、尿素濃度CURを判定する。尿素濃度判定値DPRUCNH3SLIPは、下記式(1)により算出される。
DPRDUCNH3SLIP=
PRDUCNH3SLIP−PRDUCNH3SLIPHAT (1)
【0037】
式(1)で定義される尿素濃度判定値DPRUCNH3SLIPは、尿素濃度CURが正常濃度CUR0と等しいとき「0」近傍の値をとり、尿素濃度CURが高くなるほど減少する。すなわち、正常濃度CUR0より高いときは負の値をとり、正常濃度CUR0より低いとき正の値をとる。
【0038】
尿素濃度判定値DPRUCNH3SLIPが、尿素濃度CURの許容範囲の上限値に相当する高濃度判定閾値DPRDUCRICHより小さいとき、及び許容範囲の下限値に相当する低濃度判定閾値DPRDUCLEANより大きいときは、警告灯が点灯される。
【0039】
図2(a)に示すストレージ低減量DSTUCJDが、劣化していると判定されるべき選択還元触媒(以下「劣化SCR触媒」という)のストレージ容量(以下「劣化ストレージ容量」という)NH3AMAXNGより大きい値に設定されると、尿素濃度判定を正確に行うことができないという不具合が発生する。
【0040】
すなわち、劣化SCR触媒について上記尿素濃度判定を実行すると、ストレージ量を低減している途中で劣化SCR触媒内のNH3(尿素)が無くなり、NOx浄化率が著しく低下するとともに、NH3スリップの発生時期が正常なSCR触媒に比べて早まり、尿素濃度を正確に判定することができない。
【0041】
図3はこの不具合を説明するためのタイムチャートであり、図3(a)〜(c)は、図2と同様に、推定ストレージ量STNH3、実NH3ストレージ量NH3ACT、及びNH3センサ出力NH3CONSの推移を示す。これらの図において、破線はストレージ低減量DSTUCJD(=DST1)が劣化ストレージ容量NH3AMAXNGより小さい例に対応し、実線はストレージ低減量DSTUCJD(=DST2)が劣化ストレージ容量NH3AMAXNGより大きい例に対応する。また図3(b)の一点鎖線は、SCR触媒が正常である場合の仮想的な推移を示す。
【0042】
破線で示す例では、図2に示す例と同様にNH3スリップ検出時間PRDUCNH3SLIPが時間T13として検出される(時刻t13においてNH3スリップが検出される)が、実線で示す例では、時刻t11において実ストレージ量NH3ACTが「0」となるため、NH3スリップが時刻t12に検出され、NH3スリップ検出時間PRDUCNH3SLIPが時間T12として検出され、尿素濃度が実際より高く誤判定される。
【0043】
そこで、本実施形態では、ストレージ低減量DSTUCJDを、劣化SCR触媒のストレージ容量である劣化ストレージ容量NH3AMAXNGより小さな値に設定するようにしている。これにより、図3に実線で示すような不具合を防止することができる。
【0044】
図4は、SCR触媒温度TSCRと、実ストレージ容量NH3ACTMAXとの関係を示す図であり、実線L1〜L3は、それぞれ新品SCR触媒、正常SCR触媒、及び劣化SCR触媒に対応する。また破線L4はストレージ低減量DSTUCJDの設定を示し、劣化SCR触媒の実ストレージ容量(実線L3)より、若干小さな値に設定される。なお、TSCRJDL及びTSCRJDHは、それぞれ尿素濃度判定を実行するSCR触媒温度範囲RTSCRJDの下限温度及び上限温度であり、それぞれ例えば200℃及び350℃に設定される。
【0045】
図5は、尿素水噴射制御モジュールの構成を示すブロック図であり、この図に示す各ブロックの機能はECU10のCPUにおける演算処理により実現される。
【0046】
図5に示す尿素水噴射制御モジュールは、フィードフォワード噴射量算出部31と、スリップ判定部32と、ストレージ量推定部33と、適応係数算出部34と、スイッチング噴射量算出部35と、濃度判定部36と、加算部37とを備えている。
【0047】
フィードフォワード噴射量算出部31は、エンジン回転数NE、エンジン負荷(要求トルク)TRQ、及び適応係数KVNSに応じて、フィードフォワード噴射量GUREAFFを算出する。エンジン負荷TRQは、アクセルペダル操作量APに応じて算出され、アクセルペダル操作量APが増加するほど増加するように設定される。適応係数KVNSは、適応係数算出部34においてNH3スリップの発生状態に応じて算出される噴射量補正係数であり、尿素水中の尿素濃度が高くなるほどより小さな値をとる。
【0048】
具体的には、エンジン回転数NE及びエンジン負荷TRQに応じて図6に示すGUREABSマップを検索し、基本噴射量GUREABSを算出する。図6に示す3つの曲線はぞれぞれ所定エンジン負荷TRQ1,TRQ2,及びTRQ3に対応し、TRQ1<TRQ2<TRQ3なる関係を満たす。したがって、基本噴射量GUREABSは、エンジン回転数NEが増加するほど増加し、かつエンジン負荷TRQが増加するほど増加するように設定される。
【0049】
フィードフォワード噴射量算出部31は、さらに下記式(2)に基本噴射量GUREABS及び適応係数KVNSを適用し、フィードフォワード噴射量GUREAFFを算出する。式(2)の「k」は、ECU10のCPUにおける尿素水噴射制御の制御周期DTMUCOBDで離散化した離散化時刻である。(k)は今回値であることを示し、説明文中では通常は省略されている。
GUREAFF(k)=KVNS(k)×GUREABS(k) (2)
【0050】
スリップ判定部32は、NH3センサ出力NH3CONSの2値化を行う。すなわち、NH3センサ出力NH3CONSと、所定閾値NH3JDとを比較し、NH3センサ出力NH3CONSが所定閾値NH3JD以上であるとき、スリップフラグFNH3SLIPを「1」に設定し、NH3センサ出力NH3CONSが所定閾値NH3JDより小さいとき、スリップフラグFNH3SLIPを「0」に設定する。
【0051】
図7は、この2値化処理を説明するための図であり、同図(a)は二値化により得られるスリップフラグFNH3SLIPを示し、同図(b)は、排気中の実アンモニア濃度NH3CONACTと、センサ出力NH3CONSとの関係を示す。実線は、平均的な特性を示し、2つの破線は特性ばらつきまたは経時変化により、傾きが異なる特性を示す。
【0052】
所定閾値NH3JDを用いて2値化すること、すなわちアンモニアが存在するか否かを示すスリップフラグFNH3SLIPを「1」または「0」に設定することにより、特性ばらつきあるいは経時変化の影響を最小化することができる。
【0053】
ストレージ量推定部33は、フィードフォワード噴射量GUREAFF、尿素水噴射量GUREA(加算部37の出力)、SCR触媒温度TSCR、適応係数KVNS、濃度判定モードフラグFUCOBDMODE(濃度判定部36で設定される)、及びスリップフラグFNH3SLIPに応じて、推定ストレージ量STNH3及び推定ストレージ容量STNH3MAXを算出するとともに、推定ストレージ量STNH3及び推定ストレージ容量STNH3MAXに応じて推定スリップフラグFNH3SLIPHATの設定を行う。
【0054】
適応係数算出部34は、推定排気体積流量VEX(スイッチング噴射量算出部35で算出される)、SCR触媒温度TSCR、スリップフラグFNH3SLIP、及び推定スリップフラグFNH3SLIPHATに応じて、基本適応係数KVNSBS、及び適応係数KVNSを算出する。基本適応係数KVNSBSは、NH3スリップの発生状態に応じて算出され、適応係数KVNSは、尿素濃度判定を行うときは「1.0」に設定され、それ以外とき(通常制御時)は基本適応係数KVNSBSに設定される。
【0055】
スイッチング噴射量算出部35は、エンジン回転数NE及びエンジン負荷TRQに応じて推定排気体積流量VEXを算出するとともに、SCR触媒温度TSCR、スリップフラグFNH3SLIP、推定ストレージ量STNH3、推定ストレージ容量STNH3MAX、適応係数KVNS、及び濃度判定モードフラグFUCOBDMODEに応じて、スイッチング噴射量GUREASWを算出する。
【0056】
濃度判定部36は、基本適応係数KVNSBS、スリップフラグFNH3SLIP、及び推定スリップフラグFNH3SLIPHATに応じて、濃度判定モードフラグFUCOBDMODE、高濃度異常フラグFUREACRICH、及び低濃度異常フラグFUREACLEANの設定を行う。濃度判定モードフラグFUCOBDMODEは、濃度判定の実行条件が成立しているとき「1」に設定される。また高濃度異常フラグFUREACRICHは、尿素濃度CURが異常に高いと判定されたとき「1」に設定され、低濃度異常フラグFUREACLEANは、尿素濃度CURが異常に低いと判定されたとき「1」に設定される。
【0057】
加算部37は下記式(3)に示すように、フィードフォワード噴射量GUREAFFと、スイッチング噴射量GUREASWとを加算し、尿素水噴射量GUREAを算出する。
GUREA(k)=GUREAFF(k)+GUREASW(k) (3)
【0058】
次にストレージ量推定部33、適応係数算出部34、スイッチング噴射量算出部35、及び濃度判定部36における演算処理を詳細に説明する。
図8は、ストレージ量推定部33における演算処理の手順を示すフローチャートである。SCR触媒3には、噴射された尿素水中の尿素は、一部はそのまま貯蔵され、残りは加水分解されて生成されるNH3として貯蔵される。図8の処理では、推定ストレージ量STNH3、及び推定ストレージ容量STNH3MAXは、尿素水量相当量として算出される。
【0059】
ステップS11では、SCR触媒温度TSCRに応じて図11(a)に示すSTNH3MAXテーブルを検索し、推定ストレージ容量STNH3MAXを算出する。STNH3MAXテーブルは、SCR触媒温度TSCRが高くなるほど推定ストレージ容量STNH3MAXが減少するように設定されている。なお、図11(a)には、後述する目標切換ストレージ量STNH3SWの設定が参考として示されている。
【0060】
ステップS12では、推定ストレージ量の前回値STNH3(k-1)、尿素水噴射量GUREA(k)、及びフィードフォワード噴射量GUREAFF(k)を下記式(4)に適用し、推定ストレージ量STNH3の第1演算パラメータSTNH3TEMP1を算出する。フィードフォワード噴射量GUREAFFは、NOxの還元に使用されたNH3量の推定値に相当するので、前回値STNH3(k-1)から減算される。
STNH3TEMP1(k)=STNH3(k-1)+GUREA(k)−GUREAFF(k)
(4)
【0061】
ステップS13では、第1演算パラメータSTNH3TEMP1(k)が推定ストレージ容量STNH3MAX(k)以上あるか否かを判別し、その答が肯定(YES)あるときは、第2演算パラメータSTNH3TEMP2(k)を推定ストレージ容量STNH3MAX(k)に設定する(ステップS14)。ステップS13の答が否定(NO)であるときは、第1演算パラメータSTNH3TEMP1(k)が「0」以下であるか否かを判別する(ステップS15)。
【0062】
ステップS15の答が肯定(YES)であるときは、第2演算パラメータSTNH3TEMP2(k)を「0」に設定し(ステップS16)、ステップS15の答が否定(NO)であるときは、第2演算パラメータSTNH3TEMP2を第1演算パラメータSTNH3TEMP1(k)に設定する(ステップS17)。
【0063】
ステップS18では、スリップフラグFNH3SLIPが「1」であるか否かを判別し、その答が肯定(YES)であるときは、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別する(ステップS19)。ステップS18の答が否定(NO)であるとき、またはステップS19の答が肯定(YES)であるときは、推定ストレージ量STNH3(k)を第2演算パラメータSTNH3TEMP2(k)に設定する(ステップS20)。
【0064】
ステップS19の答が否定(NO)、すなわちNH3スリップが発生し(FNH3SLIP=1)かつ濃度判定を行っていないときは、ステップS21に進み、推定ストレージ量STNH3(k)を推定ストレージ容量STNH3MAX(k)に設定する。これにより、推定ストレージ量STNH3に誤差が累積することを防止し、推定ストレージ量STNH3の算出精度を高めてSCR触媒3のNH3ストレージ制御の精度を向上させることができる。
【0065】
ステップS22では、推定ストレージ量STNH3(k)が推定ストレージ容量STNH3MAX(k)以上であるか否かを判別し、その答が肯定(YES)であるときは、推定スリップフラグFNH3SLIPHAT(k)を「1」に設定する(ステップS23)。STNH3(k)<STNH3MAX(k)であるときは、推定スリップフラグFNH3SLIPHAT(k)を「0」に設定する(ステップS24)。すなわち、推定スリップフラグFNH3SLIPHATは、推定ストレージ量STNH3が推定ストレージ容量STNH3MAXに達すると「1」に設定される。
【0066】
図9及び図10は、スイッチング噴射量算出部35における演算処理の手順を示すフローチャートである。
ステップS31では、SCR触媒温度TSCRに応じて図11(b)に示すKSTSWNMテーブル(実線)及びKSTSUCJDテーブル(破線S)を検索し、通常切換ストレージ量算出係数KSTSWNM(k)及び濃度判定切換ストレージ量算出係数KSTSWUCJD(k)を算出する。通常切換ストレージ量算出係数KSTSWNM(k)は、通常制御(濃度判定を行っていないときの制御)において目標切換ストレージ量STNH3SWの算出に適用され、濃度判定切換ストレージ量算出係数KSTSWUCJD(k)は、濃度判定モードにおいて目標切換ストレージ量STNH3SWの算出に適用される(ステップS32参照)。
【0067】
KSTSWNMテーブル及びKSTSWUCJDテーブルは、SCR触媒温度TSCRが100℃から500℃程度の範囲で、SCR触媒温度TSCRが高くなるほど係数値が減少するように設定されている。また濃度判定モードにおいては、通常制御時より係数値が小さくなるように設定されている(KSTSWUCJD<KSTSWNM)。これにより、濃度判定モードでは、過渡運転時における濃度判定の精度が低下することが防止される一方、通常制御時においてはストレージ量の低減量が最小限に設定され、NOx浄化率の低下が防止される。
【0068】
なお、切換ストレージ量算出係数KSTSWNM及びKSTSUCJDは、SCR触媒温度TSCRに関わらず一定値に設定するようにしてもよい。
ステップS32では、推定ストレージ容量STNH3MAX(k)及び通常切換ストレージ量算出係数KSTSWNM(k)を下記式(5)に適用して通常目標切換ストレージ量STNH3NM(k)を算出するとともに、推定ストレージ容量STNH3MAX(k)及び濃度判定切換ストレージ量算出係数KSTSWUCJD(k)を下記式(6)に適用して濃度判定目標切換ストレージ量STNH3UCJD(k)を算出する。
STNH3NM(k)=KSTSWNM(k)×STNH3MAX(k) (5)
STNH3UCJD(k)=KSTSWUCJD(k)×STNH3MAX(k) (6)
【0069】
なお、目標切換ストレージ量STNH3NM及びSTNH3UCJDは、推定ストレージ容量STNH3MAXから所定量を減算した値に設定するようにしてもよい。
【0070】
ステップS33では、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別する。濃度判定モードでは目標切換ストレージ量STNH3SW(k)を濃度判定目標切換ストレージ量STNH3UCJD(k)に設定し(ステップS35)、通常制御においては目標切換ストレージ量STNH3SW(k)を通常目標切換ストレージ量STNH3NM(k)に設定する(ステップS34)。
【0071】
ステップS36では、前回の噴射量切換フラグFUREASW(k-1)が「0」であるか否かを判別する。噴射量切換フラグFUREASWが「1」であるときは、スイッチング噴射量GUREASWが下側制御値に設定され、噴射量切換フラグFUREASWが「0」であるときは、スイッチング噴射量GUREASWが上側制御値に設定される(ステップS52〜S54参照)。
【0072】
ステップS36の答が肯定(YES)であるときは、スリップフラグFNH3SLIP(k)が「1」であるか否かを判別する(ステップS37)。FNH3SLIP(k)=1であるときは、噴射量切換フラグFUREASW(k)を「1」に設定し(ステップS40)、FNH3SLIP(k)=0であるときは、噴射量切換フラグFUREASW(k)を前回値に維持する(ステップS39)。
【0073】
ステップS36でFUREASW(k-1)=1であるときは、推定ストレージ量STNH3(k)が目標切換ストレージ量STNH3SW(k)以下であるか否かを判別する(ステップS38)。その答が肯定(YES)であるときは、噴射量切換フラグFUREASW(k)を「0」に設定する(ステップS41)。ステップS38の答が否定(NO)であって、推定ストレージ量STNH3(k)が目標切換ストレージ量STNH3SW(k)に達していないときは、前記ステップS39に進む。すなわち、噴射量切換フラグFUREASWは、「0」である状態でスリップフラグFNH3SLIPが「1」に設定されると、「1」に変更され、「1」である状態で推定ストレージ量STNH3が目標切換ストレージ量STNH3SW以下となったとき「0」に変更される。
【0074】
ステップS42では、エンジン回転数NE及びエンジン負荷TRQに応じて図11(c)に示すVEXマップを検索し、推定排気体積流量VEXを算出する。推定排気体積流量VEXは、1制御周期DTMUCOBD(例えば100〜500msec程度に設定される)当たりの体積排気量の推定値である。図11(c)において所定エンジン負荷TRQ1,TRQ2,TRQ3は、TRQ1<TRQ2<TRQ3なる関係を有し、VEXマップはエンジン回転数NEが増加するほど推定排気体積流量VEXが増加し、かつエンジン負荷TRQが増加するほど推定排気体積流量VEXが増加するように設定されている。
【0075】
ステップS51(図10)では、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別し、その答が否定(NO)であって通常制御中であるときは、噴射量切換フラグFUREASW(k)が「1」であるか否かを判別する(ステップS52)。ステップS52の答が肯定(YES)、すなわち尿素水噴射量GUREAを下側制御値に設定するときは、スイッチング噴射量GUREASW(k)を下記式(7)により算出する。式(7)のGUREASWUNDは、SCR触媒3のNH3ストレージ量を減少させるために負の値に設定される所定減量補正値であり、単位は重量濃度である。DENEXは排気密度[g/L]である。KVNS(k)は、適応係数算出部34で算出され、尿素濃度の変化に適応するための適応係数である。
GUREASW(k)=KVNS(k)×GUREASWUND×VEX(k)×DENEX
(7)
【0076】
ステップS52の答が否定(NO)、すなわちFUREASW(k)=0であって尿素水噴射量GUREAを上側制御値に設定するときは、スイッチング噴射量GUREASW(k)を下記式(8)により算出する。式(8)のGUREASWOVDは、SCR触媒3のNH3ストレージ量を増加させるために正の値に設定される所定増量補正値であり、単位は重量濃度である。
GUREASW(k)=KVNS(k)×GUREASWOVD×VEX(k)×DENEX
(8)
【0077】
一方ステップS51でFUCOBDMODE=1であって、濃度判定実行中においては、噴射量切換フラグFUREASW(k)が「1」であるときは下記式(9)により、また噴射量切換フラグFUREASW(k)が「0」であるときは下記式(10)により、スイッチング噴射量GUREASW(k)を算出する(ステップS55,S56,S57)。式(9)及び(10)は、それぞれ式(7)及び(8)の「KVNS(k)」を削除した式である。濃度判定を行うときは、適応係数KVNSによる補正を停止する必要があるためである。
GUREASW(k)=GUREASWUND×VEX(k)×DENEX (9)
GUREASW(k)=GUREASWOVD×VEX(k)×DENEX (10)
【0078】
図12は、適応係数算出部34における演算処理の手順を示すフローチャートである。
ステップS61では、図13に示すEVNS算出処理を実行し、誤差量EVNSを算出する。誤差量EVNSは、推定ストレージ量STNH3及び推定ストレージ容量STNH3MAXに基づく推定NH3スリップ発生時期(推定スリップフラグFNH3SLIPHATが「1」となる時期)と、検出されるNH3スリップ発生時期(スリップフラグFNH3SLIPが「1」となる時期)との差を示すパラメータである。
【0079】
ステップS62では、SCR触媒温度TSCRに応じて図14(a)に示すWTiテーブル(i=1〜4)を検索し、触媒温度重み係数WTi(k)を算出する。本実施形態では、SCR触媒温度TSCRに応じて4つの温度範囲RT1〜RT4が設定されており、温度範囲RT1〜RT4は、隣り合う範囲が重なり合うように設定されている。触媒温度重み係数WT1〜WT4は、それぞれ温度範囲RT1〜RT4に対応し、図14(a)に示すように設定されている。例えばSCR温度TSCRが、温度TSCR1であるときの検索結果は、下記のようになる。
WT1=WT11,WT2=WT21,WT3=WT4=0
【0080】
ステップS63では、推定排気体積流量VEXに応じて図14(b)に示すWVjテーブル(j=1〜4)を検索し、体積流量重み係数WVj(k)を算出する。本実施形態では、推定排気体積流量VEXに応じて4つの流量範囲RV1〜RV4が設定されており、流量範囲RV1〜RV4は、隣り合う範囲が重なり合うように設定されている。体積流量重み係数WV1〜WV4は、それぞれ流量範囲RV1〜RV4に対応し、図14(b)に示すように設定されている。例えば推定排気体積流量VEXが、流量VEX1であるときの検索結果は、下記のようになる。
WV1=0,WV2=WV21,WV3=WV31,WV4=0
【0081】
ステップS64では、SCR触媒温度TSCR及び推定排気体積流量VEXで定義される領域RTVijに対応する領域重み係数Wij(k)を、下記式(11)により算出するとともに、領域RTVijに対応する重み付け誤差量WEVNSijを下記式(12)により算出する。
Wij(k)=WTi(k)×WVj(k) (11)
WEVNSij(k)=Wij(k)×EVNS(k) (12)
【0082】
領域RTVijは、図15に示すようにSCR触媒温度TSCRについて4つの範囲RT1〜RT4と、推定排気体積流量VEXについての4つの範囲RV1〜RV4とによって定義される16個の領域であり、隣り合う領域は重なり合っている。
【0083】
ステップS65では、重み付け誤差量WEVNSijが「0」となるように、スライディングモード制御アルゴリズムに用いて、補正量Uij(k)を算出する。具体的には、下記式(13)により、切換関数値σijを算出し、式(14)及び(15)により、到達則制御入力URCHij及び適応則制御入力UADPijを算出し、式(16)により、補正量Uijを算出する。式(13)のPOLEは、制御偏差(WEVNSij)の減衰特性を指定する切換関数設定パラメータであり、「−1」より大きく「0」より小さい値に設定される。式(14)のKRCH及び式(15)のKADPは、それぞれ到達則制御ゲイン及び適応則制御ゲインである。
σij(k)=WEVNSij(k)+POLE×WEVNSij(k-1) (13)
URCHij(k)=KRCH×σij(k) (14)
UADPij(k)=UADPij(k-1)+KADP×σij(k) (15)
Uij(k)=URCHij(k)+UADPij(k) (i=1〜4,j=1〜4) (16)
【0084】
ステップS66では、下記式(17)に領域重み係数Wij(k)及び補正量Uij(k)に適用し、基本適応係数KVNSBS(k)を算出する。
【数1】
【0085】
適応係数KVNSは乗算項として噴射量補正に適用される(式(2)、(7)、(8))ので、適応係数KVNSの適用開始時点の値、すなわち適応係数KVNSの初期値を「1」とするために、式(17)において「1」が加算されている。なお、式(17)において「1」を加算することに代えて、適応則制御入力UADPijの初期値を「1」に設定するようにしてもよい。
【0086】
ステップS67では、濃度判定モードフラグFUCOBDMODE(k)が「1」であるか否かを判別し、この答が肯定(YES)であるときは、適応係数KVNS(k)を「1」に設定する(ステップS68)。FUCOBDMODE=0であるときは、適応係数KVNS(k)を基本適応係数KVNSBS(k)に設定する(ステップS69)。濃度判定実行中に適応係数KVNSによって尿素水噴射量の補正を行うと、濃度判定を正確に行うことができないので、濃度判定実行中は適応係数KVNSは「1」に設定される。
【0087】
なお、ステップS65における補正量Uijの算出に適用されるアルゴリズムは、スライディングモード制御アルゴリズムに限るものではなく、PID(比例積分微分)制御アルゴリズム、最適制御アルゴリズム、バックステッピング制御アルゴリズムなど、フィードバック制御アルゴリズムとして公知のものを適用可能である。
【0088】
図12の処理によれば、SCR触媒温度TSCR及び推定排気体積流量VEXで定義される16個の運転領域RTVij(i=1〜4,j=1〜4)に対応して、補正量Uijが算出される。例えば図15に示すように、運転領域RTV22に対応して補正量U22が算出され、運転領域RTV33に対応して補正量U33が算出され、運転領域RTV14に対応して補正量U14が算出される。したがって、尿素濃度の変化によって生じるNOx浄化率の変化分が運転領域に対応して補償され、SCR触媒温度TSCR及びエンジン運転状態(エンジン回転数NE、エンジン負荷TRQ)の変化に拘わらず、尿素濃度変化の補償を精度良く行うことができる。
【0089】
図13は、図12のステップS61で実行されるEVNS算出処理のフローチャートである。
ステップS71では、前回のスリップフラグFNH3SLIP(k-1)が「0」であるか否かを判別し、その答が肯定(YES)であるときは、今回のスリップフラグFNH3SLIP(k)が「1」であるか否かを判別する(ステップS72)。ステップS71またはS72の答が否定(NO)であるときは、誤差量EVNS(k)を「0」に設定する(ステップS78)。
【0090】
ステップS72の答が肯定(YES)、すなわちスリップフラグFNH3SLIPが「0」から「1」に変化したときは、前回の推定スリップフラグFNH3SLIPHAT(k-1)が「1」であるか否かを判別する(ステップS73)。この答が肯定(YES)であるときは、今回の推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別する(ステップS74)。この答が肯定(YES)、すなわちNH3スリップの発生が検出された時点で、推定スリップフラグFNH3SLIPHATがすでに「1」となっているときは、噴射された尿素水の尿素濃度CURが正常値CUR0より低いことを示すので、誤差量EVNS(k)を所定誤差量EVNSSLIP(>0)に設定する(ステップS75)。ステップS74の答が否定(NO)であるときは、前記ステップS78に進む。
【0091】
一方ステップS73の答が否定(NO)、すなわちNH3スリップの発生が検出された時点より1制御周期前の時点で、推定スリップフラグFNH3SLIPHATが「0」であるときは、さらに今回の推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別する(ステップS76)。この答が否定(NO)、すなわちNH3スリップの発生が検出された時点において推定スリップフラグFNH3SLIPHATが「0」であるときは、尿素濃度CURが正常値CUR0より高いことを示すので、誤差量EVNS(k)を負の所定誤差量−EVNSSLIP(<0)に設定する(ステップS77)。ステップS76の答が肯定(YES)であるときは、前記ステップS78に進む。
【0092】
したがって、図12の処理により、基本適応係数KVNSBSは、尿素濃度CURが高くなるほど減少するように算出される。
【0093】
図16は、上述した尿素水噴射制御の動作例を示すタイムチャートである。図16(a)〜(f)は、それぞれ噴射量切換フラグFUREASW、スリップフラグFNH3SLIP、NH3センサ出力NH3CONS、推定ストレージ量STNH3、尿素水噴射量GUREA、及び濃度判定モードフラグFUCOBDMODEの推移を示す。
【0094】
噴射量切換フラグFUREASWは、スリップフラグFNH3SLIPが「1」に変化する時刻t21,t23,t25で「1」に変化し、推定ストレージ量STNH3が通常目標切換ストレージ量STNH3NMに達する時刻t22,t26(通常制御時)または濃度判定目標切換ストレージ量STNH3UCJDに達する時刻t24(濃度判定モード)において「0」に変化する。噴射量切換フラグFUREASWの変化に伴って、スイッチング噴射量GUREASWの切換が行われ、尿素水噴射量GUREAがフィードフォワード噴射量GUREAFFを中心としてステップ状に変化するように制御される。
【0095】
図17は、濃度判定部36における演算処理を手順を示すフローチャートである。濃度判定の手法として、以下に説明する五つの手法の何れかを採用することができ、図17に示す処理は、第1の濃度判定手法に対応するものである。
【0096】
ステップS81では、図18に示す実行条件判定処理を実行し、濃度判定モードフラグFUCOBDMODEの設定を行う。ステップS82では、濃度判定モードフラグFUCOBDMODE(k)が「1」であるか否かを判別し、その答が否定(NO)であるときは、濃度判定モードの開始時点からの経過時間を計測するタイマTMUCNH3SLIP(k)の値を「0」に設定し(ステップS83)、処理を終了する。
【0097】
ステップS82の答が肯定(YES)であるときは、タイマTMUCNH3SLIPの値を下記式(21)により、1制御周期DTMUCOBDだけ増加させる(ステップS84)。
TMUCNH3SLIP(k)=TMUCNH3SLIP(k-1)+DTMUCOBD
(21)
【0098】
ステップS85では、前回の推定スリップフラグFNH3SLIPHAT(k-1)が「0」であるか否かを判別し、その答が肯定(YES)であるときは、今回の推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別する(ステップS86)。ステップS86の答が肯定(YES)、すなわち推定スリップフラグFNH3SLIPHATが「0」から「1」に変化したときは、推定スリップ検出時間PRDUCNH3SLIPHAT(k)をその時点のタイマ値TMUCNH3SLIP(k)に設定し(ステップS87)、ステップS91に進む。
【0099】
ステップS85またはS86の答が否定(NO)であるときは、前回のスリップフラグFNH3SLIP(k-1)が「0」であるか否かを判別する(ステップS88)。その答が肯定(YES)であるときは今回のスリップフラグFNH3SLIP(k)が「1」であるか否かを判別する(ステップS89)。ステップS88またはS89の答が否定(NO)であるときは、処理を終了する。
【0100】
ステップS89の答が肯定(YES)、すなわちスリップフラグFNH3SLIPが「0」から「1」に変化したときは、スリップ検出時間PRDUCNH3SLIP(k)をその時点のタイマ値TMUCNH3SLIP(k)に設定し(ステップS90)、ステップS91に進む。
【0101】
ステップS91では、推定スリップフラグFNH3SLIPHAT(k)及びスリップフラグFNH3SLIP(k)がともに「1」であるか否かを判別し、その答が否定(NO)であるときは、処理を終了する。ステップS91の答が肯定(YES)であるときは、前記式(1)により、尿素濃度判定値DPRDUCNH3SLIPを算出する(ステップS92)。尿素濃度判定値DPRDUCNH3SLIPは、尿素濃度CURが高くなるほど減少する。
【0102】
ステップS93では、尿素濃度判定値DPRDUCNH3SLIP(k)が高濃度判定閾値DPRDUCRICH以上であるか否かを判別し、その答が否定(NO)であるときは、尿素濃度CURが許容範囲の上限値より高濃度であると判定し、高濃度異常フラグFUREACRICHを「1」に設定する(ステップS95)。ステップS93でDPRDUCNH3SLIP(k)≧DPRDUCRICHであるときは、高濃度異常フラグFUREACRICHを「0」に設定する(ステップS94)。
【0103】
ステップS96では、尿素濃度判定値DPRDUCNH3SLIP(k)が低濃度判定閾値DPRDUCLEAN以下であるか否かを判別し、その答が否定(NO)であるときは、尿素濃度CURが許容範囲の下限値より低濃度であると判定し、低濃度異常フラグFUREACLEANを「1」に設定する(ステップS98)。ステップS96でDPRDUCNH3SLIP(k)≦DPRDUCLEANであるときは、低濃度異常フラグFUREACLEANを「0」に設定する(ステップS97)。
【0104】
図18は、図17のステップS81で実行される実行条件判定処理のフローチャートである。なお、この処理で設定される濃度判定モードフラグFUCOBDMODE及び濃度判定終了フラグFUCOBDDONEの初期値は「0」である。
【0105】
ステップS101では、スリップフラグFNH3SLIP(k)が「1」であるか否かを判別し、その答が否定(NO)であるときは処理を終了する。FNH3SLIP(k)=1であるときは、NH3スリップが最初に発生した時点からの経過時間TANH3SLIPが所定待機時間TANHSLIPX(例えば5秒)以上であるか否かを判別する(ステップS102)。その答が肯定(YES)であるときは、SCR触媒温度TSCRが所定下限温度TSCRUCJDL(例えば200℃)以上でかつ所定上限温度TSCRUCJDH(例えば300℃)以下であるか否かを判別する(ステップS103)。その答が肯定(YES)であるときは、濃度判定終了フラグFUCOBDDONE(k)が「0」であるか否かを判別する(ステップS104)。その答が肯定(YES)であるときは、さらに前回の濃度判定モードフラグFUCOBDMODE(k-1)が「0」であるか否かを判別する(ステップS105)。
【0106】
ステップS102〜S105の何れかの答が否定(NO)であるときは、ステップS107に進み、ステップS105の答が肯定(YES)であるときは、濃度判定実行条件が成立していると判定し、濃度判定モードフラグFUCOBDMODE(k)を「1」に設定する(ステップS106)。
【0107】
ステップS107では、推定スリップフラグFNH3SLIPHAT(k)が「1」であるか否かを判別し、その答が肯定(YES)であるときは、前回の濃度判定モードフラグFUCOBDMODE(k-1)が「1」であるか否かを判別する。ステップS107またはS108の答が否定(NO)であるときは処理を終了し、濃度判定モードフラグFUCOBDMODE(k)を前回値に維持する。ステップS108の答が肯定(YES)であるときは、濃度判定モードフラグFUCOBDMODE(k)を「0」に設定するとともに、濃度判定終了フラグFUCOBDDONE(k)を「1」に設定する。すなわち、濃度判定モード中においてスリップフラグFNH3SLIP及び推定スリップフラグFNH3SLIPHATがともに「1」となったとき、濃度判定モードが終了する。
【0108】
図19は、図17の処理による濃度判定処理を説明するためのタイムチャートであり、尿素濃度CURが正常濃度CUR0より高い例が示されている。図19(a)は、推定ストレージ量STNH3(実線)及び実ストレージ量NH3ACT(破線)の推移を示し、図19(b)及び(c)は、それぞれNH3センサ出力NH3CONS、及びタイマTMUCNH3SLIPの値(ストレージ量の低減開始時点からの経過時間)を示し、図19(d)は、スリップフラグFNH3SLIP(実線)及び推定スリップフラグFNH3SLIPHAT(破線)の推移を示す。なお、図17の処理では、濃度判定モードフラグFUCOBDMODEが「1」に変化する時点からタイマTMUCNH3SLIPの計測が開始されるが、濃度判定モードフラグFUCOBDMODEが「1」に変化する時点と推定ストレージ量STNH3が減少を開始する時点との差は無視しうる程度のものである。よって、本明細書中における「ストレージ量低減開始時点」は、「ストレージ量を低減すべく尿素水噴射量の減量を開始した時点」を含むものとする。
【0109】
実ストレージ量NH3ACTが実ストレージ容量NH3ACTMAXに達すると(図19(a)には、実ストレージ容量NH3ACTMAXが推定ストレージ容量STNH3MAXと等しい例が示されている)、スリップフラグFNH3SLIPが「1」に設定され(時刻t31)、時刻t31のタイマ値がスリップ検出時間PRDUCNH3SLIPとして計測される。
【0110】
一方、推定ストレージ量STNH3が推定ストレージ容量STNH3MAXに達すると、推定スリップフラグFNH3SLIPHATが「1」に設定され(時刻t32)、時刻t32のタイマ値が推定スリップ検出時間PRDUCNH3SLIPHATとして計測される。したがって、尿素濃度判定値DPRDUCNH3SLIPは負の値となり、尿素濃度CURが正常濃度CUR0が高いと判定される。
【0111】
図20は、第2の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図17のステップS83,S84,S87,S90,S92,S93,及びS96をそれぞれステップS83a,S84a,S87a,S90a,S92a,S93a,及びS96aに変更し、さらにステップS82aを追加したものである。第1の濃度判定手法では、濃度判定モードフラグFUCOBDMODE(k)が「1」に変化した時点、すなわちストレージ量の低減を開始した時点からタイマTMUCNH3SLIPによる時間計測が開始されるが、第2の濃度判定手法では、濃度判定モードが開始された後に噴射量切換フラグFUREASW(k)が「0」に変化した時点、すなわちストレージ量の増量を開始した時点からタイマTMUCNH3SLIPaによる時間計測が開始される(図21(c)参照)。
【0112】
ステップS82の答が肯定(YES)であるときは、ステップS82aに進み、噴射量切換フラグFUREASW(k)が「0」であるか否かを判別する。この答が否定(NO)であるときは、タイマTMUCNH3SLIPa(k)の値を「0」に設定する(ステップS83a)。
【0113】
ステップS84aでは、タイマTMUCNH3SLIPaの値を下記式(21a)により増加させる。
TMUCNH3SLIPa(k)=TMUCNH3SLIPa(k-1)+DTMUCOBD
(21a)
【0114】
ステップS87aでは、推定スリップ検出時間PRDUCNH3SLIPHATa(k)をタイマ値TMUCNH3SLIPa(k)に設定し、ステップS90aでは、スリップ検出時間PRDUCNH3SLIPa(k)をタイマ値TMUCNH3SLIPa(k)に設定する。ステップS92aでは、下記式(1a)により、尿素濃度判定値DPRUCNH3SLIPa(k)を算出する。
DPRDUCNH3SLIPa(k)=
PRDUCNH3SLIPa(k)−PRDUCNH3SLIPHATa(k)
(1a)
【0115】
ステップS93aでは、尿素濃度判定値DPRDUCNH3SLIPa(k)が、第2の濃度判定手法用の高濃度判定閾値DPRDUCRICHa以上であるか否かを判別し、ステップS96aでは、尿素濃度判定値DPRDUCNH3SLIPa(k)が第2の濃度判定手法用の低濃度判定閾値DPRDUCLEANa以下であるか否かを判別する。その結果、DPRDUCNH3SLIPa(k)<DPRDUCRICHaであるときは、高濃度異常フラグFUREACRICHが「1」に設定され(ステップS95)、DPRDUCNH3SLIPa(k)>DPRDUCLEANaであるときは、低濃度異常フラグFUREACLEANが「1」に設定される(ステップS98)。
【0116】
図21は、図20の処理による濃度判定処理を説明するためのタイムチャートであり、図19と同様に尿素濃度CURが正常濃度CUR0より高い例が示されている。図21(a)(b)(d)は、図19の対応する図と同一であり、図21(c)にはタイマTMUCNH3SLIPaの値の推移が示されている。時刻t30は、噴射量切換フラグFUREASWが「1」に変化する時点であり、時刻t30からタイマTMUCNH3SLIPaによる時間計測が開始される。
【0117】
時刻t31のタイマ値がNH3スリップ検出時間PRDUCNH3SLIPaとして計測され、時刻t32のタイマ値が推定スリップ検出時間PRDUCNH3SLIPHATaとして計測される。したがって、第1の濃度判定手法と同様に濃度判定を行うことができる。
【0118】
図22は、第3の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図17のステップS83,S84,S87,S90,S92,S93,及びS96をそれぞれステップS83b,S84b,S87b,S90b,S92b,S93b,及びS96bに変更したものである。
【0119】
第1の濃度判定手法では、濃度判定モードフラグFUCOBDMODE(k)が「1」に変化した時点(ストレージ量の低減を開始した時点)からタイマTMUCNH3SLIPにより計測される経過時間に基づいて濃度判定が行われるが、第3の濃度判定手法では、ストレージ量の低減を開始した時点からスイッチング噴射量GUREASW(k)を積算することにより積算値SUMUCGUREAが算出され、積算値SUMUCGUREAに基づいて濃度判定が行われる。
【0120】
より具体的には、ストレージ量の低減を開始した時点から積算値SUMUCGUREAの算出を開始し、スリップフラグFNH3SLIPが「1」に変化した時点の積算値SUMUCGUREAを、スリップ検出積算値SUMUCGUREASLIPとして算出するとともに、推定スリップフラグFNH3SLIPHATが「1」に変化した時点の積算値SUMUCGUREAを推定スリップ検出積算値SUMUCGUREASLIPHATとして算出する。そして、スリップ検出積算値SUMUCGUREASLIPと推定スリップ検出積算値SUMUCGUREASLIPHATの差を尿素濃度判定値DSUMUCGUREASLIPとして算出し、尿素濃度判定値DSUMUCGUREASLIPと、判定閾値DSUMUCRICH及びDSUMUCLEANとの比較結果に応じて、高濃度異常フラグFUREACRICH及び低濃度異常フラグFUREACLEANの設定を行う。
【0121】
図22において、ステップS82の答が否定(NO)であるときは、ステップS83bに進み、積算値SUMUCGUREA(k)を「0」に設定する。ステップS82の答が肯定(YES)であるときは、ステップS84bに進み、下記式(21b)により積算値SUMUCGUREA(k)を算出する。
SUMUCGUREA(k)=SUMUCGUREA(k-1)+GUREASW(k)
(21b)
【0122】
ステップS87bでは、推定スリップ検出積算値SUMUCGUREASLIPHAT(k)を積算値SUMUCGUREA(k)に設定し、ステップS90bでは、スリップ検出積算値SUMUCGUREASLIP(k)を積算値SUMUCGUREA(k)に設定する。
【0123】
ステップS92bでは、下記式(1b)により、尿素濃度判定値DSUMUCGUREASLIP(k)を算出する。
DSUMUCGUREASLIP(k)=
SUMUCGUREASLIP(k)−SUMUCGUREASLIPHAT(k)
(1b)
【0124】
ステップS93bでは、尿素濃度判定値DSUMUCGUREASLIP(k)が、第3の濃度判定手法用の高濃度判定閾値DSUMUCRICH以上であるか否かを判別し、ステップS96bでは、尿素濃度判定値DSUMUCGUREASLIP(k)が第3の濃度判定手法用の低濃度判定閾値DSUMUCLEAN以下であるか否かを判別する。その結果、DSUMUCGUREASLIP(k)<DSUMUCRICHであるときは、高濃度異常フラグFUREACRICHが「1」に設定され(ステップS95)、DSUMUCGUREASLIP(k)>DSUMUCLEANであるときは、低濃度異常フラグFUREACLEANが「1」に設定される(ステップS98)。
【0125】
図23は、図22の処理による濃度判定処理を説明するためのタイムチャートであり、図19と同様に尿素濃度CURが正常濃度CUR0より高い例が示されている。図23(a)(b)(d)は、図19の対応する図と同一であり、図23(c)には積算値SUMUCGUREAの推移が示され、図23(e)には噴射量切換フラグFUREASWの推移が示されている。
【0126】
濃度判定モードが開始されると、スイッチング噴射量GUREASWは負の値に設定されるため、積算値SUMUCGUREAは「0」から減少する。時刻t30において、噴射量切換フラグFUREASWが「0」に変化すると、以後は積算値SUMUCGUREAは増加する。
【0127】
スリップ検出積算値SUMUCGUREASLIPは、時刻t31の積算値SUMUCGUREAに設定され、推定スリップ検出積算値SUMUCGUREASLIPHATは、時刻t32の積算値SUMUCGUREAに設定される。したがって、尿素濃度判定値DSUMUCGUREASLIPは負の値となり、尿素濃度CURが正常濃度CUR0より高いと判定される。
【0128】
図24は、第4の濃度判定手法を適用した濃度判定処理のフローチャートである。この処理は、図22のステップS83b,S84b,S87b,S90b,S92b,S93b,及びS96bをそれぞれステップS83c,S84c,S87c,S90c,S92c,S93c,及びS96cに変更し、さらにステップS82cを追加したものである。
【0129】
第3の濃度判定手法では、濃度判定モードフラグFUCOBDMODE(k)が「1」に変化した時点から積算値SUMUCGUREAの算出が開始されるが、第4の濃度判定手法は、濃度判定モードが開始された後に噴射量切換フラグFUREASW(k)が「1」に変化した時点、すなわちストレージ量の増量を開始した時点から積算値SUMUCGUREAaの算出が開始される(図25(c)参照)。
【0130】
図24において、ステップS82の答が肯定(YES)であるときは、ステップS82cに進み、噴射量切換フラグFUREASW(k)が「0」であるか否かを判別する。この答が否定(NO)であるときは、ステップS83cに進み、積算値SUMUCGUREAa(k)を「0」に設定する。ステップS82cの答が肯定(YES)であるときは、ステップS84cに進み、下記式(21c)により積算値SUMUCGUREAa(k)を算出する。
SUMUCGUREAa(k)=SUMUCGUREAa(k-1)+GUREASW(k)
(21c)
【0131】
ステップS87cでは、推定スリップ検出積算値SUMUCGUREASLIPHATa(k)を積算値SUMUCGUREAa(k)に設定し、ステップS90cでは、スリップ検出積算値SUMUCGUREASLIPa(k)を積算値SUMUCGUREAa(k)に設定する。
【0132】
ステップS92cでは、下記式(1c)により、尿素濃度判定値DSUMUCGUREASLIPa(k)を算出する。
DSUMUCGUREASLIPa(k)=
SUMUCGUREASLIPa(k)−SUMUCGUREASLIPHATa(k)
(1c)
【0133】
ステップS93cでは、尿素濃度判定値DSUMUCGUREASLIPa(k)が、第4の濃度判定手法用の高濃度判定閾値DSUMUCRICHa以上であるか否かを判別し、ステップS96cでは、尿素濃度判定値DSUMUCGUREASLIPa(k)が第4の濃度判定手法用の低濃度判定閾値DSUMUCLEANa以下であるか否かを判別する。その結果、DSUMUCGUREASLIPa(k)<DSUMUCRICHaであるときは、高濃度異常フラグFUREACRICHが「1」に設定され(ステップS95)、DSUMUCGUREASLIPa(k)>DSUMUCLEANaであるときは、低濃度異常フラグFUREACLEANが「1」に設定される(ステップS98)。
【0134】
図25は、図24の処理による濃度判定処理を説明するためのタイムチャートであり、図23と同様に尿素濃度CURが正常濃度CUR0より高い例が示されている。図25(a)(b)(d)(e)は、図23の対応する図と同一であり、図25(c)には積算値SUMUCGUREAaの推移が示されている。
【0135】
時刻t30において、噴射量切換フラグFUREASWが「0」に変化すると、積算値SUMUCGUREAaの算出が開始される。
スリップ検出積算値SUMUCGUREASLIPaは、時刻t31の積算値SUMUCGUREAaに設定され、推定スリップ検出積算値SUMUCGUREASLIPHATaは、時刻t32の積算値SUMUCGUREAaに設定される。したがって、尿素濃度判定値DSUMUCGUREASLIPaは負の値となり、尿素濃度CURが正常濃度CUR0より高いと判定される。
【0136】
図26は、第5の濃度判定手法を適用した濃度判定処理のフローチャートである。第5の濃度判定手法は、基本適応係数KVNSBSは尿素濃度CURが高くなるほど減少することに着目し、基本適応係数KVNSBSに応じて濃度判定を行うようにしたものである。第5の濃度判定手法による判定は、常時実行することができる。
【0137】
ステップS111では、基本適応係数KVNSBS(k)が高濃度係数閾値KVNSOBDRICH以上であるか否かを判別し、その答が否定(NO)であるときは、高濃度異常フラグFUREACRICHを「1」に設定する(ステップS113)。ステップS111でKVNSBS(k)≧KVNSOBDRICHであるときは、高濃度異常フラグFUREACRICHを「0」に設定する(ステップS112)。
【0138】
ステップS114では、基本適応係数KVNSBS(k)が低濃度係数閾値KVNSOBDLEAN以下であるか否かを判別し、その答が否定(NO)であるときは、低濃度異常フラグFUREACLEANを「1」に設定する(ステップS116)。ステップS114でKVNSBS(k)≦KVNSOBDLEANであるときは、低濃度異常フラグFUREACLEANを「0」に設定する(ステップS115)。
【0139】
次に図27〜図36に示すタイムチャートを参照して、上述した濃度判定手法を適用した代表的な動作例を説明する。
【0140】
図27〜図29は、新品のSCR触媒3が搭載された排気系に第1の濃度判定手法を適用した例に対応する。図27(a)〜(g)は、それぞれNH3センサ出力NH3CONSの推移、推定ストレージ量STNH3及び実ストレージ量NH3ACTの推移、尿素水噴射量GUREA(実線)及びスイッチング噴射量GUREASW(破線)の推移、尿素濃度判定値DPRDUCNH3SLIPの推移、濃度判定モードフラグFUCOBDMODEの推移、及び基本適応係数KVNSBS及び適応係数KVNSの推移を示す。さらに図27(h)〜(j)は、それぞれエンジン回転数NE、エンジン負荷TRQの推移、及び上流側NOx量QNOx1及び下流側QNOx2の推移を示す。上流側NOx量QNOx1は、SCR触媒3の上流側におけるNOx量を示し、下流側NOx量QNOx2は、SCR触媒3の下流側におけるNOx量を示す。図28及び図29には、図27(a)〜(g)に対応する図が示されている。
【0141】
図27は、尿素濃度CURが正常濃度CUR0である状態に対応し、図27(b)において推定ストレージ量STNH3と、実ストレージ量NH3ACTとは一致しているため、推定ストレージ量STNH3のみが実線で示されている。尿素濃度判定値DPRDUCNH3SLIPは「0」を維持し、基本適応係数KVNSBS及び適応係数NVNSは「1.0」を維持する。濃度判定モードフラグFUCOBDMODEが「1」である期間中(図27(e)、破線)、濃度判定が行われるが、高濃度異常フラグFUREACRICH及び低濃度異常フラグFUREACLEANはともに「0」を維持する。
【0142】
なお図27(h)及び(i)に示すようにエンジン運転状態は定常運転状態とされ、これは他の図28〜図36においても同一である。また図27(j)により、SCR触媒3の下流側においてNOx量が大幅に減少することが確認される。図28〜図36においては、図27(h)〜(j)に対応する図は省略されている。
【0143】
図28は、尿素濃度CURが正常濃度CUR0より高い状態に対応する。図28(b)において実ストレージ量NH3ACTが細い破線で示されており、当初は基本適応係数KVNSBSが「1.0」近傍の値であるため(図28(f))、推定ストレージ量STNH3(実線)は、実ストレージ量NH3ACTより小さくなる。その後徐々に基本適応係数KVNSBSが減少して、推定ストレージ量STNH3は、実ストレージ量NH3ACTと一致する。時刻t41において尿素濃度判定値DPRDUCNH3SLIPが、高濃度判定閾値DPRDUCRICHより小さくなり、高濃度異常フラグFUREACRICH(図28(g)に実線で示す)が「1」に設定される。
【0144】
図29は、尿素濃度CURが正常濃度CUR0より低い状態に対応する。当初は基本適応係数KVNSBSが「1.0」近傍の値であるため(図29(f))、図29(b)において、推定ストレージ量STNH3は、実ストレージ量NH3ACTより大きくなる。その後徐々に基本適応係数KVNSBSが増加して、推定ストレージ量STNH3は、実ストレージ量NH3ACTと一致する。時刻t41において尿素濃度判定値DPRDUCNH3SLIPが、低濃度判定閾値DPRDUCLEANを超え、低濃度異常フラグFUREACLEAN(図29(g)に破線で示す)が「1」に設定される。なお、図29(b)においては、推定ストレージ量STNH3について上限リミット処理及びNH3スリップ検出時における初期化処理(図8,ステップS13,S14,S21)を行っていない値の推移が示されている。図31(b),図33(b),図36(b)も同様である。
【0145】
図30及び図31は、新品のSCR触媒3が搭載された排気系に第4の濃度判定手法を適用した例に対応し、図30は尿素濃度CURが正常濃度CUR0より高い例に対応し、図31は尿素濃度CURが正常濃度CUR0より低い例に対応する。これらの図において各パラメータは、図28及び図29と同様に推移し、時刻t41において判定結果が得られる。
【0146】
図32及び図33は、新品のSCR触媒3が搭載された排気系に第5の濃度判定手法を適用した例に対応し、図32は尿素濃度CURが正常濃度CUR0より高い例に対応し、図33は尿素濃度CURが正常濃度CUR0より低い例に対応する。第5の判定手法では、尿素濃度判定値(DPRDUCNH3SLIPなど)は使用されないため、図32及び図33では、濃度判定値の推移を示す図(d)が含まれていない。
【0147】
第5の濃度判定手法においては、濃度判定モード中であるか否かに拘わらず判定が実行され、図32(f)では時刻t51において基本適応係数KVNSBSが高濃度係数閾値KVNSOBDRICHを下回り、高濃度異常フラグFUREACRICHが「1」に設定される(図32(g))。一方図33(f)では時刻t51において基本適応係数KVNSBSが低濃度係数閾値KVNSOBDLEANを超え、低濃度異常フラグFUREACRICHが「1」に設定される(図33(g))。
【0148】
図34〜図36は、劣化したSCR触媒3が搭載された排気系に第1の濃度判定手法を適用した例に対応する。図34は尿素濃度CURが正常濃度CUR0である状態に対応し、図35は尿素濃度CURが正常濃度CUR0より高い状態に対応し、図36は尿素濃度CURが正常濃度CUR0より低い状態に対応する。
【0149】
図34(b)においては、劣化した実ストレージ容量NH3ACTMAXが一点鎖線で示されている。図34(c)〜図34(g)に示すパラメータは、対応する図27(c)〜図27(g)と同様に推移することが確認される。
【0150】
図35(c)〜図35(g)に示すパラメータも、対応する図28(c)〜図28(g)と同様に推移し、図36(c)〜図36(g)に示すパラメータも、対応する図29(c)〜図29(g)と同様に推移し、劣化したSCR触媒が搭載されている場合にも正確な濃度判定が行われる。
【0151】
図37は、上述した尿素水噴射制御及び尿素濃度判定を実行する処理の全体構成を示すフローチャートである。この処理は、ECU10のCPUで例えば50msec周期で実行される。この処理では、上述した第1〜第5の濃度判定手法のいずれか2つを使用して、尿素濃度判定が行われる。
【0152】
ステップS201では、尿素水噴射装置故障フラグFUDFAILが「1」であるか否かを判別する。尿素水噴射装置故障フラグFUDFAILは、尿素水タンク12、尿素水ポンプ(図示せず)を含む尿素水噴射装置の故障が検出されたとき「1」に設定される。ステップS201の答が否定(NO)であるときは、SCR触媒異常劣化フラグFSCRNGが「1」であるか否かを判別する。SCR触媒異常劣化フラグFSCRNGは、SCR触媒3の異常劣化が検出されたとき「1」に設定される。ステップS201またはS202の答が肯定(YES)であるときは、ステップS218に進み、尿素水噴射量GUREAを「0」に設定する。
【0153】
ステップS202の答が否定(NO)であるときは、尿素水タンク空フラグFUVCNTが「1」であるか否かを判別する(ステップS203)。尿素水タンク空フラグFUVCNTは、尿素水タンク12内の尿素水量が「0」より若干大きい所定量以下となったとき「1」に設定される。ステップS203の答が肯定(YES)であるときは、警告表示及び/または警告音の出力を行い(ステップS204)、ステップS218に進む。
【0154】
ステップS203の答が否定(NO)であるときは、酸化触媒暖機完了フラグFCWUPが「1」であるか否かを判別する(ステップS205)。酸化触媒暖機完了フラグFCWUPは、エンジン始動後、所定暖機時間経過後に「1」に設定される。ステップS205の答が肯定(YES)であるときは、センサ正常フラグFSNSOKが「1」であるか否かを判別する(ステップS206)。センサ正常フラグFSNSOKは、NH3センサ7及びSCR触媒温度センサ6がともに正常であるとき「1」に設定される(センサ6及び/またはセンサ7の故障が検出されると「0」に設定される)。
【0155】
ステップS206の答が肯定(YES)であるときは、センサ活性フラグFNH3SACVが「1」であるか否かを判別する(ステップS207)。センサ活性フラグFNH3SACVは、NH3センサ7が活性化すると「1」に設定される。ステップS207の答が肯定(YES)であるときは、SCR触媒温度TSCRが所定活性化温度TSCRACV(例えば200℃)より高いか否かを判別する(ステップS208)。
【0156】
ステップS205〜S208の何れかの答が否定(NO)であるときは、ステップS218に進み、ステップS208の答が肯定(YES)であるときは、濃度判定モードフラグFUCOBDMODEが「1」であるか否かを判別する(ステップS209)。この答が肯定(YES)であるときは、例えば第1の濃度判定手法により尿素濃度判定Aを実行する(ステップS210)。ステップS209の答が否定(NO)であるときは、直ちにステップS211に進む。尿素濃度判定Aとしは、第2〜第4の濃度判定手法を採用してもよい。
【0157】
ステップS211では、高濃度異常フラグFUREACRICHまたは低濃度異常フラグFUREACLEANが「1」であるか否かを判別し、その答が肯定(YES)であるときは、警告灯を点灯する(ステップS216)。その後ステップS217に進む。
【0158】
ステップS211の答が否定(NO)、すなわち、両フラグがともに「1」であるときは、例えば第5の判定手法により尿素濃度判定Bを実行する(ステップS212)。尿素濃度判定Bでは、第1〜第4の濃度判定手法のうち、ステップS210における尿素濃度判定Aで採用されていない手法を採用可能である。だだし、その場合には濃度判定モードフラグFUCOBDMODEが「1」であることが実行条件とされる。
【0159】
ステップS213では、ステップS211と同じ判別を行い、その答が肯定(YES)であるとき前記ステップS216に進む。
ステップS213の答が否定(NO)であるときは、SCR触媒3の劣化判定処理(図示せず)を実行する(ステップS214)。劣化判定処理では、SCR触媒3が劣化していると判定されると、触媒劣化フラグFSCRAGEDが「1」に設定される。
【0160】
ステップS215では、触媒劣化フラグFSCRAGEDが「1」であるか否かを判別し、その答が肯定(YES)であるときはステップS216に進む。ステップS215の答が否定(NO)であるときは、直ちにステップS217に進み、上述した尿素水噴射制御を実行する。
【0161】
以上の説明したように本実施形態では、SCR触媒3に貯蔵されている還元剤、すなわち尿素またはアンモニアの量を示すストレージ量NH3ACTを、該ストレージ量NH3ACTが最大である状態から一時的に低減し、その後スリップフラグFNH3SLIPが「1」となる(NH3スリップの発生が検出される)までストレージ量NH3ACTを増量するストレージ量変更制御が行われ、該ストレージ量変更制御の実行中におけるNH3スリップの発生状態に応じて、尿素水噴射量を補正する適応係数KVNSが算出される。さらにエンジン回転数NE及びエンジン負荷TRQに応じてフィードフォワード噴射量GUREAFFが算出され、適応係数KVNSを用いてフィードフォワード噴射量GUREAFFを補正することにより尿素水噴射量GUREAが算出される。したがって、尿素水中の尿素濃度の変化に起因する尿素供給量の変動を防止し、尿素供給量制御を比較的簡単な構成で精度良く行うことができる。その結果、NOx排出量の増加あるいは余剰アンモニアの排出(NH3スリップ)を確実に防止することができる。
【0162】
またストレージ量NH3ACTの低減量DSTUCJDが、劣化したと判定されるべきSCR触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量NH3AMAXNGより小さな値に設定されるので、SCR触媒3の劣化状態の影響を受けることなく適応係数KVNS、ひいては尿素水噴射量GUREAの算出を行うことができる。
【0163】
また推定ストレージ量STNH3が算出され、推定ストレージ量STNH3に基づいて判定される推定NH3スリップ発生時期(推定スリップフラグFNH3SLIPHATが「1」に変化するタイミング)と、NH3スリップの実発生時期(スリップフラグFNH3SLIPが「1」に変化するタイミング)と差に応じた誤差量EVNSが算出され、該誤差量EVNSに応じて適応係数KVNSが算出される。推定ストレージ量STNH3は尿素濃度及び尿素水噴射量が正常であることを前提として算出されるので、誤差量EVNSは、尿素濃度のずれあるいは尿素水噴射量のずれを反映する。したがって、この誤差量EVNSに応じて適応係数KVNSを算出することにより、尿素濃度のずれあるいは尿素供給量のずれを補償して尿素供給量制御を精度良く行うことができる。
【0164】
またSCR触媒3のNOx浄化率に影響を与える状態パラメータであるSCR触媒温度TSCR及び推定排気体積流量VEXに応じて設定された複数の領域毎に重み関数値Wijが算出され、誤差量EVNSに重み関数値Wijを乗算することにより、重み付け誤差量WEVNSijが算出される。さらに重み付け誤差量WEVNSijGAが「0」となるように領域毎の補正量である補正量Uijが算出され、この補正量Uijと重み関数値Wijとを用いて適応係数KVNSが算出される。尿素供給量が変化すると、SCR触媒3における反応熱(尿素の加水分解による吸熱量)が変化し、SCR触媒温度TSCR及び推定排気体積流量VEXに応じたSCR触媒3のNOx浄化特性が変化する。したがって、誤差量EVNS及び重み関数値Wijを用いて重み付け誤差量WEVNSijを算出し、重み付け誤差量WEVNSijに基づいて補正量Uijを算出し、この補正量Uijと重み関数値Wijとを用いて適応係数KVNSを算出することにより、SCR触媒温度TSCR及び/または推定排気体積流量VEXの変化に対応した最適な適応係数KVNSを得ることができる。
【0165】
また基本適応係数KVNSBSと、高濃度係数閾値KVNSOBDRICH及び低濃度係数閾値KVNSOBDLEANとが比較され、該比較の結果に応じて尿素水中の尿素濃度が判定される。基本適応係数KVNSBSには、尿素濃度の変化が反映されるので、高濃度係数閾値KVNSOBDRICH及び低濃度係数閾値KVNSOBDLEANと、基本適応係数KVNSBSとを比較することにより、尿素濃度の変化を簡便に判定することができる。
【0166】
本実施形態では、尿素水が反応剤に相当し、尿素が還元剤に相当し、尿素タンク12、通路11、尿素水噴射弁5が還元剤供給手段の一部を構成する。またNH3センサ7が還元剤スリップ判定手段の一部を構成し、ECU10が還元剤スリップ判定手段の一部、ストレージ量変更手段、還元剤供給手段の一部、及び濃度判定手段を構成する。具体的には、図2のスリップ判定部32が還元剤スリップ判定手段に相当し、ストレージ量推定部33及びスイッチング噴射量算出部35がストレージ量変更手段に相当し、フィードフォワード噴射量算出部31、適応係数算出部34、スイッチング噴射量算出部35、及び乗算部37が、還元剤供給手段の一部に相当し、濃度判定部36が濃度判定手段に相当する。
【0167】
なお本発明は上述した実施形態に限るものではなく、種々の変形が可能である。例えば、図8及び図13に示す処理は、図38及び図39に示す処理に代えてもよい。
【0168】
図38は、図8のステップS13及びステップS14を削除し、第1演算パラメータSTNH3TEMP1の上限リミット処理を行わないようにしたものである。これにより尿素濃度判定モードでは(FUCOBDMODE=1であるときは)、推定ストレージ量STNH3は推定ストレージ容量STNH3MAXを超えて増加可能となる。
【0169】
図39は、図13のステップS75及びS77をそれぞれステップS75a及びS77aに変えたものである。ステップS75a及びS77aにおける演算は同一であり、下記式(31)により、誤差量EVNS(k)を算出する。
EVNS(k)=STNH3(k)−STNH3MAX(k) (31)
【0170】
スリップフラグFNH3SLIPが、推定スリップフラグFNH3SLIPHATより先に「1」に変化したときは、ステップS77aが実行される。このとき、推定ストレージ量STNH3(k)は、推定ストレージ容量STNH3MAX(k)より小さいため、式(31)により算出される誤差量EVNSは、負の値となる。一方、推定スリップフラグFNH3SLIPHATが、スリップフラグFNH3SLIPより先に「1」に変化したときは、ステップS75aが実行される。このとき、推定ストレージ量STNH3(k)は推定ストレージ容量STNH3MAX(k)を超えているため、式(31)により算出される誤差量EVNSは、正の値となる。
【0171】
図38及び図39の処理によれば、NH3スリップが発生した時点(NH3スリップフラグFNH3SLIPが「1」に変化した時点)における、推定ストレージ量STNH3と推定ストレージ容量STNH3MAXとの差として誤差量EVNSが算出される。したがって、スリップフラグFNH3SLIPが「1」に変化する時期と、推定スリップフラグFNH3SLIPHATが「1」に変化する時期との時間差(符号を含む)に応じた誤差量EVNSが得られるため、基本適応係数KVNSBSの収束時期を早めることができる。
【0172】
また図40に示すように酸化触媒8は削除してもよく、さらに排気中のNOx濃度NOxCを検出するNOx濃度センサ9を設け、検出されるNOx濃度NOxCに応じて尿素水の基本噴射量GUREABSを設定するようにしてもよい。また下流側のSCR触媒4は、酸化触媒4aに代えてもよい。
【0173】
また上述した実施形態では、尿素水を反応剤として使用しているが、これに限るものではなく、例えば尿素の重合体であるビュレット結合の水溶液を反応剤として使用してもよい。
【0174】
また上述した実施形態における尿素水供給装置は、特許文献4に示されるように、アンモニアガス(還元剤)供給装置に代えてもよい。その場合、上述した実施形態における尿素噴射量制御が、アンモニアガス流量制御に相当し、尿素濃度判定手法が、アンモニアガス(還元剤)供給精度判定手法に相当し、「尿素濃度が異常に高い」という判定結果は、「アンモニア供給量が過剰である」という判定結果に相当し、「尿素濃度が異常に低い」という判定結果は、「アンモニア供給量が過少である」という判定結果に相当する。したがって、上述した実施形態の手法を適用することにより、アンモニアガス供給精度の判定を行うことができる。そしてアンモニア供給量が過剰あるいは過少という判定結果が得られたときは、アンモニアガス供給装置の流量センサ、流量制御弁などの作動特性が劣化していると判定することができる。さらに適応係数KVNSによって、アンモニアガス供給装置の特性劣化を補正し、アンモニア供給量を適量に維持することができる。
【0175】
また本発明は、リーンバーン運転を行う火花点火型エンジン、あるいはエンジンクランク軸を鉛直方向とした船外機などのような船舶推進機用エンジンなどの排気浄化装置にも適用が可能である。
【符号の説明】
【0176】
1 内燃機関
2 排気通路
3 選択還元触媒
5 尿素水噴射弁(還元剤供給手段)
6 SCR触媒温度センサ
7 アンモニア濃度センサ(還元剤スリップ判定手段)
10 電子制御ユニット(還元剤スリップ判定手段、ストレージ量変更手段、還元剤供給手段、濃度判定手段)
12 尿素水タンク(還元剤供給手段)
【特許請求の範囲】
【請求項1】
内燃機関の排気通路に設けられ、還元剤の存在下で排気中のNOxを還元する選択還元触媒と、還元剤を生成する反応剤または還元剤を前記選択還元触媒の上流側に供給する還元剤供給手段とを備える内燃機関の排気浄化装置において、
前記選択還元触媒の下流側に前記還元剤が排出される還元剤スリップの発生を判定する還元剤スリップ判定手段と、
前記選択還元触媒に貯蔵されている還元剤の量であるストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後前記還元剤スリップの発生が検出されるまで前記ストレージ量を増量するストレージ量変更手段と、
該ストレージ量変更手段により前記ストレージ量を変更したときの前記還元剤スリップの発生状態に応じて、前記還元剤供給手段による還元剤の供給量を補正する供給補正量を算出する供給補正量算出手段とを備え、
前記還元剤供給手段は、前記機関の運転状態または前記選択還元触媒の上流側におけるNOx濃度に応じて前記還元剤の基本供給量を算出し、前記供給補正量を用いて前記基本供給量を補正することにより前記還元剤の供給量を算出することを特徴とする内燃機関の排気浄化装置。
【請求項2】
前記ストレージ量変更手段は、前記ストレージ量の低減量を、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量より小さな値に設定することを特徴とする請求項1に記載の内燃機関の排気浄化装置。
【請求項3】
前記ストレージ量の推定値である推定ストレージ量を算出する推定ストレージ量算出手段を備え、
前記供給補正量算出手段は、前記還元剤スリップ判定手段により判定される前記還元剤スリップの実発生時期と、前記推定ストレージ量に基づいて判定される推定還元剤スリップ発生時期との差に応じた誤差量を算出し、該誤差量に応じて前記供給補正量を算出することを特徴とする請求項1または2に記載の内燃機関の排気浄化装置。
【請求項4】
前記ストレージ量の推定値である推定ストレージ量を算出する推定ストレージ量算出手段と、
前記ストレージ量の最大値の推定値である推定ストレージ容量を算出する推定ストレージ容量算出手段とを備え、
前記供給補正量算出手段は、前記還元剤スリップが発生した時点における、前記推定ストレージ量と前記推定ストレージ容量との差である誤差量を算出し、該誤差量に応じて前記供給補正量を算出することを特徴とする請求項1または2に記載の内燃機関の排気浄化装置。
【請求項5】
前記供給補正量算出手段は、
前記選択還元触媒のNOx浄化率に影響を与える状態パラメータに応じて設定された複数の領域毎に重み関数値を算出する重み関数値算出手段と、
前記誤差量に前記重み関数値を乗算することにより、前記領域に対応して重み付けされた重み付け誤差量を算出する重み付け誤差量算出手段と、
前記重み付け誤差量に基づいて前記領域毎の補正量である領域補正量を算出する領域補正量算出手段とを備え、
前記領域補正量と前記重み関数値とを用いて前記供給補正量を算出することを特徴とする請求項3または4に記載の内燃機関の排気浄化装置。
【請求項6】
前記供給補正量と所定濃度判定閾値とを比較し、該比較の結果に応じて前記反応剤中の還元剤濃度を判定する濃度判定手段をさらに備えることを特徴とする請求項1から5の何れか1項に記載の内燃機関の排気浄化装置。
【請求項1】
内燃機関の排気通路に設けられ、還元剤の存在下で排気中のNOxを還元する選択還元触媒と、還元剤を生成する反応剤または還元剤を前記選択還元触媒の上流側に供給する還元剤供給手段とを備える内燃機関の排気浄化装置において、
前記選択還元触媒の下流側に前記還元剤が排出される還元剤スリップの発生を判定する還元剤スリップ判定手段と、
前記選択還元触媒に貯蔵されている還元剤の量であるストレージ量を、該ストレージ量が最大である状態から一時的に低減し、その後前記還元剤スリップの発生が検出されるまで前記ストレージ量を増量するストレージ量変更手段と、
該ストレージ量変更手段により前記ストレージ量を変更したときの前記還元剤スリップの発生状態に応じて、前記還元剤供給手段による還元剤の供給量を補正する供給補正量を算出する供給補正量算出手段とを備え、
前記還元剤供給手段は、前記機関の運転状態または前記選択還元触媒の上流側におけるNOx濃度に応じて前記還元剤の基本供給量を算出し、前記供給補正量を用いて前記基本供給量を補正することにより前記還元剤の供給量を算出することを特徴とする内燃機関の排気浄化装置。
【請求項2】
前記ストレージ量変更手段は、前記ストレージ量の低減量を、劣化したと判定されるべき選択還元触媒が貯蔵可能な最大ストレージ量である劣化ストレージ容量より小さな値に設定することを特徴とする請求項1に記載の内燃機関の排気浄化装置。
【請求項3】
前記ストレージ量の推定値である推定ストレージ量を算出する推定ストレージ量算出手段を備え、
前記供給補正量算出手段は、前記還元剤スリップ判定手段により判定される前記還元剤スリップの実発生時期と、前記推定ストレージ量に基づいて判定される推定還元剤スリップ発生時期との差に応じた誤差量を算出し、該誤差量に応じて前記供給補正量を算出することを特徴とする請求項1または2に記載の内燃機関の排気浄化装置。
【請求項4】
前記ストレージ量の推定値である推定ストレージ量を算出する推定ストレージ量算出手段と、
前記ストレージ量の最大値の推定値である推定ストレージ容量を算出する推定ストレージ容量算出手段とを備え、
前記供給補正量算出手段は、前記還元剤スリップが発生した時点における、前記推定ストレージ量と前記推定ストレージ容量との差である誤差量を算出し、該誤差量に応じて前記供給補正量を算出することを特徴とする請求項1または2に記載の内燃機関の排気浄化装置。
【請求項5】
前記供給補正量算出手段は、
前記選択還元触媒のNOx浄化率に影響を与える状態パラメータに応じて設定された複数の領域毎に重み関数値を算出する重み関数値算出手段と、
前記誤差量に前記重み関数値を乗算することにより、前記領域に対応して重み付けされた重み付け誤差量を算出する重み付け誤差量算出手段と、
前記重み付け誤差量に基づいて前記領域毎の補正量である領域補正量を算出する領域補正量算出手段とを備え、
前記領域補正量と前記重み関数値とを用いて前記供給補正量を算出することを特徴とする請求項3または4に記載の内燃機関の排気浄化装置。
【請求項6】
前記供給補正量と所定濃度判定閾値とを比較し、該比較の結果に応じて前記反応剤中の還元剤濃度を判定する濃度判定手段をさらに備えることを特徴とする請求項1から5の何れか1項に記載の内燃機関の排気浄化装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39】
【図40】
【図41】
【公開番号】特開2011−163165(P2011−163165A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−24899(P2010−24899)
【出願日】平成22年2月6日(2010.2.6)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願日】平成22年2月6日(2010.2.6)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【Fターム(参考)】
[ Back to top ]