説明

エンジンの制御装置

【課題】ポートウェットの作用に着目することで燃料性状の判定精度を上げ、始動性能の向上と排気エミッションの低減とを両立させる。
【解決手段】燃料性状が重質燃料か軽質燃料かの判定実施条件が成立するとき、ポートウェットが同程度の点火回数または噴射回数を1処理単位とするポートウェットサイクルを算出し(S5)、このポートウェットサイクルの1処理単位毎に、燃料性状を判定して(S8)噴射量倍率を算出し(S9)、この噴射量倍率で燃料噴射量を補正する(S10)。これにより、燃料性状の判定精度を上げ、始動性能の向上と排気エミッションの低減とを両立させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、燃料性状に応じて燃料噴射量を制御するエンジンの制御装置に関する。
【背景技術】
【0002】
従来、エンジン始動時における回転数挙動から燃料性状を判定し、この燃料性状の判定結果に基づき、燃料噴射制御を好適に実施する技術が知られている。このエンジン回転数の挙動から燃料性状を判定し、燃料噴射量制御に反映する技術は、「重質燃料は揮発性が低いため、燃焼状態はリーンになり回転数挙動は不安定になる。逆に、軽質燃料は揮発性が高いため、燃焼状態はリッチになり回転数挙動は安定する。」といった考えに基づいており、回転数挙動が不安定である場合に重質燃料を使用しているものと判断して燃料噴射量を増量制御する。
【0003】
また、一般のガソリンエンジンにおいては、吸気ポート噴射と呼ばれる燃料噴射が行われており、吸気ポートに配置されたインジェクタからエンジン燃焼室に配置された吸気弁に向けて燃料が噴射されている。このような吸気ポート噴射においては、噴射された燃料の一部が吸気弁や吸気ポートに付着した後、気化してシリンダへ吸入される。気化せずに吸気ポートや吸気弁に付着している燃料は、ポートウェットと呼ばれる。
【0004】
冷態始動時はポート温度が低いために噴射した燃料は十分に気化することが出来ない。燃料気化不足分を補うためにエンジン暖機後に較べ、より多くの燃料を噴射する必要があり、ポートウェットも増すことになる。ポートウェットは次サイクルの燃焼に寄与するので、例えば、4気筒エンジンの場合、エンジン始動初期においては4点火毎(または4噴射毎)に段階的に変化すると考えられる。
【0005】
このポートウェットを考慮して燃料噴射量を補正する技術は、例えば、特許文献1に開示されている。特許文献1の技術では、燃料噴射弁から噴射された燃料がポートウェットとなる割合(付着率)と、壁面に付着した燃料が吸気行程の過程で気化することなくポートウェットのまま残留する割合(残留率)とを用いて、噴射された後の燃料の挙動を表すモデルを作成し、所望の燃料噴射量を精度良く算出するようにしている。
【特許文献1】特開2005−9467号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
市場における燃料の性状は、揮発性の高いもの(軽質燃料性状)から低いもの(重質燃料性状)まで広く分布する。このため、エンジン始動初期の段階、つまりポートウェットの影響が大きく変化する段階では、燃料性状を適正に判断して燃料噴射量を適正にする必要がある。特に、揮発性の低い燃料の場合、シリンダへ流入する混合気がリーンとなり、回転数挙動が不安定となる傾向がある。
【0007】
しかしながら、燃料性状を判定する場合、エンジン始動時の回転数挙動は燃料性状以外の影響も受けることから、前述の考えから逸脱する状況が種々存在する。例えば、インジェクタの油密漏れによって吸気系上流に可燃空気が満たされ、シリンダへ供給される混合気がオーバーリッチになり回転数挙動が不安定になる状況、インジェクタの噴射量ばらつきによって気筒間の空燃比がばらつき、回転数挙動が不安定になる状況、高地においてはエンジンに供給される空気密度が小さいため、十分なパワーが得られず回転数挙動が不安定になる状況、また、機差や経時変化によってエンジンフリクションが異なるため、回転数挙動に相違があること等である。
【0008】
従って、回転数挙動から燃料性状を精度良く判定することは困難であり、燃料性状が誤って判定される可能性がある。燃料性状の誤判定が生じると、燃料噴射量の制御性が悪化し、排気エミッションが悪化する。一方、エンジン始動後、回転数上昇により負圧が高まると、燃料気化が促進され、燃料噴射量を増量する必要性は徐々になくなる。従って、一義的にポートウェットを考慮するのみでは、燃料増量過多となり、排気エミッションが悪化する虞がある。
【0009】
本発明は上記事情に鑑みてなされたもので、ポートウェットの作用に着目することで燃料性状の判定精度を上げ、始動性能の向上と排気エミッションの低減とを両立させることのできるエンジンの制御装置を提供することを目的としている。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明によるエンジンの制御装置は、吸気系に噴射した燃料の燃料噴射量及び噴射回数に応じて変化するポートウェットを検出するポートウェット検出部と、上記ポートウェット検出部によって検出されるポートウェットに関連付けて、使用燃料の燃料性状を燃焼状態から判定する燃料性状判定部と、上記燃料性状判定部によって判定された燃料性状から、上記ポートウェット検出部によって検出されるポートウェットに関連付けて燃料噴射量を補正する燃料噴射量補正部とを備えることを特徴とする。
【発明の効果】
【0011】
本発明によれば、ポートウェットの作用に着目することで燃料性状の判定精度を上げることができ、エンジンの始動性能の向上と排気エミッションの低減とを両立させることができる。
【発明を実施するための最良の形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。図1〜図20は本発明の実施の一形態に係り、図1はエンジン制御系の構成図、図2はメイン処理を示すフローチャート、図3はイニシャル処理のフローチャート、図4は点火回数算出処理のフローチャート、図5は燃焼状態判定結果取得処理のフローチャート、図6は燃料性状判定実施条件成立判定処理のフローチャート、図7はポートウェットサイクル算出処理のフローチャート、図8は燃焼状態判定値算出処理のフローチャート、図9は燃焼状態判定計数算出処理のフローチャート、図10は燃料性状判定処理のフローチャート、図11は噴射量倍率算出処理のフローチャート、図12は学習値書き込み処理のフローチャート、図13は噴射量算出処理のフローチャート、図14は中間燃料の燃料噴射量を基準にした重質燃料及び軽質燃料の噴射量倍率を示す説明図、図15は燃焼状態判定結果の出力タイミングと各処理タイミングとの関係を示す説明図、図16は重質燃料から中間燃料への燃料性状判定パターン時に重質燃料判定されない場合の噴射量倍率減衰係数の挙動を示す説明図、図17は重質燃料から中間燃料への燃料性状判定パターン時に重質燃料判定を繰り返す場合の噴射量倍率減衰係数の挙動を示す説明図、図18は重質燃料から中間燃料への燃料性状判定パターン時に燃料性状学習値更新期間外で減算量を小さくした場合の噴射量倍率減衰係数の挙動を示す説明図、図19は重質燃料から中間燃料への燃料性状判定パターン時に燃料性状学習値更新期間内で0近傍まで減算された場合の噴射量倍率減衰係数の挙動を示す説明図、図20はポートウェットサイクルと燃焼状態検出サイクルとの関係を示す説明図である。
【0013】
図1において、符号1はエンジンであり、このエンジン1のシリンダブロック2に、複数個のシリンダ3(図においては、1個のみを図示)が設けられている。各シリンダ3内には、ピストン4が往復動可能に配設され、ピストン4の頂面とシリンダヘッド5との間で燃焼室6が形成されている。
【0014】
また、シリンダヘッド5には吸気ポート7及び排気ポート8が設けられ、これらポート7,8の一端は燃焼室6へ接続され、他端は吸気通路9及び排気通路10に接続されている。燃焼室6と各ポート7,8との各境界面には、それぞれ、吸気弁11、排気弁12が介装され、これらの吸気弁11及び排気弁12がシリンダヘッド5に配設された弁駆動機構によって往復駆動され、燃焼室6を開閉する。
【0015】
吸気通路9には、その上流側からエアフィルタ(図示せず)、スロットルバルブ13、コレクタ14、吸気マニホールド15が設けられ、吸気マニホールド15が吸気ポート7に接続されている。一方、排気通路10には、その上流側から、排気ポート8に接続される排気マニホールド16、触媒コンバータ(図示せず)が設けられている。触媒コンバータには、不完全燃焼成分であるHC(炭化水素)及びCO(一酸化炭素)の酸化と、空気中の窒素と燃え残りの酸素とが反応して生成されるNox(窒素酸化物)の還元とを同時に促進する三元触媒が収容されている。
【0016】
以上のエンジン1には、各種アクチュエータが備えられている。すなわち、スロットルバルブ13にスロットルアクチュエータ17が連設され、このスロットルアクチュエータ17によってスロットルバルブ13が開閉駆動される。また、吸気マニホールド15には、吸気弁11及び吸気ポート7へ向けて燃料を噴射するインジェクタ18が取り付けられている。
【0017】
更に、シリンダヘッド5には、燃焼室内に取り込んだ混合気に着火するための点火プラグ19と、この点火プラグ19に接続される点火コイル20とが取り付けられている。点火コイル20は、点火時に1次電流の通電が遮断され、その2次電流が点火プラグ19に供給される。
【0018】
また、エンジン1には、各種センサが取り付けられている。すなわち、シリンダブロック2に、エンジン1の冷却水の温度を検出するための水温センサ21が取り付けられ、吸気通路9に、吸入空気量を検出するためのエアフロメータ22、及び吸入空気の温度を検出するための吸気温センサ23が取り付けられている。
【0019】
また、スロットルバルブ13の近傍には、その軸の回転角度を検出するためのスロットル開度センサ24と、スロットルバルブ13の全閉状態を検出するためのアイドルスイッチ(図示せず)とが配設されている。また、コレクタ14には、その内部の圧力を検出するための吸気圧センサ25が取り付けられている。
【0020】
また、排気マニホールド16には、排ガス中の酸素濃度(或いは、未燃ガスである一酸化炭素の濃度)に比例して広域で且つリニアな空燃比信号を出力する空燃比(A/F)センサ26が取り付けられている。更に、エンジン1のクランクシャフトの近傍には、エンジン回転数を検出するためのクランク角センサ27が配設されている。
【0021】
次に、エンジン1の電子制御系について説明する。本発明に係る電子制御系は、燃焼状態検出装置30及びエンジン制御装置(ECU)50によって代表される。以下、これらの装置について説明する。
【0022】
燃焼状態検出装置30は、点火コイル20の2次巻線側に接続されるイオン電流検出回路31と、イオン電流検出回路31の出力であるイオン電流挙動を基に燃焼状態を判定する燃焼状態判定部32とを備えて構成されている。燃焼状態検出装置30とECU50とは、互いに通信可能に接続され、燃焼状態判定部32での燃焼状態の判定結果がECU50に送信される。
【0023】
ECU50は、CPU,ROM,RAM,バックアップRAM等から成るマイクロコンピュータを中心に構成されている。ECU50は、前述の各種センサ、スイッチ、及び燃焼状態検出装置30からの信号を入力し、ROM内のプログラムに従ってエンジン制御を実行する。尚、バックアップRAMは、バッテリからの給電によりイグニッションスイッチのオフ時にも記憶内容を保持するメモリであり、各種学習値が記憶保持されている。
【0024】
ここで、ECU50によるエンジン制御について、代表的な制御、すなわち、点火時期制御、吸入空気量制御、燃料噴射制御について説明する。
【0025】
点火時期制御においては、ECU50は、各種センサ、スイッチの信号を参照してROM内のプログラムに従い最適な点火時期を演算し、その点火時期を実現する点火コイル通電期間をクランク角タイミングに換算する。そして、クランク角タイミングに基づいて、点火コイル20の1次側コイルに通電信号を送る。尚、冷態始動時は、触媒早期活性のために点火時期は遅角側に制御される。
【0026】
吸入空気量制御においては、ECU50は、各種センサ、スイッチの信号、及び機関冷却水温度から決定されるアイドル目標回転数を参照し、ROM内のプログラムに従い目標回転数を維持することのできる吸入空気量を演算する。そして、その吸入空気量を実現するスロットル開度にスロットルアクチュエータ17を駆動する。尚、冷態始動時は触媒早期活性のために、暖機後アイドル回転数よりも高いファーストアイドル回転数を目標回転数に設定する。
【0027】
燃料噴射制御においては、ECU50は、燃焼状態検出装置30からの燃焼状態に基づいて判定した燃料性状の判定結果と各種センサ,スイッチの信号とを参照してROM内のプログラムに従い燃料噴射量を演算し、その燃料噴射量を実現するインジェクタ駆動期間をクランク角タイミングに換算する。そして、そのクランク角タイミングに基づいて、インジェクタ18に駆動信号を送る。尚、この燃料噴射制御には、A/Fセンサ26の空燃比信号を利用し、空燃比が所定値となる様に燃料噴射量をフィードバック制御する空燃比フィードバック制御を含む。
【0028】
燃料噴射制御におけるECU50の本発明に係る機能は、気化せずに吸気系に付着する燃料(ポートウェット)を検出するポートウェット検出部51、燃焼状態検出装置30からの燃焼状態判定結果に基づき燃料性状を判定する燃料性状判定部52、燃料性状判定部52で判定された燃料性状からポートウェットに関連付けて燃料噴射量を補正する燃料噴射量補正部53によって代表することができる。燃料性状判定部52で判定された燃料性状は学習され、学習値がバックアップRAMに記憶保持される。
【0029】
これらのポートウェット検出部51,燃料性状判定部52,燃料噴射量補正部53の各機能は、具体的には、図2〜図13のフローチャートに示すプログラム処理によって実現される。次に、図2〜図13のフローチャートに従って各部の機能を詳述する。
【0030】
図2は本発明に係る制御全体を示すメイン処理を示しており、ステップS2とステップS5がポートウェット検出部51に、ステップS3とステップS6〜S8が燃料性状判定部52に、ステップS9〜ステップS11が燃料噴射量補正部53に相当する。このメイン処理における各ステップの詳細は、それぞれ、図3〜図13のフローチャートに示される。
【0031】
このメイン処理の流れは、ステップS1でイニシャル処理を行い、ステップS2で点火回数を算出し、ステップS3で、燃焼状態検出装置30から燃焼状態判定結果を取得する。次に、ステップS4で燃料性状が重質燃料か軽質燃料かの判定実施条件が成立するか否かを調べ、条件不成立時はステップS11の噴射量算出処理へ移行し、条件成立時、ステップS5のポートウェットサイクル算出処理へ進む。
【0032】
尚、フローチャート中の条件成立を判断するステップにおいて、Tは条件成立(真)、Fは条件不成立(偽)を示している。
【0033】
後述するように、ポートウェットサイクルは、ポートウェットが同程度の点火回数または噴射回数を1処理単位とするものであり、このポートウェットサイクルの1処理単位毎に、ステップS6〜S9の各処理(燃焼状態判定値の算出、燃焼状態判定計数の算出、燃料性状判定、噴射量倍率の算出)が実行され、ステップS10の燃料性状の学習値のバックアップRAMへの書き込み、ステップS11の燃料噴射量の算出処理を経て、メイン処理が終了する。以下、このメイン処理の各ステップの内容について、詳細に説明する。
【0034】
[イニシャル処理]
図2のメイン処理では、最初のステップS1でイニシャル処理を行う。このイニシャル処理は、エンジン始動初期から使用燃料に見合った適正な燃料噴射量とするための処理であり、過度に燃料噴射量を少なくすることを避けることで始動性能の悪化を回避し、排ガス性能の悪化を防止する。
【0035】
すなわち、一般に、エンジン始動初期の燃料噴射量は、始動性能を確保するために、最も噴射量が多い重質燃料使用時の噴射量を用いる。つまり、重質燃料よりも噴射量が少なくて済む中間燃料または軽質燃料使用時は排ガス性能が悪化する。従って、ステップS1のイニシャル処理では、エンジン始動前に燃料性状の学習値を読み込み、エンジン始動初期から使用燃料に見合った適正な燃料噴射量とすることで、排ガス性能の悪化を防ぐ。
【0036】
但し、学習値の書き換え経験がない場合には、最も噴射量の多い重質燃料を選択し、学習値が軽質燃料の場合には、前回の始動においてインジェクタ油密漏れの影響を受けている可能性がある(インジェクタ油密漏れによって吸気系上流に可燃空気が満たされ、吸気系上流の空気が掃気されるまでリッチな混合気がシリンダ内に供給されることがある)ため、最も噴射量の少ない軽質燃料を避け、平均的な噴射量である中間燃料を選択することで、始動性能の悪化を防止する。
【0037】
詳細には、イニシャル処理は図3に示す手順に従って実行される。先ず、イグニッションスイッチのオン時にエンジン始動時水温(イグニッションスイッチのオン時のエンジン水温)が下限温度kEXETWL(例えば、kEXETWL=−15°C)と、上限温度kEXETWH(例えば、kEXETWH=30°C)との設定範囲内である条件をチェックする(ステップS1−1)。この条件は、温度に対する燃料の揮発性が燃料性状によって異なるため、エンジン冷却水温度を参照し、燃料性状によって燃料噴射量に顕著な差が生じる温度帯を燃料性状の学習値に反映させるための条件である。
【0038】
その結果、ステップS1−1での条件不成立時は、噴射量倍率tauampを1.0にセットし(ステップS1−6)、イニシャル処理を終了する。尚、噴射量倍率tauampは、中間燃料使用時の燃料噴射量を基準(中間燃料の噴射量倍率tauamp=1.0)として、燃料性状に応じて燃料噴射量を増減するための倍率である。
【0039】
一方、ステップS1−1での条件成立時には、種々のパラメータに適正な値をセットし(ステップS1−2)、ステップS1−3へ移行する。各パラメータについての詳細は後述するが、ステップS1−2の処理は、主として、カウンタやフラグの初期化、判定値、判定値に対する経験回数、係数等への初期値のセット等の処理であり、また、ポートウェットサイクルwetcycleを1にセットする。ポートウェットサイクルwetcycleは、ポートウェットが同程度の点火回数または噴射回数を1処理単位とするものであり、後述するステップS5の処理で算出される。
【0040】
ステップS1−3では、燃料性状の判定結果である燃料性状判定値fuelを学習した学習値fuel_buramに対して、バックアップRAMでの書き換え経験有りの条件をチェックする。本実施の形態では、fuel=1を軽質燃料、fuel=2を中間燃料、fuel=3を重質燃料としている。
【0041】
ステップS1−3の条件が成立する場合(書き換え経験有り)、前回の始動における燃料性状判定結果をチェックし(ステップS1−4)、その結果、前回の始動における燃料性状判定結果が中間燃料または軽質燃料(fuel_buram≦2)の場合には、使用燃料に中間燃料を指定する(ステップS1−5)。そして、噴射量倍率tauampに、中間燃料の噴射量倍率1.0をセットし(ステップS1−6)、イニシャル処理を終了する。
【0042】
一方、ステップS1−3或いはステップS1−4の条件が不成立の場合には、使用燃料に重質燃料を指定し(ステップS1−7)、噴射量倍率tauampに、予め設定されているwetcycle=1の重質燃料の噴射量倍率tHEAVYAMPをセットした後(ステップS1−8)、イニシャル処理を終了する。重質燃料に対して予め設定される噴射量倍率tHEAVYAMPは、例えば図14に示すように、ポートウェットサイクル毎に設定され、ステップS1−8では、wetcycle=1の噴射量倍率tHEAVYAMP=1.18により、tauamp=1.18にセットされる。
【0043】
[点火回数の算出処理]
次に、図2のメイン処理のステップS2へ進み、点火回数cntigexeを算出する。詳細には、図4に示すように、点火信号出力毎に、点火回数カウンタcntigexeをインクリメントし(ステップS2−1)、ステップS2の処理を抜ける。
【0044】
前述したように、本実施の形態においては、燃焼室内の混合気が燃焼することにより生ずるイオンの量に応じたイオン電流を検出するイオン電流検出回路31と、イオン電流挙動から燃焼状態を判定する燃焼状態判定部32からなる燃焼状態検出装置30を、ECU50と別体の構成として通信を行うようにしている。燃焼状態検出装置30は、点火タイミングに同期して燃焼状態判定結果をECU50へ出力する(図15参照)。
【0045】
[燃焼状態判定結果の取得処理]
次のステップS3は、燃焼状態判定結果を取得する処理であり、詳細は図5に示される。この燃焼状態判定結果の取得は、TDC−120degの演算周期毎に、燃焼状態検出装置30からの燃焼状態判定結果をAD変換し、変数ionadに格納した後(ステップS3−1)、ステップS3の処理を抜けてステップS4へ進む。
【0046】
[燃料性状判定実施条件の判定処理]
ステップS4は、「燃料性状判定実施条件」の成立を判定する処理であり、詳細は図6に示される。この条件判定はTDC−40deg演算周期毎に実施され、「エンジン始動時水温が下限温度kEXETWL(例えば、kEXETWL=−15°C)と上限温度kEXETWH(例えば、kEXETWH=30°C)の範囲内」で、且つ「空燃比フィードバック実施経験なし」の条件をチェックする(ステップS4−1)。
【0047】
すなわち、温度に対する燃料の揮発性は燃料性状によって異なる。また、エンジン始動後十数秒後にはA/Fセンサが活性化し、空燃比フィードバック制御が開始すると、空燃比フィードバック制御による燃料噴射量補正と燃料噴射量補正部53による燃料性状に基づく燃料噴射量補正が重複することになる。
【0048】
従って、ステップS4−1では、エンジン冷却水温度を参照し、燃料性状によって燃料噴射量に顕著な差が生じる温度帯を燃料性状判定実施条件に設定すると共に、燃料性状判定の実施期間を空燃比フィードバック制御を開始する以前に限定し、燃料噴射量補正が複雑化することを避け、空燃比フィードバック制御による燃料噴射量補正に統一する。
【0049】
そして、ステップS4−1において、条件成立時はステップS5のポートウェットサイクル算出処理へ移行し、条件不成立時はステップS11の噴射量算出処理へ移行する。
【0050】
[ポートウェット算出処理]
先ず、ポートウェット算出処理について説明する。エンジンの冷態始動時は、温度が低く、燃料気化不足分を補うためにエンジン暖機後に較べ、より多くの燃料を噴射する必要があり、ポートウェットも増すことになる。ポートウェットは次サイクルの燃焼に寄与するので、例えば4気筒エンジンの場合、エンジン始動初期においては4点火毎または4噴射毎に段階的に変化する。
【0051】
しかしながら、エンジン回転数の上昇により負圧が発生し、燃料気化が促進されると、燃料噴射量を増量する必要性は徐々になくなり、例えば8点火毎または8噴射毎でポートウェットを把握することができるようになる。従って、ポートウェットが同程度ある点火回数または噴射回数を1処理単位とするポートウェットサイクルwetcycleを定義し、このポートウェットサイクルwetcycleの各1処理単位を、時系列的にwetcycle=1,2,3,・・・のように表現することで、ポートウェットを検出する。
【0052】
この場合、本実施の形態においては、燃焼状態検出装置30から通信によって燃焼状態判定結果がECU50に送信されるため、ECU50側で認識されるwetcycleの各1処理単位と、燃焼状態検出システムから出力される燃焼状態判定結果との対応付けが必要となる。
【0053】
従って、ポートウェットサイクルwetcycleの1処理単位の燃焼状態を検出する期間を更に1処理単位として、燃焼状態検出サイクルwetcycleoutを定義する。すなわち、図20に示すように、wetcycle=1,2,3,…に対して、wetcycleout=1,2,3,…のようにして、ポートウェットサイクルwetcycleの各1処理単位と、ポートウェットサイクルwetcycleの各1処理単位の燃焼状態を検出する期間とを対応付けする。但し、wetcycleout=0は、エンジン始動の初期動作であるエンジンクランキング時に、燃料噴射が実施されていない気筒に対する点火の燃焼状態を検出する期間とする。
【0054】
ここで、燃料噴射が実施されていない気筒に対する点火を「無効点火」と定義し、燃料噴射が実施された気筒に対する点火を「有効点火」と定義すると、wetcycleout=0は「無効点火の燃焼状態判定結果格納期間」であり、wetcycleout=1,2,3・・・は、「wetcycle=1,2,3・・・に対する有効点火の燃焼状態判定結果格納期間」となる。一般の内燃機関において、エンジン始動の初期動作であるエンジンクランキング時に少なくとも1回は無効点火が実施される。
【0055】
具体的には、ポートウェットサイクル算出処理の詳細は、図7に示される。このポートウェットサイクル算出処理は、TDC−40deg演算周期毎に実行され、最初に、点火回数カウンタcontigexeをチェックする(ステップS5−1)。イグニッションスイッチのオン後、初回の点火が実施されたならば、同期用カウンタcntsyncをインクリメントした後(ステップS5−2)、ステップS5−3へ移行する。ステップS5−1の条件不成立時は、本処理を抜ける。
【0056】
図15に示すように、本実施の形態においては、燃焼状態検出装置30からの燃焼状態判定結果の出力タイミングは点火後540degCA相当であるため、燃焼状態検出サイクルwetcycleoutの定義に従い、燃焼状態検出サイクルwetcycleoutのインクリメントタイミングと、燃焼状態判定結果の出力タイミングとの同期を取る必要がある。同様に、ポートウェットサイクルwetcycleの定義に従い、ポートウェットサイクルwetcycleのインクリメントタイミングと噴射タイミングの同期を取る必要もある。
【0057】
従って、本実施の形態では、点火回数を利用する同期用カウンタcntsync、有効点火回数カウンタcntig、及び噴射回数カウンタcntinjを用意し、これらのカウンタに対する設定値を任意に与えることで同期を取るようにしている。このようにすることで、制御内容を変更することなく、燃焼状態を検出する他のシステムへの置き換えが容易になる。
【0058】
ステップS5−3では、同期用カウンタcntsyncを設定値kCNTIGSYNC(例えば、kCNTIGSYNC=5)と比較し、設定値kCNTIGSYNC以上であれば、有効点火回数カウンタcntigをインクリメントした後(ステップS5−4)、ステップS5−5へ移行する。
【0059】
ステップS5−5では、「燃焼状態検出サイクルwetcycleoutが0」または「有効点火回数カウンタcntigが設定値tIXCYCOUTより大きい」条件をチェックする。設定値tIXCYCOUTは、例えば、wetcycleout<40の条件下でtIXCYCOUT=4、wetcycleout≧40の条件下でtIXCYCOUT=8に設定される。
【0060】
そして、条件成立時は有効点火回数カウンタcntigを1にセットし(ステップS5−6)、燃焼状態検出サイクルwetcycleoutをインクリメントした後(ステップS5−7)、ステップS5−8へ移行する。
【0061】
一方、ステップS5−3とステップS5−5の条件不成立時は、ステップS5−8へ移行する。ステップS5−8では、同期用カウンタcntsyncを設定値kCNTINJSYNC(例えば、kCNTINJSYNC=2)と比較し、設定値kCNTINJSYNC以上であれば、噴射回数カウンタcntinjをインクリメントした後(ステップS5−9)、ステップS5−10へ移行する。
【0062】
ステップS5−10では「ポートウェットサイクルwetcycleが1」または「噴射回数カウンタcntinjが設定値tIXCYCより大きい」条件をチェックする。設定値tIXCYCは、例えば、wetcycle<40の条件下でtIXCYC=4、wetcycle≧40の条件下でtIXCYC=8に設定される。
【0063】
そして、条件成立時は、噴射回数カウンタcntinjを1にセットし(ステップS5−11)、ポートウェットサイクルwetcycleをインクリメントした後(ステップS5−12)、本ポートウェットサイクル算出処理を抜け、図2のステップS6の燃焼状態判定値算出処理へ移行する。また、ステップS5−8とステップS5−10の条件不成立時は、本ポートウェットサイクル算出処理を抜けて図2のステップS6の燃焼状態判定値算出処理へ移行する。
【0064】
[燃焼状態判定値の算出処理]
次に、ステップS6の「燃焼状態判定値の算出」について説明する。ステップS6の燃焼状態判定値算出処理の詳細は図8に示され、TDC−40deg演算周期毎に実行される。
【0065】
図8の燃焼状態判定値算出処理では、燃焼状態判定結果のAD変換値ionadを制御所望の数値に置き換え、燃焼状態を判別するための燃焼状態判定値ionに格納した後(ステップS6−1)、ステップS6−2へ移行する。本実施の形態では、燃焼状態判定値ionの値として、6を正常の燃焼、6よりも大きい値をリーン側の燃焼、6よりも小さい値をリッチ側の燃焼、0を失火または不明とする。
【0066】
尚、AD変換値ionadは、前述のステップS3で燃焼状態検出装置30から出力された燃焼状態判定結果をAD変換し、変数ionadに格納したものであり、燃焼状態検出装置30から出力された燃焼状態判定結果のAD変換値ionadを制御所望の数値に置き換える処理を用意することで、制御内容を変更することなく、他の燃焼状態を検出するシステムへの置き換えが容易になる。
【0067】
次のステップS6−2では、燃焼状態判定値ionをチェックし、失火または不明を表す0でなければ、以下の(1)式に示すなまし演算を行ってなまし燃焼状態判定値ionsmを算出し(ステップS6−3)、本処理を抜ける。また、ステップS6−2においてion≠0である条件の不成立時は、本処理を抜ける。
ionsm(n)=ionsm(n−1)×(1−kIOMSM)+ion×kIONSM …(1)
但し、kIONSM:なまし係数(例えば、kIONSM=0.5)
【0068】
この燃焼状態判定値ionのなまし演算を行うことにより、気筒間の燃焼状態のばらつきによる影響や燃料噴射量の部分的な適合ずれによる影響を緩和し、燃料性状の誤判定頻度を軽減させて燃料性状判定の信頼性を向上することができる。
【0069】
[燃焼状態判定計数の算出処理]
次に、以上のステップS6の「燃焼状態判定値の算出」に続いて実行されるステップS7の「燃焼状態判定計数の算出処理」について説明する。
【0070】
本実施の形態においては、燃焼状態判定値ionに対して、燃焼状態検出サイクルwetcycleoutの1処理単位毎に、重質燃料使用時のリーン燃焼状態を表す閾値を、2段階(Lowレベル,Hiレベル)の閾値tIONL_L,tIONH_Lで設定し、また、軽質燃料使用時のリッチ燃焼状態を表す閾値を、2段階(Lowレベル,Hiレベル)の閾値tIONL_R、tIONH_Rで設定する。そして、燃焼状態検出サイクルwetcycleoutの1処理単位毎に、リーン燃焼状態を表す閾値以上またはリッチ燃焼状態を表す閾値以下である経験回数を各設定閾値で分類し、計数する。
【0071】
燃焼状態判定値ionに対する閾値の設定例を、以下の(a),(b)に示す。
(a)重質燃料使用時のリーン燃焼状態を表す閾値
wetcycleout=0のとき、tIONL_L=100
tIONH_L=100
wetcycleout≠0のとき、tIONL_L=8
tIONH_L=10
(b)軽質燃料使用時のリッチ燃焼状態を表す閾値
wetcycleout=0のとき、tIONL_R=100
tIONH_R=100
wetcycleout≠0のとき、tIONL_R=4
tIONH_R=2
【0072】
同様に、もう一つのなまし燃焼状態判定値ionsmに対しては、燃焼状態検出サイクルwetcycleoutの1処理単位毎に、重質燃料使用時のリーン燃焼状態を表す閾値及び軽質燃料使用時のリッチ燃焼状態を表す閾値を、それぞれ1段階の閾値tIONSM_L,tIONSM_Rで設定する。そして、燃焼状態検出サイクルwetcycleoutの1処理単位毎に、リーン燃焼状態を表す閾値以上またはリッチ燃焼状態を表す閾値以下である経験回数を設定閾値で分類し、計数する。
【0073】
なまし燃焼状態判定値ionsmに対する閾値の設定例を、以下の(c),(d)に示す。
(c)重質燃料使用時のリーン燃焼状態を表す閾値
wetcycleout=0のとき、tIONSM_L=100
wetcycleout≠0のとき、tIONSM_L=9
(d)軽質燃料使用時のリッチ燃焼状態を表す閾値
wetcycleout=0のとき、tIONSM_R=100
wetcycleout≠0のとき、tIONSM_R=3
【0074】
尚、以上の閾値tIONL_L,tIONH_L,tIONL_R,tIONH_R,tIONSM_L,tIONSM_Rは、環境温度によって燃料性状判定パターンが顕著に異なる場合には、燃焼状態検出サイクルwetcycleoutとエンジン冷却水温との2次元マップから設定するようにしても良い。
【0075】
以上が「燃焼状態判定値計数の算出処理」の概要であり、詳細な手順は図9に示される。この処理は、TDC−40deg演算周期毎に実行され、先ず、前回の燃焼状態検出サイクルwetcycleout(n−1)と今回の燃焼状態検出サイクルwetcycleout(n)を比較し、両者が等しくない条件が成立するか否かを判定する(ステップS7−1)。
【0076】
その結果、wetcycleout(n−1)≠wetcycle(n))の条件成立時は、燃焼状態判定値ion,ionsmに対するリーン側の経験回数である燃焼状態判定計数ionh_lcnt,ionl_lcnt、ionsm_lcnt、及びリッチ側の経験回数である燃焼状態判定計数ionh_rcnt,ionl_rcnt、ionsm_rcntをリセットした後(ステップS7−2)、ステップS7−3へ移行する。また、ステップS7−1の条件不成立時は、ステップS7−1からステップS7−3へ移行する。
【0077】
ステップS7−3では、燃焼状態判定値ionをチェックし、失火または不明を表す0でなければ、ステップS7−4へ移行する。ステップS7−3の条件不成立時(ion=0)は本処理を抜ける。
【0078】
ステップS7−4では、燃焼状態判定値ionとリーン燃焼状態を表す2段目の閾値(Hiレベル)tIONH_Lを比較し、当閾値以上であれば、リーン燃焼状態を表す2段目(Hiレベル)の閾値tIONH_Lに対する計数ionh_lcntと1段目(Lowレベル)の閾値tIONL_Lに対する計数ionl_lcntとを、それぞれインクリメントし(ステップS7−5)、ステップS7−12へ移行する。
【0079】
ステップS7−4の条件不成立時は、燃焼状態判定値ionとリーン燃焼状態を表す1段目(Lowレベル)の閾値tIONL_Lを比較し(ステップS7−6)、当閾値以上であれば、当閾値に対する計数ionl_lcntをインクリメントし(ステップS7−7)、ステップS7−12へ移行する。
【0080】
ステップS7−6の条件不成立時は、燃焼状態判定値ionとリッチ燃焼状態を表す2段目(Hiレベル)の閾値tIONH_Rを比較し(ステップS7−8)、当閾値以下であれば、リッチ燃焼状態を表す2段目(Hiレベル)の閾値tIONH_Rに対する計数ionh_rcntと1段目(Lowレベル)の閾値tIONL_Rに対する計数ionl_rcntとを、それぞれインクリメントし(ステップS7−9)、ステップS7−12へ移行する。
【0081】
ステップS7−8の条件不成立時は、燃焼状態判定値ionとリッチ燃焼状態を表す1段目(Lowレベル)の閾値tIONL_Rを比較し(ステップS7−10)、当閾値以下であれば、当閾値に対する計数ionl_rcntをインクリメントし(ステップS7−11)、ステップS7−12へ移行する。ステップS7−10の条件不成立時は、ステップS7−12へ移行する。
【0082】
ステップS7−12では、なまし燃焼状態判定値ionsmとリーン燃焼状態を表す閾値tIONSM_Lを比較し、当閾値以上であれば、当閾値に対する計数ionsm_lcntをインクリメントし(ステップS7−13)、本処理を抜ける。
【0083】
ステップS7−12の条件不成立時は、なまし燃焼状態判定値ionsmとリッチ燃焼状態を表す閾値tIONSM_Rを比較し(ステップS7−14)、当閾値以下であれば、当閾値に対する計数ionsm_rcntをインクリメントし(ステップS7−15)、本処理を抜けて図2のステップS8へ進む。ステップS7−14の条件不成立時は、本処理を抜けて図2のステップS8へ進む。
【0084】
[燃料性状の判定処理]
次に、以上のステップS7の「燃焼状態判定計数の算出処理」に続いて、ステップS8へ進み、「燃料性状の判定処理」が実行される。この燃料性状の判定処理では、燃焼状態検出サイクルwetcycleoutの1処理単位毎に、前述の各閾値で分類した計数結果(燃焼状態判定計数)と、各閾値に対する重質燃料使用時または軽質燃料使用時の計数判定値とを比較し、計数結果が重質燃料使用時の計数判定値以上の場合、使用燃料が重質燃料であると判定し、計数結果が軽質燃料使用時の計数判定値以上の場合、使用燃料が軽質燃料であると判定する。
各計数判定値の設定例を、以下の(1)〜(6)に示す。
【0085】
(1)リーン側Hiレベル経験回数に対する重質燃料の判定値(計数ionh_lcntに対する計数判定値tIONH_LCNT)
wetcycleout=0のとき、 tIONH_LCNT=100
wetcycleout≦40のとき、 tIONH_LCNT=2
wetcycleout>40のとき、 tIONH_LCNT=3
【0086】
(2)リーン側Lowレベル経験回数に対する重質燃料の判定値(計数ionl_lcntに対する計数判定値tIONL_LCNT)
wetcycleout=0のとき、 tIONL_LCNT=100
wetcycleout≦40のとき、 tIONL_LCNT=3
wetcycleout>40のとき、 tIONL_LCNT=5
【0087】
(3)なまし後のリーン側経験回数に対する重質燃料の判定値(計数ionsm_lcntに対する計数判定値tIONSM_LCNT)
wetcycleout=0のとき、 tIONSM_LCNT=100
wetcycleout≦40のとき、 tIONSM_LCNT=2
wetcycleout>40のとき、 tIONSM_LCNT=3
【0088】
(4)リッチ側Hiレベル経験回数に対する軽質燃料の判定値(計数ionh_rcntに対する計数判定値tIONH_RCNT)
wetcycleout=0のとき、 tIONH_RCNT=1
wetcycleout≦40のとき、 tIONH_RCNT=2
wetcycleout>40のとき、 tIONH_RCNT=3
【0089】
(5)リッチ側Lowレベル経験回数に対する軽質燃料の判定値(計数ionl_rcntに対する計数判定値tIONL_RCNT)
wetcycleout=0のとき、 tIONL_RCNT=1
wetcycleout≦40のとき、 tIONL_RCNT=3
wetcycleout>40のとき、 tIONL_RCNT=5
【0090】
(6)なまし後のリッチ側経験回数に対する軽質燃料の判定値(計数ionsm_rcntに対する計数判定値tIONSM_RCNT)
wetcycleout=0のとき、 tIONSM_RCNT=1
wetcycleout≦40のとき、 tIONSM_RCNT=2
wetcycleout>40のとき、 tIONSM_RCNT=3
【0091】
尚、以上の各判定値tIONH_LCNT,tIONL_LCNT,tIONSM_LCNT,tIONH_RCNT,tIONL_RCNT,tIONSM_RCNTは、環境温度によって燃料性状判定パターンが顕著に異なる場合には、燃焼状態検出サイクルwetcycleoutとエンジン冷却水温との2次元マップから設定するようにしても良い。
【0092】
詳細には、燃料性状の判定処理は、TDC−40deg演算周期毎に、図10に示す手順に従って実行される。
【0093】
すなわち、先ず、燃焼状態判定値ionをチェックし(ステップS8−1)、失火または不明を表す0でなければ、ステップS8−2へ移行する。また、ステップS8−1の条件不成立時は、正常燃焼を示す正常燃焼判定フラグxcombをリセットした後(ステップS8−9)、本判定処理を抜ける。
【0094】
ステップS8−2では、燃焼状態判定値ion,ionsmに対して、重質燃料使用時のリーン燃焼状態を表す各閾値で分類した計数結果ionh_lcnt,ionl_lcnt,ionsm_lcntを、各閾値における重質燃料の計数判定値tIONH_LCNT,tIONL_LCNT,tIONSM_LCNTとそれぞれ比較する。そして、当計数判定値以上ならば、使用燃料が重質燃料であると判定して燃料性状判定値fuelに3をセットし(ステップS8−3)、ステップS8−7へ移行する。
【0095】
ステップS8−2の条件不成立時は、燃焼状態判定値ion,ionsmに対する軽質燃料使用時のリッチ燃焼状態を表す各閾値で分類した計数結果ionh_rcnt,ionl_rcnt,ionsm_rcntを、各閾値における軽質燃料の計数判定値tIONH_RCNT,tIONL_RCNT,tIONSM_RCNTとそれぞれ比較する(ステップS8−4)。そして、当計数判定値以上ならば、使用燃料が軽質燃料であると判定して燃料性状判定値fuelに1をセットし(ステップS8−5)、ステップS8−7へ移行する。ステップS8−4の条件不成立時は前回の燃料性状を保持し、正常燃焼判定フラグxcombをセットした後(ステップS8−6)、本処理を抜ける。
【0096】
ステップS8−7では、燃焼状態検出サイクルwetcycleoutが0以外のときに、前回の燃料性状判定値fuel(n−1)と今回の燃料性状判定値fuel(n)とを比較し、重質燃料から軽質燃料に、または軽質燃料から重質燃料に変化したならば、燃料性状判定値fuelに2をセットして燃料性状を中間燃料とし(ステップS8−8)、正常燃焼判定フラグxcombをリセットした後(ステップS8−9)、本処理を抜ける。ステップS8−7の条件不成立時は、正常燃焼判定フラグxcombをリセットした後(ステップS8−9)、本処理を抜ける。
【0097】
以上のステップS8−7における燃料性状判定値fuelの条件は、前回の燃料性状判定結果が誤判定か否かを認識し、誤判定である場合に復帰を行うための条件である。すなわち、燃料性状が重質燃料であると判定されると、燃料噴射量を増量させる方向に補正が働く。増量補正の結果、軽質燃料と判定された場合は補正が適正ではないことから、燃料性状を中間燃料に判定し直す。逆もまた同様に、燃料性状が軽質燃料であると判定されると燃料噴射量を減量させる方向に補正が働く。減量補正の結果、重質燃料と判定された場合は補正が適正ではないことから、燃料性状を中間燃料に判定し直す。
【0098】
また、ステップS8−7における「wetcycleout≠0」の条件は、インジェクタの油密漏れによって吸気系上流に可燃空気が満たされ、無効点火によって燃焼した場合に、軽質燃料を選択させてオーバーリッチを回避するための条件である。すなわち、wetcycleout=0は、「無効点火の燃焼状態判定結果格納期間」を指し、wetcycleout=0の期間に燃焼状態検出装置30から失火または不明を表す0以外の燃焼状態判定結果が得られた場合、つまりインジェクタの油密漏れによって吸気系上流に可燃空気が満たされ、無効点火によって燃焼した場合に、燃料性状の学習値に拘らず、最も燃料噴射量が少ない軽質燃料を選択することで、オーバーリッチを回避する。
【0099】
以上のように、ステップS7,S8の処理においては、燃焼状態判定値を分類する複数の閾値と、これら閾値に対して計数判定値を燃焼状態検出サイクルwetcycleoutの1処理単位毎に適切に設定することで、燃焼状態検出サイクルwetcycleoutの1処理単位毎に適した燃料性状判定パターンを作成することができ、気筒間の燃焼状態のばらつきの影響を緩和し、燃焼状態検出サイクルwetsycleoutの1処理単位における的確な燃料性状を判定することができる。
【0100】
また、燃料性状によって燃料噴射量に顕著な差が生じるエンジン始動初期において、燃料噴射量の部分的な適合ずれによる燃料性状の誤判定が生じても、燃焼状態検出サイクルwetsycleoutの1処理単位毎に複数回の燃料性状判定が実施されるため、誤判定から復帰することができ、燃料性状判定結果の信頼性を向上することができる。
【0101】
[噴射量倍率の算出処理]
次に、ステップS9における噴射量倍率tauampの算出処理について説明する。本実施の形態においては、中間燃料使用時の燃料噴射量を基準(中間燃料の噴射量倍率tauampは1.0)として、ポートウェットサイクルwetcycleの1処理単位毎に重質燃料及び軽質燃料の噴射量倍率を予め設定し、先のステップS8で判定された燃料性状に基づいて噴射量倍率を算出することで、燃料性状によって燃料噴射量に顕著な差が生じるエンジン始動初期及びファーストアイドル時における緻密な燃料噴射量補正を可能とする。
【0102】
更に、ステップS8で判定された燃料性状が重質燃料の場合は、重質燃料の噴射量倍率と中間燃料の噴射量倍率との間で、後述する噴射量倍率減衰係数tauampdmpを用いて徐々に中間燃料の噴射倍率の反映率を上げるなまし演算を行う。中間燃料の噴射量倍率に収束した時点では、燃料性状を中間燃料に更新する。
【0103】
以上が「噴射量倍率の算出」の概要説明であり、詳細な手順は、図11に示されるフローチャートに従って実施される。この処理はTDC−40deg演算周期毎に実施され、先ず、燃焼状態判定値ionをチェックする(ステップS9−1)。そして、失火または不明を表す0でなければ、ステップS9−2へ移行し、ステップS9−1の条件不成立時は、ステップS9−8へ移行する。
【0104】
ステップS9−2では、「正常燃焼判定フラグがセット状態(xcomb=1)」で、且つ「燃料性状が重質燃料(fuel=3)」である条件をチェックする。ステップS9−2の条件不成立時は、噴射量倍率減衰係数tauampdmpを1.0にセットし(ステップS9−7)、ステップS9−8へ移行する。
【0105】
一方、ステップS9−2の条件成立時は、噴射量倍率減衰係数tauampdmpを設定値tTAUAMPDMPずつ減算し(ステップS9−3)、減算結果をチェックする(ステップS9−4)。設定値tTAUAMPDMPは、ポートウェットサイクルの1処理単位毎に設定され、例えば、wetcycle≦10の条件下では、tTAUAMPDMP=0.125に設定され、wetcycle>10の条件下では、tTAUAMPDMP=0.084に設定される。
【0106】
尚、環境温度によって重質燃料の噴射量倍率と軽質燃料の噴射量倍率とが顕著に変化する場合には、設定値tTAUAMPDMPをポートウェットサイクルwetcycleとエンジン冷却水温との2次元マップから設定するようにしても良い。
【0107】
ステップS9−4のチェックで噴射量倍率減衰係数tauampdmpの減算結果が0以下の場合には、噴射量倍率減衰係数tauampdmpを1.0にセットし(ステップS9−5)、燃料性状判定値fuelを中間燃料(fuel=2)に更新し(ステップS9−6)、ステップS9−8へ移行する。ステップS9−4の条件不成立時はステップS9−8へ移行する。
【0108】
ステップS9−8では、燃料性状が重質燃料であるか(fuel=3)をチェックする。その結果、重質燃料ならば、予め設定されている重質燃料の噴射量倍率tHEAVYAMPに、以下の(2)式に示すように噴射量倍率減衰係数tauampdmpを用いたなまし演算を行って噴射量倍率tauampを算出し(ステップS9−9)、本処理から抜ける。
tauamp=1.0×(1−tauampdmp)+tHEAVYAMP×tauampdmp …(2)
【0109】
重質燃料に対して予め設定される噴射量倍率tHEAVYAMPは、図14に実線で示すように、中間燃料の噴射量倍率を1.0として、ポートウェットサイクルwetcycle毎に予め設定されている。尚、環境温度によって重質燃料の噴射量倍率が顕著に変化する場合には、ポートウェットサイクルwetcycleとエンジン冷却水温との2次元マップから噴射量倍率tHEAVYAMPを設定するようにしても良い。
【0110】
一方、ステップS9−8の条件不成立時は、燃料性状が中間燃料であるか(fuel=2)をチェックし(ステップS9−10)、中間燃料ならば、噴射量倍率減衰係数tauampdmpに1.0をセットし(ステップS9−11)、本処理を抜ける。ステップS9−10の条件不成立時は、軽質燃料の噴射量倍率を予め設定されている噴射量倍率tLIGHTAMPとし(ステップS9−12)、本処理を抜ける。
【0111】
軽質燃料に対して予め設定される噴射量倍率tLIGHTAMPは、図14に破線で示すように、中間燃料の噴射量倍率を1.0として、ポートウェットサイクルwetcycle毎に予め設定されている。尚、環境温度によって軽質燃料の噴射量倍率が顕著に変化する場合には、ポートウェットサイクルwetcycleとエンジン冷却水温との2次元マップから噴射量倍率tLIGHTAMPを設定するようにしても良い。
【0112】
以上の噴射量倍率算出処理においては、最も燃料噴射量が多い重質燃料の場合、噴射量倍率減衰係数tauampdmpを用いて常に噴射量を減量する方向に制御するため、予め設定された重質燃料と使用燃料の燃料性状が完全に一致せずとも、最適な燃料噴射量に修正することができる。また、噴射量倍率減衰係数tauampdmpが0.0になった時点、つまり中間燃料の燃料噴射量に収束した時点で燃料性状を中間燃料に更新することによって、重質燃料から中間燃料への燃料性状判定パターンとしている。
【0113】
また、上述のステップS9−3における噴射量倍率減衰係数tauampdmpの減算量は、ポートウェットサイクルwetcycleの1処理単位毎に設定可能であり、燃料噴射量に見合った減算量を任意に設定することができる。図16に示すように、燃料性状学習値更新期間(燃料性状学習値更新期間については後述する)内で、噴射量倍率減衰係数tauampdmpが0.0になるように比較的減算量を大きく設定する。
【0114】
つまり、中間燃料の噴射量倍率の反映率を上げていく速度を、ポートウェットサイクルwetcycleの1処理単位毎に変更可能として、エンジン始動初期には比較的速く設定することで、燃料噴射量を減量せしめる時間を短縮し、燃料性状によって燃料噴射量に顕著な差が生じるエンジン始動初期に燃料性状判定を行うことで、判定精度を向上することができる。
【0115】
図16〜図18は、イグニッションスイッチのオン時に読み込んだ燃料性状学習値fuel_buramが重質燃料であったため、噴射量倍率減衰係数tauampdmpの減算処理が実行される例を示している。
【0116】
図16に示す例では、噴射量倍率減衰係数tauampdmpが0.0になるまで減算された結果、燃料性状が中間燃料に更新され、中間燃料の噴射量倍率減衰係数である1.0がセットされる。図17の例では、噴射量倍率減衰係数tauampdmpの減算過程において、再度、燃料性状が重質燃料であると判定される。この場合、噴射量倍率減衰係数tauampdmpは、PI補正的な挙動となり、燃料噴射量も同様な挙動を示すことになる。また、図18の例は、燃料性状学習値更新期間外では、エンジン始動初期に較べ燃料性状によって燃料噴射量に顕著な差が生じないため、噴射量倍率減衰係数tauampdmpの減算量が小さく設定される。
【0117】
[学習値書き込み(バックアップRAM書き込み)処理]
図2のメイン処理においては、以上のステップS9に続いて、ステップS10の学習値fuel_buramのバックアップRAMへの書き込み処理が実行される。
【0118】
この「バックアップRAMの書き込み処理」の詳細は図12に示され、TDC−40deg演算周期毎に、「エンジン回転数が設定値kNEBU(例えば、kNEBU=300)以上」で、且つ「燃焼状態検出サイクルwetcycleoutが設定値kWETBU(例えば、kWETBU=10)以下」で、且つ「状態変化経験なし」の条件をチェックする(ステップS10−1)。そして、ステップS10−1における条件成立時はステップS10−2へ移行し、条件不成立時は本処理を抜ける。
【0119】
ステップS10−2では、「噴射量倍率減衰係数tauampdmpが設定閾値kFUEL2(例えば、kFUEL2=0.2)より大きい」条件をチェックする。条件成立時は、バックアップRAMに今回の燃料性状fuelを学習値fuel_buramとして書き込み(ステップS10−3)、本処理を抜ける。条件不成立時は、バックアップRAMに中間燃料の学習値fuel_buram(fuel_buram=2)を書き込み(ステップS10−4)、本処理を抜ける。
【0120】
精度良く燃料性状を判定するには、燃料性状によって燃料噴射量に顕著な差が生じるエンジン始動初期の期間に限定しなければならない。従って、ステップS10−1では、燃焼状態検出サイクルwetcycleoutの条件によって燃料性状の学習値更新期間を限定するようにしている。また、回転数条件は、エンジン始動の初期動作であるエンジンクランキング期間を除外するためのものである。
【0121】
また、ステップS10−1における「状態変化経験なし」条件の「状態変化」とは、エンジン始動前の電気負荷,エアコン,パワステ等の無負荷状態からこれらの負荷状態が変化したとき、エンジン始動前のアイドル状態からアクセル操作によってアイドル状態が解除されたとき、エンジン始動前の変速機のシフト位置がニュートラル状態からドライブ位置に操作されたときを指しており、状態変化が生じたときには、燃料性状に基づく燃料噴射量補正以外の補正が働き、燃料性状の判定精度を下げるため、状態変化を経験した場合は学習値の更新を禁止する。
【0122】
更に、ステップS10−2の「噴射量倍率減衰係数tauampdmpが設定閾値kFUEL2以下」の条件は、予め設定された中間燃料に近い燃料性状である場合に学習値として記憶保持するための条件である。図19にイグニッションスイッチのオン時に読み込んだ燃料性状学習値fuel_buramが重質燃料であったため、噴射量倍率減衰係数tauampdmpの減算処理が実行される例を再提示する。
【0123】
この例は、噴射量倍率減衰係数tauampdmpの減算過程において、一旦、燃料性状が重質燃料であると判定された後、再度、0.0近傍になるまで減算された例であるが、この様に燃料性状学習値更新期間内で噴射量倍率減衰係数tauampdmpが0.0近傍になる場合は、ステップS10−2の「噴射量倍率減衰係数tauampdmpが設定閾値kFUEL2以下」の条件により、予め設定された中間燃料に近い燃料性状であると判断し、学習値として記憶保持する。
【0124】
[噴射量算出処理]
次に、図2のメイン処理のステップS11の「噴射量の算出」について説明する。この噴射量算出処理の詳細は、図13に示され、TDC演算周期毎に「燃料性状判定実施条件成立」の条件をチェックする(ステップS11−1)。ステップS11−1の条件成立時は、以下に示す(3)式の演算により、燃料噴射量tauoutを算出し(ステップS11−2)、本処理を抜ける。
tauout=tau×tauamp …(3)
但し、tauout:燃料性状補正後の燃料噴射量
tau :中間燃料の燃料噴射量
tauamp:噴射量倍率
【0125】
尚、燃料噴射量tauoutは、(3)式に代えて、以下の(4)式で表現するようにしても良い。
tauout=tp×(Ffb+Fln)×{1+(Fas+Ftw+Fda)×tauamp+ ・・・ }+tv …(4)
但し、tauout:補正後の燃料噴射量
tp :基本噴射量
Ffb :空燃比フィードバック補正係数
Fln :空燃比補正学習値
Fas :中間燃料の始動後増量補正係数
Ftw :中間燃料の水温増量補正係数
Fda :中間燃料の加速増量補正係数
tauamp:噴射量倍率
tv :電圧補正
【0126】
ステップS11−1の燃料性状判定実施条件不成立時、つまり空燃比フィードバック制御開始時には、空燃比フィードバック制御による燃料噴射量補正と燃料性状に基づく燃料噴射量補正とが重複するため、燃料噴射量補正が複雑化することを避け、空燃比フィードバック制御による燃料噴射量補正に統一する。空燃比フィードバック制御の制御性に影響を与えないように、燃料性状に基づく燃料噴射量補正つまり噴射量倍率を徐変し、固定値(1.0)に収束させる。
【0127】
具体的には、噴射量倍率tauampをチェックし(ステップS11−3)、1.0以上である場合は、噴射量倍率tauampから設定値kTAUDMP(例えば、kTAUDMP=0.02)ずつ減算する(ステップS11−4)。ステップS11−4での減算後、再度、噴射量倍率tauampをチェックし(ステップS11−5)、1.0より小さい場合は、噴射量倍率tauampに1.0をセットした後(ステップS11−6)、(3)式の演算を行って燃料噴射量tauoutを算出し(ステップS11−2)、本処理を抜ける。
【0128】
ステップS11−3の条件不成立時は、噴射量倍率tauampに設定値kTAUDMPずつ加算した後(ステップS11−7)、再度、噴射量倍率tauampをチェックする(ステップS11−8)。そして、加算結果が1.0以上の場合は、噴射量倍率tauampに1.0をセットした後(ステップS11−6)、(3)式の演算により燃料噴射量tauoutを算出し(ステップS11−2)、本処理を抜ける。ステップS11−5或いはステップS11−8の条件不成立時は、(3)式の演算により燃料噴射量tauoutを算出し(ステップS11−2)、本処理を抜ける。
【図面の簡単な説明】
【0129】
【図1】エンジン制御系の構成図
【図2】メイン処理を示すフローチャート
【図3】イニシャル処理のフローチャート
【図4】点火回数算出処理のフローチャート
【図5】燃焼状態判定結果取得処理のフローチャート
【図6】燃料性状判定実施条件成立判定処理のフローチャート
【図7】ポートウェットサイクル算出処理のフローチャート
【図8】燃焼状態判定値算出処理のフローチャート
【図9】燃焼状態判定計数算出処理のフローチャート
【図10】燃料性状判定処理のフローチャート
【図11】噴射量倍率算出処理のフローチャート
【図12】学習値書き込み処理のフローチャート
【図13】噴射量算出処理のフローチャート
【図14】中間燃料の燃料噴射量を基準にした重質燃料及び軽質燃料の噴射量倍率を示す説明図
【図15】燃焼状態判定結果の出力タイミングと各処理タイミングとの関係を示す説明図
【図16】重質燃料から中間燃料への燃料性状判定パターン時に重質燃料判定されない場合の噴射量倍率減衰係数の挙動を示す説明図
【図17】重質燃料から中間燃料への燃料性状判定パターン時に重質燃料判定を繰り返す場合の噴射量倍率減衰係数の挙動を示す説明図
【図18】重質燃料から中間燃料への燃料性状判定パターン時に燃料性状学習値更新期間外で減算量を小さくした場合の噴射量倍率減衰係数の挙動を示す説明図
【図19】重質燃料から中間燃料への燃料性状判定パターン時に燃料性状学習値更新期間内で0近傍まで減算された場合の噴射量倍率減衰係数の挙動を示す説明図
【図20】ポートウェットサイクルと燃焼状態検出サイクルとの関係を示す説明図
【符号の説明】
【0130】
1 エンジン
30 燃焼状態検出装置
50 エンジン制御装置
51 ポートウェット検出部
52 燃料性状判定部
53 燃料噴射量補正部
fuel 燃料性状判定値
fuel_buram 燃料性状学習値
ion,ionsm 燃焼状態判定値
tauamp 噴射量倍率
tauampdmp 噴射量倍率減衰係数
tauout 燃料噴射量
wetcycle ポートウェットサイクル
wetcycleout 燃焼状態検出サイクル

【特許請求の範囲】
【請求項1】
吸気系に噴射した燃料の燃料噴射量及び噴射回数に応じて変化するポートウェットを検出するポートウェット検出部と、
上記ポートウェット検出部によって検出されるポートウェットに関連付けて、使用燃料の燃料性状を燃焼状態から判定する燃料性状判定部と、
上記燃料性状判定部によって判定された燃料性状から、上記ポートウェット検出部によって検出されるポートウェットに関連付けて燃料噴射量を補正する燃料噴射量補正部と
を備えることを特徴とするエンジンの制御装置。
【請求項2】
上記ポートウェット検出部は、
上記ポートウェットが同程度である点火回数または噴射回数を1処理単位とするポートウェットサイクルを定義し、該ポートウェットサイクルの1処理単位毎に上記ポートウェットを検出する
ことを特徴とする請求項1に記載のエンジンの制御装置。
【請求項3】
上記ポートウェットサイクルの1処理単位の燃焼状態を検出する期間を更に1処理単位とする燃焼状態検出サイクルを定義して上記ポートウェットサイクルの各1処理単位と上記燃焼状態検出サイクルの各1処理単位とを対応付けし、
上記燃焼状態検出サイクルの開始前を、エンジン始動の初期動作であるエンジンクランキング時に燃料噴射が実施されていない気筒に対する点火の燃焼状態を検出する期間とする
ことを特徴とする請求項2に記載のエンジンの制御装置。
【請求項4】
上記燃料性状判定部は、
上記燃焼状態を数値表現した燃焼状態判定値に対して、重質燃料使用時のリーン燃焼状態を表す閾値以上を経験する回数と、軽質燃料使用時のリッチ燃焼状態を表す閾値以下を経験する回数とを、それぞれ上記燃焼状態検出サイクルの1処理単位毎に計数し、
上記燃焼状態検出サイクルの1処理単位毎に、重質燃料使用時のリーン燃焼状態を表す閾値以上の経験回数が重質燃料の計数判定値以上であれば、重質燃料であると判定し、軽質燃料使用時のリッチ燃焼状態を表す閾値以下の経験回数が軽質燃料の計数判定値以上であれば、軽質燃料であると判定する
ことを特徴とする請求項3に記載のエンジンの制御装置。
【請求項5】
エンジン始動後、初回はエンジン始動前の初期値と上記燃焼状態判定値との間でなまし演算を行った結果を新たな燃焼状態判定値とし、順次、前回のなまし演算結果と今回の燃焼状態判定値との間でなまし演算を行った結果を新たな燃焼状態判定値とする
ことを特徴とする請求項4に記載のエンジンの制御装置。
【請求項6】
重質燃料使用時のリーン燃焼状態を表す閾値及び軽質燃料使用時のリッチ燃焼状態を表す閾値を複数設けた
ことを特徴とする請求項4又は5に記載のエンジンの制御装置。
【請求項7】
上記燃料噴射量補正部は、
重質燃料と軽質燃料との平均的な性状を示す中間燃料使用時の燃料噴射量を基準として上記ポートウェットサイクルの1処理単位毎に重質燃料及び軽質燃料の噴射量倍率を設定し、上記燃料性状判定部によって判定される燃料性状に応じた噴射量倍率に基づいて燃料噴射量を補正する
ことを特徴とする請求項4〜6の何れかに記載のエンジンの制御装置。
【請求項8】
燃料性状が重質燃料から軽質燃料に又は軽質燃料から重質燃料に変化したと判定された場合は、燃料性状を中間燃料に判定し直す
ことを特徴とする請求項7に記載のエンジンの制御装置。
【請求項9】
上記燃焼状態検出サイクルの開始前に上記燃焼状態判定値の値に拘らず失火以外の燃焼状態判定値が得られた場合、上記燃料性状判定部は燃料性状を軽質燃料と判定する
ことを特徴とする請求項7に記載のエンジンの制御装置。
【請求項10】
上記燃料性状判定部によって判定された燃料性状が重質燃料の場合は、重質燃料の噴射量倍率と中間燃料の噴射量倍率との間で徐々に中間燃料の噴射量倍率の反映率を上げていくなまし演算を行い、なまし演算の結果得られた噴射量倍率で燃料噴射量を補正する
ことを特徴とする請求項7〜9の何れかに記載のエンジンの制御装置。
【請求項11】
中間燃料の噴射量倍率に収束した時点で燃料性状を中間燃料に更新する
ことを特徴とする請求項10に記載のエンジンの制御装置。
【請求項12】
エンジンを始動する直前のエンジン冷却水温度を、上記ポートウェット検出部、上記燃料性状判定部、及び上記燃料噴射量補正部の実施条件として設定する
ことを特徴とする請求項1〜11の何れかに記載のエンジンの制御装置。
【請求項13】
上記ポートウェット検出部、上記燃料性状判定部、及び上記燃料噴射量補正部の実施期間を、空燃比フィードバック制御が開始する以前に限定する
ことを特徴とする請求項12に記載のエンジンの制御装置。
【請求項14】
上記燃料噴射量補正部によって空燃比フィードバック制御開始直前までに得られた噴射量倍率を、空燃比フィードバック制御開始以降に徐変させて固定値に収束させる
ことを特徴とする請求項13に記載のエンジンの制御装置。
【請求項15】
エンジンを始動する直前に燃料性状の学習値を読み出して用いる
ことを特徴とする請求項1〜14の何れかに記載のエンジンの制御装置。
【請求項16】
上記燃料性状の学習値を反映する条件としてエンジンを始動する直前のエンジン冷却水温度の範囲を設定し、設定した温度範囲外のときには、上記燃料噴射量補正部による燃料噴射量補正を実施しない
ことを特徴とする請求項15に記載のエンジンの制御装置。
【請求項17】
上記燃料性状の学習値に書き換え経験がない場合は燃料性状に重質燃料を設定し、上記燃料性状の学習値が軽質燃料の場合は燃料性状に重質燃料と軽質燃料との平均的な性状を示す中間燃料を設定する
ことを特徴とする請求項15に記載のエンジンの制御装置。
【請求項18】
上記燃料性状の学習値を更新する期間を、エンジン始動初期の期間に限定する
ことを特徴とする請求項15〜17の何れかに記載のエンジンの制御装置。
【請求項19】
重質燃料と軽質燃料との平均的な性状を示す中間燃料の噴射量倍率の反映率を上げていく速度を上記ポートウェットサイクルの1処理単位毎に設定可能とし、エンジン始動初期においては比較的速く設定する
ことを特徴とする請求項18に記載のエンジンの制御装置。
【請求項20】
エンジン始動後に運転状態の変化を経験した場合、上記燃料性状の学習値の更新を禁止する
ことを特徴とする請求項18又は19に記載のエンジンの制御装置。
【請求項21】
上記燃料性状の学習値の更新期間内に、上記噴射量倍率が重質燃料と軽質燃料との平均的な性状を示す中間燃料に対する設定範囲内に収束した場合には、中間燃料を燃料性状の学習値として記憶保持する
ことを特徴とする請求項18〜20の何れかに記載のエンジンの制御装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2010−37984(P2010−37984A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−199837(P2008−199837)
【出願日】平成20年8月1日(2008.8.1)
【出願人】(000005348)富士重工業株式会社 (3,010)
【Fターム(参考)】