以下、図面に基づき本発明の実施形態について説明する。
図1は、エンジンの点火時期制御方法の実施に直接使用するエンジンの点火時期制御装置を有するエンジンの概略図である。図示しないが、エンジンは車両に搭載されている。
空気は吸気コレクタ2に蓄えられた後、吸気マニホールド3を介して各気筒の燃焼室5に導入される。燃料は各気筒の吸気ポート4に配置された燃料インジェクタ21より噴射供給される。空気中に噴射された燃料は気化しつつ空気と混合してガス(混合気)を作り燃焼室5に流入する。この混合気は吸気弁15が閉じることで燃焼室5内に閉じこめられ、ピストン6の上昇によって圧縮される。
この圧縮混合気に対して高圧火花により点火を行うため、パワートランジスタ内蔵の点火コイルを各気筒に配した電子配電システムの点火装置11を備える。すなわち、点火装置11は、バッテリからの電気エネルギーを蓄える点火コイル13と、点火コイル13の一次側への通電、遮断を行うパワートランジスタと、燃焼室5の天井に設けられ点火コイル13の一次電流の遮断によって点火コイル13の二次側に発生する高電圧を受けて、火花放電を行う点火プラグ14とからなっている。
燃費が最良となる点火時期が基本点火時期として定められており、エンジンコントローラ31では運転条件(エンジンの負荷と回転速度)に応じて基本点火時期を演算し、実際のクランク角がこの点火時期に一致するとき、パワートランジスタ13を介して点火プラグ14の一次側電流を遮断することにより、点火時期を制御する。
この点火時期は圧縮上死点より少し手前にあり、点火プラグ14により火花が飛ばされ燃焼室5内の圧縮混合気に着火されると、火炎が広がりやがて爆発的に燃焼し、この燃焼によるガス圧がピストン6を押し下げる仕事を行う。この仕事はクランクシャフト7の回転力として取り出される。燃焼後のガス(排気)は排気弁16が開いたとき排気通路8へと排出される。
排気通路8には三元触媒9を備える。三元触媒9は排気の空燃比が理論空燃比を中心とした狭い範囲(ウインドウ)にあるとき、排気に含まれるHC、CO、NOxといった有害三成分を同時に効率よく除去できる。空燃比は吸入空気量と燃料量の比であるので、エンジンの1サイクル(4サイクルエンジンではクランク角で720°区間)当たりに燃焼室5に導入される吸入空気量と、燃料インジェクタ21からの燃料噴射量との比が理論空燃比となるように、エンジンコントローラ31ではエアフローメータ32からの吸入空気流量の信号とクランク角センサ(33、34)からの信号に基づいて燃料インジェクタ21からの燃料噴射量を定めると共に、三元触媒9の上流に設けたO2センサ(図示しない)からの信号に基づいて空燃比をフィードバック制御している。
吸気コレクタ2の上流には吸気絞り弁23がスロットルモータ24により駆動される、いわゆる電子制御スロットル22を備える。運転者が要求するトルクはアクセルペダル41の踏み込み量(アクセル開度)に現れるので、エンジンコントローラ31ではアクセルセンサ42からの信号に基づいて目標トルクを定め、この目標トルクを実現するための目標空気量を定め、この目標空気量が得られるようにスロットルモータ24を介して吸気絞り弁23の開度を制御する。
燃費向上とNOx低減のためEGR装置を備える。EGR装置は、排気通路8と吸気マニホールド3を連通するEGR通路25と、このEGR通路25を介して吸気マニホールド3へと流れるEGRガス量(あるいはEGR率)を調整し得るEGR弁26と、このEGR弁26を駆動するアクチュエータ27(例えばステップモータ)とからなり、エンジンコントローラ31では所定のEGR領域において目標EGR率(または目標EGRガス量)が得られるようにEGR弁開度を制御する。EGR領域は図7に示したように目標EGR率がゼロでない領域で、そのときのエンジン回転速度Neと基本噴射パルス幅Tp(エンジン負荷相当)とから定まる運転条件に対応する目標EGR率がゼロでなければEGR領域である。EGR領域内はさらに、目標EGR率の違いによって大、中、小の3つの領域に分けられ、40%以上のEGR率を設定している。そして、EGRガスが吸気マニホールド3に導入されると、ポンピングロスが減ってそのぶん燃費がよくなり、また燃焼温度が低くなりNOxの発生が抑制される。
一方、エンジンコントローラ31では、車両走行中の燃料消費の削減のため、燃料カット条件(許可条件)が成立したとき、燃料インジェクタ21からの燃料供給を遮断する燃料カットを行い、その後に燃料カットからのリカバー条件が成立したとき燃料インジェクタ21からの燃料供給を再開する。
さて、EGR領域で40%以上のEGR率を実現しているエンジンにおいて、燃料カットの途中でアクセルペダル41を踏み込んで燃料カットリカバーを行わせたとき、図27に示したように、燃料カットリカバーの直後にノッキングが生じることが判明した。図27上段おいては、上よりスロットル弁開度TVO、アクセルペダル開度APO、点火時期ADV、ノック制御による点火時期遅角量BETA、ノック判定フラグfKNOCKの、また図27下段おいては、上より空燃比A/F、吸気管圧力BOOST、目標当量比TFBYA、シリンダ吸入EGR率RATEGRの各変化を示しており、t0のタイミングでアクセルペダル開度をゼロ以外の値にした(アクセルペダル41を踏み込んだ)とき、燃料カットリカバーのため目標当量比TFBYAがゼロより大きくなってt1のタイミングで1.0(理論空燃比)となり、t1より少し遅れたt2のタイミングでシリンダ吸入EGR率RATEGRが立ち上がると共に、その後のt3のタイミングよりt4のタイミングまでの区間でノック判定フラグfKNOCKが3回立ち上がっている(ノッキングが生じている)ことがわかる。
40%以上といった高率のEGR率を実現しているエンジンにおいて、EGR領域での燃料カットリカバー時にノッキングが生じた原因を解析したところを次に述べる。
EGR中であれば、EGRガスはEGR弁よりEGR通路を経て吸気マニホールドに入り燃焼室へと吸入されるため、シリンダ吸入EGR率は、EGR弁通過EGR率を基準として、無駄時間と一次遅れの応答との組み合わせで表すことができる。
これを図2上段に示すと、EGR領域においてt0のタイミングでEGR率が30%より50%へと切換えられたとき、シリンダ吸入EGR率RATEGRは、t1までの無駄時間EGRDLY#の経過中は30%のままであり、無駄時間EGRDLY#が経過するt1のタイミングより立ち上がり50%に向けて追従している。t1からの無駄時間EGRDLY#経過後のシリンダ吸入EGR率RATEGRは、EGR弁通過EGR率RTEGRを用いて次式により算出することができる。
RATEGR=RTEGR×FLOAD+RATEGRold×(1−FLOAD)
…(1)
ただし、RTEGR :EGR弁通過EGR率、
FLOAD :加重平均係数、
RATEGRold:シリンダ吸入EGR率前回値、
(1)式はt1からのシリンダ吸入EGR率RATEGRを、EGR弁通過EGR率RTEGRの一次遅れで近似するものである。
ここで、(1)式右辺のEGR弁通過EGR率RTEGRは容易に求めることができ、(1)式右辺の加重平均係数FLOADは時定数相当の値(正確には時定数とは逆数の関係)であり、この値が適合値となる。このため、加重平均係数FLOADを適合して実験してみたところ、図28上段に示したように、EGR領域でのEGR率の切換時であれば無駄時間、無駄時間経過後の追従性(時定数)のいずれも、シリンダ吸入EGR率の演算値(RATEGR)とシリンダ吸入EGR率の計測値とでよく合致している。
しかしながら、EGR領域での燃料カットリカバー時にも、EGR領域におけるEGR率の切換時と同じ無駄時間と加重平均係数(時定数)とを与えたとき、図28下段に示したように、無駄時間についてシリンダ吸入EGR率の演算値よりもシリンダ吸入EGR率の計測値のほうが長く、かつ無駄時間経過後の応答の時定数についてシリンダ吸入EGR率の計測値のほうが大きくなっている。つまり、EGR領域での燃料カットリカバー時にも、EGR領域におけるEGR率の切換時と同じ無駄時間と加重平均係数とを与えたのでは、シリンダ吸入EGR率の演算値がシリンダ吸入EGR率の計測値(実際値)より大きく外れてしまうことになる。
そこで、本実施形態では、改めてシリンダ吸入EGR率(あるいはシリンダ吸入EGRガス量)を考察する。
上記(1)式は次のようにして導いたものである。過渡時におけるEGR量変化をモデルを用いて表すと、
Megr v−Megr cyl=(Vm/Vc)×d(Megr cyl)/dt
…(補1)
であるので、
Megr v−Megr cyl=120×Vm/(VOL×Ne×新規割合×Δt)
×(Megr cyl−Megr cylold)
…(補2)
ただし、Megr v :EGR弁通過EGRガス量、
Megr cyl :シリンダ吸入EGRガス量、
Megr cylold:Megr cylの前回値(Δt前の値)、
Vm :吸気容積、
Vc :シリンダ吸入体積、
VOL :排気量、
Δt :制御周期、
と表される。
ここで、120×Vm/(VOL×Ne×新規割合×Δt)=Kとおくと、(補2)式は次のようになる。
Megr cyl=1/(1+K)×Megr v+K/(1+K)×Megr cylold
…(補3)
さらに、1/(1+K)=FLOADとして、(補3)式を変形すると次の式が得られる。
Megr cyl=FLOAD×Megr v
+Megr cylold×(1−FLOAD)
…(補4)
(補4)式において「シリンダ吸入EGRガス量Megr cyl」→「シリンダ吸入EGR率RATEGR」、「シリンダ吸入EGRガス量前回値Megr cylold」→「シリンダ吸入EGR率前回値RATEGRold」、「EGR弁通過EGRガス量Megr v」→「EGR弁通過EGR率RTEGR」の置き換えを行うと、上記(1)式が得られる。
さて、上記(補4)式をEGR領域での燃料カットリカバー時に当てはめると、次のようなことが考えられる。
〈1〉EGR弁通過EGR量Megr v、シリンダ吸入EGR量Megr cyl、新規割合 は燃料カット時間の関数となる。
〈2〉燃料カットリカバー直後の1サイクル目の燃焼は、Megr v−Megr cyl=0 (O2濃度として)、新規割合=100%となり、2サイクル目以降、O2とCO2が混 合していく。
〈3〉対象となる吸気容積Vmとして、排気マニホールドとEGR弁26までのEGR通 路分の容積が加算されるため、EGR領域での燃料カットリカバー時のシリンダ吸 入EGR率の応答(無駄時間及び加重平均係数FLOAD)はEGR領域でのEG R率切換時のシリンダ吸入EGR率の応答とは異なったものとなる。
このようにみてくると、EGR領域での燃料カットリカバー時のシリンダ吸入EGR率の算出に際しては、EGR領域でのEGR率切換時のシリンダ吸入EGR率の算出に用いる無駄時間及び加重平均係数とは別に、新たに無駄時間、加重平均係数を設定することが必要である。
そこで、本実施形態では、図2上段に示したように、EGR領域でのEGR率切換時のシリンダ吸入EGR率の応答モデルを設定すると共に、図2下段に示したように、図2上段に示したEGR領域でのEGR率切換時のシリンダ吸入EGR率の応答モデルとは別に、EGR領域での燃料カットリカバー時のシリンダ吸入EGR率の応答モデルを設定する。ここで、EGR領域での燃料カットリカバー時とは、例えば図7おいて目標EGR率が大や中の領域で燃料カットリカバーが行われる場合である。
以下では、EGR領域での燃料カットリカバー時のシリンダ吸入EGR率の応答(第1応答)における無駄時間及び加重平均係数と、EGR領域でのEGR率切換時のシリンダ吸入EGR率の応答(第2応答)における無駄時間及び加重平均係数とを区別するため、EGR領域での燃料カットリカバー時のシリンダ吸入EGR率の応答における無駄時間及び加重平均係数を、「第1無駄時間」及び「第1加重平均係数」と、またEGR領域でのEGR率切換時のシリンダ吸入EGR率の応答における無駄時間及び加重平均係数を、「第2無駄時間」及び「第2加重平均係数」という。
具体的には、次のように無駄時間と加重平均係数を設定する。
〔1〕EGR領域での燃料カットリカバー時:
上記〈1〉に記載したように、第1無駄時間EGRDYFCを燃料カット中のサイクル数の関数とする。
第1加重平均係数FLOAD1を次の式により算出する。
FLOAD1=KEGONFC×KNEHO …(補5)
ただし、KEGONFC:基本加重平均係数、
KNEHO :回転速度補正値、
ここで、(補5)式の基本加重平均係数KEGONFCはスロットル弁開度TVOをパラメータとするテーブルで、同じく回転速度補正値KNEHOは回転速度Neをパラメータとするテーブルで与える。
〔2〕EGR領域でのEGR率切換時:
第2無駄時間DGRDLY#は一定値とする。
第2加重平均係数FLOAD2はEGR率の増加時と減少時に分けて次の式により算出する。
増加時:FLOAD2=KEGRON×KNEHOS …(補6)
減少時:FLOAD2=KEGROF×KNEHOS …(補7)
ただし、KEGRON:EGR率増加時の基本加重平均係数、
KEGROF:EGR率減少時の基本加重平均係数、
KNEHOS:回転速度補正値
ここで、(補6)、(補7)式の基本加重平均係数KEGRON、KEGROFはスロットル弁開度TVOをパラメータとするのテーブルで、同じく回転速度補正値KNEHOSは回転速度Neをパラメータとするテーブルで与える。
エンジンコントローラ31で実行されるこの制御内容を以下、フローチャートを参照して詳述する。
図3はEGR弁通過EGR率RTEGR[%]を算出するためのもので、一定時間毎(例えば10ms毎)に実行する。
ステップ1ではスロットルセンサ43により検出されるスロットル弁開度TVOを読み込み、ステップ2でこのスロットル弁開度TVOより図4を内容とするテーブルを検索することにより、スロットル弁開口面積ATVO[m2]を算出する。
ステップ3ではエンジン回転速度Ne[rpm]と基本燃料噴射パルス幅Tp[ms](エンジン負荷相当)より図5を内容とするマップを検索することにより、EGRガス/新気換算係数KQEGR[%]を算出する。このEGRガス/新気換算係数KQEGRは目標EGR弁開口面積を与えるための係数である。実際の値は適合する。
ステップ4では次式により点火時期補正用開口面積TEGRAR[m2]を算出する。
TEGRAR=ATVO×KQEGR …(2)
実EGR弁開口面積REGRARが実EGR率のときのEGR弁開口面積であるので、(2)式の点火時期補正用開口面積TEGRARは目標EGR率のときのEGR弁開口面積(つまり目標EGR弁開口面積)を求めるようにしたものである。
ステップ5では実EGR弁開口面積REGRAR[m2]を算出する。EGR弁26が例えばステップモータにより駆動される場合、目標開度のステップ変化に対し、所定時間に所定開度ずつステップ的に変化するので、そのステップ数より実EGR弁開口面積REGRARを求めればよい。
ステップ6ではEGR弁通過EGR率RTEGR[%]を次の式により算出する。
RTEGR=REGRAR/TEGRAR …(3)
EGR弁通過EGR率RTEGRは、目標EGR率[%]がステップ的に大きくなったときに、これに一次遅れで追従する値である(図2の(a)、(d)の一点鎖線参照)。
ステップ7ではEGR弁通過EGR率RTEGRのシフト操作を行う。これは、現サイクル(今回のサイクル)より数えて過去の4サイクル前までのEGR弁通過EGR率RTEGR値を記憶しておく操作である。例えば、メモリがX1、X2、X3、X4の合計4個あるとして、基準気筒(例えば燃料カットリカバー時の燃焼開始気筒)について1サイクルが経過する毎にメモリX4の値を捨て、メモリX3の値をメモリX4に移し、メモリX2の値をメモリX3に移し、メモリX1の値をメモリX2に移し、今回算出したEGR弁通過EGR率RTEGRをメモリX1に移すことで、基準気筒についてメモリX1、X2、X3、X4に現サイクルより過去4サイクル前までのEGR弁通過EGR率RTEGRの値が1サイクル毎に保存される。
図6(A)、図6(B)は、無駄時間(第1無駄時間)及び加重平均係数(第1加重平均係数と第2加重平均係数)を算出するためのもので、一定時間毎(例えば10ms毎)に実行する。
ステップ11、12では今回に燃料カットフラグが1であるか否か、また前回に燃料カットフラグがゼロであったか否かをみる。燃料カットフラグは燃料カット許可条件が成立したときにゼロより1へと切換わるフラグである。ここで、燃料カット許可条件とは、例えば自動変速機を備えるエンジンの場合に、車両走行中にアクセルペダル41を離したときの回転速度Neが所定の燃料カット回転速度以上でかつ車速が所定車速のときなどである。
今回に燃料カットフラグが1でかつ前回に燃料カットフラグがゼロであったとき、つまり燃料カットフラグがゼロより1へと切換わった直後であるときには、ステップ13に進んでカウンタを起動する。このカウンタは、燃料カット中の経過サイクル数を計測するためのものである。例えば、燃料カットリカバー時の燃焼開始気筒は予め定まっているので、この燃焼開始気筒について1サイクル(4気筒エンジンではクランク角で720deg)が経過する毎にカウンタ値を1づつ増してゆく。
ステップ11、12で今回、前回とも燃料カットフラグが1であるとき、つまり燃料カット中であればステップ14、15、16に進み、運転条件がEGR領域にあるか否か、今回に燃料カットリカバーフラグが1であるか否か、また前回に燃料カットリカバーフラグがゼロであったか否かをみる。
EGR領域は図7に示したように目標EGR率がゼロでない領域である。そのときのエンジン回転速度Neと基本噴射パルス幅Tp(エンジン負荷相当)とから定まる運転条件に対応する目標EGR率がゼロでなければEGR領域である。EGR領域内はさらに、目標EGR率の違いによって大、中、小の3つの領域に分けられている。
燃料カットリカバーフラグは燃料カットリカバー条件が成立したときにゼロより1へと切換わるフラグである。ここで、燃料カットリカバー条件とは、燃料カット中にアクセルペダル41を踏み込んだときあるいは自動変速機を備えるエンジンの場合にエンジン回転速度が所定の燃料カットリカバー回転速度以下となったときなどである。
運転条件がEGR領域にありかつ今回に燃料カットリカバーフラグが1でかつ前回に燃料カットリカバーフラグがゼロであったとき、つまりEGR領域において燃料カットリカバーフラグがゼロより1へと切換わった直後(燃料カットリカバー時)であるときには、ステップ17に進んでそのときのカウンタ値を燃料カット中サイクル数CNTfcとして取り込む。この燃料カット中サイクル数CNTfcは、燃焼開始気筒についてこのサイクル数の間、燃料カットが行われたことを表す。
ステップ18では、この取り込んだ燃料カット中サイクル数CNTfcに応じて第1無駄時間EGRDYFCを算出する。
第1無駄時間EGRDYFCとして、具体的には図8に示したように、5〜8サイクルを与えている。つまり、5サイクルを最小、8サイクルを最大として燃料カット中サイクル数CNTfcが大きいほど無駄時間EGRDYFCとしてのサイクル数が大きくなるようにしている。燃料カット中サイクル数CNTfcが大きいほど第1無駄時間EGRDYFCとしてのサイクル数を大きくしているのは、燃料カット中サイクル数CNTfcが大きいほど、EGR領域での燃料カットリカバリー時に燃焼開始気筒からの不活性ガスの燃焼室5への導入が遅れるためである。
また、最大の8サイクルに達した後は第1無駄時間としてのサイクル数を一定としている。
第1無駄時間EGRDYFCの算出方法はこれに限られるものでなく、時間で与えてもかまわない。例えば、5サイクルに相当する時間を最小、8サイクルに相当する時間を最大として燃料カット中サイクル数CNTfcが大きいほど第1無駄時間EGRDYFCが長くなるようにし、最大の8サイクルに相当する時間に達した後は一定とする。
ステップ19、20では、スロットルセンサ43により検出されるスロットル弁開度TVOから図9を内容とするテーブルを検索することにより、基本加重平均係数KEGONFC[%]を、またエンジン回転速度Neから図10を内容とするテーブルを検索することにより加重平均係数の回転速度補正値KNEHO[無名数]をそれぞれ求め、ステップ21でこれらを乗算して、つまり次の式により、第1加重平均係数FLOAD1[%]を算出する。
FLOAD1=KEGONFC×KNEHO …(4)
EGR領域での燃料カットリカバー時のシリンダ吸入EGR率の応答における時定数は、基本的には吸気系の応答の時定数で定まり、吸気系の応答の時定数は、新気割合(この値に相関する代表値はスロットル弁開度TVO)と、単位時間あたりの吸い込み回数(この値に相関する代表値は回転速度Ne)とで決まるため、スロットル弁開度TVOと回転速度Neをパラメータとして加重平均係数FLOAD1を求めるようにしたものである。
ここで、新気割合つまりスロットル弁開度TVOが大きくなるほど吸気系の応答の時定数が小さくなるので、時定数と逆数の関係にある基本加重平均係数KEGONFCは、図9のようにスロットル弁開度が大きくなるほど大きくなる値である。
また、単位時間当たりの吸い込み回数つまり回転速度Neが大きくなるほど吸気系の応答の時定数が小さくなるので、回転速度補正値KNEHOは、図10のように、基本回転速度N0(基本加重平均係数KEGONFCを適合したときのエンジン回転速度)のとき1.0となり、この基本回転速度N0より高いとき1.0を超える値となり、この逆に基本回転速度N0より低いとき1.0未満の正の値としている。
実際には、吸気容積のほか、排気マニホールド容積とEGR弁26までのEGR通路25分容積との合計の容積が時定数に影響するので、これらの容積をも考慮して第1加重平均係数FLOAD1の設定を行なう必要がある。また、新気割合が、EGR領域でのEGR率切換時とは異なり、燃料カット中サイクル数CNTfc(または時間)で変化するため、燃料カット中サイクル数CNTfcで時定数(基本加重平均係数)を補正するようにすれば第1加重平均係数FLOAD1の算出精度をさらに向上できる。
このようにして、第1無駄時間EGRDYFC及び第1加重平均係数FLOAD1の設定を終了したらステップ22で次回の燃料カットリカバー時に備えてカウンタ値=0とする。
一方、EGR領域にないとき、EGR領域にあっても今回に燃料カットリカバーフラグが1でないときあるいは今回、前回とも燃料カットリカバーフラグ=1であるときにはステップ14〜16より17〜21を飛ばしてステップ22に進みカウンタ値=0として今回の処理を終了する。つまり、第1無駄時間EGRDYFC及び第1加重平均係数FLOAD1の設定はEGR領域における燃料カットリカバー時に一度行うだけである。
次に、ステップ11で今回に燃料カットフラグが1でないときには図6(B)のステップ23以降に進む。
ステップ23では、目標EGR率の切換時(EGR率変化時)であるか否かをみる。ここでは、簡単のため目標EGR率を図7で示したように大、中、小、ゼロと4段階に設けている場合で説明すると、目標EGR率がゼロより小へ、小より中へ、中より大へと大きくなる側に切換わり、あるいはこの逆に大より中へ、中より小へ、小よりゼロへと小さくなる側に切換わるときが、目標EGR率の切換時である。目標EGR率がゼロ、小、中、大の状態を維持しているときは、目標EGR率の切換時でない。目標EGR率の切換時でないときにはそのまま今回の処理を終了する。
目標EGR率の切換時であるときにはステップ24に進み、算出済みフラグをみる。算出済みフラグは後述するように、第2加重平均係数FLOAD2の算出を終了したとき、算出済みフラグ(ゼロに初期設定)=1となるフラグである(ステップ32)。ここでは算出済みフラグ=0であるとして説明すると、このときには第2加重平均係数FLOAD2を算出するためステップ25以降に進む。
ステップ25〜31は、前述の第1加重平均係数FLOAD1の算出方法と同様にして、第2加重平均係数FLOAD2[%]を算出する部分である。
まず、ステップ25ではステップ23での目標EGR率の切換がさらにEGR率の増大側であるのか、それともEGR率の減少側であるのかをみる。目標EGR率が増加する側の切換時である場合には、ステップ26、27に進みスロットルセンサ43により検出されるスロットル弁開度TVOから図11を内容とするテーブルを検索することにより、EGR率増加時の基本加重平均係数KEGRON[%]を、またエンジン回転速度Neから図12を内容とするテーブルを検索することにより加重平均係数の回転速度補正値KNEHOS[無名数]をそれぞれ求め、ステップ28でこれらを乗算して、つまり次の式により、第2加重平均係数FLOAD2[%]を算出する。
FLOAD2=KEGRON×KNEHOS …(5)
一方、目標EGR率が減少する側の切換時である場合には、ステップ25よりステップ29、30に進みスロットルセンサ43により検出されるスロットル弁開度TVOから図13を内容とするテーブルを検索することにより、EGR率減少時の基本加重平均係数KEGROF[%]を、またエンジン回転速度Neから図12を内容とするテーブルを検索することにより加重平均係数の回転速度補正値KNEHOS[無名数]をそれぞれ求め、ステップ31でこれらを乗算して、つまり次の式により、第2加重平均係数FLOAD2[%]を算出する。
FLOAD2=KEGROF×KNEHOS …(6)
図11〜図13に示した特性の実際の値は適合により求める。
このようにして第2加重平均係数FLOAD2の算出を終了したらステップ32で算出済みフラグ意=1とする。この算出済みフラグ=1により、次回よりステップ25以降に進むことができない。つまり、第2加重平均係数FLOAD2の設定はEGR領域における目標EGR率の切換時に一度行うだけである。
図14はシリンダ吸入EGR率RATEGR[%]を算出するためのもので、一定時間毎(例えば10ms毎)に実行する。
ステップ41では運転条件がEGR領域にあるか否かをみる。運転条件がEGR領域になければステップ42に進んでシリンダ吸入EGR率RATEGR=0とする。
運転条件がEGR領域にあるときにはステップ41よりステップ43に進み、EGR領域での燃料カットリカバー時より所定のサイクル数(例えば50サイクル)が経過しているか否かをみる。EGR領域での燃料カットリカバー時より所定サイクル数が経過していない場合にはステップ44以降に進む。
ステップ44〜48はEGR領域での燃料カットリカバー時のシリンダ吸入EGR率の応答(第1応答)を算出する部分である。
ステップ44では、燃料カットリカバー時より、図6(A)のステップ18で算出している第1無駄時間EGRDYFCが経過したか否かをみる。
なお、多気筒エンジンの燃料カットリカバーのやり方にはさまざまなものがあり、例えば、全気筒で燃料カットリカバーを行わせたのではトルク段差が生じるので、一部の気筒でまず燃料カットリカバーを行わせ、段階的に燃料カットリカバー気筒数を増やして最終的に全気筒で燃料カットリカバーを行わせることにより、燃料カットリカバー前後で大きなトルク段差が生じることがないようにしたものがある。こうした燃料カットリカバーを行うエンジンの場合には、全気筒燃料カット状態より1気筒でも燃料カットリカバリしたタイミングから所定サイクル数(例えば50サイクル)が経過しているか否かをみて、全気筒燃料カット状態より1気筒でも燃料カットリカバリしたタイミングから所定サイクル数が経過していない場合にステップ44に進み、燃料カットリカバー時より、図6(A)のステップ18で算出している第1無駄時間EGRDYFCが経過したか否かをみるようにすればよい。
燃料カットリカバー時より第1無駄時間EGRDYFCが経過していなければステップ45に進み、シリンダ吸入EGR率前回値RATEGRold[%]としてゼロを採用する。第1無駄時間EGRDYFCが経過しない前にはステップ45の操作を繰り返す。
これは、基準気筒について燃料カットが所定サイクル数続いた後の燃料カットリカバー時には排気マニホールド、EGR通路25、吸気マニホールド3、燃焼室5の全てが新気に置換されてしまっており、再びEGR弁26が開いて、燃焼開始気筒の不活性ガスがEGRガスとしてEGR通路25、吸気マニホールド3を経て燃焼室5に到達するのに所定の遅れ時間がかかるため、このステップ44、45の操作によりその遅れ時間のあいだ(つまり第1無駄時間が経過するまで)シリンダ吸入EGR率RATEGRをゼロのままに保持するものである。
ステップ46では、このシリンダ吸入EGR率前回値RATEGRoldをそのままシリンダ吸入EGR率RATEGR[%]に移す。
やがて燃料カットリカバー時より第1無駄時間EGRDYFCが経過したときにはステップ44よりステップ47に進み、図3のステップ6で算出しているEGR弁通過EGR率RTEGRと、図6(A)のステップ21で算出している第1加重平均係数FLOAD1とを用いて、次式により第1無駄時間経過後のシリンダ吸入EGR率RATEGR[%]を算出する。
RATEGR=RTEGR×FLOAD1+RATEGRold×(1−FLOAD1)
…(7)
(7)式は、第1無駄時間EGRDYFC経過後のシリンダ吸入EGR率RATEGRの変化を、EGR弁通過EGR率RTEGRの一次遅れで近似するものである。
ステップ48ではこのシリンダ吸入EGR率RATEGRの値を次回処理のため、シリンダ吸入EGR率前回値RATEGRold[%]に移しておく。
上記(7)式右辺のシリンダ吸入EGR率前回値RATEGRoldの初期値としてはステップ45で求めている値を用い、2回目からはステップ48で求めている値を用いる。
そして、燃料カットリカバー時より所定サイクル数が経過するまで、ステップ47、48の操作を繰り返す。
やがて燃料カットリカバー時より所定のサイクル数が経過したときにはステップ49以降に進む。
まず、ステップ49では図6(B)のステップ23と同じに目標EGR率の切換時(EGR率変化時)であるか否かを、またステップ50ではその切換時より所定のサイクル数以内であるか否かをみる。
目標EGR率の切換時でありかつその切換時より所定のサイクル数以内であるときにはステップ51以降に進む。
ステップ51〜55はEGR領域でのEGR率切換時のシリンダ吸入EGR率の応答(第2応答)を算出する部分である。
ステップ51では、目標EGR率の切換時を起点として、第2無駄時間EGRDLY#が経過したか否かをみる。この第2無駄時間EGRDLY#としてのサイクル数は、上記の第1無駄時間EGRDYFCとしてのサイクル数より小さい値(例えば4サイクルで一定値)である。
目標EGR率の切換時より、基準気筒について第2無駄時間EGRDLY#としての4サイクルが経過していなければステップ52に進み、この第2無駄時間EGRDLY#としての4サイクル前のEGR弁通過EGR率RTEGRの値をシリンダ吸入EGR率前回値RATEGRold[%]として採用する。つまり、図3のステップ7でメモリX4に4サイクル前のEGR弁通過EGR率を格納しているが、ステップ52ではこの4サイクル前のEGR弁通過EGR率を格納しているメモリX4の値が読み出されてシリンダ吸入EGR率前回値RATEGRoldに格納される。
第2無駄時間EGRDLY#としての4サイクルが経過しない前にはステップ51、52の操作を繰り返す。これは、基準気筒についてアクチュエータ27に目標EGR率の切換を指示してからそのEGR率の変化が燃焼室5に達するのに所定の遅れ時間EGRDLY#がかかるため、このステップ51、52の操作によりその遅れ時間EGRDLY#のあいだシリンダ吸入EGR率RATEGRを、目標EGR率の切換前の値に保持するものである。
ステップ53では、このシリンダ吸入EGR率前回値RATEGRoldをそのままシリンダ吸入EGR率RATEGR[%]に移す。
やがて目標EGR率の切換時より第2無駄時間EGRDLY#が経過したときにはステップ51よりステップ54に進み、図3のステップ6で算出しているEGR弁通過EGR率RTEGRと、図6(B)のステップ28または31で算出している第2加重平均係数FLOAD2とを用いて、次式により第2無駄時間経過後のシリンダ吸入EGR率RATEGR[%]を算出する。
RATEGR=RTEGR×FLOAD2+RATEGRold×(1−FLOAD2)
…(8)
(8)式は、第2無駄時間EGRDLY#経過後のシリンダ吸入EGR率の変化を、EGR弁通過EGR率RTEGRの一次遅れで近似するものである。
ステップ55では、このシリンダ吸入EGR率RATEGRの値を次回処理のため、シリンダ吸入EGR率前回値RATEGRold[%]に移す。
(8)式右辺のシリンダ吸入EGR率前回値RATEGRoldの初期値としてはステップ52で求めている値を用い、2回目からはステップ55で求めている値を用いる。
そして、目標EGR率の切換時より所定のサイクル数が経過するまで、ステップ54、55の操作を繰り返す。
一方、ステップ50で目標EGR率の切換時より所定サイクル数が経過したときには、ステップ56に進み、次回の目標EGR率の切換時に備えて算出済みフラグ=0とし、ステップ57では、図3により算出しているEGR弁通過EGR率RTEGRをそのままシリンダ吸入EGR率RATEGR[%]とし今回の処理を終了する。ステップ49で目標EGR率の切換時でないときにはステップ57に進んでステップ57の操作を実行する。
次に、このようにして算出したシリンダ吸入EGR率RATEGRに基づいて点火時期を算出する方法について説明する。ここでは、特開2004−332647号公報に記載されている点火時期算出方法に適用した場合で説明する。
図15はエンジンコントローラ31内で行われる点火時期制御のブロック図で、大きくは点火時期演算部51と点火時期制御部61とからなる。点火時期演算部51はさらに初期燃焼期間算出部52、主燃焼期間算出部53、燃焼期間算出部54、基本点火時期算出部55及び前回燃焼開始時期算出部56からなる。
初期燃焼期間算出部52では、混合気が着火してから火炎核が形成されるまでの期間を初期燃焼期間BURN1として算出する。主燃焼期間算出部53では、火炎核が形成されてから燃焼圧力が最大値Pmaxに達するまでの期間を主燃焼期間BURN2として算出する。燃焼期間算出部54では、これら初期燃焼期間BURN1と主燃焼期間BURN2との合計を、燃焼開始より最大燃焼圧力Pmaxに至るまでの燃焼期間BURNとして算出する。基本点火時期算出部55では、この燃焼期間BURNに基づいてMBTの得られる点火時期(この点火時期を「基本点火時期」という。)MBTCALを算出する。
点火時期制御部61ではこのようにして算出された基本点火時期を点火時期指令値とし、この指令値で点火プラグ14が燃焼室5内の混合気に対して着火するように、イグニッションコイル13への通電角と非通電角を制御する。
上記のように燃焼期間BURNを初期燃焼期間BURN1と主燃焼期間BURN2に分けて算出し、燃焼期間BURNに応じて基本点火時期MBTCALを求めるようにしたのは、燃焼解析より得られた結果に基づくものである。以下、燃焼解析に基づくこの点火時期制御をさらに説明する。
図16に示すようにMBT(最大トルクの得られる最小進角値)で混合気に点火した場合に混合気の燃焼圧力が最大値Pmaxとなるクランク角を基準クランク角θPMAX[degATDC]とする。基準クランク角θPMAXは燃焼方式によらずほぼ一定であり、一般に圧縮上死点後12〜15度、最大で圧縮上死点後10〜20度の範囲にある。
図17に火花点火エンジンにおける燃焼室内の燃焼解析により得られた燃焼質量割合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内の圧力、温度は、点火時の圧力、温度とほぼ等価になるが、これから点火時期を算出しようとしているのに、最初から正確な点火時期を設定することはできない。そこで、図15に示したように前回燃焼開始時期算出部56で基本点火時期の前回値を前回燃焼開始時期MBTCYCL[degBTDC]として算出し、この値を初期燃焼期間算出部52に対して与えるようにし、初期燃焼期間算出部52において初期燃焼期間の算出をサイクリックに繰り返すことで、精度の高い結果を時間遅れなしに出すようにしている。
次に、エンジンコントローラ31で実行される上記の基本点火時期MBTCALの算出を以下のフローチャートを参照しながら詳述する。
図18は点火時期の算出に必要な各種の物理量を算出するためのもので、一定時間毎(例えば10ms毎)に実行する。
まずステップ61では、吸気弁閉時期IVC[degBTDC]、温度センサ44により検出されるコレクタ内温度TCOL[K]、圧力センサ45により検出されるコレクタ内圧力PCOL[Pa]、温度センサ46により検出される排気温度TEXH[K]、図14で算出されているシリンダ吸入EGR率RATEGR[%]、温度センサ47により検出される冷却水温TWK[K]、目標当量比TFBYA、クランク角センサ(33、34)により検出されるエンジン回転速度Ne[rpm]、点火無駄時間DEADTIME[μsec]を読み込む。
ここで、クランク角センサはクランクシャフト7のポジションを検出するポジションセンサ33と、吸気用カムシャフト25ポジションを検出するフェーズセンサ34とからなり、これら2つのセンサ33、34からの信号に基づいてエンジン回転速度Ne[rpm]が算出されている。
吸気弁閉時期IVCは既知である。あるいはフェーズセンサ34により実際の吸気弁閉時期を検出してもかまわない。点火無駄時間DEADTIMEは一定値である。
目標当量比TFBYAは図示しない燃料噴射量の算出フローにおいて算出されている。目標当量比TFBYAは無名数であり、理論空燃比を14.7とすると、次式により表される値である。
TFBYA=14.7/目標空燃比 …(11)
例えば(11)式より目標空燃比が理論空燃比のときTFBYA=1.0となり、目標空燃比が例えば22.0といったリーン側の値であるとき、TFBYAは1.0未満の正の値である。
ステップ62では、燃焼室5の吸気弁閉時期IVCにおける容積(つまり圧縮開始時期での容積)VIVC[m3]を算出する。燃焼室5の吸気弁閉時期における容積VIVCは、ピストン6のストローク位置によって決まる。ピストン6のストローク位置はエンジンのクランク角位置によって決まる。
図19を参照して、エンジンのクランクシャフト71の回転中心72がシリンダの中心軸73からオフセットしている場合を考える。コネクティングロッド74、コネクティングロッド74とクランクシャフト71との結節点75、コネクティングロッド74とピストンをつなぐピストンピン76が図に示す関係にあるとする。このときの、燃焼室5の吸気弁閉時期における容積VIVCは次式(12)〜(16)で表すことができる。
VIVC=f1(θivc)
=Vc+(π/4)D2・Hivc …(12)
Vc=(π/4)D2・Hx/(ε−1) …(13)
Hivc={(CND+ST2/2)−(CRoff−PISoff)2}1/2
−{(ST/2)・cos(θivc+θoff)}+(CND2−X2)1/2
…(14)
X =(ST/2)・sin(θivc+θoff)−CRoff+PISoff
…(15)
θoff=arcsin{(CRoff−PISoff)/(CND・(ST/2))}
…(16)
ただし、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への指令信号によって決まるので、既知である。式(12)〜(16)にこのときのクランク角θivc(=IVC)を代入すれば、燃焼室5の吸気弁閉時期における容積VIVCを算出することができる。したがって、実用上は燃焼室5の吸気弁閉時期における容積VIVCは吸気弁閉時期IVCをパラメータとするテーブルで設定したものを用いる。吸気VTC機構27を備えないときには定数で与えることができる。
ステップ63では、燃焼室5の吸気弁閉時期IVCにおける不活性ガス率MRESFR[%]を算出する。すなわち、吸気弁閉時期IVCになったタイミングでのシリンダ吸入EGR率RATEGRを吸気弁閉時期IVCにおける不活性ガス率MRESFRとして取り込む。これは、燃焼室5に吸入される不活性ガス率は吸気弁閉時期IVCで確定されるためである。
ステップ64では、燃焼室5の吸気弁閉時期IVCにおける温度(つまり圧縮開始時期温度)TINI[K]を算出する。燃焼室5に流入するガスの温度は、燃焼室5に流入する新気と燃焼室5に残留する不活性ガスとが混じったガスの温度であり、燃焼室5に流入する新気の温度は吸気コレクタ2内の新気温度TCOLに等しく、また燃焼室5内に残留する不活性ガスの温度は排気ポート部近傍の排気温度TEXHで近似できるので、燃焼室5の吸気弁閉時期IVCにおける温度TINIは吸気弁閉時期IVCになったタイミングでの、吸気コレクタ2内の新気温度TCOL、排気温度TEXH、不活性ガス率MRESFRから次式により求めることができる。
TINI=TEXH×MRESFR+TCOL×(1−MRESFR)
…(17)
ステップ65では燃焼室5の吸気弁閉時期IVCにおける圧力(つまり圧縮開始時期圧力)PINI[Pa]を算出する。すなわち、吸気弁閉時期IVCになったタイミングでのコレクタ内圧力PCOLを吸気弁閉時期IVCにおける圧力PINIとして取り込む。
ステップ66では、燃焼室5内の混合気の燃えやすさを表す反応確率RPROBA[%]を算出する。反応確率RPROBAは無次元の値であり、不活性ガス率MRESFR、冷却水温TWK[K]、目標当量比TFBYAの3つのパラメータに依存するので、次式により表すことができる。
RPROBA=f3(MRESFR、TWK、TFBYA) …(18)
具体的に説明すると、MRESFR、TWK、TFBYAの3つのパラメータの組み合わせによって得られる反応確率の最大値を100%とし、これらのパラメータと反応確率RPROBAの関係を実験的に求め、求めた反応確率RPROBAをパラメータに応じたテーブルとしてエンジンコントローラ31のメモリに予め格納しておく。ステップ66ではパラメータに応じてこのテーブルを検索することにより反応確率RPROBAを求める。
具体的には、冷却水温TWKに応じて図20に示すような特性を有する水温補正係数のテーブルと、同様に設定された不活性ガス率MRESFRのテーブル(図示しない)と、目標当量比TFBYAに応じて図21に示すような特性を有する当量比補正係数のテーブルを予めメモリに格納しておく。各補正係数の最大値はそれぞれ1.0であり、3種類の補正係数の積に反応確率の最大値100%を掛け合わせることで、反応確率RPROBAを算出する。
各テーブルを説明すると、図20に示す水温補正係数は冷却水温TWKが高いほど大きく、冷却水温TWKが80℃以上では1.0になる。図21に示す当量比補正係数は目標当量比TFBYAが1.0のとき、つまり理論空燃比のときに最大値の1.0となり、目標当量比が1.0より大きくても小さくても当量比補正係数は減少する。不活性ガス率補正係数は図示しないが、不活性ガス率MRESFRがゼロの場合に1.0となる。
ステップ67では、基準クランク角θPMAX[degATDC]を算出する。前述のように基準クランク角θPMAXはあまり変動しないが、それでもエンジン回転速度Neの上昇に応じて進角する傾向があるため、基準クランク角θPMAXはエンジン回転速度Neの関数として次式で表すことができる。
θPMAX=f4(Ne) …(19)
具体的にはエンジン回転速度Neから、エンジンコントローラ31のメモリに予め格納された図22に示す特性のテーブルを検索することにより基準クランク角θPMAXを求める。算出を容易にするために、基準クランク角θPMAXを一定とみなすことも可能である。
最後にステップ68では、点火無駄時間相当クランク角IGNDEAD[deg]を算出する。点火無駄時間相当クランク角IGNDEADは、エンジンコントローラ31から点火コイル13の一次電流を遮断する信号を出力したタイミングから点火プラグ14が実際に点火するまでのクランク角区間で、次式により表すことができる。
IGNDEAD=f5(DEADTIME、Ne) …(20)
ここでは、点火無駄時間DEADTIMEを200μsecとする。(20)式は、エンジン回転速度Neから点火無駄時間DEADTIMEに相当するクランク角である点火無駄時間相当クランク角IGNDEADを算出するためのものである。
図23は初期燃焼期間BURN1[deg]を算出するためのもの、また図25は主燃焼期間BURN2[deg]を算出するためのもので、一定時間毎(例えば10ms毎)に実行する。図23、図25は図18に続けて実行する。図23、図25はどちらを先に実行してもかまわない。
まず図23から説明すると、ステップ71では、前回燃焼開始時期MBTCYCL[degBTDC]、図18のステップ62で算出されている燃焼室5の吸気弁閉時期における容積VIVC[m3]、図18のステップ64で算出されている燃焼室5の吸気弁閉時期における温度TINI[K]、図18のステップ65で算出されている燃焼室5の吸気弁閉時期における圧力PINI[Pa]、エンジン回転速度Ne[rpm]、図18のステップ66で算出されている反応確率RPROBA[%]を読み込む。
ここで、前回燃焼開始時期MBTCYCLは、基本点火時期MBTCALの[degBTDC]の1サイクル前の値であり、その算出については図26により後述する。
ステップ72では燃焼室5の燃焼開始時期における容積V0[m3]を算出する。前述したように、ここでの点火時期(燃焼開始時期)は今回のサイクルで演算する基本点火時期MBTCALではなく基本点火時期の1サイクル前の値である。すなわち、基本点火時期の1サイクル前の値であるMBTCYCLから次式により燃焼室5の燃焼開始時期における容積V0を算出する。
V0=f6(MBTCYCL) …(21)
具体的には前回燃焼開始時期MBTCYCLにおけるピストン6のストローク位置と、燃焼室5のボア径から、燃焼室5のMBTCYCLにおける容積V0を算出する。図18のステップ62では、燃焼室5の吸気弁閉時期IVCにおける容積VIVCを、吸気弁閉時期をパラメータとする吸気弁閉時期容積のテーブルを検索することにより求めたが、ここではMBTCYCLをパラメータとする前回燃焼開始時期容積のテーブルを検索することにより、燃焼室5の前回燃焼開始時期MBTCYCLにおける容積V0を求めればよい。
ステップ73では燃焼開始時期における有効圧縮比Ecを算出する。有効圧縮比Ecは無次元の値であり、次式に示すように燃焼室5の燃焼開始時期における容積V0を燃焼室5の吸気弁閉時期における容積VIVCで除した値である。
Ec=f7(V0、VIVC)=V0/VIVC …(22)
ステップ74では吸気弁閉時期IVCから燃焼開始時期に至る間の燃焼室5内の温度上昇率TCOMPを次式に示すように有効圧縮比Ecに基づいて算出する。
TCOMP=f8(Ec)=Ec^(κ−1) …(23)
ただし、κ:比熱比、
(23)式は断熱圧縮されるガスの温度上昇率の式である。なお、(23)式右辺の「^」は累乗計算を表している。この記号は後述する式でも使用する。
κは断熱圧縮されるガスの定圧比熱を定容比熱で除した値で、断熱圧縮されるガスが空気であればκ=1.4であり、簡単にはこの値を用いればよい。ただし、混合気に対してκの値を実験的に求めることで、一層の算出精度の向上が可能である。
図24は(23)式を図示したものである。従って、このような特性のテーブルを予めエンジンコントローラ31のメモリに格納しておき、有効圧縮比Ecに基づき当該テーブルを検索することにより温度上昇率TCOMPを求めることも可能である。
ステップ75では、燃焼室5の燃焼開始時期における温度T0[K]を、燃焼室5の吸気弁閉時期における温度TINIに温度上昇率TCOMPを乗じることで、つまり
T0=TINI×TCOMP …(24)
の式により算出する。
ステップ76、77はステップ74、75と同様である。すなわち、ステップ76では吸気弁閉時期IVCから燃焼開始時期に至る間の燃焼室5内の圧力上昇率PCOMPを次式に示すように有効圧縮比Ecに基づいて算出する。
PCOMP=f9(Ec)=Ec^κ …(25)
ただし、κ:比熱比、
(25)式も(23)式と同じに断熱圧縮されるガスの圧力上昇率の式である。(25)式右辺の「^」も(23)式と同じに累乗計算を表している。
κは上記(23)式で用いている値と同じで、断熱圧縮されるガスが空気であればκ=1.4であり、簡単にはこの値を用いればよい。ただし、混合気に対してその組成、温度からκの値を求めることで、一層の算出精度の向上が可能である。
図24と同様の特性のテーブルを予めエンジンコントローラ31のメモリに格納しておき、有効圧縮比Ecに基づき当該テーブルを検索することにより圧力上昇率PCOMPを求めることも可能である。
ステップ77では、燃焼室5の燃焼開始時期における圧力P0[Pa]を、燃焼室5の吸気弁閉時期における圧力PINIに圧力上昇率PCOMPを乗じることで、つまり
P0=PINI×PCOMP …(26)
の式により算出する。
ステップ78では、初期燃焼期間における層流火炎速度SL1[m/sec]を次式(公知)により算出する。
SL1=f10(T0、P0)
=SLstd×{(T0/Tstd)^2.18}
×{(P0/Pstd)^(−0.16)} …(27)
ただし、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により規定できるとするものである。
上記の(27)式において基準温度Tstdと基準圧力Pstdと基準層流火炎速度SLstdは実験により予め定められる値である。
燃焼室5の通常の圧力である2bar以上の圧力下では、(27)式の圧力項(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 …(28)
ステップ79では、初期燃焼期間におけるガス流動の平均乱れ強さST1を算出する。このガス流動の平均乱れ強さST1は無次元の値であり、燃焼5に流入する新気の流速と燃料インジェクタ21の噴射燃料のペネトレーションとに依存する。
ステップ80では初期燃焼期間における層流火炎速度S1とこの初期燃焼期間におけるガス流動の平均乱れ強さST1から、初期燃焼期間におけるガスの乱流火炎速度FLAME1[m/sec](燃焼速度)を次式により算出する。
FLAME1=SL1×ST1 …(29)
燃焼室5内にガス乱れがあるとガスの火炎速度が変化する。(29)式はこのガス乱れに伴う火炎速度への寄与(影響)を考慮して、気体の流れがある状態での火炎速度である乱流火炎速度を算出するようにしたものである。
ステップ81では、このようにして算出した乱流火炎速度FLAME1に基づいて次式により初期燃焼期間BURN1[deg]を算出する。
BURN1={(Ne×6)×(BR1×V0)}
/(RPROBA×AF1×FLAME1) …(30)
ただし、AF1:火炎核の反応面積(固定値)[m2]、
この(30)式および後述する(41)式は、燃焼ガス質量を乱流火炎速度(燃焼速度)で割ると燃焼期間が得られるとする次の基本式より導いたものであるが、(30)式、後述する(41)式右辺の分子、分母ががただちに燃焼ガス質量、燃焼速度を表すものではない。
燃焼期間[sec]=シリンダ内総質量[g]
/(未燃ガス密度[g/m3]
×火炎表面積[m2]×乱流火炎速度[m/sec])
…(補11)
(補11)式右辺分母の未燃ガス密度は、未燃ガス質量[g]を未燃ガス体積[m3]で割った値であるので、従来装置(特開平10−30535号公報)のように質量に相当する充填効率ITACのみの関数では未燃ガス密度を正確に計算できているとはいえない。そこで、(補11)式に対して実験結果とを照らし合わせつつ所定の近似を導入して初めて得られたのが上記(30)式及び後述する(41)式に示す実験式である。
ここで、(30)式右辺のBR1は燃焼開始時期より初期燃焼期間BURN1の終了時期までの燃焼質量割合の変化代であり、ここではBR1=2%に設定している。(30)式右辺の(Ne×6)は単位をrpmからクランク角(deg)に変換するための処理である。火炎核の反応面積AF1は実験的に設定される。
また、初期燃焼期間中はほぼ燃焼室容積は変わらないとみなすことができる。従って、初期燃焼期間BURN1を算出するに際して最初の燃焼室容積である燃焼開始時の燃焼室容積V0を採用している。
次に図25のフローに移ると、ステップ91では図23のステップ71と同様に、図18のステップ62で算出されている燃焼室5の吸気弁閉時期における容積VIVC[m3]、図18のステップ64で算出されている燃焼室5の吸気弁閉時期における温度TINI[K]、図18のステップ65で算出されている燃焼室5の吸気弁閉時期における圧力PINI[Pa]、エンジン回転速度Ne[rpm]、図18のステップ66で算出されている反応確率RPROBA[%]を読み込み、さらにシリンダ新気量MACYL[g]、目標当量比TFBYA、、図18のステップ63で算出されている不活性ガス率MRESFR[%]を読み込む。
ここで、シリンダ新気量MACYL(燃焼室5に流入する新気量)の算出方法については公知の手法を用いればよい(特開2001−500091公報参照)。
ステップ92、93は図23のステップ73、74と同様である。すなわち、ステップ92で圧縮上死点時期における有効圧縮比Ec 2を算出する。有効圧縮比Ec 2も上記(22)式の有効圧縮比Ecと同様に無次元の値であり、次式に示すように燃焼室5の圧縮上死点時における容積VTDCを燃焼室5の吸気弁閉時期における容積VIVCで除した値である。
Ec 2=f13(VTDC、VIVC)=VTDC/VIVC
…(31)
(31)式において燃焼室5の圧縮上死点時における容積VTDCは運転条件によらず一定であり、予めエンジンコントローラ31のメモリに格納しておけばよい。
ステップ93では吸気弁閉時期IVCから圧縮上死点に至る間の燃焼室5内の断熱圧縮による温度上昇率TCOMP 2を次式に示すように有効圧縮比Ec 2に基づいて算出する。
TCOMP 2=f14(Ec 2)=Ec 2^(κ−1)…(32)
ただし、κ:比熱比、
図24と同様の特性のテーブルを予めエンジンコントローラ31のメモリに格納しておき、有効圧縮比Ec 2から当該テーブルを検索することにより温度上昇率TCOMP 2を求めることも可能である。
ステップ94ではシリンダ新気量MACYL、目標当量比TFBYA、不活性ガス率MRESFRから次式により燃焼室5の総ガス質量MGAS[g]を算出する。
MGAS=MACYL×(1+TFBYA/14.7)+MACYL×MRESFR
…(33)
(33)式右辺の括弧内の「1」は新気分、「TFBYA/14.7」は燃料分である。(33)式右辺のMACYL×MRESFRは不活性ガス量[g]である。これは、ここでのEGR率は、EGRガス量を新気量で除した比のことであるため、EGR率に新気量を乗算することにより簡単に不活性ガス量を求めている。
なお、MACYL×MRESFRは外部からの不活性ガス量であるから、燃焼室5内の内部不活性ガス量MRES[g]を算出し、これを(33)式右辺に加算することでさらに、燃焼室5の総ガス質量MGASの算出精度が向上する。燃焼室5内の内部不活性ガス量MRESの算出方法としては、特開2004−332647公報を用いればよい。
ステップ95ではこの燃焼室5の総ガス質量MGASと、シリンダ新気量MACYL、目標当量比TFBYAを用い、次式により混合気の燃焼による温度上昇量(燃焼上昇温度)TBURN[K]を算出する。
TBURN={MACYL×TFBYA/14.7×BRk×Q}
/(Cv×MGAS)
…(34)
ただし、Q :燃料の定発熱量、
BRk:シリンダ内燃料の燃焼質量割合、
Cv :定積比熱、
(34)式右辺の分子はシリンダ内燃料による発生総熱量[J]、分母は単位発生熱量当たりの温度上昇率[J/K]を意味している。すなわち、(34)式は熱力学の公式に当てはめた近似式である。
ここで、シリンダ内燃料の燃焼質量割合BRkとしては予め実験等で適合しておく。簡易的には例えば60%/2=30%を設定する。これは、本実施形態では燃焼質量割合BRが約60%に達するまでを燃焼期間として扱うので、そのちょうど中間の30%をBRkとして設定するものである。
燃料の定発熱量Qは燃料の種類により異なる値であるので、燃料の種類に応じ予め実験等で求めておく。定積比熱Cvは2〜3の値であり予め実験等で代表値を適合しておく。ただし、混合気に対してその組成、温度から定積比熱Cvの値を求めることで、一層の算出精度の向上が可能である。
ステップ96では、燃焼室5の圧縮上死点における温度TTDC[K]を、燃焼室5の吸気弁閉時期における温度TINIに圧縮上死点までの温度上昇率TCOMP 2を乗じその乗算値に上記の燃焼上昇温度TBURNを加算することで、つまり次式により算出する。
TTDC=TINI×TCOMP 2+TBURN …(35)
ステップ97では、この燃焼室5の圧縮上死点における温度TTDCと容積VTDC及び燃焼室5の吸気弁閉時期における圧力PINI、容積VIVC及び温度TINIから次式により燃焼室5の圧縮上死点における圧力PTDC[K]を算出する。
PTDC=PINI×VIVC×TTDC/(VTDC×TINI)
…(36)
(36)式は状態方程式を用いて得たものである。すなわち、吸気弁閉時期における圧力、容積及び温度(PINI、VIVC、TINI)を用いて次の状態方程式が成立する。
PINI×VIVC=n・R・TINI …(補12)
ただし、n:モル数、
R:ガス定数、
圧縮上死点近傍では容積はほぼ等しいので、圧縮上死点での圧力、容積及び温度(PTDC、VTDC、TTDC)を用いて次の状態方程式が成立する。
PTDC×VTDC=n・R・TTDC …(補13)
この(補13)式と上記(補12)との両式からn・Rを消去しPTDCについて解くと、上記(36)式が得られる。
ステップ98では図23のステップ78と同様にして、次式(公知)により、主燃焼期間における層流火炎速度SL2[m/sec]を算出する。
SL2=f15(TTDC、PTDC)
=SLstd×{(TTDC/Tstd)^2.18}
×{(PTDC/Pstd)^(−0.16)}
…(37)
ただし、Tstd :基準温度[K]、
Pstd :基準圧力[Pa]、
SLstd:基準温度Tstdと基準圧力Pstdにおける基準層流火炎速度
[m/sec]、
TTDC:燃焼室5の圧縮上死点における温度[K]、
PTDC:燃焼室5の圧縮上死点における圧力[Pa]、
(37)式の解説は上記(28)式と同様ある。すなわち、(37)式の基準温度Tstdと基準圧力Pstdと基準層流火炎速度SLstdは実験により予め定められる値である。燃焼室5の通常の圧力である2bar以上の圧力下では、(37)式の圧力項(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 …(38)
ステップ99では主燃焼期間におけるガス流動の平均乱れ強さST2を算出する。この主燃焼期間におけるガス流動の平均乱れ強さST2も初期燃焼期間におけるガス流動の平均乱れ強さST1と同様に、エンジン回転速度Neの関数として次式であらわすことができる。
ST2=f17(Ne)=C2×Ne …(39)
ただし、C2:定数、
乱れ強さST2を回転速度をパラメータとするテーブルから求めることも可能である。
ステップ100では、主燃焼期間における層流火炎速度SL2[m/sec]と主燃焼期間におけるガス流動の平均乱れ強さST2とから、主燃焼期間における乱流火炎速度FLAME2[m/sec](燃焼速度)を次式により算出する。
FLAME2=SL2×ST2 …(40)
ただし、SL2:層流火炎速度[m/sec]、
(40)式は(29)式と同様、ガス乱れに伴う乱流火炎速度への寄与を考慮して、気体の流れがある状態での火炎速度である乱流火炎速度を算出するようにしたものである。
ステップ101では、このようにして算出した主燃焼期間における乱流火炎速度FLAME2に基づいて主燃焼期間BURN2[deg]を上記の(30)式に類似した次式で算出する。
BURN2={(NRPM×6)×(BR2×VTDC)}
/(RPROBA×AF2×FLAME2) …(41)
ただし、AF2:火炎核の反応面積[m2]
ここで、(41)式右辺のBR2は主燃焼期間の開始時期より終了時期までの燃焼質量割合の変化代である。初期燃焼期間の終了時期に燃焼質量割合BRが2%になり、その後、主燃焼期間が開始し、燃焼質量割合BRが60%に達して主燃焼期間が終了すると考えているので、BR2=60%−2%=58%を設定している。AF2は火炎核の成長行程における平均の反応面積であり、(30)式のAF1と同様に、予め実験的に定めた固定値とする。
主燃焼期間では圧縮上死点を挟んで燃焼室容積が変化する。つまり、主燃焼期間の開始時期と、主燃焼期間の終了時期のほぼ中央に圧縮上死点位置が存在するとみなすことができる。また、圧縮上死点付近ではクランク角が変化しても燃焼室容積があまり変化しない。そこで主燃焼期間での燃焼室容積としてはこの圧縮上死点での燃焼室容積VTDCで代表させることとしている。
図26は基本点火時期MBTCAL[degBTDC]を算出するためのもので、一定時間毎(例えば10ms毎)に実行する。図23、図25のうち遅く実行されるフローに続けて実行する。
ステップ111では、図23のステップ81で算出されている初期燃焼期間BURN1、図25のステップ101で算出されている主燃焼期間BURN2、図18のステップ67で算出されている点火時期無駄時間相当クランク角IGNDEAD、図18のステップ66で算出されている基準クランク角θPMAXを読み込む。
ステップ112では、初期燃焼期間BURN1と主燃焼期間BURN2の合計を燃焼期間BURN[deg]として算出する。
ステップ113では次式により基本点火時期MBTCAL[degBTDC]を算出する。
MBTCAL=BURN−θPMAX+IGNDEAD …(42)
ステップ114では、この基本点火時期MBTCALから点火無駄時間相当クランク角IGNDEADを差し引いた値を前回燃焼開始時期MBTCYCL[degBTDC]として算出する。
このようにして算出した基本点火時期MBTCALは、点火時期指令値として点火レジスタに移され、実際のクランク角がこの点火時期指令値と一致したタイミングでエンジンコントローラ31より一次電流を遮断する点火信号が点火コイル13に出力される。
また、今サイクルの点火時期指令値としてステップ113で算出された基本点火時期MBTCALが用いられたとすると、次サイクルの点火時期になるまでの間、ステップ114で算出された前回燃焼開始時期MBTCYCLが図23のステップ72において用いられる。
ここで、本実施形態の作用効果を説明する。
本実施形態によれば、所定のEGR領域においてEGR率を可変に制御し、燃料カット条件(許可条件)が成立したとき燃料カットを行い、その後に燃料カットからのリカバー条件が成立したとき燃料供給を再開し、EGR領域での燃料カットリカバー時(燃料供給再開時)のシリンダ吸入EGR率の応答を算出し(図14のステップ44〜48参照)、この算出したEGR領域での燃料カットリカバー時のシリンダ吸入EGR率の応答に基づいて点火時期を算出し(図18、図25、図26参照)、この算出した点火時期で火花点火を実行するので、40%以上といった高率のEGR率を実現しているエンジンであっても、EGR領域での燃料カットリカバー時におけるノッキングを防止することができる。
また、本実施形態によれば、所定のEGR領域においてEGR率を可変に制御し、燃料カット条件(許可条件)が成立したとき燃料カットを行い、その後に燃料カットからのリカバー条件が成立したとき燃料供給を再開し、EGR領域での燃料カットリカバー時(燃料供給再開時)のシリンダ吸入EGR率の応答を第1応答として算出し(図14のステップ44〜48参照)、EGR領域での燃料カットリカバー時(燃料供給再開時)を除く、EGR率切換時(EGR率変化時)のシリンダ吸入EGR率の応答を第2応答として算出し(図14のステップ51〜55参照)、EGR領域での燃料カットリカバー時であるのか、それともEGR領域での燃料カットリカバー時を除く、EGR率切換時(EGR率変化時)であるのかを判定し(図14のステップ41、43、49、50参照)、この判定結果より、EGR領域での燃料カットリカバー時には第1応答に基づいて、またEGR領域での燃料カットリカバー時を除く、EGR率切換時には第2応答に基づいて点火時期を算出し(図18、図25、図26参照)、この算出した点火時期で火花点火を実行するので、40%以上といった高率のEGR率を実現しているエンジンであっても、EGR領域での燃料カットリカバー時におけるノッキングを防止することができるほか、EGR領域でのEGR率切換時に最適な点火時期を精度良く与えることができる。
本実施形態によれば、燃料カット中サイクル数CNTfcを計測し、この燃料カット中サイクル数CNTfcに応じて第1無駄時間EGRDYFCを算出するので(図6(A)のステップ17、18参照)、燃料カット中のサイクル数に応じた第1無駄時間EGRDYFCを精度良く与えることができる。
実施形態では、所定のEGR領域においてEGR率を可変に制御し、許可条件が成立したとき燃料カットを行い、その後に燃料カットからのリカバー条件が成立したとき燃料供給を再開し、前記EGR領域での前記燃料供給再開時のシリンダ吸入EGR率の応答を算出し、この算出したEGR領域での燃料供給再開時のシリンダ吸入EGR率の応答に基づいて点火時期を算出し、この算出した点火時期で火花点火を実行する場合で説明したが、シリンダ吸入EGR率に代えてシリンダ吸入EGRガス量を用いることができる。
実施形態では、所定のEGR領域においてEGR率を可変に制御し、許可条件が成立したとき燃料カットを行い、その後に燃料カットからのリカバー条件が成立したとき燃料供給を再開し、前記EGR領域での前記燃料供給再開時のシリンダ吸入EGR率の応答を第1応答として算出し、前記EGR領域での前記燃料供給再開時を除く、EGR率の変化時のシリンダ吸入EGR率の応答を第2応答として算出し、前記EGR領域での前記燃料供給再開時であるのか、それとも前記EGR領域での前記燃料供給再開時を除く、EGR率の変化時であるのかを判定し、この判定結果より、EGR領域での燃料供給の再開時には前記第1応答に基づいて、またEGR領域での燃料供給再開時を除く、EGR率の変化時には前記第2応答に基づいて点火時期を算出し、この算出した点火時期で火花点火を実行する場合で説明したが、シリンダ吸入EGR率に代えてシリンダ吸入EGRガス量を用いることができる。
実施形態では、エンジンの点火時期算出方法について説明したが、エンジンの点火時期制御装置としては、排気の一部を吸気通路に還流させるためのEGR弁を備え、所定のEGR領域においてEGRガス量またはEGR率を可変に制御するEGRガス量・EGR率制御手段と、許可条件が成立したとき燃料カットを行い、その後に燃料カットからのリカバー条件が成立したとき燃料供給を再開する燃料カット・燃料供給再開手段と、前記EGR領域での前記燃料供給再開時のシリンダ吸入EGRガス量またはシリンダ吸入EGR率の応答を算出する応答算出手段と、この算出したEGR領域での燃料供給再開時のシリンダ吸入EGRガス量またはシリンダ吸入EGR率の応答に基づいて点火時期を算出する点火時期算出手段と、この算出した点火時期で火花点火を実行する点火実行手段とを備えるエンジンの点火時期制御装置が考えられる(請求項1に記載の発明)。また、排気の一部を吸気通路に還流させるためのEGR弁を備え、所定のEGR領域においてEGRガス量またはEGR率を可変に制御するEGRガス量・EGR率制御手段と、許可条件が成立したとき燃料カットを行い、その後に燃料カットからのリカバー条件が成立したとき燃料供給を再開する燃料カット・燃料供給再開手段と、前記EGR領域での前記燃料供給再開時のシリンダ吸入EGRガス量またはシリンダ吸入EGR率の応答を第1応答として算出する第1応答算出手段と、前記EGR領域での前記燃料供給再開時を除く、EGRガス量またはEGR率の変化時のシリンダ吸入EGRガス量またはシリンダ吸入EGR率の応答を第2応答として算出する第2応答算出手段と、前記EGR領域での前記燃料供給再開時であるのか、それとも前記EGR領域での前記燃料供給再開時を除く、EGRガス量またはEGR率の変化時であるのかを判定する判定手段と、この判定結果より、EGR領域での燃料供給再開時には前記第1応答に基づいて、またEGR領域での燃料供給再開時を除く、EGRガス量またはEGR率の変化時には前記第2応答に基づいて点火時期を算出する点火時期算出手段と、この算出した点火時期で火花点火を実行する点火実行手段とを備えるエンジンの点火時期制御装置が考えられる(請求項3に記載の発明)。
請求項1に記載の発明において、EGRガス量・EGR率制御手段の機能は図1のエンジンコントローラ31により、燃料カット・燃料供給再開手段の機能は図1のエンジンコントローラ31により、応答算出手段の機能は図14のステップ44〜48により、点火時期算出手段の機能は図18、図25、図26により、点火実行手段の機能は図1のエンジンコントローラ31によりそれぞれ果たされている。