(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-16
(45)【発行日】2024-12-24
(54)【発明の名称】内燃機関の制御装置
(51)【国際特許分類】
F01N 3/18 20060101AFI20241217BHJP
F01N 11/00 20060101ALI20241217BHJP
F02D 45/00 20060101ALI20241217BHJP
【FI】
F01N3/18 C ZAB
F01N11/00 ZHV
F02D45/00 345
F02D45/00 360A
(21)【出願番号】P 2022094246
(22)【出願日】2022-06-10
【審査請求日】2024-01-25
(73)【特許権者】
【識別番号】000003207
【氏名又は名称】トヨタ自動車株式会社
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(72)【発明者】
【氏名】八重尾 享
(72)【発明者】
【氏名】松田 好史
(72)【発明者】
【氏名】秤谷 雅史
(72)【発明者】
【氏名】森川 淳
(72)【発明者】
【氏名】保田 郁夫
(72)【発明者】
【氏名】足立 憲保
(72)【発明者】
【氏名】林 雅典
(72)【発明者】
【氏名】井川 賢治
【審査官】佐々木 淳
(56)【参考文献】
【文献】特開2020-186714(JP,A)
【文献】特開2020-112112(JP,A)
【文献】特開2020-106028(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
F01N 3/00-11/00
F02D 45/00
(57)【特許請求の範囲】
【請求項1】
排気通路に排気浄化装置が設けられた内燃機関に適用され、
燃料供給を停止した状態で機関出力軸を回転させるフューエルカット運転を実行することのある内燃機関の制御装置であり、
前記排気浄化装置よりも上流側の排気の温度である上流側温度の単位時間当たりの変化量である第1変化量を算出する第1変化量算出処理と、
前記排気浄化装置よりも下流側の排気の温度である下流側温度の単位時間当たりの変化量である第2変化量を算出する第2変化量算出処理と、
判定実行条件が成立したときに、前記フューエルカット運転が行われているときの前記第1変化量と、前記フューエルカット運転が行われているときの前記第2変化量との乖離が閾値以下であることを判定する判定処理と、
前記判定処理において前記乖離が前記閾値以下であることが判定された場合に、前記排気浄化装置が取り外されている状態である旨の異常判定を行う異常診断処理と、を実行し、
前記判定処理を開始したときの前記上流側温度から前記上流側温度が既定温度低下するまでの判定期間内に、前記上流側温度が上昇した場合に、前記判定処理を中断
し、
前記判定実行条件は、前記排気通路に設けられた空燃比センサによって検出された空燃比が理論空燃比で運転が行われたことを示す既定の範囲内であることを含む
内燃機関の制御装置。
【請求項2】
前記判定期間内に算出した前記第1変化量が負の値ではないことに基づいて、前記上流側温度が上昇していると判定し、前記判定処理を中断する
請求項1に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は内燃機関の制御装置に関するものである。
【背景技術】
【0002】
排気通路に設けられている排気浄化装置は熱容量があるため、排気浄化装置に導入された排気の熱は、排気浄化装置との熱交換によって消費される。その結果、排気浄化装置よりも上流側の排気温度の変化と、排気浄化装置よりも下流側の排気温度の変化には相違が生じる。
【0003】
特許文献1には、排気中の粒子状物質を捕集するフィルタが排気通路から取り外されていることを検知する内燃機関の制御装置が開示されている。特許文献1に開示されている制御装置は、フィルタよりも上流側の排気温度の変化と、フィルタよりも下流側の排気温度の変化と、を比較している。そして、上流側の排気温度の変化とフィルタよりも下流側の排気温度の変化と、の相違に基づいてフィルタが取り外されていると判定する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
このような排気を処理する排気浄化装置が取り外されてしまっている状態を検知して、異常判定を行う内燃機関の制御装置では、高い精度で判定を行うことが求められている。
【課題を解決するための手段】
【0006】
以下、上記課題を解決するための手段及びその作用効果について記載する。
上記課題を解決するための内燃機関の制御装置は、排気通路に排気浄化装置が設けられた内燃機関に適用される。この内燃機関の制御装置は、燃料供給を停止した状態で機関出力軸を回転させるフューエルカット運転を実行することのある制御装置である。この制御装置は、前記排気浄化装置よりも上流側の排気の温度である上流側温度の単位時間当たりの変化量である第1変化量を算出する第1変化量算出処理と、前記排気浄化装置よりも下流側の排気の温度である下流側温度の単位時間当たりの変化量である第2変化量を算出する第2変化量算出処理と、前記フューエルカット運転が行われているときの前記第1変化量と、前記フューエルカット運転が行われているときの前記第2変化量との乖離が閾値以下であることを判定する判定処理と、前記判定処理において前記乖離が前記閾値以下であることが判定された場合に、前記排気浄化装置が取り外されている状態である旨の異常判定を行う異常診断処理と、を実行する。この制御装置は、前記判定処理を開始したときの前記上流側温度から前記上流側温度が既定温度低下するまでの判定期間内に、前記上流側温度が上昇した場合に、前記判定処理を中断する。
【0007】
フューエルカット運転中は、排気よりも温度が低く、且つ排気浄化装置よりも温度が低い空気が排気浄化装置に導入される。フューエルカット運転中に排気浄化装置に導入された空気は、排気浄化装置との熱交換によって暖められる。そのため、フューエルカット運転中は、下流側温度は緩やかに低下する。そのため、フューエルカット運転中の第2変化量は第1変化量よりも絶対値の小さな負の値になる。
【0008】
排気浄化装置が取り外されている場合には、空気と排気浄化装置との熱交換が行われないため、第2変化量も絶対値の大きな負の値になる。
これにより、第1変化量と第2変化量との乖離が閾値以下であることに基づいて異常診断を行うことができる。
【0009】
しかし、判定期間内に何らかの理由により上流側温度が上昇した場合には、第1変化量が正の値になる。この場合には、前記乖離が小さくなってしまう。
また、上流側温度が上昇すると、判定期間が長くなる。第1変化量及び第2変化量は次第に小さくなる。そのため、判定期間が長くなると、前記乖離は、小さくなる。
【0010】
このように、判定期間内に上流側温度が上昇すると、排気浄化装置が取り付けられていたとしても異常判定が行われやすくなってしまう。
これに対して、この制御装置は、判定期間内に上流側温度が上昇した場合には、判定処理を中断する。これにより、この制御装置は、誤った異常判定がなされることを抑制できる。
【0011】
内燃機関の制御装置の一態様は、前記判定期間内に算出した前記第1変化量が負の値ではないことに基づいて、前記上流側温度が上昇していると判定し、前記判定処理を中断する。
【0012】
こうした態様によって、上流側温度が上昇していることを判定することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、内燃機関の制御装置の一実施形態であるエンジンコントロールユニットと、同エンジンコントロールユニットが制御するエンジン及び同エンジンを備えたハイブリッド車両の構成を示す模式図である。
【
図2】
図2は、再生処理にかかるルーチンにおける処理の流れを示すフローチャートである。
【
図3】
図3は、エンジンコントロールユニットが実行する異常診断処理にかかるメインルーチンの処理の流れを示すフローチャートである。
【
図4】
図4は、エンジンコントロールユニットが実行するフューエルカット要求処理にかかるルーチンにおける処理の流れを示すフローチャートである。
【
図5】
図5は、エンジンコントロールユニットが実行する再生後実行条件の判定処理にかかるルーチンにおける処理の流れを示すフローチャートである。
【
図6】
図6は、エンジンコントロールユニットが実行する異常診断処理にかかるサブルーチンおける処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、一実施形態の内燃機関の制御装置であるエンジンコントロールユニット110について、
図1~
図6を参照して説明する。
<車両の構成について>
図1に示すように、エンジン10は、気筒#1~#4の4つの気筒を備える。エンジン10の吸気通路12には、スロットルバルブ14が設けられている。吸気通路12の下流部分である吸気ポート12aには、吸気ポート12aに燃料を噴射するポート噴射弁16が設けられている。吸気通路12に吸入された空気やポート噴射弁16から噴射された燃料は、吸気バルブ18の開弁に伴って燃焼室20に流入する。エンジン10には、気筒#1~#4に燃料を噴射する筒内噴射弁22も設けられている。筒内噴射弁22から燃焼室20内に燃料が噴射されることもある。また、燃焼室20内の空気と燃料との混合気は、点火プラグ24の火花放電に伴って燃焼に供される。そのときに生成される燃焼エネルギは、クランク軸26の回転エネルギに変換される。
【0015】
燃焼室20において燃焼に供された混合気は、排気バルブ28の開弁に伴って、排気として排気通路30に排出される。排気通路30には、排気浄化装置として、酸素吸蔵能力を有した三元触媒32と、ガソリンパティキュレートフィルタ(GPF34)とが設けられている。なお、GPF34は、排気に含まれる粒子状物質(以下、PMと称する)を捕集するフィルタに三元触媒が担持されたものである。
【0016】
クランク軸26には、歯部42が設けられたクランクロータ40が結合されている。クランクロータ40には、基本的には、10°CA毎に歯部42が32個設けられている。そのため、クランクロータ40には、歯部42が2つ足りない分、隣接する歯部42の間隔が広くなっている欠け歯部44が1箇所設けられている。これは、クランク軸26の基準となる回転角度を示すためのものである。
【0017】
クランク軸26は、動力分割装置を構成する遊星歯車機構50のキャリアCに機械的に連結されている。遊星歯車機構50のサンギアSには、第1モータジェネレータ52の回転軸52aが機械的に連結されている。また、遊星歯車機構50のリングギアRには、第2モータジェネレータ54の回転軸54aと駆動輪60とが機械的に連結されている。第1モータジェネレータ52の端子には、インバータ56によって交流電圧が印加される。また、第2モータジェネレータ54の端子には、インバータ58によって交流電圧が印加される。
【0018】
<制御装置500について>
制御装置500は、エンジン10、第1モータジェネレータ52及び第2モータジェネレータ54を制御する。制御装置500は、エンジン10を制御するエンジンコントロールユニット110を備えている。また、制御装置500は、第1モータジェネレータ52及び第2モータジェネレータ54を制御するモータコントロールユニット130を備えている。さらに制御装置500は、エンジンコントロールユニット110及びモータコントロールユニット130に接続されて車両の制御を統括する統括コントロールユニット100を備えている。なお、これらのコントロールユニットは、処理回路と、処理回路が実行するプログラムなどを記憶したメモリによって構成されている。
【0019】
この制御装置500は、エンジン10、第1モータジェネレータ52及び第2モータジェネレータ54を制御する。すなわち、制御装置500は、車両のパワートレーンを制御する。制御装置500は、車両の各部に設けられたセンサの検出信号が入力されている。
【0020】
エンジンコントロールユニット110は、エンジン10の制御量であるトルクや排気成分比率等を制御するためにスロットルバルブ14、ポート噴射弁16、筒内噴射弁22、及び点火プラグ24等のエンジン10の操作部を操作する。
【0021】
また、モータコントロールユニット130は、第1モータジェネレータ52の制御量である回転速度を制御するためにインバータ56を操作する。また、モータコントロールユニット130は、第2モータジェネレータ54の制御量であるトルクを制御するためにインバータ58を操作する。
【0022】
図1には、スロットルバルブ14、ポート噴射弁16、筒内噴射弁22、点火プラグ24、及びインバータ56,58のそれぞれの操作信号MS1~MS6を記載している。エンジンコントロールユニット110は、エンジン10の制御量を制御するために、エアフローメータ80によって検出される吸入空気量Gaを参照する。また、エンジンコントロールユニット110は、クランク角センサ82の出力信号Scr、水温センサ86によって検出される水温THW、及び排気圧センサ88によって検出されるGPF34に流入する排気の圧力Pexも参照する。また、モータコントロールユニット130は、第1モータジェネレータ52の制御量を制御するために、第1モータジェネレータ52の回転角を検知する第1回転角センサ90の出力信号Sm1を参照する。モータコントロールユニット130は、第2モータジェネレータ54の制御量を制御するために、第2モータジェネレータ54の回転角を検知する第2回転角センサ92の出力信号Sm2を参照する。
【0023】
エンジンコントロールユニット110とモータコントロールユニット130は、それぞれ通信線で統括コントロールユニット100に接続されている。そして、統括コントロールユニット100とモータコントロールユニット130とエンジンコントロールユニット110とのそれぞれが、CAN通信によってセンサから入力された検出信号に基づく情報や算出した情報を相互にやり取りし、共有している。
【0024】
統括コントロールユニット100には、アクセルポジションセンサ101と、ブレーキセンサ102と、車速センサ103とが接続されている。アクセルポジションセンサ101は、アクセル開度を検出する。ブレーキセンサ102は、ブレーキの操作量を検出する。車速センサ103は、車両の速度である車速を検出する。
【0025】
また、排気通路30には、空燃比センサ81が設けられている。空燃比センサ81はエンジンコントロールユニット110に接続されている。空燃比センサ81は、空燃比を検出する。
【0026】
また、エンジンコントロールユニット110には、排気通路30における三元触媒32とGPF34との間の排気の温度である上流側温度Tinを検出する上流側温度センサ87が接続されている。また、エンジンコントロールユニット110には、GPF34よりも下流側の排気の温度である下流側温度Toutを検出する下流側温度センサ89も接続されている。
【0027】
エンジンコントロールユニット110は、機関負荷率KL及び機関回転速度NE、そして、これら上流側温度センサ87及び下流側温度センサ89によって検出される排気の温度に基づいて触媒温度とGPF温度を推定する。触媒温度は三元触媒32の温度である。一方、GPF温度はGPF34の温度である。
【0028】
また、エンジンコントロールユニット110は、クランク角センサ82の出力信号Scrが入力された回数を計数してクランク角に相当する値であるカウンタCNTを算出する。カウンタCNTの値は、クランク角に対応していて、大きいほどクランク角が大きいことを示す値である。そして、720°CA、すなわち0°CAに相当する値になると、再び「0」にリセットされる。なお、カウンタCNTが「0」のクランク角は、圧縮上死点におけるクランク角である。
【0029】
<燃料噴射態様について>
エンジンコントロールユニット110は、機関負荷率KL及び機関回転速度NEに応じて、エンジン10における燃料噴射態様を変更する。たとえば、エンジン10は、高負荷域では筒内噴射弁22による燃料噴射である筒内噴射のみによって燃料を供給する。エンジン10は、低負荷域ではポート噴射弁16による燃料噴射であるポート噴射のみによって燃料を供給する。また、エンジン10は、ポート噴射と筒内噴射とによって燃料を供給することもある。この場合、エンジンコントロールユニット110は、機関負荷率KL及び機関回転速度NEに応じてポート噴射と筒内噴射の割合を変更する。エンジン10は、こうして燃焼に適した混合気の形成を図っている。
【0030】
なお、機関回転速度NEは、エンジンコントロールユニット110により、出力信号Scrに基づき算出される。また、機関負荷率KLは、エンジンコントロールユニット110により、吸入空気量Ga及び機関回転速度NEに基づき算出される。
【0031】
<再生処理について>
図2に、エンジンコントロールユニット110が実行する再生処理にかかるルーチンにおける処理手順を示す。
図2に示すルーチンは、メモリに記憶されたプログラムを処理回路がたとえば所定周期で繰り返し実行することにより実現される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。
【0032】
図2に示すルーチンにおいて、エンジンコントロールユニット110は、まず、機関回転速度NE、機関負荷率KL及び水温THWを取得する(S10)。次にエンジンコントロールユニット110は、機関回転速度NE、機関負荷率KL及び水温THWに基づき、堆積量DPMの更新量ΔDPMを算出する(S12)。ここで、堆積量DPMは、GPF34に捕集されているPMの量である。詳しくは、エンジンコントロールユニット110は、機関回転速度NE、機関負荷率KL及び水温THWに基づき排気通路30に排出される排気中のPMの量を算出する。そしてエンジンコントロールユニット110は、排気中のPMの量やGPF温度に基づき更新量ΔDPMを算出する。
【0033】
次にエンジンコントロールユニット110は、堆積量DPMに更新量ΔDPMを加算した和を新たな堆積量DPMにする。こうして堆積量DPMを更新する(S14)。次に、エンジンコントロールユニット110は、フラグFが「1」であるか否かを判定する(S16)。フラグFは、「1」である場合に、GPF34のPMを燃焼除去するための再生処理を実行していることを示す。一方でフラグFは、「0」である場合に再生処理を実行していないことを示す。エンジンコントロールユニット110は、フラグFが「0」であると判定する場合(S16:NO)、堆積量DPMが再生実行値DPMH以上であるか否かを判定する(S18)。再生実行値DPMHは、堆積量DPMが再生実行値DPMH以上であることに基づいて、PMを除去する必要がある状態であることを判定するための閾値である。
【0034】
エンジンコントロールユニット110は、再生実行値DPMH以上であると判定する場合(S18:YES)、再生処理の実行条件が成立するか否かを判定する(S20)。ここで実行条件は、以下の条件(1)~条件(3)の論理積が真である旨の条件とすればよい。
【0035】
条件(1):エンジン10に対するトルクの指令値である機関トルク指令値Te*が所定値Teth以上である旨の条件。
条件(2):機関回転速度NEが所定速度以上である旨の条件。
【0036】
条件(3):S24のトルク補償処理を実行できる旨の条件。
エンジンコントロールユニット110は、論理積が真であると判定する場合(S20:YES)には、再生処理を実行し、フラグFに「1」を代入する(S22)。すなわち、エンジンコントロールユニット110は、気筒#1のポート噴射弁16及び筒内噴射弁22からの燃料の噴射を停止する。そして、エンジンコントロールユニット110は気筒#2~#4の燃焼室20内の混合気の空燃比を理論空燃比よりもリッチとする。すなわち、再生処理は、複数の気筒のうちの一つの気筒に対する燃料供給を停止させるとともに残りの気筒には燃料を供給する停止処理である。この処理は、排気通路30に酸素と未燃燃料とを排出することによってGPF34の温度を上昇させてGPF34が捕集したPMを燃焼除去するための処理である。すなわち、エンジンコントロールユニット110は、排気通路30に酸素と未燃燃料を排出することによって三元触媒32等において未燃燃料を燃焼させ排気の温度を上昇させる。これにより、GPF34の温度を上昇させることができる。また、GPF34に酸素を供給することによってGPF34が捕集したPMを燃焼除去することができる。
【0037】
なお、燃料の供給を停止する気筒は気筒#1に限らない。たとえば、燃料の供給を停止する回数に偏りが生じないように燃料の供給を停止させる気筒を順に切り替えるようにしてもよい。
【0038】
エンジンコントロールユニット110は、モータコントロールユニット130に対して、気筒#1の燃焼制御の停止に起因したエンジン10のクランク軸26のトルク変動を補償する処理を要求する(S24)。この要求を受けたモータコントロールユニット130は、第2モータジェネレータ54に対する走行のための要求トルクに、補償トルクを重畳する。そして、モータコントロールユニット130は、補償トルクが重畳された要求トルクに基づきインバータ58を操作する。
【0039】
なお、このトルク補償処理を実行できる旨の条件は、第2モータジェネレータ54に異常が生じていないこと、トルク補償処理を実行するのに必要な電力がバッテリに蓄えられていることなどである。
【0040】
一方、エンジンコントロールユニット110は、フラグFが「1」であると判定する場合(S16:YES)、堆積量DPMが停止用閾値DPML以下であるか否かを判定する(S26)。停止用閾値DPMLは、堆積量DPMが停止用閾値DPML以下であることに基づいて再生処理を停止させてもよい旨を判定するための閾値である。エンジンコントロールユニット110は、堆積量DPMが停止用閾値DPML以下となる場合(S26:YES)、再生処理を停止してフラグFに「0」を代入する(S28)。
【0041】
なお、エンジンコントロールユニット110は、S24,S28の処理を完了する場合や、S18,S20の処理において否定判定する場合には、
図2に示すルーチンを一旦終了する。
【0042】
<異常診断処理について>
ところで、排気通路30から排気浄化装置が取り外されてしまうと排気を浄化することができなくなってしまう。そこで、エンジンコントロールユニット110は、排気浄化装置が取り外された状態であることを検知して排気浄化装置が取り外されている状態である旨の異常判定を行う異常診断処理を実行する。
【0043】
図3に、エンジンコントロールユニット110が実行する異常診断処理にかかるメインルーチンにおける処理手順を示す。
図3に示すルーチンは、メモリに記憶されたプログラムを処理回路が実行することにより実現される。エンジンコントロールユニット110は、車両のメインスイッチがONにされてからOFFにされるまでの1トリップの間に一度も異常診断処理が完了していないときに、このルーチンを繰り返し実行する。すなわち、異常診断処理は、1トリップに1回実行される。なお、以下では、先頭に「S」が付与された数字によって、各処理のステップ番号を表現する。
【0044】
図3に示すルーチンにおいて、エンジンコントロールユニット110は、まず、温度変化量を算出する(S30)。温度変化量は、上流側温度センサ87によって検出された上流側温度Tinの変化量と、下流側温度センサ89によって検出された下流側温度Toutの変化量である。すなわち、エンジンコントロールユニット110は、排気浄化装置であるGPF34に流入する排気の温度である上流側温度Tinの変化量と、GPF34から流れ出た排気の温度である下流側温度Toutの変化量とをそれぞれ算出する。以下では、上流側温度Tinの変化量を第1変化量ΔTinと称する。また、以下では、下流側温度Toutの変化量を第2変化量ΔToutと称する。
【0045】
このように、エンジンコントロールユニット110は、S30の処理において、排気浄化装置よりも上流側の排気の温度である上流側温度Tinの単位時間当たりの変化量である第1変化量ΔTinを算出する第1変化量算出処理を実行している。
【0046】
また、エンジンコントロールユニット110は、S30の処理において、排気浄化装置よりも下流側の排気の温度である下流側温度Toutの単位時間当たりの変化量である第2変化量ΔToutを算出する第2変化量算出処理を実行している。
【0047】
エンジンコントロールユニット110は、一定の周期で、たとえば65ミリ秒毎にこのルーチンを実行して上流側温度Tinと下流側温度Toutをサンプリングしている。エンジンコントロールユニット110は、S30の第1変化量算出処理において、今回サンプリングした上流側温度Tinから前回サンプリングした上流側温度Tinを引いた差を算出する。そして、算出した差を第1変化量ΔTinとしてメモリに記憶する。同様に、エンジンコントロールユニット110は、S30の第2変化量算出処理において、今回サンプリングした下流側温度Toutから前回サンプリングした下流側温度Toutを引いた差を算出する。そして、算出した差を第2変化量ΔToutとしてメモリに記憶する。
【0048】
次にエンジンコントロールユニット110は、第1変化量ΔTinの移動平均値を算出する(S32)。具体的には、S32の処理において、エンジンコントロールユニット110は、第1変化量ΔTinの長期移動平均値と、第1変化量ΔTinの短期移動平均値とを算出する。長期移動平均値は、指数平滑移動平均であり、例えば10秒移動平均である。また、短期移動平均値も、指数平滑移動平均であり、例えば3秒移動平均である。
【0049】
指数平滑移動平均は、次の式(1)に基づいて算出される。
【0050】
【0051】
なお、式(1)における「α」は平滑化係数である。平滑化係数αは、次の式(2)に基づいて算出される。
【0052】
【0053】
式(2)における「N」はサンプル数である。長期移動平均値を算出する場合には、10秒間の間に第1変化量ΔTinを取得した回数が「N」になる。一方、短期移動平均値を算出する場合には、3秒間の間に第1変化量ΔTinを取得した回数が「N」になる。第1変化量ΔTinは65ミリ秒毎に算出されるため、10秒間の間には、第1変化量ΔTinは153回算出される。すなわち、長期移動平均値を算出する場合には、サンプル数は153個であるため、平滑化係数αは「0.013」になる。また、3秒間の間には、第1変化量ΔTinは46回算出される。すなわち、短期移動平均値を算出する場合には、サンプル数は46個であるため、平滑化係数αは「0.0426」になる。
【0054】
式(1)における「S」は第1変化量ΔTinの指数平滑移動平均である。式(1)における「Y」は第1変化量ΔTinである。下付文字「t」及び下付文字「t-1」は、算出された時期の違いを示している。すなわち、下付文字「t-1」は前回算出された値であることを示している。なお、「S」の初期値は「0」である。
【0055】
式(1)に示すように、指数平滑移動平均である長期移動平均値及び短期移動平均値は、第1変化量ΔTinに平滑化係数αを乗じた積と、前回算出した指数平滑移動平均Sに1から平滑化係数αを引いた差を乗じた積を加算した和である。
【0056】
長期移動平均値を算出する場合には平滑化係数αを「0.013」にする。一方で、短期移動平均値を算出する場合には、平滑化係数αを「0.0426」にする。
このようにS32の処理では、エンジンコントロールユニット110は、上流側温度Tinの短期移動平均値を算出する第1平均値算出処理と、短期移動平均値よりも長い期間の指数平滑移動平均である長期移動平均値を算出する第2平均値算出処理とを実行する。
【0057】
こうして長期移動平均値と短期移動平均値を算出すると、エンジンコントロールユニット110は、次にフィルタ温度を算出する(S34)。ここでは、GPF34における前端から10ミリメートルの部位の温度を前端側温度TFrとして算出する。また、ここでは、GPF34における後端から10ミリメートルの部位の温度を後端側温度TRrとして算出する。すなわち、S34の処理では、GPF34における中央よりも前端側の部位の温度である前端側温度TFrを推定する前端温度推定処理と、GPF34における中央よりも後端側の部位の温度である後端側温度TRrを推定する後端温度推定処理と、を実行する。
【0058】
前端側温度TFrは、次の式(3)に基づいて算出される。
【0059】
【0060】
式(3)における「ofs1」は前端用オフセット値である。また、式(3)における「KFr」は前端用なまし係数である。式(3)における下付文字「t」及び下付文字「t-1」は、算出された時期の違いを示している。すなわち、下付文字「t-1」は前回算出された値であることを示している。なお、前端側温度TFrの初期値は上流側温度Tinである。
【0061】
また、後端側温度TRrは、次の式(4)に基づいて算出される。
【0062】
【0063】
式(4)における「ofs2」は後端用オフセット値である。また、式(4)における「KRr」は後端用なまし係数である。式(4)における下付文字「t」及び下付文字「t-1」も、算出された時期の違いを示している。すなわち、下付文字「t-1」は前回算出された値であることを示している。なお、後端側温度TRrの初期値は上流側温度Tinである。
【0064】
また、前端用なまし係数KFr及び後端側なまし係数KRrは、吸入空気量Gaに基づいて決定される。前端用なまし係数KFr及び後端側なまし係数KRrは、吸入空気量Gaが多いほど小さい値になる。また、後端側なまし係数KRrは、前端用なまし係数KFrよりも小さい値になる。
【0065】
前端用オフセット値ofs1は、式(3)に基づいてGPF34における前端から10ミリメートルの部位の温度を算出することができるように、その大きさが設定されている。また、後端用オフセット値ofs2は、式(4)に基づいてGPF34における後端から10ミリメートルの部位の温度を算出することができるように、その大きさが設定されている。すなわち、式(3)及び式(2)におけるなまし係数及びオフセット値は、あらかじめ行う実験やシミュレーションの結果と算出結果との乖離が極力小さくなるように、適合によって調整された値である。
【0066】
S34の処理を通じて前端側温度TFrと後端側温度TRrを算出すると、エンジンコントロールユニット110は、異常診断処理を実行するための前提条件が成立しているか否かを判定する(S40)。ここでの前提条件は、以下の条件(4)及び条件(5)の論理積が真である旨の条件とすればよい。
【0067】
条件(4):エンジンコントロールユニット110に接続されている各種のセンサに異常が発生していない、すなわち全てのセンサが正常である旨の条件。
条件(5):異常診断処理が完了していない旨の条件。
【0068】
前提条件が成立している場合(S40:YES)には、エンジンコントロールユニット110は、フューエルカット運転中であるか否かを判定する(S42)。フューエルカット運転は、燃料供給を停止した状態で機関出力軸であるクランク軸26を回転させる運転態様のことである。この車両は、ハイブリッド車両であるため、エンジン10を運転させる必要がない場合には、通常は機関運転が停止されてすぐにクランク軸26が停止される。そこで、この車両では、異常診断処理を行うために、通常であれば機関運転を停止させる状態のときに、第1モータジェネレータ52によってクランク軸26を駆動して燃料供給を停止した状態でクランク軸26を回転させる。これによってフューエルカット運転を実現している。
【0069】
図4に示すフローチャートは、フューエルカット運転の実行を要求する指令であるFC要求のONとOFFを切り替えるFC要求処理にかかるルーチンを示している。このルーチンは、統括コントロールユニット100によって繰り返し実行される。フューエルカット運転は、後述するように、このルーチンを通じてFC要求がONにされることによって実行される。
【0070】
このルーチンを開始すると、統括コントロールユニット100は、FC要求を操作するための前提条件が成立しているか否かを判定する(S90)。ここでの前提条件は、以下の条件(6)及び条件(7)の論理積が真である旨の条件とすればよい。
【0071】
条件(6):制御装置500に接続されている各種のセンサに異常が発生していない旨の条件。
条件(7):クランク軸26を回転させてフューエルカット運転を実現するのに必要な電力がバッテリに蓄えられている旨の条件。
【0072】
前提条件が成立している場合(S90:YES)には、統括コントロールユニット100は、スロットルバルブ14がOFFにされたか否かを判定する(S92)。すなわち、アクセルの操作が解除されてスロットルバルブ14が閉弁されたか否かを判定する。
【0073】
スロットルバルブ14がOFFされたと判定した場合(S92:YES)には、統括コントロールユニット100は、FC要求をONにするとともに、FCカウンタFCcntを「0」にリセットする(S94)。S94の処理を通じてFC要求がONにされると、エンジンコントロールユニット110は、エンジン10における燃料供給を停止する。また、モータコントロールユニット130は、第1モータジェネレータ52によってクランク軸26を駆動する。これにより、フューエルカット運転が実行される。
【0074】
次に、統括コントロールユニット100は、フューエルカット運転中であるか否かを判定する(S96)。なお、スロットルバルブ14がOFFされたと判定しなかった場合(S92:NO)には、統括コントロールユニット100は、S94の処理を実行せずに処理をS96へと進める。
【0075】
S96の処理において、フューエルカット運転中であると判定した場合(S96:YES)には、統括コントロールユニット100は、異常診断処理における判定が完了しているかを判定する(S98)。なお、異常診断処理における判定とは、後述する異常判定又は正常判定である。
【0076】
S98において異常診断における判定が既に完了していると判定した場合(S98:YES)には、統括コントロールユニット100は、FC要求をOFFにする(S100)。これにより、フューエルカット運転は終了される。こうしてフューエルカット運転を終了させると、統括コントロールユニット100は、この一連のルーチンを終了させる。
【0077】
S98において判定が完了していないと判定した場合(S98:NO)には、統括コントロールユニット100は、FCカウンタFCcntをインクリメントする(S102)。そして、統括コントロールユニット100は、FCカウンタFCcntが閾値FCth以上であるか否かを判定する(S104)。
【0078】
S104においてFCカウンタFCcntが閾値FCth未満であると判定した場合(S104:NO)には、統括コントロールユニット100は、そのままこのルーチンを一旦終了させる。この場合には、フューエルカット運転が継続されることになる。
【0079】
一方で、S104においてFCカウンタFCcntが閾値FCth以上であると判定した場合(S104:YES)には、統括コントロールユニット100は、FC要求をOFFにする(S100)。これにより、異常診断処理による判定が完了する前にFCカウンタFCcntが閾値FCthに達した場合には、フューエルカット運転は終了される。こうしてフューエルカット運転を終了させると、統括コントロールユニット100は、この一連のルーチンを終了させる。
【0080】
なお、フューエルカット運転を長時間継続させると、排気浄化装置の温度が低くなり、異常診断処理を適切に行うことができない。そのため、統括コントロールユニット100は、FCカウンタFCcntが閾値FCth以上であると判定した場合(S104:YES)場合には、フューエルカット運転を終了させて異常診断処理を中断させる。
【0081】
なお、S90の処理において前提条件が成立していないと判定した場合(S90:NO)には、統括コントロールユニット100は、S92~S104の処理を実行せずに、そのままこの一連のルーチンを終了させる。また、S96の処理においてフューエルカット運転中ではないと判定した場合(S96:NO)には、統括コントロールユニット100は、S98~S104の処理を実行せずに、そのままこの一連のルーチンを終了させる。フューエルカット運転は、このように統括コントロールユニット100によって実行されるFC要求処理を通じて実行される。
【0082】
図3に戻り、S42の処理においてフューエルカット運転中であると判定した場合(S42:YES)には、エンジンコントロールユニット110は、判定実行条件が成立しているか否かを判定する(S44)。ここでの判定実行条件は、以下の条件(8)~条件(11)の論理積が真である旨の条件とすればよい。
【0083】
条件(8):暖機が完了している旨の条件。
条件(9):上流側温度Tinが上昇傾向であり且つ前端側温度TFrが後端側温度TRr以上である旨の条件。
【0084】
条件(10):空燃比センサ81によって検出された空燃比が理論空燃比で運転が行われたことを示す既定の範囲内である旨の条件。
条件(11):再生処理の影響がない旨の判定が行われている旨の条件。
【0085】
なお、上流側温度Tinが上昇傾向であることは、S32の処理を通じて算出される短期移動平均値の微分値及び長期移動平均値の微分値との双方が既定値以上であることに基づいて判定される。なお、既定値の大きさは、これら微分値が既定値以上であることに基づいて上流側温度Tinが上昇している傾向を示していることを判定することができる大きさに設定すればよい。なお、既定値の値は必ずしも正の値でなくてよい。
【0086】
また、再生処理の影響がない旨の判定は、
図5に示すルーチンを通じて行われる。
図5は、再生後実行条件の判定処理の流れを示すフローチャートである。
このルーチンはエンジン10の運転中にエンジンコントロールユニット110によって繰り返し実行される。
図5に示すように、このルーチンを開始すると、エンジンコントロールユニット110は、再生処理実行中であるか否かを判定する(S70)。S70の処理において、再生処理実行中であると判定した場合(S70:YES)には、エンジンコントロールユニット110は、再生処理の影響があると判定する(S74)。そして、エンジンコントロールユニット110はこのルーチンを一旦終了させる。
【0087】
一方で、S70の処理において、再生処理実行中ではないと判定した場合(S70:NO)には、エンジンコントロールユニット110は、前回は再生処理実行中であったか否かを判定する(S72)。S72の処理において、前回も再生処理実行中ではなかった旨の判定をした場合(S72:NO)には、エンジンコントロールユニット110は、再生処理の影響がないと判定する(S86)。そして、エンジンコントロールユニット110はこのルーチンを一旦終了させる。
【0088】
S72の処理において、前回は再生処理実行中であった旨の判定をした場合(S72:YES)には、エンジンコントロールユニット110は、吸入空気量Gaが既定量Gath以上であるかを判定する(S76)。S76の処理において、吸入空気量Gaが既定量Gath以上であると判定した場合(S76:YES)には、エンジンコントロールユニット110は、計時カウンタTcntをインクリメントする(S78)。そして、エンジンコントロールユニット110は、計時カウンタTcntが閾値Tth以上であるか否かを判定する(S80)。
【0089】
S80の処理において、計時カウンタTcntが閾値Tth以上であると判定した場合(S80:YES)には、エンジンコントロールユニット110は、計時カウンタTcntを「0」にリセットする(S82)。そして、エンジンコントロールユニット110は、再生処理の影響がないと判定する(S86)。そして、エンジンコントロールユニット110はこのルーチンを一旦終了させる。
【0090】
一方で、S80の処理において、計時カウンタTcntが閾値Tth未満であると判定した場合(S80:NO)には、エンジンコントロールユニット110は、S76の処理に戻る。また、S76の処理において、吸入空気量Gaが既定量Gath未満であると判定した場合(S76:NO)には、エンジンコントロールユニット110は、計時カウンタTcntを「0」にリセットする(S84)。そして、エンジンコントロールユニット110は、S76の処理に戻る。
【0091】
このように、エンジンコントロールユニット110は、再生処理を実行したあと(S72:YES)は、S76~S84の処理を実行する。そして、吸入空気量Gaが既定量Gath以上である状態(S76:YES)が既定期間以上継続した場合(S80:YES)に再生処理の影響がなくなったと判定する(S86)。
【0092】
なお、閾値Tthの大きさ及び既定量Gathの大きさは、S76~S84の処理を通じて異常診断処理に悪影響を及ぼさない水準まで排気浄化装置の温度が低下したことを判定することができるように設定されていればよい。
【0093】
上述したように判定実行条件には、再生処理の影響がない旨の判定が行われている旨の条件が含まれている。すなわち、S86の処理による影響がなくなった旨の判定は、再生処理を実行した後の異常診断処理の実行条件である再生後実行条件になっている。
【0094】
図3に戻り、S44の処理において、判定実行条件が成立していると判定した場合(S44:YES)には、エンジンコントロールユニット110は、異常診断処理を実行する(S50)。一方で、S40~S44の処理において否定判定がなされた場合には、エンジンコントロールユニット110は、異常診断処理を実行せずにこのルーチンを一旦終了させる。
【0095】
<異常診断処理について>
次に、
図6を参照して異常診断処理の内容を説明する。
図6は異常診断処理にかかるルーチンの処理の流れを示すフローチャートである。エンジンコントロールユニット110は、異常診断処理が開始されると、このルーチンを繰り返し実行する。
【0096】
このルーチンを開始すると、エンジンコントロールユニット110は、中止条件が成立したか否かを判定する(S52)。中止条件は、異常診断処理の実行中に上流側温度Tinが上昇した旨の条件である。異常診断処理は、後述する判定期間内の間は繰り返し実行される。そのため、中止条件は、判定期間内に、上流側温度Tinが上昇した旨の条件である。なお、エンジンコントロールユニット110は、判定期間内に算出した第1変化量ΔTinが負の値ではないことに基づいて、上流側温度Tinが上昇していると判定する。
【0097】
中止条件が成立していないと判定した場合(S52:NO)には、エンジンコントロールユニット110は、判定期間内であるか否かを判定する(S54)。S54の処理において、判定期間内であると判定した場合(S54:YES)には、エンジンコントロールユニット110は、第2変化量ΔToutから第1変化量ΔTinを引いた差である差分Difを算出する(S56)。そして、エンジンコントロールユニット110は、差分Difの積算値ΣDifを算出する。具体的には、前回算出した積算値ΣDifに今回S56の処理を通じて算出した差分Difを加算する。そして、その和を新たな積算値ΣDifにすることによって積算値ΣDifを更新する。こうしてS56及びS58を通じてΣDifの算出を開始することにより、エンジンコントロールユニット110は、判定処理を開始する。なお、判定期間は、こうして判定処理を開始したときの上流側温度Tinから、上流側温度Tinが既定温度、たとえば25℃低下するまでの期間である。
【0098】
S58の処理を通じて積算値ΣDifを算出すると、エンジンコントロールユニット110は、このルーチンを一旦終了させる。このルーチンを繰り返し実行することにより、判定期間内の間に算出された差分Difが積算されて積算値ΣDifが更新される。
【0099】
図3を示して説明したように、異常診断処理は、フューエルカット運転中であることを条件(S42:YES)に実行される。そのため、異常診断処理が行われている間に上流側温度Tinは次第に低下する。上流側温度Tinが既定温度低下すると、S54の処理において、判定期間内ではないとの判定がなされる(S54:NO)。
【0100】
すると、エンジンコントロールユニット110は、判定パラメータXdを算出する(S60)。エンジンコントロールユニット110は、積算値ΣDifを差分Difを積算した回数で割る。エンジンコントロールユニット110は、こうして算出した商を判定パラメータXdにする。すなわち、判定パラメータXdは、判定期間内における第2変化量ΔToutから第1変化量ΔTinを引いた差である差分Difの平均値である。
【0101】
次に、エンジンコントロールユニット110は、判定パラメータXdが既定値Xthよりも大きいか否かを判定する(S62)。S62の処理において判定パラメータXdが既定値Xth以下であると判定した場合(S62:NO)には、エンジンコントロールユニット110は、異常判定を行う(S66)。
【0102】
より詳細には、S66の処理においてエンジンコントロールユニット110は、S62における判定結果に基づいてフューエルカット運転が行われているときの第1変化量ΔTinと第2変化量ΔToutとの乖離が閾値以下であることを判定する。そして、この判定結果に基づいて、エンジンコントロールユニット110は、排気浄化装置であるGPF34が排気通路30から取り外されている状態である旨の異常判定を行う。異常判定を行うと、エンジンコントロールユニット110は、このルーチンを終了させる。こうして異常診断処理は完了する。
【0103】
また、S62の処理において判定パラメータXdが既定値Xthより大きいと判定した場合(S62:YES)には、エンジンコントロールユニット110は、正常判定を行う(S64)。すなわち、エンジンコントロールユニット110は、S62における判定結果に基づいてフューエルカット運転が行われているときの、第1変化量ΔTinと第2変化量ΔToutとの乖離が閾値よりも大きいことを判定する。そして、この判定結果に基づいて、エンジンコントロールユニット110は、排気浄化装置であるGPF34が排気通路30から取り外されていない旨の正常判定を行う。正常判定を行った場合にも、エンジンコントロールユニット110は、このルーチンを終了させる。こうして異常診断処理は完了する。
【0104】
異常診断処理におけるS54~S66までの処理が、フューエルカット運転が行われているときの第1変化量ΔTinと、フューエルカット運転が行われているときの第2変化量ΔToutとの乖離が閾値以下であることを判定する判定処理に相当する。
【0105】
一方で、異常診断処理が完了する前に、S52の処理において中止条件が成立したと判定した場合(S52:YES)には、エンジンコントロールユニット110は、S54~S66の処理を行わずにこのルーチンを終了させる。すなわち、この場合には、エンジンコントロールユニット110は、判定処理を中断して異常処理を終了させる。
【0106】
<本実施形態の作用>
排気浄化装置が取り外されている場合には、排気浄化装置に導入されるガスと排気浄化装置との熱交換が行われないため、第1変化量ΔTinと第2変化量ΔToutとの乖離は小さい。
【0107】
これに対して、排気浄化装置が取り付けられている場合には、排気浄化装置に導入されるガスと排気浄化装置との熱交換により下流側温度Toutが変化するため、第1変化量ΔTinと第2変化量ΔToutとの乖離が大きくなる。
【0108】
そのため、第1変化量ΔTinと第2変化量ΔToutとの乖離が閾値以下であることに基づいて異常判定を行うことができる。
また、排気浄化装置に導入されるガスの温度と排気浄化装置の温度との乖離が大きいほどガスと排気浄化装置との熱交換が行われやすい。そのため、排気浄化装置が取り付けられている状態であれば、排気浄化装置に導入されるガスの温度と排気浄化装置の温度との乖離が大きいほど、第1変化量ΔTinと第2変化量ΔToutとの乖離が大きくなる。
【0109】
フューエルカット運転中は、燃焼室20を通過した空気が排気浄化装置に導入される。この空気は排気よりも温度が低い。そのため、フューエルカット運転中に排気浄化装置に導入される空気の温度と排気浄化装置の温度との乖離の大きさは、排気と排気浄化装置の温度との乖離の大きさよりも大きい。
【0110】
エンジンコントロールユニット110は、フューエルカット運転中であることを条件に(S42:YES)異常診断処理を実行している。そしてエンジンコントロールユニット110は、判定処理において、フューエルカット運転が行われているときの第1変化量ΔTinと、フューエルカット運転が行われているときの第2変化量ΔToutとの乖離が閾値以下であることを判定する。そして、乖離が閾値以下であることが判定されたときに異常判定が行われる(S62:YES,S66)。
【0111】
すなわち、エンジンコントロールユニット110によれば、第1変化量ΔTinと第2変化量ΔToutとの乖離の大きさが、排気浄化装置が取り付けられている場合と、取り外されている場合とで、大きく異なる状態において判定処理が実行される。
【0112】
また、フューエルカット運転中は、排気よりも温度が低く、且つ排気浄化装置よりも温度が低い空気が排気浄化装置に導入される。フューエルカット運転中に排気浄化装置に導入された空気は、排気浄化装置との熱交換によって暖められる。そのため、フューエルカット運転中は、下流側温度Toutは緩やかに低下する。そのため、フューエルカット運転中の第2変化量ΔToutは第1変化量ΔTinよりも絶対値の小さな負の値になる。したがって、排気浄化装置が取り付けられていれば、判定期間内における第2変化量ΔToutから第1変化量ΔTinを引いた差の平均値である判定パラメータXdは正の値になる。
【0113】
排気浄化装置が取り外されている場合には、空気と排気浄化装置との熱交換が行われないため、第2変化量ΔToutも絶対値の大きな負の値になる。そのため、判定パラメータXdは、排気浄化装置が取り付けられている場合よりも小さな正の値か、負の値になる。
【0114】
これにより、判定パラメータXdが既定値Xth以下であることに基づいて異常診断を行うことができる。
しかし、判定期間内に何らかの理由により上流側温度Tinが上昇した場合には、第1変化量ΔTinが正の値になる。この場合には、第2変化量ΔToutから第1変化量ΔTinを引いた差が大きな負の値になるため、判定パラメータXdが小さくなってしまう。
【0115】
また、上流側温度Tinが上昇すると、判定期間が長くなる。第1変化量ΔTin及び第2変化量ΔToutは次第に小さくなる。そのため、判定期間が長くなると、判定パラメータXdは、小さくなる。
【0116】
このように、判定期間内に上流側温度Tinが上昇すると、排気浄化装置が取り付けられていたとしても異常判定が行われやすくなってしまう。
これに対して、エンジンコントロールユニット110は、判定期間内に上流側温度Tinが上昇したと判定すると、中止条件が成立したと判定(S54:YES)して判定処理を中断する。これにより異常判定が行われることなく異常診断処理が終了する。
【0117】
再生処理を実行したあとは、排気浄化装置が高温になっている。また、粒子状物質の酸化反応が継続していることもある。このような状態で判定処理を実行すると、第2変化量ΔToutが不安定になり、的確な異常判定を行うことができないおそれがある。
【0118】
エンジンコントロールユニット110は、再生処理を実行したあとは、
図5を参照して説明したように、再生処理を終了させてから再生後実行条件が成立するまでの期間は判定処理を実行しない。すなわち、エンジンコントロールユニット110は、再生処理の影響を受けやすい終了直後の期間は判定処理を実行せずに異常判定を行わない。
【0119】
<本実施形態の効果>
(1)エンジンコントロールユニット110は、フューエルカット運転中であることを条件に異常診断処理を実行する。これによって、第1変化量ΔTinと第2変化量ΔToutとの乖離の大きさが、排気浄化装置が取り付けられている場合と、排気浄化装置が取り外されている場合とで、大きく異なる状態において判定処理が実行される。したがって、エンジンコントロールユニット110は、より高い精度の異常判定を実現できる。
【0120】
(2)判定実行条件には、「条件(9):上流側温度Tinが上昇傾向であり且つ前端側温度TFrが後端側温度TRr以上である旨の条件。」が含まれている。すなわち、エンジンコントロールユニット110は、上流側温度Tinが上昇傾向であることを条件に判定処理を開始する。
【0121】
フューエルカット運転中に排気浄化装置に導入された空気は、排気浄化装置との熱交換によって暖められる。
なお、上流側温度Tinが上昇しているときには、排気浄化装置が前端から導入される排気によって暖められているため、排気浄化装置には、前端側ほど温度が高くなり且つ後端側ほど温度が低くなる温度勾配が生じている蓋然性が高い。
【0122】
こうした後端側ほど温度が低くなる温度勾配が生じている場合には、後端側ほど温度が高くなる温度勾配が生じている場合や、温度勾配が生じていない場合と比較して、排気浄化装置に導入された空気が暖まりにくい。すなわち、後端側ほど温度が低くなる温度勾配が生じている場合には、後端側ほど温度が高くなる温度勾配が生じている場合や、温度勾配が生じていない場合と比較して、そもそも下流側温度Toutが低い。そのため、第2変化量ΔToutは小さい。一方で、フューエルカット運転中は、上流側温度Tinは、大気温度に向かって次第に低下する。そのため、フューエルカット運転中の第1変化量ΔTinは大きい。
【0123】
上述したように、排気浄化装置が取り外されている場合には、こうしたガスと排気浄化装置との熱交換が行われないため、第1変化量ΔTinと第2変化量ΔToutとの乖離は小さい。
【0124】
すなわち、エンジンコントロールユニット110は、排気浄化装置が取り付けられている場合に第1変化量ΔTinと第2変化量ΔToutとの乖離の大きさが大きくなりやすい状態のときに判定処理を開始する。ひいては、このエンジンコントロールユニット110は、第1変化量ΔTinと第2変化量ΔToutとの乖離の大きさが、排気浄化装置が取り付けられている場合と、排気浄化装置が取り外されている場合とで、大きく異なる状態において判定処理を実行する。そのため、このエンジンコントロールユニット110は、より高い精度の異常判定を実現できる。
【0125】
(3)上述したように、判定実行条件には、「条件(9):上流側温度Tinが上昇傾向であり且つ前端側温度TFrが後端側温度TRr以上である旨の条件。」が含まれている。すなわち、エンジンコントロールユニット110は、前端側温度TFrが後端側温度TRr以上であることを条件に判定処理を開始する。
【0126】
これによっても、エンジンコントロールユニット110は、排気浄化装置が取り付けられている場合に第1変化量ΔTinと第2変化量ΔToutとの乖離の大きさが大きくなりやすい状態のときに判定処理を開始するようになっている。したがって、エンジンコントロールユニット110は、高い精度の異常判定を実現できる。
【0127】
(4)上述したように、判定実行条件には、「条件(10):空燃比センサ81によって検出された空燃比が理論空燃比で運転が行われたことを示す既定の範囲内である旨の条件。」が含まれている。すなわち、エンジンコントロールユニット110は、空燃比センサ81によって検出された空燃比が既定の範囲内であることを条件に判定処理を開始する。
【0128】
排気浄化装置に導入されるガスに燃料の成分が含まれていると、排気浄化装置内で燃料の成分が酸化反応を生じさせてその反応熱で下流側温度Toutが変化するおそれがある。こうした要因による下流側温度Toutの変動があると、的確な異常判定を行うことができない。
【0129】
そこで、このエンジンコントロールユニット110は、空燃比センサ81で検出された空燃比が既定の範囲外になっている場合には、判定処理を実行しない。
これにより、エンジンコントロールユニット110は、的確な異常判定を行うことができないおそれがあるときに、判定処理を実行してしまうことを抑制できる。
【0130】
(5)上述したように、判定期間内に上流側温度Tinが上昇すると、排気浄化装置が取り付けられていたとしても異常判定が行われやすくなってしまう。
これに対して、エンジンコントロールユニット110は、判定期間内に上流側温度Tinが上昇した場合には、判定処理を中断する。これにより、このエンジンコントロールユニット110は、誤った異常判定がなされることを抑制できる。
【0131】
(6)上述したように、判定実行条件には「条件(11):再生処理の影響がない旨の判定が行われている旨の条件。」が含まれている。すなわち、エンジンコントロールユニット110は、再生処理を実行したあとは、再生処理を終了させてから再生後実行条件が成立するまでの期間は判定処理を実行しない。エンジンコントロールユニット110は、こうして再生処理の影響を受けやすい終了直後の期間は判定処理を実行しない。これによって異常判定を行わない。そのため、エンジンコントロールユニット110は、誤った異常診断がなされることを抑制できる。
【0132】
(7)再生処理が終了してから機関運転がある程度継続されれば、排気浄化装置や排気通路30の温度が排気温度に近い温度に収束する。また、排気浄化装置における粒子状物質の酸化反応も収束する。すなわち、再生処理の影響が判定処理に及ばなくなる。
【0133】
そこで、エンジンコントロールユニット110は、上述したように、再生処理が終了してから吸入空気量Gaが既定量Gath以上の状態(S76:YES)での機関運転が既定期間以上継続した場合(S80:YES)に、再生後実行条件が成立したと判定する。こうした態様によって、再生処理の影響が判定処理に及ばなくなったときに、判定処理を開始することができる。
【0134】
<変更例>
本実施形態は、以下のように変更して実施することができる。本実施形態及び以下の変更例は、技術的に矛盾しない範囲で互いに組み合わせて実施することができる。
【0135】
・判定実行条件に、上流側温度Tinが上昇傾向であることを含む例を示したが、判定実行条件は上記の実施形態で例示したものに限らない。たとえば、上流側温度Tinが上昇傾向であることを判定実行条件にしなくてもよい。
【0136】
・また、上流側温度Tinが上昇傾向であることを判定するための条件は、長期移動平均値と短期移動平均値とを用いる方法に限らない。たとえば、2種類の移動平均値ではなく、1種類の移動平均値のみを用いて、その移動平均値の微分値が正であることに基づいて上昇傾向であると判定するようにしてもよい。
【0137】
・前端側温度TFrと後端側温度TRrとを比較して前端側温度TFrの方が高いことを判定実行条件の一つにする例を示したが、これを省略してもよい。
・上流側温度Tinが上昇傾向であることと、前端側温度TFrが後端側温度TRrよりも高いこととの論理和条件を判定実行条件の1つにする例を示した。これに対して、上流側温度Tinが上昇傾向であること、前端側温度TFrが後端側温度TRrよりも高いことのいずれか一方を判定実行条件の1つにするようにしてもよい。
【0138】
・判定実行条件の1つに、「条件(10):空燃比センサ81によって検出された空燃比が理論空燃比で運転が行われたことを示す既定の範囲内である旨の条件。」を含めた例を示した。判定実行条件は適宜変更可能である。たとえば、条件(10)を省略してもよい。
【0139】
・判定期間内に算出した第1変化量ΔTinが負の値ではないことに基づいて、上流側温度Tinが上昇していると判定して判定処理を中断する例を示したが、これに限らない。たとえば、第1変化量ΔTinが正の値になったときに、上流側温度Tinが上昇していると判定するようにしてもよい。
【0140】
・再生処理を実行したあとは、再生後実行条件が成立するまで判定処理を実行しないようにしたが、これを省略してもよい。
・再生処理が終了してから吸入空気量Gaが既定量Gath以上の状態での機関運転が既定期間以上継続した場合に、再生後実行条件が成立したと判定する例を示したが、これに限らない。たとえば、再生処理が終了してから一定の時間が経過したら再生後実行条件が成立したと判定してもよい。
【0141】
・再生処理の実行を許可する所定の条件としては、上記実施形態において例示したものに限らない。たとえば、上記条件(1)~条件(3)の3つの条件に関しては、それらのうちの2つのみを含んでもよく、またたとえば1つのみを含んでもよい。なお、所定の条件に上記3つの条件以外の条件が含まれてもよく、また上記3つの条件のいずれも含まなくてもよい。
【0142】
・堆積量DPMの推定処理としては、
図2において例示したものに限らない。たとえば、GPF34の上流側と下流側との圧力の差と吸入空気量Gaとに基づき堆積量DPMを推定してもよい。具体的には、圧力の差が大きい場合に小さい場合よりも堆積量DPMを大きい値に推定し、圧力の差が同一であっても、吸入空気量Gaが小さい場合に大きい場合よりも堆積量DPMを大きい値に推定すればよい。ここで、GPF34の下流側の圧力を一定値とみなす場合、差圧に代えて上記圧力Pexを用いることができる。
【0143】
・排気通路30における三元触媒32とGPF34のレイアウトは、GPF34が三元触媒32の上流側に設けられているレイアウトであってもよい。
・GPF34としては、三元触媒が担持されたフィルタに限らず、フィルタのみであってもよい。また、GPF34としては、排気通路30のうちの三元触媒32の下流に設けられるものに限らない。また、GPF34を備えること自体必須ではない。たとえば排気浄化装置が三元触媒32のみからなる場合であっても、上述したように、三元触媒32の暖機のため停止処理を実行することがあり得る。排気浄化装置が取りはずれている状態であるか否かを異常診断処理を通じて判定するものであればよい。
【0144】
・S24のトルク補償処理を実行しない車両であってもよい。
・S22の停止処理は、停止気筒以外の気筒における空燃比のリッチ化を含んでいなくてもよい。たとえば、GPF34の再生処理の場合、GPF温度が十分高くなり、酸素を供給すれば、粒子状物質の燃焼が生じる状態になっていれば、停止処理においてリッチ化を行わなくても燃焼を継続させて再生を進行させることができる。
【0145】
・エンジンコントロールユニット110としては、処理回路とメモリとを備えて、ソフトウェア処理を実行するものに限らない。たとえば、上記実施形態においてソフトウェア処理されたものの少なくとも一部を、ハードウェア処理するたとえばASIC等の専用のハードウェア回路を備えてもよい。すなわち、エンジンコントロールユニット110は、以下の(a)~(c)のいずれかの構成であればよい。(a)上記処理の全てを、プログラムに従って実行する処理装置と、プログラムを記憶するROM等のプログラム格納装置とを備える。(b)上記処理の一部をプログラムに従って実行する処理装置及びプログラム格納装置と、残りの処理を実行する専用のハードウェア回路とを備える。(c)上記処理の全てを実行する専用のハードウェア回路を備える。ここで、処理装置及びプログラム格納装置を備えたソフトウェア実行装置や、専用のハードウェア回路は複数であってもよい。
【0146】
・車両としては、シリーズ・パラレルハイブリッド車に限らず、たとえばパラレルハイブリッド車やシリーズハイブリッド車であってもよい。もっとも、ハイブリッド車に限らず、たとえば、車両の動力発生装置がエンジン10のみの車両であってもよい。
【0147】
・エンジン10が、4つの気筒を備えた直列4気筒エンジンである例を示したが、エンジンコントロールユニット110が制御するエンジン10は、これに限られるものではない。すなわち、エンジン10は、4気筒エンジンに限らない。また、エンジン10は、バンクごとに排気浄化装置が設けられるV型エンジン、水平対向型エンジンあるいはW型エンジンであってもよい。この場合、停止処理は、1サイクル中にバンクの各々で少なくとも1つの気筒への燃料供給が停止されるように構築されるとよい。これにより、V型エンジンなどの各バンクの排気浄化装置に十分な酸素を送り込むことが可能となる。
【0148】
・なお、本明細書において使用される「少なくとも1つ」という表現は、所望の選択肢の「1つ以上」を意味する。一例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が2つであれば「1つの選択肢のみ」または「2つの選択肢の双方」を意味する。他の例として、本明細書において使用される「少なくとも1つ」という表現は、選択肢の数が3つ以上であれば「1つの選択肢のみ」または「2つ以上の任意の選択肢の組み合わせ」を意味する。
【符号の説明】
【0149】
10…エンジン
12…吸気通路
14…スロットルバルブ
16…ポート噴射弁
20…燃焼室
22…筒内噴射弁
26…クランク軸
30…排気通路
32…三元触媒
34…GPF
52…第1モータジェネレータ
54…第2モータジェネレータ
60…駆動輪
80…エアフローメータ
81…空燃比センサ
82…クランク角センサ
87…上流側温度センサ
89…下流側温度センサ
90…第1回転角センサ
92…第2回転角センサ
100…統括コントロールユニット
101…アクセルポジションセンサ
110…エンジンコントロールユニット
130…モータコントロールユニット
500…制御装置