(57)【特許請求の範囲】
【請求項１】
内燃機関の燃料噴射制御のための演算に用いるパラメータによって分割される複数の領域のそれぞれについて、前記制御に用いるアクチュエータの動作特性の基準に対するずれ量を当該領域の代表点のずれ量として学習して記憶する学習手段と、前記パラメータの実際の値がいずれの代表点とも一致しないとき、前記記憶される値を用いた補間処理によって算出されるずれ量を補償するように前記アクチュエータを操作する操作手段とを備える燃料噴射制御装置において、
前記補間処理により用いられる代表点であって且つ前記実際の値の属さない領域の代表点のずれ量が収束しているか否かを判断する判断手段と、
前記判断手段により収束していないと判断されるとき、該収束していないと判断されるずれ量として、前記実際の値の属する領域の代表点のずれ量を代用する代用手段とを備えることを特徴とする燃料噴射制御装置。
【請求項２】
前記判断手段は、前記代表点におけるずれ量の学習回数が予め定められた回数以上であるときに前記ずれ量が収束していると判断するものであることを特徴とする請求項１記載の燃料噴射制御装置。
【請求項３】
前記アクチュエータが燃料噴射弁であり、
前記学習手段は、前記内燃機関の出力軸の回転速度の検出値を前記内燃機関の燃焼周波数に基づき設定した単一の周波数にてフィルタ処理して瞬時トルク相当値を算出するフィルタ処理手段と、前記フィルタ処理手段によって算出される瞬時トルク相当値に基づき前記燃料噴射弁の噴射特性を推定する推定手段とを備えることを特徴とする請求項１又は２記載の燃料噴射制御装置。
【請求項４】
前記内燃機関が多気筒内燃機関であり、
前記燃料噴射弁の動作特性の基準が、気筒間の平均的な噴射特性として設定されてなることを特徴とする請求項３記載の燃料噴射制御装置。
【請求項５】
前記パラメータが、前記燃料噴射弁に供給される燃料の圧力と前記燃料噴射弁に対する噴射量の指令値とからなることを特徴とする請求項３又は４記載の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の燃料噴射制御のための演算に用いるパラメータによって分割される複数の領域のそれぞれについて、前記制御に用いるアクチュエータの動作特性の基準に対するずれ量を学習して記憶する燃料噴射制御装置に関する。
【背景技術】
【０００２】
多気筒内燃機関にあっては、各気筒の燃料噴射弁に噴射特性のばらつきがあると、これら各気筒の燃料噴射によって生じる内燃機関の出力軸の回転が不均一化する。このため、各気筒の燃料噴射によって生じる回転を均一化することのできる燃料噴射弁の噴射特性を基準として、各気筒の燃料噴射弁の噴射特性と基準となる噴射特性とのずれ量を学習することも提案されている（特許文献１）。
【０００３】
ところで、このずれ量は、一義的に定まるものではなく、例えば、燃料噴射弁に供給される燃料の圧力によって変化する。
【０００４】
そこで、従来は、例えば下記特許文献２に見られるように、燃料の圧力（燃圧）によって定義される複数の領域毎にそれぞれ上記ずれ量を学習することも提案されている。これにより、燃圧に見合ったずれ量が学習されるため、このずれ量を補償するように燃料噴射弁を適切に操作することが可能となる。これらずれ量を用いて燃料噴射弁を操作するに際しては、通常、補間処理が用いられる。すなわち、各領域毎に代表点を定めるとともに、実際の燃圧がこれら代表点と一致しないときには、実際の燃圧に隣接する複数の代表点のずれ量を用いて補間処理を行なうことで、実際の燃圧に見合ったずれ量を算出する。これにより、実際のずれ量を補償するようにして燃料噴射弁を適切に操作することができる。
【０００５】
ただし、この場合、ずれ量の学習が未だなされていない代表点が存在するときには、上記補間処理を適切に行なうことができない。更に、たとえ学習が行なわれたとしても、１回の学習処理によってはずれ量としての適切な値を学習することができず、複数回の学習により学習されるずれ量が適切な値へと収束していく傾向がある場合には、この問題は特に深刻である。
【０００６】
なお、ずれ量の学習が未だなされていない代表点が存在するときに上記補間処理を適切に行なうことができない問題が生じる燃料噴射制御装置は、上記燃料噴射弁の噴射特性の気筒間のずれ量を燃圧毎に学習するものに限らない。すなわち、燃料噴射制御の演算に用いるパラメータによって定義される代表点のそれぞれについて、制御に用いるアクチュエータの動作特性の基準に対するずれ量を学習するものにあっては、こうした問題が生じる実情も概ね共通したものとなっている。
【特許文献１】独国特許発明第１９５  ２７  ２１８号明細書
【特許文献２】特開２００３−２５４１３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記課題を解決するためになされたものであり、その目的は、燃料噴射制御に用いるアクチュエータの動作特性の基準に対するずれ量を学習するものにあって、代表点におけるずれ量の学習が完了していない場合であっても、実際のずれ量をより適切に補償することのできる燃料噴射制御装置を提供することにある。
【課題を解決するための手段】
【０００８】
以下、上記課題を解決するための手段、及びその作用効果について記載する。
【０００９】
請求項１記載の発明は、前記補間処理により用いられる代表点であって且つ前記実際の値の属さない領域の代表点のずれ量が収束しているか否かを判断する判断手段と、前記判断手段により収束していないと判断されるとき、該収束していないと判断されるずれ量として、前記実際の値の属する領域の代表点のずれ量を代用する代用手段とを備えることを特徴とする。
【００１０】
上記構成では、燃料噴射制御に際して上記実際の値が代表点と一致していないとき、記憶される値を用いた補間処理により算出されるずれ量を補償するようにアクチュエータの操作がなされる。これにより、実際の値が代表点と一致しないときであっても、実際のずれ量を補償するようにしてアクチュエータを適切に操作することができる。ただし、補間処理によって用いられるずれ量が未だ収束していないときには、補間処理によって算出されるずれ量は、適切な値とはならない。この点、上記構成では、補間処理にて用いられる領域であって且つ実際の値の属さない領域のずれ量のうち収束していないものがある場合、実際の値の属する領域のずれ量によって代用することで、補間処理によって算出されるずれ量をより適切なものとすることができる。
【００１１】
請求項２記載の発明は、請求項１記載の発明において、前記判断手段は、前記代表点におけるずれ量の学習回数が予め定められた回数以上であるときに前記ずれ量が収束していると判断するものであることを特徴とする。
【００１２】
ずれ量の学習を一度行なっただけでは適切な値とならず、一度学習されたずれ量を用いてこれを補償するようなアクチュエータの操作をし、再度ずれ量の学習をするというステップを繰り返すことで、学習されるずれ量の値が収束していく傾向があるものがある。この点、上記構成では、こうした傾向を有する場合であれ、学習回数によってずれ量の収束を簡易且つ適切に判断することができる。
【００１３】
請求項３記載の発明は、請求項１又は２記載の発明において、前記アクチュエータが燃料噴射弁であり、前記学習手段は、前記内燃機関の出力軸の回転速度の検出値を前記内燃機関の燃焼周波数に基づき設定した単一の周波数にてフィルタ処理して瞬時トルク相当値を算出するフィルタ処理手段と、前記フィルタ処理手段によって算出される瞬時トルク相当値に基づき前記燃料噴射弁の噴射特性を推定する推定手段とを備えることを特徴とする。
【００１４】
上記構成では、学習手段がフィルタ処理手段と推定手段とを備えることで、燃料噴射弁の噴射特性を適切に推定することができる。
【００１５】
請求項４記載の発明は、請求項３記載の発明において、前記内燃機関が多気筒内燃機関であり、前記燃料噴射弁の動作特性の基準が、気筒間の平均的な噴射特性として設定されてなることを特徴とする。
【００１６】
上記構成では、各気筒の燃料噴射によって生じる回転を均一化することができる。
【００１７】
請求項５記載の発明は、請求項３又は４記載の発明において、前記パラメータが、前記燃料噴射弁に供給される燃料の圧力と前記燃料噴射弁に対する噴射量の指令値とからなることを特徴とする。
【００１８】
上記構成では、燃料噴射弁の噴射特性の基準に対するずれ量を変動させる要因である燃圧と噴射量とに基づき代表点が定められるために、各代表点において適切なずれ量を学習することができる。
【発明を実施するための最良の形態】
【００１９】
（第１の実施形態）
以下、本発明にかかる燃料噴射制御装置をディーゼル機関の燃料噴射制御装置に適用した第１の実施形態について、図面を参照しつつ説明する。
【００２０】
図１に、本実施形態にかかるエンジンシステムの全体構成を示す。
【００２１】
図示されるように、燃料タンク２内の燃料は、燃料フィルタ４を介して燃料ポンプ６によって汲み上げられる。この燃料ポンプ６は、ディーゼル機関の出力軸であるクランク軸８から動力を付与されて燃料を吐出するものである。詳しくは、燃料ポンプ６は、吸入調量弁１０を備えている。吸入調量弁１０は、吸入される燃料量を調節することで燃料ポンプ６から吐出される燃料量を調節するものである。すなわち、この吸入調量弁１０が操作されることで、外部に吐出される燃料量が決定される。また、燃料ポンプ６は、２つのプランジャを備えており、これらプランジャが上死点及び下死点間を往復運動することで、燃料が吸入及び吐出される。
【００２２】
燃料ポンプ６から吐出される燃料は、コモンレール１２に加圧供給（圧送）される。コモンレール１２は、燃料ポンプ６から圧送された燃料を高圧状態で蓄え、これを高圧燃料通路１４を介して各気筒（ここでは、４気筒を例示）の燃料噴射弁１６に供給する。なお、燃料噴射弁１６は、低圧燃料通路１８を介して燃料タンク２と接続されている。
【００２３】
上記エンジンシステムは、コモンレール１２内の燃圧を検出する燃圧センサ２０や、クランク軸８の回転角度を検出するクランク角センサ２２等、ディーゼル機関の運転状態を検出する各種センサを備えている。更に、エンジンシステムは、ユーザによる加速要求に応じて操作されるアクセルペダルの操作量を検出するアクセルセンサ２４を備えている。
【００２４】
一方、電子制御装置（ＥＣＵ３０）は、マイクロコンピュータを主体として構成され、上記各種センサの検出結果を取り込み、これに基づきディーゼル機関の出力を制御するものである。特にＥＣＵ３０は、ディーゼル機関の出力を制御するために、コモンレール１２内の燃圧を所望の燃圧としつつ燃料噴射弁１６を操作する燃料噴射制御を行なう。
【００２５】
上記燃料噴射制御制御によってクランク軸８の回転速度が所望に制御されるが、同回転速度を微小な時間間隔で分析すると、燃焼サイクル内の各行程に同期して回転上昇と回転降下とが繰り返される。すなわち図２（ａ）に示すように、各気筒の燃焼順序は第１気筒（＃１）→第３気筒（＃３）→第４気筒（＃４）→第２気筒（＃２）であり、１８０°ＣＡごとに燃料噴射が行われてその燃料が燃焼に供される。このとき、１気筒ずつの燃焼周期（１８０°ＣＡ周期）で見ると、燃焼に伴いクランク軸８に回転力が付与されて回転速度が上昇するとともに、その後クランク軸８等に作用する負荷により回転速度が降下する。かかる場合、回転速度の挙動に応じて気筒ごとの仕事量が推定できると考えられる。
【００２６】
ここで、各気筒の燃焼周期の終了時においてその時の回転速度から当該気筒の仕事量を算出することが考えられる。例えば、図２（ｂ）に示すように、第１気筒の燃焼周期の終了時であるタイミングｔ１で当該第１気筒の仕事量を算出し、次の第３気筒の燃焼周期の終了時であるタイミングｔ２で当該第３気筒の仕事量を算出する。ところがこの場合、クランク角センサ２２の検出信号（ＮＥパルス）により算出される回転速度にはノイズや検出誤差による要因が含まれており、図２（ｂ）に示すように、実際の回転速度（図の破線）に対して回転速度の検出値（図の実線）がばらつく。そのため、タイミングｔ１，ｔ２等では、正確な仕事量を算出できないという問題が生じる。
【００２７】
そこで本実施形態では、図３に示すように、回転速度Ｎｅを入力信号として一定の角度周期でフィルタ処理部Ｍ１に取り込むとともに、そのフィルタ処理部Ｍ１において各時点の回転変動成分のみを抽出して瞬時トルク相当値Ｎｅｆｌｔを算出する。このとき、回転速度Ｎｅは、ＮＥパルスの出力周期（本実施形態では３０°ＣＡ）でサンプリングされる。フィルタ処理部Ｍ１は例えばＢＰＦ（帯域フィルタ）にて構成され、ＢＰＦにより回転速度信号に含まれる高周波成分と低周波成分とが除去される。このフィルタ処理部Ｍ１の出力である瞬時トルク相当値Ｎｅｆｌｔ（ｉ）は、例えば以下の式（１）により表される。
【００２８】
【数１】
0004492532.tif 000002
式（１）において、Ｎｅ（ｉ）は回転速度の今回サンプリング値、Ｎｅ（ｉ−２）は回転速度の２回前サンプリング値、Ｎｅｆｌｔ（ｉ−１）は瞬時トルク相当値の前回値、Ｎｅｆｌｔ（ｉ−２）は瞬時トルク相当値の前々回値である。ｋ１〜ｋ４は定数である。上式（１）により、回転速度信号がフィルタ処理部Ｍ１に入力される都度、瞬時トルク相当値Ｎｅｆｌｔ（ｉ）が算出される。
【００２９】
上式（１）は、下式（２）に表す伝達関数Ｇ（ｓ）を離散化したものである。なお、ζは減衰係数、ωは応答周波数である。
【００３０】
【数２】
0004492532.tif 000003
本実施形態では特に、応答周波数ωをディーゼル機関の燃焼周波数としており、上記の式（１）ではω＝燃焼周波数としたことに基づいて定数ｋ１〜ｋ４が設定されている。燃焼周波数は単位角度ごとの燃焼頻度を表した角度周波数であり、４気筒の場合には燃焼周期（燃焼角度周期）が１８０°ＣＡであり、その燃焼周期の逆数により燃焼周波数が決定される。
【００３１】
また、図３の積分処理部Ｍ２では、瞬時トルク相当値Ｎｅｆｌｔを取り込み、その瞬時トルク相当値Ｎｅｆｌｔを各気筒の燃焼周期ごとに一定区間積分することにより、各気筒のトルク積算値である気筒別仕事量Ｓｎｅｆｌｔ＃１〜Ｓｎｅｆｌｔ＃４を算出する。このとき、３０°ＣＡ周期で出力されるＮＥパルスにはそれぞれ０〜２３のＮＥパルス番号が付されており、各気筒の燃焼順序でいうと、第１気筒の燃焼周期にはＮＥパルス番号の「０〜５」が割り当てられ、第３気筒の燃焼周期にはパルス番号の「６〜１１」が割り当てられ、第４気筒の燃焼周期にはＮＥパルス番号の「１２〜１７」が割り当てられ、第２気筒の燃焼周期にはＮＥパルス番号の「１８〜２３」が割り当てられている。そして、次の式（３）により、第１〜第４の気筒ごとに気筒別仕事量Ｓｎｅｆｌｔ＃１〜Ｓｎｅｆｌｔ＃４を算出する。
【００３２】
【数３】
0004492532.tif 000004
なお以下の記載では、気筒番号を＃ｉと表し、気筒別仕事量Ｓｎｅｆｌｔ＃１〜Ｓｎｅｆｌｔ＃４を気筒別仕事量Ｓｎｅｆｌｔ＃ｉとも表記する。
【００３３】
図４は、回転速度Ｎｅ、瞬時トルク相当値Ｎｅｆｌｔ及び気筒別仕事量Ｓｎｅｆｌｔ＃ｉの推移を示すタイムチャートである。図４において、瞬時トルク相当値Ｎｅｆｌｔは基準レベルＲｅｆに対して上下に振幅し、その瞬時トルク相当値Ｎｅｆｌｔを気筒毎の燃焼周期内で積分することにより気筒別仕事量Ｓｎｅｆｌｔ＃ｉが算出される。またこのとき、基準レベルＲｅｆよりも正側の瞬時トルク相当値Ｎｅｆｌｔの積分値が燃焼トルクに相当し、基準レベルＲｅｆよりも負側の瞬時トルク相当値Ｎｅｆｌｔの積分値が負荷トルクに相当する。なお、基準レベルＲｅｆは、各気筒を通じての平均回転速度に応じて決定されるようになっている。
【００３４】
この場合、各気筒の燃焼周期では本来燃焼トルクと負荷トルクとの収支が０になり、気筒別仕事量Ｓｎｅｆｌｔ＃ｉが０（燃焼トルク−負荷トルク＝０）となるが、気筒ごとの機差や経時変化等により各気筒で燃料噴射弁１６による噴射特性やフリクション特性などが相違すると、気筒別仕事量Ｓｎｅｆｌｔ＃ｉのばらつきが生じる。例えば、図示のように第１気筒ではＳｎｅｆｌｔ＃１＞０となり、第２気筒ではＳｎｅｆｌｔ＃２＜０となるなどのばらつきが生じる。
【００３５】
上記のように気筒別仕事量Ｓｎｅｆｌｔ＃ｉを算出することにより、燃料噴射弁１６の噴射特性等が、各気筒でそれぞれ理想値に対してどれほどの差異を生じているかや、気筒間でどれほどのばらつきが生じているかなどを把握することができる。
【００３６】
そこで本実施形態では、気筒別仕事量Ｓｎｅｆｌｔ＃ｉを利用して、燃料噴射弁１６の噴射特性の気筒間のずれ量を、気筒別仕事量Ｓｎｅｆｌｔ＃ｉの気筒間のずれ量として学習する。図５に、上記ずれ量の算出にかかる処理の手順を示す。この処理は、ＮＥパルスの立ち上がり時に、ＥＣＵ３０により実行される。
【００３７】
図５において、まずステップＳ１０では、今回のＮＥ割込みの時刻と前回のＮＥ割込みの時刻とからＮＥパルスの時間間隔を算出するとともに、その時間間隔の逆数演算により今現在の回転速度Ｎｅ（瞬時回転速度）を算出する。続くステップＳ１２では、上記式（１）を用い、瞬時トルク相当値Ｎｅｆｌｔ（ｉ）を算出する。
【００３８】
続くステップＳ１４では、今回のＮＥパルス番号を判定する。そして、ステップＳ１６〜Ｓ２２では、上式（３）を用い、第１〜第４の気筒毎に気筒別仕事量Ｓｎｅｆｌｔ＃ｉを算出する。すなわち、
・ＮＥパルス番号が「０〜５」であれば、第１気筒の気筒別仕事量Ｓｎｅｆｌｔ＃１を算出し（ステップＳ１６）、
・ＮＥパルス番号が「６〜１１」であれば、第３気筒の気筒別仕事量Ｓｎｅｆｌｔ＃３を算出し（ステップＳ１８）、
・ＮＥパルス番号が「１２〜１７」であれば、第４気筒の気筒別仕事量Ｓｎｅｆｌｔ＃４を算出し（ステップＳ２０）、
・ＮＥパルス番号が「１８〜２３」であれば、第２気筒の気筒別仕事量Ｓｎｅｆｌｔ＃２を算出する（ステップＳ２２）。
【００３９】
その後、ステップＳ２４では、学習条件が成立しているか否かを判定する。この学習条件には、全気筒で気筒別仕事量の算出が完了していること、車両の動力伝達装置（ドライブトレイン）があらかじめ定めた状態にあること、環境条件があらかじめ定めた規定状態にあることなどが含まれており、それら全てが成立している場合に学習条件が成立している旨判定される。なお例えば、動力伝達装置については、動力伝達系のクラッチ装置が半クラッチ状態でないことを条件とすればよい。また例えば、環境条件としては、エンジン水温が所定の暖機完了温度以上であることを条件とすればよい。
【００４０】
学習条件が成立していなければそのまま本処理を終了する。また、学習条件が成立していれば、ステップＳ２６に進む。ステップＳ２６では、カウンタｎｉｔｇｒを１インクリメントするとともに、次の式（４）を用いて気筒ごとの積算量Ｑｌｐ＃ｉを算出する。ここで、積算量Ｑｌｐ＃ｉは、気筒別仕事量Ｓｎｅｆｌｔ＃ｉに換算係数Ｋａを乗算することで算出される噴射特性値についての積算値である。この積算量Ｑｌｐ＃ｉは、上記カウンタｎｉｔｇｒが所定回数となるときに所定回数で平均化処理することで、噴射特性値を算出するためのものである。
Ｑｌｐ＃ｉ＝Ｑｌｐ＃ｉ＋Ｋａ×Ｓｎｅｆｌｔ＃ｉ      …（４）
なお、上記処理を行なった際には、各気筒の気筒別仕事量Ｓｎｅｆｌｔ＃ｉを０にクリアする。
【００４１】
その後、ステップＳ２８では、カウンタｎｉｔｇｒが所定回数ｋｉｔｇｒに達したか否かを判定する。所定回数ｋｉｔｇｒは、上記気筒別仕事量Ｓｎｅｆｉｔ＃ｉに換算係数Ｋａを乗算することで得られる噴射特性値の算出に際して、ノイズ等による算出誤差を抑制することのできる値に設定されている。そして、ｎｉｔｇｒ≧ｋｉｔｇｒであることを条件にステップＳ３０に進む。ステップＳ３０では、次の式（５）を用いて気筒ごとの噴射特性値Ｑｌｒｎ＃ｉを算出する。また、積算量Ｑｌｐ＃ｉを０にクリアするとともに、カウンタｎｉｔｇｒを０にクリアする。
Ｑｌｒｎ＃１＝Ｑｌｒｎ＃ｉ＋Ｋｂ×Ｑｌｐ＃ｉ／ｋｉｔｇｒ      …（５）
式（５）において、所定回数ｋｉｔｇｒだけ積算された積算量Ｑｌｐ＃ｉが平均化され、その平均化された学習値により噴射特性値Ｑｌｒｎ＃ｉが更新される。このとき、積算量Ｑｌｐ＃ｉの平均化により、気筒別仕事量Ｓｎｅｆｌｔ＃ｉの毎回の誤差分が吸収されるようになっている。なお、上式（５）において、係数Ｋｂは、例えば「０＜Ｋｂ≦１」の間に設定される。
【００４２】
次に、ステップＳ３２では、次の式（６）を用いて学習値ΔＱｌｒｎ＃ｉを算出する。
【００４３】
【数４】
0004492532.tif 000005
式（６）によって、全気筒の噴射特性値Ｑｌｒｎ＃ｉの平均値（ΣＱｌｒｎ＃ｉ／４）に対する気筒ごとの噴射特性値Ｑｌｒｎ＃ｉのずれ量を算出することができる。
【００４４】
続くステップＳ３４においては、学習値ΔＱｌｒｎ＃ｉを、常時記憶保持装置の所定の領域に書き込む。ここで、常時記憶保持装置とは、給電の有無にかかわらずデータを保持するＥＥＰＲＯＭ等の不揮発性メモリや、イグニッションスイッチの状態にかかわらず給電状態が保持されるバックアップメモリ等、ＥＣＵ３０の主電源のオン・オフにかかわらず、データを保持する記憶装置である。
【００４５】
上記常時記憶保持装置における上記データの記憶領域は、図６に示されるように燃料噴射量とコモンレール１２内の燃圧とをパラメータとして分割される複数の領域のそれぞれに割り当てられている。図６では、噴射量と燃圧とによって定義される複数の領域のうちの９つの領域Ａ１１〜Ａ３３が例示されている。上述した学習値ΔＱｌｒｎ＃ｉは、これら領域のうちのいずれか該当する領域のメモリ領域に書き込まれる。
【００４６】
このように噴射量と燃圧とで分割される領域のそれぞれにおいて各別の学習値ΔＱｌｒｎ＃ｉを記憶させるのは、学習値ΔＱｌｒｎ＃ｉが、噴射量と燃圧とに依存して変動するためである。このため、各領域毎に学習値ΔＱｌｒｎ＃ｉを学習することで、噴射量及び燃圧に見合った適切な学習値ΔＱｌｒｎ＃ｉによって燃料噴射弁１６を操作することができる。
【００４７】
先の図５に示した処理により学習値ΔＱｌｒｎ＃ｉが算出され記憶されると、次回以降の燃料噴射制御において、この学習値ΔＱｌｒｎ＃ｉを用いて燃料噴射弁１６が操作される。ここで、学習値ΔＱｌｒｎ＃ｉを適切に用いるために、図６に示すように、各領域Ａｉｊ（ｉ＝１，２，３，…、ｊ＝１，２，３，…）には、代表点ａｊｉが定義されている。そして、先の図５に示した処理によって学習される学習値ΔＱｌｒｎ＃ｉは、これら代表点ａｉｊにおける値として用いられる。すなわち、燃料噴射制御に際して、燃圧と噴射量とが例えば代表点ａ１１と一致するときには、この代表点ａ１１における学習値ΔＱｌｒｎ＃ｉを用いて燃料噴射弁１６が操作される。ちなみに、代表点ａｉｊは、先の図５に示した処理によって学習される学習値ΔＱｌｒｎ＃ｉ（気筒別仕事量Ｓｎｅｆｌｔ＃ｉの複数個の値によって定まる平均的な値）を真の値とする点として最も適切な点に設定される。
【００４８】
また、燃料噴射制御に際して、燃圧と噴射量とがいずれの代表点とも一致しない場合には、補間処理をしてそのときの燃圧と噴射量とに見合った学習値ΔＱｌｒｎ＃ｉを算出する。以下、図７を用いて、この補間処理の手法を例示する。
【００４９】
図７では、便宜上、先の図６の領域Ａｉｊのうちの隣接する４つの領域をそれぞれ領域Ａ〜Ｄとしている。そして、これらの代表点をそれぞれ代表点ａ〜ｄとしている。ちなみに、これら代表点ａ〜ｄは、燃圧と噴射量とがそれぞれ（３０，２０）、（５０，２０）、（５０，４０）、（３０，４０）である点である。図７において、領域Ｃ内の点Ｐは、燃圧が「４５」で噴射量が「３５」であり、代表点ｃと一致していない。このため、噴射量と燃圧とが点Ｐであるときには、隣接する４つの代表点ａ〜ｄの学習値ΔＱｌｒｎ＃ｉを用いて補間処理を行なう。ここでは、代表点ａ〜ｄの学習値ΔＱｌｒｎ＃ｉをそれぞれ「２」、「４」、「６」、「４」として説明する。
【００５０】
すなわち、まず代表点ａと代表点ｂとを結ぶ直線に点Ｐを投影した点での学習値ΔＱｌｒｎ＃ｉを、補間処理により以下のようにして算出する。
（４５−３０）÷（５０−３０）×（４−２）＋２＝３．５
また、代表点ｃと代表点ｄとを結ぶ直線に点Ｐを投影した点での学習値ΔＱｌｒｎ＃ｉを、補間処理により以下のようにして算出する。
（４５−３０）÷（５０−３０）×（６−４）＋４＝５．５
そして、これら算出される値から、点Ｐでの学習値ΔＱｌｒｎ＃ｉを、補間処理により以下のようにして算出する。
（３５−２０）÷（４０−２０）×（５．５−３．５）＋３．５＝５
ところで、先の図５に示した処理によって学習値ΔＱｌｒｎ＃ｉが算出されていない代表点がある場合、この代表点を用いて補間処理により算出される学習値ΔＱｌｒｎ＃ｉは適切な値とならない。更に、たとえ図５に示した処理によって学習値ΔＱｌｒｎ＃ｉが学習されたとしても、一度の学習ではその値が適切なものとならない傾向にある。すなわち、この学習値ΔＱｌｒｎ＃ｉは、学習された学習値ΔＱｌｒｎ＃ｉを用いて燃料噴射制御を行い、それに基づき学習値ΔＱｌｒｎ＃ｉを再度学習するという処理を繰り返すことで適切な値に収束する傾向にある。この傾向は、上記係数Ｋｂを「１」より小さい値とするときに特に顕著となる。このため、学習値ΔＱｌｒｎ＃ｉが未だ収束していない代表点を用いて補間処理を行なったのでは、適切な学習値ΔＱｌｒｎ＃ｉを算出することができない。
【００５１】
このように補間処理によって算出される値が適切な値でない場合、先の図５に示した処理によって算出される学習値ΔＱｌｒｎ＃ｉの算出精度の低下をももたらす。以下、図８に基づきこれについて説明する。
【００５２】
図８（ａ）では、便宜上、点Ｐが、領域Ａと領域Ｂとのそれぞれの代表点ａ及び代表点ｂによって結ばれる直線上であって且つ領域Ａ内にある場合を例示する。また、代表点ａ、代表点ｂ及び点Ｐの真の学習値ΔＱｌｒｎ＃ｉを、図８（ｂ）に×印にて示す。
【００５３】
ここで、代表点ａ及び代表点ｂで学習値ΔＱｌｒｎ＃ｉが学習されていない場合、補間処理によって算出される点Ｐの値も「０」となる。このため、この点Ｐに「７２０×ｎ°ＣＡ」以上とどまることで、先の図５に示した処理により学習がなされると、その値は、点Ｐにおける真の学習値となる（ここでは、便宜上、上記係数Ｋｂを「１」としている）。このため、学習値ΔＱｌｒｎ＃ｉは、量Δ１だけ増加され、図８（ｂ）に示した三角印の値として学習されることとなる。そして、この学習後においては、点Ｐにおける学習値ΔＱｌｒｎ＃ｉは、補間処理により、図８（ｂ）に四角印にて示すものとなる。この値は、点Ｐにおける真の学習値よりもΔ２だけ小さい。このため、図８（ｂ）に四角印にて示す値を用いて燃料噴射制御が継続されると、先の図５に示す処理により、領域Ａにおける学習値ΔＱｌｒｎ＃ｉは、「Δ１＋Δ２」と学習される。このため、２回目の学習により、代表点ａの学習値ΔＱｌｒｎ＃ｉは、図８（ｂ）に示す丸印の値とされる。
【００５４】
このように代表点ｂで未だ学習値が学習されていないときに代表点ｂを用いて補間処理を行なうことで、代表点ａにおける学習値ΔＱｌｒｎ＃ｉは、真の値を上回って学習されることとなる。こうして、代表点ｂでの学習がなされない間、代表点ｂでの値（「０」）と、点Ｐでの真の値とを結ぶ直線上の点Ｗに向けて代表点ａの学習値が誤学習され続ける。
【００５５】
そこで本実施形態では、補間処理にて用いる代表点であってそのときの噴射量と燃圧との属さない領域の学習値ΔＱｌｒｎ＃ｉの値が未だ収束していないとき、この収束していない代表点の学習値ΔＱｌｒｎ＃ｉとして、上記噴射量と燃圧との属する領域の学習値ΔＱｌｒｎ＃ｉを代用する。
【００５６】
例えば、上記の例の場合、代表点ａ及び代表点ｂにおいて学習値ΔＱｌｒｎ＃ｉが未学習であるなら、先の図５に示した処理におけるステップＳ２８において肯定判断されたとき、代表点ａの学習値ΔＱｌｒｎ＃ｉがステップＳ３２における更新量だけ更新される。これにより、図８（ｃ）に示されるように、代表点ａの学習値ΔＱｌｒｎ＃ｉが、点Ｐの真の学習値となる。そして、次回以降、噴射量と燃圧とが点Ｐである場合、代表点ｂの学習値ΔＱｌｒｎ＃ｉとして、図８（ｃ）に三角印にて示すように代表点ａの学習値を代用する。これにより、補間処理により点Ｐの値が真の値に算出される。そして、点Ｐの真の値を用いて燃料噴射制御がなされるため、代表点ａの学習値ΔＱｌｒｎ＃ｉが誤学習されていくこともない。
【００５７】
図９に、本実施形態による学習値を用いた燃料噴射制御の処理手順を示す。この処理は、ＥＣＵ３０により、例えば所定周期で繰り返し実行される。
【００５８】
この一連の処理では、まずステップＳ４０において、燃圧センサ２０によって検出される最新の燃圧と現在の噴射量とを取得する（燃圧と噴射量との実際の値の取得）。続くステップＳ４２においては、補間処理が必要か否かを判断する。換言すれば、上記実際の値が代表点と一致するか否かを判断する。
【００５９】
そして、補間処理が必要であると判断されると、ステップＳ４４において、補間処理に用いる代表点を選択する。例えば、現在の燃圧と噴射量とによって定義される点が先の図７に示す点Ｐである場合、代表点ａ〜ｄが選択される。
【００６０】
続くステップＳ４６においては、補間処理に用いる領域のうち上記実際の値の属さない領域における学習回数が予め定められた回数Ｎ以上であるか否かを判断する。この回数Ｎは、学習値ΔＱｌｒｎ＃ｉが収束したか否かを判断するためのものである。
【００６１】
そして、回数Ｎ未満であるものがあるとき、ステップＳ４８に移行する。ステップＳ４８では、回数Ｎ未満である領域の学習値ΔＱｌｒｎ＃ｉを、実際の値の属する領域の代表点の学習値ΔＱｌｒｎ＃ｉにて代用する。
【００６２】
上記ステップＳ４６にて肯定判断されるときや、ステップＳ４８の処理が完了するときには、ステップＳ５０に移行する。ここでは、ステップＳ４４にて選択された代表点の学習値ΔＱｌｒｎ＃ｉを用いて上記実際の値の学習値ΔＱｌｒｎ＃ｉを補間処理により算出する。ただし、ステップＳ４６にて否定判断されているときには、上記選択される代表点の中に、その学習値ΔＱｌｒｎ＃ｉに代えて、ステップＳ４８による代用処理による値が用いられるものが含まれる。
【００６３】
上記ステップＳ４２にて否定判断されるときや、ステップＳ５０の処理が完了するときには、ステップＳ５２に移行する。ステップＳ５２では、燃料噴射弁１６に対する噴射量の指令値を、上記実際の値における適切な学習値にて減算した値を用いて燃料噴射弁１６を操作する。すなわち、ステップＳ４２にて否定判断されるときには、上記実際の値と一致する代表点の学習値ΔＱｌｒｎ＃ｉを用いて、燃料噴射弁１６を操作する。また、ステップＳ５０の補間処理を経た場合には、同補間処理によって算出される値にて噴射量の指令値を減算したものを用いて、燃料噴射弁１６を操作する。
【００６４】
なお、ステップＳ５２の処理が完了するときには、この一連の処理を一旦終了する。
【００６５】
こうした処理を行なうことで、学習値ΔＱｌｒｎ＃ｉが未だ収束していない代表点を有する場合であっても、補間処理を用いた燃料噴射制御を適切に行うことができる。
【００６６】
例えば先の図７において、代表点ｂの学習値ΔＱｌｒｎ＃ｉが「４」に収束しており、代表点ａ、ｃ、ｄの学習値ΔＱｌｒｎ＃ｉが「０」である場合（未学習である場合）を考える。この場合、補間処理により点Ｐの学習値ΔＱｌｒｎ＃ｉは、「０．７５」と算出される。一方、点Ｐでの真の値は「５」であるため、先の図５に示した処理によって、代表点ｃの学習値ΔＱｌｒｎ＃ｉが、「４．２５」に更新される（便宜上、係数Ｋｂを「１」とした）。
【００６７】
そして、次回の燃料噴射制御において、先の図９に示した処理によって、代表点ａ及び代表点ｄの学習値ΔＱｌｒｎ＃ｉとして、「４．２５」が代用される。これにより、点Ｐでの学習値ΔＱｌｒｎ＃ｉは、補間処理により、「４．１４０６２５」と算出される。このため、この値を用いて燃料噴射制御をすることで、先の図５に示した処理によって、代表点ｃの学習値ΔＱｌｒｎ＃ｉが更新され、「５．１０９３７５」となる。そして、次回の燃料噴射制御において、先の図９に示した処理によって、代表点ａ及び代表点ｄの学習値ΔＱｌｒｎ＃ｉとして、「５．１０９３７５」が代用される。
【００６８】
以下、同様の処理を繰り返すことで、最終的に、点Ｐの学習値ΔＱｌｒｎ＃ｉが「５」となるように、代表点ａ、ｃ、ｄの学習値ΔＱｌｒｎ＃ｉの代用値が、「５．２３０７７」へと収束していく。
【００６９】
以上詳述した本実施形態によれば、以下の効果が得られるようになる。
【００７０】
（１）補間処理により用いられる代表点であって且つ実際の値の属さない領域の代表点の学習値ΔＱｌｒｎ＃ｉのうち、未だ収束していないと判断される学習値ΔＱｌｒｎ＃ｉがある場合、これを、実際の値の属する領域の学習値ΔＱｌｒｎ＃ｉにより代用した。これにより、補間処理によって算出されるずれ量をより適切なものとすることができる。
【００７１】
（２）代表点における学習値ΔＱｌｒｎ＃ｉの学習回数が予め定められた回数Ｎ以上であるときに学習値ΔＱｌｒｎ＃ｉが収束していると判断した。これにより、学習値ΔＱｌｒｎ＃ｉの収束を簡易且つ適切に判断することができる。
【００７２】
（３）クランク軸８軸の回転速度の検出値をディーゼル機関の燃焼周波数に基づき設定した単一の周波数にてフィルタ処理して瞬時トルク相当値を算出するフィルタ処理部Ｍ１を備え、瞬時トルク相当値に基づき燃料噴射弁１６の噴射特性を推定した。これにより、燃料噴射弁１６の噴射特性を適切に推定することができる。
【００７３】
（４）学習値ΔＱｌｒｎ＃ｉの基準点を、気筒間の平均的な噴射特性とすることで、同学習値を用いて各気筒の燃料噴射によって生じる回転を均一化することができる。
【００７４】
（５）学習値ΔＱｌｒｎ＃ｉを学習する領域を、コモンレール１２内の燃圧と燃料噴射弁１６に対する噴射量の指令値とによって定義した。これにより、各領域において適切なずれ量を学習することができる。
【００７５】
（その他の実施形態）
なお、上記各実施形態は、以下のように変更して実施してもよい。
【００７６】
・上記実施形態では、学習値ΔＱｌｒｎ＃ｉを学習する領域を、燃圧と噴射量の指令値とによって定義したがこれに限らない。例えば、クランク軸８の回転速度と燃圧とによって定義してもよい。更に、これら３つのパラメータのうちのいずれか１つによって定義してもよい。
【００７７】
・上記実施形態では、全気筒の平均的な噴射特性を基準としたときの各気筒の噴射特性のずれ量を学習値ΔＱｌｒｎ＃ｉとして学習したがこれに限らず、例えば、基準となる噴射特性を、燃料噴射弁１６を量産したときの平均的な噴射特性であるいわゆる中央特性としてもよい。
【００７８】
・上記構成では、噴射特性の基準に対するずれ量として、燃料噴射量の補正量である学習値ΔＱｌｒｎ＃ｉを記憶するようにしたが、これに限らず、例えば燃料噴射弁に対する指令噴射期間の補正量を上記ずれ量として記憶するようにしてもよい。
【００７９】
・上記実施形態では、瞬時トルク相当値Ｎｅｆｌｔを各気筒の燃焼周期内で積分して気筒別仕事量Ｓｎｅｆｌｔ＃ｉを算出する構成としたが、これに限らない。例えば、回転上昇区間又は回転下降区間に相当する所定の区間内における瞬時トルク相当値Ｎｅｆｌｔを気筒毎に積分して仕事量を算出し、これに基づき燃料噴射弁１６の基準に対するずれ量を算出してもよい。更に、所定の回転角度における瞬時トルク相当値Ｎｅｆｌｔによって、直接上記ずれ量を算出してもよい。更に、上記ずれ量を算出する手法としては、クランク軸８の回転速度の検出値を燃焼周波数に基づき設定した単一の周波数にてフィルタ処理することで算出される瞬時トルク相当値に基づくものに限らない。
【００８０】
・上記実施形態では、補間処理として線形補間を用いたがこれに限らず、例えば２次曲線を用いて補間処理を行なってもよい。
【００８１】
・内燃機関としては、ディーゼル機関に限らず、例えば筒内噴射式ガソリン機関であってもよい。
【図面の簡単な説明】
【００８２】
【図１】本実施形態にかかるエンジンシステムの全体構成を示す図。
【図２】各気筒の回転速度の推移を示すタイムチャート。
【図３】気筒別仕事量を算出するための制御ブロックを示すブロック図。
【図４】回転速度、瞬時トルク相当値及び気筒別仕事量の推移を示すタイムチャート。
【図５】上記実施形態にかかる学習値の学習にかかる処理手順を示すフローチャート。
【図６】同実施形態にかかる学習値の記憶手法を示す図。
【図７】学習値を用いた補間処理の手法を説明するための図。
【図８】補間処理における問題点を説明する図。
【図９】本実施形態にかかる燃料噴射制御の処理手順を示すフローチャート。
【符号の説明】
【００８３】
１２…コモンレール、１６…燃料噴射弁、３０…ＥＣＵ（燃料噴射制御装置の一実施形態）。
【図１】
0004492532.tif 000006
【図２】
0004492532.tif 000007
【図３】
0004492532.tif 000008
【図４】
0004492532.tif 000009
【図５】
0004492532.tif 000010
【図６】
0004492532.tif 000011
【図７】
0004492532.tif 000012
【図８】
0004492532.tif 000013
【図９】
0004492532.tif 000014