以下、図面に基づき本発明の実施形態について説明する。
図1は、本発明のシステムを説明するための概略図である。
空気は吸気コレクタ2に蓄えられた後、吸気マニホールド3を介して各気筒の燃焼室5に導入される。燃料(ガソリン)は各気筒の吸気ポート4に配置された燃料インジェクタ21より噴射供給される。空気中に噴射された燃料は気化しつつ空気と混合してガス(混合気)を作り、燃焼室5に流入する。この混合気は吸気弁15が閉じることで燃焼室5内に閉じこめられ、ピストン6の上昇によって圧縮される。
この圧縮混合気に対して高圧火花により点火を行うため、パワートランジスタ内蔵の点火コイルを各気筒に配した電子配電システムの点火装置11を備える。すなわち、点火装置11は、バッテリからの電気エネルギーを蓄える点火コイル13と、点火コイル13の一次側への通電、遮断を行うパワートランジスタと、燃焼室5の天井に設けられ点火コイル13の一次電流の遮断によって点火コイル13の二次側に発生する高電圧を受けて、火花放電を行う点火プラグ14とからなっている。
圧縮上死点より少し手前で点火プラグ14により火花が飛ばされ圧縮混合気に着火されると、火炎が広がりやがて爆発的に燃焼し、この燃焼によるガス圧がピストン6を押し下げる仕事を行う。この仕事はクランクシャフト7の回転力として取り出される。燃焼後のガス(排気)は排気弁16が開いたとき排気通路8へと排出される。
排気通路8には三元触媒9を備える。三元触媒9は排気の空燃比が理論空燃比を中心とした狭い範囲(ウインドウ)にあるとき、排気に含まれるHC、CO、NOxといった有害三成分を同時に効率よく除去できる。空燃比は吸入空気量と燃料量の比であるので、エンジンの1サイクル(4サイクルエンジンではクランク角で720°区間)当たりに燃焼室5に導入される吸入空気量と、燃料インジェクタ21からの燃料噴射量との比が理論空燃比となるように、エンジンコントローラ31ではエアフローメータ32からの吸入空気流量の信号とクランク角センサ(33、34)からの信号に基づいて燃料インジェクタ21からの燃料噴射量を定めると共に、三元触媒9の上流に設けたO2センサ35からの信号に基づいて空燃比をフィードバック制御している。
吸気コレクタ2の上流には絞り弁23がスロットルモータ24により駆動される、いわゆる電子制御スロットル22を備える。運転者が要求するトルクはアクセルペダル41の踏み込み量(アクセル開度)に現れるので、エンジンコントローラ31ではアクセルセンサ42からの信号に基づいて目標トルクを定め、この目標トルクを実現するための目標空気量を定め、この目標空気量が得られるようにスロットルモータ24を介して絞り弁23の開度を制御する。
吸気弁用カムシャフト25、排気弁用カムシャフト26及びクランクシャフト7の各前部にはそれぞれカムスプロケット、クランクスプロケットが取り付けられ、これらスプロケットにタイミングチェーン(図示しない)を掛け回すことで、カムシャフト25、26がエンジンのクランクシャフト7により駆動されるのであるが、このカムスプロケットと吸気弁用カムシャフト25との間に介在して、作動角一定のまま吸気弁用カムの位相を連続的に制御し得る可変吸気バルブタイミングコントロール機構(以下、「吸気VTC機構」という。)27と、カムスプロケットと排気弁用カムシャフト26との間に介在して、作動角一定のまま排気弁用カムの位相を連続的に制御し得る可変排気バルブタイミングコントロール機構(以下、「排気VTC機構」という。)28とを備える。吸気弁15の開閉時期や排気弁16の開閉時期を変えると燃焼室5に残留する不活性ガスの量が変化する。燃焼室5内の不活性ガスの量が増えるほどポンピングロスが減って燃費がよくなるので、運転条件によりどのくらいの不活性ガスが燃焼室5内に残留したらよいかを目標吸気弁閉時期や目標排気弁閉時期にして予め定めており、エンジンコントローラ31ではそのときの運転条件(エンジンの負荷と回転速度)より目標吸気弁閉時期と目標排気弁閉時期を定め、それら目標値が得られるように吸気VTC機構27、排気VTC機構28の各アクチュエータを介して吸気弁閉時期と排気弁閉時期を制御する。
吸気温度センサ43からの吸気温度の信号、吸気圧力センサ44からの吸気圧力の信号、排気温度センサ45からの排気温度の信号、排気圧力センサ46からの排気圧力の信号が、水温センサ37からの冷却水温の信号と共に入力されるエンジンコントローラ31では、パワートランジスタ13を介して点火プラグ14の一次側電流の遮断時期である点火時期を制御する。
この場合に、ノックが生じていないときの点火時期は運転条件に応じた基本点火時期MBTCALであるが、エンジンの高負荷低回転速度域などでは燃焼室5内にノックが生じることがあり、ノックが生じるとエンジンの耐久性が低下するので、エンジンコントローラ31ではノック制御を行う。
この場合に、一般的なノック制御では、ノックセンサによりノックが生じたことを検出したときにはベース点火時期を第1の所定値だけステップ的に大きく遅角し、その後はベース点火時期を第2の所定値ずつ徐々に進角してゆく操作を行い、この操作における点火時期の進角により再びノックセンサによりノックが生じたことを検出すると上記の操作を繰り返すのであるが、本実施形態では、ノックセンサ47(ノック検出手段)によるノック検出結果を、点火時期ではなく燃料のオクタン価(ノック相関パラメータ)の推定値OCTESTにフィードバックすることにより、従来装置のようにノック回避のための点火時期の遅角とそれに続く進角の操作とを繰り返さない方法でノックを回避する。すなわち、ノックセンサ47によるノック検出結果に基づいてオクタン価推定値OCTESTを算出し、このオクタン価推定値OCTESTに基づいて燃焼室5内での自着火時期θknk(ノック発生時期)を予測し、この自着火時期θknkに基づいてノック限界点火時期KNOCKcalを算出する。ノックが生じるときにはこのノック限界点火時期KNOCKcalのほうが上記の基本点火時期MBTCALより遅角側の値となり、このノック限界点火時期KNOCKcalを点火時期として火花点火を行う。
図2は点火時期制御の全体の流れを示すフローである。このフローは一定時間毎に実行するフローではなく操作の流れを示している。
ステップ1、2では基本点火時期MBTcal[degBTDC]、ノック限界点火時期KNOCKcal[degBTDC]をそれぞれ算出する。
ここでは、基本点火時期MBTcalの算出を先に説明する。まず、燃焼解析に基づく点火時期制御を概説する(基本的な考え方は特開2003−148236号公報に記載されている)。
図3に示すようにMBT(最大トルクの得られる最小進角値)で混合気に点火した場合に混合気の燃焼圧力が最大値Pmaxとなるクランク角を基準クランク角θPMAX[degATDC]とする。基準クランク角θPMAXは燃焼方式によらずほぼ一定であり、一般に圧縮上死点後12〜15度、最大で圧縮上死点後10〜20度の範囲にある。
図4に火花点火エンジンにおける燃焼室内の燃焼解析により得られた燃焼質量割合BR(燃焼ガス質量割合)の変化を示す。燃焼室に供給された燃料に対する燃焼質量の比率を表す燃焼質量割合BRは、点火時に0%であり、完全燃焼によって100%に達する。基準クランク角θPMAXにおける燃焼質量割合は一定で約60%であることが実験により確かめられている。
燃焼質量割合BRが0%から基準クランク角θPMAX相当の約60%に達するまでの変化代に相当する燃焼期間は、燃焼開始直後で燃焼質量割合にも燃焼圧力にもほとんど変化のない期間である初期燃焼期間と、燃焼質量割合と燃焼圧力が急激に増加する主燃焼期間とに分けられる。初期燃焼期間は、燃焼開始から火炎核が形成されるまでの段階であり、火炎核が形成されるのは燃焼質量割合が0%から2%〜10%まで変化したときである。この初期燃焼期間中は、燃焼圧力や燃焼温度の上昇速度が小さく、燃焼質量割合の変化に対して初期燃焼期間は長い。初期燃焼期間の長さは燃焼室内の温度や圧力の変化の影響を受けやすい。
一方、主燃焼期間においては、火炎核から外側へと火炎が伝播するのであり、その火炎速度(つまり燃焼速度)が急上昇する。そのため、主燃焼期間の燃焼質量割合の変化は初期燃焼期間の燃焼質量割合の変化に比べて大きい。
エンジンコントローラ31では、燃焼質量割合が2%に達する(変化する)までを初期燃焼期間BURN1[deg]とし、初期燃焼期間BURN1の終了後、基準クランク角θPMAXに至るまでの区間(燃焼室量割合でいえば2%より約60%に達するまでの間)を主燃焼期間BURN2[deg]として区別する。そして、初期燃焼期間BURN1に主燃焼期間BURN2を加えた合計である燃焼期間BURN[deg]を算出し、この燃焼期間BURNから基準クランク角θPMAX[degATDC]を差し引き、さらに後述する点火無駄時間相当クランク角IGNDEAD[deg]を加えたクランク角位置を、MBTの得られる点火時期である基本点火時期MBTCAL[degBTDC]として設定する。
火炎核の形成される初期燃焼期間での燃焼室5内の圧力、温度は、点火時の圧力、温度とほぼ等価になるが、これから点火時期を算出しようとしているのに、最初から正確な点火時期を設定することはできない。そこで、図13に示したように基本点火時期の前回値を前回燃焼開始時期MBTCYCL[degBTDC]として算出し(ステップ44)、この値を図10に示したように初期燃焼期間の算出に用いるようにし(ステップ162)、初期燃焼期間の算出をサイクリックに繰り返すことで、精度の高い結果を時間遅れなしに出すようにしている。
次に、エンジンコントローラ31で実行される基本点火時期MBTCALの算出を以下のフローチャートを参照しながら詳述する。
図5は点火時期の算出に必要な各種の物理量を算出するためのもので、一定時間毎(例えば10msec毎)に実行する。
まずステップ11では、吸気弁閉時期IVC[degBTDC]、温度センサ43により検出されるコレクタ内温度TCOL[K]、圧力センサ44により検出されるコレクタ内圧力PCOL[Pa]、温度センサ45により検出される排気温度TEXH[K]、内部不活性ガス率MRESFR[%]、温度センサ37により検出される冷却水温TWK[K]、目標当量比TFBYA、クランク角センサにより検出されるエンジン回転速度NRPM[rpm]、点火無駄時間DEADTIME[μsec]を読み込む。
ここで、クランク角センサはクランクシャフト7のポジションを検出するポジションセンサ33と、吸気用カムシャフト25ポジションを検出するフェーズセンサ34とからなり、これら2つのセンサ33、34からの信号に基づいてエンジン回転速度NRPM[rpm]が算出されている。
吸気弁閉時期IVCは吸気VTC機構27に与える指令値から既知である。あるいはフェーズセンサ34により実際の吸気弁閉時期を検出してもかまわない。
内部不活性ガス率MRESFRは燃焼室内に残留する不活性ガス量を燃焼室内の総ガス量で除した値で、その算出については後述する。点火無駄時間DEADTIMEは一定値である。
目標当量比TFBYAは図示しない燃料噴射量の算出フローにおいて算出されている。目標当量比TFBYAは無名数であり、理論空燃比を14.7とすると、次式により表される値である。
TFBYA=14.7/目標空燃比 …(1)
例えば(1)式より目標空燃比が理論空燃比のときTFBYA=1.0となり、目標空燃比が例えば22.0といったリーン側の値であるとき、TFBYAは1.0未満の正の値である。
ステップ12では、燃焼室5の吸気弁閉時期IVCにおける容積(つまり圧縮開始時期での容積)VIVC[m3]を算出する。燃焼室5の吸気弁閉時期における容積VIVCは、ピストン6のストローク位置によって決まる。ピストン6のストローク位置はエンジンのクランク角位置によって決まる。
図6を参照して、エンジンのクランクシャフト71の回転中心72がシリンダの中心軸73からオフセットしている場合を考える。コネクティングロッド74、コネクティングロッド74とクランクシャフト71との結節点75、コネクティングロッド74とピストンをつなぐピストンピン76が図に示す関係にあるとする。このときの、燃焼室5の吸気弁閉時期における容積VIVCは次式(2)〜(6)で表すことができる。
VIVC=f1(θivc)=Vc+(π/4)D2・Hivc …(2)
Vc=(π/4)D2・Hx/(ε−1) …(3)
Hivc={(CND+ST2/2)−(CRoff−PISoff)2}1/2
−{(ST/2)・cos(θivc+θoff)}
+(CND2−X2)1/2 …(4)
X =(ST/2)・sin(θivc+θoff)−CRoff+PISoff …(5)
θoff=arcsin{(CRoff−PISoff)/(CND・(ST/2))}…(6)
ただし、Vc :隙間容積[m3]、
ε :圧縮比、
D :シリンダボア径[m]、
ST :ピストンの全ストローク[m]、
Hivc :吸気弁閉時期におけるピストンピン76の
TDCからの距離[m]、
Hx :ピストンピン76のTDCからの距離の最大値と最小値の
差[m]、
CND :コネクティングロッド74の長さ[m]、
CRoff :結節点75のシリンダ中心軸73からのオフセット距離
[m]、
PISoff:クランクシャフト回転中心72のシリンダ中心軸73から
のオフセット距離[m]、
θivc :吸気弁閉時期のクランク角[degATDC]、
θoff :ピストンピン76とクランクシャフト回転中心72とを結
ぶ線がTDCにおいて垂直線となす角度[deg]、
X :結節点75とピストンピン76との水平距離[m]、
吸気弁閉時期のクランク角θivcは前述のように、エンジンコントローラ31から吸気VTC機構27への指令信号によって決まるので、既知である。式(2)〜(6)にこのときのクランク角θivc(=IVC)を代入すれば、燃焼室5の吸気弁閉時期における容積VIVCを算出することができる。したがって、実用上は燃焼室5の吸気弁閉時期における容積VIVCは吸気弁閉時期IVCをパラメータとするテーブルで設定したものを用いる。吸気VTC機構27を備えないときには定数で与えることができる。
ステップ13では、燃焼室5の吸気弁閉時期IVCにおける温度(つまり圧縮開始時期温度)TINI[K]を算出する。燃焼室5に流入するガスの温度は、燃焼室5に流入する新気と燃焼室5に残留する不活性ガスとが混じったガスの温度であり、燃焼室5に流入する新気の温度は吸気コレクタ2内の新気温度TCOLに等しく、また燃焼室5内に残留する不活性ガスの温度は排気ポート部近傍の排気温度TEXHで近似できるので、燃焼室5の吸気弁閉時期IVCにおける温度TINIは吸気弁閉時期IVCになったタイミングでの、吸気コレクタ2内の新気温度TCOL、排気温度TEXH、燃焼室5内に残留する不活性ガスの割合である内部不活性ガス率MRESFRから次式により求めることができる。
TINI=TEXH×MRESFR+TCOL×(1−MRESFR)…(7)
ステップ14では燃焼室5の吸気弁閉時期IVCにおける圧力(つまり圧縮開始時期圧力)PINI[Pa]を算出する。すなわち、吸気弁閉時期IVCになったタイミングでのコレクタ内圧力PCOLを吸気弁閉時期IVCにおける圧力PINIとして取り込む。
ステップ15では、燃焼室5内の混合気の燃えやすさを表す反応確率RPROBA[%]を算出する。反応確率RPROBAは無次元の値であり、残留不活性ガス率MRESFR、冷却水温TWK[K]、目標当量比TFBYAの3つのパラメータに依存するので、次式により表すことができる。
RPROBA=f3(MRESFR、TWK、TFBYA) …(8)
具体的に説明すると、MRESFR、TWK、TFBYAの3つのパラメータの組み合わせによって得られる反応確率の最大値を100%とし、これらのパラメータと反応確率RPROBAの関係を実験的に求め、求めた反応確率RPROBAをパラメータに応じたテーブルとしてエンジンコントローラ31のメモリに予め格納しておく。ステップ15ではパラメータに応じてこのテーブルを検索することにより反応確率RPROBAを求める。
具体的には、冷却水温TWKに応じて図7に示すような特性を有する水温補正係数のテーブルと、同様に設定された内部不活性ガス率補正係数のテーブル(図示しない)と、目標当量比TFBYAに応じて図8に示すような特性を有する当量比補正係数のテーブルを予めメモリに格納しておく。各補正係数の最大値はそれぞれ1.0であり、3種類の補正係数の積に反応確率の最大値100%を掛け合わせることで、反応確率RPROBAを算出する。
各テーブルを説明すると、図7に示す水温補正係数は冷却水温TWKが高いほど大きく、冷却水温TWKが80℃以上では1.0になる。図8に示す当量比補正係数は目標当量比TFBYAが1.0のとき、つまり理論空燃比のときに最大値の1.0となり、目標当量比が1.0より大きくても小さくても当量比補正係数は減少する。内部不活性ガス率補正係数は図示しないが、内部不活性ガス率MRESFRがゼロの場合に1.0となる。
ステップ16では、基準クランク角θPMAX[degATDC]を算出する。前述のように基準クランク角θPMAXはあまり変動しないが、それでもエンジン回転速度NRPMの上昇に応じて進角する傾向があるため、基準クランク角θPMAXはエンジン回転速度NRPMの関数として次式で表すことができる。
θPMAX=f4(NRPM) …(9)
具体的にはエンジン回転速度NRPMから、エンジンコントローラ31のメモリに予め格納された図9に示す特性のテーブルを検索することにより基準クランク角θPMAXを求める。算出を容易にするために、基準クランク角θPMAXを一定とみなすことも可能である。
最後にステップ17では、点火無駄時間相当クランク角IGNDEAD[deg]を算出する。点火無駄時間相当クランク角IGNDEADは、エンジンコントローラ31から点火コイル13の一次電流を遮断する信号を出力したタイミングから点火プラグ14が実際に点火するまでのクランク角区間で、次式により表すことができる。
IGNDEAD=f5(DEADTIME、NRPM) …(10)
ここでは、点火無駄時間DEADTIMEを200μsecとする。(10)式は、エンジン回転速度NRPMから点火無駄時間DEADTIMEに相当するクランク角である点火無駄時間相当クランク角IGNDEADを算出するためのものである。
図10は初期燃焼期間BURN1[deg]を算出するためのもの、また図12は主燃焼期間BURN2[deg]を算出するためのもので、一定時間毎(例えば10msec毎)に実行する。図10、図12は図5に続けて実行する。図10、図12はどちらを先に実行してもかまわない。
まず図10から説明すると、ステップ161では、前回燃焼開始時期MBTCYCL[degBTDC]、図5のステップ12で算出されている燃焼室5の吸気弁閉時期における容積VIVC[m3]、図5のステップ13で算出されている燃焼室5の吸気弁閉時期における温度TINI[K]、図5のステップ14で算出されている燃焼室5の吸気弁閉時期における圧力PINI[Pa]、エンジン回転速度NRPM[rpm]、図5のステップ15で算出されている反応確率RPROBA[%]を読み込む。
ここで、前回燃焼開始時期MBTCYCLは、基本点火時期MBTCALの[degBTDC]の1サイクル前の値であり、その算出については図13により後述する。
ステップ162では燃焼室5の燃焼開始時期における容積V0[m3]を算出する。前述したように、ここでの点火時期(燃焼開始時期)は今回のサイクルで演算する基本点火時期MBTCALではなく基本点火時期の1サイクル前の値である。すなわち、基本点火時期の1サイクル前の値であるMBTCYCLから次式により燃焼室5の燃焼開始時期における容積V0を算出する。
V0=f6(MBTCYCL) …(11)
具体的には前回燃焼開始時期MBTCYCLにおけるピストン6のストローク位置と、燃焼室5のボア径から、燃焼室5のMBTCYCLにおける容積V0を算出する。図5のステップ12では、燃焼室5の吸気弁閉時期IVCにおける容積VIVCを、吸気弁閉時期をパラメータとする吸気弁閉時期容積のテーブルを検索することにより求めたが、ここではMBTCYCLをパラメータとする前回燃焼開始時期容積のテーブルを検索することにより、燃焼室5の前回燃焼開始時期MBTCYCLにおける容積V0を求めればよい。
ステップ163では燃焼開始時期における有効圧縮比Ecを算出する。有効圧縮比Ecは無次元の値であり、次式に示すように燃焼室5の燃焼開始時期における容積V0を燃焼室5の吸気弁閉時期における容積VIVCで除した値である。
Ec=f7(V0、VIVC)
=V0/VIVC …(12)
ステップ164では吸気弁閉時期IVCから燃焼開始時期に至る間の燃焼室5内の温度上昇率TCOMPを次式に示すように有効圧縮比Ecに基づいて算出する。
TCOMP=f8(Ec)=Ec^(κ−1) …(13)
ただし、κ:比熱比、
(13)式は断熱圧縮されるガスの温度上昇率の式である。なお、(13)式右辺の「^」は累乗計算を表している。この記号は後述する式でも使用する。
κは断熱圧縮されるガスの定圧比熱を定容比熱で除した値で、断熱圧縮されるガスが空気であればκ=1.4であり、簡単にはこの値を用いればよい。ただし、混合気に対してκの値を実験的に求めることで、一層の算出精度の向上が可能である。
図11は(13)式を図示したものである。従って、このような特性のテーブルを予めエンジンコントローラ31のメモリに格納しておき、有効圧縮比Ecに基づき当該テーブルを検索することにより温度上昇率TCOMPを求めることも可能である。
ステップ165では、燃焼室5の燃焼開始時期における温度T0[K]を、燃焼室5の吸気弁閉時期における温度TINIに温度上昇率TCOMPを乗じることで、つまり
T0=TINI×TCOMP …(14)
の式により算出する。
ステップ166、167はステップ164、165と同様である。すなわち、ステップ166では吸気弁閉時期IVCから燃焼開始時期に至る間の燃焼室5内の圧力上昇率PCOMPを次式に示すように有効圧縮比Ecに基づいて算出する。
PCOMP=f9(Ec)=Ec^κ…(41)
ただし、κ:比熱比、
(41)式も(13)式と同じに断熱圧縮されるガスの圧力上昇率の式である。(41)式右辺の「^」も(13)式と同じに累乗計算を表している。
κは上記(13)式で用いている値と同じで、断熱圧縮されるガスが空気であればκ=1.4であり、簡単にはこの値を用いればよい。ただし、混合気に対してその組成、温度からκの値を求めることで、一層の算出精度の向上が可能である。
図11と同様の特性のテーブルを予めエンジンコントローラ31のメモリに格納しておき、有効圧縮比Ecに基づき当該テーブルを検索することにより圧力上昇率PCOMPを求めることも可能である。
ステップ167では、燃焼室5の燃焼開始時期における圧力P0[Pa]を、燃焼室5の吸気弁閉時期における圧力PINIに圧力上昇率PCOMPを乗じることで、つまり
P0=PINI×PCOMP …(42)
の式により算出する。
ステップ168では、初期燃焼期間における層流燃焼速度SL1[m/sec]を次式(公知)により算出する。
SL1=f10(T0、P0)
=SLstd×(T0/Tstd)2.18×(P0/Pstd)-0.16 …(15)
ただし、Tstd :基準温度[K]、
Pstd :基準圧力[Pa]、
SLstd:基準温度Tstdと基準圧力Pstdにおける基準層流燃焼
速度[m/sec]、
T0 :燃焼室5の燃焼開始時期における温度[K]、
P0 :燃焼室5の燃焼開始時期における圧力[Pa]、
層流燃焼速度(層流火炎速度)は気体の流れがない状態での火炎の伝播速度のことであり、燃焼室5内の圧縮速度、燃焼室5内の吸気流速に因らず、燃焼室5の温度及び圧力の関数となることが知られていることから、初期燃焼期間における層流燃焼速度を燃焼開始時温度T0と燃焼開始時圧力P0の関数として、また後述するように主燃焼期における層流燃焼速度を圧縮上死点時温度TTDCと圧縮上死点圧力PTDCの関数としている。これは、層流燃焼速度は一般的に、エンジン負荷、燃焼室5内の不活性ガス率、吸気弁閉時期、比熱比、吸気温度により変化するのであるが、これらは燃焼室5内の温度Tと圧力Pに影響する因子であるので、層流燃焼速度は最終的に燃焼室5内の温度Tと圧力Pにより規定できるとするものである。
上記の(15)式において基準温度Tstdと基準圧力Pstdと基準層流燃焼速度SLstdは実験により予め定められる値である。
燃焼室5の通常の圧力である2bar以上の圧力下では、(15)式の圧力項(P0/Pstd)-0.16は小さな値となる。従って、圧力項(P0/Pstd)-0.16を一定値として、基準層流燃焼速度SLstdを基準温度Tstdのみで規定することも可能である。
従って、基準温度Tstdが550[K]で、基準層流燃焼速度SLstdが1.0[m/sec]で、圧力項が0.7である場合の燃焼開始時期における温度T0と層流燃焼速度SL1との関係は近似的に次式で定義することができる。
SL1=f11(T0)
=1.0×0.7×(T0/550)2.18 …(16)
ステップ169では、初期燃焼期間におけるガス流動の乱れ強さST1を算出する。このガス流動の乱れ強さST1は無次元の値であり、燃焼室5に流入する新気の流速と燃料インジェクタ21の噴射燃料のペネトレーションとに依存する。
燃焼室5に流入する新気の流速は、吸気通路の形状と、吸気弁15の作動状態と、吸気弁15を設ける吸気ポート4の形状に依存する。噴射燃料のペネトレーションは燃料インジェクタ21の噴射圧力と、燃料噴射期間と、燃焼噴射タイミングに依存する。
最終的に、初期燃焼期間におけるガス流動の乱れ強さST1は、エンジン回転速度NRPMの関数として次式で表すことができる。
ST1=f12(NRPM)=C1×NRPM …(17)
ただし、C1:定数、
乱れ強さST1を回転速度NRPMをパラメータとするテーブルから求めることも可能である。
ステップ170では層流燃焼速度S1と乱れ強さST1から、初期燃焼期間におけるガスの燃焼速度FLAME1[m/sec]を次式により算出する。
FLAME1=SL1×ST1 …(18)
燃焼室5内にガス乱れがあるとガスの燃焼速度が変化する。(18)式はこのガス乱れに伴う燃焼速度への寄与(影響)を考慮したものである。
ステップ171では、次式により初期燃焼期間BURN1[deg]を算出する。
BURN1={(NRPM×6)×BR1×V0}
/(RPROBA×AF1×FLAME1) …(19)
ただし、AF1:火炎核の反応面積(固定値)[m2]、
この(19)式および後述する(22)式は、燃焼ガス質量を燃焼速度で割ると燃焼期間が得られるとする次の基本式より導いたものであるが、(19)、(22)式右辺の分子、分母ががただちに燃焼ガス質量、燃焼速度を表すものではない。
燃焼期間[sec]=シリンダ内総質量[g]/(未燃ガス密度[g/m3]
×火炎表面積[m2]×火炎速度[m/sec])
…(補1)
(補1)式右辺分母の未燃ガス密度は、未燃ガス質量[g]を未燃ガス体積[m3]で割った値であるので、従来装置のように質量に相当する充填効率ITACのみの関数では未燃ガス密度を正確に計算できているとはいえない。そこで、(補1)式に対して実験結果とを照らし合わせつつ所定の近似を導入して初めて得られたのが上記(19)式及び後述する(22)式に示す実験式である。
ここで、(19)式右辺のBR1は燃焼開始時期より初期燃焼期間BURN1の終了時期までの燃焼質量割合の変化代であり、ここではBR1=2%に設定している。(19)式右辺の(NRPM×6)は単位をrpmからクランク角(deg)に変換するための処理である。火炎核の反応面積AF1は実験的に設定される。
また、初期燃焼期間中はほぼ燃焼室容積は変わらないとみなすことができる。従って、初期燃焼期間BURN1を算出するに際して最初の燃焼室容積である燃焼開始時の燃焼室容積V0を採用している。
次に図12のフローに移ると、ステップ181では図10のステップ161と同様に、図5のステップ12で算出されている燃焼室5の吸気弁閉時期における容積VIVC[m3]、図5のステップ13で算出されている燃焼室5の吸気弁閉時期における温度TINI[K]、図5のステップ14で算出されている燃焼室5の吸気弁閉時期における圧力PINI[Pa]、エンジン回転速度NRPM[rpm]、図5のステップ15で算出されている反応確率RPROBA[%]を読み込み、さらにシリンダ新気量MACYL[g]、目標当量比TFBYA、内部不活性ガス量MRES[g]、外部不活性ガス量MEGR[g]を読み込む。
ここで、図1には外部EGR装置は示していないが、図12に関する限り外部EGR装置を備えているエンジンを前提として説明する。この場合に、外部不活性ガス量MEGRは例えば公知の手法(特開平10−141150号公報参照)を用いて算出すればよい。なお、図1に示す本実施形態のように外部EGR装置を備えていないエンジンを対象とするときには外部不活性ガス量MEGR=0で扱えば足りる。シリンダ新気量MACYL、内部不活性ガス量MRESの算出については図14以降で後述する。
ステップ182、183は図10のステップ163、164と同様である。すなわち、ステップ182で圧縮上死点時期における有効圧縮比Ec 2を算出する。有効圧縮比Ec 2も上記(12)式の有効圧縮比Ecと同様に無次元の値であり、次式に示すように燃焼室5の圧縮上死点時における容積VTDCを燃焼室5の吸気弁閉時期における容積VIVCで除した値である。
Ec 2=f13(VTDC、VIVC)=VTDC/VIVC
…(43)
(43)式において燃焼室5の圧縮上死点時における容積VTDCは運転条件によらず一定であり、予めエンジンコントローラ31のメモリに格納しておけばよい。
ステップ183では吸気弁閉時期IVCから圧縮上死点に至る間の燃焼室5内の断熱圧縮による温度上昇率TCOMP 2を次式に示すように有効圧縮比Ec 2に基づいて算出する。
TCOMP 2=f14(Ec 2)
=Ec 2^(κ−1)…(44)
ただし、κ:比熱比、
図11と同様の特性のテーブルを予めエンジンコントローラ31のメモリに格納しておき、有効圧縮比Ec 2から当該テーブルを検索することにより温度上昇率TCOMP 2を求めることも可能である。
ステップ184ではシリンダ新気量MACYL、目標当量比TFBYA、内部不活性ガス量MRES、外部不活性ガス量MEGRから次式により燃焼室5の総ガス質量MGAS[g]を算出する。
MGAS=MACYL×(1+TFBYA/14.7)+MRES+MEGR
…(45)
(45)式右辺の括弧内の「1」は新気分、「TFBYA/14.7」は燃料分である。
ステップ185ではこの燃焼室5の総ガス質量MGASと、シリンダ新気量MACYL、目標当量比TFBYAを用い、次式により混合気の燃焼による温度上昇量(燃焼上昇温度)TBURN[K]を算出する。
TBURN={MACYL×TFBYA/14.7×BRk×Q}
/(Cv×MGAS)…(46)
ただし、Q :燃料の定発熱量、
BRk:シリンダ内燃料の燃焼質量割合、
Cv :定積比熱、
(46)式右辺の分子はシリンダ内燃料による発生総熱量[J]、分母は単位発生熱量当たりの温度上昇率[J/K]を意味している。すなわち、(46)式は熱力学の公式に当てはめた近似式である。
ここで、シリンダ内燃料の燃焼質量割合BRkとしては予め実験等で適合しておく。簡易的には例えば60%/2=30%を設定する。これは、本実施形態では燃焼質量割合BRが約60%に達するまでを燃焼期間として扱うので、そのちょうど中間の30%をBRkとして設定するものである。
燃料の定発熱量Qは燃料の種類により異なる値であるので、燃料の種類に応じ予め実験等で求めておく。定積比熱Cvは2〜3の値であり予め実験等で代表値を適合しておく。ただし、混合気に対してその組成、温度から定積比熱Cvの値を求めることで、一層の算出精度の向上が可能である。
ステップ186では、燃焼室5の圧縮上死点における温度TTDC[K]を、燃焼室5の吸気弁閉時期における温度TINIに圧縮上死点までの温度上昇率TCOMP 2を乗じその乗算値に上記の燃焼上昇温度TBURNを加算することで、つまり次式により算出する。
TTDC=TINI×TCOMP 2+TBURN
…(47)
ステップ187では、この燃焼室5の圧縮上死点における温度TTDCと容積VTDC及び燃焼室5の吸気弁閉時期における圧力PINI、容積VIVC及び温度TINIから次式により燃焼室5の圧縮上死点における圧力PTDC[K]を算出する。
PTDC=PINI×VIVC×TTDC/(VTDC×TINI)
…(48)
(48)式は状態方程式を用いて得たものである。すなわち、吸気弁閉時期における圧力、容積及び温度(PINI、VIVC、TINI)を用いて次の状態方程式が成立する。
PINI×VIVC=n・R・TINI…(補2)
ただし、n:モル数、
R:ガス定数、
圧縮上死点近傍では容積はほぼ等しいので、圧縮上死点での圧力、容積及び温度(PTDC、VTDC、TTDC)を用いて次の状態方程式が成立する。
PTDC×VTDC=n・R・TTDC…(補3)
この(補3)式と上記(補2)との両式からn・Rを消去しPTDCについて解くと、上記(48)式が得られる。
ステップ188では図10のステップ168と同様にして、次式(公知)により、主燃焼期間における層流燃焼速度SL2[m/sec]を算出する。
SL2=f15(TTDC、PTDC)
=SLstd×(TTDC/Tstd)2.18×(PTDC/Pstd)-0.16
…(49)
ただし、Tstd :基準温度[K]、
Pstd :基準圧力[Pa]、
SLstd:基準温度Tstdと基準圧力Pstdにおける基準層流燃焼速度
[m/sec]、
TTDC:燃焼室5の圧縮上死点における温度[K]、
PTDC:燃焼室5の圧縮上死点における圧力[Pa]、
(49)式の解説は上記(16)式と同様ある。すなわち、(49)式の基準温度Tstdと基準圧力Pstdと基準層流燃焼速度SLstdは実験により予め定められる値である。燃焼室5の通常の圧力である2bar以上の圧力下では、(49)式の圧力項(PTDC/Pstd)-0.16は小さな値となる。従って、圧力項(PTDC/Pstd)-0.16を一定値として、基準層流燃焼速度SLstdを基準温度Tstdのみで規定することも可能である。よって、基準温度Tstdが550[K]で、基準層流燃焼速度SLstdが1.0[m/sec]で、圧力項が0.7である場合の圧縮上死点における温度TTDCと層流燃焼速度SL2との関係は近似的に次式で定義することができる。
SL2=f16(TTDC)
=1.0×0.7×(TTDC/550)2.18
…(50)
ステップ189では主燃焼期間におけるガス流動の乱れ強さST2を算出する。このガス流動の乱れ強さST2も初期燃焼期間におけるガス流動の乱れ強さST1と同様に、エンジン回転速度NRPMの関数として次式で表すことができる。
ST2=f17(NRPM)=C2×NRPM …(20)
ただし、C2:定数、
乱れ強さST2を回転速度をパラメータとするテーブルから求めることも可能である。
ステップ190では、層流燃焼速度SL2[m/sec]と主燃焼期間におけるガス流動の乱れ強さST2とから、主燃焼期間における燃焼速度FLAME2[m/sec]を次式により算出する。
FLAME2=SL2×ST2 …(21)
ただし、SL2:層流燃焼速度[m/sec]、
(21)式は(18)式と同様、ガス乱れに伴う燃焼速度への寄与を考慮したものである。
ステップ191では、主燃焼期間BURN2[deg]を(19)式に類似した次式で算出する。
BURN2={(NRPM×6)×(BR2×VTDC)}
/(RPROBA×AF2×FLAME2) …(22)
ただし、AF2:火炎核の反応面積[m2]、
ここで、(22)式右辺のBR2は主燃焼期間の開始時期より終了時期までの燃焼質量割合の変化代である。初期燃焼期間の終了時期に燃焼質量割合BRが2%になり、その後、主燃焼期間が開始し、燃焼質量割合BRが60%に達して主燃焼期間が終了すると考えているので、BR2=60%−2%=58%を設定している。AF2は火炎核の成長行程における平均の反応面積であり、(19)式のAF1と同様に、予め実験的に定めた固定値とする。
主燃焼期間では圧縮上死点を挟んで燃焼室容積が変化する。つまり、主燃焼期間の開始時期と、主燃焼期間の終了時期のほぼ中央に圧縮上死点位置が存在するとみなすことができる。また、圧縮上死点付近ではクランク角が変化しても燃焼室容積があまり変化しない。そこで主燃焼期間での燃焼室容積としてはこの圧縮上死点での燃焼室容積VTDCで代表させることとしている。
図13は基本点火時期MBTCAL[degBTDC]を算出するためのもので、一定時間毎(例えば10msec毎)に実行する。図10、図12のうち遅く実行されるフローに続けて実行する。
ステップ41では、図10のステップ171で算出されている初期燃焼期間BURN1、図12のステップ191で算出されている主燃焼期間BURN2、図5のステップ17で算出されている点火時期無駄時間相当クランク角IGNDEAD、図5のステップ16で算出されている基準クランク角θPMAXを読み込む。
ステップ42では、初期燃焼期間BURN1と主燃焼期間BURN2の合計を燃焼期間BURN[deg]として算出する。
ステップ43では次式により基本点火時期MBTCAL[degBTDC]を算出する。
MBTCAL=BURN−θPMAX+IGNDEAD …(23)
ステップ44では、この基本点火時期MBTCALから点火無駄時間相当クランク角IGNDEADを差し引いた値を前回燃焼開始時期MBTCYCL[degBTDC]として算出する。
今サイクルの点火時期指令値としてステップ43で算出された基本点火時期MBTCALが用いられたとすると、次サイクルの点火時期になるまでの間、ステップ44で算出された前回燃焼開始時期MBTCYCLが図10のステップ162において用いられる。
図14は燃焼室5内の内部不活性ガス率MRESFRを算出するためのもので、一定時間毎(例えば10msec毎)に実行する。このフローは上記図5のフローに先立って実行する。
ステップ51ではエアフローメータ32の出力と目標当量比TFBYAを読み込む。ステップ52ではエアフロメータ32の出力に基づいて、燃焼室5に流入する新気量(シリンダ新気量)MACYLを算出する。このシリンダ新気量MACYLの算出方法については公知の方法を用いればよい(特開2001−50091公報参照)。
ステップ53では、燃焼室5内の内部不活性ガス量MRESを算出する。この内部不活性ガス量MRESの算出については、図15のフローにより説明する。
図15(図14ステップ53のサブルーチン)においてステップ61では、燃焼室5内の排気弁閉時期EVCにおける不活性ガス量MRESCYLを算出する。この不活性ガス量MRESCYLの算出についてはさらに図16のフローにより説明する。
図16(図15ステップ61のサブルーチン)においてステップ71では、排気弁閉時期EVC[degBTDC]、温度センサ45により検出される排気温度TEXH[K]、圧力センサ46により検出される排気圧力PEXH[kPa]を読み込む。
ここで、吸気弁閉時期IVCが吸気VTC機構27に与える指令値から既知であったように、排気弁閉時期EVCも排気VTC機構28に与える指令値から既知である。
ステップ72では燃焼室5の排気弁閉時期EVCにおける容積VEVCを算出する。これは吸気弁閉時期IVCにおける容積VIVCと同様に、排気弁閉時期をパラメータとするテーブルを検索することにより求めればよい。すなわち、排気弁VTC機構28を備える場合には、排気弁閉時期EVCから図23に示すテーブルを検索することにより、燃焼室5の排気弁閉時期EVCにおける容積VEVCを求めればよい。排気VTC機構28を備えないときには定数で与えることができる。
また、図示しないが圧縮比を変化させる機構を有する場合には、圧縮比の変化量に応じた排気弁閉時期における燃焼室容積VEVCをテーブルから求める。排気VTC機構28に加えて圧縮比を変化させる機構をも有する場合には、排気弁閉時期と圧縮比変化量とに応じたマップを検索することにより排気弁閉時期における燃焼室容積を求める。
ステップ73では、目標当量比TFBYAから図24に示すテーブルを検索することにより、燃焼室5内の不活性ガスのガス定数REXを求める。図24に示すように、不活性ガスのガス定数REXは目標当量比TFBYAが1.0のとき、つまり理論空燃比のとき最も小さく、これより大きくても小さくても大きくなる。
ステップ74では、排気温度TEXHに基づいて燃焼室5の排気弁閉時期EVCにおける温度TEVCを推定する。簡単には排気温度TEXHをそのままTEVCとおけばよい。なお、燃焼室5の排気弁閉時期における温度TEVCは、インジェクタ21の燃料噴射量に応じた熱量により変化するため、このような特性をも加味すれば、TEVCの算出精度が向上する。
ステップ75では、排気圧力PEXHに基づいて燃焼室5の排気弁閉時期EVCにおける圧力PEVCを算出する。簡単には排気圧力PEXHをPEVCと置けばよい。
ステップ76では、燃焼室5の排気弁閉時期EVCにおける容積VEVC、排気弁閉時期EVCにおける温度TEVC、排気弁閉時期EVCにおける圧力PEVC及び不活性ガスのガス定数REXから、燃焼室5の排気弁閉時期EVCにおける不活性ガス量MRESCYLを次式により算出する。
MRESCYL=(PEVC×VEVC)/(REX×TEVC) …(24)
このようにして燃焼室5の排気弁閉時期EVCにおける不活性ガス量MRESCYLの算出を終了したら図15に戻り、ステップ62で吸排気弁15、16のオーバーラップ(図では「O/L」と略記する)中に排気側から吸気側へ吹き返す不活性ガス量であるオーバーラップ中吹き返し不活性ガス量MRESOLを算出する。
この不活性ガス量MRESOLの算出については図17のフローにより説明する。
図17(図15ステップ62のサブルーチン)においてステップ81では、吸気弁開時期IVO[degBTDC]と、排気弁閉時期EVC[degBTDC]、図16のステップ74で算出されている燃焼室5の排気弁閉時期EVCにおける温度TEVCを読み込む。
ここで、吸気弁開時期IVOは、吸気弁閉時期IVCより吸気弁15の開き角だけ前の時期となるので、吸気弁閉時期IVCより吸気弁15の開き角(予め分かっている)とから求めることができる。
ステップ82では吸気弁開時期IVOと排気弁閉時期EVCとから、吸排気弁のオーバーラップ量VTCOL[deg]を次式により算出する。
VTCOL=IVO+EVC …(25)
例えば、吸気VTC機構27用アクチュエータへの非通電時に吸気弁開時期IVOが吸気上死点位置にあり、吸気VTC機構27用アクチュエータへの通電時に吸気弁開時期が吸気上死点より進角する特性であり、かつ排気VTC機構28用アクチュエータへの非通電時に排気弁閉時期EVCが排気上死点にあり、排気弁VTC機構28用アクチュエータへの通電時に排気弁閉時期EVCが排気上死点より進角する特性である場合には、IVOとEVCの合計が吸排気弁のオーバーラップ量VTCOLとなる。
ステップ83では、吸排気弁のオーバーラップ量VTCOLから、図25に示すテーブルを検索することによりオーバーラップ中の積算有効面積ASUMOLを算出する。図25に示すようにオーバーラップ中の積算有効面積ASUMOLは吸排気弁のオーバーラップ量VTCOLが大きくなるほど大きくなる値である。
ここで、図26は、吸排気弁のオーバーラップ中の積算有効面積ASUMOLの説明図であり、横軸はクランク角、縦軸は吸気弁12と排気弁15とのそれぞれの開口面積を示している。オーバーラップ中の任意の時点における有効開口面積は、排気弁開口面積と吸気弁開口面積とのうち小さい方とする。オーバーラップ中の全期間における積算有効面積ASUMOLは、吸気弁15及び排気弁16が開いている期間の積分値(図中の斜線部)である。
このようにオーバーラップ中積算有効面積ASUMOLを算出することで、吸気弁15と排気弁16とのオーバーラップ量を1つのオリフィス(流出孔)であると近似することができ、排気系の状態と吸気系の状態とからこの仮想オリフィスを通過するガス流量を簡略的に算出し得る。
ステップ84では、目標当量比TFBYAと、燃焼室5の排気弁閉時期EVCにおける温度TEVCとから、図27に示すマップを検索することにより、燃焼室5に残留する不活性ガスの比熱比SHEATRを算出する。図27に示したように、燃焼室に残留する不活性ガスの比熱比SHEATRは目標当量比TFBYAが1.0の近傍にあるときが最も小さくなり、それより大きくても小さくても大きくなる。また、目標当量比TFBYAが一定の条件では、燃焼室5の排気弁閉時期EVCにおける温度TEVCが高くなるほど小さくなる。
ステップ85では過給判定フラグTBCRG及びチョーク判定フラグCHOKEを設定する。この過給判定フラグTBCRG及びチョーク判定フラグCHOKEの設定については図18のフローにより説明する。
図18(図17ステップ85のサブルーチン)においてステップ101では、吸気圧力センサ44により検出される吸気圧力PINと、図16のステップ75で算出されている燃焼室5の排気弁閉時期EVCにおける圧力PEVCを読み込む。
ステップ102では、吸気圧力PINと、燃焼室5の排気弁閉時期EVCにおける圧力PEVCとから、次式により吸気排気圧力比PINBYEXを算出する。
PINBYEX=PIN/PEVC …(26)
この吸気排気圧力比PINBYEXは無名数であり、これと1をステップ103で比較する。吸気排気圧力比PINBYEXが1以下の場合には過給無しと判断し、ステップ104に進んで過給判定フラグTBCRG(ゼロに初期設定)=0とする。
吸気排気圧力比PINBYEXが1より大きい場合には過給有りと判断し、ステップ105へ進んで過給判定フラグTBCRG=1とする。
ステップ106では、図14のステップ51で読み込まれている目標当量比TFBYAから図28に示すテーブルを検索することにより、混合気の比熱比MIXAIRSHRを求め、これをステップ107で不活性ガスの比熱比SHEATRと入れ換える。図28に示したように、混合気の比熱比MIXAIRSHRは、目標当量比TFBYAが小さくなるほど大きくなる値である。
ステップ106、107において、不活性ガスの比熱比SHEATRを混合気の比熱比MIXAIRSHRに置き換えるのは、ターボ過給や慣性過給等の過給時を考慮したものである。すなわち、過給時には吸排気弁のオーバーラップ中のガス流れが吸気系から排気系へ向かう(吹き抜ける)ので、この場合においては、上記の仮想オリフィスを通過するガスの比熱比を不活性ガスの比熱比から混合気の比熱比に変更することで、吹き抜けるガス量を精度良く推定し、内部不活性ガス量を精度良く算出するためである。
ステップ108では、図17のステップ84または図18のステップ106、107で算出している不活性ガスの比熱比SHEATRに基づき、最小と最大とのチョーク判定しきい値SLCHOKEL、SLCHOKEHを次式により算出する。
SLCHOKEL={2/(SHEATR+1)}
^{SHEATR/(SHEATR−1)} …(27a)
SLCHOKEH={−2/(SHEATR+1)}
^{−SHEATR/(SHEATR−1)}…(27b)
これらのチョーク判定しきい値SLCHOKEL、SLCHOKEHは、チョークする限界値を算出している。
ステップ108において、(27a)右辺、(27b)右辺の各累乗計算が困難な場合には、(27a)、(27b)式の算出結果を、最小チョーク判定しきい値SLCHOKELのテーブルと最大チョーク判定しきい値SLCHOKEHのテーブルとしてそれぞれエンジンコントローラ31のメモリに予め記憶しておき、不活性ガスの比熱比SHEATRから当該テーブルを検索することにより求めてもよい。
テップ109では、吸気排気圧力比PINBYEXが、最小チョーク判定しきい値SLCHOKEL以上でかつ最大チョーク判定しきい値SLCHOKEH以下の範囲内にあるか否か、すなわちチョーク状態にないか否かを判定する。吸気排気圧力比PINBYEXが範囲内にある場合にはチョーク無しと判断し、ステップ110に進んでチョーク判定フラグCHOKE(ゼロに初期設定)=0とする。
吸気排気圧力比P1NBYEXが範囲内にない場合にはチョーク有りと判断し、ステップ111に進んでチョーク判定フラグCHOKE=1とする。
このようにして過給判定フラグとチョーク判定フラグの設定を終了したら図17に戻り、ステップ86〜88で次の4つの場合分けを行う。
〈1〉過給判定フラグTBCRG=0かつチョーク判定フラグCHOKE=0のとき
〈2〉過給判定フラグTBCRG=0かつチョーク判定フラグCHOKE=0のとき
〈3〉過給判定フラグTBCRG=0かつチョーク判定フラグCHOKE=1のとき
〈4〉過給判定フラグTBCRG=1かつチョーク判定フラグCHOKE=0のとき
そして、上記〈1〉のときにはステップ89に進んで、過給無しかつチョーク無し時のオーバーラップ中の平均吹き返し不活性ガス流量MRESOLtmp1を、上記〈2〉のときにはステップ90に進んで過給無しかつチョーク有り時のオーバーラップ中の吹き返し不活性ガス流量MRESOLtmp2を、上記〈3〉のときにはステップ91に進んで過給有りかつチョーク無し時のオーバーラップ中の平均吹き返し不活性ガス流量MRESOLtmp3を、上記〈4〉のときにはステップ92に進んで過給有りかつチョーク有り時の吹き返し不活性ガス流量MRESOLtmp4をそれぞれ算出し、算出結果をオーバーラップ中の吹き返し不活性ガス流量MRESOLtmpに移す。
ここで、過給無しかつチョーク無し時のオーバーラップ中吹き返し不活性ガス流量MRESOLtmp1の算出について図19のフローにより説明する
図19(図17ステップ89のサブルーチン)においてステップ121では、図16のステップ73、75で算出されている不活性ガスのガス定数REX、燃焼室5の排気弁閉時期における圧力PEVCを読み込む。
ステップ122では、不活性ガスのガス定数REXと、図17のステップ81で読み込まれている燃焼室5の排気弁閉時期における温度TEVCとに基づき、後述するガス流量の算出式に用いる密度項MRSOLDを次式により算出する。
MRSOLD=SQRT{1/(REX×TEVC)} …(28)
ここで、(28)式右辺の「SQRT」はすぐ右のカッコ内の値の平方根を計算させる関数である。
なお、密度項MRSOLDの平方根計算が困難な場合は、(28)式の算出結果をマップとしてエンジンコントローラ31のメモリに予め記憶しておき、ガス定数REXと燃焼室5の排気弁閉時期における温度TEVCとからそのマップを検索することにより求めてもよい。
ステップ123では、図17のステップ84で算出されている不活性ガスの比熱比SHEATRと、図18のステップ102で算出されている吸気排気圧力比PINBYEXとに基づき、後述するガス流量の算出式に用いる圧力差項MRSOLPを次式により算出する。
MRSOLP=SQRT[SHEATR/(SHEATR−1)
×{PTNBYEX^(2/SHEATR)
−PTNBYEX^((SHEATR+1)/SHEATR)}]…(29)
ステップ124では、これら密度項MRSOLD、圧力差項MRSOLPと、燃焼室5の排気弁閉時期における圧力PEVCとから、過給無しかつチョーク無し時のオーバーラップ中の吹き返し不活性ガス流量MRESOLtmp1を次式(ガス流量の算出式)により算出し、その算出値をステップ125でオーバーラップ中の吹き返し不活性ガス流量MRESOLtmpに移す。
MRESOLtmp1=1.4×PEVC×MRSOLD×MRSOLP…(30)
次に、過給無しかつチョーク有り時の吹き返し不活性ガス流量の算出について図20のフローにより説明する
図20(図17ステップ90のサブルーチン)においてステップ131、132では、図19のステップ121、122と同様にして、不活性ガスのガス定数REX、燃焼室5の排気弁閉時期における圧力PEVCを読み込み、これらから前述の(28)式により密度項MRSOLDを算出する。
ステップ133では、図17のステップ84で算出されている不活性ガスの比熱比SHEATRに基づき、チョーク時圧力差項MRSOLPCを次式により算出する。
MRSOLPC=SQRT[SHEATR×{2/(SHEATR+1)} ^{(SHEATR+1)/〔SHEATR−1)}]…(31)
なお、(31)式の累乗計算と平方根計算とが困難な場合には、(31)式の算出結果を、チョーク時圧力差項MRSOLPCのテーブルとしてエンジンコントローラ31のメモリに予めに記憶しておき、不活性ガスの比熱比SHEATRからそのテーブルを検索することにより求めてもよい。
ステップ134では、これら密度項MRSOLD、チョーク時圧力差項MRSOLPCと、燃焼室5の排気弁閉時期における圧力PEVCとから、過給無しかつチョーク有り時のオーバーラップ中吹き返し不活性ガス流量MRESOLtmp2を次式により算出し、その算出値をステップ135でオーバーラップ中の吹き返し不活性ガス流量MRESOLtmpに移す。
MRESOLtmp2=PEVC×MRSOLD×MRSOLPC …(32)
次に、過給有りかつチョーク無し時の吹き返しガス流量の算出について図21のフローにより説明する
図21(図17ステップ91のサブルーチン)においてステップ141では、吸気圧力センサ44により検出される吸気圧力PINを読み込む。
ステップ142では、図18のステップ106、107で算出されている不活性ガスの比熱比SHEATRと、図18のステップ102で算出されている吸気排気圧力比PINBYEXとから、過給時圧力差項MRSOLPTを次式により算出する。
MRSOLPT=SQRT[SHEATR/(SHEATR−1)
×{PINBYEX^(−2/SHEATR)
−PINBYEX^(−(SHEATR+1)/SHEATR)}]…(33)
なお、(33)式の累乗計算と平方根計算とが困難な場合は、(33)式の算出結果を、過給時圧力差項MRSOLPTのマップとしてエンジンコントローラ31のメモリに予め記憶しておき、不活性ガスの比熱比SHEATRと吸気排気圧力比PINBYEXとからそのマップを検索することにより求めてもよい。
ステップ143では、この過給時圧力差項MRSOLPTと吸気圧力PINとに基づいて、過給有りかつチョーク無し時のオーバーラップ中吹き返し不活性ガス流量MRESOLtmp3を次式により算出し、その算出値をステップ144でオーバーラップ中の吹き返し不活性ガス流量MRESOLtmpに移す。
MRESOLtmp3=−0.152×PIN×MRSOLPT …(34)
ここで、(34)式の吹き返し不活性ガス流量MRESOLtmp3は負の値とすることで、オーバーラップ中に吸気系から排気系へ吹き抜ける混合気のガス流量を表すことができる。
次に、過給有りかつチョーク有り時のオーバーラップ中吹き返し不活性ガス流量の算出について図22のフローにより説明する
図22(図17ステップ92のサブルーチン)においてステップ151、152では、図21のステップ141と同じく吸気圧力センサ44により検出される吸気圧力PINを読み込むと共に、図20のステップ132と同じくチョーク時圧力差項MRSOLPCを前述の(31)式により算出する。
ステップ153では、このチョーク時圧力差項MRSOLPCと吸気圧力PINとに基づいて、過給有りかつチョーク有り時のオーバーラップ中吹き返しガス流量MRESOLtmp4を次式により算出し、その算出値をステップ154でオーバーラップ中の吹き返し不活性ガス流量MRESOLtmpに移す。
MRESOLtmp4=−0.108×PIN×MRSOLPC …(35)
ここで、(35)式の吹き返し不活性ガス流量MRESOLtmp4も、MRESOLtmp3と同様、負の値とすることで、オーバーラップ中に吸気側から排気側へ吹き抜ける混合気のガス流量を表すことができる。
このようにして、過給の有無とチョークの有無との組み合わせにより場合分けした、オーバーラップ中の吹き返し不活性ガス流量MRESOLtmpの算出を終了したら図17に戻り、ステップ93においてこのオーバーラップ中の吹き返し不活性ガス流量MRESOLtmpとオーバーラップ期間中の積算有効面積ASUMOLとから、次式によりオーバーラップ中の吹き返し不活性ガス量MRESOLを算出する。
MRESOL=(MRESOLtmP×ASUMOL×60)
/(NRPM×360) …(36)
このようにしてオーバーラップ中の吹き返し不活性ガス量MRESOLの算出を終了したら図15に戻り、ステップ63において燃焼室5内の排気弁閉時期EVCにおける不活性ガス量MRESCYLと、このオーバーラップ中吹き返しガス量MRESOLとを加算して、つまり次式により内部不活性ガス量MRESを算出する。
MRES=MRESCYL+MRESOL …(37)
前述のように、過給有り時にはオーバーラップ中吹き返し不活性ガス流量(MRESOLtmp3、MRESOLtmp4)が負となるため、上記(36)式のオーバーラップ中の吹き返し不活性ガス量MRESOLも負となり、このとき(37)式によれば、オーバーラップ中の吹き返し不活性ガス量MRESOLの分だけ内部不活性ガス量が減じられる。
このようにして内部不活性ガス量MRESの算出を終了したら図14に戻り、ステップ54においてこの内部不活性ガス量MRESと、目標当量比TFBYAとを用いて、次式により内部不活性ガス率MRESFR(燃焼室5内の総ガス量に対する内部不活性ガス量の割合)を算出する。
MRESFR=MRES
/{MRES+MACYL×(1+TFBYA/14.7)}…(38)
これで内部不活性ガス率MRESFRの算出を総て終了する。
このように本実施形態によれば、内部不活性ガス量MRESを、燃焼室5の排気弁閉時期における不活性ガス量MRESCYLと、吸排気弁のオーバーラップ中の吹き返しガス量MRESOLとで構成し(図15のステップ63参照)、この場合に、燃焼室5の排気弁閉時期における温度TEV及び圧力PEVCを算出し(図16のステップ74、75)、これら温度TEVC、圧力PEVCと不活性ガスのガス定数REXとに基づいて状態方程式(上記(24)式)により燃焼室5の排気弁閉時期における不活性ガス量MRESCYLを算出する(図16のステップ76参照)ようにしたので、特に、燃焼室5内部の状態量(PEVC、VEVC、TEVC)が刻々と変化する過渡運転時においても、運転条件に関わらず精度良く燃焼室5の排気弁閉時期における不活性ガス量MRESCYLを算出(推定)できる。
また、燃焼室5の排気弁閉時期における温度TEVC及び圧力PEVC、不活性ガスのガス定数REX及び比熱比SHEATR、吸気圧力PINに基づいてオーバーラップ中の吹き返し不活性ガス流量(MRESOLtmp1、MRESOLtmp2)を算出し(図19、図20参照)、このガス流量にオーバーラップ中の積算有効面積ASUMOLを乗算して、オーバーラップ中の吹き返しガス量MRESOLを算出する(図17のステップ93参照)ようにしたので、精度良くオーバーラップ中吹き返しガス量MRESOLを算出(推定)できる。
このように、燃焼室5の排気弁閉時期における不活性ガス量MRESCYL、オーバーラップ中吹き返しガス量MRESOLとも精度良く算出(推定)できると、これらの和である内部不活性ガス量MRESも精度良く算出(推定)できることになり、この精度良く推定することが可能となった内部不活性ガス量MRESに基づいて算出される内部不活性ガス率MRESFRを、点火時期の算出に用いる燃焼室5内の吸気弁閉時期IVCにおける温度TINIに活かすことで(図5のステップ13参照)、燃焼室5内の吸気弁閉時期IVCにおける温度TINIを精度良く算出できる。また、精度良く推定することが可能となった内部不活性ガス量MRESを、燃料噴射量、バルブ開閉タイミング(オーバーラップ量)などにも活かすことで、エンジンを適切に制御することが可能である。
また、不活性ガスのガス定数REXや不活性ガスの比熱比SHEATRは、目標当量比TFBYAに応じた値としているので(図24、図27参照)、理論空燃比を外れた空燃比での運転時(例えば理論空燃比よりもリーンな空燃比で運転を行うリーン運転時、冷間始動時のようにエンジンが元々不安定な状態を安定させるために理論空燃比の空燃比よりもリッチ側の空燃比で運転するエンジン始動直後、同じく大きな出力が要求されるために理論空燃比の空燃比よりもリッチ側の空燃比で運転する全負荷運転時)にも、燃焼室5の排気弁閉時期における不活性ガス量MRESCYL、オーバーラップ中吹き返しガス量MRESOL、これらの合計である内部不活性ガス量MRES、これに基づく内部不活性ガス率MRESFRを精度良く算出できる。
また、オーバーラップ期間の積算有効面積ASUMOLを仮想オリフィスの面積とし、この仮想オリフィスを排気が燃焼室5から吸気系へと吹き抜けると仮定しているので、オーバーラップ中の吹き返し不活性ガス量MRESOLの算出が簡略化されている。
これで燃焼室5内の内部不活性ガス率MRESFRの算出についての説明を終了し、次にはノック限界点火時期KNOCKcalの算出について説明する。
ここでは、まず新たに創出したノック制御の考え方について説明する。図29はノック発生時の燃焼室5内の圧力履歴を示している。高周波分を取り除いた平均圧力を改めて描いてみると、自着火時期θknk(ノック発生時期)に燃焼室5内の圧力が一気に上昇していることがわかる。このノックによる圧力上昇は燃焼室5内の未燃混合気が等容燃焼した結果で生じるとみなして、その圧力上昇分dPを次のように熱力学の計算式により算出する。
いま、未燃燃料量MUBの未燃ガスが等容燃焼で全て燃えると仮定すると、熱力学より発熱量Qは次式で与えられる。
Q=CF#×MUB …(補4)
ただし、CF#:燃料の低位発熱量、
一方、この発熱量Qにより燃焼室5内のガス温度が上昇するので、この温度上昇分をΔTとすれば次式が成立する。
Q=Cv×M×ΔT …(補5)
ただし、M:燃焼室5内の全てのガスの質量、
Cv:既燃ガスの定容比熱、
(補4)、(補5)の両式は等しいと置いて温度上昇分ΔTについて解くと次式が得られる。
ΔT=(CF#×MUB)/(Cv×M) …(補6)
気体の状態方程式PV=nRTの両辺を微分する(ただし、定容変化であるためVは一定)。
V×dP=dn×R×T+n×R×dT …(補7)
ここで、ノックが発生するような状態ではモル数nの変化は小さいため、(補7)式右辺のdn=0として次式を得る。
dP=(n×R/V)×dT …(補8)
(補8)、(補6)の両式より温度上昇分dT(=ΔT)を消去し圧力上昇分dPについて整理すると最終的に次式を得る。
dP=n×R×CF#×MUB/(V×Cv×M)…(補9)
すなわち、(補9)式は、未燃燃料量MUB、燃焼室5の自着火時期における容積V、既燃ガスの定容比熱Cv、燃焼室5内の全てのガスの質量M、燃焼室5内の全てのガスの総モル数nが分かれば、圧力上昇分DPを計算式により求めることができることを示している。
この場合、燃焼室5の自着火時期は公知の手法を用いて求めることができる。公知の手法とは、単位クランク角毎に燃焼室5内の温度及び圧力を算出して図30Aまたは図30Bよりその温度、圧力に対する1/τを求め、この1/τを積算した値が1となるときのクランク角を自着火時期θknkとするものである。ここで、図30Aまたは図30Bのτは燃焼室5内の燃料が自着火にいたるまでの時間である。自着火時期θknkが求まれば、この自着火時期θknkから燃焼室5の自着火時期における容積Vknkが機械的に求まる。
なお、第1実施形態ではガソリンを燃料としている場合に、この燃料のオクタン価推定値OCTESTを算出するようにしており、このオクタン価推定値OCTESTの燃料のときの1/τを算出する必要がある。このため、図30Aに示すオクタン価100(最大オクタン価)の燃料での1/τと、図30Bに示すオクタン価80(最小オクタン価)の燃料での1/τとに基づいてオクタン価推定値OCTESTの燃料での1/τを算出するようにしている(後述する)。
一方、自着火時期θknkが分かれば図31より自着火時の燃焼質量割合BRknkを求めることができ、この自着火時の燃焼質量割合BRknkと燃料量QINJとから次の計算式により未燃燃料量MUBを求めることができる。すなわち、燃料量QINJのうちBRknkが既に燃焼している割合であるから、残りの1−BRknkがまだ燃焼していない割合となる。
MUB=QINJ×(1−BRknk) …(補10)
ただし、図31では計算を簡単にするため、燃焼開始遅れ期間、初期燃焼期間、主燃焼期間の3つ分け、各期間の特性を直線で近似している。
この場合、図31の特性はエンジンの負荷や回転速度が相違しても変わらないので、エンジン仕様が定まれば一義的に定まることから、運転条件の相違毎に適合する必要はない。
次に、既燃ガスの定容比熱Cvについても次のように熱力学の計算式により算出することができる。すなわち、定圧比熱Cpの定義はCp=(∂E/∂T)pであるから、この式を積分すると次式を得る。
∫dE=Cp×∫dT …(補11)
∴E=Cp×T …(補12)
(補12)式より定圧比熱Cpは次式で与えられる。
Cp=E/T …(補13)
一方、理想気体で等圧変化のときにはCp−Cv=Rが成立するので、この式と(補13)式より定圧比熱Cpを消去し定容比熱Cvについて整理すると最終的に次式が得られる。
Cv=E/T−R …(補14)
ただし、E:エンタルピ、
T:燃焼室5内の自着火時時期における平均温度、
上記(補9)式の燃焼室5内の全てのガスの質量Mは次式により計算できる。
M=MRES+MACYL+QINJ …(補15)
ただし、MRES:内部不活性ガス量、
MACYL:シリンダ新気量、
QINJ:燃料量、
このように、未燃燃料量MUB、既燃ガスの定容比熱Cv、燃焼室5内の全てのガスの質量Mも(補10)、(補14)、(補15)の計算式によりそれぞれ求めることができることがわかる。残る未知数は、上記(補9)式の燃焼室5内の全てのガスの総モル数n、(補14)式のエンタルピE及び燃焼室5内の自着火時期における平均温度T(=TE)である。
ここで、上記(補9)式の燃焼室5内の全てのガスの総モル数n及び各成分ガスのモル数は燃焼の基礎式を用いて計算により求めることができ、各成分ガスのモル数と実験式とを用いて(補14)式のエンタルピEを計算することができる。燃焼室5内の自着火時期における平均温度TEも熱力学の式を用いて計算により求めることができる。
このように、ノックによる圧力上昇分dPを、テーブルやマップに頼らずにほぼ計算式により求められるように構成しているのであり、これによりテーブルやマップ作成に要する実験の工数と時間を大幅に削減することができる。
後は、このようにして得た圧力上昇分dPとノックとを関連させることであり、このdPをノック強度推定値に換算する。
次に、ノック限界点火時期KNOCKcalの算出を以下のフローチャートを参照しながら詳述する。
図32、図33(図2のステップ2のサブルーチン)はノック限界点火時期KNOCKcalを算出するためのもので、クランク角が所定の時期(例えばMBTCAL)になると実行する。なお、以下では前述のフローで既に求めている物理量を重複して求めているような部分もあるが、説明する。
図32においてステップ201では、図14のステップ52、53で算出されているシリンダ新気量MACYL[g]及び内部不活性ガス量MRES[g]、燃料量QINJ[g]、図10のステップ171で算出されている初期燃焼期間BURN1[deg]、図12のステップ34で算出されている主燃焼期間BURN2[deg]、図13のステップ191で算出されている基本点火時期MBTCAL[degBTDC]のほか、図5のステップ17で算出されている点火無駄時間相当値IGNDEAD[deg]、温度センサ43により検出されるコレクタ内温度TCOL[K]、温度センサ45より検出される排気温度TEXH[K]、圧力センサ44により検出されるコレクタ内圧力PCOL[Pa]を読み込む。なお、燃料量QINJ[g]は燃料噴射パルス幅TI[ms]に比例させて求めればよい。
ステップ202ではシリンダ新気量MACYL[g]をWIDRY[g]に、内部不活性ガス量MRES[g]をMASSZ[g]に移す。これらWIDRY、MASSZは、ノック強度指標KNKIの算出にのみ用いるために導入したもので、WIDRYはシリンダ新気量、MASSZは内部不活性ガス量である。
ステップ203では基本点火時期MBTCAL[degBTDC]と点火無駄時間相当クランク角IGNDEAD[deg]を減算した値(つまり燃焼開始時のクランク角)をクランク角θ[degBTDC]にセットする。
ステップ204では燃焼室5の圧縮開始時温度TC0[K]を次式により算出する。
TC0={(WIDRY+QINJ)×TCOL+MASSZ×TEXH}
/(WIDRY+QINJ+MASSZ) …(60)
ここでは、不活性ガスと新気の比熱を等しくして式を簡略化している。
ステップ205では燃焼室5の圧縮開始時圧力PC0[Pa]を算出する。これは圧力センサ44により検出される吸気弁閉時期IVCのコレクタ内圧力PCOLをPC0とすればよい。
ステップ206〜208はオクタン価推定値OCTESTの燃料に対する1/τを算出する部分である。最大オクタン価から最小オクタン価までの複数の異なるオクタン価毎に1/τのマップを備えさせるとROM容量が大きくなり過ぎるので、ここでは最大オクタン価(例えば100)の燃料に対する1/τのマップと、最小オクタン価(例えば80)の燃料に対する1/τのマップとだけ持たせておき、最大オクタン価と最小オクタン価の間にあるオクタン価(オクタン価推定値OCTEST)の燃料に対する1/τは、それらオクタン価100の燃料での1/τと、オクタン価80の燃料での1/τとの間を補間計算して算出する。
具体的にはステップ206、207で圧縮開始時温度TC0と圧縮開始時圧力PC0とから図30A、図30Bを内容とするマップをそれぞれ検索することによりオクタン価100の燃料での1/τ、オクタン価80の燃料での1/τを算出する。各1/τは図30A、図30Bのように温度、圧力が大きくなるほど大きくなる値である。また、温度、圧力が同じであれば、オクタン価100の燃料での1/τのほうが、オクタン価80の燃料での1/τより大きい傾向を示す。従って、ステップ208ではオクタン価推定値OCTESTの燃料での1/τを次式(補間計算式)により算出する。
1/τEST=1/τ80+(OCTEST−80)
×(1/τ100−1/τ80)/(100−80)
…(補17)
ただし、1/τEST:オクタン価推定値OCTESTの燃料での1/τ、
1/τ100:オクタン価100の燃料での1/τ、
1/τ80 :オクタン価80の燃料での1/τ、
ここで、オクタン価推定値OCTESTの算出については図38により後述する。
ステップ209ではこのオクタン価推定値OCTESTの燃料での1/τをSUMに加算する。SUMは1/τの積算値を表す。積算値SUMの初期値はゼロである。
ステップ210ではこの積算値SUMと1とを比較する。積算値SUMが1に満たないときには自着火したタイミングでないのでステップ211に進んで現在のクランク角θと所定値const01を比較する。ここで、所定値const01には点火後のノックがもう生じないクランク角位置(例えば90degATDC)を設定している。現在のクランク角θが所定値const01を超えていないときにはステップ212に進み、クランク角を所定角度const02(例えば1deg)だけ進める。
ステップ213では燃焼室5内の瞬間圧縮比εθを算出する。この瞬間圧縮比εθは燃焼室5の隙間容積Vcを燃焼室5の現在のクランク角θにおける容積で除算した値の逆数である。燃焼室5の現在のクランク角θにおける容積はピストン6のストローク位置つまりエンジンのクランク角により定まるので、クランク角θをパラメータとするテーブルを予め作成しておき現在のクランク角θからこのテーブルを検索することにより求めればよい。
ステップ214では現在のクランク角θのときの燃焼質量割合BRを算出する。これには、まず現在のクランク角θから、燃焼質量割合を求めるためのクランク角Θ[degATDC]を算出する。
この場合、変数としてのクランク角Θは圧縮上死点TDCを基準のゼロとしてこれより遅角側をプラス、これより進角側をマイナスに採った値であり、このクランク角Θ[degATDC]を用いると燃焼質量割合BRは次のような一次式となる。
燃焼遅れ期間;
BR=0 …(61)
初期燃焼期間;
BR=SS1×(Θ+MBTCAL−IGNDEAD) …(62)
主燃焼期間 ;
BR=0.02+SS2×(Θ+MBTCAL−IGNDEAD−BURN1)
…(63)
ただし、SS1:0.02/BURN1、
SS2:0.58/BURN2、
従って、算出したクランク角Θが燃焼遅れ期間にあるときには(61)式により、初期燃焼期間にあるときには(62)式により、主燃焼期間にあるときには(63)式により燃焼質量割合を算出する。
ステップ215、216では燃焼室5内の燃料が燃焼したときの平均温度TC[K]と平均圧力PC[Pa]を次式により算出する。
TC=TC0×εθ^0・35
+CF#×QINJ×BR/(MASSZ+WIDRY+QINJ)
…(64)
PC=PC0×εθ^1.35×TC/TC0/εθ^0.35…(65)
ただし、εθ :瞬間圧縮比、
CF#:燃料の低位発熱量、
(64)、(65)式は燃焼室5内でガスが断熱圧縮されると共に定容変化で燃焼すると仮定したときの式である。すなわち、(64)式右辺第1項が断熱圧縮後の温度を、(65)式右辺のPC0×εθ^1.35が断熱圧縮後の圧力を、これに対して(64)式右辺第2項が定容変化で燃焼により温度上昇した分を、(65)式右辺のTC/TC0/εθ^0.35が定容変化での燃焼による圧力上昇率を表している。
ステップ217では燃焼室5内の未燃混合気の温度Tubを次式により算出する。
Tub=TC0×εθ^0・35×(PC/PC0/εθ^1.35)
^(0.35/1.35) …(66)
(66)式は燃焼室5内でガスが断熱圧縮されると共に、(64)式とは相違して、可逆断熱変化で燃焼すると仮定したときの式である。すなわち、(66)式右辺のTC0×εθ^0.35が断熱圧縮後の温度を、(66)式右辺の(PC/PC0/εθ^1.35)^(0.35/1.35)が可逆断熱変化での燃焼による温度上昇率を表している。
なお、未燃混合気の圧力は上記(65)式の平均圧力PCと等しいと仮定する。
ここで、(64)式の平均温度TCと、(66)式の未燃混合気の温度Tubとの違いは次のようなものである。すなわち、(64)式の平均温度TCは燃焼室5内で発生した熱が燃焼室5内の全てのガスを昇温させると仮定したときの温度である。これに対して、(66)式の未燃混合気温度Tubは燃焼室5内でガスが既燃ガスと未燃ガスの2つに分離された状態にあり、燃焼室5内で発生した熱は既燃ガスのみを昇温させると仮定したときの温度である。そして、未燃混合気の自着火により急激な圧力上昇が生じてノックが発生する。
この後はステップ206に戻り、ステップ206、207において、初回に用いた燃焼開始時温度TC0と燃焼開始時圧力PC0に代えて、今度はステップ216、217で得ている未燃混合気温度Tubと未燃混合気圧力(=PC)から図30A、図30Bを内容とするマップをそれぞれ検索することによりオクタン価100の燃料での1/τとオクタン価80の燃料での1/τとを算出する。そしてステップ208ではこれら2つの1/τに基づいてオクタン価推定値OCTESTの燃料での1/τを上記の(補17)式を用いて算出し、算出したオクタン価推定値OCTESTの燃料での1/τをステップ209で積算値SUMに積算する。そして、積算後のSUMと1をステップ210で、また現在のクランク角θと所定値const01をステップ211で比較する。積算値SUMが1に満たずかつクランク角θが所定値const02を超えていない場合にはステップ212〜217の操作を行って燃焼室平均圧力PCと未燃混合気温度Tubを算出し、再びステップ206〜217の操作を繰り返す。
このようにクランク角θを所定値const02進める毎に燃焼室平均圧力PCと未燃混合気温度Tubを算出し直してオクタン価推定値OCTESTの燃料での1/τを算出しこれを積算値SUMに積算することで、ステップ209における積算値SUMが1に向かって徐々に大きくなってゆく。
やがて1/τの積算値SUMが1以上となったときには自着火時期(ノック発生時期)になったと判断し、ステップ210より図33のステップ218に進んでそのときのクランク角θを自着火時期予測値θknkest[degBTDC]に移す。
図33のステップ219では、自着火時期予測値θknkestでの燃焼質量割合BRknkを算出する。これは自着火時期予測値θknkestが初期燃焼期間にあるときにはこの自着火時期予測値θknkestを圧縮上死点TDCを基準とする上記のクランク角Θに変換し、その変換したクランク角Θを上記の(62)式に、また自着火時期予測値θknkestが主燃焼期間にあるときにはこの自着火時期予測値θknkestを圧縮上死点TDCを基準とする上記のクランク角Θに変換し、その変換したクランク角Θを上記の(63)式にそれぞれ代入することによって求めることができる。
ステップ220では、燃焼室5の自着火時における平均温度TEを算出する。これは上記(64)式右辺の燃焼質量割合BRに1.0を代入して得られる燃焼室5の平均温度TCを燃焼室5の自着火時平均温度TEとして求めればよい。
ステップ221では、燃焼室5の自着火時期予測値θknkestにおける容積Vknkestを算出する。燃焼室5の自着火時期予測値θknkestにおける容積Vknkestは、燃焼室5の現在のクランク角θにおける容積と同様に、ピストン6のストローク位置つまりエンジンのクランク角により定まるので、クランク角θをパラメータとするテーブルを予め作成しておき自着火時期予測値θknkestからこのテーブルを検索することにより求めればよい。
ステップ222では燃料量QINJ[g]と自着火時期予測値θknkestでの燃焼質量割合BRknkestとから自着火時の未燃燃料量MUB1[g]を次式により算出する。
MUB1=QINJ×(1−BRknkest) …(67)
(67)式は上記(補10)式においてMUB→MUB1、BRknk→BRknkestの置き換えにより得られる式である。
ステップ223では総ガスモル数MLALLを算出する。これについては図34のフローにより説明する。
図34(図33ステップ223のサブルーチン)において、ステップ241では図32のステップ202で算出されている内部不活性ガス量MASSZ[g]、シリンダ新気量WIDRY[g]、燃料量QINJ[g]を読み込み、ステップ242で燃焼室5の内部不活性ガス率RTOEGRを次式により算出する。
RTOEGR=MASSZ/(MASSZ+WIDRY+QINJ)…(68)
ステップ243では燃焼室5内の燃料が全て燃焼した(つまりBR=1)ときの各ガス成分のモル数を算出する。ただし、ガス成分としては、燃料のほかは、O2、N2、CO2、CO、H2Oに限定する。また、ガソリンの燃料組成をC7H14で近似している。
まず、燃料量QINJ[g]の燃料が燃焼した後に発生する総排出ガスのモル数WEDRY[mol]と排出ガス中のO2、N2、CO2、CO、H2Oといったそれぞれのガス成分のモル数XEO2[mol]、XEN2[mol]、XECO2[mol]、XECO[mol]、XEH2O[mol]を次のように算出する。
総排出ガス;WEDRY=MIDRY#×WlDRY−QlNJ
/(B#×AC#+A#×AH)×(A#/4) …(69.1)
酸素 ;XEO2 ={MIDRY#×WlDRY×0.21−QINJ
/(B#×AC#+A#×AH)×(B#+A#/4)}
/WEDRY …(69.2)
二酸化炭素;XECO2={QINJ/(B#×AC#+A#×AH#)×B#}
/WEDRY …(69.3)
一酸化炭素;XECO =0 …(69.4)
窒素 ;XEN2 =1−XEO2−XECO2−XECO …(69.5)
水 ;XEH2O={MIDRY#×WIDRY×15/745
+QINJ/(B#×AC#+A#×AH#)
×A#/2}/WEDRY …(69.6)
ただし、MIDRY#:1g当たりの新気ガスのモル数
AH#:水素のモル質量、
AC#:炭素のモル質量、
A#、B#:定数、
ここで、ガソリンの組成をC7H14で近似しているため、定数A#は14、定数B#は7である。
次に、燃焼サイクル初期の各ガス成分のモル数WGAS[mol]、WEGR[mol]、WO2[mol]、WN2[mol]、WCO2[mol]、WCO[mol]、WH2O[mol]を次のように算出する。
燃料 ;WGAS=QINJ/(B#×AC#+A#×AH#)
…(70.1)
不活性ガス;WEGR=MIDRY#×WIDRY×RTOEGR…(70.2)
酸素 ;WO2 =MIDRY#×WIDRY×0.21+WEGR×XEO2
…(70.3)
窒素 ;WN2 =MIDRY#×WIDRY×0.89+WEGR×XEN2
…(70.4)
二酸化炭素;WCO2=WEGR×XECO2 …(70.5)
一酸化炭素;WCO =WEGR×XECO …(70.6)
水 ;WH2O=MIDRY#×WIDRY×15/745
+WEGR×XEH2O …(70.7)
次に、全て燃焼した(つまりBR=1)ときの各ガス成分のモル数MLGAS[mol]、MLO2[mol]、MLN2[mol]、MLCO2[mol]、MLCO[mol]、MLH2O[mol]を次のように算出する。
燃料 ;MLGAS=WGAS−QINJ/(B#×AC#+A#×AH#)
…(71.1)
酸素 ;MLO2 =WO2−(B#+A#/4)×QlNJ
/(B#×AC#+A#×AH#) …(71.2)
窒素 ;MLN2 =WN2 …(71.3)
二酸化炭素;MLCO2=WCO2+B#×QINJ
/(B#×AC#+A#×AH#) …(71.4)
一酸化炭素;MLCO =WCO …(71.5)
水 ;MLH2O=WH2O+A#/2×QINJ
/(B#×AC#+A#×AH#) …(71.6)
これで、燃焼室5内の燃料が全て燃焼した(つまりBR=1)ときの各ガス成分のモル数の算出を終了するので、ステップ244に進み各ガス成分のモル数の総和を燃焼室5内の燃料が全て燃焼したときの総ガスモル数MLALLとして、つまり次式により総ガスモル数MLALLを算出する。
MLALL=MLGAS+MLO2+MLN2+MLCO2+MLCO+MLH2O
…(71.7)
このようにして総ガスモル数MLALLの算出を終わったら図33のステップ224に戻り、ガスエンタルピ(自着火する燃料ガスのエンタルピ)E[cal/mol]を算出する。このガスエンタルピの算出については図35のフローにより説明する。図35(図33ステップ224のサブルーチン)においてステップ251では、図33のステップ220で算出されている燃焼室5の自着火時平均温度TE、図34のステップ243、244で算出されている各ガス成分のモル数MLGAS、MLO2、MLN2、MLCO2、MLCO、MLH2O、総ガスモル数MLALLを読み込む。
ステップ252では自着火時平均温度TEから各ガス成分のエンタルピEO2、EN2、ECO2、ECO、EH2Oを算出する。各ガス成分のエンタルピは次の水谷の実験式(内燃機関vol.11 No.125p79参照)を用いて算出すればよい。
(1)TE<1200Kの場合
E=A0#+1000×(A1#×(TE/1000)
+A2#/2×(TE/1000)^2
+A3#/3×(TE/1000)^3
+A4#/4×(TE/1000)^4
+A5#/5×(TE/1000)^5)+HDL#…(72.1)
(2)TE>1200Kの場合
E=B0#+1000×(B1#×(TE/1000)
+B2#×LN(TE/1000)
−B3#/(TE/1000)
−B4#/2/(TE/1000)^2
−B5#/3/(TE/1000)^3)+HDL#…(72.2)
ただし、A0#〜A5#、B0〜B5#、HDL#は実験により求める適合値、
ステップ253では燃料のエンタルピEGを次式により算出する。
EG=B#/AC#×ECO2+A#/AH#×EH20/2
+(B#/AC#+A#/AH#/4)×EO2…(72.3)
ステップ254では各ガス成分の平均エンタルピEを次式により計算して図35の処理を終了し、図33のステップ225に戻る。
E=(MLGAS×EG+MLO2×EO2+MLN2×EN2
+MLCO2×ECO2+MLCO×ECO+MLH2O×EH2O)
/MLALL …(72.4)
図33のステップ225では既燃ガスの定容比熱Cv[J/K・g]をガスエンタルピE、燃焼室5の自着火時平均温度TEを用いて次式により計算する。
Cv=E/TE−R# …(73)
ただし、R#:普遍気体定数、
(73)式は上記(補14)式においてT→TE、R→R#の置き換えにより得られる式である。
ステップ226では自着火による圧力上昇分つまりノックによる圧力上昇分DP1[Pa]を次式により算出する。
DP1=(MLALL×R#×CF#×MUB1)
/{Vknkest×Cv×(MASSZ+QINJ+WIDRY)}
…(74)
ただし、CF#:燃料の低位発熱量、
(74)式の圧力上昇分DP1は図29に示したようにノック発生により燃焼室5内の圧力がステップ的に大きくなるので、この圧力上昇分を計算式により求めるようにしたものである。
(74)式は上記(補9)式においてdP→DP1、n→MLALL、R→R#、V→Vknkest、M→MASSZ+WIDRY+QINJの置き換えにより得られる式である。
ステップ227ではノック強度推定値基本値KIC0を次式により算出する。
KIC0=相関係数1×DP1 …(75)
ここで、(75)式右辺の相関係数1はノック強度との相関を表すための係数である。この場合、ノックによる圧力上昇分DP1が大きいほどノック強度推定値基本値KIC0が大きくなるようにしている。
ステップ228ではエンジン回転速度NRPMから図36を内容とするテーブルを検索することにより回転速度補正係数KNを次式により算出し、ステップ229でこの回転速度補正係数KNをノック強度推定値基本値KIC0に乗算した値をノック強度推定値KICESTとして、つまり次式によりノック強度推定値KICESTを算出する。
KICEST=KIC0×KN …(76)
ここで、回転速度補正係数KNは、エンジン回転速度NRPMが低いときのほうが回転速度が高いときよりノックによる圧力振動をドライバーが強く感じるので、この違いをノック強度推定値に反映させるためのものである。すなわち、図36のようにKNの値は、基準回転速度NRPM0のときを1.0としてこれより低い回転速度域では1.0を超える値、この逆に基準回転速度NRPM0より高い回転速度域で1.0未満の値である。実際の値は実験により適合する。
ステップ230ではノックリタード量KNRT[deg]を次の式により算出する。
KNRT=KICEST−トレースノック強度 …(77)
ここで、(77)式のトレースノック強度は周知のように軽いノックが生じるときのノック強度である。このトレースノック強度はエンジン回転速度NRPMから図37を内容とするテーブルを検索して求める。
ステップ231では基本点火時期MBTCALよりノックリタード量KNRTを差し引いた値をノック限界点火時期KNOCKcalとして、つまりノック限界点火時期KNOCKcal[degBTDC]を次式により算出する。
KNOCKcal=MBTCAL−KNRT …(78)
一方、1/τの積算値SUMが1に達しないことあり、このときには図32のステップ211において、現在のクランク角θがやがて所定値const01を超える。このときには図32のステップ211より図33のステップ232に進みノックリタード量KNRT=0とした後、ステップ231の操作を実行する。
そのあとはクランク角が次の燃焼サイクルの基本点火時期MBTCALにくるまでそのまま待機し、再び図32、図33の処理を実行する。こうして一燃焼サイクル毎にノック限界点火時期KNOCKcalが求められる。
このようにしてノック限界点火時期KNOCKcalの算出を終了したら図2のステップ3に戻り、基本点火時期MBTCAL[degBTDC]とノック限界点火時期KNOCKcal[degBTDC]のうちから小さいほう、つまり遅角側の値を点火時期最小値PADVとして選択し、さらにステップ4ではこれに水温等による各種の補正を加えた値を点火時期指令値QADV[degBTDC]として設定する。エンジンの暖機完了後であれば、水温等による補正はないので、点火時期指令値QADVは点火時期最小値PADVに等しくなる。
こうして設定した点火時期指令値QADVは、ステップ5で点火レジスタに移され、実際のクランク角がこの点火時期指令値QADVと一致したタイミングでエンジンコントローラ31より一次電流を遮断する点火信号が点火コイル13に出力される。
次に、運転中における燃料のオクタン価推定値OCTESTの算出を図38のフローにより説明する。オクタン価の推定はノックセンサ47からの信号に基づいてノックが生じたか否かを検出しつつ行うので、図38のフローは点火毎に点火の直後に実行する。ここで、点火毎に実行するにはクランク角センサ(33、34)からの信号により作られる基準位置信号の入力より所定のクランク角が経過したタイミングで実行すればよい。
図38においてステップ261ではノックセンサ47を用いてノックが生じているか否かをみる。例えばノックセンサ47(ノック検出手段、ノック発生時期検出手段)により検出されるノック分の周波数成分は図39のように変化するので、所定のしきい値を予め適合により定めておき、このしきい値を横切るときにノックが発生していると判断しステップ262に進み、実際の自着火時期検出値を読み込む。実際の自着火時期検出値を得るには、図39においてしきい値を横切るタイミングを実際の自着火時期として測定すればよい。図39において横軸は所定のクランク角位置からの時間、縦軸はノック分の周波数成分についての振幅の絶対値を表している。ここではその測定したタイミング[s]に変換係数を掛けてクランク角単位に変換し、その変換後の値を自着火時期検出値θknkreal[degBTDC](ノック発生時期検出値)として読み込む。
図38のステップ263〜266は自着火時期検出値と自着火時期予測値との差である着火時期差Δθが許容範囲内に収まるようにノックを生じさせることなくオクタン価推定値OCTESTを収束させる部分である。まずステップ263では図33のステップ218で算出している自着火時期予測値θknkestと図38のステップ262で読み込んだ自着火時期検出値θknkrealとから次式により着火時期差Δθを計算する。
Δθ=θknkreal−θknkest …(79)
ここで、着火時期差Δθが正ということは自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にあることを表す。この逆に自着火時期予測値θknkestよりも自着火時期検出値θknkrealが遅角側にくる事態はあり得ない。しかしながら、演算上は両者を区別しなくても問題ないので、演算を複雑化させないために両者を区別することなく処理している。
ステップ264ではこの着火時期差Δθの絶対値と所定値(例えば1deg)とを比較する。所定値は許容範囲を定めるもので、着火時期差Δθの絶対値が所定値未満であれば、着火時期差Δθは許容範囲内にありオクタン価推定値の誤差とは別の要因でノックが生じたものと判断してそのまま今回の処理を終了する。
着火時期差Δθの絶対値が所定値以上であるときにはステップ265に進む。上記のように自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にあるとき(Δθが正)には実際のオクタン価よりオクタン価推定値OCTESTが大き過ぎると判断してオクタン価推定値OCTESTを第1の所定値const03に着火時期差Δθを乗算した値だけ小さくする。つまり、次式によりオクタン価推定値OCTESTを更新する。
OCTEST(new)=OCTEST(old)−const03×Δθ…(80)
ただし、OCTEST(new):更新後のオクタン価推定値、
OCTEST(old):更新前のオクタン価推定値、
const03 :小さくする側への更新割合(正の無名数)、
ここで、(80)式右辺第2項はオクタン価推定値の一回当たりの更新量を定めている。一回当たりの更新量に着火時期差Δθを導入しているのは、オクタン価推定値OCTESTの収束を早めるためである。すなわち、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近いときには自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にそれほどズレることはないが、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレているときには自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレてしまう。そこで、自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレている(つまりΔθが大きい)ときにはこれに合わせて一回当たりの更新量を大きくしてオクタン価推定値OCTESTの収束を早めるようにしたものである。
図38のステップ266ではこの更新後のオクタン価推定値OCTESTを用いて自着火時期予測値θknkestを再び算出する。この自着火時期予測値θknkestの算出は2回目であり(図33のステップ218での自着火時期予測値θknkestの算出が1回目)、この2回目の自着火時期予測値θknkestを1回目の自着火時期予測値θknkestの上に上書きする。
2回目以降の自着火時期予測値θknkestの算出については図40、図41のフローにより説明する。2回目以降の自着火時期予測値θknkestの算出処理は図32、図33における自着火時期予測値の算出処理を流用するものであり、従って図40、図41において図32、図33と同一部分に同一のステップ番号をつけている。
図32、図33と異なるのは、図41のステップ281、282のみである。すなわち、図38のステップ265において更新されたオクタン価推定値OCTESTを、図40のステップ208において用いた場合に、図40のステップ210において1/τの積算値SUMが1以上となったときには図41のステップ281に進みそのときのクランク角θを自着火時期予測値θknkest[degBTDC]に入れることによって2回目の自着火時期予測値θknkestを算出する。
このようにして図40、図41により2回目に算出した自着火時期予測値θknkestは、図33のステップ218で1回目に算出した自着火時期予測値θknkestよりも自着火時期検出値θknkrealに近づくことになるので、図38のステップ263に戻り、その2回目に算出した自着火時期予測値θknkestを用いて再び着火時期差Δθを算出し、ステップ264でこの着火時期差Δθと所定値を比較し、着火時期差Δθが所定値以上であるときにはステップ265、266、263、264を繰り返す。この繰り返しによりやがて何回目かに算出した自着火時期予測値θknkestを用いて算出される着火時期差Δθが所定値未満に収まったとき、図38のステップ264から「END」へと抜けて今回の処理を終了する。
このように、ノックを検出した場合に着火時期差Δθが所定値未満に収まるまでオクタン価推定値OCTESTを繰り返し更新する操作(図38においてステップ263〜266のループ操作)は、次の燃焼サイクルが到達するまでには余裕を持って終了するのであり、ノックが生じた燃焼サイクルが終了すればオクタン価推定値OCTESTは収束している。
一方、図40において1/τの積算値SUMが1に達することなくクランク角θが所定値const01を超えたときには図40のステップ211より図41のステップ282に進み所定値const06を自着火時期予測値θknkestに移した後、今回の処理を終了する。所定値const06としては図32のステップ211での所定値const01と同等かこれより大きい値(遅角側の値)を用いる。
このようにして本実施形態(第1実施形態)では、ノックが発生していることが検出されたときには、そのノックが検出された燃焼サイクルにおいて着火時期差Δθが許容範囲内に収まるまでオクタン価推定値OCTESTを小さくしている。
一方、図38においてノックが検出されない場合にはステップ261よりステップ267に進み図2のステップ3において算出されている点火時期最小値PADV[degBTDC]と図2のステップ1において算出されている基本点火時期MBTCAL[degBTDC]を比較する。点火時期最小値PADVが基本点火時期MBTCALと一致するときにはオクタン価推定値OCTESTと実際のオクタン価が一致しており、従ってオクタン価推定値を変更する必要がないので、そのまま今回の処理を終了する。
一方、点火時期最小値PADVが基本点火時期MBTCALと一致しないときにはオクタン価推定値OCTESTと実際のオクタン価が一致しておらずその結果として点火時期が遅角されていると判断し、ステップ267よりステップ268に進んでカウンタ値countと所定値const04とを比較する。カウンタ値countの初期値はゼロであり、ステップ268に進んできた当初はカウンタ値countが所定値const04未満にあるので、このときにはステップ269に進み、カウンタ値countを1だけインクリメントする。すなわち、カウンタ値countはノックが検出されない場合に図38のフローを一回実行する毎に値が1ずつ増すので、やがてカウンタ値countが所定値const04以上になる。このときにはステップ268よりステップ270に進んでオクタン価推定値OCTESTを第2の所定値const05だけ増やす。つまり、次式によりオクタン価推定値OCTESTを更新する。
OCTEST(new)=OCTEST(old)+const05…(81)
ただし、OCTEST(new):更新後のオクタン価推定値、
OCTEST(old):更新前のオクタン価推定値、
const05 :大きくする側への更新量、
オクタン価推定値OCTESTの更新は、カウンタ値countが所定値const04となる毎であるので、ステップ271ではカウンタ値countをゼロにリセットする。
図42は点火時期、カウンタ値count、オクタン価推定値OCTESTの動きをモデルで示している。図42において一点鎖線が第1実施形態(本発明)の場合であり、実線は比較例1の場合を示している。
ここで、「比較例1」とは図38においてステップ262、263、264、266がなく、ステップ265において上記(80)式に代えて、
OCTEST(new)=OCTEST(old)−const03
…(補18)
ただし、OCTEST(new):更新後のオクタン価推定値、
OCTEST(old):更新前のオクタン価推定値、
const03 :小さくする側への更新量、
の式によりオクタン価推定値OCTESTを更新し、この操作の後は「END」へと流れて今回の処理を終了する場合である。比較例1の場合には、図42のようにt01のタイミングでノックセンサ47によりノックを検出したときにはオクタン価推定値OCTESTが実際のオクタン価より大きい結果であると判断されオクタン価推定値OCTESTが所定値const03だけステップ的に小さくされる。この結果、ノックが生じないようであれば、カウンタ値countが所定値const04に達する毎に今度はオクタン価推定値OCTESTが第2の所定値const05ずつ大きくなってゆく。そして、t02のタイミングで点火時期最小値PADVがMBTCALに一致した後はオクタン価推定値OCTESTの更新が中止されそのときの値が保持される。その後のt03のタイミングで再びノックが生じれば上記の操作が繰り返される。
このように比較例1によれば実際にノックを検出する毎にオクタン価推定値OCTESTを所定値const03ずつ更新する構成であるので、ノックを検出しなくなったときにオクタン価推定値OCTESTが収束していることになる。
また、比較例1によれば、自着火時期予測値θknkestが実際の自着火時期より遅角側に少ししか外れていない場合と、自着火時期予測値θknkestが実際の自着火時期より遅角側に大きく外れている場合とが区別されておらず、従っていずれの場合にもオクタン価推定値の一回当たりの更新量(=const03)が同じであるので、自着火時期予測値θknkestが実際の自着火時期より遅角側に大きく外れている場合に、オクタン価推定値OCTESTの収束が遅くなる。
これに対して、第1実施形態によれば、t01のタイミングでノックが検出されると、そのときの自着火時期が検出され、その自着火時期検出値θknkrealと自着火時期予測値θknkestとの差である着火時期差Δθを第1の所定値const03に乗算した値がオクタン価推定値の一回当たりの更新量となることから、オクタン価推定値OCTESTが実際のオクタン価より大きくかつオクタン価推定値OCTESTが実際のオクタン価より大きく外れていることにより自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きく外れている場合には、オクタン価推定値OCTESTが実際のオクタン価より大きくかつオクタン価推定値OCTESTが実際のオクタン価よりそれほど外れていないことにより自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に少ししか外れていない場合よりオクタン価推定値の一回当たりの更新量が大きくなる。
しかも、オクタン価推定値OCTESTの更新は着火時期差Δθが許容範囲内に収まるまで何度も繰り返されるので、ノックが検出された燃焼サイクルでオクタン価推定値OCTESTが収束する。従って、オクタン価推定値OCTESTの収束値は比較例1の場合よりも大きくなる(図42下段の一点鎖線参照)、
このように第1実施形態によれば、ノックが検出された場合に、オクタン価推定値OCTESTが実際のオクタン価より大きくかつオクタン価推定値OCTESTが実際のオクタン価より大きく外れているときほどオクタン価推定値OCTESTが早く収束し、かつノックが検出された燃焼サイクルにおいて収束するので、点火時期最小値PADVが基本点火時期MBTCALに一致した後(t02以降)に2度目のノックが検出されることはない。
このようにして図38により算出されるオクタン価推定値OCTESTは図32のステップ208においてオクタン価推定値OCTESTの燃料での1/τの算出に用いられる。
ここで、本実施形態の作用効果を説明する。
第1実施形態(請求項1に記載の発明)によれば、ガソリンを燃料としている場合に、ノックセンサ47によるノック検出結果を点火時期ではなく燃料のオクタン価にフィードバックしている(図38参照)。すなわち、図42最下段に一点鎖線で示したように、オクタン価推定値OCTESTは、ノックが生じたことを検出したときにステップ的に小さくなり、その後は第2の所定値const05ずつ所定の周期で徐々に大きくなっている。
このように、第1実施形態(請求項1に記載の発明)によれば、ノックセンサ47によるノック検出結果に基づいてオクタン価推定値OCTESTを算出し(図38のステップ261、265、270参照)、そのオクタン価推定値OCTESTに基づいて燃焼室5内での自着火時期予測値θknkest(ノック発生時期予測値)を算出し(図32のステップ206〜210、図33のステップ218参照)、この自着火時期予測値θknkestに基づいてノック限界点火時期KNOCKcalを算出する(図33のステップ219〜231参照)ので、燃料のオクタン価を予め知り得ていない市場で販売される燃料を使用する場合においても、運転状態によらず、ノックセンサ47によるノック検出結果を点火時期にフィードバックする従来装置のようにノック回避のための点火時期の遅角とそれに続く進角の操作とが繰り返されることがない。このため、加速時や減速時といった過渡でもノック限界点火時期を追従できるので、燃費悪化、出力低下を防ぐことができる。
また、オクタン価推定値OCTESTの更新(算出)に際しては上記(80)式に示したように自着火時期検出値θknkreal(ノック発生時期検出値)と自着火時期予測値θknkest(ノック発生時期予測値)の着火時期差Δθ(=θknkreal−θknkest)をも考慮している。すなわち、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレている(つまり自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレている)ときには、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近い(つまり自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にそれほどズレていない)ときよりオクタン価推定値の一回当たりの更新量が大きくなり、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレているときのほうがオクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近いときよりオクタン価推定値OCTESTが早く収束する。
このように、第1実施形態(請求項1に記載の発明)によれば、着火時期差Δθ(自着火時期検出値θknkrealと自着火時期予測値θknkestとの比較結果)に基づいてもオクタン価推定値OCTEST(ノック相関パラメータ推定値)を算出するようにしたので(図38のステップ265参照)、オクタン価推定値OCTESTの収束を早めることができ、そのぶん運転性が向上する。
第1実施形態では、図5、図10、図12、図13に示したように、層流燃焼速度SL1、SL2、燃焼ガス体積相当容積(V0、VTDC)、燃焼質量割合(BR1、BR2)及び反応確率RPROBAに基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出し、この燃焼期間(BURN1、BURN2)に基づいて基本点火時期MBTCALを算出する場合で説明したが、基本点火時期MBTCALの算出に代えて、ベース点火時期のマップを備えさせるものでもかまわない。この場合に、ノック限界点火時期算出手段を、自着火時期予測値θknkest(ノック発生時期予測値)と運転条件とに基づいて燃焼室5のノックによる圧力上昇量DP1を推定する圧力上昇量推定手段(図33のステップ219〜226参照)と、この圧力上昇量DP1に基づいてノック強度推定値KICを算出するノック強度推定値算出手段(図33のステップ227〜229参照)と、このノック強度推定値KICに基づいてノックリタード量KNRTを算出するノックリタード量算出手段(図33のステップ230参照)と、このノックリタード量KNRTだけ基本点火時期MBTCALを遅角側に補正した値をノック限界点火時期KNOCKcalとして設定するノック限界点火時期設定手段(図33のステップ231参照)とを含んで構成することで(請求項2に記載の発明)、基本点火時期としてのベース点火時期をマップで与えるにしても、最大オクタン価から最小オクタン価までの複数の異なるオクタン価毎にベース点火時期のマップを与える必要がなく、これによりROM容量が大きくなることがない。
第1実施形態(請求項3に記載の発明)によれば、ガソリンを燃料とする場合にオクタン価がノックに及ぼす影響が一番大きいことに対応して、このオクタン価推定値OCTESTをノック検出結果及び着火時期差Δθ(ノック発生時期検出値とノック発生時期予測値との比較結果)に基づいて算出するので(図38のステップ261、262、263、265参照)、オクタン価が予め分かっていないガソリンを使用燃料とする場合であっても自着火時期予測値θknkest(ノック発生時期予測値)を精度よく算出できる。
第1実施形態(請求項4に記載の発明)によれば、オクタン価推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいて自着火時期検出値θknkreal(ノック発生時期検出値)と自着火時期予測値θknkest(ノック発生時期予測値)との着火時期差Δθ(発生時期差)が許容範囲内に収まるまでオクタン価推定値OCTESTを小さくなる側に更新し(図38のステップ263〜266のループ操作参照)、その後はオクタン価推定値OCTESTを第2の所定値const05ずつ大きくなる側に一定の周期で更新する(図38のステップ261、267〜271参照)手段であるので、ノックが検出された燃焼サイクルでオクタン価推定値OCTESTを収束させることができる。
第1実施形態(請求項5に記載の発明)によれば オクタン価推定値OCTESTを第2の所定値const05ずつ大きくなる側(ノックが発生する側)にする更新(図38のステップ270参照)を、基本点火時期MBTCALではノックが発生する条件でつまり点火時期最小値PADVが基本点火時期MBTCALより遅角されている場合にだけ実行する(図38のステップ267)ので、オクタン価推定値OCTESTを誤って更新することがない。
第1実施形態(請求項9に記載の発明)によれば、基本点火時期算出手段が、燃焼ガスの層流状態での燃焼速度である層流燃焼速度(SL1、SL2)を算出する層流燃焼速度算出手段(図10のステップ168、図12のステップ188参照)と、燃焼室5内の燃焼ガス体積に相当する容積(V0、VTDC)を算出する燃焼ガス体積相当容積算出手段(図10のステップ162、図12の182参照)と、所定のクランク角までに燃焼室5内で燃焼するガスの燃焼質量割合(BR1、BR2)を算出する燃焼質量割合算出手段(図10のステップ171、図12のステップ191参照)と、所定運転条件での燃焼ガスの燃焼のしやすさを示す反応確率RPROBAを算出する反応確率算出手段(図5のステップ15参照)と、これら層流燃焼速度(SL1、SL2)、燃焼ガス体積相当容積(V0、VTDC)、燃焼質量割合(BR1、BR2)及び反応確率RPROBAに基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出する燃焼期間算出手段(図10のステップ171、図12のステップ191参照)と、この燃焼期間(BURN1、BURN2)に基づいてMBTの得られる基本点火時期MBTCALを算出する基本点火時期算出手段(図13のステップ41〜43参照)とを含むので、この基本点火時期MBTCALを遅角側に補正した値であるノック限界点火時期KNOCKcalが燃焼解析に基づいて算出されることになり、これにより運転条件によらず最適なノック限界点火時期KNOCKcalを算出できる。
図43、図45のフローは第2実施形態で、図43は第1実施形態の図32と、図45は第1実施形態の図38とそれぞれ置き換わるものである。図43において図32と同一部分には同一のステップ番号を、また図45において図38と同一部分には同一のステップ番号を付している。なお、図33は第1、第2の実施形態に共通のフローである。
ガソリンとアルコールの混合燃料(アルコール含有燃料)が使用されることがある。この場合に、ベース点火時期の設定に際して混合燃料中のアルコール濃度を調べ、その調べたアルコール濃度の混合燃料を使用したときにノックが生じないようにベース点火時期をマッチングすることになる。
しかしながら、例えば海外市場において混合燃料中のアルコール濃度がベース点火時期のマッチングに用いた混合燃料と異なる場合、例えばマッチングに用いた混合燃料のアルコール濃度より低い場合にノックが生じ、ノック回避のための点火時期の遅角とそれに続く進角の操作とが繰り返されると、点火時期の遅角によりノック回避はできても燃費悪化、出力低下が生じる。
第2実施形態は、アルコールとガソリンとの混合燃料を使用燃料とする場合に適用するもので、ノックセンサ47によるノック検出結果に基づいて混合燃料中のアルコール濃度(ノック相関パラメータ)の推定値ALCESTを算出し、このアルコール濃度推定値ALCESTに基づいて燃焼室5内での自着火時期予測値(ノック発生時期予測値)を算出し、この自着火時期予測値θknkestに基づいてノック限界点火時期KNOCKcalを算出する。
第1実施形態と相違する部分を主に説明すると、図43においてステップ291〜293はアルコール濃度推定値ALCESTの混合燃料に対する1/τを算出する部分である。最低のアルコール濃度から最高のアルコール濃度までの複数の異なるアルコール濃度毎に1/τのマップを持たせるとROM容量が大きくなり過ぎるので、ここでは最低のアルコール濃度(例えば0%)の燃料に対する1/τのマップと、最高のアルコール濃度(例えば85%)の燃料に対する1/τのマップとだけ持たせておき、最低のアルコール濃度と最高のアルコール濃度の間にあるアルコール濃度(アルコール濃度推定値ALCEST)の混合燃料に対する1/τは、それらアルコール濃度0%の燃料での1/τと、アルコール濃度85%の燃料での1/τとの間を補間計算して算出する。
具体的にはステップ291、292で初回は圧縮開始時温度TC0と圧縮開始時圧力PC0とから図44A、図44Bを内容とするマップをそれぞれ検索することによりアルコール濃度0%の混合燃料での1/τ、アルコール濃度85%の混合燃料での1/τを算出する。各1/τは図44A、図44Bのように温度、圧力が大きくなるほど大きくなる値である。また、温度、圧力が同じであれば、アルコール濃度0%の混合燃料での1/τのほうが、アルコール濃度85%の混合燃料での1/τより大きい傾向を示す。従って、ステップ293ではアルコール濃度推定値ALCESTの混合燃料での1/τを次式(補間計算式)により算出する。
1/τEST=1/τ85+(85−ALCTEST)
×(1/τ0−1/τ85)/(85−0)
…(補19)
ただし、1/τEST:アルコール濃度推定値ALCESTの混合燃料での1/τ、
1/τ0 :アルコール濃度0%の混合燃料での1/τ、
1/τ85 :アルコール濃度85%の混合燃料での1/τ、
ここで、アルコール濃度推定値ALCESTの算出については後述する。
図43のステップ209ではこのアルコール濃度推定値ALCESTの混合燃料での1/τを積算値SUMに加算する。
次に、図45においてステップ261でノックセンサ47によりノックが生じていると検出されるときにはアルコール濃度推定値ALCESTが実際のアルコール濃度より低いと判断しステップ262、263の操作を行った後にステップ264に進み着火時期差Δθの絶対値と所定値を比較する。着火時期差Δθの絶対値が所定値以上であるときにはステップ301に進みアルコール濃度推定値ALCESTを第1の所定値const13に着火時期差Δθを乗算した値だけ高くする。つまり、次式によりアルコール濃度推定値ALCESTを更新する。
ALCEST(new)=ALCEST(old)+const13×Δθ…(82)
ただし、ALCEST(new):更新後のアルコール濃度推定値、
ALCEST(old):更新前のアルコール濃度推定値、
const13 :高くする側への更新割合(正の無名数)、
ここで、(82)式第2項はアルコール濃度推定値の一回当たりの更新量を定めている。一回当たりの更新量に着火時期差Δθを導入しているのは、アルコール濃度推定値ALCESTの収束を早めるためである。すなわち、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近いときには自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にそれほどズレていないが、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレているときには自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレてしまう。そこで、自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレている(Δθが大きい)ときにはこれに合わせてアルコール濃度推定値の一回当たりの更新量を大きくしてアルコール濃度推定値ALCESTの収束を早めるようにしたものである。
ステップ302ではステップ301で更新した後のアルコール濃度推定値ALCESTを用いて自着火時期予測値θknkestを再び算出する。この自着火時期予測値θknkestの算出は2回目であり(図33のステップ218での自着火時期予測値θknkestの算出が1回目)、この2回目の自着火時期予測値θknkestを1回目の自着火時期予測値θknkestの上に上書きする。
2回目以降の自着火時期予測値θknkestの算出については図46、図47のフローにより説明する。2回目以降の自着火時期予測値θknkestの算出処理は図43、図33における自着火時期予測値の算出処理を流用するものであり、従って図46、図47において図43、図33と同一部分に同一のステップ番号をつけている。
図43、図33と異なるのは、図47のステップ281、311のみである。すなわち、図45のステップ301において更新されたアルコール濃度推定値ALCESTを、図46のステップ293において用いた場合に、図46のステップ210において1/τの積算値SUMが1以上となったときには図47のステップ281に進みそのときのクランク角θを自着火時期予測値θknkest[degBTDC]に入れることによって2回目の自着火時期予測値θknkestを算出する。
このようにして2回目に算出した自着火時期予測値θknkestは図33のステップ218で1回目に算出した自着火時期予測値θknkestよりも自着火時期検出値θknkrealに近づくことになるので、図45のステップ263に戻り、その2回目に算出した自着火時期予測値θknkestを用いて再び着火時期差Δθを算出し、ステップ264でこの着火時期差Δθと所定値を比較し、着火時期差Δθが所定値以上であるときにはステップ301、302、263、264を繰り返す。この繰り返しによりやがて何回目かに算出した自着火時期予測値θknkestを用いて算出される着火時期差Δθが所定値未満に収まったとき、図45のステップ264から「END」へと抜けて今回の処理を終了する。
このように、ノックを検出した場合に着火時期差Δが所定値未満に収まるまでアルコール濃度推定値ALCESTを繰り返し更新する操作(図45においてステップ263、264、301、302のループ操作)は、次の燃焼サイクルが到達するまでには余裕を持って終了するのであり、ノックが検出された燃焼サイクルが終了すればアルコール濃度推定値ALCESTは収束している。
一方、図46において1/τの積算値SUMが1に達することなくクランク角θが所定値const11を超えたときには図46のステップ294より図47のステップ311に進み所定値const16を自着火時期予測値θknkestに移した後、今回の処理を終了する。所定値const16としては図43のステップ294での所定値const11と同等かこれより大きい値(遅角側の値)を用いる。
このようにして第2実施形態では、ノックが発生していることが検出されたときには、そのノックが検出された燃焼サイクルにおいて着火時期差Δθが許容範囲内に収まるまでアルコール濃度推定値ALCESTを高くしている。
一方、図45においてノッキングが検出されない場合で点火時期最小値PADVが基本点火時期MBTCALと一致しておらずかつカウンタ値countが所定値const14以上になったとき、ステップ261、267、303よりステップ304に進んでアルコール濃度推定値ALCESTを第2の所定値const15だけ低くする。つまり、次式によりアルコール濃度推定値ALCESTを更新する。
ALCEST(new)=ALCEST(old)−const15…(83)
ただし、ALCEST(new):更新後のアルコール濃度推定値、
ALCEST(old):更新前のアルコール濃度推定値、
const15 :低くする側への更新量、
また、図43のステップ294、295、図45のステップ303では所定値const11、const12、const14を第1実施形態と異なる値にしている。これらの所定値const11、const12、const14は事前の予備実験等によりマッチングする。ただし、所定値const11、const12は第1実施形態の所定値const01、const02と同じでかまわない。
図48に第2実施形態における点火時期、カウンタ値count、アルコール濃度推定値ALCESTの動きをモデルで示す。図48において一点鎖線が第2実施形態の場合であり、実線は比較例2の場合を示している。
ここで、「比較例2」とは図45においてステップ262、263、264、302がなく、ステップ301において上記(82)式に代えて、
ALCEST(new)=OCTEST(old)+const13
…(補20)
ただし、ALCEST(new):更新後のアルコール濃度推定値、
ALCEST(old):更新前のアルコール濃度推定値、
const13 :大きくする側への更新量、
の式によりアルコール濃度推定値ALCESTを更新し、この操作の後は「END」へと流れて今回の処理を終了する場合である。比較例2の場合には、図48のようにt11のタイミングでノッキングが生じたときにはアルコール濃度推定値ALCESTが実際のアルコール濃度より低い結果であると判断されアルコール濃度推定値ALCESTがステップ的に第1の所定値const13だけ高くなる。この結果、ノッキングが生じないようであれば、カウンタ値countが所定値const14に達する毎に今度はアルコール濃度推定値ALCESTが第2の所定値const15ずつ低くなってゆく。そして、t12のタイミングで点火時期最小値PADVがMBTCALに一致した後はアルコール濃度推定値ALCESTの更新が中止されそのときの値が保持される。その後のt13のタイミングで再びノックが生じれば上記の操作が繰り返される。
このように比較例2によればノックを検出する毎にアルコール濃度推定値ALCESTを所定値const13ずつ更新する構成であるので、ノックを検出しなくなったときにアルコール濃度推定値ALCESTが収束していることになる。
また、比較例2によれば、自着火時期予測値θknkestが実際の自着火時期より遅角側に少ししか外れていない場合と、自着火時期予測値θknkestが実際の自着火時期より遅角側に大きく外れている場合とが区別されておらず、従っていずれの場合にもアルコール濃度推定値の一回当たりの更新量(=const13)は同じであるので、自着火時期予測値θknkestが実際の自着火時期より遅角側に大きく外れている場合に、アルコール濃度推定値ALCESTの収束が遅くなる。
これに対して、第2実施形態によれば、t11のタイミングでノックが検出されると、そのときの自着火時期が検出され、その自着火時期検出値θknkrealと自着火時期予測値θknkestとの差である着火時期差Δθを第1の所定値const13に乗算した値がアルコール濃度推定値の一回当たりの更新量となることから、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつアルコール濃度推定値ALCESTが実際のアルコール濃度より大きく外れていることにより自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きく外れている場合には、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつアルコール濃度推定値ALCESTが実際のアルコール濃度よりそれほど外れていないことにより自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に少ししか外れていない場合よりアルコール濃度推定値の一回当たりの更新量が大きくなる。
しかも、アルコール濃度推定値ALCESTの更新は着火時期差Δθが許容範囲内に収まるまで何度も繰り返されるので、ノックが検出された燃焼サイクルでアルコール濃度推定値ALCESTが収束する。従って、アルコール濃度推定値ALCESTの収束値は比較例2の場合よりも大きくなる(図48下段の一点鎖線参照)、
このように第2実施形態によれば、ノックが検出された場合に、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつアルコール濃度推定値ALCESTが実際のアルコール濃度より大きく外れているときほどアルコール濃度推定値ALCESTが早く収束し、かつノックが検出された燃焼サイクルにおいて収束するので、点火時期最小値PADVが基本点火時期MBTCALに一致した後(t12以降)に2度目のノックが検出されることはない。
このようにして図45により算出されるアルコール濃度推定値ALCESTは図43のステップ293においてアルコール濃度推定値ALCESTの混合燃料での1/τの算出に用いられる。
第2実施形態によれば、ガソリンとアルコールの混合燃料である場合に、ノックセンサ47によるノック検出結果を点火時期ではなく混合燃料中のアルコール濃度にフィードバックしている(図45参照)。すなわち、図48最下段に一点鎖線で示したように、アルコール濃度推定値ALCESTは、ノックが生じたことを検出したときにステップ的に高くなり、その後は第2の所定値const15ずつ所定の周期で徐々に小さくなっている。
このように、第2施形態(請求項1に記載の発明)によれば、ノックセンサ47によるノック検出結果に基づいてアルコール濃度推定値ALCESTを算出し(図45のステップ261、301、304参照)、そのアルコール濃度推定値ALCESTに基づいて燃焼室5内での自着火時期予測値θknkest(ノック発生時期予測値)を算出し(図43のステップ291〜293、209、210、図33のステップ218参照)、この自着火時期予測値θknkestに基づいてノック限界点火時期KNOCKcalを算出する(図33のステップ219〜231参照)ので、混合燃料中のアルコール濃度を予め知り得ていない市場で販売される混合燃料を使用する場合においても、運転状態によらず、ノック検出結果を点火時期にフィードバックする従来装置のようにノック回避のための点火時期の遅角とそれに続く進角の操作とが繰り返されることがない。このため、第1実施形態と同様に過渡でもノック限界点火時期を追従できるので、燃費悪化、出力低下を防ぐことができる。
また、アルコール濃度推定値ALCESTの更新(算出)に際しては上記(82)式に示したように自着火時期検出値θknkreal(ノック発生時期検出値)と自着火時期予測値θknkest(ノック発生時期予測値)の着火時期差Δθ(=θknkreal−θknkest)をも考慮している。すなわち、アルコール濃度推定値ALCTESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレている(つまり自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレている)ときには、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近い(つまり自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にそれほどズレていない)ときよりアルコール濃度推定値の一回当たりの更新量が大きくなり、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレているときのほうがアルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近いときよりアルコール濃度推定値ALCESTが早く収束する。
このように、第2実施形態(請求項1に記載の発明)によれば、着火時期差Δθ(自着火時期検出値θknkrealと自着火時期予測値θknkestとの比較結果)に基づいてもアルコール濃度推定値ALCEST(ノック相関パラメータ推定値)を算出するようにしたので(図45のステップ301参照)、アルコール濃度推定値ALCESTの収束を早めることができ、そのぶん運転性が向上する。
第2実施形態(請求項6に記載の発明)によれば、ガソリンとアルコールの混合燃料では混合燃料中のアルコール濃度がノックに影響を及ぼすことに対応して、このアルコール濃度推定値ALCESTをノック検出結果及び着火時期差Δθ(ノック発生時期検出値とノック発生時期予測値との比較結果)に基づいて算出するので(図45のステップ261、262、263、301参照)、アルコール濃度を予め知り得ないアルコール含有燃料を使用燃料とする場合であっても自着火時期予測値θknkest(ノック発生時期予測値)を精度よく算出できる。
第2実施形態(請求項7に記載の発明)によれば、アルコール濃度推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいて自着火時期検出値θknkreal(ノック発生時期検出値)と自着火時期予測値θknkest(ノック発生時期予測値)との着火時期差Δθ(発生時期差)が許容範囲内に収まるまでアルコール濃度推定値ALCESTを高くなる側に更新し(図45のステップ263、264、301、302のループ操作参照)、その後はアルコール濃度推定値ALCESTを第2の所定値const15ずつ低くなる側に一定の周期で更新する(図45のステップ261、267、303、269、304、271参照)手段であるので、ノックが検出された燃焼サイクルでアルコール濃度推定値ALCESTを収束させることができる。
第2実施形態(請求項8に記載の発明)によれば、アルコール濃度推定値ALCESTを第2の所定値const15ずつ低くなる側(ノックが発生する側)にする更新(図45のステップ304参照)を、基本点火時期MBTCALではノックが発生する条件で実行する(図45のステップ267)ので、アルコール濃度推定値ALCESTを誤って更新することがない。
図49、図50のフローは第3実施形態で、図49は第1実施形態の図32と、図50は第1実施形態の図38とそれぞれ置き換わるものである。図49において図32と同一部分には同一のステップ番号を、また図50において図38と同一部分には同一のステップ番号を付している。なお、図33は第1、第2、第3の実施形態に共通のフローである。
第1実施形態で述べた燃料のオクタン価、第2実施形態で述べた混合燃料中のアルコール濃度はいずれもノックと相関を有するパラメータであるが、ノックと相関を有するパラメータはこれらに限られるものでなく圧縮比がある。予めオクタン価の定まっている燃料を使用する場合に、圧縮比はエンジンの仕様により予め定まっているので、そのエンジン仕様により定まっている圧縮比でもノックが生じないようにベース点火時期をマッチングすることになる。このため、何らかの原因で実際の圧縮比がエンジン仕様の圧縮比より高くなった場合にノックが生じ、これに対してノック回避のための点火時期の遅角とそれに続く進角の操作とを繰り返したのでは燃費悪化、出力低下が生じる。
第3実施形態は、図5、図10、図12、図13に示したように層流燃焼速度(SL1、SL2)、燃焼ガス体積相当容積(V0、VTDC)、燃焼質量割合(BR1、BR2)及び反応確率RPROBAに基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出し、この燃焼期間(BURN1、BURN2)に基づいてMBTの得られる基本点火時期MBTCALを算出すると共に、前記燃焼期間を初期燃焼期間BURN1と主燃焼期間BURN2とに分割し、このうち初期燃焼期間BURN1を、燃焼室5の圧縮開始時期における容積V0を前記燃焼室5内の燃焼ガス体積に相当する容積として用いて算出するものを前提として、予め定まっているオクタン価(例えば80とする)のガソリンを使用燃料とする場合にノックセンサ47からのノック検出結果に基づいてノック相関パラメータである圧縮比の推定値CMPESTを算出し、この圧縮比推定値CMPESTに基づいて燃焼室5の圧縮開始時期における容積V0を算出するものである。
第1実施形態と相違する部分を主に説明すると、図49においてステップ321で初回は圧縮開始時温度TC0と圧縮開始時圧力PC0とから図30Bを内容とするマップを検索することにより、後述する圧縮比推定値CMPESTに関係なくオクタン価80の燃料での1/τを算出し、算出したオクタン価80の燃料での1/τをステップ209で積算値SUMに積算する。
次に、図50においてステップ261でノックセンサ47によりノックが生じていると検出されるきには圧縮比推定値CMPALCESTが実際の圧縮比より小さいと判断しステップ262、263の操作を行った後にステップ264に進み着火時期差Δθの絶対値と所定値を比較する。着火時期差Δθの絶対値が所定値以上であるときにはステップ331に進み圧縮比推定値CMPESTを第1の所定値const23に着火時期差Δθを乗算した値だけ大きくする。つまり、次式により圧縮比推定値CMPALCESTを更新する。
CMPEST(new)=CMPEST(old)+const23×Δθ…(84)
ただし、CMPEST(new):更新後の圧縮比推定値、
CMPEST(old):更新前の圧縮比推定値、
const23:大きくする側への更新割合(正の無名数)、
ここで、(82)式第2項は圧縮比推定値の一回当たりの更新量を定めている。一回当たりの更新量に着火時期差Δθを導入しているのは、圧縮比推定値CMPESTの収束を早めるためである。すなわち、圧縮比推定値CMPESTが実際の圧縮比より小さくかつ実際の圧縮比に近いときには自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にそれほどズレないが、圧縮比推定値CMPESTが実際の圧縮比より小さくかつ実際の圧縮比より大きくズレているときには自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレてしまう。そこで、自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレている(Δθが大きい)ときにはこれに合わせて圧縮比推定値の一回当たりの更新量を大きくして圧縮比推定値CMPESTの収束を早めるようにしたものである。
ステップ332ではこの更新後の圧縮比推定値CMPESTを用いて自着火時期予測値θknkestを再び算出する。この自着火時期予測値θknkestの算出は2回目であり(図33のステップ218での自着火時期予測値θknkestの算出が1回目)、この2回目の自着火時期予測値θknkestを1回目の自着火時期予測値θknkestの上に上書きする。
2回目以降の自着火時期予測値θknkestの算出については図51、図52のフローにより説明する。2回目以降の自着火時期予測値θknkestの算出処理は図49、図33における自着火時期予測値の算出処理を流用するものであり、従って図51、図52において図49、図33と同一部分に同一のステップ番号をつけている。
図49、図33と異なるのは、図52のステップ281、341のみである。すなわち、図51のステップ210において1/τの積算値SUMが1以上となったときには図52のステップ281に進みそのときのクランク角θを自着火時期予測値θknkest[degBTDC]に入れることによって2回目の自着火時期予測値θknkestを算出する。
このようにして2回目に算出した自着火時期予測値θknkestは図33のステップ218で1回目に算出した自着火時期予測値θknkestよりも自着火時期検出値θknkrealに近づくことになるので、図50のステップ263に戻り、その2回目に算出した自着火時期予測値θknkestを用いて再び着火時期差Δθを算出し、ステップ264でこの着火時期差Δθと所定値を比較し、着火時期差Δθが所定値以上であるときにはステップ331、332、263、264を繰り返す。この繰り返しによりやがて何回目かに算出した自着火時期予測値θknkestを用いて算出される着火時期差Δθが所定値未満に収まったとき、図50のステップ264から「END」へと抜けて今回の処理を終了する。
このように、ノックを検出した場合に着火時期差Δが所定値未満に収まるまで圧縮比推定値CMPESTを繰り返し更新する操作(図50においてステップ263、264、331、332のループ操作)は、次の燃焼サイクルが到達するまでには余裕を持って終了するのであり、ノックが検出された燃焼サイクルが終了すれば圧縮比推定値CMPESTは収束している。
一方、図51において1/τの積算値SUMが1に達することなくクランク角θが所定値const21を超えたときには図51のステップ322より図52のステップ341に進み所定値const26を自着火時期予測値θknkestに移した後、今回の処理を終了する。所定値const26としては図51のステップ322での所定値const21と同等かこれより大きい値(遅角側の値)を用いる。
このようにして第3実施形態では、ノックが発生していることが検出されたときには、そのノックが検出された燃焼サイクルにおいて着火時期差Δθが許容範囲に収まるまで圧縮比推定値CMPESTを大きくしている。
一方、図50においてノッキングが検出されない場合で点火時期最小値PADVが基本点火時期MBTCALと一致しておらずかつカウンタ値countが所定値const24以上になったとき、ステップ261、267、333よりステップ334に進んで圧縮比推定値CMPESTを第2の所定値const25だけ小さくする。つまり、次式により圧縮比推定値CMPESTを更新する。
CMPEST(new)=CMPEST(old)−const25…(85)
ただし、CMPEST(new):更新後の圧縮比推定値、
CMPEST(old):更新前の圧縮比推定値、
const25:小さくする側への更新量、
また、図49のステップ322、323、図50のステップ333では所定値const21、const22、const24を第1実施形態と異なる値にしている。これらの所定値const21、const22、const24は事前の予備実験等によりマッチングする。このうち所定値const21、const22は第1実施形態の所定値const01、const02と同じでかまわない。
第3実施形態では、このようにして算出される圧縮比推定値CMPESTに基づいて燃焼室5の吸気弁閉時期における容積VIVCと、燃焼室5の燃焼開始時期(MBTCYCL)における容積V0とを算出する。これを図53、図54のフローにより説明する。
図53、図54のフローは第1実施形態の図5、図10と置き換わるものである。図53において図5と同一部分には同一のステップ番号を、また図54において図10と同一部分には同一のステップ番号を付している。
第1実施形態と相違する部分を主に説明すると、図53においてステップ351では次式により隙間容積Vc[m3]を算出する。
Vc={1/(CMPEST−1)}×(π/4)D2・Hx …(86)
ただし、CMPEST:圧縮比推定値、
D :シリンダボア径[m]、
Hx:ピストンピン76のTDCからの距離の最大値と最小値の差[m]、
ここで、(86)式は第1実施形態の上記(3)式に置き換わるものである。第1実施形態では(3)式の圧縮比εが一定であるとしていたのを、第3実施形態では可変値としての圧縮比推定値CMPESTとしたものである。
このようにして求めた隙間容積Vcを用い、ステップ352では燃焼室5の吸気弁閉時期における容積VIVCを次式により算出する。
VIVC=Vc+(π/4)D2・Hivc …(87)
D :シリンダボア径[m]、
Hivc:吸気弁閉時期におけるピストンピン76のTDCからの距離
[m]、
この(87)式は、第1実施形態の上記(2)式と同じである。
次に、図54においてステップ361では上記(86)式により隙間容積Vc[m3]を算出し、この隙間容積Vcを用い、ステップ362において次式により燃焼室5の燃焼開始時期(MBTCYCL)における容積V0を算出する。
V0=Vc+(π/4)D2・Hmbtcycl …(88)
ただし、D :シリンダボア径[m]、
Hmbtcycl:燃焼開始時期(MBTCYCL)におけるピストンピン
76のTDCからの距離[m]、
第3実施形態(請求項10に記載の発明)によれば、予めオクタン価の定まっている燃料、ここではオクタン価80の燃料を使用する場合に、ノックセンサ47によるノック検出結果を点火時期ではなく圧縮比にフィードバックしている(図50参照)。このため、圧縮比推定値CMPESTの動きは図48最下段に一点鎖線で示した示したアルコール濃度推定値ALCESTと同様の動きをする。すなわち、ノッキングが生じたときには圧縮比推定値CMPESTが実際の圧縮比より低い結果であると判断されて圧縮比推定値CMPESTがステップ的に高くなる。この結果、ノッキングが生じないようであれば、カウンタ値countが所定値const24に達する毎に今度は圧縮比推定値CMPESTが第2の所定値const25ずつ一定の周期で低くなってゆく。そして、点火時期最小値PADVがMBTCALに一致した後は圧縮比推定値CMPESTの更新は中止されそのときの値が保持される。このように変化する圧縮比推定値CMPESTに基づいて燃焼室5の吸気弁閉時期における容積VIVCと、燃焼室5の燃焼開始時期(MBTCYCL)における容積V0とが算出される。
このように、第3実施形態(請求項10に記載の発明)によれば、ノックセンサ47によるノック検出結果に基づいて圧縮比推定値CMPESTを算出し(図50のステップ261、331、334参照)、その圧縮比推定値CMPESTに基づいて初期燃焼期間BURN1の算出に用いられる、燃焼室5の燃焼開始時期における容積V0を算出する(図54のステップ361、362参照)ので、オクタン価80の燃料(予めオクタン価の定まっている燃料)を使用する場合において何らかの原因で実際の圧縮比がエンジン仕様の圧縮比より高くなったときにおいても、運転状態によらず、ノック検出結果を点火時期にフィードバックする従来装置のようにノック回避のための点火時期の遅角とそれに続く進角の操作とが繰り返されることがない。このため、第1、第2の各実施形態と同様に過渡でもノック限界点火時期を追従できるので、燃費悪化、出力低下を防ぐことができる。
また、第3実施形態(請求項45に記載の発明)によれば、燃焼室内で実際にノックが生じているか否かを検出し、燃焼室内でのノック発生時期を検出し、このノック発生時期検出値θknkrealとノック発生時期予測値θknkestとを比較し、この比較結果及び前記ノック検出結果に基づいて圧縮比の推定値CMPESTを算出し、この圧縮比推定値CMPESTに基づいて前記燃焼室の燃焼開始時期における容積V0を算出し、この燃焼開始時期における容積V0に基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出し、この燃焼期間(BURN1、BURN2)に基づいてMBTの得られる基本点火時期MBTCALを算出し、この基本点火時期MBTCALで火花点火を行うので、予めオクタン価の定まっている燃料やアルコール濃度の定まっている混合燃料を使用する場合において何らかの原因で実際の圧縮比がエンジン仕様の圧縮比より高くなったときにおいても、圧縮比推定値CMPESTの収束を早めつつ、MBTの得られる基本点火時期を精度よく与えることができる。
また、圧縮比推定値CMPESTの更新(算出)に際しては上記(84)式に示したように自着火時期検出値θknkreal(ノック発生時期検出値)と自着火時期予測値θknkest(ノック発生時期予測値)の着火時期差Δθ(=θknkreal−θknkest)をも考慮している。すなわち、自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレている(Δθが大きい)ときには、自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にそれほどズレてない(Δθが小さい)ときより圧縮比推定値の一回当たりの更新量が大きくなり、自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側に大きくズレているときのほうが自着火時期予測値θknkestが自着火時期検出値θknkrealより遅角側にそれほどズレていないときより圧縮比推定値CMPESTが早く収束する。
このように、第3実施形態(請求項10に記載の発明)によれば、着火時期差Δθ(自着火時期検出値θknkrealと自着火時期予測値θknkestとの比較結果)に基づいても圧縮比推定値CMPEST(ノック相関パラメータ推定値)を算出するようにしたので(図50のステップ331参照)、圧縮比推定値CMPESTの収束を早めることができ、そのぶん運転性が向上する。
第3実施形態(請求項12、47に記載の発明)によれば、圧縮比推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいて自着火時期検出値θknkreal(ノック発生時期検出値)と自着火時期予測値θknkest(ノック発生時期予測値)との着火時期差Δθ(発生時期差)が許容範囲内に収まるまで圧縮比推定値CMPESTを大きくなる側に更新し(図50のステップ263、264、331、332のループ操作参照)、その後は圧縮比推定値CMPESTを第2の所定値const25ずつ小さくなる側に一定の周期で更新する(図50のステップ261、267、333、269、334、271参照)手段であるので、ノックが検出された燃焼サイクルで圧縮比推定値CMPESTを収束させることができる。
第3実施形態(請求項13、48に記載の発明)によれば 圧縮比推定値CMPESTを第2の所定値const25ずつ小さくなる側(ノックが発生する側)にする更新(図50のステップ334参照)を、基本点火時期MBTCALではノックが発生する条件で実行する(図50のステップ267)ので、圧縮比推定値CMPESTを誤って更新することがない。
第3実施形態(請求項14、49に記載の発明)によれば、図54に示したように燃焼室5の吸気弁閉時期における容積VIVCと燃焼開始時期における容積V0とに基づいて吸気弁閉時期IVCから燃焼開始時期までの有効圧縮比Ecを算出し(図54のステップ163参照)、燃焼室5の吸気弁閉時期の温度TINIとこの有効圧縮比Ecとから燃焼室5の燃焼開始時期における温度T0を、燃焼室5の吸気弁閉時期の圧力PINIとこの有効圧縮比Ecとから燃焼室5の燃焼開始時期における圧力P0をそれぞれ算出し(図54のステップ164〜167参照)、これら燃焼室5の燃焼開始時期における温度T0と圧力P0とに基づいて初期燃焼期間BURN1の算出に用いる層流燃焼速度SL1を算出する(図54のステップ168参照)場合に、圧縮比推定値CMPESTに基づいて燃焼室5の吸気弁閉時期における容積VIVCを算出する(図53のステップ351、352)ので、予めオクタン価の定まっている燃料を使用する場合において何らかの原因で実際の圧縮比が予定している圧縮比より高くなったときにおいても、燃焼室5の吸気弁閉時期における容積VIVCを精度よく算出できる。
第3実施形態では、自着火時期予測値θknkest(ノック発生時期予測値)を燃焼室内の燃料が自着火に至るまでの時間の逆数の分布を表す特性に基づいて算出する場合で説明したが、自着火時期予測値θknkestに代えて自着火時期検出値θknkreal(ノック発生時期検出値)を用いるようにしてもかまわない(請求項11、46に記載の発明)。
図55、図59、図61のフローはそれぞれ第4、第5、第6の実施形態で、図55は第1実施形態の図38と、図59は第2実施形態の図45と、図61は第3実施形態の図50とそれぞれ置き換わるものである。図55において図38と同一部分には同一のステップ番号を、図59において図45と同一部分には同一のステップ番号を、また図61において図50と同一部分には同一のステップ番号を付している。
第1から第3までの3つの実施形態では、ノックが発生していることが検出されたときに、ノックが検出された燃焼サイクルにおいて自着火時期検出値θknkrealと自着火時期予測値θknkestの差である着火時期差Δθが許容範囲内に収まるまでノック相関パラメータを変化させたが(第1実施形態についてオクタン価推定値OCTESTを小さくし、第2実施形態についてアルコール濃度推定値ALCESTを高くし、第3実施形態について圧縮比推定値CMPESTを大きくしている)、第4から第6までの3つの実施形態は、ノックが発生していることが検出されたときに、ノックが検出された燃焼サイクルにおいてノック強度推定値KICESTとノック強度検出値KICREALの差であるノック強度差ΔKICが許容範囲内に収まるまでノック相関パラメータ(第4実施形態についてオクタン価推定値、第5実施形態についてアルコール濃度推定値、第6実施形態について圧縮比推定値)を変化させるものである。
図55に示す第4実施形態において図38に示す第1実施形態と相違する部分はステップ371〜375、図59に示す第5実施形態において図45に示す第2実施形態と相違する部分はステップ371〜373、381、382、図61に示す第6実施形態において図50に示す第3実施形態と相違する部分はステップ371〜373、391、392である。すなわち、第4、第5、第6の各実施形態に共通のステップ371では実際のノック強度を読み込む。実際のノック強度を得るには、ノック分の周波数成分の特性を示す図56においてしきい値から上の面積を積分して求めてやればよい。このようにして求めた積分値に相関係数2を乗算してノック強度に変換し、その変換後の値をノック強度検出値KICREALとして読み込む。なお、図56の特性図は図39の特性図と同じものである。
第4実施形態において図55のステップ372〜375のループ操作はノック強度差ΔKICが許容範囲内に収まるようにノックを生じさせることなくオクタン価推定値OCTESTを収束させる部分、第5実施形態において図59のステップ372、373、381、382のループ操作はノック強度差ΔKICが許容範囲内に収まるようにノックを生じさせることなくアルコール濃度推定値ALCESTを収束させる部分、また第6実施形態において図61のステップ372、373、391、392のループ操作はノック強度差ΔKICが許容範囲内に収まるようにノックを生じさせることなく圧縮比推定値CMPESTを収束させる部分である。まず第4、第5、第6の各実施形態に共通のステップ372で次式によりノック強度差ΔKICを計算する。
ΔKIC=KICEST−KICREAL …(89)
同じく第4、第5、第6の各実施形態に共通のステップ373ではこのノック強度差ΔKICの絶対値と所定値const6とを比較する。所定値const6は許容範囲を定めるもので、ノック強度差ΔKICの絶対値が所定値const6未満であれば、ノック強度差ΔKICは許容範囲内にありオクタン価推定値、アルコール濃度推定値、圧縮比推定値の各誤差とは別の要因でノックが生じたものと判断してそのまま今回の処理を終了する。
ノック強度差ΔKICの絶対値が所定値以上であるときには第4実施形態においては図55のステップ374に、第5実施形態においては図59のステップ381に、また第6実施形態においては図61のステップ391に進む。すなわち、ノック強度推定値KICESTのほうがノック強度検出値KICREALより大きいときには、ノック強度推定値が大き過ぎることを意味するので、第4実施形態においては図55のステップ374でオクタン価推定値OCTESTを第1の所定値const03にノック強度差ΔKICを乗算した値だけ小さくする。つまり、次式によりオクタン価推定値OCTESTを更新する。
OCTEST(new)=OCTEST(old)−const03×ΔKIC…(90)
ただし、OCTEST(new):更新後のオクタン価推定値、
OCTEST(old):更新前のオクタン価推定値、
const03 :小さくする側への更新割合(正の無名数)、
同様にして第5実施形態においては図59のステップ381でアルコール濃度推定値ALCESTを第1の所定値const13にノック強度差ΔKICを乗算した値だけ大きくする。つまり、次式によりアルコール濃度推定値ALCESTを更新する。
ALCEST(new)=ALCEST(old)+const13×ΔKIC…(91)
ただし、ALCEST(new):更新後のアルコール濃度推定値、
ALCEST(old):更新前のアルコール濃度推定値、
const13 :大きくする側への更新割合(正の無名数)、
また第6実施形態においては図61のステップ391で圧縮比推定値CMPESTを第1の所定値const23にノック強度差ΔKICを乗算した値だけ大きくする。つまり、次式により圧縮比推定値CMPESTを更新する。
CMPEST(new)=CMPEST(old)+const23×ΔKIC…(92)
ただし、CMPEST(new):更新後の圧縮比推定値、
CMPEST(old):更新前の圧縮比推定値、
const23 :大きくする側への更新割合(正の無名数)、
ここで、(90)式右辺第2項はオクタン価推定値の一回当たりの更新量を定めている。一回当たりの更新量にノック強度差ΔKICを導入しているのは、オクタン価推定値OCTESTの収束を早めるためである。すなわち、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近いときにはノック強度推定値KICESTがノック強度検出値KICREALより大きい側にそれほどズレないが、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレているときにはノック強度推定値KICESTがノック強度検出値KICREALより大きい側に大きくズレてしまう。そこで、ノック強度推定値KICESTがノック強度検出値KICREALより大きい側に大きくズレている(つまりΔKICが大きい)ときにはこれに合わせて一回当たりの更新量を大きくしてオクタン価推定値OCTESTの収束を早めるようにしたものである。(91)式において第1の所定値const13に、また(92)式において第1の所定値const23にそれぞれノック強度差ΔKICを乗算しているのも同じ理由からである。
第4実施形態において図55のステップ375ではその直前のステップ374で更新したオクタン価推定値OCTESTを用いて、第5実施形態において図59のステップ382ではその直前のステップ381で更新したアルコール濃度推定値ALCESTを用いて、また第6実施形態において図61のステップ392ではその直前のステップ391で更新した圧縮比推定値CMPESTを用いてノック強度推定値KICESTを再び算出する。これらノック強度推定値KICESTの各算出は2回目であり(図33のステップ229でのノック強度推定値KICESTの算出が1回目)、この2回目のノック強度推定値KICESTを1回目のノック強度推定値KICESTの上に上書きする。
2回目以降のノック強度推定値KICESTの算出については、第4実施形態について図57、図58(図55のステップ375のサブルーチン)のフローにより、第5実施形態について図60、図58(図59のステップ382のサブルーチン)のフローにより、また第6実施形態について図62、図58(図61のステップ392のサブルーチン)のフローにより説明する。2回目以降のノック強度推定値KICESTの算出処理は、第4実施形態においては第1実施形態の図32、図33におけるノック強度推定値の算出処理を、第5実施形態においては第2実施形態の図43、図33におけるノック強度推定値の算出処理を、第6実施形態においては第3実施形態の図49、図33におけるノック強度推定値の算出処理を流用するものであり、従って第4実施形態の図57、図58において第1実施形態の図32、図33と同一部分に、第5実施形態の図60、図58において第2実施形態の図43、図33と同一部分に、第6実施形態の図62、図58において第3実施形態の図49、図33と同一部分に同一のステップ番号をつけている。
第1、第2、第3の各実施形態におけるノック強度推定値KICESTの算出処理と異なるのは、第1、第2、第3の各実施形態に共通の図33に示すステップ230、231、232が、第4、第5、第6の各実施形態に共通の図58になく、かつ第4、第5、第6の各実施形態に共通の図58において新たにステップ381を加えている点である。従って、第4実施形態において図55のステップ374で更新されたオクタン価推定値OCTESTを、図57のステップ208において用いた場合に図57のステップ210において1/τの積算値SUMが1以上となったときに、第5実施形態において図59のステップ381で更新されたアルコール濃度推定値ALCESTを図60のステップ293において用いた場合に図60のステップ210において1/τの積算値SUMが1以上となったときに、また第6実施形態において図62のステップ210において1/τの積算値SUMが1以上となったときに、第4、第5、第6の各実施形態に共通の図58のステップ229に進んでノック強度推定値KICESTを算出する。
このようにして2回目に算出したノック強度推定値KICESTは図33のステップ229で1回目に算出したノック強度推定値KICESTよりもノック強度検出値KICREALに近づくことになるので、第4実施形態では図55のステップ372に、第5実施形態では図59のステップ372に、また第6実施形態では図61のステップ372に戻り、その2回目に算出したノック強度推定値KICESTを用いて再びノック強度差ΔKICを算出し、図55、図59、図61のステップ373でこのノック強度差ΔKICと所定値を比較し、ノック強度差ΔKICが所定値以上であるときには第4実施形態では図55のステップ374、375、372、373を、第5実施形態では図59のステップ381、382、372、373を、また第6実施形態では図61のステップ391、392、372、373を繰り返す。この繰り返しによりやがて何回目かに算出したノック強度推定値KICESTを用いて算出されるノック強度差ΔKICが所定値未満に収まったとき図55、図59、図61のステップ373から「END」へと抜けて今回の処理を終了する。
このように、第4実施形態についてノックを検出した場合にノック強度差ΔKICが所定値未満に収まるまでオクタン価推定値OCTESTを繰り返し更新する操作(図55においてステップ372〜375のループ操作)、第5実施形態についてノックを検出した場合にノック強度差ΔKICが所定値未満に収まるまでアルコール濃度価推定値ALCESTを繰り返し更新する操作(図59においてステップ372、373、381、382のループ操作)、また第6実施形態についてノックを検出した場合にノック強度差ΔKICが所定値未満に収まるまで圧縮比推定値CMPESTを繰り返し更新する操作(図61においてステップ372、373、391、392のループ操作)は、次の燃焼サイクルが到達するまでには余裕を持って終了するのであり、ノックが検出された燃焼サイクルが終了すれば第4実施形態についてオクタン価推定値OCTESTが、第5実施形態についてアルコール濃度推定値ALCESTが、また第6実施形態について圧縮比推定値CMPESTがそれぞれ収束している。
一方、第4実施形態の図57において1/τの積算値SUMが1に達することなくクランク角θが所定値const01を超えたときには図57のステップ211より、第5実施形態の図60において1/τの積算値SUMが1に達することなくクランク角θが所定値const11を超えたときには図60のステップ294より、また第6実施形態の図62において1/τの積算値SUMが1に達することなくクランク角θが所定値const21を超えたときには図60のステップ322より、第4、第5、第6の実施形態に共通である図58のステップ381に進みノック強度推定値KICEST=0とした後、今回の処理を終了する。
このようにしてノックが発生していることが検出されたときには、そのノックが検出された燃焼サイクルにおいてノック強度差ΔKICが許容範囲内に収まるまで、第4実施形態においてはオクタン価推定値OCTESTを小さく、第5実施形態においてはアルコール濃度推定値ALCESTを高く、また第6実施形態においては圧縮比推定値CMPSTを大きくしている。
第4、第5、第6の実施形態(請求項17、26に記載の発明)によれば、ノック検出結果に基づいてオクタン価、アルコール濃度、圧縮比といったノック相関パラメータの推定値を算出し(ノック検出結果をノック相関パラメータにフィードバック)し(第4実施形態について図55のステップ261、374、270、第5実施形態について図59のステップ261、381、304、第6実施形態について図61のステップ261、391、334参照)、そのノック相関パラメータ推定値に基づいて燃焼室5内での自着火時期予測値θknkest(ノック発生時期予測値)を算出し(第4実施形態について図32のステップ206〜210、図33のステップ218、第5実施形態について図43のステップ291〜293、209、210、図33のステップ218、第6実施形態について図49のステップ321、209、210、図33のステップ218参照)、この自着火時期予測値θknkestに基づいてノック限界点火時期KNOCKcalを算出する(図33のステップ219〜231参照)ようにしたので、燃料のオクタン価や混合燃料中のアルコール濃度を予め知り得ていない市場で販売される燃料を使用する場合においても、また、予めオクタン価の定まっている燃料を使用する場合において何らかの原因で実際の圧縮比がエンジン仕様の圧縮比より高くなったときにおいても、運転状態によらず、ノック検出結果を点火時期にフィードバックする従来装置のようにノック回避のための点火時期の遅角とそれに続く進角の操作とが繰り返されることがない。このため、加速時や減速時などの過渡でもノック限界点火時期を追従できるので、燃費悪化、出力低下を防ぐことができる。
また、ノックが検出されたときのオクタン価推定値OCTEST、アルコール濃度推定値ALCEST、圧縮比推定値CMPESTの各更新(算出)に際しては上記(90)式、(91)式、(92)式に示したようにノック強度推定値KICESTとノック強度検出値KICREALのノック強度差ΔKIC(=KICEST−KICREAL)をも考慮している。すなわち、第4実施形態についてオクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレている(つまりノック強度推定値KICESTがノック強度検出値KICREALより大きい側に大きくズレている)ときには、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近い(つまりノック強度推定値KICESTがノック強度検出値KICREALより大きい側にそれほどズレてない)ときよりオクタン価推定値の一回当たりの更新量が大きくなり、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレているときのほうがオクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近いときよりオクタン価推定値OCTESTが早く収束する。第5実施形態についてアルコール濃度推定値ALCTESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレている(つまりノック強度推定値KICESTがノック強度検出値KICREALより大きい側に大きくズレている)ときには、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近い(つまりノック強度推定値KICESTがノック強度検出値KICREALより大きい側にそれほどズレてない)ときよりアルコール濃度推定値の一回当たりの更新量が大きくなり、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレているときのほうがアルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近いときよりアルコール濃度推定値ALCESTが早く収束する。第6実施形態についてノック強度推定値KICESTがノック強度検出値KICREALより大きい側に大きくズレている(Δθが大きい)ときには、ノック強度推定値KICESTがノック強度検出値KICREALより大きい側にそれほどズレてない(Δθが小さい)ときより圧縮比推定値の一回当たりの更新量が大きくなり、ノック強度推定値KICESTがノック強度検出値KICREALより大きい側に大きくズレているときのほうがノック強度推定値KICESTがノック強度検出値KICREALより大きい側にそれほどズレてないときより圧縮比推定値CMPESTが早く収束する。
このように第4、第5、第6の実施形態(請求項17、26に記載の発明)によれば、ノック強度差ΔKIC(ノック強度推定値KICESTとノック強度検出値KICREALとの比較結果)に基づいても、オクタン価推定値OCTEST、アルコール濃度推定値ALCEST、圧縮比推定値CMPESTといったノック相関パラメータ推定値を算出するので(図55のステップ374、図59の381、図61のステップ391参照)、ノック相関パラメータ推定値の収束を早めることができ、そのぶん運転性が向上する。
また、ノックセンサ47を用いた自着火時期(ノック発生時期)の検出において精度を高めるにはサンプリング周期を短くする必要があるが、ノック強度を用いるのであればノックセンサ47のサンプリング周波数を低くできることから、ノック強度を用いる第4、第5、第6の実施形態(請求項17、26に記載の発明)によれば、性能を悪化することなく安価にシステムを構成できる。
第4実施形態では、図5、図10、図12、図13に示したように、層流燃焼速度SL1、SL2、燃焼ガス体積相当容積(V0、VTDC)、燃焼質量割合(BR1、BR2)及び反応確率RPROBAに基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出し、この燃焼期間(BURN1、BURN2)に基づいて基本点火時期MBTCALを算出する場合で説明したが、基本点火時期MBTCALの算出に代えて、ベース点火時期のマップを備えさせるものでもかまわない。この場合に、ノック限界点火時期算出手段を、自着火時期予測値θknkest(ノック発生時期予測値)と運転条件とに基づいて燃焼室5のノックによる圧力上昇量DP1を推定する圧力上昇量推定手段(図33のステップ219〜226参照)と、この圧力上昇量DP1に基づいてノック強度推定値KICを算出するノック強度推定値算出手段(図33のステップ227〜229参照)と、このノック強度推定値KICに基づいてノックリタード量KNRTを算出するノックリタード量算出手段(図33のステップ230参照)と、このノックリタード量KNRTだけ基本点火時期MBTCALを遅角側に補正した値をノック限界点火時期KNOCKcalとして設定するノック限界点火時期設定手段(図33のステップ231参照)とを含んで構成することで(請求項18に記載の発明)、基本点火時期としてのベース点火時期をマップで与えるにしても、最大オクタン価から最小オクタン価までの複数の異なるオクタン価毎にベース点火時期のマップを与える必要がなく、これによりROM容量が大きくなることがない。
第4実施形態(請求19に記載の発明)によれば、ガソリンを燃料とする場合にオクタン価がノックに及ぼす影響が一番大きいことに対応して、このオクタン価推定値OCTESTをノック検出結果及びノック強度ΔKIC(ノック強度検出値KICREALとノック強度推定値KICESTの比較結果)に基づいて算出するので(図55のステップ261、371、372、374参照)、オクタン価が予め分かっていないガソリンを使用燃料とする場合であっても自着火時期予測値θknkest(ノック発生時期予測値)を精度よく算出できる。
また、第4実施形態(請求項20に記載の発明)によれば、オクタン価推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいてノック強度推定値KICESTとノック強度検出値KICREALとのノック強度差ΔKICが許容範囲内に収まるまでオクタン価推定値OCTESTを小さくなる側に更新し(特に図55のステップ372〜375のループ操作参照)、その後はオクタン価推定値OCTESTを第2の所定値const05ずつ大きくなる側に一定の周期で更新する(図55のステップ261、267〜271参照)手段であるので、ノックが検出された燃焼サイクルでオクタン価推定値OCTESTを収束させることができる。
第4実施形態(請求項21に記載の発明)によれば オクタン価推定値OCTESTを第2の所定値const05ずつ大きくなる側(ノックが発生する側)にする更新(図55のステップ270参照)を、基本点火時期MBTCALではノックが発生する条件でつまり点火時期最小値PADVが基本点火時期MBTCALより遅角されている場合にだけ実行する(図38のステップ267)ので、オクタン価推定値OCTESTを誤って更新することがない。
第4実施形態(請求項25に記載の発明)によれば、基本点火時期算出手段が、燃焼ガスの層流状態での燃焼速度である層流燃焼速度(SL1、SL2)を算出する層流燃焼速度算出手段(図10のステップ168、図12のステップ188参照)と、燃焼室5内の燃焼ガス体積に相当する容積(V0、VTDC)を算出する燃焼ガス体積相当容積算出手段(図10のステップ162、図12の182参照)と、所定のクランク角までに燃焼室5内で燃焼するガスの燃焼質量割合(BR1、BR2)を算出する燃焼質量割合算出手段(図10のステップ171、図12のステップ191参照)と、所定運転条件での燃焼ガスの燃焼のしやすさを示す反応確率RPROBAを算出する反応確率算出手段(図5のステップ15参照)と、これら層流燃焼速度(SL1、SL2)、燃焼ガス体積相当容積(V0、VTDC)、燃焼質量割合(BR1、BR2)及び反応確率RPROBAに基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出する燃焼期間算出手段(図10のステップ171、図12のステップ191参照)と、この燃焼期間(BURN1、BURN2)に基づいてMBTの得られる基本点火時期MBTCALを算出する基本点火時期算出手段(図13のステップ41〜43参照)とを含むので、この基本点火時期MBTCALを遅角側に補正した値であるノック限界点火時期KNOCKcalが燃焼解析に基づいて算出されることになり、これにより運転条件によらず最適なノック限界点火時期KNOCKcalを算出できる。
第5実施形態(請求項22に記載の発明)によれば、ガソリンとアルコールの混合燃料では混合燃料中のアルコール濃度がノックに影響を及ぼすことに対応して、このアルコール濃度推定値ALCESTをノック検出結果及びノック強度差ΔKIC(ノック強度推定値KICESTとノック強度検出値KICrealの比較結果)に基づいて算出するので(図59のステップ261、371、372、381参照)、アルコール濃度を予め知り得ないアルコール含有燃料を使用燃料とする場合であっても自着火時期予測値θknkest(ノック発生時期予測値)を精度よく算出できる。
第5実施形態(請求項23に記載の発明)によれば、アルコール濃度推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいてノック強度推定値KICESTとノック強度検出値KICREALとのノック強度差ΔKICが許容範囲内に収まるまでアルコール濃度推定値ALCESTを高くなる側に更新し(特に図59のステップ372、373、381、382のループ操作参照)、その後はアルコール濃度推定値ALCESTを第2の所定値const15ずつ低くなる側に一定の周期で更新する(図59のステップ261、267、303、269、304、271参照)手段であるので、ノックが検出された燃焼サイクルでアルコール濃度推定値ALCESTを収束させることができる。
第5実施形態(請求項24に記載の発明)によれば、アルコール濃度推定値ALCESTを第2の所定値const15ずつ低くなる側(ノックが発生する側)にする更新(図59のステップ304参照)を、基本点火時期MBTCALではノックが発生する条件で実行する(図59のステップ267)ので、アルコール濃度推定値ALCESTを誤って更新することがない。
第6実施形態(請求項52に記載の発明)によれば、燃焼室内で実際にノックが生じているか否かを検出し、燃焼室内でのノック強度を検出し、このノック強度検出値KICREALとノック強度推定値KICESTとを比較し、この比較結果及び前記ノック検出結果に基づいて圧縮比の推定値CMPESTを算出し、この圧縮比推定値CMPESTに基づいて前記燃焼室の燃焼開始時期における容積V0を算出し、この燃焼開始時期における容積V0に基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出し、この燃焼期間(BURN1、BURN2)に基づいてMBTの得られる基本点火時期MBTCALを算出し、この基本点火時期MBTCALで火花点火を行うので、予めオクタン価の定まっている燃料やアルコール濃度の定まっている混合燃料を使用する場合において何らかの原因で実際の圧縮比がエンジン仕様の圧縮比より高くなったときにおいても、圧縮比推定値CMPESTの収束を早めつつ、MBTの得られる基本点火時期を精度よく与えることができる。
第6実施形態(請求項28、55に記載の発明)によれば、圧縮比推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいてノック強度推定値KICESTとノック強度検出値KICREALとのノック強度差ΔKICが許容範囲内に収まるまで圧縮比推定値CMPESTを大きくなる側に更新し(特に図61のステップ372、373、391、392のループ操作参照)、その後は圧縮比推定値CMPESTを第2の所定値const25ずつ低くなる側に一定の周期で更新する(図61のステップ261、267、333、269、334、271参照)手段であるので、ノックが検出された燃焼サイクルで圧縮比推定値CMPESTを収束させることができる。
第6実施形態(請求項29、55に記載の発明)によれば 圧縮比推定値CMPESTを第2の所定値const25ずつ小さくなる側(ノックが発生する側)にする更新(図61のステップ334参照)を、基本点火時期MBTCALではノックが発生する条件で実行する(図61のステップ267)ので、圧縮比推定値CMPESTを誤って更新することがない。
第6実施形態(請求項30、56に記載の発明)によれば、図54に示したように燃焼室5の吸気弁閉時期における容積VIVCと燃焼開始時期における容積V0とに基づいて吸気弁閉時期IVCから燃焼開始時期までの有効圧縮比Ecを算出し(図54のステップ163参照)、燃焼室5の吸気弁閉時期の温度TINIとこの有効圧縮比Ecとから燃焼室5の燃焼開始時期における温度T0を、燃焼室5の吸気弁閉時期の圧力PINIとこの有効圧縮比Ecとから燃焼室5の燃焼開始時期における圧力P0をそれぞれ算出し(図54のステップ164〜167参照)、これら燃焼室5の燃焼開始時期における温度T0と圧力P0とに基づいて初期燃焼期間BURN1の算出に用いる層流燃焼速度SL1を算出する(図54のステップ168参照)場合に、圧縮比推定値CMPESTに基づいて燃焼室5の吸気弁閉時期における容積VIVCを算出する(図53のステップ351、352)ので、予めオクタン価の定まっている燃料を使用する場合において何らかの原因で実際の圧縮比が予定している圧縮比より高くなったときにおいても、燃焼室5の吸気弁閉時期における容積VIVCを精度よく算出できる。
第6実施形態では、自着火時期予測値θknkest(ノック発生時期予測値)を燃焼室内の燃料が自着火に至るまでの時間の逆数の分布を表す特性に基づいて算出する場合で説明したが、自着火時期予測値θknkestに代えて自着火時期検出値θknkreal(ノック発生時期検出値)を用いるようにしてもかまわない(請求項27、53に記載の発明)。
このように第4、第6、第7の実施形態においても、第1、第2、第3実施形態と同様の作用効果を奏する。
図63のフローは第7実施形態、図68のフローは第8実施形態で、図63は第1実施形態の図38または第4実施形態の図55と、また図68は第2実施形態の図45または第5実施形態の図59とそれぞれ置き換わるものである。図63において図38、図55と同一部分には同一のステップ番号を、また図68において図45、図59と同一部分には同一のステップ番号を付している。
第1実施形態ではノックが発生していることが検出されたときに、そのノックが検出された燃焼サイクルにおいて自着火時期検出値θknkrealと自着火時期予測値θknkestの差である着火時期差Δθが許容範囲内に収まるまでオクタン価推定値OCTESTを小さくしたが、第7実施形態はノックが発生していることが検出されたときに、そのノックが検出された燃焼サイクルにおいてこれに加えて圧縮比推定値をも算出するようにしたものである。同様にして第2実施形態では、ノックが発生していることが検出されたときに、そのノックが検出された燃焼サイクルにおいて自着火時期検出値θknkrealと自着火時期予測値θknkestの差である着火時期差Δθが許容範囲内に収まるまでアルコール濃度推定値ALCESTを高くしたが、第8実施形態はノックが発生していることが検出されたときに、そのノックが検出された燃焼サイクルにおいてこれに加えて圧縮比推定値をも算出するようにしたものである。
図63に示す第7実施形態について図38に示す第1実施形態または図55に示す第4実施形態と主に相違する部分はステップ401、402、また図68に示す第8実施形態について図45に示す第2実施形態または図59に示す第5実施形態と主に相違する部分はステップ401、461である。すなわち、第7、第8の実施形態に共通のステップ401では圧縮比推定値CMPEST2を算出する。この圧縮比推定値CMPEST2の算出については第7、第8の実施形態に共通である図64のフローにより説明する。
ここで、第7、第8の実施形態における圧縮比推定値の算出方法は第3実施形態における圧縮比推定値の算出方法と相違するため、第7、第8の実施形態で算出する圧縮比推定値を「CMPEST2」として第3実施形態で算出される圧縮比推定値「CMPEST」と区別する。
第7、第8の実施形態に共通である図64(図63、図68のステップ401のサブルーチン)においてステップ411では図14のステップ52、53で算出されているシリンダ新気量MACYL[g]及び内部不活性ガス量MRES[g]、燃料量QINJ[g]を読み込む。なお、燃料量QINJ[g]は燃料噴射パルス幅TI[ms]に比例させて求めればよい。
ステップ412ではシリンダ新気量MACYL[g]をWIDRY[g]に、内部不活性ガス量MRES[g]をMASSZ[g]に移す。これらWIDRY、MASSZは、ノック強度指標KNKIの算出にのみ用いるために導入したもので、WIDRYはシリンダ新気量、MASSZは内部不活性ガス量である。
ステップ413では、図63、図68のステップ262で得ている自着火時期検出値θknkrealを用いて、自着火時期検出値θknkrealでの燃焼質量割合BRknkrealを算出する。これは自着火時期検出値θknkrealが初期燃焼期間にあるときにはこの自着火時期検出値θknkrealを圧縮上死点TDCを基準とする上記のクランク角Θに変換し、その変換したクランク角Θを上記の(62)式に、また自着火時期検出値θknkrealが主燃焼期間にあるときにはこの自着火時期検出値θknkrealを圧縮上死点TDCを基準とする上記のクランク角Θに変換し、その変換したクランク角Θを上記の(63)式にそれぞれ代入することによって求めることができる。
ステップ414では、燃焼室5の自着火時における平均温度TEを算出する。これは上記(64)式右辺の燃焼質量割合BRに1.0を代入して得られる燃焼室5の平均温度TCを燃焼室5の自着火時平均温度TEとして求めればよい。
ステップ415では燃料量QINJ[g]と自着火時期検出値θknkrealでの燃焼質量割合BRknkrealとから自着火時の未燃燃料量MUB2[g]を次式により算出する。
MUB2=QINJ×(1−BRknkreal) …(93)
(93)式は上記(補10)式においてMUB→MUB2、BRknk→BRknkrealの置き換えにより得られる式である。
ステップ416〜418では総ガスモル数MLALL、ガスエンタルピE、既燃ガスの比熱Cvをそれぞれ算出する。これらの算出は図33のステップ223、224、225と同じであるので説明を省略する。
ステップ419では、図63、図68のステップ371で得ているノック強度検出値KICREALを用いて自着火による圧力上昇分つまりノックによる圧力上昇分DP2[Pa]を次式により算出する。
DP2=KICREAL/相関係数3 …(94)
(94)式は上記(75)式と同じ式である。すなわち上記(75)式は圧力上昇分をノック強度へと変換するものであったが、(94)式はこの逆にノック強度を圧力上昇分へと変換するものである。従って、(94)式右辺の相関係数3はノック強度との相関を表すための係数である。簡単には相関係数3は図33のステップ227で用いた相関係数1と同じでよい。
ステップ420では燃焼室5の自着火時期検出値θknkrealにおける容積Vknk2を次式により算出する。
Vknk2=(MLALL×R#×CF#×MUB2)
/{DP2×Cv×(MASSZ+QINJ+WIDRY)}
…(95)
ただし、CF#:燃料の低位発熱量、
(95)式は上記(74)式と同じ式である。すなわち、上記(74)式は圧力上昇分について整理した式、(95)式は燃焼室容積について整理した式である。
ステップ421ではこの燃焼室5の自着火時期検出値θknkrealにおける容積Vknk2を用いて次式により隙間容積Vc2を算出する。
Vc2=Vknk2−(π/4)D2・Hknkreal …(96)
ただし、D :シリンダボア径[m]、
Hknkreal:自着火時期検出値におけるピストンピン76のTDC からの距離[m]、
(96)式は上記(2)式と同じ式である。すなわち、(96)式右辺第2項は燃焼室5の自着火時期検出値θknkrealにおける容積(隙間面積を含まない)であるので、隙間容積を含んでいるVknk2からこの容積を差し引くことで隙間容積を得ることができる。D、Hknkrealはエンジンの仕様により既知である。
ステップ422ではこの隙間容積Vc2を用いて圧縮比推定値CMPEST2を次式により算出する。
CMPEST2=(π/4)D2・Hx/Vc2+1 …(97)
ただし、D :シリンダボア径[m]、
Hx:ピストンピン76のTDCからの距離の最大値と最小値の差[m]、
(97)式は上記(86)式と同じ式である。すなわち、上記(86)式は隙間容積について整理した式、(97)式は圧縮比について整理した式である。D、Hxもエンジンの仕様により既知である。
このようにして圧縮比推定値CMPEST2の算出を終了したら第7実施形態においては図63に戻りステップ402でオクタン価推定値OCTESTを、また第8実施形態においては図68に戻りステップ461でアルコール濃度推定値ALCESTを算出する。第7実施形態のオクタン価推定値OCTESTの算出については図65のフローにより、また第8実施形態のアルコール濃度推定値ALCESTの算出については図69のフローにより説明する。
ノックが生じたことを検出した場合にそのノックを検出した燃焼サイクルにおいて第1実施形態では着火時期差Δθが所定値未満に収まるまで、また第4実施形態ではノック強度差ΔKICが所定値未満に収まるまでオクタン価推定値OCTESTを繰り返し更新してオクタン価推定値OCTESTを収束させたが、ノックが生じたことを検出した場合にそのノックを検出した燃焼サイクルにおいて第7実施形態は燃焼室5内の燃料が自着火に至るまでの時間であって燃焼室5内の圧力と温度によって相違する時間τの逆数(1/τ)を所定のクランク角毎に燃焼開始時期よりノック発生時期検出値θknkrealまでにわたって積算し、その積算値SUMと1との差の絶対値が許容範囲内に収まるまでオクタン価推定値OCTESTを繰り返し更新してオクタン価推定値OCTESTを収束させるものである。
同様にして、ノックが生じたことを検出した場合にそのノックを検出した燃焼サイクルにおいて第2実施形態では着火時期差Δθが所定値未満に収まるまで、また第5実施形態ではノック強度差ΔKICが所定値未満に収まるまでアルコール濃度推定値ALCESTを繰り返し更新してアルコール濃度推定値ALCESTを収束させたが、ノックが生じたことを検出した場合にそのノックを検出した燃焼サイクルにおいて第8実施形態は燃焼室5内の燃料が自着火に至るまでの時間であって燃焼室5内の圧力と温度によって相違する時間の逆数(1/τ)を所定のクランク角毎に燃焼開始時期よりノック発生時期検出値θknkrealまでにわたって積算し、その積算値SUMと1との差の絶対値が許容範囲に収まるまでアルコール濃度推定値ALCESTを繰り返し更新してアルコール濃度推定値ALCESTを収束させるものである。
ここでは、第7実施形態でのオクタン価推定値OCTESTの算出方法として第1実施形態の上記図40、図41における自着火時期予測値の算出方法または第4実施形態の上記図57、図58における自着火時期予測値の算出方法を、また第8実施形態でのアルコール濃度推定値ALCESTの算出方法として第2実施形態の上記図46、図47における自着火時期予測値の算出方法または第5実施形態の上記図60、図58における自着火時期予測値の算出方法を流用する。
具体的に説明すると、第7実施形態の図65(図63ステップ402のサブルーチン)について第1実施形態の図40または第4実施形態の図57と同一部分には同一のステップ番号を、また第8実施形態の図69(図68ステップ461のサブルーチン)において第2実施形態の図46または第5実施形態の図60と同一部分には同一のステップ番号をつけている。
第7実施形態の図65について第1実施形態の図40または第4実施形態の図57と相違するのはステップ431、432、433、第8実施形態の図69について第2実施形態の図46または第5実施形態の図60と相違するのはステップ431、432、471である。
第7実施形態について第1、第4の実施形態と相違する部分を主に説明すると、図65においてまずステップ431ではクランク角θと、図63のステップ262で得ている自着火時期検出値θknkrealとを比較する。クランク角θが自着火時期検出値θknkrealに達しない前には図65のステップ212に進んでクランク角θを所定角度const02ずつ進めつつ図65のステップ213〜217、206〜209、431の操作を繰り返す。やがてクランク角θが自着火時期検出値θknkrealに達したときには図65ののステップ431よりステップ432に進んでオクタン価推定値OCTESTの燃料での1/τの積算値SUMと1との差の絶対値を所定値ε(正の値)と比較する。所定値εは許容範囲を定めるもので、1と1/τの積算値SUMの差の絶対値が所定値ε未満に収まっていれば、「END」へと進んで今回の処理を終了する。
一方、1と1/τの積算値SUMの差の絶対値が所定値ε以上あればオクタン価推定値OCTESTが大き過ぎると判断し、ステップ433に進んでオクタン価推定値OCTESTを小さくする。つまり、次式によりオクタン価推定値OCTESTを更新する。
OCTEST(new)=OCTEST(old)−const03×(1−SUM)
…(98)
ただし、OCTEST(new):更新後のオクタン価推定値、
OCTEST(old):更新前のオクタン価推定値、
const03 :小さくする側への更新割合(正の無名数)、
ここで、(98)式右辺第2項はオクタン価推定値の一回当たりの更新量を定めている。一回当たりの更新量に1から1/τの積算値SUMを差し引いた値を導入しているのは、オクタン価推定値OCTESTの収束を早めるためである。すなわち、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近いときには1から1/τの積算値SUMを差し引いた値は相対的に小さなものであるが、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレているときには1から1/τの積算値SUMを差し引いた値が相対的に大きなものとなる。そこで、1から1/τの積算値SUMを差し引いた値が相対的に大きいときにはこれに合わせてオクタン価推定値の一回当たりの更新量を大きくしてオクタン価推定値OCTESTの収束を早めるようにしたものである。
その後は図65のステップ203に戻ってステップ203からの操作を繰り返し実行し、クランク角θが自着火時期検出値θknkrealに達したときには図65のステップ431よりステップ432へと進み1と1/τの積算値SUM1の差の絶対値が所定値ε以上あればオクタン価推定値OCTESTがまだ大き過ぎると判断しステップ433でオクタン価推定値OCTESTを再び小さくした後図65のステップ203に戻る。再び上記の操作を繰り返すと、やがて1と1/τの積算値SUMの差の絶対値が所定値ε未満となり、このときには「END」へと進んで図65の処理を終了する。この結果、1と1/τの積算値SUMの差の絶対値が所定値ε未満に収まったときのオクタン価推定値がオクタン価推定値の収束値となる。
このようにして、ノックが発生していることが検出されたときには、そのノックが検出された燃焼サイクルにおいて燃焼開始時期(MBTCAL+IGNDEAD)より自着火時期検出値θknkrealまでの1/τの積算値SUMと1との差の絶対値が許容範囲内に収まるまでオクタン価推定値OCTESTを繰り返し更新してオクタン価推定値OCTESTを収束させる。
次に、第8実施形態において第2、第5の実施形態と相違する部分を主に説明すると、図69においてまずステップ431ではクランク角θと、図68のステップ262で得ている自着火時期検出値θknkrealとを比較する。クランク角θが自着火時期検出値θknkrealに達しない前には図69のステップ295に進んでクランク角θを所定角度const12ずつ進めつつ図69のステップ213〜217、291、292、293、209、431の操作を繰り返す。やがてクランク角θが自着火時期検出値θknkrealに達したときには図69のステップ431よりステップ432に進んでアルコール濃度推定値ALCESTの混合燃料での1/τの積算値SUMと1との差の絶対値を所定値ε(正の値)と比較する。1と1/τの積算値SUMの差の絶対値が所定値ε未満に収まっていれば、「END」へと進んで今回の処理を終了する。
一方、1と1/τの積算値SUMの差の絶対値が所定値ε以上あればアルコール濃度推定値ALCESTが小さ過ぎると判断し、ステップ471に進んでアルコール濃度推定値ALCESTを大きくする。つまり、次式によりアルコール濃度推定値ALCESTを更新する。
ALCEST(new)=ALCEST(old)+const13×(1−SUM)
…(99)
ただし、ALCEST(new):更新後のアルコール濃度推定値、
ALCEST(old):更新前のアルコール濃度推定値、
const13 :大きくする側への更新割合(正の無名数)、
ここで、(99)式右辺第2項はアルコール濃度推定値の一回当たりの更新量を定めている。一回当たりの更新量に1から1/τの積算値SUMを差し引いた値を導入しているのは、アルコール濃度推定値ALCESTの収束を早めるためである。すなわち、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近いときには1から1/τの積算値SUMを差し引いた値は相対的に小さなものであるが、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレているときには1から1/τの積算値SUMを差し引いた値が相対的に大きなものとなる。そこで、1から1/τの積算値SUMを差し引いた値が相対的に大きいときにはこれに合わせてアルコール濃度推定値の一回当たりの更新量を大きくしてアルコール濃度推定値ALCESTの収束を早めるようにしたものである。
その後は図69のステップ203に戻ってステップ203からの操作を繰り返し実行し、クランク角θが自着火時期検出値θknkrealに達したときには図69のステップ431よりステップ432へと進み1と1/τの積算値SUMの差の絶対値が所定値ε以上あればアルコール濃度推定値ALCESTがまだ小さ過ぎると判断しステップ471でアルコール濃度推定値ALCESTを再び大きくした後ステップ203に戻る。再び上記の操作を繰り返すと、やがて1と1/τの積算値SUMの差の絶対値が所定値ε未満となり、このときには「END」へと進んで図69の処理を終了する。この結果、1と1/τの積算値SUMの差の絶対値が所定値ε未満に収まったときのアルコール濃度推定値がアルコール濃度推定値の収束値となる。
このようにして、ノックが発生していることが検出されたときには、そのノックが検出された燃焼サイクルにおいて燃焼開始時期(MBTCAL+IGNDEAD)より自着火時期検出値θknkrealまでの1/τの積算値SUMと1との差の絶対値が許容範囲内に収まるまでアルコール濃度推定値ALCESTを繰り返し更新してアルコール濃度推定値ALCESTを収束させる。
上記のようにして第7、第8の実施形態に共通の図64により算出した圧縮比推定値CMPEST2は、第7、第8実施形態において、第3実施形態と同様に、図66、図67に示したように燃焼室5の吸気弁閉時期における容積VIVCと、燃焼室5の燃焼開始時期(MBTCYCL)における容積V0との算出に用いる(図66のステップ441、352、図67のステップ451、362参照)。
なお、第7、第8の実施形態に共通の図66、図67において第3実施形態の図53、図54と同一部分には同一のステップ番号を付しその説明は省略する。
第7、第8の実施形態(請求項33に記載の発明)によれば、ノック検出結果に基づいて圧縮比以外のノック相関パラメータの推定値(第7実施形態についてオクタン価推定値OCTEST、第8実施形態についてアルコール濃度推定値ALCEST)を算出し(ノック検出結果をノック相関パラメータにフィードバック)し(第7実施形態について図63のステップ261、402、270、第8実施形態について図68のステップ261、461、304参照)、そのノック相関パラメータ推定値に基づいて燃焼室5内での自着火時期予測値θknkest(ノック発生時期予測値)を算出し(第7実施形態について図32のステップ206〜210、図33のステップ218、第8実施形態について図43のステップ291〜293、209、210、図33のステップ218参照)、この自着火時期予測値θknkestに基づいてノック限界点火時期KNOCKcalを算出する(第7、第8実施形態について図33のステップ219〜231参照)ようにしたので、燃料のオクタン価や混合燃料中のアルコール濃度を予め知り得ていない市場で販売される燃料を使用する場合においても、運転状態によらず、ノック検出結果を点火時期にフィードバックする従来装置のようにノック回避のための点火時期の遅角とそれに続く進角の操作とが繰り返されることがない。このため、加速時や減速時などの過渡でもノック限界点火時期を追従できるので、燃費悪化、出力低下を防ぐことができる。
また、ノックが生じたことが検出されたときの、圧縮比以外のノック相関パラメータmの推定値(第7実施形態についてオクタン価推定値OCTEST、第8実施形態についてアルコール濃度推定値ALCEST)の更新(算出)に際しては上記(98)式、(99)式に示したように1から1/τの積算値SUMを差し引いた値をも考慮している。すなわち、第7実施形態についてオクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレている(つまり1から1/τの積算値SUMを差し引いた値が相対的に大きい)ときには、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近い(つまり1から1/τの積算値SUMを差し引いた値が相対的に小さい)ときよりオクタン価推定値の一回当たりの更新量が大きくなり、オクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価より大きくズレているときのほうがオクタン価推定値OCTESTが実際のオクタン価より大きくかつ実際のオクタン価に近いときよりオクタン価推定値OCTESTが早く収束する。第8実施形態についてアルコール濃度推定値ALCTESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレている(つまり1から1/τの積算値SUMを差し引いた値が相対的に大きい)ときには、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近い(つまり1から1/τの積算値SUMを差し引いた値が相対的に小さい)ときよりアルコール濃度推定値の一回当たりの更新量が大きくなり、アルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度より大きくズレているときのほうがアルコール濃度推定値ALCESTが実際のアルコール濃度より低くかつ実際のアルコール濃度に近いときよりアルコール濃度推定値ALCESTが早く収束する。
このように第7、第8の実施形態(請求項33に記載の発明)によれば、自着火時期検出値θknkreal(ノック発生時期検出値)に基づいても圧縮比以外のノック相関パラメータ推定値(第7実施形態についてオクタン価推定値OCTEST、第8実施形態についてアルコール濃度推定値ALCEST)を算出するので(第7実施形態について図65のステップ433、第7実施形態について図69のステップ471参照)、圧縮比以外のノック相関パラメータの推定値の収束を早めることができ、そのぶん運転性が向上する。
第7、第8の実施形態では、図66、図67、図12、図13に示したように、層流燃焼速度SL1、SL2、燃焼ガス体積相当容積(V0、VTDC)、燃焼質量割合(BR1、BR2)及び反応確率RPROBAに基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出し、この燃焼期間(BURN1、BURN2)に基づいて基本点火時期MBTCALを算出する場合で説明したが、基本点火時期MBTCALの算出に代えて、ベース点火時期のマップを備えさせるものでもかまわない。この場合に、ノック限界点火時期算出手段を、自着火時期予測値θknkest(ノック発生時期予測値)と運転条件とに基づいて燃焼室5のノックによる圧力上昇量DP1を推定する圧力上昇量推定手段(図33のステップ219〜226参照)と、この圧力上昇量DP1に基づいてノック強度推定値KICを算出するノック強度推定値算出手段(図33のステップ227〜229参照)と、このノック強度推定値KICに基づいてノックリタード量KNRTを算出するノックリタード量算出手段(図33のステップ230参照)と、このノックリタード量KNRTだけ基本点火時期MBTCALを遅角側に補正した値をノック限界点火時期KNOCKcalとして設定するノック限界点火時期設定手段(図33のステップ231参照)とを含んで構成することで(請求項34に記載の発明)、基本点火時期としてのベース点火時期をマップで与えるにしても、最大オクタン価から最小オクタン価までの複数の異なるオクタン価毎にベース点火時期のマップを与える必要がなく、これによりROM容量が大きくなることがない。
第7実施形態(請求項35に記載の発明)によれば、ガソリンを燃料とする場合にオクタン価がノックに及ぼす影響が一番大きいことに対応して、このオクタン価推定値OCTESTをノック検出結果及び自着火時期検出値θknkreal(ノック発生時期検出値)に基づいて算出するので(図63のステップ261、262、402、図65参照)、オクタン価が予め分かっていないガソリンを使用燃料とする場合であっても自着火時期予測値θknkest(ノック発生時期予測値)を精度よく算出できる。
第7実施形態(請求項36に記載の発明)によれば、オクタン価推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいて燃焼室5内の燃料が自着火に至るまでの時間であって燃焼室5内の圧力と温度によって相違する時間の逆数(1/τ)を所定のクランク角const02毎に燃焼開始時期(MBTCAL+IGNDEAD)よりノック発生時期検出値θknkrealまでにわたって積算し、その積算値SUMと1との差の絶対値が許容範囲内に収まるまでオクタン価推定値OCTESTを小さくなる側に更新し(特に図65のステップ203〜209、431〜433のループ操作参照)、その後はオクタン価推定値を第2の所定値const05ずつ大きくなる側に一定の周期で更新する(図63のステップ261、267〜271参照)手段であるので、ノックが検出された燃焼サイクルでオクタン価推定値OCTESTを収束させることができる。
第7実施形態(請求項37に記載の発明)によれば オクタン価推定値OCTESTを第2の所定値const05ずつ大きくなる側(ノックが発生する側)にする更新(図63のステップ270参照)を、基本点火時期MBTCALではノックが発生する条件でつまり点火時期最小値PADVが基本点火時期MBTCALより遅角されている場合にだけ実行する(図63のステップ267)ので、オクタン価推定値OCTESTを誤って更新することがない。
第8実施形態(請求項38に記載の発明)によれば、ガソリンとアルコールの混合燃料では混合燃料中のアルコール濃度がノックに影響を及ぼすことに対応して、このアルコール濃度推定値ALCESTをノック検出結果及び自着火時期検出値θknkreal(ノック発生時期検出値)に基づいて算出するので(図68のステップ261、262、461参照)、アルコール濃度を予め知り得ないアルコール含有燃料を使用燃料とする場合であっても自着火時期予測値θknkest(ノック発生時期予測値)を精度よく算出できる。
第8実施形態(請求項39に記載の発明)によれば、アルコール濃度推定値算出手段が、ノックが生じたことを検出したときそのノックの検出された燃焼サイクルにおいて
燃焼室5内の燃料が自着火に至るまでの時間であって燃焼室5内の圧力と温度によって相違する時間の逆数(1/τ)を所定のクランク角const12毎に燃焼開始時期(MBTCAL+IGNDEAD)よりノック発生時期検出値θknkrealまでにわたって積算し、その積算値SUMと1との差の絶対値が許容範囲内に収まるまでアルコール濃度推定値ALCESTを高くなる側に更新し(特に図69のステップ203〜205、291〜293、209、431、432、471のループ操作参照)、その後はアルコール濃度推定値を第2の所定値const15ずつ低くなる側に一定の周期で更新する(図68のステップ261、267、303、269、304、271参照)手段であるので、ノックが検出された燃焼サイクルでアルコール濃度推定値ALCESTを収束させることができる。
第8実施形態(請求項40に記載の発明)によれば、アルコール濃度推定値ALCESTを第2の所定値const15ずつ低くなる側(ノックが発生する側)にする更新(図68のステップ304参照)を、基本点火時期MBTCALではノックが発生する条件で実行する(図68のステップ267)ので、アルコール濃度推定値ALCESTを誤って更新することがない。
第7、第8の実施形態(請求項41に記載の発明)によれば、基本点火時期算出手段が、燃焼ガスの層流状態での燃焼速度である層流燃焼速度(SL1、SL2)を算出する層流燃焼速度算出手段(図67のステップ168、図12のステップ188参照)と、燃焼室5内の燃焼ガス体積に相当する容積(V0、VTDC)を算出する燃焼ガス体積相当容積算出手段(図67のステップ162、図12の182参照)と、所定のクランク角までに燃焼室5内で燃焼するガスの燃焼質量割合(BR1、BR2)を算出する燃焼質量割合算出手段(図67のステップ171、図12のステップ191参照)と、所定運転条件での燃焼ガスの燃焼のしやすさを示す反応確率RPROBAを算出する反応確率算出手段(図66のステップ15参照)と、これら層流燃焼速度(SL1、SL2)、燃焼ガス体積相当容積(V0、VTDC)、燃焼質量割合(BR1、BR2)及び反応確率RPROBAに基づいて燃焼開始から所定クランク角までの燃焼期間(BURN1、BURN2)を算出する燃焼期間算出手段(図67のステップ171、図12のステップ191参照)と、この燃焼期間(BURN1、BURN2)に基づいてMBTの得られる基本点火時期MBTCALを算出する基本点火時期算出手段(図13のステップ41〜43参照)とを含むので、この基本点火時期MBTCALを遅角側に補正した値であるノック限界点火時期KNOCKcalが燃焼解析に基づいて算出されることになり、これにより運転条件によらず最適なノック限界点火時期KNOCKcalを算出できる。
第7、第8の実施形態(請求項42に記載の発明)によれば、ノックセンサ47によるノック検出結果に基づいて圧縮比推定値CMPEST2を算出し(第7実施形態について図63のステップ261、401、図64、第8実施形態について図68のステップ261、401、図64参照)、その圧縮比推定値CMPEST2に基づいて初期燃焼期間BURN1の算出に用いられる、燃焼室5の圧縮開始時期における容積V0を算出する(第7、第8の実施形態に共通する図67のステップ451、362参照)ので、オクタン価80の燃料(予めオクタン価の定まっている燃料)を使用する場合において何らかの原因で実際の圧縮比がエンジン仕様の圧縮比より高くなったときにおいても、運転状態によらず、ノック検出結果を点火時期にフィードバックする従来装置のようにノック回避のための点火時期の遅角とそれに続く進角の操作とが繰り返されることがない。このため、第1、第2の各実施形態と同様に過渡でもノック限界点火時期を追従できるので、燃費悪化、出力低下を防ぐことができる。
第7、第8の実施形態(請求項43に記載の発明)によれば、図67に示したように燃焼室5の吸気弁閉時期における容積VIVCと燃焼開始時期における容積V0とに基づいて吸気弁閉時期IVCから燃焼開始時期までの有効圧縮比Ecを算出し(図67のステップ163参照)、燃焼室5の吸気弁閉時期の温度TINIとこの有効圧縮比Ecとから燃焼室5の燃焼開始時期における温度T0を、燃焼室5の吸気弁閉時期の圧力PINIとこの有効圧縮比Ecとから燃焼室5の燃焼開始時期における圧力P0をそれぞれ算出し(図67のステップ164〜167参照)、これら燃焼室5の燃焼開始時期における温度T0と圧力P0とに基づいて初期燃焼期間BURN1の算出に用いる層流燃焼速度SL1を算出する(図67のステップ168参照)場合に、圧縮比推定値CMPEST2に基づいて燃焼室5の吸気弁閉時期における容積VIVCを算出する(図66のステップ441、352)ので、予めオクタン価の定まっている燃料を使用する場合において何らかの原因で実際の圧縮比が予定している圧縮比より高くなったときにおいても、燃焼室5の吸気弁閉時期における容積VIVCを精度よく算出できる。
請求項1に記載の発明において、比較手段の機能は図38のステップ263により、ノック相関パラメータ推定値算出手段の機能は図38のステップ261、265、270により、ノック発生時期予測値算出手段の機能は図32のステップ206、207、208、209、210、図33の218により、ノック限界点火時期算出手段の機能は図33のステップ219〜231によりそれぞれ果たされている。
請求項10に記載の発明において、層流燃焼速度算出手段の機能は図54のステップ168、図12のステップ188により、燃焼ガス体積相当容積算出手段の機能は図54のステップ362、図12のステップ182により、燃焼質量割合算出手段の機能は図54のステップ171、図12のステップ191により、反応確率算出手段の機能は図53のステップ15により、基本点火時期算出手段の機能は図13のステップ41、42、43により、比較手段の機能は図50のステップ263により、圧縮比推定値算出手段の機能は図50のステップ261、331、334により、燃焼開始時容積算出手段の機能は図54のステップ361、362によりそれぞれ果たされている。
請求項17に記載の発明において、比較手段の機能は図55のステップ372により、ノック相関パラメータ推定値算出手段の機能は図55のステップ261、374、270により、ノック発生時期予測値算出手段の機能は図32のステップ206、207、208、209、210、図33の218により、ノック限界点火時期算出手段の機能は図33のステップ219〜231によりそれぞれ果たされている。
請求項26に記載の発明において、層流燃焼速度算出手段の機能は図54のステップ168、図12のステップ188により、燃焼ガス体積相当容積算出手段の機能は図54のステップ362、図12のステップ182により、燃焼質量割合算出手段の機能は図54のステップ171、図12のステップ191により、反応確率算出手段の機能は図53のステップ15により、基本点火時期算出手段の機能は図13のステップ41、42、43により、比較手段の機能は図61のステップ372により、圧縮比推定値算出手段の機能は図61のステップ261、391、334により、燃焼開始時容積算出手段の機能は図54のステップ361、362によりそれぞれ果たされている。
請求項33に記載の発明において、圧縮比推定値算出手段の機能は図63、図68のステップ261、262、371、401により、ノック相関パラメータ推定値算出手段の機能は図63のステップ261、262、402または図68のステップ261。262、461により、ノック発生時期予測値算出手段の機能は図32のステップ206、207、208、209、210、図33の218または図43のステップ291〜293、209、210、図33の218により、ノック限界点火時期算出手段の機能は図33のステップ219〜231によりそれぞれ果たされている。
請求項45に記載の発明において、ノック発生時期検出手段の機能は図50のステップ262により、比較手段の機能は図50のステップ263により、圧縮比推定値算出手段の機能は図50のステップ261、331、224により、燃焼開始時期容積算出手段の機能は図54のステップ361、362により、燃焼期間算出手段の機能は図54のステップ171、図12のステップ191により、基本点火時期算出手段の機能は図13のステップ42、43によりそれぞれ果たされている。
請求項52に記載の発明において、比較手段の機能は図55のステップ372により、圧縮比推定値算出手段の機能は図55のステップ261、374、270により、燃焼開始時期容積算出手段の機能は図54のステップ361、362により、燃焼期間算出手段の機能は図54のステップ171、図12のステップ191により、基本点火時期算出手段の機能は図13のステップ42、43によりそれぞれ果たされている。