(57)【特許請求の範囲】
【請求項１】
気筒ごとにポート噴射弁及び筒内噴射弁を燃料噴射弁として有する内燃機関に対して制御を行う内燃機関の制御装置であって、
少なくとも前記燃料噴射弁の温度及び前記燃料噴射弁に供給される燃料温度に基づいて、前記ポート噴射弁及び前記筒内噴射弁のそれぞれから噴射させる燃料噴射量を補正する補正量を算出する補正量算出手段と、
前記補正量に基づいて、前記ポート噴射弁及び前記筒内噴射弁に対する噴射制御を実行する噴射制御手段と、を備え、
前記補正量算出手段は、前記ポート噴射弁及び前記筒内噴射弁における噴き分け率に基づいて前記補正量を算出することを特徴とする内燃機関の制御装置。
【請求項２】
前記補正量算出手段は、複数の燃料噴射弁を噴き分け制御しているか否かに基づいて前記補正量を算出する請求項１に記載の内燃機関の制御装置。
【請求項３】
前記補正量に基づいて、空燃比学習制御における学習量を制限する学習量制限手段を更に備えることを特徴とする請求項１または２に記載の内燃機関の制御装置。
【請求項４】
前記学習量制御手段は、前記補正量が所定量より大きい場合には、前記空燃比学習制御を禁止することを特徴とする請求項３に記載の内燃機関の制御装置。
【請求項５】
前記補正量算出手段は、前記燃料噴射弁が噴射停止中であるときの前記燃料噴射弁の温度及び前記燃料温度に基づいて、前記補正量を算出することを特徴とする請求項１乃至４のいずれか一項に記載の内燃機関の制御装置。
【請求項６】
前記補正量算出手段は、前記燃料噴射弁が噴射停止から噴射を再開した場合には、前記補正量を徐々に減衰させていくことを特徴とする請求項５に記載の内燃機関の制御装置。
【請求項７】
前記補正量算出手段は、前記噴き分け率に基づいて、前記燃料噴射弁の温度及び前記燃料温度を求めることを特徴とする請求項１乃至６のいずれか一項に記載の内燃機関の制御装置。
【請求項８】
前記補正量算出手段は、前記燃料噴射弁の温度として当該燃料噴射弁の本体温度と当該燃料噴射弁の先端温度とを求めると共に、前記燃料温度として前記燃料噴射弁の配管内の燃料温度を求め、前記本体温度、前記先端温度、及び前記配管内の燃料温度に基づいて前記補正量を算出することを特徴とする請求項１乃至７のいずれか一項に記載の内燃機関の制御装置。
【請求項９】
前記補正量算出手段は、内燃機関からの受熱、車両走行風による冷却、及び燃焼ガスからの受熱の少なくともいずれか一つ以上に基づいて、前記燃料噴射弁の温度及び前記燃料温度を求めることを特徴とする請求項１乃至８のいずれか一項に記載の内燃機関の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、気筒ごとにポート噴射弁及び筒内噴射弁を有する内燃機関に対して制御を行う内燃機関の制御装置に関する。
【背景技術】
【０００２】
従来から、燃料噴射弁（以下、「インジェクタ」とも呼ぶ。）の温度特性などを考慮に入れて燃料噴射量を補正して制御を行う技術が知られている。例えば、特許文献１には、インジェクタの温度特性によるずれを考慮して空燃比制御を行う技術が記載されている。また、特許文献２には、インジェクタの受熱と放熱とを考慮して燃料噴射量を補正する技術が記載されている。更に、特許文献３には、燃料配管の雰囲気温度とインジェクタに流入する燃料流量から燃料温度を推定し、燃料噴射量を補正する技術が記載されている。
【０００３】
【特許文献１】特開２０００−１０４６００号公報
【特許文献２】特開２０００−１０４６１０号公報
【特許文献３】特開２００４−１８０３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
最近、同一気筒に複数のインジェクタを設け、これらの各々に対して噴射制御を行う技術が提案されている。しかしながら、上記した特許文献１乃至３に記載された技術では、このような複数のインジェクタの温度特性などを考慮に入れて、複数のインジェクタの各々に対して空燃比制御や燃料噴射量の補正などを行ってはいなかった。
【０００５】
本発明は、上記のような課題を解決するためになされたものであり、気筒ごとに複数のインジェクタを有する内燃機関に対して、適切に燃料噴射量の制御及び空燃比学習制御を行うことが可能な内燃機関の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の１つの観点では、気筒ごとにポート噴射弁及び筒内噴射弁を燃料噴射弁として有する内燃機関に対して制御を行う内燃機関の制御装置であって、少なくとも前記燃料噴射弁の温度及び前記燃料噴射弁に供給される燃料温度に基づいて、前記ポート噴射弁及び前記筒内噴射弁のそれぞれから噴射させる燃料噴射量を補正する補正量を算出する補正量算出手段と、前記補正量に基づいて、前記ポート噴射弁及び前記筒内噴射弁に対する噴射制御を実行する噴射制御手段と、を備え、前記補正量算出手段は、前記ポート噴射弁及び前記筒内噴射弁における噴き分け率に基づいて前記補正量を算出する。
【０００７】
上記の内燃機関の制御装置は、気筒ごとにポート噴射弁及び筒内噴射弁を燃料噴射弁として有する内燃機関に対して適用される。補正量算出手段は、少なくとも、ポート噴射弁及び筒内噴射弁それぞれの温度、及びポート噴射弁及び筒内噴射弁のそれぞれに供給される燃料温度に基づいて、燃料噴射量を補正する補正量を算出する。そして、噴射制御手段は、算出された補正量に基づいて噴射制御を実行する。上記の内燃機関の制御装置によれば、燃料噴射弁及び供給燃料が受ける受熱量などの変化を考慮して、受熱量変化による燃料噴射弁及び供給燃料の温度特性を精度良く推定するため、これに基づいて噴射量ずれを精度良く補正することができる。よって、空燃比の安定化を図ることが可能となる。
また、補正量算出手段は、燃料噴射弁が噴射停止中であることを考慮に入れて補正量を算出する。このように噴射を停止した燃料噴射弁は、噴射を継続した場合と比較して、インジェクタの温度特性が変化する可能性が高い。そのため、噴射停止後から噴射再開後に、燃料噴射の継続時における温度特性に戻るまで、温度特性の違いによる燃料噴射量のずれが発生し得る。よって、上記の内燃機関の制御装置によれば、噴射停止に起因する燃料噴射弁及び供給燃料が受ける受熱量などの変化を考慮して、受熱量変化によるインジェクタ及び供給燃料の温度特性を精度良く推定し、噴射量ずれを精度良く補正することができる。
上記の内燃機関の制御装置の好適な例では、前記補正量算出手段は、複数の燃料噴射弁を噴き分け制御しているか否かに基づいて前記補正量を算出する。
【０００８】
上記の内燃機関の制御装置の他の一態様では、前記補正量に基づいて、空燃比学習制御における学習量を制限する学習量制限手段を更に備える。この態様では、学習量制限手段は、燃料噴射弁及び供給燃料の温度特性の変化によって噴射量ずれが生じた場合に、空燃比学習制御における学習量を制限する。これにより、空燃比学習の誤学習を防止することが可能となる。
【０００９】
好適には、前記学習量制御手段は、前記補正量が所定量より大きい場合には、前記空燃比学習制御を禁止することができる。これにより、空燃比学習の誤学習を確実に防止することが可能となる。
【００１０】
上記の内燃機関の制御装置の他の一態様では、前記補正量算出手段は、前記燃料噴射弁が噴射停止中であるときの前記燃料噴射弁の温度及び前記燃料温度に基づいて、前記補正量を算出する。
【００１１】
この態様では、補正量算出手段は、燃料噴射弁が噴射停止中であることを考慮に入れて補正量を算出する。このように噴射を停止した燃料噴射弁は、噴射を継続した場合と比較して、インジェクタの温度特性が変化する可能性が高い。そのため、噴射停止後から噴射再開後に、燃料噴射の継続時における温度特性に戻るまで、温度特性の違いによる燃料噴射量のずれが発生し得る。よって、上記の内燃機関の制御装置によれば、噴射停止に起因する燃料噴射弁及び供給燃料が受ける受熱量などの変化を考慮して、受熱量変化によるインジェクタ及び供給燃料の温度特性を精度良く推定し、噴射量ずれを精度良く補正することができる。
【００１２】
好適には、前記燃料噴射弁が噴射停止から噴射を再開した場合には、前記補正量を徐々に減衰させていくことができる。噴射を再開した場合には、供給される燃料により燃料噴射弁が冷却されるからである。
【００１５】
好適には、前記補正量算出手段は、前記噴き分け率に基づいて、前記燃料噴射弁の温度及び前記燃料温度を求めることができる。
【００１６】
上記の内燃機関の制御装置において好適には、前記補正量算出手段は、前記燃料噴射弁の温度として当該燃料噴射弁の本体温度と当該燃料噴射弁の先端温度とを求めると共に、前記燃料温度として前記燃料噴射弁の配管内の燃料温度を求め、前記本体温度、前記先端温度、及び前記配管内の燃料温度に基づいて前記補正量を算出することができる。これにより、燃料噴射量の補正量を更に精度良く算出することができる。
【００１７】
また、好適には、前記補正量算出手段は、内燃機関からの受熱、車両走行風による冷却、及び燃焼ガスからの受熱の少なくともいずれか一つ以上に基づいて、前記燃料噴射弁の温度及び前記燃料温度を求める。即ち、補正量算出手段は、内燃機関からの受熱、車両走行風による冷却、及び燃焼ガスからの受熱を考慮に入れて、燃料噴射量の補正量を算出することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して本発明の好適な実施の形態について説明する。
【００１９】
［全体構成］
図１は、本実施形態に係る内燃機関の制御装置が適用されたエンジン８の構成を示す概略図である。なお、図１では、実線矢印がガスの流れを示し、破線矢印が信号の入出力を示している。
【００２０】
エンジン８は、主に、吸気通路３と、スロットルバルブ４と、ポート噴射インジェクタ（ポート噴射弁）９と、筒内噴射インジェクタ（筒内噴射弁）１０と、気筒１１ａと、点火プラグ１２と、吸気弁１３ａと、排気弁１３ｂと、排気通路１８と、を有する。エンジン８は、車両内に設けられる内燃機関であり、例えばガソリンエンジンやディーゼルエンジンなどによって構成される。なお、図１においては、説明の便宜上、１つの気筒１１ａのみを示しているが、実際にはエンジン８は複数の気筒１１ａを有している。
【００２１】
吸気通路３には、気筒１１ａに供給するための吸気が流通し、通路上には吸入空気量を調整するスロットルバルブ４が設けられている。気筒１１ａの燃焼室１１ｂには、吸気通路３より吸気が供給されると共に、ポート噴射インジェクタ９及び筒内噴射インジェクタ１０の少なくとも一方から燃料が供給される。燃焼室１１ｂ内では、点火プラグ１２の点火により着火されることによって、供給された吸気と燃料との混合気が燃焼される。この場合、燃焼によってピストン１１ｃが往復運動し、この往復運動がコンロッド１１ｄを介してクランク軸（不図示）に伝達され、クランク軸が回転する。そして、上記した燃焼室１１ｂ内における燃焼により発生した排気ガスは、排気通路１８に排出される。
【００２２】
ポート噴射インジェクタ９は、吸気通路３上に設けられており、吸気通路３中に燃料を噴射する。筒内噴射インジェクタ１０は、気筒１１ａに設けられており、気筒１１ａの燃焼室１１ｂ内に直接燃料を噴射する。ポート噴射インジェクタ９、及び筒内噴射インジェクタ１０は、ＥＣＵ３０から供給される制御信号によって制御される。即ち、ＥＣＵ３０によって、燃料の噴射制御が実行される。なお、以下では、ポート噴射インジェクタを「ポートＩＮＪ」と呼び、筒内噴射インジェクタを「筒内ＩＮＪ」と呼ぶ。また、これら２つを区別なく用いる場合、及びこれら２つをまとめて用いる場合には、単に「インジェクタ」とも呼ぶ。
【００２３】
更に、燃焼室１１ｂには、吸気弁１３ａと排気弁１３ｂが設けられている。吸気弁１３ａは、開閉することによって、吸気通路３と燃焼室１１ｂとの導通／遮断を制御する。また、排気弁１３ｂは、開閉することによって、排気通路１８と燃焼室１１ｂとの導通／遮断を制御する。
【００２４】
上記したエンジン８が設けられた車両には種々のセンサが配設されている。具体的には、車両には、主に、エンジン水温センサ２１、エアフロメータ２２、燃料温度センサ２３、及び外気温度センサ２４が設けられている。エンジン水温センサ２１は、エンジン８を冷却する冷却水の温度を検出し、エアフロメータ２２は吸気通路３上などに設けられ、吸入空気量を検出し、燃料温度センサ２３は、燃料が通過する通路上などに設けられ、燃料温度を検出する。また、外気温度センサ２４は車両の外気の温度を検出する。例えば、外気温度センサ２４は、車両走行風の温度を検出可能に構成されている。これらのセンサが検出した検出値は、検出信号としてＥＣＵ３０に供給される。
【００２５】
ＥＣＵ（Electronic Control Unit）３０は、図示しないＣＰＵ、ＲＯＭ、ＲＡＭ、及びＡ／Ｄ変換器などを含んで構成される。ＥＣＵ３０は、上記した各種センサから供給される検出信号に基づいて、車両内の制御を行う。具体的には、ＥＣＵ３０は、車両内の運転状況などに応じて、ポートＩＮＪ９及び筒内ＩＮＪ１０に対して燃料の噴射制御を実行する。より詳しくは、ＥＣＵ３０は、ポートＩＮＪ９及び筒内ＩＮＪ１０のうちのいずれか一方の燃料噴射を停止し、停止していない他方のインジェクタから燃料を噴射させる制御（以下、「噴射停止制御」とも呼ぶ。）を実行する。また、ＥＣＵ３０は、エンジン負荷などに基づいてポートＩＮＪ９及び筒内ＩＮＪ１０を噴き分ける割合（以下、「噴き分け率」と呼ぶ。）を求め、求められた噴き分け率で燃料を噴射させる制御（以下、「噴き分け制御」とも呼ぶ。）を実行する。更に、ＥＣＵ３０は、システムのバラツキや経時変化等により空燃比のずれを補正するために、空燃比を学習させる制御（空燃比学習制御）を実行する。
【００２６】
本実施形態では、ＥＣＵ３０は、上記した噴射停止制御及び噴き分け制御の実行の有無などに基づいて、ポートＩＮＪ９及び筒内ＩＮＪ１０から噴射させる燃料噴射量を補正する補正量を算出する。詳しくは、ＥＣＵ３０は、噴射停止制御及び噴き分け制御の実行の有無などに基づいて、ポートＩＮＪ９及び筒内ＩＮＪ１０の温度やこれらのインジェクタに供給される燃料温度を求めて、燃料噴射量を補正する補正量を算出する。
【００２７】
更に、本実施形態では、ＥＣＵ３０は、燃料噴射量を補正する補正量に基づいて、空燃比学習制御における学習量を制限する制御を行う。例えば、ＥＣＵ３０は、補正量に応じて、空燃比学習制御の実行を禁止する。このように、ＥＣＵ３０は、本発明における内燃機関の制御装置として機能する。具体的には、ＥＣＵ３０は、補正量算出手段、噴射制御手段、及び学習量制限手段として動作する。
【００２８】
以下で、本実施形態に係るＥＣＵ３０が行う制御を具体的に説明する。
【００２９】
［第１実施形態］
まず、第１実施形態に係る制御について説明する。第１実施形態では、ＥＣＵ３０は、噴射停止制御を実行した場合に、ポートＩＮＪ９及び筒内ＩＮＪ１０から噴射させる燃料噴射量を補正する補正量を算出し、この補正量に基づいて噴射制御を行う。このように噴射停止制御を実行した場合に燃料噴射量を補正する理由は、以下の通りである。
【００３０】
機関運転中において、噴射を停止するインジェクタが存在する場合、噴射を停止したインジェクタは、燃料噴射による冷却効果が得られないため、そのインジェクタが受ける受熱量は、噴射を継続した場合と比較して著しく変化する傾向にある。また、噴射を停止したインジェクタにおいては配管内を流動する燃料が停止するため、配管内を流動する燃料自体の受熱量も変化する傾向にある。したがって、噴射を停止したインジェクタは、噴射を継続した場合と比較して、インジェクタの温度特性が変化する可能性が高い。そのため、噴射停止後から噴射再開後に、燃料噴射の継続時における温度特性に戻るまで、温度特性の違いによる燃料噴射量のずれが発生し得る。即ち、同一の制御信号をインジェクタに供給した場合において、噴射を停止したインジェクタより噴射される燃料噴射量が、噴射を継続しているインジェクタより噴射される燃料噴射量からずれる場合がある。以上の理由より、第１実施形態では、噴射停止制御を実行した場合に燃料噴射量を補正する。
【００３１】
図２は、第１実施形態に係る制御を示すフローチャートである。この制御は、ＥＣＵ３０によって所定の周期で繰り返し実行される。なお、図２のフローチャート及び以下の説明で使用する変数などの意味は、以下の通りである。
【００３２】
PTtop：ポートＩＮＪ先端温度
PTbody：ポートＩＮＪ本体温度
PTfuel：ポートＩＮＪ配管内燃料温度
Kthw1：第１のエンジンからの受熱補正係数
Kair：吸入空気による冷却補正係数
Kpfuel1：第１の燃料温度補正係数
Kthw2：第２のエンジンからの受熱補正係数
Kspd1：第１の車両走行風による冷却補正係数
Kpfuel2：第２の燃料温度補正係数
Kthw3：第３のエンジンからの受熱補正係数
Kspd2：第２の車両走行風による冷却補正係数
Kp：ポートＩＮＪ噴射量補正係数
K(PTtop)：ポートＩＮＪ先端温度変化分補正係数
K(PTbody)：ポートＩＮＪ本体温度変化分補正係数
K(PTfuel)：ポートＩＮＪ配管内燃料温度変化分補正係数
DTtop：筒内ＩＮＪ先端温度
DTbody：筒内ＩＮＪ本体温度
DTfuel：筒内ＩＮＪ配管内燃料温度
Kthw4：第４のエンジンからの受熱補正係数
Kcomb：燃焼ガスによる温度補正係数
Kpfuel3：第３の燃料温度補正係数
Kthw5：第５のエンジンからの受熱補正係数
Kspd3：第３の車両走行風による冷却補正係数
Kpfuel4：第４の燃料温度補正係数
Kthw6：第６のエンジンからの受熱補正係数
Kspd4：第４の車両走行風による冷却補正係数
Kd：筒内ＩＮＪ噴射量補正係数
K(DTtop)：筒内ＩＮＪ先端温度変化分補正係数
K(DTbody)：筒内ＩＮＪ本体温度変化分補正係数
K(DTfuel)：筒内ＩＮＪ配管内燃料温度変化分補正係数
Kpdec：ポートＩＮＪ噴射量補正係数減衰値
Kddec：筒内ＩＮＪ噴射量補正係数減衰値
PQ：ポートＩＮＪ噴射量
DQ：筒内ＩＮＪ噴射量
PQbase：ポートＩＮＪ基本噴射量
DQbase：筒内ＩＮＪ基本噴射量
まず、ステップＳ１０１では、ＥＣＵ３０は、機関運転中であるか否かを判定する。機関運転中である場合（ステップＳ１０１；Ｙｅｓ）、処理はステップＳ１０２に進み、機関運転中でない場合（ステップＳ１０１；Ｎｏ）、処理は当該フローを抜ける。
【００３３】
ステップＳ１０２以降の処理の概要は、以下の通りである。ステップＳ１０２〜ステップＳ１０６の処理は、ポートＩＮＪ９からの燃料噴射量の補正量、具体的にはポートＩＮＪ噴射量補正係数Kpを算出するために実行される。一方、ステップＳ１０７〜ステップＳ１１１の処理は、筒内ＩＮＪ１０からの燃料噴射量の補正量、具体的には筒内ＩＮＪ噴射量補正係数Kdを算出するために実行される。
【００３４】
ステップＳ１０２では、ＥＣＵ３０は、ポートＩＮＪ９が噴射中であるか否かを判定する。ポートＩＮＪ９が噴射中である場合（ステップＳ１０２；Ｙｅｓ）、処理はステップＳ１０３に進む。ポートＩＮＪ９が噴射中でない場合（ステップＳ１０２；Ｎｏ）、即ち、ポートＩＮＪ９が噴射停止中である場合には、処理はステップＳ１０４に進む。
【００３５】
ステップＳ１０３では、ＥＣＵ３０は、ポートＩＮＪ噴射量補正係数Kpを減衰させる処理を行う。この場合には、ポートＩＮＪ９が噴射中であるため、ポートＩＮＪ９が供給される燃料により冷却などされるため、徐々に燃料噴射量の補正量が小さくなるように、ポートＩＮＪ噴射量補正係数Kpを減衰させる。具体的には、以下の式（１）を用いて、ポートＩＮＪ噴射量補正係数Kpを更新する。
【００３６】
Kp＝Kp(n-1)-Kpdec    式（１）
式（１）によれば、前回の処理において算出されたポートＩＮＪ噴射量補正係数Kp(n-1)から、ポートＩＮＪ噴射量補正係数減衰値Kpdec分を減算することによって、ポートＩＮＪ噴射量補正係数Kpが得られる。この場合、式（１）を用いて、ポートＩＮＪ噴射量補正係数Kpが「１」になるまで（即ち補正量が０になるまで）減衰させる。なお、ポートＩＮＪ噴射量補正係数減衰値Kpdecは、機関運転条件や燃料噴射量に応じた値が選択される。以上のステップＳ１０３の処理が終了すると、処理はステップＳ１０７に進む。
【００３７】
一方、ステップＳ１０４〜Ｓ１０６の処理では、ＥＣＵ３０は、ポートＩＮＪ９が噴射停止中であるため、このような状態を考慮に入れてポートＩＮＪ噴射量補正係数Kpの算出を行う。まず、ステップＳ１０４では、ＥＣＵ３０は、ポートＩＮＪ先端温度PTtopと、ポートＩＮＪ本体温度PTbodyと、ポートＩＮＪ配管内燃料温度PTfuelと、を算出する。具体的には、ＥＣＵ３０は、以下の式（２）〜（４）を用いて、これらを算出する。
【００３８】
PTtop=Σ(Kthw1+Kair+Kpfuel1)    式（２）
PTbody=Σ(Kthw2+Kspd1+Kpfuel2)    式（３）
PTfuel=Σ(Kthw3+Kspd2)    式（４）
式（２）によれば、ポートＩＮＪ先端温度PTtopは、第１のエンジンからの受熱補正係数Kthw1と、吸入空気による冷却補正係数Kairと、第１の燃料温度補正係数Kpfuel1と、に基づいて算出される。即ち、ポートＩＮＪ先端温度PTtopは、ポートＩＮＪ９の先端部がエンジンからの受熱と、吸入空気による冷却と、燃料温度と、の影響を受けることを考慮に入れて求められる。式（３）によれば、ポートＩＮＪ本体温度PTbodyは、第２のエンジンからの受熱補正係数Kthw2と、第１の車両走行風による冷却補正係数Kspd1と、第２の燃料温度補正係数Kpfuel2と、に基づいて算出される。即ち、ポートＩＮＪ本体温度PTbodyは、ポートＩＮＪ９の本体部がエンジンからの受熱と、車両走行風による冷却と、燃料温度と、の影響を受けることを考慮に入れて求められる。また、式（４）によれば、ポートＩＮＪ配管内燃料温度PTfuelは、第３のエンジンからの受熱補正係数Kthw3と、第２の車両走行風による冷却補正係数Kspd2と、に基づいて算出される。即ち、ポートＩＮＪ配管内燃料温度PTfuelは、ポートＩＮＪ９の配管内を流動する燃料がエンジンからの受熱と、車両走行風による冷却と、の影響を受けることを考慮に入れて求められる。以上の処理が終了すると、処理はステップＳ１０５に進む。
【００３９】
なお、エンジンからの受熱補正係数Kthw1、Kthw2、Kthw3は、エンジン水温（エンジン水温センサ２１より検出される）を、予め定められたマップや演算式などに代入することによって得られる値である。吸入空気による冷却補正係数Kairは、吸入空気量（エアフロメータ２２より検出される）と吸入空気温度を、予め定められたマップや演算式などに代入することによって得られる値である。燃料温度補正係数Kpfuel1、Kpfuel2は、燃料温度（燃料温度センサ２３より検出される）を、予め定められたマップや演算式などに代入することによって得られる値である。車両走行風による冷却補正係数Kspd1、Kspd2は、車両走行風の温度（外気温度センサ２４より検出される）と車速度を、予め定められたマップや演算式などに代入することによって得られる値である。
【００４０】
ステップＳ１０５では、ＥＣＵ３０は、ポートＩＮＪ９が噴射を再開したか否かを判定する。噴射を再開した場合（ステップＳ１０５；Ｙｅｓ）、処理はステップＳ１０６に進む。一方、噴射を再開していない場合（ステップＳ１０５；Ｎｏ）、即ち噴射停止を継続している場合、処理はステップＳ１０４に戻る。即ち、噴射を再開するまで、ポートＩＮＪ先端温度PTtopと、ポートＩＮＪ本体温度PTbodyと、ポートＩＮＪ配管内燃料温度PTfuelと、を算出する処理を繰り返す。
【００４１】
ステップＳ１０６では、ＥＣＵ３０は、ポートＩＮＪ噴射量補正係数Kpを算出する。具体的には、ＥＣＵ３０は、上記したポートＩＮＪ先端温度PTtopと、ポートＩＮＪ本体温度PTbodyと、ポートＩＮＪ配管内燃料温度PTfuelと、に基づいてポートＩＮＪ噴射量補正係数Kpを算出する。詳しくは、以下の式（５）を用いて、ポートＩＮＪ噴射量補正係数Kpを算出する。
【００４２】
Kp=K(PTtop)+K(PTbody)+K(PTfuel)    式（５）
式（５）によれば、ポートＩＮＪ噴射量補正係数Kpは、ポートＩＮＪ先端温度変化分補正係数K(PTtop)と、ポートＩＮＪ本体温度変化分補正係数K(PTbody)と、ポートＩＮＪ配管内燃料温度変化分補正係数K(PTfuel)と、に基づいて算出される。ポートＩＮＪ先端温度変化分補正係数K(PTtop)は、ポートＩＮＪ先端温度PTtopを、予め定められたマップや演算式などに代入することによって得られる値である。ポートＩＮＪ本体温度変化分補正係数K(PTbody)は、ポートＩＮＪ本体温度PTbodyを、予め定められたマップや演算式などに代入することによって得られる値である。ポートＩＮＪ配管内燃料温度変化分補正係数K(PTfuel)は、ポートＩＮＪ配管内燃料温度PTfuelを、予め定められたマップや演算式などに代入することによって得られる値である。以上の処理が終了すると、処理はステップＳ１０７に進む。
【００４３】
ステップＳ１０７以降の処理では、筒内ＩＮＪ噴射量補正係数Kdを算出するために実行される。ステップＳ１０７では、ＥＣＵ３０は、筒内ＩＮＪ１０が噴射中であるか否かを判定する。筒内ＩＮＪ１０が噴射中である場合（ステップＳ１０７；Ｙｅｓ）、処理はステップＳ１０８に進む。筒内ＩＮＪ１０が噴射中でない場合（ステップＳ１０７；Ｎｏ）、即ち、筒内ＩＮＪ１０が噴射停止中である場合には、処理はステップＳ１０９に進む。
【００４４】
ステップＳ１０８では、ＥＣＵ３０は、筒内ＩＮＪ噴射量補正係数Kdを減衰させる処理を行う。この場合には、筒内ＩＮＪ１０が噴射中であるため、筒内ＩＮＪ１０が供給される燃料により冷却されるため、徐々に燃料噴射量の補正量が小さくなるように、筒内ＩＮＪ噴射量補正係数Kdを減衰させる。具体的には、以下の式（６）を用いて、筒内ＩＮＪ噴射量補正係数Kdを更新する。
【００４５】
Kd＝Kd(n-1)-Kddec    式（６）
式（６）によれば、前回の処理において算出された筒内ＩＮＪ噴射量補正係数Kd(n-1)から、筒内ＩＮＪ噴射量補正係数減衰値Kddec分を減算することによって、筒内ＩＮＪ噴射量補正係数Kdが得られる。この場合、式（６）を用いて、筒内ＩＮＪ噴射量補正係数Kdが「１」になるまで（即ち補正量が０になるまで）減衰させる。なお、筒内ＩＮＪ噴射量補正係数減衰値Kddecは、機関運転条件や燃料噴射量に応じた値が選択される。以上のステップＳ１０８の処理が終了すると、処理はステップＳ１１２に進む。
【００４６】
一方、ステップＳ１０９〜Ｓ１１１の処理では、ＥＣＵ３０は、筒内ＩＮＪ１０が噴射停止中であるため、このような状態を考慮に入れて筒内ＩＮＪ噴射量補正係数Kdの算出を行う。まず、ステップＳ１０９では、ＥＣＵ３０は、筒内ＩＮＪ先端温度DTtopと、筒内ＩＮＪ本体温度DTbodyと、筒内ＩＮＪ配管内燃料温度DTfuelと、を算出する。具体的には、ＥＣＵ３０は、以下の式（７）〜（９）を用いて、これらを算出する。
【００４７】
DTtop=Σ(Kthw4+Kcomb+Kpfuel3)    式（７）
DTbody=Σ(Kthw5+Kspd3+Kpfuel4)    式（８）
DTfuel=Σ(Kthw6+Kspd4)    式（９）
式（７）によれば、筒内ＩＮＪ先端温度DTtopは、第４のエンジンからの受熱補正係数Kthw4と、燃焼ガスによる温度補正係数Kcombと、第３の燃料温度補正係数Kpfuel3と、に基づいて算出される。即ち、筒内ＩＮＪ先端温度DTtopは、筒内ＩＮＪ１０の先端部がエンジンからの受熱と、燃焼ガスによる受熱と、燃料温度と、の影響を受けることを考慮に入れて求められる。式（８）によれば、筒内ＩＮＪ本体温度DTbodyは、第５のエンジンからの受熱補正係数Kthw5と、第３の車両走行風による冷却補正係数Kspd3と、第４の燃料温度補正係数Kpfuel4と、に基づいて算出される。即ち、筒内ＩＮＪ本体温度DTbodyは、筒内ＩＮＪ１０の本体部がエンジンからの受熱と、車両走行風による冷却と、燃料温度と、の影響を受けることを考慮に入れて求められる。また、式（９）によれば、筒内ＩＮＪ配管内燃料温度DTfuelは、第６のエンジンからの受熱補正係数Kthw6と、第４の車両走行風による冷却補正係数Kspd4と、に基づいて算出される。即ち、筒内ＩＮＪ配管内燃料温度DTfuelは、筒内ＩＮＪ１０の配管内を流動する燃料がエンジンからの受熱と、車両走行風による冷却と、の影響を受けることを考慮に入れて求められる。以上の処理が終了すると、処理はステップＳ１１０に進む。
【００４８】
なお、エンジンからの受熱補正係数Kthw4、Kthw5、Kthw6は、エンジン水温（エンジン水温センサ２１より検出される）を、予め定められたマップや演算式などに代入することによって得られる値である。燃焼ガスによる温度補正係数Kcombは、推定などによって得られる燃焼ガスの温度を、予め定められたマップや演算式などに代入することによって得られる値である。燃料温度補正係数Kpfuel3、Kpfuel4は、燃料温度（燃料温度センサ２３より検出される）を、予め定められたマップや演算式などに代入することによって得られる値である。車両走行風による冷却補正係数Kspd3、Kspd4は、車両走行風の温度（外気温度センサ２４より検出される）と車速度を、予め定められたマップや演算式などに代入することによって得られる値である。
【００４９】
ステップＳ１１０では、ＥＣＵ３０は、筒内ＩＮＪ１０が噴射を再開したか否かを判定する。噴射を再開した場合（ステップＳ１１０；Ｙｅｓ）、処理はステップＳ１１１に進む。一方、噴射を再開していない場合（ステップＳ１１０；Ｎｏ）、即ち噴射停止を継続している場合、処理はステップＳ１０９に戻る。即ち、噴射を再開するまで、筒内ＩＮＪ先端温度DTtopと、筒内ＩＮＪ本体温度DTbodyと、筒内ＩＮＪ配管内燃料温度DTfuelと、を算出する処理を繰り返す。
【００５０】
ステップＳ１１１では、ＥＣＵ３０は、筒内ＩＮＪ噴射量補正係数Kdを算出する。具体的には、ＥＣＵ３０は、上記した筒内ＩＮＪ先端温度DTtopと、筒内ＩＮＪ本体温度DTbodyと、筒内ＩＮＪ配管内燃料温度DTfuelと、に基づいて筒内ＩＮＪ噴射量補正係数Kdを算出する。詳しくは、以下の式（１０）を用いて、筒内ＩＮＪ噴射量補正係数Kdを算出する。
【００５１】
Kd=K(DTtop)+K(DTbody)+K(DTfuel)    式（１０）
式（１０）によれば、筒内ＩＮＪ噴射量補正係数Kdは、筒内ＩＮＪ先端温度変化分補正係数K(DTtop)と、筒内ＩＮＪ本体温度変化分補正係数K(DTbody)と、筒内ＩＮＪ配管内燃料温度変化分補正係数K(DTfuel)と、に基づいて算出される。筒内ＩＮＪ先端温度変化分補正係数K(DTtop)は、筒内ＩＮＪ先端温度DTtopを、予め定められたマップや演算式などに代入することによって得られる値である。筒内ＩＮＪ本体温度変化分補正係数K(DTbody)は、筒内ＩＮＪ本体温度DTbodyを、予め定められたマップや演算式などに代入することによって得られる値である。筒内ＩＮＪ配管内燃料温度変化分補正係数K(DTfuel)は、筒内ＩＮＪ配管内燃料温度DTfuelを、予め定められたマップや演算式などに代入することによって得られる値である。以上の処理が終了すると、処理はステップＳ１１２に進む。
【００５２】
ステップＳ１１２では、ＥＣＵ３０は、上記した処理によって得られたポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdに基づいて、ポートＩＮＪ噴射量PQ及び筒内ＩＮＪ噴射量DQを求める。即ち、補正した燃料噴射量を求める。具体的には、ポートＩＮＪ基本噴射量PQbase及び筒内ＩＮＪ基本噴射量DQbaseを用いて、式（１１）、式（１２）に基づいて、ポートＩＮＪ噴射量PQ及び筒内ＩＮＪ噴射量DQを求める。
【００５３】
PQ=PQbase×Kp    式（１１）
DQ=DQbase×Kd    式（１２）
式（１１）中のポートＩＮＪ基本噴射量PQbase、及び（１２）中の筒内ＩＮＪ基本噴射量DQbaseは、エンジン８の負荷などにより設定される噴射量であり、噴射再開後に燃料噴射をある程度継続して行った際に設定すべき噴射量である。つまり、ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdが「１」である場合（補正が行われない場合）には、ポートＩＮＪ噴射量PQとしてポートＩＮＪ基本噴射量PQbaseが算出され、筒内ＩＮＪ噴射量DQとして筒内ＩＮＪ基本噴射量DQbaseが算出される。以上の処理が終了すると、処理は当該フローを抜ける。この後、ＥＣＵ３０は、ポートＩＮＪ９からポートＩＮＪ噴射量PQが噴射されるように噴射制御すると共に、筒内ＩＮＪ１０から筒内ＩＮＪ噴射量DQが噴射されるように噴射制御する。具体的には、ポートＩＮＪ９が噴射停止していた場合には噴射再開時にポートＩＮＪ噴射量PQが噴射されるように制御し、筒内ＩＮＪ１０が噴射停止していた場合には噴射再開時に筒内ＩＮＪ噴射量DQが噴射されるように制御する。
【００５４】
以上より、第１実施形態に係る制御によれば、噴射停止制御によるインジェクタ及び供給燃料が受ける受熱量などの変化を考慮して、受熱量変化によるインジェクタ及び供給燃料の温度特性を精度良く推定し、噴射量ずれを精度良く補正することができる。これにより、空燃比の安定化を図ることが可能となる。
【００５５】
［第２実施形態］
次に、第２実施形態に係る制御について説明する。第２実施形態では、ＥＣＵ３０は、上記した噴射停止制御の代わりに噴き分け制御を実行した場合に、ポートＩＮＪ９及び筒内ＩＮＪ１０の燃料噴射量を補正する補正量を算出する。このように噴き分け制御を行う場合に燃料噴射量を補正する理由は、以下の通りである。
【００５６】
機関運転中において、燃料噴射量をエンジン負荷などに応じて複数のインジェクタで噴き分け制御をする場合、噴き分けにより燃料噴射量が減った分、燃料噴射による冷却効果が目減りし、インジェクタが受ける受熱量が変化する場合がある。また、配管内を流動する燃料量が減った分、燃料の受熱率が増加し、燃料自体の受熱量も変化する場合がある。したがって、噴き分け制御を実行した場合と噴き分け制御を実行しない場合（全量を単一のインジェクタで噴射する場合）とを比較すると、インジェクタの温度特性が変化し、温度特性の変化による燃料噴射量のずれが発生し得る。即ち、同一の制御信号をインジェクタに供給した場合において、噴き分け制御を行っているインジェクタより噴射される燃料噴射量が、全量を噴射しているインジェクタより噴射される燃料噴射量からずれる場合がある。以上の理由より、第２実施形態では、噴き分け制御を実行した場合に燃料噴射量を補正する。
【００５７】
図３は、第２実施形態に係る制御を示すフローチャートである。この制御は、ＥＣＵ３０によって所定の周期で繰り返し実行される。なお、図３のフローチャート及び以下の説明で使用する変数などの意味は、前述した図２と同様である。
【００５８】
まず、ステップＳ２０１では、ＥＣＵ３０は、機関運転中であるか否かを判定する。機関運転中である場合（ステップＳ２０１；Ｙｅｓ）、処理はステップＳ２０２に進み、機関運転中でない場合（ステップＳ２０１；Ｎｏ）、処理は当該フローを抜ける。
【００５９】
ステップＳ２０２以降の処理の概要は、以下の通りである。ステップＳ２０２〜ステップＳ２０５の処理は、ポートＩＮＪ噴射量補正係数Kpを算出するために実行される。一方、ステップＳ２０６〜ステップＳ２０９の処理は、筒内ＩＮＪ噴射量補正係数Kdを算出するために実行される。
【００６０】
ステップＳ２０２では、ＥＣＵ３０は、ポートＩＮＪ噴き分け率kpfiが「１．０」以上であるか否かを判定する。ポートＩＮＪ噴き分け率kpfiが「１．０」以上である場合（ステップＳ２０２；Ｙｅｓ）、処理はステップＳ２０３に進む。ステップＳ２０３では、ＥＣＵ３０は、ポートＩＮＪ噴射量補正係数Kpを「１．０」に設定し（即ち補正量を「０」にする）、ステップＳ２０６の処理に進む。こうするのは、ポートＩＮＪ９が全量を噴射しているため、ポートＩＮＪ噴射量を補正する必要がないからである。一方、ポートＩＮＪ噴き分け率kpfiが「１．０」未満である場合（ステップＳ２０２；Ｎｏ）、処理はステップＳ２０４に進む。
【００６１】
ステップＳ２０４では、ＥＣＵ３０は、ポートＩＮＪ先端温度PTtopと、ポートＩＮＪ本体温度PTbodyと、ポートＩＮＪ配管内燃料温度PTfuelと、を算出する。具体的には、ＥＣＵ３０は、以下の式（１３）〜（１５）を用いて、これらを算出する。
【００６２】
PTtop=Σ(Kthw1+Kair+Kpfuel1)/kpfi    式（１３）
PTbody=Σ(Kthw2+Kspd1+Kpfuel2)/kpfi    式（１４）
PTfuel=Σ(Kthw3+Kspd2)/kpfi    式（１５）
式（１３）〜（１５）では、前述した式（２）〜（４）から得られる値をポートＩＮＪ噴き分け率kpfiによって除算することによって、ポートＩＮＪ先端温度PTtopと、ポートＩＮＪ本体温度PTbodyと、ポートＩＮＪ配管内燃料温度PTfuelと、を算出している。以上の処理が終了すると、処理はステップＳ２０５に進む。
【００６３】
ステップＳ２０５では、ＥＣＵ３０は、ポートＩＮＪ噴射量補正係数Kpを算出する。具体的には、ＥＣＵ３０は、上記したポートＩＮＪ先端温度PTtopと、ポートＩＮＪ本体温度PTbodyと、ポートＩＮＪ配管内燃料温度PTfuelと、に基づいてポートＩＮＪ噴射量補正係数Kpを算出する。詳しくは、前述した式（５）を用いて、ポートＩＮＪ噴射量補正係数Kpを算出する。そして、処理はステップＳ２０６に進む。
【００６４】
ステップＳ２０６以降の処理では、筒内ＩＮＪ噴射量補正係数Kdを算出するために実行される。ステップＳ２０６では、ＥＣＵ３０は、筒内ＩＮＪ噴き分け率kdiが「１．０」以上であるか否かを判定する。筒内ＩＮＪ噴き分け率kdiが「１．０」以上である場合（ステップＳ２０６；Ｙｅｓ）、処理はステップＳ２０７に進む。ステップＳ２０７では、ＥＣＵ３０は、筒内ＩＮＪ噴射量補正係数Kdを「１．０」に設定し（即ち補正量を「０」にする）、ステップＳ２１０の処理に進む。こうするのは、筒内ＩＮＪ１０が全量を噴射しているため、筒内ＩＮＪ噴射量を補正する必要がないからである。一方、筒内ＩＮＪ噴き分け率kdiが「１．０」未満である場合（ステップＳ２０６；Ｎｏ）、処理はステップＳ２０８に進む。
【００６５】
ステップＳ２０８では、ＥＣＵ３０は、筒内ＩＮＪ先端温度DTtopと、筒内ＩＮＪ本体温度DTbodyと、筒内ＩＮＪ配管内燃料温度DTfuelと、を算出する。具体的には、ＥＣＵ３０は、以下の式（１６）〜（１８）を用いて、これらを算出する。
【００６６】
DTtop=Σ(Kthw4+Kcomb+Kpfuel3)/kdi    式（１６）
DTbody=Σ(Kthw5+Kspd3+Kpfuel4)/kdi    式（１７）
DTfuel=Σ(Kthw6+Kspd4)/kdi    式（１８）
式（１６）〜（１８）では、前述した式（７）〜（９）から得られる値を筒内ＩＮＪ噴き分け率kdiによって除算することによって、筒内ＩＮＪ先端温度DTtopと、筒内ＩＮＪ本体温度DTbodyと、筒内ＩＮＪ配管内燃料温度DTfuelと、を算出している。以上の処理が終了すると、処理はステップＳ２０９に進む。
【００６７】
ステップＳ２０９では、ＥＣＵ３０は、筒内ＩＮＪ噴射量補正係数Kdを算出する。具体的には、ＥＣＵ３０は、上記した筒内ＩＮＪ先端温度DTtopと、筒内ＩＮＪ本体温度DTbodyと、筒内ＩＮＪ配管内燃料温度DTfuelと、に基づいて筒内ＩＮＪ噴射量補正係数Kdを算出する。詳しくは、前述した式（１０）を用いて、筒内ＩＮＪ噴射量補正係数Kdを算出する。そして、処理はステップＳ２１０に進む。
【００６８】
ステップＳ２１０では、ＥＣＵ３０は、上記した処理によって得られたポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdに基づいて、ポートＩＮＪ噴射量PQ及び筒内ＩＮＪ噴射量DQを求める。即ち、補正した燃料噴射量を求める。具体的には、ポートＩＮＪ基本噴射量PQbase及び筒内ＩＮＪ基本噴射量DQbaseを用いて、前述した式（１１）、式（１２）に基づいて、ポートＩＮＪ噴射量PQ及び筒内ＩＮＪ噴射量DQを求める。以上の処理が終了すると、処理は当該フローを抜ける。この後、ＥＣＵ３０は、ポートＩＮＪ９からポートＩＮＪ噴射量PQが噴射されるように噴射制御すると共に、筒内ＩＮＪ１０から筒内ＩＮＪ噴射量DQが噴射されるように噴射制御する。
【００６９】
以上より、第２実施形態に係る制御によれば、噴き分け制御によるインジェクタ及び供給燃料が受ける受熱量などの変化を考慮して、受熱量変化によるインジェクタ及び供給燃料の温度特性を精度良く推定し、噴射量ずれを精度良く補正することができる。これにより、空燃比の安定化を図ることが可能となる。
【００７０】
［第３実施形態］
次に、第３実施形態に係る制御について説明する。第３実施形態では、燃料噴射量を補正する補正量を算出するだけでなく、この補正量に基づいて空燃比学習制御の実行を制限する点で、上述した第１実施形態及び第２実施形態とは異なる。具体的には、第３実施形態では、噴射停止制御を実行した場合に、燃料噴射量の補正量に基づいて空燃比学習制御の実行を制限する。こうするのは、噴射を停止したインジェクタは、温度特性の変化に起因する燃料噴射量のずれが発生し得るからである。即ち、第３実施形態に係る制御は、燃料噴射量のずれに起因する空燃比学習の誤学習を防止するために行われる。
【００７１】
図４は、第３実施形態に係る制御を示すフローチャートである。この制御は、ＥＣＵ３０によって所定の周期で繰り返し実行される。なお、図４に示すフローチャートにおいて、ステップＳ３０１〜Ｓ３１２の処理は、上記した図２に示すフローチャートにおけるステップＳ１０１〜Ｓ１１２の処理と同一であるため、その説明を省略する。ここでは、ステップＳ３１３〜Ｓ３１５の処理を説明する。
【００７２】
ステップＳ３１３では、ＥＣＵ３０は、ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdが共に「１．０」であるか否かを判定する。この判定は、空燃比学習制御を実行すべきか、或いは禁止すべきかを決定するために行われる。
【００７３】
ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdが共に「１．０」である場合（ステップＳ３１３；Ｙｅｓ）、処理はステップＳ３１４に進む。ステップＳ３１４では、ＥＣＵ３０は、通常通り空燃比学習制御を実行する。この場合には、補正量が「０」であるため、インジェクタにおいて温度特性の違いによる燃料噴射量のずれが発生していない。そのため、空燃比学習を精度良く行うことができるので、ＥＣＵ３０は空燃比学習制御を実行する。そして、処理は当該フローを抜ける。
【００７４】
一方、ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdの少なくともいずれかが「１．０」でない場合（ステップＳ３１３；Ｎｏ）、処理はステップＳ３１５に進む。ステップＳ３１５では、ＥＣＵ３０は、空燃比学習制御の実行を禁止する。この場合には、ポートＩＮＪ９及び筒内ＩＮＪ１０の少なくともいずれかにおいて温度特性の違いによる燃料噴射量のずれが発生していると言える。したがって、この場合に空燃比学習制御を実行すると、誤学習してしまう可能性がある。そのため、ＥＣＵ３０は、空燃比学習の誤学習を確実に防止するため、空燃比学習制御を禁止する。そして、処理は当該フローを抜ける。
【００７５】
以上より、第３実施形態に係る制御によれば、噴射停止制御を実行した場合において、空燃比学習の誤学習を確実に防止することが可能となる。
【００７６】
［第４実施形態］
次に、第４実施形態に係る制御について説明する。第４実施形態でも、第３実施形態と同様に、燃料噴射量を補正する補正量を算出すると共に、補正量に基づいて空燃比学習制御の実行を制限する。第４実施形態では、噴き分け制御を実行した場合に、燃料噴射量の補正量に基づいて空燃比学習制御の実行を制限する点で、第３実施形態と異なる。こうするのは、噴き分け制御を実行した場合、インジェクタの温度特性の変化に起因する燃料噴射量のずれが発生し得るからである。即ち、第４実施形態に係る制御は、燃料噴射量のずれに起因する空燃比学習の誤学習を防止するために行われる。
【００７７】
図５は、第４実施形態に係る制御を示すフローチャートである。この制御は、ＥＣＵ３０によって所定の周期で繰り返し実行される。なお、図５に示すフローチャートにおいて、ステップＳ４０１〜Ｓ４１０の処理は、上記した図３に示すフローチャートにおけるステップＳ２０１〜Ｓ２１０の処理と同一であるため、その説明を省略する。ここでは、ステップＳ４１１〜Ｓ４１３の処理を説明する。
【００７８】
ステップＳ４１１では、ＥＣＵ３０は、ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdが共に「１．０」であるか否かを判定する。この判定は、空燃比学習制御を実行すべきか、或いは禁止すべきかを決定するために行われる。
【００７９】
ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdが共に「１．０」である場合（ステップＳ４１１；Ｙｅｓ）、処理はステップＳ４１２に進む。ステップＳ４１２では、ＥＣＵ３０は、通常通り空燃比学習制御を実行する。この場合には、補正量が「０」であるため、インジェクタにおいて温度特性の違いによる燃料噴射量のずれが発生していない。そのため、空燃比学習を精度良く行うことができるので、ＥＣＵ３０は空燃比学習制御を実行する。そして、処理は当該フローを抜ける。
【００８０】
一方、ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdの少なくともいずれかが「１．０」でない場合（ステップＳ４１１；Ｎｏ）、処理はステップＳ４１３に進む。ステップＳ４１３では、ＥＣＵ３０は、空燃比学習制御の実行を禁止する。この場合には、ポートＩＮＪ９及び筒内ＩＮＪ１０の少なくともいずれかにおいて温度特性の違いによる燃料噴射量のずれが発生していると言える。したがって、この場合に空燃比学習制御を実行すると、誤学習してしまう可能性がある。そのため、ＥＣＵ３０は、空燃比学習の誤学習を確実に防止するため、空燃比学習制御を禁止する。そして、処理は当該フローを抜ける。
【００８１】
以上より、第４実施形態に係る制御によれば、噴き分け制御を実行した場合において、空燃比学習の誤学習を確実に防止することが可能となる。
【００８２】
［変形例］
上記では、検出された温度などを予め定められたマップや演算式などに代入することによって補正係数を得て、これを用いてポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdなどを算出する実施形態を示したが、これに限定はされない。他の例では、補正係数を求める代わりに、得られた温度などを重み付けして計算することによって、ポートＩＮＪ噴射量補正係数Kp及び筒内ＩＮＪ噴射量補正係数Kdなどを算出することができる。
【００８３】
また、上記では、噴射停止制御及び噴き分け制御を実行した場合に空燃比学習制御を禁止する実施形態を示したが、他の例では、補正量に応じて空燃比学習制御を制限することができる。即ち、他の例では、ポートＩＮＪ噴射量補正係数Kp及び／又は筒内ＩＮＪ噴射量補正係数Kdの大きさに応じて、空燃比学習制御における学習量を変更することができる。例えば、ポートＩＮＪ噴射量補正係数Kp及び／又は筒内ＩＮＪ噴射量補正係数Kdが「１」から離れている場合には学習量を通常の学習量（噴射量補正係数が「１」である場合の学習量）よりも小さくし、「１」付近の値である場合には学習量を通常の学習量と概ね同一にする。この場合、ポートＩＮＪ噴射量補正係数Kp及び／又は筒内ＩＮＪ噴射量補正係数Kdが「１」から大きく離れている場合（例えば補正量が所定量より大きい場合）には、空燃比学習制御を禁止しても良い。
【００８４】
なお、噴射停止制御及び噴き分け制御を実行した場合において、燃料噴射量を補正する制御を実行した場合には、空燃比学習制御を制限する代わりに、空燃比学習制御を通常通り実行しても構わない。こうするのは、噴射停止制御及び噴き分け制御を実行した際にはインジェクタに温度特性のずれが生じ得るが、このずれを考慮して補正を行った燃料噴射量を用いて噴射制御を実行する場合には、補正していない燃料噴射量を用いて噴射制御を実行する場合と比較すると、空燃比学習制御を精度良く行うことができるからである。
【図面の簡単な説明】
【００８５】
【図１】本実施形態に係る内燃機関の制御装置が適用されたエンジンの構成を示す概略図である。
【図２】第１実施形態に係る制御を示すフローチャートである。
【図３】第２実施形態に係る制御を示すフローチャートである。
【図４】第３実施形態に係る制御を示すフローチャートである。
【図５】第４実施形態に係る制御を示すフローチャートである。
【符号の説明】
【００８６】
３  吸気通路
４  スロットルバルブ
８  エンジン
９  ポート噴射インジェクタ
１０  筒内噴射インジェクタ
１１ａ  気筒
１２  点火プラグ
１３ａ  吸気弁
１３ｂ  排気弁
１８  排気通路
３０  ＥＣＵ
【図１】
0004752636.tif 000002
【図２】
0004752636.tif 000003
【図３】
0004752636.tif 000004
【図４】
0004752636.tif 000005
【図５】
0004752636.tif 000006