図1は、実施例に係るエンジンの概略図である。同図に示すエンジン1は本発明に係る内燃機関の実施例として設けられており、このエンジン1は、複数の気筒5を有している。各気筒5は、内部に燃焼室25が形成されたシリンダヘッド15及びシリンダブロック16を有している。また、シリンダブロック16におけるシリンダヘッド15側の反対側には、クランクケース17が位置している。このうち、シリンダブロック16の内部には、気筒5内を往復運動可能に設けられたピストン20が内設されており、当該エンジン1の運転時におけるピストン20の下死点方向には、クランク軸であるクランクシャフト22が設けられている。このクランクシャフト22は、クランクケース17内に設けられており、ピストン20の往復運動の方向と直交する方向に回転軸を有し、当該回転軸を中心に回転可能に形成されている。このように設けられるピストン20とクランクシャフト22とは、コネクティングロッド21によって接続されている。これにより、クランクシャフト22はピストン20の往復運動に伴って回転運動が可能になっている。
また、クランクシャフト22の近傍には、クランクシャフト22の回転角度位置であるクランク角を検出するクランク角検出センサ62が設けられている。詳しくは、このクランク角は、クランクシャフト22の回転軸を中心とした場合におけるクランクシャフト22の周方向における所定の位置の回転角度位置となっている。このクランク角検出センサ62は、検出するクランク角の変化速度を検出することを介してクランクシャフト22の単位時間当りの回転数、即ち、エンジン1の単位時間当りの回転数を検出可能な回転数検出手段としても設けられている。
また、複数の気筒5は、クランクシャフト22から見て気筒5が2方向に向けて形成されており、このように形成された気筒5を有する当該エンジン1は、いわゆるV型のエンジン1となっている。このV型のエンジン1は、3つの気筒5が1つの組となって構成される気筒群であるバンク10を形成しており、このバンク10が2つ設けられている。即ち、当該エンジン1は、6つの気筒5を有している。この2つのバンク10のうち、一方のバンク10は第1バンク11となっており、他方のバンク10は第2バンク12となっている。
このように形成される気筒5を詳細に説明すると、シリンダブロック16には、運転時のエンジン1を循環してエンジン1を冷却する冷却水が通る冷却水路18が形成されている。第1バンク11と第2バンク12とには、それぞれ冷却水路18を流れる冷却水の温度を検出可能な温度検出手段である水温センサ61が設けられている。この水温センサ61は、第1バンク11と第2バンク12とに別々に設けられており、第1バンク11に形成される冷却水路18を流れる冷却水の水温と、第2バンク12に形成される冷却水路18を流れる冷却水の水温とを別々に検出することができる。
また、シリンダヘッド15は、シリンダブロック16の、当該シリンダブロック16におけるピストン20が上死点に向かう方向側の端部に、ガスケット(図示省略)を介して固定されている。また、シリンダヘッド15には、点火プラグ26と、吸気バルブ35及び排気バルブ36が設けられている。また、これらの点火プラグ26、吸気バルブ35及び排気バルブ36は、複数形成される気筒5のそれぞれの気筒5に設けられている。また、燃焼室25には吸気通路31と排気通路32とが接続されており、吸気バルブ35は、吸気通路31側に設けられており、排気バルブ36は、排気通路32側に設けられている。
シリンダヘッド15に設けられる吸気バルブ35及び排気バルブ36は、吸気バルブ35や排気バルブ36における燃焼室25側の反対側に設けられたカム40によって往復運動が可能になっている。詳しくは、このカム40は、クランクシャフト22の回転に連動して回転するカムシャフト41に設けられており、カムシャフト41の回転に伴い、カム40も回動する。また、吸気バルブ35及び排気バルブ36にはバルブスプリング42が設けられており、これらの吸気バルブ35及び排気バルブ36は、バルブスプリング42によってカム40に押し付けられているため、カム40が回動することにより、往復運動が可能になっている。
このうち、吸気バルブ35は、往復運動をすることにより、吸気通路31と燃焼室25とを連通または遮断するように設けられており、排気バルブ36は、往復運動をすることにより、排気通路32と燃焼室25とを連通または遮断するように設けられている。また、点火プラグ26は、吸気バルブ35と排気バルブ36との間に設けられており、さらに、高電圧をかけた際に放電する点火部27を有し、この点火部27が燃焼室25内に位置するように設けられている。
当該エンジン1には、気筒5に供給する燃料を噴射する複数の燃料噴射弁が設けられている。この複数の燃料噴射弁のうち、一部の燃料噴射弁は、吸気通路31内に燃料を噴射する吸気通路内燃料噴射弁であるポート噴射インジェクタ55となっており、また、他の一部の燃料噴射弁は、気筒5内に直接燃料を噴射する筒内燃料噴射弁である筒内噴射インジェクタ56となっている。このうち、ポート噴射インジェクタ55は、吸気通路31に設けられており、吸気通路31内に燃料を噴射することを介して気筒5内に燃料を供給可能に設けられている。また、筒内噴射インジェクタ56はシリンダヘッド15に設けられており、気筒5内に直接燃料を噴射することにより気筒5内に燃料を供給可能に設けられている。
これらのように設けられるポート噴射インジェクタ55と筒内噴射インジェクタ56とには、燃料の供給経路(図示省略)によって車両(図示省略)に設けられる燃料タンク(図示省略)と接続されており、燃料の供給経路には、燃料タンク内の燃料をポート噴射インジェクタ55や筒内噴射インジェクタ56に供給する燃料ポンプ(図示省略)が設けられている。さらに、燃料の供給経路には、筒内噴射インジェクタ56に対して燃料を高圧にして供給可能な高圧ポンプ(図示省略)が設けられている。
また、吸気通路31には、当該吸気通路31内を流れる空気の流れ方向において、ポート噴射インジェクタ55が設けられている位置の上流側に、吸気通路31内を開閉可能なスロットルバルブ50が設けられている。吸気通路31内を流れる空気の流量は、このスロットルバルブ50の開度を調整することにより、調整可能になっている。詳しくは、吸気通路31に設けられるスロットルバルブ50は、第1バンク11の気筒5に接続される吸気通路31と、第2バンク12の気筒5に接続される吸気通路31とのそれぞれの吸気通路31に設けられている。このように設けられるスロットルバルブ50は、第1バンク11側のスロットルバルブ50と第2バンク12側のスロットルバルブ50とで、独立して開閉可能に設けられている。このため、気筒5が吸入する空気量は、第1バンク11の気筒5と第2バンク12の気筒5とで、それぞれ別々にスロットルバルブ50によって流量を調整可能に設けられている。
さらに、吸気通路31には、吸気通路31内を流れる空気の流れ方向においてスロットルバルブ50が設けられている位置の上流側に、吸気通路31内を流れる空気の流量を検出可能な吸入空気量検出手段であるエアフロメータ51が設けられている。このエアフロメータ51もスロットルバルブ50と同様に、第1バンク11の気筒5に接続される吸気通路31と第2バンク12の気筒5に接続される吸気通路31とにそれぞれ設けられている。
また、排気通路32には、排気ガスに含まれる成分である酸素(O2)の濃度を検出可能な排気ガス成分検出手段であるO2センサ63が設けられている。また、シリンダヘッド15に設けられる点火プラグ26は、当該点火プラグ26が有する点火部27の放電を制御する点火回路60に接続されている。これらのO2センサ63や点火回路60は、クランク角検出センサ62、水温センサ61、ポート噴射インジェクタ55、筒内噴射インジェクタ56、スロットルバルブ50、エアフロメータ51と共に、当該エンジン1を搭載する車両(図示省略)の各部を制御するECU(Electronic Control Unit)70に接続されており、ECU70によって制御可能に設けられている。
また、このECU70には、車両の室内に設けられていると共に車両の走行時における車速を調節する際に操作をするアクセルペダル65に近傍に設けられ、アクセルペダル65の開度を検出可能なアクセル開度検出手段であるアクセル開度センサ66が接続されている。
図2は、図1に示すエンジンの要部構成図である。ECU70には、処理部71、記憶部87及び入出力部88が設けられており、これらは互いに接続され、互いに信号の受け渡しが可能になっている。また、ECU70に接続されているスロットルバルブ50、エアフロメータ51、ポート噴射インジェクタ55、筒内噴射インジェクタ56、点火回路60、水温センサ61、クランク角検出センサ62、O2センサ63、アクセル開度センサ66は、入出力部88に接続されており、入出力部88は、これらのセンサ類等との間で信号の入出力を行う。また、記憶部87には、エンジン1を制御するコンピュータプログラムが格納されている。この記憶部87は、ハードディスク装置や光磁気ディスク装置、またはフラッシュメモリ等の不揮発性のメモリ(CD−ROM等のような読み出しのみが可能な記憶媒体)や、RAM(Random Access Memory)のような揮発性のメモリ、或いはこれらの組み合わせにより構成することができる。
また、処理部71は、メモリ及びCPU(Central Processing Unit)により構成されており、少なくとも、アクセル開度センサ66での検出結果よりアクセルペダル65の開度を取得するアクセル開度取得手段であるアクセル開度取得部72と、エアフロメータ51での検出結果より気筒5の吸入空気量を取得する吸入空気量取得手段である吸入空気量取得部73と、クランク角検出センサ62での検出結果よりクランクシャフト22の回転数、即ち、エンジン1の回転数を取得する回転数取得手段である回転数取得部74と、O2センサ63での検出結果より排気通路32を流れる排気ガス中の酸素の濃度を取得する排気ガス成分取得手段であるO2濃度取得部75と、を有している。
また、処理部71は、エンジン1の運転時における燃料の要求噴射量やエンジン1の運転状態に基づいてポート噴射インジェクタ55から噴射する燃料の噴射量と筒内噴射インジェクタ56から噴射する燃料の噴射量とを算出する燃料噴射量算出手段である燃料噴射量算出部76と、吸気通路31内を開閉可能なスロットルバルブ50を制御することを介して気筒5の吸入空気量を調節する吸入空気量調節手段制御手段であるスロットルバルブ制御部77と、燃料の噴射量が燃料噴射量算出部76で算出した噴射量になるようにポート噴射インジェクタ55と筒内噴射インジェクタ56とを制御する燃料噴射量制御手段である燃料噴射量制御部78と、を有している。
また、処理部71は、筒内噴射インジェクタ56にデポジットが堆積しているものとしてデポジットを除去するための筒内噴射インジェクタ56から燃料の噴射である洗浄噴射を開始するか否かの判定を、ポート噴射インジェクタ55のみから燃料を噴射する時間の積算時間が所定時間以上であるか否かを判定することにより行う洗浄開始判定手段である洗浄開始判定部79と、O2濃度取得部75で取得した排気ガス中の酸素濃度に基づいてポート噴射インジェクタ55及び筒内噴射インジェクタ56から燃料の噴射する場合における空燃比の学習補正を行う空燃比学習補正手段である空燃比学習補正部80と、O2濃度取得部75で取得した排気ガス中の酸素濃度に基づいて、空燃比学習補正部80で空燃比の学習補正が完了したか否かを判定する学習補正完了判定手段である学習補正完了判定部81と、筒内噴射インジェクタ56に堆積したデポジットの除去が完了し、筒内噴射インジェクタ56の洗浄噴射は完了したか否かを判定するデポジット除去完了判定手段である洗浄噴射完了判定部82と、ポート噴射インジェクタ55での燃料の噴射であるポート噴射が100%の状態での燃料の噴射を禁止するか否かを示すフラグであるポート噴射100%禁止フラグのONとOFFとを切り替えるフラグ切替手段であるフラグ切替部83と、を有している。
ECU70によって制御されるエンジン1の制御は、例えば、エアフロメータ51等による検出結果に基づいて、処理部71が上記コンピュータプログラムを当該処理部71に組み込まれたメモリに読み込んで演算し、演算の結果に応じてスロットルバルブ50等を作動させることにより制御する。その際に処理部71は、適宜記憶部87へ演算途中の数値を格納し、また格納した数値を取り出して演算を実行する。なお、このようにエンジン1を制御する場合には、上記コンピュータプログラムの代わりに、ECU70とは異なる専用のハードウェアによって制御してもよい。
この実施例に係るエンジン1は、以上のごとき構成からなり、以下、その作用について説明する。エンジン1の運転中は、ピストン20がシリンダブロック16内で往復運動を繰り返すことにより、吸気行程、圧縮行程、燃焼行程、排気行程を1つのサイクルとしてこのサイクルを繰り返す。ピストン20の往復運動は、コネクティングロッド21によってクランクシャフト22に伝達され、コネクティングロッド21とクランクシャフト22との作用により往復運動が回転運動に変換され、クランクシャフト22が回転する。クランクシャフト22が回転すると、この回転に連動してカムシャフト41が回転し、カムシャフト41の回転に伴ってカム40が回転する。これにより吸気バルブ35や排気バルブ36は往復運動をし、吸気通路31や排気通路32と燃焼室25、或いは吸気通路31や排気通路32と気筒5内との連通と遮断とを繰り返す。
エンジン1の運転時には、このように吸気バルブ35や排気バルブ36が往復運動して吸気通路31や排気通路32と燃焼室25との連通と遮断とを繰り返すことにより、吸排気を行い、上記の4つの行程を繰り返す。各行程の概略は、吸気行程では、吸気バルブ35が開弁し、排気バルブ36が閉弁した状態でピストン20が下死点方向に移動することにより、吸気通路31内を流れる空気が気筒5内に吸入される。圧縮行程では、吸気バルブ35も排気バルブ36も閉弁し、この状態でピストン20が上死点方向に移動することにより、気筒5内の気体を圧縮する。
エンジン1の運転時における燃料は、エンジン1の運転状態に応じてポート噴射インジェクタ55や筒内噴射インジェクタ56によって、吸気行程や圧縮行程で気筒5内に供給する。例えば、ポート噴射インジェクタ55によって燃料を供給する場合には、吸気行程でポート噴射インジェクタ55から燃料を噴射することにより、吸気通路31内でこの燃料と吸気通路31内を流れる空気との混合気を生成し、この混合気を気筒5内に吸気させることにより、気筒5内に燃料を供給する。また、筒内噴射インジェクタ56によって燃料を供給する場合には、吸気行程または圧縮行程で筒内噴射インジェクタ56から燃料を直接気筒5内に噴射することにより、気筒5内に燃料を供給する。圧縮行程で気筒5内の気体を圧縮する際には、空気と燃料と混合した混合気を圧縮する。
これらのポート噴射インジェクタ55による燃料の噴射量と筒内噴射インジェクタ56による燃料の噴射量、及び筒内噴射インジェクタ56の噴射のタイミングは、エンジン1の運転状態に応じて適宜変化させる。傾向としては、アイドル運転など低回転で軽負荷の場合には、ポート噴射インジェクタ55での燃料の噴射割合を100%にし、高回転になるに従って、または高負荷になるに従って、筒内噴射インジェクタ56での燃料の噴射割合を増加させる。
これらのように、気筒5内で混合気を圧縮した後の燃焼行程では、点火回路60によって点火プラグ26に高電圧の電流を印加し、点火プラグ26の点火部27にアーク放電を発生させることにより、圧縮した混合気が点火する。これにより、気筒5内で圧縮した混合気中の燃料が燃焼するので、燃焼時の圧力によりピストン20が下死点方向に移動し、ピストン20の移動に伴って、コネクティングロッド21を介してピストン20に接続されたクランクシャフト22が回転する。また、排気行程では、吸気バルブ35は閉弁し、排気バルブ36は開弁した状態でピストン20が上死点方向に移動することにより、燃料の燃焼後の排気ガスが気筒5内から排気通路32の方向に流れ、気筒5内から排気される。
エンジン1は、これらを繰り返すことにより継続して運転を続けるが、出力を調節する際には、アクセルペダル65を操作することにより調節する。アクセルペダル65を操作した場合には、アクセルペダル65の操作量が、アクセルペダル65の開度であるアクセル開度としてアクセル開度センサ66により検出される。アクセル開度センサ66で検出したアクセル開度は、ECU70の処理部71が有するアクセル開度取得部72に伝達され、アクセル開度取得部72で取得する。
また、エンジン1の運転中は、吸気通路31を流れる空気の流量をエアフロメータ51で検出し、検出結果をECU70の処理部71が有する吸入空気量取得部73で取得する。この場合、第1バンク11の気筒5に接続される吸気通路31に設けられるエアフロメータ51と第2バンク12の気筒5に接続される吸気通路31に設けられるエアフロメータ51とは、それぞれ別々に吸入空気量を検出し、吸入空気量取得部73は、これらの吸入空気量を別々に取得する。
さらに、エンジン1の運転中は、クランク角の変化速度を検出することを介してクランクシャフト22の単位時間当りの回転数をクランク角検出センサ62で検出し、検出結果をECU70の処理部71が有する回転数取得部74で、エンジン1の回転数として取得する。
アクセル開度取得部72で取得したアクセル開度や吸入空気量取得部73で取得した吸入空気量、回転数取得部74で取得したエンジン1の回転数は、ECU70の処理部71が有するスロットルバルブ制御部77と燃料噴射量制御部78とに伝達される。このうち、スロットルバルブ制御部77は、アクセル開度取得部72で取得したアクセル開度に応じてスロットルバルブ50を制御することにより、スロットルバルブ50の開度を調節する。
また、燃料噴射量制御部78は、アクセル開度取得部72で取得したアクセル開度と、吸入空気量取得部73で取得した吸入空気量と、回転数取得部74で取得したエンジン1の回転数とに応じて、ポート噴射インジェクタ55と筒内噴射インジェクタ56とを制御することにより、ポート噴射インジェクタ55及び筒内噴射インジェクタ56から噴射する燃料の噴射量を調節する。これらにより気筒5内には、アクセル開度に応じた空燃比及び流量で空気と燃料との混合気が吸気され、気筒5内で燃焼する。
燃焼後の排気ガスは排気通路32から排出されるが、排気通路32には、O2センサ63が設けられており、O2センサ63は、排気ガス中の酸素濃度を検出する。O2センサ63で検出した酸素濃度は、ECU70の処理部71が有するO2濃度取得部75に伝達され、O2濃度取得部75で取得する。O2濃度取得部75で取得した酸素濃度は、燃料噴射量制御部78に伝達され、燃料噴射量制御部78は、伝達された酸素濃度により空燃比の学習補正をし、ポート噴射インジェクタ55及び筒内噴射インジェクタ56から噴射する燃料の噴射量を補正する。これにより、エンジン1は、より現在の運転状態に適した空燃比で運転をすることができ、エンジン1はアクセル開度に応じて適切な出力で運転する。
図3は、燃料の噴射領域を示す説明図である。同図に示す横軸はエンジン1の回転数を示しており、図中の右方向に向かうに従って回転数が高くなっている。また、縦軸はエンジン1の負荷率、即ちトルクの大きさを示しており、図中の上方に向かうに従って負荷率が大きくなっている。エンジン1の運転時には、アクセル開度に応じた噴射量でポート噴射インジェクタ55と筒内噴射インジェクタ56とから燃料を噴射するが、ポート噴射インジェクタ55での燃料の噴射であるポート噴射と、筒内噴射インジェクタ56での燃料の噴射である筒内噴射との割合は、運転状態に応じて異なっている。
具体的には、回転数が高くなるに従って、または負荷率が大きくなるに従って、ポート噴射と筒内噴射との合計の燃料の噴射量における筒内噴射の割合が大きくなる傾向にあり、このような運転領域では、ポート噴射と筒内噴射との双方、または、筒内噴射のみで燃料の噴射を行う。このような運転領域は、筒内噴射を使用して燃料の噴射を行う運転領域である筒内噴射使用領域となっている。これに対し、回転数が低く、且つ、負荷率が小さい運転領域は、ポート噴射のみで燃料の噴射を行い、筒内噴射を停止する運転領域である筒内噴射停止領域となっている。
エンジン1の運転中は、回転数及び負荷率がこのように筒内噴射を停止する筒内噴射停止領域に入った場合、つまりエンジン1の運転領域が筒内噴射停止領域に入った場合には、筒内噴射を停止し、ポート噴射のみで運転をする。この場合、筒内噴射インジェクタ56からは燃料を噴射しないが、この筒内噴射インジェクタ56は、燃料を噴射する噴射孔(図示省略)側の先端が燃焼室25或いは気筒5内に位置している。このため、気筒5内で燃料が燃焼した場合には、噴射孔の周辺にデポジットが堆積する場合がある。このように、デポジットが堆積した場合には、筒内噴射停止領域であっても、強制的に筒内噴射を行い、筒内噴射インジェクタ56に堆積したデポジットを、燃料を噴射する際における噴射圧により除去する。即ち、高圧ポンプにより高圧になった燃圧で燃料が供給される筒内噴射インジェクタ56によって高い噴射圧で燃料を噴射することにより、筒内噴射インジェクタ56の洗浄噴射を行う。
図4は、筒内噴射インジェクタの洗浄噴射を行う場合におけるポート噴射及び筒内噴射の噴射割合を示す説明図である。筒内噴射インジェクタ56の洗浄噴射は、筒内噴射インジェクタ56から燃料を噴射することにより行うが、筒内噴射を停止した状態から筒内噴射を増加させる場合には、燃料の噴射量全体の割合に対する筒内噴射の割合を、徐々に増加させる。この場合、ポート噴射の割合は、筒内噴射の割合とは反対に徐々に減少させる。このため、アイドル運転時など筒内噴射を停止した状態、即ち、ポート噴射100%で燃料を噴射している場合に、筒内噴射100%になるまで筒内噴射インジェクタ56の洗浄噴射をする場合について説明すると、洗浄噴射を開始した際には、ポート噴射の割合であるポート噴射割合PRを図4に示すように、時間が経過するに従って燃料の噴射量全体に対する割合が100%の状態から0%の状態になるまで、徐々に減少させる。これに対し、筒内噴射の割合である筒内噴射割合DRは図4に示すように、時間が経過するに従って燃料の噴射量全体に対する割合が0%の状態から100%の状態になるまで、徐々に増加させる。この場合におけるポート噴射の減少の割合と筒内噴射の増加の割合とは、ほぼ同程度になっている。
図5は、実施例に係るエンジンの処理手順を示すフロー図である。次に、実施例に係るエンジン1で筒内噴射インジェクタ56の洗浄噴射を行う場合の制御方法、即ち、筒内噴射インジェクタ56の洗浄噴射の制御時における処理手順について説明する。この処理手順では、まず、ポート噴射のみの積算時間≧洗浄開始時間であるか否かを判定する(ステップST101)。この判定は、ECU70の処理部71が有する洗浄開始判定部79で行う。この判定に用いる洗浄開始時間は、燃料の供給をポート噴射インジェクタ55による供給であるポート噴射のみで行うことにより、筒内噴射インジェクタ56にデポジットが堆積したと推定できる時間として設定され、予めECU70の記憶部87に記憶されている。
また、エンジン1の運転時に燃料の供給をポート噴射のみで行った場合には、その時間が積算されてECU70の記憶部87に記憶される。洗浄開始判定部79は、記憶部87に記憶された積算時間が、同様に記憶部87に記憶された洗浄開始時間以上であるか否かを判定し、筒内噴射インジェクタ56の洗浄噴射を開始するか否かを判定する。このため、洗浄開始判定部79は、エンジン1の運転時に燃料の供給をポート噴射のみで行った場合における積算時間が洗浄開始時間以上であるか否かを介して筒内噴射インジェクタ56にデポジットが堆積しているか否かを判定するデポジット堆積判定手段としても設けられている。即ち、デポジット堆積判定手段である洗浄開始判定部79は、ポート噴射インジェクタ55のみから燃料を噴射する時間の積算時間が所定時間である洗浄開始時間以上になった場合に、筒内噴射インジェクタ56にデポジットが堆積していると判定する。洗浄開始判定部79での判定により、ポート噴射のみの積算時間は洗浄開始時間以上ではないと判定された場合、つまり、ポート噴射のみの積算時間は洗浄開始時間に到達していないと判定された場合には、この処理手順から抜け出る。
これに対し、洗浄開始判定部79での判定(ステップST101)により、ポート噴射のみの積算時間は洗浄開始時間以上であると判定された場合には、ポート噴射インジェクタ55で燃料を噴射する場合における燃料の噴射量であるポート噴射量と、筒内噴射インジェクタ56で燃料を噴射する場合における燃料の噴射量である筒内噴射量とを算出する(ステップST102)。この算出は、ECU70の処理部71が有する燃料噴射量算出部76で行う。燃料噴射量算出部76は、エンジン1の運転時における現在の燃料の要求噴射量を維持しつつ、ポート噴射量と筒内噴射量との割合を変化させてポート噴射量と筒内噴射量とを算出する。具体的には、ポート噴射量は減量し、筒内噴射量は増量してポート噴射量と筒内噴射量とを算出する。
つまり、ポート噴射量と筒内噴射量との割合を所定量だけ変化させ、ポート噴射量の割合を減少させ、筒内噴射量の割合を増加させる。燃料噴射量算出部76は、現在の燃料の要求噴射量と、ポート噴射量及び筒内噴射量の割合に基づいて、ポート噴射量と筒内噴射量とを算出する。なお、この算出に用いる要求噴射量は、アクセル開度取得部72で取得するアクセル開度、吸入空気量取得部73で取得する吸入空気量、回転数取得部74で取得するエンジン1の回転数に基づいて、燃料噴射量算出部76で算出する。
次に、ポート噴射及び筒内噴射を実行する(ステップST103)。この実行は、ECU70の処理部71が有する燃料噴射量制御部78で行う。燃料噴射量制御部78は、燃料噴射量算出部76で算出したポート噴射量及び筒内噴射量に基づいて、ポート噴射インジェクタ55と筒内噴射インジェクタ56とを制御することにより、ポート噴射及び筒内噴射を実行する。ここで、ポート噴射インジェクタ55や筒内噴射インジェクタ56で燃焼を噴射する場合には、ポート噴射インジェクタ55や筒内噴射インジェクタ56に所定の圧力で供給される燃料を、1回の噴射タイミングにおいて所定期間噴射することにより、所望の噴射量で燃料を噴射する。
このため、燃料噴射量制御部78は、燃料噴射量算出部76で算出したポート噴射量をポート噴射インジェクタ55から噴射させるための期間である噴射期間だけ、噴射タイミングごとにポート噴射インジェクタ55から燃料を噴射することにより、燃料噴射量算出部76で算出したポート噴射量の燃料を、ポート噴射インジェクタ55から噴射させる。同様に、燃料噴射量制御部78は、燃料噴射量算出部76で算出した筒内噴射量を筒内噴射インジェクタ56から噴射させるための期間である噴射期間だけ、噴射タイミングごとに筒内噴射インジェクタ56から燃料を噴射することにより、燃料噴射量算出部76で算出した筒内噴射量の燃料を、筒内噴射インジェクタ56から噴射させる。これにより、燃料噴射量制御部78は、燃料噴射量算出部76で算出したポート噴射量及び筒内噴射量で、ポート噴射及び筒内噴射を実行する。
また、このようにポート噴射及び筒内噴射を実行する場合において、筒内噴射が停止した状態から筒内噴射インジェクタ56の洗浄噴射を行う場合には、まず、筒内噴射インジェクタ56に供給する燃料の燃圧を高圧にする高圧ポンプは作動させないで燃料の供給通路に設けられた燃料ポンプのみにより燃料を供給する状態で実行する。つまり、筒内噴射が停止した状態から筒内噴射インジェクタ56の洗浄噴射を行う場合における筒内噴射インジェクタ56には、まず、燃料ポンプによるフィード圧で燃料を供給する。このため、洗浄噴射の開始時における筒内噴射は、筒内噴射インジェクタ56に供給する燃料の燃圧がフィード圧である場合に燃料噴射量算出部76で算出した筒内噴射量を筒内噴射インジェクタ56から噴射させることのできる噴射期間だけ、噴射タイミングごとに筒内噴射インジェクタ56から燃料を噴射させることにより実行する。
次に、空燃比の学習補正を行う(ステップST104)。この学習補正は、ECU70の処理部71が有する空燃比学習補正部80で行う。この空燃比学習補正部80で空燃比の学習補正を行う場合は、燃料噴射量制御部78で制御するポート噴射インジェクタ55及び筒内噴射インジェクタ56からの燃料の噴射量を、O2センサ63での検出結果よりO2濃度取得部75で取得した排気ガス中の酸素濃度に基づいて補正する。
つまり、筒内噴射インジェクタ56にデポジットが堆積している場合、筒内噴射インジェクタ56からの燃料の噴射量は少なくなるので、空燃比はリーン寄りになる。空燃比がリーン寄りの場合、排気ガス中の残存酸素量は多くなるため、O2濃度取得部75で取得した排気ガス中の酸素濃度は、現在のエンジン1の運転状態において適切な酸素濃度と比較して多くなる。このため、空燃比学習補正部80は、O2濃度取得部75で取得した排気ガス中の酸素濃度が、現在のエンジン1の運転状態において適切な酸素濃度と比較して多い場合には、空燃比はリーン寄りであり、筒内噴射インジェクタ56からの燃料の噴射量は少なくなっていると判定して、燃料噴射量制御部78に、筒内噴射インジェクタ56からの燃料の噴射量を増量させる制御を行わせる。具体的には、筒内噴射を行うタイミングにおける筒内噴射インジェクタ56による燃料の噴射期間を長くする制御を行わせる。
ここで、O2センサ63は、第1バンク11側の気筒5に接続されている排気通路32と、第2バンク12側の気筒5に接続されている排気通路32とのそれぞれに設けられているため、排気ガス中の酸素濃度は、第1バンク11側の気筒5から排出される排気ガス中の酸素濃度と、第2バンク12側の気筒5から排出される排気ガス中の酸素濃度とをそれぞれ別々に取得することができる。このため、空燃比学習補正部80で空燃比の学習補正を行う場合には、第1バンク11側のポート噴射インジェクタ55及び筒内噴射インジェクタ56からの燃料の噴射量は、第1バンク11側の気筒5から排出された排気ガス中の酸素濃度に基づいて補正し、第2バンク12側のポート噴射インジェクタ55及び筒内噴射インジェクタ56からの燃料の噴射量は、第2バンク12側の気筒5から排出された排気ガス中の酸素濃度に基づいて補正する。即ち、空燃比の学習補正は、バンク10ごとに行う。
なお、空燃比の学習補正を行う場合に用いる、現在のエンジン1の運転状態において適切な排気ガス中の酸素濃度は、エンジン1の運転状態に対する排気ガス中の酸素濃度が予め設定され、マップとして記憶部87に記憶されている。空燃比学習補正部80で空燃比の学習補正を行う場合には、アクセル開度取得部72で取得したアクセル開度や回転数取得部74で取得したエンジン1の回転数などの運転状態を用いて、空燃比学習補正部80によって記憶部87に記憶されたマップを参照することにより取得する。
次に、空燃比の学習補正が完了したか否かを判定する(ステップST105)。この判定は、ECU70の処理部71が有する学習補正完了判定部81で行う。学習補正完了判定部81は、空燃比学習補正部80が行った空燃比の学習補正が完了したか否かを、O2濃度取得部75で取得した排気ガス中の酸素濃度に基づいて判定をする。この判定を行う場合には、O2濃度取得部75で取得した排気ガス中の酸素濃度と現在のエンジン1の運転状態において適切な排気ガス中の酸素濃度との差が、所定の範囲内である場合には、空燃比の学習補正は完了したと判定する。即ち、O2濃度取得部75で取得した排気ガス中の酸素濃度が、現在のエンジン1の運転状態において適切な排気ガス中の酸素濃度の許容範囲内である場合には、学習補正完了判定部81は、空燃比の学習補正は完了したと判定する。また、空燃比の学習補正はバンク10ごとに行うため、空燃比の学習補正が完了したか否かの判定もバンク10ごとに行う。
なお、学習補正完了判定部81で空燃比の学習補正は完了したか否かの判定を行う場合には、筒内噴射インジェクタ56のデポジットを燃料の噴射圧で洗浄した場合、筒内噴射インジェクタ56の噴射量は、デポジットの状態よって所定の回数噴射を行うまで安定しない場合があるため、O2濃度取得部75で取得する排気ガス中の酸素濃度が安定してから判定を行う。学習補正完了判定部81での判定により、空燃比の学習補正は完了していないと判定した場合には、ステップST104に戻り、再び空燃比学習補正部80で空燃比の学習補正を行う。この場合、第1バンク11と第2バンク12とのうち、一方のバンク10の空燃比の学習補正は完了したと判定した場合でも、他方のバンク10の空燃比の学習補正が完了していないと判定した場合には、空燃比の学習補正は完了していないと判定してステップST104に戻り、再び空燃比学習補正部80で空燃比の学習補正を行う。即ち、第1バンク11と第2バンク12とのうち、いずれか一方のバンク10の空燃比の学習補正が完了していないと判定した場合には、空燃比の学習補正は完了していないと判定する。
これに対し、学習補正完了判定部81での判定(ステップST105)により、空燃比の学習補正が完了したと判定した場合、詳しくは、第1バンク11と第2バンク12との双方のバンク10の空燃比の学習補正が完了したと判定した場合には、次に、筒内噴射インジェクタ56の洗浄噴射は完了したか否かを判定する(ステップST106)。この判定は、ECU70の処理部71が有する洗浄噴射完了判定部82で行う。洗浄噴射完了判定部82で筒内噴射インジェクタ56の洗浄噴射は完了したか否かを判定する場合には、筒内噴射インジェクタ56の噴射期間と、燃圧とに基づいて判定する。つまり、ポート噴射インジェクタ55や筒内噴射インジェクタ56から噴射する燃料の噴射量の制御は、ポート噴射インジェクタ55や筒内噴射インジェクタ56に供給される燃料の燃圧に対して噴射期間を定めて燃料を噴射することにより、要求噴射量で噴射をする。このため、要求噴射量を噴射するための燃圧と噴射期間との関係が、マップとして予め設定されて記憶部87に記憶されている。
従って、洗浄噴射完了判定部82で筒内噴射インジェクタ56の洗浄噴射は完了したか否かを判定する場合には、筒内噴射インジェクタ56に供給される燃料の燃圧と、空燃比の学習補正が完了した後の筒内噴射インジェクタ56の噴射期間とを、記憶部87に記憶されたマップに照らし合わせることにより判定する。即ち、空燃比の学習補正が完了した後の筒内噴射インジェクタ56の噴射期間とマップの噴射期間と差が、所望の流量で燃料を噴射できるものと許容できる所定の範囲内の場合は、筒内噴射インジェクタ56の洗浄噴射は完了したと判定する。換言すると、洗浄噴射完了判定部82は、学習補正完了判定部81で空燃比の学習補正が完了したと判定し、且つ、筒内噴射インジェクタ56で噴射する燃料の流量が所望の流量である場合にデポジットの除去が完了したと判定する。これに対し、双方の噴射期間の差が所定の範囲よりも大きい場合には、筒内噴射インジェクタ56は所望の流量で燃料を噴射しておらず、筒内噴射インジェクタ56にはデポジットが堆積しており、筒内噴射インジェクタ56の洗浄噴射は完了していないと判定する。
洗浄噴射完了判定部82での判定(ステップST106)により、筒内噴射インジェクタ56の洗浄噴射は完了していないと判定された場合には、ポート噴射100%禁止フラグをONにする(ステップST107)。このポート噴射100%禁止フラグは、ポート噴射100%の状態での燃料の噴射を禁止するか否かを示すフラグとして、ECU70の処理部71に記憶されている。このように設けられるポート噴射100%禁止フラグは、ECU70の処理部71が有するフラグ切替部83によって切り替える。フラグ切替部83は、ポート噴射100%の状態での燃料の噴射を禁止する場合にはポート噴射100%禁止フラグをONに切り替え、ポート噴射100%の状態での燃料の噴射を許可する場合には、ポート噴射100%禁止フラグをOFFに切り替える。
このように、ポート噴射100%禁止フラグを切り替え可能に設けられたフラグ切替部83は、筒内噴射インジェクタ56の洗浄噴射は完了していないと洗浄噴射完了判定部82で判定された場合には、ポート噴射100%禁止フラグをONに切り替える。筒内噴射インジェクタ56の洗浄噴射は完了していないと洗浄噴射完了判定部82で判定された場合にフラグ切替部83でポート噴射100%禁止フラグをONに切り替えることにより、燃料噴射量制御部78は、洗浄噴射完了判定部82でデポジットの除去が完了したと判定するまではポート噴射インジェクタ55のみからの燃料の噴射を禁止する。
フラグ切替部83でポート噴射100%禁止フラグをONにした後は、ステップST102に戻り、再び燃料噴射量算出部76でポート噴射量と筒内噴射量とを算出する。この算出では、さらにポート噴射量の割合を減少させ、筒内噴射量の割合を増加させることにより、ポート噴射量を減量し、筒内噴射量は増量して算出する。その後、算出した噴射量でポート噴射と筒内噴射とを実行し(ステップST103)、空燃比の学習補正(ステップST104)をした後、空燃比の学習補正が完了したか否かを判定し(ステップST105)、洗浄噴射完了判定部82による判定(ステップST106)で、筒内噴射インジェクタ56の洗浄噴射は完了したと判定するまで、これらの処理を繰り返す。つまり、筒内噴射インジェクタ56の洗浄噴射の制御を行う場合には、洗浄噴射が完了したと判定されるまで、ポート噴射量は段階的に減量し、筒内噴射量は段階的に増量する。
このように、燃料噴射量制御部78は、洗浄開始判定部79で筒内噴射インジェクタ56にデポジットが堆積していると判定した場合に筒内噴射インジェクタ56から燃料を噴射させると共に、洗浄噴射完了判定部82でデポジットの除去が完了したと判定するまで学習補正完了判定部81で空燃比の学習補正が完了したと判定するごとに段階的に筒内噴射インジェクタ56から噴射する燃料の割合を増加させつつ、ポート噴射インジェクタ55から噴射する燃料の割合を減少させる。
また、このように段階的に筒内噴射量を増量させる筒内噴射インジェクタ56には、筒内噴射が停止した状態から筒内噴射インジェクタ56の洗浄噴射を行う場合における初期段階では、フィード圧で燃料を供給しているが、筒内噴射量を増量させる2回目以降の段階、または、筒内噴射量が所定量まで増量した段階では、高圧ポンプを作動させて筒内噴射インジェクタ56に供給する燃料の燃圧を高圧にする。換言すると、燃料噴射量制御部78は、洗浄開始判定部79で筒内噴射インジェクタ56にデポジットが堆積していると判定した場合における筒内噴射インジェクタ56からの燃料の噴射の開始時は、最少の燃圧であるフィード圧で筒内噴射インジェクタ56から燃料を噴射させ、学習補正完了判定部81で空燃比の学習補正が完了したと判定した後、筒内噴射インジェクタ56から噴射する燃料の割合を増加させる際には、高圧ポンプで燃圧を高くして筒内噴射インジェクタ56から燃料を噴射させる。
これらに対し、洗浄噴射完了判定部82での判定(ステップST106)により、筒内噴射インジェクタ56の洗浄噴射は完了したと判定された場合には、フラグ切替部83でポート噴射100%禁止フラグをOFFにする(ステップST108)。
次に、燃料噴射量算出部76で、ポート噴射量と筒内噴射量とを算出する(ステップST109)。この場合のポート噴射量と筒内噴射量との算出は、筒内噴射インジェクタ56の洗浄噴射により筒内噴射量の割合が多くなったポート噴射量と筒内噴射量の割合を、エンジン1の運転状態に適した割合に戻すため、ポート噴射量と筒内噴射量との割合を所定量だけ変化させ、ポート噴射量の割合を増加させ、筒内噴射量の割合を減少させる。つまり、エンジン1の運転時における現在の燃料の要求噴射量を維持しつつ、ポート噴射量は増量させ、筒内噴射量は減量させてポート噴射量と筒内噴射量とを算出する。
次に、燃料噴射量制御部78でポート噴射及び筒内噴射を実行する(ステップST110)。燃料噴射量制御部78は、筒内噴射インジェクタ56の洗浄噴射を行う場合と同様に、燃料噴射量算出部76で算出したポート噴射量及び筒内噴射量の燃料を噴射させることができるように、ポート噴射インジェクタ55と筒内噴射インジェクタ56とを制御することにより、ポート噴射及び筒内噴射を実行する。
図6は、筒内噴射インジェクタの洗浄噴射の完了後におけるポート噴射及び筒内噴射の噴射割合を示す説明図である。筒内噴射インジェクタ56の洗浄噴射の完了後にポート噴射量を増量し、筒内噴射量は減量させてポート噴射と筒内噴射とを実行する場合には、筒内噴射インジェクタ56の洗浄噴射を行う場合と同様に空燃比の学習補正を行いながら、段階的にポート噴射量を増量し、筒内噴射量は減量させてポート噴射と筒内噴射とを実行する。即ち、ポート噴射量と筒内噴射量との割合を、筒内噴射インジェクタ56の洗浄噴射が完了した状態の割合から、現在のエンジン1の運転状態に適した割合に戻す場合には、空燃比の学習補正を行いながら、段階的にポート噴射量の割合を増加させつつ、筒内噴射量の割合を減少させる。
つまり、例えばエンジン1をアイドル回転で運転をしている場合のようにポート噴射100%で燃料を噴射している場合に、筒内噴射100%になるまで筒内噴射インジェクタ56の洗浄噴射をした場合において、筒内噴射インジェクタ56の洗浄噴射の完了後にポート噴射100%になるまで燃料の噴射量の割合を変化させる場合ついて説明すると、洗浄噴射の完了後は、ポート噴射割合PRを図6に示すように、時間が経過するに従って燃料の噴射量全体に対する割合が0%の状態から100%の状態になるまで、徐々に増加させる。これに対し、筒内噴射割合DRは図6に示すように、時間が経過するに従って燃料の噴射量全体に対する割合が100%の状態から0%の状態になるまで、徐々に減少させる。この場合におけるポート噴射の増加の割合と筒内噴射の減少の割合とは、ほぼ同程度になっている。
このように、燃料噴射量制御部78は、洗浄噴射完了判定部82でデポジットの除去が完了したと判定した後は、段階的に筒内噴射インジェクタ56から噴射する燃料の割合を減少させ、ポート噴射インジェクタ55から噴射する燃料の割合を増加させることにより、洗浄開始判定部79で筒内噴射インジェクタ56にデポジットが堆積していると判定される前の筒内噴射インジェクタ56から噴射する燃料の割合とポート噴射インジェクタ55から噴射する燃料の割合とに戻す制御を行う。
以上のエンジン1は、洗浄開始判定部79で筒内噴射インジェクタ56にデポジットが堆積したと判定された場合には、洗浄噴射完了判定部82でデポジットの除去が完了したと判定されるまで、学習補正完了判定部81で空燃比の学習補正が完了したと判定されるごとに段階的に筒内噴射インジェクタ56から噴射する燃料の割合を増加させ、ポート噴射インジェクタ55から噴射する燃料の割合を減少させている。このため、筒内噴射インジェクタ56に堆積したデポジットを除去することを目的として筒内噴射インジェクタ56から燃料を噴射する場合に、空燃比の学習補正を行いながら徐々に筒内噴射インジェクタ56からの燃料の噴射割合を増加させるので、筒内噴射インジェクタ56に堆積したデポジットによる燃料の噴射量の低下を抑制しつつ、デポジットを除去することができる。この結果、筒内噴射インジェクタ56にデポジットが堆積した場合でも、燃料の噴射量を確保しつつ、デポジットを除去することができる。
また、筒内噴射インジェクタ56に堆積したデポジットを除去することを目的として筒内噴射インジェクタ56から燃料を噴射する場合に、空燃比の学習補正を行いながら徐々に筒内噴射インジェクタ56からの燃料の噴射割合を増加させ、ポート噴射インジェクタ55から噴射する燃料の割合を減少させることにより、筒内噴射インジェクタ56からの燃料の噴射量がデポジットにより減少することに起因して、急激に燃料リーン状態になることを回避することができる。また、筒内噴射インジェクタ56からの燃料の噴射量がデポジットにより減少している場合でも、このように徐々に燃料の噴射割合を変化させることにより、急激に燃料の噴射量が変化することに起因して燃焼状態が急激に変化し、これにより発生するエンジン1の振動を抑制できる。これらの結果、エンジン1の安定した運転状態を維持しつつ、筒内噴射インジェクタ56に堆積したデポジットを除去することができる。
また、バンク10ごとに空燃比の学習補正を行うので、気筒5間における燃料の噴射量のバラツキを低減することができる。つまり、気筒5が複数設けられている場合、気筒5により燃料の噴射状態や燃料の燃焼状態が異なっている場合があるため、気筒5全体で空燃比の学習補正を行った場合、気筒5間の空燃比に差が生じる場合がある。これに対し、空燃比の学習補正を行う筒内噴射インジェクタ56を、第1バンク11側の筒内噴射インジェクタ56と第2バンク12側の筒内噴射インジェクタ56とに分けて行うことにより、同一の制御で学習補正を行う筒内噴射インジェクタ56の数が少なくなるため、気筒5間の空燃比の差を低減することができる。この結果、気筒5間における燃料の噴射量のバラツキを低減しつつ、筒内噴射インジェクタ56に堆積したデポジットを除去することができる。また、このように気筒5間における燃料の噴射量のバラツキを低減することにより、より確実に振動を抑制し、エンジン1の運転状態を安定させることができる。
また、筒内噴射インジェクタ56に堆積したデポジットを除去するために筒内噴射インジェクタ56から燃料を噴射させる場合に、燃料の噴射の開始時は最少の燃圧であるフィード圧で筒内噴射インジェクタ56から燃料を噴射させるため、デポジットを除去するために筒内噴射インジェクタ56から燃料を噴射させる場合における燃料の噴射量の低下の影響を小さくすることができる。つまり、筒内噴射インジェクタ56にデポジットが堆積した場合、筒内噴射インジェクタ56からは燃料を噴射し難くなるため、燃料の噴射量が低減し易くなる。このため、デポジットを除去するために筒内噴射インジェクタ56からの燃料の噴射を開始した場合に、筒内噴射インジェクタ56からの燃料の噴射量が少なくなることに起因して、筒内噴射インジェクタ56での燃料の噴射量とポート噴射インジェクタ55での燃料の噴射量との合計の噴射量が少なくなる場合がある。
これに対し、筒内噴射インジェクタ56から燃料の噴射の開始時は、最少の燃圧で噴射することにより、筒内噴射インジェクタ56での燃料の噴射量とポート噴射インジェクタ55での燃料の噴射量との合計の噴射量中における筒内噴射インジェクタ56での燃料の噴射量の割合が小さくなるため、デポジットが堆積することにより筒内噴射インジェクタ56での燃料の噴射量が少ない場合でも、その影響を小さくすることができる。この結果、筒内噴射インジェクタ56に堆積したデポジットを除去する場合に、より確実に燃料の噴射量を確保しつつ、デポジットを除去することができる。
また、洗浄噴射完了判定部82は、学習補正完了判定部81で空燃比の学習補正が完了したと判定した場合における、筒内噴射インジェクタ56で噴射する燃料の燃圧と噴射期間とにより定められる燃料の流量が、所望の流量である場合に、デポジットの除去が完了したと判定する。このため、空燃比を安定させた状態で、より正確にデポジットの除去が完了したことを判定できる。この結果、安定した運転状態を維持しつつ、より確実に筒内噴射インジェクタ56のデポジットを除去することができる。
また、洗浄噴射完了判定部82で筒内噴射インジェクタ56のデポジットの除去が完了したと判定するまでは、フラグ切替部83でポート噴射100%禁止フラグをONにすることによりポート噴射インジェクタ55のみからの燃料の噴射を禁止するので、筒内噴射インジェクタ56のデポジットの除去が完了しない状態でポート噴射インジェクタ55のみからの燃料の噴射状態になり、筒内噴射インジェクタ56からの燃料を噴射しなくなることを抑制できる。この結果、より確実に筒内噴射インジェクタ56のデポジットを除去することができる。
また、筒内噴射インジェクタ56のデポジットの除去が完了した後、デポジットの除去を行う前の筒内噴射の割合とポート噴射の割合とに戻す際に、段階的に筒内噴射の割合を減少させ、ポート噴射の割合を増加させることにより、燃料の噴射量を確保しながら燃料の噴射割合を戻すことができる。つまり、ポート噴射により燃料を噴射した場合、ポートウェットが発生して吸気通路31内に燃料が付着し、気筒5への燃料の供給量が燃料の噴射量に対して少なくなる場合があるが、段階的にポート噴射の割合を増加させることにより、ポートウェットによる空燃比のズレの影響を軽減し、燃料の噴射量を調節しながら燃料の噴射割合を戻すことができる。この結果、筒内噴射インジェクタ56のデポジットの除去の完了後に元の噴射割合に戻す際に、空燃比を適切な空燃比に維持しつつ元の噴射割合に戻すことができる。
また、洗浄開始判定部79は、ポート噴射のみの積算時間に基づいて筒内噴射インジェクタ56にデポジットが堆積しているか否かを判定するため、より正確にデポジットの堆積を判定できる。つまり、筒内噴射インジェクタ56に堆積するデポジットは、筒内噴射インジェクタ56から燃料を噴射していない場合、つまり、エンジン1の運転時においてポート噴射インジェクタ55のみから燃料を噴射する場合に堆積するため、ポート噴射インジェクタ55のみから燃料を噴射する時間の積算時間に基づいてデポジットの堆積を判定することにより、より正確に判定できる。この結果、筒内噴射インジェクタ56に堆積するデポジットを除去する時期を、より正確に判定することができ、エンジン1の運転性能を確保することができる。
なお、実施例に係るエンジンでは、洗浄噴射完了判定部は、学習補正完了判定部で空燃比の学習補正が完了したと判定し、且つ、筒内噴射インジェクタ56で噴射する燃料の流量が所望の流量である場合にデポジットの除去が完了したと判定しているが、デポジットの除去が完了したことの判定は、これ以外の基準で行ってもよい。例えば、洗浄噴射完了判定部で行うデポジットの除去の判定は、学習補正完了判定部で空燃比の学習補正が完了したと判定し、且つ、筒内噴射インジェクタ56で噴射する燃料の割合が100%になった場合にデポジットの除去が完了したと判定してもよい。このように、空燃比の学習補正が完了した場合における筒内噴射インジェクタ56で噴射する燃料の割合が100%になった場合に、デポジットの除去が完了したと判定することにより、空燃比を安定させた状態で、より確実にデポジットの除去が完了したことを判定することができる。
つまり、筒内噴射インジェクタ56で噴射する燃料の割合が100%になった場合とは、現在のエンジン1の運転状態における最大噴射量で筒内噴射インジェクタ56から燃料を噴射する状態であるため、筒内噴射インジェクタ56で噴射する燃料の割合が100%になった場合にデポジットの除去が完了したと判定することにより、最大噴射量で燃料を噴射する状態になった場合に、デポジットの除去が完了したと判定することができる。従って、より確実にデポジットが除去された状態になった場合に、デポジットの除去が完了したと判定することができる。この結果、安定した運転状態を維持しつつ、より確実に筒内噴射インジェクタ56のデポジットを除去することができる。
また、空燃比学習補正部80は、バンク10ごとに空燃比の学習補正を行っているが、空燃比の学習補正は、バンク10ごと以外で行ってもよく、所定の複数の気筒5ごとに行ってもよい。このように、空燃比学習補正部80で行う空燃比の学習補正は、複数の気筒5のうち、一部の気筒5に燃料を供給する筒内噴射インジェクタ56ごとに行うのが好ましい。空燃比の学習補正をバンク10ごと以外の気筒5ごとに行なった場合でも、複数の気筒5のうち一部の気筒5に燃料を供給する筒内噴射インジェクタ56ごとに空燃比の学習補正を行うことにより、同一の制御で学習補正を行う筒内噴射インジェクタ56の数が少なくなるため、気筒5間の空燃比の差を低減することができる。この結果、気筒5間における燃料の噴射量のバラツキを低減しつつ、筒内噴射インジェクタ56に堆積したデポジットを除去することができる。
また、実施例に係るエンジン1では、気筒5は全部で6つ設けられており、3つの気筒5が1つの組になって第1バンク11と第2バンク12とを構成しているが、気筒5の構成はこれ以外の構成でもよい。気筒5の構成に関わらず、気筒5に燃料を噴射する燃料噴射弁としてポート噴射インジェクタ55と筒内噴射インジェクタ56とが設けられていればよい。また、実施例に係るエンジン1では、筒内噴射インジェクタ56にデポジットが堆積しているか否かの判定を、ポート噴射のみの積算時間に基づいて行っているが、筒内噴射インジェクタ56にデポジットが堆積しているか否かの判定は、これ以外の方法で行ってもよい。