(57)【要約】【課題】パイロット噴射量を補正するための学習値が正常であるか異常であるかの判定をより高精度に行うことが可能な燃料噴射制御装置を提供すること。【解決手段】既に算出済みの学習値に基づき、学習値算出回数に対する学習値の大きさを示す第１学習値推定線を算出し、この第１学習値推定線を用いて、次に算出される新規学習値Ｃｎが収まるべき学習値許容範囲Ａｎを定める。第１学習値推定線は、回を重ねるごとに学習値がどのように変化していくかの傾向を示すものである。従って、このような第１学習値推定線を用いることにより、次に算出される新規学習値Ｃｎが収まるべき学習値許容範囲Ａｎの精度を高めることができる。そのため、設定された学習値許容範囲Ａｎに基づき、算出された新規学習値が正常であるか異常であるかの判定をより高精度に行うことができるようになる。【選択図】図８
2016132998.tif 000002
【特許請求の範囲】
【請求項１】
内燃機関（１）の一燃焼サイクル中に、燃料噴射装置（４）がパイロット噴射とメイン噴射とを行うように、前記燃料噴射装置を制御する燃料噴射制御装置（１０）において、
所定の学習値算出条件が成立したときに、前記燃料噴射装置がパイロット噴射を行う際の狙いとする噴射量に対する実際の噴射量のずれを補正するための学習値を算出する学習値算出手段（Ｓ２００、Ｓ３１０、S４２０）と、
前記学習値算出手段によって算出済みの前記学習値に基づき、学習値算出回数に対する前記学習値の大きさを示す第１学習値推定線を算出し、この第１学習値推定線を用いて、次に前記所定の学習値算出条件が成立したときに算出される新規学習値が収まるべき学習値許容範囲を算出する許容範囲算出手段（Ｓ４１０）と、
前記学習値算出手段によって前記新規学習値が算出されたときに、前記学習値許容範囲に収まっているか否かに基づいて、算出された前記新規学習値が正常であるか異常であるかを判定する判定手段（Ｓ４３０）と、を備えることを特徴とする燃料噴射制御装置。
【請求項２】
前記学習値算出手段によって算出された前記新規学習値を記憶する不揮発性メモリ（６４）を有し、
前記判定手段は、前記不揮発性メモリから読み出した前記新規学習値を、前記学習値許容範囲と対比することにより、前記新規学習値が正常であるか異常であるかを判定することを特徴とする請求項１に記載の燃料噴射制御装置。
【請求項３】
前記第１学習値推定線に基づいて、前記新規学習値として利用可能な推定学習値を算出する推定学習値算出手段（Ｓ３５０、Ｓ４８０）を備え、
前記許容範囲算出手段は、前記推定学習値を基準として、前記学習値許容範囲を算出することを特徴とする請求項１又は２に記載の燃料噴射制御装置。
【請求項４】
前記学習値算出手段によって算出された前記新規学習値が、前記判定手段により異常であると判定された場合、前記推定学習値算出手段によって算出された前記推定学習値を、前記新規学習値として用いることを特徴とする請求項３に記載の燃料噴射制御装置。
【請求項５】
前記学習値算出手段によって算出された前記新規学習値が、前記判定手段により正常であると判定された場合、前記許容範囲算出手段は、前記新規学習値に基づいて第２学習値推定線を算出するとともに、前記第１学習値推定線の傾きと前記第２学習値推定線の傾きとの間の傾きを持つ第３学習値推定線を算出し、この第３学習値推定線を新たな前記第１学習値推定線として、前記新規学習値の次の学習値に対する学習値許容範囲を算出することを特徴とする請求項１乃至４のいずれかに記載の燃料噴射制御装置。
【請求項６】
前記第３学習値推定線は、前記第１学習値推定線の傾きと前記第２学習値推定線の傾きとの中間の傾きを持つように算出されることを特徴とする請求項５に記載の燃料噴射制御装置。
【請求項７】
前記学習値算出手段によって算出された前記新規学習値が、前記判定手段により異常であると判定された場合、前記許容範囲算出手段は、前記第１学習値推定線をそのまま用いて、前記新規学習値の次の学習値に対する学習値許容範囲を算出することを特徴とする請求項１乃至６のいずれかに記載の燃料噴射制御装置。
【請求項８】
前記判定手段は、前記学習値の算出回数が４回に達した後、算出された前記学習値が正常であるか異常であるかの判定を開始するものであり、３回目までに算出された学習値は、４回目以降の学習値が正常であるか異常であるか判定するための前記学習値許容範囲を算出するために利用されることを特徴とする請求項１乃至７のいずれかに記載の燃料噴射制御装置。
【請求項９】
前記許容範囲算出手段は、１回目の前記学習値に基づく１回目学習値推定線、２回目の前記学習値に基づく２回目学習値推定線、及び３回目の前記学習値に基づく３回目学習値推定線をそれぞれ算出し、その中から、傾きの近い２本の学習値推定線を選択し、その選択された２本の学習値推定線のそれぞれの傾きの間の傾きを持つように、前記第１学習値推定線を算出することを特徴とする請求項１乃至８のいずれかに記載の燃料噴射制御装置。
【請求項１０】
前記第１学習値推定線は、前記選択された２本の学習値推定線のそれぞれの傾きの中間の傾きを持つように算出されることを特徴とする請求項９に記載の燃料噴射制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、内燃機関の１燃焼サイクル中に、燃料噴射装置がパイロット噴射とメイン噴射とを行うように、燃料噴射装置を制御する燃料噴射制御装置に関する。
【背景技術】
【０００２】
例えば、内燃機関としてのディーゼルエンジン用のコモンレール式燃料噴射制御装置では、特許文献１に開示されるように、ディーゼルエンジンにおける吸入、圧縮、爆発、排気からなる１燃焼サイクル中に、燃料噴射装置（インジェクタ）から燃料を複数回噴射させている。これにより、エンジン騒音や振動の低下、排気ガスの改善を図っている。
【０００３】
具体的には、メイン噴射の前に、少量の燃料を噴射することにより（パイロット噴射）、予混合燃焼によるスモーク（黒煙）やパティキュレート（粒子状物質）の低減を図ることができるとともに、着火遅れの短縮により騒音・振動の低減も図ることができる。また、このように複数回に分けて噴射を行なうことにより、メイン噴射における噴射期間を短縮できるので、急激な燃焼を抑えて、騒音・振動の低減、スモーク等の低減を図ることができる。
【０００４】
ただし、パイロット噴射による燃料の噴射量は微小であるため（例えば５ｍｍ３／ｓｔ以下）、経年変化によるインジェクタの機能の劣化などにより、実際の噴射量が、狙いとする噴射量からずれてしまう虞があった。そのため、特許文献１には、イグニッションスイッチのオフ回数、車両走行距離、エンジン運転時間などに基づいて、所定の学習値算出条件が成立したと判定したときに、インジェクタによる噴射量を補正するための学習値を算出し、パイロット噴射の噴射量を補正することが提案されている。また、特許文献１には、学習値の過学習や誤学習を防止するため、学習初期値から今回学習値までのトータル学習量が所定値を越えているか否か、及び前回学習値と今回学習値との差が正常範囲（学習制御１回当りの変更可能量）内であるか否かにより、学習値が正常値であるか異常値であるかを判定することも記載されている。この場合、学習値が異常値であると判定されると、その学習が無効とされたり、最大の変化量でガードされた値が学習値とされたりする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−２５４１３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載されるように、前回学習値からの変化量の大きさに基づいて、今回学習値の正常、異常を判断する場合、正常範囲を規定する学習制御１回当りの変更可能量は、学習が行われる間隔での経時変化による噴射量の最大変化量を許容する大きさに設定する必要がある。このため、正常範囲とみなす範囲が相対的に大きくなってしまい、過学習や誤学習が生じた場合であっても、正常範囲とみなされてしまう可能性が生じる。例えば、経時変化による噴射量の変化はほとんど生じていない場合に、エンジンの運転状態などによって噴射量が変化したことに起因して学習値が前回学習値から増減したとき、その増減量が学習制御１回当りの変更可能量以内であれば、正常な学習がなされたと判定されてしまう。
【０００７】
本発明は、上述した点に鑑みてなされたものであり、学習値が正常であるか異常であるかの判定をより高精度に行うことが可能な燃料噴射制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明による燃料噴射制御装置（１０）は、内燃機関（１）の一燃焼サイクル中に、燃料噴射装置（４）がパイロット噴射とメイン噴射とを行うように、燃料噴射装置を制御するものであって、
所定の学習値算出条件が成立したときに、燃料噴射装置がパイロット噴射を行う際の狙いとする噴射量に対する実際の噴射量のずれを補正するための学習値を算出する学習値算出手段（Ｓ２００、Ｓ３１０、S４２０）と、
学習値算出手段によって算出済みの学習値に基づき、学習値算出回数に対する学習値の大きさを示す第１学習値推定線を算出し、この第１学習値推定線を用いて、次に所定の学習値算出条件が成立したときに算出される新規学習値が収まるべき学習値許容範囲を算出する許容範囲算出手段（Ｓ４１０）と、
学習値算出手段によって新規学習値が算出されたときに、学習値許容範囲に収まっているか否かに基づいて、算出された新規学習値が正常であるか異常であるかを判定する判定手段（Ｓ４３０）と、を備えることを特徴とする。
【０００９】
本発明による燃料噴射制御装置では、単に前回の学習値からの変化量に基づいて正常範囲を定めるのではなく、学習値算出回数に対する学習値の大きさを示す第１学習値推定線を用いて、次に算出される新規学習値が収まるべき学習値許容範囲を定める。第１学習値推定線は、算出済みの学習値に基づいて算出され、回を重ねるごとに学習値がどのように変化していくかの傾向を示すものである。従って、このような第１学習値推定線を用いることにより、次に算出される新規学習値が収まるべき学習値許容範囲の精度を高めることができる。そのため、設定された学習値許容範囲に基づき、算出された新規学習値が正常であるか異常であるかの判定をより高精度に行うことができるようになる。
【００１０】
上記括弧内の参照番号は、本発明の理解を容易にすべく、後述する実施形態における具体的な構成との対応関係の一例を示すものにすぎず、なんら本発明の範囲を制限することを意図したものではない。
【００１１】
また、上述した特徴以外の、特許請求の範囲の各請求項に記載した技術的特徴に関しては、後述する実施形態の説明及び添付図面から明らかになる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係るコモンレール式燃料噴射システムの全体構成を示した構成図である。
【図２】ＥＣＵ内の主要な構成を示したブロック図である。
【図３】学習値算出処理を含む、学習値異常判定処理のメインルーチンを示すフローチャートである。
【図４】図３のフローチャートにおけるサブルーチン１の処理内容を示したフローチャートである。
【図５】図３のフローチャートにおけるサブルーチン２の処理内容を示したフローチャートである。
【図６】図３のフローチャートにおけるサブルーチン３の処理内容を示したフローチャートである。
【図７】１回目学習値推定線、２回目学習値推定線、及び３回目学習値推定線の各傾きから定められる第１学習値推定線の一例を示した図である。
【図８】第１学習値推定線を用いて、学習値の推定値、及びその学習値の許容範囲を定める一例を示した図である。
【図９】算出された学習値が正常である場合の、新たな第１学習値推定線の算出方法を説明するための図である。
【図１０】算出された学習値が異常である場合の、新たな第１学習値推定線の算出方法を説明するための図である。
【発明を実施するための形態】
【００１３】
以下、本発明の燃料噴射制御装置の実施形態について、図面に基づいて説明する。なお、以下に説明する実施形態では、燃料噴射制御装置を、ディーゼルエンジン用のコモンレール式燃料噴射システムに適用した例について説明する。ただし、本発明による燃料噴射制御装置は、コモンレール式に限らず、その他の形式の燃料噴射システムに適用することも可能である。
【００１４】
図１はコモンレール式燃料噴射システムの全体構成を示した図である。本実施形態のコモンレール式燃料噴射システムは、エンジン（内燃機関）１の各気筒に噴射供給する燃料を高圧に保持（畜圧）するコモンレール２と、図示しない燃料タンクから吸入した燃料を加圧してコモンレール２内に燃料供給管２６を介して圧送する燃料供給ポンプ３と、コモンレール２内の高圧燃料をエンジン１の各気筒内に噴射供給する複数個（本実施形態では４個）のインジェクタ４と、燃料供給ポンプ３および複数個のインジェクタ４などを電子制御する電子制御ユニット（以下、ＥＣＵ）１０とを備えている。
【００１５】
エンジン１は、４個の気筒から構成された４サイクル４気筒ディーゼルエンジンである。エンジン１の各気筒（シリンダ）は、シリンダブロックとシリンダヘッド等により形成されている。そして、各シリンダの吸気ポートは、吸気弁１１により開閉され、排気ポートは、排気弁１２により開閉される。また、各シリンダ内には、連接棒を介してクランクシャフト（図示せず）に連結されたピストン１３が摺動自在に配設されている。そして、エンジン１を収容するエンジンルーム（図示せず）内の走行風を受け易い場所には、エンジン１の冷却水が循環するラジエータ１４が配設されている。ラジエータ１４には、冷却水の温度（エンジン冷却水温）を検出する冷却水温センサ３７が設置されている。
【００１６】
エンジン１の運転中に、シリンダ内で燃焼した排気ガスは、排気管１５を通り、バリアブル・ジオメトリ・ターボ（ＶＧＴ）１６のタービンの駆動源となった後に、触媒（図示せず）、マフラー（図示せず）を経て排出される。ＶＧＴ１６のタービンには、可変ノズルベーン機構が設けられており、ＥＣＵ１０は、吸気圧センサ４４や後述するクランク各センサなどの検出信号に基づき、エンジン１の運転状態に合わせてノズル開度を調整することで、過給圧を最適に制御する。ＶＧＴ１６により過給（圧縮）され高温になった吸入空気は、インタクーラ１８で冷却された後に、吸気管１７に流入する。
【００１７】
吸気管１７には、エンジン１に供給する吸入空気量を調整するための吸気絞り弁（スロットルバルブ）１９が配設されている。このスロットルバルブ１９の弁開度は、ＥＣＵ１０からの信号により作動するアクチュエータ２０によって調節される。なお、アクチュエータ２０内には、スロットルバルブ１９の弁開度を検出するスロットルポジションセンサ（図示せず）が設けられている。スロットルポジションセンサとして、スロットルバルブ１９の弁開度を全閉のアイドリング時と全開に近い高負荷時に分けて感知し、ＥＣＵ１０へ送信するセンサを用いても良い。
【００１８】
また、吸気管１７には、排気管１５を流れる排気ガスの一部（排気再循環ガス：ＥＧＲガス）を吸気管１７へ導く排気ガス還流管２４が接続されている。そして、吸気管１７と排気ガス還流管２４との合流部には、排気ガス再循環用バルブ（ＥＧＲバルブ）２５が設置されている。ＥＣＵ１０は、エンジン１の運転状態毎に設定された排気ガス還流量になるようにＥＧＲバルブ２５の弁開度を制御する。その結果、シリンダ内に吸い込まれる吸入空気は排気管１５からの排気ガスとミキシングされ、窒素酸化物（ＮＯｘ）の生成量が低減される。なお、排気ガス還流量（ＥＧＲ量）は、吸入空気量センサ４３と吸気温センサ４５と排気Ｏ２センサ４８などからのセンサ信号に基づいて、目標値となるようにフィードバック制御される。
【００１９】
コモンレール２には、燃料噴射圧力に相当する高圧燃料が蓄圧されている必要がある。そのため、コモンレール２内に蓄圧された燃料噴射圧力（コモンレール圧とも言う）が、コモンレール圧センサ３０によって測定される。ＥＣＵ１０は、エンジン１の運転状態に応じた目標燃料噴射圧力を定め、コモンレール圧センサ３０によって測定された圧力が目標燃料噴射圧力となるように、燃料供給ポンプ３の動作を制御する。この燃料供給ポンプ３内には、燃料タンクから吸入される燃料温度を検出する燃料温度センサ３６が設置されている。
【００２０】
また、コモンレール２には、コモンレール２から燃料タンクへ燃料をリリーフするリリーフ配管が接続されている。そのリリーフ配管には、燃料噴射圧力が限界設定圧を越えることがないように圧力を逃がすためのプレッシャリミッタ２７が取り付けられている。
【００２１】
インジェクタ４は、エンジン１の各気筒のシリンダヘッドに個別に取り付けられている。各インジェクタ４は、ＥＣＵ１０からの駆動信号（パルス信号）に応じて、各気筒のシリンダ内に高圧燃料を噴射する電磁弁を備えた電磁式燃料噴射弁である。これらのインジェクタ４からの燃料噴射は、例えば、電磁弁が開弁している間、コモンレール２に蓄圧された高圧燃料がエンジン１の各気筒のシリンダ内に噴射供給されることで成される。この場合、インジェクタ４の電磁弁の開弁時間が長い程、エンジン１の各気筒のシリンダ内に噴射される燃料噴射量が多くなり、電磁弁の開弁時間が短い程、燃料噴射量が少なくなる。
【００２２】
ＥＣＵ１０には、図２に示すように、演算処理を行うＣＰＵ６１、ＣＰＵ６１が演算処理を行う上で必要となるデータを一時的に保存するＲＡＭ６２、及び各種プログラムやデータを保存するＲＯＭ６３などを備えたマイコン６０と、データの書込が可能な不揮発性メモリであるＥＥＰＲＯＭ６４、ＥＣＵ１０内の各部に動作電圧を供給する電源回路６５、インジェクタ４に対して駆動信号を出力するインジェクタ駆動ＩＣ６６等が設けられている。なお、図２には、ＥＣＵ１０の主要な構成のみを示しており、その他に、ＥＣＵ１０は、Ａ／Ｄ変換器を含み、各種のセンサ信号を入力する入力回路や、ポンプ駆動回路、ＶＧＴ駆動回路、ＥＧＲバルブ駆動回路などが設けられている。そして、コモンレール圧センサ３０からの検出信号や、その他の各種センサからのセンサ信号は、Ａ／Ｄ変換器でＡ／Ｄ変換された後に、ＥＣＵ１０に内蔵されたマイコン６０に入力される。ＥＣＵ１０は、図示しないイグニッションスイッチがオンされると、各種のセンサ信号に基づいて、燃料供給ポンプ３やインジェクタ４等の各制御対象部品を電子制御する。
【００２３】
ＥＣＵ１０には、気筒判別センサ及びクランク角センサからの検出信号も入力される。気筒判別センサは、エンジン１のカムシャフトに対応して回転するシグナルロータ（クランクシャフトが２回転する間に１回転する回転体）３１と、シグナルロータ３１の外周に形成された突起の接近と離間に応じた信号を出力する電磁ピックアップ３２とを備えている。シグナルロータ３１の外周には、各気筒に対応した気筒歯（突起部）が形成されている。電磁ピックアップ３２は、これらの気筒歯の接近と離間によって気筒判別信号を発生する。
【００２４】
また、クランク角センサは、エンジン１のクランクシャフトに対応して回転するシグナルロータ（クランクシャフトが１回転する間に１回転する回転体）３３と、シグナルロータ３３の外周に形成された突起の接近と離間に応じた信号を出力する電磁ピックアップ３４とを備えている。シグナルロータ３３の外周には、クランク角検出用の歯（突起部）が多数（例えば、３６歯）形成されている。これらの歯の接近と離間によって、電磁ピックアップ３４は、シグナルロータ３３が１回転（クランクシャフトが１回転）する間に複数のクランク角信号を出力する。なお、特定のクランク角信号は、＃１〜＃４気筒のピストンの上死点（ＴＤＣ）の位置に対応している。そして、ＥＣＵ１０は、クランク角信号の間隔時間を計測することによってエンジン回転速度を検出する。
【００２５】
さらに、本実施形態では、エンジン１の運転状態を検出するためのセンサとして、上述したセンサに加え、アクセル開度センサ３５、ＥＧＲポジションセンサ４６、排気温センサ４９、排気圧センサ５０、大気圧センサ、大気温（外気温）センサ、車速センサ、ギヤポジションセンサなどを備えている。これら各種のセンサからのセンサ信号も、ＥＣＵ１０に入力される。また、ＥＣＵ１０には、エアコン用電磁クラッチ、エアコンのコンデンサ用電動ファン、エアコンの室内送風用ファン、ラジエータ用電動ファンやヘッドライト等の電気負荷、エアコン用コンプレッサやパワーステアリングやオイルポンプ等の駆動負荷等の車両情報を検出する信号が入力される。ただし、これらのセンサやスイッチは、全て設ける必要はなく、制御内容や車両の仕様に応じて、必要なセンサやスイッチのみを設ければ良い。
【００２６】
ＥＣＵ１０は、エンジン回転速度が所定値（例えば、１０００ｒｐｍ）以下、アクセル開度が所定値（例えば、０％）以下、車両の走行速度が所定値（例えば、０ｋｍ／ｈ）以下、指令噴射量が無負荷燃費を示す所定値（例えば、５ｍｍ３／ｓｔ）、トランスミッションのギアポジションがＮ（ニュートラル）であることを検出した際に、低負荷低回転状態、つまりアイドル安定状態（無負荷燃費状態）であることを検出する。そして、詳しくは後述するが、アイドル安定状態が検出されたことを条件として、経年変化によるパイロット噴射量のずれを補正するための学習値を算出する学習制御を実行する。
【００２７】
また、ＥＣＵ１０は、エンジン１の運転状態に応じた最適な燃料噴射圧力（コモンレール圧）を演算し、ポンプ駆動回路を介して燃料供給ポンプ３を駆動する機能を有している。すなわち、ＥＣＵ１０は、クランク角センサによって検出されたエンジン回転速度およびアクセル開度センサ３５によって検出されたアクセル開度等のエンジン運転情報から目標燃料噴射圧力を算出する。そして、ＥＣＵ１０は、この目標燃料噴射圧力を達成するように、燃料供給ポンプ３の駆動を制御する。
【００２８】
さらに、ＥＣＵ１０は、各気筒のインジェクタ４から噴射される燃料噴射量を個別に制御する機能も備えている。例えば、ＥＣＵ１０は、エンジン回転速度やアクセル開度などに基づいて基本噴射量を算出するとともに、燃料温度センサ３６によって検出された燃料温度および冷却水温センサ３７によって検出された冷却水温などに基づき、基本噴射量に対する補正量を算出する。ＥＣＵ１０は、これらの基本噴射量及び補正量から指令噴射量を算出し、さらに、マップ等に基づき、コモンレール圧を考慮しつつ、指令噴射量を実現するための噴射指令パルス信号の長さ（パルス幅）を算出する。このようにして算出された噴射指令パルス信号に応じた期間だけ、インジェクタ４の電磁弁が開弁されることにより、インジェクタ４から指令噴射量に相当する燃料量が噴射される。
【００２９】
ここで、本実施形態のコモンレール式燃料噴射システムでは、エンジン１の各気筒のインジェクタ４が、吸入、圧縮、爆発、排気からなる１燃焼サイクル中に、燃料を複数回噴射するように駆動される。具体的には、従来と同様に、エンジン騒音や振動の低下、排気ガスの改善を図るべく、メイン噴射の前に、少なくとも１回のパイロッット噴射を行う。そのため、ＥＣＵ１０は、エンジン１の運転状態と基本噴射量とから、パイロット噴射およびメイン噴射の各々の燃料噴射量を算出する。そして、エンジン回転速度とパイロット噴射量からパイロット噴射とメイン噴射との間のインターバルを算出するとともに、パイロット噴射を複数回行う場合には、エンジン回転速度とパイロット噴射量からパイロット噴射とパイロット噴射との間のインターバルを算出する。さらに、ＥＣＵ１０は、（各々の）パイロット噴射量とコモンレール圧よりパイロット噴射期間、メイン噴射量とコモンレール圧よりメイン噴射期間を算出する。
【００３０】
ただし、従来の技術の欄にも記載したように、パイロット噴射による燃料噴射量は微小であるため、経年変化によるインジェクタ４の機能の劣化などにより、実際の噴射量が、狙いとする噴射量からずれてしまう虞がある。そのため、本実施形態においても、パイロット噴射量の狙いとする噴射量からのずれを補正するための学習値を算出する学習値算出処理を実行する。この学習値算出処理自体は、特許文献１に記載された従来の算出処理と同様である。そのため、以下に、簡略的に学習値算出処理について説明する。
【００３１】
ＥＣＵ１０は、学習値算出処理を実行する場合、まず、学習値算出処理を実行するための前提条件が成立しているか否かを確認する。前提条件としては、学習温度条件（例えばエンジン冷却水温が６０〜９０℃の範囲内）、アイドル安定状態（例えばギアポジションがニュートラル）、車速条件（例えばＳＰＤ＝０ｋｍ／ｈ以下）、アクセル開度条件（例えばアクセル開度＝０％以下）、アイドル回転速度条件（例えば回転数＝１０００ｒｐｍ以下）、燃料噴射圧力条件（例えば噴射圧力＝１００ＭＰａ以下）、指令噴射量条件（例えば指令噴射量＝５ｍｍ３／ｓｔ＝無負荷燃費以下）、大気圧条件（例えば高地は不可）、アイドルスピードコントロール（ＩＳＣ）補正量条件（ＩＳＣ補正量にハンチングが起きていると不可）、エンジン負荷条件（エアコンスイッチをＯＦＦ、ラジエータ用電動ファンのリレーをＯＦＦ、ヘッドライト等の電気負荷無し）などがある。これらの全ての条件が満足されているときに学習前提条件が成立し、１つ条件でも満足されていないときには、学習前提条件は不成立となる。
【００３２】
次いで、ＥＣＵ１０は、学習値算出処理を実行するタイミングが到来したかを、所定の学習値算出タイミング条件が成立したか否かにより判定する。学習値算出タイミング条件としては、エンジン１の運転時間、イグニッションスイッチのオフ回数、車両走行距離、エンジン運転時間などを用いることができる。そして、これらの要素に基づき、経年変化によってインジェクタ４の噴射特性の劣化が進行している可能性がある期間が経過したか否かを判定する。例えば、学習値算出タイミング条件として車両走行距離を用いる場合には、１０００ｋｍ毎に、学習値算出タイミング条件が成立したと判定することができる。さらに、燃料噴射に関する各種の補正量や、エンジン回転速度変化量が所定値を越えた場合にも、学習値算出タイミング条件が成立したと判定するようにしても良い。
【００３３】
学習前提条件が成立し、かつ、学習値算出タイミング条件が成立したと判定されると、ＥＣＵ１０は、学習値算出処理を開始する。この学習値算出処理では、まず、エンジン１の燃焼状態を安定させるために、各気筒の１燃焼サイクル中の噴射回数をｎ回にセットすると共に、エンジン１のアイドル安定目標回転速度、過給圧目標値、スロットルバルブ１９の弁開度、ＥＧＲ目標値、燃料噴射圧力、ｎ回噴射の各噴射タイミング等の各制御指令値を固定する。
【００３４】
次に、ｎ回噴射により均等にｎ分割される噴射量指令値を算出する。この噴射量指令値は、上述したように、エンジン回転速度とアクセル開度とに基づく基本噴射量に対し、冷却水温や燃料温度等の各種補正を加えた通常のアイドル運転で噴射量制御に用いる無負荷燃費として算出される。そして、噴射はｎ回行われるため、各噴射の噴射量指令値は１／ｎとなる。例えば、アイドル運転時のトータル噴射量が５ｍｍ３／ｓｔであり、噴射回数を５回とすると、各パイロット噴射量は１ｍｍ３／ｓｔとなる。
【００３５】
次に、エンジン１の各気筒間の回転速度変動量差に応じて、各気筒の燃料噴射量を増減する回転速度変動気筒間補正（ＦＣＣＢ補正）を実行し、各気筒間の回転速度変動が平滑化されるように、気筒毎の各噴射の無負荷燃費／ｎの噴射量指令値にＦＣＣＢ補正量をそれぞれ付加する。このとき、気筒毎のＦＣＣＢ補正量をｎ等分して、ｎ回の各噴射の無負荷燃費／ｎの噴射量指令値にそれぞれ均等に反映させる。
【００３６】
さらに、気筒毎の平均エンジン回転速度を目標回転速度に合わせるために、全気筒に対し平均エンジン回転速度補正（ＩＳＣ補正）を実行し、気筒毎の各噴射に、目標回転速度に合わせるためのＩＳＣ補正量を付加する。このとき、各気筒に対するＩＳＣ補正量はｎ等分して、ｎ回の各噴射の無負荷燃費／ｎの噴射量指令値と気筒毎の各噴射のＦＣＣＢ補正量の和にそれぞれ均等に反映させる。
【００３７】
次に、エアコン等によるエンジン負荷変動を検出できる各種センサ、スイッチからの信号およびＩＳＣ補正量の積算量により、学習値算出処理実施中のエンジン負荷変動量が負荷変動判定値（所定値）を越えていないか否かを判定する。エンジン負荷変動量が負荷変動判定値を越えている場合には、誤学習を防止するために、パイロット噴射量の学習値算出処理を終了する。一方、エンジン負荷変動量が負荷変動判定値まで到達していない場合には、学習値を算出する。この学習値の算出は、各噴射のＦＣＣＢ補正量（各気筒のＦＣＣＢ補正量を１／ｎしたもの）と、各噴射のＩＳＣ補正量（各気筒のＩＳＣ補正量を１／ｎしたもの）を前回の学習値に加算することにより行われる。
【００３８】
このようにして算出された学習値は、無負荷燃費／ｎの噴射量指令値に加算することで、噴射量指令値を補正するものである。そのため、学習を行ったエンジン回転及び燃料噴射圧力以外の条件で使用する際には、エンジンの運転条件に応じて予め定められている補正係数（エンジン回転速度感度補正係数、圧力感度補正係数）にて補正される。
【００３９】
なお、学習値は、噴射量指令値を補正するための値として算出する以外にも、インジェクタ４を駆動する駆動パルス信号を補正するための値として算出することも可能である。
【００４０】
次に、本実施形態における、学習値の異常判定処理について、詳しく説明する。上述した学習値算出処理により学習値が算出されても、学習値算出処理期間中における環境条件の変化やエンジン負荷変動の影響により、必ずしも正しい学習値が算出されるとは限らない。さらに、正しい学習値が算出されても、ＥＥＰＲＯＭ６４への書込時に、学習値が正しく書き込まれずに、誤った学習値が記憶されてしまう可能性もある。
【００４１】
そこで、本実施形態では、既に算出済みの学習値に基づき、学習値算出回数に対する学習値の大きさを示す第１学習値推定線を算出し、この第１学習値推定線を用いて、次に算出される新規学習値が収まるべき学習値許容範囲を定める。第１学習値推定線は、回を重ねるごとに学習値がどのように変化していくかの傾向を示すものである。従って、このような第１学習値推定線を用いることにより、次に算出される新規学習値が収まるべき学習値許容範囲の精度を高めることができる。そのため、設定された学習値許容範囲に基づき、算出された新規学習値が正常であるか異常であるかの判定をより高精度に行うことができるようになる。
【００４２】
図３は、学習値算出処理を含む、学習値異常判定処理のメインルーチンを示すフローチャートである。
【００４３】
まず、ステップＳ１００では、学習値の算出条件が成立したか否かが判定される。この学習値算出条件には、上述した学習前提条件及び学習値算出タイミング条件が含まれる。従って、学習前提条件及び学習値算出タイミング条件がともに成立したとき、ステップＳ１００において肯定的判定がなされる。
【００４４】
ステップＳ１００において肯定的判定がなされた場合、ステップＳ１１０の処理が実行される。ステップＳ１１０では、学習値の算出回数が判定される。今回の学習値の算出が２回目以下である場合には、ステップＳ１２０に進み、サブルーチン１の処理を実行する。また、今回の学習値の算出が３回目である場合には、ステップＳ１３０の処理に進み、サブルーチン２の処理を実行する。あるいは、今回の学習値の算出が４回目以上である場合には、ステップＳ１４０の処理に進み、サブルーチン３の処理を実行する。
【００４５】
以下、各サブルーチン１〜３の処理内容について図４〜図６のフローチャートを参照して説明する。
【００４６】
図４は、サブルーチン１の処理内容を示したフローチャートである。サブルーチン１の処理が開始されると、まず、ステップＳ２００において、ｎ回目（ｎ＝１又は２）の学習値Ｃｎを上述した手法に従って算出する。算出された学習値Ｃｎは、不揮発性メモリであるＥＥＰＲＯＭ６４に記憶される。そして、新たな学習値が算出されるまで、ＥＣＵ１０は、燃料噴射制御を実行する際、ＥＥＰＲＯＭ６４から学習値Ｃｎを読み出して、パイロット噴射の噴射量の補正のために利用する。
【００４７】
本実施形態では、後述するように、４回目以降の学習値に関して、それ以前に算出された学習値に基づき第１学習値推定線を算出し、その第１学習値推定線を用いて学習値許容範囲を設定する。換言すれば、３回目までの学習値に関しては、４回目以降の学習値の異常判定を行うための第１学習値推定線を算出するために利用されるだけで、第１学習値推定線に基づく許容範囲を利用した異常判定は実施されない。
【００４８】
続くステップＳ２１０では、０点と学習値Ｃｎとを通る直線の傾きＳｎを算出する。図７のグラフに示すように、０点の学習値は０であり、傾きＳｎは、図７に示すグラフの原点と学習値Ｃｎとを結ぶ直線の傾きとして算出される。算出された傾きＳｎにより、各学習値Ｃ１、Ｃ２を通る直線が規定される。なお、算出回数が１回目の学習値Ｃ１を通る直線は、１回目学習値推定線となり、算出回数が２回目の学習値Ｃ２を通る直線は、２回目学習値推定線となる。そして、ステップＳ２２０では、算出された傾きＳｎがＥＥＰＲＯＭ６４に記憶される。
【００４９】
次に、サブルーチン２について説明する。図５は、サブルーチン２の処理内容を示したフローチャートである。サブルーチン２の処理が開始されると、まず、ステップＳ３００において、ＥＥＰＲＯＭ６４から１回目学習値推定線の傾きＳ１、２回目学習値推定線の傾きＳ２が読み出され、ＲＡＭ６２に保存される。サブルーチン２は、学習値の算出回数が３回目と判定されたときに実行される。従って、サブルーチン２が実行されるときには、ＥＥＰＲＯＭ６４に、１回目の学習値Ｃ１に基づく傾きＳ１、及び２回目の学習値Ｃ２に基づく傾きＳ２が記憶されている。
【００５０】
続くステップＳ３１０では、３回目の学習値Ｃ３を上述した手法に従って算出する。算出した学習値Ｃ３は、ＥＥＰＲＯＭ６４に記憶される。この３回目の学習値Ｃ３も、４回目の学習値Ｃ４が算出されるまで、ＥＣＵ１０によるパイロット噴射の噴射量補正に利用される。
【００５１】
次いで、ステップＳ３２０において、図７に示すように、０点と３回目学習値Ｃ３とを通る直線の傾きＳ３を算出する。そして、ステップＳ３３０では、傾きＳ１、Ｓ２、Ｓ３の中から、値の近い２つの傾きの組み合わせを選択する。選択された傾きの組み合わせは、近似傾きＳＭ１、ＳＭ２とされる。例えば、図７に示す例では、１回目学習値推定線の傾きＳ１、２回目学習値推定線の傾きＳ２、及び３回目学習値推定線の傾きＳ３の中で、Ｓ２とＳ３の傾きの組み合わせが、他の組み合わせよりも近似している。従って、この場合、傾きＳ２、Ｓ３が、近似傾きＳＭ１、ＳＭ２となる。
【００５２】
続くステップＳ３４０では、近似傾きＳＭ１、ＳＭ２に基づき、４回目の学習値Ｃ４の異常判定に用いられる第１学習値推定線の傾きＥ４が算出される。この第１学習値推定線の傾きＥ４は、近似傾きＳＭ１、ＳＭ２の間の傾きを持つように算出される。例えば、近似傾きＳＭ１、ＳＭ２を単純平均することにより、傾きＥ４が算出される。図７には、２回目学習値推定線の傾きＳ２と３回目学習値推定線の傾きＳ３とを単純平均して、第１学習値推定線の傾きＥ４を求めた例が示されている。ただし、傾きＥ４を求める手法は単純平均に限られず、例えば、より新たしい傾きの重みを重くした加重平均により算出するようにしても良い。このようにして、傾きＥ４を算出することにより、４回目の学習値Ｃ４の異常判定に用いられる第１学習値推定線を規定することが可能となる。すなわち、第１学習値推定線は、図７に示すように、０点を通り、傾きＥ４を持つ直線として規定することができる。
【００５３】
続く、ステップＳ３５０では、第１学習値推定線に基づき４回目の学習値Ｃ４の推定値Ｐ４を算出する。すなわち、図８に示すように、第１学習値推定線において、予想される４回目の学習値Ｃ４の算出タイミングに対応する値を推定値Ｐ４とする。なお、この推定値Ｐ４の算出は、実際に４回目の学習値Ｃ４の算出タイミングとなったときに実行しても良い。そして、ステップＳ３６０では、傾きＥ４と、推定値Ｐ４とをＥＥＰＲＯＭ６４に記憶しておく。
【００５４】
このように、３回目までの学習値Ｃ１〜Ｃ３からそれぞれ規定される１回目学習値推定線、２回目学習値推定線、及び３回目学習値推定線の各傾きＳ１〜Ｓ３の中で、近似した値を持つ傾きの組み合わせを選択することにより、相対的に誤差が多く含まれる学習値に基づく傾きを排除することができる。その結果、４回目の学習値Ｃ４の異常判定に用いられる第１学習値推定線の傾きＥ４をより適切に定めることが可能となる。
【００５５】
次に、サブルーチン３について説明する。図６は、サブルーチン３の処理内容を示したフローチャートである。サブルーチン３の処理が開始されると、まず、ステップＳ４００において、ＥＥＰＲＯＭ６４から第１学習値推定線の傾きＥｎと、推定値Ｐｎが読み出され、ＲＡＭ６２に保存される。サブルーチン３は、上述したように、学習値の算出回数が４回目以降と判定されたときに実行され、例えば、学習値の算出回数が４回目である場合には、ＥＥＰＲＯＭ６４から、４回目の学習値Ｃ４の異常判定に用いられる第１学習値推定線の傾きＥ４と、４回目の学習値Ｃ４の推定値Ｐ４とが読み出される。
【００５６】
続くステップＳ４１０では、推定値Ｐｎを基準として、ｎ回目の学習値Ｃｎの許容範囲Ａｎが設定される。例えば、図８のグラフに示すように、許容範囲Ａ４は、推定値Ｐ４に対してプラス方向及びマイナス方向にそれぞれ値Ｘの大きさを持つ範囲として設定される。この許容範囲を定めるための値Ｘは、実験的に定められる。
【００５７】
ステップＳ４２０では、ｎ回目（ｎ≧４）の学習値Ｃｎを上述した手法に従って算出する。算出した学習値Ｃｎは、不揮発性メモリであるＥＥＰＲＯＭ６４に記憶される。続くステップＳ４３０では、算出された学習値Ｃｎが、許容範囲Ａｎに含まれるか否かを判定する。
【００５８】
ここで、許容範囲Ａｎと比較される学習値Ｃｎは、一旦ＥＥＰＲＯＭ６４に記憶され、そのＥＥＰＲＯＭ６４から読み出されたものであることが好ましい。ＥＥＰＲＯＭ６４への書込時に、学習値Ｃｎが正しく書き込まれずに、ＥＥＰＲＯＭ６４に誤った学習値が記憶された場合に、その学習値Ｃｎを異常と判断できるためである。
【００５９】
ステップＳ４３０において、学習値Ｃｎが許容範囲Ａｎに含まれると判定された場合、算出された学習値Ｃｎは正常であるとみなすことができるので、ステップＳ４４０の処理に進む。ステップＳ４４０では、０点とｎ回目学習値Ｃｎとを通る直線の傾きＳｎを算出する。これにより、傾きＳｎを持ち、０点と正常なｎ回目学習値Ｃｎとを通る直線が、第２学習値推定線として定まる。続くステップＳ４５０では、過去の第１学習値推定線の傾きＥｎと、第２学習値推定線の傾きＳｎとに基づき、次回の学習値Ｃｎ＋１の異常判定に用いられる新たな第１学習値推定線（第３学習値推定線）の傾きＥｎ＋１が算出される。この第１学習値推定線の傾きＥｎ＋１は、上述したように単純平均や加重平均により、過去の第１学習値推定線の傾きＥｎと、第２学習値推定線の傾きＳｎとの間の傾きを持つように算出される。
【００６０】
例えば、図９のグラフに示すように、４回目の学習値Ｃ４が許容範囲Ａ４に含まれると判定された場合、傾きＳ４を持ち、原点と４回目の学習値Ｃ４とを通る直線が、第２学習値推定線となる。そして、５回目の学習値Ｃ５の異常判定用の新たな第１学習値推定線を規定するための傾きＥ５が、過去の第１学習値推定線の傾きＥ４と第２学習値推定線の傾きＳ４とから算出される。
【００６１】
このように、算出された学習値Ｃｎが正常と判定された場合に、その正常な学習値Ｃｎに基づく第２学習値推定線の傾きＳｎを考慮して、新たな第１学習値推定線を規定する傾きＥｎ＋１を算出する。このため、経時変化に伴うインジェクタ４の劣化の傾向が変化した場合であっても、その変化に対応するように第１学習値推定線を修正することが可能となる。
【００６２】
一方、ステップＳ４３０において、学習値Ｃｎが許容範囲Ａｎに含まれないと判定された場合、算出された学習値Ｃｎは異常であるとみなされるので、ステップＳ４６０の処理に進む。ステップＳ４６０では、ステップＳ４２０においてＥＥＰＲＯＭ６４に記憶した学習値Ｃｎを、推定値Ｐｎにて上書きする。さらに、ステップＳ４７０では、過去の第１学習値推定線の傾きＥｎをそのまま用いて、新たな第１学習値推定線の傾きＥｎ+１を定める。
【００６３】
例えば、図１０のグラフに示すように、４回目の学習値Ｃ４が許容範囲Ａ４に含まれないと判定された場合、４回目推定値Ｐ４が４回目学習値Ｃ４とされる。さらに、５回目の学習値Ｃ５の異常判定用の新たな第１学習値推定線の傾きＥ５は、４回目の学習値Ｃ４の異常判定用の第１学習値推定線の傾きＥ４と同じ値に維持される。
【００６４】
続くステップＳ４８０では、ステップＳ４５０又はステップＳ４７０にて算出された傾きＥｎによって規定される第１学習値推定線に基づきｎ＋１回目の学習値Ｃｎ＋１の推定値Ｐｎ+１を算出する。なお、この推定値Ｐｎ＋１の算出は、実際にｎ＋１回目の学習値Ｃｎ＋１の算出タイミングとなったときに実行しても良い。そして、ステップＳ４９０では、傾きＥｎ＋１と、推定値Ｐｎ＋１とをＥＥＰＲＯＭ６４に記憶しておく。
【００６５】
以上のような学習値の異常判定処理を行うことにより、４回目以降に算出される学習値に関して、正常、異常の判定を高精度に行うことが可能になる。
【００６６】
以上、本発明の好ましい実施形態について説明したが、本発明は、上述した実施形態になんら制限されることなく、本発明の主旨を逸脱しない範囲において、種々変形して実施することが可能である。
【００６７】
例えば、上述した実施形態では、４回目以降の学習値に関して、それ以前に算出された学習値に基づき第１学習値推定線を算出し、その第１学習値推定線を用いて学習値許容範囲を設定する例について説明した。しかしながら、第１学習値推定線は、１つの学習値が算出されていれば、その算出済みの学習値に基づいて規定することができる。従って、２回目以降の学習値から、第１学習値推定線に基づき許容範囲を定めて異常判定を行うようにしても良い。
【符号の説明】
【００６８】
１  エンジン
２  コモンレール
３  燃料供給ポンプ
４  インジェクタ
１０  ＥＣＵ
【図１】
2016132998.tif 000003
【図２】
2016132998.tif 000004
【図３】
2016132998.tif 000005
【図４】
2016132998.tif 000006
【図５】
2016132998.tif 000007
【図６】
2016132998.tif 000008
【図７】
2016132998.tif 000009
【図８】
2016132998.tif 000010
【図９】
2016132998.tif 000011
【図１０】
2016132998.tif 000012