(57)【特許請求の範囲】
【請求項１】
内燃機関の各気筒の吸気側にそれぞれ複数の燃料噴射弁を配置すると共に、排気通路に排出ガスセンサを配置し、内燃機関の運転条件に応じて前記複数の燃料噴射弁の指令噴射量の比率（以下「指令噴射比率」という）を変更する内燃機関の燃料噴射制御装置において、
前記指令噴射比率と前記排出ガスセンサの出力とに基づいて前記各気筒の複数の燃料噴射弁のそれぞれの噴射量の誤差又は該噴射量の誤差を補正するための補正値（以下これらを「噴射量誤差情報」と総称する）を個別に学習する噴射量誤差学習手段を備え、
前記噴射量誤差学習手段は、前記内燃機関の運転状態が前記噴射量誤差情報の学習に適した所定の学習実行条件が成立したときに、前記指令噴射比率を第１の噴射比率と前記第１の噴射比率とは異なる第２の噴射比率とに強制的に変化させて、前記第１の噴射比率と前記第１の噴射比率に変化させたときの前記排出ガスセンサの出力と、前記第２の噴射比率と前記第２の噴射比率に変化させたときの前記排出ガスセンサの出力とに基づいて前記各気筒の複数の燃料噴射弁のそれぞれの噴射量誤差情報を個別に学習することを特徴とする内燃機関の燃料噴射制御装置。
【請求項２】
前記噴射量誤差学習手段で学習した噴射量誤差情報の学習値に基づいて前記各気筒の複数の燃料噴射弁のそれぞれの噴射指令値を個別に補正する噴射量誤差補正手段を備えていることを特徴とする請求項１に記載の内燃機関の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の各気筒の吸気側にそれぞれ複数の燃料噴射弁を配置した内燃機関の燃料噴射制御装置に関する発明である。
【背景技術】
【０００２】
特許文献１（特開２００６−２９９９４５号公報）に記載されているように、内燃機関の気筒内での燃料噴霧の微粒化やポートウエット低減（吸気ポート内壁面への燃料付着量低減）等を目的として、内燃機関の各気筒の２つの吸気ポートにそれぞれ燃料噴射弁を配置して、各気筒にそれぞれ２本の燃料噴射弁で燃料を噴射するようにしたものがある。
【０００３】
また、特許文献２（特開平８−３３８２８５号公報）に記載されているように、内燃機関の各気筒の排出ガスが集合して流れる排気合流部に配置された空燃比センサの出力に基づいて各気筒の空燃比を判定して気筒別に空燃比（燃料噴射量）を制御する気筒別空燃比制御を行うようにしたものがある。
【特許文献１】特開２００６−２９９９４５号公報（第３頁等）
【特許文献２】特開平８−３３８２８５号公報（第２頁等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、燃料噴射弁の個体差（製造誤差）や経時変化等によって燃料噴射弁の噴射量に誤差（指令噴射量に対する実噴射量のずれ）が発生することがある。上記特許文献１に記載された各気筒にそれぞれ２本の燃料噴射弁を配置したシステムにおいても、上記特許文献２に記載された気筒別空燃比制御を実行すれば、各気筒の２本の燃料噴射弁の合計噴射量の誤差を補正することは可能であるが、各気筒の２本の燃料噴射弁のそれぞれの噴射量の誤差を個別に補正することはできない。このため、例えば排気エミッション低減や燃費向上等のために各気筒の２本の燃料噴射弁の噴射量の比率を変更する場合に、各気筒の２本の燃料噴射弁の噴射量の比率を精度良く制御することができないという問題がある。      
【０００５】
本発明は、このような事情を考慮してなされたものであり、従って本発明の目的は、内燃機関の各気筒の吸気側にそれぞれ複数の燃料噴射弁を配置したシステムにおいて、各気筒の複数の燃料噴射弁のそれぞれの噴射量の誤差を個別に補正することができて、各気筒の複数の燃料噴射弁の噴射量の比率を精度良く制御することができる内燃機関の燃料噴射制御装置を提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に係る発明は、内燃機関の各気筒の吸気側にそれぞれ複数の燃料噴射弁を配置すると共に、排気通路に排出ガスセンサを配置し、内燃機関の運転条件に応じて前記複数の燃料噴射弁の指令噴射量の比率（以下「指令噴射比率」という）を変更する内燃機関の燃料噴射制御装置において、噴射量誤差学習手段によって、指令噴射比率と排出ガスセンサの出力とに基づいて各気筒の複数の燃料噴射弁のそれぞれの噴射量の誤差又は該噴射量の誤差を補正するための補正値（以下これらを「噴射量誤差情報」と総称する）を個別に学習するものであって、具体的には、内燃機関の運転状態が噴射量誤差の学習に適した所定の学習実行条件が成立したときに前記指令噴射比率を第１の噴射比率と第１の噴射比率とは異なる第２の噴射比率とに強制的に変化させて、第１の噴射比率と第１の噴射比率に変化させたときの排出ガスセンサの出力と、第２の噴射比率と第２の噴射比率に変化させたときの排出ガスセンサの出力とに基づいて前記各気筒の複数の燃料噴射弁のそれぞれの噴射量誤差情報を個別に学習することを特徴とするものである。
【０００７】
１つの気筒に配置した複数の燃料噴射弁に噴射量誤差がある場合、指令噴射比率に応じて１つの気筒の複数の燃料噴射弁の実合計噴射量が変化して空燃比が変化し、それに応じて排出ガスセンサの出力が変化する。従って、各気筒の複数の燃料噴射弁の噴射量誤差と指令噴射比率と排出ガスセンサの出力との間には相関関係があり、指令噴射比率と排出ガスセンサの出力とを用いれば、各気筒の複数の燃料噴射弁のそれぞれの噴射量誤差情報を個別に学習することができる。これにより、各気筒の複数の燃料噴射弁のそれぞれの噴射量の誤差を個別に補正することが可能となり、各気筒の複数の燃料噴射弁の噴射量の比率を精度良く制御することができる。
ところで、内燃機関の運転条件に応じて指令噴射比率が変更されたときに該指令噴射比率と排出ガスセンサの出力とに基づいて噴射量誤差情報を学習することが考えられるが、この場合は、内燃機関の運転条件に応じて指令噴射比率が変更される頻度が少ないと、噴射量誤差情報の学習頻度が少なくなってしまう。
そこで、請求項１に係る発明では、内燃機関の運転状態が噴射量誤差の学習に適した所定の学習実行条件が成立したときに指令噴射比率を第１の噴射比率と前記第１の噴射比率とは異なる第２の噴射比率とに強制的に変化させて第１の噴射比率と第１の噴射比率に変化させたときの排出ガスセンサの出力と、第２の噴射比率と第２の噴射比率に変化させたときの排出ガスセンサの出力とに基づいて各気筒の複数の燃料噴射弁のそれぞれの噴射量誤差情報を個別に学習するようにしている。これにより、学習実行条件が成立する毎に指令噴射比率を強制的に変化させて各気筒の複数の燃料噴射弁のそれぞれの噴射量誤差情報を個別に学習することができ、噴射量誤差情報の学習頻度を確保することができる。しかも、噴射量誤差情報の学習に適した運転条件で噴射量誤差情報を学習できるので、噴射量誤差情報の学習精度を向上させることができる。
【０００８】
この場合、請求項２のように、噴射量誤差補正手段によって、噴射量誤差学習手段で学習した噴射量誤差情報の学習値に基づいて各気筒の複数の燃料噴射弁のそれぞれの噴射指令値（例えば噴射時間）を個別に補正するようにすると良い。このようにすれば、噴射量誤差情報の学習値を用いて各気筒の複数の燃料噴射弁のそれぞれの噴射量の誤差を個別に精度良く補正することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の形態を具体化した一実施例を説明する。
まず、図１に基づいてエンジン制御システム全体の概略構成を説明する。
内燃機関であるエンジン１１の吸気管１２の最上流部には、エアクリーナ１３が設けられ、このエアクリーナ１３の下流側に、吸入空気量を検出するエアフローメータ１４が設けられている。このエアフローメータ１４の下流側には、モータ１５によって開度調節されるスロットルバルブ１６と、このスロットルバルブ１６の開度（スロットル開度）を検出するスロットル開度センサ１７とが設けられている。
【００１２】
更に、スロットルバルブ１６の下流側には、サージタンク１８が設けられ、このサージタンク１８に、吸気管圧力を検出する吸気管圧力センサ１９が設けられている。また、サージタンク１８には、エンジン１１の各気筒に空気を導入する吸気マニホールド２０が設けられ、各気筒の吸気マニホールド２０に接続された吸気ポート３１又はその近傍に、それぞれ燃料を噴射する燃料噴射弁２１が取り付けられている。また、エンジン１１のシリンダヘッドには、各気筒毎に点火プラグ２２が取り付けられ、各点火プラグ２２の火花放電によって筒内の混合気に着火される。
【００１３】
図２に示すように、エンジン１１の各気筒には、それぞれ２つの吸気ポート３１と２つの排気ポート３２が設けられ、各気筒の２つの吸気ポート３１又はその近傍に、それぞれ燃料噴射弁２１が配置されている。各吸気ポート３１は、それぞれ吸気バルブ３３によって開閉され、各排気ポート３２は、それぞれ排気バルブ３４によって開閉される。燃料タンク３５内に貯溜された燃料は、燃料ポンプ３６によって汲み上げられ、この燃料ポンプ３６から吐出される燃料が燃料供給配管３７を通して各気筒の燃料噴射弁２１に供給される。
【００１４】
一方、図１に示すように、エンジン１１の排気管２３（排気通路）には、排出ガスの空燃比又はリッチ／リーン等を検出する排出ガスセンサ２４（空燃比センサ、酸素センサ等）が設けられ、この排出ガスセンサ２４の下流側に、排出ガスを浄化する三元触媒等の触媒２５が設けられている。
【００１５】
また、エンジン１１のシリンダブロックには、冷却水温を検出する冷却水温センサ２６や、ノッキング振動を検出するノックセンサ２９が取り付けられている。また、クランク軸２７の外周側には、クランク軸２７が所定クランク角回転する毎にパルス信号を出力するクランク角センサ２８が取り付けられ、このクランク角センサ２８の出力信号に基づいてクランク角やエンジン回転速度が検出される。
【００１６】
これら各種センサの出力は、エンジン制御回路（以下「ＥＣＵ」と表記する）３０に入力される。このＥＣＵ３０は、マイクロコンピュータを主体として構成され、内蔵されたＲＯＭ（記憶媒体）に記憶された各種のエンジン制御プログラムを実行することで、エンジン運転状態に応じて燃料噴射弁２１の燃料噴射量や点火プラグ２２の点火時期を制御する。その際、エンジン運転条件等に応じて各気筒の２本の燃料噴射弁２１の指令噴射量の比率（以下「指令噴射比率」という）を変更する。
【００１７】
また、ＥＣＵ３０は、所定の空燃比Ｆ／Ｂ制御実行条件が成立したときに、排出ガスセンサ２４の出力に基づいて排出ガスの空燃比を目標空燃比（例えば理論空燃比）に一致させるように空燃比Ｆ／Ｂ補正量を算出し、この空燃比Ｆ／Ｂ補正量を用いて燃料噴射弁２１の燃料噴射量を補正する空燃比Ｆ／Ｂ制御を実行する。ここで、「Ｆ／Ｂ」は「フィードバック」を意味する（以下、同様）。
【００１８】
更に、ＥＣＵ３０は、後述する図４及び図５の燃料噴射補正用の各ルーチンを実行することで、所定の学習実行条件が成立したときに、１つの気筒に配置した２本の燃料噴射弁２１の指令噴射比率を強制的に変化させて、そのときの指令噴射比率と空燃比Ｆ／Ｂ補正量とに基づいて２本の燃料噴射弁２１のそれぞれの噴射量誤差（指令噴射量に対する実噴射量のずれ）を個別に学習する処理を各気筒毎に行い、その噴射量誤差の学習値を用いて２本の燃料噴射弁２１のそれぞれの噴射時間（噴射指令値）を個別に補正することで、２本の燃料噴射弁２１のそれぞれの噴射量誤差を個別に補正する処理を各気筒毎に行う。
【００１９】
ここで、１つの気筒に配置した２本の燃料噴射弁２１の噴射量誤差を個別に学習する方法について説明する。以下、説明の便宜上、１つの気筒に配置した２本の燃料噴射弁２１のうちの一方を「燃料噴射弁Ａ」と表記し、他方を「燃料噴射弁Ｂ」と表記する。
【００２０】
図３に示すように、２本の燃料噴射弁Ａ，Ｂに噴射量誤差がある場合、燃料噴射弁Ａ，Ｂの指令噴射比率に応じて２本の燃料噴射弁Ａ，Ｂの実合計噴射量が変化して空燃比が変化し、それに応じて排出ガスセンサ２４の出力が変化して空燃比Ｆ／Ｂ補正量が変化する。従って、２本の燃料噴射弁Ａ，Ｂの噴射量誤差と指令噴射比率と空燃比Ｆ／Ｂ補正量との間には相関関係がある。
【００２１】
具体的には、燃料噴射弁Ａの噴射量誤差をＸＡ［％］とし、燃料噴射弁Ｂの噴射量誤差をＸＢ［％］とした場合には、２本の燃料噴射弁Ａ，Ｂの指令噴射比率を第１の所定比率「ｋ１：１００−ｋ１」（例えば４０：６０）に設定したときの空燃比Ｆ／Ｂ補正量がＡＦ１［％］の場合には、次の（１）式の関係が成り立つ。
ｋ１×ＸＡ＋（１００−ｋ１）×ＸＢ＝１００×ＡＦ１    ……（１）
【００２２】
また、２本の燃料噴射弁Ａ，Ｂの指令噴射比率を第２の所定比率「ｋ２：１００−ｋ２」（例えば６０：４０）に設定したときの空燃比Ｆ／Ｂ補正量がＡＦ２［％］の場合には、次の（２）式の関係が成り立つ。
ｋ２×ＸＡ＋（１００−ｋ２）×ＸＢ＝１００×ＡＦ２    ……（２）
【００２３】
上記（１）式と（２）式をＸＡとＸＢについて解くことで、次の（３）式と（４）式を導き出すことができる。
ＸＡ＝｛（ｋ１−１００）×ＡＦ２−（ｋ２−１００）×ＡＦ１｝／（ｋ１−ｋ２）
……（３）  ＸＢ＝（ｋ１×ＡＦ２−ｋ２×ＡＦ１）／（ｋ１−ｋ２）    ……（４）
【００２４】
上記（３）式より燃料噴射弁Ａの噴射量誤差ＸＡ［％］を算出することができ、上記（４）式より燃料噴射弁Ｂの噴射量誤差ＸＢ［％］を算出することができる。これらの燃料噴射弁Ａ，Ｂの噴射量誤差ＸＡ，ＸＢをＥＣＵ３０のバックアップＲＡＭ３８等の書き換え可能な不揮発性メモリ（ＥＣＵ３０の電源オフ中でも記憶データを保持する書き換え可能なメモリ）に記憶して学習する。
以下、ＥＣＵ３０が実行する図４及び図５の燃料噴射補正用の各ルーチンの処理内容を説明する。
【００２５】
［燃料噴射補正メインルーチン］
図４に示す燃料噴射補正メインルーチンは、ＥＣＵ３０の電源オン中に所定周期で実行される。本ルーチンが起動されると、まず、ステップ１０１で、後述する図５の噴射量誤差学習ルーチンを実行することで、１つの気筒に配置した２本の燃料噴射弁Ａ，Ｂのそれぞれの噴射量誤差ＸＡ，ＸＢを個別に学習する。
【００２６】
この後、ステップ１０２に進み、現在のエンジン運転条件に応じた燃料噴射弁Ａ，Ｂの指令噴射比率「ｋ：１００−ｋ」を読み込んだ後、ステップ１０３に進み、燃料噴射弁Ａの噴射量誤差ＸＡ［％］の学習値と、燃料噴射弁Ｂの噴射量誤差ＸＢ［％］の学習値をＥＣＵ３０のバックアップＲＡＭ３８から読み出す。
【００２７】
この後、ステップ１０４に進み、燃料噴射弁Ａのベース噴射時間ＴＡＵbaseＡと燃料噴射弁Ｂのベース噴射時間ＴＡＵbaseＢとの比率が指令噴射比率「ｋ：１００−ｋ」になるようにベース噴射時間ＴＡＵbaseＡとベース噴射時間ＴＡＵbaseＢを補正する。
【００２８】
この後、ステップ１０５に進み、燃料噴射弁Ａの噴射量誤差ＸＡを用いてベース噴射時間ＴＡＵbaseＡを補正することで燃料噴射弁Ａの噴射時間ＴＡＵＡを求め、燃料噴射弁Ｂの噴射量誤差ＸＢを用いてベース噴射時間ＴＡＵbaseＢを補正することで燃料噴射弁Ｂの噴射時間ＴＡＵＢを求める。
ＴＡＵＡ＝ＴＡＵbaseＡ×（１−ＸＡ／１００）
ＴＡＵＢ＝ＴＡＵbaseＢ×（１−ＸＢ／１００）
【００２９】
このようにして、１つの気筒に配置した２本の燃料噴射弁Ａ，Ｂのそれぞれの噴射時間ＴＡＵＡ、ＴＡＵＢを個別に補正することで、２本の燃料噴射弁Ａ，Ｂのそれぞれの噴射量誤差を個別に補正する処理を各気筒毎に行う。このステップ１０５の処理が特許請求の範囲でいう噴射量誤差補正手段としての役割を果たす。
【００３０】
［噴射量誤差学習ルーチン］
図５に示す噴射量誤差学習ルーチンは、前記図４の燃料噴射補正メインルーチンのステップ１０１で実行されるサブルーチンであり、特許請求の範囲でいう噴射量誤差学習手段としての役割を果たす。本ルーチンが起動されると、まず、ステップ２０１で、所定の学習実行条件が成立しているか否かを、例えば、定常運転中（例えばアイドル運転中等）であるか否か、空燃比Ｆ／Ｂ制御中であるか否か等によって判定する。
【００３１】
このステップ２０１で、学習実行条件が不成立であると判定された場合には、噴射量誤差の学習に適した運転条件ではないと判断して、ステップ２０２以降の噴射量誤差の学習に関する処理を行うことなく、本ルーチンを終了する。
【００３２】
一方、上記ステップ２０１で、学習実行条件が成立していると判定された場合には、噴射量誤差の学習に適した運転条件であると判断して、ステップ２０２以降の噴射量誤差の学習に関する処理を次のようにして実行する。まず、ステップ２０２で、燃料噴射弁Ａ，Ｂの指令噴射比率を強制的に第１の所定比率「ｋ１：１００−ｋ１」（例えば４０：６０）に変更した後、ステップ２０３に進み、燃料噴射弁Ａ，Ｂの指令噴射比率を第１の所定比率「ｋ１：１００−ｋ１」に変更した後の空燃比Ｆ／Ｂ補正量ＡＦ１［％］を読み込む。
【００３３】
この後、ステップ２０４に進み、燃料噴射弁Ａ，Ｂの指令噴射比率を強制的に第２の所定比率「ｋ２：１００−ｋ２」（例えば６０：４０）に変更した後、ステップ２０５に進み、燃料噴射弁Ａ，Ｂの指令噴射比率を第２の所定比率「ｋ２：１００−ｋ２」に変更した後の空燃比Ｆ／Ｂ補正量ＡＦ２［％］を読み込む。
【００３４】
この後、ステップ２０６に進み、上記（３）式より燃料噴射弁Ａの噴射量誤差ＸＡ［％］を算出し、上記（４）式より燃料噴射弁Ｂの噴射量誤差ＸＢ［％］を算出する。
ＸＡ＝｛（ｋ１−１００）×ＡＦ２−（ｋ２−１００）×ＡＦ１｝／（ｋ１−ｋ２）
ＸＢ＝（ｋ１×ＡＦ２−ｋ２×ＡＦ１）／（ｋ１−ｋ２）
【００３５】
これらの燃料噴射弁Ａ，Ｂの噴射量誤差ＸＡ，ＸＢをＥＣＵ３０のバックアップＲＡＭ３８に記憶して学習する。このようにして、１つの気筒に配置した２本の燃料噴射弁Ａ，Ｂのそれぞれ噴射量誤差ＸＡ，ＸＢを個別に学習する処理を各気筒毎に行う。
【００３６】
以上説明した本実施例では、１つの気筒に配置した２本の燃料噴射弁Ａ，Ｂの指令噴射比率と空燃比Ｆ／Ｂ補正量とに基づいて燃料噴射弁Ａ，Ｂのそれぞれの噴射量誤差を個別に学習し、その噴射量誤差の学習値を用いて燃料噴射弁Ａ，Ｂのそれぞれの噴射時間を個別に補正することで、２本の燃料噴射弁Ａ，Ｂのそれぞれの噴射量誤差を個別に補正するようにしたので、各気筒の燃料噴射弁Ａ，Ｂの個体差（製造誤差）や経時変化等によって燃料噴射弁Ａ，Ｂの噴射量に誤差が発生するという事情があっても、各気筒の燃料噴射弁Ａ，Ｂの噴射量の比率を精度良く制御することができる。
【００３７】
また、本実施例では、所定の学習実行条件が成立したときに、各気筒の燃料噴射弁Ａ，Ｂの指令噴射比率を強制的に変化させて、そのときの指令噴射比率と空燃比Ｆ／Ｂ補正量とに基づいて各気筒の燃料噴射弁Ａ，Ｂの噴射量誤差を学習するようにしたので、学習実行条件が成立する毎に指令噴射比率を強制的に変化させて噴射量誤差を学習することができ、噴射量誤差の学習頻度を確保することができる。しかも、噴射量誤差の学習に適した運転条件で噴射量誤差を学習できるので、噴射量誤差の学習精度を向上させることができる。
【００３９】
また、上記実施例では、指令噴射比率と空燃比Ｆ／Ｂ補正量とを用いて各気筒の燃料噴射弁Ａ，Ｂの噴射量誤差を学習するようにしたが、空燃比Ｆ／Ｂ補正量に代えて、空燃比Ｆ／Ｂ補正量の学習値や排出ガスセンサ２４の出力を用いるようにしても良い。
【００４０】
また、上記実施例では、各気筒の燃料噴射弁Ａ，Ｂの噴射量誤差を学習するようにしたが、各気筒の燃料噴射弁Ａ，Ｂの噴射量誤差を補正するための補正値（補正係数等）を学習するようにしても良い。
【００４１】
また、上記実施例では、エンジン１１の各気筒の吸気ポート３１又はその近傍にそれぞれ燃料噴射弁２１を配置したシステムに本発明を適用したが、各気筒の吸気通路に２本の燃料噴射弁を上流側と下流側の位置関係で配置したシステムにも適用しても良い。更に、１気筒当り２本の燃料噴射弁を配置したシステムに限定されず、１気筒当り３本以上の燃料噴射弁を配置したシステムに本発明を適用しても良い。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施例におけるエンジン制御システム全体の概略構成図である。
【図２】１つの気筒に配置した２本の燃料噴射弁及びその周辺部の概略構成図である。
【図３】２本の燃料噴射弁に噴射量誤差がある場合の指令噴射比率と空燃比Ｆ／Ｂ補正量との関係を説明する図である。
【図４】燃料噴射補正メインルーチンの処理の流れを説明するフローチャートである。
【図５】噴射量誤差学習ルーチンの処理の流れを説明するフローチャートである。
【符号の説明】
【００４３】
１１…エンジン（内燃機関）、１２…吸気管、１６…スロットルバルブ、２１…燃料噴射弁、２２…点火プラグ、２３…排気管（排気通路）、２４…排出ガスセンサ、３０…ＥＣＵ（噴射量誤差学習手段，噴射量誤差補正手段）、３１…吸気ポート、３２…排気ポート、３８…バックアップＲＡＭ
【図１】
0004766074.tif 000002
【図２】
0004766074.tif 000003
【図３】
0004766074.tif 000004
【図４】
0004766074.tif 000005
【図５】
0004766074.tif 000006