以下、本発明の実施形態を図面に基づき説明する。
(第1実施形態)
図1は本発明の第1実施形態のガソリンエンジンの制御装置の概略構成図、図2は点火装置13の概略構成図である。
エンジン1はガソリンエンジン(以下、単に「エンジン」ともいう。)である。エンジン1は図示しない車両に搭載されている。エンジン1には、吸気通路4、排気通路21を備える。上記の吸気通路4は、吸気管4a、吸気コレクタ4b、吸気マニホールド4cで構成される。
吸気コレクタ4bのすぐ上流の吸気管4aにはアクセルペダル43の踏込量に応動する電子制御のスロットル装置を備える。スロットル装置は、スロットルバルブ5と、スロットルバルブ5を駆動するモータ(回転電機)6、実際のスロットル開度を検出するスロットルセンサ7により構成されている。吸入空気は吸気管4aを経てスロットルバルブ5によって調量される。スロットルバルブ開度は、アクセルセンサ44により検出されるアクセル開度(アクセルペダル43の踏み量)と、クランク角センサ45により検出されるエンジン回転速度Neに応じて設定されている。調量された空気は吸気コレクタ4bに蓄えられ、吸気弁8が開いたときにこの吸気コレクタ4bから吸気マニホールド4cを介して各気筒の燃焼室10に分配供給される。第1実施形態は電子制御のスロットル装置の場合であるが、スロットルバルブとアクセルペダルとがワイヤーにより連結されたものであってよい。
エンジン1には点火装置13を備える。点火装置13は、点火プラグ14、IGBT内蔵の点火コイル15から構成される。点火プラグ14が燃焼室10に直接臨んで、かつ燃料噴射弁12が燃焼室10に直接臨んでそれぞれ設けられている。
気筒毎に設けられる点火コイル15は、図2にも示したように、一次側コイル15a、二次側コイル15bで構成されている。一次側コイル15aは一端がバッテリ61の高電位側に接続され、他端がスイッチ手段としてのIGBT15cを介して接地されている。IGBT13のゲートはエンジンコントローラ41に接続されており、エンジンコントローラ41によりIGBT15cがON、OFFされる。二次側コイル15bは一端が点火プラグ14に接続され、他端が二次電流検出回路63を介して接地されている。
エンジンコントローラ41が所定のタイミングでIGBT15cをOFFして一次側コイル15aを流れる電流(一次側電流)を遮断したとき、二次側コイル15bに高圧の二次電圧が発生する。この高圧の二次電圧は点火プラグ14の電極間に作用し、電極間で放電が行われる(火花が飛ぶ)。二次電流検出回路63については後述する。
エンジンコントローラ41では、吸入空気量QaとNeから基本燃料噴射パルス幅Tp[ms]を算出し、このTpを目標当量比TFBYA[無名数]や空燃比フィードバック補正係数α[無名数]で補正して燃料噴射パルス幅Ti[ms]を算出する。上記の吸入空気量Qaはエアフローメータ42により検出する。所定のタイミングでこのTiだけ燃料噴射弁12を開かせることで、燃料が燃焼室10の内部に直接噴射される。
一方、エンジンコントローラ41では、エンジンの負荷と回転速度Neから所定のマップを参照することにより、MBTが得られる基本点火時期ADV0[degCA(BTDC)]を算出する。特に、高負荷低回転速度域ではノッキングが生じる。このため、ノッキングが生じるときの点火時期より少しだけ遅角側にトレース点火時期ADVtr0[degCA(BTDC)]を、上記の基本点火時期ADV0とは別に定めている。高負荷低回転速度域で、このトレース点火時期ADVtr0と上記の基本点火時期ADV0とを比較すると、トレース点火時期ADVtr0のほうが遅角側にくるので、トレース点火時期ADVtr0が点火時期指令値ADV[degCA(BTDC)]として選択される。
そして、クランク角センサ45により検出されるエンジンのクランク角がこの点火時期指令値ADVと一致するタイミングでパワートランジスタを介して点火コイル15の一次側電流を遮断することで、点火プラグ14から火花を発生させる。
燃焼室10に噴射された燃料は、吸気弁8が閉じた後にスロットルバルブ5によって調量された空気と混合してガスとなり、このガスを点火プラグ14で着火して燃焼させる。燃焼するガスは、シリンダを摺動するピストン11を押し下げる仕事をした後、排気弁9が開いたときに排気通路21に排出される。燃料噴射弁12を設ける位置は燃焼室10に限らない。吸気マニホールド4c(吸気ポート)に燃料噴射弁を設けるものであってよい。
エンジン1には吸気弁用のカムシャフトに対する吸気弁8の作動角中心の位相を可変に調整し得る可変バルブタイミング機構16を備える。同様に、排気弁用のカムシャフトに対する排気弁9の作動角中心の位相を可変に調整し得る可変バルブタイミング機構17を備える。これら2つの可変バルブタイミング機構16,17を用い、吸排気弁8,9の開期間が重複するバルブオーバーラップを例えば低負荷域で生じさせることで、エンジンのポンピングロスが減少する。これによって、エンジンの燃費を良くすることができる。バルブオーバーラップを生じさせる運転域を予め定めており、エンジンコンローラ41ではこの運転域になると、2つの可変バルブタイミング機構16,17に指令してバルブオーバーラップを生じさせる。具体的には、IVO(吸気弁開時期)の特性及びEVC(排気弁閉時期)の特性がエンジンの負荷と回転速度Neをパラメータとするマップ上に予め定められている。エンジンコントローラ41ではエンジンの負荷と回転速度Neから当該各マップを参照して、IVOとEVCを求め、この求めたIVOとEVCが得られるように2つの可変バルブタイミング機構16,17に対して指令値を出力する。
排気通路21は、各気筒の燃焼室10からの排気が流入する排気マニホールド21a、この排気マニホールド21aの集合部に接続される排気管21bで構成される。排気中にはHC、CO、NOxの有害三成分を含むので、これらを全て浄化するため排気マニホールド21aの集合部にマニホールド触媒25を、それよりも下流の排気管21bにメイン触媒26を備えている。メイン触媒26は例えば車両の床下に設けられる。これら各触媒25,26は例えば三元触媒で構成される。排気管21bの末端にはマフラー27を備えている。メイン触媒26の活性化後になると、エンジンコンローラ41では、空燃比フィードバック制御を開始する。空燃比フィードバック制御では、空燃比センサ46及びO2センサ47からの信号に基づいてメイン触媒25の酸素ストレージ量が目標値となるように空燃比フィードバック補正係数α[無名数]を算出する。
さて、図3は、プレイグニッションが発生し得る運転域でエンジン回転速度、点火時期、IVC(吸気弁閉時期)を一定としていても、燃焼室10内の燃焼状態が正常燃焼、予兆プレイグニッション、暴走プレイグニッションへと徐々に変化する様子を示している。なお、図3の特性はあくまでモデルであり実際のデータを表すものでない。
ここで、図3の横軸はサイクル数[回]である。図3の縦軸は質量燃焼割合(mass fraction burnt)[%]が例えば10%のときのクランク角位置[degCA(ATDC)]である。質量燃焼割合が10%のときのクランク角位置は、上にいくほど進角側である。上記の「質量燃焼割合」とは、燃焼室10内の燃料が全て燃焼したときを100%として、何%の燃料が燃焼したかを示す指標である。「質量燃焼割合が10%のときのクランク角位置」とは燃焼室10内の燃料が10%燃焼したときのクランク角位置のことである。ここでは、質量燃焼割合が10%のときのクランク角位置で示しているが、質量燃焼割合が他のパーセント、例えば50%や90%のときのクランク角位置で示しても同様の結果が得られると考えられる。
上記「正常燃焼」は、点火プラグ14で燃焼室10内の混合気に点火した後に燃焼が始まる燃焼ことである。正常燃焼の場合に、熱発生率の波形でみると、点火の後に熱発生の山が生じる。つまり、「正常燃焼」とは熱発生が点火時期より遅角側にくるものをいうものとする。
一方、上記「暴走プレイグニッション」は、正常燃焼の場合よりも燃焼室10内の温度が高くなり、燃焼室10内の熱源(ヒートスポット)から自着火する燃焼のことである。暴走プレイグニッションの場合、熱発生が点火時期より進角側にずれる。つまり、「暴走プレイグニッション」とは熱発生が点火時期より進角側にくるものをいう。
正常燃焼からは暴走プレイグニッションへと一気に移行するものでなく、暴走プレイグニッションより前段階の燃焼が存在する。この前段階の燃焼では、正常燃焼の場合の熱発生よりは熱発生のタイミングが早く、暴走プレイグニッションの場合の熱発生よりは熱発生のタイミングが遅い状態が生じる。この暴走プレイグニッションへと移る前段階の燃焼を「予兆プレイグニッション」という。要は、正常燃焼から暴走プレイグニッションに即座に移行するのではなく、遷移する時間が必要になるので、図3に示したように燃焼室10内の燃焼状態が徐々に遷移していくパターンが存在するわけである。
上記の暴走プレイグニッションが生じてしまうと、エンジン1にダメージを与えてしまうので、本実施形態では暴走プレイグニッションの前段階にある予兆プレイグニッションを検出することを考える。
さて、予兆プレイグニッションや暴走プレイグニッション(これらをまとめて「プレイグニッション」ともいう。)では、点火コイル15の二次電流から検出される放電持続時間(スパークが持続している時間のこと)が短くなることが知られている。そこで、図3のモデルの場合で、質量燃焼割合が10%のときのクランク角位置と放電持続時間の関係で採り直すと、図4の特性が得られる。
図4において横軸のゼロは、質量燃焼割合が10%のときのクランク角位置が点火時期と一致するタイミングである。このため、横軸のゼロより左側の領域は、質量燃焼割合が10%のときのクランク角位置が点火時期より早い、つまり暴走プレイグニッションが生じる領域となる。
一方、正常燃焼の領域では質量燃焼割合が10%のときのクランク角位置が点火時期より遅いので、正常燃焼の領域は横軸のゼロより右側にくる。そして、正常燃焼の領域と暴走プレイグニッションの領域との間に予兆プレイグニッションの領域が存在するはずである。
言い換えると、正常燃焼では、図5に実線で示したように、ある長さの放電持続時間(=要求放電持続時間)が生じるように設定される。一方、予兆プレイグニッションになると、図5に破線で示したように、放電持続時間が正常燃焼の場合の要求放電持続時間より短くなる。この理由は次の通りである。すなわち、予兆プレイグニッションでは、燃焼室10内の圧力が正常燃焼の場合より上昇し、放電の電極間距離にあるガス圧力が高まる。これによって、放電持続時間が短くなるという特性があるためである。
このため、点火コイル15の二次電流に現れる放電特性をモニターしておけば、正常燃焼の放電特性から予兆プレイグニッションの放電特性へと徐々に移行していく。要は、正常燃焼の場合には、要求放電持続時間が得られているはずなのに、実際の放電持続時間が要求放電持続時間より徐々に短くなっていることをモニターできれば、予兆プレイグニッションへと移行していることを理論的には判断できるはずである。
実際には、放電持続時間がサイクル毎に大きくバラツク。ここで、図4の1つの○は1サイクルでのデータを表している。図4に示したように、放電持続時間がサイクル毎にバラツク場合に、1サイクルだけの放電持続時間から、予兆プレイグニッションであるか否かを判断するのでは誤判定が生じ得る。実際には正常燃焼であるのに予兆プレイグニッションであると誤判定したり、実際には予兆プレイグニッションであるのに正常燃焼であると誤判定したりするわけである。言い換えると、図4の特性では、正常燃焼と予兆プレイグニッションとの切り分けが難しいのである。
こうした誤判定を避けるため、点火コイルの二次電流を検出するだけじゃなくてイオン
しかしながら、従来装置のようにイオン電流を別に検出するのでは、コストが高くなる。
電流を検出することを併用する従来装置がある。
そこで本実施形態では、二次電流検出回路を用いて放電持続時間をサイクル毎に検出する。このサイクル毎に検出される放電持続時間の時系列データに対して、正常燃焼から予兆プレイグニッションへと移行する際の放電持続時間のゆっくりとした変化を捉えるような演算処理を行う。これによって、予兆プレイグニッションであるか否かの判定精度を向上させる。実際には予兆プレイグニッションであるのに正常燃焼であるとの誤判定や、実際には正常燃焼であるのに予兆プレイグニッションであるとの誤判定を防止するである。
上記の演算処理について、図6を参照して説明する。まず、図6上段は、正常燃焼と予兆プレイグニッションについて、横軸に放電持続時間を、縦軸に頻度を採った特性図である。正常燃焼、予兆プレイグニッションとも、頻度(度数)がある放電持続時間の幅で分布する。このように頻度分布図でみても、左右2つの分布が重なっているため、正常燃焼と予兆プレイグニッションとに切り分けることができない。図示の位置に閾値を設けたのでは、実際には予兆プレイグニッションであるのに正常燃焼であると誤判定したり、実際には正常燃焼であるのに予兆プレイグニッションであると誤判定したりする。
統計学上、上記の頻度は度数のことである。統計学に累積度数という指標があるので、上段の頻度分布から累積度数の分布を作成すると、図6下段の実線が得られる。ここで、「累積度数」とは、頻度(度数)を積み上げで表現したもので、全てを積み上げたとき100%となる値である。ただし、正常燃焼の場合の度数は、放電持続時間が短い側から積み上げているのに対し、予兆プレイグニッションの度数は、放電持続時間が長い側から積み上げている。このように累積度数の分布図に変換しても、左右2つの累積度数の分布が重なっているため、正常燃焼と予兆プレイグニッションとに切り分けることはできない。
ここで、正常燃焼から暴走プレイグニッションに即座に移行するのではなく遷移する時間が必要になるため放電持続時間の時系列データが徐々に変化していく点に本発明の発明者が着目した。すなわち、時間的に徐々に変化するデータ(時系列データ)を平滑化する方法に、移動平均の手法がある。移動平均の主要なものは、単純移動平均、加重平均である。第1実施形態ではこのうちの加重平均を用いる。
上記の加重平均では、時系列上のtのタイミングでの値をYtで表し、tのタイミングでの加重平均値をStで表す。t≧2の場合に、加重平均値の計算式は次の通りである。
St=A×Yt−1+(1−A)×St−1 …(1)
ただし、St:tのタイミングでの加重平均値、
St−1:t−1のタイミングでの加重平均値、
Yt−1:t−1のタイミングでの値、
A:平滑化係数(ゼロと1の間の値)、
そこで、上記(1)式の値に放電持続時間T[ms]の時系列データを適用すると、次式が得られる。
St=As×Tt−1+(1−As)×St−1 …(2)
ただし、St:放電持続時間の今回のサイクルでの加重平均値、
St−1:放電持続時間の前回のサイクルでの加重平均値、
Tt−1:前回のサイクルでの放電持続時間、
As:平滑化係数(ゼロと1の間の値)、
放電持続時間Tのサイクル毎の時系列データに対して、上記(2)式の加重平均の処理を行うことで、加重平均値Stのサイクル毎の時系列データを得る。この加重平均値Stのサイクル毎時系列データで累積度数の分布を作成したとき、累積度数の分布が下段の破線へと変化した。つまり、加重平均値のサイクル毎の時系列データで累積度数の分布を作成したとき、予兆プレイグニッションの場合の累積度数の分布と正常燃焼の場合の累積度数の分布とが全く重なることがなくなった。このように、左右2つの累積度数分布に重なる部分がなくなると、同じ閾値であっても予兆プレイグニッションの場合と正常燃焼の場合とを明確に(つまり精度良く)切り分けることができることとなった。
言い換えると、単純には放電持続時間をサイクル毎に検出してそのサイクル毎に得られるデータを時系列データとして記憶し、その時系列データに加重平均処理を行うことにより、予兆プレイグニッションであるか否かを精度良く判定できることになった。この場合、加重平均の処理であれば、エンジンコントローラ41での演算上の負荷を低減することができるので、加重平均処理を追加することに伴うコストアップを最小限にすることができる。ここでは、加重平均を用いる場合で説明したが、この場合に限られるものでなく、単純移動平均であってよい。
点火コイル15の二次電流から得られるサイクル毎の放電持続時間Tを検出するため、図2にも示したように二次電流検出回路63を備える。二次電流検出回路63はツェナダイオード64及び電流検出用の抵抗65から構成される(特開2007−231927号公報参照)。すなわち、二次側コイル10bの他端は、ツェナダイオード64及び電流検出用の抵抗65を介して接地されている。二次電流検出回路の構成はこの場合に限定されるものでなく、公知の二次電流検出回路のいずれであってもよい。
なお、図1には1気筒分の点火コイル15しか示していない。多気筒エンジン、例えば4気筒エンジンであれば、気筒数分の点火コイルに対応して、図2に示したように、気筒数分の二次電流検出回路63A,63B,63C,63Dが存在する。そして、各気筒の二次電流検出回路63A,63B,63C,63Dからの出力(電流検出用抵抗の出力)がエンジンコンロトローラ41に入力される。後述するように、エンジンコントローラ41では各気筒の二次電流検出回路63A,63B,63C,63Dで検出される二次側電流から放電持続時間をサイクル毎に検出する。
エンジンコントローラ41で実行されるこの予兆プレイグニッションの検出を、以下のフローチャートを参照して説明する。
まず、図7のフローは、予兆プレイグニッションフラグを設定するためのもので、サイクル毎に実行する。ここで、「サイクル」を具体的に説明する。単気筒4サイクルエンジンの場合であれば、720degCA(Crank Angle)で1回の点火タイミングが訪れるので、1サイクルとは720degCAのことである。4気筒4サイクルエンジンの場合であれば、720degCA毎に各気筒の点火タイミングが訪れるので、1サイクルとは180degCAである。言い換えると、4気筒4サイクルエンジンの場合には各気筒の点火が終了するタイミングを実行タイミングとして、180degCA毎に図7のフローを繰り返し実行することとなる。
ステップ1では、エンジン1の運転中であるか否かをみる。例えば、エンジンの始動時にエンジン回転速度Neは初爆回転速度を超えてアイドル状態に至るので、エンジン回転速度Neが初爆回転速度以下であればエンジンの運転中でないと判断する。このときにはステップ7に進み、予兆プレイグニッションフラグ(エンジン始動時にゼロに初期設定)=0とする。
ステップ1でエンジン回転速度Neが初爆回転速度を超えていればエンジンの運転中であると判断する。このときにはステップ2に進み、プレイグニッションの発生する運転域(以下「プレイグニッション発生域」という。)にあるか否かをみる。
実際には、エンジン1の全ての運転域でプレイグニッションが発生するわけでなく、図8に示したように横軸にエンジン回転速度Ne、縦軸にエンジントルク(あるいはエンジン負荷)を採ったとき、熱面着火域と低温酸化反応域でプレイグニッションが生じる。上記の「熱面着火域」とは、燃焼室10内の混合気の温度が低・中負荷域よりも相対的に高くなる高負荷域のことである。たとえば、エンジン1が高回転速度(例えば6000rpm)で回り続けると、点火プラグ14自体が相対的に高温となり、点火プラグ14による点火に関係なく、点火プラグ表面で自着火(熱面着火)が生じる。この場合、点火プラグ表面はホットスポットと呼ばれる。一方、上記の低温酸化反応域は、燃焼室10内の混合気の温度が熱面着火域ほど高くない高負荷低回転側の領域にある。すなわち、「低温酸化反応域」とは、ある温度帯で長い時間、エンジン1が放置されることで、点火プラグ14による点火に関係なく、燃焼室10内で混合気の化学反応が勝手に進む現象が生じる領域のことである。
ステップ2でエンジン回転速度Neとエンジントルク(あるいはエンジン負荷)から定まる運転条件が図8に示した熱面着火域または低温酸化反応域にないときにはプレイグニッション発生域にないと判断する。このときにはステップ7に進み、予兆プレイグニッションフラグ=0とする。
ステップ2でエンジン回転速度Neとエンジン負荷から定まる運転条件が図8に示した熱面着火域または低温酸化反応域にあるときにはプレイグニッション発生域にあると判断する。このときには予兆プレイグニッションが生じ得ると判断しステップ3以降に進む。
ステップ3〜6は予兆プレイグニッションを検出する部分である。まずステップ3では、前回のサイクルで得られた放電持続時間である「Tz」[ms]を読み込む。放電持続時間Tは、図示しないフローにおいて、サイクル毎に二次電流検出回路63A,63B,63C,63Dを用いて検出し、サイクル毎に検出した放電持続時間Tを時系列でメモリに保存している。プレイグニッションを検出ここでは、今回のサイクルで得られる放電持続時間をT[ms]、前回のサイクルで得られた放電持続時間をTz[ms]としている。
ステップ4では、前回のサイクルで得られた放電持続時間である「Tz」を用いて放電持続時間の今回のサイクルでの加重平均値(以下、単に「放電持続時間の加重平均値」という。)Sを次式により算出する。
S=Tz×As+(1−As)×Sz …(3)
ただし、Sz:前回のサイクルでのS、
As:平滑化係数(ゼロと1の間の値)、
(3)式は上記(2)式と同じ式である。(3)式の平滑化係数Asは適合により予め求めておく。
ステップ5では、放電持続時間の加重平均値Sと予兆プレイグニッション判定閾値(図7は「閾値」で略記。)を比較する。予兆プレイグニッション判定閾値は正常燃焼と予兆プレイグニッションを切り分けるための値で、予め適合しておく。放電持続時間の加重平均値Sが予兆プレイグニッション判定閾値以上であるときには正常燃焼であると判断する。このときには予兆プレイグニッションが生じていないことを表すため、ステップ7に進んで予兆プレイグニッションフラグ=0とする。
ステップ5で放電持続時間の加重平均値Sが予兆プレイグニッション判定閾値未満になったら予兆プレイグニッションが生じていると判断する。このときには予兆プレイグニッションが生じていることを表すため、ステップ6に進んで予兆プレイグニッションフラグ=1とする。これによって予兆プレイグニッションが検出された。
このように設定される予兆プレイグニッションフラグの値(つまり予兆プレイグニッションの検出結果)はメモリに保存しておく。
図9のフローは、燃料・点火停止フラグを設定するためのもので、図9のフローとは別に、一定時間毎(例えば10ms毎)に実行する。
ステップ11の操作は、図7のステップ2の操作と同じである。すなわち、ステップ11では、プレイグニッション発生域にあるか否かをみる。エンジン回転速度Neとエンジントルクから定まる運転条件がプレイグニッション発生域にないときにはそのまま今回の処理を終了する。
ステップ2でエンジン回転速度Neとエンジントルクから定まる運転条件がプレイグニッション発生域にあるときにはステップ12に進み、燃料・点火停止フラグをみる。この燃料・点火停止フラグはエンジン始動時にゼロに初期設定されている。ここでは、燃料・点火停止フラグ=0であるとしてステップ13に進み、予兆プレイグニッションフラグ(図7のフローにより設定済み)をみる。予兆プレイグニッションフラグ=0であるときにはそのまま今回の処理を終了する。
ステップ13で予兆プレイグニッションフラグ=1であるときには、燃料供給及び点火を停止するためステップ14に進み、燃料・点火停止フラグ(エンジン始動時にゼロに初期設定)=1とする。この燃料・点火停止フラグ=1の指示を受けて図示しないフローでは、各気筒において燃料噴射弁12からの燃料供給及び点火プラグ14での点火が停止される。これによって、エンジンを空回しし吸入空気を燃焼室10に導いて燃焼室10内の温度を低下させる。
ステップ15ではタイマを起動する(タイマ値tm1=0)。このタイマは、燃料・点火供給停止フラグ=1としてからの経過時間を計測するためのものである。
ステップ14での燃料・点火供給停止フラグ=1により、次回よりステップ12からステップ16に進む。ステップ16ではタイマ値tm1と所定値tm0を比較する。所定値tm0は燃焼室10内が十分に冷えるまでの時間、つまり燃焼室10内が、予兆プレイグニッションが生じない温度になるまでの時間を定める値で、適合により予め定めておく。タイマ値tm1が所定値Tm0未満であるときにはステップ14,15の操作を実行する。
ステップ16でタイマ値tm1が所定値tm0未満である限り、ステップ14,15の操作を繰り返す。燃焼室10内で点火プラグ14自体が高温となり、点火プラグ表面がホットスポットとなっていても、燃料噴射弁12からの燃料供給及び点火プラグ14での点火を停止して、燃焼室10内で燃焼させなければ、吸気によって燃焼室10内が冷やされる。やがて、点火プラグ表面がホットスポットでなくなり、予兆プレイグニッションが解消される。ステップ16でタイマ値tm1が所定値tm0以上になると、燃焼室10内が十分に冷えた、つまり燃焼室10内が、予兆プレイグニッションが生じない温度になったと判断する。このときには、燃料噴射弁12からの燃料供給及び点火プラグ14での点火の停止を解除するためステップ17に進み、燃料・点火停止フラグ=0に戻す。これによって、再び各気筒で燃料噴射弁12からの燃料供給及び点火プラグ14での点火が再開される。
図10は、エンジン1の運転中にエンジン1の運転条件がプレイグニッション発生域に入ったときに放電持続時間がどのように変化するのかをモデルで示した第1実施形態の場合のタイミングチャートである。ここでは、t1のタイミングからt3のタイミングまでの期間で、例えば熱面着火域に入ったとする。
この場合、図10第3段目には正常燃焼の場合の放電持続時間の生値及び加重平均値の動きと、予兆プレイグニッションの場合の放電持続時間の生値及び加重平均値の動きとを重ねて示している。ここで、上記「放電持続時間の生値」とは、二次電流検出回路により検出される放電持続時間のサイクル毎の時系列データのことである。このサイクル毎のデータにはバラツキがあるので、図示のように上下に小刻みに振動している。
さて、プレイグニッションが生じ得る熱面着火域に入ったからといって、正常燃焼から予兆プレイグニッションへと必ず移行するわけでない。なぜかというと、基本的には全ての運転域で暴走プレイグニッションが発生しないように、エンジン1を設計しているためである。
しかしながら、エンジン1の経年劣化で燃焼室10内にデポジットが付着することがある。デポジットは煤の塊のことである。デポジットの存在で、その分、実際の圧縮比が高くなると、正常燃焼から予兆プレイグニッションへと徐々に移行し、ついには暴走プレイグニッションが起きやすくなる。もしくは、砂漠地のように吸気温度がもともと高温となっている場合において圧縮比が高くなると、予兆プレイグニッションから暴走プレイグニッションへと移行し、暴走プレイグニッションが起きやすくなる。暴走プレイグニッションが生じ得る熱面着火域にあっても、正常燃焼にとどまり予兆プレイグニッションに移行しない場合もあれば、正常燃焼から徐々に予兆プレイグニッションへと移行する場合もあり得るわけである。
熱面着火域でも、正常燃焼から予兆プレイグニッションに移行しなければ、放電持続時間の生値が上下に振れつつ変化するものの、放電持続時間の加重平均値(図10では「加重平均値」で略記。)はほぼ同じようなレベルを維持する。このため、放電持続時間の加重平均値が予兆プレイグニッション判定閾値を横切って下回ることはない。
一方、熱面着火域で正常燃焼から予兆プレイグニッションに移行する場合には、放電持続時間の加重平均値がt1のタイミングから低下してゆく。そして、t2のタイミングで予兆プレイグニッション判定閾値を横切って低下するため、予兆プレイグニッションフラグがゼロから1に切換わる。
なお、図10のタイミングチャートは図7のフローだけと対応するもので、図7及び図9のフローと対応するものでない。なぜなら、図9のフローに従えば、予兆プレイグニッションフラグがゼロから1に切換わるタイミングで、各気筒の燃料供給及び点火を停止する。これにより、燃焼室10内が冷やされ、予兆プレイグニッションが生じない方向、つまり放電持続時間の生値が長くなる方向に動くはずであるが、そうなっていないためである。これは、予兆プレイグニッションフラグがゼロから1に切換わるタイミングで燃料供給及び点火を停止した場合の放電持続時間の生値の動きを記載するとすれば、正常燃焼の場合の放電持続時間の生値の動きと紛らわしくなるので、これを避けるためである。要は、図10のタイミングチャートは、正常燃焼から予兆プレイグニッションへと移行する際に、放電持続時間の生値及び加重平均値がどのような挙動をするかを示すものである。
ここで、本実施形態の作用効果を説明する。
本実施形態では、点火プラグ14と、点火コイル15と、二次電流検出回路63と、放電持続時間検出手段(41)と、移動平均処理手段(41)と、予兆プレイグニッション判定手段(41)とを備える。上記点火プラグ14は燃焼室10に臨んで設けられる。上記点火コイル15は一次側コイル15aと二次側コイル15bとで構成される。上記二次電流検出回路63は一次電流(一次側コイルを流れる電流)を所定のタイミングで遮断することによって点火プラグ14の電極間に放電を行わせる点火時に二次電流(点火コイルの二次側コイルを流れる電流)を検出する。上記放電持続時間検出手段(41)は検出される二次電流から、前記放電の持続時間をサイクル毎に検出する。上記移動平均処理手段(41)はサイクル毎に検出される放電持続時間Tの時系列データに対し、移動平均の処理を施して移動平均値Sを求める。上記予兆プレイグニッション判定手段(41)は移動平均値Sに基づいて、予兆プレイグニッションが生じているか否かを判定する。本実施形態によれば、放電持続時間に基づいて予兆プレイグニッションを検出する場合であっても、正常燃焼の場合の放電持続時間と予兆プレイグニッションの場合の放電持続時間とを明確に区別することができることとなった。これによって、予兆プレイグニッションを精度良く検出することができる。暴走プレイグニッションの前段階の予兆プレイグニッションを検出するので、エンジン1の信頼性に影響を与えることはない。
本実施形態では、移動平均値は加重平均値Sであるので、エンジンコントローラ41での演算上の負荷を軽減することができる。
(第2実施形態)
図11のフローは第2実施形態の予兆プレイグニッションフラグを設定するためのもので、サイクル毎に実行する。図11のフローは第1実施形態の図7のフローと置き換わるものである。第1実施形態の図7のフローと同一部分には同一の符号を付している。
第1実施形態の図7のフローと相違する部分を主に説明する。ステップ1でエンジン1の運転中であるときにはステップ21に進み、予兆プレイグニッション経験済みフラグ(図11では「予兆プレイグ経験済フラグ」で略記。)をみる。ここでは予兆プレイグニッション経験済みフラグ=0であるとしてステップ2に進む。
ステップ2ではプレイグニッション発生域であるか否かをみて、プレイグニッション発生域であるときにはステップ3以降に進む。
ステップ3,22,23,24,25,6は予兆プレイグニッションを検出する部分である。まずステップ3では、まず今回のサイクルで得られた放電持続時間からn回(例えば10回)前のサイクルで得られた放電持続時間までの10個の時系列データを読み込む。ここで、放電持続時間の時系列データを最新のものからT1[ms],T2[ms],T3[ms],T4[ms],T5[ms],T6[ms],T7[ms],T8[ms],T9[ms],T10[ms]とする。
ステップ22では、放電持続時間の時系列データである10個のデータT1〜T10を用いて、次式により放電持続時間の単純移動平均値Tave[ms]を算出する。
Tave=(T1+T2+…+T10 )/10 …(4)
次回のサイクルで単純移動平均値Taveを求めるには、次回のサイクルで求まる放電持続時間を新たな値として加え、一番古いサイクルでの放電持続時間(一番古い値)を除けばよい。
なお、放電持続時間の時系列データが10個である場合に限定されるものでなく、ステップ22には次のように放電持続時間の時系列データがn(nは自然数)個である場合の単純移動平均値Taveの一般式を記載している。
Tave=ΣTn/n …(5)
ただし、n:サンプル数(時系列データ数)、
(5)式でサンプル数nが10個である場合が上記(4)式である。
ステップ23では、この単純移動平均値Taveと今回のサイクルで得られる放電持続時間T1[ms]との差を、放電持続時間の今回のサイクルでの偏差ΔT1[ms]として、つまり次式により放電持続時間の今回のサイクルでの偏差ΔT1を算出する。
ΔT1=Tave−T1 …(6)
ステップ24ではこの放電持続時間の今回のサイクルでの偏差ΔT1を、改めて放電持続時間の偏差ΔTに入れる。ステップ25ではこの放電持続時間の偏差ΔTと予兆プレイグニッション判定閾値(図11では「閾値」で略記。)を比較する。予兆プレイグニッション判定閾値は正常燃焼と予兆プレイグニッションを切り分けるための値で、予め適合しておく。放電持続時間の偏差ΔTが予兆プレイグニッション判定閾値以上であるときには正常燃焼であると判断する。このときには予兆プレイグニッションが生じていないことを表すため、ステップ7に進んで予兆プレイグニッションフラグ=0とする。
ステップ25で放電持続時間の偏差ΔTが予兆プレイグニッション判定閾値未満になったときには予兆プレイグニッションが生じていると判断する。このときには予兆プレイグニッションが生じていることを表すため、ステップ6に進んで予兆プレイグニッションフラグ=1とする。これによって予兆プレイグニッションが検出された。
ステップ26では予兆プレイグニッション経験済みフラグ=1とする。予兆プレイグニッション経験済みフラグは、一旦、予兆プレイグニッションフラグを1に切換えた後には、エンジン1の運転条件がプレイグニッション発生域を外れるまで、このフラグの値を維持させておくためのものである。
ステップ26での予兆プレイグニッション経験済みフラグ=1により、次回にはステップ21からステップ27に進む。ステップ27ではプレイグニッション発生域に継続してあるか否かをみる。エンジン1の運転条件がプレイグニッション発生域に継続してあるときにはステップ6,26の操作を実行する。
一方、ステップ27でエンジン1の運転条件がプレイグニッション発生域を外れたときには次回の予兆プレイグニッションの検出に備えるためステップ28,29に進み、予兆プレイグニッションフラグ=0、予兆プレイグニッション経験済みフラグ=0とする。
第2実施形態では、放電持続時間の今回のサイクルでの偏差ΔT1を算出する際に、単純移動平均値Taveを用いたが、この場合に限られない。単純移動平均値Taveに代えて、第1実施形態の放電持続時間の加重平均値Sを用いることであってよい。
図12は、エンジン1の運転中にエンジン1の運転条件がプレイグニッション発生域に入ったときに放電持続時間及び偏差ΔTがどのように変化するのかをモデルで示した第2実施形態の場合のタイミングチャートである。ここでは、t11のタイミングからt14のタイミングまでの期間で、例えば熱面着火域に入ったとする。参考のため、図10第3段目をそのまま図12第3段目にも記載している。
この場合、図12第4段目には正常燃焼の場合の放電持続時間の偏差ΔTの動きと、予兆プレイグニッションの場合の放電持続時間の偏差ΔTの動きとを重ねて示している。この放電持続時間の偏差ΔTのデータにはサイクル毎のバラツキがあるので、図示のように上下に小刻みに振動している。
さて、熱面着火域でも、正常燃焼から予兆プレイグニッションに移行しなければ、つまり正常燃焼の場合には放電持続時間の生値が上下に振れつつ変化するものの、放電持続時間の偏差ΔTはあるレベルから動くことはない。したがって、正常燃焼の場合に放電持続時間の偏差ΔTが予兆プレイグニッション判定閾値を横切って下回ることはない。
一方、熱面着火域で正常燃焼から予兆プレイグニッションに移行する場合には、放電持続時間の偏差ΔTがt11のタイミングから低下してゆき、t12のタイミングで予兆プレイグニッション判定閾値を横切って低下するため、予兆プレイグニッションフラグがゼロから1に切換わる。
その後、放電持続時間の偏差ΔTが大きくなる側に向かい、t13で予兆プレイグニッション判定閾値を横切って上昇している。この場合に、t13のタイミングで、予兆プレイグニッションフラグを1からゼロに切換えることはなしない。なぜなら、実際には、予兆プレイグニッションがt12のタイミングから生じ、t13のタイミングを超えても予兆プレイグニッションが継続して生じているからである。このようにt13のタイミングで予兆プレイグニッションフラグを1からゼロに切換えることをしない理由は、予兆プレイグニッションが生じている状態での放電持続時間の生値が安定しているために、放電持続時間の偏差が大きくなる側に戻ってくるためである。
さらに述べると、これは放電持続時間の偏差ΔTを採用する場合の特殊性ともいえるものである。このため放電持続時間の偏差ΔTを採用するときには、予兆プレイグニッションフラグを一度、1に切換えた後には、エンジン1の運転条件がプレイグニッション発生域を外れるまで1を維持させる。
第2実形態では、二次電流検出回路によって検出される二次電流(二次側コイルを流れる電流)から、放電持続時間Tをサイクル毎に検出し、サイクル毎に検出される放電持続時間Tの時系列データに対し、単純移動平均(移動平均)の処理を施して単純移動平均値Tave(移動平均値)を求める。そして、この単純移動平均値Taveと今回のサイクルで得られた放電持続時間T1との偏差ΔTに基づいて、予兆プレイグニッションが生じているか否かを判定する。これによって、第1実施形態と同様に、バラツキのある放電持続時間に基づいて予兆プレイグニッションを検出する場合であっても、正常燃焼の場合の放電持続時間と予兆プレイグニッションの場合の放電持続時間とを明確に区別することができることとなった。これによって、予兆プレイグニッションを精度良く検出することができる。
(第3実施形態)
図13のフローは第3実施形態の予兆プレイグニッションフラグを設定するためのもので、サイクル毎に実行する。図13のフローは第2実施形態の図11のフローと置き換わるものである。第2実施形態の図11のフローと同一部分には同一の符号を付している。
第2実施形態の図11のフローと相違する部分はステップ31,32のみである。すなわち、ステップ31では、今回のサイクルで得られる放電持続時間T1[ms]を単純移動平均値Tave[ms]で除算した値を放電持続時間の比率Trate[無名数]として、つまり次式により放電持続時間の比率Trateを算出する。
Trate=T1/Tave …(7)
ステップ32ではこの放電持続時間の比率Trateと予兆プレイグニッション判定閾値(図13では「閾値」で略記。)を比較する。予兆プレイグニッション判定閾値は正常燃焼と予兆プレイグニッションを切り分けるための値で、予め適合しておく。放電持続時間の比率Trateが予兆プレイグニッション判定閾値以上であるときには正常燃焼であると判断する。このときには予兆プレイグニッションが生じていないことを表すため、ステップ7に進んで予兆プレイグニッションフラグ=0とする。
ステップ32で放電持続時間の比率Trateが予兆プレイグニッション判定閾値未満になったときには予兆プレイグニッションが生じていると判断する。このときには予兆プレイグニッションが生じていることを表すため、ステップ6に進んで予兆プレイグニッションフラグ=1とする。これによって予兆プレイグニッションが検出された。
第3実施形態でも、放電持続時間の比率Trateを算出する際に、単純移動平均値Taveを用いたが、この場合に限られない。単純移動平均値Taveに代えて、第1実施形態の放電持続時間の加重平均値Sを用いることであってよい。
図14は、エンジン1の運転中にエンジン1の運転条件がプレイグニッション発生域に入ったときに放電持続時間及び比率Trateがどのように変化するのかをモデルで示した第3実施形態の場合のタイミングチャートである。ここでは、t21のタイミングからt24のタイミングまでの期間で、例えば熱面着火域に入ったとする。参考のため、図10第3段目をそのまま図14第3段目にも記載している。
この場合、図14第4段目には正常燃焼の場合の放電持続時間の比率Trateの動きと、予兆プレイグニッションの場合の放電持続時間の比率Trateの動きとを重ねて示している。この放電持続時間の比率Trateのデータにはサイクル毎のバラツキがあるので、図示のように上下に小刻みに振動している。
さて、熱面着火域でも、正常燃焼から予兆プレイグニッションに移行しなければ、つまり正常燃焼の場合には放電持続時間の生値が上下に振れつつ変化するものの、放電持続時間の比率Trateはあるレベルから動くことはない。したがって、正常燃焼の場合に放電持続時間の比率Trateが予兆プレイグニッション判定閾値を横切って下回ることはない。
一方、熱面着火域で正常燃焼から予兆プレイグニッションに移行する場合には、放電持続時間の比率Trateがt21のタイミングから低下してゆき、t22のタイミングで予兆プレイグニッション判定閾値を横切って低下するため、予兆プレイグニッションフラグがゼロから1に切換わる。
その後、放電持続時間の比率Trateが大きくなる側に向かい、t23で予兆プレイグニッション判定閾値を横切って上昇している。この場合に、t23のタイミングで、予兆プレイグニッションフラグを1からゼロに切換えることはなしない。なぜなら、実際には、予兆プレイグニッションがt22のタイミングから生じ、t23のタイミングを超えても予兆プレイグニッションが継続して生じているからである。このようにt23のタイミングで予兆プレイグニッションフラグを1からゼロに切換えることをしない理由は、予兆プレイグニッションが生じている状態での放電持続時間の生値が安定しているために、放電持続時間の比率が大きくなる側に戻ってくるためである。
さらに述べると、これは放電持続時間の偏差ΔTと同じく比率Trateを採用する場合の特殊性ともいえるものである。このため放電持続時間の比率Trateを採用するときにも、予兆プレイグニッションフラグを一度、1に切換えた後には、エンジン1の運転条件がプレイグニッション発生域を外れるまで1を維持させる。
このように放電持続時間の比率Trateは第2実施形態の放電持続時間の偏差ΔTとほぼ等価な値である。
第3実形態では、二次電流検出回路によって検出される二次電流(二次側コイルを流れる電流)から、放電持続時間Tをサイクル毎に検出し、サイクル毎に検出される放電持続時間Tの時系列データに対し、単純移動平均(移動平均)の処理を施して単純移動平均値Tave(移動平均値)を求める。そして、この単純移動平均値Taveと今回のサイクルで得られた放電持続時間T1との比率rateに基づいて、予兆プレイグニッションが生じているか否かを判定する。これによって、第1実施形態と同様に、バラツキのある放電持続時間に基づいて予兆プレイグニッションを検出する場合であっても、正常燃焼の場合の放電持続時間と予兆プレイグニッションの場合の放電持続時間とを明確に区別することができることとなった。これによって予兆プレイグニッションを精度良く検出することができる。
(第4実施形態)
図15のフローは第4実施形態の予兆プレイグニッションフラグを設定するためのもので、サイクル毎に実行する。図15のフローは第1実施形態の図7のフローと置き換わるものである。第1、第2の実施形態の図7、図11のフローと同一部分には同一の符号を付している。
第1実施形態の図7、第2実施形態の図11の各フローと相違する部分はステップ41,42,43のみである。すなわち、ステップ2でプレイグニッション発生域であるときにはステップ41に進む。ステップ41では、放電持続時間の時系列データである9個のデータT1〜T9を1サイクル前のデータへと順次移す。具体的には、T9のデータをT10に、T8のデータをT9に、T7のデータをT8に、T6のデータをT7に、T5のデータをT6に、T4のデータをT5に、T3のデータをT4に、T2のデータをT3に、T1のデータをT2に移す。この一連の操作はデータのシフト操作と呼ばれる。このシフト操作によって、最も古いT10のデータを捨てたことになる。
ステップ23では、単純移動平均値Taveと今回のサイクルで得られる放電持続時間T1との差を放電持続時間の今回のサイクルでの偏差ΔT1[ms]として、つまり次式により放電持続時間の今回のサイクルでの偏差ΔT1を算出する。
ΔT1=Tave−T1 …(8)
このステップ23で得た今回のサイクルでのデータT1と、ステップ41でのシフト操作により得られるT2〜T10のデータとで、放電持続時間の偏差の時系列データである10個のデータΔT1〜T10が得られた。
ステップ42では、放電持続時間の偏差の時系列データである10個のデータΔT1〜T10を用いて次式により放電持続時間の積算偏差Tσを算出する。
Tσ=ΔT1+ΔT2+…+ΔT10 …(9)
なお、放電持続時間の偏差の時系列データが10個である場合に限定されるものでなく、ステップ42には次のように放電持続時間の積算偏差Tσの一般式を記載している。
Tσ=ΣΔTn …(10)
ただし、n:サンプル数(時系列データ数)、
(10)式でサンプル数nが10個である場合が上記(9)式である。
ステップ43では放電持続時間の積算偏差Tσと予兆プレイグニッション判定閾値(図15では「閾値」で略記。)を比較する。予兆プレイグニッション判定閾値は正常燃焼と予兆プレイグニッションを切り分けるための値で、予め適合しておく。放電持続時間の積算偏差Tσが予兆プレイグニッション判定閾値以上であるときには正常燃焼であると判断する。このときには予兆プレイグニッションが生じていないことを表すため、ステップ7に進んで予兆プレイグニッションフラグ=0とする。
ステップ43で放電持続時間の積算偏差Tσが予兆プレイグニッション判定閾値未満になったときには予兆プレイグニッションが生じていると判断する。このときには予兆プレイグニッションが生じていることを表すため、ステップ6に進んで予兆プレイグニッションフラグ=1とする。これによって予兆プレイグニッションが検出された。
第4実施形態でも、放電持続時間の今回のサイクルでの偏差ΔT1を算出する際に、単純移動平均値Taveを用いたが、この場合に限られない。単純移動平均値Taveに代えて、第1実施形態の放電持続時間の加重平均値Sを用いることであってよい。
図16は、エンジン1の運転中にエンジン1の運転条件がプレイグニッション発生域に入ったときに放電持続時間、偏差ΔT及び積算偏差Tσがどのように変化するのかをモデルで示した第4実施形態の場合のタイミングチャートである。ここでは、t31のタイミングからt33のタイミングまでの期間で、例えば熱面着火域に入ったとする。参考のため、図10第3段目をそのまま図16第1段目に記載している。
図16のタイミングチャートは第2実施形態の図12のタイミングチャートと置き換わるものである。ただし、図12のタイミングチャートにあったエンジン回転速度Neとエンジントルクの動きが削除され、代わりに、放電持続時間の積算偏差Tδの動きが図16第3段目に追加されている。すなわち、図16第3段目には正常燃焼の場合の放電持続時間の積算偏差Tσの動きと、予兆プレイグニッションの場合の放電持続時間の積算偏差Tσの動きとを重ねて示している。この放電持続時間の積算偏差Tσのデータにはバラツキがあるので、図示のように上下に小刻みに振動している。
さて、熱面着火域でも、正常燃焼から予兆プレイグニッションに移行しなければ、つまり正常燃焼の場合には放電持続時間の生値が上下に振れつつ変化するものの、放電持続時間の積算偏差Tσはあるレベルから動くことはない。したがって、正常燃焼の場合に放電持続時間の積算偏差Tσが予兆プレイグニッション判定閾値を横切って下回ることはない。
一方、熱面着火域で正常燃焼から予兆プレイグニッションに移行する場合には、放電持続時間の積算偏差Tσがt31のタイミングから低下してゆき、t32のタイミングで予兆プレイグニッション判定閾値を横切って低下するため、予兆プレイグニッションフラグがゼロから1に切換わる。
放電持続時間の偏差ΔTの場合には、上記図12に示したようにt13のタイミングで放電持続時間の偏差ΔTが予兆プレイグニッション判定閾値を横切って上昇した。しかしながら、放電持続時間の偏差を積算した値である積算偏差Tであればこうした事態は起こらない。これは、予兆プレイグニッションが生じた状態で、放電持続時間Tが安定したら、放電持続時間の積算偏差Tσも安定するためである。
第4実形態では、二次電流検出回路によって検出される二次電流(二次側コイルを流れる電流)から、放電持続時間Tをサイクル毎に検出し、サイクル毎に検出される放電持続時間Tの時系列データに対し、単純移動平均(移動平均)の処理を施して単純移動平均値Tave(移動平均値)を求める。そして、この単純移動平均値Taveと今回のサイクルで得られた放電持続時間T1との偏差ΔT1の積算値である積算偏差Tσに基づいて、予兆プレイグニッションが生じているか否かを判定する。これによって、第1実施形態と同様に、バラツキのある放電持続時間に基づいて予兆プレイグニッションを検出する場合であっても、正常燃焼の場合の放電持続時間と予兆プレイグニッションの場合の放電持続時間とを明確に区別することができることとなった。これによって予兆プレイグニッションを精度良く検出することができる。