図1は、本発明の実施例としてのエンジン装置を搭載するハイブリッド自動車20の構成の概略を示す構成図であり、図2は、エンジン装置としてのエンジン22や燃料供給装置60の構成の概略を示す構成図である。実施例のハイブリッド自動車20は、図1に示すように、エンジン22と、燃料供給装置60と、プラネタリギヤ30と、モータMG1,MG2と、インバータ41,42と、バッテリ50と、ハイブリッド用電子制御ユニット(以下、「HVECU」という)70と、を備える。
エンジン22は、ガソリンや軽油などの燃料を用いて動力を出力する内燃機関として構成されている。図2に示すように、エンジン22は、吸気ポートに燃料を噴射するポート噴射弁125と、筒内に燃料を噴射する筒内噴射弁126と、を有する。エンジン22は、ポート噴射弁125と筒内噴射弁126とを有することにより、ポート噴射モードと筒内噴射モードと共用噴射モードとのいずれかで運転が可能となっている。ポート噴射モードでは、エアクリーナ122によって清浄された空気をスロットルバルブ124を介して吸入すると共にポート噴射弁125から燃料を噴射して空気と燃料とを混合する。そして、この混合気を吸気バルブ128を介して燃焼室に吸入し、点火プラグ130による電気火花によって爆発燃焼させて、そのエネルギによって押し下げられるピストン132の往復運動をクランクシャフト26の回転運動に変換する。筒内噴射モードでは、ポート噴射モードと同様に空気を燃焼室に吸入し、吸気行程の途中あるいは圧縮行程に至ってから筒内噴射弁126から燃料を噴射し、点火プラグ130による電気火花によって爆発燃焼させてクランクシャフト26の回転運動を得る。共用噴射モードでは、空気を燃焼室に吸入する際にポート噴射弁125から燃料を噴射すると共に吸気行程や圧縮行程で筒内噴射弁126から燃料を噴射し、点火プラグ130による電気火花によって爆発燃焼させてクランクシャフト26の回転運動を得る。これらの噴射モードは、エンジン22の運転状態に基づいて切り替えられる。燃焼室からの排気は、一酸化炭素(CO)や炭化水素(HC),窒素酸化物(NOx)の有害成分を浄化する浄化触媒(三元触媒)を有する浄化装置134を介して外気に排出される。
図2に示すように、燃料供給装置60は、エンジン22のポート噴射弁125および筒内噴射弁126に燃料を供給する装置として構成されている。燃料供給装置60は、燃料タンク61と、燃料タンク61の燃料をポート噴射弁125が接続された低圧側通路(第1通路)63に供給するフィードポンプ(第1ポンプ)62と、低圧側通路63に設けられた逆止弁64と、低圧側通路63における逆止弁64よりもポート噴射弁125側の燃料を加圧して筒内噴射弁126が接続された高圧側通路(第2通路)66に供給する高圧燃料ポンプ(第2ポンプ)65と、を備える。
フィードポンプ62および逆止弁64は、燃料タンク61内に配置されている。フィードポンプ62は、バッテリ50からの電力の供給を受けて作動する電動ポンプとして構成されている。逆止弁64は、低圧側通路63におけるフィードポンプ62側の燃圧(燃料の圧力)がポート噴射弁125側の燃圧よりも高いときには開弁し、フィードポンプ62側の圧力がポート噴射弁125側の燃圧以下のときには閉弁する。
高圧燃料ポンプ65は、エンジン22からの動力(カムシャフトの回転)によって駆動されて低圧側通路63内の燃料を加圧するポンプである。高圧燃料ポンプ65は、その吸入口に接続されて燃料を加圧する際に開閉する電磁バルブ65aと、その吐出口に接続されて燃料の逆流を防止すると共に高圧側通路66内の燃圧を保持するチェックバルブ65bと、を有する。この高圧燃料ポンプ65は、エンジン22の運転中に電磁バルブ65aが開弁されると、フィードポンプ62からの燃料を吸入し、電磁バルブ65aが閉弁されたときに、エンジン22からの動力によって作動する図示しないプランジャによって圧縮した燃料をチェックバルブ65bを介して高圧側通路66に断続的に送り込むことにより、高圧側通路66に供給する燃料を加圧する。なお、高圧燃料ポンプ65の駆動時には、低圧側通路63内の燃圧や高圧側通路66内の燃圧がエンジン22の回転(カムシャフトの回転)に応じて脈動する。
エンジン22および燃料供給装置60は、エンジン用電子制御ユニット(以下、「エンジンECU」という)24によって運転制御されている。エンジンECU24は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。
エンジンECU24には、エンジン22を運転制御したり燃料供給装置60を制御したりするのに必要な各種センサからの信号が入力ポートを介して入力されている。エンジンECU24に入力される信号としては、例えば、クランクシャフト26の回転位置を検出するクランクポジションセンサ140からのクランクポジションθcrや、エンジン22の冷却水の温度を検出する水温センサ142からの冷却水温Twを挙げることができる。また、吸気バルブ128を開閉するインテークカムシャフトや排気バルブを開閉するエキゾーストカムシャフトの回転位置を検出するカムポジションセンサ144からのカムポジションθcaも挙げることができる。さらに、スロットルバルブ124のポジションを検出するスロットルバルブポジションセンサ146からのスロットル開度THや、吸気管に取り付けられたエアフローメータ148からの吸入空気量Qa,吸気管に取り付けられた温度センサ149からの吸気温Taも挙げることができる。加えて、排気管の浄化装置134の前段に取り付けられた第1空燃比センサ135aからの空燃比AF1や、排気管の浄化装置134の後段に取り付けられた第2空燃比センサ135bからの空燃比AF2、浄化装置134に取り付けられた温度センサ135cからの触媒温度Tcも挙げることができる。実施例では、第1空燃比センサ135aと第2空燃比センサ135bについては、酸素濃度センサを用い、排ガス中の酸素濃度に対応する検出信号を空燃比AF1,AF2に対応させて検出するものとした。また、燃料供給装置60のフィードポンプ62に取り付けられた回転数センサ62aからのフィードポンプ62の回転数Nfpや、低圧側通路63におけるポート噴射弁125付近に取り付けられた燃圧センサ68からのポート噴射弁125に供給する燃料の燃圧Pfp,高圧側通路66における筒内噴射弁126付近に取り付けられた燃圧センサ69からの筒内噴射弁126に供給する燃料の燃圧Pfdも挙げることができる。
エンジンECU24からは、エンジン22を運転制御したり燃料供給装置60を制御したりするための各種制御信号が出力ポートを介して出力されている。エンジンECU24から出力される信号としては、例えば、ポート噴射弁125への駆動信号や筒内噴射弁126への駆動信号,スロットルバルブ124のポジションを調節するスロットルモータ136への駆動信号,イグナイタと一体化されたイグニッションコイル138への制御信号を挙げることができる。また、フィードポンプ62への駆動制御信号,高圧燃料ポンプ65の電磁バルブ65aへの駆動制御信号も挙げることができる。
エンジンECU24は、HVECU70と通信ポートを介して接続されている。エンジンECU24は、クランクポジションセンサ140からのクランク角θcrに基づいてエンジン22の回転数Neを演算している。なお、エンジン装置としては、エンジン22と燃料供給装置60とエンジンECU24とが該当する。
図1に示すように、プラネタリギヤ30は、シングルピニオン式の遊星歯車機構として構成されている。プラネタリギヤ30のサンギヤには、モータMG1の回転子が接続されている。プラネタリギヤ30のリングギヤには、駆動輪39a,39bにデファレンシャルギヤ38を介して連結された駆動軸36が接続されている。プラネタリギヤ30のキャリヤには、ダンパ28を介してエンジン22のクランクシャフト26が接続されている。
モータMG1は、例えば同期発電電動機として構成されており、上述したように、回転子がプラネタリギヤ30のサンギヤに接続されている。モータMG2は、例えば同期発電電動機として構成されており、回転子が駆動軸36に接続されている。インバータ41,42は、モータMG1,MG2と接続されると共に電力ライン54を介してバッテリ50と接続されている。モータMG1,MG2は、モータ用電子制御ユニット(以下、「モータECU」という)40によって、インバータ41,42の図示しない複数のスイッチング素子がスイッチング制御されることにより、回転駆動される。
モータECU40は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。モータECU40には、モータMG1,MG2を駆動制御するのに必要な各種センサからの信号、例えば、モータMG1,MG2の回転子の回転位置を検出する回転位置検出センサ43,44からの回転位置θm1,θm2,モータMG2の温度を検出する温度センサからのモータMG2の温度tm2などが入力ポートを介して入力されている。モータECU40からは、インバータ41,42の図示しない複数のスイッチング素子へのスイッチング制御信号などが出力ポートを介して出力されている。モータECU40は、HVECU70と通信ポートを介して接続されている。モータECU40は、回転位置検出センサ43,44からのモータMG1,MG2の回転子の回転位置θm1,θm2に基づいてモータMG1,MG2の回転数Nm1,Nm2を演算している。
バッテリ50は、例えばリチウムイオン二次電池やニッケル水素二次電池として構成されており、電力ライン54を介してインバータ41,42と接続されている。このバッテリ50は、バッテリ用電子制御ユニット(以下、「バッテリECU」という)52によって管理されている。
バッテリECU52は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。バッテリECU52には、バッテリ50を管理するのに必要な各種センサからの信号が入力ポートを介して入力されている。バッテリECU52に入力される信号としては、例えば、バッテリ50の端子間に設置された電圧センサ51aからの電池電圧Vbやバッテリ50の出力端子に取り付けられた電流センサ51bからの電池電流Ib,バッテリ50に取り付けられた温度センサ51cからの電池温度Tbを挙げることができる。バッテリECU52は、HVECU70と通信ポートを介して接続されている。バッテリECU52は、電流センサ51bからの電池電流Ibの積算値に基づいて蓄電割合SOCを演算している。蓄電割合SOCは、バッテリ50の全容量に対するバッテリ50から放電可能な電力の容量の割合である。
HVECU70は、図示しないが、CPUを中心とするマイクロプロセッサとして構成されており、CPUの他に、処理プログラムを記憶するROM,データを一時的に記憶するRAM,入出力ポート,通信ポートを備える。HVECU70には、各種センサからの信号が入力ポートを介して入力されている。HVECU70に入力される信号としては、例えば、イグニッションスイッチ80からのイグニッション信号や、シフトレバー81の操作位置を検出するシフトポジションセンサ82からのシフトポジションSPを挙げることができる。また、アクセルペダル83の踏み込み量を検出するアクセルペダルポジションセンサ84からのアクセル開度Accや、ブレーキペダル85の踏み込み量を検出するブレーキペダルポジションセンサ86からのブレーキペダルポジションBP,車速センサ88からの車速Vも挙げることができる。HVECU70は、上述したように、エンジンECU24,モータECU40,バッテリECU52と通信ポートを介して接続されている。
こうして構成された実施例のハイブリッド自動車20では、アクセル開度Accと車速Vとに基づいて駆動軸36の要求駆動力を設定し、要求駆動力に見合う要求動力が駆動軸36に出力されるように、エンジン22とモータMG1,MG2とを運転制御する。エンジン22とモータMG1,MG2とを用いて走行する走行モードとしては、エンジン22の運転を停止してモータMG2からの動力により走行するモータ走行モードと、エンジン22を運転してエンジン22からの動力とモータMG1,MG2からの動力により走行するハイブリッド走行モードとがある。
次に、こうして構成された実施例のハイブリッド自動車20に搭載されたエンジン装置の動作、特にエミッションの悪化を抑制するための動作について説明する。エンジン22の燃料噴射制御は、基本的にはエアフローメータ148からの吸入空気量Qaと温度センサ149からの吸気温Taとに基づいて理論空燃比となるように基本燃料噴射量τ0を求め、この基本燃料噴射量τ0に各種補正係数を乗じて実行用燃料噴射量τを計算し、ポート噴射弁125や筒内噴射弁126から実行用燃料噴射量τが噴射されるようにその開弁時間を設定することなどにより行なわれる。そして、第1空燃比センサ135aにより検出される空燃比AF1に基づいてフィードバック制御される。実施例のエンジン装置では、浄化装置134から未燃焼燃料(HC)や一酸化炭素(CO)が排出されたときは、空燃比をリーン側に補正してエンジン22を運転すれば、比較的短時間で未燃焼燃料(HC)や一酸化炭素(CO)の排出を停止することができるが、浄化装置134から窒素酸化物(NOx)が排出されたときは、空燃比をリッチ側に補正してエンジンを運転しても、ある程度の時間に亘って窒素酸化物(NOx)が排出されてしまう。実施例では、こうした現象を考慮し、エミッションの悪化を抑制する燃料噴射制御が実行される。図3は、エンジン22が運転されている最中にエンジンECU24により実行される燃料噴射量補正処理ルーチンの一例を示すフローチャートである。このルーチンは、所定時間毎(例えば、数msec毎や数十msec毎など)に繰り返し実行される。
燃料噴射量補正処理ルーチンが実行されると、エンジンECU24は、まず、エンジン22への燃料をカットしている最中であるか否かを判定し(ステップS100)、燃料カット中であると判定したときに、リーン補正実行フラグFに値0をセットして(ステップS150)、本ルーチンを終了する。リーン補正実行フラグFは、このルーチンにより設定されるものであり、燃料噴射量を理論空燃比からリーン側に補正するリーン補正を実行しているときに値1が設定され、リーン補正を実行していないとき(燃料カット中とリッチ補正を実行しているとき)に値0が設定される。燃料カット中にリーン補正実行フラグFに値0を設定するのは、燃料カット中は空気が浄化装置134に供給されるため、浄化装置134の浄化触媒はリーン雰囲気になっており、燃料カットを解除した直後はリッチ補正するのが好ましいからである。なお、リッチ補正は、実施例では、燃料噴射量を理論空燃比からリッチ側に補正することを意味している。
ステップS100で燃料カット中ではないと判定すると、リーン補正実行フラグFが値0であるか否かを判定する(ステップS110)。リーン補正実行フラグFが値0であると判定したときには、第2空燃比センサ135bからの空燃比AF2を入力し(ステップS120)、入力した空燃比AF2がリッチ側閾値AFref1以上であるか否かを判定する(ステップS130)。リッチ側閾値AFref1は、理論空燃比(14.6)より僅かに小さい値であり、例えば14.55などを用いることができる。空燃比AF2がリッチ側閾値AFref1以上であると判定したときにはリッチ補正を実行し(ステップS140)、リーン補正実行フラグFに値0をセットして(ステップS150)、本ルーチンを終了する。したがって、空燃比AF2がリッチ側閾値AFref1以上である最中は継続してリッチ補正が行なわれることになる。
ステップS130で空燃比AF2がリッチ側閾値AFref1未満であると判定したときには、リッチ補正に代えてリーン補正を実行し(ステップS170)、リーン補正実行フラグFに値1をセットして(ステップS180)、本ルーチンを終了する。この場合、次回このルーチンが実行されたときには、ステップS110でリーン補正実行フラグFは値0ではないと判定され、リーン補正の実行を開始してから浄化装置134の触媒に吸蔵された酸素量(酸素吸蔵量)が所定値に至ったかを判定する(ステップS160)。酸素吸蔵量が所定値に至ったか否かの判定は、リーン補正時の吸入空気量の積算値に補正係数を乗じることなどにより行なうことができる。リーン側閾値AFref2は、理論空燃比(14.6)より僅かに大きい値であり、例えば14.65などを用いることができる。リーン補正の実行を開始してから触媒の酸素吸蔵量が所定値に至っていないと判定したときには、リーン補正を継続して実行し(ステップS170)、リーン補正実行フラグFに値1をセットして(ステップS180)、本ルーチンを終了する。一方、ステップS160でリーン補正の実行を開始してから触媒の酸素吸蔵量が所定値に至ったと判定したときには、リーン補正に代えてリッチ補正を実行し(ステップS140)、リーン補正実行フラグFに値0をセットして(ステップS150)、本ルーチンを終了する。
図4は、実施例の燃料噴射量補正処理ルーチンを繰り返し実行したときの空燃比AF2と燃料補正とエミッションの時間変化の一例を示す説明図である。リッチ補正を継続して実行することにより空燃比AF2がリッチ側閾値AFref1を跨いでリッチ側閾値AFref1未満に至った時間T1(時間T3)でリッチ補正に代えてリーン補正が実行される。このとき、僅かではあるが浄化装置134から未燃焼燃料(HC)や一酸化炭素(CO)が排出されることもあるが、リッチ側閾値AFref1は理論空燃比(ストイキ)から僅かにリッチ側であるため、通常は浄化装置134から未燃焼燃料(HC)や一酸化炭素(CO)が排出されない。図4では、解りやすいようにするために僅かに排出される場合を模式的に示した。リーン補正の実行が開始されてから触媒の酸素吸蔵量が所定値に至った時間T2(時間T4)でリーン補正に代えてリッチ補正が実行される。リーン補正を時間T1から時間T2の間の時間に亘って継続して実行しても、触媒の酸素吸蔵量が所定値に至っただけで浄化装置134からは窒素酸化物(NOx)は排出されることはない。
上述した図3の燃料噴射量補正処理ルーチンを実行すると、浄化装置134の浄化触媒は、基本的にリッチ雰囲気となる。浄化装置134の機能を十分に発揮させるために、定期的に浄化装置134の浄化触媒をリーン雰囲気にする必要がある。図5は、こうした浄化触媒の調整を行なうためにエンジンECU24により実行される触媒調整処理ルーチンの一例を示すフローチャートである。このルーチンは、所定時間毎(例えば、数msec毎や数十msec毎)に繰り返し実行される。
触媒調整処理ルーチンが実行されると、エンジンECU24は、まず、空燃比センサ135bが正常に機能する状態にあるか否かを判定する(ステップS200)。この判定は、空燃比センサ135bからの信号ラインに断線が生じていないことや、空燃比センサ135bからの信号が特定の値に固着していないこと、空燃比センサ135bが機能可能な温度状態にあることなどにより判定する。
ステップS200で空燃比センサ135bが正常に機能する状態にあると判定したときには、リーン時積算空気量Qleanの計算処理(ステップS210)、リッチ時積算空気量Qrichの計算処理(ステップS220)、カウンタCのカウンタ処理(ステップS230)を実行し、空燃比センサ135bが正常に機能する状態にないと判定したときには、リーン時積算空気量Qleanやリッチ時積算空気量Qrich、カウンタCを全て値0にリセットする(ステップS240)。リーン時積算空気量Qleanは、空燃比センサ135bからの空燃比AF2がリーン側閾値AFref2以上のときの吸入空気量の積算値であり、図6に例示するリーン時積算空気量計算処理ルーチンにより計算される。リッチ時積算空気量Qrichは、空燃比センサ135bからの空燃比AF2がリッチ側閾値AFref1未満のときの吸入空気量の積算値であり、図7に例示するリッチ時積算空気量計算処理ルーチンにより計算される。カウンタCは、エンジン22が運転中に空燃比AF2がリッチ側閾値AFref1未満になった回数であり、図8に例示するカウンタ処理ルーチンにより設定される。説明の容易のために、触媒調整処理の説明を中断し、図6〜図8を用いてリーン時積算空気量Qleanの計算処理、リッチ時積算空気量Qrichの計算処理、カウンタCのカウンタ処理について説明する。
リーン時積算空気量Qleanの計算処理は、図6に例示するリーン時積算空気量計算処理ルーチンに示すように、まず、空燃比センサ135bからの空燃比AF2を入力し(ステップS300)、エンジン22の運転状態として燃料カット中であるか否かを判定する(ステップS310)。燃料カット中であると判定したときには、補正係数kに燃料カット中の値k1を設定し(ステップS320)、燃料カット中ではないと判定したときには、補正係数kに値k1より小さい値k2を設定する(ステップS330)。ここで、補正係数kは、燃料カット中と燃料カット中ではないときの排ガス中の空気量を反映するものであり、例えば、k1=1.0、k2=0.2などを用いることができる。続いて、空燃比AF2がリッチ側閾値AFref1未満であるか否かを判定する(ステップS340)。空燃比AF2がリッチ側閾値AFref1未満であると判定したときには、リーン時積算空気量Qleanを値0にクリアして(ステップS360)、本ルーチンを終了する。空燃比AF2がリッチ側閾値AFref1以上であると判定したときには、空燃比AFがリーン側閾値AFref2以上であるか否かを判定する(ステップS350)。空燃比AFがリーン側閾値AFref2以上であると判定したときには、そのときのリーン時積算空気量Qleanに補正係数kに吸入空気量Qaを乗じたものを加えて新たなリーン時積算空気量Qleanとし(ステップS370)、本ルーチンを終了する。一方、空燃比AFがリーン側閾値AFref2未満であると判定したときには、そのときのリーン時積算空気量Qleanを保持して(ステップS380)、本ルーチンを終了する。
リッチ時積算空気量Qrichの計算処理は、図7に例示するリッチ時積算空気量計算処理ルーチンに示すように、まず、空燃比センサ135bからの空燃比AF2を入力し(ステップS400)、空燃比AF2がリーン側閾値AFref2以上であるか否か(ステップS410)、リーン時積算空気量Qleanが閾値Qref2以上であるか否か(ステップS420)、を判定する。閾値Qref2は、浄化装置134の後段で検出した空燃比AF2がリーン側閾値AFref2以上のときに浄化触媒が完全にリーン雰囲気になる程度の吸入空気量の積算値であり、実験などにより予め定めることができる。空燃比AF2がリーン側閾値AFref2以上であり、且つ、リーン時積算空気量Qleanが閾値Qref2以上であると判定したときには、リッチ時積算空気量Qrichを値0にクリアして(ステップS450)、本ルーチンを終了する。空燃比AF2がリーン側閾値AFref2未満であったり、リーン時積算空気量Qleanが閾値Qref2未満であるときには、空燃比AF2がリッチ側閾値AFref1未満であるか否かを判定する(ステップS430)。空燃比AF2がリッチ側閾値AFref1未満であると判定したときには、そのときのリッチ時積算空気量Qrichに吸入空気量Qaを加えて新たなリッチ時積算空気量Qrichとし(ステップS460)、本ルーチンを終了する。一方、空燃比AFがリッチ側閾値AFref1未満であると判定したときには、そのときのリッチ時積算空気量Qrichを保持して(ステップS470)、本ルーチンを終了する。
カウンタCのカウンタ処理は、図8に例示するカウンタ処理ルーチンに示すように、まず、空燃比センサ135bからの空燃比AF2を入力し(ステップS500)、空燃比AF2がリーン側閾値AFref2以上であるか否か(ステップS510)、リーン時積算空気量Qleanが閾値Qref2以上であるか否か(ステップS520)、を判定する。空燃比AF2がリーン側閾値AFref2以上であり、且つ、リーン時積算空気量Qleanが閾値Qref2以上であると判定したときには、カウンタCを値0にクリアして(ステップS530)、本ルーチンを終了する。空燃比AF2がリーン側閾値AFref2未満であったり、リーン時積算空気量Qleanが閾値Qref2未満であるときには、空燃比AF2がリッチ側閾値AFref1未満であるか否か(ステップS540)、前回このルーチンを実行したときの空燃比AF2がリッチ側閾値AFref1以上であるか否か(ステップS550)、エンジン22は運転中であるか否か(ステップS560)、を判定する。これらの判定は、エンジン22が運転中に空燃比AF2がリッチ側閾値AFref1未満になったときを判定するものとなり、また、図3の燃料噴射量補正処理ルーチンによりリッチ補正からリーン補正に切り替わったときを判定するものとなる。空燃比AF2がリッチ側閾値AFref1未満であると共に前回このルーチンを実行したときの空燃比AF2がリッチ側閾値AFref1以上であり、且つ、エンジン22は運転中であるときには、カウンタCを値1だけインクリメントして(ステップS570)、本ルーチンを終了する。一方、空燃比AF2がリッチ側閾値AFref1以上であったり、前回このルーチンを実行したときの空燃比AF2がリッチ側閾値AFref1未満であったり、エンジン22が間欠停止中であるときには、そのときのカウンタCを保持して(ステップS580)、本ルーチンを終了する。
触媒調整処理の説明に戻る。こうしてリーン時積算空気量Qleanやリッチ時積算空気量Qrich、カウンタCを計算すると、温度センサ135cからの触媒温度Tcを入力し(ステップS250)、カウンタCが閾値Cref以上であり、リッチ時積算空気量Qrichが閾値Qref1以上であり、更に触媒温度Tcが閾値Tref未満であるか否かを判定する(ステップS260)。ここで、閾値Trefは、触媒の劣化を抑制するために燃料カットを禁止する必要がある触媒の温度やその温度より若干低い温度を用いることができ、触媒に応じて定めることができ、例えば800℃や900℃などを用いることができる。カウンタCが閾値Cref以上であり、リッチ時積算空気量Qrichが閾値Qref1以上であり、更に触媒温度Tcが閾値Tref未満であるときには、浄化触媒を一旦リーン雰囲気にする必要があると判断し、燃料カットを要求して(ステップS270)、本ルーチンを終了する。燃料カットを要求すると、燃料カットの実行条件が成立したときに燃料カットが行なわれ、浄化装置134に空気が供給され、浄化触媒がリーン雰囲気になる。一方、カウンタCが閾値Cref未満であったり、リッチ時積算空気量Qrichが閾値Qref1未満であったり、触媒温度Tcが閾値Tref以上のときには、燃料カットの要求をクリアして(ステップS280)、本ルーチンを終了する。
以上説明した実施例のエンジン装置では、浄化装置134の後段に取り付けられた空燃比センサ135bからの空燃比AF2がリッチ側閾値AFref1未満に至るまで燃料噴射量をリッチ補正し、空燃比AF2がリッチ側閾値AFref1未満に至ったときには空燃比AF2がリーン側閾値AFref2以上にならない程度(酸素吸蔵量が所定値以上となる程度)だけリーン補正を行ない、再び、空燃比AF2がリッチ側閾値AFref1未満に至るまで燃料噴射量をリッチ補正する。これにより、窒素酸化物(NOx)の排出を抑制することができ、エミッションの悪化を抑制することができる。また、カウンタCにより空燃比AF2がリッチ側閾値AFref1未満に至った回数をカウントすると共に、空燃比AF2がリッチ側閾値AFref1未満の状態のときの吸入空気量Qaの積算値としてリッチ時積算空気量Qrichを計算し、カウンタCが閾値Cref以上であり、リッチ時積算空気量Qrichが閾値Qref1以上であり、更に触媒温度Tcが閾値Tref未満であるときに、燃料カットを要求する。この燃料カット要求に対して燃料カットが行なわれることにより、浄化装置134の浄化触媒は一旦リーン雰囲気となる。これにより、浄化装置134の浄化触媒の機能を十分に発揮させることができ、エミッションの悪化を抑制することができる。カウンタCは、エンジン22を間欠停止したときにはその値を保持するから、エンジン22の運転停止によりカウンタCを値0にリセットするものに比して、浄化装置134の浄化触媒を一旦リーン雰囲気とする機会を得ることができ、浄化装置134からの排ガスの空燃比が常にリッチ側となり、エミッションが悪化するのを回避することができる。リッチ時積算空気量Qrichが閾値Qref1以上であるのを燃料カットの要求の要件とするから、過剰な燃料カットを抑制することができる。これらの結果、エミッションの悪化を抑制することができる。
実施例のエンジン装置では、カウンタCが閾値Cref以上であり、リッチ時積算空気量Qrichが閾値Qref1以上であり、更に触媒温度Tcが閾値Tref未満であるときに、燃料カットを要求するものとした。しかし、カウンタCが閾値Cref以上であり、リッチ時積算空気量Qrichが閾値Qref1以上であるときに、触媒温度Tcに拘わらずに、燃料カットを要求するものとしてもよい。
実施例のエンジン装置では、ポート噴射弁125と筒内噴射弁126とを備えるエンジン22に本発明を適用したが、ポート噴射弁だけを有するエンジンや、筒内噴射弁だけを有するエンジンに本発明を適用するものとしてもよい。
実施例のエンジン装置では、エンジン22と2つのモータMG1,MG2とプラネタリギヤ30とを有するハイブリッド自動車に搭載されているものとしたが、エンジンを搭載するハイブリッド自動車であれば如何なるハイブリッド自動車に搭載されるものとしてもよいし、走行用のモータを搭載しない通常の自動車に搭載されるものとしてもよい。
以上、本発明を実施するための形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。