本発明の実施の形態を、以下に示す各実施例に基づき図面を参照して説明する。
[第1実施例の構成]
図1ないし図16は本発明の第1実施例を示したもので、図1はコモンレール式燃料噴射システムの全体構成を示した図である。
本実施例のコモンレール式燃料噴射システムは、4気筒ディーゼルエンジン等の内燃機関(以下エンジンと言う)1の各気筒に噴射供給する燃料噴射圧力に相当する高圧燃料を蓄圧する蓄圧容器としてのコモンレール2と、吸入した燃料を加圧してコモンレール2内に圧送する燃料供給ポンプとしてのサプライポンプ3と、コモンレール2内に蓄圧された高圧燃料をエンジン1の各気筒内に噴射供給する複数個(本例では4個)のインジェクタ4と、サプライポンプ3および複数個のインジェクタ4を電子制御する電子制御ユニット(以下ECUと呼ぶ)10とを備えている。
エンジン1は、4個の気筒およびオイルパン等から構成された4サイクル4気筒エンジンである。なお、エンジン1の各気筒(シリンダ)は、シリンダブロックとシリンダヘッド等により形成されている。そして、各シリンダの吸気ポートは、吸気弁(インテークバルブ)11により開閉され、排気ポートは、排気弁(エキゾーストバルブ)12により開閉される。また、各シリンダ内には、連接棒を介してクランクシャフト(図示せず)に連結されたピストン13が摺動自在に配設されている。そして、エンジン1を収容するエンジンルーム(図示せず)内の走行風を受け易い場所には、ラジエータ14が配設されている。ラジエータ14には、エンジン1を冷却する冷却水の温度(エンジン冷却水温)を検出する冷却水温センサ37が設置されている。
ここで、エンジン1の運転中に、シリンダ内で燃焼した排気ガスは、排気管15を通り、バリアブル・ジアメトリ・ターボ(VGT)16のタービンの駆動源となった後に、触媒(図示せず)、マフラー(図示せず)を経て排出される。上記のVGT16の制御は、吸気圧センサと過給圧力センサ44とVGTポジションセンサ47の信号とに基づいて行なわれる。過給(圧縮)され高温になった吸入空気は、インタクーラ18で冷却された後に、エンジン1の吸気ポートを経てシリンダ内へ導入される。
そして、吸気管17の途中には、吸気管17内の吸気通路を開閉してエンジン1に供給する吸入空気量(吸気量)を調整するための吸気絞り弁(スロットルバルブ)19が配設され、このスロットルバルブ19の弁開度は、ECU10からの信号により作動するアクチュエータ20によって調節される。なお、アクチュエータ20内には、スロットルバルブ19の弁開度を検出するスロットルポジションセンサ(図示せず)が装備されている。スロットルポジションセンサとしては、スロットルバルブ19の弁開度を全閉のアイドリング時と全開に近い高負荷時に分けて感知し、ECU10へ送信するセンサを用いても良い。
また、吸気管17の吸気ポート近傍には、ECU10からの信号により作動する渦流制御弁(スワールコントロールバルブ:以下SCVと言う)21が配設されている。そのSCV21は、吸気温センサ45を設置した吸気通路22を迂回するバイパス路23内に設置され、低負荷時に通電停止(OFF)されて閉弁し、高負荷時に通電(ON)されて開弁する。
また、本実施例の吸気管17には、排気管15を流れる排気ガスの一部の排気ガス(排気再循環ガス:EGRガス)を吸気管17へ導く排気ガス還流管24が接続されている。そして、吸気管17と排気ガス還流管24との合流部には、排気ガス再循環装置用バルブ(EGRバルブ)25が設置されている。したがって、シリンダ内に吸い込まれる吸入空気は、窒素酸化物(NOx)の生成量を少なくする目的で、エンジン1の運転状態毎に設定された排気ガス還流量になるようにEGRバルブ25の弁開度を制御し、排気管15からの排気ガスとミキシングされることになる。なお、排気ガス還流量(EGR量)は、吸入空気量センサ43と吸気温センサ45と排気O2センサ48とEGRポジションセンサ46からの信号で、所定値を保持できるようにフィードバック制御している。
コモンレール2には、連続的に燃料噴射圧力に相当する高圧燃料が蓄圧される必要があり、そのためにコモンレール2に蓄圧される高圧燃料は、高圧配管26を介してサプライポンプ3から供給されている。なお、コモンレール2から燃料タンクへ燃料をリリーフするリリーフ配管(図示せず)には、燃料噴射圧力が限界設定圧を越えることがないように、圧力を逃がすためのプレッシャリミッタ27が取り付けられている。また、コモンレール2内に蓄圧された燃料噴射圧力に相当する燃料圧(コモンレール圧とも言う)は、噴射圧力検出手段としてのコモンレール圧センサ30によって測定される。そのコモンレール圧センサ30としては、図示しないシリコン基板(回路基板)上にピエゾ抵抗素子等のセンサ検出部を形成した半導体圧力センサが用いられ、燃料噴射圧力に対応した電気信号(電圧信号)を出力する。
サプライポンプ3は、図示しない燃料タンクから燃料を汲み上げるフィードポンプ(図示せず)、およびコモンレール2への高圧燃料の圧送量(吐出量)を調整するための電磁弁(例えば吸入調量弁)等のアクチュエータ(図示せず)を内蔵する高圧供給ポンプである。このサプライポンプ3内には、燃料タンクから吸入される燃料温度を検出する燃料温度センサ36が設置されている。
インジェクタ4は、エンジン1のシリンダブロックに(各気筒#1〜#4に個別に対応して)取り付けられ、各気筒毎のシリンダ内に高圧燃料を噴射する燃料噴射ノズル、この燃料噴射ノズルのノズルニードルを開弁方向に駆動する電磁弁等のアクチュエータ、およびノズルニードルを閉弁方向に付勢するスプリング等の付勢手段などから構成された電磁式燃料噴射弁である。
これらのインジェクタ4からエンジン1への燃料噴射は、例えば電磁弁が開弁している間、コモンレール2に蓄圧された高圧燃料がエンジン1の各気筒のシリンダ内に噴射供給されることで成される。ここで、インジェクタ4からのリーク燃料またはノズルニードルの背圧制御室からの排出燃料(リターン燃料)は、燃料還流路を経て燃料タンクに還流するように構成されている。なお、インジェクタ4のノズルニードルの開弁時間(燃料噴射期間)が長い程、エンジン1の各気筒毎のシリンダ内に噴射される燃料噴射量が多くなり、ノズルニードルの開弁時間が短い程、燃料噴射量が少なくなる。
ECU10には、制御処理、演算処理を行なうCPU、各種プログラムおよびデータを保存する記憶装置(ROM、スタンバイRAMまたはEEPROM、RAM等のメモリ)、入力回路、出力回路、電源回路、インジェクタ駆動回路およびポンプ駆動回路等の機能を含んで構成される周知の構造のマイクロコンピュータが設けられている。そして、コモンレール圧センサ30からの電圧信号や、その他の各種センサからのセンサ信号は、A/D変換器でA/D変換された後に、ECU10に内蔵されたマイクロコンピュータに入力されるように構成されている。また、ECU10は、エンジン1をクランキングさせた後にエンジンキーをIG位置に戻して、図示しないイグニッションスイッチがオン(ON)すると、メモリ内に格納された制御プログラムに基づいて、例えばサプライポンプ3やインジェクタ4等の各制御部品のアクチュエータを電子制御するように構成されている。
ここで、本実施例の気筒判別手段は、エンジン1のカムシャフトに対応して回転するシグナルロータ(例えばクランクシャフトが2回転する間に1回転する回転体)31と、このシグナルロータ31の外周に設けられた各気筒に対応した気筒歯(突起部)と、これらの気筒歯の接近と離間によって気筒判別信号パルス(G)を発生する気筒判別センサ(電磁ピックアップ)32とから構成されている。
また、本実施例の回転速度検出手段は、エンジン1のクランクシャフトに対応して回転するシグナルロータ(例えばクランクシャフトが1回転する間に1回転する回転体)33と、このシグナルロータ33の外周に多数形成されたクランク角検出用の歯(突起部)と、これらの歯の接近と離間によってNE信号パルスを発生するクランク角センサ(電磁ピックアップ)34とから構成されている。このクランク角センサ34は、シグナルロータ33が1回転(クランクシャフトが1回転)する間に複数のNE信号パルスを出力する。なお、特定のNE信号パルスは、各#1〜#4気筒のピストンの上死点(TDC)の位置に対応している。そして、ECU10は、NE信号パルスの間隔時間を計測することによってエンジン回転速度(NE:以下エンジン回転数とも言う)を検出する。
また、ECU10は、エンジン回転速度が所定値(例えばNE=1000rpm)以下、アクセル開度が所定値(例えばACCP=0%)以下、車両の走行速度(以下車速と言う)が所定値(例えばSPD=0km/h)以下、指令噴射量が所定値(例えばQFIN=5mm3/st=無負荷燃費)、トランスミッションのギアポジションがN(ニュートラル)であることを検出した際に、低負荷低回転状態、つまりアイドル安定状態(無負荷燃費状態)であることを検出する無負荷燃費検出手段の機能を含んで構成されている。
なお、パーキングブレーキのON信号を検出した際、オルタネータ、ウォータポンプ、オイルポンプ等のエンジン補機類の駆動負荷や、ヘッドライト、カーオーディオ、エアコンスイッチ、ヒータスイッチや送風用ファンスイッチ等の電気負荷等のエンジン負荷が増減した際、あるいはセレクトレバーがNレンジまたはPレンジにセットされていることを検出した際、あるいは運転者(ドライバー)がクラッチペダルを踏んでいることを検出した際等の入力情報を組み合わせると、より効果的にエンジン1のアイドル安定状態(無負荷燃費状態)を検出できる。
そして、ECU10は、エンジン1の運転条件に応じた最適な燃料噴射圧力(=コモンレール圧)を演算し、ポンプ駆動回路を介してサプライポンプ3の電磁弁を駆動する吐出量制御手段(SCV制御手段)を有している。すなわち、ECU10は、クランク角センサ34等の回転速度検出手段によって検出されたエンジン回転速度(NE)およびアクセル開度センサ35によって検出されたアクセル開度(ACCP)等のエンジン運転情報から目標燃料噴射圧力(Pt)を算出し、この目標燃料噴射圧力(Pt)を達成するために、サプライポンプ3の電磁弁へのポンプ駆動信号(駆動電流値)を調整して、サプライポンプ3より吐出される燃料の圧送量(ポンプ吐出量)を制御するように構成されている。
さらに、より好ましくは、燃料噴射量の制御精度を向上させる目的で、コモンレール圧センサ30によって検出される燃料噴射圧力(Pc)がエンジン運転情報によって決定される目標燃料噴射圧力(Pt)と略一致するように、サプライポンプ3の電磁弁へのポンプ駆動信号をフィードバック制御することが望ましい。なお、電磁弁への駆動電流値(SCV通電値)の制御は、デューティ(duty)制御により行なうことが望ましい。すなわち、目標燃料噴射圧力(Pt)に応じて単位時間当たりのポンプ駆動信号のオン/オフの割合(通電時間割合・デューティ比)を調整して、電磁弁の弁開度を変化させるデューティ制御を用いることで、高精度なデジタル制御が可能になる。
また、ECU10は、各気筒のインジェクタ4から噴射される燃料噴射量を個別に制御する噴射量制御装置に相当する。これは、クランク角センサ34等の回転速度検出手段によって検出されたエンジン回転速度(NE)とアクセル開度センサ35によって検出されたアクセル開度(ACCP)と予め実験等により測定して作成した特性マップ(図2参照)とによって最適な基本噴射量(Q)を算出する基本噴射量決定手段と、燃料温度センサ36によって検出された燃料温度(THF)および冷却水温センサ37によって検出された冷却水温(THW)等の運転条件により基本噴射量(Q)に噴射量補正量を加味して指令噴射量(QFIN)を算出する指令噴射量決定手段と、コモンレール圧(燃料噴射圧力:Pc)と指令噴射量(QFIN)と予め実験等により測定して作成した特性マップ(図3参照)から噴射指令パルス幅(噴射指令パルス時間、噴射指令パルス長さ:TQ)を算出する噴射期間決定手段と、インジェクタ駆動回路(EDU)を介して各気筒のインジェクタ4の電磁弁にパルス状のインジェクタ駆動電流(噴射指令パルス、TQパルス)を印加するインジェクタ駆動手段とから構成されている。ここで、図4は特定気筒(例えば#1気筒)の噴射指令パルス時間(=噴射量指令値:TQ)、この噴射指令パルス時間に対応して特定気筒(例えば#1気筒)のインジェクタ4の電磁弁に出力されるインジェクタ駆動電流波形、および特定気筒(例えば#1気筒)の燃料噴射率を示したタイミングチャートである。
ここで、本実施例では、エンジン1の運転条件を検出する運転状態検出手段として、クランク角センサ34等の回転速度検出手段およびアクセル開度センサ35を用いて基本噴射量(Q)、噴射時期(T)、目標燃料噴射圧力(Pt)を演算するようにしているが、コモンレール圧センサ30によって検出される燃料噴射圧力(Pc)、あるいは運転状態検出手段としてのその他のセンサ類(例えば燃料温度センサ36、冷却水温センサ37、燃料リーク温度センサ38、油温センサ39、アイドルアクセル位置センサ40、大気圧センサ41、大気温(外気温)センサ42、吸入空気量センサ43、過給圧力センサ44、吸気温センサ45、EGRポジションセンサ46、VGTポジションセンサ47、排気O2センサ48、排気温センサ49、排気圧センサ50、スロットルポジションセンサ、吸気圧センサ、噴射時期センサ等)からの検出信号(エンジン運転情報)を加味して基本噴射量(Q)、噴射時期(T)および目標燃料噴射圧力(Pt)を補正するようにしても良い。
そして、ECU10には、エンジンキーをシリンダ内に差し込んでST位置まで回すと、スタータスイッチがオン(ON)してスタータを通電するスタータ通電回路が接続されている。また、ECU10には、エンジン1により駆動されるトランスミッションのギアポジションを示す信号、運転者(ドライバー)がクラッチペダルを踏んだことを検出する信号、スタータへの通電信号、車速センサからの車速信号、エアコン用電磁クラッチ、エアコンのコンデンサ用電動ファン、エアコンの室内送風用ファン、ラジエータ用電動ファンやヘッドライト等の電気負荷、エアコン用コンプレッサやパワーステアリングやオイルポンプ等の駆動負荷等の車両情報を検出する信号が入力するように構成されている。
ここで、本実施例のコモンレール式燃料噴射システムにおいては、エンジン1の特定気筒のインジェクタ4においてエンジン1の1周期(1行程:吸気行程−圧縮行程−燃焼行程(爆発行程)−排気行程)中、つまりエンジン1のクランクシャフトが2回転(720°CA)する間、特にエンジン1の各気筒の1燃焼行程中に2回以上のマルチ噴射(例えば複数回のパイロット噴射・メイン噴射)を行なうことが可能である。
したがって、ECU10は、エンジン1の運転状態(運転情報)と基本噴射量とから、マルチ噴射の各々の燃料噴射量、つまりパイロット噴射量およびメイン噴射量を算出する噴射量決定手段と、エンジン回転速度とパイロット噴射量からパイロット噴射とメイン噴射との間のインターバル、およびエンジン回転速度とパイロット噴射量からパイロット噴射とパイロット噴射との間のインターバルを算出するインターバル決定手段と、パイロット噴射量と燃料噴射圧力よりパイロット噴射期間、メイン噴射量と燃料噴射圧力よりメイン噴射期間を算出する噴射期間決定手段とを有している。
ここで、本実施例のECU10は、エンジン1のアイドル運転(アイドル安定状態)時に、エンジン1の各気筒の爆発行程毎の回転速度変動を検出し、エンジン1の各気筒毎の回転速度変動の検出値と全気筒の回転速度変動の平均値とを比較し、エンジンの気筒間の回転速度変動を平滑化するように、エンジンの各気筒毎への最適な燃料噴射量を個々に調整する回転速度変動気筒間補正(FCCB)を実施するように構成されている。
具体的には、クランク角センサ34より取り込んだNE信号パルスの間隔時間を計算することで、エンジン1の各気筒の爆発行程毎の瞬時回転速度を算出し、BTDC90°CA〜ATDC90°CA間のNE信号パルスの間隔時間の最大値を当該気筒の瞬時回転速度の最低回転速度(以下最低回転数と言う:Nl)として読み込む。また、BTDC90°CA〜ATDC90°CA間のNE信号パルスの間隔時間の最小値を当該気筒の瞬時回転速度の最高回転速度(以下最高回転数と言う:Nh)として読み込む。但し、Nl、Nhは必ずしも最低回転速度、最高回転速度である必要はなく、当該気筒の回転速度変動を代表する低回転速度、高回転速度であっても良い。
そして、これらの計算を各気筒毎に行なった後に、各気筒毎の最高回転数(Nh)と各気筒毎の最低回転数(Nl)との気筒毎回転数差分(ΔNk)を算出する。これにより、エンジン1の各気筒毎の回転速度変動の検出値を算出する。そして、エンジン1の全気筒の回転速度変動の平均値(ΣΔNk)を算出する。つまり、エンジン1の全気筒の回転速度変動を平均化して、全気筒の回転速度変動の平均値を算出した後に、各気筒毎の回転速度変動の検出値と全気筒の回転速度変動の平均値から各気筒間の回転速度変動の偏差を算出する。そして、エンジン1の各気筒間の回転速度変動が平滑化するように、各気筒毎に算出される各噴射の噴射量に、各気筒間の回転速度変動を平滑化する方向への第1補正量(FCCB補正量とも言う)を各気筒毎に付加する(第1補正量算出手段)。
また、本実施例のECU10は、エンジン1のアイドル運転(アイドル安定状態)時に、現在のエンジン回転速度である平均エンジン回転速度(平均アイドリング回転速度)を目標回転速度(目標アイドリング回転速度)に合わせるために、平均エンジン回転速度と目標回転速度との偏差(ΔNE)に対して全気筒一律に平均エンジン回転速度補正(ISC)を実施するように構成されている。具体的には、エンジン1の実際の回転速度(エンジン回転速度:NE)と目標回転速度(ISC目標NE)とを比較し、その回転速度差に応じた第2噴射量補正量を算出する。そして、平均エンジン回転速度が目標回転速度に略一致するように、各気筒毎に算出される第1補正量によって補正された各噴射の噴射量に、目標回転速度に合わせるのに必要な第2補正量(ISC補正量とも言う)を全気筒一律に付加する(第2補正量算出手段)。
また、本実施例のECU10は、後記するパイロット噴射量の学習制御が終了した後の通常のアイドル運転時に、アイドリング回転速度が低下することで、運転者(ドライバー)に不快なエンジン振動を与えたり、エンジンストールを起こしたりしないように、あるいはアイドリング回転速度が上昇することで、エンジン騒音、燃料消費率を悪化させたりしないように、エンジン負荷トルクが変化しても、目標アイドル回転速度(ISC目標NE)を維持するのに必要な噴射量に制御する通常のアイドリング回転速度制御(ISC)を実施するように構成されている。なお、現在のエンジン回転速度が目標回転速度に略一致するように燃料噴射量をフィードバック制御することが望ましい。
[第1実施例の制御方法]
次に、本実施例のパイロット噴射量の学習制御方法を図1ないし図16に基づいて簡単に説明する。ここで、図5はパイロット噴射量の学習制御方法を示したフローチャートである。この図5の制御ルーチンは、イグニッションスイッチがONとなった後に、所定のタイミング毎に繰り返される。
図5の制御ルーチンに進入するタイミングになると、学習前提条件が成立しているか否かを判定する(ステップS1)。この判定結果がNOの場合には、図5の制御ルーチンを抜ける。
すなわち、(1)先ず、エンジン1または車両に取り付けられたエンジン1の運転状態を検出できる各種センサ、スイッチからの信号によりエンジン1の燃焼状態がアイドル安定状態であるか否かを確認する。この判定結果がNOの場合には、図5の制御ルーチンを抜ける。なお、エンジン1の運転状態を検出できる各種センサ、スイッチとは、ギアポジション、クラッチ、スタータ、コモンレール圧センサ30、クランク角センサ34、アクセル開度センサ35、アイドルアクセル位置センサ40、EGRポジションセンサ46、VGTポジションセンサ47、排気温センサ49、スロットルポジションセンサ等がある。
(2)次に、エンジン1または車両に取り付けられた環境条件を検出できる各種センサからの信号がエンジン1のアイドル無負荷燃費が想定値となり得るように事前に定められた範囲内にあるか否かを確認する。なお、環境条件を検出できる各種センサとしては、燃料温度センサ36、冷却水温センサ37、燃料リーク温度センサ38、油温センサ39、アイドルアクセル位置センサ40、大気圧センサ41、大気温(外気温)センサ42、吸入空気量センサ43、過給圧力センサ44、吸気温センサ45、排気O2センサ48、排気温センサ49、排気圧センサ50、スロットルポジションセンサ等がある。
(3)次に、エンジン1または車両に取り付けられたエンジン1の負荷状態を検出できる各種センサ、スイッチ、制御指令値からの信号によりエンジン負荷が所定の範囲内であることを確認する。これらの例としては、ラジエータ用電動ファン、電気ヒータ、ヘッドライト、電磁ブレーキ等の電気負荷を検出可能なスイッチ、センサ、エアコン、パワーステアリング等のコンプレッサ、ポンプ負荷を検出できるスイッチ、センサやアイドル回転速度変化またはアイドル回転速度を所定値に保つために必要なISC噴射量の変化量等がある。
(4)最後にエンジン回転速度が安定していることを示す、噴射量指令値、FCCB補正量、ISC補正量、燃料噴射圧力、噴射時期指令値等が所定の範囲内であることを確認する。上記の(1)〜(4)を全て満足し、別途規定する実施禁止条件ではない時に学習前提条件を成立(ON)とする。
例えば、図6に示したように、学習温度条件成立(例えばエンジン冷却水温の場合は60〜90℃の範囲内が成立条件)、アイドル安定状態成立(例えばギアポジションがニュートラル(N)に設定されていると成立)、車速条件成立(例えばSPD=0km/h以下が成立条件)、アクセル開度が全閉状態(例えばACCP=0%以下が成立条件)、アイドル回転速度安定状態(例えばNE=1000rpm以下が成立条件)、エンジン回転速度条件成立(例えばNE=1000rpm以下が成立条件)、燃料噴射圧力条件成立(例えばPc=100MPa以下が成立条件)、指令噴射量条件成立(例えばQFIN=5mm3/st=無負荷燃費以下が成立条件)、大気圧条件成立(例えば高地は不成立)、吸入空気量学習条件非成立時、ISC補正量安定(ISC補正量にハンチングが起きていると不成立)、学習値正常範囲内の時は成立、仮学習終了前は成立、エンジン安定(エンジン負荷変動が無く、エンジン回転速度が安定状態で成立)、サービスツール用学習正常終了前、エアコンスイッチをOFF、ラジエータ用電動ファンのリレーをOFF、ヘッドライト等の電気負荷(エンジン負荷)が無し、時間連続経過の全ての条件が成立している時に、学習前提条件が成立(ON)となる。また、図6の条件以外の時に学習前提条件が不成立(OFF)となる。
また、ステップS1の判定結果がYESの場合、つまり学習前提条件が成立(ON)の場合には、学習実行条件が成立しているか否かを判定する(ステップS2)。この判定結果がNOの場合には、図5の制御ルーチンを抜ける。
例えば、図7に示したように、エンジン1の運転時間、イグニッションスイッチのオフ(IG・OFF)回数、車両走行距離、エンジン運転時間を検出または算出し、またはそれに負荷(燃料噴射圧力・エンジン回転速度・噴射量・噴射回数等)の重み付けを行ない、その値が所定値を越えた場合に学習実行条件を成立(ON)させる。あるいは、上記のステップS1の成立時の第1噴射量補正量(FCCB補正量)、第2噴射量補正量(ISC補正量)、もしくはエンジン回転速度変化量、回転速度変動量が所定値を越えた場合にも、学習実行条件を成立(ON)させる。あるいは外部からの信号により学習実行条件を強制的に成立(ON)させることも可能である。
あるいは、噴射量経時変化等によるインジェクタ4の性能(機能)の劣化量が所定値以上か否かを判定する噴射量経時変化判定時、スタータ通電フラグ(XSTA)がONからOFFとなった時点から所定時間が経過している時(エンジン始動後に所定時間が経過している時)、パイロット学習要求(ライン用)時またはパイロット学習要求(市場サービス用)時または誤学習判定時、学習実行前提条件成立、コモンレール式燃料噴射システムの正常運転時、手動学習実行の条件が成立している時に、学習実行条件を成立(ON)させても良い。なお、図7の条件以外の時に学習実行条件が不成立(OFF)となる。
また、ステップS2の判定結果がYESの場合、つまり学習実行条件が成立(ON)の場合には、エンジン1の燃焼状態を安定させるために、図8に示したように、特定気筒の1燃焼行程中の噴射回数をn回(本例ではアイドル運転時のトータル噴射量が5mm3/stであり、噴射回数を5回にセットすると、パイロット噴射量が1mm3/stとなる)にセットすると共に、エンジン1のアイドル安定目標回転速度、過給圧目標値、SCV21の弁開度、スロットルバルブ(吸気絞り弁)19の弁開度、EGR目標値、燃料噴射圧力(Pfin)、n回噴射の各噴射タイミング(または各パイロット噴射間のインターバル)等の各制御指令値を固定する(均等分割噴射実施手段:ステップS3)。
次に、n回噴射が均等にn分割される噴射量指令値を算出する。この噴射量指令値は、図9および下記の数1の式に示したように、エンジン回転速度(NE)とアクセル開度(ACCP)との関係を予め実験により測定して作成した特性マップ(図2参照)または演算式から算出される基本噴射量に対し、冷却水温や燃料温度等の各種補正を加えた通常アイドル運転で噴射量制御に用いる無負荷燃費(Qidle)の1/nの噴射量指令値(学習制御時噴射量)を算出する(噴射量決定手段)。そして、無負荷燃費(Qidle)の1/nの噴射量指令値であるQidle/nをベースとし、各噴射間のインターバルの影響、各噴射の開始時期(タイミング)による気筒内圧の影響、燃料噴射圧力の影響等を考慮し、図10に示したように、n回噴射が実際に等量の噴射量となるように各噴射量指令値(QPL1=QPL2=QPL3=Qmain=Qfup=totalQ/n)を補正する(均等分割噴射量補正手段:ステップS4)。
[数1]
パイロット噴射量=Qidle/n+QPLCPQ+QINT
+前回学習値×補正
但し、Qidleはエンジン回転速度(NE)とアクセル開度(ACCP)と基本噴射量との関係を予め実験等により測定して作成した特性マップまたは演算式より算出される適合値で、QPLCPQは気筒内圧補正係数で、QINTはインターバル依存性補正係数である。ここで、QPLCPQおよびQINTは噴射量補正値ではなく、TQパルスの補正値であっても良い。
次に、図11に示したように、エンジン1の各気筒間の回転速度変動量差(ΔNEまたはΔT)に応じて、各気筒の燃料噴射量を増減する回転速度変動気筒間補正(回転速度変動気筒間噴射量補正、気筒間回転変動補正:以下FCCB補正と言う)により、各気筒間の回転速度変動が平滑化するように、各気筒毎の各噴射の無負荷燃費/nの噴射量指令値に、各気筒間の回転速度変動を平滑化する方向への第1噴射量補正量(FCCB補正量:ΔQc)をそれぞれ付加する(均等分割噴射量補正手段、第1補正量算出手段:ステップS5)。このとき、各気筒毎の各噴射のFCCB補正量は、n等分しn回の各噴射の無負荷燃費/nの噴射量指令値(totalQ/n)=(Qidle/n)にそれぞれΔQc/nずつ反映させる。
次に、同じく、図11に示したように、各気筒毎の平均エンジン回転速度を目標回転速度に合わせるために、全気筒一律に平均エンジン回転速度補正(平均回転数補正:以下ISC補正と言う)を行ない、各気筒毎の各噴射のFCCB補正量(ΔQc/n)に、目標回転速度に合わせるための第2噴射量補正量(ISC補正量:QISC)を全気筒一律に付加する(均等分割噴射量補正手段、第2補正量算出手段:ステップS6)。このとき、ISC補正量は、n等分しn回の各噴射の無負荷燃費/nの噴射量指令値(Qidle/n)と各気筒毎の各噴射のFCCB補正量(ΔQc/n)の和にQISC/nを各気筒毎に反映させる。また、ISC補正は、例えば50〜70msec間隔で1mm3/stずつ全気筒に一律に付加して所定時間またはISC補正量(QISC)が安定(平均エンジン回転速度が目標回転速度に略一致)するまで継続して実行される。
次に、図12に示したように、エアコンやパワーステアリング等のエンジン負荷変動を検出できる各種センサ、スイッチからの信号およびISC補正量の積算量により、学習制御実施中のエンジン負荷変動量が負荷変動判定値(所定値)を越えていないか否かを判定する(ステップS7)。この判定結果がNOの場合、つまりエンジン負荷変動量が負荷変動判定値を越えている場合には、誤学習を防止するために、パイロット噴射量の学習制御を中断して、図5の制御ルーチンを抜ける。
また、ステップS7の判定結果がYESの場合、つまりエンジン負荷変動量が負荷変動判定値まで到達していないと判断した場合には、エンジンが安定して運転されているか否かを判定する。すなわち、図13に示したように、パイロット学習実行時であるか否か、更に、ISC補正量の変化量、あるいはFCCB補正量の変化量、あるいは燃料噴射圧力の変動量、あるいはエンジン1の回転速度変動量がそれぞれ所定値内であるか否かを判定する(ステップS8)。この判定結果がNOの場合、つまりエンジン1が安定して運転されていないと判断した場合には、パイロット噴射量の学習制御を中止して、図5の制御ルーチンを抜ける。
また、ステップS8の判定結果がYESの場合、つまりエンジン1が安定して運転されていると判断した場合には、図14に示したように、今回学習値を算出する。この今回学習値は、ステップS5の各噴射のFCCB補正量(ΔQc/n)とステップS6の各噴射のISC補正量(QISC/n)により下記の数2の式で表わされ、各気筒毎に算出する(ステップS9)。
[数2]
今回学習値=ΔQc/n+QISC/n+前回学習値
なお、今回学習値は各噴射の無負荷燃費/nの噴射量指令値(totalQ/n)に加算する噴射量補正量として算出される。
次に、ステップS9にて算出された今回学習値の水準判定(学習値ガード判定)を行ない、今回学習値の水準を管理する。つまり、ステップS9にて算出された今回学習値の過学習または誤学習を防ぐために、図15に示したように、学習初期値から今回学習値までのトータル学習量が所定値を越えているか否かを判定すると共に、前回学習値と今回学習値との差(学習制御1回当たりの変更可能量)が学習値正常範囲内であるか否かを判定する(ステップS10)。この判定結果がNOの場合、つまり今回学習値が異常値であると判断した場合には、その学習は無効とし、図5の制御ルーチンを抜ける。
次に、1水準の燃料噴射圧力での学習が終了したら、設定された別の圧力に燃料噴射圧力を変更し、ステップS3から再度学習を繰り返す。設定する圧力水準は任意に設定可能である(ステップS11)。次に、設定された圧力水準での学習が終了したら、順次学習値を図16の形式のマップに書き込み、メモリに記憶(バックアップ)する(学習値記憶手段:ステップS12)。次に、格納された学習値を噴射量補正量として、下記の数3の式に基づくパイロット噴射量の算出時に反映させる。なお、学習制御で使用した燃料噴射圧力以外の燃料噴射圧力に関しては補完を行ない、エンジン1の使用領域全域で噴射量補正量の反映を可能にする(ステップS13)。
[数3]
パイロット噴射量=(QPLB+QISC×KISC)×QKTHF
+QFCCB×KFCCB+学習値×QKPC×QKNE
+QPLCPQ+QINT
但し、QPLBは適合値(エンジン回転速度(NE)とアクセル開度(ACCP)と基本噴射量との関係を予め実験等により測定して作成した特性マップより算出)で、QISCはISC補正量で、KISCはISC補正量反映係数で、QKTHFは燃料温度補正係数で、QFCCBはFCCB補正量で、KFCCBはFCCB補正量反映係数で、QKPCは学習値圧力感度補正係数で、QKNEは学習値エンジン回転速度感度補正係数で、QPLCPQは気筒内圧補正係数で、QINTはインターバル依存性補正係数である。学習値は、メモリに記憶された図16のマップから算出する。学習制御で使用した燃料噴射圧力以外は補完にて算出する。ここで、QPLCPQおよびQINTは噴射量補正値ではなく、TQパルスの補正値であっても良い。
ここで、アイドル運転(低負荷低回転域)でのアイドル時噴射量(無負荷燃費)はエンジン回転速度、吸排気(EGR・過給圧)等の環境条件を安定させることにより、ほぼ一定値になることが分かっている。したがって、アイドル運転(低負荷低回転域)でそのような状態の時に、公知の技術であるISC補正、FCCB補正を実施することにより、平均エンジン回転速度が目標エンジン回転速度で安定し、且つ気筒間の回転速度変動量のバラツキが所定値以内の場合には、各気筒の噴射量はほぼ正確に無負荷燃費に一致する。そのときに、正確に1噴射をn等分に均等分割噴射を行ない、ISC補正、FCCB補正を実施すれば正確にアイドル制御時噴射量/n=無負荷燃費/nの噴射量を噴射するための噴射量指令値を求めることができる。
例えば、アイドル制御時噴射量=無負荷燃費=5mm3/stの時に、噴射回数を5回にセットすれば5/5=1mm3/stとなる。また、アイドル制御時噴射量=無負荷燃費=6mm3/stの時に、噴射回数を6回にセットすれば6/6=1mm3/stとなり、噴射回数を2回にセットすれば6/2=3mm3/stとなるので、正確に無負荷燃費/nの噴射量を噴射するための噴射量指令値(=TQパルスのズレ)を求めることができる。特に、インジェクタ単品でも保証が難しい高噴射圧力、低噴射量(1mm3/st)もエンジン運転時にTQパルスのズレを求めることで正確に補正ができるようになる。
[第1実施例の効果]
以上のように、本実施例のコモンレール式燃料噴射システムにおいては、従来の方法がアイドル運転での燃料噴射圧力に限定した補正であったものに対し、アイドル運転(低負荷低回転域)での燃料噴射圧力を複数の異なる燃料噴射圧力水準に変更し、複数の異なる燃料噴射圧力水準でインジェクタ4の指令噴射パルス時間(TQパルス時間)に対する実際の噴射量のズレや噴射量経時変化に対応した噴射量補正量を、無負荷燃費に相当する学習制御時噴射量を均等にn回に分割し、このn回の分割噴射を行ないながら、FCCB補正およびISC補正を実施することで各気筒毎に算出するようにしている。
具体的には、上記の数2の式に示したように、各噴射のFCCB補正量(ΔQc/n)と各噴射のISC補正量(QISC/n)とを加算した値を各気筒毎の学習値として算出するようにしている。なお、この学習値は、上述したように、各噴射の無負荷燃費/nの噴射量指令値(totalQ/n)に加算する各気筒毎の噴射量補正量として算出される。そして、各気筒毎の噴射量補正量を学習値として更新しメモリに記憶している。
また、複数の異なる燃料噴射圧力水準以外の燃料噴射圧力に関しては補完を行なうことにより、学習制御時の燃料噴射圧力以外の燃料噴射圧力水準を含め実車における燃料噴射圧力の使用領域全域で、メモリに記憶された学習値を噴射量補正値としてパイロット噴射量の算出に反映させることができる。これにより、常に、理想的な指令噴射パルス時間とパイロット噴射量との相関が得られるようになる。
また、上記の学習補正によってトータルの学習量が所定値以上であったり、前回学習値と今回学習値との差が所定範囲外であったりした場合には、TQパルス時間に対して所定値以上の噴射量のバラツキがあることを検出できるので、インジェクタ単品個々の故障も検出できる。また、以上のことから、インジェクタ単品でも保証が難しい高噴射圧力で、且つ指令噴射量(パイロット噴射量)が微少噴射量の場合でも、エンジン運転時に、インジェクタ4の噴射指令パルス時間(TQパルス時間)に対する実際の噴射量のズレ量やインジェクタ4の噴射量経時劣化量を定量的に把握して、精度良く噴射量補正を実施することができる。また、算出した学習値を、指令噴射量(パイロット噴射量)に対する噴射量の学習値とすることで、学習制御時と異なる燃料噴射圧力(コモンレール圧)、噴射量においても、学習値を含めてインジェクタ4の噴射指令パルス時間(TQパルス時間)の算出を行なうようにしているため、燃料噴射直前での燃料噴射圧力の読み込み等、燃料噴射圧力、噴射量に対する高感度の補正を自動的に行なうことができる。
[第2実施例]
図17は本発明の第2実施例を示したもので、パイロット噴射量の学習制御方法を示したフローチャートである。なお、図5の制御ルーチンと同様な処理には同番号を付し、説明を省略する。
ここで、第1実施例に示したように、ISC補正およびFCCB補正を用いて、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時劣化量(インジェクタ経時機能劣化量)に応じた噴射量補正を行なう場合、ISC補正量とFCCB補正量の和をパイロット噴射量とメイン噴射量のトータルの噴射量(アイドル時噴射量=無負荷燃費=5mm3/st(通常))により案分する方式で学習値が算出される。このため、学習制御中に、エアコンON等の電気負荷やパワーステアリングON等の駆動負荷等のエンジン負荷が変化した場合、アイドル運転時の要求噴射量(アイドル時噴射量)に、エンジン負荷要因によるエンジン要求噴射量の増量分を含んだ形で、学習値(=QISC/n+ΔQc/n+前回学習値)を誤学習してしまうという問題がある。
そこで、本実施例では、エンジン負荷等によるエンジン要求噴射量の変化は、ISC補正量やFCCB補正量に含まれていることに着目し、各種スイッチや各種センサからの信号に基づき可変であるエンジン要求噴射量変化オフセットを設け、ISC補正量とFCCB補正量の和からエンジン要求噴射量の変化量を減算または加算することで、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化(インジェクタ経時機能劣化)に対応した噴射量補正量としての学習値からエンジン要求噴射量の変化量の影響を除外することができる。
具体的には、図17の制御ルーチンに示したように、ステップS5のFCCB補正を実施し、ステップS6のISC補正を実施した後に、エンジン燃焼状態変化やエンジン負荷変動(例えばエアコンのON/OFFやパワーステアリングの作動時/非作動時)によるエンジン要求噴射量補正量(QNLoffset)を算出する(ステップS14)。その後に、ステップS7の処理に進む。
次に、エンジン要求噴射量補正量の算出方法を以下に述べる。アイドル安定状態にて無負荷要求噴射量=無負荷燃費(Qidle)がAmm3/stのエンジン1において1噴射をK回均等に分割噴射している場合を考えると、TQパルス時間に対するインジェクタ4の噴射量のバラツキやインジェクタ4の経時機能劣化がなければ、噴射量指令値Aであれば実際の噴射量もAmm3/stである。
[数4]
a1+a2+…+aK=A
但し、a1、a2…aKはK回分割噴射の各噴射量指令値で、Aは無負荷要求噴射量=トータル噴射量(totalQ)の噴射量指令値である。
特定気筒(例えば#1気筒)のインジェクタ4の噴射指令パルス時間(TQ)に対して噴射量のバラツキQ1が存在する場合、噴射指令値Aでも実際の噴射量はA−Q1しか噴射できない。その上、例えばエアコンやパワーステアリング等のエンジン負荷がQ2相当分かかったとする。
[数5]
a1+a2+…+aK=実際の噴射量A−(Q1×K)+Q2
となる。
また、平均エンジン回転速度補正(ISC補正)および回転速度変動気筒間補正(FCCB補正)を行なうと、
[数6]
a1+a2+…+aK+(QISC+QFCCB)=実際の噴射量A+Q2
となり、
[数7]
(QISC+QFCCB)=Q1×K+Q2
となる。
ここで、エンジン負荷変動等によるエンジン要求噴射量補正量(QNLoffset)を設定すると、補正学習すべき量は、
[数8]
QISC+QFCCB+QNLoffset=Q1×K+Q2
をK回に案分されたものが学習補正量となる。
エンジン負荷変動等によるエンジン要求噴射量補正量(QNLoffset)は可変定数であり、エンジン搭載車両に取り付けられた各種スイッチからの信号、各種センサからの信号、およびエンジン負荷検出ロジック等により算出される。したがって、この場合には、QNLoffset≒Q2が算出され、結果として
[数9]
QISC+QFCCB+QNLoffset(≒Q2)=Q1×K+Q2
[数10]
Q1=(QISC+QFCCB)/K
となり、正しくTQパルス時間に対する実際の噴射量のバラツキ、噴射量経時劣化に対応した噴射量補正量であるQ1を算出することが可能となる。
[第3実施例]
図18ないし図20は本発明の第3実施例を示したもので、図18はインジェクタの噴射指令パルス時間(TQパルス時間)に対する指令噴射量(Q)の関係を示した特性図である。
ここで、学習値に対する誤補正防止のための補正係数を考慮する場合、TQ−Q特性による補正係数をQPLPCQ、エンジン回転速度による補正係数をQPLNEと設定すると、TQ−Q特性は、図18のように示すことができる。この図18から、傾きが小さい領域で学習した場合、学習制御時よりも大きな噴射量で使用する時、特性の違いから学習値に対する補正が必要となってくる。そのTQ−Q特性のズレを考慮するため、図19に示したように、燃料噴射圧力(Pc)と指令噴射量(Q)の2次元マップにより補正係数(QPLPCQ)を求める。
また、前記補正係数を求めるに際し、例えば温度条件等3次元マップにより補正係数を求めることもできる。通常、コモンレール式燃料噴射システムにおいては噴射量制御には回転依存性を考慮していないが、僅かながら回転依存性があることが知られている。そのため、上記と同様に、エンジン回転速度依存性(回転依存性)については、図20に示したように、エンジン回転速度(NE)に対する1次元マップより、補正係数(QPLNE)を求める。ここで、上記の補正係数(QPLPCQ)と補正係数(QPLNE)とから、1回噴射に対する学習補正量を算出すると、
[数11]
学習補正量=QPLPCQ×QPLNE
となり、噴射系(TQ−Q)特性や回転依存性等を考慮し、領域毎に正しい学習補正量を持つことが可能となる。
以上により、平均エンジン回転速度補正(ISC補正)および回転速度変動気筒間補正(FCCB補正)を用いて、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時劣化量(インジェクタ経時機能劣化量)の補正を行なう場合、ISC補正量とFCCB補正量の和をパイロット噴射量とメイン噴射量のトータルの噴射量により案分する方式で学習値が算出される。
学習制御時以外の領域に学習値を反映する場合において、その噴射量、燃料噴射圧力、エンジン回転速度の影響により学習値そのものでは誤補正、過補正となり得る場合があるという問題があったが、その算出した学習値に噴射系(TQ−Q)特性や回転依存性等を考慮した補正係数を持つことで、誤補正による過剰な噴射量補正による燃焼騒音、エンジン振動、エミッション等の悪化を防止することができる。また、適正な学習値をパイロット噴射量の算出に反映させることができる。
[第4実施例]
図21ないし図24は本発明の第4実施例を示したもので、図21は補正頻度を走行距離に応じて設定するための補正頻度設定方法を示したフローチャートである。
ここで、第1実施例に示したように、ISC補正およびFCCB補正を用いて、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化(インジェクタ経時機能劣化)に対応した噴射量補正を行なう場合、アイドル安定状態の時に学習値を算出し、他の運転使用領域へも反映している。しかし、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化がアイドル運転時とアイドル運転以外の時との間で相関がない場合、各運転条件毎(例えば燃料噴射圧力)に学習値を算出する必要がある。
また、第1実施例のパイロット噴射量の学習制御では、一定の補正頻度(例えば走行距離)にて学習値を算出する構成を採用しているが、例えば噴射量経時劣化量が時間に対し一定でない特性のインジェクタ4の場合、補正頻度が小さ過ぎると噴射量経時変化を補正できくなり、補正頻度が大き過ぎると学習値の算出時の異常挙動(燃料噴射圧力が高くなることによる燃焼騒音の増加等)が頻繁に起こるという問題がある。
上記の問題に対し、インジェクタ4の経時変化特性等に合わせて学習補正量の算出頻度を設定できるような構成とすることで、最適な学習補正頻度を得ることができる。例えば走行距離で学習補正頻度を決定する場合、トータル走行距離に応じて学習補正を行なう走行距離(前回学習値算出後の走行距離)を変更する。
1)トータル走行距離<K1時には、学習補正実行距離=K2
2)トータル走行距離≧K1時には、学習補正実行距離=K3
但し、K1は学習補正頻度切替走行距離(例えば10000km)で、K2は学習補正頻度1(例えば1000km)で、K3は学習補正頻度2(例えば5000km)である。
図21の制御ルーチンに進入するタイミングになると、学習実行条件(アイドル安定、車速=0、環境条件範囲内等、安定して学習補正を実行するための条件)が成立しているか否かを判定する(ステップS21)。この判定結果がNOの場合、つまり学習実行条件が不成立の場合には、図21の制御ルーチンを抜ける。また、ステップS21の判定結果がYESの場合、つまり学習実行条件が成立している場合には、トータル走行距離がK1未満であるか否かを判定する(ステップS22)。なお、本実施例では、K1の値を例えば10000kmに設定しているが、インジェクタ4の経時変化特性に合わせて学習補正頻度を切り替えるべき値に設定する。
そのステップS22の判定結果がNOの場合、つまりトータル走行距離がK1以上である場合には、前回学習補正後の走行距離がK3を越えているか否かを判定する(ステップS23)。この判定結果がYESの場合には、ステップS25に進み、学習値の算出を行う。また、ステップS23の判定結果がNOの場合には、図21の制御ルーチンを抜ける。また、ステップS22の判定結果がYESの場合、つまりトータル走行距離がK1未満である場合には、前回学習補正後の走行距離がK2を越えているか否かを判定する(ステップS24)。この判定結果がNOの場合には、図21の制御ルーチンを抜ける。また、ステップS23の判定結果がYESの場合、あるいはステップS24の判定結果がYESの場合には、例えば図5または図17の制御ルーチンのステップS3からステップS12までの処理を実施して、今回の学習値の算出を行なう(ステップS25)。次に、今回の学習値を算出したら、学習補正後の走行距離をクリアし(ステップS26)、図21の制御ルーチンを抜けて終了する。
以上のように、K2、K3にて2段階の学習補正頻度を噴射量経時変化等の特性に合わせて補正を行なうべき頻度に設定する。この設定イメージを図22および図23に示す。したがって、インジェクタ4の経時変化特性等に合わせて学習補正量の算出頻度を設定できるような構成とすることで、最適な学習補正頻度を得ることができる。なお、本実施例では、学習補正頻度を走行距離にて設定しているが、噴射量経時変化等の特性と相関のとれる要素(例えば運転時間)であれば、同様に実施可能である。また、学習補正頻度の切り替え方法として定数による2段階の切り替えとしたが、図24に示したように、トータル走行距離に対し、演算式やマップ等により連続的に学習補正頻度を設定すれば、更に最適な頻度に設定することができる。
[第5実施例]
図25ないし図28は本発明の第5実施例を示したもので、図25および図26は誤学習または過学習防止方法を示したフローチャートである。
ここで、第1実施例に示したように、ISC補正およびFCCB補正を用いて、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化(インジェクタ経時機能劣化)に対応した噴射量の補正を行なう場合、学習値を算出する際にISC補正やFCCB補正によって求められた学習値を単純にパイロット噴射量に反映させると、例えば電気負荷の作動等により燃料消費量が増加している状態や、燃焼不安定な状態で学習値を算出すると、誤学習となり、パイロット噴射量が消失したり、異常に増加したりすることになり、十分なエンジン性能が得られないという問題がある。そこで、算出された学習値の絶対値および前回学習値からの変化量により正常値であるか異常値であるかを判定し、学習値が異常値である場合、再学習を指令したり、正常範囲値でガードすることによって誤学習を防止し、最適なエンジン性能を得ることを目的として、以下の制御ルーチンを実施する。
図25の制御ルーチンに進入するタイミングになると、学習値算出頻度が成立しており、アイドル安定状態(無負荷燃費状態)で、且つエンジン安定状態等の学習実行条件が成立しているか否かを判定する(ステップS31)。この判定結果がNOの場合には、図25の制御ルーチンを抜ける。また、ステップS31の判定結果がYESの場合、つまり学習実行条件が成立している場合には、学習値算出用噴射、燃焼パターン(5分割噴射、EGRカット等)を実行する(ステップS32)。
次に、第1実施例と同様にして、ISC補正量およびFCCB補正量が安定するまで、平均エンジン回転速度補正(ISC補正)および回転速度変動気筒間補正(FCCB補正)を用いて、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時劣化量(インジェクタ経時機能劣化量)の学習補正を行なう(ステップS33)。この判定結果がYESの場合には、学習値算出気筒No(i)=1をセットする(ステップS34)。次に、全気筒が終了したか否かを判定する(ステップS35)。この判定結果がYESの場合には、図25の制御ルーチンを抜ける。
また、ステップS35の判定結果がNOの場合には、仮学習値変化量(QPGD)を算出する。ここで、仮学習値変化量とは、現状の学習値に対する変化量であり、前回学習値の算出後に噴射量経時劣化量となる(ステップS36)。次に、仮学習値変化量(QPGD)に現状の学習値(QPGF:前回算出した学習値)を加算し、今回の仮学習値(QPG)を算出する(ステップS37)。次に、図26の制御ルーチンに進み、仮学習値変化量(QPGD)から変化量が正常であるか否かを判定する。すなわち、QPGD≧K1orQPGD≦K2であるか否かを判定する(ステップS38)。
この判定結果がYESの場合、つまり仮学習値変化量QPGDが減量側最大変化量K1よりも大きく、増量側最大変化量K2よりも小さければ、正常と判断して、ステップS40に進む。ここでのK1、K2とは、例えば学習値の算出を行う学習補正頻度(例えば10000km毎)に対する噴射量経時変化パターンより噴射量のバラツキを含めた最大変化量を設定することで、電気負荷等の作動による異常な噴射量変化を防止することが可能な値を設定できる。この設定イメージを図27に示す。また、ステップS38の判定結果がNOの場合、つまり異常と判断された場合には、最大の変化量範囲内でガードした値をQPGとする(ステップS39)。その後にステップS40に進む。図28に示した変化量ガードを行う意図は、想定していたバラツキ異常の噴射量経時変化が発生した場合でも、正常範囲内までは学習補正を行うためである。しかし、誤学習の可能性を最小限にするには、ガードをかけずに今回の学習値の噴射量への反映を行わず、前回学習値のままとするようにしても良い。
次に、今回の仮学習値QPGから学習値の絶対値が正常であるか否かを判定する。すなわち、QPG≧K3orQPG≦K4であるか否かを判定する(ステップS40)。この判定結果がYESの場合、今回の仮学習値QPGが最小値K3よりも大きく、最大値K4よりも小さければ、正常と判断して、仮学習値(QPG)を最終学習値(QPGF)とする(ステップS41)。また、ステップS40の判定結果がNOの場合、正常と判断されなかった場合には、仮学習値(QPG)をK3、K4にてガードした値を最終学習値(QPGF)とする(ステップS42)。ここでも、変化量での判定と同じく、今回の学習値の噴射量への反映を行わず、前回学習値のままとするようにしても良い。
ステップS41またはステップS42が終了したら、気筒Noiをカウントアップし(ステップS43)、ステップS35以下の処理を実行することで、次の気筒の最終学習値(QPGF)を同様に算出し、最終気筒の算出が完了したら、処理を終了する。なお、本実施例以外にも下記のような方法を用いても良い。本実施例では、各気筒毎に算出した学習値の異常を判断し、処理を行っているが、単気筒でも異常があった場合、全気筒の学習値を反映することなく、前回学習値のままとしても良い。また、その場合は学習値算出未完了とし、直ぐに再学習を実施するようにしても良い。
本実施例では、異常時の処理として学習値のガードや噴射量への反映を行わないようにしているが、数回連続で異常判定が続いた場合、インジェクタ4が異常状態(開弁異常または閉弁異常)である可能性が高いため、ウォーニングランプ等により異常を通知し、インジェクタ4の交換を促すようにしても良い。その場合、異常の判定値を数段階に分けても良い。また、本実施例では、仮学習値(QPG)の変化量、絶対値の2段階で異常判定しているが、片方だけでも良い。また、本実施例では、異常判定値K1〜K4を固定値として用いているが、第4実施例に示したように、噴射量の経時変化特性に合わせた可変値としても良い。例えば走行距離に対する演算式や1次元マップから求めるようにしても良い。
[第6実施例]
図29および図30は本発明の第6実施例を示したもので、図29はパイロット噴射量の学習制御方法を示したフローチャートである。
ここで、第1実施例に示したように、ISC補正およびFCCB補正を用いて、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化(インジェクタ経時機能劣化)に対応した噴射量の補正を行なう場合、ISC補正量とFCCB補正量の和をパイロット噴射量とメイン噴射量のトータルの噴射量により案分する方式で学習値が算出されるため、アイドル運転時の要求噴射量(アイドル時噴射量)に、エンジン負荷要因によるエンジン要求噴射量の増量分を含んだ形で誤学習してしまうという問題がある。すなわち、インジェクタ4のバラツキ、噴射量経時劣化量が同じ場合でも、エンジン負荷要因によるエンジン要求噴射量の増量分が含まれてしまうため、本来欲しい学習値に対し、過剰な噴射量補正値をとることになる。
そこで、本実施例では、学習を数回実行し、そのN回学習した仮学習値のうちの各燃料噴射圧力水準および各気筒毎の最小値を最終学習値とすることで、過剰な噴射量補正を防止することができる。また、エンジン負荷要因による要求噴射量の変化分が含まれた学習値がある場合、その学習値は、他の学習値に比べて異常な値をとるため、異常学習値と正常学習値の層別ができ、その異常学習値を除外した仮学習値の平均値でも良い。ここで、誤学習による過剰な噴射量補正を防止するための具体的な方法を示す。学習制御の処理手順を図29のフローチャートに基づき説明する。
図29の制御ルーチンに進入するタイミングになると、例えば走行距離、エンジン運転時間、噴射量経時変化判定、IG・OFF回数、アイドル安定状態等により設定される学習実行条件が成立しているか否かを判定する(ステップS51)。この判定結果がNOの場合には、図29の制御ルーチンを抜ける。また、ステップS51の判定結果がYESの場合には、例えば図5または図17の制御ルーチンのステップS3からステップS8までの処理を実施し(ステップS52)、次に、例えば図5または図17の制御ルーチンのステップS9と同様にして、学習値(学習補正値)の算出を実行する(ステップS53)。
次に、算出した学習補正値を仮学習値とし図30(a)の形式のマップに書き込み、一時的にメモリに記憶(バックアップ)する(仮学習値記憶手段:ステップS54)。次に、仮学習値の算出(バックアップ)回数がN回(例えば3〜5回)に達したか否かを判定する(ステップS55)。この判定結果がNOの場合には、仮学習値の算出(バックアップ)回数がN回に達するまで繰り返して学習し、算出した学習補正値を仮学習値とし図30(a)〜(c)の形式のマップに順次書き込み、一時的にメモリに記憶する。
また、ステップS55の判定結果がYESの場合、つまり仮学習値の算出(バックアップ)回数がN回に達した場合には、N回分の仮学習値を比較し、N回分の仮学習値のうちで最小値を最終学習値とする。例えば図30に示したように、#1気筒の燃料噴射圧力水準が35MPaの時の仮学習値がA、B、Cの場合に、最終学習値としてMIN(A,B,C)を採用する(ステップS56)。次に、最終学習値が求まったら、その最終学習値をパイロット噴射量の算出に反映する(ステップS57)。その後に、図29の制御ルーチンを抜ける。
本実施例は、学習制御実行中にエンジン負荷(パワーステアリング、電気負荷、エアコン等)により、エンジン要求噴射量が変化した時のことを考慮するため、学習を数回繰り返し実行させる。ここでいう繰り返しとは連続とは限らず、ある一定条件が成立したときでも良い。この繰り返し学習をさせることで、エンジン負荷要因による要求噴射量の変化分が含まれた学習値がある場合、その学習値は、他の学習値に比べて異常な値をとる。これにより、学習値が正常か異常かを識別することができ、誤学習による過剰な噴射量補正による燃焼騒音、エンジン振動、エミッション等の悪化を防止でき、適正な学習値を噴射量に反映させることができる。
また、本実施例では、誤学習または過学習を防止するために、N回の仮学習値のうちの最小値を最終学習値としてメモリに記憶し、パイロット噴射量の算出に反映させるようにしている。この理由は、エンジン負荷変動の影響が大きい程、仮学習値は増大側となるので、そのエンジン負荷変動の影響を排除するために最終学習値として3回の仮学習値の最小値を採用している。しかるに、今回の学習制御が誤学習または過学習であると判断した場合には、直ぐに1回だけ再学習(例えば図5または図17の制御ルーチンのステップS3からステップS8までの処理を実施)し、1回の仮学習値を最終学習値としてメモリに記憶するようにしている。この理由は、上記の3回の仮学習値の最小値を最終学習値として採用するものは、図5のステップS10の学習値算出水準判定処理で誤学習または過学習として判断できなかったものの中の誤学習または過学習を見つけるためのもので、図5のステップS10の処理で誤学習または過学習として正確に判断できれば再学習制御後の仮学習値は必ず、正常な学習値であるからである。
[第7実施例]
図31は本発明の第7実施例を示したもので、パイロット噴射量の学習終了時間を短縮するための制御の概略を示したタイミングチャートである。
ここで、第1実施例に示したように、ISC補正およびFCCB補正を用いて、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化(インジェクタ経時機能劣化)に対応した噴射量の補正を行なうパイロット噴射量の学習制御の場合、アイドル運転中の学習補正の途中にアクセルペダルを踏んだり、エアコンスイッチ、ヒータスイッチまたは送風ファンスイッチをONしたりする等の操作が行なわれ、学習実行条件の不成立により学習中断が頻繁に起こると、いつまでもパイロット噴射量の学習補正が終了せず、上記の噴射量のバラツキや噴射量経時変化に対応した噴射量の補正が実施できないという問題がある。
また、第6実施例に示したように、学習実行条件が成立したら、複数の異なる噴射圧力水準で、且つ各気筒毎の仮学習値を算出し、図30(a)の形式のマップに書き込み、一時的にメモリに記憶する方式の場合、仮学習値を一時的にメモリに記憶したら、学習実行条件を一旦外れる行為、つまり学習実行条件の不成立となる行為(例えばアクセルペダルを踏んだり、所定の距離だけ車両を走行させたりする等)を行なった後に、再度次回の仮学習値を算出するようにして、今回の仮学習値と次回の仮学習値とが同じ値、つまり同じ環境条件をとらないようにすることが望ましい。この場合にも、学習実行条件を一旦外れたら、再度最初から図30(a)の形式のマップに書き込む仮学習値の算出を行なうようにすると、いつまでもパイロット噴射量の学習補正が終了せず、上記の噴射量のバラツキや噴射量経時変化に対応した噴射量の補正が実施できないという問題がある。
そこで、本実施例では、インジェクタ4の噴射指令パルス時間(TQパルス時間)に対する実際の噴射量のバラツキや噴射量経時変化を補正学習するロジックに対し、前回の学習補正時に学習実行条件の不成立により学習補正が中断された場合、今回の学習開始は前回の学習補正が中断した時点の学習状態から学習を開始するようにすることで、学習終了時間を短縮でき、頻繁に学習中断が行なわれた場合でも、パイロット噴射量の学習補正を終了できる。
具体的には、図31に示したように、1)時刻から学習補正が開始され、2)時刻において学習実行条件が不成立により学習補正が中断された場合、中断時点の学習値Aをメモリに記憶しておく。その後に、3)時刻において再度学習実行条件が成立した場合、学習開始の初期値を前回学習中断時点の学習値Aとする。その後に、4)時刻において学習実行条件が不成立により再度学習補正が中断された場合、中断時点の学習値Bをメモリに記憶しておく。その後に、5)時刻において再度学習実行条件が成立した場合、学習開始の初期値を前回学習中断時点の学習値Bとする。
以上のように、学習が中断された時点の学習値を次回の学習開始時の初期値とすることで、学習終了時間を短縮することができるため、頻繁に学習が中断された場合でも、あるいは仮学習値を算出した後に次の仮学習値の算出に移る前に一旦学習実行条件を外れて学習が中断した場合でも、確実にパイロット噴射量の学習補正を終了できる。また、学習制御時の初期値をとる場合に、今回の学習開始時点のエンジン運転状態と前回の学習終了時点のエンジン運転状態とを比較して、エンジン運転状態に大きく変化があった場合は、初期値を0にリセットするように選択処理を追加したり、前回の学習終了時点の学習値に補正をして初期値とする処理を追加しても良い。
[第8実施例]
図32および図33は本発明の第8実施例を示したもので、図32はISC補正量の誤補正判定方法を示したフローチャートである。
ここで、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化の補正精度を向上するために、コモンレール圧として複数の異なる噴射圧力水準の補正量を算出する場合、常時噴射量補正量の算出を行なうことは、アイドル運転時に高圧噴射を実施することによる燃焼騒音の増加等が問題となるため、所定の補正頻度で噴射量補正量の算出を行なうことが望ましい。しかし、所定の補正頻度のみで噴射量補正量の算出を行なうと、想定していない急な噴射量経時変化が発生した場合や、電気負荷等がかかっている状態を検出できずに噴射量補正量の算出を行なった場合等、次の噴射量補正量の算出までの間、狙い通りのパイロット噴射量とならない状態が続き、エンジン性能が悪化することが問題となる。この問題点に対して学習制御時ではないアイドル運転時にISC補正量から電気負荷等による誤補正を判定する方法が考えられるが、誤補正量が大きいと通常のアイドル運転時と噴射パターンが相違してしまい判定精度が低下するという問題がある。
そこで、本実施例では、学習補正終了後のアイドル運転時の噴射パターンを固定することで、誤学習の判定精度の向上を図る目的で、上記のパイロット噴射量の学習制御を終了した後は、アイドル運転時に、エンジン負荷に対応した目標回転速度とアイドリング回転速度との比較結果に応じて、インジェクタ4に印加するインジェクタ駆動電流値(噴射量指令値=インジェクタ通電期間:TQパルス時間)をフィードバック制御する通常のアイドリング回転速度(ISC)制御に移行するように構成されている。なお、アイドル回転速度を目標アイドル回転速度に維持するために、各気筒のインジェクタ4の噴射回数をN回(例えば5回)に固定し、且つ噴射指令値としての指令噴射量(QFIN)=totalQ=0mm3/stが出力可能な特性マップを有している。
図32の制御ルーチンに進入するタイミングになると、エンジン回転速度が所定値(例えばNE=1000rpm)以下、アクセル開度が所定値(例えばACCP=0%)以下、車両の走行速度(以下車速と言う)が所定値(例えばSPD=0km/h)以下等のアイドル運転中であるか否かを判定する(ステップS61)。この判定結果がNOの場合には、図32の制御ルーチンを抜ける。
また、ステップS61の判定結果がYESの場合、つまりアイドル運転中であると判断した場合には、噴射回数をN回(例えば5回)に固定する(ステップS62)。通常、噴射回数は最低噴射量によって制限する必要があり、例えば最低噴射量がaであった場合、a×4以下の噴射量の場合、4回噴射以下に噴射回数を制限しないと、最低噴射量以下で5回噴射してしまうことになる。ここでの誤学習というのは、電気負荷等によってエンジン負荷が増加した状態でパイロット噴射量を算出した場合であるため、アイドル運転でのアイドル時噴射量は増加し、噴射量指令値としては無負荷燃費よりも誤学習分小さい値となる。
したがって、通常通り噴射回数を制限してしまうと、ISC補正量(QISC)の誤補正量が大きい場合、例えば最低噴射量=a、無負荷燃費=b、誤補正量=cがa=0.5mm3/st、b=5mm3/st、c=3mm3/stであると、アイドル運転時の噴射量指令値はb−cとなり、最低噴射量により4回噴射に制限される。このようになると、ISC補正量(QISC)の誤補正量の影響が4/5となるため、誤学習の判定レベルが設定した値通りにならなくなる。しかし、アイドル運転時はエンジン負荷の無負荷状態に対し、必要な噴射量が減少することはないので、噴射量小による噴射回数制限を実施する必要はないため、5回の固定が可能となる。
次に、ISC補正量(QISC)が0よりも小さいか否かを判定する(ステップS63)。この判定結果がYESの場合、つまりISC補正量(QISC)が0よりも小さい場合には、全噴射にISC補正量(QISC)を略均等に反映する(ステップS64)。また、ステップS63の判定結果がNOの場合、つまりISC補正量(QISC)が0以上の場合には、メイン噴射のみにISC補正量(QISC)を反映する(ステップS65)。次に、ISC補正量(QISC)が所定値(誤補正判定値)K2よりも小さいか否かを判定する(ステップS66)。この判定結果がNOの場合には、図32の制御ルーチンを抜ける。また、ステップS66の判定結果がYESの場合には、再度図5の制御ルーチンに示す学習制御を実施し、再度学習値を算出する(ステップS67)。その後に、図32の制御ルーチンを抜ける。
ここでの考え方は、通常エンジン負荷の増加時にパイロット噴射の噴射量が増加することを防止するため、メイン噴射のみにISC補正を行なっているが、誤補正している場合、メイン噴射のみにISC補正量(QISC)を反映するとメイン噴射以外のパイロット噴射の実噴射量が大きいため、メイン噴射量は減少する。そうなると、誤補正量をISC補正量で正しく判定できない可能性がある。しかし、QISC<0の場合、上記と同様の考え方でアイドル運転時の無負荷噴射量(=無負荷燃費)が減少することはないので、エンジン負荷の増加でISC補正量を誤補正している状態と判断できる。したがって、QISC<0の場合には全噴射略均等にISC補正量(QISC)を各噴射量の算出に反映することができる。以上の噴射回数の固定、ISC補正量の反映方法の変更により、図33(a)〜(c)に示したように、ISC補正量の誤補正後でも通常時と同様の噴射パターンでの噴射が可能となり、ISC補正量による誤補正の判定精度を向上できる。但し、エンジン性能に問題のない場合、エンジン負荷の増加時にパイロット噴射を含む全噴射に略均等にISC補正を行なっても、本実施例の効果を得ることができるので、そのようにしても構わない。
[第9実施例]
図34ないし図36は本発明の第9実施例を示したもので、図34はパイロット噴射量の学習制御方法を示したフローチャートである。
ここで、TQパルス時間に対する実際の噴射量のバラツキや噴射量経時変化の補正精度を向上するために、コモンレール圧として複数の異なる噴射圧力水準の補正量を算出する場合、常時補正量の算出を行なうことは、アイドル運転時に高圧噴射を実施することによる燃焼騒音の増加等が問題となるため、所定の補正頻度で学習値の算出を行なうことが望ましい。しかし、所定の補正頻度のみで補正量の算出を行なうと、想定していない急な噴射量経時変化が発生した場合や、電気負荷等がかかっている状態を検出できずに補正量の算出を行なった場合等、次の補正量の算出までの間、狙い通りのパイロット噴射量とならない状態が続き、エンジン性能が悪化することが問題となる。
そこで、本実施例では、アイドル安定状態の時に、パイロット噴射量の学習制御により算出されるFCCB補正量、ISC補正量から噴射量経時変化や電気負荷等による誤学習を判定し、再度、FCCB補正量、ISC補正量および学習値の算出を行なうことで、TQパルス時間に対する実際の噴射量のズレや噴射量経時変化分のズレを学習補正し、最適なエンジン性能を得ることを目的として、学習実行条件の成立以外のアイドル安定状態時に、図34の制御ルーチンを実行するようにしている。
図34の制御ルーチンに進入するタイミングになると、全気筒一律のISC補正量(QISCまたはQISC/n)と各気筒毎のFCCB補正量(ΔQcまたはΔQc/n)から噴射量経時変化および誤補正を判定する。すなわち、ISC補正量が所定値K1よりも大きいか否かを判定する。あるいはISC補正量が所定値K2よりも小さいか否かを判定する。あるいはFCCB補正量が所定値K3よりも大きいか否かを判定する。あるいはFCCB補正量が所定値K4よりも小さいか否かを判定する(ステップS71)。この判定結果がNOの場合には、図34の制御ルーチンを抜ける。
また、ステップS71の判定結果がYESの場合、つまりISC補正量が所定値K1よりも大きいか、またはFCCB補正量がK3よりも大きい場合、あるいはISC補正量が所定値K2よりも小さいか、またはFCCB補正量がK4よりも小さい場合には、噴射量経時変化および誤補正であると判断して、噴射量経時変化、誤補正判定フラグをセット(ON)し(ステップS72)、直ちに、図5の制御ルーチンに示す学習制御を実施し、再度学習値を算出する(ステップS73)。その後に、ステップS71以下の処理を繰り返す。
次に、図35に基づいて経時変化パターンについて説明する。先ず、噴射量経時変化の場合、ISC補正量の算出が完了した時点(A時刻)では、噴射量のバラツキ分を噴射量補正量として持つために、ISC補正量は0となる。そこで、例えば噴射量減少方向に噴射量経時変化が生じるとアイドル回転速度が低下し、アイドル無負荷噴射量(無負荷燃費)まで噴射量を増量しようとISCが作動し、ISC補正量としては増加する。したがって、ISC補正量=噴射量経時劣化量となるため、この値をある所定値と比較することで噴射量経時変化を判定できる。
ここで、所定値K1〜K4の考え方としては、ISC補正量のバラツキ、つまりISC補正量の算出を行なった条件と全く同じであればISC補正量=0となるが、実際には環境条件、エンジン運転状態による指令噴射量、エンジン負荷等のバラツキによりISC補正量は0にならないので、このバラツキ以上の値に設定する必要がある。あとは、噴射量経時変化によるインジェクタ性能への悪化が許容できるレベル以下に設定すれば良い。なお、FCCB補正量があまりに大きな値を持つ場合には、その気筒のインジェクタ4が故障と判定できるので、交換を促すようにウォーニングランプを点灯させるようにしても良い。
ここで、ISC補正量、FCCB補正量での判定の違いの意味は、ISC補正の場合、多気筒の噴射量経時変化しか判定できないが、FCCB補正であれば1気筒毎の噴射量経時変化でも判定できる。例えばバラツキにより判定値=a以上に設定する必要がある場合、ISC補正量で判定するにはa×気筒分の噴射量経時変化が必要であるが、FCCB補正量の場合、単気筒がa以上となればその気筒の噴射量経時変化を判定できる。
次に、図36に基づいて電気負荷等による誤補正パターンについて説明する。電気負荷がONの状態でISC補正量の算出を行なうと、求めるべき補正量に対し、電気負荷分の噴射量を誤補正してしまう。その後に、電気負荷がOFFされると、アイドル運転時の無負荷噴射量(=無負荷燃費)は減少することになり、エンジン回転速度は上昇するため、噴射量を減少させようとISCが作動し、ISC補正量は減少する。したがって、ISC補正量=誤補正量となるため、この値をある所定値と比較することで、誤補正を判定できる。ISC補正量が所定値よりも小さいかだけで判定できるのは、K2のみが対象となる。
なお、本実施例の方法以外にも、下記のような方法を用いても良い。コモンレール圧に応じて複数異なる噴射圧力水準のISC補正量を算出する場合、例えば2水準目だけ維持変化が大きい場合や、2水準目だけ電気負荷ONで誤補正した場合に判定できないため、その場合は、コモンレール圧を変更して各噴射圧力での噴射量経時変化、誤補正を判定するようにしても良い。
[変形例1]
本実施例では、本発明をディーゼルエンジン用のコモンレール式燃料噴射システムのパイロット噴射量学習制御装置に適用した例を示したが、本発明をコモンレールを備えず、電子制御方式の分配型燃料噴射ポンプまたは電子制御方式の列型燃料噴射ポンプ等を備えた内燃機関用噴射量制御装置に適用しても良い。また、本実施例では、電磁式燃料噴射弁よりなるインジェクタを用いた例を説明したが、圧電方式の燃料噴射弁よりなるインジェクタを用いても良い。また、メイン噴射に先立って行なわれるパイロット噴射(プレ噴射とも言う)の回数は、1回以上任意に設定しても良く、また、メイン噴射の後に行なわれるパイロット噴射(アフター噴射とも言う)の回数も、0回または1回以上任意に設定しても良い。
[変形例2]
本実施例では、図5の制御ルーチンのステップS4に示す分割噴射を正確に均等にN回に分割する均等分割噴射としたが、これは必ずしも正確に均等にN回に分割する均等分割噴射に限定しなくても良い。あるいは、N回均等分割噴射を、例えばtotalQ=5mm3/stの場合、1mm3/st、1mm3/st、1mm3/st、2mm3/stの4回に略均等に分割噴射し、図11に示すFCCB補正量(第1噴射量補正量または第1補正量)、ISC補正量(第2噴射量補正量または第2補正量)の各噴射への反映を分割方法に応じて適切に(例えば1:1:1:2の比例配分または各々1/4等)反映し、図5の制御ルーチンのステップS9に示す学習値の算出を行なっても良い。以上のような変形例2で本発明を実施しても、概ね上記実施例と同等の効果を達成することができる。
[変形例3]
本実施例では、仮学習値記憶手段および学習値記憶手段としてスタンバイRAMまたはEEPROMを用いたが、スタンバイRAMまたはEEPROMを用いずに、EPROM、フラッシュ・メモリ等の不揮発性メモリ、DVD−ROM、CD−ROM、あるいはフレキシブル・ディスクのような他の記憶媒体を用いて、前回の学習制御により更新した前回の学習値を記憶するようにしても良い。この場合にも、イグニッションスイッチをオフ(IG・OFF)した後、あるいはエンジンキーをキーシリンダより抜いた後も、記憶した内容は保存される。
[変形例4]
本実施例では、本発明の一例として、エンジン1の特定気筒のインジェクタ4の電磁弁を複数回駆動して、エンジン1の燃焼行程中に2回以上のマルチ噴射(例えばパイロット噴射・メイン噴射)を行なうことが可能なコモンレール式燃料噴射システムを適用した例を説明したが、エンジン1の燃焼行程中に3回のマルチ噴射(例えばパイロット噴射・メイン噴射・アフター噴射またはパイロット噴射・プレ噴射・メイン噴射)を行なうことが可能な内燃機関用燃料噴射装置に適用しても良い。あるいは、エンジン1の燃焼行程中に4回のマルチ噴射(例えばパイロット噴射・メイン噴射・アフター噴射・ポスト噴射またはパイロット噴射・プレ噴射・メイン噴射・アフター噴射)を行なうことが可能な内燃機関用燃料噴射装置に適用しても良い。あるいは、エンジン1の燃焼行程中に5回のマルチ噴射(例えばパイロット噴射・プレ噴射・メイン噴射・アフター噴射・ポスト噴射または3回のパイロット噴射・メイン噴射・アフター噴射)を行なうことが可能な内燃機関用燃料噴射装置に適用しても良い。あるいは、エンジン1の燃焼行程中に6回以上のマルチ噴射(例えば4回以上のパイロット噴射・メイン噴射・アフター噴射または3回以上のパイロット噴射・メイン噴射・2回以上のアフター噴射)を行なうことが可能な内燃機関用燃料噴射装置に適用しても良い。