以下、図面を参照しながら、本発明の第1実施形態に係る内燃機関の燃料噴射制御装置について説明する。図1に示すように、本実施形態の燃料噴射制御装置1は、ECU2を備えており、このECU2は、内燃機関(以下「エンジン」という)3の燃料噴射制御処理などの各種の制御処理を実行する。
エンジン3は、図示しない車両に搭載された、低温予混合燃焼で運転可能なディーゼルエンジンタイプのものであり、4組(1組のみ図示)の気筒3aおよびピストン3bを備えている。このエンジン3のシリンダヘッド3cには、燃料噴射弁4(燃料噴射装置)が気筒3a毎に燃焼室に臨むように取り付けられている。
この燃料噴射弁4は、コモンレールを介して、高圧ポンプおよび燃料タンク(いずれも図示せず)に接続されている。高圧ポンプによって昇圧された燃料は、コモンレールを介して燃料噴射弁4に供給され、燃料噴射弁4から気筒3a内の燃焼室に噴射される。ECU2は、燃料噴射弁4の開閉タイミングを制御することによって、燃料噴射弁4による燃料噴射量および噴射時期を制御する。なお、噴射時期制御の具体的な制御手法については後述する。
また、エンジン3には、クランク角センサ20が設けられている。このクランク角センサ20は、マグネットロータおよびMREピックアップで構成されており、クランクシャフト3dの回転に伴い、いずれもパルス信号であるCRK信号およびTDC信号をECU2に出力する。このCRK信号は、所定クランク角(例えば10゜)毎に1パルスが出力され、ECU2は、このCRK信号に基づき、エンジン3の回転数(以下「エンジン回転数」という)NEを算出する。なお、本実施形態では、クランク角センサ20が運転状態パラメータ検出手段に、エンジン回転数NEが運転状態パラメータにそれぞれ相当する。
また、TDC信号は、各気筒3aのピストン3bが吸気行程のTDC位置よりも若干、手前の所定のクランク角位置にあることを表す信号であり、所定クランク角毎に1パルスが出力される。
エンジン3の吸気通路5には、エアフローセンサ21(運転状態パラメータ検出手段)が設けられている。このエアフローセンサ21は、吸気通路5内を流れる新気の流量(以下「新気流量」という)Qinを表す検出信号をECU2に出力する。
一方、エンジン3の排気通路7には、上流側から順に、LAFセンサ22(運転状態パラメータ検出手段)および排ガス浄化装置9が設けられている。このLAFセンサ22は、ジルコニアおよび白金電極などで構成され、理論空燃比よりもリッチなリッチ領域から極リーン領域までの広範囲な空燃比の領域において、排気通路7内を流れる排ガス中の酸素濃度をリニアに検出し、それを表す検出信号をECU2に出力する。ECU2は、このLAFセンサ22の検出信号に基づき、排ガスの空気過剰率λを算出する。
また、排ガス浄化装置9は、排気ガス中の未燃成分やスート(すす)などを浄化するものであり、具体的には、DPFおよびNOx浄化触媒などで構成されている。
さらに、エンジン3には、EGR装置8が設けられている。このEGR装置8は、排気通路7内の排ガスの一部を吸気通路5側に還流するものであり、吸気通路5および排気通路7の間に接続されたEGR通路8aと、このEGR通路8aを開閉するEGR制御弁8bなどで構成されている。EGR通路8aの一端は、排気通路7のLAFセンサ22よりも上流側の部位に開口し、他端は、吸気通路5のエアフローセンサ21よりも下流側の部位に開口している。
EGR制御弁8bは、そのリフトが最大値と最小値との間でリニアに変化するリニア電磁弁で構成され、ECU2に電気的に接続されている。ECU2は、EGR制御弁8bを介して、EGR通路8aの開度を変化させることにより、排ガスの還流量を制御する。
一方、ECU2には、4つの筒内圧センサ23(1つのみ図示)、吸気圧センサ24、吸気温センサ25およびアクセル開度センサ26が電気的に接続されている。4つの筒内圧センサ23の各々は、圧電素子タイプのものであり、対応する気筒3a内の圧力すなわち筒内圧の変化に伴ってたわむことにより、筒内圧を表す検出信号をECU2に出力する。ECU2は、筒内圧センサ23の検出信号および前述したCRK信号に基づき、筒内圧変化量DPおよび実着火時期Cmbなどを気筒ごとに算出する。
この筒内圧変化量DPは、単位クランク角当たりの筒内圧の変化量を表すものであり、実着火時期Cmbは、燃焼室内の燃料が実際に着火したと推定される、MFB50などの値に相当するクランク角位置を表すものである。なお、本実施形態では、筒内圧センサ23が筒内圧パラメータ検出手段および実着火時期検出手段に相当し、筒内圧変化量DPが筒内圧パラメータに相当する。
また、吸気圧センサ24および吸気温センサ25は、吸気集合管内の吸気通路5が各気筒3aに向かって分岐する手前の部分に設けられており、吸気通路5内を流れる還流ガスを含む吸入空気の圧力(以下「吸気圧」という)PBおよび温度(以下「吸気温」という)TBを表す検出信号をECU2にそれぞれ出力する。
さらに、アクセル開度センサ26は、車両の図示しないアクセルペダルの踏み込み量(以下「アクセル開度」という)APを検出して、それを表す検出信号をECU2に出力する。なお、本実施形態では、吸気圧センサ24、吸気温センサ25およびアクセル開度センサ26が運転状態パラメータ検出手段に相当する。
一方、ECU2は、CPU、RAM、ROMおよびI/Oインターフェース(いずれも図示せず)などからなるマイクロコンピュータで構成されており、前述した各種のセンサ20〜26の検出信号などに応じて、エンジン3の運転状態を判別するとともに、燃料噴射制御処理などの各種の制御処理などを実行する。
なお、本実施形態では、ECU2が、実着火時期検出手段、目標着火時期算出手段、誤差パラメータ算出手段、FF項算出手段、FB項算出手段、目標噴射時期算出手段、制御手段、モデル修正手段、筒内圧パラメータ検出手段、第2モデル修正手段、他のモデル修正手段、基本着火時期算出手段、および着火時期補正値算出手段に相当する。
図2に示すように、本実施形態の燃料噴射制御装置1は、噴射時期コントローラ30を備えている。この噴射時期コントローラ30(目標噴射時期算出手段)は、以下に述べるように、目標噴射時期Inj_TRGTを算出するものであり、具体的にはECU2によって構成されている。なお、以下の説明において算出される各種の値は、ECU2のRAM内に記憶されるものとする。
同図に示すように、噴射時期コントローラ30は、要求トルク算出部40、不活性ガス率算出部50、目標着火時期算出部60、FB項算出部70、FF項算出部100および加算器80を備えている。
まず、要求トルク算出部40では、エンジン回転数NEおよびアクセル開度APに応じて、図示しないマップを検索することにより、要求トルクTRQ(運転状態パラメータ)が算出される。この要求トルクTRQは、運転者によってエンジン3に要求されているトルクを表すものである。
また、不活性ガス率算出部50では、後述する制御手法により、不活性ガス率RIEGRが算出される。この不活性ガス率RIEGRは、気筒3a内に吸入された総ガス量中の不活性ガスの割合を表すものである。なお、本実施形態では、不活性ガス率RIEGRが運転状態パラメータ、筒内ガス状態パラメータおよび気筒内における不活性ガス量と新気量との割合を表す値に相当する。
さらに、目標着火時期算出部60では、後述する制御手法により、目標着火時期Cmb_TRGTが算出され、FB項算出部70では、後述する制御手法により、FB項Inj_FBが算出されるとともに、FF項算出部100では、後述する制御手法により、FF項Inj_FFが算出される。なお、本実施形態では、目標着火時期算出部60が目標着火時期算出手段に、FB項算出部70が誤差パラメータ算出手段およびFB項算出手段に、追従誤差EIgが誤差パラメータに、FF項算出部100が誤差パラメータ算出手段およびFF項算出手段にそれぞれ相当する。
そして、最終的に、加算器80において、下式(1)により、目標噴射時期Inj_TRGTが算出される。
上式(1)に示すように、目標噴射時期Inj_TRGTは、FF項Inj_FFとFB項Inj_FBの和として算出される。なお、上式(1)において、記号(k)付きの各離散データは、所定の制御周期(例えば、10msec)でサンプリングまたは算出されたデータであることを示しており、記号kは各離散データのサンプリングまたは算出サイクルの順番を表している。例えば、記号kは今回の制御タイミングでサンプリングまたは算出された値であることを、記号k−1は前回の制御タイミングでサンプリングまたは算出された値であることをそれぞれ示している。この点は、以下の離散データにおいても同様である。なお、以下の説明では、各離散データにおける記号(k)を適宜省略する。
次に、前述した不活性ガス率算出部50について説明する。この不活性ガス率算出部50では、以下に述べるように、エンジン回転数NE、吸気温TB、吸気圧PBおよび新気流量Qinなどに基づいて、不活性ガス率RIEGRが算出される。まず、下式(2)により、吸入空気量QCYLを算出する。
この吸入空気量QCYLは、気筒3a内に吸入されると推定される総ガス量、すなわち新気量と還流ガス量との和に相当するものである。上式(2)において、ηは吸気効率を、Rは気体定数を、Vcylは気筒容積を、Ncylは気筒数をそれぞれ表している。この吸気効率ηは、エンジン回転数NEに応じて、図示しないマップを検索することにより算出される。
次いで、下式(3)により、新気量QAIRを算出する。
さらに、下式(4)により、還流ガス量QEGRを算出する。
次に、下式(5)により、還流ガス率REGRを算出する。
そして、最終的に、下式(6)に示すように、還流ガス率REGRを空気過剰率λで除算することにより、不活性ガス率RIEGRが算出される。
ここで、空気過剰率λは、排気通路7の比較的、下流側に配置されたLAFセンサ22の検出信号に基づいて算出される関係上、吸入空気量QCYLなどの演算結果に対して所定のむだ時間(応答遅れ)を有しているので、上式(6)では、空気過剰率λとして、このむだ時間を考慮した値が用いられる。
次に、図3を参照しながら、前述した目標着火時期算出部60について説明する。この目標着火時期算出部60は、以下に述べるように、目標着火時期Cmb_TRGTを算出するものであり、基本着火時期算出部61、着火時期補正値算出部62および加算器63を備えている。
この基本着火時期算出部61(基本着火時期算出手段)では、エンジン回転数NEおよび要求トルクTRQに応じて、図4に示すマップを検索することにより、基本着火時期Bs_cmbが算出される。同図において、TRQ1〜4はそれぞれ、TRQ1<TRQ2<TRQ3<TRQ4の関係が成立するように設定される要求トルクTRQの所定値であり、この点は後述するマップにおいても同様である。このマップでは、基本着火時期Bs_cmbは、エンジン回転数NEが高いほど、より進角側の値に設定されている。これは、エンジン回転数NEが高いほど、1回の燃焼サイクルの実行時間がより短くなってしまうので、それに対応して、燃料の適切な燃焼時間を確保するためである。
また、着火時期補正値算出部62(着火時期補正値算出手段)では、不活性ガス率RIEGRおよび要求トルクTRQに応じて、図5に示すマップを検索することにより、着火時期補正値IEGR_cmbが算出される。
そして、最終的に、加算器63において、下式(7)により、目標着火時期Cmb_TRGTが算出される。すなわち、目標着火時期Cmb_TRGTは、基本着火時期Bs_cmbを着火時期補正値IEGR_cmbで補正することによって算出される。
次に、前述したFB項算出部70について算出する。このFB項算出部70では、以下の式(8)〜(12)に示すスライディングモード制御アルゴリズムを用いて、FB項Inj_FBが算出される。すなわち、FB項Inj_FBは、実着火時期Cmbを目標着火時期Cmb_TRGTに収束させるための値として算出される。
上式(8)に示すように、追従誤差Ecmbは、実着火時期Cmbと目標着火時期Cmb_TRGTの偏差として算出される。また、上式(9)において、σは切換関数であり、Sは−1<S<0の関係が成立するように設定される切換関数設定パラメータである。この場合、切換関数設定パラメータSの設定値により、追従誤差Ecmbの値0への収束速度および収束挙動、すなわち実着火時期Cmbの目標着火時期Cmb_TRGTへの収束速度および収束挙動が指定される。
また、上式(10)において、Urchは到達則入力であり、Krchは所定の到達則ゲインを表している。さらに、上式(11)において、Uadpは適応則入力であり、Kadpは所定の適応則ゲインを表している。そして、上式(12)に示すように、FF項Inj_FFは、到達則入力Urchと適応則入力Uadpの和として算出される。
次いで、図6を参照しながら、前述したFF項算出部100について説明する。このFF項算出部100は、以下に述べるように、FF項Inj_FFを算出するものであり、同図に示すように、基本FF項算出部101、基本FF項用の第1修正値算出部110、基本FF項用の第2修正値算出部120、FF項補正値算出部102、FF項補正値用の第1修正値算出部130、FF項補正値用の第2修正値算出部140および3つの加算器103〜105を備えている。
この基本FF項算出部101では、エンジン回転数NEおよび要求トルクTRQに応じて、図7に示すマップを検索することにより、基本FF項Bs_Injが算出される。このマップでは、基本FF項Bs_Injは、エンジン回転数NEが高いほど、より進角側の値に設定されている。これは、前述した図4の説明で述べたのと同じ理由による。
また、基本FF項用の第1修正値算出部110および基本FF項用の第2修正値算出部120では、後述する制御手法により、基本FF項用の第1修正値DBs_Injおよび基本FF項用の第2修正値DBs_NVInjがそれぞれ算出される。
なお、本実施形態では、基本FF項用の第1修正値算出部110がモデル修正手段に、基本FF項用の第2修正値算出部120が第2モデル修正手段および他のモデル修正手段に、基本FF項用の第1修正値DBs_Injが修正値および基本FF項モデル用の第1修正値に、基本FF項用の第2修正値DBs_NVInjが、他の修正値および基本FF項モデル用の第2修正値にそれぞれに相当する。
さらに、加算器103において、下式(13)により、修正後基本FF項ModBs_Injが算出される。
上式(13)に示すように、修正後基本FF項ModBs_Injは、基本FF項Bs_Injを、基本FF項用の第1修正値DBs_Injおよび基本FF項用の第2修正値DBs_NVInjで修正することによって算出される。
一方、FF項補正値算出部102では、不活性ガス率RIEGRおよび要求トルクTRQに応じて、図8に示すマップを検索することにより、FF項補正値IEGR_Injが算出される。
また、FF項補正値用の第1修正値算出部130およびFF項補正値用の第2修正値算出部140では、後述する制御手法により、FF項補正値用の第1修正値DIEGR_InjおよびFF項補正値用の第2修正値DIEGR_NVInjがそれぞれ算出される。
なお、本実施形態では、FF項補正値用の第1修正値算出部130がモデル修正手段に、FF項補正値用の第2修正値算出部140が第2モデル修正手段に、FF項補正値用の第1修正値DIEGR_Injが修正値およびFF項補正値モデル用の第1修正値に、FF項補正値用の第2修正値DIEGR_NVInjがFF項補正値モデル用の第2修正値にそれぞれに相当する。
さらに、加算器104において、下式(14)により、修正後FF項補正値ModIEGR_Injが算出される。すなわち、修正後FF項補正値ModIEGR_Injは、FF項補正値IEGR_Injを、FF項補正値用の第1修正値DIEGR_InjおよびFF項補正値用の第2修正値DIEGR_NVInjで修正することによって算出される。
そして、最終的に、加算器105において、下式(15)により、FF項Inj_FFが算出される。すなわち、FF項Inj_FFは、修正後基本FF項ModBs_Injを修正後FF項補正値ModIEGR_Injで補正することによって算出される。
なお、本実施形態では、図7,8のマップがFF項モデルに、図7のマップが基本FF項モデルに、図8のマップがFF項補正値モデルにそれぞれ相当する。さらに、基本FF項Bs_Injに基本FF項用の第1修正値DBs_Injを加算することが、FF項モデルおよび基本FF項モデルを修正することに相当するとともに、両者の和Bs_Inj+DBs_Injに基本FF項用の第2修正値DBs_NVInjを加算することが、修正されたFF項モデルおよび修正された基本FF項モデルをさらに修正することに相当する。
次に、図9を参照しながら、前述した基本FF項用の第1修正値算出部110について説明する。この基本FF項用の第1修正値算出部110は、以下に述べる制御手法によって、基本FF項用の第1修正値DBs_Injを算出するものであり、同図に示すように、減算器111、連結重み関数算出部112、修正誤差算出部113、基本局所修正値算出部114、修正感度算出部115および最終値算出部116を備えている。
まず、減算器111では、下式(16)によって、追従誤差EIgが算出される。
ここで、上式(16)のInj_FB_TRGTは、FB項Inj_FBの目標となる所定の目標値であり、本実施形態では値0に設定されている。そのため、追従誤差EIg=Inj_FBとなる。
また、連結重み関数算出部112では、エンジン回転数NEおよび要求トルクTRQに応じて、図10に示すマップを検索することにより、連結重み関数WBs_Injijが算出される。このマップでは、エンジン回転数NEおよび要求トルクTRQの領域がそれぞれ、I(Iは2以上の整数)個の所定値NEi(i=1〜I)およびJ(Jは2以上の整数)個の所定値TRQj(j=1〜J)によって均等に区分されているとともに、連結重み関数WBs_Injijは、連続する3つのエンジン回転数NEiの値と、連続する3つの要求トルクTRQjの値との組み合わせで規定される複数の領域に対応してそれぞれ設定されている。
また、連結重み関数WBs_Injijの各々は、対応する領域内におけるエンジン回転数NEおよび要求トルクTRQの値に対して、その領域の中心で最大値1になり、中心以外では四角錐の斜面状に変化するとともに、その領域以外では値0になる特性を有している。これに加えて、連結重み関数WBs_Injijがそれぞれ対応する複数の領域では、隣り合う領域が互いに重なり合っており、それにより、隣り合う連結重み関数WBs_Injijは、四角錐の斜面状に変化する部分で互いに交差している。
例えば、図11に示すように、NEf-1<NE<NEf+1かつTRQg-1<TRQ<TRQg+1の領域に対応する連結重み関数WBs_Injfgは、NE,TRQがその領域の中心の値のとき、すなわちNE=NEfかつTRQ=TRQgのときに最大値1を示し、中心以外のNE,TRQの値に対しては、連結重み関数WBs_Injfgの値が四角錐の斜面状に変化するように設定されている。ここで、f,gは0<f<Iおよび0<g<Jがそれぞれ成立する正の整数である。さらに、連結重み関数WBs_Injfgは、2つの値NE,TRQが上記領域以外の値のとき、すなわちNE≦NEf-1、NEf+1≦NE、TRQ≦TRQg-1またはTRQg+1≦TRQのときには、値0を示すように設定されている。
また、連結重み関数WBs_Injfgは、これと隣り合う領域にそれぞれ対応する連結重み関数WBs_Injf-1g,WBs_Injf+1gに対して、互いの領域が重なり合う部分すなわち斜面状に変化する部分でその斜面同士が交差している。したがって、図11に示すように、NExをNEfとNEf+1の間の中央の値とすると、例えば、NE=NExおよびTRQ=TRQgのときには、2つの連結重み関数WBs_Injfg,WBs_Injf+1gの値は、WBs_Injfg=WBs_Injf+1g=0.5となるとともに、それら以外の連結重み関数WBs_Injijの値はいずれも値0となる。これに加えて、NEx<NE<NEf+1およびTRQ=TRQgのときには、連結重み関数WBs_Injfgの値は、0<WBs_Injfg<0.5となり、連結重み関数WBs_Injf+1gの値は、1−WBs_Injfgとなるとともに、それら以外の連結重み関数WBs_Injijの値はいずれも値0となる。
さらに、図12に示すように、連結重み関数WBs_Injfgは、これと隣り合う領域にそれぞれ対応する連結重み関数WBs_Injfg-1,WBs_Injfg+1に対しても、互いの領域が重なり合う部分すなわち斜面状に変化する部分でその斜面同士が交差している。したがって、同図に示すように、TRQyをTRQg-1とTRQgの間の中央の値とすると、例えば、NE=NEfおよびTRQ=TRQyのときには、2つの連結重み関数WBs_Injfg-1,WBs_Injfgの値は、WBs_Injfg-1=WBs_Injfg=0.5となるとともに、それら以外の連結重み関数WBs_Injijの値はいずれも値0となる。これに加えて、NE=NEfおよびTRQy<TRQ<TRQgのときには、連結重み関数WBs_Injfg-1の値は、0<WBs_Injfg-1<0.5となり、連結重み関数WBs_Injfgの値は、1−WBs_Injfg-1となるとともに、それら以外の連結重み関数WBs_Injijの値はいずれも値0となる。
また、図示しないが、連結重み関数WBs_Injfgは、これと隣り合う領域にそれぞれ対応する連結重み関数WBs_Injf+1g-1,WBs_Injf-1g+1に対しても、互いの領域が重なり合う斜面状に変化する部分で互いの斜面同士が交差している。以上のように、隣り合う2つのエンジン回転数NEの値(例えばNEf,NEf+1)と、隣り合う2つの要求トルクTRQの値(例えばTRQg,TRQg+1)で規定される四角形の領域では、4つの連結重み関数WBs_Injij(例えばWBs_Injfg,WBs_Injfg+1,WBs_Injf+1g,WBs_Injf+1g+1)の斜面同士が互いに交差しているとともに、この領域内のエンジン回転数NEおよび要求トルクTRQの値に対して、これらの4つの連結重み関数WBs_Injijの総和は、値1になるように設定されている。なお、本実施形態では、図10のNE1およびTRQ1はそれぞれ値0に設定されており、したがって、NE<NE1またはTRQ<TRQ1の領域では、連結重み関数WBs_Injijの値は実際には設定されていない。
以上のように、この連結重み関数算出部112では、エンジン回転数NEおよび要求トルクTRQに応じて、図10のマップを検索することにより、連結重み関数WBs_Injijの値がそれぞれ算出される。すなわち、連結重み関数WBs_Injijは、I×J個の値を要素とする行列として算出される。
さらに、修正誤差算出部113では、下式(17)により、修正誤差WBs_eIg
ijが算出される。
このように、修正誤差WBs_eIgijは、I×J個の値を要素とする行列として算出されるとともに、追従誤差EIgを、連結重み関数WBs_Injijで重み付けした値として算出される。
また、基本局所修正値算出部114では、下式(18)〜(25)に示すスライディングモ−ド制御アルゴリズムを適用した制御アルゴリズムにより、基本局所修正値DBs_Inj_bsijが算出される。すなわち、基本局所修正値DBs_Inj_bsijは、修正誤差WBs_eIgijを値0に収束させるための、I×J個の値を要素とする行列として算出される。
上式(18)において、σ1ijは切換関数であり、S1は−1<S1<0の関係が成立するように設定される切換関数設定パラメ−タである。この場合、切換関数設定パラメ−タS1の設定値により、修正誤差WBs_eIgijの値0への収束速度および収束挙動が指定される。また、式(19)において、Urch1ijは到達則入力であり、Krch1は所定の到達則ゲインを表している。さらに、式(20)において、Unl1ijは非線形入力であり、Knl1は所定の非線形入力用ゲインを表している。また、式(20)におけるsgn(σ1ij(k))は符号関数であり、その値は、σ1ij(k)>0のときにはsgn(σ1ij(k))=1、σ1ij(k)=0のときにはsgn(σ1ij(k))=0、σ1ij(k)<0のときにはsgn(σ1ij(k))=−1となるように設定される(なお、σ1ij(k)=0のときに、sgn(σ1ij(k))=1となるように設定してもよい)。
さらに、式(21)において、Uadp1ijは適応則入力であり、Kadp1は所定の適応則ゲインを表している。また、式(21)のδ1ijは、式(22)により算出される切換関数の積分値である。同式(22)のγ1は忘却係数であり、その値は式(23),(24)に示すように、基本局所修正値の前回値DBs_Inj_bsij(k−1)と、所定の上下限値DBs_Inj_bsH,DBs_Inj_bsLとの比較結果により、値1または所定値γlmtに設定される。この所定値γlmtは、0<γlmt<1の関係が成立するように設定される。
また、式(25)に示すように、基本局所修正値DBs_Inj_bsijは、到達則入力Urch1ij、非線形入力Unl1ijおよび適応則入力Uadp1ijの和として算出される。
以上の基本局所修正値DBs_Inj_bsijの算出アルゴリズムにおいて、忘却係数γ1を用いたのは、以下の理由による。すなわち、式(8)〜(12)のスライディングモード制御アルゴリズムにより、実着火時期Cmbと目標着火時期Cmb_TRGTとの偏差である追従誤差Ecmbを値0に収束させるように、FB項Inj_FBが算出されるとともに、追従誤差EIg(=Inj_FB)に基づいて算出した修正誤差WBs_eIgijが値0に収束するように、式(18)〜(25)のスライディングモード制御アルゴリズムを適用した制御アルゴリズムにより、基本局所修正値DBs_Inj_bsijが算出される。そのため、忘却係数γ1を用いなかった場合、これらの2つの制御アルゴリズムにおける積分項としての適応則入力Uadp,Uadp1ijが、互いに干渉して振動的な挙動を示したり、それぞれの絶対値が肥大化したりすることによって、基本局所修正値DBs_Inj_bsijすなわちFF項Inj_FFの算出精度が低下することで、過渡時の制御性が低下してしまう可能性がある。
これに対して、前述した式(22)では、基本局所修正値の前回値DBs_Inj_bsij(k−1)の絶対値が大きい場合には、適応則入力Uadp1ijにおける切換関数の積分値δ1ijの増大を回避するために、0<γ1<1の範囲内の値に設定された忘却係数γ1が、切換関数の積分値の前回値δ1ij(k−1)に乗算されている。この場合、前述した式(22)を漸化式により展開すると、h(hは2以上の自然数)回前の制御タイミングでの切換関数の積分値δ1ij(k−h)に対しては、γ1h(≒0)が乗算されることになるので、演算処理が進行したときに、切換関数の積分値δ1ijの増大すなわち適応則入力Uadp1ijの増大を回避することができる。その結果、FF項Inj_FFの算出精度を向上させることができ、過渡時の制御性を向上させることができる。
また、忘却係数γ1を常に0<γ1<1の範囲内の値に設定した場合、修正誤差WBs_eIgijが値0近傍になったときに、忘却係数γ1による忘却効果により、基本局所修正値DBs_Inj_bsijが値0近傍に収束してしまうので、そのような状態で追従誤差EIgが再度増大すると、その追従誤差EIgを値0に収束させるのに時間を要してしまう。したがって、それを回避し、追従誤差EIgを迅速に値0に収束させるためには、修正誤差WBs_eIgijが比較的小さい値のときでも、基本局所修正値DBs_Inj_bsijを、修正誤差WBs_eIgijを補償可能な値に適切に保持しておく必要があるので、本実施形態では、基本局所修正値の前回値DBs_Inj_bsij(k−1)が上述した範囲にあるときには、忘却係数γ1による忘却効果をキャンセルするために、γ1=1に設定されている。
一方、前述した修正感度算出部115では、以下に述べる演算手法により、修正感度RInjが算出される。まず、エンジン回転数NEおよび要求トルクTRQに応じて、図13に示すマップを検索することにより、感度修正係数K_NTを算出する。このマップでは、感度修正係数K_NTは、エンジン回転数NEが高いほど、より大きい値に設定されている。これは、エンジン回転数NEが高いほど、前述した図7のマップにおける基本FF項Bs_Injとエンジン回転数NEとの間の関係が、実際の関係に対してずれやすくなり、追従誤差EIg(すなわちFB項Inj_FB)が発生しやすくなるので、それを補償するためである。
また、不活性ガス率RIEGRおよび要求トルクTRQに応じて、図14に示すマップを検索することにより、感度修正係数K_ETを算出する。このマップでは、感度修正係数K_ETは、不活性ガス率RIEGRが高いほど、より小さい値に設定されている。これは、不活性ガス率RIEGRが高いほど、燃焼温度がより低くなることで、前述した図7のマップにおける基本FF項Bs_Injと、エンジン回転数NEおよび要求トルクTRQとの間の相関関係が、実際の関係に対してずれにくくなり、追従誤差EIgが発生しにくくなるためである。
そして、最終的に、修正感度RInjが下式(26)により算出される。
以上の手法により、修正感度RInjは、追従誤差EIgに対する、エンジン回転数NE、不活性ガス率RIEGR、および要求トルクTRQの影響度合を表す値として算出される。
次に、最終値算出部116では、下式(27)により、局所修正値DBs_Inj_lc
ijを算出した後、下式(28)により、基本FF項用の第1修正値DBs_Injが最終的に算出される。
以上のように、基本FF項用の第1修正値算出部110では、基本FF項用の第1修正値DBs_Injが、基本局所修正値DBs_Inj_bsijに修正感度RInjおよび連結重み関数WBs_Injijを乗算した局所修正値DBs_Inj_lcijの総和として算出される。この場合、基本局所修正値DBs_Inj_bsijは、修正誤差WBs_eIgijを値0に収束させるための値であるので、基本FF項用の第1修正値DBs_Injは、追従誤差EIg(=Inj_FB)が値0に収束するように、基本FF項Bs_Injを修正するための値として算出される。言い換えれば、基本FF項用の第1修正値DBs_Injは、実着火時期Cmbが目標着火時期Cmb_TRGTに収束するように、基本FF項Bs_Injを修正するための値として算出される。
次に、図15を参照しながら、前述した基本FF項用の第2修正値算出部120について説明する。この基本FF項用の第2修正値算出部120では、以下に述べるように、FB項の絶対値|Inj_FB|と所定値FB_refとの大小関係に基づき、基本FF項用の第2修正値DBs_NVInjが異なる算出手法によって算出される。この所定値FB_refは、値0近傍の正値に設定されている。最初に、|Inj_FB|<FB_refが成立している場合の、基本FF項用の第2修正値DBs_NVInjの算出手法について説明する。
同図に示すように、基本FF項用の第2修正値算出部120は、減算器121、連結重み関数算出部122、修正誤差算出部123、基本局所修正値算出部124、修正感度算出部125および最終値算出部126を備えている。
まず、減算器121では、下式(29)によって、追従誤差ENVが算出される。
上式(29)のDP_TRGTは、筒内圧変化量DPの目標となる目標筒内圧変化量であり、燃焼時のノイズを抑制できるような、正の一定値に設定されている。なお、この目標筒内圧変化量DP_TRGTを、エンジン回転数NEおよび要求トルクTRQなどの運転状態に応じて、マップ検索により算出してもよく、燃焼時のノイズを抑制できるような値として算出すればよい。
また、連結重み関数算出部122では、エンジン回転数NEおよび要求トルクTRQに応じて、マップを検索することにより、連結重み関数WBs_NVInjijが算出される。この場合、連結重み関数WBs_NVInjij算出用のマップとしては、ここでは図示しないが、前述した図10のマップにおける縦軸の「連結重み関数WBs_Injij」を「連結重み関数WBs_NVInjij」に置き換えたものが用いられる。そのため、連結重み関数WBs_NVInjijは、I×J個の値を要素とする行列として算出される。
さらに、修正誤差算出部123では、下式(30)により、修正誤差WBs_eNV
ijが算出される。
このように、修正誤差WBs_eNVijは、I×J個の値を要素とする行列として算出されるとともに、追従誤差ENVを、連結重み関数WBs_NVInjijで重み付けした値として算出される。
また、基本局所修正値算出部124では、下式(31)〜(38)に示すスライディングモ−ド制御アルゴリズムを適用した制御アルゴリズムにより、基本局所修正値DBs_NVInj_bsijが算出される。すなわち、基本局所修正値DBs_NVInj_bsijは、修正誤差WBs_eNVijを値0に収束させるための、I×J個の値を要素とする行列として算出される。
上式(31)において、σ2ijは切換関数であり、S2は−1<S2<0の関係が成立するように設定される切換関数設定パラメ−タである。この場合、切換関数設定パラメ−タS2の設定値により、修正誤差WBs_eNVijの値0への収束速度および収束挙動が指定される。また、式(32)において、Urch2ijは到達則入力であり、Krch2は所定の到達則ゲインを表している。さらに、式(33)において、Unl2ijは非線形入力であり、Knl2は所定の非線形入力用ゲインを表している。また、式(33)におけるsgn(σ2ij(k))は符号関数であり、その値は、σ2ij(k)>0のときにはsgn(σ2ij(k))=1、σ2ij(k)=0のときにはsgn(σ2ij(k))=0、σ2ij(k)<0のときにはsgn(σ2ij(k))=−1となるように設定される(なお、σ2ij(k)=0のときに、sgn(σ2ij(k))=1となるように設定してもよい)。
さらに、式(34)において、Uadp2ijは適応則入力であり、Kadp2は所定の適応則ゲインを表している。また、式(34)のδ2ijは、式(35)により算出される切換関数の積分値である。同式(35)のγ2は忘却係数であり、その値は式(36),(37)に示すように、基本局所修正値の前回値DBs_NVInj_bsij(k−1)と、所定の上下限値DBs_NVInj_bsH,DBs_NVInj_bsLとの比較結果により、値1または所定値γlmtに設定される。このような忘却係数γ2を式(35)で用いた理由は後述する。
また、式(38)に示すように、基本局所修正値DBs_NVInj_bsijは、到達則入力Urch2ij、非線形入力Unl2ijおよび適応則入力Uadp2ijの和として算出される。
一方、前述した修正感度算出部125では、以下に述べる演算手法により、修正感度RNVInjが算出される。まず、エンジン回転数NEおよび要求トルクTRQに応じて、図16に示すマップを検索することにより、感度修正係数K_NVNTを算出する。このマップでは、感度修正係数K_NVNTは、エンジン回転数NEが高いほど、より大きい値に設定されている。これは、エンジン回転数NEが高いほど、前述した図7のマップにおける基本FF項Bs_Injとエンジン回転数NEとの間の関係が、実際の関係に対してずれやすくなり、追従誤差ENVが発生しやすくなるので、それを補償するためである。
また、不活性ガス率RIEGRおよび要求トルクTRQに応じて、図17に示すマップを検索することにより、感度修正係数K_NVETを算出する。このマップでは、感度修正係数K_NVETは、不活性ガス率RIEGRが高いほど、より小さい値に設定されている。これは、不活性ガス率RIEGRが高いほど、燃焼温度がより低くなることで、前述した図7のマップにおける基本FF項Bs_Injと、エンジン回転数NEおよび要求トルクTRQとの間の相関関係が、実際の関係に対してずれにくくなることで、追従誤差ENVが発生しにくくなるためである。
そして、最終的に、修正感度RNVInjが下式(39)により算出される。
以上の手法により、修正感度RNVInjは、追従誤差ENVに対する、エンジン回転数NE、不活性ガス率RIEGR、および要求トルクTRQの影響度合を表す値として算出される。
次に、最終値算出部126では、まず、下式(40)により、局所修正値DBs_NVInj_lc
ijを算出した後、下式(41)により、基本FF項用の第2修正値DBs_NVInjが最終的に算出される。
上式(41)に示すように、基本FF項用の第2修正値DBs_NVInjは、|Inj_FB|<FB_refが成立しているとき、すなわち実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているときには、局所修正値DBs_NVInj_lcijの和として算出される。
これは、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているにもかかわらず、追従誤差ENVが発生しているとき(すなわち、筒内圧変化量DPが目標変化量DP_TRGTに対して離間しているとき)には、この追従誤差ENVを値0に収束させるように、基本FF項用の第2修正値DBs_NVInjによって、基本FF項Bs_Injを修正するためである。
一方、|Inj_FB|≧FB_refが成立しているときには、基本FF項用の第2修正値算出部120において、以上の各種の演算値がすべてその前回値に保持され、それにより、基本FF項用の第2修正値DBs_NVInjは、下式(42)によって算出される。
上式(42)に示すように、|Inj_FB|≧FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGTに対して離間しているときには、実着火時期Cmbを目標着火時期Cmb_TRGTに迅速に収束させるべく、基本FF項用の第1修正値DBs_Injによってのみ、基本FF項Bs_Injを修正するために、基本FF項用の第2修正値DBs_NVInjがその前回値に保持される。
ここで、忘却係数γ2を式(35)で用いなかった場合、すなわちγ2=1とした場合、|Inj_FB|≧FB_refの状態から|Inj_FB|<FB_refの状態に変化した時点で、適応則入力Uadp2ijの絶対値が肥大化していると、適応則入力Uadp2ijの絶対値が減少するまでの間、基本FF項用の第2修正値DBs_NVInjの算出精度が一時的に低下することによって、燃焼時のノイズを適切に抑制できなくなるおそれがある。
これに対して、前述した式(35)では、忘却係数γ2が用いられているので、前述した忘却係数γ1の説明で述べたのと同じ理由により、演算処理が進行したときでも、切換関数の積分値δ2ijの増大すなわち適応則入力Uadp2ijの増大を回避することができる。その結果、基本FF項用の第2修正値DBs_NVInjの算出精度を向上させることができ、燃焼時のノイズを適切に抑制することができる。
次に、図18を参照しながら、前述したFF項補正値用の第1修正値算出部130について説明する。このFF項補正値用の第1修正値算出部130は、以下に述べる制御手法によって、FF項補正値用の第1修正値DIEGR_Injを算出するものであり、同図に示すように、減算器131、連結重み関数算出部132、修正誤差算出部133、基本局所修正値算出部134、修正感度算出部135および最終値算出部136を備えている。
まず、減算器131では、下式(43)によって、追従誤差EIgが算出される。
また、連結重み関数算出部132では、エンジン回転数NEおよび要求トルクTRQに応じて、マップを検索することにより、連結重み関数WIEGR_Injijが算出される。この場合、連結重み関数WIEGR_Injij算出用のマップとしては、ここでは図示しないが、前述した図10のマップの縦軸の「連結重み関数WBs_Injij」を「連結重み関数WIEGR_Injij」に置き換えたものが用いられる。そのため、連結重み関数WIEGR_Injijは、I×J個の値を要素とする行列として算出される。
さらに、修正誤差算出部133では、下式(44)により、修正誤差WIEGR_eIg
ijが算出される。
このように、修正誤差WIEGR_eIgijは、I×J個の値を要素とする行列として算出されるとともに、追従誤差EIgを、連結重み関数WIEGR_Injijで重み付けした値として算出される。
また、基本局所修正値算出部134では、下式(45)〜(52)に示すスライディングモ−ド制御アルゴリズムを適用した制御アルゴリズムにより、基本局所修正値DIEGR_Inj_bsijが算出される。すなわち、基本局所修正値DIEGR_Inj_bsijは、修正誤差WIEGR_eIgijを値0に収束させるための、I×J個の値を要素とする行列として算出される。
上式(45)において、σ3ijは切換関数であり、S3は−1<S3<0の関係が成立するように設定される切換関数設定パラメ−タである。この場合、切換関数設定パラメ−タS3の設定値により、修正誤差WIEGR_eIgijの値0への収束速度および収束挙動が指定される。また、式(46)において、Urch3ijは到達則入力であり、Krch3は所定の到達則ゲインを表している。さらに、式(47)において、Unl3ijは非線形入力であり、Knl3は所定の非線形入力用ゲインを表している。また、式(47)におけるsgn(σ3ij(k))は符号関数であり、その値は、σ3ij(k)>0のときにはsgn(σ3ij(k))=1、σ3ij(k)=0のときにはsgn(σ3ij(k))=0、σ3ij(k)<0のときにはsgn(σ3ij(k))=−1となるように設定される(なお、σ3ij(k)=0のときに、sgn(σ3ij(k))=1となるように設定してもよい)。
さらに、式(48)において、Uadp3ijは適応則入力であり、Kadp3は所定の適応則ゲインを表している。また、式(48)のδ3ijは、式(49)により算出される切換関数の積分値である。同式(49)のγ3は忘却係数であり、その値は式(50),(51)に示すように、基本局所修正値の前回値DIEGR_Inj_bsij(k−1)と、所定の上下限値DIEGR_Inj_bsH,DIEGR_Inj_bsLとの比較結果により、値1または所定値γlmtに設定される。この忘却係数γ3を用いた理由は、前述した忘却係数γ1を用いた理由と同じである。
また、式(52)に示すように、基本局所修正値DIEGR_Inj_bsijは、到達則入力Urch3ij、非線形入力Unl3ijおよび適応則入力Uadp3ijの和として算出される。
さらに、前述した修正感度算出部135では、前述した修正感度算出部115と同じ手法により、修正感度RInjが算出される。すなわち、エンジン回転数NEおよび要求トルクTRQに応じて、図13に示すマップを検索することにより、感度修正係数K_NTを算出し、不活性ガス率RIEGRおよび要求トルクTRQに応じて、図14に示すマップを検索することにより、感度修正係数K_ETを算出するとともに、2つの感度修正係数K_NT,K_ETを互いに乗算することにより、修正感度RInjが算出される。
そして、最終値算出部136では、下式(53)により、局所修正値DIEGR_Inj_lc
ijを算出した後、下式(54)により、FF項補正値用の第1修正値DIEGR_Injが最終的に算出される。
以上のように、FF項補正値用の第1修正値算出部130では、FF項補正値用の第1修正値DIEGR_Injが、基本局所修正値DIEGR_Inj_bsijに修正感度RInjおよび連結重み関数WIEGR_Injijを乗算した局所修正値DIEGR_Inj_lcijの総和として算出される。この場合、基本局所修正値DIEGR_Inj_bsijは、修正誤差WIEGR_eIgijを値0に収束させるための値であるので、FF項補正値用の第1修正値DIEGR_Injは、追従誤差EIgすなわちFB項Inj_FBが値0に収束するように、基本FF項IEGR_Injを修正するための値として算出される。言い換えれば、FF項補正値用の第1修正値DIEGR_Injは、実着火時期Cmbが目標着火時期Cmb_TRGTに収束するように、基本FF項IEGR_Injを修正するための値として算出される。
次に、図19を参照しながら、前述したFF項補正値用の第2修正値算出部140について説明する。このFF項補正値用の第2修正値算出部140では、以下に述べるように、FB項の絶対値|Inj_FB|と所定値FB_refとの大小関係に基づき、FF項補正値用の第2修正値DIEGR_NVInjが異なる算出手法によって算出される。最初に、|Inj_FB|<FB_refが成立しているとき、すなわち、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているときの、FF項補正値用の第2修正値DIEGR_NVInjの算出手法について説明する。
同図に示すように、FF項補正値用の第2修正値算出部140は、減算器141、連結重み関数算出部142、修正誤差算出部143、基本局所修正値算出部144、修正感度算出部145および最終値算出部146を備えている。
まず、減算器141では、下式(55)によって、追従誤差ENVが算出される。
また、連結重み関数算出部142では、エンジン回転数NEおよび要求トルクTRQに応じて、マップを検索することにより、連結重み関数WIEGR_NVInjijが算出される。この場合、連結重み関数WIEGR_NVInjij算出用のマップとしては、ここでは図示しないが、前述した図10のマップの縦軸の「連結重み関数WBs_Injij」を「連結重み関数WIEGR_NVInjij」に置き換えたものが用いられる。そのため、連結重み関数WIEGR_NVInjijは、I×J個の値を要素とする行列として算出される。
さらに、修正誤差算出部143では、下式(56)により、修正誤差WIEGR_eNV
ijが算出される。
このように、修正誤差WIEGR_eNVijは、I×J個の値を要素とする行列として算出されるとともに、追従誤差ENVを、連結重み関数WIEGR_NVInjijで重み付けした値として算出される。
また、基本局所修正値算出部144では、下式(57)〜(64)に示すスライディングモ−ド制御アルゴリズムを適用した制御アルゴリズムにより、基本局所修正値DIEGR_NVInj_bsijが算出される。すなわち、基本局所修正値DIEGR_NVInj_bsijは、修正誤差WIEGR_eNVijを値0に収束させるための、I×J個の値を要素とする行列として算出される。
上式(57)において、σ4ijは切換関数であり、S4は−1<S4<0の関係が成立するように設定される切換関数設定パラメ−タである。この場合、切換関数設定パラメ−タS4の設定値により、修正誤差WIEGR_eNVijの値0への収束速度および収束挙動が指定される。また、式(58)において、Urch4ijは到達則入力であり、Krch4は所定の到達則ゲインを表している。さらに、式(59)において、Unl4ijは非線形入力であり、Knl4は所定の非線形入力用ゲインを表している。また、式(59)におけるsgn(σ4ij(k))は符号関数であり、その値は、σ4ij(k)>0のときにはsgn(σ4ij(k))=1、σ4ij(k)=0のときにはsgn(σ4ij(k))=0、σ4ij(k)<0のときにはsgn(σ4ij(k))=−1となるように設定される(なお、σ4ij(k)=0のときに、sgn(σ4ij(k))=1となるように設定してもよい)。
さらに、式(60)において、Uadp4ijは適応則入力であり、Kadp4は所定の適応則ゲインを表している。また、式(60)のδ4ijは、式(61)により算出される切換関数の積分値である。同式(61)のγ4は忘却係数であり、その値は式(62),(63)に示すように、基本局所修正値の前回値DIEGR_NVInj_bsij(k−1)と、所定の上下限値DIEGR_NVInj_bsH,DIEGR_NVInj_bsLとの比較結果により、値1または所定値γlmtに設定される。この忘却係数γ4を用いた理由は、前述した忘却係数γ2を用いた理由と同じである。
また、式(64)に示すように、基本局所修正値DIEGR_NVInj_bsijは、到達則入力Urch4ij、非線形入力Unl4ijおよび適応則入力Uadp4ijの和として算出される。
一方、前述した修正感度算出部145では、前述した修正感度算出部125と同じ演算手法により、修正感度RNVInjが算出される。すなわち、エンジン回転数NEおよび要求トルクTRQに応じて、前述した図16のマップを検索することにより、感度修正係数K_NVNTを算出し、不活性ガス率RIEGRおよび要求トルクTRQに応じて、前述した図17のマップを検索することにより、感度修正係数K_NVETを算出するとともに、2つの修正係数K_NVNT,K_NVETを互いに乗算することにより、修正感度RNVInjが算出される。
そして、最終値算出部146では、まず、下式(65)により、局所修正値DIEGR_NVInj_lc
ijを算出した後、下式(66)により、FF項補正値用の第2修正値DIEGR_NVInjが最終的に算出される。
上式(66)に示すように、FF項補正値用の第2修正値DIEGR_NVInjは、|Inj_FB|<FB_refが成立しているとき、すなわち実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているときには、局所修正値DIEGR_NVInj_lcijの和として算出される。これは、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているにもかかわらず、追従誤差ENVが発生し、筒内圧変化量DPが目標変化量DP_TRGTに対して離間しているときには、この追従誤差ENVを値0に収束させるべく、FF項補正値用の第2修正値DIEGR_NVInjによって、FF項補正値IEGR_Injを修正するためである。
一方、|Inj_FB|≧FB_refが成立しているときには、FF項補正値用の第2修正値算出部140において、以上の各種の演算値がすべてその前回値に保持され、それにより、FF項補正値用の第2修正値DIEGR_NVInjは、下式(67)によって算出される。
上式(67)に示すように、|Inj_FB|≧FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGTに対して離間しているときには、実着火時期Cmbを目標着火時期Cmb_TRGTに迅速に収束させるべく、基本FF項IEGR_InjをFF項補正値用の第1修正値DIEGR_Injによってのみ修正するために、FF項補正値用の第2修正値DIEGR_NVInjがその前回値に保持される。
以上のように、噴射時期コントローラ30では、目標噴射時期Inj_TRGTが算出され、それにより、この目標噴射時期Inj_TRGTに応じて、燃料が燃料噴射弁4から気筒3a内の燃焼室に噴射される。
次に、図20を参照しながら、以上のように構成された第1実施形態の燃料噴射制御装置1による噴射時期制御を実行したときの制御結果について説明する。なお、この制御結果は、エンジン3が定常運転状態にあるときのものであり、図中のNOx濃度は、排ガス中のNOx濃度を表している。また、図中の時刻t1以前の各データは、噴射時期制御が実行されていない状態でのデータを表している。また、図中の2つの第1修正値DBs_Inj,DIEGR_Injはいずれも、忘却係数が値1となる条件が成立した状態での算出結果を表している。
同図に示すように、時刻t1で、噴射時期制御が開始されると、実着火時期Cmbが目標着火時期Cmb_TRGTに対して離間していることで、FB項Inj_FB(すなわち追従誤差EIg)が、追従誤差Ecmbを値0に収束させるように算出される。それにより、FB項Inj_FBは、時刻t2まで増大し、それに伴って、目標噴射時期Inj_TRGTが進角側に変化し、実着火時期Cmbが目標着火時期Cmb_TRGTに向かって変化する。これに加えて、筒内圧変化量DPが目標変化量DP_TRGTに向かって変化するとともに、排ガス中のNOx濃度が低下する。
その後、時刻t2で、実着火時期Cmbが目標着火時期Cmb_TRGTに収束し、Ecmb=0が成立すると、それ以降、FB項Inj_FBが一定値に保持される。そして、演算の進行に伴って、時刻t3以降、2つの第1修正値の和DBs_Inj+DIEGR_Injが増大すると、FB項Inj_FBが値0に向かって変化するとともに、FF項Inj_FFが増大する。そして、Inj_FB=EIg=0が成立した時点(時刻t4)以降は、Inj_FF=Inj_TRGTとなる。
なお、図20は、|Inj_FB(k)|<FB_refが成立したタイミングで、追従誤差ENV=0が成立している場合の制御結果例であるが、|Inj_FB(k)|<FB_refが成立したタイミングで、追従誤差ENVが生じている場合には、これを値0に収束させるように、前述した2つの第2修正値DBs_NVInj,DIEGR_NVInjが算出される。
以上のように、第1実施形態の燃料噴射制御装置1によれば、FB項Inj_FBが、実着火時期Cmbを目標着火時期Cmb_TRGTに収束させるように、式(8)〜(12)のスライディングモード制御アルゴリズムを用いて算出される。また、基本FF項Bs_Injを、2つの修正値DBs_Inj,DBs_NVInjで修正することにより、修正後基本FF項ModBs_Injが算出され、FF項補正値IEGR_Injを、2つの修正値DIEGR_Inj,DIEGR_NVInjで修正することにより、修正後FF項補正値ModIEGR_Injが算出されるとともに、修正後基本FF項ModBs_Injを、修正後FF項補正値ModIEGR_Injで補正することにより、FF項Inj_FFが算出される。そして、FF項Inj_FFにFB項Inj_FBを加算することにより、目標噴射時期Inj_TRGTが算出され、噴射時期が目標噴射時期Inj_TRGTになるように制御される。
基本FF項Bs_Injは、図7のマップを検索することにより算出されるので、クランク角センサ20およびアクセル開度センサ26の検出結果の信頼性の低下などに起因して、図7におけるエンジン回転数NEおよび要求トルクTRQと、基本FF項Bs_Injとの関係が、実際の関係に対してずれを生じている場合には、実着火時期Cmbと目標着火時期Cmb_TRGTとの間の誤差すなわち追従誤差Ecmbが発生し、この追従誤差Ecmbを補償するために、FB項Inj_FBが算出されることで、追従誤差EIgが発生する。このFB項Inj_FBは、スライディングモード制御アルゴリズムで算出される関係上、追従誤差EIgが値0まで収束するのに時間を要してしまい、実着火時期Cmbが目標着火時期Cmb_TRGTになるまでに時間を要してしまう。
これに対して、基本FF項用の第1修正値DBs_Injは、追従誤差EIgが値0になるように算出され、これを用いて基本FF項Bs_Injを修正することにより、修正後基本FF項ModBs_Injが算出される。そのため、2つのセンサ20,26の検出結果の信頼性の低下や、エンジン3の動特性変化などに起因して、図7におけるエンジン回転数NEおよび要求トルクTRQと、基本FF項Bs_Injとの関係が、実際の関係に対してずれていることで、追従誤差Ecmbすなわち追従誤差EIgが一時的に増大するような場合でも、修正後基本FF項ModBs_Injを用いて算出したFF項Inj_FFによって、追従誤差EIgすなわち追従誤差Ecmbを適切かつ迅速に補償することができる。
これと同様に、FF項補正値IEGR_Injの場合も、各種のセンサ20〜22,24〜26の検出結果の信頼性の低下などに起因して、図8における不活性ガス率RIEGRおよび要求トルクTRQと、FF項補正値IEGR_Injとの関係が、実際の関係に対してずれを生じることがある。これに対して、FF項補正値用の第1修正値DIEGR_Injは、追従誤差EIgが値0になるように算出され、これを用いてFF項補正値IEGR_Injを修正することにより、修正後FF項補正値ModIEGR_Injが算出されるとともに、この修正後FF項補正値ModIEGR_Injで修正後基本FF項ModBs_Injを補正することにより、FF項Inj_FFが算出されるので、このFF項Inj_FFによる追従誤差EIgの補償精度を向上させることができる。以上により、燃料噴射時期制御処理において、高レベルの制御精度を確保できる。
さらに、基本FF項用の第2修正値DBs_NVInjおよびFF項補正値用の第2修正値DIEGR_NVInjはいずれも、|Inj_FB|<FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束している場合において、筒内圧変化量DPが目標変化量DP_TRGTに対して離間し、追従誤差ENVが発生しているときに、この追従誤差ENVを値0に収束させるように算出されるので、筒内圧変化量DPが目標変化量DP_TRGTに迅速に収束させることができ、燃焼時のノイズを迅速に低減することができる。その結果、商品性を向上させることができる。
また、本実施形態のエンジン3のように、低温予混合燃焼で運転可能なエンジンの場合、安定した燃焼状態およびノイズの抑制を実現する上で、気筒3a内における不活性ガス量と新気量との割合が極めて重要な要素となる。これに対して、FF項Inj_FFを算出する際、FF項補正値IEGR_Injと4つの修正値DBs_Inj,DBs_NVInj,DIEGR_Inj,DIEGR_NVInjが不活性ガス率RIEGRを用いて算出されるので、エンジン3を低温予混合燃焼で運転する際、安定した燃焼状態およびノイズの抑制を実現することができる。
なお、第1実施形態は、FF項算出手段としてFF項算出部100を用いた例であるが、本発明のFF項算出手段はこれに限らず、実着火時期をフィードフォワード制御するためのFF項を、モデル修正手段によって修正されたFF項モデルを用いて算出するものであればよい。例えば、FF項算出手段として、第1実施形態のFF項算出部100において、4つの算出部102,120,130,140を省略したものや、2つの算出部120,140を省略したものを用いてもよい。
また、第1実施形態は、誤差パラメータとして、追従誤差EIgを用いた例であるが、本発明の誤差パラメータはこれに限らず、実着火時期と目標着火時期との間の誤差を表すものであればよい。例えば、誤差パラメータとして、追従誤差Ecmbを用いてもよい。その場合には、所定の第1目標値を値0に設定するとともに、前述した式(17)における追従誤差EIgを、追従誤差Ecmbに置き換えればよい。このように構成した場合でも、第1実施形態と同じ作用効果を得ることができる。さらに、誤差パラメータとして、実着火時期Cmbおよび目標着火時期Cmb_TRGTの一方と他方の比、すなわちCmb/Cmb_TRGTまたはCmb_TRGT/Cmbを用いてもよい。その場合には、所定の第1目標値を値1に設定するとともに、前述した式(17)における追従誤差EIgを、[1−(Cmb/Cmb_TRGT)]、[(Cmb/Cmb_TRGT)−1]、[1−(Cmb_TRGT/Cmb)]および[(Cmb_TRG/CmbT)−1]のいずれかに置き換えればよい。このように構成した場合でも、第1実施形態と同じ作用効果を得ることができる。
さらに、第1実施形態は、所定の第1目標値として値0を用いた例であるが、本発明の所定の第1目標値はこれに限らず、誤差パラメータが所定の第1目標値となるように、修正値を算出したときに、実着火時期と目標着火時期との間の誤差を解消することができるものであればよい。例えば、所定の第1目標値として、その絶対値が値0付近となる値を用いてもよい。
また、第1実施形態は、FB項Inj_FBを算出するための所定のフィードバック制御手法として、前述した式(8)〜(12)のスライディングモード制御手法を用いた例であるが、本発明の所定のフィードバック制御手法はこれに限らず、実着火時期Cmbが目標着火時期Cmb_TRGTになるように、FB項Inj_FBを算出できるものであればよい。例えば、所定のフィードバック制御手法として、スライディングモード制御手法以外の応答指定型制御アルゴリズム(切換関数における独立変数の乗算係数の値を変更することによって、この独立変数の値0への収束速度および収束挙動を、所望の状態に指定することができる制御アルゴリズム)を適用した制御手法や、PID制御アルゴリズムなどの一般的なフィードバック制御アルゴリズムを適用した制御手法を用いてもよい。
一方、第1実施形態は、所定の第1制御手法として、式(16)〜(28),(43)〜(54)に示すスライディングモード制御アルゴリズムを適用したフィードバック制御手法を用いた例であるが、本発明の所定の第1制御手法はこれに限らず、誤差パラメータが所定の第1目標値になるように、修正値を算出できるものであればよい。例えば、所定の第1制御手法として、スライディングモード制御手法以外の応答指定型制御アルゴリズム(切換関数における独立変数の乗算係数の値を変更することによって、この独立変数の値0への収束速度および収束挙動を、所望の状態に指定することができる制御アルゴリズム)を適用したフィードバック制御手法や、PID制御アルゴリズムなどの一般的なフィードバック制御アルゴリズムを用いてもよい。
また、第1実施形態は、所定の第2制御手法として、式(29)〜(41),(55)〜(66)に示すスライディングモード制御アルゴリズムを適用したフィードバック制御手法を用いた例であるが、本発明の所定の第2制御手法はこれに限らず、筒内圧パラメータが所定の第2目標値になるように、基本FF項モデル用の第2修正値およびFF項補正値モデル用の第2修正値を算出できるものであればよい。例えば、所定の第2制御手法として、スライディングモード制御手法以外の応答指定型制御アルゴリズム(切換関数における独立変数の乗算係数の値を変更することによって、この独立変数の値0への収束速度および収束挙動を、所望の状態に指定することができる制御アルゴリズム)を適用したフィードバック制御手法や、PID制御アルゴリズムなどの一般的なフィードバック制御アルゴリズムを用いてもよい。
さらに、第1実施形態は、所定の第3制御手法として、式(71)〜(83)に示すスライディングモード制御アルゴリズムを適用したフィードバック制御手法を用いた例であるが、本発明の所定の第3制御手法はこれに限らず、筒内圧パラメータが所定の第2目標値になるように、基本着火時期モデル用の修正値を算出できるものであればよい。例えば、所定の第3制御手法として、スライディングモード制御手法以外の応答指定型制御アルゴリズム(切換関数における独立変数の乗算係数の値を変更することによって、この独立変数の値0への収束速度および収束挙動を、所望の状態に指定することができる制御アルゴリズム)を適用したフィードバック制御手法や、PID制御アルゴリズムなどの一般的なフィードバック制御アルゴリズムを用いてもよい。
これに加えて、第1実施形態は、所定の第4制御手法として、式(85)〜(96)に示すスライディングモード制御アルゴリズムを適用したフィードバック制御手法を用いた例であるが、本発明の所定の第4制御手法はこれに限らず、筒内圧パラメータが所定の第2目標値になるように、着火時期補正値モデル用の修正値を算出できるものであればよい。例えば、所定の第4制御手法として、スライディングモード制御手法以外の応答指定型制御アルゴリズム(切換関数における独立変数の乗算係数の値を変更することによって、この独立変数の値0への収束速度および収束挙動を、所望の状態に指定することができる制御アルゴリズム)を適用したフィードバック制御手法や、PID制御アルゴリズムなどの一般的なフィードバック制御アルゴリズムを用いてもよい。
一方、第1実施形態は、筒内ガス状態パラメータとして、不活性ガス率RIEGRを用いた例であるが、本発明の筒内ガス状態パラメータはこれに限らず、筒内ガスの状態を表すものであればよい。例えば、筒内ガス状態パラメータとして、筒内ガス温度を用いてもよい。
また、第1実施形態は、気筒内における不活性ガス量と新気量との割合を表す値として、不活性ガス率RIEGRを用いた例であるが、これに代えて、値(1−RIEGR)を用いてもよい。
さらに、第1実施形態は、筒内圧パラメータとして、筒内圧変化量DPを用いた例であるが、本発明の筒内圧パラメータはこれに限らず、気筒内の圧力状態を表すものであればよい。
一方、第1実施形態は、運転状態パラメータとして、エンジン回転数NE、要求トルクTRQおよび不活性ガス率RIEGRを用いた例であるが、本発明の運転状態パラメータはこれに限らず、内燃機関の運転状態を表すものであればよい。例えば、運転状態パラメータとして、アクセル開度APや新気流量Qinなどを用いてもよい。
また、第1実施形態は、|Inj_FB|≧FB_refが成立しているときに、2つの修正値算出部120,140において、演算値をその前回値に保持した例であるが、これに代えて、追従誤差Ecmbの絶対値|Ecmb|が所定値Ecmb_ref以上のときに、演算値をその前回値に保持するように構成してもよく、その場合には、所定値Ecmb_refは、値0近傍の正値に設定すればよい。
以下、図21を参照しながら、本発明の第2実施形態に係る燃料噴射制御装置1Aについて説明する。なお、以下の説明では、第1実施形態と同じ構成に関しては、同じ符号を付すとともに、その説明は省略する。この燃料噴射制御装置1Aは、噴射時期コントローラ30Aを備えている。この噴射時期コントローラ30Aは、前述した噴射時期コントローラ30と同様に、目標噴射時期Inj_TRGTを算出するものであり、具体的には、ECU2により構成されている。
なお、本実施形態では、ECU2が、実着火時期検出手段、目標着火時期算出手段、誤差パラメータ算出手段、FF項算出手段、FB項算出手段、目標噴射時期算出手段、制御手段、モデル修正手段、筒内圧パラメータ検出手段、第2モデル修正手段、他のモデル修正手段、基本着火時期算出手段、着火時期補正値算出手段、基本着火時期モデル修正手段、および着火時期補正値モデル修正手段に相当し、噴射時期コントローラ30Aが目標噴射時期算出手段に相当する。
同図に示すように、この噴射時期コントローラ30Aは、前述した図2の噴射時期コントローラ30と比較すると、目標着火時期算出部160およびFF項算出部200が異なっている点以外は、噴射時期コントローラ30と同様に構成されているので、以下、これらの目標着火時期算出部160およびFF項算出部200を中心に説明する。
まず、図22を参照しながら、目標着火時期算出部160について説明する。なお、本実施形態では、目標着火時期算出部160が目標着火時期算出手段に相当する。同図に示すように、この目標着火時期算出部160は、基本着火時期算出部161、着火時期補正値算出部162、基本着火時期用の修正値算出部170、着火時期補正値用の修正値算出部180および3つの加算器163〜165を備えている。
この基本着火時期算出部161では、前述した基本着火時期算出部61と同一の制御手法によって、基本着火時期Bs_cmbが算出される。また、基本着火時期用の修正値算出部170では、後述する制御手法によって、基本着火時期用の修正値DBs_cmbが算出される。
そして、加算器163において、下式(68)により、修正後基本着火時期ModBs_cmbが算出される。
なお、本実施形態では、基本着火時期算出部161が基本着火時期算出手段に、基本着火時期用の修正値算出部170が基本着火時期モデル修正手段に、基本着火時期用の修正値DBs_cmbが基本着火時期モデル用の修正値にそれぞれ相当する。
一方、着火時期補正値算出部162では、前述した着火時期補正値算出部62と同一の制御手法によって、着火時期補正値IEGR_cmbが算出される。さらに、着火時期補正値用の修正値算出部180では、後述する制御手法によって、着火時期補正値用の修正値DIEGR_cmbが算出される。
そして、加算器164において、下式(69)により、修正後着火時期補正値ModIEGR_cmbが算出される。
さらに、最終的に、加算器165において、下式(70)により、目標着火時期Cmb_TRGTが算出される。
なお、本実施形態では、着火時期補正値算出部162が着火時期補正値算出手段に、着火時期補正値用の修正値算出部180が着火時期補正値モデル修正手段に、着火時期補正値用の修正値DIEGR_cmbが着火時期補正値モデル用の修正値にそれぞれ相当する。
以上のように、目標着火時期算出部160では、目標着火時期Cmb_TRGTが、修正後基本着火時期ModBs_cmbを修正後着火時期補正値ModIEGR_cmbで補正することによって算出される。
次に、図23を参照しながら、前述した基本着火時期用の修正値算出部170について説明する。この基本着火時期用の修正値算出部170では、以下に述べるように、FB項の絶対値|Inj_FB|と所定値FB_refとの大小関係に基づき、基本着火時期用の修正値DBs_cmが異なる算出手法によって算出される。最初に、|Inj_FB|<FB_refが成立している場合の、基本着火時期用の修正値DBs_cmの算出手法について説明する。
同図に示すように、基本着火時期用の修正値算出部170は、減算器171、連結重み関数算出部172、修正誤差算出部173、基本局所修正値算出部174、修正感度算出部175および最終値算出部176を備えている。
まず、減算器171では、下式(71)によって、追従誤差ENVが算出される。
また、連結重み関数算出部172では、エンジン回転数NEおよび要求トルクTRQに応じて、マップを検索することにより、連結重み関数WBs_cmbijが算出される。この場合、連結重み関数WBs_cmbij算出用のマップとしては、ここでは図示しないが、前述した図10のマップにおける縦軸の「連結重み関数WBs_Injij」を「連結重み関数WBs_cmbij」に置き換えたものが用いられる。そのため、連結重み関数WBs_cmbijは、I×J個の値を要素とする行列として算出される。
さらに、修正誤差算出部173では、下式(72)により、修正誤差WBs_ecmb
ijが算出される。
このように、修正誤差WBs_ecmbijは、I×J個の値を要素とする行列として算出されるとともに、追従誤差ENVを、連結重み関数WBs_cmbijで重み付けした値として算出される。
また、基本局所修正値算出部174では、下式(73)〜(80)に示すスライディングモ−ド制御アルゴリズムを適用した制御アルゴリズムにより、基本局所修正値DBs_cmb_bsijが算出される。すなわち、基本局所修正値DBs_cmb_bsijは、修正誤差WBs_ecmbijを値0に収束させるための、I×J個の値を要素とする行列として算出される。
上式(73)において、σ5ijは切換関数であり、S5は−1<S5<0の関係が成立するように設定される切換関数設定パラメ−タである。この場合、切換関数設定パラメ−タS5の設定値により、修正誤差WBs_ecmbijの値0への収束速度および収束挙動が指定される。また、式(74)において、Urch5ijは到達則入力であり、Krch5は所定の到達則ゲインを表している。さらに、式(75)において、Unl5ijは非線形入力であり、Knl5は所定の非線形入力用ゲインを表している。また、式(75)におけるsgn(σ5ij(k))は符号関数であり、その値は、σ5ij(k)>0のときにはsgn(σ5ij(k))=1、σ5ij(k)=0のときにはsgn(σ5ij(k))=0、σ5ij(k)<0のときにはsgn(σ5ij(k))=−1となるように設定される(なお、σ5ij(k)=0のときに、sgn(σ5ij(k))=1となるように設定してもよい)。
さらに、式(76)において、Uadp5ijは適応則入力であり、Kadp5は所定の適応則ゲインを表している。また、式(76)のδ5ijは、式(77)により算出される切換関数の積分値である。同式(77)のγ5は忘却係数であり、その値は式(78),(79)に示すように、基本局所修正値の前回値DBs_cmb_bsij(k−1)と、所定の上下限値DBs_cmb_bsH,DBs_cmb_bsLとの比較結果により、値1または所定値γlmtに設定される。このような忘却係数γ5を式(77)で用いた理由は後述する。
また、式(80)に示すように、基本局所修正値DBs_cmb_bsijは、到達則入力Urch5ij、非線形入力Unl5ijおよび適応則入力Uadp5ijの和として算出される。
一方、前述した修正感度算出部175では、以下に述べる演算手法により、修正感度Rcmbが算出される。まず、エンジン回転数NEおよび要求トルクTRQに応じて、図24に示すマップを検索することにより、感度修正係数K_cmbNTを算出する。このマップでは、感度修正係数K_cmbNTは、エンジン回転数NEが高いほど、より大きい値に設定されている。これは、エンジン回転数NEが高いほど、前述した図4のマップにおける基本着火時期Bs_cmbとエンジン回転数NEとの間の関係が、実際の関係に対してずれやすくなり、追従誤差ENVが発生しやすくなるので、それを補償するためである。
また、不活性ガス率RIEGRおよび要求トルクTRQに応じて、図25に示すマップを検索することにより、感度修正係数K_cmbETを算出する。このマップでは、感度修正係数K_cmbETは、不活性ガス率RIEGRが高いほど、より小さい値に設定されている。これは、不活性ガス率RIEGRが高いほど、燃焼温度がより低くなることで、前述した図4のマップにおける基本着火時期Bs_cmbと、エンジン回転数NEおよび要求トルクTRQとの間の相関関係が、実際の関係に対してずれにくくなり、追従誤差ENVが発生しにくくなるためである。
そして、最終的に、修正感度Rcmbが下式(81)により算出される。
以上の手法により、修正感度Rcmbは、追従誤差ENVに対する、エンジン回転数NE、不活性ガス率RIEGR、および要求トルクTRQの影響度合を表す値として算出される。
次に、最終値算出部176では、まず、下式(82)により、局所修正値DBs_cmb_lc
ijを算出した後、下式(83)により、基本着火時期用の修正値DBs_cmbが最終的に算出される。
上式(83)に示すように、基本着火時期用の修正値DBs_cmbは、|Inj_FB|<FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているときには、局所修正値DBs_cmb_lcijの和として算出される。これは、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているにもかかわらず、追従誤差ENVが発生しているとき(すなわち、筒内圧変化量DPが目標変化量DP_TRGTに対して離間しているとき)には、この追従誤差ENVを値0に収束させるように、基本着火時期用の修正値DBs_cmbによって、基本着火時期Bs_cmbを修正するためである。
一方、|Inj_FB|≧FB_refが成立しているときには、基本着火時期用の修正値算出部170において、以上の各種の演算値がすべてその前回値に保持され、それにより、基本着火時期用の修正値DBs_cmは、下式(84)によって算出される。
上式(84)に示すように、|Inj_FB|≧FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGTに対して離間しているときには、実着火時期Cmbを目標着火時期Cmb_TRGTに迅速に収束させるために、基本着火時期用の修正値DBs_cmbがその前回値に保持される。
この場合、忘却係数γ5を式(77)で使用しないと(すなわちγ5=1とすると)、|Inj_FB|≧FB_refの状態から|Inj_FB|<FB_refの状態に変化した時点で、適応則入力Uadp5ijの絶対値が肥大化しているおそれがあり、その場合には、適応則入力Uadp5ijの絶対値が減少するまでの間、基本着火時期用の修正値DBs_cmbの算出精度が一時的に低下することによって、燃焼時のノイズが一時的に増大してしまうおそれがある。
これに対して、前述した式(77)では、忘却係数γ5が用いられているので、前述した忘却係数γ1の説明で述べたのと同じ理由により、演算処理が進行したときでも、切換関数の積分値δ5ijの増大すなわち適応則入力Uadp5ijの増大を回避することができる。その結果、基本着火時期用の修正値DBs_cmbの算出精度を向上させることができ、燃焼時のノイズの発生を適切に抑制することができる。
次に、図26を参照しながら、前述した着火時期補正値用の修正値算出部180について説明する。この着火時期補正値用の修正値算出部180では、以下に述べるように、FB項の絶対値|Inj_FB|と所定値FB_refとの大小関係に基づき、着火時期補正値用の修正値DIEGR_cmbが異なる算出手法によって算出される。最初に、|Inj_FB|<FB_refが成立している場合の、着火時期補正値用の修正値DIEGR_cmbの算出手法について説明する。
同図に示すように、着火時期補正値用の修正値算出部180は、減算器181、連結重み関数算出部182、修正誤差算出部183、基本局所修正値算出部184、修正感度算出部185および最終値算出部186を備えている。
まず、減算器181では、下式(85)によって、追従誤差ENVが算出される。
また、連結重み関数算出部182では、エンジン回転数NEおよび要求トルクTRQに応じて、マップを検索することにより、連結重み関数WIEGR_cmbijが算出される。この場合、連結重み関数WIEGR_cmbij算出用のマップとしては、ここでは図示しないが、前述した図10のマップの縦軸の「連結重み関数WBs_Injij」を「連結重み関数WIEGR_cmbij」に置き換えたものが用いられる。そのため、連結重み関数WIEGR_cmbijは、I×J個の値を要素とする行列として算出される。
さらに、修正誤差算出部183では、下式(86)により、修正誤差WIEGR_ecmb
ijが算出される。
このように、修正誤差WIEGR_ecmbijは、I×J個の値を要素とする行列として算出されるとともに、追従誤差ENVを、連結重み関数WIEGR_cmbijで重み付けした値として算出される。
また、基本局所修正値算出部184では、下式(87)〜(94)に示すスライディングモ−ド制御アルゴリズムを適用した制御アルゴリズムにより、基本局所修正値DIEGR_cmb_bsijが算出される。すなわち、基本局所修正値DIEGR_cmb_bsijは、修正誤差WIEGR_ecmbijを値0に収束させるための、I×J個の値を要素とする行列として算出される。
上式(87)において、σ6ijは切換関数であり、S6は−1<S6<0の関係が成立するように設定される切換関数設定パラメ−タである。この場合、切換関数設定パラメ−タS6の設定値により、修正誤差WIEGR_ecmbijの値0への収束速度および収束挙動が指定される。また、式(88)において、Urch6ijは到達則入力であり、Krch6は所定の到達則ゲインを表している。さらに、式(89)において、Unl6ijは非線形入力であり、Knl6は所定の非線形入力用ゲインを表している。また、式(89)におけるsgn(σ6ij(k))は符号関数であり、その値は、σ6ij(k)>0のときにはsgn(σ6ij(k))=1、σ6ij(k)=0のときにはsgn(σ6ij(k))=0、σ6ij(k)<0のときにはsgn(σ6ij(k))=−1となるように設定される(なお、σ6ij(k)=0のときに、sgn(σ6ij(k))=1となるように設定してもよい)。
さらに、式(90)において、Uadp6ijは適応則入力であり、Kadp6は所定の適応則ゲインを表している。また、式(90)のδ6ijは、式(91)により算出される切換関数の積分値である。同式(91)のγ6は忘却係数であり、その値は式(92),(93)に示すように、基本局所修正値の前回値DIEGR_cmb_bsij(k−1)と、所定の上下限値DIEGR_cmb_bsH,DIEGR_cmb_bsLとの比較結果により、値1または所定値γlmtに設定される。この忘却係数γ6を用いた理由については後述する。
また、式(94)に示すように、基本局所修正値DIEGR_cmb_bsijは、到達則入力Urch6ij、非線形入力Unl6ijおよび適応則入力Uadp6ijの和として算出される。
一方、前述した修正感度算出部185では、前述した修正感度算出部175と同じ演算手法により、修正感度Rcmbが算出される。すなわち、エンジン回転数NEおよび要求トルクTRQに応じて、前述した図24のマップを検索することにより、感度修正係数K_cmbNTを算出し、不活性ガス率RIEGRおよび要求トルクTRQに応じて、前述した図25のマップを検索することにより、感度修正係数K_cmbETを算出するとともに、2つの修正係数K_cmbNT,K_cmbETを乗算することにより、修正感度Rcmbが算出される。
そして、最終値算出部186では、まず、下式(95)により、局所修正値DIEGR_cmb_lc
ijを算出した後、下式(96)により、着火時期補正値用の修正値DIEGR_cmbが最終的に算出される。
上式(96)に示すように、着火時期補正値用の修正値DIEGR_cmbは、|Inj_FB|<FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているときには、局所修正値DIEGR_cmb_lcijの和として算出される。これは、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束しているにもかかわらず、追従誤差ENVが発生しているとき(すなわち、筒内圧変化量DPが目標変化量DP_TRGTに対して離間しているとき)には、この追従誤差ENVを値0に収束させるように、着火時期補正値用の修正値DIEGR_cmbによって、着火時期補正値IEGR_cmbを修正するためである。
一方、|Inj_FB|≧FB_refが成立しているときには、着火時期補正値用の修正値算出部180において、以上の各種の演算値がすべてその前回値に保持され、それにより、着火時期補正値用の修正値DIEGR_cmbは、下式(97)によって算出される。
上式(97)に示すように、|Inj_FB|≧FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGTに対して離間しているときには、実着火時期Cmbを目標着火時期Cmb_TRGTに迅速に収束させるために、着火時期補正値用の修正値DIEGR_cmbがその前回値に保持される。
この場合、忘却係数γ6を式(91)で使用しないと(すなわちγ6=1とすると)、|Inj_FB|≧FB_refの状態から|Inj_FB|<FB_refの状態に変化した時点で、適応則入力Uadp6ijの絶対値が肥大化してしまうおそれがあり、その場合には、適応則入力Uadp6ijの絶対値が減少するまでの間、着火時期補正値用の修正値DIEGR_cmbの算出精度が一時的に低下することによって、燃焼時のノイズが一時的に増大してしまうおそれがある。
これに対して、前述した式(91)では、忘却係数γ6が用いられているので、前述した忘却係数γ1の説明で述べたのと同じ理由により、演算処理が進行したときでも、切換関数の積分値δ6ijの増大すなわち適応則入力Uadp6ijの増大を回避することができる。その結果、着火時期補正値用の修正値DIEGR_cmbの算出精度を向上させることができ、燃焼時のノイズの発生を適切に抑制することができる。
なお、本実施形態では、図4のマップが基本着火時期モデルに、図5のマップが着火時期補正値モデルにそれぞれ相当する。さらに、基本着火時期Bs_cmbに基本着火時期用の修正値DBs_cmbを加算することが、基本着火時期モデルを修正することに相当し、着火時期補正値IEGR_cmbに着火時期補正値用の修正値DIEGR_cmbを加算することが、着火時期補正値モデルを修正することに相当する。
次に、図27を参照しながら、前述したFF項算出部200について説明する。このFF項算出部200は、FF項Inj_FFを算出するものであり、前述した図6のFF項算出部100と比較すると明らかなように、FF項算出部100において、基本FF項用の第2修正値算出部120およびFF項補正値用の第2修正値算出部140を省略した構成を有している。
したがって、このFF項算出部200では、下式(98)〜(100)に示す演算式によって、FF項Inj_FFが算出される。
なお、本実施形態では、FF項算出部200が誤差パラメータ算出手段およびFF項算出手段に相当する。
次に、図28を参照しながら、以上のように構成された第2実施形態の燃料噴射制御装置1Aによる噴射時期制御を実行したときの制御結果について説明する。なお、この制御結果は、エンジン3が定常運転状態にあるときのものであり、図中のNOx濃度は、排ガス中のNOx濃度を表している。また、図中の時刻t11以前の各データは、噴射時期制御が実行されていない状態でのデータを表している。また、図中の4つの修正値DBs_Inj,DIEGR_Inj,DBs_cmb,DIEGR_cmbは、いずれも忘却係数が値1となる条件が成立した状態での算出結果を表している。
同図に示すように、時刻t11で、噴射時期制御が開始されると、実着火時期Cmbが目標着火時期Cmb_TRGTに対して離間していることで、FB項Inj_FB(すなわち追従誤差EIg)が、追従誤差Ecmbを値0に収束させるように算出される。それにより、FB項Inj_FBは、時刻t12まで増大し、それに伴って、目標噴射時期Inj_TRGTが進角側に変化し、実着火時期Cmbが目標着火時期Cmb_TRGTに向かって変化する。これに加えて、筒内圧変化量DPが目標変化量DP_TRGTに向かって変化するとともに、排ガス中のNOx濃度が低下する。
そして、時刻t12で、実着火時期Cmbが目標着火時期Cmb_TRGTに収束し、Ecmb=0が成立すると、それ以降、FB項Inj_FBが一定値に保持される。その状態で演算が進行すると、追従誤差EIgすなわちFB項Inj_FBを値0に収束させるように、2つの第1修正値DBs_Inj,DIEGR_Injが算出されることで、時刻t13以降、2つの第1修正値の和DBs_Inj+DIEGR_Injが増大する。それにより、FB項Inj_FBが値0に向かって変化するとともに、FF項Inj_FFが進角側に変化する。
次に、Inj_FB=0が成立した時点(時刻t14)で、Inj_FF=Inj_TRGTが成立するとともに、2つの切換関数σ1ij,σ3ijがいずれも値0になることで、それ以降、2つの第1修正値の和DBs_Inj+DIEGR_Injは、一定値に保持される。また、|Inj_FB(k)|<FB_refが成立したタイミング(時刻t14の直前のタイミング)では、筒内圧変化量DPが目標変化量DP_TRGTに対して離間していることで、基本着火時期用の修正値DBs_cmbおよび着火時期補正値用の修正値DIEGR_cmbの算出が開始され、両者の和DBs_cmb+DIEGR_cmbが負値側に変化することで、目標着火時期Cmb_TRGTが遅角側に変化する。
それに伴い、実着火時期Cmbが目標着火時期Cmb_TRGTに対して離間することで、追従誤差Ecmbが増大し、これを値0に収束させるために、FB項Inj_FBが負値側に変化し、その絶対値が増大する(時刻t15〜t16)。
そして、筒内圧変化量DPが目標変化量DP_TRGTに到達し、ENV=0が成立した時点(時刻t16)以降、2つの切換関数σ5ij,σ6ijがいずれも値0になることで、2つの修正値の和DBs_cmb+DIEGR_cmbは、一定値に保持される。さらに、追従誤差ENV=0が成立した時点では、FB項Inj_FBの絶対値が増大した状態にあることで、FB項Inj_FBすなわち追従誤差EIgを値0に収束させるように、2つの第1修正値DBs_Inj,DIEGR_Injの算出が開始され、それにより、両者の和の絶対値が減少する(時刻t17〜t18)。そして、Inj_FB=0が成立した時点(時刻t18)で、2つの切換関数σ1ij,σ3ijがいずれも値0になることで、それ以降、2つの第1修正値の和DBs_Inj+DIEGR_Injは、一定値に保持される。
以上のように、第2実施形態の燃料噴射制御装置1Aによれば、第1実施形態の燃料噴射制御装置1と同じ制御手法により、FB項Inj_FBが算出される。また、基本FF項Bs_Injを基本FF項用の第1修正値DBs_Injで修正することにより、修正後基本FF項ModBs_Injが算出されるので、前述したように、2つのセンサ20,26の検出結果の信頼性の低下や、エンジン3の動特性変化などに起因して、図7におけるエンジン回転数NEおよび要求トルクTRQと、基本FF項Bs_Injとの関係が、実際の関係に対してずれていることで、追従誤差EIgが一時的に増大するような場合でも、修正後基本FF項ModBs_Injを用いて算出したFF項Inj_FFによって、追従誤差EIgを適切かつ迅速に補償することができる。
また、FF項補正値IEGR_InjをFF項補正値用の第1修正値DIEGR_Injで修正することにより、修正後FF項補正値ModIEGR_Injが算出されるので、各種のセンサ20〜22,24〜26の検出結果の信頼性の低下などに起因して、図8における不活性ガス率RIEGRおよび要求トルクTRQと、FF項補正値IEGR_Injとの関係が、実際の関係に対してずれを生じている場合でも、この修正後FF項補正値ModIEGR_Injを用いて、FF項Inj_FFを算出することによって、FF項Inj_FFによる追従誤差EIgの補償精度を向上させることができる。以上により、燃料噴射時期制御処理において、高レベルの制御精度を確保できる。
さらに、基本着火時期Bs_cmbを基本着火時期用の修正値DBs_cmbで修正することにより、修正後基本着火時期ModBs_cmbが算出され、着火時期補正値IEGR_cmbを着火時期補正値用の修正値DIEGR_cmbで修正することにより、修正後着火時期補正値ModIEGR_cmbが算出されるとともに、修正後基本着火時期ModBs_cmbを修正後着火時期補正値ModIEGR_cmbで補正することにより、目標着火時期Cmb_TRGTが算出される。これらの2つの修正値DBs_cmb,DIEGR_cmbはいずれも、|Inj_FB|<FB_refが成立し、実着火時期Cmbが目標着火時期Cmb_TRGT付近に収束している場合において、筒内圧変化量DPが目標変化量DP_TRGTに対して離間し、追従誤差ENVが発生しているときに、この追従誤差ENVを値0に収束させるように算出されるので、筒内圧変化量DPを目標変化量DP_TRGTに迅速に収束させることができ、燃焼時のノイズを迅速に低減することができる。その結果、商品性を向上させることができる。
これに加えて、FF項Inj_FFを算出する際、FF項補正値IEGR_Injと4つの修正値DBs_Inj,DBs_NVInj,DIEGR_cmb,DIEGR_NVcmbが不活性ガス率RIEGRを用いて算出されるので、エンジン3を低温予混合燃焼で運転する際、安定した燃焼状態およびノイズの抑制を実現することができる。